From b1b014aed3e15e2d8ca02b68a0cf567edcff67e8 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 2 Oct 2020 15:09:47 -0600 Subject: [PATCH 001/542] Fixing merge conflicts --- src/comm.cpp | 6 + src/comm.h | 1 + src/comm_brick.cpp | 6 + src/nbin.cpp | 9 + src/nbin.h | 14 + src/nbin_bytype.cpp | 466 ++++++++++++++++++++++++ src/nbin_bytype.h | 56 +++ src/nbin_standard.h | 2 +- src/neighbor.cpp | 17 +- src/neighbor.h | 6 +- src/npair_full_bytype.cpp | 144 ++++++++ src/npair_full_bytype.h | 43 +++ src/npair_half_bytype_newton.cpp | 219 +++++++++++ src/npair_half_bytype_newton.h | 43 +++ src/npair_half_size_bytype_newtoff.cpp | 130 +++++++ src/npair_half_size_bytype_newtoff.h | 43 +++ src/npair_half_size_bytype_newton.cpp | 189 ++++++++++ src/npair_half_size_bytype_newton.h | 43 +++ src/nstencil.h | 4 + src/nstencil_full_bytype_3d.cpp | 192 ++++++++++ src/nstencil_full_bytype_3d.h | 53 +++ src/nstencil_half_bytype_2d_newton.cpp | 192 ++++++++++ src/nstencil_half_bytype_2d_newton.h | 52 +++ src/nstencil_half_bytype_3d_newtoff.cpp | 190 ++++++++++ src/nstencil_half_bytype_3d_newtoff.h | 51 +++ src/nstencil_half_bytype_3d_newton.cpp | 194 ++++++++++ src/nstencil_half_bytype_3d_newton.h | 52 +++ 27 files changed, 2413 insertions(+), 4 deletions(-) create mode 100644 src/nbin_bytype.cpp create mode 100644 src/nbin_bytype.h create mode 100644 src/npair_full_bytype.cpp create mode 100644 src/npair_full_bytype.h create mode 100755 src/npair_half_bytype_newton.cpp create mode 100755 src/npair_half_bytype_newton.h create mode 100644 src/npair_half_size_bytype_newtoff.cpp create mode 100644 src/npair_half_size_bytype_newtoff.h create mode 100755 src/npair_half_size_bytype_newton.cpp create mode 100755 src/npair_half_size_bytype_newton.h create mode 100644 src/nstencil_full_bytype_3d.cpp create mode 100644 src/nstencil_full_bytype_3d.h create mode 100644 src/nstencil_half_bytype_2d_newton.cpp create mode 100644 src/nstencil_half_bytype_2d_newton.h create mode 100644 src/nstencil_half_bytype_3d_newtoff.cpp create mode 100644 src/nstencil_half_bytype_3d_newtoff.h create mode 100644 src/nstencil_half_bytype_3d_newton.cpp create mode 100644 src/nstencil_half_bytype_3d_newton.h diff --git a/src/comm.cpp b/src/comm.cpp index 32a4152294..1efe966459 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -76,6 +76,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) grid2proc = nullptr; xsplit = ysplit = zsplit = nullptr; rcbnew = 0; + multi_bytype = 0; // use of OpenMP threads // query OpenMP for number of threads/process set by user at run-time @@ -326,6 +327,11 @@ void Comm::modify_params(int narg, char **arg) for (i=nlo; i<=nhi; ++i) cutusermulti[i] = cut; iarg += 3; + } else if (strcmp(arg[iarg],"cutoff/bytype") == 0) { + if (mode == Comm::SINGLE) + error->all(FLERR,"Use cutoff/bytype in mode multi only"); + multi_bytype = 1; + iarg += 1; } else if (strcmp(arg[iarg],"vel") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal comm_modify command"); if (strcmp(arg[iarg+1],"yes") == 0) ghost_velocity = 1; diff --git a/src/comm.h b/src/comm.h index c8d7add79c..e5fc1bdee4 100644 --- a/src/comm.h +++ b/src/comm.h @@ -161,6 +161,7 @@ class Comm : protected Pointers { int (*)(int, char *, int &, int *&, char *&, void *), int, char *&, int, void *, int); void rendezvous_stats(int, int, int, int, int, int, bigint); + int multi_bytype; // 1 if multi cutoff is intra-type cutoff public: enum{MULTIPLE}; diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 374c394b0b..57703b578c 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -181,6 +181,12 @@ void CommBrick::setup() cutghostmulti[i][0] = MAX(cut,cuttype[i]); cutghostmulti[i][1] = MAX(cut,cuttype[i]); cutghostmulti[i][2] = MAX(cut,cuttype[i]); + if (multi_bytype == 1) { + // Set the BYTYPE cutoff + cutghostmulti[i][0] = sqrt(neighbor->cutneighsq[i][i]); + cutghostmulti[i][1] = sqrt(neighbor->cutneighsq[i][i]); + cutghostmulti[i][2] = sqrt(neighbor->cutneighsq[i][i]); + } } } diff --git a/src/nbin.cpp b/src/nbin.cpp index 1fe011e9f2..64ae7e7b83 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -150,6 +150,15 @@ int NBin::coord2bin(double *x) return (iz-mbinzlo)*mbiny*mbinx + (iy-mbinylo)*mbinx + (ix-mbinxlo); } +/* ---------------------------------------------------------------------- + to be overridden by NBinType + ------------------------------------------------------------------------- */ + +int NBin::coord2bin(double * x, int itype) +{ + error->all(FLERR,"coord2bin(x, itype) not available.\n"); + return -1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/nbin.h b/src/nbin.h index 4bfe579514..96cc7eac64 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -37,6 +37,18 @@ class NBin : protected Pointers { double cutoff_custom; // cutoff set by requestor + // Analogues for NBinType + int * nbinx_type, * nbiny_type, * nbinz_type; + int * mbins_type; + int * mbinx_type, * mbiny_type, * mbinz_type; + int * mbinxlo_type, * mbinylo_type, * mbinzlo_type; + double * binsizex_type, * binsizey_type, * binsizez_type; + double * bininvx_type, * bininvy_type, * bininvz_type; + + int ** binhead_type; + int ** bins_type; + int ** atom2bin_type; + NBin(class LAMMPS *); ~NBin(); void post_constructor(class NeighRequest *); @@ -50,6 +62,8 @@ class NBin : protected Pointers { // Kokkos package int kokkos; // 1 if class stores Kokkos data + // For NBinType + virtual int coord2bin(double *, int); protected: diff --git a/src/nbin_bytype.cpp b/src/nbin_bytype.cpp new file mode 100644 index 0000000000..f719ed116f --- /dev/null +++ b/src/nbin_bytype.cpp @@ -0,0 +1,466 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nbin_bytype.h" +#include "neighbor.h" +#include "atom.h" +#include "group.h" +#include "domain.h" +#include "comm.h" +#include "update.h" +#include "error.h" + +#include +#include "memory.h" + +using namespace LAMMPS_NS; + +#define SMALL 1.0e-6 // Duplicated from NBinStandard +#define CUT2BIN_RATIO 100 // Duplicated from NBinStandard + +/* ---------------------------------------------------------------------- */ + +NBinBytype::NBinBytype(LAMMPS *lmp) : NBin(lmp) { + + nbinx_type = NULL; nbiny_type = NULL; nbinz_type = NULL; + mbins_type = NULL; + mbinx_type = NULL; mbiny_type = NULL, mbinz_type = NULL; + mbinxlo_type = NULL; + mbinylo_type = NULL; + mbinzlo_type = NULL; + binsizex_type = NULL; binsizey_type = NULL; binsizez_type = NULL; + bininvx_type = NULL; bininvy_type = NULL; bininvz_type = NULL; + binhead_type = NULL; + bins_type = NULL; + atom2bin_type = NULL; + maxtypes = 0; + maxbins_type = NULL; +} + +NBinBytype::~NBinBytype() { + + memory->destroy(nbinx_type); + memory->destroy(nbiny_type); + memory->destroy(nbinz_type); + memory->destroy(mbins_type); + memory->destroy(mbinx_type); + memory->destroy(mbiny_type); + memory->destroy(mbinz_type); + memory->destroy(mbinxlo_type); + memory->destroy(mbinylo_type); + memory->destroy(mbinzlo_type); + + memory->destroy(binsizex_type); + memory->destroy(binsizey_type); + memory->destroy(binsizez_type); + memory->destroy(bininvx_type); + memory->destroy(bininvy_type); + memory->destroy(bininvz_type); + + for (int n = 1; n <= maxtypes; n++) { + memory->destroy(binhead_type[n]); + memory->destroy(bins_type[n]); + memory->destroy(atom2bin_type[n]); + } + delete [] binhead_type; + delete [] bins_type; + delete [] atom2bin_type; + + memory->destroy(maxbins_type); +} + +/* ---------------------------------------------------------------------- + arrange storage for types + allows ntypes to change, but not currently expected after initialisation + ------------------------------------------------------------------------- */ + +void NBinBytype::setup_types() { + + int n; + + if (atom->ntypes > maxtypes) { + + // Clear any/all memory for existing types + + for (n = 1; n <= maxtypes; n++) { + memory->destroy(atom2bin_type[n]); + memory->destroy(binhead_type[n]); + memory->destroy(bins_type[n]); + } + delete [] atom2bin_type; + delete [] binhead_type; + delete [] bins_type; + + // Realloacte at updated maxtypes + + maxtypes = atom->ntypes; + + atom2bin_type = new int*[maxtypes+1](); + binhead_type = new int*[maxtypes+1](); + bins_type = new int*[maxtypes+1](); + + memory->destroy(nbinx_type); + memory->destroy(nbiny_type); + memory->destroy(nbinz_type); + memory->create(nbinx_type, maxtypes+1, "nBinType:nbinx_type"); + memory->create(nbiny_type, maxtypes+1, "nBinType:nbiny_type"); + memory->create(nbinz_type, maxtypes+1, "nBinType:nbinz_type"); + + memory->destroy(mbins_type); + memory->destroy(mbinx_type); + memory->destroy(mbiny_type); + memory->destroy(mbinz_type); + memory->create(mbins_type, maxtypes+1, "nBinType:mbins_type"); + memory->create(mbinx_type, maxtypes+1, "nBinType:mbinx_type"); + memory->create(mbiny_type, maxtypes+1, "nBinType:mbiny_type"); + memory->create(mbinz_type, maxtypes+1, "nBinType:mbinz_type"); + + memory->destroy(mbinxlo_type); + memory->destroy(mbinylo_type); + memory->destroy(mbinzlo_type); + memory->create(mbinxlo_type, maxtypes+1, "nBinType:mbinxlo_type"); + memory->create(mbinylo_type, maxtypes+1, "nBinType:mbinylo_type"); + memory->create(mbinzlo_type, maxtypes+1, "nBinType:mbinzlo_type"); + + memory->destroy(binsizex_type); + memory->destroy(binsizey_type); + memory->destroy(binsizez_type); + memory->create(binsizex_type, maxtypes+1, "nBinType:binsizex_type"); + memory->create(binsizey_type, maxtypes+1, "nBinType:binsizey_type"); + memory->create(binsizez_type, maxtypes+1, "nBinType:binsizez_type"); + + memory->destroy(bininvx_type); + memory->destroy(bininvy_type); + memory->destroy(bininvz_type); + memory->create(bininvx_type, maxtypes+1, "nBinType:bininvx_type"); + memory->create(bininvy_type, maxtypes+1, "nBinType:bininvy_type"); + memory->create(bininvz_type, maxtypes+1, "nBinType:bininvz_type"); + + memory->destroy(maxbins_type); + memory->create(maxbins_type, maxtypes+1, "nBinType:maxbins_type"); + // make sure reallocation occurs in bin_atoms_setup() + for (n = 1; n <= maxtypes; n++) { + maxbins_type[n] = 0; + } + maxatom = 0; + } + +} + +/* --------------------------------------------------------------------- + identify index of type with smallest cutoff + --------------------------------------------------------------------- */ + +int NBinBytype::itype_min() { + + int itypemin = 1; + double ** cutneighsq; + + cutneighsq = neighbor->cutneighsq; + + for (int n = 1; n <= atom->ntypes; n++) { + if (cutneighsq[n][n] < cutneighsq[itypemin][itypemin]) { + itypemin = n; + } + } + + return itypemin; +} + +/* ---------------------------------------------------------------------- + setup neighbor binning geometry + ---------------------------------------------------------------------- */ + +void NBinBytype::setup_bins(int style) +{ + int n; + int itypemin; + + setup_types(); + itypemin = itype_min(); + + // bbox = size of bbox of entire domain + // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost + // for triclinic: + // bbox bounds all 8 corners of tilted box + // subdomain is in lamda coords + // include dimension-dependent extension via comm->cutghost + // domain->bbox() converts lamda extent to box coords and computes bbox + + double bbox[3],bsubboxlo[3],bsubboxhi[3]; + double *cutghost = comm->cutghost; + + if (triclinic == 0) { + bsubboxlo[0] = domain->sublo[0] - cutghost[0]; + bsubboxlo[1] = domain->sublo[1] - cutghost[1]; + bsubboxlo[2] = domain->sublo[2] - cutghost[2]; + bsubboxhi[0] = domain->subhi[0] + cutghost[0]; + bsubboxhi[1] = domain->subhi[1] + cutghost[1]; + bsubboxhi[2] = domain->subhi[2] + cutghost[2]; + } else { + double lo[3],hi[3]; + lo[0] = domain->sublo_lamda[0] - cutghost[0]; + lo[1] = domain->sublo_lamda[1] - cutghost[1]; + lo[2] = domain->sublo_lamda[2] - cutghost[2]; + hi[0] = domain->subhi_lamda[0] + cutghost[0]; + hi[1] = domain->subhi_lamda[1] + cutghost[1]; + hi[2] = domain->subhi_lamda[2] + cutghost[2]; + domain->bbox(lo,hi,bsubboxlo,bsubboxhi); + } + + bbox[0] = bboxhi[0] - bboxlo[0]; + bbox[1] = bboxhi[1] - bboxlo[1]; + bbox[2] = bboxhi[2] - bboxlo[2]; + + // For each type... + + for (n = 1; n <= atom->ntypes; n++) { + // binsize_user only relates to smallest type + // optimal bin size is roughly 1/2 the type-type cutoff + // special case of all cutoffs = 0.0, binsize = box size + + double binsize_optimal; + if (n == itypemin && binsizeflag) binsize_optimal = binsize_user; + else binsize_optimal = 0.5*sqrt(neighbor->cutneighsq[n][n]); + if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; + double binsizeinv = 1.0/binsize_optimal; + + // test for too many global bins in any dimension due to huge global domain + + if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || + bbox[2]*binsizeinv > MAXSMALLINT) + error->all(FLERR,"Domain too large for neighbor bins"); + + // create actual bins + // always have one bin even if cutoff > bbox + // for 2d, nbinz_type[n] = 1 + + nbinx_type[n] = static_cast (bbox[0]*binsizeinv); + nbiny_type[n] = static_cast (bbox[1]*binsizeinv); + if (dimension == 3) nbinz_type[n] = static_cast (bbox[2]*binsizeinv); + else nbinz_type[n] = 1; + + if (nbinx_type[n] == 0) nbinx_type[n] = 1; + if (nbiny_type[n] == 0) nbiny_type[n] = 1; + if (nbinz_type[n] == 0) nbinz_type[n] = 1; + + // compute actual bin size for nbins to fit into box exactly + // error if actual bin size << cutoff, since will create a zillion bins + // this happens when nbin = 1 and box size << cutoff + // typically due to non-periodic, flat system in a particular dim + // in that extreme case, should use NSQ not BIN neighbor style + + binsizex_type[n] = bbox[0]/nbinx_type[n]; + binsizey_type[n] = bbox[1]/nbiny_type[n]; + binsizez_type[n] = bbox[2]/nbinz_type[n]; + + bininvx_type[n] = 1.0 / binsizex_type[n]; + bininvy_type[n] = 1.0 / binsizey_type[n]; + bininvz_type[n] = 1.0 / binsizez_type[n]; + + if (binsize_optimal*bininvx_type[n] > CUT2BIN_RATIO || + binsize_optimal*bininvy_type[n] > CUT2BIN_RATIO || + binsize_optimal*bininvz_type[n] > CUT2BIN_RATIO) + error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); + + // mbinlo/hi = lowest and highest global bins my ghost atoms could be in + // coord = lowest and highest values of coords for my ghost atoms + // static_cast(-1.5) = -1, so subract additional -1 + // add in SMALL for round-off safety + + int mbinxhi,mbinyhi,mbinzhi; + double coord; + + coord = bsubboxlo[0] - SMALL*bbox[0]; + mbinxlo_type[n] = static_cast ((coord-bboxlo[0])*bininvx_type[n]); + if (coord < bboxlo[0]) mbinxlo_type[n] = mbinxlo_type[n] - 1; + coord = bsubboxhi[0] + SMALL*bbox[0]; + mbinxhi = static_cast ((coord-bboxlo[0])*bininvx_type[n]); + + coord = bsubboxlo[1] - SMALL*bbox[1]; + mbinylo_type[n] = static_cast ((coord-bboxlo[1])*bininvy_type[n]); + if (coord < bboxlo[1]) mbinylo_type[n] = mbinylo_type[n] - 1; + coord = bsubboxhi[1] + SMALL*bbox[1]; + mbinyhi = static_cast ((coord-bboxlo[1])*bininvy_type[n]); + + if (dimension == 3) { + coord = bsubboxlo[2] - SMALL*bbox[2]; + mbinzlo_type[n] = static_cast ((coord-bboxlo[2])*bininvz_type[n]); + if (coord < bboxlo[2]) mbinzlo_type[n] = mbinzlo_type[n] - 1; + coord = bsubboxhi[2] + SMALL*bbox[2]; + mbinzhi = static_cast ((coord-bboxlo[2])*bininvz_type[n]); + } + + // extend bins by 1 to insure stencil extent is included + // for 2d, only 1 bin in z + + mbinxlo_type[n] = mbinxlo_type[n] - 1; + mbinxhi = mbinxhi + 1; + mbinx_type[n] = mbinxhi - mbinxlo_type[n] + 1; + + mbinylo_type[n] = mbinylo_type[n] - 1; + mbinyhi = mbinyhi + 1; + mbiny_type[n] = mbinyhi - mbinylo_type[n] + 1; + + if (dimension == 3) { + mbinzlo_type[n] = mbinzlo_type[n] - 1; + mbinzhi = mbinzhi + 1; + } else mbinzlo_type[n] = mbinzhi = 0; + mbinz_type[n] = mbinzhi - mbinzlo_type[n] + 1; + + bigint bbin = ((bigint) mbinx_type[n]) + * ((bigint) mbiny_type[n]) * ((bigint) mbinz_type[n]) + 1; + if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); + mbins_type[n] = bbin; + } + +} + +/* ---------------------------------------------------------------------- + bin owned and ghost atoms by type +------------------------------------------------------------------------- */ + +void NBinBytype::bin_atoms() +{ + int i,ibin,n; + + last_bin = update->ntimestep; + for (n = 1; n <= maxtypes; n++) { + for (i = 0; i < mbins_type[n]; i++) binhead_type[n][i] = -1; + } + + // bin in reverse order so linked list will be in forward order + // also puts ghost atoms at end of list, which is necessary + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + + if (includegroup) { + int bitmask = group->bitmask[includegroup]; + for (i = nall-1; i >= nlocal; i--) { + if (mask[i] & bitmask) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_type[n][i] = ibin; + bins_type[n][i] = binhead_type[n][ibin]; + binhead_type[n][ibin] = i; + } + } + for (i = atom->nfirst-1; i >= 0; i--) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_type[n][i] = ibin; + bins_type[n][i] = binhead_type[n][ibin]; + binhead_type[n][ibin] = i; + } + } else { + for (i = nall-1; i >= 0; i--) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_type[n][i] = ibin; + bins_type[n][i] = binhead_type[n][ibin]; + binhead_type[n][ibin] = i; + } + } +} + + +/* ---------------------------------------------------------------------- + allocate/reallocate vectors +------------------------------------------------------------------------- */ + +void NBinBytype::bin_atoms_setup(int nall) { + + // all atom2bin, bins must be of length nall + if (nall > maxatom) { + for (int n = 1; n <= maxtypes; n++) { + memory->destroy(bins_type[n]); + memory->destroy(atom2bin_type[n]); + memory->create(bins_type[n], nall, "NBinBytype:bin_type"); + memory->create(atom2bin_type[n], nall, "NBinBytype:atom2bin_type"); + } + maxatom = nall; + } + + for (int n = 1; n <= maxtypes; n++) { + if (mbins_type[n] > maxbins_type[n]) { + maxbins_type[n] = mbins_type[n]; + memory->destroy(binhead_type[n]); + memory->create(binhead_type[n], mbins_type[n], "NBinBytype:mbins_type"); + } + } + +} + + +/* ---------------------------------------------------------------------- + convert atom coords into local bin # for bin type it +------------------------------------------------------------------------- */ + +int NBinBytype::coord2bin(double *x, int it) +{ + int ix,iy,iz; + int ibin; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx_type[it]) + nbinx_type[it]; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx_type[it]); + ix = MIN(ix,nbinx_type[it]-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx_type[it]) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy_type[it]) + nbiny_type[it]; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy_type[it]); + iy = MIN(iy,nbiny_type[it]-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy_type[it]) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz_type[it]) + nbinz_type[it]; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz_type[it]); + iz = MIN(iz,nbinz_type[it]-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz_type[it]) - 1; + + + ibin = (iz-mbinzlo_type[it])*mbiny_type[it]*mbinx_type[it] + + (iy-mbinylo_type[it])*mbinx_type[it] + + (ix-mbinxlo_type[it]); + return ibin; +} + + +/* ---------------------------------------------------------------------- + tot up for types + ---------------------------------------------------------------------- */ + +bigint NBinBytype::memory_usage() +{ + bigint bytes = 0; + + for (int m = 1; m < maxtypes; m++) { + bytes += 2*maxatom*sizeof(int); + bytes += maxbins_type[m]*sizeof(int); + } + return bytes; +} diff --git a/src/nbin_bytype.h b/src/nbin_bytype.h new file mode 100644 index 0000000000..89e6ca3650 --- /dev/null +++ b/src/nbin_bytype.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NBIN_CLASS + +NBinStyle(bytype, + NBinBytype, + NB_BYTYPE) + +#else + +#ifndef LMP_NBIN_BYTYPE_H +#define LMP_NBIN_BYTYPE_H + +#include "nbin.h" + +namespace LAMMPS_NS { + +class NBinBytype : public NBin { + public: + + NBinBytype(class LAMMPS *); + ~NBinBytype(); + void bin_atoms_setup(int); + void setup_bins(int); + void bin_atoms(); + + int coord2bin(double *x, int itype); + bigint memory_usage(); + + private: + int maxtypes; + int * maxbins_type; + + void setup_types(); + int itype_min(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nbin_standard.h b/src/nbin_standard.h index 14b587c24c..06defdb101 100644 --- a/src/nbin_standard.h +++ b/src/nbin_standard.h @@ -15,7 +15,7 @@ NBinStyle(standard, NBinStandard, - 0) + NB_STANDARD) #else diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 58737b815d..6e861b5a2b 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1620,6 +1620,14 @@ int Neighbor::choose_bin(NeighRequest *rq) if (!rq->kokkos_device != !(mask & NB_KOKKOS_DEVICE)) continue; if (!rq->kokkos_host != !(mask & NB_KOKKOS_HOST)) continue; + // neighbor style is BIN or MULTI or BYTYPE and must match + + if (style == Neighbor::BIN || style == Neighbor::MULTI) { + if (!(mask & NB_STANDARD)) continue; + } else if (style == Neighbor::BYTYPE) { + if (!(mask & NB_BYTYPE)) continue; + } + return i+1; } @@ -1690,12 +1698,14 @@ int Neighbor::choose_stencil(NeighRequest *rq) if (!rq->ghost != !(mask & NS_GHOST)) continue; if (!rq->ssa != !(mask & NS_SSA)) continue; - // neighbor style is BIN or MULTI and must match + // neighbor style is one of BIN, MULTI or BYTYPE and must match if (style == Neighbor::BIN) { if (!(mask & NS_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NS_MULTI)) continue; + } else if (style == Neighbor::BYTYPE) { + if (!(mask & NS_BYTYPE)) continue; } // dimension is 2 or 3 and must match @@ -1825,7 +1835,7 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!rq->halffull != !(mask & NP_HALF_FULL)) continue; if (!rq->off2on != !(mask & NP_OFF2ON)) continue; - // neighbor style is one of NSQ,BIN,MULTI and must match + // neighbor style is one of NSQ,BIN,MULTI or BYTYPE and must match if (style == Neighbor::NSQ) { if (!(mask & NP_NSQ)) continue; @@ -1833,6 +1843,8 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!(mask & NP_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NP_MULTI)) continue; + } else if (style == Neighbor::BYTYPE) { + if (!(mask & NP_BYTYPE)) continue; } // domain triclinic flag is on or off and must match @@ -2199,6 +2211,7 @@ void Neighbor::set(int narg, char **arg) if (strcmp(arg[1],"nsq") == 0) style = Neighbor::NSQ; else if (strcmp(arg[1],"bin") == 0) style = Neighbor::BIN; else if (strcmp(arg[1],"multi") == 0) style = Neighbor::MULTI; + else if (strcmp(arg[1],"bytype") == 0) style = Neighbor::BYTYPE; else error->all(FLERR,"Illegal neighbor command"); if (style == Neighbor::MULTI && lmp->citeme) lmp->citeme->add(cite_neigh_multi); diff --git a/src/neighbor.h b/src/neighbor.h index 9ee2af9c75..e5b76dd41b 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { class Neighbor : protected Pointers { public: - enum{NSQ,BIN,MULTI}; + enum{NSQ,BIN,MULTI,BYTYPE}; int style; // 0,1,2 = nsq, bin, multi int every; // build every this many steps int delay; // delay build for this many steps @@ -239,6 +239,8 @@ namespace NeighConst { static const int NB_KOKKOS_DEVICE = 1<<1; static const int NB_KOKKOS_HOST = 1<<2; static const int NB_SSA = 1<<3; + static const int NB_BYTYPE = 1<<4; + static const int NB_STANDARD = 1<<5; static const int NS_BIN = 1<<0; static const int NS_MULTI = 1<<1; @@ -252,6 +254,7 @@ namespace NeighConst { static const int NS_TRI = 1<<9; static const int NS_GHOST = 1<<10; static const int NS_SSA = 1<<11; + static const int NS_BYTYPE = 1<<12; static const int NP_NSQ = 1<<0; static const int NP_BIN = 1<<1; @@ -278,6 +281,7 @@ namespace NeighConst { static const int NP_SKIP = 1<<22; static const int NP_HALF_FULL = 1<<23; static const int NP_OFF2ON = 1<<24; + static const int NP_BYTYPE = 1<<25; } } diff --git a/src/npair_full_bytype.cpp b/src/npair_full_bytype.cpp new file mode 100644 index 0000000000..d244c263ed --- /dev/null +++ b/src/npair_full_bytype.cpp @@ -0,0 +1,144 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "npair_full_bytype.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairFullBytype::NPairFullBytype(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction for all neighbors + multi-type stencil is itype dependent and is distance checked + every neighbor pair appears in list of both atoms i and j + KS ADJUST +------------------------------------------------------------------------- */ + +void NPairFullBytype::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + if (molecular == 2) moltemplate = 1; + else moltemplate = 0; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // loop over all atoms in other bins in stencil, including self + // skip if i,j neighbor cutoff is less than bin distance + // skip i = j + + int kbin; + ibin = nb->atom2bin_type[itype][i]; + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } + else { + // Locate i in ktype bin + kbin = nb->coord2bin(x[i], ktype); + } + + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + for (k = 0; k < ns; k++) { + int js = this->nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = this->nb->bins_type[ktype][j]) { + jtype = type[j]; + if (i == j) continue; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; + list->gnum = 0; +} diff --git a/src/npair_full_bytype.h b/src/npair_full_bytype.h new file mode 100644 index 0000000000..9ce221ff22 --- /dev/null +++ b/src/npair_full_bytype.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(full/bytype, + NPairFullBytype, + NP_FULL | NP_BYTYPE | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_FULL_BYTYPE_H +#define LMP_NPAIR_FULL_BYTYPE_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairFullBytype : public NPair { + public: + NPairFullBytype(class LAMMPS *); + ~NPairFullBytype() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/npair_half_bytype_newton.cpp b/src/npair_half_bytype_newton.cpp new file mode 100755 index 0000000000..66899564be --- /dev/null +++ b/src/npair_half_bytype_newton.cpp @@ -0,0 +1,219 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "npair_half_bytype_newton.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfBytypeNewton::NPairHalfBytypeNewton(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + KS REWRTIE + binned neighbor list construction with full Newton's 3rd law + each owned atom i checks its own bin and other bins in Newton stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfBytypeNewton::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + if (molecular == 2) moltemplate = 1; + else moltemplate = 0; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + int js; + int kbin; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = nb->atom2bin_type[itype][i]; + + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // own bin ... + js = nb->bins_type[itype][i]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = this->ns->stencil_type[itype][itype]; + ns = this->ns->nstencil_type[itype][itype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[itype][ibin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + + } + else { + // smaller -> larger: locate i in the ktype bin structure + + kbin = nb->coord2bin(x[i], ktype); + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + } + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_bytype_newton.h b/src/npair_half_bytype_newton.h new file mode 100755 index 0000000000..8be7292219 --- /dev/null +++ b/src/npair_half_bytype_newton.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/bytype/newton, + NPairHalfBytypeNewton, + NP_HALF | NP_BYTYPE | NP_NEWTON | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_BYTYPE_NEWTON_H +#define LMP_NPAIR_HALF_BYTYPE_NEWTON_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfBytypeNewton : public NPair { + public: + NPairHalfBytypeNewton(class LAMMPS *); + ~NPairHalfBytypeNewton() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/npair_half_size_bytype_newtoff.cpp b/src/npair_half_size_bytype_newtoff.cpp new file mode 100644 index 0000000000..f065c60736 --- /dev/null +++ b/src/npair_half_size_bytype_newtoff.cpp @@ -0,0 +1,130 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains +es certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "npair_half_size_bytype_newtoff.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeBytypeNewtoff::NPairHalfSizeBytypeNewtoff(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + REWRITE + binned neighbor list construction with partial Newton's 3rd law + each owned atom i checks own bin and other bins in stencil + multi-type stencil is itype dependent and is distance checked + pair stored once if i,j are both owned and i < j + pair stored by me if j is ghost (also stored by proc owning j) +------------------------------------------------------------------------- */ + +void NPairHalfSizeBytypeNewtoff::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // skip if i,j neighbor cutoff is less than bin distance + // stores own/own pairs only once + // stores own/ghost pairs on both procs + + int kbin; + + ibin = nb->atom2bin_type[itype][i]; + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } + else { + // Locate i in ktype bin + kbin = nb->coord2bin(x[i], ktype); + } + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + for (k = 0; k < ns; k++) { + int js = nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >=0; j = nb->bins_type[ktype][j]) { + if (j <= i) continue; + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_bytype_newtoff.h b/src/npair_half_size_bytype_newtoff.h new file mode 100644 index 0000000000..e131a12f4b --- /dev/null +++ b/src/npair_half_size_bytype_newtoff.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/bytype/newtoff, + NPairHalfSizeBytypeNewtoff, + NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTOFF_H +#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTOFF_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeBytypeNewtoff : public NPair { + public: + NPairHalfSizeBytypeNewtoff(class LAMMPS *); + ~NPairHalfSizeBytypeNewtoff() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/npair_half_size_bytype_newton.cpp b/src/npair_half_size_bytype_newton.cpp new file mode 100755 index 0000000000..3981635439 --- /dev/null +++ b/src/npair_half_size_bytype_newton.cpp @@ -0,0 +1,189 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "npair_half_size_bytype_newton.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeBytypeNewton::NPairHalfSizeBytypeNewton(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + KS REWRTIE + binned neighbor list construction with full Newton's 3rd law + each owned atom i checks its own bin and other bins in Newton stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeBytypeNewton::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + int js; + int kbin; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = nb->atom2bin_type[itype][i]; + + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // own bin ... + js = nb->bins_type[itype][i]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = this->ns->stencil_type[itype][itype]; + ns = this->ns->nstencil_type[itype][itype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[itype][ibin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + jtype = type[j]; + // KS. CHECK ME if (cutsq[jtype] < distsq[k]) continue; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + } + else { + // KS + // smaller -> larger: locate i in the ktype bin structure + kbin = nb->coord2bin(x[i], ktype); + + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + } + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_bytype_newton.h b/src/npair_half_size_bytype_newton.h new file mode 100755 index 0000000000..a6bb7a00a8 --- /dev/null +++ b/src/npair_half_size_bytype_newton.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/bytype/newton, + NPairHalfSizeBytypeNewton, + NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTON | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_H +#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeBytypeNewton : public NPair { + public: + NPairHalfSizeBytypeNewton(class LAMMPS *); + ~NPairHalfSizeBytypeNewton() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil.h b/src/nstencil.h index 75e678b483..bdd656b937 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -34,6 +34,10 @@ class NStencil : protected Pointers { double cutoff_custom; // cutoff set by requestor + // BYTYPE stencils + int ** nstencil_type; // No. of bins for stencil[itype][jtype] + int *** stencil_type; // Stencil for [itype][jtype] + NStencil(class LAMMPS *); virtual ~NStencil(); void post_constructor(class NeighRequest *); diff --git a/src/nstencil_full_bytype_3d.cpp b/src/nstencil_full_bytype_3d.cpp new file mode 100644 index 0000000000..3936ec2483 --- /dev/null +++ b/src/nstencil_full_bytype_3d.cpp @@ -0,0 +1,192 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_full_bytype_3d.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" + +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilFullBytype3d::NStencilFullBytype3d(LAMMPS *lmp) : + NStencil(lmp) +{ + maxstencil_type = NULL; +} + +NStencilFullBytype3d::~NStencilFullBytype3d() { + + if (maxstencil_type) { + memory->destroy(nstencil_type); + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 0; j <= atom->ntypes; j++) { + if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); + } + delete [] stencil_type[i]; + } + delete [] stencil_type; + memory->destroy(maxstencil_type); + } +} + +void NStencilFullBytype3d::copy_bin_info_bytype(int itype) { + + mbinx = nb->mbinx_type[itype]; + mbiny = nb->mbiny_type[itype]; + mbinz = nb->mbinz_type[itype]; + binsizex = nb->binsizex_type[itype]; + binsizey = nb->binsizey_type[itype]; + binsizez = nb->binsizez_type[itype]; + bininvx = nb->bininvx_type[itype]; + bininvy = nb->bininvy_type[itype]; + bininvz = nb->bininvz_type[itype]; +} + +int NStencilFullBytype3d::copy_neigh_info_bytype(int itype) { + + cutneighmaxsq = neighbor->cutneighsq[itype][itype]; + cutneighmax = sqrt(cutneighmaxsq); + cuttypesq = neighbor->cuttypesq; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 3d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + return ((2*sx+1) * (2*sy+1) * (2*sz+1)); +} + +void NStencilFullBytype3d::create_setup() +{ + + int itype, jtype; + int maxtypes; + int smax; + + //printf("NStencilFullBytype3d::create_steup()\n"); + maxtypes = atom->ntypes; + + if (maxstencil_type == NULL) { + memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "BAD A"); + memory->create(nstencil_type, maxtypes+1, maxtypes+1, "BAD B"); + stencil_type = new int**[maxtypes+1](); + for (itype = 1; itype <= maxtypes; ++itype) { + stencil_type[itype] = new int*[maxtypes+1](); + for (jtype = 1; jtype <= maxtypes; ++jtype) { + maxstencil_type[itype][jtype] = 0; + } + } + } + + // like -> like => use standard newtoff stencil at bin + + for (itype = 1; itype <= maxtypes; ++itype) { + copy_bin_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); + if (smax > maxstencil_type[itype][itype]) { + maxstencil_type[itype][itype] = smax; + memory->destroy(stencil_type[itype][itype]); + memory->create(stencil_type[itype][itype], smax, + "NStencilFullBytype::create_steup() stencil"); + } + create_newtoff(itype, itype, cutneighmaxsq); + } + + // smaller -> larger => use existing newtoff stencil in larger bin + // larger -> smaller => use multi-like stencil for small-large in smaller bin + // If types are same cutoff, use existing like-like stencil. + + for (itype = 1; itype <= maxtypes; ++itype) { + for (jtype = 1; jtype <= maxtypes; ++jtype) { + if (itype == jtype) continue; + if (cuttypesq[itype] <= cuttypesq[jtype]) { + // Potential destroy/create problem? + nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; + stencil_type[itype][jtype] = stencil_type[jtype][jtype]; + } + else { + copy_bin_info_bytype(jtype); + // smax = copy_neigh_info_bytype(jtype); + + cutneighmaxsq = cuttypesq[jtype]; + cutneighmax = sqrt(cutneighmaxsq); + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + if (smax > maxstencil_type[itype][jtype]) { + maxstencil_type[itype][jtype] = smax; + memory->destroy(stencil_type[itype][jtype]); + memory->create(stencil_type[itype][jtype], smax, "Bad C"); + } + create_newtoff(itype, jtype, cuttypesq[jtype]); + } + } + } + + //for (itype = 1; itype <= maxtypes; itype++) { + // for (jtype = 1; jtype <= maxtypes; jtype++) { + // printf("i j n %d %d %d\n", itype, jtype, nstencil_type[itype][jtype]); + // printf("i j n %d %d %d\n", itype, jtype, maxstencil_type[itype][jtype]); + // } + // } + +} + +void NStencilFullBytype3d::create_newtoff(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- + create stencil based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilFullBytype3d::create() +{ + //int i,j,k; + + //nstencil = 0; + + //for (k = -sz; k <= sz; k++) + // for (j = -sy; j <= sy; j++) + // for (i = -sx; i <= sx; i++) + // if (bin_distance(i,j,k) < cutneighmaxsq) + // stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; +} diff --git a/src/nstencil_full_bytype_3d.h b/src/nstencil_full_bytype_3d.h new file mode 100644 index 0000000000..6e61365d17 --- /dev/null +++ b/src/nstencil_full_bytype_3d.h @@ -0,0 +1,53 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(full/bytype/3d, + NStencilFullBytype3d, + NS_FULL | NS_BYTYPE | NS_3D | + NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_FULL_BYTYPE_3D_H +#define LMP_NSTENCIL_FULL_BYTYPE_3D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilFullBytype3d : public NStencil { + public: + NStencilFullBytype3d(class LAMMPS *); + ~NStencilFullBytype3d(); + void create(); + void create_setup(); + +private: + int ** maxstencil_type; + + void copy_bin_info_bytype(int); + int copy_neigh_info_bytype(int); + void create_newtoff(int, int, double); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_bytype_2d_newton.cpp b/src/nstencil_half_bytype_2d_newton.cpp new file mode 100644 index 0000000000..18ed0972ff --- /dev/null +++ b/src/nstencil_half_bytype_2d_newton.cpp @@ -0,0 +1,192 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_bytype_2d_newton.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" + +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfBytype2dNewton::NStencilHalfBytype2dNewton(LAMMPS *lmp) : + NStencil(lmp) +{ + maxstencil_type = NULL; +} + +NStencilHalfBytype2dNewton::~NStencilHalfBytype2dNewton() { + + memory->destroy(nstencil_type); + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 0; j <= atom->ntypes; j++) { + if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); + } + delete [] stencil_type[i]; + } + delete [] stencil_type; + memory->destroy(maxstencil_type); +} + +// KS To superclass +void NStencilHalfBytype2dNewton::copy_bin_info_bytype(int itype) { + + mbinx = nb->mbinx_type[itype]; + mbiny = nb->mbiny_type[itype]; + mbinz = nb->mbinz_type[itype]; + binsizex = nb->binsizex_type[itype]; + binsizey = nb->binsizey_type[itype]; + binsizez = nb->binsizez_type[itype]; + bininvx = nb->bininvx_type[itype]; + bininvy = nb->bininvy_type[itype]; + bininvz = nb->bininvz_type[itype]; +} + +// KS To superclass? +int NStencilHalfBytype2dNewton::copy_neigh_info_bytype(int itype) { + + cutneighmaxsq = neighbor->cutneighsq[itype][itype]; + cutneighmax = sqrt(cutneighmaxsq); + cuttypesq = neighbor->cuttypesq; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 2d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + return ((2*sx+1) * (2*sy+1) * (2*sz+1)); +} + +void NStencilHalfBytype2dNewton::create_setup() +{ + + int itype, jtype; + int maxtypes; + int smax; + + // maxstencil_type to superclass? + maxtypes = atom->ntypes; + + if (maxstencil_type == NULL) { + memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); + memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); + stencil_type = new int**[maxtypes+1](); + for (itype = 1; itype <= maxtypes; ++itype) { + stencil_type[itype] = new int*[maxtypes+1](); + for (jtype = 1; jtype <= maxtypes; ++jtype) { + maxstencil_type[itype][jtype] = 0; + nstencil_type[itype][jtype] = 0; + } + } + } + + // like -> like => use standard Newton stencil at bin + + for (itype = 1; itype <= maxtypes; ++itype) { + copy_bin_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); + if (smax > maxstencil_type[itype][itype]) { + maxstencil_type[itype][itype] = smax; + memory->destroy(stencil_type[itype][itype]); + memory->create(stencil_type[itype][itype], smax, + "NStencilHalfBytypeNewton::create_steup() stencil"); + } + create_newton(itype, itype, cutneighmaxsq); + } + + // Cross types: "Newton on" reached by using Newton off stencil and + // looking one way through hierarchy + // smaller -> larger => use Newton off stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (itype = 1; itype <= maxtypes; ++itype) { + for (jtype = 1; jtype <= maxtypes; ++jtype) { + if (itype == jtype) continue; + if (cuttypesq[itype] == cuttypesq[jtype]) { + nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; + stencil_type[itype][jtype] = stencil_type[jtype][jtype]; + } + else if (cuttypesq[itype] < cuttypesq[jtype]) { + copy_bin_info_bytype(jtype); + + cutneighmaxsq = cuttypesq[jtype]; + cutneighmax = sqrt(cutneighmaxsq); + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + if (smax > maxstencil_type[itype][jtype]) { + maxstencil_type[itype][jtype] = smax; + memory->destroy(stencil_type[itype][jtype]); + memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); + } + create_newtoff(itype, jtype, cuttypesq[jtype]); + } + } + } + +} + +void NStencilHalfBytype2dNewton::create_newton(int itype, int jtype, double cutsq) { + + int i, j, ns; + + ns = 0; + + for (j = 0; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (j > 0 || (j == 0 && i > 0)) { + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + } + nstencil_type[itype][jtype] = ns; +} + +void NStencilHalfBytype2dNewton::create_newtoff(int itype, int jtype, double cutsq) { + + int i, j, ns; + + ns = 0; + + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- + create stencil based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfBytype2dNewton::create() +{ + // KS. Move "creation" here. +} diff --git a/src/nstencil_half_bytype_2d_newton.h b/src/nstencil_half_bytype_2d_newton.h new file mode 100644 index 0000000000..4d33c26a71 --- /dev/null +++ b/src/nstencil_half_bytype_2d_newton.h @@ -0,0 +1,52 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/bytype/2d/newton, + NStencilHalfBytype2dNewton, + NS_HALF | NS_BYTYPE | NS_2D | NS_NEWTON | NS_ORTHO) + +#else + +#ifndef LMP_NSTENCIL_HALF_BYTYPE_2D_NEWTON_H +#define LMP_NSTENCIL_HALF_BYTYPE_2D_NEWTON_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfBytype2dNewton : public NStencil { + public: + NStencilHalfBytype2dNewton(class LAMMPS *); + ~NStencilHalfBytype2dNewton(); + void create_setup(); + void create(); + + private: + int ** maxstencil_type; + + void copy_bin_info_bytype(int); + int copy_neigh_info_bytype(int); + void create_newton(int, int, double); + void create_newtoff(int, int, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_bytype_3d_newtoff.cpp b/src/nstencil_half_bytype_3d_newtoff.cpp new file mode 100644 index 0000000000..f111715e5d --- /dev/null +++ b/src/nstencil_half_bytype_3d_newtoff.cpp @@ -0,0 +1,190 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_bytype_3d_newtoff.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" + +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfBytype3dNewtoff::NStencilHalfBytype3dNewtoff(LAMMPS *lmp) : + NStencil(lmp) +{ + maxstencil_type = NULL; +} + +NStencilHalfBytype3dNewtoff::~NStencilHalfBytype3dNewtoff() { + + memory->destroy(nstencil_type); + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 0; j <= atom->ntypes; j++) { + if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); + } + delete [] stencil_type[i]; + } + delete [] stencil_type; + memory->destroy(maxstencil_type); +} + +void NStencilHalfBytype3dNewtoff::copy_bin_info_bytype(int itype) { + + mbinx = nb->mbinx_type[itype]; + mbiny = nb->mbiny_type[itype]; + mbinz = nb->mbinz_type[itype]; + binsizex = nb->binsizex_type[itype]; + binsizey = nb->binsizey_type[itype]; + binsizez = nb->binsizez_type[itype]; + bininvx = nb->bininvx_type[itype]; + bininvy = nb->bininvy_type[itype]; + bininvz = nb->bininvz_type[itype]; +} + +int NStencilHalfBytype3dNewtoff::copy_neigh_info_bytype(int itype) { + + cutneighmaxsq = neighbor->cutneighsq[itype][itype]; + cutneighmax = sqrt(cutneighmaxsq); + cuttypesq = neighbor->cuttypesq; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 3d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + return ((2*sx+1) * (2*sy+1) * (2*sz+1)); +} + +void NStencilHalfBytype3dNewtoff::create_setup() +{ + + int itype, jtype; + int maxtypes; + int smax; + + //printf("NStencilHalfBytype3dNewtoff::create_steup()\n"); + maxtypes = atom->ntypes; + + if (maxstencil_type == NULL) { + memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "BAD A"); + memory->create(nstencil_type, maxtypes+1, maxtypes+1, "BAD B"); + stencil_type = new int**[maxtypes+1](); + for (itype = 1; itype <= maxtypes; ++itype) { + stencil_type[itype] = new int*[maxtypes+1](); + for (jtype = 1; jtype <= maxtypes; ++jtype) { + maxstencil_type[itype][jtype] = 0; + } + } + } + + // like -> like => use standard newtoff stencil at bin + + for (itype = 1; itype <= maxtypes; ++itype) { + copy_bin_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); + if (smax > maxstencil_type[itype][itype]) { + maxstencil_type[itype][itype] = smax; + memory->destroy(stencil_type[itype][itype]); + memory->create(stencil_type[itype][itype], smax, + "NStencilHalfBytypeNewtoff::create_steup() stencil"); + } + create_newtoff(itype, itype, cutneighmaxsq); + } + + // smaller -> larger => use existing newtoff stencil in larger bin + // larger -> smaller => use multi-like stencil for small-large in smaller bin + // If types are same cutoff, use existing like-like stencil. + + for (itype = 1; itype <= maxtypes; ++itype) { + for (jtype = 1; jtype <= maxtypes; ++jtype) { + if (itype == jtype) continue; + if (cuttypesq[itype] <= cuttypesq[jtype]) { + // Potential destroy/create problem? + nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; + stencil_type[itype][jtype] = stencil_type[jtype][jtype]; + } + else { + copy_bin_info_bytype(jtype); + // smax = copy_neigh_info_bytype(jtype); + + cutneighmaxsq = cuttypesq[jtype]; + cutneighmax = sqrt(cutneighmaxsq); + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + if (smax > maxstencil_type[itype][jtype]) { + maxstencil_type[itype][jtype] = smax; + memory->destroy(stencil_type[itype][jtype]); + memory->create(stencil_type[itype][jtype], smax, "Bad C"); + } + create_newtoff(itype, jtype, cuttypesq[jtype]); + } + } + } + + //for (itype = 1; itype <= maxtypes; itype++) { + // for (jtype = 1; jtype <= maxtypes; jtype++) { + // printf("i j n %d %d %d\n", itype, jtype, nstencil_type[itype][jtype]); + // printf("i j n %d %d %d\n", itype, jtype, maxstencil_type[itype][jtype]); + // } + // } + +} + +void NStencilHalfBytype3dNewtoff::create_newtoff(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- + create stencil based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewtoff::create() +{ + //int i,j,k; + + //nstencil = 0; + + //for (k = -sz; k <= sz; k++) + // for (j = -sy; j <= sy; j++) + // for (i = -sx; i <= sx; i++) + // if (bin_distance(i,j,k) < cutneighmaxsq) + // stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; +} diff --git a/src/nstencil_half_bytype_3d_newtoff.h b/src/nstencil_half_bytype_3d_newtoff.h new file mode 100644 index 0000000000..bf83a31e9a --- /dev/null +++ b/src/nstencil_half_bytype_3d_newtoff.h @@ -0,0 +1,51 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/bytype/3d/newtoff, + NStencilHalfBytype3dNewtoff, + NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTOFF | NS_ORTHO | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTOFF_H +#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTOFF_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfBytype3dNewtoff : public NStencil { + public: + NStencilHalfBytype3dNewtoff(class LAMMPS *); + ~NStencilHalfBytype3dNewtoff(); + void create_setup(); + void create(); + + private: + int ** maxstencil_type; + + void copy_bin_info_bytype(int); + int copy_neigh_info_bytype(int); + void create_newtoff(int, int, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_bytype_3d_newton.cpp b/src/nstencil_half_bytype_3d_newton.cpp new file mode 100644 index 0000000000..94c1ecd94d --- /dev/null +++ b/src/nstencil_half_bytype_3d_newton.cpp @@ -0,0 +1,194 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_bytype_3d_newton.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" + +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfBytype3dNewton::NStencilHalfBytype3dNewton(LAMMPS *lmp) : + NStencil(lmp) +{ + maxstencil_type = NULL; +} + +NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { + + memory->destroy(nstencil_type); + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 0; j <= atom->ntypes; j++) { + if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); + } + delete [] stencil_type[i]; + } + delete [] stencil_type; + memory->destroy(maxstencil_type); +} + +// KS To superclass +void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { + + mbinx = nb->mbinx_type[itype]; + mbiny = nb->mbiny_type[itype]; + mbinz = nb->mbinz_type[itype]; + binsizex = nb->binsizex_type[itype]; + binsizey = nb->binsizey_type[itype]; + binsizez = nb->binsizez_type[itype]; + bininvx = nb->bininvx_type[itype]; + bininvy = nb->bininvy_type[itype]; + bininvz = nb->bininvz_type[itype]; +} + +// KS To superclass? +int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { + + cutneighmaxsq = neighbor->cutneighsq[itype][itype]; + cutneighmax = sqrt(cutneighmaxsq); + cuttypesq = neighbor->cuttypesq; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 3d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + return ((2*sx+1) * (2*sy+1) * (2*sz+1)); +} + +void NStencilHalfBytype3dNewton::create_setup() +{ + + int itype, jtype; + int maxtypes; + int smax; + + // maxstencil_type to superclass? + maxtypes = atom->ntypes; + + if (maxstencil_type == NULL) { + memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); + memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); + stencil_type = new int**[maxtypes+1](); + for (itype = 1; itype <= maxtypes; ++itype) { + stencil_type[itype] = new int*[maxtypes+1](); + for (jtype = 1; jtype <= maxtypes; ++jtype) { + maxstencil_type[itype][jtype] = 0; + nstencil_type[itype][jtype] = 0; + } + } + } + + // like -> like => use standard Newton stencil at bin + + for (itype = 1; itype <= maxtypes; ++itype) { + copy_bin_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); + if (smax > maxstencil_type[itype][itype]) { + maxstencil_type[itype][itype] = smax; + memory->destroy(stencil_type[itype][itype]); + memory->create(stencil_type[itype][itype], smax, + "NStencilHalfBytypeNewton::create_steup() stencil"); + } + create_newton(itype, itype, cutneighmaxsq); + } + + // Cross types: "Newton on" reached by using Newton off stencil and + // looking one way through hierarchy + // smaller -> larger => use Newton off stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (itype = 1; itype <= maxtypes; ++itype) { + for (jtype = 1; jtype <= maxtypes; ++jtype) { + if (itype == jtype) continue; + if (cuttypesq[itype] == cuttypesq[jtype]) { + nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; + stencil_type[itype][jtype] = stencil_type[jtype][jtype]; + } + else if (cuttypesq[itype] < cuttypesq[jtype]) { + copy_bin_info_bytype(jtype); + + cutneighmaxsq = cuttypesq[jtype]; + cutneighmax = sqrt(cutneighmaxsq); + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + if (smax > maxstencil_type[itype][jtype]) { + maxstencil_type[itype][jtype] = smax; + memory->destroy(stencil_type[itype][jtype]); + memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); + } + create_newtoff(itype, jtype, cuttypesq[jtype]); + } + } + } + +} + +void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = 0; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (k > 0 || j > 0 || (j == 0 && i > 0)) { + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + } + nstencil_type[itype][jtype] = ns; +} + +void NStencilHalfBytype3dNewton::create_newtoff(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- + create stencil based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewton::create() +{ + // KS. Move "creation" here. +} diff --git a/src/nstencil_half_bytype_3d_newton.h b/src/nstencil_half_bytype_3d_newton.h new file mode 100644 index 0000000000..1245e2cd08 --- /dev/null +++ b/src/nstencil_half_bytype_3d_newton.h @@ -0,0 +1,52 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/bytype/3d/newton, + NStencilHalfBytype3dNewton, + NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_ORTHO | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H +#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfBytype3dNewton : public NStencil { + public: + NStencilHalfBytype3dNewton(class LAMMPS *); + ~NStencilHalfBytype3dNewton(); + void create_setup(); + void create(); + + private: + int ** maxstencil_type; + + void copy_bin_info_bytype(int); + int copy_neigh_info_bytype(int); + void create_newton(int, int, double); + void create_newtoff(int, int, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ From e125d464d1977df0cc76a28043cc324e74827fb0 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 5 Oct 2020 16:09:50 -0600 Subject: [PATCH 002/542] Replacing molecular enumeration --- src/npair_full_bytype.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/npair_full_bytype.cpp b/src/npair_full_bytype.cpp index d244c263ed..6f13d77672 100644 --- a/src/npair_full_bytype.cpp +++ b/src/npair_full_bytype.cpp @@ -57,7 +57,7 @@ void NPairFullBytype::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == 2) moltemplate = 1; + if (molecular == Atom::TEMPLATE) moltemplate = 1; else moltemplate = 0; int *ilist = list->ilist; @@ -113,7 +113,7 @@ void NPairFullBytype::build(NeighList *list) rsq = delx*delx + dely*dely + delz*delz; if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { + if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i],nspecial[i],tag[j]); else if (imol >= 0) From 58e27a9c51047efe50770f86bdf21c4bfdd61ea7 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 9 Oct 2020 13:50:20 -0600 Subject: [PATCH 003/542] More edits and documentation --- doc/src/comm_modify.rst | 9 ++++++++- doc/src/neighbor.rst | 16 +++++++++++++++- src/comm.h | 4 ++++ src/comm_tiled.cpp | 6 ++++++ src/nbin_bytype.cpp | 16 +++++++--------- src/nbin_bytype.h | 16 ++++++++++++++++ src/npair_full_bytype.cpp | 6 ++---- src/npair_full_bytype.h | 4 ++++ src/npair_half_size_bytype_newtoff.cpp | 2 -- src/npair_half_size_bytype_newtoff.h | 4 ++++ src/npair_half_size_bytype_newton.cpp | 2 -- src/npair_half_size_bytype_newton.h | 6 +++++- src/nstencil_full_bytype_3d.cpp | 12 ++++++++++-- src/nstencil_half_bytype_2d_newton.cpp | 11 ++++++++++- src/nstencil_half_bytype_3d_newtoff.cpp | 12 ++++++++++-- src/nstencil_half_bytype_3d_newton.cpp | 13 ++++++++++++- 16 files changed, 113 insertions(+), 26 deletions(-) diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 9a2ae60f1e..2940b14283 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -11,7 +11,7 @@ Syntax comm_modify keyword value ... * zero or more keyword/value pairs may be appended -* keyword = *mode* or *cutoff* or *cutoff/multi* or *group* or *vel* +* keyword = *mode* or *cutoff* or *cutoff/multi* or *cutoff/bytype* or *group* or *vel* .. parsed-literal:: @@ -20,6 +20,7 @@ Syntax *cutoff/multi* type value type = atom type or type range (supports asterisk notation) value = Rcut (distance units) = communicate atoms for selected types from this far away + *cutoff/byptype* arg = none = communicate atoms for each type by a distance equal to the largest interaction distance for that type *group* value = group-ID = only communicate atoms in the group *vel* value = *yes* or *no* = do or do not communicate velocity info with ghost atoms @@ -92,6 +93,12 @@ cutoffs are determined per atom type, a type specifier is needed and cutoff for one or multiple types can be extended. Also ranges of types using the usual asterisk notation can be given. +The *cutoff/bytype* option applies to *multi* and automtically sets communication +cutoffs for each particle type based on the largest interaction distance +between two particles of the same type. This method is only compatible +with Newton on and the *bytype* neighbor style. See the :doc:`neighbor bytype ` +command for more information. + These are simulation scenarios in which it may be useful or even necessary to set a ghost cutoff > neighbor cutoff: diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index 1bb591587c..8db9131545 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -11,7 +11,7 @@ Syntax neighbor skin style * skin = extra distance beyond force cutoff (distance units) -* style = *bin* or *nsq* or *multi* +* style = *bin* or *nsq* or *multi* or *bytype* Examples """""""" @@ -60,6 +60,14 @@ This imposes some extra setup overhead, but the searches themselves may be much faster for the short-cutoff cases. See the :doc:`comm_modify mode multi ` command for a communication option that may also be beneficial for simulations of this kind. +The *bytype* style is an extension of the *multi* style that was +presented by Shire, Hanley, and Stratford :ref:`(Shire) `. +For style *bytype*, different bin lists are created for each different +type and separate bin sizes are generated. Whether *bytype* or *multi* +is faster may depend on the specifics of your system. See the +:doc:`comm_modify mode bytype ` command for a compatible +communication option. + The :doc:`neigh_modify ` command has additional options that control how often neighbor lists are built and which pairs are stored in the list. @@ -86,3 +94,9 @@ Default | 0.001 bin for units = si, skin = 0.001 meters = 1.0 mm | 0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm | + +---------- + +.. _bytype-Shire: + +**(Shire)** Shire, Hanley and Stratford, Comp Part Mech, (2020). diff --git a/src/comm.h b/src/comm.h index e5fc1bdee4..3105e09a61 100644 --- a/src/comm.h +++ b/src/comm.h @@ -199,6 +199,10 @@ E: Use cutoff keyword to set cutoff in single mode Mode is single so cutoff/multi keyword cannot be used. +E: Use cutoff/bytype in mode multi only + +Mode is single so cutoff/bytype keyword cannot be used. + E: Cannot set cutoff/multi before simulation box is defined Self-explanatory. diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index dbdc887097..4759639bff 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -183,6 +183,12 @@ void CommTiled::setup() cutghostmulti[i][0] = MAX(cut,cuttype[i]); cutghostmulti[i][1] = MAX(cut,cuttype[i]); cutghostmulti[i][2] = MAX(cut,cuttype[i]); + if (multi_bytype == 1) { + // Set the BYTYPE cutoff + cutghostmulti[i][0] = sqrt(neighbor->cutneighsq[i][i]); + cutghostmulti[i][1] = sqrt(neighbor->cutneighsq[i][i]); + cutghostmulti[i][2] = sqrt(neighbor->cutneighsq[i][i]); + } } } diff --git a/src/nbin_bytype.cpp b/src/nbin_bytype.cpp index f719ed116f..70732a4b97 100644 --- a/src/nbin_bytype.cpp +++ b/src/nbin_bytype.cpp @@ -19,14 +19,12 @@ #include "comm.h" #include "update.h" #include "error.h" - -#include #include "memory.h" using namespace LAMMPS_NS; -#define SMALL 1.0e-6 // Duplicated from NBinStandard -#define CUT2BIN_RATIO 100 // Duplicated from NBinStandard +#define SMALL 1.0e-6 +#define CUT2BIN_RATIO 100 /* ---------------------------------------------------------------------- */ @@ -238,7 +236,7 @@ void NBinBytype::setup_bins(int style) // test for too many global bins in any dimension due to huge global domain if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || - bbox[2]*binsizeinv > MAXSMALLINT) + bbox[2]*binsizeinv > MAXSMALLINT) error->all(FLERR,"Domain too large for neighbor bins"); // create actual bins @@ -269,8 +267,8 @@ void NBinBytype::setup_bins(int style) bininvz_type[n] = 1.0 / binsizez_type[n]; if (binsize_optimal*bininvx_type[n] > CUT2BIN_RATIO || - binsize_optimal*bininvy_type[n] > CUT2BIN_RATIO || - binsize_optimal*bininvz_type[n] > CUT2BIN_RATIO) + binsize_optimal*bininvy_type[n] > CUT2BIN_RATIO || + binsize_optimal*bininvz_type[n] > CUT2BIN_RATIO) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); // mbinlo/hi = lowest and highest global bins my ghost atoms could be in @@ -352,8 +350,8 @@ void NBinBytype::bin_atoms() int bitmask = group->bitmask[includegroup]; for (i = nall-1; i >= nlocal; i--) { if (mask[i] & bitmask) { - n = type[i]; - ibin = coord2bin(x[i], n); + n = type[i]; + ibin = coord2bin(x[i], n); atom2bin_type[n][i] = ibin; bins_type[n][i] = binhead_type[n][ibin]; binhead_type[n][ibin] = i; diff --git a/src/nbin_bytype.h b/src/nbin_bytype.h index 89e6ca3650..ad2b95ef4b 100644 --- a/src/nbin_bytype.h +++ b/src/nbin_bytype.h @@ -53,4 +53,20 @@ class NBinBytype : public NBin { /* ERROR/WARNING messages: +E: Domain too large for neighbor bins + +UNDOCUMENTED + +E: Cannot use neighbor bins - box size << cutoff + +UNDOCUMENTED + +E: Too many neighbor bins + +UNDOCUMENTED + +E Non-numeric positions - simulation unstable + +UNDOCUMENTED + */ diff --git a/src/npair_full_bytype.cpp b/src/npair_full_bytype.cpp index 6f13d77672..3b9a89bb56 100644 --- a/src/npair_full_bytype.cpp +++ b/src/npair_full_bytype.cpp @@ -12,7 +12,6 @@ ------------------------------------------------------------------------- */ #include "npair_full_bytype.h" -#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -20,7 +19,6 @@ #include "domain.h" #include "my_page.h" #include "error.h" - #include "nbin.h" #include "nstencil.h" @@ -102,9 +100,9 @@ void NPairFullBytype::build(NeighList *list) for (k = 0; k < ns; k++) { int js = this->nb->binhead_type[ktype][kbin + s[k]]; for (j = js; j >= 0; j = this->nb->bins_type[ktype][j]) { - jtype = type[j]; if (i == j) continue; - + + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_full_bytype.h b/src/npair_full_bytype.h index 9ce221ff22..fdcd6b5fb1 100644 --- a/src/npair_full_bytype.h +++ b/src/npair_full_bytype.h @@ -40,4 +40,8 @@ class NPairFullBytype : public NPair { /* ERROR/WARNING messages: +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + */ diff --git a/src/npair_half_size_bytype_newtoff.cpp b/src/npair_half_size_bytype_newtoff.cpp index f065c60736..220ae747a7 100644 --- a/src/npair_half_size_bytype_newtoff.cpp +++ b/src/npair_half_size_bytype_newtoff.cpp @@ -13,13 +13,11 @@ es certain rights in this software. This software is distributed under #include #include "npair_half_size_bytype_newtoff.h" -#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" #include "my_page.h" #include "error.h" - #include "nbin.h" #include "nstencil.h" diff --git a/src/npair_half_size_bytype_newtoff.h b/src/npair_half_size_bytype_newtoff.h index e131a12f4b..183bd39fb3 100644 --- a/src/npair_half_size_bytype_newtoff.h +++ b/src/npair_half_size_bytype_newtoff.h @@ -40,4 +40,8 @@ class NPairHalfSizeBytypeNewtoff : public NPair { /* ERROR/WARNING messages: +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + */ diff --git a/src/npair_half_size_bytype_newton.cpp b/src/npair_half_size_bytype_newton.cpp index 3981635439..339c4859a6 100755 --- a/src/npair_half_size_bytype_newton.cpp +++ b/src/npair_half_size_bytype_newton.cpp @@ -13,13 +13,11 @@ #include #include "npair_half_size_bytype_newton.h" -#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" #include "my_page.h" #include "error.h" - #include "nbin.h" #include "nstencil.h" diff --git a/src/npair_half_size_bytype_newton.h b/src/npair_half_size_bytype_newton.h index a6bb7a00a8..3cd1ee05d1 100755 --- a/src/npair_half_size_bytype_newton.h +++ b/src/npair_half_size_bytype_newton.h @@ -40,4 +40,8 @@ class NPairHalfSizeBytypeNewton : public NPair { /* ERROR/WARNING messages: -*/ +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + +*/ \ No newline at end of file diff --git a/src/nstencil_full_bytype_3d.cpp b/src/nstencil_full_bytype_3d.cpp index 3936ec2483..cecccdfb14 100644 --- a/src/nstencil_full_bytype_3d.cpp +++ b/src/nstencil_full_bytype_3d.cpp @@ -17,7 +17,6 @@ #include "nbin.h" #include "memory.h" #include "atom.h" - #include using namespace LAMMPS_NS; @@ -30,6 +29,8 @@ NStencilFullBytype3d::NStencilFullBytype3d(LAMMPS *lmp) : maxstencil_type = NULL; } +/* ---------------------------------------------------------------------- */ + NStencilFullBytype3d::~NStencilFullBytype3d() { if (maxstencil_type) { @@ -45,6 +46,8 @@ NStencilFullBytype3d::~NStencilFullBytype3d() { } } +/* ---------------------------------------------------------------------- */ + void NStencilFullBytype3d::copy_bin_info_bytype(int itype) { mbinx = nb->mbinx_type[itype]; @@ -58,6 +61,8 @@ void NStencilFullBytype3d::copy_bin_info_bytype(int itype) { bininvz = nb->bininvz_type[itype]; } +/* ---------------------------------------------------------------------- */ + int NStencilFullBytype3d::copy_neigh_info_bytype(int itype) { cutneighmaxsq = neighbor->cutneighsq[itype][itype]; @@ -78,6 +83,8 @@ int NStencilFullBytype3d::copy_neigh_info_bytype(int itype) { return ((2*sx+1) * (2*sy+1) * (2*sz+1)); } +/* ---------------------------------------------------------------------- */ + void NStencilFullBytype3d::create_setup() { @@ -85,7 +92,6 @@ void NStencilFullBytype3d::create_setup() int maxtypes; int smax; - //printf("NStencilFullBytype3d::create_steup()\n"); maxtypes = atom->ntypes; if (maxstencil_type == NULL) { @@ -159,6 +165,8 @@ void NStencilFullBytype3d::create_setup() } +/* ---------------------------------------------------------------------- */ + void NStencilFullBytype3d::create_newtoff(int itype, int jtype, double cutsq) { int i, j, k, ns; diff --git a/src/nstencil_half_bytype_2d_newton.cpp b/src/nstencil_half_bytype_2d_newton.cpp index 18ed0972ff..66158202bf 100644 --- a/src/nstencil_half_bytype_2d_newton.cpp +++ b/src/nstencil_half_bytype_2d_newton.cpp @@ -17,7 +17,6 @@ #include "nbin.h" #include "memory.h" #include "atom.h" - #include using namespace LAMMPS_NS; @@ -43,6 +42,8 @@ NStencilHalfBytype2dNewton::~NStencilHalfBytype2dNewton() { memory->destroy(maxstencil_type); } +/* ---------------------------------------------------------------------- */ + // KS To superclass void NStencilHalfBytype2dNewton::copy_bin_info_bytype(int itype) { @@ -57,6 +58,8 @@ void NStencilHalfBytype2dNewton::copy_bin_info_bytype(int itype) { bininvz = nb->bininvz_type[itype]; } +/* ---------------------------------------------------------------------- */ + // KS To superclass? int NStencilHalfBytype2dNewton::copy_neigh_info_bytype(int itype) { @@ -78,6 +81,8 @@ int NStencilHalfBytype2dNewton::copy_neigh_info_bytype(int itype) { return ((2*sx+1) * (2*sy+1) * (2*sz+1)); } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype2dNewton::create_setup() { @@ -153,6 +158,8 @@ void NStencilHalfBytype2dNewton::create_setup() } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype2dNewton::create_newton(int itype, int jtype, double cutsq) { int i, j, ns; @@ -168,6 +175,8 @@ void NStencilHalfBytype2dNewton::create_newton(int itype, int jtype, double cuts nstencil_type[itype][jtype] = ns; } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype2dNewton::create_newtoff(int itype, int jtype, double cutsq) { int i, j, ns; diff --git a/src/nstencil_half_bytype_3d_newtoff.cpp b/src/nstencil_half_bytype_3d_newtoff.cpp index f111715e5d..fedc8060ce 100644 --- a/src/nstencil_half_bytype_3d_newtoff.cpp +++ b/src/nstencil_half_bytype_3d_newtoff.cpp @@ -17,7 +17,6 @@ #include "nbin.h" #include "memory.h" #include "atom.h" - #include using namespace LAMMPS_NS; @@ -30,6 +29,8 @@ NStencilHalfBytype3dNewtoff::NStencilHalfBytype3dNewtoff(LAMMPS *lmp) : maxstencil_type = NULL; } +/* ---------------------------------------------------------------------- */ + NStencilHalfBytype3dNewtoff::~NStencilHalfBytype3dNewtoff() { memory->destroy(nstencil_type); @@ -43,6 +44,8 @@ NStencilHalfBytype3dNewtoff::~NStencilHalfBytype3dNewtoff() { memory->destroy(maxstencil_type); } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewtoff::copy_bin_info_bytype(int itype) { mbinx = nb->mbinx_type[itype]; @@ -56,6 +59,8 @@ void NStencilHalfBytype3dNewtoff::copy_bin_info_bytype(int itype) { bininvz = nb->bininvz_type[itype]; } +/* ---------------------------------------------------------------------- */ + int NStencilHalfBytype3dNewtoff::copy_neigh_info_bytype(int itype) { cutneighmaxsq = neighbor->cutneighsq[itype][itype]; @@ -76,6 +81,8 @@ int NStencilHalfBytype3dNewtoff::copy_neigh_info_bytype(int itype) { return ((2*sx+1) * (2*sy+1) * (2*sz+1)); } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewtoff::create_setup() { @@ -83,7 +90,6 @@ void NStencilHalfBytype3dNewtoff::create_setup() int maxtypes; int smax; - //printf("NStencilHalfBytype3dNewtoff::create_steup()\n"); maxtypes = atom->ntypes; if (maxstencil_type == NULL) { @@ -157,6 +163,8 @@ void NStencilHalfBytype3dNewtoff::create_setup() } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewtoff::create_newtoff(int itype, int jtype, double cutsq) { int i, j, k, ns; diff --git a/src/nstencil_half_bytype_3d_newton.cpp b/src/nstencil_half_bytype_3d_newton.cpp index 94c1ecd94d..7fc53fe762 100644 --- a/src/nstencil_half_bytype_3d_newton.cpp +++ b/src/nstencil_half_bytype_3d_newton.cpp @@ -17,7 +17,6 @@ #include "nbin.h" #include "memory.h" #include "atom.h" - #include using namespace LAMMPS_NS; @@ -30,6 +29,8 @@ NStencilHalfBytype3dNewton::NStencilHalfBytype3dNewton(LAMMPS *lmp) : maxstencil_type = NULL; } +/* ---------------------------------------------------------------------- */ + NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { memory->destroy(nstencil_type); @@ -43,6 +44,8 @@ NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { memory->destroy(maxstencil_type); } +/* ---------------------------------------------------------------------- */ + // KS To superclass void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { @@ -57,6 +60,8 @@ void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { bininvz = nb->bininvz_type[itype]; } +/* ---------------------------------------------------------------------- */ + // KS To superclass? int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { @@ -78,6 +83,8 @@ int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { return ((2*sx+1) * (2*sy+1) * (2*sz+1)); } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewton::create_setup() { @@ -153,6 +160,8 @@ void NStencilHalfBytype3dNewton::create_setup() } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cutsq) { int i, j, k, ns; @@ -169,6 +178,8 @@ void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cuts nstencil_type[itype][jtype] = ns; } +/* ---------------------------------------------------------------------- */ + void NStencilHalfBytype3dNewton::create_newtoff(int itype, int jtype, double cutsq) { int i, j, k, ns; From 557ef57526e7a61bb466f3904a46a8a0c1983113 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 29 Oct 2020 15:13:28 -0600 Subject: [PATCH 004/542] Adding initial support for triclinic boundaries --- src/npair_half_bytype_newton_tri.cpp | 190 +++++++++++++++++++ src/npair_half_bytype_newton_tri.h | 43 +++++ src/npair_half_size_bytype_newton_tri.cpp | 166 +++++++++++++++++ src/npair_half_size_bytype_newton_tri.h | 47 +++++ src/nstencil_half_bytype_3d_newton.h | 2 +- src/nstencil_half_bytype_3d_newton_tri.cpp | 203 +++++++++++++++++++++ src/nstencil_half_bytype_3d_newton_tri.h | 52 ++++++ 7 files changed, 702 insertions(+), 1 deletion(-) create mode 100755 src/npair_half_bytype_newton_tri.cpp create mode 100755 src/npair_half_bytype_newton_tri.h create mode 100755 src/npair_half_size_bytype_newton_tri.cpp create mode 100755 src/npair_half_size_bytype_newton_tri.h create mode 100755 src/nstencil_half_bytype_3d_newton_tri.cpp create mode 100755 src/nstencil_half_bytype_3d_newton_tri.h diff --git a/src/npair_half_bytype_newton_tri.cpp b/src/npair_half_bytype_newton_tri.cpp new file mode 100755 index 0000000000..6b28e76789 --- /dev/null +++ b/src/npair_half_bytype_newton_tri.cpp @@ -0,0 +1,190 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "npair_half_bytype_newton_tri.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfBytypeNewtonTri::NPairHalfBytypeNewtonTri(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + KS REWRTIE + binned neighbor list construction with Newton's 3rd law for triclinic + each owned atom i checks its own bin and other bins in triclinic stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfBytypeNewtonTri::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + if (molecular == 2) moltemplate = 1; + else moltemplate = 0; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + int js; + int kbin; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = nb->atom2bin_type[itype][i]; + + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = this->ns->stencil_type[itype][itype]; + ns = this->ns->nstencil_type[itype][itype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[itype][ibin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + + } + else { + // smaller -> larger: locate i in the ktype bin structure + + kbin = nb->coord2bin(x[i], ktype); + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + } + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_bytype_newton_tri.h b/src/npair_half_bytype_newton_tri.h new file mode 100755 index 0000000000..0582801028 --- /dev/null +++ b/src/npair_half_bytype_newton_tri.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/bytype/newton/tri, + NPairHalfBytypeNewtonTri, + NP_HALF | NP_BYTYPE | NP_NEWTON | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_BYTYPE_NEWTON_TRI_H +#define LMP_NPAIR_HALF_BYTYPE_NEWTON_TRI_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfBytypeNewtonTri : public NPair { + public: + NPairHalfBytypeNewtonTri(class LAMMPS *); + ~NPairHalfBytypeNewtonTri() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/npair_half_size_bytype_newton_tri.cpp b/src/npair_half_size_bytype_newton_tri.cpp new file mode 100755 index 0000000000..62d499b10f --- /dev/null +++ b/src/npair_half_size_bytype_newton_tri.cpp @@ -0,0 +1,166 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "npair_half_size_bytype_newton_tri.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" +#include "nbin.h" +#include "nstencil.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeBytypeNewtonTri::NPairHalfSizeBytypeNewtonTri(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + KS REWRTIE + binned neighbor list construction with Newton's 3rd law for triclinic + each owned atom i checks its own bin and other bins in triclinic stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeBytypeNewtonTri::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + int js; + int kbin; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = nb->atom2bin_type[itype][i]; + + for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = this->ns->stencil_type[itype][itype]; + ns = this->ns->nstencil_type[itype][itype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[itype][ibin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + // KS. CHECK ME if (cutsq[jtype] < distsq[k]) continue; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + } + else { + // KS + // smaller -> larger: locate i in the ktype bin structure + kbin = nb->coord2bin(x[i], ktype); + + s = this->ns->stencil_type[itype][ktype]; + ns = this->ns->nstencil_type[itype][ktype]; + for (k = 0; k < ns; k++) { + js = nb->binhead_type[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + } + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_bytype_newton_tri.h b/src/npair_half_size_bytype_newton_tri.h new file mode 100755 index 0000000000..0f770e780d --- /dev/null +++ b/src/npair_half_size_bytype_newton_tri.h @@ -0,0 +1,47 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/bytype/newton/tri, + NPairHalfSizeBytypeNewtonTri, + NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTON | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_TRI_H +#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_TRI_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeBytypeNewtonTri : public NPair { + public: + NPairHalfSizeBytypeNewtonTri(class LAMMPS *); + ~NPairHalfSizeBytypeNewtonTri() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + +*/ \ No newline at end of file diff --git a/src/nstencil_half_bytype_3d_newton.h b/src/nstencil_half_bytype_3d_newton.h index 1245e2cd08..cbb88fcb1d 100644 --- a/src/nstencil_half_bytype_3d_newton.h +++ b/src/nstencil_half_bytype_3d_newton.h @@ -15,7 +15,7 @@ NStencilStyle(half/bytype/3d/newton, NStencilHalfBytype3dNewton, - NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_ORTHO | NS_TRI) + NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_ORTHO) #else diff --git a/src/nstencil_half_bytype_3d_newton_tri.cpp b/src/nstencil_half_bytype_3d_newton_tri.cpp new file mode 100755 index 0000000000..f1ab713725 --- /dev/null +++ b/src/nstencil_half_bytype_3d_newton_tri.cpp @@ -0,0 +1,203 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_bytype_3d_newton.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfBytype3dNewton::NStencilHalfBytype3dNewton(LAMMPS *lmp) : + NStencil(lmp) +{ + maxstencil_type = NULL; +} + +/* ---------------------------------------------------------------------- */ + +NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { + + memory->destroy(nstencil_type); + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 0; j <= atom->ntypes; j++) { + if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); + } + delete [] stencil_type[i]; + } + delete [] stencil_type; + memory->destroy(maxstencil_type); +} + +/* ---------------------------------------------------------------------- */ + +// KS To superclass +void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { + + mbinx = nb->mbinx_type[itype]; + mbiny = nb->mbiny_type[itype]; + mbinz = nb->mbinz_type[itype]; + binsizex = nb->binsizex_type[itype]; + binsizey = nb->binsizey_type[itype]; + binsizez = nb->binsizez_type[itype]; + bininvx = nb->bininvx_type[itype]; + bininvy = nb->bininvy_type[itype]; + bininvz = nb->bininvz_type[itype]; +} + +/* ---------------------------------------------------------------------- */ + +// KS To superclass? +int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { + + cutneighmaxsq = neighbor->cutneighsq[itype][itype]; + cutneighmax = sqrt(cutneighmaxsq); + cuttypesq = neighbor->cuttypesq; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 3d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + return ((2*sx+1) * (2*sy+1) * (2*sz+1)); +} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewton::create_setup() +{ + + int itype, jtype; + int maxtypes; + int smax; + + // maxstencil_type to superclass? + maxtypes = atom->ntypes; + + if (maxstencil_type == NULL) { + memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); + memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); + stencil_type = new int**[maxtypes+1](); + for (itype = 1; itype <= maxtypes; ++itype) { + stencil_type[itype] = new int*[maxtypes+1](); + for (jtype = 1; jtype <= maxtypes; ++jtype) { + maxstencil_type[itype][jtype] = 0; + nstencil_type[itype][jtype] = 0; + } + } + } + + // like -> like => use standard Newton stencil at bin + + for (itype = 1; itype <= maxtypes; ++itype) { + copy_bin_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); + if (smax > maxstencil_type[itype][itype]) { + maxstencil_type[itype][itype] = smax; + memory->destroy(stencil_type[itype][itype]); + memory->create(stencil_type[itype][itype], smax, + "NStencilHalfBytypeNewton::create_steup() stencil"); + } + create_newton(itype, itype, cutneighmaxsq); + } + + // Cross types: "Newton on" reached by using Newton off stencil and + // looking one way through hierarchy + // smaller -> larger => use Newton off stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (itype = 1; itype <= maxtypes; ++itype) { + for (jtype = 1; jtype <= maxtypes; ++jtype) { + if (itype == jtype) continue; + if (cuttypesq[itype] == cuttypesq[jtype]) { + nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; + stencil_type[itype][jtype] = stencil_type[jtype][jtype]; + } + else if (cuttypesq[itype] < cuttypesq[jtype]) { + copy_bin_info_bytype(jtype); + + cutneighmaxsq = cuttypesq[jtype]; + cutneighmax = sqrt(cutneighmaxsq); + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + + smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + if (smax > maxstencil_type[itype][jtype]) { + maxstencil_type[itype][jtype] = smax; + memory->destroy(stencil_type[itype][jtype]); + memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); + } + create_newtoff(itype, jtype, cuttypesq[jtype]); + } + } + } + +} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = 0; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewton::create_newtoff(int itype, int jtype, double cutsq) { + + int i, j, k, ns; + + ns = 0; + + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; + + nstencil_type[itype][jtype] = ns; +} + +/* ---------------------------------------------------------------------- + create stencil based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfBytype3dNewton::create() +{ + // KS. Move "creation" here. +} diff --git a/src/nstencil_half_bytype_3d_newton_tri.h b/src/nstencil_half_bytype_3d_newton_tri.h new file mode 100755 index 0000000000..e419161bb5 --- /dev/null +++ b/src/nstencil_half_bytype_3d_newton_tri.h @@ -0,0 +1,52 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/bytype/3d/newton, + NStencilHalfBytype3dNewton, + NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H +#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfBytype3dNewton : public NStencil { + public: + NStencilHalfBytype3dNewton(class LAMMPS *); + ~NStencilHalfBytype3dNewton(); + void create_setup(); + void create(); + + private: + int ** maxstencil_type; + + void copy_bin_info_bytype(int); + int copy_neigh_info_bytype(int); + void create_newton(int, int, double); + void create_newtoff(int, int, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ From 12288630f576273a2848f6a2bd0e272b142b2e29 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 9 Nov 2020 16:32:11 -0700 Subject: [PATCH 005/542] Fixing comm and renaming bytype --- src/comm.cpp | 12 ++-- src/comm.h | 6 +- src/comm_brick.cpp | 58 +++++++++++++------ src/comm_tiled.cpp | 33 ++++++----- ...{nbin_bytype.cpp => nbin_multi_tiered.cpp} | 0 src/{nbin_bytype.h => nbin_multi_tiered.h} | 0 src/neighbor.cpp | 20 +++---- src/neighbor.h | 32 +++++----- ...bytype.cpp => npair_full_multi_tiered.cpp} | 0 ...ull_bytype.h => npair_full_multi_tiered.h} | 0 ...cpp => npair_half_multi_tiered_newton.cpp} | 0 ...ton.h => npair_half_multi_tiered_newton.h} | 0 ...=> npair_half_multi_tiered_newton_tri.cpp} | 0 ...h => npair_half_multi_tiered_newton_tri.h} | 0 ... npair_half_size_multi_tiered_newtoff.cpp} | 0 ...=> npair_half_size_multi_tiered_newtoff.h} | 0 ...> npair_half_size_multi_tiered_newton.cpp} | 0 ... => npair_half_size_multi_tiered_newton.h} | 0 ...air_half_size_multi_tiered_newton_tri.cpp} | 0 ...npair_half_size_multi_tiered_newton_tri.h} | 0 ....cpp => nstencil_full_multi_tiered_3d.cpp} | 0 ...e_3d.h => nstencil_full_multi_tiered_3d.h} | 0 ... nstencil_half_multi_tiered_2d_newton.cpp} | 0 ...=> nstencil_half_multi_tiered_2d_newton.h} | 0 ...nstencil_half_multi_tiered_3d_newtoff.cpp} | 0 ...> nstencil_half_multi_tiered_3d_newtoff.h} | 0 ... nstencil_half_multi_tiered_3d_newton.cpp} | 0 ...=> nstencil_half_multi_tiered_3d_newton.h} | 0 ...encil_half_multi_tiered_3d_newton_tri.cpp} | 0 ...stencil_half_multi_tiered_3d_newton_tri.h} | 0 30 files changed, 98 insertions(+), 63 deletions(-) rename src/{nbin_bytype.cpp => nbin_multi_tiered.cpp} (100%) rename src/{nbin_bytype.h => nbin_multi_tiered.h} (100%) rename src/{npair_full_bytype.cpp => npair_full_multi_tiered.cpp} (100%) rename src/{npair_full_bytype.h => npair_full_multi_tiered.h} (100%) rename src/{npair_half_bytype_newton.cpp => npair_half_multi_tiered_newton.cpp} (100%) rename src/{npair_half_bytype_newton.h => npair_half_multi_tiered_newton.h} (100%) rename src/{npair_half_bytype_newton_tri.cpp => npair_half_multi_tiered_newton_tri.cpp} (100%) rename src/{npair_half_bytype_newton_tri.h => npair_half_multi_tiered_newton_tri.h} (100%) rename src/{npair_half_size_bytype_newtoff.cpp => npair_half_size_multi_tiered_newtoff.cpp} (100%) rename src/{npair_half_size_bytype_newtoff.h => npair_half_size_multi_tiered_newtoff.h} (100%) rename src/{npair_half_size_bytype_newton.cpp => npair_half_size_multi_tiered_newton.cpp} (100%) rename src/{npair_half_size_bytype_newton.h => npair_half_size_multi_tiered_newton.h} (100%) rename src/{npair_half_size_bytype_newton_tri.cpp => npair_half_size_multi_tiered_newton_tri.cpp} (100%) rename src/{npair_half_size_bytype_newton_tri.h => npair_half_size_multi_tiered_newton_tri.h} (100%) rename src/{nstencil_full_bytype_3d.cpp => nstencil_full_multi_tiered_3d.cpp} (100%) rename src/{nstencil_full_bytype_3d.h => nstencil_full_multi_tiered_3d.h} (100%) rename src/{nstencil_half_bytype_2d_newton.cpp => nstencil_half_multi_tiered_2d_newton.cpp} (100%) rename src/{nstencil_half_bytype_2d_newton.h => nstencil_half_multi_tiered_2d_newton.h} (100%) rename src/{nstencil_half_bytype_3d_newtoff.cpp => nstencil_half_multi_tiered_3d_newtoff.cpp} (100%) rename src/{nstencil_half_bytype_3d_newtoff.h => nstencil_half_multi_tiered_3d_newtoff.h} (100%) rename src/{nstencil_half_bytype_3d_newton.cpp => nstencil_half_multi_tiered_3d_newton.cpp} (100%) rename src/{nstencil_half_bytype_3d_newton.h => nstencil_half_multi_tiered_3d_newton.h} (100%) rename src/{nstencil_half_bytype_3d_newton_tri.cpp => nstencil_half_multi_tiered_3d_newton_tri.cpp} (100%) rename src/{nstencil_half_bytype_3d_newton_tri.h => nstencil_half_multi_tiered_3d_newton_tri.h} (100%) diff --git a/src/comm.cpp b/src/comm.cpp index 1efe966459..b6f905d9a2 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -76,7 +76,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) grid2proc = nullptr; xsplit = ysplit = zsplit = nullptr; rcbnew = 0; - multi_bytype = 0; + multi_tiered = 0; // use of OpenMP threads // query OpenMP for number of threads/process set by user at run-time @@ -241,6 +241,10 @@ void Comm::init() maxexchange_fix_dynamic = 0; for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; + + // Can't used multi/tiered communication with Newton off + if (force->newton == 0 && multi_tiered) + error->all(FLERR,"Cannot use multi/tiered communication with Newton off"); } /* ---------------------------------------------------------------------- @@ -327,10 +331,10 @@ void Comm::modify_params(int narg, char **arg) for (i=nlo; i<=nhi; ++i) cutusermulti[i] = cut; iarg += 3; - } else if (strcmp(arg[iarg],"cutoff/bytype") == 0) { + } else if (strcmp(arg[iarg],"cutoff/tiered") == 0) { if (mode == Comm::SINGLE) - error->all(FLERR,"Use cutoff/bytype in mode multi only"); - multi_bytype = 1; + error->all(FLERR,"Use cutoff/tiered in mode multi only"); + multi_tiered = 1; iarg += 1; } else if (strcmp(arg[iarg],"vel") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal comm_modify command"); diff --git a/src/comm.h b/src/comm.h index 3105e09a61..037eaab348 100644 --- a/src/comm.h +++ b/src/comm.h @@ -161,7 +161,7 @@ class Comm : protected Pointers { int (*)(int, char *, int &, int *&, char *&, void *), int, char *&, int, void *, int); void rendezvous_stats(int, int, int, int, int, int, bigint); - int multi_bytype; // 1 if multi cutoff is intra-type cutoff + int multi_tiered; // 1 if multi cutoff is intra-type cutoff public: enum{MULTIPLE}; @@ -247,6 +247,10 @@ E: Processor count in z must be 1 for 2d simulation Self-explanatory. +E: Cannot use multi/tiered communication with Newton off + +Self-explanatory. + E: Cannot put data on ring from nullptr pointer W: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 57703b578c..c9fd00e9f5 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -174,18 +174,25 @@ void CommBrick::setup() cutghost[0] = cutghost[1] = cutghost[2] = cut; if (mode == Comm::MULTI) { - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,cuttype[i]); - cutghostmulti[i][1] = MAX(cut,cuttype[i]); - cutghostmulti[i][2] = MAX(cut,cuttype[i]); - if (multi_bytype == 1) { - // Set the BYTYPE cutoff - cutghostmulti[i][0] = sqrt(neighbor->cutneighsq[i][i]); - cutghostmulti[i][1] = sqrt(neighbor->cutneighsq[i][i]); - cutghostmulti[i][2] = sqrt(neighbor->cutneighsq[i][i]); + if (multi_tiered) { + // If using tiered binlists, use the itype-itype interaction distance for communication + double **cutneighsq = neighbor->cutneighsq; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][1] = MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][2] = MAX(cut,sqrt(cutneighsq[i][i])); + } + } else { + // If using a single binlist, use the max itype-jtype interaction distance for communication + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = MAX(cut,cuttype[i]); + cutghostmulti[i][1] = MAX(cut,cuttype[i]); + cutghostmulti[i][2] = MAX(cut,cuttype[i]); } } } @@ -204,13 +211,26 @@ void CommBrick::setup() cutghost[2] = cut * length2; if (mode == Comm::MULTI) { - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = length0 * MAX(cut,cuttype[i]); - cutghostmulti[i][1] = length1 * MAX(cut,cuttype[i]); - cutghostmulti[i][2] = length2 * MAX(cut,cuttype[i]); + if (multi_tiered) { + // If using tiered binlists, use the itype-itype interaction distance for communication + double **cutneighsq = neighbor->cutneighsq; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = length0 * MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][1] = length1 * MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][2] = length2 * MAX(cut,sqrt(cutneighsq[i][i])); + } + } else { + // If using a single binlist, use the max itype-jtype interaction distance for communication + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = length0 * MAX(cut,cuttype[i]); + cutghostmulti[i][1] = length1 * MAX(cut,cuttype[i]); + cutghostmulti[i][2] = length2 * MAX(cut,cuttype[i]); + } } } } diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 4759639bff..b82d54b3ab 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -175,20 +175,27 @@ void CommTiled::setup() // check that cutoff < any periodic box length if (mode == Comm::MULTI) { - double *cuttype = neighbor->cuttype; double cut; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,cuttype[i]); - cutghostmulti[i][1] = MAX(cut,cuttype[i]); - cutghostmulti[i][2] = MAX(cut,cuttype[i]); - if (multi_bytype == 1) { - // Set the BYTYPE cutoff - cutghostmulti[i][0] = sqrt(neighbor->cutneighsq[i][i]); - cutghostmulti[i][1] = sqrt(neighbor->cutneighsq[i][i]); - cutghostmulti[i][2] = sqrt(neighbor->cutneighsq[i][i]); - } + if (multi_tiered) { + // If using tiered binlists, use the itype-itype interaction distance for communication + double **cutneighsq = neighbor->cutneighsq; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][1] = MAX(cut,sqrt(cutneighsq[i][i])); + cutghostmulti[i][2] = MAX(cut,sqrt(cutneighsq[i][i])); + } + } else { + // If using a single binlist, use the max itype-jtype interaction distance for communication + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) cut = cutusermulti[i]; + cutghostmulti[i][0] = MAX(cut,cuttype[i]); + cutghostmulti[i][1] = MAX(cut,cuttype[i]); + cutghostmulti[i][2] = MAX(cut,cuttype[i]); + } } } diff --git a/src/nbin_bytype.cpp b/src/nbin_multi_tiered.cpp similarity index 100% rename from src/nbin_bytype.cpp rename to src/nbin_multi_tiered.cpp diff --git a/src/nbin_bytype.h b/src/nbin_multi_tiered.h similarity index 100% rename from src/nbin_bytype.h rename to src/nbin_multi_tiered.h diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 6e861b5a2b..740b16b66e 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1620,12 +1620,12 @@ int Neighbor::choose_bin(NeighRequest *rq) if (!rq->kokkos_device != !(mask & NB_KOKKOS_DEVICE)) continue; if (!rq->kokkos_host != !(mask & NB_KOKKOS_HOST)) continue; - // neighbor style is BIN or MULTI or BYTYPE and must match + // neighbor style is BIN or MULTI or MULTI/TIERED and must match if (style == Neighbor::BIN || style == Neighbor::MULTI) { if (!(mask & NB_STANDARD)) continue; - } else if (style == Neighbor::BYTYPE) { - if (!(mask & NB_BYTYPE)) continue; + } else if (style == Neighbor::MULTI_TIERED) { + if (!(mask & NB_MULTI_TIERED)) continue; } return i+1; @@ -1698,14 +1698,14 @@ int Neighbor::choose_stencil(NeighRequest *rq) if (!rq->ghost != !(mask & NS_GHOST)) continue; if (!rq->ssa != !(mask & NS_SSA)) continue; - // neighbor style is one of BIN, MULTI or BYTYPE and must match + // neighbor style is one of BIN, MULTI, or MULT/TIERED and must match if (style == Neighbor::BIN) { if (!(mask & NS_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NS_MULTI)) continue; - } else if (style == Neighbor::BYTYPE) { - if (!(mask & NS_BYTYPE)) continue; + } else if (style == Neighbor::MULT_TIERED) { + if (!(mask & NS_MULT_TIERED)) continue; } // dimension is 2 or 3 and must match @@ -1835,7 +1835,7 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!rq->halffull != !(mask & NP_HALF_FULL)) continue; if (!rq->off2on != !(mask & NP_OFF2ON)) continue; - // neighbor style is one of NSQ,BIN,MULTI or BYTYPE and must match + // neighbor style is one of NSQ, BIN, MULTI, or MULTI/TIERED and must match if (style == Neighbor::NSQ) { if (!(mask & NP_NSQ)) continue; @@ -1843,8 +1843,8 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!(mask & NP_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NP_MULTI)) continue; - } else if (style == Neighbor::BYTYPE) { - if (!(mask & NP_BYTYPE)) continue; + } else if (style == Neighbor::MULT_TIERED) { + if (!(mask & NP_MULT_TIERED)) continue; } // domain triclinic flag is on or off and must match @@ -2211,7 +2211,7 @@ void Neighbor::set(int narg, char **arg) if (strcmp(arg[1],"nsq") == 0) style = Neighbor::NSQ; else if (strcmp(arg[1],"bin") == 0) style = Neighbor::BIN; else if (strcmp(arg[1],"multi") == 0) style = Neighbor::MULTI; - else if (strcmp(arg[1],"bytype") == 0) style = Neighbor::BYTYPE; + else if (strcmp(arg[1],"multi/tiered") == 0) style = Neighbor::MULT_TIERED; else error->all(FLERR,"Illegal neighbor command"); if (style == Neighbor::MULTI && lmp->citeme) lmp->citeme->add(cite_neigh_multi); diff --git a/src/neighbor.h b/src/neighbor.h index e5b76dd41b..fd8cc49067 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { class Neighbor : protected Pointers { public: - enum{NSQ,BIN,MULTI,BYTYPE}; + enum{NSQ,BIN,MULTI,MULTI_TIERED}; int style; // 0,1,2 = nsq, bin, multi int every; // build every this many steps int delay; // delay build for this many steps @@ -239,22 +239,22 @@ namespace NeighConst { static const int NB_KOKKOS_DEVICE = 1<<1; static const int NB_KOKKOS_HOST = 1<<2; static const int NB_SSA = 1<<3; - static const int NB_BYTYPE = 1<<4; + static const int NB_MULTI_TIERED = 1<<4; static const int NB_STANDARD = 1<<5; - static const int NS_BIN = 1<<0; - static const int NS_MULTI = 1<<1; - static const int NS_HALF = 1<<2; - static const int NS_FULL = 1<<3; - static const int NS_2D = 1<<4; - static const int NS_3D = 1<<5; - static const int NS_NEWTON = 1<<6; - static const int NS_NEWTOFF = 1<<7; - static const int NS_ORTHO = 1<<8; - static const int NS_TRI = 1<<9; - static const int NS_GHOST = 1<<10; - static const int NS_SSA = 1<<11; - static const int NS_BYTYPE = 1<<12; + static const int NS_BIN = 1<<0; + static const int NS_MULTI = 1<<1; + static const int NS_HALF = 1<<2; + static const int NS_FULL = 1<<3; + static const int NS_2D = 1<<4; + static const int NS_3D = 1<<5; + static const int NS_NEWTON = 1<<6; + static const int NS_NEWTOFF = 1<<7; + static const int NS_ORTHO = 1<<8; + static const int NS_TRI = 1<<9; + static const int NS_GHOST = 1<<10; + static const int NS_SSA = 1<<11; + static const int NS_MULTI_TIERED = 1<<12; static const int NP_NSQ = 1<<0; static const int NP_BIN = 1<<1; @@ -281,7 +281,7 @@ namespace NeighConst { static const int NP_SKIP = 1<<22; static const int NP_HALF_FULL = 1<<23; static const int NP_OFF2ON = 1<<24; - static const int NP_BYTYPE = 1<<25; + static const int NP_MULTI_TIERED = 1<<25; } } diff --git a/src/npair_full_bytype.cpp b/src/npair_full_multi_tiered.cpp similarity index 100% rename from src/npair_full_bytype.cpp rename to src/npair_full_multi_tiered.cpp diff --git a/src/npair_full_bytype.h b/src/npair_full_multi_tiered.h similarity index 100% rename from src/npair_full_bytype.h rename to src/npair_full_multi_tiered.h diff --git a/src/npair_half_bytype_newton.cpp b/src/npair_half_multi_tiered_newton.cpp similarity index 100% rename from src/npair_half_bytype_newton.cpp rename to src/npair_half_multi_tiered_newton.cpp diff --git a/src/npair_half_bytype_newton.h b/src/npair_half_multi_tiered_newton.h similarity index 100% rename from src/npair_half_bytype_newton.h rename to src/npair_half_multi_tiered_newton.h diff --git a/src/npair_half_bytype_newton_tri.cpp b/src/npair_half_multi_tiered_newton_tri.cpp similarity index 100% rename from src/npair_half_bytype_newton_tri.cpp rename to src/npair_half_multi_tiered_newton_tri.cpp diff --git a/src/npair_half_bytype_newton_tri.h b/src/npair_half_multi_tiered_newton_tri.h similarity index 100% rename from src/npair_half_bytype_newton_tri.h rename to src/npair_half_multi_tiered_newton_tri.h diff --git a/src/npair_half_size_bytype_newtoff.cpp b/src/npair_half_size_multi_tiered_newtoff.cpp similarity index 100% rename from src/npair_half_size_bytype_newtoff.cpp rename to src/npair_half_size_multi_tiered_newtoff.cpp diff --git a/src/npair_half_size_bytype_newtoff.h b/src/npair_half_size_multi_tiered_newtoff.h similarity index 100% rename from src/npair_half_size_bytype_newtoff.h rename to src/npair_half_size_multi_tiered_newtoff.h diff --git a/src/npair_half_size_bytype_newton.cpp b/src/npair_half_size_multi_tiered_newton.cpp similarity index 100% rename from src/npair_half_size_bytype_newton.cpp rename to src/npair_half_size_multi_tiered_newton.cpp diff --git a/src/npair_half_size_bytype_newton.h b/src/npair_half_size_multi_tiered_newton.h similarity index 100% rename from src/npair_half_size_bytype_newton.h rename to src/npair_half_size_multi_tiered_newton.h diff --git a/src/npair_half_size_bytype_newton_tri.cpp b/src/npair_half_size_multi_tiered_newton_tri.cpp similarity index 100% rename from src/npair_half_size_bytype_newton_tri.cpp rename to src/npair_half_size_multi_tiered_newton_tri.cpp diff --git a/src/npair_half_size_bytype_newton_tri.h b/src/npair_half_size_multi_tiered_newton_tri.h similarity index 100% rename from src/npair_half_size_bytype_newton_tri.h rename to src/npair_half_size_multi_tiered_newton_tri.h diff --git a/src/nstencil_full_bytype_3d.cpp b/src/nstencil_full_multi_tiered_3d.cpp similarity index 100% rename from src/nstencil_full_bytype_3d.cpp rename to src/nstencil_full_multi_tiered_3d.cpp diff --git a/src/nstencil_full_bytype_3d.h b/src/nstencil_full_multi_tiered_3d.h similarity index 100% rename from src/nstencil_full_bytype_3d.h rename to src/nstencil_full_multi_tiered_3d.h diff --git a/src/nstencil_half_bytype_2d_newton.cpp b/src/nstencil_half_multi_tiered_2d_newton.cpp similarity index 100% rename from src/nstencil_half_bytype_2d_newton.cpp rename to src/nstencil_half_multi_tiered_2d_newton.cpp diff --git a/src/nstencil_half_bytype_2d_newton.h b/src/nstencil_half_multi_tiered_2d_newton.h similarity index 100% rename from src/nstencil_half_bytype_2d_newton.h rename to src/nstencil_half_multi_tiered_2d_newton.h diff --git a/src/nstencil_half_bytype_3d_newtoff.cpp b/src/nstencil_half_multi_tiered_3d_newtoff.cpp similarity index 100% rename from src/nstencil_half_bytype_3d_newtoff.cpp rename to src/nstencil_half_multi_tiered_3d_newtoff.cpp diff --git a/src/nstencil_half_bytype_3d_newtoff.h b/src/nstencil_half_multi_tiered_3d_newtoff.h similarity index 100% rename from src/nstencil_half_bytype_3d_newtoff.h rename to src/nstencil_half_multi_tiered_3d_newtoff.h diff --git a/src/nstencil_half_bytype_3d_newton.cpp b/src/nstencil_half_multi_tiered_3d_newton.cpp similarity index 100% rename from src/nstencil_half_bytype_3d_newton.cpp rename to src/nstencil_half_multi_tiered_3d_newton.cpp diff --git a/src/nstencil_half_bytype_3d_newton.h b/src/nstencil_half_multi_tiered_3d_newton.h similarity index 100% rename from src/nstencil_half_bytype_3d_newton.h rename to src/nstencil_half_multi_tiered_3d_newton.h diff --git a/src/nstencil_half_bytype_3d_newton_tri.cpp b/src/nstencil_half_multi_tiered_3d_newton_tri.cpp similarity index 100% rename from src/nstencil_half_bytype_3d_newton_tri.cpp rename to src/nstencil_half_multi_tiered_3d_newton_tri.cpp diff --git a/src/nstencil_half_bytype_3d_newton_tri.h b/src/nstencil_half_multi_tiered_3d_newton_tri.h similarity index 100% rename from src/nstencil_half_bytype_3d_newton_tri.h rename to src/nstencil_half_multi_tiered_3d_newton_tri.h From 943a187be722c94cd669a6c80da6b6c85084bb4f Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 16:39:56 -0700 Subject: [PATCH 006/542] Renamed to multi2, initial stencil edits --- src/comm.cpp | 14 +- src/comm.h | 2 +- src/comm_brick.cpp | 4 +- src/comm_tiled.cpp | 4 +- src/nbin.cpp | 138 ++---- src/nbin.h | 47 +- src/nbin_multi2.cpp | 414 ++++++++++++++++ src/{nbin_multi_tiered.h => nbin_multi2.h} | 26 +- src/nbin_multi_tiered.cpp | 464 ------------------ src/nbin_standard.cpp | 85 ++++ src/nbin_standard.h | 6 + src/neighbor.cpp | 20 +- src/neighbor.h | 8 +- ...ewton.cpp => npair_half_multi2_newton.cpp} | 0 ...ed_newton.h => npair_half_multi2_newton.h} | 0 ...i.cpp => npair_half_multi2_newton_tri.cpp} | 0 ...n_tri.h => npair_half_multi2_newton_tri.h} | 0 ...cpp => npair_half_size_multi2_newtoff.cpp} | 0 ...off.h => npair_half_size_multi2_newtoff.h} | 0 ....cpp => npair_half_size_multi2_newton.cpp} | 0 ...wton.h => npair_half_size_multi2_newton.h} | 0 ... => npair_half_size_multi2_newton_tri.cpp} | 0 ....h => npair_half_size_multi2_newton_tri.h} | 0 src/nstencil.cpp | 250 +++++++--- src/nstencil.h | 30 +- ...red_3d.cpp => nstencil_full_multi2_3d.cpp} | 24 +- ..._tiered_3d.h => nstencil_full_multi2_3d.h} | 11 +- ...cpp => nstencil_half_multi2_2d_newton.cpp} | 0 ...ton.h => nstencil_half_multi2_2d_newton.h} | 0 ...pp => nstencil_half_multi2_3d_newtoff.cpp} | 0 ...ff.h => nstencil_half_multi2_3d_newtoff.h} | 0 ...cpp => nstencil_half_multi2_3d_newton.cpp} | 0 ...ton.h => nstencil_half_multi2_3d_newton.h} | 0 ...=> nstencil_half_multi2_3d_newton_tri.cpp} | 0 ...h => nstencil_half_multi2_3d_newton_tri.h} | 0 35 files changed, 845 insertions(+), 702 deletions(-) create mode 100644 src/nbin_multi2.cpp rename src/{nbin_multi_tiered.h => nbin_multi2.h} (75%) delete mode 100644 src/nbin_multi_tiered.cpp rename src/{npair_half_multi_tiered_newton.cpp => npair_half_multi2_newton.cpp} (100%) rename src/{npair_half_multi_tiered_newton.h => npair_half_multi2_newton.h} (100%) rename src/{npair_half_multi_tiered_newton_tri.cpp => npair_half_multi2_newton_tri.cpp} (100%) rename src/{npair_half_multi_tiered_newton_tri.h => npair_half_multi2_newton_tri.h} (100%) rename src/{npair_half_size_multi_tiered_newtoff.cpp => npair_half_size_multi2_newtoff.cpp} (100%) rename src/{npair_half_size_multi_tiered_newtoff.h => npair_half_size_multi2_newtoff.h} (100%) rename src/{npair_half_size_multi_tiered_newton.cpp => npair_half_size_multi2_newton.cpp} (100%) rename src/{npair_half_size_multi_tiered_newton.h => npair_half_size_multi2_newton.h} (100%) rename src/{npair_half_size_multi_tiered_newton_tri.cpp => npair_half_size_multi2_newton_tri.cpp} (100%) rename src/{npair_half_size_multi_tiered_newton_tri.h => npair_half_size_multi2_newton_tri.h} (100%) rename src/{nstencil_full_multi_tiered_3d.cpp => nstencil_full_multi2_3d.cpp} (90%) rename src/{nstencil_full_multi_tiered_3d.h => nstencil_full_multi2_3d.h} (83%) rename src/{nstencil_half_multi_tiered_2d_newton.cpp => nstencil_half_multi2_2d_newton.cpp} (100%) rename src/{nstencil_half_multi_tiered_2d_newton.h => nstencil_half_multi2_2d_newton.h} (100%) rename src/{nstencil_half_multi_tiered_3d_newtoff.cpp => nstencil_half_multi2_3d_newtoff.cpp} (100%) rename src/{nstencil_half_multi_tiered_3d_newtoff.h => nstencil_half_multi2_3d_newtoff.h} (100%) rename src/{nstencil_half_multi_tiered_3d_newton.cpp => nstencil_half_multi2_3d_newton.cpp} (100%) rename src/{nstencil_half_multi_tiered_3d_newton.h => nstencil_half_multi2_3d_newton.h} (100%) rename src/{nstencil_half_multi_tiered_3d_newton_tri.cpp => nstencil_half_multi2_3d_newton_tri.cpp} (100%) rename src/{nstencil_half_multi_tiered_3d_newton_tri.h => nstencil_half_multi2_3d_newton_tri.h} (100%) diff --git a/src/comm.cpp b/src/comm.cpp index b6f905d9a2..ad0c836432 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -76,7 +76,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) grid2proc = nullptr; xsplit = ysplit = zsplit = nullptr; rcbnew = 0; - multi_tiered = 0; + multi2 = 0; // use of OpenMP threads // query OpenMP for number of threads/process set by user at run-time @@ -242,9 +242,9 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; - // Can't used multi/tiered communication with Newton off - if (force->newton == 0 && multi_tiered) - error->all(FLERR,"Cannot use multi/tiered communication with Newton off"); + // Can't used multi2 communication with Newton off + if (force->newton == 0 && multi2) + error->all(FLERR,"Cannot use multi2 communication with Newton off"); } /* ---------------------------------------------------------------------- @@ -331,10 +331,10 @@ void Comm::modify_params(int narg, char **arg) for (i=nlo; i<=nhi; ++i) cutusermulti[i] = cut; iarg += 3; - } else if (strcmp(arg[iarg],"cutoff/tiered") == 0) { + } else if (strcmp(arg[iarg],"cutoff/multi2") == 0) { if (mode == Comm::SINGLE) - error->all(FLERR,"Use cutoff/tiered in mode multi only"); - multi_tiered = 1; + error->all(FLERR,"Use cutoff/multi2 in mode multi only"); + multi2 = 1; iarg += 1; } else if (strcmp(arg[iarg],"vel") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal comm_modify command"); diff --git a/src/comm.h b/src/comm.h index 037eaab348..d8d842ace5 100644 --- a/src/comm.h +++ b/src/comm.h @@ -161,7 +161,7 @@ class Comm : protected Pointers { int (*)(int, char *, int &, int *&, char *&, void *), int, char *&, int, void *, int); void rendezvous_stats(int, int, int, int, int, int, bigint); - int multi_tiered; // 1 if multi cutoff is intra-type cutoff + int multi2; // 1 if multi cutoff is intra-type cutoff public: enum{MULTIPLE}; diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index c9fd00e9f5..981e86c2a4 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -174,8 +174,8 @@ void CommBrick::setup() cutghost[0] = cutghost[1] = cutghost[2] = cut; if (mode == Comm::MULTI) { - if (multi_tiered) { - // If using tiered binlists, use the itype-itype interaction distance for communication + if (multi2) { + // If using multi2 binlists, use the itype-itype interaction distance for communication double **cutneighsq = neighbor->cutneighsq; for (i = 1; i <= ntypes; i++) { cut = 0.0; diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index b82d54b3ab..16ae86b4a3 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -176,8 +176,8 @@ void CommTiled::setup() if (mode == Comm::MULTI) { double cut; - if (multi_tiered) { - // If using tiered binlists, use the itype-itype interaction distance for communication + if (multi2) { + // If using multi2 binlists, use the itype-itype interaction distance for communication double **cutneighsq = neighbor->cutneighsq; for (i = 1; i <= ntypes; i++) { cut = 0.0; diff --git a/src/nbin.cpp b/src/nbin.cpp index 64ae7e7b83..4ab3270287 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -31,6 +31,21 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) bins = nullptr; atom2bin = nullptr; + nbinx_tiered = nullptr; nbiny_tiered = nullptr; nbinz_tiered = nullptr; + mbins_tiered = nullptr; + mbinx_tiered = nullptr; mbiny_tiered = nullptr, mbinz_tiered = nullptr; + mbinxlo_tiered = nullptr; + mbinylo_tiered = nullptr; + mbinzlo_tiered = nullptr; + binsizex_tiered = nullptr; binsizey_tiered = nullptr; binsizez_tiered = nullptr; + bininvx_tiered = nullptr; bininvy_tiered = nullptr; bininvz_tiered = nullptr; + binhead_tiered = nullptr; + bins_tiered = nullptr; + atom2bin_tiered = nullptr; + maxbins_tiered = nullptr; + + maxtypes = 0; + neighbor->last_setup_bins = -1; // geometry settings @@ -48,6 +63,37 @@ NBin::~NBin() memory->destroy(binhead); memory->destroy(bins); memory->destroy(atom2bin); + + if (!bins_tiered) return; + + memory->destroy(nbinx_tiered); + memory->destroy(nbiny_tiered); + memory->destroy(nbinz_tiered); + memory->destroy(mbins_tiered); + memory->destroy(mbinx_tiered); + memory->destroy(mbiny_tiered); + memory->destroy(mbinz_tiered); + memory->destroy(mbinxlo_tiered); + memory->destroy(mbinylo_tiered); + memory->destroy(mbinzlo_tiered); + + memory->destroy(binsizex_tiered); + memory->destroy(binsizey_tiered); + memory->destroy(binsizez_tiered); + memory->destroy(bininvx_tiered); + memory->destroy(bininvy_tiered); + memory->destroy(bininvz_tiered); + + for (int n = 1; n <= maxtypes; n++) { + memory->destroy(binhead_tiered[n]); + memory->destroy(bins_tiered[n]); + memory->destroy(atom2bin_tiered[n]); + } + delete [] binhead_tiered; + delete [] bins_tiered; + delete [] atom2bin_tiered; + + memory->destroy(maxbins_tiered); } /* ---------------------------------------------------------------------- */ @@ -77,95 +123,3 @@ void NBin::copy_neighbor_info() if (cutoff_custom > 0.0) cutneighmax = cutoff_custom; } - -/* ---------------------------------------------------------------------- - setup for bin_atoms() -------------------------------------------------------------------------- */ - -void NBin::bin_atoms_setup(int nall) -{ - // binhead = per-bin vector, mbins in length - // add 1 bin for USER-INTEL package - - if (mbins > maxbin) { - maxbin = mbins; - memory->destroy(binhead); - memory->create(binhead,maxbin,"neigh:binhead"); - } - - // bins and atom2bin = per-atom vectors - // for both local and ghost atoms - - if (nall > maxatom) { - maxatom = nall; - memory->destroy(bins); - memory->create(bins,maxatom,"neigh:bins"); - memory->destroy(atom2bin); - memory->create(atom2bin,maxatom,"neigh:atom2bin"); - } -} - -/* ---------------------------------------------------------------------- - convert atom coords into local bin # - for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo - take special care to insure ghosts are in correct bins even w/ roundoff - hi ghost atoms = nbin,nbin+1,etc - owned atoms = 0 to nbin-1 - lo ghost atoms = -1,-2,etc - this is necessary so that both procs on either side of PBC - treat a pair of atoms straddling the PBC in a consistent way - for triclinic, doesn't matter since stencil & neigh list built differently -------------------------------------------------------------------------- */ - -int NBin::coord2bin(double *x) -{ - int ix,iy,iz; - - if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) - error->one(FLERR,"Non-numeric positions - simulation unstable"); - - if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx) + nbinx; - else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx); - ix = MIN(ix,nbinx-1); - } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx) - 1; - - if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy) + nbiny; - else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy); - iy = MIN(iy,nbiny-1); - } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy) - 1; - - if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz) + nbinz; - else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz); - iz = MIN(iz,nbinz-1); - } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz) - 1; - - return (iz-mbinzlo)*mbiny*mbinx + (iy-mbinylo)*mbinx + (ix-mbinxlo); -} -/* ---------------------------------------------------------------------- - to be overridden by NBinType - ------------------------------------------------------------------------- */ - -int NBin::coord2bin(double * x, int itype) -{ - error->all(FLERR,"coord2bin(x, itype) not available.\n"); - return -1; -} - -/* ---------------------------------------------------------------------- */ - -double NBin::memory_usage() -{ - double bytes = 0; - bytes += maxbin*sizeof(int); - bytes += 2*maxatom*sizeof(int); - return bytes; -} diff --git a/src/nbin.h b/src/nbin.h index 96cc7eac64..33b93ef79c 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -22,6 +22,9 @@ class NBin : protected Pointers { public: int istyle; // 1-N index into binnames bigint last_bin; // last timestep atoms were binned + double cutoff_custom; // cutoff set by requestor + + // Variables for NBinStandard int nbinx,nbiny,nbinz; // # of global bins int mbins; // # of local bins and offset on this proc @@ -35,35 +38,32 @@ class NBin : protected Pointers { int *bins; // index of next atom in same bin int *atom2bin; // bin assignment for each atom (local+ghost) - double cutoff_custom; // cutoff set by requestor - - // Analogues for NBinType - int * nbinx_type, * nbiny_type, * nbinz_type; - int * mbins_type; - int * mbinx_type, * mbiny_type, * mbinz_type; - int * mbinxlo_type, * mbinylo_type, * mbinzlo_type; - double * binsizex_type, * binsizey_type, * binsizez_type; - double * bininvx_type, * bininvy_type, * bininvz_type; - - int ** binhead_type; - int ** bins_type; - int ** atom2bin_type; + // Analogues for NBinMultimulti2 + + int *nbinx_multi2, *nbiny_multi2, *nbinz_multi2; + int *mbins_multi2; + int *mbinx_multi2, *mbiny_multi2, *mbinz_multi2; + int *mbinxlo_multi2, *mbinylo_multi2, *mbinzlo_multi2; + double *binsizex_multi2, *binsizey_multi2, *binsizez_multi2; + double *bininvx_multi2, *bininvy_multi2, *bininvz_multi2; + int **binhead_multi2; + int **bins_multi2; + int **atom2bin_multi2; + NBin(class LAMMPS *); ~NBin(); void post_constructor(class NeighRequest *); virtual void copy_neighbor_info(); - virtual void bin_atoms_setup(int); - double memory_usage(); + virtual void bin_atoms_setup(int) = 0; virtual void setup_bins(int) = 0; virtual void bin_atoms() = 0; + virtual double memory_usage() {return 0.0;} // Kokkos package int kokkos; // 1 if class stores Kokkos data - // For NBinType - virtual int coord2bin(double *, int); protected: @@ -81,12 +81,23 @@ class NBin : protected Pointers { int dimension; int triclinic; - int maxbin; // size of binhead array + // data for standard NBin + int maxatom; // size of bins array + // data for standard NBin + + int maxbin; // size of binhead array + + // data for multi/multi2 NBin + + int maxtypes; // size of multi2 arrays + int * maxbins_multi2; // size of 2nd dimension of binhead_multi2 array + // methods int coord2bin(double *); + int coord2bin(double *, int); }; } diff --git a/src/nbin_multi2.cpp b/src/nbin_multi2.cpp new file mode 100644 index 0000000000..7a87ba940c --- /dev/null +++ b/src/nbin_multi2.cpp @@ -0,0 +1,414 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nbin_multi2.h" +#include "neighbor.h" +#include "atom.h" +#include "group.h" +#include "domain.h" +#include "comm.h" +#include "update.h" +#include "error.h" +#include "memory.h" + +using namespace LAMMPS_NS; + +#define SMALL 1.0e-6 +#define CUT2BIN_RATIO 100 + +/* ---------------------------------------------------------------------- */ + +NBinMulti2::NBinMulti2(LAMMPS *lmp) : NBin(lmp) {} + +/* ---------------------------------------------------------------------- + setup for bin_atoms() +------------------------------------------------------------------------- */ + +void NBinMulti2::bin_atoms_setup(int nall) +{ + // binhead_multi2[n] = per-bin vector mbins in length mbins_multi2[n] + + for (int n = 1; n <= maxtypes; n++) { + if (mbins_multi2[n] > maxbins_multi2[n]) { + maxbins_multi2[n] = mbins_multi2[n]; + memory->destroy(binhead_multi2[n]); + memory->create(binhead_multi2[n], mbins_multi2[n], "neigh:mbins_multi2"); + } + } + + // bins_multi2[n] and atom2bin_multi2[n] = per-atom vectors + // for both local and ghost atoms + + if (nall > maxatom) { + maxatom = nall; + for (int n = 1; n <= maxtypes; n++) { + memory->destroy(bins_multi2[n]); + memory->destroy(atom2bin_multi2[n]); + memory->create(bins_multi2[n], maxatom, "neigh:bin_multi2"); + memory->create(atom2bin_multi2[n], maxatom, "neigh:atom2bin_multi2"); + } + } +} + +/* --------------------------------------------------------------------- + Identify index of type with smallest cutoff +------------------------------------------------------------------------ */ + +int NBinMulti2::itype_min() { + + int itypemin = 1; + double ** cutneighsq; + + cutneighsq = neighbor->cutneighsq; + + for (int n = 1; n <= atom->ntypes; n++) { + if (cutneighsq[n][n] < cutneighsq[itypemin][itypemin]) { + itypemin = n; + } + } + + return itypemin; +} + +/* ---------------------------------------------------------------------- + setup neighbor binning geometry + ---------------------------------------------------------------------- */ + +void NBinMulti2::setup_bins(int style) +{ + int n; + int itypemin; + + // Initialize arrays + + if (atom->ntypes > maxtypes) { + + // Clear any/all memory for existing types + + for (n = 1; n <= maxtypes; n++) { + memory->destroy(atom2bin_multi2[n]); + memory->destroy(binhead_multi2[n]); + memory->destroy(bins_multi2[n]); + } + delete [] atom2bin_multi2; + delete [] binhead_multi2; + delete [] bins_multi2; + + // Realloacte at updated maxtypes + + maxtypes = atom->ntypes; + + atom2bin_multi2 = new int*[maxtypes+1](); + binhead_multi2 = new int*[maxtypes+1](); + bins_multi2 = new int*[maxtypes+1](); + + memory->destroy(nbinx_multi2); + memory->destroy(nbiny_multi2); + memory->destroy(nbinz_multi2); + memory->create(nbinx_multi2, maxtypes+1, "neigh:nbinx_multi2"); + memory->create(nbiny_multi2, maxtypes+1, "neigh:nbiny_multi2"); + memory->create(nbinz_multi2, maxtypes+1, "neigh:nbinz_multi2"); + + memory->destroy(mbins_multi2); + memory->destroy(mbinx_multi2); + memory->destroy(mbiny_multi2); + memory->destroy(mbinz_multi2); + memory->create(mbins_multi2, maxtypes+1, "neigh:mbins_multi2"); + memory->create(mbinx_multi2, maxtypes+1, "neigh:mbinx_multi2"); + memory->create(mbiny_multi2, maxtypes+1, "neigh:mbiny_multi2"); + memory->create(mbinz_multi2, maxtypes+1, "neigh:mbinz_multi2"); + + memory->destroy(mbinxlo_multi2); + memory->destroy(mbinylo_multi2); + memory->destroy(mbinzlo_multi2); + memory->create(mbinxlo_multi2, maxtypes+1, "neigh:mbinxlo_multi2"); + memory->create(mbinylo_multi2, maxtypes+1, "neigh:mbinylo_multi2"); + memory->create(mbinzlo_multi2, maxtypes+1, "neigh:mbinzlo_multi2"); + + memory->destroy(binsizex_multi2); + memory->destroy(binsizey_multi2); + memory->destroy(binsizez_multi2); + memory->create(binsizex_multi2, maxtypes+1, "neigh:binsizex_multi2"); + memory->create(binsizey_multi2, maxtypes+1, "neigh:binsizey_multi2"); + memory->create(binsizez_multi2, maxtypes+1, "neigh:binsizez_multi2"); + + memory->destroy(bininvx_multi2); + memory->destroy(bininvy_multi2); + memory->destroy(bininvz_multi2); + memory->create(bininvx_multi2, maxtypes+1, "neigh:bininvx_multi2"); + memory->create(bininvy_multi2, maxtypes+1, "neigh:bininvy_multi2"); + memory->create(bininvz_multi2, maxtypes+1, "neigh:bininvz_multi2"); + + memory->destroy(maxbins_multi2); + memory->create(maxbins_multi2, maxtypes+1, "neigh:maxbins_multi2"); + // make sure reallocation occurs in bin_atoms_setup() + for (n = 1; n <= maxtypes; n++) { + maxbins_multi2[n] = 0; + } + maxatom = 0; + } + + itypemin = itype_min(); + + // bbox = size of bbox of entire domain + // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost + // for triclinic: + // bbox bounds all 8 corners of tilted box + // subdomain is in lamda coords + // include dimension-dependent extension via comm->cutghost + // domain->bbox() converts lamda extent to box coords and computes bbox + + double bbox[3],bsubboxlo[3],bsubboxhi[3]; + double *cutghost = comm->cutghost; + + if (triclinic == 0) { + bsubboxlo[0] = domain->sublo[0] - cutghost[0]; + bsubboxlo[1] = domain->sublo[1] - cutghost[1]; + bsubboxlo[2] = domain->sublo[2] - cutghost[2]; + bsubboxhi[0] = domain->subhi[0] + cutghost[0]; + bsubboxhi[1] = domain->subhi[1] + cutghost[1]; + bsubboxhi[2] = domain->subhi[2] + cutghost[2]; + } else { + double lo[3],hi[3]; + lo[0] = domain->sublo_lamda[0] - cutghost[0]; + lo[1] = domain->sublo_lamda[1] - cutghost[1]; + lo[2] = domain->sublo_lamda[2] - cutghost[2]; + hi[0] = domain->subhi_lamda[0] + cutghost[0]; + hi[1] = domain->subhi_lamda[1] + cutghost[1]; + hi[2] = domain->subhi_lamda[2] + cutghost[2]; + domain->bbox(lo,hi,bsubboxlo,bsubboxhi); + } + + bbox[0] = bboxhi[0] - bboxlo[0]; + bbox[1] = bboxhi[1] - bboxlo[1]; + bbox[2] = bboxhi[2] - bboxlo[2]; + + // For each type... + + for (n = 1; n <= atom->ntypes; n++) { + // binsize_user only relates to smallest type + // optimal bin size is roughly 1/2 the type-type cutoff + // special case of all cutoffs = 0.0, binsize = box size + + double binsize_optimal; + if (n == itypemin && binsizeflag) binsize_optimal = binsize_user; + else binsize_optimal = 0.5*sqrt(neighbor->cutneighsq[n][n]); + if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; + double binsizeinv = 1.0/binsize_optimal; + + // test for too many global bins in any dimension due to huge global domain + + if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || + bbox[2]*binsizeinv > MAXSMALLINT) + error->all(FLERR,"Domain too large for neighbor bins"); + + // create actual bins + // always have one bin even if cutoff > bbox + // for 2d, nbinz_multi2[n] = 1 + + nbinx_multi2[n] = static_cast (bbox[0]*binsizeinv); + nbiny_multi2[n] = static_cast (bbox[1]*binsizeinv); + if (dimension == 3) nbinz_multi2[n] = static_cast (bbox[2]*binsizeinv); + else nbinz_multi2[n] = 1; + + if (nbinx_multi2[n] == 0) nbinx_multi2[n] = 1; + if (nbiny_multi2[n] == 0) nbiny_multi2[n] = 1; + if (nbinz_multi2[n] == 0) nbinz_multi2[n] = 1; + + // compute actual bin size for nbins to fit into box exactly + // error if actual bin size << cutoff, since will create a zillion bins + // this happens when nbin = 1 and box size << cutoff + // typically due to non-periodic, flat system in a particular dim + // in that extreme case, should use NSQ not BIN neighbor style + + binsizex_multi2[n] = bbox[0]/nbinx_multi2[n]; + binsizey_multi2[n] = bbox[1]/nbiny_multi2[n]; + binsizez_multi2[n] = bbox[2]/nbinz_multi2[n]; + + bininvx_multi2[n] = 1.0 / binsizex_multi2[n]; + bininvy_multi2[n] = 1.0 / binsizey_multi2[n]; + bininvz_multi2[n] = 1.0 / binsizez_multi2[n]; + + if (binsize_optimal*bininvx_multi2[n] > CUT2BIN_RATIO || + binsize_optimal*bininvy_multi2[n] > CUT2BIN_RATIO || + binsize_optimal*bininvz_multi2[n] > CUT2BIN_RATIO) + error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); + + // mbinlo/hi = lowest and highest global bins my ghost atoms could be in + // coord = lowest and highest values of coords for my ghost atoms + // static_cast(-1.5) = -1, so subract additional -1 + // add in SMALL for round-off safety + + int mbinxhi,mbinyhi,mbinzhi; + double coord; + + coord = bsubboxlo[0] - SMALL*bbox[0]; + mbinxlo_multi2[n] = static_cast ((coord-bboxlo[0])*bininvx_multi2[n]); + if (coord < bboxlo[0]) mbinxlo_multi2[n] = mbinxlo_multi2[n] - 1; + coord = bsubboxhi[0] + SMALL*bbox[0]; + mbinxhi = static_cast ((coord-bboxlo[0])*bininvx_multi2[n]); + + coord = bsubboxlo[1] - SMALL*bbox[1]; + mbinylo_multi2[n] = static_cast ((coord-bboxlo[1])*bininvy_multi2[n]); + if (coord < bboxlo[1]) mbinylo_multi2[n] = mbinylo_multi2[n] - 1; + coord = bsubboxhi[1] + SMALL*bbox[1]; + mbinyhi = static_cast ((coord-bboxlo[1])*bininvy_multi2[n]); + + if (dimension == 3) { + coord = bsubboxlo[2] - SMALL*bbox[2]; + mbinzlo_multi2[n] = static_cast ((coord-bboxlo[2])*bininvz_multi2[n]); + if (coord < bboxlo[2]) mbinzlo_multi2[n] = mbinzlo_multi2[n] - 1; + coord = bsubboxhi[2] + SMALL*bbox[2]; + mbinzhi = static_cast ((coord-bboxlo[2])*bininvz_multi2[n]); + } + + // extend bins by 1 to insure stencil extent is included + // for 2d, only 1 bin in z + + mbinxlo_multi2[n] = mbinxlo_multi2[n] - 1; + mbinxhi = mbinxhi + 1; + mbinx_multi2[n] = mbinxhi - mbinxlo_multi2[n] + 1; + + mbinylo_multi2[n] = mbinylo_multi2[n] - 1; + mbinyhi = mbinyhi + 1; + mbiny_multi2[n] = mbinyhi - mbinylo_multi2[n] + 1; + + if (dimension == 3) { + mbinzlo_multi2[n] = mbinzlo_multi2[n] - 1; + mbinzhi = mbinzhi + 1; + } else mbinzlo_multi2[n] = mbinzhi = 0; + mbinz_multi2[n] = mbinzhi - mbinzlo_multi2[n] + 1; + + bigint bbin = ((bigint) mbinx_multi2[n]) + * ((bigint) mbiny_multi2[n]) * ((bigint) mbinz_multi2[n]) + 1; + if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); + mbins_multi2[n] = bbin; + } + +} + +/* ---------------------------------------------------------------------- + bin owned and ghost atoms by type +------------------------------------------------------------------------- */ + +void NBinMulti2::bin_atoms() +{ + int i,ibin,n; + + last_bin = update->ntimestep; + for (n = 1; n <= maxtypes; n++) { + for (i = 0; i < mbins_multi2[n]; i++) binhead_multi2[n][i] = -1; + } + + // bin in reverse order so linked list will be in forward order + // also puts ghost atoms at end of list, which is necessary + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + + if (includegroup) { + int bitmask = group->bitmask[includegroup]; + for (i = nall-1; i >= nlocal; i--) { + if (mask[i] & bitmask) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_multi2[n][i] = ibin; + bins_multi2[n][i] = binhead_multi2[n][ibin]; + binhead_multi2[n][ibin] = i; + } + } + for (i = atom->nfirst-1; i >= 0; i--) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_multi2[n][i] = ibin; + bins_multi2[n][i] = binhead_multi2[n][ibin]; + binhead_multi2[n][ibin] = i; + } + } else { + for (i = nall-1; i >= 0; i--) { + n = type[i]; + ibin = coord2bin(x[i], n); + atom2bin_multi2[n][i] = ibin; + bins_multi2[n][i] = binhead_multi2[n][ibin]; + binhead_multi2[n][ibin] = i; + } + } +} + +/* ---------------------------------------------------------------------- + convert atom coords into local bin # for a particular type + for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo + take special care to insure ghosts are in correct bins even w/ roundoff + hi ghost atoms = nbin,nbin+1,etc + owned atoms = 0 to nbin-1 + lo ghost atoms = -1,-2,etc + this is necessary so that both procs on either side of PBC + treat a pair of atoms straddling the PBC in a consistent way + for triclinic, doesn't matter since stencil & neigh list built differently +------------------------------------------------------------------------- */ + +int NBinMulti2::coord2bin(double *x, int it) +{ + int ix,iy,iz; + int ibin; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); + ix = MIN(ix,nbinx_multi2[it]-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); + iy = MIN(iy,nbiny_multi2[it]-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); + iz = MIN(iz,nbinz_multi2[it]-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; + + + ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] + + (iy-mbinylo_multi2[it])*mbinx_multi2[it] + + (ix-mbinxlo_multi2[it]); + return ibin; +} + + +/* ---------------------------------------------------------------------- */ + +double NBinMulti2::memory_usage() +{ + double bytes = 0; + + for (int m = 1; m < maxtypes; m++) { + bytes += maxbins_multi2[m]*sizeof(int); + bytes += 2*maxatom*sizeof(int); + } + return bytes; +} diff --git a/src/nbin_multi_tiered.h b/src/nbin_multi2.h similarity index 75% rename from src/nbin_multi_tiered.h rename to src/nbin_multi2.h index ad2b95ef4b..8cca7b1023 100644 --- a/src/nbin_multi_tiered.h +++ b/src/nbin_multi2.h @@ -13,36 +13,32 @@ #ifdef NBIN_CLASS -NBinStyle(bytype, - NBinBytype, - NB_BYTYPE) +NBinStyle(multi2, + NBinMulti2, + NB_MULTI2) #else -#ifndef LMP_NBIN_BYTYPE_H -#define LMP_NBIN_BYTYPE_H +#ifndef LMP_NBIN_MULTI2_H +#define LMP_NBIN_MULTI2_H #include "nbin.h" namespace LAMMPS_NS { -class NBinBytype : public NBin { +class NBinMulti2 : public NBin { public: - NBinBytype(class LAMMPS *); - ~NBinBytype(); + NBinMulti2(class LAMMPS *); + ~NBinMulti2() {} void bin_atoms_setup(int); void setup_bins(int); - void bin_atoms(); - - int coord2bin(double *x, int itype); - bigint memory_usage(); + void bin_atoms(); + double memory_usage(); private: - int maxtypes; - int * maxbins_type; - void setup_types(); + int coord2bin(double *, int); int itype_min(); }; diff --git a/src/nbin_multi_tiered.cpp b/src/nbin_multi_tiered.cpp deleted file mode 100644 index 70732a4b97..0000000000 --- a/src/nbin_multi_tiered.cpp +++ /dev/null @@ -1,464 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nbin_bytype.h" -#include "neighbor.h" -#include "atom.h" -#include "group.h" -#include "domain.h" -#include "comm.h" -#include "update.h" -#include "error.h" -#include "memory.h" - -using namespace LAMMPS_NS; - -#define SMALL 1.0e-6 -#define CUT2BIN_RATIO 100 - -/* ---------------------------------------------------------------------- */ - -NBinBytype::NBinBytype(LAMMPS *lmp) : NBin(lmp) { - - nbinx_type = NULL; nbiny_type = NULL; nbinz_type = NULL; - mbins_type = NULL; - mbinx_type = NULL; mbiny_type = NULL, mbinz_type = NULL; - mbinxlo_type = NULL; - mbinylo_type = NULL; - mbinzlo_type = NULL; - binsizex_type = NULL; binsizey_type = NULL; binsizez_type = NULL; - bininvx_type = NULL; bininvy_type = NULL; bininvz_type = NULL; - binhead_type = NULL; - bins_type = NULL; - atom2bin_type = NULL; - maxtypes = 0; - maxbins_type = NULL; -} - -NBinBytype::~NBinBytype() { - - memory->destroy(nbinx_type); - memory->destroy(nbiny_type); - memory->destroy(nbinz_type); - memory->destroy(mbins_type); - memory->destroy(mbinx_type); - memory->destroy(mbiny_type); - memory->destroy(mbinz_type); - memory->destroy(mbinxlo_type); - memory->destroy(mbinylo_type); - memory->destroy(mbinzlo_type); - - memory->destroy(binsizex_type); - memory->destroy(binsizey_type); - memory->destroy(binsizez_type); - memory->destroy(bininvx_type); - memory->destroy(bininvy_type); - memory->destroy(bininvz_type); - - for (int n = 1; n <= maxtypes; n++) { - memory->destroy(binhead_type[n]); - memory->destroy(bins_type[n]); - memory->destroy(atom2bin_type[n]); - } - delete [] binhead_type; - delete [] bins_type; - delete [] atom2bin_type; - - memory->destroy(maxbins_type); -} - -/* ---------------------------------------------------------------------- - arrange storage for types - allows ntypes to change, but not currently expected after initialisation - ------------------------------------------------------------------------- */ - -void NBinBytype::setup_types() { - - int n; - - if (atom->ntypes > maxtypes) { - - // Clear any/all memory for existing types - - for (n = 1; n <= maxtypes; n++) { - memory->destroy(atom2bin_type[n]); - memory->destroy(binhead_type[n]); - memory->destroy(bins_type[n]); - } - delete [] atom2bin_type; - delete [] binhead_type; - delete [] bins_type; - - // Realloacte at updated maxtypes - - maxtypes = atom->ntypes; - - atom2bin_type = new int*[maxtypes+1](); - binhead_type = new int*[maxtypes+1](); - bins_type = new int*[maxtypes+1](); - - memory->destroy(nbinx_type); - memory->destroy(nbiny_type); - memory->destroy(nbinz_type); - memory->create(nbinx_type, maxtypes+1, "nBinType:nbinx_type"); - memory->create(nbiny_type, maxtypes+1, "nBinType:nbiny_type"); - memory->create(nbinz_type, maxtypes+1, "nBinType:nbinz_type"); - - memory->destroy(mbins_type); - memory->destroy(mbinx_type); - memory->destroy(mbiny_type); - memory->destroy(mbinz_type); - memory->create(mbins_type, maxtypes+1, "nBinType:mbins_type"); - memory->create(mbinx_type, maxtypes+1, "nBinType:mbinx_type"); - memory->create(mbiny_type, maxtypes+1, "nBinType:mbiny_type"); - memory->create(mbinz_type, maxtypes+1, "nBinType:mbinz_type"); - - memory->destroy(mbinxlo_type); - memory->destroy(mbinylo_type); - memory->destroy(mbinzlo_type); - memory->create(mbinxlo_type, maxtypes+1, "nBinType:mbinxlo_type"); - memory->create(mbinylo_type, maxtypes+1, "nBinType:mbinylo_type"); - memory->create(mbinzlo_type, maxtypes+1, "nBinType:mbinzlo_type"); - - memory->destroy(binsizex_type); - memory->destroy(binsizey_type); - memory->destroy(binsizez_type); - memory->create(binsizex_type, maxtypes+1, "nBinType:binsizex_type"); - memory->create(binsizey_type, maxtypes+1, "nBinType:binsizey_type"); - memory->create(binsizez_type, maxtypes+1, "nBinType:binsizez_type"); - - memory->destroy(bininvx_type); - memory->destroy(bininvy_type); - memory->destroy(bininvz_type); - memory->create(bininvx_type, maxtypes+1, "nBinType:bininvx_type"); - memory->create(bininvy_type, maxtypes+1, "nBinType:bininvy_type"); - memory->create(bininvz_type, maxtypes+1, "nBinType:bininvz_type"); - - memory->destroy(maxbins_type); - memory->create(maxbins_type, maxtypes+1, "nBinType:maxbins_type"); - // make sure reallocation occurs in bin_atoms_setup() - for (n = 1; n <= maxtypes; n++) { - maxbins_type[n] = 0; - } - maxatom = 0; - } - -} - -/* --------------------------------------------------------------------- - identify index of type with smallest cutoff - --------------------------------------------------------------------- */ - -int NBinBytype::itype_min() { - - int itypemin = 1; - double ** cutneighsq; - - cutneighsq = neighbor->cutneighsq; - - for (int n = 1; n <= atom->ntypes; n++) { - if (cutneighsq[n][n] < cutneighsq[itypemin][itypemin]) { - itypemin = n; - } - } - - return itypemin; -} - -/* ---------------------------------------------------------------------- - setup neighbor binning geometry - ---------------------------------------------------------------------- */ - -void NBinBytype::setup_bins(int style) -{ - int n; - int itypemin; - - setup_types(); - itypemin = itype_min(); - - // bbox = size of bbox of entire domain - // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost - // for triclinic: - // bbox bounds all 8 corners of tilted box - // subdomain is in lamda coords - // include dimension-dependent extension via comm->cutghost - // domain->bbox() converts lamda extent to box coords and computes bbox - - double bbox[3],bsubboxlo[3],bsubboxhi[3]; - double *cutghost = comm->cutghost; - - if (triclinic == 0) { - bsubboxlo[0] = domain->sublo[0] - cutghost[0]; - bsubboxlo[1] = domain->sublo[1] - cutghost[1]; - bsubboxlo[2] = domain->sublo[2] - cutghost[2]; - bsubboxhi[0] = domain->subhi[0] + cutghost[0]; - bsubboxhi[1] = domain->subhi[1] + cutghost[1]; - bsubboxhi[2] = domain->subhi[2] + cutghost[2]; - } else { - double lo[3],hi[3]; - lo[0] = domain->sublo_lamda[0] - cutghost[0]; - lo[1] = domain->sublo_lamda[1] - cutghost[1]; - lo[2] = domain->sublo_lamda[2] - cutghost[2]; - hi[0] = domain->subhi_lamda[0] + cutghost[0]; - hi[1] = domain->subhi_lamda[1] + cutghost[1]; - hi[2] = domain->subhi_lamda[2] + cutghost[2]; - domain->bbox(lo,hi,bsubboxlo,bsubboxhi); - } - - bbox[0] = bboxhi[0] - bboxlo[0]; - bbox[1] = bboxhi[1] - bboxlo[1]; - bbox[2] = bboxhi[2] - bboxlo[2]; - - // For each type... - - for (n = 1; n <= atom->ntypes; n++) { - // binsize_user only relates to smallest type - // optimal bin size is roughly 1/2 the type-type cutoff - // special case of all cutoffs = 0.0, binsize = box size - - double binsize_optimal; - if (n == itypemin && binsizeflag) binsize_optimal = binsize_user; - else binsize_optimal = 0.5*sqrt(neighbor->cutneighsq[n][n]); - if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; - double binsizeinv = 1.0/binsize_optimal; - - // test for too many global bins in any dimension due to huge global domain - - if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || - bbox[2]*binsizeinv > MAXSMALLINT) - error->all(FLERR,"Domain too large for neighbor bins"); - - // create actual bins - // always have one bin even if cutoff > bbox - // for 2d, nbinz_type[n] = 1 - - nbinx_type[n] = static_cast (bbox[0]*binsizeinv); - nbiny_type[n] = static_cast (bbox[1]*binsizeinv); - if (dimension == 3) nbinz_type[n] = static_cast (bbox[2]*binsizeinv); - else nbinz_type[n] = 1; - - if (nbinx_type[n] == 0) nbinx_type[n] = 1; - if (nbiny_type[n] == 0) nbiny_type[n] = 1; - if (nbinz_type[n] == 0) nbinz_type[n] = 1; - - // compute actual bin size for nbins to fit into box exactly - // error if actual bin size << cutoff, since will create a zillion bins - // this happens when nbin = 1 and box size << cutoff - // typically due to non-periodic, flat system in a particular dim - // in that extreme case, should use NSQ not BIN neighbor style - - binsizex_type[n] = bbox[0]/nbinx_type[n]; - binsizey_type[n] = bbox[1]/nbiny_type[n]; - binsizez_type[n] = bbox[2]/nbinz_type[n]; - - bininvx_type[n] = 1.0 / binsizex_type[n]; - bininvy_type[n] = 1.0 / binsizey_type[n]; - bininvz_type[n] = 1.0 / binsizez_type[n]; - - if (binsize_optimal*bininvx_type[n] > CUT2BIN_RATIO || - binsize_optimal*bininvy_type[n] > CUT2BIN_RATIO || - binsize_optimal*bininvz_type[n] > CUT2BIN_RATIO) - error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); - - // mbinlo/hi = lowest and highest global bins my ghost atoms could be in - // coord = lowest and highest values of coords for my ghost atoms - // static_cast(-1.5) = -1, so subract additional -1 - // add in SMALL for round-off safety - - int mbinxhi,mbinyhi,mbinzhi; - double coord; - - coord = bsubboxlo[0] - SMALL*bbox[0]; - mbinxlo_type[n] = static_cast ((coord-bboxlo[0])*bininvx_type[n]); - if (coord < bboxlo[0]) mbinxlo_type[n] = mbinxlo_type[n] - 1; - coord = bsubboxhi[0] + SMALL*bbox[0]; - mbinxhi = static_cast ((coord-bboxlo[0])*bininvx_type[n]); - - coord = bsubboxlo[1] - SMALL*bbox[1]; - mbinylo_type[n] = static_cast ((coord-bboxlo[1])*bininvy_type[n]); - if (coord < bboxlo[1]) mbinylo_type[n] = mbinylo_type[n] - 1; - coord = bsubboxhi[1] + SMALL*bbox[1]; - mbinyhi = static_cast ((coord-bboxlo[1])*bininvy_type[n]); - - if (dimension == 3) { - coord = bsubboxlo[2] - SMALL*bbox[2]; - mbinzlo_type[n] = static_cast ((coord-bboxlo[2])*bininvz_type[n]); - if (coord < bboxlo[2]) mbinzlo_type[n] = mbinzlo_type[n] - 1; - coord = bsubboxhi[2] + SMALL*bbox[2]; - mbinzhi = static_cast ((coord-bboxlo[2])*bininvz_type[n]); - } - - // extend bins by 1 to insure stencil extent is included - // for 2d, only 1 bin in z - - mbinxlo_type[n] = mbinxlo_type[n] - 1; - mbinxhi = mbinxhi + 1; - mbinx_type[n] = mbinxhi - mbinxlo_type[n] + 1; - - mbinylo_type[n] = mbinylo_type[n] - 1; - mbinyhi = mbinyhi + 1; - mbiny_type[n] = mbinyhi - mbinylo_type[n] + 1; - - if (dimension == 3) { - mbinzlo_type[n] = mbinzlo_type[n] - 1; - mbinzhi = mbinzhi + 1; - } else mbinzlo_type[n] = mbinzhi = 0; - mbinz_type[n] = mbinzhi - mbinzlo_type[n] + 1; - - bigint bbin = ((bigint) mbinx_type[n]) - * ((bigint) mbiny_type[n]) * ((bigint) mbinz_type[n]) + 1; - if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); - mbins_type[n] = bbin; - } - -} - -/* ---------------------------------------------------------------------- - bin owned and ghost atoms by type -------------------------------------------------------------------------- */ - -void NBinBytype::bin_atoms() -{ - int i,ibin,n; - - last_bin = update->ntimestep; - for (n = 1; n <= maxtypes; n++) { - for (i = 0; i < mbins_type[n]; i++) binhead_type[n][i] = -1; - } - - // bin in reverse order so linked list will be in forward order - // also puts ghost atoms at end of list, which is necessary - - double **x = atom->x; - int *mask = atom->mask; - int *type = atom->type; - int nlocal = atom->nlocal; - int nall = nlocal + atom->nghost; - - if (includegroup) { - int bitmask = group->bitmask[includegroup]; - for (i = nall-1; i >= nlocal; i--) { - if (mask[i] & bitmask) { - n = type[i]; - ibin = coord2bin(x[i], n); - atom2bin_type[n][i] = ibin; - bins_type[n][i] = binhead_type[n][ibin]; - binhead_type[n][ibin] = i; - } - } - for (i = atom->nfirst-1; i >= 0; i--) { - n = type[i]; - ibin = coord2bin(x[i], n); - atom2bin_type[n][i] = ibin; - bins_type[n][i] = binhead_type[n][ibin]; - binhead_type[n][ibin] = i; - } - } else { - for (i = nall-1; i >= 0; i--) { - n = type[i]; - ibin = coord2bin(x[i], n); - atom2bin_type[n][i] = ibin; - bins_type[n][i] = binhead_type[n][ibin]; - binhead_type[n][ibin] = i; - } - } -} - - -/* ---------------------------------------------------------------------- - allocate/reallocate vectors -------------------------------------------------------------------------- */ - -void NBinBytype::bin_atoms_setup(int nall) { - - // all atom2bin, bins must be of length nall - if (nall > maxatom) { - for (int n = 1; n <= maxtypes; n++) { - memory->destroy(bins_type[n]); - memory->destroy(atom2bin_type[n]); - memory->create(bins_type[n], nall, "NBinBytype:bin_type"); - memory->create(atom2bin_type[n], nall, "NBinBytype:atom2bin_type"); - } - maxatom = nall; - } - - for (int n = 1; n <= maxtypes; n++) { - if (mbins_type[n] > maxbins_type[n]) { - maxbins_type[n] = mbins_type[n]; - memory->destroy(binhead_type[n]); - memory->create(binhead_type[n], mbins_type[n], "NBinBytype:mbins_type"); - } - } - -} - - -/* ---------------------------------------------------------------------- - convert atom coords into local bin # for bin type it -------------------------------------------------------------------------- */ - -int NBinBytype::coord2bin(double *x, int it) -{ - int ix,iy,iz; - int ibin; - - if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) - error->one(FLERR,"Non-numeric positions - simulation unstable"); - - if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_type[it]) + nbinx_type[it]; - else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_type[it]); - ix = MIN(ix,nbinx_type[it]-1); - } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_type[it]) - 1; - - if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_type[it]) + nbiny_type[it]; - else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_type[it]); - iy = MIN(iy,nbiny_type[it]-1); - } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_type[it]) - 1; - - if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_type[it]) + nbinz_type[it]; - else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_type[it]); - iz = MIN(iz,nbinz_type[it]-1); - } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_type[it]) - 1; - - - ibin = (iz-mbinzlo_type[it])*mbiny_type[it]*mbinx_type[it] - + (iy-mbinylo_type[it])*mbinx_type[it] - + (ix-mbinxlo_type[it]); - return ibin; -} - - -/* ---------------------------------------------------------------------- - tot up for types - ---------------------------------------------------------------------- */ - -bigint NBinBytype::memory_usage() -{ - bigint bytes = 0; - - for (int m = 1; m < maxtypes; m++) { - bytes += 2*maxatom*sizeof(int); - bytes += maxbins_type[m]*sizeof(int); - } - return bytes; -} diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index 9a28121384..e63c8dcd56 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -29,6 +29,33 @@ using namespace LAMMPS_NS; NBinStandard::NBinStandard(LAMMPS *lmp) : NBin(lmp) {} +/* ---------------------------------------------------------------------- + setup for bin_atoms() +------------------------------------------------------------------------- */ + +void NBinStandard::bin_atoms_setup(int nall) +{ + // binhead = per-bin vector, mbins in length + // add 1 bin for USER-INTEL package + + if (mbins > maxbin) { + maxbin = mbins; + memory->destroy(binhead); + memory->create(binhead,maxbin,"neigh:binhead"); + } + + // bins and atom2bin = per-atom vectors + // for both local and ghost atoms + + if (nall > maxatom) { + maxatom = nall; + memory->destroy(bins); + memory->create(bins,maxatom,"neigh:bins"); + memory->destroy(atom2bin); + memory->create(atom2bin,maxatom,"neigh:atom2bin"); + } +} + /* ---------------------------------------------------------------------- setup neighbor binning geometry bin numbering in each dimension is global: @@ -230,3 +257,61 @@ void NBinStandard::bin_atoms() } } } + + +/* ---------------------------------------------------------------------- + convert atom coords into local bin # + for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo + take special care to insure ghosts are in correct bins even w/ roundoff + hi ghost atoms = nbin,nbin+1,etc + owned atoms = 0 to nbin-1 + lo ghost atoms = -1,-2,etc + this is necessary so that both procs on either side of PBC + treat a pair of atoms straddling the PBC in a consistent way + for triclinic, doesn't matter since stencil & neigh list built differently +------------------------------------------------------------------------- */ + +int NBinStandard::coord2bin(double *x) +{ + int ix,iy,iz; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx) + nbinx; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx); + ix = MIN(ix,nbinx-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy) + nbiny; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy); + iy = MIN(iy,nbiny-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz) + nbinz; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz); + iz = MIN(iz,nbinz-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz) - 1; + + return (iz-mbinzlo)*mbiny*mbinx + (iy-mbinylo)*mbinx + (ix-mbinxlo); +} + + +/* ---------------------------------------------------------------------- */ + +double NBinStandard::memory_usage() +{ + double bytes = 0; + bytes += maxbin*sizeof(int); + bytes += 2*maxatom*sizeof(int); + return bytes; +} diff --git a/src/nbin_standard.h b/src/nbin_standard.h index 06defdb101..d8ecb435b7 100644 --- a/src/nbin_standard.h +++ b/src/nbin_standard.h @@ -30,8 +30,14 @@ class NBinStandard : public NBin { public: NBinStandard(class LAMMPS *); ~NBinStandard() {} + void bin_atoms_setup(int); void setup_bins(int); void bin_atoms(); + double memory_usage(); + + private: + + int coord2bin(double *); }; } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 740b16b66e..d4a2727662 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1620,12 +1620,12 @@ int Neighbor::choose_bin(NeighRequest *rq) if (!rq->kokkos_device != !(mask & NB_KOKKOS_DEVICE)) continue; if (!rq->kokkos_host != !(mask & NB_KOKKOS_HOST)) continue; - // neighbor style is BIN or MULTI or MULTI/TIERED and must match + // neighbor style is BIN or MULTI or MULTI2 and must match if (style == Neighbor::BIN || style == Neighbor::MULTI) { if (!(mask & NB_STANDARD)) continue; - } else if (style == Neighbor::MULTI_TIERED) { - if (!(mask & NB_MULTI_TIERED)) continue; + } else if (style == Neighbor::MULTI2) { + if (!(mask & NB_MULTI2)) continue; } return i+1; @@ -1698,14 +1698,14 @@ int Neighbor::choose_stencil(NeighRequest *rq) if (!rq->ghost != !(mask & NS_GHOST)) continue; if (!rq->ssa != !(mask & NS_SSA)) continue; - // neighbor style is one of BIN, MULTI, or MULT/TIERED and must match + // neighbor style is one of BIN, MULTI, or MULTI2 and must match if (style == Neighbor::BIN) { if (!(mask & NS_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NS_MULTI)) continue; - } else if (style == Neighbor::MULT_TIERED) { - if (!(mask & NS_MULT_TIERED)) continue; + } else if (style == Neighbor::MULTI2) { + if (!(mask & NS_MULTI2)) continue; } // dimension is 2 or 3 and must match @@ -1835,7 +1835,7 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!rq->halffull != !(mask & NP_HALF_FULL)) continue; if (!rq->off2on != !(mask & NP_OFF2ON)) continue; - // neighbor style is one of NSQ, BIN, MULTI, or MULTI/TIERED and must match + // neighbor style is one of NSQ, BIN, MULTI, or MULTI2 and must match if (style == Neighbor::NSQ) { if (!(mask & NP_NSQ)) continue; @@ -1843,8 +1843,8 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!(mask & NP_BIN)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NP_MULTI)) continue; - } else if (style == Neighbor::MULT_TIERED) { - if (!(mask & NP_MULT_TIERED)) continue; + } else if (style == Neighbor::MULTI2) { + if (!(mask & NP_MULTI2)) continue; } // domain triclinic flag is on or off and must match @@ -2211,7 +2211,7 @@ void Neighbor::set(int narg, char **arg) if (strcmp(arg[1],"nsq") == 0) style = Neighbor::NSQ; else if (strcmp(arg[1],"bin") == 0) style = Neighbor::BIN; else if (strcmp(arg[1],"multi") == 0) style = Neighbor::MULTI; - else if (strcmp(arg[1],"multi/tiered") == 0) style = Neighbor::MULT_TIERED; + else if (strcmp(arg[1],"multi2") == 0) style = Neighbor::MULTI2; else error->all(FLERR,"Illegal neighbor command"); if (style == Neighbor::MULTI && lmp->citeme) lmp->citeme->add(cite_neigh_multi); diff --git a/src/neighbor.h b/src/neighbor.h index fd8cc49067..0012cb29fa 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { class Neighbor : protected Pointers { public: - enum{NSQ,BIN,MULTI,MULTI_TIERED}; + enum{NSQ,BIN,MULTI,MULTI2}; int style; // 0,1,2 = nsq, bin, multi int every; // build every this many steps int delay; // delay build for this many steps @@ -239,7 +239,7 @@ namespace NeighConst { static const int NB_KOKKOS_DEVICE = 1<<1; static const int NB_KOKKOS_HOST = 1<<2; static const int NB_SSA = 1<<3; - static const int NB_MULTI_TIERED = 1<<4; + static const int NB_MULTI2 = 1<<4; static const int NB_STANDARD = 1<<5; static const int NS_BIN = 1<<0; @@ -254,7 +254,7 @@ namespace NeighConst { static const int NS_TRI = 1<<9; static const int NS_GHOST = 1<<10; static const int NS_SSA = 1<<11; - static const int NS_MULTI_TIERED = 1<<12; + static const int NS_MULTI2 = 1<<12; static const int NP_NSQ = 1<<0; static const int NP_BIN = 1<<1; @@ -281,7 +281,7 @@ namespace NeighConst { static const int NP_SKIP = 1<<22; static const int NP_HALF_FULL = 1<<23; static const int NP_OFF2ON = 1<<24; - static const int NP_MULTI_TIERED = 1<<25; + static const int NP_MULTI2 = 1<<25; } } diff --git a/src/npair_half_multi_tiered_newton.cpp b/src/npair_half_multi2_newton.cpp similarity index 100% rename from src/npair_half_multi_tiered_newton.cpp rename to src/npair_half_multi2_newton.cpp diff --git a/src/npair_half_multi_tiered_newton.h b/src/npair_half_multi2_newton.h similarity index 100% rename from src/npair_half_multi_tiered_newton.h rename to src/npair_half_multi2_newton.h diff --git a/src/npair_half_multi_tiered_newton_tri.cpp b/src/npair_half_multi2_newton_tri.cpp similarity index 100% rename from src/npair_half_multi_tiered_newton_tri.cpp rename to src/npair_half_multi2_newton_tri.cpp diff --git a/src/npair_half_multi_tiered_newton_tri.h b/src/npair_half_multi2_newton_tri.h similarity index 100% rename from src/npair_half_multi_tiered_newton_tri.h rename to src/npair_half_multi2_newton_tri.h diff --git a/src/npair_half_size_multi_tiered_newtoff.cpp b/src/npair_half_size_multi2_newtoff.cpp similarity index 100% rename from src/npair_half_size_multi_tiered_newtoff.cpp rename to src/npair_half_size_multi2_newtoff.cpp diff --git a/src/npair_half_size_multi_tiered_newtoff.h b/src/npair_half_size_multi2_newtoff.h similarity index 100% rename from src/npair_half_size_multi_tiered_newtoff.h rename to src/npair_half_size_multi2_newtoff.h diff --git a/src/npair_half_size_multi_tiered_newton.cpp b/src/npair_half_size_multi2_newton.cpp similarity index 100% rename from src/npair_half_size_multi_tiered_newton.cpp rename to src/npair_half_size_multi2_newton.cpp diff --git a/src/npair_half_size_multi_tiered_newton.h b/src/npair_half_size_multi2_newton.h similarity index 100% rename from src/npair_half_size_multi_tiered_newton.h rename to src/npair_half_size_multi2_newton.h diff --git a/src/npair_half_size_multi_tiered_newton_tri.cpp b/src/npair_half_size_multi2_newton_tri.cpp similarity index 100% rename from src/npair_half_size_multi_tiered_newton_tri.cpp rename to src/npair_half_size_multi2_newton_tri.cpp diff --git a/src/npair_half_size_multi_tiered_newton_tri.h b/src/npair_half_size_multi2_newton_tri.h similarity index 100% rename from src/npair_half_size_multi_tiered_newton_tri.h rename to src/npair_half_size_multi2_newton_tri.h diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 861fcd537e..3518b7db55 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -51,6 +51,15 @@ using namespace LAMMPS_NS; stencil follows same rules for half/full, newton on/off, triclinic cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) + for multi/tiered: + create one stencil for each itype-jtype pairing + stencils do not generally follow the same rules for half/full or newton on/off + whole stencils including all surrounding bins are always used except + for same-type stencils with newton on which uses a split stencil + for orthogonal boxes, a split stencil includes bins to the "upper right" of central bin + for triclinic, a split stencil includes bins in the z (3D) or y (2D) plane of self and above + cutoff is not cutneighmaxsq, but max cutoff for that atom type + no versions that allow ghost on (any need for it?) ------------------------------------------------------------------------- */ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) @@ -64,6 +73,11 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) nstencil_multi = nullptr; stencil_multi = nullptr; distsq_multi = nullptr; + + stencil_split = nullptr; + stencil_skip = nullptr; + stencil_bin_type = nullptr; + stencil_cut = nullptr; dimension = domain->dimension; } @@ -75,16 +89,44 @@ NStencil::~NStencil() memory->destroy(stencil); memory->destroy(stencilxyz); - if (!stencil_multi) return; + if (stencil_multi) { - int n = atom->ntypes; - for (int i = 1; i <= n; i++) { - memory->destroy(stencil_multi[i]); - memory->destroy(distsq_multi[i]); + int n = atom->ntypes; + for (int i = 1; i <= n; i++) { + memory->destroy(stencil_multi[i]); + memory->destroy(distsq_multi[i]); + } + delete [] nstencil_multi; + delete [] stencil_multi; + delete [] distsq_multi; + } + + if (stencil_multi_tiered) { + + int n = atom->ntypes; + memory->destroy(nstencil_multi_tiered); + for (int i = 1; i <= n; i++) { + for (int j = 0; j <= n; j++) { + if (! stencil_skip[i][j]) + memory->destroy(stencil_multi_tiered[i][j]); + } + delete [] stencil_multi_tiered[i]; + } + delete [] stencil_multi_tiered; + memory->destroy(maxstencil_multi_tiered); + memory->destroy(stencil_split); + memory->destroy(stencil_skip); + memory->destroy(stencil_bin_type); + memory->destroy(stencil_cut); + + memory->destroy(sx_multi_tiered); + memory->destroy(sy_multi_tiered); + memory->destroy(sz_multi_tiered); + + memory->destroy(binsizex_multi_tiered); + memory->destroy(binsizey_multi_tiered); + memory->destroy(binsizez_multi_tiered); } - delete [] nstencil_multi; - delete [] stencil_multi; - delete [] distsq_multi; } /* ---------------------------------------------------------------------- */ @@ -105,6 +147,7 @@ void NStencil::copy_neighbor_info() cutneighmax = neighbor->cutneighmax; cutneighmaxsq = neighbor->cutneighmaxsq; cuttypesq = neighbor->cuttypesq; + cutneighsq = neighbor->cutneighsq; // overwrite Neighbor cutoff with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -132,6 +175,23 @@ void NStencil::copy_bin_info() bininvz = nb->bininvz; } +/* ---------------------------------------------------------------------- + copy needed info for a given type from NBin class to this stencil class +------------------------------------------------------------------------- */ + +void NStencil::copy_bin_info_multi_tiered(int type) +{ + mbinx = nb->mbinx_tiered[type]; + mbiny = nb->mbiny_tiered[type]; + mbinz = nb->mbinz_tiered[type]; + binsizex = nb->binsizex_tiered[type]; + binsizey = nb->binsizey_tiered[type]; + binsizez = nb->binsizez_tiered[type]; + bininvx = nb->bininvx_tiered[type]; + bininvy = nb->bininvy_tiered[type]; + bininvz = nb->bininvz_tiered[type]; +} + /* ---------------------------------------------------------------------- insure NBin data is current insure stencils are allocated large enough @@ -139,59 +199,131 @@ void NStencil::copy_bin_info() void NStencil::create_setup() { - if (nb) copy_bin_info(); - last_stencil = update->ntimestep; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 3d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - if (dimension == 2) sz = 0; - - int smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - - // reallocate stencil structs if necessary - // for BIN and MULTI styles - - if (neighstyle == Neighbor::BIN) { - if (smax > maxstencil) { - maxstencil = smax; - memory->destroy(stencil); - memory->create(stencil,maxstencil,"neighstencil:stencil"); - if (xyzflag) { - memory->destroy(stencilxyz); - memory->create(stencilxyz,maxstencil,3,"neighstencil:stencilxyz"); + + if (neighstyle != Neighbor::MULTI_TIERED){ + if (nb) copy_bin_info(); + last_stencil = update->ntimestep; + + // sx,sy,sz = max range of stencil in each dim + // smax = max possible size of entire 3d stencil + // stencil will be empty if cutneighmax = 0.0 + + sx = static_cast (cutneighmax*bininvx); + if (sx*binsizex < cutneighmax) sx++; + sy = static_cast (cutneighmax*bininvy); + if (sy*binsizey < cutneighmax) sy++; + sz = static_cast (cutneighmax*bininvz); + if (sz*binsizez < cutneighmax) sz++; + if (dimension == 2) sz = 0; + + int smax = (2*sx+1) * (2*sy+1) * (2*sz+1); + + // reallocate stencil structs if necessary + // for BIN and MULTI styles + + if (neighstyle == Neighbor::BIN) { + if (smax > maxstencil) { + maxstencil = smax; + memory->destroy(stencil); + memory->create(stencil,maxstencil,"neighstencil:stencil"); + if (xyzflag) { + memory->destroy(stencilxyz); + memory->create(stencilxyz,maxstencil,3,"neighstencil:stencilxyz"); + } + } + + } else { + int i; + int n = atom->ntypes; + if (maxstencil_multi == 0) { + nstencil_multi = new int[n+1]; + stencil_multi = new int*[n+1]; + distsq_multi = new double*[n+1]; + for (i = 1; i <= n; i++) { + nstencil_multi[i] = 0; + stencil_multi[i] = nullptr; + distsq_multi[i] = nullptr; + } + } + if (smax > maxstencil_multi) { + maxstencil_multi = smax; + for (i = 1; i <= n; i++) { + memory->destroy(stencil_multi[i]); + memory->destroy(distsq_multi[i]); + memory->create(stencil_multi[i],maxstencil_multi, + "neighstencil:stencil_multi"); + memory->create(distsq_multi[i],maxstencil_multi, + "neighstencil:distsq_multi"); + } } } - } else { - int i; + int i, j, bin_type, smax; + double stencil_range; int n = atom->ntypes; - if (maxstencil_multi == 0) { - nstencil_multi = new int[n+1]; - stencil_multi = new int*[n+1]; - distsq_multi = new double*[n+1]; - for (i = 1; i <= n; i++) { - nstencil_multi[i] = 0; - stencil_multi[i] = nullptr; - distsq_multi[i] = nullptr; - } - } - if (smax > maxstencil_multi) { - maxstencil_multi = smax; - for (i = 1; i <= n; i++) { - memory->destroy(stencil_multi[i]); - memory->destroy(distsq_multi[i]); - memory->create(stencil_multi[i],maxstencil_multi, - "neighstencil:stencil_multi"); - memory->create(distsq_multi[i],maxstencil_multi, - "neighstencil:distsq_multi"); + + // Allocate arrays to store stencil information + memory->create(stencil_split, n, n, + "neighstencil:stencil_split");" + memory->create(stencil_skip, n, n, + "neighstencil:stencil_skip");" + memory->create(stencil_bin_type, n, n, + "neighstencil:stencil_bin_type");" + memory->create(stencil_cut, n, n, + "neighstencil:stencil_cut");" + + memory->create(sx_multi_tiered, n, n, + "neighstencil:sx_multi_tiered");" + memory->create(sy_multi_tiered, n, n, + "neighstencil:sy_multi_tiered");" + memory->create(sz_multi_tiered, n, n, + "neighstencil:sz_multi_tiered");" + + memory->create(binsizex_multi_tiered, n, n, + "neighstencil:binsizex_multi_tiered");" + memory->create(binsizey_multi_tiered, n, n, + "neighstencil:binsizey_multi_tiered");" + memory->create(binsizez_multi_tiered, n, n, + "neighstencil:binsizez_multi_tiered");" + + // Determine which stencils need to be built + set_stencil_properties(); + + for (i = 1; i <= n; ++i) { + for (j = 1; j <= n; ++j) { + + // Skip creation of unused stencils + if (stencil_skip[i][j]) continue; + + // Copy bin info for this particular pair of types + bin_type = stencil_bin_type[i][j]; + copy_bin_info_bytype(bin_type); + + binsizex_multi_tiered[i][j] = binsizex; + binsizey_multi_tiered[i][j] = binsizey; + binsizez_multi_tiered[i][j] = binsizez; + + stencil_range = stencil_cut[i][j]; + + sx = static_cast (stencil_range*bininvx); + if (sx*binsizex < stencil_range) sx++; + sy = static_cast (stencil_range*bininvy); + if (sy*binsizey < stencil_range) sy++; + sz = static_cast (stencil_range*bininvz); + if (sz*binsizez < stencil_range) sz++; + + sx_multi_tiered[i][j] = sx; + sy_multi_tiered[i][j] = sy; + sz_multi_tiered[i][j] = sz; + + smax = ((2*sx+1) * (2*sy+1) * (2*sz+1)); + + if (smax > maxstencil_multi_tiered[i][j]) { + maxstencil_multi_tiered[i][j] = smax; + memory->destroy(stencil_multi_tiered[i][j]); + memory->create(stencil_multi_tiered[i][j], smax, + "neighstencil::stencil_multi_tiered"); + } } } } @@ -231,6 +363,10 @@ double NStencil::memory_usage() } else if (neighstyle == Neighbor::MULTI) { bytes += atom->ntypes*maxstencil_multi * sizeof(int); bytes += atom->ntypes*maxstencil_multi * sizeof(double); + } else if (neighstyle == Neighbor::MULTI_TIERED) { + bytes += atom->ntypes*maxstencil_multi * sizeof(int); + bytes += atom->ntypes*maxstencil_multi * sizeof(int); + bytes += atom->ntypes*maxstencil_multi * sizeof(double); } return bytes; } diff --git a/src/nstencil.h b/src/nstencil.h index bdd656b937..58c39ee13c 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -29,14 +29,22 @@ class NStencil : protected Pointers { int **stencilxyz; // bin offsets in xyz dims int *nstencil_multi; // # bins in each type-based multi stencil int **stencil_multi; // list of bin offsets in each stencil + int ** nstencil_multi_tiered; // # bins bins in each itype-jtype tiered multi stencil + int *** stencil_multi_tiered; // list of bin offsets in each tiered multi stencil + int ** maxstencil_type; // max double **distsq_multi; // sq distances to bins in each stencil int sx,sy,sz; // extent of stencil in each dim + int **sx_multi_tiered; // analogs for multi tiered + int **sy_multi_tiered; + int **sz_multi_tiered; - double cutoff_custom; // cutoff set by requestor - - // BYTYPE stencils - int ** nstencil_type; // No. of bins for stencil[itype][jtype] - int *** stencil_type; // Stencil for [itype][jtype] + double cutoff_custom; // cutoff set by requestor + + // Arrays to store options for multi/tiered itype-jtype stencils + bool **stencil_half; // flag creation of a half stencil for itype-jtype + bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) + int **stencil_bin_type; // what type to use for bin information + double **stencil_cut; // cutoff used for stencil size NStencil(class LAMMPS *); virtual ~NStencil(); @@ -57,12 +65,19 @@ class NStencil : protected Pointers { double cutneighmax; double cutneighmaxsq; double *cuttypesq; + double *cutneighsq; // data from NBin class int mbinx,mbiny,mbinz; double binsizex,binsizey,binsizez; double bininvx,bininvy,bininvz; + + // analogs for multi-tiered + + double **binsizex_multi_tiered; + double **binsizey_multi_tiered; + double **binsizez_multi_tiered; // data common to all NStencil variants @@ -76,6 +91,11 @@ class NStencil : protected Pointers { void copy_bin_info(); // copy info from NBin class double bin_distance(int, int, int); // distance between bin corners + + // methods for multi/tiered NStencil + + void copy_bin_info_multi_tiered(int); // copy mult/tiered info from NBin class + void set_stencil_properties(); // determine which stencils to build and how }; } diff --git a/src/nstencil_full_multi_tiered_3d.cpp b/src/nstencil_full_multi2_3d.cpp similarity index 90% rename from src/nstencil_full_multi_tiered_3d.cpp rename to src/nstencil_full_multi2_3d.cpp index cecccdfb14..099e2adeb8 100644 --- a/src/nstencil_full_multi_tiered_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -46,23 +46,9 @@ NStencilFullBytype3d::~NStencilFullBytype3d() { } } -/* ---------------------------------------------------------------------- */ - -void NStencilFullBytype3d::copy_bin_info_bytype(int itype) { - - mbinx = nb->mbinx_type[itype]; - mbiny = nb->mbiny_type[itype]; - mbinz = nb->mbinz_type[itype]; - binsizex = nb->binsizex_type[itype]; - binsizey = nb->binsizey_type[itype]; - binsizez = nb->binsizez_type[itype]; - bininvx = nb->bininvx_type[itype]; - bininvy = nb->bininvy_type[itype]; - bininvz = nb->bininvz_type[itype]; -} /* ---------------------------------------------------------------------- */ - +INCORPORTE INTO CREATE THEN DELETE, NOTE NAME OF CUTNEIGHMAX ETC int NStencilFullBytype3d::copy_neigh_info_bytype(int itype) { cutneighmaxsq = neighbor->cutneighsq[itype][itype]; @@ -104,13 +90,13 @@ void NStencilFullBytype3d::create_setup() maxstencil_type[itype][jtype] = 0; } } - } + } MOVE TO PARENT CLASS // like -> like => use standard newtoff stencil at bin for (itype = 1; itype <= maxtypes; ++itype) { copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); + smax = copy_neigh_info_bytype(itype); uses cutneighsq[itype][itype] to create s's if (smax > maxstencil_type[itype][itype]) { maxstencil_type[itype][itype] = smax; memory->destroy(stencil_type[itype][itype]); @@ -127,7 +113,7 @@ void NStencilFullBytype3d::create_setup() for (itype = 1; itype <= maxtypes; ++itype) { for (jtype = 1; jtype <= maxtypes; ++jtype) { if (itype == jtype) continue; - if (cuttypesq[itype] <= cuttypesq[jtype]) { + if (cuttypesq[itype] <= cuttypesq[jtype]) { This does work to say which prticle is smller // Potential destroy/create problem? nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; stencil_type[itype][jtype] = stencil_type[jtype][jtype]; @@ -136,7 +122,7 @@ void NStencilFullBytype3d::create_setup() copy_bin_info_bytype(jtype); // smax = copy_neigh_info_bytype(jtype); - cutneighmaxsq = cuttypesq[jtype]; + cutneighmaxsq = cuttypesq[jtype]; Does it need to be this big? Can't I use cutneighsq[i][j]? cutneighmax = sqrt(cutneighmaxsq); sx = static_cast (cutneighmax*bininvx); if (sx*binsizex < cutneighmax) sx++; diff --git a/src/nstencil_full_multi_tiered_3d.h b/src/nstencil_full_multi2_3d.h similarity index 83% rename from src/nstencil_full_multi_tiered_3d.h rename to src/nstencil_full_multi2_3d.h index 6e61365d17..b9b835fd24 100644 --- a/src/nstencil_full_multi_tiered_3d.h +++ b/src/nstencil_full_multi2_3d.h @@ -13,15 +13,15 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/bytype/3d, - NStencilFullBytype3d, - NS_FULL | NS_BYTYPE | NS_3D | +NStencilStyle(full/multi/tiered/3d, + NStencilFullMultiTiered3d, + NS_FULL | NS_Multi_Tiered | NS_3D | NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) #else -#ifndef LMP_NSTENCIL_FULL_BYTYPE_3D_H -#define LMP_NSTENCIL_FULL_BYTYPE_3D_H +#ifndef LMP_NSTENCIL_FULL_MULTI_TIERED_3D_H +#define LMP_NSTENCIL_FULL_MULTI_TIERED_3D_H #include "nstencil.h" @@ -37,7 +37,6 @@ class NStencilFullBytype3d : public NStencil { private: int ** maxstencil_type; - void copy_bin_info_bytype(int); int copy_neigh_info_bytype(int); void create_newtoff(int, int, double); diff --git a/src/nstencil_half_multi_tiered_2d_newton.cpp b/src/nstencil_half_multi2_2d_newton.cpp similarity index 100% rename from src/nstencil_half_multi_tiered_2d_newton.cpp rename to src/nstencil_half_multi2_2d_newton.cpp diff --git a/src/nstencil_half_multi_tiered_2d_newton.h b/src/nstencil_half_multi2_2d_newton.h similarity index 100% rename from src/nstencil_half_multi_tiered_2d_newton.h rename to src/nstencil_half_multi2_2d_newton.h diff --git a/src/nstencil_half_multi_tiered_3d_newtoff.cpp b/src/nstencil_half_multi2_3d_newtoff.cpp similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newtoff.cpp rename to src/nstencil_half_multi2_3d_newtoff.cpp diff --git a/src/nstencil_half_multi_tiered_3d_newtoff.h b/src/nstencil_half_multi2_3d_newtoff.h similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newtoff.h rename to src/nstencil_half_multi2_3d_newtoff.h diff --git a/src/nstencil_half_multi_tiered_3d_newton.cpp b/src/nstencil_half_multi2_3d_newton.cpp similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newton.cpp rename to src/nstencil_half_multi2_3d_newton.cpp diff --git a/src/nstencil_half_multi_tiered_3d_newton.h b/src/nstencil_half_multi2_3d_newton.h similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newton.h rename to src/nstencil_half_multi2_3d_newton.h diff --git a/src/nstencil_half_multi_tiered_3d_newton_tri.cpp b/src/nstencil_half_multi2_3d_newton_tri.cpp similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newton_tri.cpp rename to src/nstencil_half_multi2_3d_newton_tri.cpp diff --git a/src/nstencil_half_multi_tiered_3d_newton_tri.h b/src/nstencil_half_multi2_3d_newton_tri.h similarity index 100% rename from src/nstencil_half_multi_tiered_3d_newton_tri.h rename to src/nstencil_half_multi2_3d_newton_tri.h From af57879416adc0578f88a1470115075c7a460da0 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 17:15:28 -0700 Subject: [PATCH 007/542] Labelling stencils half/full, removing unnecessary newton on/off designation --- src/neighbor.cpp | 29 ++- src/neighbor.h | 12 +- src/nstencil_full_bin_2d.h | 3 +- src/nstencil_full_bin_3d.h | 3 +- src/nstencil_full_ghost_bin_2d.h | 3 +- src/nstencil_full_ghost_bin_3d.h | 3 +- src/nstencil_full_multi2_3d.h | 4 +- src/nstencil_full_multi_2d.h | 3 +- src/nstencil_full_multi_3d.h | 3 +- ...2d_newton.cpp => nstencil_half_bin_2d.cpp} | 6 +- ...bin_3d_newton.h => nstencil_half_bin_2d.h} | 16 +- src/nstencil_half_bin_2d_newtoff.cpp | 37 ---- src/nstencil_half_bin_2d_newtoff.h | 43 ---- src/nstencil_half_bin_2d_newton_tri.h | 43 ---- ...n_tri.cpp => nstencil_half_bin_2d_tri.cpp} | 6 +- ...2d_newton.h => nstencil_half_bin_2d_tri.h} | 16 +- ...3d_newton.cpp => nstencil_half_bin_3d.cpp} | 6 +- ...lti_2d_newton.h => nstencil_half_bin_3d.h} | 16 +- src/nstencil_half_bin_3d_newtoff.cpp | 38 ---- src/nstencil_half_bin_3d_newtoff.h | 43 ---- src/nstencil_half_bin_3d_newton_tri.h | 43 ---- ...n_tri.cpp => nstencil_half_bin_3d_tri.cpp} | 6 +- ...3d_newton.h => nstencil_half_bin_3d_tri.h} | 16 +- src/nstencil_half_ghost_bin_2d_newtoff.cpp | 44 ---- src/nstencil_half_ghost_bin_2d_newtoff.h | 44 ---- src/nstencil_half_ghost_bin_3d_newtoff.cpp | 45 ---- src/nstencil_half_ghost_bin_3d_newtoff.h | 44 ---- src/nstencil_half_multi2_2d_newton.cpp | 201 ------------------ src/nstencil_half_multi2_2d_newton.h | 52 ----- ...newton.cpp => nstencil_half_multi2_3d.cpp} | 0 ...newton_tri.h => nstencil_half_multi2_3d.h} | 9 +- ...> nstencil_half_multi2_3d_delete_noff.cpp} | 0 ... => nstencil_half_multi2_3d_delete_noff.h} | 0 ...ri.cpp => nstencil_half_multi2_3d_tri.cpp} | 0 ...newton.h => nstencil_half_multi2_3d_tri.h} | 9 +- ..._newton.cpp => nstencil_half_multi_2d.cpp} | 8 +- src/nstencil_half_multi_2d.h | 42 ++++ src/nstencil_half_multi_2d_newtoff.cpp | 51 ----- src/nstencil_half_multi_2d_newtoff.h | 43 ---- src/nstencil_half_multi_2d_newton_tri.h | 43 ---- ...tri.cpp => nstencil_half_multi_2d_tri.cpp} | 8 +- src/nstencil_half_multi_2d_tri.h | 42 ++++ ..._newton.cpp => nstencil_half_multi_3d.cpp} | 8 +- src/nstencil_half_multi_3d.h | 42 ++++ src/nstencil_half_multi_3d_newtoff.cpp | 52 ----- src/nstencil_half_multi_3d_newtoff.h | 43 ---- src/nstencil_half_multi_3d_newton_tri.h | 43 ---- ...tri.cpp => nstencil_half_multi_3d_tri.cpp} | 8 +- src/nstencil_half_multi_3d_tri.h | 42 ++++ 49 files changed, 261 insertions(+), 1060 deletions(-) rename src/{nstencil_half_bin_2d_newton.cpp => nstencil_half_bin_2d.cpp} (87%) rename src/{nstencil_half_bin_3d_newton.h => nstencil_half_bin_2d.h} (69%) delete mode 100644 src/nstencil_half_bin_2d_newtoff.cpp delete mode 100644 src/nstencil_half_bin_2d_newtoff.h delete mode 100644 src/nstencil_half_bin_2d_newton_tri.h rename src/{nstencil_half_bin_2d_newton_tri.cpp => nstencil_half_bin_2d_tri.cpp} (87%) rename src/{nstencil_half_bin_2d_newton.h => nstencil_half_bin_2d_tri.h} (69%) rename src/{nstencil_half_bin_3d_newton.cpp => nstencil_half_bin_3d.cpp} (88%) rename src/{nstencil_half_multi_2d_newton.h => nstencil_half_bin_3d.h} (68%) delete mode 100644 src/nstencil_half_bin_3d_newtoff.cpp delete mode 100644 src/nstencil_half_bin_3d_newtoff.h delete mode 100644 src/nstencil_half_bin_3d_newton_tri.h rename src/{nstencil_half_bin_3d_newton_tri.cpp => nstencil_half_bin_3d_tri.cpp} (88%) rename src/{nstencil_half_multi_3d_newton.h => nstencil_half_bin_3d_tri.h} (68%) delete mode 100644 src/nstencil_half_ghost_bin_2d_newtoff.cpp delete mode 100644 src/nstencil_half_ghost_bin_2d_newtoff.h delete mode 100644 src/nstencil_half_ghost_bin_3d_newtoff.cpp delete mode 100644 src/nstencil_half_ghost_bin_3d_newtoff.h delete mode 100644 src/nstencil_half_multi2_2d_newton.cpp delete mode 100644 src/nstencil_half_multi2_2d_newton.h rename src/{nstencil_half_multi2_3d_newton.cpp => nstencil_half_multi2_3d.cpp} (100%) rename src/{nstencil_half_multi2_3d_newton_tri.h => nstencil_half_multi2_3d.h} (82%) mode change 100755 => 100644 rename src/{nstencil_half_multi2_3d_newtoff.cpp => nstencil_half_multi2_3d_delete_noff.cpp} (100%) rename src/{nstencil_half_multi2_3d_newtoff.h => nstencil_half_multi2_3d_delete_noff.h} (100%) rename src/{nstencil_half_multi2_3d_newton_tri.cpp => nstencil_half_multi2_3d_tri.cpp} (100%) rename src/{nstencil_half_multi2_3d_newton.h => nstencil_half_multi2_3d_tri.h} (82%) mode change 100644 => 100755 rename src/{nstencil_half_multi_2d_newton.cpp => nstencil_half_multi_2d.cpp} (89%) create mode 100644 src/nstencil_half_multi_2d.h delete mode 100644 src/nstencil_half_multi_2d_newtoff.cpp delete mode 100644 src/nstencil_half_multi_2d_newtoff.h delete mode 100644 src/nstencil_half_multi_2d_newton_tri.h rename src/{nstencil_half_multi_2d_newton_tri.cpp => nstencil_half_multi_2d_tri.cpp} (88%) create mode 100644 src/nstencil_half_multi_2d_tri.h rename src/{nstencil_half_multi_3d_newton.cpp => nstencil_half_multi_3d.cpp} (90%) create mode 100644 src/nstencil_half_multi_3d.h delete mode 100644 src/nstencil_half_multi_3d_newtoff.cpp delete mode 100644 src/nstencil_half_multi_3d_newtoff.h delete mode 100644 src/nstencil_half_multi_3d_newton_tri.h rename src/{nstencil_half_multi_3d_newton_tri.cpp => nstencil_half_multi_3d_tri.cpp} (89%) create mode 100644 src/nstencil_half_multi_3d_tri.h diff --git a/src/neighbor.cpp b/src/neighbor.cpp index d4a2727662..2b4911958f 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1660,9 +1660,15 @@ int Neighbor::choose_stencil(NeighRequest *rq) else if (rq->newton == 1) newtflag = 1; else if (rq->newton == 2) newtflag = 0; - //printf("STENCIL RQ FLAGS: hff %d %d n %d g %d s %d newtflag %d\n", + // request a full stencil if building full neighbor list or newton is off + + int fullflag = 0; + if (rq->full) fullflag = 1; + if (!newtflag) fullflag = 1; + + //printf("STENCIL RQ FLAGS: hff %d %d n %d g %d s %d newtflag %d fullflag %d\n", // rq->half,rq->full,rq->newton,rq->ghost,rq->ssa, - // newtflag); + // newtflag, fullflag); // use request and system settings to match exactly one NStencil class mask // checks are bitwise using NeighConst bit masks @@ -1672,24 +1678,15 @@ int Neighbor::choose_stencil(NeighRequest *rq) for (int i = 0; i < nsclass; i++) { mask = stencilmasks[i]; - //printf("III %d: half %d full %d newton %d newtoff %d ghost %d ssa %d\n", - // i,mask & NS_HALF,mask & NS_FULL,mask & NS_NEWTON, - // mask & NS_NEWTOFF,mask & NS_GHOST,mask & NS_SSA); + //printf("III %d: half %d full %d ghost %d ssa %d\n", + // i,mask & NS_HALF,mask & NS_FULL,mask & NS_GHOST,mask & NS_SSA); // exactly one of half or full is set and must match - if (rq->half) { - if (!(mask & NS_HALF)) continue; - } else if (rq->full) { + if (fullflag) { if (!(mask & NS_FULL)) continue; - } - - // newtflag is on or off and must match - - if (newtflag) { - if (!(mask & NS_NEWTON)) continue; - } else if (!newtflag) { - if (!(mask & NS_NEWTOFF)) continue; + } else { + if (!(mask & NS_HALF)) continue; } // require match of these request flags and mask bits diff --git a/src/neighbor.h b/src/neighbor.h index 0012cb29fa..b1cc95f5e7 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -248,13 +248,11 @@ namespace NeighConst { static const int NS_FULL = 1<<3; static const int NS_2D = 1<<4; static const int NS_3D = 1<<5; - static const int NS_NEWTON = 1<<6; - static const int NS_NEWTOFF = 1<<7; - static const int NS_ORTHO = 1<<8; - static const int NS_TRI = 1<<9; - static const int NS_GHOST = 1<<10; - static const int NS_SSA = 1<<11; - static const int NS_MULTI2 = 1<<12; + static const int NS_ORTHO = 1<<6; + static const int NS_TRI = 1<<7; + static const int NS_GHOST = 1<<8; + static const int NS_SSA = 1<<9; + static const int NS_MULTI2 = 1<<10; static const int NP_NSQ = 1<<0; static const int NP_BIN = 1<<1; diff --git a/src/nstencil_full_bin_2d.h b/src/nstencil_full_bin_2d.h index d85063596f..0d97cc2634 100644 --- a/src/nstencil_full_bin_2d.h +++ b/src/nstencil_full_bin_2d.h @@ -15,8 +15,7 @@ NStencilStyle(full/bin/2d, NStencilFullBin2d, - NS_FULL | NS_BIN | NS_2D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_BIN | NS_2D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_bin_3d.h b/src/nstencil_full_bin_3d.h index facddd8ead..47f84aebcc 100644 --- a/src/nstencil_full_bin_3d.h +++ b/src/nstencil_full_bin_3d.h @@ -15,8 +15,7 @@ NStencilStyle(full/bin/3d, NStencilFullBin3d, - NS_FULL | NS_BIN | NS_3D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_BIN | NS_3D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_ghost_bin_2d.h b/src/nstencil_full_ghost_bin_2d.h index 531c7d2eb1..db870f9c04 100644 --- a/src/nstencil_full_ghost_bin_2d.h +++ b/src/nstencil_full_ghost_bin_2d.h @@ -15,8 +15,7 @@ NStencilStyle(full/ghost/bin/2d, NStencilFullGhostBin2d, - NS_FULL | NS_GHOST | NS_BIN | NS_2D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_GHOST | NS_BIN | NS_2D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_ghost_bin_3d.h b/src/nstencil_full_ghost_bin_3d.h index ed4ca6c4d6..d99be6d869 100644 --- a/src/nstencil_full_ghost_bin_3d.h +++ b/src/nstencil_full_ghost_bin_3d.h @@ -15,8 +15,7 @@ NStencilStyle(full/ghost/bin/3d, NStencilFullGhostBin3d, - NS_FULL | NS_GHOST | NS_BIN | NS_3D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_GHOST | NS_BIN | NS_3D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_multi2_3d.h b/src/nstencil_full_multi2_3d.h index b9b835fd24..48bdfd2611 100644 --- a/src/nstencil_full_multi2_3d.h +++ b/src/nstencil_full_multi2_3d.h @@ -14,9 +14,7 @@ #ifdef NSTENCIL_CLASS NStencilStyle(full/multi/tiered/3d, - NStencilFullMultiTiered3d, - NS_FULL | NS_Multi_Tiered | NS_3D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NStencilFullMultiTiered3d, NS_FULL | NS_Multi_Tiered | NS_3D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_multi_2d.h b/src/nstencil_full_multi_2d.h index f78eecc55f..2c28bb56bf 100644 --- a/src/nstencil_full_multi_2d.h +++ b/src/nstencil_full_multi_2d.h @@ -15,8 +15,7 @@ NStencilStyle(full/multi/2d, NStencilFullMulti2d, - NS_FULL | NS_MULTI | NS_2D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_MULTI | NS_2D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_multi_3d.h b/src/nstencil_full_multi_3d.h index 9e3696f5d2..b2edfd8b0d 100644 --- a/src/nstencil_full_multi_3d.h +++ b/src/nstencil_full_multi_3d.h @@ -15,8 +15,7 @@ NStencilStyle(full/multi/3d, NStencilFullMulti3d, - NS_FULL | NS_MULTI | NS_3D | - NS_NEWTON | NS_NEWTOFF | NS_ORTHO | NS_TRI) + NS_FULL | NS_MULTI | NS_3D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_half_bin_2d_newton.cpp b/src/nstencil_half_bin_2d.cpp similarity index 87% rename from src/nstencil_half_bin_2d_newton.cpp rename to src/nstencil_half_bin_2d.cpp index 8fdc8f1aa9..fc7b552118 100644 --- a/src/nstencil_half_bin_2d_newton.cpp +++ b/src/nstencil_half_bin_2d.cpp @@ -11,19 +11,19 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_2d_newton.h" +#include "nstencil_half_bin_2d.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin2dNewton::NStencilHalfBin2dNewton(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfBin2d::NStencilHalfBin2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfBin2dNewton::create() +void NStencilHalfBin2d::create() { int i,j; diff --git a/src/nstencil_half_bin_3d_newton.h b/src/nstencil_half_bin_2d.h similarity index 69% rename from src/nstencil_half_bin_3d_newton.h rename to src/nstencil_half_bin_2d.h index 96f19adae1..29a8868221 100644 --- a/src/nstencil_half_bin_3d_newton.h +++ b/src/nstencil_half_bin_2d.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bin/3d/newton, - NStencilHalfBin3dNewton, - NS_HALF | NS_BIN | NS_3D | NS_NEWTON | NS_ORTHO) +NStencilStyle(half/bin/2d, + NStencilHalfBin2d, + NS_HALF | NS_BIN | NS_2D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_BIN_3D_NEWTON_H -#define LMP_NSTENCIL_HALF_BIN_3D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BIN_2D_H +#define LMP_NSTENCIL_HALF_BIN_2D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfBin3dNewton : public NStencil { +class NStencilHalfBin2d : public NStencil { public: - NStencilHalfBin3dNewton(class LAMMPS *); - ~NStencilHalfBin3dNewton() {} + NStencilHalfBin2d(class LAMMPS *); + ~NStencilHalfBin2d() {} void create(); }; diff --git a/src/nstencil_half_bin_2d_newtoff.cpp b/src/nstencil_half_bin_2d_newtoff.cpp deleted file mode 100644 index f3a6c5d08b..0000000000 --- a/src/nstencil_half_bin_2d_newtoff.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bin_2d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBin2dNewtoff::NStencilHalfBin2dNewtoff(LAMMPS *lmp) : - NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBin2dNewtoff::create() -{ - int i,j; - - nstencil = 0; - - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) - stencil[nstencil++] = j*mbinx + i; -} diff --git a/src/nstencil_half_bin_2d_newtoff.h b/src/nstencil_half_bin_2d_newtoff.h deleted file mode 100644 index 7a350df1bc..0000000000 --- a/src/nstencil_half_bin_2d_newtoff.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/bin/2d/newtoff, - NStencilHalfBin2dNewtoff, - NS_HALF | NS_BIN | NS_2D | NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_BIN_2D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_BIN_2D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfBin2dNewtoff : public NStencil { - public: - NStencilHalfBin2dNewtoff(class LAMMPS *); - ~NStencilHalfBin2dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_bin_2d_newton_tri.h b/src/nstencil_half_bin_2d_newton_tri.h deleted file mode 100644 index b9926608d7..0000000000 --- a/src/nstencil_half_bin_2d_newton_tri.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/bin/2d/newton/tri, - NStencilHalfBin2dNewtonTri, - NS_HALF | NS_BIN | NS_2D | NS_NEWTON | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_BIN_2D_NEWTON_TRI_H -#define LMP_NSTENCIL_HALF_BIN_2D_NEWTON_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfBin2dNewtonTri : public NStencil { - public: - NStencilHalfBin2dNewtonTri(class LAMMPS *); - ~NStencilHalfBin2dNewtonTri() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_bin_2d_newton_tri.cpp b/src/nstencil_half_bin_2d_tri.cpp similarity index 87% rename from src/nstencil_half_bin_2d_newton_tri.cpp rename to src/nstencil_half_bin_2d_tri.cpp index 30d064fb29..0ad5456d62 100644 --- a/src/nstencil_half_bin_2d_newton_tri.cpp +++ b/src/nstencil_half_bin_2d_tri.cpp @@ -11,20 +11,20 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_2d_newton_tri.h" +#include "nstencil_half_bin_2d_tri.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin2dNewtonTri::NStencilHalfBin2dNewtonTri(LAMMPS *lmp) : +NStencilHalfBin2dTri::NStencilHalfBin2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfBin2dNewtonTri::create() +void NStencilHalfBin2dTri::create() { int i,j; diff --git a/src/nstencil_half_bin_2d_newton.h b/src/nstencil_half_bin_2d_tri.h similarity index 69% rename from src/nstencil_half_bin_2d_newton.h rename to src/nstencil_half_bin_2d_tri.h index 64bbfc5fe4..4dba9151ba 100644 --- a/src/nstencil_half_bin_2d_newton.h +++ b/src/nstencil_half_bin_2d_tri.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bin/2d/newton, - NStencilHalfBin2dNewton, - NS_HALF | NS_BIN | NS_2D | NS_NEWTON | NS_ORTHO) +NStencilStyle(half/bin/2d/tri, + NStencilHalfBin2dTri, + NS_HALF | NS_BIN | NS_2D | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_BIN_2D_NEWTON_H -#define LMP_NSTENCIL_HALF_BIN_2D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BIN_2D_TRI_H +#define LMP_NSTENCIL_HALF_BIN_2D_TRI_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfBin2dNewton : public NStencil { +class NStencilHalfBin2dTri : public NStencil { public: - NStencilHalfBin2dNewton(class LAMMPS *); - ~NStencilHalfBin2dNewton() {} + NStencilHalfBin2dTri(class LAMMPS *); + ~NStencilHalfBin2dTri() {} void create(); }; diff --git a/src/nstencil_half_bin_3d_newton.cpp b/src/nstencil_half_bin_3d.cpp similarity index 88% rename from src/nstencil_half_bin_3d_newton.cpp rename to src/nstencil_half_bin_3d.cpp index 998ed28afe..43dcd2b648 100644 --- a/src/nstencil_half_bin_3d_newton.cpp +++ b/src/nstencil_half_bin_3d.cpp @@ -11,19 +11,19 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_3d_newton.h" +#include "nstencil_half_bin_3d.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin3dNewton::NStencilHalfBin3dNewton(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfBin3d::NStencilHalfBin3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfBin3dNewton::create() +void NStencilHalfBin3d::create() { int i,j,k; diff --git a/src/nstencil_half_multi_2d_newton.h b/src/nstencil_half_bin_3d.h similarity index 68% rename from src/nstencil_half_multi_2d_newton.h rename to src/nstencil_half_bin_3d.h index 9ecac4c696..729dcf9c91 100644 --- a/src/nstencil_half_multi_2d_newton.h +++ b/src/nstencil_half_bin_3d.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi/2d/newton, - NStencilHalfMulti2dNewton, - NS_HALF | NS_MULTI | NS_2D | NS_NEWTON | NS_ORTHO) +NStencilStyle(half/bin/3d, + NStencilHalfBin3d, + NS_HALF | NS_BIN | NS_3D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_MULTI_2D_NEWTON_H -#define LMP_NSTENCIL_HALF_MULTI_2D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BIN_3D_H +#define LMP_NSTENCIL_HALF_BIN_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti2dNewton : public NStencil { +class NStencilHalfBin3d : public NStencil { public: - NStencilHalfMulti2dNewton(class LAMMPS *); - ~NStencilHalfMulti2dNewton() {} + NStencilHalfBin3d(class LAMMPS *); + ~NStencilHalfBin3d() {} void create(); }; diff --git a/src/nstencil_half_bin_3d_newtoff.cpp b/src/nstencil_half_bin_3d_newtoff.cpp deleted file mode 100644 index e44a93d47d..0000000000 --- a/src/nstencil_half_bin_3d_newtoff.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bin_3d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBin3dNewtoff::NStencilHalfBin3dNewtoff(LAMMPS *lmp) : - NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBin3dNewtoff::create() -{ - int i,j,k; - - nstencil = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; -} diff --git a/src/nstencil_half_bin_3d_newtoff.h b/src/nstencil_half_bin_3d_newtoff.h deleted file mode 100644 index d1eac666cc..0000000000 --- a/src/nstencil_half_bin_3d_newtoff.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/bin/3d/newtoff, - NStencilHalfBin3dNewtoff, - NS_HALF | NS_BIN | NS_3D | NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_BIN_3D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_BIN_3D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfBin3dNewtoff : public NStencil { - public: - NStencilHalfBin3dNewtoff(class LAMMPS *); - ~NStencilHalfBin3dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_bin_3d_newton_tri.h b/src/nstencil_half_bin_3d_newton_tri.h deleted file mode 100644 index 8c265acb46..0000000000 --- a/src/nstencil_half_bin_3d_newton_tri.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/bin/3d/newton/tri, - NStencilHalfBin3dNewtonTri, - NS_HALF | NS_BIN | NS_3D | NS_NEWTON | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_BIN_3D_NEWTON_TRI_H -#define LMP_NSTENCIL_HALF_BIN_3D_NEWTON_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfBin3dNewtonTri : public NStencil { - public: - NStencilHalfBin3dNewtonTri(class LAMMPS *); - ~NStencilHalfBin3dNewtonTri() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_bin_3d_newton_tri.cpp b/src/nstencil_half_bin_3d_tri.cpp similarity index 88% rename from src/nstencil_half_bin_3d_newton_tri.cpp rename to src/nstencil_half_bin_3d_tri.cpp index 2aae44ceaf..ca016d956a 100644 --- a/src/nstencil_half_bin_3d_newton_tri.cpp +++ b/src/nstencil_half_bin_3d_tri.cpp @@ -11,20 +11,20 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_3d_newton_tri.h" +#include "nstencil_half_bin_3d_tri.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin3dNewtonTri::NStencilHalfBin3dNewtonTri(LAMMPS *lmp) : +NStencilHalfBin3dTri::NStencilHalfBin3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfBin3dNewtonTri::create() +void NStencilHalfBin3dTri::create() { int i,j,k; diff --git a/src/nstencil_half_multi_3d_newton.h b/src/nstencil_half_bin_3d_tri.h similarity index 68% rename from src/nstencil_half_multi_3d_newton.h rename to src/nstencil_half_bin_3d_tri.h index bbdc7752c6..33183cd318 100644 --- a/src/nstencil_half_multi_3d_newton.h +++ b/src/nstencil_half_bin_3d_tri.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi/3d/newton, - NStencilHalfMulti3dNewton, - NS_HALF | NS_MULTI | NS_3D | NS_NEWTON | NS_ORTHO) +NStencilStyle(half/bin/3d/tri, + NStencilHalfBin3dTri, + NS_HALF | NS_BIN | NS_3D | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_MULTI_3D_NEWTON_H -#define LMP_NSTENCIL_HALF_MULTI_3D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BIN_3D_TRI_H +#define LMP_NSTENCIL_HALF_BIN_3D_TRI_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti3dNewton : public NStencil { +class NStencilHalfBin3dTri : public NStencil { public: - NStencilHalfMulti3dNewton(class LAMMPS *); - ~NStencilHalfMulti3dNewton() {} + NStencilHalfBin3dTri(class LAMMPS *); + ~NStencilHalfBin3dTri() {} void create(); }; diff --git a/src/nstencil_half_ghost_bin_2d_newtoff.cpp b/src/nstencil_half_ghost_bin_2d_newtoff.cpp deleted file mode 100644 index 6f9a7585fe..0000000000 --- a/src/nstencil_half_ghost_bin_2d_newtoff.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_ghost_bin_2d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfGhostBin2dNewtoff:: -NStencilHalfGhostBin2dNewtoff(LAMMPS *lmp) : NStencil(lmp) -{ - xyzflag = 1; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfGhostBin2dNewtoff::create() -{ - int i,j; - - nstencil = 0; - - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) { - stencilxyz[nstencil][0] = i; - stencilxyz[nstencil][1] = j; - stencilxyz[nstencil][2] = 0; - stencil[nstencil++] = j*mbinx + i; - } -} diff --git a/src/nstencil_half_ghost_bin_2d_newtoff.h b/src/nstencil_half_ghost_bin_2d_newtoff.h deleted file mode 100644 index 3286810c1c..0000000000 --- a/src/nstencil_half_ghost_bin_2d_newtoff.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/ghost/bin/2d/newtoff, - NStencilHalfGhostBin2dNewtoff, - NS_HALF | NS_GHOST | NS_BIN | NS_2D | - NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_GHOST_BIN_2D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_GHOST_BIN_2D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfGhostBin2dNewtoff : public NStencil { - public: - NStencilHalfGhostBin2dNewtoff(class LAMMPS *); - ~NStencilHalfGhostBin2dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_ghost_bin_3d_newtoff.cpp b/src/nstencil_half_ghost_bin_3d_newtoff.cpp deleted file mode 100644 index 6492fe4a4e..0000000000 --- a/src/nstencil_half_ghost_bin_3d_newtoff.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_ghost_bin_3d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfGhostBin3dNewtoff:: -NStencilHalfGhostBin3dNewtoff(LAMMPS *lmp) : NStencil(lmp) -{ - xyzflag = 1; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfGhostBin3dNewtoff::create() -{ - int i,j,k; - - nstencil = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) { - stencilxyz[nstencil][0] = i; - stencilxyz[nstencil][1] = j; - stencilxyz[nstencil][2] = k; - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; - } -} diff --git a/src/nstencil_half_ghost_bin_3d_newtoff.h b/src/nstencil_half_ghost_bin_3d_newtoff.h deleted file mode 100644 index ee58c29342..0000000000 --- a/src/nstencil_half_ghost_bin_3d_newtoff.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/ghost/bin/3d/newtoff, - NStencilHalfGhostBin3dNewtoff, - NS_HALF | NS_GHOST | NS_BIN | NS_3D | - NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_GHOST_BIN_3D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_GHOST_BIN_3D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfGhostBin3dNewtoff : public NStencil { - public: - NStencilHalfGhostBin3dNewtoff(class LAMMPS *); - ~NStencilHalfGhostBin3dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi2_2d_newton.cpp b/src/nstencil_half_multi2_2d_newton.cpp deleted file mode 100644 index 66158202bf..0000000000 --- a/src/nstencil_half_multi2_2d_newton.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bytype_2d_newton.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "nbin.h" -#include "memory.h" -#include "atom.h" -#include - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBytype2dNewton::NStencilHalfBytype2dNewton(LAMMPS *lmp) : - NStencil(lmp) -{ - maxstencil_type = NULL; -} - -NStencilHalfBytype2dNewton::~NStencilHalfBytype2dNewton() { - - memory->destroy(nstencil_type); - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = 0; j <= atom->ntypes; j++) { - if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); - } - delete [] stencil_type[i]; - } - delete [] stencil_type; - memory->destroy(maxstencil_type); -} - -/* ---------------------------------------------------------------------- */ - -// KS To superclass -void NStencilHalfBytype2dNewton::copy_bin_info_bytype(int itype) { - - mbinx = nb->mbinx_type[itype]; - mbiny = nb->mbiny_type[itype]; - mbinz = nb->mbinz_type[itype]; - binsizex = nb->binsizex_type[itype]; - binsizey = nb->binsizey_type[itype]; - binsizez = nb->binsizez_type[itype]; - bininvx = nb->bininvx_type[itype]; - bininvy = nb->bininvy_type[itype]; - bininvz = nb->bininvz_type[itype]; -} - -/* ---------------------------------------------------------------------- */ - -// KS To superclass? -int NStencilHalfBytype2dNewton::copy_neigh_info_bytype(int itype) { - - cutneighmaxsq = neighbor->cutneighsq[itype][itype]; - cutneighmax = sqrt(cutneighmaxsq); - cuttypesq = neighbor->cuttypesq; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 2d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - return ((2*sx+1) * (2*sy+1) * (2*sz+1)); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype2dNewton::create_setup() -{ - - int itype, jtype; - int maxtypes; - int smax; - - // maxstencil_type to superclass? - maxtypes = atom->ntypes; - - if (maxstencil_type == NULL) { - memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); - memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); - stencil_type = new int**[maxtypes+1](); - for (itype = 1; itype <= maxtypes; ++itype) { - stencil_type[itype] = new int*[maxtypes+1](); - for (jtype = 1; jtype <= maxtypes; ++jtype) { - maxstencil_type[itype][jtype] = 0; - nstencil_type[itype][jtype] = 0; - } - } - } - - // like -> like => use standard Newton stencil at bin - - for (itype = 1; itype <= maxtypes; ++itype) { - copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); - if (smax > maxstencil_type[itype][itype]) { - maxstencil_type[itype][itype] = smax; - memory->destroy(stencil_type[itype][itype]); - memory->create(stencil_type[itype][itype], smax, - "NStencilHalfBytypeNewton::create_steup() stencil"); - } - create_newton(itype, itype, cutneighmaxsq); - } - - // Cross types: "Newton on" reached by using Newton off stencil and - // looking one way through hierarchy - // smaller -> larger => use Newton off stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil - - for (itype = 1; itype <= maxtypes; ++itype) { - for (jtype = 1; jtype <= maxtypes; ++jtype) { - if (itype == jtype) continue; - if (cuttypesq[itype] == cuttypesq[jtype]) { - nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; - stencil_type[itype][jtype] = stencil_type[jtype][jtype]; - } - else if (cuttypesq[itype] < cuttypesq[jtype]) { - copy_bin_info_bytype(jtype); - - cutneighmaxsq = cuttypesq[jtype]; - cutneighmax = sqrt(cutneighmaxsq); - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - if (smax > maxstencil_type[itype][jtype]) { - maxstencil_type[itype][jtype] = smax; - memory->destroy(stencil_type[itype][jtype]); - memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); - } - create_newtoff(itype, jtype, cuttypesq[jtype]); - } - } - } - -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype2dNewton::create_newton(int itype, int jtype, double cutsq) { - - int i, j, ns; - - ns = 0; - - for (j = 0; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; - } - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype2dNewton::create_newtoff(int itype, int jtype, double cutsq) { - - int i, j, ns; - - ns = 0; - - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; - - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBytype2dNewton::create() -{ - // KS. Move "creation" here. -} diff --git a/src/nstencil_half_multi2_2d_newton.h b/src/nstencil_half_multi2_2d_newton.h deleted file mode 100644 index 4d33c26a71..0000000000 --- a/src/nstencil_half_multi2_2d_newton.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/bytype/2d/newton, - NStencilHalfBytype2dNewton, - NS_HALF | NS_BYTYPE | NS_2D | NS_NEWTON | NS_ORTHO) - -#else - -#ifndef LMP_NSTENCIL_HALF_BYTYPE_2D_NEWTON_H -#define LMP_NSTENCIL_HALF_BYTYPE_2D_NEWTON_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfBytype2dNewton : public NStencil { - public: - NStencilHalfBytype2dNewton(class LAMMPS *); - ~NStencilHalfBytype2dNewton(); - void create_setup(); - void create(); - - private: - int ** maxstencil_type; - - void copy_bin_info_bytype(int); - int copy_neigh_info_bytype(int); - void create_newton(int, int, double); - void create_newtoff(int, int, double); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi2_3d_newton.cpp b/src/nstencil_half_multi2_3d.cpp similarity index 100% rename from src/nstencil_half_multi2_3d_newton.cpp rename to src/nstencil_half_multi2_3d.cpp diff --git a/src/nstencil_half_multi2_3d_newton_tri.h b/src/nstencil_half_multi2_3d.h old mode 100755 new mode 100644 similarity index 82% rename from src/nstencil_half_multi2_3d_newton_tri.h rename to src/nstencil_half_multi2_3d.h index e419161bb5..e39db1c1e1 --- a/src/nstencil_half_multi2_3d_newton_tri.h +++ b/src/nstencil_half_multi2_3d.h @@ -13,14 +13,13 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bytype/3d/newton, - NStencilHalfBytype3dNewton, - NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_TRI) +NStencilStyle(half/bytype/3d, + NStencilHalfBytype3dNewton, NS_HALF | NS_BYTYPE | NS_3D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H -#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_H +#define LMP_NSTENCIL_HALF_BYTYPE_3D_H #include "nstencil.h" diff --git a/src/nstencil_half_multi2_3d_newtoff.cpp b/src/nstencil_half_multi2_3d_delete_noff.cpp similarity index 100% rename from src/nstencil_half_multi2_3d_newtoff.cpp rename to src/nstencil_half_multi2_3d_delete_noff.cpp diff --git a/src/nstencil_half_multi2_3d_newtoff.h b/src/nstencil_half_multi2_3d_delete_noff.h similarity index 100% rename from src/nstencil_half_multi2_3d_newtoff.h rename to src/nstencil_half_multi2_3d_delete_noff.h diff --git a/src/nstencil_half_multi2_3d_newton_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp similarity index 100% rename from src/nstencil_half_multi2_3d_newton_tri.cpp rename to src/nstencil_half_multi2_3d_tri.cpp diff --git a/src/nstencil_half_multi2_3d_newton.h b/src/nstencil_half_multi2_3d_tri.h old mode 100644 new mode 100755 similarity index 82% rename from src/nstencil_half_multi2_3d_newton.h rename to src/nstencil_half_multi2_3d_tri.h index cbb88fcb1d..5424d73f11 --- a/src/nstencil_half_multi2_3d_newton.h +++ b/src/nstencil_half_multi2_3d_tri.h @@ -13,14 +13,13 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bytype/3d/newton, - NStencilHalfBytype3dNewton, - NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTON | NS_ORTHO) +NStencilStyle(half/bytype/3d, + NStencilHalfBytype3d, NS_HALF | NS_BYTYPE | NS_3D | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H -#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTON_H +#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_H +#define LMP_NSTENCIL_HALF_BYTYPE_3D_H #include "nstencil.h" diff --git a/src/nstencil_half_multi_2d_newton.cpp b/src/nstencil_half_multi_2d.cpp similarity index 89% rename from src/nstencil_half_multi_2d_newton.cpp rename to src/nstencil_half_multi_2d.cpp index f6f6c488a5..db009030cf 100644 --- a/src/nstencil_half_multi_2d_newton.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_2d_newton.h" +#include "nstencil_half_multi_2d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2dNewton:: -NStencilHalfMulti2dNewton(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMulti2d:: +NStencilHalfMulti2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti2dNewton::create() +void NStencilHalfMulti2d::create() { int i,j,n; double rsq,typesq; diff --git a/src/nstencil_half_multi_2d.h b/src/nstencil_half_multi_2d.h new file mode 100644 index 0000000000..128d37a2e9 --- /dev/null +++ b/src/nstencil_half_multi_2d.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/2d, + NStencilHalfMulti2d, NS_HALF | NS_MULTI | NS_2D | NS_ORTHO) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_2D_H +#define LMP_NSTENCIL_HALF_MULTI_2D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti2d : public NStencil { + public: + NStencilHalfMulti2d(class LAMMPS *); + ~NStencilHalfMulti2d() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi_2d_newtoff.cpp b/src/nstencil_half_multi_2d_newtoff.cpp deleted file mode 100644 index 63cd3fd524..0000000000 --- a/src/nstencil_half_multi_2d_newtoff.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_multi_2d_newtoff.h" -#include "atom.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfMulti2dNewtoff:: -NStencilHalfMulti2dNewtoff(LAMMPS *lmp) : NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfMulti2dNewtoff::create() -{ - int i,j,n; - double rsq,typesq; - int *s; - double *distsq; - - int ntypes = atom->ntypes; - for (int itype = 1; itype <= ntypes; itype++) { - typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; - n = 0; - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,0); - if (rsq < typesq) { - distsq[n] = rsq; - s[n++] = j*mbinx + i; - } - } - nstencil_multi[itype] = n; - } -} diff --git a/src/nstencil_half_multi_2d_newtoff.h b/src/nstencil_half_multi_2d_newtoff.h deleted file mode 100644 index 5603f37beb..0000000000 --- a/src/nstencil_half_multi_2d_newtoff.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/2d/newtoff, - NStencilHalfMulti2dNewtoff, - NS_HALF | NS_MULTI | NS_2D | NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_2D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_MULTI_2D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti2dNewtoff : public NStencil { - public: - NStencilHalfMulti2dNewtoff(class LAMMPS *); - ~NStencilHalfMulti2dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_2d_newton_tri.h b/src/nstencil_half_multi_2d_newton_tri.h deleted file mode 100644 index 62d7dfdebf..0000000000 --- a/src/nstencil_half_multi_2d_newton_tri.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/2d/newton/tri, - NStencilHalfMulti2dNewtonTri, - NS_HALF | NS_MULTI | NS_2D | NS_NEWTON | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_2D_NEWTON_TRI_H -#define LMP_NSTENCIL_HALF_MULTI_2D_NEWTON_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti2dNewtonTri : public NStencil { - public: - NStencilHalfMulti2dNewtonTri(class LAMMPS *); - ~NStencilHalfMulti2dNewtonTri() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_2d_newton_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp similarity index 88% rename from src/nstencil_half_multi_2d_newton_tri.cpp rename to src/nstencil_half_multi_2d_tri.cpp index b44ab36ea0..fef551f3e0 100644 --- a/src/nstencil_half_multi_2d_newton_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_2d_newton_tri.h" +#include "nstencil_half_multi_2d_tri.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2dNewtonTri:: -NStencilHalfMulti2dNewtonTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMulti2dTri:: +NStencilHalfMulti2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti2dNewtonTri::create() +void NStencilHalfMulti2dTri::create() { int i,j,n; double rsq,typesq; diff --git a/src/nstencil_half_multi_2d_tri.h b/src/nstencil_half_multi_2d_tri.h new file mode 100644 index 0000000000..776c42e96b --- /dev/null +++ b/src/nstencil_half_multi_2d_tri.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/2d/tri, + NStencilHalfMulti2dTri, NS_HALF | NS_MULTI | NS_2D | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_2D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_2D_TRI_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti2dTri : public NStencil { + public: + NStencilHalfMulti2dTri(class LAMMPS *); + ~NStencilHalfMulti2dTri() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi_3d_newton.cpp b/src/nstencil_half_multi_3d.cpp similarity index 90% rename from src/nstencil_half_multi_3d_newton.cpp rename to src/nstencil_half_multi_3d.cpp index 5b0c7f9f63..ca1c7f2f02 100644 --- a/src/nstencil_half_multi_3d_newton.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_3d_newton.h" +#include "nstencil_half_multi_3d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3dNewton:: -NStencilHalfMulti3dNewton(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMulti3d:: +NStencilHalfMulti3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti3dNewton::create() +void NStencilHalfMulti3d::create() { int i,j,k,n; double rsq,typesq; diff --git a/src/nstencil_half_multi_3d.h b/src/nstencil_half_multi_3d.h new file mode 100644 index 0000000000..51cf9d5c29 --- /dev/null +++ b/src/nstencil_half_multi_3d.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/3d, + NStencilHalfMulti3d, NS_HALF | NS_MULTI | NS_3D | NS_ORTHO) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_3D_H +#define LMP_NSTENCIL_HALF_MULTI_3D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti3d : public NStencil { + public: + NStencilHalfMulti3d(class LAMMPS *); + ~NStencilHalfMulti3d() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi_3d_newtoff.cpp b/src/nstencil_half_multi_3d_newtoff.cpp deleted file mode 100644 index 5a83c4e002..0000000000 --- a/src/nstencil_half_multi_3d_newtoff.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_multi_3d_newtoff.h" -#include "atom.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfMulti3dNewtoff:: -NStencilHalfMulti3dNewtoff(LAMMPS *lmp) : NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfMulti3dNewtoff::create() -{ - int i,j,k,n; - double rsq,typesq; - int *s; - double *distsq; - - int ntypes = atom->ntypes; - for (int itype = 1; itype <= ntypes; itype++) { - typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; - n = 0; - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,k); - if (rsq < typesq) { - distsq[n] = rsq; - s[n++] = k*mbiny*mbinx + j*mbinx + i; - } - } - nstencil_multi[itype] = n; - } -} diff --git a/src/nstencil_half_multi_3d_newtoff.h b/src/nstencil_half_multi_3d_newtoff.h deleted file mode 100644 index 99428deb6a..0000000000 --- a/src/nstencil_half_multi_3d_newtoff.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/3d/newtoff, - NStencilHalfMulti3dNewtoff, - NS_HALF | NS_MULTI | NS_3D | NS_NEWTOFF | NS_ORTHO | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_3D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_MULTI_3D_NEWTOFF_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti3dNewtoff : public NStencil { - public: - NStencilHalfMulti3dNewtoff(class LAMMPS *); - ~NStencilHalfMulti3dNewtoff() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_3d_newton_tri.h b/src/nstencil_half_multi_3d_newton_tri.h deleted file mode 100644 index f6866489a4..0000000000 --- a/src/nstencil_half_multi_3d_newton_tri.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/3d/newton/tri, - NStencilHalfMulti3dNewtonTri, - NS_HALF | NS_MULTI | NS_3D | NS_NEWTON | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_3D_NEWTON_TRI_H -#define LMP_NSTENCIL_HALF_MULTI_3D_NEWTON_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti3dNewtonTri : public NStencil { - public: - NStencilHalfMulti3dNewtonTri(class LAMMPS *); - ~NStencilHalfMulti3dNewtonTri() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_3d_newton_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp similarity index 89% rename from src/nstencil_half_multi_3d_newton_tri.cpp rename to src/nstencil_half_multi_3d_tri.cpp index b25a0d0bdb..2970977a1e 100644 --- a/src/nstencil_half_multi_3d_newton_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_3d_newton_tri.h" +#include "nstencil_half_multi_3d_tri.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3dNewtonTri:: -NStencilHalfMulti3dNewtonTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMulti3dTri:: +NStencilHalfMulti3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti3dNewtonTri::create() +void NStencilHalfMulti3dTri::create() { int i,j,k,n; double rsq,typesq; diff --git a/src/nstencil_half_multi_3d_tri.h b/src/nstencil_half_multi_3d_tri.h new file mode 100644 index 0000000000..f33f65cfea --- /dev/null +++ b/src/nstencil_half_multi_3d_tri.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/3d/tri, + NStencilHalfMulti3dTri, NS_HALF | NS_MULTI | NS_3D | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_3D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_3D_TRI_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti3dTri : public NStencil { + public: + NStencilHalfMulti3dTri(class LAMMPS *); + ~NStencilHalfMulti3dTri() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ From dd1cce1da5dfd7da50b55e792e64883871c9cd1e Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 20:03:00 -0700 Subject: [PATCH 008/542] Finish stencil classes --- src/nstencil.cpp | 173 +++++++------ src/nstencil.h | 23 +- src/nstencil_full_multi2_2d.cpp | 97 +++++++ ...elete_noff.h => nstencil_full_multi2_2d.h} | 23 +- src/nstencil_full_multi2_3d.cpp | 203 +++++---------- src/nstencil_full_multi2_3d.h | 22 +- src/nstencil_half_multi2_2d.cpp | 111 ++++++++ src/nstencil_half_multi2_2d.h | 46 ++++ src/nstencil_half_multi2_2d_tri.cpp | 108 ++++++++ src/nstencil_half_multi2_2d_tri.h | 45 ++++ src/nstencil_half_multi2_3d.cpp | 240 ++++++------------ src/nstencil_half_multi2_3d.h | 23 +- src/nstencil_half_multi2_3d_delete_noff.cpp | 198 --------------- src/nstencil_half_multi2_3d_tri.cpp | 150 ++++++----- src/nstencil_half_multi2_3d_tri.h | 24 +- 15 files changed, 779 insertions(+), 707 deletions(-) create mode 100644 src/nstencil_full_multi2_2d.cpp rename src/{nstencil_half_multi2_3d_delete_noff.h => nstencil_full_multi2_2d.h} (58%) create mode 100644 src/nstencil_half_multi2_2d.cpp create mode 100644 src/nstencil_half_multi2_2d.h create mode 100755 src/nstencil_half_multi2_2d_tri.cpp create mode 100755 src/nstencil_half_multi2_2d_tri.h delete mode 100644 src/nstencil_half_multi2_3d_delete_noff.cpp diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 3518b7db55..525369d573 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -31,33 +31,33 @@ using namespace LAMMPS_NS; sx,sy,sz = bin bounds = furthest the stencil could possibly extend calculated below in create_setup() 3d creates xyz stencil, 2d creates xy stencil - for half list with newton off: + for full list or half list with newton off + use a full stencil stencil is all surrounding bins including self regardless of triclinic - for half list with newton on: + for half list with newton on + use a half stencil stencil is bins to the "upper right" of central bin stencil does not include self no versions that allow ghost on (no callers need it?) for half list with newton on and triclinic: + use a half stencil stencil is all bins in z-plane of self and above, but not below in 2d is all bins in y-plane of self and above, but not below stencil includes self no versions that allow ghost on (no callers need it?) - for full list: - stencil is all surrounding bins including self - regardless of newton on/off or triclinic for multi: create one stencil for each atom type stencil follows same rules for half/full, newton on/off, triclinic cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) - for multi/tiered: + for multi2: create one stencil for each itype-jtype pairing stencils do not generally follow the same rules for half/full or newton on/off - whole stencils including all surrounding bins are always used except - for same-type stencils with newton on which uses a split stencil - for orthogonal boxes, a split stencil includes bins to the "upper right" of central bin - for triclinic, a split stencil includes bins in the z (3D) or y (2D) plane of self and above + full stencils including all surrounding bins are always used except + for same-type stencils with newton on which uses a half stencil + for orthogonal boxes, a half stencil includes bins to the "upper right" of central bin + for triclinic, a half stencil includes bins in the z (3D) or y (2D) plane of self and above cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) ------------------------------------------------------------------------- */ @@ -74,7 +74,7 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) stencil_multi = nullptr; distsq_multi = nullptr; - stencil_split = nullptr; + stencil_half = nullptr; stencil_skip = nullptr; stencil_bin_type = nullptr; stencil_cut = nullptr; @@ -101,31 +101,31 @@ NStencil::~NStencil() delete [] distsq_multi; } - if (stencil_multi_tiered) { + if (stencil_multi2) { int n = atom->ntypes; - memory->destroy(nstencil_multi_tiered); + memory->destroy(nstencil_multi2); for (int i = 1; i <= n; i++) { for (int j = 0; j <= n; j++) { if (! stencil_skip[i][j]) - memory->destroy(stencil_multi_tiered[i][j]); + memory->destroy(stencil_multi2[i][j]); } - delete [] stencil_multi_tiered[i]; + delete [] stencil_multi2[i]; } - delete [] stencil_multi_tiered; - memory->destroy(maxstencil_multi_tiered); - memory->destroy(stencil_split); + delete [] stencil_multi2; + memory->destroy(maxstencil_multi2); + memory->destroy(stencil_half); memory->destroy(stencil_skip); memory->destroy(stencil_bin_type); memory->destroy(stencil_cut); - memory->destroy(sx_multi_tiered); - memory->destroy(sy_multi_tiered); - memory->destroy(sz_multi_tiered); + memory->destroy(sx_multi2); + memory->destroy(sy_multi2); + memory->destroy(sz_multi2); - memory->destroy(binsizex_multi_tiered); - memory->destroy(binsizey_multi_tiered); - memory->destroy(binsizez_multi_tiered); + memory->destroy(binsizex_multi2); + memory->destroy(binsizey_multi2); + memory->destroy(binsizez_multi2); } } @@ -179,17 +179,17 @@ void NStencil::copy_bin_info() copy needed info for a given type from NBin class to this stencil class ------------------------------------------------------------------------- */ -void NStencil::copy_bin_info_multi_tiered(int type) +void NStencil::copy_bin_info_multi2(int type) { - mbinx = nb->mbinx_tiered[type]; - mbiny = nb->mbiny_tiered[type]; - mbinz = nb->mbinz_tiered[type]; - binsizex = nb->binsizex_tiered[type]; - binsizey = nb->binsizey_tiered[type]; - binsizez = nb->binsizez_tiered[type]; - bininvx = nb->bininvx_tiered[type]; - bininvy = nb->bininvy_tiered[type]; - bininvz = nb->bininvz_tiered[type]; + mbinx = nb->mbinx2[type]; + mbiny = nb->mbiny2[type]; + mbinz = nb->mbinz2[type]; + binsizex = nb->binsizex2[type]; + binsizey = nb->binsizey2[type]; + binsizez = nb->binsizez2[type]; + bininvx = nb->bininvx2[type]; + bininvy = nb->bininvy2[type]; + bininvz = nb->bininvz2[type]; } /* ---------------------------------------------------------------------- @@ -200,7 +200,7 @@ void NStencil::copy_bin_info_multi_tiered(int type) void NStencil::create_setup() { - if (neighstyle != Neighbor::MULTI_TIERED){ + if (neighstyle != Neighbor::MULTI2){ if (nb) copy_bin_info(); last_stencil = update->ntimestep; @@ -263,34 +263,53 @@ void NStencil::create_setup() int n = atom->ntypes; // Allocate arrays to store stencil information - memory->create(stencil_split, n, n, - "neighstencil:stencil_split");" - memory->create(stencil_skip, n, n, - "neighstencil:stencil_skip");" - memory->create(stencil_bin_type, n, n, - "neighstencil:stencil_bin_type");" - memory->create(stencil_cut, n, n, - "neighstencil:stencil_cut");" + memory->create(stencil_half, n+1, n+1, + "neighstencil:stencil_half"); + memory->create(stencil_skip, n+1, n+1, + "neighstencil:stencil_skip"); + memory->create(stencil_bin_type, n+1, n+1, + "neighstencil:stencil_bin_type"); + memory->create(stencil_cut, n+1, n+1, + "neighstencil:stencil_cut"); - memory->create(sx_multi_tiered, n, n, - "neighstencil:sx_multi_tiered");" - memory->create(sy_multi_tiered, n, n, - "neighstencil:sy_multi_tiered");" - memory->create(sz_multi_tiered, n, n, - "neighstencil:sz_multi_tiered");" + memory->create(sx_multi2, n+1, n+1, "neighstencil:sx_multi2"); + memory->create(sy_multi2, n+1, n+1, "neighstencil:sy_multi2"); + memory->create(sz_multi2, n+1, n+1, "neighstencil:sz_multi2"); - memory->create(binsizex_multi_tiered, n, n, - "neighstencil:binsizex_multi_tiered");" - memory->create(binsizey_multi_tiered, n, n, - "neighstencil:binsizey_multi_tiered");" - memory->create(binsizez_multi_tiered, n, n, - "neighstencil:binsizez_multi_tiered");" - + memory->create(binsizex_multi2, n+1, n+1, + "neighstencil:binsizex_multi2"); + memory->create(binsizey_multi2, n+1, n+1, + "neighstencil:binsizey_multi2"); + memory->create(binsizez_multi2, n+1, n+1, + "neighstencil:binsizez_multi2"); + + // Skip all stencils by default, initialize smax + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + stencil_skip[i][j] = 1; + maxstencil_multi2[i][j] = 0; + } + } + // Determine which stencils need to be built set_stencil_properties(); - for (i = 1; i <= n; ++i) { - for (j = 1; j <= n; ++j) { + // Allocate arrays to store stencils + + if (!maxstencil_multi2) { + memory->create(maxstencil_multi2, n+1, n+1, "neighstencil::stencil_multi2"); + memory->create(nstencil_multi2, n+1, n+1, "neighstencil::nstencil_multi2"); + stencil_multi2 = new int**[n+1](); + for (i = 1; i <= n; ++i) { + stencil_multi2[i] = new int*[n+1](); + for (j = 1; j <= n; ++j) { + maxstencil_multi2[i][j] = 0; + } + } + } + + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { // Skip creation of unused stencils if (stencil_skip[i][j]) continue; @@ -299,9 +318,9 @@ void NStencil::create_setup() bin_type = stencil_bin_type[i][j]; copy_bin_info_bytype(bin_type); - binsizex_multi_tiered[i][j] = binsizex; - binsizey_multi_tiered[i][j] = binsizey; - binsizez_multi_tiered[i][j] = binsizez; + binsizex_multi2[i][j] = binsizex; + binsizey_multi2[i][j] = binsizey; + binsizez_multi2[i][j] = binsizez; stencil_range = stencil_cut[i][j]; @@ -312,17 +331,17 @@ void NStencil::create_setup() sz = static_cast (stencil_range*bininvz); if (sz*binsizez < stencil_range) sz++; - sx_multi_tiered[i][j] = sx; - sy_multi_tiered[i][j] = sy; - sz_multi_tiered[i][j] = sz; + sx_multi2[i][j] = sx; + sy_multi2[i][j] = sy; + sz_multi2[i][j] = sz; smax = ((2*sx+1) * (2*sy+1) * (2*sz+1)); - if (smax > maxstencil_multi_tiered[i][j]) { - maxstencil_multi_tiered[i][j] = smax; - memory->destroy(stencil_multi_tiered[i][j]); - memory->create(stencil_multi_tiered[i][j], smax, - "neighstencil::stencil_multi_tiered"); + if (smax > maxstencil_multi2[i][j]) { + maxstencil_multi2[i][j] = smax; + memory->destroy(stencil_multi2[i][j]); + memory->create(stencil_multi2[i][j], smax, + "neighstencil::stencil_multi2"); } } } @@ -363,10 +382,18 @@ double NStencil::memory_usage() } else if (neighstyle == Neighbor::MULTI) { bytes += atom->ntypes*maxstencil_multi * sizeof(int); bytes += atom->ntypes*maxstencil_multi * sizeof(double); - } else if (neighstyle == Neighbor::MULTI_TIERED) { - bytes += atom->ntypes*maxstencil_multi * sizeof(int); - bytes += atom->ntypes*maxstencil_multi * sizeof(int); - bytes += atom->ntypes*maxstencil_multi * sizeof(double); + } else if (neighstyle == Neighbor::MULTI2) { + int n = atom->ntypes; + for (i = 1; i <= n; ++i) { + for (j = 1; j <= n; ++j) { + bytes += maxstencil_multi2[i][j] * sizeof(int); + bytes += maxstencil_multi2[i][j] * sizeof(int); + bytes += maxstencil_multi2[i][j] * sizeof(double); + } + } + bytes += 2 * n * n * sizeof(bool); + bytes += 6 * n * n * sizeof(int); + bytes += 4 * n * n * sizeof(double); } return bytes; } diff --git a/src/nstencil.h b/src/nstencil.h index 58c39ee13c..7c6a04a56a 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -29,14 +29,17 @@ class NStencil : protected Pointers { int **stencilxyz; // bin offsets in xyz dims int *nstencil_multi; // # bins in each type-based multi stencil int **stencil_multi; // list of bin offsets in each stencil - int ** nstencil_multi_tiered; // # bins bins in each itype-jtype tiered multi stencil - int *** stencil_multi_tiered; // list of bin offsets in each tiered multi stencil - int ** maxstencil_type; // max double **distsq_multi; // sq distances to bins in each stencil + int ** nstencil_multi2; // # bins bins in each itype-jtype multi2 stencil + int *** stencil_multi2; // list of bin offsets in each multi2 stencil + int ** maxstencil_multi2; // max stencil size for each multi2 stencil + + ^do i need a multi 2 analog to distsq_multi? + int sx,sy,sz; // extent of stencil in each dim - int **sx_multi_tiered; // analogs for multi tiered - int **sy_multi_tiered; - int **sz_multi_tiered; + int **sx_multi2; // analogs for multi tiered + int **sy_multi2; + int **sz_multi2; double cutoff_custom; // cutoff set by requestor @@ -75,9 +78,9 @@ class NStencil : protected Pointers { // analogs for multi-tiered - double **binsizex_multi_tiered; - double **binsizey_multi_tiered; - double **binsizez_multi_tiered; + double **binsizex_multi2; + double **binsizey_multi2; + double **binsizez_multi2; // data common to all NStencil variants @@ -94,7 +97,7 @@ class NStencil : protected Pointers { // methods for multi/tiered NStencil - void copy_bin_info_multi_tiered(int); // copy mult/tiered info from NBin class + void copy_bin_info_multi2(int); // copy mult/tiered info from NBin class void set_stencil_properties(); // determine which stencils to build and how }; diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp new file mode 100644 index 0000000000..f62cddb0b5 --- /dev/null +++ b/src/nstencil_full_multi2_2d.cpp @@ -0,0 +1,97 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_full_multi2_2d.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilFullMulti22d::NStencilFullMulti22d(LAMMPS *lmp) : NStencil(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void NStencilFullMulti22d::set_stencil_properties() +{ + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 0; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + } + + // smaller -> larger => use existing newtoff stencil in larger bin + // larger -> smaller => use multi-like stencil for small-large in smaller bin + // If types are same cutoff, use existing like-like stencil. + + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; + + stencil_half[i][j] = 0; + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] <= cuttypesq[j]){ + stencil_bin_type[i][j] = i; + } else { + stencil_bin_type[i][j] = j; + } + } + } +} + +/* ---------------------------------------------------------------------- + create stencils based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilFullMulti22d::create() +{ + int itype, jtype, i, j, k, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + + nstencil_multi2[itype][jtype] = ns; + } + } +} diff --git a/src/nstencil_half_multi2_3d_delete_noff.h b/src/nstencil_full_multi2_2d.h similarity index 58% rename from src/nstencil_half_multi2_3d_delete_noff.h rename to src/nstencil_full_multi2_2d.h index bf83a31e9a..1dfc5ae4d6 100644 --- a/src/nstencil_half_multi2_3d_delete_noff.h +++ b/src/nstencil_full_multi2_2d.h @@ -13,32 +13,27 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bytype/3d/newtoff, - NStencilHalfBytype3dNewtoff, - NS_HALF | NS_BYTYPE | NS_3D | NS_NEWTOFF | NS_ORTHO | NS_TRI) +NStencilStyle(full/multi2/2d, + NStencilFullMulti22d, NS_FULL | NS_Multi2 | NS_2D | NS_ORTHO | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTOFF_H -#define LMP_NSTENCIL_HALF_BYTYPE_3D_NEWTOFF_H +#ifndef LMP_NSTENCIL_FULL_MULTI2_2D_H +#define LMP_NSTENCIL_FULL_MULTI2_2D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfBytype3dNewtoff : public NStencil { +class NStencilFullMulti22d : public NStencil { public: - NStencilHalfBytype3dNewtoff(class LAMMPS *); - ~NStencilHalfBytype3dNewtoff(); - void create_setup(); + NStencilFullMulti22d(class LAMMPS *); + ~NStencilFullMulti22d(); void create(); - private: - int ** maxstencil_type; + protected: + void set_stencil_properties(); - void copy_bin_info_bytype(int); - int copy_neigh_info_bytype(int); - void create_newtoff(int, int, double); }; } diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 099e2adeb8..77ae62738c 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_full_bytype_3d.h" +#include "nstencil_full_multi2_3d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,164 +23,79 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilFullBytype3d::NStencilFullBytype3d(LAMMPS *lmp) : - NStencil(lmp) +NStencilFullMulti23d::NStencilFullMulti23d(LAMMPS *lmp) : NStencil(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void NStencilFullMulti23d::set_stencil_properties() { - maxstencil_type = NULL; -} - -/* ---------------------------------------------------------------------- */ - -NStencilFullBytype3d::~NStencilFullBytype3d() { - - if (maxstencil_type) { - memory->destroy(nstencil_type); - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = 0; j <= atom->ntypes; j++) { - if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); - } - delete [] stencil_type[i]; - } - delete [] stencil_type; - memory->destroy(maxstencil_type); - } -} - - -/* ---------------------------------------------------------------------- */ -INCORPORTE INTO CREATE THEN DELETE, NOTE NAME OF CUTNEIGHMAX ETC -int NStencilFullBytype3d::copy_neigh_info_bytype(int itype) { - - cutneighmaxsq = neighbor->cutneighsq[itype][itype]; - cutneighmax = sqrt(cutneighmaxsq); - cuttypesq = neighbor->cuttypesq; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 3d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - return ((2*sx+1) * (2*sy+1) * (2*sz+1)); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilFullBytype3d::create_setup() -{ - - int itype, jtype; - int maxtypes; - int smax; - - maxtypes = atom->ntypes; - - if (maxstencil_type == NULL) { - memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "BAD A"); - memory->create(nstencil_type, maxtypes+1, maxtypes+1, "BAD B"); - stencil_type = new int**[maxtypes+1](); - for (itype = 1; itype <= maxtypes; ++itype) { - stencil_type[itype] = new int*[maxtypes+1](); - for (jtype = 1; jtype <= maxtypes; ++jtype) { - maxstencil_type[itype][jtype] = 0; - } - } - } MOVE TO PARENT CLASS - - // like -> like => use standard newtoff stencil at bin - - for (itype = 1; itype <= maxtypes; ++itype) { - copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); uses cutneighsq[itype][itype] to create s's - if (smax > maxstencil_type[itype][itype]) { - maxstencil_type[itype][itype] = smax; - memory->destroy(stencil_type[itype][itype]); - memory->create(stencil_type[itype][itype], smax, - "NStencilFullBytype::create_steup() stencil"); - } - create_newtoff(itype, itype, cutneighmaxsq); + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 0; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); } // smaller -> larger => use existing newtoff stencil in larger bin // larger -> smaller => use multi-like stencil for small-large in smaller bin // If types are same cutoff, use existing like-like stencil. - for (itype = 1; itype <= maxtypes; ++itype) { - for (jtype = 1; jtype <= maxtypes; ++jtype) { - if (itype == jtype) continue; - if (cuttypesq[itype] <= cuttypesq[jtype]) { This does work to say which prticle is smller - // Potential destroy/create problem? - nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; - stencil_type[itype][jtype] = stencil_type[jtype][jtype]; - } - else { - copy_bin_info_bytype(jtype); - // smax = copy_neigh_info_bytype(jtype); + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; - cutneighmaxsq = cuttypesq[jtype]; Does it need to be this big? Can't I use cutneighsq[i][j]? - cutneighmax = sqrt(cutneighmaxsq); - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - if (smax > maxstencil_type[itype][jtype]) { - maxstencil_type[itype][jtype] = smax; - memory->destroy(stencil_type[itype][jtype]); - memory->create(stencil_type[itype][jtype], smax, "Bad C"); - } - create_newtoff(itype, jtype, cuttypesq[jtype]); + stencil_half[i][j] = 0; + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] <= cuttypesq[j]){ + stencil_bin_type[i][j] = i; + } else { + stencil_bin_type[i][j] = j; } } } - - //for (itype = 1; itype <= maxtypes; itype++) { - // for (jtype = 1; jtype <= maxtypes; jtype++) { - // printf("i j n %d %d %d\n", itype, jtype, nstencil_type[itype][jtype]); - // printf("i j n %d %d %d\n", itype, jtype, maxstencil_type[itype][jtype]); - // } - // } - -} - -/* ---------------------------------------------------------------------- */ - -void NStencilFullBytype3d::create_newtoff(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - - nstencil_type[itype][jtype] = ns; } /* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff + create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilFullBytype3d::create() +void NStencilFullMulti23d::create() { - //int i,j,k; - - //nstencil = 0; - - //for (k = -sz; k <= sz; k++) - // for (j = -sy; j <= sy; j++) - // for (i = -sx; i <= sx; i++) - // if (bin_distance(i,j,k) < cutneighmaxsq) - // stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; + int itype, jtype, i, j, k, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + sz = sz_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + mbinz = mbinz_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = + k*mbiny*mbinx + j*mbinx + i; + + nstencil_multi2[itype][jtype] = ns; + } + } } diff --git a/src/nstencil_full_multi2_3d.h b/src/nstencil_full_multi2_3d.h index 48bdfd2611..f7baefc8e9 100644 --- a/src/nstencil_full_multi2_3d.h +++ b/src/nstencil_full_multi2_3d.h @@ -13,30 +13,26 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/multi/tiered/3d, - NStencilFullMultiTiered3d, NS_FULL | NS_Multi_Tiered | NS_3D | NS_ORTHO | NS_TRI) +NStencilStyle(full/multi2/3d, + NStencilFullMulti23d, NS_FULL | NS_Multi2 | NS_3D | NS_ORTHO | NS_TRI) #else -#ifndef LMP_NSTENCIL_FULL_MULTI_TIERED_3D_H -#define LMP_NSTENCIL_FULL_MULTI_TIERED_3D_H +#ifndef LMP_NSTENCIL_FULL_MULTI2_3D_H +#define LMP_NSTENCIL_FULL_MULTI2_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilFullBytype3d : public NStencil { +class NStencilFullMulti23d : public NStencil { public: - NStencilFullBytype3d(class LAMMPS *); - ~NStencilFullBytype3d(); + NStencilFullMulti23d(class LAMMPS *); + ~NStencilFullMulti23d(); void create(); - void create_setup(); -private: - int ** maxstencil_type; - - int copy_neigh_info_bytype(int); - void create_newtoff(int, int, double); + protected: + void set_stencil_properties(); }; diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp new file mode 100644 index 0000000000..86da6ea91e --- /dev/null +++ b/src/nstencil_half_multi2_2d.cpp @@ -0,0 +1,111 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_multi2_2d.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfMulti22d::NStencilHalfMulti23d(LAMMPS *lmp) : + NStencil(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfMulti23d::set_stencil_properties() +{ + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 1; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + } + + // Cross types: use full stencil, looking one way through hierarchy + // smaller -> larger => use full stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; + if(cuttypesq[i] > cuttypesq[j]) continue; + + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] == cuttypesq[j]){ + stencil_half[i][j] = 1; + stencil_bin_type[i][j] = i; + } else { + stencil_half[i][j] = 0; + stencil_bin_type[i][j] = j; + } + } + } +} + +/* ---------------------------------------------------------------------- + create stencils based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfMulti23d::create() +{ + int itype, jtype, i, j, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + if (stencil_half[itype][jtype]) { + for (j = 0; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (j > 0 || (j == 0 && i > 0)) { + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + } + } else { + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + } + + nstencil_multi2[itype][jtype] = ns; + } + } +} + diff --git a/src/nstencil_half_multi2_2d.h b/src/nstencil_half_multi2_2d.h new file mode 100644 index 0000000000..ba3a471833 --- /dev/null +++ b/src/nstencil_half_multi2_2d.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi2/2d, + NStencilHalfMulti22d, NS_HALF | NS_MULTI2 | NS_2D | NS_ORTHO) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI2_2D_H +#define LMP_NSTENCIL_HALF_MULTI2_2D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti22d : public NStencil { + public: + NStencilHalfMulti22d(class LAMMPS *); + ~NStencilHalfMulti22d(); + void create(); + + protected: + void set_stencil_properties(); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp new file mode 100755 index 0000000000..46f55300ce --- /dev/null +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -0,0 +1,108 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "nstencil_half_multi2_2d_tri.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "nbin.h" +#include "memory.h" +#include "atom.h" +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NStencilHalfMulti22dTri::NStencilHalfMulti22d(LAMMPS *lmp) : + NStencil(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfMulti22d::set_stencil_properties() +{ + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 1; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + } + + // Cross types: use full stencil, looking one way through hierarchy + // smaller -> larger => use full stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; + if(cuttypesq[i] > cuttypesq[j]) continue; + + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] == cuttypesq[j]){ + stencil_half[i][j] = 1; + stencil_bin_type[i][j] = i; + } else { + stencil_half[i][j] = 0; + stencil_bin_type[i][j] = j; + } + } + } +} + +/* ---------------------------------------------------------------------- + create stencils based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfMulti22d::create() +{ + int itype, jtype, i, j, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + if (stencil_half[itype][jtype]) { + for (j = 0; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + } else { + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,0) < cutsq) + stencil_type[itype][jtype][ns++] = j*mbinx + i; + } + + nstencil_multi2[itype][jtype] = ns; + } + } +} diff --git a/src/nstencil_half_multi2_2d_tri.h b/src/nstencil_half_multi2_2d_tri.h new file mode 100755 index 0000000000..1d25e56776 --- /dev/null +++ b/src/nstencil_half_multi2_2d_tri.h @@ -0,0 +1,45 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi2/2d/tri, + NStencilHalfMulti22dTri, NS_HALF | NS_MULTI2 | NS_2D | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI2_2D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI2_2D_TRI_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti22dTri : public NStencil { + public: + NStencilHalfMulti22dTri(class LAMMPS *); + ~NStencilHalfMulti22dTri(); + void create(); + + protected: + void set_stencil_properties(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 7fc53fe762..02a65bd3a1 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bytype_3d_newton.h" +#include "nstencil_half_multi2_3d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,183 +23,95 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBytype3dNewton::NStencilHalfBytype3dNewton(LAMMPS *lmp) : - NStencil(lmp) +NStencilHalfMulti23d::NStencilHalfMulti23d(LAMMPS *lmp) : + NStencil(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void NStencilHalfMulti23d::set_stencil_properties() { - maxstencil_type = NULL; -} - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { - - memory->destroy(nstencil_type); - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = 0; j <= atom->ntypes; j++) { - if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); - } - delete [] stencil_type[i]; - } - delete [] stencil_type; - memory->destroy(maxstencil_type); -} - -/* ---------------------------------------------------------------------- */ - -// KS To superclass -void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { - - mbinx = nb->mbinx_type[itype]; - mbiny = nb->mbiny_type[itype]; - mbinz = nb->mbinz_type[itype]; - binsizex = nb->binsizex_type[itype]; - binsizey = nb->binsizey_type[itype]; - binsizez = nb->binsizez_type[itype]; - bininvx = nb->bininvx_type[itype]; - bininvy = nb->bininvy_type[itype]; - bininvz = nb->bininvz_type[itype]; -} - -/* ---------------------------------------------------------------------- */ - -// KS To superclass? -int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { - - cutneighmaxsq = neighbor->cutneighsq[itype][itype]; - cutneighmax = sqrt(cutneighmaxsq); - cuttypesq = neighbor->cuttypesq; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 3d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - return ((2*sx+1) * (2*sy+1) * (2*sz+1)); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create_setup() -{ - - int itype, jtype; - int maxtypes; - int smax; - - // maxstencil_type to superclass? - maxtypes = atom->ntypes; - - if (maxstencil_type == NULL) { - memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); - memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); - stencil_type = new int**[maxtypes+1](); - for (itype = 1; itype <= maxtypes; ++itype) { - stencil_type[itype] = new int*[maxtypes+1](); - for (jtype = 1; jtype <= maxtypes; ++jtype) { - maxstencil_type[itype][jtype] = 0; - nstencil_type[itype][jtype] = 0; - } - } + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 1; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); } - // like -> like => use standard Newton stencil at bin - - for (itype = 1; itype <= maxtypes; ++itype) { - copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); - if (smax > maxstencil_type[itype][itype]) { - maxstencil_type[itype][itype] = smax; - memory->destroy(stencil_type[itype][itype]); - memory->create(stencil_type[itype][itype], smax, - "NStencilHalfBytypeNewton::create_steup() stencil"); - } - create_newton(itype, itype, cutneighmaxsq); - } - - // Cross types: "Newton on" reached by using Newton off stencil and - // looking one way through hierarchy - // smaller -> larger => use Newton off stencil in larger bin + // Cross types: use full stencil, looking one way through hierarchy + // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstecil required // If cut offs are same, use existing type-type stencil - for (itype = 1; itype <= maxtypes; ++itype) { - for (jtype = 1; jtype <= maxtypes; ++jtype) { - if (itype == jtype) continue; - if (cuttypesq[itype] == cuttypesq[jtype]) { - nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; - stencil_type[itype][jtype] = stencil_type[jtype][jtype]; - } - else if (cuttypesq[itype] < cuttypesq[jtype]) { - copy_bin_info_bytype(jtype); + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; + if(cuttypesq[i] > cuttypesq[j]) continue; - cutneighmaxsq = cuttypesq[jtype]; - cutneighmax = sqrt(cutneighmaxsq); - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - if (smax > maxstencil_type[itype][jtype]) { - maxstencil_type[itype][jtype] = smax; - memory->destroy(stencil_type[itype][jtype]); - memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); - } - create_newtoff(itype, jtype, cuttypesq[jtype]); + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] == cuttypesq[j]){ + stencil_half[i][j] = 1; + stencil_bin_type[i][j] = i; + } else { + stencil_half[i][j] = 0; + stencil_bin_type[i][j] = j; } } } - -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = 0; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - } - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create_newtoff(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - - nstencil_type[itype][jtype] = ns; } /* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff + create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfBytype3dNewton::create() +void NStencilHalfMulti23d::create() { - // KS. Move "creation" here. + int itype, jtype, i, j, k, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + sz = sz_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + mbinz = mbinz_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + if (stencil_half[itype][jtype]) { + for (k = 0; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (k > 0 || j > 0 || (j == 0 && i > 0)) { + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = + k*mbiny*mbinx + j*mbinx + i; + } + } else { + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = + k*mbiny*mbinx + j*mbinx + i; + } + + nstencil_multi2[itype][jtype] = ns; + } + } } + diff --git a/src/nstencil_half_multi2_3d.h b/src/nstencil_half_multi2_3d.h index e39db1c1e1..9cae8269cb 100644 --- a/src/nstencil_half_multi2_3d.h +++ b/src/nstencil_half_multi2_3d.h @@ -13,32 +13,27 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bytype/3d, - NStencilHalfBytype3dNewton, NS_HALF | NS_BYTYPE | NS_3D | NS_ORTHO) +NStencilStyle(half/multi2/3d, + NStencilHalfMulti23d, NS_HALF | NS_MULTI2 | NS_3D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_H -#define LMP_NSTENCIL_HALF_BYTYPE_3D_H +#ifndef LMP_NSTENCIL_HALF_MULTI2_3D_H +#define LMP_NSTENCIL_HALF_MULTI2_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfBytype3dNewton : public NStencil { +class NStencilHalfMulti23d : public NStencil { public: - NStencilHalfBytype3dNewton(class LAMMPS *); - ~NStencilHalfBytype3dNewton(); - void create_setup(); + NStencilHalfMulti23d(class LAMMPS *); + ~NStencilHalfMulti23d(); void create(); - private: - int ** maxstencil_type; + protected: + void set_stencil_properties(); - void copy_bin_info_bytype(int); - int copy_neigh_info_bytype(int); - void create_newton(int, int, double); - void create_newtoff(int, int, double); }; } diff --git a/src/nstencil_half_multi2_3d_delete_noff.cpp b/src/nstencil_half_multi2_3d_delete_noff.cpp deleted file mode 100644 index fedc8060ce..0000000000 --- a/src/nstencil_half_multi2_3d_delete_noff.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bytype_3d_newtoff.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "nbin.h" -#include "memory.h" -#include "atom.h" -#include - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBytype3dNewtoff::NStencilHalfBytype3dNewtoff(LAMMPS *lmp) : - NStencil(lmp) -{ - maxstencil_type = NULL; -} - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBytype3dNewtoff::~NStencilHalfBytype3dNewtoff() { - - memory->destroy(nstencil_type); - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = 0; j <= atom->ntypes; j++) { - if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); - } - delete [] stencil_type[i]; - } - delete [] stencil_type; - memory->destroy(maxstencil_type); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewtoff::copy_bin_info_bytype(int itype) { - - mbinx = nb->mbinx_type[itype]; - mbiny = nb->mbiny_type[itype]; - mbinz = nb->mbinz_type[itype]; - binsizex = nb->binsizex_type[itype]; - binsizey = nb->binsizey_type[itype]; - binsizez = nb->binsizez_type[itype]; - bininvx = nb->bininvx_type[itype]; - bininvy = nb->bininvy_type[itype]; - bininvz = nb->bininvz_type[itype]; -} - -/* ---------------------------------------------------------------------- */ - -int NStencilHalfBytype3dNewtoff::copy_neigh_info_bytype(int itype) { - - cutneighmaxsq = neighbor->cutneighsq[itype][itype]; - cutneighmax = sqrt(cutneighmaxsq); - cuttypesq = neighbor->cuttypesq; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 3d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - return ((2*sx+1) * (2*sy+1) * (2*sz+1)); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewtoff::create_setup() -{ - - int itype, jtype; - int maxtypes; - int smax; - - maxtypes = atom->ntypes; - - if (maxstencil_type == NULL) { - memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "BAD A"); - memory->create(nstencil_type, maxtypes+1, maxtypes+1, "BAD B"); - stencil_type = new int**[maxtypes+1](); - for (itype = 1; itype <= maxtypes; ++itype) { - stencil_type[itype] = new int*[maxtypes+1](); - for (jtype = 1; jtype <= maxtypes; ++jtype) { - maxstencil_type[itype][jtype] = 0; - } - } - } - - // like -> like => use standard newtoff stencil at bin - - for (itype = 1; itype <= maxtypes; ++itype) { - copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); - if (smax > maxstencil_type[itype][itype]) { - maxstencil_type[itype][itype] = smax; - memory->destroy(stencil_type[itype][itype]); - memory->create(stencil_type[itype][itype], smax, - "NStencilHalfBytypeNewtoff::create_steup() stencil"); - } - create_newtoff(itype, itype, cutneighmaxsq); - } - - // smaller -> larger => use existing newtoff stencil in larger bin - // larger -> smaller => use multi-like stencil for small-large in smaller bin - // If types are same cutoff, use existing like-like stencil. - - for (itype = 1; itype <= maxtypes; ++itype) { - for (jtype = 1; jtype <= maxtypes; ++jtype) { - if (itype == jtype) continue; - if (cuttypesq[itype] <= cuttypesq[jtype]) { - // Potential destroy/create problem? - nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; - stencil_type[itype][jtype] = stencil_type[jtype][jtype]; - } - else { - copy_bin_info_bytype(jtype); - // smax = copy_neigh_info_bytype(jtype); - - cutneighmaxsq = cuttypesq[jtype]; - cutneighmax = sqrt(cutneighmaxsq); - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - if (smax > maxstencil_type[itype][jtype]) { - maxstencil_type[itype][jtype] = smax; - memory->destroy(stencil_type[itype][jtype]); - memory->create(stencil_type[itype][jtype], smax, "Bad C"); - } - create_newtoff(itype, jtype, cuttypesq[jtype]); - } - } - } - - //for (itype = 1; itype <= maxtypes; itype++) { - // for (jtype = 1; jtype <= maxtypes; jtype++) { - // printf("i j n %d %d %d\n", itype, jtype, nstencil_type[itype][jtype]); - // printf("i j n %d %d %d\n", itype, jtype, maxstencil_type[itype][jtype]); - // } - // } - -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewtoff::create_newtoff(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewtoff::create() -{ - //int i,j,k; - - //nstencil = 0; - - //for (k = -sz; k <= sz; k++) - // for (j = -sy; j <= sy; j++) - // for (i = -sx; i <= sx; i++) - // if (bin_distance(i,j,k) < cutneighmaxsq) - // stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; -} diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index f1ab713725..bcaf22abbd 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_bytype_3d_newton.h" +#include "nstencil_half_multi2_3d_tri.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,31 +23,100 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBytype3dNewton::NStencilHalfBytype3dNewton(LAMMPS *lmp) : - NStencil(lmp) -{ - maxstencil_type = NULL; -} +NStencilHalfMulti23dTri::NStencilHalfMulti23d(LAMMPS *lmp) : + NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -NStencilHalfBytype3dNewton::~NStencilHalfBytype3dNewton() { - - memory->destroy(nstencil_type); - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = 0; j <= atom->ntypes; j++) { - if (maxstencil_type[i][j] > 0) memory->destroy(stencil_type[i][j]); - } - delete [] stencil_type[i]; +void NStencilHalfMulti23d::set_stencil_properties() +{ + int n = atom->ntypes; + int i, j; + + // like -> like => use half stencil + for (i = 1; i <= n; i++) { + stencil_half[i][i] = 1; + stencil_skip[i][i] = 0; + stencil_bin_type[i][i] = i; + stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + } + + // Cross types: use full stencil, looking one way through hierarchy + // smaller -> larger => use full stencil in larger bin + // larger -> smaller => no nstecil required + // If cut offs are same, use existing type-type stencil + + for (i = 1; i <= n; i++) { + for (j = 1; j <= n; j++) { + if(i == j) continue; + if(cuttypesq[i] > cuttypesq[j]) continue; + + stencil_skip[i][j] = 0; + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + + if(cuttypesq[i] == cuttypesq[j]){ + stencil_half[i][j] = 1; + stencil_bin_type[i][j] = i; + } else { + stencil_half[i][j] = 0; + stencil_bin_type[i][j] = j; + } + } + } +} + +/* ---------------------------------------------------------------------- + create stencils based on bin geometry and cutoff +------------------------------------------------------------------------- */ + +void NStencilHalfMulti23d::create() +{ + int itype, jtype, i, j, k, ns; + int n = atom->ntypes; + double cutsq; + + + for (itype = 1; itype <= n; itype++) { + for (jtype = 1; jtype <= n; jtype++) { + if (stencil_skip[itype][jtype]) continue; + + ns = 0; + + sx = sx_multi2[itype][jtype]; + sy = sy_multi2[itype][jtype]; + sz = sz_multi2[itype][jtype]; + + mbinx = mbinx_multi2[itype][jtype]; + mbiny = mbiny_multi2[itype][jtype]; + mbinz = mbinz_multi2[itype][jtype]; + + cutsq = stencil_cut[itype][jtype]; + + if (stencil_half[itype][jtype]) { + for (k = 0; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = + k*mbiny*mbinx + j*mbinx + i; + } else { + for (k = -sz; k <= sz; k++) + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance(i,j,k) < cutsq) + stencil_type[itype][jtype][ns++] = + k*mbiny*mbinx + j*mbinx + i; + } + + nstencil_multi2[itype][jtype] = ns; + } } - delete [] stencil_type; - memory->destroy(maxstencil_type); } /* ---------------------------------------------------------------------- */ // KS To superclass -void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { +void NStencilHalfMulti23d::copy_bin_info_bytype(int itype) { mbinx = nb->mbinx_type[itype]; mbiny = nb->mbiny_type[itype]; @@ -63,7 +132,7 @@ void NStencilHalfBytype3dNewton::copy_bin_info_bytype(int itype) { /* ---------------------------------------------------------------------- */ // KS To superclass? -int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { +int NStencilHalfMulti23d::copy_neigh_info_bytype(int itype) { cutneighmaxsq = neighbor->cutneighsq[itype][itype]; cutneighmax = sqrt(cutneighmaxsq); @@ -85,7 +154,7 @@ int NStencilHalfBytype3dNewton::copy_neigh_info_bytype(int itype) { /* ---------------------------------------------------------------------- */ -void NStencilHalfBytype3dNewton::create_setup() +void NStencilHalfMulti23d::create_setup() { int itype, jtype; @@ -157,47 +226,4 @@ void NStencilHalfBytype3dNewton::create_setup() } } } - -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create_newton(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = 0; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create_newtoff(int itype, int jtype, double cutsq) { - - int i, j, k, ns; - - ns = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - - nstencil_type[itype][jtype] = ns; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBytype3dNewton::create() -{ - // KS. Move "creation" here. } diff --git a/src/nstencil_half_multi2_3d_tri.h b/src/nstencil_half_multi2_3d_tri.h index 5424d73f11..f4b37ebebe 100755 --- a/src/nstencil_half_multi2_3d_tri.h +++ b/src/nstencil_half_multi2_3d_tri.h @@ -13,32 +13,26 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bytype/3d, - NStencilHalfBytype3d, NS_HALF | NS_BYTYPE | NS_3D | NS_TRI) +NStencilStyle(half/multi2/3d/tri, + NStencilHalfMulti23dTri, NS_HALF | NS_MULTI2 | NS_3D | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_BYTYPE_3D_H -#define LMP_NSTENCIL_HALF_BYTYPE_3D_H +#ifndef LMP_NSTENCIL_HALF_MULTI2_3D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI2_3D_TRI_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfBytype3dNewton : public NStencil { +class NStencilHalfMulti23dTri : public NStencil { public: - NStencilHalfBytype3dNewton(class LAMMPS *); - ~NStencilHalfBytype3dNewton(); - void create_setup(); + NStencilHalfMulti23dTri(class LAMMPS *); + ~NStencilHalfMulti23dTri(); void create(); - private: - int ** maxstencil_type; - - void copy_bin_info_bytype(int); - int copy_neigh_info_bytype(int); - void create_newton(int, int, double); - void create_newtoff(int, int, double); + protected: + void set_stencil_properties(); }; } From bdc21c87b211f6f08be703471c3d4bee5934bc89 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 20:15:54 -0700 Subject: [PATCH 009/542] Clarifying multi2 stencil label --- src/nstencil.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 525369d573..b7cfe4dc72 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -53,9 +53,10 @@ using namespace LAMMPS_NS; no versions that allow ghost on (any need for it?) for multi2: create one stencil for each itype-jtype pairing - stencils do not generally follow the same rules for half/full or newton on/off - full stencils including all surrounding bins are always used except - for same-type stencils with newton on which uses a half stencil + the full/half stencil label refers to the same-type stencil + a half list with newton on has a half same-type stencil + a full list or half list with newton of has a full same-type stencil + cross type stencils are always full to allow small-to-large lookups for orthogonal boxes, a half stencil includes bins to the "upper right" of central bin for triclinic, a half stencil includes bins in the z (3D) or y (2D) plane of self and above cutoff is not cutneighmaxsq, but max cutoff for that atom type From 061229093cb7c28058fdbdcff2fd13c9226d78de Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 22:44:55 -0700 Subject: [PATCH 010/542] Adding npair classes --- src/npair.cpp | 65 +++++ src/npair.h | 14 ++ ...multi_tiered.cpp => npair_full_multi2.cpp} | 83 ++++--- ...ull_multi_tiered.h => npair_full_multi2.h} | 16 +- src/npair_half_multi2_newtoff.cpp | 143 +++++++++++ src/npair_half_multi2_newtoff.h | 47 ++++ src/npair_half_multi2_newton.cpp | 225 +++++++++--------- src/npair_half_multi2_newton.h | 16 +- src/npair_half_multi2_newton_tri.cpp | 172 +++++++------ src/npair_half_multi2_newton_tri.h | 16 +- src/npair_half_size_multi2_newtoff.cpp | 68 +++--- src/npair_half_size_multi2_newtoff.h | 16 +- src/npair_half_size_multi2_newton.cpp | 183 +++++++------- src/npair_half_size_multi2_newton.h | 16 +- src/npair_half_size_multi2_newton_tri.cpp | 145 ++++++----- src/npair_half_size_multi2_newton_tri.h | 16 +- src/nstencil.h | 4 +- 17 files changed, 738 insertions(+), 507 deletions(-) rename src/{npair_full_multi_tiered.cpp => npair_full_multi2.cpp} (63%) rename src/{npair_full_multi_tiered.h => npair_full_multi2.h} (75%) create mode 100755 src/npair_half_multi2_newtoff.cpp create mode 100755 src/npair_half_multi2_newtoff.h diff --git a/src/npair.cpp b/src/npair.cpp index 698ff28067..920728a692 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -134,6 +134,25 @@ void NPair::copy_bin_info() atom2bin = nb->atom2bin; bins = nb->bins; binhead = nb->binhead; + + nbinx_multi2 = nb->nbinx_multi2; + nbiny_multi2 = nb->nbiny_multi2; + nbinz_multi2 = nb->nbinz_multi2; + mbins_multi2 = nb->mbins_multi2; + mbinx_multi2 = nb->mbinx_multi2; + mbiny_multi2 = nb->mbiny_multi2; + mbinz_multi2 = nb->mbinz_multi2; + mbinxlo_multi2 = nb->mbinxlo_multi2; + mbinylo_multi2 = nb->mbinylo_multi2; + mbinzlo_multi2 = nb->mbinzlo_multi2; + + bininvx_multi2 = nb->bininvx_multi2; + bininvy_multi2 = nb->bininvy_multi2; + bininvz_multi2 = nb->bininvz_multi2; + + atom2bin_multi2 = nb->atom2bin_multi2; + bins_multi2 = nb->bins_multi2; + binhead_multi2 = nb->binhead_multi2; } /* ---------------------------------------------------------------------- @@ -148,6 +167,9 @@ void NPair::copy_stencil_info() nstencil_multi = ns->nstencil_multi; stencil_multi = ns->stencil_multi; distsq_multi = ns->distsq_multi; + + nstencil_multi2 = ns->nstencil_multi2; + stencil_multi2 = ns->stencil_multi2; } /* ---------------------------------------------------------------------- @@ -241,3 +263,46 @@ int NPair::coord2bin(double *x, int &ix, int &iy, int &iz) return iz*mbiny*mbinx + iy*mbinx + ix; } + +/* ---------------------------------------------------------------------- + same as coord2bin in NbinMulti2 +------------------------------------------------------------------------- */ + +int NPair::coord2bin(double *x, int it) +{ + int ix,iy,iz; + int ibin; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); + ix = MIN(ix,nbinx_multi2[it]-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); + iy = MIN(iy,nbiny_multi2[it]-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); + iz = MIN(iz,nbinz_multi2[it]-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; + + + ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] + + (iy-mbinylo_multi2[it])*mbinx_multi2[it] + + (ix-mbinxlo_multi2[it]); + return ibin; +} \ No newline at end of file diff --git a/src/npair.h b/src/npair.h index ec75042302..87b2584521 100644 --- a/src/npair.h +++ b/src/npair.h @@ -79,6 +79,14 @@ class NPair : protected Pointers { int *atom2bin,*bins; int *binhead; + int *nbinx_multi2, *nbiny_multi2, *nbinz_multi2; + int *mbins_multi2; + int *mbinx_multi2, *mbiny_multi2, *mbinz_multi2; + int *mbinxlo_multi2, *mbinylo_multi2, *mbinzlo_multi2; + double *bininvx_multi2, *bininvy_multi2, *bininvz_multi2; + int **binhead_multi2,**bins_multi2; + int **atom2bin_multi2; + // data from NStencil class int nstencil; @@ -88,6 +96,9 @@ class NPair : protected Pointers { int **stencil_multi; double **distsq_multi; + int ** nstencil_multi2; + int *** stencil_multi2; + // data common to all NPair variants int molecular; @@ -102,6 +113,9 @@ class NPair : protected Pointers { int coord2bin(double *); // mapping atom coord to a bin int coord2bin(double *, int &, int &, int&); // ditto + int coord2bin(double *, int); // mapping atom coord to type bin + + // find_special: determine if atom j is in special list of atom i // if it is not, return 0 // if it is and special flag is 0 (both coeffs are 0.0), return -1 diff --git a/src/npair_full_multi_tiered.cpp b/src/npair_full_multi2.cpp similarity index 63% rename from src/npair_full_multi_tiered.cpp rename to src/npair_full_multi2.cpp index 3b9a89bb56..4fbdc6148b 100644 --- a/src/npair_full_multi_tiered.cpp +++ b/src/npair_full_multi2.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_full_bytype.h" +#include "npair_full_multi2.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -19,28 +19,27 @@ #include "domain.h" #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairFullBytype::NPairFullBytype(LAMMPS *lmp) : NPair(lmp) {} +NPairFullMulti2::NPairFullMulti2(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- + REWRITE binned neighbor list construction for all neighbors multi-type stencil is itype dependent and is distance checked every neighbor pair appears in list of both atoms i and j - KS ADJUST ------------------------------------------------------------------------- */ -void NPairFullBytype::build(NeighList *list) +void NPairFullMulti2::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; + int js; double **x = atom->x; int *type = atom->type; @@ -84,48 +83,46 @@ void NPairFullBytype::build(NeighList *list) // skip if i,j neighbor cutoff is less than bin distance // skip i = j - int kbin; - ibin = nb->atom2bin_type[itype][i]; - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + ibin = atom2bin_multi2[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - kbin = ibin; - } - else { - // Locate i in ktype bin - kbin = nb->coord2bin(x[i], ktype); + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); } - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { - int js = this->nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = this->nb->bins_type[ktype][j]) { - if (i == j) continue; + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (i == j) continue; - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } } diff --git a/src/npair_full_multi_tiered.h b/src/npair_full_multi2.h similarity index 75% rename from src/npair_full_multi_tiered.h rename to src/npair_full_multi2.h index fdcd6b5fb1..f552e5bf47 100644 --- a/src/npair_full_multi_tiered.h +++ b/src/npair_full_multi2.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(full/bytype, - NPairFullBytype, - NP_FULL | NP_BYTYPE | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(full/multi2, + NPairFullMulti2, + NP_FULL | NP_MULTI2 | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_FULL_BYTYPE_H -#define LMP_NPAIR_FULL_BYTYPE_H +#ifndef LMP_NPAIR_FULL_MULTI2_H +#define LMP_NPAIR_FULL_MULTI2_H #include "npair.h" namespace LAMMPS_NS { -class NPairFullBytype : public NPair { +class NPairFullMulti2 : public NPair { public: - NPairFullBytype(class LAMMPS *); - ~NPairFullBytype() {} + NPairFullMulti2(class LAMMPS *); + ~NPairFullMulti2() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi2_newtoff.cpp b/src/npair_half_multi2_newtoff.cpp new file mode 100755 index 0000000000..83a8054247 --- /dev/null +++ b/src/npair_half_multi2_newtoff.cpp @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "npair_half_multi2_newtoff.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfMulti2Newtoff::NPairHalfMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + REWRITE + binned neighbor list construction with partial Newton's 3rd law + each owned atom i checks own bin and other bins in stencil + multi-type stencil is itype dependent and is distance checked + pair stored once if i,j are both owned and i < j + pair stored by me if j is ghost (also stored by proc owning j) +------------------------------------------------------------------------- */ + +void NPairHalfMulti2Newtoff::build(NeighList *list) +{ + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + int js; + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + if (molecular == Atom::TEMPLATE) moltemplate = 1; + else moltemplate = 0; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // skip if i,j neighbor cutoff is less than bin distance + // stores own/own pairs only once + // stores own/ghost pairs on both procs + + ibin = nb->atom2bin_type[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); + } + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >=0; j = nb->bins_multi2[ktype][j]) { + if (j <= i) continue; + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_multi2_newtoff.h b/src/npair_half_multi2_newtoff.h new file mode 100755 index 0000000000..30a6d3164d --- /dev/null +++ b/src/npair_half_multi2_newtoff.h @@ -0,0 +1,47 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi2/newtoff, + NPairHalfMulti2Newtoff, + NP_HALF | NP_MULTI2 | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTOFF_H +#define LMP_NPAIR_HALF_MULTI2_NEWTOFF_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMulti2Newtoff : public NPair { + public: + NPairHalfMulti2Newtoff(class LAMMPS *); + ~NPairHalfMulti2Newtoff() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + +*/ diff --git a/src/npair_half_multi2_newton.cpp b/src/npair_half_multi2_newton.cpp index 66899564be..58397f645e 100755 --- a/src/npair_half_multi2_newton.cpp +++ b/src/npair_half_multi2_newton.cpp @@ -11,9 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include -#include "npair_half_bytype_newton.h" -#include "neighbor.h" +#include "npair_half_multi2_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,14 +20,11 @@ #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfBytypeNewton::NPairHalfBytypeNewton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMulti2Newton::NPairHalfMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- KS REWRTIE @@ -39,12 +34,13 @@ NPairHalfBytypeNewton::NPairHalfBytypeNewton(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfBytypeNewton::build(NeighList *list) +void NPairHalfMulti2Newton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; + int js; double **x = atom->x; int *type = atom->type; @@ -84,129 +80,124 @@ void NPairHalfBytypeNewton::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - int js; - int kbin; - // own type: loop over atoms ahead in bin, including ghosts at end of list // if j is owned atom, store by virtue of being ahead of i in list // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = nb->atom2bin_type[itype][i]; - - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + ibin = atom2bin_multi2[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - // own bin ... - js = nb->bins_type[itype][i]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + // own bin ... + js = bins_multi2[itype][i]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } } - } - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = this->ns->stencil_type[itype][itype]; - ns = this->ns->nstencil_type[itype][itype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[itype][ibin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } - } - } - - } - else { + } else { // smaller -> larger: locate i in the ktype bin structure - kbin = nb->coord2bin(x[i], ktype); - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; - - for (k = 0; k < ns; k++) { - js = nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + kbin = coord2bin(x[i], ktype); + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } - } - } } } + ilist[inum++] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/npair_half_multi2_newton.h b/src/npair_half_multi2_newton.h index 8be7292219..8037d2e172 100755 --- a/src/npair_half_multi2_newton.h +++ b/src/npair_half_multi2_newton.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/bytype/newton, - NPairHalfBytypeNewton, - NP_HALF | NP_BYTYPE | NP_NEWTON | NP_ORTHO) +NPairStyle(half/multi2/newton, + NPairHalfMulti2Newton, + NP_HALF | NP_MULTI2 | NP_NEWTON | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_BYTYPE_NEWTON_H -#define LMP_NPAIR_HALF_BYTYPE_NEWTON_H +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_H +#define LMP_NPAIR_HALF_MULTI2_NEWTON_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfBytypeNewton : public NPair { +class NPairHalfMulti2Newton : public NPair { public: - NPairHalfBytypeNewton(class LAMMPS *); - ~NPairHalfBytypeNewton() {} + NPairHalfMulti2Newton(class LAMMPS *); + ~NPairHalfMulti2Newton() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi2_newton_tri.cpp b/src/npair_half_multi2_newton_tri.cpp index 6b28e76789..c741a860f1 100755 --- a/src/npair_half_multi2_newton_tri.cpp +++ b/src/npair_half_multi2_newton_tri.cpp @@ -11,9 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include -#include "npair_half_bytype_newton_tri.h" -#include "neighbor.h" +#include "npair_half_multi2_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,14 +20,11 @@ #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfBytypeNewtonTri::NPairHalfBytypeNewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMulti2NewtonTri::NPairHalfMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- KS REWRTIE @@ -39,12 +34,13 @@ NPairHalfBytypeNewtonTri::NPairHalfBytypeNewtonTri(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfBytypeNewtonTri::build(NeighList *list) +void NPairHalfMulti2NewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; + int js; double **x = atom->x; int *type = atom->type; @@ -83,101 +79,97 @@ void NPairHalfBytypeNewtonTri::build(NeighList *list) iatom = molatom[i]; tagprev = tag[i] - iatom - 1; } - - int js; - int kbin; - + // own type: loop over atoms ahead in bin, including ghosts at end of list // if j is owned atom, store by virtue of being ahead of i in list // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = nb->atom2bin_type[itype][i]; + ibin = atom2bin_multi2[itype][i]; - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = this->ns->stencil_type[itype][itype]; - ns = this->ns->nstencil_type[itype][itype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[itype][ibin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } - } - } - - } - else { + } else { // smaller -> larger: locate i in the ktype bin structure - kbin = nb->coord2bin(x[i], ktype); - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; - - for (k = 0; k < ns; k++) { - js = nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + kbin = coord2bin(x[i], ktype); + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } - } - } } } + ilist[inum++] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/npair_half_multi2_newton_tri.h b/src/npair_half_multi2_newton_tri.h index 0582801028..0787860c52 100755 --- a/src/npair_half_multi2_newton_tri.h +++ b/src/npair_half_multi2_newton_tri.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/bytype/newton/tri, - NPairHalfBytypeNewtonTri, - NP_HALF | NP_BYTYPE | NP_NEWTON | NP_TRI) +NPairStyle(half/multi2/newton/tri, + NPairHalfMulti2NewtonTri, + NP_HALF | NP_MULTI2 | NP_NEWTON | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_BYTYPE_NEWTON_TRI_H -#define LMP_NPAIR_HALF_BYTYPE_NEWTON_TRI_H +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_H +#define LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfBytypeNewtonTri : public NPair { +class NPairHalfMulti2NewtonTri : public NPair { public: - NPairHalfBytypeNewtonTri(class LAMMPS *); - ~NPairHalfBytypeNewtonTri() {} + NPairHalfMulti2NewtonTri(class LAMMPS *); + ~NPairHalfMulti2NewtonTri() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi2_newtoff.cpp b/src/npair_half_size_multi2_newtoff.cpp index 220ae747a7..0ea9e493ce 100644 --- a/src/npair_half_size_multi2_newtoff.cpp +++ b/src/npair_half_size_multi2_newtoff.cpp @@ -12,20 +12,18 @@ es certain rights in this software. This software is distributed under ------------------------------------------------------------------------- */ #include -#include "npair_half_size_bytype_newtoff.h" +#include "npair_half_size_multi2_newtoff.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeBytypeNewtoff::NPairHalfSizeBytypeNewtoff(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMulti2Newtoff::NPairHalfSizeMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- REWRITE @@ -36,12 +34,13 @@ NPairHalfSizeBytypeNewtoff::NPairHalfSizeBytypeNewtoff(LAMMPS *lmp) : NPair(lmp) pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeBytypeNewtoff::build(NeighList *list) +void NPairHalfSizeMulti2Newtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; + int js; double **x = atom->x; double *radius = atom->radius; @@ -78,41 +77,40 @@ void NPairHalfSizeBytypeNewtoff::build(NeighList *list) // stores own/own pairs only once // stores own/ghost pairs on both procs - int kbin; - ibin = nb->atom2bin_type[itype][i]; - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - kbin = ibin; + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); } - else { - // Locate i in ktype bin - kbin = nb->coord2bin(x[i], ktype); - } - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { - int js = nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >=0; j = nb->bins_type[ktype][j]) { - if (j <= i) continue; - jtype = type[j]; + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >=0; j = nb->bins_multi2[ktype][j]) { + if (j <= i) continue; + + jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } } diff --git a/src/npair_half_size_multi2_newtoff.h b/src/npair_half_size_multi2_newtoff.h index 183bd39fb3..15540666c3 100644 --- a/src/npair_half_size_multi2_newtoff.h +++ b/src/npair_half_size_multi2_newtoff.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/bytype/newtoff, - NPairHalfSizeBytypeNewtoff, - NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(half/size/multi2/newtoff, + NPairHalfSizeMulti2Newtoff, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTOFF_H -#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTOFF_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeBytypeNewtoff : public NPair { +class NPairHalfSizeMulti2Newtoff : public NPair { public: - NPairHalfSizeBytypeNewtoff(class LAMMPS *); - ~NPairHalfSizeBytypeNewtoff() {} + NPairHalfSizeMulti2Newtoff(class LAMMPS *); + ~NPairHalfSizeMulti2Newtoff() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index 339c4859a6..3b89c259ec 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -11,21 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include -#include "npair_half_size_bytype_newton.h" +#include "npair_half_size_multi2_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeBytypeNewton::NPairHalfSizeBytypeNewton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMulti2Newton::NPairHalfSizeMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- KS REWRTIE @@ -35,9 +32,9 @@ NPairHalfSizeBytypeNewton::NPairHalfSizeBytypeNewton(LAMMPS *lmp) : NPair(lmp) { every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeBytypeNewton::build(NeighList *list) +void NPairHalfSizeMulti2Newton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -71,110 +68,104 @@ void NPairHalfSizeBytypeNewton::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - int js; - int kbin; - // own type: loop over atoms ahead in bin, including ghosts at end of list // if j is owned atom, store by virtue of being ahead of i in list // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = nb->atom2bin_type[itype][i]; + ibin = nb->atom2bin_multi2[itype][i]; - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - // own bin ... - js = nb->bins_type[itype][i]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + // own bin ... + js = bins_multi2[itype][i]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } } - } - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = this->ns->stencil_type[itype][itype]; - ns = this->ns->nstencil_type[itype][itype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[itype][ibin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - jtype = type[j]; - // KS. CHECK ME if (cutsq[jtype] < distsq[k]) continue; - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } - } - } - - } - else { - // KS + } else { // smaller -> larger: locate i in the ktype bin structure - kbin = nb->coord2bin(x[i], ktype); - - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { - - jtype = type[j]; - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + kbin = coord2bin(x[i], ktype); + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } - } - } } } + ilist[inum++] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/npair_half_size_multi2_newton.h b/src/npair_half_size_multi2_newton.h index 3cd1ee05d1..8c7bc1cc9e 100755 --- a/src/npair_half_size_multi2_newton.h +++ b/src/npair_half_size_multi2_newton.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/bytype/newton, - NPairHalfSizeBytypeNewton, - NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTON | NP_ORTHO) +NPairStyle(half/size/multi2/newton, + NPairHalfSizeMulti2Newton, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_H -#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeBytypeNewton : public NPair { +class NPairHalfSizeMulti2Newton : public NPair { public: - NPairHalfSizeBytypeNewton(class LAMMPS *); - ~NPairHalfSizeBytypeNewton() {} + NPairHalfSizeMulti2Newton(class LAMMPS *); + ~NPairHalfSizeMulti2Newton() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi2_newton_tri.cpp b/src/npair_half_size_multi2_newton_tri.cpp index 62d499b10f..1c0c1d514f 100755 --- a/src/npair_half_size_multi2_newton_tri.cpp +++ b/src/npair_half_size_multi2_newton_tri.cpp @@ -11,21 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include -#include "npair_half_size_bytype_newton_tri.h" +#include "npair_half_size_multi2_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" #include "my_page.h" #include "error.h" -#include "nbin.h" -#include "nstencil.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeBytypeNewtonTri::NPairHalfSizeBytypeNewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMulti2NewtonTri::NPairHalfSizeMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- KS REWRTIE @@ -35,9 +32,9 @@ NPairHalfSizeBytypeNewtonTri::NPairHalfSizeBytypeNewtonTri(LAMMPS *lmp) : NPair( every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeBytypeNewtonTri::build(NeighList *list) +void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -71,89 +68,83 @@ void NPairHalfSizeBytypeNewtonTri::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - int js; - int kbin; - // own type: loop over atoms ahead in bin, including ghosts at end of list // if j is owned atom, store by virtue of being ahead of i in list // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = nb->atom2bin_type[itype][i]; + ibin = atom2bin_multi2[itype][i]; - for (int ktype = 1; ktype <= atom->ntypes; ktype++) { + for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = this->ns->stencil_type[itype][itype]; - ns = this->ns->nstencil_type[itype][itype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[itype][ibin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[itype][j]) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - jtype = type[j]; - // KS. CHECK ME if (cutsq[jtype] < distsq[k]) continue; - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } - } - } - - } - else { - // KS + } else { // smaller -> larger: locate i in the ktype bin structure - kbin = nb->coord2bin(x[i], ktype); - - s = this->ns->stencil_type[itype][ktype]; - ns = this->ns->nstencil_type[itype][ktype]; - for (k = 0; k < ns; k++) { - js = nb->binhead_type[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = nb->bins_type[ktype][j]) { - - jtype = type[j]; - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + kbin = coord2bin(x[i], ktype); + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } } - } - } } } + ilist[inum++] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/npair_half_size_multi2_newton_tri.h b/src/npair_half_size_multi2_newton_tri.h index 0f770e780d..6ce4f6d2fb 100755 --- a/src/npair_half_size_multi2_newton_tri.h +++ b/src/npair_half_size_multi2_newton_tri.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/bytype/newton/tri, - NPairHalfSizeBytypeNewtonTri, - NP_HALF | NP_SIZE | NP_BYTYPE | NP_NEWTON | NP_TRI) +NPairStyle(half/size/multi2/newton/tri, + NPairHalfSizeMulti2NewtonTri, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_TRI_H -#define LMP_NPAIR_HALF_SIZE_BYTYPE_NEWTON_TRI_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeBytypeNewtonTri : public NPair { +class NPairHalfSizeMulti2NewtonTri : public NPair { public: - NPairHalfSizeBytypeNewtonTri(class LAMMPS *); - ~NPairHalfSizeBytypeNewtonTri() {} + NPairHalfSizeMulti2NewtonTri(class LAMMPS *); + ~NPairHalfSizeMulti2NewtonTri() {} void build(class NeighList *); }; diff --git a/src/nstencil.h b/src/nstencil.h index 7c6a04a56a..faf4ca0872 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -34,7 +34,9 @@ class NStencil : protected Pointers { int *** stencil_multi2; // list of bin offsets in each multi2 stencil int ** maxstencil_multi2; // max stencil size for each multi2 stencil - ^do i need a multi 2 analog to distsq_multi? + // Note distsq_multi is used in multi to quickly skip bins beyond interaction cutoff + // Not quite sure why bins are beyond this distance? Have to think + // Probably not needed for multi2 since bins are more efficiently chosen int sx,sy,sz; // extent of stencil in each dim int **sx_multi2; // analogs for multi tiered From 9a3ece75f25c9b6d8aa0ab1b6f2af6e8cf9c8875 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 10 Nov 2020 23:30:58 -0700 Subject: [PATCH 011/542] Batch 1 of typo/bug fixes --- src/comm_brick.cpp | 4 +- src/nbin.cpp | 72 +++++++------- src/npair_half_size_multi2_newtoff.cpp | 4 +- src/nstencil.cpp | 8 ++ src/nstencil.h | 5 +- src/nstencil_full_multi2_2d.h | 2 +- src/nstencil_full_multi2_3d.cpp | 2 +- src/nstencil_full_multi2_3d.h | 2 +- src/nstencil_half_multi2_2d.cpp | 10 +- src/nstencil_half_multi2_2d_tri.cpp | 10 +- src/nstencil_half_multi2_3d_tri.cpp | 125 +------------------------ 11 files changed, 70 insertions(+), 174 deletions(-) diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 981e86c2a4..e283e08e20 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -211,8 +211,8 @@ void CommBrick::setup() cutghost[2] = cut * length2; if (mode == Comm::MULTI) { - if (multi_tiered) { - // If using tiered binlists, use the itype-itype interaction distance for communication + if (multi2) { + // If using multi2 binlists, use the itype-itype interaction distance for communication double **cutneighsq = neighbor->cutneighsq; for (i = 1; i <= ntypes; i++) { cut = 0.0; diff --git a/src/nbin.cpp b/src/nbin.cpp index 4ab3270287..cf6ef3ddd4 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -31,18 +31,18 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) bins = nullptr; atom2bin = nullptr; - nbinx_tiered = nullptr; nbiny_tiered = nullptr; nbinz_tiered = nullptr; - mbins_tiered = nullptr; - mbinx_tiered = nullptr; mbiny_tiered = nullptr, mbinz_tiered = nullptr; - mbinxlo_tiered = nullptr; - mbinylo_tiered = nullptr; - mbinzlo_tiered = nullptr; - binsizex_tiered = nullptr; binsizey_tiered = nullptr; binsizez_tiered = nullptr; - bininvx_tiered = nullptr; bininvy_tiered = nullptr; bininvz_tiered = nullptr; - binhead_tiered = nullptr; - bins_tiered = nullptr; - atom2bin_tiered = nullptr; - maxbins_tiered = nullptr; + nbinx_multi2 = nullptr; nbiny_multi2 = nullptr; nbinz_multi2 = nullptr; + mbins_multi2 = nullptr; + mbinx_multi2 = nullptr; mbiny_multi2 = nullptr, mbinz_multi2 = nullptr; + mbinxlo_multi2 = nullptr; + mbinylo_multi2 = nullptr; + mbinzlo_multi2 = nullptr; + binsizex_multi2 = nullptr; binsizey_multi2 = nullptr; binsizez_multi2 = nullptr; + bininvx_multi2 = nullptr; bininvy_multi2 = nullptr; bininvz_multi2 = nullptr; + binhead_multi2 = nullptr; + bins_multi2 = nullptr; + atom2bin_multi2 = nullptr; + maxbins_multi2 = nullptr; maxtypes = 0; @@ -64,36 +64,36 @@ NBin::~NBin() memory->destroy(bins); memory->destroy(atom2bin); - if (!bins_tiered) return; + if (!bins_multi2) return; - memory->destroy(nbinx_tiered); - memory->destroy(nbiny_tiered); - memory->destroy(nbinz_tiered); - memory->destroy(mbins_tiered); - memory->destroy(mbinx_tiered); - memory->destroy(mbiny_tiered); - memory->destroy(mbinz_tiered); - memory->destroy(mbinxlo_tiered); - memory->destroy(mbinylo_tiered); - memory->destroy(mbinzlo_tiered); + memory->destroy(nbinx_multi2); + memory->destroy(nbiny_multi2); + memory->destroy(nbinz_multi2); + memory->destroy(mbins_multi2); + memory->destroy(mbinx_multi2); + memory->destroy(mbiny_multi2); + memory->destroy(mbinz_multi2); + memory->destroy(mbinxlo_multi2); + memory->destroy(mbinylo_multi2); + memory->destroy(mbinzlo_multi2); - memory->destroy(binsizex_tiered); - memory->destroy(binsizey_tiered); - memory->destroy(binsizez_tiered); - memory->destroy(bininvx_tiered); - memory->destroy(bininvy_tiered); - memory->destroy(bininvz_tiered); + memory->destroy(binsizex_multi2); + memory->destroy(binsizey_multi2); + memory->destroy(binsizez_multi2); + memory->destroy(bininvx_multi2); + memory->destroy(bininvy_multi2); + memory->destroy(bininvz_multi2); for (int n = 1; n <= maxtypes; n++) { - memory->destroy(binhead_tiered[n]); - memory->destroy(bins_tiered[n]); - memory->destroy(atom2bin_tiered[n]); + memory->destroy(binhead_multi2[n]); + memory->destroy(bins_multi2[n]); + memory->destroy(atom2bin_multi2[n]); } - delete [] binhead_tiered; - delete [] bins_tiered; - delete [] atom2bin_tiered; + delete [] binhead_multi2; + delete [] bins_multi2; + delete [] atom2bin_multi2; - memory->destroy(maxbins_tiered); + memory->destroy(maxbins_multi2); } /* ---------------------------------------------------------------------- */ diff --git a/src/npair_half_size_multi2_newtoff.cpp b/src/npair_half_size_multi2_newtoff.cpp index 0ea9e493ce..0e0137a77e 100644 --- a/src/npair_half_size_multi2_newtoff.cpp +++ b/src/npair_half_size_multi2_newtoff.cpp @@ -77,7 +77,7 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) // stores own/own pairs only once // stores own/ghost pairs on both procs - ibin = nb->atom2bin_type[itype][i]; + ibin = atom2bin_multi2[itype][i]; for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { kbin = ibin; @@ -90,7 +90,7 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = nb->bins_multi2[ktype][j]) { + for (j = js; j >=0; j = bins_multi2[ktype][j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index b7cfe4dc72..bcde1024b3 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -284,6 +284,10 @@ void NStencil::create_setup() memory->create(binsizez_multi2, n+1, n+1, "neighstencil:binsizez_multi2"); + memory->create(mbinx_multi2, n+1, n+1,"neighstencil:mbinx_multi2"); + memory->create(mbiney_multi2, n+1, n+1, "neighstencil:mbiny_multi2"); + memory->create(mbinz_multi2, n+1, n+1, "neighstencil:mbinz_multi2"); + // Skip all stencils by default, initialize smax for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { @@ -323,6 +327,10 @@ void NStencil::create_setup() binsizey_multi2[i][j] = binsizey; binsizez_multi2[i][j] = binsizez; + mbinx_multi2[i][j] = mbinx; + mbiny_multi2[i][j] = mbiny; + mbinz_multi2[i][j] = mbinz; + stencil_range = stencil_cut[i][j]; sx = static_cast (stencil_range*bininvx); diff --git a/src/nstencil.h b/src/nstencil.h index faf4ca0872..158ced07d2 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -70,7 +70,7 @@ class NStencil : protected Pointers { double cutneighmax; double cutneighmaxsq; double *cuttypesq; - double *cutneighsq; + double **cutneighsq; // data from NBin class @@ -80,6 +80,9 @@ class NStencil : protected Pointers { // analogs for multi-tiered + int **mbinx_multi2; + int **mbiny_multi2; + int **mbinz_multi2; double **binsizex_multi2; double **binsizey_multi2; double **binsizez_multi2; diff --git a/src/nstencil_full_multi2_2d.h b/src/nstencil_full_multi2_2d.h index 1dfc5ae4d6..b9f46056c5 100644 --- a/src/nstencil_full_multi2_2d.h +++ b/src/nstencil_full_multi2_2d.h @@ -14,7 +14,7 @@ #ifdef NSTENCIL_CLASS NStencilStyle(full/multi2/2d, - NStencilFullMulti22d, NS_FULL | NS_Multi2 | NS_2D | NS_ORTHO | NS_TRI) + NStencilFullMulti22d, NS_FULL | NS_MULTI2 | NS_2D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 77ae62738c..808c2d334d 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -92,7 +92,7 @@ void NStencilFullMulti23d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = + stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; nstencil_multi2[itype][jtype] = ns; diff --git a/src/nstencil_full_multi2_3d.h b/src/nstencil_full_multi2_3d.h index f7baefc8e9..102471f2c7 100644 --- a/src/nstencil_full_multi2_3d.h +++ b/src/nstencil_full_multi2_3d.h @@ -14,7 +14,7 @@ #ifdef NSTENCIL_CLASS NStencilStyle(full/multi2/3d, - NStencilFullMulti23d, NS_FULL | NS_Multi2 | NS_3D | NS_ORTHO | NS_TRI) + NStencilFullMulti23d, NS_FULL | NS_MULTI2 | NS_3D | NS_ORTHO | NS_TRI) #else diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 86da6ea91e..3daf872fa9 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti22d::NStencilHalfMulti23d(LAMMPS *lmp) : +NStencilHalfMulti22d::NStencilHalfMulti22d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti23d::set_stencil_properties() +void NStencilHalfMulti22d::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -69,7 +69,7 @@ void NStencilHalfMulti23d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti23d::create() +void NStencilHalfMulti22d::create() { int itype, jtype, i, j, ns; int n = atom->ntypes; @@ -95,13 +95,13 @@ void NStencilHalfMulti23d::create() for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; + stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; + stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } nstencil_multi2[itype][jtype] = ns; diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index 46f55300ce..9e8ae81036 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti22dTri::NStencilHalfMulti22d(LAMMPS *lmp) : +NStencilHalfMulti22dTri::NStencilHalfMulti22dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti22d::set_stencil_properties() +void NStencilHalfMulti22dTri::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -69,7 +69,7 @@ void NStencilHalfMulti22d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti22d::create() +void NStencilHalfMulti22dTri::create() { int itype, jtype, i, j, ns; int n = atom->ntypes; @@ -94,12 +94,12 @@ void NStencilHalfMulti22d::create() for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; + stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; + stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } nstencil_multi2[itype][jtype] = ns; diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index bcaf22abbd..652b1ed60f 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti23dTri::NStencilHalfMulti23d(LAMMPS *lmp) : +NStencilHalfMulti23dTri::NStencilHalfMulti23dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti23d::set_stencil_properties() +void NStencilHalfMulti23dTri::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -69,7 +69,7 @@ void NStencilHalfMulti23d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti23d::create() +void NStencilHalfMulti23dTri::create() { int itype, jtype, i, j, k, ns; int n = atom->ntypes; @@ -97,14 +97,14 @@ void NStencilHalfMulti23d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = + stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = + stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } @@ -112,118 +112,3 @@ void NStencilHalfMulti23d::create() } } } - -/* ---------------------------------------------------------------------- */ - -// KS To superclass -void NStencilHalfMulti23d::copy_bin_info_bytype(int itype) { - - mbinx = nb->mbinx_type[itype]; - mbiny = nb->mbiny_type[itype]; - mbinz = nb->mbinz_type[itype]; - binsizex = nb->binsizex_type[itype]; - binsizey = nb->binsizey_type[itype]; - binsizez = nb->binsizez_type[itype]; - bininvx = nb->bininvx_type[itype]; - bininvy = nb->bininvy_type[itype]; - bininvz = nb->bininvz_type[itype]; -} - -/* ---------------------------------------------------------------------- */ - -// KS To superclass? -int NStencilHalfMulti23d::copy_neigh_info_bytype(int itype) { - - cutneighmaxsq = neighbor->cutneighsq[itype][itype]; - cutneighmax = sqrt(cutneighmaxsq); - cuttypesq = neighbor->cuttypesq; - - // sx,sy,sz = max range of stencil in each dim - // smax = max possible size of entire 3d stencil - // stencil will be empty if cutneighmax = 0.0 - - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - return ((2*sx+1) * (2*sy+1) * (2*sz+1)); -} - -/* ---------------------------------------------------------------------- */ - -void NStencilHalfMulti23d::create_setup() -{ - - int itype, jtype; - int maxtypes; - int smax; - - // maxstencil_type to superclass? - maxtypes = atom->ntypes; - - if (maxstencil_type == NULL) { - memory->create(maxstencil_type, maxtypes+1, maxtypes+1, "maxstencil_type"); - memory->create(nstencil_type, maxtypes+1, maxtypes+1, "nstencil_type"); - stencil_type = new int**[maxtypes+1](); - for (itype = 1; itype <= maxtypes; ++itype) { - stencil_type[itype] = new int*[maxtypes+1](); - for (jtype = 1; jtype <= maxtypes; ++jtype) { - maxstencil_type[itype][jtype] = 0; - nstencil_type[itype][jtype] = 0; - } - } - } - - // like -> like => use standard Newton stencil at bin - - for (itype = 1; itype <= maxtypes; ++itype) { - copy_bin_info_bytype(itype); - smax = copy_neigh_info_bytype(itype); - if (smax > maxstencil_type[itype][itype]) { - maxstencil_type[itype][itype] = smax; - memory->destroy(stencil_type[itype][itype]); - memory->create(stencil_type[itype][itype], smax, - "NStencilHalfBytypeNewton::create_steup() stencil"); - } - create_newton(itype, itype, cutneighmaxsq); - } - - // Cross types: "Newton on" reached by using Newton off stencil and - // looking one way through hierarchy - // smaller -> larger => use Newton off stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil - - for (itype = 1; itype <= maxtypes; ++itype) { - for (jtype = 1; jtype <= maxtypes; ++jtype) { - if (itype == jtype) continue; - if (cuttypesq[itype] == cuttypesq[jtype]) { - nstencil_type[itype][jtype] = nstencil_type[jtype][jtype]; - stencil_type[itype][jtype] = stencil_type[jtype][jtype]; - } - else if (cuttypesq[itype] < cuttypesq[jtype]) { - copy_bin_info_bytype(jtype); - - cutneighmaxsq = cuttypesq[jtype]; - cutneighmax = sqrt(cutneighmaxsq); - sx = static_cast (cutneighmax*bininvx); - if (sx*binsizex < cutneighmax) sx++; - sy = static_cast (cutneighmax*bininvy); - if (sy*binsizey < cutneighmax) sy++; - sz = static_cast (cutneighmax*bininvz); - if (sz*binsizez < cutneighmax) sz++; - - smax = (2*sx+1) * (2*sy+1) * (2*sz+1); - if (smax > maxstencil_type[itype][jtype]) { - maxstencil_type[itype][jtype] = smax; - memory->destroy(stencil_type[itype][jtype]); - memory->create(stencil_type[itype][jtype], smax, "stencil_type[]"); - } - create_newtoff(itype, jtype, cuttypesq[jtype]); - } - } - } -} From f94c82910d542ea194ec9e959da9f81966e41f03 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Wed, 11 Nov 2020 10:11:49 -0700 Subject: [PATCH 012/542] Fixing remaining bugs to compile --- src/nbin_standard.cpp | 1 + src/npair_half_multi2_newtoff.cpp | 4 ++-- src/npair_half_size_multi2_newton.cpp | 2 +- src/nstencil.cpp | 28 +++++++++++++-------------- src/nstencil.h | 4 ++-- src/nstencil_full_multi2_2d.cpp | 2 +- src/nstencil_full_multi2_2d.h | 2 +- src/nstencil_full_multi2_3d.h | 2 +- src/nstencil_half_multi2_2d.h | 2 +- src/nstencil_half_multi2_2d_tri.h | 2 +- src/nstencil_half_multi2_3d.cpp | 4 ++-- src/nstencil_half_multi2_3d.h | 2 +- src/nstencil_half_multi2_3d_tri.h | 2 +- 13 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index e63c8dcd56..07dfd3a6cb 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -19,6 +19,7 @@ #include "comm.h" #include "update.h" #include "error.h" +#include "memory.h" using namespace LAMMPS_NS; diff --git a/src/npair_half_multi2_newtoff.cpp b/src/npair_half_multi2_newtoff.cpp index 83a8054247..b44f2bcc62 100755 --- a/src/npair_half_multi2_newtoff.cpp +++ b/src/npair_half_multi2_newtoff.cpp @@ -87,7 +87,7 @@ void NPairHalfMulti2Newtoff::build(NeighList *list) // stores own/own pairs only once // stores own/ghost pairs on both procs - ibin = nb->atom2bin_type[itype][i]; + ibin = atom2bin_multi2[itype][i]; for (ktype = 1; ktype <= atom->ntypes; ktype++) { if (itype == ktype) { kbin = ibin; @@ -100,7 +100,7 @@ void NPairHalfMulti2Newtoff::build(NeighList *list) ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = nb->bins_multi2[ktype][j]) { + for (j = js; j >=0; j = bins_multi2[ktype][j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index 3b89c259ec..a1832f6a49 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -72,7 +72,7 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // if j is owned atom, store by virtue of being ahead of i in list // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = nb->atom2bin_multi2[itype][i]; + ibin = atom2bin_multi2[itype][i]; for (ktype = 1; ktype <= atom->ntypes; ktype++) { diff --git a/src/nstencil.cpp b/src/nstencil.cpp index bcde1024b3..033d79e279 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -182,15 +182,15 @@ void NStencil::copy_bin_info() void NStencil::copy_bin_info_multi2(int type) { - mbinx = nb->mbinx2[type]; - mbiny = nb->mbiny2[type]; - mbinz = nb->mbinz2[type]; - binsizex = nb->binsizex2[type]; - binsizey = nb->binsizey2[type]; - binsizez = nb->binsizez2[type]; - bininvx = nb->bininvx2[type]; - bininvy = nb->bininvy2[type]; - bininvz = nb->bininvz2[type]; + mbinx = nb->mbinx_multi2[type]; + mbiny = nb->mbiny_multi2[type]; + mbinz = nb->mbinz_multi2[type]; + binsizex = nb->binsizex_multi2[type]; + binsizey = nb->binsizey_multi2[type]; + binsizez = nb->binsizez_multi2[type]; + bininvx = nb->bininvx_multi2[type]; + bininvy = nb->bininvy_multi2[type]; + bininvz = nb->bininvz_multi2[type]; } /* ---------------------------------------------------------------------- @@ -284,8 +284,8 @@ void NStencil::create_setup() memory->create(binsizez_multi2, n+1, n+1, "neighstencil:binsizez_multi2"); - memory->create(mbinx_multi2, n+1, n+1,"neighstencil:mbinx_multi2"); - memory->create(mbiney_multi2, n+1, n+1, "neighstencil:mbiny_multi2"); + memory->create(mbinx_multi2, n+1, n+1, "neighstencil:mbinx_multi2"); + memory->create(mbiny_multi2, n+1, n+1, "neighstencil:mbiny_multi2"); memory->create(mbinz_multi2, n+1, n+1, "neighstencil:mbinz_multi2"); // Skip all stencils by default, initialize smax @@ -321,7 +321,7 @@ void NStencil::create_setup() // Copy bin info for this particular pair of types bin_type = stencil_bin_type[i][j]; - copy_bin_info_bytype(bin_type); + copy_bin_info_multi2(bin_type); binsizex_multi2[i][j] = binsizex; binsizey_multi2[i][j] = binsizey; @@ -393,8 +393,8 @@ double NStencil::memory_usage() bytes += atom->ntypes*maxstencil_multi * sizeof(double); } else if (neighstyle == Neighbor::MULTI2) { int n = atom->ntypes; - for (i = 1; i <= n; ++i) { - for (j = 1; j <= n; ++j) { + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { bytes += maxstencil_multi2[i][j] * sizeof(int); bytes += maxstencil_multi2[i][j] * sizeof(int); bytes += maxstencil_multi2[i][j] * sizeof(double); diff --git a/src/nstencil.h b/src/nstencil.h index 158ced07d2..5f010cb377 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -102,8 +102,8 @@ class NStencil : protected Pointers { // methods for multi/tiered NStencil - void copy_bin_info_multi2(int); // copy mult/tiered info from NBin class - void set_stencil_properties(); // determine which stencils to build and how + void copy_bin_info_multi2(int); // copy mult/tiered info from NBin class + virtual void set_stencil_properties(){} // determine which stencils to build and how }; } diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index f62cddb0b5..ba503fd5f5 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -89,7 +89,7 @@ void NStencilFullMulti22d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,0) < cutsq) - stencil_type[itype][jtype][ns++] = j*mbinx + i; + stencil_multi2[itype][jtype][ns++] = j*mbinx + i; nstencil_multi2[itype][jtype] = ns; } diff --git a/src/nstencil_full_multi2_2d.h b/src/nstencil_full_multi2_2d.h index b9f46056c5..46e12db039 100644 --- a/src/nstencil_full_multi2_2d.h +++ b/src/nstencil_full_multi2_2d.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilFullMulti22d : public NStencil { public: NStencilFullMulti22d(class LAMMPS *); - ~NStencilFullMulti22d(); + ~NStencilFullMulti22d() {} void create(); protected: diff --git a/src/nstencil_full_multi2_3d.h b/src/nstencil_full_multi2_3d.h index 102471f2c7..fb6a19ec6f 100644 --- a/src/nstencil_full_multi2_3d.h +++ b/src/nstencil_full_multi2_3d.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilFullMulti23d : public NStencil { public: NStencilFullMulti23d(class LAMMPS *); - ~NStencilFullMulti23d(); + ~NStencilFullMulti23d(){} void create(); protected: diff --git a/src/nstencil_half_multi2_2d.h b/src/nstencil_half_multi2_2d.h index ba3a471833..8e79fd0541 100644 --- a/src/nstencil_half_multi2_2d.h +++ b/src/nstencil_half_multi2_2d.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilHalfMulti22d : public NStencil { public: NStencilHalfMulti22d(class LAMMPS *); - ~NStencilHalfMulti22d(); + ~NStencilHalfMulti22d() {} void create(); protected: diff --git a/src/nstencil_half_multi2_2d_tri.h b/src/nstencil_half_multi2_2d_tri.h index 1d25e56776..4072c6d31b 100755 --- a/src/nstencil_half_multi2_2d_tri.h +++ b/src/nstencil_half_multi2_2d_tri.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilHalfMulti22dTri : public NStencil { public: NStencilHalfMulti22dTri(class LAMMPS *); - ~NStencilHalfMulti22dTri(); + ~NStencilHalfMulti22dTri() {} void create(); protected: diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 02a65bd3a1..a129d6b53b 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -98,7 +98,7 @@ void NStencilHalfMulti23d::create() for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = + stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } } else { @@ -106,7 +106,7 @@ void NStencilHalfMulti23d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance(i,j,k) < cutsq) - stencil_type[itype][jtype][ns++] = + stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } diff --git a/src/nstencil_half_multi2_3d.h b/src/nstencil_half_multi2_3d.h index 9cae8269cb..6a0d8f90a2 100644 --- a/src/nstencil_half_multi2_3d.h +++ b/src/nstencil_half_multi2_3d.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilHalfMulti23d : public NStencil { public: NStencilHalfMulti23d(class LAMMPS *); - ~NStencilHalfMulti23d(); + ~NStencilHalfMulti23d() {} void create(); protected: diff --git a/src/nstencil_half_multi2_3d_tri.h b/src/nstencil_half_multi2_3d_tri.h index f4b37ebebe..de449ce1d8 100755 --- a/src/nstencil_half_multi2_3d_tri.h +++ b/src/nstencil_half_multi2_3d_tri.h @@ -28,7 +28,7 @@ namespace LAMMPS_NS { class NStencilHalfMulti23dTri : public NStencil { public: NStencilHalfMulti23dTri(class LAMMPS *); - ~NStencilHalfMulti23dTri(); + ~NStencilHalfMulti23dTri() {} void create(); protected: From ac527f4615b8a845c3fea69f66b782fbf2e2df0d Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Wed, 11 Nov 2020 15:39:53 -0700 Subject: [PATCH 013/542] Fixing bugs in nstencil --- src/nstencil.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 033d79e279..c537767d64 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -74,7 +74,11 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) nstencil_multi = nullptr; stencil_multi = nullptr; distsq_multi = nullptr; - + + nstencil_multi2 = nullptr; + stencil_multi2 = nullptr; + maxstencil_multi2 = nullptr; + stencil_half = nullptr; stencil_skip = nullptr; stencil_bin_type = nullptr; @@ -292,7 +296,6 @@ void NStencil::create_setup() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { stencil_skip[i][j] = 1; - maxstencil_multi2[i][j] = 0; } } From b6dfc28e38c122c0a284a3d0d791e50f2621ad4d Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Wed, 11 Nov 2020 22:50:59 -0700 Subject: [PATCH 014/542] Resetting bin sizes in stencils --- src/nstencil_full_multi2_2d.cpp | 5 +++++ src/nstencil_full_multi2_3d.cpp | 5 +++++ src/nstencil_half_multi2_2d.cpp | 5 +++++ src/nstencil_half_multi2_2d_tri.cpp | 5 +++++ src/nstencil_half_multi2_3d.cpp | 5 +++++ src/nstencil_half_multi2_3d_tri.cpp | 5 +++++ 6 files changed, 30 insertions(+) diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index ba503fd5f5..8ff504b48d 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -84,6 +84,11 @@ void NStencilFullMulti22d::create() mbinx = mbinx_multi2[itype][jtype]; mbiny = mbiny_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; for (j = -sy; j <= sy; j++) diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 808c2d334d..1257650c5e 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -86,6 +86,11 @@ void NStencilFullMulti23d::create() mbiny = mbiny_multi2[itype][jtype]; mbinz = mbinz_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; for (k = -sz; k <= sz; k++) diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 3daf872fa9..89d2903f1c 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -88,6 +88,11 @@ void NStencilHalfMulti22d::create() mbinx = mbinx_multi2[itype][jtype]; mbiny = mbiny_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index 9e8ae81036..4b4019cef2 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -88,6 +88,11 @@ void NStencilHalfMulti22dTri::create() mbinx = mbinx_multi2[itype][jtype]; mbiny = mbiny_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index a129d6b53b..1777e748de 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -90,6 +90,11 @@ void NStencilHalfMulti23d::create() mbiny = mbiny_multi2[itype][jtype]; mbinz = mbinz_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index 652b1ed60f..4a9ba63b20 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -90,6 +90,11 @@ void NStencilHalfMulti23dTri::create() mbiny = mbiny_multi2[itype][jtype]; mbinz = mbinz_multi2[itype][jtype]; + // Redefine for use in bin_distance() + binsizex = binsizex_multi2[itype][jtype]; + binsizey = binsizey_multi2[itype][jtype]; + binsizez = binsizez_multi2[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { From 6909839ff0fde523596878d2e7138d6e5e399c1c Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 12 Nov 2020 15:03:44 -0700 Subject: [PATCH 015/542] Fix full multi stencil --- src/nstencil_full_multi2_2d.cpp | 5 +++-- src/nstencil_full_multi2_3d.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index 8ff504b48d..c59edbe90d 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -50,11 +50,12 @@ void NStencilFullMulti22d::set_stencil_properties() stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); if(cuttypesq[i] <= cuttypesq[j]){ - stencil_bin_type[i][j] = i; + stencil_cut[i][j] = sqrt(cutneighsq[j][j]); + stencil_bin_type[i][j] = j; } else { + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); stencil_bin_type[i][j] = j; } } diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 1257650c5e..6021382022 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -50,11 +50,12 @@ void NStencilFullMulti23d::set_stencil_properties() stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); if(cuttypesq[i] <= cuttypesq[j]){ - stencil_bin_type[i][j] = i; + stencil_cut[i][j] = sqrt(cutneighsq[j][j]); + stencil_bin_type[i][j] = j; } else { + stencil_cut[i][j] = sqrt(cutneighsq[i][j]); stencil_bin_type[i][j] = j; } } From af11a54a272831e3383b1184871057ab88708928 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 12 Nov 2020 18:37:53 -0700 Subject: [PATCH 016/542] Copying more variables to classes and moving/clarifying definitions --- src/nbin.cpp | 93 ++++++++++++++++++++++ src/nbin.h | 2 +- src/nbin_multi2.cpp | 58 +------------- src/nbin_multi2.h | 1 - src/nbin_standard.cpp | 48 ----------- src/nbin_standard.h | 4 - src/nstencil.cpp | 119 ++++++++++++++++++---------- src/nstencil.h | 47 +++++++---- src/nstencil_full_multi2_2d.cpp | 17 ++-- src/nstencil_full_multi2_3d.cpp | 21 +++-- src/nstencil_half_multi2_2d.cpp | 13 +-- src/nstencil_half_multi2_2d_tri.cpp | 19 ++--- src/nstencil_half_multi2_3d.cpp | 23 +++--- src/nstencil_half_multi2_3d_tri.cpp | 23 +++--- 14 files changed, 252 insertions(+), 236 deletions(-) diff --git a/src/nbin.cpp b/src/nbin.cpp index cf6ef3ddd4..39c7ce6447 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -123,3 +123,96 @@ void NBin::copy_neighbor_info() if (cutoff_custom > 0.0) cutneighmax = cutoff_custom; } + + + +/* ---------------------------------------------------------------------- + convert atom coords into local bin # + for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo + take special care to insure ghosts are in correct bins even w/ roundoff + hi ghost atoms = nbin,nbin+1,etc + owned atoms = 0 to nbin-1 + lo ghost atoms = -1,-2,etc + this is necessary so that both procs on either side of PBC + treat a pair of atoms straddling the PBC in a consistent way + for triclinic, doesn't matter since stencil & neigh list built differently +------------------------------------------------------------------------- */ + +int NBin::coord2bin(double *x) +{ + int ix,iy,iz; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx) + nbinx; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx); + ix = MIN(ix,nbinx-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy) + nbiny; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy); + iy = MIN(iy,nbiny-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz) + nbinz; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz); + iz = MIN(iz,nbinz-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz) - 1; + + return (iz-mbinzlo)*mbiny*mbinx + (iy-mbinylo)*mbinx + (ix-mbinxlo); +} + + +/* ---------------------------------------------------------------------- + convert atom coords into local bin # for a particular type +------------------------------------------------------------------------- */ + +int NBin::coord2bin_multi2(double *x, int it) +{ + int ix,iy,iz; + int ibin; + + if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) + error->one(FLERR,"Non-numeric positions - simulation unstable"); + + if (x[0] >= bboxhi[0]) + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; + else if (x[0] >= bboxlo[0]) { + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); + ix = MIN(ix,nbinx_multi2[it]-1); + } else + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; + + if (x[1] >= bboxhi[1]) + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; + else if (x[1] >= bboxlo[1]) { + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); + iy = MIN(iy,nbiny_multi2[it]-1); + } else + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; + + if (x[2] >= bboxhi[2]) + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; + else if (x[2] >= bboxlo[2]) { + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); + iz = MIN(iz,nbinz_multi2[it]-1); + } else + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; + + + ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] + + (iy-mbinylo_multi2[it])*mbinx_multi2[it] + + (ix-mbinxlo_multi2[it]); + return ibin; +} + diff --git a/src/nbin.h b/src/nbin.h index 33b93ef79c..441e4815dd 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -97,7 +97,7 @@ class NBin : protected Pointers { // methods int coord2bin(double *); - int coord2bin(double *, int); + int coord2bin_multi2(double *, int); }; } diff --git a/src/nbin_multi2.cpp b/src/nbin_multi2.cpp index 7a87ba940c..f57558a36c 100644 --- a/src/nbin_multi2.cpp +++ b/src/nbin_multi2.cpp @@ -324,7 +324,7 @@ void NBinMulti2::bin_atoms() for (i = nall-1; i >= nlocal; i--) { if (mask[i] & bitmask) { n = type[i]; - ibin = coord2bin(x[i], n); + ibin = coord2bin_multi2(x[i], n); atom2bin_multi2[n][i] = ibin; bins_multi2[n][i] = binhead_multi2[n][ibin]; binhead_multi2[n][ibin] = i; @@ -332,7 +332,7 @@ void NBinMulti2::bin_atoms() } for (i = atom->nfirst-1; i >= 0; i--) { n = type[i]; - ibin = coord2bin(x[i], n); + ibin = coord2bin_multi2(x[i], n); atom2bin_multi2[n][i] = ibin; bins_multi2[n][i] = binhead_multi2[n][ibin]; binhead_multi2[n][ibin] = i; @@ -340,7 +340,7 @@ void NBinMulti2::bin_atoms() } else { for (i = nall-1; i >= 0; i--) { n = type[i]; - ibin = coord2bin(x[i], n); + ibin = coord2bin_multi2(x[i], n); atom2bin_multi2[n][i] = ibin; bins_multi2[n][i] = binhead_multi2[n][ibin]; binhead_multi2[n][ibin] = i; @@ -348,58 +348,6 @@ void NBinMulti2::bin_atoms() } } -/* ---------------------------------------------------------------------- - convert atom coords into local bin # for a particular type - for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo - take special care to insure ghosts are in correct bins even w/ roundoff - hi ghost atoms = nbin,nbin+1,etc - owned atoms = 0 to nbin-1 - lo ghost atoms = -1,-2,etc - this is necessary so that both procs on either side of PBC - treat a pair of atoms straddling the PBC in a consistent way - for triclinic, doesn't matter since stencil & neigh list built differently -------------------------------------------------------------------------- */ - -int NBinMulti2::coord2bin(double *x, int it) -{ - int ix,iy,iz; - int ibin; - - if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) - error->one(FLERR,"Non-numeric positions - simulation unstable"); - - if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; - else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); - ix = MIN(ix,nbinx_multi2[it]-1); - } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; - - if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; - else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); - iy = MIN(iy,nbiny_multi2[it]-1); - } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; - - if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; - else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); - iz = MIN(iz,nbinz_multi2[it]-1); - } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; - - - ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] - + (iy-mbinylo_multi2[it])*mbinx_multi2[it] - + (ix-mbinxlo_multi2[it]); - return ibin; -} - - /* ---------------------------------------------------------------------- */ double NBinMulti2::memory_usage() diff --git a/src/nbin_multi2.h b/src/nbin_multi2.h index 8cca7b1023..3094027f64 100644 --- a/src/nbin_multi2.h +++ b/src/nbin_multi2.h @@ -38,7 +38,6 @@ class NBinMulti2 : public NBin { private: - int coord2bin(double *, int); int itype_min(); }; diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index 07dfd3a6cb..4298a9670c 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -259,54 +259,6 @@ void NBinStandard::bin_atoms() } } - -/* ---------------------------------------------------------------------- - convert atom coords into local bin # - for orthogonal, only ghost atoms will have coord >= bboxhi or coord < bboxlo - take special care to insure ghosts are in correct bins even w/ roundoff - hi ghost atoms = nbin,nbin+1,etc - owned atoms = 0 to nbin-1 - lo ghost atoms = -1,-2,etc - this is necessary so that both procs on either side of PBC - treat a pair of atoms straddling the PBC in a consistent way - for triclinic, doesn't matter since stencil & neigh list built differently -------------------------------------------------------------------------- */ - -int NBinStandard::coord2bin(double *x) -{ - int ix,iy,iz; - - if (!std::isfinite(x[0]) || !std::isfinite(x[1]) || !std::isfinite(x[2])) - error->one(FLERR,"Non-numeric positions - simulation unstable"); - - if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx) + nbinx; - else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx); - ix = MIN(ix,nbinx-1); - } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx) - 1; - - if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy) + nbiny; - else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy); - iy = MIN(iy,nbiny-1); - } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy) - 1; - - if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz) + nbinz; - else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz); - iz = MIN(iz,nbinz-1); - } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz) - 1; - - return (iz-mbinzlo)*mbiny*mbinx + (iy-mbinylo)*mbinx + (ix-mbinxlo); -} - - /* ---------------------------------------------------------------------- */ double NBinStandard::memory_usage() diff --git a/src/nbin_standard.h b/src/nbin_standard.h index d8ecb435b7..89b749c948 100644 --- a/src/nbin_standard.h +++ b/src/nbin_standard.h @@ -34,10 +34,6 @@ class NBinStandard : public NBin { void setup_bins(int); void bin_atoms(); double memory_usage(); - - private: - - int coord2bin(double *); }; } diff --git a/src/nstencil.cpp b/src/nstencil.cpp index c537767d64..2ace1125e8 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -124,13 +124,17 @@ NStencil::~NStencil() memory->destroy(stencil_bin_type); memory->destroy(stencil_cut); - memory->destroy(sx_multi2); - memory->destroy(sy_multi2); - memory->destroy(sz_multi2); + memory->destroy(stencil_sx_multi2); + memory->destroy(stencil_sy_multi2); + memory->destroy(stencil_sz_multi2); + + memory->destroy(stencil_mbinx_multi2); + memory->destroy(stencil_mbiny_multi2); + memory->destroy(stencil_mbinz_multi2); - memory->destroy(binsizex_multi2); - memory->destroy(binsizey_multi2); - memory->destroy(binsizez_multi2); + memory->destroy(stencil_binsizex_multi2); + memory->destroy(stencil_binsizey_multi2); + memory->destroy(stencil_binsizez_multi2); } } @@ -181,20 +185,20 @@ void NStencil::copy_bin_info() } /* ---------------------------------------------------------------------- - copy needed info for a given type from NBin class to this stencil class + copy needed info for multi2 from NBin class to this stencil class ------------------------------------------------------------------------- */ -void NStencil::copy_bin_info_multi2(int type) +void NStencil::copy_bin_info_multi2() { - mbinx = nb->mbinx_multi2[type]; - mbiny = nb->mbiny_multi2[type]; - mbinz = nb->mbinz_multi2[type]; - binsizex = nb->binsizex_multi2[type]; - binsizey = nb->binsizey_multi2[type]; - binsizez = nb->binsizez_multi2[type]; - bininvx = nb->bininvx_multi2[type]; - bininvy = nb->bininvy_multi2[type]; - bininvz = nb->bininvz_multi2[type]; + mbinx_multi2 = nb->mbinx_multi2; + mbiny_multi2 = nb->mbiny_multi2; + mbinz_multi2 = nb->mbinz_multi2; + binsizex_multi2 = nb->binsizex_multi2; + binsizey_multi2 = nb->binsizey_multi2; + binsizez_multi2 = nb->binsizez_multi2; + bininvx_multi2 = nb->bininvx_multi2; + bininvy_multi2 = nb->bininvy_multi2; + bininvz_multi2 = nb->bininvz_multi2; } /* ---------------------------------------------------------------------- @@ -266,6 +270,8 @@ void NStencil::create_setup() int i, j, bin_type, smax; double stencil_range; int n = atom->ntypes; + + if(nb) copy_bin_info_multi2(); // Allocate arrays to store stencil information memory->create(stencil_half, n+1, n+1, @@ -277,20 +283,26 @@ void NStencil::create_setup() memory->create(stencil_cut, n+1, n+1, "neighstencil:stencil_cut"); - memory->create(sx_multi2, n+1, n+1, "neighstencil:sx_multi2"); - memory->create(sy_multi2, n+1, n+1, "neighstencil:sy_multi2"); - memory->create(sz_multi2, n+1, n+1, "neighstencil:sz_multi2"); + memory->create(stencil_sx_multi2, n+1, n+1, + "neighstencil:stencil_sx_multi2"); + memory->create(stencil_sy_multi2, n+1, n+1, + "neighstencil:stencil_sy_multi2"); + memory->create(stencil_sz_multi2, n+1, n+1, + "neighstencil:stencil_sz_multi2"); - memory->create(binsizex_multi2, n+1, n+1, - "neighstencil:binsizex_multi2"); - memory->create(binsizey_multi2, n+1, n+1, - "neighstencil:binsizey_multi2"); - memory->create(binsizez_multi2, n+1, n+1, - "neighstencil:binsizez_multi2"); + memory->create(stencil_binsizex_multi2, n+1, n+1, + "neighstencil:stencil_binsizex_multi2"); + memory->create(stencil_binsizey_multi2, n+1, n+1, + "neighstencil:stencil_binsizey_multi2"); + memory->create(stencil_binsizez_multi2, n+1, n+1, + "neighstencil:stencil_binsizez_multi2"); - memory->create(mbinx_multi2, n+1, n+1, "neighstencil:mbinx_multi2"); - memory->create(mbiny_multi2, n+1, n+1, "neighstencil:mbiny_multi2"); - memory->create(mbinz_multi2, n+1, n+1, "neighstencil:mbinz_multi2"); + memory->create(stencil_mbinx_multi2, n+1, n+1, + "neighstencil:stencil_mbinx_multi2"); + memory->create(stencil_mbiny_multi2, n+1, n+1, + "neighstencil:stencil_mbiny_multi2"); + memory->create(stencil_mbinz_multi2, n+1, n+1, + "neighstencil:stencil_mbinz_multi2"); // Skip all stencils by default, initialize smax for (i = 1; i <= n; i++) { @@ -324,28 +336,27 @@ void NStencil::create_setup() // Copy bin info for this particular pair of types bin_type = stencil_bin_type[i][j]; - copy_bin_info_multi2(bin_type); - binsizex_multi2[i][j] = binsizex; - binsizey_multi2[i][j] = binsizey; - binsizez_multi2[i][j] = binsizez; + stencil_binsizex_multi2[i][j] = binsizex_multi2[bin_type]; + stencil_binsizey_multi2[i][j] = binsizey_multi2[bin_type]; + stencil_binsizez_multi2[i][j] = binsizez_multi2[bin_type]; - mbinx_multi2[i][j] = mbinx; - mbiny_multi2[i][j] = mbiny; - mbinz_multi2[i][j] = mbinz; + stencil_mbinx_multi2[i][j] = mbinx_multi2[bin_type]; + stencil_mbiny_multi2[i][j] = mbiny_multi2[bin_type]; + stencil_mbinz_multi2[i][j] = mbinz_multi2[bin_type]; stencil_range = stencil_cut[i][j]; - sx = static_cast (stencil_range*bininvx); + sx = static_cast (stencil_range*bininvx_multi2[bin_type]); if (sx*binsizex < stencil_range) sx++; - sy = static_cast (stencil_range*bininvy); + sy = static_cast (stencil_range*bininvy_multi2[bin_type]); if (sy*binsizey < stencil_range) sy++; - sz = static_cast (stencil_range*bininvz); + sz = static_cast (stencil_range*bininvz_multi2[bin_type]); if (sz*binsizez < stencil_range) sz++; - sx_multi2[i][j] = sx; - sy_multi2[i][j] = sy; - sz_multi2[i][j] = sz; + stencil_sx_multi2[i][j] = sx; + stencil_sy_multi2[i][j] = sy; + stencil_sz_multi2[i][j] = sz; smax = ((2*sx+1) * (2*sy+1) * (2*sz+1)); @@ -383,6 +394,30 @@ double NStencil::bin_distance(int i, int j, int k) return (delx*delx + dely*dely + delz*delz); } + +/* ---------------------------------------------------------------------- + compute closest distance for a given atom type +------------------------------------------------------------------------- */ + +double NStencil::bin_distance_multi2(int i, int j, int k, int type) +{ + double delx,dely,delz; + + if (i > 0) delx = (i-1)*binsizex_multi2[type]; + else if (i == 0) delx = 0.0; + else delx = (i+1)*binsizex_multi2[type]; + + if (j > 0) dely = (j-1)*binsizey_multi2[type]; + else if (j == 0) dely = 0.0; + else dely = (j+1)*binsizey_multi2[type]; + + if (k > 0) delz = (k-1)*binsizez_multi2[type]; + else if (k == 0) delz = 0.0; + else delz = (k+1)*binsizez_multi2[type]; + + return (delx*delx + dely*dely + delz*delz); +} + /* ---------------------------------------------------------------------- */ double NStencil::memory_usage() diff --git a/src/nstencil.h b/src/nstencil.h index 5f010cb377..68c7702f79 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -39,13 +39,13 @@ class NStencil : protected Pointers { // Probably not needed for multi2 since bins are more efficiently chosen int sx,sy,sz; // extent of stencil in each dim - int **sx_multi2; // analogs for multi tiered - int **sy_multi2; - int **sz_multi2; + int **stencil_sx_multi2; // analogs for each multi2 stencil + int **stencil_sy_multi2; + int **stencil_sz_multi2; double cutoff_custom; // cutoff set by requestor - // Arrays to store options for multi/tiered itype-jtype stencils + // Arrays to store options for multi2 itype-jtype stencils bool **stencil_half; // flag creation of a half stencil for itype-jtype bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) int **stencil_bin_type; // what type to use for bin information @@ -78,15 +78,27 @@ class NStencil : protected Pointers { double binsizex,binsizey,binsizez; double bininvx,bininvy,bininvz; - // analogs for multi-tiered + // data from NBin class for multi2 + + int *mbinx_multi2; + int *mbiny_multi2; + int *mbinz_multi2; + double *binsizex_multi2; + double *binsizey_multi2; + double *binsizez_multi2; + double *bininvx_multi2; + double *bininvy_multi2; + double *bininvz_multi2; + + // Stored bin information for each stencil + + int **stencil_mbinx_multi2; + int **stencil_mbiny_multi2; + int **stencil_mbinz_multi2; + double **stencil_binsizex_multi2; + double **stencil_binsizey_multi2; + double **stencil_binsizez_multi2; - int **mbinx_multi2; - int **mbiny_multi2; - int **mbinz_multi2; - double **binsizex_multi2; - double **binsizey_multi2; - double **binsizez_multi2; - // data common to all NStencil variants int xyzflag; // 1 if stencilxyz is allocated @@ -95,15 +107,16 @@ class NStencil : protected Pointers { int dimension; - // methods for all NStencil variants + // methods for standard NStencil variants void copy_bin_info(); // copy info from NBin class double bin_distance(int, int, int); // distance between bin corners - // methods for multi/tiered NStencil - - void copy_bin_info_multi2(int); // copy mult/tiered info from NBin class - virtual void set_stencil_properties(){} // determine which stencils to build and how + // methods for multi2 NStencil + + double bin_distance_multi2(int, int, int, int); // distance between bin corners for different types + void copy_bin_info_multi2(); // copy mult2 info from NBin class + virtual void set_stencil_properties(){} // determine which stencils to build and how }; } diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index c59edbe90d..627a1e2f9e 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -68,7 +68,7 @@ void NStencilFullMulti22d::set_stencil_properties() void NStencilFullMulti22d::create() { - int itype, jtype, i, j, k, ns; + int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; double cutsq; @@ -79,22 +79,19 @@ void NStencilFullMulti22d::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + bin_type = stencil_bin_type[i][j]; cutsq = stencil_cut[itype][jtype]; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutsq) + if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; nstencil_multi2[itype][jtype] = ns; diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 6021382022..19bf30ec07 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -68,7 +68,7 @@ void NStencilFullMulti23d::set_stencil_properties() void NStencilFullMulti23d::create() { - int itype, jtype, i, j, k, ns; + int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; double cutsq; @@ -79,25 +79,22 @@ void NStencilFullMulti23d::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; - sz = sz_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; + sz = stencil_sz_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; - mbinz = mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinz = stencil_mbinz_multi2[itype][jtype]; - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + bin_type = stencil_bin_type[i][j]; cutsq = stencil_cut[itype][jtype]; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) + if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 89d2903f1c..2a3c8da45c 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -82,16 +82,11 @@ void NStencilHalfMulti22d::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; - - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; cutsq = stencil_cut[itype][jtype]; diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index 4b4019cef2..08568139ad 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -71,7 +71,7 @@ void NStencilHalfMulti22dTri::set_stencil_properties() void NStencilHalfMulti22dTri::create() { - int itype, jtype, i, j, ns; + int itype, jtype, bin_type, i, j, ns; int n = atom->ntypes; double cutsq; @@ -82,28 +82,25 @@ void NStencilHalfMulti22dTri::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + bin_type = stencil_bin_type[i][j]; cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutsq) + if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutsq) + if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 1777e748de..21bd29269a 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -71,7 +71,7 @@ void NStencilHalfMulti23d::set_stencil_properties() void NStencilHalfMulti23d::create() { - int itype, jtype, i, j, k, ns; + int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; double cutsq; @@ -82,18 +82,15 @@ void NStencilHalfMulti23d::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; - sz = sz_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; + sz = stencil_sz_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; - mbinz = mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinz = stencil_mbinz_multi2[itype][jtype]; - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + bin_type = stencil_bin_type[i][j]; cutsq = stencil_cut[itype][jtype]; @@ -102,7 +99,7 @@ void NStencilHalfMulti23d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance(i,j,k) < cutsq) + if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } @@ -110,7 +107,7 @@ void NStencilHalfMulti23d::create() for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) + if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index 4a9ba63b20..1b71a096e3 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -71,7 +71,7 @@ void NStencilHalfMulti23dTri::set_stencil_properties() void NStencilHalfMulti23dTri::create() { - int itype, jtype, i, j, k, ns; + int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; double cutsq; @@ -82,18 +82,15 @@ void NStencilHalfMulti23dTri::create() ns = 0; - sx = sx_multi2[itype][jtype]; - sy = sy_multi2[itype][jtype]; - sz = sz_multi2[itype][jtype]; + sx = stencil_sx_multi2[itype][jtype]; + sy = stencil_sy_multi2[itype][jtype]; + sz = stencil_sz_multi2[itype][jtype]; - mbinx = mbinx_multi2[itype][jtype]; - mbiny = mbiny_multi2[itype][jtype]; - mbinz = mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi2[itype][jtype]; + mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinz = stencil_mbinz_multi2[itype][jtype]; - // Redefine for use in bin_distance() - binsizex = binsizex_multi2[itype][jtype]; - binsizey = binsizey_multi2[itype][jtype]; - binsizez = binsizez_multi2[itype][jtype]; + bin_type = stencil_bin_type[i][j]; cutsq = stencil_cut[itype][jtype]; @@ -101,14 +98,14 @@ void NStencilHalfMulti23dTri::create() for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) + if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutsq) + if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } From 00a74558ff441d39b537de9892542c2d83ae5a47 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 22 Nov 2020 20:01:14 -0700 Subject: [PATCH 017/542] Fixing typos --- src/comm_brick.cpp | 46 +++++++++++++++++++++-------- src/comm_tiled.cpp | 27 +++++++++++------ src/nstencil.cpp | 1 + src/nstencil_full_multi2_2d.cpp | 2 +- src/nstencil_full_multi2_3d.cpp | 2 +- src/nstencil_half_multi2_2d.cpp | 8 +++-- src/nstencil_half_multi2_2d_tri.cpp | 2 +- src/nstencil_half_multi2_3d.cpp | 2 +- src/nstencil_half_multi2_3d_tri.cpp | 2 +- 9 files changed, 63 insertions(+), 29 deletions(-) diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index e283e08e20..ad8669d6c1 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -158,7 +158,7 @@ void CommBrick::setup() // for multi: // cutghostmulti = same as cutghost, only for each atom type - int i; + int i,j; int ntypes = atom->ntypes; double *prd,*sublo,*subhi; @@ -175,14 +175,23 @@ void CommBrick::setup() if (mode == Comm::MULTI) { if (multi2) { - // If using multi2 binlists, use the itype-itype interaction distance for communication + // If using multi2 binlists, communicate itype particles a distance + // equal to the max of itype-jtype interaction given smaller jtype particles double **cutneighsq = neighbor->cutneighsq; - for (i = 1; i <= ntypes; i++) { + double *cuttypesq = neighbor->cuttypesq; + for (i = 1; i <= ntypes; i++) { cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][1] = MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][2] = MAX(cut,sqrt(cutneighsq[i][i])); + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } + for (j = 1; j <= ntypes; j++){ + if(cuttypesq[j] > cuttypesq[i]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); + } } } else { // If using a single binlist, use the max itype-jtype interaction distance for communication @@ -212,14 +221,27 @@ void CommBrick::setup() if (mode == Comm::MULTI) { if (multi2) { - // If using multi2 binlists, use the itype-itype interaction distance for communication + // If using multi2 binlists, communicate itype particles a distance + // equal to the max of itype-jtype interaction given smaller jtype particles double **cutneighsq = neighbor->cutneighsq; + double *cuttypesq = neighbor->cuttypesq; for (i = 1; i <= ntypes; i++) { cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = length0 * MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][1] = length1 * MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][2] = length2 * MAX(cut,sqrt(cutneighsq[i][i])); + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } + for (j = 1; j <= ntypes; j++){ + if(cuttypesq[j] > cuttypesq[i]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); + } + + cutghostmulti[i][0] *= length0; + cutghostmulti[i][1] *= length1; + cutghostmulti[i][2] *= length2; } } else { // If using a single binlist, use the max itype-jtype interaction distance for communication diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 16ae86b4a3..4835251b77 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -177,15 +177,24 @@ void CommTiled::setup() if (mode == Comm::MULTI) { double cut; if (multi2) { - // If using multi2 binlists, use the itype-itype interaction distance for communication - double **cutneighsq = neighbor->cutneighsq; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][1] = MAX(cut,sqrt(cutneighsq[i][i])); - cutghostmulti[i][2] = MAX(cut,sqrt(cutneighsq[i][i])); - } + // If using multi2 binlists, communicate itype particles a distance + // equal to the max of itype-jtype interaction given smaller jtype particles + double **cutneighsq = neighbor->cutneighsq; + double *cuttypesq = neighbor->cuttypesq; + for (i = 1; i <= ntypes; i++) { + cut = 0.0; + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } + for (j = 1; j <= ntypes; j++){ + if(cuttypesq[j] > cuttypesq[i]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); + } + } } else { // If using a single binlist, use the max itype-jtype interaction distance for communication double *cuttype = neighbor->cuttype; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 2ace1125e8..57aff6a71b 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -324,6 +324,7 @@ void NStencil::create_setup() stencil_multi2[i] = new int*[n+1](); for (j = 1; j <= n; ++j) { maxstencil_multi2[i][j] = 0; + nstencil_multi2[i][j] = 0; } } } diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index 627a1e2f9e..2a31f95dad 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -85,7 +85,7 @@ void NStencilFullMulti22d::create() mbinx = stencil_mbinx_multi2[itype][jtype]; mbiny = stencil_mbiny_multi2[itype][jtype]; - bin_type = stencil_bin_type[i][j]; + bin_type = stencil_bin_type[itype][jtype]; cutsq = stencil_cut[itype][jtype]; diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 19bf30ec07..e028e631a8 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -87,7 +87,7 @@ void NStencilFullMulti23d::create() mbiny = stencil_mbiny_multi2[itype][jtype]; mbinz = stencil_mbinz_multi2[itype][jtype]; - bin_type = stencil_bin_type[i][j]; + bin_type = stencil_bin_type[itype][jtype]; cutsq = stencil_cut[itype][jtype]; diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 2a3c8da45c..70aa24f9f2 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -71,7 +71,7 @@ void NStencilHalfMulti22d::set_stencil_properties() void NStencilHalfMulti22d::create() { - int itype, jtype, i, j, ns; + int itype, jtype, bin_type, i, j, ns; int n = atom->ntypes; double cutsq; @@ -88,19 +88,21 @@ void NStencilHalfMulti22d::create() mbinx = stencil_mbinx_multi2[itype][jtype]; mbiny = stencil_mbiny_multi2[itype][jtype]; + bin_type = stencil_bin_type[itype][jtype]; + cutsq = stencil_cut[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance(i,j,0) < cutsq) + if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutsq) + if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; } diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index 08568139ad..739803c0db 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -88,7 +88,7 @@ void NStencilHalfMulti22dTri::create() mbinx = stencil_mbinx_multi2[itype][jtype]; mbiny = stencil_mbiny_multi2[itype][jtype]; - bin_type = stencil_bin_type[i][j]; + bin_type = stencil_bin_type[itype][jtype]; cutsq = stencil_cut[itype][jtype]; diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 21bd29269a..1433273f27 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -90,7 +90,7 @@ void NStencilHalfMulti23d::create() mbiny = stencil_mbiny_multi2[itype][jtype]; mbinz = stencil_mbinz_multi2[itype][jtype]; - bin_type = stencil_bin_type[i][j]; + bin_type = stencil_bin_type[itype][jtype]; cutsq = stencil_cut[itype][jtype]; diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index 1b71a096e3..b62993caa2 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -90,7 +90,7 @@ void NStencilHalfMulti23dTri::create() mbiny = stencil_mbiny_multi2[itype][jtype]; mbinz = stencil_mbinz_multi2[itype][jtype]; - bin_type = stencil_bin_type[i][j]; + bin_type = stencil_bin_type[itype][jtype]; cutsq = stencil_cut[itype][jtype]; From de5df539c9f244f62949efdbf51aa8ec75c68bdf Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 22 Nov 2020 20:40:47 -0700 Subject: [PATCH 018/542] Changing particle size metric to neighcutsq --- src/nstencil_full_multi2_2d.cpp | 2 +- src/nstencil_full_multi2_3d.cpp | 2 +- src/nstencil_half_multi2_2d.cpp | 4 ++-- src/nstencil_half_multi2_2d_tri.cpp | 4 ++-- src/nstencil_half_multi2_3d.cpp | 4 ++-- src/nstencil_half_multi2_3d_tri.cpp | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index 2a31f95dad..0170fc5cab 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -51,7 +51,7 @@ void NStencilFullMulti22d::set_stencil_properties() stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - if(cuttypesq[i] <= cuttypesq[j]){ + if(cutneighsq[i][i] <= cutneighsq[j][j]){ stencil_cut[i][j] = sqrt(cutneighsq[j][j]); stencil_bin_type[i][j] = j; } else { diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index e028e631a8..72da5b379f 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -51,7 +51,7 @@ void NStencilFullMulti23d::set_stencil_properties() stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - if(cuttypesq[i] <= cuttypesq[j]){ + if(cutneighsq[i][i] <= cutneighsq[j][j]){ stencil_cut[i][j] = sqrt(cutneighsq[j][j]); stencil_bin_type[i][j] = j; } else { diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 70aa24f9f2..2a84fc0e34 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -49,12 +49,12 @@ void NStencilHalfMulti22d::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { if(i == j) continue; - if(cuttypesq[i] > cuttypesq[j]) continue; + if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; stencil_cut[i][j] = sqrt(cutneighsq[i][j]); - if(cuttypesq[i] == cuttypesq[j]){ + if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; stencil_bin_type[i][j] = i; } else { diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index 739803c0db..f91e0f6524 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -49,12 +49,12 @@ void NStencilHalfMulti22dTri::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { if(i == j) continue; - if(cuttypesq[i] > cuttypesq[j]) continue; + if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; stencil_cut[i][j] = sqrt(cutneighsq[i][j]); - if(cuttypesq[i] == cuttypesq[j]){ + if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; stencil_bin_type[i][j] = i; } else { diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 1433273f27..fb6b5d8cd9 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -49,12 +49,12 @@ void NStencilHalfMulti23d::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { if(i == j) continue; - if(cuttypesq[i] > cuttypesq[j]) continue; + if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; stencil_cut[i][j] = sqrt(cutneighsq[i][j]); - if(cuttypesq[i] == cuttypesq[j]){ + if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; stencil_bin_type[i][j] = i; } else { diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index b62993caa2..013688081e 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -49,12 +49,12 @@ void NStencilHalfMulti23dTri::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { if(i == j) continue; - if(cuttypesq[i] > cuttypesq[j]) continue; + if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; stencil_cut[i][j] = sqrt(cutneighsq[i][j]); - if(cuttypesq[i] == cuttypesq[j]){ + if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; stencil_bin_type[i][j] = i; } else { From d7047245f412fb969ef0bd120a9d83a0d37eb1d0 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 22 Nov 2020 21:22:29 -0700 Subject: [PATCH 019/542] Add cross type self bin check for newton --- src/npair_half_multi2_newton.cpp | 39 +++++++++++++++++++++++ src/npair_half_multi2_newton_tri.cpp | 13 ++++++++ src/npair_half_size_multi2_newton.cpp | 33 +++++++++++++++++++ src/npair_half_size_multi2_newton_tri.cpp | 13 ++++++++ 4 files changed, 98 insertions(+) diff --git a/src/npair_half_multi2_newton.cpp b/src/npair_half_multi2_newton.cpp index 58397f645e..413da06284 100755 --- a/src/npair_half_multi2_newton.cpp +++ b/src/npair_half_multi2_newton.cpp @@ -163,6 +163,45 @@ void NPairHalfMulti2Newton::build(NeighList *list) // smaller -> larger: locate i in the ktype bin structure kbin = coord2bin(x[i], ktype); + + // if same size, use half list so check own bin + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + js = binhead_multi2[ktype][kbin]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + s = stencil_multi2[itype][ktype]; ns = nstencil_multi2[itype][ktype]; diff --git a/src/npair_half_multi2_newton_tri.cpp b/src/npair_half_multi2_newton_tri.cpp index c741a860f1..7970ee94a0 100755 --- a/src/npair_half_multi2_newton_tri.cpp +++ b/src/npair_half_multi2_newton_tri.cpp @@ -143,6 +143,19 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) for (j = js; j >= 0; j = bins_multi2[ktype][j]) { jtype = type[j]; + + // if same size, use half stencil + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + } + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index a1832f6a49..3b34b1a514 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -138,6 +138,39 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // smaller -> larger: locate i in the ktype bin structure kbin = coord2bin(x[i], ktype); + // if same size, use half list so check own bin + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + js = binhead_multi2[ktype][kbin]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + // Check other stencils + s = stencil_multi2[itype][ktype]; ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { diff --git a/src/npair_half_size_multi2_newton_tri.cpp b/src/npair_half_size_multi2_newton_tri.cpp index 1c0c1d514f..3a2065c36e 100755 --- a/src/npair_half_size_multi2_newton_tri.cpp +++ b/src/npair_half_size_multi2_newton_tri.cpp @@ -115,6 +115,7 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) } } else { // smaller -> larger: locate i in the ktype bin structure + kbin = coord2bin(x[i], ktype); s = stencil_multi2[itype][ktype]; @@ -124,6 +125,18 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) for (j = js; j >= 0; j = bins_multi2[ktype][j]) { jtype = type[j]; + + // if same size, use half stencil + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + } if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; From 9b9e5022d67dd341c3126e965c6f161a9905049f Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 26 Nov 2020 14:57:48 -0700 Subject: [PATCH 020/542] initializing comm distances, temporarily sorting nlit dumps --- src/comm_brick.cpp | 18 ++++++++++++---- src/comm_tiled.cpp | 9 ++++++-- src/compute_property_local.cpp | 38 +++++++++++++++++++++++++--------- 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index ad8669d6c1..9daca70233 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -180,14 +180,19 @@ void CommBrick::setup() double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; for (i = 1; i <= ntypes; i++) { - cut = 0.0; + if (cutusermulti) { cutghostmulti[i][0] = cutusermulti[i]; cutghostmulti[i][1] = cutusermulti[i]; cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } + for (j = 1; j <= ntypes; j++){ - if(cuttypesq[j] > cuttypesq[i]) continue; + if(cutneighsq[j][j] > cutneighsq[i][i]) continue; cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); @@ -226,14 +231,19 @@ void CommBrick::setup() double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; for (i = 1; i <= ntypes; i++) { - cut = 0.0; + if (cutusermulti) { cutghostmulti[i][0] = cutusermulti[i]; cutghostmulti[i][1] = cutusermulti[i]; cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } + for (j = 1; j <= ntypes; j++){ - if(cuttypesq[j] > cuttypesq[i]) continue; + if(cutneighsq[j][j] > cutneighsq[i][i]) continue; cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 4835251b77..6657977eee 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -182,14 +182,19 @@ void CommTiled::setup() double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; for (i = 1; i <= ntypes; i++) { - cut = 0.0; + if (cutusermulti) { cutghostmulti[i][0] = cutusermulti[i]; cutghostmulti[i][1] = cutusermulti[i]; cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } + for (j = 1; j <= ntypes; j++){ - if(cuttypesq[j] > cuttypesq[i]) continue; + if(cutneighsq[j][j] > cutneighsq[i][i]) continue; cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); diff --git a/src/compute_property_local.cpp b/src/compute_property_local.cpp index 36940164aa..fd0391831c 100644 --- a/src/compute_property_local.cpp +++ b/src/compute_property_local.cpp @@ -665,12 +665,16 @@ double ComputePropertyLocal::memory_usage() void ComputePropertyLocal::pack_patom1(int n) { - int i; + int i,j; tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { i = indices[m][0]; - buf[n] = tag[i]; + j = indices[m][1]; + if(tag[i] < tag[j]) + buf[n] = tag[i]; + else + buf[n] = tag[j]; n += nvalues; } } @@ -679,12 +683,16 @@ void ComputePropertyLocal::pack_patom1(int n) void ComputePropertyLocal::pack_patom2(int n) { - int i; + int i,j; tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { - i = indices[m][1]; - buf[n] = tag[i]; + i = indices[m][0]; + j = indices[m][1]; + if(tag[i] > tag[j]) + buf[n] = tag[i]; + else + buf[n] = tag[j]; n += nvalues; } } @@ -693,12 +701,17 @@ void ComputePropertyLocal::pack_patom2(int n) void ComputePropertyLocal::pack_ptype1(int n) { - int i; + int i,j; int *type = atom->type; + tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { i = indices[m][0]; - buf[n] = type[i]; + j = indices[m][1]; + if(tag[i] < tag[j]) + buf[n] = type[i]; + else + buf[n] = type[j]; n += nvalues; } } @@ -707,12 +720,17 @@ void ComputePropertyLocal::pack_ptype1(int n) void ComputePropertyLocal::pack_ptype2(int n) { - int i; + int i,j; int *type = atom->type; + tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { - i = indices[m][1]; - buf[n] = type[i]; + i = indices[m][0]; + j = indices[m][1]; + if(tag[i] > tag[j]) + buf[n] = type[i]; + else + buf[n] = type[j]; n += nvalues; } } From 73a6bb36216f8049ce0ba92162f85a8acae71b52 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 26 Nov 2020 15:58:05 -0700 Subject: [PATCH 021/542] Fixing mistake with stencil cutoffs not being squ squared --- src/nstencil.cpp | 10 +++++----- src/nstencil.h | 2 +- src/nstencil_full_multi2_2d.cpp | 8 ++++---- src/nstencil_full_multi2_3d.cpp | 8 ++++---- src/nstencil_half_multi2_2d.cpp | 6 +++--- src/nstencil_half_multi2_2d_tri.cpp | 6 +++--- src/nstencil_half_multi2_3d.cpp | 6 +++--- src/nstencil_half_multi2_3d_tri.cpp | 6 +++--- 8 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 57aff6a71b..e362662dde 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -82,7 +82,7 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) stencil_half = nullptr; stencil_skip = nullptr; stencil_bin_type = nullptr; - stencil_cut = nullptr; + stencil_cutsq = nullptr; dimension = domain->dimension; } @@ -122,7 +122,7 @@ NStencil::~NStencil() memory->destroy(stencil_half); memory->destroy(stencil_skip); memory->destroy(stencil_bin_type); - memory->destroy(stencil_cut); + memory->destroy(stencil_cutsq); memory->destroy(stencil_sx_multi2); memory->destroy(stencil_sy_multi2); @@ -280,8 +280,8 @@ void NStencil::create_setup() "neighstencil:stencil_skip"); memory->create(stencil_bin_type, n+1, n+1, "neighstencil:stencil_bin_type"); - memory->create(stencil_cut, n+1, n+1, - "neighstencil:stencil_cut"); + memory->create(stencil_cutsq, n+1, n+1, + "neighstencil:stencil_cutsq"); memory->create(stencil_sx_multi2, n+1, n+1, "neighstencil:stencil_sx_multi2"); @@ -346,7 +346,7 @@ void NStencil::create_setup() stencil_mbiny_multi2[i][j] = mbiny_multi2[bin_type]; stencil_mbinz_multi2[i][j] = mbinz_multi2[bin_type]; - stencil_range = stencil_cut[i][j]; + stencil_range = sqrt(stencil_cutsq[i][j]); sx = static_cast (stencil_range*bininvx_multi2[bin_type]); if (sx*binsizex < stencil_range) sx++; diff --git a/src/nstencil.h b/src/nstencil.h index 68c7702f79..3c10221603 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -49,7 +49,7 @@ class NStencil : protected Pointers { bool **stencil_half; // flag creation of a half stencil for itype-jtype bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) int **stencil_bin_type; // what type to use for bin information - double **stencil_cut; // cutoff used for stencil size + double **stencil_cutsq; // cutoff used for stencil size NStencil(class LAMMPS *); virtual ~NStencil(); diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index 0170fc5cab..a10798677d 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -37,7 +37,7 @@ void NStencilFullMulti22d::set_stencil_properties() stencil_half[i][i] = 0; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // smaller -> larger => use existing newtoff stencil in larger bin @@ -52,10 +52,10 @@ void NStencilFullMulti22d::set_stencil_properties() stencil_skip[i][j] = 0; if(cutneighsq[i][i] <= cutneighsq[j][j]){ - stencil_cut[i][j] = sqrt(cutneighsq[j][j]); + stencil_cutsq[i][j] = cutneighsq[j][j]; stencil_bin_type[i][j] = j; } else { - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; stencil_bin_type[i][j] = j; } } @@ -87,7 +87,7 @@ void NStencilFullMulti22d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 72da5b379f..7e224be7ab 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -37,7 +37,7 @@ void NStencilFullMulti23d::set_stencil_properties() stencil_half[i][i] = 0; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // smaller -> larger => use existing newtoff stencil in larger bin @@ -52,10 +52,10 @@ void NStencilFullMulti23d::set_stencil_properties() stencil_skip[i][j] = 0; if(cutneighsq[i][i] <= cutneighsq[j][j]){ - stencil_cut[i][j] = sqrt(cutneighsq[j][j]); + stencil_cutsq[i][j] = cutneighsq[j][j]; stencil_bin_type[i][j] = j; } else { - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; stencil_bin_type[i][j] = j; } } @@ -89,7 +89,7 @@ void NStencilFullMulti23d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 2a84fc0e34..7ea058e70b 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -38,7 +38,7 @@ void NStencilHalfMulti22d::set_stencil_properties() stencil_half[i][i] = 1; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // Cross types: use full stencil, looking one way through hierarchy @@ -52,7 +52,7 @@ void NStencilHalfMulti22d::set_stencil_properties() if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -90,7 +90,7 @@ void NStencilHalfMulti22d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index f91e0f6524..fb974877af 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -38,7 +38,7 @@ void NStencilHalfMulti22dTri::set_stencil_properties() stencil_half[i][i] = 1; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // Cross types: use full stencil, looking one way through hierarchy @@ -52,7 +52,7 @@ void NStencilHalfMulti22dTri::set_stencil_properties() if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -90,7 +90,7 @@ void NStencilHalfMulti22dTri::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index fb6b5d8cd9..92cdc4e5e6 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -38,7 +38,7 @@ void NStencilHalfMulti23d::set_stencil_properties() stencil_half[i][i] = 1; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // Cross types: use full stencil, looking one way through hierarchy @@ -52,7 +52,7 @@ void NStencilHalfMulti23d::set_stencil_properties() if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -92,7 +92,7 @@ void NStencilHalfMulti23d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (k = 0; k <= sz; k++) diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index 013688081e..d114635113 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -38,7 +38,7 @@ void NStencilHalfMulti23dTri::set_stencil_properties() stencil_half[i][i] = 1; stencil_skip[i][i] = 0; stencil_bin_type[i][i] = i; - stencil_cut[i][i] = sqrt(cutneighsq[i][i]); + stencil_cutsq[i][i] = cutneighsq[i][i]; } // Cross types: use full stencil, looking one way through hierarchy @@ -52,7 +52,7 @@ void NStencilHalfMulti23dTri::set_stencil_properties() if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cut[i][j] = sqrt(cutneighsq[i][j]); + stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -92,7 +92,7 @@ void NStencilHalfMulti23dTri::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cut[itype][jtype]; + cutsq = stencil_cutsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (k = 0; k <= sz; k++) From f8d35139c359803938e85eceb1a8f16ab6dfc7eb Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 27 Nov 2020 17:16:52 -0700 Subject: [PATCH 022/542] Adding files for OMP --- src/USER-OMP/npair_full_multi2_omp.cpp | 149 ++++++++++ src/USER-OMP/npair_full_multi2_omp.h | 44 +++ .../npair_half_multi2_newtoff_omp.cpp | 154 +++++++++++ src/USER-OMP/npair_half_multi2_newtoff_omp.h | 43 +++ src/USER-OMP/npair_half_multi2_newton_omp.cpp | 259 ++++++++++++++++++ src/USER-OMP/npair_half_multi2_newton_omp.h | 43 +++ .../npair_half_multi2_newton_tri_omp.cpp | 206 ++++++++++++++ .../npair_half_multi2_newton_tri_omp.h | 43 +++ .../npair_half_size_multi2_newtoff_omp.cpp | 135 +++++++++ .../npair_half_size_multi2_newtoff_omp.h | 43 +++ .../npair_half_size_multi2_newton_omp.cpp | 221 +++++++++++++++ .../npair_half_size_multi2_newton_omp.h | 43 +++ .../npair_half_size_multi2_newton_tri_omp.cpp | 181 ++++++++++++ .../npair_half_size_multi2_newton_tri_omp.h | 43 +++ 14 files changed, 1607 insertions(+) create mode 100755 src/USER-OMP/npair_full_multi2_omp.cpp create mode 100755 src/USER-OMP/npair_full_multi2_omp.h create mode 100755 src/USER-OMP/npair_half_multi2_newtoff_omp.cpp create mode 100755 src/USER-OMP/npair_half_multi2_newtoff_omp.h create mode 100755 src/USER-OMP/npair_half_multi2_newton_omp.cpp create mode 100755 src/USER-OMP/npair_half_multi2_newton_omp.h create mode 100755 src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp create mode 100755 src/USER-OMP/npair_half_multi2_newton_tri_omp.h create mode 100755 src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp create mode 100755 src/USER-OMP/npair_half_size_multi2_newtoff_omp.h create mode 100755 src/USER-OMP/npair_half_size_multi2_newton_omp.cpp create mode 100755 src/USER-OMP/npair_half_size_multi2_newton_omp.h create mode 100755 src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp create mode 100755 src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h diff --git a/src/USER-OMP/npair_full_multi2_omp.cpp b/src/USER-OMP/npair_full_multi2_omp.cpp new file mode 100755 index 0000000000..8e025806c9 --- /dev/null +++ b/src/USER-OMP/npair_full_multi2_omp.cpp @@ -0,0 +1,149 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_full_multi2_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairFullMulti2Omp::NPairFullMulti2Omp(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction for all neighbors + multi-type stencil is itype dependent and is distance checked + every neighbor pair appears in list of both atoms i and j +------------------------------------------------------------------------- */ + +void NPairFullMulti2Omp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int molecular = atom->molecular; + const int moltemplate = (molecular == Atom::TEMPLATE) ? 1 : 0; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // loop over all atoms in other bins in stencil, including self + // skip if i,j neighbor cutoff is less than bin distance + // skip i = j + + ibin = atom2bin_multi2[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); + } + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (i == j) continue; + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; + list->gnum = 0; +} diff --git a/src/USER-OMP/npair_full_multi2_omp.h b/src/USER-OMP/npair_full_multi2_omp.h new file mode 100755 index 0000000000..d2bc478532 --- /dev/null +++ b/src/USER-OMP/npair_full_multi2_omp.h @@ -0,0 +1,44 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(full/multi2/omp, + NPairFullMulti2Omp, + NP_FULL | NP_MULTI2 | NP_OMP | + NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_FULL_MULTI2_OMP_H +#define LMP_NPAIR_FULL_MULTI2_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairFullMulti2Omp : public NPair { + public: + NPairFullMulti2Omp(class LAMMPS *); + ~NPairFullMulti2Omp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp new file mode 100755 index 0000000000..44689e1efc --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp @@ -0,0 +1,154 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_multi2_newtoff_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfMulti2NewtoffOmp::NPairHalfMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with partial Newton's 3rd law + each owned atom i checks own bin and other bins in stencil + multi-type stencil is itype dependent and is distance checked + pair stored once if i,j are both owned and i < j + pair stored by me if j is ghost (also stored by proc owning j) +------------------------------------------------------------------------- */ + +void NPairHalfMulti2NewtoffOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int molecular = atom->molecular; + const int moltemplate = (molecular == Atom::TEMPLATE) ? 1 : 0; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // skip if i,j neighbor cutoff is less than bin distance + // stores own/own pairs only once + // stores own/ghost pairs on both procs + + ibin = atom2bin_multi2[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); + } + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[ktype][j]) { + if (j <= i) continue; + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.h b/src/USER-OMP/npair_half_multi2_newtoff_omp.h new file mode 100755 index 0000000000..a9e9a842cb --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newtoff_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi2/newtoff/omp, + NPairHalfMulti2NewtoffOmp, + NP_HALF | NP_MULTI2 | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_MULTI2_NEWTOFF_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMulti2NewtoffOmp : public NPair { + public: + NPairHalfMulti2NewtoffOmp(class LAMMPS *); + ~NPairHalfMulti2NewtoffOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_omp.cpp new file mode 100755 index 0000000000..cc86410fa9 --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newton_omp.cpp @@ -0,0 +1,259 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_multi2_newton_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfMulti2NewtonOmp::NPairHalfMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with full Newton's 3rd law + each owned atom i checks its own bin and other bins in Newton stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfMulti2NewtonOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int molecular = atom->molecular; + const int moltemplate = (molecular == Atom::TEMPLATE) ? 1 : 0; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = atom2bin_multi2[itype][i]; + + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + + // own bin ... + js = bins_multi2[itype][i]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } else { + // smaller -> larger: locate i in the ktype bin structure + + kbin = coord2bin(x[i], ktype); + + // if same size, use half list so check own bin + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + js = binhead_multi2[ktype][kbin]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + } + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.h b/src/USER-OMP/npair_half_multi2_newton_omp.h new file mode 100755 index 0000000000..2ea2bd1ad0 --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newton_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi2/newton/omp, + NPairHalfMulti2NewtonOmp, + NP_HALF | NP_MULTI2 | NP_NEWTON | NP_OMP | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_OMP_H +#define LMP_NPAIR_HALF_MULTI2_NEWTON_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMulti2NewtonOmp : public NPair { + public: + NPairHalfMulti2NewtonOmp(class LAMMPS *); + ~NPairHalfMulti2NewtonOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp new file mode 100755 index 0000000000..707c247607 --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp @@ -0,0 +1,206 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_multi2_newton_tri_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "molecule.h" +#include "domain.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfMulti2NewtonTriOmp::NPairHalfMulti2NewtonTriOmp(LAMMPS *lmp) : + NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with Newton's 3rd law for triclinic + each owned atom i checks its own bin and other bins in triclinic stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int molecular = atom->molecular; + const int moltemplate = (molecular == Atom::TEMPLATE) ? 1 : 0; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + tagint tagprev; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + int *type = atom->type; + int *mask = atom->mask; + tagint *tag = atom->tag; + tagint *molecule = atom->molecule; + tagint **special = atom->special; + int **nspecial = atom->nspecial; + + int *molindex = atom->molindex; + int *molatom = atom->molatom; + Molecule **onemols = atom->avec->onemols; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + if (moltemplate) { + imol = molindex[i]; + iatom = molatom[i]; + tagprev = tag[i] - iatom - 1; + } + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = atom2bin_multi2[itype][i]; + + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } else { + // smaller -> larger: locate i in the ktype bin structure + + kbin = coord2bin(x[i], ktype); + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + + // if same size, use half stencil + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } + } + } + } + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.h b/src/USER-OMP/npair_half_multi2_newton_tri_omp.h new file mode 100755 index 0000000000..dd9eea6847 --- /dev/null +++ b/src/USER-OMP/npair_half_multi2_newton_tri_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi2/newton/tri/omp, + NPairHalfMulti2NewtonTriOmp, + NP_HALF | NP_MULTI2 | NP_NEWTON | NP_TRI | NP_OMP) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMulti2NewtonTriOmp : public NPair { + public: + NPairHalfMulti2NewtonTriOmp(class LAMMPS *); + ~NPairHalfMulti2NewtonTriOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp new file mode 100755 index 0000000000..d4578985ed --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp @@ -0,0 +1,135 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_size_multi2_newtoff_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMulti2NewtoffOmp::NPairHalfSizeMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with partial Newton's 3rd law + each owned atom i checks own bin and other bins in stencil + multi-type stencil is itype dependent and is distance checked + pair stored once if i,j are both owned and i < j + pair stored by me if j is ghost (also stored by proc owning j) +------------------------------------------------------------------------- */ + +void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int history = list->history; + const int mask_history = 3 << SBBITS; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // skip if i,j neighbor cutoff is less than bin distance + // stores own/own pairs only once + // stores own/ghost pairs on both procs + + ibin = atom2bin_multi2[itype][i]; + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + if (itype == ktype) { + kbin = ibin; + } else { + // Locate i in ktype bin + kbin = coord2bin(x[i], ktype); + } + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[ktype][j]) { + if (j <= i) continue; + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h new file mode 100755 index 0000000000..fd592d839c --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi2/newtoff/omp, + NPairHalfSizeMulti2NewtoffOmp, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMulti2NewtoffOmp : public NPair { + public: + NPairHalfSizeMulti2NewtoffOmp(class LAMMPS *); + ~NPairHalfSizeMulti2NewtoffOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp new file mode 100755 index 0000000000..5d8080f913 --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp @@ -0,0 +1,221 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_size_multi2_newton_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMulti2NewtonOmp::NPairHalfSizeMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with full Newton's 3rd law + each owned atom i checks its own bin and other bins in Newton stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int history = list->history; + const int mask_history = 3 << SBBITS; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = atom2bin_multi2[itype][i]; + + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // own bin ... + js = bins_multi2[itype][i]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } else { + // smaller -> larger: locate i in the ktype bin structure + kbin = coord2bin(x[i], ktype); + + // if same size, use half list so check own bin + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + js = binhead_multi2[ktype][kbin]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + // Check other stencils + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + } + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.h b/src/USER-OMP/npair_half_size_multi2_newton_omp.h new file mode 100755 index 0000000000..38b4dde272 --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newton_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi2/newton/omp, + NPairHalfSizeMulti2NewtonOmp, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_OMP | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMulti2NewtonOmp : public NPair { + public: + NPairHalfSizeMulti2NewtonOmp(class LAMMPS *); + ~NPairHalfSizeMulti2NewtonOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp new file mode 100755 index 0000000000..12365ff27c --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp @@ -0,0 +1,181 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "omp_compat.h" +#include "npair_half_size_multi2_newton_tri_omp.h" +#include "npair_omp.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMulti2NewtonTriOmp::NPairHalfSizeMulti2NewtonTriOmp(LAMMPS *lmp) : + NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with Newton's 3rd law for triclinic + each owned atom i checks its own bin and other bins in triclinic stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) +{ + const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; + const int history = list->history; + const int mask_history = 3 << SBBITS; + + NPAIR_OMP_INIT; +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(list) +#endif + NPAIR_OMP_SETUP(nlocal); + + int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + int js; + + // loop over each atom, storing neighbors + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + + // each thread has its own page allocator + MyPage &ipage = list->ipage[tid]; + ipage.reset(); + + for (i = ifrom; i < ito; i++) { + + n = 0; + neighptr = ipage.vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // own type: loop over atoms ahead in bin, including ghosts at end of list + // if j is owned atom, store by virtue of being ahead of i in list + // if j is ghost, store if x[j] "above and to right of" x[i] + + ibin = atom2bin_multi2[itype][i]; + + for (ktype = 1; ktype <= atom->ntypes; ktype++) { + + if (itype == ktype) { + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + s = stencil_multi2[itype][itype]; + ns = nstencil_multi2[itype][itype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[itype][ibin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[itype][j]) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + jtype = type[j]; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } else { + // smaller -> larger: locate i in the ktype bin structure + + kbin = coord2bin(x[i], ktype); + + s = stencil_multi2[itype][ktype]; + ns = nstencil_multi2[itype][ktype]; + for (k = 0; k < ns; k++) { + js = binhead_multi2[ktype][kbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + + jtype = type[j]; + + // if same size, use half stencil + if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + } + + ilist[i] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage.vgot(n); + if (ipage.status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + NPAIR_OMP_CLOSE; + list->inum = nlocal; +} diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h new file mode 100755 index 0000000000..494a419c8f --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi2/newton/tri/omp, + NPairHalfSizeMulti2NewtonTriOmp, + NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_TRI | NP_OMP) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMulti2NewtonTriOmp : public NPair { + public: + NPairHalfSizeMulti2NewtonTriOmp(class LAMMPS *); + ~NPairHalfSizeMulti2NewtonTriOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ From cea20da5be0d8088468cf301d66cd0f91fb9965e Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 29 Nov 2020 16:07:20 -0700 Subject: [PATCH 023/542] Simplifying stencils --- src/nstencil.cpp | 6 +----- src/nstencil.h | 1 - src/nstencil_full_multi2_2d.cpp | 25 +++---------------------- src/nstencil_full_multi2_3d.cpp | 26 ++++---------------------- src/nstencil_half_multi2_2d.cpp | 16 +++------------- src/nstencil_half_multi2_2d_tri.cpp | 16 +++------------- src/nstencil_half_multi2_3d.cpp | 16 +++------------- src/nstencil_half_multi2_3d_tri.cpp | 16 +++------------- 8 files changed, 20 insertions(+), 102 deletions(-) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index e362662dde..1658654e5a 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -82,7 +82,6 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) stencil_half = nullptr; stencil_skip = nullptr; stencil_bin_type = nullptr; - stencil_cutsq = nullptr; dimension = domain->dimension; } @@ -122,7 +121,6 @@ NStencil::~NStencil() memory->destroy(stencil_half); memory->destroy(stencil_skip); memory->destroy(stencil_bin_type); - memory->destroy(stencil_cutsq); memory->destroy(stencil_sx_multi2); memory->destroy(stencil_sy_multi2); @@ -280,8 +278,6 @@ void NStencil::create_setup() "neighstencil:stencil_skip"); memory->create(stencil_bin_type, n+1, n+1, "neighstencil:stencil_bin_type"); - memory->create(stencil_cutsq, n+1, n+1, - "neighstencil:stencil_cutsq"); memory->create(stencil_sx_multi2, n+1, n+1, "neighstencil:stencil_sx_multi2"); @@ -346,7 +342,7 @@ void NStencil::create_setup() stencil_mbiny_multi2[i][j] = mbiny_multi2[bin_type]; stencil_mbinz_multi2[i][j] = mbinz_multi2[bin_type]; - stencil_range = sqrt(stencil_cutsq[i][j]); + stencil_range = sqrt(cutneighsq[i][j]); sx = static_cast (stencil_range*bininvx_multi2[bin_type]); if (sx*binsizex < stencil_range) sx++; diff --git a/src/nstencil.h b/src/nstencil.h index 3c10221603..60e584b2a0 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -49,7 +49,6 @@ class NStencil : protected Pointers { bool **stencil_half; // flag creation of a half stencil for itype-jtype bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) int **stencil_bin_type; // what type to use for bin information - double **stencil_cutsq; // cutoff used for stencil size NStencil(class LAMMPS *); virtual ~NStencil(); diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi2_2d.cpp index a10798677d..658dba1c28 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi2_2d.cpp @@ -32,32 +32,13 @@ void NStencilFullMulti22d::set_stencil_properties() int n = atom->ntypes; int i, j; - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 0; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } - - // smaller -> larger => use existing newtoff stencil in larger bin - // larger -> smaller => use multi-like stencil for small-large in smaller bin - // If types are same cutoff, use existing like-like stencil. + // Always look up neighbor using full stencil and neighbor's bin for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; - stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - - if(cutneighsq[i][i] <= cutneighsq[j][j]){ - stencil_cutsq[i][j] = cutneighsq[j][j]; - stencil_bin_type[i][j] = j; - } else { - stencil_cutsq[i][j] = cutneighsq[i][j]; - stencil_bin_type[i][j] = j; - } + stencil_bin_type[i][j] = j; } } } @@ -87,7 +68,7 @@ void NStencilFullMulti22d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi2_3d.cpp index 7e224be7ab..7bbe5208f2 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi2_3d.cpp @@ -32,32 +32,14 @@ void NStencilFullMulti23d::set_stencil_properties() int n = atom->ntypes; int i, j; - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 0; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } - - // smaller -> larger => use existing newtoff stencil in larger bin - // larger -> smaller => use multi-like stencil for small-large in smaller bin - // If types are same cutoff, use existing like-like stencil. + // Always look up neighbor using full stencil and neighbor's bin + // Stencil cutoff set by i-j cutoff for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; - stencil_half[i][j] = 0; stencil_skip[i][j] = 0; - - if(cutneighsq[i][i] <= cutneighsq[j][j]){ - stencil_cutsq[i][j] = cutneighsq[j][j]; - stencil_bin_type[i][j] = j; - } else { - stencil_cutsq[i][j] = cutneighsq[i][j]; - stencil_bin_type[i][j] = j; - } + stencil_bin_type[i][j] = j; } } } @@ -89,7 +71,7 @@ void NStencilFullMulti23d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index 7ea058e70b..c2f2127548 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -32,27 +32,17 @@ void NStencilHalfMulti22d::set_stencil_properties() { int n = atom->ntypes; int i, j; - - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 1; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } // Cross types: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil + // larger -> smaller => no nstencil required + // If cut offs are same, use half stencil for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -90,7 +80,7 @@ void NStencilHalfMulti22d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi2_2d_tri.cpp index fb974877af..7143378305 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi2_2d_tri.cpp @@ -32,27 +32,17 @@ void NStencilHalfMulti22dTri::set_stencil_properties() { int n = atom->ntypes; int i, j; - - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 1; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } // Cross types: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil + // larger -> smaller => no nstencil required + // If cut offs are same, use half stencil for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -90,7 +80,7 @@ void NStencilHalfMulti22dTri::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 92cdc4e5e6..57702cdb50 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -32,27 +32,17 @@ void NStencilHalfMulti23d::set_stencil_properties() { int n = atom->ntypes; int i, j; - - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 1; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } // Cross types: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil + // larger -> smaller => no nstencil required + // If cut offs are same, use half stencil for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -92,7 +82,7 @@ void NStencilHalfMulti23d::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (k = 0; k <= sz; k++) diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi2_3d_tri.cpp index d114635113..33915d4741 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi2_3d_tri.cpp @@ -33,26 +33,16 @@ void NStencilHalfMulti23dTri::set_stencil_properties() int n = atom->ntypes; int i, j; - // like -> like => use half stencil - for (i = 1; i <= n; i++) { - stencil_half[i][i] = 1; - stencil_skip[i][i] = 0; - stencil_bin_type[i][i] = i; - stencil_cutsq[i][i] = cutneighsq[i][i]; - } - // Cross types: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin - // larger -> smaller => no nstecil required - // If cut offs are same, use existing type-type stencil + // larger -> smaller => no nstencil required + // If cut offs are same, use half stencil for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - if(i == j) continue; if(cutneighsq[i][i] > cutneighsq[j][j]) continue; stencil_skip[i][j] = 0; - stencil_cutsq[i][j] = cutneighsq[i][j]; if(cutneighsq[i][i] == cutneighsq[j][j]){ stencil_half[i][j] = 1; @@ -92,7 +82,7 @@ void NStencilHalfMulti23dTri::create() bin_type = stencil_bin_type[itype][jtype]; - cutsq = stencil_cutsq[itype][jtype]; + cutsq = cutneighsq[itype][jtype]; if (stencil_half[itype][jtype]) { for (k = 0; k <= sz; k++) From 2c79fbebe8ab700c226715c571d06e5fd47ff4a9 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 29 Nov 2020 17:48:43 -0700 Subject: [PATCH 024/542] Adding todo note for comm, testing for full nlist --- src/comm.cpp | 2 + src/pair_full_print.cpp | 341 ++++++++++++++++++++++++++++++++++++++++ src/pair_full_print.h | 72 +++++++++ 3 files changed, 415 insertions(+) create mode 100644 src/pair_full_print.cpp create mode 100644 src/pair_full_print.h diff --git a/src/comm.cpp b/src/comm.cpp index ad0c836432..7930b08f87 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -243,6 +243,8 @@ void Comm::init() if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; // Can't used multi2 communication with Newton off + // TODO: need to somehow restrict this option with full neighbor lists + // CANNOT use multi2 communication with full nlist if (force->newton == 0 && multi2) error->all(FLERR,"Cannot use multi2 communication with Newton off"); } diff --git a/src/pair_full_print.cpp b/src/pair_full_print.cpp new file mode 100644 index 0000000000..bf42a81288 --- /dev/null +++ b/src/pair_full_print.cpp @@ -0,0 +1,341 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_full_print.h" + +#include +#include +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairFullPrint::PairFullPrint(LAMMPS *lmp) : Pair(lmp) +{ + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairFullPrint::~PairFullPrint() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(prefactor); + memory->destroy(cut); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairFullPrint::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; + double r,rsq,arg,factor_lj; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **f = atom->f; + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + printf("NLIST %d %d %d %d\n", tag[i], tag[j], type[i], type[j]); + r = sqrt(rsq); + arg = MY_PI*r/cut[itype][jtype]; + if (r > 0.0) fpair = factor_lj * prefactor[itype][jtype] * + sin(arg) * MY_PI/cut[itype][jtype]/r; + else fpair = 0.0; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + + if (eflag) + evdwl = factor_lj * prefactor[itype][jtype] * (1.0+cos(arg)); + + if (evflag) ev_tally(i,j,nlocal,newton_pair, + evdwl,0.0,fpair,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairFullPrint::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(prefactor,n+1,n+1,"pair:prefactor"); + memory->create(cut,n+1,n+1,"pair:cut"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairFullPrint::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairFullPrint::coeff(int narg, char **arg) +{ + if (narg < 3 || narg > 4) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double prefactor_one = utils::numeric(FLERR,arg[2],false,lmp); + + double cut_one = cut_global; + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + prefactor[i][j] = prefactor_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style + ------------------------------------------------------------------------- */ + +void PairFullPrint::init_style() { + // need a full neighbor list + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairFullPrint::init_one(int i, int j) +{ + // always mix prefactors geometrically + + if (setflag[i][j] == 0) { + prefactor[i][j] = sqrt(prefactor[i][i]*prefactor[j][j]); + cut[i][j] = mix_distance(cut[i][i],cut[j][j]); + } + + prefactor[j][i] = prefactor[i][j]; + cut[j][i] = cut[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairFullPrint::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&prefactor[i][j],sizeof(double),1,fp); + fwrite(&cut[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairFullPrint::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR,&prefactor[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + } + MPI_Bcast(&prefactor[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairFullPrint::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global,sizeof(double),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairFullPrint::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairFullPrint::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g\n",i,prefactor[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairFullPrint::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g\n",i,j,prefactor[i][j],cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairFullPrint::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, + double &fforce) +{ + double r,arg,philj; + + r = sqrt(rsq); + arg = MY_PI*r/cut[itype][jtype]; + fforce = factor_lj * prefactor[itype][jtype] * + sin(arg) * MY_PI/cut[itype][jtype]/r; + + philj = prefactor[itype][jtype] * (1.0+cos(arg)); + return factor_lj*philj; +} + +/* ---------------------------------------------------------------------- */ + +void *PairFullPrint::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str,"a") == 0) return (void *) prefactor; + return nullptr; +} diff --git a/src/pair_full_print.h b/src/pair_full_print.h new file mode 100644 index 0000000000..31b51f4e97 --- /dev/null +++ b/src/pair_full_print.h @@ -0,0 +1,72 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(full/print,PairFullPrint) + +#else + +#ifndef LMP_PAIR_FULL_PRINT_H +#define LMP_PAIR_FULL_PRINT_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairFullPrint : public Pair { + friend class Pair; + + public: + PairFullPrint(class LAMMPS *); + virtual ~PairFullPrint(); + void init_style(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); + double single(int, int, int, int, double, double, double, double &); + void *extract(const char *, int &); + + protected: + double cut_global; + double **prefactor; + double **cut; + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +*/ From 8a0dac90ca1c850a4017410fd0e50d26f713a393 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 29 Nov 2020 19:57:14 -0700 Subject: [PATCH 025/542] Removing redundant k variables in npair --- src/USER-OMP/npair_full_multi2_omp.cpp | 21 ++++++------- .../npair_half_multi2_newtoff_omp.cpp | 24 +++++++------- src/USER-OMP/npair_half_multi2_newton_omp.cpp | 28 +++++++---------- .../npair_half_multi2_newton_tri_omp.cpp | 26 +++++++--------- .../npair_half_size_multi2_newtoff_omp.cpp | 24 +++++++------- .../npair_half_size_multi2_newton_omp.cpp | 31 ++++++++----------- .../npair_half_size_multi2_newton_tri_omp.cpp | 25 +++++++-------- src/comm.cpp | 3 ++ src/npair_full_multi2.cpp | 21 ++++++------- src/npair_half_multi2_newton.cpp | 28 +++++++---------- src/npair_half_multi2_newton_tri.cpp | 26 +++++++--------- src/npair_half_size_multi2_newtoff.cpp | 24 +++++++------- src/npair_half_size_multi2_newton.cpp | 31 ++++++++----------- src/npair_half_size_multi2_newton_tri.cpp | 25 +++++++-------- 14 files changed, 152 insertions(+), 185 deletions(-) diff --git a/src/USER-OMP/npair_full_multi2_omp.cpp b/src/USER-OMP/npair_full_multi2_omp.cpp index 8e025806c9..33ac289375 100755 --- a/src/USER-OMP/npair_full_multi2_omp.cpp +++ b/src/USER-OMP/npair_full_multi2_omp.cpp @@ -46,7 +46,7 @@ void NPairFullMulti2Omp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -94,22 +94,21 @@ void NPairFullMulti2Omp::build(NeighList *list) // skip i = j ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { + jbin = ibin; } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); + // Locate i in jtype bin + jbin = coord2bin(x[i], jtype); } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (i == j) continue; - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp index 44689e1efc..f440865bc7 100755 --- a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp @@ -48,7 +48,7 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -98,23 +98,21 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { + jbin = ibin; } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); + // Locate i in jtype bin + jbin = coord2bin(x[i], jtype); } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[jtype][j]) { if (j <= i) continue; - - jtype = type[j]; - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_omp.cpp index cc86410fa9..4035a44a8e 100755 --- a/src/USER-OMP/npair_half_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newton_omp.cpp @@ -47,7 +47,7 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -96,8 +96,8 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { // own bin ... js = bins_multi2[itype][i]; @@ -110,7 +110,6 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -144,7 +143,6 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) js = binhead_multi2[itype][ibin + s[k]]; for (j = js; j >= 0; j = bins_multi2[itype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -170,14 +168,14 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); + jbin = coord2bin(x[i], jtype); // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ - js = binhead_multi2[ktype][kbin]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -186,7 +184,6 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -212,14 +209,13 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) } } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp index 707c247607..25f49a5b09 100755 --- a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp @@ -48,7 +48,7 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -97,9 +97,9 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // loop over all atoms in other bins in stencil, store every pair // skip if i,j neighbor cutoff is less than bin distance @@ -117,7 +117,7 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) if (x[j][0] == xtmp && j <= i) continue; } } - jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -143,20 +143,18 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + jbin = coord2bin(x[i], jtype); + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp index d4578985ed..8e95b2c5b8 100755 --- a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp @@ -46,7 +46,7 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + int i,j,k,n,itype,jtype,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -86,23 +86,21 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { + jbin = ibin; } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); + // Locate i in jtype bin + jbin = coord2bin(x[i], jtype); } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[jtype][j]) { if (j <= i) continue; - - jtype = type[j]; - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp index 5d8080f913..ae490fe837 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp @@ -45,7 +45,7 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + int i,j,k,n,itype,jtype,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -84,9 +84,9 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // own bin ... js = bins_multi2[itype][i]; @@ -99,7 +99,6 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -125,7 +124,6 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi2[itype][ibin + s[k]]; for (j = js; j >= 0; j = bins_multi2[itype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; @@ -145,13 +143,13 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure - kbin = coord2bin(x[i], ktype); + // smaller -> larger: locate i in the jtype bin structure + jbin = coord2bin(x[i], jtype); // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ - js = binhead_multi2[ktype][kbin]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -160,7 +158,6 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -181,14 +178,12 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) // Check other stencils - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp index 12365ff27c..c1dea8ca79 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp @@ -46,7 +46,7 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + int i,j,k,n,itype,jtype,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -85,9 +85,9 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // loop over all atoms in other bins in stencil, store every pair // skip if i,j neighbor cutoff is less than bin distance @@ -105,7 +105,6 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) if (x[j][0] == xtmp && j <= i) continue; } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; @@ -125,20 +124,18 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); + jbin = coord2bin(x[i], jtype); - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/comm.cpp b/src/comm.cpp index 7930b08f87..2e1192e150 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -245,6 +245,9 @@ void Comm::init() // Can't used multi2 communication with Newton off // TODO: need to somehow restrict this option with full neighbor lists // CANNOT use multi2 communication with full nlist + // Could remove NP_NEWTON from npair_full_*multi2*, but could be cryptic + // Also could be cases where you want newton off (hybrid) but don't use multi2 comm + // Could add check on neighbor build, if full and comm->multi2 error... if (force->newton == 0 && multi2) error->all(FLERR,"Cannot use multi2 communication with Newton off"); } diff --git a/src/npair_full_multi2.cpp b/src/npair_full_multi2.cpp index 4fbdc6148b..8af77aea22 100644 --- a/src/npair_full_multi2.cpp +++ b/src/npair_full_multi2.cpp @@ -35,7 +35,7 @@ NPairFullMulti2::NPairFullMulti2(LAMMPS *lmp) : NPair(lmp) {} void NPairFullMulti2::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -84,22 +84,21 @@ void NPairFullMulti2::build(NeighList *list) // skip i = j ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { + jbin = ibin; } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); + // Locate i in jtype bin + jbin = coord2bin(x[i], jtype); } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (i == j) continue; - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_multi2_newton.cpp b/src/npair_half_multi2_newton.cpp index 413da06284..ee3114ec8b 100755 --- a/src/npair_half_multi2_newton.cpp +++ b/src/npair_half_multi2_newton.cpp @@ -36,7 +36,7 @@ NPairHalfMulti2Newton::NPairHalfMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfMulti2Newton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -86,8 +86,8 @@ void NPairHalfMulti2Newton::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { // own bin ... js = bins_multi2[itype][i]; @@ -100,7 +100,6 @@ void NPairHalfMulti2Newton::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -134,7 +133,6 @@ void NPairHalfMulti2Newton::build(NeighList *list) js = binhead_multi2[itype][ibin + s[k]]; for (j = js; j >= 0; j = bins_multi2[itype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -160,14 +158,14 @@ void NPairHalfMulti2Newton::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); + jbin = coord2bin(x[i], jtype); // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ - js = binhead_multi2[ktype][kbin]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -176,7 +174,6 @@ void NPairHalfMulti2Newton::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -202,14 +199,13 @@ void NPairHalfMulti2Newton::build(NeighList *list) } } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_multi2_newton_tri.cpp b/src/npair_half_multi2_newton_tri.cpp index 7970ee94a0..6c0fc35985 100755 --- a/src/npair_half_multi2_newton_tri.cpp +++ b/src/npair_half_multi2_newton_tri.cpp @@ -36,7 +36,7 @@ NPairHalfMulti2NewtonTri::NPairHalfMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfMulti2NewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -86,9 +86,9 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // loop over all atoms in other bins in stencil, store every pair // skip if i,j neighbor cutoff is less than bin distance @@ -106,7 +106,7 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) if (x[j][0] == xtmp && j <= i) continue; } } - jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -132,20 +132,18 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + jbin = coord2bin(x[i], jtype); + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/npair_half_size_multi2_newtoff.cpp b/src/npair_half_size_multi2_newtoff.cpp index 0e0137a77e..efbd8f2fe4 100644 --- a/src/npair_half_size_multi2_newtoff.cpp +++ b/src/npair_half_size_multi2_newtoff.cpp @@ -36,7 +36,7 @@ NPairHalfSizeMulti2Newtoff::NPairHalfSizeMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) void NPairHalfSizeMulti2Newtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns; + int i,j,k,n,itype,jtype,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -78,23 +78,21 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + if (itype == jtype) { + jbin = ibin; } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); + // Locate i in jtype bin + jbin = coord2bin(x[i], jtype); } - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[jtype][j]) { if (j <= i) continue; - - jtype = type[j]; - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index 3b34b1a514..8a143124fd 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -34,7 +34,7 @@ NPairHalfSizeMulti2Newton::NPairHalfSizeMulti2Newton(LAMMPS *lmp) : NPair(lmp) { void NPairHalfSizeMulti2Newton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns,js; + int i,j,k,n,itype,jtype,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -74,9 +74,9 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // own bin ... js = bins_multi2[itype][i]; @@ -89,7 +89,6 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -115,7 +114,6 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi2[itype][ibin + s[k]]; for (j = js; j >= 0; j = bins_multi2[itype][j]) { - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; @@ -135,13 +133,13 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure - kbin = coord2bin(x[i], ktype); + // smaller -> larger: locate i in the jtype bin structure + jbin = coord2bin(x[i], jtype); // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ - js = binhead_multi2[ktype][kbin]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -150,7 +148,6 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -171,14 +168,12 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // Check other stencils - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_size_multi2_newton_tri.cpp b/src/npair_half_size_multi2_newton_tri.cpp index 3a2065c36e..e5b3b414ec 100755 --- a/src/npair_half_size_multi2_newton_tri.cpp +++ b/src/npair_half_size_multi2_newton_tri.cpp @@ -34,7 +34,7 @@ NPairHalfSizeMulti2NewtonTri::NPairHalfSizeMulti2NewtonTri(LAMMPS *lmp) : NPair( void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,ns,js; + int i,j,k,n,itype,jtype,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -74,9 +74,9 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { + for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == ktype) { + if (itype == jtype) { // loop over all atoms in other bins in stencil, store every pair // skip if i,j neighbor cutoff is less than bin distance @@ -94,7 +94,6 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) if (x[j][0] == xtmp && j <= i) continue; } } - jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; @@ -114,20 +113,18 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) } } } else { - // smaller -> larger: locate i in the ktype bin structure + // smaller -> larger: locate i in the jtype bin structure - kbin = coord2bin(x[i], ktype); + jbin = coord2bin(x[i], jtype); - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[ktype][j]) { - - jtype = type[j]; - + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[ktype][ktype]){ + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; From 6c9bb854c017b92b1a1f0f28da4deeda3aa6735a Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 30 Nov 2020 10:51:15 -0700 Subject: [PATCH 026/542] Revamping multi2 npair classes, fixed bug if two types had same cut, better comments --- src/USER-OMP/npair_full_multi2_omp.cpp | 23 ++- .../npair_half_multi2_newtoff_omp.cpp | 28 +-- src/USER-OMP/npair_half_multi2_newton_omp.cpp | 192 ++++++++--------- .../npair_half_multi2_newton_tri_omp.cpp | 136 +++++------- .../npair_half_size_multi2_newtoff_omp.cpp | 29 +-- .../npair_half_size_multi2_newton_omp.cpp | 160 +++++++-------- .../npair_half_size_multi2_newton_tri_omp.cpp | 113 ++++------ src/npair_full_multi2.cpp | 24 +-- src/npair_half_multi2_newtoff.cpp | 44 ++-- src/npair_half_multi2_newton.cpp | 193 ++++++++---------- src/npair_half_multi2_newton_tri.cpp | 137 +++++-------- src/npair_half_size_multi2_newtoff.cpp | 29 +-- src/npair_half_size_multi2_newton.cpp | 161 +++++++-------- src/npair_half_size_multi2_newton_tri.cpp | 116 ++++------- 14 files changed, 600 insertions(+), 785 deletions(-) diff --git a/src/USER-OMP/npair_full_multi2_omp.cpp b/src/USER-OMP/npair_full_multi2_omp.cpp index 33ac289375..39f711fe4f 100755 --- a/src/USER-OMP/npair_full_multi2_omp.cpp +++ b/src/USER-OMP/npair_full_multi2_omp.cpp @@ -30,7 +30,7 @@ NPairFullMulti2Omp::NPairFullMulti2Omp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi-type stencil is itype dependent and is distance checked + multi2-type stencil is itype-jtype dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ @@ -89,21 +89,22 @@ void NPairFullMulti2Omp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // loop over all atoms in other bins in stencil, including self - // skip if i,j neighbor cutoff is less than bin distance - // skip i = j - ibin = atom2bin_multi2[itype][i]; + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { - jbin = ibin; - } else { - // Locate i in jtype bin - jbin = coord2bin(x[i], jtype); - } + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + + // loop over all atoms in surrounding bins in stencil including self + // skip i = j + // use full stencil for all type combinations s = stencil_multi2[itype][jtype]; ns = nstencil_multi2[itype][jtype]; + for (k = 0; k < ns; k++) { js = binhead_multi2[jtype][jbin + s[k]]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp index f440865bc7..bfd0d34a6c 100755 --- a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp @@ -30,8 +30,8 @@ NPairHalfMulti2NewtoffOmp::NPairHalfMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) { /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil - multi-type stencil is itype dependent and is distance checked pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ @@ -91,23 +91,24 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // loop over all atoms in other bins in stencil including self - // only store pair if i < j - // skip if i,j neighbor cutoff is less than bin distance - // stores own/own pairs only once - // stores own/ghost pairs on both procs - ibin = atom2bin_multi2[itype][i]; + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { - jbin = ibin; - } else { - // Locate i in jtype bin - jbin = coord2bin(x[i], jtype); - } + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // stores own/own pairs only once + // stores own/ghost pairs on both procs + // use full stencil for all type combinations + s = stencil_multi2[itype][jtype]; ns = nstencil_multi2[itype][jtype]; + for (k = 0; k < ns; k++) { js = binhead_multi2[jtype][jbin + s[k]]; for (j = js; j >=0; j = bins_multi2[jtype][j]) { @@ -139,7 +140,6 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) } } - ilist[i] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_omp.cpp index 4035a44a8e..cbdbd69f50 100755 --- a/src/USER-OMP/npair_half_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newton_omp.cpp @@ -30,8 +30,8 @@ NPairHalfMulti2NewtonOmp::NPairHalfMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -90,91 +90,27 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - // own bin ... - js = bins_multi2[itype][i]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + + // if same size: use half stencil + if(itype == jtype){ + + // if same type, implement with: + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + js = bins_multi2[itype][i]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - - // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - js = binhead_multi2[jtype][jbin]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -183,7 +119,7 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -207,40 +143,88 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) } else neighptr[n++] = j; } } - } - - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + } else { + + // if different types, implement with: + // loop over all atoms in jtype bin + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - + if(j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - + if (rsq <= cutneighsq[itype][jtype]) { if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); } else neighptr[n++] = j; } + } + } + } + + // for all types, loop over all atoms in other bins in stencil, store every pair + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; } } - } + } } ilist[i] = i; diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp index 25f49a5b09..5d0d724b58 100755 --- a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp @@ -31,8 +31,8 @@ NPairHalfMulti2NewtonTriOmp::NPairHalfMulti2NewtonTriOmp(LAMMPS *lmp) : /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -90,25 +90,34 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) iatom = molatom[i]; tagprev = tag[i] - iatom - 1; } - - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + + // loop over all atoms in bins in stencil + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + // if half: pairs for atoms j "below" i are excluded + // below = lower z or (equal z and lower y) or (equal zy and lower x) + // (equal zyx and j <= i) + // latter excludes self-self interaction but allows superposed atoms - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + // if same size (e.g. same type), use half stencil + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -116,80 +125,33 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) if (x[j][0] < xtmp) continue; if (x[j][0] == xtmp && j <= i) continue; } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; } } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - - // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } - } + } } ilist[i] = i; diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp index 8e95b2c5b8..3b1f979a8e 100755 --- a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp @@ -27,9 +27,10 @@ using namespace LAMMPS_NS; NPairHalfSizeMulti2NewtoffOmp::NPairHalfSizeMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- + size particles binned neighbor list construction with partial Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil - multi-type stencil is itype dependent and is distance checked pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ @@ -79,23 +80,24 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // loop over all atoms in other bins in stencil including self - // only store pair if i < j - // skip if i,j neighbor cutoff is less than bin distance - // stores own/own pairs only once - // stores own/ghost pairs on both procs - ibin = atom2bin_multi2[itype][i]; + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { - jbin = ibin; - } else { - // Locate i in jtype bin - jbin = coord2bin(x[i], jtype); - } + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // stores own/own pairs only once + // stores own/ghost pairs on both procs + // use full stencil for all type combinations + s = stencil_multi2[itype][jtype]; ns = nstencil_multi2[itype][jtype]; + for (k = 0; k < ns; k++) { js = binhead_multi2[jtype][jbin + s[k]]; for (j = js; j >=0; j = bins_multi2[jtype][j]) { @@ -120,7 +122,6 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) } } - ilist[i] = i; firstneigh[i] = neighptr; numneigh[i] = n; diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp index ae490fe837..b7367abd57 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp @@ -27,9 +27,10 @@ using namespace LAMMPS_NS; NPairHalfSizeMulti2NewtonOmp::NPairHalfSizeMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- + size particles binned neighbor list construction with full Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -78,77 +79,27 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - if (itype == jtype) { - - // own bin ... - js = bins_multi2[itype][i]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + + // if same size: use half stencil + if(itype == jtype){ + + // if same type, implement with: + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + js = bins_multi2[itype][i]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } - } else { - // smaller -> larger: locate i in the jtype bin structure - jbin = coord2bin(x[i], jtype); - - // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - js = binhead_multi2[jtype][jbin]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -157,41 +108,82 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; radsum = radi + radius[j]; cutdistsq = (radsum+skin) * (radsum+skin); - + if (rsq <= cutdistsq) { if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } - } - } - - // Check other stencils + } + } else { + + // if different types, implement with: + // loop over all atoms in jtype bin + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - + if(j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; radsum = radi + radius[j]; cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + + // for all types, loop over all atoms in other bins in stencil, store every pair + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); if (rsq <= cutdistsq) { if (history && rsq < radsum*radsum) diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp index c1dea8ca79..66f9cbce0a 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp @@ -28,9 +28,10 @@ NPairHalfSizeMulti2NewtonTriOmp::NPairHalfSizeMulti2NewtonTriOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- + size particles binned neighbor list construction with Newton's 3rd law for triclinic + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -79,24 +80,34 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { + + // loop over all atoms in bins in stencil + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + // if half: pairs for atoms j "below" i are excluded + // below = lower z or (equal z and lower y) or (equal zy and lower x) + // (equal zyx and j <= i) + // latter excludes self-self interaction but allows superposed atoms + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + // if same size (e.g. same type), use half stencil + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -104,66 +115,26 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) if (x[j][0] < xtmp) continue; if (x[j][0] == xtmp && j <= i) continue; } - } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - - // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } - } + } } ilist[i] = i; diff --git a/src/npair_full_multi2.cpp b/src/npair_full_multi2.cpp index 8af77aea22..732c5e581e 100644 --- a/src/npair_full_multi2.cpp +++ b/src/npair_full_multi2.cpp @@ -27,9 +27,8 @@ using namespace LAMMPS_NS; NPairFullMulti2::NPairFullMulti2(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - REWRITE binned neighbor list construction for all neighbors - multi-type stencil is itype dependent and is distance checked + multi2-type stencil is itype-jtype dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ @@ -79,21 +78,22 @@ void NPairFullMulti2::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // loop over all atoms in other bins in stencil, including self - // skip if i,j neighbor cutoff is less than bin distance - // skip i = j - ibin = atom2bin_multi2[itype][i]; + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { - jbin = ibin; - } else { - // Locate i in jtype bin - jbin = coord2bin(x[i], jtype); - } + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + + // loop over all atoms in surrounding bins in stencil including self + // skip i = j + // use full stencil for all type combinations s = stencil_multi2[itype][jtype]; ns = nstencil_multi2[itype][jtype]; + for (k = 0; k < ns; k++) { js = binhead_multi2[jtype][jbin + s[k]]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { diff --git a/src/npair_half_multi2_newtoff.cpp b/src/npair_half_multi2_newtoff.cpp index b44f2bcc62..ecd97fe689 100755 --- a/src/npair_half_multi2_newtoff.cpp +++ b/src/npair_half_multi2_newtoff.cpp @@ -27,17 +27,16 @@ using namespace LAMMPS_NS; NPairHalfMulti2Newtoff::NPairHalfMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - REWRITE binned neighbor list construction with partial Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil - multi-type stencil is itype dependent and is distance checked pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ void NPairHalfMulti2Newtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ktype,ibin,kbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -81,30 +80,29 @@ void NPairHalfMulti2Newtoff::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // loop over all atoms in other bins in stencil including self - // only store pair if i < j - // skip if i,j neighbor cutoff is less than bin distance - // stores own/own pairs only once - // stores own/ghost pairs on both procs - ibin = atom2bin_multi2[itype][i]; - for (ktype = 1; ktype <= atom->ntypes; ktype++) { - if (itype == ktype) { - kbin = ibin; - } else { - // Locate i in ktype bin - kbin = coord2bin(x[i], ktype); - } + + // loop through stencils for all types + for (jtype = 1; jtype <= atom->ntypes; jtype++) { + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // stores own/own pairs only once + // stores own/ghost pairs on both procs + // use full stencil for all type combinations + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; - s = stencil_multi2[itype][ktype]; - ns = nstencil_multi2[itype][ktype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[ktype][kbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[ktype][j]) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi2[jtype][j]) { if (j <= i) continue; - - jtype = type[j]; - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/npair_half_multi2_newton.cpp b/src/npair_half_multi2_newton.cpp index ee3114ec8b..6a7f52168a 100755 --- a/src/npair_half_multi2_newton.cpp +++ b/src/npair_half_multi2_newton.cpp @@ -27,10 +27,9 @@ using namespace LAMMPS_NS; NPairHalfMulti2Newton::NPairHalfMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - KS REWRTIE binned neighbor list construction with full Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -80,91 +79,27 @@ void NPairHalfMulti2Newton::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - // own bin ... - js = bins_multi2[itype][i]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + + // if same size: use half stencil + if(itype == jtype){ + + // if same type, implement with: + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + js = bins_multi2[itype][i]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - - // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - js = binhead_multi2[jtype][jbin]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -173,7 +108,7 @@ void NPairHalfMulti2Newton::build(NeighList *list) if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -197,40 +132,88 @@ void NPairHalfMulti2Newton::build(NeighList *list) } else neighptr[n++] = j; } } - } - - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + } else { + + // if different types, implement with: + // loop over all atoms in jtype bin + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - + if(j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - + if (rsq <= cutneighsq[itype][jtype]) { if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); } else neighptr[n++] = j; } + } + } + } + + // for all types, loop over all atoms in other bins in stencil, store every pair + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; } } - } + } } ilist[inum++] = i; diff --git a/src/npair_half_multi2_newton_tri.cpp b/src/npair_half_multi2_newton_tri.cpp index 6c0fc35985..9d0db60d50 100755 --- a/src/npair_half_multi2_newton_tri.cpp +++ b/src/npair_half_multi2_newton_tri.cpp @@ -27,10 +27,9 @@ using namespace LAMMPS_NS; NPairHalfMulti2NewtonTri::NPairHalfMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - KS REWRTIE binned neighbor list construction with Newton's 3rd law for triclinic + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -79,25 +78,34 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) iatom = molatom[i]; tagprev = tag[i] - iatom - 1; } - - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + + // loop over all atoms in bins in stencil + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + // if half: pairs for atoms j "below" i are excluded + // below = lower z or (equal z and lower y) or (equal zy and lower x) + // (equal zyx and j <= i) + // latter excludes self-self interaction but allows superposed atoms - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + // if same size (e.g. same type), use half stencil + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -105,80 +113,33 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) if (x[j][0] < xtmp) continue; if (x[j][0] == xtmp && j <= i) continue; } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular != Atom::ATOMIC) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; } } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - - // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } - } + } } ilist[inum++] = i; diff --git a/src/npair_half_size_multi2_newtoff.cpp b/src/npair_half_size_multi2_newtoff.cpp index efbd8f2fe4..b559f83414 100644 --- a/src/npair_half_size_multi2_newtoff.cpp +++ b/src/npair_half_size_multi2_newtoff.cpp @@ -26,10 +26,10 @@ using namespace LAMMPS_NS; NPairHalfSizeMulti2Newtoff::NPairHalfSizeMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - REWRITE + size particles binned neighbor list construction with partial Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil - multi-type stencil is itype dependent and is distance checked pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ @@ -71,23 +71,24 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // loop over all atoms in other bins in stencil including self - // only store pair if i < j - // skip if i,j neighbor cutoff is less than bin distance - // stores own/own pairs only once - // stores own/ghost pairs on both procs - ibin = atom2bin_multi2[itype][i]; + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { - jbin = ibin; - } else { - // Locate i in jtype bin - jbin = coord2bin(x[i], jtype); - } + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // stores own/own pairs only once + // stores own/ghost pairs on both procs + // use full stencil for all type combinations + s = stencil_multi2[itype][jtype]; ns = nstencil_multi2[itype][jtype]; + for (k = 0; k < ns; k++) { js = binhead_multi2[jtype][jbin + s[k]]; for (j = js; j >=0; j = bins_multi2[jtype][j]) { diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index 8a143124fd..bd5c6f6146 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -25,10 +25,10 @@ using namespace LAMMPS_NS; NPairHalfSizeMulti2Newton::NPairHalfSizeMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - KS REWRTIE + size particles binned neighbor list construction with full Newton's 3rd law + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -68,77 +68,27 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; - + + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { + + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - if (itype == jtype) { - - // own bin ... - js = bins_multi2[itype][i]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + + // if same size: use half stencil + if(itype == jtype){ + + // if same type, implement with: + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + js = bins_multi2[itype][i]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } - } else { - // smaller -> larger: locate i in the jtype bin structure - jbin = coord2bin(x[i], jtype); - - // if same size, use half list so check own bin - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - js = binhead_multi2[jtype][jbin]; for (j = js; j >= 0; j = bins_multi2[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -147,41 +97,82 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; radsum = radi + radius[j]; cutdistsq = (radsum+skin) * (radsum+skin); - + if (rsq <= cutdistsq) { if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } - } - } - - // Check other stencils + } + } else { + + // if different types, implement with: + // loop over all atoms in jtype bin + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; + js = binhead_multi2[jtype][jbin]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - + if(j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; radsum = radi + radius[j]; cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + } + + // for all types, loop over all atoms in other bins in stencil, store every pair + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); if (rsq <= cutdistsq) { if (history && rsq < radsum*radsum) diff --git a/src/npair_half_size_multi2_newton_tri.cpp b/src/npair_half_size_multi2_newton_tri.cpp index e5b3b414ec..8cde0cbb36 100755 --- a/src/npair_half_size_multi2_newton_tri.cpp +++ b/src/npair_half_size_multi2_newton_tri.cpp @@ -25,10 +25,10 @@ using namespace LAMMPS_NS; NPairHalfSizeMulti2NewtonTri::NPairHalfSizeMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- - KS REWRTIE + size particles binned neighbor list construction with Newton's 3rd law for triclinic + multi2-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil - multi-type stencil is itype dependent and is distance checked every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -68,24 +68,34 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - // own type: loop over atoms ahead in bin, including ghosts at end of list - // if j is owned atom, store by virtue of being ahead of i in list - // if j is ghost, store if x[j] "above and to right of" x[i] - ibin = atom2bin_multi2[itype][i]; + // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { - if (itype == jtype) { + // if same type use own bin + if(itype == jtype) jbin = ibin; + else jbin = coord2bin(x[i], jtype); - // loop over all atoms in other bins in stencil, store every pair - // skip if i,j neighbor cutoff is less than bin distance - - s = stencil_multi2[itype][itype]; - ns = nstencil_multi2[itype][itype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[itype][ibin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[itype][j]) { + + // loop over all atoms in bins in stencil + // stencil is empty if i larger than j + // stencil is half if i same size as j + // stencil is full if i smaller than j + // if half: pairs for atoms j "below" i are excluded + // below = lower z or (equal z and lower y) or (equal zy and lower x) + // (equal zyx and j <= i) + // latter excludes self-self interaction but allows superposed atoms + + s = stencil_multi2[itype][jtype]; + ns = nstencil_multi2[itype][jtype]; + + for (k = 0; k < ns; k++) { + js = binhead_multi2[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + + // if same size (e.g. same type), use half stencil + if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -93,68 +103,28 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) if (x[j][0] < xtmp) continue; if (x[j][0] == xtmp && j <= i) continue; } - } + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } } - } else { - // smaller -> larger: locate i in the jtype bin structure - - jbin = coord2bin(x[i], jtype); - - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; - for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { - - // if same size, use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp) { - if (x[j][0] < xtmp) continue; - if (x[j][0] == xtmp && j <= i) continue; - } - } - } - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } - } - } - } + } } - + ilist[inum++] = i; firstneigh[i] = neighptr; numneigh[i] = n; From e716abd34aafcdab1e29054475646aabf00fd932 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 30 Nov 2020 11:00:53 -0700 Subject: [PATCH 027/542] Fixing bad bracket --- .../npair_half_size_multi2_newton_omp.cpp | 19 +++++++++---------- src/npair_half_size_multi2_newton.cpp | 17 ++++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp index b7367abd57..3a3a2fbe74 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp @@ -179,21 +179,20 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) neighptr[n++] = j ^ mask_history; - else + else neighptr[n++] = j; - } } } - } + } } ilist[i] = i; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi2_newton.cpp index bd5c6f6146..bc6116b21c 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi2_newton.cpp @@ -168,18 +168,17 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) neighptr[n++] = j ^ mask_history; - else + else neighptr[n++] = j; - } } } } From 6308248a44a8dbc4cb07e2c73e94cbc835756726 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 30 Nov 2020 20:55:04 -0700 Subject: [PATCH 028/542] Replacing binsizex with multi2 version --- src/comm.cpp | 1 + src/nstencil.cpp | 6 +++--- src/nstencil_half_multi2_2d.cpp | 2 +- src/nstencil_half_multi2_3d.cpp | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/comm.cpp b/src/comm.cpp index 2e1192e150..fdafdbaf17 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -248,6 +248,7 @@ void Comm::init() // Could remove NP_NEWTON from npair_full_*multi2*, but could be cryptic // Also could be cases where you want newton off (hybrid) but don't use multi2 comm // Could add check on neighbor build, if full and comm->multi2 error... + // or just add check on comm setup - is that run before every run? Only if box change... if (force->newton == 0 && multi2) error->all(FLERR,"Cannot use multi2 communication with Newton off"); } diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 1658654e5a..709b48a257 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -345,11 +345,11 @@ void NStencil::create_setup() stencil_range = sqrt(cutneighsq[i][j]); sx = static_cast (stencil_range*bininvx_multi2[bin_type]); - if (sx*binsizex < stencil_range) sx++; + if (sx*binsizex_multi2[bin_type] < stencil_range) sx++; sy = static_cast (stencil_range*bininvy_multi2[bin_type]); - if (sy*binsizey < stencil_range) sy++; + if (sy*binsizey_multi2[bin_type] < stencil_range) sy++; sz = static_cast (stencil_range*bininvz_multi2[bin_type]); - if (sz*binsizez < stencil_range) sz++; + if (sz*binsizez_multi2[bin_type] < stencil_range) sz++; stencil_sx_multi2[i][j] = sx; stencil_sy_multi2[i][j] = sy; diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi2_2d.cpp index c2f2127548..f240d87b54 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi2_2d.cpp @@ -88,7 +88,7 @@ void NStencilHalfMulti22d::create() if (j > 0 || (j == 0 && i > 0)) { if (bin_distance_multi2(i,j,0,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = j*mbinx + i; - } + } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi2_3d.cpp index 57702cdb50..83ecb24cba 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi2_3d.cpp @@ -92,7 +92,7 @@ void NStencilHalfMulti23d::create() if (bin_distance_multi2(i,j,k,bin_type) < cutsq) stencil_multi2[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - } + } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) From ca5c9217022b19ebe1cafba818b0e16060e9ac8a Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Thu, 3 Dec 2020 13:00:21 +0000 Subject: [PATCH 029/542] added brownian dynamics integrator fix bd/sphere. --- doc/src/fix_bd_sphere.rst | 168 ++++++++++++++++++++++++ src/fix_bd_sphere.cpp | 264 ++++++++++++++++++++++++++++++++++++++ src/fix_bd_sphere.h | 104 +++++++++++++++ src/random_mars.cpp | 16 +++ src/random_mars.h | 2 + 5 files changed, 554 insertions(+) create mode 100644 doc/src/fix_bd_sphere.rst create mode 100644 src/fix_bd_sphere.cpp create mode 100644 src/fix_bd_sphere.h diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst new file mode 100644 index 0000000000..2ab184e4fb --- /dev/null +++ b/doc/src/fix_bd_sphere.rst @@ -0,0 +1,168 @@ +.. index:: fix bd/sphere + +fix bd/sphere command +====================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID bd/sphere gamma_t gamma_r diff_t diff_r seed keyword args + +* ID, group-ID are documented in :doc:`fix ` command +* bd/sphere = style name of this fix command +* gamma_t = translational friction coefficient +* gamma_r = rotational friction coefficient +* diff_t = translational diffusion coefficient +* diff_r = rotational diffusion coefficient +* zero or more keyword/value pairs may be appended +* keyword = *rng* or *rotate_planar* + + .. parsed-literal:: + + *rng* arg = *uniform* or *gaussian* or *none* + uniform = use uniform random number generator + gaussian = use gaussian random number generator + none = turn off noise + *rotate_planar* arg = *yes* or *no* + yes = only allow rotations in 2D plane (2D simulation only) + no = allow for full 3D rotations + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 1294019 + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng none + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rotate_planar yes + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rotate_planar no rng gaussian + + +Description +""""""""""" + +Perform Brownian Dynamics integration to update position, velocity, +angular velocity, and dipole moment for finite-size spherical particles +in the group each timestep. Brownian Dynamics uses Newton's laws of +motion in the limit that inertial forces are negligible compared to +viscous forces. The stochastic equations of motion are + +.. math:: + + dr = \frac{F}{\gamma_t}dt+\sqrt{2D_t}dW_t, \\ + d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r, + +where :math:`d\Omega` is an infinitesimal rotation vector (see e.g. +Chapter 4 of :ref:`(GoldsteinCM) `), :math:`dW_t` and +:math:`dW_r` are Wiener processes (see e.g. :ref:`(GardinerC) `). +The dipole vectors :math:`e_i` are updated using the rotation matrix + +.. math:: + + e_i(t+dt) = e^{\theta_X} e_i(t),\\ + +where :math:`\omega=d\Omega/dt` is the angular velocity, +:math:`\Delta\theta=|\omega|dt` is the rotation angle about +the :math:`\omega` axis, and +:math:`(\theta_X)_{ij}=-\epsilon_{ijk}d\Omega_k` is the +infinitesimal rotation matrix (see e.g. :ref:`(Callegari1) `, +section 7.4). + +IMPORTANT NOTE: This integrator is designed for generic non-equilibrium +simulations with additive noise. There are two important cases which +(conceptually) reduce the number of free parameters in this fix. +(a) In equilibrium simulations +(where fluctuation dissipation theorems are obeyed), one can define +the thermal energy :math:`k_bT=D_t\gamma_t=D_r\gamma_r`. +(b) When a no-slip boundary condition is expected between the spheres and +the surrounding medium, the condition +:math:`\gamma_t=3\gamma_r/\sigma^2` must be explicitly +accounted for (e.g. by setting *gamma_t* to 3 and *gamma_r* to 1) where +:math:`sigma` is the particle diameter. +If both (a) and (b) are true, then one must ensure this explicitly via +the above relationships. + +If the *rng* keyword is used with the *uniform* value, then the noise +is generated from a uniform distribution (see +:ref:`(Dunweg) ` for why this works). This is the same method +of noise generation as used in :doc:`fix_langevin `. + +If the *rng* keyword is used with the *gaussian* value, then the noise +is generated from a gaussian distribution. Typically this added +complexity is unnecessary, and one should be fine using the *uniform* +value for reasons argued in :ref:`(Dunweg) `. + +If the *rng* keyword is used with the *none* value, then the noise +terms are set to zero. + +If the *rotate_planar* keyword is used with the *yes* value, then only +two dimensional rotational diffusion occurs (i.e. only the z-component +of the angular momentum is non-zero). This option is only available to +2D simulations. + +If the *rotate_planar* keyword is used with the *no* value, then three +dimensional rotational diffusion occurs regardless of the simulation +dimension. + +---------- + +.. include:: accel_styles.rst + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. +None of the :doc:`fix_modify ` options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various :doc:`output commands `. +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. + +Restrictions +"""""""""""" + +This fix requires that atoms store torque and angular velocity (omega) +as defined by the :doc:`atom_style sphere ` command. +They must also store a dipole moment as defined by the +:doc:`atom_style dipole ` command. + +All particles in the group must be finite-size spheres. They cannot +be point particles. + +Related commands +"""""""""""""""" + +:doc:`fix langevin `, :doc:`fix nve/sphere `, +:doc:`atom style ` + +Default +""""""" + +The default for *rng* is *uniform* and the default for *rotate_planar* +is *no*. + +---------- + +.. _GoldsteinCM: + +**(GoldsteinCM)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). + +.. _GardinerC: + +**(GardinerC)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). + +.. _Callegari1: + +**(Callegari1)** Callegari and Volpe, *Numerical Simulations of Active Brownian +Particles*, Flowing Matter, 211-238 (2019). + +.. _Dunweg1: + +**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). + + diff --git a/src/fix_bd_sphere.cpp b/src/fix_bd_sphere.cpp new file mode 100644 index 0000000000..a30e8150f6 --- /dev/null +++ b/src/fix_bd_sphere.cpp @@ -0,0 +1,264 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + + Contributing author: Sam Cameron (University of Bristol) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_bd_sphere.h" +#include "math_extra.h" +#include "atom.h" +#include "force.h" +#include "update.h" +#include "comm.h" +#include "domain.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + time_integrate = 1; + + if (narg != 8 && narg != 10 && narg != 12) + error->all(FLERR,"Illegal fix bd/sphere command."); + + if (!atom->sphere_flag) + error->all(FLERR,"Fix bd/sphere requires atom style sphere"); + if (!atom->mu_flag) + error->all(FLERR,"Fix bd/sphere requires atom attribute mu"); + + gamma_t = force->numeric(FLERR,arg[3]); + if (gamma_t <= 0.0) + error->all(FLERR,"Fix bd/sphere translational viscous drag " + "coefficient must be > 0."); + + gamma_r = force->numeric(FLERR,arg[4]); + if (gamma_t <= 0.0) + error->all(FLERR,"Fix bd/sphere rotational viscous drag " + "coefficient must be > 0."); + + diff_t = force->numeric(FLERR,arg[5]); + if (diff_t <= 0.0) + error->all(FLERR,"Fix bd/sphere translational diffusion " + "coefficient must be > 0."); + + diff_r = force->numeric(FLERR,arg[6]); + if (diff_r <= 0.0) + error->all(FLERR,"Fix bd/sphere rotational diffusion " + "coefficient must be > 0."); + + seed = force->inumeric(FLERR,arg[7]); + if (seed <= 0) error->all(FLERR,"Fix bd/sphere seed must be > 0."); + + noise_flag = 1; + gaussian_noise_flag = 0; + rotate_planar_flag = 0; + + int iarg == 8; + + while (iarg < narg) { + if (strcmp(arg[iarg],"rng") == 0) { + if (strcmp(arg[iarg + 1],"uniform") == 0) { + noise_flag = 1; + } else if (strcmp(arg[iarg + 1],"gaussian") == 0) { + noise_flag = 1; + gaussian_noise_flag = 1; + } else if (strcmp(arg[iarg + 1],"none") == 0) { + noise_flag = 0; + } else { + error->all(FLERR,"Illegal fix/bd/sphere command."); + } + } else if (strcmp(arg[iarg],"rotate_planar") == 0) { + + if (strcmp(arg[iarg + 1],"yes") == 0) { + rotate_planar_flag = 1; + if (domain->dimension != 2) { + error->all(FLERR,"Cannot constrain rotational degrees of freedom " + "to the xy plane if the simulation is in 3D " + "(in fix/bd/sphere)."); + } + } else if (strcmp(arg[iarg + 1],"no") == 0) { + rotate_planar_flag = 0; + } else { + error->all(FLERR,"Illegal fix/bd/sphere command."); + } + } else { + error->all(FLERR,"Illegal fix/bd/sphere command."); + } + iarg = iarg + 2; + } + + + // initialize Marsaglia RNG with processor-unique seed + random = new RanMars(lmp,seed + comm->me); + + +} + +/* ---------------------------------------------------------------------- */ + +int FixBdSphere::setmask() +{ + int mask = 0; + mask |= INITIAL_INTEGRATE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +FixBdSphere::~FixBdSphere() +{ + + delete random; + +} + + +/* ---------------------------------------------------------------------- */ + +void FixBdSphere::init() +{ + + g1 = force->ftm2v/gamma_t; + g3 = force->ftm2v/gamma_r; + if (noise_flag == 0) { + g2 = 0; + g4 = 0; + rng_func = &RanMars::zero_rng; + } else if (gaussian_noise_flag == 1) { + g2 = sqrt(2 * diff_t); + g4 = sqrt(2 * diff_r); + rng_func = &RanMars::gaussian; + } else { + g2 = sqrt( 24 * diff_t); + g4 = sqrt( 24 * diff_r ); + rng_func = &RanMars::uniform_middle; + } + + if (domain->dimension == 2 && rotate_planar_flag == 0) { + error->warning(FLERR,"Using a 2D simulation, but allowing for " + "full (3D) rotation (in fix/bd/sphere)."); + } + + +} + +/* ---------------------------------------------------------------------- */ + +void FixBdSphere::initial_integrate(int /* vflag */) +{ + double **x = atom->x; + double **v = atom->v; + double **mu = atom->mu; + double **f = atom->f; + double **omega = atom->omega; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double dx,dy,dz; + double dtheta; + double mux,muy,muz,mu_tmp,wx,wy,wz; + double prefac_1, prefac_2; + + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + + // set timestep here since dt may have changed + dt = update->dt; + sqrtdt = sqrt(dt); + + int d3rot; // whether to compute angular momentum in xy plane + + if (rotate_planar_flag) { + d3rot = 0; + } else { + d3rot = 1; + } + + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + dx = (dt * g1 * f[i][0] + + sqrtdt * g2 * (random->*rng_func)()); + x[i][0] += dx; + v[i][0] = dx/dt; + dy = (dt * g1 * f[i][1] + + sqrtdt * g2 * (random->*rng_func)()); + x[i][1] += dy; + v[i][1] = dy/dt; + + dz = (dt * g1 * f[i][2] + + sqrtdt * g2 * (random->*rng_func)()); + x[i][2] += dz; + v[i][2] = dz/dt; + + + omega[i][0] = d3rot*(g3* torque[i][0] + + g4 * (random->*rng_func)()/sqrtdt); + omega[i][1] = d3rot*(g3* torque[i][1] + + g4 * (random->*rng_func)()/sqrtdt); + omega[i][2] = (g3* torque[i][2] + + g4 * (random->*rng_func)()/sqrtdt); + + dtheta = sqrt((omega[i][0]*dt)**2+(omega[i][1]*dt)**2+(omega[i][2]*dt)**2); + + if (abs(dtheta) < 1e-14) { + prefac_1 = dt; + prefac_2 = 0.5*dt*dt; + } else { + prefac_1 = dt*sin(dtheta)/dtheta; + prefac_2 = dt*dt*(1-cos(dtheta))/(dtheta*dtheta); + } + + mux = mu[i][0]; + muy = mu[i][1]; + muz = mu[i][2]; + + wx = omega[i][0]; + wy = omega[i][1]; + wz = omega[i][2]; + + mu[i][0] = (mux + prefac_1 * ( -wz*muy + wy*muz ) + + prefac_2 * ( -1*( wz*wz + wy*wy ) * mux + + ( wz*muz + wy*muy ) * wx)); + + mu[i][1] = (muy + prefac_1 * ( wz*mux - wx*muz ) + + prefac_2 * ( -1*(wz*wz + wx*wx) * muy + + ( wz*muz + wx*mux ) * wy)); + + mu[i][2] = (muz + prefac_1 * ( -wy*mux + wx*muy ) + + prefac_2 * ( -1*( wx*wx + wy*wy ) * muz + + ( wy*muy + wx*mux ) * wz)); + + mu_tmp = sqrt(mu[i][0]*mu[i][0]+mu[i][1]*mu[i][1]+mu[i][2]*mu[i][2]); + + mu[i][0] = mu[i][0]/mu_tmp; + mu[i][1] = mu[i][1]/mu_tmp; + mu[i][2] = mu[i][2]/mu_tmp; + + } + } + + return; +} diff --git a/src/fix_bd_sphere.h b/src/fix_bd_sphere.h new file mode 100644 index 0000000000..2777427bc8 --- /dev/null +++ b/src/fix_bd_sphere.h @@ -0,0 +1,104 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(bd/sphere,FixBdSphere) + +#else + +#ifndef LMP_FIX_BD_SPHERE_H +#define LMP_FIX_BD_SPHERE_H + +#include "fix_nve.h" + +namespace LAMMPS_NS { + +class FixBdSphere : public Fix { + public: + FixBdSphere(class LAMMPS *, int, char **); + virtual ~FixBdSphere(); + void init(); + void initial_integrate(int); + int setmask(); + + private: + typedef double (RanMars::*rng_member)(); + rng_member rng_func; // placeholder for RNG function + int seed; // RNG seed + + double dt, sqrtdt; // time step interval and its sqrt + + + double gamma_t,gamma_r; // translational and rotational damping params + double diff_t,diff_r; // translational and rotational diffusion coeffs + + double g1,g2, g3, g4; // prefactors in time stepping + int noise_flag; // 0/1 for noise off/on + int gaussian_noise_flag; // 0/1 for uniform/gaussian noise + int rotate_planar_flag; // 0/1 for 2D/3D rotational dof + +protected: + class RanMars *random; + + int activity_flag; +}; + +} +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal fix bd/sphere command. + +Wrong number/type of input arguments. + +E: Compute bd/sphere requires atom style sphere + +Self-explanatory. + +E: Compute bd/sphere requires atom attribute mu + +Self-explanatory. + +E: Fix bd/sphere translational viscous drag coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/sphere rotational viscous drag coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/sphere translational diffusion coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/sphere rotational diffusion coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/sphere seed must be > 0. + +E: Cannot constrain rotational degrees of freedom + to the xy plane if the simulation is in 3D (in fix/bd/sphere). + +Self-explanatory. + +W: Using a 2D simulation, but allowing for full (3D) rotation + (in fix/bd/sphere). + +Self-explanatory. + + +*/ diff --git a/src/random_mars.cpp b/src/random_mars.cpp index 621d7d3008..f31a92624a 100644 --- a/src/random_mars.cpp +++ b/src/random_mars.cpp @@ -94,6 +94,22 @@ double RanMars::uniform() return uni; } +/* ---------------------------------------------------------------------- + uniform RN shifted to be symmetric about zero (for fix bd/sphere). +------------------------------------------------------------------------- */ +double RanMars::uniform_middle() +{ + return uniform()-0.5; +} + +/* ---------------------------------------------------------------------- + Return 0 (for fix/bd/sphere). +------------------------------------------------------------------------- */ +double RanMars::zero_rng() +{ + return 0.0; +} + /* ---------------------------------------------------------------------- gaussian RN ------------------------------------------------------------------------- */ diff --git a/src/random_mars.h b/src/random_mars.h index 1bcd16b051..7028ef54d2 100644 --- a/src/random_mars.h +++ b/src/random_mars.h @@ -23,6 +23,8 @@ class RanMars : protected Pointers { RanMars(class LAMMPS *, int); ~RanMars(); double uniform(); + double uniform_middle(); + double zero_rng(); double gaussian(); double gaussian(double mu, double sigma); double rayleigh(double sigma); From a7d2059d8610b7f259c7efb7f9ea8dc068ac4a3b Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sat, 5 Dec 2020 09:33:15 +0000 Subject: [PATCH 030/542] Fixed some issues after initial testing. --- src/fix_bd_sphere.cpp | 23 +++++++++++++---------- src/fix_bd_sphere.h | 5 ++--- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/fix_bd_sphere.cpp b/src/fix_bd_sphere.cpp index a30e8150f6..50f6964d6a 100644 --- a/src/fix_bd_sphere.cpp +++ b/src/fix_bd_sphere.cpp @@ -17,10 +17,10 @@ Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ -#include -#include -#include #include "fix_bd_sphere.h" + +#include +#include #include "math_extra.h" #include "atom.h" #include "force.h" @@ -49,34 +49,34 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : if (!atom->mu_flag) error->all(FLERR,"Fix bd/sphere requires atom attribute mu"); - gamma_t = force->numeric(FLERR,arg[3]); + gamma_t = utils::numeric(FLERR,arg[3],false,lmp); if (gamma_t <= 0.0) error->all(FLERR,"Fix bd/sphere translational viscous drag " "coefficient must be > 0."); - gamma_r = force->numeric(FLERR,arg[4]); + gamma_r = utils::numeric(FLERR,arg[4],false,lmp); if (gamma_t <= 0.0) error->all(FLERR,"Fix bd/sphere rotational viscous drag " "coefficient must be > 0."); - diff_t = force->numeric(FLERR,arg[5]); + diff_t = utils::numeric(FLERR,arg[5],false,lmp); if (diff_t <= 0.0) error->all(FLERR,"Fix bd/sphere translational diffusion " "coefficient must be > 0."); - diff_r = force->numeric(FLERR,arg[6]); + diff_r = utils::numeric(FLERR,arg[6],false,lmp); if (diff_r <= 0.0) error->all(FLERR,"Fix bd/sphere rotational diffusion " "coefficient must be > 0."); - seed = force->inumeric(FLERR,arg[7]); + seed = utils::inumeric(FLERR,arg[7],false,lmp); if (seed <= 0) error->all(FLERR,"Fix bd/sphere seed must be > 0."); noise_flag = 1; gaussian_noise_flag = 0; rotate_planar_flag = 0; - int iarg == 8; + int iarg = 8; while (iarg < narg) { if (strcmp(arg[iarg],"rng") == 0) { @@ -174,6 +174,7 @@ void FixBdSphere::initial_integrate(int /* vflag */) double **mu = atom->mu; double **f = atom->f; double **omega = atom->omega; + double **torque = atom->torque; int *mask = atom->mask; int nlocal = atom->nlocal; double dx,dy,dz; @@ -221,7 +222,9 @@ void FixBdSphere::initial_integrate(int /* vflag */) omega[i][2] = (g3* torque[i][2] + g4 * (random->*rng_func)()/sqrtdt); - dtheta = sqrt((omega[i][0]*dt)**2+(omega[i][1]*dt)**2+(omega[i][2]*dt)**2); + dtheta = sqrt((omega[i][0]*dt)*(omega[i][0]*dt) + +(omega[i][1]*dt)*(omega[i][1]*dt) + +(omega[i][2]*dt)*(omega[i][2]*dt)); if (abs(dtheta) < 1e-14) { prefac_1 = dt; diff --git a/src/fix_bd_sphere.h b/src/fix_bd_sphere.h index 2777427bc8..2188684db7 100644 --- a/src/fix_bd_sphere.h +++ b/src/fix_bd_sphere.h @@ -33,8 +33,6 @@ class FixBdSphere : public Fix { int setmask(); private: - typedef double (RanMars::*rng_member)(); - rng_member rng_func; // placeholder for RNG function int seed; // RNG seed double dt, sqrtdt; // time step interval and its sqrt @@ -50,8 +48,9 @@ class FixBdSphere : public Fix { protected: class RanMars *random; + typedef double (RanMars::*rng_member)(); + rng_member rng_func; // placeholder for RNG function - int activity_flag; }; } From 3c918029f0d1b1e753702ad82a3faef61e861e51 Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sun, 6 Dec 2020 19:23:15 +0000 Subject: [PATCH 031/542] Added virial flag to fix_bd_sphere. --- doc/src/fix_bd_sphere.rst | 34 +++++------ src/fix_bd_sphere.cpp | 120 +++++++++++++++++++++++++------------- src/fix_bd_sphere.h | 5 +- 3 files changed, 98 insertions(+), 61 deletions(-) diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst index 2ab184e4fb..013d0604bb 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_bd_sphere.rst @@ -17,7 +17,7 @@ Syntax * diff_t = translational diffusion coefficient * diff_r = rotational diffusion coefficient * zero or more keyword/value pairs may be appended -* keyword = *rng* or *rotate_planar* +* keyword = *rng* .. parsed-literal:: @@ -25,9 +25,6 @@ Syntax uniform = use uniform random number generator gaussian = use gaussian random number generator none = turn off noise - *rotate_planar* arg = *yes* or *no* - yes = only allow rotations in 2D plane (2D simulation only) - no = allow for full 3D rotations Examples """""""" @@ -36,8 +33,8 @@ Examples fix 1 all bd/sphere 1.0 1.0 1.0 1.0 1294019 fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng none - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rotate_planar yes - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rotate_planar no rng gaussian + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng uniform + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng gaussian Description @@ -70,6 +67,12 @@ the :math:`\omega` axis, and infinitesimal rotation matrix (see e.g. :ref:`(Callegari1) `, section 7.4). +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to the +system's virial as part of :doc:`thermodynamic output `. +The default is *virial no* + + IMPORTANT NOTE: This integrator is designed for generic non-equilibrium simulations with additive noise. There are two important cases which (conceptually) reduce the number of free parameters in this fix. @@ -84,6 +87,13 @@ accounted for (e.g. by setting *gamma_t* to 3 and *gamma_r* to 1) where If both (a) and (b) are true, then one must ensure this explicitly via the above relationships. +IMPORTANT NOTE: The diffusion coefficient :math:`D_t` is measured +in units of (length*length)/time and the diffusion coefficient +:math:`D_r` is measured in units of 1/time, where time and length +are in the units specified on the :doc:`units ` page. Similarly, +:math:`\gamma_t` and :math:`\gamma_r` are measured in +units of mass/time and (mass*length*length)/(time). + If the *rng* keyword is used with the *uniform* value, then the noise is generated from a uniform distribution (see :ref:`(Dunweg) ` for why this works). This is the same method @@ -97,15 +107,6 @@ value for reasons argued in :ref:`(Dunweg) `. If the *rng* keyword is used with the *none* value, then the noise terms are set to zero. -If the *rotate_planar* keyword is used with the *yes* value, then only -two dimensional rotational diffusion occurs (i.e. only the z-component -of the angular momentum is non-zero). This option is only available to -2D simulations. - -If the *rotate_planar* keyword is used with the *no* value, then three -dimensional rotational diffusion occurs regardless of the simulation -dimension. - ---------- .. include:: accel_styles.rst @@ -143,8 +144,7 @@ Related commands Default """"""" -The default for *rng* is *uniform* and the default for *rotate_planar* -is *no*. +The default for *rng* is *uniform*. ---------- diff --git a/src/fix_bd_sphere.cpp b/src/fix_bd_sphere.cpp index 50f6964d6a..3a8a0811b9 100644 --- a/src/fix_bd_sphere.cpp +++ b/src/fix_bd_sphere.cpp @@ -31,6 +31,7 @@ #include "memory.h" #include "error.h" + using namespace LAMMPS_NS; using namespace FixConst; @@ -39,9 +40,11 @@ using namespace FixConst; FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { + virial_flag = 1; + time_integrate = 1; - if (narg != 8 && narg != 10 && narg != 12) + if (narg != 8 && narg != 10) error->all(FLERR,"Illegal fix bd/sphere command."); if (!atom->sphere_flag) @@ -59,6 +62,7 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix bd/sphere rotational viscous drag " "coefficient must be > 0."); + // note that diffusion is in units of epsilon**2*tau**3/(m**2*sigma**2) diff_t = utils::numeric(FLERR,arg[5],false,lmp); if (diff_t <= 0.0) error->all(FLERR,"Fix bd/sphere translational diffusion " @@ -74,7 +78,6 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : noise_flag = 1; gaussian_noise_flag = 0; - rotate_planar_flag = 0; int iarg = 8; @@ -90,20 +93,6 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : } else { error->all(FLERR,"Illegal fix/bd/sphere command."); } - } else if (strcmp(arg[iarg],"rotate_planar") == 0) { - - if (strcmp(arg[iarg + 1],"yes") == 0) { - rotate_planar_flag = 1; - if (domain->dimension != 2) { - error->all(FLERR,"Cannot constrain rotational degrees of freedom " - "to the xy plane if the simulation is in 3D " - "(in fix/bd/sphere)."); - } - } else if (strcmp(arg[iarg + 1],"no") == 0) { - rotate_planar_flag = 0; - } else { - error->all(FLERR,"Illegal fix/bd/sphere command."); - } } else { error->all(FLERR,"Illegal fix/bd/sphere command."); } @@ -123,6 +112,7 @@ int FixBdSphere::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; + mask |= POST_FORCE; return mask; } @@ -136,11 +126,13 @@ FixBdSphere::~FixBdSphere() } + /* ---------------------------------------------------------------------- */ void FixBdSphere::init() { + g1 = force->ftm2v/gamma_t; g3 = force->ftm2v/gamma_r; if (noise_flag == 0) { @@ -148,21 +140,22 @@ void FixBdSphere::init() g4 = 0; rng_func = &RanMars::zero_rng; } else if (gaussian_noise_flag == 1) { - g2 = sqrt(2 * diff_t); - g4 = sqrt(2 * diff_r); + g2 = gamma_t*sqrt(2 * diff_t)/force->ftm2v; + g4 = gamma_r*sqrt(2 * diff_r)/force->ftm2v; rng_func = &RanMars::gaussian; } else { - g2 = sqrt( 24 * diff_t); - g4 = sqrt( 24 * diff_r ); + g2 = gamma_t*sqrt( 24 * diff_t)/force->ftm2v; + g4 = gamma_r*sqrt( 24 * diff_r )/force->ftm2v; rng_func = &RanMars::uniform_middle; } - if (domain->dimension == 2 && rotate_planar_flag == 0) { - error->warning(FLERR,"Using a 2D simulation, but allowing for " - "full (3D) rotation (in fix/bd/sphere)."); - } + dt = update->dt; + sqrtdt = sqrt(dt); +} - +void FixBdSphere::setup(int vflag) +{ + post_force(vflag); } /* ---------------------------------------------------------------------- */ @@ -181,16 +174,15 @@ void FixBdSphere::initial_integrate(int /* vflag */) double dtheta; double mux,muy,muz,mu_tmp,wx,wy,wz; double prefac_1, prefac_2; - + if (igroup == atom->firstgroup) nlocal = atom->nfirst; - // set timestep here since dt may have changed + int d3rot; // whether to compute angular momentum in xy plane + dt = update->dt; sqrtdt = sqrt(dt); - - int d3rot; // whether to compute angular momentum in xy plane - if (rotate_planar_flag) { + if (domain->dimension==2) { d3rot = 0; } else { d3rot = 1; @@ -200,27 +192,22 @@ void FixBdSphere::initial_integrate(int /* vflag */) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - dx = (dt * g1 * f[i][0] - + sqrtdt * g2 * (random->*rng_func)()); + dx = dt * g1 * f[i][0]; x[i][0] += dx; v[i][0] = dx/dt; - dy = (dt * g1 * f[i][1] - + sqrtdt * g2 * (random->*rng_func)()); + + dy = dt * g1 * f[i][1]; x[i][1] += dy; v[i][1] = dy/dt; - dz = (dt * g1 * f[i][2] - + sqrtdt * g2 * (random->*rng_func)()); + dz = dt * g1 * f[i][2]; x[i][2] += dz; v[i][2] = dz/dt; - omega[i][0] = d3rot*(g3* torque[i][0] - + g4 * (random->*rng_func)()/sqrtdt); - omega[i][1] = d3rot*(g3* torque[i][1] - + g4 * (random->*rng_func)()/sqrtdt); - omega[i][2] = (g3* torque[i][2] - + g4 * (random->*rng_func)()/sqrtdt); + omega[i][0] = d3rot * g3* torque[i][0]; + omega[i][1] = d3rot * g3* torque[i][1]; + omega[i][2] = g3* torque[i][2]; dtheta = sqrt((omega[i][0]*dt)*(omega[i][0]*dt) +(omega[i][1]*dt)*(omega[i][1]*dt) @@ -265,3 +252,52 @@ void FixBdSphere::initial_integrate(int /* vflag */) return; } + +/* ---------------------------------------------------------------------- + apply random force, stolen from MISC/fix_efield.cpp +------------------------------------------------------------------------- */ + +void FixBdSphere::post_force(int vflag) +{ + double **f = atom->f; + double **x = atom->x; + double **torque = atom->torque; + int *mask = atom->mask; + imageint *image = atom->image; + int nlocal = atom->nlocal; + + // virial setup + + if (vflag) v_setup(vflag); + else evflag = 0; + + + + double fx,fy,fz; + double v[6]; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + fx = g2 * (random->*rng_func)()/sqrtdt; + fy = g2 * (random->*rng_func)()/sqrtdt; + fz = g2 * (random->*rng_func)()/sqrtdt; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + torque[i][0] = g4*(random->*rng_func)()/sqrtdt; + torque[i][1] = g4*(random->*rng_func)()/sqrtdt; + torque[i][2] = g4*(random->*rng_func)()/sqrtdt; + + if (evflag) { + v[0] = fx*x[i][0]; + v[1] = fy*x[i][1]; + v[2] = fz*x[i][2]; + v[3] = fx*x[i][1]; + v[4] = fx*x[i][2]; + v[5] = fy*x[i][2]; + v_tally(i, v); + } + } +} diff --git a/src/fix_bd_sphere.h b/src/fix_bd_sphere.h index 2188684db7..873ba9ef2a 100644 --- a/src/fix_bd_sphere.h +++ b/src/fix_bd_sphere.h @@ -20,7 +20,7 @@ FixStyle(bd/sphere,FixBdSphere) #ifndef LMP_FIX_BD_SPHERE_H #define LMP_FIX_BD_SPHERE_H -#include "fix_nve.h" +#include "fix.h" namespace LAMMPS_NS { @@ -30,6 +30,8 @@ class FixBdSphere : public Fix { virtual ~FixBdSphere(); void init(); void initial_integrate(int); + void setup(int); + void post_force(int); int setmask(); private: @@ -44,7 +46,6 @@ class FixBdSphere : public Fix { double g1,g2, g3, g4; // prefactors in time stepping int noise_flag; // 0/1 for noise off/on int gaussian_noise_flag; // 0/1 for uniform/gaussian noise - int rotate_planar_flag; // 0/1 for 2D/3D rotational dof protected: class RanMars *random; From 9848492d93657617efe0caa18afd5bdecac3a5cc Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Tue, 8 Dec 2020 11:16:42 +0000 Subject: [PATCH 032/542] Added example input scripts for fix_bd_sphere code. --- examples/bd_sphere/README.txt | 22 ++ examples/bd_sphere/in2d.bd | 76 +++++ examples/bd_sphere/in3d_virial_on.bd | 77 ++++++ .../log_gaussian_4_1_7_13_2d.lammps.log | 259 ++++++++++++++++++ .../log_uniform_10_1_5_15_3d.lammps.log | 259 ++++++++++++++++++ 5 files changed, 693 insertions(+) create mode 100644 examples/bd_sphere/README.txt create mode 100644 examples/bd_sphere/in2d.bd create mode 100644 examples/bd_sphere/in3d_virial_on.bd create mode 100644 examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log create mode 100644 examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log diff --git a/examples/bd_sphere/README.txt b/examples/bd_sphere/README.txt new file mode 100644 index 0000000000..b044f11edc --- /dev/null +++ b/examples/bd_sphere/README.txt @@ -0,0 +1,22 @@ +The input file in2d.bd demonstrates how to run a 2d simulation +of particles undergoing overdamped brownian motion in both +translational and rotational degrees of freedom. + +The input file in3d_virial_on.bd demonstrates how to run a +similar simulation but in 3d. In this case, the virial +contribution of the brownian dynamics (the sum +sum_i /(3*volume) where W is +a random variable with mean 0 and variance dt) is +calculated via the fix_modify command. For long +enough times, this will be equal to rho*D_t*gamma_t +(the ideal gas term in equilibrium systems). + +To confirm rotational diffusion is working correctly, +run the above simulations with dump files on and +measure \sum_i, and one should +find that this decays as an exponential with +timescale 1/((d-1)*D_r). + +Note that both of the simulations above are not long +enough to get good statistics on e.g. ideal gas +pressure, rotational diffusion, or translational diffusion. diff --git a/examples/bd_sphere/in2d.bd b/examples/bd_sphere/in2d.bd new file mode 100644 index 0000000000..c11381ad5a --- /dev/null +++ b/examples/bd_sphere/in2d.bd @@ -0,0 +1,76 @@ +# 2d overdamped brownian dynamics + +variable rng string gaussian +variable gamma_t equal 4.0 +variable gamma_r equal 1.0 +variable D_t equal 7.0 +variable D_r equal 13.0 +variable seed equal 1974019 + + +variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r} + + +log log_${params}_2d.lammps.log +units lj +atom_style hybrid dipole sphere +dimension 2 +newton off + + +lattice sq 0.4 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +create_atoms 1 box +mass * 1.0 +set type * dipole/random ${seed} 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + + +#compute d all property/atom mux muy muz + +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 2 all enforce2d + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +# uncomment next three lines for dump output +#dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type & +# x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 + + diff --git a/examples/bd_sphere/in3d_virial_on.bd b/examples/bd_sphere/in3d_virial_on.bd new file mode 100644 index 0000000000..1ef88930c1 --- /dev/null +++ b/examples/bd_sphere/in3d_virial_on.bd @@ -0,0 +1,77 @@ +# 3d overdamped brownian dynamics + + +variable rng string uniform +variable gamma_t equal 10.0 +variable gamma_r equal 1.0 +variable D_t equal 5.0 +variable D_r equal 15.0 +variable seed equal 553910 + + +variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r} + + +log log_${params}_3d.lammps.log +units lj +atom_style hybrid dipole sphere +dimension 3 +newton off + + +lattice sc 0.4 +region box block -8 8 -8 8 -8 8 +create_box 1 box +create_atoms 1 box +mass * 1.0 +set type * dipole/random ${seed} 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + + +#compute d all property/atom mux muy muz + +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix_modify 1 virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +# uncomment the next three lines for dump file +#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type & +# x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 + + diff --git a/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log b/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log new file mode 100644 index 0000000000..72b90efe0e --- /dev/null +++ b/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log @@ -0,0 +1,259 @@ +units lj +atom_style hybrid dipole sphere +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +dimension 2 +newton off + + +lattice sq 0.4 +Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1024 atoms + create_atoms CPU = 0.002 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 1974019 1.0 +Setting atom values ... + 1024 settings made for dipole/random +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + + +#compute d all property/atom mux muy muz + +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 4 1 7 ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 4 1 7 13 ${seed} rng ${rng} +fix 1 all bd/sphere 4 1 7 13 1974019 rng ${rng} +fix 1 all bd/sphere 4 1 7 13 1974019 rng gaussian +fix 2 all enforce2d + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.289 | 4.289 | 4.289 Mbytes +Step Temp E_pair c_press + 0 1 0 0 + 50000 7.3671759e+10 0 0 +Loop time of 10.2295 on 1 procs for 50000 steps with 1024 atoms + +Performance: 0.042 tau/day, 4887.825 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.033217 | 0.033217 | 0.033217 | 0.0 | 0.32 +Output | 2.1435e-05 | 2.1435e-05 | 2.1435e-05 | 0.0 | 0.00 +Modify | 10.047 | 10.047 | 10.047 | 0.0 | 98.21 +Other | | 0.1497 | | | 1.46 + +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 65.0000 ave 65 max 65 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +# uncomment next three lines for dump output +#dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type # x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.664 | 4.664 | 4.664 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 7.3671759e+10 0 0 0 0 0 0 + 1000 710744.42 0 0.1332856 0.13577642 0 0.26906203 0 + 2000 705025.5 0 0.27078701 0.27355073 0 0.54433774 0 + 3000 750845.29 0 0.41036556 0.39710766 0 0.80747321 0 + 4000 752542.47 0 0.53097803 0.53654063 0 1.0675187 0 + 5000 731812.26 0 0.66927129 0.65872533 0 1.3279966 0 + 6000 716119.24 0 0.79097615 0.76825364 0 1.5592298 0 + 7000 726294.28 0 0.93322099 0.91220222 0 1.8454232 0 + 8000 673771.54 0 1.0789689 1.031843 0 2.1108119 0 + 9000 757173.95 0 1.2328252 1.2024778 0 2.435303 0 + 10000 693711.95 0 1.3972184 1.3045575 0 2.7017759 0 + 11000 774897.65 0 1.584036 1.4168797 0 3.0009157 0 + 12000 764910.09 0 1.7344079 1.5751172 0 3.3095251 0 + 13000 752859.5 0 1.8538323 1.7336107 0 3.5874429 0 + 14000 746333.26 0 2.0392353 1.9027299 0 3.9419652 0 + 15000 735704.24 0 2.1714465 2.000952 0 4.1723985 0 + 16000 722768.01 0 2.258542 2.1084289 0 4.3669709 0 + 17000 741408.63 0 2.4194247 2.2469958 0 4.6664206 0 + 18000 713609.29 0 2.5366244 2.3325203 0 4.8691447 0 + 19000 770066.65 0 2.6662758 2.4726928 0 5.1389686 0 + 20000 739828.53 0 2.792873 2.6188232 0 5.4116962 0 + 21000 719478.96 0 2.9109491 2.7872008 0 5.6981499 0 + 22000 737448.77 0 3.0162218 2.9213733 0 5.9375951 0 + 23000 714695.3 0 3.1309486 3.0325142 0 6.1634628 0 + 24000 712386.78 0 3.31348 3.1323675 0 6.4458475 0 + 25000 747298.11 0 3.5148965 3.2978465 0 6.812743 0 + 26000 737240.19 0 3.7117818 3.4245004 0 7.1362822 0 + 27000 720878.36 0 3.8342853 3.5681829 0 7.4024682 0 + 28000 776824.55 0 3.9904931 3.6853691 0 7.6758622 0 + 29000 714696.4 0 4.0733919 3.8807741 0 7.954166 0 + 30000 725827.3 0 4.2213715 4.0552488 0 8.2766204 0 + 31000 737978.89 0 4.2918759 4.1795647 0 8.4714407 0 + 32000 766620.93 0 4.4620184 4.2765194 0 8.7385378 0 + 33000 714739.71 0 4.5942749 4.426881 0 9.0211559 0 + 34000 694821.06 0 4.686348 4.5057433 0 9.1920912 0 + 35000 721948.38 0 4.7526371 4.5689873 0 9.3216245 0 + 36000 713621.16 0 4.8645036 4.6355302 0 9.5000339 0 + 37000 704079.85 0 4.9652601 4.8235856 0 9.7888457 0 + 38000 706914.29 0 5.1045998 4.9585169 0 10.063117 0 + 39000 736940.33 0 5.2172626 5.1168713 0 10.334134 0 + 40000 738302.73 0 5.3720228 5.3207578 0 10.692781 0 + 41000 746518.85 0 5.5376524 5.5192708 0 11.056923 0 + 42000 719970.82 0 5.7610696 5.6335312 0 11.394601 0 + 43000 736875.87 0 5.8769052 5.7504356 0 11.627341 0 + 44000 765218.38 0 6.0308866 5.9650683 0 11.995955 0 + 45000 739382.69 0 6.1577029 6.0736304 0 12.231333 0 + 46000 730967.87 0 6.3846223 6.2090389 0 12.593661 0 + 47000 758881.95 0 6.5604053 6.3883315 0 12.948737 0 + 48000 751135.53 0 6.6160248 6.5199017 0 13.135926 0 + 49000 721058.97 0 6.6124519 6.6938253 0 13.306277 0 + 50000 686287.15 0 6.8527601 6.8518895 0 13.70465 0 + 51000 735175.7 0 6.9928329 6.8663476 0 13.85918 0 + 52000 760085.67 0 7.1009497 7.0345784 0 14.135528 0 + 53000 741211.89 0 7.2287282 7.2318431 0 14.460571 0 + 54000 723668.97 0 7.3732634 7.3847301 0 14.757994 0 + 55000 751846.88 0 7.5566634 7.4927365 0 15.0494 0 + 56000 762648.27 0 7.7651818 7.5379796 0 15.303161 0 + 57000 710175.2 0 7.9051989 7.6644542 0 15.569653 0 + 58000 740068.94 0 8.0296854 7.8307471 0 15.860433 0 + 59000 728119.43 0 8.1562433 8.039333 0 16.195576 0 + 60000 728768.48 0 8.316192 8.1643843 0 16.480576 0 + 61000 707538.83 0 8.3727565 8.3895027 0 16.762259 0 + 62000 713931.41 0 8.4657927 8.5517529 0 17.017546 0 + 63000 742604.95 0 8.6550684 8.7189851 0 17.374053 0 + 64000 738981.54 0 8.7331005 8.9208616 0 17.653962 0 + 65000 701685.87 0 8.898571 8.977933 0 17.876504 0 + 66000 716151.39 0 9.0229699 9.1292403 0 18.15221 0 + 67000 732641.29 0 9.151611 9.3249179 0 18.476529 0 + 68000 740870.85 0 9.233452 9.4667607 0 18.700213 0 + 69000 733159.17 0 9.1743719 9.5648134 0 18.739185 0 + 70000 693562.75 0 9.3414089 9.7425241 0 19.083933 0 + 71000 748694.53 0 9.5036102 9.8686571 0 19.372267 0 + 72000 721046.02 0 9.7116931 10.0195 0 19.731193 0 + 73000 736631.66 0 9.7095662 10.205306 0 19.914872 0 + 74000 751264.08 0 9.9413234 10.327844 0 20.269167 0 + 75000 729223.27 0 10.211903 10.412516 0 20.624419 0 + 76000 747811 0 10.332266 10.544251 0 20.876517 0 + 77000 717505.01 0 10.521195 10.737774 0 21.258969 0 + 78000 712288.89 0 10.712514 10.874932 0 21.587446 0 + 79000 728912.34 0 10.755227 10.968257 0 21.723484 0 + 80000 743505.67 0 11.026063 11.070234 0 22.096298 0 + 81000 732218.14 0 11.321417 11.31773 0 22.639147 0 + 82000 777186.61 0 11.480074 11.401465 0 22.881539 0 + 83000 734805.95 0 11.7524 11.62552 0 23.37792 0 + 84000 753703.38 0 11.863318 11.833925 0 23.697243 0 + 85000 755730.75 0 12.068564 11.937143 0 24.005707 0 + 86000 725021.19 0 12.258195 12.034586 0 24.292781 0 + 87000 731844.67 0 12.341844 12.331792 0 24.673636 0 + 88000 707368.15 0 12.431452 12.547314 0 24.978766 0 + 89000 784756.28 0 12.405699 12.686021 0 25.09172 0 + 90000 760278.97 0 12.542669 12.851925 0 25.394593 0 + 91000 753765.97 0 12.703534 13.08092 0 25.784454 0 + 92000 705869.22 0 12.971838 13.210092 0 26.18193 0 + 93000 741699.59 0 13.110745 13.383115 0 26.49386 0 + 94000 717372.41 0 13.252109 13.466388 0 26.718497 0 + 95000 721820.49 0 13.373146 13.660605 0 27.033751 0 + 96000 777409.97 0 13.596822 13.886961 0 27.483782 0 + 97000 741480.91 0 13.752545 14.204624 0 27.957169 0 + 98000 725755.72 0 13.918302 14.219292 0 28.137594 0 + 99000 729710.24 0 14.065417 14.213142 0 28.278559 0 + 100000 700366.74 0 14.278054 14.324135 0 28.602189 0 + 101000 722737.18 0 14.398464 14.46904 0 28.867505 0 + 102000 758930.85 0 14.408098 14.637964 0 29.046061 0 + 103000 725233.66 0 14.526482 14.719688 0 29.24617 0 + 104000 752416.52 0 14.641393 14.952087 0 29.59348 0 + 105000 769047.5 0 14.780788 15.182945 0 29.963733 0 + 106000 734849.98 0 14.840982 15.316112 0 30.157094 0 + 107000 720210.74 0 15.010029 15.372792 0 30.382821 0 + 108000 741216.55 0 15.113143 15.488575 0 30.601718 0 + 109000 714158.43 0 15.057499 15.592865 0 30.650364 0 + 110000 743262.25 0 15.381281 15.798368 0 31.179649 0 + 111000 728836.92 0 15.488226 16.034645 0 31.522871 0 + 112000 753490.67 0 15.679979 16.350819 0 32.030799 0 + 113000 730699.5 0 15.82813 16.680136 0 32.508266 0 + 114000 705526.22 0 16.099699 16.920095 0 33.019794 0 + 115000 752408.36 0 16.393466 17.053935 0 33.447401 0 + 116000 713697.16 0 16.634939 17.35349 0 33.98843 0 + 117000 690041.5 0 16.727379 17.457936 0 34.185315 0 + 118000 745594.37 0 16.838659 17.585392 0 34.424052 0 + 119000 714487.42 0 17.064214 17.743478 0 34.807692 0 + 120000 716557.14 0 17.105558 17.845925 0 34.951483 0 +Loop time of 25.2131 on 1 procs for 120000 steps with 1024 atoms + +Performance: 4112.144 tau/day, 4759.427 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0016123 | 0.0016123 | 0.0016123 | 0.0 | 0.01 +Comm | 0.025898 | 0.025898 | 0.025898 | 0.0 | 0.10 +Output | 0.0037882 | 0.0037882 | 0.0037882 | 0.0 | 0.02 +Modify | 24.767 | 24.767 | 24.767 | 0.0 | 98.23 +Other | | 0.4146 | | | 1.64 + +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 1049 +Dangerous builds = 0 + + +Total wall time: 0:00:35 diff --git a/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log b/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log new file mode 100644 index 0000000000..fda48dc71a --- /dev/null +++ b/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log @@ -0,0 +1,259 @@ +units lj +atom_style hybrid dipole sphere +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +dimension 3 +newton off + + +lattice sc 0.4 +Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 +region box block -8 8 -8 8 -8 8 +create_box 1 box +Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4096 atoms + create_atoms CPU = 0.003 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 553910 1.0 +Setting atom values ... + 4096 settings made for dipole/random +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + + +#compute d all property/atom mux muy muz + +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 10 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 10 1 ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 10 1 5 ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere 10 1 5 15 ${seed} rng ${rng} +fix 1 all bd/sphere 10 1 5 15 553910 rng ${rng} +fix 1 all bd/sphere 10 1 5 15 553910 rng uniform +fix_modify 1 virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.362 | 4.362 | 4.362 Mbytes +Step Temp E_pair c_press + 0 1 0 -32553.271 + 50000 5.2351457e+10 0 -15026.42 +Loop time of 18.6303 on 1 procs for 50000 steps with 4096 atoms + +Performance: 0.023 tau/day, 2683.804 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.31439 | 0.31439 | 0.31439 | 0.0 | 1.69 +Output | 5.5046e-05 | 5.5046e-05 | 5.5046e-05 | 0.0 | 0.00 +Modify | 17.718 | 17.718 | 17.718 | 0.0 | 95.11 +Other | | 0.5974 | | | 3.21 + +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 817.000 ave 817 max 817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +# uncomment the next three lines for dump file +#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type # x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.737 | 4.737 | 4.737 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 5.2351457e+10 0 0 0 0 0 -233.83012 + 1000 522590.88 0 0.10259269 0.10487519 0.10391005 0.31137793 -13.730626 + 2000 521776.08 0 0.20662097 0.2118237 0.20371673 0.62216139 -141.90848 + 3000 529408.9 0 0.30711557 0.3105565 0.30293728 0.92060935 28.335187 + 4000 518069.42 0 0.39918073 0.40643835 0.40168024 1.2072993 -12.262269 + 5000 520487.75 0 0.50222348 0.50854461 0.50304351 1.5138116 303.56775 + 6000 527970.5 0 0.60443861 0.60363711 0.59884932 1.806925 218.55799 + 7000 519424.68 0 0.69529071 0.70025532 0.70347351 2.0990195 -363.51723 + 8000 521925.72 0 0.80545039 0.81520807 0.79930708 2.4199655 510.47732 + 9000 518397.28 0 0.91236827 0.9050426 0.89431985 2.7117307 537.74151 + 10000 525696.47 0 0.99494325 0.99433832 0.98574884 2.9750304 411.56896 + 11000 524505.88 0 1.0863677 1.1232636 1.0810609 3.2906921 32.652569 + 12000 525350.08 0 1.1816136 1.2412674 1.189996 3.612877 45.304061 + 13000 524598.12 0 1.2841566 1.3381915 1.2906249 3.912973 -376.50739 + 14000 525438.09 0 1.3964076 1.4420032 1.3915611 4.2299719 -31.273339 + 15000 523531.08 0 1.4829127 1.5436611 1.4892074 4.5157811 -357.26366 + 16000 532366.43 0 1.5871965 1.6432286 1.6020146 4.8324397 435.10667 + 17000 523629.21 0 1.6968632 1.7574539 1.6967316 5.1510487 280.59816 + 18000 521432.94 0 1.7973983 1.8462477 1.8087416 5.4523876 134.69384 + 19000 530778.78 0 1.888653 1.9328611 1.9268155 5.7483296 -64.346115 + 20000 525623.21 0 1.9718697 2.0048196 2.0068177 5.983507 73.884028 + 21000 524862.26 0 2.0414226 2.0967449 2.0878261 6.2259936 163.95173 + 22000 529123.04 0 2.143889 2.1850282 2.1972491 6.5261662 234.87793 + 23000 519629.76 0 2.2297952 2.2661611 2.2805197 6.776476 57.65702 + 24000 523746.18 0 2.3293654 2.3658544 2.3842082 7.079428 46.291089 + 25000 515851.07 0 2.4177426 2.4559274 2.5029961 7.3766661 -16.353546 + 26000 515592.59 0 2.5352044 2.5438918 2.5657776 7.6448738 -65.259248 + 27000 527764.96 0 2.6498176 2.6423592 2.6715377 7.9637146 324.48367 + 28000 527177.18 0 2.7405087 2.7431537 2.7702133 8.2538757 -47.906223 + 29000 521079.66 0 2.8294642 2.8410515 2.8546167 8.5251323 -135.36173 + 30000 526092.8 0 2.961898 2.9361476 2.9319586 8.8300042 206.28635 + 31000 529595.93 0 3.0638234 3.0128995 3.0434232 9.1201461 -35.946596 + 32000 521173.83 0 3.159344 3.1397814 3.1455147 9.4446401 328.73193 + 33000 522989.77 0 3.2567127 3.2348491 3.2444068 9.7359686 362.33435 + 34000 522930.45 0 3.3489514 3.3433962 3.3391822 10.03153 178.73773 + 35000 530664.64 0 3.4445399 3.4843743 3.4205275 10.349442 146.02898 + 36000 521443.26 0 3.520475 3.6171115 3.5179112 10.655498 244.07172 + 37000 529669.54 0 3.6076942 3.7233869 3.6169718 10.948053 79.46077 + 38000 527521.93 0 3.7093699 3.8275855 3.7451165 11.282072 -91.131074 + 39000 523237.65 0 3.8088585 3.9559041 3.8748751 11.639638 -70.265271 + 40000 522798.75 0 3.89319 4.0420406 3.9196106 11.854841 91.631855 + 41000 524228.77 0 3.9863379 4.1602581 4.0393136 12.18591 113.26515 + 42000 524546.08 0 4.0969366 4.2738786 4.1218115 12.492627 313.83957 + 43000 515948.22 0 4.2161418 4.3700009 4.2178962 12.804039 92.993253 + 44000 527319.42 0 4.3267431 4.4688062 4.3274029 13.122952 -118.91153 + 45000 526222.74 0 4.4289127 4.5531203 4.4604075 13.442441 -474.98113 + 46000 524617.54 0 4.5422968 4.6316235 4.5445894 13.71851 -303.23458 + 47000 524067.07 0 4.6284944 4.6989745 4.5884153 13.915884 -343.41107 + 48000 535659.25 0 4.7221068 4.7505302 4.7212887 14.193926 149.75872 + 49000 527425.65 0 4.8098179 4.8761354 4.8362998 14.522253 -272.18936 + 50000 516588.98 0 4.9077783 4.9950242 4.9826783 14.885481 -52.925733 + 51000 522291.86 0 5.0022325 5.0659091 5.0525647 15.120706 -52.985883 + 52000 530056.07 0 5.123751 5.1470734 5.1603805 15.431205 -231.29334 + 53000 525624.96 0 5.2412036 5.2543541 5.2717587 15.767316 294.19678 + 54000 524407.27 0 5.3530927 5.359043 5.342451 16.054587 -55.282671 + 55000 519989.37 0 5.4458173 5.4781678 5.413865 16.33785 -135.28414 + 56000 524987.68 0 5.5282178 5.5825979 5.5127172 16.623533 84.654044 + 57000 525610.66 0 5.6202713 5.6925409 5.5964466 16.909259 407.16526 + 58000 523097.93 0 5.7390671 5.7830376 5.6921201 17.214225 -271.05243 + 59000 525357.74 0 5.8037507 5.8654514 5.7920744 17.461276 -213.07815 + 60000 522185.96 0 5.9067925 5.9909357 5.903525 17.801253 330.09637 + 61000 527694.33 0 6.0576096 6.0907943 6.0202838 18.168688 310.22884 + 62000 522936.57 0 6.1422565 6.1888677 6.124212 18.455336 -24.591697 + 63000 526642.55 0 6.2261061 6.2832608 6.2023277 18.711695 -130.32823 + 64000 514826.49 0 6.3032614 6.3628539 6.3184362 18.984552 195.43036 + 65000 529338.23 0 6.4152502 6.4482512 6.4241507 19.287652 -77.817059 + 66000 527425.07 0 6.5122194 6.5052947 6.5518104 19.569324 8.0143425 + 67000 525258.85 0 6.6292334 6.6417881 6.6438938 19.914915 152.1905 + 68000 527067.89 0 6.7569918 6.6951219 6.7357134 20.187827 -337.54654 + 69000 522395.33 0 6.8401085 6.7836633 6.8243746 20.448146 34.755329 + 70000 522200.34 0 6.9549662 6.8773008 6.9537894 20.786056 352.30283 + 71000 527550.11 0 7.0441399 6.9837133 7.0860791 21.113932 171.42143 + 72000 529564.22 0 7.1744229 7.0581688 7.1507041 21.383296 269.04569 + 73000 524175.53 0 7.248828 7.1693905 7.2974868 21.715705 -84.993601 + 74000 528604.1 0 7.3358903 7.2983204 7.390523 22.024734 -6.8495991 + 75000 519136.15 0 7.445248 7.4224403 7.4690469 22.336735 250.23521 + 76000 518470.58 0 7.5747768 7.5354904 7.5612252 22.671492 274.53956 + 77000 518459.51 0 7.6660567 7.6557812 7.7020797 23.023918 430.07722 + 78000 516646.23 0 7.7596088 7.7130901 7.7896654 23.262364 536.21298 + 79000 517511.57 0 7.9021784 7.82098 7.8840028 23.607161 193.80468 + 80000 520654.84 0 7.991107 7.8932454 8.0049184 23.889271 -6.0066355 + 81000 522331.74 0 8.0616391 7.9990606 8.0954141 24.156114 47.271954 + 82000 521540.3 0 8.1268306 8.0763829 8.1861513 24.389365 36.265762 + 83000 529154.07 0 8.2537975 8.1854268 8.2745822 24.713807 113.94154 + 84000 525977.29 0 8.2999431 8.26591 8.2970498 24.862903 -72.444836 + 85000 520505.41 0 8.3872349 8.3551374 8.4251458 25.167518 -346.6703 + 86000 516334.67 0 8.4947842 8.4504822 8.5238751 25.469142 -3.8332672 + 87000 524745.34 0 8.5405071 8.5348571 8.6344387 25.709803 -149.22382 + 88000 521384.87 0 8.5798155 8.6260785 8.7133565 25.919251 22.009599 + 89000 519680.71 0 8.6657392 8.6857605 8.8319304 26.18343 -180.94487 + 90000 522482.4 0 8.7310324 8.7844751 8.9636862 26.479194 -102.50361 + 91000 527450.69 0 8.8250902 8.8445728 9.0456076 26.715271 325.68024 + 92000 519060.77 0 8.9054775 8.9412744 9.1259074 26.972659 130.73028 + 93000 518170.14 0 9.0378587 9.0315875 9.2346184 27.304065 -111.68498 + 94000 531639.53 0 9.1268874 9.0952299 9.3437063 27.565824 -26.423328 + 95000 519776.1 0 9.2332576 9.1903006 9.4516001 27.875158 -113.46356 + 96000 527082.72 0 9.2993234 9.2533436 9.534409 28.087076 -46.720611 + 97000 526965.16 0 9.3485677 9.3197496 9.6631942 28.331512 159.18386 + 98000 529790.04 0 9.4759113 9.5177629 9.783846 28.77752 343.32872 + 99000 520964.82 0 9.6488022 9.6573355 9.882432 29.18857 -257.85576 + 100000 520863.58 0 9.7452168 9.7659565 9.9878877 29.499061 -108.52324 + 101000 526760.86 0 9.8073751 9.8508213 10.127532 29.785728 120.22249 + 102000 519249.89 0 9.9315855 9.9767409 10.221605 30.129931 -176.50647 + 103000 525003.9 0 10.023982 10.062451 10.315002 30.401435 422.1401 + 104000 519112.73 0 10.086117 10.136879 10.415222 30.638218 -147.66505 + 105000 517898.24 0 10.180438 10.240942 10.525346 30.946725 158.63054 + 106000 528046.35 0 10.258163 10.41411 10.601663 31.273936 -128.04669 + 107000 527105.8 0 10.364015 10.485036 10.795177 31.644228 183.82165 + 108000 522024.28 0 10.450786 10.544065 10.902961 31.897812 -39.692553 + 109000 519497.83 0 10.556206 10.61633 11.046222 32.218758 173.75988 + 110000 521070.8 0 10.64856 10.745382 11.071387 32.465329 -128.45389 + 111000 525657.64 0 10.830485 10.852954 11.188295 32.871734 -214.60249 + 112000 519426.33 0 10.987769 10.97575 11.26012 33.223639 292.35901 + 113000 526472.45 0 11.029941 11.086376 11.418772 33.535089 189.69245 + 114000 520070.28 0 11.107229 11.183295 11.454757 33.745281 -40.433571 + 115000 525812.59 0 11.153992 11.305378 11.537521 33.99689 -106.38733 + 116000 524464.26 0 11.256779 11.413082 11.633295 34.303156 -159.59643 + 117000 519838.94 0 11.344413 11.480104 11.706366 34.530883 -2.0346135 + 118000 524075.83 0 11.441416 11.597533 11.783056 34.822005 -350.05313 + 119000 533816.71 0 11.52766 11.681986 11.917713 35.127359 -521.58975 + 120000 524509.31 0 11.63865 11.792667 12.080379 35.511696 273.09647 +Loop time of 46.6725 on 1 procs for 120000 steps with 4096 atoms + +Performance: 2221.438 tau/day, 2571.109 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0063169 | 0.0063169 | 0.0063169 | 0.0 | 0.01 +Comm | 0.057082 | 0.057082 | 0.057082 | 0.0 | 0.12 +Output | 0.0068489 | 0.0068489 | 0.0068489 | 0.0 | 0.01 +Modify | 44.98 | 44.98 | 44.98 | 0.0 | 96.37 +Other | | 1.622 | | | 3.48 + +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 992 +Dangerous builds = 0 + + +Total wall time: 0:01:05 From 6b51bf104a3b19adee21ac1305f6ba6882cbfc1f Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Tue, 8 Dec 2020 14:52:28 +0000 Subject: [PATCH 033/542] Added unit test for fix bd/sphere. --- unittest/force-styles/tests/data.bdsphere | 86 +++++++++++++++++++ .../tests/fix-timestep-bd_sphere.yaml | 80 +++++++++++++++++ unittest/force-styles/tests/in.bdsphere | 16 ++++ 3 files changed, 182 insertions(+) create mode 100644 unittest/force-styles/tests/data.bdsphere create mode 100644 unittest/force-styles/tests/fix-timestep-bd_sphere.yaml create mode 100644 unittest/force-styles/tests/in.bdsphere diff --git a/unittest/force-styles/tests/data.bdsphere b/unittest/force-styles/tests/data.bdsphere new file mode 100644 index 0000000000..3fbad7d05e --- /dev/null +++ b/unittest/force-styles/tests/data.bdsphere @@ -0,0 +1,86 @@ +LAMMPS data file via write_data, version 30 Nov 2020, timestep = 120000 + +32 atoms +1 atom types + +-2.7144176165949063 2.7144176165949063 xlo xhi +-2.7144176165949063 2.7144176165949063 ylo yhi +-1.3572088082974532 1.3572088082974532 zlo zhi + +Masses + +1 1 + +Pair Coeffs # zero + +1 + +Atoms # hybrid + +1 1 0.8174385639059338 -1.5010271964354949 1.0637924298773633 0 0.6257069940596588 -0.111108944542851 -0.7721046302331049 1 1 -1 0 -1 +2 1 -1.5885878110813303 2.2401728691740113 0.47068930278928994 0 -0.5102593570021903 0.8585717488647711 -0.049899305035241655 1 1 0 -1 -1 +3 1 -1.1818944957014061 -2.6848623178033457 -1.1800939297629425 0 -0.004166477179696561 0.19766436575888424 0.9802609035236738 1 1 0 0 0 +4 1 0.1720589621174558 1.3643946759490944 -1.1522506184595422 0 0.11721568749368932 0.2990753541702089 -0.9470028590945996 1 1 0 -1 0 +5 1 -2.5038595242428823 -1.624930716630223 -1.1484315973168586 0 -0.3868419197154481 -0.6136739748888413 0.6883005024660352 1 1 0 0 0 +6 1 -1.2345478646498314 -0.3224402671532977 0.5533955773621407 0 0.24969915142093102 -0.15640101573329426 -0.9556092590893315 1 1 0 0 -1 +7 1 1.1946150666115714 0.4921384424233923 -0.516829526742452 0 0.0036359783326705107 -0.4590891155800383 -0.8883827798969893 1 1 0 0 -1 +8 1 1.8342027600045443 1.516095010832566 0.043843911607852545 0 -0.8435468778359277 0.11782686457134713 -0.5239708912511688 1 1 0 -1 -1 +9 1 -0.5406701027756321 2.23952568921304 0.5241488585364904 0 0.045872039042421424 0.13268297551853248 -0.9900964518882184 1 1 0 0 -1 +10 1 -0.3972258497968314 0.7566024687022016 -0.2323435643206888 0 0.655171514572036 -0.43050189344470563 0.6208207520966965 1 1 0 0 -1 +11 1 -0.7183933447005026 1.1587411649504586 0.20950093049531074 0 0.22933670283280452 -0.6843477395075139 -0.6921508854034168 1 1 0 0 -1 +12 1 1.022524253197315 0.17877446802634833 0.29899480569943504 0 0.6711103355965887 -0.41621190608313047 -0.6134969981100816 1 1 0 0 -2 +13 1 -1.4250800612966135 -2.4056565408365356 0.21801121763465003 0 -0.5029961497078136 0.46126362983367525 -0.7309108955076378 1 1 0 1 0 +14 1 -1.7432369014700662 1.621196939810902 0.07955801420882219 0 -0.7988534279257005 0.3194109740977685 -0.5097154405325315 1 1 0 0 -1 +15 1 -0.9908151496097626 -2.6488792381485773 -1.1948117198271224 0 0.5516163133238324 -0.6234158094772195 0.5541409309633126 1 1 0 1 0 +16 1 2.6948716697156523 0.41280900513864877 0.1548529904178103 0 -0.8512724888069316 0.23988291811633639 0.4666811924605956 1 1 0 0 -1 +17 1 -1.5494542712095147 -0.53420074244155 -0.6250925146711168 0 -0.07678144567993991 -0.03950496198488684 0.9962650087089635 1 1 0 0 0 +18 1 -2.3151948315996678 -2.6221617748715036 -0.1899804833264763 0 -0.7569384929404162 -0.33315612552157964 -0.562184234866597 1 1 0 0 0 +19 1 2.1590179665621467 1.6095466091914918 -1.2253859221608403 0 0.20879037375649698 -0.06905534931949565 0.9755193173674137 1 1 0 -1 0 +20 1 2.202409043221526 0.14395355359028536 1.335860415061412 0 -0.14984238844204667 -0.9847320173066201 0.08860086183112265 1 1 0 -1 -1 +21 1 -1.4500395490531754 -1.5281375693866057 0.00020797713894412338 0 -0.9915462127271186 0.08451237717795997 0.09845692525281326 1 1 0 0 0 +22 1 -1.0657362106538344 0.6350242518491277 -0.7513800843604899 0 -0.6569043427466144 -0.07223746743273625 0.7505054515321944 1 1 0 -1 0 +23 1 -0.5619632776222234 1.8699713384517294 -0.9467270322768698 0 0.7911745431454184 0.5177930983571434 -0.3254737310019788 1 1 0 0 0 +24 1 -2.1040517028343215 -2.247249268720423 0.11322260281322279 0 -0.04193441020358475 0.2313330374822751 -0.9719704373128341 1 1 1 0 -1 +25 1 -0.868354233492487 -0.14640654973697223 -0.9035771863161228 0 -0.15652971300701132 0.0848859275832726 -0.9840187133608133 1 1 0 0 0 +26 1 -0.4652717213714348 0.12334049868763304 -0.3826888902964762 0 0.6487662426744875 0.7578954080882759 0.06853402632804934 1 1 -1 0 -1 +27 1 -1.0478542019398558 2.3814414358320106 1.2039965288246885 0 0.10846325104076994 -0.6457073741173193 -0.7558423844851409 1 1 0 0 -1 +28 1 2.500698605198214 -0.728008572758278 0.48410831318342695 0 -0.3622892345018212 0.911584495321123 0.19431988692415955 1 1 0 0 -1 +29 1 -1.416084269787537 -1.7066588654378656 0.8328319180724224 0 -0.08971242415920104 -0.44687722085944426 0.8900856309526737 1 1 0 1 -1 +30 1 -0.6370519124977301 0.47113373856505564 -0.08549434306971403 0 -0.6030496979424049 -0.7976847581640081 -0.0054852898193420265 1 1 0 0 0 +31 1 0.8225325721319097 -0.441545584269452 0.3381678086542899 0 -0.6909877678544062 -0.7162885851668209 0.09729628685258002 1 1 0 0 0 +32 1 2.1861742760925518 1.5740929150306235 -0.01693950575830974 0 0.890366016527044 0.3247001065794207 0.3190896385047258 1 1 0 0 0 + +Velocities + +1 -524.6769664299819 215.42199277006424 -112.27005568908588 -462.03530876082846 -551.9512642384534 -196.46403300264745 +2 391.3416799472542 48.7957761872576 -623.1311508507263 489.33832403519347 -260.3072072833973 -529.7105564646685 +3 109.86388293585976 665.5499875054874 -583.4371492475789 -678.3137468561738 622.6210695594215 37.427168579931944 +4 398.4814329387423 -117.47798197974335 -376.25882363220865 44.966011242133156 -720.7197483734453 654.1933839835833 +5 584.5314601424474 159.82839534760055 -199.69054648577074 298.5492685852273 657.8565691587017 -616.4449676099423 +6 609.4975570025578 738.2439586459146 284.06966373218285 143.74329023895925 256.75048911205783 -57.96098774586574 +7 -27.968041606728725 752.3634409363073 223.6145040530379 -496.9033910070852 198.22198514310026 -81.32767873220877 +8 -451.1189781565461 -759.642533657806 547.0603381420482 316.5054412546416 669.7302717449263 -447.9786170711034 +9 -54.531235862640735 -115.1466962517251 -610.7279757582849 -731.9703465871636 -735.0301879611621 -584.8114323501295 +10 748.6292469789635 701.8693636792311 -498.1997398935133 208.99011146198362 -538.4269075676226 130.16593091403558 +11 -174.9453247974202 153.40962619436522 390.8158086666639 -381.20607659097726 548.6301954978544 225.4382939850729 +12 -393.58450479962613 562.7494007708912 -512.2495061493412 425.83486537187855 260.1521699032197 -605.409242525273 +13 294.0485676041469 -416.4803586200817 -678.9550420350499 284.48925268723156 -67.2753269810592 559.4386740115784 +14 -764.1287373972617 733.8169442814999 720.6030317274988 357.0913464046234 521.8205481343224 173.7714175822938 +15 -91.18940426263303 224.9036504882129 284.4326488075122 -207.62866349692237 501.5282881027212 445.99895870682315 +16 179.07740801693492 -535.4403834538152 -318.55850921823156 266.7175735768374 444.97898080245074 -381.12832705309194 +17 -428.2045641732463 -491.50884735767914 -270.6175162521197 727.5062118970601 128.20058511314278 270.88345291377027 +18 395.0795674693432 306.1681692632796 -13.216405710204159 671.3857274637012 102.79070644890297 322.4136674209789 +19 -203.6409986589429 -54.701509197392014 581.0635722032287 -186.75568274826543 476.4083542709755 -601.0363388843747 +20 -115.92502268264624 -762.0000436955148 -223.1167962036293 489.85643882981896 -247.41158767130918 -365.8330907652003 +21 658.7418242889948 586.715926671846 -624.8573383343708 -10.66175165422313 359.69577124554525 -340.2786090411881 +22 56.13036471905219 261.41167548131494 373.8653013382346 673.5607754029996 -245.8613985477709 353.0482780954667 +23 -252.99394908800596 -466.09490577221976 -670.846651689147 -616.9981712696467 -541.8114132827196 -369.70154580103025 +24 -627.059810991902 278.53716543954556 457.18418082455213 -101.65170342061822 225.64771910612274 649.9004460194175 +25 -542.388717452386 -105.31239543953356 69.1170307021082 -204.78231016519337 -522.3497436231834 -357.49930063072486 +26 -213.4605252121538 -534.3449644895232 244.1099101456221 275.4530388773477 212.2684271906576 -165.97485643999994 +27 595.2153731851414 626.5401264322599 -736.723964414168 -188.93350086112284 -459.44316502268424 -484.4606024327521 +28 -400.55444615195614 606.638183855102 121.6628831751137 359.49918126198475 668.2849798601502 -135.04633035091715 +29 -347.6624143232117 -365.7917228400548 -541.6372617049859 160.0398519292602 -624.5129134218859 -448.13097661684066 +30 -104.98117502101249 500.1388613847156 731.4317325082025 -481.0858846642298 -574.8809141763269 122.21267028742885 +31 754.8558584263326 -34.937336585228245 -726.0948084688208 -103.81133072710576 431.8053281041717 -479.89267857331 +32 140.02839515740888 643.0847109951975 -535.5893264521633 -373.10470401809016 -661.5529040774077 37.5722333352976 diff --git a/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml b/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml new file mode 100644 index 0000000000..66a65bc3ba --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml @@ -0,0 +1,80 @@ +--- +lammps_version: 24 Aug 2020 +date_generated: Tue Dec 08 12:28:40 2020 +epsilon: 1e-12 +prerequisites: ! | + atom hybrid dipole sphere + fix bd_sphere +pre_commands: ! "" +post_commands: ! | + fix test solute bd_sphere 1.0 1.0 1.0 1.0 1049270 + fix_modify test virial yes +input_file: in.bdsphere +natoms: 32 +run_pos: ! |2 +1 0.8198132185477983 -1.5120221815010249 1.069236010215717 +2 -1.583657719347759 2.2448791290372445 0.48185576252150486 +3 -1.1880610036164596 -2.678219122115848 -1.1824396130063375 +4 0.1908794667962731 1.3593710068293134 -1.1524405138570022 +5 -2.502067366922716 -1.6291621715156412 -1.155308629818198 +6 -1.214213515524568 -0.33667539680264325 0.5468489960944642 +7 1.2020658999364164 0.5045561046001554 -0.5265404283266816 +8 1.8138899397447894 1.5212405777462397 0.04943268689972926 +9 -0.547736141448719 2.2385521615789026 0.5146647473679599 +10 -0.38821952892982114 0.7570899758491753 -0.23554333362488367 +11 -0.7101567507222957 1.1587573566149103 0.19674801175715137 +12 1.0217947252204158 0.1732739652383159 0.3064332055619567 +13 -1.43254480550968 -2.4145346257525504 0.22508495277327453 +14 -1.7469141674373843 1.605802890508775 0.07604534549063337 +15 -0.9840165887382163 -2.631709004347024 -1.1933270065258215 +16 2.6947076505094056 0.4027838910781582 0.16197472527708037 +17 -1.553343026077184 -0.5326249015108566 -0.6372569894483383 +18 -2.32697929027452 -2.6229660088889384 -0.1908463010722981 +19 2.161025566743724 1.613342829181601 -1.2185964188334404 +20 2.200299550516107 0.13388691832171218 1.3492239308384593 +21 -1.444652156145116 -1.5251851082502694 -0.01486082239207267 +22 -1.069098522661769 0.6345737477571621 -0.7476592232484849 +23 -0.5530156382651018 1.8581482829486815 -0.9359906503001887 +24 -2.1057002294256346 -2.2411635326026076 0.1027461222133986 +25 -0.846470575235486 -0.16100145290710122 -0.8945542130124591 +26 -0.4600833044897612 0.1168099650353831 -0.3780372490219117 +27 -1.0507601010756238 2.380597031527799 1.2042435415073673 +28 2.4951223446270854 -0.7272384746662179 0.49148118274363145 +29 -1.4227701815513125 -1.7103131555856865 0.8522428843219197 +30 -0.6362527497446904 0.4809930863631752 -0.09023977411046079 +31 0.8307577317570568 -0.43366523738108803 0.3435388363003548 +32 2.193071783870056 1.5720818983016567 -0.002617308630618007 +run_vel: ! |2 +1 -199.33264006196603 -425.90458140644324 687.4446082626521 +2 -437.96841023792416 91.79431782876951 428.57844526457393 +3 256.4136360073004 753.6546188320922 -477.2093961250793 +4 566.9823183079484 -598.4626629699561 -572.6010613373849 +5 193.3673483203161 517.2757090545375 86.71381952181962 +6 330.2395000638781 -14.096120493379578 -736.8264608358458 +7 772.6058378438489 335.4342218605717 -492.47120565202727 +8 -379.69346948872095 328.07026948905315 212.8907928502149 +9 -32.22616772317161 520.1349898628745 -354.5179475075607 +10 1.0828608441585152 -152.03654350035677 -287.63229160711455 +11 -8.398427517515586 462.54972999070884 -696.8949630195855 +12 -35.97938353895289 590.1362599649709 750.3193298672243 +13 -738.0063700936831 2.1036698005985586 521.0581963709241 +14 734.7145728536893 -576.3310076952716 -212.8973489276375 +15 462.14962458969075 517.8011186395346 582.1970348843957 +16 579.8864331189503 -723.7080269305067 -397.93358494791835 +17 -74.75036331228799 -271.6937286797369 318.88308122021147 +18 -390.80278885093725 -625.5459111419849 -678.090840223804 +19 -598.6933260882906 41.7579655827356 750.013779723682 +20 158.9763823000137 310.0053213378944 226.83667759758563 +21 -578.1763126419472 755.241466585726 -387.1851268613029 +22 -686.649568451259 496.2326396493665 -392.30182210275524 +23 139.72339904857833 686.4901911325059 460.94182891802774 +24 625.6387119562066 -178.79780516572728 194.63377933230842 +25 761.5753760889415 -550.6374632586046 -355.3666363468769 +26 -167.9925585211552 -748.0176849962858 537.6949353742531 +27 -687.973065038564 -637.3675344653028 -231.07938308121751 +28 -480.2313784604401 372.9809695991278 24.972745276651647 +29 67.21410614540838 54.58636231646205 639.3712010004265 +30 -469.9090654062959 715.7242943947524 -386.21519675922724 +31 -380.59017466972404 487.7214660680053 177.24466119039292 +32 138.31144158562722 31.005629253137737 621.8772779588675 +... diff --git a/unittest/force-styles/tests/in.bdsphere b/unittest/force-styles/tests/in.bdsphere new file mode 100644 index 0000000000..1fb583f51d --- /dev/null +++ b/unittest/force-styles/tests/in.bdsphere @@ -0,0 +1,16 @@ +variable newton_pair index on +variable newton_bond index on +variable units index lj +variable input_dir index . +variable data_file index ${input_dir}/data.bdsphere +variable pair_style index 'zero 8.0' + +atom_style hybrid dipole sphere +atom_modify map array +neigh_modify delay 2 every 2 check no +units ${units} +timestep 0.00001 +newton ${newton_pair} ${newton_bond} + +pair_style ${pair_style} +read_data ${data_file} From dab4c7409accde6198c59f4bad28e7cd12c06986 Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Wed, 9 Dec 2020 21:04:23 +0000 Subject: [PATCH 034/542] Changes for pull request 2511. --- doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 1 + doc/src/fix_bd_sphere.rst | 38 ++--- examples/bd_sphere/README.txt | 12 +- examples/bd_sphere/{in2d.bd => in2ddipole.bd} | 2 +- examples/bd_sphere/in3d_virial_on.bd | 12 +- .../log_gaussian_4_1_7_13_2d.lammps.log | 46 +++---- .../log_uniform_10_1_5_15_3d.lammps.log | 50 +++---- src/fix_bd_sphere.cpp | 130 ++++++++++-------- src/fix_bd_sphere.h | 13 +- .../tests/fix-timestep-bd_sphere.yaml | 2 +- 11 files changed, 152 insertions(+), 155 deletions(-) rename examples/bd_sphere/{in2d.bd => in2ddipole.bd} (98%) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index d1bc20c9ca..1be5348bfe 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -39,6 +39,7 @@ OPT. * :doc:`ave/time ` * :doc:`aveforce ` * :doc:`balance ` + * :doc:`bd/sphere ` * :doc:`bocs ` * :doc:`bond/break ` * :doc:`bond/create ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 37ddbbeb3e..0993a885a5 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -181,6 +181,7 @@ accelerated styles exist. * :doc:`ave/histo/weight ` - weighted version of fix ave/histo * :doc:`ave/time ` - compute/output global time-averaged quantities * :doc:`aveforce ` - add an averaged force to each atom +* :doc:`bd/sphere ` - overdamped translational and rotational brownian dynamics * :doc:`balance ` - perform dynamic load-balancing * :doc:`bocs ` - NPT style time integration with pressure correction * :doc:`bond/break ` - break bonds on the fly diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst index 013d0604bb..ee731c47d8 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_bd_sphere.rst @@ -17,14 +17,15 @@ Syntax * diff_t = translational diffusion coefficient * diff_r = rotational diffusion coefficient * zero or more keyword/value pairs may be appended -* keyword = *rng* +* keyword = *rng* or *dipole* .. parsed-literal:: - *rng* arg = *uniform* or *gaussian* or *none* - uniform = use uniform random number generator - gaussian = use gaussian random number generator - none = turn off noise + *rng* value = *uniform* or *gaussian* or *none* + *uniform* = use uniform random number generator + *gaussian* = use gaussian random number generator + *none* = turn off noise + *dipole* value = none = update orientation of dipoles during integration Examples """""""" @@ -32,9 +33,9 @@ Examples .. code-block:: LAMMPS fix 1 all bd/sphere 1.0 1.0 1.0 1.0 1294019 - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng none + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng none dipole fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng uniform - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng gaussian + fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian Description @@ -52,8 +53,8 @@ viscous forces. The stochastic equations of motion are d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r, where :math:`d\Omega` is an infinitesimal rotation vector (see e.g. -Chapter 4 of :ref:`(GoldsteinCM) `), :math:`dW_t` and -:math:`dW_r` are Wiener processes (see e.g. :ref:`(GardinerC) `). +Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and +:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). The dipole vectors :math:`e_i` are updated using the rotation matrix .. math:: @@ -64,13 +65,13 @@ where :math:`\omega=d\Omega/dt` is the angular velocity, :math:`\Delta\theta=|\omega|dt` is the rotation angle about the :math:`\omega` axis, and :math:`(\theta_X)_{ij}=-\epsilon_{ijk}d\Omega_k` is the -infinitesimal rotation matrix (see e.g. :ref:`(Callegari1) `, +infinitesimal rotation matrix (see e.g. :ref:`(Callegari) `, section 7.4). The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the added forces on atoms to the system's virial as part of :doc:`thermodynamic output `. -The default is *virial no* +The default is *virial no*. IMPORTANT NOTE: This integrator is designed for generic non-equilibrium @@ -96,17 +97,20 @@ units of mass/time and (mass*length*length)/(time). If the *rng* keyword is used with the *uniform* value, then the noise is generated from a uniform distribution (see -:ref:`(Dunweg) ` for why this works). This is the same method +:ref:`(Dunweg) ` for why this works). This is the same method of noise generation as used in :doc:`fix_langevin `. If the *rng* keyword is used with the *gaussian* value, then the noise is generated from a gaussian distribution. Typically this added complexity is unnecessary, and one should be fine using the *uniform* -value for reasons argued in :ref:`(Dunweg) `. +value for reasons argued in :ref:`(Dunweg) `. If the *rng* keyword is used with the *none* value, then the noise terms are set to zero. +If the *dipole* keyword is used, then the dipole moments of the particles +are updated as described above. + ---------- .. include:: accel_styles.rst @@ -150,18 +154,18 @@ The default for *rng* is *uniform*. .. _GoldsteinCM: -**(GoldsteinCM)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). +**(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). .. _GardinerC: -**(GardinerC)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). +**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). .. _Callegari1: -**(Callegari1)** Callegari and Volpe, *Numerical Simulations of Active Brownian +**(Callegari)** Callegari and Volpe, *Numerical Simulations of Active Brownian Particles*, Flowing Matter, 211-238 (2019). -.. _Dunweg1: +.. _Dunweg6: **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). diff --git a/examples/bd_sphere/README.txt b/examples/bd_sphere/README.txt index b044f11edc..2f66504581 100644 --- a/examples/bd_sphere/README.txt +++ b/examples/bd_sphere/README.txt @@ -1,6 +1,8 @@ -The input file in2d.bd demonstrates how to run a 2d simulation +The input file in2ddipole.bd demonstrates how to run a 2d simulation of particles undergoing overdamped brownian motion in both -translational and rotational degrees of freedom. +translational and rotational degrees of freedom. Dipole +updating is turned on, so the package DIPOLE must be built +for this example to work. The input file in3d_virial_on.bd demonstrates how to run a similar simulation but in 3d. In this case, the virial @@ -9,11 +11,13 @@ sum_i /(3*volume) where W is a random variable with mean 0 and variance dt) is calculated via the fix_modify command. For long enough times, this will be equal to rho*D_t*gamma_t -(the ideal gas term in equilibrium systems). +(the ideal gas term in equilibrium systems). Note that +no dipole updating is performed. To confirm rotational diffusion is working correctly, run the above simulations with dump files on and -measure \sum_i, and one should +measure \sum_i where e_i is the +dipole vector of particle i, and one should find that this decays as an exponential with timescale 1/((d-1)*D_r). diff --git a/examples/bd_sphere/in2d.bd b/examples/bd_sphere/in2ddipole.bd similarity index 98% rename from examples/bd_sphere/in2d.bd rename to examples/bd_sphere/in2ddipole.bd index c11381ad5a..1f7898207f 100644 --- a/examples/bd_sphere/in2d.bd +++ b/examples/bd_sphere/in2ddipole.bd @@ -38,7 +38,7 @@ pair_style none #compute d all property/atom mux muy muz -fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole fix 2 all enforce2d compute press all pressure NULL virial diff --git a/examples/bd_sphere/in3d_virial_on.bd b/examples/bd_sphere/in3d_virial_on.bd index 1ef88930c1..0e2f02beb0 100644 --- a/examples/bd_sphere/in3d_virial_on.bd +++ b/examples/bd_sphere/in3d_virial_on.bd @@ -14,7 +14,7 @@ variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r} log log_${params}_3d.lammps.log units lj -atom_style hybrid dipole sphere +atom_style sphere dimension 3 newton off @@ -23,22 +23,16 @@ lattice sc 0.4 region box block -8 8 -8 8 -8 8 create_box 1 box create_atoms 1 box -mass * 1.0 -set type * dipole/random ${seed} 1.0 +#mass * 1.0 velocity all create 1.0 1 loop geom neighbor 1.0 bin neigh_modify every 1 delay 1 check yes - - pair_style none - -#compute d all property/atom mux muy muz - fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} fix_modify 1 virial yes @@ -65,7 +59,7 @@ thermo_style custom step temp epair c_msd[*] c_press # write trajectory and thermo in a log-scale frequency # uncomment the next three lines for dump file #dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type & -# x y xu yu mux muy muz fx fy fz +# x y xu yu fx fy fz #dump_modify 1 first yes sort id timestep 0.00001 diff --git a/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log b/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log index 72b90efe0e..a735ea6baa 100644 --- a/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log +++ b/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log @@ -13,7 +13,7 @@ Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.29 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 1024 atoms - create_atoms CPU = 0.002 seconds + create_atoms CPU = 0.001 seconds mass * 1.0 set type * dipole/random ${seed} 1.0 set type * dipole/random 1974019 1.0 @@ -33,13 +33,13 @@ pair_style none #compute d all property/atom mux muy muz -fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} -fix 1 all bd/sphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} -fix 1 all bd/sphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} -fix 1 all bd/sphere 4 1 7 ${D_r} ${seed} rng ${rng} -fix 1 all bd/sphere 4 1 7 13 ${seed} rng ${rng} -fix 1 all bd/sphere 4 1 7 13 1974019 rng ${rng} -fix 1 all bd/sphere 4 1 7 13 1974019 rng gaussian +fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/sphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/sphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/sphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/sphere 4 1 7 13 ${seed} rng ${rng} dipole +fix 1 all bd/sphere 4 1 7 13 1974019 rng ${rng} dipole +fix 1 all bd/sphere 4 1 7 13 1974019 rng gaussian dipole fix 2 all enforce2d compute press all pressure NULL virial @@ -56,9 +56,9 @@ Per MPI rank memory allocation (min/avg/max) = 4.289 | 4.289 | 4.289 Mbytes Step Temp E_pair c_press 0 1 0 0 50000 7.3671759e+10 0 0 -Loop time of 10.2295 on 1 procs for 50000 steps with 1024 atoms +Loop time of 11.2219 on 1 procs for 50000 steps with 1024 atoms -Performance: 0.042 tau/day, 4887.825 timesteps/s +Performance: 0.038 tau/day, 4455.573 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: @@ -66,10 +66,10 @@ Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.033217 | 0.033217 | 0.033217 | 0.0 | 0.32 -Output | 2.1435e-05 | 2.1435e-05 | 2.1435e-05 | 0.0 | 0.00 -Modify | 10.047 | 10.047 | 10.047 | 0.0 | 98.21 -Other | | 0.1497 | | | 1.46 +Comm | 0.028513 | 0.028513 | 0.028513 | 0.0 | 0.25 +Output | 2.0981e-05 | 2.0981e-05 | 2.0981e-05 | 0.0 | 0.00 +Modify | 11.048 | 11.048 | 11.048 | 0.0 | 98.45 +Other | | 0.1458 | | | 1.30 Nlocal: 1024.00 ave 1024 max 1024 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -228,20 +228,20 @@ Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 118000 745594.37 0 16.838659 17.585392 0 34.424052 0 119000 714487.42 0 17.064214 17.743478 0 34.807692 0 120000 716557.14 0 17.105558 17.845925 0 34.951483 0 -Loop time of 25.2131 on 1 procs for 120000 steps with 1024 atoms +Loop time of 27.2068 on 1 procs for 120000 steps with 1024 atoms -Performance: 4112.144 tau/day, 4759.427 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 3810.806 tau/day, 4410.656 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0.0016123 | 0.0016123 | 0.0016123 | 0.0 | 0.01 -Comm | 0.025898 | 0.025898 | 0.025898 | 0.0 | 0.10 -Output | 0.0037882 | 0.0037882 | 0.0037882 | 0.0 | 0.02 -Modify | 24.767 | 24.767 | 24.767 | 0.0 | 98.23 -Other | | 0.4146 | | | 1.64 +Neigh | 0.0015633 | 0.0015633 | 0.0015633 | 0.0 | 0.01 +Comm | 0.021682 | 0.021682 | 0.021682 | 0.0 | 0.08 +Output | 0.0032539 | 0.0032539 | 0.0032539 | 0.0 | 0.01 +Modify | 26.802 | 26.802 | 26.802 | 0.0 | 98.51 +Other | | 0.3781 | | | 1.39 Nlocal: 1024.00 ave 1024 max 1024 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -256,4 +256,4 @@ Neighbor list builds = 1049 Dangerous builds = 0 -Total wall time: 0:00:35 +Total wall time: 0:00:38 diff --git a/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log b/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log index fda48dc71a..57f90193ac 100644 --- a/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log +++ b/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log @@ -1,6 +1,5 @@ units lj -atom_style hybrid dipole sphere -WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +atom_style sphere dimension 3 newton off @@ -13,26 +12,17 @@ Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 4096 atoms - create_atoms CPU = 0.003 seconds -mass * 1.0 -set type * dipole/random ${seed} 1.0 -set type * dipole/random 553910 1.0 -Setting atom values ... - 4096 settings made for dipole/random + create_atoms CPU = 0.001 seconds +#mass * 1.0 velocity all create 1.0 1 loop geom neighbor 1.0 bin neigh_modify every 1 delay 1 check yes - - pair_style none - -#compute d all property/atom mux muy muz - fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} fix 1 all bd/sphere 10 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} fix 1 all bd/sphere 10 1 ${D_t} ${D_r} ${seed} rng ${rng} @@ -52,13 +42,13 @@ thermo 50001 run 50000 WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 4.362 | 4.362 | 4.362 Mbytes +Per MPI rank memory allocation (min/avg/max) = 3.581 | 3.581 | 3.581 Mbytes Step Temp E_pair c_press 0 1 0 -32553.271 50000 5.2351457e+10 0 -15026.42 -Loop time of 18.6303 on 1 procs for 50000 steps with 4096 atoms +Loop time of 16.0183 on 1 procs for 50000 steps with 4096 atoms -Performance: 0.023 tau/day, 2683.804 timesteps/s +Performance: 0.027 tau/day, 3121.426 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: @@ -66,10 +56,10 @@ Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.31439 | 0.31439 | 0.31439 | 0.0 | 1.69 -Output | 5.5046e-05 | 5.5046e-05 | 5.5046e-05 | 0.0 | 0.00 -Modify | 17.718 | 17.718 | 17.718 | 0.0 | 95.11 -Other | | 0.5974 | | | 3.21 +Comm | 0.074984 | 0.074984 | 0.074984 | 0.0 | 0.47 +Output | 3.0041e-05 | 3.0041e-05 | 3.0041e-05 | 0.0 | 0.00 +Modify | 15.366 | 15.366 | 15.366 | 0.0 | 95.93 +Other | | 0.5772 | | | 3.60 Nlocal: 4096.00 ave 4096 max 4096 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -96,7 +86,7 @@ thermo_style custom step temp epair c_msd[*] c_press # write trajectory and thermo in a log-scale frequency # uncomment the next three lines for dump file -#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type # x y xu yu mux muy muz fx fy fz +#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type # x y xu yu fx fy fz #dump_modify 1 first yes sort id timestep 0.00001 @@ -105,7 +95,7 @@ thermo 1000 # main run run 120000 WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 4.737 | 4.737 | 4.737 Mbytes +Per MPI rank memory allocation (min/avg/max) = 3.956 | 3.956 | 3.956 Mbytes Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 0 5.2351457e+10 0 0 0 0 0 -233.83012 1000 522590.88 0 0.10259269 0.10487519 0.10391005 0.31137793 -13.730626 @@ -228,20 +218,20 @@ Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 118000 524075.83 0 11.441416 11.597533 11.783056 34.822005 -350.05313 119000 533816.71 0 11.52766 11.681986 11.917713 35.127359 -521.58975 120000 524509.31 0 11.63865 11.792667 12.080379 35.511696 273.09647 -Loop time of 46.6725 on 1 procs for 120000 steps with 4096 atoms +Loop time of 39.6359 on 1 procs for 120000 steps with 4096 atoms -Performance: 2221.438 tau/day, 2571.109 timesteps/s +Performance: 2615.809 tau/day, 3027.557 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0.0063169 | 0.0063169 | 0.0063169 | 0.0 | 0.01 -Comm | 0.057082 | 0.057082 | 0.057082 | 0.0 | 0.12 -Output | 0.0068489 | 0.0068489 | 0.0068489 | 0.0 | 0.01 -Modify | 44.98 | 44.98 | 44.98 | 0.0 | 96.37 -Other | | 1.622 | | | 3.48 +Neigh | 0.0059817 | 0.0059817 | 0.0059817 | 0.0 | 0.02 +Comm | 0.039473 | 0.039473 | 0.039473 | 0.0 | 0.10 +Output | 0.0063653 | 0.0063653 | 0.0063653 | 0.0 | 0.02 +Modify | 38.085 | 38.085 | 38.085 | 0.0 | 96.09 +Other | | 1.499 | | | 3.78 Nlocal: 4096.00 ave 4096 max 4096 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -256,4 +246,4 @@ Neighbor list builds = 992 Dangerous builds = 0 -Total wall time: 0:01:05 +Total wall time: 0:00:55 diff --git a/src/fix_bd_sphere.cpp b/src/fix_bd_sphere.cpp index 3a8a0811b9..ba7cd2a81c 100644 --- a/src/fix_bd_sphere.cpp +++ b/src/fix_bd_sphere.cpp @@ -35,6 +35,10 @@ using namespace LAMMPS_NS; using namespace FixConst; +#define SMALL 1e-14 + +enum{NONE,DIPOLE}; + /* ---------------------------------------------------------------------- */ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : @@ -43,14 +47,14 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : virial_flag = 1; time_integrate = 1; - - if (narg != 8 && narg != 10) + + extra = NONE; + + if (narg > 11 || narg < 8 ) error->all(FLERR,"Illegal fix bd/sphere command."); if (!atom->sphere_flag) error->all(FLERR,"Fix bd/sphere requires atom style sphere"); - if (!atom->mu_flag) - error->all(FLERR,"Fix bd/sphere requires atom attribute mu"); gamma_t = utils::numeric(FLERR,arg[3],false,lmp); if (gamma_t <= 0.0) @@ -62,7 +66,7 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix bd/sphere rotational viscous drag " "coefficient must be > 0."); - // note that diffusion is in units of epsilon**2*tau**3/(m**2*sigma**2) + diff_t = utils::numeric(FLERR,arg[5],false,lmp); if (diff_t <= 0.0) error->all(FLERR,"Fix bd/sphere translational diffusion " @@ -83,6 +87,9 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"rng") == 0) { + if (narg == iarg + 1) { + error->all(FLERR,"Illegal fix/bd/sphere command."); + } if (strcmp(arg[iarg + 1],"uniform") == 0) { noise_flag = 1; } else if (strcmp(arg[iarg + 1],"gaussian") == 0) { @@ -93,17 +100,21 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : } else { error->all(FLERR,"Illegal fix/bd/sphere command."); } + iarg = iarg + 2; + } else if (strcmp(arg[iarg],"dipole") == 0) { + extra = DIPOLE; + iarg = iarg + 1; } else { error->all(FLERR,"Illegal fix/bd/sphere command."); } - iarg = iarg + 2; } - + if (extra == DIPOLE && !atom->mu_flag) + error->all(FLERR,"Fix bd/sphere update dipole requires atom attribute mu"); + // initialize Marsaglia RNG with processor-unique seed random = new RanMars(lmp,seed + comm->me); - } /* ---------------------------------------------------------------------- */ @@ -120,9 +131,7 @@ int FixBdSphere::setmask() FixBdSphere::~FixBdSphere() { - delete random; - } @@ -131,8 +140,7 @@ FixBdSphere::~FixBdSphere() void FixBdSphere::init() { - - + g1 = force->ftm2v/gamma_t; g3 = force->ftm2v/gamma_r; if (noise_flag == 0) { @@ -164,16 +172,12 @@ void FixBdSphere::initial_integrate(int /* vflag */) { double **x = atom->x; double **v = atom->v; - double **mu = atom->mu; double **f = atom->f; double **omega = atom->omega; double **torque = atom->torque; int *mask = atom->mask; int nlocal = atom->nlocal; double dx,dy,dz; - double dtheta; - double mux,muy,muz,mu_tmp,wx,wy,wz; - double prefac_1, prefac_2; if (igroup == atom->firstgroup) nlocal = atom->nfirst; @@ -188,7 +192,6 @@ void FixBdSphere::initial_integrate(int /* vflag */) d3rot = 1; } - for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -204,49 +207,62 @@ void FixBdSphere::initial_integrate(int /* vflag */) x[i][2] += dz; v[i][2] = dz/dt; - omega[i][0] = d3rot * g3* torque[i][0]; omega[i][1] = d3rot * g3* torque[i][1]; omega[i][2] = g3* torque[i][2]; - - dtheta = sqrt((omega[i][0]*dt)*(omega[i][0]*dt) - +(omega[i][1]*dt)*(omega[i][1]*dt) - +(omega[i][2]*dt)*(omega[i][2]*dt)); - - if (abs(dtheta) < 1e-14) { - prefac_1 = dt; - prefac_2 = 0.5*dt*dt; - } else { - prefac_1 = dt*sin(dtheta)/dtheta; - prefac_2 = dt*dt*(1-cos(dtheta))/(dtheta*dtheta); + + } + } + + if (extra == DIPOLE) { + + double **mu = atom->mu; + double dtheta; + double mux,muy,muz,mu_tmp,wx,wy,wz; + double prefac_1, prefac_2; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + dtheta = sqrt((omega[i][0]*dt)*(omega[i][0]*dt) + +(omega[i][1]*dt)*(omega[i][1]*dt) + +(omega[i][2]*dt)*(omega[i][2]*dt)); + + + if (fabs(dtheta) < SMALL) { + prefac_1 = dt; + prefac_2 = 0.5*dt*dt; + } else { + prefac_1 = dt*sin(dtheta)/dtheta; + prefac_2 = dt*dt*(1-cos(dtheta))/(dtheta*dtheta); + } + + mux = mu[i][0]; + muy = mu[i][1]; + muz = mu[i][2]; + + wx = omega[i][0]; + wy = omega[i][1]; + wz = omega[i][2]; + + mu[i][0] = (mux + prefac_1 * ( -wz*muy + wy*muz ) + + prefac_2 * ( -1*( wz*wz + wy*wy ) * mux + + ( wz*muz + wy*muy ) * wx)); + + mu[i][1] = (muy + prefac_1 * ( wz*mux - wx*muz ) + + prefac_2 * ( -1*(wz*wz + wx*wx) * muy + + ( wz*muz + wx*mux ) * wy)); + + mu[i][2] = (muz + prefac_1 * ( -wy*mux + wx*muy ) + + prefac_2 * ( -1*( wx*wx + wy*wy ) * muz + + ( wy*muy + wx*mux ) * wz)); + + mu_tmp = sqrt(mu[i][0]*mu[i][0]+mu[i][1]*mu[i][1]+mu[i][2]*mu[i][2]); + + mu[i][0] = mu[i][0]/mu_tmp; + mu[i][1] = mu[i][1]/mu_tmp; + mu[i][2] = mu[i][2]/mu_tmp; } - - mux = mu[i][0]; - muy = mu[i][1]; - muz = mu[i][2]; - - wx = omega[i][0]; - wy = omega[i][1]; - wz = omega[i][2]; - - mu[i][0] = (mux + prefac_1 * ( -wz*muy + wy*muz ) - + prefac_2 * ( -1*( wz*wz + wy*wy ) * mux - + ( wz*muz + wy*muy ) * wx)); - - mu[i][1] = (muy + prefac_1 * ( wz*mux - wx*muz ) - + prefac_2 * ( -1*(wz*wz + wx*wx) * muy - + ( wz*muz + wx*mux ) * wy)); - - mu[i][2] = (muz + prefac_1 * ( -wy*mux + wx*muy ) - + prefac_2 * ( -1*( wx*wx + wy*wy ) * muz - + ( wy*muy + wx*mux ) * wz)); - - mu_tmp = sqrt(mu[i][0]*mu[i][0]+mu[i][1]*mu[i][1]+mu[i][2]*mu[i][2]); - - mu[i][0] = mu[i][0]/mu_tmp; - mu[i][1] = mu[i][1]/mu_tmp; - mu[i][2] = mu[i][2]/mu_tmp; - } } @@ -271,8 +287,6 @@ void FixBdSphere::post_force(int vflag) if (vflag) v_setup(vflag); else evflag = 0; - - double fx,fy,fz; double v[6]; diff --git a/src/fix_bd_sphere.h b/src/fix_bd_sphere.h index 873ba9ef2a..245e04274e 100644 --- a/src/fix_bd_sphere.h +++ b/src/fix_bd_sphere.h @@ -36,7 +36,7 @@ class FixBdSphere : public Fix { private: int seed; // RNG seed - + int extra; // set if dipole is used double dt, sqrtdt; // time step interval and its sqrt @@ -90,15 +90,4 @@ Self-explanatory. E: Fix bd/sphere seed must be > 0. -E: Cannot constrain rotational degrees of freedom - to the xy plane if the simulation is in 3D (in fix/bd/sphere). - -Self-explanatory. - -W: Using a 2D simulation, but allowing for full (3D) rotation - (in fix/bd/sphere). - -Self-explanatory. - - */ diff --git a/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml b/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml index 66a65bc3ba..b69f37e206 100644 --- a/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml +++ b/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml @@ -7,7 +7,7 @@ prerequisites: ! | fix bd_sphere pre_commands: ! "" post_commands: ! | - fix test solute bd_sphere 1.0 1.0 1.0 1.0 1049270 + fix test solute bd_sphere 1.0 1.0 1.0 1.0 1049270 dipole fix_modify test virial yes input_file: in.bdsphere natoms: 32 From ee99a2e960b1072e750b6bcd2c1e1f2000a3faa9 Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Thu, 10 Dec 2020 09:12:21 +0000 Subject: [PATCH 035/542] Added reset_dt() function. Have not moved files to USER-MISC folder yet (waiting to hear back on some comments). --- src/fix_bd_sphere.cpp | 10 +++++++--- src/fix_bd_sphere.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/fix_bd_sphere.cpp b/src/fix_bd_sphere.cpp index ba7cd2a81c..cc3c788349 100644 --- a/src/fix_bd_sphere.cpp +++ b/src/fix_bd_sphere.cpp @@ -182,9 +182,6 @@ void FixBdSphere::initial_integrate(int /* vflag */) if (igroup == atom->firstgroup) nlocal = atom->nfirst; int d3rot; // whether to compute angular momentum in xy plane - - dt = update->dt; - sqrtdt = sqrt(dt); if (domain->dimension==2) { d3rot = 0; @@ -315,3 +312,10 @@ void FixBdSphere::post_force(int vflag) } } } + +void FixBdSphere::reset_dt() +{ + + dt = update->dt; + sqrtdt = sqrt(dt); +} diff --git a/src/fix_bd_sphere.h b/src/fix_bd_sphere.h index 245e04274e..8a3df214a6 100644 --- a/src/fix_bd_sphere.h +++ b/src/fix_bd_sphere.h @@ -33,6 +33,7 @@ class FixBdSphere : public Fix { void setup(int); void post_force(int); int setmask(); + void reset_dt(); private: int seed; // RNG seed From 4fa48edb815406dec5c162b389c9625a56d5ae8a Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Thu, 10 Dec 2020 11:36:15 -0700 Subject: [PATCH 036/542] Adding size/multi npair files --- src/npair_half_size_multi_newtoff.cpp | 117 +++++++++++++++++++ src/npair_half_size_multi_newtoff.h | 46 ++++++++ src/npair_half_size_multi_newton.cpp | 143 +++++++++++++++++++++++ src/npair_half_size_multi_newton.h | 46 ++++++++ src/npair_half_size_multi_newton_tri.cpp | 125 ++++++++++++++++++++ src/npair_half_size_multi_newton_tri.h | 46 ++++++++ 6 files changed, 523 insertions(+) create mode 100644 src/npair_half_size_multi_newtoff.cpp create mode 100644 src/npair_half_size_multi_newtoff.h create mode 100644 src/npair_half_size_multi_newton.cpp create mode 100644 src/npair_half_size_multi_newton.h create mode 100644 src/npair_half_size_multi_newton_tri.cpp create mode 100644 src/npair_half_size_multi_newton_tri.h diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp new file mode 100644 index 0000000000..9dd9c9f38b --- /dev/null +++ b/src/npair_half_size_multi_newtoff.cpp @@ -0,0 +1,117 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "npair_half_size_multi_newtoff.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + size particles + binned neighbor list construction with partial Newton's 3rd law + each owned atom i checks own bin and other bins in stencil + multi-type stencil is itype dependent and is distance checked + pair stored once if i,j are both owned and i < j + pair stored by me if j is ghost (also stored by proc owning j) +------------------------------------------------------------------------- */ + +void NPairHalfSizeMultiNewtoff::build(NeighList *list) +{ + int i,j,k,m,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + double *cutsq,*distsq; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // loop over all atoms in other bins in stencil including self + // only store pair if i < j + // skip if i,j neighbor cutoff is less than bin distance + // stores own/own pairs only once + // stores own/ghost pairs on both procs + + ibin = atom2bin[i]; + s = stencil_multi[itype]; + distsq = distsq_multi[itype]; + cutsq = cutneighsq[itype]; + ns = nstencil_multi[itype]; + for (k = 0; k < ns; k++) { + for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { + if (j <= i) continue; + jtype = type[j]; + if (cutsq[jtype] < distsq[k]) continue; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_multi_newtoff.h b/src/npair_half_size_multi_newtoff.h new file mode 100644 index 0000000000..6f88240db6 --- /dev/null +++ b/src/npair_half_size_multi_newtoff.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/newtoff, + NPairHalfSizeMultiNewtoff, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiNewtoff : public NPair { + public: + NPairHalfSizeMultiNewtoff(class LAMMPS *); + ~NPairHalfSizeMultiNewtoff() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp new file mode 100644 index 0000000000..631ba72340 --- /dev/null +++ b/src/npair_half_size_multi_newton.cpp @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "npair_half_size_multi_newton.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + size particles + binned neighbor list construction with full Newton's 3rd law + each owned atom i checks its own bin and other bins in Newton stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeMultiNewton::build(NeighList *list) +{ + int i,j,k,m,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + double *cutsq,*distsq; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + for (j = bins[i]; j >= 0; j = bins[j]) { + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + + // loop over all atoms in other bins in stencil, store every pair + // skip if i,j neighbor cutoff is less than bin distance + + ibin = atom2bin[i]; + s = stencil_multi[itype]; + distsq = distsq_multi[itype]; + cutsq = cutneighsq[itype]; + ns = nstencil_multi[itype]; + for (k = 0; k < ns; k++) { + for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { + jtype = type[j]; + if (cutsq[jtype] < distsq[k]) continue; + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_multi_newton.h b/src/npair_half_size_multi_newton.h new file mode 100644 index 0000000000..2be10aa3d2 --- /dev/null +++ b/src/npair_half_size_multi_newton.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/newton, + NPairHalfSizeMultiNewton, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiNewton : public NPair { + public: + NPairHalfSizeMultiNewton(class LAMMPS *); + ~NPairHalfSizeMultiNewton() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp new file mode 100644 index 0000000000..49745a87b0 --- /dev/null +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -0,0 +1,125 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "npair_half_size_multi_newton_tri.h" +#include "neigh_list.h" +#include "atom.h" +#include "atom_vec.h" +#include "my_page.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} + +/* ---------------------------------------------------------------------- + binned neighbor list construction with Newton's 3rd law for triclinic + each owned atom i checks its own bin and other bins in triclinic stencil + multi-type stencil is itype dependent and is distance checked + every pair stored exactly once by some processor +------------------------------------------------------------------------- */ + +void NPairHalfSizeMultiNewtonTri::build(NeighList *list) +{ + int i,j,k,m,n,itype,jtype,ibin,ns; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double radi,radsum,cutdistsq; + int *neighptr,*s; + double *cutsq,*distsq; + + double **x = atom->x; + double *radius = atom->radius; + int *type = atom->type; + int *mask = atom->mask; + tagint *molecule = atom->molecule; + int nlocal = atom->nlocal; + if (includegroup) nlocal = atom->nfirst; + + int history = list->history; + int *ilist = list->ilist; + int *numneigh = list->numneigh; + int **firstneigh = list->firstneigh; + MyPage *ipage = list->ipage; + + int mask_history = 3 << SBBITS; + + int inum = 0; + ipage->reset(); + + for (i = 0; i < nlocal; i++) { + n = 0; + neighptr = ipage->vget(); + + itype = type[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + radi = radius[i]; + + + // loop over all atoms in bins, including self, in stencil + // skip if i,j neighbor cutoff is less than bin distance + // bins below self are excluded from stencil + // pairs for atoms j "below" i are excluded + // below = lower z or (equal z and lower y) or (equal zy and lower x) + // (equal zyx and j <= i) + // latter excludes self-self interaction but allows superposed atoms + + ibin = atom2bin[i]; + s = stencil_multi[itype]; + distsq = distsq_multi[itype]; + cutsq = cutneighsq[itype]; + ns = nstencil_multi[itype]; + for (k = 0; k < ns; k++) { + for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { + jtype = type[j]; + if (cutsq[jtype] < distsq[k]) continue; + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp) { + if (x[j][0] < xtmp) continue; + if (x[j][0] == xtmp && j <= i) continue; + } + } + + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); + + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; + } + } + } + + ilist[inum++] = i; + firstneigh[i] = neighptr; + numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } + + list->inum = inum; +} diff --git a/src/npair_half_size_multi_newton_tri.h b/src/npair_half_size_multi_newton_tri.h new file mode 100644 index 0000000000..5a24d3437b --- /dev/null +++ b/src/npair_half_size_multi_newton_tri.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/newton/tri, + NPairHalfSizeMultiNewtonTri, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiNewtonTri : public NPair { + public: + NPairHalfSizeMultiNewtonTri(class LAMMPS *); + ~NPairHalfSizeMultiNewtonTri() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ From f81a17abbd922674bb4630610bd5e59feae202fa Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Fri, 11 Dec 2020 12:11:02 +0000 Subject: [PATCH 037/542] Moved fix_bd_sphere to src/USER-MISC folder, examples to examples/USER/misc folder, and added one-liner on README file. --- doc/src/fix_bd_sphere.rst | 4 ++++ examples/{ => USER/misc}/bd_sphere/README.txt | 0 examples/{ => USER/misc}/bd_sphere/in2ddipole.bd | 0 examples/{ => USER/misc}/bd_sphere/in3d_virial_on.bd | 0 .../misc}/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log | 0 .../misc}/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log | 0 src/USER-MISC/README | 1 + src/{ => USER-MISC}/fix_bd_sphere.cpp | 0 src/{ => USER-MISC}/fix_bd_sphere.h | 0 9 files changed, 5 insertions(+) rename examples/{ => USER/misc}/bd_sphere/README.txt (100%) rename examples/{ => USER/misc}/bd_sphere/in2ddipole.bd (100%) rename examples/{ => USER/misc}/bd_sphere/in3d_virial_on.bd (100%) rename examples/{ => USER/misc}/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log (100%) rename examples/{ => USER/misc}/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log (100%) rename src/{ => USER-MISC}/fix_bd_sphere.cpp (100%) rename src/{ => USER-MISC}/fix_bd_sphere.h (100%) diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst index ee731c47d8..f1c9756a78 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_bd_sphere.rst @@ -136,6 +136,10 @@ as defined by the :doc:`atom_style sphere ` command. They must also store a dipole moment as defined by the :doc:`atom_style dipole ` command. +This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` +doc page for more info. + All particles in the group must be finite-size spheres. They cannot be point particles. diff --git a/examples/bd_sphere/README.txt b/examples/USER/misc/bd_sphere/README.txt similarity index 100% rename from examples/bd_sphere/README.txt rename to examples/USER/misc/bd_sphere/README.txt diff --git a/examples/bd_sphere/in2ddipole.bd b/examples/USER/misc/bd_sphere/in2ddipole.bd similarity index 100% rename from examples/bd_sphere/in2ddipole.bd rename to examples/USER/misc/bd_sphere/in2ddipole.bd diff --git a/examples/bd_sphere/in3d_virial_on.bd b/examples/USER/misc/bd_sphere/in3d_virial_on.bd similarity index 100% rename from examples/bd_sphere/in3d_virial_on.bd rename to examples/USER/misc/bd_sphere/in3d_virial_on.bd diff --git a/examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log b/examples/USER/misc/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log similarity index 100% rename from examples/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log rename to examples/USER/misc/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log diff --git a/examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log b/examples/USER/misc/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log similarity index 100% rename from examples/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log rename to examples/USER/misc/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 538fdb7952..2dd16d23ac 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -53,6 +53,7 @@ dihedral_style table/cut, Mike Salerno, ksalerno@pha.jhu.edu, 11 May 18 fix accelerate/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 fix addtorque, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 fix ave/correlate/long, Jorge Ramirez (UPM Madrid), jorge.ramirez at upm.es, 21 Oct 2015 +fix bd/sphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 10 Dec 2020 fix electron/stopping/fit, James Stewart (SNL), jstewa .at. sandia.gov, 23 Sep 2020 fix electron/stopping, Konstantin Avchaciov, k.avchachov at gmail.com, 26 Feb 2019 fix ffl, David Wilkins (EPFL Lausanne), david.wilkins @ epfl.ch, 28 Sep 2018 diff --git a/src/fix_bd_sphere.cpp b/src/USER-MISC/fix_bd_sphere.cpp similarity index 100% rename from src/fix_bd_sphere.cpp rename to src/USER-MISC/fix_bd_sphere.cpp diff --git a/src/fix_bd_sphere.h b/src/USER-MISC/fix_bd_sphere.h similarity index 100% rename from src/fix_bd_sphere.h rename to src/USER-MISC/fix_bd_sphere.h From 86ebe0a9d38c5cdd0066930ad18f7d2805d6514b Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sun, 13 Dec 2020 16:56:00 +0000 Subject: [PATCH 038/542] Minor change to doc for bd/sphere. --- doc/src/fix_bd_sphere.rst | 63 ++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst index f1c9756a78..177af6e6d7 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_bd_sphere.rst @@ -25,7 +25,7 @@ Syntax *uniform* = use uniform random number generator *gaussian* = use gaussian random number generator *none* = turn off noise - *dipole* value = none = update orientation of dipoles during integration + *dipole* value = none = update orientation of dipoles during integration Examples """""""" @@ -68,32 +68,32 @@ the :math:`\omega` axis, and infinitesimal rotation matrix (see e.g. :ref:`(Callegari) `, section 7.4). -The :doc:`fix_modify ` *virial* option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of :doc:`thermodynamic output `. -The default is *virial no*. +.. note:: + This integrator is designed for generic non-equilibrium + simulations with additive noise. There are two important cases which + (conceptually) reduce the number of free parameters in this fix. + (a) In equilibrium simulations + (where fluctuation dissipation theorems are obeyed), one can define + the thermal energy :math:`k_bT=D_t\gamma_t=D_r\gamma_r`. + (b) When a no-slip boundary condition is expected between the spheres and + the surrounding medium, the condition + :math:`\gamma_t=3\gamma_r/\sigma^2` must be explicitly + accounted for (e.g. by setting *gamma_t* to 3 and *gamma_r* to 1) where + :math:`sigma` is the particle diameter. + If both (a) and (b) are true, then one must ensure this explicitly via + the above relationships. +--------- -IMPORTANT NOTE: This integrator is designed for generic non-equilibrium -simulations with additive noise. There are two important cases which -(conceptually) reduce the number of free parameters in this fix. -(a) In equilibrium simulations -(where fluctuation dissipation theorems are obeyed), one can define -the thermal energy :math:`k_bT=D_t\gamma_t=D_r\gamma_r`. -(b) When a no-slip boundary condition is expected between the spheres and -the surrounding medium, the condition -:math:`\gamma_t=3\gamma_r/\sigma^2` must be explicitly -accounted for (e.g. by setting *gamma_t* to 3 and *gamma_r* to 1) where -:math:`sigma` is the particle diameter. -If both (a) and (b) are true, then one must ensure this explicitly via -the above relationships. +.. note:: + The diffusion coefficient :math:`D_t` is measured + in units of (length*length)/time and the diffusion coefficient + :math:`D_r` is measured in units of 1/time, where time and length + are in the units specified on the :doc:`units ` page. Similarly, + :math:`\gamma_t` and :math:`\gamma_r` are measured in + units of mass/time and (mass*length*length)/(time). -IMPORTANT NOTE: The diffusion coefficient :math:`D_t` is measured -in units of (length*length)/time and the diffusion coefficient -:math:`D_r` is measured in units of 1/time, where time and length -are in the units specified on the :doc:`units ` page. Similarly, -:math:`\gamma_t` and :math:`\gamma_r` are measured in -units of mass/time and (mass*length*length)/(time). +--------- If the *rng* keyword is used with the *uniform* value, then the noise is generated from a uniform distribution (see @@ -121,9 +121,14 @@ Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" No information about this fix is written to :doc:`binary restart files `. -None of the :doc:`fix_modify ` options -are relevant to this fix. No global or per-atom quantities are stored +No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. + +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to the +system's virial as part of :doc:`thermodynamic output `. +The default is *virial no*. + No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. @@ -133,15 +138,13 @@ Restrictions This fix requires that atoms store torque and angular velocity (omega) as defined by the :doc:`atom_style sphere ` command. -They must also store a dipole moment as defined by the -:doc:`atom_style dipole ` command. +If the *dipole* keyword is used, they must also store a dipole moment +as defined by the :doc:`atom_style dipole ` command. This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -All particles in the group must be finite-size spheres. They cannot -be point particles. Related commands """""""""""""""" From f2e7f5263e85e7ea02685d9c420db2d4126737ab Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Wed, 16 Dec 2020 16:14:13 +0000 Subject: [PATCH 039/542] Added bd integrator for ellipsoidal particles as well. --- doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 3 +- doc/src/fix_bd_asphere.rst | 149 +++++++ examples/USER/misc/bd_asphere/README.txt | 2 + examples/USER/misc/bd_asphere/in3d.bd | 71 ++++ .../log_gaussian_4_1_7_13_3d.lammps.log | 154 +++++++ src/USER-MISC/README | 3 +- src/USER-MISC/fix_bd_asphere.cpp | 392 ++++++++++++++++++ src/USER-MISC/fix_bd_asphere.h | 103 +++++ 9 files changed, 876 insertions(+), 2 deletions(-) create mode 100644 doc/src/fix_bd_asphere.rst create mode 100644 examples/USER/misc/bd_asphere/README.txt create mode 100644 examples/USER/misc/bd_asphere/in3d.bd create mode 100644 examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log create mode 100644 src/USER-MISC/fix_bd_asphere.cpp create mode 100644 src/USER-MISC/fix_bd_asphere.h diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 1be5348bfe..8be0908a1a 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -40,6 +40,7 @@ OPT. * :doc:`aveforce ` * :doc:`balance ` * :doc:`bd/sphere ` + * :doc:`bd/asphere ` * :doc:`bocs ` * :doc:`bond/break ` * :doc:`bond/create ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 0993a885a5..c395489a58 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -181,8 +181,9 @@ accelerated styles exist. * :doc:`ave/histo/weight ` - weighted version of fix ave/histo * :doc:`ave/time ` - compute/output global time-averaged quantities * :doc:`aveforce ` - add an averaged force to each atom -* :doc:`bd/sphere ` - overdamped translational and rotational brownian dynamics * :doc:`balance ` - perform dynamic load-balancing +* :doc:`bd/asphere ` - integrate positions and orientations in overdamped motion +* :doc:`bd/sphere ` - overdamped translational and rotational brownian dynamics * :doc:`bocs ` - NPT style time integration with pressure correction * :doc:`bond/break ` - break bonds on the fly * :doc:`bond/create ` - create bonds on the fly diff --git a/doc/src/fix_bd_asphere.rst b/doc/src/fix_bd_asphere.rst new file mode 100644 index 0000000000..8c0337cb5e --- /dev/null +++ b/doc/src/fix_bd_asphere.rst @@ -0,0 +1,149 @@ +.. index:: fix bd/asphere + +fix bd/asphere command +====================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID bd/asphere gamma_t gamma_r diff_t diff_r seed keyword args + +* ID, group-ID are documented in :doc:`fix ` command +* bd/asphere = style name of this fix command +* gamma_t = translational friction coefficient +* gamma_r = rotational friction coefficient +* diff_t = translational diffusion coefficient +* diff_r = rotational diffusion coefficient +* zero or more keyword/value pairs may be appended +* keyword = *rng* or *dipole* + + .. parsed-literal:: + + *rng* value = *uniform* or *gaussian* or *none* + *uniform* = use uniform random number generator + *gaussian* = use gaussian random number generator + *none* = turn off noise + *dipole* value = none = update orientation of dipoles during integration + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all bd/asphere 1.0 1.0 1.0 1.0 1294019 + fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 rng none dipole + fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 rng uniform + fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian + + +Description +""""""""""" + +Perform Brownian Dynamics integration to update position, velocity, +angular velocity, particle orientation, and dipole moment for +finite-size elipsoidal particles in the group each timestep. +Brownian Dynamics uses Newton's laws of +motion in the limit that inertial forces are negligible compared to +viscous forces. The stochastic equations of motion are + +.. math:: + + dr = \frac{F}{\gamma_t}dt+\sqrt{2D_t}dW_t, \\ + d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r, + +where :math:`d\Omega` is an infinitesimal rotation vector (see e.g. +Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and +:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). +The quaternions :math:`q` of the ellipsoid are updated each timestep from +the angular velocity vector. + +See :doc:`fix bd/sphere ` for discussion on the +values of :math:`\gamma_t`, :math:`\gamma_r`, :math:`D_t`, +and :math:`D_r` when simulating equilibrium systems. + + +If the *rng* keyword is used with the *uniform* value, then the noise +is generated from a uniform distribution (see +:ref:`(Dunweg) ` for why this works). This is the same method +of noise generation as used in :doc:`fix_langevin `. + +If the *rng* keyword is used with the *gaussian* value, then the noise +is generated from a gaussian distribution. Typically this added +complexity is unnecessary, and one should be fine using the *uniform* +value for reasons argued in :ref:`(Dunweg) `. + +If the *rng* keyword is used with the *none* value, then the noise +terms are set to zero. + +If the *dipole* keyword is used, then the dipole moments of the particles +are updated by setting them along the x axis of the ellipsoidal frames of +reference. + +---------- + +.. include:: accel_styles.rst + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. +No global or per-atom quantities are stored +by this fix for access by various :doc:`output commands `. + +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to the +system's virial as part of :doc:`thermodynamic output `. +The default is *virial no*. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. + + +Restrictions +"""""""""""" + +This fix requires that atoms store torque and angular velocity (omega) +as defined by the :doc:`atom_style sphere ` command, as well +as atoms which have a definite orientation as defined by the +:doc:`atom_style ellipsoid ` command. +Optionally, they can also store a dipole moment as defined by the +:doc:`atom_style dipole ` command. + +This fix is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` +doc page for more info. + +All particles in the group must be finite-size ellipsoids. They cannot +be point particles. + +Related commands +"""""""""""""""" + +:doc:`fix bd/sphere `, :doc:`fix langevin `, +:doc:`fix nve/asphere `, :doc:`atom style ` + +Default +""""""" + +The default for *rng* is *uniform*. + +---------- + +.. _GoldsteinCM1: + +**(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). + +.. _GardinerC1: + +**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). + +.. _Dunweg7: + +**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). + + diff --git a/examples/USER/misc/bd_asphere/README.txt b/examples/USER/misc/bd_asphere/README.txt new file mode 100644 index 0000000000..7cb5d2e8e6 --- /dev/null +++ b/examples/USER/misc/bd_asphere/README.txt @@ -0,0 +1,2 @@ +The input file in2d.bd demonstrates how to run a 2d simulation +of ellipsoidal particles undergoing overdamped brownian motion. diff --git a/examples/USER/misc/bd_asphere/in3d.bd b/examples/USER/misc/bd_asphere/in3d.bd new file mode 100644 index 0000000000..6163eb0c58 --- /dev/null +++ b/examples/USER/misc/bd_asphere/in3d.bd @@ -0,0 +1,71 @@ +# 3d overdamped brownian dynamics + +variable rng string gaussian +variable gamma_t equal 4.0 +variable gamma_r equal 1.0 +variable D_t equal 7.0 +variable D_r equal 13.0 +variable seed equal 1974019 + +variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r} + + +log log_${params}_3d.lammps.log +units lj +atom_style hybrid dipole sphere ellipsoid +dimension 3 +newton off + + +lattice sc 0.4 +region box block -4 4 -4 4 -4 4 +create_box 1 box +create_atoms 1 box +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * shape 1 1 1 +set type * quat/random ${seed} +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + +fix 1 all bd/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50000 +run 50000 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +#dump 1 all custom 1000 dump_${params}_3d.lammpstrj id type & +# x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 10000 + +# main run +run 120000 diff --git a/examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log b/examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log new file mode 100644 index 0000000000..c6926dbccf --- /dev/null +++ b/examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log @@ -0,0 +1,154 @@ +units lj +atom_style hybrid dipole sphere ellipsoid +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +WARNING: Peratom rmass is in multiple sub-styles - must be used consistently (src/atom_vec_hybrid.cpp:219) +dimension 3 +newton off + + +lattice sc 0.4 +Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 +region box block -4 4 -4 4 -4 4 +create_box 1 box +Created orthogonal box = (-5.4288352 -5.4288352 -5.4288352) to (5.4288352 5.4288352 5.4288352) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 512 atoms + create_atoms CPU = 0.001 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 1974019 1.0 +Setting atom values ... + 512 settings made for dipole/random +set type * shape 1 1 1 +Setting atom values ... + 512 settings made for shape +set type * quat/random ${seed} +set type * quat/random 1974019 +Setting atom values ... + 512 settings made for quat/random +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + +fix 1 all bd/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/asphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/asphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/asphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole +fix 1 all bd/asphere 4 1 7 13 ${seed} rng ${rng} dipole +fix 1 all bd/asphere 4 1 7 13 1974019 rng ${rng} dipole +fix 1 all bd/asphere 4 1 7 13 1974019 rng gaussian dipole + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50000 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.379 | 5.379 Mbytes +Step Temp E_pair c_press + 0 1 0 0 + 50000 1.3923773e+11 0 0 +Loop time of 5.68636 on 1 procs for 50000 steps with 512 atoms + +Performance: 0.076 tau/day, 8792.977 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11589 | 0.11589 | 0.11589 | 0.0 | 2.04 +Output | 2.1155e-05 | 2.1155e-05 | 2.1155e-05 | 0.0 | 0.00 +Modify | 5.4911 | 5.4911 | 5.4911 | 0.0 | 96.57 +Other | | 0.07936 | | | 1.40 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 217.000 ave 217 max 217 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +# write trajectory and thermo in a log-scale frequency +dump 1 all custom 1000 dump_${params}_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz +dump 1 all custom 1000 dump_gaussian_4_1_7_13_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz +dump_modify 1 first yes sort id + +timestep 0.00001 +thermo 10000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 7.103 | 7.103 | 7.103 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 1.3923773e+11 0 0 0 0 0 0 + 10000 1413805.2 0 1.3943053 1.4055827 1.4346505 4.2345385 0 + 20000 1380788.4 0 2.8560158 2.6537192 2.698195 8.2079299 0 + 30000 1368735.7 0 4.2694087 4.1286924 3.9635117 12.361613 0 + 40000 1349446 0 5.4328386 6.0271243 5.3571941 16.817157 0 + 50000 1366690 0 7.0372792 7.3342977 6.7676981 21.139275 0 + 60000 1413212.4 0 8.6092241 8.3859529 8.3650987 25.360276 0 + 70000 1401310 0 10.085131 9.4972009 9.7949174 29.377249 0 + 80000 1419160.7 0 11.413946 10.964643 11.007284 33.385873 0 + 90000 1298713.5 0 12.556318 12.457196 12.055966 37.06948 0 + 100000 1430838.3 0 14.104796 13.817001 13.596538 41.518335 0 + 110000 1364246.8 0 15.382464 15.09201 15.017312 45.491785 0 + 120000 1389237.6 0 16.632972 16.343173 16.015748 48.991892 0 +Loop time of 13.595 on 1 procs for 120000 steps with 512 atoms + +Performance: 7626.329 tau/day, 8826.770 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.00079148 | 0.00079148 | 0.00079148 | 0.0 | 0.01 +Comm | 0.029132 | 0.029132 | 0.029132 | 0.0 | 0.21 +Output | 0.15178 | 0.15178 | 0.15178 | 0.0 | 1.12 +Modify | 13.222 | 13.222 | 13.222 | 0.0 | 97.25 +Other | | 0.1916 | | | 1.41 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 1110 +Dangerous builds = 0 +Total wall time: 0:00:19 diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 2dd16d23ac..ac41d60dfd 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -53,7 +53,8 @@ dihedral_style table/cut, Mike Salerno, ksalerno@pha.jhu.edu, 11 May 18 fix accelerate/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 fix addtorque, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 fix ave/correlate/long, Jorge Ramirez (UPM Madrid), jorge.ramirez at upm.es, 21 Oct 2015 -fix bd/sphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 10 Dec 2020 +fix bd/sphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 13 Dec 2020 +fix bd/asphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 13 Dec 2020 fix electron/stopping/fit, James Stewart (SNL), jstewa .at. sandia.gov, 23 Sep 2020 fix electron/stopping, Konstantin Avchaciov, k.avchachov at gmail.com, 26 Feb 2019 fix ffl, David Wilkins (EPFL Lausanne), david.wilkins @ epfl.ch, 28 Sep 2018 diff --git a/src/USER-MISC/fix_bd_asphere.cpp b/src/USER-MISC/fix_bd_asphere.cpp new file mode 100644 index 0000000000..88772b9237 --- /dev/null +++ b/src/USER-MISC/fix_bd_asphere.cpp @@ -0,0 +1,392 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + + Contributing author: Sam Cameron (University of Bristol) +------------------------------------------------------------------------- */ + +#include "fix_bd_asphere.h" + +#include +#include +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_ellipsoid.h" +#include "force.h" +#include "update.h" +#include "comm.h" +#include "domain.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" + + +using namespace LAMMPS_NS; +using namespace FixConst; + +#define SMALL 1e-14 + +enum{NODIPOLE,DIPOLE}; + +/* ---------------------------------------------------------------------- */ + +FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + virial_flag = 1; + + time_integrate = 1; + + dipole_flag = NODIPOLE; + + + if (narg > 11 || narg < 8 ) + error->all(FLERR,"Illegal fix bd/asphere command."); + + if (!atom->sphere_flag) + error->all(FLERR,"Fix bd/asphere requires atom style sphere"); + + gamma_t = utils::numeric(FLERR,arg[3],false,lmp); + if (gamma_t <= 0.0) + error->all(FLERR,"Fix bd/asphere translational viscous drag " + "coefficient must be > 0."); + + gamma_r = utils::numeric(FLERR,arg[4],false,lmp); + if (gamma_t <= 0.0) + error->all(FLERR,"Fix bd/asphere rotational viscous drag " + "coefficient must be > 0."); + + + diff_t = utils::numeric(FLERR,arg[5],false,lmp); + if (diff_t <= 0.0) + error->all(FLERR,"Fix bd/asphere translational diffusion " + "coefficient must be > 0."); + + diff_r = utils::numeric(FLERR,arg[6],false,lmp); + if (diff_r <= 0.0) + error->all(FLERR,"Fix bd/asphere rotational diffusion " + "coefficient must be > 0."); + + seed = utils::inumeric(FLERR,arg[7],false,lmp); + if (seed <= 0) error->all(FLERR,"Fix bd/asphere seed must be > 0."); + + noise_flag = 1; + gaussian_noise_flag = 0; + + int iarg = 8; + + while (iarg < narg) { + if (strcmp(arg[iarg],"rng") == 0) { + if (narg == iarg + 1) { + error->all(FLERR,"Illegal fix/bd/asphere command."); + } + if (strcmp(arg[iarg + 1],"uniform") == 0) { + noise_flag = 1; + } else if (strcmp(arg[iarg + 1],"gaussian") == 0) { + noise_flag = 1; + gaussian_noise_flag = 1; + } else if (strcmp(arg[iarg + 1],"none") == 0) { + noise_flag = 0; + } else { + error->all(FLERR,"Illegal fix/bd/asphere command."); + } + iarg = iarg + 2; + } else if (strcmp(arg[iarg],"dipole") == 0) { + dipole_flag = DIPOLE; + iarg = iarg + 1; + } else { + error->all(FLERR,"Illegal fix/bd/asphere command."); + } + } + + if (dipole_flag == DIPOLE && !atom->mu_flag) + error->all(FLERR,"Fix bd/asphere dipole requires atom attribute mu"); + + // initialize Marsaglia RNG with processor-unique seed + random = new RanMars(lmp,seed + comm->me); + +} + +/* ---------------------------------------------------------------------- */ + +int FixBdAsphere::setmask() +{ + int mask = 0; + mask |= INITIAL_INTEGRATE; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +FixBdAsphere::~FixBdAsphere() +{ + delete random; +} + + + +/* ---------------------------------------------------------------------- */ + +void FixBdAsphere::init() +{ + + + avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); + if (!avec) + error->all(FLERR,"Compute bd/asphere requires " + "atom style ellipsoid"); + + // check that all particles are finite-size ellipsoids + // no point particles allowed, spherical is OK + + int *ellipsoid = atom->ellipsoid; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) + if (ellipsoid[i] < 0) + error->one(FLERR,"Fix bd/asphere requires extended particles"); + + + if (dipole_flag == DIPOLE) { + + double f_act[3] = { 1.0, 0.0, 0.0 }; + double f_rot[3]; + double *quat; + int *ellipsoid = atom->ellipsoid; + AtomVecEllipsoid::Bonus *bonus = avec->bonus; + + double Q[3][3]; + + double **mu = atom->mu; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + quat = bonus[ellipsoid[i]].quat; + MathExtra::quat_to_mat( quat, Q ); + MathExtra::matvec( Q, f_act, f_rot ); + + mu[i][0] = f_rot[0]; + mu[i][1] = f_rot[1]; + mu[i][2] = f_rot[2]; + + } + } + } + + g1 = force->ftm2v/gamma_t; + g3 = force->ftm2v/gamma_r; + if (noise_flag == 0) { + g2 = 0; + g4 = 0; + rng_func = &RanMars::zero_rng; + } else if (gaussian_noise_flag == 1) { + g2 = gamma_t*sqrt(2 * diff_t)/force->ftm2v; + g4 = gamma_r*sqrt(2 * diff_r)/force->ftm2v; + rng_func = &RanMars::gaussian; + } else { + g2 = gamma_t*sqrt( 24 * diff_t)/force->ftm2v; + g4 = gamma_r*sqrt( 24 * diff_r )/force->ftm2v; + rng_func = &RanMars::uniform_middle; + } + + dt = update->dt; + sqrtdt = sqrt(dt); +} + +void FixBdAsphere::setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + + +void FixBdAsphere::initial_integrate(int /* vflag */) +{ + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **omega = atom->omega; + double **torque = atom->torque; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + + int d3rot; // whether to compute angular momentum in xy plane + + if (domain->dimension==2) { + d3rot = 0; + } else { + d3rot = 1; + } + + if (dipole_flag == DIPOLE) { + + // if dipole is being tracked, then update it along with + // quaternions accordingly along with angular velocity + + double wq[4]; + + double *quat; + int *ellipsoid = atom->ellipsoid; + AtomVecEllipsoid::Bonus *bonus = avec->bonus; + + // project dipole along x axis of quat + double f_act[3] = { 1.0, 0.0, 0.0 }; + double f_rot[3]; + + double Q[3][3]; + + double **mu = atom->mu; + + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + update_x_and_omega(x[i],v[i],omega[i],f[i],torque[i],d3rot); + + quat = bonus[ellipsoid[i]].quat; + + MathExtra::vecquat(omega[i],quat,wq); + + quat[0] = quat[0] + 0.5*dt*wq[0]; + quat[1] = quat[1] + 0.5*dt*wq[1]; + quat[2] = quat[2] + 0.5*dt*wq[2]; + quat[3] = quat[3] + 0.5*dt*wq[3]; + MathExtra::qnormalize(quat); + + MathExtra::quat_to_mat( quat, Q ); + MathExtra::matvec( Q, f_act, f_rot ); + + mu[i][0] = f_rot[0]; + mu[i][1] = f_rot[1]; + mu[i][2] = f_rot[2]; + + } + } + } else { + + // if no dipole, just update quaternions and + // angular velocity + + + double wq[4]; + + double *quat; + int *ellipsoid = atom->ellipsoid; + AtomVecEllipsoid::Bonus *bonus = avec->bonus; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + update_x_and_omega(x[i],v[i],omega[i],f[i],torque[i],d3rot); + + quat = bonus[ellipsoid[i]].quat; + + MathExtra::vecquat(omega[i],quat,wq); + + quat[0] = quat[0] + 0.5*dt*wq[0]; + quat[1] = quat[1] + 0.5*dt*wq[1]; + quat[2] = quat[2] + 0.5*dt*wq[2]; + quat[3] = quat[3] + 0.5*dt*wq[3]; + MathExtra::qnormalize(quat); + + } + } + } + return; +} + +void FixBdAsphere::update_x_and_omega(double *x, double *v, double *omega, + double *f, double *torque, int d3rot) +{ + double dx, dy, dz; + + dx = dt * g1 * f[0]; + x[0] += dx; + v[0] = dx/dt; + + dy = dt * g1 * f[1]; + x[1] += dy; + v[1] = dy/dt; + + dz = dt * g1 * f[2]; + x[2] += dz; + v[2] = dz/dt; + + omega[0] = d3rot * g3* torque[0]; + omega[1] = d3rot * g3* torque[1]; + omega[2] = g3* torque[2]; + + return; +} + +/* ---------------------------------------------------------------------- + apply random force, stolen from MISC/fix_efield.cpp +------------------------------------------------------------------------- */ + +void FixBdAsphere::post_force(int vflag) +{ + double **f = atom->f; + double **x = atom->x; + double **torque = atom->torque; + int *mask = atom->mask; + imageint *image = atom->image; + int nlocal = atom->nlocal; + + // virial setup + + if (vflag) v_setup(vflag); + else evflag = 0; + + double fx,fy,fz; + double v[6]; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + fx = g2 * (random->*rng_func)()/sqrtdt; + fy = g2 * (random->*rng_func)()/sqrtdt; + fz = g2 * (random->*rng_func)()/sqrtdt; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + torque[i][0] = g4*(random->*rng_func)()/sqrtdt; + torque[i][1] = g4*(random->*rng_func)()/sqrtdt; + torque[i][2] = g4*(random->*rng_func)()/sqrtdt; + + if (evflag) { + v[0] = fx*x[i][0]; + v[1] = fy*x[i][1]; + v[2] = fz*x[i][2]; + v[3] = fx*x[i][1]; + v[4] = fx*x[i][2]; + v[5] = fy*x[i][2]; + v_tally(i, v); + } + } +} + +void FixBdAsphere::reset_dt() +{ + + dt = update->dt; + sqrtdt = sqrt(dt); +} diff --git a/src/USER-MISC/fix_bd_asphere.h b/src/USER-MISC/fix_bd_asphere.h new file mode 100644 index 0000000000..696b659729 --- /dev/null +++ b/src/USER-MISC/fix_bd_asphere.h @@ -0,0 +1,103 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(bd/asphere,FixBdAsphere) + +#else + +#ifndef LMP_FIX_BD_ASPHERE_H +#define LMP_FIX_BD_ASPHERE_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixBdAsphere : public Fix { + public: + FixBdAsphere(class LAMMPS *, int, char **); + virtual ~FixBdAsphere(); + void init(); + void initial_integrate(int); + void setup(int); + void post_force(int); + int setmask(); + void reset_dt(); + void update_x_and_omega(double *, double *, double *, + double *, double *, int ); + + + private: + int seed; // RNG seed + int dipole_flag; // set if dipole is used + double dt, sqrtdt; // time step interval and its sqrt + + + double gamma_t,gamma_r; // translational and rotational damping params + double diff_t,diff_r; // translational and rotational diffusion coeffs + + double g1,g2, g3, g4; // prefactors in time stepping + int noise_flag; // 0/1 for noise off/on + int gaussian_noise_flag; // 0/1 for uniform/gaussian noise + + class AtomVecEllipsoid *avec; + +protected: + class RanMars *random; + typedef double (RanMars::*rng_member)(); + rng_member rng_func; // placeholder for RNG function + +}; + +} +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal fix bd/asphere command. + +Wrong number/type of input arguments. + +E: Compute bd/asphere requires atom style sphere + +Self-explanatory. + +E: Compute bd/asphere requires atom style ellipsoid + +Self-explanatory. + +E: Compute bd/asphere dipole requires atom attribute mu + +Self-explanatory. + +E: Fix bd/asphere translational viscous drag coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/asphere rotational viscous drag coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/asphere translational diffusion coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/asphere rotational diffusion coefficient must be > 0. + +Self-explanatory. + +E: Fix bd/asphere seed must be > 0. + +*/ From d9440a582c66086fd6c18e78f0f7716a4a969d8a Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Wed, 16 Dec 2020 17:30:28 +0000 Subject: [PATCH 040/542] Final touches on docs to discuss temperature in overdamped dynamics. --- doc/src/fix_bd_asphere.rst | 2 +- doc/src/fix_bd_sphere.rst | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_bd_asphere.rst b/doc/src/fix_bd_asphere.rst index 8c0337cb5e..67d32e2038 100644 --- a/doc/src/fix_bd_asphere.rst +++ b/doc/src/fix_bd_asphere.rst @@ -61,7 +61,7 @@ the angular velocity vector. See :doc:`fix bd/sphere ` for discussion on the values of :math:`\gamma_t`, :math:`\gamma_r`, :math:`D_t`, -and :math:`D_r` when simulating equilibrium systems. +:math:`D_r`, and temperature when simulating equilibrium systems. If the *rng* keyword is used with the *uniform* value, then the noise diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_bd_sphere.rst index 177af6e6d7..eeaaca470c 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_bd_sphere.rst @@ -85,6 +85,16 @@ section 7.4). --------- +.. note:: + Temperature computation using the :doc:`compute temp ` + will not correctly compute temperature of these overdamped dynamics + since we are explicitly neglecting inertial effects. + See e.g. chapter 6 of :ref:`(Doi) ` for more details on this. + Temperature is instead defined in terms of the note above (for + equilibrium systems). + +--------- + .. note:: The diffusion coefficient :math:`D_t` is measured in units of (length*length)/time and the diffusion coefficient @@ -172,6 +182,10 @@ The default for *rng* is *uniform*. **(Callegari)** Callegari and Volpe, *Numerical Simulations of Active Brownian Particles*, Flowing Matter, 211-238 (2019). +.. _Doi1: + +**(Doi)** Doi, Soft Matter Physics (2013). + .. _Dunweg6: **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). From 4c1f44935039a8ec85186fee7635e3cd08405f7e Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sat, 19 Dec 2020 17:42:47 +0000 Subject: [PATCH 041/542] Moved brownian dynamics files to be in USER-BROWNIAN package --- cmake/CMakeLists.txt | 2 +- doc/src/Commands_fix.rst | 4 +- doc/src/fix.rst | 4 +- ...d_asphere.rst => fix_brownian_asphere.rst} | 22 ++++---- ..._bd_sphere.rst => fix_brownian_sphere.rst} | 18 +++---- .../{misc => brownian}/bd_asphere/README.txt | 0 .../bd_asphere/in3d.brownian} | 2 +- .../log_gaussian_4_1_7_13_3d.lammps.log | 49 +++++++++-------- .../{misc => brownian}/bd_sphere/README.txt | 10 ++-- .../bd_sphere/in2ddipole.brownian} | 2 +- .../bd_sphere/in3d_virial_on.brownian} | 2 +- .../log_gaussian_4_1_7_13_2d.lammps.log | 53 ++++++++++--------- .../log_uniform_10_1_5_15_3d.lammps.log | 0 .../fix_brownian_asphere.cpp} | 46 ++++++++-------- .../fix_brownian_asphere.h} | 30 +++++------ .../fix_brownian_sphere.cpp} | 40 +++++++------- .../fix_brownian_sphere.h} | 28 +++++----- src/USER-MISC/README | 2 - .../tests/{data.bdsphere => data.brownian} | 0 ...sphere.yaml => fix-timestep-brownian.yaml} | 6 +-- .../tests/{in.bdsphere => in.brownian} | 2 +- 21 files changed, 160 insertions(+), 162 deletions(-) rename doc/src/{fix_bd_asphere.rst => fix_brownian_asphere.rst} (86%) rename doc/src/{fix_bd_sphere.rst => fix_brownian_sphere.rst} (92%) rename examples/USER/{misc => brownian}/bd_asphere/README.txt (100%) rename examples/USER/{misc/bd_asphere/in3d.bd => brownian/bd_asphere/in3d.brownian} (93%) rename examples/USER/{misc => brownian}/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log (74%) rename examples/USER/{misc => brownian}/bd_sphere/README.txt (73%) rename examples/USER/{misc/bd_sphere/in2ddipole.bd => brownian/bd_sphere/in2ddipole.brownian} (93%) rename examples/USER/{misc/bd_sphere/in3d_virial_on.bd => brownian/bd_sphere/in3d_virial_on.brownian} (93%) rename examples/USER/{misc => brownian}/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log (89%) rename examples/USER/{misc => brownian}/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log (100%) rename src/{USER-MISC/fix_bd_asphere.cpp => USER-BROWNIAN/fix_brownian_asphere.cpp} (85%) rename src/{USER-MISC/fix_bd_asphere.h => USER-BROWNIAN/fix_brownian_asphere.h} (69%) rename src/{USER-MISC/fix_bd_sphere.cpp => USER-BROWNIAN/fix_brownian_sphere.cpp} (85%) rename src/{USER-MISC/fix_bd_sphere.h => USER-BROWNIAN/fix_brownian_sphere.h} (70%) rename unittest/force-styles/tests/{data.bdsphere => data.brownian} (100%) rename unittest/force-styles/tests/{fix-timestep-bd_sphere.yaml => fix-timestep-brownian.yaml} (97%) rename unittest/force-styles/tests/{in.bdsphere => in.brownian} (88%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 42e6d12ffb..26d86e0a06 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -112,7 +112,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY - USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS) + USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS USER-BROWNIAN) set(SUFFIX_PACKAGES CORESHELL USER-OMP KOKKOS OPT USER-INTEL GPU) foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 8be0908a1a..361ec7e982 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -39,8 +39,8 @@ OPT. * :doc:`ave/time ` * :doc:`aveforce ` * :doc:`balance ` - * :doc:`bd/sphere ` - * :doc:`bd/asphere ` + * :doc:`brownian/asphere ` + * :doc:`brownian/sphere ` * :doc:`bocs ` * :doc:`bond/break ` * :doc:`bond/create ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index c395489a58..5efe002f31 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -182,8 +182,8 @@ accelerated styles exist. * :doc:`ave/time ` - compute/output global time-averaged quantities * :doc:`aveforce ` - add an averaged force to each atom * :doc:`balance ` - perform dynamic load-balancing -* :doc:`bd/asphere ` - integrate positions and orientations in overdamped motion -* :doc:`bd/sphere ` - overdamped translational and rotational brownian dynamics +* :doc:`brownian/asphere ` - overdamped translational and rotational brownian for ellipsoids +* :doc:`brownian/sphere ` - overdamped translational and rotational brownian for spheres * :doc:`bocs ` - NPT style time integration with pressure correction * :doc:`bond/break ` - break bonds on the fly * :doc:`bond/create ` - create bonds on the fly diff --git a/doc/src/fix_bd_asphere.rst b/doc/src/fix_brownian_asphere.rst similarity index 86% rename from doc/src/fix_bd_asphere.rst rename to doc/src/fix_brownian_asphere.rst index 67d32e2038..58dd453de9 100644 --- a/doc/src/fix_bd_asphere.rst +++ b/doc/src/fix_brownian_asphere.rst @@ -1,17 +1,17 @@ -.. index:: fix bd/asphere +.. index:: fix brownian/asphere -fix bd/asphere command -====================== +fix brownian/asphere command +============================ Syntax """""" .. parsed-literal:: - fix ID group-ID bd/asphere gamma_t gamma_r diff_t diff_r seed keyword args + fix ID group-ID brownian/asphere gamma_t gamma_r diff_t diff_r seed keyword args * ID, group-ID are documented in :doc:`fix ` command -* bd/asphere = style name of this fix command +* brownian/asphere = style name of this fix command * gamma_t = translational friction coefficient * gamma_r = rotational friction coefficient * diff_t = translational diffusion coefficient @@ -32,10 +32,10 @@ Examples .. code-block:: LAMMPS - fix 1 all bd/asphere 1.0 1.0 1.0 1.0 1294019 - fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 rng none dipole - fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 rng uniform - fix 1 all bd/asphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian + fix 1 all brownian/asphere 1.0 1.0 1.0 1.0 1294019 + fix 1 all brownian/asphere 1.0 1.0 1.0 1.0 19581092 rng none dipole + fix 1 all brownian/asphere 1.0 1.0 1.0 1.0 19581092 rng uniform + fix 1 all brownian/asphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian Description @@ -59,7 +59,7 @@ Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and The quaternions :math:`q` of the ellipsoid are updated each timestep from the angular velocity vector. -See :doc:`fix bd/sphere ` for discussion on the +See :doc:`fix brownian/sphere ` for discussion on the values of :math:`\gamma_t`, :math:`\gamma_r`, :math:`D_t`, :math:`D_r`, and temperature when simulating equilibrium systems. @@ -124,7 +124,7 @@ be point particles. Related commands """""""""""""""" -:doc:`fix bd/sphere `, :doc:`fix langevin `, +:doc:`fix brownian/sphere `, :doc:`fix langevin `, :doc:`fix nve/asphere `, :doc:`atom style ` Default diff --git a/doc/src/fix_bd_sphere.rst b/doc/src/fix_brownian_sphere.rst similarity index 92% rename from doc/src/fix_bd_sphere.rst rename to doc/src/fix_brownian_sphere.rst index eeaaca470c..231486dee1 100644 --- a/doc/src/fix_bd_sphere.rst +++ b/doc/src/fix_brownian_sphere.rst @@ -1,17 +1,17 @@ -.. index:: fix bd/sphere +.. index:: fix brownian/sphere -fix bd/sphere command -====================== +fix brownian/sphere command +=========================== Syntax """""" .. parsed-literal:: - fix ID group-ID bd/sphere gamma_t gamma_r diff_t diff_r seed keyword args + fix ID group-ID brownian/sphere gamma_t gamma_r diff_t diff_r seed keyword args * ID, group-ID are documented in :doc:`fix ` command -* bd/sphere = style name of this fix command +* brownian/sphere = style name of this fix command * gamma_t = translational friction coefficient * gamma_r = rotational friction coefficient * diff_t = translational diffusion coefficient @@ -32,10 +32,10 @@ Examples .. code-block:: LAMMPS - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 1294019 - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng none dipole - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 rng uniform - fix 1 all bd/sphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian + fix 1 all brownian/sphere 1.0 1.0 1.0 1.0 1294019 + fix 1 all brownian/sphere 1.0 1.0 1.0 1.0 19581092 rng none dipole + fix 1 all brownian/sphere 1.0 1.0 1.0 1.0 19581092 rng uniform + fix 1 all brownian/sphere 1.0 1.0 1.0 1.0 19581092 dipole rng gaussian Description diff --git a/examples/USER/misc/bd_asphere/README.txt b/examples/USER/brownian/bd_asphere/README.txt similarity index 100% rename from examples/USER/misc/bd_asphere/README.txt rename to examples/USER/brownian/bd_asphere/README.txt diff --git a/examples/USER/misc/bd_asphere/in3d.bd b/examples/USER/brownian/bd_asphere/in3d.brownian similarity index 93% rename from examples/USER/misc/bd_asphere/in3d.bd rename to examples/USER/brownian/bd_asphere/in3d.brownian index 6163eb0c58..67d95a82b9 100644 --- a/examples/USER/misc/bd_asphere/in3d.bd +++ b/examples/USER/brownian/bd_asphere/in3d.brownian @@ -36,7 +36,7 @@ neigh_modify every 1 delay 1 check yes pair_style none -fix 1 all bd/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole compute press all pressure NULL virial diff --git a/examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log b/examples/USER/brownian/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log similarity index 74% rename from examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log rename to examples/USER/brownian/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log index c6926dbccf..21bd04f7da 100644 --- a/examples/USER/misc/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log +++ b/examples/USER/brownian/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log @@ -38,13 +38,13 @@ neigh_modify every 1 delay 1 check yes pair_style none -fix 1 all bd/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/asphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/asphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/asphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/asphere 4 1 7 13 ${seed} rng ${rng} dipole -fix 1 all bd/asphere 4 1 7 13 1974019 rng ${rng} dipole -fix 1 all bd/asphere 4 1 7 13 1974019 rng gaussian dipole +fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 4 1 7 13 ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 4 1 7 13 1974019 rng ${rng} dipole +fix 1 all brownian/asphere 4 1 7 13 1974019 rng gaussian dipole compute press all pressure NULL virial @@ -61,9 +61,9 @@ Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.379 | 5.379 Mbytes Step Temp E_pair c_press 0 1 0 0 50000 1.3923773e+11 0 0 -Loop time of 5.68636 on 1 procs for 50000 steps with 512 atoms +Loop time of 5.61345 on 1 procs for 50000 steps with 512 atoms -Performance: 0.076 tau/day, 8792.977 timesteps/s +Performance: 0.077 tau/day, 8907.171 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: @@ -71,10 +71,10 @@ Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.11589 | 0.11589 | 0.11589 | 0.0 | 2.04 -Output | 2.1155e-05 | 2.1155e-05 | 2.1155e-05 | 0.0 | 0.00 -Modify | 5.4911 | 5.4911 | 5.4911 | 0.0 | 96.57 -Other | | 0.07936 | | | 1.40 +Comm | 0.11822 | 0.11822 | 0.11822 | 0.0 | 2.11 +Output | 2.0199e-05 | 2.0199e-05 | 2.0199e-05 | 0.0 | 0.00 +Modify | 5.4135 | 5.4135 | 5.4135 | 0.0 | 96.44 +Other | | 0.0817 | | | 1.46 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -100,9 +100,8 @@ thermo_style custom step temp epair c_msd[*] c_press # write trajectory and thermo in a log-scale frequency -dump 1 all custom 1000 dump_${params}_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz -dump 1 all custom 1000 dump_gaussian_4_1_7_13_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz -dump_modify 1 first yes sort id +#dump 1 all custom 1000 dump_${params}_3d.lammpstrj id type # x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id timestep 0.00001 thermo 10000 @@ -110,7 +109,7 @@ thermo 10000 # main run run 120000 WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 7.103 | 7.103 | 7.103 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.754 | 5.754 | 5.754 Mbytes Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 0 1.3923773e+11 0 0 0 0 0 0 10000 1413805.2 0 1.3943053 1.4055827 1.4346505 4.2345385 0 @@ -125,20 +124,20 @@ Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 100000 1430838.3 0 14.104796 13.817001 13.596538 41.518335 0 110000 1364246.8 0 15.382464 15.09201 15.017312 45.491785 0 120000 1389237.6 0 16.632972 16.343173 16.015748 48.991892 0 -Loop time of 13.595 on 1 procs for 120000 steps with 512 atoms +Loop time of 13.2439 on 1 procs for 120000 steps with 512 atoms -Performance: 7626.329 tau/day, 8826.770 timesteps/s +Performance: 7828.487 tau/day, 9060.749 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0.00079148 | 0.00079148 | 0.00079148 | 0.0 | 0.01 -Comm | 0.029132 | 0.029132 | 0.029132 | 0.0 | 0.21 -Output | 0.15178 | 0.15178 | 0.15178 | 0.0 | 1.12 -Modify | 13.222 | 13.222 | 13.222 | 0.0 | 97.25 -Other | | 0.1916 | | | 1.41 +Neigh | 0.00075178 | 0.00075178 | 0.00075178 | 0.0 | 0.01 +Comm | 0.0282 | 0.0282 | 0.0282 | 0.0 | 0.21 +Output | 0.00032692 | 0.00032692 | 0.00032692 | 0.0 | 0.00 +Modify | 13.017 | 13.017 | 13.017 | 0.0 | 98.29 +Other | | 0.1976 | | | 1.49 Nlocal: 512.000 ave 512 max 512 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -151,4 +150,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0.0000000 Neighbor list builds = 1110 Dangerous builds = 0 -Total wall time: 0:00:19 +Total wall time: 0:00:18 diff --git a/examples/USER/misc/bd_sphere/README.txt b/examples/USER/brownian/bd_sphere/README.txt similarity index 73% rename from examples/USER/misc/bd_sphere/README.txt rename to examples/USER/brownian/bd_sphere/README.txt index 2f66504581..8987a23601 100644 --- a/examples/USER/misc/bd_sphere/README.txt +++ b/examples/USER/brownian/bd_sphere/README.txt @@ -1,11 +1,11 @@ -The input file in2ddipole.bd demonstrates how to run a 2d simulation -of particles undergoing overdamped brownian motion in both -translational and rotational degrees of freedom. Dipole +The input file in2ddipole.brownian demonstrates how to run a +2d simulation of particles undergoing overdamped brownian motion +in both translational and rotational degrees of freedom. Dipole updating is turned on, so the package DIPOLE must be built for this example to work. -The input file in3d_virial_on.bd demonstrates how to run a -similar simulation but in 3d. In this case, the virial +The input file in3d_virial_on.brownian demonstrates how to run +a similar simulation but in 3d. In this case, the virial contribution of the brownian dynamics (the sum sum_i /(3*volume) where W is a random variable with mean 0 and variance dt) is diff --git a/examples/USER/misc/bd_sphere/in2ddipole.bd b/examples/USER/brownian/bd_sphere/in2ddipole.brownian similarity index 93% rename from examples/USER/misc/bd_sphere/in2ddipole.bd rename to examples/USER/brownian/bd_sphere/in2ddipole.brownian index 1f7898207f..73d90e4ebf 100644 --- a/examples/USER/misc/bd_sphere/in2ddipole.bd +++ b/examples/USER/brownian/bd_sphere/in2ddipole.brownian @@ -38,7 +38,7 @@ pair_style none #compute d all property/atom mux muy muz -fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole fix 2 all enforce2d compute press all pressure NULL virial diff --git a/examples/USER/misc/bd_sphere/in3d_virial_on.bd b/examples/USER/brownian/bd_sphere/in3d_virial_on.brownian similarity index 93% rename from examples/USER/misc/bd_sphere/in3d_virial_on.bd rename to examples/USER/brownian/bd_sphere/in3d_virial_on.brownian index 0e2f02beb0..481d9bc1b4 100644 --- a/examples/USER/misc/bd_sphere/in3d_virial_on.bd +++ b/examples/USER/brownian/bd_sphere/in3d_virial_on.brownian @@ -33,7 +33,7 @@ neigh_modify every 1 delay 1 check yes pair_style none -fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} fix_modify 1 virial yes compute press all pressure NULL virial diff --git a/examples/USER/misc/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log b/examples/USER/brownian/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log similarity index 89% rename from examples/USER/misc/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log rename to examples/USER/brownian/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log index a735ea6baa..b10f77f0cd 100644 --- a/examples/USER/misc/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log +++ b/examples/USER/brownian/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log @@ -13,7 +13,7 @@ Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.29 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 1024 atoms - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.002 seconds mass * 1.0 set type * dipole/random ${seed} 1.0 set type * dipole/random 1974019 1.0 @@ -33,13 +33,13 @@ pair_style none #compute d all property/atom mux muy muz -fix 1 all bd/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/sphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/sphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/sphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole -fix 1 all bd/sphere 4 1 7 13 ${seed} rng ${rng} dipole -fix 1 all bd/sphere 4 1 7 13 1974019 rng ${rng} dipole -fix 1 all bd/sphere 4 1 7 13 1974019 rng gaussian dipole +fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere 4 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere 4 1 ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere 4 1 7 ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere 4 1 7 13 ${seed} rng ${rng} dipole +fix 1 all brownian/sphere 4 1 7 13 1974019 rng ${rng} dipole +fix 1 all brownian/sphere 4 1 7 13 1974019 rng gaussian dipole fix 2 all enforce2d compute press all pressure NULL virial @@ -56,9 +56,9 @@ Per MPI rank memory allocation (min/avg/max) = 4.289 | 4.289 | 4.289 Mbytes Step Temp E_pair c_press 0 1 0 0 50000 7.3671759e+10 0 0 -Loop time of 11.2219 on 1 procs for 50000 steps with 1024 atoms +Loop time of 11.2532 on 1 procs for 50000 steps with 1024 atoms -Performance: 0.038 tau/day, 4455.573 timesteps/s +Performance: 0.038 tau/day, 4443.198 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: @@ -66,10 +66,10 @@ Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.028513 | 0.028513 | 0.028513 | 0.0 | 0.25 -Output | 2.0981e-05 | 2.0981e-05 | 2.0981e-05 | 0.0 | 0.00 -Modify | 11.048 | 11.048 | 11.048 | 0.0 | 98.45 -Other | | 0.1458 | | | 1.30 +Comm | 0.031456 | 0.031456 | 0.031456 | 0.0 | 0.28 +Output | 2.0958e-05 | 2.0958e-05 | 2.0958e-05 | 0.0 | 0.00 +Modify | 11.067 | 11.067 | 11.067 | 0.0 | 98.35 +Other | | 0.1546 | | | 1.37 Nlocal: 1024.00 ave 1024 max 1024 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -96,8 +96,9 @@ thermo_style custom step temp epair c_msd[*] c_press # write trajectory and thermo in a log-scale frequency # uncomment next three lines for dump output -#dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type # x y xu yu mux muy muz fx fy fz -#dump_modify 1 first yes sort id +dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz +dump 1 all custom 2000 dump_gaussian_4_1_7_13_2d.lammpstrj id type x y xu yu mux muy muz fx fy fz +dump_modify 1 first yes sort id timestep 0.00001 thermo 1000 @@ -105,7 +106,7 @@ thermo 1000 # main run run 120000 WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 4.664 | 4.664 | 4.664 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.113 | 6.113 | 6.113 Mbytes Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 0 7.3671759e+10 0 0 0 0 0 0 1000 710744.42 0 0.1332856 0.13577642 0 0.26906203 0 @@ -228,20 +229,20 @@ Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press 118000 745594.37 0 16.838659 17.585392 0 34.424052 0 119000 714487.42 0 17.064214 17.743478 0 34.807692 0 120000 716557.14 0 17.105558 17.845925 0 34.951483 0 -Loop time of 27.2068 on 1 procs for 120000 steps with 1024 atoms +Loop time of 28.1507 on 1 procs for 120000 steps with 1024 atoms -Performance: 3810.806 tau/day, 4410.656 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 3683.037 tau/day, 4262.774 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0.0015633 | 0.0015633 | 0.0015633 | 0.0 | 0.01 -Comm | 0.021682 | 0.021682 | 0.021682 | 0.0 | 0.08 -Output | 0.0032539 | 0.0032539 | 0.0032539 | 0.0 | 0.01 -Modify | 26.802 | 26.802 | 26.802 | 0.0 | 98.51 -Other | | 0.3781 | | | 1.39 +Neigh | 0.0016237 | 0.0016237 | 0.0016237 | 0.0 | 0.01 +Comm | 0.027064 | 0.027064 | 0.027064 | 0.0 | 0.10 +Output | 0.1712 | 0.1712 | 0.1712 | 0.0 | 0.61 +Modify | 27.545 | 27.545 | 27.545 | 0.0 | 97.85 +Other | | 0.4062 | | | 1.44 Nlocal: 1024.00 ave 1024 max 1024 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -256,4 +257,4 @@ Neighbor list builds = 1049 Dangerous builds = 0 -Total wall time: 0:00:38 +Total wall time: 0:00:39 diff --git a/examples/USER/misc/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log b/examples/USER/brownian/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log similarity index 100% rename from examples/USER/misc/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log rename to examples/USER/brownian/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log diff --git a/src/USER-MISC/fix_bd_asphere.cpp b/src/USER-BROWNIAN/fix_brownian_asphere.cpp similarity index 85% rename from src/USER-MISC/fix_bd_asphere.cpp rename to src/USER-BROWNIAN/fix_brownian_asphere.cpp index 88772b9237..123a7a5f5f 100644 --- a/src/USER-MISC/fix_bd_asphere.cpp +++ b/src/USER-BROWNIAN/fix_brownian_asphere.cpp @@ -17,7 +17,7 @@ Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ -#include "fix_bd_asphere.h" +#include "fix_brownian_asphere.h" #include #include @@ -42,7 +42,7 @@ enum{NODIPOLE,DIPOLE}; /* ---------------------------------------------------------------------- */ -FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : +FixBrownianAsphere::FixBrownianAsphere(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { virial_flag = 1; @@ -53,34 +53,34 @@ FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : if (narg > 11 || narg < 8 ) - error->all(FLERR,"Illegal fix bd/asphere command."); + error->all(FLERR,"Illegal fix brownian/asphere command."); if (!atom->sphere_flag) - error->all(FLERR,"Fix bd/asphere requires atom style sphere"); + error->all(FLERR,"Fix brownian/asphere requires atom style sphere"); gamma_t = utils::numeric(FLERR,arg[3],false,lmp); if (gamma_t <= 0.0) - error->all(FLERR,"Fix bd/asphere translational viscous drag " + error->all(FLERR,"Fix brownian/asphere translational viscous drag " "coefficient must be > 0."); gamma_r = utils::numeric(FLERR,arg[4],false,lmp); if (gamma_t <= 0.0) - error->all(FLERR,"Fix bd/asphere rotational viscous drag " + error->all(FLERR,"Fix brownian/asphere rotational viscous drag " "coefficient must be > 0."); diff_t = utils::numeric(FLERR,arg[5],false,lmp); if (diff_t <= 0.0) - error->all(FLERR,"Fix bd/asphere translational diffusion " + error->all(FLERR,"Fix brownian/asphere translational diffusion " "coefficient must be > 0."); diff_r = utils::numeric(FLERR,arg[6],false,lmp); if (diff_r <= 0.0) - error->all(FLERR,"Fix bd/asphere rotational diffusion " + error->all(FLERR,"Fix brownian/asphere rotational diffusion " "coefficient must be > 0."); seed = utils::inumeric(FLERR,arg[7],false,lmp); - if (seed <= 0) error->all(FLERR,"Fix bd/asphere seed must be > 0."); + if (seed <= 0) error->all(FLERR,"Fix brownian/asphere seed must be > 0."); noise_flag = 1; gaussian_noise_flag = 0; @@ -90,7 +90,7 @@ FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"rng") == 0) { if (narg == iarg + 1) { - error->all(FLERR,"Illegal fix/bd/asphere command."); + error->all(FLERR,"Illegal fix/brownian/asphere command."); } if (strcmp(arg[iarg + 1],"uniform") == 0) { noise_flag = 1; @@ -100,19 +100,19 @@ FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg + 1],"none") == 0) { noise_flag = 0; } else { - error->all(FLERR,"Illegal fix/bd/asphere command."); + error->all(FLERR,"Illegal fix/brownian/asphere command."); } iarg = iarg + 2; } else if (strcmp(arg[iarg],"dipole") == 0) { dipole_flag = DIPOLE; iarg = iarg + 1; } else { - error->all(FLERR,"Illegal fix/bd/asphere command."); + error->all(FLERR,"Illegal fix/brownian/asphere command."); } } if (dipole_flag == DIPOLE && !atom->mu_flag) - error->all(FLERR,"Fix bd/asphere dipole requires atom attribute mu"); + error->all(FLERR,"Fix brownian/asphere dipole requires atom attribute mu"); // initialize Marsaglia RNG with processor-unique seed random = new RanMars(lmp,seed + comm->me); @@ -121,7 +121,7 @@ FixBdAsphere::FixBdAsphere(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -int FixBdAsphere::setmask() +int FixBrownianAsphere::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; @@ -131,7 +131,7 @@ int FixBdAsphere::setmask() /* ---------------------------------------------------------------------- */ -FixBdAsphere::~FixBdAsphere() +FixBrownianAsphere::~FixBrownianAsphere() { delete random; } @@ -140,13 +140,13 @@ FixBdAsphere::~FixBdAsphere() /* ---------------------------------------------------------------------- */ -void FixBdAsphere::init() +void FixBrownianAsphere::init() { avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); if (!avec) - error->all(FLERR,"Compute bd/asphere requires " + error->all(FLERR,"Compute brownian/asphere requires " "atom style ellipsoid"); // check that all particles are finite-size ellipsoids @@ -159,7 +159,7 @@ void FixBdAsphere::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) if (ellipsoid[i] < 0) - error->one(FLERR,"Fix bd/asphere requires extended particles"); + error->one(FLERR,"Fix brownian/asphere requires extended particles"); if (dipole_flag == DIPOLE) { @@ -208,7 +208,7 @@ void FixBdAsphere::init() sqrtdt = sqrt(dt); } -void FixBdAsphere::setup(int vflag) +void FixBrownianAsphere::setup(int vflag) { post_force(vflag); } @@ -216,7 +216,7 @@ void FixBdAsphere::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixBdAsphere::initial_integrate(int /* vflag */) +void FixBrownianAsphere::initial_integrate(int /* vflag */) { double **x = atom->x; double **v = atom->v; @@ -313,7 +313,7 @@ void FixBdAsphere::initial_integrate(int /* vflag */) return; } -void FixBdAsphere::update_x_and_omega(double *x, double *v, double *omega, +void FixBrownianAsphere::update_x_and_omega(double *x, double *v, double *omega, double *f, double *torque, int d3rot) { double dx, dy, dz; @@ -341,7 +341,7 @@ void FixBdAsphere::update_x_and_omega(double *x, double *v, double *omega, apply random force, stolen from MISC/fix_efield.cpp ------------------------------------------------------------------------- */ -void FixBdAsphere::post_force(int vflag) +void FixBrownianAsphere::post_force(int vflag) { double **f = atom->f; double **x = atom->x; @@ -384,7 +384,7 @@ void FixBdAsphere::post_force(int vflag) } } -void FixBdAsphere::reset_dt() +void FixBrownianAsphere::reset_dt() { dt = update->dt; diff --git a/src/USER-MISC/fix_bd_asphere.h b/src/USER-BROWNIAN/fix_brownian_asphere.h similarity index 69% rename from src/USER-MISC/fix_bd_asphere.h rename to src/USER-BROWNIAN/fix_brownian_asphere.h index 696b659729..31ccf4fc8b 100644 --- a/src/USER-MISC/fix_bd_asphere.h +++ b/src/USER-BROWNIAN/fix_brownian_asphere.h @@ -13,21 +13,21 @@ #ifdef FIX_CLASS -FixStyle(bd/asphere,FixBdAsphere) +FixStyle(brownian/asphere,FixBrownianAsphere) #else -#ifndef LMP_FIX_BD_ASPHERE_H -#define LMP_FIX_BD_ASPHERE_H +#ifndef LMP_FIX_BROWNIAN_ASPHERE_H +#define LMP_FIX_BROWNIAN_ASPHERE_H #include "fix.h" namespace LAMMPS_NS { -class FixBdAsphere : public Fix { +class FixBrownianAsphere : public Fix { public: - FixBdAsphere(class LAMMPS *, int, char **); - virtual ~FixBdAsphere(); + FixBrownianAsphere(class LAMMPS *, int, char **); + virtual ~FixBrownianAsphere(); void init(); void initial_integrate(int); void setup(int); @@ -66,38 +66,38 @@ protected: /* ERROR/WARNING messages: -E: Illegal fix bd/asphere command. +E: Illegal fix brownian/asphere command. Wrong number/type of input arguments. -E: Compute bd/asphere requires atom style sphere +E: Compute brownian/asphere requires atom style sphere Self-explanatory. -E: Compute bd/asphere requires atom style ellipsoid +E: Compute brownian/asphere requires atom style ellipsoid Self-explanatory. -E: Compute bd/asphere dipole requires atom attribute mu +E: Compute brownian/asphere dipole requires atom attribute mu Self-explanatory. -E: Fix bd/asphere translational viscous drag coefficient must be > 0. +E: Fix brownian/asphere translational viscous drag coefficient must be > 0. Self-explanatory. -E: Fix bd/asphere rotational viscous drag coefficient must be > 0. +E: Fix brownian/asphere rotational viscous drag coefficient must be > 0. Self-explanatory. -E: Fix bd/asphere translational diffusion coefficient must be > 0. +E: Fix brownian/asphere translational diffusion coefficient must be > 0. Self-explanatory. -E: Fix bd/asphere rotational diffusion coefficient must be > 0. +E: Fix brownian/asphere rotational diffusion coefficient must be > 0. Self-explanatory. -E: Fix bd/asphere seed must be > 0. +E: Fix brownian/asphere seed must be > 0. */ diff --git a/src/USER-MISC/fix_bd_sphere.cpp b/src/USER-BROWNIAN/fix_brownian_sphere.cpp similarity index 85% rename from src/USER-MISC/fix_bd_sphere.cpp rename to src/USER-BROWNIAN/fix_brownian_sphere.cpp index cc3c788349..c3e0cd2457 100644 --- a/src/USER-MISC/fix_bd_sphere.cpp +++ b/src/USER-BROWNIAN/fix_brownian_sphere.cpp @@ -17,7 +17,7 @@ Contributing author: Sam Cameron (University of Bristol) ------------------------------------------------------------------------- */ -#include "fix_bd_sphere.h" +#include "fix_brownian_sphere.h" #include #include @@ -41,7 +41,7 @@ enum{NONE,DIPOLE}; /* ---------------------------------------------------------------------- */ -FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : +FixBrownianSphere::FixBrownianSphere(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { virial_flag = 1; @@ -51,34 +51,34 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : extra = NONE; if (narg > 11 || narg < 8 ) - error->all(FLERR,"Illegal fix bd/sphere command."); + error->all(FLERR,"Illegal fix brownian/sphere command."); if (!atom->sphere_flag) - error->all(FLERR,"Fix bd/sphere requires atom style sphere"); + error->all(FLERR,"Fix brownian/sphere requires atom style sphere"); gamma_t = utils::numeric(FLERR,arg[3],false,lmp); if (gamma_t <= 0.0) - error->all(FLERR,"Fix bd/sphere translational viscous drag " + error->all(FLERR,"Fix brownian/sphere translational viscous drag " "coefficient must be > 0."); gamma_r = utils::numeric(FLERR,arg[4],false,lmp); if (gamma_t <= 0.0) - error->all(FLERR,"Fix bd/sphere rotational viscous drag " + error->all(FLERR,"Fix brownian/sphere rotational viscous drag " "coefficient must be > 0."); diff_t = utils::numeric(FLERR,arg[5],false,lmp); if (diff_t <= 0.0) - error->all(FLERR,"Fix bd/sphere translational diffusion " + error->all(FLERR,"Fix brownian/sphere translational diffusion " "coefficient must be > 0."); diff_r = utils::numeric(FLERR,arg[6],false,lmp); if (diff_r <= 0.0) - error->all(FLERR,"Fix bd/sphere rotational diffusion " + error->all(FLERR,"Fix brownian/sphere rotational diffusion " "coefficient must be > 0."); seed = utils::inumeric(FLERR,arg[7],false,lmp); - if (seed <= 0) error->all(FLERR,"Fix bd/sphere seed must be > 0."); + if (seed <= 0) error->all(FLERR,"Fix brownian/sphere seed must be > 0."); noise_flag = 1; gaussian_noise_flag = 0; @@ -88,7 +88,7 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"rng") == 0) { if (narg == iarg + 1) { - error->all(FLERR,"Illegal fix/bd/sphere command."); + error->all(FLERR,"Illegal fix/brownian/sphere command."); } if (strcmp(arg[iarg + 1],"uniform") == 0) { noise_flag = 1; @@ -98,19 +98,19 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg + 1],"none") == 0) { noise_flag = 0; } else { - error->all(FLERR,"Illegal fix/bd/sphere command."); + error->all(FLERR,"Illegal fix/brownian/sphere command."); } iarg = iarg + 2; } else if (strcmp(arg[iarg],"dipole") == 0) { extra = DIPOLE; iarg = iarg + 1; } else { - error->all(FLERR,"Illegal fix/bd/sphere command."); + error->all(FLERR,"Illegal fix/brownian/sphere command."); } } if (extra == DIPOLE && !atom->mu_flag) - error->all(FLERR,"Fix bd/sphere update dipole requires atom attribute mu"); + error->all(FLERR,"Fix brownian/sphere update dipole requires atom attribute mu"); // initialize Marsaglia RNG with processor-unique seed random = new RanMars(lmp,seed + comm->me); @@ -119,7 +119,7 @@ FixBdSphere::FixBdSphere(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -int FixBdSphere::setmask() +int FixBrownianSphere::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; @@ -129,7 +129,7 @@ int FixBdSphere::setmask() /* ---------------------------------------------------------------------- */ -FixBdSphere::~FixBdSphere() +FixBrownianSphere::~FixBrownianSphere() { delete random; } @@ -138,7 +138,7 @@ FixBdSphere::~FixBdSphere() /* ---------------------------------------------------------------------- */ -void FixBdSphere::init() +void FixBrownianSphere::init() { g1 = force->ftm2v/gamma_t; @@ -161,14 +161,14 @@ void FixBdSphere::init() sqrtdt = sqrt(dt); } -void FixBdSphere::setup(int vflag) +void FixBrownianSphere::setup(int vflag) { post_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixBdSphere::initial_integrate(int /* vflag */) +void FixBrownianSphere::initial_integrate(int /* vflag */) { double **x = atom->x; double **v = atom->v; @@ -270,7 +270,7 @@ void FixBdSphere::initial_integrate(int /* vflag */) apply random force, stolen from MISC/fix_efield.cpp ------------------------------------------------------------------------- */ -void FixBdSphere::post_force(int vflag) +void FixBrownianSphere::post_force(int vflag) { double **f = atom->f; double **x = atom->x; @@ -313,7 +313,7 @@ void FixBdSphere::post_force(int vflag) } } -void FixBdSphere::reset_dt() +void FixBrownianSphere::reset_dt() { dt = update->dt; diff --git a/src/USER-MISC/fix_bd_sphere.h b/src/USER-BROWNIAN/fix_brownian_sphere.h similarity index 70% rename from src/USER-MISC/fix_bd_sphere.h rename to src/USER-BROWNIAN/fix_brownian_sphere.h index 8a3df214a6..8d30001fdd 100644 --- a/src/USER-MISC/fix_bd_sphere.h +++ b/src/USER-BROWNIAN/fix_brownian_sphere.h @@ -13,21 +13,21 @@ #ifdef FIX_CLASS -FixStyle(bd/sphere,FixBdSphere) +FixStyle(brownian/sphere,FixBrownianSphere) #else -#ifndef LMP_FIX_BD_SPHERE_H -#define LMP_FIX_BD_SPHERE_H +#ifndef LMP_FIX_BROWNIAN_SPHERE_H +#define LMP_FIX_BROWNIAN_SPHERE_H #include "fix.h" namespace LAMMPS_NS { -class FixBdSphere : public Fix { +class FixBrownianSphere : public Fix { public: - FixBdSphere(class LAMMPS *, int, char **); - virtual ~FixBdSphere(); + FixBrownianSphere(class LAMMPS *, int, char **); + virtual ~FixBrownianSphere(); void init(); void initial_integrate(int); void setup(int); @@ -61,34 +61,34 @@ protected: /* ERROR/WARNING messages: -E: Illegal fix bd/sphere command. +E: Illegal fix brownian/sphere command. Wrong number/type of input arguments. -E: Compute bd/sphere requires atom style sphere +E: Compute brownian/sphere requires atom style sphere Self-explanatory. -E: Compute bd/sphere requires atom attribute mu +E: Compute brownian/sphere requires atom attribute mu Self-explanatory. -E: Fix bd/sphere translational viscous drag coefficient must be > 0. +E: Fix brownian/sphere translational viscous drag coefficient must be > 0. Self-explanatory. -E: Fix bd/sphere rotational viscous drag coefficient must be > 0. +E: Fix brownian/sphere rotational viscous drag coefficient must be > 0. Self-explanatory. -E: Fix bd/sphere translational diffusion coefficient must be > 0. +E: Fix brownian/sphere translational diffusion coefficient must be > 0. Self-explanatory. -E: Fix bd/sphere rotational diffusion coefficient must be > 0. +E: Fix brownian/sphere rotational diffusion coefficient must be > 0. Self-explanatory. -E: Fix bd/sphere seed must be > 0. +E: Fix brownian/sphere seed must be > 0. */ diff --git a/src/USER-MISC/README b/src/USER-MISC/README index ac41d60dfd..538fdb7952 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -53,8 +53,6 @@ dihedral_style table/cut, Mike Salerno, ksalerno@pha.jhu.edu, 11 May 18 fix accelerate/cos, Zheng Gong (ENS de Lyon), z.gong@outlook.com, 24 Apr 20 fix addtorque, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 fix ave/correlate/long, Jorge Ramirez (UPM Madrid), jorge.ramirez at upm.es, 21 Oct 2015 -fix bd/sphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 13 Dec 2020 -fix bd/asphere, Sam Cameron (U of Bristol), samuel.j.m.cameron at gmail.com, 13 Dec 2020 fix electron/stopping/fit, James Stewart (SNL), jstewa .at. sandia.gov, 23 Sep 2020 fix electron/stopping, Konstantin Avchaciov, k.avchachov at gmail.com, 26 Feb 2019 fix ffl, David Wilkins (EPFL Lausanne), david.wilkins @ epfl.ch, 28 Sep 2018 diff --git a/unittest/force-styles/tests/data.bdsphere b/unittest/force-styles/tests/data.brownian similarity index 100% rename from unittest/force-styles/tests/data.bdsphere rename to unittest/force-styles/tests/data.brownian diff --git a/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml b/unittest/force-styles/tests/fix-timestep-brownian.yaml similarity index 97% rename from unittest/force-styles/tests/fix-timestep-bd_sphere.yaml rename to unittest/force-styles/tests/fix-timestep-brownian.yaml index b69f37e206..76477d874e 100644 --- a/unittest/force-styles/tests/fix-timestep-bd_sphere.yaml +++ b/unittest/force-styles/tests/fix-timestep-brownian.yaml @@ -4,12 +4,12 @@ date_generated: Tue Dec 08 12:28:40 2020 epsilon: 1e-12 prerequisites: ! | atom hybrid dipole sphere - fix bd_sphere + fix brownian/sphere pre_commands: ! "" post_commands: ! | - fix test solute bd_sphere 1.0 1.0 1.0 1.0 1049270 dipole + fix test solute brownian/sphere 1.0 1.0 1.0 1.0 1049270 dipole fix_modify test virial yes -input_file: in.bdsphere +input_file: in.brownian natoms: 32 run_pos: ! |2 1 0.8198132185477983 -1.5120221815010249 1.069236010215717 diff --git a/unittest/force-styles/tests/in.bdsphere b/unittest/force-styles/tests/in.brownian similarity index 88% rename from unittest/force-styles/tests/in.bdsphere rename to unittest/force-styles/tests/in.brownian index 1fb583f51d..cf85742e59 100644 --- a/unittest/force-styles/tests/in.bdsphere +++ b/unittest/force-styles/tests/in.brownian @@ -2,7 +2,7 @@ variable newton_pair index on variable newton_bond index on variable units index lj variable input_dir index . -variable data_file index ${input_dir}/data.bdsphere +variable data_file index ${input_dir}/data.brownian variable pair_style index 'zero 8.0' atom_style hybrid dipole sphere From a9c6d6f117a72829823b2a3f99ceca8992086a71 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 14:11:46 -0700 Subject: [PATCH 042/542] Removing temporary utilities --- src/compute_property_local.cpp | 48 ++--- src/pair_full_print.cpp | 341 --------------------------------- src/pair_full_print.h | 72 ------- 3 files changed, 15 insertions(+), 446 deletions(-) delete mode 100644 src/pair_full_print.cpp delete mode 100644 src/pair_full_print.h diff --git a/src/compute_property_local.cpp b/src/compute_property_local.cpp index fd0391831c..651e1190b1 100644 --- a/src/compute_property_local.cpp +++ b/src/compute_property_local.cpp @@ -35,7 +35,7 @@ enum{TYPE,RADIUS}; ComputePropertyLocal::ComputePropertyLocal(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - vlocal(nullptr), alocal(nullptr), indices(nullptr), pack_choice(nullptr) + vlocal(NULL), alocal(NULL), indices(NULL), pack_choice(NULL) { if (narg < 4) error->all(FLERR,"Illegal compute property/local command"); @@ -233,7 +233,7 @@ ComputePropertyLocal::ComputePropertyLocal(LAMMPS *lmp, int narg, char **arg) : // error check - if (atom->molecular == Atom::TEMPLATE && (kindflag == BOND || kindflag == ANGLE || + if (atom->molecular == 2 && (kindflag == BOND || kindflag == ANGLE || kindflag == DIHEDRAL || kindflag == IMPROPER)) error->all(FLERR,"Compute property/local does not (yet) work " "with atom_style template"); @@ -254,8 +254,8 @@ ComputePropertyLocal::ComputePropertyLocal(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute property/local requires atom attribute radius"); nmax = 0; - vlocal = nullptr; - alocal = nullptr; + vlocal = NULL; + alocal = NULL; } /* ---------------------------------------------------------------------- */ @@ -273,7 +273,7 @@ ComputePropertyLocal::~ComputePropertyLocal() void ComputePropertyLocal::init() { if (kindflag == NEIGH || kindflag == PAIR) { - if (force->pair == nullptr) + if (force->pair == NULL) error->all(FLERR,"No pair style is defined for compute property/local"); if (force->pair->single_enable == 0) error->all(FLERR,"Pair style does not support compute property/local"); @@ -665,16 +665,12 @@ double ComputePropertyLocal::memory_usage() void ComputePropertyLocal::pack_patom1(int n) { - int i,j; + int i; tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { i = indices[m][0]; - j = indices[m][1]; - if(tag[i] < tag[j]) - buf[n] = tag[i]; - else - buf[n] = tag[j]; + buf[n] = tag[i]; n += nvalues; } } @@ -683,16 +679,12 @@ void ComputePropertyLocal::pack_patom1(int n) void ComputePropertyLocal::pack_patom2(int n) { - int i,j; + int i; tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { - i = indices[m][0]; - j = indices[m][1]; - if(tag[i] > tag[j]) - buf[n] = tag[i]; - else - buf[n] = tag[j]; + i = indices[m][1]; + buf[n] = tag[i]; n += nvalues; } } @@ -701,17 +693,12 @@ void ComputePropertyLocal::pack_patom2(int n) void ComputePropertyLocal::pack_ptype1(int n) { - int i,j; + int i; int *type = atom->type; - tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { i = indices[m][0]; - j = indices[m][1]; - if(tag[i] < tag[j]) - buf[n] = type[i]; - else - buf[n] = type[j]; + buf[n] = type[i]; n += nvalues; } } @@ -720,17 +707,12 @@ void ComputePropertyLocal::pack_ptype1(int n) void ComputePropertyLocal::pack_ptype2(int n) { - int i,j; + int i; int *type = atom->type; - tagint *tag = atom->tag; for (int m = 0; m < ncount; m++) { - i = indices[m][0]; - j = indices[m][1]; - if(tag[i] > tag[j]) - buf[n] = type[i]; - else - buf[n] = type[j]; + i = indices[m][1]; + buf[n] = type[i]; n += nvalues; } } diff --git a/src/pair_full_print.cpp b/src/pair_full_print.cpp deleted file mode 100644 index bf42a81288..0000000000 --- a/src/pair_full_print.cpp +++ /dev/null @@ -1,341 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "pair_full_print.h" - -#include -#include -#include "atom.h" -#include "comm.h" -#include "force.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "neighbor.h" -#include "math_const.h" -#include "memory.h" -#include "error.h" - - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -PairFullPrint::PairFullPrint(LAMMPS *lmp) : Pair(lmp) -{ - writedata = 1; -} - -/* ---------------------------------------------------------------------- */ - -PairFullPrint::~PairFullPrint() -{ - if (allocated) { - memory->destroy(setflag); - memory->destroy(cutsq); - - memory->destroy(prefactor); - memory->destroy(cut); - } -} - -/* ---------------------------------------------------------------------- */ - -void PairFullPrint::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double r,rsq,arg,factor_lj; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = 0.0; - ev_init(eflag,vflag); - - double **x = atom->x; - double **f = atom->f; - tagint *tag = atom->tag; - int *type = atom->type; - int nlocal = atom->nlocal; - double *special_lj = force->special_lj; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // loop over neighbors of my atoms - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - factor_lj = special_lj[sbmask(j)]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - jtype = type[j]; - - if (rsq < cutsq[itype][jtype]) { - printf("NLIST %d %d %d %d\n", tag[i], tag[j], type[i], type[j]); - r = sqrt(rsq); - arg = MY_PI*r/cut[itype][jtype]; - if (r > 0.0) fpair = factor_lj * prefactor[itype][jtype] * - sin(arg) * MY_PI/cut[itype][jtype]/r; - else fpair = 0.0; - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - - if (eflag) - evdwl = factor_lj * prefactor[itype][jtype] * (1.0+cos(arg)); - - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); - } - } - } - - if (vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairFullPrint::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - - memory->create(prefactor,n+1,n+1,"pair:prefactor"); - memory->create(cut,n+1,n+1,"pair:cut"); -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairFullPrint::settings(int narg, char **arg) -{ - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - - cut_global = utils::numeric(FLERR,arg[0],false,lmp); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type pairs -------------------------------------------------------------------------- */ - -void PairFullPrint::coeff(int narg, char **arg) -{ - if (narg < 3 || narg > 4) - error->all(FLERR,"Incorrect args for pair coefficients"); - if (!allocated) allocate(); - - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - - double prefactor_one = utils::numeric(FLERR,arg[2],false,lmp); - - double cut_one = cut_global; - if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - prefactor[i][j] = prefactor_one; - cut[i][j] = cut_one; - setflag[i][j] = 1; - count++; - } - } - - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); -} - -/* ---------------------------------------------------------------------- - init specific to this pair style - ------------------------------------------------------------------------- */ - -void PairFullPrint::init_style() { - // need a full neighbor list - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; -} - - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairFullPrint::init_one(int i, int j) -{ - // always mix prefactors geometrically - - if (setflag[i][j] == 0) { - prefactor[i][j] = sqrt(prefactor[i][i]*prefactor[j][j]); - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } - - prefactor[j][i] = prefactor[i][j]; - cut[j][i] = cut[i][j]; - - return cut[i][j]; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairFullPrint::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&prefactor[i][j],sizeof(double),1,fp); - fwrite(&cut[i][j],sizeof(double),1,fp); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairFullPrint::read_restart(FILE *fp) -{ - read_restart_settings(fp); - - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - utils::sfread(FLERR,&prefactor[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&prefactor[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairFullPrint::write_restart_settings(FILE *fp) -{ - fwrite(&cut_global,sizeof(double),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairFullPrint::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); - } - MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} - -/* ---------------------------------------------------------------------- - proc 0 writes to data file -------------------------------------------------------------------------- */ - -void PairFullPrint::write_data(FILE *fp) -{ - for (int i = 1; i <= atom->ntypes; i++) - fprintf(fp,"%d %g\n",i,prefactor[i][i]); -} - -/* ---------------------------------------------------------------------- - proc 0 writes all pairs to data file -------------------------------------------------------------------------- */ - -void PairFullPrint::write_data_all(FILE *fp) -{ - for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++) - fprintf(fp,"%d %d %g %g\n",i,j,prefactor[i][j],cut[i][j]); -} - -/* ---------------------------------------------------------------------- */ - -double PairFullPrint::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double /*factor_coul*/, double factor_lj, - double &fforce) -{ - double r,arg,philj; - - r = sqrt(rsq); - arg = MY_PI*r/cut[itype][jtype]; - fforce = factor_lj * prefactor[itype][jtype] * - sin(arg) * MY_PI/cut[itype][jtype]/r; - - philj = prefactor[itype][jtype] * (1.0+cos(arg)); - return factor_lj*philj; -} - -/* ---------------------------------------------------------------------- */ - -void *PairFullPrint::extract(const char *str, int &dim) -{ - dim = 2; - if (strcmp(str,"a") == 0) return (void *) prefactor; - return nullptr; -} diff --git a/src/pair_full_print.h b/src/pair_full_print.h deleted file mode 100644 index 31b51f4e97..0000000000 --- a/src/pair_full_print.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(full/print,PairFullPrint) - -#else - -#ifndef LMP_PAIR_FULL_PRINT_H -#define LMP_PAIR_FULL_PRINT_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairFullPrint : public Pair { - friend class Pair; - - public: - PairFullPrint(class LAMMPS *); - virtual ~PairFullPrint(); - void init_style(); - virtual void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - double init_one(int, int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - void write_data(FILE *); - void write_data_all(FILE *); - double single(int, int, int, int, double, double, double, double &); - void *extract(const char *, int &); - - protected: - double cut_global; - double **prefactor; - double **cut; - - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -*/ From 0549da668d1556dddcd49c5f031732ff82dda0ca Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 16:06:47 -0700 Subject: [PATCH 043/542] Renaming multi->multi/old, updating lmpcite --- ...i_omp.cpp => npair_full_multi_old_omp.cpp} | 6 +-- ...multi_omp.h => npair_full_multi_old_omp.h} | 16 +++---- ...p => npair_half_multi_old_newtoff_omp.cpp} | 6 +-- ...p.h => npair_half_multi_old_newtoff_omp.h} | 16 +++---- ...pp => npair_half_multi_old_newton_omp.cpp} | 6 +-- ...mp.h => npair_half_multi_old_newton_omp.h} | 16 +++---- ...> npair_half_multi_old_newton_tri_omp.cpp} | 6 +-- ... => npair_half_multi_old_newton_tri_omp.h} | 16 +++---- .../npair_half_size_multi_newton_omp.h | 43 ----------------- .../npair_half_size_multi_newton_tri_omp.h | 43 ----------------- ...npair_half_size_multi_old_newtoff_omp.cpp} | 6 +-- ...> npair_half_size_multi_old_newtoff_omp.h} | 16 +++---- ... npair_half_size_multi_old_newton_omp.cpp} | 6 +-- .../npair_half_size_multi_old_newton_omp.h | 43 +++++++++++++++++ ...ir_half_size_multi_old_newton_tri_omp.cpp} | 6 +-- ...npair_half_size_multi_old_newton_tri_omp.h | 43 +++++++++++++++++ src/USER-OMP/npair_halffull_newtoff_omp.h | 4 +- src/USER-OMP/npair_halffull_newton_omp.h | 4 +- src/USER-OMP/npair_skip_omp.h | 12 ++--- src/comm.h | 2 +- src/nbin_standard.cpp | 2 +- src/neighbor.cpp | 41 +++++++++++++---- src/neighbor.h | 10 ++-- ...ull_multi.cpp => npair_full_multi_old.cpp} | 6 +-- ...ir_full_multi.h => npair_full_multi_old.h} | 16 +++---- ...f.cpp => npair_half_multi_old_newtoff.cpp} | 6 +-- ...ewton.h => npair_half_multi_old_newtoff.h} | 16 +++---- ...on.cpp => npair_half_multi_old_newton.cpp} | 6 +-- ...ewtoff.h => npair_half_multi_old_newton.h} | 16 +++---- ...pp => npair_half_multi_old_newton_tri.cpp} | 6 +-- ...ri.h => npair_half_multi_old_newton_tri.h} | 16 +++---- src/npair_half_size_multi_newtoff.h | 46 ------------------- src/npair_half_size_multi_newton.h | 46 ------------------- src/npair_half_size_multi_newton_tri.h | 46 ------------------- ... => npair_half_size_multi_old_newtoff.cpp} | 6 +-- src/npair_half_size_multi_old_newtoff.h | 46 +++++++++++++++++++ ...p => npair_half_size_multi_old_newton.cpp} | 6 +-- src/npair_half_size_multi_old_newton.h | 46 +++++++++++++++++++ ... npair_half_size_multi_old_newton_tri.cpp} | 8 ++-- src/npair_half_size_multi_old_newton_tri.h | 46 +++++++++++++++++++ src/npair_halffull_newtoff.h | 8 ++-- src/npair_halffull_newton.h | 4 +- src/npair_skip.h | 4 +- src/npair_skip_respa.h | 2 +- src/npair_skip_size.h | 2 +- src/npair_skip_size_off2on.h | 2 +- src/npair_skip_size_off2on_oneside.h | 2 +- 47 files changed, 399 insertions(+), 378 deletions(-) rename src/USER-OMP/{npair_full_multi_omp.cpp => npair_full_multi_old_omp.cpp} (96%) rename src/USER-OMP/{npair_full_multi_omp.h => npair_full_multi_old_omp.h} (73%) rename src/USER-OMP/{npair_half_multi_newtoff_omp.cpp => npair_half_multi_old_newtoff_omp.cpp} (95%) rename src/USER-OMP/{npair_half_multi_newton_tri_omp.h => npair_half_multi_old_newtoff_omp.h} (67%) rename src/USER-OMP/{npair_half_multi_newton_omp.cpp => npair_half_multi_old_newton_omp.cpp} (96%) rename src/USER-OMP/{npair_half_multi_newton_omp.h => npair_half_multi_old_newton_omp.h} (68%) rename src/USER-OMP/{npair_half_multi_newton_tri_omp.cpp => npair_half_multi_old_newton_tri_omp.cpp} (96%) rename src/USER-OMP/{npair_half_multi_newtoff_omp.h => npair_half_multi_old_newton_tri_omp.h} (67%) delete mode 100644 src/USER-OMP/npair_half_size_multi_newton_omp.h delete mode 100644 src/USER-OMP/npair_half_size_multi_newton_tri_omp.h rename src/USER-OMP/{npair_half_size_multi_newtoff_omp.cpp => npair_half_size_multi_old_newtoff_omp.cpp} (95%) rename src/USER-OMP/{npair_half_size_multi_newtoff_omp.h => npair_half_size_multi_old_newtoff_omp.h} (67%) rename src/USER-OMP/{npair_half_size_multi_newton_omp.cpp => npair_half_size_multi_old_newton_omp.cpp} (95%) create mode 100644 src/USER-OMP/npair_half_size_multi_old_newton_omp.h rename src/USER-OMP/{npair_half_size_multi_newton_tri_omp.cpp => npair_half_size_multi_old_newton_tri_omp.cpp} (95%) create mode 100644 src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h rename src/{npair_full_multi.cpp => npair_full_multi_old.cpp} (96%) rename src/{npair_full_multi.h => npair_full_multi_old.h} (73%) rename src/{npair_half_multi_newtoff.cpp => npair_half_multi_old_newtoff.cpp} (95%) rename src/{npair_half_multi_newton.h => npair_half_multi_old_newtoff.h} (71%) rename src/{npair_half_multi_newton.cpp => npair_half_multi_old_newton.cpp} (96%) rename src/{npair_half_multi_newtoff.h => npair_half_multi_old_newton.h} (72%) rename src/{npair_half_multi_newton_tri.cpp => npair_half_multi_old_newton_tri.cpp} (96%) rename src/{npair_half_multi_newton_tri.h => npair_half_multi_old_newton_tri.h} (70%) delete mode 100644 src/npair_half_size_multi_newtoff.h delete mode 100644 src/npair_half_size_multi_newton.h delete mode 100644 src/npair_half_size_multi_newton_tri.h rename src/{npair_half_size_multi_newtoff.cpp => npair_half_size_multi_old_newtoff.cpp} (94%) create mode 100644 src/npair_half_size_multi_old_newtoff.h rename src/{npair_half_size_multi_newton.cpp => npair_half_size_multi_old_newton.cpp} (95%) create mode 100644 src/npair_half_size_multi_old_newton.h rename src/{npair_half_size_multi_newton_tri.cpp => npair_half_size_multi_old_newton_tri.cpp} (92%) create mode 100644 src/npair_half_size_multi_old_newton_tri.h diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/USER-OMP/npair_full_multi_old_omp.cpp similarity index 96% rename from src/USER-OMP/npair_full_multi_omp.cpp rename to src/USER-OMP/npair_full_multi_old_omp.cpp index ce17b4a5a9..ef4c4ef5e4 100644 --- a/src/USER-OMP/npair_full_multi_omp.cpp +++ b/src/USER-OMP/npair_full_multi_old_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_full_multi_omp.h" +#include "npair_full_multi_old_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairFullMultiOmp::NPairFullMultiOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairFullMultiOldOmp::NPairFullMultiOldOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors @@ -34,7 +34,7 @@ NPairFullMultiOmp::NPairFullMultiOmp(LAMMPS *lmp) : NPair(lmp) {} every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ -void NPairFullMultiOmp::build(NeighList *list) +void NPairFullMultiOldOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; diff --git a/src/USER-OMP/npair_full_multi_omp.h b/src/USER-OMP/npair_full_multi_old_omp.h similarity index 73% rename from src/USER-OMP/npair_full_multi_omp.h rename to src/USER-OMP/npair_full_multi_old_omp.h index 882e649183..2c1711f257 100644 --- a/src/USER-OMP/npair_full_multi_omp.h +++ b/src/USER-OMP/npair_full_multi_old_omp.h @@ -13,24 +13,24 @@ #ifdef NPAIR_CLASS -NPairStyle(full/multi/omp, - NPairFullMultiOmp, - NP_FULL | NP_MULTI | NP_OMP | +NPairStyle(full/multi/old/omp, + NPairFullMultiOldOmp, + NP_FULL | NP_MULTI_OLD | NP_OMP | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_FULL_MULTI_OMP_H -#define LMP_NPAIR_FULL_MULTI_OMP_H +#ifndef LMP_NPAIR_FULL_MULTI_OLD_OMP_H +#define LMP_NPAIR_FULL_MULTI_OLD_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairFullMultiOmp : public NPair { +class NPairFullMultiOldOmp : public NPair { public: - NPairFullMultiOmp(class LAMMPS *); - ~NPairFullMultiOmp() {} + NPairFullMultiOldOmp(class LAMMPS *); + ~NPairFullMultiOldOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp similarity index 95% rename from src/USER-OMP/npair_half_multi_newtoff_omp.cpp rename to src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp index 2bc90838d6..2839ebfa14 100644 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi_newtoff_omp.h" +#include "npair_half_multi_old_newtoff_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewtoffOmp::NPairHalfMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiOldNewtoffOmp::NPairHalfMultiOldNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law @@ -36,7 +36,7 @@ NPairHalfMultiNewtoffOmp::NPairHalfMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfMultiNewtoffOmp::build(NeighList *list) +void NPairHalfMultiOldNewtoffOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.h b/src/USER-OMP/npair_half_multi_old_newtoff_omp.h similarity index 67% rename from src/USER-OMP/npair_half_multi_newton_tri_omp.h rename to src/USER-OMP/npair_half_multi_old_newtoff_omp.h index 80faf8188f..0487be35ef 100644 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.h +++ b/src/USER-OMP/npair_half_multi_old_newtoff_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newton/tri/omp, - NPairHalfMultiNewtonTriOmp, - NP_HALF | NP_MULTI | NP_NEWTON | NP_TRI | NP_OMP) +NPairStyle(half/multi/old/newtoff/omp, + NPairHalfMultiOldNewtoffOmp, + NP_HALF | NP_MULTI_OLD | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_TRI_OMP_H -#define LMP_NPAIR_HALF_MULTI_NEWTON_TRI_OMP_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTOFF_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewtonTriOmp : public NPair { +class NPairHalfMultiOldNewtoffOmp : public NPair { public: - NPairHalfMultiNewtonTriOmp(class LAMMPS *); - ~NPairHalfMultiNewtonTriOmp() {} + NPairHalfMultiOldNewtoffOmp(class LAMMPS *); + ~NPairHalfMultiOldNewtoffOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_old_newton_omp.cpp similarity index 96% rename from src/USER-OMP/npair_half_multi_newton_omp.cpp rename to src/USER-OMP/npair_half_multi_old_newton_omp.cpp index dbaad2adec..bc77cc518b 100644 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newton_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi_newton_omp.h" +#include "npair_half_multi_old_newton_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewtonOmp::NPairHalfMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiOldNewtonOmp::NPairHalfMultiOldNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law @@ -35,7 +35,7 @@ NPairHalfMultiNewtonOmp::NPairHalfMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMultiNewtonOmp::build(NeighList *list) +void NPairHalfMultiOldNewtonOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.h b/src/USER-OMP/npair_half_multi_old_newton_omp.h similarity index 68% rename from src/USER-OMP/npair_half_multi_newton_omp.h rename to src/USER-OMP/npair_half_multi_old_newton_omp.h index 85df36bb09..145ef9d0be 100644 --- a/src/USER-OMP/npair_half_multi_newton_omp.h +++ b/src/USER-OMP/npair_half_multi_old_newton_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newton/omp, - NPairHalfMultiNewtonOmp, - NP_HALF | NP_MULTI | NP_NEWTON | NP_OMP | NP_ORTHO) +NPairStyle(half/multi/old/newton/omp, + NPairHalfMultiOldNewtonOmp, + NP_HALF | NP_MULTI_OLD | NP_NEWTON | NP_OMP | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_OMP_H -#define LMP_NPAIR_HALF_MULTI_NEWTON_OMP_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTON_OMP_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTON_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewtonOmp : public NPair { +class NPairHalfMultiOldNewtonOmp : public NPair { public: - NPairHalfMultiNewtonOmp(class LAMMPS *); - ~NPairHalfMultiNewtonOmp() {} + NPairHalfMultiOldNewtonOmp(class LAMMPS *); + ~NPairHalfMultiOldNewtonOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp similarity index 96% rename from src/USER-OMP/npair_half_multi_newton_tri_omp.cpp rename to src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp index dd219a616e..3d5a577396 100644 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi_newton_tri_omp.h" +#include "npair_half_multi_old_newton_tri_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewtonTriOmp::NPairHalfMultiNewtonTriOmp(LAMMPS *lmp) : +NPairHalfMultiOldNewtonTriOmp::NPairHalfMultiOldNewtonTriOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -36,7 +36,7 @@ NPairHalfMultiNewtonTriOmp::NPairHalfMultiNewtonTriOmp(LAMMPS *lmp) : every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMultiNewtonTriOmp::build(NeighList *list) +void NPairHalfMultiOldNewtonTriOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.h b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.h similarity index 67% rename from src/USER-OMP/npair_half_multi_newtoff_omp.h rename to src/USER-OMP/npair_half_multi_old_newton_tri_omp.h index a7aebf6579..29bb456570 100644 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.h +++ b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newtoff/omp, - NPairHalfMultiNewtoffOmp, - NP_HALF | NP_MULTI | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) +NPairStyle(half/multi/old/newton/tri/omp, + NPairHalfMultiOldNewtonTriOmp, + NP_HALF | NP_MULTI_OLD | NP_NEWTON | NP_TRI | NP_OMP) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTOFF_OMP_H -#define LMP_NPAIR_HALF_MULTI_NEWTOFF_OMP_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTON_TRI_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewtoffOmp : public NPair { +class NPairHalfMultiOldNewtonTriOmp : public NPair { public: - NPairHalfMultiNewtoffOmp(class LAMMPS *); - ~NPairHalfMultiNewtoffOmp() {} + NPairHalfMultiOldNewtonTriOmp(class LAMMPS *); + ~NPairHalfMultiOldNewtonTriOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.h b/src/USER-OMP/npair_half_size_multi_newton_omp.h deleted file mode 100644 index 03d712145f..0000000000 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi/newton/omp, - NPairHalfSizeMultiNewtonOmp, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_OMP | NP_ORTHO) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_OMP_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMultiNewtonOmp : public NPair { - public: - NPairHalfSizeMultiNewtonOmp(class LAMMPS *); - ~NPairHalfSizeMultiNewtonOmp() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h deleted file mode 100644 index 6e936c8da4..0000000000 --- a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi/newton/tri/omp, - NPairHalfSizeMultiNewtonTriOmp, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_TRI | NP_OMP) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_OMP_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMultiNewtonTriOmp : public NPair { - public: - NPairHalfSizeMultiNewtonTriOmp(class LAMMPS *); - ~NPairHalfSizeMultiNewtonTriOmp() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp similarity index 95% rename from src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp rename to src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp index 33722eb9d3..e3001185c1 100644 --- a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi_newtoff_omp.h" +#include "npair_half_size_multi_old_newtoff_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtoffOmp::NPairHalfSizeMultiNewtoffOmp(LAMMPS *lmp) : +NPairHalfSizeMultiNewtoffOldOmp::NPairHalfSizeMultiNewtoffOldOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -36,7 +36,7 @@ NPairHalfSizeMultiNewtoffOmp::NPairHalfSizeMultiNewtoffOmp(LAMMPS *lmp) : pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) +void NPairHalfSizeMultiNewtoffOldOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.h b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.h similarity index 67% rename from src/USER-OMP/npair_half_size_multi_newtoff_omp.h rename to src/USER-OMP/npair_half_size_multi_old_newtoff_omp.h index dd883d7f3c..b7a7d9f4ac 100644 --- a/src/USER-OMP/npair_half_size_multi_newtoff_omp.h +++ b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.h @@ -13,24 +13,24 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/multi/newtoff/omp, - NPairHalfSizeMultiNewtoffOmp, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTOFF | NP_OMP | +NPairStyle(half/size/multi/old/newtoff/omp, + NPairHalfSizeMultiOldNewtoffOmp, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_OMP_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTOFF_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeMultiNewtoffOmp : public NPair { +class NPairHalfSizeMultiOldNewtoffOmp : public NPair { public: - NPairHalfSizeMultiNewtoffOmp(class LAMMPS *); - ~NPairHalfSizeMultiNewtoffOmp() {} + NPairHalfSizeMultiOldNewtoffOmp(class LAMMPS *); + ~NPairHalfSizeMultiOldNewtoffOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp similarity index 95% rename from src/USER-OMP/npair_half_size_multi_newton_omp.cpp rename to src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp index 0be87457e3..ee166a57cf 100644 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi_newton_omp.h" +#include "npair_half_size_multi_old_newton_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtonOmp::NPairHalfSizeMultiNewtonOmp(LAMMPS *lmp) : +NPairHalfSizeMultiNewtonOldOmp::NPairHalfSizeMultiNewtonOldOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -35,7 +35,7 @@ NPairHalfSizeMultiNewtonOmp::NPairHalfSizeMultiNewtonOmp(LAMMPS *lmp) : every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) +void NPairHalfSizeMultiNewtonOldOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_omp.h b/src/USER-OMP/npair_half_size_multi_old_newton_omp.h new file mode 100644 index 0000000000..7573b8c89e --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi_old_newton_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/old/newton/omp, + NPairHalfSizeMultiOldNewtonOmp, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTON | NP_OMP | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiOldNewtonOmp : public NPair { + public: + NPairHalfSizeMultiOldNewtonOmp(class LAMMPS *); + ~NPairHalfSizeMultiOldNewtonOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp similarity index 95% rename from src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp rename to src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp index ef26a5f2bd..81e896db6c 100644 --- a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi_newton_tri_omp.h" +#include "npair_half_size_multi_old_newton_tri_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtonTriOmp::NPairHalfSizeMultiNewtonTriOmp(LAMMPS *lmp) : +NPairHalfSizeMultiOldNewtonTriOmp::NPairHalfSizeMultiOldNewtonTriOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -35,7 +35,7 @@ NPairHalfSizeMultiNewtonTriOmp::NPairHalfSizeMultiNewtonTriOmp(LAMMPS *lmp) : every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) +void NPairHalfSizeMultiOldNewtonTriOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h new file mode 100644 index 0000000000..4cd1c58e6f --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/old/newton/tri/omp, + NPairHalfSizeMultiOldNewtonTriOmp, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTON | NP_TRI | NP_OMP) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_TRI_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiOldNewtonTriOmp : public NPair { + public: + NPairHalfSizeMultiOldNewtonTriOmp(class LAMMPS *); + ~NPairHalfSizeMultiOldNewtonTriOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_halffull_newtoff_omp.h b/src/USER-OMP/npair_halffull_newtoff_omp.h index 961544a952..010921d13e 100644 --- a/src/USER-OMP/npair_halffull_newtoff_omp.h +++ b/src/USER-OMP/npair_halffull_newtoff_omp.h @@ -15,12 +15,12 @@ NPairStyle(halffull/newtoff/omp, NPairHalffullNewtoffOmp, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI |NP_OMP) NPairStyle(halffull/newtoff/skip/omp, NPairHalffullNewtoffOmp, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI | NP_SKIP | NP_OMP) #else diff --git a/src/USER-OMP/npair_halffull_newton_omp.h b/src/USER-OMP/npair_halffull_newton_omp.h index ef8be32a74..88dbc3653b 100644 --- a/src/USER-OMP/npair_halffull_newton_omp.h +++ b/src/USER-OMP/npair_halffull_newton_omp.h @@ -15,12 +15,12 @@ NPairStyle(halffull/newton/omp, NPairHalffullNewtonOmp, - NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | + NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_ORTHO | NP_TRI| NP_OMP) NPairStyle(halffull/newton/skip/omp, NPairHalffullNewtonOmp, - NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | + NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_ORTHO | NP_TRI | NP_SKIP | NP_OMP) #else diff --git a/src/USER-OMP/npair_skip_omp.h b/src/USER-OMP/npair_skip_omp.h index a6ee1930d4..c080296e36 100644 --- a/src/USER-OMP/npair_skip_omp.h +++ b/src/USER-OMP/npair_skip_omp.h @@ -19,36 +19,36 @@ NPairStyle(skip/omp, NPairSkip, NP_SKIP | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP) NPairStyle(skip/half/respa/omp, NPairSkipRespa, NP_SKIP | NP_RESPA | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP) NPairStyle(skip/half/size/omp, NPairSkipSize, - NP_SKIP | NP_SIZE | NP_HALF | NP_FULL | NP_NSQ | NP_BIN | NP_MULTI | + NP_SKIP | NP_SIZE | NP_HALF | NP_FULL | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP) NPairStyle(skip/size/off2on/omp, NPairSkipSizeOff2on, NP_SKIP | NP_SIZE | NP_OFF2ON | NP_HALF | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP) NPairStyle(skip/size/off2on/oneside/omp, NPairSkipSizeOff2onOneside, NP_SKIP | NP_SIZE | NP_OFF2ON | NP_ONESIDE | NP_HALF | - NP_NSQ | NP_BIN | NP_MULTI | NP_NEWTON | NP_NEWTOFF | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP) NPairStyle(skip/ghost/omp, NPairSkip, NP_SKIP | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_OMP | NP_GHOST) #endif diff --git a/src/comm.h b/src/comm.h index d8d842ace5..5cd47bd5cd 100644 --- a/src/comm.h +++ b/src/comm.h @@ -152,6 +152,7 @@ class Comm : protected Pointers { int ncores; // # of cores per node int coregrid[3]; // 3d grid of cores within a node int user_coregrid[3]; // user request for cores in each dim + int multi2; // 1 if multi cutoff is intra-type cutoff void init_exchange(); int rendezvous_irregular(int, char *, int, int, int *, @@ -161,7 +162,6 @@ class Comm : protected Pointers { int (*)(int, char *, int &, int *&, char *&, void *), int, char *&, int, void *, int); void rendezvous_stats(int, int, int, int, int, int, bigint); - int multi2; // 1 if multi cutoff is intra-type cutoff public: enum{MULTIPLE}; diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index 8295a621fb..ebf7114d94 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -115,7 +115,7 @@ void NBinStandard::setup_bins(int style) // optimal bin size is roughly 1/2 the cutoff // for BIN style, binsize = 1/2 of max neighbor cutoff - // for MULTI style, binsize = 1/2 of min neighbor cutoff + // for MULTI_OLD style, binsize = 1/2 of min neighbor cutoff // special case of all cutoffs = 0.0, binsize = box size double binsize_optimal; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 401bd7298b..0854dee227 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -58,6 +58,19 @@ using namespace NeighConst; enum{NONE,ALL,PARTIAL,TEMPLATE}; +static const char cite_neigh_multi_old[] = + "neighbor multi/old command:\n\n" + "@Article{Intveld08,\n" + " author = {P.{\\,}J.~in{\\,}'t~Veld and S.{\\,}J.~Plimpton" + " and G.{\\,}S.~Grest},\n" + " title = {Accurate and Efficient Methods for Modeling Colloidal\n" + " Mixtures in an Explicit Solvent using Molecular Dynamics},\n" + " journal = {Comp.~Phys.~Comm.},\n" + " year = 2008,\n" + " volume = 179,\n" + " pages = {320--329}\n" + "}\n\n"; + static const char cite_neigh_multi[] = "neighbor multi command:\n\n" "@Article{Intveld08,\n" @@ -69,6 +82,13 @@ static const char cite_neigh_multi[] = " year = 2008,\n" " volume = 179,\n" " pages = {320--329}\n" + "}\n\n" + "@article{Shire2020,\n" + " author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},\n" + " title = {DEM simulations of polydisperse media: efficient contact\n" + " detection applied to investigate the quasi-static limit},\n" + " journal = {Computational Particle Mechanics},\n" + " year = {2020}\n" "}\n\n"; //#define NEIGH_LIST_DEBUG 1 @@ -1622,10 +1642,10 @@ int Neighbor::choose_bin(NeighRequest *rq) // neighbor style is BIN or MULTI or MULTI2 and must match - if (style == Neighbor::BIN || style == Neighbor::MULTI) { + if (style == Neighbor::BIN || style == Neighbor::MULTI_OLD) { if (!(mask & NB_STANDARD)) continue; - } else if (style == Neighbor::MULTI2) { - if (!(mask & NB_MULTI2)) continue; + } else if (style == Neighbor::MULTI) { + if (!(mask & NB_MULTI)) continue; } return i+1; @@ -1695,14 +1715,14 @@ int Neighbor::choose_stencil(NeighRequest *rq) if (!rq->ghost != !(mask & NS_GHOST)) continue; if (!rq->ssa != !(mask & NS_SSA)) continue; - // neighbor style is one of BIN, MULTI, or MULTI2 and must match + // neighbor style is one of BIN, MULTI_OLD, or MULTI and must match if (style == Neighbor::BIN) { if (!(mask & NS_BIN)) continue; + } else if (style == Neighbor::MULTI_OLD) { + if (!(mask & NS_MULTI_OLD)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NS_MULTI)) continue; - } else if (style == Neighbor::MULTI2) { - if (!(mask & NS_MULTI2)) continue; } // dimension is 2 or 3 and must match @@ -1832,16 +1852,16 @@ int Neighbor::choose_pair(NeighRequest *rq) if (!rq->halffull != !(mask & NP_HALF_FULL)) continue; if (!rq->off2on != !(mask & NP_OFF2ON)) continue; - // neighbor style is one of NSQ, BIN, MULTI, or MULTI2 and must match + // neighbor style is one of NSQ, BIN, MULTI_OLD, or MULTI and must match if (style == Neighbor::NSQ) { if (!(mask & NP_NSQ)) continue; } else if (style == Neighbor::BIN) { if (!(mask & NP_BIN)) continue; + } else if (style == Neighbor::MULTI_OLD) { + if (!(mask & NP_MULTI_OLD)) continue; } else if (style == Neighbor::MULTI) { if (!(mask & NP_MULTI)) continue; - } else if (style == Neighbor::MULTI2) { - if (!(mask & NP_MULTI2)) continue; } // domain triclinic flag is on or off and must match @@ -2211,9 +2231,10 @@ void Neighbor::set(int narg, char **arg) if (strcmp(arg[1],"nsq") == 0) style = Neighbor::NSQ; else if (strcmp(arg[1],"bin") == 0) style = Neighbor::BIN; else if (strcmp(arg[1],"multi") == 0) style = Neighbor::MULTI; - else if (strcmp(arg[1],"multi2") == 0) style = Neighbor::MULTI2; + else if (strcmp(arg[1],"multi/old") == 0) style = Neighbor::MULTI_OLD; else error->all(FLERR,"Illegal neighbor command"); + if (style == Neighbor::MULTI_OLD && lmp->citeme) lmp->citeme->add(cite_neigh_multi_old); if (style == Neighbor::MULTI && lmp->citeme) lmp->citeme->add(cite_neigh_multi); } diff --git a/src/neighbor.h b/src/neighbor.h index b1cc95f5e7..2943f7e082 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -20,8 +20,8 @@ namespace LAMMPS_NS { class Neighbor : protected Pointers { public: - enum{NSQ,BIN,MULTI,MULTI2}; - int style; // 0,1,2 = nsq, bin, multi + enum{NSQ,BIN,MULTI_OLD,MULTI}; + int style; // 0,1,2 = nsq, bin, multi/old, multi int every; // build every this many steps int delay; // delay build for this many steps int dist_check; // 0 = always build, 1 = only if 1/2 dist @@ -239,7 +239,7 @@ namespace NeighConst { static const int NB_KOKKOS_DEVICE = 1<<1; static const int NB_KOKKOS_HOST = 1<<2; static const int NB_SSA = 1<<3; - static const int NB_MULTI2 = 1<<4; + static const int NB_MULTI = 1<<4; static const int NB_STANDARD = 1<<5; static const int NS_BIN = 1<<0; @@ -252,7 +252,7 @@ namespace NeighConst { static const int NS_TRI = 1<<7; static const int NS_GHOST = 1<<8; static const int NS_SSA = 1<<9; - static const int NS_MULTI2 = 1<<10; + static const int NS_MULTI_OLD = 1<<10; static const int NP_NSQ = 1<<0; static const int NP_BIN = 1<<1; @@ -279,7 +279,7 @@ namespace NeighConst { static const int NP_SKIP = 1<<22; static const int NP_HALF_FULL = 1<<23; static const int NP_OFF2ON = 1<<24; - static const int NP_MULTI2 = 1<<25; + static const int NP_MULTI_OLD = 1<<25; } } diff --git a/src/npair_full_multi.cpp b/src/npair_full_multi_old.cpp similarity index 96% rename from src/npair_full_multi.cpp rename to src/npair_full_multi_old.cpp index 79a9c7cec3..9a800a80b5 100644 --- a/src/npair_full_multi.cpp +++ b/src/npair_full_multi_old.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_full_multi.h" +#include "npair_full_multi_old.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairFullMulti::NPairFullMulti(LAMMPS *lmp) : NPair(lmp) {} +NPairFullMultiOld::NPairFullMultiOld(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors @@ -32,7 +32,7 @@ NPairFullMulti::NPairFullMulti(LAMMPS *lmp) : NPair(lmp) {} every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ -void NPairFullMulti::build(NeighList *list) +void NPairFullMultiOld::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; tagint tagprev; diff --git a/src/npair_full_multi.h b/src/npair_full_multi_old.h similarity index 73% rename from src/npair_full_multi.h rename to src/npair_full_multi_old.h index 481a673060..f53b6451e2 100644 --- a/src/npair_full_multi.h +++ b/src/npair_full_multi_old.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(full/multi, - NPairFullMulti, - NP_FULL | NP_MULTI | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(full/multi/old, + NPairFullMultiOld, + NP_FULL | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_FULL_MULTI_H -#define LMP_NPAIR_FULL_MULTI_H +#ifndef LMP_NPAIR_FULL_MULTI_OLD_H +#define LMP_NPAIR_FULL_MULTI_OLD_H #include "npair.h" namespace LAMMPS_NS { -class NPairFullMulti : public NPair { +class NPairFullMultiOld : public NPair { public: - NPairFullMulti(class LAMMPS *); - ~NPairFullMulti() {} + NPairFullMultiOld(class LAMMPS *); + ~NPairFullMultiOld() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_old_newtoff.cpp similarity index 95% rename from src/npair_half_multi_newtoff.cpp rename to src/npair_half_multi_old_newtoff.cpp index 3979e494a9..351fd65c32 100644 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_old_newtoff.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi_newtoff.h" +#include "npair_half_multi_old_newtoff.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiOldNewtoff::NPairHalfMultiOldNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law @@ -34,7 +34,7 @@ NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfMultiNewtoff::build(NeighList *list) +void NPairHalfMultiOldNewtoff::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; tagint tagprev; diff --git a/src/npair_half_multi_newton.h b/src/npair_half_multi_old_newtoff.h similarity index 71% rename from src/npair_half_multi_newton.h rename to src/npair_half_multi_old_newtoff.h index 427b771780..7a3e7b3671 100644 --- a/src/npair_half_multi_newton.h +++ b/src/npair_half_multi_old_newtoff.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newton, - NPairHalfMultiNewton, - NP_HALF | NP_MULTI | NP_NEWTON | NP_ORTHO) +NPairStyle(half/multi/old/newtoff, + NPairHalfMultiOldNewtoff, + NP_HALF | NP_MULTI_OLD | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_H -#define LMP_NPAIR_HALF_MULTI_NEWTON_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTOFF_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTOFF_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewton : public NPair { +class NPairHalfMultiOldNewtoff : public NPair { public: - NPairHalfMultiNewton(class LAMMPS *); - ~NPairHalfMultiNewton() {} + NPairHalfMultiOldNewtoff(class LAMMPS *); + ~NPairHalfMultiOldNewtoff() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_old_newton.cpp similarity index 96% rename from src/npair_half_multi_newton.cpp rename to src/npair_half_multi_old_newton.cpp index 7ea58d29ad..5af420017d 100644 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_old_newton.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi_newton.h" +#include "npair_half_multi_old_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewton::NPairHalfMultiNewton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiOldNewton::NPairHalfMultiOldNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law @@ -33,7 +33,7 @@ NPairHalfMultiNewton::NPairHalfMultiNewton(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMultiNewton::build(NeighList *list) +void NPairHalfMultiOldNewton::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; tagint tagprev; diff --git a/src/npair_half_multi_newtoff.h b/src/npair_half_multi_old_newton.h similarity index 72% rename from src/npair_half_multi_newtoff.h rename to src/npair_half_multi_old_newton.h index 593e2c1d9d..337e54abed 100644 --- a/src/npair_half_multi_newtoff.h +++ b/src/npair_half_multi_old_newton.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newtoff, - NPairHalfMultiNewtoff, - NP_HALF | NP_MULTI | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(half/multi/old/newton, + NPairHalfMultiOldNewton, + NP_HALF | NP_MULTI_OLD | NP_NEWTON | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTOFF_H -#define LMP_NPAIR_HALF_MULTI_NEWTOFF_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTON_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTON_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewtoff : public NPair { +class NPairHalfMultiOldNewton : public NPair { public: - NPairHalfMultiNewtoff(class LAMMPS *); - ~NPairHalfMultiNewtoff() {} + NPairHalfMultiOldNewton(class LAMMPS *); + ~NPairHalfMultiOldNewton() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_old_newton_tri.cpp similarity index 96% rename from src/npair_half_multi_newton_tri.cpp rename to src/npair_half_multi_old_newton_tri.cpp index a1095c3fe2..f22e0fbf4f 100644 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_old_newton_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi_newton_tri.h" +#include "npair_half_multi_old_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMultiNewtonTri::NPairHalfMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiOldNewtonTri::NPairHalfMultiOldNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic @@ -33,7 +33,7 @@ NPairHalfMultiNewtonTri::NPairHalfMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMultiNewtonTri::build(NeighList *list) +void NPairHalfMultiOldNewtonTri::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,which,ns,imol,iatom,moltemplate; tagint tagprev; diff --git a/src/npair_half_multi_newton_tri.h b/src/npair_half_multi_old_newton_tri.h similarity index 70% rename from src/npair_half_multi_newton_tri.h rename to src/npair_half_multi_old_newton_tri.h index 6fe7577259..3c9202992a 100644 --- a/src/npair_half_multi_newton_tri.h +++ b/src/npair_half_multi_old_newton_tri.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi/newton/tri, - NPairHalfMultiNewtonTri, - NP_HALF | NP_MULTI | NP_NEWTON | NP_TRI) +NPairStyle(half/multi/old/newton/tri, + NPairHalfMultiOldNewtonTri, + NP_HALF | NP_MULTI_OLD | NP_NEWTON | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_TRI_H -#define LMP_NPAIR_HALF_MULTI_NEWTON_TRI_H +#ifndef LMP_NPAIR_HALF_MULTI_OLD_NEWTON_TRI_H +#define LMP_NPAIR_HALF_MULTI_OLD_NEWTON_TRI_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMultiNewtonTri : public NPair { +class NPairHalfMultiOldNewtonTri : public NPair { public: - NPairHalfMultiNewtonTri(class LAMMPS *); - ~NPairHalfMultiNewtonTri() {} + NPairHalfMultiOldNewtonTri(class LAMMPS *); + ~NPairHalfMultiOldNewtonTri() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi_newtoff.h b/src/npair_half_size_multi_newtoff.h deleted file mode 100644 index f255f9a17d..0000000000 --- a/src/npair_half_size_multi_newtoff.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi/newtoff, - NPairHalfSizeMultiNewtoff, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTOFF | NP_ORTHO | NP_TRI) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMultiNewtoff : public NPair { - public: - NPairHalfSizeMultiNewtoff(class LAMMPS *); - ~NPairHalfSizeMultiNewtoff() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Neighbor list overflow, boost neigh_modify one - -UNDOCUMENTED -*/ diff --git a/src/npair_half_size_multi_newton.h b/src/npair_half_size_multi_newton.h deleted file mode 100644 index 3e3d6f4180..0000000000 --- a/src/npair_half_size_multi_newton.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi/newton, - NPairHalfSizeMultiNewton, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_ORTHO) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMultiNewton : public NPair { - public: - NPairHalfSizeMultiNewton(class LAMMPS *); - ~NPairHalfSizeMultiNewton() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Neighbor list overflow, boost neigh_modify one - -UNDOCUMENTED -*/ diff --git a/src/npair_half_size_multi_newton_tri.h b/src/npair_half_size_multi_newton_tri.h deleted file mode 100644 index 6afe8201a7..0000000000 --- a/src/npair_half_size_multi_newton_tri.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi/newton/tri, - NPairHalfSizeMultiNewtonTri, - NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_TRI) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H -#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMultiNewtonTri : public NPair { - public: - NPairHalfSizeMultiNewtonTri(class LAMMPS *); - ~NPairHalfSizeMultiNewtonTri() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Neighbor list overflow, boost neigh_modify one - -UNDOCUMENTED -*/ diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_old_newtoff.cpp similarity index 94% rename from src/npair_half_size_multi_newtoff.cpp rename to src/npair_half_size_multi_old_newtoff.cpp index 813a642b96..394ad58981 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_old_newtoff.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_size_multi_newtoff.h" +#include "npair_half_size_multi_old_newtoff.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiOldNewtoff::NPairHalfSizeMultiOldNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles @@ -33,7 +33,7 @@ NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) { pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtoff::build(NeighList *list) +void NPairHalfSizeMultiOldNewtoff::build(NeighList *list) { int i,j,k,m,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; diff --git a/src/npair_half_size_multi_old_newtoff.h b/src/npair_half_size_multi_old_newtoff.h new file mode 100644 index 0000000000..ca429d8914 --- /dev/null +++ b/src/npair_half_size_multi_old_newtoff.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/old/newtoff, + NPairHalfSizeMultiOldNewtoff, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTOFF | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTOFF_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTOFF_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiOldNewtoff : public NPair { + public: + NPairHalfSizeMultiOldNewtoff(class LAMMPS *); + ~NPairHalfSizeMultiOldNewtoff() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_old_newton.cpp similarity index 95% rename from src/npair_half_size_multi_newton.cpp rename to src/npair_half_size_multi_old_newton.cpp index 0d12924629..65b197a86b 100644 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_old_newton.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_size_multi_newton.h" +#include "npair_half_size_multi_old_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiOldNewton::NPairHalfSizeMultiOldNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles @@ -32,7 +32,7 @@ NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewton::build(NeighList *list) +void NPairHalfSizeMultiOldNewton::build(NeighList *list) { int i,j,k,m,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; diff --git a/src/npair_half_size_multi_old_newton.h b/src/npair_half_size_multi_old_newton.h new file mode 100644 index 0000000000..e954ee07b1 --- /dev/null +++ b/src/npair_half_size_multi_old_newton.h @@ -0,0 +1,46 @@ +g/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/old/newton, + NPairHalfSizeMultiOldNewton, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTON | NP_ORTHO) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiOldNewton : public NPair { + public: + NPairHalfSizeMultiOldNewton(class LAMMPS *); + ~NPairHalfSizeMultiOldNewton() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_old_newton_tri.cpp similarity index 92% rename from src/npair_half_size_multi_newton_tri.cpp rename to src/npair_half_size_multi_old_newton_tri.cpp index adc4c080ec..93d3beeb0a 100644 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_old_newton_tri.cpp @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +re/* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_size_multi_newton_tri.h" +#include "npair_half_size_multi_old_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiOldNewtonTri::NPairHalfSizeMultiOldNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic @@ -31,7 +31,7 @@ NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lm every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtonTri::build(NeighList *list) +void NPairHalfSizeMultiOldNewtonTri::build(NeighList *list) { int i,j,k,m,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; diff --git a/src/npair_half_size_multi_old_newton_tri.h b/src/npair_half_size_multi_old_newton_tri.h new file mode 100644 index 0000000000..126735e9c8 --- /dev/null +++ b/src/npair_half_size_multi_old_newton_tri.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/old/newton/tri, + NPairHalfSizeMultiOldNewtonTri, + NP_HALF | NP_SIZE | NP_MULTI_OLD | NP_NEWTON | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_TRI_H +#define LMP_NPAIR_HALF_SIZE_MULTI_OLD_NEWTON_TRI_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiOldNewtonTri : public NPair { + public: + NPairHalfSizeMultiOldNewtonTri(class LAMMPS *); + ~NPairHalfSizeMultiOldNewtonTri() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED +*/ diff --git a/src/npair_halffull_newtoff.h b/src/npair_halffull_newtoff.h index 2f711629be..307156ef13 100644 --- a/src/npair_halffull_newtoff.h +++ b/src/npair_halffull_newtoff.h @@ -15,22 +15,22 @@ NPairStyle(halffull/newtoff, NPairHalffullNewtoff, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI) NPairStyle(halffull/newtoff/skip, NPairHalffullNewtoff, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI | NP_SKIP) NPairStyle(halffull/newtoff/ghost, NPairHalffullNewtoff, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI | NP_GHOST) NPairStyle(halffull/newtoff/skip/ghost, NPairHalffullNewtoff, - NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF | + NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_HALF | NP_ORTHO | NP_TRI | NP_SKIP | NP_GHOST) #else diff --git a/src/npair_halffull_newton.h b/src/npair_halffull_newton.h index dc82225216..f5f36b9e8c 100644 --- a/src/npair_halffull_newton.h +++ b/src/npair_halffull_newton.h @@ -15,12 +15,12 @@ NPairStyle(halffull/newton, NPairHalffullNewton, - NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | + NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_ORTHO | NP_TRI) NPairStyle(halffull/newton/skip, NPairHalffullNewton, - NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | + NP_HALF_FULL | NP_NEWTON | NP_HALF | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_ORTHO | NP_TRI | NP_SKIP) #else diff --git a/src/npair_skip.h b/src/npair_skip.h index 5fde8e7039..aae8abf6e4 100644 --- a/src/npair_skip.h +++ b/src/npair_skip.h @@ -16,13 +16,13 @@ NPairStyle(skip, NPairSkip, NP_SKIP | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) NPairStyle(skip/ghost, NPairSkip, NP_SKIP | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI | NP_GHOST) #else diff --git a/src/npair_skip_respa.h b/src/npair_skip_respa.h index a309d47124..31bcf0b510 100644 --- a/src/npair_skip_respa.h +++ b/src/npair_skip_respa.h @@ -16,7 +16,7 @@ NPairStyle(skip/half/respa, NPairSkipRespa, NP_SKIP | NP_RESPA | NP_HALF | NP_FULL | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else diff --git a/src/npair_skip_size.h b/src/npair_skip_size.h index ae3f77d6ed..76f810bdc1 100644 --- a/src/npair_skip_size.h +++ b/src/npair_skip_size.h @@ -15,7 +15,7 @@ NPairStyle(skip/half/size, NPairSkipSize, - NP_SKIP | NP_SIZE | NP_HALF | NP_FULL | NP_NSQ | NP_BIN | NP_MULTI | + NP_SKIP | NP_SIZE | NP_HALF | NP_FULL | NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else diff --git a/src/npair_skip_size_off2on.h b/src/npair_skip_size_off2on.h index 59fc0878ef..7236e9e993 100644 --- a/src/npair_skip_size_off2on.h +++ b/src/npair_skip_size_off2on.h @@ -16,7 +16,7 @@ NPairStyle(skip/size/off2on, NPairSkipSizeOff2on, NP_SKIP | NP_SIZE | NP_OFF2ON | NP_HALF | - NP_NSQ | NP_BIN | NP_MULTI | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else diff --git a/src/npair_skip_size_off2on_oneside.h b/src/npair_skip_size_off2on_oneside.h index f7ae2338b7..e8b5977a34 100644 --- a/src/npair_skip_size_off2on_oneside.h +++ b/src/npair_skip_size_off2on_oneside.h @@ -16,7 +16,7 @@ NPairStyle(skip/size/off2on/oneside, NPairSkipSizeOff2onOneside, NP_SKIP | NP_SIZE | NP_OFF2ON | NP_ONESIDE | NP_HALF | - NP_NSQ | NP_BIN | NP_MULTI | NP_NEWTON | NP_NEWTOFF | + NP_NSQ | NP_BIN | NP_MULTI | NP_MULTI_OLD | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else From 42278e87665404fa5df52214ffbee9b3934ffb99 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:09:11 -0700 Subject: [PATCH 044/542] Renaming multi2->multi npair classes, renaming npair multi variables --- src/USER-OMP/npair_full_multi_old_omp.cpp | 6 +- ...ulti2_omp.cpp => npair_full_multi_omp.cpp} | 18 ++--- ...ll_multi2_omp.h => npair_full_multi_omp.h} | 16 ++--- ...p.cpp => npair_half_multi_newtoff_omp.cpp} | 18 ++--- src/USER-OMP/npair_half_multi_newtoff_omp.h | 43 ++++++++++++ ...mp.cpp => npair_half_multi_newton_omp.cpp} | 26 +++---- ...on_omp.h => npair_half_multi_newton_omp.h} | 16 ++--- ...pp => npair_half_multi_newton_tri_omp.cpp} | 18 ++--- .../npair_half_multi_newton_tri_omp.h | 43 ++++++++++++ .../npair_half_multi_old_newtoff_omp.cpp | 6 +- .../npair_half_multi_old_newton_omp.cpp | 6 +- .../npair_half_multi_old_newton_tri_omp.cpp | 6 +- .../npair_half_size_multi2_newtoff_omp.h | 43 ------------ .../npair_half_size_multi2_newton_omp.h | 43 ------------ .../npair_half_size_multi2_newton_tri_omp.h | 43 ------------ ... => npair_half_size_multi_newtoff_omp.cpp} | 18 ++--- ....h => npair_half_size_multi_newtoff_omp.h} | 16 ++--- ...p => npair_half_size_multi_newton_omp.cpp} | 26 +++---- ...p.h => npair_half_size_multi_newton_omp.h} | 16 ++--- ... npair_half_size_multi_newton_tri_omp.cpp} | 18 ++--- .../npair_half_size_multi_newton_tri_omp.h | 43 ++++++++++++ .../npair_half_size_multi_old_newtoff_omp.cpp | 6 +- .../npair_half_size_multi_old_newton_omp.cpp | 6 +- ...air_half_size_multi_old_newton_tri_omp.cpp | 6 +- src/npair.cpp | 70 +++++++++---------- src/npair.h | 24 +++---- ...r_full_multi2.cpp => npair_full_multi.cpp} | 18 ++--- ...npair_full_multi2.h => npair_full_multi.h} | 16 ++--- src/npair_full_multi_old.cpp | 6 +- ...wtoff.cpp => npair_half_multi_newtoff.cpp} | 18 ++--- ...2_newtoff.h => npair_half_multi_newtoff.h} | 16 ++--- ...newton.cpp => npair_half_multi_newton.cpp} | 26 +++---- ...ti2_newton.h => npair_half_multi_newton.h} | 16 ++--- ...ri.cpp => npair_half_multi_newton_tri.cpp} | 18 ++--- ...on_tri.h => npair_half_multi_newton_tri.h} | 16 ++--- src/npair_half_multi_old_newtoff.cpp | 6 +- src/npair_half_multi_old_newton.cpp | 6 +- src/npair_half_multi_old_newton_tri.cpp | 6 +- src/npair_half_size_multi2_newton_tri.h | 47 ------------- ....cpp => npair_half_size_multi_newtoff.cpp} | 18 ++--- ...toff.h => npair_half_size_multi_newtoff.h} | 16 ++--- ...n.cpp => npair_half_size_multi_newton.cpp} | 26 +++---- ...ewton.h => npair_half_size_multi_newton.h} | 16 ++--- ...p => npair_half_size_multi_newton_tri.cpp} | 18 ++--- src/npair_half_size_multi_newton_tri.h | 47 +++++++++++++ src/npair_half_size_multi_old_newtoff.cpp | 6 +- src/npair_half_size_multi_old_newton.cpp | 6 +- src/npair_half_size_multi_old_newton_tri.cpp | 6 +- 48 files changed, 487 insertions(+), 487 deletions(-) rename src/USER-OMP/{npair_full_multi2_omp.cpp => npair_full_multi_omp.cpp} (90%) rename src/USER-OMP/{npair_full_multi2_omp.h => npair_full_multi_omp.h} (75%) rename src/USER-OMP/{npair_half_multi2_newtoff_omp.cpp => npair_half_multi_newtoff_omp.cpp} (90%) create mode 100755 src/USER-OMP/npair_half_multi_newtoff_omp.h rename src/USER-OMP/{npair_half_multi2_newton_omp.cpp => npair_half_multi_newton_omp.cpp} (91%) rename src/USER-OMP/{npair_half_multi2_newton_omp.h => npair_half_multi_newton_omp.h} (69%) rename src/USER-OMP/{npair_half_multi2_newton_tri_omp.cpp => npair_half_multi_newton_tri_omp.cpp} (91%) create mode 100755 src/USER-OMP/npair_half_multi_newton_tri_omp.h delete mode 100755 src/USER-OMP/npair_half_size_multi2_newtoff_omp.h delete mode 100755 src/USER-OMP/npair_half_size_multi2_newton_omp.h delete mode 100755 src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h rename src/USER-OMP/{npair_half_size_multi2_newtoff_omp.cpp => npair_half_size_multi_newtoff_omp.cpp} (88%) rename src/USER-OMP/{npair_half_multi2_newtoff_omp.h => npair_half_size_multi_newtoff_omp.h} (66%) rename src/USER-OMP/{npair_half_size_multi2_newton_omp.cpp => npair_half_size_multi_newton_omp.cpp} (89%) rename src/USER-OMP/{npair_half_multi2_newton_tri_omp.h => npair_half_size_multi_newton_omp.h} (67%) rename src/USER-OMP/{npair_half_size_multi2_newton_tri_omp.cpp => npair_half_size_multi_newton_tri_omp.cpp} (90%) create mode 100755 src/USER-OMP/npair_half_size_multi_newton_tri_omp.h rename src/{npair_full_multi2.cpp => npair_full_multi.cpp} (90%) rename src/{npair_full_multi2.h => npair_full_multi.h} (74%) rename src/{npair_half_multi2_newtoff.cpp => npair_half_multi_newtoff.cpp} (90%) rename src/{npair_half_multi2_newtoff.h => npair_half_multi_newtoff.h} (72%) rename src/{npair_half_multi2_newton.cpp => npair_half_multi_newton.cpp} (91%) rename src/{npair_half_multi2_newton.h => npair_half_multi_newton.h} (71%) rename src/{npair_half_multi2_newton_tri.cpp => npair_half_multi_newton_tri.cpp} (91%) rename src/{npair_half_multi2_newton_tri.h => npair_half_multi_newton_tri.h} (70%) delete mode 100755 src/npair_half_size_multi2_newton_tri.h rename src/{npair_half_size_multi2_newtoff.cpp => npair_half_size_multi_newtoff.cpp} (87%) rename src/{npair_half_size_multi2_newtoff.h => npair_half_size_multi_newtoff.h} (69%) rename src/{npair_half_size_multi2_newton.cpp => npair_half_size_multi_newton.cpp} (89%) rename src/{npair_half_size_multi2_newton.h => npair_half_size_multi_newton.h} (70%) rename src/{npair_half_size_multi2_newton_tri.cpp => npair_half_size_multi_newton_tri.cpp} (89%) create mode 100755 src/npair_half_size_multi_newton_tri.h diff --git a/src/USER-OMP/npair_full_multi_old_omp.cpp b/src/USER-OMP/npair_full_multi_old_omp.cpp index ef4c4ef5e4..46890f6438 100644 --- a/src/USER-OMP/npair_full_multi_old_omp.cpp +++ b/src/USER-OMP/npair_full_multi_old_omp.cpp @@ -94,10 +94,10 @@ void NPairFullMultiOldOmp::build(NeighList *list) // skip i = j ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_full_multi2_omp.cpp b/src/USER-OMP/npair_full_multi_omp.cpp similarity index 90% rename from src/USER-OMP/npair_full_multi2_omp.cpp rename to src/USER-OMP/npair_full_multi_omp.cpp index 39f711fe4f..cf897f9dea 100755 --- a/src/USER-OMP/npair_full_multi2_omp.cpp +++ b/src/USER-OMP/npair_full_multi_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_full_multi2_omp.h" +#include "npair_full_multi_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,15 +26,15 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairFullMulti2Omp::NPairFullMulti2Omp(LAMMPS *lmp) : NPair(lmp) {} +NPairFullMultiOmp::NPairFullMultiOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ -void NPairFullMulti2Omp::build(NeighList *list) +void NPairFullMultiOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; @@ -89,7 +89,7 @@ void NPairFullMulti2Omp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -102,12 +102,12 @@ void NPairFullMulti2Omp::build(NeighList *list) // skip i = j // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (i == j) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_full_multi2_omp.h b/src/USER-OMP/npair_full_multi_omp.h similarity index 75% rename from src/USER-OMP/npair_full_multi2_omp.h rename to src/USER-OMP/npair_full_multi_omp.h index d2bc478532..882e649183 100755 --- a/src/USER-OMP/npair_full_multi2_omp.h +++ b/src/USER-OMP/npair_full_multi_omp.h @@ -13,24 +13,24 @@ #ifdef NPAIR_CLASS -NPairStyle(full/multi2/omp, - NPairFullMulti2Omp, - NP_FULL | NP_MULTI2 | NP_OMP | +NPairStyle(full/multi/omp, + NPairFullMultiOmp, + NP_FULL | NP_MULTI | NP_OMP | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_FULL_MULTI2_OMP_H -#define LMP_NPAIR_FULL_MULTI2_OMP_H +#ifndef LMP_NPAIR_FULL_MULTI_OMP_H +#define LMP_NPAIR_FULL_MULTI_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairFullMulti2Omp : public NPair { +class NPairFullMultiOmp : public NPair { public: - NPairFullMulti2Omp(class LAMMPS *); - ~NPairFullMulti2Omp() {} + NPairFullMultiOmp(class LAMMPS *); + ~NPairFullMultiOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp similarity index 90% rename from src/USER-OMP/npair_half_multi2_newtoff_omp.cpp rename to src/USER-OMP/npair_half_multi_newtoff_omp.cpp index bfd0d34a6c..bf7644f01f 100755 --- a/src/USER-OMP/npair_half_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi2_newtoff_omp.h" +#include "npair_half_multi_newtoff_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,17 +26,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2NewtoffOmp::NPairHalfMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiNewtoffOmp::NPairHalfMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfMulti2NewtoffOmp::build(NeighList *list) +void NPairHalfMultiNewtoffOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; @@ -91,7 +91,7 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -106,12 +106,12 @@ void NPairHalfMulti2NewtoffOmp::build(NeighList *list) // stores own/ghost pairs on both procs // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jtype][j]) { if (j <= i) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.h b/src/USER-OMP/npair_half_multi_newtoff_omp.h new file mode 100755 index 0000000000..a7aebf6579 --- /dev/null +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi/newtoff/omp, + NPairHalfMultiNewtoffOmp, + NP_HALF | NP_MULTI | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_MULTI_NEWTOFF_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMultiNewtoffOmp : public NPair { + public: + NPairHalfMultiNewtoffOmp(class LAMMPS *); + ~NPairHalfMultiNewtoffOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp similarity index 91% rename from src/USER-OMP/npair_half_multi2_newton_omp.cpp rename to src/USER-OMP/npair_half_multi_newton_omp.cpp index cbdbd69f50..c68a3a150f 100755 --- a/src/USER-OMP/npair_half_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi2_newton_omp.h" +#include "npair_half_multi_newton_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,16 +26,16 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2NewtonOmp::NPairHalfMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiNewtonOmp::NPairHalfMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMulti2NewtonOmp::build(NeighList *list) +void NPairHalfMultiNewtonOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; @@ -90,7 +90,7 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -109,9 +109,9 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi2[itype][i]; + js = bins_multi[itype][i]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -150,9 +150,9 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi2[jtype][jbin]; + js = binhead_multi[jtype][jbin]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if(j < i) continue; if (j >= nlocal) { @@ -194,12 +194,12 @@ void NPairHalfMulti2NewtonOmp::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_multi2_newton_omp.h b/src/USER-OMP/npair_half_multi_newton_omp.h similarity index 69% rename from src/USER-OMP/npair_half_multi2_newton_omp.h rename to src/USER-OMP/npair_half_multi_newton_omp.h index 2ea2bd1ad0..85df36bb09 100755 --- a/src/USER-OMP/npair_half_multi2_newton_omp.h +++ b/src/USER-OMP/npair_half_multi_newton_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newton/omp, - NPairHalfMulti2NewtonOmp, - NP_HALF | NP_MULTI2 | NP_NEWTON | NP_OMP | NP_ORTHO) +NPairStyle(half/multi/newton/omp, + NPairHalfMultiNewtonOmp, + NP_HALF | NP_MULTI | NP_NEWTON | NP_OMP | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_OMP_H -#define LMP_NPAIR_HALF_MULTI2_NEWTON_OMP_H +#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_OMP_H +#define LMP_NPAIR_HALF_MULTI_NEWTON_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2NewtonOmp : public NPair { +class NPairHalfMultiNewtonOmp : public NPair { public: - NPairHalfMulti2NewtonOmp(class LAMMPS *); - ~NPairHalfMulti2NewtonOmp() {} + NPairHalfMultiNewtonOmp(class LAMMPS *); + ~NPairHalfMultiNewtonOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp similarity index 91% rename from src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp rename to src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index 5d0d724b58..3f3ac37b6d 100755 --- a/src/USER-OMP/npair_half_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_multi2_newton_tri_omp.h" +#include "npair_half_multi_newton_tri_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -26,17 +26,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2NewtonTriOmp::NPairHalfMulti2NewtonTriOmp(LAMMPS *lmp) : +NPairHalfMultiNewtonTriOmp::NPairHalfMultiNewtonTriOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) +void NPairHalfMultiNewtonTriOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int molecular = atom->molecular; @@ -91,7 +91,7 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -109,12 +109,12 @@ void NPairHalfMulti2NewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { // if same size (e.g. same type), use half stencil if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.h b/src/USER-OMP/npair_half_multi_newton_tri_omp.h new file mode 100755 index 0000000000..80faf8188f --- /dev/null +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/multi/newton/tri/omp, + NPairHalfMultiNewtonTriOmp, + NP_HALF | NP_MULTI | NP_NEWTON | NP_TRI | NP_OMP) + +#else + +#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_MULTI_NEWTON_TRI_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfMultiNewtonTriOmp : public NPair { + public: + NPairHalfMultiNewtonTriOmp(class LAMMPS *); + ~NPairHalfMultiNewtonTriOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp index 2839ebfa14..961bac8fb7 100644 --- a/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newtoff_omp.cpp @@ -98,10 +98,10 @@ void NPairHalfMultiOldNewtoffOmp::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { if (j <= i) continue; diff --git a/src/USER-OMP/npair_half_multi_old_newton_omp.cpp b/src/USER-OMP/npair_half_multi_old_newton_omp.cpp index bc77cc518b..affae74dbd 100644 --- a/src/USER-OMP/npair_half_multi_old_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newton_omp.cpp @@ -132,10 +132,10 @@ void NPairHalfMultiOldNewtonOmp::build(NeighList *list) // skip if i,j neighbor cutoff is less than bin distance ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp index 3d5a577396..c023b08cb7 100644 --- a/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_old_newton_tri_omp.cpp @@ -100,10 +100,10 @@ void NPairHalfMultiOldNewtonTriOmp::build(NeighList *list) // latter excludes self-self interaction but allows superposed atoms ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h b/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h deleted file mode 100755 index fd592d839c..0000000000 --- a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi2/newtoff/omp, - NPairHalfSizeMulti2NewtoffOmp, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_OMP_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMulti2NewtoffOmp : public NPair { - public: - NPairHalfSizeMulti2NewtoffOmp(class LAMMPS *); - ~NPairHalfSizeMulti2NewtoffOmp() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.h b/src/USER-OMP/npair_half_size_multi2_newton_omp.h deleted file mode 100755 index 38b4dde272..0000000000 --- a/src/USER-OMP/npair_half_size_multi2_newton_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi2/newton/omp, - NPairHalfSizeMulti2NewtonOmp, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_OMP | NP_ORTHO) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_OMP_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMulti2NewtonOmp : public NPair { - public: - NPairHalfSizeMulti2NewtonOmp(class LAMMPS *); - ~NPairHalfSizeMulti2NewtonOmp() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h deleted file mode 100755 index 494a419c8f..0000000000 --- a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi2/newton/tri/omp, - NPairHalfSizeMulti2NewtonTriOmp, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_TRI | NP_OMP) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_OMP_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_OMP_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMulti2NewtonTriOmp : public NPair { - public: - NPairHalfSizeMulti2NewtonTriOmp(class LAMMPS *); - ~NPairHalfSizeMulti2NewtonTriOmp() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp similarity index 88% rename from src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp rename to src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp index 3b1f979a8e..8201ba8cb6 100755 --- a/src/USER-OMP/npair_half_size_multi2_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi2_newtoff_omp.h" +#include "npair_half_size_multi_newtoff_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,18 +24,18 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2NewtoffOmp::NPairHalfSizeMulti2NewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiNewtoffOmp::NPairHalfSizeMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) +void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; @@ -80,7 +80,7 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -95,12 +95,12 @@ void NPairHalfSizeMulti2NewtoffOmp::build(NeighList *list) // stores own/ghost pairs on both procs // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jtype][j]) { if (j <= i) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_multi2_newtoff_omp.h b/src/USER-OMP/npair_half_size_multi_newtoff_omp.h similarity index 66% rename from src/USER-OMP/npair_half_multi2_newtoff_omp.h rename to src/USER-OMP/npair_half_size_multi_newtoff_omp.h index a9e9a842cb..b25a372186 100755 --- a/src/USER-OMP/npair_half_multi2_newtoff_omp.h +++ b/src/USER-OMP/npair_half_size_multi_newtoff_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newtoff/omp, - NPairHalfMulti2NewtoffOmp, - NP_HALF | NP_MULTI2 | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) +NPairStyle(half/size/multi/newtoff/omp, + NPairHalfSizeMultiNewtoffOmp, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTOFF | NP_OMP | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTOFF_OMP_H -#define LMP_NPAIR_HALF_MULTI2_NEWTOFF_OMP_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2NewtoffOmp : public NPair { +class NPairHalfSizeMultiNewtoffOmp : public NPair { public: - NPairHalfMulti2NewtoffOmp(class LAMMPS *); - ~NPairHalfMulti2NewtoffOmp() {} + NPairHalfSizeMultiNewtoffOmp(class LAMMPS *); + ~NPairHalfSizeMultiNewtoffOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp similarity index 89% rename from src/USER-OMP/npair_half_size_multi2_newton_omp.cpp rename to src/USER-OMP/npair_half_size_multi_newton_omp.cpp index 3a3a2fbe74..197b41c12e 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi2_newton_omp.h" +#include "npair_half_size_multi_newton_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,17 +24,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2NewtonOmp::NPairHalfSizeMulti2NewtonOmp(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiNewtonOmp::NPairHalfSizeMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) +void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; @@ -79,7 +79,7 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -98,9 +98,9 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi2[itype][i]; + js = bins_multi[itype][i]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -132,9 +132,9 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi2[jtype][jbin]; + js = binhead_multi[jtype][jbin]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if(j < i) continue; if (j >= nlocal) { @@ -169,12 +169,12 @@ void NPairHalfSizeMulti2NewtonOmp::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_multi2_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi_newton_omp.h similarity index 67% rename from src/USER-OMP/npair_half_multi2_newton_tri_omp.h rename to src/USER-OMP/npair_half_size_multi_newton_omp.h index dd9eea6847..03d712145f 100755 --- a/src/USER-OMP/npair_half_multi2_newton_tri_omp.h +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newton/tri/omp, - NPairHalfMulti2NewtonTriOmp, - NP_HALF | NP_MULTI2 | NP_NEWTON | NP_TRI | NP_OMP) +NPairStyle(half/size/multi/newton/omp, + NPairHalfSizeMultiNewtonOmp, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_OMP | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_OMP_H -#define LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_OMP_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_OMP_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2NewtonTriOmp : public NPair { +class NPairHalfSizeMultiNewtonOmp : public NPair { public: - NPairHalfMulti2NewtonTriOmp(class LAMMPS *); - ~NPairHalfMulti2NewtonTriOmp() {} + NPairHalfSizeMultiNewtonOmp(class LAMMPS *); + ~NPairHalfSizeMultiNewtonOmp() {} void build(class NeighList *); }; diff --git a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp similarity index 90% rename from src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp rename to src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp index 66f9cbce0a..cd123202b1 100755 --- a/src/USER-OMP/npair_half_size_multi2_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ #include "omp_compat.h" -#include "npair_half_size_multi2_newton_tri_omp.h" +#include "npair_half_size_multi_newton_tri_omp.h" #include "npair_omp.h" #include "neigh_list.h" #include "atom.h" @@ -24,18 +24,18 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2NewtonTriOmp::NPairHalfSizeMulti2NewtonTriOmp(LAMMPS *lmp) : +NPairHalfSizeMultiNewtonTriOmp::NPairHalfSizeMultiNewtonTriOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) +void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; @@ -80,7 +80,7 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -99,12 +99,12 @@ void NPairHalfSizeMulti2NewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { // if same size (e.g. same type), use half stencil if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h new file mode 100755 index 0000000000..6e936c8da4 --- /dev/null +++ b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/newton/tri/omp, + NPairHalfSizeMultiNewtonTriOmp, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_TRI | NP_OMP) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_OMP_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_OMP_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiNewtonTriOmp : public NPair { + public: + NPairHalfSizeMultiNewtonTriOmp(class LAMMPS *); + ~NPairHalfSizeMultiNewtonTriOmp() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp index e3001185c1..3ed703586d 100644 --- a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp @@ -86,10 +86,10 @@ void NPairHalfSizeMultiNewtoffOldOmp::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { if (j <= i) continue; diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp index ee166a57cf..37203c53db 100644 --- a/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp @@ -112,10 +112,10 @@ void NPairHalfSizeMultiNewtonOldOmp::build(NeighList *list) // skip if i,j neighbor cutoff is less than bin distance ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp index 81e896db6c..8352e28643 100644 --- a/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newton_tri_omp.cpp @@ -87,10 +87,10 @@ void NPairHalfSizeMultiOldNewtonTriOmp::build(NeighList *list) // latter excludes self-self interaction but allows superposed atoms ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair.cpp b/src/npair.cpp index 4d86badf76..07e476e1dd 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -135,24 +135,24 @@ void NPair::copy_bin_info() bins = nb->bins; binhead = nb->binhead; - nbinx_multi2 = nb->nbinx_multi2; - nbiny_multi2 = nb->nbiny_multi2; - nbinz_multi2 = nb->nbinz_multi2; - mbins_multi2 = nb->mbins_multi2; - mbinx_multi2 = nb->mbinx_multi2; - mbiny_multi2 = nb->mbiny_multi2; - mbinz_multi2 = nb->mbinz_multi2; - mbinxlo_multi2 = nb->mbinxlo_multi2; - mbinylo_multi2 = nb->mbinylo_multi2; - mbinzlo_multi2 = nb->mbinzlo_multi2; + nbinx_multi = nb->nbinx_multi; + nbiny_multi = nb->nbiny_multi; + nbinz_multi = nb->nbinz_multi; + mbins_multi = nb->mbins_multi; + mbinx_multi = nb->mbinx_multi; + mbiny_multi = nb->mbiny_multi; + mbinz_multi = nb->mbinz_multi; + mbinxlo_multi = nb->mbinxlo_multi; + mbinylo_multi = nb->mbinylo_multi; + mbinzlo_multi = nb->mbinzlo_multi; - bininvx_multi2 = nb->bininvx_multi2; - bininvy_multi2 = nb->bininvy_multi2; - bininvz_multi2 = nb->bininvz_multi2; + bininvx_multi = nb->bininvx_multi; + bininvy_multi = nb->bininvy_multi; + bininvz_multi = nb->bininvz_multi; - atom2bin_multi2 = nb->atom2bin_multi2; - bins_multi2 = nb->bins_multi2; - binhead_multi2 = nb->binhead_multi2; + atom2bin_multi = nb->atom2bin_multi; + bins_multi = nb->bins_multi; + binhead_multi = nb->binhead_multi; } /* ---------------------------------------------------------------------- @@ -164,12 +164,12 @@ void NPair::copy_stencil_info() nstencil = ns->nstencil; stencil = ns->stencil; stencilxyz = ns->stencilxyz; + nstencil_multi_old = ns->nstencil_multi_old; + stencil_multi_old = ns->stencil_multi_old; + distsq_multi_old = ns->distsq_multi_old; + nstencil_multi = ns->nstencil_multi; stencil_multi = ns->stencil_multi; - distsq_multi = ns->distsq_multi; - - nstencil_multi2 = ns->nstencil_multi2; - stencil_multi2 = ns->stencil_multi2; } /* ---------------------------------------------------------------------- @@ -277,32 +277,32 @@ int NPair::coord2bin(double *x, int it) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[it]) + nbinx_multi[it]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); - ix = MIN(ix,nbinx_multi2[it]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]); + ix = MIN(ix,nbinx_multi[it]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[it]) + nbiny_multi[it]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); - iy = MIN(iy,nbiny_multi2[it]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]); + iy = MIN(iy,nbiny_multi[it]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[it]) + nbinz_multi[it]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); - iz = MIN(iz,nbinz_multi2[it]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]); + iz = MIN(iz,nbinz_multi[it]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]) - 1; - ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] - + (iy-mbinylo_multi2[it])*mbinx_multi2[it] - + (ix-mbinxlo_multi2[it]); + ibin = (iz-mbinzlo_multi[it])*mbiny_multi[it]*mbinx_multi[it] + + (iy-mbinylo_multi[it])*mbinx_multi[it] + + (ix-mbinxlo_multi[it]); return ibin; } \ No newline at end of file diff --git a/src/npair.h b/src/npair.h index 87b2584521..c56c6bdb20 100644 --- a/src/npair.h +++ b/src/npair.h @@ -79,25 +79,25 @@ class NPair : protected Pointers { int *atom2bin,*bins; int *binhead; - int *nbinx_multi2, *nbiny_multi2, *nbinz_multi2; - int *mbins_multi2; - int *mbinx_multi2, *mbiny_multi2, *mbinz_multi2; - int *mbinxlo_multi2, *mbinylo_multi2, *mbinzlo_multi2; - double *bininvx_multi2, *bininvy_multi2, *bininvz_multi2; - int **binhead_multi2,**bins_multi2; - int **atom2bin_multi2; + int *nbinx_multi, *nbiny_multi, *nbinz_multi; + int *mbins_multi; + int *mbinx_multi, *mbiny_multi, *mbinz_multi; + int *mbinxlo_multi, *mbinylo_multi, *mbinzlo_multi; + double *bininvx_multi, *bininvy_multi, *bininvz_multi; + int **binhead_multi,**bins_multi; + int **atom2bin_multi; // data from NStencil class int nstencil; int *stencil; int **stencilxyz; - int *nstencil_multi; - int **stencil_multi; - double **distsq_multi; + int *nstencil_multi_old; + int **stencil_multi_old; + double **distsq_multi_old; - int ** nstencil_multi2; - int *** stencil_multi2; + int ** nstencil_multi; + int *** stencil_multi; // data common to all NPair variants diff --git a/src/npair_full_multi2.cpp b/src/npair_full_multi.cpp similarity index 90% rename from src/npair_full_multi2.cpp rename to src/npair_full_multi.cpp index 732c5e581e..4463964d5f 100644 --- a/src/npair_full_multi2.cpp +++ b/src/npair_full_multi.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_full_multi2.h" +#include "npair_full_multi.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,15 +24,15 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairFullMulti2::NPairFullMulti2(LAMMPS *lmp) : NPair(lmp) {} +NPairFullMulti::NPairFullMulti(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ -void NPairFullMulti2::build(NeighList *list) +void NPairFullMulti::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; @@ -78,7 +78,7 @@ void NPairFullMulti2::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -91,12 +91,12 @@ void NPairFullMulti2::build(NeighList *list) // skip i = j // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (i == j) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_full_multi2.h b/src/npair_full_multi.h similarity index 74% rename from src/npair_full_multi2.h rename to src/npair_full_multi.h index f552e5bf47..481a673060 100644 --- a/src/npair_full_multi2.h +++ b/src/npair_full_multi.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(full/multi2, - NPairFullMulti2, - NP_FULL | NP_MULTI2 | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(full/multi, + NPairFullMulti, + NP_FULL | NP_MULTI | NP_NEWTON | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_FULL_MULTI2_H -#define LMP_NPAIR_FULL_MULTI2_H +#ifndef LMP_NPAIR_FULL_MULTI_H +#define LMP_NPAIR_FULL_MULTI_H #include "npair.h" namespace LAMMPS_NS { -class NPairFullMulti2 : public NPair { +class NPairFullMulti : public NPair { public: - NPairFullMulti2(class LAMMPS *); - ~NPairFullMulti2() {} + NPairFullMulti(class LAMMPS *); + ~NPairFullMulti() {} void build(class NeighList *); }; diff --git a/src/npair_full_multi_old.cpp b/src/npair_full_multi_old.cpp index 9a800a80b5..328b3325ab 100644 --- a/src/npair_full_multi_old.cpp +++ b/src/npair_full_multi_old.cpp @@ -83,10 +83,10 @@ void NPairFullMultiOld::build(NeighList *list) // skip i = j ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_multi2_newtoff.cpp b/src/npair_half_multi_newtoff.cpp similarity index 90% rename from src/npair_half_multi2_newtoff.cpp rename to src/npair_half_multi_newtoff.cpp index ecd97fe689..c0dcaf0c98 100755 --- a/src/npair_half_multi2_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi2_newtoff.h" +#include "npair_half_multi_newtoff.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,17 +24,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2Newtoff::NPairHalfMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfMulti2Newtoff::build(NeighList *list) +void NPairHalfMultiNewtoff::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; @@ -80,7 +80,7 @@ void NPairHalfMulti2Newtoff::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -95,12 +95,12 @@ void NPairHalfMulti2Newtoff::build(NeighList *list) // stores own/ghost pairs on both procs // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jtype][j]) { if (j <= i) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_multi2_newtoff.h b/src/npair_half_multi_newtoff.h similarity index 72% rename from src/npair_half_multi2_newtoff.h rename to src/npair_half_multi_newtoff.h index 30a6d3164d..593e2c1d9d 100755 --- a/src/npair_half_multi2_newtoff.h +++ b/src/npair_half_multi_newtoff.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newtoff, - NPairHalfMulti2Newtoff, - NP_HALF | NP_MULTI2 | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(half/multi/newtoff, + NPairHalfMultiNewtoff, + NP_HALF | NP_MULTI | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTOFF_H -#define LMP_NPAIR_HALF_MULTI2_NEWTOFF_H +#ifndef LMP_NPAIR_HALF_MULTI_NEWTOFF_H +#define LMP_NPAIR_HALF_MULTI_NEWTOFF_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2Newtoff : public NPair { +class NPairHalfMultiNewtoff : public NPair { public: - NPairHalfMulti2Newtoff(class LAMMPS *); - ~NPairHalfMulti2Newtoff() {} + NPairHalfMultiNewtoff(class LAMMPS *); + ~NPairHalfMultiNewtoff() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi2_newton.cpp b/src/npair_half_multi_newton.cpp similarity index 91% rename from src/npair_half_multi2_newton.cpp rename to src/npair_half_multi_newton.cpp index 6a7f52168a..e097052fe5 100755 --- a/src/npair_half_multi2_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi2_newton.h" +#include "npair_half_multi_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,16 +24,16 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2Newton::NPairHalfMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiNewton::NPairHalfMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMulti2Newton::build(NeighList *list) +void NPairHalfMultiNewton::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; @@ -79,7 +79,7 @@ void NPairHalfMulti2Newton::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -98,9 +98,9 @@ void NPairHalfMulti2Newton::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi2[itype][i]; + js = bins_multi[itype][i]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -139,9 +139,9 @@ void NPairHalfMulti2Newton::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi2[jtype][jbin]; + js = binhead_multi[jtype][jbin]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if(j < i) continue; if (j >= nlocal) { @@ -183,12 +183,12 @@ void NPairHalfMulti2Newton::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_multi2_newton.h b/src/npair_half_multi_newton.h similarity index 71% rename from src/npair_half_multi2_newton.h rename to src/npair_half_multi_newton.h index 8037d2e172..64021a9f58 100755 --- a/src/npair_half_multi2_newton.h +++ b/src/npair_half_multi_newton.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newton, - NPairHalfMulti2Newton, - NP_HALF | NP_MULTI2 | NP_NEWTON | NP_ORTHO) +NPairStyle(half/multi/newton, + NPairHalfMultiNewton, + NP_HALF | NP_MULTI | NP_NEWTON | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_H -#define LMP_NPAIR_HALF_MULTI2_NEWTON_H +#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_H +#define LMP_NPAIR_HALF_MULTI_NEWTON_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2Newton : public NPair { +class NPairHalfMultiNewton : public NPair { public: - NPairHalfMulti2Newton(class LAMMPS *); - ~NPairHalfMulti2Newton() {} + NPairHalfMultiNewton(class LAMMPS *); + ~NPairHalfMultiNewton() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi2_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp similarity index 91% rename from src/npair_half_multi2_newton_tri.cpp rename to src/npair_half_multi_newton_tri.cpp index 9d0db60d50..fabaf5f202 100755 --- a/src/npair_half_multi2_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_multi2_newton_tri.h" +#include "npair_half_multi_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -24,16 +24,16 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfMulti2NewtonTri::NPairHalfMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfMultiNewtonTri::NPairHalfMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfMulti2NewtonTri::build(NeighList *list) +void NPairHalfMultiNewtonTri::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; @@ -79,7 +79,7 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -97,12 +97,12 @@ void NPairHalfMulti2NewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { // if same size (e.g. same type), use half stencil if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ diff --git a/src/npair_half_multi2_newton_tri.h b/src/npair_half_multi_newton_tri.h similarity index 70% rename from src/npair_half_multi2_newton_tri.h rename to src/npair_half_multi_newton_tri.h index 0787860c52..51b720e0c4 100755 --- a/src/npair_half_multi2_newton_tri.h +++ b/src/npair_half_multi_newton_tri.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/multi2/newton/tri, - NPairHalfMulti2NewtonTri, - NP_HALF | NP_MULTI2 | NP_NEWTON | NP_TRI) +NPairStyle(half/multi/newton/tri, + NPairHalfMultiNewtonTri, + NP_HALF | NP_MULTI | NP_NEWTON | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_H -#define LMP_NPAIR_HALF_MULTI2_NEWTON_TRI_H +#ifndef LMP_NPAIR_HALF_MULTI_NEWTON_TRI_H +#define LMP_NPAIR_HALF_MULTI_NEWTON_TRI_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfMulti2NewtonTri : public NPair { +class NPairHalfMultiNewtonTri : public NPair { public: - NPairHalfMulti2NewtonTri(class LAMMPS *); - ~NPairHalfMulti2NewtonTri() {} + NPairHalfMultiNewtonTri(class LAMMPS *); + ~NPairHalfMultiNewtonTri() {} void build(class NeighList *); }; diff --git a/src/npair_half_multi_old_newtoff.cpp b/src/npair_half_multi_old_newtoff.cpp index 351fd65c32..fa9544aa68 100644 --- a/src/npair_half_multi_old_newtoff.cpp +++ b/src/npair_half_multi_old_newtoff.cpp @@ -87,10 +87,10 @@ void NPairHalfMultiOldNewtoff::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { if (j <= i) continue; diff --git a/src/npair_half_multi_old_newton.cpp b/src/npair_half_multi_old_newton.cpp index 5af420017d..db3a7c015c 100644 --- a/src/npair_half_multi_old_newton.cpp +++ b/src/npair_half_multi_old_newton.cpp @@ -121,10 +121,10 @@ void NPairHalfMultiOldNewton::build(NeighList *list) // skip if i,j neighbor cutoff is less than bin distance ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_multi_old_newton_tri.cpp b/src/npair_half_multi_old_newton_tri.cpp index f22e0fbf4f..1b142aa9ab 100644 --- a/src/npair_half_multi_old_newton_tri.cpp +++ b/src/npair_half_multi_old_newton_tri.cpp @@ -88,10 +88,10 @@ void NPairHalfMultiOldNewtonTri::build(NeighList *list) // latter excludes self-self interaction but allows superposed atoms ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_size_multi2_newton_tri.h b/src/npair_half_size_multi2_newton_tri.h deleted file mode 100755 index 6ce4f6d2fb..0000000000 --- a/src/npair_half_size_multi2_newton_tri.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NPAIR_CLASS - -NPairStyle(half/size/multi2/newton/tri, - NPairHalfSizeMulti2NewtonTri, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_TRI) - -#else - -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_TRI_H - -#include "npair.h" - -namespace LAMMPS_NS { - -class NPairHalfSizeMulti2NewtonTri : public NPair { - public: - NPairHalfSizeMulti2NewtonTri(class LAMMPS *); - ~NPairHalfSizeMulti2NewtonTri() {} - void build(class NeighList *); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Neighbor list overflow, boost neigh_modify one - -UNDOCUMENTED - -*/ \ No newline at end of file diff --git a/src/npair_half_size_multi2_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp similarity index 87% rename from src/npair_half_size_multi2_newtoff.cpp rename to src/npair_half_size_multi_newtoff.cpp index b559f83414..65b6b68fb2 100644 --- a/src/npair_half_size_multi2_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -12,7 +12,7 @@ es certain rights in this software. This software is distributed under ------------------------------------------------------------------------- */ #include -#include "npair_half_size_multi2_newtoff.h" +#include "npair_half_size_multi_newtoff.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -23,18 +23,18 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2Newtoff::NPairHalfSizeMulti2Newtoff(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2Newtoff::build(NeighList *list) +void NPairHalfSizeMultiNewtoff::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -71,7 +71,7 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -86,12 +86,12 @@ void NPairHalfSizeMulti2Newtoff::build(NeighList *list) // stores own/ghost pairs on both procs // use full stencil for all type combinations - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jtype][j]) { if (j <= i) continue; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_size_multi2_newtoff.h b/src/npair_half_size_multi_newtoff.h similarity index 69% rename from src/npair_half_size_multi2_newtoff.h rename to src/npair_half_size_multi_newtoff.h index 15540666c3..47c922cb7e 100644 --- a/src/npair_half_size_multi2_newtoff.h +++ b/src/npair_half_size_multi_newtoff.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/multi2/newtoff, - NPairHalfSizeMulti2Newtoff, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTOFF | NP_ORTHO | NP_TRI) +NPairStyle(half/size/multi/newtoff, + NPairHalfSizeMultiNewtoff, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTOFF | NP_ORTHO | NP_TRI) #else -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTOFF_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTOFF_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeMulti2Newtoff : public NPair { +class NPairHalfSizeMultiNewtoff : public NPair { public: - NPairHalfSizeMulti2Newtoff(class LAMMPS *); - ~NPairHalfSizeMulti2Newtoff() {} + NPairHalfSizeMultiNewtoff(class LAMMPS *); + ~NPairHalfSizeMultiNewtoff() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi2_newton.cpp b/src/npair_half_size_multi_newton.cpp similarity index 89% rename from src/npair_half_size_multi2_newton.cpp rename to src/npair_half_size_multi_newton.cpp index bc6116b21c..8fa3b9bc1b 100755 --- a/src/npair_half_size_multi2_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_size_multi2_newton.h" +#include "npair_half_size_multi_newton.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,17 +22,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2Newton::NPairHalfSizeMulti2Newton(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2Newton::build(NeighList *list) +void NPairHalfSizeMultiNewton::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -68,7 +68,7 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -87,9 +87,9 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi2[itype][i]; + js = bins_multi[itype][i]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -121,9 +121,9 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi2[jtype][jbin]; + js = binhead_multi[jtype][jbin]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if(j < i) continue; if (j >= nlocal) { @@ -158,12 +158,12 @@ void NPairHalfSizeMulti2Newton::build(NeighList *list) // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_size_multi2_newton.h b/src/npair_half_size_multi_newton.h similarity index 70% rename from src/npair_half_size_multi2_newton.h rename to src/npair_half_size_multi_newton.h index 8c7bc1cc9e..d31496873d 100755 --- a/src/npair_half_size_multi2_newton.h +++ b/src/npair_half_size_multi_newton.h @@ -13,23 +13,23 @@ #ifdef NPAIR_CLASS -NPairStyle(half/size/multi2/newton, - NPairHalfSizeMulti2Newton, - NP_HALF | NP_SIZE | NP_MULTI2 | NP_NEWTON | NP_ORTHO) +NPairStyle(half/size/multi/newton, + NPairHalfSizeMultiNewton, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_ORTHO) #else -#ifndef LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_H -#define LMP_NPAIR_HALF_SIZE_MULTI2_NEWTON_H +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_H #include "npair.h" namespace LAMMPS_NS { -class NPairHalfSizeMulti2Newton : public NPair { +class NPairHalfSizeMultiNewton : public NPair { public: - NPairHalfSizeMulti2Newton(class LAMMPS *); - ~NPairHalfSizeMulti2Newton() {} + NPairHalfSizeMultiNewton(class LAMMPS *); + ~NPairHalfSizeMultiNewton() {} void build(class NeighList *); }; diff --git a/src/npair_half_size_multi2_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp similarity index 89% rename from src/npair_half_size_multi2_newton_tri.cpp rename to src/npair_half_size_multi_newton_tri.cpp index 8cde0cbb36..780fa95f0b 100755 --- a/src/npair_half_size_multi2_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "npair_half_size_multi2_newton_tri.h" +#include "npair_half_size_multi_newton_tri.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -22,17 +22,17 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMulti2NewtonTri::NPairHalfSizeMulti2NewtonTri(LAMMPS *lmp) : NPair(lmp) {} +NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi2-type stencil is itype-jtype dependent + multi-type stencil is itype-jtype dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) +void NPairHalfSizeMultiNewtonTri::build(NeighList *list) { int i,j,k,n,itype,jtype,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -68,7 +68,7 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi2[itype][i]; + ibin = atom2bin_multi[itype][i]; // loop through stencils for all types for (jtype = 1; jtype <= atom->ntypes; jtype++) { @@ -87,12 +87,12 @@ void NPairHalfSizeMulti2NewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi2[itype][jtype]; - ns = nstencil_multi2[itype][jtype]; + s = stencil_multi[itype][jtype]; + ns = nstencil_multi[itype][jtype]; for (k = 0; k < ns; k++) { - js = binhead_multi2[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi2[jtype][j]) { + js = binhead_multi[jtype][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jtype][j]) { // if same size (e.g. same type), use half stencil if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ diff --git a/src/npair_half_size_multi_newton_tri.h b/src/npair_half_size_multi_newton_tri.h new file mode 100755 index 0000000000..9bc1238e77 --- /dev/null +++ b/src/npair_half_size_multi_newton_tri.h @@ -0,0 +1,47 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NPAIR_CLASS + +NPairStyle(half/size/multi/newton/tri, + NPairHalfSizeMultiNewtonTri, + NP_HALF | NP_SIZE | NP_MULTI | NP_NEWTON | NP_TRI) + +#else + +#ifndef LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H +#define LMP_NPAIR_HALF_SIZE_MULTI_NEWTON_TRI_H + +#include "npair.h" + +namespace LAMMPS_NS { + +class NPairHalfSizeMultiNewtonTri : public NPair { + public: + NPairHalfSizeMultiNewtonTri(class LAMMPS *); + ~NPairHalfSizeMultiNewtonTri() {} + void build(class NeighList *); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Neighbor list overflow, boost neigh_modify one + +UNDOCUMENTED + +*/ \ No newline at end of file diff --git a/src/npair_half_size_multi_old_newtoff.cpp b/src/npair_half_size_multi_old_newtoff.cpp index 394ad58981..35095b4856 100644 --- a/src/npair_half_size_multi_old_newtoff.cpp +++ b/src/npair_half_size_multi_old_newtoff.cpp @@ -77,10 +77,10 @@ void NPairHalfSizeMultiOldNewtoff::build(NeighList *list) // stores own/ghost pairs on both procs ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { if (j <= i) continue; diff --git a/src/npair_half_size_multi_old_newton.cpp b/src/npair_half_size_multi_old_newton.cpp index 65b197a86b..0112c0593f 100644 --- a/src/npair_half_size_multi_old_newton.cpp +++ b/src/npair_half_size_multi_old_newton.cpp @@ -104,10 +104,10 @@ void NPairHalfSizeMultiOldNewton::build(NeighList *list) // skip if i,j neighbor cutoff is less than bin distance ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_size_multi_old_newton_tri.cpp b/src/npair_half_size_multi_old_newton_tri.cpp index 93d3beeb0a..2b63e116d7 100644 --- a/src/npair_half_size_multi_old_newton_tri.cpp +++ b/src/npair_half_size_multi_old_newton_tri.cpp @@ -78,10 +78,10 @@ void NPairHalfSizeMultiOldNewtonTri::build(NeighList *list) // latter excludes self-self interaction but allows superposed atoms ibin = atom2bin[i]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; cutsq = cutneighsq[itype]; - ns = nstencil_multi[itype]; + ns = nstencil_multi_old[itype]; for (k = 0; k < ns; k++) { for (j = binhead[ibin+s[k]]; j >= 0; j = bins[j]) { jtype = type[j]; From 42e5130893a4842a86e4b09db30bb4980318eb10 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:18:54 -0700 Subject: [PATCH 045/542] Renaming multi->multi2 in nbin files --- src/nbin.cpp | 104 +++++------ src/nbin.h | 28 +-- src/{nbin_multi2.cpp => nbin_multi.cpp} | 222 ++++++++++++------------ src/{nbin_multi2.h => nbin_multi.h} | 16 +- 4 files changed, 185 insertions(+), 185 deletions(-) rename src/{nbin_multi2.cpp => nbin_multi.cpp} (55%) rename src/{nbin_multi2.h => nbin_multi.h} (85%) diff --git a/src/nbin.cpp b/src/nbin.cpp index 26aebd3a3a..084d3bfc4a 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -31,18 +31,18 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) bins = nullptr; atom2bin = nullptr; - nbinx_multi2 = nullptr; nbiny_multi2 = nullptr; nbinz_multi2 = nullptr; - mbins_multi2 = nullptr; - mbinx_multi2 = nullptr; mbiny_multi2 = nullptr, mbinz_multi2 = nullptr; - mbinxlo_multi2 = nullptr; - mbinylo_multi2 = nullptr; - mbinzlo_multi2 = nullptr; - binsizex_multi2 = nullptr; binsizey_multi2 = nullptr; binsizez_multi2 = nullptr; - bininvx_multi2 = nullptr; bininvy_multi2 = nullptr; bininvz_multi2 = nullptr; - binhead_multi2 = nullptr; - bins_multi2 = nullptr; - atom2bin_multi2 = nullptr; - maxbins_multi2 = nullptr; + nbinx_multi = nullptr; nbiny_multi = nullptr; nbinz_multi = nullptr; + mbins_multi = nullptr; + mbinx_multi = nullptr; mbiny_multi = nullptr, mbinz_multi = nullptr; + mbinxlo_multi = nullptr; + mbinylo_multi = nullptr; + mbinzlo_multi = nullptr; + binsizex_multi = nullptr; binsizey_multi = nullptr; binsizez_multi = nullptr; + bininvx_multi = nullptr; bininvy_multi = nullptr; bininvz_multi = nullptr; + binhead_multi = nullptr; + bins_multi = nullptr; + atom2bin_multi = nullptr; + maxbins_multi = nullptr; maxtypes = 0; @@ -64,36 +64,36 @@ NBin::~NBin() memory->destroy(bins); memory->destroy(atom2bin); - if (!bins_multi2) return; + if (!bins_multi) return; - memory->destroy(nbinx_multi2); - memory->destroy(nbiny_multi2); - memory->destroy(nbinz_multi2); - memory->destroy(mbins_multi2); - memory->destroy(mbinx_multi2); - memory->destroy(mbiny_multi2); - memory->destroy(mbinz_multi2); - memory->destroy(mbinxlo_multi2); - memory->destroy(mbinylo_multi2); - memory->destroy(mbinzlo_multi2); + memory->destroy(nbinx_multi); + memory->destroy(nbiny_multi); + memory->destroy(nbinz_multi); + memory->destroy(mbins_multi); + memory->destroy(mbinx_multi); + memory->destroy(mbiny_multi); + memory->destroy(mbinz_multi); + memory->destroy(mbinxlo_multi); + memory->destroy(mbinylo_multi); + memory->destroy(mbinzlo_multi); - memory->destroy(binsizex_multi2); - memory->destroy(binsizey_multi2); - memory->destroy(binsizez_multi2); - memory->destroy(bininvx_multi2); - memory->destroy(bininvy_multi2); - memory->destroy(bininvz_multi2); + memory->destroy(binsizex_multi); + memory->destroy(binsizey_multi); + memory->destroy(binsizez_multi); + memory->destroy(bininvx_multi); + memory->destroy(bininvy_multi); + memory->destroy(bininvz_multi); for (int n = 1; n <= maxtypes; n++) { - memory->destroy(binhead_multi2[n]); - memory->destroy(bins_multi2[n]); - memory->destroy(atom2bin_multi2[n]); + memory->destroy(binhead_multi[n]); + memory->destroy(bins_multi[n]); + memory->destroy(atom2bin_multi[n]); } - delete [] binhead_multi2; - delete [] bins_multi2; - delete [] atom2bin_multi2; + delete [] binhead_multi; + delete [] bins_multi; + delete [] atom2bin_multi; - memory->destroy(maxbins_multi2); + memory->destroy(maxbins_multi); } /* ---------------------------------------------------------------------- */ @@ -177,7 +177,7 @@ int NBin::coord2bin(double *x) convert atom coords into local bin # for a particular type ------------------------------------------------------------------------- */ -int NBin::coord2bin_multi2(double *x, int it) +int NBin::coord2bin_multi(double *x, int it) { int ix,iy,iz; int ibin; @@ -186,33 +186,33 @@ int NBin::coord2bin_multi2(double *x, int it) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi2[it]) + nbinx_multi2[it]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[it]) + nbinx_multi[it]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]); - ix = MIN(ix,nbinx_multi2[it]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]); + ix = MIN(ix,nbinx_multi[it]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi2[it]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi2[it]) + nbiny_multi2[it]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[it]) + nbiny_multi[it]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]); - iy = MIN(iy,nbiny_multi2[it]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]); + iy = MIN(iy,nbiny_multi[it]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi2[it]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi2[it]) + nbinz_multi2[it]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[it]) + nbinz_multi[it]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]); - iz = MIN(iz,nbinz_multi2[it]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]); + iz = MIN(iz,nbinz_multi[it]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi2[it]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]) - 1; - ibin = (iz-mbinzlo_multi2[it])*mbiny_multi2[it]*mbinx_multi2[it] - + (iy-mbinylo_multi2[it])*mbinx_multi2[it] - + (ix-mbinxlo_multi2[it]); + ibin = (iz-mbinzlo_multi[it])*mbiny_multi[it]*mbinx_multi[it] + + (iy-mbinylo_multi[it])*mbinx_multi[it] + + (ix-mbinxlo_multi[it]); return ibin; } diff --git a/src/nbin.h b/src/nbin.h index 441e4815dd..8f95ad987e 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -38,18 +38,18 @@ class NBin : protected Pointers { int *bins; // index of next atom in same bin int *atom2bin; // bin assignment for each atom (local+ghost) - // Analogues for NBinMultimulti2 + // Analogues for NBinMultimulti - int *nbinx_multi2, *nbiny_multi2, *nbinz_multi2; - int *mbins_multi2; - int *mbinx_multi2, *mbiny_multi2, *mbinz_multi2; - int *mbinxlo_multi2, *mbinylo_multi2, *mbinzlo_multi2; - double *binsizex_multi2, *binsizey_multi2, *binsizez_multi2; - double *bininvx_multi2, *bininvy_multi2, *bininvz_multi2; + int *nbinx_multi, *nbiny_multi, *nbinz_multi; + int *mbins_multi; + int *mbinx_multi, *mbiny_multi, *mbinz_multi; + int *mbinxlo_multi, *mbinylo_multi, *mbinzlo_multi; + double *binsizex_multi, *binsizey_multi, *binsizez_multi; + double *bininvx_multi, *bininvy_multi, *bininvz_multi; - int **binhead_multi2; - int **bins_multi2; - int **atom2bin_multi2; + int **binhead_multi; + int **bins_multi; + int **atom2bin_multi; NBin(class LAMMPS *); ~NBin(); @@ -89,15 +89,15 @@ class NBin : protected Pointers { int maxbin; // size of binhead array - // data for multi/multi2 NBin + // data for multi/multi NBin - int maxtypes; // size of multi2 arrays - int * maxbins_multi2; // size of 2nd dimension of binhead_multi2 array + int maxtypes; // size of multi arrays + int * maxbins_multi; // size of 2nd dimension of binhead_multi array // methods int coord2bin(double *); - int coord2bin_multi2(double *, int); + int coord2bin_multi(double *, int); }; } diff --git a/src/nbin_multi2.cpp b/src/nbin_multi.cpp similarity index 55% rename from src/nbin_multi2.cpp rename to src/nbin_multi.cpp index f57558a36c..302fe30d88 100644 --- a/src/nbin_multi2.cpp +++ b/src/nbin_multi.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nbin_multi2.h" +#include "nbin_multi.h" #include "neighbor.h" #include "atom.h" #include "group.h" @@ -28,34 +28,34 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NBinMulti2::NBinMulti2(LAMMPS *lmp) : NBin(lmp) {} +NBinMulti::NBinMulti(LAMMPS *lmp) : NBin(lmp) {} /* ---------------------------------------------------------------------- setup for bin_atoms() ------------------------------------------------------------------------- */ -void NBinMulti2::bin_atoms_setup(int nall) +void NBinMulti::bin_atoms_setup(int nall) { - // binhead_multi2[n] = per-bin vector mbins in length mbins_multi2[n] + // binhead_multi[n] = per-bin vector mbins in length mbins_multi[n] for (int n = 1; n <= maxtypes; n++) { - if (mbins_multi2[n] > maxbins_multi2[n]) { - maxbins_multi2[n] = mbins_multi2[n]; - memory->destroy(binhead_multi2[n]); - memory->create(binhead_multi2[n], mbins_multi2[n], "neigh:mbins_multi2"); + if (mbins_multi[n] > maxbins_multi[n]) { + maxbins_multi[n] = mbins_multi[n]; + memory->destroy(binhead_multi[n]); + memory->create(binhead_multi[n], mbins_multi[n], "neigh:mbins_multi"); } } - // bins_multi2[n] and atom2bin_multi2[n] = per-atom vectors + // bins_multi[n] and atom2bin_multi[n] = per-atom vectors // for both local and ghost atoms if (nall > maxatom) { maxatom = nall; for (int n = 1; n <= maxtypes; n++) { - memory->destroy(bins_multi2[n]); - memory->destroy(atom2bin_multi2[n]); - memory->create(bins_multi2[n], maxatom, "neigh:bin_multi2"); - memory->create(atom2bin_multi2[n], maxatom, "neigh:atom2bin_multi2"); + memory->destroy(bins_multi[n]); + memory->destroy(atom2bin_multi[n]); + memory->create(bins_multi[n], maxatom, "neigh:bin_multi"); + memory->create(atom2bin_multi[n], maxatom, "neigh:atom2bin_multi"); } } } @@ -64,7 +64,7 @@ void NBinMulti2::bin_atoms_setup(int nall) Identify index of type with smallest cutoff ------------------------------------------------------------------------ */ -int NBinMulti2::itype_min() { +int NBinMulti::itype_min() { int itypemin = 1; double ** cutneighsq; @@ -84,7 +84,7 @@ int NBinMulti2::itype_min() { setup neighbor binning geometry ---------------------------------------------------------------------- */ -void NBinMulti2::setup_bins(int style) +void NBinMulti::setup_bins(int style) { int n; int itypemin; @@ -96,64 +96,64 @@ void NBinMulti2::setup_bins(int style) // Clear any/all memory for existing types for (n = 1; n <= maxtypes; n++) { - memory->destroy(atom2bin_multi2[n]); - memory->destroy(binhead_multi2[n]); - memory->destroy(bins_multi2[n]); + memory->destroy(atom2bin_multi[n]); + memory->destroy(binhead_multi[n]); + memory->destroy(bins_multi[n]); } - delete [] atom2bin_multi2; - delete [] binhead_multi2; - delete [] bins_multi2; + delete [] atom2bin_multi; + delete [] binhead_multi; + delete [] bins_multi; // Realloacte at updated maxtypes maxtypes = atom->ntypes; - atom2bin_multi2 = new int*[maxtypes+1](); - binhead_multi2 = new int*[maxtypes+1](); - bins_multi2 = new int*[maxtypes+1](); + atom2bin_multi = new int*[maxtypes+1](); + binhead_multi = new int*[maxtypes+1](); + bins_multi = new int*[maxtypes+1](); - memory->destroy(nbinx_multi2); - memory->destroy(nbiny_multi2); - memory->destroy(nbinz_multi2); - memory->create(nbinx_multi2, maxtypes+1, "neigh:nbinx_multi2"); - memory->create(nbiny_multi2, maxtypes+1, "neigh:nbiny_multi2"); - memory->create(nbinz_multi2, maxtypes+1, "neigh:nbinz_multi2"); + memory->destroy(nbinx_multi); + memory->destroy(nbiny_multi); + memory->destroy(nbinz_multi); + memory->create(nbinx_multi, maxtypes+1, "neigh:nbinx_multi"); + memory->create(nbiny_multi, maxtypes+1, "neigh:nbiny_multi"); + memory->create(nbinz_multi, maxtypes+1, "neigh:nbinz_multi"); - memory->destroy(mbins_multi2); - memory->destroy(mbinx_multi2); - memory->destroy(mbiny_multi2); - memory->destroy(mbinz_multi2); - memory->create(mbins_multi2, maxtypes+1, "neigh:mbins_multi2"); - memory->create(mbinx_multi2, maxtypes+1, "neigh:mbinx_multi2"); - memory->create(mbiny_multi2, maxtypes+1, "neigh:mbiny_multi2"); - memory->create(mbinz_multi2, maxtypes+1, "neigh:mbinz_multi2"); + memory->destroy(mbins_multi); + memory->destroy(mbinx_multi); + memory->destroy(mbiny_multi); + memory->destroy(mbinz_multi); + memory->create(mbins_multi, maxtypes+1, "neigh:mbins_multi"); + memory->create(mbinx_multi, maxtypes+1, "neigh:mbinx_multi"); + memory->create(mbiny_multi, maxtypes+1, "neigh:mbiny_multi"); + memory->create(mbinz_multi, maxtypes+1, "neigh:mbinz_multi"); - memory->destroy(mbinxlo_multi2); - memory->destroy(mbinylo_multi2); - memory->destroy(mbinzlo_multi2); - memory->create(mbinxlo_multi2, maxtypes+1, "neigh:mbinxlo_multi2"); - memory->create(mbinylo_multi2, maxtypes+1, "neigh:mbinylo_multi2"); - memory->create(mbinzlo_multi2, maxtypes+1, "neigh:mbinzlo_multi2"); + memory->destroy(mbinxlo_multi); + memory->destroy(mbinylo_multi); + memory->destroy(mbinzlo_multi); + memory->create(mbinxlo_multi, maxtypes+1, "neigh:mbinxlo_multi"); + memory->create(mbinylo_multi, maxtypes+1, "neigh:mbinylo_multi"); + memory->create(mbinzlo_multi, maxtypes+1, "neigh:mbinzlo_multi"); - memory->destroy(binsizex_multi2); - memory->destroy(binsizey_multi2); - memory->destroy(binsizez_multi2); - memory->create(binsizex_multi2, maxtypes+1, "neigh:binsizex_multi2"); - memory->create(binsizey_multi2, maxtypes+1, "neigh:binsizey_multi2"); - memory->create(binsizez_multi2, maxtypes+1, "neigh:binsizez_multi2"); + memory->destroy(binsizex_multi); + memory->destroy(binsizey_multi); + memory->destroy(binsizez_multi); + memory->create(binsizex_multi, maxtypes+1, "neigh:binsizex_multi"); + memory->create(binsizey_multi, maxtypes+1, "neigh:binsizey_multi"); + memory->create(binsizez_multi, maxtypes+1, "neigh:binsizez_multi"); - memory->destroy(bininvx_multi2); - memory->destroy(bininvy_multi2); - memory->destroy(bininvz_multi2); - memory->create(bininvx_multi2, maxtypes+1, "neigh:bininvx_multi2"); - memory->create(bininvy_multi2, maxtypes+1, "neigh:bininvy_multi2"); - memory->create(bininvz_multi2, maxtypes+1, "neigh:bininvz_multi2"); + memory->destroy(bininvx_multi); + memory->destroy(bininvy_multi); + memory->destroy(bininvz_multi); + memory->create(bininvx_multi, maxtypes+1, "neigh:bininvx_multi"); + memory->create(bininvy_multi, maxtypes+1, "neigh:bininvy_multi"); + memory->create(bininvz_multi, maxtypes+1, "neigh:bininvz_multi"); - memory->destroy(maxbins_multi2); - memory->create(maxbins_multi2, maxtypes+1, "neigh:maxbins_multi2"); + memory->destroy(maxbins_multi); + memory->create(maxbins_multi, maxtypes+1, "neigh:maxbins_multi"); // make sure reallocation occurs in bin_atoms_setup() for (n = 1; n <= maxtypes; n++) { - maxbins_multi2[n] = 0; + maxbins_multi[n] = 0; } maxatom = 0; } @@ -214,16 +214,16 @@ void NBinMulti2::setup_bins(int style) // create actual bins // always have one bin even if cutoff > bbox - // for 2d, nbinz_multi2[n] = 1 + // for 2d, nbinz_multi[n] = 1 - nbinx_multi2[n] = static_cast (bbox[0]*binsizeinv); - nbiny_multi2[n] = static_cast (bbox[1]*binsizeinv); - if (dimension == 3) nbinz_multi2[n] = static_cast (bbox[2]*binsizeinv); - else nbinz_multi2[n] = 1; + nbinx_multi[n] = static_cast (bbox[0]*binsizeinv); + nbiny_multi[n] = static_cast (bbox[1]*binsizeinv); + if (dimension == 3) nbinz_multi[n] = static_cast (bbox[2]*binsizeinv); + else nbinz_multi[n] = 1; - if (nbinx_multi2[n] == 0) nbinx_multi2[n] = 1; - if (nbiny_multi2[n] == 0) nbiny_multi2[n] = 1; - if (nbinz_multi2[n] == 0) nbinz_multi2[n] = 1; + if (nbinx_multi[n] == 0) nbinx_multi[n] = 1; + if (nbiny_multi[n] == 0) nbiny_multi[n] = 1; + if (nbinz_multi[n] == 0) nbinz_multi[n] = 1; // compute actual bin size for nbins to fit into box exactly // error if actual bin size << cutoff, since will create a zillion bins @@ -231,17 +231,17 @@ void NBinMulti2::setup_bins(int style) // typically due to non-periodic, flat system in a particular dim // in that extreme case, should use NSQ not BIN neighbor style - binsizex_multi2[n] = bbox[0]/nbinx_multi2[n]; - binsizey_multi2[n] = bbox[1]/nbiny_multi2[n]; - binsizez_multi2[n] = bbox[2]/nbinz_multi2[n]; + binsizex_multi[n] = bbox[0]/nbinx_multi[n]; + binsizey_multi[n] = bbox[1]/nbiny_multi[n]; + binsizez_multi[n] = bbox[2]/nbinz_multi[n]; - bininvx_multi2[n] = 1.0 / binsizex_multi2[n]; - bininvy_multi2[n] = 1.0 / binsizey_multi2[n]; - bininvz_multi2[n] = 1.0 / binsizez_multi2[n]; + bininvx_multi[n] = 1.0 / binsizex_multi[n]; + bininvy_multi[n] = 1.0 / binsizey_multi[n]; + bininvz_multi[n] = 1.0 / binsizez_multi[n]; - if (binsize_optimal*bininvx_multi2[n] > CUT2BIN_RATIO || - binsize_optimal*bininvy_multi2[n] > CUT2BIN_RATIO || - binsize_optimal*bininvz_multi2[n] > CUT2BIN_RATIO) + if (binsize_optimal*bininvx_multi[n] > CUT2BIN_RATIO || + binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO || + binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); // mbinlo/hi = lowest and highest global bins my ghost atoms could be in @@ -253,46 +253,46 @@ void NBinMulti2::setup_bins(int style) double coord; coord = bsubboxlo[0] - SMALL*bbox[0]; - mbinxlo_multi2[n] = static_cast ((coord-bboxlo[0])*bininvx_multi2[n]); - if (coord < bboxlo[0]) mbinxlo_multi2[n] = mbinxlo_multi2[n] - 1; + mbinxlo_multi[n] = static_cast ((coord-bboxlo[0])*bininvx_multi[n]); + if (coord < bboxlo[0]) mbinxlo_multi[n] = mbinxlo_multi[n] - 1; coord = bsubboxhi[0] + SMALL*bbox[0]; - mbinxhi = static_cast ((coord-bboxlo[0])*bininvx_multi2[n]); + mbinxhi = static_cast ((coord-bboxlo[0])*bininvx_multi[n]); coord = bsubboxlo[1] - SMALL*bbox[1]; - mbinylo_multi2[n] = static_cast ((coord-bboxlo[1])*bininvy_multi2[n]); - if (coord < bboxlo[1]) mbinylo_multi2[n] = mbinylo_multi2[n] - 1; + mbinylo_multi[n] = static_cast ((coord-bboxlo[1])*bininvy_multi[n]); + if (coord < bboxlo[1]) mbinylo_multi[n] = mbinylo_multi[n] - 1; coord = bsubboxhi[1] + SMALL*bbox[1]; - mbinyhi = static_cast ((coord-bboxlo[1])*bininvy_multi2[n]); + mbinyhi = static_cast ((coord-bboxlo[1])*bininvy_multi[n]); if (dimension == 3) { coord = bsubboxlo[2] - SMALL*bbox[2]; - mbinzlo_multi2[n] = static_cast ((coord-bboxlo[2])*bininvz_multi2[n]); - if (coord < bboxlo[2]) mbinzlo_multi2[n] = mbinzlo_multi2[n] - 1; + mbinzlo_multi[n] = static_cast ((coord-bboxlo[2])*bininvz_multi[n]); + if (coord < bboxlo[2]) mbinzlo_multi[n] = mbinzlo_multi[n] - 1; coord = bsubboxhi[2] + SMALL*bbox[2]; - mbinzhi = static_cast ((coord-bboxlo[2])*bininvz_multi2[n]); + mbinzhi = static_cast ((coord-bboxlo[2])*bininvz_multi[n]); } // extend bins by 1 to insure stencil extent is included // for 2d, only 1 bin in z - mbinxlo_multi2[n] = mbinxlo_multi2[n] - 1; + mbinxlo_multi[n] = mbinxlo_multi[n] - 1; mbinxhi = mbinxhi + 1; - mbinx_multi2[n] = mbinxhi - mbinxlo_multi2[n] + 1; + mbinx_multi[n] = mbinxhi - mbinxlo_multi[n] + 1; - mbinylo_multi2[n] = mbinylo_multi2[n] - 1; + mbinylo_multi[n] = mbinylo_multi[n] - 1; mbinyhi = mbinyhi + 1; - mbiny_multi2[n] = mbinyhi - mbinylo_multi2[n] + 1; + mbiny_multi[n] = mbinyhi - mbinylo_multi[n] + 1; if (dimension == 3) { - mbinzlo_multi2[n] = mbinzlo_multi2[n] - 1; + mbinzlo_multi[n] = mbinzlo_multi[n] - 1; mbinzhi = mbinzhi + 1; - } else mbinzlo_multi2[n] = mbinzhi = 0; - mbinz_multi2[n] = mbinzhi - mbinzlo_multi2[n] + 1; + } else mbinzlo_multi[n] = mbinzhi = 0; + mbinz_multi[n] = mbinzhi - mbinzlo_multi[n] + 1; - bigint bbin = ((bigint) mbinx_multi2[n]) - * ((bigint) mbiny_multi2[n]) * ((bigint) mbinz_multi2[n]) + 1; + bigint bbin = ((bigint) mbinx_multi[n]) + * ((bigint) mbiny_multi[n]) * ((bigint) mbinz_multi[n]) + 1; if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); - mbins_multi2[n] = bbin; + mbins_multi[n] = bbin; } } @@ -301,13 +301,13 @@ void NBinMulti2::setup_bins(int style) bin owned and ghost atoms by type ------------------------------------------------------------------------- */ -void NBinMulti2::bin_atoms() +void NBinMulti::bin_atoms() { int i,ibin,n; last_bin = update->ntimestep; for (n = 1; n <= maxtypes; n++) { - for (i = 0; i < mbins_multi2[n]; i++) binhead_multi2[n][i] = -1; + for (i = 0; i < mbins_multi[n]; i++) binhead_multi[n][i] = -1; } // bin in reverse order so linked list will be in forward order @@ -324,38 +324,38 @@ void NBinMulti2::bin_atoms() for (i = nall-1; i >= nlocal; i--) { if (mask[i] & bitmask) { n = type[i]; - ibin = coord2bin_multi2(x[i], n); - atom2bin_multi2[n][i] = ibin; - bins_multi2[n][i] = binhead_multi2[n][ibin]; - binhead_multi2[n][ibin] = i; + ibin = coord2bin_multi(x[i], n); + atom2bin_multi[n][i] = ibin; + bins_multi[n][i] = binhead_multi[n][ibin]; + binhead_multi[n][ibin] = i; } } for (i = atom->nfirst-1; i >= 0; i--) { n = type[i]; - ibin = coord2bin_multi2(x[i], n); - atom2bin_multi2[n][i] = ibin; - bins_multi2[n][i] = binhead_multi2[n][ibin]; - binhead_multi2[n][ibin] = i; + ibin = coord2bin_multi(x[i], n); + atom2bin_multi[n][i] = ibin; + bins_multi[n][i] = binhead_multi[n][ibin]; + binhead_multi[n][ibin] = i; } } else { for (i = nall-1; i >= 0; i--) { n = type[i]; - ibin = coord2bin_multi2(x[i], n); - atom2bin_multi2[n][i] = ibin; - bins_multi2[n][i] = binhead_multi2[n][ibin]; - binhead_multi2[n][ibin] = i; + ibin = coord2bin_multi(x[i], n); + atom2bin_multi[n][i] = ibin; + bins_multi[n][i] = binhead_multi[n][ibin]; + binhead_multi[n][ibin] = i; } } } /* ---------------------------------------------------------------------- */ -double NBinMulti2::memory_usage() +double NBinMulti::memory_usage() { double bytes = 0; for (int m = 1; m < maxtypes; m++) { - bytes += maxbins_multi2[m]*sizeof(int); + bytes += maxbins_multi[m]*sizeof(int); bytes += 2*maxatom*sizeof(int); } return bytes; diff --git a/src/nbin_multi2.h b/src/nbin_multi.h similarity index 85% rename from src/nbin_multi2.h rename to src/nbin_multi.h index 3094027f64..856f3fa722 100644 --- a/src/nbin_multi2.h +++ b/src/nbin_multi.h @@ -13,24 +13,24 @@ #ifdef NBIN_CLASS -NBinStyle(multi2, - NBinMulti2, - NB_MULTI2) +NBinStyle(multi, + NBinMulti, + NB_MULTI) #else -#ifndef LMP_NBIN_MULTI2_H -#define LMP_NBIN_MULTI2_H +#ifndef LMP_NBIN_MULTI_H +#define LMP_NBIN_MULTI_H #include "nbin.h" namespace LAMMPS_NS { -class NBinMulti2 : public NBin { +class NBinMulti : public NBin { public: - NBinMulti2(class LAMMPS *); - ~NBinMulti2() {} + NBinMulti(class LAMMPS *); + ~NBinMulti() {} void bin_atoms_setup(int); void setup_bins(int); void bin_atoms(); From 4a85afcde21dc63a8b35c5a1b789042bbb43dd07 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:22:42 -0700 Subject: [PATCH 046/542] Removing redundant stencils --- src/nstencil_half_bin_2d_newtoff.cpp | 37 --------------- src/nstencil_half_bin_3d_newtoff.cpp | 38 ---------------- src/nstencil_half_ghost_bin_2d_newtoff.cpp | 44 ------------------ src/nstencil_half_ghost_bin_3d_newtoff.cpp | 45 ------------------- src/nstencil_half_multi_2d_newtoff.cpp | 51 --------------------- src/nstencil_half_multi_3d_newtoff.cpp | 52 ---------------------- 6 files changed, 267 deletions(-) delete mode 100644 src/nstencil_half_bin_2d_newtoff.cpp delete mode 100644 src/nstencil_half_bin_3d_newtoff.cpp delete mode 100644 src/nstencil_half_ghost_bin_2d_newtoff.cpp delete mode 100644 src/nstencil_half_ghost_bin_3d_newtoff.cpp delete mode 100644 src/nstencil_half_multi_2d_newtoff.cpp delete mode 100644 src/nstencil_half_multi_3d_newtoff.cpp diff --git a/src/nstencil_half_bin_2d_newtoff.cpp b/src/nstencil_half_bin_2d_newtoff.cpp deleted file mode 100644 index 09c74d8b69..0000000000 --- a/src/nstencil_half_bin_2d_newtoff.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bin_2d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBin2dNewtoff::NStencilHalfBin2dNewtoff(LAMMPS *lmp) : - NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBin2dNewtoff::create() -{ - int i,j; - - nstencil = 0; - - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) - stencil[nstencil++] = j*mbinx + i; -} diff --git a/src/nstencil_half_bin_3d_newtoff.cpp b/src/nstencil_half_bin_3d_newtoff.cpp deleted file mode 100644 index 36b2a11c66..0000000000 --- a/src/nstencil_half_bin_3d_newtoff.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_bin_3d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfBin3dNewtoff::NStencilHalfBin3dNewtoff(LAMMPS *lmp) : - NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfBin3dNewtoff::create() -{ - int i,j,k; - - nstencil = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; -} diff --git a/src/nstencil_half_ghost_bin_2d_newtoff.cpp b/src/nstencil_half_ghost_bin_2d_newtoff.cpp deleted file mode 100644 index 0aa5202da8..0000000000 --- a/src/nstencil_half_ghost_bin_2d_newtoff.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_ghost_bin_2d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfGhostBin2dNewtoff:: -NStencilHalfGhostBin2dNewtoff(LAMMPS *lmp) : NStencil(lmp) -{ - xyzflag = 1; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfGhostBin2dNewtoff::create() -{ - int i,j; - - nstencil = 0; - - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,0) < cutneighmaxsq) { - stencilxyz[nstencil][0] = i; - stencilxyz[nstencil][1] = j; - stencilxyz[nstencil][2] = 0; - stencil[nstencil++] = j*mbinx + i; - } -} diff --git a/src/nstencil_half_ghost_bin_3d_newtoff.cpp b/src/nstencil_half_ghost_bin_3d_newtoff.cpp deleted file mode 100644 index 95016108e4..0000000000 --- a/src/nstencil_half_ghost_bin_3d_newtoff.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_ghost_bin_3d_newtoff.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfGhostBin3dNewtoff:: -NStencilHalfGhostBin3dNewtoff(LAMMPS *lmp) : NStencil(lmp) -{ - xyzflag = 1; -} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfGhostBin3dNewtoff::create() -{ - int i,j,k; - - nstencil = 0; - - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance(i,j,k) < cutneighmaxsq) { - stencilxyz[nstencil][0] = i; - stencilxyz[nstencil][1] = j; - stencilxyz[nstencil][2] = k; - stencil[nstencil++] = k*mbiny*mbinx + j*mbinx + i; - } -} diff --git a/src/nstencil_half_multi_2d_newtoff.cpp b/src/nstencil_half_multi_2d_newtoff.cpp deleted file mode 100644 index 9b6ea08862..0000000000 --- a/src/nstencil_half_multi_2d_newtoff.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_multi_2d_newtoff.h" -#include "atom.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfMulti2dNewtoff:: -NStencilHalfMulti2dNewtoff(LAMMPS *lmp) : NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfMulti2dNewtoff::create() -{ - int i,j,n; - double rsq,typesq; - int *s; - double *distsq; - - int ntypes = atom->ntypes; - for (int itype = 1; itype <= ntypes; itype++) { - typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; - n = 0; - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,0); - if (rsq < typesq) { - distsq[n] = rsq; - s[n++] = j*mbinx + i; - } - } - nstencil_multi[itype] = n; - } -} diff --git a/src/nstencil_half_multi_3d_newtoff.cpp b/src/nstencil_half_multi_3d_newtoff.cpp deleted file mode 100644 index 533ba21c3a..0000000000 --- a/src/nstencil_half_multi_3d_newtoff.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "nstencil_half_multi_3d_newtoff.h" -#include "atom.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -NStencilHalfMulti3dNewtoff:: -NStencilHalfMulti3dNewtoff(LAMMPS *lmp) : NStencil(lmp) {} - -/* ---------------------------------------------------------------------- - create stencil based on bin geometry and cutoff -------------------------------------------------------------------------- */ - -void NStencilHalfMulti3dNewtoff::create() -{ - int i,j,k,n; - double rsq,typesq; - int *s; - double *distsq; - - int ntypes = atom->ntypes; - for (int itype = 1; itype <= ntypes; itype++) { - typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; - n = 0; - for (k = -sz; k <= sz; k++) - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) { - rsq = bin_distance(i,j,k); - if (rsq < typesq) { - distsq[n] = rsq; - s[n++] = k*mbiny*mbinx + j*mbinx + i; - } - } - nstencil_multi[itype] = n; - } -} From 1c52ff15c37df375d8b91b1f1b7c81aefed481da Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:39:20 -0700 Subject: [PATCH 047/542] Renaming multi nstencils to multi/old --- src/nstencil.cpp | 232 +++++++++--------- src/nstencil.h | 60 +++-- ..._2d.cpp => nstencil_full_multi_old_2d.cpp} | 12 +- src/nstencil_full_multi_old_2d.h | 43 ++++ ..._3d.cpp => nstencil_full_multi_old_3d.cpp} | 12 +- src/nstencil_full_multi_old_3d.h | 43 ++++ src/nstencil_half_multi_3d.h | 42 ---- src/nstencil_half_multi_3d_tri.h | 42 ---- ..._2d.cpp => nstencil_half_multi_old_2d.cpp} | 14 +- ..._2d_tri.h => nstencil_half_multi_old_2d.h} | 14 +- ...cpp => nstencil_half_multi_old_2d_tri.cpp} | 14 +- ..._2d.h => nstencil_half_multi_old_2d_tri.h} | 14 +- ..._3d.cpp => nstencil_half_multi_old_3d.cpp} | 14 +- ...ulti_2d.h => nstencil_half_multi_old_3d.h} | 15 +- ...cpp => nstencil_half_multi_old_3d_tri.cpp} | 14 +- ..._3d.h => nstencil_half_multi_old_3d_tri.h} | 15 +- 16 files changed, 298 insertions(+), 302 deletions(-) rename src/{nstencil_full_multi_2d.cpp => nstencil_full_multi_old_2d.cpp} (83%) create mode 100644 src/nstencil_full_multi_old_2d.h rename src/{nstencil_full_multi_3d.cpp => nstencil_full_multi_old_3d.cpp} (84%) create mode 100644 src/nstencil_full_multi_old_3d.h delete mode 100644 src/nstencil_half_multi_3d.h delete mode 100644 src/nstencil_half_multi_3d_tri.h rename src/{nstencil_half_multi_2d.cpp => nstencil_half_multi_old_2d.cpp} (84%) rename src/{nstencil_half_multi_2d_tri.h => nstencil_half_multi_old_2d.h} (71%) rename src/{nstencil_half_multi_2d_tri.cpp => nstencil_half_multi_old_2d_tri.cpp} (82%) rename src/{nstencil_half_multi_2d.h => nstencil_half_multi_old_2d_tri.h} (69%) rename src/{nstencil_half_multi_3d.cpp => nstencil_half_multi_old_3d.cpp} (84%) rename src/{nstencil_full_multi_2d.h => nstencil_half_multi_old_3d.h} (71%) rename src/{nstencil_half_multi_3d_tri.cpp => nstencil_half_multi_old_3d_tri.cpp} (83%) rename src/{nstencil_full_multi_3d.h => nstencil_half_multi_old_3d_tri.h} (69%) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 6fece15dcd..42ddbaff30 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -46,12 +46,12 @@ using namespace LAMMPS_NS; in 2d is all bins in y-plane of self and above, but not below stencil includes self no versions that allow ghost on (no callers need it?) - for multi: + for multi/old: create one stencil for each atom type stencil follows same rules for half/full, newton on/off, triclinic cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) - for multi2: + for multi: create one stencil for each itype-jtype pairing the full/half stencil label refers to the same-type stencil a half list with newton on has a half same-type stencil @@ -68,16 +68,16 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) last_stencil = -1; xyzflag = 0; - maxstencil = maxstencil_multi = 0; + maxstencil = maxstencil_multi_old = 0; stencil = nullptr; stencilxyz = nullptr; - nstencil_multi = nullptr; - stencil_multi = nullptr; - distsq_multi = nullptr; + nstencil_multi_old = nullptr; + stencil_multi_old = nullptr; + distsq_multi_old = nullptr; - nstencil_multi2 = nullptr; - stencil_multi2 = nullptr; - maxstencil_multi2 = nullptr; + nstencil_multi = nullptr; + stencil_multi = nullptr; + maxstencil_multi = nullptr; stencil_half = nullptr; stencil_skip = nullptr; @@ -93,46 +93,46 @@ NStencil::~NStencil() memory->destroy(stencil); memory->destroy(stencilxyz); - if (stencil_multi) { + if (stencil_multi_old) { int n = atom->ntypes; for (int i = 1; i <= n; i++) { - memory->destroy(stencil_multi[i]); - memory->destroy(distsq_multi[i]); + memory->destroy(stencil_multi_old[i]); + memory->destroy(distsq_multi_old[i]); } - delete [] nstencil_multi; - delete [] stencil_multi; - delete [] distsq_multi; + delete [] nstencil_multi_old; + delete [] stencil_multi_old; + delete [] distsq_multi_old; } - if (stencil_multi2) { + if (stencil_multi) { int n = atom->ntypes; - memory->destroy(nstencil_multi2); + memory->destroy(nstencil_multi); for (int i = 1; i <= n; i++) { for (int j = 0; j <= n; j++) { if (! stencil_skip[i][j]) - memory->destroy(stencil_multi2[i][j]); + memory->destroy(stencil_multi[i][j]); } - delete [] stencil_multi2[i]; + delete [] stencil_multi[i]; } - delete [] stencil_multi2; - memory->destroy(maxstencil_multi2); + delete [] stencil_multi; + memory->destroy(maxstencil_multi); memory->destroy(stencil_half); memory->destroy(stencil_skip); memory->destroy(stencil_bin_type); - memory->destroy(stencil_sx_multi2); - memory->destroy(stencil_sy_multi2); - memory->destroy(stencil_sz_multi2); + memory->destroy(stencil_sx_multi); + memory->destroy(stencil_sy_multi); + memory->destroy(stencil_sz_multi); - memory->destroy(stencil_mbinx_multi2); - memory->destroy(stencil_mbiny_multi2); - memory->destroy(stencil_mbinz_multi2); + memory->destroy(stencil_mbinx_multi); + memory->destroy(stencil_mbiny_multi); + memory->destroy(stencil_mbinz_multi); - memory->destroy(stencil_binsizex_multi2); - memory->destroy(stencil_binsizey_multi2); - memory->destroy(stencil_binsizez_multi2); + memory->destroy(stencil_binsizex_multi); + memory->destroy(stencil_binsizey_multi); + memory->destroy(stencil_binsizez_multi); } } @@ -183,20 +183,20 @@ void NStencil::copy_bin_info() } /* ---------------------------------------------------------------------- - copy needed info for multi2 from NBin class to this stencil class + copy needed info for multi from NBin class to this stencil class ------------------------------------------------------------------------- */ -void NStencil::copy_bin_info_multi2() +void NStencil::copy_bin_info_multi() { - mbinx_multi2 = nb->mbinx_multi2; - mbiny_multi2 = nb->mbiny_multi2; - mbinz_multi2 = nb->mbinz_multi2; - binsizex_multi2 = nb->binsizex_multi2; - binsizey_multi2 = nb->binsizey_multi2; - binsizez_multi2 = nb->binsizez_multi2; - bininvx_multi2 = nb->bininvx_multi2; - bininvy_multi2 = nb->bininvy_multi2; - bininvz_multi2 = nb->bininvz_multi2; + mbinx_multi = nb->mbinx_multi; + mbiny_multi = nb->mbiny_multi; + mbinz_multi = nb->mbinz_multi; + binsizex_multi = nb->binsizex_multi; + binsizey_multi = nb->binsizey_multi; + binsizez_multi = nb->binsizez_multi; + bininvx_multi = nb->bininvx_multi; + bininvy_multi = nb->bininvy_multi; + bininvz_multi = nb->bininvz_multi; } /* ---------------------------------------------------------------------- @@ -207,7 +207,7 @@ void NStencil::copy_bin_info_multi2() void NStencil::create_setup() { - if (neighstyle != Neighbor::MULTI2){ + if (neighstyle != Neighbor::MULTI){ if (nb) copy_bin_info(); last_stencil = update->ntimestep; @@ -242,25 +242,25 @@ void NStencil::create_setup() } else { int i; int n = atom->ntypes; - if (maxstencil_multi == 0) { - nstencil_multi = new int[n+1]; - stencil_multi = new int*[n+1]; - distsq_multi = new double*[n+1]; + if (maxstencil_multi_old == 0) { + nstencil_multi_old = new int[n+1]; + stencil_multi_old = new int*[n+1]; + distsq_multi_old = new double*[n+1]; for (i = 1; i <= n; i++) { - nstencil_multi[i] = 0; - stencil_multi[i] = nullptr; - distsq_multi[i] = nullptr; + nstencil_multi_old[i] = 0; + stencil_multi_old[i] = nullptr; + distsq_multi_old[i] = nullptr; } } - if (smax > maxstencil_multi) { - maxstencil_multi = smax; + if (smax > maxstencil_multi_old) { + maxstencil_multi_old = smax; for (i = 1; i <= n; i++) { - memory->destroy(stencil_multi[i]); - memory->destroy(distsq_multi[i]); - memory->create(stencil_multi[i],maxstencil_multi, - "neighstencil:stencil_multi"); - memory->create(distsq_multi[i],maxstencil_multi, - "neighstencil:distsq_multi"); + memory->destroy(stencil_multi_old[i]); + memory->destroy(distsq_multi_old[i]); + memory->create(stencil_multi_old[i],maxstencil_multi_old, + "neighstencil:stencil_multi_old"); + memory->create(distsq_multi_old[i],maxstencil_multi_old, + "neighstencil:distsq_multi_old"); } } } @@ -269,7 +269,7 @@ void NStencil::create_setup() double stencil_range; int n = atom->ntypes; - if(nb) copy_bin_info_multi2(); + if(nb) copy_bin_info_multi(); // Allocate arrays to store stencil information memory->create(stencil_half, n+1, n+1, @@ -279,26 +279,26 @@ void NStencil::create_setup() memory->create(stencil_bin_type, n+1, n+1, "neighstencil:stencil_bin_type"); - memory->create(stencil_sx_multi2, n+1, n+1, - "neighstencil:stencil_sx_multi2"); - memory->create(stencil_sy_multi2, n+1, n+1, - "neighstencil:stencil_sy_multi2"); - memory->create(stencil_sz_multi2, n+1, n+1, - "neighstencil:stencil_sz_multi2"); + memory->create(stencil_sx_multi, n+1, n+1, + "neighstencil:stencil_sx_multi"); + memory->create(stencil_sy_multi, n+1, n+1, + "neighstencil:stencil_sy_multi"); + memory->create(stencil_sz_multi, n+1, n+1, + "neighstencil:stencil_sz_multi"); - memory->create(stencil_binsizex_multi2, n+1, n+1, - "neighstencil:stencil_binsizex_multi2"); - memory->create(stencil_binsizey_multi2, n+1, n+1, - "neighstencil:stencil_binsizey_multi2"); - memory->create(stencil_binsizez_multi2, n+1, n+1, - "neighstencil:stencil_binsizez_multi2"); + memory->create(stencil_binsizex_multi, n+1, n+1, + "neighstencil:stencil_binsizex_multi"); + memory->create(stencil_binsizey_multi, n+1, n+1, + "neighstencil:stencil_binsizey_multi"); + memory->create(stencil_binsizez_multi, n+1, n+1, + "neighstencil:stencil_binsizez_multi"); - memory->create(stencil_mbinx_multi2, n+1, n+1, - "neighstencil:stencil_mbinx_multi2"); - memory->create(stencil_mbiny_multi2, n+1, n+1, - "neighstencil:stencil_mbiny_multi2"); - memory->create(stencil_mbinz_multi2, n+1, n+1, - "neighstencil:stencil_mbinz_multi2"); + memory->create(stencil_mbinx_multi, n+1, n+1, + "neighstencil:stencil_mbinx_multi"); + memory->create(stencil_mbiny_multi, n+1, n+1, + "neighstencil:stencil_mbiny_multi"); + memory->create(stencil_mbinz_multi, n+1, n+1, + "neighstencil:stencil_mbinz_multi"); // Skip all stencils by default, initialize smax for (i = 1; i <= n; i++) { @@ -312,15 +312,15 @@ void NStencil::create_setup() // Allocate arrays to store stencils - if (!maxstencil_multi2) { - memory->create(maxstencil_multi2, n+1, n+1, "neighstencil::stencil_multi2"); - memory->create(nstencil_multi2, n+1, n+1, "neighstencil::nstencil_multi2"); - stencil_multi2 = new int**[n+1](); + if (!maxstencil_multi) { + memory->create(maxstencil_multi, n+1, n+1, "neighstencil::stencil_multi"); + memory->create(nstencil_multi, n+1, n+1, "neighstencil::nstencil_multi"); + stencil_multi = new int**[n+1](); for (i = 1; i <= n; ++i) { - stencil_multi2[i] = new int*[n+1](); + stencil_multi[i] = new int*[n+1](); for (j = 1; j <= n; ++j) { - maxstencil_multi2[i][j] = 0; - nstencil_multi2[i][j] = 0; + maxstencil_multi[i][j] = 0; + nstencil_multi[i][j] = 0; } } } @@ -334,34 +334,34 @@ void NStencil::create_setup() // Copy bin info for this particular pair of types bin_type = stencil_bin_type[i][j]; - stencil_binsizex_multi2[i][j] = binsizex_multi2[bin_type]; - stencil_binsizey_multi2[i][j] = binsizey_multi2[bin_type]; - stencil_binsizez_multi2[i][j] = binsizez_multi2[bin_type]; + stencil_binsizex_multi[i][j] = binsizex_multi[bin_type]; + stencil_binsizey_multi[i][j] = binsizey_multi[bin_type]; + stencil_binsizez_multi[i][j] = binsizez_multi[bin_type]; - stencil_mbinx_multi2[i][j] = mbinx_multi2[bin_type]; - stencil_mbiny_multi2[i][j] = mbiny_multi2[bin_type]; - stencil_mbinz_multi2[i][j] = mbinz_multi2[bin_type]; + stencil_mbinx_multi[i][j] = mbinx_multi[bin_type]; + stencil_mbiny_multi[i][j] = mbiny_multi[bin_type]; + stencil_mbinz_multi[i][j] = mbinz_multi[bin_type]; stencil_range = sqrt(cutneighsq[i][j]); - sx = static_cast (stencil_range*bininvx_multi2[bin_type]); - if (sx*binsizex_multi2[bin_type] < stencil_range) sx++; - sy = static_cast (stencil_range*bininvy_multi2[bin_type]); - if (sy*binsizey_multi2[bin_type] < stencil_range) sy++; - sz = static_cast (stencil_range*bininvz_multi2[bin_type]); - if (sz*binsizez_multi2[bin_type] < stencil_range) sz++; + sx = static_cast (stencil_range*bininvx_multi[bin_type]); + if (sx*binsizex_multi[bin_type] < stencil_range) sx++; + sy = static_cast (stencil_range*bininvy_multi[bin_type]); + if (sy*binsizey_multi[bin_type] < stencil_range) sy++; + sz = static_cast (stencil_range*bininvz_multi[bin_type]); + if (sz*binsizez_multi[bin_type] < stencil_range) sz++; - stencil_sx_multi2[i][j] = sx; - stencil_sy_multi2[i][j] = sy; - stencil_sz_multi2[i][j] = sz; + stencil_sx_multi[i][j] = sx; + stencil_sy_multi[i][j] = sy; + stencil_sz_multi[i][j] = sz; smax = ((2*sx+1) * (2*sy+1) * (2*sz+1)); - if (smax > maxstencil_multi2[i][j]) { - maxstencil_multi2[i][j] = smax; - memory->destroy(stencil_multi2[i][j]); - memory->create(stencil_multi2[i][j], smax, - "neighstencil::stencil_multi2"); + if (smax > maxstencil_multi[i][j]) { + maxstencil_multi[i][j] = smax; + memory->destroy(stencil_multi[i][j]); + memory->create(stencil_multi[i][j], smax, + "neighstencil::stencil_multi"); } } } @@ -396,21 +396,21 @@ double NStencil::bin_distance(int i, int j, int k) compute closest distance for a given atom type ------------------------------------------------------------------------- */ -double NStencil::bin_distance_multi2(int i, int j, int k, int type) +double NStencil::bin_distance_multi(int i, int j, int k, int type) { double delx,dely,delz; - if (i > 0) delx = (i-1)*binsizex_multi2[type]; + if (i > 0) delx = (i-1)*binsizex_multi[type]; else if (i == 0) delx = 0.0; - else delx = (i+1)*binsizex_multi2[type]; + else delx = (i+1)*binsizex_multi[type]; - if (j > 0) dely = (j-1)*binsizey_multi2[type]; + if (j > 0) dely = (j-1)*binsizey_multi[type]; else if (j == 0) dely = 0.0; - else dely = (j+1)*binsizey_multi2[type]; + else dely = (j+1)*binsizey_multi[type]; - if (k > 0) delz = (k-1)*binsizez_multi2[type]; + if (k > 0) delz = (k-1)*binsizez_multi[type]; else if (k == 0) delz = 0.0; - else delz = (k+1)*binsizez_multi2[type]; + else delz = (k+1)*binsizez_multi[type]; return (delx*delx + dely*dely + delz*delz); } @@ -423,16 +423,16 @@ double NStencil::memory_usage() if (neighstyle == Neighbor::BIN) { bytes += memory->usage(stencil,maxstencil); bytes += memory->usage(stencilxyz,maxstencil,3); + } else if (neighstyle == Neighbor::MULTI_OLD) { + bytes += atom->ntypes*maxstencil_multi_old * sizeof(int); + bytes += atom->ntypes*maxstencil_multi_old * sizeof(double); } else if (neighstyle == Neighbor::MULTI) { - bytes += atom->ntypes*maxstencil_multi * sizeof(int); - bytes += atom->ntypes*maxstencil_multi * sizeof(double); - } else if (neighstyle == Neighbor::MULTI2) { int n = atom->ntypes; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { - bytes += maxstencil_multi2[i][j] * sizeof(int); - bytes += maxstencil_multi2[i][j] * sizeof(int); - bytes += maxstencil_multi2[i][j] * sizeof(double); + bytes += maxstencil_multi[i][j] * sizeof(int); + bytes += maxstencil_multi[i][j] * sizeof(int); + bytes += maxstencil_multi[i][j] * sizeof(double); } } bytes += 2 * n * n * sizeof(bool); diff --git a/src/nstencil.h b/src/nstencil.h index 60e584b2a0..28c7fb0ec2 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -27,21 +27,17 @@ class NStencil : protected Pointers { int nstencil; // # of bins in stencil int *stencil; // list of bin offsets int **stencilxyz; // bin offsets in xyz dims - int *nstencil_multi; // # bins in each type-based multi stencil - int **stencil_multi; // list of bin offsets in each stencil - double **distsq_multi; // sq distances to bins in each stencil - int ** nstencil_multi2; // # bins bins in each itype-jtype multi2 stencil - int *** stencil_multi2; // list of bin offsets in each multi2 stencil - int ** maxstencil_multi2; // max stencil size for each multi2 stencil - - // Note distsq_multi is used in multi to quickly skip bins beyond interaction cutoff - // Not quite sure why bins are beyond this distance? Have to think - // Probably not needed for multi2 since bins are more efficiently chosen + int *nstencil_multi_old; // # bins in each type-based old multi stencil + int **stencil_multi_old; // list of bin offsets in each stencil + double **distsq_multi_old; // sq distances to bins in each stencil + int ** nstencil_multi; // # bins bins in each itype-jtype multi stencil + int *** stencil_multi; // list of bin offsets in each multi stencil + int ** maxstencil_multi; // max stencil size for each multi stencil int sx,sy,sz; // extent of stencil in each dim - int **stencil_sx_multi2; // analogs for each multi2 stencil - int **stencil_sy_multi2; - int **stencil_sz_multi2; + int **stencil_sx_multi; // analogs for each multi stencil + int **stencil_sy_multi; + int **stencil_sz_multi; double cutoff_custom; // cutoff set by requestor @@ -77,32 +73,32 @@ class NStencil : protected Pointers { double binsizex,binsizey,binsizez; double bininvx,bininvy,bininvz; - // data from NBin class for multi2 + // data from NBin class for multi - int *mbinx_multi2; - int *mbiny_multi2; - int *mbinz_multi2; - double *binsizex_multi2; - double *binsizey_multi2; - double *binsizez_multi2; - double *bininvx_multi2; - double *bininvy_multi2; - double *bininvz_multi2; + int *mbinx_multi; + int *mbiny_multi; + int *mbinz_multi; + double *binsizex_multi; + double *binsizey_multi; + double *binsizez_multi; + double *bininvx_multi; + double *bininvy_multi; + double *bininvz_multi; // Stored bin information for each stencil - int **stencil_mbinx_multi2; - int **stencil_mbiny_multi2; - int **stencil_mbinz_multi2; - double **stencil_binsizex_multi2; - double **stencil_binsizey_multi2; - double **stencil_binsizez_multi2; + int **stencil_mbinx_multi; + int **stencil_mbiny_multi; + int **stencil_mbinz_multi; + double **stencil_binsizex_multi; + double **stencil_binsizey_multi; + double **stencil_binsizez_multi; // data common to all NStencil variants int xyzflag; // 1 if stencilxyz is allocated int maxstencil; // max size of stencil - int maxstencil_multi; // max sizes of stencils + int maxstencil_multi_old; // max sizes of stencils int dimension; @@ -113,8 +109,8 @@ class NStencil : protected Pointers { // methods for multi2 NStencil - double bin_distance_multi2(int, int, int, int); // distance between bin corners for different types - void copy_bin_info_multi2(); // copy mult2 info from NBin class + double bin_distance_multi(int, int, int, int); // distance between bin corners for different types + void copy_bin_info_multi(); // copy multi info from NBin class virtual void set_stencil_properties(){} // determine which stencils to build and how }; diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_old_2d.cpp similarity index 83% rename from src/nstencil_full_multi_2d.cpp rename to src/nstencil_full_multi_old_2d.cpp index b71ca5e55d..ec2dba322e 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_old_2d.cpp @@ -11,20 +11,20 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_full_multi_2d.h" +#include "nstencil_full_multi_old_2d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilFullMulti2d::NStencilFullMulti2d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilFullMultiOld2d::NStencilFullMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilFullMulti2d::create() +void NStencilFullMultiOld2d::create() { int i,j,n; double rsq,typesq; @@ -34,8 +34,8 @@ void NStencilFullMulti2d::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) { @@ -45,6 +45,6 @@ void NStencilFullMulti2d::create() s[n++] = j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_full_multi_old_2d.h b/src/nstencil_full_multi_old_2d.h new file mode 100644 index 0000000000..d75df8bce7 --- /dev/null +++ b/src/nstencil_full_multi_old_2d.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(full/multi/old/2d, + NStencilFullMultiOld2d, + NS_FULL | NS_MULTI_OLD | NS_2D | NS_ORTHO | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_FULL_MULTI_OLD_2D_H +#define LMP_NSTENCIL_FULL_MULTI_OLD_2D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilFullMultiOld2d : public NStencil { + public: + NStencilFullMultiOld2d(class LAMMPS *); + ~NStencilFullMultiOld2d() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_old_3d.cpp similarity index 84% rename from src/nstencil_full_multi_3d.cpp rename to src/nstencil_full_multi_old_3d.cpp index 2c63476ae6..2bfd962261 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_old_3d.cpp @@ -11,20 +11,20 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_full_multi_3d.h" +#include "nstencil_full_multi_old_3d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilFullMulti3d::NStencilFullMulti3d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilFullMultiOld3d::NStencilFullMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilFullMulti3d::create() +void NStencilFullMultiOld3d::create() { int i,j,k,n; double rsq,typesq; @@ -34,8 +34,8 @@ void NStencilFullMulti3d::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) @@ -46,6 +46,6 @@ void NStencilFullMulti3d::create() s[n++] = k*mbiny*mbinx + j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_full_multi_old_3d.h b/src/nstencil_full_multi_old_3d.h new file mode 100644 index 0000000000..bcc6f551a0 --- /dev/null +++ b/src/nstencil_full_multi_old_3d.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(full/multi/old/3d, + NStencilFullMultiOld3d, + NS_FULL | NS_MULTI_OLD | NS_3D | NS_ORTHO | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_FULL_MULTI_OLD_3D_H +#define LMP_NSTENCIL_FULL_MULTI_OLD_3D_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilFullMultiOld3d : public NStencil { + public: + NStencilFullMultiOld3d(class LAMMPS *); + ~NStencilFullMultiOld3d() {} + void create(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi_3d.h b/src/nstencil_half_multi_3d.h deleted file mode 100644 index 51cf9d5c29..0000000000 --- a/src/nstencil_half_multi_3d.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/3d, - NStencilHalfMulti3d, NS_HALF | NS_MULTI | NS_3D | NS_ORTHO) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_3D_H -#define LMP_NSTENCIL_HALF_MULTI_3D_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti3d : public NStencil { - public: - NStencilHalfMulti3d(class LAMMPS *); - ~NStencilHalfMulti3d() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_3d_tri.h b/src/nstencil_half_multi_3d_tri.h deleted file mode 100644 index f33f65cfea..0000000000 --- a/src/nstencil_half_multi_3d_tri.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi/3d/tri, - NStencilHalfMulti3dTri, NS_HALF | NS_MULTI | NS_3D | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI_3D_TRI_H -#define LMP_NSTENCIL_HALF_MULTI_3D_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti3dTri : public NStencil { - public: - NStencilHalfMulti3dTri(class LAMMPS *); - ~NStencilHalfMulti3dTri() {} - void create(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_old_2d.cpp similarity index 84% rename from src/nstencil_half_multi_2d.cpp rename to src/nstencil_half_multi_old_2d.cpp index 6642c2decd..18efc14703 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_old_2d.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_2d.h" +#include "nstencil_half_multi_old_2d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2d:: -NStencilHalfMulti2d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld2d:: +NStencilHalfMultiOld2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti2d::create() +void NStencilHalfMultiOld2d::create() { int i,j,n; double rsq,typesq; @@ -35,8 +35,8 @@ void NStencilHalfMulti2d::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) @@ -47,6 +47,6 @@ void NStencilHalfMulti2d::create() s[n++] = j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_half_multi_2d_tri.h b/src/nstencil_half_multi_old_2d.h similarity index 71% rename from src/nstencil_half_multi_2d_tri.h rename to src/nstencil_half_multi_old_2d.h index 776c42e96b..ef9e127978 100644 --- a/src/nstencil_half_multi_2d_tri.h +++ b/src/nstencil_half_multi_old_2d.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi/2d/tri, - NStencilHalfMulti2dTri, NS_HALF | NS_MULTI | NS_2D | NS_TRI) +NStencilStyle(half/multi/old/2d, + NStencilHalfMultiOld2d, NS_HALF | NS_MULTI_OLD | NS_2D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_MULTI_2D_TRI_H -#define LMP_NSTENCIL_HALF_MULTI_2D_TRI_H +#ifndef LMP_NSTENCIL_HALF_MULTI_OLD_2D_H +#define LMP_NSTENCIL_HALF_MULTI_OLD_2D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti2dTri : public NStencil { +class NStencilHalfMultiOld2d : public NStencil { public: - NStencilHalfMulti2dTri(class LAMMPS *); - ~NStencilHalfMulti2dTri() {} + NStencilHalfMultiOld2d(class LAMMPS *); + ~NStencilHalfMultiOld2d() {} void create(); }; diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_old_2d_tri.cpp similarity index 82% rename from src/nstencil_half_multi_2d_tri.cpp rename to src/nstencil_half_multi_old_2d_tri.cpp index f9ed49404c..24056c2ada 100644 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_old_2d_tri.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_2d_tri.h" +#include "nstencil_half_multi_old_2d_tri.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2dTri:: -NStencilHalfMulti2dTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld2dTri:: +NStencilHalfMultiOld2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti2dTri::create() +void NStencilHalfMultiOld2dTri::create() { int i,j,n; double rsq,typesq; @@ -35,8 +35,8 @@ void NStencilHalfMulti2dTri::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) { @@ -46,6 +46,6 @@ void NStencilHalfMulti2dTri::create() s[n++] = j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_half_multi_2d.h b/src/nstencil_half_multi_old_2d_tri.h similarity index 69% rename from src/nstencil_half_multi_2d.h rename to src/nstencil_half_multi_old_2d_tri.h index 128d37a2e9..0c79ae8c96 100644 --- a/src/nstencil_half_multi_2d.h +++ b/src/nstencil_half_multi_old_2d_tri.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi/2d, - NStencilHalfMulti2d, NS_HALF | NS_MULTI | NS_2D | NS_ORTHO) +NStencilStyle(half/multi/old/2d/tri, + NStencilHalfMultiOld2dTri, NS_HALF | NS_MULTI_OLD | NS_2D | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_MULTI_2D_H -#define LMP_NSTENCIL_HALF_MULTI_2D_H +#ifndef LMP_NSTENCIL_HALF_MULTI_OLD_2D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_OLD_2D_TRI_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti2d : public NStencil { +class NStencilHalfMultiOld2dTri : public NStencil { public: - NStencilHalfMulti2d(class LAMMPS *); - ~NStencilHalfMulti2d() {} + NStencilHalfMultiOld2dTri(class LAMMPS *); + ~NStencilHalfMultiOld2dTri() {} void create(); }; diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_old_3d.cpp similarity index 84% rename from src/nstencil_half_multi_3d.cpp rename to src/nstencil_half_multi_old_3d.cpp index 119398f960..ebdd09674d 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_old_3d.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_3d.h" +#include "nstencil_half_multi_old_3d.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3d:: -NStencilHalfMulti3d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld3d:: +NStencilHalfMultiOld3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti3d::create() +void NStencilHalfMultiOld3d::create() { int i,j,k,n; double rsq,typesq; @@ -35,8 +35,8 @@ void NStencilHalfMulti3d::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) @@ -48,6 +48,6 @@ void NStencilHalfMulti3d::create() s[n++] = k*mbiny*mbinx + j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_full_multi_2d.h b/src/nstencil_half_multi_old_3d.h similarity index 71% rename from src/nstencil_full_multi_2d.h rename to src/nstencil_half_multi_old_3d.h index 2c28bb56bf..b37134b4cc 100644 --- a/src/nstencil_full_multi_2d.h +++ b/src/nstencil_half_multi_old_3d.h @@ -13,23 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/multi/2d, - NStencilFullMulti2d, - NS_FULL | NS_MULTI | NS_2D | NS_ORTHO | NS_TRI) +NStencilStyle(half/multi_old/3d, + NStencilHalfMultiOld3d, NS_HALF | NS_MULTI_OLD | NS_3D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_FULL_MULTI_2D_H -#define LMP_NSTENCIL_FULL_MULTI_2D_H +#ifndef LMP_NSTENCIL_HALF_MULTI_OLD_3D_H +#define LMP_NSTENCIL_HALF_MULTI_OLD_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilFullMulti2d : public NStencil { +class NStencilHalfMultiOld3d : public NStencil { public: - NStencilFullMulti2d(class LAMMPS *); - ~NStencilFullMulti2d() {} + NStencilHalfMultiOld3d(class LAMMPS *); + ~NStencilHalfMultiOld3d() {} void create(); }; diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_old_3d_tri.cpp similarity index 83% rename from src/nstencil_half_multi_3d_tri.cpp rename to src/nstencil_half_multi_old_3d_tri.cpp index ca31a5a073..27dd320c6b 100644 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_old_3d_tri.cpp @@ -11,21 +11,21 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi_3d_tri.h" +#include "nstencil_half_multi_old_3d_tri.h" #include "atom.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3dTri:: -NStencilHalfMulti3dTri(LAMMPS *lmp) : NStencil(lmp) {} +NStencilHalfMultiOld3dTri:: +NStencilHalfMultiOld3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- create stencil based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti3dTri::create() +void NStencilHalfMultiOld3dTri::create() { int i,j,k,n; double rsq,typesq; @@ -35,8 +35,8 @@ void NStencilHalfMulti3dTri::create() int ntypes = atom->ntypes; for (int itype = 1; itype <= ntypes; itype++) { typesq = cuttypesq[itype]; - s = stencil_multi[itype]; - distsq = distsq_multi[itype]; + s = stencil_multi_old[itype]; + distsq = distsq_multi_old[itype]; n = 0; for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) @@ -47,6 +47,6 @@ void NStencilHalfMulti3dTri::create() s[n++] = k*mbiny*mbinx + j*mbinx + i; } } - nstencil_multi[itype] = n; + nstencil_multi_old[itype] = n; } } diff --git a/src/nstencil_full_multi_3d.h b/src/nstencil_half_multi_old_3d_tri.h similarity index 69% rename from src/nstencil_full_multi_3d.h rename to src/nstencil_half_multi_old_3d_tri.h index b2edfd8b0d..cbc98a8ba8 100644 --- a/src/nstencil_full_multi_3d.h +++ b/src/nstencil_half_multi_old_3d_tri.h @@ -13,23 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/multi/3d, - NStencilFullMulti3d, - NS_FULL | NS_MULTI | NS_3D | NS_ORTHO | NS_TRI) +NStencilStyle(half/multi/old/3d/tri, + NStencilHalfMultiOld3dTri, NS_HALF | NS_MULTI_OLD | NS_3D | NS_TRI) #else -#ifndef LMP_NSTENCIL_FULL_MULTI_3D_H -#define LMP_NSTENCIL_FULL_MULTI_3D_H +#ifndef LMP_NSTENCIL_HALF_MULTI_OLD_3D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_OLD_3D_TRI_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilFullMulti3d : public NStencil { +class NStencilHalfMultiOld3dTri : public NStencil { public: - NStencilFullMulti3d(class LAMMPS *); - ~NStencilFullMulti3d() {} + NStencilHalfMultiOld3dTri(class LAMMPS *); + ~NStencilHalfMultiOld3dTri() {} void create(); }; From 5d097845e78e801dd819670c8fd9af4a06eb529a Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:45:46 -0700 Subject: [PATCH 048/542] Renaming multi2->multi in nstencil --- src/nstencil.h | 4 +- ...lti2_2d.cpp => nstencil_full_multi_2d.cpp} | 22 ++++----- ...l_multi2_3d.h => nstencil_full_multi_2d.h} | 14 +++--- ...lti2_3d.cpp => nstencil_full_multi_3d.cpp} | 26 +++++------ ...f_multi2_2d.h => nstencil_full_multi_3d.h} | 14 +++--- src/nstencil_half_multi2_2d_tri.h | 45 ------------------- src/nstencil_half_multi2_3d_tri.h | 45 ------------------- ...lti2_2d.cpp => nstencil_half_multi_2d.cpp} | 26 +++++------ ...f_multi2_3d.h => nstencil_half_multi_2d.h} | 14 +++--- ...tri.cpp => nstencil_half_multi_2d_tri.cpp} | 26 +++++------ src/nstencil_half_multi_2d_tri.h | 45 +++++++++++++++++++ ...lti2_3d.cpp => nstencil_half_multi_3d.cpp} | 30 ++++++------- ...l_multi2_2d.h => nstencil_half_multi_3d.h} | 14 +++--- ...tri.cpp => nstencil_half_multi_3d_tri.cpp} | 30 ++++++------- src/nstencil_half_multi_3d_tri.h | 45 +++++++++++++++++++ 15 files changed, 200 insertions(+), 200 deletions(-) rename src/{nstencil_full_multi2_2d.cpp => nstencil_full_multi_2d.cpp} (77%) rename src/{nstencil_full_multi2_3d.h => nstencil_full_multi_2d.h} (73%) rename src/{nstencil_full_multi2_3d.cpp => nstencil_full_multi_3d.cpp} (75%) rename src/{nstencil_half_multi2_2d.h => nstencil_full_multi_3d.h} (73%) delete mode 100755 src/nstencil_half_multi2_2d_tri.h delete mode 100755 src/nstencil_half_multi2_3d_tri.h rename src/{nstencil_half_multi2_2d.cpp => nstencil_half_multi_2d.cpp} (78%) rename src/{nstencil_half_multi2_3d.h => nstencil_half_multi_2d.h} (73%) rename src/{nstencil_half_multi2_2d_tri.cpp => nstencil_half_multi_2d_tri.cpp} (78%) create mode 100755 src/nstencil_half_multi_2d_tri.h rename src/{nstencil_half_multi2_3d.cpp => nstencil_half_multi_3d.cpp} (78%) rename src/{nstencil_full_multi2_2d.h => nstencil_half_multi_3d.h} (73%) rename src/{nstencil_half_multi2_3d_tri.cpp => nstencil_half_multi_3d_tri.cpp} (77%) create mode 100755 src/nstencil_half_multi_3d_tri.h diff --git a/src/nstencil.h b/src/nstencil.h index 28c7fb0ec2..5bff8cbfac 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -41,7 +41,7 @@ class NStencil : protected Pointers { double cutoff_custom; // cutoff set by requestor - // Arrays to store options for multi2 itype-jtype stencils + // Arrays to store options for multi itype-jtype stencils bool **stencil_half; // flag creation of a half stencil for itype-jtype bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) int **stencil_bin_type; // what type to use for bin information @@ -107,7 +107,7 @@ class NStencil : protected Pointers { void copy_bin_info(); // copy info from NBin class double bin_distance(int, int, int); // distance between bin corners - // methods for multi2 NStencil + // methods for multi NStencil double bin_distance_multi(int, int, int, int); // distance between bin corners for different types void copy_bin_info_multi(); // copy multi info from NBin class diff --git a/src/nstencil_full_multi2_2d.cpp b/src/nstencil_full_multi_2d.cpp similarity index 77% rename from src/nstencil_full_multi2_2d.cpp rename to src/nstencil_full_multi_2d.cpp index 658dba1c28..9712db7ac8 100644 --- a/src/nstencil_full_multi2_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_full_multi2_2d.h" +#include "nstencil_full_multi_2d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,11 +23,11 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilFullMulti22d::NStencilFullMulti22d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilFullMulti2d::NStencilFullMulti2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilFullMulti22d::set_stencil_properties() +void NStencilFullMulti2d::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -47,7 +47,7 @@ void NStencilFullMulti22d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilFullMulti22d::create() +void NStencilFullMulti2d::create() { int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; @@ -60,11 +60,11 @@ void NStencilFullMulti22d::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -72,10 +72,10 @@ void NStencilFullMulti22d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,0,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = j*mbinx + i; - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_full_multi2_3d.h b/src/nstencil_full_multi_2d.h similarity index 73% rename from src/nstencil_full_multi2_3d.h rename to src/nstencil_full_multi_2d.h index fb6a19ec6f..9990716b3a 100644 --- a/src/nstencil_full_multi2_3d.h +++ b/src/nstencil_full_multi_2d.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/multi2/3d, - NStencilFullMulti23d, NS_FULL | NS_MULTI2 | NS_3D | NS_ORTHO | NS_TRI) +NStencilStyle(full/multi/2d, + NStencilFullMulti2d, NS_FULL | NS_MULTI | NS_2D | NS_ORTHO | NS_TRI) #else -#ifndef LMP_NSTENCIL_FULL_MULTI2_3D_H -#define LMP_NSTENCIL_FULL_MULTI2_3D_H +#ifndef LMP_NSTENCIL_FULL_MULTI_2D_H +#define LMP_NSTENCIL_FULL_MULTI_2D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilFullMulti23d : public NStencil { +class NStencilFullMulti2d : public NStencil { public: - NStencilFullMulti23d(class LAMMPS *); - ~NStencilFullMulti23d(){} + NStencilFullMulti2d(class LAMMPS *); + ~NStencilFullMulti2d() {} void create(); protected: diff --git a/src/nstencil_full_multi2_3d.cpp b/src/nstencil_full_multi_3d.cpp similarity index 75% rename from src/nstencil_full_multi2_3d.cpp rename to src/nstencil_full_multi_3d.cpp index 7bbe5208f2..b3f8db53b7 100644 --- a/src/nstencil_full_multi2_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_full_multi2_3d.h" +#include "nstencil_full_multi_3d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,11 +23,11 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilFullMulti23d::NStencilFullMulti23d(LAMMPS *lmp) : NStencil(lmp) {} +NStencilFullMulti3d::NStencilFullMulti3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilFullMulti23d::set_stencil_properties() +void NStencilFullMulti3d::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -48,7 +48,7 @@ void NStencilFullMulti23d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilFullMulti23d::create() +void NStencilFullMulti3d::create() { int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; @@ -61,13 +61,13 @@ void NStencilFullMulti23d::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; - sz = stencil_sz_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; + sz = stencil_sz_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; - mbinz = stencil_mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; + mbinz = stencil_mbinz_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -76,11 +76,11 @@ void NStencilFullMulti23d::create() for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,k,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_half_multi2_2d.h b/src/nstencil_full_multi_3d.h similarity index 73% rename from src/nstencil_half_multi2_2d.h rename to src/nstencil_full_multi_3d.h index 8e79fd0541..ed3401b2bd 100644 --- a/src/nstencil_half_multi2_2d.h +++ b/src/nstencil_full_multi_3d.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi2/2d, - NStencilHalfMulti22d, NS_HALF | NS_MULTI2 | NS_2D | NS_ORTHO) +NStencilStyle(full/multi/3d, + NStencilFullMulti3d, NS_FULL | NS_MULTI | NS_3D | NS_ORTHO | NS_TRI) #else -#ifndef LMP_NSTENCIL_HALF_MULTI2_2D_H -#define LMP_NSTENCIL_HALF_MULTI2_2D_H +#ifndef LMP_NSTENCIL_FULL_MULTI_3D_H +#define LMP_NSTENCIL_FULL_MULTI_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti22d : public NStencil { +class NStencilFullMulti3d : public NStencil { public: - NStencilHalfMulti22d(class LAMMPS *); - ~NStencilHalfMulti22d() {} + NStencilFullMulti3d(class LAMMPS *); + ~NStencilFullMulti3d(){} void create(); protected: diff --git a/src/nstencil_half_multi2_2d_tri.h b/src/nstencil_half_multi2_2d_tri.h deleted file mode 100755 index 4072c6d31b..0000000000 --- a/src/nstencil_half_multi2_2d_tri.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi2/2d/tri, - NStencilHalfMulti22dTri, NS_HALF | NS_MULTI2 | NS_2D | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI2_2D_TRI_H -#define LMP_NSTENCIL_HALF_MULTI2_2D_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti22dTri : public NStencil { - public: - NStencilHalfMulti22dTri(class LAMMPS *); - ~NStencilHalfMulti22dTri() {} - void create(); - - protected: - void set_stencil_properties(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi2_3d_tri.h b/src/nstencil_half_multi2_3d_tri.h deleted file mode 100755 index de449ce1d8..0000000000 --- a/src/nstencil_half_multi2_3d_tri.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef NSTENCIL_CLASS - -NStencilStyle(half/multi2/3d/tri, - NStencilHalfMulti23dTri, NS_HALF | NS_MULTI2 | NS_3D | NS_TRI) - -#else - -#ifndef LMP_NSTENCIL_HALF_MULTI2_3D_TRI_H -#define LMP_NSTENCIL_HALF_MULTI2_3D_TRI_H - -#include "nstencil.h" - -namespace LAMMPS_NS { - -class NStencilHalfMulti23dTri : public NStencil { - public: - NStencilHalfMulti23dTri(class LAMMPS *); - ~NStencilHalfMulti23dTri() {} - void create(); - - protected: - void set_stencil_properties(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -*/ diff --git a/src/nstencil_half_multi2_2d.cpp b/src/nstencil_half_multi_2d.cpp similarity index 78% rename from src/nstencil_half_multi2_2d.cpp rename to src/nstencil_half_multi_2d.cpp index f240d87b54..0b320394b7 100644 --- a/src/nstencil_half_multi2_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi2_2d.h" +#include "nstencil_half_multi_2d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti22d::NStencilHalfMulti22d(LAMMPS *lmp) : +NStencilHalfMulti2d::NStencilHalfMulti2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti22d::set_stencil_properties() +void NStencilHalfMulti2d::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -59,7 +59,7 @@ void NStencilHalfMulti22d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti22d::create() +void NStencilHalfMulti2d::create() { int itype, jtype, bin_type, i, j, ns; int n = atom->ntypes; @@ -72,11 +72,11 @@ void NStencilHalfMulti22d::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -86,17 +86,17 @@ void NStencilHalfMulti22d::create() for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi2(i,j,0,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = j*mbinx + i; } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,0,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = j*mbinx + i; } - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_half_multi2_3d.h b/src/nstencil_half_multi_2d.h similarity index 73% rename from src/nstencil_half_multi2_3d.h rename to src/nstencil_half_multi_2d.h index 6a0d8f90a2..2c18bb7b07 100644 --- a/src/nstencil_half_multi2_3d.h +++ b/src/nstencil_half_multi_2d.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/multi2/3d, - NStencilHalfMulti23d, NS_HALF | NS_MULTI2 | NS_3D | NS_ORTHO) +NStencilStyle(half/multi/2d, + NStencilHalfMulti2d, NS_HALF | NS_MULTI | NS_2D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_HALF_MULTI2_3D_H -#define LMP_NSTENCIL_HALF_MULTI2_3D_H +#ifndef LMP_NSTENCIL_HALF_MULTI_2D_H +#define LMP_NSTENCIL_HALF_MULTI_2D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilHalfMulti23d : public NStencil { +class NStencilHalfMulti2d : public NStencil { public: - NStencilHalfMulti23d(class LAMMPS *); - ~NStencilHalfMulti23d() {} + NStencilHalfMulti2d(class LAMMPS *); + ~NStencilHalfMulti2d() {} void create(); protected: diff --git a/src/nstencil_half_multi2_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp similarity index 78% rename from src/nstencil_half_multi2_2d_tri.cpp rename to src/nstencil_half_multi_2d_tri.cpp index 7143378305..95b0b483c5 100755 --- a/src/nstencil_half_multi2_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi2_2d_tri.h" +#include "nstencil_half_multi_2d_tri.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti22dTri::NStencilHalfMulti22dTri(LAMMPS *lmp) : +NStencilHalfMulti2dTri::NStencilHalfMulti2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti22dTri::set_stencil_properties() +void NStencilHalfMulti2dTri::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -59,7 +59,7 @@ void NStencilHalfMulti22dTri::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti22dTri::create() +void NStencilHalfMulti2dTri::create() { int itype, jtype, bin_type, i, j, ns; int n = atom->ntypes; @@ -72,11 +72,11 @@ void NStencilHalfMulti22dTri::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -85,16 +85,16 @@ void NStencilHalfMulti22dTri::create() if (stencil_half[itype][jtype]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,0,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,0,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = j*mbinx + i; } - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_half_multi_2d_tri.h b/src/nstencil_half_multi_2d_tri.h new file mode 100755 index 0000000000..3cd49caa9d --- /dev/null +++ b/src/nstencil_half_multi_2d_tri.h @@ -0,0 +1,45 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/2d/tri, + NStencilHalfMulti2dTri, NS_HALF | NS_MULTI | NS_2D | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_2D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_2D_TRI_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti2dTri : public NStencil { + public: + NStencilHalfMulti2dTri(class LAMMPS *); + ~NStencilHalfMulti2dTri() {} + void create(); + + protected: + void set_stencil_properties(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/nstencil_half_multi2_3d.cpp b/src/nstencil_half_multi_3d.cpp similarity index 78% rename from src/nstencil_half_multi2_3d.cpp rename to src/nstencil_half_multi_3d.cpp index 83ecb24cba..1f94fb16cd 100644 --- a/src/nstencil_half_multi2_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi2_3d.h" +#include "nstencil_half_multi_3d.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti23d::NStencilHalfMulti23d(LAMMPS *lmp) : +NStencilHalfMulti3d::NStencilHalfMulti3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti23d::set_stencil_properties() +void NStencilHalfMulti3d::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -59,7 +59,7 @@ void NStencilHalfMulti23d::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti23d::create() +void NStencilHalfMulti3d::create() { int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; @@ -72,13 +72,13 @@ void NStencilHalfMulti23d::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; - sz = stencil_sz_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; + sz = stencil_sz_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; - mbinz = stencil_mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; + mbinz = stencil_mbinz_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -89,20 +89,20 @@ void NStencilHalfMulti23d::create() for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi2(i,j,k,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,k,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_full_multi2_2d.h b/src/nstencil_half_multi_3d.h similarity index 73% rename from src/nstencil_full_multi2_2d.h rename to src/nstencil_half_multi_3d.h index 46e12db039..a020192243 100644 --- a/src/nstencil_full_multi2_2d.h +++ b/src/nstencil_half_multi_3d.h @@ -13,22 +13,22 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(full/multi2/2d, - NStencilFullMulti22d, NS_FULL | NS_MULTI2 | NS_2D | NS_ORTHO | NS_TRI) +NStencilStyle(half/multi/3d, + NStencilHalfMulti3d, NS_HALF | NS_MULTI | NS_3D | NS_ORTHO) #else -#ifndef LMP_NSTENCIL_FULL_MULTI2_2D_H -#define LMP_NSTENCIL_FULL_MULTI2_2D_H +#ifndef LMP_NSTENCIL_HALF_MULTI_3D_H +#define LMP_NSTENCIL_HALF_MULTI_3D_H #include "nstencil.h" namespace LAMMPS_NS { -class NStencilFullMulti22d : public NStencil { +class NStencilHalfMulti3d : public NStencil { public: - NStencilFullMulti22d(class LAMMPS *); - ~NStencilFullMulti22d() {} + NStencilHalfMulti3d(class LAMMPS *); + ~NStencilHalfMulti3d() {} void create(); protected: diff --git a/src/nstencil_half_multi2_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp similarity index 77% rename from src/nstencil_half_multi2_3d_tri.cpp rename to src/nstencil_half_multi_3d_tri.cpp index 33915d4741..30e59e92e8 100755 --- a/src/nstencil_half_multi2_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "nstencil_half_multi2_3d_tri.h" +#include "nstencil_half_multi_3d_tri.h" #include "neighbor.h" #include "neigh_list.h" #include "nbin.h" @@ -23,12 +23,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti23dTri::NStencilHalfMulti23dTri(LAMMPS *lmp) : +NStencilHalfMulti3dTri::NStencilHalfMulti3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ -void NStencilHalfMulti23dTri::set_stencil_properties() +void NStencilHalfMulti3dTri::set_stencil_properties() { int n = atom->ntypes; int i, j; @@ -59,7 +59,7 @@ void NStencilHalfMulti23dTri::set_stencil_properties() create stencils based on bin geometry and cutoff ------------------------------------------------------------------------- */ -void NStencilHalfMulti23dTri::create() +void NStencilHalfMulti3dTri::create() { int itype, jtype, bin_type, i, j, k, ns; int n = atom->ntypes; @@ -72,13 +72,13 @@ void NStencilHalfMulti23dTri::create() ns = 0; - sx = stencil_sx_multi2[itype][jtype]; - sy = stencil_sy_multi2[itype][jtype]; - sz = stencil_sz_multi2[itype][jtype]; + sx = stencil_sx_multi[itype][jtype]; + sy = stencil_sy_multi[itype][jtype]; + sz = stencil_sz_multi[itype][jtype]; - mbinx = stencil_mbinx_multi2[itype][jtype]; - mbiny = stencil_mbiny_multi2[itype][jtype]; - mbinz = stencil_mbinz_multi2[itype][jtype]; + mbinx = stencil_mbinx_multi[itype][jtype]; + mbiny = stencil_mbiny_multi[itype][jtype]; + mbinz = stencil_mbinz_multi[itype][jtype]; bin_type = stencil_bin_type[itype][jtype]; @@ -88,19 +88,19 @@ void NStencilHalfMulti23dTri::create() for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,k,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi2(i,j,k,bin_type) < cutsq) - stencil_multi2[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_type) < cutsq) + stencil_multi[itype][jtype][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi2[itype][jtype] = ns; + nstencil_multi[itype][jtype] = ns; } } } diff --git a/src/nstencil_half_multi_3d_tri.h b/src/nstencil_half_multi_3d_tri.h new file mode 100755 index 0000000000..eb76e6fb2c --- /dev/null +++ b/src/nstencil_half_multi_3d_tri.h @@ -0,0 +1,45 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef NSTENCIL_CLASS + +NStencilStyle(half/multi/3d/tri, + NStencilHalfMulti3dTri, NS_HALF | NS_MULTI | NS_3D | NS_TRI) + +#else + +#ifndef LMP_NSTENCIL_HALF_MULTI_3D_TRI_H +#define LMP_NSTENCIL_HALF_MULTI_3D_TRI_H + +#include "nstencil.h" + +namespace LAMMPS_NS { + +class NStencilHalfMulti3dTri : public NStencil { + public: + NStencilHalfMulti3dTri(class LAMMPS *); + ~NStencilHalfMulti3dTri() {} + void create(); + + protected: + void set_stencil_properties(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ From 0a36baf86d87b5aa1ce403e9c417afd6427d9634 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 17:51:09 -0700 Subject: [PATCH 049/542] Updating naming in other classes --- src/comm.cpp | 22 +++++++++++----------- src/comm.h | 2 +- src/comm_brick.cpp | 8 ++++---- src/comm_tiled.cpp | 4 ++-- src/neighbor.cpp | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/comm.cpp b/src/comm.cpp index f814c804c9..afd4d891ee 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -76,7 +76,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) grid2proc = nullptr; xsplit = ysplit = zsplit = nullptr; rcbnew = 0; - multi2 = 0; + multi_reduce = 0; // use of OpenMP threads // query OpenMP for number of threads/process set by user at run-time @@ -242,15 +242,15 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; - // Can't used multi2 communication with Newton off + // Can't used multi_reduce communication with Newton off // TODO: need to somehow restrict this option with full neighbor lists - // CANNOT use multi2 communication with full nlist - // Could remove NP_NEWTON from npair_full_*multi2*, but could be cryptic - // Also could be cases where you want newton off (hybrid) but don't use multi2 comm - // Could add check on neighbor build, if full and comm->multi2 error... + // CANNOT use multi_reduce communication with full nlist + // Could remove NP_NEWTON from npair_full_*multi_reduce*, but could be cryptic + // Also could be cases where you want newton off (hybrid) but don't use multi_reduce comm + // Could add check on neighbor build, if full and comm->multi_reduce error... // or just add check on comm setup - is that run before every run? Only if box change... - if (force->newton == 0 && multi2) - error->all(FLERR,"Cannot use multi2 communication with Newton off"); + if (force->newton == 0 && multi_reduce) + error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); } /* ---------------------------------------------------------------------- @@ -337,10 +337,10 @@ void Comm::modify_params(int narg, char **arg) for (i=nlo; i<=nhi; ++i) cutusermulti[i] = cut; iarg += 3; - } else if (strcmp(arg[iarg],"cutoff/multi2") == 0) { + } else if (strcmp(arg[iarg],"multi/reduce") == 0) { if (mode == Comm::SINGLE) - error->all(FLERR,"Use cutoff/multi2 in mode multi only"); - multi2 = 1; + error->all(FLERR,"Use multi/reduce in mode multi only"); + multi_reduce = 1; iarg += 1; } else if (strcmp(arg[iarg],"vel") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal comm_modify command"); diff --git a/src/comm.h b/src/comm.h index 5cd47bd5cd..4ae4faf7fd 100644 --- a/src/comm.h +++ b/src/comm.h @@ -152,7 +152,7 @@ class Comm : protected Pointers { int ncores; // # of cores per node int coregrid[3]; // 3d grid of cores within a node int user_coregrid[3]; // user request for cores in each dim - int multi2; // 1 if multi cutoff is intra-type cutoff + int multi_reduce; // 1 if multi cutoff is intra-type cutoff void init_exchange(); int rendezvous_irregular(int, char *, int, int, int *, diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index b22c254e3a..7f84d619e4 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -174,8 +174,8 @@ void CommBrick::setup() cutghost[0] = cutghost[1] = cutghost[2] = cut; if (mode == Comm::MULTI) { - if (multi2) { - // If using multi2 binlists, communicate itype particles a distance + if (multi_reduce) { + // If using multi/reduce binlists, communicate itype particles a distance // equal to the max of itype-jtype interaction given smaller jtype particles double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; @@ -225,8 +225,8 @@ void CommBrick::setup() cutghost[2] = cut * length2; if (mode == Comm::MULTI) { - if (multi2) { - // If using multi2 binlists, communicate itype particles a distance + if (multi_reduce) { + // If using multi/reduce binlists, communicate itype particles a distance // equal to the max of itype-jtype interaction given smaller jtype particles double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 4ff4774cd7..ce76fa7442 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -176,8 +176,8 @@ void CommTiled::setup() if (mode == Comm::MULTI) { double cut; - if (multi2) { - // If using multi2 binlists, communicate itype particles a distance + if (multi_reduce) { + // If using multi/reduce binlists, communicate itype particles a distance // equal to the max of itype-jtype interaction given smaller jtype particles double **cutneighsq = neighbor->cutneighsq; double *cuttypesq = neighbor->cuttypesq; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 0854dee227..fe34e738b0 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1640,7 +1640,7 @@ int Neighbor::choose_bin(NeighRequest *rq) if (!rq->kokkos_device != !(mask & NB_KOKKOS_DEVICE)) continue; if (!rq->kokkos_host != !(mask & NB_KOKKOS_HOST)) continue; - // neighbor style is BIN or MULTI or MULTI2 and must match + // neighbor style is BIN or MULTI or MULTI_OLD and must match if (style == Neighbor::BIN || style == Neighbor::MULTI_OLD) { if (!(mask & NB_STANDARD)) continue; From fee6df1ab69ec546566d941e5cee2a263f2edf2d Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 19 Dec 2020 18:07:10 -0700 Subject: [PATCH 050/542] Fixing typos --- src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp | 4 ++-- src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp | 4 ++-- src/npair_half_size_multi_old_newton.h | 2 +- src/npair_half_size_multi_old_newton_tri.cpp | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp index 3ed703586d..204f811ca2 100644 --- a/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newtoff_omp.cpp @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtoffOldOmp::NPairHalfSizeMultiNewtoffOldOmp(LAMMPS *lmp) : +NPairHalfSizeMultiOldNewtoffOmp::NPairHalfSizeMultiOldNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -36,7 +36,7 @@ NPairHalfSizeMultiNewtoffOldOmp::NPairHalfSizeMultiNewtoffOldOmp(LAMMPS *lmp) : pair stored by me if j is ghost (also stored by proc owning j) ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtoffOldOmp::build(NeighList *list) +void NPairHalfSizeMultiOldNewtoffOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; diff --git a/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp index 37203c53db..6248004ce6 100644 --- a/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_old_newton_omp.cpp @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfSizeMultiNewtonOldOmp::NPairHalfSizeMultiNewtonOldOmp(LAMMPS *lmp) : +NPairHalfSizeMultiOldNewtonOmp::NPairHalfSizeMultiOldNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- @@ -35,7 +35,7 @@ NPairHalfSizeMultiNewtonOldOmp::NPairHalfSizeMultiNewtonOldOmp(LAMMPS *lmp) : every pair stored exactly once by some processor ------------------------------------------------------------------------- */ -void NPairHalfSizeMultiNewtonOldOmp::build(NeighList *list) +void NPairHalfSizeMultiOldNewtonOmp::build(NeighList *list) { const int nlocal = (includegroup) ? atom->nfirst : atom->nlocal; const int history = list->history; diff --git a/src/npair_half_size_multi_old_newton.h b/src/npair_half_size_multi_old_newton.h index e954ee07b1..edd87a72ed 100644 --- a/src/npair_half_size_multi_old_newton.h +++ b/src/npair_half_size_multi_old_newton.h @@ -1,4 +1,4 @@ -g/* -*- c++ -*- ---------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov diff --git a/src/npair_half_size_multi_old_newton_tri.cpp b/src/npair_half_size_multi_old_newton_tri.cpp index 2b63e116d7..f29c323944 100644 --- a/src/npair_half_size_multi_old_newton_tri.cpp +++ b/src/npair_half_size_multi_old_newton_tri.cpp @@ -1,4 +1,4 @@ -re/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov From 05ecf8613423679a8fb065ef5702c0e95884c947 Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sun, 20 Dec 2020 16:39:04 +0000 Subject: [PATCH 051/542] Made changes to propel/self. Kept all features of previous version (and tested they stayed the same), but additionally added dipole option for direction of self-propulsion. Also updated examples. --- doc/src/fix_propel_self.rst | 178 +++++++--- .../{bd_asphere => asphere}/README.txt | 0 .../{bd_asphere => asphere}/in3d.brownian | 0 .../log_gaussian_4_1_7_13_3d.lammps.log | 0 .../brownian/{bd_sphere => sphere}/README.txt | 0 .../{bd_sphere => sphere}/in2ddipole.brownian | 0 .../in3d_virial_on.brownian | 0 .../log_gaussian_4_1_7_13_2d.lammps.log | 0 .../log_uniform_10_1_5_15_3d.lammps.log | 0 .../USER/brownian/spherical_ABP/in.2d_abp | 70 ++++ .../brownian/spherical_ABP/in.3d_ideal_abp | 74 +++++ .../log_WCA_1_1_1_3_4_2d.lammps.log | 163 +++++++++ .../log_ideal_1_1_1_3_4_3d.lammps.log | 150 +++++++++ .../propel_self/2d_velocity/in.2d_langevin | 54 --- .../propel_self/2d_velocity/in.2d_viscous | 37 --- .../3d_quaternion/in.3d_quaternion | 40 --- src/USER-BROWNIAN/fix_propel_self.cpp | 312 ++++++++++++++++++ .../fix_propel_self.h | 51 ++- src/USER-MISC/README | 1 - src/USER-MISC/fix_propel_self.cpp | 258 --------------- 20 files changed, 919 insertions(+), 469 deletions(-) rename examples/USER/brownian/{bd_asphere => asphere}/README.txt (100%) rename examples/USER/brownian/{bd_asphere => asphere}/in3d.brownian (100%) rename examples/USER/brownian/{bd_asphere => asphere}/log_gaussian_4_1_7_13_3d.lammps.log (100%) rename examples/USER/brownian/{bd_sphere => sphere}/README.txt (100%) rename examples/USER/brownian/{bd_sphere => sphere}/in2ddipole.brownian (100%) rename examples/USER/brownian/{bd_sphere => sphere}/in3d_virial_on.brownian (100%) rename examples/USER/brownian/{bd_sphere => sphere}/log_gaussian_4_1_7_13_2d.lammps.log (100%) rename examples/USER/brownian/{bd_sphere => sphere}/log_uniform_10_1_5_15_3d.lammps.log (100%) create mode 100644 examples/USER/brownian/spherical_ABP/in.2d_abp create mode 100644 examples/USER/brownian/spherical_ABP/in.3d_ideal_abp create mode 100644 examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log create mode 100644 examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log delete mode 100644 examples/USER/misc/propel_self/2d_velocity/in.2d_langevin delete mode 100644 examples/USER/misc/propel_self/2d_velocity/in.2d_viscous delete mode 100644 examples/USER/misc/propel_self/3d_quaternion/in.3d_quaternion create mode 100644 src/USER-BROWNIAN/fix_propel_self.cpp rename src/{USER-MISC => USER-BROWNIAN}/fix_propel_self.h (55%) delete mode 100644 src/USER-MISC/fix_propel_self.cpp diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index 3a1bfb3166..6644d97d46 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -8,53 +8,117 @@ Syntax .. parsed-literal:: - fix ID group-ID propel/self mode magnitude keyword values ... + fix ID group-ID propel/self magnitude keyword values * ID, group-ID are documented in :doc:`fix ` command * propel/self = style name of this fix command -* mode = velocity or quat -* magnitude = magnitude of the active force -* one or more keyword/value pairs may be appended to args -* keyword = *types* +* magnitude = magnitude of self-propulsion force +* one (and only one) keyword/value pair must be appended to args +* keyword = *dipole* or *velocity* or *quat* + + .. parsed-literal:: + + *dipole* value = none = apply force along dipole direction + *velocity* value = none = apply force along velocity direction + *quat* values = direction vector *sx* and *sy* and *sz* + *sx* = x component of force direction in ellipsoid frame + *sy* = y component of force direction in ellipsoid frame + *sz* = z component of force direction in ellipsoid frame + - *types* values = one or more atom types Examples """""""" .. code-block:: LAMMPS - fix active_group all propel/self velocity 1.0 - fix constant_velocity all viscous 1.0 - - fix active_group all propel/self quat 1.0 - - fix active all propel/self quat 1.0 types 1 2 4 + fix propel/self all 40.0 dipole + fix propel/self all 10.0 velocity + fix propel/self all 15.7 quat 1.0 0.0 0.0 Description """"""""""" -Adds a force of a constant magnitude to each atom in the group. The nature in -which the force is added depends on the mode. +Add a force to each atom in the group due to a self-propulsion force. The +force is given by -For *mode* = *velocity*, the active force acts along the velocity vector of -each atom. This can be interpreted as a velocity-dependent friction, -such as proposed by :ref:`(Erdmann) `. +.. math:: -For *mode* = *quat* the force is applied along the axis obtained -by rotating the x-axis along the atom's quaternion. In other words, the -force is along the x-axis in the atom's body frame. This mode requires -all atoms in the group to have a quaternion, so atom_style should -either be ellipsoid or body. In combination with Langevin thermostat -for translation and rotation in the overdamped regime, the quaternion -mode corresponds to the active Brownian particle model introduced by -:ref:`(Henkes) `, :ref:`(Bialke) ` and :ref:`(Fily) -`. + F_i = f_P e_i -By default, this fix is applied to all atoms in the group. You can -override this behavior by specifying the atom types the fix should work -on through the *types* keyword. +where *i* is the particle the force is being applied to, :math:`f_P` +is the magnitude of the force, and :math:`e_i` is the vector direction +of the force. The specification of :math:`e_i` is based on which of the +three keywords (*dipole* or *velocity* or *quat*) one selects. +For keyword *dipole*, :math:`e_i` is just equal to +the dipole vectors of the atoms in the group. Therefore, if the dipoles +are not unit vectors, the :math:`e_i` will not be unit vectors. + +.. note:: + + If another command changes the magnitude of the dipole, this force will + change accordingly (since :math:`|e_i|` will change, which is physically + equivalent to re-scaling :math:`f_P` while keeping :math:`|e_i|` constant), + and no warning will be provided by LAMMPS. This is almost never what you + want, so ensure you aren't changing dipole magnitudes with another LAMMPS + fix or pair style. Furthermore, self-propulsion forces (almost) always + set :math:`e_i` to be a unit vector for all times, so it's best to set + all the dipole magnitudes to 1.0 unless you have a good reason not to + (see the :doc:`set ` command on how to do this). + +For keyword *velocity*, :math:`e_i` points in the direction +of the current velocity (a unit-vector). This can be interpreted as a +velocity-dependent friction, as proposed by e.g. :ref:`(Erdmann) `. + +For keyword *quat*, :math:`e_i` points in the direction of the unit +vector defined by its arguments *sx*, *sy*, and *sz*, which are +themselves defined within the coordinate frame of the atom's +ellipsoid. For instance, for an ellipsoid with long axis along +its x-direction, if one wanted the self-propulsion force to also +be along this axis, set *sx* equal to 1 and *sy*, *sz* both equal +to zero. For *quat*, :math:`e_i` will always be a unit vector, +so multiplying all three arguments *sx*, *sy*, and *sz* by a +positive scalar will not change the self-propulsion force +(multiplying by a negative scalar will change the sign of the +force). + +Along with adding a force contribution, this fix can also +contribute to the virial (pressure) of the system, defined as +:math:`f_P \sum_i /(d V)`, where :math:`r_i` is the +*unwrapped* coordinate of particle i in the case of periodic +boundary conditions. See :ref:`(Winkler) ` for a +discussion of this active pressure contribution. + +For keywords *dipole* and *quat*, this fix is by default +included in pressure computations. + +For keyword *velocity*, this fix is by default not included +in pressure computations. + + +.. note:: + + In contrast to equilibrium systems, pressure of active systems + in general depends on the geometry of the container. + The active pressure contribution as calculated in this fix + is only valid for certain boundary conditions (spherical + walls, rectangular walls, or periodic boundary conditions). + For other geometries, the pressure must be measured via + explicit calculation of the force per unit area on a wall, + and so one must not calculate it using this fix. + (Use :doc:`fix_modify ` as described below + to turn off the virial contribution of this fix). Again, + see :ref:`(Winkler) ` for discussion of why this + is the case. + + Furthermore, when dealing with active systems, the temperature + is no longer well defined. Therefore, one should ensure that + the *virial* flag is used in the + :doc:`compute pressure ` command (turning + off temperature contributions). + + ---------- Restart, fix_modify, output, run start/stop, minimize info @@ -62,40 +126,48 @@ Restart, fix_modify, output, run start/stop, minimize info No information about this fix is written to :doc:`binary restart files `. -This fix is not imposed during minimization. +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to the +system's virial as part of :doc:`thermodynamic output `. +The default is *virial yes* for keywords *dipole* and *quat*. The +default is *virial no* for keyword *velocity*. + + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + Restrictions """""""""""" -In quat mode, this fix makes use of per-atom quaternions to take -into account the fact that the orientation can rotate and hence the -direction of the active force can change. The quat mode -of this fix only works with atom_style ellipsoid. +With keyword *dipole*, this fix only works when the DIPOLE package is enabled. +See the :doc:`Build package ` doc page for more info. + +This fix is part of the USER-BROWNIAN package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` +doc page for more info. + Related commands """""""""""""""" -:doc:`fix setforce `, :doc:`fix addforce ` - -.. _Erdmann: - -**(Erdmann)** U. Erdmann , W. Ebeling, L. Schimansky-Geier, and F. Schweitzer, -Eur. Phys. J. B 15, 105-113, 2000. - -.. _Henkes: - -**(Henkes)** Henkes, S, Fily, Y., and Marchetti, M. C. Phys. Rev. E, 84, 040301(R), 2011. - -.. _Bialke: - -**(Bialke)** J. Bialke, T. Speck, and H Loewen, Phys. Rev. Lett. 108, 168301, 2012. - -.. _Fily: - -**(Fily)** Y. Fily and M.C. Marchetti, Phys. Rev. Lett. 108, 235702, 2012. +:doc:`fix efield ` , :doc:`fix setforce `, +:doc:`fix addforce ` Default """"""" -types +none +---------- + + +.. _Erdmann1: + +**(Erdmann)** U. Erdmann , W. Ebeling, L. Schimansky-Geier, and F. Schweitzer, +Eur. Phys. J. B 15, 105-113, 2000. + + +.. _Winkler1: + +**(Winkler)** Winkler, Wysocki, and Gompper, Soft Matter, 11, 6680 (2015). diff --git a/examples/USER/brownian/bd_asphere/README.txt b/examples/USER/brownian/asphere/README.txt similarity index 100% rename from examples/USER/brownian/bd_asphere/README.txt rename to examples/USER/brownian/asphere/README.txt diff --git a/examples/USER/brownian/bd_asphere/in3d.brownian b/examples/USER/brownian/asphere/in3d.brownian similarity index 100% rename from examples/USER/brownian/bd_asphere/in3d.brownian rename to examples/USER/brownian/asphere/in3d.brownian diff --git a/examples/USER/brownian/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log b/examples/USER/brownian/asphere/log_gaussian_4_1_7_13_3d.lammps.log similarity index 100% rename from examples/USER/brownian/bd_asphere/log_gaussian_4_1_7_13_3d.lammps.log rename to examples/USER/brownian/asphere/log_gaussian_4_1_7_13_3d.lammps.log diff --git a/examples/USER/brownian/bd_sphere/README.txt b/examples/USER/brownian/sphere/README.txt similarity index 100% rename from examples/USER/brownian/bd_sphere/README.txt rename to examples/USER/brownian/sphere/README.txt diff --git a/examples/USER/brownian/bd_sphere/in2ddipole.brownian b/examples/USER/brownian/sphere/in2ddipole.brownian similarity index 100% rename from examples/USER/brownian/bd_sphere/in2ddipole.brownian rename to examples/USER/brownian/sphere/in2ddipole.brownian diff --git a/examples/USER/brownian/bd_sphere/in3d_virial_on.brownian b/examples/USER/brownian/sphere/in3d_virial_on.brownian similarity index 100% rename from examples/USER/brownian/bd_sphere/in3d_virial_on.brownian rename to examples/USER/brownian/sphere/in3d_virial_on.brownian diff --git a/examples/USER/brownian/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log b/examples/USER/brownian/sphere/log_gaussian_4_1_7_13_2d.lammps.log similarity index 100% rename from examples/USER/brownian/bd_sphere/log_gaussian_4_1_7_13_2d.lammps.log rename to examples/USER/brownian/sphere/log_gaussian_4_1_7_13_2d.lammps.log diff --git a/examples/USER/brownian/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log b/examples/USER/brownian/sphere/log_uniform_10_1_5_15_3d.lammps.log similarity index 100% rename from examples/USER/brownian/bd_sphere/log_uniform_10_1_5_15_3d.lammps.log rename to examples/USER/brownian/sphere/log_uniform_10_1_5_15_3d.lammps.log diff --git a/examples/USER/brownian/spherical_ABP/in.2d_abp b/examples/USER/brownian/spherical_ABP/in.2d_abp new file mode 100644 index 0000000000..d626445926 --- /dev/null +++ b/examples/USER/brownian/spherical_ABP/in.2d_abp @@ -0,0 +1,70 @@ +# 2D overdamped active brownian particle dynamics (ABP) +# with WCA potential + +variable gamma_t equal 1.0 +variable gamma_r equal 1.0 +variable D_t equal 1.0 +variable D_r equal 3.0 +variable seed equal 1974019 +variable fp equal 4.0 + +variable params string ${gamma_t}_${gamma_r}_${D_t}_${D_r}_${fp} + + +log log_WCA_${params}_2d.lammps.log +units lj +atom_style hybrid dipole sphere +dimension 2 +newton off + + +lattice sq 0.4 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +create_atoms 1 box +mass * 1.0 +set type * dipole/random ${seed} 1.0 +velocity all create 1.0 1 loop geom + +# more careful with neighbors since higher diffusion in abps +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + +# WCA potential (purely repulsive) +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.1224 +pair_modify shift yes + + + +# overdamped brownian dynamics time-step +fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole +# self-propulsion force along the dipole direction +fix activity all propel/self ${fp} dipole +fix 2 all enforce2d + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 10000 + +# main run +run 200000 diff --git a/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp b/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp new file mode 100644 index 0000000000..e131d07059 --- /dev/null +++ b/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp @@ -0,0 +1,74 @@ +# 3D overdamped active brownian dynamics with no interactions + +variable gamma_t equal 1.0 +variable gamma_r equal 1.0 +variable D_t equal 1.0 +variable D_r equal 3.0 +variable seed equal 1974019 +variable fp equal 4.0 + +variable params string ${gamma_t}_${gamma_r}_${D_t}_${D_r}_${fp} + + +log log_ideal_${params}_3d.lammps.log +units lj +atom_style hybrid dipole sphere +dimension 3 +newton off + + +lattice sc 0.4 +region box block -8 8 -8 8 -8 8 +create_box 1 box +create_atoms 1 box +mass * 1.0 +set type * dipole/random ${seed} 1.0 +velocity all create 1.0 1 loop geom + +pair_style none + +# overdamped brownian dynamics time-step +fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole +# self-propulsion force along the dipole direction +fix activity all propel/self ${fp} dipole + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +# MSD to demonstrate expected diffusive behaviour for ideal active +# brownian motion, which is +# +# MSD = (2*d*D_t + 2*fp**2/(gamma_t**2*(d-1)*D_r))*t +# +# with d being simulation dimension +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 10000 + +# main run +run 120000 + +# if you want to check that rotational diffusion is behaving as expected, +# uncomment next three lines for dump output and then plot , +# which should decay exponentially with timescale (d-1)*D_r (with d +# being simulation dimension) + +#dump 1 all custom 2000 dump_ideal_${params}_3d.lammpstrj id type & +# x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +#run 120000 \ No newline at end of file diff --git a/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log b/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log new file mode 100644 index 0000000000..0c51314cca --- /dev/null +++ b/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log @@ -0,0 +1,163 @@ +units lj +atom_style hybrid dipole sphere +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +dimension 2 +newton off + + +lattice sq 0.4 +Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 1024 atoms + create_atoms CPU = 0.001 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 1974019 1.0 +Setting atom values ... + 1024 settings made for dipole/random +velocity all create 1.0 1 loop geom + +# more careful with neighbors since higher diffusion in abps +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + +# WCA potential (purely repulsive) +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.1224 +pair_modify shift yes + + + +# overdamped brownian dynamics time-step +fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 ${gamma_r} ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 1 3 ${seed} dipole +fix step all brownian/sphere 1 1 1 3 1974019 dipole +# self-propulsion force along the dipole direction +fix activity all propel/self ${fp} dipole +fix activity all propel/self 4 dipole +fix 2 all enforce2d + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +Neighbor list info ... + update every 1 steps, delay 1 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.1224 + ghost atom cutoff = 2.1224 + binsize = 1.0612, bins = 48 48 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: half/bin/2d/newtoff + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.052 | 5.052 | 5.052 Mbytes +Step Temp E_pair c_press + 0 1 0 -0.53979198 + 50000 1.0371295e+10 0 -0.542818 +Loop time of 2.25396 on 4 procs for 50000 steps with 1024 atoms + +Performance: 0.192 tau/day, 22183.200 timesteps/s +99.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.1034 | 0.10382 | 0.10438 | 0.1 | 4.61 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.26698 | 0.26833 | 0.26924 | 0.2 | 11.90 +Output | 2.2284e-05 | 2.4926e-05 | 3.2332e-05 | 0.0 | 0.00 +Modify | 1.7222 | 1.7237 | 1.727 | 0.1 | 76.48 +Other | | 0.1581 | | | 7.01 + +Nlocal: 256.000 ave 256 max 256 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 105.000 ave 105 max 105 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 544.000 ave 544 max 544 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2176 +Ave neighs/atom = 2.1250000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 10000 + +# main run +run 200000 +Per MPI rank memory allocation (min/avg/max) = 5.427 | 5.427 | 5.427 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 1.0371295e+10 0 0 0 0 0 -0.542818 + 10000 107356.09 0.079828495 0.19584264 0.19679822 0 0.39264086 0.00078740793 + 20000 101692.44 0.11317533 0.40847364 0.42097802 0 0.82945167 0.74111888 + 30000 105763.55 0.10261852 0.68303669 0.66125751 0 1.3442942 0.71112533 + 40000 105127.29 0.12371743 0.97990144 0.94005552 0 1.919957 1.0574552 + 50000 101579.58 0.12771813 1.3059069 1.2364468 0 2.5423537 1.059263 + 60000 104914.36 0.12055843 1.6215593 1.525488 0 3.1470473 0.79873537 + 70000 106629.18 0.1278745 1.9639958 1.8682794 0 3.8322752 0.91950208 + 80000 103286.54 0.13927689 2.3201565 2.2373383 0 4.5574948 1.1875034 + 90000 106451.61 0.093479681 2.6287902 2.5753347 0 5.2041249 1.0861163 + 100000 102199.72 0.13269425 2.9127976 2.9369237 0 5.8497214 1.4841998 + 110000 105229.73 0.10594209 3.1798718 3.3495317 0 6.5294035 1.5444784 + 120000 106262.36 0.11902575 3.6267452 3.7188125 0 7.3455578 1.3366518 + 130000 109388.12 0.10562576 3.929973 4.0226942 0 7.9526672 1.324534 + 140000 107697.35 0.13028752 4.231893 4.3780995 0 8.6099925 1.7406167 + 150000 103928.72 0.12278994 4.5826286 4.7578662 0 9.3404948 1.3024003 + 160000 103370.23 0.11391216 4.8767011 5.1181189 0 9.99482 1.4325241 + 170000 103821.53 0.11163256 5.153318 5.3785963 0 10.531914 1.4569115 + 180000 106824.99 0.13225083 5.4080929 5.7399804 0 11.148073 1.334984 + 190000 101794.6 0.10632938 5.7384925 6.080955 0 11.819448 0.81285422 + 200000 102128.67 0.13703498 6.0414673 6.4511058 0 12.492573 0.42904128 +Loop time of 9.60419 on 4 procs for 200000 steps with 1024 atoms + +Performance: 17992.140 tau/day, 20824.236 timesteps/s +100.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.71756 | 0.75121 | 0.79008 | 3.0 | 7.82 +Neigh | 0.018158 | 0.018773 | 0.019357 | 0.3 | 0.20 +Comm | 1.0469 | 1.0597 | 1.0738 | 1.2 | 11.03 +Output | 0.00051435 | 0.00057078 | 0.00070838 | 0.0 | 0.01 +Modify | 6.8012 | 6.9883 | 7.1513 | 4.9 | 72.76 +Other | | 0.7857 | | | 8.18 + +Nlocal: 256.000 ave 265 max 240 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 88.5000 ave 91 max 87 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Neighs: 678.500 ave 713 max 597 min +Histogram: 1 0 0 0 0 0 0 0 1 2 + +Total # of neighbors = 2714 +Ave neighs/atom = 2.6503906 +Neighbor list builds = 241 +Dangerous builds = 0 +Total wall time: 0:00:11 diff --git a/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log b/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log new file mode 100644 index 0000000000..be6c1d5d41 --- /dev/null +++ b/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log @@ -0,0 +1,150 @@ +units lj +atom_style hybrid dipole sphere +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +dimension 3 +newton off + + +lattice sc 0.4 +Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 +region box block -8 8 -8 8 -8 8 +create_box 1 box +Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670) + 2 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 4096 atoms + create_atoms CPU = 0.002 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 1974019 1.0 +Setting atom values ... + 4096 settings made for dipole/random +velocity all create 1.0 1 loop geom + +pair_style none + +# overdamped brownian dynamics time-step +fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 ${gamma_r} ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 ${D_t} ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole +fix step all brownian/sphere 1 1 1 3 ${seed} dipole +fix step all brownian/sphere 1 1 1 3 1974019 dipole +# self-propulsion force along the dipole direction +fix activity all propel/self ${fp} dipole +fix activity all propel/self 4 dipole + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.319 | 4.319 | 4.319 Mbytes +Step Temp E_pair c_press + 0 1 0 0.068021726 + 50000 1.046425e+10 0 0.067505633 +Loop time of 7.83903 on 4 procs for 50000 steps with 4096 atoms + +Performance: 0.055 tau/day, 6378.340 timesteps/s +97.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.50238 | 0.51891 | 0.53617 | 1.7 | 6.62 +Output | 2.6343e-05 | 3.6075e-05 | 4.6997e-05 | 0.0 | 0.00 +Modify | 6.9536 | 6.9732 | 7.0105 | 0.8 | 88.95 +Other | | 0.3469 | | | 4.43 + +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 353.000 ave 353 max 353 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +# MSD to demonstrate expected diffusive behaviour for ideal active +# brownian motion, which is +# +# MSD = (2*d*D_t + 2*fp**2/(gamma_t**2*(d-1)*D_r))*t +# +# with d being simulation dimension +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 10000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 4.694 | 4.694 | 4.694 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 1.046425e+10 0 0 0 0 0 0.067505633 + 10000 106340.56 0 0.2469318 0.23662295 0.2441413 0.72769605 0.19939966 + 20000 104620.27 0 0.55429324 0.5231436 0.54976641 1.6272032 0.26601423 + 30000 106130.45 0 0.87562668 0.84813496 0.89321299 2.6169746 0.30836996 + 40000 105773.31 0 1.2262635 1.1899278 1.2626926 3.6788838 0.35392219 + 50000 103804.88 0 1.5851624 1.5645815 1.6434185 4.7931624 0.33326997 + 60000 105746.45 0 1.9928016 1.9347072 1.9837329 5.9112417 0.2550878 + 70000 104500.3 0 2.3269429 2.2774077 2.3368821 6.9412326 0.25218225 + 80000 105381.46 0 2.7114959 2.6937299 2.7171132 8.122339 0.36940892 + 90000 104542.79 0 3.0828648 3.084417 3.0783207 9.2456025 0.36106481 + 100000 104246.75 0 3.4635513 3.5105066 3.4545226 10.42858 0.3712313 + 110000 103099.55 0 3.8471061 3.9389997 3.8220676 11.608173 0.38466185 + 120000 103098.45 0 4.2014598 4.3456831 4.1888659 12.736009 0.36710217 +Loop time of 22.8893 on 4 procs for 120000 steps with 4096 atoms + +Performance: 4529.619 tau/day, 5242.615 timesteps/s +100.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0049489 | 0.0050479 | 0.0050978 | 0.1 | 0.02 +Comm | 0.082752 | 0.084491 | 0.085332 | 0.4 | 0.37 +Output | 0.00054352 | 0.0006034 | 0.00064793 | 0.0 | 0.00 +Modify | 21.069 | 21.521 | 21.964 | 7.0 | 94.02 +Other | | 1.278 | | | 5.58 + +Nlocal: 1024.00 ave 1050 max 1010 min +Histogram: 2 0 0 1 0 0 0 0 0 1 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 2169 +Dangerous builds = 0 + +# if you want to check that rotational diffusion is behaving as expected, +# uncomment next three lines for dump output and then plot , +# which should decay exponentially with timescale (d-1)*D_r (with d +# being simulation dimension) + +#dump 1 all custom 2000 dump_ideal_${params}_3d.lammpstrj id type # x y xu yu mux muy muz fx fy fz +#dump_modify 1 first yes sort id + +#run 120000 +Total wall time: 0:00:30 diff --git a/examples/USER/misc/propel_self/2d_velocity/in.2d_langevin b/examples/USER/misc/propel_self/2d_velocity/in.2d_langevin deleted file mode 100644 index 6a23e0d005..0000000000 --- a/examples/USER/misc/propel_self/2d_velocity/in.2d_langevin +++ /dev/null @@ -1,54 +0,0 @@ -dimension 2 -boundary p p p - -variable L equal 20 -region total block -$L $L -$L $L -0.5 0.5 -lattice hex 0.3 -create_box 2 total -create_atoms 1 box - -# Set random fraction to passive: -set type 1 type/fraction 2 0.5 1337 - -# Purely repulsive particles: -variable rc equal "2^(1.0/6.0)" -pair_style lj/cut ${rc} -pair_coeff * * 1.0 1.0 -pair_modify shift yes - -mass * 1.0 - -fix step all nve -fix temp all langevin 1.0 1.0 1.0 13 -fix twod all enforce2d - -neighbor 0.6 bin - -dump traj all custom 250 2d_active.dump.bin id type x y z - -thermo_style custom time step pe ke etotal temp -thermo 1000 -run 5000 - -group one type 1 -group two type 2 - -compute ke1 one ke -compute ke2 two ke - -thermo_style custom step pe ke etotal temp c_ke1 c_ke2 - -fix active all propel/self velocity 1.0 - -# With active force there is more motion so increase bin size: -neighbor 1.0 bin -run 10000 - -# Only make type 1 active: -fix active all propel/self velocity 1.0 types 1 - -# With active force there is more motion so increase bin size: -neighbor 1.0 bin -run 10000 - - diff --git a/examples/USER/misc/propel_self/2d_velocity/in.2d_viscous b/examples/USER/misc/propel_self/2d_velocity/in.2d_viscous deleted file mode 100644 index 1283a5d574..0000000000 --- a/examples/USER/misc/propel_self/2d_velocity/in.2d_viscous +++ /dev/null @@ -1,37 +0,0 @@ -dimension 2 -boundary p p p - -variable L equal 20 -region total block -$L $L -$L $L -0.5 0.5 -lattice hex 0.3 -create_box 2 total -create_atoms 1 box - -# Set random fraction to passive: -set type 1 type/fraction 2 0.5 1337 - -# Purely repulsive particles: -variable rc equal "2^(1.0/6.0)" -pair_style lj/cut ${rc} -pair_coeff * * 1.0 1.0 -pair_modify shift yes - -mass * 1.0 - -fix step all nve -fix twod all enforce2d - -neighbor 0.6 bin - -dump traj all custom 250 2d_active.dump.bin id type x y z - -thermo_style custom step pe ke etotal temp -thermo 1000 -run 10000 - -fix active all propel/self velocity 1.0 -fix fric all viscous 1.0 - -# With active force there is more motion so increase bin size: -neighbor 1.0 bin -run 10000 diff --git a/examples/USER/misc/propel_self/3d_quaternion/in.3d_quaternion b/examples/USER/misc/propel_self/3d_quaternion/in.3d_quaternion deleted file mode 100644 index d6b6aff7dd..0000000000 --- a/examples/USER/misc/propel_self/3d_quaternion/in.3d_quaternion +++ /dev/null @@ -1,40 +0,0 @@ -dimension 3 -boundary p p p - -atom_style ellipsoid -variable L equal 20 -region total block -$L $L -$L $L -$L $L -lattice sc 0.1 -create_box 2 total -create_atoms 1 box - -# Set random fraction to passive: -set type 1 type/fraction 2 0.5 1337 - -# Purely repulsive particles: -variable rc equal "2^(1.0/6.0)" -pair_style lj/cut ${rc} -pair_coeff * * 1.0 1.0 -pair_modify shift yes - -# mass * 1.0 -set type * shape 1.0 1.0 1.0 -set type * density 1.9098593171027443 -set type * quat 0 0 1 0 - -fix step all nve/asphere -fix temp all langevin 1.0 1.0 1.0 13 angmom 3.333333333 - -neighbor 0.6 bin - -dump traj all custom 100 3d_active.dump.bin id type x y z fx fy fz - -thermo_style custom step pe ke etotal temp -thermo 100 -run 500 - -fix active all propel/self quat 1.0 - -# With active force there is more motion so increase bin size: -neighbor 1.0 bin -run 500 diff --git a/src/USER-BROWNIAN/fix_propel_self.cpp b/src/USER-BROWNIAN/fix_propel_self.cpp new file mode 100644 index 0000000000..1755f59840 --- /dev/null +++ b/src/USER-BROWNIAN/fix_propel_self.cpp @@ -0,0 +1,312 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ----------------------------------------------------------------------- + Contributed by Stefan Paquay @ Brandeis University + + Thanks to Liesbeth Janssen @ Eindhoven University for useful discussions! + + Current maintainer: Sam Cameron @ University of Bristol + +----------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_propel_self.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_ellipsoid.h" +#include "force.h" +#include "update.h" +#include "comm.h" +#include "domain.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +enum{DIPOLE,VELOCITY,QUAT}; + +#define TOL 1e-14 + +/* ---------------------------------------------------------------------- */ + +FixPropelSelf::FixPropelSelf(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + + virial_flag = 1; + + if (narg < 5) + error->all(FLERR,"Illegal fix propel/self command"); + + + magnitude = utils::numeric(FLERR,arg[3],false,lmp); + + if (strcmp(arg[4],"velocity") == 0) { + mode = VELOCITY; + thermo_virial = 0; + if (narg != 5) { + error->all(FLERR,"Illegal fix propel/self command"); + } + } else if (strcmp(arg[4],"dipole") == 0) { + mode = DIPOLE; + thermo_virial = 1; + if (narg != 5) { + error->all(FLERR,"Illegal fix propel/self command"); + } + } else if (strcmp(arg[4],"quat") == 0) { + mode = QUAT; + thermo_virial = 1; + if (narg != 8) { + error->all(FLERR,"Illegal fix propel/self command"); + } else { + sx = utils::numeric(FLERR,arg[5],false,lmp); + sy = utils::numeric(FLERR,arg[6],false,lmp); + sz = utils::numeric(FLERR,arg[7],false,lmp); + double qnorm = sqrt(sx*sx + sy*sy + sz*sz); + sx = sx/qnorm; + sy = sy/qnorm; + sz = sz/qnorm; + } + } else { + error->all(FLERR,"Illegal fix propel/self command"); + } + + + + +} + +/* ---------------------------------------------------------------------- */ + +int FixPropelSelf::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +FixPropelSelf::~FixPropelSelf() +{ + +} + + +/* ---------------------------------------------------------------------- */ + +void FixPropelSelf::init() +{ + if (mode == DIPOLE && !atom->mu_flag) + error->all(FLERR,"Fix propel/self requires atom attribute mu " + "with option dipole."); + + if (mode == QUAT) { + avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid"); + if (!avec) + error->all(FLERR,"Fix propel/self requires " + "atom style ellipsoid with option quat."); + + // check that all particles are finite-size ellipsoids + // no point particles allowed, spherical is OK + + int *ellipsoid = atom->ellipsoid; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) + if (ellipsoid[i] < 0) + error->one(FLERR,"Fix propel/self requires extended particles " + "with option quat."); + } + +} + +void FixPropelSelf::setup(int vflag) +{ + post_force(vflag); +} + +void FixPropelSelf::post_force(int vflag) +{ + if (mode == DIPOLE) + post_force_dipole(vflag); + else if (mode == VELOCITY) + post_force_velocity(vflag); + else if (mode == QUAT) + post_force_quaternion(vflag); + +} + + +void FixPropelSelf::post_force_dipole(int vflag) +{ + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double **x = atom->x; + double **mu = atom->mu; + double fx,fy,fz; + + + // energy and virial setup + double vi[6]; + if (vflag) v_setup(vflag); + else evflag = 0; + + // if domain has PBC, need to unwrap for virial + double unwrap[3]; + imageint *image = atom->image; + + // Add the active force to the atom force: + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + fx = magnitude*mu[i][0]; + fy = magnitude*mu[i][1]; + fz = magnitude*mu[i][2]; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (evflag) { + domain->unmap(x[i],image[i],unwrap); + vi[0] = fx*unwrap[0]; + vi[1] = fy*unwrap[1]; + vi[2] = fz*unwrap[2]; + vi[3] = fx*unwrap[1]; + vi[4] = fx*unwrap[2]; + vi[5] = fy*unwrap[2]; + v_tally(i, vi); + } + } +} + + +void FixPropelSelf::post_force_velocity(int vflag) +{ + double **f = atom->f; + double **v = atom->v; + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int *type = atom->type; + double nv2,fnorm,fx,fy,fz; + + + // energy and virial setup + double vi[6]; + if (vflag) v_setup(vflag); + else evflag = 0; + + // if domain has PBC, need to unwrap for virial + double unwrap[3]; + imageint *image = atom->image; + + // Add the active force to the atom force: + for(int i = 0; i < nlocal; ++i) { + if( mask[i] & groupbit ){ + + nv2 = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + fnorm = 0.0; + + if (nv2 > TOL) { + + // Without this check you can run into numerical + // issues because fnorm will blow up. + + fnorm = magnitude / sqrt(nv2); + } + fx = fnorm * v[i][0]; + fy = fnorm * v[i][1]; + fz = fnorm * v[i][2]; + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (evflag) { + domain->unmap(x[i],image[i],unwrap); + vi[0] = fx*unwrap[0]; + vi[1] = fy*unwrap[1]; + vi[2] = fz*unwrap[2]; + vi[3] = fx*unwrap[1]; + vi[4] = fx*unwrap[2]; + vi[5] = fy*unwrap[2]; + v_tally(i, vi); + } + } + } +} + +void FixPropelSelf::post_force_quaternion(int vflag) +{ + double **f = atom->f; + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + int *type = atom->type; + int* ellipsoid = atom->ellipsoid; + + // ellipsoidal properties + AtomVecEllipsoid::Bonus *bonus = avec->bonus; + double f_act[3] = { sx, sy, sz }; + double f_rot[3]; + double *quat; + double Q[3][3]; + double fx,fy,fz; + + + // energy and virial setup + double vi[6]; + if (vflag) v_setup(vflag); + else evflag = 0; + + // if domain has PBC, need to unwrap for virial + double unwrap[3]; + imageint *image = atom->image; + + // Add the active force to the atom force: + for( int i = 0; i < nlocal; ++i ){ + if( mask[i] & groupbit ){ + + quat = bonus[ellipsoid[i]].quat; + MathExtra::quat_to_mat( quat, Q ); + MathExtra::matvec( Q, f_act, f_rot ); + + fx = magnitude*f_rot[0]; + fy = magnitude*f_rot[1]; + fz = magnitude*f_rot[2]; + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (evflag) { + domain->unmap(x[i],image[i],unwrap); + vi[0] = fx*unwrap[0]; + vi[1] = fy*unwrap[1]; + vi[2] = fz*unwrap[2]; + vi[3] = fx*unwrap[1]; + vi[4] = fx*unwrap[2]; + vi[5] = fy*unwrap[2]; + v_tally(i, vi); + } + } + } +} diff --git a/src/USER-MISC/fix_propel_self.h b/src/USER-BROWNIAN/fix_propel_self.h similarity index 55% rename from src/USER-MISC/fix_propel_self.h rename to src/USER-BROWNIAN/fix_propel_self.h index 47d1e1255b..a51ffe671b 100644 --- a/src/USER-MISC/fix_propel_self.h +++ b/src/USER-BROWNIAN/fix_propel_self.h @@ -21,51 +21,50 @@ FixStyle(propel/self,FixPropelSelf) #define LMP_FIX_PROPEL_SELF_H #include "fix.h" - namespace LAMMPS_NS { class FixPropelSelf : public Fix { public: - FixPropelSelf(class LAMMPS *, int, char **); virtual ~FixPropelSelf(); - virtual int setmask(); - virtual void post_force(int); + void init(); + void post_force(int); + void setup(int); + int setmask(); - double memory_usage(); - - protected: - enum operation_modes { - VELOCITY = 0, - QUATERNION = 1 - }; - -private: + private: double magnitude; + double sx,sy,sz; int mode; - // If 0, apply fix to everything in group. If > 0, apply only to those - // types i for which i <= n_types_filter _and_ apply_to_type[i] == 1: - int n_types_filter; - int *apply_to_type; //< Specifies, per type, if the fix applies to it or not. + void post_force_dipole(int); + void post_force_velocity(int); + void post_force_quaternion(int); + class AtomVecEllipsoid *avec; - int atoms_have_quaternion(); - - template void post_force_velocity(int); - template void post_force_quaternion(int); }; -} +} #endif #endif /* ERROR/WARNING messages: -E: Illegal ... command +E: Illegal fix propel/self command. -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. +Wrong number/type of input arguments. + +E: Fix propel/self requires atom attribute mu with option dipole. + +Self-explanatory. + +E: Fix propel/self requires atom style ellipsoid with option quat. + +Self-explanatory. + +Fix propel/self requires extended particles with option quat. + +Self-explanatory. */ diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 538fdb7952..b7199906a3 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -68,7 +68,6 @@ fix nvk, Efrem Braun (UC Berkeley), efrem.braun at gmail.com, https://github.com fix orient/eco Adrian A. Schratt and Volker Mohles (Ruhr-Uni Bochum), volker.mohles at rub.de, 6 Jun 2020 fix pafi, Thomas Swinburne (CNRS), swinburne at cinam.univ-mrs.fr, 1st Sep 2020 fix pimd, Yuxing Peng (U Chicago), yuxing at uchicago.edu, 24 Nov 2014 -fix propel/self, Stefan Paquay (Brandeis U), stefanpaquay at gmail.com, 20 Jan 2020 fix rhok, Ulf Pedersen (Roskilde U), ulf at urp.dk, 25 Sep 2017 fix smd, Axel Kohlmeyer, akohlmey at gmail.com, 19 May 2008 fix ti/spring, Rodrigo Freitas (Unicamp/Brazil), rodrigohb at gmail.com, 7 Nov 2013 diff --git a/src/USER-MISC/fix_propel_self.cpp b/src/USER-MISC/fix_propel_self.cpp deleted file mode 100644 index 9299f4d23b..0000000000 --- a/src/USER-MISC/fix_propel_self.cpp +++ /dev/null @@ -1,258 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://lammps.sandia.gov/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------- - Contributed by Stefan Paquay @ Brandeis University - - Thanks to Liesbeth Janssen @ Eindhoven University for useful discussions! ------------------------------------------------------------------------ */ - -#include "fix_propel_self.h" - -#include "atom.h" -#include "atom_vec_ellipsoid.h" -#include "error.h" -#include "math_const.h" -#include "math_extra.h" - -#include -#include -#include - -using namespace LAMMPS_NS; -using namespace FixConst; -using namespace MathConst; - -#define PRINT_DEBUG_OUTPUT 0 - -/* ---------------------------------------------------------------------- */ - -FixPropelSelf::FixPropelSelf( LAMMPS *lmp, int narg, char **argv ) - : Fix(lmp, narg, argv), magnitude(0.0), - mode(VELOCITY), n_types_filter(0), apply_to_type(nullptr) -{ - if (narg < 5) error->all(FLERR, "Illegal fix propel/self command"); - - // The fix is to support the following cases: - // 1. Simple atoms, in which case the force points along the velocity - // 2. Aspherical particles with an orientation. - // The first argument (mode) is used to differentiate between these. - - // args: fix ID all propel/self mode magnitude - // Optional args are - - const char *mode_str = argv[3]; - - if (strcmp(mode_str, "velocity") == 0) { - mode = VELOCITY; - - } else if (strcmp(mode_str, "quat") == 0) { - - // This mode should only be supported if the atom style has - // a quaternion (and if all atoms in the group have it) - - if (!atoms_have_quaternion()) { - error->all(FLERR, "All fix atoms need to be extended particles"); - } - mode = QUATERNION; - - } else { - char msg[2048]; - sprintf(msg, "Illegal mode \"%s\" for fix propel/self", mode_str); - error->all(FLERR, msg); - } - - magnitude = utils::numeric( FLERR, argv[4] ,false,lmp); - - // Handle rest of args: - - int iarg = 5; - while (iarg < narg) { - - if (strcmp(argv[iarg],"types") == 0) { - - apply_to_type = new int[atom->ntypes+1]; - memset(apply_to_type, 0, atom->ntypes * sizeof(int)); - - // consume all following numerical arguments as types - - iarg++; - int flag=0; - while (iarg < narg) { - if (isdigit(argv[iarg][0])) { - int thistype = utils::inumeric(FLERR,argv[iarg],false,lmp); - if ((thistype < 1) || (thistype > atom->ntypes)) - error->all(FLERR,"Illegal atom type to types keyword"); - apply_to_type[thistype] = 1; - flag = 1; - iarg++; - } else break; - } - if (!flag) - error->all(FLERR,"'types' keyword requires at least one type"); - else - n_types_filter = 1; - - } else { - error->all(FLERR,"Illegal fix propel/self command."); - } - } -} - -/* ---------------------------------------------------------------------- */ - -FixPropelSelf::~FixPropelSelf() -{ - delete[] apply_to_type; -} -/* ---------------------------------------------------------------------- */ - -int FixPropelSelf::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - - return mask; -} - -/* ---------------------------------------------------------------------- */ - -double FixPropelSelf::memory_usage() -{ - // magnitude + thermostat_orient + mode + n_types_filter + apply_to_type - double bytes = sizeof(double) + 3*sizeof(int) + sizeof(int*); - bytes += sizeof(int)*atom->ntypes*n_types_filter; - - return bytes; -} - -/* ---------------------------------------------------------------------- */ - -void FixPropelSelf::post_force(int vflag ) -{ - switch(mode) { - case QUATERNION: - if (n_types_filter) post_force_quaternion<1>(vflag); - else post_force_quaternion<0>(vflag); - break; - case VELOCITY: - if (n_types_filter) post_force_velocity<1>(vflag); - else post_force_velocity<0>(vflag); - break; - default: - ; - } -} - -/* ---------------------------------------------------------------------- */ - -template -void FixPropelSelf::post_force_quaternion(int /* vflag */ ) -{ - double **f = atom->f; - - int *mask = atom->mask; - int nlocal = atom->nlocal; - int *type = atom->type; - int* ellipsoid = atom->ellipsoid; - - AtomVecEllipsoid *av = static_cast(atom->style_match("ellipsoid")); - AtomVecEllipsoid::Bonus *bonus = av->bonus; - - // Add the active force to the atom force: - - for( int i = 0; i < nlocal; ++i ){ - if( mask[i] & groupbit ){ - if (filter_by_type && !apply_to_type[type[i]]) { - continue; - } - - double f_act[3] = { 1.0, 0.0, 0.0 }; - double f_rot[3]; - - double *quat = bonus[ellipsoid[i]].quat; - - double Q[3][3]; - MathExtra::quat_to_mat( quat, Q ); - MathExtra::matvec( Q, f_act, f_rot ); - - f[i][0] += magnitude * f_rot[0]; - f[i][1] += magnitude * f_rot[1]; - f[i][2] += magnitude * f_rot[2]; - } - } -} - -/* ---------------------------------------------------------------------- */ - -template -void FixPropelSelf::post_force_velocity(int /*vflag*/) -{ - double **f = atom->f; - double **v = atom->v; - int *mask = atom->mask; - int nlocal = atom->nlocal; - int *type = atom->type; - - // Add the active force to the atom force: - - for(int i = 0; i < nlocal; ++i) { - if( mask[i] & groupbit ){ - if (filter_by_type && !apply_to_type[type[i]]) { - continue; - } - - const double *vi = v[i]; - double f_act[3] = { vi[0], vi[1], vi[2] }; - double nv2 = vi[0]*vi[0] + vi[1]*vi[1] + vi[2]*vi[2]; - double fnorm = 0.0; - const double TOL = 1e-14; - - if (nv2 > TOL) { - - // Without this check you can run into numerical - // issues because fnorm will blow up. - - fnorm = magnitude / sqrt(nv2); - } - - f[i][0] += fnorm * f_act[0]; - f[i][1] += fnorm * f_act[1]; - f[i][2] += fnorm * f_act[2]; - } - } -} - -/* ---------------------------------------------------------------------- */ - -int FixPropelSelf::atoms_have_quaternion() -{ - if (!atom->ellipsoid_flag) { - error->all(FLERR, "Mode 'quat' requires atom style ellipsoid"); - return 0; - } - - int *mask = atom->mask; - int flag=0,flagall=0; - - // Make sure all atoms have ellipsoid data: - - for (int i = 0; i < atom->nlocal; ++i) - if (mask[i] & groupbit) - if (atom->ellipsoid[i] < 0) ++flag; - - MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); - if (flagall > 0) return 0; - - return 1; -} From 129210c7a0e87045ff888bdb28d91936d8536734 Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Sun, 20 Dec 2020 17:38:32 +0000 Subject: [PATCH 052/542] Updated examples and docs, and added basic brownian dynamics integrator (no rotational degrees of freedom). --- doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 5 +- doc/src/fix_brownian.rst | 151 +++++++++++ doc/src/fix_brownian_asphere.rst | 21 +- doc/src/fix_brownian_sphere.rst | 43 ++- doc/src/fix_propel_self.rst | 7 +- .../USER/brownian/2d_velocity/in.2d_velocity | 64 +++++ .../2d_velocity/log_1_1_4_2d.lammps.log | 248 ++++++++++++++++++ examples/USER/brownian/asphere/README.txt | 2 +- examples/USER/brownian/asphere/in3d.brownian | 30 +-- .../log_gaussian_1_0.33_1_3_3d.lammps.log | 141 ++++++++++ .../USER/brownian/sphere/in2ddipole.brownian | 25 +- .../brownian/sphere/in3d_virial_on.brownian | 22 +- .../USER/brownian/translational/in.brownian | 65 +++++ .../brownian/translational/log_1_1.lammps.log | 246 +++++++++++++++++ src/USER-BROWNIAN/fix_brownian.cpp | 217 +++++++++++++++ src/USER-BROWNIAN/fix_brownian.h | 79 ++++++ 17 files changed, 1268 insertions(+), 99 deletions(-) create mode 100644 doc/src/fix_brownian.rst create mode 100644 examples/USER/brownian/2d_velocity/in.2d_velocity create mode 100644 examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log create mode 100644 examples/USER/brownian/asphere/log_gaussian_1_0.33_1_3_3d.lammps.log create mode 100644 examples/USER/brownian/translational/in.brownian create mode 100644 examples/USER/brownian/translational/log_1_1.lammps.log create mode 100644 src/USER-BROWNIAN/fix_brownian.cpp create mode 100644 src/USER-BROWNIAN/fix_brownian.h diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 361ec7e982..9ee699faea 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -39,6 +39,7 @@ OPT. * :doc:`ave/time ` * :doc:`aveforce ` * :doc:`balance ` + * :doc:`brownian ` * :doc:`brownian/asphere ` * :doc:`brownian/sphere ` * :doc:`bocs ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 5efe002f31..373e5ac29f 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -182,8 +182,9 @@ accelerated styles exist. * :doc:`ave/time ` - compute/output global time-averaged quantities * :doc:`aveforce ` - add an averaged force to each atom * :doc:`balance ` - perform dynamic load-balancing -* :doc:`brownian/asphere ` - overdamped translational and rotational brownian for ellipsoids -* :doc:`brownian/sphere ` - overdamped translational and rotational brownian for spheres +* :doc:`brownian ` - overdamped translational brownian motion +* :doc:`brownian/asphere ` - overdamped translational and rotational brownian motion for ellipsoids +* :doc:`brownian/sphere ` - overdamped translational and rotational brownian motion for spheres * :doc:`bocs ` - NPT style time integration with pressure correction * :doc:`bond/break ` - break bonds on the fly * :doc:`bond/create ` - create bonds on the fly diff --git a/doc/src/fix_brownian.rst b/doc/src/fix_brownian.rst new file mode 100644 index 0000000000..e3f3a2679f --- /dev/null +++ b/doc/src/fix_brownian.rst @@ -0,0 +1,151 @@ +.. index:: fix brownian + +fix brownian command +==================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID brownian gamma_t diff_t seed keyword args + +* ID, group-ID are documented in :doc:`fix ` command +* brownian/sphere = style name of this fix command +* gamma_t = translational friction coefficient +* diff_t = translational diffusion coefficient +* zero or more keyword/value pairs may be appended +* keyword = *rng* + + .. parsed-literal:: + + *rng* value = *uniform* or *gaussian* or *none* + *uniform* = use uniform random number generator + *gaussian* = use gaussian random number generator + *none* = turn off noise + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all brownian 1.0 3.0 1294019 + fix 1 all brownian 1.0 3.0 19581092 rng none + fix 1 all brownian 1.0 3.0 19581092 rng uniform + fix 1 all brownian 1.0 3.0 19581092 rng gaussian + + +Description +""""""""""" + +Perform Brownian Dynamics integration to update position and velocity +of atoms in the group each timestep. Brownian Dynamics uses Newton's laws of +motion in the limit that inertial forces are negligible compared to +viscous forces. The stochastic equation of motion is + +.. math:: + + dr = \frac{F}{\gamma_t}dt+\sqrt{2D_t}dW_t, \\ + +where :math:`dW_t` is a Wiener processes (see e.g. :ref:`(Gardiner) `). + +.. note:: + This integrator is designed for generic non-equilibrium + simulations with additive noise. There are two important cases which + (conceptually) reduce the number of free parameters in this fix. + (a) In equilibrium simulations + (where fluctuation dissipation theorems are obeyed), one can define + the thermal energy :math:`k_bT=D_t\gamma_t`. + +--------- + +.. note:: + Temperature computation using the :doc:`compute temp ` + will not correctly compute temperature of these overdamped dynamics + since we are explicitly neglecting inertial effects. + See e.g. chapter 6 of :ref:`(Doi) ` for more details on this. + Temperature is instead defined in terms of the note above (for + equilibrium systems). + +--------- + +.. note:: + The diffusion coefficient :math:`D_t` is measured + in units of (length*length)/time, where time and length + are in the units specified on the :doc:`units ` page. + Similarly, :math:`\gamma_t` is measured in + units of mass/time. + +--------- + +If the *rng* keyword is used with the *uniform* value, then the noise +is generated from a uniform distribution (see +:ref:`(Dunweg) ` for why this works). This is the same method +of noise generation as used in :doc:`fix_langevin `. + +If the *rng* keyword is used with the *gaussian* value, then the noise +is generated from a gaussian distribution. Typically this added +complexity is unnecessary, and one should be fine using the *uniform* +value for reasons argued in :ref:`(Dunweg) `. + +If the *rng* keyword is used with the *none* value, then the noise +terms are set to zero. + + +---------- + +.. include:: accel_styles.rst + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. +No global or per-atom quantities are stored +by this fix for access by various :doc:`output commands `. + +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to the +system's virial as part of :doc:`thermodynamic output `. +The default is *virial no*. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. + +Restrictions +"""""""""""" + +This fix is part of the USER-BROWNIAN package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` +doc page for more info. + + +Related commands +"""""""""""""""" + +:doc:`fix langevin `, :doc:`fix nve/sphere `, +:doc:`fix brownian/sphere `, +:doc:`fix brownian/asphere ` + +Default +""""""" + +The default for *rng* is *uniform*. + +---------- + +.. _GardinerC1: + +**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). + +.. _Doi1: + +**(Doi)** Doi, Soft Matter Physics (2013). + +.. _Dunweg6: + +**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). + + diff --git a/doc/src/fix_brownian_asphere.rst b/doc/src/fix_brownian_asphere.rst index 58dd453de9..c59774ca65 100644 --- a/doc/src/fix_brownian_asphere.rst +++ b/doc/src/fix_brownian_asphere.rst @@ -54,8 +54,8 @@ viscous forces. The stochastic equations of motion are d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r, where :math:`d\Omega` is an infinitesimal rotation vector (see e.g. -Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and -:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). +Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and +:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). The quaternions :math:`q` of the ellipsoid are updated each timestep from the angular velocity vector. @@ -66,13 +66,13 @@ values of :math:`\gamma_t`, :math:`\gamma_r`, :math:`D_t`, If the *rng* keyword is used with the *uniform* value, then the noise is generated from a uniform distribution (see -:ref:`(Dunweg) ` for why this works). This is the same method +:ref:`(Dunweg) ` for why this works). This is the same method of noise generation as used in :doc:`fix_langevin `. If the *rng* keyword is used with the *gaussian* value, then the noise is generated from a gaussian distribution. Typically this added complexity is unnecessary, and one should be fine using the *uniform* -value for reasons argued in :ref:`(Dunweg) `. +value for reasons argued in :ref:`(Dunweg) `. If the *rng* keyword is used with the *none* value, then the noise terms are set to zero. @@ -114,7 +114,7 @@ as atoms which have a definite orientation as defined by the Optionally, they can also store a dipole moment as defined by the :doc:`atom_style dipole ` command. -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the USER-BROWNIAN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -124,8 +124,9 @@ be point particles. Related commands """""""""""""""" -:doc:`fix brownian/sphere `, :doc:`fix langevin `, -:doc:`fix nve/asphere `, :doc:`atom style ` +:doc:`fix brownian `, :doc:`fix brownian/sphere `, +:doc:`fix propel/self `, :doc:`fix langevin `, +:doc:`fix nve/asphere ` Default """"""" @@ -134,15 +135,15 @@ The default for *rng* is *uniform*. ---------- -.. _GoldsteinCM1: +.. _GoldsteinCM2: **(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). -.. _GardinerC1: +.. _GardinerC3: **(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). -.. _Dunweg7: +.. _Dunweg8: **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). diff --git a/doc/src/fix_brownian_sphere.rst b/doc/src/fix_brownian_sphere.rst index 231486dee1..7e73226e08 100644 --- a/doc/src/fix_brownian_sphere.rst +++ b/doc/src/fix_brownian_sphere.rst @@ -53,8 +53,8 @@ viscous forces. The stochastic equations of motion are d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r, where :math:`d\Omega` is an infinitesimal rotation vector (see e.g. -Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and -:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). +Chapter 4 of :ref:`(Goldstein) `), :math:`dW_t` and +:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) `). The dipole vectors :math:`e_i` are updated using the rotation matrix .. math:: @@ -85,35 +85,31 @@ section 7.4). --------- -.. note:: - Temperature computation using the :doc:`compute temp ` - will not correctly compute temperature of these overdamped dynamics - since we are explicitly neglecting inertial effects. - See e.g. chapter 6 of :ref:`(Doi) ` for more details on this. - Temperature is instead defined in terms of the note above (for - equilibrium systems). +See note on the unphysical result of using :doc:`compute temp ` +with this fix in :doc:`fix brownian `. --------- .. note:: - The diffusion coefficient :math:`D_t` is measured - in units of (length*length)/time and the diffusion coefficient - :math:`D_r` is measured in units of 1/time, where time and length - are in the units specified on the :doc:`units ` page. Similarly, - :math:`\gamma_t` and :math:`\gamma_r` are measured in + The diffusion coefficient :math:`D_t` and the translational + drag coefficient :math:`\gamma_t` are discussed in + :doc:`fix brownian `. The diffusion coefficient + :math:`D_r` is measured in units of 1/time, where time is in the + units specified on the :doc:`units ` page. Similarly, + and :math:`\gamma_r` is measured in units of mass/time and (mass*length*length)/(time). --------- If the *rng* keyword is used with the *uniform* value, then the noise is generated from a uniform distribution (see -:ref:`(Dunweg) ` for why this works). This is the same method +:ref:`(Dunweg) ` for why this works). This is the same method of noise generation as used in :doc:`fix_langevin `. If the *rng* keyword is used with the *gaussian* value, then the noise is generated from a gaussian distribution. Typically this added complexity is unnecessary, and one should be fine using the *uniform* -value for reasons argued in :ref:`(Dunweg) `. +value for reasons argued in :ref:`(Dunweg) `. If the *rng* keyword is used with the *none* value, then the noise terms are set to zero. @@ -151,7 +147,7 @@ as defined by the :doc:`atom_style sphere ` command. If the *dipole* keyword is used, they must also store a dipole moment as defined by the :doc:`atom_style dipole ` command. -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the USER-BROWNIAN package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -159,8 +155,9 @@ doc page for more info. Related commands """""""""""""""" +:doc:`fix brownian `, :doc:`fix brownian/asphere `, +:doc:`fix propel/self `, :doc:`fix langevin `, :doc:`fix nve/sphere `, -:doc:`atom style ` Default """"""" @@ -169,11 +166,11 @@ The default for *rng* is *uniform*. ---------- -.. _GoldsteinCM: +.. _GoldsteinCM1: **(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001). -.. _GardinerC: +.. _GardinerC2: **(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009). @@ -182,11 +179,7 @@ The default for *rng* is *uniform*. **(Callegari)** Callegari and Volpe, *Numerical Simulations of Active Brownian Particles*, Flowing Matter, 211-238 (2019). -.. _Doi1: - -**(Doi)** Doi, Soft Matter Physics (2013). - -.. _Dunweg6: +.. _Dunweg7: **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index 6644d97d46..582d9e4294 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -21,10 +21,9 @@ Syntax *dipole* value = none = apply force along dipole direction *velocity* value = none = apply force along velocity direction *quat* values = direction vector *sx* and *sy* and *sz* - *sx* = x component of force direction in ellipsoid frame - *sy* = y component of force direction in ellipsoid frame - *sz* = z component of force direction in ellipsoid frame - + *sx* = x component of force direction in ellipsoid frame + *sy* = y component of force direction in ellipsoid frame + *sz* = z component of force direction in ellipsoid frame Examples diff --git a/examples/USER/brownian/2d_velocity/in.2d_velocity b/examples/USER/brownian/2d_velocity/in.2d_velocity new file mode 100644 index 0000000000..b731f5f477 --- /dev/null +++ b/examples/USER/brownian/2d_velocity/in.2d_velocity @@ -0,0 +1,64 @@ +# 2d overdamped brownian dynamics with self-propulsion +# force in direction of velocity. + +variable gamma_t equal 1.0 +variable D_t equal 1.0 +variable seed equal 1974019 +variable fp equal 4.0 + +variable params string ${gamma_t}_${D_t}_${fp} + + +log log_${params}_2d.lammps.log +units lj +dimension 2 +newton off + + +lattice sq 0.4 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +create_atoms 1 box +mass * 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + +fix step all brownian ${gamma_t} ${D_t} ${seed} +fix vel all propel/self ${fp} velocity +fix 2 all enforce2d +fix_modify vel virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 + + diff --git a/examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log b/examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log new file mode 100644 index 0000000000..f6b234e9ee --- /dev/null +++ b/examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log @@ -0,0 +1,248 @@ +units lj +dimension 2 +newton off + + +lattice sq 0.4 +Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388 +region box block -16 16 -16 16 -0.2 0.2 +create_box 1 box +Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1024 atoms + create_atoms CPU = 0.001 seconds +mass * 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + + + +#compute d all property/atom mux muy muz + +fix step all brownian ${gamma_t} ${D_t} ${seed} +fix step all brownian 1 ${D_t} ${seed} +fix step all brownian 1 1 ${seed} +fix step all brownian 1 1 1974019 +fix vel all propel/self ${fp} velocity +fix vel all propel/self 4 velocity +fix 2 all enforce2d +fix_modify vel virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 2.289 | 2.289 | 2.289 Mbytes +Step Temp E_pair c_press + 0 1 0 -0.18336111 + 50000 1.9663098e+10 0 -0.75033044 +Loop time of 2.45902 on 1 procs for 50000 steps with 1024 atoms + +Performance: 0.176 tau/day, 20333.276 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0078395 | 0.0078395 | 0.0078395 | 0.0 | 0.32 +Output | 2.2947e-05 | 2.2947e-05 | 2.2947e-05 | 0.0 | 0.00 +Modify | 2.332 | 2.332 | 2.332 | 0.0 | 94.83 +Other | | 0.1192 | | | 4.85 + +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 65.0000 ave 65 max 65 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 2.664 | 2.664 | 2.664 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 1.9663098e+10 0 0 0 0 0 -0.75033044 + 1000 199346.07 0 0.01933096 0.020555579 0 0.039886539 -0.45701943 + 2000 198310 0 0.040165459 0.041283119 0 0.081448577 0.34264096 + 3000 204115.93 0 0.057654441 0.060411193 0 0.11806563 -0.41710363 + 4000 196903.18 0 0.075874071 0.08470884 0 0.16058291 -0.18627889 + 5000 201382.13 0 0.097484871 0.1049401 0 0.20242497 -0.12876225 + 6000 195317.96 0 0.11872475 0.12469358 0 0.24341834 -0.3084651 + 7000 192139.34 0 0.14148561 0.14363452 0 0.28512013 0.0032867364 + 8000 201737.84 0 0.16055109 0.16405717 0 0.32460826 0.36435453 + 9000 199390.58 0 0.17897382 0.18795928 0 0.3669331 0.025659298 + 10000 207807.41 0 0.19680417 0.20733821 0 0.40414239 -0.35368379 + 11000 201936.29 0 0.21666426 0.22702132 0 0.44368558 0.044253449 + 12000 196863.68 0 0.2394452 0.24672678 0 0.48617198 0.059027892 + 13000 199368.34 0 0.26647368 0.2700584 0 0.53653208 0.27090461 + 14000 201246.39 0 0.28799289 0.29823282 0 0.58622571 0.59883778 + 15000 195355.47 0 0.29975278 0.32348787 0 0.62324065 -0.70763643 + 16000 198372.41 0 0.32191014 0.34434864 0 0.66625878 -0.36543908 + 17000 193442.08 0 0.33927003 0.36811239 0 0.70738242 0.28541473 + 18000 197441 0 0.36067818 0.38982011 0 0.75049829 -0.45670227 + 19000 208769.5 0 0.37965583 0.41015661 0 0.78981244 -0.47803396 + 20000 198311.2 0 0.3968078 0.42701175 0 0.82381955 -0.18642397 + 21000 201365.22 0 0.4151043 0.44909345 0 0.86419775 0.86839756 + 22000 198253.24 0 0.4396583 0.46388261 0 0.90354091 -0.19592545 + 23000 204598.51 0 0.45382292 0.49253671 0 0.94635963 -0.24169987 + 24000 211421.88 0 0.46086338 0.51831304 0 0.97917642 0.49751915 + 25000 198690.71 0 0.47110913 0.53640271 0 1.0075118 -0.24475563 + 26000 203981.49 0 0.49265476 0.55310571 0 1.0457605 0.20237224 + 27000 201128.99 0 0.52865208 0.57516064 0 1.1038127 -0.40826104 + 28000 198529.77 0 0.54479087 0.59876678 0 1.1435576 0.41576857 + 29000 205024.27 0 0.56195744 0.61217109 0 1.1741285 -0.79146635 + 30000 201565.62 0 0.58276132 0.63743585 0 1.2201972 -0.065832917 + 31000 197893.43 0 0.61132665 0.66126375 0 1.2725904 0.47907079 + 32000 201395.11 0 0.61904956 0.67520462 0 1.2942542 -0.7408472 + 33000 202064.22 0 0.64760511 0.69087605 0 1.3384812 -0.14601514 + 34000 191227.75 0 0.65698736 0.73857849 0 1.3955659 0.2177548 + 35000 199474.65 0 0.66491543 0.76604575 0 1.4309612 -0.64627039 + 36000 195252.77 0 0.67565581 0.79911139 0 1.4747672 0.0293298 + 37000 198167.14 0 0.68899202 0.81268008 0 1.5016721 -0.0055245918 + 38000 202995.35 0 0.70224976 0.82436547 0 1.5266152 -0.2826768 + 39000 197129.03 0 0.71270072 0.8579444 0 1.5706451 0.063623666 + 40000 199153.69 0 0.73777312 0.88820969 0 1.6259828 -0.26740551 + 41000 205347.31 0 0.75613153 0.9006214 0 1.6567529 0.82415354 + 42000 199423.73 0 0.76864739 0.92457092 0 1.6932183 -0.16636304 + 43000 198052 0 0.79841199 0.93832523 0 1.7367372 -0.016241224 + 44000 205205.39 0 0.81727188 0.96823569 0 1.7855076 -0.10405924 + 45000 199116.46 0 0.83208052 0.99352694 0 1.8256075 0.040835286 + 46000 198759.48 0 0.84291542 1.0038949 0 1.8468104 0.46109436 + 47000 189676.9 0 0.86430719 1.0131299 0 1.8774371 -0.67947102 + 48000 199801.4 0 0.90662572 1.0286589 0 1.9352846 -0.5293946 + 49000 199730.89 0 0.93530132 1.0568273 0 1.9921286 -0.27562311 + 50000 203272.56 0 0.96366375 1.0790026 0 2.0426664 -0.10629234 + 51000 196992.09 0 0.97818106 1.1030549 0 2.0812359 0.31719382 + 52000 204063.62 0 1.0068773 1.1239506 0 2.130828 -7.1998264e-05 + 53000 204349.41 0 1.0277098 1.1546477 0 2.1823575 0.16897786 + 54000 203207.3 0 1.0415673 1.1881409 0 2.2297082 -0.25033492 + 55000 194841.07 0 1.0600954 1.2179033 0 2.2779987 0.0062433629 + 56000 198601.58 0 1.071562 1.2363958 0 2.3079578 -0.13124124 + 57000 196654.6 0 1.0997086 1.2486573 0 2.3483659 -0.46425912 + 58000 197781.48 0 1.112526 1.2706195 0 2.3831455 0.26007922 + 59000 199853.9 0 1.1295132 1.2978402 0 2.4273533 -0.030877018 + 60000 201698.14 0 1.1690892 1.3228782 0 2.4919675 -0.23190043 + 61000 199260.52 0 1.1870513 1.3431945 0 2.5302458 -0.040373885 + 62000 196909.15 0 1.2007194 1.3683525 0 2.5690719 0.21318495 + 63000 203927.79 0 1.2442809 1.3964232 0 2.6407041 0.10156282 + 64000 205322.27 0 1.2721207 1.4159422 0 2.6880629 0.33393307 + 65000 199142.6 0 1.2989685 1.4330729 0 2.7320414 -0.65644005 + 66000 205023.06 0 1.2948208 1.4255094 0 2.7203302 0.22290721 + 67000 209750.01 0 1.3127511 1.4369628 0 2.7497139 -0.40241279 + 68000 200205.19 0 1.3355277 1.4541568 0 2.7896846 0.6665415 + 69000 198653.01 0 1.3500764 1.4962697 0 2.8463461 -0.28396983 + 70000 207485.71 0 1.3825583 1.5095552 0 2.8921135 0.34774599 + 71000 203918.68 0 1.4090995 1.5246756 0 2.9337751 0.071958672 + 72000 199038.47 0 1.4246969 1.5612784 0 2.9859753 -0.42129173 + 73000 197380.7 0 1.445835 1.6025372 0 3.0483722 -0.099854135 + 74000 205006.49 0 1.4703253 1.606784 0 3.0771093 0.137244 + 75000 196040.42 0 1.4897388 1.6297195 0 3.1194583 -0.46715263 + 76000 200022.09 0 1.5178017 1.6560075 0 3.1738092 -0.21504553 + 77000 200766.4 0 1.5184584 1.6673791 0 3.1858374 0.54447858 + 78000 199636.76 0 1.5344452 1.6845098 0 3.2189549 0.021903761 + 79000 204188.86 0 1.5567356 1.7205197 0 3.2772553 0.15356898 + 80000 199862.31 0 1.5669731 1.7265239 0 3.2934969 -0.26342032 + 81000 198557.57 0 1.5735674 1.7468943 0 3.3204617 0.22068216 + 82000 203675.4 0 1.5898596 1.7646027 0 3.3544624 0.51221445 + 83000 203412.56 0 1.6066548 1.7813624 0 3.3880172 0.33512263 + 84000 200896.36 0 1.6112635 1.812552 0 3.4238154 1.1657793 + 85000 198987.17 0 1.652135 1.8336748 0 3.4858098 -0.20419704 + 86000 203027.04 0 1.6728041 1.864244 0 3.5370481 0.61746313 + 87000 203913.8 0 1.6783324 1.8762967 0 3.554629 0.28428076 + 88000 205061.23 0 1.6781682 1.879458 0 3.5576262 0.089285353 + 89000 198210.89 0 1.7017682 1.9029345 0 3.6047027 -0.23977904 + 90000 196170.91 0 1.7291253 1.9258436 0 3.6549689 0.15806438 + 91000 202846.79 0 1.7592339 1.9431644 0 3.7023983 0.17723099 + 92000 198976.91 0 1.762318 1.9742003 0 3.7365183 0.25668658 + 93000 194578.12 0 1.7880716 2.0009816 0 3.7890532 0.20231476 + 94000 200319.82 0 1.7854494 2.020855 0 3.8063044 0.14729427 + 95000 202430.33 0 1.7925005 2.0480213 0 3.8405218 -0.28291245 + 96000 200145.58 0 1.8113602 2.0621043 0 3.8734644 0.05547277 + 97000 194617.53 0 1.8286924 2.0729365 0 3.9016289 -0.59829377 + 98000 200829.37 0 1.8485835 2.077731 0 3.9263145 0.78242718 + 99000 198197.55 0 1.8537119 2.0873455 0 3.9410573 -0.52970118 + 100000 204149.63 0 1.8897394 2.0942927 0 3.9840321 0.58118967 + 101000 198654.59 0 1.9126448 2.1380708 0 4.0507156 -0.61766977 + 102000 201198.05 0 1.9433521 2.143049 0 4.0864011 0.15570108 + 103000 200383.43 0 1.9669578 2.1361518 0 4.1031095 -0.10556532 + 104000 204363.26 0 1.9827272 2.1564095 0 4.1391367 -0.060748593 + 105000 198267.87 0 1.9904164 2.1804141 0 4.1708305 0.40995747 + 106000 202082.12 0 1.993709 2.1925288 0 4.1862378 -0.52458386 + 107000 200209.49 0 2.015427 2.219161 0 4.234588 -0.67350679 + 108000 203112.58 0 2.0467303 2.2405372 0 4.2872675 0.25033168 + 109000 203844.13 0 2.056314 2.2623929 0 4.3187068 0.3384149 + 110000 201740.33 0 2.0706519 2.285547 0 4.3561989 0.35582365 + 111000 202493.05 0 2.0725826 2.308685 0 4.3812676 -0.26487212 + 112000 205404.09 0 2.0969613 2.3252767 0 4.422238 0.58346057 + 113000 201223.54 0 2.0876103 2.3316941 0 4.4193044 0.37747414 + 114000 208649.11 0 2.1095116 2.3488008 0 4.4583124 0.068129648 + 115000 202708.5 0 2.1233837 2.3701129 0 4.4934966 -0.23734073 + 116000 202482.42 0 2.1221907 2.4262516 0 4.5484424 -0.087142119 + 117000 200384.65 0 2.1487723 2.4619437 0 4.6107161 -0.13673271 + 118000 196885.36 0 2.158057 2.4818335 0 4.6398905 0.31912412 + 119000 194064.42 0 2.1821315 2.5032336 0 4.6853651 0.17615749 + 120000 195203.09 0 2.1939678 2.539838 0 4.7338058 0.5106086 +Loop time of 6.05038 on 1 procs for 120000 steps with 1024 atoms + +Performance: 17136.102 tau/day, 19833.451 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.00031301 | 0.00031301 | 0.00031301 | 0.0 | 0.01 +Comm | 0.0072472 | 0.0072472 | 0.0072472 | 0.0 | 0.12 +Output | 0.0036492 | 0.0036492 | 0.0036492 | 0.0 | 0.06 +Modify | 5.7173 | 5.7173 | 5.7173 | 0.0 | 94.50 +Other | | 0.3218 | | | 5.32 + +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 154 +Dangerous builds = 0 + + +Total wall time: 0:00:08 diff --git a/examples/USER/brownian/asphere/README.txt b/examples/USER/brownian/asphere/README.txt index 7cb5d2e8e6..47e79353c6 100644 --- a/examples/USER/brownian/asphere/README.txt +++ b/examples/USER/brownian/asphere/README.txt @@ -1,2 +1,2 @@ -The input file in2d.bd demonstrates how to run a 2d simulation +The input file in3d.brownian demonstrates how to run a 3d simulation of ellipsoidal particles undergoing overdamped brownian motion. diff --git a/examples/USER/brownian/asphere/in3d.brownian b/examples/USER/brownian/asphere/in3d.brownian index 67d95a82b9..19487978ce 100644 --- a/examples/USER/brownian/asphere/in3d.brownian +++ b/examples/USER/brownian/asphere/in3d.brownian @@ -1,10 +1,14 @@ -# 3d overdamped brownian dynamics +# 3d overdamped brownian dynamics for ellipsoids +# with dipole moment also being updated +# choose variables to obey thermal equilibrium +# (fluctuation dissipation theorem) and no-slip +# boundary condition variable rng string gaussian -variable gamma_t equal 4.0 -variable gamma_r equal 1.0 -variable D_t equal 7.0 -variable D_r equal 13.0 +variable gamma_t equal 1.0 +variable gamma_r equal 0.33 +variable D_t equal 1.0 +variable D_r equal 3.0 variable seed equal 1974019 variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r} @@ -27,16 +31,11 @@ set type * shape 1 1 1 set type * quat/random ${seed} velocity all create 1.0 1 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 1 check yes - - - pair_style none -fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} & + ${seed} rng ${rng} dipole compute press all pressure NULL virial @@ -50,8 +49,6 @@ run 50000 reset_timestep 0 -#initialisation for the main run - # MSD compute msd all msd @@ -59,11 +56,6 @@ compute msd all msd thermo_style custom step temp epair c_msd[*] c_press -# write trajectory and thermo in a log-scale frequency -#dump 1 all custom 1000 dump_${params}_3d.lammpstrj id type & -# x y xu yu mux muy muz fx fy fz -#dump_modify 1 first yes sort id - timestep 0.00001 thermo 10000 diff --git a/examples/USER/brownian/asphere/log_gaussian_1_0.33_1_3_3d.lammps.log b/examples/USER/brownian/asphere/log_gaussian_1_0.33_1_3_3d.lammps.log new file mode 100644 index 0000000000..2ed81ec8ba --- /dev/null +++ b/examples/USER/brownian/asphere/log_gaussian_1_0.33_1_3_3d.lammps.log @@ -0,0 +1,141 @@ +units lj +atom_style hybrid dipole sphere ellipsoid +WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157) +WARNING: Peratom rmass is in multiple sub-styles - must be used consistently (src/atom_vec_hybrid.cpp:219) +dimension 3 +newton off + + +lattice sc 0.4 +Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 +region box block -4 4 -4 4 -4 4 +create_box 1 box +Created orthogonal box = (-5.4288352 -5.4288352 -5.4288352) to (5.4288352 5.4288352 5.4288352) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 512 atoms + create_atoms CPU = 0.002 seconds +mass * 1.0 +set type * dipole/random ${seed} 1.0 +set type * dipole/random 1974019 1.0 +Setting atom values ... + 512 settings made for dipole/random +set type * shape 1 1 1 +Setting atom values ... + 512 settings made for shape +set type * quat/random ${seed} +set type * quat/random 1974019 +Setting atom values ... + 512 settings made for quat/random +velocity all create 1.0 1 loop geom + +pair_style none + + +fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 1 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 1 0.33 ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 1 0.33 1 ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 1 0.33 1 3 ${seed} rng ${rng} dipole +fix 1 all brownian/asphere 1 0.33 1 3 1974019 rng ${rng} dipole +fix 1 all brownian/asphere 1 0.33 1 3 1974019 rng gaussian dipole + + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50000 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.379 | 5.379 Mbytes +Step Temp E_pair c_press + 0 1 0 0 + 50000 1.9891104e+10 0 0 +Loop time of 5.53749 on 1 procs for 50000 steps with 512 atoms + +Performance: 0.078 tau/day, 9029.362 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11711 | 0.11711 | 0.11711 | 0.0 | 2.11 +Output | 2.034e-05 | 2.034e-05 | 2.034e-05 | 0.0 | 0.00 +Modify | 5.3401 | 5.3401 | 5.3401 | 0.0 | 96.44 +Other | | 0.08027 | | | 1.45 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 217.000 ave 217 max 217 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 10000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 5.754 | 5.754 | 5.754 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 1.9891104e+10 0 0 0 0 0 0 + 10000 201972.17 0 0.19918647 0.20079752 0.20495007 0.60493407 0 + 20000 197255.49 0 0.40800225 0.37910274 0.38545643 1.1725614 0 + 30000 195533.67 0 0.60991554 0.5898132 0.56621596 1.7659447 0 + 40000 192777.99 0 0.7761198 0.86101776 0.76531344 2.402451 0 + 50000 195241.43 0 1.0053256 1.0477568 0.96681401 3.0198964 0 + 60000 201887.49 0 1.2298892 1.1979933 1.1950141 3.6228965 0 + 70000 200187.14 0 1.4407329 1.356743 1.3992739 4.1967498 0 + 80000 202737.24 0 1.6305637 1.5663775 1.5724692 4.7694104 0 + 90000 185530.51 0 1.7937597 1.7795995 1.7222809 5.2956401 0 + 100000 204405.47 0 2.0149709 1.9738573 1.9423625 5.9311907 0 + 110000 194892.4 0 2.1974948 2.1560014 2.1453303 6.4988264 0 + 120000 198462.51 0 2.3761388 2.334739 2.287964 6.9988418 0 +Loop time of 13.0463 on 1 procs for 120000 steps with 512 atoms + +Performance: 7947.110 tau/day, 9198.044 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0011789 | 0.0011789 | 0.0011789 | 0.0 | 0.01 +Comm | 0.030109 | 0.030109 | 0.030109 | 0.0 | 0.23 +Output | 0.00030614 | 0.00030614 | 0.00030614 | 0.0 | 0.00 +Modify | 12.834 | 12.834 | 12.834 | 0.0 | 98.38 +Other | | 0.1803 | | | 1.38 + +Nlocal: 512.000 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 1748 +Dangerous builds = 0 +Total wall time: 0:00:18 diff --git a/examples/USER/brownian/sphere/in2ddipole.brownian b/examples/USER/brownian/sphere/in2ddipole.brownian index 73d90e4ebf..e7a8374984 100644 --- a/examples/USER/brownian/sphere/in2ddipole.brownian +++ b/examples/USER/brownian/sphere/in2ddipole.brownian @@ -1,4 +1,5 @@ -# 2d overdamped brownian dynamics +# 2d overdamped brownian dynamics of a sphere +# with dipole also being updated variable rng string gaussian variable gamma_t equal 4.0 @@ -26,19 +27,10 @@ mass * 1.0 set type * dipole/random ${seed} 1.0 velocity all create 1.0 1 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 1 check yes - - - pair_style none - - -#compute d all property/atom mux muy muz - -fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole +fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} & + ${D_r} ${seed} rng ${rng} dipole fix 2 all enforce2d compute press all pressure NULL virial @@ -51,9 +43,6 @@ thermo 50001 run 50000 reset_timestep 0 - -#initialisation for the main run - # MSD compute msd all msd @@ -61,12 +50,6 @@ compute msd all msd thermo_style custom step temp epair c_msd[*] c_press -# write trajectory and thermo in a log-scale frequency -# uncomment next three lines for dump output -#dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type & -# x y xu yu mux muy muz fx fy fz -#dump_modify 1 first yes sort id - timestep 0.00001 thermo 1000 diff --git a/examples/USER/brownian/sphere/in3d_virial_on.brownian b/examples/USER/brownian/sphere/in3d_virial_on.brownian index 481d9bc1b4..2fb08cbb17 100644 --- a/examples/USER/brownian/sphere/in3d_virial_on.brownian +++ b/examples/USER/brownian/sphere/in3d_virial_on.brownian @@ -1,4 +1,6 @@ -# 3d overdamped brownian dynamics +# 3d overdamped brownian dynamics of sphere, with +# virial contribution (i.e. ideal gas pressure) +# included variable rng string uniform @@ -16,7 +18,6 @@ log log_${params}_3d.lammps.log units lj atom_style sphere dimension 3 -newton off lattice sc 0.4 @@ -26,14 +27,11 @@ create_atoms 1 box #mass * 1.0 velocity all create 1.0 1 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 1 check yes - pair_style none -fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} +fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} & + ${D_r} ${seed} rng ${rng} fix_modify 1 virial yes compute press all pressure NULL virial @@ -46,22 +44,12 @@ thermo 50001 run 50000 reset_timestep 0 - -#initialisation for the main run - # MSD compute msd all msd thermo_style custom step temp epair c_msd[*] c_press - -# write trajectory and thermo in a log-scale frequency -# uncomment the next three lines for dump file -#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type & -# x y xu yu fx fy fz -#dump_modify 1 first yes sort id - timestep 0.00001 thermo 1000 diff --git a/examples/USER/brownian/translational/in.brownian b/examples/USER/brownian/translational/in.brownian new file mode 100644 index 0000000000..fbf43e68c6 --- /dev/null +++ b/examples/USER/brownian/translational/in.brownian @@ -0,0 +1,65 @@ +# 3d overdamped brownian dynamics + +variable gamma_t equal 1.0 +variable D_t equal 1.0 +variable seed equal 1974019 + +variable params string ${gamma_t}_${D_t} + + +log log_${params}.lammps.log +units lj +dimension 3 +newton off + + +lattice sc 0.4 +region box block -8 8 -8 8 -8 8 +create_box 1 box +create_atoms 1 box +mass * 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + +# simple overdamped brownian dynamics time-stepper +fix step all brownian ${gamma_t} ${D_t} ${seed} + +# turn on the virial contribution from the noise +# (this is the ideal gas pressure, but it is really noisy +# for small systems) +fix_modify step virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 + + diff --git a/examples/USER/brownian/translational/log_1_1.lammps.log b/examples/USER/brownian/translational/log_1_1.lammps.log new file mode 100644 index 0000000000..0fdba989bd --- /dev/null +++ b/examples/USER/brownian/translational/log_1_1.lammps.log @@ -0,0 +1,246 @@ +units lj +dimension 3 +newton off + + +lattice sc 0.4 +Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 +region box block -8 8 -8 8 -8 8 +create_box 1 box +Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4096 atoms + create_atoms CPU = 0.002 seconds +mass * 1.0 +velocity all create 1.0 1 loop geom + + +neighbor 1.0 bin +neigh_modify every 1 delay 1 check yes + + + +pair_style none + +# simple overdamped brownian dynamics time-stepper +fix step all brownian ${gamma_t} ${D_t} ${seed} +fix step all brownian 1 ${D_t} ${seed} +fix step all brownian 1 1 ${seed} +fix step all brownian 1 1 1974019 + +# turn on the virial contribution from the noise +# (this is the ideal gas pressure, but it is really noisy +# for small systems) +fix_modify step virial yes + +compute press all pressure NULL virial + +thermo_style custom step temp epair c_press + +#equilibration +timestep 0.0000000001 +thermo 50001 +run 50000 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 2.319 | 2.319 | 2.319 Mbytes +Step Temp E_pair c_press + 0 1 0 1500.0667 + 50000 2.0204192e+10 0 809.28898 +Loop time of 8.36695 on 1 procs for 50000 steps with 4096 atoms + +Performance: 0.052 tau/day, 5975.895 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.081773 | 0.081773 | 0.081773 | 0.0 | 0.98 +Output | 3.0396e-05 | 3.0396e-05 | 3.0396e-05 | 0.0 | 0.00 +Modify | 7.8039 | 7.8039 | 7.8039 | 0.0 | 93.27 +Other | | 0.4812 | | | 5.75 + +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 817.000 ave 817 max 817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 0 +Dangerous builds = 0 +reset_timestep 0 + + +#initialisation for the main run + +# MSD +compute msd all msd + + +thermo_style custom step temp epair c_msd[*] c_press + + +timestep 0.00001 +thermo 1000 + +# main run +run 120000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) +Per MPI rank memory allocation (min/avg/max) = 2.694 | 2.694 | 2.694 Mbytes +Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press + 0 2.0204192e+10 0 0 0 0 0 3.053092 + 1000 199589.87 0 0.020515986 0.019445659 0.020084014 0.060045658 -10.855191 + 2000 202255.37 0 0.039423387 0.039839097 0.041243768 0.12050625 -7.8484884 + 3000 197932.37 0 0.058057959 0.060232381 0.061205106 0.17949545 14.441358 + 4000 201354.42 0 0.08020915 0.080140903 0.081351793 0.24170185 -2.7088264 + 5000 201599.34 0 0.10065125 0.099423954 0.10004367 0.30011888 10.000367 + 6000 198355.3 0 0.12039302 0.12228165 0.12136204 0.36403671 -7.7331104 + 7000 201842.08 0 0.13901495 0.14401324 0.14070032 0.42372851 1.049759 + 8000 200224.96 0 0.16063188 0.16389028 0.16409878 0.48862093 14.748306 + 9000 198468.62 0 0.18050666 0.18555949 0.18441359 0.55047975 -7.2751841 + 10000 197958.21 0 0.20229316 0.20438608 0.20471694 0.61139618 -8.8169492 + 11000 200852.8 0 0.22244961 0.22388152 0.22417791 0.67050904 -0.56323783 + 12000 200135.84 0 0.24070342 0.23964066 0.24829459 0.72863867 -20.246433 + 13000 199160.33 0 0.26021951 0.2581362 0.27210493 0.79046065 6.2400743 + 14000 200016.58 0 0.28005738 0.27429833 0.29107673 0.84543244 9.8390268 + 15000 200805.25 0 0.30110658 0.29756813 0.31002936 0.90870407 -9.7474978 + 16000 201221.83 0 0.31982855 0.31758368 0.33140494 0.96881716 -11.937757 + 17000 199690.18 0 0.33896659 0.33908504 0.35143307 1.0294847 -11.627541 + 18000 197165.97 0 0.35589324 0.3605585 0.37062404 1.0870758 17.045279 + 19000 202921.66 0 0.36968243 0.3825335 0.38579438 1.1380103 -3.2942099 + 20000 200415.26 0 0.39189833 0.39811842 0.40650662 1.1965234 -0.55679809 + 21000 198882.79 0 0.41394816 0.42495341 0.42660986 1.2655114 0.26572202 + 22000 199352.13 0 0.43200564 0.44555233 0.44842807 1.325986 5.9839474 + 23000 200565.11 0 0.45248704 0.46736174 0.4633773 1.3832261 0.51141727 + 24000 197632.73 0 0.47648878 0.49070755 0.48561349 1.4528098 11.301781 + 25000 203284.74 0 0.50103025 0.5117464 0.50162451 1.5144012 4.0966379 + 26000 200458.42 0 0.52111051 0.53245594 0.52193205 1.5754985 -9.2090189 + 27000 197553.02 0 0.54097922 0.553215 0.5440757 1.6382699 -6.0708365 + 28000 200874.32 0 0.55707209 0.57015852 0.56334199 1.6905726 -17.349073 + 29000 199494.43 0 0.57734934 0.59276209 0.58014344 1.7502549 -7.0407471 + 30000 199898.09 0 0.60161157 0.6156313 0.60516078 1.8224036 -1.3770813 + 31000 200867.7 0 0.62383361 0.64008503 0.6272796 1.8911982 -8.3200079 + 32000 198811.59 0 0.64361889 0.66089102 0.64987533 1.9543852 -0.21133799 + 33000 198224.12 0 0.66695348 0.67669734 0.67749939 2.0211502 0.87075722 + 34000 202553.2 0 0.69470773 0.69930784 0.69600623 2.0900218 1.7428524 + 35000 199227.86 0 0.71973625 0.72255845 0.71991572 2.1622104 2.4381317 + 36000 200719.05 0 0.73772312 0.74086704 0.74438632 2.2229765 -8.8184183 + 37000 198054.45 0 0.75901548 0.76107029 0.76677002 2.2868558 9.0699905 + 38000 198496.92 0 0.77679013 0.78067416 0.78055585 2.3380201 -8.8374756 + 39000 199224.19 0 0.79689891 0.8074183 0.79624042 2.4005576 -2.3099574 + 40000 199514.11 0 0.81493522 0.8271518 0.81729253 2.4593796 8.5411105 + 41000 199926.55 0 0.82918834 0.84950171 0.83531381 2.5140039 -6.8276624 + 42000 201659.21 0 0.84991161 0.87416096 0.86612093 2.5901935 -11.006396 + 43000 201502.51 0 0.87967597 0.89570393 0.88920119 2.6645811 9.4305203 + 44000 194956.27 0 0.9022655 0.91604833 0.90539218 2.723706 1.7636771 + 45000 201853.02 0 0.92302957 0.93661741 0.93225051 2.7918975 9.6483674 + 46000 200572.92 0 0.94062662 0.94933155 0.94953376 2.8394919 1.0882497 + 47000 202008.49 0 0.95397524 0.97655157 0.96534559 2.8958724 -7.9450141 + 48000 199748.89 0 0.97441115 0.99687233 0.98429144 2.9555749 5.0525854 + 49000 203008.7 0 0.99757948 1.0095536 0.99836015 3.0054932 28.410878 + 50000 198810.18 0 1.0182591 1.0287254 1.0110652 3.0580497 22.596989 + 51000 201716 0 1.0414747 1.0448379 1.0361279 3.1224404 -0.3397634 + 52000 200682.63 0 1.0640391 1.0597767 1.0596255 3.1834413 8.9163814 + 53000 201068.23 0 1.0804112 1.0740541 1.077586 3.2320513 8.9631815 + 54000 203379.33 0 1.0965663 1.0832317 1.0981473 3.2779453 -7.8020084 + 55000 197117.81 0 1.1145489 1.1008769 1.1259188 3.3413446 13.723633 + 56000 201100.37 0 1.1420502 1.1311309 1.1425839 3.415765 10.39045 + 57000 199911.61 0 1.1641357 1.1461183 1.1598876 3.4701416 -1.5384143 + 58000 202180.4 0 1.1787793 1.1703422 1.1794284 3.5285498 4.9552552 + 59000 202359.35 0 1.2017068 1.1846051 1.1912556 3.5775675 14.774737 + 60000 196182.35 0 1.2297664 1.2087508 1.2116928 3.65021 12.484104 + 61000 201858.45 0 1.2505094 1.2255583 1.2330327 3.7091004 3.6962199 + 62000 198313.02 0 1.2756755 1.2437434 1.2514738 3.7708927 -6.5600779 + 63000 198423.1 0 1.2998594 1.262369 1.2656961 3.8279245 3.1919497 + 64000 202601.56 0 1.3177969 1.2812961 1.2841642 3.8832572 7.1735962 + 65000 201270.73 0 1.3353533 1.3006911 1.306668 3.9427124 3.7612957 + 66000 199480.32 0 1.3502663 1.3165416 1.3300249 3.9968327 -8.0484056 + 67000 202829.47 0 1.3628924 1.3369328 1.339246 4.0390712 -2.962791 + 68000 200269.53 0 1.3901352 1.3600404 1.3528283 4.1030039 29.395886 + 69000 201514.31 0 1.4135333 1.3834796 1.3719116 4.1689245 9.5358653 + 70000 198898.14 0 1.4323413 1.4056025 1.4015088 4.2394526 13.713608 + 71000 198446.83 0 1.4424061 1.4229225 1.4231698 4.2884984 9.5266069 + 72000 199550.94 0 1.4730822 1.4438093 1.4436864 4.360578 5.4060926 + 73000 201536.57 0 1.4860349 1.4557531 1.4673417 4.4091297 2.7527606 + 74000 201688.68 0 1.5078921 1.4770318 1.4889958 4.4739197 -2.5507167 + 75000 203168.01 0 1.5264946 1.4942757 1.5095341 4.5303045 13.955087 + 76000 198782.86 0 1.5363851 1.5145529 1.5306446 4.5815826 1.6748995 + 77000 199306.04 0 1.55336 1.5308045 1.5501462 4.6343107 1.4463705 + 78000 199420.52 0 1.5679804 1.5445387 1.5765555 4.6890745 -15.926362 + 79000 198711.33 0 1.5818761 1.5651424 1.5966885 4.743707 -23.662716 + 80000 202734.35 0 1.6045976 1.5878467 1.6155179 4.8079623 1.4177771 + 81000 199953.12 0 1.6266918 1.6125491 1.6370893 4.8763302 14.40188 + 82000 201254.27 0 1.6418366 1.6362867 1.6497081 4.9278313 -4.3503 + 83000 200442.35 0 1.6671772 1.6544269 1.6638838 4.9854878 -5.5569751 + 84000 201442.09 0 1.6772029 1.6819435 1.6824211 5.0415676 -17.634517 + 85000 202012.75 0 1.7026782 1.7059915 1.7079961 5.1166659 8.8311485 + 86000 198613.4 0 1.725679 1.7251262 1.7235885 5.1743936 10.070509 + 87000 198650.79 0 1.748013 1.7447674 1.7397963 5.2325767 7.3326989 + 88000 199753.54 0 1.7793864 1.7677848 1.7548586 5.3020298 -3.8460869 + 89000 200851.56 0 1.7992856 1.7843281 1.7671516 5.3507653 10.274664 + 90000 202029.24 0 1.8178051 1.8010651 1.7886511 5.4075213 1.1705818 + 91000 200963.98 0 1.8425785 1.8123748 1.8079693 5.4629226 -8.0390883 + 92000 200443.4 0 1.8743616 1.8355736 1.8340515 5.5439867 -12.186363 + 93000 197974.1 0 1.8911764 1.8440063 1.8442582 5.579441 10.189145 + 94000 201285.41 0 1.9040394 1.8567044 1.8663386 5.6270824 7.8537148 + 95000 198472.81 0 1.9268236 1.8638624 1.8855767 5.6762627 11.556616 + 96000 198171.93 0 1.9378011 1.8811168 1.9024245 5.7213424 -7.3493903 + 97000 200055.5 0 1.9539002 1.9031647 1.9221125 5.7791774 -7.2823252 + 98000 200350.77 0 1.973424 1.9255707 1.9393139 5.8383087 2.3526328 + 99000 198923.17 0 1.9946733 1.9416292 1.9616759 5.8979785 -8.6362233 + 100000 196205.31 0 2.015688 1.967164 1.9801696 5.9630216 1.5261152 + 101000 198842.45 0 2.0402634 1.9858628 1.9939889 6.0201151 6.8070808 + 102000 199060.56 0 2.0583018 2.0040652 2.0225396 6.0849067 5.4626963 + 103000 204892.64 0 2.0788003 2.0245826 2.0405395 6.1439224 -19.988675 + 104000 198709.07 0 2.0990457 2.0519007 2.0571079 6.2080544 -21.365135 + 105000 198916.99 0 2.1089408 2.0758832 2.0899796 6.2748037 4.3696238 + 106000 202191.68 0 2.1172909 2.0923523 2.1208274 6.3304706 8.2072292 + 107000 202428.89 0 2.1387532 2.114944 2.1418816 6.3955788 4.1099611 + 108000 197690.67 0 2.1620575 2.136726 2.1703555 6.469139 5.7183695 + 109000 200098.73 0 2.1814376 2.1464455 2.1828177 6.5107008 7.4366333 + 110000 197901.18 0 2.1955124 2.1764141 2.1994286 6.5713551 -6.4288954 + 111000 199478.54 0 2.2167884 2.1900638 2.2140739 6.6209261 22.379137 + 112000 198391.65 0 2.249996 2.2100316 2.2309406 6.6909682 -20.040892 + 113000 200542.42 0 2.2634106 2.2313768 2.2610988 6.7558862 0.2953844 + 114000 202117.15 0 2.28441 2.2517036 2.2787302 6.8148438 16.75177 + 115000 200004.06 0 2.2957226 2.2730837 2.2901883 6.8589947 -4.3125612 + 116000 200648.11 0 2.3184059 2.2934521 2.3257075 6.9375656 5.7210624 + 117000 198600.57 0 2.3413891 2.3102468 2.3511234 7.0027593 -2.9987639 + 118000 199817.34 0 2.3732051 2.3347741 2.3601752 7.0681544 -3.3658539 + 119000 200556.96 0 2.3873448 2.3595646 2.3774937 7.1244031 20.860601 + 120000 200997.81 0 2.4097258 2.3736031 2.3871081 7.170437 -5.3623487 +Loop time of 20.5037 on 1 procs for 120000 steps with 4096 atoms + +Performance: 5056.640 tau/day, 5852.593 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0012425 | 0.0012425 | 0.0012425 | 0.0 | 0.01 +Comm | 0.015074 | 0.015074 | 0.015074 | 0.0 | 0.07 +Output | 0.006156 | 0.006156 | 0.006156 | 0.0 | 0.03 +Modify | 19.243 | 19.243 | 19.243 | 0.0 | 93.85 +Other | | 1.238 | | | 6.04 + +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0.00000 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0.0000000 +Neighbor list builds = 205 +Dangerous builds = 0 + + +Total wall time: 0:00:28 diff --git a/src/USER-BROWNIAN/fix_brownian.cpp b/src/USER-BROWNIAN/fix_brownian.cpp new file mode 100644 index 0000000000..f25f6d6b32 --- /dev/null +++ b/src/USER-BROWNIAN/fix_brownian.cpp @@ -0,0 +1,217 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp. + + Contributing author: Sam Cameron (University of Bristol) +------------------------------------------------------------------------- */ + +#include "fix_brownian.h" + +#include +#include +#include "math_extra.h" +#include "atom.h" +#include "force.h" +#include "update.h" +#include "comm.h" +#include "domain.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" + + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +FixBrownian::FixBrownian(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + virial_flag = 1; + + time_integrate = 1; + + if (narg != 6 && narg != 8) + error->all(FLERR,"Illegal fix brownian command."); + + gamma_t = utils::numeric(FLERR,arg[3],false,lmp); + if (gamma_t <= 0.0) + error->all(FLERR,"Fix brownian viscous drag " + "coefficient must be > 0."); + + diff_t = utils::numeric(FLERR,arg[4],false,lmp); + if (diff_t <= 0.0) + error->all(FLERR,"Fix brownian diffusion " + "coefficient must be > 0."); + + seed = utils::inumeric(FLERR,arg[5],false,lmp); + if (seed <= 0) error->all(FLERR,"Fix brownian seed must be > 0."); + + noise_flag = 1; + gaussian_noise_flag = 0; + + if (narg == 8) { + + if (strcmp(arg[6],"rng") == 0) { + if (strcmp(arg[7],"uniform") == 0) { + noise_flag = 1; + } else if (strcmp(arg[7],"gaussian") == 0) { + noise_flag = 1; + gaussian_noise_flag = 1; + } else if (strcmp(arg[7],"none") == 0) { + noise_flag = 0; + } else { + error->all(FLERR,"Illegal fix brownian command."); + } + } else { + error->all(FLERR,"Illegal fix brownian command."); + } + } + + // initialize Marsaglia RNG with processor-unique seed + random = new RanMars(lmp,seed + comm->me); + +} + +/* ---------------------------------------------------------------------- */ + +int FixBrownian::setmask() +{ + int mask = 0; + mask |= INITIAL_INTEGRATE; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +FixBrownian::~FixBrownian() +{ + delete random; +} + + + +/* ---------------------------------------------------------------------- */ + +void FixBrownian::init() +{ + + g1 = force->ftm2v/gamma_t; + if (noise_flag == 0) { + g2 = 0; + rng_func = &RanMars::zero_rng; + } else if (gaussian_noise_flag == 1) { + g2 = gamma_t*sqrt(2 * diff_t)/force->ftm2v; + rng_func = &RanMars::gaussian; + } else { + g2 = gamma_t*sqrt( 24 * diff_t)/force->ftm2v; + rng_func = &RanMars::uniform_middle; + } + + dt = update->dt; + sqrtdt = sqrt(dt); +} + +void FixBrownian::setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixBrownian::initial_integrate(int /* vflag */) +{ + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + double dx,dy,dz; + + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + dx = dt * g1 * f[i][0]; + x[i][0] += dx; + v[i][0] = dx/dt; + + dy = dt * g1 * f[i][1]; + x[i][1] += dy; + v[i][1] = dy/dt; + + dz = dt * g1 * f[i][2]; + x[i][2] += dz; + v[i][2] = dz/dt; + + } + } + + + return; +} + +/* ---------------------------------------------------------------------- + apply random force, stolen from MISC/fix_efield.cpp +------------------------------------------------------------------------- */ + +void FixBrownian::post_force(int vflag) +{ + double **f = atom->f; + double **x = atom->x; + int *mask = atom->mask; + imageint *image = atom->image; + int nlocal = atom->nlocal; + + // virial setup + + if (vflag) v_setup(vflag); + else evflag = 0; + + double fx,fy,fz; + double v[6]; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + fx = g2 * (random->*rng_func)()/sqrtdt; + fy = g2 * (random->*rng_func)()/sqrtdt; + fz = g2 * (random->*rng_func)()/sqrtdt; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (evflag) { + v[0] = fx*x[i][0]; + v[1] = fy*x[i][1]; + v[2] = fz*x[i][2]; + v[3] = fx*x[i][1]; + v[4] = fx*x[i][2]; + v[5] = fy*x[i][2]; + v_tally(i, v); + } + } +} + +void FixBrownian::reset_dt() +{ + + dt = update->dt; + sqrtdt = sqrt(dt); +} diff --git a/src/USER-BROWNIAN/fix_brownian.h b/src/USER-BROWNIAN/fix_brownian.h new file mode 100644 index 0000000000..fb56edb39e --- /dev/null +++ b/src/USER-BROWNIAN/fix_brownian.h @@ -0,0 +1,79 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(brownian,FixBrownian) + +#else + +#ifndef LMP_FIX_BROWNIAN_H +#define LMP_FIX_BROWNIAN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixBrownian : public Fix { + public: + FixBrownian(class LAMMPS *, int, char **); + virtual ~FixBrownian(); + void init(); + void initial_integrate(int); + void setup(int); + void post_force(int); + int setmask(); + void reset_dt(); + + private: + int seed; // RNG seed + double dt, sqrtdt; // time step interval and its sqrt + + + double gamma_t; // translational damping param + double diff_t; // translational diffusion coeff + + double g1,g2; // prefactors in time stepping + int noise_flag; // 0/1 for noise off/on + int gaussian_noise_flag; // 0/1 for uniform/gaussian noise + +protected: + class RanMars *random; + typedef double (RanMars::*rng_member)(); + rng_member rng_func; // placeholder for RNG function + +}; + +} +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal fix brownian command. + +Wrong number/type of input arguments. + +E: Fix brownian viscous drag coefficient must be > 0. + +Self-explanatory. + +E: Fix brownian diffusion coefficient must be > 0. + +Self-explanatory. + +E: Fix brownian seed must be > 0. + +Self-explanatory. + +*/ From bce37abe8f18a62e42e3d3ba501d03bc14c158cd Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 20 Dec 2020 15:15:19 -0700 Subject: [PATCH 053/542] Clarifying variable names --- src/nstencil.cpp | 34 +++++++++++++++--------------- src/nstencil.h | 6 +++--- src/nstencil_full_multi_2d.cpp | 10 ++++----- src/nstencil_full_multi_3d.cpp | 10 ++++----- src/nstencil_half_multi_2d.cpp | 16 +++++++------- src/nstencil_half_multi_2d_tri.cpp | 16 +++++++------- src/nstencil_half_multi_3d.cpp | 16 +++++++------- src/nstencil_half_multi_3d_tri.cpp | 16 +++++++------- 8 files changed, 62 insertions(+), 62 deletions(-) diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 42ddbaff30..f6281a1964 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -79,9 +79,9 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) stencil_multi = nullptr; maxstencil_multi = nullptr; - stencil_half = nullptr; - stencil_skip = nullptr; - stencil_bin_type = nullptr; + flag_half_multi = nullptr; + flag_skip_multi = nullptr; + bin_type_multi = nullptr; dimension = domain->dimension; } @@ -111,16 +111,16 @@ NStencil::~NStencil() memory->destroy(nstencil_multi); for (int i = 1; i <= n; i++) { for (int j = 0; j <= n; j++) { - if (! stencil_skip[i][j]) + if (! flag_skip_multi[i][j]) memory->destroy(stencil_multi[i][j]); } delete [] stencil_multi[i]; } delete [] stencil_multi; memory->destroy(maxstencil_multi); - memory->destroy(stencil_half); - memory->destroy(stencil_skip); - memory->destroy(stencil_bin_type); + memory->destroy(flag_half_multi); + memory->destroy(flag_skip_multi); + memory->destroy(bin_type_multi); memory->destroy(stencil_sx_multi); memory->destroy(stencil_sy_multi); @@ -272,12 +272,12 @@ void NStencil::create_setup() if(nb) copy_bin_info_multi(); // Allocate arrays to store stencil information - memory->create(stencil_half, n+1, n+1, - "neighstencil:stencil_half"); - memory->create(stencil_skip, n+1, n+1, - "neighstencil:stencil_skip"); - memory->create(stencil_bin_type, n+1, n+1, - "neighstencil:stencil_bin_type"); + memory->create(flag_half_multi, n+1, n+1, + "neighstencil:flag_half_multi"); + memory->create(flag_skip_multi, n+1, n+1, + "neighstencil:flag_skip_multi"); + memory->create(bin_type_multi, n+1, n+1, + "neighstencil:bin_type_multi"); memory->create(stencil_sx_multi, n+1, n+1, "neighstencil:stencil_sx_multi"); @@ -303,7 +303,7 @@ void NStencil::create_setup() // Skip all stencils by default, initialize smax for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - stencil_skip[i][j] = 1; + flag_skip_multi[i][j] = 1; } } @@ -329,10 +329,10 @@ void NStencil::create_setup() for (j = 1; j <= n; j++) { // Skip creation of unused stencils - if (stencil_skip[i][j]) continue; + if (flag_skip_multi[i][j]) continue; - // Copy bin info for this particular pair of types - bin_type = stencil_bin_type[i][j]; + // Copy bin info for this pair of atom types + bin_type = bin_type_multi[i][j]; stencil_binsizex_multi[i][j] = binsizex_multi[bin_type]; stencil_binsizey_multi[i][j] = binsizey_multi[bin_type]; diff --git a/src/nstencil.h b/src/nstencil.h index 5bff8cbfac..9ca8bab55d 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -42,9 +42,9 @@ class NStencil : protected Pointers { double cutoff_custom; // cutoff set by requestor // Arrays to store options for multi itype-jtype stencils - bool **stencil_half; // flag creation of a half stencil for itype-jtype - bool **stencil_skip; // skip creation of itype-jtype stencils (for newton on) - int **stencil_bin_type; // what type to use for bin information + bool **flag_half_multi; // flag creation of a half stencil for itype-jtype + bool **flag_skip_multi; // skip creation of itype-jtype stencils (for newton on) + int **bin_type_multi; // what type to use for bin information NStencil(class LAMMPS *); virtual ~NStencil(); diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_2d.cpp index 9712db7ac8..61557f2d00 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -36,9 +36,9 @@ void NStencilFullMulti2d::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - stencil_half[i][j] = 0; - stencil_skip[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + flag_skip_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -56,7 +56,7 @@ void NStencilFullMulti2d::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -66,7 +66,7 @@ void NStencilFullMulti2d::create() mbinx = stencil_mbinx_multi[itype][jtype]; mbiny = stencil_mbiny_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_3d.cpp index b3f8db53b7..f4935b70e0 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -37,9 +37,9 @@ void NStencilFullMulti3d::set_stencil_properties() for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { - stencil_half[i][j] = 0; - stencil_skip[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + flag_skip_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -57,7 +57,7 @@ void NStencilFullMulti3d::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -69,7 +69,7 @@ void NStencilFullMulti3d::create() mbiny = stencil_mbiny_multi[itype][jtype]; mbinz = stencil_mbinz_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index 0b320394b7..b407746602 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -42,14 +42,14 @@ void NStencilHalfMulti2d::set_stencil_properties() for (j = 1; j <= n; j++) { if(cutneighsq[i][i] > cutneighsq[j][j]) continue; - stencil_skip[i][j] = 0; + flag_skip_multi[i][j] = 0; if(cutneighsq[i][i] == cutneighsq[j][j]){ - stencil_half[i][j] = 1; - stencil_bin_type[i][j] = i; + flag_half_multi[i][j] = 1; + bin_type_multi[i][j] = i; } else { - stencil_half[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -68,7 +68,7 @@ void NStencilHalfMulti2d::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -78,11 +78,11 @@ void NStencilHalfMulti2d::create() mbinx = stencil_mbinx_multi[itype][jtype]; mbiny = stencil_mbiny_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; - if (stencil_half[itype][jtype]) { + if (flag_half_multi[itype][jtype]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp index 95b0b483c5..cd9f85da60 100755 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -42,14 +42,14 @@ void NStencilHalfMulti2dTri::set_stencil_properties() for (j = 1; j <= n; j++) { if(cutneighsq[i][i] > cutneighsq[j][j]) continue; - stencil_skip[i][j] = 0; + flag_skip_multi[i][j] = 0; if(cutneighsq[i][i] == cutneighsq[j][j]){ - stencil_half[i][j] = 1; - stencil_bin_type[i][j] = i; + flag_half_multi[i][j] = 1; + bin_type_multi[i][j] = i; } else { - stencil_half[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -68,7 +68,7 @@ void NStencilHalfMulti2dTri::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -78,11 +78,11 @@ void NStencilHalfMulti2dTri::create() mbinx = stencil_mbinx_multi[itype][jtype]; mbiny = stencil_mbiny_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; - if (stencil_half[itype][jtype]) { + if (flag_half_multi[itype][jtype]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (bin_distance_multi(i,j,0,bin_type) < cutsq) diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_3d.cpp index 1f94fb16cd..d66cfe98b9 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -42,14 +42,14 @@ void NStencilHalfMulti3d::set_stencil_properties() for (j = 1; j <= n; j++) { if(cutneighsq[i][i] > cutneighsq[j][j]) continue; - stencil_skip[i][j] = 0; + flag_skip_multi[i][j] = 0; if(cutneighsq[i][i] == cutneighsq[j][j]){ - stencil_half[i][j] = 1; - stencil_bin_type[i][j] = i; + flag_half_multi[i][j] = 1; + bin_type_multi[i][j] = i; } else { - stencil_half[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -68,7 +68,7 @@ void NStencilHalfMulti3d::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -80,11 +80,11 @@ void NStencilHalfMulti3d::create() mbiny = stencil_mbiny_multi[itype][jtype]; mbinz = stencil_mbinz_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; - if (stencil_half[itype][jtype]) { + if (flag_half_multi[itype][jtype]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp index 30e59e92e8..e4a5747ca6 100755 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -42,14 +42,14 @@ void NStencilHalfMulti3dTri::set_stencil_properties() for (j = 1; j <= n; j++) { if(cutneighsq[i][i] > cutneighsq[j][j]) continue; - stencil_skip[i][j] = 0; + flag_skip_multi[i][j] = 0; if(cutneighsq[i][i] == cutneighsq[j][j]){ - stencil_half[i][j] = 1; - stencil_bin_type[i][j] = i; + flag_half_multi[i][j] = 1; + bin_type_multi[i][j] = i; } else { - stencil_half[i][j] = 0; - stencil_bin_type[i][j] = j; + flag_half_multi[i][j] = 0; + bin_type_multi[i][j] = j; } } } @@ -68,7 +68,7 @@ void NStencilHalfMulti3dTri::create() for (itype = 1; itype <= n; itype++) { for (jtype = 1; jtype <= n; jtype++) { - if (stencil_skip[itype][jtype]) continue; + if (flag_skip_multi[itype][jtype]) continue; ns = 0; @@ -80,11 +80,11 @@ void NStencilHalfMulti3dTri::create() mbiny = stencil_mbiny_multi[itype][jtype]; mbinz = stencil_mbinz_multi[itype][jtype]; - bin_type = stencil_bin_type[itype][jtype]; + bin_type = bin_type_multi[itype][jtype]; cutsq = cutneighsq[itype][jtype]; - if (stencil_half[itype][jtype]) { + if (flag_half_multi[itype][jtype]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) From 5ae32146eb7069cbe16c14903ca4a9bc66f31fd2 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 20 Dec 2020 17:18:32 -0700 Subject: [PATCH 054/542] Adding full neighbor list check for new reduced comm --- src/comm.cpp | 16 +++++++--------- src/neighbor.cpp | 13 +++++++++++++ src/neighbor.h | 1 + 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/comm.cpp b/src/comm.cpp index afd4d891ee..84e3b9ad65 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -242,15 +242,13 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; - // Can't used multi_reduce communication with Newton off - // TODO: need to somehow restrict this option with full neighbor lists - // CANNOT use multi_reduce communication with full nlist - // Could remove NP_NEWTON from npair_full_*multi_reduce*, but could be cryptic - // Also could be cases where you want newton off (hybrid) but don't use multi_reduce comm - // Could add check on neighbor build, if full and comm->multi_reduce error... - // or just add check on comm setup - is that run before every run? Only if box change... - if (force->newton == 0 && multi_reduce) - error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); + // Can't used multi/reduce communication with Newton off or full neighbor lits + if(multi_reduce){ + if (force->newton == 0) + error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); + if (neighbor->any_full()) + error->all(FLERR,"Cannot use multi/reduce communication with a full neighbor list"); + } } /* ---------------------------------------------------------------------- diff --git a/src/neighbor.cpp b/src/neighbor.cpp index fe34e738b0..d130219931 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -2420,6 +2420,19 @@ int Neighbor::exclude_setting() return exclude; } +/* ---------------------------------------------------------------------- + check if any of the old requested neighbor lists are full +------------------------------------------------------------------------- */ + +int Neighbor::any_full() +{ + int any_full = 0; + for(int i = 0; i < old_nrequest; i++) { + if(old_requests[i]->full) any_full = 1; + } + return any_full; +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/neighbor.h b/src/neighbor.h index 2943f7e082..d1a5cf9112 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -122,6 +122,7 @@ class Neighbor : protected Pointers { void exclusion_group_group_delete(int, int); // rm a group-group exclusion int exclude_setting(); // return exclude value to accelerator pkg class NeighRequest *find_request(void *); // find a neighbor request + int any_full(); // Check if any old requests had full neighbor lists double memory_usage(); From 5a3cb38705ee169fa5da4b96cd17716f3a24bb8c Mon Sep 17 00:00:00 2001 From: Sam Cameron Date: Mon, 21 Dec 2020 10:58:27 +0000 Subject: [PATCH 055/542] Made requested changes to fix propel/self. Last thing to change would be to re-introduce the types keyword into this fix if that was deemed to be best. --- doc/src/fix_propel_self.rst | 55 ++++---- .../USER/brownian/2d_velocity/in.2d_velocity | 2 +- .../USER/brownian/spherical_ABP/in.2d_abp | 2 +- .../brownian/spherical_ABP/in.3d_ideal_abp | 2 +- .../log_WCA_1_1_1_3_4_2d.lammps.log | 126 +++++++++--------- .../log_ideal_1_1_1_3_4_3d.lammps.log | 92 ++++++------- src/USER-BROWNIAN/fix_propel_self.cpp | 52 ++++---- 7 files changed, 170 insertions(+), 161 deletions(-) diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index 582d9e4294..ba8c48cf6b 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -8,22 +8,19 @@ Syntax .. parsed-literal:: - fix ID group-ID propel/self magnitude keyword values + fix ID group-ID propel/self mode magnitude keyword values * ID, group-ID are documented in :doc:`fix ` command * propel/self = style name of this fix command +* mode = *dipole* or *velocity* or *quat* * magnitude = magnitude of self-propulsion force -* one (and only one) keyword/value pair must be appended to args -* keyword = *dipole* or *velocity* or *quat* +* zero or one keyword/value pairs may be appended +* keyword = *qvector* .. parsed-literal:: - *dipole* value = none = apply force along dipole direction - *velocity* value = none = apply force along velocity direction - *quat* values = direction vector *sx* and *sy* and *sz* - *sx* = x component of force direction in ellipsoid frame - *sy* = y component of force direction in ellipsoid frame - *sz* = z component of force direction in ellipsoid frame + *qvector* value = direction of force in ellipsoid frame + *sx*, *sy*, *sz* = components of *qvector* Examples @@ -31,9 +28,9 @@ Examples .. code-block:: LAMMPS - fix propel/self all 40.0 dipole - fix propel/self all 10.0 velocity - fix propel/self all 15.7 quat 1.0 0.0 0.0 + fix active all propel/self dipole 40.0 + fix active all propel/self velocity 10.0 + fix active all propel/self quat 15.7 qvector 1.0 0.0 0.0 Description """"""""""" @@ -50,7 +47,7 @@ is the magnitude of the force, and :math:`e_i` is the vector direction of the force. The specification of :math:`e_i` is based on which of the three keywords (*dipole* or *velocity* or *quat*) one selects. -For keyword *dipole*, :math:`e_i` is just equal to +For mode *dipole*, :math:`e_i` is just equal to the dipole vectors of the atoms in the group. Therefore, if the dipoles are not unit vectors, the :math:`e_i` will not be unit vectors. @@ -66,21 +63,31 @@ are not unit vectors, the :math:`e_i` will not be unit vectors. all the dipole magnitudes to 1.0 unless you have a good reason not to (see the :doc:`set ` command on how to do this). -For keyword *velocity*, :math:`e_i` points in the direction +For mode *velocity*, :math:`e_i` points in the direction of the current velocity (a unit-vector). This can be interpreted as a velocity-dependent friction, as proposed by e.g. :ref:`(Erdmann) `. -For keyword *quat*, :math:`e_i` points in the direction of the unit -vector defined by its arguments *sx*, *sy*, and *sz*, which are -themselves defined within the coordinate frame of the atom's +For mode *quat*, :math:`e_i` points in the direction of a unit +vector, oriented in the coordinate frame of the ellipsoidal particles, +which defaults to point along the x-direction. This default behaviour +can be changed by via the *quatvec* keyword. + +The optional *quatvec* keyword specifies the direction of self-propulsion +via a unit vector (sx,sy,sz). The arguments *sx*, *sy*, and *sz*, are +defined within the coordinate frame of the atom's ellipsoid. For instance, for an ellipsoid with long axis along its x-direction, if one wanted the self-propulsion force to also be along this axis, set *sx* equal to 1 and *sy*, *sz* both equal -to zero. For *quat*, :math:`e_i` will always be a unit vector, -so multiplying all three arguments *sx*, *sy*, and *sz* by a -positive scalar will not change the self-propulsion force -(multiplying by a negative scalar will change the sign of the -force). +to zero. This keyword may only be specified for mode *quat*. + +.. note:: + + In using keyword *quatvec*, the three arguments *sx*, + *sy*, and *sz* will be automatically normalised to components + of a unit vector internally to avoid users having to explicitly + do so themselves. Therefore, in mode *quat*, the vectors :math:`e_i` + will always be of unit length. + Along with adding a force contribution, this fix can also contribute to the virial (pressure) of the system, defined as @@ -89,10 +96,10 @@ contribute to the virial (pressure) of the system, defined as boundary conditions. See :ref:`(Winkler) ` for a discussion of this active pressure contribution. -For keywords *dipole* and *quat*, this fix is by default +For modes *dipole* and *quat*, this fix is by default included in pressure computations. -For keyword *velocity*, this fix is by default not included +For mode *velocity*, this fix is by default not included in pressure computations. diff --git a/examples/USER/brownian/2d_velocity/in.2d_velocity b/examples/USER/brownian/2d_velocity/in.2d_velocity index b731f5f477..cbd7d543cb 100644 --- a/examples/USER/brownian/2d_velocity/in.2d_velocity +++ b/examples/USER/brownian/2d_velocity/in.2d_velocity @@ -31,7 +31,7 @@ neigh_modify every 1 delay 1 check yes pair_style none fix step all brownian ${gamma_t} ${D_t} ${seed} -fix vel all propel/self ${fp} velocity +fix vel all propel/self velocity ${fp} fix 2 all enforce2d fix_modify vel virial yes diff --git a/examples/USER/brownian/spherical_ABP/in.2d_abp b/examples/USER/brownian/spherical_ABP/in.2d_abp index d626445926..9db5a46cf6 100644 --- a/examples/USER/brownian/spherical_ABP/in.2d_abp +++ b/examples/USER/brownian/spherical_ABP/in.2d_abp @@ -41,7 +41,7 @@ pair_modify shift yes # overdamped brownian dynamics time-step fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole # self-propulsion force along the dipole direction -fix activity all propel/self ${fp} dipole +fix activity all propel/self dipole ${fp} fix 2 all enforce2d diff --git a/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp b/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp index e131d07059..4c3d403f20 100644 --- a/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp +++ b/examples/USER/brownian/spherical_ABP/in.3d_ideal_abp @@ -30,7 +30,7 @@ pair_style none # overdamped brownian dynamics time-step fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole # self-propulsion force along the dipole direction -fix activity all propel/self ${fp} dipole +fix activity all propel/self dipole ${fp} compute press all pressure NULL virial diff --git a/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log b/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log index 0c51314cca..8f334c77fb 100644 --- a/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log +++ b/examples/USER/brownian/spherical_ABP/log_WCA_1_1_1_3_4_2d.lammps.log @@ -10,10 +10,10 @@ Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388 region box block -16 16 -16 16 -0.2 0.2 create_box 1 box Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777) - 2 by 2 by 1 MPI processor grid + 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 1024 atoms - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.002 seconds mass * 1.0 set type * dipole/random ${seed} 1.0 set type * dipole/random 1974019 1.0 @@ -41,8 +41,8 @@ fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole fix step all brownian/sphere 1 1 1 3 ${seed} dipole fix step all brownian/sphere 1 1 1 3 1974019 dipole # self-propulsion force along the dipole direction -fix activity all propel/self ${fp} dipole -fix activity all propel/self 4 dipole +fix activity all propel/self dipole ${fp} +fix activity all propel/self dipole 4 fix 2 all enforce2d @@ -66,34 +66,34 @@ Neighbor list info ... pair build: half/bin/newtoff stencil: half/bin/2d/newtoff bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.052 | 5.052 | 5.052 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.066 | 5.066 | 5.066 Mbytes Step Temp E_pair c_press 0 1 0 -0.53979198 - 50000 1.0371295e+10 0 -0.542818 -Loop time of 2.25396 on 4 procs for 50000 steps with 1024 atoms + 50000 1.0902879e+10 0 -0.53710405 +Loop time of 6.3887 on 1 procs for 50000 steps with 1024 atoms -Performance: 0.192 tau/day, 22183.200 timesteps/s -99.8% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.068 tau/day, 7826.319 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.1034 | 0.10382 | 0.10438 | 0.1 | 4.61 +Pair | 0.34323 | 0.34323 | 0.34323 | 0.0 | 5.37 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.26698 | 0.26833 | 0.26924 | 0.2 | 11.90 -Output | 2.2284e-05 | 2.4926e-05 | 3.2332e-05 | 0.0 | 0.00 -Modify | 1.7222 | 1.7237 | 1.727 | 0.1 | 76.48 -Other | | 0.1581 | | | 7.01 +Comm | 0.070232 | 0.070232 | 0.070232 | 0.0 | 1.10 +Output | 2.5077e-05 | 2.5077e-05 | 2.5077e-05 | 0.0 | 0.00 +Modify | 5.8232 | 5.8232 | 5.8232 | 0.0 | 91.15 +Other | | 0.152 | | | 2.38 -Nlocal: 256.000 ave 256 max 256 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 105.000 ave 105 max 105 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 544.000 ave 544 max 544 min -Histogram: 4 0 0 0 0 0 0 0 0 0 +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 201.000 ave 201 max 201 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2112.00 ave 2112 max 2112 min +Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 2176 -Ave neighs/atom = 2.1250000 +Total # of neighbors = 2112 +Ave neighs/atom = 2.0625000 Neighbor list builds = 0 Dangerous builds = 0 reset_timestep 0 @@ -111,53 +111,53 @@ thermo 10000 # main run run 200000 -Per MPI rank memory allocation (min/avg/max) = 5.427 | 5.427 | 5.427 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.441 | 5.441 | 5.441 Mbytes Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press - 0 1.0371295e+10 0 0 0 0 0 -0.542818 - 10000 107356.09 0.079828495 0.19584264 0.19679822 0 0.39264086 0.00078740793 - 20000 101692.44 0.11317533 0.40847364 0.42097802 0 0.82945167 0.74111888 - 30000 105763.55 0.10261852 0.68303669 0.66125751 0 1.3442942 0.71112533 - 40000 105127.29 0.12371743 0.97990144 0.94005552 0 1.919957 1.0574552 - 50000 101579.58 0.12771813 1.3059069 1.2364468 0 2.5423537 1.059263 - 60000 104914.36 0.12055843 1.6215593 1.525488 0 3.1470473 0.79873537 - 70000 106629.18 0.1278745 1.9639958 1.8682794 0 3.8322752 0.91950208 - 80000 103286.54 0.13927689 2.3201565 2.2373383 0 4.5574948 1.1875034 - 90000 106451.61 0.093479681 2.6287902 2.5753347 0 5.2041249 1.0861163 - 100000 102199.72 0.13269425 2.9127976 2.9369237 0 5.8497214 1.4841998 - 110000 105229.73 0.10594209 3.1798718 3.3495317 0 6.5294035 1.5444784 - 120000 106262.36 0.11902575 3.6267452 3.7188125 0 7.3455578 1.3366518 - 130000 109388.12 0.10562576 3.929973 4.0226942 0 7.9526672 1.324534 - 140000 107697.35 0.13028752 4.231893 4.3780995 0 8.6099925 1.7406167 - 150000 103928.72 0.12278994 4.5826286 4.7578662 0 9.3404948 1.3024003 - 160000 103370.23 0.11391216 4.8767011 5.1181189 0 9.99482 1.4325241 - 170000 103821.53 0.11163256 5.153318 5.3785963 0 10.531914 1.4569115 - 180000 106824.99 0.13225083 5.4080929 5.7399804 0 11.148073 1.334984 - 190000 101794.6 0.10632938 5.7384925 6.080955 0 11.819448 0.81285422 - 200000 102128.67 0.13703498 6.0414673 6.4511058 0 12.492573 0.42904128 -Loop time of 9.60419 on 4 procs for 200000 steps with 1024 atoms + 0 1.0902879e+10 0 0 0 0 0 -0.53710405 + 10000 103498.6 0.087662767 0.18719065 0.2007338 0 0.38792445 0.16080254 + 20000 104785.56 0.12719481 0.4197551 0.40722743 0 0.82698253 0.5007164 + 30000 103183.73 0.1126518 0.67800477 0.67921667 0 1.3572214 0.36634317 + 40000 102912.87 0.092584777 0.96234448 0.97188884 0 1.9342333 0.46170129 + 50000 103516.68 0.12761757 1.2381642 1.3203398 0 2.558504 0.85712805 + 60000 104999.77 0.14482924 1.5437166 1.6177103 0 3.1614269 1.1403162 + 70000 103925.7 0.11302021 1.886 1.9262949 0 3.8122949 1.1056086 + 80000 105000.14 0.14502228 2.205833 2.2668945 0 4.4727275 1.0757792 + 90000 105980.8 0.12089413 2.515801 2.647111 0 5.162912 1.1160525 + 100000 106557.86 0.10934038 2.7977098 2.8965145 0 5.6942242 0.56901933 + 110000 104241.46 0.12719985 3.1612652 3.2283956 0 6.3896608 0.95100999 + 120000 101910.56 0.12002691 3.5844099 3.5366227 0 7.1210326 1.2526653 + 130000 104435.28 0.10695039 3.8328815 3.8286503 0 7.6615318 1.6198184 + 140000 104864.99 0.11226471 4.1822059 4.285915 0 8.4681209 1.5190757 + 150000 103209.43 0.11229036 4.430069 4.5491143 0 8.9791833 1.1568204 + 160000 106692.61 0.11151476 4.7593714 5.0322819 0 9.7916533 1.2337266 + 170000 105232.19 0.12039818 5.0665907 5.3612901 0 10.427881 1.3881139 + 180000 107126.86 0.10793969 5.4129878 5.6391008 0 11.052089 1.6691607 + 190000 103814.36 0.096916503 5.7355093 5.9557837 0 11.691293 1.3863335 + 200000 103976.84 0.10928015 6.1871603 6.3393786 0 12.526539 1.1687077 +Loop time of 27.4513 on 1 procs for 200000 steps with 1024 atoms -Performance: 17992.140 tau/day, 20824.236 timesteps/s -100.0% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 6294.793 tau/day, 7285.640 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.71756 | 0.75121 | 0.79008 | 3.0 | 7.82 -Neigh | 0.018158 | 0.018773 | 0.019357 | 0.3 | 0.20 -Comm | 1.0469 | 1.0597 | 1.0738 | 1.2 | 11.03 -Output | 0.00051435 | 0.00057078 | 0.00070838 | 0.0 | 0.01 -Modify | 6.8012 | 6.9883 | 7.1513 | 4.9 | 72.76 -Other | | 0.7857 | | | 8.18 +Pair | 3.2525 | 3.2525 | 3.2525 | 0.0 | 11.85 +Neigh | 0.054678 | 0.054678 | 0.054678 | 0.0 | 0.20 +Comm | 0.26582 | 0.26582 | 0.26582 | 0.0 | 0.97 +Output | 0.0006103 | 0.0006103 | 0.0006103 | 0.0 | 0.00 +Modify | 23.265 | 23.265 | 23.265 | 0.0 | 84.75 +Other | | 0.6131 | | | 2.23 -Nlocal: 256.000 ave 265 max 240 min -Histogram: 1 0 0 0 0 0 1 0 0 2 -Nghost: 88.5000 ave 91 max 87 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 678.500 ave 713 max 597 min -Histogram: 1 0 0 0 0 0 0 0 1 2 +Nlocal: 1024.00 ave 1024 max 1024 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 166.000 ave 166 max 166 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2634.00 ave 2634 max 2634 min +Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 2714 -Ave neighs/atom = 2.6503906 -Neighbor list builds = 241 +Total # of neighbors = 2634 +Ave neighs/atom = 2.5722656 +Neighbor list builds = 238 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:33 diff --git a/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log b/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log index be6c1d5d41..c5cbe4936d 100644 --- a/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log +++ b/examples/USER/brownian/spherical_ABP/log_ideal_1_1_1_3_4_3d.lammps.log @@ -10,10 +10,10 @@ Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088 region box block -8 8 -8 8 -8 8 create_box 1 box Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670) - 2 by 1 by 2 MPI processor grid + 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 4096 atoms - create_atoms CPU = 0.002 seconds + create_atoms CPU = 0.003 seconds mass * 1.0 set type * dipole/random ${seed} 1.0 set type * dipole/random 1974019 1.0 @@ -31,8 +31,8 @@ fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole fix step all brownian/sphere 1 1 1 3 ${seed} dipole fix step all brownian/sphere 1 1 1 3 1974019 dipole # self-propulsion force along the dipole direction -fix activity all propel/self ${fp} dipole -fix activity all propel/self 4 dipole +fix activity all propel/self dipole ${fp} +fix activity all propel/self dipole 4 compute press all pressure NULL virial @@ -45,31 +45,31 @@ thermo 50001 run 50000 WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 4.319 | 4.319 | 4.319 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.362 | 4.362 | 4.362 Mbytes Step Temp E_pair c_press 0 1 0 0.068021726 - 50000 1.046425e+10 0 0.067505633 -Loop time of 7.83903 on 4 procs for 50000 steps with 4096 atoms + 50000 1.0486812e+10 0 0.068203091 +Loop time of 25.3706 on 1 procs for 50000 steps with 4096 atoms -Performance: 0.055 tau/day, 6378.340 timesteps/s -97.9% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.017 tau/day, 1970.786 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.50238 | 0.51891 | 0.53617 | 1.7 | 6.62 -Output | 2.6343e-05 | 3.6075e-05 | 4.6997e-05 | 0.0 | 0.00 -Modify | 6.9536 | 6.9732 | 7.0105 | 0.8 | 88.95 -Other | | 0.3469 | | | 4.43 +Comm | 0.31005 | 0.31005 | 0.31005 | 0.0 | 1.22 +Output | 3.2633e-05 | 3.2633e-05 | 3.2633e-05 | 0.0 | 0.00 +Modify | 24.471 | 24.471 | 24.471 | 0.0 | 96.45 +Other | | 0.5897 | | | 2.32 -Nlocal: 1024.00 ave 1024 max 1024 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 353.000 ave 353 max 353 min -Histogram: 4 0 0 0 0 0 0 0 0 0 +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 817.000 ave 817 max 817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 +Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 0 Ave neighs/atom = 0.0000000 @@ -96,46 +96,46 @@ thermo 10000 # main run run 120000 WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167) -Per MPI rank memory allocation (min/avg/max) = 4.694 | 4.694 | 4.694 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.737 | 4.737 | 4.737 Mbytes Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press - 0 1.046425e+10 0 0 0 0 0 0.067505633 - 10000 106340.56 0 0.2469318 0.23662295 0.2441413 0.72769605 0.19939966 - 20000 104620.27 0 0.55429324 0.5231436 0.54976641 1.6272032 0.26601423 - 30000 106130.45 0 0.87562668 0.84813496 0.89321299 2.6169746 0.30836996 - 40000 105773.31 0 1.2262635 1.1899278 1.2626926 3.6788838 0.35392219 - 50000 103804.88 0 1.5851624 1.5645815 1.6434185 4.7931624 0.33326997 - 60000 105746.45 0 1.9928016 1.9347072 1.9837329 5.9112417 0.2550878 - 70000 104500.3 0 2.3269429 2.2774077 2.3368821 6.9412326 0.25218225 - 80000 105381.46 0 2.7114959 2.6937299 2.7171132 8.122339 0.36940892 - 90000 104542.79 0 3.0828648 3.084417 3.0783207 9.2456025 0.36106481 - 100000 104246.75 0 3.4635513 3.5105066 3.4545226 10.42858 0.3712313 - 110000 103099.55 0 3.8471061 3.9389997 3.8220676 11.608173 0.38466185 - 120000 103098.45 0 4.2014598 4.3456831 4.1888659 12.736009 0.36710217 -Loop time of 22.8893 on 4 procs for 120000 steps with 4096 atoms + 0 1.0486812e+10 0 0 0 0 0 0.068203091 + 10000 104209.87 0 0.25428952 0.2512451 0.23617807 0.74171269 0.1910208 + 20000 104433.46 0 0.55611319 0.57499464 0.54362634 1.6747342 0.27977792 + 30000 104615.53 0 0.88377871 0.8933002 0.88683731 2.6639162 0.31709969 + 40000 105930.5 0 1.2301515 1.262995 1.2479624 3.7411089 0.26149988 + 50000 105556.39 0 1.5798848 1.6402779 1.6392277 4.8593905 0.34401188 + 60000 104644.58 0 1.9782384 1.9902061 2.0327974 6.0012419 0.26709167 + 70000 104314.31 0 2.3681872 2.3695505 2.4241916 7.1619294 0.24191407 + 80000 105700 0 2.7109374 2.7434271 2.8309194 8.2852839 0.28355159 + 90000 103411.61 0 3.1023448 3.0881218 3.1599155 9.350382 0.3070844 + 100000 105432.12 0 3.4853878 3.4372177 3.5153198 10.437925 0.28141015 + 110000 105723.04 0 3.8405786 3.7967805 3.8738332 11.511192 0.33248553 + 120000 104734.31 0 4.2454301 4.1714561 4.2234474 12.640334 0.3603781 +Loop time of 63.7803 on 1 procs for 120000 steps with 4096 atoms -Performance: 4529.619 tau/day, 5242.615 timesteps/s -100.0% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 1625.581 tau/day, 1881.459 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0.0049489 | 0.0050479 | 0.0050978 | 0.1 | 0.02 -Comm | 0.082752 | 0.084491 | 0.085332 | 0.4 | 0.37 -Output | 0.00054352 | 0.0006034 | 0.00064793 | 0.0 | 0.00 -Modify | 21.069 | 21.521 | 21.964 | 7.0 | 94.02 -Other | | 1.278 | | | 5.58 +Neigh | 0.013032 | 0.013032 | 0.013032 | 0.0 | 0.02 +Comm | 0.093045 | 0.093045 | 0.093045 | 0.0 | 0.15 +Output | 0.00069845 | 0.00069845 | 0.00069845 | 0.0 | 0.00 +Modify | 62.279 | 62.279 | 62.279 | 0.0 | 97.65 +Other | | 1.394 | | | 2.19 -Nlocal: 1024.00 ave 1050 max 1010 min -Histogram: 2 0 0 1 0 0 0 0 0 1 +Nlocal: 4096.00 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 +Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0.00000 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 +Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 0 Ave neighs/atom = 0.0000000 -Neighbor list builds = 2169 +Neighbor list builds = 2174 Dangerous builds = 0 # if you want to check that rotational diffusion is behaving as expected, @@ -147,4 +147,4 @@ Dangerous builds = 0 #dump_modify 1 first yes sort id #run 120000 -Total wall time: 0:00:30 +Total wall time: 0:01:29 diff --git a/src/USER-BROWNIAN/fix_propel_self.cpp b/src/USER-BROWNIAN/fix_propel_self.cpp index 1755f59840..59bb080cc5 100644 --- a/src/USER-BROWNIAN/fix_propel_self.cpp +++ b/src/USER-BROWNIAN/fix_propel_self.cpp @@ -16,8 +16,7 @@ Thanks to Liesbeth Janssen @ Eindhoven University for useful discussions! - Current maintainer: Sam Cameron @ University of Bristol - + Current maintainer: Sam Cameron @ University of Bristol ----------------------------------------------------------------------- */ #include @@ -49,44 +48,47 @@ FixPropelSelf::FixPropelSelf(LAMMPS *lmp, int narg, char **arg) : virial_flag = 1; - if (narg < 5) + if (narg != 5 && narg != 9) error->all(FLERR,"Illegal fix propel/self command"); - - magnitude = utils::numeric(FLERR,arg[3],false,lmp); - if (strcmp(arg[4],"velocity") == 0) { + if (strcmp(arg[3],"velocity") == 0) { mode = VELOCITY; thermo_virial = 0; - if (narg != 5) { - error->all(FLERR,"Illegal fix propel/self command"); - } - } else if (strcmp(arg[4],"dipole") == 0) { + } else if (strcmp(arg[3],"dipole") == 0) { mode = DIPOLE; thermo_virial = 1; - if (narg != 5) { - error->all(FLERR,"Illegal fix propel/self command"); - } - } else if (strcmp(arg[4],"quat") == 0) { + } else if (strcmp(arg[3],"quat") == 0) { mode = QUAT; thermo_virial = 1; - if (narg != 8) { - error->all(FLERR,"Illegal fix propel/self command"); - } else { - sx = utils::numeric(FLERR,arg[5],false,lmp); - sy = utils::numeric(FLERR,arg[6],false,lmp); - sz = utils::numeric(FLERR,arg[7],false,lmp); - double qnorm = sqrt(sx*sx + sy*sy + sz*sz); - sx = sx/qnorm; - sy = sy/qnorm; - sz = sz/qnorm; - } } else { error->all(FLERR,"Illegal fix propel/self command"); } + magnitude = utils::numeric(FLERR,arg[4],false,lmp); + // check for keyword + if (narg == 9) { + if (mode != QUAT) { + error->all(FLERR,"Illegal fix propel/self command"); + } + if (strcmp(arg[5],"qvector") == 0) { + sx = utils::numeric(FLERR,arg[6],false,lmp); + sy = utils::numeric(FLERR,arg[7],false,lmp); + sz = utils::numeric(FLERR,arg[8],false,lmp); + double snorm = sqrt(sx*sx + sy*sy + sz*sz); + sx = sx/snorm; + sy = sy/snorm; + sz = sz/snorm; + } else { + error->all(FLERR,"Illegal fix propel/self command"); + } + } else { + sx = 1.0; + sy = 0.0; + sz = 0.0; + } } From b421c3d67652aa6fd0657542e5914a633c73bf47 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 22 Dec 2020 10:20:06 -0700 Subject: [PATCH 056/542] Adding arguments, initialization, and communication for custom groupings --- src/comm_brick.cpp | 44 ++++++++++++----------- src/comm_tiled.cpp | 46 +++++++++++++----------- src/neighbor.cpp | 87 +++++++++++++++++++++++++++++++++++++++++++++- src/neighbor.h | 9 ++++- 4 files changed, 143 insertions(+), 43 deletions(-) diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 7f84d619e4..528456ab7c 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -175,10 +175,11 @@ void CommBrick::setup() if (mode == Comm::MULTI) { if (multi_reduce) { - // If using multi/reduce binlists, communicate itype particles a distance - // equal to the max of itype-jtype interaction given smaller jtype particles - double **cutneighsq = neighbor->cutneighsq; - double *cuttypesq = neighbor->cuttypesq; + // If using multi/reduce, communicate itype particles a distance equal + // to the max of itype-jtype group interaction given smaller jtype group + int igroup, jgroup; + double **cutmultisq = neighbor->cutmultisq; + int *map_type_multi = neighbor->map_type_multi; for (i = 1; i <= ntypes; i++) { if (cutusermulti) { @@ -191,11 +192,14 @@ void CommBrick::setup() cutghostmulti[i][2] = 0.0; } + igroup = map_type_multi[i]; for (j = 1; j <= ntypes; j++){ - if(cutneighsq[j][j] > cutneighsq[i][i]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); + jgroup = map_type_multi[j]; + + if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); } } } else { @@ -226,10 +230,11 @@ void CommBrick::setup() if (mode == Comm::MULTI) { if (multi_reduce) { - // If using multi/reduce binlists, communicate itype particles a distance - // equal to the max of itype-jtype interaction given smaller jtype particles - double **cutneighsq = neighbor->cutneighsq; - double *cuttypesq = neighbor->cuttypesq; + // If using multi/reduce, communicate itype particles a distance equal + // to the max of itype-jtype group interaction given smaller jtype group + int igroup, jgroup; + double **cutmultisq = neighbor->cutmultisq; + int *map_type_multi = neighbor->map_type_multi; for (i = 1; i <= ntypes; i++) { if (cutusermulti) { @@ -242,16 +247,15 @@ void CommBrick::setup() cutghostmulti[i][2] = 0.0; } + igroup = map_type_multi[i]; for (j = 1; j <= ntypes; j++){ - if(cutneighsq[j][j] > cutneighsq[i][i]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); + jgroup = map_type_multi[j]; + + if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); } - - cutghostmulti[i][0] *= length0; - cutghostmulti[i][1] *= length1; - cutghostmulti[i][2] *= length2; } } else { // If using a single binlist, use the max itype-jtype interaction distance for communication diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index ce76fa7442..64d1207a64 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -177,29 +177,33 @@ void CommTiled::setup() if (mode == Comm::MULTI) { double cut; if (multi_reduce) { - // If using multi/reduce binlists, communicate itype particles a distance - // equal to the max of itype-jtype interaction given smaller jtype particles - double **cutneighsq = neighbor->cutneighsq; - double *cuttypesq = neighbor->cuttypesq; - for (i = 1; i <= ntypes; i++) { + // If using multi/reduce, communicate itype particles a distance equal + // to the max of itype-jtype group interaction given smaller jtype group + int igroup, jgroup; + double **cutmultisq = neighbor->cutmultisq; + int *map_type_multi = neighbor->map_type_multi; + for (i = 1; i <= ntypes; i++) { - if (cutusermulti) { - cutghostmulti[i][0] = cutusermulti[i]; - cutghostmulti[i][1] = cutusermulti[i]; - cutghostmulti[i][2] = cutusermulti[i]; - } else { - cutghostmulti[i][0] = 0.0; - cutghostmulti[i][1] = 0.0; - cutghostmulti[i][2] = 0.0; - } - - for (j = 1; j <= ntypes; j++){ - if(cutneighsq[j][j] > cutneighsq[i][i]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutneighsq[i][j])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutneighsq[i][j])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutneighsq[i][j])); - } + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } + + igroup = map_type_multi[i]; + for (j = 1; j <= ntypes; j++){ + jgroup = map_type_multi[j]; + + if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); + } + } } else { // If using a single binlist, use the max itype-jtype interaction distance for communication double *cuttype = neighbor->cuttype; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index d130219931..b08de6cb02 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -188,6 +188,12 @@ pairclass(nullptr), pairnames(nullptr), pairmasks(nullptr) nex_mol = maxex_mol = 0; ex_mol_group = ex_mol_bit = ex_mol_intra = nullptr; + // Multi data + + map_type_multi = nullptr; + cutmultisq = nullptr; + multi_groups = 0; + // Kokkos setting copymode = 0; @@ -253,6 +259,9 @@ Neighbor::~Neighbor() memory->destroy(ex_mol_group); delete [] ex_mol_bit; memory->destroy(ex_mol_intra); + + memory->destroy(map_type_multi); + memory->destroy(cutmultisq); } /* ---------------------------------------------------------------------- */ @@ -336,6 +345,35 @@ void Neighbor::init() } cutneighmaxsq = cutneighmax * cutneighmax; + // multi cutoffs + if(style == Neighbor::MULTI){ + int igroup, jgroup; + // If not defined, create default mapping + if(not map_type_multi) { + memory->create(map_type_multi,n+1,"neigh:map_type_multi"); + n_multi_groups = n; + for(i = 1; i <= n; i++) + map_type_multi[i] = i-1; + } + + // Define maximum interaction distance for each pair of groups + memory->grow(cutmultisq, n_multi_groups, n_multi_groups, "neigh:cutmultisq"); + for(i = 0; i < n_multi_groups; i++) + for(j = 0; j < n_multi_groups; j++) + cutmultisq[i][j] = 0.0; + + for(i = 1; i <= n; i++){ + igroup = map_type_multi[i]; + for(j = 1; j <= n; j++){ + jgroup = map_type_multi[j]; + if(cutneighsq[i][j] > cutmultisq[igroup][jgroup]) { + cutmultisq[igroup][jgroup] = cutneighsq[i][j]; + cutmultisq[jgroup][igroup] = cutneighsq[i][j]; + } + } + } + } + // rRESPA cutoffs int respa = 0; @@ -1934,6 +1972,7 @@ NPair *Neighbor::pair_creator(LAMMPS *lmp) /* ---------------------------------------------------------------------- setup neighbor binning and neighbor stencils called before run and every reneighbor if box size/shape changes + initialize default settings for multi before run only operates on perpetual lists build_one() operates on occasional lists ------------------------------------------------------------------------- */ @@ -2379,9 +2418,55 @@ void Neighbor::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg+1],"none") == 0) { nex_type = nex_group = nex_mol = 0; iarg += 2; - + } else error->all(FLERR,"Illegal neigh_modify command"); + } else if (strcmp(arg[iarg],"multi/custom") == 0) { + if(style != Neighbor::MULTI) + error->all(FLERR,"Cannot use multi/custom command without multi setting"); + + if(iarg+2 > narg) + error->all(FLERR,"Invalid multi/custom command"); + int nextra = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if(iarg+1+nextra > narg) + error->all(FLERR,"Invalid multi/custom command"); + int ntypes = atom->ntypes; + int n, nlo, nhi, i, j, igroup, jgroup; + + if(not map_type_multi) + memory->create(map_type_multi,ntypes+1,"neigh:map_type_multi"); + + // Erase previous mapping + for(i = 1; i <= ntypes; i++) + map_type_multi[i] = -1; + + // For each custom range, define mapping for types in interval + n_multi_groups = 0; + char *id; + for(i = 0; i < nextra; i++){ + n = strlen(arg[iarg+2+i]) + 1; + id = new char[n]; + strcpy(id,arg[iarg+2+i]); + utils::bounds(FLERR,id,1,ntypes,nlo,nhi,error); + delete [] id; + + for (j = nlo; j <= nhi; j++) { + if(map_type_multi[j] != -1) + error->all(FLERR,"Type specified more than once in multi/custom commnd"); + map_type_multi[j] = n_multi_groups; + } + n_multi_groups += 1; + } + + // Create seprate group for each undefined atom type + for(i = 1; i <= ntypes; i++){ + if(map_type_multi[i] == -1){ + map_type_multi[i] = n_multi_groups; + n_multi_groups += 1; + } + } + + iarg += 2 + nextra; } else error->all(FLERR,"Illegal neigh_modify command"); } } diff --git a/src/neighbor.h b/src/neighbor.h index d1a5cf9112..ad3de851cf 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -21,7 +21,7 @@ namespace LAMMPS_NS { class Neighbor : protected Pointers { public: enum{NSQ,BIN,MULTI_OLD,MULTI}; - int style; // 0,1,2 = nsq, bin, multi/old, multi + int style; // 0,1,2,3 = nsq, bin, multi/old, multi int every; // build every this many steps int delay; // delay build for this many steps int dist_check; // 0 = always build, 1 = only if 1/2 dist @@ -102,6 +102,13 @@ class Neighbor : protected Pointers { int nimproperlist; // list of impropers to compute int **improperlist; + // optional type grouping for multi + + int multi_groups; // 1 if custom groupings are defined for multi + int n_multi_groups; // # of custom groupings + int *map_type_multi; // ntype array mapping types to custom groupings + double **cutmultisq; // cutoffs for each combination of custom groupings + // public methods Neighbor(class LAMMPS *); From 2458eaf4f9bb4e58a5a277f02475b7b1f04ca7c6 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 26 Dec 2020 11:03:29 -0700 Subject: [PATCH 057/542] Adding custom grouping option --- src/USER-OMP/npair_full_multi_omp.cpp | 28 ++-- src/USER-OMP/npair_half_multi_newtoff_omp.cpp | 28 ++-- src/USER-OMP/npair_half_multi_newton_omp.cpp | 54 ++++---- .../npair_half_multi_newton_tri_omp.cpp | 30 +++-- .../npair_half_size_multi_newtoff_omp.cpp | 28 ++-- .../npair_half_size_multi_newton_omp.cpp | 48 ++++--- .../npair_half_size_multi_newton_tri_omp.cpp | 30 +++-- src/comm_brick.cpp | 6 +- src/nbin.cpp | 45 ++++--- src/nbin.h | 12 +- src/nbin_multi.cpp | 98 +++++++------- src/nbin_multi.h | 2 +- src/neighbor.cpp | 2 +- src/npair.cpp | 40 +++--- src/npair.h | 5 +- src/npair_full_multi.cpp | 33 ++--- src/npair_half_multi_newtoff.cpp | 31 ++--- src/npair_half_multi_newton.cpp | 57 ++++---- src/npair_half_multi_newton_tri.cpp | 35 ++--- src/npair_half_size_multi_newtoff.cpp | 31 ++--- src/npair_half_size_multi_newton.cpp | 59 ++++---- src/npair_half_size_multi_newton_tri.cpp | 31 ++--- src/nstencil.cpp | 126 +++++++++--------- src/nstencil.h | 7 +- src/nstencil_full_multi_2d.cpp | 36 ++--- src/nstencil_full_multi_3d.cpp | 40 +++--- src/nstencil_half_multi_2d.cpp | 50 +++---- src/nstencil_half_multi_2d_tri.cpp | 50 +++---- src/nstencil_half_multi_3d.cpp | 54 ++++---- src/nstencil_half_multi_3d_tri.cpp | 54 ++++---- 30 files changed, 599 insertions(+), 551 deletions(-) diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/USER-OMP/npair_full_multi_omp.cpp index cf897f9dea..11b8bae196 100755 --- a/src/USER-OMP/npair_full_multi_omp.cpp +++ b/src/USER-OMP/npair_full_multi_omp.cpp @@ -30,7 +30,7 @@ NPairFullMultiOmp::NPairFullMultiOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ @@ -46,7 +46,7 @@ void NPairFullMultiOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -80,6 +80,7 @@ void NPairFullMultiOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -89,27 +90,28 @@ void NPairFullMultiOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in surrounding bins in stencil including self // skip i = j - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (i == j) continue; + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp index bf7644f01f..e3e03ee8ed 100755 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp @@ -30,7 +30,7 @@ NPairHalfMultiNewtoffOmp::NPairHalfMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -48,7 +48,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -82,6 +82,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -91,29 +92,30 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jgroup][j]) { if (j <= i) continue; + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp index c68a3a150f..28db1b3c0d 100755 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -30,7 +30,7 @@ NPairHalfMultiNewtonOmp::NPairHalfMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -81,6 +81,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -90,28 +91,28 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ // if same size: use half stencil - if(itype == jtype){ + if(igroup == jgroup){ - // if same type, implement with: + // if same group, implement with: // loop over rest of atoms in i's bin, ghosts are at end of linked list // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[itype][i]; + js = bins_multi[igroup][i]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -120,6 +121,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -145,14 +147,14 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) } } else { - // if different types, implement with: - // loop over all atoms in jtype bin + // if different groups, implement with: + // loop over all atoms in jgroup bin // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jtype][jbin]; + js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if(j < i) continue; if (j >= nlocal) { @@ -163,8 +165,9 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; @@ -189,20 +192,21 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) } } - // for all types, loop over all atoms in other bins in stencil, store every pair + // for all groups, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index 3f3ac37b6d..0289967d30 100755 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -31,7 +31,7 @@ NPairHalfMultiNewtonTriOmp::NPairHalfMultiNewtonTriOmp(LAMMPS *lmp) : /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -48,7 +48,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,igroup,jgroup,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -82,6 +82,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -91,14 +92,14 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -109,15 +110,15 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { - // if same size (e.g. same type), use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + // if same size (same group), use half stencil + if(cutmultisq[igroup][igroup] == cutmutlisq[jgroup][jgroup]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -128,6 +129,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp index 8201ba8cb6..35cfaad5e6 100755 --- a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp @@ -29,7 +29,7 @@ NPairHalfSizeMultiNewtoffOmp::NPairHalfSizeMultiNewtoffOmp(LAMMPS *lmp) : NPair( /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -47,7 +47,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,ns; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -75,34 +75,36 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jgroup][j]) { if (j <= i) continue; + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp index 197b41c12e..974b8c5809 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -29,7 +29,7 @@ NPairHalfSizeMultiNewtonOmp::NPairHalfSizeMultiNewtonOmp(LAMMPS *lmp) : NPair(lm /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -46,7 +46,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,ns; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -74,33 +74,34 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_group; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ // if same size: use half stencil - if(itype == jtype){ + if(igroup == jgroup){ - // if same type, implement with: + // if same group, implement with: // loop over rest of atoms in i's bin, ghosts are at end of linked list // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[itype][i]; + js = bins_multi[igroup][i]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -109,6 +110,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -127,14 +129,14 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) } } else { - // if different types, implement with: - // loop over all atoms in jtype bin + // if different groups, implement with: + // loop over all atoms in jgroup bin // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jtype][jbin]; + js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if(j < i) continue; if (j >= nlocal) { @@ -145,6 +147,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; @@ -164,18 +167,19 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) } } - // for all types, loop over all atoms in other bins in stencil, store every pair + // for all groups, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp index cd123202b1..d1c5a97498 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp @@ -30,7 +30,7 @@ NPairHalfSizeMultiNewtonTriOmp::NPairHalfSizeMultiNewtonTriOmp(LAMMPS *lmp) : /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,ns; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -75,19 +75,20 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in bins in stencil @@ -99,15 +100,15 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { - // if same size (e.g. same type), use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + // if same size (same group), use half stencil + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -118,6 +119,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 528456ab7c..74865476f5 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -252,9 +252,9 @@ void CommBrick::setup() jgroup = map_type_multi[j]; if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][0] = length0 * MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][1] = length1 * MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][2] = length2 * MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); } } } else { diff --git a/src/nbin.cpp b/src/nbin.cpp index 084d3bfc4a..cb10014b36 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -43,8 +43,11 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) bins_multi = nullptr; atom2bin_multi = nullptr; maxbins_multi = nullptr; + + map_type_multi = nullptr; + cutmultisq = nullptr; - maxtypes = 0; + maxgroups = 0; neighbor->last_setup_bins = -1; @@ -84,7 +87,7 @@ NBin::~NBin() memory->destroy(bininvy_multi); memory->destroy(bininvz_multi); - for (int n = 1; n <= maxtypes; n++) { + for (int n = 0; n < maxgroups; n++) { memory->destroy(binhead_multi[n]); memory->destroy(bins_multi[n]); memory->destroy(atom2bin_multi[n]); @@ -117,6 +120,10 @@ void NBin::copy_neighbor_info() binsize_user = neighbor->binsize_user; bboxlo = neighbor->bboxlo; bboxhi = neighbor->bboxhi; + + n_multi_groups = neighbor->n_multi_groups; + map_type_multi = neighbor->map_type_multi; + cutmultisq = neighbor->cutmultisq; // overwrite Neighbor cutoff with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -174,10 +181,10 @@ int NBin::coord2bin(double *x) /* ---------------------------------------------------------------------- - convert atom coords into local bin # for a particular type + convert atom coords into local bin # for a particular grouping ------------------------------------------------------------------------- */ -int NBin::coord2bin_multi(double *x, int it) +int NBin::coord2bin_multi(double *x, int ig) { int ix,iy,iz; int ibin; @@ -186,33 +193,33 @@ int NBin::coord2bin_multi(double *x, int it) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[it]) + nbinx_multi[it]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ig]) + nbinx_multi[ig]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]); - ix = MIN(ix,nbinx_multi[it]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]); + ix = MIN(ix,nbinx_multi[ig]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[it]) + nbiny_multi[it]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ig]) + nbiny_multi[ig]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]); - iy = MIN(iy,nbiny_multi[it]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]); + iy = MIN(iy,nbiny_multi[ig]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[it]) + nbinz_multi[it]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ig]) + nbinz_multi[ig]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]); - iz = MIN(iz,nbinz_multi[it]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]); + iz = MIN(iz,nbinz_multi[ig]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]) - 1; - ibin = (iz-mbinzlo_multi[it])*mbiny_multi[it]*mbinx_multi[it] - + (iy-mbinylo_multi[it])*mbinx_multi[it] - + (ix-mbinxlo_multi[it]); + ibin = (iz-mbinzlo_multi[ig])*mbiny_multi[ig]*mbinx_multi[ig] + + (iy-mbinylo_multi[ig])*mbinx_multi[ig] + + (ix-mbinxlo_multi[ig]); return ibin; } diff --git a/src/nbin.h b/src/nbin.h index 8f95ad987e..19035d619e 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -75,6 +75,9 @@ class NBin : protected Pointers { int binsizeflag; double binsize_user; double *bboxlo,*bboxhi; + int n_multi_groups; + int *map_type_multi; + double **cutmultisq; // data common to all NBin variants @@ -84,15 +87,12 @@ class NBin : protected Pointers { // data for standard NBin int maxatom; // size of bins array - - // data for standard NBin - int maxbin; // size of binhead array - // data for multi/multi NBin + // data for multi NBin - int maxtypes; // size of multi arrays - int * maxbins_multi; // size of 2nd dimension of binhead_multi array + int maxgroups; // size of multi arrays + int * maxbins_multi; // size of 2nd dimension of binhead_multi array // methods diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index 302fe30d88..b39489c3fe 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -38,7 +38,7 @@ void NBinMulti::bin_atoms_setup(int nall) { // binhead_multi[n] = per-bin vector mbins in length mbins_multi[n] - for (int n = 1; n <= maxtypes; n++) { + for (int n = 0; n < maxgroups; n++) { if (mbins_multi[n] > maxbins_multi[n]) { maxbins_multi[n] = mbins_multi[n]; memory->destroy(binhead_multi[n]); @@ -48,10 +48,12 @@ void NBinMulti::bin_atoms_setup(int nall) // bins_multi[n] and atom2bin_multi[n] = per-atom vectors // for both local and ghost atoms + + // TODO: maxatom should be maxatom per group if (nall > maxatom) { maxatom = nall; - for (int n = 1; n <= maxtypes; n++) { + for (int n = 0; n < maxgroups; n++) { memory->destroy(bins_multi[n]); memory->destroy(atom2bin_multi[n]); memory->create(bins_multi[n], maxatom, "neigh:bin_multi"); @@ -61,23 +63,16 @@ void NBinMulti::bin_atoms_setup(int nall) } /* --------------------------------------------------------------------- - Identify index of type with smallest cutoff + Identify index of group with smallest cutoff ------------------------------------------------------------------------ */ -int NBinMulti::itype_min() { +int NBinMulti::igroup_min() +{ + int imin = 0; + for (int n = 0; n < maxgroups; n++) + if (cutmultisq[n][n] < cutmultisq[imin][imin]) imin = n; - int itypemin = 1; - double ** cutneighsq; - - cutneighsq = neighbor->cutneighsq; - - for (int n = 1; n <= atom->ntypes; n++) { - if (cutneighsq[n][n] < cutneighsq[itypemin][itypemin]) { - itypemin = n; - } - } - - return itypemin; + return imin; } /* ---------------------------------------------------------------------- @@ -87,15 +82,15 @@ int NBinMulti::itype_min() { void NBinMulti::setup_bins(int style) { int n; - int itypemin; + int igroupmin; // Initialize arrays - if (atom->ntypes > maxtypes) { + if (n_multi_groups > maxgroups) { // Clear any/all memory for existing types - for (n = 1; n <= maxtypes; n++) { + for (n = 0; n < maxgroups; n++) { memory->destroy(atom2bin_multi[n]); memory->destroy(binhead_multi[n]); memory->destroy(bins_multi[n]); @@ -106,59 +101,60 @@ void NBinMulti::setup_bins(int style) // Realloacte at updated maxtypes - maxtypes = atom->ntypes; + maxgroups = n_multi_groups; - atom2bin_multi = new int*[maxtypes+1](); - binhead_multi = new int*[maxtypes+1](); - bins_multi = new int*[maxtypes+1](); + atom2bin_multi = new int*[maxgroups](); + binhead_multi = new int*[maxgroups](); + bins_multi = new int*[maxgroups](); memory->destroy(nbinx_multi); memory->destroy(nbiny_multi); memory->destroy(nbinz_multi); - memory->create(nbinx_multi, maxtypes+1, "neigh:nbinx_multi"); - memory->create(nbiny_multi, maxtypes+1, "neigh:nbiny_multi"); - memory->create(nbinz_multi, maxtypes+1, "neigh:nbinz_multi"); + memory->create(nbinx_multi, maxgroups, "neigh:nbinx_multi"); + memory->create(nbiny_multi, maxgroups, "neigh:nbiny_multi"); + memory->create(nbinz_multi, maxgroups, "neigh:nbinz_multi"); memory->destroy(mbins_multi); memory->destroy(mbinx_multi); memory->destroy(mbiny_multi); memory->destroy(mbinz_multi); - memory->create(mbins_multi, maxtypes+1, "neigh:mbins_multi"); - memory->create(mbinx_multi, maxtypes+1, "neigh:mbinx_multi"); - memory->create(mbiny_multi, maxtypes+1, "neigh:mbiny_multi"); - memory->create(mbinz_multi, maxtypes+1, "neigh:mbinz_multi"); + memory->create(mbins_multi, maxgroups, "neigh:mbins_multi"); + memory->create(mbinx_multi, maxgroups, "neigh:mbinx_multi"); + memory->create(mbiny_multi, maxgroups, "neigh:mbiny_multi"); + memory->create(mbinz_multi, maxgroups, "neigh:mbinz_multi"); memory->destroy(mbinxlo_multi); memory->destroy(mbinylo_multi); memory->destroy(mbinzlo_multi); - memory->create(mbinxlo_multi, maxtypes+1, "neigh:mbinxlo_multi"); - memory->create(mbinylo_multi, maxtypes+1, "neigh:mbinylo_multi"); - memory->create(mbinzlo_multi, maxtypes+1, "neigh:mbinzlo_multi"); + memory->create(mbinxlo_multi, maxgroups, "neigh:mbinxlo_multi"); + memory->create(mbinylo_multi, maxgroups, "neigh:mbinylo_multi"); + memory->create(mbinzlo_multi, maxgroups, "neigh:mbinzlo_multi"); memory->destroy(binsizex_multi); memory->destroy(binsizey_multi); memory->destroy(binsizez_multi); - memory->create(binsizex_multi, maxtypes+1, "neigh:binsizex_multi"); - memory->create(binsizey_multi, maxtypes+1, "neigh:binsizey_multi"); - memory->create(binsizez_multi, maxtypes+1, "neigh:binsizez_multi"); + memory->create(binsizex_multi, maxgroups, "neigh:binsizex_multi"); + memory->create(binsizey_multi, maxgroups, "neigh:binsizey_multi"); + memory->create(binsizez_multi, maxgroups, "neigh:binsizez_multi"); memory->destroy(bininvx_multi); memory->destroy(bininvy_multi); memory->destroy(bininvz_multi); - memory->create(bininvx_multi, maxtypes+1, "neigh:bininvx_multi"); - memory->create(bininvy_multi, maxtypes+1, "neigh:bininvy_multi"); - memory->create(bininvz_multi, maxtypes+1, "neigh:bininvz_multi"); + memory->create(bininvx_multi, maxgroups, "neigh:bininvx_multi"); + memory->create(bininvy_multi, maxgroups, "neigh:bininvy_multi"); + memory->create(bininvz_multi, maxgroups, "neigh:bininvz_multi"); memory->destroy(maxbins_multi); - memory->create(maxbins_multi, maxtypes+1, "neigh:maxbins_multi"); + memory->create(maxbins_multi, maxgroups, "neigh:maxbins_multi"); + // make sure reallocation occurs in bin_atoms_setup() - for (n = 1; n <= maxtypes; n++) { + for (n = 0; n < maxgroups; n++) { maxbins_multi[n] = 0; } maxatom = 0; } - itypemin = itype_min(); + igroupmin = igroup_min(); // bbox = size of bbox of entire domain // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost @@ -193,16 +189,16 @@ void NBinMulti::setup_bins(int style) bbox[1] = bboxhi[1] - bboxlo[1]; bbox[2] = bboxhi[2] - bboxlo[2]; - // For each type... + // For each grouping... - for (n = 1; n <= atom->ntypes; n++) { + for (n = 0; n < maxgroups; n++) { // binsize_user only relates to smallest type // optimal bin size is roughly 1/2 the type-type cutoff // special case of all cutoffs = 0.0, binsize = box size double binsize_optimal; - if (n == itypemin && binsizeflag) binsize_optimal = binsize_user; - else binsize_optimal = 0.5*sqrt(neighbor->cutneighsq[n][n]); + if (n == igroupmin && binsizeflag) binsize_optimal = binsize_user; + else binsize_optimal = 0.5*sqrt(cutmultisq[n][n]); if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; double binsizeinv = 1.0/binsize_optimal; @@ -306,7 +302,7 @@ void NBinMulti::bin_atoms() int i,ibin,n; last_bin = update->ntimestep; - for (n = 1; n <= maxtypes; n++) { + for (n = 0; n < maxgroups; n++) { for (i = 0; i < mbins_multi[n]; i++) binhead_multi[n][i] = -1; } @@ -323,7 +319,7 @@ void NBinMulti::bin_atoms() int bitmask = group->bitmask[includegroup]; for (i = nall-1; i >= nlocal; i--) { if (mask[i] & bitmask) { - n = type[i]; + n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); atom2bin_multi[n][i] = ibin; bins_multi[n][i] = binhead_multi[n][ibin]; @@ -331,7 +327,7 @@ void NBinMulti::bin_atoms() } } for (i = atom->nfirst-1; i >= 0; i--) { - n = type[i]; + n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); atom2bin_multi[n][i] = ibin; bins_multi[n][i] = binhead_multi[n][ibin]; @@ -339,7 +335,7 @@ void NBinMulti::bin_atoms() } } else { for (i = nall-1; i >= 0; i--) { - n = type[i]; + n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); atom2bin_multi[n][i] = ibin; bins_multi[n][i] = binhead_multi[n][ibin]; @@ -354,7 +350,7 @@ double NBinMulti::memory_usage() { double bytes = 0; - for (int m = 1; m < maxtypes; m++) { + for (int m = 0; m < maxgroups; m++) { bytes += maxbins_multi[m]*sizeof(int); bytes += 2*maxatom*sizeof(int); } diff --git a/src/nbin_multi.h b/src/nbin_multi.h index 856f3fa722..84ec0348bc 100644 --- a/src/nbin_multi.h +++ b/src/nbin_multi.h @@ -38,7 +38,7 @@ class NBinMulti : public NBin { private: - int itype_min(); + int igroup_min(); }; } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index b08de6cb02..94add1f324 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -350,8 +350,8 @@ void Neighbor::init() int igroup, jgroup; // If not defined, create default mapping if(not map_type_multi) { - memory->create(map_type_multi,n+1,"neigh:map_type_multi"); n_multi_groups = n; + memory->create(map_type_multi,n+1,"neigh:map_type_multi"); for(i = 1; i <= n; i++) map_type_multi[i] = i-1; } diff --git a/src/npair.cpp b/src/npair.cpp index 07e476e1dd..b2ecc953ea 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -95,6 +95,12 @@ void NPair::copy_neighbor_info() special_flag = neighbor->special_flag; + // multi info + + n_multi_groups = neighbor->n_multi_groups; + map_type_multi = neighbor->map_type_multi; + cutmultisq = neighbor->cutmultisq; + // overwrite per-type Neighbor cutoffs with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -265,10 +271,10 @@ int NPair::coord2bin(double *x, int &ix, int &iy, int &iz) /* ---------------------------------------------------------------------- - same as coord2bin in NbinMulti2 + multi version of coord2bin for a given grouping ------------------------------------------------------------------------- */ -int NPair::coord2bin(double *x, int it) +int NPair::coord2bin(double *x, int ig) { int ix,iy,iz; int ibin; @@ -277,32 +283,32 @@ int NPair::coord2bin(double *x, int it) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[it]) + nbinx_multi[it]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ig]) + nbinx_multi[ig]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]); - ix = MIN(ix,nbinx_multi[it]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]); + ix = MIN(ix,nbinx_multi[ig]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[it]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[it]) + nbiny_multi[it]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ig]) + nbiny_multi[ig]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]); - iy = MIN(iy,nbiny_multi[it]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]); + iy = MIN(iy,nbiny_multi[ig]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[it]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[it]) + nbinz_multi[it]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ig]) + nbinz_multi[ig]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]); - iz = MIN(iz,nbinz_multi[it]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]); + iz = MIN(iz,nbinz_multi[ig]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[it]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]) - 1; - ibin = (iz-mbinzlo_multi[it])*mbiny_multi[it]*mbinx_multi[it] - + (iy-mbinylo_multi[it])*mbinx_multi[it] - + (ix-mbinxlo_multi[it]); + ibin = (iz-mbinzlo_multi[ig])*mbiny_multi[ig]*mbinx_multi[ig] + + (iy-mbinylo_multi[ig])*mbinx_multi[ig] + + (ix-mbinxlo_multi[ig]); return ibin; } \ No newline at end of file diff --git a/src/npair.h b/src/npair.h index c56c6bdb20..4d99e3a8e6 100644 --- a/src/npair.h +++ b/src/npair.h @@ -48,7 +48,10 @@ class NPair : protected Pointers { double cut_middle_sq; double cut_middle_inside_sq; double *bboxlo,*bboxhi; - + int n_multi_groups; + int *map_type_multi; + double **cutmultisq; + // exclusion data from Neighbor class int nex_type; // # of entries in type exclusion list diff --git a/src/npair_full_multi.cpp b/src/npair_full_multi.cpp index 4463964d5f..f29f04107a 100644 --- a/src/npair_full_multi.cpp +++ b/src/npair_full_multi.cpp @@ -28,13 +28,13 @@ NPairFullMulti::NPairFullMulti(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ void NPairFullMulti::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -67,8 +67,8 @@ void NPairFullMulti::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -78,29 +78,30 @@ void NPairFullMulti::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in surrounding bins in stencil including self // skip i = j - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (i == j) continue; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_newtoff.cpp index c0dcaf0c98..85832b11b1 100755 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -28,7 +28,7 @@ NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -36,7 +36,7 @@ NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfMultiNewtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -69,8 +69,8 @@ void NPairHalfMultiNewtoff::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -80,30 +80,31 @@ void NPairHalfMultiNewtoff::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jgroup][j]) { if (j <= i) continue; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index e097052fe5..d18b009460 100755 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -28,14 +28,14 @@ NPairHalfMultiNewton::NPairHalfMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfMultiNewton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -68,8 +68,8 @@ void NPairHalfMultiNewton::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -79,28 +79,28 @@ void NPairHalfMultiNewton::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ // if same size: use half stencil - if(itype == jtype){ + if(igroup == jgroup){ - // if same type, implement with: + // if same group, implement with: // loop over rest of atoms in i's bin, ghosts are at end of linked list // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[itype][i]; + js = bins_multi[igroup][i]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -109,7 +109,8 @@ void NPairHalfMultiNewton::build(NeighList *list) } } - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; @@ -134,14 +135,14 @@ void NPairHalfMultiNewton::build(NeighList *list) } } else { - // if different types, implement with: - // loop over all atoms in jtype bin + // if different groups, implement with: + // loop over all atoms in jgroup bin // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jtype][jbin]; + js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if(j < i) continue; if (j >= nlocal) { @@ -152,7 +153,8 @@ void NPairHalfMultiNewton::build(NeighList *list) } } - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; @@ -178,20 +180,21 @@ void NPairHalfMultiNewton::build(NeighList *list) } } - // for all types, loop over all atoms in other bins in stencil, store every pair + // for all groups, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { - - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp index fabaf5f202..ebf871ad99 100755 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -28,14 +28,14 @@ NPairHalfMultiNewtonTri::NPairHalfMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfMultiNewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -68,8 +68,8 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -79,14 +79,14 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -97,15 +97,15 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { - // if same size (e.g. same type), use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + // if same size (same group), use half stencil + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -116,8 +116,9 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) } } - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp index 65b6b68fb2..ec4fbad9aa 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -28,7 +28,7 @@ NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) { /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -36,7 +36,7 @@ NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) { void NPairHalfSizeMultiNewtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,ns; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -64,37 +64,38 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all type combinations + // use full stencil for all group combinations - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >=0; j = bins_multi[jgroup][j]) { if (j <= i) continue; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index 8fa3b9bc1b..c3a13f4b81 100755 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -27,14 +27,14 @@ NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfSizeMultiNewton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,ns,js; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -61,35 +61,35 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ // if same size: use half stencil - if(itype == jtype){ + if(igroup == jgroup){ - // if same type, implement with: + // if same group, implement with: // loop over rest of atoms in i's bin, ghosts are at end of linked list // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[itype][i]; + js = bins_multi[igroup][i]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -98,7 +98,8 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) } } - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; @@ -116,14 +117,14 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) } } else { - // if different types, implement with: - // loop over all atoms in jtype bin + // if different groups, implement with: + // loop over all atoms in jgroup bin // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jtype][jbin]; + js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { if(j < i) continue; if (j >= nlocal) { @@ -134,8 +135,9 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) } } - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; @@ -153,20 +155,21 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) } } - // for all types, loop over all atoms in other bins in stencil, store every pair + // for all groups, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 780fa95f0b..7c792c6a19 100755 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -27,14 +27,14 @@ NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lm /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi-type stencil is itype-jtype dependent + multi stencil is igroup-jgroup dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,jbin,ns,js; + int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -61,21 +61,21 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - itype = type[i]; + igroup = map_type_multi[itype]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[itype][i]; + ibin = atom2bin_multi[igroup][i]; - // loop through stencils for all types - for (jtype = 1; jtype <= atom->ntypes; jtype++) { + // loop through stencils for all groups + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { - // if same type use own bin - if(itype == jtype) jbin = ibin; - else jbin = coord2bin(x[i], jtype); + // if same group use own bin + if(igroup == jgroup) jbin = ibin; + else jbin = coord2bin(x[i], jgroup); // loop over all atoms in bins in stencil @@ -87,15 +87,15 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[itype][jtype]; - ns = nstencil_multi[itype][jtype]; + s = stencil_multi[igroup][jgroup]; + ns = nstencil_multi[igroup][jgroup]; for (k = 0; k < ns; k++) { - js = binhead_multi[jtype][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jtype][j]) { + js = binhead_multi[jgroup][jbin + s[k]]; + for (j = js; j >= 0; j = bins_multi[jgroup][j]) { - // if same size (e.g. same type), use half stencil - if(cutneighsq[itype][itype] == cutneighsq[jtype][jtype]){ + // if same size (same group), use half stencil + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; @@ -106,6 +106,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) } } + jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; delx = xtmp - x[j][0]; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index f6281a1964..acd7272245 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -52,14 +52,14 @@ using namespace LAMMPS_NS; cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) for multi: - create one stencil for each itype-jtype pairing - the full/half stencil label refers to the same-type stencil - a half list with newton on has a half same-type stencil - a full list or half list with newton of has a full same-type stencil - cross type stencils are always full to allow small-to-large lookups + create one stencil for each igroup-jgroup pairing + the full/half stencil label refers to the same-group stencil + a half list with newton on has a half same-group stencil + a full list or half list with newton of has a full same-group stencil + cross group stencils are always full to allow small-to-large lookups for orthogonal boxes, a half stencil includes bins to the "upper right" of central bin for triclinic, a half stencil includes bins in the z (3D) or y (2D) plane of self and above - cutoff is not cutneighmaxsq, but max cutoff for that atom type + cutoff is not cutneighmaxsq, but max cutoff for that atom group no versions that allow ghost on (any need for it?) ------------------------------------------------------------------------- */ @@ -81,7 +81,7 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) flag_half_multi = nullptr; flag_skip_multi = nullptr; - bin_type_multi = nullptr; + bin_group_multi = nullptr; dimension = domain->dimension; } @@ -107,10 +107,10 @@ NStencil::~NStencil() if (stencil_multi) { - int n = atom->ntypes; + int n = n_multi_groups; memory->destroy(nstencil_multi); - for (int i = 1; i <= n; i++) { - for (int j = 0; j <= n; j++) { + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { if (! flag_skip_multi[i][j]) memory->destroy(stencil_multi[i][j]); } @@ -120,7 +120,7 @@ NStencil::~NStencil() memory->destroy(maxstencil_multi); memory->destroy(flag_half_multi); memory->destroy(flag_skip_multi); - memory->destroy(bin_type_multi); + memory->destroy(bin_group_multi); memory->destroy(stencil_sx_multi); memory->destroy(stencil_sy_multi); @@ -155,6 +155,10 @@ void NStencil::copy_neighbor_info() cutneighmaxsq = neighbor->cutneighmaxsq; cuttypesq = neighbor->cuttypesq; cutneighsq = neighbor->cutneighsq; + + n_multi_groups = neighbor->n_multi_groups; + map_type_multi = neighbor->map_type_multi; + cutmultisq = neighbor->cutmultisq; // overwrite Neighbor cutoff with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -265,44 +269,44 @@ void NStencil::create_setup() } } } else { - int i, j, bin_type, smax; + int i, j, bin_group, smax; double stencil_range; - int n = atom->ntypes; + int n = n_multi_groups; if(nb) copy_bin_info_multi(); // Allocate arrays to store stencil information - memory->create(flag_half_multi, n+1, n+1, + memory->create(flag_half_multi, n, n, "neighstencil:flag_half_multi"); - memory->create(flag_skip_multi, n+1, n+1, + memory->create(flag_skip_multi, n, n, "neighstencil:flag_skip_multi"); - memory->create(bin_type_multi, n+1, n+1, - "neighstencil:bin_type_multi"); + memory->create(bin_group_multi, n, n, + "neighstencil:bin_group_multi"); - memory->create(stencil_sx_multi, n+1, n+1, + memory->create(stencil_sx_multi, n, n, "neighstencil:stencil_sx_multi"); - memory->create(stencil_sy_multi, n+1, n+1, + memory->create(stencil_sy_multi, n, n, "neighstencil:stencil_sy_multi"); - memory->create(stencil_sz_multi, n+1, n+1, + memory->create(stencil_sz_multi, n, n, "neighstencil:stencil_sz_multi"); - memory->create(stencil_binsizex_multi, n+1, n+1, + memory->create(stencil_binsizex_multi, n, n, "neighstencil:stencil_binsizex_multi"); - memory->create(stencil_binsizey_multi, n+1, n+1, + memory->create(stencil_binsizey_multi, n, n, "neighstencil:stencil_binsizey_multi"); - memory->create(stencil_binsizez_multi, n+1, n+1, + memory->create(stencil_binsizez_multi, n, n, "neighstencil:stencil_binsizez_multi"); - memory->create(stencil_mbinx_multi, n+1, n+1, + memory->create(stencil_mbinx_multi, n, n, "neighstencil:stencil_mbinx_multi"); - memory->create(stencil_mbiny_multi, n+1, n+1, + memory->create(stencil_mbiny_multi, n, n, "neighstencil:stencil_mbiny_multi"); - memory->create(stencil_mbinz_multi, n+1, n+1, + memory->create(stencil_mbinz_multi, n, n, "neighstencil:stencil_mbinz_multi"); // Skip all stencils by default, initialize smax - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { flag_skip_multi[i][j] = 1; } } @@ -313,43 +317,43 @@ void NStencil::create_setup() // Allocate arrays to store stencils if (!maxstencil_multi) { - memory->create(maxstencil_multi, n+1, n+1, "neighstencil::stencil_multi"); - memory->create(nstencil_multi, n+1, n+1, "neighstencil::nstencil_multi"); - stencil_multi = new int**[n+1](); - for (i = 1; i <= n; ++i) { - stencil_multi[i] = new int*[n+1](); - for (j = 1; j <= n; ++j) { + memory->create(maxstencil_multi, n, n, "neighstencil::stencil_multi"); + memory->create(nstencil_multi, n, n, "neighstencil::nstencil_multi"); + stencil_multi = new int**[n](); + for (i = 0; i < n; ++i) { + stencil_multi[i] = new int*[n](); + for (j = 0; j < n; ++j) { maxstencil_multi[i][j] = 0; nstencil_multi[i][j] = 0; } } } - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { // Skip creation of unused stencils if (flag_skip_multi[i][j]) continue; // Copy bin info for this pair of atom types - bin_type = bin_type_multi[i][j]; + bin_group = bin_group_multi[i][j]; - stencil_binsizex_multi[i][j] = binsizex_multi[bin_type]; - stencil_binsizey_multi[i][j] = binsizey_multi[bin_type]; - stencil_binsizez_multi[i][j] = binsizez_multi[bin_type]; + stencil_binsizex_multi[i][j] = binsizex_multi[bin_group]; + stencil_binsizey_multi[i][j] = binsizey_multi[bin_group]; + stencil_binsizez_multi[i][j] = binsizez_multi[bin_group]; - stencil_mbinx_multi[i][j] = mbinx_multi[bin_type]; - stencil_mbiny_multi[i][j] = mbiny_multi[bin_type]; - stencil_mbinz_multi[i][j] = mbinz_multi[bin_type]; + stencil_mbinx_multi[i][j] = mbinx_multi[bin_group]; + stencil_mbiny_multi[i][j] = mbiny_multi[bin_group]; + stencil_mbinz_multi[i][j] = mbinz_multi[bin_group]; - stencil_range = sqrt(cutneighsq[i][j]); + stencil_range = sqrt(cutmultisq[i][j]); - sx = static_cast (stencil_range*bininvx_multi[bin_type]); - if (sx*binsizex_multi[bin_type] < stencil_range) sx++; - sy = static_cast (stencil_range*bininvy_multi[bin_type]); - if (sy*binsizey_multi[bin_type] < stencil_range) sy++; - sz = static_cast (stencil_range*bininvz_multi[bin_type]); - if (sz*binsizez_multi[bin_type] < stencil_range) sz++; + sx = static_cast (stencil_range*bininvx_multi[bin_group]); + if (sx*binsizex_multi[bin_group] < stencil_range) sx++; + sy = static_cast (stencil_range*bininvy_multi[bin_group]); + if (sy*binsizey_multi[bin_group] < stencil_range) sy++; + sz = static_cast (stencil_range*bininvz_multi[bin_group]); + if (sz*binsizez_multi[bin_group] < stencil_range) sz++; stencil_sx_multi[i][j] = sx; stencil_sy_multi[i][j] = sy; @@ -393,24 +397,24 @@ double NStencil::bin_distance(int i, int j, int k) /* ---------------------------------------------------------------------- - compute closest distance for a given atom type + compute closest distance for a given atom grouping ------------------------------------------------------------------------- */ -double NStencil::bin_distance_multi(int i, int j, int k, int type) +double NStencil::bin_distance_multi(int i, int j, int k, int group) { double delx,dely,delz; - if (i > 0) delx = (i-1)*binsizex_multi[type]; + if (i > 0) delx = (i-1)*binsizex_multi[group]; else if (i == 0) delx = 0.0; - else delx = (i+1)*binsizex_multi[type]; + else delx = (i+1)*binsizex_multi[group]; - if (j > 0) dely = (j-1)*binsizey_multi[type]; + if (j > 0) dely = (j-1)*binsizey_multi[group]; else if (j == 0) dely = 0.0; - else dely = (j+1)*binsizey_multi[type]; + else dely = (j+1)*binsizey_multi[group]; - if (k > 0) delz = (k-1)*binsizez_multi[type]; + if (k > 0) delz = (k-1)*binsizez_multi[group]; else if (k == 0) delz = 0.0; - else delz = (k+1)*binsizez_multi[type]; + else delz = (k+1)*binsizez_multi[group]; return (delx*delx + dely*dely + delz*delz); } @@ -427,9 +431,9 @@ double NStencil::memory_usage() bytes += atom->ntypes*maxstencil_multi_old * sizeof(int); bytes += atom->ntypes*maxstencil_multi_old * sizeof(double); } else if (neighstyle == Neighbor::MULTI) { - int n = atom->ntypes; - for (int i = 1; i <= n; i++) { - for (int j = 1; j <= n; j++) { + int n = n_multi_groups; + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { bytes += maxstencil_multi[i][j] * sizeof(int); bytes += maxstencil_multi[i][j] * sizeof(int); bytes += maxstencil_multi[i][j] * sizeof(double); diff --git a/src/nstencil.h b/src/nstencil.h index 9ca8bab55d..b06f340d6f 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -44,7 +44,7 @@ class NStencil : protected Pointers { // Arrays to store options for multi itype-jtype stencils bool **flag_half_multi; // flag creation of a half stencil for itype-jtype bool **flag_skip_multi; // skip creation of itype-jtype stencils (for newton on) - int **bin_type_multi; // what type to use for bin information + int **bin_group_multi; // what group to use for bin information NStencil(class LAMMPS *); virtual ~NStencil(); @@ -66,7 +66,10 @@ class NStencil : protected Pointers { double cutneighmaxsq; double *cuttypesq; double **cutneighsq; - + double **cutmultisq; + int n_multi_groups; + int *map_type_multi; + // data from NBin class int mbinx,mbiny,mbinz; diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_2d.cpp index 61557f2d00..4c96f41a56 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -29,16 +29,16 @@ NStencilFullMulti2d::NStencilFullMulti2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMulti2d::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; // Always look up neighbor using full stencil and neighbor's bin - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { flag_half_multi[i][j] = 0; flag_skip_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -49,33 +49,33 @@ void NStencilFullMulti2d::set_stencil_properties() void NStencilFullMulti2d::create() { - int itype, jtype, bin_type, i, j, k, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, k, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_3d.cpp index f4935b70e0..bc76433723 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -29,17 +29,17 @@ NStencilFullMulti3d::NStencilFullMulti3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMulti3d::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; // Always look up neighbor using full stencil and neighbor's bin // Stencil cutoff set by i-j cutoff - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { flag_half_multi[i][j] = 0; flag_skip_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -50,37 +50,37 @@ void NStencilFullMulti3d::set_stencil_properties() void NStencilFullMulti3d::create() { - int itype, jtype, bin_type, i, j, k, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, k, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; - sz = stencil_sz_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; + sz = stencil_sz_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; - mbinz = stencil_mbinz_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinz = stencil_mbinz_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = k*mbiny*mbinx + j*mbinx + i; - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index b407746602..8be8a1c151 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti2d::NStencilHalfMulti2d(LAMMPS *lmp) : void NStencilHalfMulti2d::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; - // Cross types: use full stencil, looking one way through hierarchy + // Cross groups: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { - if(cutneighsq[i][i] > cutneighsq[j][j]) continue; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { + if(cutmultisq[i][i] > cutmultisq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutneighsq[i][i] == cutneighsq[j][j]){ + if(cutmultisq[i][i] == cutmultisq[j][j]){ flag_half_multi[i][j] = 1; - bin_type_multi[i][j] = i; + bin_group_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -61,42 +61,42 @@ void NStencilHalfMulti2d::set_stencil_properties() void NStencilHalfMulti2d::create() { - int itype, jtype, bin_type, i, j, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; - if (flag_half_multi[itype][jtype]) { + if (flag_half_multi[igroup][jgroup]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,0,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; } - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp index cd9f85da60..4a4e74c4a0 100755 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti2dTri::NStencilHalfMulti2dTri(LAMMPS *lmp) : void NStencilHalfMulti2dTri::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; - // Cross types: use full stencil, looking one way through hierarchy + // Cross groups: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { - if(cutneighsq[i][i] > cutneighsq[j][j]) continue; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { + if(cutmultisq[i][i] > cutmultisq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutneighsq[i][i] == cutneighsq[j][j]){ + if(cutmultisq[i][i] == cutmultisq[j][j]){ flag_half_multi[i][j] = 1; - bin_type_multi[i][j] = i; + bin_group_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -61,40 +61,40 @@ void NStencilHalfMulti2dTri::set_stencil_properties() void NStencilHalfMulti2dTri::create() { - int itype, jtype, bin_type, i, j, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; - if (flag_half_multi[itype][jtype]) { + if (flag_half_multi[igroup][jgroup]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; } - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_3d.cpp index d66cfe98b9..ad4970603c 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti3d::NStencilHalfMulti3d(LAMMPS *lmp) : void NStencilHalfMulti3d::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; - // Cross types: use full stencil, looking one way through hierarchy + // Cross groups: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { - if(cutneighsq[i][i] > cutneighsq[j][j]) continue; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { + if(cutmultisq[i][i] > cutmultisq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutneighsq[i][i] == cutneighsq[j][j]){ + if(cutmultisq[i][i] == cutmultisq[j][j]){ flag_half_multi[i][j] = 1; - bin_type_multi[i][j] = i; + bin_group_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -61,48 +61,48 @@ void NStencilHalfMulti3d::set_stencil_properties() void NStencilHalfMulti3d::create() { - int itype, jtype, bin_type, i, j, k, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, k, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; - sz = stencil_sz_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; + sz = stencil_sz_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; - mbinz = stencil_mbinz_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinz = stencil_mbinz_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; - if (flag_half_multi[itype][jtype]) { + if (flag_half_multi[igroup][jgroup]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,k,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = k*mbiny*mbinx + j*mbinx + i; } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp index e4a5747ca6..779f0865a5 100755 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti3dTri::NStencilHalfMulti3dTri(LAMMPS *lmp) : void NStencilHalfMulti3dTri::set_stencil_properties() { - int n = atom->ntypes; + int n = n_multi_groups; int i, j; - // Cross types: use full stencil, looking one way through hierarchy + // Cross groups: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil - for (i = 1; i <= n; i++) { - for (j = 1; j <= n; j++) { - if(cutneighsq[i][i] > cutneighsq[j][j]) continue; + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { + if(cutmultisq[i][i] > cutmultisq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutneighsq[i][i] == cutneighsq[j][j]){ + if(cutmultisq[i][i] == cutmultisq[j][j]){ flag_half_multi[i][j] = 1; - bin_type_multi[i][j] = i; + bin_group_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_type_multi[i][j] = j; + bin_group_multi[i][j] = j; } } } @@ -61,46 +61,46 @@ void NStencilHalfMulti3dTri::set_stencil_properties() void NStencilHalfMulti3dTri::create() { - int itype, jtype, bin_type, i, j, k, ns; - int n = atom->ntypes; + int igroup, jgroup, bin_group, i, j, k, ns; + int n = n_multi_groups; double cutsq; - for (itype = 1; itype <= n; itype++) { - for (jtype = 1; jtype <= n; jtype++) { - if (flag_skip_multi[itype][jtype]) continue; + for (igroup = 0; igroup < n; igroup++) { + for (jgroup = 0; jgroup < n; jgroup++) { + if (flag_skip_multi[igroup][jgroup]) continue; ns = 0; - sx = stencil_sx_multi[itype][jtype]; - sy = stencil_sy_multi[itype][jtype]; - sz = stencil_sz_multi[itype][jtype]; + sx = stencil_sx_multi[igroup][jgroup]; + sy = stencil_sy_multi[igroup][jgroup]; + sz = stencil_sz_multi[igroup][jgroup]; - mbinx = stencil_mbinx_multi[itype][jtype]; - mbiny = stencil_mbiny_multi[itype][jtype]; - mbinz = stencil_mbinz_multi[itype][jtype]; + mbinx = stencil_mbinx_multi[igroup][jgroup]; + mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinz = stencil_mbinz_multi[igroup][jgroup]; - bin_type = bin_type_multi[itype][jtype]; + bin_group = bin_group_multi[igroup][jgroup]; - cutsq = cutneighsq[itype][jtype]; + cutsq = cutmultisq[igroup][jgroup]; - if (flag_half_multi[itype][jtype]) { + if (flag_half_multi[igroup][jgroup]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_type) < cutsq) - stencil_multi[itype][jtype][ns++] = + if (bin_distance_multi(i,j,k,bin_group) < cutsq) + stencil_multi[igroup][jgroup][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi[itype][jtype] = ns; + nstencil_multi[igroup][jgroup] = ns; } } } From a88fab75587bfbe6e86fd65a20fe5f081c89538c Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 26 Dec 2020 11:07:48 -0700 Subject: [PATCH 058/542] Missed typos in user-omp --- src/USER-OMP/npair_half_multi_newton_tri_omp.cpp | 2 +- src/USER-OMP/npair_half_size_multi_newton_omp.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index 0289967d30..2e4cf0ec19 100755 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -118,7 +118,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) for (j = js; j >= 0; j = bins_multi[jgroup][j]) { // if same size (same group), use half stencil - if(cutmultisq[igroup][igroup] == cutmutlisq[jgroup][jgroup]){ + if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp index 974b8c5809..87b4fa1601 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -83,7 +83,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) ibin = atom2bin_multi[igroup][i]; // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_group; jgroup++) { + for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { // if same group use own bin if(igroup == jgroup) jbin = ibin; From 50be21902ef87bd6a789144f509ac919812861f0 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 26 Dec 2020 16:00:33 -0700 Subject: [PATCH 059/542] Reducing memory consumption for multi --- src/USER-OMP/npair_full_multi_omp.cpp | 4 +- src/USER-OMP/npair_half_multi_newtoff_omp.cpp | 4 +- src/USER-OMP/npair_half_multi_newton_omp.cpp | 10 ++--- .../npair_half_multi_newton_tri_omp.cpp | 4 +- .../npair_half_size_multi_newtoff_omp.cpp | 4 +- .../npair_half_size_multi_newton_omp.cpp | 10 ++--- .../npair_half_size_multi_newton_tri_omp.cpp | 4 +- src/nbin.cpp | 8 +--- src/nbin.h | 2 - src/nbin_multi.cpp | 37 +++++++------------ src/npair.cpp | 2 - src/npair.h | 3 +- src/npair_full_multi.cpp | 4 +- src/npair_half_multi_newtoff.cpp | 4 +- src/npair_half_multi_newton.cpp | 10 ++--- src/npair_half_multi_newton_tri.cpp | 4 +- src/npair_half_size_multi_newtoff.cpp | 4 +- src/npair_half_size_multi_newton.cpp | 10 ++--- src/npair_half_size_multi_newton_tri.cpp | 4 +- 19 files changed, 56 insertions(+), 76 deletions(-) diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/USER-OMP/npair_full_multi_omp.cpp index 11b8bae196..4b38e660d4 100755 --- a/src/USER-OMP/npair_full_multi_omp.cpp +++ b/src/USER-OMP/npair_full_multi_omp.cpp @@ -90,7 +90,7 @@ void NPairFullMultiOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -108,7 +108,7 @@ void NPairFullMultiOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (i == j) continue; jtype = type[j]; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp index e3e03ee8ed..93d150f445 100755 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp @@ -92,7 +92,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -112,7 +112,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jgroup][j]) { + for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp index 28db1b3c0d..a7a3e6d6f7 100755 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -91,7 +91,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -110,9 +110,9 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[igroup][i]; + js = bins[i]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -154,7 +154,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if(j < i) continue; if (j >= nlocal) { @@ -202,7 +202,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index 2e4cf0ec19..b5882580a8 100755 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -92,7 +92,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -115,7 +115,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { // if same size (same group), use half stencil if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp index 35cfaad5e6..0d588b2f24 100755 --- a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp @@ -81,7 +81,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -101,7 +101,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jgroup][j]) { + for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp index 87b4fa1601..0137873600 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -80,7 +80,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -99,9 +99,9 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[igroup][i]; + js = bins[i]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -136,7 +136,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if(j < i) continue; if (j >= nlocal) { @@ -177,7 +177,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp index d1c5a97498..396e870846 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp @@ -81,7 +81,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -105,7 +105,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { // if same size (same group), use half stencil if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ diff --git a/src/nbin.cpp b/src/nbin.cpp index cb10014b36..c28c22882c 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -40,8 +40,6 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) binsizex_multi = nullptr; binsizey_multi = nullptr; binsizez_multi = nullptr; bininvx_multi = nullptr; bininvy_multi = nullptr; bininvz_multi = nullptr; binhead_multi = nullptr; - bins_multi = nullptr; - atom2bin_multi = nullptr; maxbins_multi = nullptr; map_type_multi = nullptr; @@ -67,7 +65,7 @@ NBin::~NBin() memory->destroy(bins); memory->destroy(atom2bin); - if (!bins_multi) return; + if (!binhead_multi) return; memory->destroy(nbinx_multi); memory->destroy(nbiny_multi); @@ -89,12 +87,8 @@ NBin::~NBin() for (int n = 0; n < maxgroups; n++) { memory->destroy(binhead_multi[n]); - memory->destroy(bins_multi[n]); - memory->destroy(atom2bin_multi[n]); } delete [] binhead_multi; - delete [] bins_multi; - delete [] atom2bin_multi; memory->destroy(maxbins_multi); } diff --git a/src/nbin.h b/src/nbin.h index 19035d619e..e31e5bab99 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -48,8 +48,6 @@ class NBin : protected Pointers { double *bininvx_multi, *bininvy_multi, *bininvz_multi; int **binhead_multi; - int **bins_multi; - int **atom2bin_multi; NBin(class LAMMPS *); ~NBin(); diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index b39489c3fe..b8832bdfea 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -46,19 +46,16 @@ void NBinMulti::bin_atoms_setup(int nall) } } - // bins_multi[n] and atom2bin_multi[n] = per-atom vectors + // bins and atom2bin = per-atom vectors // for both local and ghost atoms - - // TODO: maxatom should be maxatom per group + // for multi, bins and atom2bin correspond to different binlists if (nall > maxatom) { maxatom = nall; - for (int n = 0; n < maxgroups; n++) { - memory->destroy(bins_multi[n]); - memory->destroy(atom2bin_multi[n]); - memory->create(bins_multi[n], maxatom, "neigh:bin_multi"); - memory->create(atom2bin_multi[n], maxatom, "neigh:atom2bin_multi"); - } + memory->destroy(bins); + memory->create(bins,maxatom,"neigh:bins"); + memory->destroy(atom2bin); + memory->create(atom2bin,maxatom,"neigh:atom2bin"); } } @@ -90,22 +87,16 @@ void NBinMulti::setup_bins(int style) // Clear any/all memory for existing types - for (n = 0; n < maxgroups; n++) { - memory->destroy(atom2bin_multi[n]); + for (n = 0; n < maxgroups; n++) memory->destroy(binhead_multi[n]); - memory->destroy(bins_multi[n]); - } - delete [] atom2bin_multi; + delete [] binhead_multi; - delete [] bins_multi; // Realloacte at updated maxtypes maxgroups = n_multi_groups; - atom2bin_multi = new int*[maxgroups](); binhead_multi = new int*[maxgroups](); - bins_multi = new int*[maxgroups](); memory->destroy(nbinx_multi); memory->destroy(nbiny_multi); @@ -321,24 +312,24 @@ void NBinMulti::bin_atoms() if (mask[i] & bitmask) { n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); - atom2bin_multi[n][i] = ibin; - bins_multi[n][i] = binhead_multi[n][ibin]; + atom2bin[i] = ibin; + bins[i] = binhead_multi[n][ibin]; binhead_multi[n][ibin] = i; } } for (i = atom->nfirst-1; i >= 0; i--) { n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); - atom2bin_multi[n][i] = ibin; - bins_multi[n][i] = binhead_multi[n][ibin]; + atom2bin[i] = ibin; + bins[i] = binhead_multi[n][ibin]; binhead_multi[n][ibin] = i; } } else { for (i = nall-1; i >= 0; i--) { n = map_type_multi[type[i]]; ibin = coord2bin_multi(x[i], n); - atom2bin_multi[n][i] = ibin; - bins_multi[n][i] = binhead_multi[n][ibin]; + atom2bin[i] = ibin; + bins[i] = binhead_multi[n][ibin]; binhead_multi[n][ibin] = i; } } diff --git a/src/npair.cpp b/src/npair.cpp index b2ecc953ea..facd9086d1 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -156,8 +156,6 @@ void NPair::copy_bin_info() bininvy_multi = nb->bininvy_multi; bininvz_multi = nb->bininvz_multi; - atom2bin_multi = nb->atom2bin_multi; - bins_multi = nb->bins_multi; binhead_multi = nb->binhead_multi; } diff --git a/src/npair.h b/src/npair.h index 4d99e3a8e6..d1fcf2e6b2 100644 --- a/src/npair.h +++ b/src/npair.h @@ -87,8 +87,7 @@ class NPair : protected Pointers { int *mbinx_multi, *mbiny_multi, *mbinz_multi; int *mbinxlo_multi, *mbinylo_multi, *mbinzlo_multi; double *bininvx_multi, *bininvy_multi, *bininvz_multi; - int **binhead_multi,**bins_multi; - int **atom2bin_multi; + int **binhead_multi; // data from NStencil class diff --git a/src/npair_full_multi.cpp b/src/npair_full_multi.cpp index f29f04107a..c78f7b2d1d 100644 --- a/src/npair_full_multi.cpp +++ b/src/npair_full_multi.cpp @@ -78,7 +78,7 @@ void NPairFullMulti::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -96,7 +96,7 @@ void NPairFullMulti::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (i == j) continue; jtype = type[j]; diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_newtoff.cpp index 85832b11b1..11bab91e6a 100755 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -80,7 +80,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -100,7 +100,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jgroup][j]) { + for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index d18b009460..777aab5826 100755 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -79,7 +79,7 @@ void NPairHalfMultiNewton::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -98,9 +98,9 @@ void NPairHalfMultiNewton::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[igroup][i]; + js = bins[i]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -142,7 +142,7 @@ void NPairHalfMultiNewton::build(NeighList *list) js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if(j < i) continue; if (j >= nlocal) { @@ -190,7 +190,7 @@ void NPairHalfMultiNewton::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp index ebf871ad99..6969c9cfab 100755 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -79,7 +79,7 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) tagprev = tag[i] - iatom - 1; } - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -102,7 +102,7 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { // if same size (same group), use half stencil if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp index ec4fbad9aa..e361bbce76 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -71,7 +71,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -91,7 +91,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >=0; j = bins_multi[jgroup][j]) { + for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index c3a13f4b81..500e06bc35 100755 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -68,7 +68,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -87,9 +87,9 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - js = bins_multi[igroup][i]; + js = bins[i]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if (j >= nlocal) { if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { @@ -124,7 +124,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { if(j < i) continue; if (j >= nlocal) { @@ -165,7 +165,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 7c792c6a19..0000f7b4d3 100755 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -68,7 +68,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) ztmp = x[i][2]; radi = radius[i]; - ibin = atom2bin_multi[igroup][i]; + ibin = atom2bin[i]; // loop through stencils for all groups for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { @@ -92,7 +92,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jgroup][jbin + s[k]]; - for (j = js; j >= 0; j = bins_multi[jgroup][j]) { + for (j = js; j >= 0; j = bins[j]) { // if same size (same group), use half stencil if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ From d5f34f62967070da33a64f9dd800bf93267be9dd Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 8 Jan 2021 15:27:23 -0700 Subject: [PATCH 060/542] Examples and documentation --- doc/src/comm_modify.rst | 16 +- doc/src/neigh_modify.rst | 20 +- doc/src/neighbor.rst | 32 +-- examples/multi/in.colloid | 67 +++++++ examples/multi/in.granular | 58 ++++++ examples/multi/log.30Nov20.colloid.intel.1 | 183 ++++++++++++++++++ examples/multi/log.30Nov20.colloid.intel.4 | 183 ++++++++++++++++++ .../multi/log.30Nov20.colloid.old.intel.1 | 183 ++++++++++++++++++ .../multi/log.30Nov20.colloid.old.intel.4 | 183 ++++++++++++++++++ examples/multi/log.30Nov20.granular.intel.1 | 175 +++++++++++++++++ examples/multi/log.30Nov20.granular.intel.4 | 175 +++++++++++++++++ .../multi/log.30Nov20.granular.old.intel.1 | 175 +++++++++++++++++ .../multi/log.30Nov20.granular.old.intel.4 | 175 +++++++++++++++++ src/comm.cpp | 2 + 14 files changed, 1604 insertions(+), 23 deletions(-) create mode 100644 examples/multi/in.colloid create mode 100644 examples/multi/in.granular create mode 100644 examples/multi/log.30Nov20.colloid.intel.1 create mode 100644 examples/multi/log.30Nov20.colloid.intel.4 create mode 100644 examples/multi/log.30Nov20.colloid.old.intel.1 create mode 100644 examples/multi/log.30Nov20.colloid.old.intel.4 create mode 100644 examples/multi/log.30Nov20.granular.intel.1 create mode 100644 examples/multi/log.30Nov20.granular.intel.4 create mode 100644 examples/multi/log.30Nov20.granular.old.intel.1 create mode 100644 examples/multi/log.30Nov20.granular.old.intel.4 diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 895d3cf4fd..5f084561a1 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -66,9 +66,10 @@ For many systems this is an efficient algorithm, but for systems with widely varying cutoffs for different type pairs, the *multi* mode can be faster. In this case, each atom type is assigned its own distance cutoff for communication purposes, and fewer atoms will be -communicated. See the :doc:`neighbor multi ` command for a +communicated. See the :doc:`neighbor multi ` command for a neighbor list construction option that may also be beneficial for -simulations of this kind. +simulations of this kind. The *multi* mode is compatable with both the +*multi* and *multi/old* neighbor styles. The *cutoff* keyword allows you to extend the ghost cutoff distance for communication mode *single*\ , which is the distance from the borders @@ -95,11 +96,12 @@ using the usual asterisk notation can be given. For granular pair styles, the default cutoff is set to the sum of the current maximum atomic radii for each type. -The *cutoff/bytype* option applies to *multi* and automtically sets communication -cutoffs for each particle type based on the largest interaction distance -between two particles of the same type. This method is only compatible -with Newton on and the *bytype* neighbor style. See the :doc:`neighbor bytype ` -command for more information. +The *multi/reduce* option applies to *multi* and automatically sets communication +cutoffs for different sized particles based on the largest interaction distance +between two particles in the same multi grouping. This reduces the number of +ghost that need to be communicated This method is only compatible with the +*multi* neighbor style and requires only half neighbor lists and Newton on. +See the :doc:`neighbor multi ` command for more information. These are simulation scenarios in which it may be useful or even necessary to set a ghost cutoff > neighbor cutoff: diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index 2618953dd7..33f24af96e 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -14,7 +14,7 @@ Syntax .. parsed-literal:: - keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* + keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* or *multi/custom* *delay* value = N N = delay building until this many steps since last build *every* value = M @@ -47,6 +47,9 @@ Syntax N = max number of neighbors of one atom *binsize* value = size size = bin size for neighbor list construction (distance units) + *multi/custom* values = N types + N = number of custom groups + types = N separate types or groups of types (see below) Examples """""""" @@ -58,6 +61,7 @@ Examples neigh_modify exclude group frozen frozen check no neigh_modify exclude group residue1 chain3 neigh_modify exclude molecule/intra rigid + neigh_modify multi/custom 2 1*2 3*4 Description """"""""""" @@ -197,6 +201,20 @@ small, the optimal number of atoms is checked, but bin overhead goes up. If you set the binsize to 0.0, LAMMPS will use the default binsize of 1/2 the cutoff. +The *multi/custom* option allows you to define custom groups of atom +types for the *multi* neighbor mode. By grouping atom types with +similar cutoffs, one may be able to improve performance by reducing +overhead. You must first specify the number of custom groups N to be +defined followed by N ranges of types. The range can be specified as a +single numeric value, or a wildcard asterisk can be used to specify a range +of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For +example, if N = the number of atom types, then an asterisk with no numeric +values means all types from 1 to N. A leading asterisk means all types +from 1 to n (inclusive). A trailing asterisk means all types from n to N +(inclusive). A middle asterisk means all types from m to n (inclusive). +Note that any atom types not included in a custom group will be automatically +placed within a new, separate group. + Restrictions """""""""""" diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index f638160d21..52d59dae75 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -11,7 +11,7 @@ Syntax neighbor skin style * skin = extra distance beyond force cutoff (distance units) -* style = *bin* or *nsq* or *multi* or *bytype* +* style = *bin* or *nsq* or *multi* or *multi/old* Examples """""""" @@ -55,22 +55,24 @@ For the *bin* style, the bin size is set to 1/2 of the largest cutoff distance between any pair of atom types and a single set of bins is defined to search over for all atom types. This can be inefficient if one pair of types has a very long cutoff, but -other type pairs have a much shorter cutoff. For style *multi* the -bin size is set to 1/2 of the shortest cutoff distance and multiple -sets of bins are defined to search over for different atom types. +other type pairs have a much shorter cutoff. The *multi* style uses +different sized bins for groups of different sized particles. Different +sets of bins are then used to construct the neighbor lists as as further +described by Shire, Hanley, and Stratford :ref:`(Shire) `. This imposes some extra setup overhead, but the searches themselves -may be much faster for the short-cutoff cases. -See the :doc:`comm_modify mode multi ` command for a -communication option that may also be beneficial for simulations of -this kind. +may be much faster. By default, separate groups of particles are defined +for each atom type. For systems with two or more types with similar +cutoffs, one can reduce the extra overhead by defining custom groupings +using the :doc:`neigh_modify ` command. See the +:doc:`comm_modify mode bytype ` command for compatible +communication options that may be beneficial for simulations of this kind. -The *bytype* style is an extension of the *multi* style that was -presented by Shire, Hanley, and Stratford :ref:`(Shire) `. -For style *bytype*, different bin lists are created for each different -type and separate bin sizes are generated. Whether *bytype* or *multi* -is faster may depend on the specifics of your system. See the -:doc:`comm_modify mode bytype ` command for a compatible -communication option. +An alternate style, *multi/old*, sets the bin size to 1/2 of the shortest +cutoff distance and multiple sets of bins are defined to search over for +different atom types. This algorithm used to be the default *multi* +algorithm in LAMMPS but was found to be significantly slower than the new +approach. Although, there may be instances where the *multi/old* style +could outperform the new style. The :doc:`neigh_modify ` command has additional options that control how often neighbor lists are built and which pairs are diff --git a/examples/multi/in.colloid b/examples/multi/in.colloid new file mode 100644 index 0000000000..b332560777 --- /dev/null +++ b/examples/multi/in.colloid @@ -0,0 +1,67 @@ +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.1 +region box block 0 60 0 60 -0.5 0.5 +create_box 5 box +create_atoms 1 box + +#Roughly equally partition atoms between types 1-4 +set group all type/fraction 2 0.500 23984 +set group all type/fraction 3 0.333 43684 +set group all type/fraction 4 0.250 87811 + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 60.0 60.0 0.0 30.0 units box +region sphere2 sphere 130.0 130.0 0.0 30.0 units box +delete_atoms region sphere1 +delete_atoms region sphere2 +create_atoms 5 single 60.0 60.0 0.0 units box +create_atoms 5 single 130.0 130.0 0.0 units box + +set type 1 mass 400 +set type 2 mass 1 + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #multi/old +neigh_modify delay 0 multi/custom 2 1*4 5 +comm_modify mode multi multi/reduce + +# colloid potential + +pair_style colloid 20.0 +pair_coeff * * 144.0 1.0 0.0 0.0 3.0 +pair_coeff 1 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 2 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 3 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 4 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 + + + +fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 & + mtk no pchain 0 tchain 1 +fix 2 all enforce2d + +#dump 1 all atom 1000 dump.colloid + +#dump 2 all image 1000 image.*.jpg type type & +# zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type & +# zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 diff --git a/examples/multi/in.granular b/examples/multi/in.granular new file mode 100644 index 0000000000..00dd4ad2bb --- /dev/null +++ b/examples/multi/in.granular @@ -0,0 +1,58 @@ +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.5 +region box block 0 60 0 60 -0.5 0.5 +create_box 2 box +create_atoms 1 box +change_box all triclinic + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 20.0 20.0 0.0 10.0 units box +region sphere2 sphere 60.0 60.0 0.0 10.0 units box +delete_atoms region sphere1 +delete_atoms region sphere2 +create_atoms 2 single 20.0 20.0 0.0 units box +create_atoms 2 single 60.0 60.0 0.0 units box + +set type 2 mass 400 +set type 1 mass 1 +set type 2 diameter 20 +set type 1 diameter 1 + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #multi/old +neigh_modify delay 0 +comm_modify mode multi vel yes multi/reduce + +# colloid potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 +fix 2 all enforce2d +fix 3 all deform 1 xy erate 1e-3 + +#dump 1 all custom 1000 dump.granular id x y z radius + +#dump 2 all image 1000 image.*.jpg type type & +# zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type & +# zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 diff --git a/examples/multi/log.30Nov20.colloid.intel.1 b/examples/multi/log.30Nov20.colloid.intel.1 new file mode 100644 index 0000000000..2bc82eaab0 --- /dev/null +++ b/examples/multi/log.30Nov20.colloid.intel.1 @@ -0,0 +1,183 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.1 +Lattice spacing in x,y,z = 3.1622777 3.1622777 3.1622777 +region box block 0 60 0 60 -0.5 0.5 +create_box 5 box +Created orthogonal box = (0.0000000 0.0000000 -1.5811388) to (189.73666 189.73666 1.5811388) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds + +#Roughly equally partition atoms between types 1-4 +set group all type/fraction 2 0.500 23984 +Setting atom values ... + 1768 settings made for type/fraction +set group all type/fraction 3 0.333 43684 +Setting atom values ... + 1255 settings made for type/fraction +set group all type/fraction 4 0.250 87811 +Setting atom values ... + 927 settings made for type/fraction + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 60.0 60.0 0.0 30.0 units box +region sphere2 sphere 130.0 130.0 0.0 30.0 units box +delete_atoms region sphere1 +Deleted 289 atoms, new total = 3311 +delete_atoms region sphere2 +Deleted 287 atoms, new total = 3024 +create_atoms 5 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 5 single 130.0 130.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 1 mass 400 +Setting atom values ... + 753 settings made for mass +set type 2 mass 1 +Setting atom values ... + 722 settings made for mass + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #/old +neigh_modify delay 0 multi/custom 2 1*4 5 +comm_modify mode multi multi/reduce + +# colloid potential + +pair_style colloid 20.0 +pair_coeff * * 144.0 1.0 0.0 0.0 3.0 +pair_coeff 1 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 2 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 3 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 4 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 + + + +fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 +fix 2 all enforce2d + +dump 1 all atom 1000 dump.colloid + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 31 + ghost atom cutoff = 31 + binsize = 2, bins = 95 95 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair colloid, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 5.538 | 5.538 | 5.538 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395241 0.121 36000 + 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 + 2000 1.8589993 -0.11434676 1.7440382 0.097157151 58590.69 + 3000 1.8984314 -0.093445816 1.8043582 0.07444246 77824.12 + 4000 1.9603204 -0.07451891 1.8851536 0.066010381 90951.299 + 5000 2.0298924 -0.073898174 1.9553234 0.075791214 90146.92 + 6000 2.0797015 -0.086800285 1.992214 0.082095164 78182.702 + 7000 2.0867886 -0.10960963 1.9764893 0.10103655 63990.386 + 8000 2.0803886 -0.12736298 1.9523381 0.12561727 52648.372 + 9000 2.0605661 -0.14572043 1.9141648 0.15154081 44589.764 + 10000 2.0636909 -0.18556771 1.8774412 0.1604707 38996.941 + 11000 2.0498344 -0.20303461 1.8461224 0.18295046 34927.993 + 12000 2.0466611 -0.2217963 1.8241884 0.23031182 31760.363 + 13000 2.0441824 -0.24716826 1.7963386 0.22167931 29178.226 + 14000 2.047513 -0.26988172 1.7769547 0.24070752 26991.372 + 15000 2.0154283 -0.26144354 1.7533187 0.27587713 25247.715 + 16000 2.0160849 -0.28106984 1.7343488 0.32297139 23703.607 + 17000 2.0184729 -0.31071368 1.7070922 0.29815613 22300.6 + 18000 2.0237288 -0.33944941 1.6836106 0.3262795 21098.856 + 19000 2.0329827 -0.35438937 1.6779215 0.33691952 19989.867 + 20000 2.021113 -0.37316841 1.6472766 0.39687648 18978.666 + 21000 2.0352439 -0.40857976 1.6259915 0.38632613 18146.277 + 22000 2.0158566 -0.41271329 1.6024771 0.41480502 17409.593 + 23000 2.0170409 -0.42611776 1.5902566 0.40446612 16748.968 + 24000 2.0108878 -0.43899286 1.5712304 0.42075035 16086.941 + 25000 2.0218394 -0.47012156 1.5510497 0.46655183 15460.154 + 26000 2.0100713 -0.47985916 1.5295479 0.45575323 15013.774 + 27000 2.0251738 -0.5016665 1.5228381 0.50151992 14591.521 + 28000 2.0062966 -0.50284394 1.5027897 0.5462034 14135.093 + 29000 2.0146666 -0.53126035 1.4827405 0.60379062 13725.945 + 30000 2.0036455 -0.53246643 1.4705169 0.56784088 13417.305 + 31000 2.0127662 -0.54487777 1.4672233 0.6427741 13139.392 + 32000 2.0221816 -0.5625554 1.4589579 0.60695012 12779.609 + 33000 2.024983 -0.59515221 1.4291616 0.60005385 12584.572 + 34000 2.0184045 -0.59033569 1.4274018 0.62519753 12355.49 + 35000 2.0155635 -0.61190466 1.4029927 0.71044196 12106.819 + 36000 2.0252503 -0.61581601 1.408765 0.68805882 11728.608 + 37000 2.0112487 -0.64540754 1.3651765 0.66981639 11475.772 + 38000 2.0147475 -0.64161981 1.3724619 0.71130901 11285.511 + 39000 2.0213092 -0.67174661 1.3488946 0.6969697 11044.647 + 40000 2.0178739 -0.67924699 1.3379601 0.77309897 10824.198 + 41000 1.9952353 -0.67490899 1.3196669 0.76592358 10646.649 + 42000 2.002415 -0.70533555 1.2964178 0.81084741 10519.804 + 43000 2.0211625 -0.71370366 1.3067909 0.77355048 10434.893 + 44000 2.0252106 -0.72635544 1.2981859 0.83770143 10132.262 + 45000 2.0126446 -0.75197714 1.2600024 0.88927993 9946.7842 + 46000 2.0431159 -0.78445975 1.257981 0.84492327 9869.8151 + 47000 2.0199724 -0.76967899 1.2496259 0.90977181 9653.4334 + 48000 2.0109636 -0.78968551 1.2206135 0.89458323 9496.7246 + 49000 2.0131059 -0.79687252 1.2155681 0.91239613 9418.3093 + 50000 2.0073361 -0.79981468 1.206858 0.98524334 9289.4715 +Loop time of 20.4651 on 1 procs for 50000 steps with 3026 atoms + +Performance: 1055453.279 tau/day, 2443.179 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.099 | 11.099 | 11.099 | 0.0 | 54.23 +Neigh | 2.7536 | 2.7536 | 2.7536 | 0.0 | 13.46 +Comm | 0.53353 | 0.53353 | 0.53353 | 0.0 | 2.61 +Output | 0.11209 | 0.11209 | 0.11209 | 0.0 | 0.55 +Modify | 5.1627 | 5.1627 | 5.1627 | 0.0 | 25.23 +Other | | 0.8046 | | | 3.93 + +Nlocal: 3026.00 ave 3026 max 3026 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 584.000 ave 584 max 584 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25892.0 ave 25892 max 25892 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25892 +Ave neighs/atom = 8.5565102 +Neighbor list builds = 4330 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:20 diff --git a/examples/multi/log.30Nov20.colloid.intel.4 b/examples/multi/log.30Nov20.colloid.intel.4 new file mode 100644 index 0000000000..48a5846a09 --- /dev/null +++ b/examples/multi/log.30Nov20.colloid.intel.4 @@ -0,0 +1,183 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.1 +Lattice spacing in x,y,z = 3.1622777 3.1622777 3.1622777 +region box block 0 60 0 60 -0.5 0.5 +create_box 5 box +Created orthogonal box = (0.0000000 0.0000000 -1.5811388) to (189.73666 189.73666 1.5811388) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds + +#Roughly equally partition atoms between types 1-4 +set group all type/fraction 2 0.500 23984 +Setting atom values ... + 1768 settings made for type/fraction +set group all type/fraction 3 0.333 43684 +Setting atom values ... + 1255 settings made for type/fraction +set group all type/fraction 4 0.250 87811 +Setting atom values ... + 927 settings made for type/fraction + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 60.0 60.0 0.0 30.0 units box +region sphere2 sphere 130.0 130.0 0.0 30.0 units box +delete_atoms region sphere1 +Deleted 289 atoms, new total = 3311 +delete_atoms region sphere2 +Deleted 287 atoms, new total = 3024 +create_atoms 5 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 5 single 130.0 130.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 1 mass 400 +Setting atom values ... + 753 settings made for mass +set type 2 mass 1 +Setting atom values ... + 722 settings made for mass + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #/old +neigh_modify delay 0 multi/custom 2 1*4 5 +comm_modify mode multi multi/reduce + +# colloid potential + +pair_style colloid 20.0 +pair_coeff * * 144.0 1.0 0.0 0.0 3.0 +pair_coeff 1 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 2 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 3 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 4 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 + + + +fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 +fix 2 all enforce2d + +dump 1 all atom 1000 dump.colloid + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 31 + ghost atom cutoff = 31 + binsize = 2, bins = 95 95 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair colloid, perpetual + attributes: half, newton on + pair build: half/multi/newton + stencil: half/multi/2d + bin: multi +Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.382 | 5.384 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395241 0.121 36000 + 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 + 2000 1.8590154 -0.11436231 1.7440387 0.097150798 58590.688 + 3000 1.8956738 -0.090814176 1.8042332 0.075557943 77825.289 + 4000 1.9570462 -0.072505537 1.8838939 0.072824365 90931.708 + 5000 2.0376745 -0.083247829 1.9537533 0.068496975 90055.295 + 6000 2.0744887 -0.085395371 1.9884077 0.0821927 78070.648 + 7000 2.1002183 -0.11654617 1.9829781 0.10523249 63934.448 + 8000 2.0818325 -0.13271654 1.948428 0.11909162 52636.484 + 9000 2.0693987 -0.16404154 1.9046733 0.14702552 44539.609 + 10000 2.0667772 -0.19779488 1.8682993 0.17245383 38822.542 + 11000 2.0640582 -0.22114917 1.842227 0.18083079 34788.927 + 12000 2.0308462 -0.20353105 1.8266441 0.20640739 31706.009 + 13000 2.0395895 -0.24217765 1.7967378 0.21832952 29152.654 + 14000 2.030848 -0.2586169 1.77156 0.26577748 27068.89 + 15000 2.0222966 -0.27554585 1.7460825 0.2777169 25272.786 + 16000 2.0398867 -0.31547563 1.723737 0.27763622 23666.792 + 17000 2.03026 -0.32453791 1.7050512 0.28099246 22272.809 + 18000 2.0345512 -0.35026242 1.6836164 0.36600779 21023.172 + 19000 2.0242864 -0.35813231 1.6654851 0.33415432 19941.244 + 20000 2.0132465 -0.36563904 1.6469422 0.403365 18979.884 + 21000 2.0280384 -0.4075867 1.6197815 0.37205362 18152.487 + 22000 2.0206494 -0.40600336 1.6139782 0.42704594 17370.812 + 23000 2.0395761 -0.45083258 1.5880695 0.40276343 16700.427 + 24000 2.017203 -0.44930293 1.5672335 0.43867313 16161.79 + 25000 2.0191846 -0.4672218 1.5512955 0.47031215 15622.756 + 26000 2.0131624 -0.46436088 1.5481363 0.51717944 15141.645 + 27000 2.0322461 -0.50659994 1.5249745 0.49218933 14627.657 + 28000 2.0169304 -0.50555565 1.5107082 0.55547935 14186.079 + 29000 2.024656 -0.52258414 1.5014028 0.59125812 13759.99 + 30000 2.0153725 -0.53585947 1.478847 0.57235811 13384.355 + 31000 2.0163261 -0.56383766 1.4518221 0.58232057 13098.196 + 32000 2.0109673 -0.56784395 1.4424588 0.58282178 12831.934 + 33000 2.0099169 -0.57625621 1.4329964 0.65139601 12479.442 + 34000 2.0238152 -0.60189607 1.4212503 0.62659152 12210.628 + 35000 2.0359989 -0.62654733 1.4087787 0.67574446 11972.725 + 36000 2.0222689 -0.62880837 1.3927923 0.66602146 11690.049 + 37000 1.9982569 -0.62746376 1.3701328 0.71326589 11433.825 + 38000 1.9969836 -0.63975181 1.3565719 0.72799891 11285.497 + 39000 2.0071087 -0.65781805 1.3486274 0.79121297 11107.469 + 40000 2.0243046 -0.6881221 1.3355135 0.77519099 10943.846 + 41000 2.0351657 -0.70309175 1.3314014 0.68815156 10742.515 + 42000 2.0224788 -0.70975664 1.3120538 0.80484619 10505.657 + 43000 2.0123135 -0.70818545 1.3034631 0.84204556 10353.024 + 44000 1.999883 -0.70981202 1.2894101 0.94070546 10212.224 + 45000 2.0127291 -0.73338075 1.2786832 0.82095205 10109.959 + 46000 2.0109037 -0.75130029 1.2589389 0.88538358 9953.4822 + 47000 1.9879175 -0.73152019 1.2557404 0.92089629 9832.892 + 48000 2.0108204 -0.76655178 1.2436041 0.95379465 9633.6453 + 49000 1.9868193 -0.76613798 1.2200247 0.88790224 9504.2918 + 50000 2.0141467 -0.80029827 1.2131829 1.0064263 9346.3268 +Loop time of 7.28248 on 4 procs for 50000 steps with 3026 atoms + +Performance: 2966022.789 tau/day, 6865.793 timesteps/s +99.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.1624 | 2.5918 | 2.9227 | 17.4 | 35.59 +Neigh | 0.62508 | 0.7436 | 0.83321 | 9.2 | 10.21 +Comm | 1.1035 | 1.5265 | 2.0746 | 29.3 | 20.96 +Output | 0.050094 | 0.050233 | 0.05062 | 0.1 | 0.69 +Modify | 1.8164 | 1.8966 | 1.9583 | 4.2 | 26.04 +Other | | 0.4737 | | | 6.50 + +Nlocal: 756.500 ave 839 max 673 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Nghost: 292.500 ave 307 max 282 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 6435.25 ave 7367 max 5493 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 25741 +Ave neighs/atom = 8.5066094 +Neighbor list builds = 4335 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:07 diff --git a/examples/multi/log.30Nov20.colloid.old.intel.1 b/examples/multi/log.30Nov20.colloid.old.intel.1 new file mode 100644 index 0000000000..291e8f89df --- /dev/null +++ b/examples/multi/log.30Nov20.colloid.old.intel.1 @@ -0,0 +1,183 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.1 +Lattice spacing in x,y,z = 3.1622777 3.1622777 3.1622777 +region box block 0 60 0 60 -0.5 0.5 +create_box 5 box +Created orthogonal box = (0.0000000 0.0000000 -1.5811388) to (189.73666 189.73666 1.5811388) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds + +#Roughly equally partition atoms between types 1-4 +set group all type/fraction 2 0.500 23984 +Setting atom values ... + 1768 settings made for type/fraction +set group all type/fraction 3 0.333 43684 +Setting atom values ... + 1255 settings made for type/fraction +set group all type/fraction 4 0.250 87811 +Setting atom values ... + 927 settings made for type/fraction + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 60.0 60.0 0.0 30.0 units box +region sphere2 sphere 130.0 130.0 0.0 30.0 units box +delete_atoms region sphere1 +Deleted 289 atoms, new total = 3311 +delete_atoms region sphere2 +Deleted 287 atoms, new total = 3024 +create_atoms 5 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 5 single 130.0 130.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 1 mass 400 +Setting atom values ... + 753 settings made for mass +set type 2 mass 1 +Setting atom values ... + 722 settings made for mass + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi/old +neigh_modify delay 0 #multi/custom 2 1*4 5 +comm_modify mode multi #multi/reduce + +# colloid potential + +pair_style colloid 20.0 +pair_coeff * * 144.0 1.0 0.0 0.0 3.0 +pair_coeff 1 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 2 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 3 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 4 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 + + + +fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 +fix 2 all enforce2d + +dump 1 all atom 1000 dump.colloid + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 31 + ghost atom cutoff = 31 + binsize = 2, bins = 95 95 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair colloid, perpetual + attributes: half, newton on + pair build: half/multi/old/newton + stencil: half/multi/old/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.611 | 5.611 | 5.611 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395241 0.121 36000 + 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 + 2000 1.8589993 -0.11434676 1.7440382 0.097157151 58590.69 + 3000 1.8984314 -0.093445816 1.8043582 0.07444246 77824.12 + 4000 1.9603204 -0.07451891 1.8851536 0.066010381 90951.299 + 5000 2.0298924 -0.073898174 1.9553234 0.075791214 90146.92 + 6000 2.0797015 -0.086800284 1.992214 0.082095164 78182.702 + 7000 2.086794 -0.10961479 1.9764895 0.10103993 63990.387 + 8000 2.082863 -0.12779588 1.9543788 0.12672452 52629.802 + 9000 2.0718275 -0.15189022 1.9192526 0.14728063 44541.722 + 10000 2.0603856 -0.18054161 1.8791631 0.16715133 38940.135 + 11000 2.046791 -0.20458359 1.841531 0.19532742 34907.116 + 12000 2.0406846 -0.2252868 1.8147234 0.2036178 31740.208 + 13000 2.0369763 -0.23721632 1.7990869 0.25542564 29079.901 + 14000 2.0376121 -0.26282517 1.7741135 0.24722118 26947.344 + 15000 2.0312772 -0.2851101 1.7454959 0.2801199 25180.963 + 16000 2.0080448 -0.28992973 1.7174515 0.30099318 23723.043 + 17000 2.0234993 -0.30440169 1.7184289 0.3193226 22342.977 + 18000 2.0216103 -0.32036933 1.7005729 0.3460322 21068.99 + 19000 2.0493952 -0.37711533 1.6716026 0.33804972 20013.325 + 20000 2.0307894 -0.38462795 1.6454903 0.37041981 19092.745 + 21000 2.0328577 -0.39442652 1.6377594 0.36327057 18260.298 + 22000 2.0325613 -0.40481002 1.6270796 0.42756691 17447.199 + 23000 2.0199358 -0.42175719 1.5975111 0.40948041 16768.71 + 24000 2.0149952 -0.43618764 1.5781417 0.45406069 16187.334 + 25000 2.0153221 -0.45884172 1.5558143 0.52717203 15605.577 + 26000 2.0099026 -0.47080566 1.5384327 0.49181459 15088.041 + 27000 2.0128537 -0.49799999 1.5141885 0.53907465 14590.392 + 28000 2.0287266 -0.53112525 1.4969309 0.59750714 14208.419 + 29000 2.0143609 -0.53175704 1.4819381 0.56118773 13840.642 + 30000 2.0235262 -0.53923416 1.4836234 0.52579997 13500.15 + 31000 2.0390444 -0.57976823 1.4586023 0.5760349 13082.091 + 32000 2.018046 -0.57797686 1.4394022 0.59127933 12761.726 + 33000 2.0059068 -0.57185148 1.4333925 0.58992758 12473.866 + 34000 1.9828456 -0.57147221 1.4107181 0.77593228 12208.869 + 35000 1.9900097 -0.58349168 1.4058604 0.681968 11937.285 + 36000 2.0271405 -0.64374859 1.382722 0.63152587 11675.264 + 37000 2.0032809 -0.63520712 1.3674117 0.71639384 11440.274 + 38000 2.0000566 -0.63941617 1.3599795 0.74099652 11235.252 + 39000 1.9872705 -0.64765522 1.3389586 0.7575743 11080.857 + 40000 2.0224403 -0.6795645 1.3422075 0.82918546 10861.905 + 41000 2.0137595 -0.69863075 1.3144633 0.80397759 10712.981 + 42000 1.9950915 -0.68892531 1.3055069 0.77631365 10632.931 + 43000 2.0080851 -0.70534369 1.3020778 0.82408436 10408.82 + 44000 2.0239806 -0.73189482 1.2914169 0.83228695 10227.18 + 45000 2.0019542 -0.72613202 1.2751606 0.9145618 10044.013 + 46000 2.0173095 -0.75370218 1.2629407 0.99791312 9837.9611 + 47000 1.9921201 -0.75875076 1.232711 1.0047839 9711.2083 + 48000 2.0283587 -0.79063641 1.237052 0.83617499 9610.9933 + 49000 2.0051919 -0.79078067 1.2137485 0.95651813 9411.7165 + 50000 2.0140985 -0.81796958 1.1954634 0.93791038 9296.069 +Loop time of 29.8066 on 1 procs for 50000 steps with 3026 atoms + +Performance: 724671.093 tau/day, 1677.479 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.698 | 11.698 | 11.698 | 0.0 | 39.25 +Neigh | 10.292 | 10.292 | 10.292 | 0.0 | 34.53 +Comm | 1.405 | 1.405 | 1.405 | 0.0 | 4.71 +Output | 0.11474 | 0.11474 | 0.11474 | 0.0 | 0.38 +Modify | 5.3019 | 5.3019 | 5.3019 | 0.0 | 17.79 +Other | | 0.9947 | | | 3.34 + +Nlocal: 3026.00 ave 3026 max 3026 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2292.00 ave 2292 max 2292 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25767.0 ave 25767 max 25767 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25767 +Ave neighs/atom = 8.5152016 +Neighbor list builds = 4332 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:29 diff --git a/examples/multi/log.30Nov20.colloid.old.intel.4 b/examples/multi/log.30Nov20.colloid.old.intel.4 new file mode 100644 index 0000000000..0eae8cc8e7 --- /dev/null +++ b/examples/multi/log.30Nov20.colloid.old.intel.4 @@ -0,0 +1,183 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.1 +Lattice spacing in x,y,z = 3.1622777 3.1622777 3.1622777 +region box block 0 60 0 60 -0.5 0.5 +create_box 5 box +Created orthogonal box = (0.0000000 0.0000000 -1.5811388) to (189.73666 189.73666 1.5811388) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds + +#Roughly equally partition atoms between types 1-4 +set group all type/fraction 2 0.500 23984 +Setting atom values ... + 1768 settings made for type/fraction +set group all type/fraction 3 0.333 43684 +Setting atom values ... + 1255 settings made for type/fraction +set group all type/fraction 4 0.250 87811 +Setting atom values ... + 927 settings made for type/fraction + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 60.0 60.0 0.0 30.0 units box +region sphere2 sphere 130.0 130.0 0.0 30.0 units box +delete_atoms region sphere1 +Deleted 289 atoms, new total = 3311 +delete_atoms region sphere2 +Deleted 287 atoms, new total = 3024 +create_atoms 5 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 5 single 130.0 130.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 1 mass 400 +Setting atom values ... + 753 settings made for mass +set type 2 mass 1 +Setting atom values ... + 722 settings made for mass + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi/old +neigh_modify delay 0 #multi/custom 2 1*4 5 +comm_modify mode multi #multi/reduce + +# colloid potential + +pair_style colloid 20.0 +pair_coeff * * 144.0 1.0 0.0 0.0 3.0 +pair_coeff 1 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 2 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 3 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 4 5 75.4 1.0 0.0 20.0 14.0 +pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 + + + +fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 +fix 2 all enforce2d + +dump 1 all atom 1000 dump.colloid + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 31 + ghost atom cutoff = 31 + binsize = 2, bins = 95 95 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair colloid, perpetual + attributes: half, newton on + pair build: half/multi/old/newton + stencil: half/multi/old/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.438 | 5.441 | 5.444 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395241 0.121 36000 + 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 + 2000 1.8590154 -0.11436231 1.7440387 0.097150798 58590.688 + 3000 1.8956738 -0.090814168 1.8042332 0.075557943 77825.289 + 4000 1.9567884 -0.072243657 1.8838981 0.072836007 90931.521 + 5000 2.0386455 -0.084279096 1.9536927 0.06867562 90054.581 + 6000 2.0816461 -0.093158646 1.9877995 0.082802397 78084.994 + 7000 2.0854943 -0.10553618 1.979269 0.10230351 63886.068 + 8000 2.0923948 -0.14072173 1.9509816 0.11775174 52590.899 + 9000 2.0687841 -0.15957251 1.9085279 0.14963059 44575.69 + 10000 2.0607467 -0.18970216 1.8703636 0.17210861 39016.271 + 11000 2.0538523 -0.20866031 1.8445133 0.18554787 34992.223 + 12000 2.0408745 -0.22276635 1.8174337 0.21228473 31794.869 + 13000 2.0366678 -0.24217764 1.7938171 0.22999314 29186.441 + 14000 2.0470314 -0.26923854 1.7771164 0.2576977 26941.432 + 15000 2.0262458 -0.27296827 1.7526079 0.25960813 25184.491 + 16000 2.0410096 -0.30940081 1.7309343 0.27842776 23619.633 + 17000 2.027379 -0.32411477 1.7025943 0.32102949 22231.582 + 18000 2.0338405 -0.34468182 1.6884866 0.3306203 21028.933 + 19000 2.032206 -0.36558904 1.6659454 0.33926726 19958.945 + 20000 2.0347643 -0.3915229 1.642569 0.33718716 19054.271 + 21000 2.0242901 -0.38913219 1.634489 0.38062225 18190.934 + 22000 2.0207557 -0.41078199 1.6093059 0.40143768 17422.03 + 23000 2.0069068 -0.42062708 1.5856165 0.40146954 16717.999 + 24000 2.0300595 -0.4536262 1.5757624 0.49229743 16097.323 + 25000 2.0347548 -0.47655047 1.5575319 0.46787969 15564.848 + 26000 2.0180789 -0.46537586 1.5520362 0.48541997 15072.597 + 27000 2.0150506 -0.4886202 1.5257645 0.53829749 14621.24 + 28000 2.0175464 -0.50951413 1.5073655 0.50140171 14253.441 + 29000 2.0186127 -0.53911975 1.4788258 0.52955802 13930.266 + 30000 2.0006844 -0.52621334 1.4738099 0.60130639 13650.051 + 31000 2.0179614 -0.54573939 1.4715551 0.58747508 13285.903 + 32000 2.0333208 -0.57431851 1.4583303 0.62631039 12894.077 + 33000 2.0017273 -0.57778326 1.4232825 0.61159622 12595.987 + 34000 2.0063025 -0.58192939 1.4237101 0.66174764 12316.964 + 35000 2.0174782 -0.60591394 1.4108976 0.63571024 12063.433 + 36000 2.025112 -0.64319133 1.3812514 0.62829458 11930.246 + 37000 2.0431268 -0.64342323 1.3990283 0.68038546 11651.664 + 38000 2.0064271 -0.63716263 1.3686014 0.72167175 11345.421 + 39000 2.0284014 -0.67236471 1.3553663 0.68693225 11062.293 + 40000 2.0181711 -0.6962559 1.3212483 0.76033095 10864.176 + 41000 1.9908152 -0.66607906 1.3240783 0.90250403 10812.599 + 42000 2.0007084 -0.68853623 1.311511 0.88096905 10627.922 + 43000 1.998883 -0.69053805 1.3076844 0.81765345 10469.928 + 44000 2.0197069 -0.72507021 1.2939693 0.87004916 10194.954 + 45000 2.0112835 -0.72638581 1.284233 0.99236207 9968.2662 + 46000 2.0195002 -0.75152677 1.2673061 0.92706763 9751.1162 + 47000 1.983694 -0.75006702 1.2329714 0.8945741 9652.1453 + 48000 1.9977505 -0.77207122 1.225019 0.92107083 9647.1543 + 49000 2.0000901 -0.76254934 1.2368798 1.0320945 9536.2823 + 50000 2.0150929 -0.80463979 1.2097872 0.99556424 9324.0277 +Loop time of 11.239 on 4 procs for 50000 steps with 3026 atoms + +Performance: 1921872.705 tau/day, 4448.779 timesteps/s +98.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.3936 | 2.7411 | 3.1078 | 16.7 | 24.39 +Neigh | 2.2948 | 2.6755 | 3.1013 | 18.5 | 23.81 +Comm | 2.522 | 3.3135 | 4.0361 | 31.7 | 29.48 +Output | 0.040863 | 0.041031 | 0.041456 | 0.1 | 0.37 +Modify | 1.844 | 1.9014 | 1.9701 | 3.4 | 16.92 +Other | | 0.5666 | | | 5.04 + +Nlocal: 756.500 ave 838 max 693 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1282.50 ave 1333 max 1216 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Neighs: 6426.25 ave 7350 max 5786 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 25705 +Ave neighs/atom = 8.4947125 +Neighbor list builds = 4326 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:11 diff --git a/examples/multi/log.30Nov20.granular.intel.1 b/examples/multi/log.30Nov20.granular.intel.1 new file mode 100644 index 0000000000..2e313231ca --- /dev/null +++ b/examples/multi/log.30Nov20.granular.intel.1 @@ -0,0 +1,175 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 60 0 60 -0.5 0.5 +create_box 2 box +Created orthogonal box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds +change_box all triclinic +Changing box ... + triclinic box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) with tilt (0.0000000 0.0000000 0.0000000) + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 20.0 20.0 0.0 10.0 units box +region sphere2 sphere 60.0 60.0 0.0 10.0 units box +delete_atoms region sphere1 +Deleted 154 atoms, new total = 3446 +delete_atoms region sphere2 +Deleted 158 atoms, new total = 3288 +create_atoms 2 single 20.0 20.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 2 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 2 mass 400 +Setting atom values ... + 2 settings made for mass +set type 1 mass 1 +Setting atom values ... + 3288 settings made for mass +set type 2 diameter 20 +Setting atom values ... + 2 settings made for diameter +set type 1 diameter 1 +Setting atom values ... + 3288 settings made for diameter + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #/old +neigh_modify delay 0 +comm_modify mode multi vel yes + +# colloid potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 +fix 2 all enforce2d +fix 3 all deform 1 xy erate 1e-3 + +dump 1 all custom 1000 dump.granular id x y z radius + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 21 + ghost atom cutoff = 21 + binsize = 1, bins = 85 85 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton/tri + stencil: half/multi/2d/tri + bin: multi +Per MPI rank memory allocation (min/avg/max) = 11.78 | 11.78 | 11.78 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395623 0.66837658 7200 + 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 + 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 + 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 + 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 + 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 + 6000 0.025856 0 0.025848141 0.021241317 7603.5534 + 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 + 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 + 9000 0.016370159 0 0.016365184 0.020261904 6515.3445 + 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 + 11000 0.014156551 0 0.014152248 0.021324815 5815.4665 + 12000 0.013725406 0 0.013721235 0.021159958 5483.6304 + 13000 0.013215746 0 0.013211729 0.021685712 5165.4758 + 14000 0.012398153 0 0.012394384 0.024155434 4862.8657 + 15000 0.011842796 0 0.011839196 0.028503991 4577.9008 + 16000 0.011433182 0 0.011429706 0.033564839 4309.8792 + 17000 0.011166574 0 0.01116318 0.040592677 4058.9964 + 18000 0.01100067 0 0.010997326 0.04899206 3825.155 + 19000 0.010224474 0 0.010221366 0.063670337 3607.6577 + 20000 0.0091360559 0 0.0091332789 0.088230111 3408.5658 + 21000 0.007733647 0 0.0077312964 0.11769368 3227.7002 + 22000 0.0060202358 0 0.0060184059 0.15272491 3064.3986 + 23000 0.004670574 0 0.0046691543 0.19450724 2918.0014 + 24000 0.0040248313 0 0.004023608 0.24161742 2788.4113 + 25000 0.0032075275 0 0.0032065526 0.2897693 2674.5604 + 26000 0.0021358024 0 0.0021351532 0.33635617 2574.9564 + 27000 0.0016902752 0 0.0016897614 0.37624266 2487.2379 + 28000 0.0014038218 0 0.0014033951 0.41492104 2409.2461 + 29000 0.00090262506 0 0.0009023507 0.45392905 2340.0308 + 30000 0.00049466342 0 0.00049451306 0.49295072 2279.2316 + 31000 0.00056998139 0 0.00056980815 0.53299515 2226.5683 + 32000 0.00057326945 0 0.0005730952 0.56856537 2181.7092 + 33000 0.00044845112 0 0.00044831481 0.59623471 2142.7573 + 34000 0.00059840183 0 0.00059821994 0.61758983 2107.1253 + 35000 0.00075310993 0 0.00075288103 0.63756827 2072.7217 + 36000 0.00053774066 0 0.00053757721 0.66026064 2039.1655 + 37000 0.00030440106 0 0.00030430853 0.69059102 2007.7903 + 38000 0.00034436264 0 0.00034425797 0.72166344 1980.7137 + 39000 0.00039693498 0 0.00039681433 0.74680327 1957.9531 + 40000 0.00035425567 0 0.000354148 0.76604186 1937.3834 + 41000 0.0003094733 0 0.00030937924 0.78323163 1916.7027 + 42000 0.00027259246 0 0.0002725096 0.80315535 1895.0714 + 43000 0.00020659817 0 0.00020653538 0.8274603 1873.5407 + 44000 0.00016023333 0 0.00016018463 0.85418969 1853.8674 + 45000 0.00016111931 0 0.00016107034 0.87913944 1837.1141 + 46000 0.00016130888 0 0.00016125985 0.89921705 1822.7354 + 47000 0.00015755049 0 0.0001575026 0.91653538 1809.0285 + 48000 0.00017794781 0 0.00017789372 0.93582908 1794.7041 + 49000 0.00018878437 0 0.00018872699 0.95775203 1780.032 + 50000 0.0001778042 0 0.00017775016 0.97893714 1765.9439 +Loop time of 77.4487 on 1 procs for 50000 steps with 3290 atoms + +Performance: 278894.354 tau/day, 645.589 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 60.017 | 60.017 | 60.017 | 0.0 | 77.49 +Neigh | 0.47 | 0.47 | 0.47 | 0.0 | 0.61 +Comm | 6.6765 | 6.6765 | 6.6765 | 0.0 | 8.62 +Output | 0.24799 | 0.24799 | 0.24799 | 0.0 | 0.32 +Modify | 8.8677 | 8.8677 | 8.8677 | 0.0 | 11.45 +Other | | 1.17 | | | 1.51 + +Nlocal: 3290.00 ave 3290 max 3290 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6295.00 ave 6295 max 6295 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 53729.0 ave 53729 max 53729 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 53729 +Ave neighs/atom = 16.331003 +Neighbor list builds = 348 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:17 diff --git a/examples/multi/log.30Nov20.granular.intel.4 b/examples/multi/log.30Nov20.granular.intel.4 new file mode 100644 index 0000000000..d53684c596 --- /dev/null +++ b/examples/multi/log.30Nov20.granular.intel.4 @@ -0,0 +1,175 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 60 0 60 -0.5 0.5 +create_box 2 box +Created orthogonal box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds +change_box all triclinic +Changing box ... + triclinic box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) with tilt (0.0000000 0.0000000 0.0000000) + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 20.0 20.0 0.0 10.0 units box +region sphere2 sphere 60.0 60.0 0.0 10.0 units box +delete_atoms region sphere1 +Deleted 154 atoms, new total = 3446 +delete_atoms region sphere2 +Deleted 158 atoms, new total = 3288 +create_atoms 2 single 20.0 20.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 2 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 2 mass 400 +Setting atom values ... + 2 settings made for mass +set type 1 mass 1 +Setting atom values ... + 3288 settings made for mass +set type 2 diameter 20 +Setting atom values ... + 2 settings made for diameter +set type 1 diameter 1 +Setting atom values ... + 3288 settings made for diameter + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi #multi/old +neigh_modify delay 0 +comm_modify mode multi vel yes multi/reduce + +# colloid potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 +fix 2 all enforce2d +fix 3 all deform 1 xy erate 1e-3 + +dump 1 all custom 1000 dump.granular id x y z radius + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 21 + ghost atom cutoff = 21 + binsize = 1, bins = 85 85 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton/tri + stencil: half/multi/2d/tri + bin: multi +Per MPI rank memory allocation (min/avg/max) = 11.33 | 11.33 | 11.33 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395623 0.66837658 7200 + 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 + 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 + 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 + 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 + 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 + 6000 0.025856 0 0.025848141 0.021241317 7603.5534 + 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 + 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 + 9000 0.01637016 0 0.016365184 0.020261904 6515.3445 + 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 + 11000 0.014156553 0 0.01415225 0.021324818 5815.4665 + 12000 0.013725412 0 0.01372124 0.021159958 5483.6304 + 13000 0.013215733 0 0.013211716 0.021685624 5165.4758 + 14000 0.012398179 0 0.012394411 0.024155572 4862.8657 + 15000 0.01184269 0 0.01183909 0.028504106 4577.901 + 16000 0.01143291 0 0.011429435 0.033564204 4309.88 + 17000 0.011166204 0 0.01116281 0.040588854 4058.9972 + 18000 0.011000875 0 0.010997532 0.048998904 3825.1569 + 19000 0.010225905 0 0.010222797 0.063669586 3607.6622 + 20000 0.0091390249 0 0.0091362471 0.088165396 3408.567 + 21000 0.0077382016 0 0.0077358496 0.11770473 3227.6936 + 22000 0.0060173113 0 0.0060154823 0.15261992 3064.3873 + 23000 0.0046667554 0 0.004665337 0.19453813 2917.9782 + 24000 0.0040425764 0 0.0040413476 0.24145834 2788.3897 + 25000 0.0031933187 0 0.0031923481 0.28989732 2674.5164 + 26000 0.0021139018 0 0.0021132592 0.33598721 2574.9313 + 27000 0.0017005052 0 0.0016999884 0.37665029 2487.1628 + 28000 0.001443434 0 0.0014429952 0.41572112 2409.3271 + 29000 0.00089885805 0 0.00089858484 0.45343123 2340.2314 + 30000 0.00048558336 0 0.00048543577 0.49175966 2279.2156 + 31000 0.00058132898 0 0.00058115228 0.53236819 2226.2347 + 32000 0.00057751441 0 0.00057733887 0.56915062 2181.2736 + 33000 0.00044720497 0 0.00044706904 0.59696122 2142.5709 + 34000 0.00060927898 0 0.00060909379 0.61734988 2107.128 + 35000 0.00077422577 0 0.00077399045 0.63696024 2072.6004 + 36000 0.00055753008 0 0.00055736062 0.65981839 2038.8237 + 37000 0.0003140158 0 0.00031392035 0.69018918 2007.323 + 38000 0.00034970199 0 0.0003495957 0.72155094 1980.1702 + 39000 0.00041435514 0 0.00041422919 0.7468053 1957.3837 + 40000 0.00037229543 0 0.00037218227 0.76581519 1936.8032 + 41000 0.00031027679 0 0.00031018248 0.78321128 1916.1103 + 42000 0.00026621832 0 0.00026613741 0.80267694 1894.4646 + 43000 0.00020544063 0 0.00020537818 0.82714181 1872.768 + 44000 0.00015635243 0 0.00015630491 0.85496512 1853.0303 + 45000 0.00014985611 0 0.00014981056 0.87924561 1836.4779 + 46000 0.00015645346 0 0.00015640591 0.89896131 1822.2004 + 47000 0.00016007816 0 0.00016002951 0.91662026 1808.4601 + 48000 0.00017439363 0 0.00017434063 0.93565314 1794.1244 + 49000 0.00018647711 0 0.00018642043 0.95733125 1779.401 + 50000 0.00018463414 0 0.00018457802 0.96449755 1765.1506 +Loop time of 22.3987 on 4 procs for 50000 steps with 3290 atoms + +Performance: 964340.770 tau/day, 2232.270 timesteps/s +99.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.5158 | 12.318 | 15.836 | 92.1 | 54.99 +Neigh | 0.092527 | 0.11392 | 0.13595 | 5.6 | 0.51 +Comm | 2.7127 | 6.2337 | 10.096 | 131.0 | 27.83 +Output | 0.088027 | 0.088284 | 0.088812 | 0.1 | 0.39 +Modify | 2.8544 | 3.0435 | 3.2034 | 9.2 | 13.59 +Other | | 0.6017 | | | 2.69 + +Nlocal: 822.500 ave 859 max 785 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Nghost: 395.750 ave 424 max 368 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 13439.5 ave 14346 max 12017 min +Histogram: 1 0 0 0 0 1 0 0 0 2 + +Total # of neighbors = 53758 +Ave neighs/atom = 16.339818 +Neighbor list builds = 348 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:22 diff --git a/examples/multi/log.30Nov20.granular.old.intel.1 b/examples/multi/log.30Nov20.granular.old.intel.1 new file mode 100644 index 0000000000..ad827423c5 --- /dev/null +++ b/examples/multi/log.30Nov20.granular.old.intel.1 @@ -0,0 +1,175 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 60 0 60 -0.5 0.5 +create_box 2 box +Created orthogonal box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds +change_box all triclinic +Changing box ... + triclinic box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) with tilt (0.0000000 0.0000000 0.0000000) + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 20.0 20.0 0.0 10.0 units box +region sphere2 sphere 60.0 60.0 0.0 10.0 units box +delete_atoms region sphere1 +Deleted 154 atoms, new total = 3446 +delete_atoms region sphere2 +Deleted 158 atoms, new total = 3288 +create_atoms 2 single 20.0 20.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 2 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 2 mass 400 +Setting atom values ... + 2 settings made for mass +set type 1 mass 1 +Setting atom values ... + 3288 settings made for mass +set type 2 diameter 20 +Setting atom values ... + 2 settings made for diameter +set type 1 diameter 1 +Setting atom values ... + 3288 settings made for diameter + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi/old +neigh_modify delay 0 +comm_modify mode multi vel yes + +# colloid potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 +fix 2 all enforce2d +fix 3 all deform 1 xy erate 1e-3 + +dump 1 all custom 1000 dump.granular id x y z radius + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 21 + ghost atom cutoff = 21 + binsize = 1, bins = 85 85 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/old/newton/tri + stencil: half/multi/old/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.75 | 11.75 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395623 0.66837658 7200 + 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 + 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 + 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 + 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 + 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 + 6000 0.025856 0 0.025848141 0.021241317 7603.5534 + 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 + 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 + 9000 0.016370159 0 0.016365184 0.020261904 6515.3445 + 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 + 11000 0.014156551 0 0.014152248 0.021324815 5815.4665 + 12000 0.013725406 0 0.013721235 0.021159958 5483.6304 + 13000 0.013215746 0 0.013211729 0.021685712 5165.4758 + 14000 0.012398153 0 0.012394384 0.024155434 4862.8657 + 15000 0.011842796 0 0.011839196 0.028503991 4577.9008 + 16000 0.011433182 0 0.011429706 0.033564839 4309.8792 + 17000 0.011166574 0 0.01116318 0.040592677 4058.9964 + 18000 0.01100067 0 0.010997326 0.04899206 3825.155 + 19000 0.010224474 0 0.010221366 0.063670337 3607.6577 + 20000 0.0091360558 0 0.0091332789 0.088230111 3408.5658 + 21000 0.0077336471 0 0.0077312964 0.11769368 3227.7002 + 22000 0.0060202357 0 0.0060184059 0.15272492 3064.3986 + 23000 0.0046705738 0 0.0046691542 0.19450723 2918.0014 + 24000 0.0040248311 0 0.0040236078 0.24161743 2788.4113 + 25000 0.0032075267 0 0.0032065518 0.28976925 2674.5604 + 26000 0.0021358008 0 0.0021351516 0.33635615 2574.9564 + 27000 0.0016902771 0 0.0016897633 0.37624261 2487.2379 + 28000 0.0014038216 0 0.0014033949 0.41492061 2409.2461 + 29000 0.00090262588 0 0.00090235152 0.45392924 2340.0308 + 30000 0.00049466445 0 0.0004945141 0.49295063 2279.2316 + 31000 0.00056998139 0 0.00056980814 0.53299532 2226.5683 + 32000 0.00057327032 0 0.00057309607 0.56856551 2181.7093 + 33000 0.00044845449 0 0.00044831818 0.59623461 2142.7574 + 34000 0.00059840346 0 0.00059822157 0.61758978 2107.1254 + 35000 0.00075311121 0 0.0007528823 0.63756791 2072.7217 + 36000 0.00053773653 0 0.00053757309 0.66026022 2039.1654 + 37000 0.00030439696 0 0.00030430444 0.69059127 2007.7901 + 38000 0.00034435616 0 0.00034425149 0.72166346 1980.7136 + 39000 0.00039692535 0 0.0003968047 0.7468036 1957.9531 + 40000 0.0003542502 0 0.00035414252 0.76604173 1937.3834 + 41000 0.0003094667 0 0.00030937263 0.78323183 1916.7027 + 42000 0.00027258976 0 0.0002725069 0.80315572 1895.0714 + 43000 0.00020659987 0 0.00020653707 0.82746098 1873.5408 + 44000 0.00016023865 0 0.00016018994 0.85418945 1853.8677 + 45000 0.00016112731 0 0.00016107833 0.87913874 1837.1144 + 46000 0.00016131366 0 0.00016126463 0.89921653 1822.7355 + 47000 0.00015754747 0 0.00015749958 0.91653641 1809.0285 + 48000 0.00017794764 0 0.00017789356 0.93582953 1794.7043 + 49000 0.00018879338 0 0.000188736 0.95775166 1780.0323 + 50000 0.00017781117 0 0.00017775712 0.97893641 1765.9442 +Loop time of 80.8597 on 1 procs for 50000 steps with 3290 atoms + +Performance: 267129.375 tau/day, 618.355 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 61.524 | 61.524 | 61.524 | 0.0 | 76.09 +Neigh | 2.2021 | 2.2021 | 2.2021 | 0.0 | 2.72 +Comm | 6.748 | 6.748 | 6.748 | 0.0 | 8.35 +Output | 0.25904 | 0.25904 | 0.25904 | 0.0 | 0.32 +Modify | 8.9408 | 8.9408 | 8.9408 | 0.0 | 11.06 +Other | | 1.186 | | | 1.47 + +Nlocal: 3290.00 ave 3290 max 3290 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6295.00 ave 6295 max 6295 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 53729.0 ave 53729 max 53729 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 53729 +Ave neighs/atom = 16.331003 +Neighbor list builds = 348 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:20 diff --git a/examples/multi/log.30Nov20.granular.old.intel.4 b/examples/multi/log.30Nov20.granular.old.intel.4 new file mode 100644 index 0000000000..e41741b536 --- /dev/null +++ b/examples/multi/log.30Nov20.granular.old.intel.4 @@ -0,0 +1,175 @@ +LAMMPS (30 Nov 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 60 0 60 -0.5 0.5 +create_box 2 box +Created orthogonal box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3600 atoms + create_atoms CPU = 0.001 seconds +change_box all triclinic +Changing box ... + triclinic box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) with tilt (0.0000000 0.0000000 0.0000000) + +# remove two spheres of small particles and add large particles in the voids +region sphere1 sphere 20.0 20.0 0.0 10.0 units box +region sphere2 sphere 60.0 60.0 0.0 10.0 units box +delete_atoms region sphere1 +Deleted 154 atoms, new total = 3446 +delete_atoms region sphere2 +Deleted 158 atoms, new total = 3288 +create_atoms 2 single 20.0 20.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds +create_atoms 2 single 60.0 60.0 0.0 units box +Created 1 atoms + create_atoms CPU = 0.000 seconds + +set type 2 mass 400 +Setting atom values ... + 2 settings made for mass +set type 1 mass 1 +Setting atom values ... + 3288 settings made for mass +set type 2 diameter 20 +Setting atom values ... + 2 settings made for diameter +set type 1 diameter 1 +Setting atom values ... + 3288 settings made for diameter + +velocity all create 1.44 87287 loop geom + +# multi neighbor and comm for efficiency + +neighbor 1 multi/old +neigh_modify delay 0 +comm_modify mode multi vel yes #multi/reduce + +# colloid potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 +fix 2 all enforce2d +fix 3 all deform 1 xy erate 1e-3 + +dump 1 all custom 1000 dump.granular id x y z radius + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 + +#dump 3 all movie 1000 movie.mpg type type # zoom 1.5 center d 0.5 0.5 0.5 +#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 + +thermo_style custom step temp epair etotal press vol +thermo 1000 + +timestep 0.005 + +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 21 + ghost atom cutoff = 21 + binsize = 1, bins = 85 85 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/old/newton/tri + stencil: half/multi/old/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.48 | 11.48 | 11.49 Mbytes +Step Temp E_pair TotEng Press Volume + 0 1.44 0 1.4395623 0.66837658 7200 + 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 + 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 + 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 + 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 + 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 + 6000 0.025856 0 0.025848141 0.021241317 7603.5534 + 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 + 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 + 9000 0.01637016 0 0.016365184 0.020261904 6515.3445 + 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 + 11000 0.014156553 0 0.01415225 0.021324818 5815.4665 + 12000 0.013725412 0 0.01372124 0.021159958 5483.6304 + 13000 0.013215733 0 0.013211716 0.021685624 5165.4758 + 14000 0.012398179 0 0.012394411 0.024155572 4862.8657 + 15000 0.01184269 0 0.01183909 0.028504106 4577.901 + 16000 0.01143291 0 0.011429435 0.033564204 4309.88 + 17000 0.011166204 0 0.01116281 0.040588854 4058.9972 + 18000 0.011000875 0 0.010997532 0.048998904 3825.1569 + 19000 0.010225905 0 0.010222797 0.063669588 3607.6622 + 20000 0.0091390255 0 0.0091362477 0.088165402 3408.567 + 21000 0.0077382041 0 0.0077358521 0.11770474 3227.6936 + 22000 0.00601731 0 0.0060154811 0.15261994 3064.3873 + 23000 0.0046667591 0 0.0046653407 0.19453819 2917.9782 + 24000 0.0040425749 0 0.0040413461 0.24145833 2788.3897 + 25000 0.0031933217 0 0.0031923511 0.28989713 2674.5164 + 26000 0.0021138997 0 0.0021132571 0.33598673 2574.9312 + 27000 0.001700508 0 0.0016999912 0.37665013 2487.1626 + 28000 0.0014434246 0 0.0014429859 0.41572163 2409.327 + 29000 0.00089885063 0 0.00089857742 0.453431 2340.2313 + 30000 0.00048556478 0 0.00048541719 0.49176025 2279.2155 + 31000 0.00058130972 0 0.00058113303 0.53236818 2226.2349 + 32000 0.00057749847 0 0.00057732294 0.5691506 2181.2738 + 33000 0.00044719326 0 0.00044705733 0.59696179 2142.571 + 34000 0.00060924828 0 0.0006090631 0.61735036 2107.1282 + 35000 0.00077419805 0 0.00077396273 0.63696098 2072.6008 + 36000 0.00055752003 0 0.00055735057 0.65981842 2038.8242 + 37000 0.00031402452 0 0.00031392907 0.69018949 2007.3235 + 38000 0.00034969879 0 0.0003495925 0.72155053 1980.1706 + 39000 0.00041434197 0 0.00041421603 0.74680715 1957.3838 + 40000 0.00037229243 0 0.00037217927 0.76581686 1936.8034 + 41000 0.00031028842 0 0.00031019411 0.78321059 1916.1108 + 42000 0.00026623668 0 0.00026615575 0.80267329 1894.4649 + 43000 0.00020543723 0 0.00020537479 0.82714001 1872.7672 + 44000 0.0001563321 0 0.00015628458 0.85496396 1853.0284 + 45000 0.00014981713 0 0.00014977159 0.87924842 1836.4755 + 46000 0.00015641585 0 0.00015636831 0.89896936 1822.1989 + 47000 0.00016004701 0 0.00015999837 0.91661933 1808.4606 + 48000 0.00017437702 0 0.00017432402 0.93565475 1794.1258 + 49000 0.00018645903 0 0.00018640235 0.95733183 1779.4032 + 50000 0.00018469122 0 0.00018463508 0.96446925 1765.1534 +Loop time of 30.9351 on 4 procs for 50000 steps with 3290 atoms + +Performance: 698235.574 tau/day, 1616.286 timesteps/s +89.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.3702 | 12.796 | 16.045 | 84.3 | 41.36 +Neigh | 0.43499 | 0.55158 | 0.64861 | 12.8 | 1.78 +Comm | 10.183 | 13.476 | 16.961 | 83.7 | 43.56 +Output | 0.088474 | 0.088715 | 0.089272 | 0.1 | 0.29 +Modify | 3.0446 | 3.1809 | 3.3227 | 7.4 | 10.28 +Other | | 0.8418 | | | 2.72 + +Nlocal: 822.500 ave 859 max 785 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Nghost: 3049.75 ave 3089 max 2999 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 13440.5 ave 14459 max 11964 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 53762 +Ave neighs/atom = 16.341033 +Neighbor list builds = 348 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:30 diff --git a/src/comm.cpp b/src/comm.cpp index 84e3b9ad65..542ddfdf10 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -248,6 +248,8 @@ void Comm::init() error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); if (neighbor->any_full()) error->all(FLERR,"Cannot use multi/reduce communication with a full neighbor list"); + if (neighbor->style != Neighbor::MULTI) + error->all(FLERR,"Cannot use multi/reduce communication without multi-style neighbor lists"); } } From a25c77e512762a6eee146e20baa477143b83ef6f Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 12 Jan 2021 23:04:14 -0700 Subject: [PATCH 061/542] Misc comments, typos, and cleanups --- doc/src/comm_modify.rst | 8 +- doc/src/neigh_modify.rst | 12 +- examples/multi/in.granular | 2 +- src/USER-OMP/npair_half_multi_newton_omp.cpp | 125 ++++++----------- .../npair_half_size_multi_newton_omp.cpp | 100 +++++-------- src/comm.cpp | 1 - src/comm_brick.cpp | 132 +++++++----------- src/comm_tiled.cpp | 16 +-- src/nbin_multi.cpp | 69 ++++----- src/nbin_multi.h | 4 - src/neighbor.cpp | 21 +-- src/npair.cpp | 10 +- src/npair.h | 2 +- src/npair_half_multi_newton.cpp | 123 ++++++---------- src/npair_half_size_multi_newton.cpp | 100 +++++-------- src/npair_half_size_multi_newton_tri.cpp | 1 - src/nstencil.cpp | 29 ++-- src/nstencil.h | 6 +- 18 files changed, 285 insertions(+), 476 deletions(-) diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 5f084561a1..a3f7dba4eb 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -11,7 +11,7 @@ Syntax comm_modify keyword value ... * zero or more keyword/value pairs may be appended -* keyword = *mode* or *cutoff* or *cutoff/multi* or *cutoff/bytype* or *group* or *vel* +* keyword = *mode* or *cutoff* or *cutoff/multi* or *multi/reduce* or *group* or *vel* .. parsed-literal:: @@ -20,7 +20,7 @@ Syntax *cutoff/multi* type value type = atom type or type range (supports asterisk notation) value = Rcut (distance units) = communicate atoms for selected types from this far away - *cutoff/byptype* arg = none = communicate atoms for each type by a distance equal to the largest interaction distance for that type + *multi/reduce* arg = none = reduce number of communicated ghost atoms for multi style *group* value = group-ID = only communicate atoms in the group *vel* value = *yes* or *no* = do or do not communicate velocity info with ghost atoms @@ -96,10 +96,10 @@ using the usual asterisk notation can be given. For granular pair styles, the default cutoff is set to the sum of the current maximum atomic radii for each type. -The *multi/reduce* option applies to *multi* and automatically sets communication +The *multi/reduce* option applies to *multi* and sets communication cutoffs for different sized particles based on the largest interaction distance between two particles in the same multi grouping. This reduces the number of -ghost that need to be communicated This method is only compatible with the +ghost atoms that need to be communicated. This method is only compatible with the *multi* neighbor style and requires only half neighbor lists and Newton on. See the :doc:`neighbor multi ` command for more information. diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index 33f24af96e..c6f573ef08 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -47,9 +47,9 @@ Syntax N = max number of neighbors of one atom *binsize* value = size size = bin size for neighbor list construction (distance units) - *multi/custom* values = N types + *multi/custom* values = N arg1 ... argN N = number of custom groups - types = N separate types or groups of types (see below) + arg = N separate types or ranges of types (see below) Examples """""""" @@ -208,12 +208,12 @@ overhead. You must first specify the number of custom groups N to be defined followed by N ranges of types. The range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For -example, if N = the number of atom types, then an asterisk with no numeric -values means all types from 1 to N. A leading asterisk means all types -from 1 to n (inclusive). A trailing asterisk means all types from n to N +example, if M = the number of atom types, then an asterisk with no numeric +values means all types from 1 to M. A leading asterisk means all types +from 1 to n (inclusive). A trailing asterisk means all types from n to M (inclusive). A middle asterisk means all types from m to n (inclusive). Note that any atom types not included in a custom group will be automatically -placed within a new, separate group. +placed within a separate group. Restrictions """""""""""" diff --git a/examples/multi/in.granular b/examples/multi/in.granular index 00dd4ad2bb..8f1743f90d 100644 --- a/examples/multi/in.granular +++ b/examples/multi/in.granular @@ -1,4 +1,4 @@ -# Big colloid particles and small LJ particles +# Bidisperse set of grains units lj atom_style sphere diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp index a7a3e6d6f7..11a84a3040 100755 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -100,96 +100,55 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) if(igroup == jgroup) jbin = ibin; else jbin = coord2bin(x[i], jgroup); + // if same size: uses half stencil so check central bin if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ - // if same size: use half stencil - if(igroup == jgroup){ - - // if same group, implement with: - // loop over rest of atoms in i's bin, ghosts are at end of linked list - // if j is owned atom, store it, since j is beyond i in linked list - // if j is ghost, only store if j coords are "above and to the right" of i - - js = bins[i]; + if(igroup == jgroup) js = bins[i]; + else js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins[j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } else { - - // if different groups, implement with: - // loop over all atoms in jgroup bin - // if j is owned atom, store it if j > i - // if j is ghost, only store if j coords are "above and to the right" of i + // if same group, + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jgroup][jbin]; + // if different groups, + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { - if(j < i) continue; + for (j = js; j >= 0; j = bins[j]) { + if(igroup != jgroup and j < i) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + } + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } // for all groups, loop over all atoms in other bins in stencil, store every pair diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp index 0137873600..cec3edd02b 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -89,80 +89,46 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) if(igroup == jgroup) jbin = ibin; else jbin = coord2bin(x[i], jgroup); + // if same size: uses half stencil so check central bin if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ - - // if same size: use half stencil - if(igroup == jgroup){ - - // if same group, implement with: - // loop over rest of atoms in i's bin, ghosts are at end of linked list - // if j is owned atom, store it, since j is beyond i in linked list - // if j is ghost, only store if j coords are "above and to the right" of i - - js = bins[i]; - - for (j = js; j >= 0; j = bins[j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + if(igroup == jgroup) js = bins[i]; + else js = binhead_multi[jgroup][jbin]; + + // if same group, + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + // if different groups, + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + for (j = js; j >= 0; j = bins[j]) { + if(igroup != jgroup and j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - } else { - - // if different groups, implement with: - // loop over all atoms in jgroup bin - // if j is owned atom, store it if j > i - // if j is ghost, only store if j coords are "above and to the right" of i + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - js = binhead_multi[jgroup][jbin]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - for (j = js; j >= 0; j = bins[j]) { - if(j < i) continue; - - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } } } diff --git a/src/comm.cpp b/src/comm.cpp index 542ddfdf10..867eab6256 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -242,7 +242,6 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; - // Can't used multi/reduce communication with Newton off or full neighbor lits if(multi_reduce){ if (force->newton == 0) error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 74865476f5..939669fb75 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -167,54 +167,55 @@ void CommBrick::setup() error->warning(FLERR,"Communication cutoff is 0.0. No ghost atoms " "will be generated. Atoms may get lost."); + + if (mode == Comm::MULTI) { + if (multi_reduce) { + // If using multi/reduce, communicate itype particles a distance equal + // to the max of itype-jtype group interaction + // only consider smaller jtype groups + int igroup, jgroup; + double **cutmultisq = neighbor->cutmultisq; + int *map_type_multi = neighbor->map_type_multi; + for (i = 1; i <= ntypes; i++) { + + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; + } + + igroup = map_type_multi[i]; + for (j = 1; j <= ntypes; j++){ + jgroup = map_type_multi[j]; + + if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); + } + } + } else { + // otherwise, communicate a distance equal to the maximum interaction distance for each type + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + double tmp = 0.0; + if (cutusermulti) tmp = cutusermulti[i]; + cutghostmulti[i][0] = MAX(tmp,cuttype[i]); + cutghostmulti[i][1] = MAX(tmp,cuttype[i]); + cutghostmulti[i][2] = MAX(tmp,cuttype[i]); + } + } + } + if (triclinic == 0) { prd = domain->prd; sublo = domain->sublo; subhi = domain->subhi; cutghost[0] = cutghost[1] = cutghost[2] = cut; - - if (mode == Comm::MULTI) { - if (multi_reduce) { - // If using multi/reduce, communicate itype particles a distance equal - // to the max of itype-jtype group interaction given smaller jtype group - int igroup, jgroup; - double **cutmultisq = neighbor->cutmultisq; - int *map_type_multi = neighbor->map_type_multi; - for (i = 1; i <= ntypes; i++) { - - if (cutusermulti) { - cutghostmulti[i][0] = cutusermulti[i]; - cutghostmulti[i][1] = cutusermulti[i]; - cutghostmulti[i][2] = cutusermulti[i]; - } else { - cutghostmulti[i][0] = 0.0; - cutghostmulti[i][1] = 0.0; - cutghostmulti[i][2] = 0.0; - } - - igroup = map_type_multi[i]; - for (j = 1; j <= ntypes; j++){ - jgroup = map_type_multi[j]; - - if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); - } - } - } else { - // If using a single binlist, use the max itype-jtype interaction distance for communication - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,cuttype[i]); - cutghostmulti[i][1] = MAX(cut,cuttype[i]); - cutghostmulti[i][2] = MAX(cut,cuttype[i]); - } - } - } - } else { prd = domain->prd_lamda; sublo = domain->sublo_lamda; @@ -227,46 +228,11 @@ void CommBrick::setup() cutghost[1] = cut * length1; length2 = h_inv[2]; cutghost[2] = cut * length2; - - if (mode == Comm::MULTI) { - if (multi_reduce) { - // If using multi/reduce, communicate itype particles a distance equal - // to the max of itype-jtype group interaction given smaller jtype group - int igroup, jgroup; - double **cutmultisq = neighbor->cutmultisq; - int *map_type_multi = neighbor->map_type_multi; - for (i = 1; i <= ntypes; i++) { - - if (cutusermulti) { - cutghostmulti[i][0] = cutusermulti[i]; - cutghostmulti[i][1] = cutusermulti[i]; - cutghostmulti[i][2] = cutusermulti[i]; - } else { - cutghostmulti[i][0] = 0.0; - cutghostmulti[i][1] = 0.0; - cutghostmulti[i][2] = 0.0; - } - - igroup = map_type_multi[i]; - for (j = 1; j <= ntypes; j++){ - jgroup = map_type_multi[j]; - - if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; - cutghostmulti[i][0] = length0 * MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][1] = length1 * MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][2] = length2 * MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); - } - } - } else { - // If using a single binlist, use the max itype-jtype interaction distance for communication - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = length0 * MAX(cut,cuttype[i]); - cutghostmulti[i][1] = length1 * MAX(cut,cuttype[i]); - cutghostmulti[i][2] = length2 * MAX(cut,cuttype[i]); - } + if (mode == Comm::MULTI){ + for (i = 1; i <= ntypes; i++) { + cutghostmulti[i][0] *= length0; + cutghostmulti[i][1] *= length1; + cutghostmulti[i][2] *= length2; } } } diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 64d1207a64..06edbf7416 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -175,10 +175,10 @@ void CommTiled::setup() // check that cutoff < any periodic box length if (mode == Comm::MULTI) { - double cut; if (multi_reduce) { // If using multi/reduce, communicate itype particles a distance equal - // to the max of itype-jtype group interaction given smaller jtype group + // to the max of itype-jtype group interaction + // only consider smaller jtype groups int igroup, jgroup; double **cutmultisq = neighbor->cutmultisq; int *map_type_multi = neighbor->map_type_multi; @@ -205,14 +205,14 @@ void CommTiled::setup() } } } else { - // If using a single binlist, use the max itype-jtype interaction distance for communication + // otherwise, communicate a distance equal to the maximum interaction distance for each type double *cuttype = neighbor->cuttype; for (i = 1; i <= ntypes; i++) { - cut = 0.0; - if (cutusermulti) cut = cutusermulti[i]; - cutghostmulti[i][0] = MAX(cut,cuttype[i]); - cutghostmulti[i][1] = MAX(cut,cuttype[i]); - cutghostmulti[i][2] = MAX(cut,cuttype[i]); + double tmp = 0.0; + if (cutusermulti) tmp = cutusermulti[i]; + cutghostmulti[i][0] = MAX(tmp,cuttype[i]); + cutghostmulti[i][1] = MAX(tmp,cuttype[i]); + cutghostmulti[i][2] = MAX(tmp,cuttype[i]); } } } diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index b8832bdfea..04756ff803 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -59,41 +59,41 @@ void NBinMulti::bin_atoms_setup(int nall) } } -/* --------------------------------------------------------------------- - Identify index of group with smallest cutoff ------------------------------------------------------------------------- */ - -int NBinMulti::igroup_min() -{ - int imin = 0; - for (int n = 0; n < maxgroups; n++) - if (cutmultisq[n][n] < cutmultisq[imin][imin]) imin = n; - - return imin; -} - /* ---------------------------------------------------------------------- setup neighbor binning geometry - ---------------------------------------------------------------------- */ + bin numbering in each dimension is global: + 0 = 0.0 to binsize, 1 = binsize to 2*binsize, etc + nbin-1,nbin,etc = bbox-binsize to bbox, bbox to bbox+binsize, etc + -1,-2,etc = -binsize to 0.0, -2*binsize to -binsize, etc + code will work for any binsize + since next(xyz) and stencil extend as far as necessary + binsize = 1/2 of cutoff is roughly optimal + for orthogonal boxes: + a dim must be filled exactly by integer # of bins + in periodic, procs on both sides of PBC must see same bin boundary + in non-periodic, coord2bin() still assumes this by use of nbin xyz + for triclinic boxes: + tilted simulation box cannot contain integer # of bins + stencil & neigh list built differently to account for this + mbinlo_multi = lowest global bin any of my ghost atoms could fall into for each grouping + mbinhi_multi = highest global bin any of my ghost atoms could fall into for each grouping + mbin_multi = number of bins I need in a dimension for each grouping +------------------------------------------------------------------------- */ void NBinMulti::setup_bins(int style) { int n; - int igroupmin; // Initialize arrays - if (n_multi_groups > maxgroups) { - // Clear any/all memory for existing types - + // Clear any/all memory for existing groupings for (n = 0; n < maxgroups; n++) memory->destroy(binhead_multi[n]); delete [] binhead_multi; - // Realloacte at updated maxtypes - + // Realloacte at updated maxgroups maxgroups = n_multi_groups; binhead_multi = new int*[maxgroups](); @@ -138,14 +138,18 @@ void NBinMulti::setup_bins(int style) memory->destroy(maxbins_multi); memory->create(maxbins_multi, maxgroups, "neigh:maxbins_multi"); - // make sure reallocation occurs in bin_atoms_setup() + // ensure reallocation occurs in bin_atoms_setup() for (n = 0; n < maxgroups; n++) { maxbins_multi[n] = 0; } maxatom = 0; } - igroupmin = igroup_min(); + // Identify smallest group + int igroupmin = 0; + for (n = 0; n < maxgroups; n++) + if (cutmultisq[n][n] < cutmultisq[igroupmin][igroupmin]) + igroupmin = n; // bbox = size of bbox of entire domain // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost @@ -182,16 +186,18 @@ void NBinMulti::setup_bins(int style) // For each grouping... + double binsize_optimal, binsizeinv, coord; + int mbinxhi,mbinyhi,mbinzhi; + for (n = 0; n < maxgroups; n++) { - // binsize_user only relates to smallest type - // optimal bin size is roughly 1/2 the type-type cutoff + // binsize_user only relates to smallest group + // optimal bin size is roughly 1/2 the group-group cutoff // special case of all cutoffs = 0.0, binsize = box size - double binsize_optimal; if (n == igroupmin && binsizeflag) binsize_optimal = binsize_user; else binsize_optimal = 0.5*sqrt(cutmultisq[n][n]); if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; - double binsizeinv = 1.0/binsize_optimal; + binsizeinv = 1.0/binsize_optimal; // test for too many global bins in any dimension due to huge global domain @@ -216,7 +222,7 @@ void NBinMulti::setup_bins(int style) // error if actual bin size << cutoff, since will create a zillion bins // this happens when nbin = 1 and box size << cutoff // typically due to non-periodic, flat system in a particular dim - // in that extreme case, should use NSQ not BIN neighbor style + // in that extreme case, cannot use multi, should use NSQ not BIN neighbor style binsizex_multi[n] = bbox[0]/nbinx_multi[n]; binsizey_multi[n] = bbox[1]/nbiny_multi[n]; @@ -236,9 +242,6 @@ void NBinMulti::setup_bins(int style) // static_cast(-1.5) = -1, so subract additional -1 // add in SMALL for round-off safety - int mbinxhi,mbinyhi,mbinzhi; - double coord; - coord = bsubboxlo[0] - SMALL*bbox[0]; mbinxlo_multi[n] = static_cast ((coord-bboxlo[0])*bininvx_multi[n]); if (coord < bboxlo[0]) mbinxlo_multi[n] = mbinxlo_multi[n] - 1; @@ -340,10 +343,8 @@ void NBinMulti::bin_atoms() double NBinMulti::memory_usage() { double bytes = 0; - - for (int m = 0; m < maxgroups; m++) { + for (int m = 0; m < maxgroups; m++) bytes += maxbins_multi[m]*sizeof(int); - bytes += 2*maxatom*sizeof(int); - } + bytes += 2*maxatom*sizeof(int); return bytes; } diff --git a/src/nbin_multi.h b/src/nbin_multi.h index 84ec0348bc..490af10dbb 100644 --- a/src/nbin_multi.h +++ b/src/nbin_multi.h @@ -35,10 +35,6 @@ class NBinMulti : public NBin { void setup_bins(int); void bin_atoms(); double memory_usage(); - - private: - - int igroup_min(); }; } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 94add1f324..5c8d8ec594 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -83,6 +83,11 @@ static const char cite_neigh_multi[] = " volume = 179,\n" " pages = {320--329}\n" "}\n\n" + "@article{Stratford2018,\n" + " author = {Stratford, Kevin and Shire, Tom and Hanley, Kevin},\n" + " title = {Implementation of multi-level contact detection in LAMMPS},\n" + " year = {2018}\n" + "}\n\n" "@article{Shire2020,\n" " author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},\n" " title = {DEM simulations of polydisperse media: efficient contact\n" @@ -348,7 +353,8 @@ void Neighbor::init() // multi cutoffs if(style == Neighbor::MULTI){ int igroup, jgroup; - // If not defined, create default mapping + + // If not defined from custom grouping, create default map if(not map_type_multi) { n_multi_groups = n; memory->create(map_type_multi,n+1,"neigh:map_type_multi"); @@ -1678,12 +1684,11 @@ int Neighbor::choose_bin(NeighRequest *rq) if (!rq->kokkos_device != !(mask & NB_KOKKOS_DEVICE)) continue; if (!rq->kokkos_host != !(mask & NB_KOKKOS_HOST)) continue; - // neighbor style is BIN or MULTI or MULTI_OLD and must match - - if (style == Neighbor::BIN || style == Neighbor::MULTI_OLD) { - if (!(mask & NB_STANDARD)) continue; - } else if (style == Neighbor::MULTI) { + // multi neighbor style require multi bin style + if (style == Neighbor::MULTI) { if (!(mask & NB_MULTI)) continue; + } else { + if (!(mask & NB_STANDARD)) continue; } return i+1; @@ -1719,7 +1724,6 @@ int Neighbor::choose_stencil(NeighRequest *rq) else if (rq->newton == 2) newtflag = 0; // request a full stencil if building full neighbor list or newton is off - int fullflag = 0; if (rq->full) fullflag = 1; if (!newtflag) fullflag = 1; @@ -1972,7 +1976,6 @@ NPair *Neighbor::pair_creator(LAMMPS *lmp) /* ---------------------------------------------------------------------- setup neighbor binning and neighbor stencils called before run and every reneighbor if box size/shape changes - initialize default settings for multi before run only operates on perpetual lists build_one() operates on occasional lists ------------------------------------------------------------------------- */ @@ -2458,7 +2461,7 @@ void Neighbor::modify_params(int narg, char **arg) n_multi_groups += 1; } - // Create seprate group for each undefined atom type + // Create separate group for each undefined atom type for(i = 1; i <= ntypes; i++){ if(map_type_multi[i] == -1){ map_type_multi[i] = n_multi_groups; diff --git a/src/npair.cpp b/src/npair.cpp index facd9086d1..95a61fbefa 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -304,9 +304,9 @@ int NPair::coord2bin(double *x, int ig) } else iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]) - 1; - - ibin = (iz-mbinzlo_multi[ig])*mbiny_multi[ig]*mbinx_multi[ig] - + (iy-mbinylo_multi[ig])*mbinx_multi[ig] - + (ix-mbinxlo_multi[ig]); + ix -= mbinxlo_multi[ig]; + iy -= mbinylo_multi[ig]; + iz -= mbinzlo_multi[ig]; + ibin = iz*mbiny_multi[ig]*mbinx_multi[ig] + iy*mbinx_multi[ig] + ix; return ibin; -} \ No newline at end of file +} diff --git a/src/npair.h b/src/npair.h index d1fcf2e6b2..c857ec0924 100644 --- a/src/npair.h +++ b/src/npair.h @@ -115,7 +115,7 @@ class NPair : protected Pointers { int coord2bin(double *); // mapping atom coord to a bin int coord2bin(double *, int &, int &, int&); // ditto - int coord2bin(double *, int); // mapping atom coord to type bin + int coord2bin(double *, int); // mapping atom coord to group bin // find_special: determine if atom j is in special list of atom i diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index 777aab5826..aa8f606242 100755 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -88,96 +88,55 @@ void NPairHalfMultiNewton::build(NeighList *list) if(igroup == jgroup) jbin = ibin; else jbin = coord2bin(x[i], jgroup); + // if same size: uses half stencil so check central bin if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ - // if same size: use half stencil - if(igroup == jgroup){ - - // if same group, implement with: - // loop over rest of atoms in i's bin, ghosts are at end of linked list - // if j is owned atom, store it, since j is beyond i in linked list - // if j is ghost, only store if j coords are "above and to the right" of i - - js = bins[i]; + if(igroup == jgroup) js = bins[i]; + else js = binhead_multi[jgroup][jbin]; - for (j = js; j >= 0; j = bins[j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } else { - - // if different groups, implement with: - // loop over all atoms in jgroup bin - // if j is owned atom, store it if j > i - // if j is ghost, only store if j coords are "above and to the right" of i + // if same group, + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i - js = binhead_multi[jgroup][jbin]; + // if different groups, + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - for (j = js; j >= 0; j = bins[j]) { - if(j < i) continue; + for (j = js; j >= 0; j = bins[j]) { + if(igroup != jgroup and j < i) continue; - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + } - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if (rsq <= cutneighsq[itype][jtype]) { - if (molecular) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) - neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; - } - } - } + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq <= cutneighsq[itype][jtype]) { + if (molecular) { + if (!moltemplate) + which = find_special(special[i],nspecial[i],tag[j]); + else if (imol >= 0) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], + tag[j]-tagprev); + else which = 0; + if (which == 0) neighptr[n++] = j; + else if (domain->minimum_image_check(delx,dely,delz)) + neighptr[n++] = j; + else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + } else neighptr[n++] = j; + } + } } // for all groups, loop over all atoms in other bins in stencil, store every pair diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index 500e06bc35..84571a3b02 100755 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -77,80 +77,46 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) if(igroup == jgroup) jbin = ibin; else jbin = coord2bin(x[i], jgroup); + // if same size: uses half stencil so check central bin if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ - - // if same size: use half stencil - if(igroup == jgroup){ - - // if same group, implement with: - // loop over rest of atoms in i's bin, ghosts are at end of linked list - // if j is owned atom, store it, since j is beyond i in linked list - // if j is ghost, only store if j coords are "above and to the right" of i - - js = bins[i]; - - for (j = js; j >= 0; j = bins[j]) { - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); + if(igroup == jgroup) js = bins[i]; + else js = binhead_multi[jgroup][jbin]; + + // if same group, + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + // if different groups, + // if j is owned atom, store it if j > i + // if j is ghost, only store if j coords are "above and to the right" of i - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; + for (j = js; j >= 0; j = bins[j]) { + if(igroup != jgroup and j < i) continue; + + if (j >= nlocal) { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp) { + if (x[j][1] < ytmp) continue; + if (x[j][1] == ytmp && x[j][0] < xtmp) continue; } } - } else { - - // if different groups, implement with: - // loop over all atoms in jgroup bin - // if j is owned atom, store it if j > i - // if j is ghost, only store if j coords are "above and to the right" of i + + jtype = type[j]; + if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - js = binhead_multi[jgroup][jbin]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + radsum = radi + radius[j]; + cutdistsq = (radsum+skin) * (radsum+skin); - for (j = js; j >= 0; j = bins[j]) { - if(j < i) continue; - - if (j >= nlocal) { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp) { - if (x[j][1] < ytmp) continue; - if (x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - } - - jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - radsum = radi + radius[j]; - cutdistsq = (radsum+skin) * (radsum+skin); - - if (rsq <= cutdistsq) { - if (history && rsq < radsum*radsum) - neighptr[n++] = j ^ mask_history; - else - neighptr[n++] = j; - } + if (rsq <= cutdistsq) { + if (history && rsq < radsum*radsum) + neighptr[n++] = j ^ mask_history; + else + neighptr[n++] = j; } } } diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 0000f7b4d3..2000927c63 100755 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -77,7 +77,6 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) if(igroup == jgroup) jbin = ibin; else jbin = coord2bin(x[i], jgroup); - // loop over all atoms in bins in stencil // stencil is empty if i larger than j // stencil is half if i same size as j diff --git a/src/nstencil.cpp b/src/nstencil.cpp index acd7272245..3d86b57b9e 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -55,7 +55,7 @@ using namespace LAMMPS_NS; create one stencil for each igroup-jgroup pairing the full/half stencil label refers to the same-group stencil a half list with newton on has a half same-group stencil - a full list or half list with newton of has a full same-group stencil + a full list or half list with newton off has a full same-group stencil cross group stencils are always full to allow small-to-large lookups for orthogonal boxes, a half stencil includes bins to the "upper right" of central bin for triclinic, a half stencil includes bins in the z (3D) or y (2D) plane of self and above @@ -76,7 +76,7 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) distsq_multi_old = nullptr; nstencil_multi = nullptr; - stencil_multi = nullptr; + stencil_multi = nullptr; maxstencil_multi = nullptr; flag_half_multi = nullptr; @@ -230,7 +230,7 @@ void NStencil::create_setup() int smax = (2*sx+1) * (2*sy+1) * (2*sz+1); // reallocate stencil structs if necessary - // for BIN and MULTI styles + // for BIN and MULTI_OLD styles if (neighstyle == Neighbor::BIN) { if (smax > maxstencil) { @@ -315,9 +315,8 @@ void NStencil::create_setup() set_stencil_properties(); // Allocate arrays to store stencils - if (!maxstencil_multi) { - memory->create(maxstencil_multi, n, n, "neighstencil::stencil_multi"); + memory->create(maxstencil_multi, n, n, "neighstencil::maxstencil_multi"); memory->create(nstencil_multi, n, n, "neighstencil::nstencil_multi"); stencil_multi = new int**[n](); for (i = 0; i < n; ++i) { @@ -325,6 +324,7 @@ void NStencil::create_setup() for (j = 0; j < n; ++j) { maxstencil_multi[i][j] = 0; nstencil_multi[i][j] = 0; + stencil_multi[i][j] = nullptr; } } } @@ -400,21 +400,21 @@ double NStencil::bin_distance(int i, int j, int k) compute closest distance for a given atom grouping ------------------------------------------------------------------------- */ -double NStencil::bin_distance_multi(int i, int j, int k, int group) +double NStencil::bin_distance_multi(int i, int j, int k, int ig) { double delx,dely,delz; - if (i > 0) delx = (i-1)*binsizex_multi[group]; + if (i > 0) delx = (i-1)*binsizex_multi[ig]; else if (i == 0) delx = 0.0; - else delx = (i+1)*binsizex_multi[group]; + else delx = (i+1)*binsizex_multi[ig]; - if (j > 0) dely = (j-1)*binsizey_multi[group]; + if (j > 0) dely = (j-1)*binsizey_multi[ig]; else if (j == 0) dely = 0.0; - else dely = (j+1)*binsizey_multi[group]; + else dely = (j+1)*binsizey_multi[ig]; - if (k > 0) delz = (k-1)*binsizez_multi[group]; + if (k > 0) delz = (k-1)*binsizez_multi[ig]; else if (k == 0) delz = 0.0; - else delz = (k+1)*binsizez_multi[group]; + else delz = (k+1)*binsizez_multi[ig]; return (delx*delx + dely*dely + delz*delz); } @@ -435,13 +435,8 @@ double NStencil::memory_usage() for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { bytes += maxstencil_multi[i][j] * sizeof(int); - bytes += maxstencil_multi[i][j] * sizeof(int); - bytes += maxstencil_multi[i][j] * sizeof(double); } } - bytes += 2 * n * n * sizeof(bool); - bytes += 6 * n * n * sizeof(int); - bytes += 4 * n * n * sizeof(double); } return bytes; } diff --git a/src/nstencil.h b/src/nstencil.h index b06f340d6f..b38276b45f 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -30,7 +30,7 @@ class NStencil : protected Pointers { int *nstencil_multi_old; // # bins in each type-based old multi stencil int **stencil_multi_old; // list of bin offsets in each stencil double **distsq_multi_old; // sq distances to bins in each stencil - int ** nstencil_multi; // # bins bins in each itype-jtype multi stencil + int ** nstencil_multi; // # bins bins in each igroup-jgroup multi stencil int *** stencil_multi; // list of bin offsets in each multi stencil int ** maxstencil_multi; // max stencil size for each multi stencil @@ -42,8 +42,8 @@ class NStencil : protected Pointers { double cutoff_custom; // cutoff set by requestor // Arrays to store options for multi itype-jtype stencils - bool **flag_half_multi; // flag creation of a half stencil for itype-jtype - bool **flag_skip_multi; // skip creation of itype-jtype stencils (for newton on) + bool **flag_half_multi; // flag creation of a half stencil for igroup-jgroup + bool **flag_skip_multi; // skip creation of igroup-jgroup stencils (for newton on) int **bin_group_multi; // what group to use for bin information NStencil(class LAMMPS *); From 3e639fe97957a9398642d63a56389f54824bd8c9 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Mon, 25 Jan 2021 16:41:35 -0600 Subject: [PATCH 062/542] Initial inclusion of rann potential --- src/activation.cpp | 44 + src/activation.h | 39 + src/activation_linear.cpp | 42 + src/activation_linear.h | 42 + src/activation_sigI.cpp | 41 + src/activation_sigI.h | 42 + src/fingerprint.cpp | 106 ++ src/fingerprint.h | 58 + src/fingerprint_bond.cpp | 912 +++++++++ src/fingerprint_bond.h | 67 + src/fingerprint_bondscreened.cpp | 946 +++++++++ src/fingerprint_bondscreened.h | 67 + src/fingerprint_bondscreenedspin.cpp | 1019 ++++++++++ src/fingerprint_bondscreenedspin.h | 67 + src/fingerprint_bondspin.cpp | 1015 ++++++++++ src/fingerprint_bondspin.h | 67 + src/fingerprint_radial.cpp | 253 +++ src/fingerprint_radial.h | 56 + src/fingerprint_radialscreened.cpp | 266 +++ src/fingerprint_radialscreened.h | 59 + src/fingerprint_radialscreenedspin.cpp | 279 +++ src/fingerprint_radialscreenedspin.h | 59 + src/fingerprint_radialspin.cpp | 265 +++ src/fingerprint_radialspin.h | 56 + src/pair_rann.cpp | 2423 ++++++++++++++++++++++++ src/pair_rann.h | 153 ++ src/style_activation.h | 2 + src/style_fingerprint.h | 8 + 28 files changed, 8453 insertions(+) create mode 100644 src/activation.cpp create mode 100644 src/activation.h create mode 100644 src/activation_linear.cpp create mode 100644 src/activation_linear.h create mode 100644 src/activation_sigI.cpp create mode 100644 src/activation_sigI.h create mode 100644 src/fingerprint.cpp create mode 100644 src/fingerprint.h create mode 100644 src/fingerprint_bond.cpp create mode 100644 src/fingerprint_bond.h create mode 100644 src/fingerprint_bondscreened.cpp create mode 100644 src/fingerprint_bondscreened.h create mode 100644 src/fingerprint_bondscreenedspin.cpp create mode 100644 src/fingerprint_bondscreenedspin.h create mode 100644 src/fingerprint_bondspin.cpp create mode 100644 src/fingerprint_bondspin.h create mode 100644 src/fingerprint_radial.cpp create mode 100644 src/fingerprint_radial.h create mode 100644 src/fingerprint_radialscreened.cpp create mode 100644 src/fingerprint_radialscreened.h create mode 100644 src/fingerprint_radialscreenedspin.cpp create mode 100644 src/fingerprint_radialscreenedspin.h create mode 100644 src/fingerprint_radialspin.cpp create mode 100644 src/fingerprint_radialspin.h create mode 100644 src/pair_rann.cpp create mode 100644 src/pair_rann.h create mode 100644 src/style_activation.h create mode 100644 src/style_fingerprint.h diff --git a/src/activation.cpp b/src/activation.cpp new file mode 100644 index 0000000000..aaa409c4b0 --- /dev/null +++ b/src/activation.cpp @@ -0,0 +1,44 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + + +#include "activation.h" + + +using namespace LAMMPS_NS; + +Activation::Activation(PairRANN *pair) { + empty = true; + style = "empty"; +} + +Activation::~Activation(){ + +} + +//default is linear activation (no change). +double Activation::activation_function(double A){ + return A; +} + +double Activation::dactivation_function(double A){ + return 1.0; +} + +double Activation::ddactivation_function(double A){ + return 0.0; +} diff --git a/src/activation.h b/src/activation.h new file mode 100644 index 0000000000..3fba49723d --- /dev/null +++ b/src/activation.h @@ -0,0 +1,39 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#ifndef ACTIVATION_H_ +#define ACTIVATION_H_ + +#include "pair_rann.h" + +namespace LAMMPS_NS { + + class Activation { + public: + Activation(class PairRANN *); + virtual ~Activation(); + virtual double activation_function(double); + virtual double dactivation_function(double); + virtual double ddactivation_function(double); + bool empty; + const char *style; + }; +} + + + +#endif /* ACTIVATION_H_ */ diff --git a/src/activation_linear.cpp b/src/activation_linear.cpp new file mode 100644 index 0000000000..2ad9594be1 --- /dev/null +++ b/src/activation_linear.cpp @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#include +#include "activation_linear.h" +#include "activation.h" + + +using namespace LAMMPS_NS; + +Activation_linear::Activation_linear(PairRANN *pair) : Activation(pair){ + empty = false; + style = "linear"; +} + +double Activation_linear::activation_function(double A) +{ + return A; +} + +double Activation_linear::dactivation_function(double A) +{ + return 1.0; +} + +double Activation_linear::ddactivation_function(double){ + return 0.0; +} diff --git a/src/activation_linear.h b/src/activation_linear.h new file mode 100644 index 0000000000..ba39436f03 --- /dev/null +++ b/src/activation_linear.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu +*/ + +#ifdef ACTIVATION_CLASS + +ActivationStyle(linear,Activation_linear) + +#else + +#ifndef ACTIVATION_LINEAR_H_ +#define ACTIVATION_LINEAR_H_ + +#include "activation.h" + +namespace LAMMPS_NS { + +class Activation_linear : public Activation { +public: + Activation_linear(class PairRANN *); + double activation_function(double); + double dactivation_function(double); + double ddactivation_function(double); +}; + +} + +#endif +#endif /* ACTIVATION_LINEAR_H_ */ diff --git a/src/activation_sigI.cpp b/src/activation_sigI.cpp new file mode 100644 index 0000000000..cdf82982da --- /dev/null +++ b/src/activation_sigI.cpp @@ -0,0 +1,41 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#include +#include "activation_sigI.h" + +using namespace LAMMPS_NS; + +Activation_sigI::Activation_sigI(PairRANN *pair) : Activation(pair){ + empty = false; + style = "sigI"; +} + +double Activation_sigI::activation_function(double in){ + if (in>34)return in; + return 0.1*in + 0.9*log(exp(in) + 1); +} + +double Activation_sigI::dactivation_function(double in){ + if (in>34)return 1; + return 0.1 + 0.9/(exp(in)+1)*exp(in); +} + +double Activation_sigI::ddactivation_function(double in){ + if (in>34)return 0; + return 0.9*exp(in)/(exp(in)+1)/(exp(in)+1);; +} diff --git a/src/activation_sigI.h b/src/activation_sigI.h new file mode 100644 index 0000000000..b47433a336 --- /dev/null +++ b/src/activation_sigI.h @@ -0,0 +1,42 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu +*/ + +#ifdef ACTIVATION_CLASS + +ActivationStyle(sigI,Activation_sigI) + +#else + +#ifndef ACTIVATION_SIGI_H_ +#define ACTIVATION_SIGI_H_ + +#include "activation.h" + +namespace LAMMPS_NS { + + class Activation_sigI : public Activation { + public: + Activation_sigI(class PairRANN *); + double activation_function(double); + double dactivation_function(double); + double ddactivation_function(double); + }; +} + + +#endif +#endif /* ACTIVATION_SIGI_H_ */ diff --git a/src/fingerprint.cpp b/src/fingerprint.cpp new file mode 100644 index 0000000000..cdcb5855bd --- /dev/null +++ b/src/fingerprint.cpp @@ -0,0 +1,106 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#include "fingerprint.h" +#include +#include +#include +#include +#include +#include + + +using namespace LAMMPS_NS; + +Fingerprint::Fingerprint(PairRANN *pair) +{ + spin = false; + screen = false; + empty = true; + fullydefined = false; + n_body_type = 0; + style = "empty"; + this->pair = pair; +} + +Fingerprint::~Fingerprint(){ + +} + +bool Fingerprint::parse_values(char *word,char *line1){ + return false; +} + +void Fingerprint::init(int *i,int id){ + +} + +void Fingerprint::allocate(){ + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + +} + +void Fingerprint::write_values(FILE *fid){ + +} + +int Fingerprint::get_length(){ + return 0; +} + +//Smooth cutoff, goes from 1 to zero over the interval rc-dr to rc. Same as MEAM uses. Used by generateradialtable and generatexpcuttable. +double Fingerprint::cutofffunction(double r,double rc, double dr){ + double out; + if (r < (rc -dr))out=1; + else if (r>rc)out=0; + else { + out = pow(1-pow(1-(rc-r)/dr,4.0),2.0); + } + return out; +} + +void Fingerprint::generate_rinvssqrttable(){ + int buf = 5; + int m; + double r1; + double cutmax = pair->cutmax; + int res = pair->res; + rinvsqrttable = new double[res+buf]; + for (m=0;m<(res+buf);m++){ + r1 = cutmax*cutmax*(double)(m)/(double)(res); + rinvsqrttable[m] = 1/sqrt(r1); + } +} + + + + diff --git a/src/fingerprint.h b/src/fingerprint.h new file mode 100644 index 0000000000..1bef4c0ab8 --- /dev/null +++ b/src/fingerprint.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#ifndef FINGERPRINT_H_ +#define FINGERPRINT_H_ + +#include "pair_rann.h" + +namespace LAMMPS_NS { + + class Fingerprint { + public: + Fingerprint(PairRANN *); + virtual ~Fingerprint(); + virtual bool parse_values(char*,char*); + virtual void write_values(FILE *); + virtual void init(int*,int); + virtual void allocate(); + void init_screen(int); + virtual void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//no screen,no spin + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//screen + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//spin + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//spin,screen + virtual int get_length(); + virtual double cutofffunction(double,double, double); + virtual void generate_rinvssqrttable(); + bool spin; + bool screen; + int n_body_type;//i-j vs. i-j-k vs. i-j-k-l, etc. + bool empty; + bool fullydefined; + int startingneuron; + int id;//based on ordering of fingerprints listed for i-j in potential file + const char *style; + int* atomtypes; + double *rinvsqrttable; + double rc; + PairRANN *pair; + }; + +} + + +#endif /* FINGERPRINT_H_ */ diff --git a/src/fingerprint_bond.cpp b/src/fingerprint_bond.cpp new file mode 100644 index 0000000000..7fdece310c --- /dev/null +++ b/src/fingerprint_bond.cpp @@ -0,0 +1,912 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@cavs.msstate.edu + ----------------------------------------------------------------------*/ + + +#include "fingerprint_bond.h" +#include "fingerprint.h" +#include +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; + +Fingerprint_bond::Fingerprint_bond(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + k = 0; + m = 0; + id = -1; + style = "bond"; + atomtypes = new int [n_body_type]; + empty = true; + pair->allscreen = false; +} + +Fingerprint_bond::~Fingerprint_bond(){ + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(m*(m+1))>>1;i++){ + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bond::parse_values(char * constant, char * line1){ + char **words=new char *[MAXLINE]; + int nwords,l; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(words[0],NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(words[0],NULL); + } + else if (strcmp(constant,"alphak")==0){ + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf("Undefined value for bond power"); + delete [] words; + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; + return false; +} + +void Fingerprint_bond::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",k); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",m); +} + +void Fingerprint_bond::init(int *i,int id){ + for (int j=0;jk = 0; + alpha_k = new double [1]; + alpha_k[0]=-1; + empty = false; + this->id = id; +} + +//number of neurons defined by this fingerprint +int Fingerprint_bond::get_length(){ + return m*k; +} + +void Fingerprint_bond::allocate(){ + generate_exp_cut_table(); + generate_coefficients(); + generate_rinvssqrttable(); +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. +void Fingerprint_bond::generate_exp_cut_table(){ + int m,n; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(this->k)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++){ + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(this->k);n++){ + expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bond::generate_coefficients(){ //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = this->m; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pm+1]; + for (p=0;pm+1;p++){ + M[p]=0; + } + for (p1=0;p1sims[sid]; + ilist = sim->ilist; + numneigh = sim->numneigh; + i = ilist[ii]; +// jnum = numneigh[i]; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(m+1)*m*20){ + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; +// double **x = sim->x; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k+12]; + int p = this->k; + int countmb=((this->m)*(this->m+1))>>1; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + } + double* q = &dfctable[m1-1]; + double* ri = &rinvsqrttable[m1-1]; + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); + + expr[jj][p]=delx*rinvs; + expr[jj][p+1]=dely*rinvs; + expr[jj][p+2]=delz*rinvs; + //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. + if (expr[jj][p]*expr[jj][p]<0.000000000001){ + expr[jj][p] = 0.000001; + } + if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ + expr[jj][p+1] = 0.000001; + } + if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ + expr[jj][p+2] = 0.000001; + } + expr[jj][p+3] = -dfc*expr[jj][p]; + expr[jj][p+4] = rinvs/expr[jj][p]; + expr[jj][p+5] = rinvs*expr[jj][p]; + expr[jj][p+6] = -dfc*expr[jj][p+1]; + expr[jj][p+7] = rinvs/expr[jj][p+1]; + expr[jj][p+8] = rinvs*expr[jj][p+1]; + expr[jj][p+9] = -dfc*expr[jj][p+2]; + expr[jj][p+10] = rinvs/expr[jj][p+2]; + expr[jj][p+11] = rinvs*expr[jj][p+2]; + } + + int kb = this->k; + int mb = this->m; + count = startingneuron; + double Bb[mb]; + double dBbx; + double dBby; + double dBbz; +// double dBbx1[mb]; +// double dBby1[mb]; +// double dBbz1[mb]; + double yprod; + for (mcount=0;mcountcoeffx[mcount]; + int *coeffy = this->coeffy[mcount]; + int *coeffz = this->coeffz[mcount]; + int *coeff = this->coeff[mcount]; + a = mb+1; + for (a1=0;a1map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; + double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = this->k; + int mb = this->m; + double c41[this->k]; + double c51[this->k]; + double c61[this->k]; + double ct[this->k]; + for (jj = 0; jj < jnum; jj++) { +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + } + double* q = &dfctable[m1-1]; + double* r2 = &rinvsqrttable[m1-1]; + dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); + y[jj][0]=delx*ri[jj]; + y[jj][1]=dely*ri[jj]; + y[jj][2]=delz*ri[jj]; + } +// if (i==5){ +// for (jj=0;jjmap[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype){ + continue; + } + for (n = 0;nk;n++){ + ct[n] = 2*alpha_k[n]/re; + c41[n]=(-ct[n]+2*dfc[jj])*y[jj][0]; + c51[n]=(-ct[n]+2*dfc[jj])*y[jj][1]; + c61[n]= (-ct[n]+2*dfc[jj])*y[jj][2]; + } + if (jtypes==ktypes){ + for (kk=jj+1;kk< jnum; kk++){ + if (expr[kk][0]==0)continue; +// int k1 = jlist[kk]; +// k1 &= NEIGHMASK; +// ktype = pair->map[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = 2*ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = 2*ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = 2*ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = 2*ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = 2*ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = 2*ri[kk]*(y[jj][2]-dot*y[kk][2]); +// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); +// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); +// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); +// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); +// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); +// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); + for (n=0;nmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); +// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); +// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); +// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); +// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); +// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); +// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); + for (n=0;n +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; + +Fingerprint_bondscreened::Fingerprint_bondscreened(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + k = 0; + m = 0; + id = -1; + style = "bondscreened"; + atomtypes = new int [n_body_type]; + empty = true; + pair->doscreen = true; + screen = true; +} + +Fingerprint_bondscreened::~Fingerprint_bondscreened(){ + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(m*(m+1))>>1;i++){ + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondscreened::parse_values(char * constant, char * line1){ + char **words=new char *[MAXLINE]; + int nwords,l; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(words[0],NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(words[0],NULL); + } + else if (strcmp(constant,"alphak")==0){ + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf("Undefined value for bond power"); + delete [] words; + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; + return false; +} + +void Fingerprint_bondscreened::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",k); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",m); +} + +void Fingerprint_bondscreened::init(int *i,int id){ + for (int j=0;jk = 0; + alpha_k = new double [1]; + alpha_k[0]=-1; + empty = false; + this->id = id; +} + +//number of neurons defined by this fingerprint +int Fingerprint_bondscreened::get_length(){ + return m*k; +} + +void Fingerprint_bondscreened::allocate(){ + generate_exp_cut_table(); + generate_coefficients(); + generate_rinvssqrttable(); +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. +void Fingerprint_bondscreened::generate_exp_cut_table(){ + int m,n; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(this->k)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++){ + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(this->k);n++){ + expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondscreened::generate_coefficients(){ //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = this->m; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pm+1]; + for (p=0;pm+1;p++){ + M[p]=0; + } + for (p1=0;p1sims[sid]; +// ilist = sim->ilist; +// numneigh = sim->numneigh; +// i = ilist[ii]; +// jnum = numneigh[i]; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(m+1)*m*20){ + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; +// double **x = sim->x; + //double **f = atom->f; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k+12]; + int p = this->k; + int countmb=((this->m)*(this->m+1))>>1; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx=xn[jj]; + dely=yn[jj]; + delz=zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + expr[jj][kk] *= Sik[jj]; + } + double* q = &dfctable[m1-1]; + double* ri = &rinvsqrttable[m1-1]; + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); + + expr[jj][p]=delx*rinvs; + expr[jj][p+1]=dely*rinvs; + expr[jj][p+2]=delz*rinvs; + //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. + if (expr[jj][p]*expr[jj][p]<0.000000000001){ + expr[jj][p] = 0.000001; + } + if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ + expr[jj][p+1] = 0.000001; + } + if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ + expr[jj][p+2] = 0.000001; + } + expr[jj][p+3] = -dfc*expr[jj][p]-dSikx[jj]; + expr[jj][p+4] = rinvs/expr[jj][p]; + expr[jj][p+5] = rinvs*expr[jj][p]; + expr[jj][p+6] = -dfc*expr[jj][p+1]-dSiky[jj]; + expr[jj][p+7] = rinvs/expr[jj][p+1]; + expr[jj][p+8] = rinvs*expr[jj][p+1]; + expr[jj][p+9] = -dfc*expr[jj][p+2]-dSikz[jj]; + expr[jj][p+10] = rinvs/expr[jj][p+2]; + expr[jj][p+11] = rinvs*expr[jj][p+2]; + } + + int kb = this->k; + int mb = this->m; +// int ind = kb+mb*kb; + count = startingneuron; + double Bb[mb]; + double dBbx; + double dBby; + double dBbz; + double dBbx1[mb]; + double dBby1[mb]; + double dBbz1[mb]; + double yprod; + for (mcount=0;mcountcoeffx[mcount]; + int *coeffy = this->coeffy[mcount]; + int *coeffz = this->coeffz[mcount]; + int *coeff = this->coeff[mcount]; + a = mb+1; + for (a1=0;a1map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; +// double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = this->k; + int mb = this->m; + double Bijk[kb][mb]; + double c41[this->k]; + double c51[this->k]; + double c61[this->k]; + double ct[this->k]; + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + expr[jj][kk] *= Sik[jj]; + } + double* q = &dfctable[m1-1]; + double* r2 = &rinvsqrttable[m1-1]; + dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); + y[jj][0]=delx*ri[jj]; + y[jj][1]=dely*ri[jj]; + y[jj][2]=delz*ri[jj]; + } + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} + if (expr[jj][0]==0)continue; +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype =tn[jj]; + if (jtypes != nelements && jtypes != jtype){ + continue; + } + for (n = 0;nk;n++){ + ct[n] = alpha_k[n]/re; + c41[n]=(-ct[n]+dfc[jj])*y[jj][0]+dSikx[jj]; + c51[n]=(-ct[n]+dfc[jj])*y[jj][1]+dSiky[jj]; + c61[n]=(-ct[n]+dfc[jj])*y[jj][2]+dSikz[jj]; + } + for (n=0;nmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); + for (n=0;nSik[kk]*pair->Sik[jj]; +// double c4 = c41[n]+4*pair->dSikx[kk]; +// double c5 = c51[n]+4*pair->dSiky[kk]; +// double c6 = c61[n]+4*pair->dSikz[kk]; +// //m=0 +// features[count]+=dot1; +// Bijk[n][0]+=dot1; +// dfeaturesx[jj*f+count]+=dot1*c4; +// dfeaturesy[jj*f+count]+=dot1*c5; +// dfeaturesz[jj*f+count]+=dot1*c6; +// c4*=dot; +// c5*=dot; +// c6*=dot; +// count++; +// for (m=1;mmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + count = startingneuron; + for (n=0;nBij[kk]==false){continue;} +// if (expr[kk][0]==0)continue; +// int k1 = jlist[kk]; +// k1 &= NEIGHMASK; +// ktype = pair->map[type[k1]]; +// if (ktypes != nelements && ktypes != ktype){ +// continue; +// } +// count = startingneuron; +// double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); +// double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); +// double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); +// double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); +// double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); +// double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); +// double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); +// for (n=0;nSik[kk]*pair->Sik[jj]; +// double c4 = c41[n]/2; +// double c5 = c51[n]/2; +// double c6 = c61[n]/2; +// double ct2 = -ct[n]/2+dfc[kk]; +// double c42 = ct2*y[kk][0]+pair->dSikx[kk]; +// double c52 = ct2*y[kk][1]+pair->dSiky[kk]; +// double c62 = ct2*y[kk][2]+pair->dSikz[kk]; +// //m=0 +// features[count]+=dot1; +// dfeaturesx[jj*f+count]+=dot1*c4; +// dfeaturesy[jj*f+count]+=dot1*c5; +// dfeaturesz[jj*f+count]+=dot1*c6; +// dfeaturesx[kk*f+count]+=dot1*c42; +// dfeaturesy[kk*f+count]+=dot1*c52; +// dfeaturesz[kk*f+count]+=dot1*c62; +// c4*=dot; +// c5*=dot; +// c6*=dot; +// c42*=dot; +// c52*=dot; +// c62*=dot; +// count++; +// for (m=1;m +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; + +Fingerprint_bondscreenedspin::Fingerprint_bondscreenedspin(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + k = 0; + m = 0; + id = -1; + style = "bondscreenedspin"; + atomtypes = new int [n_body_type]; + empty = true; + pair->doscreen = true; + screen = true; + pair->dospin = true; + spin = true; +} + +Fingerprint_bondscreenedspin::~Fingerprint_bondscreenedspin(){ + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(m*(m+1))>>1;i++){ + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondscreenedspin::parse_values(char * constant, char * line1){ + char **words=new char *[MAXLINE]; + int nwords,l; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(words[0],NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(words[0],NULL); + } + else if (strcmp(constant,"alphak")==0){ + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf("Undefined value for bond power"); + delete [] words; + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; + return false; +} + +void Fingerprint_bondscreenedspin::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",k); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",m); +} + +void Fingerprint_bondscreenedspin::init(int *i,int id){ + for (int j=0;jk = 0; + alpha_k = new double [1]; + alpha_k[0]=-1; + empty = false; + this->id = id; +} + +//number of neurons defined by this fingerprint +int Fingerprint_bondscreenedspin::get_length(){ + return m*k; +} + +void Fingerprint_bondscreenedspin::allocate(){ + generate_exp_cut_table(); + generate_coefficients(); + generate_rinvssqrttable(); +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. +void Fingerprint_bondscreenedspin::generate_exp_cut_table(){ + int m,n; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(this->k)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++){ + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(this->k);n++){ + expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondscreenedspin::generate_coefficients(){ //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = this->m; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pm+1]; + for (p=0;pm+1;p++){ + M[p]=0; + } + for (p1=0;p1sims[sid]; +// ilist = sim->ilist; +// numneigh = sim->numneigh; +// i = ilist[ii]; +// jnum = numneigh[i]; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(m+1)*m*20){ + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondscreenedspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; +// double **x = sim->x; + //double **f = atom->f; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k+12]; + int p = this->k; + int countmb=((this->m)*(this->m+1))>>1; + double *si = sim->s[i]; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx=xn[jj]; + dely=yn[jj]; + delz=zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + expr[jj][kk] *= Sik[jj]; + } + double* q = &dfctable[m1-1]; + double* ri = &rinvsqrttable[m1-1]; + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); + + expr[jj][p]=delx*rinvs; + expr[jj][p+1]=dely*rinvs; + expr[jj][p+2]=delz*rinvs; + //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. + if (expr[jj][p]*expr[jj][p]<0.000000000001){ + expr[jj][p] = 0.000001; + } + if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ + expr[jj][p+1] = 0.000001; + } + if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ + expr[jj][p+2] = 0.000001; + } + expr[jj][p+3] = -dfc*expr[jj][p]-dSikx[jj]; + expr[jj][p+4] = rinvs/expr[jj][p]; + expr[jj][p+5] = rinvs*expr[jj][p]; + expr[jj][p+6] = -dfc*expr[jj][p+1]-dSiky[jj]; + expr[jj][p+7] = rinvs/expr[jj][p+1]; + expr[jj][p+8] = rinvs*expr[jj][p+1]; + expr[jj][p+9] = -dfc*expr[jj][p+2]-dSikz[jj]; + expr[jj][p+10] = rinvs/expr[jj][p+2]; + expr[jj][p+11] = rinvs*expr[jj][p+2]; + } + + int kb = this->k; + int mb = this->m; +// int ind = kb+mb*kb; + count = startingneuron; + double Bb[mb]; + double Bbs[mb]; + double dBbx; + double dBby; + double dBbz; +// double dBbx1[mb]; +// double dBby1[mb]; +// double dBbz1[mb]; + double yprod; + for (mcount=0;mcountcoeffx[mcount]; + int *coeffy = this->coeffy[mcount]; + int *coeffz = this->coeffz[mcount]; + int *coeff = this->coeff[mcount]; + a = mb+1; + for (a1=0;a1map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; +// double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = this->k; + int mb = this->m; + double Bijk[kb][mb]; + double c41[this->k]; + double c51[this->k]; + double c61[this->k]; + double ct[this->k]; + double *si = sim->s[i]; + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + expr[jj][kk] *= Sik[jj]; + } + double* q = &dfctable[m1-1]; + double* r2 = &rinvsqrttable[m1-1]; + dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); + y[jj][0]=delx*ri[jj]; + y[jj][1]=dely*ri[jj]; + y[jj][2]=delz*ri[jj]; + } + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} + if (expr[jj][0]==0)continue; +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype =tn[jj]; + if (jtypes != nelements && jtypes != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + for (n = 0;nk;n++){ + ct[n] = alpha_k[n]/re; + c41[n]=(-ct[n]+dfc[jj])*y[jj][0]+dSikx[jj]; + c51[n]=(-ct[n]+dfc[jj])*y[jj][1]+dSiky[jj]; + c61[n]=(-ct[n]+dfc[jj])*y[jj][2]+dSikz[jj]; + } + for (n=0;nmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + j = jl[kk]; + double *sk = sim->s[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); + for (n=0;nSik[kk]*pair->Sik[jj]; +// double c4 = c41[n]+4*pair->dSikx[kk]; +// double c5 = c51[n]+4*pair->dSiky[kk]; +// double c6 = c61[n]+4*pair->dSikz[kk]; +// //m=0 +// features[count]+=dot1; +// Bijk[n][0]+=dot1; +// dfeaturesx[jj*f+count]+=dot1*c4; +// dfeaturesy[jj*f+count]+=dot1*c5; +// dfeaturesz[jj*f+count]+=dot1*c6; +// c4*=dot; +// c5*=dot; +// c6*=dot; +// count++; +// for (m=1;mmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + count = startingneuron; + for (n=0;nBij[kk]==false){continue;} +// if (expr[kk][0]==0)continue; +// int k1 = jlist[kk]; +// k1 &= NEIGHMASK; +// ktype = pair->map[type[k1]]; +// if (ktypes != nelements && ktypes != ktype){ +// continue; +// } +// count = startingneuron; +// double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); +// double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); +// double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); +// double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); +// double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); +// double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); +// double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); +// for (n=0;nSik[kk]*pair->Sik[jj]; +// double c4 = c41[n]/2; +// double c5 = c51[n]/2; +// double c6 = c61[n]/2; +// double ct2 = -ct[n]/2+dfc[kk]; +// double c42 = ct2*y[kk][0]+pair->dSikx[kk]; +// double c52 = ct2*y[kk][1]+pair->dSiky[kk]; +// double c62 = ct2*y[kk][2]+pair->dSikz[kk]; +// //m=0 +// features[count]+=dot1; +// dfeaturesx[jj*f+count]+=dot1*c4; +// dfeaturesy[jj*f+count]+=dot1*c5; +// dfeaturesz[jj*f+count]+=dot1*c6; +// dfeaturesx[kk*f+count]+=dot1*c42; +// dfeaturesy[kk*f+count]+=dot1*c52; +// dfeaturesz[kk*f+count]+=dot1*c62; +// c4*=dot; +// c5*=dot; +// c6*=dot; +// c42*=dot; +// c52*=dot; +// c62*=dot; +// count++; +// for (m=1;m +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; + +Fingerprint_bondspin::Fingerprint_bondspin(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + k = 0; + m = 0; + id = -1; + style = "bondspin"; + atomtypes = new int [n_body_type]; + empty = true; + pair->allscreen = false; + pair->dospin = true; + spin = true; +} + +Fingerprint_bondspin::~Fingerprint_bondspin(){ + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(m*(m+1))>>1;i++){ + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondspin::parse_values(char * constant, char * line1){ + char **words=new char *[MAXLINE]; + int nwords,l; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(words[0],NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(words[0],NULL); + } + else if (strcmp(constant,"alphak")==0){ + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf("Undefined value for bond power"); + delete [] words; + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; + return false; +} + +void Fingerprint_bondspin::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",k); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",m); +} + +void Fingerprint_bondspin::init(int *i,int id){ + for (int j=0;jk = 0; + alpha_k = new double [1]; + alpha_k[0]=-1; + empty = false; + this->id = id; +} + +//number of neurons defined by this fingerprint +int Fingerprint_bondspin::get_length(){ + return m*k; +} + +void Fingerprint_bondspin::allocate(){ + generate_exp_cut_table(); + generate_coefficients(); + generate_rinvssqrttable(); +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. +void Fingerprint_bondspin::generate_exp_cut_table(){ + int m,n; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(this->k)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++){ + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(this->k);n++){ + expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondspin::generate_coefficients(){ //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = this->m; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pm+1]; + for (p=0;pm+1;p++){ + M[p]=0; + } + for (p1=0;p1sims[sid]; + ilist = sim->ilist; + numneigh = sim->numneigh; + i = ilist[ii]; +// jnum = numneigh[i]; + //select the more efficient algorithm for this particular potential and environment. + + if (jnum*2>(m+1)*m*20){ + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; +// double **x = sim->x; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k+12]; + int p = this->k; + int countmb=((this->m)*(this->m+1))>>1; + double *si = sim->s[i]; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); + } + double* q = &dfctable[m1-1]; + double* ri = &rinvsqrttable[m1-1]; + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); + + expr[jj][p]=delx*rinvs; + expr[jj][p+1]=dely*rinvs; + expr[jj][p+2]=delz*rinvs; + //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. + if (expr[jj][p]*expr[jj][p]<0.000000000001){ + expr[jj][p] = 0.000001; + } + if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ + expr[jj][p+1] = 0.000001; + } + if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ + expr[jj][p+2] = 0.000001; + } + expr[jj][p+3] = -dfc*expr[jj][p]; + expr[jj][p+4] = rinvs/expr[jj][p]; + expr[jj][p+5] = rinvs*expr[jj][p]; + expr[jj][p+6] = -dfc*expr[jj][p+1]; + expr[jj][p+7] = rinvs/expr[jj][p+1]; + expr[jj][p+8] = rinvs*expr[jj][p+1]; + expr[jj][p+9] = -dfc*expr[jj][p+2]; + expr[jj][p+10] = rinvs/expr[jj][p+2]; + expr[jj][p+11] = rinvs*expr[jj][p+2]; + } + + int kb = this->k; + int mb = this->m; + count = startingneuron; + double Bb[mb]; + double Bbs[mb]; + double dBbx; + double dBby; + double dBbz; +// double dBbx1[mb]; +// double dBby1[mb]; +// double dBbz1[mb]; + double yprod; + for (mcount=0;mcountcoeffx[mcount]; + int *coeffy = this->coeffy[mcount]; + int *coeffz = this->coeffz[mcount]; + int *coeff = this->coeff[mcount]; + a = mb+1; + for (a1=0;a1map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[2] != nelements && atomtypes[2] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2map[type[j]]; + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; + double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + double expr[jnum][this->k]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = this->k; + int mb = this->m; + double c41[this->k]; + double c51[this->k]; + double c61[this->k]; + double ct[this->k]; + double *si = sim->s[i]; + for (jj = 0; jj < jnum; jj++) { +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ + expr[jj][0]=0; + continue; + } +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc){ + expr[jj][0]=0; + continue; + } +// j = jl[jj]; +// double *sj = sim->s[j]; +// double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*this->k]; + double *p1 = &expcuttable[m1*this->k]; + double *p2 = &expcuttable[(m1+1)*this->k]; + double *p3 = &expcuttable[(m1+2)*this->k]; + for (kk=0;kkk;kk++){ + expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); +// expr[jj][kk]*= sp; + } + double* q = &dfctable[m1-1]; + double* r2 = &rinvsqrttable[m1-1]; + dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); + y[jj][0]=delx*ri[jj]; + y[jj][1]=dely*ri[jj]; + y[jj][2]=delz*ri[jj]; + } +// if (i==5){ +// for (jj=0;jjmap[type[j]]; + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype){ + continue; + } + j = jl[jj]; + double *sj = sim->s[j]; + double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + for (n = 0;nk;n++){ + ct[n] = 2*alpha_k[n]/re; + c41[n]=(-ct[n]+2*dfc[jj])*y[jj][0]; + c51[n]=(-ct[n]+2*dfc[jj])*y[jj][1]; + c61[n]= (-ct[n]+2*dfc[jj])*y[jj][2]; + } + if (jtypes==ktypes){ + for (kk=jj+1;kk< jnum; kk++){ + if (expr[kk][0]==0)continue; +// int k1 = jlist[kk]; +// k1 &= NEIGHMASK; +// ktype = pair->map[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + j = jl[kk]; + double *sk = sim->s[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = 2*ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = 2*ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = 2*ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = 2*ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = 2*ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = 2*ri[kk]*(y[jj][2]-dot*y[kk][2]); +// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); +// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); +// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); +// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); +// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); +// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); + for (n=0;nmap[type[k1]]; + ktype = tn[kk]; + if (ktypes != nelements && ktypes != ktype){ + continue; + } + j = jl[kk]; + double *sk = sim->s[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); +// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); +// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); +// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); +// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); +// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); +// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); + for (n=0;n +#include +#include +#include +#include +#include + + +using namespace LAMMPS_NS; + +Fingerprint_radial::Fingerprint_radial(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + n = 0; + o = 0; + id = -1; + style = "radial"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + pair->allscreen = false; +} + +Fingerprint_radial::~Fingerprint_radial() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radial::parse_values(char* constant,char * line1){ + int l; + char **words=new char *[MAXLINE]; + int nwords; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(line1,NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(line1,NULL); + } + else if (strcmp(constant,"alpha")==0){ + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf("Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + delete [] words; + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; + return false; +} + +void Fingerprint_radial::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(n-o+1);i++){ + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",o); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",n); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radial::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++){ + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(n-o);m++){ + radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radial::init(int *i,int id) +{ + empty = false; + for (int j=0;jid = id; +} + +void Fingerprint_radial::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) +{ + int nelements = pair->nelements; + int res = pair->res; + int i,j,jj,itype,jtype,l; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; +// double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype =tn[jj]; + if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} + if (radialtable[m1]==0){continue;} + //cubic interpolation from tables + double *p1 = &radialtable[m1*(n-o+1)]; + double *p2 = &radialtable[(m1+1)*(n-o+1)]; + double *p3 = &radialtable[(m1+2)*(n-o+1)]; + double *p0 = &radialtable[(m1-1)*(n-o+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(n-o);l++){ + double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); + features[count]+=rt; + rt *= (l+o)/rsq+(-alpha[l]/re+dfc)*ri; + //update neighbor's features + dfeaturesx[jj*f+count]+=rt*delx; + dfeaturesy[jj*f+count]+=rt*dely; + dfeaturesz[jj*f+count]+=rt*delz; + //update atom's features + dfeaturesx[jnum*f+count]-=rt*delx; + dfeaturesy[jnum*f+count]-=rt*dely; + dfeaturesz[jnum*f+count]-=rt*delz; + count++; + } + } + +} + +int Fingerprint_radial::get_length() +{ + return n-o+1; +} diff --git a/src/fingerprint_radial.h b/src/fingerprint_radial.h new file mode 100644 index 0000000000..e828aa2c41 --- /dev/null +++ b/src/fingerprint_radial.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#ifdef FINGERPRINT_CLASS + +FingerprintStyle(radial,Fingerprint_radial) + +#else + +#ifndef FINGERPRINT_RADIAL_H_ +#define FINGERPRINT_RADIAL_H_ + +#include "fingerprint.h" + +namespace LAMMPS_NS { + +class Fingerprint_radial : public Fingerprint { + public: + Fingerprint_radial(PairRANN *); + ~Fingerprint_radial(); + bool parse_values(char*,char*); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int n;//highest term + int o;//lowest term + +}; + + +} + +#endif +#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/fingerprint_radialscreened.cpp b/src/fingerprint_radialscreened.cpp new file mode 100644 index 0000000000..003c7abbc3 --- /dev/null +++ b/src/fingerprint_radialscreened.cpp @@ -0,0 +1,266 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + + +#include "fingerprint_radialscreened.h" +#include +#include +#include +#include +#include +#include + + +using namespace LAMMPS_NS; + +Fingerprint_radialscreened::Fingerprint_radialscreened(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + n = 0; + o = 0; + id = -1; + style = "radialscreened"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + pair->doscreen = true; + screen = true; +} + +Fingerprint_radialscreened::~Fingerprint_radialscreened() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialscreened::parse_values(char* constant,char * line1){ + int l; + char **words=new char *[MAXLINE]; + int nwords; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(line1,NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(line1,NULL); + } + else if (strcmp(constant,"alpha")==0){ + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf("Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + delete [] words; + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; + return false; +} + +void Fingerprint_radialscreened::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(n-o+1);i++){ + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",o); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",n); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialscreened::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++){ + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(n-o);m++){ + radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialscreened::init(int *i,int id) +{ + empty = false; + for (int j=0;jid = id; +} + +void Fingerprint_radialscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) +{ + int nelements = pair->nelements; + int res = pair->res; + int i,j,jj,itype,jtype,l,kk; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; + double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} + if (radialtable[m1]==0){continue;} + //cubic interpolation from tables + double *p1 = &radialtable[m1*(n-o+1)]; + double *p2 = &radialtable[(m1+1)*(n-o+1)]; + double *p3 = &radialtable[(m1+2)*(n-o+1)]; + double *p0 = &radialtable[(m1-1)*(n-o+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(n-o);l++){ + double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); + features[count]+=rt; + double rt1 = rt*((l+o)/rsq+(-alpha[l]/re+dfc)*ri); + //update neighbor's features + dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; + dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; + dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; + for (kk=0;kk +#include +#include +#include +#include +#include + + +using namespace LAMMPS_NS; + +Fingerprint_radialscreenedspin::Fingerprint_radialscreenedspin(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + n = 0; + o = 0; + id = -1; + style = "radialscreenedspin"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + pair->doscreen = true; + screen = true; + pair->dospin = true; + spin = true; +} + +Fingerprint_radialscreenedspin::~Fingerprint_radialscreenedspin() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialscreenedspin::parse_values(char* constant,char * line1){ + int l; + char **words=new char *[MAXLINE]; + int nwords; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(line1,NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(line1,NULL); + } + else if (strcmp(constant,"alpha")==0){ + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf("Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + delete [] words; + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; + return false; +} + +void Fingerprint_radialscreenedspin::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(n-o+1);i++){ + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",o); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",n); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialscreenedspin::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++){ + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(n-o);m++){ + radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialscreenedspin::init(int *i,int id) +{ + empty = false; + for (int j=0;jid = id; +} + +void Fingerprint_radialscreenedspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) +{ + int nelements = pair->nelements; + int res = pair->res; + int i,j,jj,itype,jtype,l,kk; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; + double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + double *si = sim->s[i]; +// numneigh = sim->numneigh; +// firstneigh = sim->firstneigh; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; +// jlist = firstneigh[i]; +// jnum = numneigh[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false){continue;} +// j = jlist[jj]; +// j &= NEIGHMASK; +// jtype = pair->map[type[j]]; + jtype = tn[jj]; + if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} + if (radialtable[m1]==0){continue;} + j=jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + //cubic interpolation from tables + double *p1 = &radialtable[m1*(n-o+1)]; + double *p2 = &radialtable[(m1+1)*(n-o+1)]; + double *p3 = &radialtable[(m1+2)*(n-o+1)]; + double *p0 = &radialtable[(m1-1)*(n-o+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(n-o);l++){ + double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); + //update neighbor's features + dspinx[jj*f+count]+=rt*si[0]; + dspiny[jj*f+count]+=rt*si[1]; + dspinz[jj*f+count]+=rt*si[2]; + dspinx[jnum*f+count]+=rt*sj[0]; + dspiny[jnum*f+count]+=rt*sj[1]; + dspinz[jnum*f+count]+=rt*sj[2]; + rt *= sp; + features[count]+=rt; + double rt1 = rt*((l+o)/rsq+(-alpha[l]/re+dfc)*ri); + dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; + dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; + dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; + for (kk=0;kk +#include +#include +#include +#include +#include + + +using namespace LAMMPS_NS; + +Fingerprint_radialspin::Fingerprint_radialspin(PairRANN *pair) : Fingerprint(pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + n = 0; + o = 0; + id = -1; + style = "radialspin"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + pair->allscreen = false; + pair->dospin = true; + spin = true; +} + +Fingerprint_radialspin::~Fingerprint_radialspin() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialspin::parse_values(char* constant,char * line1){ + int l; + char **words=new char *[MAXLINE]; + int nwords; + nwords=0; + words[nwords++] = strtok(line1,": ,\t\n"); + while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; + nwords -= 1; + if (strcmp(constant,"re")==0){ + re = strtod(line1,NULL); + } + else if (strcmp(constant,"rc")==0){ + rc = strtod(line1,NULL); + } + else if (strcmp(constant,"alpha")==0){ + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf("Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + delete [] words; + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; + return false; +} + +void Fingerprint_radialspin::write_values(FILE *fid){ + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(n-o+1);i++){ + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",o); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",n); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialspin::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++){ + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(n-o);m++){ + radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialspin::init(int *i,int id) +{ + empty = false; + for (int j=0;jid = id; +} + +void Fingerprint_radialspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) +{ + int nelements = pair->nelements; + int res = pair->res; + int i,j,jj,itype,jtype,l; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; +// double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + double *si = sim->s[i]; +// numneigh = sim->numneigh; + firstneigh = sim->firstneigh; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; + jlist = firstneigh[i]; +// jnum = numneigh[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + j = jl[jj]; + // jtype = pair->map[type[j]]; + jtype =tn[jj]; + if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; + // delx = xtmp - x[j][0]; + // dely = ytmp - x[j][1]; + // delz = ztmp - x[j][2]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} + if (radialtable[m1]==0){continue;} + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + //cubic interpolation from tables + double *p1 = &radialtable[m1*(n-o+1)]; + double *p2 = &radialtable[(m1+1)*(n-o+1)]; + double *p3 = &radialtable[(m1+2)*(n-o+1)]; + double *p0 = &radialtable[(m1-1)*(n-o+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(n-o);l++){ + double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); + dspinx[jj*f+count]+=rt*si[0]; + dspiny[jj*f+count]+=rt*si[1]; + dspinz[jj*f+count]+=rt*si[2]; + dspinx[jnum*f+count]+=rt*sj[0]; + dspiny[jnum*f+count]+=rt*sj[1]; + dspinz[jnum*f+count]+=rt*sj[2]; + rt *= sp; + features[count]+=rt; + rt *= (l+o)/rsq+(-alpha[l]/re+dfc)*ri; + //update neighbor's features + dfeaturesx[jj*f+count]+=rt*delx; + dfeaturesy[jj*f+count]+=rt*dely; + dfeaturesz[jj*f+count]+=rt*delz; + //update atom's features + dfeaturesx[jnum*f+count]-=rt*delx; + dfeaturesy[jnum*f+count]-=rt*dely; + dfeaturesz[jnum*f+count]-=rt*delz; + count++; + } + } + +} + +int Fingerprint_radialspin::get_length() +{ + return n-o+1; +} diff --git a/src/fingerprint_radialspin.h b/src/fingerprint_radialspin.h new file mode 100644 index 0000000000..c42b904d61 --- /dev/null +++ b/src/fingerprint_radialspin.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + ----------------------------------------------------------------------*/ + +#ifdef FINGERPRINT_CLASS + +FingerprintStyle(radialspin,Fingerprint_radialspin) + +#else + +#ifndef FINGERPRINT_RADIALspin_H_ +#define FINGERPRINT_RADIALspin_H_ + +#include "fingerprint.h" + +namespace LAMMPS_NS { + +class Fingerprint_radialspin : public Fingerprint { + public: + Fingerprint_radialspin(PairRANN *); + ~Fingerprint_radialspin(); + bool parse_values(char*,char*); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int n;//highest term + int o;//lowest term + +}; + + +} + +#endif +#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/pair_rann.cpp b/src/pair_rann.cpp new file mode 100644 index 0000000000..84333d7710 --- /dev/null +++ b/src/pair_rann.cpp @@ -0,0 +1,2423 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@cavs.msstate.edu + ----------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include +#include "atom.h" +#include "style_fingerprint.h" +#include "style_activation.h" +#include "force.h" +#include "comm.h" +#include "memory.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "memory.h" +#include "error.h" +#include "update.h" +#include "pair_rann.h" + + + +using namespace LAMMPS_NS; + +PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; + + allocated = 0; + + nelements = -1; + elements = NULL; + mass = NULL; + + // set comm size needed by this Pair + // comm unused for now. + + comm_forward = 38; + comm_reverse = 30; + res = 10000; + cutmax = 0; + //at least one of the following will change during fingerprint definition: + doscreen = false; + allscreen = true; + dospin = false; + + fingerprint_map = new FingerprintCreatorMap(); + + #define FINGERPRINT_CLASS + #define FingerprintStyle(key,Class) \ + (*fingerprint_map)[#key] = &fingerprint_creator; + #include "style_fingerprint.h" + #undef FingerprintStyle + #undef FINGERPRINT_CLASS + + activation_map = new ActivationCreatorMap(); + + #define ACTIVATION_CLASS + #define ActivationStyle(key,Class) \ + (*activation_map)[#key] = &activation_creator; + #include "style_activation.h" + #undef ActivationStyle + #undef ACTIVATION_CLASS +} + +PairRANN::~PairRANN() +{ + //clear memory + delete [] mass; + for (int i=0;i0){ + for (int j=0;j0){ + delete [] fingerprints[i]; + delete [] activation[i]; + } + } + delete [] fingerprints; + delete [] activation; + delete [] fingerprintcount; + delete [] fingerprintperelement; + delete [] fingerprintlength; + delete [] screening_min; + delete [] screening_max; +} + + + +void PairRANN::allocate(char **elementword) +{ + int i,j,k,l,n; + n = atom->ntypes; + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + cutmax = 0; + nelementsp=nelements+1; + //initialize arrays + elements = new char *[nelements]; + elementsp = new char *[nelementsp];//elements + 'all' + mass = new double[nelements]; + net = new NNarchitecture[nelementsp]; + weightdefined = new bool*[nelementsp]; + biasdefined = new bool *[nelementsp]; + activation = new Activation**[nelementsp]; + fingerprints = new Fingerprint**[nelementsp]; + fingerprintlength = new int[nelementsp]; + fingerprintperelement = new int [nelementsp]; + fingerprintcount = new int[nelementsp]; + screening_min = new double [nelements*nelements*nelements]; + screening_max = new double [nelements*nelements*nelements]; + for (i=0;i 0) error->all(FLERR,"Illegal pair_style command"); +} + +void PairRANN::coeff(int narg, char **arg) +{ + int i,j; + map = new int [atom->ntypes+1]; + + + if (narg != 3 + atom->ntypes) + error->all(FLERR,"Incorrect args for pair coefficients"); + + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); + nelements = -1; + read_file(arg[2]); + + // read args that map atom types to elements in potential file + // map[i] = which element the Ith atom type is, -1 if NULL + + for (i = 3; i < narg; i++) { + if (strcmp(arg[i],"NULL") == 0) { + map[i-2] = -1; + continue; + } + for (j = 0; j < nelements; j++) + { + if (strcmp(arg[i],elements[j]) == 0) break; + } + if (j < nelements) map[i-2] = j; + else error->all(FLERR,"No matching element in NN potential file"); + } + // clear setflag since coeff() called once with I,J = * * + + int n = atom->ntypes; + for (i = 1; i <= n; i++) + for (j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements + // set mass of atom type if i = j + + int count = 0; + for (i = 1; i <= n; i++) { + for (j = i; j <= n; j++) { + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + if (i == j) atom->set_mass(FLERR,i,mass[map[i]]); + count++; + } + } + } + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + for (i=0;iallocate(); + } + } + allocated=1; +} + +void PairRANN::read_file(char *filename) +{ + FILE *fp; + int eof = 0,i,j,k,l; + int n,nwords; + char line [MAXLINE],line1[MAXLINE]; + + char *ptr; + bool comment; + char str[128]; + fp = force->open_potential(filename); + if (fp == NULL) { + sprintf(str,"Cannot open NN potential file %s",filename); + error->one(FLERR,str); + } + while (eof == 0){ + ptr = fgets(line,MAXLINE,fp); + if (ptr == NULL) { + if (check_potential()) {//looks to see if everything needed appears to be defined + error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); + } + else{ + update_stack_size(); + fclose(fp); + eof = 1; + break; + } + } + else n = strlen(line) + 1; + // strip comment, skip line if blank + if ((ptr = strchr(line,'#'))) *ptr = '\0'; + nwords = count_words(line); + char **words = new char* [strlen(line)]; + if (nwords == 0) continue; + comment = true; + while (comment==true){ + ptr = fgets(line1,MAXLINE,fp); + if (ptr==NULL)error->one(FLERR,"Unexpected end of file"); + if ((ptr = strchr(line1,'#'))) *ptr = '\0'; + nwords = count_words(line1); + if (nwords == 0) continue; + comment = false; + } + nwords = 0; + words[nwords++] = strtok(line,": ,\t_\n"); + while ((words[nwords++] = strtok(NULL,": ,\t_\n"))) continue; + if (strcmp(words[0],"atomtypes")==0)read_atom_types(words,line1); + else if (strcmp(words[0],"mass")==0)read_mass(words,line1); + else if (strcmp(words[0],"fingerprintsperelement")==0)read_fpe(words,line1); + else if (strcmp(words[0],"fingerprints")==0)read_fingerprints(words,nwords-1,line1); + else if (strcmp(words[0],"fingerprintconstants")==0)read_fingerprint_constants(words,nwords-1,line1); + else if (strcmp(words[0],"networklayers")==0)read_network_layers(words,line1); + else if (strcmp(words[0],"layersize")==0)read_layer_size(words,line1); + else if (strcmp(words[0],"weight")==0)read_weight(words,line1,fp); + else if (strcmp(words[0],"bias")==0)read_bias(words,line1,fp); + else if (strcmp(words[0],"activationfunctions")==0)read_activation_functions(words,line1); + else if (strcmp(words[0],"calibrationparameters")==0)continue;//information on how the network was trained + else if (strcmp(words[0],"screening")==0)read_screening(words,nwords-1,line1); + else error->one(FLERR,"Could not understand file syntax: unknown keyword"); + delete [] words; + } +} + +void PairRANN::read_atom_types(char **words,char * line1){ + int nwords = 0; + int t = count_words(line1)+1; + char **elementword = new char *[t]; + elementword[nwords++] = strtok(line1," ,\t:_\n"); + while ((elementword[nwords++] = strtok(NULL," ,\t:_\n"))) continue; + if (nwords < 1) errorf("Incorrect syntax for atom types"); + elementword[nwords-1] = new char [strlen("all")+1]; + char elt [] = "all"; + strcpy(elementword[nwords-1],elt); + nelements = nwords-1; + allocate(elementword); +} + +void PairRANN::read_mass(char **words,char * line1){ + if (nelements == -1)error->one(FLERR,"atom types must be defined before mass in potential file."); + int nwords = 0,i; + for (i=0;ione(FLERR,"mass element not found in atom types."); +} + +void PairRANN::read_fpe(char **words,char * line1){ + int i,j; + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints per element in potential file."); + for (i=0;ione(FLERR,"fingerprint-per-element element not found in atom types"); +} + +void PairRANN::read_fingerprints(char **words,int nwords,char * line1){ + int nwords1=0,i,j,k,l,m,i1; + bool found; + char str[MAXLINE]; + char **words1 = new char * [count_words(line1)+1]; + words1[nwords1++] = strtok(line1," ,\t:_\n"); + while ((words1[nwords1++] = strtok(NULL," ,\t:_\n"))) continue; + nwords1 -= 1; + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + int atomtypes[nwords-1]; + for (i=1;ione(FLERR,"fingerprint element not found in atom types");} + } + i = atomtypes[0]; + k = 0; + if (fingerprintperelement[i]==-1){error->one(FLERR,"fingerprint per element must be defined before fingerprints");} + while (kn_body_type); + std::cout<n_body_type!=nwords-1){error->one(FLERR,"invalid fingerprint for element combination");} + k++; + fingerprints[i][i1]->init(atomtypes,strtol(words1[k++],NULL,10)); + fingerprintcount[i]++; + } + delete [] words1; +} + + +void PairRANN::read_fingerprint_constants(char **words,int nwords,char * line1){ + int i,j,k,l,m,i1; + bool found; + char str [128]; + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + int n_body_type = nwords-4; + int atomtypes[n_body_type]; + for (i=1;i<=n_body_type;i++){ + found = false; + for (j=0;jone(FLERR,"fingerprint element not found in atom types");} + } + i = atomtypes[0]; + found = false; + for (k=0;kempty){continue;} + if (n_body_type!=fingerprints[i][k]->n_body_type){continue;} + for (j=0;jatomtypes[j]!=atomtypes[j]){break;} + if (j==n_body_type-1){ + if (strcmp(words[nwords-3],fingerprints[i][k]->style)==0 && strtol(words[nwords-2],NULL,10)==fingerprints[i][k]->id){ + found=true; + i1 = k; + break; + } + } + } + if (found){break;} + } + if (!found){error->one(FLERR,"cannot define constants for unknown fingerprint");} + fingerprints[i][i1]->fullydefined=fingerprints[i][i1]->parse_values(words[nwords-1],line1); +} + +void PairRANN::read_network_layers(char **words,char *line1){ + int i,j; + if (nelements == -1)error->one(FLERR,"atom types must be defined before network layers in potential file."); + for (i=0;ione(FLERR,"invalid number of network layers"); + delete [] net[i].dimensions; + net[i].dimensions = new int [net[i].layers]; + weightdefined[i] = new bool [net[i].layers]; + biasdefined[i] = new bool [net[i].layers]; + net[i].Weights = new double * [net[i].layers-1]; + net[i].Biases = new double * [net[i].layers-1]; + for (j=0;jone(FLERR,"network layers element not found in atom types"); +} + +void PairRANN::read_layer_size(char **words,char* line1){ + int i; + for (i=0;ione(FLERR,"networklayers for each atom type must be defined before the corresponding layer sizes."); + int j = strtol(words[2],NULL,10); + if (j>=net[i].layers || j<0){errorf("invalid layer in layer size definition");}; + net[i].dimensions[j]= strtol(line1,NULL,10); +// net[i].Weights[j] = new double [1]; +// net[i].Weights[j][0]=0; +// net[i].Biases[j] = new double [1]; +// net[i].Biases[j][0] = 0; + return; + } + } + error->one(FLERR,"layer size element not found in atom types"); +} + +void PairRANN::read_weight(char **words,char* line1,FILE* fp){ + int i,j,k,l,nwords; + char *ptr; + char **words1; + for (l=0;lone(FLERR,"networklayers must be defined before weights."); + i=strtol(words[2],NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid weight layer"); + if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(FLERR,"network layer sizes must be defined before corresponding weight"); +// delete [] net[l].Weights[i]; + net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; + weightdefined[l][i] = true; + int n = count_words(line1)+1; + words1 = new char* [n]; + nwords=0; + words1[nwords++] = strtok(line1," ,\t:_\n"); + while ((words1[nwords++] = strtok(NULL," ,\t:_\n"))) continue; + nwords -= 1; + if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); + for (k=0;kone(FLERR,"invalid weights per line"); + for (k=0;kone(FLERR,"weight element not found in atom types"); +} + +void PairRANN::read_bias(char **words,char* line1,FILE* fp){ + int i,j,l,nwords; + char *ptr; + for (l=0;lone(FLERR,"networklayers must be defined before biases."); + i=strtol(words[2],NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid bias layer"); + if (net[l].dimensions[i]==0) error->one(FLERR,"network layer sizes must be defined before corresponding bias"); +// delete [] net[l].Biases[i]; + biasdefined[l][i] = true; + net[l].Biases[i] = new double [net[l].dimensions[i+1]]; + words[0] = strtok(line1," ,\t:_\n"); + net[l].Biases[i][0] = strtod(words[0],NULL); + for (j=1;jone(FLERR,"bias element not found in atom types"); +} + +void PairRANN::read_activation_functions(char** words,char * line1){ + int i,j,l,nwords; + int *ptr; + for (l=0;lone(FLERR,"networklayers must be defined before activation functions."); + i = strtol(words[2],NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid activation layer"); + nwords=0; + words[nwords++] = strtok(line1," ,\t:_\n"); + delete activation[l][i]; + activation[l][i]=create_activation(line1); + return; + } + } + error->one(FLERR,"activation function element not found in atom types"); +} + +void PairRANN::read_screening(char** words,int nwords,char *line1){ + int i,j,k; + bool found; +// char str[MAXLINE]; +// sprintf(str,"%d\n",nwords); +// for (i=0;inet[i].maxlayer)net[i].maxlayer = net[i].dimensions[j]; + } + if (net[i].dimensions[net[i].layers-1]!=1)return true;//output layer must have single neuron (the energy) + for (j=0;jempty)return true;//undefined activations + for (k=0;kfullydefined==false)return true; + fingerprints[i][j]->startingneuron = fingerprintlength[i]; + fingerprintlength[i] +=fingerprints[i][j]->get_length(); + if (fingerprints[i][j]->rc>cutmax){cutmax = fingerprints[i][j]->rc;} + } + if (net[i].dimensions[0]!=fingerprintlength[i])return true; + } + return false;//everything looks good +} + +void PairRANN::compute(int eflag, int vflag) +{ + //perform force/energy computation_ + if (dospin){ + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin pair styles require metal units"); + if (!atom->sp_flag) + error->all(FLERR,"Spin pair styles requires atom/spin style"); + } + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = vflag_atom = 0; + int ii,i,j; + int nn = 0; + sims = new Simulation[1]; + sims->inum = listfull->inum; + sims->ilist=listfull->ilist; + sims->id = listfull->ilist; + sims->type = atom->type; + sims->x = atom->x; + sims->numneigh = listfull->numneigh; + sims->firstneigh = listfull->firstneigh; + if (dospin){ + sims->s = atom->sp; + } + int itype,f,jnum,len; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + if (eflag_global){eng_vdwl=0;eng_coul=0;} + double energy=0; + double **force = atom->f; + double **fm = atom->fm; + double **virial = vatom; + char str[MAXLINE]; + //loop over atoms + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + clock_t t3 = clock(); + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&energy,force,fm,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&energy,force,virial,ii,jnum,jl); + } + //testdfeatures(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii); + clock_t t4 = clock(); + double ts = (double) (t2-t1) / CLOCKS_PER_SEC * 1000.0; + double tf = (double) (t3-t2) / CLOCKS_PER_SEC * 1000.0; + double tp = (double) (t4-t3) / CLOCKS_PER_SEC * 1000.0; + sprintf(str,"screen time: %f, fingerprint time: %f, propagation time: %f\n",ts,tf,tp); +// std::cout<cutmax*cutmax){ + continue; + } + xn[count]=delx; + yn[count]=dely; + zn[count]=delz; + tn[count]=jtype; + jl[count]=j; + count++; + } + jnum[0]=count+1; +} + +void PairRANN::screen_neighbor_list(double *xn,double *yn, double *zn,int *tn, int* jnum,int *jl,int i,int sn,bool *Bij,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz){ + double xnc[jnum[0]],ync[jnum[0]],znc[jnum[0]]; + double Sikc[jnum[0]]; + double dSikxc[jnum[0]]; + double dSikyc[jnum[0]]; + double dSikzc[jnum[0]]; + double dSijkxc[jnum[0]][jnum[0]]; + double dSijkyc[jnum[0]][jnum[0]]; + double dSijkzc[jnum[0]][jnum[0]]; + int jj,kk,count,count1,tnc[jnum[0]],jlc[jnum[0]]; + count = 0; + for (jj=0;jjtype; + inum = sims->inum; + ilist = sims->ilist; + int f = net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + i = sims->ilist[ii]; + numneigh = sims->numneigh; + firstneigh = sims->firstneigh; + jlist = firstneigh[i]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + double features1x [f]; + double features2x [f]; + double features1y [f]; + double features2y [f]; + double features1z [f]; + double features2z [f]; + double features1sx [f]; + double features2sx [f]; + double features1sy [f]; + double features2sy [f]; + double features1sz [f]; + double features2sz [f]; + double dfeaturesx1[f*jnum]; + double dfeaturesy1[f*jnum]; + double dfeaturesz1[f*jnum]; + double dspinx1[f*jnum]; + double dspiny1[f*jnum]; + double dspinz1[f*jnum]; + double dfxtest[f*jnum]; + double dfytest[f*jnum]; + double dfztest[f*jnum]; + double dfstestx[f*jnum]; + double dfstesty[f*jnum]; + double dfstestz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + xn[jj] = xn[jj]-2*del; + if (doscreen){ + screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); + } + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;kspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + yn[jj] = yn[jj]-2*del; + if (doscreen){ + screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); + } + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;kspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + zn[jj] = zn[jj]-2*del; + if (doscreen){ + screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); + } + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;ks[jj1][0]+=del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + sims->s[jj1][0]-=2*del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;ks[jj1][0]+=del; + sims->s[jj1][1]+=del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + sims->s[jj1][1]-=2*del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;ks[jj1][1]+=del; + sims->s[jj1][2]+=del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + sims->s[jj1][2]-=2*del; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + for (k=0;ks[jj1][2]+=del; + for (k=0;kone(FLERR,"terminate"); + } +} + +void PairRANN::testdenergy(){ + double **force = atom->f; + double **fm = atom->fm; + double del = 0.00002; + int ii,i,j; + int nn = 0; + double ex1,ex2,ey1,ey2,ez1,ez2,esx1,esx2,esy1,esy2,esz1,esz2; + ex1=ex2=ey1=ey2=ez1=ez2=esx1=esx2=esy1=esy2=esz1=esz2=0.0; + double **force1 = new double *[listfull->maxatom]; + double **fm1 = new double *[listfull->maxatom]; + double **force1n = new double *[listfull->maxatom]; + double **fm1n = new double *[listfull->maxatom]; + for (i=0;imaxatom;i++){ + force1[i]=new double [3]; + fm1[i] = new double [3]; + force1n[i]=new double [3]; + fm1n[i] = new double [3]; + } + for (int n=0;ninum;n++){ + int itype,f,jnum,len; + double **virial = vatom; + char str[MAXLINE]; + eng_vdwl=0; + //loop over atoms + sims->x[n][0]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ex1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ex1,force1,virial,ii,jnum,jl); + } + ex1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->x[n][0]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ex2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ex2,force1,virial,ii,jnum,jl); + } + ex2=eng_vdwl; + } + force1n[n][0]=(ex1-ex2)/2/del; + eng_vdwl=0; + //loop over atoms + sims->x[n][0]+=del; + sims->x[n][1]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ey1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ey1,force1,virial,ii,jnum,jl); + } + ey1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->x[n][1]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ey2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ey2,force1,virial,ii,jnum,jl); + } + ey2=eng_vdwl; + } + eng_vdwl=0; + force1n[n][1]=(ey1-ey2)/2/del; + //loop over atoms + sims->x[n][1]+=del; + sims->x[n][2]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ez1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ez1,force1,virial,ii,jnum,jl); + } + ez1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->x[n][2]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ez2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ez2,force1,virial,ii,jnum,jl); + } + ez2=eng_vdwl; + } + eng_vdwl=0; + sims->x[n][2]+=del; + force1n[n][2]=(ez1-ez2)/2/del; + + //loop over atoms + sims->s[n][0]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esx1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esx1,force1,virial,ii,jnum,jl); + } + esx1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->s[n][0]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esx2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esx2,force1,virial,ii,jnum,jl); + } + esx2=eng_vdwl; + } + eng_vdwl=0; + fm1n[n][0]=(esx1-esx2)/2/del; + //loop over atoms + sims->s[n][0]+=del; + sims->s[n][1]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esy1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esy1,force1,virial,ii,jnum,jl); + } + esy1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->s[n][1]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esy2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esy2,force1,virial,ii,jnum,jl); + } + esy2=eng_vdwl; + } + eng_vdwl=0; + fm1n[n][1]=(esy1-esy2)/2/del; + //loop over atoms + sims->x[n][1]+=del; + sims->x[n][2]+=del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esz1,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esz1,force1,virial,ii,jnum,jl); + } + esz1=eng_vdwl; + } + eng_vdwl=0; + //loop over atoms + sims->s[n][2]-=2*del; + for (ii=0;iiinum;ii++){ + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + double xn[jnum]; + double yn[jnum]; + double zn[jnum]; + int tn[jnum]; + int jl[jnum]; + cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); + double features [f]; + double dfeaturesx[f*jnum]; + double dfeaturesy[f*jnum]; + double dfeaturesz[f*jnum]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin){ + propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esz2,force1,fm1,virial,ii,jnum,jl); + } + else { + propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esz2,force1,virial,ii,jnum,jl); + } + esz2=eng_vdwl; + } + eng_vdwl=0; + sims->s[n][2]+=del; + fm1n[n][2]=(esz1-esz2)/2/del; + sprintf(str,"atom: %d fx: %f fxn: %f fy: %f fyn: %f fz: %f fzn: %f fmx: %f fmxn: %f fmy: %f fmyn: %f fmz: %f fmzn: %f\n",n,force[n][0],force1n[n][0],force[n][1],force1n[n][1],force[n][2],force1n[n][2],fm[n][0],fm1n[n][0],fm[n][1],fm1n[n][1],fm[n][2],fm1n[n][2]); + std::cout<x; + double xtmp,ytmp,ztmp,delx,dely,delz,rij,delx2,dely2,delz2,rik,delx3,dely3,delz3,rjk; + i = sim->ilist[ii]; + itype = map[sim->type[i]]; +// jnum = sim->numneigh[i]; +// jlist = sim->firstneigh[i]; +// xtmp = x[i][0]; +// ytmp = x[i][1]; +// ztmp = x[i][2]; + for (int jj=0;jjtype[k]]; + ktype = tn[kk]; +// delx2 = xtmp - x[k][0]; +// dely2 = ytmp - x[k][1]; +// delz2 = ztmp - x[k][2]; + delx2 = xn[kk]; + dely2 = yn[kk]; + delz2 = zn[kk]; + rik = delx2*delx2+dely2*dely2+delz2*delz2; + if (rik>cutmax*cutmax){ + Bij[kk]= false; + continue; + } + for (jj=0;jjtype[j]]; +// delx = xtmp - x[j][0]; +// dely = ytmp - x[j][1]; +// delz = ztmp - x[j][2]; + jtype = tn[jj]; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rij = delx*delx+dely*dely+delz*delz; + if (rij>cutmax*cutmax){ + Bij[jj] = false; + continue; + } +// delx3 = x[j][0]-x[k][0]; +// dely3 = x[j][1]-x[k][1]; +// delz3 = x[j][2]-x[k][2]; + delx3 = delx2-delx; + dely3 = dely2-dely; + delz3 = delz2-delz; + rjk = delx3*delx3+dely3*dely3+delz3*delz3; + if (rik+rjk<=rij){continue;}//bond angle > 90 degrees + if (rik+rij<=rjk){continue;}//bond angle > 90 degrees + double Cmax = screening_max[itype*nelements*nelements+jtype*nelements+ktype]; + double Cmin = screening_min[itype*nelements*nelements+jtype*nelements+ktype]; + double temp1 = rij-rik+rjk; + Cn = temp1*temp1-4*rij*rjk; + //Cn = (rij-rik+rjk)*(rij-rik+rjk)-4*rij*rjk; + temp1 = rij-rjk; + Cd = temp1*temp1-rik*rik; + //Cd = (rij-rjk)*(rij-rjk)-rik*rik; + Cijk = Cn/Cd; + //Cijk = 1+2*(rik*rij+rik*rjk-rik*rik)/(rik*rik-(rij-rjk)*(rij-rjk)); + C = (Cijk-Cmin)/(Cmax-Cmin); + if (C>=1){continue;} + else if (C<=0){ + Bij[kk]=false; + break; + } + dC = Cmax-Cmin; + dC *= dC; + dC *= dC; + temp1 = 1-C; + temp1 *= temp1; + temp1 *= temp1; + Sijk = 1-temp1; + Sijk *= Sijk; + Dij = 4*rik*(Cn+4*rjk*(rij+rik-rjk))/Cd/Cd; + Dik = -4*(rij*Cn+rjk*Cn+8*rij*rik*rjk)/Cd/Cd; + Djk = 4*rik*(Cn+4*rij*(rik-rij+rjk))/Cd/Cd; + temp1 = Cijk-Cmax; + double temp2 = temp1*temp1; + dfc = 8*temp1*temp2/(temp2*temp2-dC); + Sik[kk] *= Sijk; + dSijkx[kk*jnum+jj] = dfc*(delx*Dij-delx3*Djk); + dSikx[kk] += dfc*(delx2*Dik+delx3*Djk); + dSijky[kk*jnum+jj] = dfc*(dely*Dij-dely3*Djk); + dSiky[kk] += dfc*(dely2*Dik+dely3*Djk); + dSijkz[kk*jnum+jj] = dfc*(delz*Dij-delz3*Djk); + dSikz[kk] += dfc*(delz2*Dik+delz3*Djk); + } + } +} + + +//Called by getproperties. Propagate features and dfeatures through network. Updates force and energy +void PairRANN::propagateforward(double *features,double *dfeaturesx,double *dfeaturesy,double *dfeaturesz, double * energy,double **force,double **virial, int ii,int jnum,int *jl){ + int i,j,k,jj,j1,itype,i1; + int *ilist,*numneigh; + ilist = listfull->ilist; + int inum = listfull->inum; + int *type = atom->type; + i1=ilist[ii]; + itype = map[type[i1]]; + NNarchitecture net1 = net[itype]; +// numneigh = listfull->numneigh; +// jnum = numneigh[ilist[ii]]+1;//extra value on the end of the array is the self term. +// firstneigh = listfull->firstneigh; +// jlist = firstneigh[i1]; + int L = net1.layers-1; + double layer[net1.maxlayer]; + double sum[net1.maxlayer]; + double sum1[net1.maxlayer]; + double dlayerx[jnum][net1.maxlayer]; + double dlayersumx[jnum][net1.maxlayer]; + double dlayery[jnum][net1.maxlayer]; + double dlayersumy[jnum][net1.maxlayer]; + double dlayerz[jnum][net1.maxlayer]; + double dlayersumz[jnum][net1.maxlayer]; + //energy output with forces from analytical derivatives + double dsum1; + int f = net1.dimensions[0]; + for (i=0;idactivation_function(sum[j]); + sum[j] = activation[itype][i]->activation_function(sum[j]); + if (i==L-1){ + energy[j] = sum[j]; + if (eflag_atom)eatom[i1]=sum[j]; + if (eflag_global){eng_vdwl +=sum[j];} + } + //force propagation + for (jj=0;jjilist; + int inum = listfull->inum; + int *type = atom->type; + i1=ilist[ii]; + itype = map[type[i1]]; + NNarchitecture net1 = net[itype]; +// numneigh = listfull->numneigh; +// jnum = numneigh[ilist[ii]]+1;//extra value on the end of the array is the self term. +// firstneigh = listfull->firstneigh; +// jlist = firstneigh[i1]; + int L = net1.layers-1; + double layer[net1.maxlayer]; + double sum[net1.maxlayer]; + double sum1[net1.maxlayer]; + double dlayerx[jnum][net1.maxlayer]; + double dlayersumx[jnum][net1.maxlayer]; + double dlayery[jnum][net1.maxlayer]; + double dlayersumy[jnum][net1.maxlayer]; + double dlayerz[jnum][net1.maxlayer]; + double dlayersumz[jnum][net1.maxlayer]; + double dsx[jnum][net1.maxlayer]; + double dssumx[jnum][net1.maxlayer]; + double dsy[jnum][net1.maxlayer]; + double dssumy[jnum][net1.maxlayer]; + double dsz[jnum][net1.maxlayer]; + double dssumz[jnum][net1.maxlayer]; + //energy output with forces from analytical derivatives + double dsum1; + int f = net1.dimensions[0]; + for (i=0;idactivation_function(sum[j]); + sum[j] = activation[itype][i]->activation_function(sum[j]); + if (i==L-1){ + energy[j] = sum[j]; + if (eflag_atom)eatom[i1]=sum[j]; + if (eflag_global){eng_vdwl +=sum[j];} + } + //force propagation + for (jj=0;jjrequest(this,instance_me); + neighbor->requests[irequest_full]->id = 1; + neighbor->requests[irequest_full]->half = 0; + neighbor->requests[irequest_full]->full = 1; +} + + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairRANN::init_one(int i, int j) +{ + return cutmax; +} + +void PairRANN::errorf(char * message){ + this->error->all(FLERR,message); +} + +template +Fingerprint *PairRANN::fingerprint_creator(PairRANN* pair) +{ + return new T(pair); +} + +Fingerprint *PairRANN::create_fingerprint(const char *style) +{ + if (fingerprint_map->find(style) != fingerprint_map->end()) { + FingerprintCreator fingerprint_creator = (*fingerprint_map)[style]; + return fingerprint_creator(this); + } + char str[128]; + sprintf(str,"Unknown fingerprint style %s",style); + error->all(FLERR,str); + return NULL; +} + +template +Activation *PairRANN::activation_creator(PairRANN* pair) +{ + return new T(pair); +} + +Activation *PairRANN::create_activation(const char *style) +{ + if (activation_map->find(style) != activation_map->end()) { + ActivationCreator activation_creator = (*activation_map)[style]; + return activation_creator(this); + } + char str[128]; + sprintf(str,"Unknown activation style %s",style); + error->all(FLERR,str); + return NULL; +} + diff --git a/src/pair_rann.h b/src/pair_rann.h new file mode 100644 index 0000000000..d2746954d2 --- /dev/null +++ b/src/pair_rann.h @@ -0,0 +1,153 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@cavs.msstate.edu + ----------------------------------------------------------------------*/ + + +#ifdef PAIR_CLASS + +PairStyle(rann,PairRANN) + +#else + +#ifndef LMP_PAIR_RANN +#define LMP_PAIR_RANN + +#define MAXLINE 4096 + +#include "neigh_list.h" +#include "pair.h" +#include +#include +#include +#include + +namespace LAMMPS_NS { + +class PairRANN : public Pair { + public: + + //inherited functions + PairRANN(class LAMMPS *); + ~PairRANN(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + void init_list(int , NeighList *); + void errorf(char*); + int count_words(char *); + //black magic for modular fingerprints and activations + class Activation ***activation; + class Fingerprint ***fingerprints; + typedef Fingerprint *(*FingerprintCreator)(PairRANN *); + typedef Activation *(*ActivationCreator)(PairRANN *); + typedef std::map FingerprintCreatorMap; + typedef std::map ActivationCreatorMap; + FingerprintCreatorMap *fingerprint_map; + ActivationCreatorMap *activation_map; + Fingerprint * create_fingerprint(const char *); + Activation * create_activation(const char *); + + //global variables + int nelements; // # of elements (distinct from LAMMPS atom types since multiple atom types can be mapped to one element) + int nelementsp; // nelements+1 + char **elements; // names of elements + char **elementsp; // names of elements with "all" appended as the last "element" + double *mass; // mass of each element + double cutmax; // max radial distance for neighbor lists + int *map; // mapping from atom types to elements + int *fingerprintcount; // static variable used in initialization + int *fingerprintlength; // # of input neurons defined by fingerprints of each element. + int *fingerprintperelement; // # of fingerprints for each element + bool doscreen;//screening is calculated if any defined fingerprint uses it + bool allscreen;//all fingerprints use screening so screened neighbors can be completely ignored + bool dospin; + int res;//Resolution of function tables for cubic interpolation. + int memguess; +// double *Sik,*dSikx,*dSiky,*dSikz,*dSijkx,*dSijky,*dSijkz; +// bool *Bij; + double *screening_min; + double *screening_max; + bool **weightdefined; + bool **biasdefined; + + struct Simulation{ + int *id; + bool forces; + bool spins; + double **x; + double **f; + double **s; + double box[3][3]; + double origin[3]; + double **features; + double **dfx; + double **dfy; + double **dfz; + double **dsx; + double **dsy; + double **dsz; + int *ilist,*numneigh,**firstneigh,*type,inum,gnum; + }; + Simulation *sims; + + struct NNarchitecture{ + int layers; + int *dimensions;//vector of length layers with entries for neurons per layer + double **Weights; + double **Biases; + int *activations;//unused + int maxlayer;//longest layer (for memory allocation) + }; + NNarchitecture *net;//array of networks, 1 for each element. + + private: + template static Fingerprint *fingerprint_creator(PairRANN *); + template static Activation *activation_creator(PairRANN *); + //new functions + void allocate(char **);//called after reading element list, but before reading the rest of the potential + void read_file(char *);//read potential file + void read_atom_types(char **,char *); + void read_mass(char **,char *); + void read_fpe(char**,char *);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations + void read_fingerprints(char **,int,char *); + void read_fingerprint_constants(char **,int,char *); + void read_network_layers(char**,char*);//include input and output layer (hidden layers + 2) + void read_layer_size(char**,char*); + void read_weight(char**,char*,FILE*);//weights should be formatted as properly shaped matrices + void read_bias(char**,char*,FILE*);//biases should be formatted as properly shaped vectors + void read_activation_functions(char**,char*); + void read_screening(char**,int, char*); + bool check_potential();//after finishing reading potential file + void propagateforward(double *,double *,double *,double *,double *,double **,double **,int,int,int*);//called by compute to get force and energy + void propagateforwardspin(double *,double *,double *,double *,double *,double *,double *,double *,double **,double **,double**,int,int,int*);//called by compute to get force and energy + void screen(double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int *,int); + void testdfeatures(double *,double *, double *, double *,double *,double *, double *,int); + void testdenergy(); + void cull_neighbor_list(double *,double *,double *,int *,int *,int *,int,int); + void screen_neighbor_list(double *,double *,double *,int *,int *,int *,int,int,bool*,double*,double*,double*,double*,double*,double*,double*); + void update_stack_size(); +}; + +} + +#endif +#endif + + + diff --git a/src/style_activation.h b/src/style_activation.h new file mode 100644 index 0000000000..4cdd4ff031 --- /dev/null +++ b/src/style_activation.h @@ -0,0 +1,2 @@ +#include "activation_linear.h" +#include "activation_sigI.h" diff --git a/src/style_fingerprint.h b/src/style_fingerprint.h new file mode 100644 index 0000000000..2647d31274 --- /dev/null +++ b/src/style_fingerprint.h @@ -0,0 +1,8 @@ +#include "fingerprint_bond.h" +#include "fingerprint_bondscreened.h" +#include "fingerprint_bondscreenedspin.h" +#include "fingerprint_bondspin.h" +#include "fingerprint_radial.h" +#include "fingerprint_radialscreened.h" +#include "fingerprint_radialscreenedspin.h" +#include "fingerprint_radialspin.h" From ec82a4602d2dcf0a03deecca2cc5d437a8c081a1 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 29 Jan 2021 17:08:24 -0600 Subject: [PATCH 063/542] should be all ready --- doc/src/pair_rann.rst | 393 +++++++++++++++++++++++++++++++++++++++ potentials/Mg.rann | 91 +++++++++ potentials/MgAl.rann | 420 ++++++++++++++++++++++++++++++++++++++++++ potentials/Ti.rann | 125 +++++++++++++ potentials/Zn.rann | 124 +++++++++++++ potentials/Zr.rann | 124 +++++++++++++ 6 files changed, 1277 insertions(+) create mode 100644 doc/src/pair_rann.rst create mode 100644 potentials/Mg.rann create mode 100644 potentials/MgAl.rann create mode 100644 potentials/Ti.rann create mode 100644 potentials/Zn.rann create mode 100644 potentials/Zr.rann diff --git a/doc/src/pair_rann.rst b/doc/src/pair_rann.rst new file mode 100644 index 0000000000..72f1768364 --- /dev/null +++ b/doc/src/pair_rann.rst @@ -0,0 +1,393 @@ +.. index:: pair_style rann + +pair_style rann command +======================= + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style rann + pair_coeff file Type1_element Type2_element Type3_element... + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style rann + pair_coeff ** Mg.rann Mg + pair_coeff ** MgAlalloy.rann Mg Mg Al Mg + +Description +""""""""""" + +Style *rann* computes pairwise interactions for a variety of materials +using rapid atomistic neural network (RANN) potentials (:ref:`Dickel ` , :ref:`Nitol `). +Neural network potentials work by first generating a series of symmetry functions +i.e. structural fingerprints from the neighbor list and then using these values +as the input layer of a neural network. There is a single output neuron in the +final layer which is the energy. Atomic forces are found by analytical +derivatives computed via backpropagation. For alloy systems, each element has a unique +network. + +Potential file syntax +""""""""""""""""""""" + +The RANN potential is defined by a single text file which contains all the fitting parameters for the alloy system. +The potential file also defines the active fingerprints, network architecture, activation functions, etc. +The potential file is divided into several sections which are identified by one of the following keywords: + +* atomtypes + +* mass + +* fingerprintsperelement + +* fingerprints + +* fingerprintconstants + +* screening (optional) + +* networklayers + +* layersize + +* weight + +* bias + +* activationfunctions + +* calibrationparameters (ignored) + +# is treated as a comment marker, similar to LAMMPS input scripts. Sections are not required to follow a rigid +ordering, but do require previous definition of prerequisite information. E.g., fingerprintconstants for a +particular fingerprint must follow the fingerprints definition; layersize for a particular layer must follow +the declaration of network layers. + +*atomtypes* are defined as follows using element keywords separated by spaces. + +.. code-block:: + + atomtypes: + Fe Mg Al etc. + +*mass* must be specified for each element keyword as follows: + +.. code-block:: + + mass:Mg: + 24.305 + mass:Fe: + 55.847 + mass:Al: + 26.982 + +*fingerprintsperelement* specifies how many fingerprints are active for computing the energy of a given atom. +This number must be specified for each element keyword. Active elements for each fingerprint depend upon the +type of the central atom and the neighboring atoms. Pairwise fingerprints may be defined for a Mg atom based +exclusively on its Al neighbors, for example. Bond fingerprints may use two neighborlists of different +element types. In computing fingerprintsperelement from all defined fingerprints, only the fingerprints +defined for atoms of a particular element should be considered, regardless of the elements used in its +neighbor list. In the following code, for example, some fingerprints may compute pairwise fingerprints summing +contributions about Fe atoms based on a neighbor list of exclusively Al atoms, but if there are no fingerprints +summing contributions of all neighbors about a central Al atom, then fingerprintsperelement of Al is zero: + +.. code-block:: + + fingerprintsperelement:Mg: + 5 + fingerprintsperelement:Fe: + 2 + fingerprintsperelement:Al: + 0 + +*fingerprints* specifies the active fingerprints for a certain element combination. Pair fingerprints are +specified for two elements, while bond fingerprints are specified for three elements. Only one fingerprints +header should be used for an individual combination of elements. The ordering of the fingerprints in the +network input layer is determined by the order of element combinations specified by subsequent *fingerprints* +lines, and the order of the fingerprints defined for each element combination. Multiple fingerprints of the same style or +different ones may be specified. If the same style and element combination is used for multiple fingerprints, +they should have different id numbers. The first element specifies the atoms for which this fingerprint is +computed while the other(s) specify which atoms to use in the neighbor lists for the computation. Switching +the second and third element type in bond fingerprints has no effect on the computation: + +.. code-block:: + + fingerprints:Mg_Mg: + radial_0 radialscreened_0 radial_1 + fingerprints:Mg_Al_Fe: + bond_0 bondspin_0 + fingerprints:Mg_Al: + radial_0 radialscreened_0 + +The following fingerprint styles are currently defined. See the :ref:`formulation section ` below for their definitions: + +* radial + +* radialscreened + +* radialspin + +* radialscreenedspin + +* bond + +* bondscreened + +* bondspin + +* bondscreenedspin + +*fingerprintconstants* specifies the metaparameters for a defined fingerprint. For all radial styles, re, rc, +alpha, dr, o, and n must be specified. re should usually be the stable interatomic distance, rc is the cutoff +radius, dr is the cutoff smoothing distance, o is the lowest radial power term (which may be negative), and n +is the highest power term. The total length of the fingerprint vector is (n-o+1). alpha is a list of decay parameters +used for exponential decay of radial contributions. It may be set proportionally to the bulk modulus similarly +to MEAM potentials, but other values may provided better fitting in special cases. Bond style fingerprints require +specification of re, rc, alphak, dr, k, and m. Here m is the power of the bond cosines and k is the number of +decay parameters. Cosine powers go from 0 to m-1 and are each computed for all values of alphak. Thus the total +length of the fingerprint vector is m*k. + +.. code-block:: + + fingerprintconstants:Mg_Mg:radialscreened_0:re: + 3.193592 + fingerprintconstants:Mg_Mg:radialscreened_0:rc: + 6.000000 + fingerprintconstants:Mg_Mg:radialscreened_0:alpha: + 5.520000 5.520000 5.520000 5.520000 5.520000 + fingerprintconstants:Mg_Mg:radialscreened_0:dr: + 2.806408 + fingerprintconstants:Mg_Mg:radialscreened_0:o: + -1 + fingerprintconstants:Mg_Mg:radialscreened_0:n: + 3 + +*screening* specifies the Cmax and Cmin values used in the screening fingerprints. Neighbors' contribution to the +fingerprint are ommitted if they are blocked by a closer neighbor, and reduced if they are partially blocked. +Larger values of Cmin correspond to neighbors being blocked more easily. Cmax cannot be greater than 3, and +Cmin cannot be greater than Cmax or less than zero. Screening may be ommitted in which case the default values +Cmax = 2.8, Cmin = 0.8 are used. Since screening is a bond computation, it is specified separately for each +combination of three elements in which the latter two may be interchanged with no effect. + +.. code-block:: + + screening:Mg_Mg_Mg:Cmax: + 2.700000 + screening:Mg_Mg_Mg:Cmin: + 0.400000 + +*networklayers* species the size of the neural network for each atom. It counts both the input and output layer +and so is 2+hiddenlayers. + +.. code-block:: + + networklayers:Mg: + 3 + +*layersize* specifies the length of each layer, including the input layer and output layer. The input layer is +layer 0. The size of the input layer size must match the summed length of all the fingerprints for that element, +and the output layer size must be 1: + +.. code-block:: + + layersize:Mg:0: + 14 + layersize:Mg:1: + 20 + layersize:Mg:2: + 1 + +*weight* specifies the weight for a given element and layer. Weight cannot be specified for the output layer. +The weight of layer i is a mxn matrix where m is the layer size of i and n is the layer size of i+1: + +.. code-block:: + + weight:Mg:0: + w11 w12 w13 ... + w21 w22 w23 ... + ... + +*bias* specifies the bias for a given element and layer. Bias cannot be specified for the output layer. +The bias of layer i is a nx1 vector where n is the layer size of i+1: + +.. code-block:: + + bias:Mg:0: + b1 + b2 + b3 + ... + +*activationfunctions* specifies the activation function for a given element and layer. Activation functions +cannot be specified for the output layer: + +.. code-block:: + + activationfunctions:Mg:0: + sigI + activationfunctions:Mg:1: + linear + +The following activation styles are currently specified. See the :ref:`formulation section ` below for their definitions. + +* sigI + +* linear + +*calibrationparameters* specifies a number of parameters used to calibrate the potential. These are ignored +by LAMMPS. + +Formulation +""""""""""" + +In the RANN formulation, the total energy of a system of atoms +is given by: + +.. math:: + + E = \sum_{\alpha} E^{\alpha}\\\\ + E^{\alpha} = {}^{N}\!A^{\alpha}\\\\ + {}^{n+1}\!A_i^{\alpha} = {}^{n}\!F\left({}^{n}\!W_{ij}{\;}^{n}\!A_j^{\alpha}+{}^{n}\!B_i\right)\\\\ + {}^{0}\!A_i^{\alpha} = \left[\begin{array} S{}^1\!S\!f^\alpha\\ {}^2\!S\!f^\alpha \\...\\\end{array}\right] + +Here :math:`E^\alpha` is the energy of atom :math:`\alpha`, :math:`{}^n\!F()`, :math:`{}^n\!W_{ij}` and :math:`{}^n\!B_i` are +the activation function, weight matrix and bias vector of the n-th layer respectively. The +inputs to the first layer are a collection of structural fingerprints which are collected and reshaped into a single long vector. +The individual fingerprints may be defined in any order and have various shapes and sizes. Multiple fingerprints of the same +type and varying parameters may also be defined in the input layer. + +Eight types of structural fingerprints are currently defined. In the following, :math:`\beta` and :math:`\gamma` span the +full neighborlist of atom :math:`\alpha`. :math:`\delta_i` are decay metaparameters, and :math:`r_e` is a metaparameter +roughly proportional to the first neighbor distance. :math:`r_c` and :math:`dr` are the neighbor cutoff distance and +cutoff smoothing distance respectively. :math:`S^{\alpha\beta}` is the MEAM screening function +:ref:`(Baskes) `, :math:`s_i^\alpha` and :math:`s_i^\beta` are the atom spin vectors :ref:`(Tranchida) `. +:math:`r^{\alpha\beta}` is the distance from atom :math:`\alpha` to atom :math:`\beta`, and :math:`\theta^{\alpha\beta\gamma}` +is the bond angle: + +.. math :: + + cos\left(\theta^{\alpha\beta\gamma}\right)=\frac{\mathbf{r}^{\alpha\beta} \cdot \mathbf{r}^{\alpha\gamma}}{r^{\alpha\beta}r^{\alpha\gamma}} + +:math:`S^{\alpha\beta}` is defined as :ref:`(Baskes) `: + +.. math:: + + X^{\gamma\beta} = \left(\frac{r^{\gamma\beta}}{r^{\alpha\beta}}\right)^2\\ + \\ + X^{\alpha\gamma} = \left(\frac{r^{\alpha\gamma}}{r^{\alpha\beta}}\right)^2\\ + \\ + C = \frac{2\left(X^{\alpha\gamma}+X^{\gamma\beta}\right)-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2-1}{1-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2}\\ + \\ + f_c(x) = \left[\begin{array} 11 \; x \geq 1\\ \left(1-\left(1-x\right)^4\right)^2 \; 0 Date: Fri, 29 Jan 2021 17:09:40 -0600 Subject: [PATCH 064/542] maybe the last one --- doc/src/Commands_pair.rst | 1 + doc/src/pair_rann.rst | 4 +- doc/src/pair_style.rst | 1 + potentials/Mg.rann | 91 -- src/activation.cpp | 17 +- src/activation.h | 17 +- src/activation_linear.cpp | 20 +- src/activation_linear.h | 18 +- src/activation_sigI.cpp | 17 +- src/activation_sigI.h | 19 +- src/fingerprint.cpp | 21 +- src/fingerprint.h | 18 +- src/fingerprint_bond.cpp | 23 +- src/fingerprint_bond.h | 17 +- src/fingerprint_bondscreened.cpp | 22 +- src/fingerprint_bondscreened.h | 16 +- src/fingerprint_bondscreenedspin.cpp | 24 +- src/fingerprint_bondscreenedspin.h | 16 +- src/fingerprint_bondspin.cpp | 24 +- src/fingerprint_bondspin.h | 16 +- src/fingerprint_radial.cpp | 24 +- src/fingerprint_radial.h | 16 +- src/fingerprint_radialscreened.cpp | 23 +- src/fingerprint_radialscreened.h | 16 +- src/fingerprint_radialscreenedspin.cpp | 24 +- src/fingerprint_radialscreenedspin.h | 16 +- src/fingerprint_radialspin.cpp | 24 +- src/fingerprint_radialspin.h | 17 +- src/pair_rann.cpp | 1354 ++---------------------- src/pair_rann.h | 40 +- 30 files changed, 471 insertions(+), 1485 deletions(-) delete mode 100644 potentials/Mg.rann diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 2ca0e88729..8d28bb7bb6 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -221,6 +221,7 @@ OPT. * :doc:`polymorphic ` * :doc:`python ` * :doc:`quip ` + * :doc:`rann ` * :doc:`reax/c (ko) ` * :doc:`rebo (io) ` * :doc:`resquared (go) ` diff --git a/doc/src/pair_rann.rst b/doc/src/pair_rann.rst index 72f1768364..af9b90de14 100644 --- a/doc/src/pair_rann.rst +++ b/doc/src/pair_rann.rst @@ -253,7 +253,7 @@ is given by: E = \sum_{\alpha} E^{\alpha}\\\\ E^{\alpha} = {}^{N}\!A^{\alpha}\\\\ {}^{n+1}\!A_i^{\alpha} = {}^{n}\!F\left({}^{n}\!W_{ij}{\;}^{n}\!A_j^{\alpha}+{}^{n}\!B_i\right)\\\\ - {}^{0}\!A_i^{\alpha} = \left[\begin{array} S{}^1\!S\!f^\alpha\\ {}^2\!S\!f^\alpha \\...\\\end{array}\right] + {}^{0}\!A_i^{\alpha} = \left[\begin{array}{c} {}^1\!S\!f^\alpha\\ {}^2\!S\!f^\alpha \\...\\\end{array}\right] Here :math:`E^\alpha` is the energy of atom :math:`\alpha`, :math:`{}^n\!F()`, :math:`{}^n\!W_{ij}` and :math:`{}^n\!B_i` are the activation function, weight matrix and bias vector of the n-th layer respectively. The @@ -283,7 +283,7 @@ is the bond angle: \\ C = \frac{2\left(X^{\alpha\gamma}+X^{\gamma\beta}\right)-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2-1}{1-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2}\\ \\ - f_c(x) = \left[\begin{array} 11 \; x \geq 1\\ \left(1-\left(1-x\right)^4\right)^2 \; 0` - polymorphic 3-body potential * :doc:`python ` - * :doc:`quip ` - +* :doc:`rann ` - * :doc:`reax/c ` - ReaxFF potential in C * :doc:`rebo ` - second generation REBO potential of Brenner * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential diff --git a/potentials/Mg.rann b/potentials/Mg.rann deleted file mode 100644 index 23ce143f2e..0000000000 --- a/potentials/Mg.rann +++ /dev/null @@ -1,91 +0,0 @@ -# Neural Network Potential file created by MATLAB -atomtypes: -Mg -mass:Mg: -24.305 -fingerprints:Mg_Mg: - radialpower_0 -fingerprints:Mg_Mg_Mg: - bondpower_0 -fingerprintconstants:Mg_Mg:radialpower_0:re: -3.1936 -fingerprintconstants:Mg_Mg:radialpower_0:rc: -6 -fingerprintconstants:Mg_Mg:radialpower_0:dr: -2.8064 -fingerprintconstants:Mg_Mg:radialpower_0:n: -3 -fingerprintconstants:Mg_Mg:radialpower_0:o: --1 -fingerprintconstants:Mg_Mg:radialpower_0:alpha: -5.52 5.52 5.52 5.52 5.52 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:re: -3.1936 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:rc: -6 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:dr: -2.8064 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:m: -8 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:alphak: -1 2 6 9 -fingerprintconstants:Mg_Mg_Mg:bondpower_0:k: -4 -networklayers:Mg: -3 -layersize:Mg:0: -37 -layersize:Mg:1: -20 -layersize:Mg:2: -1 -weight:Mg:0: - -2.854926896534886 1.551245978744016 -5.299486715905226 1.303032393066583 -3.927350992087088 0.806210218127504 -1.428595777065406 -0.168066964538803 -0.728351260519369 -0.157450640068210 5.491434639296052 1.080334461269439 -2.130535923458539 -1.156477049555650 -2.051010848588853 -0.782611130585220 -4.606523573915344 -2.387644217672982 -5.576794096713175 -3.318269168403370 -6.292539058097229 18.703592187192875 -2.381590380244950 2.799241528343801 -2.407391034332221 4.405517388343755 -9.491423045727968 8.229571895198635 2.527344035625121 -0.067244382960372 0.170484581466223 1.282379910053745 0.065724915799647 1.113377435138116 -0.573535002947138 1.560506886857219 -0.876475786409630 - -6.905795192470435 -7.464851024478298 -4.212312565059744 0.177224177577384 11.273321377353385 -0.210487659926669 -5.819374791289330 -2.033417952209441 -4.401498131844281 -2.128151337900873 -0.904360930561321 -3.305494550705017 -4.616231916010149 3.912909136253442 2.947676302989125 -2.342485904191098 -2.629380811311687 -6.884618057641441 -3.228814118217041 -13.703094807969595 -1.300216807828401 -2.261830509920602 0.027689516537923 -0.754770352048472 0.265831744444728 -0.578713086630345 1.235859586468241 -0.909393391144123 -0.130377276389241 0.005769129836449 -0.018101530784263 -0.153698562663844 -0.004256306458426 -0.129488729063532 0.071417563698228 -0.180101367188990 0.106998530785552 - 2.027368852731460 -2.234930329773146 8.824228524281670 1.704698789800998 -1.155837352063270 0.376652391418795 0.858355152247836 1.377681586792678 0.436289641520560 0.853917175552360 0.690614213233795 1.376492364541512 -2.015997328530133 1.369574870403928 0.055844805801055 0.783591606187434 0.404005434930766 1.206961052573969 -1.999327862233608 1.826075255464499 0.627227543558058 -17.260093530489559 -0.015436687195038 -5.792743983495749 1.941452350663885 -4.516251976247205 9.635327821970479 -7.154962635508413 -1.132501265775309 0.045219076986031 -0.144961660279011 -1.214358002605798 -0.035176354978761 -1.023461588111742 0.562378377829011 -1.423056677559738 0.843325995738792 - 1.208244516420682 -1.131840612824115 5.602916209454777 5.377189872565848 -8.289510961581353 -0.757639317978607 1.630815069114324 -0.339900851719867 0.082235533040557 0.540557520027109 -5.105403160100436 -1.014334786095929 2.143454227839968 0.951897441739667 0.979668365102507 3.548633747321196 8.841902370955873 1.763504926468970 3.512417602344678 1.382917514597444 5.555534077563014 -1.659972257416550 -2.351658713764479 -4.038187560819433 -0.088959774258771 -0.970180329948655 1.946111437202853 -0.300645322288457 1.144144327361578 -0.013167226701211 -0.002692066926437 -0.162155013181752 0.022921711089007 -0.104820739882106 0.094406387979159 -0.133404958291914 0.125683026190237 - 2.100928316978550 -5.183998527665579 -8.480879276100829 9.460380106942930 -5.201669626403725 0.962206904548074 -2.984661666784377 0.261183571650286 -3.848501149625126 -0.239707114702959 -8.596129999470033 0.521757831428229 -6.520209233371624 2.323033278087488 -0.265454776689194 1.523127304519969 -1.082726125483242 1.511022780061617 1.205965597804440 0.024474495360653 -3.483786353690174 14.171770758936283 -3.851702757605302 -1.798585833589429 4.049824434318227 0.069456670984154 -4.253485775805993 4.540282728384077 14.367909979660597 -0.197918108438600 0.311690000226778 1.819217692267907 0.210328518613983 1.580666788134497 -0.708099957875404 2.228865452878142 -1.144252642918932 - 1.262532693758904 0.350623829895615 -8.699901753422376 -3.085638499190991 6.389397372073611 1.179750651699251 -2.593445903455847 1.952325298053385 6.595055699523514 2.135194104048645 5.528706413590786 1.560624920794900 2.422460296183040 1.304225846779401 -7.241934606696978 1.636390257791887 -1.736384466347888 1.467247357487496 -2.853047935848705 0.759339373628147 -3.654077760246829 11.754664182440964 0.130595433294996 4.052940796844539 -1.224415821949852 3.148873042113080 -6.429982902218374 4.900113261521697 0.823458021034089 -0.029774951115797 0.098876543510691 0.819211676255803 0.024553459350792 0.690424769720306 -0.378293809056988 0.959647124562582 -0.567667252848028 - 1.077951213052746 -1.212884120455442 4.466696029681781 1.126522701233764 -0.824485886270087 0.746066586200740 0.237846800839545 2.412691828237975 0.265670197068234 2.547960690375329 0.251089808230521 2.789866425802990 -1.386565169169989 3.188365508353491 0.012788207345652 1.411569880351537 0.187923650084155 0.897708422676008 -1.186063481186897 1.817579144493965 0.005486752244332 -8.791529216651448 -0.007914899179980 -2.954460648767480 0.990232144780852 -2.303180614487853 4.914297841774428 -3.649557839866476 -0.577624553073888 0.023071421508466 -0.073933351726003 -0.619347250688672 -0.017940452989678 -0.521986222874665 0.286824650670929 -0.725787973584357 0.430113661483229 - 1.477170160541443 -1.649652581439826 6.213432897237716 1.400569462034309 -1.011276402537009 1.187897469736217 0.453209851000615 0.871685199158680 0.459321320291843 1.847312220269744 0.575610035134335 1.736036062978334 -1.860153349971864 2.116310742565068 0.031994029982359 0.458180992521830 0.264483774017290 1.209179594569965 -1.541309826350069 2.085021603546824 0.201598271251571 -12.106547394711939 -0.010869556896233 -4.065906834057119 1.362668952258048 -3.169692616907158 6.762715300426427 -5.022207983262414 -0.794878825801757 0.031744704425550 -0.101742280431958 -0.852305421462378 -0.024688589050509 -0.718323459269597 0.394709266338209 -0.998782081426093 0.591894259734427 - 3.433524389012201 -17.461788286235350 10.477660623704468 -5.777816863260376 1.914103672722578 0.018096330553880 -0.058070001804858 -0.070387239997111 0.173183121485576 -0.045144096781169 -0.171378715111243 0.095905929991461 0.071086574391139 -0.115350907959316 0.256550435439909 0.433809735763484 -0.863025644960901 0.488223534834578 1.213451867057584 -0.873878466713472 -0.796742757392603 -13.714272857908089 7.342980962765325 64.411093528170881 10.387772034565234 -18.536427206282116 36.869062803091644 -26.192181909491545 -76.230119220113451 -13.489960390399707 0.696638838828117 -13.112785864355953 -2.884037632878795 -10.509259276761314 -0.367453998594681 -12.268265660772627 0.697571815289684 - -0.127608387430088 0.115300949266899 -0.437150971619888 -0.133383966308027 0.121497970782513 -0.588669819740072 0.025758224769098 -0.952554844198443 -0.053640314558928 -0.365454037935086 0.129308125986025 -0.108538052032897 0.419666410719713 -0.626154283498825 -0.000249078140046 -0.147478260516556 -0.027032875858370 0.027866916754600 0.118178617778006 0.057943800212654 0.006595878355105 0.872180305198599 0.000779633398631 0.293574525283819 -0.098431741706998 0.228849445048682 -0.488441508114544 0.362715745551437 0.057399641976603 -0.002293960641186 0.007348131388532 0.061556392948764 0.001783028792910 0.051879800695321 -0.028507370794972 0.072135539589032 -0.042748769934250 - 6.381829674277219 -9.048190600698000 6.288111643495736 12.859689000600714 -7.950284963331926 -0.970019501268750 2.974296325271271 -0.265518710035594 3.942466510230380 0.269993334517349 8.414210339742439 -0.503624461184050 6.702627400542080 -2.230387593186117 0.250866190943356 -1.468229492221626 0.247068384710592 -1.396879607519626 0.665239379557282 -0.918952145927020 1.429461700682165 -15.803218589855202 -3.880476592562245 -11.877864843053574 7.432265722744073 -7.799320747356560 12.522656664504245 -7.918155443300065 12.404212000235528 -0.119232499915167 0.059383452319659 -0.294483753163383 0.149136663588460 -0.200756253322839 0.270808659593346 -0.248080700766084 0.323670903595105 - -0.174630851219475 0.043280581679653 -0.446460924331736 -0.178544685668711 0.036242615491561 -0.524739832236012 -0.066055003483814 -0.137301477746459 -0.260937722788983 -0.433701744197567 -0.202915786397843 -0.164266056105498 0.067411395038662 -0.937156750357017 -0.011279189601853 -0.020004506355464 -0.062554491544235 0.022590523114614 0.005757221221309 0.030386324941044 -0.142473382537104 0.774225371167432 0.000586551446714 0.260475983526433 -0.087519136219707 0.203162145763299 -0.433956694209711 0.322113054560167 0.050871468441467 -0.002036664806940 0.006526429550767 0.054676879236815 0.001583202407854 0.046082022464924 -0.025321978370274 0.064074051139615 -0.037971760564235 - 1.804009863208751 -1.996305019395112 7.740036521789937 1.588277242818513 -1.127917261976985 0.701006047346957 0.557741638403578 1.156565391221981 0.431154676709536 0.267492331905443 0.627850709462984 1.265970301880936 -1.494924752456795 1.939364476480926 0.046524941140489 0.934668819229131 0.342634065807298 0.391343475176609 -1.821750622749297 1.674946697561555 0.434698378479914 -15.135870610005762 -0.013558976481435 -5.081347218787830 1.703032625264342 -3.961512412227682 8.451989917310183 -6.276405372141420 -0.993423100238103 0.039669224673654 -0.127157904945782 -1.065214383909233 -0.030856015692956 -0.897763264572354 0.493308941368786 -1.248281399355681 0.739751462439964 - 1.307888003990277 -1.470165596889384 5.467224874622317 1.289881274307584 -0.938892247073344 1.331752505949844 0.537151376396538 -0.075378173532199 0.266500990656396 1.863487506524708 0.466975119525905 1.205289348036037 -1.557599888898875 1.648789441886696 0.024422842314144 1.193230614379106 0.231572766233420 0.892139401518918 -1.400371331161769 2.065766931528078 0.108468715937517 -10.742037993381615 -0.009655857775515 -3.608709961236443 1.209493294888381 -2.813266719855085 6.002491329081101 -4.457627644815942 -0.705526065191486 0.028177864002805 -0.090305007412531 -0.756494222655155 -0.021913204159751 -0.637573756175409 0.350338429089144 -0.886504900913266 0.525357052259401 - 1.558386094279491 -1.738794171282809 6.591215786058525 1.446257102140766 -1.030297257597810 0.865702182464186 0.712435361441494 1.443935746150295 0.443054428290101 1.415008392625009 0.490563331892227 0.721770756564936 -1.843974805913214 1.447665543613017 0.035872549918664 -0.166709499936668 0.283150849026334 1.068709451145629 -1.615148679265154 1.807215711113644 0.254016524992397 -12.873904534676676 -0.011552521483852 -4.323339814739654 1.448978628076924 -3.370447786810358 7.191077754521811 -5.340218997908830 -0.845225465359211 0.033754412034381 -0.108187186030265 -0.906294955878763 -0.026252522971385 -0.763825881404720 0.419712224908423 -1.062050230892440 0.629387965766975 - 0.902089419117165 0.368911320289205 -8.669057127373151 -2.858394823981106 6.876026844124112 0.449359543436865 3.212232877709710 2.301343293089906 -4.918023478422725 1.779808514019082 0.075997852285900 1.213908548868051 6.340631437124236 1.806639880874012 10.667794428429600 2.826887737164946 4.877448002936416 2.649500563815019 7.025883314722370 0.314429155946167 5.646355364868669 12.148758934398504 0.126774988579089 4.171148179432463 -1.268266698902179 3.240121622890479 -6.635394495266157 5.059976550931194 0.854046514711456 -0.030497259634990 0.101782937425919 0.845882737638225 0.025146523997290 0.712861326998738 -0.390781339641258 0.990877629774033 -0.586319907462099 - -6.854080311751575 -3.366413846641228 -13.072799595088947 -1.947514492844213 13.713838929601375 -0.019406446538777 8.473917855409606 1.004610551903908 9.093996565522684 3.207103662168222 3.901439651670244 2.983318187189680 -2.524579939084030 3.252784494652512 2.950876646744284 3.372023470643452 -0.464237673645948 3.755696203886226 3.808960469764337 2.339907193946746 5.146170730857166 17.834156726071658 0.035731510216900 6.005254664256362 -1.999420765454485 4.690139638769533 -9.977721762987899 7.426200989135139 1.184394487193257 -0.046748770059314 0.150461492361159 1.259105030698577 0.036602097122206 1.061204719522792 -0.582916554758782 1.475480676393535 -0.874188624044419 - -0.091871803641423 0.155712039736981 -1.736705516334532 -3.235473587990033 -7.662082879932669 0.592839860436439 -7.068870826737258 -0.399637343479208 -6.149104660398526 -2.063383569534510 7.873997147178776 -3.605791816207420 20.150381452293846 -3.351880740983101 -0.863899319401915 -4.018547645815094 -0.784923284019245 -4.442513682373789 0.250780859062035 -5.184517276334443 0.558648923127730 1.885233769145124 0.001521615587180 0.634399323585855 -0.213531910461594 0.494460218427058 -1.058719613823579 0.784528439330135 0.124197877420478 -0.004983773553378 0.015924450492573 0.133399802571537 0.003863441417922 0.112429943824441 -0.061782783107639 0.156329122431333 -0.092647205069654 - 0.482137277570261 0.655431110773911 0.092243100481870 0.244841673165367 0.207743962910201 -0.645933694930810 -0.982792443155817 -0.909615692956593 0.313478029717837 -0.555365598226454 4.163468659783327 -0.412159823135017 6.862260499419868 -3.302281380717564 1.482065536636173 -2.407385962358501 1.098207258186840 -1.807106215233626 1.383175114366523 -1.461187579432369 1.404195771393285 0.800616887078038 0.003684546162640 0.269069405372722 -0.087549656335027 0.209484975310045 -0.442918898899253 0.331272282874469 0.053885366476729 -0.002067807910823 0.006698932859304 0.056045887718202 0.001629610981992 0.047234045216482 -0.025947665446354 0.065674182157580 -0.038913439761760 - 12.149148826917946 4.657579636724005 1.764736473860053 0.870668138244216 6.223017368077887 -1.046145904487804 0.953308100141891 -1.978615490874998 -3.417207462372495 -2.506835762341485 -3.697370786082169 -0.450785302259934 -3.125213455592869 -1.637693139214092 -1.348769649727682 -1.994082907081566 2.283115627163778 -2.635964849784550 -3.318422800479618 -3.639669251682635 -0.145614294451353 -1.483837070228372 0.212891384076277 -0.324023869431791 0.362382513657968 -0.276474277638942 1.166715100587859 -0.608385924126500 -0.008353550840676 0.006659952284272 -0.013796269604796 -0.130275245160746 -0.002411584088968 -0.109852596493500 0.062271293211841 -0.153386893869237 0.092727416429870 -bias:Mg:0: - -5.812840455195256 - 15.010638582099496 - 29.624659288791705 - 6.089482003604780 - -20.183942564953359 - -19.131750622870765 - 25.425690046060971 - 27.624111929794111 - 0.740297410586282 - -4.844537022087861 - 20.211971127789965 - -3.950026427133535 - 28.926886494246766 - 25.304822365917076 - 27.383284316546206 - -14.878350779530585 - -13.726815004417979 - 0.300936029014161 - -1.610552372672948 - 17.876279610284211 -weight:Mg:1: - 8.393525190816597 -9.799005074799757 -7.735480085336927 -8.104124576752014 12.240026012539039 5.213425998776577 -3.945232488424331 -5.429176982828405 -99.914578185849578 3.921063641589451 -12.243519026057772 3.482819561249847 -6.785425943665748 -4.818862897620001 -5.773098229238692 5.383347312306200 8.019798211775075 8.499369933136281 3.569846715528147 -8.397559798533649 -bias:Mg:1: -1713.7664607023298 -activationfunctions:Mg:0: -sigI -activationfunctions:Mg:1: -linear diff --git a/src/activation.cpp b/src/activation.cpp index aaa409c4b0..5286eb4730 100644 --- a/src/activation.cpp +++ b/src/activation.cpp @@ -10,10 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "activation.h" diff --git a/src/activation.h b/src/activation.h index 3fba49723d..0188f80bff 100644 --- a/src/activation.h +++ b/src/activation.h @@ -10,10 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifndef ACTIVATION_H_ #define ACTIVATION_H_ diff --git a/src/activation_linear.cpp b/src/activation_linear.cpp index 2ad9594be1..ddb9ae54c9 100644 --- a/src/activation_linear.cpp +++ b/src/activation_linear.cpp @@ -10,14 +10,26 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ -#include #include "activation_linear.h" -#include "activation.h" + using namespace LAMMPS_NS; diff --git a/src/activation_linear.h b/src/activation_linear.h index ba39436f03..2ea0f55729 100644 --- a/src/activation_linear.h +++ b/src/activation_linear.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu -*/ + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef ACTIVATION_CLASS ActivationStyle(linear,Activation_linear) diff --git a/src/activation_sigI.cpp b/src/activation_sigI.cpp index cdf82982da..b14f1c503d 100644 --- a/src/activation_sigI.cpp +++ b/src/activation_sigI.cpp @@ -10,12 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” -#include +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "activation_sigI.h" using namespace LAMMPS_NS; diff --git a/src/activation_sigI.h b/src/activation_sigI.h index b47433a336..404af35cfd 100644 --- a/src/activation_sigI.h +++ b/src/activation_sigI.h @@ -10,10 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu -*/ + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef ACTIVATION_CLASS diff --git a/src/fingerprint.cpp b/src/fingerprint.cpp index cdcb5855bd..89786b632a 100644 --- a/src/fingerprint.cpp +++ b/src/fingerprint.cpp @@ -10,18 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint.h" -#include -#include -#include -#include -#include -#include using namespace LAMMPS_NS; diff --git a/src/fingerprint.h b/src/fingerprint.h index 1bef4c0ab8..35645742f4 100644 --- a/src/fingerprint.h +++ b/src/fingerprint.h @@ -10,10 +10,24 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + +----------------*/ #ifndef FINGERPRINT_H_ #define FINGERPRINT_H_ diff --git a/src/fingerprint_bond.cpp b/src/fingerprint_bond.cpp index 7fdece310c..1f8630ccb2 100644 --- a/src/fingerprint_bond.cpp +++ b/src/fingerprint_bond.cpp @@ -10,21 +10,26 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_bond.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_bond.h b/src/fingerprint_bond.h index 1d07d34f3b..42d5cb03c6 100644 --- a/src/fingerprint_bond.h +++ b/src/fingerprint_bond.h @@ -10,10 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS diff --git a/src/fingerprint_bondscreened.cpp b/src/fingerprint_bondscreened.cpp index 54659581a7..c573f6aedb 100644 --- a/src/fingerprint_bondscreened.cpp +++ b/src/fingerprint_bondscreened.cpp @@ -10,21 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_bondscreened.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include using namespace LAMMPS_NS; diff --git a/src/fingerprint_bondscreened.h b/src/fingerprint_bondscreened.h index 912cd1f84f..945e1615fc 100644 --- a/src/fingerprint_bondscreened.h +++ b/src/fingerprint_bondscreened.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(bondscreened,Fingerprint_bondscreened) diff --git a/src/fingerprint_bondscreenedspin.cpp b/src/fingerprint_bondscreenedspin.cpp index cf1812b700..ce7e7c9e51 100644 --- a/src/fingerprint_bondscreenedspin.cpp +++ b/src/fingerprint_bondscreenedspin.cpp @@ -10,21 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” - +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_bondscreenedspin.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_bondscreenedspin.h b/src/fingerprint_bondscreenedspin.h index 8a081305ff..e560c16ddb 100644 --- a/src/fingerprint_bondscreenedspin.h +++ b/src/fingerprint_bondscreenedspin.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(bondscreenedspin,Fingerprint_bondscreenedspin) diff --git a/src/fingerprint_bondspin.cpp b/src/fingerprint_bondspin.cpp index 69e214c77a..78a0bdd815 100644 --- a/src/fingerprint_bondspin.cpp +++ b/src/fingerprint_bondspin.cpp @@ -10,21 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” - +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_bondspin.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_bondspin.h b/src/fingerprint_bondspin.h index 5190af7107..56c540b508 100644 --- a/src/fingerprint_bondspin.h +++ b/src/fingerprint_bondspin.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(bondspin,Fingerprint_bondspin) diff --git a/src/fingerprint_radial.cpp b/src/fingerprint_radial.cpp index f42dfc8cef..71dbcd9ad8 100644 --- a/src/fingerprint_radial.cpp +++ b/src/fingerprint_radial.cpp @@ -10,20 +10,26 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_radial.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_radial.h b/src/fingerprint_radial.h index e828aa2c41..aeb1c2eca3 100644 --- a/src/fingerprint_radial.h +++ b/src/fingerprint_radial.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(radial,Fingerprint_radial) diff --git a/src/fingerprint_radialscreened.cpp b/src/fingerprint_radialscreened.cpp index 003c7abbc3..3101ca0ab0 100644 --- a/src/fingerprint_radialscreened.cpp +++ b/src/fingerprint_radialscreened.cpp @@ -10,19 +10,26 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_radialscreened.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_radialscreened.h b/src/fingerprint_radialscreened.h index 1a2cc518ab..7f9b729222 100644 --- a/src/fingerprint_radialscreened.h +++ b/src/fingerprint_radialscreened.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(radialscreened,Fingerprint_radialscreened) diff --git a/src/fingerprint_radialscreenedspin.cpp b/src/fingerprint_radialscreenedspin.cpp index 906715109c..48ad061489 100644 --- a/src/fingerprint_radialscreenedspin.cpp +++ b/src/fingerprint_radialscreenedspin.cpp @@ -10,19 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” - +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_radialscreenedspin.h" -#include -#include -#include -#include -#include -#include + using namespace LAMMPS_NS; diff --git a/src/fingerprint_radialscreenedspin.h b/src/fingerprint_radialscreenedspin.h index f5a835111d..76c4eae50a 100644 --- a/src/fingerprint_radialscreenedspin.h +++ b/src/fingerprint_radialscreenedspin.h @@ -10,11 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS FingerprintStyle(radialscreenedspin,Fingerprint_radialscreenedspin) diff --git a/src/fingerprint_radialspin.cpp b/src/fingerprint_radialspin.cpp index 36b74488b6..67ff6982c5 100644 --- a/src/fingerprint_radialspin.cpp +++ b/src/fingerprint_radialspin.cpp @@ -10,21 +10,25 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” - +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #include "fingerprint_radialspin.h" -#include "fingerprint.h" -#include -#include -#include -#include -#include -#include using namespace LAMMPS_NS; diff --git a/src/fingerprint_radialspin.h b/src/fingerprint_radialspin.h index c42b904d61..428c0e74e4 100644 --- a/src/fingerprint_radialspin.h +++ b/src/fingerprint_radialspin.h @@ -10,10 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- - Contributing author: Christopher Barrett (MSU) barrett@me.msstate.edu + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef FINGERPRINT_CLASS diff --git a/src/pair_rann.cpp b/src/pair_rann.cpp index 84333d7710..3507c931dc 100644 --- a/src/pair_rann.cpp +++ b/src/pair_rann.cpp @@ -10,36 +10,42 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ -#include -#include -#include -#include -#include -#include -#include "atom.h" #include "style_fingerprint.h" #include "style_activation.h" -#include "force.h" -#include "comm.h" -#include "memory.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "memory.h" -#include "error.h" -#include "update.h" + #include "pair_rann.h" - - using namespace LAMMPS_NS; +static const char cite_user_rann_package[] = + "USER-RANN package:\n\n" + "@Article{Nitol2021,\n" + " author = {Nitol, Mashroor S and Dickel, Doyl E and Barrett, Christopher D},\n" + " title = {Artificial neural network potential for pure zinc},\n" + " journal = {Computational Materials Science},\n" + " year = 2021,\n" + " volume = 188,\n" + " pages = {110207}\n" + "}\n\n"; + PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; @@ -241,44 +247,43 @@ void PairRANN::read_file(char *filename) FILE *fp; int eof = 0,i,j,k,l; int n,nwords; - char line [MAXLINE],line1[MAXLINE]; - + int longline = 4096; + char line [longline],line1[longline]; char *ptr; bool comment; char str[128]; - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { - sprintf(str,"Cannot open NN potential file %s",filename); + sprintf(str,"Cannot open rann potential file %s",filename); error->one(FLERR,str); } while (eof == 0){ - ptr = fgets(line,MAXLINE,fp); + ptr = fgets(line,longline,fp); if (ptr == NULL) { if (check_potential()) {//looks to see if everything needed appears to be defined error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); } else{ - update_stack_size(); fclose(fp); eof = 1; break; } } else n = strlen(line) + 1; - // strip comment, skip line if blank - if ((ptr = strchr(line,'#'))) *ptr = '\0'; - nwords = count_words(line); - char **words = new char* [strlen(line)]; - if (nwords == 0) continue; + if ((ptr = strchr(line,'#'))) *ptr = '\0';//strip comments from end of lines + if (count_words(line)==0){continue;}//skip comment line comment = true; while (comment==true){ - ptr = fgets(line1,MAXLINE,fp); - if (ptr==NULL)error->one(FLERR,"Unexpected end of file"); + ptr = fgets(line1,longline,fp); + if (ptr==NULL)errorf("Unexpected end of parameter file (keyword given with no value)"); if ((ptr = strchr(line1,'#'))) *ptr = '\0'; nwords = count_words(line1); if (nwords == 0) continue; comment = false; } + line1[strlen(line1)-1] = '\0';//replace \n with \0 + nwords = count_words(line); + char **words=new char *[nwords+1]; nwords = 0; words[nwords++] = strtok(line,": ,\t_\n"); while ((words[nwords++] = strtok(NULL,": ,\t_\n"))) continue; @@ -369,8 +374,6 @@ void PairRANN::read_fingerprints(char **words,int nwords,char * line1){ i1 = fingerprintcount[i]; delete fingerprints[i][i1]; fingerprints[i][i1] = create_fingerprint(words1[k]); - sprintf(str,"%d %d\n",nwords-1,fingerprints[i][i1]->n_body_type); - std::cout<n_body_type!=nwords-1){error->one(FLERR,"invalid fingerprint for element combination");} k++; fingerprints[i][i1]->init(atomtypes,strtol(words1[k++],NULL,10)); @@ -425,15 +428,17 @@ void PairRANN::read_network_layers(char **words,char *line1){ for (i=0;ione(FLERR,"invalid number of network layers"); + if (net[i].layers < 1)errorf("invalid number of network layers"); delete [] net[i].dimensions; - net[i].dimensions = new int [net[i].layers]; weightdefined[i] = new bool [net[i].layers]; biasdefined[i] = new bool [net[i].layers]; + net[i].dimensions = new int [net[i].layers]; net[i].Weights = new double * [net[i].layers-1]; net[i].Biases = new double * [net[i].layers-1]; + net[i].activations = new int [net[i].layers-1]; for (j=0;jone(FLERR,"networklayers for each atom type must be defined before the corresponding layer sizes."); int j = strtol(words[2],NULL,10); - if (j>=net[i].layers || j<0){errorf("invalid layer in layer size definition");}; + if (j>=net[i].layers || j<0){error->one(FLERR,"invalid layer in layer size definition");}; net[i].dimensions[j]= strtol(line1,NULL,10); -// net[i].Weights[j] = new double [1]; -// net[i].Weights[j][0]=0; -// net[i].Biases[j] = new double [1]; -// net[i].Biases[j][0] = 0; return; } } - error->one(FLERR,"layer size element not found in atom types"); + errorf("layer size element not found in atom types"); } void PairRANN::read_weight(char **words,char* line1,FILE* fp){ int i,j,k,l,nwords; char *ptr; + int longline = 4096; char **words1; for (l=0;lone(FLERR,"networklayers must be defined before weights."); + if (net[l].layers==0)errorf("networklayers must be defined before weights."); i=strtol(words[2],NULL,10); if (i>=net[l].layers || i<0)error->one(FLERR,"invalid weight layer"); - if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(FLERR,"network layer sizes must be defined before corresponding weight"); -// delete [] net[l].Weights[i]; + if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) errorf("network layer sizes must be defined before corresponding weight"); net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; weightdefined[l][i] = true; int n = count_words(line1)+1; @@ -489,7 +490,8 @@ void PairRANN::read_weight(char **words,char* line1,FILE* fp){ net[l].Weights[i][k] = strtod(words1[k],NULL); } for (j=1;jone(FLERR,"weight element not found in atom types"); + errorf("weight element not found in atom types"); } void PairRANN::read_bias(char **words,char* line1,FILE* fp){ @@ -552,13 +554,6 @@ void PairRANN::read_activation_functions(char** words,char * line1){ void PairRANN::read_screening(char** words,int nwords,char *line1){ int i,j,k; bool found; -// char str[MAXLINE]; -// sprintf(str,"%d\n",nwords); -// for (i=0;itype[i]]; f = net[itype].dimensions[0]; jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; + double *xn = new double[jnum]; + double *yn = new double[jnum]; + double *zn = new double[jnum]; + int *tn = new int[jnum]; + int *jl = new int[jnum]; cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; + double *dfeaturesx = new double[f*jnum]; + double *dfeaturesy = new double[f*jnum]; + double *dfeaturesz = new double[f*jnum]; for (j=0;jspin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); } - clock_t t3 = clock(); //run fingerprints through network if (dospin){ propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&energy,force,fm,virial,ii,jnum,jl); @@ -733,15 +725,26 @@ void PairRANN::compute(int eflag, int vflag) else { propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&energy,force,virial,ii,jnum,jl); } - //testdfeatures(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii); - clock_t t4 = clock(); - double ts = (double) (t2-t1) / CLOCKS_PER_SEC * 1000.0; - double tf = (double) (t3-t2) / CLOCKS_PER_SEC * 1000.0; - double tp = (double) (t4-t3) / CLOCKS_PER_SEC * 1000.0; - sprintf(str,"screen time: %f, fingerprint time: %f, propagation time: %f\n",ts,tf,tp); -// std::cout<type; - inum = sims->inum; - ilist = sims->ilist; - int f = net[itype].dimensions[0]; - double cutinv2 = 1/cutmax/cutmax; - i = sims->ilist[ii]; - numneigh = sims->numneigh; - firstneigh = sims->firstneigh; - jlist = firstneigh[i]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - double features1x [f]; - double features2x [f]; - double features1y [f]; - double features2y [f]; - double features1z [f]; - double features2z [f]; - double features1sx [f]; - double features2sx [f]; - double features1sy [f]; - double features2sy [f]; - double features1sz [f]; - double features2sz [f]; - double dfeaturesx1[f*jnum]; - double dfeaturesy1[f*jnum]; - double dfeaturesz1[f*jnum]; - double dspinx1[f*jnum]; - double dspiny1[f*jnum]; - double dspinz1[f*jnum]; - double dfxtest[f*jnum]; - double dfytest[f*jnum]; - double dfztest[f*jnum]; - double dfstestx[f*jnum]; - double dfstesty[f*jnum]; - double dfstestz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - xn[jj] = xn[jj]-2*del; - if (doscreen){ - screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); - } - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2x,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;kspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - yn[jj] = yn[jj]-2*del; - if (doscreen){ - screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); - } - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2y,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;kspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - zn[jj] = zn[jj]-2*del; - if (doscreen){ - screen(Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,0,xn,yn,zn,tn,jnum-1); - } - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2z,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;ks[jj1][0]+=del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - sims->s[jj1][0]-=2*del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sx,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;ks[jj1][0]+=del; - sims->s[jj1][1]+=del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - sims->s[jj1][1]-=2*del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sy,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;ks[jj1][1]+=del; - sims->s[jj1][2]+=del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features1sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - sims->s[jj1][2]-=2*del; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features2sz,dfeaturesx1,dfeaturesy1,dfeaturesz1,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - for (k=0;ks[jj1][2]+=del; - for (k=0;kone(FLERR,"terminate"); - } -} - -void PairRANN::testdenergy(){ - double **force = atom->f; - double **fm = atom->fm; - double del = 0.00002; - int ii,i,j; - int nn = 0; - double ex1,ex2,ey1,ey2,ez1,ez2,esx1,esx2,esy1,esy2,esz1,esz2; - ex1=ex2=ey1=ey2=ez1=ez2=esx1=esx2=esy1=esy2=esz1=esz2=0.0; - double **force1 = new double *[listfull->maxatom]; - double **fm1 = new double *[listfull->maxatom]; - double **force1n = new double *[listfull->maxatom]; - double **fm1n = new double *[listfull->maxatom]; - for (i=0;imaxatom;i++){ - force1[i]=new double [3]; - fm1[i] = new double [3]; - force1n[i]=new double [3]; - fm1n[i] = new double [3]; - } - for (int n=0;ninum;n++){ - int itype,f,jnum,len; - double **virial = vatom; - char str[MAXLINE]; - eng_vdwl=0; - //loop over atoms - sims->x[n][0]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ex1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ex1,force1,virial,ii,jnum,jl); - } - ex1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->x[n][0]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ex2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ex2,force1,virial,ii,jnum,jl); - } - ex2=eng_vdwl; - } - force1n[n][0]=(ex1-ex2)/2/del; - eng_vdwl=0; - //loop over atoms - sims->x[n][0]+=del; - sims->x[n][1]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ey1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ey1,force1,virial,ii,jnum,jl); - } - ey1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->x[n][1]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ey2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ey2,force1,virial,ii,jnum,jl); - } - ey2=eng_vdwl; - } - eng_vdwl=0; - force1n[n][1]=(ey1-ey2)/2/del; - //loop over atoms - sims->x[n][1]+=del; - sims->x[n][2]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ez1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ez1,force1,virial,ii,jnum,jl); - } - ez1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->x[n][2]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&ez2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&ez2,force1,virial,ii,jnum,jl); - } - ez2=eng_vdwl; - } - eng_vdwl=0; - sims->x[n][2]+=del; - force1n[n][2]=(ez1-ez2)/2/del; - - //loop over atoms - sims->s[n][0]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esx1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esx1,force1,virial,ii,jnum,jl); - } - esx1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->s[n][0]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esx2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esx2,force1,virial,ii,jnum,jl); - } - esx2=eng_vdwl; - } - eng_vdwl=0; - fm1n[n][0]=(esx1-esx2)/2/del; - //loop over atoms - sims->s[n][0]+=del; - sims->s[n][1]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esy1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esy1,force1,virial,ii,jnum,jl); - } - esy1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->s[n][1]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esy2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esy2,force1,virial,ii,jnum,jl); - } - esy2=eng_vdwl; - } - eng_vdwl=0; - fm1n[n][1]=(esy1-esy2)/2/del; - //loop over atoms - sims->x[n][1]+=del; - sims->x[n][2]+=del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esz1,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esz1,force1,virial,ii,jnum,jl); - } - esz1=eng_vdwl; - } - eng_vdwl=0; - //loop over atoms - sims->s[n][2]-=2*del; - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double xn[jnum]; - double yn[jnum]; - double zn[jnum]; - int tn[jnum]; - int jl[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double dfeaturesx[f*jnum]; - double dfeaturesy[f*jnum]; - double dfeaturesz[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&esz2,force1,fm1,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&esz2,force1,virial,ii,jnum,jl); - } - esz2=eng_vdwl; - } - eng_vdwl=0; - sims->s[n][2]+=del; - fm1n[n][2]=(esz1-esz2)/2/del; - sprintf(str,"atom: %d fx: %f fxn: %f fy: %f fyn: %f fz: %f fzn: %f fmx: %f fmxn: %f fmy: %f fmyn: %f fmz: %f fmzn: %f\n",n,force[n][0],force1n[n][0],force[n][1],force1n[n][1],force[n][2],force1n[n][2],fm[n][0],fm1n[n][0],fm[n][1],fm1n[n][1],fm[n][2],fm1n[n][2]); - std::cout<error->all(FLERR,message); } diff --git a/src/pair_rann.h b/src/pair_rann.h index d2746954d2..1358c67fb0 100644 --- a/src/pair_rann.h +++ b/src/pair_rann.h @@ -10,12 +10,23 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@cavs.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ #ifdef PAIR_CLASS @@ -26,14 +37,26 @@ PairStyle(rann,PairRANN) #ifndef LMP_PAIR_RANN #define LMP_PAIR_RANN -#define MAXLINE 4096 +#define MAXLINE 1024 +#include +#include +#include +#include +#include +#include "atom.h" +#include "force.h" +#include "comm.h" +#include "memory.h" +#include "neighbor.h" #include "neigh_list.h" +#include "neigh_request.h" +#include "memory.h" +#include "error.h" +#include "update.h" #include "pair.h" #include -#include #include -#include namespace LAMMPS_NS { @@ -49,7 +72,7 @@ class PairRANN : public Pair { void init_style(); double init_one(int, int); void init_list(int , NeighList *); - void errorf(char*); + void errorf(const char*); int count_words(char *); //black magic for modular fingerprints and activations class Activation ***activation; @@ -79,8 +102,6 @@ class PairRANN : public Pair { bool dospin; int res;//Resolution of function tables for cubic interpolation. int memguess; -// double *Sik,*dSikx,*dSiky,*dSikz,*dSijkx,*dSijky,*dSijkz; -// bool *Bij; double *screening_min; double *screening_max; bool **weightdefined; @@ -137,11 +158,8 @@ class PairRANN : public Pair { void propagateforward(double *,double *,double *,double *,double *,double **,double **,int,int,int*);//called by compute to get force and energy void propagateforwardspin(double *,double *,double *,double *,double *,double *,double *,double *,double **,double **,double**,int,int,int*);//called by compute to get force and energy void screen(double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int *,int); - void testdfeatures(double *,double *, double *, double *,double *,double *, double *,int); - void testdenergy(); void cull_neighbor_list(double *,double *,double *,int *,int *,int *,int,int); void screen_neighbor_list(double *,double *,double *,int *,int *,int *,int,int,bool*,double*,double*,double*,double*,double*,double*,double*); - void update_stack_size(); }; } From d79a2c3a02b295dd1d8c1cb636546d8de6c16015 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 2 Feb 2021 09:39:13 -0700 Subject: [PATCH 065/542] Adding collection array, new user arguments, and multi communication --- src/GRANULAR/pair_gran_hooke_history.cpp | 21 + src/GRANULAR/pair_gran_hooke_history.h | 2 + src/GRANULAR/pair_granular.cpp | 48 ++ src/GRANULAR/pair_granular.h | 2 + ...n_ssa.cpp => nstencil_half_bin_2d_ssa.cpp} | 6 +- ...ewton_ssa.h => nstencil_half_bin_2d_ssa.h} | 16 +- ...n_ssa.cpp => nstencil_half_bin_3d_ssa.cpp} | 6 +- ...ewton_ssa.h => nstencil_half_bin_3d_ssa.h} | 16 +- src/USER-OMP/npair_full_multi_omp.cpp | 26 +- src/USER-OMP/npair_half_multi_newtoff_omp.cpp | 26 +- src/USER-OMP/npair_half_multi_newton_omp.cpp | 38 +- .../npair_half_multi_newton_tri_omp.cpp | 28 +- .../npair_half_size_multi_newtoff_omp.cpp | 26 +- .../npair_half_size_multi_newton_omp.cpp | 38 +- .../npair_half_size_multi_newton_tri_omp.cpp | 28 +- src/comm.cpp | 70 +- src/comm.h | 11 +- src/comm_brick.cpp | 219 +++-- src/comm_brick.h | 10 +- src/comm_tiled.cpp | 294 +++++-- src/comm_tiled.h | 10 +- src/init | 789 ++++++++++++++++++ src/nbin.cpp | 46 +- src/nbin.h | 7 +- src/nbin_multi.cpp | 90 +- src/neighbor.cpp | 255 ++++-- src/neighbor.h | 16 +- src/npair.cpp | 44 +- src/npair.h | 5 +- src/npair_full_multi.cpp | 26 +- src/npair_half_multi_newtoff.cpp | 26 +- src/npair_half_multi_newton.cpp | 38 +- src/npair_half_multi_newton_tri.cpp | 30 +- src/npair_half_size_multi_newtoff.cpp | 26 +- src/npair_half_size_multi_newton.cpp | 38 +- src/npair_half_size_multi_newton_tri.cpp | 28 +- src/npair_half_size_multi_old_newtoff.cpp | 2 +- src/npair_half_size_multi_old_newton.cpp | 2 +- src/npair_half_size_multi_old_newton_tri.cpp | 2 +- src/nstencil.cpp | 80 +- src/nstencil.h | 12 +- src/nstencil_full_multi_2d.cpp | 32 +- src/nstencil_full_multi_3d.cpp | 36 +- src/nstencil_half_multi_2d.cpp | 46 +- src/nstencil_half_multi_2d_tri.cpp | 46 +- src/nstencil_half_multi_3d.cpp | 50 +- src/nstencil_half_multi_3d_tri.cpp | 50 +- src/pair.cpp | 1 + src/pair.h | 3 + src/pair_hybrid.cpp | 37 + src/pair_hybrid.h | 2 + 51 files changed, 2109 insertions(+), 697 deletions(-) rename src/USER-DPD/{nstencil_half_bin_2d_newton_ssa.cpp => nstencil_half_bin_2d_ssa.cpp} (95%) rename src/USER-DPD/{nstencil_half_bin_2d_newton_ssa.h => nstencil_half_bin_2d_ssa.h} (66%) rename src/USER-DPD/{nstencil_half_bin_3d_newton_ssa.cpp => nstencil_half_bin_3d_ssa.cpp} (97%) rename src/USER-DPD/{nstencil_half_bin_3d_newton_ssa.h => nstencil_half_bin_3d_ssa.h} (66%) create mode 100644 src/init diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index 7b7586d355..46b41126aa 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -43,6 +43,7 @@ PairGranHookeHistory::PairGranHookeHistory(LAMMPS *lmp) : Pair(lmp) single_enable = 1; no_virial_fdotr_compute = 1; centroidstressflag = CENTROID_NOTAVAIL; + finitecutflag = 1; history = 1; size_history = 3; @@ -796,3 +797,23 @@ double PairGranHookeHistory::memory_usage() double bytes = nmax * sizeof(double); return bytes; } + +/* ---------------------------------------------------------------------- + self-interaction range of particle +------------------------------------------------------------------------- */ + +double PairGranHookeHistory::atom2cut(int i) +{ + double cut = atom->radius[i]*2; + return cut; +} + +/* ---------------------------------------------------------------------- + maximum interaction range for two finite particles +------------------------------------------------------------------------- */ + +double PairGranHookeHistory::radii2cut(double r1, double r2) +{ + double cut = r1+r2; + return cut; +} \ No newline at end of file diff --git a/src/GRANULAR/pair_gran_hooke_history.h b/src/GRANULAR/pair_gran_hooke_history.h index c27ce8a9af..9575c49d0c 100644 --- a/src/GRANULAR/pair_gran_hooke_history.h +++ b/src/GRANULAR/pair_gran_hooke_history.h @@ -42,6 +42,8 @@ class PairGranHookeHistory : public Pair { int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); double memory_usage(); + double atom2cut(int); + double radii2cut(double,double); protected: double kn,kt,gamman,gammat,xmu; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 215926e23e..0f1fbd49f3 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -67,6 +67,7 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) single_enable = 1; no_virial_fdotr_compute = 1; centroidstressflag = CENTROID_NOTAVAIL; + finitecutflag = 1; single_extra = 12; svector = new double[single_extra]; @@ -1819,3 +1820,50 @@ void PairGranular::transfer_history(double* source, double* target) for (int i = 0; i < size_history; i++) target[i] = history_transfer_factors[i]*source[i]; } + +/* ---------------------------------------------------------------------- + self-interaction range of particle +------------------------------------------------------------------------- */ + +double PairGranular::atom2cut(int i) +{ + double cut; + + cut = atom->radius[i]*2; + if(beyond_contact) { + int itype = atom->type[i] + if(normal_model[itype][itype] == JKR) { + cut += pulloffdistance(cut, cut, itype, itype); + } + } + + return cut; +} + +/* ---------------------------------------------------------------------- + maximum interaction range for two finite particles +------------------------------------------------------------------------- */ + +double PairGranular::radii2cut(double r1, double r2) +{ + double cut = 0.0; + + if(beyond_contact) { + int n = atom->ntypes; + double temp; + + // Check all combinations of i and j to find theoretical maximum pull off distance + for(int i = 0; i < n; i++){ + for(int j = 0; j < n; j++){ + if(normal_model[i][j] == JKR) { + temp = pulloffdistance(r1, r2, i, j); + if(temp > cut) cut = temp; + } + } + } + } + + cut += r1 + r2; + + return cut; +} diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 7ef4f2af98..7fe47b3275 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -40,6 +40,8 @@ class PairGranular : public Pair { int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); double memory_usage(); + double atom2cut(int); + double radii2cut(double,double); protected: double dt; diff --git a/src/USER-DPD/nstencil_half_bin_2d_newton_ssa.cpp b/src/USER-DPD/nstencil_half_bin_2d_ssa.cpp similarity index 95% rename from src/USER-DPD/nstencil_half_bin_2d_newton_ssa.cpp rename to src/USER-DPD/nstencil_half_bin_2d_ssa.cpp index 803a80f3e3..aca7b9df09 100644 --- a/src/USER-DPD/nstencil_half_bin_2d_newton_ssa.cpp +++ b/src/USER-DPD/nstencil_half_bin_2d_ssa.cpp @@ -16,13 +16,13 @@ James Larentzos and Timothy I. Mattox (Engility Corporation) ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_2d_newton_ssa.h" +#include "nstencil_half_bin_2d_ssa.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin2dNewtonSSA::NStencilHalfBin2dNewtonSSA(LAMMPS *lmp) : +NStencilHalfBin2dSSA::NStencilHalfBin2dSSA(LAMMPS *lmp) : NStencilSSA(lmp) {} /* ---------------------------------------------------------------------- @@ -37,7 +37,7 @@ NStencilHalfBin2dNewtonSSA::NStencilHalfBin2dNewtonSSA(LAMMPS *lmp) : to locate all the Active Interaction Region (AIR) ghosts for SSA ------------------------------------------------------------------------- */ -void NStencilHalfBin2dNewtonSSA::create() +void NStencilHalfBin2dSSA::create() { int i,j,pos = 0; nstencil_ssa[0] = 0; // redundant info, but saves a conditional diff --git a/src/USER-DPD/nstencil_half_bin_2d_newton_ssa.h b/src/USER-DPD/nstencil_half_bin_2d_ssa.h similarity index 66% rename from src/USER-DPD/nstencil_half_bin_2d_newton_ssa.h rename to src/USER-DPD/nstencil_half_bin_2d_ssa.h index 1d5cc3f6b2..a50c852670 100644 --- a/src/USER-DPD/nstencil_half_bin_2d_newton_ssa.h +++ b/src/USER-DPD/nstencil_half_bin_2d_ssa.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bin/2d/newton/ssa, - NStencilHalfBin2dNewtonSSA, - NS_HALF | NS_BIN | NS_2D | NS_NEWTON | NS_SSA | NS_ORTHO | NS_GHOST) +NStencilStyle(half/bin/2d/ssa, + NStencilHalfBin2dSSA, + NS_HALF | NS_BIN | NS_2D | NS_SSA | NS_ORTHO | NS_GHOST) #else -#ifndef LMP_NSTENCIL_HALF_BIN_2D_NEWTON_SSA_H -#define LMP_NSTENCIL_HALF_BIN_2D_NEWTON_SSA_H +#ifndef LMP_NSTENCIL_HALF_BIN_2D_SSA_H +#define LMP_NSTENCIL_HALF_BIN_2D_SSA_H #include "nstencil_ssa.h" namespace LAMMPS_NS { -class NStencilHalfBin2dNewtonSSA : public NStencilSSA { +class NStencilHalfBin2dSSA : public NStencilSSA { public: - NStencilHalfBin2dNewtonSSA(class LAMMPS *); - ~NStencilHalfBin2dNewtonSSA() {} + NStencilHalfBin2dSSA(class LAMMPS *); + ~NStencilHalfBin2dSSA() {} void create(); }; diff --git a/src/USER-DPD/nstencil_half_bin_3d_newton_ssa.cpp b/src/USER-DPD/nstencil_half_bin_3d_ssa.cpp similarity index 97% rename from src/USER-DPD/nstencil_half_bin_3d_newton_ssa.cpp rename to src/USER-DPD/nstencil_half_bin_3d_ssa.cpp index c20dabe28f..8e33f5414f 100644 --- a/src/USER-DPD/nstencil_half_bin_3d_newton_ssa.cpp +++ b/src/USER-DPD/nstencil_half_bin_3d_ssa.cpp @@ -16,13 +16,13 @@ James Larentzos and Timothy I. Mattox (Engility Corporation) ------------------------------------------------------------------------- */ -#include "nstencil_half_bin_3d_newton_ssa.h" +#include "nstencil_half_bin_3d_ssa.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfBin3dNewtonSSA::NStencilHalfBin3dNewtonSSA(LAMMPS *lmp) : +NStencilHalfBin3dSSA::NStencilHalfBin3dSSA(LAMMPS *lmp) : NStencilSSA(lmp) {} /* ---------------------------------------------------------------------- @@ -37,7 +37,7 @@ NStencilHalfBin3dNewtonSSA::NStencilHalfBin3dNewtonSSA(LAMMPS *lmp) : to locate all the Active Interaction Region (AIR) ghosts for SSA ------------------------------------------------------------------------- */ -void NStencilHalfBin3dNewtonSSA::create() +void NStencilHalfBin3dSSA::create() { int i,j,k,pos = 0; nstencil_ssa[0] = 0; // redundant info, but saves a conditional diff --git a/src/USER-DPD/nstencil_half_bin_3d_newton_ssa.h b/src/USER-DPD/nstencil_half_bin_3d_ssa.h similarity index 66% rename from src/USER-DPD/nstencil_half_bin_3d_newton_ssa.h rename to src/USER-DPD/nstencil_half_bin_3d_ssa.h index 450a696e46..94f8fb4142 100644 --- a/src/USER-DPD/nstencil_half_bin_3d_newton_ssa.h +++ b/src/USER-DPD/nstencil_half_bin_3d_ssa.h @@ -13,23 +13,23 @@ #ifdef NSTENCIL_CLASS -NStencilStyle(half/bin/3d/newton/ssa, - NStencilHalfBin3dNewtonSSA, - NS_HALF | NS_BIN | NS_3D | NS_NEWTON | NS_SSA | NS_ORTHO | NS_GHOST) +NStencilStyle(half/bin/3d/ssa, + NStencilHalfBin3dSSA, + NS_HALF | NS_BIN | NS_3D | NS_SSA | NS_ORTHO | NS_GHOST) #else -#ifndef LMP_NSTENCIL_HALF_BIN_3D_NEWTON_SSA_H -#define LMP_NSTENCIL_HALF_BIN_3D_NEWTON_SSA_H +#ifndef LMP_NSTENCIL_HALF_BIN_3D_SSA_H +#define LMP_NSTENCIL_HALF_BIN_3D_SSA_H #include "nstencil_ssa.h" namespace LAMMPS_NS { -class NStencilHalfBin3dNewtonSSA : public NStencilSSA { +class NStencilHalfBin3dSSA : public NStencilSSA { public: - NStencilHalfBin3dNewtonSSA(class LAMMPS *); - ~NStencilHalfBin3dNewtonSSA() {} + NStencilHalfBin3dSSA(class LAMMPS *); + ~NStencilHalfBin3dSSA() {} void create(); }; diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/USER-OMP/npair_full_multi_omp.cpp index 4b38e660d4..4fc6fb4a68 100755 --- a/src/USER-OMP/npair_full_multi_omp.cpp +++ b/src/USER-OMP/npair_full_multi_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_full_multi_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -30,7 +31,7 @@ NPairFullMultiOmp::NPairFullMultiOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ @@ -46,7 +47,7 @@ void NPairFullMultiOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -54,6 +55,7 @@ void NPairFullMultiOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -80,7 +82,7 @@ void NPairFullMultiOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -92,22 +94,22 @@ void NPairFullMultiOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in surrounding bins in stencil including self // skip i = j - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { if (i == j) continue; diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp index 93d150f445..ed0e770b2f 100755 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_multi_newtoff_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -30,7 +31,7 @@ NPairHalfMultiNewtoffOmp::NPairHalfMultiNewtoffOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -48,7 +49,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -56,6 +57,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -82,7 +84,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -94,24 +96,24 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp index 11a84a3040..13d286ab5b 100755 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_multi_newton_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -30,7 +31,7 @@ NPairHalfMultiNewtonOmp::NPairHalfMultiNewtonOmp(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -47,7 +48,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -55,6 +56,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -81,7 +83,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -93,29 +95,29 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(igroup == jgroup) js = bins[i]; - else js = binhead_multi[jgroup][jbin]; + if(icollection == jcollection) js = bins[i]; + else js = binhead_multi[jcollection][jbin]; - // if same group, + // if same collection, // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - // if different groups, + // if different collections, // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(igroup != jgroup and j < i) continue; + if(icollection != jcollection and j < i) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -151,16 +153,16 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) } } - // for all groups, loop over all atoms in other bins in stencil, store every pair + // for all collections, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index b5882580a8..cb758673d4 100755 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_multi_newton_tri_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -31,7 +32,7 @@ NPairHalfMultiNewtonTriOmp::NPairHalfMultiNewtonTriOmp(LAMMPS *lmp) : /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -48,7 +49,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,ibin,jbin,igroup,jgroup,which,ns,imol,iatom; + int i,j,k,n,itype,jtype,ibin,jbin,icollection,jcollection,which,ns,imol,iatom; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; @@ -56,6 +57,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -82,7 +84,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -94,12 +96,12 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -110,15 +112,15 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { - // if same size (same group), use half stencil - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + // if same size (same collection), use half stencil + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp index 0d588b2f24..0efb4f067a 100755 --- a/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newtoff_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_size_multi_newtoff_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -29,7 +30,7 @@ NPairHalfSizeMultiNewtoffOmp::NPairHalfSizeMultiNewtoffOmp(LAMMPS *lmp) : NPair( /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -47,7 +48,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -55,6 +56,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -75,7 +77,7 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -83,24 +85,24 @@ void NPairHalfSizeMultiNewtoffOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; diff --git a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp index cec3edd02b..68885fb453 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_size_multi_newton_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -29,7 +30,7 @@ NPairHalfSizeMultiNewtonOmp::NPairHalfSizeMultiNewtonOmp(LAMMPS *lmp) : NPair(lm /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -46,7 +47,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -54,6 +55,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -74,7 +76,7 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -82,29 +84,29 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(igroup == jgroup) js = bins[i]; - else js = binhead_multi[jgroup][jbin]; + if(icollection == jcollection) js = bins[i]; + else js = binhead_multi[jcollection][jbin]; - // if same group, + // if same collection, // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - // if different groups, + // if different collections, // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(igroup != jgroup and j < i) continue; + if(icollection != jcollection and j < i) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -133,16 +135,16 @@ void NPairHalfSizeMultiNewtonOmp::build(NeighList *list) } } - // for all groups, loop over all atoms in other bins in stencil, store every pair + // for all collections, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp index 396e870846..76f61b8792 100755 --- a/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_size_multi_newton_tri_omp.cpp @@ -14,6 +14,7 @@ #include "omp_compat.h" #include "npair_half_size_multi_newton_tri_omp.h" #include "npair_omp.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -30,7 +31,7 @@ NPairHalfSizeMultiNewtonTriOmp::NPairHalfSizeMultiNewtonTriOmp(LAMMPS *lmp) : /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ @@ -47,7 +48,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) #endif NPAIR_OMP_SETUP(nlocal); - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; @@ -55,6 +56,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) // loop over each atom, storing neighbors + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -75,7 +77,7 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) neighptr = ipage.vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -83,12 +85,12 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil @@ -100,15 +102,15 @@ void NPairHalfSizeMultiNewtonTriOmp::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { - // if same size (same group), use half stencil - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + // if same size (same collection), use half stencil + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/comm.cpp b/src/comm.cpp index 867eab6256..3f2d4ecde6 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -58,6 +58,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) bordergroup = 0; cutghostuser = 0.0; cutusermulti = nullptr; + cutusermultiold = nullptr; ghost_velocity = 0; user_procgrid[0] = user_procgrid[1] = user_procgrid[2] = 0; @@ -118,6 +119,7 @@ Comm::~Comm() memory->destroy(ysplit); memory->destroy(zsplit); memory->destroy(cutusermulti); + memory->destroy(cutusermultiold); delete [] customfile; delete [] outfile; } @@ -146,8 +148,13 @@ void Comm::copy_arrays(Comm *oldcomm) } if (oldcomm->cutusermulti) { - memory->create(cutusermulti,atom->ntypes+1,"comm:cutusermulti"); - memcpy(cutusermulti,oldcomm->cutusermulti,atom->ntypes+1); + memory->create(cutusermulti,ncollections,"comm:cutusermulti"); + memcpy(cutusermulti,oldcomm->cutusermulti,ncollections); + } + + if (oldcomm->cutusermultiold) { + memory->create(cutusermultiold,atom->ntypes+1,"comm:cutusermultiold"); + memcpy(cutusermultiold,oldcomm->cutusermultiold,atom->ntypes+1); } if (customfile) { @@ -242,13 +249,16 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; + if(mode == Comm::MULTI and neighbor->style != Neighbor::MULTI) + error->all(FLERR,"Cannot use comm mode multi without multi-style neighbor lists"); + if(multi_reduce){ if (force->newton == 0) error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); if (neighbor->any_full()) error->all(FLERR,"Cannot use multi/reduce communication with a full neighbor list"); - if (neighbor->style != Neighbor::MULTI) - error->all(FLERR,"Cannot use multi/reduce communication without multi-style neighbor lists"); + if(mode != Comm::MULTI) + error->all(FLERR,"Cannot use multi/reduce communication without mode multi"); } } @@ -285,13 +295,20 @@ void Comm::modify_params(int narg, char **arg) if (strcmp(arg[iarg+1],"single") == 0) { // need to reset cutghostuser when switching comm mode if (mode == Comm::MULTI) cutghostuser = 0.0; + if (mode == Comm::MULTIOLD) cutghostuser = 0.0; memory->destroy(cutusermulti); cutusermulti = nullptr; mode = Comm::SINGLE; } else if (strcmp(arg[iarg+1],"multi") == 0) { // need to reset cutghostuser when switching comm mode if (mode == Comm::SINGLE) cutghostuser = 0.0; + if (mode == Comm::MULTIOLD) cutghostuser = 0.0; mode = Comm::MULTI; + } else if (strcmp(arg[iarg+1],"multi/old") == 0) { + // need to reset cutghostuser when switching comm mode + if (mode == Comm::SINGLE) cutghostuser = 0.0; + if (mode == Comm::MULTI) cutghostuser = 0.0; + mode = Comm::MULTIOLD; } else error->all(FLERR,"Illegal comm_modify command"); iarg += 2; } else if (strcmp(arg[iarg],"group") == 0) { @@ -308,6 +325,9 @@ void Comm::modify_params(int narg, char **arg) if (mode == Comm::MULTI) error->all(FLERR, "Use cutoff/multi keyword to set cutoff in multi mode"); + if (mode == Comm::MULTIOLD) + error->all(FLERR, + "Use cutoff/multi/old keyword to set cutoff in multi mode"); cutghostuser = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutghostuser < 0.0) error->all(FLERR,"Invalid cutoff in comm_modify command"); @@ -317,18 +337,20 @@ void Comm::modify_params(int narg, char **arg) double cut; if (mode == Comm::SINGLE) error->all(FLERR,"Use cutoff keyword to set cutoff in single mode"); - if (domain->box_exist == 0) + if (mode == Comm::MULTIOLD) + error->all(FLERR,"Use cutoff/multi/old keyword to set cutoff in multi/old mode"); + if (domain->box_exist == 0) error->all(FLERR, "Cannot set cutoff/multi before simulation box is defined"); - const int ntypes = atom->ntypes; + ncollections = neighbor->ncollections; if (iarg+3 > narg) error->all(FLERR,"Illegal comm_modify command"); if (cutusermulti == nullptr) { - memory->create(cutusermulti,ntypes+1,"comm:cutusermulti"); - for (i=0; i < ntypes+1; ++i) + memory->create(cutusermulti,ncollections,"comm:cutusermulti"); + for (i=0; i < ncollections; ++i) cutusermulti[i] = -1.0; } - utils::bounds(FLERR,arg[iarg+1],1,ntypes,nlo,nhi,error); + utils::bounds(FLERR,arg[iarg+1],1,ncollections,nlo,nhi,error); cut = utils::numeric(FLERR,arg[iarg+2],false,lmp); cutghostuser = MAX(cutghostuser,cut); if (cut < 0.0) @@ -336,9 +358,35 @@ void Comm::modify_params(int narg, char **arg) for (i=nlo; i<=nhi; ++i) cutusermulti[i] = cut; iarg += 3; - } else if (strcmp(arg[iarg],"multi/reduce") == 0) { + } else if (strcmp(arg[iarg],"cutoff/multi/old") == 0) { + int i,nlo,nhi; + double cut; if (mode == Comm::SINGLE) - error->all(FLERR,"Use multi/reduce in mode multi only"); + error->all(FLERR,"Use cutoff keyword to set cutoff in single mode"); + if (mode == Comm::MULTI) + error->all(FLERR,"Use cutoff/multi keyword to set cutoff in multi mode"); + if (domain->box_exist == 0) + error->all(FLERR, + "Cannot set cutoff/multi before simulation box is defined"); + const int ntypes = atom->ntypes; + if (iarg+3 > narg) + error->all(FLERR,"Illegal comm_modify command"); + if (cutusermultiold == nullptr) { + memory->create(cutusermultiold,ntypes+1,"comm:cutusermultiold"); + for (i=0; i < ntypes+1; ++i) + cutusermultiold[i] = -1.0; + } + utils::bounds(FLERR,arg[iarg+1],1,ntypes,nlo,nhi,error); + cut = utils::numeric(FLERR,arg[iarg+2],false,lmp); + cutghostuser = MAX(cutghostuser,cut); + if (cut < 0.0) + error->all(FLERR,"Invalid cutoff in comm_modify command"); + for (i=nlo; i<=nhi; ++i) + cutusermultiold[i] = cut; + iarg += 3; + } else if (strcmp(arg[iarg],"reduce/multi") == 0) { + if (mode == Comm::SINGLE) + error->all(FLERR,"Use reduce/multi in mode multi only"); multi_reduce = 1; iarg += 1; } else if (strcmp(arg[iarg],"vel") == 0) { diff --git a/src/comm.h b/src/comm.h index 4ae4faf7fd..877941523c 100644 --- a/src/comm.h +++ b/src/comm.h @@ -25,14 +25,15 @@ class Comm : protected Pointers { // LAYOUT_NONUNIFORM = logical bricks, but diff sizes via LB // LAYOUT_TILED = general tiling, due to RCB LB enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; - int mode; // 0 = single cutoff, 1 = multi-type cutoff - enum{SINGLE,MULTI}; + int mode; // 0 = single cutoff, 1 = multi-collection cutoff, 2 = multiold-type cutoff + enum{SINGLE,MULTI,MULTIOLD}; int me,nprocs; // proc info int ghost_velocity; // 1 if ghost atoms have velocity, 0 if not double cutghost[3]; // cutoffs used for acquiring ghost atoms double cutghostuser; // user-specified ghost cutoff (mode == 0) - double *cutusermulti; // per type user ghost cutoff (mode == 1) + double *cutusermulti; // per collection user ghost cutoff (mode == 1) + double *cutusermultiold; // per type user ghost cutoff (mode == 2) int recv_from_partition; // recv proc layout from this partition int send_to_partition; // send my proc layout to this partition // -1 if no recv or send @@ -152,7 +153,9 @@ class Comm : protected Pointers { int ncores; // # of cores per node int coregrid[3]; // 3d grid of cores within a node int user_coregrid[3]; // user request for cores in each dim - int multi_reduce; // 1 if multi cutoff is intra-type cutoff + int multi_reduce; // 1 if multi cutoff is intra-collection cutoff + int ncollections; // number of collection cutoffs defined for multi + int ncollections_prior; // value of ncollections at last setup void init_exchange(); int rendezvous_irregular(int, char *, int, int, int *, diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 939669fb75..ca0fea8757 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -46,6 +46,7 @@ CommBrick::CommBrick(LAMMPS *lmp) : size_reverse_send(nullptr), size_reverse_recv(nullptr), slablo(nullptr), slabhi(nullptr), multilo(nullptr), multihi(nullptr), cutghostmulti(nullptr), pbc_flag(nullptr), pbc(nullptr), firstrecv(nullptr), + multioldlo(nullptr), multioldhi(nullptr), cutghostmultiold(nullptr), sendlist(nullptr), localsendlist(nullptr), maxsendlist(nullptr), buf_send(nullptr), buf_recv(nullptr) { @@ -65,6 +66,11 @@ CommBrick::~CommBrick() memory->destroy(cutghostmulti); } + if (mode == Comm::MULTIOLD) { + free_multiold(); + memory->destroy(cutghostmultiold); + } + if (sendlist) for (int i = 0; i < maxswap; i++) memory->destroy(sendlist[i]); if (localsendlist) memory->destroy(localsendlist); memory->sfree(sendlist); @@ -101,6 +107,9 @@ void CommBrick::init_buffers() multilo = multihi = nullptr; cutghostmulti = nullptr; + multioldlo = multioldhi = nullptr; + cutghostmultiold = nullptr; + buf_send = buf_recv = nullptr; maxsend = maxrecv = BUFMIN; grow_send(maxsend,2); @@ -128,23 +137,37 @@ void CommBrick::init() init_exchange(); if (bufextra > bufextra_old) grow_send(maxsend+bufextra,2); - // memory for multi-style communication + // memory for multi style communication + // allocate in setup if (mode == Comm::MULTI && multilo == nullptr) { allocate_multi(maxswap); - memory->create(cutghostmulti,atom->ntypes+1,3,"comm:cutghostmulti"); - } - if (mode == Comm::SINGLE && multilo) { + memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); + ncollections_prior = ncollections; + } + if ((mode == Comm::SINGLE or mode == Comm::MULTIOLD) && multilo) { free_multi(); memory->destroy(cutghostmulti); } + + // memory for multi/old-style communication + + if (mode == Comm::MULTIOLD && multioldlo == nullptr) { + allocate_multiold(maxswap); + memory->create(cutghostmultiold,atom->ntypes+1,3,"comm:cutghostmultiold"); + } + if ((mode == Comm::SINGLE or mode == Comm::MULTI) && multioldlo) { + free_multiold(); + memory->destroy(cutghostmultiold); + } } /* ---------------------------------------------------------------------- setup spatial-decomposition communication patterns function of neighbor cutoff(s) & cutghostuser & current box size single mode sets slab boundaries (slablo,slabhi) based on max cutoff - multi mode sets type-dependent slab boundaries (multilo,multihi) + multi mode sets collection-dependent slab boundaries (multilo,multihi) + multi/old mode sets type-dependent slab boundaries (multioldlo,multioldhi) ------------------------------------------------------------------------- */ void CommBrick::setup() @@ -156,8 +179,10 @@ void CommBrick::setup() // neigh->cutghost = distance between tilted planes in box coords // cutghost is in lamda coords = distance between those planes // for multi: - // cutghostmulti = same as cutghost, only for each atom type - + // cutghostmulti = same as cutghost, only for each atom collection + // for multi/old: + // cutghostmultiold = same as cutghost, only for each atom type + int i,j; int ntypes = atom->ntypes; double *prd,*sublo,*subhi; @@ -167,49 +192,58 @@ void CommBrick::setup() error->warning(FLERR,"Communication cutoff is 0.0. No ghost atoms " "will be generated. Atoms may get lost."); - if (mode == Comm::MULTI) { - if (multi_reduce) { - // If using multi/reduce, communicate itype particles a distance equal - // to the max of itype-jtype group interaction - // only consider smaller jtype groups - int igroup, jgroup; - double **cutmultisq = neighbor->cutmultisq; - int *map_type_multi = neighbor->map_type_multi; - for (i = 1; i <= ntypes; i++) { - - if (cutusermulti) { - cutghostmulti[i][0] = cutusermulti[i]; - cutghostmulti[i][1] = cutusermulti[i]; - cutghostmulti[i][2] = cutusermulti[i]; - } else { - cutghostmulti[i][0] = 0.0; - cutghostmulti[i][1] = 0.0; - cutghostmulti[i][2] = 0.0; - } - - igroup = map_type_multi[i]; - for (j = 1; j <= ntypes; j++){ - jgroup = map_type_multi[j]; - - if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); - } + // build initial collection array + neighbor->build_collection(0); + + if(cutusermulti and ncollections != neighbor->ncollections) + error->all(FLERR, "Cannot change number of collections after defining comm_modify multi/cutoff"); + else ncollections = neighbor->ncollections; + + // reallocate memory for multi-style communication at setup if ncollections change + if(ncollections_prior != ncollections){ + if(multilo) free_multi(); + if(cutghostmulti) memory->destroy(cutghostmulti); + + allocate_multi(maxswap); + memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); + ncollections_prior = ncollections; + } + + double **cutcollectionsq = neighbor->cutcollectionsq; + // If using multi/reduce, communicate particles a distance equal + // to the max cutoff with equally sized or smaller collections + // If not, communicate the maximum cutoff of the entire collection + for (i = 0; i < ncollections; i++) { + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } - } else { - // otherwise, communicate a distance equal to the maximum interaction distance for each type - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - double tmp = 0.0; - if (cutusermulti) tmp = cutusermulti[i]; - cutghostmulti[i][0] = MAX(tmp,cuttype[i]); - cutghostmulti[i][1] = MAX(tmp,cuttype[i]); - cutghostmulti[i][2] = MAX(tmp,cuttype[i]); + + for (j = 0; j < ncollections; j++){ + if(multi_reduce and cutcollectionsq[j][j] > cutcollectionsq[i][i]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutcollectionsq[i][j])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutcollectionsq[i][j])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutcollectionsq[i][j])); } } } + + if (mode == Comm::MULTIOLD) { + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + double tmp = 0.0; + if (cutusermultiold) tmp = cutusermultiold[i]; + cutghostmultiold[i][0] = MAX(tmp,cuttype[i]); + cutghostmultiold[i][1] = MAX(tmp,cuttype[i]); + cutghostmultiold[i][2] = MAX(tmp,cuttype[i]); + } + } if (triclinic == 0) { prd = domain->prd; @@ -228,13 +262,21 @@ void CommBrick::setup() cutghost[1] = cut * length1; length2 = h_inv[2]; cutghost[2] = cut * length2; - if (mode == Comm::MULTI){ - for (i = 1; i <= ntypes; i++) { + if (mode == Comm::MULTI) { + for (i = 0; i < ncollections; i++) { cutghostmulti[i][0] *= length0; cutghostmulti[i][1] *= length1; cutghostmulti[i][2] *= length2; } } + + if (mode == Comm::MULTIOLD) { + for (i = 1; i <= ntypes; i++) { + cutghostmultiold[i][0] *= length0; + cutghostmultiold[i][1] *= length1; + cutghostmultiold[i][2] *= length2; + } + } } // recvneed[idim][0/1] = # of procs away I recv atoms from, within cutghost @@ -378,12 +420,18 @@ void CommBrick::setup() if (ineed < 2) slablo[iswap] = -BIG; else slablo[iswap] = 0.5 * (sublo[dim] + subhi[dim]); slabhi[iswap] = sublo[dim] + cutghost[dim]; - } else { - for (i = 1; i <= ntypes; i++) { + } else if (mode == Comm::MULTI) { + for (i = 0; i < ncollections; i++) { if (ineed < 2) multilo[iswap][i] = -BIG; else multilo[iswap][i] = 0.5 * (sublo[dim] + subhi[dim]); multihi[iswap][i] = sublo[dim] + cutghostmulti[i][dim]; } + } else { + for (i = 1; i <= ntypes; i++) { + if (ineed < 2) multioldlo[iswap][i] = -BIG; + else multioldlo[iswap][i] = 0.5 * (sublo[dim] + subhi[dim]); + multioldhi[iswap][i] = sublo[dim] + cutghostmultiold[i][dim]; + } } if (myloc[dim] == 0) { pbc_flag[iswap] = 1; @@ -401,12 +449,18 @@ void CommBrick::setup() slablo[iswap] = subhi[dim] - cutghost[dim]; if (ineed < 2) slabhi[iswap] = BIG; else slabhi[iswap] = 0.5 * (sublo[dim] + subhi[dim]); - } else { - for (i = 1; i <= ntypes; i++) { + } else if (mode == Comm::MULTI) { + for (i = 0; i < ncollections; i++) { multilo[iswap][i] = subhi[dim] - cutghostmulti[i][dim]; if (ineed < 2) multihi[iswap][i] = BIG; else multihi[iswap][i] = 0.5 * (sublo[dim] + subhi[dim]); } + } else { + for (i = 1; i <= ntypes; i++) { + multioldlo[iswap][i] = subhi[dim] - cutghostmultiold[i][dim]; + if (ineed < 2) multioldhi[iswap][i] = BIG; + else multioldhi[iswap][i] = 0.5 * (sublo[dim] + subhi[dim]); + } } if (myloc[dim] == procgrid[dim]-1) { pbc_flag[iswap] = 1; @@ -727,15 +781,19 @@ void CommBrick::exchange() void CommBrick::borders() { - int i,n,itype,iswap,dim,ineed,twoneed; - int nsend,nrecv,sendflag,nfirst,nlast,ngroup; + int i,n,itype,icollection,iswap,dim,ineed,twoneed; + int nsend,nrecv,sendflag,nfirst,nlast,ngroup,nprior; double lo,hi; int *type; + int *collection; double **x; double *buf,*mlo,*mhi; MPI_Request request; AtomVec *avec = atom->avec; + // After exchanging/sorting, need to reconstruct collection array for border communication + if(mode == Comm::MULTI) neighbor->build_collection(0); + // do swaps over all 3 dimensions iswap = 0; @@ -756,10 +814,14 @@ void CommBrick::borders() if (mode == Comm::SINGLE) { lo = slablo[iswap]; hi = slabhi[iswap]; - } else { - type = atom->type; + } else if (mode == Comm::MULTI) { + collection = neighbor->collection; mlo = multilo[iswap]; mhi = multihi[iswap]; + } else { + type = atom->type; + mlo = multioldlo[iswap]; + mhi = multioldhi[iswap]; } if (ineed % 2 == 0) { nfirst = nlast; @@ -788,6 +850,14 @@ void CommBrick::borders() if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend); sendlist[iswap][nsend++] = i; } + } else if (mode == Comm::MULTI) { + for (i = nfirst; i < nlast; i++) { + icollection = collection[i]; + if (x[i][dim] >= mlo[icollection] && x[i][dim] <= mhi[icollection]) { + if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend); + sendlist[iswap][nsend++] = i; + } + } } else { for (i = nfirst; i < nlast; i++) { itype = type[i]; @@ -878,7 +948,10 @@ void CommBrick::borders() size_reverse_send[iswap] = nrecv*size_reverse; size_reverse_recv[iswap] = nsend*size_reverse; firstrecv[iswap] = atom->nlocal + atom->nghost; + nprior = atom->nlocal + atom->nghost; atom->nghost += nrecv; + if(neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); + iswap++; } } @@ -1431,6 +1504,12 @@ void CommBrick::grow_swap(int n) allocate_multi(n); } + if (mode == Comm::MULTIOLD) { + free_multiold(); + allocate_multiold(n); + } + + sendlist = (int **) memory->srealloc(sendlist,n*sizeof(int *),"comm:sendlist"); memory->grow(maxsendlist,n,"comm:maxsendlist"); @@ -1462,15 +1541,26 @@ void CommBrick::allocate_swap(int n) } /* ---------------------------------------------------------------------- - allocation of multi-type swap info + allocation of multi-collection swap info ------------------------------------------------------------------------- */ void CommBrick::allocate_multi(int n) { - multilo = memory->create(multilo,n,atom->ntypes+1,"comm:multilo"); - multihi = memory->create(multihi,n,atom->ntypes+1,"comm:multihi"); + multilo = memory->create(multilo,n,ncollections,"comm:multilo"); + multihi = memory->create(multihi,n,ncollections,"comm:multihi"); } +/* ---------------------------------------------------------------------- + allocation of multi/old-type swap info +------------------------------------------------------------------------- */ + +void CommBrick::allocate_multiold(int n) +{ + multioldlo = memory->create(multioldlo,n,atom->ntypes+1,"comm:multioldlo"); + multioldhi = memory->create(multioldhi,n,atom->ntypes+1,"comm:multioldhi"); +} + + /* ---------------------------------------------------------------------- free memory for swaps ------------------------------------------------------------------------- */ @@ -1492,7 +1582,7 @@ void CommBrick::free_swap() } /* ---------------------------------------------------------------------- - free memory for multi-type swaps + free memory for multi-collection swaps ------------------------------------------------------------------------- */ void CommBrick::free_multi() @@ -1502,6 +1592,17 @@ void CommBrick::free_multi() multilo = multihi = nullptr; } +/* ---------------------------------------------------------------------- + free memory for multi/old-type swaps +------------------------------------------------------------------------- */ + +void CommBrick::free_multiold() +{ + memory->destroy(multioldlo); + memory->destroy(multioldhi); + multioldlo = multioldhi = nullptr; +} + /* ---------------------------------------------------------------------- extract data potentially useful to other classes ------------------------------------------------------------------------- */ diff --git a/src/comm_brick.h b/src/comm_brick.h index 6165f54de5..a1794fdb7b 100644 --- a/src/comm_brick.h +++ b/src/comm_brick.h @@ -61,8 +61,10 @@ class CommBrick : public Comm { int *size_reverse_send; // # to send in each reverse comm int *size_reverse_recv; // # to recv in each reverse comm double *slablo,*slabhi; // bounds of slab to send at each swap - double **multilo,**multihi; // bounds of slabs for multi-type swap - double **cutghostmulti; // cutghost on a per-type basis + double **multilo,**multihi; // bounds of slabs for multi-collection swap + double **multioldlo,**multioldhi; // bounds of slabs for multi-type swap + double **cutghostmulti; // cutghost on a per-collection basis + double **cutghostmultiold; // cutghost on a per-type basis int *pbc_flag; // general flag for sending atoms thru PBC int **pbc; // dimension flags for PBC adjustments @@ -84,11 +86,13 @@ class CommBrick : public Comm { virtual void grow_send(int, int); // reallocate send buffer virtual void grow_recv(int); // free/allocate recv buffer virtual void grow_list(int, int); // reallocate one sendlist - virtual void grow_swap(int); // grow swap and multi arrays + virtual void grow_swap(int); // grow swap, multi, and multi/old arrays virtual void allocate_swap(int); // allocate swap arrays virtual void allocate_multi(int); // allocate multi arrays + virtual void allocate_multiold(int); // allocate multi/old arrays virtual void free_swap(); // free swap arrays virtual void free_multi(); // free multi arrays + virtual void free_multiold(); // free multi/old arrays }; } diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 2e916e7e1e..accdbf7b04 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -53,6 +53,7 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp) overlap = nullptr; rcbinfo = nullptr; cutghostmulti = nullptr; + cutghostmultiold = nullptr; init_buffers(); } @@ -81,6 +82,7 @@ CommTiled::~CommTiled() deallocate_swap(maxswap); memory->sfree(rcbinfo); memory->destroy(cutghostmulti); + memory->destroy(cutghostmultiold); } /* ---------------------------------------------------------------------- @@ -98,7 +100,9 @@ void CommTiled::init_buffers() overlap = nullptr; rcbinfo = nullptr; cutghostmulti = nullptr; + cutghostmultiold = nullptr; sendbox_multi = nullptr; + sendbox_multiold = nullptr; maxswap = 6; allocate_swap(maxswap); @@ -115,9 +119,10 @@ void CommTiled::init() nswap = 2*domain->dimension; - memory->destroy(cutghostmulti); - if (mode == Comm::MULTI) - memory->create(cutghostmulti,atom->ntypes+1,3,"comm:cutghostmulti"); + memory->destroy(cutghostmultiold); + if (mode == Comm::MULTIOLD) + memory->create(cutghostmultiold,atom->ntypes+1,3,"comm:cutghostmultiold"); + int bufextra_old = bufextra; init_exchange(); @@ -173,49 +178,62 @@ void CommTiled::setup() // set cutoff for comm forward and comm reverse // check that cutoff < any periodic box length - + if (mode == Comm::MULTI) { - if (multi_reduce) { - // If using multi/reduce, communicate itype particles a distance equal - // to the max of itype-jtype group interaction - // only consider smaller jtype groups - int igroup, jgroup; - double **cutmultisq = neighbor->cutmultisq; - int *map_type_multi = neighbor->map_type_multi; - for (i = 1; i <= ntypes; i++) { - - if (cutusermulti) { - cutghostmulti[i][0] = cutusermulti[i]; - cutghostmulti[i][1] = cutusermulti[i]; - cutghostmulti[i][2] = cutusermulti[i]; - } else { - cutghostmulti[i][0] = 0.0; - cutghostmulti[i][1] = 0.0; - cutghostmulti[i][2] = 0.0; - } + // build collection from scratch as it is needed for atom exchange + neighbor->build_collection(0); + + if(cutusermulti and ncollections != neighbor->ncollections) + error->all(FLERR, "Cannot change number of collections after defining comm_modify multi/cutoff"); + + ncollections = neighbor->ncollections; + + // allocate memory for multi-style communication at setup as ncollections can change + if(ncollections_prior != ncollections){ + memory->destroy(cutghostmulti); + if (mode == Comm::MULTI) + memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); - igroup = map_type_multi[i]; - for (j = 1; j <= ntypes; j++){ - jgroup = map_type_multi[j]; - - if(cutmultisq[jgroup][jgroup] > cutmultisq[igroup][igroup]) continue; - cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutmultisq[igroup][jgroup])); - cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutmultisq[igroup][jgroup])); - } + for(i = 0; i < maxswap; i ++) + grow_swap_send_multi(i,DELTA_PROCS); + + ncollections_prior = ncollections; + } + + double **cutcollectionsq = neighbor->cutcollectionsq; + // If using multi/reduce, communicate particles a distance equal + // to the max cutoff with equally sized or smaller collections + // If not, communicate the maximum cutoff of the entire collection + for (i = 0; i < ncollections; i++) { + if (cutusermulti) { + cutghostmulti[i][0] = cutusermulti[i]; + cutghostmulti[i][1] = cutusermulti[i]; + cutghostmulti[i][2] = cutusermulti[i]; + } else { + cutghostmulti[i][0] = 0.0; + cutghostmulti[i][1] = 0.0; + cutghostmulti[i][2] = 0.0; } - } else { - // otherwise, communicate a distance equal to the maximum interaction distance for each type - double *cuttype = neighbor->cuttype; - for (i = 1; i <= ntypes; i++) { - double tmp = 0.0; - if (cutusermulti) tmp = cutusermulti[i]; - cutghostmulti[i][0] = MAX(tmp,cuttype[i]); - cutghostmulti[i][1] = MAX(tmp,cuttype[i]); - cutghostmulti[i][2] = MAX(tmp,cuttype[i]); + + for (j = 0; j < ncollections; j++){ + if(multi_reduce and cutcollectionsq[j][j] > cutcollectionsq[i][i]) continue; + cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutcollectionsq[i][j])); + cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutcollectionsq[i][j])); + cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutcollectionsq[i][j])); } } } + + if (mode == Comm::MULTIOLD) { + double *cuttype = neighbor->cuttype; + for (i = 1; i <= ntypes; i++) { + double tmp = 0.0; + if (cutusermultiold) tmp = cutusermultiold[i]; + cutghostmultiold[i][0] = MAX(tmp,cuttype[i]); + cutghostmultiold[i][1] = MAX(tmp,cuttype[i]); + cutghostmultiold[i][2] = MAX(tmp,cuttype[i]); + } + } double cut = get_comm_cutoff(); if ((cut == 0.0) && (me == 0)) @@ -233,12 +251,20 @@ void CommTiled::setup() length2 = h_inv[2]; cutghost[2] = cut * length2; if (mode == Comm::MULTI) { - for (i = 1; i <= ntypes; i++) { + for (i = 0; i < ncollections; i++) { cutghostmulti[i][0] *= length0; cutghostmulti[i][1] *= length1; cutghostmulti[i][2] *= length2; } } + + if (mode == Comm::MULTIOLD) { + for (i = 1; i <= ntypes; i++) { + cutghostmultiold[i][0] *= length0; + cutghostmultiold[i][1] *= length1; + cutghostmultiold[i][2] *= length2; + } + } } if ((periodicity[0] && cutghost[0] > prd[0]) || @@ -376,7 +402,7 @@ void CommTiled::setup() // extend sbox in those lower dims to include ghost atoms // single mode and multi mode - double oboxlo[3],oboxhi[3],sbox[6],sbox_multi[6]; + double oboxlo[3],oboxhi[3],sbox[6],sbox_multi[6],sbox_multiold[6]; if (mode == Comm::SINGLE) { for (i = 0; i < noverlap; i++) { @@ -465,7 +491,7 @@ void CommTiled::setup() sbox[5] = MIN(oboxhi[2],hi2[2]); } - for (int itype = 1; itype <= atom->ntypes; itype++) { + for (int icollection = 0; icollection < ncollections; icollection++) { sbox_multi[0] = sbox[0]; sbox_multi[1] = sbox[1]; sbox_multi[2] = sbox[2]; @@ -476,36 +502,112 @@ void CommTiled::setup() sbox_multi[idim] = sublo[idim]; if (i < noverlap1) sbox_multi[3+idim] = - MIN(sbox_multi[3+idim]+cutghostmulti[itype][idim],subhi[idim]); + MIN(sbox_multi[3+idim]+cutghostmulti[icollection][idim],subhi[idim]); else sbox_multi[3+idim] = - MIN(sbox_multi[3+idim]-prd[idim]+cutghostmulti[itype][idim], + MIN(sbox_multi[3+idim]-prd[idim]+cutghostmulti[icollection][idim], subhi[idim]); } else { if (i < noverlap1) sbox_multi[idim] = - MAX(sbox_multi[idim]-cutghostmulti[itype][idim],sublo[idim]); + MAX(sbox_multi[idim]-cutghostmulti[icollection][idim],sublo[idim]); else sbox_multi[idim] = - MAX(sbox_multi[idim]+prd[idim]-cutghostmulti[itype][idim], + MAX(sbox_multi[idim]+prd[idim]-cutghostmulti[icollection][idim], sublo[idim]); sbox_multi[3+idim] = subhi[idim]; } if (idim >= 1) { if (sbox_multi[0] == oboxlo[0]) - sbox_multi[0] -= cutghostmulti[itype][idim]; + sbox_multi[0] -= cutghostmulti[icollection][idim]; if (sbox_multi[3] == oboxhi[0]) - sbox_multi[3] += cutghostmulti[itype][idim]; + sbox_multi[3] += cutghostmulti[icollection][idim]; } if (idim == 2) { if (sbox_multi[1] == oboxlo[1]) - sbox_multi[1] -= cutghostmulti[itype][idim]; + sbox_multi[1] -= cutghostmulti[icollection][idim]; if (sbox_multi[4] == oboxhi[1]) - sbox_multi[4] += cutghostmulti[itype][idim]; + sbox_multi[4] += cutghostmulti[icollection][idim]; } - memcpy(sendbox_multi[iswap][i][itype],sbox_multi,6*sizeof(double)); + memcpy(sendbox_multi[iswap][i][icollection],sbox_multi,6*sizeof(double)); + } + } + } + + if (mode == Comm::MULTIOLD) { + for (i = 0; i < noverlap; i++) { + pbc_flag[iswap][i] = 0; + pbc[iswap][i][0] = pbc[iswap][i][1] = pbc[iswap][i][2] = + pbc[iswap][i][3] = pbc[iswap][i][4] = pbc[iswap][i][5] = 0; + + (this->*box_other)(idim,idir,overlap[i],oboxlo,oboxhi); + + if (i < noverlap1) { + sbox[0] = MAX(oboxlo[0],lo1[0]); + sbox[1] = MAX(oboxlo[1],lo1[1]); + sbox[2] = MAX(oboxlo[2],lo1[2]); + sbox[3] = MIN(oboxhi[0],hi1[0]); + sbox[4] = MIN(oboxhi[1],hi1[1]); + sbox[5] = MIN(oboxhi[2],hi1[2]); + } else { + pbc_flag[iswap][i] = 1; + if (idir == 0) pbc[iswap][i][idim] = 1; + else pbc[iswap][i][idim] = -1; + if (triclinic) { + if (idim == 1) pbc[iswap][i][5] = pbc[iswap][i][idim]; + if (idim == 2) pbc[iswap][i][4] = pbc[iswap][i][3] = pbc[iswap][i][idim]; + } + sbox[0] = MAX(oboxlo[0],lo2[0]); + sbox[1] = MAX(oboxlo[1],lo2[1]); + sbox[2] = MAX(oboxlo[2],lo2[2]); + sbox[3] = MIN(oboxhi[0],hi2[0]); + sbox[4] = MIN(oboxhi[1],hi2[1]); + sbox[5] = MIN(oboxhi[2],hi2[2]); + } + + for (int itype = 1; itype <= atom->ntypes; itype++) { + sbox_multiold[0] = sbox[0]; + sbox_multiold[1] = sbox[1]; + sbox_multiold[2] = sbox[2]; + sbox_multiold[3] = sbox[3]; + sbox_multiold[4] = sbox[4]; + sbox_multiold[5] = sbox[5]; + if (idir == 0) { + sbox_multiold[idim] = sublo[idim]; + if (i < noverlap1) + sbox_multiold[3+idim] = + MIN(sbox_multiold[3+idim]+cutghostmultiold[itype][idim],subhi[idim]); + else + sbox_multiold[3+idim] = + MIN(sbox_multiold[3+idim]-prd[idim]+cutghostmultiold[itype][idim], + subhi[idim]); + } else { + if (i < noverlap1) + sbox_multiold[idim] = + MAX(sbox_multiold[idim]-cutghostmultiold[itype][idim],sublo[idim]); + else + sbox_multiold[idim] = + MAX(sbox_multiold[idim]+prd[idim]-cutghostmultiold[itype][idim], + sublo[idim]); + sbox_multiold[3+idim] = subhi[idim]; + } + + if (idim >= 1) { + if (sbox_multiold[0] == oboxlo[0]) + sbox_multiold[0] -= cutghostmultiold[itype][idim]; + if (sbox_multiold[3] == oboxhi[0]) + sbox_multiold[3] += cutghostmultiold[itype][idim]; + } + if (idim == 2) { + if (sbox_multiold[1] == oboxlo[1]) + sbox_multiold[1] -= cutghostmultiold[itype][idim]; + if (sbox_multiold[4] == oboxhi[1]) + sbox_multiold[4] += cutghostmultiold[itype][idim]; + } + + memcpy(sendbox_multiold[iswap][i][itype],sbox_multiold,6*sizeof(double)); } } } @@ -937,11 +1039,14 @@ void CommTiled::exchange() void CommTiled::borders() { - int i,m,n,nlast,nsend,nrecv,ngroup,ncount,ncountall; + int i,m,n,nlast,nsend,nrecv,ngroup,nprior,ncount,ncountall; double xlo,xhi,ylo,yhi,zlo,zhi; double *bbox; double **x; AtomVec *avec = atom->avec; + + // After exchanging, need to reconstruct collection array for border communication + if(mode == Comm::MULTI) neighbor->build_collection(0); // send/recv max one = max # of atoms in single send/recv for any swap // send/recv max all = max # of atoms in all sends/recvs within any swap @@ -1008,6 +1113,56 @@ void CommTiled::borders() smaxone = MAX(smaxone,ncount); ncountall += ncount; + } else if (mode == Comm::MULTI) { + + int* collection=neighbor->collection; + int icollection; + ncount = 0; + + if (!bordergroup) { + for (i = 0; i < nlast; i++) { + icollection=collection[i]; + bbox = sendbox_multi[iswap][m][icollection]; + xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; + xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; + if (x[i][0] >= xlo && x[i][0] < xhi && + x[i][1] >= ylo && x[i][1] < yhi && + x[i][2] >= zlo && x[i][2] < zhi) { + if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount); + sendlist[iswap][m][ncount++] = i; + } + } + } else { + ngroup = atom->nfirst; + for (i = 0; i < ngroup; i++) { + icollection=collection[i]; + bbox = sendbox_multi[iswap][m][icollection]; + xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; + xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; + if (x[i][0] >= xlo && x[i][0] < xhi && + x[i][1] >= ylo && x[i][1] < yhi && + x[i][2] >= zlo && x[i][2] < zhi) { + if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount); + sendlist[iswap][m][ncount++] = i; + } + } + for (i = atom->nlocal; i < nlast; i++) { + icollection=collection[i]; + bbox = sendbox_multi[iswap][m][icollection]; + xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; + xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; + if (x[i][0] >= xlo && x[i][0] < xhi && + x[i][1] >= ylo && x[i][1] < yhi && + x[i][2] >= zlo && x[i][2] < zhi) { + if (ncount == maxsendlist[iswap][m]) grow_list(iswap,m,ncount); + sendlist[iswap][m][ncount++] = i; + } + } + } + + sendnum[iswap][m] = ncount; + smaxone = MAX(smaxone,ncount); + ncountall += ncount; } else { int* type=atom->type; @@ -1017,7 +1172,7 @@ void CommTiled::borders() if (!bordergroup) { for (i = 0; i < nlast; i++) { itype=type[i]; - bbox = sendbox_multi[iswap][m][itype]; + bbox = sendbox_multiold[iswap][m][itype]; xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; if (x[i][0] >= xlo && x[i][0] < xhi && @@ -1031,7 +1186,7 @@ void CommTiled::borders() ngroup = atom->nfirst; for (i = 0; i < ngroup; i++) { itype=type[i]; - bbox = sendbox_multi[iswap][m][itype]; + bbox = sendbox_multiold[iswap][m][itype]; xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; if (x[i][0] >= xlo && x[i][0] < xhi && @@ -1043,7 +1198,7 @@ void CommTiled::borders() } for (i = atom->nlocal; i < nlast; i++) { itype=type[i]; - bbox = sendbox_multi[iswap][m][itype]; + bbox = sendbox_multiold[iswap][m][itype]; xlo = bbox[0]; ylo = bbox[1]; zlo = bbox[2]; xhi = bbox[3]; yhi = bbox[4]; zhi = bbox[5]; if (x[i][0] >= xlo && x[i][0] < xhi && @@ -1179,8 +1334,11 @@ void CommTiled::borders() // increment ghost atoms n = nrecvproc[iswap]; - if (n) + if (n) { + nprior = atom->nghost + atom->nlocal; atom->nghost += forward_recv_offset[iswap][n-1] + recvnum[iswap][n-1]; + if(neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); + } } // For molecular systems we lose some bits for local atom indices due @@ -2120,6 +2278,7 @@ void CommTiled::allocate_swap(int n) pbc = new int**[n]; sendbox = new double**[n]; sendbox_multi = new double***[n]; + sendbox_multiold = new double***[n]; maxsendlist = new int*[n]; sendlist = new int**[n]; @@ -2134,6 +2293,7 @@ void CommTiled::allocate_swap(int n) pbc[i] = nullptr; sendbox[i] = nullptr; sendbox_multi[i] = nullptr; + sendbox_multiold[i] = nullptr; maxsendlist[i] = nullptr; sendlist[i] = nullptr; } @@ -2182,8 +2342,9 @@ void CommTiled::grow_swap_send(int i, int n, int nold) memory->create(pbc[i],n,6,"comm:pbc_flag"); memory->destroy(sendbox[i]); memory->create(sendbox[i],n,6,"comm:sendbox"); - memory->destroy(sendbox_multi[i]); - memory->create(sendbox_multi[i],n,atom->ntypes+1,6,"comm:sendbox_multi"); + grow_swap_send_multi(i,n); + memory->destroy(sendbox_multiold[i]); + memory->create(sendbox_multiold[i],n,atom->ntypes+1,6,"comm:sendbox_multiold"); delete [] maxsendlist[i]; maxsendlist[i] = new int[n]; @@ -2215,6 +2376,19 @@ void CommTiled::grow_swap_recv(int i, int n) size_reverse_send[i] = new int[n]; } + +/* ---------------------------------------------------------------------- + grow info for swap I for multi as ncollections can change +------------------------------------------------------------------------- */ + +void CommTiled::grow_swap_send_multi(int i, int n) +{ + memory->destroy(sendbox_multi[i]); + + if(ncollections > 0) + memory->create(sendbox_multi[i],n,ncollections,6,"comm:sendbox_multi"); +} + /* ---------------------------------------------------------------------- deallocate swap info ------------------------------------------------------------------------- */ @@ -2243,6 +2417,7 @@ void CommTiled::deallocate_swap(int n) memory->destroy(pbc[i]); memory->destroy(sendbox[i]); memory->destroy(sendbox_multi[i]); + memory->destroy(sendbox_multiold[i]); delete [] maxsendlist[i]; @@ -2265,6 +2440,7 @@ void CommTiled::deallocate_swap(int n) delete [] pbc; delete [] sendbox; delete [] sendbox_multi; + delete [] sendbox_multiold; delete [] maxsendlist; delete [] sendlist; diff --git a/src/comm_tiled.h b/src/comm_tiled.h index fa2c76e6e9..fdb175117e 100644 --- a/src/comm_tiled.h +++ b/src/comm_tiled.h @@ -77,9 +77,12 @@ class CommTiled : public Comm { double ***sendbox; // bounding box of atoms to send per swap/proc - double **cutghostmulti; // cutghost on a per-type basis + double **cutghostmulti; // cutghost on a per-collection basis + double **cutghostmultiold; // cutghost on a per-type basis double ****sendbox_multi; // bounding box of atoms to send // per swap/proc for multi comm + double ****sendbox_multiold; // bounding box of atoms to send + // per swap/proc for multi/old comm // exchange comm info, proc lists do not include self @@ -148,6 +151,7 @@ class CommTiled : public Comm { void grow_list(int, int, int); // reallocate sendlist for one swap/proc void allocate_swap(int); // allocate swap arrays void grow_swap_send(int, int, int); // grow swap arrays for send and recv + void grow_swap_send_multi(int, int); // grow multi swap arrays for send and recv void grow_swap_recv(int, int); void deallocate_swap(int); // deallocate swap arrays @@ -163,10 +167,6 @@ E: Cannot yet use comm_style tiled with triclinic box Self-explanatory. -E: Cannot yet use comm_style tiled with multi-mode comm - -Self-explanatory. - E: Communication cutoff for comm_style tiled cannot exceed periodic box length Self-explanatory. diff --git a/src/init b/src/init new file mode 100644 index 0000000000..617c9effa3 --- /dev/null +++ b/src/init @@ -0,0 +1,789 @@ +angle_charmm.cpp: if (comm->me == 0) { +angle_cosine.cpp: if (comm->me == 0) utils::sfread(FLERR,&k[1],sizeof(double),atom->nangletypes,fp,nullptr,error); +angle_cosine_periodic.cpp: if (comm->me == 0) { +angle_cosine_squared.cpp: if (comm->me == 0) { +angle.cpp: memory->create(eatom,comm->nthreads*maxeatom,"angle:eatom"); +angle.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"angle:vatom"); +angle.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"angle:cvatom"); +angle.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); +angle.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); +angle.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); +angle_deprecated.cpp: if (lmp->comm->me == 0) +angle_harmonic.cpp: if (comm->me == 0) { +angle_hybrid.cpp: const int nthreads = comm->nthreads; +angle_hybrid.cpp: if (comm->nthreads > 1) { +angle_hybrid.cpp: int me = comm->me; +angle_table.cpp: if (comm->me == 0) { +angle_zero.cpp: if (comm->me == 0) { +atom.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +atom.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; +atom.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] += epsilon[0]; +atom.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; +atom.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] += epsilon[1]; +atom.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; +atom.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] += epsilon[2]; +atom.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; +atom.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] += epsilon[0]; +atom.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; +atom.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] += epsilon[1]; +atom.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; +atom.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] += epsilon[2]; +atom.cpp: if (comm->me == 0) { +atom.cpp: called by comm->exchange() if atom_modify first group is set +atom.cpp: always called between comm->exchange() and comm->borders() +atom.cpp: if (comm->me == 0) +atom_map.cpp: int nper = static_cast (natoms/comm->nprocs); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); +atom_vec.cpp: f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); +atom_vec.cpp: const int nthreads = threads[i] ? comm->nthreads : 1; +atom_vec.cpp: bytes += memory->usage(f,nmax*comm->nthreads,3); +atom_vec.cpp: const int nthreads = threads[i] ? comm->nthreads : 1; +atom_vec_hybrid.cpp: if (mass_pertype && mass_peratom && comm->me == 0) +atom_vec_hybrid.cpp: if ((ptr && strstr(ptr+1,dup)) && (comm->me == 0)) +atom_vec_line.cpp: //if (comm->me == 1 && update->ntimestep == 873) +atom_vec_line.cpp: printf("BAD vecline ptrs: %s: %d %d: %d\n",str,comm->me, +atom_vec_line.cpp: str,comm->me,update->ntimestep,count,nlocal_bonus); +balance.cpp: int *procgrid = comm->procgrid; +balance.cpp: if (style == BISECTION && comm->style == 0) +balance.cpp: // init entire system since comm->setup is done +balance.cpp: comm->setup(); +balance.cpp: comm->exchange(); +balance.cpp: if (comm->layout == Comm::LAYOUT_TILED && style != BISECTION) { +balance.cpp: if (comm->layout == Comm::LAYOUT_UNIFORM) { +balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; +balance.cpp: } else if (comm->layout == Comm::LAYOUT_NONUNIFORM) { +balance.cpp: comm->layout = Comm::LAYOUT_UNIFORM; +balance.cpp: } else if (comm->layout == Comm::LAYOUT_TILED) { +balance.cpp: comm->layout = Comm::LAYOUT_UNIFORM; +balance.cpp: else comm->layout = Comm::LAYOUT_NONUNIFORM; +balance.cpp: comm->xsplit[i] = i * 1.0/procgrid[0]; +balance.cpp: comm->xsplit[procgrid[0]] = 1.0; +balance.cpp: for (int i = 0; i <= procgrid[0]; i++) comm->xsplit[i] = user_xsplit[i]; +balance.cpp: comm->ysplit[i] = i * 1.0/procgrid[1]; +balance.cpp: comm->ysplit[procgrid[1]] = 1.0; +balance.cpp: for (int i = 0; i <= procgrid[1]; i++) comm->ysplit[i] = user_ysplit[i]; +balance.cpp: comm->zsplit[i] = i * 1.0/procgrid[2]; +balance.cpp: comm->zsplit[procgrid[2]] = 1.0; +balance.cpp: for (int i = 0; i <= procgrid[2]; i++) comm->zsplit[i] = user_zsplit[i]; +balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; +balance.cpp: comm->layout = Comm::LAYOUT_TILED; +balance.cpp: for (int i = 0; i <= comm->procgrid[0]; i++) +balance.cpp: mesg += fmt::format(" {:.8}",comm->xsplit[i]); +balance.cpp: for (int i = 0; i <= comm->procgrid[1]; i++) +balance.cpp: mesg += fmt::format(" {:.8}",comm->ysplit[i]); +balance.cpp: for (int i = 0; i <= comm->procgrid[2]; i++) +balance.cpp: mesg += fmt::format(" {:.8}",comm->zsplit[i]); +balance.cpp: if (outflag && comm->me == 0) { +balance.cpp: comm->rcbnew = 1; +balance.cpp: if (idim >= 0) comm->rcbcutfrac = (rcb->cut - boxlo[idim]) / prd[idim]; +balance.cpp: else comm->rcbcutfrac = 0.0; +balance.cpp: comm->rcbcutdim = idim; +balance.cpp: double (*mysplit)[2] = comm->mysplit; +balance.cpp: int max = MAX(comm->procgrid[0],comm->procgrid[1]); +balance.cpp: max = MAX(max,comm->procgrid[2]); +balance.cpp: if (comm->layout == Comm::LAYOUT_TILED) { +balance.cpp: int *procgrid = comm->procgrid; +balance.cpp: double *xsplit = comm->xsplit; +balance.cpp: double *ysplit = comm->ysplit; +balance.cpp: double *zsplit = comm->zsplit; +balance.cpp: int *procgrid = comm->procgrid; +balance.cpp: split = comm->xsplit; +balance.cpp: split = comm->ysplit; +balance.cpp: split = comm->zsplit; +balance.cpp: double *xsplit = comm->xsplit; +balance.cpp: double *ysplit = comm->ysplit; +balance.cpp: double *zsplit = comm->zsplit; +balance.cpp: int nx = comm->procgrid[0]; +balance.cpp: int ny = comm->procgrid[1]; +balance.cpp: int nz = comm->procgrid[2]; +bond.cpp: memory->create(eatom,comm->nthreads*maxeatom,"bond:eatom"); +bond.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"bond:vatom"); +bond.cpp: if (comm->me == 0) { +bond.cpp: if (comm->me == 0) { +bond.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); +bond.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); +bond_deprecated.cpp: if (lmp->comm->me == 0) +bond_fene.cpp: if (comm->me == 0) +bond_fene.cpp: if (comm->me == 0) { +bond_fene_expand.cpp: if (comm->me == 0) +bond_fene_expand.cpp: if (comm->me == 0) { +bond_gromos.cpp: if (comm->me == 0) { +bond_harmonic.cpp: if (comm->me == 0) { +bond_hybrid.cpp: const int nthreads = comm->nthreads; +bond_hybrid.cpp: int me = comm->me; +bond_morse.cpp: if (comm->me == 0) { +bond_nonlinear.cpp: if (comm->me == 0) { +bond_quartic.cpp: if (comm->me == 0) { +bond_table.cpp: if (comm->me == 0) { +bond_zero.cpp: if (comm->me == 0) { +change_box.cpp: if (comm->me == 0) utils::logmesg(lmp,"Changing box ...\n"); +change_box.cpp: if (natoms != atom->natoms && comm->me == 0) +comm_brick.cpp: if (oldcomm->layout == Comm::LAYOUT_TILED) +comm_brick.cpp: layout = oldcomm->layout; +comm.cpp: if (oldcomm->grid2proc) { +comm.cpp: memcpy(&grid2proc[0][0][0],&oldcomm->grid2proc[0][0][0], +comm.cpp: memcpy(xsplit,oldcomm->xsplit,(procgrid[0]+1)*sizeof(double)); +comm.cpp: memcpy(ysplit,oldcomm->ysplit,(procgrid[1]+1)*sizeof(double)); +comm.cpp: memcpy(zsplit,oldcomm->zsplit,(procgrid[2]+1)*sizeof(double)); +comm.cpp: if (oldcomm->cutusermulti) { +comm.cpp: memcpy(cutusermulti,oldcomm->cutusermulti,ncollections); +comm.cpp: if (oldcomm->cutusermultiold) { +comm.cpp: memcpy(cutusermultiold,oldcomm->cutusermultiold,atom->ntypes+1); +comm.cpp: int n = strlen(oldcomm->customfile) + 1; +comm.cpp: strcpy(customfile,oldcomm->customfile); +comm.cpp: int n = strlen(oldcomm->outfile) + 1; +comm.cpp: strcpy(outfile,oldcomm->outfile); +comm_tiled.cpp: layout = oldcomm->layout; +compute_adf.cpp: if (mycutneigh > comm->cutghostuser) +compute_aggregate_atom.cpp: if (count > 1 && comm->me == 0) +compute_aggregate_atom.cpp: comm->forward_comm_compute(this); +compute_aggregate_atom.cpp: comm->forward_comm_compute(this); +compute_aggregate_atom.cpp: comm->reverse_comm_compute(this); +compute_bond_local.cpp: if (velflag && !comm->ghost_velocity) ghostvelflag = 1; +compute_bond_local.cpp: if (ghostvelflag && !initflag) comm->forward_comm_compute(this); +compute_centro_atom.cpp: if (count > 1 && comm->me == 0) +compute_centroid_stress_atom.cpp: comm->reverse_comm_compute(this); +compute_chunk_atom.cpp: int nprocs = comm->nprocs; +compute_chunk_atom.cpp: comm->ring(n,sizeof(int),list,1,idring,nullptr,(void *)this,0); +compute_chunk_atom.cpp: callback from comm->ring() +compute_chunk_atom.cpp: if (flagall && comm->me == 0) +compute_cluster_atom.cpp: if (count > 1 && comm->me == 0) +compute_cluster_atom.cpp: comm->forward_comm_compute(this); +compute_cluster_atom.cpp: comm->forward_comm_compute(this); +compute_cluster_atom.cpp: comm->forward_comm_compute(this); +compute_cna_atom.cpp: comm->me == 0) +compute_cna_atom.cpp: if (count > 1 && comm->me == 0) +compute_cna_atom.cpp: if (nerrorall && comm->me == 0) +compute_cna_atom.cpp: if (nerrorall && comm->me == 0) +compute_contact_atom.cpp: if (count > 1 && comm->me == 0) +compute_contact_atom.cpp: if (force->newton_pair) comm->reverse_comm_compute(this); +compute_coord_atom.cpp: comm->forward_comm_compute(this); +compute_deprecated.cpp: if (lmp->comm->me == 0) +compute_erotate_sphere_atom.cpp: if (count > 1 && comm->me == 0) +compute_fragment_atom.cpp: if (count > 1 && comm->me == 0) +compute_fragment_atom.cpp: comm->forward_comm_compute(this); +compute_fragment_atom.cpp: comm->forward_comm_compute(this); +compute_group_group.cpp: if ((fabs(e_correction) > SMALL) && (comm->me == 0)) +compute_hexorder_atom.cpp: if (count > 1 && comm->me == 0) +compute_ke_atom.cpp: if (count > 1 && comm->me == 0) +compute_orientorder_atom.cpp: if (count > 1 && comm->me == 0) +compute_pe_atom.cpp: comm->reverse_comm_compute(this); +compute_property_atom.cpp: int me = comm->me; +compute_rdf.cpp: cutghost = MAX(force->pair->cutforce+skin,comm->cutghostuser); +compute_rdf.cpp: cutghost = comm->cutghostuser; +compute_rdf.cpp: if (comm->me == 0) +compute_stress_atom.cpp: comm->reverse_comm_compute(this); +compute_temp_deform.cpp: comm->me == 0) +compute_temp_deform.cpp: if (i == modify->nfix && comm->me == 0) +create_atoms.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +create_atoms.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; +create_atoms.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] -= 2.0*epsilon[0]; +create_atoms.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; +create_atoms.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] -= 2.0*epsilon[1]; +create_atoms.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; +create_atoms.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] -= 2.0*epsilon[2]; +create_atoms.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; +create_atoms.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] -= 2.0*epsilon[0]; +create_atoms.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; +create_atoms.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] -= 2.0*epsilon[1]; +create_atoms.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; +create_atoms.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] -= 2.0*epsilon[2]; +create_bonds.cpp: // init entire system since comm->borders and neighbor->build is done +create_bonds.cpp: if (rmax > neighbor->cutneighmin && comm->me == 0) +create_bonds.cpp: comm->setup(); +create_bonds.cpp: comm->exchange(); +create_bonds.cpp: comm->borders(); +create_bonds.cpp: if (comm->me == 0) +create_box.cpp: comm->set_proc_grid(); +delete_atoms.cpp: } else if (comm->me == 0) +delete_atoms.cpp: if (comm->me == 0) { +delete_atoms.cpp: if (comm->me == 0) utils::logmesg(lmp,"System init for delete_atoms ...\n"); +delete_atoms.cpp: // init entire system since comm->borders and neighbor->build is done +delete_atoms.cpp: if (cut > neighbor->cutneighmin && comm->me == 0) +delete_atoms.cpp: comm->setup(); +delete_atoms.cpp: comm->exchange(); +delete_atoms.cpp: comm->borders(); +delete_atoms.cpp: RanMars *random = new RanMars(lmp,seed + comm->me); +delete_atoms.cpp: // pass list to all other procs via comm->ring() +delete_atoms.cpp: comm->ring(n,sizeof(tagint),list,1,bondring,nullptr,(void *)this); +delete_atoms.cpp: // pass list to all other procs via comm->ring() +delete_atoms.cpp: comm->ring(n,sizeof(tagint),list,1,molring,nullptr,(void *)this); +delete_atoms.cpp: callback from comm->ring() in delete_bond() +delete_atoms.cpp: callback from comm->ring() in delete_molecule() +delete_bonds.cpp: // init entire system since comm->borders is done +delete_bonds.cpp: if (comm->me == 0) utils::logmesg(lmp,"System init for delete_bonds ...\n"); +delete_bonds.cpp: if (comm->me == 0) utils::logmesg(lmp,"Deleting bonds ...\n"); +delete_bonds.cpp: comm->setup(); +delete_bonds.cpp: comm->exchange(); +delete_bonds.cpp: comm->borders(); +delete_bonds.cpp: if (comm->me == 0) { +deprecated.cpp: if (lmp->comm->me == 0) +deprecated.cpp: if (lmp->comm->me == 0) +dihedral_charmm.cpp: if (comm->me == 0) { +dihedral_charmmfsw.cpp: if (comm->me == 0) { +dihedral.cpp: memory->create(eatom,comm->nthreads*maxeatom,"dihedral:eatom"); +dihedral.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"dihedral:vatom"); +dihedral.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"dihedral:cvatom"); +dihedral.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); +dihedral.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); +dihedral.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); +dihedral_deprecated.cpp: if (lmp->comm->me == 0) +dihedral_harmonic.cpp: if (comm->me == 0) { +dihedral_helix.cpp: if (comm->me == 0) { +dihedral_hybrid.cpp: int me = comm->me; +dihedral_multi_harmonic.cpp: if (comm->me == 0) { +dihedral_opls.cpp: if (comm->me == 0) { +displace_atoms.cpp: if (comm->me == 0) utils::logmesg(lmp,"Displacing atoms ...\n"); +displace_atoms.cpp: if (natoms != atom->natoms && comm->me == 0) +domain.cpp: else if (comm->me == 0) +domain.cpp: uses comm->xyz_split or comm->mysplit +domain.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +domain.cpp: int *myloc = comm->myloc; +domain.cpp: double *xsplit = comm->xsplit; +domain.cpp: double *ysplit = comm->ysplit; +domain.cpp: double *zsplit = comm->zsplit; +domain.cpp: double (*mysplit)[2] = comm->mysplit; +domain.cpp: uses comm->xyz_split or comm->mysplit +domain.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +domain.cpp: int *myloc = comm->myloc; +domain.cpp: int *procgrid = comm->procgrid; +domain.cpp: double *xsplit = comm->xsplit; +domain.cpp: double *ysplit = comm->ysplit; +domain.cpp: double *zsplit = comm->zsplit; +domain.cpp: double (*mysplit)[2] = comm->mysplit; +domain.cpp: comm->forward_comm_array(3,unwrap); +domain.cpp: if (flagall && comm->me == 0) +domain.cpp: if (all && comm->me == 0) +domain.cpp: if (all && comm->me == 0) +domain.cpp: if (flagall && comm->me == 0) +domain.cpp: since may lead to lost atoms in comm->exchange() +domain.cpp: if (flagall && comm->me == 0) +domain.cpp: if ((flag_all > 0) && (comm->me == 0)) +domain.cpp: if (comm->me == 0) { +dump_deprecated.cpp: if (lmp->comm->me == 0) +dump_image.cpp: comm->forward_comm_dump(this); +dump_movie.cpp: if ((comm->me == 0) && (fp == nullptr)) { +finish.cpp: const int nthreads = comm->nthreads; +fix_balance.cpp: if (lbstyle == BISECTION && comm->style == 0) +fix_balance.cpp: compute final imbalance factor based on nlocal after comm->exchange() +fix_balance.cpp: // invoke balancer and reset comm->uniform flag +fix_balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; +fix_balance.cpp: comm->layout = Comm::LAYOUT_TILED; +fix_balance.cpp: // since may lead to lost atoms in comm->exchange() +fix_balance.cpp: // else allow caller's comm->exchange() to do it +fix_balance.cpp: // b/c atoms may migrate again in comm->exchange() +fix_balance.cpp: // can only be done after atoms migrate in comm->exchange() +fix_box_relax.cpp: if (temperature->igroup != 0 && comm->me == 0) +fix_cmap.cpp: if (comm->me == 0) { +fix_cmap.cpp: if (comm->me == 0) +fix_cmap.cpp: if (comm->me == 0) fclose(fp); +fix_cmap.cpp: if (comm->me == 0) { +fix_deform.cpp: if (comm->me == 0) { +fix_deprecated.cpp: if (lmp->comm->me == 0) +fix_deprecated.cpp: if (lmp->comm->me == 0) +fix_dt_reset.cpp: strcmp(output->dump[i]->style,"xtc") == 0) && comm->me == 0) +fix_group.cpp: if (warn && comm->me == 0) +fix_halt.cpp: if (comm->me == 0 && msgflag == YESMSG) error->message(FLERR,message); +fix_langevin.cpp: random = new RanMars(lmp,seed + comm->me); +fix_langevin.cpp: if (temperature->igroup != igroup && comm->me == 0) +fix_move.cpp: if (comm->me == 0) { +fix_neigh_history.cpp: int nmypage = comm->nthreads; +fix_neigh_history.cpp: comm->reverse_comm_fix(this,0); +fix_neigh_history.cpp: comm->reverse_comm_fix_variable(this); +fix_neigh_history.cpp: int nmypage = comm->nthreads; +fix_neigh_history.cpp: if (comm->me == 0) { +fix_nh.cpp: if (comm->me == 0) { +fix_nh.cpp: if (temperature->igroup != 0 && comm->me == 0) +fix_nve_limit.cpp: if (comm->me == 0) +fix_pour.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +fix_pour.cpp: if (comm->myloc[2] == comm->procgrid[2]-1 && +fix_pour.cpp: if (comm->mysplit[2][1] == 1.0 && +fix_pour.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +fix_pour.cpp: if (comm->myloc[1] == comm->procgrid[1]-1 && +fix_pour.cpp: if (comm->mysplit[1][1] == 1.0 && +fix_press_berendsen.cpp: if (temperature->igroup != 0 && comm->me == 0) +fix_property_atom.cpp: if (flag && comm->me == 0) +fix_recenter.cpp: if (flag && comm->me == 0) +fix_restrain.cpp: comm->me,update->ntimestep)); +fix_restrain.cpp: comm->me,update->ntimestep)); +fix_restrain.cpp: comm->me,update->ntimestep)); +fix_restrain.cpp: comm->me,update->ntimestep)); +fix_restrain.cpp: ids[m][2],comm->me,update->ntimestep)); +fix_restrain.cpp: ids[m][2],comm->me,update->ntimestep)); +fix_restrain.cpp: ids[m][2],ids[m][3],comm->me, +fix_restrain.cpp: ids[m][2],ids[m][3],comm->me, +fix_restrain.cpp: comm->me,x[i1][0],x[i1][1],x[i1][2], +fix_restrain.cpp: comm->me,x[i2][0],x[i2][1],x[i2][2], +fix_restrain.cpp: comm->me,x[i3][0],x[i3][1],x[i3][2], +fix_restrain.cpp: comm->me,x[i4][0],x[i4][1],x[i4][2]); +fix_spring_chunk.cpp: if (comm->me == 0) { +fix_spring_chunk.cpp: if (comm->me == 0) +fix_spring_rg.cpp: if (comm->me == 0) { +fix_store.cpp: // PERATOM may be comm->exchanged before filled by caller +fix_store.cpp: if (comm->me == 0) { +fix_temp_berendsen.cpp: if (temperature->igroup != igroup && comm->me == 0) +fix_temp_berendsen.cpp: if (comm->me == 0) { +fix_temp_csld.cpp: random = new RanMars(lmp,seed + comm->me); +fix_temp_csld.cpp: if (temperature->igroup != igroup && comm->me == 0) +fix_temp_csld.cpp: int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy +fix_temp_csld.cpp: if (comm->me == 0) { +fix_temp_csld.cpp: list[1] = comm->nprocs; +fix_temp_csld.cpp: if (comm->me == 0) { +fix_temp_csld.cpp: if (nprocs != comm->nprocs) { +fix_temp_csld.cpp: if (comm->me == 0) +fix_temp_csld.cpp: } else random->set_state(list+2+comm->me*103); +fix_temp_csvr.cpp: random = new RanMars(lmp,seed + comm->me); +fix_temp_csvr.cpp: if (comm->me == 0) { +fix_temp_csvr.cpp: if (temperature->igroup != igroup && comm->me == 0) +fix_temp_csvr.cpp: int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy +fix_temp_csvr.cpp: if (comm->me == 0) { +fix_temp_csvr.cpp: list[1] = comm->nprocs; +fix_temp_csvr.cpp: if (comm->me == 0) { +fix_temp_csvr.cpp: if (nprocs != comm->nprocs) { +fix_temp_csvr.cpp: if (comm->me == 0) +fix_temp_csvr.cpp: } else random->set_state(list+2+comm->me*103); +fix_temp_rescale.cpp: if (temperature->igroup != igroup && comm->me == 0) +fix_temp_rescale.cpp: if (comm->me == 0) { +fix_wall_gran_region.cpp: if (comm->me) return; +fix_wall_reflect.cpp: if (nrigid && comm->me == 0) +force.cpp: if (comm->me == 0) { +group.cpp: // pass list to all other procs via comm->ring() +group.cpp: comm->ring(n,sizeof(tagint),list,1,molring,nullptr,(void *)this); +group.cpp: callback from comm->ring() +imbalance_neigh.cpp: if (comm->me == 0 && !did_warn) +improper.cpp: memory->create(eatom,comm->nthreads*maxeatom,"improper:eatom"); +improper.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"improper:vatom"); +improper.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"improper:cvatom"); +improper.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); +improper.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); +improper_cvff.cpp: if (comm->me == 0) { +improper_deprecated.cpp: if (lmp->comm->me == 0) +improper_harmonic.cpp: if (comm->me == 0) { +improper_hybrid.cpp: int me = comm->me; +improper_umbrella.cpp: if (comm->me == 0) { +info.cpp: if (comm->me != 0) return; +info.cpp: commstyles[comm->style], commlayout[comm->layout], +info.cpp: comm->ghost_velocity ? "yes" : "no"); +info.cpp: if (comm->mode == 0) +info.cpp: comm->get_comm_cutoff()); +info.cpp: if (comm->mode == 1) { +info.cpp: if (comm->cutusermulti) cut = MAX(cut,comm->cutusermulti[i]); +info.cpp: fmt::print(out,"Nprocs = {}, Nthreads = {}\n",comm->nprocs,comm->nthreads); +info.cpp: fmt::print(out,"Processor grid = {} x {} x {}\n",comm->procgrid[0], +info.cpp: comm->procgrid[1], comm->procgrid[2]); +info.cpp: style = commstyles[comm->style]; +info.cpp: bytes += comm->memory_usage(); +input.cpp: comm->modify_params(narg,arg); +input.cpp: if (comm->style == 0) return; +input.cpp: if (comm->style == 1) return; +input.cpp: comm->set_processors(narg,arg); +irregular.cpp: can be used in place of comm->exchange() +irregular.cpp: if (!preassign) comm->coord2proc_setup(); +irregular.cpp: mproclist[nsendatom] = comm->coord2proc(x[i],igx,igy,igz); +irregular.cpp: if not, caller can decide to use comm->exchange() instead +irregular.cpp: if (comm->layout == Comm::LAYOUT_TILED) return 1; +irregular.cpp: // cannot check via comm->procneigh since it ignores PBC +irregular.cpp: int *myloc = comm->myloc; +irregular.cpp: int *procgrid = comm->procgrid; +irregular.cpp: comm->coord2proc(x[i],igx,igy,igz); +kspace.cpp: if ((qsqsum == 0.0) && (comm->me == 0) && warn_nocharge && warning_flag) { +kspace.cpp: if (warn_nonneutral == 1 && comm->me == 0) error->warning(FLERR,message); +kspace.cpp: if (comm->me == 0) { +kspace.cpp: if ((table_accuracy > spr) && (comm->me == 0)) +kspace.cpp: if (slab_volfactor < 2.0 && comm->me == 0) +kspace_deprecated.cpp: if (lmp->comm->me == 0) +lammps.cpp: const int me = comm->me; +lammps.cpp: comm->init(); // comm must come after force, modify, neighbor, atom +lattice.cpp: if (comm->me == 0) +library.cpp: && (lmp->comm->me == 0)) { +library.cpp: && (lmp->comm->me == 0)) { +library.cpp: lmp->comm->set_proc_grid(); +library.cpp: if (strcmp(keyword,"world_rank") == 0) return lmp->comm->me; +library.cpp: if (strcmp(keyword,"world_size") == 0) return lmp->comm->nprocs; +library.cpp: if (strcmp(keyword,"nthreads") == 0) return lmp->comm->nthreads; +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: int nprocs = lmp->comm->nprocs; +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: int nprocs = lmp->comm->nprocs; +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) +library.cpp: if (lmp->comm->me == 0) lmp->error->warning(FLERR,msg); +min.cpp: if (comm->me == 0) +min.cpp: if (comm->me == 0 && screen) { +min.cpp: if (comm->me == 0 && screen) +min.cpp: comm->setup(); +min.cpp: comm->exchange(); +min.cpp: comm->borders(); +min.cpp: // atoms may have migrated in comm->exchange() +min.cpp: if (force->newton) comm->reverse_comm(); +min.cpp: comm->setup(); +min.cpp: comm->exchange(); +min.cpp: comm->borders(); +min.cpp: // atoms may have migrated in comm->exchange() +min.cpp: if (force->newton) comm->reverse_comm(); +min.cpp: comm->forward_comm(); +min.cpp: comm->setup(); +min.cpp: comm->exchange(); +min.cpp: comm->borders(); +min.cpp: comm->reverse_comm(); +min_fire.cpp: if (comm->me == 0 && logfile) { +modify.cpp: if (comm->me == 0 && checkall) +modify.cpp: if (fix[ifix]->igroup != igroup && comm->me == 0) +modify.cpp: if (comm->me == 0) +modify.cpp: if (comm->me == 0) +modify.cpp: int me = comm->me; +modify.cpp: int me = comm->me; +modify.cpp: if (flag && comm->me == 0) { +modify.cpp: if (flag && comm->me == 0) { +molecule.cpp: me = comm->me; +nbin_multi.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost +nbin_multi.cpp: // include dimension-dependent extension via comm->cutghost +nbin_multi.cpp: double *cutghost = comm->cutghost; +nbin_standard.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost +nbin_standard.cpp: // include dimension-dependent extension via comm->cutghost +nbin_standard.cpp: double *cutghost = comm->cutghost; +neighbor.cpp: if (!same && comm->me == 0) print_pairwise_info(); +neighbor.cpp: if (comm->me == 0) printf("SAME flag %d\n",same); +neighbor.cpp: const double cutghost = MAX(cutneighmax,comm->cutghostuser); +neigh_list.cpp: int nmypage = comm->nthreads; +neigh_list.cpp: if (comm->me != 0) return; +neigh_list.cpp: int nmypage = comm->nthreads; +ntopo.cpp: me = comm->me; +ntopo.cpp: nprocs = comm->nprocs; +output.cpp: if (thermo->modified && comm->me == 0) +output.cpp: if (strchr(arg[1],'%')) multiproc = comm->nprocs; +output.cpp: mbavg /= comm->nprocs; +output.cpp: if (comm->me == 0) +pair_beck.cpp: int me = comm->me; +pair_beck.cpp: int me = comm->me; +pair_born_coul_dsf.cpp: int me = comm->me; +pair_born_coul_dsf.cpp: if (comm->me == 0) { +pair_born_coul_wolf.cpp: int me = comm->me; +pair_born_coul_wolf.cpp: if (comm->me == 0) { +pair_born.cpp: int me = comm->me; +pair_born.cpp: if (comm->me == 0) { +pair_brownian.cpp: random = new RanMars(lmp,seed + comm->me); +pair_brownian.cpp: if (force->newton_pair == 0 && comm->me == 0) +pair_brownian.cpp: int me = comm->me; +pair_brownian.cpp: int me = comm->me; +pair_brownian.cpp: random = new RanMars(lmp,seed + comm->me); +pair_buck_coul_cut.cpp: int me = comm->me; +pair_buck_coul_cut.cpp: if (comm->me == 0) { +pair_buck.cpp: int me = comm->me; +pair_buck.cpp: if (comm->me == 0) { +pair_colloid.cpp: if (comm->me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); +pair_colloid.cpp: if (comm->me == 0) { +pair_colloid.cpp: int me = comm->me; +pair_coul_cut.cpp: int me = comm->me; +pair_coul_cut.cpp: if (comm->me == 0) { +pair_coul_debye.cpp: if (comm->me == 0) { +pair_coul_dsf.cpp: int me = comm->me; +pair_coul_dsf.cpp: if (comm->me == 0) { +pair_coul_streitz.cpp: if (comm->me == 0) { +pair_coul_streitz.cpp: if (comm->me != 0) { +pair_coul_wolf.cpp: int me = comm->me; +pair_coul_wolf.cpp: if (comm->me == 0) { +pair.cpp: if (tail_flag && domain->nonperiodic && comm->me == 0) +pair.cpp: if (!compute_flag && tail_flag && comm->me == 0) +pair.cpp: if (!compute_flag && offset_flag && comm->me == 0) +pair.cpp: if (flag && comm->me == 0) +pair.cpp: if (comm->me == 0) +pair.cpp: if (comm->me == 0) +pair.cpp: memory->create(eatom,comm->nthreads*maxeatom,"pair:eatom"); +pair.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"pair:vatom"); +pair.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"pair:cvatom"); +pair.cpp: if (comm->me == 0) { +pair.cpp: if ((comm->me == 0) && (epair)) +pair.cpp: if (comm->me == 0) +pair.cpp: if (comm->me == 0) fprintf(fp,"%d %.15g %.15g %.15g\n",i+1,r,e,f); +pair.cpp: if (comm->me == 0) fclose(fp); +pair.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); +pair.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); +pair.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); +pair_deprecated.cpp: if (lmp->comm->me == 0) +pair_deprecated.cpp: if (lmp->comm->me == 0) +pair_dpd.cpp: random = new RanMars(lmp,seed + comm->me); +pair_dpd.cpp: if (comm->ghost_velocity == 0) +pair_dpd.cpp: if (force->newton_pair == 0 && comm->me == 0) error->warning(FLERR, +pair_dpd.cpp: int me = comm->me; +pair_dpd.cpp: if (comm->me == 0) { +pair_dpd.cpp: random = new RanMars(lmp,seed + comm->me); +pair_dpd_tstat.cpp: random = new RanMars(lmp,seed + comm->me); +pair_dpd_tstat.cpp: int me = comm->me; +pair_dpd_tstat.cpp: if (comm->me == 0) { +pair_dpd_tstat.cpp: random = new RanMars(lmp,seed + comm->me); +pair_gauss.cpp: int me = comm->me; +pair_gauss.cpp: if (comm->me == 0) { +pair_gran_hertz_history.cpp: comm->forward_comm_pair(this); +pair_gran_hooke.cpp: comm->forward_comm_pair(this); +pair_gran_hooke_history.cpp: comm->forward_comm_pair(this); +pair_gran_hooke_history.cpp: if (comm->ghost_velocity == 0) +pair_gran_hooke_history.cpp: int me = comm->me; +pair_gran_hooke_history.cpp: if (comm->me == 0) { +pair_granular.cpp: comm->forward_comm_pair(this); +pair_granular.cpp: if (comm->ghost_velocity == 0) +pair_granular.cpp: int me = comm->me; +pair_hybrid.cpp: int me = comm->me; +pair_lj96_cut.cpp: int me = comm->me; +pair_lj96_cut.cpp: int me = comm->me; +pair_lj_charmm_coul_charmm.cpp: int me = comm->me; +pair_lj_charmm_coul_charmm.cpp: if (comm->me == 0) { +pair_lj_charmmfsw_coul_charmmfsh.cpp: if ((comm->me == 0) && (force->qqr2e != force->qqr2e_charmm_real)) +pair_lj_charmmfsw_coul_charmmfsh.cpp: if ((comm->me == 0) && (force->qqr2e == force->qqr2e_charmm_real)) +pair_lj_charmmfsw_coul_charmmfsh.cpp: int me = comm->me; +pair_lj_charmmfsw_coul_charmmfsh.cpp: if (comm->me == 0) { +pair_lj_cubic.cpp: int me = comm->me; +pair_lj_cubic.cpp: int me = comm->me; +pair_lj_cut_coul_cut.cpp: int me = comm->me; +pair_lj_cut_coul_cut.cpp: if (comm->me == 0) { +pair_lj_cut_coul_debye.cpp: if (comm->me == 0) { +pair_lj_cut_coul_dsf.cpp: int me = comm->me; +pair_lj_cut_coul_dsf.cpp: if (comm->me == 0) { +pair_lj_cut_coul_wolf.cpp: int me = comm->me; +pair_lj_cut_coul_wolf.cpp: int me = comm->me; +pair_lj_cut.cpp: int me = comm->me; +pair_lj_cut.cpp: int me = comm->me; +pair_lj_cut_tip4p_cut.cpp: int me = comm->me; +pair_lj_cut_tip4p_cut.cpp: if (comm->me == 0) { +pair_lj_expand.cpp: int me = comm->me; +pair_lj_expand.cpp: if (comm->me == 0) { +pair_lj_gromacs_coul_gromacs.cpp: int me = comm->me; +pair_lj_gromacs_coul_gromacs.cpp: if (comm->me == 0) { +pair_lj_gromacs.cpp: int me = comm->me; +pair_lj_gromacs.cpp: int me = comm->me; +pair_lj_smooth.cpp: int me = comm->me; +pair_lj_smooth.cpp: int me = comm->me; +pair_lj_smooth_linear.cpp: int me = comm->me; +pair_lj_smooth_linear.cpp: int me = comm->me; +pair_lubricate.cpp: // no need to do this if not shearing since comm->ghost_velocity is set +pair_lubricate.cpp: comm->forward_comm_pair(this); +pair_lubricate.cpp: if (comm->ghost_velocity == 0) +pair_lubricate.cpp: int me = comm->me; +pair_lubricate.cpp: int me = comm->me; +pair_lubricate_poly.cpp: // no need to do this if not shearing since comm->ghost_velocity is set +pair_lubricate_poly.cpp: comm->forward_comm_pair(this); +pair_lubricate_poly.cpp: if (comm->ghost_velocity == 0) +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU.cpp: comm->forward_comm_pair(this); +pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); // not really needed +pair_lubricateU.cpp: if (comm->ghost_velocity == 0) +pair_lubricateU.cpp: int me = comm->me; +pair_lubricateU.cpp: int me = comm->me; +pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); +pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); +pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); +pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); +pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); // not really needed +pair_lubricateU_poly.cpp: if (comm->ghost_velocity == 0) +pair_lubricateU_poly.cpp: if (!comm->me) { +pair_mie_cut.cpp: int me = comm->me; +pair_mie_cut.cpp: int me = comm->me; +pair_morse.cpp: int me = comm->me; +pair_morse.cpp: if (comm->me == 0) { +pair_soft.cpp: int me = comm->me; +pair_soft.cpp: if (comm->me == 0) { +pair_table.cpp: if (comm->me == 0) { +pair_tip4p_cut.cpp: int me = comm->me; +pair_tip4p_cut.cpp: if (comm->me == 0) { +pair_ufm.cpp: int me = comm->me; +pair_ufm.cpp: int me = comm->me; +pair_yukawa.cpp: int me = comm->me; +pair_yukawa.cpp: if (comm->me == 0) { +pair_zbl.cpp: int me = comm->me; +pair_zbl.cpp: int me = comm->me; +pair_zero.cpp: int me = comm->me; +pair_zero.cpp: int me = comm->me; +potential_file_reader.cpp: if (comm->me != 0) { +random_mars.cpp: //if (comm->me == 0) printf("%d %ld %ld %g %ld\n", +read_data.cpp: if (comm->nprocs == 1) n = static_cast (atom->natoms); +read_data.cpp: else n = static_cast (LB_FACTOR * atom->natoms / comm->nprocs); +read_data.cpp: comm->set_proc_grid(); +read_data.cpp: comm->set_proc_grid(); +read_data.cpp: // do comm->init() but not comm->setup() b/c pair/neigh cutoffs not yet set +read_data.cpp: // need call to map_set() b/c comm->exchange clears atom map +read_data.cpp: if (comm->me == 0) +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_data.cpp: int eof = comm->read_lines_from_file(fp,ntypes,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,ntypes,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,nsq,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,nbondtypes,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,nangletypes,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,ndihedraltypes,MAXLINE,buf); +read_data.cpp: int eof = comm->read_lines_from_file(fp,nimpropertypes,MAXLINE,buf); +read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); +read_dump.cpp: comm->set_proc_grid(0); +read_restart.cpp: comm->set_proc_grid(); +read_restart.cpp: if (comm->me == 0) +read_restart.cpp: if (nprocs_file != comm->nprocs && me == 0) +read_restart.cpp: comm->nprocs)); +read_restart.cpp: if (comm->user_procgrid[0] != 0 && +read_restart.cpp: procgrid[0] != comm->user_procgrid[0]) flag = 1; +read_restart.cpp: if (comm->user_procgrid[1] != 0 && +read_restart.cpp: procgrid[1] != comm->user_procgrid[1]) flag = 1; +read_restart.cpp: if (comm->user_procgrid[2] != 0 && +read_restart.cpp: procgrid[2] != comm->user_procgrid[2]) flag = 1; +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: comm->mode = read_int(); +read_restart.cpp: comm->cutghostuser = read_double(); +read_restart.cpp: comm->ghost_velocity = read_int(); +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: if (comm->me ==0) +read_restart.cpp: if (comm->me ==0) +region_deprecated.cpp: if (lmp->comm->me == 0) +replicate.cpp: int me = comm->me; +replicate.cpp: int nprocs = comm->nprocs; +replicate.cpp: if (comm->me == 0) +replicate.cpp: comm->set_proc_grid(); +replicate.cpp: if (comm->layout != Comm::LAYOUT_TILED) { +replicate.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; +replicate.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] += epsilon[0]; +replicate.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; +replicate.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] += epsilon[1]; +replicate.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; +replicate.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] += epsilon[2]; +replicate.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; +replicate.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] += epsilon[0]; +replicate.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; +replicate.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] += epsilon[1]; +replicate.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; +replicate.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] += epsilon[2]; +reset_atom_ids.cpp: if (comm->me == 0) utils::logmesg(lmp,"Resetting atom IDs ...\n"); +reset_atom_ids.cpp: // initialize system since comm->borders() will be invoked +reset_atom_ids.cpp: comm->setup(); +reset_atom_ids.cpp: comm->exchange(); +reset_atom_ids.cpp: comm->borders(); +reset_atom_ids.cpp: comm->forward_comm_array(1,newIDs); +reset_atom_ids.cpp: int me = comm->me; +reset_atom_ids.cpp: int nprocs = comm->nprocs; +reset_atom_ids.cpp: int nreturn = comm->rendezvous(1,nlocal,(char *) atombuf,sizeof(AtomRvous), +reset_atom_ids.cpp: // rptr->comm->me,i,n,in[i].ibin,binlo,binhi); +reset_atom_ids.cpp: // pass outbuf of IDRvous datums back to comm->rendezvous +reset_mol_ids.cpp: if (comm->me == 0) utils::logmesg(lmp,"Resetting molecule IDs ...\n"); +reset_mol_ids.cpp: // initialize system since comm->borders() will be invoked +reset_mol_ids.cpp: comm->setup(); +reset_mol_ids.cpp: comm->exchange(); +reset_mol_ids.cpp: comm->borders(); +reset_mol_ids.cpp: if (comm->me == 0) { +respa.cpp: if (comm->me == 0) { +respa.cpp: if (flag && comm->me == 0) +respa.cpp: if (modify->nfix == 0 && comm->me == 0) +respa.cpp: if (comm->me == 0 && screen) { +respa.cpp: comm->setup(); +respa.cpp: comm->exchange(); +respa.cpp: comm->borders(); +respa.cpp: if (newton[ilevel]) comm->reverse_comm(); +respa.cpp: comm->setup(); +respa.cpp: comm->exchange(); +respa.cpp: comm->borders(); +respa.cpp: if (newton[ilevel]) comm->reverse_comm(); +respa.cpp: comm->setup(); +respa.cpp: comm->exchange(); +respa.cpp: comm->borders(); +respa.cpp: comm->forward_comm(); +respa.cpp: comm->forward_comm(); +respa.cpp: comm->reverse_comm(); +set.cpp: if (comm->me == 0) utils::logmesg(lmp,"Setting atom values ...\n"); +set.cpp: if (comm->me == 0) { +set.cpp: RanMars *ranmars = new RanMars(lmp,seed + comm->me); +set.cpp: // init entire system since comm->exchange is done +set.cpp: if (comm->me == 0) utils::logmesg(lmp," system init for set ...\n"); +set.cpp: comm->setup(); +set.cpp: comm->exchange(); +set.cpp: comm->borders(); +special.cpp: comm->rendezvous(RVOUS,nlocal,(char *) idbuf,sizeof(IDRvous),0,proclist, +special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), +special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), +special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), +special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), +special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), +special.cpp: if (comm->me == 0) diff --git a/src/nbin.cpp b/src/nbin.cpp index c28c22882c..1323a9042a 100644 --- a/src/nbin.cpp +++ b/src/nbin.cpp @@ -41,11 +41,8 @@ NBin::NBin(LAMMPS *lmp) : Pointers(lmp) bininvx_multi = nullptr; bininvy_multi = nullptr; bininvz_multi = nullptr; binhead_multi = nullptr; maxbins_multi = nullptr; - - map_type_multi = nullptr; - cutmultisq = nullptr; - maxgroups = 0; + maxcollections = 0; neighbor->last_setup_bins = -1; @@ -85,7 +82,7 @@ NBin::~NBin() memory->destroy(bininvy_multi); memory->destroy(bininvz_multi); - for (int n = 0; n < maxgroups; n++) { + for (int n = 0; n < maxcollections; n++) { memory->destroy(binhead_multi[n]); } delete [] binhead_multi; @@ -115,9 +112,8 @@ void NBin::copy_neighbor_info() bboxlo = neighbor->bboxlo; bboxhi = neighbor->bboxhi; - n_multi_groups = neighbor->n_multi_groups; - map_type_multi = neighbor->map_type_multi; - cutmultisq = neighbor->cutmultisq; + ncollections = neighbor->ncollections; + cutcollectionsq = neighbor->cutcollectionsq; // overwrite Neighbor cutoff with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -175,10 +171,10 @@ int NBin::coord2bin(double *x) /* ---------------------------------------------------------------------- - convert atom coords into local bin # for a particular grouping + convert atom coords into local bin # for a particular collection ------------------------------------------------------------------------- */ -int NBin::coord2bin_multi(double *x, int ig) +int NBin::coord2bin_multi(double *x, int ic) { int ix,iy,iz; int ibin; @@ -187,33 +183,33 @@ int NBin::coord2bin_multi(double *x, int ig) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ig]) + nbinx_multi[ig]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ic]) + nbinx_multi[ic]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]); - ix = MIN(ix,nbinx_multi[ig]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ic]); + ix = MIN(ix,nbinx_multi[ic]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ic]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ig]) + nbiny_multi[ig]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ic]) + nbiny_multi[ic]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]); - iy = MIN(iy,nbiny_multi[ig]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ic]); + iy = MIN(iy,nbiny_multi[ic]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ic]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ig]) + nbinz_multi[ig]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ic]) + nbinz_multi[ic]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]); - iz = MIN(iz,nbinz_multi[ig]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ic]); + iz = MIN(iz,nbinz_multi[ic]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ic]) - 1; - ibin = (iz-mbinzlo_multi[ig])*mbiny_multi[ig]*mbinx_multi[ig] - + (iy-mbinylo_multi[ig])*mbinx_multi[ig] - + (ix-mbinxlo_multi[ig]); + ibin = (iz-mbinzlo_multi[ic])*mbiny_multi[ic]*mbinx_multi[ic] + + (iy-mbinylo_multi[ic])*mbinx_multi[ic] + + (ix-mbinxlo_multi[ic]); return ibin; } diff --git a/src/nbin.h b/src/nbin.h index e31e5bab99..97299398fa 100644 --- a/src/nbin.h +++ b/src/nbin.h @@ -73,9 +73,8 @@ class NBin : protected Pointers { int binsizeflag; double binsize_user; double *bboxlo,*bboxhi; - int n_multi_groups; - int *map_type_multi; - double **cutmultisq; + int ncollections; + double **cutcollectionsq; // data common to all NBin variants @@ -89,7 +88,7 @@ class NBin : protected Pointers { // data for multi NBin - int maxgroups; // size of multi arrays + int maxcollections; // size of multi arrays int * maxbins_multi; // size of 2nd dimension of binhead_multi array // methods diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index 04756ff803..db1e8d5682 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -38,7 +38,7 @@ void NBinMulti::bin_atoms_setup(int nall) { // binhead_multi[n] = per-bin vector mbins in length mbins_multi[n] - for (int n = 0; n < maxgroups; n++) { + for (int n = 0; n < maxcollections; n++) { if (mbins_multi[n] > maxbins_multi[n]) { maxbins_multi[n] = mbins_multi[n]; memory->destroy(binhead_multi[n]); @@ -75,81 +75,80 @@ void NBinMulti::bin_atoms_setup(int nall) for triclinic boxes: tilted simulation box cannot contain integer # of bins stencil & neigh list built differently to account for this - mbinlo_multi = lowest global bin any of my ghost atoms could fall into for each grouping - mbinhi_multi = highest global bin any of my ghost atoms could fall into for each grouping - mbin_multi = number of bins I need in a dimension for each grouping + mbinlo_multi = lowest global bin any of my ghost atoms could fall into for each collection + mbinhi_multi = highest global bin any of my ghost atoms could fall into for each collection + mbin_multi = number of bins I need in a dimension for each collection ------------------------------------------------------------------------- */ -void NBinMulti::setup_bins(int style) +void NBinMulti::setup_bins(int /*style*/) { int n; // Initialize arrays - if (n_multi_groups > maxgroups) { + if (ncollections > maxcollections) { // Clear any/all memory for existing groupings - for (n = 0; n < maxgroups; n++) + for (n = 0; n < maxcollections; n++) memory->destroy(binhead_multi[n]); delete [] binhead_multi; - // Realloacte at updated maxgroups - maxgroups = n_multi_groups; + maxcollections = ncollections; - binhead_multi = new int*[maxgroups](); + binhead_multi = new int*[maxcollections](); memory->destroy(nbinx_multi); memory->destroy(nbiny_multi); memory->destroy(nbinz_multi); - memory->create(nbinx_multi, maxgroups, "neigh:nbinx_multi"); - memory->create(nbiny_multi, maxgroups, "neigh:nbiny_multi"); - memory->create(nbinz_multi, maxgroups, "neigh:nbinz_multi"); + memory->create(nbinx_multi, maxcollections, "neigh:nbinx_multi"); + memory->create(nbiny_multi, maxcollections, "neigh:nbiny_multi"); + memory->create(nbinz_multi, maxcollections, "neigh:nbinz_multi"); memory->destroy(mbins_multi); memory->destroy(mbinx_multi); memory->destroy(mbiny_multi); memory->destroy(mbinz_multi); - memory->create(mbins_multi, maxgroups, "neigh:mbins_multi"); - memory->create(mbinx_multi, maxgroups, "neigh:mbinx_multi"); - memory->create(mbiny_multi, maxgroups, "neigh:mbiny_multi"); - memory->create(mbinz_multi, maxgroups, "neigh:mbinz_multi"); + memory->create(mbins_multi, maxcollections, "neigh:mbins_multi"); + memory->create(mbinx_multi, maxcollections, "neigh:mbinx_multi"); + memory->create(mbiny_multi, maxcollections, "neigh:mbiny_multi"); + memory->create(mbinz_multi, maxcollections, "neigh:mbinz_multi"); memory->destroy(mbinxlo_multi); memory->destroy(mbinylo_multi); memory->destroy(mbinzlo_multi); - memory->create(mbinxlo_multi, maxgroups, "neigh:mbinxlo_multi"); - memory->create(mbinylo_multi, maxgroups, "neigh:mbinylo_multi"); - memory->create(mbinzlo_multi, maxgroups, "neigh:mbinzlo_multi"); + memory->create(mbinxlo_multi, maxcollections, "neigh:mbinxlo_multi"); + memory->create(mbinylo_multi, maxcollections, "neigh:mbinylo_multi"); + memory->create(mbinzlo_multi, maxcollections, "neigh:mbinzlo_multi"); memory->destroy(binsizex_multi); memory->destroy(binsizey_multi); memory->destroy(binsizez_multi); - memory->create(binsizex_multi, maxgroups, "neigh:binsizex_multi"); - memory->create(binsizey_multi, maxgroups, "neigh:binsizey_multi"); - memory->create(binsizez_multi, maxgroups, "neigh:binsizez_multi"); + memory->create(binsizex_multi, maxcollections, "neigh:binsizex_multi"); + memory->create(binsizey_multi, maxcollections, "neigh:binsizey_multi"); + memory->create(binsizez_multi, maxcollections, "neigh:binsizez_multi"); memory->destroy(bininvx_multi); memory->destroy(bininvy_multi); memory->destroy(bininvz_multi); - memory->create(bininvx_multi, maxgroups, "neigh:bininvx_multi"); - memory->create(bininvy_multi, maxgroups, "neigh:bininvy_multi"); - memory->create(bininvz_multi, maxgroups, "neigh:bininvz_multi"); + memory->create(bininvx_multi, maxcollections, "neigh:bininvx_multi"); + memory->create(bininvy_multi, maxcollections, "neigh:bininvy_multi"); + memory->create(bininvz_multi, maxcollections, "neigh:bininvz_multi"); memory->destroy(maxbins_multi); - memory->create(maxbins_multi, maxgroups, "neigh:maxbins_multi"); + memory->create(maxbins_multi, maxcollections, "neigh:maxbins_multi"); // ensure reallocation occurs in bin_atoms_setup() - for (n = 0; n < maxgroups; n++) { + for (n = 0; n < maxcollections; n++) { maxbins_multi[n] = 0; } maxatom = 0; } - // Identify smallest group - int igroupmin = 0; - for (n = 0; n < maxgroups; n++) - if (cutmultisq[n][n] < cutmultisq[igroupmin][igroupmin]) - igroupmin = n; + // Identify smallest collection + int icollectionmin = 0; + for (n = 0; n < maxcollections; n++) + if (cutcollectionsq[n][n] < cutcollectionsq[icollectionmin][icollectionmin]) + icollectionmin = n; // bbox = size of bbox of entire domain // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost @@ -189,13 +188,13 @@ void NBinMulti::setup_bins(int style) double binsize_optimal, binsizeinv, coord; int mbinxhi,mbinyhi,mbinzhi; - for (n = 0; n < maxgroups; n++) { - // binsize_user only relates to smallest group - // optimal bin size is roughly 1/2 the group-group cutoff + for (n = 0; n < maxcollections; n++) { + // binsize_user only relates to smallest collection + // optimal bin size is roughly 1/2 the collection-collection cutoff // special case of all cutoffs = 0.0, binsize = box size - if (n == igroupmin && binsizeflag) binsize_optimal = binsize_user; - else binsize_optimal = 0.5*sqrt(cutmultisq[n][n]); + if (n == icollectionmin && binsizeflag) binsize_optimal = binsize_user; + else binsize_optimal = 0.5*sqrt(cutcollectionsq[n][n]); if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; binsizeinv = 1.0/binsize_optimal; @@ -296,16 +295,15 @@ void NBinMulti::bin_atoms() int i,ibin,n; last_bin = update->ntimestep; - for (n = 0; n < maxgroups; n++) { + for (n = 0; n < maxcollections; n++) { for (i = 0; i < mbins_multi[n]; i++) binhead_multi[n][i] = -1; } - // bin in reverse order so linked list will be in forward order // also puts ghost atoms at end of list, which is necessary + int *collection = neighbor->collection; double **x = atom->x; int *mask = atom->mask; - int *type = atom->type; int nlocal = atom->nlocal; int nall = nlocal + atom->nghost; @@ -313,7 +311,7 @@ void NBinMulti::bin_atoms() int bitmask = group->bitmask[includegroup]; for (i = nall-1; i >= nlocal; i--) { if (mask[i] & bitmask) { - n = map_type_multi[type[i]]; + n = collection[i]; ibin = coord2bin_multi(x[i], n); atom2bin[i] = ibin; bins[i] = binhead_multi[n][ibin]; @@ -321,15 +319,15 @@ void NBinMulti::bin_atoms() } } for (i = atom->nfirst-1; i >= 0; i--) { - n = map_type_multi[type[i]]; + n = collection[i]; ibin = coord2bin_multi(x[i], n); atom2bin[i] = ibin; bins[i] = binhead_multi[n][ibin]; binhead_multi[n][ibin] = i; } } else { - for (i = nall-1; i >= 0; i--) { - n = map_type_multi[type[i]]; + for (i = nall-1; i >= 0; i--) { + n = collection[i]; ibin = coord2bin_multi(x[i], n); atom2bin[i] = ibin; bins[i] = binhead_multi[n][ibin]; @@ -343,7 +341,7 @@ void NBinMulti::bin_atoms() double NBinMulti::memory_usage() { double bytes = 0; - for (int m = 0; m < maxgroups; m++) + for (int m = 0; m < maxcollections; m++) bytes += maxbins_multi[m]*sizeof(int); bytes += 2*maxatom*sizeof(int); return bytes; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 5a1255edbe..16aca434f1 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -43,6 +43,7 @@ #include "style_npair.h" #include "style_nstencil.h" #include "style_ntopo.h" +#include "tokenizer.h" #include "update.h" #include @@ -53,6 +54,7 @@ using namespace NeighConst; #define RQDELTA 1 #define EXDELTA 1 +#define DELTA_PERATOM 64 #define BIG 1.0e20 @@ -195,9 +197,13 @@ pairclass(nullptr), pairnames(nullptr), pairmasks(nullptr) // Multi data - map_type_multi = nullptr; - cutmultisq = nullptr; - multi_groups = 0; + type2collection = nullptr; + collection2cut = nullptr; + collection = nullptr; + cutcollectionsq = nullptr; + custom_collection_flag = 0; + interval_collection_flag = 0; + nmax_collection = 0; // Kokkos setting @@ -265,8 +271,10 @@ Neighbor::~Neighbor() delete [] ex_mol_bit; memory->destroy(ex_mol_intra); - memory->destroy(map_type_multi); - memory->destroy(cutmultisq); + memory->destroy(type2collection); + memory->destroy(collection2cut); + memory->destroy(collection); + memory->destroy(cutcollectionsq); } /* ---------------------------------------------------------------------- */ @@ -350,33 +358,96 @@ void Neighbor::init() } cutneighmaxsq = cutneighmax * cutneighmax; - // multi cutoffs + // Define cutoffs for multi if(style == Neighbor::MULTI){ - int igroup, jgroup; + int icollection, jcollection; - // If not defined from custom grouping, create default map - if(not map_type_multi) { - n_multi_groups = n; - memory->create(map_type_multi,n+1,"neigh:map_type_multi"); + // If collections not yet defined, create default map using types + if(not custom_collection_flag) { + ncollections = n; + interval_collection_flag = 0; + memory->create(type2collection,n+1,"neigh:type2collection"); for(i = 1; i <= n; i++) - map_type_multi[i] = i-1; + type2collection[i] = i-1; } - // Define maximum interaction distance for each pair of groups - memory->grow(cutmultisq, n_multi_groups, n_multi_groups, "neigh:cutmultisq"); - for(i = 0; i < n_multi_groups; i++) - for(j = 0; j < n_multi_groups; j++) - cutmultisq[i][j] = 0.0; + memory->grow(cutcollectionsq, ncollections, ncollections, "neigh:cutcollectionsq"); - for(i = 1; i <= n; i++){ - igroup = map_type_multi[i]; - for(j = 1; j <= n; j++){ - jgroup = map_type_multi[j]; - if(cutneighsq[i][j] > cutmultisq[igroup][jgroup]) { - cutmultisq[igroup][jgroup] = cutneighsq[i][j]; - cutmultisq[jgroup][igroup] = cutneighsq[i][j]; + // 3 possible ways of defining collections + // 1) Types are used to define collections + // Each collection loops through its owned types, and uses cutneighsq to calculate its cutoff + // 2) Collections are defined by intervals, point particles + // Types are first sorted into collections based on cutneighsq[i][i] + // Each collection loops through its owned types, and uses cutneighsq to calculate its cutoff + // 3) Collections are defined by intervals, finite particles + // + + // Define collection cutoffs + for(i = 0; i < ncollections; i++) + for(j = 0; j < ncollections; j++) + cutcollectionsq[i][j] = 0.0; + + if(not interval_collection_flag){ + finite_cut_flag = 0; + for(i = 1; i <= n; i++){ + icollection = type2collection[i]; + for(j = 1; j <= n; j++){ + jcollection = type2collection[j]; + if(cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { + cutcollectionsq[icollection][jcollection] = cutneighsq[i][j]; + cutcollectionsq[jcollection][icollection] = cutneighsq[i][j]; + } } } + } else { + if(force->pair->finitecutflag){ + finite_cut_flag = 1; + // If cutoffs depend on finite atom sizes, use radii of intervals to find cutoffs + double ri, rj, tmp; + for(i = 0; i < ncollections; i++){ + ri = collection2cut[i]*0.5; + for(j = 0; j < ncollections; j++){ + rj = collection2cut[j]*0.5; + tmp = force->pair->radii2cut(ri, rj); + cutcollectionsq[i][j] = tmp*tmp; + } + } + } else { + finite_cut_flag = 0; + + // Map types to collections + if(not type2collection) + memory->create(type2collection,n+1,"neigh:type2collection"); + + for(i = 1; i <= n; i++) + type2collection[i] = -1; + + double cuttmp; + for(i = 1; i <= n; i++){ + cuttmp = sqrt(cutneighsq[i][i]); + for(icollection = 0; icollection < ncollections; icollection ++){ + if(collection2cut[icollection] > cuttmp) { + type2collection[i] = icollection; + break; + } + } + + if(type2collection[i] == -1) + error->all(FLERR, "Pair cutoff exceeds interval cutoffs for multi"); + } + + // Define cutoffs + for(i = 1; i <= n; i++){ + icollection = type2collection[i]; + for(j = 1; j <= n; j++){ + jcollection = type2collection[j]; + if(cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { + cutcollectionsq[icollection][jcollection] = cutneighsq[i][j]; + cutcollectionsq[jcollection][icollection] = cutneighsq[i][j]; + } + } + } + } } } @@ -2100,6 +2171,8 @@ void Neighbor::build(int topoflag) int nlocal = atom->nlocal; int nall = nlocal + atom->nghost; + // rebuild collection array from scratch + if(style == Neighbor::MULTI) build_collection(0); // check that using special bond flags will not overflow neigh lists @@ -2140,7 +2213,7 @@ void Neighbor::build(int topoflag) } } } - + // bin atoms for all NBin instances // not just NBin associated with perpetual lists, also occasional lists // b/c cannot wait to bin occasional lists in build_one() call @@ -2423,53 +2496,91 @@ void Neighbor::modify_params(int narg, char **arg) iarg += 2; } else error->all(FLERR,"Illegal neigh_modify command"); - } else if (strcmp(arg[iarg],"multi/custom") == 0) { + } else if (strcmp(arg[iarg],"collection/interval") == 0) { if(style != Neighbor::MULTI) - error->all(FLERR,"Cannot use multi/custom command without multi setting"); + error->all(FLERR,"Cannot use collection/interval command without multi setting"); if(iarg+2 > narg) - error->all(FLERR,"Invalid multi/custom command"); - int nextra = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if(iarg+1+nextra > narg) - error->all(FLERR,"Invalid multi/custom command"); + error->all(FLERR,"Invalid collection/interval command"); + ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if(iarg+1+ncollections > narg) + error->all(FLERR,"Invalid collection/interval command"); int ntypes = atom->ntypes; - int n, nlo, nhi, i, j, igroup, jgroup; + int n, nlo, nhi, i, j; + + interval_collection_flag = 1; + custom_collection_flag = 1; + if(not collection2cut) + memory->create(collection2cut,ncollections,"neigh:collection2cut"); - if(not map_type_multi) - memory->create(map_type_multi,ntypes+1,"neigh:map_type_multi"); + // Set upper cutoff for each collection + char *id; + double cut_interval; + for(i = 0; i < ncollections; i++){ + cut_interval = utils::numeric(FLERR,arg[iarg+2+i],false,lmp); + collection2cut[i] = cut_interval; + + if(i != 0) + if(collection2cut[i-1] >= collection2cut[i]) + error->all(FLERR,"Nonsequential interval cutoffs in collection/interval setting"); + } + + iarg += 2 + ncollections; + } else if (strcmp(arg[iarg],"collection/type") == 0) { + if(style != Neighbor::MULTI) + error->all(FLERR,"Cannot use collection/type command without multi setting"); + + if(iarg+2 > narg) + error->all(FLERR,"Invalid collection/type command"); + ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if(iarg+1+ncollections > narg) + error->all(FLERR,"Invalid collection/type command"); + + int ntypes = atom->ntypes; + int n, nlo, nhi, i, j, k; + + interval_collection_flag = 0; + custom_collection_flag = 1; + if(not type2collection) + memory->create(type2collection,ntypes+1,"neigh:type2collection"); // Erase previous mapping for(i = 1; i <= ntypes; i++) - map_type_multi[i] = -1; + type2collection[i] = -1; // For each custom range, define mapping for types in interval - n_multi_groups = 0; - char *id; - for(i = 0; i < nextra; i++){ + int nfield; + char *str; + for(i = 0; i < ncollections; i++){ n = strlen(arg[iarg+2+i]) + 1; - id = new char[n]; - strcpy(id,arg[iarg+2+i]); - utils::bounds(FLERR,id,1,ntypes,nlo,nhi,error); - delete [] id; + str = new char[n]; + strcpy(str,arg[iarg+2+i]); + std::vector words = Tokenizer(str, ",").as_vector(); + nfield = words.size(); + + for (j = 0; j < nfield; j++) { + const char * field = words[j].c_str(); + utils::bounds(FLERR,field,1,ntypes,nlo,nhi,error); - for (j = nlo; j <= nhi; j++) { - if(map_type_multi[j] != -1) - error->all(FLERR,"Type specified more than once in multi/custom commnd"); - map_type_multi[j] = n_multi_groups; + for (k = nlo; k <= nhi; k++) { + if(type2collection[k] != -1) + error->all(FLERR,"Type specified more than once in collection/type commnd"); + type2collection[k] = i; + } } - n_multi_groups += 1; + + delete [] str; } - // Create separate group for each undefined atom type + // Check for undefined atom type for(i = 1; i <= ntypes; i++){ - if(map_type_multi[i] == -1){ - map_type_multi[i] = n_multi_groups; - n_multi_groups += 1; + if(type2collection[i] == -1){ + error->all(FLERR,"Type missing in collection/type commnd"); } } - iarg += 2 + nextra; + iarg += 2 + ncollections; } else error->all(FLERR,"Illegal neigh_modify command"); } } @@ -2521,6 +2632,46 @@ int Neighbor::any_full() return any_full; } +/* ---------------------------------------------------------------------- + populate collection array for multi starting at the index istart +------------------------------------------------------------------------- */ + +void Neighbor::build_collection(int istart) +{ + if (style != Neighbor::MULTI) + error->all(FLERR, "Cannot define atom collections without neighbor style multi"); + + int nmax = atom->nlocal+atom->nghost; + if(nmax > nmax_collection){ + nmax_collection = nmax+DELTA_PERATOM; + memory->grow(collection, nmax_collection, "neigh:collection"); + } + + if(finite_cut_flag){ + double cut; + int icollection; + for(int i = istart; i < nmax; i++){ + cut = force->pair->atom2cut(i); + collection[i] = -1; + + for(icollection = 0; icollection < ncollections; icollection++){ + if(collection2cut[icollection] > cut) { + collection[i] = icollection; + break; + } + } + + if(collection[i] == -1) + error->one(FLERR, "Atom cutoff exceeds interval cutoffs for multi"); + } + } else { + int *type = atom->type; + for(int i = istart; i < nmax; i++){ + collection[i] = type2collection[type[i]]; + } + } +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/neighbor.h b/src/neighbor.h index b8e1189b35..7b6246dec7 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -104,11 +104,16 @@ class Neighbor : protected Pointers { // optional type grouping for multi - int multi_groups; // 1 if custom groupings are defined for multi - int n_multi_groups; // # of custom groupings - int *map_type_multi; // ntype array mapping types to custom groupings - double **cutmultisq; // cutoffs for each combination of custom groupings - + int custom_collection_flag; // 1 if custom collections are defined for multi + int interval_collection_flag; // 1 if custom collections use intervals + int finite_cut_flag; // 1 if multi considers finite atom size + int ncollections; // # of custom collections + int nmax_collection; // maximum atoms stored in collection array + int *type2collection; // ntype array mapping types to custom collections + double *collection2cut; // ncollection array with upper bounds on cutoff intervals + double **cutcollectionsq; // cutoffs for each combination of collections + int *collection; // local per-atom array to store collection id + // public methods Neighbor(class LAMMPS *); @@ -130,6 +135,7 @@ class Neighbor : protected Pointers { int exclude_setting(); // return exclude value to accelerator pkg class NeighRequest *find_request(void *); // find a neighbor request int any_full(); // Check if any old requests had full neighbor lists + void build_collection(int); // build peratom collection array starting at the given index double memory_usage(); diff --git a/src/npair.cpp b/src/npair.cpp index 95a61fbefa..eee8610958 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -97,9 +97,8 @@ void NPair::copy_neighbor_info() // multi info - n_multi_groups = neighbor->n_multi_groups; - map_type_multi = neighbor->map_type_multi; - cutmultisq = neighbor->cutmultisq; + ncollections = neighbor->ncollections; + cutcollectionsq = neighbor->cutcollectionsq; // overwrite per-type Neighbor cutoffs with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -184,9 +183,8 @@ void NPair::build_setup() { if (nb) copy_bin_info(); if (ns) copy_stencil_info(); - + // set here, since build_setup() always called before build() - last_build = update->ntimestep; } @@ -269,10 +267,10 @@ int NPair::coord2bin(double *x, int &ix, int &iy, int &iz) /* ---------------------------------------------------------------------- - multi version of coord2bin for a given grouping + multi version of coord2bin for a given collection ------------------------------------------------------------------------- */ -int NPair::coord2bin(double *x, int ig) +int NPair::coord2bin(double *x, int ic) { int ix,iy,iz; int ibin; @@ -281,32 +279,32 @@ int NPair::coord2bin(double *x, int ig) error->one(FLERR,"Non-numeric positions - simulation unstable"); if (x[0] >= bboxhi[0]) - ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ig]) + nbinx_multi[ig]; + ix = static_cast ((x[0]-bboxhi[0])*bininvx_multi[ic]) + nbinx_multi[ic]; else if (x[0] >= bboxlo[0]) { - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]); - ix = MIN(ix,nbinx_multi[ig]-1); + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ic]); + ix = MIN(ix,nbinx_multi[ic]-1); } else - ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ig]) - 1; + ix = static_cast ((x[0]-bboxlo[0])*bininvx_multi[ic]) - 1; if (x[1] >= bboxhi[1]) - iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ig]) + nbiny_multi[ig]; + iy = static_cast ((x[1]-bboxhi[1])*bininvy_multi[ic]) + nbiny_multi[ic]; else if (x[1] >= bboxlo[1]) { - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]); - iy = MIN(iy,nbiny_multi[ig]-1); + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ic]); + iy = MIN(iy,nbiny_multi[ic]-1); } else - iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ig]) - 1; + iy = static_cast ((x[1]-bboxlo[1])*bininvy_multi[ic]) - 1; if (x[2] >= bboxhi[2]) - iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ig]) + nbinz_multi[ig]; + iz = static_cast ((x[2]-bboxhi[2])*bininvz_multi[ic]) + nbinz_multi[ic]; else if (x[2] >= bboxlo[2]) { - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]); - iz = MIN(iz,nbinz_multi[ig]-1); + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ic]); + iz = MIN(iz,nbinz_multi[ic]-1); } else - iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ig]) - 1; + iz = static_cast ((x[2]-bboxlo[2])*bininvz_multi[ic]) - 1; - ix -= mbinxlo_multi[ig]; - iy -= mbinylo_multi[ig]; - iz -= mbinzlo_multi[ig]; - ibin = iz*mbiny_multi[ig]*mbinx_multi[ig] + iy*mbinx_multi[ig] + ix; + ix -= mbinxlo_multi[ic]; + iy -= mbinylo_multi[ic]; + iz -= mbinzlo_multi[ic]; + ibin = iz*mbiny_multi[ic]*mbinx_multi[ic] + iy*mbinx_multi[ic] + ix; return ibin; } diff --git a/src/npair.h b/src/npair.h index c857ec0924..b8416208ca 100644 --- a/src/npair.h +++ b/src/npair.h @@ -48,9 +48,8 @@ class NPair : protected Pointers { double cut_middle_sq; double cut_middle_inside_sq; double *bboxlo,*bboxhi; - int n_multi_groups; - int *map_type_multi; - double **cutmultisq; + int ncollections; + double **cutcollectionsq; // exclusion data from Neighbor class diff --git a/src/npair_full_multi.cpp b/src/npair_full_multi.cpp index c78f7b2d1d..0ce717f722 100644 --- a/src/npair_full_multi.cpp +++ b/src/npair_full_multi.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_full_multi.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -28,18 +29,19 @@ NPairFullMulti::NPairFullMulti(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction for all neighbors - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent every neighbor pair appears in list of both atoms i and j ------------------------------------------------------------------------- */ void NPairFullMulti::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; int js; + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -68,7 +70,7 @@ void NPairFullMulti::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -80,22 +82,22 @@ void NPairFullMulti::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in surrounding bins in stencil including self // skip i = j - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { if (i == j) continue; diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_newtoff.cpp index 11bab91e6a..5f050429ac 100755 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_multi_newtoff.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -28,7 +29,7 @@ NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with partial Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -36,12 +37,13 @@ NPairHalfMultiNewtoff::NPairHalfMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfMultiNewtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; int js; + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -70,7 +72,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -82,24 +84,24 @@ void NPairHalfMultiNewtoff::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index aa8f606242..18e66d4adb 100755 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_multi_newton.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -28,19 +29,20 @@ NPairHalfMultiNewton::NPairHalfMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfMultiNewton::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; int js; + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -69,7 +71,7 @@ void NPairHalfMultiNewton::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -81,29 +83,29 @@ void NPairHalfMultiNewton::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(igroup == jgroup) js = bins[i]; - else js = binhead_multi[jgroup][jbin]; + if(icollection == jcollection) js = bins[i]; + else js = binhead_multi[jcollection][jbin]; - // if same group, + // if same collection, // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - // if different groups, + // if different collections, // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(igroup != jgroup and j < i) continue; + if(icollection != jcollection and j < i) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -139,16 +141,16 @@ void NPairHalfMultiNewton::build(NeighList *list) } } - // for all groups, loop over all atoms in other bins in stencil, store every pair + // for all collections, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp index 6969c9cfab..90c6cf714d 100755 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_multi_newton_tri.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -28,19 +29,20 @@ NPairHalfMultiNewtonTri::NPairHalfMultiNewtonTri(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with Newton's 3rd law for triclinic - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfMultiNewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,which,ns,imol,iatom,moltemplate; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,which,ns,imol,iatom,moltemplate; tagint tagprev; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *neighptr,*s; int js; - + + int *collection = neighbor->collection; double **x = atom->x; int *type = atom->type; int *mask = atom->mask; @@ -69,7 +71,7 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -81,12 +83,12 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -97,15 +99,15 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { - // if same size (same group), use half stencil - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + // if same size (same collection), use half stencil + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp index e361bbce76..77aa4f746b 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -13,6 +13,7 @@ es certain rights in this software. This software is distributed under #include #include "npair_half_size_multi_newtoff.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -28,7 +29,7 @@ NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) { /* ---------------------------------------------------------------------- size particles binned neighbor list construction with partial Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks own bin and other bins in stencil pair stored once if i,j are both owned and i < j pair stored by me if j is ghost (also stored by proc owning j) @@ -36,12 +37,13 @@ NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) { void NPairHalfSizeMultiNewtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; int js; + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -65,7 +67,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -73,24 +75,24 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self // only store pair if i < j // stores own/own pairs only once // stores own/ghost pairs on both procs - // use full stencil for all group combinations + // use full stencil for all collection combinations - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >=0; j = bins[j]) { if (j <= i) continue; diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index 84571a3b02..67715ebe68 100755 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_size_multi_newton.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -27,18 +28,19 @@ NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- size particles binned neighbor list construction with full Newton's 3rd law - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfSizeMultiNewton::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns,js; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -62,7 +64,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -70,29 +72,29 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(igroup == jgroup) js = bins[i]; - else js = binhead_multi[jgroup][jbin]; + if(icollection == jcollection) js = bins[i]; + else js = binhead_multi[jcollection][jbin]; - // if same group, + // if same collection, // if j is owned atom, store it, since j is beyond i in linked list // if j is ghost, only store if j coords are "above and to the right" of i - // if different groups, + // if different collections, // if j is owned atom, store it if j > i // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(igroup != jgroup and j < i) continue; + if(icollection != jcollection and j < i) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; @@ -121,16 +123,16 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) } } - // for all groups, loop over all atoms in other bins in stencil, store every pair + // for all collections, loop over all atoms in other bins in stencil, store every pair // stencil is empty if i larger than j // stencil is half if i same size as j // stencil is full if i smaller than j - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { jtype = type[j]; diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 2000927c63..2bf033781e 100755 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_size_multi_newton_tri.h" +#include "neighbor.h" #include "neigh_list.h" #include "atom.h" #include "atom_vec.h" @@ -27,18 +28,19 @@ NPairHalfSizeMultiNewtonTri::NPairHalfSizeMultiNewtonTri(LAMMPS *lmp) : NPair(lm /* ---------------------------------------------------------------------- size particles binned neighbor list construction with Newton's 3rd law for triclinic - multi stencil is igroup-jgroup dependent + multi stencil is icollection-jcollection dependent each owned atom i checks its own bin and other bins in triclinic stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) { - int i,j,k,n,itype,jtype,igroup,jgroup,ibin,jbin,ns,js; + int i,j,k,n,itype,jtype,icollection,jcollection,ibin,jbin,ns,js; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; + int *collection = neighbor->collection; double **x = atom->x; double *radius = atom->radius; int *type = atom->type; @@ -62,7 +64,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) n = 0; neighptr = ipage->vget(); itype = type[i]; - igroup = map_type_multi[itype]; + icollection = collection[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -70,12 +72,12 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) ibin = atom2bin[i]; - // loop through stencils for all groups - for (jgroup = 0; jgroup < n_multi_groups; jgroup++) { + // loop through stencils for all collections + for (jcollection = 0; jcollection < ncollections; jcollection++) { - // if same group use own bin - if(igroup == jgroup) jbin = ibin; - else jbin = coord2bin(x[i], jgroup); + // if same collection use own bin + if(icollection == jcollection) jbin = ibin; + else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil // stencil is empty if i larger than j @@ -86,15 +88,15 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) // (equal zyx and j <= i) // latter excludes self-self interaction but allows superposed atoms - s = stencil_multi[igroup][jgroup]; - ns = nstencil_multi[igroup][jgroup]; + s = stencil_multi[icollection][jcollection]; + ns = nstencil_multi[icollection][jcollection]; for (k = 0; k < ns; k++) { - js = binhead_multi[jgroup][jbin + s[k]]; + js = binhead_multi[jcollection][jbin + s[k]]; for (j = js; j >= 0; j = bins[j]) { - // if same size (same group), use half stencil - if(cutmultisq[igroup][igroup] == cutmultisq[jgroup][jgroup]){ + // if same size (same collection), use half stencil + if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/npair_half_size_multi_old_newtoff.cpp b/src/npair_half_size_multi_old_newtoff.cpp index 35095b4856..fd22412f00 100644 --- a/src/npair_half_size_multi_old_newtoff.cpp +++ b/src/npair_half_size_multi_old_newtoff.cpp @@ -35,7 +35,7 @@ NPairHalfSizeMultiOldNewtoff::NPairHalfSizeMultiOldNewtoff(LAMMPS *lmp) : NPair( void NPairHalfSizeMultiOldNewtoff::build(NeighList *list) { - int i,j,k,m,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; diff --git a/src/npair_half_size_multi_old_newton.cpp b/src/npair_half_size_multi_old_newton.cpp index 0112c0593f..1f6918625b 100644 --- a/src/npair_half_size_multi_old_newton.cpp +++ b/src/npair_half_size_multi_old_newton.cpp @@ -34,7 +34,7 @@ NPairHalfSizeMultiOldNewton::NPairHalfSizeMultiOldNewton(LAMMPS *lmp) : NPair(lm void NPairHalfSizeMultiOldNewton::build(NeighList *list) { - int i,j,k,m,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; diff --git a/src/npair_half_size_multi_old_newton_tri.cpp b/src/npair_half_size_multi_old_newton_tri.cpp index f29c323944..e7477fada4 100644 --- a/src/npair_half_size_multi_old_newton_tri.cpp +++ b/src/npair_half_size_multi_old_newton_tri.cpp @@ -33,7 +33,7 @@ NPairHalfSizeMultiOldNewtonTri::NPairHalfSizeMultiOldNewtonTri(LAMMPS *lmp) : NP void NPairHalfSizeMultiOldNewtonTri::build(NeighList *list) { - int i,j,k,m,n,itype,jtype,ibin,ns; + int i,j,k,n,itype,jtype,ibin,ns; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; double radi,radsum,cutdistsq; int *neighptr,*s; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 3d86b57b9e..c6ed76b6eb 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -52,14 +52,14 @@ using namespace LAMMPS_NS; cutoff is not cutneighmaxsq, but max cutoff for that atom type no versions that allow ghost on (any need for it?) for multi: - create one stencil for each igroup-jgroup pairing - the full/half stencil label refers to the same-group stencil - a half list with newton on has a half same-group stencil - a full list or half list with newton off has a full same-group stencil - cross group stencils are always full to allow small-to-large lookups + create one stencil for each icollection-jcollection pairing + the full/half stencil label refers to the same-collection stencil + a half list with newton on has a half same-collection stencil + a full list or half list with newton off has a full same-collection stencil + cross collection stencils are always full to allow small-to-large lookups for orthogonal boxes, a half stencil includes bins to the "upper right" of central bin for triclinic, a half stencil includes bins in the z (3D) or y (2D) plane of self and above - cutoff is not cutneighmaxsq, but max cutoff for that atom group + cutoff is not cutneighmaxsq, but max cutoff for that atom collection no versions that allow ghost on (any need for it?) ------------------------------------------------------------------------- */ @@ -81,7 +81,7 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) flag_half_multi = nullptr; flag_skip_multi = nullptr; - bin_group_multi = nullptr; + bin_collection_multi = nullptr; dimension = domain->dimension; } @@ -107,7 +107,7 @@ NStencil::~NStencil() if (stencil_multi) { - int n = n_multi_groups; + int n = ncollections; memory->destroy(nstencil_multi); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { @@ -120,7 +120,7 @@ NStencil::~NStencil() memory->destroy(maxstencil_multi); memory->destroy(flag_half_multi); memory->destroy(flag_skip_multi); - memory->destroy(bin_group_multi); + memory->destroy(bin_collection_multi); memory->destroy(stencil_sx_multi); memory->destroy(stencil_sy_multi); @@ -156,9 +156,9 @@ void NStencil::copy_neighbor_info() cuttypesq = neighbor->cuttypesq; cutneighsq = neighbor->cutneighsq; - n_multi_groups = neighbor->n_multi_groups; - map_type_multi = neighbor->map_type_multi; - cutmultisq = neighbor->cutmultisq; + ncollections = neighbor->ncollections; + collection = neighbor->collection; + cutcollectionsq = neighbor->cutcollectionsq; // overwrite Neighbor cutoff with custom value set by requestor // only works for style = BIN (checked by Neighbor class) @@ -269,9 +269,9 @@ void NStencil::create_setup() } } } else { - int i, j, bin_group, smax; + int i, j, bin_collection, smax; double stencil_range; - int n = n_multi_groups; + int n = ncollections; if(nb) copy_bin_info_multi(); @@ -280,8 +280,8 @@ void NStencil::create_setup() "neighstencil:flag_half_multi"); memory->create(flag_skip_multi, n, n, "neighstencil:flag_skip_multi"); - memory->create(bin_group_multi, n, n, - "neighstencil:bin_group_multi"); + memory->create(bin_collection_multi, n, n, + "neighstencil:bin_collection_multi"); memory->create(stencil_sx_multi, n, n, "neighstencil:stencil_sx_multi"); @@ -335,25 +335,25 @@ void NStencil::create_setup() // Skip creation of unused stencils if (flag_skip_multi[i][j]) continue; - // Copy bin info for this pair of atom types - bin_group = bin_group_multi[i][j]; + // Copy bin info for this pair of atom collections + bin_collection = bin_collection_multi[i][j]; - stencil_binsizex_multi[i][j] = binsizex_multi[bin_group]; - stencil_binsizey_multi[i][j] = binsizey_multi[bin_group]; - stencil_binsizez_multi[i][j] = binsizez_multi[bin_group]; + stencil_binsizex_multi[i][j] = binsizex_multi[bin_collection]; + stencil_binsizey_multi[i][j] = binsizey_multi[bin_collection]; + stencil_binsizez_multi[i][j] = binsizez_multi[bin_collection]; - stencil_mbinx_multi[i][j] = mbinx_multi[bin_group]; - stencil_mbiny_multi[i][j] = mbiny_multi[bin_group]; - stencil_mbinz_multi[i][j] = mbinz_multi[bin_group]; + stencil_mbinx_multi[i][j] = mbinx_multi[bin_collection]; + stencil_mbiny_multi[i][j] = mbiny_multi[bin_collection]; + stencil_mbinz_multi[i][j] = mbinz_multi[bin_collection]; - stencil_range = sqrt(cutmultisq[i][j]); + stencil_range = sqrt(cutcollectionsq[i][j]); - sx = static_cast (stencil_range*bininvx_multi[bin_group]); - if (sx*binsizex_multi[bin_group] < stencil_range) sx++; - sy = static_cast (stencil_range*bininvy_multi[bin_group]); - if (sy*binsizey_multi[bin_group] < stencil_range) sy++; - sz = static_cast (stencil_range*bininvz_multi[bin_group]); - if (sz*binsizez_multi[bin_group] < stencil_range) sz++; + sx = static_cast (stencil_range*bininvx_multi[bin_collection]); + if (sx*binsizex_multi[bin_collection] < stencil_range) sx++; + sy = static_cast (stencil_range*bininvy_multi[bin_collection]); + if (sy*binsizey_multi[bin_collection] < stencil_range) sy++; + sz = static_cast (stencil_range*bininvz_multi[bin_collection]); + if (sz*binsizez_multi[bin_collection] < stencil_range) sz++; stencil_sx_multi[i][j] = sx; stencil_sy_multi[i][j] = sy; @@ -397,24 +397,24 @@ double NStencil::bin_distance(int i, int j, int k) /* ---------------------------------------------------------------------- - compute closest distance for a given atom grouping + compute closest distance for a given atom collection ------------------------------------------------------------------------- */ -double NStencil::bin_distance_multi(int i, int j, int k, int ig) +double NStencil::bin_distance_multi(int i, int j, int k, int ic) { double delx,dely,delz; - if (i > 0) delx = (i-1)*binsizex_multi[ig]; + if (i > 0) delx = (i-1)*binsizex_multi[ic]; else if (i == 0) delx = 0.0; - else delx = (i+1)*binsizex_multi[ig]; + else delx = (i+1)*binsizex_multi[ic]; - if (j > 0) dely = (j-1)*binsizey_multi[ig]; + if (j > 0) dely = (j-1)*binsizey_multi[ic]; else if (j == 0) dely = 0.0; - else dely = (j+1)*binsizey_multi[ig]; + else dely = (j+1)*binsizey_multi[ic]; - if (k > 0) delz = (k-1)*binsizez_multi[ig]; + if (k > 0) delz = (k-1)*binsizez_multi[ic]; else if (k == 0) delz = 0.0; - else delz = (k+1)*binsizez_multi[ig]; + else delz = (k+1)*binsizez_multi[ic]; return (delx*delx + dely*dely + delz*delz); } @@ -431,7 +431,7 @@ double NStencil::memory_usage() bytes += atom->ntypes*maxstencil_multi_old * sizeof(int); bytes += atom->ntypes*maxstencil_multi_old * sizeof(double); } else if (neighstyle == Neighbor::MULTI) { - int n = n_multi_groups; + int n = ncollections; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { bytes += maxstencil_multi[i][j] * sizeof(int); diff --git a/src/nstencil.h b/src/nstencil.h index b38276b45f..37cedec045 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -43,8 +43,8 @@ class NStencil : protected Pointers { // Arrays to store options for multi itype-jtype stencils bool **flag_half_multi; // flag creation of a half stencil for igroup-jgroup - bool **flag_skip_multi; // skip creation of igroup-jgroup stencils (for newton on) - int **bin_group_multi; // what group to use for bin information + bool **flag_skip_multi; // skip creation of icollection-jcollection stencils (for newton on) + int **bin_collection_multi; // what collection to use for bin information NStencil(class LAMMPS *); virtual ~NStencil(); @@ -66,9 +66,9 @@ class NStencil : protected Pointers { double cutneighmaxsq; double *cuttypesq; double **cutneighsq; - double **cutmultisq; - int n_multi_groups; - int *map_type_multi; + double **cutcollectionsq; + int ncollections; + int *collection; // data from NBin class @@ -112,7 +112,7 @@ class NStencil : protected Pointers { // methods for multi NStencil - double bin_distance_multi(int, int, int, int); // distance between bin corners for different types + double bin_distance_multi(int, int, int, int); // distance between bin corners for different collections void copy_bin_info_multi(); // copy multi info from NBin class virtual void set_stencil_properties(){} // determine which stencils to build and how }; diff --git a/src/nstencil_full_multi_2d.cpp b/src/nstencil_full_multi_2d.cpp index 4c96f41a56..b27e3c2a9c 100644 --- a/src/nstencil_full_multi_2d.cpp +++ b/src/nstencil_full_multi_2d.cpp @@ -29,7 +29,7 @@ NStencilFullMulti2d::NStencilFullMulti2d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMulti2d::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; // Always look up neighbor using full stencil and neighbor's bin @@ -38,7 +38,7 @@ void NStencilFullMulti2d::set_stencil_properties() for (j = 0; j < n; j++) { flag_half_multi[i][j] = 0; flag_skip_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -49,33 +49,33 @@ void NStencilFullMulti2d::set_stencil_properties() void NStencilFullMulti2d::create() { - int igroup, jgroup, bin_group, i, j, k, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, k, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_3d.cpp index bc76433723..3d97bc10ad 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -29,7 +29,7 @@ NStencilFullMulti3d::NStencilFullMulti3d(LAMMPS *lmp) : NStencil(lmp) {} void NStencilFullMulti3d::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; // Always look up neighbor using full stencil and neighbor's bin @@ -39,7 +39,7 @@ void NStencilFullMulti3d::set_stencil_properties() for (j = 0; j < n; j++) { flag_half_multi[i][j] = 0; flag_skip_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -50,37 +50,37 @@ void NStencilFullMulti3d::set_stencil_properties() void NStencilFullMulti3d::create() { - int igroup, jgroup, bin_group, i, j, k, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, k, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; - sz = stencil_sz_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; + sz = stencil_sz_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; - mbinz = stencil_mbinz_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; + mbinz = stencil_mbinz_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index 8be8a1c151..57352c7c6f 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti2d::NStencilHalfMulti2d(LAMMPS *lmp) : void NStencilHalfMulti2d::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; - // Cross groups: use full stencil, looking one way through hierarchy + // Cross collections: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutmultisq[i][i] > cutmultisq[j][j]) continue; + if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutmultisq[i][i] == cutmultisq[j][j]){ + if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ flag_half_multi[i][j] = 1; - bin_group_multi[i][j] = i; + bin_collection_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -61,42 +61,42 @@ void NStencilHalfMulti2d::set_stencil_properties() void NStencilHalfMulti2d::create() { - int igroup, jgroup, bin_group, i, j, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; - if (flag_half_multi[igroup][jgroup]) { + if (flag_half_multi[icollection][jcollection]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,0,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp index 4a4e74c4a0..6588248109 100755 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti2dTri::NStencilHalfMulti2dTri(LAMMPS *lmp) : void NStencilHalfMulti2dTri::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; - // Cross groups: use full stencil, looking one way through hierarchy + // Cross collections: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutmultisq[i][i] > cutmultisq[j][j]) continue; + if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutmultisq[i][i] == cutmultisq[j][j]){ + if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ flag_half_multi[i][j] = 1; - bin_group_multi[i][j] = i; + bin_collection_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -61,40 +61,40 @@ void NStencilHalfMulti2dTri::set_stencil_properties() void NStencilHalfMulti2dTri::create() { - int igroup, jgroup, bin_group, i, j, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; - if (flag_half_multi[igroup][jgroup]) { + if (flag_half_multi[icollection][jcollection]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = j*mbinx + i; + if (bin_distance_multi(i,j,0,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; } - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_3d.cpp index ad4970603c..19cd051392 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti3d::NStencilHalfMulti3d(LAMMPS *lmp) : void NStencilHalfMulti3d::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; - // Cross groups: use full stencil, looking one way through hierarchy + // Cross collections: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutmultisq[i][i] > cutmultisq[j][j]) continue; + if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutmultisq[i][i] == cutmultisq[j][j]){ + if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ flag_half_multi[i][j] = 1; - bin_group_multi[i][j] = i; + bin_collection_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -61,48 +61,48 @@ void NStencilHalfMulti3d::set_stencil_properties() void NStencilHalfMulti3d::create() { - int igroup, jgroup, bin_group, i, j, k, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, k, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; - sz = stencil_sz_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; + sz = stencil_sz_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; - mbinz = stencil_mbinz_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; + mbinz = stencil_mbinz_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; - if (flag_half_multi[igroup][jgroup]) { + if (flag_half_multi[icollection][jcollection]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,k,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp index 779f0865a5..3c5efac463 100755 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -30,26 +30,26 @@ NStencilHalfMulti3dTri::NStencilHalfMulti3dTri(LAMMPS *lmp) : void NStencilHalfMulti3dTri::set_stencil_properties() { - int n = n_multi_groups; + int n = ncollections; int i, j; - // Cross groups: use full stencil, looking one way through hierarchy + // Cross collections: use full stencil, looking one way through hierarchy // smaller -> larger => use full stencil in larger bin // larger -> smaller => no nstencil required // If cut offs are same, use half stencil for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutmultisq[i][i] > cutmultisq[j][j]) continue; + if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = 0; - if(cutmultisq[i][i] == cutmultisq[j][j]){ + if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ flag_half_multi[i][j] = 1; - bin_group_multi[i][j] = i; + bin_collection_multi[i][j] = i; } else { flag_half_multi[i][j] = 0; - bin_group_multi[i][j] = j; + bin_collection_multi[i][j] = j; } } } @@ -61,46 +61,46 @@ void NStencilHalfMulti3dTri::set_stencil_properties() void NStencilHalfMulti3dTri::create() { - int igroup, jgroup, bin_group, i, j, k, ns; - int n = n_multi_groups; + int icollection, jcollection, bin_collection, i, j, k, ns; + int n = ncollections; double cutsq; - for (igroup = 0; igroup < n; igroup++) { - for (jgroup = 0; jgroup < n; jgroup++) { - if (flag_skip_multi[igroup][jgroup]) continue; + for (icollection = 0; icollection < n; icollection++) { + for (jcollection = 0; jcollection < n; jcollection++) { + if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - sx = stencil_sx_multi[igroup][jgroup]; - sy = stencil_sy_multi[igroup][jgroup]; - sz = stencil_sz_multi[igroup][jgroup]; + sx = stencil_sx_multi[icollection][jcollection]; + sy = stencil_sy_multi[icollection][jcollection]; + sz = stencil_sz_multi[icollection][jcollection]; - mbinx = stencil_mbinx_multi[igroup][jgroup]; - mbiny = stencil_mbiny_multi[igroup][jgroup]; - mbinz = stencil_mbinz_multi[igroup][jgroup]; + mbinx = stencil_mbinx_multi[icollection][jcollection]; + mbiny = stencil_mbiny_multi[icollection][jcollection]; + mbinz = stencil_mbinz_multi[icollection][jcollection]; - bin_group = bin_group_multi[igroup][jgroup]; + bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutmultisq[igroup][jgroup]; + cutsq = cutcollectionsq[icollection][jcollection]; - if (flag_half_multi[igroup][jgroup]) { + if (flag_half_multi[icollection][jcollection]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_group) < cutsq) - stencil_multi[igroup][jgroup][ns++] = + if (bin_distance_multi(i,j,k,bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k*mbiny*mbinx + j*mbinx + i; } - nstencil_multi[igroup][jgroup] = ns; + nstencil_multi[icollection][jcollection] = ns; } } } diff --git a/src/pair.cpp b/src/pair.cpp index afc5eb2785..04aafbe863 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -63,6 +63,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp) one_coeff = 0; no_virial_fdotr_compute = 0; writedata = 0; + finitecutflag = 0; ghostneigh = 0; unit_convert_flag = utils::NOCONVERT; diff --git a/src/pair.h b/src/pair.h index 5801941458..3c6710229e 100644 --- a/src/pair.h +++ b/src/pair.h @@ -56,6 +56,7 @@ class Pair : protected Pointers { int unit_convert_flag; // value != 0 indicates support for unit conversion. int no_virial_fdotr_compute; // 1 if does not invoke virial_fdotr_compute() int writedata; // 1 if writes coeffs to data file + int finitecutflag; // 1 if cut depends on finite atom size int ghostneigh; // 1 if pair style needs neighbors of ghosts double **cutghost; // cutoff for each ghost pair @@ -205,6 +206,8 @@ class Pair : protected Pointers { virtual void min_xf_get(int) {} virtual void min_x_set(int) {} virtual void transfer_history(double *, double*) {} + virtual double atom2cut(int) {return 0.0;} + virtual double radii2cut(double,double) {return 0.0;} // management of callbacks to be run from ev_tally() diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 3026c9c741..e559e81f84 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -401,6 +401,7 @@ void PairHybrid::flags() if (styles[m]->dispersionflag) dispersionflag = 1; if (styles[m]->tip4pflag) tip4pflag = 1; if (styles[m]->compute_flag) compute_flag = 1; + if (styles[m]->finitecutflag) finitecutflag = 1; } single_enable = (single_enable == nstyles) ? 1 : 0; respa_enable = (respa_enable == nstyles) ? 1 : 0; @@ -1072,6 +1073,42 @@ int PairHybrid::check_ijtype(int itype, int jtype, char *substyle) return 0; } +/* ---------------------------------------------------------------------- + check if substyles calculate self-interaction range of particle +------------------------------------------------------------------------- */ + +double PairHybrid::atom2cut(int i) +{ + double temp, cut; + + cut = 0.0; + for (int m = 0; m < nstyles; m++) { + if (styles[m]->finitecutflag){ + temp = styles[m]->atom2cut(i); + if(temp > cut) cut = temp; + } + } + return cut; +} + +/* ---------------------------------------------------------------------- + check if substyles calculate maximum interaction range for two finite particles +------------------------------------------------------------------------- */ + +double PairHybrid::radii2cut(double r1, double r2) +{ + double temp, cut; + + cut = 0.0; + for (int m = 0; m < nstyles; m++) { + if (styles[m]->finitecutflag){ + temp = styles[m]->radii2cut(r1,r2); + if(temp > cut) cut = temp; + } + } + return cut; +} + /* ---------------------------------------------------------------------- memory usage of each sub-style ------------------------------------------------------------------------- */ diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index 7717d1fd51..9d10e91684 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -58,6 +58,8 @@ class PairHybrid : public Pair { virtual void add_tally_callback(class Compute *); virtual void del_tally_callback(class Compute *); + double atom2cut(int); + double radii2cut(double,double); protected: int nstyles; // # of sub-styles From 0676c953c033a8be591cbc22e7d30e8f9d0ea7d7 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 2 Feb 2021 09:41:50 -0700 Subject: [PATCH 066/542] Removing stray file --- src/init | 789 ------------------------------------------------------- 1 file changed, 789 deletions(-) delete mode 100644 src/init diff --git a/src/init b/src/init deleted file mode 100644 index 617c9effa3..0000000000 --- a/src/init +++ /dev/null @@ -1,789 +0,0 @@ -angle_charmm.cpp: if (comm->me == 0) { -angle_cosine.cpp: if (comm->me == 0) utils::sfread(FLERR,&k[1],sizeof(double),atom->nangletypes,fp,nullptr,error); -angle_cosine_periodic.cpp: if (comm->me == 0) { -angle_cosine_squared.cpp: if (comm->me == 0) { -angle.cpp: memory->create(eatom,comm->nthreads*maxeatom,"angle:eatom"); -angle.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"angle:vatom"); -angle.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"angle:cvatom"); -angle.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); -angle.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); -angle.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); -angle_deprecated.cpp: if (lmp->comm->me == 0) -angle_harmonic.cpp: if (comm->me == 0) { -angle_hybrid.cpp: const int nthreads = comm->nthreads; -angle_hybrid.cpp: if (comm->nthreads > 1) { -angle_hybrid.cpp: int me = comm->me; -angle_table.cpp: if (comm->me == 0) { -angle_zero.cpp: if (comm->me == 0) { -atom.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -atom.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; -atom.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] += epsilon[0]; -atom.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; -atom.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] += epsilon[1]; -atom.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; -atom.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] += epsilon[2]; -atom.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; -atom.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] += epsilon[0]; -atom.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; -atom.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] += epsilon[1]; -atom.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; -atom.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] += epsilon[2]; -atom.cpp: if (comm->me == 0) { -atom.cpp: called by comm->exchange() if atom_modify first group is set -atom.cpp: always called between comm->exchange() and comm->borders() -atom.cpp: if (comm->me == 0) -atom_map.cpp: int nper = static_cast (natoms/comm->nprocs); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec_body.cpp: printf("Proc %d, step %ld, flag %d\n",comm->me,update->ntimestep,flag); -atom_vec.cpp: f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); -atom_vec.cpp: const int nthreads = threads[i] ? comm->nthreads : 1; -atom_vec.cpp: bytes += memory->usage(f,nmax*comm->nthreads,3); -atom_vec.cpp: const int nthreads = threads[i] ? comm->nthreads : 1; -atom_vec_hybrid.cpp: if (mass_pertype && mass_peratom && comm->me == 0) -atom_vec_hybrid.cpp: if ((ptr && strstr(ptr+1,dup)) && (comm->me == 0)) -atom_vec_line.cpp: //if (comm->me == 1 && update->ntimestep == 873) -atom_vec_line.cpp: printf("BAD vecline ptrs: %s: %d %d: %d\n",str,comm->me, -atom_vec_line.cpp: str,comm->me,update->ntimestep,count,nlocal_bonus); -balance.cpp: int *procgrid = comm->procgrid; -balance.cpp: if (style == BISECTION && comm->style == 0) -balance.cpp: // init entire system since comm->setup is done -balance.cpp: comm->setup(); -balance.cpp: comm->exchange(); -balance.cpp: if (comm->layout == Comm::LAYOUT_TILED && style != BISECTION) { -balance.cpp: if (comm->layout == Comm::LAYOUT_UNIFORM) { -balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; -balance.cpp: } else if (comm->layout == Comm::LAYOUT_NONUNIFORM) { -balance.cpp: comm->layout = Comm::LAYOUT_UNIFORM; -balance.cpp: } else if (comm->layout == Comm::LAYOUT_TILED) { -balance.cpp: comm->layout = Comm::LAYOUT_UNIFORM; -balance.cpp: else comm->layout = Comm::LAYOUT_NONUNIFORM; -balance.cpp: comm->xsplit[i] = i * 1.0/procgrid[0]; -balance.cpp: comm->xsplit[procgrid[0]] = 1.0; -balance.cpp: for (int i = 0; i <= procgrid[0]; i++) comm->xsplit[i] = user_xsplit[i]; -balance.cpp: comm->ysplit[i] = i * 1.0/procgrid[1]; -balance.cpp: comm->ysplit[procgrid[1]] = 1.0; -balance.cpp: for (int i = 0; i <= procgrid[1]; i++) comm->ysplit[i] = user_ysplit[i]; -balance.cpp: comm->zsplit[i] = i * 1.0/procgrid[2]; -balance.cpp: comm->zsplit[procgrid[2]] = 1.0; -balance.cpp: for (int i = 0; i <= procgrid[2]; i++) comm->zsplit[i] = user_zsplit[i]; -balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; -balance.cpp: comm->layout = Comm::LAYOUT_TILED; -balance.cpp: for (int i = 0; i <= comm->procgrid[0]; i++) -balance.cpp: mesg += fmt::format(" {:.8}",comm->xsplit[i]); -balance.cpp: for (int i = 0; i <= comm->procgrid[1]; i++) -balance.cpp: mesg += fmt::format(" {:.8}",comm->ysplit[i]); -balance.cpp: for (int i = 0; i <= comm->procgrid[2]; i++) -balance.cpp: mesg += fmt::format(" {:.8}",comm->zsplit[i]); -balance.cpp: if (outflag && comm->me == 0) { -balance.cpp: comm->rcbnew = 1; -balance.cpp: if (idim >= 0) comm->rcbcutfrac = (rcb->cut - boxlo[idim]) / prd[idim]; -balance.cpp: else comm->rcbcutfrac = 0.0; -balance.cpp: comm->rcbcutdim = idim; -balance.cpp: double (*mysplit)[2] = comm->mysplit; -balance.cpp: int max = MAX(comm->procgrid[0],comm->procgrid[1]); -balance.cpp: max = MAX(max,comm->procgrid[2]); -balance.cpp: if (comm->layout == Comm::LAYOUT_TILED) { -balance.cpp: int *procgrid = comm->procgrid; -balance.cpp: double *xsplit = comm->xsplit; -balance.cpp: double *ysplit = comm->ysplit; -balance.cpp: double *zsplit = comm->zsplit; -balance.cpp: int *procgrid = comm->procgrid; -balance.cpp: split = comm->xsplit; -balance.cpp: split = comm->ysplit; -balance.cpp: split = comm->zsplit; -balance.cpp: double *xsplit = comm->xsplit; -balance.cpp: double *ysplit = comm->ysplit; -balance.cpp: double *zsplit = comm->zsplit; -balance.cpp: int nx = comm->procgrid[0]; -balance.cpp: int ny = comm->procgrid[1]; -balance.cpp: int nz = comm->procgrid[2]; -bond.cpp: memory->create(eatom,comm->nthreads*maxeatom,"bond:eatom"); -bond.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"bond:vatom"); -bond.cpp: if (comm->me == 0) { -bond.cpp: if (comm->me == 0) { -bond.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); -bond.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); -bond_deprecated.cpp: if (lmp->comm->me == 0) -bond_fene.cpp: if (comm->me == 0) -bond_fene.cpp: if (comm->me == 0) { -bond_fene_expand.cpp: if (comm->me == 0) -bond_fene_expand.cpp: if (comm->me == 0) { -bond_gromos.cpp: if (comm->me == 0) { -bond_harmonic.cpp: if (comm->me == 0) { -bond_hybrid.cpp: const int nthreads = comm->nthreads; -bond_hybrid.cpp: int me = comm->me; -bond_morse.cpp: if (comm->me == 0) { -bond_nonlinear.cpp: if (comm->me == 0) { -bond_quartic.cpp: if (comm->me == 0) { -bond_table.cpp: if (comm->me == 0) { -bond_zero.cpp: if (comm->me == 0) { -change_box.cpp: if (comm->me == 0) utils::logmesg(lmp,"Changing box ...\n"); -change_box.cpp: if (natoms != atom->natoms && comm->me == 0) -comm_brick.cpp: if (oldcomm->layout == Comm::LAYOUT_TILED) -comm_brick.cpp: layout = oldcomm->layout; -comm.cpp: if (oldcomm->grid2proc) { -comm.cpp: memcpy(&grid2proc[0][0][0],&oldcomm->grid2proc[0][0][0], -comm.cpp: memcpy(xsplit,oldcomm->xsplit,(procgrid[0]+1)*sizeof(double)); -comm.cpp: memcpy(ysplit,oldcomm->ysplit,(procgrid[1]+1)*sizeof(double)); -comm.cpp: memcpy(zsplit,oldcomm->zsplit,(procgrid[2]+1)*sizeof(double)); -comm.cpp: if (oldcomm->cutusermulti) { -comm.cpp: memcpy(cutusermulti,oldcomm->cutusermulti,ncollections); -comm.cpp: if (oldcomm->cutusermultiold) { -comm.cpp: memcpy(cutusermultiold,oldcomm->cutusermultiold,atom->ntypes+1); -comm.cpp: int n = strlen(oldcomm->customfile) + 1; -comm.cpp: strcpy(customfile,oldcomm->customfile); -comm.cpp: int n = strlen(oldcomm->outfile) + 1; -comm.cpp: strcpy(outfile,oldcomm->outfile); -comm_tiled.cpp: layout = oldcomm->layout; -compute_adf.cpp: if (mycutneigh > comm->cutghostuser) -compute_aggregate_atom.cpp: if (count > 1 && comm->me == 0) -compute_aggregate_atom.cpp: comm->forward_comm_compute(this); -compute_aggregate_atom.cpp: comm->forward_comm_compute(this); -compute_aggregate_atom.cpp: comm->reverse_comm_compute(this); -compute_bond_local.cpp: if (velflag && !comm->ghost_velocity) ghostvelflag = 1; -compute_bond_local.cpp: if (ghostvelflag && !initflag) comm->forward_comm_compute(this); -compute_centro_atom.cpp: if (count > 1 && comm->me == 0) -compute_centroid_stress_atom.cpp: comm->reverse_comm_compute(this); -compute_chunk_atom.cpp: int nprocs = comm->nprocs; -compute_chunk_atom.cpp: comm->ring(n,sizeof(int),list,1,idring,nullptr,(void *)this,0); -compute_chunk_atom.cpp: callback from comm->ring() -compute_chunk_atom.cpp: if (flagall && comm->me == 0) -compute_cluster_atom.cpp: if (count > 1 && comm->me == 0) -compute_cluster_atom.cpp: comm->forward_comm_compute(this); -compute_cluster_atom.cpp: comm->forward_comm_compute(this); -compute_cluster_atom.cpp: comm->forward_comm_compute(this); -compute_cna_atom.cpp: comm->me == 0) -compute_cna_atom.cpp: if (count > 1 && comm->me == 0) -compute_cna_atom.cpp: if (nerrorall && comm->me == 0) -compute_cna_atom.cpp: if (nerrorall && comm->me == 0) -compute_contact_atom.cpp: if (count > 1 && comm->me == 0) -compute_contact_atom.cpp: if (force->newton_pair) comm->reverse_comm_compute(this); -compute_coord_atom.cpp: comm->forward_comm_compute(this); -compute_deprecated.cpp: if (lmp->comm->me == 0) -compute_erotate_sphere_atom.cpp: if (count > 1 && comm->me == 0) -compute_fragment_atom.cpp: if (count > 1 && comm->me == 0) -compute_fragment_atom.cpp: comm->forward_comm_compute(this); -compute_fragment_atom.cpp: comm->forward_comm_compute(this); -compute_group_group.cpp: if ((fabs(e_correction) > SMALL) && (comm->me == 0)) -compute_hexorder_atom.cpp: if (count > 1 && comm->me == 0) -compute_ke_atom.cpp: if (count > 1 && comm->me == 0) -compute_orientorder_atom.cpp: if (count > 1 && comm->me == 0) -compute_pe_atom.cpp: comm->reverse_comm_compute(this); -compute_property_atom.cpp: int me = comm->me; -compute_rdf.cpp: cutghost = MAX(force->pair->cutforce+skin,comm->cutghostuser); -compute_rdf.cpp: cutghost = comm->cutghostuser; -compute_rdf.cpp: if (comm->me == 0) -compute_stress_atom.cpp: comm->reverse_comm_compute(this); -compute_temp_deform.cpp: comm->me == 0) -compute_temp_deform.cpp: if (i == modify->nfix && comm->me == 0) -create_atoms.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -create_atoms.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; -create_atoms.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] -= 2.0*epsilon[0]; -create_atoms.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; -create_atoms.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] -= 2.0*epsilon[1]; -create_atoms.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; -create_atoms.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] -= 2.0*epsilon[2]; -create_atoms.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; -create_atoms.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] -= 2.0*epsilon[0]; -create_atoms.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; -create_atoms.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] -= 2.0*epsilon[1]; -create_atoms.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; -create_atoms.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] -= 2.0*epsilon[2]; -create_bonds.cpp: // init entire system since comm->borders and neighbor->build is done -create_bonds.cpp: if (rmax > neighbor->cutneighmin && comm->me == 0) -create_bonds.cpp: comm->setup(); -create_bonds.cpp: comm->exchange(); -create_bonds.cpp: comm->borders(); -create_bonds.cpp: if (comm->me == 0) -create_box.cpp: comm->set_proc_grid(); -delete_atoms.cpp: } else if (comm->me == 0) -delete_atoms.cpp: if (comm->me == 0) { -delete_atoms.cpp: if (comm->me == 0) utils::logmesg(lmp,"System init for delete_atoms ...\n"); -delete_atoms.cpp: // init entire system since comm->borders and neighbor->build is done -delete_atoms.cpp: if (cut > neighbor->cutneighmin && comm->me == 0) -delete_atoms.cpp: comm->setup(); -delete_atoms.cpp: comm->exchange(); -delete_atoms.cpp: comm->borders(); -delete_atoms.cpp: RanMars *random = new RanMars(lmp,seed + comm->me); -delete_atoms.cpp: // pass list to all other procs via comm->ring() -delete_atoms.cpp: comm->ring(n,sizeof(tagint),list,1,bondring,nullptr,(void *)this); -delete_atoms.cpp: // pass list to all other procs via comm->ring() -delete_atoms.cpp: comm->ring(n,sizeof(tagint),list,1,molring,nullptr,(void *)this); -delete_atoms.cpp: callback from comm->ring() in delete_bond() -delete_atoms.cpp: callback from comm->ring() in delete_molecule() -delete_bonds.cpp: // init entire system since comm->borders is done -delete_bonds.cpp: if (comm->me == 0) utils::logmesg(lmp,"System init for delete_bonds ...\n"); -delete_bonds.cpp: if (comm->me == 0) utils::logmesg(lmp,"Deleting bonds ...\n"); -delete_bonds.cpp: comm->setup(); -delete_bonds.cpp: comm->exchange(); -delete_bonds.cpp: comm->borders(); -delete_bonds.cpp: if (comm->me == 0) { -deprecated.cpp: if (lmp->comm->me == 0) -deprecated.cpp: if (lmp->comm->me == 0) -dihedral_charmm.cpp: if (comm->me == 0) { -dihedral_charmmfsw.cpp: if (comm->me == 0) { -dihedral.cpp: memory->create(eatom,comm->nthreads*maxeatom,"dihedral:eatom"); -dihedral.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"dihedral:vatom"); -dihedral.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"dihedral:cvatom"); -dihedral.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); -dihedral.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); -dihedral.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); -dihedral_deprecated.cpp: if (lmp->comm->me == 0) -dihedral_harmonic.cpp: if (comm->me == 0) { -dihedral_helix.cpp: if (comm->me == 0) { -dihedral_hybrid.cpp: int me = comm->me; -dihedral_multi_harmonic.cpp: if (comm->me == 0) { -dihedral_opls.cpp: if (comm->me == 0) { -displace_atoms.cpp: if (comm->me == 0) utils::logmesg(lmp,"Displacing atoms ...\n"); -displace_atoms.cpp: if (natoms != atom->natoms && comm->me == 0) -domain.cpp: else if (comm->me == 0) -domain.cpp: uses comm->xyz_split or comm->mysplit -domain.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -domain.cpp: int *myloc = comm->myloc; -domain.cpp: double *xsplit = comm->xsplit; -domain.cpp: double *ysplit = comm->ysplit; -domain.cpp: double *zsplit = comm->zsplit; -domain.cpp: double (*mysplit)[2] = comm->mysplit; -domain.cpp: uses comm->xyz_split or comm->mysplit -domain.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -domain.cpp: int *myloc = comm->myloc; -domain.cpp: int *procgrid = comm->procgrid; -domain.cpp: double *xsplit = comm->xsplit; -domain.cpp: double *ysplit = comm->ysplit; -domain.cpp: double *zsplit = comm->zsplit; -domain.cpp: double (*mysplit)[2] = comm->mysplit; -domain.cpp: comm->forward_comm_array(3,unwrap); -domain.cpp: if (flagall && comm->me == 0) -domain.cpp: if (all && comm->me == 0) -domain.cpp: if (all && comm->me == 0) -domain.cpp: if (flagall && comm->me == 0) -domain.cpp: since may lead to lost atoms in comm->exchange() -domain.cpp: if (flagall && comm->me == 0) -domain.cpp: if ((flag_all > 0) && (comm->me == 0)) -domain.cpp: if (comm->me == 0) { -dump_deprecated.cpp: if (lmp->comm->me == 0) -dump_image.cpp: comm->forward_comm_dump(this); -dump_movie.cpp: if ((comm->me == 0) && (fp == nullptr)) { -finish.cpp: const int nthreads = comm->nthreads; -fix_balance.cpp: if (lbstyle == BISECTION && comm->style == 0) -fix_balance.cpp: compute final imbalance factor based on nlocal after comm->exchange() -fix_balance.cpp: // invoke balancer and reset comm->uniform flag -fix_balance.cpp: comm->layout = Comm::LAYOUT_NONUNIFORM; -fix_balance.cpp: comm->layout = Comm::LAYOUT_TILED; -fix_balance.cpp: // since may lead to lost atoms in comm->exchange() -fix_balance.cpp: // else allow caller's comm->exchange() to do it -fix_balance.cpp: // b/c atoms may migrate again in comm->exchange() -fix_balance.cpp: // can only be done after atoms migrate in comm->exchange() -fix_box_relax.cpp: if (temperature->igroup != 0 && comm->me == 0) -fix_cmap.cpp: if (comm->me == 0) { -fix_cmap.cpp: if (comm->me == 0) -fix_cmap.cpp: if (comm->me == 0) fclose(fp); -fix_cmap.cpp: if (comm->me == 0) { -fix_deform.cpp: if (comm->me == 0) { -fix_deprecated.cpp: if (lmp->comm->me == 0) -fix_deprecated.cpp: if (lmp->comm->me == 0) -fix_dt_reset.cpp: strcmp(output->dump[i]->style,"xtc") == 0) && comm->me == 0) -fix_group.cpp: if (warn && comm->me == 0) -fix_halt.cpp: if (comm->me == 0 && msgflag == YESMSG) error->message(FLERR,message); -fix_langevin.cpp: random = new RanMars(lmp,seed + comm->me); -fix_langevin.cpp: if (temperature->igroup != igroup && comm->me == 0) -fix_move.cpp: if (comm->me == 0) { -fix_neigh_history.cpp: int nmypage = comm->nthreads; -fix_neigh_history.cpp: comm->reverse_comm_fix(this,0); -fix_neigh_history.cpp: comm->reverse_comm_fix_variable(this); -fix_neigh_history.cpp: int nmypage = comm->nthreads; -fix_neigh_history.cpp: if (comm->me == 0) { -fix_nh.cpp: if (comm->me == 0) { -fix_nh.cpp: if (temperature->igroup != 0 && comm->me == 0) -fix_nve_limit.cpp: if (comm->me == 0) -fix_pour.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -fix_pour.cpp: if (comm->myloc[2] == comm->procgrid[2]-1 && -fix_pour.cpp: if (comm->mysplit[2][1] == 1.0 && -fix_pour.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -fix_pour.cpp: if (comm->myloc[1] == comm->procgrid[1]-1 && -fix_pour.cpp: if (comm->mysplit[1][1] == 1.0 && -fix_press_berendsen.cpp: if (temperature->igroup != 0 && comm->me == 0) -fix_property_atom.cpp: if (flag && comm->me == 0) -fix_recenter.cpp: if (flag && comm->me == 0) -fix_restrain.cpp: comm->me,update->ntimestep)); -fix_restrain.cpp: comm->me,update->ntimestep)); -fix_restrain.cpp: comm->me,update->ntimestep)); -fix_restrain.cpp: comm->me,update->ntimestep)); -fix_restrain.cpp: ids[m][2],comm->me,update->ntimestep)); -fix_restrain.cpp: ids[m][2],comm->me,update->ntimestep)); -fix_restrain.cpp: ids[m][2],ids[m][3],comm->me, -fix_restrain.cpp: ids[m][2],ids[m][3],comm->me, -fix_restrain.cpp: comm->me,x[i1][0],x[i1][1],x[i1][2], -fix_restrain.cpp: comm->me,x[i2][0],x[i2][1],x[i2][2], -fix_restrain.cpp: comm->me,x[i3][0],x[i3][1],x[i3][2], -fix_restrain.cpp: comm->me,x[i4][0],x[i4][1],x[i4][2]); -fix_spring_chunk.cpp: if (comm->me == 0) { -fix_spring_chunk.cpp: if (comm->me == 0) -fix_spring_rg.cpp: if (comm->me == 0) { -fix_store.cpp: // PERATOM may be comm->exchanged before filled by caller -fix_store.cpp: if (comm->me == 0) { -fix_temp_berendsen.cpp: if (temperature->igroup != igroup && comm->me == 0) -fix_temp_berendsen.cpp: if (comm->me == 0) { -fix_temp_csld.cpp: random = new RanMars(lmp,seed + comm->me); -fix_temp_csld.cpp: if (temperature->igroup != igroup && comm->me == 0) -fix_temp_csld.cpp: int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy -fix_temp_csld.cpp: if (comm->me == 0) { -fix_temp_csld.cpp: list[1] = comm->nprocs; -fix_temp_csld.cpp: if (comm->me == 0) { -fix_temp_csld.cpp: if (nprocs != comm->nprocs) { -fix_temp_csld.cpp: if (comm->me == 0) -fix_temp_csld.cpp: } else random->set_state(list+2+comm->me*103); -fix_temp_csvr.cpp: random = new RanMars(lmp,seed + comm->me); -fix_temp_csvr.cpp: if (comm->me == 0) { -fix_temp_csvr.cpp: if (temperature->igroup != igroup && comm->me == 0) -fix_temp_csvr.cpp: int nsize = PRNGSIZE*comm->nprocs+2; // pRNG state per proc + nprocs + energy -fix_temp_csvr.cpp: if (comm->me == 0) { -fix_temp_csvr.cpp: list[1] = comm->nprocs; -fix_temp_csvr.cpp: if (comm->me == 0) { -fix_temp_csvr.cpp: if (nprocs != comm->nprocs) { -fix_temp_csvr.cpp: if (comm->me == 0) -fix_temp_csvr.cpp: } else random->set_state(list+2+comm->me*103); -fix_temp_rescale.cpp: if (temperature->igroup != igroup && comm->me == 0) -fix_temp_rescale.cpp: if (comm->me == 0) { -fix_wall_gran_region.cpp: if (comm->me) return; -fix_wall_reflect.cpp: if (nrigid && comm->me == 0) -force.cpp: if (comm->me == 0) { -group.cpp: // pass list to all other procs via comm->ring() -group.cpp: comm->ring(n,sizeof(tagint),list,1,molring,nullptr,(void *)this); -group.cpp: callback from comm->ring() -imbalance_neigh.cpp: if (comm->me == 0 && !did_warn) -improper.cpp: memory->create(eatom,comm->nthreads*maxeatom,"improper:eatom"); -improper.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"improper:vatom"); -improper.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"improper:cvatom"); -improper.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); -improper.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); -improper_cvff.cpp: if (comm->me == 0) { -improper_deprecated.cpp: if (lmp->comm->me == 0) -improper_harmonic.cpp: if (comm->me == 0) { -improper_hybrid.cpp: int me = comm->me; -improper_umbrella.cpp: if (comm->me == 0) { -info.cpp: if (comm->me != 0) return; -info.cpp: commstyles[comm->style], commlayout[comm->layout], -info.cpp: comm->ghost_velocity ? "yes" : "no"); -info.cpp: if (comm->mode == 0) -info.cpp: comm->get_comm_cutoff()); -info.cpp: if (comm->mode == 1) { -info.cpp: if (comm->cutusermulti) cut = MAX(cut,comm->cutusermulti[i]); -info.cpp: fmt::print(out,"Nprocs = {}, Nthreads = {}\n",comm->nprocs,comm->nthreads); -info.cpp: fmt::print(out,"Processor grid = {} x {} x {}\n",comm->procgrid[0], -info.cpp: comm->procgrid[1], comm->procgrid[2]); -info.cpp: style = commstyles[comm->style]; -info.cpp: bytes += comm->memory_usage(); -input.cpp: comm->modify_params(narg,arg); -input.cpp: if (comm->style == 0) return; -input.cpp: if (comm->style == 1) return; -input.cpp: comm->set_processors(narg,arg); -irregular.cpp: can be used in place of comm->exchange() -irregular.cpp: if (!preassign) comm->coord2proc_setup(); -irregular.cpp: mproclist[nsendatom] = comm->coord2proc(x[i],igx,igy,igz); -irregular.cpp: if not, caller can decide to use comm->exchange() instead -irregular.cpp: if (comm->layout == Comm::LAYOUT_TILED) return 1; -irregular.cpp: // cannot check via comm->procneigh since it ignores PBC -irregular.cpp: int *myloc = comm->myloc; -irregular.cpp: int *procgrid = comm->procgrid; -irregular.cpp: comm->coord2proc(x[i],igx,igy,igz); -kspace.cpp: if ((qsqsum == 0.0) && (comm->me == 0) && warn_nocharge && warning_flag) { -kspace.cpp: if (warn_nonneutral == 1 && comm->me == 0) error->warning(FLERR,message); -kspace.cpp: if (comm->me == 0) { -kspace.cpp: if ((table_accuracy > spr) && (comm->me == 0)) -kspace.cpp: if (slab_volfactor < 2.0 && comm->me == 0) -kspace_deprecated.cpp: if (lmp->comm->me == 0) -lammps.cpp: const int me = comm->me; -lammps.cpp: comm->init(); // comm must come after force, modify, neighbor, atom -lattice.cpp: if (comm->me == 0) -library.cpp: && (lmp->comm->me == 0)) { -library.cpp: && (lmp->comm->me == 0)) { -library.cpp: lmp->comm->set_proc_grid(); -library.cpp: if (strcmp(keyword,"world_rank") == 0) return lmp->comm->me; -library.cpp: if (strcmp(keyword,"world_size") == 0) return lmp->comm->nprocs; -library.cpp: if (strcmp(keyword,"nthreads") == 0) return lmp->comm->nthreads; -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: int nprocs = lmp->comm->nprocs; -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: int nprocs = lmp->comm->nprocs; -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) -library.cpp: if (lmp->comm->me == 0) lmp->error->warning(FLERR,msg); -min.cpp: if (comm->me == 0) -min.cpp: if (comm->me == 0 && screen) { -min.cpp: if (comm->me == 0 && screen) -min.cpp: comm->setup(); -min.cpp: comm->exchange(); -min.cpp: comm->borders(); -min.cpp: // atoms may have migrated in comm->exchange() -min.cpp: if (force->newton) comm->reverse_comm(); -min.cpp: comm->setup(); -min.cpp: comm->exchange(); -min.cpp: comm->borders(); -min.cpp: // atoms may have migrated in comm->exchange() -min.cpp: if (force->newton) comm->reverse_comm(); -min.cpp: comm->forward_comm(); -min.cpp: comm->setup(); -min.cpp: comm->exchange(); -min.cpp: comm->borders(); -min.cpp: comm->reverse_comm(); -min_fire.cpp: if (comm->me == 0 && logfile) { -modify.cpp: if (comm->me == 0 && checkall) -modify.cpp: if (fix[ifix]->igroup != igroup && comm->me == 0) -modify.cpp: if (comm->me == 0) -modify.cpp: if (comm->me == 0) -modify.cpp: int me = comm->me; -modify.cpp: int me = comm->me; -modify.cpp: if (flag && comm->me == 0) { -modify.cpp: if (flag && comm->me == 0) { -molecule.cpp: me = comm->me; -nbin_multi.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost -nbin_multi.cpp: // include dimension-dependent extension via comm->cutghost -nbin_multi.cpp: double *cutghost = comm->cutghost; -nbin_standard.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost -nbin_standard.cpp: // include dimension-dependent extension via comm->cutghost -nbin_standard.cpp: double *cutghost = comm->cutghost; -neighbor.cpp: if (!same && comm->me == 0) print_pairwise_info(); -neighbor.cpp: if (comm->me == 0) printf("SAME flag %d\n",same); -neighbor.cpp: const double cutghost = MAX(cutneighmax,comm->cutghostuser); -neigh_list.cpp: int nmypage = comm->nthreads; -neigh_list.cpp: if (comm->me != 0) return; -neigh_list.cpp: int nmypage = comm->nthreads; -ntopo.cpp: me = comm->me; -ntopo.cpp: nprocs = comm->nprocs; -output.cpp: if (thermo->modified && comm->me == 0) -output.cpp: if (strchr(arg[1],'%')) multiproc = comm->nprocs; -output.cpp: mbavg /= comm->nprocs; -output.cpp: if (comm->me == 0) -pair_beck.cpp: int me = comm->me; -pair_beck.cpp: int me = comm->me; -pair_born_coul_dsf.cpp: int me = comm->me; -pair_born_coul_dsf.cpp: if (comm->me == 0) { -pair_born_coul_wolf.cpp: int me = comm->me; -pair_born_coul_wolf.cpp: if (comm->me == 0) { -pair_born.cpp: int me = comm->me; -pair_born.cpp: if (comm->me == 0) { -pair_brownian.cpp: random = new RanMars(lmp,seed + comm->me); -pair_brownian.cpp: if (force->newton_pair == 0 && comm->me == 0) -pair_brownian.cpp: int me = comm->me; -pair_brownian.cpp: int me = comm->me; -pair_brownian.cpp: random = new RanMars(lmp,seed + comm->me); -pair_buck_coul_cut.cpp: int me = comm->me; -pair_buck_coul_cut.cpp: if (comm->me == 0) { -pair_buck.cpp: int me = comm->me; -pair_buck.cpp: if (comm->me == 0) { -pair_colloid.cpp: if (comm->me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); -pair_colloid.cpp: if (comm->me == 0) { -pair_colloid.cpp: int me = comm->me; -pair_coul_cut.cpp: int me = comm->me; -pair_coul_cut.cpp: if (comm->me == 0) { -pair_coul_debye.cpp: if (comm->me == 0) { -pair_coul_dsf.cpp: int me = comm->me; -pair_coul_dsf.cpp: if (comm->me == 0) { -pair_coul_streitz.cpp: if (comm->me == 0) { -pair_coul_streitz.cpp: if (comm->me != 0) { -pair_coul_wolf.cpp: int me = comm->me; -pair_coul_wolf.cpp: if (comm->me == 0) { -pair.cpp: if (tail_flag && domain->nonperiodic && comm->me == 0) -pair.cpp: if (!compute_flag && tail_flag && comm->me == 0) -pair.cpp: if (!compute_flag && offset_flag && comm->me == 0) -pair.cpp: if (flag && comm->me == 0) -pair.cpp: if (comm->me == 0) -pair.cpp: if (comm->me == 0) -pair.cpp: memory->create(eatom,comm->nthreads*maxeatom,"pair:eatom"); -pair.cpp: memory->create(vatom,comm->nthreads*maxvatom,6,"pair:vatom"); -pair.cpp: memory->create(cvatom,comm->nthreads*maxcvatom,9,"pair:cvatom"); -pair.cpp: if (comm->me == 0) { -pair.cpp: if ((comm->me == 0) && (epair)) -pair.cpp: if (comm->me == 0) -pair.cpp: if (comm->me == 0) fprintf(fp,"%d %.15g %.15g %.15g\n",i+1,r,e,f); -pair.cpp: if (comm->me == 0) fclose(fp); -pair.cpp: double bytes = comm->nthreads*maxeatom * sizeof(double); -pair.cpp: bytes += comm->nthreads*maxvatom*6 * sizeof(double); -pair.cpp: bytes += comm->nthreads*maxcvatom*9 * sizeof(double); -pair_deprecated.cpp: if (lmp->comm->me == 0) -pair_deprecated.cpp: if (lmp->comm->me == 0) -pair_dpd.cpp: random = new RanMars(lmp,seed + comm->me); -pair_dpd.cpp: if (comm->ghost_velocity == 0) -pair_dpd.cpp: if (force->newton_pair == 0 && comm->me == 0) error->warning(FLERR, -pair_dpd.cpp: int me = comm->me; -pair_dpd.cpp: if (comm->me == 0) { -pair_dpd.cpp: random = new RanMars(lmp,seed + comm->me); -pair_dpd_tstat.cpp: random = new RanMars(lmp,seed + comm->me); -pair_dpd_tstat.cpp: int me = comm->me; -pair_dpd_tstat.cpp: if (comm->me == 0) { -pair_dpd_tstat.cpp: random = new RanMars(lmp,seed + comm->me); -pair_gauss.cpp: int me = comm->me; -pair_gauss.cpp: if (comm->me == 0) { -pair_gran_hertz_history.cpp: comm->forward_comm_pair(this); -pair_gran_hooke.cpp: comm->forward_comm_pair(this); -pair_gran_hooke_history.cpp: comm->forward_comm_pair(this); -pair_gran_hooke_history.cpp: if (comm->ghost_velocity == 0) -pair_gran_hooke_history.cpp: int me = comm->me; -pair_gran_hooke_history.cpp: if (comm->me == 0) { -pair_granular.cpp: comm->forward_comm_pair(this); -pair_granular.cpp: if (comm->ghost_velocity == 0) -pair_granular.cpp: int me = comm->me; -pair_hybrid.cpp: int me = comm->me; -pair_lj96_cut.cpp: int me = comm->me; -pair_lj96_cut.cpp: int me = comm->me; -pair_lj_charmm_coul_charmm.cpp: int me = comm->me; -pair_lj_charmm_coul_charmm.cpp: if (comm->me == 0) { -pair_lj_charmmfsw_coul_charmmfsh.cpp: if ((comm->me == 0) && (force->qqr2e != force->qqr2e_charmm_real)) -pair_lj_charmmfsw_coul_charmmfsh.cpp: if ((comm->me == 0) && (force->qqr2e == force->qqr2e_charmm_real)) -pair_lj_charmmfsw_coul_charmmfsh.cpp: int me = comm->me; -pair_lj_charmmfsw_coul_charmmfsh.cpp: if (comm->me == 0) { -pair_lj_cubic.cpp: int me = comm->me; -pair_lj_cubic.cpp: int me = comm->me; -pair_lj_cut_coul_cut.cpp: int me = comm->me; -pair_lj_cut_coul_cut.cpp: if (comm->me == 0) { -pair_lj_cut_coul_debye.cpp: if (comm->me == 0) { -pair_lj_cut_coul_dsf.cpp: int me = comm->me; -pair_lj_cut_coul_dsf.cpp: if (comm->me == 0) { -pair_lj_cut_coul_wolf.cpp: int me = comm->me; -pair_lj_cut_coul_wolf.cpp: int me = comm->me; -pair_lj_cut.cpp: int me = comm->me; -pair_lj_cut.cpp: int me = comm->me; -pair_lj_cut_tip4p_cut.cpp: int me = comm->me; -pair_lj_cut_tip4p_cut.cpp: if (comm->me == 0) { -pair_lj_expand.cpp: int me = comm->me; -pair_lj_expand.cpp: if (comm->me == 0) { -pair_lj_gromacs_coul_gromacs.cpp: int me = comm->me; -pair_lj_gromacs_coul_gromacs.cpp: if (comm->me == 0) { -pair_lj_gromacs.cpp: int me = comm->me; -pair_lj_gromacs.cpp: int me = comm->me; -pair_lj_smooth.cpp: int me = comm->me; -pair_lj_smooth.cpp: int me = comm->me; -pair_lj_smooth_linear.cpp: int me = comm->me; -pair_lj_smooth_linear.cpp: int me = comm->me; -pair_lubricate.cpp: // no need to do this if not shearing since comm->ghost_velocity is set -pair_lubricate.cpp: comm->forward_comm_pair(this); -pair_lubricate.cpp: if (comm->ghost_velocity == 0) -pair_lubricate.cpp: int me = comm->me; -pair_lubricate.cpp: int me = comm->me; -pair_lubricate_poly.cpp: // no need to do this if not shearing since comm->ghost_velocity is set -pair_lubricate_poly.cpp: comm->forward_comm_pair(this); -pair_lubricate_poly.cpp: if (comm->ghost_velocity == 0) -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU.cpp: comm->forward_comm_pair(this); -pair_lubricateU.cpp: if (newton_pair) comm->reverse_comm(); // not really needed -pair_lubricateU.cpp: if (comm->ghost_velocity == 0) -pair_lubricateU.cpp: int me = comm->me; -pair_lubricateU.cpp: int me = comm->me; -pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); -pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); -pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); -pair_lubricateU_poly.cpp: comm->forward_comm_pair(this); -pair_lubricateU_poly.cpp: if (newton_pair) comm->reverse_comm(); // not really needed -pair_lubricateU_poly.cpp: if (comm->ghost_velocity == 0) -pair_lubricateU_poly.cpp: if (!comm->me) { -pair_mie_cut.cpp: int me = comm->me; -pair_mie_cut.cpp: int me = comm->me; -pair_morse.cpp: int me = comm->me; -pair_morse.cpp: if (comm->me == 0) { -pair_soft.cpp: int me = comm->me; -pair_soft.cpp: if (comm->me == 0) { -pair_table.cpp: if (comm->me == 0) { -pair_tip4p_cut.cpp: int me = comm->me; -pair_tip4p_cut.cpp: if (comm->me == 0) { -pair_ufm.cpp: int me = comm->me; -pair_ufm.cpp: int me = comm->me; -pair_yukawa.cpp: int me = comm->me; -pair_yukawa.cpp: if (comm->me == 0) { -pair_zbl.cpp: int me = comm->me; -pair_zbl.cpp: int me = comm->me; -pair_zero.cpp: int me = comm->me; -pair_zero.cpp: int me = comm->me; -potential_file_reader.cpp: if (comm->me != 0) { -random_mars.cpp: //if (comm->me == 0) printf("%d %ld %ld %g %ld\n", -read_data.cpp: if (comm->nprocs == 1) n = static_cast (atom->natoms); -read_data.cpp: else n = static_cast (LB_FACTOR * atom->natoms / comm->nprocs); -read_data.cpp: comm->set_proc_grid(); -read_data.cpp: comm->set_proc_grid(); -read_data.cpp: // do comm->init() but not comm->setup() b/c pair/neigh cutoffs not yet set -read_data.cpp: // need call to map_set() b/c comm->exchange clears atom map -read_data.cpp: if (comm->me == 0) -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_data.cpp: int eof = comm->read_lines_from_file(fp,ntypes,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,ntypes,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,nsq,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,nbondtypes,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,nangletypes,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,ndihedraltypes,MAXLINE,buf); -read_data.cpp: int eof = comm->read_lines_from_file(fp,nimpropertypes,MAXLINE,buf); -read_data.cpp: eof = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); -read_dump.cpp: comm->set_proc_grid(0); -read_restart.cpp: comm->set_proc_grid(); -read_restart.cpp: if (comm->me == 0) -read_restart.cpp: if (nprocs_file != comm->nprocs && me == 0) -read_restart.cpp: comm->nprocs)); -read_restart.cpp: if (comm->user_procgrid[0] != 0 && -read_restart.cpp: procgrid[0] != comm->user_procgrid[0]) flag = 1; -read_restart.cpp: if (comm->user_procgrid[1] != 0 && -read_restart.cpp: procgrid[1] != comm->user_procgrid[1]) flag = 1; -read_restart.cpp: if (comm->user_procgrid[2] != 0 && -read_restart.cpp: procgrid[2] != comm->user_procgrid[2]) flag = 1; -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: comm->mode = read_int(); -read_restart.cpp: comm->cutghostuser = read_double(); -read_restart.cpp: comm->ghost_velocity = read_int(); -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: if (comm->me ==0) -read_restart.cpp: if (comm->me ==0) -region_deprecated.cpp: if (lmp->comm->me == 0) -replicate.cpp: int me = comm->me; -replicate.cpp: int nprocs = comm->nprocs; -replicate.cpp: if (comm->me == 0) -replicate.cpp: comm->set_proc_grid(); -replicate.cpp: if (comm->layout != Comm::LAYOUT_TILED) { -replicate.cpp: if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; -replicate.cpp: if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] += epsilon[0]; -replicate.cpp: if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; -replicate.cpp: if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] += epsilon[1]; -replicate.cpp: if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; -replicate.cpp: if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] += epsilon[2]; -replicate.cpp: if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; -replicate.cpp: if (comm->mysplit[0][1] == 1.0) subhi[0] += epsilon[0]; -replicate.cpp: if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; -replicate.cpp: if (comm->mysplit[1][1] == 1.0) subhi[1] += epsilon[1]; -replicate.cpp: if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; -replicate.cpp: if (comm->mysplit[2][1] == 1.0) subhi[2] += epsilon[2]; -reset_atom_ids.cpp: if (comm->me == 0) utils::logmesg(lmp,"Resetting atom IDs ...\n"); -reset_atom_ids.cpp: // initialize system since comm->borders() will be invoked -reset_atom_ids.cpp: comm->setup(); -reset_atom_ids.cpp: comm->exchange(); -reset_atom_ids.cpp: comm->borders(); -reset_atom_ids.cpp: comm->forward_comm_array(1,newIDs); -reset_atom_ids.cpp: int me = comm->me; -reset_atom_ids.cpp: int nprocs = comm->nprocs; -reset_atom_ids.cpp: int nreturn = comm->rendezvous(1,nlocal,(char *) atombuf,sizeof(AtomRvous), -reset_atom_ids.cpp: // rptr->comm->me,i,n,in[i].ibin,binlo,binhi); -reset_atom_ids.cpp: // pass outbuf of IDRvous datums back to comm->rendezvous -reset_mol_ids.cpp: if (comm->me == 0) utils::logmesg(lmp,"Resetting molecule IDs ...\n"); -reset_mol_ids.cpp: // initialize system since comm->borders() will be invoked -reset_mol_ids.cpp: comm->setup(); -reset_mol_ids.cpp: comm->exchange(); -reset_mol_ids.cpp: comm->borders(); -reset_mol_ids.cpp: if (comm->me == 0) { -respa.cpp: if (comm->me == 0) { -respa.cpp: if (flag && comm->me == 0) -respa.cpp: if (modify->nfix == 0 && comm->me == 0) -respa.cpp: if (comm->me == 0 && screen) { -respa.cpp: comm->setup(); -respa.cpp: comm->exchange(); -respa.cpp: comm->borders(); -respa.cpp: if (newton[ilevel]) comm->reverse_comm(); -respa.cpp: comm->setup(); -respa.cpp: comm->exchange(); -respa.cpp: comm->borders(); -respa.cpp: if (newton[ilevel]) comm->reverse_comm(); -respa.cpp: comm->setup(); -respa.cpp: comm->exchange(); -respa.cpp: comm->borders(); -respa.cpp: comm->forward_comm(); -respa.cpp: comm->forward_comm(); -respa.cpp: comm->reverse_comm(); -set.cpp: if (comm->me == 0) utils::logmesg(lmp,"Setting atom values ...\n"); -set.cpp: if (comm->me == 0) { -set.cpp: RanMars *ranmars = new RanMars(lmp,seed + comm->me); -set.cpp: // init entire system since comm->exchange is done -set.cpp: if (comm->me == 0) utils::logmesg(lmp," system init for set ...\n"); -set.cpp: comm->setup(); -set.cpp: comm->exchange(); -set.cpp: comm->borders(); -special.cpp: comm->rendezvous(RVOUS,nlocal,(char *) idbuf,sizeof(IDRvous),0,proclist, -special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), -special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), -special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), -special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), -special.cpp: int nreturn = comm->rendezvous(RVOUS,nsend,(char *) inbuf,sizeof(PairRvous), -special.cpp: if (comm->me == 0) From 852e4efc6f5f9e3601d67b9742ebdab90cef983e Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 2 Feb 2021 14:50:30 -0700 Subject: [PATCH 067/542] Updating documentation/examples, patching comm_modify cutoff/multi command --- doc/src/comm_modify.rst | 54 ++++++++++++++++++++++++-------------- doc/src/neigh_modify.rst | 38 ++++++++++++++++++--------- doc/src/neighbor.rst | 6 ++--- examples/multi/in.colloid | 4 +-- examples/multi/in.granular | 2 +- src/comm.cpp | 20 +++++--------- src/comm.h | 2 ++ src/comm_brick.cpp | 26 +++++++++++++----- src/comm_tiled.cpp | 23 ++++++++++++---- 9 files changed, 113 insertions(+), 62 deletions(-) diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index a3f7dba4eb..489ab407ee 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -15,12 +15,15 @@ Syntax .. parsed-literal:: - *mode* value = *single* or *multi* = communicate atoms within a single or multiple distances + *mode* value = *single*, *multi*, or *multi/old* = communicate atoms within a single or multiple distances *cutoff* value = Rcut (distance units) = communicate atoms from this far away - *cutoff/multi* type value + *cutoff/multi* collection value + collection = atom collection or collection range (supports asterisk notation) + value = Rcut (distance units) = communicate atoms for selected types from this far away + *reduce/multi* arg = none = reduce number of communicated ghost atoms for multi style + *cutoff/multi/old* type value type = atom type or type range (supports asterisk notation) value = Rcut (distance units) = communicate atoms for selected types from this far away - *multi/reduce* arg = none = reduce number of communicated ghost atoms for multi style *group* value = group-ID = only communicate atoms in the group *vel* value = *yes* or *no* = do or do not communicate velocity info with ghost atoms @@ -29,7 +32,7 @@ Examples .. code-block:: LAMMPS - comm_modify mode multi + comm_modify mode multi reduce/multi comm_modify mode multi group solvent comm_modift mode multi cutoff/multi 1 10.0 cutoff/multi 2*4 15.0 comm_modify vel yes @@ -63,13 +66,18 @@ sub-domain. The distance is by default the maximum of the neighbor cutoff across all atom type pairs. For many systems this is an efficient algorithm, but for systems with -widely varying cutoffs for different type pairs, the *multi* mode can -be faster. In this case, each atom type is assigned its own distance +widely varying cutoffs for different type pairs, the *multi* or *multi/old* mode can +be faster. In *multi*, each atom is assigned to a collection which should +correspond to a set of atoms with similar interaction cutoffs. +In this case, each atom collection is assigned its own distance cutoff for communication purposes, and fewer atoms will be -communicated. See the :doc:`neighbor multi ` command for a -neighbor list construction option that may also be beneficial for -simulations of this kind. The *multi* mode is compatable with both the -*multi* and *multi/old* neighbor styles. +communicated. in *multi/old*, a similar technique is used but atoms +are grouped by atom type. See the :doc:`neighbor multi ` and +:doc:`neighbor multi/old ` commands for +neighbor list construction options that may also be beneficial for +simulations of this kind. The *multi* communiction mode is only compatable +with the *multi* neighbor style. The *multi/old* communication mode is compatble +with both the *multi* and *multi/old* neighbor styles. The *cutoff* keyword allows you to extend the ghost cutoff distance for communication mode *single*\ , which is the distance from the borders @@ -89,18 +97,24 @@ warning is printed, if this bond based estimate is larger than the communication cutoff used. The *cutoff/multi* option is equivalent to *cutoff*\ , but applies to -communication mode *multi* instead. Since in this case the communication -cutoffs are determined per atom type, a type specifier is needed and -cutoff for one or multiple types can be extended. Also ranges of types -using the usual asterisk notation can be given. For granular pair styles, -the default cutoff is set to the sum of the current maximum atomic radii -for each type. +communication mode *multi* instead. Since the communication +cutoffs are determined per atom collections, a collection specifier is needed and +cutoff for one or multiple collections can be extended. Also ranges of collections +using the usual asterisk notation can be given. +Note that the arguments for *cutoff/multi* are parsed right before each +simulation to account for potential changes in the number of collections. +Custom cutoffs are preserved between runs but if collections are redefined, +one may want to respecify communication cutoffs. +For granular pair styles,the default cutoff is set to the sum of the +current maximum atomic radii for each collection. +The *cutoff/multi/old* option is similar to *cutoff/multi* except it +operates on atom types as opposed to collections. -The *multi/reduce* option applies to *multi* and sets communication -cutoffs for different sized particles based on the largest interaction distance -between two particles in the same multi grouping. This reduces the number of +The *reduce/multi* option applies to *multi* and sets the communication +cutoff for a particle equal to the maximum interaction distance between particles +in the same collection. This reduces the number of ghost atoms that need to be communicated. This method is only compatible with the -*multi* neighbor style and requires only half neighbor lists and Newton on. +*multi* neighbor style and requires a half neighbor list and Newton on. See the :doc:`neighbor multi ` command for more information. These are simulation scenarios in which it may be useful or even diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index c6f573ef08..6ee21d7419 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -14,7 +14,7 @@ Syntax .. parsed-literal:: - keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* or *multi/custom* + keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* or *collection/type* or *collection/interval* *delay* value = N N = delay building until this many steps since last build *every* value = M @@ -47,9 +47,12 @@ Syntax N = max number of neighbors of one atom *binsize* value = size size = bin size for neighbor list construction (distance units) - *multi/custom* values = N arg1 ... argN - N = number of custom groups - arg = N separate types or ranges of types (see below) + *collection/type* values = N arg1 ... argN + N = number of custom collections + arg = N separate lists of types (see below) + *collection/interval* values = N arg1 ... argN + N = number of custom collections + arg = N separate cutoffs for intervals (see below) Examples """""""" @@ -61,7 +64,8 @@ Examples neigh_modify exclude group frozen frozen check no neigh_modify exclude group residue1 chain3 neigh_modify exclude molecule/intra rigid - neigh_modify multi/custom 2 1*2 3*4 + neigh_modify collection/type 2 1*2,5 3*4 + neigh_modify collection/interval 2 1.0 10.0 Description """"""""""" @@ -192,8 +196,9 @@ atom can have. The *binsize* option allows you to specify what size of bins will be used in neighbor list construction to sort and find neighboring atoms. By default, for :doc:`neighbor style bin `, LAMMPS uses bins -that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor style multi `, the bins are 1/2 the size of the minimum pair -cutoff. Typically these are good values for minimizing the time for +that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor style multi `, +the bins are 1/2 the size of the collection interaction cutoff. +Typically these are good values for minimizing the time for neighbor list construction. This setting overrides the default. If you make it too big, there is little overhead due to looping over bins, but more atoms are checked. If you make it too @@ -201,19 +206,28 @@ small, the optimal number of atoms is checked, but bin overhead goes up. If you set the binsize to 0.0, LAMMPS will use the default binsize of 1/2 the cutoff. -The *multi/custom* option allows you to define custom groups of atom +The *collection/type* option allows you to define custom collections of atom types for the *multi* neighbor mode. By grouping atom types with similar cutoffs, one may be able to improve performance by reducing -overhead. You must first specify the number of custom groups N to be -defined followed by N ranges of types. The range can be specified as a +overhead. You must first specify the number of custom collections N to be +defined followed by N lists of types. Each list consists of a series of type +ranges separated by commas. The range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For example, if M = the number of atom types, then an asterisk with no numeric values means all types from 1 to M. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to M (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that any atom types not included in a custom group will be automatically -placed within a separate group. +Note that all atom types must be included in a custom collection. + +The *collection/interval* option provides a similar capability. +This command allows a user to define custom collections by specifying a +series of cutoff intervals. LAMMPS will automatically sort atoms into these intervals +based on their type-dependent cutoffs or their finite size. +You must first specify the number of custom collections N to be +defined followed by N values representing the upper cutoff of each interval. +This command is particularly useful for granular pairstyles where the interaction distance +of particles depends on their radius and may not depend on their atom type. Restrictions """""""""""" diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index 52d59dae75..bd58f7045d 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -56,13 +56,13 @@ the largest cutoff distance between any pair of atom types and a single set of bins is defined to search over for all atom types. This can be inefficient if one pair of types has a very long cutoff, but other type pairs have a much shorter cutoff. The *multi* style uses -different sized bins for groups of different sized particles. Different +different sized bins for collections of different sized particles. Different sets of bins are then used to construct the neighbor lists as as further described by Shire, Hanley, and Stratford :ref:`(Shire) `. This imposes some extra setup overhead, but the searches themselves -may be much faster. By default, separate groups of particles are defined +may be much faster. By default, separate collections of particles are defined for each atom type. For systems with two or more types with similar -cutoffs, one can reduce the extra overhead by defining custom groupings +cutoffs, one can reduce the extra overhead by defining custom collections using the :doc:`neigh_modify ` command. See the :doc:`comm_modify mode bytype ` command for compatible communication options that may be beneficial for simulations of this kind. diff --git a/examples/multi/in.colloid b/examples/multi/in.colloid index b332560777..835032f2e2 100644 --- a/examples/multi/in.colloid +++ b/examples/multi/in.colloid @@ -30,8 +30,8 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency neighbor 1 multi #multi/old -neigh_modify delay 0 multi/custom 2 1*4 5 -comm_modify mode multi multi/reduce +neigh_modify delay 0 collection/type 2 1*4 5 +comm_modify mode multi reduce/multi # colloid potential diff --git a/examples/multi/in.granular b/examples/multi/in.granular index 8f1743f90d..f43e9505e4 100644 --- a/examples/multi/in.granular +++ b/examples/multi/in.granular @@ -29,7 +29,7 @@ velocity all create 1.44 87287 loop geom neighbor 1 multi #multi/old neigh_modify delay 0 -comm_modify mode multi vel yes multi/reduce +comm_modify mode multi vel yes reduce/multi # colloid potential diff --git a/src/comm.cpp b/src/comm.cpp index 3f2d4ecde6..c84f0249ef 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -35,7 +35,7 @@ #include "update.h" #include - +#include #ifdef _OPENMP #include #endif @@ -59,6 +59,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) cutghostuser = 0.0; cutusermulti = nullptr; cutusermultiold = nullptr; + ncollections_prior = 0; ghost_velocity = 0; user_procgrid[0] = user_procgrid[1] = user_procgrid[2] = 0; @@ -339,24 +340,17 @@ void Comm::modify_params(int narg, char **arg) error->all(FLERR,"Use cutoff keyword to set cutoff in single mode"); if (mode == Comm::MULTIOLD) error->all(FLERR,"Use cutoff/multi/old keyword to set cutoff in multi/old mode"); - if (domain->box_exist == 0) + if (domain->box_exist == 0) error->all(FLERR, "Cannot set cutoff/multi before simulation box is defined"); - ncollections = neighbor->ncollections; - if (iarg+3 > narg) - error->all(FLERR,"Illegal comm_modify command"); - if (cutusermulti == nullptr) { - memory->create(cutusermulti,ncollections,"comm:cutusermulti"); - for (i=0; i < ncollections; ++i) - cutusermulti[i] = -1.0; - } - utils::bounds(FLERR,arg[iarg+1],1,ncollections,nlo,nhi,error); + + // save arguments so they can be parsed in comm->setup() + // ncollections can be changed by neigh_modify commands cut = utils::numeric(FLERR,arg[iarg+2],false,lmp); cutghostuser = MAX(cutghostuser,cut); if (cut < 0.0) error->all(FLERR,"Invalid cutoff in comm_modify command"); - for (i=nlo; i<=nhi; ++i) - cutusermulti[i] = cut; + usermultiargs.emplace_back(arg[iarg+1], cut); iarg += 3; } else if (strcmp(arg[iarg],"cutoff/multi/old") == 0) { int i,nlo,nhi; diff --git a/src/comm.h b/src/comm.h index 877941523c..2afdfd8765 100644 --- a/src/comm.h +++ b/src/comm.h @@ -33,6 +33,8 @@ class Comm : protected Pointers { double cutghost[3]; // cutoffs used for acquiring ghost atoms double cutghostuser; // user-specified ghost cutoff (mode == 0) double *cutusermulti; // per collection user ghost cutoff (mode == 1) + std::vector> usermultiargs; + // collection args for custom ghost cutoffs double *cutusermultiold; // per type user ghost cutoff (mode == 2) int recv_from_partition; // recv proc layout from this partition int send_to_partition; // send my proc layout to this partition diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index ca0fea8757..3cb841d20f 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -30,6 +30,7 @@ #include #include +#include using namespace LAMMPS_NS; @@ -194,12 +195,9 @@ void CommBrick::setup() if (mode == Comm::MULTI) { // build initial collection array - neighbor->build_collection(0); - - if(cutusermulti and ncollections != neighbor->ncollections) - error->all(FLERR, "Cannot change number of collections after defining comm_modify multi/cutoff"); - else ncollections = neighbor->ncollections; - + neighbor->build_collection(0); + ncollections = neighbor->ncollections; + // reallocate memory for multi-style communication at setup if ncollections change if(ncollections_prior != ncollections){ if(multilo) free_multi(); @@ -207,8 +205,24 @@ void CommBrick::setup() allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); + memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); + for(i = ncollections_prior; i < ncollections; i++) + cutusermulti[i] = -1.0; + ncollections_prior = ncollections; } + + // parse any cutoff/multi commands + int nhi, nlo; + for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { + utils::bounds(FLERR,it->first,1,ncollections,nlo,nhi,error); + if(nhi >= ncollections) + error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); + for (j=nlo; j<=nhi; ++j) + cutusermulti[j] = it->second; + } + usermultiargs.clear(); + double **cutcollectionsq = neighbor->cutcollectionsq; // If using multi/reduce, communicate particles a distance equal diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index accdbf7b04..c06ad52d6c 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -31,6 +31,7 @@ #include #include +#include using namespace LAMMPS_NS; @@ -182,12 +183,8 @@ void CommTiled::setup() if (mode == Comm::MULTI) { // build collection from scratch as it is needed for atom exchange neighbor->build_collection(0); - - if(cutusermulti and ncollections != neighbor->ncollections) - error->all(FLERR, "Cannot change number of collections after defining comm_modify multi/cutoff"); - ncollections = neighbor->ncollections; - + // allocate memory for multi-style communication at setup as ncollections can change if(ncollections_prior != ncollections){ memory->destroy(cutghostmulti); @@ -197,8 +194,24 @@ void CommTiled::setup() for(i = 0; i < maxswap; i ++) grow_swap_send_multi(i,DELTA_PROCS); + memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); + for(i = ncollections_prior; i < ncollections; i++) + cutusermulti[i] = -1.0; + ncollections_prior = ncollections; + } + + // parse any cutoff/multi commands + int nhi, nlo; + for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { + utils::bounds(FLERR,it->first,1,ncollections,nlo,nhi,error); + if(nhi >= ncollections) + error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); + + for (j=nlo; j<=nhi; ++j) + cutusermulti[j] = it->second; } + usermultiargs.clear(); double **cutcollectionsq = neighbor->cutcollectionsq; // If using multi/reduce, communicate particles a distance equal From 56841ba9123635e2da4302f4afb8ee7390231d39 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 2 Feb 2021 18:05:19 -0700 Subject: [PATCH 068/542] Fixing typo in pair gran, fixing bugs in communication and neighbor --- src/GRANULAR/pair_granular.cpp | 6 +++--- src/comm.cpp | 7 +++++++ src/neighbor.cpp | 2 +- src/nstencil.cpp | 1 + 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 0f1fbd49f3..e9da16c760 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -1831,9 +1831,9 @@ double PairGranular::atom2cut(int i) cut = atom->radius[i]*2; if(beyond_contact) { - int itype = atom->type[i] + int itype = atom->type[i]; if(normal_model[itype][itype] == JKR) { - cut += pulloffdistance(cut, cut, itype, itype); + cut += pulloff_distance(cut, cut, itype, itype); } } @@ -1856,7 +1856,7 @@ double PairGranular::radii2cut(double r1, double r2) for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ if(normal_model[i][j] == JKR) { - temp = pulloffdistance(r1, r2, i, j); + temp = pulloff_distance(r1, r2, i, j); if(temp > cut) cut = temp; } } diff --git a/src/comm.cpp b/src/comm.cpp index c84f0249ef..33e4b894d5 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -735,6 +735,13 @@ double Comm::get_comm_cutoff() maxcommcutoff)); } + // Check maximum interval size for neighbor multi + if(neighbor->interval_collection_flag){ + for(int i = 0; i < neighbor->ncollections; i++){ + maxcommcutoff = MAX(maxcommcutoff, neighbor->collection2cut[i]); + } + } + return maxcommcutoff; } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 16aca434f1..2671553a07 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -2655,7 +2655,7 @@ void Neighbor::build_collection(int istart) collection[i] = -1; for(icollection = 0; icollection < ncollections; icollection++){ - if(collection2cut[icollection] > cut) { + if(collection2cut[icollection] >= cut) { collection[i] = icollection; break; } diff --git a/src/nstencil.cpp b/src/nstencil.cpp index c6ed76b6eb..ca8c3156e3 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -354,6 +354,7 @@ void NStencil::create_setup() if (sy*binsizey_multi[bin_collection] < stencil_range) sy++; sz = static_cast (stencil_range*bininvz_multi[bin_collection]); if (sz*binsizez_multi[bin_collection] < stencil_range) sz++; + if (dimension == 2) sz = 0; stencil_sx_multi[i][j] = sx; stencil_sy_multi[i][j] = sy; From c94a740b4e5c3c800c0c30a6a26279c7cc0390c9 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 5 Feb 2021 16:43:52 -0700 Subject: [PATCH 069/542] Updating examples --- doc/src/Examples.rst | 2 + examples/multi/data.powerlaw | 20015 ++++++++++++++++ examples/multi/in.colloid | 2 +- examples/multi/in.granular | 16 +- examples/multi/in.powerlaw | 33 + examples/multi/log.30Nov20.colloid.intel.1 | 32 +- examples/multi/log.30Nov20.colloid.intel.4 | 30 +- .../multi/log.30Nov20.colloid.old.intel.1 | 30 +- .../multi/log.30Nov20.colloid.old.intel.4 | 32 +- examples/multi/log.30Nov20.granular.intel.1 | 142 +- examples/multi/log.30Nov20.granular.intel.4 | 150 +- .../multi/log.30Nov20.granular.old.intel.1 | 32 +- .../multi/log.30Nov20.granular.old.intel.4 | 34 +- examples/multi/log.30Nov20.powerlaw.intel.1 | 191 + examples/multi/log.30Nov20.powerlaw.intel.4 | 191 + src/nbin_multi.cpp | 5 +- 16 files changed, 20681 insertions(+), 256 deletions(-) create mode 100755 examples/multi/data.powerlaw create mode 100755 examples/multi/in.powerlaw create mode 100644 examples/multi/log.30Nov20.powerlaw.intel.1 create mode 100644 examples/multi/log.30Nov20.powerlaw.intel.4 diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 8a76dca66e..8bfc4ad573 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -108,6 +108,8 @@ Lowercase directories +-------------+------------------------------------------------------------------+ | msst | MSST shock dynamics | +-------------+------------------------------------------------------------------+ +| multi | multi neighboring for systems with large interaction disparities | ++-------------+------------------------------------------------------------------+ | nb3b | use of non-bonded 3-body harmonic pair style | +-------------+------------------------------------------------------------------+ | neb | nudged elastic band (NEB) calculation for barrier finding | diff --git a/examples/multi/data.powerlaw b/examples/multi/data.powerlaw new file mode 100755 index 0000000000..8d1239f18b --- /dev/null +++ b/examples/multi/data.powerlaw @@ -0,0 +1,20015 @@ +LAMMPS data file via write_data, version 24 Dec 2020, timestep = 400000 + +10000 atoms +1 atom types + +9.95143358025075 331.8139610404791 xlo xhi +9.95143358025075 331.8139610404791 ylo yhi +0 1 zlo zhi +0 0 0 xy xz yz + +Atoms # sphere + +5 1 53.3452 1 24.11983771564243 68.3864105656564 0 0 0 0 +16 1 27.0148 1 44.452300814629524 34.553717084559324 0 0 0 0 +17 1 25.5929 1 68.38354504971392 54.06475170935992 0 0 0 0 +37 1 16.0333 1 21.245215917793043 25.77572727368242 0 0 0 0 +8263 1 1.097 1 11.708192742157616 17.87628382394025 0 1 0 0 +3384 1 1.72 1 50.90886093789832 62.30285871322583 0 0 0 0 +1246 1 2.857 1 48.42720785177107 19.125614604813737 0 0 1 0 +163 1 7.4543 1 52.92059018138831 11.758077886663509 0 0 0 0 +166 1 7.4036 1 52.22842193013173 57.14032835838031 0 0 0 0 +168 1 7.3782 1 67.8997369874434 37.71308832601801 0 0 0 0 +6557 1 1.2369 1 11.295799175061966 44.30117186186906 0 1 0 0 +208 1 6.6527 1 61.1259176496811 36.19196224734089 0 0 0 0 +336 1 5.417 1 65.06953771853591 21.29750437142649 0 0 0 0 +346 1 5.3618 1 22.215439365950207 37.0147208031179 0 0 0 0 +5513 1 1.3496 1 57.12033179181392 10.64220332754185 0 0 0 0 +412 1 4.8776 1 17.672010595684508 40.11493119326499 0 0 0 0 +439 1 4.6882 1 71.11713930089661 21.10972952271469 0 0 0 0 +511 1 4.3207 1 61.99786200551653 15.7285378811011 0 0 0 0 +527 1 4.2767 1 51.578706654445845 20.727968822288982 0 0 0 0 +4272 1 1.5377 1 57.071595881584244 19.179812412376158 0 0 1 0 +543 1 4.2317 1 27.26359333718018 39.94157599264931 0 0 0 0 +562 1 4.1677 1 59.81433643375789 66.07528891967839 0 0 0 0 +567 1 4.1383 1 16.49975368111738 34.647919218460544 0 0 0 0 +569 1 4.1329 1 29.01334056124924 32.03678406685905 0 0 0 0 +600 1 4.0221 1 54.27815300580397 62.3600853316132 0 0 0 0 +5108 1 1.4029 1 73.73125627225376 19.677797581451607 0 0 0 0 +617 1 3.975 1 55.98574134419896 67.02182364027037 0 0 0 0 +629 1 3.9339 1 70.33990954744172 31.235263322465816 0 0 0 0 +632 1 3.927 1 59.10259779677181 20.90661579877451 0 0 0 0 +675 1 3.8345 1 67.43217050972282 25.075831741614678 0 0 0 0 +7224 1 1.1762 1 60.56971642466663 73.63795194238719 0 0 0 0 +781 1 3.6204 1 65.88843570308798 16.951378069907122 0 0 0 0 +816 1 3.5492 1 29.47255639818249 36.989781506165265 0 0 0 0 +818 1 3.5444 1 71.07247296695553 25.216862431845435 0 0 0 0 +826 1 3.5256 1 56.16977635130581 23.054438891951555 0 0 0 0 +839 1 3.4855 1 59.32150307446647 31.552032584430012 0 0 0 0 +844 1 3.4658 1 63.84742712072895 29.721610754958064 0 0 0 0 +848 1 3.4621 1 30.529974422317608 23.147962676957526 0 0 0 0 +917 1 3.3207 1 37.49425767354572 19.137889093582253 0 0 0 0 +924 1 3.3086 1 61.362409489439216 27.55964246321922 0 0 0 0 +936 1 3.2842 1 25.72506969645315 34.50534872289077 0 0 0 0 +980 1 3.2089 1 66.77355321573 31.18937461590332 0 0 0 0 +3643 1 1.6639 1 29.605676776639253 20.209519255093625 0 0 0 0 +7408 1 1.1605 1 13.145943365896626 22.862344767769148 0 1 0 0 +731 1 3.7184 1 11.371529623751211 11.959060629768377 0 1 1 0 +9783 1 1.0108 1 55.897218689184704 48.853888928147974 0 0 0 0 +1098 1 3.022 1 58.94523543151384 17.586632061296957 0 0 0 0 +1130 1 2.9764 1 40.52800802097554 19.85798344953009 0 0 0 0 +1146 1 2.9657 1 64.39536492055794 26.56603410929875 0 0 0 0 +1205 1 2.9015 1 59.54874892085466 41.223954711613175 0 0 0 0 +1238 1 2.8644 1 60.391561074062416 12.588040772385634 0 0 0 0 +1253 1 2.8463 1 53.14658405182607 46.639657557123265 0 0 0 0 +1292 1 2.8008 1 64.27675793080158 32.76015981503821 0 0 0 0 +1297 1 2.7955 1 13.094629597082976 39.590193617914004 0 0 0 0 +1304 1 2.7888 1 65.31832474321456 67.76499997369828 0 0 0 0 +1311 1 2.7798 1 58.34714272106967 44.18848063856835 0 0 0 0 +1335 1 2.754 1 48.44682319528975 48.80955370960881 0 0 0 0 +1343 1 2.7444 1 67.75502453412935 13.531572653521604 0 0 0 0 +1383 1 2.7011 1 14.14192126369561 37.05172821950583 0 0 0 0 +1387 1 2.6993 1 50.32521797991111 52.5105169682769 0 0 0 0 +1391 1 2.6917 1 36.98685331596068 21.92532627575025 0 0 0 0 +1452 1 2.6196 1 57.46494085658486 13.878431627474123 0 0 0 0 +1475 1 2.6 1 55.711876232464256 44.48686004946718 0 0 0 0 +1513 1 2.5624 1 32.542826509557635 21.034403230868637 0 0 0 0 +3866 1 1.6136 1 25.32673267191501 13.684962628572073 0 1 1 0 +1554 1 2.531 1 43.738257501410494 19.82037458257497 0 0 0 0 +4832 1 1.4446 1 37.30763014726111 15.487739846852724 0 0 1 0 +1686 1 2.4305 1 14.238865229922308 41.898168898809914 0 0 0 0 +977 1 3.2106 1 13.837933335626799 18.15398350428586 0 1 0 0 +6789 1 1.2137 1 45.32107423231822 10.648790727834042 0 0 1 0 +1802 1 2.3534 1 71.10607833186634 68.93014319970447 0 0 0 0 +4270 1 1.5379 1 27.411323497260785 11.733050451315393 0 0 1 0 +6333 1 1.2585 1 67.01888590159469 68.79339028698848 0 0 0 0 +1865 1 2.3223 1 32.98334217711584 24.563224315918916 0 0 0 0 +1886 1 2.3096 1 58.51045507819586 24.836502033882496 0 0 0 0 +7839 1 1.1265 1 28.17382673667021 18.962871414936934 0 1 0 0 +1904 1 2.2971 1 47.37375365147601 51.487721471809294 0 0 0 0 +1932 1 2.2815 1 58.860641198945295 10.640507503203354 0 0 0 0 +1989 1 2.2483 1 58.65282952323648 27.03318437492474 0 0 0 0 +2051 1 2.2085 1 71.72184232212858 33.97385419742032 0 0 0 0 +9606 1 1.0204 1 53.32694279678997 18.412033106710727 0 0 0 0 +2181 1 2.1455 1 57.205741786136855 63.23519743812247 0 0 0 0 +2205 1 2.1343 1 73.03800358711541 35.63994789353036 0 0 0 0 +2244 1 2.1187 1 34.69007620917871 21.68653644919963 0 0 0 0 +1803 1 2.3533 1 68.86352406384326 10.109035764573735 0 0 0 0 +2271 1 2.1066 1 67.23707947825095 28.664988930119456 0 0 0 0 +2286 1 2.101 1 55.548042629275166 15.693903799522793 0 0 0 0 +2313 1 2.0838 1 54.628652221417255 53.100230369407896 0 0 0 0 +7604 1 1.1438 1 48.46470414007908 10.134528052239032 0 0 1 0 +2370 1 2.0591 1 56.45825305691895 17.53321768302472 0 0 0 0 +8013 1 1.1137 1 12.629201801744236 30.164892400571038 0 1 0 0 +2408 1 2.0449 1 56.91322996355052 46.42044871252963 0 0 0 0 +2529 1 1.9999 1 12.558479091814647 43.29752886361088 0 0 0 0 +2545 1 1.9909 1 52.774709698422946 48.95961897372272 0 0 0 0 +6831 1 1.2093 1 69.59359535080002 73.92111797931956 0 0 0 0 +2561 1 1.985 1 63.690041011746466 41.19738951147974 0 0 0 0 +2600 1 1.9673 1 37.47368406895322 13.938876152000875 0 0 0 0 +2629 1 1.9572 1 51.60928524015589 50.4828747273608 0 0 0 0 +2631 1 1.9568 1 31.344273988415825 40.73268223724883 0 0 0 0 +2671 1 1.9414 1 71.62215517053401 28.444199174308785 0 0 0 0 +9959 1 1.0029 1 48.22589374839844 55.728121196880394 0 0 0 0 +7436 1 1.1582 1 11.031332812880011 18.747817463760057 0 1 0 0 +9538 1 1.0238 1 53.01981861384297 51.0237425755917 0 0 0 0 +2753 1 1.9103 1 59.27544711076752 28.968012818567274 0 0 0 0 +2767 1 1.9064 1 56.86225411216003 61.263311745631434 0 0 0 0 +2775 1 1.9047 1 60.00925437528187 69.07410626769179 0 0 0 0 +2797 1 1.894 1 64.22023491968085 13.654952374168497 0 0 0 0 +875 1 3.415 1 52.376560771544064 69.89474614345318 0 0 0 0 +2836 1 1.8833 1 22.738456722925328 40.7355421289515 0 0 0 0 +2843 1 1.8818 1 61.62286871809679 22.147370059597336 0 0 0 0 +6976 1 1.1962 1 26.756305864526546 16.81476365541611 0 1 0 0 +2887 1 1.8657 1 54.78432201904281 20.756872095852824 0 0 0 0 +3176 1 1.7715 1 61.809895167133945 68.21767765230811 0 0 0 0 +3012 1 1.8247 1 30.81496772328223 28.07266335722842 0 0 0 0 +3020 1 1.8199 1 35.370743826130045 23.454981545444063 0 0 0 0 +5165 1 1.3931 1 13.068972849695891 31.307728479189322 0 0 0 0 +3060 1 1.8099 1 30.89218637661062 29.82039574090449 0 0 0 0 +194 1 6.9422 1 45.29698442270533 15.428236752380577 0 0 0 0 +3114 1 1.7915 1 57.52125397032852 28.66520032771357 0 0 0 0 +3151 1 1.7783 1 70.08506953728582 18.082627093524398 0 0 0 0 +3175 1 1.7717 1 48.23523225448829 53.315837026914004 0 0 0 0 +3912 1 1.6057 1 52.46982743046355 72.33884924780489 0 0 0 0 +3218 1 1.7608 1 26.81570340649772 36.83385939366368 0 0 0 0 +3219 1 1.7606 1 73.0210962335243 29.58991374801558 0 0 0 0 +3258 1 1.751 1 65.72294153125323 12.772408724165027 0 0 0 0 +3285 1 1.7442 1 72.50547452480896 37.47897373026868 0 0 0 0 +3295 1 1.7414 1 62.6615337475886 12.798907532798363 0 0 0 0 +3303 1 1.7393 1 58.29137583953035 69.64218110116734 0 0 0 0 +3315 1 1.7361 1 18.555134318482324 36.98906884255766 0 0 0 0 +3336 1 1.7322 1 63.50255992892867 24.419941768035468 0 0 0 0 +3351 1 1.728 1 55.342698732238375 50.08662428560213 0 0 0 0 +3370 1 1.7234 1 55.48212571860288 19.128363582411225 0 0 0 0 +3396 1 1.7163 1 12.018682800699116 41.5396873586038 0 0 0 0 +3409 1 1.7124 1 30.179285378365478 34.579081872380115 0 0 0 0 +3418 1 1.7114 1 69.1808394077716 28.735486116493117 0 0 0 0 +3433 1 1.7087 1 56.71809031536441 25.57472666552483 0 0 0 0 +3855 1 1.6164 1 37.13554089163171 16.85695297329923 0 0 1 0 +3439 1 1.7061 1 55.09390097227477 47.76676114397607 0 0 0 0 +3440 1 1.7056 1 68.41779856995349 17.719598523644954 0 0 0 0 +2570 1 1.982 1 24.25998766458693 16.0566777493284 0 1 0 0 +3472 1 1.6992 1 63.56257263287335 18.181368434915115 0 0 0 0 +3475 1 1.6991 1 28.160084762531916 34.77899743316956 0 0 0 0 +1489 1 2.5899 1 56.215625327257406 70.2211586078717 0 0 0 0 +3549 1 1.682 1 61.28825559810334 42.5545683348196 0 0 0 0 +3590 1 1.6735 1 44.74892573141897 50.25101719478751 0 0 0 0 +3604 1 1.6702 1 56.71182252357444 27.19609377052764 0 0 0 0 +3788 1 1.6324 1 12.071221127943291 16.583444897809404 0 1 0 0 +9552 1 1.0232 1 19.958269199270543 34.82965817852319 0 0 0 0 +884 1 3.3819 1 11.137450505140139 20.984548024869177 0 1 0 0 +3723 1 1.6437 1 24.412754297769773 39.57042674202775 0 0 0 0 +4926 1 1.4289 1 15.666427591195982 15.502626929076149 0 1 0 0 +3806 1 1.628 1 31.26751396145635 25.50239861163295 0 0 0 0 +3889 1 1.61 1 61.748689715836015 31.034535400423213 0 0 0 0 +3893 1 1.6097 1 62.56349265902355 66.735017685162 0 0 0 0 +3976 1 1.5908 1 71.14823032396106 40.767363364779634 0 0 0 0 +3990 1 1.5888 1 57.32135580029972 15.965216884194383 0 0 0 0 +9799 1 1.0099 1 18.83608165636928 17.611021041672153 0 1 0 0 +4024 1 1.5786 1 68.33437689160718 22.532966926933614 0 0 0 0 +7643 1 1.1408 1 58.180089337146384 73.35878548859866 0 0 0 0 +4050 1 1.5744 1 49.12778795946305 50.81572835506739 0 0 0 0 +4137 1 1.5607 1 28.036234059717437 20.25841330263256 0 0 0 0 +7332 1 1.1679 1 51.9337563472829 61.36273687442941 0 0 0 0 +4100 1 1.5662 1 72.04136644945099 39.04200460216926 0 0 0 0 +4107 1 1.565 1 61.56287801492413 69.82033511849103 0 0 0 0 +6600 1 1.2315 1 23.144272636154263 17.35739940867616 0 1 0 0 +6043 1 1.29 1 53.551193229402195 67.91026530303162 0 0 0 0 +4138 1 1.5607 1 56.23480611035232 42.520720452909465 0 0 0 0 +4143 1 1.5597 1 52.87709986036984 17.1437954513278 0 0 0 0 +4180 1 1.553 1 29.77660956884373 41.52617003383597 0 0 0 0 +4190 1 1.5509 1 32.74835071647586 26.431009799816316 0 0 0 0 +4252 1 1.5421 1 24.63035651314462 41.05167727895035 0 0 0 0 +5554 1 1.3439 1 13.579977488448733 21.572036324606966 0 1 0 0 +4271 1 1.5379 1 53.45088832874617 23.514491880125387 0 0 0 0 +4323 1 1.5281 1 61.74850886664289 20.3998707312655 0 0 0 0 +8381 1 1.0883 1 11.138669939645524 14.311161589276917 0 1 1 0 +4989 1 1.4218 1 12.246479562050018 37.70565580183447 0 1 0 0 +4381 1 1.5182 1 64.29960615199721 11.998556094213566 0 0 0 0 +4382 1 1.5178 1 66.60749910870652 33.48768578888803 0 0 0 0 +533 1 4.2487 1 71.92775598865786 72.51680465558125 0 0 0 0 +4451 1 1.5063 1 57.68182015219624 42.245779578541736 0 0 0 0 +4461 1 1.5037 1 55.193126360881855 25.308694289205015 0 0 0 0 +4069 1 1.5714 1 59.449710687245656 72.93192183284526 0 0 0 0 +4480 1 1.5008 1 70.20491081970587 27.550855577543114 0 0 0 0 +4497 1 1.4979 1 57.99238024518637 38.69726652798251 0 0 0 0 +1954 1 2.2684 1 54.41477551346289 71.78626535778598 0 0 0 0 +4522 1 1.4941 1 34.273499729659974 20.00505093168272 0 0 0 0 +4527 1 1.4937 1 44.33624267238484 48.76648047809402 0 0 0 0 +8443 1 1.0848 1 14.387671790101248 33.155319969343964 0 0 0 0 +4624 1 1.4777 1 30.90401225323106 39.060554182952664 0 0 0 0 +4628 1 1.4773 1 58.701188304995036 15.450449370197434 0 0 0 0 +5637 1 1.3332 1 14.39398425363588 31.087628986508697 0 1 0 0 +4722 1 1.4601 1 38.98278014946694 21.421888883068615 0 0 0 0 +100 1 9.5786 1 31.84306867044279 15.10696651886963 0 1 1 0 +4735 1 1.4587 1 28.80760556533261 21.499264287507486 0 0 0 0 +6664 1 1.2255 1 70.20380794507888 70.4546177917392 0 0 0 0 +4762 1 1.4544 1 57.70263418856887 40.1080421534986 0 0 0 0 +4796 1 1.4496 1 46.08036561014387 19.446186441123523 0 0 0 0 +3436 1 1.7079 1 39.566949372720615 17.784106344382607 0 0 0 0 +4820 1 1.4459 1 62.784918579602724 39.817154835562434 0 0 0 0 +4868 1 1.4381 1 53.94543476423435 22.15722850306937 0 0 0 0 +4872 1 1.4378 1 68.40097377440583 27.448673426893937 0 0 0 0 +4893 1 1.4337 1 60.31811493877007 24.63499010647341 0 0 0 0 +4913 1 1.4304 1 62.4918028752624 25.54292245655283 0 0 0 0 +4950 1 1.4257 1 61.40052960573872 40.16840300968619 0 0 0 0 +4953 1 1.4255 1 68.88136012075763 67.4817414525294 0 0 0 0 +4998 1 1.4204 1 67.46310957104718 18.91232693583399 0 0 0 0 +5007 1 1.4198 1 53.87112039365382 16.069070357225563 0 0 0 0 +5046 1 1.4137 1 71.55378103122678 67.15160576911266 0 0 0 0 +5063 1 1.4107 1 19.08075706059839 35.57022177707187 0 0 0 0 +5068 1 1.4098 1 20.54694170459081 41.31978022345696 0 0 0 0 +9833 1 1.0086 1 69.42121675015684 72.07476038447479 0 0 0 0 +729 1 3.7291 1 73.95222437090042 32.127990884854306 0 0 0 0 +5123 1 1.3992 1 20.791013561568132 40.00252882155995 0 0 0 0 +2713 1 1.9259 1 54.5227766707165 17.591703133837974 0 0 0 0 +5190 1 1.3897 1 68.83820734387102 19.163496639701286 0 0 0 0 +5223 1 1.3863 1 73.43942235069349 38.98983753739385 0 0 0 0 +5259 1 1.3808 1 69.04397170029343 33.524315616585774 0 0 0 0 +5266 1 1.3805 1 25.52704538023627 37.73385179303943 0 0 0 0 +5286 1 1.3775 1 56.416856795508146 20.539759208087055 0 0 0 0 +9737 1 1.0132 1 54.53472465915833 69.75718129886587 0 0 0 0 +5363 1 1.3683 1 59.51027673851589 14.405244880762202 0 0 0 0 +5372 1 1.3675 1 72.82070254849516 40.208653261853314 0 0 0 0 +5374 1 1.3675 1 59.66363031888947 23.438562500992774 0 0 0 0 +5390 1 1.3651 1 50.621966698846535 48.597268496156026 0 0 0 0 +5437 1 1.3584 1 57.31676931852688 11.938236583950586 0 0 0 0 +5510 1 1.3498 1 54.00097743544999 19.36194835214913 0 0 0 0 +9068 1 1.0488 1 11.866797641309182 28.24284180391429 0 1 0 0 +3566 1 1.6774 1 46.5323469584031 11.362130565522143 0 0 1 0 +5545 1 1.3448 1 53.202799561610554 52.21677575714142 0 0 0 0 +5549 1 1.3442 1 62.08021485281408 41.322613268251175 0 0 0 0 +5576 1 1.3407 1 62.386074716056 19.127213305094227 0 0 0 0 +5587 1 1.3389 1 45.581370231040445 51.490643393266744 0 0 0 0 +5601 1 1.3372 1 50.15930963226708 49.842928182944426 0 0 0 0 +5694 1 1.3266 1 53.84457569018528 50.160630881271466 0 0 0 0 +8487 1 1.0818 1 50.921053345644474 63.730215499018676 0 0 0 0 +3679 1 1.6538 1 74.05929785120067 27.15913917133816 0 0 0 0 +5846 1 1.3101 1 65.6319348282737 28.260454017466596 0 0 0 0 +5856 1 1.3093 1 67.78719976835336 11.554567450842091 0 0 0 0 +5884 1 1.3063 1 56.88374675441005 41.17798602364711 0 0 0 0 +5932 1 1.3018 1 69.39793147483803 23.49981051867104 0 0 0 0 +5943 1 1.3005 1 58.87261241924439 63.53536063078179 0 0 0 0 +6006 1 1.2939 1 46.73407137058329 53.13096429844211 0 0 0 0 +6035 1 1.2911 1 74.07735610417832 20.915707125160367 0 0 0 0 +6036 1 1.291 1 19.109816197157294 34.12378645919833 0 0 0 0 +6063 1 1.2872 1 42.95869315987816 48.617892354499 0 0 0 0 +6094 1 1.284 1 60.96126662196444 29.820571512855555 0 0 0 0 +6124 1 1.2811 1 55.95756997300287 64.40272538323059 0 0 0 0 +6180 1 1.2743 1 61.845896080080074 24.364898781296816 0 0 0 0 +6181 1 1.2742 1 14.943456112261858 38.82241665235318 0 0 0 0 +6197 1 1.2718 1 68.73690183423496 15.2511360691707 0 0 0 0 +8759 1 1.0661 1 52.32828358323093 18.253960956928236 0 0 0 0 +6358 1 1.2561 1 55.231928768717296 51.56081371741774 0 0 0 0 +6428 1 1.2493 1 23.54178514999027 34.044574943402935 0 0 0 0 +6432 1 1.249 1 65.26152590703087 41.057000377393706 0 0 0 0 +6570 1 1.2355 1 29.401552564863803 28.419560695418422 0 0 0 0 +6575 1 1.2351 1 68.20790066654659 16.329733315660178 0 0 0 0 +6598 1 1.2316 1 65.85033285690255 14.306840981415604 0 0 0 0 +6626 1 1.2296 1 60.95122361724621 23.50399843203781 0 0 0 0 +6637 1 1.2287 1 17.09043050394789 37.191022375824815 0 0 0 0 +8056 1 1.1111 1 11.801377500197704 33.305068152472344 0 1 0 0 +6729 1 1.2196 1 57.42157209012741 64.87874208209207 0 0 0 0 +6782 1 1.2148 1 74.09533514015801 28.580197306909046 0 0 0 0 +6796 1 1.2127 1 32.21683020643173 27.676757016989527 0 0 0 0 +6803 1 1.2123 1 66.35073675433915 27.286952154086677 0 0 0 0 +6815 1 1.2107 1 70.24329825669525 67.35654985406137 0 0 0 0 +6839 1 1.2084 1 29.855621751929828 25.383200266965872 0 0 0 0 +9707 1 1.0148 1 64.33660627345225 39.88219873437153 0 0 0 0 +6956 1 1.1978 1 73.51479359484813 41.72467314253113 0 0 0 0 +6959 1 1.1977 1 72.39198104539517 41.350360544556196 0 0 0 0 +6962 1 1.1975 1 58.25390055271464 68.2152121048119 0 0 0 0 +6975 1 1.1962 1 42.38124809417982 18.521021882923474 0 0 0 0 +7008 1 1.1934 1 54.3608165077184 49.01227119763141 0 0 0 0 +8222 1 1.1002 1 14.653406023709762 16.189758255855086 0 1 0 0 +9845 1 1.008 1 54.27104031204927 68.79547830793256 0 0 0 0 +7112 1 1.1846 1 65.53721487716935 34.21209095780064 0 0 0 0 +7130 1 1.1835 1 70.11554297056705 34.102348522491035 0 0 0 0 +7162 1 1.1809 1 50.12031695980841 47.444572892784954 0 0 0 0 +7178 1 1.1799 1 56.50260811963256 47.95866127846621 0 0 0 0 +9973 1 1.002 1 71.48029064659276 35.55611718404336 0 0 0 0 +5300 1 1.3759 1 18.58705004728394 16.225217597515496 0 1 0 0 +7250 1 1.1739 1 62.52073880028277 23.3639430565633 0 0 0 0 +7257 1 1.1737 1 45.41304867227 20.534591456465492 0 0 0 0 +7264 1 1.1734 1 54.0679504014864 51.352892832466146 0 0 0 0 +7286 1 1.1721 1 41.20770042193526 17.88230406069535 0 0 0 0 +7291 1 1.1716 1 33.934134559826894 23.124349321894776 0 0 0 0 +7299 1 1.1709 1 41.37417874728591 16.71249791489505 0 0 0 0 +7327 1 1.1682 1 31.78844153623847 42.23073654308751 0 0 0 0 +7333 1 1.1678 1 32.81442830936017 22.849845446158675 0 0 0 0 +5167 1 1.3926 1 14.407598887766524 20.381644976926008 0 1 0 0 +7372 1 1.1638 1 52.2029089074234 52.92478535741576 0 0 0 0 +7379 1 1.1632 1 51.16576108725492 46.91635829209038 0 0 0 0 +7421 1 1.1595 1 31.46625573266205 26.80184773284914 0 0 0 0 +7460 1 1.1563 1 69.35414515213152 16.6548065373143 0 0 0 0 +7473 1 1.1549 1 72.46676769604105 27.1550403473535 0 0 0 0 +7496 1 1.1528 1 35.288653449518826 19.19275256975903 0 0 0 0 +7537 1 1.1497 1 53.94920147054847 44.87117389773805 0 0 0 0 +7574 1 1.1461 1 32.88858268074688 42.590387370654405 0 0 0 0 +7633 1 1.1419 1 60.05751420410935 43.23806447347882 0 0 0 0 +7648 1 1.1404 1 63.83632502159209 38.95354070106806 0 0 0 0 +7661 1 1.1392 1 61.255316011074115 25.400540864439783 0 0 0 0 +6751 1 1.218 1 11.399684272599906 15.405503760059457 0 1 1 0 +7697 1 1.1367 1 59.92041088160048 25.860438549729558 0 0 0 0 +7749 1 1.1324 1 63.84841784463263 66.57363530147254 0 0 0 0 +7758 1 1.1316 1 64.6084116533431 15.041683089282603 0 0 0 0 +7770 1 1.1308 1 15.879681880680259 42.47602751874353 0 0 0 0 +7786 1 1.1297 1 67.61400351883628 67.6431894376033 0 0 0 0 +7792 1 1.1293 1 69.30373787525687 26.637442454727047 0 0 0 0 +7814 1 1.1279 1 20.751709785701483 34.21826370651774 0 0 0 0 +7852 1 1.1248 1 15.978078002225343 37.614850503731176 0 0 0 0 +7895 1 1.1217 1 46.10811984082155 50.38478411600349 0 0 0 0 +7897 1 1.1216 1 41.440614308997965 14.343433686814205 0 0 0 0 +1959 1 2.2649 1 25.668258041680957 10.639979010437894 0 0 1 0 +7941 1 1.1186 1 62.45744403579221 32.17180596390706 0 0 0 0 +7984 1 1.1154 1 54.7420011679297 64.8468091746594 0 0 0 0 +8037 1 1.1123 1 51.64650813648305 47.926327768082736 0 0 0 0 +8053 1 1.1112 1 67.57248988777033 15.380157028172166 0 0 0 0 +8058 1 1.1106 1 68.28812143057664 32.602579482129066 0 0 0 0 +4785 1 1.4509 1 49.81526993183835 15.106957386458898 0 0 1 0 +8182 1 1.1023 1 46.63859786179851 49.440337420050625 0 0 0 0 +8202 1 1.1013 1 68.09348139417827 20.132183298486254 0 0 0 0 +8206 1 1.1012 1 61.4395371268538 18.363352410735246 0 0 0 0 +682 1 3.822 1 52.424762161520675 65.66078239590477 0 0 0 0 +8285 1 1.0959 1 64.7300559209138 34.94593732471057 0 0 0 0 +8410 1 1.0871 1 36.5832477645503 12.747051729933423 0 0 0 0 +8302 1 1.0944 1 28.958531633260943 29.460025464402523 0 0 0 0 +8319 1 1.0927 1 68.27629034051094 21.202787477651217 0 0 0 0 +8339 1 1.0911 1 42.262431945065735 20.753265962238107 0 0 0 0 +7940 1 1.1187 1 24.341209285147386 14.555072877747687 0 1 0 0 +9978 1 1.0014 1 52.69731419927677 15.929290644623904 0 0 0 0 +7425 1 1.1593 1 59.42662867958127 74.24744757396661 0 0 0 0 +7902 1 1.1211 1 69.21498347790907 71.06313932603871 0 0 0 0 +8455 1 1.0841 1 52.07899630689126 51.85585795009055 0 0 0 0 +997 1 3.1796 1 39.60036959427206 15.410264425191615 0 0 0 0 +9801 1 1.0099 1 26.483612591286672 32.496926798625616 0 0 0 0 +8536 1 1.0788 1 45.61781875229788 49.03773889737847 0 0 0 0 +8569 1 1.0769 1 30.29936953578687 26.436107426979234 0 0 0 0 +8580 1 1.0764 1 59.01416502765014 39.38080412711162 0 0 0 0 +1801 1 2.3544 1 58.10774729654746 71.63890594274832 0 0 0 0 +8638 1 1.0727 1 55.79812682762731 60.20660095452676 0 0 0 0 +8693 1 1.0703 1 10.664639176975667 41.245640659219845 0 0 0 0 +8715 1 1.069 1 61.41419440653717 32.36072568179989 0 0 0 0 +8740 1 1.0674 1 29.638409039831256 27.27101180808505 0 0 0 0 +8757 1 1.0664 1 72.66063744630077 66.65561046087707 0 0 0 0 +6758 1 1.2177 1 47.79260656364087 20.951878570561508 0 0 1 0 +8853 1 1.0599 1 35.70276494388808 20.406252351630457 0 0 0 0 +8871 1 1.0589 1 73.07386183934202 28.085746429959045 0 0 0 0 +1143 1 2.9682 1 50.62429310831002 17.270524405064922 0 0 1 0 +8894 1 1.0577 1 34.610662696155146 24.628751653329353 0 0 0 0 +8895 1 1.0575 1 30.920714818813646 20.328917073194976 0 0 0 0 +1831 1 2.3397 1 22.22481330299515 15.830507080042967 0 1 0 0 +8927 1 1.0562 1 67.85219964061419 33.541017457155 0 0 0 0 +8976 1 1.0539 1 61.02223977291159 19.340027542860643 0 0 0 0 +1615 1 2.4831 1 68.76734373242118 69.34958688485032 0 0 0 0 +9041 1 1.0504 1 58.42592091257335 23.22892685255807 0 0 0 0 +9042 1 1.0504 1 68.33420455988026 29.787769964936924 0 0 0 0 +5921 1 1.3027 1 46.636164117860034 20.617864193897454 0 0 1 0 +9118 1 1.0464 1 58.46201363320036 12.293089315091814 0 0 0 0 +9140 1 1.045 1 56.06868763378242 59.16154360135317 0 0 0 0 +9159 1 1.0441 1 64.88829764823895 24.608987481828386 0 0 0 0 +9177 1 1.043 1 58.38908934666269 33.567459052285166 0 0 0 0 +9200 1 1.0419 1 73.08812935194419 26.257742731662322 0 0 0 0 +9992 1 1.0003 1 52.05230399829189 73.5333266158029 0 0 0 0 +2504 1 2.0087 1 26.059232198861835 18.227574244973514 0 1 0 0 +9279 1 1.0378 1 47.746307729227624 54.64693922769045 0 0 0 0 +9282 1 1.0376 1 46.605060847584056 48.390775816303325 0 0 0 0 +9319 1 1.0352 1 72.40005510062406 69.95257977875255 0 0 0 0 +9802 1 1.0098 1 68.80708413430605 11.98809042533148 0 0 0 0 +8095 1 1.1076 1 51.90498889445043 63.271338800525236 0 0 0 0 +9322 1 1.035 1 51.74229479310154 15.74050839948212 0 0 0 0 +5183 1 1.3908 1 13.74435224353249 29.972755337254238 0 1 0 0 +9386 1 1.0316 1 54.23079562588574 24.51154926195754 0 0 0 0 +1020 1 3.1491 1 65.97173568753576 10.407360098378444 0 0 0 0 +2016 1 2.23 1 53.61810867721251 73.83185362234548 0 0 0 0 +9419 1 1.0296 1 49.362340695655305 54.094140120846816 0 0 0 0 +9452 1 1.0281 1 48.72568469183376 17.259201919634474 0 0 0 0 +9495 1 1.0262 1 57.70210738100442 30.030718367610557 0 0 0 0 +6188 1 1.2731 1 51.35045609003648 67.88485480592455 0 0 0 0 +6898 1 1.2023 1 48.93148900584643 21.197197254692878 0 0 1 0 +9031 1 1.0511 1 27.52550513461421 18.11854642399425 0 1 0 0 +4282 1 1.536 1 35.31547941629927 10.840384494093197 0 0 1 0 +1939 1 2.2766 1 20.22647172430011 16.760226172737546 0 1 0 0 +7474 1 1.1548 1 27.01855862157723 19.42752536044292 0 1 0 0 +7864 1 1.1236 1 12.045242668507543 19.057728323178186 0 1 0 0 +4663 1 1.4703 1 24.44883123852541 17.698910597737886 0 1 0 0 +4649 1 1.4736 1 63.36855238813352 68.59034026580593 0 0 0 0 +2250 1 2.1177 1 26.09598304226747 15.312731399426983 0 1 1 0 +8080 1 1.1086 1 25.568336096079353 16.803429433916637 0 1 0 0 +2405 1 2.0459 1 10.634740971716624 42.79094744247034 0 0 0 0 +6065 1 1.287 1 15.687673028461798 19.26305059550274 0 1 0 0 +6502 1 1.2429 1 51.01555874306049 73.00760449697358 0 0 0 0 +4000 1 1.5838 1 15.248745352755607 32.169570790215914 0 0 0 0 +2203 1 2.1351 1 60.23666297691747 71.05832220027293 0 0 0 0 +5086 1 1.4063 1 26.764780667917822 13.061103335168555 0 1 0 0 +9344 1 1.0338 1 24.48241919775945 12.612118048291755 0 1 1 0 +1036 1 3.1138 1 16.799086212086937 17.39366637476515 0 1 0 0 +2338 1 2.0738 1 48.228749336980805 12.046815562072657 0 0 1 0 +7031 1 1.1912 1 23.231956840004955 14.4076646269707 0 1 0 0 +9045 1 1.0501 1 49.0295193093086 13.58602403390093 0 0 0 0 +5318 1 1.3735 1 13.791905100269071 35.06737851053238 0 0 0 0 +4591 1 1.482 1 14.45472640506032 14.760671859315494 0 1 1 0 +5922 1 1.3022 1 13.491693372136025 15.97431733663512 0 1 0 0 +8315 1 1.0931 1 23.959198766422112 13.52947665851064 0 0 1 0 +9007 1 1.0524 1 13.203132035548613 20.187474871113174 0 1 0 0 +9277 1 1.0379 1 60.64622472669999 72.54861202499748 0 0 0 0 +6854 1 1.207 1 51.163641427393145 71.82306385166122 0 0 0 0 +9148 1 1.0448 1 36.002962166228244 11.889109477276122 0 0 1 0 +2234 1 2.1216 1 12.712004814470813 14.515531742175636 0 1 1 0 +5621 1 1.3345 1 25.62215236845327 12.33694583316481 0 0 1 0 +5233 1 1.3847 1 12.826323546883815 28.963658992522866 0 1 0 0 +1030 1 3.1257 1 11.607372584582128 35.568960447450806 0 1 0 0 +8444 1 1.0848 1 13.91711324919188 32.19328241122288 0 1 0 0 +8138 1 1.1053 1 13.411922592865242 13.151745577060927 0 0 1 0 +136 1 8.0108 1 65.08673092828835 72.99537169076937 0 0 0 0 +6424 1 1.2498 1 12.863356919924774 27.68547421590839 0 1 0 0 +3363 1 1.725 1 13.127074174583692 33.69319001845017 0 1 0 0 +5147 1 1.397 1 10.622901577072533 33.569190822355466 0 1 0 0 +1971 1 2.2576 1 56.28821867371628 73.00153596807873 0 0 0 0 +6928 1 1.1997 1 12.239265081250155 32.26686716408804 0 1 0 0 +323 1 5.5334 1 10.589566728626385 25.23244468842236 0 1 0 0 +9545 1 1.0235 1 10.17388546411359 44.24624272854598 0 1 0 0 +605 1 4.0029 1 62.48849799642173 9.978118644983557 0 0 0 0 +4261 1 1.5399 1 34.10226638566621 10.031575837286773 0 0 1 0 +19 1 22.7491 1 39.98338768452372 111.45321460762926 0 0 0 0 +42 1 15.4306 1 71.88832545375847 86.17260713934638 0 0 0 0 +3410 1 1.7123 1 27.42471371665939 133.7412345320699 0 0 0 0 +86 1 10.0392 1 23.701593682725772 104.3844606747349 0 0 0 0 +126 1 8.5499 1 20.410245902293973 117.62182645697116 0 0 0 0 +1118 1 2.9952 1 28.30572228787286 135.9256300274794 0 0 0 0 +141 1 7.8511 1 40.822703625490924 126.54191888820385 0 0 0 0 +149 1 7.7028 1 57.03986424212487 118.36959857381491 0 0 0 0 +170 1 7.3576 1 66.09899438508975 107.39123607530068 0 0 0 0 +183 1 7.1535 1 44.25013638783935 90.79166673695131 0 0 0 0 +196 1 6.9228 1 54.77126992613175 95.12677142142981 0 0 0 0 +7722 1 1.1347 1 17.317889081360445 137.356411351121 0 0 0 0 +210 1 6.6285 1 32.157845529454136 99.31486683905884 0 0 0 0 +219 1 6.5064 1 23.978007497873207 124.16991908691676 0 0 0 0 +223 1 6.4364 1 69.87107883035821 98.5955648385455 0 0 0 0 +244 1 6.2615 1 33.903369138664935 126.36960214622053 0 0 0 0 +263 1 6.108 1 57.09174884441002 86.31231850207158 0 0 0 0 +264 1 6.0937 1 57.321920639595625 101.53679704789637 0 0 0 0 +286 1 5.8578 1 50.78304134399049 80.9689959412817 0 0 0 0 +296 1 5.7976 1 63.839467490547754 97.23539573949964 0 0 0 0 +341 1 5.3799 1 65.09439582085574 114.456931091101 0 0 0 0 +353 1 5.3242 1 24.74874371574547 129.9803202527472 0 0 0 0 +361 1 5.2589 1 51.11938803878155 103.12285495807245 0 0 0 0 +9471 1 1.0273 1 53.8693266409344 129.0248754826232 0 0 0 0 +396 1 4.946 1 64.46992357655485 79.3813258303428 0 0 0 0 +397 1 4.9406 1 59.03710788953947 79.30369508021118 0 0 0 0 +411 1 4.8876 1 26.809211758255376 115.77437056616166 0 0 0 0 +489 1 4.4494 1 51.058342560083744 119.31723817067349 0 0 0 0 +534 1 4.2484 1 50.01561402406409 85.84313948240542 0 0 0 0 +544 1 4.2225 1 50.89388756980616 123.57361926293382 0 0 0 0 +546 1 4.2131 1 48.81611038299866 98.42154466262352 0 0 0 0 +550 1 4.1961 1 51.689663110238435 127.62008510206928 0 0 0 0 +8672 1 1.0712 1 59.716304429287725 75.28016466643618 0 0 0 0 +574 1 4.1145 1 43.28760224909147 96.4169216218708 0 0 0 0 +621 1 3.9539 1 60.85390987351848 125.50836339081053 0 0 0 0 +652 1 3.8853 1 60.16396733624219 91.65805891357004 0 0 0 0 +657 1 3.8757 1 15.639260865822083 126.67586823722483 0 0 0 0 +664 1 3.8557 1 55.64505888442711 127.36644683314033 0 0 0 0 +4718 1 1.4609 1 67.56372665540174 126.99679099221906 0 0 0 0 +683 1 3.8179 1 61.307763706270855 83.82357383636872 0 0 0 0 +9848 1 1.0077 1 52.59713978533841 91.9379052167879 0 0 0 0 +3350 1 1.7282 1 73.69389867294143 104.83370739411596 0 0 0 0 +763 1 3.6517 1 69.20993377171929 77.04820609629999 0 0 0 0 +767 1 3.6482 1 19.235207434054594 125.81748027192529 0 0 0 0 +772 1 3.6426 1 53.11370080677289 112.09924140852416 0 0 0 0 +791 1 3.6079 1 45.936428797872864 128.85850974824348 0 0 0 0 +867 1 3.4314 1 55.05843401492132 107.77579316960896 0 0 0 0 +886 1 3.38 1 20.685204426225376 137.56101470436792 0 0 0 0 +880 1 3.3897 1 56.54785798778572 110.76863190915064 0 0 0 0 +895 1 3.3646 1 60.82392919332631 107.05653936557636 0 0 0 0 +898 1 3.3585 1 48.204541639006926 126.23435226334936 0 0 0 0 +912 1 3.333 1 57.56170779588239 75.47324101546356 0 0 0 0 +2354 1 2.0666 1 63.73170729721023 125.05238662558465 0 0 0 0 +9643 1 1.0183 1 46.294894934090856 84.03808500183331 0 0 0 0 +1012 1 3.1586 1 59.57200488941447 96.34632499820252 0 0 0 0 +1014 1 3.1565 1 22.564225114561584 98.02247186628242 0 0 0 0 +1031 1 3.1251 1 71.23689410245385 107.92643980284171 0 0 0 0 +1059 1 3.0784 1 58.91187520569462 112.92439432769325 0 0 0 0 +1067 1 3.0623 1 30.889708706636263 122.03508470265176 0 0 0 0 +1099 1 3.0209 1 67.78153899784029 94.37344572718986 0 0 0 0 +9890 1 1.0055 1 21.155965880805535 99.53397291397941 0 1 0 0 +1121 1 2.9867 1 61.721735563967094 110.05720476589961 0 0 0 0 +1131 1 2.976 1 36.24099483714527 93.76442176526656 0 0 0 0 +1139 1 2.972 1 17.982573969890982 122.77797200638582 0 0 0 0 +1184 1 2.9227 1 57.930308828990015 123.44465504887016 0 0 0 0 +1191 1 2.9163 1 70.05739973926143 104.2176474349103 0 0 0 0 +1227 1 2.8794 1 27.49764589717072 99.29484914291511 0 0 0 0 +1310 1 2.7799 1 58.06328487264791 108.17240373824116 0 0 0 0 +1327 1 2.7606 1 26.87497719951226 120.65255821265605 0 0 0 0 +1119 1 2.9885 1 24.74762951123723 110.71491618024872 0 1 0 0 +9575 1 1.0218 1 27.7840985999132 128.91857520820452 0 0 0 0 +1390 1 2.6918 1 56.26270530083913 90.59675249867087 0 0 0 0 +1400 1 2.6823 1 45.351753274254456 99.02996124042994 0 0 0 0 +1405 1 2.6748 1 27.295419787554366 111.70827533145537 0 0 0 0 +1454 1 2.6162 1 25.038758199577437 96.7275449331631 0 0 0 0 +1465 1 2.6063 1 35.73566002311975 96.46186561699164 0 0 0 0 +1466 1 2.6055 1 53.66588260102828 90.4972558745244 0 0 0 0 +9875 1 1.0061 1 53.83338649203799 101.67481322881913 0 0 0 0 +2292 1 2.0977 1 29.30499020063233 138.21444316825847 0 0 0 0 +9267 1 1.0383 1 67.3597474705182 120.70034529646013 0 0 0 0 +1534 1 2.5434 1 61.90942783774637 119.80199750310766 0 0 0 0 +6691 1 1.2233 1 73.9947892866668 75.61371377078873 0 0 0 0 +1585 1 2.5046 1 66.45333275026297 102.5365907623996 0 0 0 0 +1586 1 2.5042 1 61.51573210688693 102.11328450322567 0 0 0 0 +1589 1 2.502 1 62.09629228007615 104.50229829602074 0 0 0 0 +3118 1 1.7906 1 17.909757490080562 104.36648701458661 0 1 0 0 +1605 1 2.4876 1 28.23866365798491 122.77030097558799 0 0 0 0 +1613 1 2.4836 1 37.934366990064504 97.67235253884026 0 0 0 0 +1632 1 2.4657 1 29.137985497188893 96.04038215104228 0 0 0 0 +1648 1 2.4535 1 50.9683859835928 76.86353017413653 0 0 0 0 +1661 1 2.4463 1 72.46721491283952 103.14837503140355 0 0 0 0 +1668 1 2.4439 1 50.95228287618191 88.95794224447809 0 0 0 0 +7437 1 1.1581 1 66.27103835506469 127.20468241039218 0 0 0 0 +1718 1 2.412 1 61.85088442763658 89.03348890186082 0 0 0 0 +1726 1 2.4091 1 53.16520882290555 115.20127722584697 0 0 0 0 +1739 1 2.3971 1 27.76519712929198 126.37631589524696 0 0 0 0 +1760 1 2.3781 1 14.396295332719621 123.93454351805687 0 0 0 0 +1776 1 2.3708 1 46.83069984211878 101.0146581698986 0 0 0 0 +1845 1 2.332 1 54.424234871780854 104.99289394838722 0 0 0 0 +1877 1 2.3156 1 48.8739011562173 90.09765526548438 0 0 0 0 +4558 1 1.4879 1 65.1034940217164 120.73556384848196 0 0 0 0 +1892 1 2.3051 1 45.7234801833816 124.92565978491616 0 0 0 0 +1926 1 2.2859 1 47.58578864268018 121.30766756156406 0 0 0 0 +1931 1 2.2823 1 62.54149628690311 93.48908320348133 0 0 0 0 +7531 1 1.1504 1 15.223096367408825 136.31773420590574 0 1 0 0 +8162 1 1.1036 1 15.597394951309006 135.3430344174616 0 0 0 0 +6503 1 1.2428 1 10.914611903648833 121.35379556526068 0 1 0 0 +2010 1 2.2335 1 54.58627284937224 78.03287495017457 0 0 0 0 +4452 1 1.5062 1 30.49697799809173 135.60735029965556 0 0 0 0 +2029 1 2.2229 1 52.00643176984997 98.6651757494276 0 0 0 0 +2045 1 2.2145 1 58.65706076594151 127.64205707812003 0 0 0 0 +2048 1 2.2127 1 52.68728852747309 106.42855375121049 0 0 0 0 +2082 1 2.1914 1 55.08501576499979 122.81584375626386 0 0 0 0 +2085 1 2.1901 1 49.14556889368785 94.15896060598799 0 0 0 0 +2104 1 2.1818 1 42.42460916313296 99.33251064425458 0 0 0 0 +7108 1 1.1851 1 73.48051148877221 74.61782693926193 0 0 0 0 +4693 1 1.4656 1 22.59926139347188 110.81761754613058 0 1 0 0 +9859 1 1.0067 1 63.586806088047894 110.67679288823689 0 0 0 0 +2218 1 2.1281 1 53.35611753180261 121.60757911858849 0 0 0 0 +9775 1 1.0112 1 44.46483179072413 122.44553912791395 0 0 0 0 +2230 1 2.1237 1 60.828598642945096 76.33462426060639 0 0 0 0 +2270 1 2.107 1 55.612322163389145 79.93655344667128 0 0 0 0 +2296 1 2.0947 1 18.263975270395395 95.40921781535044 0 0 0 0 +975 1 3.2136 1 25.59041909145937 137.27719355486016 0 0 0 0 +2340 1 2.0722 1 20.33204094094001 96.06316310299836 0 0 0 0 +2342 1 2.0716 1 53.09895604600811 86.14566946228531 0 0 0 0 +2384 1 2.0542 1 25.45031541910564 118.86195428354029 0 0 0 0 +2396 1 2.0497 1 29.15639142781539 124.72478061279091 0 0 0 0 +2422 1 2.0399 1 21.072379350923587 127.96233232040969 0 0 0 0 +2459 1 2.0253 1 53.33347312598216 100.27688270463081 0 0 0 0 +2460 1 2.025 1 47.0811346542526 86.7643948811063 0 0 0 0 +2479 1 2.0171 1 33.07593198107756 94.62966122757926 0 0 0 0 +2484 1 2.0151 1 57.99641116363762 125.77425387316882 0 0 0 0 +2491 1 2.0134 1 28.12551733984658 108.28122556377917 0 0 0 0 +1970 1 2.2583 1 71.73650501801117 112.01369544895962 0 0 0 0 +2509 1 2.0069 1 48.54186013735913 92.20513413068973 0 0 0 0 +8000 1 1.1144 1 12.847127758796482 124.5819368618558 0 0 0 0 +2572 1 1.9805 1 30.288406643703997 129.47222567819443 0 0 0 0 +9548 1 1.0234 1 28.818634303014115 129.23835992181134 0 0 0 0 +2628 1 1.9573 1 28.692591018884375 119.2126799704712 0 0 0 0 +2650 1 1.9477 1 43.56898153218965 131.70554519953293 0 0 0 0 +2807 1 1.8913 1 40.60762363831382 95.19467920646863 0 0 0 0 +2817 1 1.8898 1 53.65156636625617 88.28431557365263 0 0 0 0 +630 1 3.9303 1 36.731241194924884 133.39958489169805 0 0 0 0 +2858 1 1.8771 1 67.82456209959587 111.63010808637351 0 0 0 0 +2903 1 1.8623 1 63.551423091044 91.72708352659726 0 0 0 0 +2961 1 1.8444 1 64.10232279158525 102.10968068667722 0 0 0 0 +2972 1 1.8411 1 46.89483406653872 96.18690696859736 0 0 0 0 +8778 1 1.0647 1 66.34215635213462 120.56151318861454 0 0 0 0 +3083 1 1.8053 1 63.35375070999536 87.22172954027464 0 0 0 0 +1545 1 2.5354 1 19.886515493610943 98.36085018992887 0 1 0 0 +3154 1 1.7782 1 56.68515952009115 81.61014096598818 0 0 0 0 +3163 1 1.7762 1 53.152006597639975 109.45056883960147 0 0 0 0 +3171 1 1.7731 1 33.22932923128349 121.63256031077353 0 0 0 0 +3177 1 1.7714 1 30.151073449398215 127.67159210529354 0 0 0 0 +1967 1 2.2607 1 74.16781067025387 98.82785343395923 0 0 0 0 +3201 1 1.766 1 40.475853790215716 99.20394774125072 0 0 0 0 +3207 1 1.7648 1 65.32501619929425 91.64769905706778 0 0 0 0 +929 1 3.2964 1 18.144559112837545 108.16894065829243 0 1 0 0 +3233 1 1.7567 1 35.351695739190625 122.71354310442749 0 0 0 0 +3237 1 1.7555 1 37.27269479346842 129.70216317120358 0 0 0 0 +3282 1 1.7447 1 23.123060249820334 95.76886228680888 0 0 0 0 +3283 1 1.7446 1 48.16067888902391 130.16518465108172 0 0 0 0 +3305 1 1.739 1 47.299099126170155 123.28954732003172 0 0 0 0 +3470 1 1.6995 1 21.518019586694138 109.74240339627622 0 1 0 0 +3328 1 1.733 1 38.40524655727491 94.60932934052127 0 0 0 0 +3383 1 1.7202 1 53.045616438489674 76.82030559997827 0 0 0 0 +1879 1 2.3137 1 63.38829256422728 117.91019369665564 0 0 0 0 +3390 1 1.7178 1 62.17330389187847 112.34939302884067 0 0 0 0 +3432 1 1.7088 1 64.81098343538052 119.21443538103186 0 0 0 0 +3443 1 1.7052 1 54.634723974895174 76.08313682517701 0 0 0 0 +3448 1 1.7045 1 60.11046726042754 122.79847865955512 0 0 0 0 +3450 1 1.7041 1 29.460427215585224 117.56921814468994 0 0 0 0 +3455 1 1.7027 1 16.490017695765864 96.02233327409465 0 0 0 0 +3489 1 1.6957 1 58.89953510656175 94.07204803875884 0 0 0 0 +3505 1 1.6931 1 59.853122090435605 88.94526968177355 0 0 0 0 +3558 1 1.6793 1 55.56745735633946 112.97716114135413 0 0 0 0 +3561 1 1.6789 1 39.157041794631674 96.09700220963514 0 0 0 0 +3562 1 1.6783 1 61.72938995161468 81.15346784265361 0 0 0 0 +3594 1 1.6724 1 39.78437730705066 93.65408046782899 0 0 0 0 +3614 1 1.6686 1 45.69432607878148 122.96334248017087 0 0 0 0 +3616 1 1.6685 1 63.830217524480894 88.82799614952805 0 0 0 0 +3619 1 1.6673 1 47.269994478312555 84.92830903011415 0 0 0 0 +3622 1 1.6671 1 29.541972143227362 102.59759371404424 0 0 0 0 +3627 1 1.6663 1 71.73042791747343 110.15673769289756 0 0 0 0 +3638 1 1.6648 1 38.353027320461294 131.12667070871282 0 0 0 0 +3664 1 1.6571 1 71.66922768197566 95.01725795131317 0 0 0 0 +3685 1 1.6523 1 38.359593321416135 92.93730821129088 0 0 0 0 +3699 1 1.6473 1 60.79947689395994 94.32733860160974 0 0 0 0 +3760 1 1.6378 1 62.261766332751485 116.39595416046433 0 0 0 0 +3773 1 1.6347 1 24.150665454990456 113.98155498660088 0 0 0 0 +6297 1 1.2609 1 31.88358059243535 129.5234799827357 0 0 0 0 +3802 1 1.6285 1 25.48675983716923 112.85546174759843 0 0 0 0 +3809 1 1.6261 1 61.583271156318276 100.10867873479502 0 0 0 0 +3847 1 1.6174 1 41.22195342081955 131.24181279730035 0 0 0 0 +7356 1 1.1651 1 74.21745878762995 103.48249705626878 0 0 0 0 +3890 1 1.61 1 55.577144422224286 82.82235183632135 0 0 0 0 +6910 1 1.2012 1 33.8937206069771 136.15375109711508 0 0 0 0 +3947 1 1.5975 1 64.46646341521964 90.27728551190768 0 0 0 0 +3954 1 1.5955 1 48.17933510081077 83.60078270950704 0 0 0 0 +3999 1 1.5841 1 72.79724897920504 106.19482675813322 0 0 0 0 +4014 1 1.5807 1 30.384972117323684 118.84430564985223 0 0 0 0 +4041 1 1.5759 1 62.50112485451164 76.88558114671659 0 0 0 0 +7328 1 1.1682 1 11.171939733609348 123.36942494481362 0 0 0 0 +4086 1 1.5687 1 20.081338713757567 123.40565788182964 0 0 0 0 +4090 1 1.5683 1 53.70749300130501 124.02306301255224 0 0 0 0 +4108 1 1.565 1 28.57797256064848 101.2717532657502 0 0 0 0 +4112 1 1.5642 1 38.84443353097343 99.40827915452542 0 0 0 0 +4133 1 1.561 1 63.0422639018551 100.80082970412235 0 0 0 0 +9857 1 1.0069 1 16.347287271323573 97.33850227181048 0 1 0 0 +4174 1 1.5535 1 28.923336777599523 106.66380356737828 0 0 0 0 +4197 1 1.55 1 29.526215615814223 105.13113219631998 0 0 0 0 +4237 1 1.5439 1 36.13174819263345 100.0146476766755 0 0 0 0 +9755 1 1.0126 1 69.89169629992334 94.93987010052534 0 0 0 0 +4262 1 1.5397 1 40.513598183844394 96.96279614088074 0 0 0 0 +4269 1 1.5381 1 58.58309206577786 106.12029510610124 0 0 0 0 +9638 1 1.0186 1 32.17643158673042 133.06088801522864 0 0 0 0 +4286 1 1.5352 1 68.40891316791084 102.22257032889361 0 0 0 0 +6495 1 1.2435 1 20.295346161108018 108.80839364710302 0 1 0 0 +4351 1 1.5228 1 58.20786731965726 89.89924972881259 0 0 0 0 +735 1 3.7083 1 13.969367981212171 120.99151318030442 0 0 0 0 +4464 1 1.5032 1 60.54969334701038 121.28031091255933 0 0 0 0 +497 1 4.377 1 15.211503278991959 110.5998213642061 0 1 0 0 +10000 1 1 1 51.46386828757901 90.51418017242065 0 0 0 0 +4574 1 1.4852 1 59.71963515443456 98.63502618611244 0 0 0 0 +4578 1 1.4847 1 43.7723771646168 130.08021314742598 0 0 0 0 +4596 1 1.4808 1 24.7435680124254 98.74601836442277 0 0 0 0 +4622 1 1.4781 1 16.284803609059274 124.13092930221346 0 0 0 0 +6916 1 1.2006 1 19.676336038020857 128.69516936295818 0 0 0 0 +4658 1 1.4717 1 28.936668842281637 120.92751470532154 0 0 0 0 +4664 1 1.47 1 67.6180168266693 79.00890647982582 0 0 0 0 +4669 1 1.4694 1 30.77652947721138 124.23093645449055 0 0 0 0 +4698 1 1.4651 1 59.84007600937323 104.87301417448653 0 0 0 0 +4706 1 1.4641 1 57.35017778022795 105.27912618048964 0 0 0 0 +4726 1 1.4596 1 48.40824330303115 128.58993172002312 0 0 0 0 +4734 1 1.4588 1 63.47137213410877 85.60826728639616 0 0 0 0 +4746 1 1.4572 1 69.16675996238398 110.65825343386962 0 0 0 0 +4749 1 1.457 1 50.20430128836573 92.71738223165757 0 0 0 0 +6292 1 1.2615 1 64.82619504197658 126.28768276083332 0 0 0 0 +4792 1 1.4504 1 56.87741520839951 113.81067679279198 0 0 0 0 +4800 1 1.4489 1 50.887905953190916 106.37592148761861 0 0 0 0 +4809 1 1.4471 1 44.38809871411444 123.6666544676057 0 0 0 0 +9704 1 1.015 1 55.475009537277096 124.96057251958206 0 0 0 0 +4840 1 1.4429 1 73.49258418275835 97.1588607306852 0 0 0 0 +941 1 3.262 1 65.3676992096772 123.05500529542957 0 0 0 0 +4901 1 1.4321 1 62.168496601642204 86.21012881235713 0 0 0 0 +5515 1 1.3493 1 15.648193206608116 129.2087318319814 0 0 0 0 +4996 1 1.4208 1 63.38275865440265 82.32439938818676 0 0 0 0 +5011 1 1.4191 1 44.35945633500515 86.64131204165875 0 0 0 0 +5064 1 1.4105 1 31.36698438123257 119.88809836122141 0 0 0 0 +5081 1 1.4075 1 28.622861533083316 128.05229452249085 0 0 0 0 +8512 1 1.0801 1 26.964796497695072 109.3447545981984 0 1 0 0 +5106 1 1.4035 1 52.20600098916821 87.57625156503624 0 0 0 0 +5125 1 1.3991 1 51.73382035455099 108.91112958149183 0 0 0 0 +5141 1 1.3977 1 66.5322928575455 92.61183778953 0 0 0 0 +5144 1 1.3974 1 51.404438076854184 107.6356110190049 0 0 0 0 +5148 1 1.3967 1 71.41088483898969 105.77017602566349 0 0 0 0 +5153 1 1.3956 1 23.082970943017852 112.13012251449881 0 0 0 0 +5203 1 1.3882 1 47.49827698033493 94.75306126967057 0 0 0 0 +5226 1 1.3858 1 60.59007737122157 87.60426644871804 0 0 0 0 +2318 1 2.0805 1 18.048227313803725 111.92101134691914 0 1 0 0 +5745 1 1.3208 1 63.75303910243183 120.25066149363883 0 0 0 0 +5277 1 1.3789 1 68.0564525213307 103.56955781410507 0 0 0 0 +9438 1 1.0289 1 16.148725309306574 132.51532329303092 0 0 0 0 +6807 1 1.2117 1 33.06656540216643 133.6665872796726 0 0 0 0 +5364 1 1.3683 1 50.79002823255995 116.52406194497357 0 0 0 0 +5396 1 1.3642 1 64.30878265448858 93.71287190560176 0 0 0 0 +5405 1 1.3629 1 48.4073882282242 95.72814761503018 0 0 0 0 +5406 1 1.3628 1 51.344104250716526 115.3349267952467 0 0 0 0 +5419 1 1.361 1 50.6949648593719 94.90202047282588 0 0 0 0 +5536 1 1.3464 1 28.053429228239118 109.90491357273436 0 0 0 0 +5544 1 1.3452 1 68.16138282301884 115.81958078343273 0 0 0 0 +5556 1 1.3437 1 54.172437716945936 82.13636959917704 0 0 0 0 +5566 1 1.3421 1 47.496531013519586 93.45463389160196 0 0 0 0 +5589 1 1.3387 1 18.59861139894725 97.0275667865046 0 0 0 0 +5600 1 1.3373 1 41.82394571970756 94.2035201393305 0 0 0 0 +5608 1 1.3359 1 47.67293826198787 88.32318999456324 0 0 0 0 +5618 1 1.3349 1 48.61166004308454 101.12788328839156 0 0 0 0 +5629 1 1.3339 1 61.55631454243142 117.71597535722073 0 0 0 0 +5632 1 1.3336 1 21.3178493926858 111.23061213786141 0 0 0 0 +5645 1 1.3327 1 35.731754912734104 129.67722824263151 0 0 0 0 +5688 1 1.3277 1 49.72838613584213 95.81505267328548 0 0 0 0 +5699 1 1.3259 1 54.542925179744394 114.04762059710079 0 0 0 0 +8170 1 1.1028 1 16.854877868819695 129.09414544424672 0 0 0 0 +5710 1 1.3248 1 72.70420051287951 96.0334614639384 0 0 0 0 +5731 1 1.3228 1 26.45711991693527 95.53936480107991 0 0 0 0 +5733 1 1.3226 1 65.65916620952625 94.2336969521885 0 0 0 0 +5753 1 1.3201 1 66.65693140775663 100.70996038727957 0 0 0 0 +2870 1 1.8708 1 32.40437752514888 135.94017942885705 0 0 0 0 +5776 1 1.3164 1 29.56574779739595 126.31924812487233 0 0 0 0 +5779 1 1.3163 1 62.531740510686845 127.4885017545539 0 0 0 0 +3364 1 1.7248 1 21.625684287134835 112.67186895171712 0 1 0 0 +5878 1 1.3076 1 19.821516491476494 100.26450111294615 0 1 0 0 +5836 1 1.311 1 51.69770579699047 114.08101136877818 0 0 0 0 +5843 1 1.3103 1 54.524588399519395 99.17765713915786 0 0 0 0 +9658 1 1.0176 1 46.98494180872762 130.88023198958754 0 0 0 0 +5897 1 1.305 1 48.966127549128515 88.34557993800638 0 0 0 0 +5903 1 1.3046 1 60.37321231206112 103.61467713177167 0 0 0 0 +5933 1 1.3017 1 61.747770068016244 78.01492179425986 0 0 0 0 +5960 1 1.2989 1 24.862255836505113 120.39984616453137 0 0 0 0 +5985 1 1.2963 1 42.51380659585147 130.6549673586851 0 0 0 0 +2128 1 2.1659 1 16.064784020761905 103.92707994132375 0 1 0 0 +6001 1 1.2943 1 64.04460147311845 127.29707946234035 0 0 0 0 +6009 1 1.2935 1 68.13579890947813 113.15295440493898 0 0 0 0 +6022 1 1.2922 1 63.80739474349469 103.77707264866973 0 0 0 0 +6033 1 1.2912 1 70.19235879310345 112.8348804332055 0 0 0 0 +7343 1 1.1667 1 17.393108281968626 97.06109289930724 0 1 0 0 +6069 1 1.2866 1 53.22182018257344 83.53355592151607 0 0 0 0 +6083 1 1.2851 1 51.02062470589703 91.63052637400227 0 0 0 0 +5754 1 1.32 1 70.41496888807826 74.87466303152567 0 0 0 0 +8825 1 1.0617 1 24.17429594207685 112.64815175082643 0 1 0 0 +6121 1 1.2812 1 47.54032670337366 82.33703990043641 0 0 0 0 +6135 1 1.2802 1 56.60432849471283 125.04146980741133 0 0 0 0 +6150 1 1.2782 1 37.564624935302426 95.83928785600571 0 0 0 0 +6155 1 1.2776 1 16.710803473363548 114.47703232230926 0 0 0 0 +6185 1 1.2736 1 52.039081891452575 116.61389336807267 0 0 0 0 +1675 1 2.4413 1 19.655196335499408 110.48144745750947 0 1 0 0 +6195 1 1.2719 1 46.23730988484281 94.4815842992375 0 0 0 0 +9566 1 1.0221 1 60.24075977949743 127.89366516342476 0 0 0 0 +9680 1 1.0165 1 28.03855462604047 129.87326569447416 0 0 0 0 +9625 1 1.0195 1 45.1614285715736 100.81751307925673 0 0 0 0 +9645 1 1.0182 1 52.87794164836354 117.30911542232701 0 0 0 0 +6311 1 1.2601 1 50.97699298067825 99.97471175215995 0 0 0 0 +6322 1 1.2591 1 52.92090693367895 78.24582846053919 0 0 0 0 +6352 1 1.2568 1 22.87247113481464 113.41528824536933 0 0 0 0 +6353 1 1.2568 1 37.82467323194608 123.21682126278711 0 0 0 0 +6412 1 1.2505 1 30.511660412844112 104.0306415787677 0 0 0 0 +6462 1 1.2466 1 72.53787755728945 101.31884030778122 0 0 0 0 +8983 1 1.0535 1 10.809969613521016 114.42756296396759 0 1 0 0 +6506 1 1.2425 1 70.8737955134941 102.28134220439803 0 0 0 0 +6537 1 1.2385 1 52.15569456037183 84.19117042390441 0 0 0 0 +6608 1 1.231 1 51.52680617878919 92.7422289754508 0 0 0 0 +8261 1 1.0972 1 65.25652276619266 125.20174947201531 0 0 0 0 +6614 1 1.2307 1 39.2750914633207 91.05016156424556 0 0 0 0 +9617 1 1.0198 1 21.76828641717061 95.48429424058126 0 0 0 0 +8251 1 1.0978 1 18.806991023068235 128.09150515176668 0 0 0 0 +6704 1 1.2217 1 45.88326301349664 85.03954084291964 0 0 0 0 +6713 1 1.2211 1 43.40247600464972 122.86206030417794 0 0 0 0 +6759 1 1.2174 1 54.27363939866218 80.86475480525922 0 0 0 0 +6399 1 1.2519 1 17.132165391131657 102.10496802366097 0 1 0 0 +9800 1 1.0099 1 53.12236632627791 84.65662744079613 0 0 0 0 +6813 1 1.2108 1 55.81225158661074 76.87040440732581 0 0 0 0 +9190 1 1.0424 1 66.820761516796 121.537552955204 0 0 0 0 +6848 1 1.2078 1 56.999458019885296 106.53506691497434 0 0 0 0 +6498 1 1.2433 1 30.879514670726614 137.73541578343955 0 0 0 0 +1182 1 2.9258 1 62.374895318562665 122.47595211259743 0 0 0 0 +6886 1 1.2035 1 59.42684630865932 82.25687454909212 0 0 0 0 +6909 1 1.2013 1 52.98712574281592 125.18973252722459 0 0 0 0 +6944 1 1.1985 1 28.279479848310856 113.25913113250077 0 0 0 0 +6965 1 1.197 1 29.981970972831594 120.13560138888867 0 0 0 0 +6968 1 1.1967 1 36.98419901249905 124.11348254629097 0 0 0 0 +6969 1 1.1967 1 57.80152281238942 82.59397961879756 0 0 0 0 +7000 1 1.1942 1 31.519168207582272 94.55009153672921 0 0 0 0 +7029 1 1.1913 1 57.65011564158079 91.92774473989736 0 0 0 0 +7047 1 1.1896 1 65.35262057629336 93.06548317257025 0 0 0 0 +7071 1 1.1882 1 54.0122014976951 79.62678570581278 0 0 0 0 +7089 1 1.1871 1 69.2440866970129 113.62306862701708 0 0 0 0 +9924 1 1.0041 1 63.23456559546213 89.99671620793718 0 0 0 0 +8286 1 1.0958 1 30.120225452752752 136.84980085218822 0 0 0 0 +7113 1 1.1846 1 59.63279367697114 114.85760259175976 0 0 0 0 +7122 1 1.184 1 53.39155771512718 75.4534896032446 0 0 0 0 +7139 1 1.183 1 62.45843253274093 90.7107495457476 0 0 0 0 +7148 1 1.1825 1 16.823854665357302 94.635160853072 0 0 0 0 +7150 1 1.1824 1 41.814610278609194 132.5190009780668 0 0 0 0 +7152 1 1.1821 1 55.689588462015195 114.29430720682655 0 0 0 0 +7184 1 1.1794 1 54.42825382033789 125.16292836618763 0 0 0 0 +7191 1 1.179 1 16.021530075873528 115.60088220143713 0 0 0 0 +7197 1 1.1783 1 51.26137927667429 97.15884620727982 0 0 0 0 +7220 1 1.1765 1 69.79353330399033 109.50832338191498 0 0 0 0 +7221 1 1.1764 1 27.21376223220296 118.7433857174521 0 0 0 0 +7225 1 1.1761 1 66.28015996980066 99.5862693953101 0 0 0 0 +7228 1 1.1758 1 49.27133554643758 121.45922023245393 0 0 0 0 +7234 1 1.1755 1 52.27363209924794 75.63242960926354 0 0 0 0 +7242 1 1.1744 1 59.87460659502793 109.10690473809628 0 0 0 0 +7247 1 1.174 1 60.8491275296743 74.73301698140122 0 0 0 0 +7279 1 1.1727 1 34.599261555887146 94.97892996173583 0 0 0 0 +7282 1 1.1725 1 15.251225391839483 94.03821982881567 0 0 0 0 +3031 1 1.8173 1 66.53577536934341 125.76401479040861 0 0 0 0 +5859 1 1.3092 1 15.25280100537704 113.3583622301122 0 1 0 0 +4153 1 1.5579 1 61.687304609817886 114.94970218168731 0 0 0 0 +9490 1 1.0264 1 65.19730725861038 127.3470585271735 0 0 0 0 +2510 1 2.0067 1 18.581532520571724 101.34915455649235 0 1 0 0 +7367 1 1.1641 1 56.17707638717084 78.42334737910399 0 0 0 0 +7369 1 1.164 1 30.418073826118164 94.83116191137314 0 0 0 0 +7376 1 1.1635 1 60.57474433973897 114.22144908943422 0 0 0 0 +7380 1 1.163 1 63.41157723923458 111.70011078355851 0 0 0 0 +7388 1 1.1624 1 27.596341393473352 95.32609993174916 0 0 0 0 +7399 1 1.1615 1 73.23890305581085 100.2413921522075 0 0 0 0 +7401 1 1.1612 1 64.48094481781618 111.28407333223196 0 0 0 0 +7402 1 1.1611 1 72.68131136262232 77.81764159036152 0 0 0 0 +7405 1 1.1608 1 60.95728933334443 116.49273962067828 0 0 0 0 +5209 1 1.3876 1 17.654911683898327 128.18319981148537 0 0 0 0 +2978 1 1.8398 1 26.150572437830494 134.8705901118313 0 0 0 0 +7432 1 1.1584 1 58.51534741878397 98.16074371427837 0 0 0 0 +7449 1 1.1571 1 55.24079431221527 81.50868280653184 0 0 0 0 +7490 1 1.153 1 58.792577243313644 110.84371555820142 0 0 0 0 +7510 1 1.1518 1 45.56120184559707 86.87206578714257 0 0 0 0 +7513 1 1.1517 1 16.184716338131437 119.99901689534353 0 0 0 0 +7523 1 1.1509 1 40.44579878179132 92.40743880358959 0 0 0 0 +7555 1 1.148 1 67.0423093834242 96.22589694100698 0 0 0 0 +7580 1 1.1454 1 61.01879421783942 113.18937723994415 0 0 0 0 +7637 1 1.1414 1 56.02400056886335 124.06881271134498 0 0 0 0 +6085 1 1.2846 1 19.206868737129394 135.85965479376637 0 0 0 0 +7653 1 1.14 1 51.834453046013735 110.13492357804047 0 0 0 0 +7684 1 1.1377 1 64.11949920850138 83.3470397424821 0 0 0 0 +7694 1 1.1369 1 58.807994104099706 83.18474712187633 0 0 0 0 +7730 1 1.1344 1 54.24799898615475 103.30870499397214 0 0 0 0 +7754 1 1.1318 1 22.57753009948519 127.66778633215048 0 0 0 0 +7762 1 1.1314 1 69.70600454523061 102.30394335037501 0 0 0 0 +7763 1 1.1314 1 49.85749475142387 91.49004038830437 0 0 0 0 +7771 1 1.1308 1 36.722937238731795 122.93077103114632 0 0 0 0 +7773 1 1.1307 1 49.5317050031357 130.10660816382966 0 0 0 0 +7840 1 1.1265 1 64.88895604573275 103.34849473624087 0 0 0 0 +7929 1 1.1193 1 54.41476095557885 110.11271645591901 0 0 0 0 +2527 1 2.0007 1 18.29895553875832 129.6872870086587 0 0 0 0 +7336 1 1.1677 1 72.28110260100999 104.90385815302656 0 0 0 0 +7959 1 1.1172 1 65.40187689960011 100.27857702622615 0 0 0 0 +7965 1 1.1167 1 27.264341882147647 128.01707711863565 0 0 0 0 +7993 1 1.1149 1 40.17899193482652 90.34360771120414 0 0 0 0 +6037 1 1.2909 1 18.133208695474924 102.88833032370361 0 1 0 0 +8003 1 1.1143 1 33.964311776167015 95.91153215190401 0 0 0 0 +8029 1 1.1128 1 70.1418823416121 111.48987972268888 0 0 0 0 +8041 1 1.112 1 36.69813918952093 98.88768562682282 0 0 0 0 +8043 1 1.1117 1 26.262137032561398 127.19132800874397 0 0 0 0 +8046 1 1.1115 1 37.353823121529814 92.09101054078127 0 0 0 0 +8074 1 1.1093 1 54.099520316138396 84.37339558970645 0 0 0 0 +8091 1 1.108 1 54.366486689133666 83.32891866379275 0 0 0 0 +9929 1 1.004 1 49.558796145608625 77.80849359020516 0 0 0 0 +8108 1 1.1072 1 50.457690910778034 90.60787946331531 0 0 0 0 +8116 1 1.1066 1 30.423583531114932 125.52075671694266 0 0 0 0 +8127 1 1.1059 1 43.839378606331024 100.16764242729761 0 0 0 0 +8141 1 1.1051 1 63.70141143902875 84.36649860382943 0 0 0 0 +8181 1 1.1024 1 34.237938139921056 93.63228363282019 0 0 0 0 +8224 1 1.1001 1 63.17042481403392 126.49719362932036 0 0 0 0 +8240 1 1.0988 1 50.89114709562656 96.10341338790812 0 0 0 0 +8253 1 1.0976 1 41.06361986303942 93.32195100334951 0 0 0 0 +6725 1 1.2201 1 11.60764906064787 120.40020265522658 0 1 0 0 +8273 1 1.0966 1 49.535473093816975 129.05442310968368 0 0 0 0 +8287 1 1.0957 1 28.671199133769377 97.72880537883121 0 0 0 0 +8308 1 1.0941 1 60.170836921988816 111.3213377560476 0 0 0 0 +8317 1 1.0929 1 27.273935860773637 96.38722236923478 0 0 0 0 +8335 1 1.0919 1 17.04594907633507 120.99405189865844 0 0 0 0 +967 1 3.2215 1 17.26538323457641 99.20491092195226 0 1 0 0 +8372 1 1.089 1 33.974445074173325 122.75840518174343 0 0 0 0 +8377 1 1.0887 1 45.98119651371528 121.67863360038224 0 0 0 0 +8428 1 1.0861 1 64.01886889257784 121.39085281055105 0 0 0 0 +9571 1 1.022 1 36.84163546578874 128.42779973913557 0 0 0 0 +8432 1 1.0859 1 58.578044903995455 104.85058514945212 0 0 0 0 +8435 1 1.0857 1 46.3398796709923 97.48630486669742 0 0 0 0 +8439 1 1.0853 1 57.44959747889782 98.0031223638982 0 0 0 0 +8462 1 1.0837 1 27.66861550990501 97.3538246283554 0 0 0 0 +8475 1 1.0827 1 45.68711131239873 95.52077776474356 0 0 0 0 +6838 1 1.2085 1 68.50314901288785 114.58462798211198 0 0 0 0 +8491 1 1.0815 1 46.01532929254203 126.55396895142638 0 0 0 0 +8504 1 1.0807 1 53.699797025670804 125.98858226718131 0 0 0 0 +8510 1 1.0802 1 47.99892097070011 102.30568839942043 0 0 0 0 +8530 1 1.079 1 31.339180725563917 103.09699223080645 0 0 0 0 +8542 1 1.0786 1 64.60640632204071 82.36291778181621 0 0 0 0 +8553 1 1.0778 1 58.08979790455037 92.95873265182165 0 0 0 0 +8584 1 1.0763 1 60.822577378981926 112.13003934990574 0 0 0 0 +5791 1 1.3152 1 16.459754378252388 136.47841615877067 0 0 0 0 +8613 1 1.0744 1 61.98217507001716 113.70006864627477 0 0 0 0 +8666 1 1.0715 1 58.9874120527246 109.77745440703272 0 0 0 0 +9953 1 1.003 1 69.68835745871641 94.00943930801608 0 0 0 0 +8701 1 1.0698 1 32.34820268206289 120.57305560050135 0 0 0 0 +8745 1 1.0673 1 56.12884909077486 105.83432885461004 0 0 0 0 +699 1 3.7858 1 33.68197425621975 131.2590050653511 0 0 0 0 +9934 1 1.0037 1 30.849692646624515 95.77744584032756 0 0 0 0 +3318 1 1.7357 1 18.520685569852265 131.50120147078505 0 0 0 0 +4936 1 1.4277 1 10.997725847522222 124.60812422049958 0 0 0 0 +8816 1 1.0624 1 41.26116752718918 98.0276606370396 0 0 0 0 +8823 1 1.0618 1 70.40393089306272 110.43957052814731 0 0 0 0 +8832 1 1.0614 1 35.83808269128011 98.26918383170563 0 0 0 0 +8845 1 1.0605 1 48.50280069594795 122.63350132591746 0 0 0 0 +8857 1 1.0597 1 60.34008951858208 99.72470813535246 0 0 0 0 +8862 1 1.0593 1 31.859235516042432 95.5539393173934 0 0 0 0 +8863 1 1.0592 1 45.05466536487884 85.70594417900283 0 0 0 0 +8881 1 1.0584 1 61.760358220633115 87.3390185914861 0 0 0 0 +8891 1 1.0579 1 72.79227769016374 94.34514553868829 0 0 0 0 +9449 1 1.0285 1 36.02016467315312 130.80474261223014 0 0 0 0 +8940 1 1.0557 1 37.011827634625874 131.0048064637013 0 0 0 0 +8955 1 1.055 1 39.73550961461808 98.00111335788493 0 0 0 0 +8971 1 1.0541 1 62.99678582975673 102.99247405414384 0 0 0 0 +8988 1 1.0532 1 45.12154985500893 94.69595428203792 0 0 0 0 +8484 1 1.0819 1 60.51591807157944 115.49756548670183 0 0 0 0 +6862 1 1.2066 1 39.75262393054373 130.89101339314513 0 0 0 0 +8960 1 1.0548 1 17.913887327179868 110.33644562857623 0 1 0 0 +9039 1 1.0505 1 48.38267312868456 119.85870591119948 0 0 0 0 +9077 1 1.0484 1 56.718098177690926 77.47656364459155 0 0 0 0 +649 1 3.8897 1 67.38038834602656 118.31514166676654 0 0 0 0 +7302 1 1.1704 1 69.21620149872695 112.14699917066433 0 0 0 0 +9116 1 1.0465 1 66.49144284989279 77.2044412646445 0 0 0 0 +4874 1 1.4374 1 11.78833231952529 122.27400741773471 0 0 0 0 +9133 1 1.0455 1 67.08157161452154 77.96197733582085 0 0 0 0 +9161 1 1.044 1 15.76048960267968 94.94340027772431 0 0 0 0 +9182 1 1.0429 1 16.229283976361057 121.59110955040133 0 0 0 0 +7641 1 1.1409 1 66.35128152977677 111.54506160013858 0 0 0 0 +9986 1 1.0008 1 14.244138352439855 103.11095197784181 0 1 0 0 +9215 1 1.0412 1 39.41156070976618 92.14846490953468 0 0 0 0 +9216 1 1.041 1 60.88624444293754 86.33270768971389 0 0 0 0 +9218 1 1.041 1 27.684757189958972 124.48197005016857 0 0 0 0 +9222 1 1.0408 1 50.971723988262625 93.73330205735593 0 0 0 0 +9232 1 1.0404 1 50.54584733223476 129.88109735719644 0 0 0 0 +4830 1 1.4448 1 17.607868285241647 113.5374978586784 0 1 0 0 +9280 1 1.0378 1 38.2922293597143 91.59219135072622 0 0 0 0 +9313 1 1.0355 1 59.772648550341195 110.38807335535778 0 0 0 0 +9320 1 1.0351 1 70.6323736048665 94.26483993693009 0 0 0 0 +9329 1 1.0346 1 64.39468323633184 100.65860960098415 0 0 0 0 +9340 1 1.0341 1 65.24368546385381 101.29377252711437 0 0 0 0 +2970 1 1.8422 1 19.873919258754675 112.53853320874165 0 1 0 0 +9352 1 1.0335 1 48.36368109312754 124.0927280440356 0 0 0 0 +9382 1 1.0317 1 15.769662475601963 100.61015461665639 0 0 0 0 +9400 1 1.0307 1 60.918484406056486 98.894445168207 0 0 0 0 +9420 1 1.0296 1 56.082503925602914 104.8287707417252 0 0 0 0 +9443 1 1.0287 1 25.884728143962594 98.29197250711094 0 0 0 0 +9650 1 1.0179 1 52.04849987730133 91.21106896687407 0 0 0 0 +9464 1 1.0276 1 20.73108898105317 122.34074679753601 0 0 0 0 +9469 1 1.0273 1 46.91974702352022 83.27279319811242 0 0 0 0 +124 1 8.6862 1 71.23921694763806 123.52893426123075 0 0 0 0 +8990 1 1.0531 1 29.025182889262265 130.28956094119866 0 0 0 0 +8402 1 1.0876 1 30.064398882553547 134.39330573314263 0 0 0 0 +2490 1 2.0135 1 15.500913214679432 102.03743591303625 0 1 0 0 +3672 1 1.6552 1 15.374376094226033 116.83151033033037 0 1 0 0 +4651 1 1.4733 1 15.825721347873866 122.74417667313973 0 0 0 0 +2621 1 1.9597 1 15.291836271532139 118.57807600420205 0 0 0 0 +1381 1 2.7016 1 72.10175390483032 75.95819924302978 0 0 0 0 +2348 1 2.0692 1 16.49364151415609 130.61255161062223 0 0 0 0 +2072 1 2.1973 1 16.801837106790387 105.91909109719553 0 1 0 0 +918 1 3.316 1 30.3080987423495 132.05709628690636 0 0 0 0 +1087 1 3.0351 1 20.662729432462722 130.47697569919816 0 0 0 0 +6242 1 1.266 1 15.52422300906605 114.52684728839914 0 1 0 0 +3474 1 1.6992 1 14.490063594410866 115.4571940122075 0 1 0 0 +3217 1 1.761 1 27.98738300151394 131.22147379508323 0 0 0 0 +9478 1 1.027 1 16.418842706439474 113.195174024789 0 1 0 0 +6510 1 1.242 1 18.428686317043717 136.90042652172787 0 0 0 0 +5896 1 1.3052 1 20.35001572946716 135.2976235133049 0 0 0 0 +8303 1 1.0943 1 28.194402702174962 132.60798294020844 0 0 0 0 +1551 1 2.5331 1 39.82628363100622 132.7138241725758 0 0 0 0 +4508 1 1.4956 1 13.169475675459575 125.79330032894357 0 0 0 0 +6619 1 1.2305 1 12.6394165432765 109.62475154031254 0 1 0 0 +5403 1 1.3631 1 27.621786711689033 138.2495932531318 0 0 0 0 +5798 1 1.3149 1 69.7458977565065 118.95206971429148 0 0 0 0 +5709 1 1.3248 1 12.777769265580785 123.16662762989746 0 0 0 0 +9266 1 1.0385 1 22.165749609505077 131.86800113551806 0 0 0 0 +6257 1 1.2643 1 27.003157993387287 132.34743514184976 0 0 0 0 +254 1 6.1669 1 71.89934113361059 116.11633107584156 0 0 0 0 +8860 1 1.0594 1 31.92714385332113 137.295319032531 0 0 0 0 +1178 1 2.9289 1 13.177541317637806 113.60811292295888 0 1 0 0 +5577 1 1.3406 1 73.81080939390814 119.28498578288648 0 0 0 0 +9125 1 1.046 1 73.78242708567008 94.15852547350663 0 0 0 0 +6225 1 1.2682 1 17.169158101938716 132.0335242761167 0 0 0 0 +4675 1 1.4683 1 11.042127609140797 113.2208290771811 0 1 0 0 +836 1 3.4952 1 17.514214272748198 134.298241240278 0 0 0 0 +5048 1 1.4137 1 28.93749669106769 133.885368301817 0 0 0 0 +4067 1 1.5716 1 55.30637479065429 74.61761337522094 0 0 0 0 +308 1 5.6892 1 12.968080673871368 106.22323426017068 0 1 0 0 +3503 1 1.6932 1 23.182434197735382 137.46335598748556 0 0 0 0 +5353 1 1.3692 1 25.953455162170336 133.14481421037203 0 0 0 0 +7428 1 1.1591 1 74.15902256127224 78.28179161030882 0 0 0 0 +5376 1 1.3671 1 20.958032236837603 132.58373055680627 0 0 0 0 +6096 1 1.2835 1 19.677882048082957 132.3837247660049 0 0 0 0 +7948 1 1.1183 1 34.225765653067306 133.6491698341864 0 0 0 0 +9509 1 1.0254 1 31.151386757005294 136.64762612027343 0 0 0 0 +3850 1 1.617 1 73.95252924090975 76.98856256884487 0 0 0 0 +4450 1 1.5064 1 33.67192863809258 134.83735303510474 0 0 0 0 +4770 1 1.453 1 11.373864275798994 109.30671947488409 0 1 0 0 +4660 1 1.4709 1 35.004302653626254 135.43742098473183 0 0 0 0 +9110 1 1.0468 1 12.014817361984912 124.00643407918298 0 0 0 0 +2298 1 2.0938 1 51.04258087337333 74.64391052110624 0 0 0 0 +2825 1 1.8868 1 31.54008071542888 134.31635657843395 0 0 0 0 +8915 1 1.0569 1 12.028462306795504 125.25612621203048 0 0 0 0 +3122 1 1.7876 1 20.052771115817563 133.83386245645102 0 0 0 0 +485 1 4.4667 1 23.078659915871697 134.4665487505344 0 0 0 0 +380 1 5.0732 1 11.75026027178593 117.30406859550882 0 0 0 0 +1384 1 2.7007 1 11.676026328116002 111.29455980961788 0 1 0 0 +8192 1 1.1019 1 22.156488610293287 139.1697495615825 0 0 0 0 +7128 1 1.1836 1 18.623224727476142 142.24307877071385 0 0 0 0 +5679 1 1.329 1 12.778583530535863 151.17467389926858 0 1 0 0 +8578 1 1.0765 1 13.145269885220944 149.97458762514069 0 1 0 0 +726 1 3.7336 1 23.483227688409713 141.13996174653317 0 0 0 0 +7619 1 1.143 1 26.743937524756443 139.1159472818217 0 0 0 0 +7438 1 1.1576 1 20.583962495647032 144.80528843877516 0 0 0 0 +3818 1 1.6234 1 11.676763028380847 140.0147350520448 0 0 0 0 +138 1 7.9495 1 13.47178247365922 144.40647542441246 0 0 0 0 +7147 1 1.1825 1 10.616107173180017 140.86548288816118 0 1 0 0 +1295 1 2.7964 1 18.79874444499939 144.17320245438498 0 0 0 0 +1591 1 2.5002 1 17.320364153519098 140.98528773911275 0 0 0 0 +1720 1 2.4103 1 21.27719291551182 143.21714683924998 0 0 0 0 +637 1 3.919 1 15.161856561706278 138.75592932209088 0 0 0 0 +9115 1 1.0465 1 10.124071290554882 151.79602952798754 0 1 0 0 +2301 1 2.0923 1 19.527782291624764 140.9247166071729 0 0 0 0 +9050 1 1.05 1 17.612144101841373 142.70201912049131 0 0 0 0 +2419 1 2.0415 1 17.968330452362377 146.38475744145777 0 0 0 0 +7934 1 1.119 1 12.994817741521132 139.92685547571884 0 0 0 0 +7177 1 1.1801 1 21.059829211639197 141.45140469122762 0 0 0 0 +9792 1 1.0101 1 17.13872824835124 147.65404213375945 0 0 0 0 +7526 1 1.1507 1 13.902227886972494 150.68303247185108 0 0 0 0 +3097 1 1.7976 1 14.545073773746545 149.3783969118651 0 0 0 0 +2385 1 2.0539 1 11.56209214471982 152.3341266845134 0 1 0 0 +3270 1 1.7472 1 15.98152466699913 148.38541356026366 0 0 0 0 +3309 1 1.7378 1 26.176537033423397 140.4154328360047 0 0 0 0 +3392 1 1.7172 1 21.080569204929194 140.0132714969193 0 0 0 0 +6078 1 1.2857 1 25.184234373853045 139.3924633782771 0 0 0 0 +8793 1 1.0638 1 19.715297832510863 142.4827609684673 0 0 0 0 +6641 1 1.2279 1 10.346080117896461 153.4094762484955 0 1 0 0 +7542 1 1.1489 1 13.165182246945701 148.89958218903405 0 0 0 0 +8762 1 1.0656 1 27.692821358791882 139.72453978232804 0 0 0 0 +744 1 3.6939 1 10.8559374998903 149.5682367511157 0 1 0 0 +9195 1 1.0422 1 24.191146165247638 138.8531174475231 0 0 0 0 +1958 1 2.2662 1 18.212524622443503 138.80431317766704 0 0 0 0 +7726 1 1.1347 1 23.14676656973177 138.79445142091453 0 0 0 0 +1 1 163.7888 1 71.60142128071288 209.4834933826116 0 0 0 0 +5282 1 1.3781 1 11.83349842952672 266.4261453510744 0 0 0 0 +1765 1 2.3752 1 10.334218660323593 265.39553690123614 0 1 0 0 +12 1 32.319 1 45.29370323033537 310.1755577752966 0 0 0 0 +18 1 25.1498 1 14.819054856461946 310.0633820013534 0 0 0 0 +50 1 13.2136 1 34.19580696712174 290.6616735997308 0 0 0 0 +58 1 12.4673 1 20.35125435705312 280.7972773050775 0 0 0 0 +63 1 11.7591 1 18.765246589787992 331.6241087499331 0 0 0 0 +116 1 9.135 1 40.35597132877712 331.2176437053975 0 0 0 0 +143 1 7.8305 1 59.7410232429355 296.41864439235235 0 0 0 0 +151 1 7.5959 1 58.080275795571616 325.23493001647057 0 0 0 0 +158 1 7.5128 1 16.410649479530104 289.9020132468334 0 0 0 0 +167 1 7.3828 1 27.849372934758676 300.7096386725048 0 0 0 0 +9740 1 1.0131 1 26.407827128090545 283.6772548555674 0 0 0 0 +205 1 6.7519 1 28.82934884842657 329.43438841858836 0 0 0 0 +234 1 6.3152 1 21.472424738138642 294.60733566026596 0 0 0 0 +238 1 6.2924 1 63.62087189750498 321.26779659794704 0 0 0 0 +260 1 6.1283 1 69.8952582028224 309.5800471973064 0 0 0 0 +299 1 5.7461 1 67.53251107039792 296.13343648464183 0 0 0 0 +322 1 5.5335 1 30.824991030249983 323.7565314134061 0 0 0 0 +325 1 5.5027 1 11.42871079233672 295.22959041315306 0 0 0 0 +386 1 5.0124 1 25.781034128170198 287.5586596259021 0 0 0 0 +1570 1 2.5183 1 49.31681497799664 330.3164426491664 0 0 -1 0 +5170 1 1.3924 1 73.4836362989095 308.5784254362717 0 0 0 0 +4586 1 1.4826 1 11.527212573270761 322.90583422350494 0 1 0 0 +622 1 3.9488 1 67.07368230576346 313.6841086058512 0 0 0 0 +6930 1 1.1997 1 71.83695295526188 329.9216318231562 0 0 -1 0 +636 1 3.9197 1 31.283976131284806 282.8157298745386 0 0 0 0 +788 1 3.6122 1 64.99588106539355 304.0599480096915 0 0 0 0 +799 1 3.5954 1 10.943475469659 290.8090973372282 0 0 0 0 +9834 1 1.0085 1 53.79549532662501 325.19553598951916 0 0 0 0 +821 1 3.5423 1 72.34646680805044 313.69467368438126 0 0 0 0 +854 1 3.4527 1 70.69177932757904 292.99661754643535 0 0 0 0 +869 1 3.4291 1 26.916771777470395 321.7393091071477 0 0 0 0 +874 1 3.4158 1 44.861179350447564 291.50725916501204 0 0 0 0 +877 1 3.4008 1 20.55171094436226 323.03924185780085 0 0 0 0 +6936 1 1.1993 1 47.35191980258997 326.80320618071295 0 0 -1 0 +945 1 3.2533 1 23.75470200035363 322.59105929108887 0 0 0 0 +1037 1 3.1125 1 27.65431198659825 295.4863950978531 0 0 0 0 +1044 1 3.0954 1 72.08754421009267 316.94659519004296 0 0 0 0 +7444 1 1.1572 1 13.446220510621362 273.3621397868404 0 0 0 0 +1112 1 2.9989 1 28.173072061498935 314.24110622622356 0 0 0 0 +1137 1 2.9732 1 57.69086716168198 291.5416852327139 0 0 0 0 +9285 1 1.0374 1 44.00276897744697 327.76475145936405 0 0 -1 0 +9407 1 1.0302 1 53.635421684299295 328.3149945399528 0 0 -1 0 +1206 1 2.8995 1 33.59512953015622 329.4078553036475 0 0 0 0 +5093 1 1.405 1 64.74152854885375 330.43215819141807 0 0 -1 0 +2337 1 2.0738 1 63.67796826613769 329.10570832592157 0 0 -1 0 +939 1 3.2646 1 16.985188397509937 272.5916788457337 0 0 0 0 +1275 1 2.8181 1 70.97340552649463 301.54831289409447 0 0 0 0 +1296 1 2.7962 1 49.13776859560737 289.551897467695 0 0 0 0 +1309 1 2.7828 1 23.26959850936329 325.53935716782826 0 0 0 0 +1312 1 2.7768 1 25.20354803116572 319.2624466897865 0 0 0 0 +5774 1 1.3168 1 15.197521560194746 326.1560145042415 0 0 0 0 +1341 1 2.745 1 45.516517832939925 288.51488312830554 0 0 0 0 +1342 1 2.7447 1 61.84789261196403 303.6241708841374 0 0 0 0 +7582 1 1.1453 1 32.867070692384715 331.78770022000435 0 0 0 0 +1385 1 2.7004 1 69.54250969569799 315.730060160015 0 0 0 0 +2546 1 1.9907 1 65.6604098727572 327.950551907246 0 0 -1 0 +1404 1 2.6784 1 65.16364701012677 308.85621089030116 0 0 0 0 +1417 1 2.6646 1 61.91478135749912 315.37864550469527 0 0 0 0 +1445 1 2.6284 1 70.63594133739365 298.87151861217035 0 0 0 0 +2102 1 2.1834 1 10.446323324110322 324.33729454398355 0 1 0 0 +1530 1 2.5464 1 60.39320564468755 301.51996754605466 0 0 0 0 +1666 1 2.4441 1 24.52654935733508 291.53633591484896 0 0 0 0 +1677 1 2.4408 1 64.47651404140986 300.7523269707676 0 0 0 0 +3039 1 1.8147 1 70.44118134391718 330.47288296850616 0 0 -1 0 +1683 1 2.4326 1 61.73402790029054 291.84792543029505 0 0 0 0 +7587 1 1.145 1 10.469635965032689 327.3466968132305 0 1 0 0 +1746 1 2.3871 1 63.75381298700273 326.94398311791235 0 0 0 0 +1752 1 2.3838 1 63.3183227342437 310.53459297932403 0 0 0 0 +1789 1 2.3619 1 47.27898405749842 293.0317753151394 0 0 0 0 +1828 1 2.3422 1 32.679030802894374 298.1131348311928 0 0 0 0 +1835 1 2.3375 1 12.02375951602743 287.7290866878728 0 0 0 0 +1868 1 2.3205 1 66.62707267500772 301.664109827984 0 0 0 0 +1872 1 2.3195 1 63.597820857218366 317.10312101890247 0 0 0 0 +1899 1 2.301 1 60.09414600601965 318.98626078816676 0 0 0 0 +1916 1 2.2894 1 41.943373003976205 286.9558859465633 0 0 0 0 +1929 1 2.2841 1 55.16878695159428 294.2701996455998 0 0 0 0 +1942 1 2.2747 1 55.199131387367665 290.79968704076975 0 0 0 0 +4083 1 1.5692 1 10.29586156698633 288.45300674444985 0 0 0 0 +1977 1 2.2552 1 70.52182797009905 305.5563376097275 0 0 0 0 +1980 1 2.2544 1 50.78950882185566 293.2008410628513 0 0 0 0 +2007 1 2.2352 1 23.094589497089817 289.74622722713025 0 0 0 0 +2019 1 2.2278 1 62.30875389324904 313.0045250820283 0 0 0 0 +2025 1 2.2241 1 62.760517305258084 308.384806413235 0 0 0 0 +2064 1 2.202 1 28.420242604096522 318.1558281191566 0 0 0 0 +2090 1 2.1881 1 64.21459051578985 306.74655208689575 0 0 0 0 +2109 1 2.1781 1 16.66800363902092 296.18849314249735 0 0 0 0 +2136 1 2.1612 1 17.996386063838862 324.83781786786375 0 0 0 0 +2233 1 2.1216 1 25.328550192097133 326.7541152777472 0 0 0 0 +2243 1 2.1187 1 34.78689978189079 327.32714859634154 0 0 0 0 +2279 1 2.1033 1 35.88325055572584 325.62322613034615 0 0 0 0 +2321 1 2.08 1 32.58316673338324 327.1369072619316 0 0 0 0 +2324 1 2.0777 1 27.490114412689454 280.2800624559196 0 0 0 0 +2325 1 2.0772 1 65.55600328839533 316.20362705573757 0 0 0 0 +2329 1 2.0763 1 26.709863303741734 291.81461408691655 0 0 0 0 +2336 1 2.0745 1 70.53003730559111 319.18319931954727 0 0 0 0 +9822 1 1.0088 1 61.96095010844797 329.38956221322076 0 0 -1 0 +2363 1 2.0615 1 31.20159735974113 319.99285954883646 0 0 0 0 +505 1 4.3556 1 10.313399439051555 330.0282696079338 0 0 0 0 +2374 1 2.0584 1 24.16105426663595 297.79334478767714 0 0 0 0 +2406 1 2.0453 1 68.51403785514898 319.5331654401828 0 0 0 0 +2439 1 2.0308 1 29.28434545445943 284.88991971527656 0 0 0 0 +2443 1 2.029 1 67.24991630430058 306.3820068844959 0 0 0 0 +2455 1 2.026 1 40.06899496015225 286.0241339713527 0 0 0 0 +4266 1 1.5384 1 67.51508440640248 330.63310336933665 0 0 -1 0 +2597 1 1.9698 1 51.485225575588025 289.8249142738304 0 0 0 0 +2613 1 1.962 1 23.385717895249748 299.6078603791624 0 0 0 0 +4056 1 1.5736 1 39.53260436715602 326.01460544052435 0 0 -1 0 +2705 1 1.9275 1 67.65147905408355 303.48034339075684 0 0 0 0 +2746 1 1.9121 1 21.073957818322505 289.35306627558424 0 0 0 0 +2760 1 1.9081 1 64.79997712079206 325.12632519324245 0 0 0 0 +2765 1 1.9068 1 28.261572813461843 310.57180767016 0 0 0 0 +2790 1 1.8974 1 28.615899335095985 281.87236694933864 0 0 0 0 +3453 1 1.7034 1 58.284026260536685 330.6416739950992 0 0 -1 0 +2826 1 1.886 1 64.15193092150196 294.4160237387448 0 0 0 0 +2841 1 1.8826 1 64.20855884565752 313.6827446726207 0 0 0 0 +2863 1 1.8733 1 68.68030825696302 301.9109611124812 0 0 0 0 +7767 1 1.1311 1 69.67088200920946 303.0012455544776 0 0 0 0 +2907 1 1.8617 1 25.57904317440475 324.28870132912186 0 0 0 0 +1202 1 2.9034 1 46.7026219019951 330.99948900460214 0 0 0 0 +2945 1 1.85 1 42.46446630021976 292.4011116366023 0 0 0 0 +5204 1 1.3881 1 13.256310964993173 272.11466433915297 0 0 0 0 +3095 1 1.7987 1 53.353985183301496 291.53617827543627 0 0 0 0 +5110 1 1.402 1 16.34357310093557 325.4545635458057 0 0 0 0 +3128 1 1.7851 1 18.020938871234318 322.9918364433062 0 0 0 0 +9829 1 1.0087 1 59.88097899909246 320.70694812854566 0 0 0 0 +3152 1 1.7783 1 51.440633669339185 326.0520336945626 0 0 0 0 +9350 1 1.0336 1 72.86776119961358 329.49993167208834 0 0 -1 0 +3246 1 1.7538 1 24.71629477583918 328.5573534583361 0 0 0 0 +3330 1 1.7327 1 29.15959109145516 320.554879585102 0 0 0 0 +3353 1 1.7271 1 62.47542825550296 300.287149792205 0 0 0 0 +3372 1 1.7232 1 66.63456347460657 299.7036725266369 0 0 0 0 +1826 1 2.3426 1 53.35503112728533 326.72575740243224 0 0 -1 0 +5905 1 1.3044 1 15.844197031997428 275.5993594070217 0 0 0 0 +3424 1 1.7105 1 33.826052934968736 325.7274004174422 0 0 0 0 +3441 1 1.7056 1 18.34560180822942 297.1137902916814 0 0 0 0 +3479 1 1.6982 1 32.0729930663668 299.83635148843445 0 0 0 0 +3491 1 1.6955 1 40.92075018047802 293.77038873653476 0 0 0 0 +3522 1 1.6887 1 34.36892105795217 324.15695537080904 0 0 0 0 +3532 1 1.686 1 53.51665542029069 293.22739561984486 0 0 0 0 +3541 1 1.6849 1 74.01703989866064 292.0410679216036 0 0 0 0 +3543 1 1.684 1 65.16130036326464 298.8897945267675 0 0 0 0 +6080 1 1.2854 1 16.705461640981095 323.7219977374271 0 0 0 0 +8920 1 1.0564 1 65.1856154055735 329.3440826861205 0 0 -1 0 +3613 1 1.6687 1 43.19576717529989 288.35569747294505 0 0 0 0 +3621 1 1.6672 1 25.39487826958122 294.88312844670196 0 0 0 0 +4720 1 1.4606 1 11.943903547187682 268.928345545585 0 0 0 0 +3669 1 1.6558 1 67.72817587361979 292.47772402167465 0 0 0 0 +3705 1 1.6457 1 69.17522563551772 304.2644188249622 0 0 0 0 +3710 1 1.6448 1 47.00546737565307 290.07941972357213 0 0 0 0 +7499 1 1.1524 1 12.861741540415805 329.1797857234851 0 0 0 0 +3730 1 1.643 1 30.293624393290862 317.98468767885447 0 0 0 0 +3780 1 1.6336 1 21.120931579932503 325.42578386041527 0 0 0 0 +3804 1 1.6282 1 21.018662605915274 298.36893521335196 0 0 0 0 +3814 1 1.625 1 51.68699911523852 291.5529700845321 0 0 0 0 +6227 1 1.2679 1 71.68118941256881 304.3623791946373 0 0 0 0 +3854 1 1.6164 1 60.74263533160595 317.15196785131536 0 0 0 0 +8948 1 1.0553 1 72.73615314990873 302.48244233867405 0 0 0 0 +3882 1 1.6111 1 27.102159789187997 282.60949524874803 0 0 0 0 +3887 1 1.6103 1 34.868570762664994 283.41321115706614 0 0 0 0 +3897 1 1.6088 1 21.48689869228054 287.6949071812008 0 0 0 0 +3861 1 1.6156 1 14.612314778935442 272.7211117958188 0 0 0 0 +3949 1 1.5968 1 64.35000394495118 292.6319307623913 0 0 0 0 +3962 1 1.5939 1 27.32019682132517 324.1490124847607 0 0 0 0 +3980 1 1.5901 1 63.0262616851081 325.1212899539414 0 0 0 0 +3993 1 1.5879 1 62.850081810175936 305.47966662805595 0 0 0 0 +4008 1 1.5819 1 23.313787096850046 320.28890130073034 0 0 0 0 +4033 1 1.5772 1 26.028422964250932 293.44988978120233 0 0 0 0 +3824 1 1.6219 1 12.33659032025167 324.19590065384085 0 0 0 0 +4085 1 1.5689 1 15.677504008891853 294.6160348596115 0 0 0 0 +9878 1 1.006 1 16.005910643856616 274.46278014870285 0 0 0 0 +4121 1 1.5632 1 54.14460762770604 295.81412924292476 0 0 0 0 +4144 1 1.5595 1 14.177933753674921 283.8705919845551 0 0 0 0 +3538 1 1.6852 1 12.74132705185826 267.59044619398594 0 1 0 0 +4168 1 1.5555 1 72.39314438076477 299.9367997295236 0 0 0 0 +6977 1 1.1961 1 19.151922689501085 273.1044063078201 0 0 0 0 +1110 1 3.0029 1 14.631276507788437 324.07603695380476 0 0 0 0 +4239 1 1.5436 1 73.57830802691822 301.56030560545497 0 0 0 0 +4246 1 1.5428 1 64.00217294121428 315.2957009847775 0 0 0 0 +9698 1 1.0154 1 17.89961169818059 293.86459566081277 0 0 0 0 +4268 1 1.5381 1 67.55722342196938 317.507609762463 0 0 0 0 +3094 1 1.7994 1 47.75836675567058 328.95999188681657 0 0 -1 0 +7056 1 1.1893 1 44.44485608563968 326.7992889183093 0 0 0 0 +4281 1 1.5361 1 64.42284614866766 312.06417996121525 0 0 0 0 +6516 1 1.2416 1 15.450879934403677 269.8897534516189 0 0 0 0 +4321 1 1.5286 1 53.08236204631761 294.75181837571466 0 0 0 0 +4342 1 1.5241 1 50.13439629659996 291.43996758501254 0 0 0 0 +4371 1 1.5198 1 69.19417828341125 300.3176991456558 0 0 0 0 +4411 1 1.5134 1 48.22629603158466 291.38530054619116 0 0 0 0 +4418 1 1.5122 1 13.530387864337648 285.20545512683043 0 0 0 0 +4488 1 1.5001 1 69.80770625415093 313.64323958661265 0 0 0 0 +4498 1 1.4977 1 66.83586336073363 319.0843914819925 0 0 0 0 +4509 1 1.4954 1 49.10333207664657 292.5180854722225 0 0 0 0 +4580 1 1.4839 1 29.164635470550667 280.31172732266623 0 0 0 0 +4705 1 1.4643 1 72.21620396871319 306.27006852655757 0 0 0 0 +8135 1 1.1054 1 37.19780679780338 324.7510199303083 0 0 0 0 +4759 1 1.4546 1 35.132218011872276 330.8944192036344 0 0 0 0 +7685 1 1.1374 1 41.922321242261695 326.4445819542367 0 0 -1 0 +1769 1 2.3732 1 13.816852877696325 269.2486376065189 0 0 0 0 +3661 1 1.6595 1 54.39122762300377 329.35839454893744 0 0 -1 0 +4856 1 1.4404 1 63.3436264421699 302.2384473980512 0 0 0 0 +4957 1 1.425 1 63.02226786315006 293.2318034500134 0 0 0 0 +5000 1 1.4202 1 20.635328899507808 290.91221694021783 0 0 0 0 +9888 1 1.0056 1 53.953049487060504 324.2825839958268 0 0 0 0 +5039 1 1.4152 1 13.452897208416745 286.6095855342802 0 0 0 0 +5047 1 1.4137 1 21.964461156791213 290.9277138769346 0 0 0 0 +9955 1 1.003 1 61.78047878225421 306.1864338481528 0 0 0 0 +5113 1 1.4015 1 74.20039561829734 310.90846091781873 0 0 0 0 +5121 1 1.3993 1 53.1567731598038 289.9700986220495 0 0 0 0 +5135 1 1.3982 1 25.015146431959362 296.3317022020865 0 0 0 0 +5303 1 1.3756 1 42.57536543445179 289.70543776362206 0 0 0 0 +5320 1 1.3734 1 41.58521752738065 288.7758886282374 0 0 0 0 +5343 1 1.3706 1 27.8635472800001 325.5090354210235 0 0 0 0 +5358 1 1.3687 1 28.659533823436433 316.40744254095034 0 0 0 0 +8494 1 1.0812 1 51.60628536702776 329.541874496748 0 0 -1 0 +5460 1 1.3551 1 29.503906670989902 296.6827206028345 0 0 0 0 +5492 1 1.3517 1 51.678124380297014 294.6986250427543 0 0 0 0 +5499 1 1.3505 1 72.60889226156498 319.02430382264544 0 0 0 0 +4806 1 1.4478 1 10.322850873977533 326.1045882090122 0 0 0 0 +5673 1 1.3296 1 27.22856349492165 319.4097627347729 0 0 0 0 +5695 1 1.3265 1 35.80879240926195 323.97049194575266 0 0 0 0 +5728 1 1.3231 1 49.16827599525757 293.87575906789 0 0 0 0 +4728 1 1.4595 1 52.84064541181068 329.2254332929001 0 0 -1 0 +8625 1 1.0732 1 65.42209141806258 326.4581779003793 0 0 -1 0 +5792 1 1.3151 1 70.0412812491832 317.61796046133145 0 0 0 0 +5833 1 1.3112 1 19.67965006536277 325.18904536611217 0 0 0 0 +5857 1 1.3093 1 55.239578090397394 296.676639121208 0 0 0 0 +5865 1 1.3088 1 14.492087762251534 293.83399886892863 0 0 0 0 +5870 1 1.3085 1 12.848578114742875 292.2778306412169 0 0 0 0 +5890 1 1.3059 1 65.46947709566574 291.7801913550061 0 0 0 0 +5541 1 1.3455 1 55.69658729008844 330.0112129632261 0 0 -1 0 +108 1 9.414 1 70.41589327101323 324.8875030273334 0 0 -1 0 +5934 1 1.3015 1 63.892200692388066 298.2006364517678 0 0 0 0 +5978 1 1.2967 1 59.890024626129936 291.3605422395038 0 0 0 0 +5990 1 1.2959 1 25.150007612954646 330.8249952363287 0 0 0 0 +6062 1 1.2872 1 26.865050216120288 278.7647463538022 0 0 0 0 +6073 1 1.286 1 14.917157106513383 285.0317432869699 0 0 0 0 +9754 1 1.0127 1 38.455360247543645 325.33482872472564 0 0 -1 0 +9824 1 1.0088 1 60.048826067286356 331.44125007769725 0 0 -1 0 +6108 1 1.2828 1 72.97324741948167 320.2333137299198 0 0 0 0 +6158 1 1.277 1 56.54343965917484 293.25677367226825 0 0 0 0 +6171 1 1.2753 1 19.623351623944746 297.8355928441038 0 0 0 0 +6177 1 1.2748 1 61.98179075116167 317.86961905183136 0 0 0 0 +6190 1 1.273 1 41.41068014485934 291.25632087138433 0 0 0 0 +6230 1 1.2675 1 68.84195074558555 317.94338120087156 0 0 0 0 +6243 1 1.2659 1 44.02338811641446 287.2079776052027 0 0 0 0 +6262 1 1.2637 1 61.977545156150114 327.2886849387086 0 0 0 0 +6301 1 1.2608 1 26.72119882063864 317.9445194410265 0 0 0 0 +6308 1 1.2604 1 70.67081154965614 303.6284953255888 0 0 0 0 +6309 1 1.2604 1 27.02331175027595 284.5933857503348 0 0 0 0 +4583 1 1.4831 1 43.15817284513545 326.84107697403283 0 0 -1 0 +6406 1 1.251 1 28.287643365831844 307.3161602349108 0 0 0 0 +6453 1 1.2472 1 68.84964058396348 306.051846774687 0 0 0 0 +6486 1 1.2448 1 73.0353464103337 311.4427659701443 0 0 0 0 +9927 1 1.004 1 65.81005081901677 318.4221837040482 0 0 0 0 +6528 1 1.2402 1 37.50344387223031 325.86185867207735 0 0 0 0 +6533 1 1.2391 1 66.652717903841 311.2266616356018 0 0 0 0 +8009 1 1.1141 1 50.590631607611506 329.03039849803037 0 0 0 0 +6562 1 1.2362 1 35.8097091294598 328.63976809028736 0 0 0 0 +6644 1 1.2277 1 29.744556829937675 319.25278890196324 0 0 0 0 +6646 1 1.2275 1 64.14811777975368 295.9702502369684 0 0 0 0 +6650 1 1.2267 1 28.46142663359403 305.7068519592068 0 0 0 0 +6658 1 1.2264 1 22.749305950936037 287.1062738051948 0 0 0 0 +6670 1 1.225 1 66.34343808723037 292.8479711429407 0 0 0 0 +6698 1 1.2223 1 30.969003351790473 297.8132506916021 0 0 0 0 +6712 1 1.2212 1 36.412453363757706 327.6011639299903 0 0 0 0 +6736 1 1.2192 1 17.75444654225837 294.94612837366225 0 0 0 0 +6505 1 1.2425 1 72.87569748610451 307.4277840082818 0 0 0 0 +6760 1 1.2174 1 68.08719387065794 299.5371452697772 0 0 0 0 +6773 1 1.2156 1 43.84453533016257 289.5378104663295 0 0 0 0 +6788 1 1.2139 1 20.098215371695545 287.61708216018855 0 0 0 0 +9710 1 1.0146 1 14.532439218652677 286.0923242543255 0 0 0 0 +6793 1 1.213 1 54.688364011423864 292.44564774153247 0 0 0 0 +6820 1 1.2105 1 72.65568831496202 291.91946638008847 0 0 0 0 +6865 1 1.2053 1 33.58133202772699 322.0157185540504 0 0 0 0 +6872 1 1.2046 1 63.50575946099939 291.5517109263948 0 0 0 0 +6885 1 1.2036 1 26.585821051942734 316.6934927987555 0 0 0 0 +5434 1 1.3585 1 18.566236211690917 274.1974226043905 0 0 0 0 +6923 1 1.2 1 47.50318898102013 288.38425920778593 0 0 0 0 +3544 1 1.6837 1 56.680198831229575 331.1190254756157 0 0 -1 0 +6980 1 1.1959 1 71.96861372161267 303.23830005948486 0 0 0 0 +6991 1 1.1951 1 20.144360263054647 273.96810285298557 0 0 0 0 +7009 1 1.1933 1 67.6485258092297 316.1676381307947 0 0 0 0 +7033 1 1.191 1 62.20395448746234 301.69194491068566 0 0 0 0 +9874 1 1.0061 1 40.72194346598613 287.9829160814674 0 0 0 0 +7073 1 1.1881 1 27.429476852642804 293.32686245382007 0 0 0 0 +7087 1 1.1872 1 58.16015950253148 320.87647994690735 0 0 0 0 +7093 1 1.1867 1 41.35260034421572 290.03196728978895 0 0 0 0 +7156 1 1.1815 1 15.227275577134547 296.93552452428673 0 0 0 0 +7190 1 1.179 1 42.63622711948799 290.93888977693535 0 0 0 0 +4119 1 1.5635 1 57.07118069256377 329.6075526440271 0 0 -1 0 +7292 1 1.1715 1 27.860626925061897 285.37948248076486 0 0 0 0 +7298 1 1.1709 1 37.41244450875125 327.025462679007 0 0 0 0 +9830 1 1.0087 1 27.52383340426867 316.1334896649976 0 0 0 0 +3412 1 1.7122 1 14.64054694855654 271.0955569461696 0 0 0 0 +7518 1 1.1512 1 73.51264018982802 309.84526281993215 0 0 0 0 +7519 1 1.1512 1 65.36151263204566 293.50248383508386 0 0 0 0 +2799 1 1.8937 1 10.83759680662471 267.6967007769098 0 1 0 0 +9632 1 1.0189 1 38.380705639726656 326.5546110239871 0 0 -1 0 +7631 1 1.1424 1 28.8397808250093 283.3698437803626 0 0 0 0 +7676 1 1.1383 1 26.8014984864945 326.1646505598643 0 0 0 0 +7710 1 1.1355 1 29.88795661645058 316.6820826664139 0 0 0 0 +7719 1 1.135 1 28.552052969133907 286.2799403114567 0 0 0 0 +7741 1 1.1333 1 42.3008106921764 293.8010003966893 0 0 0 0 +7019 1 1.1923 1 67.77254526108308 329.3726440708378 0 0 -1 0 +7896 1 1.1216 1 55.824437998520516 292.34584154329303 0 0 0 0 +7920 1 1.1195 1 66.36818557532173 310.1820465758627 0 0 0 0 +7953 1 1.1176 1 65.04866586307188 310.7373648698393 0 0 0 0 +7956 1 1.1173 1 25.68356524542359 317.3954570465428 0 0 0 0 +1375 1 2.7088 1 45.83277077186625 328.0242942193269 0 0 0 0 +7976 1 1.1162 1 22.729284711229 288.20058536990405 0 0 0 0 +7982 1 1.1157 1 27.067151761839856 290.2975514156588 0 0 0 0 +8375 1 1.0888 1 62.31394835165749 328.3960041936887 0 0 -1 0 +8027 1 1.113 1 61.66263516521208 307.1941297516677 0 0 0 0 +8089 1 1.1082 1 61.899718567027655 311.4349796555717 0 0 0 0 +7239 1 1.1748 1 54.675477023504335 327.9770087550535 0 0 -1 0 +6389 1 1.2525 1 17.04799214533477 274.8280494661806 0 0 0 0 +8140 1 1.1052 1 70.8019254785639 295.25542839835595 0 0 0 0 +8227 1 1.0998 1 32.37831330518813 330.8810533057303 0 0 0 0 +8231 1 1.0997 1 66.73710716829814 307.84218284395166 0 0 0 0 +8234 1 1.0993 1 27.812191625409163 283.75011851011726 0 0 0 0 +8241 1 1.0988 1 58.87499581725681 300.6648077869292 0 0 0 0 +9601 1 1.0206 1 30.26962808263764 280.68050745443304 0 0 0 0 +6370 1 1.2551 1 10.784513087030147 269.6084123206082 0 1 0 0 +2000 1 2.2425 1 12.095431168263298 270.75014560858307 0 0 0 0 +8334 1 1.0919 1 38.613631401276876 285.0362831056999 0 0 0 0 +8345 1 1.0908 1 62.62812155673062 306.76207207164464 0 0 0 0 +2522 1 2.0041 1 14.535048195815273 274.5022954924084 0 0 0 0 +8354 1 1.0904 1 43.58673645327494 293.44739340776425 0 0 0 0 +8413 1 1.0868 1 32.48933647437315 320.8976706787777 0 0 0 0 +9670 1 1.017 1 30.651675327267156 296.7821784382775 0 0 0 0 +8460 1 1.0839 1 73.62327801680583 300.2709233215305 0 0 0 0 +8468 1 1.0832 1 45.65522223745531 293.54519070688013 0 0 0 0 +8486 1 1.0818 1 25.899507824502162 284.5690142914802 0 0 0 0 +8507 1 1.0804 1 65.61932761249047 311.6572421413212 0 0 0 0 +8524 1 1.0796 1 66.29147640130438 317.5526488029023 0 0 0 0 +8564 1 1.0771 1 52.66035185121453 325.16331083932715 0 0 0 0 +2745 1 1.9127 1 51.71837550074445 328.03029996823176 0 0 -1 0 +8582 1 1.0763 1 61.233371323442626 305.3650417842806 0 0 0 0 +8595 1 1.0755 1 34.29117162022176 297.72892410060297 0 0 0 0 +1080 1 3.0424 1 49.408451575187534 327.3037255595294 0 0 -1 0 +8649 1 1.0723 1 35.51857500049633 329.72034510082864 0 0 0 0 +8653 1 1.0722 1 14.145514861288303 296.9926139069425 0 0 0 0 +8656 1 1.0719 1 63.475137981766444 299.3099150276255 0 0 0 0 +8669 1 1.0713 1 33.57876409729017 283.6306900284195 0 0 0 0 +8683 1 1.0709 1 67.9532567963916 300.64869636563344 0 0 0 0 +8684 1 1.0708 1 66.6248159473669 291.73701490920513 0 0 0 0 +8712 1 1.0693 1 33.758110590049874 282.6365351303733 0 0 0 0 +8755 1 1.0666 1 16.91228724787204 294.17523867988086 0 0 0 0 +8488 1 1.0817 1 34.392252729226314 322.79980645778204 0 0 -1 0 +4043 1 1.5752 1 66.43570566677622 329.5457124719134 0 0 -1 0 +8851 1 1.0602 1 29.575602185049586 315.6548962612261 0 0 0 0 +8907 1 1.0571 1 62.25735832666276 326.1711082375717 0 0 0 0 +8922 1 1.0564 1 68.15833799483298 305.139850128833 0 0 0 0 +8958 1 1.0549 1 41.06189060186487 292.4091239541955 0 0 0 0 +9008 1 1.0523 1 22.01920133496178 299.1573736029918 0 0 0 0 +9011 1 1.0522 1 26.107795974624615 296.8741298580919 0 0 0 0 +8984 1 1.0535 1 40.83004618134028 326.1987539661038 0 0 -1 0 +9129 1 1.0457 1 64.27846517895344 297.096588355666 0 0 0 0 +4666 1 1.4699 1 68.88219034693046 330.07869108069684 0 0 -1 0 +9152 1 1.0446 1 22.02347278252052 321.27172132181045 0 0 0 0 +8369 1 1.089 1 55.63328946092164 328.8021004439795 0 0 -1 0 +9180 1 1.0429 1 58.78017857376215 319.9792654724827 0 0 0 0 +9193 1 1.0422 1 14.743381104903515 275.9897558596315 0 0 0 0 +9199 1 1.0419 1 52.31226134855686 293.7332078235537 0 0 0 0 +9209 1 1.0413 1 71.87381487633549 319.9128331924676 0 0 0 0 +9212 1 1.0413 1 70.76893186491883 297.05722429112694 0 0 0 0 +9245 1 1.0397 1 26.67544651267882 315.5806242690815 0 0 0 0 +1538 1 2.5398 1 60.15226003178767 329.71391924496385 0 0 -1 0 +9310 1 1.0357 1 15.801483274330662 285.72528134136104 0 0 0 0 +9325 1 1.0348 1 47.016929416641766 291.38745792195726 0 0 0 0 +732 1 3.7178 1 12.781160993354641 326.79928894731637 0 1 0 0 +9343 1 1.0339 1 45.20119981787796 329.76347516033167 0 0 0 0 +9346 1 1.0338 1 26.625723751212647 325.19149319366795 0 0 0 0 +9349 1 1.0336 1 14.81421525985423 277.00220164530026 0 0 0 0 +7359 1 1.1649 1 61.22988702641414 328.23841195906897 0 0 -1 0 +9359 1 1.0329 1 68.84111299403973 291.8037946726901 0 0 0 0 +9388 1 1.0313 1 67.15998513620164 304.86581258889174 0 0 0 0 +8902 1 1.0573 1 16.31750572696351 270.5833161213599 0 0 0 0 +9437 1 1.0289 1 65.14679896285425 317.6862257518136 0 0 0 0 +634 1 3.9261 1 74.20959100977385 304.4769241157353 0 0 0 0 +8294 1 1.0951 1 74.0835881971357 312.15548973833864 0 0 0 0 +3758 1 1.6379 1 10.021526012520876 322.5092571075353 0 1 0 0 +4472 1 1.5023 1 74.02202925691834 328.9823236143153 0 0 -1 0 +3144 1 1.7798 1 74.29538836172884 320.88680925867277 0 0 0 0 +8679 1 1.0711 1 12.398608804438094 331.6952861212977 0 1 0 0 +9714 1 1.0145 1 31.83270250818457 331.75430143712794 0 0 0 0 +13 1 31.1484 1 121.50201984540669 72.73243523729181 0 0 0 0 +21 1 21.4617 1 90.3261723024172 40.57846357555442 0 0 0 0 +32 1 17.7495 1 127.22770488518054 25.131698885544097 0 0 0 0 +54 1 12.7924 1 115.85951283385633 49.426586563260834 0 0 0 0 +70 1 11.237 1 132.67663861736597 54.96053002470374 0 0 0 0 +9911 1 1.0045 1 95.91614357556058 68.09862770193028 0 0 0 0 +83 1 10.1031 1 89.7119301779511 18.88844045323457 0 0 0 0 +121 1 9.0689 1 102.18617589072859 24.331253839941393 0 0 0 0 +1410 1 2.6694 1 96.46061812989306 70.19381066978207 0 0 0 0 +133 1 8.3183 1 120.29978799647851 38.62793726658596 0 0 0 0 +186 1 7.0902 1 92.99384303414449 61.49859971547231 0 0 0 0 +203 1 6.7893 1 102.0795758123262 67.13559633367588 0 0 0 0 +250 1 6.2083 1 108.18416139392882 31.59976440812181 0 0 0 0 +257 1 6.1596 1 107.41918316503502 44.55661014849236 0 0 0 0 +8707 1 1.0694 1 138.52609908907493 69.5146245674604 0 0 0 0 +4395 1 1.5156 1 87.3827246552134 69.1312699997286 0 0 0 0 +1218 1 2.891 1 129.31814787872742 15.025595662585156 0 0 1 0 +284 1 5.8668 1 82.80727869775578 10.88417406236956 0 0 0 0 +300 1 5.7387 1 131.05223538367778 46.693083974446175 0 0 0 0 +332 1 5.4683 1 91.51832790744767 27.38174586540197 0 0 0 0 +335 1 5.4316 1 96.92713748432135 53.85597087272874 0 0 0 0 +347 1 5.3603 1 131.00065720572832 36.61783742674662 0 0 0 0 +355 1 5.304 1 111.79520147474278 23.542407117623284 0 0 0 0 +374 1 5.0865 1 89.2568863650068 56.79002264328514 0 0 0 0 +379 1 5.074 1 107.97810199491437 56.204984124763016 0 0 0 0 +128 1 8.5121 1 76.9552588962572 68.68046828894033 0 0 0 0 +394 1 4.9598 1 77.62491486536842 34.1869162663068 0 0 0 0 +419 1 4.8193 1 85.46574557611461 24.97551154666696 0 0 0 0 +434 1 4.726 1 116.46997328143415 22.060622783767812 0 0 0 0 +437 1 4.6914 1 108.7530397681173 18.5714565436856 0 0 0 0 +454 1 4.6379 1 102.47794983858184 48.8599260071715 0 0 0 0 +456 1 4.6343 1 100.98001318013726 60.75331756002748 0 0 0 0 +468 1 4.5736 1 135.1450853629804 40.76305071735884 0 0 0 0 +484 1 4.4673 1 113.02910831934771 33.63487115835554 0 0 0 0 +487 1 4.4531 1 95.64295762266791 22.955002402750605 0 0 0 0 +495 1 4.3956 1 130.79307153488267 41.457028318228495 0 0 0 0 +2919 1 1.8577 1 123.29057286711523 16.27616724189671 0 0 1 0 +513 1 4.3173 1 102.3663659014549 44.53581237241887 0 0 0 0 +8172 1 1.1028 1 79.7832620673146 16.906175426589012 0 0 0 0 +528 1 4.2756 1 112.19269868165495 37.89767962173636 0 0 0 0 +2997 1 1.8332 1 79.22670778857145 18.19173701934953 0 0 0 0 +3871 1 1.6132 1 122.58076277320131 10.875925056817087 0 0 1 0 +670 1 3.8449 1 125.05368542034472 51.61344619853186 0 0 0 0 +698 1 3.7864 1 99.27435458024914 18.637916816495554 0 0 0 0 +723 1 3.7442 1 107.09056962170801 36.43253577280467 0 0 0 0 +733 1 3.7131 1 87.28413965142653 65.38804769110533 0 0 0 0 +745 1 3.6937 1 103.70631131377628 33.429519542455765 0 0 0 0 +749 1 3.6903 1 134.93348467026055 61.955997070168046 0 0 0 0 +753 1 3.6804 1 103.52647589244535 37.80680633675724 0 0 0 0 +777 1 3.6347 1 114.17607709025053 27.213924738034134 0 0 0 0 +814 1 3.5511 1 124.14773724113866 55.59922941481754 0 0 0 0 +764 1 3.6516 1 107.82857191032855 14.554658370758847 0 0 1 0 +876 1 3.4104 1 106.41649371150444 49.221779134406994 0 0 0 0 +883 1 3.3827 1 125.82495901126913 36.9891322730423 0 0 0 0 +935 1 3.2856 1 121.81771692256143 44.15131999386638 0 0 0 0 +956 1 3.2395 1 101.94712485181995 16.405423793910405 0 0 0 0 +960 1 3.229 1 117.96661032830386 33.364569586857385 0 0 0 0 +965 1 3.2239 1 85.18058100779864 62.52808981135754 0 0 0 0 +973 1 3.2143 1 117.82842977719044 29.699031496016666 0 0 0 0 +1006 1 3.167 1 86.95961556875469 12.897415938726622 0 0 0 0 +1018 1 3.1502 1 126.71058414109692 47.485090863446956 0 0 0 0 +1035 1 3.1144 1 95.67295906355994 16.214037298866323 0 0 0 0 +1045 1 3.0949 1 108.44417108495641 26.050353366909405 0 0 0 0 +1090 1 3.0312 1 83.39972687867926 50.59562154474909 0 0 0 0 +1103 1 3.014 1 104.33409519768725 54.655685689698814 0 0 0 0 +1136 1 2.9734 1 107.02259693999129 63.36054560198585 0 0 0 0 +1141 1 2.9694 1 104.6648641868018 17.71970158504309 0 0 0 0 +1149 1 2.9551 1 137.75174285534223 67.70040753022636 0 0 0 0 +7441 1 1.1575 1 75.7997973839927 30.661693638349 0 0 0 0 +1164 1 2.9408 1 97.77952367169367 62.662049377720194 0 0 0 0 +6123 1 1.2811 1 134.9719676099989 10.472440160576193 0 0 1 0 +1185 1 2.9221 1 80.69387339199262 27.601156972925015 0 0 0 0 +6974 1 1.1963 1 86.13738991760899 72.30794702062684 0 0 0 0 +1194 1 2.9134 1 104.03038260946784 29.931466238297592 0 0 0 0 +769 1 3.6463 1 110.01916887669721 10.758561795807818 0 0 1 0 +134 1 8.1639 1 116.6191306559451 15.723304045664069 0 0 1 0 +1225 1 2.8811 1 114.93917347878364 30.524394727053938 0 0 0 0 +2167 1 2.1496 1 80.9313029557056 19.095210968481336 0 0 0 0 +1352 1 2.735 1 89.0715636156557 52.91892437842675 0 0 0 0 +1355 1 2.733 1 81.7627927844823 24.99758417663035 0 0 0 0 +1362 1 2.7265 1 84.4450583008931 55.088789773619105 0 0 0 0 +1395 1 2.6877 1 127.43027512330832 44.705100489539866 0 0 0 0 +2485 1 2.0149 1 137.0122486517679 24.060421482638052 0 0 0 0 +8768 1 1.0652 1 122.89866710158906 13.197469274808062 0 0 1 0 +1434 1 2.6432 1 81.84328487507278 64.13048678518712 0 0 0 0 +1439 1 2.6358 1 93.00231603606291 53.07826487327038 0 0 0 0 +1441 1 2.6332 1 136.96640525437175 46.94944327473644 0 0 0 0 +1467 1 2.6054 1 101.04686787483394 31.997569812898497 0 0 0 0 +501 1 4.3637 1 76.85159922976689 28.228902964858754 0 0 0 0 +1518 1 2.5596 1 81.14163006011293 32.896076130683674 0 0 0 0 +1531 1 2.546 1 112.2782079485796 58.7227502160916 0 0 0 0 +1543 1 2.5358 1 134.23096201964387 44.10216661453159 0 0 0 0 +1550 1 2.5331 1 100.4570614477762 52.195932589661965 0 0 0 0 +1560 1 2.5242 1 85.54113732211475 57.442822482214 0 0 0 0 +1565 1 2.5225 1 114.24650760876645 41.97576141136438 0 0 0 0 +9893 1 1.0054 1 122.40780186979973 15.209926667876392 0 0 0 0 +1575 1 2.5131 1 104.35521850572958 57.32325318034959 0 0 0 0 +8102 1 1.1074 1 138.43392610009658 30.500179222189338 0 0 0 0 +1593 1 2.4997 1 82.16387996437541 56.22853610516912 0 0 0 0 +1599 1 2.4947 1 97.8058042589459 65.35392312944641 0 0 0 0 +9668 1 1.0171 1 137.59780014850074 22.68839373609363 0 0 0 0 +1620 1 2.4786 1 95.19958755333641 57.34028707021789 0 0 0 0 +1660 1 2.4477 1 86.77480725214663 53.99616805293071 0 0 0 0 +1674 1 2.4413 1 96.50719336485187 29.43426059141546 0 0 0 0 +1680 1 2.44 1 108.24703931760597 60.970441386712956 0 0 0 0 +1716 1 2.4134 1 111.2801893766257 41.00740989703472 0 0 0 0 +1727 1 2.4073 1 97.8579986045916 31.363986368707398 0 0 0 0 +1728 1 2.4071 1 103.42015107351361 52.24238090381083 0 0 0 0 +1732 1 2.4049 1 109.9652167314482 59.328357270652724 0 0 0 0 +1755 1 2.3833 1 125.1888783013362 43.13866625342859 0 0 0 0 +1758 1 2.3818 1 85.63411638647041 59.84636653501472 0 0 0 0 +1768 1 2.3737 1 85.69915383226146 29.68137752878859 0 0 0 0 +7789 1 1.1295 1 135.87709677674226 29.27468148321644 0 0 0 0 +1796 1 2.3568 1 106.12074236394028 10.116307777581655 0 0 0 0 +1829 1 2.3419 1 81.82783675337514 21.136904291116714 0 0 0 0 +1838 1 2.3361 1 109.00055548240204 40.62509838904529 0 0 0 0 +1848 1 2.3311 1 101.8082170167202 55.36459766418464 0 0 0 0 +6753 1 1.2179 1 136.80367371723224 12.218391436330723 0 0 1 0 +1894 1 2.3034 1 82.27050299243648 53.88121305982223 0 0 0 0 +1943 1 2.2741 1 82.48990731573373 30.93793217818773 0 0 0 0 +1968 1 2.259 1 117.64419090773029 56.606793957895896 0 0 0 0 +2002 1 2.2423 1 106.77212258828095 40.462535923641475 0 0 0 0 +2006 1 2.2359 1 80.33542719580437 47.01213788864571 0 0 0 0 +2015 1 2.2303 1 107.4434582650635 22.333854127117295 0 0 0 0 +2028 1 2.2237 1 100.63798541619862 29.695478020243385 0 0 0 0 +2042 1 2.2165 1 97.41658355496612 27.321711984116718 0 0 0 0 +2068 1 2.1988 1 83.7893090159412 20.137495496828784 0 0 0 0 +9539 1 1.0238 1 81.7797093067526 73.08492143570754 0 0 0 0 +6039 1 1.2906 1 97.99956920567445 67.22997828211689 0 0 0 0 +2126 1 2.1662 1 104.1205168132691 59.60624652331916 0 0 0 0 +2143 1 2.1582 1 102.04667156439547 41.35659512149012 0 0 0 0 +3634 1 1.6652 1 137.683126275777 13.538693088473874 0 0 1 0 +4494 1 1.4983 1 98.24847212424697 68.59530407466171 0 0 0 0 +4275 1 1.5373 1 133.8765477263844 18.25987582753287 0 0 1 0 +2235 1 2.121 1 121.77382477691683 54.149495738687754 0 0 0 0 +2258 1 2.1144 1 111.31009450606543 43.2078302542127 0 0 0 0 +8376 1 1.0888 1 136.0911889580004 11.320835165320364 0 0 1 0 +2273 1 2.1053 1 108.65131269182616 51.10591785950557 0 0 0 0 +2311 1 2.0841 1 121.658370931787 33.67290189213363 0 0 0 0 +2323 1 2.0787 1 136.9432573915393 64.59663460746228 0 0 0 0 +2331 1 2.0762 1 101.32824154138618 57.483470830148114 0 0 0 0 +2346 1 2.0701 1 107.40217311915423 11.814367057395211 0 0 0 0 +2347 1 2.0696 1 80.41296407752272 30.747682742208525 0 0 0 0 +2361 1 2.0617 1 88.80136942211314 24.871743800366122 0 0 0 0 +2388 1 2.0527 1 100.51056307066962 72.23367479765015 0 0 0 0 +2403 1 2.0471 1 77.66854120735945 39.51456505375972 0 0 0 0 +4917 1 1.4299 1 94.9333270834479 71.55967468447696 0 0 0 0 +5909 1 1.3043 1 116.13308858291936 11.060375767216405 0 0 1 0 +7016 1 1.1926 1 98.9067627023027 72.10583798148663 0 0 0 0 +2458 1 2.0253 1 105.9018155092252 28.310908912775325 0 0 0 0 +2463 1 2.024 1 109.12779944641936 38.450388713085616 0 0 0 0 +2475 1 2.0186 1 126.46815367809768 57.02177990660261 0 0 0 0 +2482 1 2.0167 1 95.20638000722536 27.679378528659193 0 0 0 0 +2489 1 2.0142 1 78.65705133934365 41.25493132986596 0 0 0 0 +2513 1 2.0064 1 87.85701237933421 27.85176559572593 0 0 0 0 +2517 1 2.0053 1 86.09151987183212 51.938832611475625 0 0 0 0 +2528 1 2.0004 1 97.72042227045796 49.603491428219215 0 0 0 0 +2536 1 1.9972 1 99.16813268693316 33.076243534875815 0 0 0 0 +2549 1 1.9893 1 127.94652924560015 40.057668762024285 0 0 0 0 +3334 1 1.7323 1 95.48592836769608 73.29205684095848 0 0 0 0 +2596 1 1.9701 1 83.48386237620528 60.286431131255306 0 0 0 0 +2610 1 1.9628 1 96.68330268151183 58.91792316790245 0 0 0 0 +2630 1 1.9568 1 99.36486540937392 57.93008752966779 0 0 0 0 +2632 1 1.9567 1 106.22805584326852 20.673705608432513 0 0 0 0 +2634 1 1.9556 1 88.78189381411262 63.02916009417202 0 0 0 0 +2656 1 1.9447 1 99.6025108729359 13.816643258165634 0 0 0 0 +2659 1 1.9441 1 92.7406480932072 57.051503318184935 0 0 0 0 +2685 1 1.9363 1 94.38053327578733 29.64666199911122 0 0 0 0 +2690 1 1.9335 1 78.45196388024121 44.866435516372995 0 0 0 0 +2710 1 1.926 1 137.74300357558252 59.63080692589747 0 0 0 0 +823 1 3.5285 1 111.22535239720669 14.018795409607574 0 0 1 0 +2752 1 1.911 1 81.81393480283589 61.871061874390165 0 0 0 0 +2773 1 1.9049 1 112.78084317873794 29.52631608167052 0 0 0 0 +3706 1 1.6451 1 81.10056667913534 71.51815511996416 0 0 0 0 +5831 1 1.3113 1 91.43744299541437 72.70630533465093 0 0 0 0 +2846 1 1.8806 1 111.17088830324937 54.98610077534304 0 0 0 0 +2851 1 1.8787 1 119.61042089807165 31.417650954811563 0 0 0 0 +2853 1 1.8785 1 102.07076810123309 18.90608595926355 0 0 0 0 +7805 1 1.1285 1 96.11967952974194 72.03348888972084 0 0 0 0 +2883 1 1.8671 1 101.44195525538935 13.960627153341088 0 0 0 0 +2949 1 1.849 1 78.12720026382006 43.062161301390034 0 0 0 0 +2990 1 1.836 1 101.16310604601583 36.41949137880259 0 0 0 0 +3038 1 1.8149 1 84.566061072222 21.883412014800147 0 0 0 0 +1905 1 2.2967 1 121.48319512970701 17.18036335380382 0 0 1 0 +3089 1 1.8023 1 123.85596576199946 45.57216076624472 0 0 0 0 +2819 1 1.8893 1 78.44787612326786 30.882466687203404 0 0 0 0 +3106 1 1.796 1 111.34691073590591 56.79448137526316 0 0 0 0 +3129 1 1.7847 1 122.4578241231625 46.583507355802276 0 0 0 0 +3159 1 1.777 1 97.97969402152096 21.010508694554918 0 0 0 0 +3185 1 1.7691 1 115.79316825479938 57.32287401664048 0 0 0 0 +3188 1 1.7688 1 137.43354729105724 62.83821807529551 0 0 0 0 +3199 1 1.7664 1 120.23001757353747 55.20885470351127 0 0 0 0 +3211 1 1.7635 1 105.33395264243897 15.501047469138701 0 0 0 0 +3226 1 1.7586 1 79.36637500230796 62.11761962948481 0 0 0 0 +3228 1 1.7584 1 95.99660431534103 26.005477916096414 0 0 0 0 +3236 1 1.7559 1 122.42594428291447 52.39187393155923 0 0 0 0 +3266 1 1.7483 1 79.1246100613066 37.16411217526467 0 0 0 0 +3286 1 1.744 1 79.70800395593632 63.809426951798926 0 0 0 0 +3287 1 1.7439 1 114.4292803701259 39.87541257030114 0 0 0 0 +3293 1 1.7419 1 80.33815495916981 60.69111420830272 0 0 0 0 +3302 1 1.7393 1 92.7898132514026 24.012188602385024 0 0 0 0 +3310 1 1.7376 1 123.08626023540913 49.66998810830033 0 0 0 0 +3335 1 1.7322 1 135.9904092617169 37.28963873842243 0 0 0 0 +3365 1 1.7248 1 95.49308270044925 19.913016945019827 0 0 0 0 +3366 1 1.7246 1 135.70882642260398 49.25015152215282 0 0 0 0 +8528 1 1.0792 1 86.49400557306113 67.80973189543849 0 0 0 0 +3416 1 1.7116 1 126.28376195684808 54.04991013348191 0 0 0 0 +464 1 4.6071 1 136.83508609238422 17.789290400698032 0 0 1 0 +3481 1 1.6974 1 105.80950350852319 58.73371292109469 0 0 0 0 +3497 1 1.6939 1 117.81689509076219 27.276071305851865 0 0 0 0 +3502 1 1.6933 1 116.49345335924102 25.939538539641514 0 0 0 0 +3512 1 1.6913 1 104.98432321290828 61.274110907690144 0 0 0 0 +3523 1 1.6886 1 105.79076536240582 65.29277457640757 0 0 0 0 +3534 1 1.6858 1 134.11775007277117 48.711659721976694 0 0 0 0 +3542 1 1.6847 1 114.24255686505217 58.05187357149974 0 0 0 0 +3547 1 1.6831 1 109.75371471783849 36.26912859314617 0 0 0 0 +7012 1 1.193 1 122.19779484099261 14.172588926806366 0 0 1 0 +171 1 7.3254 1 91.82501107039984 68.47959329880264 0 0 0 0 +3569 1 1.6762 1 116.27093210638189 42.22699219045006 0 0 0 0 +3579 1 1.675 1 98.02622826040597 16.248952676658362 0 0 0 0 +3585 1 1.6742 1 104.69168338710828 62.86595016848793 0 0 0 0 +3597 1 1.6717 1 134.47220296515925 36.60374877190483 0 0 0 0 +654 1 3.8779 1 126.46837845002045 13.394411251945643 0 0 1 0 +3610 1 1.6688 1 83.73828966477028 29.4840743832326 0 0 0 0 +3665 1 1.6571 1 123.95422384463764 48.26676306343748 0 0 0 0 +3674 1 1.6544 1 98.8746857043347 50.92584314989648 0 0 0 0 +3675 1 1.6543 1 114.37458161496392 56.42594598443869 0 0 0 0 +7787 1 1.1297 1 125.78456707562948 15.803020560365889 0 0 1 0 +3680 1 1.6534 1 110.01137606499894 53.58053779745821 0 0 0 0 +3697 1 1.6481 1 84.86068014402674 13.965952322883492 0 0 0 0 +3733 1 1.6425 1 96.54140003186957 66.95999256396372 0 0 0 0 +3838 1 1.6194 1 116.20860464578922 34.99574121853613 0 0 0 0 +3863 1 1.6152 1 127.6764949868263 51.05032843134166 0 0 0 0 +3869 1 1.6133 1 108.53179316596108 52.93165857400538 0 0 0 0 +3879 1 1.6119 1 98.00854863406109 60.03303435914725 0 0 0 0 +3903 1 1.6066 1 103.77030868249938 41.99645511552403 0 0 0 0 +3934 1 1.6013 1 99.44911030475747 49.315049872474134 0 0 0 0 +3942 1 1.5992 1 103.76628040552033 40.414588234132886 0 0 0 0 +3966 1 1.5931 1 87.5334834263954 60.30837996878071 0 0 0 0 +3973 1 1.5912 1 105.18499217701348 41.4177144824989 0 0 0 0 +2399 1 2.0483 1 123.90723404013568 12.041644556353104 0 0 1 0 +3997 1 1.5863 1 115.8343266382301 40.686778533674044 0 0 0 0 +2736 1 1.9153 1 137.48264389427925 10.775415659227505 0 0 1 0 +4005 1 1.5826 1 125.40362471279312 45.05700477235733 0 0 0 0 +4017 1 1.58 1 106.96272029231703 52.753976615915455 0 0 0 0 +4034 1 1.5771 1 88.69523739140344 61.32286832231544 0 0 0 0 +4038 1 1.5762 1 110.24935912401683 34.7533565512263 0 0 0 0 +4040 1 1.5761 1 82.88573073847792 58.04661332371069 0 0 0 0 +4048 1 1.5748 1 123.40891445903361 33.98599111771157 0 0 0 0 +4072 1 1.5709 1 128.17077466699882 42.76438531880994 0 0 0 0 +4075 1 1.5706 1 95.0796796255696 50.990231012508794 0 0 0 0 +4101 1 1.5661 1 135.49125251090885 45.579503795448026 0 0 0 0 +4109 1 1.5649 1 99.62797525963755 16.035361774310168 0 0 0 0 +4110 1 1.5645 1 93.94812864788958 55.83689492984529 0 0 0 0 +4732 1 1.4591 1 101.8827973237846 71.18989430520321 0 0 0 0 +608 1 3.9972 1 82.15173451633393 16.2950619929407 0 0 0 0 +4243 1 1.5429 1 123.97561637612783 35.40932573995015 0 0 0 0 +4289 1 1.535 1 99.67519595823066 47.61896654031213 0 0 0 0 +8157 1 1.1042 1 86.11915281537162 68.96000474633516 0 0 0 0 +4326 1 1.5275 1 104.72148523063059 50.90037752113453 0 0 0 0 +364 1 5.1987 1 75.11886869861803 23.907552804832346 0 0 0 0 +4335 1 1.5257 1 83.96710176128092 18.311162922796992 0 0 0 0 +4337 1 1.5253 1 83.77842803822013 52.78719371574419 0 0 0 0 +8904 1 1.0573 1 138.10685640143308 15.263550449476488 0 0 1 0 +4372 1 1.5198 1 119.51263352319116 56.625095802737505 0 0 0 0 +7027 1 1.1917 1 119.1874344592389 11.72386439775129 0 0 1 0 +2727 1 1.9211 1 86.56090733893852 70.84039660568327 0 0 0 0 +4902 1 1.4321 1 132.98372213030183 17.215066999235464 0 0 1 0 +8188 1 1.102 1 103.27022442228616 13.103613088649587 0 0 1 0 +6616 1 1.2306 1 96.96303857808195 68.32398427686661 0 0 0 0 +4439 1 1.508 1 123.40302868913578 42.40996446785418 0 0 0 0 +4482 1 1.5007 1 79.45885257814403 29.361160779649158 0 0 0 0 +4485 1 1.5002 1 114.92200479999791 35.840373972668424 0 0 0 0 +4490 1 1.4992 1 81.7206526742677 70.09309939798705 0 0 0 0 +4504 1 1.4965 1 137.35393663053952 61.23031398550627 0 0 0 0 +4505 1 1.4964 1 91.60819811788356 54.56361986273364 0 0 0 0 +4506 1 1.4959 1 127.77507661592657 35.69400134741384 0 0 0 0 +4538 1 1.4912 1 77.04299416989659 41.864469690701 0 0 0 0 +4543 1 1.4906 1 137.01930988991245 38.45827457421234 0 0 0 0 +4556 1 1.4881 1 79.1107227861431 73.15159190675777 0 0 0 0 +4559 1 1.4879 1 101.95773118592089 53.49266914693105 0 0 0 0 +2256 1 2.1151 1 111.62302811341121 16.801591590085856 0 0 1 0 +4587 1 1.4825 1 126.05681764346471 34.631330166188214 0 0 0 0 +4594 1 1.4814 1 84.72094415762756 28.033882478220242 0 0 0 0 +4604 1 1.4797 1 99.34893936542832 64.11528908297471 0 0 0 0 +2124 1 2.1675 1 95.43670207576598 65.42530534122963 0 0 0 0 +4657 1 1.472 1 84.29459025148772 30.919984315534624 0 0 0 0 +4670 1 1.4692 1 108.79567939005949 49.35895274749762 0 0 0 0 +4682 1 1.4672 1 106.34833445391716 66.7419543102692 0 0 0 0 +9642 1 1.0184 1 90.76896428360544 73.62504653806538 0 0 0 0 +4708 1 1.4634 1 80.82307468854397 48.77862915389022 0 0 0 0 +4723 1 1.46 1 111.6698727964619 26.904346623279903 0 0 0 0 +2850 1 1.879 1 77.73473019714977 21.621734387130292 0 0 0 0 +4835 1 1.4438 1 84.13024560656766 58.75675207928655 0 0 0 0 +4838 1 1.4433 1 81.45286736506819 22.960670511430727 0 0 0 0 +9403 1 1.0303 1 135.14601658471497 20.095720566969632 0 0 0 0 +4848 1 1.4421 1 86.1781132451738 27.92896230918174 0 0 0 0 +4849 1 1.4419 1 79.98461402160572 45.26988574380562 0 0 0 0 +4850 1 1.4413 1 112.6232513633882 55.742559462355956 0 0 0 0 +5771 1 1.3172 1 97.69007704290038 71.75798376968496 0 0 0 0 +4345 1 1.5235 1 76.21794913878418 20.769214446314592 0 0 0 0 +9415 1 1.0298 1 77.21061236756549 63.97013306154126 0 0 0 0 +4885 1 1.4354 1 105.89447407562454 51.71108076065272 0 0 0 0 +4896 1 1.4331 1 125.18480005448404 39.24759779478062 0 0 0 0 +4897 1 1.4331 1 117.69618624573984 42.64047271701304 0 0 0 0 +4920 1 1.4297 1 128.51825065529022 34.496706817085226 0 0 0 0 +4980 1 1.423 1 106.46832460110507 16.609617110971573 0 0 0 0 +4988 1 1.4219 1 111.87357788797222 30.892968093202263 0 0 0 0 +5026 1 1.4171 1 81.26620009889966 50.1249364875495 0 0 0 0 +5029 1 1.4168 1 101.46019161201254 34.6328421178436 0 0 0 0 +5033 1 1.4157 1 100.00223907472247 55.190218610451474 0 0 0 0 +5042 1 1.4146 1 105.71175874619527 39.02218295144714 0 0 0 0 +5067 1 1.41 1 124.44974513479067 41.444867954444845 0 0 0 0 +5087 1 1.4063 1 91.0465140000469 53.26745685658286 0 0 0 0 +5091 1 1.4051 1 82.62866191536659 18.88468521546393 0 0 0 0 +9221 1 1.0409 1 76.03985656909681 19.50460210521978 0 0 0 0 +2267 1 2.1076 1 74.93846953028098 38.22874847994608 0 0 0 0 +4810 1 1.447 1 76.38613312259893 40.6460651406645 0 0 0 0 +5162 1 1.3934 1 87.52708947041862 29.509118628563392 0 0 0 0 +5193 1 1.3896 1 104.72440286195649 35.64993237805142 0 0 0 0 +9085 1 1.048 1 136.0994779272424 10.271702677725463 0 0 1 0 +5196 1 1.3892 1 107.35214695778853 24.129629069382805 0 0 0 0 +5206 1 1.3881 1 95.51374264267155 18.408819750331514 0 0 0 0 +9450 1 1.0284 1 105.43173313365341 73.22778230485002 0 0 0 0 +4236 1 1.544 1 131.0156440300973 16.272883111994936 0 0 1 0 +5219 1 1.3867 1 115.66651625822726 37.601113616989025 0 0 0 0 +5234 1 1.3845 1 80.06799499094217 20.59483620102975 0 0 0 0 +5242 1 1.3831 1 116.5005653703199 27.88449291678921 0 0 0 0 +5034 1 1.4156 1 85.64918741897534 73.53263128231156 0 0 0 0 +3555 1 1.6799 1 76.44057400887303 37.16513555358336 0 0 0 0 +5262 1 1.3806 1 129.29011667636718 49.754079293877076 0 0 0 0 +5273 1 1.3794 1 107.05468001049965 59.536292320044986 0 0 0 0 +5288 1 1.3771 1 105.65585857532233 69.08309065968419 0 0 0 0 +5314 1 1.3738 1 81.82344981771121 60.26925901720911 0 0 0 0 +5321 1 1.3732 1 127.26953812226503 49.66838664871688 0 0 0 0 +5333 1 1.3716 1 81.28369681470541 57.94351860824162 0 0 0 0 +5351 1 1.3696 1 115.88888171007098 32.391329252733335 0 0 0 0 +5401 1 1.3634 1 117.68367446623878 24.778159968061402 0 0 0 0 +5412 1 1.3618 1 80.6368303186343 34.7403367727326 0 0 0 0 +5420 1 1.3609 1 106.44314811900918 61.31752106641477 0 0 0 0 +5467 1 1.3545 1 120.97886588281409 32.18331176663176 0 0 0 0 +9702 1 1.0151 1 134.3314284545462 31.145872879995483 0 0 0 0 +5479 1 1.3531 1 102.77138020103251 58.38355922307291 0 0 0 0 +5489 1 1.3521 1 99.20626319657966 56.316385292386435 0 0 0 0 +5505 1 1.3501 1 137.37926143113413 69.76133383619191 0 0 0 0 +7479 1 1.1543 1 76.000987492179 39.44601223790256 0 0 0 0 +5520 1 1.3489 1 128.33901333122157 48.90327312204144 0 0 0 0 +5551 1 1.3442 1 113.05477956666064 40.523127519546264 0 0 0 0 +5561 1 1.3433 1 90.81601834048449 51.93354453079076 0 0 0 0 +5581 1 1.3398 1 125.6301809343041 40.66320832944225 0 0 0 0 +5582 1 1.3398 1 100.17581412979223 46.29334043065296 0 0 0 0 +5604 1 1.3364 1 102.4628256101609 35.56538760181263 0 0 0 0 +5615 1 1.3356 1 131.9306228155956 33.419576416054376 0 0 0 0 +5617 1 1.3354 1 85.08818089260156 53.21208571155981 0 0 0 0 +5662 1 1.331 1 79.10971031528139 38.670447749061424 0 0 0 0 +5713 1 1.3246 1 89.03064979196567 59.94996379492979 0 0 0 0 +5727 1 1.3232 1 84.88928719935328 64.70528126981831 0 0 0 0 +5762 1 1.319 1 96.27018890709172 50.278742960885054 0 0 0 0 +7447 1 1.1572 1 105.55227010265129 14.089715634964143 0 0 1 0 +5778 1 1.3163 1 87.31103697458437 61.74248124189222 0 0 0 0 +5782 1 1.3159 1 111.21291419090888 29.41264134731165 0 0 0 0 +6140 1 1.2796 1 121.33063873015641 15.518443891886502 0 0 1 0 +5864 1 1.309 1 87.64502716728995 51.57772594668531 0 0 0 0 +5876 1 1.3078 1 86.30017521122356 55.746747519638234 0 0 0 0 +5888 1 1.306 1 93.7539205548762 51.357068543234526 0 0 0 0 +5898 1 1.305 1 129.16844514215222 43.76326492411489 0 0 0 0 +5924 1 1.3022 1 103.54356008168024 19.42520825540084 0 0 0 0 +2368 1 2.0598 1 136.25028313786618 21.05818800485759 0 0 0 0 +5935 1 1.3014 1 113.05088132177224 57.01042828778463 0 0 0 0 +8893 1 1.0577 1 79.41822686431321 19.60005284829065 0 0 0 0 +5940 1 1.3009 1 86.37982289170152 10.791814934183984 0 0 0 0 +5963 1 1.2986 1 82.81857183823844 23.25334341492754 0 0 0 0 +5974 1 1.2971 1 88.81625326664465 29.328180473319136 0 0 0 0 +5409 1 1.3621 1 97.00091346792323 72.89531622350407 0 0 0 0 +1078 1 3.0443 1 129.58967407768077 12.087793355748222 0 0 1 0 +5739 1 1.3218 1 105.48481895693759 70.3998047418965 0 0 0 0 +6017 1 1.2926 1 80.75881482607707 59.24795679705745 0 0 0 0 +6025 1 1.292 1 94.54254941742155 26.012062223648606 0 0 0 0 +1473 1 2.6016 1 105.06051473996077 12.349071988113788 0 0 1 0 +6089 1 1.2841 1 108.55828813337018 23.664790655421847 0 0 0 0 +6098 1 1.2832 1 96.80650422649589 18.09314297352212 0 0 0 0 +6120 1 1.2813 1 125.1146653391305 49.07201405886098 0 0 0 0 +6122 1 1.2812 1 124.77098667795718 34.285037887379836 0 0 0 0 +6163 1 1.2759 1 79.90411721333075 25.70250753138656 0 0 0 0 +6191 1 1.2726 1 135.32455089180522 64.35603395977462 0 0 0 0 +6206 1 1.2711 1 81.48839715891582 51.44616215847528 0 0 0 0 +6688 1 1.2233 1 87.99803667320633 70.2961313957288 0 0 0 0 +6254 1 1.2646 1 121.83897706219334 56.247413664174786 0 0 0 0 +6271 1 1.2629 1 135.305153903407 47.885673906788256 0 0 0 0 +6275 1 1.2624 1 108.96432705955027 62.59816735916232 0 0 0 0 +6306 1 1.2606 1 128.268890528411 38.45772455387596 0 0 0 0 +6320 1 1.2591 1 105.9040515794314 60.15938292667851 0 0 0 0 +6326 1 1.2587 1 104.85890132366285 19.83038137606508 0 0 0 0 +6350 1 1.257 1 108.3735674387438 48.098630424243765 0 0 0 0 +6360 1 1.256 1 98.08353805490648 56.97680411005208 0 0 0 0 +2125 1 2.1668 1 93.64536389597625 72.81309339837357 0 0 0 0 +7936 1 1.1189 1 137.95528087143123 12.193173059849189 0 0 1 0 +6430 1 1.2493 1 116.13302207707255 36.39395404644786 0 0 0 0 +6543 1 1.238 1 79.48827930976798 43.732662516657605 0 0 0 0 +6564 1 1.2361 1 104.834225719547 64.2551520469739 0 0 0 0 +6566 1 1.236 1 118.96680631022342 20.514442643229835 0 0 0 0 +6568 1 1.2358 1 107.16051084799086 65.42359192622564 0 0 0 0 +6574 1 1.2351 1 115.81352941419476 33.657496511244496 0 0 0 0 +6582 1 1.2338 1 136.27907236535677 59.98525851258792 0 0 0 0 +3841 1 1.619 1 88.59394824293365 71.52322411742757 0 0 0 0 +6231 1 1.2674 1 74.46893171105017 34.61926878248817 0 0 0 0 +9106 1 1.0469 1 127.39983713234426 15.725137494000037 0 0 1 0 +4401 1 1.5148 1 78.23801618905284 63.290347048241436 0 0 0 0 +4514 1 1.4948 1 78.00612763338584 25.57736200394482 0 0 0 0 +6739 1 1.219 1 82.45982532398297 48.73937274919058 0 0 0 0 +6745 1 1.2186 1 81.96803502230739 59.0276416133781 0 0 0 0 +6750 1 1.2183 1 97.33083219043519 14.8771262902389 0 0 0 0 +6774 1 1.2155 1 102.4692497579969 63.20616201161479 0 0 0 0 +6778 1 1.2154 1 132.49936352135035 43.58544516403483 0 0 0 0 +6828 1 1.2099 1 97.20988970815294 25.269389577550463 0 0 0 0 +6834 1 1.2088 1 132.6598101800273 39.392692610208584 0 0 0 0 +6842 1 1.2084 1 80.02323373999477 36.02023497622997 0 0 0 0 +1470 1 2.6043 1 101.86802594447101 11.82491723907711 0 0 1 0 +6905 1 1.2016 1 80.21121800472659 65.12387853008879 0 0 0 0 +6908 1 1.2013 1 126.5015010907999 55.450033884924025 0 0 0 0 +5981 1 1.2966 1 102.92263509778807 14.367195447939485 0 0 1 0 +6942 1 1.1988 1 107.4758494470543 27.96538695712743 0 0 0 0 +6943 1 1.1987 1 82.37938696302352 28.78509157867428 0 0 0 0 +6985 1 1.1956 1 93.81380242864637 25.036567456028713 0 0 0 0 +6989 1 1.1952 1 100.28329263902387 35.18855903234118 0 0 0 0 +6990 1 1.1951 1 118.87301352450412 43.13574000574244 0 0 0 0 +2182 1 2.1454 1 76.7402138187298 73.93972000521129 0 0 0 0 +9170 1 1.0434 1 124.72000956293147 16.020520381492727 0 0 1 0 +7054 1 1.1894 1 126.40949741968502 39.6919029505264 0 0 0 0 +7068 1 1.1884 1 138.252782763878 70.59441110553861 0 0 0 0 +7097 1 1.1862 1 136.13129448426824 44.42853838695914 0 0 0 0 +7465 1 1.156 1 114.5111052640849 19.87518000615555 0 0 1 0 +7141 1 1.1829 1 114.8242703702915 38.50790431988092 0 0 0 0 +7149 1 1.1825 1 84.67791887807327 16.451020765928146 0 0 0 0 +9666 1 1.0173 1 131.88560306604847 17.064011213812087 0 0 0 0 +1122 1 2.986 1 112.49231868406744 19.438929603485157 0 0 1 0 +7203 1 1.1778 1 105.4573022109172 52.912679955911244 0 0 0 0 +7229 1 1.1757 1 106.97788807065915 38.822485341632714 0 0 0 0 +7230 1 1.1757 1 90.2871100657778 24.396741822622964 0 0 0 0 +5750 1 1.3204 1 120.37759046450742 18.560825962715686 0 0 1 0 +7251 1 1.1739 1 129.19944763951506 39.23122623680629 0 0 0 0 +7253 1 1.1738 1 91.40208014059989 24.157917480503745 0 0 0 0 +7289 1 1.1717 1 136.30666628856346 66.28545840711979 0 0 0 0 +7297 1 1.1709 1 134.7258531905209 37.964221503036015 0 0 0 0 +7308 1 1.1697 1 81.4429981298534 29.503596761792213 0 0 0 0 +4390 1 1.5166 1 105.21905740949792 72.00081761422848 0 0 0 0 +7345 1 1.1663 1 92.8539535660948 54.9621218951798 0 0 0 0 +7385 1 1.1626 1 85.96067958430504 14.762964404055348 0 0 0 0 +7386 1 1.1626 1 127.12094132117736 38.77741589565716 0 0 0 0 +6783 1 1.2146 1 136.3656812858229 22.639032235198055 0 0 0 0 +7427 1 1.1591 1 82.92188013240607 26.50091773684184 0 0 0 0 +982 1 3.2075 1 79.23177691025411 23.61384638011929 0 0 0 0 +7452 1 1.1567 1 120.065618584186 33.949470574105 0 0 0 0 +7458 1 1.1563 1 100.5107922971381 63.54728784732664 0 0 0 0 +7467 1 1.1557 1 87.27283867066568 62.97432130586225 0 0 0 0 +7471 1 1.1552 1 96.25673976725149 64.00230049942736 0 0 0 0 +4561 1 1.4873 1 133.13375974933774 32.70468668488732 0 0 0 0 +7520 1 1.151 1 127.15485054931408 41.899979292280406 0 0 0 0 +7546 1 1.1488 1 98.54804828493647 48.29454630090487 0 0 0 0 +7558 1 1.1474 1 120.02245394707181 32.84607604148223 0 0 0 0 +1901 1 2.3004 1 74.5913019283696 40.38793733567961 0 0 0 0 +7562 1 1.147 1 98.7619017243116 15.082561734870678 0 0 0 0 +5680 1 1.3289 1 137.00416171391328 14.848528534437493 0 0 1 0 +7606 1 1.1437 1 112.90436636142677 43.17064749154023 0 0 0 0 +7609 1 1.1435 1 107.10025312232395 51.40216844324509 0 0 0 0 +7659 1 1.1395 1 103.3556724076113 62.450623990916675 0 0 0 0 +7679 1 1.1381 1 80.92578627270554 65.97941351140133 0 0 0 0 +7729 1 1.1345 1 81.73309549243122 47.86896871436182 0 0 0 0 +1638 1 2.4621 1 103.77806010581784 10.241553272921829 0 0 1 0 +7753 1 1.1319 1 76.5267308113255 38.487900427496484 0 0 0 0 +7766 1 1.1311 1 122.63173642722147 48.01422310324576 0 0 0 0 +7768 1 1.1309 1 133.85398964563726 35.380171833670964 0 0 0 0 +7801 1 1.1286 1 103.9142241197939 15.523175587575837 0 0 0 0 +7807 1 1.1282 1 87.14936040547732 59.02174798681071 0 0 0 0 +7838 1 1.1266 1 99.13759803838109 29.017649689340143 0 0 0 0 +7851 1 1.1249 1 122.63446308556905 50.99691387926591 0 0 0 0 +2147 1 2.1577 1 117.79006642657731 10.760644811422411 0 0 1 0 +9565 1 1.0222 1 76.26347858389079 31.5864214170913 0 0 0 0 +7924 1 1.1194 1 80.62078390544177 62.73907737086342 0 0 0 0 +7927 1 1.1194 1 85.39366750058575 50.64212585329913 0 0 0 0 +7932 1 1.119 1 108.23819619809126 59.23677655461065 0 0 0 0 +7935 1 1.119 1 83.04622459468511 62.74029021573987 0 0 0 0 +7949 1 1.1182 1 83.77438695697285 57.03514799488947 0 0 0 0 +6728 1 1.2197 1 113.12665112420181 12.645646133258886 0 0 1 0 +7975 1 1.1162 1 117.87449962441566 25.93674609458541 0 0 0 0 +7995 1 1.1148 1 133.17521457153896 34.02581195172735 0 0 0 0 +6540 1 1.2383 1 130.36481802930615 10.162718208029496 0 0 1 0 +3747 1 1.6403 1 75.12973634689514 42.25371045611932 0 0 0 0 +1380 1 2.7021 1 114.45116088491498 10.099804357211283 0 0 1 0 +8067 1 1.11 1 106.55301133884394 26.90888267839264 0 0 0 0 +6927 1 1.1997 1 136.63131636772783 25.564850648889625 0 0 0 0 +8101 1 1.1074 1 123.37744308268988 53.42828322357068 0 0 0 0 +8109 1 1.1071 1 100.19157639929051 53.96983790784396 0 0 0 0 +8156 1 1.1043 1 105.96426874903521 19.21322550953493 0 0 0 0 +739 1 3.7041 1 138.25882633592957 27.290425295521374 0 0 0 0 +8164 1 1.1035 1 126.86980561876132 42.94400231576119 0 0 0 0 +8167 1 1.1032 1 127.2933019597228 34.5232085153453 0 0 0 0 +8193 1 1.1019 1 96.86710275384151 19.28415045525064 0 0 0 0 +8218 1 1.1004 1 104.30306569998606 46.46165976023098 0 0 0 0 +8246 1 1.098 1 116.78358759053295 31.56377173520235 0 0 0 0 +8252 1 1.0977 1 114.68004371519979 24.906653752064827 0 0 0 0 +6821 1 1.2103 1 109.853810004343 15.888571826585196 0 0 1 0 +8293 1 1.0954 1 114.64967127112745 37.05095260740039 0 0 0 0 +8299 1 1.0947 1 100.35809393754379 34.048264128833296 0 0 0 0 +8589 1 1.0758 1 110.81605242484221 20.540092888030156 0 0 1 0 +8385 1 1.0882 1 109.31472101689123 47.539213292561634 0 0 0 0 +8389 1 1.088 1 136.5457236796106 50.276117007619895 0 0 0 0 +8390 1 1.0879 1 83.56230644726996 14.241878942372827 0 0 0 0 +8398 1 1.0877 1 109.82483377015267 61.67268445283379 0 0 0 0 +8415 1 1.0866 1 102.68561884677094 31.306621367949614 0 0 0 0 +8467 1 1.0833 1 133.68237600269546 38.362352737141556 0 0 0 0 +5785 1 1.3157 1 77.7635663033929 37.844875651246895 0 0 0 0 +8478 1 1.0825 1 135.13224668682963 46.774374107519684 0 0 0 0 +8483 1 1.082 1 83.69263118426453 27.28666750556605 0 0 0 0 +9017 1 1.0518 1 113.787006701113 20.988078321651578 0 0 1 0 +8497 1 1.0811 1 110.49058873696659 26.40451768275847 0 0 0 0 +4377 1 1.5189 1 76.38949224569798 43.17202533922178 0 0 0 0 +8534 1 1.0789 1 99.53781942934698 31.023890073436974 0 0 0 0 +688 1 3.8127 1 83.7729269372709 71.72886903275679 0 0 0 0 +8561 1 1.0774 1 124.57875129090782 40.276408647960615 0 0 0 0 +8575 1 1.0767 1 137.56635219297567 71.49433928114176 0 0 0 0 +8610 1 1.0745 1 99.04735809884049 30.097646004817094 0 0 0 0 +8651 1 1.0722 1 82.64832907836669 27.546453456580583 0 0 0 0 +8671 1 1.0712 1 126.75293071761222 40.91103154657732 0 0 0 0 +8086 1 1.1082 1 75.31613560112655 73.1624661439773 0 0 0 0 +8719 1 1.0688 1 106.11958074343036 67.97133913693119 0 0 0 0 +8788 1 1.0641 1 110.94324314872142 44.682951189434384 0 0 0 0 +8829 1 1.0617 1 125.04887130998067 46.281278504490636 0 0 0 0 +8834 1 1.0613 1 96.98614982577513 60.846868742416895 0 0 0 0 +8861 1 1.0593 1 102.70001734857081 56.77097333348952 0 0 0 0 +8868 1 1.059 1 92.10357554546104 55.7281674362363 0 0 0 0 +7342 1 1.1668 1 121.0617527445724 14.446020874733705 0 0 1 0 +9363 1 1.0328 1 134.1715991870023 17.046760960983043 0 0 1 0 +8945 1 1.0554 1 93.85745149716341 54.6145936918524 0 0 0 0 +8961 1 1.0548 1 136.09130949076453 43.356635967860974 0 0 0 0 +8967 1 1.0543 1 96.96411037819125 57.261226897526086 0 0 0 0 +8972 1 1.0541 1 126.09331855806916 41.72667563110982 0 0 0 0 +8973 1 1.054 1 110.58159221013345 60.92457836484955 0 0 0 0 +9016 1 1.0518 1 106.15021603079879 53.7709358622576 0 0 0 0 +9035 1 1.0508 1 113.06459885465958 30.932568027913717 0 0 0 0 +9057 1 1.0499 1 109.91761156145233 21.091097119475183 0 0 0 0 +9070 1 1.0487 1 134.3078495667063 47.37409023051635 0 0 0 0 +9072 1 1.0486 1 79.48023790992639 31.91169075372251 0 0 0 0 +9089 1 1.0475 1 83.36588216415458 28.25712946023874 0 0 0 0 +9096 1 1.0472 1 105.86608157565581 34.384633206483166 0 0 0 0 +9123 1 1.046 1 105.09738482589404 40.088098260188474 0 0 0 0 +8026 1 1.1131 1 134.5242617964565 19.321755514950393 0 0 0 0 +9191 1 1.0423 1 111.12308526781845 35.581378015917245 0 0 0 0 +9238 1 1.0401 1 96.74517378148158 20.409441909794886 0 0 0 0 +9241 1 1.0399 1 79.14349943616064 39.835183546306965 0 0 0 0 +1162 1 2.9425 1 138.23787551895546 49.337043200688235 0 0 0 0 +4410 1 1.5135 1 104.2744722777685 14.258795107701241 0 0 1 0 +292 1 5.8145 1 133.6405471231539 13.723280861828963 0 0 1 0 +9259 1 1.0389 1 110.09671858629778 42.21064571211055 0 0 0 0 +9299 1 1.0366 1 112.49699997245907 42.18447859035533 0 0 0 0 +9318 1 1.0352 1 118.89947538128499 55.56797646205492 0 0 0 0 +9333 1 1.0345 1 115.66273843002307 39.23328480378481 0 0 0 0 +278 1 5.934 1 136.72104603477345 33.56520597088731 0 0 0 0 +9374 1 1.0323 1 120.7783667509923 56.66163502630048 0 0 0 0 +9389 1 1.0313 1 123.76200189806106 46.960291764965014 0 0 0 0 +9392 1 1.0312 1 84.3625306545188 15.176592525338073 0 0 0 0 +9399 1 1.0307 1 103.53164565716322 63.5201137377035 0 0 0 0 +9416 1 1.0298 1 100.37747738620114 56.314336679153485 0 0 0 0 +9435 1 1.0291 1 100.12728795275353 50.44204765930501 0 0 0 0 +2036 1 2.2197 1 110.21811059894313 27.987220948022447 0 0 1 0 +9461 1 1.0277 1 102.54045404434099 39.8902287341993 0 0 0 0 +9489 1 1.0264 1 115.72996397653377 24.828988824754237 0 0 0 0 +9496 1 1.0262 1 123.93023595518265 44.19847064507625 0 0 0 0 +9497 1 1.0261 1 98.20298403888434 14.230659908634957 0 0 0 0 +9520 1 1.0247 1 82.27964922568098 52.252976662023464 0 0 0 0 +9558 1 1.0225 1 83.1722570104675 22.148002845300606 0 0 0 0 +9576 1 1.0217 1 103.68146239353128 61.433213938480364 0 0 0 0 +9582 1 1.0216 1 107.92827643780747 39.34408009628674 0 0 0 0 +9598 1 1.0208 1 83.24738167283047 61.71863198791256 0 0 0 0 +9636 1 1.0187 1 124.70459128255342 47.22460628886065 0 0 0 0 +9648 1 1.0179 1 101.97987565685125 51.546411301575986 0 0 0 0 +9656 1 1.0177 1 100.40430005084811 15.006383790549569 0 0 0 0 +9660 1 1.0174 1 97.89899901523101 58.08865647328814 0 0 0 0 +9662 1 1.0174 1 119.74918750728608 43.745589942452746 0 0 0 0 +9673 1 1.0169 1 126.14406282753497 49.46763583999915 0 0 0 0 +9678 1 1.0168 1 115.83781227953082 28.838825891274677 0 0 0 0 +9681 1 1.0165 1 91.93548588454054 51.658559180488396 0 0 0 0 +9690 1 1.0159 1 135.7215042774166 65.40448626382191 0 0 0 0 +9696 1 1.0156 1 98.2043349523828 29.515733619841136 0 0 0 0 +9699 1 1.0153 1 101.42891087221771 38.85506866052346 0 0 0 0 +4036 1 1.5765 1 112.5338372330587 11.417950940045676 0 0 1 0 +5758 1 1.3193 1 75.01800049038575 20.03806363510108 0 0 0 0 +2247 1 2.1183 1 123.78811452145065 14.457146163680274 0 0 1 0 +9741 1 1.0131 1 85.28140503053606 15.568520511572036 0 0 0 0 +3126 1 1.786 1 89.89988866157009 72.55520693296211 0 0 0 0 +9791 1 1.0101 1 137.2589413997401 50.98378971808173 0 0 0 0 +9798 1 1.0099 1 101.53031034712753 39.86126496548842 0 0 0 0 +9811 1 1.0095 1 98.81826966585449 28.04084110395033 0 0 0 0 +9832 1 1.0086 1 109.02622847613725 35.09728622616955 0 0 0 0 +69 1 11.2782 1 74.70275351250318 13.515413364763535 0 0 0 0 +9907 1 1.0047 1 128.122131158985 41.50425516417299 0 0 0 0 +9920 1 1.0043 1 101.20182613142585 37.83845351303753 0 0 0 0 +7409 1 1.1604 1 136.09895299537732 28.21045122865044 0 0 0 0 +8292 1 1.0955 1 80.27344022990484 21.789313054481593 0 0 0 0 +9306 1 1.0361 1 77.1936362714023 44.12924113746761 0 0 0 0 +8405 1 1.0874 1 114.00911847969044 11.921688411766137 0 0 1 0 +392 1 4.962 1 83.52442768431487 67.45308021368047 0 0 0 0 +1022 1 3.1474 1 98.83565233213298 74.19029596605482 0 0 0 0 +5271 1 1.3795 1 80.60348596413509 72.90183321301751 0 0 0 0 +6607 1 1.2311 1 109.05326151248927 21.795094250752154 0 0 1 0 +3382 1 1.7203 1 89.82008983900847 64.49262026783107 0 0 0 0 +828 1 3.517 1 103.07564292274822 73.31267236755703 0 0 0 0 +6364 1 1.2555 1 87.63160626060979 67.80634410403928 0 0 0 0 +4760 1 1.4545 1 80.96085494738688 13.951887385885628 0 0 0 0 +6963 1 1.1973 1 85.40199013170357 69.85004044390854 0 0 0 0 +6491 1 1.2442 1 119.4818629816334 19.431022941572294 0 0 1 0 +4869 1 1.438 1 135.21590814545428 30.306910288663545 0 0 0 0 +1714 1 2.4141 1 98.94490035643982 70.3892036166107 0 0 0 0 +3252 1 1.7526 1 137.21100788885582 29.78021569810728 0 0 0 0 +2913 1 1.8598 1 104.0224272391125 70.88103414693427 0 0 0 0 +1204 1 2.9015 1 121.08278044329404 12.533322450324103 0 0 1 0 +7731 1 1.1343 1 79.20790153063173 21.46665570061988 0 0 0 0 +1753 1 2.3838 1 77.72238573184445 19.572872562376347 0 0 0 0 +4427 1 1.5099 1 137.5877267610194 37.1022852357985 0 0 0 0 +2740 1 1.9143 1 74.92044783921745 36.24553590048673 0 0 0 0 +7248 1 1.174 1 78.98140066317866 26.484392608771966 0 0 0 0 +1447 1 2.6266 1 87.64130707551423 73.3582378338101 0 0 0 0 +4407 1 1.5138 1 137.9262136240821 21.49139856637183 0 0 0 0 +8901 1 1.0574 1 138.23083337601702 38.16036577573184 0 0 0 0 +7404 1 1.1611 1 80.08326202418358 74.01275158548857 0 0 0 0 +6253 1 1.2647 1 100.97461987009437 74.2990667326317 0 0 0 0 +6657 1 1.2265 1 74.50338518423592 29.725087476420104 0 0 0 0 +7559 1 1.1472 1 137.98612951786842 65.72031743713629 0 0 0 0 +5074 1 1.4084 1 89.6996240865702 74.08727278681583 0 0 0 0 +5571 1 1.3415 1 84.43872404858658 74.16097058089943 0 0 0 0 +2674 1 1.9408 1 92.11424919463354 74.12315989958051 0 0 0 0 +1866 1 2.3206 1 138.34574749281091 39.76075678249088 0 0 0 0 +5855 1 1.3094 1 96.67012474957818 74.1746215664531 0 0 0 0 +5151 1 1.3959 1 138.0979614968995 51.75801567315861 0 0 0 0 +1590 1 2.502 1 138.3226303019815 73.11534390205847 0 0 0 0 +9977 1 1.0014 1 138.2969764671667 63.89202868488066 0 0 0 0 +29 1 18.1105 1 102.25288293352769 107.97025255350161 0 0 0 0 +4484 1 1.5004 1 113.9743295431444 131.0926644568763 0 0 0 0 +52 1 12.8778 1 78.96506828686253 109.88012461052945 0 0 0 0 +66 1 11.4285 1 88.12730608734951 92.2576438468465 0 0 0 0 +76 1 10.4171 1 122.68168502014287 113.61012162876251 0 0 0 0 +103 1 9.5411 1 111.54912639579241 96.94280304590193 0 0 0 0 +107 1 9.428 1 86.19708964724808 79.1850503613051 0 0 0 0 +1930 1 2.2839 1 110.95374915958178 131.6646778099463 0 0 0 0 +8022 1 1.1133 1 117.97555323974359 132.2118837707606 0 0 0 0 +142 1 7.8328 1 96.75467655555273 96.35863380555334 0 0 0 0 +153 1 7.5851 1 134.6156881205851 90.11693698204712 0 0 0 0 +204 1 6.7727 1 78.70929850537244 95.70337091207712 0 0 0 0 +173 1 7.2878 1 121.31514724920834 98.74080190858618 0 0 0 0 +178 1 7.2453 1 100.65285407867835 120.32865377159709 0 0 0 0 +185 1 7.1152 1 132.54509849427603 130.48754448264071 0 0 0 0 +193 1 6.9441 1 103.6633037362059 85.05443176089322 0 0 0 0 +195 1 6.9306 1 109.57350861181199 117.8903346617825 0 0 0 0 +212 1 6.6222 1 101.63291587518152 78.15013488751195 0 0 0 0 +231 1 6.3221 1 112.84683687477873 89.18643687804108 0 0 0 0 +8599 1 1.0751 1 136.16941204664735 128.4229872947782 0 0 0 0 +303 1 5.7182 1 90.52501870568047 106.39377169716536 0 0 0 0 +8608 1 1.0746 1 76.21223481146204 101.87248858237965 0 0 0 0 +340 1 5.396 1 106.33121500489915 122.79053536880546 0 0 0 0 +348 1 5.3539 1 94.57329946323028 76.70465852132405 0 0 0 0 +352 1 5.327 1 114.55465300767489 108.79654252778833 0 0 0 0 +375 1 5.0832 1 94.76006571125114 121.7763425403442 0 0 0 0 +1348 1 2.7383 1 79.43839681364805 77.39315954852835 0 0 0 0 +398 1 4.9385 1 78.54819233024108 120.66641976910398 0 0 0 0 +498 1 4.3761 1 126.34939713827275 105.92542308832462 0 0 0 0 +502 1 4.3624 1 109.19898692515014 85.34548673800363 0 0 0 0 +517 1 4.3124 1 135.31602016003768 115.4084987969769 0 0 0 0 +4115 1 1.5637 1 115.40221645044869 131.5416230927827 0 0 0 0 +554 1 4.192 1 89.85274513230969 101.57089185352825 0 0 0 0 +9936 1 1.0035 1 89.49964452103868 75.22616978211482 0 0 0 0 +573 1 4.1199 1 102.56437238516314 95.01478514265177 0 0 0 0 +591 1 4.0427 1 98.96584524668847 87.623726374321 0 0 0 0 +592 1 4.0425 1 82.00356128627816 87.71839841822191 0 0 0 0 +597 1 4.0309 1 90.41048806767004 116.259276068492 0 0 0 0 +606 1 3.9993 1 88.46796181704724 110.88788398648722 0 0 0 0 +635 1 3.9235 1 81.47591602563126 83.85801963616919 0 0 0 0 +640 1 3.9108 1 83.82643522492856 116.60092216020918 0 0 0 0 +642 1 3.9107 1 124.6040152236882 93.09342195429616 0 0 0 0 +420 1 4.8108 1 127.05677449826076 132.69174491295303 0 0 0 0 +669 1 3.8455 1 128.36625356518945 122.02801197678842 0 0 0 0 +671 1 3.8395 1 115.63168661598206 113.3040024728655 0 0 0 0 +686 1 3.8151 1 122.61898980077858 104.08580503756903 0 0 0 0 +5268 1 1.3803 1 75.12330151542659 76.08558006868635 0 0 0 0 +691 1 3.8011 1 89.22018330385376 125.05719580186289 0 0 0 0 +693 1 3.8004 1 119.24122646814872 105.9426910746848 0 0 0 0 +759 1 3.6578 1 132.23495070722424 95.1745321709689 0 0 0 0 +762 1 3.6529 1 122.78101976217202 122.29819723267909 0 0 0 0 +785 1 3.617 1 106.13409380266827 80.50183728270834 0 0 0 0 +806 1 3.5762 1 121.07235620367125 90.01983641251311 0 0 0 0 +807 1 3.5733 1 95.72375330188018 85.77694578368506 0 0 0 0 +4294 1 1.5335 1 75.40479339883387 120.76006113273588 0 0 0 0 +830 1 3.5096 1 105.10981856096774 91.79084928035724 0 0 0 0 +6394 1 1.2521 1 137.55000394300853 74.78484147757752 0 0 0 0 +858 1 3.4438 1 86.36894452386886 103.93830776937537 0 0 0 0 +859 1 3.4419 1 127.68720667455788 99.03777737525887 0 0 0 0 +864 1 3.4373 1 95.29439747331355 90.72090847979644 0 0 0 0 +894 1 3.3663 1 84.55856056547961 101.14435089050359 0 0 0 0 +904 1 3.3497 1 116.64942105425418 93.2991569462222 0 0 0 0 +934 1 3.2875 1 92.38076825938302 80.29989621906813 0 0 0 0 +937 1 3.2796 1 90.98907518606217 83.20728969100854 0 0 0 0 +4146 1 1.5594 1 95.82668337456973 126.94635868022719 0 0 0 0 +961 1 3.2283 1 86.88054964465434 120.22647664697273 0 0 0 0 +986 1 3.2003 1 129.09836628951035 118.59794665024775 0 0 0 0 +1005 1 3.1726 1 126.10107472525942 119.43314371218975 0 0 0 0 +4369 1 1.5198 1 81.92664563359953 90.47242613448702 0 0 0 0 +3203 1 1.7656 1 77.66541590309797 123.87573058587797 0 0 0 0 +1024 1 3.1445 1 91.3656646865103 119.5572037915094 0 0 0 0 +1058 1 3.0789 1 93.35186854272709 102.31853948370915 0 0 0 0 +1070 1 3.0615 1 129.08456866456424 94.16368875526156 0 0 0 0 +1071 1 3.0603 1 128.50519315673728 110.38581755960999 0 0 0 0 +1083 1 3.0396 1 133.7168972540612 121.05535307092705 0 0 0 0 +1095 1 3.0236 1 125.87526984149059 96.41330576582466 0 0 0 0 +1108 1 3.0054 1 99.24750257071075 82.20938466217078 0 0 0 0 +1114 1 2.9972 1 84.23414050488849 127.11778321816894 0 0 0 0 +7827 1 1.1271 1 121.4805778926907 131.30971526470162 0 0 0 0 +1169 1 2.9355 1 129.86066512316154 115.46132212958128 0 0 0 0 +8360 1 1.09 1 77.79835964865939 76.49825751475161 0 0 0 0 +1195 1 2.9086 1 111.66980454896935 123.5801733627419 0 0 0 0 +1198 1 2.9051 1 80.6136357773145 117.47724773409253 0 0 0 0 +1267 1 2.8303 1 80.70700740075412 125.010511103414 0 0 0 0 +1280 1 2.8108 1 90.88864639195985 122.35995508629192 0 0 0 0 +1288 1 2.8034 1 132.01247883441525 118.79690071881082 0 0 0 0 +1301 1 2.7927 1 86.20431360275968 106.97844984124922 0 0 0 0 +1320 1 2.7696 1 112.32268860624959 105.54830655923664 0 0 0 0 +1409 1 2.6702 1 84.48488547038865 98.20733227223883 0 0 0 0 +7830 1 1.1271 1 138.45937580423106 123.24739089647557 0 0 0 0 +1419 1 2.6604 1 96.28835980768962 116.31919183243275 0 0 0 0 +8590 1 1.0758 1 125.23968411061719 134.95994558777113 0 0 0 0 +9676 1 1.0169 1 74.88643332371113 118.03249577329287 0 0 0 0 +1485 1 2.5922 1 108.46835574061555 88.66708841014449 0 0 0 0 +1503 1 2.5733 1 130.9575725086779 86.65763249756584 0 0 0 0 +1504 1 2.5733 1 114.86043875615148 104.86776885843862 0 0 0 0 +1519 1 2.5581 1 135.10233651193184 82.65727096961494 0 0 0 0 +1525 1 2.5488 1 119.2616905236105 94.39940515579376 0 0 0 0 +1537 1 2.5411 1 124.89914324849222 89.2116153697881 0 0 0 0 +1552 1 2.5323 1 86.64768389370158 113.55003393408144 0 0 0 0 +1556 1 2.5287 1 128.76187892242044 103.53586198209808 0 0 0 0 +1588 1 2.5022 1 83.46051337074826 103.77915939896602 0 0 0 0 +1602 1 2.4933 1 92.2744205376112 124.57142507087839 0 0 0 0 +1611 1 2.484 1 83.02958221924406 122.30550263619232 0 0 0 0 +1619 1 2.4801 1 132.19632961752012 114.21087974694491 0 0 0 0 +1635 1 2.4636 1 100.6966115291652 91.38158318294784 0 0 0 0 +1636 1 2.4627 1 84.79647615345327 86.16993430102079 0 0 0 0 +1641 1 2.458 1 130.23135410959154 97.65270256222303 0 0 0 0 +2310 1 2.0844 1 123.84053997032935 133.6498521010817 0 0 0 0 +1664 1 2.4441 1 104.03871412733999 97.88212886982501 0 0 0 0 +1679 1 2.4404 1 99.33582614423018 126.18090150246069 0 0 0 0 +1685 1 2.4309 1 106.0192349715456 88.98964760986263 0 0 0 0 +9262 1 1.0388 1 109.59321309731484 133.27760317299507 0 0 0 0 +1723 1 2.41 1 129.08176752185673 107.78134658751542 0 0 0 0 +7971 1 1.1164 1 75.85771913416768 121.98798063196502 0 0 0 0 +1794 1 2.3604 1 129.79074986184537 88.75193372261404 0 0 0 0 +1800 1 2.3548 1 97.34004074875686 124.76246724485024 0 0 0 0 +5258 1 1.3809 1 76.82604620215918 116.6467785759622 0 0 0 0 +1805 1 2.3527 1 101.7025740991339 89.23160142720572 0 0 0 0 +1810 1 2.3514 1 93.18188644155687 112.39873769567922 0 0 0 0 +1813 1 2.3486 1 90.95185936302187 75.86899596618753 0 0 0 0 +1827 1 2.3423 1 96.60227050961083 81.93316509104386 0 0 0 0 +1859 1 2.3254 1 86.24510113327152 122.8622894246438 0 0 0 0 +9296 1 1.0367 1 122.88623779758073 124.54605083456704 0 0 0 0 +1972 1 2.2575 1 127.64174010609044 124.92018903237216 0 0 0 0 +6059 1 1.2873 1 74.72863260522581 127.03402717169834 0 0 0 0 +2062 1 2.2054 1 135.46088374831146 119.10270098531211 0 0 0 0 +2083 1 2.1913 1 93.57853255728776 83.93150198611455 0 0 0 0 +2084 1 2.1912 1 131.13793222131682 121.05444472909386 0 0 0 0 +2086 1 2.19 1 107.8948595196136 92.41057460120881 0 0 0 0 +2117 1 2.1715 1 94.99464643449255 118.22565837473536 0 0 0 0 +6592 1 1.2324 1 133.7143265562595 136.5325182823551 0 0 0 0 +3347 1 1.7288 1 119.37792802277286 137.03270766656465 0 0 0 0 +2141 1 2.1593 1 82.15199289757173 120.17967532734968 0 0 0 0 +2170 1 2.1488 1 90.23501927605537 127.77133692740439 0 0 0 0 +2175 1 2.1477 1 128.26764462493497 90.36459095379435 0 0 0 0 +6445 1 1.2478 1 80.90443496393294 74.83320652618504 0 0 0 0 +2183 1 2.145 1 92.23914955172239 85.5586223719329 0 0 0 0 +2211 1 2.132 1 132.2986562693115 116.43559809040444 0 0 0 0 +2213 1 2.1311 1 113.26810849332695 102.47175145892598 0 0 0 0 +2238 1 2.1204 1 117.39880110411092 101.1879914974482 0 0 0 0 +5422 1 1.3607 1 129.28377658849973 127.81183119996983 0 0 0 0 +2295 1 2.0952 1 106.01218704978805 95.2424890294614 0 0 0 0 +2304 1 2.0901 1 84.23975175315437 120.36497487158583 0 0 0 0 +2343 1 2.0709 1 105.44919547304873 76.35812769369944 0 0 0 0 +2344 1 2.0708 1 82.96310144166584 96.45539569405133 0 0 0 0 +2350 1 2.0681 1 110.63454102049148 126.15277113910078 0 0 0 0 +7901 1 1.1214 1 119.37089140266936 120.96178785895526 0 0 0 0 +1104 1 3.0137 1 76.4894165015707 99.89664919660471 0 0 0 0 +2360 1 2.0621 1 123.58665866688806 119.67734522106304 0 0 0 0 +2366 1 2.0611 1 99.22813484747137 84.67286944368419 0 0 0 0 +2369 1 2.0592 1 116.97594241961326 89.8322655438483 0 0 0 0 +2372 1 2.0586 1 91.50150641414885 111.05903684948169 0 0 0 0 +991 1 3.191 1 76.27048664305974 77.97068121488202 0 0 0 0 +2418 1 2.0416 1 130.08991635298028 100.29201660325431 0 0 0 0 +2426 1 2.0379 1 88.35548267755341 98.89317106509523 0 0 0 0 +2451 1 2.0271 1 87.57323713060703 117.04783481227207 0 0 0 0 +2568 1 1.9833 1 128.3613683495096 96.48984996023657 0 0 0 0 +2575 1 1.9798 1 121.5927828441243 119.7599059819286 0 0 0 0 +2580 1 1.9775 1 118.57543869701809 91.15173177293491 0 0 0 0 +964 1 3.2275 1 135.2946323994638 134.79942963596613 0 0 0 0 +2642 1 1.9521 1 125.51360958565003 121.90730989202936 0 0 0 0 +2661 1 1.9434 1 115.2441142524271 102.66577498426544 0 0 0 0 +8661 1 1.0717 1 77.09725098012574 117.81808375747 0 0 0 0 +2678 1 1.9392 1 80.8029671215851 127.25538699138008 0 0 0 0 +2681 1 1.9374 1 134.1930811312632 84.67834748962665 0 0 0 0 +2694 1 1.9318 1 86.42267722876792 124.90470043093424 0 0 0 0 +2717 1 1.9242 1 117.76223983511892 103.53932837644867 0 0 0 0 +2718 1 1.9236 1 110.88508021639176 102.60272062308451 0 0 0 0 +2723 1 1.9226 1 132.09024749798138 112.13507875717052 0 0 0 0 +3666 1 1.6568 1 75.2581151713436 119.25902394275649 0 0 0 0 +2729 1 1.9189 1 136.40915822208447 79.8743305199141 0 0 0 0 +2759 1 1.9084 1 109.13391634190033 90.8041133258907 0 0 0 0 +2764 1 1.9069 1 91.67004572695325 99.21963066849659 0 0 0 0 +2806 1 1.8915 1 97.46252714718823 78.85709093513111 0 0 0 0 +565 1 4.1548 1 103.02186145137986 126.00751226474397 0 0 0 0 +2860 1 1.8762 1 91.74207333449317 113.77503172077887 0 0 0 0 +2864 1 1.8731 1 97.51361930173917 83.81708831754034 0 0 0 0 +2869 1 1.8724 1 89.90720196066864 113.39769772802612 0 0 0 0 +5230 1 1.3851 1 124.05167914573084 129.63136075814145 0 0 0 0 +2923 1 1.8564 1 111.4664369192138 114.05007164082214 0 0 0 0 +2946 1 1.8497 1 92.13089804975 97.46163678176977 0 0 0 0 +2969 1 1.8426 1 107.37249657119001 90.52709355990183 0 0 0 0 +2979 1 1.8391 1 124.49245721502095 101.99722163011974 0 0 0 0 +3010 1 1.8253 1 121.42006718381388 107.67463146270093 0 0 0 0 +3011 1 1.8248 1 127.91576133669864 87.87998432527124 0 0 0 0 +3022 1 1.8198 1 130.00065570027647 134.08462314863726 0 0 0 0 +5780 1 1.3161 1 79.33940703285083 82.37506148032193 0 0 0 0 +3036 1 1.8157 1 97.38955681992752 126.81503767900155 0 0 0 0 +3042 1 1.814 1 78.32694802389777 117.17041974944843 0 0 0 0 +3055 1 1.8112 1 83.00738535028702 125.0687454536051 0 0 0 0 +3082 1 1.8054 1 116.78246225630183 99.13839670746681 0 0 0 0 +7434 1 1.1583 1 138.1297951267694 124.73288373256335 0 0 0 0 +3179 1 1.771 1 117.5376869296987 95.6996992093136 0 0 0 0 +7476 1 1.1547 1 113.82784826146204 124.52638301299703 0 0 0 0 +5344 1 1.3705 1 75.54242139632521 117.07567111334787 0 0 0 0 +3205 1 1.7653 1 121.02777191411822 93.19651661958389 0 0 0 0 +3238 1 1.7551 1 100.69350878196938 127.68878986861354 0 0 0 0 +3245 1 1.7541 1 96.24267953767831 88.36531836768965 0 0 0 0 +3250 1 1.7528 1 86.38879478586956 115.63468124506034 0 0 0 0 +3251 1 1.7528 1 87.20504205067103 126.908079607468 0 0 0 0 +3267 1 1.7481 1 134.79701182584935 95.97362018414621 0 0 0 0 +3272 1 1.747 1 117.97199043807564 109.54913411434956 0 0 0 0 +3289 1 1.7435 1 94.5584947208201 88.16941291904678 0 0 0 0 +3296 1 1.7412 1 135.66728124842638 122.79670765819824 0 0 0 0 +3300 1 1.7396 1 98.86995087161179 90.43906510601072 0 0 0 0 +3320 1 1.7351 1 96.01383565052312 79.9189587434482 0 0 0 0 +3326 1 1.7335 1 112.03426795829552 111.20602003343149 0 0 0 0 +3331 1 1.7327 1 135.6072337675393 85.70088913493514 0 0 0 0 +5028 1 1.4169 1 76.05462001047063 127.00816408992011 0 0 0 0 +1511 1 2.5643 1 127.96822076823273 129.22954671562562 0 0 0 0 +3851 1 1.617 1 104.95184197913696 128.11332642582462 0 0 0 0 +3368 1 1.7239 1 130.76527374645175 92.58013555593627 0 0 0 0 +3381 1 1.7203 1 81.00964303103095 122.85421626785634 0 0 0 0 +7082 1 1.1876 1 89.62772488825338 120.83787436791077 0 0 0 0 +3417 1 1.7115 1 115.63507828985482 100.70949149011503 0 0 0 0 +2744 1 1.9129 1 122.39881287436063 134.9236320601616 0 0 0 0 +3442 1 1.7053 1 92.98718863149166 117.45549704784374 0 0 0 0 +3444 1 1.7052 1 130.23839055125103 113.21207703235243 0 0 0 0 +3446 1 1.705 1 130.46594852549933 111.5642056071118 0 0 0 0 +1804 1 2.3532 1 82.64473352037875 74.52445028277363 0 0 0 0 +3480 1 1.6974 1 94.25917269121256 125.1098213835694 0 0 0 0 +3535 1 1.6856 1 87.78374193653353 85.80185311998484 0 0 0 0 +3608 1 1.6693 1 105.87625855645719 97.04005737789392 0 0 0 0 +3640 1 1.6646 1 126.9613124800661 91.7028309970635 0 0 0 0 +246 1 6.2598 1 115.13219778264539 136.56902392691072 0 0 0 0 +3694 1 1.6494 1 110.97940980301651 112.44840441130424 0 0 0 0 +728 1 3.7293 1 120.11850936939678 133.31874419848282 0 0 0 0 +3734 1 1.6424 1 81.52349718434469 103.11707617672187 0 0 0 0 +3740 1 1.6412 1 87.71943683297042 128.47468717763087 0 0 0 0 +3752 1 1.6393 1 102.65179360679248 91.26239267874764 0 0 0 0 +3789 1 1.6323 1 117.10109077801661 97.34329510299862 0 0 0 0 +3796 1 1.6303 1 130.10989978046138 90.675469146875 0 0 0 0 +3803 1 1.6283 1 100.5585385650308 124.66151158211255 0 0 0 0 +3817 1 1.6243 1 77.51621842062252 102.81172988485555 0 0 0 0 +4573 1 1.4855 1 106.72868840934507 134.69436586387476 0 0 0 0 +3848 1 1.6173 1 86.1068514048818 118.01055673907219 0 0 0 0 +3196 1 1.767 1 136.82528155604365 129.70249825940755 0 0 0 0 +3876 1 1.6125 1 93.48474285230942 86.90672260032402 0 0 0 0 +3888 1 1.6102 1 130.43075109592877 123.79854618230199 0 0 0 0 +3927 1 1.6023 1 84.68454131534774 124.88513475998874 0 0 0 0 +3986 1 1.5892 1 93.35374620596784 114.38258486997344 0 0 0 0 +9155 1 1.0445 1 105.43938800765996 126.90311054800858 0 0 0 0 +4022 1 1.5794 1 94.20583300501795 116.38228627611923 0 0 0 0 +4064 1 1.5726 1 125.69445907177185 100.81719946448776 0 0 0 0 +4088 1 1.5686 1 88.97183261917604 84.48002179570379 0 0 0 0 +4091 1 1.5681 1 129.21829979197014 91.92476260644968 0 0 0 0 +1780 1 2.369 1 78.67956848253107 75.0133269317088 0 0 0 0 +4147 1 1.5594 1 87.903809861053 115.140504628382 0 0 0 0 +4155 1 1.5572 1 132.78205427543156 123.08131591387713 0 0 0 0 +4181 1 1.5527 1 94.21539377366206 81.83090000653523 0 0 0 0 +4184 1 1.5521 1 126.90331846919034 89.17597586914508 0 0 0 0 +4213 1 1.5473 1 128.65763386722853 113.5730678594449 0 0 0 0 +8104 1 1.1072 1 77.66159601636916 101.50103599357791 0 0 0 0 +9446 1 1.0286 1 74.90699458416687 104.29203721428316 0 0 0 0 +4361 1 1.521 1 89.35534568087326 85.94969278641206 0 0 0 0 +4440 1 1.5077 1 113.11098512456711 114.07157101460173 0 0 0 0 +4479 1 1.5008 1 102.13170009722819 98.21155195203613 0 0 0 0 +6021 1 1.2922 1 98.50608380854443 127.81182336666133 0 0 0 0 +4501 1 1.497 1 116.5738805295929 88.18654891051759 0 0 0 0 +4502 1 1.4969 1 78.56121636514702 125.21454928112358 0 0 0 0 +4516 1 1.4945 1 85.87203891940436 111.7418098976791 0 0 0 0 +4529 1 1.4932 1 108.07984123099428 82.30317061886481 0 0 0 0 +4534 1 1.492 1 122.2093891903817 94.25457865766911 0 0 0 0 +4581 1 1.4838 1 80.90282985899513 99.13472898323218 0 0 0 0 +4588 1 1.4824 1 86.19842193987755 128.1617114407867 0 0 0 0 +8732 1 1.068 1 133.20049678081983 134.48270714557395 0 0 0 0 +4629 1 1.4772 1 87.49173578917852 84.35359869517599 0 0 0 0 +4641 1 1.4751 1 123.51506053525809 90.63383564008703 0 0 0 0 +4681 1 1.4673 1 137.43790575167748 122.47662882615202 0 0 0 0 +4684 1 1.467 1 95.08411245456746 83.0098533612152 0 0 0 0 +4704 1 1.4644 1 132.50868085461295 126.20609671804556 0 0 0 0 +4714 1 1.462 1 113.98214056487548 115.26793460950574 0 0 0 0 +6441 1 1.248 1 123.97079442280857 130.93502344197134 0 0 0 0 +310 1 5.65 1 102.57660655537258 130.80741866553075 0 0 0 0 +4737 1 1.4585 1 106.07844148060782 77.98527999584877 0 0 0 0 +4747 1 1.4571 1 131.35356322358035 125.31517715259903 0 0 0 0 +4753 1 1.4559 1 120.13984195416046 118.90667558746215 0 0 0 0 +4756 1 1.4555 1 126.2177143318862 123.5740577697413 0 0 0 0 +4758 1 1.4551 1 97.81055506833277 77.25140007332783 0 0 0 0 +4777 1 1.4518 1 128.6340182092325 101.23844685436883 0 0 0 0 +4831 1 1.4447 1 99.18900016416502 92.50308576032486 0 0 0 0 +4855 1 1.4406 1 116.47876328554852 106.03043721302922 0 0 0 0 +4877 1 1.437 1 113.41783713096044 111.93914331453423 0 0 0 0 +4904 1 1.432 1 124.0693216777678 107.63558037044561 0 0 0 0 +4911 1 1.4306 1 89.106058779134 119.66093330791028 0 0 0 0 +9203 1 1.0417 1 77.12128972507081 79.8575919912426 0 0 0 0 +4938 1 1.4274 1 135.8285187370878 121.25412469152025 0 0 0 0 +2557 1 1.987 1 113.42691154571001 129.4700054623471 0 0 0 0 +4867 1 1.4381 1 116.04904851520462 132.85524680273053 0 0 0 0 +8962 1 1.0547 1 137.9594312762602 115.64482831747019 0 0 0 0 +7252 1 1.1738 1 96.4552982985941 128.15284766628483 0 0 0 0 +5073 1 1.4087 1 94.40550628545934 100.33758134075585 0 0 0 0 +1339 1 2.7486 1 138.00243729673736 133.03397414209516 0 0 0 0 +5099 1 1.4045 1 92.06496843382615 87.27969147723167 0 0 0 0 +5104 1 1.4036 1 99.11116965383665 124.30977582768824 0 0 0 0 +4214 1 1.5472 1 136.7629680871786 131.333602742327 0 0 0 0 +5136 1 1.3982 1 119.89674828236151 92.16326313607685 0 0 0 0 +2079 1 2.1931 1 105.20541715653215 133.68385299367483 0 0 0 0 +5228 1 1.3857 1 119.02342100489304 108.48655547326696 0 0 0 0 +5249 1 1.382 1 132.88679510943643 124.84215793198993 0 0 0 0 +8939 1 1.0557 1 138.0247554842537 131.0012530231084 0 0 0 0 +34 1 17.4454 1 138.54741341396573 105.08513827665443 0 0 0 0 +5276 1 1.379 1 129.16458986772503 105.44435687035997 0 0 0 0 +5311 1 1.3743 1 98.21307699292336 116.81548410019798 0 0 0 0 +5114 1 1.4008 1 76.16844089069012 124.23262268020494 0 0 0 0 +8977 1 1.0539 1 75.48784706281488 115.88641705917661 0 0 0 0 +5352 1 1.3696 1 87.00284875260783 101.5636271482095 0 0 0 0 +5366 1 1.3682 1 81.52890405979505 101.48440449320935 0 0 0 0 +5371 1 1.3675 1 93.04563380387327 88.28226260432005 0 0 0 0 +628 1 3.9394 1 138.32433406021676 94.37886094333439 0 0 0 0 +5417 1 1.3614 1 94.797803254026 114.82604386446135 0 0 0 0 +5421 1 1.3609 1 107.03051038261995 93.90615866057729 0 0 0 0 +5439 1 1.3581 1 79.17769163314979 123.69146040467616 0 0 0 0 +5440 1 1.3579 1 136.2983221803446 95.99720916917951 0 0 0 0 +5448 1 1.3567 1 106.37827620518034 98.39356490547203 0 0 0 0 +2223 1 2.1256 1 81.38506904668134 92.18894106984422 0 0 0 0 +5463 1 1.3549 1 117.76638937001562 108.02684157819311 0 0 0 0 +5546 1 1.3447 1 103.35994281804194 90.00853919004405 0 0 0 0 +5563 1 1.3427 1 93.43550774049545 118.88465236097778 0 0 0 0 +5383 1 1.3664 1 120.1500524279393 138.34944145589614 0 0 0 0 +519 1 4.3082 1 135.56206611171262 125.78673368186895 0 0 0 0 +5593 1 1.3381 1 131.41383676276283 122.75402735424939 0 0 0 0 +5594 1 1.3381 1 84.52913590442024 123.44685211212506 0 0 0 0 +5639 1 1.3331 1 82.2062117825902 126.41964570342309 0 0 0 0 +5643 1 1.3328 1 136.62152762947784 117.83977499032427 0 0 0 0 +6027 1 1.2919 1 125.11432236163185 130.3932830919852 0 0 0 0 +5658 1 1.3318 1 132.6718351387849 84.42412440086986 0 0 0 0 +5661 1 1.3314 1 115.28301473285764 122.76843133374621 0 0 0 0 +5676 1 1.3294 1 133.80830667136792 117.78401010224901 0 0 0 0 +5708 1 1.3248 1 126.89920088064657 103.16484980135453 0 0 0 0 +5345 1 1.3704 1 107.53155132689548 129.06459164569577 0 0 0 0 +5734 1 1.3226 1 112.41073629520423 112.81926997275193 0 0 0 0 +1871 1 2.3198 1 129.6204816460863 126.03865132915816 0 0 0 0 +5644 1 1.3327 1 91.86067567294515 127.38298263477174 0 0 0 0 +5749 1 1.3206 1 109.59739985940719 123.40637797068281 0 0 0 0 +5767 1 1.3174 1 96.56077743560783 119.02847158098271 0 0 0 0 +5768 1 1.3174 1 86.34211788611485 85.10552799869481 0 0 0 0 +6483 1 1.245 1 138.2461512233327 87.57832237128672 0 0 0 0 +4662 1 1.4703 1 118.79158244108166 135.54717443417587 0 0 0 0 +717 1 3.7563 1 124.82843372878745 125.77607903778042 0 0 0 0 +998 1 3.1787 1 122.22972492590375 137.45783654965368 0 0 0 0 +5839 1 1.3107 1 101.1737853286422 97.26231405075357 0 0 0 0 +5841 1 1.3105 1 129.77426930053872 101.92797031653369 0 0 0 0 +5842 1 1.3103 1 86.08435340706924 99.38589470032937 0 0 0 0 +3790 1 1.6319 1 75.06052884756437 93.93876259243483 0 0 0 0 +5880 1 1.307 1 137.41118345042403 123.78571068930401 0 0 0 0 +5883 1 1.3064 1 118.63338922227787 89.55804456949672 0 0 0 0 +9080 1 1.0481 1 75.00251115210139 97.32319426702321 0 0 0 0 +5900 1 1.3047 1 86.87066126442252 108.84346317312283 0 0 0 0 +5929 1 1.302 1 90.89326739751483 86.58327845790932 0 0 0 0 +5931 1 1.3018 1 127.5930308710195 102.07250571429618 0 0 0 0 +5947 1 1.3 1 127.17663762781021 93.16428482882051 0 0 0 0 +5957 1 1.2991 1 112.0975572620874 103.59818588717549 0 0 0 0 +1594 1 2.4992 1 78.67508964495228 80.60581485172743 0 0 0 0 +5973 1 1.2974 1 104.35090401276452 117.50429637464048 0 0 0 0 +5993 1 1.2954 1 113.26985556914184 116.3451424228007 0 0 0 0 +6020 1 1.2926 1 130.66051627119495 110.10527218485917 0 0 0 0 +9964 1 1.0023 1 88.7197117249048 74.699623177691 0 0 0 0 +6068 1 1.2867 1 97.3914720541491 89.70921458780698 0 0 0 0 +6081 1 1.2853 1 117.92898009228648 88.50067673359965 0 0 0 0 +6107 1 1.2828 1 116.75328666876413 104.72543683390359 0 0 0 0 +6130 1 1.2805 1 131.8202881234981 124.0647404492967 0 0 0 0 +6143 1 1.2794 1 109.60820418086176 122.03192329112125 0 0 0 0 +6144 1 1.2793 1 134.5888920998171 94.51017711543653 0 0 0 0 +3102 1 1.7967 1 82.24626319999875 98.2109273472709 0 0 0 0 +6182 1 1.274 1 104.21499900809337 89.09062838720048 0 0 0 0 +6200 1 1.2716 1 90.6966072583736 98.00565285900603 0 0 0 0 +6203 1 1.2714 1 84.01594477344403 84.37901628744083 0 0 0 0 +6207 1 1.2708 1 100.76349253850901 98.4469314949028 0 0 0 0 +6251 1 1.2651 1 125.44471800580119 99.4826407519777 0 0 0 0 +5341 1 1.3708 1 77.0142948421273 125.29068702070003 0 0 0 0 +6272 1 1.2629 1 127.37687601374697 108.54675272967918 0 0 0 0 +6279 1 1.2622 1 88.6056692203746 127.43262933620159 0 0 0 0 +6287 1 1.2618 1 109.55300505208844 101.81632044373758 0 0 0 0 +6878 1 1.2042 1 121.11000657431374 135.62102793182538 0 0 0 0 +6303 1 1.2608 1 84.99508611393037 118.89445265358707 0 0 0 0 +6315 1 1.2597 1 126.34535212009077 102.02410522477776 0 0 0 0 +6357 1 1.2563 1 85.2749230085489 84.40792552134569 0 0 0 0 +4059 1 1.573 1 107.97043442196679 130.44613985275015 0 0 0 0 +6372 1 1.255 1 106.88848368791889 99.55239974717506 0 0 0 0 +6385 1 1.2528 1 105.50167860769332 118.26341870618324 0 0 0 0 +6387 1 1.2526 1 92.97344194707256 115.73604330650069 0 0 0 0 +6427 1 1.2496 1 90.57257949852827 85.38065284811859 0 0 0 0 +6132 1 1.2804 1 124.33823494761937 136.88519106960325 0 0 0 0 +6455 1 1.2471 1 82.29697656546388 118.57689002894638 0 0 0 0 +6999 1 1.1943 1 118.48563031541555 138.14129487970357 0 0 0 0 +6497 1 1.2434 1 130.8288213043356 117.23662163863409 0 0 0 0 +9002 1 1.0525 1 79.82895441383188 92.00924254530793 0 0 0 0 +6515 1 1.2417 1 82.26332009696941 127.69720735017495 0 0 0 0 +6547 1 1.2379 1 97.40365763578966 80.38474468366947 0 0 0 0 +6553 1 1.2373 1 79.26130405865842 127.36186763009651 0 0 0 0 +6560 1 1.2363 1 133.70366485325113 113.10558348906535 0 0 0 0 +6577 1 1.2348 1 84.81264888420957 121.88699329029234 0 0 0 0 +5887 1 1.306 1 75.73978946017937 125.68681754789469 0 0 0 0 +6583 1 1.2336 1 104.22038355454858 75.32302992050528 0 0 0 0 +6593 1 1.2321 1 87.5603205178928 100.25523226844875 0 0 0 0 +6605 1 1.2312 1 125.6606183956719 102.97068291772412 0 0 0 0 +6100 1 1.2831 1 80.28275658715003 100.85481026724035 0 0 0 0 +6622 1 1.2302 1 127.0284044217986 117.46152777118695 0 0 0 0 +6624 1 1.2297 1 84.79544338982336 113.79972205944371 0 0 0 0 +6655 1 1.2266 1 82.40148456663671 100.58405234478121 0 0 0 0 +6679 1 1.2241 1 110.8899727804537 121.7086068333524 0 0 0 0 +6692 1 1.2232 1 123.61611003745263 106.38947775195889 0 0 0 0 +6709 1 1.2213 1 97.2128469863153 91.93641536263944 0 0 0 0 +6714 1 1.221 1 116.0233416583117 91.14204425943747 0 0 0 0 +7181 1 1.1797 1 112.7599959149951 132.66716960385259 0 0 0 0 +6776 1 1.2154 1 114.5480234629507 92.50557843060818 0 0 0 0 +6795 1 1.2128 1 129.1201854192565 86.99352010672952 0 0 0 0 +6798 1 1.2127 1 105.59317962884016 117.03498034561639 0 0 0 0 +3816 1 1.6244 1 117.4491564258481 133.41953641152773 0 0 0 0 +6853 1 1.2071 1 80.50919249005442 102.16638890306393 0 0 0 0 +6903 1 1.2018 1 93.31652714307661 104.42013520786698 0 0 0 0 +6906 1 1.2016 1 84.63688925610482 105.49988950201772 0 0 0 0 +6929 1 1.1997 1 95.61909137896163 124.70724965162782 0 0 0 0 +6938 1 1.1991 1 123.09968982739775 88.80680814477742 0 0 0 0 +6949 1 1.1983 1 125.11850576763484 108.38626808166484 0 0 0 0 +6961 1 1.1975 1 136.83207850116762 81.44883477529461 0 0 0 0 +8864 1 1.0592 1 79.68575319161329 88.49774895525994 0 0 0 0 +3090 1 1.8023 1 137.70379681762873 135.23967736753679 0 0 0 0 +6992 1 1.1949 1 93.21796992265965 99.72793075735856 0 0 0 0 +1157 1 2.9472 1 111.33629622470866 134.13587612308876 0 0 0 0 +7045 1 1.1897 1 116.71569275419009 111.13682807929372 0 0 0 0 +7074 1 1.188 1 104.84034997808864 119.85643195059441 0 0 0 0 +7080 1 1.1877 1 110.22490737495977 91.81503227348796 0 0 0 0 +7092 1 1.1867 1 93.53196636301176 126.3310718221881 0 0 0 0 +7103 1 1.1854 1 124.03315094933905 95.5406133763613 0 0 0 0 +7106 1 1.1853 1 82.5653227813064 102.18682425356396 0 0 0 0 +7118 1 1.1842 1 89.94470222541771 98.92135473572935 0 0 0 0 +7125 1 1.1837 1 88.90641153020697 122.56989634297663 0 0 0 0 +7163 1 1.1809 1 104.9774608330712 94.06240255947357 0 0 0 0 +7173 1 1.1804 1 122.8526008173224 107.86198611093262 0 0 0 0 +7180 1 1.1797 1 80.7887241520576 76.00884843578422 0 0 0 0 +7206 1 1.1777 1 137.02599877488876 121.31199374206841 0 0 0 0 +7241 1 1.1746 1 136.61876684674507 120.24865228312791 0 0 0 0 +7258 1 1.1736 1 133.0863812866959 97.58270540678835 0 0 0 0 +7293 1 1.1715 1 111.020654065291 104.11300468465708 0 0 0 0 +7296 1 1.1709 1 121.6597162851195 106.28279187341775 0 0 0 0 +7305 1 1.17 1 82.41761323237972 94.63880835447836 0 0 0 0 +7316 1 1.1691 1 135.78538199943233 94.33301915275953 0 0 0 0 +7329 1 1.1681 1 131.97622105415414 97.53272339538647 0 0 0 0 +3214 1 1.7622 1 109.20938661808059 124.89542834463626 0 0 0 0 +7351 1 1.1657 1 131.2531420353185 126.59407781059386 0 0 0 0 +3263 1 1.7493 1 113.08256462715171 121.74546403398172 0 0 0 0 +7397 1 1.1617 1 118.76366271368653 92.6668389581896 0 0 0 0 +9945 1 1.0032 1 101.08570041364274 93.00492686996304 0 0 0 0 +6719 1 1.2204 1 78.21693206644082 78.87418827594755 0 0 0 0 +7448 1 1.1572 1 90.71009813031014 109.74089631256756 0 0 0 0 +7472 1 1.155 1 120.2155406412534 108.42255768816094 0 0 0 0 +7497 1 1.1525 1 127.93463584888991 115.78789043383968 0 0 0 0 +7514 1 1.1516 1 94.45723276361687 113.59779249376493 0 0 0 0 +7516 1 1.1514 1 93.01775002735236 82.39205579289275 0 0 0 0 +7522 1 1.1509 1 125.72534312194999 90.84765637091945 0 0 0 0 +7533 1 1.1502 1 81.94237323025264 76.0741901184399 0 0 0 0 +7572 1 1.1462 1 135.36486521044455 80.89802405968777 0 0 0 0 +7589 1 1.145 1 126.8015148607835 94.32258325049118 0 0 0 0 +7602 1 1.1439 1 100.10916288692371 93.40192846101318 0 0 0 0 +7613 1 1.1432 1 133.4746558561385 85.97530421978533 0 0 0 0 +951 1 3.245 1 107.55636618888124 126.77386979598279 0 0 0 0 +7660 1 1.1392 1 83.07922230747691 99.46667496535044 0 0 0 0 +7683 1 1.1377 1 92.4019968207133 126.33299495999975 0 0 0 0 +7690 1 1.1371 1 81.40861415715491 121.55934078127733 0 0 0 0 +7712 1 1.1354 1 136.58233515878305 78.37389037737506 0 0 0 0 +7713 1 1.1354 1 112.65812325505206 115.3023685815469 0 0 0 0 +7761 1 1.1314 1 95.2171342531923 101.42964314065972 0 0 0 0 +7889 1 1.1221 1 76.38832785036305 118.57022798647849 0 0 0 0 +7813 1 1.1279 1 92.30060783649526 100.55001633004977 0 0 0 0 +3979 1 1.5902 1 124.46306280961893 138.28629346159394 0 0 0 0 +7872 1 1.1231 1 117.15955081503154 115.23746868974513 0 0 0 0 +7884 1 1.1225 1 85.88394113529102 109.41168951792223 0 0 0 0 +6830 1 1.2093 1 111.54464181323218 137.35882089955717 0 0 0 0 +7916 1 1.1197 1 91.82054530072506 109.53776807043212 0 0 0 0 +7917 1 1.1197 1 114.43461649824208 101.3907250683648 0 0 0 0 +9071 1 1.0486 1 118.11168689840792 134.53752487342302 0 0 0 0 +7978 1 1.1159 1 92.99733561685939 110.54608069070076 0 0 0 0 +8014 1 1.1137 1 88.66971035689953 121.44804307726103 0 0 0 0 +8025 1 1.1131 1 118.54113753063851 102.26617295057547 0 0 0 0 +8070 1 1.1099 1 103.9260179912412 81.1352614419835 0 0 0 0 +8103 1 1.1073 1 92.73673381809415 108.9633526803127 0 0 0 0 +896 1 3.3624 1 126.59775162723548 136.68427935066418 0 0 0 0 +8155 1 1.1043 1 105.38238925385582 98.9699429355066 0 0 0 0 +8163 1 1.1036 1 133.88328895821044 118.99464655031572 0 0 0 0 +8183 1 1.1023 1 88.52229672142498 103.74833783372912 0 0 0 0 +8189 1 1.102 1 91.03594536547669 112.50491869781382 0 0 0 0 +8191 1 1.1019 1 97.5451226336617 90.86467368017861 0 0 0 0 +8203 1 1.1013 1 119.57088581408684 102.51757676692296 0 0 0 0 +8255 1 1.0974 1 111.5952300804818 109.89270173584168 0 0 0 0 +8259 1 1.0972 1 83.35727161916905 119.05401487205515 0 0 0 0 +8521 1 1.0797 1 113.5848843243253 123.05695067366554 0 0 0 0 +8327 1 1.0924 1 120.58554819391914 102.8071531705828 0 0 0 0 +8347 1 1.0907 1 121.01813353592844 94.60392490091745 0 0 0 0 +8359 1 1.09 1 96.01720135197971 100.70968895214574 0 0 0 0 +8380 1 1.0884 1 85.99904255095771 126.27470595543808 0 0 0 0 +8383 1 1.0883 1 117.72675683095036 110.86933994406898 0 0 0 0 +8400 1 1.0876 1 86.36085725789995 98.2398809872575 0 0 0 0 +8412 1 1.0868 1 116.68956003991688 102.57402724563956 0 0 0 0 +8416 1 1.0866 1 88.4310881795729 113.40407626707689 0 0 0 0 +8424 1 1.0861 1 85.94031831045481 110.48390740496752 0 0 0 0 +8426 1 1.0861 1 97.54248015514666 123.07261969212833 0 0 0 0 +8454 1 1.0841 1 105.9366338930359 119.56758914741792 0 0 0 0 +8458 1 1.084 1 98.2882035784471 91.6763639003234 0 0 0 0 +9995 1 1.0002 1 87.8346406190745 122.07646215489133 0 0 0 0 +8496 1 1.0811 1 89.12508051901217 118.43236815071032 0 0 0 0 +8499 1 1.081 1 126.67166254183418 109.49645000791733 0 0 0 0 +8514 1 1.0801 1 133.7035194056855 123.92983578637738 0 0 0 0 +8525 1 1.0796 1 119.22031355709707 103.51779578362012 0 0 0 0 +9984 1 1.001 1 88.84877395827573 114.32705454882309 0 0 0 0 +8535 1 1.0788 1 94.52816707922966 79.91660471199656 0 0 0 0 +8630 1 1.073 1 95.46466959895388 125.7599766758357 0 0 0 0 +8640 1 1.0727 1 120.22882038169381 103.77739900074569 0 0 0 0 +8645 1 1.0724 1 134.2832750204706 123.0281072991267 0 0 0 0 +8650 1 1.0723 1 90.17667705828012 129.27858090463164 0 0 0 0 +8660 1 1.0717 1 87.90138863604284 123.07230344658421 0 0 0 0 +6579 1 1.2347 1 76.48835469874611 122.96230253680986 0 0 0 0 +4333 1 1.5262 1 137.40209676989352 76.13629969196683 0 0 0 0 +8680 1 1.0711 1 94.63853588683669 126.42613929060296 0 0 0 0 +8733 1 1.068 1 131.73156295624898 85.08531366937027 0 0 0 0 +8735 1 1.0679 1 131.4100311850671 134.3808432587563 0 0 0 0 +8746 1 1.0671 1 131.29176519158116 99.3438701418246 0 0 0 0 +8785 1 1.0641 1 91.56342229511053 77.81753182791007 0 0 0 0 +8808 1 1.0628 1 101.2347759607747 81.92919740004474 0 0 0 0 +8835 1 1.0612 1 98.51666370063056 80.33745162031227 0 0 0 0 +8838 1 1.061 1 87.9142249119446 108.44228658662998 0 0 0 0 +3356 1 1.7258 1 99.49987678619911 128.85067126520718 0 0 0 0 +8866 1 1.0591 1 79.81982411121828 103.00380799328524 0 0 0 0 +8877 1 1.0587 1 133.47571878010277 83.42049477283473 0 0 0 0 +8888 1 1.0579 1 126.96767732481145 101.10265930952731 0 0 0 0 +8911 1 1.057 1 89.06747886865624 128.9026553923876 0 0 0 0 +2999 1 1.832 1 128.8506649585596 135.4756380697614 0 0 0 0 +8957 1 1.0549 1 127.96354741035867 116.84653278250578 0 0 0 0 +7387 1 1.1624 1 108.07761761947513 135.56223900970585 0 0 0 0 +1150 1 2.9538 1 135.30206872491422 137.84570331728463 0 0 0 0 +9033 1 1.0509 1 88.0786251485615 118.47980713760458 0 0 0 0 +9040 1 1.0504 1 136.88305768347993 77.32543057228587 0 0 0 0 +9061 1 1.0497 1 82.25375530388798 123.86862332716444 0 0 0 0 +9064 1 1.049 1 95.0236530484761 80.85310213510616 0 0 0 0 +9078 1 1.0483 1 124.91490407542791 103.71081164864846 0 0 0 0 +9242 1 1.0398 1 138.46391825737464 75.4582434173825 0 0 0 0 +9103 1 1.0469 1 92.98390137618225 98.6310192504063 0 0 0 0 +9142 1 1.045 1 91.30962164231046 126.28643939611973 0 0 0 0 +9194 1 1.0422 1 86.52031513976054 86.25867648239165 0 0 0 0 +9243 1 1.0398 1 112.63786507978143 120.42941067059114 0 0 0 0 +9270 1 1.0382 1 122.59401689252127 106.80944180417436 0 0 0 0 +7505 1 1.152 1 124.93772216059453 123.33762441350932 0 0 0 0 +9292 1 1.0369 1 132.00196115733192 98.59885386445323 0 0 0 0 +9324 1 1.0348 1 134.01004864784608 97.062531612566 0 0 0 0 +9338 1 1.0342 1 135.58423440641025 84.34892412397271 0 0 0 0 +9384 1 1.0316 1 117.13183565864419 91.27242658706736 0 0 0 0 +9414 1 1.0298 1 102.9765881866714 92.51623970464966 0 0 0 0 +9423 1 1.0294 1 121.90732419923256 92.15286365214229 0 0 0 0 +9425 1 1.0294 1 104.4782300215616 118.76086058093735 0 0 0 0 +8265 1 1.097 1 79.69358275459825 99.49163857644093 0 0 0 0 +9448 1 1.0285 1 105.60898911888687 125.90004255400332 0 0 0 0 +8028 1 1.1128 1 137.30620969800904 137.63902626754634 0 0 0 0 +9457 1 1.0279 1 130.2101443856939 109.0548169040616 0 0 0 0 +9463 1 1.0276 1 127.41158293609668 95.20739643991232 0 0 0 0 +2253 1 2.1167 1 127.43951343663399 127.03528331150982 0 0 0 0 +9492 1 1.0263 1 117.14132493612304 107.03444306243469 0 0 0 0 +9493 1 1.0262 1 98.41138956335585 76.19787373371233 0 0 0 0 +9519 1 1.0249 1 94.3111037120046 92.69948255540966 0 0 0 0 +9525 1 1.0246 1 97.53686585549787 75.75080301831677 0 0 0 0 +9529 1 1.0243 1 109.92122344067923 113.75379753050983 0 0 0 0 +9531 1 1.0241 1 122.719267312709 91.57320068621502 0 0 0 0 +9533 1 1.0241 1 86.54221806018134 100.44247425149612 0 0 0 0 +6220 1 1.2685 1 136.9210556227669 136.52594238486324 0 0 0 0 +9541 1 1.0237 1 78.80722964391789 102.96583487649906 0 0 0 0 +9542 1 1.0237 1 125.4456464641507 98.36379830436512 0 0 0 0 +9562 1 1.0222 1 126.18919016869731 108.59679063059455 0 0 0 0 +9613 1 1.0199 1 82.02849592149624 99.57178566347206 0 0 0 0 +9623 1 1.0196 1 79.54087224792042 101.72265173528768 0 0 0 0 +5199 1 1.3885 1 137.9905114472771 114.4526574139838 0 0 0 0 +9664 1 1.0173 1 119.26868885613221 88.62319927630287 0 0 0 0 +2831 1 1.8848 1 75.85935426389787 103.25899930875573 0 0 0 0 +214 1 6.5923 1 116.1505375000014 118.94412709298678 0 0 0 0 +9691 1 1.0159 1 79.24584070104407 126.25125039537653 0 0 0 0 +1830 1 2.3416 1 125.63648682425325 128.6734867770611 0 0 0 0 +9712 1 1.0146 1 128.05407715208696 92.42822728853287 0 0 0 0 +9745 1 1.013 1 96.14615122256997 83.5419324386012 0 0 0 0 +4314 1 1.5302 1 78.37899890958488 91.59225510415214 0 0 0 0 +9790 1 1.0101 1 130.036175769514 95.94584017851997 0 0 0 0 +9816 1 1.0093 1 81.55389935768913 81.42452295215901 0 0 0 0 +9817 1 1.009 1 111.84869607236156 121.13879163876192 0 0 0 0 +9960 1 1.0027 1 85.37118679782294 114.73172147378764 0 0 0 0 +9838 1 1.0083 1 126.38179896278709 88.03012550591157 0 0 0 0 +9860 1 1.0067 1 123.11747590310986 95.03207396519883 0 0 0 0 +9869 1 1.0063 1 126.69572921852034 90.41276560840674 0 0 0 0 +9876 1 1.006 1 119.7862362443147 120.03496702272713 0 0 0 0 +9886 1 1.0057 1 132.4758633657251 85.74778514281445 0 0 0 0 +9906 1 1.0047 1 81.13713557663864 78.10105253354229 0 0 0 0 +2187 1 2.1443 1 80.55156489636286 79.517701844979 0 0 0 0 +9913 1 1.0045 1 100.12230423876817 89.80428569880479 0 0 0 0 +7137 1 1.1831 1 129.2178484547905 124.36854264763579 0 0 0 0 +5986 1 1.2963 1 76.99472835638332 75.67233231966321 0 0 0 0 +9038 1 1.0505 1 78.57397119978376 101.99091504976342 0 0 0 0 +9447 1 1.0286 1 133.29853846924505 135.51042914357967 0 0 0 0 +2039 1 2.2188 1 130.8068369323612 135.87248124337216 0 0 0 0 +9383 1 1.0317 1 109.14579290292602 135.46488160214554 0 0 0 0 +7072 1 1.1881 1 108.02535363918592 134.42523451177283 0 0 0 0 +787 1 3.6125 1 110.06119772876362 128.92410209538272 0 0 0 0 +6768 1 1.2162 1 81.35055982021801 77.0478832708227 0 0 0 0 +8328 1 1.0924 1 114.48213137223263 123.64265552627765 0 0 0 0 +8774 1 1.0648 1 81.3055858452192 100.31243118141097 0 0 0 0 +9784 1 1.0108 1 136.10999069626808 132.57065728554818 0 0 0 0 +5020 1 1.4178 1 106.49978762313297 131.27335850419814 0 0 0 0 +1915 1 2.2898 1 112.78202665918592 125.86309382520975 0 0 0 0 +3032 1 1.8171 1 78.76837607948616 100.57113035706162 0 0 0 0 +5807 1 1.3138 1 96.51856803278255 129.50016511828122 0 0 0 0 +8789 1 1.0641 1 75.94237155500072 75.27036028378294 0 0 0 0 +7212 1 1.1772 1 118.68075347364218 121.84452820282088 0 0 0 0 +1507 1 2.5714 1 79.90457197571314 90.25033531533212 0 0 0 0 +9683 1 1.0165 1 109.12009569156261 131.02777658944817 0 0 0 0 +3852 1 1.6168 1 120.23656053184918 121.92260561828606 0 0 0 0 +3921 1 1.6031 1 123.74512188151071 128.2001812896752 0 0 0 0 +4752 1 1.4561 1 80.37554954413389 81.44633982706874 0 0 0 0 +6893 1 1.2028 1 120.02069027957484 135.76888334863986 0 0 0 0 +2468 1 2.0221 1 110.378171329683 136.31406748276726 0 0 0 0 +631 1 3.9272 1 93.99939162026725 128.82530273014203 0 0 0 0 +5332 1 1.3717 1 122.52365946284307 132.58899660824545 0 0 0 0 +3050 1 1.8126 1 107.79980861928526 132.1086149389453 0 0 0 0 +5875 1 1.3081 1 106.29355348694249 128.57828922426103 0 0 0 0 +5061 1 1.4113 1 91.3964405302624 129.2988458951935 0 0 0 0 +1269 1 2.8295 1 98.29086533462626 130.67119779982582 0 0 0 0 +7846 1 1.1257 1 107.34474639974027 133.5038248097285 0 0 0 0 +4063 1 1.5726 1 106.04381362978351 129.92213988759812 0 0 0 0 +5461 1 1.355 1 97.57680210114306 128.7178492701361 0 0 0 0 +5819 1 1.3126 1 111.92256905128998 127.37847301099512 0 0 0 0 +111 1 9.3517 1 118.42698295130215 127.05361960717697 0 0 0 0 +7946 1 1.1184 1 80.13403920925191 85.97328905477188 0 0 0 0 +3691 1 1.6506 1 124.02938174639152 135.49646222216583 0 0 0 0 +5486 1 1.3523 1 122.71833587464182 131.2706147235795 0 0 0 0 +7989 1 1.1151 1 105.63691509308484 132.12829429736476 0 0 0 0 +6209 1 1.2707 1 122.80635489607911 129.99305394591346 0 0 0 0 +7121 1 1.1841 1 108.51608250151453 133.38311445365122 0 0 0 0 +3466 1 1.7001 1 74.87289057981035 74.45598711616817 0 0 0 0 +5657 1 1.3318 1 109.2942686227959 132.17591520328497 0 0 0 0 +8770 1 1.0651 1 112.3350783827565 128.45994386261873 0 0 0 0 +2355 1 2.0664 1 77.75665874173114 126.79914001873937 0 0 0 0 +3872 1 1.6129 1 105.30347198422494 74.51575437641638 0 0 0 0 +6912 1 1.2011 1 132.28385385292594 135.09641612342318 0 0 0 0 +7845 1 1.126 1 123.66104275105276 132.06895589812567 0 0 0 0 +8075 1 1.1089 1 106.53140212538005 132.75324934909014 0 0 0 0 +5126 1 1.3988 1 112.0775341029746 130.3180229570709 0 0 0 0 +9861 1 1.0067 1 116.93454961293246 132.0129071078417 0 0 0 0 +7187 1 1.1793 1 113.15816936141643 127.6490700471811 0 0 0 0 +3195 1 1.7672 1 114.21855104287101 132.6917685293151 0 0 0 0 +3108 1 1.795 1 132.33455871045464 137.11483222715972 0 0 0 0 +6342 1 1.2577 1 96.2501866975151 130.74282545361578 0 0 0 0 +6438 1 1.2483 1 109.24068434071515 134.34977928130508 0 0 0 0 +6519 1 1.2414 1 112.68510245230273 131.47380503391486 0 0 0 0 +2135 1 2.1622 1 74.32799960469545 95.63163114102488 0 0 0 0 +1496 1 2.5805 1 74.40282348573481 101.63772409455326 0 0 0 0 +1715 1 2.4141 1 123.68378968709902 144.83046195445715 0 0 0 0 +5893 1 1.3056 1 131.51146821228375 143.74166661469607 0 0 0 0 +6808 1 1.2117 1 135.01040494587434 156.73902097281382 0 0 0 0 +7755 1 1.1318 1 136.69670246128777 158.84246020028493 0 0 0 0 +8465 1 1.0834 1 133.54193919929958 155.1494475932218 0 0 0 0 +4789 1 1.4506 1 137.9706398293636 154.38695831840982 0 0 0 0 +8761 1 1.0659 1 134.25305063650495 155.92186899456 0 0 0 0 +8066 1 1.11 1 137.8086626366777 158.70215348871548 0 0 0 0 +6522 1 1.2409 1 134.66614584031961 153.75920726210023 0 0 0 0 +5443 1 1.3572 1 127.69434738573327 146.94186107244798 0 0 0 0 +9305 1 1.0361 1 135.2703045034888 155.64550005451153 0 0 0 0 +9047 1 1.0501 1 134.54566081526372 154.8951434100834 0 0 0 0 +7557 1 1.1474 1 132.00931809819397 150.80606241249043 0 0 0 0 +6590 1 1.2327 1 119.13894639296458 142.06614881283508 0 0 0 0 +4972 1 1.4236 1 131.9978848728075 153.21193131463187 0 0 0 0 +4078 1 1.5703 1 126.72889743666096 147.95549129939923 0 0 0 0 +1171 1 2.9319 1 133.6899885006125 151.92331315795283 0 0 0 0 +1693 1 2.4287 1 128.4523516994255 148.87997715143476 0 0 0 0 +5054 1 1.4125 1 133.14607773787702 154.00446825941913 0 0 0 0 +6964 1 1.1972 1 137.3806188081943 159.76606728294934 0 0 0 0 +3941 1 1.5996 1 137.26751854684855 157.48253572651976 0 0 0 0 +2697 1 1.9307 1 136.76669863234937 155.54481984799284 0 0 0 0 +8686 1 1.0707 1 136.1108579440844 156.85817735360428 0 0 0 0 +7104 1 1.1854 1 135.97540158198063 157.95540280355706 0 0 0 0 +3174 1 1.7725 1 131.08665128100375 151.9224737040821 0 0 0 0 +4659 1 1.4715 1 124.83638915752809 146.33302407075143 0 0 0 0 +8434 1 1.0857 1 125.64546909620502 147.2644676336331 0 0 0 0 +9418 1 1.0296 1 129.8879130171246 151.23179638264577 0 0 0 0 +8659 1 1.0718 1 126.52541380715685 146.6533647531237 0 0 0 0 +6860 1 1.2068 1 135.5897097716444 154.5551557309457 0 0 0 0 +7960 1 1.1172 1 129.14169374807992 150.48390583977633 0 0 0 0 +5917 1 1.3032 1 120.26582472205959 142.7282758147747 0 0 0 0 +985 1 3.2035 1 136.59670087217242 152.62156582533032 0 0 0 0 +1863 1 2.3232 1 130.66101630154958 149.7468029060862 0 0 0 0 +2178 1 2.1457 1 132.53439221639834 140.9203666567939 0 0 0 0 +2037 1 2.2195 1 136.7697905967188 140.51786778523845 0 0 0 0 +2943 1 1.85 1 126.07147565517093 145.27720273770154 0 0 0 0 +1021 1 3.1482 1 117.98323178441774 140.21385426912082 0 0 0 0 +5583 1 1.3393 1 135.4824275750442 150.48530601837035 0 0 0 0 +7701 1 1.1362 1 123.8358649815822 139.467663710998 0 0 0 0 +2316 1 2.0821 1 133.05278775795827 138.880909397073 0 0 0 0 +2518 1 2.0046 1 129.21235987276515 146.38369985613025 0 0 0 0 +7319 1 1.1687 1 135.6101566846315 141.76112372870702 0 0 0 0 +3451 1 1.7039 1 121.67740110373629 143.66191582059093 0 0 0 0 +3148 1 1.779 1 136.26459667044054 147.2080442310337 0 0 0 0 +6702 1 1.2222 1 126.89623804349326 138.89663770646246 0 0 0 0 +3864 1 1.6152 1 130.15921589682586 147.8694538023592 0 0 0 0 +7114 1 1.1845 1 127.51100387024125 145.7016678470659 0 0 0 0 +8724 1 1.0684 1 129.78587635514467 144.9695261476357 0 0 0 0 +462 1 4.611 1 129.77202456385095 139.0368263952052 0 0 0 0 +1316 1 2.7728 1 133.12402771475377 149.20434844641628 0 0 0 0 +820 1 3.5429 1 137.908578359859 149.59590111442546 0 0 0 0 +2652 1 1.9462 1 135.35976890755836 148.79245815335898 0 0 0 0 +7702 1 1.1362 1 125.73122159810337 138.73080889176202 0 0 0 0 +3527 1 1.6876 1 120.19836491235873 141.08463075303192 0 0 0 0 +6420 1 1.25 1 120.03642915132171 139.63092243661148 0 0 0 0 +9119 1 1.0463 1 127.30458215665773 144.54019096394225 0 0 0 0 +2748 1 1.9117 1 134.43762365925699 147.05603546581847 0 0 0 0 +1572 1 2.5145 1 135.84198925480527 145.1354893433965 0 0 0 0 +2771 1 1.9054 1 131.10368921022857 146.15323054109984 0 0 0 0 +6987 1 1.1954 1 123.02319429128652 143.19309234110762 0 0 0 0 +5975 1 1.2969 1 137.13130947370797 138.82493294568164 0 0 0 0 +6978 1 1.196 1 132.89335639046706 147.0489265754499 0 0 0 0 +4070 1 1.5714 1 131.69080795701512 147.7095822992275 0 0 0 0 +4563 1 1.4871 1 128.5160042531895 144.84572785467202 0 0 0 0 +9091 1 1.0475 1 137.45294406837232 144.41070772703176 0 0 0 0 +7785 1 1.1298 1 137.68580629664734 147.29771814904112 0 0 0 0 +7996 1 1.1147 1 130.84337414117917 144.72159797568804 0 0 0 0 +6476 1 1.2457 1 137.36970136482444 146.18084429621905 0 0 0 0 +7798 1 1.129 1 134.67317081936378 143.8130862180436 0 0 0 0 +3307 1 1.7386 1 121.46244848899043 139.7461141968864 0 0 0 0 +1985 1 2.2498 1 134.614731345903 140.30814641232584 0 0 0 0 +9494 1 1.0262 1 135.45503673802537 143.09210170427946 0 0 0 0 +1250 1 2.8496 1 133.16460983984393 145.04879361157555 0 0 0 0 +1687 1 2.4301 1 122.12135010292059 141.66686411587608 0 0 0 0 +371 1 5.1295 1 125.84767585468468 141.8308703800806 0 0 0 0 +3635 1 1.6651 1 130.04129655972088 143.63559318193427 0 0 0 0 +9517 1 1.0249 1 122.78709841051665 139.478654341376 0 0 0 0 +2962 1 1.8443 1 131.06480628171462 142.23210505306088 0 0 0 0 +5761 1 1.3191 1 132.4829879432529 142.90779188201324 0 0 0 0 +1757 1 2.3822 1 137.09842295992206 142.751872316061 0 0 0 0 +2227 1 2.125 1 134.07743154370655 142.3635684573554 0 0 0 0 +5517 1 1.349 1 128.57019135576672 143.48736345306887 0 0 0 0 +3146 1 1.7795 1 129.27081104845303 142.1310069128389 0 0 0 0 +9205 1 1.0415 1 138.44495840005675 143.75077505651356 0 0 0 0 +9053 1 1.05 1 132.60187871896215 266.9650856976686 0 0 0 0 +5309 1 1.3746 1 131.0788791418648 266.7245391451221 0 0 0 0 +3456 1 1.702 1 132.22060850824536 265.6969362358174 0 0 0 0 +26 1 20.2111 1 130.92191480308665 296.8884157962319 0 0 0 0 +748 1 3.6912 1 120.368602258993 331.3923585955401 0 0 0 0 +40 1 15.577 1 94.17420757951953 328.92202491308467 0 0 0 0 +56 1 12.7808 1 110.77828406498773 299.5641406482784 0 0 0 0 +59 1 12.4444 1 126.38018477650256 315.31501084208014 0 0 0 0 +62 1 12.1799 1 111.97330031105868 325.00405841049485 0 0 0 0 +85 1 10.0597 1 91.10789852444067 312.8546862971162 0 0 0 0 +104 1 9.5194 1 105.400876045174 290.2500185957781 0 0 0 0 +1817 1 2.3461 1 136.42759751790817 274.42843305921167 0 0 0 0 +187 1 7.0567 1 119.04176471409545 309.3954955436033 0 0 0 0 +9809 1 1.0096 1 104.03163994870208 319.6593674158558 0 0 0 0 +229 1 6.3363 1 120.36147433178053 285.30436752148705 0 0 0 0 +252 1 6.1835 1 86.99575371958925 320.2970907279248 0 0 0 0 +266 1 6.0432 1 84.05338243370572 295.50649754642126 0 0 0 0 +293 1 5.8106 1 136.36602627135574 285.2147604005087 0 0 0 0 +297 1 5.7623 1 93.29317982181274 294.71563550905313 0 0 0 0 +326 1 5.5001 1 120.68384222788293 323.6855726776658 0 0 0 0 +472 1 4.5379 1 88.97997946457457 304.414069080732 0 0 0 0 +383 1 5.043 1 99.96133783859969 307.911963197259 0 0 0 0 +391 1 4.971 1 103.17193902642677 316.8597347652132 0 0 0 0 +459 1 4.6258 1 109.63244739092612 284.52964864191756 0 0 0 0 +466 1 4.5838 1 109.07466104557078 315.3369767591898 0 0 0 0 +9867 1 1.0064 1 104.0696876460206 301.1002438247093 0 0 0 0 +488 1 4.4502 1 120.5640308726963 279.9411729765936 0 0 0 0 +561 1 4.171 1 111.7002962552912 307.8451006471669 0 0 0 0 +564 1 4.1624 1 85.99002738863608 301.3603933142061 0 0 0 0 +570 1 4.1314 1 119.46270840085053 290.3685265789031 0 0 0 0 +571 1 4.1227 1 88.39139780256585 298.0399607523248 0 0 0 0 +585 1 4.0781 1 94.54267833479337 306.78022616790645 0 0 0 0 +601 1 4.0145 1 92.92977233261891 319.45208481235755 0 0 0 0 +681 1 3.8224 1 88.93512777683205 292.76386916526315 0 0 0 0 +1222 1 2.8858 1 74.6209998230146 318.4500703046253 0 0 0 0 +736 1 3.7072 1 124.60473622492312 279.5715438518117 0 0 0 0 +740 1 3.6963 1 99.87581535034205 303.42974802666856 0 0 0 0 +741 1 3.6963 1 79.1323773104881 318.21272770061597 0 0 0 0 +2731 1 1.9176 1 137.09497179199582 279.1015776086878 0 0 0 0 +9402 1 1.0305 1 110.65007310010412 289.7070641515537 0 0 0 0 +2700 1 1.9294 1 79.00403742867655 314.10311179233867 0 0 0 0 +771 1 3.6441 1 101.74529954978523 295.78813729254813 0 0 0 0 +786 1 3.6147 1 90.99149810691158 300.8530814178195 0 0 0 0 +789 1 3.61 1 114.05144286168562 311.10972390286713 0 0 0 0 +794 1 3.6025 1 127.50566193570239 285.578354298144 0 0 0 0 +802 1 3.5862 1 118.3221850006415 302.6305254454707 0 0 0 0 +803 1 3.5823 1 135.9332361803593 309.54655838166923 0 0 0 0 +7973 1 1.1164 1 83.91952518187222 313.18569826753713 0 0 0 0 +6859 1 1.2068 1 95.7273292807059 288.3654781200999 0 0 0 0 +4783 1 1.4511 1 80.53084104361841 314.8126897390881 0 0 0 0 +9815 1 1.0093 1 121.70640913543926 291.62976644029226 0 0 0 0 +857 1 3.4464 1 126.99725445661713 282.14013723633303 0 0 0 0 +908 1 3.3408 1 117.42980735914924 314.2490191224221 0 0 0 0 +919 1 3.3139 1 99.64998825219868 314.7780571216543 0 0 0 0 +920 1 3.3137 1 113.34813087022044 283.262766059493 0 0 0 0 +1000 1 3.1763 1 115.21257282102994 292.96864600934794 0 0 0 0 +1011 1 3.1586 1 119.39907291300298 318.72583924861567 0 0 0 0 +1028 1 3.1323 1 100.59875601787132 322.2038057784135 0 0 0 0 +1061 1 3.0683 1 106.00031668856471 312.4856146349171 0 0 0 0 +1088 1 3.033 1 121.03319719878279 304.8375807159695 0 0 0 0 +1111 1 3.0023 1 112.81980225335607 315.4631724624753 0 0 0 0 +148 1 7.7316 1 78.83911216056906 325.71356948362546 0 0 -1 0 +1128 1 2.9786 1 103.05735647170198 304.1092671655071 0 0 0 0 +1132 1 2.976 1 109.76439820337863 310.7747312933107 0 0 0 0 +1147 1 2.9602 1 129.4624137637856 308.3016254218902 0 0 0 0 +1160 1 2.9444 1 130.04305770894086 268.86741873601517 0 0 0 0 +6226 1 1.268 1 136.36633556867503 281.6946142932656 0 0 0 0 +1168 1 2.9362 1 127.23137557403254 274.7032865996198 0 0 0 0 +6129 1 1.2806 1 125.5047627662797 322.12236831685584 0 0 0 0 +1183 1 2.9256 1 83.65397713426654 315.1323465349255 0 0 0 0 +1208 1 2.8986 1 100.60503397479813 298.84328679113503 0 0 0 0 +1259 1 2.8428 1 103.11375308241591 312.22035936382593 0 0 0 0 +1260 1 2.8424 1 82.90161334636468 299.7645475755119 0 0 0 0 +1273 1 2.819 1 117.60777204670418 295.8188128591201 0 0 0 0 +1284 1 2.8067 1 85.91510375885157 291.51884464383096 0 0 0 0 +1287 1 2.8037 1 97.42226574939485 301.4012484702119 0 0 0 0 +1294 1 2.7971 1 96.70061070450863 304.0728526352291 0 0 0 0 +1308 1 2.783 1 131.8138281426989 309.83254012981826 0 0 0 0 +1354 1 2.7332 1 96.77936881939583 315.4552221048431 0 0 0 0 +4042 1 1.5755 1 135.525611733044 326.8254416300689 0 0 0 0 +1366 1 2.7215 1 119.02166076617742 328.69907577056813 0 0 0 0 +1408 1 2.6704 1 103.51820287681555 309.3590154064674 0 0 0 0 +1416 1 2.666 1 103.60065059588689 322.64597889771414 0 0 0 0 +1426 1 2.6548 1 112.82889300983508 286.1778526485001 0 0 0 0 +6780 1 1.2152 1 135.25292047286933 329.93672488494866 0 0 0 0 +1468 1 2.6047 1 116.07314312945401 304.7289345099505 0 0 0 0 +486 1 4.4589 1 86.10744747684656 307.8502351037278 0 0 0 0 +4202 1 1.5494 1 99.9487480043704 289.39473100342934 0 0 0 0 +1480 1 2.5943 1 99.75681128525144 318.2464810513862 0 0 0 0 +1536 1 2.5426 1 92.9391197574818 289.75734773977274 0 0 0 0 +1539 1 2.5388 1 119.57206460494865 299.8389720132695 0 0 0 0 +1546 1 2.5345 1 127.31179404443344 277.3956090866207 0 0 0 0 +1559 1 2.5262 1 97.4245844700739 319.06218738742854 0 0 0 0 +1566 1 2.5205 1 108.43617319788295 308.4061551695409 0 0 0 0 +9424 1 1.0294 1 94.45270142884125 297.906891706155 0 0 0 0 +1583 1 2.5056 1 117.99123637228158 293.256108017393 0 0 0 0 +829 1 3.51 1 82.69452724075609 318.1002876141961 0 0 0 0 +7413 1 1.1601 1 138.28219700418828 329.9423346271879 0 0 0 0 +1667 1 2.4439 1 96.1580682786009 299.18518469921213 0 0 0 0 +1684 1 2.4324 1 125.35575511344764 272.81150276403633 0 0 0 0 +1690 1 2.4289 1 115.37867914000894 317.8308918584998 0 0 0 0 +1756 1 2.3824 1 115.83216234754887 288.1726639328013 0 0 0 0 +1759 1 2.3806 1 111.3125124389726 288.13542720679914 0 0 0 0 +1786 1 2.3645 1 83.38182454252475 291.52629535005764 0 0 0 0 +7538 1 1.1496 1 78.93857079457473 292.6544519233332 0 0 0 0 +1816 1 2.3462 1 129.84624012166762 281.76986234823266 0 0 0 0 +1824 1 2.3434 1 106.23940096375014 318.7199448800344 0 0 0 0 +1833 1 2.3389 1 133.38986422583844 307.8299698354279 0 0 0 0 +1849 1 2.331 1 114.83304043991794 307.304944912962 0 0 0 0 +1861 1 2.3249 1 111.51674318141458 317.75274642299814 0 0 0 0 +1862 1 2.3237 1 135.27330432042984 280.2945556100913 0 0 0 0 +1873 1 2.3175 1 102.60994588182108 320.4256718926412 0 0 0 0 +1875 1 2.3164 1 116.0980990518014 285.09219974544413 0 0 0 0 +8963 1 1.0546 1 132.40352677978905 327.5047105760064 0 0 0 0 +3068 1 1.808 1 81.46270199598007 321.81151220295396 0 0 -1 0 +1918 1 2.2888 1 113.22250951767747 291.13248096425093 0 0 0 0 +1927 1 2.2846 1 103.25509086503159 299.6743480489432 0 0 0 0 +1938 1 2.2778 1 131.76718712423536 282.9841829200208 0 0 0 0 +1965 1 2.2617 1 116.29729778756435 279.3379751370176 0 0 0 0 +9079 1 1.0483 1 108.72422978100549 330.73145324558874 0 0 0 0 +9787 1 1.0104 1 117.3874019833608 297.67910830922244 0 0 0 0 +2018 1 2.2281 1 119.95781233125106 294.55303683187714 0 0 0 0 +5025 1 1.4173 1 81.05082257025659 319.8646866718218 0 0 0 0 +2049 1 2.2114 1 126.32044561768912 307.0496709836918 0 0 0 0 +2089 1 2.1881 1 97.95263652455847 311.6112045169041 0 0 0 0 +2097 1 2.1852 1 105.42683721801818 305.02733688192427 0 0 0 0 +2120 1 2.1706 1 119.33537898029518 297.55998087498426 0 0 0 0 +2122 1 2.1701 1 97.31379257450496 294.82053910266086 0 0 0 0 +2415 1 2.0436 1 102.7808848827948 330.17595923385073 0 0 0 0 +3605 1 1.6697 1 75.60274508050713 329.04509390586435 0 0 -1 0 +800 1 3.5949 1 95.76596987679842 290.826860487827 0 0 0 0 +4037 1 1.5763 1 104.90662492126202 326.24664717930875 0 0 0 0 +2245 1 2.1187 1 113.40061514360687 288.9673233860796 0 0 0 0 +4576 1 1.485 1 82.33156935486515 320.4924156824486 0 0 -1 0 +2262 1 2.1126 1 111.59791329842064 313.2503973994195 0 0 0 0 +2984 1 1.8372 1 84.21560226973861 310.3282995286797 0 0 0 0 +2300 1 2.093 1 95.60960452552456 317.75425027031014 0 0 0 0 +2373 1 2.0586 1 105.7187581313549 321.7582100114633 0 0 0 0 +2380 1 2.0554 1 124.44487762616522 283.4062070096989 0 0 0 0 +2391 1 2.0507 1 122.2329621701615 275.1051023361597 0 0 0 0 +9135 1 1.0453 1 133.020544354138 325.36756462344357 0 0 0 0 +2411 1 2.0445 1 117.6529389793283 320.80589672201296 0 0 0 0 +9700 1 1.0152 1 82.89639506042916 304.13773989503625 0 0 0 0 +2416 1 2.0433 1 105.78207532902431 309.8623634617426 0 0 0 0 +9841 1 1.0082 1 128.48307918056116 273.2704977432361 0 0 0 0 +2466 1 2.0236 1 99.15969708755543 296.87116334216216 0 0 0 0 +2506 1 2.0087 1 121.27524891762876 302.36583415601535 0 0 0 0 +2558 1 1.9859 1 123.24968779754063 307.7996682089458 0 0 0 0 +2581 1 1.9772 1 111.01102438264354 291.16730258217314 0 0 0 0 +2584 1 1.9761 1 114.8552746232568 313.7698304459861 0 0 0 0 +2599 1 1.9679 1 115.24400013207826 315.6792158845382 0 0 0 0 +2607 1 1.9652 1 109.53939178892838 318.47162624670756 0 0 0 0 +2633 1 1.9566 1 102.7300232339773 301.7064095729949 0 0 0 0 +2662 1 1.9433 1 103.92145218793243 324.8333920195917 0 0 0 0 +5090 1 1.4052 1 132.22834469582807 274.13022102999645 0 0 0 0 +1163 1 2.942 1 80.93466633838266 292.3557066438408 0 0 0 0 +2703 1 1.9283 1 91.3718078323627 298.1284577153759 0 0 0 0 +2742 1 1.9138 1 132.5593756119762 285.03851297190363 0 0 0 0 +2750 1 1.9116 1 93.77805629874611 302.540164375683 0 0 0 0 +3709 1 1.6448 1 131.10083763677568 286.00716117512957 0 0 0 0 +2785 1 1.9003 1 98.22495540116611 298.5538430410198 0 0 0 0 +9356 1 1.0334 1 85.37594018372634 330.4771137108733 0 0 -1 0 +2867 1 1.8729 1 124.2899220885607 286.25240437737875 0 0 0 0 +2878 1 1.8684 1 124.84814940946974 274.84030938554406 0 0 0 0 +3403 1 1.7143 1 133.09841500103533 317.2112249574697 0 0 0 0 +2951 1 1.8475 1 115.0116044215812 290.1122041794052 0 0 0 0 +2989 1 1.8361 1 90.44624284905069 307.07503209870407 0 0 0 0 +3018 1 1.8206 1 100.20000048273683 292.39939363138 0 0 0 0 +3029 1 1.8183 1 121.39272035209973 320.20528824522154 0 0 0 0 +3035 1 1.8163 1 135.26764067716002 306.96368575810465 0 0 0 0 +4013 1 1.5808 1 80.17612231138921 295.65151575827497 0 0 0 0 +3371 1 1.7232 1 138.65926283862274 326.70527810514994 0 0 0 0 +1266 1 2.833 1 77.22313509511451 315.61030021113373 0 0 0 0 +3136 1 1.783 1 85.29900037890012 313.5000815242799 0 0 0 0 +3158 1 1.7773 1 106.47813102166731 284.5492612706257 0 0 0 0 +3230 1 1.7573 1 116.55762427520911 281.2760522987539 0 0 0 0 +3279 1 1.7451 1 135.04758336687067 272.95138629727853 0 0 0 0 +3337 1 1.7316 1 121.07923171788917 276.9631722414522 0 0 0 0 +3348 1 1.7284 1 125.58747526980993 287.39103628038555 0 0 0 0 +9639 1 1.0185 1 107.95550155872196 310.0453418228335 0 0 0 0 +3373 1 1.7231 1 96.72002359388317 308.80854128018933 0 0 0 0 +7417 1 1.1599 1 82.15880057460073 328.47205583064516 0 0 -1 0 +3499 1 1.6936 1 113.59635511336002 280.7732412787931 0 0 0 0 +3554 1 1.6804 1 106.40638488616182 308.1134537012461 0 0 0 0 +3557 1 1.6797 1 93.10994126411484 298.32213335700675 0 0 0 0 +9024 1 1.0514 1 128.75051584769923 270.3141625791685 0 0 0 0 +3598 1 1.6715 1 118.0126373727946 305.2004360745238 0 0 0 0 +3624 1 1.6669 1 117.64623278580963 282.4849595457633 0 0 0 0 +3632 1 1.6653 1 105.63426477716162 327.63893438404443 0 0 0 0 +3593 1 1.6724 1 91.70462728968131 305.8558986962801 0 0 0 0 +3653 1 1.6615 1 118.32410257753052 316.57661944677005 0 0 0 0 +3655 1 1.661 1 129.9743207624958 283.73719123177386 0 0 0 0 +3673 1 1.6544 1 118.10246961283643 277.86271231024995 0 0 0 0 +3681 1 1.6529 1 109.1839278416805 306.52904551033936 0 0 0 0 +4179 1 1.5533 1 79.3943344385256 315.7140323632495 0 0 0 0 +3727 1 1.6431 1 83.77705396723039 303.18272056516867 0 0 0 0 +3729 1 1.643 1 122.29195599790037 290.32766716174956 0 0 0 0 +3746 1 1.6404 1 92.49314938618869 303.7421958186468 0 0 0 0 +3759 1 1.6379 1 128.59337222663055 280.2746959845789 0 0 0 0 +3765 1 1.6371 1 126.57533903024444 271.2313700350477 0 0 0 0 +3792 1 1.6317 1 99.70333707827233 312.3087988605067 0 0 0 0 +6224 1 1.2683 1 104.29913738690996 328.759063345958 0 0 0 0 +3830 1 1.6207 1 101.13292682649218 301.0156516169405 0 0 0 0 +3849 1 1.6172 1 97.23600026198976 306.14491549817967 0 0 0 0 +9730 1 1.0137 1 82.49542513498353 329.4148845186008 0 0 -1 0 +3895 1 1.6091 1 99.56347368338899 300.8425052073061 0 0 0 0 +3910 1 1.606 1 98.62703076167435 291.8196605019826 0 0 0 0 +3945 1 1.5983 1 90.28699657797524 290.45159579500165 0 0 0 0 +3953 1 1.5956 1 108.06548439851515 319.3434481750943 0 0 0 0 +3957 1 1.5944 1 123.23678386793104 304.51890947985885 0 0 0 0 +3958 1 1.5944 1 98.3563694355505 316.821576081128 0 0 0 0 +3422 1 1.7105 1 84.57339046450936 311.97857002252056 0 0 0 0 +3978 1 1.5903 1 116.78290924360446 319.254243804418 0 0 0 0 +3981 1 1.59 1 97.4195571151707 313.40707105495943 0 0 0 0 +4001 1 1.5834 1 123.49984577088475 273.8132505160725 0 0 0 0 +2942 1 1.8502 1 102.8441241463042 328.2673686854517 0 0 0 0 +4015 1 1.5807 1 101.81743570217816 310.51800303150293 0 0 0 0 +4018 1 1.5798 1 114.87781850997506 286.4713293758081 0 0 0 0 +1969 1 2.2583 1 84.5774772258395 304.90954314927666 0 0 0 0 +6689 1 1.2233 1 107.84353478475195 331.597534735721 0 0 -1 0 +4077 1 1.5703 1 100.82125764493834 319.9147321329211 0 0 0 0 +927 1 3.2989 1 132.7886574448975 271.8950371535382 0 0 0 0 +4104 1 1.5652 1 96.9958021498544 297.4024464868153 0 0 0 0 +4122 1 1.5632 1 134.20839366753214 313.74654561978645 0 0 0 0 +4130 1 1.5621 1 123.16583882854734 306.05451511753523 0 0 0 0 +4219 1 1.5468 1 117.86637672942469 298.8265320274267 0 0 0 0 +4226 1 1.5463 1 117.31980416803464 317.8118184975329 0 0 0 0 +4284 1 1.5355 1 95.485306967465 302.3120083091164 0 0 0 0 +4287 1 1.5352 1 103.3651689417867 326.4107586566845 0 0 0 0 +4297 1 1.5331 1 88.74201357364724 295.31584363094674 0 0 0 0 +2032 1 2.2204 1 130.78310456263608 321.09712539123035 0 0 0 0 +4366 1 1.5203 1 119.45243216748925 315.4710895741313 0 0 0 0 +4391 1 1.5165 1 81.1551624630161 298.5330078769683 0 0 0 0 +8639 1 1.0727 1 79.00782378276064 296.2749978409829 0 0 0 0 +9357 1 1.0332 1 75.97653908961617 317.0621603386122 0 0 0 0 +4456 1 1.505 1 90.73959919759238 321.1137038279384 0 0 0 0 +4468 1 1.5027 1 137.83541475366297 288.5341189585868 0 0 0 0 +4478 1 1.5008 1 104.68772804650854 307.3072192497892 0 0 0 0 +4492 1 1.4989 1 121.84425477023956 288.87765645330944 0 0 0 0 +9759 1 1.0124 1 120.09485549612026 320.58270660914053 0 0 0 0 +7863 1 1.1236 1 87.7032898625968 323.8118297451335 0 0 -1 0 +4519 1 1.4943 1 85.82236242591888 315.0098627501611 0 0 0 0 +4533 1 1.4927 1 136.88355682882346 307.22415173759657 0 0 0 0 +4551 1 1.4891 1 101.09502000059344 312.9592753855983 0 0 0 0 +4571 1 1.4859 1 99.33890658276822 320.2623118171682 0 0 0 0 +4584 1 1.4827 1 115.76891188890038 283.2618190067558 0 0 0 0 +4602 1 1.4799 1 96.56350215060701 293.2004824718757 0 0 0 0 +9765 1 1.0118 1 108.07561928793528 305.8936721223167 0 0 0 0 +4627 1 1.4773 1 116.74096364510986 316.48150657217417 0 0 0 0 +4646 1 1.4738 1 104.27267318885922 296.61533338515574 0 0 0 0 +4648 1 1.4736 1 127.30857727260349 308.4987839714083 0 0 0 0 +4687 1 1.4662 1 119.69390404043045 313.5746444142031 0 0 0 0 +4694 1 1.4655 1 102.04886488186305 325.6942717246698 0 0 0 0 +4697 1 1.4653 1 116.74052608534805 289.8372395726206 0 0 0 0 +4707 1 1.4638 1 88.81869542840417 290.2027070134437 0 0 0 0 +4738 1 1.4582 1 96.65025469157199 320.8371618807328 0 0 0 0 +4768 1 1.4532 1 95.6093636921733 319.84400511704206 0 0 0 0 +8436 1 1.0856 1 102.4838542255386 324.5138105421776 0 0 -1 0 +4787 1 1.4508 1 93.9468070037259 304.1627955690235 0 0 0 0 +4794 1 1.4499 1 105.07508150468983 320.15463773823814 0 0 0 0 +9272 1 1.038 1 92.73942371542715 305.0155759281394 0 0 0 0 +4804 1 1.4481 1 98.2057832219447 293.27670347962857 0 0 0 0 +4934 1 1.4278 1 93.48956976464238 300.9712060707303 0 0 0 0 +4951 1 1.4257 1 124.16654094648901 322.5381298578066 0 0 0 0 +8540 1 1.0787 1 120.91009973473876 328.0992941483308 0 0 0 0 +4969 1 1.4239 1 104.96698339579928 284.9184310720092 0 0 0 0 +2802 1 1.893 1 75.75429217532304 311.34861230447973 0 0 0 0 +4992 1 1.4211 1 101.2638340036753 324.37217317137595 0 0 0 0 +2176 1 2.1476 1 133.61173415408098 315.42084682609527 0 0 0 0 +5018 1 1.4179 1 103.9895815885598 306.07164826722476 0 0 0 0 +5065 1 1.4105 1 84.78457096874922 299.00020193672356 0 0 0 0 +5070 1 1.4092 1 132.3547186189436 311.82491996124963 0 0 0 0 +9594 1 1.0211 1 123.60562195807286 321.45053308247884 0 0 0 0 +5102 1 1.4039 1 123.48535571845855 276.2309035450583 0 0 0 0 +1337 1 2.75 1 130.27476939677769 273.5957361620185 0 0 0 0 +5116 1 1.4004 1 105.30297816223458 323.75028880709783 0 0 0 0 +5157 1 1.3947 1 104.30537604218755 313.91273987403025 0 0 0 0 +4089 1 1.5685 1 98.67973478380175 290.27223985812566 0 0 0 0 +5163 1 1.3934 1 111.94177254782117 289.8509777074794 0 0 0 0 +7654 1 1.1399 1 131.60569501785903 319.63649690913206 0 0 0 0 +5185 1 1.3908 1 118.6141848086438 326.3482216870323 0 0 0 0 +5189 1 1.39 1 83.25738887452404 301.80011010810574 0 0 0 0 +5191 1 1.3897 1 107.32261936483731 306.8216251764104 0 0 0 0 +4166 1 1.5557 1 127.26651799937258 322.1961452523425 0 0 0 0 +5202 1 1.3884 1 111.2326836476963 281.9461833532172 0 0 0 0 +8278 1 1.0965 1 80.25174057344799 330.1407029648536 0 0 -1 0 +5270 1 1.3796 1 115.13139403637338 280.7266803710153 0 0 0 0 +5292 1 1.3768 1 106.14936806535599 315.8261215577466 0 0 0 0 +5297 1 1.3764 1 102.62702978267522 306.2055872406825 0 0 0 0 +3221 1 1.7598 1 76.69765312844949 292.22976699683915 0 0 0 0 +5323 1 1.3728 1 102.01563549663699 313.98065170284684 0 0 0 0 +5349 1 1.3699 1 104.26333081073584 302.29578759299477 0 0 0 0 +6267 1 1.2633 1 138.4648803822927 304.5110057310988 0 0 0 0 +5368 1 1.3677 1 113.27102245177257 313.39021978044036 0 0 0 0 +1941 1 2.2763 1 133.85436137524957 282.07105469548776 0 0 0 0 +5407 1 1.3623 1 105.9668020014815 306.6830420328386 0 0 0 0 +5408 1 1.3622 1 113.56220233455835 317.449809368144 0 0 0 0 +5445 1 1.357 1 95.54355990782001 297.423954242497 0 0 0 0 +5462 1 1.355 1 111.68258840360119 292.61579273955425 0 0 0 0 +5468 1 1.3538 1 90.0086341496739 295.889399692481 0 0 0 0 +5478 1 1.3532 1 127.58386583003919 270.1495126541939 0 0 0 0 +3120 1 1.788 1 101.1357899477242 286.7052000858887 0 0 0 0 +5490 1 1.3519 1 112.98125481773026 292.89513505148494 0 0 0 0 +5529 1 1.3475 1 98.05079179011 320.8385995271272 0 0 0 0 +5646 1 1.3326 1 115.23504090447291 282.0124167708645 0 0 0 0 +5675 1 1.3295 1 116.12172376984275 312.3709919790031 0 0 0 0 +5704 1 1.325 1 86.09764451595599 304.0046948320574 0 0 0 0 +3686 1 1.6522 1 134.90565201749308 275.6555500512401 0 0 0 0 +5772 1 1.317 1 116.34604705787062 306.4591992699315 0 0 0 0 +5794 1 1.315 1 94.54178761346462 288.7395287927723 0 0 0 0 +5797 1 1.3149 1 123.28227789946416 289.18031925808407 0 0 0 0 +5825 1 1.3119 1 120.99351277823132 292.62038508311264 0 0 0 0 +5862 1 1.3091 1 125.82864943602775 276.2534343420624 0 0 0 0 +5899 1 1.3049 1 93.1581615797009 299.7279305939191 0 0 0 0 +5915 1 1.3033 1 117.73384548520224 280.322457534624 0 0 0 0 +5923 1 1.3022 1 107.03837362483512 305.51536669199066 0 0 0 0 +5936 1 1.3014 1 125.14242985951616 284.9545274720064 0 0 0 0 +5961 1 1.2988 1 85.54844608974966 316.3167115330739 0 0 0 0 +8437 1 1.0855 1 88.56004635167773 301.72426845289874 0 0 0 0 +5994 1 1.2953 1 104.98839358161163 303.3945304711337 0 0 0 0 +6003 1 1.2942 1 91.9581161561834 307.2902316878228 0 0 0 0 +8616 1 1.0739 1 79.22358139232612 291.4907288409321 0 0 0 0 +6040 1 1.2903 1 103.09420248162145 307.43918780526815 0 0 0 0 +6058 1 1.2878 1 138.26381837325894 308.8990282849247 0 0 0 0 +9583 1 1.0215 1 123.9635476559055 323.7544041933857 0 0 0 0 +1991 1 2.2466 1 134.33843248987472 311.9244497276038 0 0 0 0 +6169 1 1.2755 1 94.33693690922968 299.05296031780676 0 0 0 0 +101 1 9.5763 1 126.2643076040059 328.57929130319 0 0 0 0 +9999 1 1 1 133.66052526945072 309.42478264061725 0 0 0 0 +329 1 5.4772 1 81.3174278380986 306.9421585385478 0 0 0 0 +6234 1 1.2671 1 102.76986052945998 297.99158740979175 0 0 0 0 +6246 1 1.2657 1 132.76369752797095 268.68411867764104 0 0 0 0 +4895 1 1.4334 1 138.31333287270817 310.2466040171115 0 0 0 0 +6300 1 1.2608 1 99.96910944540988 290.85867485414536 0 0 0 0 +6323 1 1.259 1 122.4787789393197 303.364638723736 0 0 0 0 +6328 1 1.2587 1 111.78811079310466 310.4522269252824 0 0 0 0 +6343 1 1.2577 1 107.12556701836901 310.70829541274105 0 0 0 0 +6363 1 1.2557 1 88.593233007497 300.635105200565 0 0 0 0 +6390 1 1.2524 1 131.0837250589166 284.59356847976983 0 0 0 0 +6423 1 1.2499 1 106.36005204167174 314.55055458701264 0 0 0 0 +6426 1 1.2497 1 111.68817938889813 311.6389487594802 0 0 0 0 +8758 1 1.0662 1 83.66276374536577 309.08676901863595 0 0 0 0 +9390 1 1.0313 1 127.0811588413781 272.7280894611493 0 0 0 0 +6496 1 1.2434 1 127.08055336080537 279.721199651654 0 0 0 0 +6986 1 1.1956 1 80.6461517835908 294.3744441467509 0 0 0 0 +9904 1 1.0049 1 137.9986558508964 307.78421993230324 0 0 0 0 +6527 1 1.2402 1 135.32526957773433 277.00303756500404 0 0 0 0 +6561 1 1.2362 1 98.31097038961698 305.2717479982431 0 0 0 0 +9915 1 1.0045 1 115.53161787236452 319.50520109427964 0 0 0 0 +9887 1 1.0056 1 106.20662841172577 320.35087046414077 0 0 0 0 +6623 1 1.23 1 122.4943182175428 277.0439643910241 0 0 0 0 +6635 1 1.2287 1 101.17064233903956 311.6926784233463 0 0 0 0 +6690 1 1.2233 1 103.43694166900548 285.42477586219263 0 0 0 0 +6710 1 1.2213 1 125.59089739010102 308.5646668137933 0 0 0 0 +6720 1 1.2204 1 124.31856705339673 305.3017874916373 0 0 0 0 +2367 1 2.0601 1 128.68300424718169 323.29430870325046 0 0 0 0 +6737 1 1.2191 1 108.64586907799094 312.5160895223822 0 0 0 0 +6744 1 1.2187 1 116.21322886789474 291.04401618492653 0 0 0 0 +6766 1 1.2164 1 96.40023647368938 296.20635998269404 0 0 0 0 +6775 1 1.2155 1 107.22280303522002 320.4046138296592 0 0 0 0 +6797 1 1.2127 1 117.74152355161517 300.2484189427193 0 0 0 0 +6809 1 1.2117 1 128.09365723726108 279.01777144439967 0 0 0 0 +7280 1 1.1727 1 87.53483064480385 290.4014419068841 0 0 0 0 +8814 1 1.0625 1 76.8095709802979 317.6975090798074 0 0 0 0 +9360 1 1.0329 1 119.21991208396615 305.42114329480864 0 0 0 0 +6896 1 1.2024 1 105.1087116954933 295.5724665198078 0 0 0 0 +6935 1 1.1994 1 114.1517185726889 287.57183186567977 0 0 0 0 +1984 1 2.2505 1 133.98612630352187 327.81518727909554 0 0 0 0 +6970 1 1.1966 1 94.67276955612074 300.21695179876286 0 0 0 0 +2734 1 1.9168 1 133.83747903965195 274.27950105797777 0 0 0 0 +6993 1 1.1948 1 103.99281920443312 297.9171952970655 0 0 0 0 +7010 1 1.1932 1 120.2656703132606 296.2018491317323 0 0 0 0 +7020 1 1.1921 1 96.12298082840869 310.12666393509454 0 0 0 0 +7026 1 1.1918 1 129.86179928925304 285.14052397337394 0 0 0 0 +7037 1 1.1905 1 107.8995204453094 311.6128515482328 0 0 0 0 +7039 1 1.1904 1 119.4245821901117 277.3871676776859 0 0 0 0 +7110 1 1.1849 1 124.38596621691916 306.6686106243155 0 0 0 0 +7933 1 1.119 1 106.70226588764622 329.04907533437495 0 0 0 0 +7146 1 1.1826 1 133.28503344393806 283.6895827557696 0 0 0 0 +9724 1 1.0141 1 138.18916432901872 331.3791863311894 0 0 0 0 +7193 1 1.1786 1 119.83837355485447 276.30986334795466 0 0 0 0 +7226 1 1.176 1 124.42945883336648 308.8129562621344 0 0 0 0 +9573 1 1.0219 1 90.66941835907146 296.8541557627632 0 0 0 0 +7304 1 1.1701 1 129.74868372965093 286.29760560079154 0 0 0 0 +7324 1 1.1685 1 136.59864333587188 305.93533624036314 0 0 0 0 +7349 1 1.166 1 123.0416446120143 282.734270001458 0 0 0 0 +7355 1 1.1652 1 95.36405344663616 309.2430185507298 0 0 0 0 +7395 1 1.1618 1 133.2038542088032 269.7608241669247 0 0 0 0 +7415 1 1.1601 1 117.00834995911889 283.67918605412694 0 0 0 0 +7433 1 1.1584 1 133.64075709789836 310.45256680121327 0 0 0 0 +7134 1 1.1833 1 82.44213600794978 302.77277771215074 0 0 0 0 +1403 1 2.6797 1 97.65049386976872 288.45135227886243 0 0 0 0 +6581 1 1.2342 1 84.86468653148718 317.30405821444816 0 0 0 0 +1430 1 2.6475 1 83.2586312140818 323.014322557296 0 0 -1 0 +7573 1 1.1462 1 133.12052380857187 286.4508521735943 0 0 0 0 +7583 1 1.1453 1 121.06409067747823 300.8343198719189 0 0 0 0 +7594 1 1.1444 1 105.25064125810293 314.7035696799611 0 0 0 0 +7635 1 1.1418 1 137.50144466135438 305.22043235017145 0 0 0 0 +7642 1 1.1408 1 109.79821046674091 287.3470673061929 0 0 0 0 +7672 1 1.1384 1 86.25420063679772 305.1437874861068 0 0 0 0 +7682 1 1.1377 1 104.6047656302327 310.91723764669365 0 0 0 0 +9693 1 1.0159 1 136.15436693488778 276.0792150651626 0 0 0 0 +7751 1 1.1321 1 91.25915715963126 291.9555489744879 0 0 0 0 +2871 1 1.8707 1 99.60014260410647 294.11296602794835 0 0 0 0 +7777 1 1.1305 1 110.08927254508633 312.7335854468155 0 0 0 0 +7943 1 1.1185 1 126.12773711680622 323.1568481512095 0 0 0 0 +9515 1 1.025 1 87.54204076369747 295.629365929533 0 0 0 0 +7828 1 1.1271 1 100.64012897164385 288.049047799304 0 0 0 0 +7832 1 1.1271 1 101.18230584844976 293.48348608005426 0 0 0 0 +7869 1 1.1234 1 97.50670089400089 310.0006127545095 0 0 0 0 +7870 1 1.1232 1 122.63889163892587 320.9867254256867 0 0 0 0 +7871 1 1.1232 1 115.05709743796145 309.00295859877025 0 0 0 0 +9989 1 1.0006 1 120.19499459571016 301.4234529650579 0 0 0 0 +7890 1 1.1221 1 122.94878228642789 281.32346890687205 0 0 0 0 +7899 1 1.1215 1 120.75542180168873 275.6242878133995 0 0 0 0 +7904 1 1.1209 1 125.23567705872796 305.89549461686744 0 0 0 0 +7906 1 1.1206 1 113.01838603935738 318.5028229809305 0 0 0 0 +7913 1 1.1198 1 97.12022190078599 317.3086410290002 0 0 0 0 +7931 1 1.1191 1 105.3863188027983 325.00538936781135 0 0 0 0 +9019 1 1.0518 1 132.95305925427255 314.01189924267305 0 0 0 0 +7980 1 1.1158 1 96.4016668013147 311.22424450269375 0 0 0 0 +9966 1 1.0022 1 125.07960906705037 323.3474921999427 0 0 0 0 +8018 1 1.1135 1 91.53634790500425 290.8887281434505 0 0 0 0 +9930 1 1.004 1 114.01485982072121 318.7836120202153 0 0 0 0 +8042 1 1.1118 1 116.84996014095586 286.6321545077338 0 0 0 0 +8099 1 1.1075 1 98.84240015495865 295.3666963401573 0 0 0 0 +8129 1 1.1056 1 101.40807895600295 305.247443438999 0 0 0 0 +8131 1 1.1055 1 124.6821023090158 276.2415779968818 0 0 0 0 +8142 1 1.1051 1 98.65616779768008 299.9189152439926 0 0 0 0 +8143 1 1.1051 1 124.79162837952248 307.7313579016524 0 0 0 0 +7723 1 1.1347 1 102.03718693394605 331.70959350843395 0 0 0 0 +8225 1 1.1 1 117.19013702904552 291.6499542060801 0 0 0 0 +8236 1 1.0991 1 117.51004138003023 288.63178385025003 0 0 0 0 +8260 1 1.0972 1 94.67008163714448 301.33432645787406 0 0 0 0 +8276 1 1.0965 1 104.02414863103658 295.3558521647227 0 0 0 0 +8295 1 1.095 1 125.83060333855218 284.0216266620208 0 0 0 0 +8316 1 1.093 1 123.78371733353318 287.6276492239632 0 0 0 0 +8326 1 1.0925 1 119.75615274243556 292.93435341287 0 0 0 0 +8333 1 1.0921 1 114.40782436759255 285.18986498468723 0 0 0 0 +8346 1 1.0908 1 107.2418274512999 317.41184601382645 0 0 0 0 +8349 1 1.0907 1 98.55376862473774 321.88991913692973 0 0 0 0 +8394 1 1.0878 1 124.50267980456428 277.24555666228605 0 0 0 0 +1558 1 2.5266 1 130.9556139651638 323.41173350261704 0 0 0 0 +8427 1 1.0861 1 122.67490739555981 278.17245034972484 0 0 0 0 +8429 1 1.0861 1 128.673636884943 283.5794792581823 0 0 0 0 +8431 1 1.086 1 100.38193251290473 310.91364262201415 0 0 0 0 +5470 1 1.3536 1 86.82280965108954 316.5658032392718 0 0 -1 0 +9880 1 1.0058 1 102.09605223329028 323.56654300922685 0 0 0 0 +8446 1 1.0845 1 89.98221120898373 318.27366357912314 0 0 0 0 +8450 1 1.0844 1 124.57158312033314 288.35900665048155 0 0 0 0 +6945 1 1.1985 1 75.93837324249856 322.1473255563408 0 0 0 0 +8500 1 1.081 1 99.74549649338947 286.92103449318324 0 0 0 0 +8503 1 1.0807 1 105.12127096382302 308.4793130026602 0 0 0 0 +5740 1 1.3216 1 79.55185957282352 331.2214822517546 0 0 -1 0 +8544 1 1.0785 1 90.4333625161181 319.23267243493785 0 0 0 0 +8565 1 1.0771 1 114.60849193093802 279.70923437062464 0 0 0 0 +8571 1 1.0768 1 114.0498329740158 308.7978102406809 0 0 0 0 +8586 1 1.0761 1 121.24329447226879 326.91036153764685 0 0 0 0 +9036 1 1.0508 1 88.82691585183433 307.37935856020187 0 0 0 0 +8594 1 1.0755 1 91.18125274417588 289.51828677483076 0 0 0 0 +8618 1 1.0737 1 96.98439256198968 307.44969089540035 0 0 0 0 +8636 1 1.0728 1 124.80122577516222 281.9149003927486 0 0 0 0 +9556 1 1.0229 1 135.28972099760043 331.25014182565394 0 0 0 0 +8644 1 1.0725 1 119.77917069180792 316.6862137120815 0 0 0 0 +8687 1 1.0706 1 123.21303170712648 309.3413001008469 0 0 0 0 +8704 1 1.0697 1 102.34359974210395 285.94735550864465 0 0 0 0 +8742 1 1.0674 1 117.4322835692388 287.5526114605145 0 0 0 0 +8748 1 1.0671 1 122.81709816698844 288.06764673540556 0 0 0 0 +8754 1 1.0666 1 85.94924802261515 298.75371910398064 0 0 0 0 +8771 1 1.0649 1 106.2376890516655 317.02902091566136 0 0 0 0 +8783 1 1.0642 1 117.93605871269558 279.17934408471734 0 0 0 0 +8800 1 1.0634 1 122.18399975495902 282.10330016799236 0 0 0 0 +8850 1 1.0602 1 118.25190113440725 281.33830141139373 0 0 0 0 +8873 1 1.0589 1 122.11321111984147 306.78710805750956 0 0 0 0 +8906 1 1.0572 1 81.94125789664659 303.75647495355014 0 0 0 0 +8943 1 1.0555 1 117.99698482344996 327.3223421325095 0 0 0 0 +5781 1 1.316 1 99.50178599542033 288.0456312667431 0 0 0 0 +8952 1 1.0551 1 93.5365377337203 291.3844899856113 0 0 0 0 +8969 1 1.0541 1 108.10893965834016 318.0224035515449 0 0 0 0 +8986 1 1.0534 1 104.17866473839443 320.93168558928664 0 0 0 0 +9004 1 1.0525 1 112.29025476199361 281.2743364618426 0 0 0 0 +3553 1 1.6805 1 86.12861563379731 325.9671599647224 0 0 -1 0 +9014 1 1.052 1 131.64256564350646 307.4981914919397 0 0 0 0 +5469 1 1.3538 1 138.45033900675878 277.9965242847809 0 0 0 0 +448 1 4.6632 1 81.39151180264395 311.90105105545774 0 0 0 0 +9044 1 1.0501 1 97.73172239889642 296.34892224671563 0 0 0 0 +2928 1 1.8553 1 75.95418008266543 320.3107974446479 0 0 0 0 +9055 1 1.0499 1 119.14180470374541 320.8166363909382 0 0 0 0 +9069 1 1.0488 1 92.43601414056836 291.4552341341589 0 0 0 0 +9075 1 1.0485 1 91.38888472267728 303.08998084627274 0 0 0 0 +6026 1 1.292 1 104.19585806139541 327.5041060071244 0 0 0 0 +9120 1 1.0462 1 94.19607960087819 317.3387898962821 0 0 0 0 +9124 1 1.046 1 115.90352578922544 294.94360040860977 0 0 0 0 +9146 1 1.0448 1 99.34858038332625 310.8753771057241 0 0 0 0 +9147 1 1.0448 1 94.92143383713768 303.4437376920852 0 0 0 0 +9175 1 1.0431 1 123.49405710684623 277.4964572303894 0 0 0 0 +9230 1 1.0405 1 125.54077948030736 277.3931520350234 0 0 0 0 +9236 1 1.0401 1 123.78740354682051 281.95785449404383 0 0 0 0 +8516 1 1.08 1 132.3091704858157 324.5897803247389 0 0 0 0 +9275 1 1.038 1 123.99106339979147 284.85170878079464 0 0 0 0 +9870 1 1.0063 1 127.15724581495458 323.4186374668338 0 0 0 0 +9393 1 1.0312 1 97.45157952128463 292.3389384628481 0 0 0 0 +8572 1 1.0767 1 81.74657470154678 314.72726182689627 0 0 0 0 +2658 1 1.9441 1 130.26736501721092 271.2695101648824 0 0 0 0 +4721 1 1.4604 1 85.72716851908874 310.89918596540036 0 0 0 0 +287 1 5.8529 1 137.87260491918954 313.83406955466864 0 0 0 0 +2275 1 2.1052 1 128.32542247687923 271.7826070828901 0 0 0 0 +1706 1 2.4176 1 75.33859593932232 313.41440037290823 0 0 0 0 +6228 1 1.2679 1 105.51096409250883 329.03528982022584 0 0 0 0 +2377 1 2.0565 1 79.78685966843551 320.963595676366 0 0 -1 0 +7988 1 1.1152 1 102.22245686001654 326.9609024079827 0 0 0 0 +4999 1 1.4203 1 132.26166002078804 318.52090577658396 0 0 0 0 +6867 1 1.2052 1 133.86478352334575 326.10215586927535 0 0 0 0 +4549 1 1.4895 1 135.1517198191699 316.20969382757386 0 0 0 0 +8766 1 1.0654 1 129.65495116572146 324.5580832058068 0 0 0 0 +7015 1 1.1928 1 83.44813309511325 321.1405304523346 0 0 -1 0 +8691 1 1.0703 1 137.18326313869778 275.94542390777974 0 0 0 0 +7079 1 1.1877 1 132.97292530465705 312.93159276556605 0 0 0 0 +7129 1 1.1835 1 131.40285367128246 327.087905900692 0 0 0 0 +2792 1 1.8954 1 131.19609479548592 325.5859249394543 0 0 0 0 +239 1 6.2884 1 131.66602217518755 277.87835980495976 0 0 0 0 +5365 1 1.3683 1 131.84470746649154 267.8205199543588 0 0 0 0 +8880 1 1.0584 1 132.3314047171603 281.45059017168666 0 0 0 0 +5220 1 1.3866 1 120.0458248969111 327.00598948349574 0 0 0 0 +7017 1 1.1923 1 132.6402945127867 326.412991111046 0 0 0 0 +6000 1 1.2946 1 86.58454728017966 323.993973803443 0 0 -1 0 +2013 1 2.2308 1 136.13766405744732 328.5386324692943 0 0 0 0 +2986 1 1.8365 1 138.37144296746797 275.1289622095309 0 0 0 0 +8288 1 1.0957 1 78.33524101659073 321.3940122638143 0 0 -1 0 +9646 1 1.0182 1 78.3736791667506 320.39147942286763 0 0 0 0 +2202 1 2.1361 1 85.0266334658118 324.4862837379381 0 0 -1 0 +3883 1 1.6109 1 135.5295122407219 278.3823570720312 0 0 0 0 +3961 1 1.594 1 80.61194318004253 297.12892724820176 0 0 0 0 +3570 1 1.6761 1 79.08151866900592 297.6464644886011 0 0 0 0 +7844 1 1.1262 1 78.65292300351561 312.69694954091733 0 0 0 0 +2241 1 2.1192 1 79.0189725135264 294.2445662530444 0 0 0 0 +218 1 6.5355 1 78.74925612729298 301.7273840511119 0 0 0 0 +3105 1 1.796 1 83.53064016940573 325.6587276771685 0 0 -1 0 +9872 1 1.0062 1 78.50333533932364 308.54672768978503 0 0 0 0 +5200 1 1.3884 1 78.09634081392103 291.7692512226223 0 0 0 0 +9498 1 1.0261 1 77.88248607339929 293.1079263485926 0 0 0 0 +5244 1 1.3828 1 81.3080076126527 329.4916438792329 0 0 -1 0 +665 1 3.8515 1 84.57951697677923 328.22470499401715 0 0 -1 0 +531 1 4.2597 1 132.7251031874865 330.73946494332216 0 0 0 0 +5097 1 1.4047 1 86.12438450298325 331.37416515434154 0 0 -1 0 +3127 1 1.7854 1 136.79922017786006 277.30410884505415 0 0 0 0 +6282 1 1.262 1 138.12229208640125 276.62961385886143 0 0 0 0 +4816 1 1.4464 1 78.5259321109592 330.2918774623039 0 0 -1 0 +8348 1 1.0907 1 79.43682213642697 309.6203989092657 0 0 0 0 +7022 1 1.1921 1 77.03607980892133 329.6946286252767 0 0 -1 0 +4222 1 1.5465 1 77.08437507784237 321.4746348883777 0 0 -1 0 +7969 1 1.1165 1 75.3245666484431 323.0999532772248 0 0 -1 0 +6504 1 1.2425 1 77.38611468234849 319.8986583079522 0 0 0 0 +8304 1 1.0943 1 78.86050219733139 310.5350823340045 0 0 0 0 +97 1 9.6308 1 136.65836333956216 321.4678568935693 0 0 0 0 +2798 1 1.8938 1 116.996653448269 329.80502447959344 0 0 0 0 +7214 1 1.1771 1 131.6162654267938 328.2729696316047 0 0 0 0 +1681 1 2.4359 1 75.21478206075201 309.3036082201215 0 0 0 0 +841 1 3.4818 1 76.91200543240326 306.9647603537297 0 0 0 0 +3813 1 1.6257 1 107.54037061077442 330.2250074895994 0 0 0 0 +3639 1 1.6646 1 77.37010535785905 313.3753831000353 0 0 0 0 +3395 1 1.7167 1 104.59875670459176 330.20238546367204 0 0 -1 0 +8433 1 1.0857 1 76.64327118543176 304.7861978565359 0 0 0 0 +6090 1 1.2841 1 76.66479566541878 318.86173717229076 0 0 0 0 +9157 1 1.0442 1 74.84165246105393 322.15518510215986 0 0 0 0 +2533 1 1.9985 1 77.43049151961124 309.5951692943401 0 0 0 0 +5930 1 1.302 1 74.85767066959173 327.8051354899585 0 0 -1 0 +4971 1 1.4236 1 137.10943985072683 326.9766154402293 0 0 0 0 +7275 1 1.1729 1 75.36148433808528 291.84434654983676 0 0 0 0 +2364 1 2.0613 1 77.66823750600207 311.5505222200877 0 0 0 0 +5004 1 1.4199 1 106.10280270781625 330.16347018900296 0 0 0 0 +5392 1 1.3646 1 116.41121806492433 331.4502530808184 0 0 0 0 +7459 1 1.1563 1 74.9238855301794 302.065376512813 0 0 0 0 +1974 1 2.257 1 136.78186534374413 330.661847434899 0 0 0 0 +9828 1 1.0087 1 117.53980831393287 331.1086162779587 0 0 0 0 +9009 1 1.0523 1 118.27613523174469 330.41279419174475 0 0 0 0 +1492 1 2.5851 1 74.58193109258819 315.7454476725066 0 0 0 0 +174 1 7.287 1 74.83016676812059 296.2828609891766 0 0 0 0 +3724 1 1.6434 1 74.87546074750604 300.6911191345689 0 0 0 0 +2623 1 1.9589 1 138.1589815017109 328.4209013581579 0 0 0 0 +3086 1 1.8029 1 138.27650844845098 306.4015713166599 0 0 0 0 +4510 1 1.4953 1 112.39961064587723 331.778790038909 0 0 0 0 +3358 1 1.7258 1 74.34443035623215 307.29210743586225 0 0 0 0 +4 1 57.8938 1 167.43490305669187 12.480598299006571 0 0 0 0 +9692 1 1.0159 1 202.18396223208296 64.40973637686173 0 0 0 0 +2721 1 1.9229 1 145.37130620214714 53.29792750025722 0 0 0 0 +68 1 11.2975 1 189.3848713663681 53.420311602365544 0 0 0 0 +89 1 9.8868 1 162.42493443272758 47.67298861405007 0 0 0 0 +99 1 9.6121 1 191.14175674421438 43.27827810211388 0 0 0 0 +1573 1 2.5139 1 143.796707403119 58.28252557561974 0 0 0 0 +211 1 6.6259 1 196.14575586836622 60.260657225640436 0 0 0 0 +4415 1 1.5128 1 200.6171955237987 44.82735985182972 0 0 0 0 +232 1 6.3213 1 150.77845015430597 39.69867473329851 0 0 0 0 +267 1 6.0344 1 178.5891946529838 49.49752119627868 0 0 0 0 +274 1 5.9759 1 147.29571961369828 65.38560795441954 0 0 0 0 +8004 1 1.1142 1 139.78644679695262 55.80199526977982 0 0 0 0 +282 1 5.891 1 198.21725451811994 20.3468347601073 0 0 0 0 +324 1 5.5046 1 187.18438903939176 37.06086644078776 0 0 0 0 +331 1 5.4684 1 182.8627144606131 41.365012024074105 0 0 0 0 +358 1 5.2866 1 181.24256986302308 54.40930989054197 0 0 0 0 +453 1 4.6432 1 141.23524912518607 31.08863899280511 0 0 0 0 +1196 1 2.9083 1 148.00526039906032 50.79094462958894 0 0 0 0 +509 1 4.3332 1 144.1181398658825 41.08733874900177 0 0 0 0 +515 1 4.3165 1 148.83284799988027 47.054336554057336 0 0 0 0 +526 1 4.277 1 186.36510141380754 61.78886571776318 0 0 0 0 +538 1 4.2385 1 155.43178259298713 47.78680386805381 0 0 0 0 +7309 1 1.1696 1 144.82919327755397 54.70653481289112 0 0 0 0 +614 1 3.9792 1 195.24958855714186 48.549656771562894 0 0 0 0 +9777 1 1.0112 1 190.59234746721185 70.0746877408507 0 0 0 0 +650 1 3.8877 1 191.7745414584269 67.93075075272381 0 0 0 0 +711 1 3.7641 1 176.73552679863943 43.125800248427325 0 0 0 0 +8207 1 1.1011 1 202.69371556400645 55.84503239184956 0 0 0 0 +793 1 3.6059 1 174.68717347999217 46.73930820869394 0 0 0 0 +832 1 3.5011 1 160.19417079465552 53.84785547904326 0 0 0 0 +852 1 3.456 1 170.327018506014 48.57537482470595 0 0 0 0 +3468 1 1.6998 1 200.18427773013522 53.82419565751268 0 0 0 0 +922 1 3.3102 1 168.4039228321599 54.28112437060806 0 0 0 0 +928 1 3.2984 1 165.18065458880048 53.65190223215979 0 0 0 0 +827 1 3.5202 1 156.95445761846517 54.99256508287661 0 0 0 0 +987 1 3.1999 1 199.1587291358417 63.98525404974386 0 0 0 0 +1003 1 3.1751 1 191.7326995907544 62.23225376390321 0 0 0 0 +1050 1 3.0905 1 159.82276105122736 41.852070274031796 0 0 0 0 +1855 1 2.3292 1 201.61176181744455 62.873579743966154 0 0 0 0 +1056 1 3.0829 1 147.00981928204436 34.92047415765169 0 0 0 0 +2834 1 1.8844 1 155.08302838959716 53.11057446881022 0 0 0 0 +1113 1 2.9985 1 140.42346962578782 35.998908470061586 0 0 0 0 +1129 1 2.977 1 183.0643812800139 49.37227726327957 0 0 0 0 +1228 1 2.8791 1 185.14601240584136 44.7934394968221 0 0 0 0 +1248 1 2.8511 1 162.7978088834148 55.49552696376587 0 0 0 0 +1262 1 2.8399 1 188.5917628250405 66.90068230253358 0 0 0 0 +1270 1 2.8242 1 174.3002289554162 52.52389618861421 0 0 0 0 +1298 1 2.7944 1 200.81260119547682 58.305718063056176 0 0 0 0 +1323 1 2.7642 1 171.81186154681865 51.28951058861425 0 0 0 0 +1365 1 2.7228 1 181.93085150696774 46.80275900271416 0 0 0 0 +1371 1 2.7123 1 176.33743666645577 54.378882582687034 0 0 0 0 +1374 1 2.7089 1 157.55102551460314 43.535881338982634 0 0 0 0 +5507 1 1.35 1 139.33202954805216 59.82726778823148 0 0 0 0 +1520 1 2.5573 1 169.1708058191405 51.34694383161758 0 0 0 0 +1548 1 2.534 1 143.84696296700452 37.69748393701941 0 0 0 0 +1571 1 2.5163 1 187.6866629657849 69.39597526947284 0 0 0 0 +1628 1 2.4694 1 149.55156171798467 43.81905227435395 0 0 0 0 +1682 1 2.4333 1 197.1718631785376 50.95009813006049 0 0 0 0 +2587 1 1.9756 1 141.82365663985868 61.36844940116745 0 0 0 0 +1734 1 2.4029 1 165.25740483426944 42.39156143977222 0 0 0 0 +1762 1 2.3763 1 173.77112953329703 43.760435167370545 0 0 0 0 +1787 1 2.3642 1 183.1471036106653 61.13855450259513 0 0 0 0 +4359 1 1.5216 1 142.29698080818693 69.8372115533017 0 0 0 0 +1841 1 2.3341 1 150.4386168687852 68.01085755777294 0 0 0 0 +1850 1 2.3308 1 153.89126268257198 42.75897623682124 0 0 0 0 +4328 1 1.5273 1 190.13605459971987 72.96994341771452 0 0 0 0 +1878 1 2.3144 1 153.73531485994954 45.04571251076118 0 0 0 0 +1880 1 2.3128 1 179.19471894978562 40.14005936915654 0 0 0 0 +1923 1 2.2875 1 197.45947692168394 14.146009192278632 0 0 0 0 +1963 1 2.2624 1 155.05336718852266 39.829862487936765 0 0 0 0 +1988 1 2.2488 1 169.41181083335442 45.91433260981643 0 0 0 0 +1992 1 2.2465 1 198.12358637280406 16.36113845869935 0 0 0 0 +2011 1 2.2327 1 144.46120462405756 35.41462047776979 0 0 0 0 +8654 1 1.0722 1 196.6111543276846 54.2748223674768 0 0 0 0 +2070 1 2.198 1 146.09442529269614 37.26075106483592 0 0 0 0 +2092 1 2.1873 1 139.2270439801861 22.73435779210016 0 0 0 0 +2094 1 2.1859 1 141.02975353321995 26.522560873924984 0 0 0 0 +2132 1 2.1636 1 146.7649191241405 69.34362516813556 0 0 0 0 +2161 1 2.1513 1 183.81445501316605 57.07090647590224 0 0 0 0 +9178 1 1.043 1 150.9892353804932 50.35440178920405 0 0 0 0 +2200 1 2.1373 1 198.41826618289352 12.167978801191575 0 0 0 0 +2319 1 2.0804 1 193.77598762617706 63.872252467229146 0 0 0 0 +2333 1 2.0752 1 200.4390486751265 12.62268149850831 0 0 0 0 +2358 1 2.0624 1 191.86349587031353 59.63046326858503 0 0 0 0 +1710 1 2.4158 1 189.09702558989565 71.3919050572149 0 0 0 0 +1187 1 2.9214 1 141.28502373562748 59.024547373426344 0 0 0 0 +2467 1 2.0231 1 151.87172562320322 46.186212202776204 0 0 0 0 +878 1 3.4002 1 202.72040615159565 43.595745986773146 0 0 0 0 +2493 1 2.0132 1 198.15446666422758 48.0028578691396 0 0 0 0 +2503 1 2.0091 1 170.84062059213258 44.35876951518477 0 0 0 0 +8297 1 1.0948 1 145.53520905342077 49.155260064464116 0 0 0 0 +2512 1 2.0065 1 195.72204999519133 55.47965993043764 0 0 0 0 +2514 1 2.0056 1 156.05067423866785 59.84025284390447 0 0 0 0 +4162 1 1.5565 1 144.96873339097246 61.89416117924002 0 0 0 0 +8393 1 1.0879 1 188.85081671620406 73.11771961018712 0 0 0 0 +2562 1 1.9844 1 172.43351758299917 55.364036824241005 0 0 0 0 +4883 1 1.4361 1 146.78062300520506 48.99757201739834 0 0 0 0 +2605 1 1.9658 1 181.09253011175073 44.6142483060502 0 0 0 0 +2636 1 1.9551 1 167.9138536898013 49.547474900272704 0 0 0 0 +9852 1 1.0074 1 183.40138219442647 52.162615223390745 0 0 0 0 +9922 1 1.0042 1 144.32569377448036 67.17393882477562 0 0 0 0 +2716 1 1.9244 1 174.66168509068834 49.479521816186114 0 0 0 0 +2730 1 1.9185 1 153.7940274963105 62.38179045185192 0 0 0 0 +2733 1 1.9173 1 178.18626303583187 45.56344584619356 0 0 0 0 +2739 1 1.9144 1 190.18253406659164 34.995696084477224 0 0 0 0 +2763 1 1.9076 1 196.30028670078514 66.54168726183443 0 0 0 0 +950 1 3.245 1 144.47029909728093 70.74479782668953 0 0 0 0 +2800 1 1.8936 1 167.3557179394429 42.36411964271972 0 0 0 0 +8480 1 1.0822 1 202.61259462877928 54.76580248673325 0 0 0 0 +2820 1 1.8889 1 191.21426899687847 33.50879173197423 0 0 0 0 +2823 1 1.8873 1 189.46280407513842 61.128603869764916 0 0 0 0 +8158 1 1.104 1 196.8889280901336 12.553109172753652 0 0 0 0 +2837 1 1.8831 1 179.33232702740935 42.200161774696014 0 0 0 0 +2844 1 1.8811 1 172.4173262188423 45.34471069280814 0 0 0 0 +2845 1 1.8808 1 186.8933700323556 65.29657388822878 0 0 0 0 +2873 1 1.8699 1 158.47398682575871 58.12233301841527 0 0 0 0 +2882 1 1.8677 1 194.546727771298 67.20257201060274 0 0 0 0 +2884 1 1.867 1 199.31954154464478 66.4094558140412 0 0 0 0 +2904 1 1.8621 1 151.10540364018487 63.46702659278224 0 0 0 0 +2935 1 1.8515 1 172.85229087041665 49.27972437863089 0 0 0 0 +2777 1 1.9027 1 140.75310535600377 52.03093783442271 0 0 0 0 +2992 1 1.8355 1 196.4264485649714 64.42681950227889 0 0 0 0 +2998 1 1.8332 1 167.72052698413697 44.395004416351185 0 0 0 0 +3000 1 1.8299 1 189.3252680201627 64.78761573095909 0 0 0 0 +3052 1 1.8119 1 186.60004175632815 47.563711454726764 0 0 0 0 +3076 1 1.8062 1 142.542288776202 35.01402426441537 0 0 0 0 +3077 1 1.8058 1 179.2881243340836 44.16475500258153 0 0 0 0 +3078 1 1.8057 1 199.62901812658225 56.38053942590167 0 0 0 0 +3079 1 1.8056 1 143.94833079890572 33.12140760209842 0 0 0 0 +3115 1 1.7913 1 149.1371966919232 36.03075086549062 0 0 0 0 +3124 1 1.7862 1 157.4723515991058 41.300010999723476 0 0 0 0 +3131 1 1.784 1 182.05015647569698 57.81741503228492 0 0 0 0 +3173 1 1.7728 1 194.93111169836573 65.37404372792595 0 0 0 0 +3193 1 1.7675 1 182.90665323976938 44.900121603291666 0 0 0 0 +28 1 18.2798 1 201.16791596694347 32.67304949788373 0 0 0 0 +3253 1 1.7523 1 178.63323693126299 57.798860818463055 0 0 0 0 +3257 1 1.7511 1 185.7941918140613 58.84122486922114 0 0 0 0 +8550 1 1.078 1 140.50079234457633 61.990918169229936 0 0 0 0 +3388 1 1.7181 1 190.7429441170952 36.65493054176478 0 0 0 0 +3389 1 1.7178 1 199.2813731982915 14.929606032685038 0 0 0 0 +3741 1 1.6409 1 196.4673755292523 44.97490409630405 0 0 0 0 +7183 1 1.1796 1 143.1037340794781 43.587975269536486 0 0 0 0 +3463 1 1.7006 1 141.8161302288329 37.789159696361196 0 0 0 0 +9728 1 1.0138 1 142.41078248545776 68.58959883153402 0 0 0 0 +3473 1 1.6992 1 191.88016862649243 29.337901528147963 0 0 0 0 +5609 1 1.3358 1 197.01610397419975 11.148214550854487 0 0 0 0 +3498 1 1.6939 1 184.22879301659523 46.898627046972464 0 0 0 0 +3572 1 1.6758 1 186.28200210137663 40.49455864201787 0 0 0 0 +6365 1 1.2555 1 193.35036904478656 38.402956487434764 0 0 0 0 +6336 1 1.2583 1 199.59031591011896 43.67691418380188 0 0 0 0 +3607 1 1.6694 1 155.42475666404277 44.00184018563294 0 0 0 0 +3630 1 1.6658 1 182.63252111259277 37.94520256483348 0 0 0 0 +3631 1 1.6656 1 191.04675263945248 64.64969894990817 0 0 0 0 +3671 1 1.6555 1 176.0497403223024 56.53851367944991 0 0 0 0 +3677 1 1.6538 1 185.17858980768418 48.50307054880293 0 0 0 0 +3690 1 1.6513 1 170.91114302401851 54.44259937002323 0 0 0 0 +3711 1 1.6447 1 150.21727957733685 69.96389209705444 0 0 0 0 +3716 1 1.6444 1 152.8025850863551 63.88803999267905 0 0 0 0 +3719 1 1.6441 1 188.46480529632126 59.75178128243044 0 0 0 0 +3756 1 1.6389 1 148.6243797450089 69.73762581599651 0 0 0 0 +9 1 36.512 1 168.78682803519894 74.1874333029404 0 0 0 0 +9946 1 1.0031 1 138.87765374642035 29.549812370657698 0 0 0 0 +3793 1 1.6315 1 151.9094586691127 44.39929936657792 0 0 0 0 +3853 1 1.6168 1 195.67492727562558 52.242121548083354 0 0 0 0 +3860 1 1.6157 1 170.40469821433382 52.93355713061048 0 0 0 0 +3880 1 1.6117 1 179.90771787263108 45.92824517511735 0 0 0 0 +3886 1 1.6103 1 142.09624116275583 28.056720000080688 0 0 0 0 +3908 1 1.6062 1 147.1105600772802 41.188692239433735 0 0 0 0 +4051 1 1.5742 1 199.90118593138448 17.04132556805797 0 0 0 0 +4123 1 1.5629 1 185.27652816126184 64.59025721862265 0 0 0 0 +4170 1 1.5551 1 157.15534417730936 45.555732115851754 0 0 0 0 +4176 1 1.5534 1 186.61413832332772 67.70276099167764 0 0 0 0 +9993 1 1.0003 1 156.48800509015072 52.81379885916434 0 0 0 0 +4279 1 1.5361 1 144.27385529782214 31.036238925417084 0 0 0 0 +4298 1 1.5326 1 180.2469276509674 57.56266493939955 0 0 0 0 +2208 1 2.1328 1 142.13030024089957 56.72821825772137 0 0 0 0 +9328 1 1.0346 1 146.5743175623833 70.89309961622666 0 0 0 0 +4344 1 1.5238 1 171.97244840414126 43.03934680168712 0 0 0 0 +3494 1 1.6944 1 197.73699625446827 52.89474016624095 0 0 0 0 +4385 1 1.5171 1 175.18474365044943 41.080206945712064 0 0 0 0 +9291 1 1.0372 1 202.08628937235886 60.34905434512268 0 0 0 0 +4419 1 1.5118 1 169.96408589288222 42.88956247413507 0 0 0 0 +7918 1 1.1196 1 189.60980428561365 69.7585396011234 0 0 0 0 +4521 1 1.4942 1 156.45665181714315 51.5994150539334 0 0 0 0 +6874 1 1.2045 1 138.89649562946656 37.32622174390208 0 0 0 0 +6907 1 1.2014 1 192.05157419984602 36.05686661890098 0 0 0 0 +4590 1 1.4821 1 140.3626550886078 33.88929434914517 0 0 0 0 +4606 1 1.4795 1 150.88345961436423 65.08439987196724 0 0 0 0 +3609 1 1.669 1 143.42090185989596 62.06022285111542 0 0 0 0 +4689 1 1.466 1 146.0333501313588 39.022275387952796 0 0 0 0 +4725 1 1.4596 1 150.00905118831383 71.48309650235342 0 0 0 0 +7612 1 1.1433 1 198.98061577422578 57.66908144354708 0 0 0 0 +4773 1 1.452 1 190.1339563205727 59.68118313739035 0 0 0 0 +4801 1 1.4487 1 193.7643888459426 26.157009032080218 0 0 0 0 +4819 1 1.446 1 145.22321354723528 32.136111407013566 0 0 0 0 +4833 1 1.4446 1 151.44707509251137 66.43341293869116 0 0 0 0 +4859 1 1.4402 1 140.59870729421792 28.209671622757952 0 0 0 0 +4881 1 1.4364 1 178.0040207733717 53.15855543389949 0 0 0 0 +4886 1 1.435 1 198.0750321417113 56.772703768560724 0 0 0 0 +4683 1 1.4672 1 146.4277933211753 61.87954563996004 0 0 0 0 +4977 1 1.4232 1 179.77766981320045 58.86566173476776 0 0 0 0 +5019 1 1.4178 1 167.23964161854656 51.043331477871384 0 0 0 0 +5024 1 1.4174 1 152.20262010201185 65.23828524259534 0 0 0 0 +5109 1 1.4026 1 144.38550757370928 63.20879246058979 0 0 0 0 +5120 1 1.3999 1 155.79485947458687 42.520084760400906 0 0 0 0 +5129 1 1.3987 1 200.59422334734853 14.265004264969923 0 0 0 0 +5138 1 1.3978 1 157.86865971177284 51.547272931153415 0 0 0 0 +5210 1 1.3875 1 150.0997983123083 51.144204015184066 0 0 0 0 +5192 1 1.3896 1 193.5147392650729 65.97492688103296 0 0 0 0 +3998 1 1.5854 1 141.35199942677121 40.180267271865844 0 0 0 0 +5247 1 1.3826 1 160.32433951398033 56.230451555550815 0 0 0 0 +5284 1 1.3778 1 189.53403491513646 62.63750203826493 0 0 0 0 +5287 1 1.3772 1 196.59441441279637 17.14905432904142 0 0 0 0 +6586 1 1.2335 1 140.92735331649865 55.64307315774558 0 0 0 0 +5355 1 1.369 1 188.97487986216387 32.801305099841514 0 0 0 0 +2448 1 2.0279 1 142.00639371520074 71.58700139813516 0 0 0 0 +5414 1 1.3615 1 183.81817824515355 37.07806716531865 0 0 0 0 +5423 1 1.3607 1 192.3138223335391 65.39531347216047 0 0 0 0 +5435 1 1.3585 1 184.2812394582513 58.72319982183751 0 0 0 0 +5451 1 1.3557 1 140.23803391694332 24.156938179016063 0 0 0 0 +2433 1 2.0333 1 144.03225145526847 56.054039761305276 0 0 0 0 +5527 1 1.3482 1 188.5732606184998 63.46189253146841 0 0 0 0 +8992 1 1.053 1 201.58829490507446 67.06252479396441 0 0 0 0 +1415 1 2.6661 1 140.24331675363177 70.08305777549077 0 0 0 0 +5584 1 1.3391 1 168.91225606090865 41.99900573188434 0 0 0 0 +4839 1 1.4432 1 140.26171536330003 54.554174642980485 0 0 0 0 +5610 1 1.3357 1 194.65534388509886 56.69823520555045 0 0 0 0 +5636 1 1.3333 1 172.51817137927324 47.76638039938575 0 0 0 0 +5651 1 1.3322 1 200.14728528814072 23.13889187947009 0 0 0 0 +5681 1 1.3288 1 176.353693510443 52.38303879891212 0 0 0 0 +1697 1 2.4271 1 198.1960799748176 54.88791563756147 0 0 0 0 +5777 1 1.3163 1 155.30494160962934 50.51501152841611 0 0 0 0 +5788 1 1.3155 1 155.03694300321055 61.15684285737569 0 0 0 0 +5766 1 1.3179 1 153.09780910535477 49.16153971141273 0 0 0 0 +5811 1 1.3134 1 201.45478482430755 16.428334388405453 0 0 0 0 +5818 1 1.3126 1 172.79128400675964 53.83059250855211 0 0 0 0 +7411 1 1.1603 1 156.25378450189066 57.216309273761695 0 0 0 0 +5830 1 1.3115 1 197.51773374938438 65.49415983205823 0 0 0 0 +5873 1 1.3082 1 169.2443042247871 44.17028482673238 0 0 0 0 +914 1 3.3299 1 197.43871846687063 42.707231649407845 0 0 0 0 +5908 1 1.3043 1 185.95427766202894 66.47001305151116 0 0 0 0 +8035 1 1.1125 1 139.66709766677147 68.31380421587727 0 0 0 0 +5969 1 1.2977 1 174.63353366977617 55.32324994172607 0 0 0 0 +5971 1 1.2974 1 161.3603517877381 56.9154622123069 0 0 0 0 +5996 1 1.2951 1 167.6865179459051 45.94155962433268 0 0 0 0 +6048 1 1.289 1 173.00848431686276 42.10284633590371 0 0 0 0 +7006 1 1.1938 1 140.01982103185108 40.09025556590015 0 0 0 0 +6075 1 1.2859 1 197.10591946613286 46.73715432607596 0 0 0 0 +9968 1 1.0022 1 157.73727495273366 50.411659627479196 0 0 0 0 +6113 1 1.2824 1 139.83005709489197 25.379977428266514 0 0 0 0 +2106 1 2.1801 1 151.44884138650266 48.8648587930277 0 0 0 0 +6193 1 1.2724 1 144.17106505188468 68.27879344038769 0 0 0 0 +6210 1 1.2706 1 195.62914359075262 24.510572432500275 0 0 0 0 +2091 1 2.1878 1 139.112881596377 53.163076869233265 0 0 0 0 +6672 1 1.2248 1 141.20219619205537 49.63863422526563 0 0 0 0 +6245 1 1.2657 1 147.25593835393767 38.47370536457905 0 0 0 0 +6266 1 1.2634 1 162.6399380649136 53.27684440335619 0 0 0 0 +626 1 3.9408 1 201.05248164588608 47.51451199462666 0 0 0 0 +6369 1 1.2552 1 171.7838499282567 46.74916979017446 0 0 0 0 +7194 1 1.1785 1 157.57251350090723 52.76326181471689 0 0 0 0 +7603 1 1.1438 1 202.93384908618938 61.026431592188814 0 0 0 0 +6440 1 1.2481 1 178.59853449809304 56.318869502246876 0 0 0 0 +1494 1 2.5842 1 138.90631656208782 57.8178536253527 0 0 0 0 +6518 1 1.2416 1 197.83730988946684 66.67449314632083 0 0 0 0 +6530 1 1.2395 1 171.73233637488494 53.2608470801349 0 0 0 0 +6531 1 1.2395 1 167.19243887739262 52.367743619144136 0 0 0 0 +6544 1 1.238 1 183.03461735884565 58.95338306508091 0 0 0 0 +6555 1 1.237 1 194.98808856800076 23.314489067238718 0 0 0 0 +275 1 5.966 1 139.57700778604763 43.587966046470854 0 0 0 0 +6596 1 1.232 1 177.23886729943192 57.324934148014904 0 0 0 0 +6642 1 1.2279 1 146.94006667389337 44.93276073608341 0 0 0 0 +6649 1 1.2268 1 162.04384419300868 41.81643792476147 0 0 0 0 +6659 1 1.2264 1 171.8305564046359 41.6894073911239 0 0 0 0 +6677 1 1.2243 1 184.08513029564955 38.302464365418224 0 0 0 0 +6681 1 1.2238 1 177.49381028018763 40.62358576098401 0 0 0 0 +6693 1 1.223 1 187.85636458855979 33.78987189139448 0 0 0 0 +6718 1 1.2206 1 186.6041064936927 46.127727008848126 0 0 0 0 +6732 1 1.2194 1 156.53368632738983 50.27463722985179 0 0 0 0 +6756 1 1.2178 1 181.89505515851394 59.33161161110542 0 0 0 0 +6762 1 1.217 1 200.61754882708746 65.62330224557545 0 0 0 0 +5156 1 1.3952 1 140.26035462432682 60.81257922118797 0 0 0 0 +6801 1 1.2126 1 180.76282336775336 59.699336665415785 0 0 0 0 +6802 1 1.2125 1 147.66731473928456 70.72238429886869 0 0 0 0 +6825 1 1.21 1 166.17279699448574 51.703651933485254 0 0 0 0 +5979 1 1.2967 1 141.13060261707784 46.82200936897972 0 0 0 0 +6844 1 1.2083 1 175.3078868826407 50.86549764918791 0 0 0 0 +6857 1 1.2069 1 166.36136657347558 43.78524398084271 0 0 0 0 +6919 1 1.2004 1 156.75708224459729 40.01142410934576 0 0 0 0 +2808 1 1.8911 1 201.59439373720883 22.66550809755212 0 0 0 0 +5251 1 1.3817 1 139.91422518100353 72.02192511549659 0 0 0 0 +6952 1 1.1981 1 146.187214509253 32.98535857923628 0 0 0 0 +6953 1 1.1981 1 189.3825770111493 68.68693485918882 0 0 0 0 +6979 1 1.196 1 188.99805585853858 34.06162451186114 0 0 0 0 +6982 1 1.1958 1 181.6619653675788 51.23448591958239 0 0 0 0 +7002 1 1.1941 1 191.71918235116357 34.937621043719815 0 0 0 0 +7004 1 1.1939 1 184.32627967316105 63.56644581709857 0 0 0 0 +7051 1 1.1895 1 142.23197437855606 39.12540451329247 0 0 0 0 +5967 1 1.298 1 202.55259675236957 67.64895101185071 0 0 0 0 +7062 1 1.189 1 147.05278228923177 39.813651421719044 0 0 0 0 +7094 1 1.1866 1 194.30779538599313 24.760042212083697 0 0 0 0 +8310 1 1.0938 1 146.15415402750799 51.52189030912838 0 0 0 0 +7154 1 1.1818 1 200.40644632916295 15.78607463657147 0 0 0 0 +7169 1 1.1806 1 190.33688498582492 65.87360285469681 0 0 0 0 +7170 1 1.1805 1 199.16607181857447 13.57108214145941 0 0 0 0 +5208 1 1.3878 1 142.0064033315288 48.638037141255616 0 0 0 0 +1265 1 2.8347 1 199.60186155426425 51.63555220286834 0 0 0 0 +3167 1 1.7749 1 202.07755221913527 65.76610455586336 0 0 0 0 +7237 1 1.1751 1 187.18305162046602 59.219810835649206 0 0 0 0 +7276 1 1.1728 1 148.03297070938416 37.0423627738056 0 0 0 0 +7306 1 1.1699 1 195.5663717961463 53.91363462117745 0 0 0 0 +7363 1 1.1644 1 176.9681743963824 46.385574411750284 0 0 0 0 +7365 1 1.1642 1 157.12332844922878 58.71437834362221 0 0 0 0 +7366 1 1.1642 1 173.82581183180707 54.44695727611628 0 0 0 0 +7876 1 1.1231 1 145.29104676684776 68.6546359445512 0 0 0 0 +4026 1 1.5784 1 199.13828728343367 49.49260450512272 0 0 0 0 +7457 1 1.1564 1 184.4081319205264 59.94216524054797 0 0 0 0 +7461 1 1.1562 1 173.65840665310233 50.642419538058036 0 0 0 0 +7487 1 1.1537 1 168.59572936145778 43.18106093096112 0 0 0 0 +7535 1 1.1499 1 173.8745963347748 41.26715382781328 0 0 0 0 +6478 1 1.2455 1 198.17445551972762 10.582195212215805 0 0 0 0 +7607 1 1.1436 1 145.28200490526993 33.72153736957944 0 0 0 0 +6375 1 1.2547 1 145.2333073078176 43.544672352284636 0 0 0 0 +7634 1 1.1418 1 192.77203811103186 48.315072955294276 0 0 0 0 +7717 1 1.1353 1 143.06694540225695 28.96896336622889 0 0 0 0 +73 1 10.8403 1 150.2769988485894 57.203935104666456 0 0 0 0 +7760 1 1.1315 1 150.74357864756166 45.126674037076064 0 0 0 0 +9738 1 1.0132 1 140.69754997804105 50.61092346508964 0 0 0 0 +7794 1 1.1291 1 180.5968934223107 38.93823388205925 0 0 0 0 +7833 1 1.127 1 199.9480413037762 60.0080561813244 0 0 0 0 +9774 1 1.0113 1 178.14827997611985 54.3504878704079 0 0 0 0 +3423 1 1.7105 1 201.73967192513282 53.23044572899135 0 0 0 0 +9770 1 1.0115 1 141.43962415697996 68.74124259491816 0 0 0 0 +7923 1 1.1194 1 142.5873905795052 33.58981859598684 0 0 0 0 +7958 1 1.1172 1 177.37729907135596 56.16425382822035 0 0 0 0 +7991 1 1.115 1 147.96952818408317 44.50708788802138 0 0 0 0 +7997 1 1.1147 1 155.0917190421179 41.51238890516338 0 0 0 0 +8007 1 1.1141 1 159.00706679347232 51.934268693983725 0 0 0 0 +4880 1 1.4368 1 152.6793899320869 47.64008741116333 0 0 0 0 +8031 1 1.1128 1 186.0449928383357 41.85779419454782 0 0 0 0 +8033 1 1.1127 1 163.23159911790358 41.798670354012444 0 0 0 0 +8034 1 1.1126 1 174.4974901118978 42.192693340749805 0 0 0 0 +8040 1 1.1122 1 190.15932437291443 63.63990298999077 0 0 0 0 +8059 1 1.1105 1 182.72962103069116 51.38144772556127 0 0 0 0 +4933 1 1.4281 1 143.30990748385258 74.00842485213299 0 0 0 0 +8111 1 1.1071 1 170.67276023587542 41.797109826444554 0 0 0 0 +7905 1 1.1209 1 138.71885160139115 56.053312320643926 0 0 0 0 +8254 1 1.0975 1 187.6243811461989 64.10850609767726 0 0 0 0 +2505 1 2.0087 1 201.38366615465122 18.03131842531269 0 0 0 0 +8301 1 1.0946 1 164.6947018727732 55.84070928510279 0 0 0 0 +8309 1 1.094 1 173.75695764371812 56.089258424069776 0 0 0 0 +8356 1 1.0904 1 143.72191768051434 29.858382960402505 0 0 0 0 +8363 1 1.0896 1 195.0911202879634 51.04991278726724 0 0 0 0 +8365 1 1.0895 1 181.60124008638454 60.44336270275741 0 0 0 0 +4028 1 1.5783 1 192.44318544020302 37.35915429213544 0 0 0 0 +8445 1 1.0847 1 152.24039387629978 43.08947701714997 0 0 0 0 +8448 1 1.0844 1 152.34681131010728 62.6957080662214 0 0 0 0 +8459 1 1.084 1 200.35619800904456 55.173210577265955 0 0 0 0 +8463 1 1.0836 1 185.80505856773408 42.92722292461874 0 0 0 0 +8470 1 1.0831 1 171.04814526393773 45.87530564959804 0 0 0 0 +3462 1 1.7006 1 144.69420271344998 60.14007937824698 0 0 0 0 +8621 1 1.0737 1 196.68978047250044 23.634859311481847 0 0 0 0 +8648 1 1.0723 1 151.20414187091677 43.31256520831098 0 0 0 0 +8657 1 1.0719 1 168.1080415530302 48.048064907577 0 0 0 0 +8674 1 1.0712 1 159.41119704389993 57.03410795376141 0 0 0 0 +8681 1 1.0709 1 148.4389988032825 42.4817637999492 0 0 0 0 +9804 1 1.0097 1 196.70314684712548 15.601083569979714 0 0 0 0 +8708 1 1.0694 1 196.86661239967302 56.48783185995333 0 0 0 0 +8809 1 1.0628 1 201.18040985731707 64.6388711843226 0 0 0 0 +8811 1 1.0627 1 156.10536679934143 58.312391696066754 0 0 0 0 +8812 1 1.0626 1 180.310800375938 43.27354103244338 0 0 0 0 +8826 1 1.0617 1 157.34257871643646 57.23655513812024 0 0 0 0 +8870 1 1.059 1 180.96465918957844 58.6307638047295 0 0 0 0 +6361 1 1.256 1 140.46458894805968 56.77272817080254 0 0 0 0 +8980 1 1.0537 1 190.91756913524947 30.24886678324175 0 0 0 0 +8981 1 1.0536 1 157.3373200372841 49.520869348312566 0 0 0 0 +8994 1 1.053 1 154.11124773016644 41.13135211872757 0 0 0 0 +1180 1 2.9277 1 140.95766651863295 73.8006739630468 0 0 0 0 +8017 1 1.1136 1 155.19497814108345 51.67727893792952 0 0 0 0 +9100 1 1.047 1 142.56363661646785 36.44337812022182 0 0 0 0 +9143 1 1.0449 1 176.3606386569971 40.56609931733797 0 0 0 0 +9156 1 1.0442 1 156.0837939849548 41.11555752394348 0 0 0 0 +9162 1 1.044 1 166.68394626085083 55.54314733552379 0 0 0 0 +9240 1 1.04 1 200.5916052356036 67.00592498051023 0 0 0 0 +9271 1 1.0381 1 191.5429093977019 70.35736613775116 0 0 0 0 +5942 1 1.3005 1 202.474414911543 57.0688286277558 0 0 0 0 +9297 1 1.0367 1 168.17798454558655 46.99766375143038 0 0 0 0 +6012 1 1.2934 1 159.08797728889513 55.92853512308937 0 0 0 0 +9355 1 1.0334 1 143.30220291213 68.9991859535423 0 0 0 0 +9398 1 1.0308 1 192.83565998281762 58.454737584029246 0 0 0 0 +9258 1 1.0389 1 140.12268557713045 49.783385352179614 0 0 0 0 +9422 1 1.0295 1 178.04962047344284 55.341455789332976 0 0 0 0 +9518 1 1.0249 1 165.70400976834773 55.715520509586185 0 0 0 0 +9570 1 1.022 1 160.34517303979345 57.44732734978114 0 0 0 0 +9586 1 1.0215 1 158.31233286555772 56.74725306895516 0 0 0 0 +9589 1 1.0213 1 170.16083574359675 55.50820960245728 0 0 0 0 +9602 1 1.0205 1 155.92748136606204 45.222179715917264 0 0 0 0 +9609 1 1.0199 1 183.72404680859017 51.208728083221146 0 0 0 0 +9614 1 1.0199 1 192.29901678616733 64.2287984046492 0 0 0 0 +3200 1 1.7663 1 200.88766196385663 61.024180304081625 0 0 0 0 +5763 1 1.3187 1 201.42978109580903 54.67101143977719 0 0 0 0 +6211 1 1.2704 1 201.44259610225507 15.181359076480542 0 0 0 0 +6212 1 1.2703 1 199.60225589750976 42.305448271901206 0 0 0 0 +9718 1 1.0143 1 174.74094397531326 56.436092571207986 0 0 0 0 +9729 1 1.0138 1 148.85203552579208 68.47235456423081 0 0 0 0 +9756 1 1.0126 1 196.08099568243318 46.220221759300706 0 0 0 0 +9768 1 1.0115 1 176.5667243448747 45.43848350932208 0 0 0 0 +381 1 5.0592 1 144.24441247311336 46.427112128815445 0 0 0 0 +9789 1 1.0103 1 198.94868203668014 53.39558858526241 0 0 0 0 +2046 1 2.2141 1 190.40188903305108 31.74384277808749 0 0 0 0 +6235 1 1.2668 1 196.01075562854263 40.93283205172323 0 0 0 0 +1331 1 2.7556 1 198.58492208555592 45.41872859052287 0 0 0 0 +4319 1 1.5293 1 149.87972264234065 49.733110297830656 0 0 0 0 +1775 1 2.3711 1 146.9194086358765 43.1451642962296 0 0 0 0 +8692 1 1.0703 1 196.45299050794014 53.26429428262619 0 0 0 0 +7107 1 1.1852 1 151.39813321009538 51.340299713972925 0 0 0 0 +5938 1 1.3012 1 146.11394862007577 50.143375708158715 0 0 0 0 +1291 1 2.8022 1 153.35720879922138 51.15916493506272 0 0 0 0 +4394 1 1.5158 1 143.12195996969953 60.23020080306481 0 0 0 0 +8490 1 1.0816 1 146.8004201784394 52.37927306577261 0 0 0 0 +2413 1 2.0441 1 201.92370562405983 11.281489377098662 0 0 0 0 +6883 1 1.2038 1 191.22621445666775 37.95386365143935 0 0 0 0 +9781 1 1.011 1 145.7287012969855 60.91186252772426 0 0 0 0 +7174 1 1.1803 1 144.0054482611314 72.90672070659005 0 0 0 0 +5547 1 1.3444 1 200.8101177957537 42.4075654542417 0 0 0 0 +9255 1 1.0391 1 142.8078123294523 72.88781071166868 0 0 0 0 +523 1 4.2856 1 143.54600679763786 50.94911625162572 0 0 0 0 +1212 1 2.8963 1 142.4297791310241 54.26869312514558 0 0 0 0 +6233 1 1.2671 1 187.58628838291452 72.42834563901123 0 0 0 0 +3478 1 1.6983 1 201.3377700952189 56.14195428810435 0 0 0 0 +2449 1 2.0275 1 140.41239459232807 48.27175271137261 0 0 0 0 +3805 1 1.628 1 202.00466188407026 50.029730708956876 0 0 0 0 +8886 1 1.058 1 140.6877557769012 53.44063322893388 0 0 0 0 +2832 1 1.8848 1 200.0214958715108 10.792788907608422 0 0 0 0 +2207 1 2.1329 1 140.0883047022005 38.479404978943194 0 0 0 0 +279 1 5.9326 1 141.43430164191446 65.29523292326367 0 0 0 0 +6840 1 1.2084 1 190.88095175732235 71.25143205559553 0 0 0 0 +6559 1 1.2364 1 187.3472570465462 71.20793180230068 0 0 0 0 +4703 1 1.4644 1 139.37169378844965 51.17069213044205 0 0 0 0 +5575 1 1.341 1 201.76935262434495 13.611637290129512 0 0 0 0 +3587 1 1.6739 1 201.72238336233852 51.58686211555129 0 0 0 0 +9034 1 1.0509 1 202.49457671981042 12.679357329419831 0 0 0 0 +4305 1 1.5318 1 187.7575065348747 73.80550358144362 0 0 0 0 +3983 1 1.5898 1 139.00918201109823 47.24879787797793 0 0 0 0 +2268 1 2.1075 1 138.98442486630634 61.881441775283704 0 0 0 0 +8506 1 1.0805 1 138.89137633853667 71.44637255311824 0 0 0 0 +5194 1 1.3895 1 138.93817635937816 54.88466862908106 0 0 0 0 +3761 1 1.6377 1 138.7080120922093 24.551448461246085 0 0 0 0 +3757 1 1.6381 1 138.74441935803196 20.202366123270842 0 0 0 0 +20 1 21.6436 1 189.63939143223917 98.20442070968687 0 0 0 0 +3574 1 1.675 1 146.17010193412486 79.34643767497627 0 0 0 0 +27 1 19.5342 1 170.75772919641372 123.45559614127748 0 0 0 0 +71 1 11.1136 1 151.864473907488 119.4544567612856 0 0 0 0 +112 1 9.3152 1 151.04393355079665 95.70287807482147 0 0 0 0 +119 1 9.0933 1 168.06808367924523 102.84580690913519 0 0 0 0 +120 1 9.0861 1 163.06749762894432 110.31151611423412 0 0 0 0 +9949 1 1.0031 1 192.48761437527764 86.52842907103846 0 0 0 0 +152 1 7.5919 1 145.28996613477116 84.31296820448036 0 0 0 0 +164 1 7.4478 1 175.26947167825486 97.15542608925055 0 0 0 0 +181 1 7.1776 1 158.8353571964934 131.22226640379392 0 0 0 0 +226 1 6.3752 1 190.2084519654564 128.2518462172936 0 0 0 0 +1145 1 2.9663 1 139.71136197611068 91.0810227795144 0 0 0 0 +255 1 6.1632 1 176.5020478335128 105.31790600805564 0 0 0 0 +258 1 6.1555 1 172.68532326985311 109.98889276864931 0 0 0 0 +9731 1 1.0137 1 194.99877719432223 86.82115551423504 0 0 0 0 +291 1 5.8215 1 188.55781268052257 122.39922490044349 0 0 0 0 +295 1 5.8053 1 153.51955845322934 103.8076587372172 0 0 0 0 +298 1 5.7483 1 147.4962299949772 112.27187129797845 0 0 0 0 +1093 1 3.0275 1 201.86816903208134 125.39260824048228 0 0 0 0 +333 1 5.4673 1 184.16012617888728 114.70926001472554 0 0 0 0 +6070 1 1.2866 1 147.12920581286255 108.78567911171663 0 0 0 0 +6661 1 1.226 1 187.56007520686208 137.4282949623774 0 0 0 0 +2026 1 2.224 1 192.32901154368005 134.94002519631272 0 0 0 0 +7059 1 1.1892 1 191.25042480894976 80.11154691877037 0 0 0 0 +390 1 4.9878 1 149.41438656536786 88.85945487719937 0 0 0 0 +1052 1 3.0895 1 149.0464276612842 80.63540929643501 0 0 0 0 +428 1 4.7669 1 157.791857283909 97.15446200682086 0 0 0 0 +429 1 4.7621 1 188.5400446942812 117.2162850149764 0 0 0 0 +435 1 4.7179 1 169.91202955288387 94.64969655310239 0 0 0 0 +443 1 4.6714 1 182.40741350923676 120.53878240953848 0 0 0 0 +455 1 4.6375 1 188.8992165225512 78.35784860185994 0 0 0 0 +467 1 4.5825 1 187.36932799867787 82.69410761423867 0 0 0 0 +471 1 4.5402 1 156.62798867222378 108.17327060383892 0 0 0 0 +7970 1 1.1165 1 196.01628852543135 137.38561031544492 0 0 0 0 +9301 1 1.0364 1 141.17454431269397 89.810772877644 0 0 0 0 +3779 1 1.6339 1 193.27271273942276 133.27450582562994 0 0 0 0 +537 1 4.2398 1 180.3484818001413 108.66151639637216 0 0 0 0 +551 1 4.196 1 162.48544979427678 99.27993578526959 0 0 0 0 +559 1 4.1755 1 192.75559434884482 116.0651554788602 0 0 0 0 +7442 1 1.1575 1 144.44178883149 123.70945002900349 0 0 0 0 +607 1 3.9975 1 159.43222440816288 102.95072457306121 0 0 0 0 +612 1 3.9842 1 198.9436891283467 85.96850762868569 0 0 0 0 +8321 1 1.0926 1 146.36936356112196 126.80276807034936 0 0 0 0 +641 1 3.9108 1 149.1240808251011 105.7702389244359 0 0 0 0 +648 1 3.8946 1 158.24411676439343 136.67702199383427 0 0 0 0 +666 1 3.8513 1 158.3764372838559 116.01973954100077 0 0 0 0 +696 1 3.7928 1 153.6339544013414 129.6247825971939 0 0 0 0 +9302 1 1.0362 1 186.74026711653488 125.25582266432355 0 0 0 0 +765 1 3.651 1 188.49670466160356 113.13015077216184 0 0 0 0 +7540 1 1.1492 1 175.85180452023252 135.44021684182107 0 0 0 0 +773 1 3.6412 1 159.63716849399813 92.34367333937111 0 0 0 0 +776 1 3.6351 1 177.35890457894433 92.1638481952354 0 0 0 0 +811 1 3.5623 1 182.95830076223544 124.4999605786765 0 0 0 0 +866 1 3.4332 1 192.89911415760056 112.34463748809316 0 0 0 0 +909 1 3.335 1 155.50934076149827 89.96111122837992 0 0 0 0 +921 1 3.3116 1 164.2441132966714 95.11328250340898 0 0 0 0 +9628 1 1.0194 1 194.48871002450758 85.56643092771665 0 0 0 0 +952 1 3.2432 1 159.9205966207498 120.04777833209869 0 0 0 0 +955 1 3.2398 1 165.68646729740334 134.31024246140458 0 0 0 0 +995 1 3.1866 1 162.54008793543858 134.75081387994535 0 0 0 0 +7201 1 1.1779 1 150.21886779523606 76.9622332847232 0 0 0 0 +5810 1 1.3136 1 151.17451525352604 80.98053726782928 0 0 0 0 +1027 1 3.1396 1 151.7851779872019 84.16400973646597 0 0 0 0 +1034 1 3.1207 1 154.25424465193328 111.1641490085695 0 0 0 0 +9720 1 1.0142 1 187.02876907012487 109.19538798909291 0 0 0 0 +1047 1 3.0941 1 194.9859259125456 131.35197106176292 0 0 0 0 +1069 1 3.062 1 161.4262128229746 117.30729691077313 0 0 0 0 +9158 1 1.0441 1 168.63782597580328 107.83680073764421 0 0 0 0 +1199 1 2.9039 1 163.7176084650455 132.02266228294735 0 0 0 0 +9827 1 1.0087 1 179.25553317505435 134.5631842347392 0 0 0 0 +1235 1 2.8722 1 191.11243703137006 132.74957734264822 0 0 0 0 +1243 1 2.8586 1 175.18255216761636 133.63834370959688 0 0 0 0 +1263 1 2.839 1 196.00438230181254 84.42817778606921 0 0 0 0 +9228 1 1.0406 1 177.0101071971445 101.75039639792168 0 0 0 0 +9630 1 1.0191 1 171.2533161073161 106.73393955421699 0 0 0 0 +1285 1 2.8052 1 154.5344838444969 125.75634078429043 0 0 0 0 +1334 1 2.755 1 155.2548752629361 99.91717483556913 0 0 0 0 +1338 1 2.7493 1 178.52071839008565 111.56957009661834 0 0 0 0 +1356 1 2.7315 1 152.66106895093773 86.91786376427957 0 0 0 0 +159 1 7.5044 1 140.99847034472182 127.91934604826264 0 0 0 0 +9332 1 1.0345 1 150.85879423087755 109.53081654036689 0 0 0 0 +3518 1 1.6902 1 202.22306884924976 95.24862728040634 0 0 0 0 +1490 1 2.5889 1 178.9772830241746 114.12818111049349 0 0 0 0 +1493 1 2.5842 1 162.67649975962848 92.67385760047817 0 0 0 0 +1500 1 2.5783 1 165.0323221858632 137.39741545875336 0 0 0 0 +1501 1 2.5766 1 196.70347387773975 121.03739521815875 0 0 0 0 +110 1 9.4067 1 141.7563381979202 119.18068694257049 0 0 0 0 +1542 1 2.5362 1 158.21339266251636 123.67261132076239 0 0 0 0 +1564 1 2.523 1 197.88710419440258 126.66712436087617 0 0 0 0 +1576 1 2.512 1 149.85515835373943 101.99870325976079 0 0 0 0 +1587 1 2.5042 1 193.7630722228593 109.51960262469447 0 0 0 0 +1597 1 2.4979 1 189.45649531232277 74.81411050595361 0 0 0 0 +1411 1 2.6689 1 142.85783522741536 90.45138653732715 0 0 0 0 +2868 1 1.8726 1 142.40361700931766 75.58639081344329 0 0 0 0 +1640 1 2.4594 1 171.19732322647957 134.42400818397442 0 0 0 0 +1645 1 2.4557 1 173.7636668810946 101.99914985980834 0 0 0 0 +2108 1 2.1783 1 199.9240861852362 107.45084366257507 0 0 0 0 +8350 1 1.0906 1 189.40446489756684 131.85408950271864 0 0 0 0 +6141 1 1.2796 1 147.21746924427345 78.30667472298167 0 0 0 0 +1691 1 2.4289 1 195.9380834940418 108.40343107742574 0 0 0 0 +4608 1 1.4792 1 139.91610965914458 132.23387026733155 0 0 0 0 +1711 1 2.4157 1 162.4825052147226 103.62503089691492 0 0 0 0 +1724 1 2.4098 1 145.1882559004825 91.36803779702285 0 0 0 0 +1733 1 2.4047 1 150.58137752536564 129.8023041839065 0 0 0 0 +1747 1 2.3871 1 158.54823485656038 126.09317847675958 0 0 0 0 +9187 1 1.0427 1 144.89285518238887 129.6927905342451 0 0 0 0 +1764 1 2.3752 1 159.32700499265343 106.09089540834391 0 0 0 0 +1798 1 2.356 1 156.1298276320858 92.84055039510261 0 0 0 0 +1799 1 2.3551 1 148.31862689925921 129.1687131349468 0 0 0 0 +9226 1 1.0407 1 200.75596773215042 83.06701456203187 0 0 0 0 +1820 1 2.3452 1 167.28486820092758 136.5274229883144 0 0 0 0 +1821 1 2.3444 1 184.8457018482536 110.88430058069446 0 0 0 0 +1860 1 2.325 1 195.5622121722381 126.35856690881153 0 0 0 0 +9560 1 1.0224 1 191.0425626164525 118.53931895849973 0 0 0 0 +1885 1 2.3107 1 187.63370975331287 86.1247046878133 0 0 0 0 +1913 1 2.2907 1 180.54377087759457 89.90313586946819 0 0 0 0 +1924 1 2.2862 1 154.9158546731104 133.6290462837544 0 0 0 0 +1955 1 2.2683 1 193.1428611765692 123.36993284096073 0 0 0 0 +1957 1 2.2664 1 194.63772822785566 128.48230962545858 0 0 0 0 +5693 1 1.3266 1 149.27896360597603 127.05181490450401 0 0 0 0 +1999 1 2.2428 1 195.60837491403262 118.96372467619851 0 0 0 0 +2071 1 2.1974 1 167.8354511934339 113.10424058758242 0 0 0 0 +2099 1 2.1845 1 191.4847615860455 109.95253147764694 0 0 0 0 +9102 1 1.047 1 178.8205755896117 94.90550101133421 0 0 0 0 +5970 1 1.2976 1 139.32546595835 114.41983555235863 0 0 0 0 +1928 1 2.2844 1 195.39032724932042 135.8586917066531 0 0 0 0 +2156 1 2.1546 1 199.06205200892165 89.00534264899544 0 0 0 0 +2165 1 2.15 1 185.56166423968838 85.43642108980946 0 0 0 0 +2190 1 2.1438 1 180.88609205256324 112.75402014425445 0 0 0 0 +9610 1 1.0199 1 195.28439865911267 115.98753726078364 0 0 0 0 +2260 1 2.1137 1 147.3916544319398 125.58337229839867 0 0 0 0 +2280 1 2.1032 1 186.990085022915 110.72164998975349 0 0 0 0 +2306 1 2.0883 1 151.70443800000868 110.83550774704288 0 0 0 0 +2307 1 2.0869 1 178.52933719162758 101.8832088960221 0 0 0 0 +2326 1 2.0771 1 183.71819970751238 86.24257377132038 0 0 0 0 +2334 1 2.0748 1 183.50157720602166 88.19924801037946 0 0 0 0 +2410 1 2.0447 1 163.36012065587917 115.74370317628613 0 0 0 0 +2486 1 2.0147 1 194.95456590702486 122.37448379586347 0 0 0 0 +2501 1 2.0097 1 199.43844860957327 125.04006204804735 0 0 0 0 +2507 1 2.0075 1 200.05552186027091 127.05129901246444 0 0 0 0 +2532 1 1.9987 1 196.0891543238063 124.31849771254109 0 0 0 0 +2107 1 2.1788 1 169.34924705683198 138.30441294589912 0 0 0 0 +2614 1 1.9619 1 155.17752307378282 113.84080942396508 0 0 0 0 +2615 1 1.9615 1 176.7275871170584 110.11692238590754 0 0 0 0 +7784 1 1.1301 1 147.054834739851 92.33065645881295 0 0 0 0 +2641 1 1.9525 1 182.78584356206645 110.43531949905474 0 0 0 0 +2648 1 1.9487 1 161.73213307682406 94.68446448486051 0 0 0 0 +4597 1 1.4807 1 145.42926975774188 97.13996702977053 0 0 0 0 +2725 1 1.9219 1 145.972495701794 93.35487994046858 0 0 0 0 +2749 1 1.9117 1 160.14406281900352 124.66834771720866 0 0 0 0 +1698 1 2.4259 1 144.1378689839239 79.54212401437165 0 0 0 0 +2818 1 1.8897 1 194.34595900685096 120.55590228569089 0 0 0 0 +2876 1 1.8685 1 199.05934211704923 91.02519893307401 0 0 0 0 +356 1 5.3024 1 192.2066957007609 83.39566777510781 0 0 0 0 +2902 1 1.8628 1 174.49808174956425 113.49705272238506 0 0 0 0 +2906 1 1.8619 1 149.33003002107355 125.40345556464818 0 0 0 0 +2914 1 1.8596 1 198.0257038596246 108.10205471549989 0 0 0 0 +2937 1 1.8509 1 161.20239004850842 105.23950927765495 0 0 0 0 +2944 1 1.85 1 185.5286468535337 124.62174620143954 0 0 0 0 +2964 1 1.8439 1 193.64659997524657 118.87108535633126 0 0 0 0 +2993 1 1.8353 1 156.66712426395623 101.66201734589825 0 0 0 0 +2995 1 1.8342 1 173.6403956399201 92.74433509296937 0 0 0 0 +3006 1 1.8272 1 166.71518425453738 94.75773702257011 0 0 0 0 +317 1 5.5666 1 138.81761595792605 84.2208097975029 0 0 0 0 +3046 1 1.813 1 176.8873408013118 132.11322351217257 0 0 0 0 +3063 1 1.8088 1 184.47616340930443 118.24288294870816 0 0 0 0 +3072 1 1.8068 1 181.63519585609615 88.22381674969343 0 0 0 0 +9689 1 1.016 1 147.43804736549913 107.5679026316064 0 0 0 0 +3092 1 1.8011 1 198.78926892124338 105.47507091818295 0 0 0 0 +3107 1 1.7957 1 169.28078029455844 136.3372093789866 0 0 0 0 +3138 1 1.7819 1 177.00007933174913 113.22976351747876 0 0 0 0 +9413 1 1.0299 1 200.57573162395119 104.95539306452989 0 0 0 0 +9081 1 1.0481 1 140.03159527521018 96.06948952051705 0 0 0 0 +3183 1 1.7698 1 181.75129066598515 117.40416595507033 0 0 0 0 +3187 1 1.7689 1 150.55959220716494 108.18359915775376 0 0 0 0 +7018 1 1.1923 1 145.29429988620626 88.67154927604402 0 0 0 0 +3227 1 1.7586 1 158.06781756604286 112.38614967038603 0 0 0 0 +3234 1 1.7565 1 158.863977266986 100.19200415689433 0 0 0 0 +3239 1 1.755 1 160.16914394236935 122.83662331774833 0 0 0 0 +3259 1 1.7506 1 179.50008041262512 117.4004361626452 0 0 0 0 +3298 1 1.7403 1 168.3878405642422 134.84617178853915 0 0 0 0 +3314 1 1.7362 1 160.01299364123795 94.94781473974948 0 0 0 0 +3317 1 1.7358 1 170.96316521583324 136.4539044943238 0 0 0 0 +3322 1 1.7349 1 169.35577636427618 111.95393698067384 0 0 0 0 +3327 1 1.7333 1 168.44150108355885 110.58294198183879 0 0 0 0 +3357 1 1.7258 1 191.16169634440547 86.69585347893357 0 0 0 0 +3369 1 1.7236 1 160.89119855486277 137.59594917195895 0 0 0 0 +1256 1 2.8451 1 188.90926637074642 134.51444232983994 0 0 0 0 +9082 1 1.0481 1 171.41563020760125 113.27223904591831 0 0 0 0 +3431 1 1.7089 1 180.80640287279311 115.96294451391577 0 0 0 0 +9711 1 1.0146 1 146.92509808723287 101.26680149004989 0 0 0 0 +9166 1 1.0436 1 187.62876821221494 125.67622050979203 0 0 0 0 +6711 1 1.2213 1 192.9512571641226 131.94811399956495 0 0 0 0 +8663 1 1.0716 1 140.4670267510324 114.12254155338789 0 0 0 0 +3519 1 1.6897 1 151.90470647880994 113.07386043277646 0 0 0 0 +3540 1 1.6849 1 147.1220422720455 123.68443889765531 0 0 0 0 +2197 1 2.1396 1 201.5179028103124 87.55271675375462 0 0 0 0 +3618 1 1.6681 1 187.66215859574064 75.54606940517422 0 0 0 0 +3628 1 1.6663 1 164.77204998035765 92.76225119317218 0 0 0 0 +9988 1 1.0007 1 178.11926184902745 132.6041844252937 0 0 0 0 +3642 1 1.664 1 153.49019901140605 113.34741607410672 0 0 0 0 +3648 1 1.6628 1 195.834985217211 133.95171971718253 0 0 0 0 +6434 1 1.2487 1 201.51884523755382 85.90541451293191 0 0 0 0 +3698 1 1.6474 1 177.17390223134336 115.10485465235253 0 0 0 0 +3731 1 1.6429 1 199.61085721825003 104.06330777440463 0 0 0 0 +3774 1 1.6347 1 166.36336491838216 93.0890309672735 0 0 0 0 +3783 1 1.6332 1 175.72441721573722 101.58152389295932 0 0 0 0 +1043 1 3.0979 1 201.401484148848 90.08317184413295 0 0 0 0 +3823 1 1.6223 1 156.6038232667507 126.45483609104893 0 0 0 0 +3829 1 1.6207 1 152.06327918258083 109.04977683193297 0 0 0 0 +3833 1 1.6202 1 146.34765595302224 129.39371341055977 0 0 0 0 +277 1 5.9483 1 140.07691748290173 78.63642384108037 0 0 0 0 +3870 1 1.6132 1 192.17576130125602 121.72138111937505 0 0 0 0 +9873 1 1.0062 1 157.83838416913525 120.47177632446578 0 0 0 0 +3881 1 1.6117 1 145.6090285347948 115.35209777894568 0 0 0 0 +3899 1 1.6084 1 174.53689581141126 135.74985505149553 0 0 0 0 +6172 1 1.275 1 140.49910408200617 92.99783887548571 0 0 0 0 +4201 1 1.5496 1 194.15013300509344 134.5147664401888 0 0 0 0 +3940 1 1.6002 1 165.21928093984394 98.43254316720943 0 0 0 0 +5718 1 1.3243 1 141.63552837875966 113.88042822666046 0 0 0 0 +4016 1 1.5805 1 189.82159369071894 85.78418568923529 0 0 0 0 +4023 1 1.579 1 162.99672728090331 137.0417298166809 0 0 0 0 +3807 1 1.6278 1 141.68939996609052 92.19440141646666 0 0 0 0 +4039 1 1.5761 1 192.64860469834719 120.23397173452486 0 0 0 0 +4046 1 1.5752 1 148.49431500197295 100.50689095370494 0 0 0 0 +4061 1 1.5729 1 189.65051724479218 109.75982815492355 0 0 0 0 +4116 1 1.5636 1 168.2197266680453 109.02406141500751 0 0 0 0 +4134 1 1.561 1 173.02686175549323 133.7136459033747 0 0 0 0 +9540 1 1.0237 1 167.6609424686398 92.90529225001796 0 0 0 0 +9207 1 1.0414 1 180.8234042219304 125.00167937296037 0 0 0 0 +4158 1 1.5566 1 170.08981776123073 97.7767160181065 0 0 0 0 +915 1 3.3286 1 200.88415391147373 93.13762811622581 0 0 0 0 +4204 1 1.5489 1 197.74782194217974 124.66708261068803 0 0 0 0 +4208 1 1.5483 1 192.26886112126934 124.96983957982799 0 0 0 0 +4220 1 1.5466 1 193.77946110540023 126.80669521307 0 0 0 0 +4224 1 1.5463 1 154.69870989688022 86.83893100850214 0 0 0 0 +9372 1 1.0323 1 161.0507910033955 136.23708952180218 0 0 0 0 +4250 1 1.5422 1 165.76918308581313 96.96665750882573 0 0 0 0 +4278 1 1.5366 1 185.99306964352874 87.21583237855347 0 0 0 0 +4304 1 1.5321 1 193.72704543821646 86.54782563850198 0 0 0 0 +2889 1 1.8647 1 201.32787970387005 98.1072527696678 0 0 0 0 +4315 1 1.5299 1 156.02989086726802 135.14603545051185 0 0 0 0 +9401 1 1.0305 1 162.81485540573033 130.03460610513065 0 0 0 0 +4322 1 1.5286 1 162.23037868614458 96.42924031818622 0 0 0 0 +4380 1 1.5184 1 195.7563821382688 117.1330248945254 0 0 0 0 +4389 1 1.5166 1 153.2471424792013 108.09781047223512 0 0 0 0 +96 1 9.6591 1 199.88637168842456 113.40405524474406 0 0 0 0 +4403 1 1.5147 1 197.41633997931936 88.21147204731844 0 0 0 0 +6051 1 1.2887 1 187.84089403937247 136.23868422537947 0 0 0 0 +4417 1 1.5123 1 197.4098295683468 89.6977000847813 0 0 0 0 +4435 1 1.5084 1 156.40724358549573 112.6264461968016 0 0 0 0 +4467 1 1.5027 1 157.8827498241996 110.83882757292412 0 0 0 0 +9284 1 1.0374 1 188.72766219262638 132.62214920780502 0 0 0 0 +4532 1 1.4928 1 148.43709394536913 108.36781670412519 0 0 0 0 +4540 1 1.491 1 184.3619472648165 109.03779014390791 0 0 0 0 +9672 1 1.017 1 170.3989348094736 107.28091189105123 0 0 0 0 +4569 1 1.4861 1 157.71480486592316 121.72459561618615 0 0 0 0 +2618 1 1.9605 1 145.64311156047754 124.6719177837249 0 0 0 0 +9460 1 1.0277 1 147.01937851359725 80.37677358199095 0 0 0 0 +9468 1 1.0275 1 154.4540973577594 88.07639706807413 0 0 0 0 +4617 1 1.4787 1 149.59674302379995 85.63167885995469 0 0 0 0 +4625 1 1.4776 1 156.49125396711887 111.1626033430887 0 0 0 0 +4631 1 1.4767 1 157.31044940560346 100.19231147704102 0 0 0 0 +9588 1 1.0214 1 155.90446738284632 137.3716641571324 0 0 0 0 +7810 1 1.1281 1 187.73316503172057 132.97565629569394 0 0 0 0 +6079 1 1.2856 1 148.49785676014136 78.24610211897794 0 0 0 0 +4715 1 1.4616 1 158.07269565041827 118.64129483666582 0 0 0 0 +4719 1 1.4608 1 153.41244987718622 90.95083820764866 0 0 0 0 +4757 1 1.4553 1 160.36226323587596 135.20916656584546 0 0 0 0 +4788 1 1.4508 1 197.20437953141644 118.18297865404134 0 0 0 0 +9705 1 1.0149 1 176.68737358069043 134.8077916292238 0 0 0 0 +4860 1 1.44 1 183.49197799950713 107.87133385652542 0 0 0 0 +4875 1 1.4372 1 160.8705986573942 96.98371341943607 0 0 0 0 +4923 1 1.4292 1 175.87355285597147 114.33699743980884 0 0 0 0 +9260 1 1.0388 1 155.6873265777241 136.37390918160975 0 0 0 0 +4952 1 1.4256 1 194.9051218217134 111.0811755906268 0 0 0 0 +4962 1 1.4247 1 185.81454695150822 109.12028586377726 0 0 0 0 +9743 1 1.013 1 173.09370693184042 106.429502041215 0 0 0 0 +4968 1 1.424 1 157.339403329593 91.40564587545715 0 0 0 0 +5035 1 1.4156 1 149.50048020897324 109.33484533061119 0 0 0 0 +1456 1 2.6126 1 194.25715233305132 137.97771206929266 0 0 0 0 +4114 1 1.5638 1 141.48751273661753 81.98435728408488 0 0 0 0 +4084 1 1.5689 1 202.97423207290953 107.2541493727139 0 0 0 0 +5078 1 1.408 1 185.9167263715164 118.79691095751356 0 0 0 0 +5094 1 1.4049 1 146.0767502016167 89.68273688017821 0 0 0 0 +5166 1 1.3929 1 147.044534761771 127.84424552603423 0 0 0 0 +5168 1 1.3925 1 176.47730591124497 111.74896597758526 0 0 0 0 +5243 1 1.3829 1 145.55314587971935 123.0078334509998 0 0 0 0 +5245 1 1.3828 1 156.7860117341883 113.99781174061086 0 0 0 0 +5295 1 1.3766 1 189.85359362933877 81.13142374497315 0 0 0 0 +5302 1 1.3757 1 172.75680931899453 105.13591861773031 0 0 0 0 +5308 1 1.3747 1 180.18266958215787 91.66094160394901 0 0 0 0 +5316 1 1.3736 1 161.5615643427325 128.1145037325227 0 0 0 0 +5317 1 1.3736 1 152.10472592088962 90.48310809377003 0 0 0 0 +5328 1 1.3721 1 155.19925998211906 127.6108660927106 0 0 0 0 +5356 1 1.369 1 151.96559273513247 107.57048638915393 0 0 0 0 +5402 1 1.3631 1 164.37126629656956 97.32844171801847 0 0 0 0 +5426 1 1.3595 1 157.04355158600717 104.3411283007882 0 0 0 0 +5446 1 1.3569 1 195.19213011836584 88.1467281810877 0 0 0 0 +5449 1 1.3566 1 188.1904760428844 109.53720330333594 0 0 0 0 +5001 1 1.4202 1 142.95093868683685 113.55079876944913 0 0 0 0 +39 1 15.7171 1 198.41250781323572 75.07140039774976 0 0 0 0 +5485 1 1.3523 1 197.04683395036088 106.90041800014164 0 0 0 0 +3873 1 1.6128 1 143.94477686907413 97.29390952316241 0 0 0 0 +5498 1 1.351 1 190.91646294291573 113.85052966237657 0 0 0 0 +9210 1 1.0413 1 176.06400818378773 108.83275450730123 0 0 0 0 +5503 1 1.3503 1 173.14440804877955 103.77310754203366 0 0 0 0 +5511 1 1.3497 1 193.58590221708207 125.41218661518225 0 0 0 0 +5521 1 1.3487 1 192.10581372547884 118.89606844912393 0 0 0 0 +5525 1 1.3483 1 198.09817692927072 128.55462256486177 0 0 0 0 +5567 1 1.3421 1 173.22290372916916 135.12836136782514 0 0 0 0 +5572 1 1.3411 1 181.25822219700922 106.0439631321544 0 0 0 0 +5597 1 1.3377 1 157.66773677637156 105.45992345567866 0 0 0 0 +5622 1 1.3345 1 158.62608777470524 90.12232813346316 0 0 0 0 +5623 1 1.3344 1 197.72480797326722 122.93209202019277 0 0 0 0 +5647 1 1.3326 1 143.18670188407742 92.39904118994144 0 0 0 0 +5659 1 1.3317 1 197.85509205749125 129.83625925117437 0 0 0 0 +2856 1 1.8776 1 147.7717907055083 102.38179034166224 0 0 0 0 +5700 1 1.3258 1 167.01362055689765 96.28725404367914 0 0 0 0 +3626 1 1.6665 1 185.62369930824528 135.70326763206245 0 0 0 0 +5824 1 1.3119 1 144.00635381695255 112.70067465123194 0 0 0 0 +9109 1 1.0468 1 144.61713944993826 93.87264930261608 0 0 0 0 +5795 1 1.3149 1 143.3298326942627 124.23383820723468 0 0 0 0 +5808 1 1.3137 1 159.05244178727685 113.55538449295678 0 0 0 0 +5816 1 1.3128 1 146.90682239022328 90.73303715569418 0 0 0 0 +5826 1 1.3118 1 172.62705484626042 100.53430440486687 0 0 0 0 +5849 1 1.3101 1 180.83804585509026 114.46620584869075 0 0 0 0 +5851 1 1.31 1 149.65098690415587 84.24027434914368 0 0 0 0 +5868 1 1.3086 1 188.6635292582973 110.73386696709724 0 0 0 0 +5891 1 1.3059 1 160.71784669510862 114.94465159500926 0 0 0 0 +5951 1 1.2996 1 178.80209494431276 90.19703301684251 0 0 0 0 +5984 1 1.2964 1 180.0425265186409 118.78463379369488 0 0 0 0 +5987 1 1.2961 1 179.62393711594066 92.83346142500095 0 0 0 0 +6041 1 1.2903 1 196.32269218512073 127.9433061256679 0 0 0 0 +9879 1 1.006 1 153.42922193185055 100.27155714538456 0 0 0 0 +9928 1 1.004 1 148.34482859268653 124.36786218769815 0 0 0 0 +6105 1 1.283 1 154.67232931720378 131.89835200560645 0 0 0 0 +8802 1 1.0631 1 201.6820312996479 107.07021076884627 0 0 0 0 +6146 1 1.2792 1 150.8522975771435 86.11984441862792 0 0 0 0 +6151 1 1.278 1 146.98747748892777 115.69893466775912 0 0 0 0 +1017 1 3.1516 1 141.251654090489 87.78262260463698 0 0 0 0 +6196 1 1.2718 1 197.66174511929123 119.43187920460366 0 0 0 0 +6216 1 1.2698 1 157.61555191652283 93.8969065463584 0 0 0 0 +6229 1 1.2678 1 196.36413455027764 86.43284610411034 0 0 0 0 +6258 1 1.2642 1 156.76489136399437 124.9798429359536 0 0 0 0 +6284 1 1.2619 1 196.8947426311138 129.02491529293124 0 0 0 0 +6305 1 1.2607 1 180.4667937984996 105.02171767087955 0 0 0 0 +2770 1 1.9061 1 150.0812808670065 78.43846700783838 0 0 0 0 +6325 1 1.259 1 182.26869102755632 89.54023320499486 0 0 0 0 +1646 1 2.4555 1 146.72620597542996 99.58761406911226 0 0 0 0 +6376 1 1.2545 1 156.8971030123926 103.10856669341364 0 0 0 0 +9896 1 1.0052 1 199.86210804801635 83.45574066723259 0 0 0 0 +3352 1 1.7275 1 144.3454928826716 114.26216039722537 0 0 0 0 +6398 1 1.2519 1 190.62469497713363 111.95429086029328 0 0 0 0 +6416 1 1.2502 1 173.31632939318698 136.42550112784923 0 0 0 0 +224 1 6.4204 1 147.47087208187168 74.46620201968175 0 0 0 0 +6439 1 1.2482 1 192.9453413220114 130.77507776204092 0 0 0 0 +6447 1 1.2478 1 155.70950212822333 87.74043636353484 0 0 0 0 +6451 1 1.2474 1 147.87708055049632 91.52256073988691 0 0 0 0 +6460 1 1.2468 1 178.14625513828307 116.16445596413492 0 0 0 0 +6466 1 1.2463 1 163.004642258945 101.90909383716446 0 0 0 0 +6473 1 1.2457 1 171.18560540378317 98.63474859573336 0 0 0 0 +6501 1 1.2432 1 156.20300591658253 94.62339343149253 0 0 0 0 +9354 1 1.0335 1 179.87467355715532 104.06551389795283 0 0 0 0 +9451 1 1.0283 1 159.76909561435002 127.24647051782205 0 0 0 0 +6569 1 1.2357 1 151.36521576085897 100.95101387484891 0 0 0 0 +6611 1 1.2309 1 144.61742185925533 89.65086081134696 0 0 0 0 +6634 1 1.2288 1 148.05214006512864 127.08129122860733 0 0 0 0 +6638 1 1.2287 1 155.7782512209271 124.2178456584143 0 0 0 0 +6656 1 1.2266 1 179.35249283103977 115.95826641345361 0 0 0 0 +6707 1 1.2214 1 196.24056529082486 88.8849549255455 0 0 0 0 +6731 1 1.2195 1 189.16491642767872 86.89909523445398 0 0 0 0 +6734 1 1.2193 1 157.6484777517255 89.36234106401173 0 0 0 0 +6746 1 1.2185 1 182.33277244203066 111.93592902476247 0 0 0 0 +6764 1 1.2169 1 167.53870348173425 97.7678037417179 0 0 0 0 +5682 1 1.3286 1 193.61215749083584 136.13656262290115 0 0 0 0 +6799 1 1.2126 1 180.76569472672585 126.09700308794613 0 0 0 0 +6822 1 1.2103 1 200.68381674451297 95.34742260632368 0 0 0 0 +1987 1 2.2495 1 145.37633224102277 95.32217070026412 0 0 0 0 +6920 1 1.2003 1 149.80402885175832 128.18861277084466 0 0 0 0 +6939 1 1.1991 1 153.10387322548033 89.68626462402077 0 0 0 0 +6940 1 1.199 1 190.47775418277416 119.47843850602291 0 0 0 0 +9963 1 1.0023 1 183.39985134645917 111.66908599755449 0 0 0 0 +7052 1 1.1895 1 144.20175779532698 125.0730224839138 0 0 0 0 +7060 1 1.1892 1 174.96979570782608 91.92320173846363 0 0 0 0 +7131 1 1.1835 1 163.45119076117282 105.16226512579405 0 0 0 0 +7179 1 1.1798 1 186.2786393563149 112.176807164472 0 0 0 0 +7188 1 1.1793 1 181.424459725536 111.17344806382852 0 0 0 0 +269 1 6.0214 1 200.89981548624198 121.07829611687065 0 0 0 0 +7202 1 1.1778 1 196.4747373888095 122.84051121347288 0 0 0 0 +3511 1 1.6917 1 172.28166202134818 137.42556589909685 0 0 0 0 +7219 1 1.1765 1 168.7303792332943 97.7553220169664 0 0 0 0 +7266 1 1.1733 1 149.7065378430006 82.73707374173777 0 0 0 0 +7274 1 1.1729 1 158.9872218594783 122.01455064428548 0 0 0 0 +7277 1 1.1727 1 161.78120779961873 101.87026457281752 0 0 0 0 +9323 1 1.0349 1 198.9092767012707 83.42404977263143 0 0 0 0 +7317 1 1.1688 1 146.3893326486635 116.72665826660025 0 0 0 0 +9954 1 1.003 1 194.64663303556048 133.3555957127787 0 0 0 0 +7392 1 1.1619 1 186.95480359179277 135.2256486753621 0 0 0 0 +7352 1 1.1656 1 146.25792594040095 121.94948301625092 0 0 0 0 +3425 1 1.7102 1 139.06490543173294 88.81620264895275 0 0 0 0 +3088 1 1.8023 1 186.4945291973012 126.59871047852467 0 0 0 0 +7398 1 1.1616 1 177.47354959167663 100.75682433247695 0 0 0 0 +9283 1 1.0376 1 170.86487556299448 137.81857213772224 0 0 0 0 +9839 1 1.0083 1 195.88551215833408 129.51805192999592 0 0 0 0 +7450 1 1.1567 1 150.8784375045854 112.1756407158362 0 0 0 0 +6876 1 1.2043 1 186.66811322296834 136.6430132832667 0 0 0 0 +7504 1 1.152 1 169.58233598576294 133.72085084006767 0 0 0 0 +7512 1 1.1517 1 159.87385182039029 99.19732643418935 0 0 0 0 +7521 1 1.151 1 182.9873225390468 108.97347776280145 0 0 0 0 +7527 1 1.1507 1 194.66647195779683 124.90473372364025 0 0 0 0 +7541 1 1.1491 1 160.7572109647354 126.0410407929269 0 0 0 0 +7551 1 1.1481 1 189.8204726377811 111.09708920915733 0 0 0 0 +4949 1 1.4257 1 201.3309490805082 105.89510076225226 0 0 0 0 +7576 1 1.1459 1 196.71020429914762 130.19759269806522 0 0 0 0 +7578 1 1.1457 1 167.4831493110885 133.20098973509135 0 0 0 0 +4614 1 1.4789 1 201.2776240967996 96.49741646823156 0 0 0 0 +7624 1 1.1427 1 167.5466003763494 107.89265627801825 0 0 0 0 +7644 1 1.1407 1 198.4298724148744 118.54681245631478 0 0 0 0 +7655 1 1.1399 1 172.25926998656666 135.88128330220377 0 0 0 0 +7656 1 1.1398 1 182.49485380835188 107.06142205108668 0 0 0 0 +7658 1 1.1395 1 197.07494874422989 131.26166973334622 0 0 0 0 +9514 1 1.025 1 200.12347624242545 105.87183363056575 0 0 0 0 +7675 1 1.1383 1 178.48947293140128 133.5589375403851 0 0 0 0 +7686 1 1.1373 1 179.0190645267276 93.86104499896231 0 0 0 0 +7689 1 1.1372 1 153.5390098296299 88.62482524367734 0 0 0 0 +7696 1 1.1368 1 177.63979564173945 108.82580702952121 0 0 0 0 +4352 1 1.5226 1 202.73753694392408 108.71179235010075 0 0 0 0 +7724 1 1.1347 1 154.05445834434605 107.15189529283758 0 0 0 0 +7772 1 1.1307 1 178.40756937709838 100.07959862092575 0 0 0 0 +7774 1 1.1306 1 195.657665175751 110.1042384393419 0 0 0 0 +8274 1 1.0966 1 144.29522519620548 92.86591071902207 0 0 0 0 +7791 1 1.1293 1 153.98835831669209 109.11802195124918 0 0 0 0 +9132 1 1.0455 1 184.82079115911873 84.0063514247954 0 0 0 0 +7799 1 1.129 1 186.61043078250106 80.00401675767021 0 0 0 0 +7196 1 1.1784 1 143.81202389319168 75.2040777982297 0 0 0 0 +7819 1 1.1276 1 160.81959573999129 127.15190222565616 0 0 0 0 +4674 1 1.4684 1 202.95336681518327 117.98521186212923 0 0 0 0 +7826 1 1.1272 1 151.70458539305656 82.05577320309979 0 0 0 0 +853 1 3.4558 1 151.59829235459824 126.70661049437338 0 0 0 0 +7894 1 1.1218 1 193.5979070363665 129.79596700443074 0 0 0 0 +7907 1 1.1205 1 198.24716134910844 106.72214675980716 0 0 0 0 +7915 1 1.1197 1 200.63907358031994 84.13250808666028 0 0 0 0 +7954 1 1.1175 1 191.30605626611344 120.28470601427328 0 0 0 0 +5881 1 1.307 1 145.76575646867315 77.92338152242326 0 0 0 0 +7963 1 1.1168 1 170.44568369293467 112.84701716207779 0 0 0 0 +3989 1 1.5889 1 143.71648456340742 88.56525500589184 0 0 0 0 +7994 1 1.1149 1 175.4193400379839 112.36232447612238 0 0 0 0 +8036 1 1.1125 1 154.6405771721783 91.97352963518831 0 0 0 0 +8039 1 1.1122 1 196.27550589004906 87.60205296052739 0 0 0 0 +8068 1 1.11 1 156.49728605974403 123.34366229569524 0 0 0 0 +8078 1 1.1087 1 193.52323235719302 121.76142842685957 0 0 0 0 +8087 1 1.1082 1 185.69668703018056 117.57039514879636 0 0 0 0 +8120 1 1.1065 1 168.52085584742602 133.48086653463452 0 0 0 0 +8122 1 1.1062 1 155.80346914471326 128.5723212731521 0 0 0 0 +8153 1 1.1045 1 146.37966974103 97.90902375174983 0 0 0 0 +8154 1 1.1044 1 181.0714382757376 123.115961083564 0 0 0 0 +8159 1 1.1039 1 168.08229886950335 96.8208959769641 0 0 0 0 +8174 1 1.1027 1 185.37456540139843 120.69177939559651 0 0 0 0 +8177 1 1.1027 1 160.21298814288266 100.55201909729577 0 0 0 0 +8197 1 1.1018 1 196.490896342972 132.75171012536745 0 0 0 0 +8211 1 1.1007 1 152.4560046435174 100.62259054851927 0 0 0 0 +9581 1 1.0216 1 180.35371205415217 111.27642777882762 0 0 0 0 +1444 1 2.6288 1 143.98165093981598 77.10918123070682 0 0 0 0 +109 1 9.4084 1 182.96476053480802 130.88618098040823 0 0 0 0 +6329 1 1.2587 1 201.45921159304294 108.19436240877688 0 0 0 0 +8364 1 1.0895 1 161.87245245119854 115.256630864799 0 0 0 0 +8374 1 1.0889 1 169.66573732555673 108.02102522298392 0 0 0 0 +8397 1 1.0877 1 169.4520187809767 113.29807919539735 0 0 0 0 +8461 1 1.0838 1 156.56011120592655 127.79058778710883 0 0 0 0 +9655 1 1.0177 1 157.91280278119018 113.69605546177671 0 0 0 0 +8498 1 1.0811 1 189.3092715176385 84.63725661185853 0 0 0 0 +8522 1 1.0797 1 151.4560628501785 106.51373033121999 0 0 0 0 +8527 1 1.0794 1 194.4878789388864 113.99411253619792 0 0 0 0 +8529 1 1.079 1 198.618319324844 123.74013450485363 0 0 0 0 +9431 1 1.0292 1 186.81864035811313 119.52395604566804 0 0 0 0 +8560 1 1.0774 1 152.16597970985637 131.49402806421915 0 0 0 0 +3332 1 1.7326 1 145.5447709097774 127.93583130668432 0 0 0 0 +5687 1 1.3277 1 197.8005414147104 83.54109736224478 0 0 0 0 +8602 1 1.0748 1 166.46647433199766 98.04463734317655 0 0 0 0 +4589 1 1.4821 1 177.86882139945078 134.6191225041326 0 0 0 0 +8723 1 1.0685 1 194.06030226532545 87.7728487581348 0 0 0 0 +8725 1 1.0683 1 146.40995227777267 88.49358734187057 0 0 0 0 +8726 1 1.0682 1 171.85271557137037 99.56982695016806 0 0 0 0 +8751 1 1.067 1 177.14449257263993 133.54850413409076 0 0 0 0 +8753 1 1.0666 1 152.4330542133028 88.79096885432493 0 0 0 0 +8786 1 1.0641 1 175.16342725203162 92.96803184858 0 0 0 0 +8795 1 1.0637 1 180.02102103361983 106.06217143705832 0 0 0 0 +5488 1 1.3522 1 188.25338507329656 131.55111083858776 0 0 0 0 +9289 1 1.0373 1 147.677644909974 103.80679226962043 0 0 0 0 +8865 1 1.0591 1 150.23216558055745 110.32200850172036 0 0 0 0 +8874 1 1.0588 1 156.5022718326059 105.41045028446831 0 0 0 0 +8882 1 1.0583 1 164.25629448303283 135.84995228723216 0 0 0 0 +8883 1 1.0583 1 150.6298581910127 113.51578339563439 0 0 0 0 +8887 1 1.058 1 191.03934077034424 124.69769374540536 0 0 0 0 +8889 1 1.0579 1 172.09985079720207 106.14995758328845 0 0 0 0 +8903 1 1.0573 1 191.6160103049696 123.85197251734807 0 0 0 0 +8921 1 1.0564 1 179.42470066270582 103.14726327603316 0 0 0 0 +8931 1 1.056 1 150.58999251413047 82.04481947250852 0 0 0 0 +6499 1 1.2433 1 139.39229604146198 123.91283009776248 0 0 0 0 +563 1 4.1677 1 142.29465988891542 94.97905119430568 0 0 0 0 +9060 1 1.0497 1 199.25184311914663 128.3281301387035 0 0 0 0 +9073 1 1.0486 1 194.68438101933404 123.84139518056352 0 0 0 0 +7575 1 1.146 1 139.48393710963074 75.15642914276864 0 0 0 0 +7456 1 1.1564 1 202.59437598221285 105.99420481638212 0 0 0 0 +5806 1 1.3139 1 202.99903645559507 93.96944637013165 0 0 0 0 +413 1 4.8629 1 190.5195001683623 137.93763636865367 0 0 0 0 +8021 1 1.1133 1 196.17446429665793 138.44266049025893 0 0 0 0 +3391 1 1.7176 1 156.35637989941458 138.64871063664745 0 0 0 0 +8537 1 1.0787 1 171.57108900836826 138.58129091192558 0 0 0 0 +3493 1 1.6944 1 162.83168915373477 138.6271805618634 0 0 0 0 +8552 1 1.0778 1 168.41057155599307 195.22176794656974 0 0 0 0 +10 1 35.1961 1 164.84827815709414 168.5610351961221 0 0 0 0 +23 1 20.9769 1 180.07844563797323 145.55856040988016 0 0 0 0 +8734 1 1.068 1 200.0721766271561 146.61428143819126 0 0 0 0 +77 1 10.3137 1 156.0301872243752 189.24281466709382 0 0 0 0 +7811 1 1.128 1 168.60137859563096 202.1467112094056 0 0 0 0 +4943 1 1.427 1 194.426098409252 201.4325985409813 0 0 0 0 +7370 1 1.1638 1 164.48648771057822 141.89235475596934 0 0 0 0 +9850 1 1.0076 1 144.7556728952024 152.95365778416533 0 0 0 0 +172 1 7.3253 1 166.4058471967114 191.57512987173584 0 0 0 0 +301 1 5.7371 1 145.10531000987726 163.49820761649394 0 0 0 0 +354 1 5.3204 1 187.38713436364142 168.4449954505756 0 0 0 0 +369 1 5.1589 1 187.39313117700996 161.13411414669736 0 0 0 0 +3560 1 1.6789 1 187.98842460927705 193.1350312091162 0 0 0 0 +401 1 4.9353 1 189.54592945368285 154.711268072074 0 0 0 0 +8643 1 1.0725 1 153.0995138542705 146.25336620163662 0 0 0 0 +417 1 4.8236 1 194.30493302961153 144.35073349021934 0 0 0 0 +9373 1 1.0323 1 188.07813485843215 191.8247535808721 0 0 0 0 +9709 1 1.0147 1 174.37832496026877 201.40631913219835 0 0 0 0 +503 1 4.3596 1 192.3535759982431 148.44872857201167 0 0 0 0 +547 1 4.2109 1 147.1612682446305 153.8343532454635 0 0 0 0 +578 1 4.1058 1 183.99279120958988 183.6936936805133 0 0 0 0 +619 1 3.9677 1 191.2360319864177 158.7879221441224 0 0 0 0 +633 1 3.9266 1 169.97397339978966 187.38827042268997 0 0 0 0 +9600 1 1.0206 1 195.07110589870666 148.20491223416641 0 0 0 0 +673 1 3.8377 1 147.92555295098944 157.70578639384345 0 0 0 0 +761 1 3.6539 1 177.74343128074815 182.95218903007134 0 0 0 0 +130 1 8.3824 1 161.8983944729374 198.0293024276272 0 0 0 0 +855 1 3.4496 1 174.33135717954147 187.47951253959835 0 0 0 0 +1277 1 2.8166 1 144.99338740834943 151.1199274690129 0 0 0 0 +6521 1 1.2409 1 159.67870512124122 151.17027353964147 0 0 0 0 +910 1 3.3347 1 195.7776402930817 140.58273788622364 0 0 0 0 +970 1 3.2193 1 182.77271039993775 175.24937086250213 0 0 0 0 +9281 1 1.0377 1 197.17513348718109 158.58530716774212 0 0 0 0 +1026 1 3.143 1 184.7122155663936 187.23228154782748 0 0 0 0 +1064 1 3.0655 1 141.16882626365773 158.33429255009094 0 0 0 0 +1085 1 3.0377 1 143.32979108984932 156.08114095999588 0 0 0 0 +9771 1 1.0115 1 184.2802967093612 199.17745289189574 0 0 0 0 +2254 1 2.1163 1 140.3745710773705 150.88334479032727 0 0 0 0 +1165 1 2.9403 1 173.04787994374013 194.97909216620238 0 0 0 0 +8646 1 1.0724 1 141.78064448094923 162.97658610915443 0 0 0 0 +1176 1 2.9298 1 170.2735325073636 194.81136406029285 0 0 0 0 +1179 1 2.9286 1 145.994641509131 172.0737569574917 0 0 0 0 +1226 1 2.8805 1 145.00145180204177 167.68106148872423 0 0 0 0 +7003 1 1.1939 1 141.85263438306654 154.04013557175767 0 0 0 0 +2582 1 1.9771 1 186.652362789762 189.8562665105691 0 0 0 0 +1314 1 2.7755 1 196.48003723959042 200.99562556340453 0 0 0 0 +4189 1 1.5513 1 198.81551224942112 146.89701905876018 0 0 0 0 +1322 1 2.7647 1 180.80623005843628 182.84977284473257 0 0 0 0 +9264 1 1.0386 1 171.7549945821852 193.50621469259153 0 0 0 0 +8384 1 1.0882 1 186.49995764443557 154.53019074550855 0 0 0 0 +1521 1 2.5558 1 185.2583835274858 176.5634241071248 0 0 0 0 +410 1 4.8896 1 175.91409801845327 198.90170825450997 0 0 0 0 +1604 1 2.4888 1 143.50498973190548 159.76722894719512 0 0 0 0 +9590 1 1.0213 1 176.89589311579795 185.11155140237256 0 0 0 0 +9058 1 1.0498 1 149.09269327633677 155.59736246668305 0 0 0 0 +1719 1 2.4113 1 182.05971124117508 186.67545126458973 0 0 0 0 +1751 1 2.3839 1 151.89997890230765 183.6636188409528 0 0 0 0 +8739 1 1.0675 1 167.71754421370957 186.43378255525442 0 0 0 0 +1788 1 2.3638 1 189.84456770233047 164.03226666631699 0 0 0 0 +1823 1 2.3436 1 162.04471321698583 187.57588201323188 0 0 0 0 +8242 1 1.0986 1 144.94581575154794 169.6388093232618 0 0 0 0 +1856 1 2.3291 1 184.7116667052095 171.2572772524908 0 0 0 0 +9160 1 1.0441 1 182.24485585336686 195.39194660467302 0 0 0 0 +1881 1 2.3127 1 141.79431775136393 149.22013205001628 0 0 0 0 +1898 1 2.302 1 183.87279423572008 160.00970019094981 0 0 0 0 +1925 1 2.2861 1 192.92854786013694 153.4741970050933 0 0 0 0 +2263 1 2.1123 1 191.7190153910597 162.11090925111614 0 0 0 0 +1966 1 2.2608 1 142.486599322298 151.38320610087823 0 0 0 0 +3931 1 1.6017 1 167.1010087559953 145.99572423296655 0 0 0 0 +1979 1 2.2546 1 182.88533665758138 163.82905379353303 0 0 0 0 +1990 1 2.2482 1 161.98240294916098 190.41868015496678 0 0 0 0 +2014 1 2.2306 1 169.57653467567113 197.23909477441168 0 0 0 0 +9627 1 1.0194 1 148.04708552048263 162.03056517111742 0 0 0 0 +2075 1 2.1965 1 181.57172655447891 196.8188762482878 0 0 0 0 +2061 1 2.2061 1 181.74229032780963 160.6263031008033 0 0 0 0 +2114 1 2.1744 1 193.64398900207462 151.3533474004074 0 0 0 0 +2121 1 2.1702 1 166.3205925405642 148.03577504841138 0 0 0 0 +2158 1 2.1537 1 151.56410880709566 181.4666752245642 0 0 0 0 +2159 1 2.1526 1 172.66260784223886 192.20654333440845 0 0 0 0 +2166 1 2.1498 1 195.22722742260478 149.90109874700119 0 0 0 0 +5430 1 1.359 1 171.2728154401475 196.68360527587552 0 0 0 0 +700 1 3.7846 1 156.60363385733015 143.16733041250393 0 0 0 0 +2193 1 2.1419 1 172.29890525442596 185.63399023477882 0 0 0 0 +9537 1 1.0238 1 154.9185595716262 183.69576125796613 0 0 0 0 +5182 1 1.3909 1 186.65106343240868 201.43562691402042 0 0 0 0 +4186 1 1.5517 1 180.16466023730575 197.91516648111 0 0 0 0 +9252 1 1.0393 1 176.5626062513116 187.5503397702511 0 0 0 0 +5456 1 1.3553 1 154.98773998868484 149.35733977357467 0 0 0 0 +5730 1 1.3229 1 145.48941535956277 155.99233224113817 0 0 0 0 +4825 1 1.4453 1 193.14653258778992 165.03556344871927 0 0 0 0 +2353 1 2.0672 1 147.45704987018306 176.01898774173412 0 0 0 0 +2371 1 2.059 1 149.91040056082863 182.5382622295022 0 0 0 0 +2395 1 2.0499 1 148.09589475165697 160.5624887564045 0 0 0 0 +9605 1 1.0204 1 183.29739980002284 188.7390569188545 0 0 0 0 +2431 1 2.0343 1 178.9854286777509 185.46584594617354 0 0 0 0 +2465 1 2.0238 1 179.90736672196888 157.003190679196 0 0 0 0 +2502 1 2.0097 1 187.60711921230242 157.52478060575882 0 0 0 0 +8622 1 1.0736 1 181.4361594891341 158.96206175806006 0 0 0 0 +9534 1 1.0241 1 199.65277176798662 201.32793332491397 0 0 0 0 +2548 1 1.9898 1 179.81259896934554 179.48850635209826 0 0 0 0 +2556 1 1.9874 1 196.6514901842312 148.47725487407436 0 0 0 0 +9637 1 1.0187 1 170.19557610280683 189.84921652917828 0 0 0 0 +9763 1 1.0118 1 182.86734342797885 166.48153826650278 0 0 0 0 +2593 1 1.9709 1 150.60593050044557 156.68502230564596 0 0 0 0 +2594 1 1.9703 1 155.90842817265218 150.87624196471532 0 0 0 0 +2608 1 1.9643 1 168.32907633718088 148.3680954446936 0 0 0 0 +2639 1 1.9537 1 171.6678720137906 189.7100055268284 0 0 0 0 +9439 1 1.0288 1 174.95419807362904 196.11345358183277 0 0 0 0 +2751 1 1.9113 1 187.49271749794204 196.2554825836361 0 0 0 0 +4924 1 1.4291 1 170.70883684728582 139.44916085399956 0 0 0 0 +2699 1 1.9297 1 181.7279462020966 179.6855906380489 0 0 0 0 +2704 1 1.928 1 179.99964947535344 187.14347828331572 0 0 0 0 +2715 1 1.925 1 148.68403501109555 177.4946713187343 0 0 0 0 +9192 1 1.0423 1 183.4050485917303 172.2915207651597 0 0 0 0 +1373 1 2.7101 1 163.91040533253548 149.75124675416922 0 0 0 0 +9631 1 1.0189 1 187.63360204436313 190.91945429317585 0 0 0 0 +2732 1 1.9174 1 192.3558923654227 141.63109927155392 0 0 0 0 +9404 1 1.0303 1 176.00955921454621 184.61583801889597 0 0 0 0 +8609 1 1.0746 1 191.03389331263037 146.1653204838724 0 0 0 0 +8822 1 1.0618 1 186.45468232643407 188.36758883973096 0 0 0 0 +2879 1 1.8681 1 186.43465534689108 156.01011875133085 0 0 0 0 +3025 1 1.8194 1 159.6924929406396 142.9402990530852 0 0 0 0 +2888 1 1.8657 1 146.5150302285416 174.376982113434 0 0 0 0 +7667 1 1.1387 1 168.83251946303497 139.88979655248028 0 0 0 0 +377 1 5.0809 1 167.46420669822322 142.68353051001552 0 0 0 0 +2940 1 1.8504 1 181.81559071352666 177.5946357122911 0 0 0 0 +9595 1 1.0211 1 161.09601044339766 191.78035856300647 0 0 0 0 +403 1 4.9267 1 184.90343423166016 194.14461386306635 0 0 0 0 +2982 1 1.8381 1 166.16100802496737 150.03324106292558 0 0 0 0 +2985 1 1.837 1 184.93469561997063 180.89436551085427 0 0 0 0 +3019 1 1.82 1 186.19375744575444 174.41197625064967 0 0 0 0 +3026 1 1.8192 1 184.06873980698512 157.30741201274137 0 0 0 0 +8563 1 1.0772 1 193.8118003956459 159.59908934582927 0 0 0 0 +3084 1 1.803 1 149.72766135054604 179.10928785289732 0 0 0 0 +3091 1 1.8021 1 190.6368676286092 167.09876220830986 0 0 0 0 +4139 1 1.5605 1 155.00286666221413 145.90836356781074 0 0 0 0 +3116 1 1.791 1 185.58988639491042 165.40488611524134 0 0 0 0 +3145 1 1.7797 1 183.07663393201832 180.9281026552757 0 0 0 0 +432 1 4.7465 1 196.15002514123498 161.3283671935011 0 0 0 0 +3147 1 1.7791 1 183.95902201191356 179.40048848045538 0 0 0 0 +8239 1 1.0989 1 150.8612989966042 187.14362836223611 0 0 0 0 +1547 1 2.5343 1 183.72474521622442 197.56872165192846 0 0 0 0 +3180 1 1.7707 1 182.6867920697798 158.38574208346623 0 0 0 0 +3224 1 1.759 1 184.24139240213603 166.9214506417998 0 0 0 0 +3268 1 1.7479 1 183.20644440915322 161.87511028299343 0 0 0 0 +3273 1 1.7468 1 170.7813460561749 192.54920363792903 0 0 0 0 +3292 1 1.742 1 182.20779959623235 156.70403144073765 0 0 0 0 +3531 1 1.6863 1 195.09995922783375 154.52614489094478 0 0 0 0 +3069 1 1.8073 1 197.98705483332 145.48273206554126 0 0 0 0 +6413 1 1.2505 1 154.29175131400353 150.44925575521108 0 0 0 0 +3415 1 1.7117 1 141.63347678524127 160.65301185293126 0 0 0 0 +3428 1 1.7095 1 184.53758685393407 162.85554110551647 0 0 0 0 +3471 1 1.6994 1 173.2806926946386 190.39722456752872 0 0 0 0 +272 1 5.9827 1 156.15627122208767 202.32610692689238 0 0 0 0 +3485 1 1.6963 1 183.2401819958793 168.2789521533643 0 0 0 0 +2881 1 1.8678 1 201.34079973336966 145.87849380211094 0 0 0 0 +8689 1 1.0706 1 190.12825957867298 151.3531353088414 0 0 0 0 +3658 1 1.6607 1 191.252361883944 144.87715877987793 0 0 0 0 +3660 1 1.6596 1 157.6368794264726 151.60545014448076 0 0 0 0 +3684 1 1.6523 1 160.71463014979312 193.05129132220225 0 0 0 0 +4053 1 1.5741 1 189.02678793670188 195.47396860951918 0 0 0 0 +8706 1 1.0696 1 189.1574708160899 151.76013945638786 0 0 0 0 +3827 1 1.6215 1 166.79011240597225 198.03740560458596 0 0 0 0 +8604 1 1.0747 1 197.7902868745168 202.33779708299366 0 0 0 0 +3916 1 1.6041 1 184.7579331236445 155.78209615026833 0 0 0 0 +8440 1 1.0851 1 185.755856088943 185.49596954790044 0 0 0 0 +3924 1 1.6029 1 149.80115866852404 180.79875832453294 0 0 0 0 +3935 1 1.6012 1 183.05268784028266 170.35366015932652 0 0 0 0 +1231 1 2.8756 1 156.95211505525018 195.69918227857073 0 0 0 0 +8941 1 1.0556 1 192.2025386951599 151.99261390589828 0 0 0 0 +4055 1 1.5737 1 185.1104910794675 158.59368679580245 0 0 0 0 +9083 1 1.048 1 184.84050683819913 174.83335124156136 0 0 0 0 +7287 1 1.1721 1 158.82957039818075 144.12304945832628 0 0 0 0 +9620 1 1.0197 1 146.25902354589283 159.39753292346302 0 0 0 0 +4127 1 1.5626 1 183.49193771103972 177.52511385527424 0 0 0 0 +4135 1 1.5608 1 163.92744899313325 187.94507347324827 0 0 0 0 +4156 1 1.5567 1 177.05527718450998 186.36736419439654 0 0 0 0 +4164 1 1.5558 1 146.57938479798688 169.0901073280362 0 0 0 0 +3186 1 1.769 1 201.92291071653523 160.81181966372176 0 0 0 0 +1634 1 2.4637 1 150.42554218726292 154.5068446204089 0 0 0 0 +5726 1 1.3233 1 147.31320026367777 150.87152976455477 0 0 0 0 +1815 1 2.3463 1 162.0967967144097 140.4876510145452 0 0 0 0 +4313 1 1.5306 1 144.3258132515814 154.09251857807078 0 0 0 0 +4317 1 1.5297 1 183.93228398712185 165.36191283109102 0 0 0 0 +4346 1 1.5235 1 181.45805078182076 184.84252807385917 0 0 0 0 +4358 1 1.522 1 182.04602745676357 188.62759582748137 0 0 0 0 +6845 1 1.2082 1 193.26041593811942 161.69829859002547 0 0 0 0 +4399 1 1.5151 1 143.67023817882665 149.44389352743016 0 0 0 0 +4425 1 1.5102 1 153.77106611223306 183.18203030212246 0 0 0 0 +4459 1 1.5041 1 186.97318377850453 172.94882740382153 0 0 0 0 +4463 1 1.5036 1 160.93584576073604 150.65166980295106 0 0 0 0 +7391 1 1.162 1 196.6925784606966 142.60296436859315 0 0 0 0 +7101 1 1.1856 1 139.06260199976037 158.17502747741892 0 0 0 0 +4575 1 1.485 1 191.74297126505158 163.86558345353907 0 0 0 0 +5069 1 1.4095 1 145.33199035956812 157.32069895162513 0 0 0 0 +4613 1 1.479 1 184.79008431920346 173.59340503724871 0 0 0 0 +4652 1 1.473 1 175.3518216916966 183.56194394453578 0 0 0 0 +7334 1 1.1678 1 197.58823744745024 141.9023799812617 0 0 0 0 +4742 1 1.4575 1 169.99667645381334 140.66858062931948 0 0 0 0 +4779 1 1.4516 1 178.34204172825412 187.07044136769292 0 0 0 0 +9957 1 1.0029 1 153.91489718399475 194.4089979033615 0 0 0 0 +4791 1 1.4505 1 184.22408209721885 169.454456157603 0 0 0 0 +8570 1 1.0768 1 152.1441720177942 154.76992018507502 0 0 0 0 +4892 1 1.4338 1 145.29952849540524 158.7173533736475 0 0 0 0 +2534 1 1.9978 1 193.22988169734316 139.96861008585827 0 0 0 0 +9719 1 1.0142 1 141.60196258002034 155.08179353452735 0 0 0 0 +9206 1 1.0414 1 175.88514819457401 185.86634797613445 0 0 0 0 +4978 1 1.4231 1 162.16322980013885 192.57973210347694 0 0 0 0 +3696 1 1.6484 1 158.71686762532858 141.52357335568877 0 0 0 0 +5002 1 1.42 1 168.71314343193018 149.96995351901782 0 0 0 0 +5006 1 1.4198 1 150.50095693447224 184.94899640194265 0 0 0 0 +5016 1 1.4183 1 148.2116295276137 178.9885786929946 0 0 0 0 +1672 1 2.4414 1 154.10903933125562 147.68049796367902 0 0 0 0 +5098 1 1.4047 1 167.3846896613234 195.74535425287382 0 0 0 0 +5132 1 1.3984 1 167.82312359211127 197.00505423574353 0 0 0 0 +5177 1 1.3916 1 143.60116764584637 152.8128878014584 0 0 0 0 +2139 1 2.1601 1 162.52793518888913 147.8042205630579 0 0 0 0 +5186 1 1.3902 1 187.1567393638098 165.15450105034787 0 0 0 0 +3386 1 1.7188 1 197.39995250707136 143.81671234314186 0 0 0 0 +8909 1 1.057 1 183.60346842451153 173.30111599093388 0 0 0 0 +5252 1 1.3817 1 174.93471786472526 185.15521460325056 0 0 0 0 +5253 1 1.3815 1 189.21081597740465 193.9613135798703 0 0 0 0 +5279 1 1.3784 1 190.69922661721935 142.0745707266894 0 0 0 0 +3476 1 1.6989 1 141.12612214148086 147.3619333347466 0 0 0 0 +6327 1 1.2587 1 191.8824026826317 166.26576139718344 0 0 0 0 +766 1 3.6483 1 164.50290033647372 145.774110432669 0 0 0 0 +7593 1 1.1445 1 195.5086524365593 151.47184390568657 0 0 0 0 +5387 1 1.3656 1 170.69490646636817 191.01662717496555 0 0 0 0 +5393 1 1.3645 1 141.18347715571775 156.1594583268181 0 0 0 0 +5399 1 1.3635 1 178.58601844683926 180.60823003693855 0 0 0 0 +5418 1 1.3611 1 186.44657559818708 171.63850815272613 0 0 0 0 +5428 1 1.3594 1 190.9285300123002 143.45332527485724 0 0 0 0 +9149 1 1.0447 1 198.26408110858745 142.77048841251477 0 0 0 0 +176 1 7.2667 1 190.4904280987822 199.63777957435198 0 0 0 0 +118 1 9.0986 1 178.25004637308678 192.31236150727793 0 0 0 0 +5454 1 1.3555 1 159.48146738240118 193.87383525995153 0 0 0 0 +9375 1 1.0322 1 194.69602542084525 147.23345908333528 0 0 0 0 +5491 1 1.3519 1 194.71267540615673 200.09946340446047 0 0 0 0 +5504 1 1.3502 1 151.70798364136576 185.47220382128722 0 0 0 0 +8997 1 1.0527 1 172.265871059726 188.34145405971455 0 0 0 0 +5558 1 1.3436 1 166.48870349057051 196.66067576437467 0 0 0 0 +7711 1 1.1354 1 194.8712355182938 163.9752958964743 0 0 0 0 +5631 1 1.3336 1 180.6388119046283 180.87147137875752 0 0 0 0 +5638 1 1.3332 1 170.5318364474217 151.23833022474557 0 0 0 0 +5648 1 1.3325 1 192.21978251066255 156.338208128497 0 0 0 0 +5656 1 1.3319 1 144.16198305730225 158.02259259857712 0 0 0 0 +596 1 4.0355 1 194.82200070714714 157.2653034041385 0 0 0 0 +2365 1 2.0612 1 193.4151924520587 163.31964829877975 0 0 0 0 +8438 1 1.0854 1 183.44176095471758 156.03064664381887 0 0 0 0 +5770 1 1.3174 1 143.06361603747465 168.2903026652052 0 0 0 0 +5867 1 1.3086 1 191.0662606567026 152.07533536402636 0 0 0 0 +9456 1 1.0279 1 142.45059287219692 147.55485284846452 0 0 0 0 +5910 1 1.304 1 156.39663252945167 152.4141497820058 0 0 0 0 +5941 1 1.3008 1 197.42543053165798 147.05895857224778 0 0 0 0 +9797 1 1.0099 1 182.6780442417113 171.5953875468334 0 0 0 0 +5992 1 1.2954 1 187.71367492046582 171.70763116384592 0 0 0 0 +6031 1 1.2916 1 182.4987236811496 173.01636472784554 0 0 0 0 +4432 1 1.5087 1 171.17776634524944 198.107558878907 0 0 0 0 +6114 1 1.2823 1 164.69783000803542 186.76979862422283 0 0 0 0 +1394 1 2.6881 1 183.73133589520987 190.53025334499947 0 0 0 0 +6154 1 1.2777 1 190.77395515405067 165.58046382969908 0 0 0 0 +4423 1 1.5107 1 200.16206767878188 160.30956493292814 0 0 0 0 +6261 1 1.2638 1 190.1576299028613 150.19263283272625 0 0 0 0 +6294 1 1.2612 1 145.34376852774426 160.04250142159142 0 0 0 0 +6332 1 1.2585 1 144.43051836890527 170.6903285272767 0 0 0 0 +6339 1 1.2581 1 189.4634630929113 165.8790229577525 0 0 0 0 +6347 1 1.2574 1 188.0760969506628 164.24966550381384 0 0 0 0 +6354 1 1.2564 1 198.45425405985878 200.98189191454165 0 0 0 0 +9863 1 1.0066 1 181.07046680610645 176.44177879935896 0 0 0 0 +6754 1 1.2178 1 193.14377925828225 160.5156894844782 0 0 0 0 +925 1 3.3059 1 154.11814148361404 152.70964052246433 0 0 0 0 +3584 1 1.6743 1 160.33816666067344 141.34974861832237 0 0 0 0 +9426 1 1.0294 1 174.09197891819926 196.62196204528496 0 0 0 0 +6640 1 1.228 1 165.72860921962942 187.40084105587158 0 0 0 0 +6643 1 1.2278 1 146.73706229748294 166.575825530264 0 0 0 0 +8247 1 1.0979 1 145.83794953953134 170.13424828951014 0 0 0 0 +6683 1 1.2238 1 180.375662027074 178.0123348654813 0 0 0 0 +1264 1 2.839 1 164.6061348563222 139.98547831177063 0 0 0 0 +8828 1 1.0617 1 186.3160794391277 158.23773437954927 0 0 0 0 +6715 1 1.2208 1 190.08339345618052 140.9154147190854 0 0 0 0 +6735 1 1.2193 1 181.28104028340204 157.8425623402238 0 0 0 0 +6804 1 1.2122 1 166.6401801094242 186.65983900877643 0 0 0 0 +8373 1 1.0889 1 200.64336223650707 201.67519532432988 0 0 0 0 +6829 1 1.2094 1 198.86564128267088 202.0904477734898 0 0 0 0 +6835 1 1.2087 1 178.40477475884043 156.48324116241392 0 0 0 0 +2720 1 1.923 1 194.918415616594 152.83737457188386 0 0 0 0 +6855 1 1.207 1 163.49266604368367 186.65250305570314 0 0 0 0 +8817 1 1.0624 1 186.140275270453 196.95046670524374 0 0 0 0 +6864 1 1.2057 1 191.15297922260697 150.88658989805185 0 0 0 0 +1203 1 2.9017 1 161.83855629068572 143.89745139510657 0 0 0 0 +4518 1 1.4943 1 161.83919886152947 149.47998934519143 0 0 0 0 +6881 1 1.2041 1 185.5802414835197 157.28665134150808 0 0 0 0 +6902 1 1.2019 1 174.23328433191955 184.10873450652215 0 0 0 0 +1836 1 2.3371 1 185.85328217193606 198.6510153343416 0 0 0 0 +6924 1 1.1998 1 196.6952624972679 146.07960638225882 0 0 0 0 +2222 1 2.1257 1 138.75946810659136 145.27066818284845 0 0 0 0 +8396 1 1.0877 1 168.06894010074095 146.89982611194299 0 0 0 0 +5907 1 1.3044 1 185.20179794919852 189.3201281582404 0 0 0 0 +6994 1 1.1948 1 194.5920790164824 198.88588503102517 0 0 0 0 +8985 1 1.0534 1 188.80438215453407 158.40128914070948 0 0 0 0 +7046 1 1.1897 1 180.0196949462546 158.5486637659799 0 0 0 0 +7049 1 1.1896 1 167.56714974066927 150.57764068717216 0 0 0 0 +7067 1 1.1885 1 184.67819957562418 164.2580527045604 0 0 0 0 +9611 1 1.0199 1 182.67364707277537 165.45077626951644 0 0 0 0 +7077 1 1.1879 1 185.70095975233343 172.6667723593816 0 0 0 0 +7090 1 1.1869 1 185.3911299169639 179.4277158404629 0 0 0 0 +6882 1 1.2039 1 148.6636948679826 148.34714244333475 0 0 0 0 +8743 1 1.0674 1 146.8675226138905 170.33493084743506 0 0 0 0 +5084 1 1.4071 1 185.63806502617592 191.12324128351543 0 0 0 0 +7126 1 1.1837 1 162.999811092565 189.04384611531816 0 0 0 0 +7127 1 1.1837 1 146.53061122733004 160.40423528797902 0 0 0 0 +7284 1 1.1725 1 148.64603482567625 180.15847550589788 0 0 0 0 +4259 1 1.5405 1 198.78928654331395 159.7247622807098 0 0 0 0 +5789 1 1.3154 1 202.7622128652963 202.2170732726708 0 0 0 0 +7422 1 1.1594 1 150.84735528961465 180.0126814618852 0 0 0 0 +5432 1 1.3586 1 193.0267322942449 155.27363375893057 0 0 0 0 +7491 1 1.153 1 180.54276182329775 159.53660103335116 0 0 0 0 +4378 1 1.5187 1 138.88313771435665 151.91494972630488 0 0 0 0 +7545 1 1.1488 1 181.8634785289738 162.2971859350283 0 0 0 0 +7591 1 1.1447 1 188.0229814607532 194.55229566750603 0 0 0 0 +9694 1 1.0159 1 165.92238739932716 195.66809303525275 0 0 0 0 +7657 1 1.1396 1 164.69243650651734 148.08293355282933 0 0 0 0 +9138 1 1.0452 1 190.19710773546066 162.3833290769848 0 0 0 0 +2341 1 2.0718 1 172.79709395366882 197.41659967045285 0 0 0 0 +9358 1 1.0331 1 185.60901213844804 163.66072034695085 0 0 0 0 +7739 1 1.1333 1 182.79338295242403 178.6459974626781 0 0 0 0 +7750 1 1.1324 1 151.89558898455053 155.83608128776356 0 0 0 0 +3387 1 1.7188 1 139.232157925154 153.47825589247813 0 0 0 0 +5502 1 1.3503 1 154.5202103085516 144.5634652248199 0 0 0 0 +3911 1 1.6059 1 199.28838112165346 161.59054470451798 0 0 0 0 +9444 1 1.0287 1 173.31010448110771 184.5437279676871 0 0 0 0 +7809 1 1.1281 1 193.79604080625404 141.4426776534022 0 0 0 0 +7818 1 1.1277 1 191.87607994661818 165.11724610740353 0 0 0 0 +9695 1 1.0157 1 140.15375608885373 149.34644942887783 0 0 0 0 +7806 1 1.1284 1 144.20728708747998 148.25433424802856 0 0 0 0 +7848 1 1.1256 1 191.19373351823282 140.79688212111824 0 0 0 0 +7886 1 1.1222 1 180.52451675726303 185.73793266557516 0 0 0 0 +7950 1 1.1177 1 169.3564862759985 151.01160676620458 0 0 0 0 +9917 1 1.0044 1 190.05567067940265 194.734762787275 0 0 0 0 +7966 1 1.1167 1 147.4632585552609 173.35182974369008 0 0 0 0 +7983 1 1.1155 1 141.9234610835522 164.60109248044617 0 0 0 0 +7990 1 1.115 1 142.0958236352778 161.94775853768803 0 0 0 0 +9176 1 1.043 1 191.84477569278837 142.89209847043853 0 0 0 0 +6133 1 1.2804 1 163.26814944389588 141.85719496427913 0 0 0 0 +7564 1 1.1467 1 150.66247588344402 186.1305535693787 0 0 0 0 +8063 1 1.11 1 169.15140534635785 147.0823678467574 0 0 0 0 +9273 1 1.038 1 167.45477325254848 187.49948515306863 0 0 0 0 +8118 1 1.1065 1 153.19873652137437 154.68149401020054 0 0 0 0 +8160 1 1.1038 1 149.92197351816995 183.9820347329706 0 0 0 0 +8185 1 1.1022 1 142.40746077898368 153.05617869915923 0 0 0 0 +8210 1 1.1008 1 190.68876746866698 195.51713737854703 0 0 0 0 +8223 1 1.1002 1 186.5325792324639 164.12486267115548 0 0 0 0 +8238 1 1.0989 1 179.5362601382238 181.39160183234134 0 0 0 0 +4907 1 1.4311 1 186.87964731331857 191.78122444802847 0 0 0 0 +5052 1 1.4132 1 140.22868232249093 146.15253194389282 0 0 0 0 +9621 1 1.0197 1 185.51747657328727 178.33198686460574 0 0 0 0 +8257 1 1.0974 1 169.6438589720307 149.12342724105102 0 0 0 0 +8264 1 1.097 1 170.03655425913993 150.13834449588728 0 0 0 0 +4765 1 1.4541 1 195.86744361331031 147.03365899379799 0 0 0 0 +8323 1 1.0926 1 190.478709106923 161.16893100323912 0 0 0 0 +7195 1 1.1784 1 159.92539298850184 144.41325740307158 0 0 0 0 +8598 1 1.0752 1 180.3286364289496 199.14968333295474 0 0 0 0 +6449 1 1.2476 1 173.52535505345767 200.74089747451774 0 0 0 0 +8134 1 1.1054 1 179.024714230792 198.85404332052323 0 0 0 0 +5330 1 1.372 1 168.16988068099903 198.31650283482946 0 0 0 0 +1945 1 2.2712 1 172.41097639402403 199.49261674870328 0 0 0 0 +7210 1 1.1774 1 152.4053338396158 147.08442608139927 0 0 0 0 +4238 1 1.5437 1 178.74208953715396 197.55991237021135 0 0 0 0 +7721 1 1.1348 1 143.00649256544185 154.0000997704928 0 0 0 0 +7498 1 1.1525 1 200.64432616712725 161.47640154221446 0 0 0 0 +4414 1 1.5128 1 152.74049537599757 194.10797199019828 0 0 0 0 +8352 1 1.0905 1 153.7082512733786 145.41397801082806 0 0 0 0 +49 1 13.3405 1 202.48955333556756 153.31995155008138 0 0 0 0 +2722 1 1.9228 1 199.0653310000323 144.07265584159137 0 0 0 0 +1973 1 2.2573 1 153.35172374175647 195.87498412605154 0 0 0 0 +881 1 3.3885 1 179.36814816672407 201.09056253581852 0 0 0 0 +9093 1 1.0474 1 158.40931823561536 194.3983249271378 0 0 0 0 +1351 1 2.7351 1 184.7307095051883 200.92269319092262 0 0 0 0 +5441 1 1.3579 1 155.0091924944432 196.3374553963282 0 0 0 0 +2303 1 2.0907 1 166.96593814031496 199.80278518164081 0 0 0 0 +7340 1 1.1672 1 161.91483380809703 146.15002790167068 0 0 0 0 +4890 1 1.4344 1 199.78454936596424 145.47519155427102 0 0 0 0 +873 1 3.4178 1 169.6849542935248 200.04427374417685 0 0 0 0 +1174 1 2.931 1 182.1921811564572 199.77007903320438 0 0 0 0 +3633 1 1.6653 1 168.78159833054323 145.75236313331422 0 0 0 0 +2683 1 1.937 1 145.56198828957457 148.88760503689522 0 0 0 0 +3400 1 1.715 1 173.04071958228923 202.06004836894505 0 0 0 0 +2905 1 1.8621 1 139.18596274735924 161.6980783934027 0 0 0 0 +5477 1 1.3532 1 153.45754259582986 149.4560929936467 0 0 0 0 +9181 1 1.0429 1 143.4891202187718 166.452824663422 0 0 0 0 +2865 1 1.8731 1 154.222902233976 197.6927699111859 0 0 0 0 +9706 1 1.0149 1 177.2328393252186 201.5253782318461 0 0 0 0 +4598 1 1.4806 1 154.962021838965 194.97437351533412 0 0 0 0 +249 1 6.2144 1 158.40595976964852 147.74724854390072 0 0 0 0 +6873 1 1.2045 1 157.29302058183183 198.9864551028274 0 0 0 0 +3168 1 1.7746 1 164.00603415785832 143.18438974167438 0 0 0 0 +5014 1 1.4185 1 171.76530738543494 201.21191564695192 0 0 0 0 +8695 1 1.0702 1 155.73311707205121 197.22525415565946 0 0 0 0 +3667 1 1.6567 1 159.94163302183532 202.64359721350647 0 0 0 0 +9163 1 1.0439 1 143.15649793426266 148.27786322735514 0 0 0 0 +6539 1 1.2385 1 152.40146369475625 148.2793296900365 0 0 0 0 +4247 1 1.5424 1 140.79777884118442 162.14027855069259 0 0 0 0 +9732 1 1.0137 1 181.40100028804557 201.85225328838428 0 0 0 0 +4677 1 1.468 1 156.24379780637858 198.3033947066146 0 0 0 0 +4227 1 1.5462 1 151.18993466676213 147.6097690079164 0 0 0 0 +7032 1 1.1912 1 165.73942997052146 200.81524588869587 0 0 0 0 +2728 1 1.9191 1 147.4116519449526 149.2455176439741 0 0 0 0 +5213 1 1.3873 1 167.69175720295877 201.3251742362136 0 0 0 0 +3007 1 1.8269 1 153.69305002409743 199.40130885441235 0 0 0 0 +1478 1 2.5969 1 167.08256683258162 138.93274294927417 0 0 0 0 +2619 1 1.9604 1 140.9200184106644 152.79205967328832 0 0 0 0 +6771 1 1.2158 1 155.10346764186647 198.92329485043877 0 0 0 0 +2963 1 1.844 1 182.78448262383765 202.07042911007042 0 0 0 0 +2179 1 2.1457 1 139.01293744842386 159.77187528797018 0 0 0 0 +8856 1 1.0597 1 140.14738774159696 148.32277708735916 0 0 0 0 +4231 1 1.5458 1 140.51035509086861 154.46871753221697 0 0 0 0 +373 1 5.0928 1 150.52704482875544 150.78660142025066 0 0 0 0 +2538 1 1.997 1 156.85470088966406 140.37069765540173 0 0 0 0 +9311 1 1.0356 1 158.35360905220318 140.27181922754752 0 0 0 0 +1748 1 2.3865 1 159.80239369750728 139.3932881246062 0 0 0 0 +8577 1 1.0765 1 201.5749215522342 202.21360101048774 0 0 0 0 +4979 1 1.423 1 143.77201344735929 169.42582990381229 0 0 0 0 +4922 1 1.4293 1 142.46305096520948 167.0994323432399 0 0 0 0 +8492 1 1.0813 1 140.27406893140346 160.73745616169222 0 0 0 0 +4908 1 1.4311 1 161.45189931577394 202.87604512507858 0 0 0 0 +8332 1 1.0922 1 181.57309359474422 202.88491188288617 0 0 0 0 +8062 1 1.1101 1 177.91253025750177 202.7596991599163 0 0 0 0 +31 1 17.8528 1 146.65094419266555 139.11454280650725 0 0 0 0 +5280 1 1.3783 1 142.36534033837893 165.7389925254683 0 0 0 0 +1158 1 2.9455 1 139.09334200178958 156.17804788890084 0 0 0 0 +6066 1 1.2867 1 157.97668523172675 139.2055969210607 0 0 0 0 +2895 1 1.8637 1 140.6829729185376 163.88908237699516 0 0 0 0 +8250 1 1.0978 1 202.78750923650256 146.16202296578763 0 0 0 0 +4356 1 1.5221 1 186.41813928291546 202.82152858892016 0 0 0 0 +8923 1 1.0564 1 141.21009282351176 165.39403845136414 0 0 0 0 +2894 1 1.8638 1 139.15070179298232 147.26951842459908 0 0 0 0 +9952 1 1.003 1 139.60762164647275 163.01665509931223 0 0 0 0 +7825 1 1.1272 1 161.46448734017045 138.88570127910165 0 0 0 0 +4778 1 1.4517 1 184.94455088156516 202.94579028112187 0 0 0 0 +30 1 18.0424 1 177.67274437235992 215.67058725054488 0 0 0 0 +64 1 11.5229 1 168.43495896943162 253.04856560756863 0 0 0 0 +65 1 11.4479 1 163.32166386731225 224.82867874581964 0 0 0 0 +74 1 10.7114 1 154.5920260824413 235.57067340733573 0 0 0 0 +79 1 10.2797 1 159.2316343253177 260.9526866770022 0 0 0 0 +95 1 9.6939 1 177.07470181200074 260.7710379466764 0 0 0 0 +7887 1 1.1222 1 149.93849772769727 261.7847541932538 0 0 0 0 +144 1 7.8203 1 165.38919912227126 205.2533308422718 0 0 0 0 +162 1 7.4747 1 166.2492617698487 243.85142962509383 0 0 0 0 +1578 1 2.5104 1 179.30112575697657 266.4300931707776 0 0 0 0 +225 1 6.4105 1 170.61434553213832 236.32951677798076 0 0 0 0 +253 1 6.1766 1 161.0798346968996 248.2244691361916 0 0 0 0 +3777 1 1.6344 1 181.7538334840953 266.0122052064187 0 0 0 0 +302 1 5.7323 1 155.16197603304548 248.69087999047392 0 0 0 0 +311 1 5.6454 1 165.6709117706498 265.623938443744 0 0 0 0 +2421 1 2.04 1 193.77245923469513 208.6346661239486 0 0 0 0 +367 1 5.1721 1 155.93694026034464 214.1350510007835 0 0 0 0 +35 1 17.3577 1 141.70610593356903 266.1647092011747 0 0 0 0 +6599 1 1.2316 1 150.95121210884034 266.69600454048987 0 0 0 0 +415 1 4.8561 1 161.2750704972878 215.08821784280008 0 0 0 0 +445 1 4.664 1 185.8421551179351 205.81477307695795 0 0 0 0 +7581 1 1.1454 1 150.00756629212668 242.31509286739634 0 0 0 0 +474 1 4.5363 1 154.26121071786807 253.64150043027612 0 0 0 0 +479 1 4.5096 1 171.7591554254835 241.59422498513763 0 0 0 0 +541 1 4.2359 1 187.48863427599255 220.21619128097825 0 0 0 0 +5085 1 1.4067 1 196.25764662157488 207.7698790271101 0 0 0 0 +545 1 4.2222 1 158.62113669911614 210.3478806407414 0 0 0 0 +548 1 4.2077 1 192.89875192330047 211.60808992550858 0 0 0 0 +576 1 4.1084 1 183.10628231238294 253.67331226303534 0 0 0 0 +590 1 4.0484 1 169.24839770155282 229.61466170739448 0 0 0 0 +661 1 3.8606 1 179.5685355846329 250.28883369752901 0 0 0 0 +684 1 3.8163 1 173.02323066483396 227.3969753866013 0 0 0 0 +689 1 3.8112 1 185.46044891249957 224.60529071347761 0 0 0 0 +702 1 3.7804 1 177.29595119020394 245.9812348880623 0 0 0 0 +706 1 3.7739 1 174.58168942680456 248.5736957143114 0 0 0 0 +730 1 3.7259 1 175.77869890441673 242.48640471626828 0 0 0 0 +755 1 3.676 1 153.26595943372075 257.52573638851754 0 0 0 0 +758 1 3.6645 1 156.22918937070213 228.72184330605194 0 0 0 0 +778 1 3.6309 1 173.69582031000627 232.39964173620436 0 0 0 0 +831 1 3.5026 1 181.47796124472947 247.17566088367326 0 0 0 0 +5669 1 1.3299 1 196.79908706908677 206.51817837620015 0 0 0 0 +870 1 3.4248 1 162.96892187162356 232.1871317024242 0 0 0 0 +2044 1 2.2157 1 194.99466002086254 203.12522860864433 0 0 0 0 +752 1 3.681 1 148.52928266323752 258.0933345503545 0 0 0 0 +902 1 3.3531 1 188.87573704561225 211.0759196764787 0 0 0 0 +903 1 3.3523 1 150.77197216013383 249.5423214482374 0 0 0 0 +906 1 3.349 1 170.348591627275 207.71125181863587 0 0 0 0 +9304 1 1.0361 1 194.91586378322057 204.74074905325364 0 0 0 0 +930 1 3.2949 1 179.86259134558148 239.9737007239556 0 0 0 0 +958 1 3.2378 1 177.31757150713776 229.50246760922852 0 0 0 0 +972 1 3.2151 1 178.52789708131814 234.7989857333078 0 0 0 0 +993 1 3.1874 1 159.11213799307978 254.26862370623493 0 0 0 0 +1010 1 3.1607 1 170.8512735470762 259.8528457214913 0 0 0 0 +1023 1 3.1453 1 180.18113453891263 230.8798559425428 0 0 0 0 +1033 1 3.1218 1 168.38037616143146 210.88026474135216 0 0 0 0 +1039 1 3.1097 1 163.06734401981552 211.59318517670252 0 0 0 0 +1041 1 3.1076 1 182.87121389783445 235.4912420594314 0 0 0 0 +1065 1 3.0645 1 153.78718161575836 243.76274056488543 0 0 0 0 +4985 1 1.4223 1 200.6749377719717 205.7240438075803 0 0 0 0 +1082 1 3.0413 1 156.94971253789635 221.5754179962221 0 0 0 0 +1101 1 3.0162 1 154.94160108755358 207.41152613929117 0 0 0 0 +1140 1 2.9701 1 184.08688810916027 230.12251676218852 0 0 0 0 +7468 1 1.1555 1 141.56988148859043 256.91697058159946 0 0 0 0 +1192 1 2.9157 1 160.72808790139592 240.47940963926288 0 0 0 0 +1214 1 2.8941 1 153.49442931728964 224.1764180218774 0 0 0 0 +1221 1 2.888 1 157.90407923036398 218.81081281277469 0 0 0 0 +5464 1 1.3549 1 177.15014070871166 266.28842849610203 0 0 0 0 +1252 1 2.8476 1 157.79922985380588 206.95229703110078 0 0 0 0 +1278 1 2.8152 1 155.8151292017619 225.57692567251036 0 0 0 0 +1279 1 2.8145 1 174.31756720233005 205.9117376657582 0 0 0 0 +1326 1 2.7615 1 175.93124216239386 238.2871915135886 0 0 0 0 +3495 1 1.6942 1 183.55101197378033 203.63166571630666 0 0 0 0 +1392 1 2.6902 1 158.17479763616157 243.61415621100028 0 0 0 0 +2688 1 1.9347 1 198.3021764996693 207.1291699758725 0 0 0 0 +1420 1 2.6601 1 189.25683345296272 217.22856221203264 0 0 0 0 +1458 1 2.6106 1 168.01254852410545 232.67634165119333 0 0 0 0 +1460 1 2.6088 1 171.9208601461229 264.0044908119623 0 0 0 0 +1483 1 2.5929 1 159.40669107296628 230.99796733099387 0 0 0 0 +1516 1 2.5602 1 184.7039876828961 257.82517946816165 0 0 0 0 +1523 1 2.5514 1 169.66659040998147 265.0868732107882 0 0 0 0 +1544 1 2.5356 1 195.72328149849204 209.6549285052776 0 0 0 0 +9842 1 1.0082 1 150.96378973366487 257.96516212794455 0 0 0 0 +1601 1 2.4933 1 182.45330276618213 206.643268627188 0 0 0 0 +1625 1 2.4717 1 168.92368575707908 220.86071593787491 0 0 0 0 +1639 1 2.4596 1 170.16193211646078 224.25898576902054 0 0 0 0 +1665 1 2.4441 1 166.22128127033716 216.7782527666993 0 0 0 0 +1669 1 2.4431 1 165.7183225169112 211.29247563963406 0 0 0 0 +1699 1 2.4254 1 160.94864944963666 234.22118249324805 0 0 0 0 +1738 1 2.3972 1 182.73921422744436 244.52976674630565 0 0 0 0 +1783 1 2.3663 1 164.95819146942026 237.3759006240165 0 0 0 0 +1785 1 2.3651 1 167.53357521967285 214.78589428741225 0 0 0 0 +1808 1 2.3521 1 177.77715729163376 232.19211931671768 0 0 0 0 +1819 1 2.3459 1 182.54786037945598 232.25174747713316 0 0 0 0 +1882 1 2.3118 1 176.02053807036364 235.8297474076036 0 0 0 0 +1900 1 2.3007 1 176.14007662362334 254.9093134059696 0 0 0 0 +1906 1 2.2963 1 175.33131223486836 266.42672595767345 0 0 0 0 +1920 1 2.2882 1 153.76014207981706 227.0935867391811 0 0 0 0 +4255 1 1.5417 1 150.73566778884057 256.7010845435731 0 0 0 0 +1948 1 2.2704 1 182.501912554734 258.5263727777761 0 0 0 0 +1960 1 2.2643 1 178.00138775550752 252.87831171516623 0 0 0 0 +1982 1 2.2523 1 170.1652655289907 262.40474073537337 0 0 0 0 +1997 1 2.2433 1 156.38974105191656 241.72784563551113 0 0 0 0 +2041 1 2.2179 1 162.7194908081661 237.11485409973324 0 0 0 0 +2047 1 2.2135 1 182.41372986212195 224.61074889061112 0 0 0 0 +460 1 4.6245 1 146.12496877035105 254.7925313377654 0 0 0 0 +9891 1 1.0054 1 169.12093371376287 227.09368612021098 0 0 0 0 +2146 1 2.1577 1 178.60631291492476 242.36045029038615 0 0 0 0 +2168 1 2.1495 1 184.0013507319202 263.2160255024188 0 0 0 0 +2180 1 2.1456 1 157.1735657457201 252.02000255091377 0 0 0 0 +2191 1 2.1432 1 174.56183319405227 245.08647059397433 0 0 0 0 +2192 1 2.143 1 153.51299392190606 221.70281860039898 0 0 0 0 +2196 1 2.1399 1 179.41377272517536 205.1866172698262 0 0 0 0 +2204 1 2.135 1 179.5979335787333 244.19783681171108 0 0 0 0 +2236 1 2.1206 1 184.06263136711596 260.0409642288999 0 0 0 0 +2251 1 2.1173 1 183.0475342717044 238.0594373567516 0 0 0 0 +3636 1 1.665 1 141.48109368492356 253.6190136972005 0 0 0 0 +2278 1 2.1036 1 163.1615523175113 240.30060153095224 0 0 0 0 +2287 1 2.1 1 166.77598581975326 234.64466636740707 0 0 0 0 +2289 1 2.0982 1 160.67435037271215 244.13513294863074 0 0 0 0 +4327 1 1.5274 1 182.02020773568938 204.11061188833338 0 0 0 0 +2375 1 2.0574 1 180.6748749905344 228.18702334991838 0 0 0 0 +2401 1 2.0473 1 153.44719027533446 229.30447717530097 0 0 0 0 +2407 1 2.0449 1 172.91792638589547 246.2510531377477 0 0 0 0 +2409 1 2.0448 1 164.79961085364144 234.14118522261907 0 0 0 0 +2412 1 2.0442 1 152.6067012046318 241.55191692515325 0 0 0 0 +2417 1 2.0427 1 190.3985879227229 214.84925140421566 0 0 0 0 +2425 1 2.0385 1 180.355790327173 236.68399364758216 0 0 0 0 +2436 1 2.0324 1 172.14460466856337 230.12764020356016 0 0 0 0 +2440 1 2.0306 1 191.0766175428585 207.6816995320001 0 0 0 0 +2473 1 2.0194 1 161.57093168642288 209.57783451512358 0 0 0 0 +2481 1 2.0168 1 154.09358375371392 217.63089183568033 0 0 0 0 +2530 1 1.9992 1 185.1127449472764 209.039795855924 0 0 0 0 +2531 1 1.9991 1 175.92726031667365 227.31778300372815 0 0 0 0 +2537 1 1.997 1 180.73016252982856 233.3840729620214 0 0 0 0 +847 1 3.4624 1 175.7136233307862 203.13524893550823 0 0 0 0 +2544 1 1.9909 1 158.53677135968093 266.9696131752414 0 0 0 0 +9430 1 1.0293 1 195.04934176898874 207.80809920606194 0 0 0 0 +2617 1 1.9613 1 151.75135498339054 246.9226094882751 0 0 0 0 +2625 1 1.9576 1 155.73013581183835 209.67084201086112 0 0 0 0 +2657 1 1.9447 1 188.82252329184513 213.65223283986074 0 0 0 0 +2706 1 1.9271 1 183.44335331412665 248.90784854099212 0 0 0 0 +4003 1 1.583 1 180.52874537914508 203.7039306248447 0 0 0 0 +2755 1 1.9095 1 180.56323050269248 242.4701277038012 0 0 0 0 +2779 1 1.9017 1 161.4846059963268 218.4366697542639 0 0 0 0 +2781 1 1.9012 1 183.66165268366302 250.76716167196275 0 0 0 0 +5248 1 1.3821 1 192.7095781086797 207.36590567104525 0 0 0 0 +2795 1 1.8945 1 176.7932707257609 250.17441595776089 0 0 0 0 +2702 1 1.9289 1 139.64515073122936 256.75362973007014 0 0 0 0 +2804 1 1.8922 1 172.20497601988484 224.72483582785534 0 0 0 0 +2828 1 1.8855 1 173.63368224521093 265.33572031641654 0 0 0 0 +2842 1 1.8822 1 168.28254562516463 261.5525777743137 0 0 0 0 +2848 1 1.8801 1 150.1894988479935 240.0505447544749 0 0 0 0 +7881 1 1.1228 1 187.55546067016854 203.47772396928187 0 0 0 0 +2897 1 1.8636 1 178.87930410981755 227.6410869832925 0 0 0 0 +2909 1 1.8612 1 186.33071974934433 210.52297455161883 0 0 0 0 +2910 1 1.861 1 164.89662308664163 239.43032221052374 0 0 0 0 +2927 1 1.8558 1 185.1680971663386 261.6419053878541 0 0 0 0 +2934 1 1.8518 1 163.19444971070115 217.79545739174566 0 0 0 0 +2938 1 1.8507 1 179.4195234972122 225.44557630066598 0 0 0 0 +2948 1 1.8492 1 176.6721689902823 225.55218797098468 0 0 0 0 +8113 1 1.1068 1 202.08531357165805 203.17698421336996 0 0 0 0 +2976 1 1.8403 1 166.48248419215258 261.1445250717633 0 0 0 0 +2994 1 1.8351 1 168.9990278735129 240.1033795948305 0 0 0 0 +3001 1 1.8295 1 186.08596694009128 263.2103227184822 0 0 0 0 +4027 1 1.5784 1 154.09422425074717 205.37526882037193 0 0 0 0 +3030 1 1.8182 1 179.40503209901505 254.33359575881062 0 0 0 0 +3132 1 1.7837 1 161.95960739444655 252.02006068277885 0 0 0 0 +3134 1 1.7832 1 154.86765354385972 220.3810011752245 0 0 0 0 +3139 1 1.7816 1 161.5050107540154 253.69398465803818 0 0 0 0 +3192 1 1.7675 1 181.1166314536777 226.04248249969433 0 0 0 0 +3216 1 1.761 1 156.38028623470498 244.89625943803478 0 0 0 0 +3264 1 1.7492 1 186.9214983863029 208.81859743797014 0 0 0 0 +3290 1 1.743 1 151.71894089999927 245.00912284891393 0 0 0 0 +3294 1 1.7417 1 168.46185307574996 263.32199458954085 0 0 0 0 +3306 1 1.7387 1 178.13408964330915 238.22751722285162 0 0 0 0 +3311 1 1.7375 1 148.97265906882794 241.3776164154084 0 0 0 0 +3313 1 1.7366 1 166.64995858207354 259.402935906333 0 0 0 0 +3340 1 1.7313 1 190.8732696086578 209.5461679273331 0 0 0 0 +3359 1 1.7257 1 173.9427392179583 224.80377804191417 0 0 0 0 +4398 1 1.5151 1 177.79844547371897 204.4108299384452 0 0 0 0 +3405 1 1.7139 1 172.78348368799803 244.45542658603975 0 0 0 0 +3435 1 1.7084 1 182.91650717715734 256.5755093291394 0 0 0 0 +3447 1 1.7047 1 186.76076304732197 260.95161510689655 0 0 0 0 +3449 1 1.7045 1 160.7336541134062 236.6251597713349 0 0 0 0 +3469 1 1.6996 1 189.50644711542145 208.66319755825475 0 0 0 0 +3487 1 1.6961 1 167.0223148407023 212.84705974366952 0 0 0 0 +4080 1 1.5698 1 153.41434176290372 260.1329323670986 0 0 0 0 +3536 1 1.6855 1 174.9154168967691 251.8065913064286 0 0 0 0 +1001 1 3.1759 1 155.01118832452303 266.09710238724955 0 0 0 0 +3577 1 1.675 1 174.3950115662421 255.79054744401802 0 0 0 0 +3615 1 1.6685 1 171.30952487532008 245.08444959867413 0 0 0 0 +3652 1 1.6619 1 187.8018837946935 263.23741733953113 0 0 0 0 +9387 1 1.0314 1 196.13777691907592 204.26579159173545 0 0 0 0 +3676 1 1.6543 1 166.89328099206696 237.82788327039472 0 0 0 0 +3707 1 1.645 1 160.00627716415275 238.36726424364454 0 0 0 0 +4301 1 1.5324 1 151.6815624846798 251.8267947338809 0 0 0 0 +9980 1 1.0012 1 148.62806497838736 238.72748546089002 0 0 0 0 +3782 1 1.6334 1 182.00110011145262 229.35772270341008 0 0 0 0 +3844 1 1.6187 1 168.98940184891885 267.0372532980456 0 0 0 0 +3923 1 1.6029 1 167.31305791981492 219.6919065868438 0 0 0 0 +3932 1 1.6014 1 175.1013859115946 230.24543317045368 0 0 0 0 +3937 1 1.6009 1 166.07113292676883 218.76914230546834 0 0 0 0 +3967 1 1.5931 1 182.07646767474372 241.82325260614377 0 0 0 0 +3992 1 1.5883 1 158.997944232566 251.73515354280488 0 0 0 0 +3996 1 1.5871 1 181.29498373192683 257.04646985790043 0 0 0 0 +2453 1 2.0268 1 141.0866080514422 255.40908425445795 0 0 0 0 +719 1 3.7519 1 150.18479041623746 254.07649163228652 0 0 0 0 +4010 1 1.5813 1 172.17574937538615 206.0925813396171 0 0 0 0 +4012 1 1.5812 1 183.19393877721313 239.85971685527912 0 0 0 0 +3043 1 1.8139 1 149.19468104768688 251.54693945854882 0 0 0 0 +1921 1 2.2881 1 147.97389045888914 248.7126387014022 0 0 0 0 +4035 1 1.5769 1 187.37290417353225 214.59645867854044 0 0 0 0 +850 1 3.4593 1 151.9574616908246 264.5964458593752 0 0 0 0 +4074 1 1.5706 1 164.96062175601818 213.1269529299706 0 0 0 0 +4079 1 1.57 1 185.21557167577922 221.9279258363887 0 0 0 0 +4092 1 1.5681 1 165.1194244012602 260.00566563823884 0 0 0 0 +4117 1 1.5636 1 160.85723182512837 211.98588138365858 0 0 0 0 +4151 1 1.558 1 161.14470136304294 207.21835057794598 0 0 0 0 +7804 1 1.1285 1 150.35927848494632 262.9588316902918 0 0 0 0 +2076 1 2.1961 1 197.62129110549648 204.93139448429088 0 0 0 0 +4203 1 1.5489 1 188.2249328712048 207.73469386180776 0 0 0 0 +4225 1 1.5463 1 187.44753765118043 216.16321905820593 0 0 0 0 +4235 1 1.5443 1 172.09636101161198 247.75901950634167 0 0 0 0 +8951 1 1.0551 1 151.70695484136607 255.84309548520386 0 0 0 0 +4253 1 1.542 1 160.39250257257382 252.33010329745883 0 0 0 0 +4260 1 1.5401 1 190.4411259795934 213.05981657412386 0 0 0 0 +9555 1 1.0229 1 144.7210145055049 247.42708411158426 0 0 0 0 +643 1 3.9101 1 192.45665172553802 204.77861289622473 0 0 0 0 +1153 1 2.951 1 200.1543040782149 203.63399108261171 0 0 0 0 +4336 1 1.5255 1 166.2149393772643 231.7179417473769 0 0 0 0 +5051 1 1.4132 1 145.9958938684905 257.8101397872043 0 0 0 0 +4357 1 1.522 1 183.98532191670165 233.51319202390206 0 0 0 0 +5964 1 1.2985 1 195.4450048741186 206.72242038564076 0 0 0 0 +4392 1 1.5164 1 177.7832722667593 205.9132888589248 0 0 0 0 +4396 1 1.5155 1 154.52324608630346 241.6403304655304 0 0 0 0 +6727 1 1.2197 1 157.0104506869786 266.8192433870623 0 0 0 0 +9005 1 1.0525 1 142.7338778292686 251.05601841338478 0 0 0 0 +4429 1 1.5094 1 176.16204468641493 253.0743879521679 0 0 0 0 +5215 1 1.3872 1 143.71459865080072 249.68233260489208 0 0 0 0 +5055 1 1.4123 1 201.98046615436053 204.73181171815907 0 0 0 0 +4466 1 1.5029 1 179.77980494755968 255.9231015272662 0 0 0 0 +4470 1 1.5024 1 155.74421128921878 223.46462464180084 0 0 0 0 +4477 1 1.5014 1 183.88819110966563 226.69351108095722 0 0 0 0 +2255 1 2.1159 1 173.09530795490986 203.88285899814443 0 0 0 0 +4524 1 1.4939 1 197.42233676545098 208.58400340854024 0 0 0 0 +4542 1 1.4908 1 185.33007588575882 228.24288956543097 0 0 0 0 +4547 1 1.4902 1 188.6965438236024 215.30860664747527 0 0 0 0 +4552 1 1.4889 1 166.54048531962061 239.3456162889645 0 0 0 0 +4553 1 1.4888 1 176.03683693462307 231.4614510265325 0 0 0 0 +3799 1 1.6293 1 143.60814522960175 253.01055687299143 0 0 0 0 +4599 1 1.4805 1 180.57834280804622 206.4209786727887 0 0 0 0 +4626 1 1.4774 1 177.27724606398095 248.58772027313873 0 0 0 0 +4196 1 1.55 1 178.99427370382907 203.46709122111523 0 0 0 0 +4686 1 1.4663 1 190.20376756939902 206.17456869934261 0 0 0 0 +4702 1 1.4646 1 170.40725615409323 227.12539173651584 0 0 0 0 +4716 1 1.4616 1 159.77146134945428 207.7733046990838 0 0 0 0 +4739 1 1.4581 1 182.04736938867106 251.13309637669545 0 0 0 0 +4748 1 1.457 1 164.60502929054195 218.5592396683109 0 0 0 0 +9982 1 1.0011 1 167.6343110346462 239.87409753915597 0 0 0 0 +1424 1 2.657 1 189.20394131715116 204.38272225705543 0 0 0 0 +4807 1 1.4475 1 186.73097215867932 212.11722088809285 0 0 0 0 +4842 1 1.4428 1 188.77443324533928 206.34754504514382 0 0 0 0 +8016 1 1.1136 1 153.40863835335256 261.4793748465524 0 0 0 0 +4876 1 1.4371 1 170.10056107796413 245.9318452265035 0 0 0 0 +4905 1 1.4318 1 178.04191583867092 226.33025147864925 0 0 0 0 +4853 1 1.4409 1 153.04644701040246 245.84921113517203 0 0 0 0 +1181 1 2.9269 1 151.22028011450033 259.9511693384135 0 0 0 0 +4912 1 1.4305 1 181.159268911576 255.56860814584184 0 0 0 0 +4921 1 1.4296 1 164.26204222724263 209.7142649453889 0 0 0 0 +4954 1 1.4254 1 183.74288365826067 208.07080445081985 0 0 0 0 +4976 1 1.4233 1 176.54065252954464 233.60708960538147 0 0 0 0 +4981 1 1.4227 1 164.40600179119187 214.53455371403302 0 0 0 0 +4986 1 1.422 1 166.62266442530233 230.32686562023534 0 0 0 0 +4993 1 1.4211 1 172.6904336292592 207.41481523714978 0 0 0 0 +4997 1 1.4207 1 155.56794819776283 218.46363855004168 0 0 0 0 +5005 1 1.4199 1 163.94599750908813 257.60496694182416 0 0 0 0 +8195 1 1.1018 1 187.57961586401038 265.4919708794261 0 0 0 0 +5017 1 1.418 1 155.97301818195214 243.43298246217586 0 0 0 0 +5031 1 1.4158 1 192.407305443997 214.36424825512722 0 0 0 0 +5032 1 1.4157 1 154.12485354540587 209.5751614323932 0 0 0 0 +5045 1 1.4139 1 176.45664065939002 251.71758692016556 0 0 0 0 +5057 1 1.4121 1 169.94365690209472 232.23464323610835 0 0 0 0 +5079 1 1.4078 1 160.10857222041457 242.53454714059606 0 0 0 0 +7344 1 1.1663 1 198.1635043570025 203.3631736051362 0 0 0 0 +5130 1 1.3986 1 167.47607615448305 218.20413438535326 0 0 0 0 +5140 1 1.3978 1 166.61594751787717 209.61452720169922 0 0 0 0 +5179 1 1.3913 1 182.07287183935063 249.72224563670244 0 0 0 0 +5184 1 1.3908 1 175.28723428855972 234.2261693538368 0 0 0 0 +5207 1 1.3881 1 176.3758828227079 206.0545630403328 0 0 0 0 +5105 1 1.4036 1 154.28028501727547 263.98643163464124 0 0 0 0 +5232 1 1.3847 1 158.1415104307088 250.5631739132327 0 0 0 0 +911 1 3.333 1 170.51501509804595 203.22838274991426 0 0 0 0 +5255 1 1.3814 1 177.71186424430522 240.85407414163373 0 0 0 0 +5263 1 1.3806 1 158.34844666102117 245.6356349329069 0 0 0 0 +5278 1 1.3786 1 180.74685977347838 235.03866472438668 0 0 0 0 +5289 1 1.3771 1 156.37555921892888 217.34897489646937 0 0 0 0 +5304 1 1.3748 1 162.35305756773548 241.8348764788643 0 0 0 0 +5305 1 1.3747 1 183.20557076082196 242.7247450520597 0 0 0 0 +5337 1 1.3715 1 171.29653812532277 246.58581748301788 0 0 0 0 +5361 1 1.3684 1 159.76873694314716 206.20418829481721 0 0 0 0 +5377 1 1.3669 1 165.01363279872396 230.9749432951399 0 0 0 0 +5391 1 1.3646 1 157.77244729154665 240.61304630942294 0 0 0 0 +5394 1 1.3644 1 166.5879928191517 236.35972254954063 0 0 0 0 +5395 1 1.3643 1 168.59184785696672 218.98554288207174 0 0 0 0 +5416 1 1.3615 1 171.2541854829597 232.56121228170855 0 0 0 0 +5436 1 1.3584 1 151.75347969988246 229.2908582487599 0 0 0 0 +4766 1 1.4536 1 195.90842309645208 205.46347791696664 0 0 0 0 +5476 1 1.3533 1 173.75324872279583 229.83505144647367 0 0 0 0 +5508 1 1.3499 1 177.51689964181094 236.83741335045448 0 0 0 0 +5534 1 1.3466 1 150.92135529540994 241.47838442968126 0 0 0 0 +7175 1 1.1802 1 153.85833953636623 262.80959921366843 0 0 0 0 +5555 1 1.3438 1 168.06168752539043 216.5564064453447 0 0 0 0 +5595 1 1.338 1 163.17406401603586 234.54120831127156 0 0 0 0 +5630 1 1.3336 1 165.44101450088164 235.65794119862636 0 0 0 0 +5635 1 1.3333 1 165.699896624373 214.98680867514622 0 0 0 0 +5671 1 1.3297 1 174.81112899285375 253.31743443067288 0 0 0 0 +5684 1 1.3282 1 159.9948528017509 218.89405616322261 0 0 0 0 +5748 1 1.3206 1 191.05402998320173 216.39390662743293 0 0 0 0 +5755 1 1.3199 1 154.9534859376915 211.05922065548344 0 0 0 0 +5837 1 1.3108 1 166.10770640199166 233.10612511782455 0 0 0 0 +4195 1 1.5502 1 196.84208026760373 203.2087185396898 0 0 0 0 +5902 1 1.3046 1 169.57385713696365 226.034075417345 0 0 0 0 +5904 1 1.3046 1 162.2729216301422 235.46945856295622 0 0 0 0 +4367 1 1.5203 1 182.02582142454636 264.4615542932231 0 0 0 0 +5912 1 1.3037 1 159.04007500194015 217.13413224358803 0 0 0 0 +5913 1 1.3035 1 170.92014773072032 205.47996694733754 0 0 0 0 +5928 1 1.302 1 182.47094989999772 260.36373669657166 0 0 0 0 +5949 1 1.2999 1 173.21389536701847 239.11436955301397 0 0 0 0 +5976 1 1.2969 1 186.20915557714417 258.94587608781234 0 0 0 0 +6010 1 1.2934 1 161.41653339510367 238.24871304850524 0 0 0 0 +7883 1 1.1226 1 189.57142102105485 265.989495921748 0 0 0 0 +6023 1 1.2922 1 183.97343852914688 228.04291531221074 0 0 0 0 +6047 1 1.2891 1 157.3998870048178 226.67016869690417 0 0 0 0 +6053 1 1.2886 1 184.36590416032737 232.19562073488598 0 0 0 0 +6109 1 1.2827 1 177.8938569441341 254.6372212683293 0 0 0 0 +6128 1 1.2807 1 174.3986378412703 236.99043943051396 0 0 0 0 +6131 1 1.2805 1 192.18252237405719 208.89224049844913 0 0 0 0 +6201 1 1.2715 1 151.38240509422639 230.53865713632726 0 0 0 0 +6205 1 1.2712 1 183.3055481736652 241.2501356991569 0 0 0 0 +4507 1 1.4958 1 155.55027248518473 256.364182314602 0 0 0 0 +6221 1 1.2685 1 185.03487765112052 255.4278142053169 0 0 0 0 +6265 1 1.2635 1 182.58406458765802 226.3287539604886 0 0 0 0 +6291 1 1.2616 1 152.31021046948877 228.11588453976773 0 0 0 0 +6293 1 1.2614 1 181.1128343029631 205.16301626672947 0 0 0 0 +6378 1 1.2541 1 158.4242742980685 216.06613531651422 0 0 0 0 +6404 1 1.2512 1 162.51663591798754 238.80889589548286 0 0 0 0 +6415 1 1.2503 1 176.57261804117385 240.16232966874176 0 0 0 0 +6421 1 1.25 1 164.966694843373 261.3927659066359 0 0 0 0 +6429 1 1.2493 1 171.09235335101934 222.6931582634246 0 0 0 0 +6431 1 1.2491 1 185.67940261737743 260.0434121531952 0 0 0 0 +6443 1 1.2479 1 152.44386807457724 225.93780530927376 0 0 0 0 +6584 1 1.2336 1 143.8452770016066 251.01860077825228 0 0 0 0 +6481 1 1.2451 1 158.7861938020706 239.79812969535945 0 0 0 0 +6546 1 1.2379 1 174.3857908939394 239.4679555820112 0 0 0 0 +6609 1 1.231 1 167.10801615541752 262.5351057482868 0 0 0 0 +6632 1 1.2289 1 185.16100213510833 264.388988056017 0 0 0 0 +6663 1 1.2256 1 178.78884561373897 236.95933288461507 0 0 0 0 +6669 1 1.225 1 156.09662912946416 219.63931351476631 0 0 0 0 +6684 1 1.2238 1 160.94362089688232 255.46397745412244 0 0 0 0 +6696 1 1.2225 1 181.32739724821198 238.26104300460435 0 0 0 0 +6755 1 1.2178 1 175.3358151032986 224.95318283063006 0 0 0 0 +1951 1 2.2693 1 143.2483519358414 256.58290117181895 0 0 0 0 +6777 1 1.2154 1 164.48715388054865 258.77832517414004 0 0 0 0 +6790 1 1.2135 1 177.64131444576992 239.58263462998403 0 0 0 0 +6806 1 1.2117 1 162.32939074960703 265.6610726219585 0 0 0 0 +6817 1 1.2105 1 157.04515597364315 223.92389597005814 0 0 0 0 +6866 1 1.2052 1 163.09895118397665 209.12698248944562 0 0 0 0 +8266 1 1.097 1 182.68714761378882 266.9923914410027 0 0 0 0 +6901 1 1.202 1 187.4670609803751 222.9589934791475 0 0 0 0 +6922 1 1.2002 1 168.41952467671638 213.12327431078447 0 0 0 0 +6947 1 1.1983 1 158.94051318497438 213.04555231446886 0 0 0 0 +7021 1 1.1921 1 182.5225865443969 261.60560155917506 0 0 0 0 +6792 1 1.2132 1 145.3469548954007 246.46617207049687 0 0 0 0 +359 1 5.2778 1 148.22601213487593 244.9697067232152 0 0 0 0 +8717 1 1.0689 1 194.7087655429239 205.80097849499026 0 0 0 0 +7041 1 1.1903 1 173.96410887603272 238.13569950119305 0 0 0 0 +7042 1 1.1901 1 157.07842270063472 253.6283629281645 0 0 0 0 +7050 1 1.1896 1 163.87731689031224 235.68881486238536 0 0 0 0 +7065 1 1.1887 1 156.8942288319496 254.75775787229972 0 0 0 0 +7142 1 1.1829 1 164.73221667217462 215.77320670635243 0 0 0 0 +7157 1 1.1815 1 181.96170541527135 239.28023878205997 0 0 0 0 +4163 1 1.5559 1 144.8030195099224 252.00991856404414 0 0 0 0 +7233 1 1.1756 1 169.3066433433304 222.6438373232742 0 0 0 0 +7243 1 1.1743 1 182.00182151566437 240.4697709723014 0 0 0 0 +7265 1 1.1733 1 161.23148546605125 230.7482171261558 0 0 0 0 +7268 1 1.1732 1 181.03472426646113 244.9162639409472 0 0 0 0 +7269 1 1.1731 1 161.99425346983065 243.18770685824435 0 0 0 0 +7301 1 1.1705 1 183.06397437616968 204.9498366063731 0 0 0 0 +7322 1 1.1686 1 149.07731686315046 237.74879271896293 0 0 0 0 +7326 1 1.1684 1 180.50602751362305 253.3530280693379 0 0 0 0 +7358 1 1.1649 1 171.1593154196887 231.3456456881945 0 0 0 0 +7377 1 1.1635 1 189.56780766394607 207.29402974535168 0 0 0 0 +7418 1 1.1599 1 158.36022248303743 205.10076409437409 0 0 0 0 +7431 1 1.1589 1 158.60986851877806 229.20429056544205 0 0 0 0 +7511 1 1.1518 1 182.86328283082045 227.59263655731425 0 0 0 0 +7553 1 1.148 1 173.45058433619946 256.82121719925186 0 0 0 0 +7025 1 1.1919 1 159.0785809491958 204.23929798492142 0 0 0 0 +5429 1 1.359 1 144.5591290776116 248.60335284704573 0 0 0 0 +7614 1 1.1432 1 157.52731159752094 216.84774917048682 0 0 0 0 +7617 1 1.1431 1 188.66823596122467 265.36635503320355 0 0 0 0 +7625 1 1.1427 1 167.94616497735893 259.90244305785416 0 0 0 0 +7662 1 1.1392 1 155.0492048729939 245.34203164740603 0 0 0 0 +7670 1 1.1387 1 163.67819512406763 238.5641624936229 0 0 0 0 +8935 1 1.0559 1 148.13536631846273 252.76955325212404 0 0 0 0 +2305 1 2.0885 1 151.34950233206294 243.13983085143815 0 0 0 0 +4443 1 1.5071 1 194.0787284691779 206.91725955972169 0 0 0 0 +7732 1 1.1341 1 169.25555950026296 246.84251860344463 0 0 0 0 +7740 1 1.1333 1 174.03075608649243 234.7383966798652 0 0 0 0 +7759 1 1.1315 1 156.73991883747567 255.86163124401466 0 0 0 0 +7764 1 1.1313 1 153.97176686909 211.72103423435345 0 0 0 0 +7780 1 1.1304 1 183.38252966040673 223.32641485532767 0 0 0 0 +7164 1 1.1808 1 152.2597629644896 261.6413398636006 0 0 0 0 +7815 1 1.1279 1 167.82484117583328 238.84522532980418 0 0 0 0 +7817 1 1.1278 1 175.36193811234617 240.12254273031544 0 0 0 0 +7855 1 1.1247 1 148.71965386219793 239.7771853094843 0 0 0 0 +7862 1 1.1236 1 174.3254849188952 235.80816827455308 0 0 0 0 +7873 1 1.1231 1 179.69719874192063 245.7868169179082 0 0 0 0 +1580 1 2.5075 1 183.72153333717708 265.5154155264963 0 0 0 0 +7908 1 1.1204 1 175.0569926455722 226.05072301194983 0 0 0 0 +7912 1 1.12 1 183.6783100826144 261.6142688737128 0 0 0 0 +7937 1 1.1188 1 162.0566103075893 254.98986746176826 0 0 0 0 +7945 1 1.1185 1 164.56793914232753 217.3031647163544 0 0 0 0 +7951 1 1.1177 1 162.05928910968635 208.15326137425225 0 0 0 0 +7972 1 1.1164 1 166.07233701790653 213.8486195546406 0 0 0 0 +7977 1 1.1161 1 159.05710596053743 241.94404656604488 0 0 0 0 +7986 1 1.1153 1 174.3461585468378 240.59516993055996 0 0 0 0 +7999 1 1.1144 1 160.9764950748287 205.92231837843917 0 0 0 0 +8044 1 1.1116 1 159.5035863415475 219.9279800592235 0 0 0 0 +8493 1 1.0813 1 144.80435401772644 257.4186174797645 0 0 0 0 +8084 1 1.1084 1 157.18906701732013 245.98788492419268 0 0 0 0 +8106 1 1.1072 1 163.86515077616176 216.4853191607041 0 0 0 0 +6202 1 1.2714 1 151.11215741554494 262.0421819616887 0 0 0 0 +8150 1 1.1047 1 163.04326268680612 256.73768768425066 0 0 0 0 +8173 1 1.1028 1 191.8274292209943 215.46919799231324 0 0 0 0 +8298 1 1.0948 1 162.10278663589048 244.7596656350777 0 0 0 0 +2786 1 1.9 1 146.0992161649899 247.82708338389986 0 0 0 0 +8343 1 1.091 1 150.31479263205966 247.37016597829975 0 0 0 0 +8361 1 1.0898 1 170.15279334409024 209.85306062590254 0 0 0 0 +4071 1 1.571 1 182.2128331486696 262.9477460858961 0 0 0 0 +8401 1 1.0876 1 178.45506822210572 248.10234099129588 0 0 0 0 +8403 1 1.0875 1 170.37047009019008 221.82615908738856 0 0 0 0 +8469 1 1.0831 1 159.39185400843763 245.03085902148214 0 0 0 0 +8489 1 1.0816 1 173.72429576292197 243.54733062718512 0 0 0 0 +8505 1 1.0807 1 157.6564995979366 230.56765361711552 0 0 0 0 +8518 1 1.0799 1 186.9467267474883 213.35049970009746 0 0 0 0 +8543 1 1.0785 1 158.71477790697028 220.61685688692506 0 0 0 0 +8549 1 1.0781 1 165.5567359995204 258.6015394909175 0 0 0 0 +3772 1 1.635 1 186.25512806506072 265.2302274316889 0 0 0 0 +8600 1 1.075 1 153.68625290207322 216.2011109211633 0 0 0 0 +8481 1 1.0822 1 152.82167005096662 262.5404260498143 0 0 0 0 +8628 1 1.0731 1 169.786102277421 205.3593437336882 0 0 0 0 +8641 1 1.0727 1 171.90671686187605 204.8620485303993 0 0 0 0 +8647 1 1.0724 1 147.91902805110345 240.51518015977098 0 0 0 0 +8667 1 1.0714 1 160.0357253481801 217.74025184956216 0 0 0 0 +8673 1 1.0712 1 179.980407622754 226.78073730530718 0 0 0 0 +8820 1 1.0619 1 187.34253809003488 264.4708831747424 0 0 0 0 +8697 1 1.07 1 184.15096048814658 222.61088865926132 0 0 0 0 +8710 1 1.0694 1 160.16271229458772 232.66315955974153 0 0 0 0 +8716 1 1.069 1 180.9199410565489 252.3230075168027 0 0 0 0 +8727 1 1.0682 1 178.54447947907235 255.6021488040961 0 0 0 0 +8749 1 1.0671 1 188.6345601422924 264.2871950256231 0 0 0 0 +8807 1 1.0629 1 170.48245146942222 244.03926891843045 0 0 0 0 +6274 1 1.2627 1 145.65378017951005 249.32042637783985 0 0 0 0 +5914 1 1.3034 1 144.87077948302561 250.3156516123477 0 0 0 0 +8843 1 1.0606 1 179.3363772994583 232.8204242203864 0 0 0 0 +8849 1 1.0603 1 149.38685887255158 247.87293749139343 0 0 0 0 +8855 1 1.0598 1 161.9086290635232 256.03972255744384 0 0 0 0 +8876 1 1.0587 1 154.7417770156582 222.7123119302029 0 0 0 0 +8898 1 1.0574 1 156.70019457076828 208.54211374507892 0 0 0 0 +8916 1 1.0569 1 181.16980926799081 243.81547313704223 0 0 0 0 +8934 1 1.0559 1 165.6603009340998 262.302821700423 0 0 0 0 +8998 1 1.0527 1 155.02110498643086 221.7568507972897 0 0 0 0 +8999 1 1.0526 1 158.01402466504715 241.7725954100902 0 0 0 0 +9049 1 1.05 1 153.45682474450285 219.02531954089537 0 0 0 0 +9065 1 1.049 1 154.4957208997179 219.06503181616833 0 0 0 0 +9087 1 1.0477 1 172.2256968194279 258.2400198950975 0 0 0 0 +9092 1 1.0474 1 163.74072943608815 213.525451494521 0 0 0 0 +9098 1 1.0471 1 181.85598511888162 227.21593386959023 0 0 0 0 +9111 1 1.0468 1 187.27720525577746 217.46995699208728 0 0 0 0 +9122 1 1.0461 1 189.73011893319938 218.93833663749805 0 0 0 0 +9151 1 1.0446 1 172.016405875705 223.3168167679046 0 0 0 0 +7076 1 1.1879 1 199.76844805127487 206.64915771730614 0 0 0 0 +9217 1 1.041 1 181.75570413684264 237.2198815028252 0 0 0 0 +9261 1 1.0388 1 170.8235769631729 225.90113176388633 0 0 0 0 +9265 1 1.0386 1 179.23412187019798 247.39441113357282 0 0 0 0 +9293 1 1.0369 1 180.68204998727433 224.7162356690428 0 0 0 0 +9364 1 1.0328 1 158.85873843777154 240.93187574003656 0 0 0 0 +4612 1 1.479 1 180.6455571906988 264.99237786008837 0 0 0 0 +2291 1 2.098 1 160.60344179917584 204.3900080846709 0 0 0 0 +9433 1 1.0291 1 162.83216116853373 255.70713149679972 0 0 0 0 +9436 1 1.0289 1 188.23855945419186 209.0130990036418 0 0 0 0 +1092 1 3.0288 1 146.85827896597806 251.08267622049146 0 0 0 0 +9455 1 1.0279 1 156.20988285056674 205.83453575108868 0 0 0 0 +9484 1 1.0267 1 165.1658118307329 232.43530987754588 0 0 0 0 +9488 1 1.0265 1 152.64311022699707 250.9528383396954 0 0 0 0 +9931 1 1.0039 1 168.39796460838622 208.75394809480838 0 0 0 0 +9526 1 1.0245 1 174.54400054305637 254.45596405478938 0 0 0 0 +9532 1 1.0241 1 161.29084452946722 242.35976811024665 0 0 0 0 +9585 1 1.0215 1 156.12036231832545 211.0771135941292 0 0 0 0 +6345 1 1.2575 1 147.53501159157338 241.78071182780047 0 0 0 0 +9608 1 1.0203 1 152.11102157095485 227.0084506151666 0 0 0 0 +9649 1 1.0179 1 168.8386068752586 259.29704016620946 0 0 0 0 +9657 1 1.0177 1 185.95487616034416 226.97860043605772 0 0 0 0 +9661 1 1.0174 1 164.6497177016854 262.47125037264937 0 0 0 0 +9667 1 1.0172 1 179.62781728511598 252.71950024772306 0 0 0 0 +2737 1 1.9152 1 142.88955204739196 254.59620303163652 0 0 0 0 +3906 1 1.6063 1 149.201836599796 260.60821625815703 0 0 0 0 +4229 1 1.546 1 142.28118782113742 252.25193145432368 0 0 0 0 +8407 1 1.0872 1 148.68921840853514 250.21224574321454 0 0 0 0 +9757 1 1.0125 1 185.52916747999592 256.376761727649 0 0 0 0 +9760 1 1.0121 1 168.892770471264 260.3031099060626 0 0 0 0 +5725 1 1.3234 1 199.24649893715923 205.5440664560371 0 0 0 0 +9796 1 1.0099 1 187.56688145498697 261.97473973273947 0 0 0 0 +9837 1 1.0083 1 178.0296922376639 225.1470443471822 0 0 0 0 +9846 1 1.0078 1 157.87447416048227 246.72960287418576 0 0 0 0 +9853 1 1.0072 1 170.27187174933994 247.11318112896737 0 0 0 0 +9883 1 1.0057 1 165.44475043864725 209.62562513250776 0 0 0 0 +9303 1 1.0361 1 177.64099299552453 267.37133302004486 0 0 0 0 +51 1 12.9437 1 159.94051174929078 296.35314938441866 0 0 0 0 +57 1 12.5828 1 163.78205394984238 276.50320607302837 0 0 0 0 +6456 1 1.2471 1 184.91107422565824 285.604634919803 0 0 0 0 +2586 1 1.976 1 166.72619704426847 269.24603344392375 0 0 0 0 +9735 1 1.0133 1 188.34155569262006 281.7552381165535 0 0 0 0 +115 1 9.1551 1 152.7280787130565 284.5923680781021 0 0 0 0 +8846 1 1.0605 1 146.08021616310148 279.06963552989646 0 0 0 0 +228 1 6.3393 1 193.64715424612604 285.3825138373263 0 0 0 0 +8658 1 1.0718 1 165.82010923145484 304.931642890665 0 0 0 0 +237 1 6.3017 1 176.2268446278817 301.1854688047568 0 0 0 0 +8918 1 1.0565 1 186.81708036571075 312.11164124960874 0 0 0 0 +242 1 6.2708 1 173.45727898425588 294.5088294464735 0 0 0 0 +281 1 5.9042 1 145.29343955224545 283.5398773078904 0 0 0 0 +6824 1 1.2102 1 181.2123594747383 287.17620071981696 0 0 0 0 +6118 1 1.2817 1 141.37390819566295 313.56358910866953 0 0 0 0 +304 1 5.7099 1 148.98568962248825 308.58561556773464 0 0 0 0 +327 1 5.4976 1 191.05786740664877 280.02587271849933 0 0 0 0 +330 1 5.4686 1 177.4647048656907 281.0989063006615 0 0 0 0 +351 1 5.3297 1 149.90689067190812 296.91098229719705 0 0 0 0 +1812 1 2.3493 1 141.66517782935784 308.533652493784 0 0 0 0 +405 1 4.9123 1 183.47541170266962 304.34548274245094 0 0 0 0 +422 1 4.8009 1 186.0475573040059 309.2005958708569 0 0 0 0 +427 1 4.7727 1 188.9256415127926 288.1708163669718 0 0 0 0 +430 1 4.7556 1 155.43955423194961 278.35749555991674 0 0 0 0 +446 1 4.6634 1 147.56606368403578 301.23174850553534 0 0 0 0 +447 1 4.6632 1 194.92175295169145 320.73778569528497 0 0 0 0 +2563 1 1.9844 1 195.97177016336002 325.1345404735805 0 0 -1 0 +475 1 4.5238 1 183.63108954304073 291.92396623062865 0 0 0 0 +8032 1 1.1127 1 145.4473520689194 303.1462443940855 0 0 0 0 +525 1 4.2833 1 151.58679265758326 291.06953481326616 0 0 0 0 +8411 1 1.0871 1 179.25187795523425 296.8822971120967 0 0 0 0 +594 1 4.0385 1 198.6387360532309 280.01457138223736 0 0 0 0 +1293 1 2.7982 1 176.89729677292763 290.1703144775359 0 0 0 0 +692 1 3.801 1 181.58816420341228 300.4362831481997 0 0 0 0 +710 1 3.7648 1 144.4739135998611 298.2653949411138 0 0 0 0 +3968 1 1.593 1 201.7167796809566 324.5230349122692 0 0 -1 0 +774 1 3.6405 1 184.43718800402632 295.8035663491302 0 0 0 0 +783 1 3.6196 1 151.40432423609465 302.7401855728889 0 0 0 0 +815 1 3.5499 1 143.686918323975 313.0512374103452 0 0 0 0 +822 1 3.5377 1 200.3224340310902 283.4562241202496 0 0 0 0 +3712 1 1.6447 1 171.52807811140408 278.6641312765951 0 0 0 0 +9032 1 1.0511 1 196.13384860713649 327.8418704993611 0 0 0 0 +860 1 3.4418 1 162.24973594873765 304.1743988973656 0 0 0 0 +862 1 3.4402 1 171.03409902238081 290.37971623875825 0 0 0 0 +901 1 3.3554 1 172.61914198208734 304.2236495635678 0 0 0 0 +9965 1 1.0023 1 170.75455666247365 305.16981383377066 0 0 0 0 +944 1 3.257 1 156.84434211297125 303.740103066067 0 0 0 0 +957 1 3.239 1 148.5445006528091 273.7975310763839 0 0 0 0 +971 1 3.2165 1 163.07488730257555 284.3119713911881 0 0 0 0 +1488 1 2.5907 1 176.1192435578962 284.86693786203676 0 0 0 0 +3939 1 1.6002 1 168.77090088536053 289.27418722747655 0 0 0 0 +1029 1 3.1314 1 181.36428026341284 297.01896524310183 0 0 0 0 +1048 1 3.0915 1 153.58644551833706 275.08698499647534 0 0 0 0 +1074 1 3.0587 1 167.35187011254783 292.35679430446794 0 0 0 0 +9018 1 1.0518 1 173.5580842898961 285.6361392853693 0 0 0 0 +4360 1 1.5212 1 144.75543983144047 304.24158480343885 0 0 0 0 +5732 1 1.3227 1 180.02354608651572 287.4700368092947 0 0 0 0 +1120 1 2.9881 1 187.23862557246173 297.36184812070235 0 0 0 0 +1161 1 2.9432 1 148.75110737907022 293.08812625562865 0 0 0 0 +819 1 3.5434 1 145.49282409723955 276.89441042859534 0 0 0 0 +4233 1 1.5451 1 178.77203834653452 286.79436317501603 0 0 0 0 +1224 1 2.8815 1 195.22718990819942 279.9087024147231 0 0 0 0 +1229 1 2.8784 1 181.21186662229064 289.18726072314996 0 0 0 0 +1234 1 2.8731 1 179.60995074885528 304.2149111358036 0 0 0 0 +1258 1 2.8442 1 170.67627640829352 299.74821424203986 0 0 0 0 +1305 1 2.788 1 193.05623994001417 276.40187281522185 0 0 0 0 +5149 1 1.3965 1 139.37049055110117 276.96442841910147 0 0 0 0 +1357 1 2.7314 1 181.30710645136475 307.51760135269035 0 0 0 0 +1358 1 2.7308 1 186.98701089064775 280.5248838129196 0 0 0 0 +4009 1 1.5814 1 156.64400735453745 274.47488699014315 0 0 0 0 +1440 1 2.6337 1 150.09809150441075 278.5518196998983 0 0 0 0 +9104 1 1.0469 1 193.81889075749092 318.16584352862986 0 0 0 0 +1472 1 2.6031 1 179.77986422921063 292.8454899750129 0 0 0 0 +1474 1 2.6009 1 197.41030120535817 283.0855603878669 0 0 0 0 +7124 1 1.1838 1 174.27772195859475 281.878359194257 0 0 0 0 +5599 1 1.3374 1 198.7362271834789 326.198396594741 0 0 -1 0 +1495 1 2.5815 1 170.36838726137523 302.37124023817694 0 0 0 0 +8662 1 1.0717 1 147.02226112251407 275.241045083269 0 0 0 0 +7919 1 1.1196 1 198.37196657269453 330.61102452432425 0 0 -1 0 +2668 1 1.9419 1 148.17000804966307 277.3588679337482 0 0 0 0 +1633 1 2.4639 1 188.1365774435897 284.66302613545594 0 0 0 0 +1642 1 2.457 1 174.37954362707723 288.56302595831977 0 0 0 0 +1709 1 2.416 1 162.75280210465593 289.2598927905351 0 0 0 0 +1744 1 2.3879 1 183.18189568298143 285.0737672041655 0 0 0 0 +1763 1 2.3754 1 164.76765276380175 290.4067242041389 0 0 0 0 +9150 1 1.0446 1 160.17939565102677 303.32317427792367 0 0 0 0 +1832 1 2.3394 1 141.07231200719946 316.5776111119974 0 0 0 0 +1837 1 2.3366 1 175.88261573763617 305.4736567415152 0 0 0 0 +1864 1 2.3229 1 188.73512337625647 313.1792512276834 0 0 0 0 +4276 1 1.5372 1 194.0325571167805 278.1989459193154 0 0 0 0 +2067 1 2.1989 1 185.25204849340216 282.2152045499429 0 0 0 0 +268 1 6.0229 1 170.77645595665462 282.49847607285875 0 0 0 0 +1909 1 2.2942 1 177.94483530093177 295.7803143601566 0 0 0 0 +1922 1 2.2877 1 166.42657830912265 288.82306249859414 0 0 0 0 +8769 1 1.0651 1 165.27102714175422 303.289292429786 0 0 0 0 +1947 1 2.2706 1 160.5914995762836 283.1485957975605 0 0 0 0 +7161 1 1.1809 1 143.97398186521957 305.28914152294624 0 0 0 0 +3093 1 1.7998 1 174.675623084008 286.4753824511028 0 0 0 0 +1453 1 2.6195 1 151.3085998395748 272.0598122818889 0 0 0 0 +9028 1 1.0513 1 167.89453216586702 284.54863362403233 0 0 0 0 +2065 1 2.2005 1 178.77714154836534 288.6341686127227 0 0 0 0 +2073 1 2.197 1 168.3456418481125 301.16138891994416 0 0 0 0 +2074 1 2.1967 1 166.10188002374014 286.63729642135627 0 0 0 0 +2096 1 2.1853 1 166.27859183932983 284.4695419348525 0 0 0 0 +2100 1 2.1838 1 183.89827120385712 298.59500559646574 0 0 0 0 +2955 1 1.8459 1 197.10826154553806 331.4231297373777 0 0 -1 0 +2153 1 2.1556 1 144.5970578565464 279.5845114292247 0 0 0 0 +2206 1 2.1342 1 151.81004694470164 300.0085300306302 0 0 0 0 +5822 1 1.3121 1 174.1112226897542 280.6538449295336 0 0 0 0 +8794 1 1.0637 1 158.9969854005654 283.57317281287885 0 0 0 0 +8792 1 1.0638 1 146.662501309873 310.99103198899644 0 0 0 0 +2302 1 2.0917 1 179.38662918355982 298.5739376247291 0 0 0 0 +2309 1 2.0852 1 167.31671335540975 297.61798817511766 0 0 0 0 +2322 1 2.0793 1 161.31128171841928 287.65793500968175 0 0 0 0 +2349 1 2.0688 1 145.45396711693056 305.89416559424086 0 0 0 0 +4813 1 1.4467 1 201.10040969491965 281.17618854120445 0 0 0 0 +2389 1 2.0526 1 185.93991601071028 289.69251865481846 0 0 0 0 +2398 1 2.0491 1 155.98711458742727 289.03393211620636 0 0 0 0 +2414 1 2.0441 1 152.33750437386595 306.82326367809935 0 0 0 0 +2435 1 2.0327 1 168.77590604381808 294.4209751363642 0 0 0 0 +2437 1 2.032 1 169.7938915742742 292.73512172675424 0 0 0 0 +2442 1 2.0295 1 166.7092830407978 303.70320785969756 0 0 0 0 +2444 1 2.0289 1 185.6055375810623 287.7115479095636 0 0 0 0 +2447 1 2.0283 1 191.2650295361501 290.5930971940945 0 0 0 0 +8583 1 1.0763 1 186.5867633369563 278.72796137579365 0 0 0 0 +2461 1 2.0247 1 157.88456548240018 282.5595458829401 0 0 0 0 +2462 1 2.0242 1 155.37345225230422 307.0188473461373 0 0 0 0 +9773 1 1.0113 1 164.37936757042723 303.7249165518168 0 0 0 0 +940 1 3.264 1 180.59968827949092 284.0439259488262 0 0 0 0 +2555 1 1.988 1 164.48678367031124 287.9411903820972 0 0 0 0 +2566 1 1.9837 1 179.26877135551743 290.63424733284006 0 0 0 0 +2569 1 1.9825 1 149.01831126858443 280.5208357823495 0 0 0 0 +2591 1 1.9714 1 169.54464368649397 304.43844779703306 0 0 0 0 +191 1 6.9532 1 201.9307619734016 328.7186247585409 0 0 -1 0 +6165 1 1.2759 1 177.76355409088407 285.85779915814766 0 0 0 0 +8473 1 1.0828 1 159.00921992892572 303.32801094725323 0 0 0 0 +1438 1 2.6364 1 197.20280418729766 329.24313036134737 0 0 -1 0 +6819 1 1.2105 1 181.5068122048186 286.0346506241278 0 0 0 0 +3842 1 1.6189 1 149.35562800921107 271.57899221011326 0 0 0 0 +1891 1 2.3053 1 200.20092819609684 323.4012782849518 0 0 0 0 +2782 1 1.9009 1 186.9502792258872 292.3323071786773 0 0 0 0 +8938 1 1.0558 1 179.15216320441255 294.6258996239859 0 0 0 0 +2833 1 1.8845 1 143.07243110752836 317.1199952521421 0 0 0 0 +2872 1 1.8702 1 170.30266010137385 297.4400781550534 0 0 0 0 +2892 1 1.8643 1 164.16537495201104 302.3584349338792 0 0 0 0 +2758 1 1.9086 1 145.32344385773033 307.8477622449247 0 0 0 0 +2918 1 1.8578 1 147.56941521970901 312.0863420163653 0 0 0 0 +9523 1 1.0246 1 152.15894791029177 273.6462404419242 0 0 0 0 +2954 1 1.8467 1 158.19904075515564 305.95123522500944 0 0 0 0 +542 1 4.2335 1 171.81951309719724 267.705940761109 0 0 0 0 +3087 1 1.8028 1 150.88246648403808 268.6337788261887 0 0 0 0 +7704 1 1.136 1 155.67256174214356 275.42239798066544 0 0 0 0 +5172 1 1.3921 1 197.21376236635678 326.22062592378046 0 0 -1 0 +3065 1 1.8085 1 146.39439756581365 304.2194694210027 0 0 0 0 +3070 1 1.8073 1 176.4276245739812 297.1595499325068 0 0 0 0 +3073 1 1.8065 1 186.8945046603414 305.1751249516447 0 0 0 0 +3111 1 1.7942 1 159.36338776671406 286.1228514520357 0 0 0 0 +3121 1 1.7879 1 192.57797698955392 318.59984120973974 0 0 0 0 +4495 1 1.4981 1 175.46020901639403 276.21629095280144 0 0 0 0 +2666 1 1.9424 1 173.13942332522268 279.36745103475414 0 0 0 0 +3135 1 1.783 1 174.606041584137 283.304072166525 0 0 0 0 +7469 1 1.1555 1 168.64160601289308 285.36038669232295 0 0 0 0 +3235 1 1.7559 1 152.23311574804632 278.2413405160809 0 0 0 0 +9168 1 1.0436 1 175.12342536984494 297.72230592764873 0 0 0 0 +3254 1 1.7522 1 151.47125728820825 276.6995983987987 0 0 0 0 +3265 1 1.7491 1 177.71010908358747 306.3848098790867 0 0 0 0 +3275 1 1.7461 1 196.70412032346167 323.28312556838966 0 0 0 0 +4465 1 1.5031 1 143.95648245976759 308.79921661227036 0 0 0 0 +3297 1 1.7411 1 173.39804191658263 298.42592601434194 0 0 0 0 +3308 1 1.7382 1 184.95916713771803 284.1323294961134 0 0 0 0 +3324 1 1.7339 1 197.90147214885633 321.4783938546678 0 0 0 0 +3349 1 1.7282 1 154.2830784090069 289.7924410634165 0 0 0 0 +8244 1 1.0984 1 153.0615838516976 269.29010414219124 0 0 0 0 +2474 1 2.0188 1 175.72613115144375 277.8907976195649 0 0 0 0 +3393 1 1.7171 1 188.00724575348687 293.7909111122422 0 0 0 0 +3044 1 1.8138 1 144.00897516887844 310.42844542321296 0 0 0 0 +3411 1 1.7122 1 152.98884499724792 298.5390794145042 0 0 0 0 +3465 1 1.7002 1 150.2039973262606 275.56437560028917 0 0 0 0 +3507 1 1.6927 1 188.55509705217167 295.4010155827089 0 0 0 0 +3508 1 1.6924 1 146.1596311687343 295.041804431554 0 0 0 0 +3548 1 1.6826 1 195.65842409653584 282.02409021537164 0 0 0 0 +3551 1 1.6815 1 190.00308182146634 283.7899482635498 0 0 0 0 +3573 1 1.6752 1 143.0123580830145 280.5855574880567 0 0 0 0 +3576 1 1.675 1 160.76384835130773 285.05604420816064 0 0 0 0 +3612 1 1.6687 1 178.21417400553494 284.52470862598267 0 0 0 0 +451 1 4.647 1 161.43746188433113 268.3604322435109 0 0 0 0 +3646 1 1.6631 1 158.4516260579016 287.8957739480127 0 0 0 0 +3649 1 1.6623 1 183.39333117096808 307.574672400228 0 0 0 0 +3657 1 1.6609 1 180.48604963472116 294.82991200664884 0 0 0 0 +3662 1 1.6579 1 186.89962614282004 303.4731744011885 0 0 0 0 +3670 1 1.6556 1 146.86582017369184 280.1199761754272 0 0 0 0 +2297 1 2.0945 1 173.90028741952023 277.0114219522409 0 0 0 0 +3687 1 1.6518 1 153.66674886441623 300.04120393825167 0 0 0 0 +3732 1 1.6425 1 152.92241452696751 293.6890342527376 0 0 0 0 +3751 1 1.6394 1 168.39649343493622 303.06391902408603 0 0 0 0 +3770 1 1.6358 1 150.94580351496495 274.119019668646 0 0 0 0 +9312 1 1.0356 1 147.7016884450369 281.1212905263003 0 0 0 0 +3778 1 1.6344 1 186.9535987904513 295.0835305806585 0 0 0 0 +3797 1 1.63 1 168.31479054848754 296.12549748596496 0 0 0 0 +7699 1 1.1365 1 169.2499080603813 268.3689371414463 0 0 0 0 +2810 1 1.891 1 174.63881712416227 290.66669398432856 0 0 0 0 +3826 1 1.6216 1 162.99343094619718 286.9005550133008 0 0 0 0 +9727 1 1.014 1 147.74219971407393 275.9634372626063 0 0 0 0 +3857 1 1.6164 1 152.6322967363505 308.58602666263596 0 0 0 0 +3862 1 1.6153 1 186.70656906300266 299.55818900654583 0 0 0 0 +6060 1 1.2873 1 198.99669001832035 331.547903958782 0 0 -1 0 +3884 1 1.6109 1 172.38509650961774 288.2956397444399 0 0 0 0 +2282 1 2.1022 1 181.2676158957168 267.77521696669925 0 0 0 0 +3901 1 1.6071 1 157.7403651880418 286.43442522131915 0 0 0 0 +3915 1 1.6044 1 154.61137738064892 301.3034446092147 0 0 0 0 +3919 1 1.6032 1 186.49301418329966 283.5888462191129 0 0 0 0 +3943 1 1.5987 1 186.0462667327394 293.78042865937806 0 0 0 0 +3956 1 1.5945 1 179.22291955962316 307.03879313543973 0 0 0 0 +3965 1 1.5931 1 166.9901081220437 294.6460090971047 0 0 0 0 +4011 1 1.5813 1 155.00259768766944 305.2795572882252 0 0 0 0 +1653 1 2.4518 1 143.39426312759275 306.93537645612395 0 0 0 0 +4044 1 1.5752 1 157.8716313975419 289.39661869370497 0 0 0 0 +4045 1 1.5752 1 189.7404591242165 314.7604948762752 0 0 0 0 +3291 1 1.7425 1 194.12787210825533 274.45932823832936 0 0 0 0 +6014 1 1.2928 1 159.38377236369521 281.86324339877365 0 0 0 0 +4076 1 1.5705 1 172.3541655222643 301.81733451582045 0 0 0 0 +4113 1 1.564 1 184.13748933238517 286.75974860662626 0 0 0 0 +4141 1 1.56 1 172.30958502271164 285.906903850082 0 0 0 0 +4148 1 1.5585 1 189.59403372615512 293.412422548965 0 0 0 0 +4149 1 1.5585 1 145.43613593475914 311.2635426164388 0 0 0 0 +4808 1 1.4472 1 201.33360639364273 279.81226967598127 0 0 0 0 +9733 1 1.0136 1 139.21923732344436 305.34868425900663 0 0 0 0 +4187 1 1.5517 1 185.04414857656107 301.3049716063992 0 0 0 0 +5968 1 1.2979 1 181.77338715118407 276.4396066580545 0 0 0 0 +6299 1 1.2608 1 196.35024759053178 276.2878750346228 0 0 0 0 +4257 1 1.5411 1 151.94539140611036 305.16850509649777 0 0 0 0 +4263 1 1.5393 1 169.83419436266342 295.829118839411 0 0 0 0 +7318 1 1.1687 1 149.58746821155248 276.7900911638625 0 0 0 0 +8760 1 1.0659 1 182.87534410987598 288.1866241346625 0 0 0 0 +4283 1 1.536 1 141.88306222923399 314.84138758777783 0 0 0 0 +4290 1 1.5347 1 154.69012307291615 291.3593777340615 0 0 0 0 +4362 1 1.521 1 159.97878356097186 305.5939294945185 0 0 0 0 +4379 1 1.5186 1 159.39539105102932 289.15444540537027 0 0 0 0 +4402 1 1.5148 1 177.59285473318283 304.7977289145734 0 0 0 0 +6471 1 1.2458 1 167.4963305125116 285.64462672550513 0 0 0 0 +4493 1 1.4986 1 144.8628557018707 315.1783793012305 0 0 0 0 +4368 1 1.5202 1 199.7450454364193 325.19334893491686 0 0 -1 0 +4496 1 1.498 1 143.2289091497518 315.48513370202284 0 0 0 0 +4500 1 1.4971 1 187.08604030806018 301.91102115334115 0 0 0 0 +4531 1 1.4928 1 195.0904548312787 275.73829480071896 0 0 0 0 +4535 1 1.4918 1 171.86461814611366 297.9962078924192 0 0 0 0 +2595 1 1.9703 1 196.52817737731277 277.89067980194 0 0 0 0 +3242 1 1.7546 1 150.2902362084538 270.22036721480634 0 0 0 0 +4803 1 1.4483 1 146.0492807593412 274.4728221516541 0 0 0 0 +4661 1 1.4705 1 198.39433765862933 322.9304620303872 0 0 0 0 +4672 1 1.4687 1 177.94090759037533 297.6412573449569 0 0 0 0 +4692 1 1.4658 1 158.37679766498078 280.94428606435315 0 0 0 0 +4731 1 1.4593 1 182.09581221999858 294.87752759913167 0 0 0 0 +4769 1 1.4531 1 147.99369983906803 304.2083467990801 0 0 0 0 +4854 1 1.4407 1 164.58315879181868 304.87341477641337 0 0 0 0 +9990 1 1.0006 1 146.87396870535014 296.1309251693787 0 0 0 0 +9805 1 1.0097 1 191.4685630811595 317.3571270577978 0 0 0 0 +4906 1 1.4312 1 188.79849154258773 282.84848845442764 0 0 0 0 +4931 1 1.4285 1 173.19691123234492 287.0526172464715 0 0 0 0 +4946 1 1.426 1 187.29284121240326 290.752270858992 0 0 0 0 +1091 1 3.0306 1 182.6058728132942 279.46004912141785 0 0 0 0 +4987 1 1.4219 1 189.73967399014353 291.3802723146927 0 0 0 0 +9227 1 1.0407 1 156.85009328620492 290.1944177458421 0 0 0 0 +9410 1 1.0301 1 179.08242325096035 285.553038256225 0 0 0 0 +5037 1 1.4154 1 167.95978687708555 304.76424613379197 0 0 0 0 +5050 1 1.4135 1 160.84123869423595 289.2842997962113 0 0 0 0 +5060 1 1.4115 1 191.0090419054447 315.35961179990045 0 0 0 0 +5066 1 1.4103 1 149.0193506571077 289.1348055922828 0 0 0 0 +8511 1 1.0801 1 184.4480792476964 289.2529357388829 0 0 0 0 +2456 1 2.0259 1 185.0841209154672 279.0145159118349 0 0 0 0 +4211 1 1.5477 1 195.12257084863228 323.71491675071917 0 0 -1 0 +5158 1 1.3942 1 153.92081419385505 292.5784145997375 0 0 0 0 +5169 1 1.3925 1 165.9065760270164 302.26053587255893 0 0 0 0 +5188 1 1.3901 1 195.03102593345528 277.158206991311 0 0 0 0 +5217 1 1.3871 1 147.13741442920988 305.59644498907824 0 0 0 0 +5237 1 1.3838 1 156.96913980836013 287.67911342023467 0 0 0 0 +9746 1 1.013 1 142.97222907267292 309.51745619155525 0 0 0 0 +5294 1 1.3767 1 147.805069291317 286.1397747319655 0 0 0 0 +5315 1 1.3737 1 142.36446980466036 318.5499501135988 0 0 0 0 +5331 1 1.372 1 165.1873992268213 301.14485256114733 0 0 0 0 +5354 1 1.369 1 153.6065630023659 305.70450146016077 0 0 0 0 +5379 1 1.3666 1 158.9585253848628 304.57409597203076 0 0 0 0 +5389 1 1.3654 1 199.31626904927364 321.90059945709464 0 0 0 0 +5459 1 1.3551 1 147.18754653307442 278.65508140403125 0 0 0 0 +9970 1 1.0021 1 146.04807143815023 310.1635286881253 0 0 0 0 +8718 1 1.0688 1 140.37552674413863 282.9874570421974 0 0 0 0 +5516 1 1.3491 1 185.85494284147362 302.4369638496658 0 0 0 0 +5535 1 1.3465 1 153.18849421971024 304.4344265516703 0 0 0 0 +5542 1 1.3453 1 193.01868756224619 289.1633669872986 0 0 0 0 +5562 1 1.3432 1 187.4555285422371 282.50271593132845 0 0 0 0 +5585 1 1.339 1 189.87132278748118 285.2924608503141 0 0 0 0 +5592 1 1.3383 1 166.5078779524109 299.0663429890372 0 0 0 0 +834 1 3.4982 1 170.13371778888236 287.1279572685927 0 0 0 0 +5626 1 1.3342 1 154.42928423104266 303.959232669248 0 0 0 0 +6444 1 1.2479 1 144.98516999676124 295.853985236517 0 0 0 0 +5653 1 1.3321 1 177.8876422906647 293.03580034960925 0 0 0 0 +1996 1 2.2439 1 198.00631087291873 324.65946140319494 0 0 -1 0 +5674 1 1.3295 1 150.54464627742956 305.437135624218 0 0 0 0 +9300 1 1.0366 1 173.20262342126372 289.844280949918 0 0 0 0 +5686 1 1.3278 1 184.09564831914298 300.29163044008754 0 0 0 0 +5689 1 1.3275 1 180.8123745129394 291.2167252809586 0 0 0 0 +5828 1 1.3116 1 192.58812071539015 317.16120284139777 0 0 0 0 +5848 1 1.3101 1 166.60970736174346 301.1466453690137 0 0 0 0 +5894 1 1.3052 1 154.81165202733715 302.71986890432674 0 0 0 0 +9499 1 1.026 1 174.5989812365908 279.5915745604599 0 0 0 0 +5927 1 1.302 1 146.74248850306182 286.7883073778271 0 0 0 0 +1883 1 2.3117 1 141.94272373607313 310.78123902551255 0 0 0 0 +5983 1 1.2964 1 185.32232035985018 299.9111188424876 0 0 0 0 +5989 1 1.2959 1 150.7852220908847 293.72907036223677 0 0 0 0 +9748 1 1.0129 1 151.76504649798534 294.3396350053033 0 0 0 0 +6024 1 1.2921 1 152.6492721137005 295.0886634974517 0 0 0 0 +6086 1 1.2846 1 188.8069937589259 311.50895713753044 0 0 0 0 +6087 1 1.2846 1 184.0317244940351 288.1607496781091 0 0 0 0 +6106 1 1.2829 1 180.04671750758726 286.20473208718295 0 0 0 0 +8592 1 1.0757 1 168.85354642006894 297.3407613063683 0 0 0 0 +8781 1 1.0644 1 152.86554355107242 277.00875429617207 0 0 0 0 +7364 1 1.1644 1 183.33427790006658 289.1507531965944 0 0 0 0 +6313 1 1.26 1 167.99420056924885 288.08277643995973 0 0 0 0 +9782 1 1.0108 1 160.69711046346742 286.33270673784887 0 0 0 0 +6167 1 1.2756 1 168.71529082387096 290.6985656011366 0 0 0 0 +9697 1 1.0156 1 187.0409764283584 285.9892276945703 0 0 0 0 +6219 1 1.2685 1 141.10170026446977 312.34231555738006 0 0 0 0 +6222 1 1.2684 1 167.79526611433445 286.8486654541405 0 0 0 0 +6794 1 1.2129 1 202.6401564767284 283.9091040435347 0 0 0 0 +7748 1 1.1326 1 198.64477342035008 277.4324366683021 0 0 0 0 +6250 1 1.2651 1 145.9143945618443 313.99287242326307 0 0 0 0 +6255 1 1.2645 1 141.7692628294135 319.69193009792656 0 0 0 0 +6263 1 1.2636 1 161.79538022028348 286.09703547926426 0 0 0 0 +3385 1 1.7188 1 180.31717508526805 278.93238738816393 0 0 0 0 +6289 1 1.2617 1 165.05411965395768 283.2864354697792 0 0 0 0 +6290 1 1.2616 1 146.11011723952595 312.64153838667085 0 0 0 0 +6296 1 1.261 1 178.13653856680682 291.77475323382856 0 0 0 0 +6317 1 1.2594 1 146.96755533773893 298.356591432134 0 0 0 0 +6319 1 1.2594 1 181.4359416391886 293.74156059034726 0 0 0 0 +6344 1 1.2576 1 149.36494703448236 304.92193030951523 0 0 0 0 +6362 1 1.2557 1 169.09781776962188 298.46042193251503 0 0 0 0 +6512 1 1.242 1 173.7719409132421 284.53593629586817 0 0 0 0 +6454 1 1.2472 1 159.38097949530294 284.62804292749007 0 0 0 0 +6463 1 1.2465 1 185.59357719644564 298.67217379982486 0 0 0 0 +6467 1 1.2462 1 191.84671242324652 288.7053501034725 0 0 0 0 +6493 1 1.2438 1 176.95172638126158 292.15902715007803 0 0 0 0 +6500 1 1.2433 1 179.83472535830612 302.1977568599626 0 0 0 0 +6511 1 1.242 1 149.202248583184 303.6882175522589 0 0 0 0 +6534 1 1.2391 1 186.205175625734 284.97659534256894 0 0 0 0 +8617 1 1.0738 1 157.8720354039597 279.8384278494398 0 0 0 0 +6554 1 1.2372 1 167.6007460038104 290.13173771067756 0 0 0 0 +4956 1 1.4251 1 143.2000568969435 304.3120028175312 0 0 0 0 +4254 1 1.5419 1 197.97110686381808 327.3789574585889 0 0 -1 0 +6606 1 1.2311 1 184.76433965238155 280.5865856246016 0 0 0 0 +5493 1 1.3517 1 196.00000011165113 326.7250582731043 0 0 -1 0 +6738 1 1.2191 1 141.088950425822 318.3507145108069 0 0 0 0 +9396 1 1.0309 1 153.04129538190364 297.1972627028829 0 0 0 0 +8626 1 1.0732 1 170.42591881336662 277.91305299314064 0 0 0 0 +6765 1 1.2165 1 185.8499759869156 306.2336219767523 0 0 0 0 +7992 1 1.115 1 201.70207558098818 322.67582299775523 0 0 0 0 +2472 1 2.0207 1 182.96926870367665 282.9321201829535 0 0 0 0 +6812 1 1.2108 1 164.9189102996546 285.4621236432515 0 0 0 0 +6161 1 1.2761 1 180.69975007635 280.34400256833425 0 0 0 0 +6877 1 1.2042 1 156.31279394602353 305.80544019536774 0 0 0 0 +6892 1 1.2028 1 153.94361181494935 308.0887528542202 0 0 0 0 +3815 1 1.6249 1 181.05303241719147 281.6988231445609 0 0 0 0 +9411 1 1.0301 1 144.21826230353108 316.24450127613403 0 0 0 0 +6946 1 1.1984 1 151.66982980049175 279.57697017561156 0 0 0 0 +6955 1 1.1981 1 170.16867414579994 278.9900500839249 0 0 0 0 +7001 1 1.1941 1 155.82334719989876 290.62690800852147 0 0 0 0 +4066 1 1.5718 1 167.01090887866064 282.76987349514565 0 0 0 0 +7014 1 1.1928 1 165.90658534821574 300.1291413383502 0 0 0 0 +6814 1 1.2108 1 144.69059302923492 300.7395343430482 0 0 0 0 +2893 1 1.864 1 153.28612537624616 272.7812435917897 0 0 0 0 +7030 1 1.1913 1 146.67203175399712 297.1811949888165 0 0 0 0 +7040 1 1.1904 1 156.9517745723995 306.7723929594279 0 0 0 0 +7057 1 1.1893 1 185.9730704305423 286.1644687970479 0 0 0 0 +7075 1 1.188 1 147.5286090872763 294.7184942421807 0 0 0 0 +8954 1 1.055 1 179.61543518615022 295.870707640668 0 0 0 0 +7081 1 1.1877 1 156.94133427983414 275.81146996930886 0 0 0 0 +8910 1 1.057 1 151.5444121637361 275.30934226161804 0 0 0 0 +8989 1 1.0532 1 152.78781235579316 279.51093933974784 0 0 0 0 +7171 1 1.1805 1 188.44931075334432 291.32536895677134 0 0 0 0 +7182 1 1.1796 1 182.72026740390828 308.8870765393387 0 0 0 0 +8541 1 1.0786 1 172.60928038019458 299.5336756090446 0 0 0 0 +9701 1 1.0152 1 183.77614784801975 301.41041540624514 0 0 0 0 +7222 1 1.1764 1 180.79849641736863 305.7337602888162 0 0 0 0 +9434 1 1.0291 1 148.309356640396 305.34741684776674 0 0 0 0 +7249 1 1.174 1 153.85780771308436 306.93538302626405 0 0 0 0 +7290 1 1.1716 1 187.38847752214144 306.5607980455061 0 0 0 0 +7315 1 1.1691 1 180.91267566941198 302.75925253801637 0 0 0 0 +7567 1 1.1466 1 148.81347774994754 275.9564979707435 0 0 0 0 +7338 1 1.1676 1 188.60349281562398 292.48219140343747 0 0 0 0 +9249 1 1.0394 1 143.97946624634582 295.37184687760686 0 0 0 0 +9584 1 1.0215 1 178.2351151579609 294.1518981148554 0 0 0 0 +9067 1 1.0489 1 172.64283451296194 277.93217037647753 0 0 0 0 +7445 1 1.1572 1 158.25986698159107 285.16176111495884 0 0 0 0 +3768 1 1.6364 1 182.57465663016413 286.93368498972086 0 0 0 0 +1378 1 2.7057 1 176.66797579169918 287.4547922291334 0 0 0 0 +7506 1 1.1519 1 166.95403399994103 296.0130084892297 0 0 0 0 +7525 1 1.1508 1 177.1571556859039 294.26586476486875 0 0 0 0 +7547 1 1.1486 1 165.37080017417117 291.99286172106036 0 0 0 0 +7620 1 1.1429 1 198.27331323565576 284.7585789943296 0 0 0 0 +7645 1 1.1407 1 174.35624298000397 278.53966999287803 0 0 0 0 +7649 1 1.1404 1 148.31628689998345 279.1411901298759 0 0 0 0 +7650 1 1.1403 1 197.39555811925572 285.7443484036753 0 0 0 0 +8447 1 1.0845 1 148.3823407622397 281.9153086842516 0 0 0 0 +9563 1 1.0222 1 160.07242231851146 304.33204906463754 0 0 0 0 +7700 1 1.1363 1 147.98864774024963 287.4498197970812 0 0 0 0 +8325 1 1.0925 1 190.82756974749418 316.5370389643785 0 0 0 0 +7745 1 1.1332 1 174.23295896379716 305.68602301674593 0 0 0 0 +7823 1 1.1273 1 194.04276611164696 281.54869505341514 0 0 0 0 +7824 1 1.1272 1 191.85005912281923 316.2621634264058 0 0 0 0 +7831 1 1.1271 1 157.8394744826988 284.1179339710453 0 0 0 0 +7856 1 1.1247 1 167.72301538694677 299.15547195580035 0 0 0 0 +6099 1 1.2831 1 145.18937935830647 309.43007244787634 0 0 0 0 +7922 1 1.1195 1 186.2974955192147 300.8609553421132 0 0 0 0 +9088 1 1.0476 1 152.98036739706887 296.178566188296 0 0 0 0 +4615 1 1.4789 1 156.86353174899008 281.13049265061426 0 0 0 0 +7947 1 1.1183 1 182.38595958040497 281.49811523047646 0 0 0 0 +8806 1 1.0629 1 172.44741725017667 300.5490078882537 0 0 0 0 +6115 1 1.2822 1 143.51873522109904 278.2519270241387 0 0 0 0 +8002 1 1.1143 1 164.26500685516407 286.4118698858333 0 0 0 0 +9397 1 1.0309 1 173.20291098343304 290.8744364556264 0 0 0 0 +8090 1 1.1081 1 166.48910965124927 290.4949627391633 0 0 0 0 +8100 1 1.1074 1 168.73260511718757 299.5721633855288 0 0 0 0 +8115 1 1.1067 1 190.46811410852706 292.4091324076473 0 0 0 0 +8149 1 1.1048 1 188.5501483392734 310.4525051486142 0 0 0 0 +8161 1 1.1038 1 159.75351351223347 287.50398266392585 0 0 0 0 +9405 1 1.0303 1 176.7957765704671 293.2531983659832 0 0 0 0 +4537 1 1.4913 1 183.6731935008101 281.3771693555259 0 0 0 0 +8214 1 1.1005 1 187.3881843889041 300.6839400027942 0 0 0 0 +8928 1 1.0562 1 155.7456108926456 301.9297467504146 0 0 0 0 +6446 1 1.2478 1 143.83844184261773 275.1967020876161 0 0 0 0 +8268 1 1.0968 1 175.85305386028222 291.7658573776988 0 0 0 0 +4990 1 1.4218 1 197.63940058069664 276.6479124817814 0 0 0 0 +8275 1 1.0966 1 167.13054541430273 300.0819893827487 0 0 0 0 +7205 1 1.1777 1 196.23568514244516 275.0771120430966 0 0 0 0 +8204 1 1.1012 1 178.32536227079007 269.8171278600241 0 0 0 0 +8729 1 1.0681 1 181.22109996615512 277.73755338172623 0 0 0 0 +125 1 8.6209 1 143.7119929091326 290.5721378882398 0 0 0 0 +9647 1 1.0181 1 152.98992150197057 271.4108970827942 0 0 0 0 +9308 1 1.0357 1 183.9504521283848 278.00333330278096 0 0 0 0 +1081 1 3.0415 1 171.52464367730042 276.2201286706263 0 0 0 0 +1582 1 2.5066 1 143.808326715538 302.48259838959075 0 0 0 0 +6238 1 1.2664 1 169.37138920308547 272.4544042729469 0 0 0 0 +4420 1 1.5114 1 143.35610764051964 300.5943041280495 0 0 0 0 +7227 1 1.1759 1 152.79667418393572 270.37273775081593 0 0 0 0 +378 1 5.0749 1 178.67104126948607 276.0208616890378 0 0 0 0 +507 1 4.337 1 174.16000944937952 273.7026368029965 0 0 0 0 +5655 1 1.332 1 182.673926924289 277.34539231901294 0 0 0 0 +2140 1 2.16 1 141.18774121429172 306.3971600725577 0 0 0 0 +2743 1 1.9137 1 139.4006075229311 287.5760608055779 0 0 0 0 +8694 1 1.0703 1 195.50804924467448 274.22336309658994 0 0 0 0 +7038 1 1.1905 1 167.39018881515338 270.66317834671145 0 0 0 0 +2540 1 1.9931 1 170.56594566506718 273.91668514872595 0 0 0 0 +5115 1 1.4004 1 143.0910281034183 276.58971657544885 0 0 0 0 +5239 1 1.3834 1 180.37328943899178 273.4248696756822 0 0 0 0 +1448 1 2.6234 1 142.27278471992568 295.9691177718004 0 0 0 0 +4192 1 1.5506 1 142.44848779502004 279.15672612254303 0 0 0 0 +4975 1 1.4235 1 142.1722174267068 301.41210408820695 0 0 0 0 +4550 1 1.4892 1 142.25273007882328 277.69909415762174 0 0 0 0 +6900 1 1.202 1 140.3385732477959 311.3872896301629 0 0 0 0 +7708 1 1.1357 1 139.41674733936955 316.91271365819335 0 0 0 0 +6571 1 1.2354 1 142.16830949608683 281.69866960107777 0 0 0 0 +5543 1 1.3452 1 164.36068199426924 268.8412982552619 0 0 0 0 +5627 1 1.334 1 142.5731320836605 275.38735883135945 0 0 0 0 +5484 1 1.3525 1 141.64981310313263 297.82374291084324 0 0 0 0 +4311 1 1.5309 1 171.55187372803772 272.5000224329659 0 0 0 0 +4491 1 1.499 1 168.52457758453176 271.3659862203018 0 0 0 0 +9472 1 1.0272 1 194.72418398848097 273.24541739647725 0 0 0 0 +2480 1 2.0171 1 139.9635318375766 309.85255424114047 0 0 0 0 +4052 1 1.5742 1 141.3869714559524 280.548041300971 0 0 0 0 +7446 1 1.1572 1 151.8964889265571 269.6742803859762 0 0 0 0 +5124 1 1.3991 1 141.6994406102265 276.3865935349469 0 0 0 0 +2154 1 2.1554 1 139.57768116317422 307.82097681008446 0 0 0 0 +7454 1 1.1566 1 177.36290840970025 271.947981597892 0 0 0 0 +4264 1 1.5391 1 177.02191036654312 273.20521876680107 0 0 0 0 +2724 1 1.9219 1 202.9976932065442 323.3983128885371 0 0 -1 0 +1116 1 2.9962 1 179.3955152655923 271.558658288187 0 0 0 0 +1895 1 2.3028 1 141.77830108201806 299.6164911396077 0 0 0 0 +6784 1 1.2145 1 193.6289105920033 273.09581101472565 0 0 0 0 +4175 1 1.5535 1 141.65003780670503 282.9320124238183 0 0 0 0 +3223 1 1.7592 1 176.03259896345256 271.34742575164 0 0 0 0 +8585 1 1.0762 1 140.59650656236462 276.86659345847676 0 0 0 0 +5889 1 1.306 1 170.41759175927876 271.7460227466974 0 0 0 0 +5241 1 1.3831 1 168.02008343373038 268.1811133339601 0 0 0 0 +6011 1 1.2934 1 169.71317570751924 270.7123036420325 0 0 0 0 +6214 1 1.27 1 165.22881111742197 269.77006823866816 0 0 0 0 +9557 1 1.0227 1 141.05628571376332 281.8005475948026 0 0 0 0 +9983 1 1.0011 1 139.64480718316756 306.24766032397144 0 0 0 0 +7981 1 1.1157 1 172.06901017448874 271.31327641374384 0 0 0 0 +5015 1 1.4184 1 177.45477041853178 270.70593780608954 0 0 0 0 +2971 1 1.8412 1 140.1325730230604 275.55713688504045 0 0 0 0 +8281 1 1.0962 1 193.6304131833937 271.9645036270409 0 0 0 0 +713 1 3.7604 1 140.7750283988733 303.54362433658764 0 0 0 0 +1397 1 2.6833 1 140.43661096761684 278.6614553396508 0 0 0 0 +9569 1 1.0221 1 173.09082820440221 271.2721460624233 0 0 0 0 +235 1 6.3107 1 156.5319457341564 270.547002767535 0 0 0 0 +61 1 12.294 1 186.97227876162106 272.12108203638576 0 0 0 0 +835 1 3.4964 1 140.9596639800788 285.3027755754538 0 0 0 0 +2735 1 1.9167 1 174.3548051190974 270.60677518932135 0 0 0 0 +9208 1 1.0414 1 179.36345380966654 269.5697899640889 0 0 0 0 +5612 1 1.3357 1 180.59057557357718 269.76477728372174 0 0 0 0 +4020 1 1.5795 1 171.07819403935068 270.4690427722594 0 0 0 0 +8269 1 1.0968 1 172.64676811761382 270.2458309501285 0 0 0 0 +994 1 3.1874 1 176.18747999394293 268.8990861940252 0 0 0 0 +2796 1 1.8943 1 168.5712354502429 269.68918779417083 0 0 0 0 +9752 1 1.0128 1 170.01938354169891 269.6051589582042 0 0 0 0 +6763 1 1.217 1 139.42422822652708 283.5727240526559 0 0 0 0 +7707 1 1.1358 1 174.0620364122995 269.12529668308053 0 0 0 0 +7695 1 1.1369 1 179.98747948603932 268.7002629505434 0 0 0 0 +3130 1 1.7845 1 178.58391645364603 268.4126222324784 0 0 0 0 +3885 1 1.6104 1 202.67037986994976 282.5313697634093 0 0 0 0 +3801 1 1.6286 1 202.58665372153024 280.9345613736418 0 0 0 0 +754 1 3.6793 1 138.78867743540863 281.2492144479594 0 0 0 0 +1479 1 2.595 1 152.64649427036295 267.5180843707769 0 0 0 0 +5161 1 1.3936 1 138.83525142782804 289.5514899299566 0 0 0 0 +7962 1 1.117 1 203.1108950871067 62.13195140182265 0 0 0 0 +78 1 10.2827 1 207.56474477149558 52.01036632590571 0 0 0 0 +87 1 10.0111 1 264.4965500947412 43.30827104489087 0 0 0 0 +91 1 9.7917 1 221.2342302186595 30.164662794916552 0 0 0 0 +98 1 9.6304 1 222.95668307631868 45.5499570102364 0 0 0 0 +129 1 8.4725 1 245.01910844524724 33.897728660832136 0 0 0 0 +154 1 7.5546 1 236.3213727855486 38.719158443295264 0 0 0 0 +157 1 7.5236 1 245.3445724958437 45.943426745846175 0 0 0 0 +175 1 7.2823 1 225.4371029185806 22.819904895900386 0 0 0 0 +3611 1 1.6688 1 235.90807106309634 16.54463551211032 0 0 0 0 +192 1 6.9495 1 232.21395981314706 47.63687090479122 0 0 0 0 +200 1 6.8647 1 229.69685401783136 32.18674352306858 0 0 0 0 +221 1 6.4716 1 218.39721056392216 37.63925077249971 0 0 0 0 +9429 1 1.0293 1 256.72787022708434 23.64405195519232 0 0 0 0 +259 1 6.1367 1 219.58049789221502 56.24385698918714 0 0 0 0 +265 1 6.06 1 255.03732874675185 37.23450289751804 0 0 0 0 +305 1 5.7095 1 237.9038037443188 21.942663833922175 0 0 0 0 +314 1 5.6024 1 216.30467553614764 49.00525276357468 0 0 0 0 +315 1 5.5997 1 222.18074605475275 63.742781712679665 0 0 0 0 +316 1 5.5712 1 240.33956114839893 49.95248067067265 0 0 0 0 +9233 1 1.0404 1 216.5047281825147 60.02231025202356 0 0 0 0 +328 1 5.4818 1 242.54775416012532 40.25401323634054 0 0 0 0 +345 1 5.3624 1 231.62606623128576 24.19481464603624 0 0 0 0 +365 1 5.1878 1 213.96694744467186 56.15914968573551 0 0 0 0 +395 1 4.9575 1 212.58432337839238 34.261709344650114 0 0 0 0 +504 1 4.3574 1 257.5240729894773 48.239259017144356 0 0 0 0 +556 1 4.1867 1 257.445306484337 44.094347547633184 0 0 0 0 +568 1 4.1356 1 212.89445891572134 20.97263726868254 0 0 0 0 +256 1 6.1627 1 232.39708025644993 11.73407578319812 0 0 0 0 +582 1 4.0846 1 232.2148025368509 17.58987609045711 0 0 0 0 +583 1 4.081 1 218.21397762996608 17.813427608441444 0 0 0 0 +586 1 4.0717 1 216.37032224132193 25.263589718099567 0 0 0 0 +598 1 4.0263 1 240.93573801907633 25.595664381824847 0 0 0 0 +599 1 4.0233 1 230.77889703350007 37.38576231183609 0 0 0 0 +613 1 3.9811 1 249.35288767700874 40.37013308019837 0 0 0 0 +7478 1 1.1545 1 262.82332068094644 30.43904515386641 0 0 0 0 +4457 1 1.5047 1 207.30025312468268 19.643715921062043 0 0 0 0 +660 1 3.8658 1 229.1861304068188 43.36284933494181 0 0 0 0 +662 1 3.8583 1 218.37542373241087 21.854981769259386 0 0 0 0 +672 1 3.8381 1 236.91212641546286 45.092713364023304 0 0 0 0 +680 1 3.8253 1 250.83842619573454 43.8642864578726 0 0 0 0 +705 1 3.7756 1 214.18901177660453 43.637639928409115 0 0 0 0 +746 1 3.6921 1 221.77872814441187 51.986204813771 0 0 0 0 +1540 1 2.5364 1 204.13573798116644 66.25722942878473 0 0 0 0 +782 1 3.6199 1 210.6014905175121 27.177084186863453 0 0 0 0 +4312 1 1.5307 1 210.09198353893458 16.562608819784327 0 0 0 0 +843 1 3.4713 1 227.63825165168146 58.83153788764746 0 0 0 0 +882 1 3.3846 1 225.99739489162522 55.92664922228679 0 0 0 0 +775 1 3.6388 1 238.35078061724894 15.741631398225392 0 0 1 0 +900 1 3.3582 1 227.44034180281378 15.396509904880743 0 0 0 0 +907 1 3.347 1 248.74934947758976 49.96274952259417 0 0 0 0 +518 1 4.3107 1 252.96171823849343 19.678687708638904 0 0 0 0 +931 1 3.2941 1 253.84228326635503 42.04069907970744 0 0 0 0 +933 1 3.2892 1 242.7841481556827 28.594986133622633 0 0 0 0 +7561 1 1.147 1 250.44793626573002 18.785729660878026 0 0 0 0 +943 1 3.2572 1 234.1868045957266 27.623719019216896 0 0 0 0 +954 1 3.2429 1 208.53318313802384 45.37774912360709 0 0 0 0 +6302 1 1.2608 1 210.05312763103606 15.166805567996928 0 0 0 0 +966 1 3.223 1 225.56748381293033 34.9332680007619 0 0 0 0 +1004 1 3.1748 1 214.62589401881914 17.78499285212965 0 0 0 0 +1094 1 3.0239 1 227.81559464734673 39.304029766100975 0 0 0 0 +1106 1 3.0109 1 218.4403354891124 61.749634980975195 0 0 0 0 +1109 1 3.0046 1 245.11692387698255 23.336342379849228 0 0 0 0 +1124 1 2.9853 1 233.1311271983109 52.39611038213821 0 0 0 0 +1154 1 2.9494 1 246.31686239829392 19.78512959385176 0 0 0 0 +1175 1 2.9306 1 250.2662020898611 37.15107129684844 0 0 0 0 +1207 1 2.8995 1 232.9353307070839 55.2187303351349 0 0 0 0 +1211 1 2.8964 1 239.42954421527492 42.936661050923846 0 0 0 0 +3137 1 1.7829 1 245.05647542247615 25.717636215116634 0 0 0 0 +1251 1 2.8491 1 227.93000359148618 52.01368515833143 0 0 0 0 +1007 1 3.1662 1 266.8792587511178 28.542579177536695 0 0 0 0 +2552 1 1.989 1 203.9361824138237 47.210267010161544 0 0 0 0 +1299 1 2.7943 1 236.8059796039435 26.00391314334182 0 0 0 0 +4696 1 1.4653 1 216.36751264521806 62.49253775349524 0 0 0 0 +1325 1 2.7618 1 227.75669509558477 49.30018923406453 0 0 0 0 +1330 1 2.7557 1 243.43359510505184 20.79625112966383 0 0 0 0 +9847 1 1.0077 1 238.42175393314446 18.04046592133246 0 0 1 0 +1359 1 2.7307 1 212.662171884198 30.52041955093674 0 0 0 0 +1363 1 2.7258 1 223.63836558166105 57.77851296491544 0 0 0 0 +979 1 3.2094 1 227.75867600638912 10.022663555900904 0 0 1 0 +1388 1 2.6975 1 215.04887656111498 40.615838703186625 0 0 0 0 +1406 1 2.6738 1 229.03579272774988 19.402387570698256 0 0 0 0 +1407 1 2.6733 1 213.6734805491387 60.003208890748176 0 0 0 0 +1437 1 2.637 1 209.55867203692526 42.69488453815315 0 0 0 0 +7834 1 1.1269 1 248.62270132727159 29.69328208474191 0 0 0 0 +1451 1 2.6201 1 210.20064376983152 22.929275389467296 0 0 0 0 +1463 1 2.6072 1 234.3371369441891 31.480090278489897 0 0 0 0 +1497 1 2.58 1 238.87802062528687 30.055802771912923 0 0 0 0 +1502 1 2.5756 1 213.70172287679043 27.351772519723184 0 0 0 0 +1508 1 2.57 1 236.8855245502535 28.590240330403063 0 0 0 0 +1515 1 2.5616 1 226.78082832344813 18.229100815746143 0 0 0 0 +1517 1 2.5599 1 230.28340141683643 40.50267757754367 0 0 0 0 +1553 1 2.5315 1 212.35687193797528 37.97454593031655 0 0 0 0 +1626 1 2.4708 1 263.44051945719866 49.301521144324006 0 0 0 0 +1643 1 2.4568 1 209.55134402180946 38.726926029894 0 0 0 0 +105 1 9.501 1 214.79067392808855 70.32649731304058 0 0 0 0 +1708 1 2.4165 1 221.27119996006095 16.897248208606943 0 0 0 0 +1721 1 2.4102 1 234.87837562793695 19.32949048353879 0 0 0 0 +1743 1 2.3881 1 207.7751284746501 23.25696584043015 0 0 0 0 +1754 1 2.3837 1 222.19892066823996 39.717466306301084 0 0 0 0 +1773 1 2.3714 1 208.65700113958434 21.01486845806747 0 0 0 0 +1781 1 2.3669 1 237.5566094347416 52.758424042503286 0 0 0 0 +1790 1 2.3618 1 240.93095174884152 19.2977272214467 0 0 0 0 +1818 1 2.3461 1 219.32367011534976 66.52167600192439 0 0 0 0 +1843 1 2.3328 1 211.19007142896578 44.550399293931775 0 0 0 0 +1851 1 2.3299 1 259.6714953607357 39.51855643686048 0 0 0 0 +3831 1 1.6206 1 226.45837215599914 11.9644306282713 0 0 1 0 +1884 1 2.3108 1 231.47523985677535 27.994886856731476 0 0 0 0 +1889 1 2.306 1 244.0077636823795 16.29145450928171 0 0 0 0 +1917 1 2.2888 1 256.36646246908765 41.114003947442654 0 0 0 0 +1937 1 2.2787 1 229.79884385773326 53.63825777974209 0 0 0 0 +1629 1 2.468 1 258.87906874316417 35.43005292140554 0 0 0 0 +1998 1 2.243 1 215.02507176148703 15.157035855328832 0 0 0 0 +2005 1 2.2362 1 236.62220319048677 54.811916878690006 0 0 0 0 +2012 1 2.2311 1 215.3677507445192 52.761517857935715 0 0 0 0 +2035 1 2.2197 1 234.08027551552098 21.45206888011766 0 0 0 0 +2112 1 2.1759 1 226.93701596052352 61.47771618244122 0 0 0 0 +2119 1 2.1709 1 213.58877351257692 23.950616719484774 0 0 0 0 +2123 1 2.1682 1 250.25965625505657 33.93050318970568 0 0 0 0 +2129 1 2.1649 1 236.58868588287308 50.75896873306889 0 0 0 0 +2172 1 2.1481 1 205.4693158367794 43.39532371530423 0 0 0 0 +2173 1 2.148 1 215.63074303818522 32.467175120214094 0 0 0 0 +2186 1 2.1445 1 223.33692261768388 54.565965014010246 0 0 0 0 +2194 1 2.1407 1 242.61128481448915 23.062772290395113 0 0 0 0 +2210 1 2.1325 1 212.5107340640509 48.30495622635748 0 0 0 0 +2225 1 2.1252 1 254.35105813993297 48.73196524553188 0 0 0 0 +1283 1 2.8067 1 236.62235358392823 13.05211892205928 0 0 0 0 +2277 1 2.1042 1 224.54499595400037 52.5833552583836 0 0 0 0 +2339 1 2.0725 1 249.82682989091262 47.56648763417984 0 0 0 0 +2362 1 2.0615 1 236.58283224618953 30.858602930175035 0 0 0 0 +2404 1 2.0463 1 240.61738168062323 45.832164870604316 0 0 0 0 +2428 1 2.0366 1 212.77036027606601 40.99769235160237 0 0 0 0 +2432 1 2.0342 1 218.50677928497464 64.51247718370013 0 0 0 0 +3420 1 1.7113 1 246.7066950912862 14.442372991094471 0 0 1 0 +2454 1 2.0261 1 225.78725020791248 50.603788878690416 0 0 0 0 +2521 1 2.0042 1 222.59938652957047 37.63463769873338 0 0 0 0 +4937 1 1.4275 1 264.64560808633115 28.295879834847558 0 0 0 0 +2542 1 1.9916 1 244.07975389038052 18.54232553835464 0 0 0 0 +2554 1 1.988 1 231.36121141248594 58.17226466992127 0 0 0 0 +2559 1 1.9855 1 219.04902100131056 51.5267519291609 0 0 0 0 +2645 1 1.9509 1 252.22815550993116 34.48405996891903 0 0 0 0 +2663 1 1.9431 1 225.64643207697958 40.46079777828474 0 0 0 0 +2665 1 1.9424 1 242.37596936512563 17.61256907596253 0 0 0 0 +610 1 3.9881 1 209.94667970903976 9.971738656161294 0 0 0 0 +7930 1 1.1192 1 255.49003384849203 20.524091767198982 0 0 0 0 +2747 1 1.9119 1 215.77587122801663 28.14037601486603 0 0 0 0 +2793 1 1.895 1 213.4768874007314 46.56468296945167 0 0 0 0 +2822 1 1.8881 1 222.05088993483344 18.851568881677547 0 0 0 0 +2890 1 1.8645 1 208.80156233561706 18.921310640035294 0 0 0 0 +714 1 3.7603 1 258.1519310327922 32.484171295384016 0 0 0 0 +2953 1 1.8471 1 252.7145575917941 49.846426612456625 0 0 0 0 +1579 1 2.5081 1 260.9375334403991 36.771727010598994 0 0 0 0 +9276 1 1.0379 1 248.38455532047678 28.667598310475835 0 0 0 0 +2981 1 1.8388 1 262.8473034272947 37.66438124064743 0 0 0 0 +3021 1 1.8198 1 211.23507668329583 14.236112681322986 0 0 0 0 +3028 1 1.8185 1 260.4679971754898 47.56994184317955 0 0 0 0 +3051 1 1.8121 1 220.5012333574626 23.739444477768952 0 0 0 0 +3053 1 1.8117 1 217.9236940496641 42.92875430174855 0 0 0 0 +3054 1 1.8113 1 221.55847436110568 20.553716083427013 0 0 0 0 +3061 1 1.8095 1 229.6514910453425 27.04517191322001 0 0 0 0 +3080 1 1.8056 1 230.6307197117678 15.234115157626718 0 0 0 0 +3099 1 1.7973 1 215.32549610892733 22.590592793541845 0 0 0 0 +3112 1 1.7942 1 211.71379386160282 42.58886093194265 0 0 0 0 +3125 1 1.7861 1 243.61548325620896 51.9078161949087 0 0 0 0 +3165 1 1.776 1 250.93505991776965 17.45853748766874 0 0 0 0 +3198 1 1.7665 1 206.94762615847947 42.183701391388894 0 0 0 0 +3206 1 1.765 1 216.45138073775246 58.55932656371049 0 0 0 0 +3208 1 1.7646 1 249.11312479257475 31.013995684176596 0 0 0 0 +3231 1 1.7573 1 253.49157754184657 44.69105964116008 0 0 0 0 +3244 1 1.7542 1 248.06223157723807 37.90004160106433 0 0 0 0 +3249 1 1.753 1 235.34591268770907 14.933871227402024 0 0 0 0 +3260 1 1.7495 1 215.99032177540562 34.33663375935228 0 0 0 0 +3277 1 1.7458 1 233.38840404816236 35.1650300125648 0 0 0 0 +3304 1 1.7393 1 225.68122858375958 62.894360130104154 0 0 0 0 +3319 1 1.7355 1 211.34750343267356 39.78344908901015 0 0 0 0 +3342 1 1.7304 1 228.47786247143713 56.41485185814841 0 0 0 0 +3345 1 1.7301 1 219.00743225319317 41.58869552196331 0 0 0 0 +3346 1 1.7295 1 251.1111865442526 49.109025076301435 0 0 0 0 +3374 1 1.7231 1 215.79506691910348 20.9266934829131 0 0 0 0 +9051 1 1.05 1 207.75603679440775 71.78994381359631 0 0 0 0 +3380 1 1.7204 1 235.42863552593963 52.21763743275614 0 0 0 0 +3402 1 1.7145 1 242.0825983042778 15.820933158856844 0 0 0 0 +2077 1 2.1953 1 236.8415522835872 18.19251890914954 0 0 1 0 +3483 1 1.6973 1 247.25928316041356 29.38838375665193 0 0 0 0 +6236 1 1.2667 1 226.62545630570511 13.315414563482538 0 0 0 0 +3500 1 1.6936 1 226.82613839861628 29.11452276363542 0 0 0 0 +3510 1 1.6921 1 213.43331779866185 52.82923295515662 0 0 0 0 +3516 1 1.691 1 214.421155908413 29.30960639338929 0 0 0 0 +3524 1 1.6885 1 240.5333497325703 36.210943038888594 0 0 0 0 +3525 1 1.6885 1 229.6518236082436 21.397996163395664 0 0 0 0 +3533 1 1.6858 1 221.06461519606964 22.157143798404487 0 0 0 0 +3546 1 1.6832 1 252.51361769775377 46.094549803828706 0 0 0 0 +3559 1 1.6791 1 233.70908827471033 33.49803080748566 0 0 0 0 +8588 1 1.0761 1 220.51853204454932 67.70526400214978 0 0 0 0 +6694 1 1.2226 1 248.84976161986873 16.02476923261381 0 0 0 0 +4200 1 1.5497 1 210.93049985240637 65.98729324138807 0 0 0 0 +3708 1 1.6449 1 229.85484115251649 55.528800138794026 0 0 0 0 +3721 1 1.6439 1 226.20517135403628 53.44914193666939 0 0 0 0 +3401 1 1.7149 1 210.2890392206024 19.80851432349966 0 0 0 0 +3744 1 1.6406 1 228.57600265620533 25.80968733238832 0 0 0 0 +4512 1 1.495 1 241.9360073784034 10.368784917226218 0 0 1 0 +3333 1 1.7324 1 210.451859933649 12.704842458165615 0 0 0 0 +3794 1 1.6312 1 245.83225699694393 41.419834280834806 0 0 0 0 +1598 1 2.4953 1 203.80600703187315 63.79509203878388 0 0 0 0 +3812 1 1.6258 1 215.95318149207932 63.922577218337814 0 0 0 0 +3828 1 1.6208 1 217.7197529277347 59.60061990331619 0 0 0 0 +3835 1 1.6198 1 225.01590422242847 59.3926823070678 0 0 0 0 +3865 1 1.614 1 236.08390212925266 32.61372009159016 0 0 0 0 +3868 1 1.6134 1 211.2939372804959 24.684056153517485 0 0 0 0 +8791 1 1.0639 1 258.0960713997615 30.118574973125693 0 0 0 0 +3951 1 1.5962 1 251.66184678243437 38.91127318306162 0 0 0 0 +3952 1 1.5957 1 245.28774065791802 51.57610779935686 0 0 0 0 +3955 1 1.5947 1 224.23231083077334 36.90552017184509 0 0 0 0 +7116 1 1.1843 1 264.1888869910061 32.550176827901055 0 0 0 0 +3974 1 1.5911 1 233.13733109366459 43.51878365473337 0 0 0 0 +3975 1 1.591 1 232.2723620941113 40.77788639307927 0 0 0 0 +3977 1 1.5906 1 234.82381551244842 25.30681930555259 0 0 0 0 +3991 1 1.5885 1 216.43618365453943 42.19783439074265 0 0 0 0 +3994 1 1.5874 1 236.20606517812664 34.179038873068826 0 0 0 0 +4002 1 1.5833 1 207.65172756410857 25.19007298169032 0 0 0 0 +4019 1 1.5798 1 233.16752187117376 41.993493208087024 0 0 0 0 +2390 1 2.0523 1 252.62183164237376 16.589629828225874 0 0 0 0 +6392 1 1.2522 1 204.62983686158012 11.222769780562746 0 0 0 0 +4047 1 1.5748 1 209.99583809772164 40.66602145254684 0 0 0 0 +4054 1 1.5739 1 247.2698046874861 41.96292040242127 0 0 0 0 +5738 1 1.3219 1 215.99749027140936 13.746404875857028 0 0 0 0 +4060 1 1.573 1 240.22791384233898 53.46360827539019 0 0 0 0 +4065 1 1.5725 1 244.86459675277328 27.377438265465898 0 0 0 0 +4099 1 1.5665 1 241.47812728889744 21.6201276450243 0 0 0 0 +4118 1 1.5635 1 209.19918670164952 24.895282630488456 0 0 0 0 +6435 1 1.2486 1 251.95071035541713 13.522387277026654 0 0 1 0 +4132 1 1.561 1 243.59186321092685 24.959384687893156 0 0 0 0 +4140 1 1.5603 1 239.0792563184405 46.633951157273636 0 0 0 0 +4142 1 1.5599 1 203.80035023595448 56.558110228052506 0 0 0 0 +4188 1 1.5516 1 221.8778707109555 35.75163624256804 0 0 0 0 +4191 1 1.5507 1 250.30901095611458 32.1066620074036 0 0 0 0 +4209 1 1.5483 1 257.7574960077331 39.87099068408257 0 0 0 0 +4218 1 1.5469 1 233.7333269454372 15.256429974670915 0 0 0 0 +9641 1 1.0184 1 255.78227047845834 22.923067022058902 0 0 0 0 +1647 1 2.4548 1 206.08588380870384 64.74248725323581 0 0 0 0 +4302 1 1.5324 1 258.2158178314501 41.2818320278309 0 0 0 0 +4316 1 1.5297 1 220.11024162349474 19.81865299573662 0 0 0 0 +4324 1 1.528 1 217.07176508503693 15.210625520157777 0 0 0 0 +4331 1 1.5263 1 211.8014577160668 46.36461521942571 0 0 0 0 +4343 1 1.524 1 246.94672990339174 39.09020840594425 0 0 0 0 +4082 1 1.5694 1 262.7608435471741 26.47022533657565 0 0 0 0 +4433 1 1.5086 1 204.82384894735281 22.830817046430983 0 0 0 0 +4442 1 1.5073 1 231.5914848208191 42.167826982570766 0 0 0 0 +155 1 7.5388 1 205.75482193725006 15.424784357244366 0 0 0 0 +4446 1 1.5068 1 260.22861661556885 49.42668914899588 0 0 0 0 +4448 1 1.5066 1 227.6219765564666 54.13409744741994 0 0 0 0 +9723 1 1.0141 1 204.9515407158013 69.9222263003683 0 0 0 0 +4619 1 1.4785 1 229.598968954827 16.457963245626974 0 0 0 0 +8196 1 1.1018 1 247.7232640955951 15.345283594538895 0 0 1 0 +4632 1 1.4766 1 235.19350732503673 55.97814148266667 0 0 0 0 +4637 1 1.4757 1 235.2457201331257 29.706795665924695 0 0 0 0 +4679 1 1.4677 1 224.09267993343613 50.91512280194266 0 0 0 0 +4730 1 1.4594 1 214.0931183885958 38.84344703338912 0 0 0 0 +4740 1 1.4577 1 213.13861933386758 50.41233534099104 0 0 0 0 +4754 1 1.4558 1 236.28752718631836 48.140828699084615 0 0 0 0 +7138 1 1.1831 1 209.80201937691822 13.97501807559637 0 0 0 0 +3859 1 1.6162 1 253.29042468642004 33.127958817192074 0 0 0 0 +4802 1 1.4484 1 238.29852961524705 33.18276724805466 0 0 0 0 +4826 1 1.4452 1 224.9026102934609 17.67435660354202 0 0 0 0 +4829 1 1.4449 1 261.29838945975797 38.63975550606792 0 0 0 0 +4836 1 1.4438 1 210.24175822766102 36.3923170992771 0 0 0 0 +4846 1 1.4423 1 228.5583086119001 17.44367294315622 0 0 0 0 +4857 1 1.4403 1 228.12199557533359 37.159312896051325 0 0 0 0 +4858 1 1.4402 1 239.72790474865198 17.840771436863264 0 0 0 0 +4870 1 1.438 1 234.4868613219513 44.134899200594255 0 0 0 0 +8482 1 1.0822 1 205.03711284833696 68.91408382013918 0 0 0 0 +4903 1 1.432 1 242.03686306594827 52.87353827502062 0 0 0 0 +4909 1 1.4309 1 232.8738946846414 57.38106019640903 0 0 0 0 +4910 1 1.4307 1 212.5089560683693 25.548368320816532 0 0 0 0 +4915 1 1.4302 1 234.80283796813308 34.52726417931429 0 0 0 0 +4918 1 1.4299 1 243.6378528231988 26.431305832428475 0 0 0 0 +294 1 5.8086 1 209.51325773180213 59.678255509926686 0 0 0 0 +4928 1 1.4287 1 251.54117938627024 47.60989411661077 0 0 0 0 +4939 1 1.4272 1 225.65276499046865 37.32015173145895 0 0 0 0 +5022 1 1.4174 1 235.3756393810319 43.04405086715962 0 0 0 0 +5027 1 1.417 1 228.61011973285144 28.245213972191934 0 0 0 0 +738 1 3.7055 1 266.57019642327907 36.92232756811717 0 0 0 0 +5044 1 1.4141 1 207.57789283934878 63.539635857911726 0 0 0 0 +5056 1 1.4122 1 239.28130858188706 35.38273252543482 0 0 0 0 +5117 1 1.4004 1 252.7057297489719 48.27171556025124 0 0 0 0 +5137 1 1.398 1 231.92982041284716 20.878307867282732 0 0 0 0 +5143 1 1.3976 1 226.81303090955194 41.63566733822149 0 0 0 0 +5145 1 1.3972 1 252.6218235990609 40.046129252430354 0 0 0 0 +5154 1 1.3954 1 220.41763260112617 60.80803185146119 0 0 0 0 +5214 1 1.3873 1 212.4496807915142 18.337696191490974 0 0 0 0 +5236 1 1.384 1 230.9319452173763 19.976080369321824 0 0 0 0 +5254 1 1.3814 1 205.45681949391604 41.676576366118304 0 0 0 0 +5306 1 1.3747 1 226.22273881669682 27.73828864824239 0 0 0 0 +5324 1 1.3726 1 261.8119650143514 48.35455352552693 0 0 0 0 +5326 1 1.3723 1 208.5364979344122 64.43203782394004 0 0 0 0 +5342 1 1.3708 1 251.02383663035846 46.37673791991419 0 0 0 0 +5413 1 1.3617 1 233.02689882281095 20.104504148726225 0 0 0 0 +5444 1 1.3571 1 222.06645308052646 59.033220454785976 0 0 0 0 +5452 1 1.3556 1 205.83585352803556 58.16380971139263 0 0 0 0 +5474 1 1.3534 1 245.579726164992 38.741534757390156 0 0 0 0 +6931 1 1.1997 1 267.408286913445 48.05100904077361 0 0 0 0 +5335 1 1.3716 1 249.68596016450425 21.81324825346597 0 0 0 0 +5495 1 1.3516 1 226.86971113814596 36.74194587151739 0 0 0 0 +5496 1 1.3515 1 223.81899093892582 60.68839825208828 0 0 0 0 +5512 1 1.3496 1 253.53322210686594 47.20542924147979 0 0 0 0 +5514 1 1.3495 1 212.1905151081659 15.402425354363208 0 0 0 0 +5540 1 1.3457 1 251.808928137959 41.12524991079597 0 0 0 0 +1627 1 2.47 1 242.3175497746465 13.762508218380319 0 0 1 0 +5568 1 1.3418 1 212.47279285008744 61.545187566163825 0 0 0 0 +106 1 9.4974 1 253.50432428456412 27.631923630099045 0 0 0 0 +5665 1 1.3307 1 214.93044586187386 45.951585193831725 0 0 0 0 +7554 1 1.148 1 205.41648615765436 23.999506435797326 0 0 0 0 +5711 1 1.3248 1 225.7751804617233 38.66614692709358 0 0 0 0 +5716 1 1.3244 1 230.18502495473084 59.30555972244207 0 0 0 0 +5717 1 1.3243 1 207.40916714762935 40.71923218386104 0 0 0 0 +6915 1 1.2007 1 254.63027694680662 32.79572803692463 0 0 0 0 +4755 1 1.4557 1 225.50412756164536 13.986819750884422 0 0 0 0 +5741 1 1.3215 1 218.16656322230037 52.8665589909941 0 0 0 0 +5743 1 1.3215 1 217.4949803539854 45.7679189298822 0 0 0 0 +5817 1 1.3127 1 240.8674585386432 17.16612979629562 0 0 0 0 +5832 1 1.3113 1 210.70612156937167 47.203064897840285 0 0 0 0 +5834 1 1.3112 1 230.3809569741503 56.877179814863055 0 0 0 0 +9908 1 1.0047 1 205.4537880182569 60.110376287332265 0 0 0 0 +5850 1 1.3101 1 254.93511081281346 45.194426492503815 0 0 0 0 +5869 1 1.3085 1 221.80358738870925 60.3292306517975 0 0 0 0 +5885 1 1.3061 1 213.97421297901002 51.489272394907324 0 0 0 0 +3178 1 1.7714 1 223.30781794763064 17.580490385857793 0 0 1 0 +5980 1 1.2966 1 246.36519669007419 50.19702288990438 0 0 0 0 +5995 1 1.2952 1 234.1117155870303 56.817373452333136 0 0 0 0 +5999 1 1.2948 1 213.15001532768147 16.215074449159705 0 0 0 0 +6034 1 1.2912 1 224.64127406275747 39.24054290960004 0 0 0 0 +6050 1 1.2888 1 228.11606261319216 47.30949594108686 0 0 0 0 +1379 1 2.7048 1 262.6547975932452 28.538001678133178 0 0 0 0 +6097 1 1.2833 1 245.00466708706537 29.031226341361812 0 0 0 0 +6110 1 1.2827 1 240.91874516202037 31.334938953570802 0 0 0 0 +6111 1 1.2826 1 234.71337812026852 50.90205726638136 0 0 0 0 +6112 1 1.2826 1 231.17418814566173 51.57602543774526 0 0 0 0 +6126 1 1.2809 1 210.736706550545 30.885811675939046 0 0 0 0 +6127 1 1.2807 1 215.78424953808042 29.690559360952694 0 0 0 0 +6147 1 1.2788 1 208.66599643321595 40.5543193994565 0 0 0 0 +6184 1 1.2739 1 234.53091225406706 16.332717277046246 0 0 0 0 +6186 1 1.2736 1 234.89476075212698 54.66693224290191 0 0 0 0 +1237 1 2.8655 1 210.4933833096538 63.78824332771311 0 0 0 0 +6213 1 1.2701 1 231.7272486793134 43.548886156541535 0 0 0 0 +6215 1 1.27 1 207.94254062574808 39.58859482266867 0 0 0 0 +9971 1 1.0021 1 259.45837534902125 41.13669214028651 0 0 0 0 +4536 1 1.4914 1 207.82508350746346 65.63171295472199 0 0 0 0 +3718 1 1.6443 1 251.71932720644895 32.81333803067069 0 0 0 0 +6241 1 1.2662 1 216.50416043383026 54.237214231241325 0 0 0 0 +6270 1 1.2631 1 229.46480033418632 50.667460717370965 0 0 0 0 +6298 1 1.2608 1 231.52532936912456 53.76103876628477 0 0 0 0 +6331 1 1.2586 1 223.91787738784626 40.2359804963428 0 0 0 0 +1240 1 2.8611 1 214.19641671231435 62.63434183225882 0 0 0 0 +6349 1 1.2571 1 217.27612020783207 63.48664136942858 0 0 0 0 +7796 1 1.1291 1 205.43128502230164 63.09154702940492 0 0 0 0 +6367 1 1.2552 1 229.7900928955787 57.993095118168576 0 0 0 0 +6377 1 1.2541 1 238.57916960342055 31.905424899402476 0 0 0 0 +6388 1 1.2526 1 234.86463720459273 17.53159914721671 0 0 0 0 +6405 1 1.2511 1 245.8965366166079 39.99131801022619 0 0 0 0 +4947 1 1.4259 1 255.74245152337244 21.718164693425507 0 0 0 0 +6414 1 1.2504 1 223.40514625317167 35.15232385642463 0 0 0 0 +9379 1 1.032 1 241.04948350049372 23.08027553982002 0 0 0 0 +6437 1 1.2484 1 255.62797064155166 46.2223822307234 0 0 0 0 +6450 1 1.2476 1 206.52985071642902 46.34218933822117 0 0 0 0 +6469 1 1.2461 1 261.59094976021225 49.64144284487312 0 0 0 0 +6472 1 1.2458 1 213.3518459743668 14.978651665142312 0 0 0 0 +6475 1 1.2457 1 204.21217273340736 41.89907858831338 0 0 0 0 +6488 1 1.2446 1 218.83920898730835 24.297498292718483 0 0 0 0 +6513 1 1.2418 1 229.9520884797645 51.826338021259915 0 0 0 0 +6525 1 1.2406 1 211.19331899687248 41.24074576960737 0 0 0 0 +6588 1 1.2334 1 216.94975624982456 64.92717313158211 0 0 0 0 +1961 1 2.2642 1 262.5059869299382 32.494512523035866 0 0 0 0 +2224 1 2.1253 1 258.2074482114956 24.041924869192197 0 0 0 0 +6617 1 1.2306 1 240.2166216850305 33.629184692265675 0 0 0 0 +6620 1 1.2302 1 240.51879870758845 37.6370507520194 0 0 0 0 +6648 1 1.2271 1 241.74086856346457 43.47687080659902 0 0 0 0 +6668 1 1.2252 1 238.1470542372941 34.75530080970246 0 0 0 0 +9309 1 1.0357 1 205.87278594715585 69.50799578367301 0 0 0 0 +6701 1 1.2223 1 244.8641800876904 50.26288916915874 0 0 0 0 +6708 1 1.2214 1 221.6483696195857 24.69822386990714 0 0 0 0 +7835 1 1.1269 1 265.24502176212303 27.195098049945774 0 0 0 0 +6726 1 1.2198 1 246.68051542817327 51.37809911316851 0 0 0 0 +6741 1 1.2188 1 210.5598229961298 29.624233043739647 0 0 0 0 +6870 1 1.2048 1 213.78826160071935 25.54893993508333 0 0 0 0 +1167 1 2.9366 1 244.87766605028906 13.099450371943734 0 0 1 0 +6895 1 1.2028 1 227.0881688418086 26.715595392897093 0 0 0 0 +2269 1 2.1074 1 251.28779838597922 22.344817513847513 0 0 0 0 +6917 1 1.2005 1 216.6389284096886 43.63312402672228 0 0 0 0 +1413 1 2.6674 1 209.47880709613653 67.60141238486251 0 0 0 0 +6933 1 1.1996 1 235.44626511194002 53.609878002520865 0 0 0 0 +6951 1 1.1981 1 219.80903830053887 50.00232085250287 0 0 0 0 +6981 1 1.1959 1 254.78452442576423 44.006634845708675 0 0 0 0 +7007 1 1.1935 1 235.10036763385116 23.9491169473395 0 0 0 0 +1188 1 2.919 1 260.8217413811994 30.560159198534677 0 0 0 0 +7044 1 1.1899 1 237.4140350297102 32.23360861955315 0 0 0 0 +7053 1 1.1894 1 239.76448583565957 31.683922996491866 0 0 0 0 +7066 1 1.1886 1 240.71189989551007 30.14552029885372 0 0 0 0 +7115 1 1.1844 1 212.00070814597336 23.477931825069305 0 0 0 0 +7133 1 1.1834 1 254.31393273932872 46.24138989283489 0 0 0 0 +7136 1 1.1832 1 227.4326087102945 27.84584639510591 0 0 0 0 +7143 1 1.1828 1 248.26511253379144 20.431336217811772 0 0 0 0 +7192 1 1.1787 1 212.41114253998535 28.65453312918645 0 0 0 0 +7198 1 1.1781 1 264.3125544365745 37.72949890970818 0 0 0 0 +7199 1 1.1781 1 239.15640731203615 34.129400094842396 0 0 0 0 +7208 1 1.1776 1 246.72799716783905 15.867971968508574 0 0 0 0 +2162 1 2.1509 1 204.788928035347 45.3589160566029 0 0 0 0 +7238 1 1.175 1 215.80318426690684 30.866779540084764 0 0 0 0 +7256 1 1.1737 1 223.53549342232031 19.059879384556965 0 0 0 0 +7261 1 1.1734 1 238.28676544148772 54.50590418400302 0 0 0 0 +7281 1 1.1726 1 254.96002816367087 47.21740908825459 0 0 0 0 +5722 1 1.324 1 220.0958516811795 69.41677990186314 0 0 0 0 +7314 1 1.1692 1 215.2721836360623 35.56692089329319 0 0 0 0 +7339 1 1.1676 1 216.12194882355325 45.643246447397196 0 0 0 0 +7346 1 1.1663 1 216.99177519095343 53.16740909864084 0 0 0 0 +7347 1 1.1662 1 251.03361661461366 35.35619116103999 0 0 0 0 +7350 1 1.1658 1 243.69092397359572 50.12496183629716 0 0 0 0 +7362 1 1.1645 1 206.38187074783755 44.90015487903544 0 0 0 0 +7390 1 1.162 1 249.66168029060552 46.00320849964313 0 0 0 0 +7406 1 1.1608 1 223.09329635539328 36.22255160222285 0 0 0 0 +7429 1 1.159 1 205.4356546754918 46.790463041484344 0 0 0 0 +7443 1 1.1574 1 228.61240236319804 36.001554687557345 0 0 0 0 +7451 1 1.1567 1 239.5455354652179 28.245188701017632 0 0 0 0 +7462 1 1.1562 1 259.1408378959467 42.14128437792776 0 0 0 0 +7482 1 1.1542 1 214.6392537397379 37.70221531572404 0 0 0 0 +7746 1 1.1331 1 205.53292560619508 19.68514429789587 0 0 0 0 +7548 1 1.1484 1 208.44089821686882 26.263324992294255 0 0 0 0 +2430 1 2.0352 1 249.8449043948412 20.19560218229522 0 0 0 0 +7571 1 1.1462 1 240.69399755261503 16.000162217160188 0 0 0 0 +7598 1 1.1441 1 224.8776552597604 54.07240730522005 0 0 0 0 +9956 1 1.0029 1 237.41931173028888 33.95602404444232 0 0 0 0 +7640 1 1.141 1 236.9414835455696 49.22656224032697 0 0 0 0 +7678 1 1.1382 1 246.97641946448772 16.976434023858236 0 0 0 0 +7681 1 1.1377 1 228.59137198865267 54.995235229013936 0 0 0 0 +7692 1 1.137 1 216.17309291810827 16.301691253581982 0 0 0 0 +7720 1 1.1348 1 216.81425872544838 44.760571995025096 0 0 0 0 +7790 1 1.1295 1 258.2206013480699 38.70484002080566 0 0 0 0 +7803 1 1.1286 1 219.79519003280075 24.955239061577984 0 0 0 0 +7816 1 1.1278 1 237.52318942529647 48.3317492618603 0 0 0 0 +7822 1 1.1274 1 233.18687649285997 29.594738525971238 0 0 0 0 +1791 1 2.3617 1 228.28186758091937 12.68159743957033 0 0 1 0 +7858 1 1.1241 1 225.4955947478063 58.11533673946329 0 0 0 0 +7861 1 1.1238 1 217.36901937461013 33.992160255135445 0 0 0 0 +7877 1 1.1231 1 213.82396172290126 36.9761833218942 0 0 0 0 +7484 1 1.1541 1 215.81009956137737 65.20749522200967 0 0 0 0 +4671 1 1.4688 1 240.66487254007416 14.737737633899833 0 0 1 0 +7952 1 1.1176 1 226.01843557831688 52.10793686719435 0 0 0 0 +7985 1 1.1154 1 242.63676121285724 19.080193519666313 0 0 0 0 +7998 1 1.1146 1 219.02917582938235 59.80549221275676 0 0 0 0 +8008 1 1.1141 1 231.76508873536494 56.76275590796022 0 0 0 0 +8012 1 1.1138 1 216.83461295299688 19.986653574854245 0 0 0 0 +8038 1 1.1123 1 241.55150083433202 37.146380979199265 0 0 0 0 +8060 1 1.1105 1 222.0818337106331 67.0835799303093 0 0 0 0 +8083 1 1.1085 1 235.83445927669902 49.334855125811224 0 0 0 0 +8085 1 1.1083 1 225.0324637839381 60.732634444601096 0 0 0 0 +8096 1 1.1075 1 229.83967522561187 28.35300339059479 0 0 0 0 +4185 1 1.5519 1 208.4331318541549 69.36906571997918 0 0 0 0 +8145 1 1.1049 1 207.8022696246041 43.333373214436634 0 0 0 0 +8148 1 1.1048 1 231.10505146124422 55.923092153857 0 0 0 0 +8184 1 1.1023 1 238.52738694791438 27.731546418825054 0 0 0 0 +8186 1 1.1021 1 240.40705998588524 29.079342792925377 0 0 0 0 +8194 1 1.1019 1 211.04364192468435 15.665782895078292 0 0 0 0 +7857 1 1.1243 1 251.6454749251319 14.629889196524077 0 0 0 0 +8208 1 1.1011 1 206.27958316530376 40.84388415578829 0 0 0 0 +8277 1 1.0965 1 210.89673433280822 56.56245619527255 0 0 0 0 +8284 1 1.0961 1 239.47201432626815 32.76347862014862 0 0 0 0 +8307 1 1.0941 1 241.74724708649796 30.486123936080656 0 0 0 0 +8318 1 1.0927 1 224.8512665613825 61.77760806294805 0 0 0 0 +8362 1 1.0897 1 245.2053321734356 21.371744817442764 0 0 0 0 +8367 1 1.0893 1 228.21116935155345 27.075460751302973 0 0 0 0 +8368 1 1.0891 1 215.15950039558925 58.962334346547294 0 0 0 0 +8379 1 1.0886 1 216.07887992720345 19.265964288617695 0 0 0 0 +8388 1 1.088 1 255.39691100378093 49.90199362313983 0 0 0 0 +8420 1 1.0864 1 222.91617912497819 59.891346376435386 0 0 0 0 +6678 1 1.2241 1 255.7334391552674 32.48133873953335 0 0 0 0 +8453 1 1.0841 1 206.10773377721978 59.32891103663938 0 0 0 0 +8474 1 1.0828 1 249.8502787338612 16.586563680301413 0 0 0 0 +8476 1 1.0825 1 239.35919219191274 44.918553922926584 0 0 0 0 +8513 1 1.0801 1 206.8489225395007 57.58543230145892 0 0 0 0 +8533 1 1.0789 1 214.80613782294395 36.5675901660397 0 0 0 0 +5075 1 1.4082 1 258.8018983288671 28.71527882098579 0 0 0 0 +8603 1 1.0748 1 206.0749323304787 23.161771099360003 0 0 0 0 +8623 1 1.0735 1 240.67299358781148 28.07876010138913 0 0 0 0 +8624 1 1.0734 1 221.037091520845 66.82480525888982 0 0 0 0 +8637 1 1.0727 1 229.38332013101396 60.16606132443799 0 0 0 0 +9935 1 1.0035 1 252.5552086900709 15.097172515952563 0 0 0 0 +8676 1 1.0712 1 238.49565637382435 25.238783652584807 0 0 0 0 +8678 1 1.0711 1 254.38939565936562 33.82640184578239 0 0 0 0 +8731 1 1.0681 1 239.05490772290705 18.82984523224265 0 0 0 0 +8777 1 1.0647 1 227.58580482162438 35.61413024782993 0 0 0 0 +8797 1 1.0635 1 230.9980319554021 54.80237209491691 0 0 0 0 +8805 1 1.0629 1 249.53538542746315 35.33584118865899 0 0 0 0 +8847 1 1.0605 1 229.7210069041527 17.70419999331927 0 0 0 0 +4136 1 1.5608 1 209.33274436297282 65.59715661661724 0 0 0 0 +8926 1 1.0563 1 232.10511446918744 39.502354384264976 0 0 0 0 +8930 1 1.056 1 228.28965975693416 45.94163916167112 0 0 0 0 +8946 1 1.0554 1 223.6058828930976 38.754611098500405 0 0 0 0 +3520 1 1.6896 1 236.09306174364025 10.577667076130977 0 0 1 0 +457 1 4.6328 1 213.56305623853552 12.090639832511847 0 0 0 0 +8974 1 1.054 1 224.70847317571142 38.107071245416485 0 0 0 0 +8993 1 1.053 1 255.51574962837208 33.616176826618194 0 0 0 0 +2624 1 1.9583 1 206.6585781211398 62.22479727416296 0 0 0 0 +9012 1 1.0521 1 245.64960702799624 16.05404198453336 0 0 0 0 +9023 1 1.0515 1 208.1745899468479 41.573754864735676 0 0 0 0 +9062 1 1.0495 1 218.84352182590473 25.398499722011778 0 0 0 0 +9097 1 1.0472 1 217.28470668635046 52.12735492040629 0 0 0 0 +9113 1 1.0467 1 238.1789558757467 47.496919447170065 0 0 0 0 +9117 1 1.0464 1 227.9607979535289 41.289246925000725 0 0 0 0 +9204 1 1.0416 1 220.6520580806125 18.511345203343108 0 0 0 0 +1210 1 2.8978 1 248.61620430367262 18.086522959837897 0 0 0 0 +7964 1 1.1167 1 248.66681433922253 14.869738966902238 0 0 1 0 +750 1 3.6902 1 266.4593919540109 31.77204811356206 0 0 0 0 +9950 1 1.003 1 243.75557814556035 14.68889730111693 0 0 0 0 +9235 1 1.0404 1 232.06395098949173 35.27052855241542 0 0 0 0 +9932 1 1.0039 1 240.35371336989687 34.771128298559226 0 0 0 0 +9286 1 1.0374 1 231.14548947596103 52.70197703264158 0 0 0 0 +9287 1 1.0374 1 246.86480505238188 40.58479385347338 0 0 0 0 +9295 1 1.0368 1 210.70714532788153 37.48067345151936 0 0 0 0 +9317 1 1.0352 1 245.22147933904935 15.093399866936398 0 0 0 0 +9321 1 1.035 1 238.63169251506844 26.66696561070449 0 0 0 0 +9975 1 1.0018 1 221.01159491787325 59.503569094659554 0 0 0 0 +9335 1 1.0344 1 247.54241474764103 21.348519448047675 0 0 0 0 +9365 1 1.0327 1 241.31239808157224 44.491050967231786 0 0 0 0 +9409 1 1.0302 1 224.5822200545852 18.806649491535374 0 0 0 0 +9417 1 1.0297 1 237.49780209379938 42.78797023891242 0 0 0 0 +9473 1 1.0271 1 240.49438160648842 32.50356370818916 0 0 0 0 +9475 1 1.0271 1 238.96940838743873 53.66214221187688 0 0 0 0 +9480 1 1.027 1 220.05132619865822 59.731063735933134 0 0 0 0 +9481 1 1.0269 1 217.7855883058068 44.32879932281475 0 0 0 0 +9543 1 1.0237 1 225.4716693976814 26.89160224712824 0 0 0 0 +3568 1 1.6767 1 210.3801047213044 18.12883709009019 0 0 0 0 +9580 1 1.0217 1 206.94540551536622 43.96031493209598 0 0 0 0 +9587 1 1.0214 1 247.79833041528528 16.34968505229656 0 0 0 0 +9597 1 1.0209 1 237.1974605127783 47.38706679383727 0 0 0 0 +3726 1 1.6431 1 254.33862346493973 22.218913158597072 0 0 0 0 +9604 1 1.0205 1 225.95647710366669 60.266905099969065 0 0 0 0 +9612 1 1.0199 1 234.31683184065508 42.518197288302105 0 0 0 0 +9674 1 1.0169 1 210.5385874038369 46.07180839681349 0 0 0 0 +2709 1 1.9266 1 211.73396879122114 16.95124804171177 0 0 0 0 +9749 1 1.0129 1 212.61111429682916 45.41009219605995 0 0 0 0 +9751 1 1.0129 1 206.45174953892442 24.418249938694174 0 0 0 0 +9772 1 1.0114 1 234.57392856881899 22.985595797508736 0 0 0 0 +8233 1 1.0993 1 219.65170607344083 68.30072507003803 0 0 0 0 +9788 1 1.0104 1 215.15344825586328 19.76605939737947 0 0 0 0 +2900 1 1.8632 1 245.6483990666627 17.508727890678795 0 0 0 0 +3397 1 1.7153 1 214.45619452151965 64.81282674311993 0 0 0 0 +9825 1 1.0088 1 225.83759041576278 16.829659986630105 0 0 0 0 +9856 1 1.007 1 217.63202062267337 41.44049013988058 0 0 0 0 +9223 1 1.0408 1 215.50404379510235 59.89974916902602 0 0 0 0 +9688 1 1.0162 1 248.54896380969 21.487499282555326 0 0 0 0 +2679 1 1.939 1 267.21301151650425 34.31464194853368 0 0 0 0 +1401 1 2.6811 1 224.48064095489306 15.730905283317721 0 0 1 0 +8665 1 1.0715 1 222.66410127689312 15.926497876026819 0 0 1 0 +7232 1 1.1756 1 246.55542524448666 21.830941357091376 0 0 0 0 +808 1 3.5731 1 248.30770208011006 23.765055349409778 0 0 0 0 +9659 1 1.0176 1 246.089727213658 28.73022540507339 0 0 0 0 +6597 1 1.2317 1 205.04331284145522 57.16454122329143 0 0 0 0 +865 1 3.4353 1 239.6550756389957 12.546417143113995 0 0 1 0 +9919 1 1.0043 1 251.22147786555107 16.138490779798747 0 0 0 0 +3987 1 1.5892 1 263.92124361123354 31.195603319471463 0 0 0 0 +8982 1 1.0535 1 211.95639271449616 62.557623764700466 0 0 0 0 +7485 1 1.1538 1 246.3124675024467 24.991226887884505 0 0 0 0 +1386 1 2.6997 1 266.0286814833682 49.38609608410352 0 0 0 0 +7622 1 1.1428 1 206.24015126565618 60.771156662662726 0 0 0 0 +963 1 3.2277 1 247.2084349065749 26.946771586916586 0 0 0 0 +2924 1 1.8564 1 258.9767026417184 37.53574191215762 0 0 0 0 +8720 1 1.0686 1 212.4337804110229 63.46994654863472 0 0 0 0 +3891 1 1.6099 1 215.80561384494777 61.12717639059501 0 0 0 0 +3739 1 1.6415 1 237.6438648968596 11.046309551821183 0 0 1 0 +2118 1 2.1709 1 212.55905510915116 65.05044359854168 0 0 0 0 +3840 1 1.6191 1 257.0045364942656 22.474524084747017 0 0 0 0 +9056 1 1.0499 1 208.69242464885005 63.014576697319185 0 0 0 0 +1874 1 2.3168 1 204.67700753361268 61.55559850241257 0 0 0 0 +2402 1 2.0472 1 250.18847573409758 15.118903551231247 0 0 1 0 +4004 1 1.5828 1 206.53195650298514 72.19773678810186 0 0 0 0 +2649 1 1.9479 1 243.47177373342504 11.132190522410408 0 0 1 0 +4363 1 1.5209 1 241.95334106285847 11.837234792926157 0 0 1 0 +5347 1 1.3702 1 207.86227452664676 11.55794122046437 0 0 0 0 +6937 1 1.1992 1 208.94351027572594 12.364394993342536 0 0 0 0 +9767 1 1.0116 1 220.9220423201127 68.61715427189608 0 0 0 0 +1008 1 3.1637 1 206.62177655178024 67.57033011326286 0 0 0 0 +1455 1 2.6149 1 206.21664279021775 21.35879195022704 0 0 0 0 +80 1 10.2525 1 220.7720858991252 10.619023037492818 0 0 1 0 +4161 1 1.5565 1 229.46633305774944 14.143160660847224 0 0 1 0 +6422 1 1.25 1 238.91156250630223 10.404854387491824 0 0 0 0 +624 1 3.9419 1 260.0583836704717 26.39421913645488 0 0 0 0 +3062 1 1.8088 1 240.34951661649058 10.034074755874482 0 0 1 0 +9903 1 1.0049 1 259.0476259204841 29.861449071634258 0 0 0 0 +9967 1 1.0022 1 207.1197544747048 71.0388628910132 0 0 0 0 +4710 1 1.4631 1 207.04605804830862 69.83325249285093 0 0 0 0 +9353 1 1.0335 1 259.9960777449674 28.828881184200956 0 0 0 0 +7011 1 1.1932 1 217.6888982468784 65.87221174944952 0 0 0 0 +4098 1 1.5666 1 245.18628287394768 10.892636673622679 0 0 1 0 +5216 1 1.3872 1 260.697222095288 32.62890248932182 0 0 0 0 +938 1 3.2773 1 203.70664015748227 58.96298686235393 0 0 0 0 +1657 1 2.4495 1 261.16553830768873 34.40373616911216 0 0 0 0 +4031 1 1.5773 1 205.8822729407571 70.78946522620653 0 0 0 0 +247 1 6.2474 1 249.02936545156325 11.243487305853547 0 0 1 0 +2585 1 1.976 1 262.9039400902918 35.768771038853494 0 0 0 0 +2293 1 2.0974 1 209.08665546924476 71.03430180703788 0 0 0 0 +9944 1 1.0032 1 262.8736447880755 34.10666573781152 0 0 0 0 +1418 1 2.6643 1 264.7091743440627 34.37894907684322 0 0 0 0 +6061 1 1.2872 1 264.0818982382443 26.958105257187366 0 0 0 0 +4103 1 1.5652 1 264.69241613120914 29.805548372877574 0 0 0 0 +1814 1 2.3476 1 206.30094197261343 10.608491517402042 0 0 0 0 +3408 1 1.7126 1 203.849245748423 68.31758802153294 0 0 0 0 +5370 1 1.3676 1 203.49185937117778 10.65364532728611 0 0 0 0 +3771 1 1.6357 1 203.3002400266997 23.04074826672962 0 0 0 0 +7888 1 1.1221 1 203.3700471865777 11.86288145787166 0 0 0 0 +5480 1 1.3527 1 203.08230054644042 45.86075012645415 0 0 0 0 +639 1 3.913 1 203.13027498256065 20.351602915575963 0 0 0 0 +2 1 97.3444 1 259.6213839251214 98.89370886210801 0 0 0 0 +4822 1 1.4458 1 210.89724845875614 91.09316122288483 0 0 0 0 +1778 1 2.3691 1 228.937251924221 138.14489698609393 0 0 0 0 +6770 1 1.2158 1 203.40857257635832 89.43914041114846 0 0 0 0 +188 1 7.0441 1 203.31017682484517 102.00074536247547 0 0 0 0 +4318 1 1.5296 1 215.7030012469718 76.30232832411286 0 0 0 0 +248 1 6.2265 1 210.4306662943791 114.51095106585805 0 0 0 0 +251 1 6.1948 1 220.78849175294226 132.79796537002346 0 0 0 0 +3492 1 1.6945 1 207.21547081796464 88.23439194429723 0 0 0 0 +8848 1 1.0604 1 204.17428693219566 110.30085309774617 0 0 0 0 +1429 1 2.6497 1 204.37710064651668 95.3479148906317 0 0 0 0 +442 1 4.6735 1 208.97832438008936 102.37342693196831 0 0 0 0 +2768 1 1.9062 1 212.17742538730022 76.48692032956765 0 0 0 0 +577 1 4.1071 1 214.54533401451278 121.85586065177164 0 0 0 0 +595 1 4.037 1 217.00717024664567 129.3831838094383 0 0 0 0 +3845 1 1.6186 1 204.76211154071316 116.1416645838859 0 0 0 0 +770 1 3.6458 1 207.46319779848636 110.65138831463433 0 0 0 0 +9938 1 1.0034 1 210.77923498899227 104.55542715679678 0 0 0 0 +1042 1 3.1059 1 204.97656713373843 108.43437709231546 0 0 0 0 +4409 1 1.5135 1 213.55170918856388 75.59497913215598 0 0 0 0 +312 1 5.6376 1 208.896477759597 74.88148266278002 0 0 0 0 +6772 1 1.2157 1 207.54356226398167 86.83590620417952 0 0 0 0 +4320 1 1.5288 1 210.95070967659436 84.82910150203612 0 0 0 0 +1289 1 2.8029 1 207.19608988195162 106.584660014906 0 0 0 0 +6386 1 1.2527 1 211.90013192169465 86.72440738469618 0 0 0 0 +1654 1 2.4513 1 213.5814514005355 124.98248841952348 0 0 0 0 +25 1 20.6737 1 206.8062077703603 136.10353564254672 0 0 0 0 +6174 1 1.2749 1 203.48824559559836 90.65988382996326 0 0 0 0 +4965 1 1.4241 1 204.56796242826763 88.92721624100821 0 0 0 0 +8728 1 1.0682 1 218.450458403382 125.82076045459206 0 0 0 0 +9522 1 1.0246 1 226.31413060068945 135.23443569375092 0 0 0 0 +5049 1 1.4135 1 204.34140069902418 117.74448378266571 0 0 0 0 +2110 1 2.1773 1 209.80361046559904 78.59075491482687 0 0 0 0 +4397 1 1.5152 1 209.73055923144727 85.71451029393465 0 0 0 0 +2177 1 2.1458 1 209.91376176825935 98.18453324621575 0 0 0 0 +2214 1 2.1308 1 206.61440930073098 116.07801761102229 0 0 0 0 +9726 1 1.014 1 221.0138453799719 136.37343441353312 0 0 0 0 +2252 1 2.1172 1 207.60855033290943 98.20503369688615 0 0 0 0 +9895 1 1.0053 1 206.51583260539203 77.470116262318 0 0 0 0 +6368 1 1.2552 1 203.82117791384997 124.53834153578256 0 0 0 0 +2332 1 2.0762 1 209.84991722468865 92.43568190035356 0 0 0 0 +4585 1 1.4827 1 210.83439547675064 125.83801432238246 0 0 0 0 +2393 1 2.0504 1 213.1028743660204 119.10021353775028 0 0 0 0 +2450 1 2.0272 1 224.67419204762825 134.0853778403798 0 0 0 0 +2508 1 2.0071 1 208.86445508467233 108.24054097689985 0 0 0 0 +2526 1 2.0009 1 227.41169915777127 136.59456329279058 0 0 0 0 +2573 1 1.98 1 215.3743787503256 126.91166272292351 0 0 0 0 +2577 1 1.9794 1 209.21802472409627 95.05795803606932 0 0 0 0 +2814 1 1.8906 1 210.25616786707715 109.51915889285145 0 0 0 0 +2901 1 1.8628 1 210.879377035587 107.80227022681376 0 0 0 0 +9394 1 1.0311 1 206.0507946684667 83.60258764047575 0 0 0 0 +2926 1 1.8561 1 218.91010817630254 127.18214389338101 0 0 0 0 +2933 1 1.8519 1 223.6118522774598 135.60510264693266 0 0 0 0 +2957 1 1.8454 1 217.9354508494087 135.46547607968455 0 0 0 0 +3160 1 1.7769 1 211.55647118504749 110.73009218072583 0 0 0 0 +3271 1 1.7471 1 217.23302204734676 126.5139686174702 0 0 0 0 +3274 1 1.7464 1 209.63494751181332 106.56378257955633 0 0 0 0 +1555 1 2.5308 1 206.81316249470123 96.06209354671238 0 0 0 0 +6395 1 1.252 1 208.4006505485108 85.97959855665319 0 0 0 0 +9663 1 1.0173 1 214.49775590784967 76.37894389292985 0 0 0 0 +3427 1 1.71 1 217.7322546993018 138.22139318526214 0 0 0 0 +2693 1 1.9324 1 204.6833508353333 81.01969610289609 0 0 0 0 +8312 1 1.0938 1 210.7384557169773 93.64921104551082 0 0 0 0 +8371 1 1.089 1 206.01110237370605 94.44777454525847 0 0 0 0 +3583 1 1.6744 1 213.60029484211876 127.2475501832989 0 0 0 0 +5076 1 1.4082 1 203.33999132454858 88.14295213181451 0 0 0 0 +3839 1 1.6193 1 206.5252691127594 114.22388234004123 0 0 0 0 +6153 1 1.2779 1 208.71121761681792 84.22135843318834 0 0 0 0 +384 1 5.0358 1 206.52069520094082 91.43639079626081 0 0 0 0 +3959 1 1.5944 1 208.72028876145384 96.75841020237183 0 0 0 0 +123 1 8.8346 1 208.19844131540327 121.48467067116833 0 0 0 0 +8235 1 1.0993 1 213.60931169996894 76.87280593008671 0 0 0 0 +1962 1 2.2633 1 207.09344407369537 84.83154843137396 0 0 0 0 +7475 1 1.1547 1 211.79135940637357 124.94032750264174 0 0 0 0 +4215 1 1.5472 1 206.7855995156648 104.47850086934848 0 0 0 0 +4925 1 1.4291 1 215.07054986515226 77.6127246183741 0 0 0 0 +6341 1 1.2578 1 219.16010653941666 138.47656229549688 0 0 0 0 +4408 1 1.5136 1 216.49920503173254 125.0722680067348 0 0 0 0 +572 1 4.1201 1 210.00969491867804 88.51515200857473 0 0 0 0 +4665 1 1.47 1 205.15657272861492 111.71208604363602 0 0 0 0 +8842 1 1.0607 1 212.63756431466263 123.5561138084525 0 0 0 0 +516 1 4.3149 1 212.86966152884924 79.41748189861215 0 0 0 0 +4774 1 1.4519 1 207.71679433988157 94.36226760515794 0 0 0 0 +3811 1 1.6258 1 212.42162847717995 84.47828059527639 0 0 0 0 +9561 1 1.0223 1 205.2405612372104 113.67426451202722 0 0 0 0 +4898 1 1.4328 1 216.73474908441048 123.56518298440628 0 0 0 0 +9121 1 1.0461 1 210.3566970274302 80.09261883513125 0 0 0 0 +4974 1 1.4235 1 206.10433429927585 112.78305392585605 0 0 0 0 +5118 1 1.4003 1 208.79527427234922 105.3115046983 0 0 0 0 +6256 1 1.2645 1 204.13728444353907 93.43031735900267 0 0 0 0 +5246 1 1.3827 1 203.88484373586297 106.14181419532974 0 0 0 0 +5264 1 1.3805 1 219.3124354883627 136.22516463437924 0 0 0 0 +5290 1 1.377 1 225.2221011376144 135.76180778113996 0 0 0 0 +5301 1 1.3757 1 222.17433971877978 136.2734050035211 0 0 0 0 +5378 1 1.3666 1 220.78043293648017 129.11311009264463 0 0 0 0 +1025 1 3.1432 1 205.37311819867034 86.86286537939372 0 0 0 0 +8803 1 1.0631 1 210.9426874849249 86.10800667287212 0 0 0 0 +7718 1 1.135 1 208.73790199828002 93.58082737314936 0 0 0 0 +9503 1 1.0258 1 209.7858969913179 84.44834478791634 0 0 0 0 +5956 1 1.2992 1 219.5628063021995 129.2618610163492 0 0 0 0 +5966 1 1.298 1 212.9297298610507 117.3230058192651 0 0 0 0 +6082 1 1.2853 1 205.17982132875116 106.30067222456216 0 0 0 0 +6138 1 1.2799 1 214.57021153696124 128.3478503462636 0 0 0 0 +7560 1 1.1471 1 216.4815443454647 75.28391148379139 0 0 0 0 +8342 1 1.091 1 217.64899298260545 136.86482122384794 0 0 0 0 +426 1 4.7732 1 207.8263645267007 81.36360970944638 0 0 0 0 +8442 1 1.0849 1 207.9597987366822 99.719085019938 0 0 0 0 +9500 1 1.0259 1 210.6357935270701 94.64212644852182 0 0 0 0 +6285 1 1.2619 1 217.8014579632358 124.88047949230626 0 0 0 0 +5759 1 1.3192 1 206.1909586721464 78.71173572246066 0 0 0 0 +7552 1 1.1481 1 203.59997528212375 123.3875994029737 0 0 0 0 +6356 1 1.2563 1 217.05138227801407 132.18951744443348 0 0 0 0 +6526 1 1.2402 1 210.81104443860843 105.66938385863335 0 0 0 0 +6618 1 1.2306 1 210.35852203683334 99.78950687967442 0 0 0 0 +8329 1 1.0924 1 210.59010653812058 95.6489460384454 0 0 0 0 +483 1 4.4778 1 203.35651972880117 83.79353313647513 0 0 0 0 +6805 1 1.212 1 205.5329328087391 117.29055529541684 0 0 0 0 +6884 1 1.2036 1 220.21070449834596 137.08290817632488 0 0 0 0 +6888 1 1.2032 1 210.06865781035185 96.58065336886017 0 0 0 0 +9722 1 1.0142 1 212.263205023138 85.71962941137669 0 0 0 0 +6891 1 1.2029 1 206.98570052440246 100.23373393129955 0 0 0 0 +1177 1 2.9293 1 211.36439461220303 82.61271488796724 0 0 0 0 +6934 1 1.1994 1 205.18106182651638 114.78725085396118 0 0 0 0 +6995 1 1.1947 1 206.3386797924673 99.23642370708589 0 0 0 0 +9486 1 1.0266 1 205.16822671301284 110.47991387388468 0 0 0 0 +7218 1 1.1765 1 205.73524291665672 105.26563324017856 0 0 0 0 +7361 1 1.1645 1 217.340914324797 133.70524083588336 0 0 0 0 +7430 1 1.1589 1 215.26635264797855 125.38817924995189 0 0 0 0 +8306 1 1.0942 1 203.80926790848443 125.70172442212382 0 0 0 0 +6307 1 1.2605 1 203.8535251707189 118.9780736399734 0 0 0 0 +4650 1 1.4735 1 204.9340013461445 125.2872460861979 0 0 0 0 +7492 1 1.1529 1 220.321453452255 138.19554774672906 0 0 0 0 +7494 1 1.1528 1 218.81968069116397 137.34292139579838 0 0 0 0 +2038 1 2.2195 1 205.33182629374602 97.8684367012802 0 0 0 0 +7536 1 1.1497 1 209.01859818798297 99.49867526890061 0 0 0 0 +7570 1 1.1463 1 209.82121033148277 110.92390400449534 0 0 0 0 +7843 1 1.1263 1 207.3748713509527 78.37923163588113 0 0 0 0 +7779 1 1.1304 1 215.46059954589583 124.27931518282969 0 0 0 0 +7788 1 1.1296 1 220.02438503512468 128.1436026781044 0 0 0 0 +3914 1 1.6048 1 212.21814932017926 126.41530513768595 0 0 0 0 +8187 1 1.1021 1 213.3346973729721 82.10641313886106 0 0 0 0 +2095 1 2.1856 1 203.1932204466503 97.40980411967857 0 0 0 0 +2925 1 1.8561 1 203.21785664954308 92.1817396983477 0 0 0 0 +4567 1 1.4862 1 203.09153100517128 86.73143335499556 0 0 0 0 +3362 1 1.7252 1 266.10721409701233 150.8271277742826 0 0 0 0 +38 1 15.9602 1 238.27285398326353 160.09665533445903 0 0 0 0 +44 1 14.7464 1 242.13852256527278 186.99160684275478 0 0 0 0 +1123 1 2.9858 1 266.48771508890144 177.51160570197845 0 0 0 0 +88 1 9.9469 1 231.18683560313366 145.82194609982804 0 0 0 0 +90 1 9.8742 1 232.64529180269363 178.64926075190633 0 0 0 0 +150 1 7.6773 1 256.39314997575923 153.17127941652546 0 0 0 0 +169 1 7.3639 1 242.8898371299556 171.69970899635786 0 0 0 0 +9753 1 1.0127 1 220.4261132501546 142.70172754654436 0 0 0 0 +189 1 7.0187 1 260.5723871899185 165.5776282331614 0 0 0 0 +213 1 6.6182 1 223.78502526154412 160.9125548786347 0 0 0 0 +233 1 6.3161 1 249.77331938377662 174.19055554252262 0 0 0 0 +262 1 6.1158 1 233.40461298887303 170.87124257637777 0 0 0 0 +343 1 5.3725 1 214.13199135853037 158.63694834226231 0 0 0 0 +360 1 5.2593 1 256.3394533496871 183.4846556797989 0 0 0 0 +385 1 5.0333 1 246.49429649547102 148.24901522736982 0 0 0 0 +399 1 4.9357 1 226.89726760845468 190.79193518065205 0 0 0 0 +416 1 4.8521 1 252.7837036964577 186.99581456596133 0 0 0 0 +418 1 4.8232 1 228.6808136968097 163.72348043348157 0 0 0 0 +425 1 4.7819 1 254.88827918192575 191.70823212646889 0 0 0 0 +8130 1 1.1056 1 224.7529502074445 145.0199440543276 0 0 0 0 +440 1 4.6811 1 257.9569089700895 172.04502425590255 0 0 0 0 +449 1 4.6587 1 250.42206661686112 182.13968436124495 0 0 0 0 +508 1 4.3343 1 256.5098291530629 161.52664566511385 0 0 0 0 +520 1 4.2998 1 226.91947220603595 156.65370574235337 0 0 0 0 +530 1 4.2684 1 263.14934384811016 178.80344167120128 0 0 0 0 +549 1 4.2039 1 231.62323534399263 188.0869053173387 0 0 0 0 +575 1 4.1107 1 226.21379767422857 152.6151438636132 0 0 0 0 +3321 1 1.735 1 218.7078682817013 158.28884225256462 0 0 0 0 +655 1 3.8774 1 249.0195753878316 152.06492773694907 0 0 0 0 +658 1 3.8674 1 247.94716391491494 156.40757082792652 0 0 0 0 +663 1 3.8569 1 262.2958829114703 172.18248770022237 0 0 0 0 +685 1 3.8162 1 262.6121445741219 158.4757641892681 0 0 0 0 +695 1 3.7961 1 251.55413562643082 149.3207008242188 0 0 0 0 +701 1 3.7809 1 230.80704961321973 192.5268408142446 0 0 0 0 +704 1 3.7759 1 250.99392289373367 198.503260313372 0 0 0 0 +2991 1 1.8357 1 267.1210658892989 173.49357875332672 0 0 0 0 +722 1 3.7443 1 224.16525031473222 168.7818573786757 0 0 0 0 +727 1 3.7315 1 252.8764171702584 168.30897633852894 0 0 0 0 +737 1 3.7057 1 237.08872221801178 194.5153766779792 0 0 0 0 +768 1 3.647 1 240.5331635030329 149.93120394382476 0 0 0 0 +797 1 3.5966 1 247.1974806687425 165.55278707367532 0 0 0 0 +842 1 3.473 1 245.75692479592965 196.56625529737587 0 0 0 0 +863 1 3.4373 1 216.81490497778856 162.37582159874458 0 0 0 0 +899 1 3.3585 1 234.8607781479391 151.17467623760726 0 0 0 0 +913 1 3.332 1 249.90148261357774 163.3929144170357 0 0 0 0 +926 1 3.3 1 258.36101890486157 179.86485622113864 0 0 0 0 +946 1 3.2532 1 240.62044929481107 176.38652392871003 0 0 0 0 +978 1 3.2099 1 227.2527707265812 167.37444876224694 0 0 0 0 +983 1 3.2064 1 252.1328029116539 194.4535996676725 0 0 0 0 +1016 1 3.1536 1 254.43199217535832 173.6412274576299 0 0 0 0 +1032 1 3.1223 1 259.92660567733793 177.20514559167708 0 0 0 0 +1063 1 3.0662 1 237.23467725820998 143.6521499638943 0 0 0 0 +9812 1 1.0095 1 247.37194390965143 167.83263134395293 0 0 0 0 +1117 1 2.9955 1 244.79099154100254 151.85854396070502 0 0 0 0 +2947 1 1.8496 1 232.0591722690947 140.04959688758055 0 0 0 0 +1170 1 2.9326 1 250.3737430392312 189.99359851614992 0 0 0 0 +1186 1 2.9215 1 229.4390709211836 172.8265141780866 0 0 0 0 +1201 1 2.9038 1 255.8967461612804 167.16489995993365 0 0 0 0 +1216 1 2.8927 1 229.45397331116223 154.20106931809514 0 0 0 0 +1217 1 2.8912 1 228.76031793404263 170.00584403315568 0 0 0 0 +1241 1 2.8607 1 242.61723173089484 147.48046625730808 0 0 0 0 +1255 1 2.8456 1 210.32462040743954 160.16480929155063 0 0 0 0 +1303 1 2.7917 1 257.48359946640795 202.44327523828937 0 0 0 0 +1307 1 2.7855 1 226.64457556320147 194.6128250184149 0 0 0 0 +1346 1 2.7417 1 259.5523243417002 157.2578724378517 0 0 0 0 +1353 1 2.7347 1 256.3121667838023 199.10530196440087 0 0 0 0 +1377 1 2.7075 1 247.2988118795819 193.96088780420388 0 0 0 0 +1393 1 2.6884 1 263.0828137256479 151.83733368332298 0 0 0 0 +1399 1 2.6825 1 231.94059756222268 153.06839997146804 0 0 0 0 +1435 1 2.6407 1 254.7988710889605 164.50403663252607 0 0 0 0 +1469 1 2.6045 1 221.1228733393014 166.18054743507346 0 0 0 0 +1476 1 2.5973 1 250.34758444859654 160.4429635309287 0 0 0 0 +9466 1 1.0275 1 263.7927238516058 174.1370161077074 0 0 0 0 +1506 1 2.5731 1 251.94736475342043 155.55931895997344 0 0 0 0 +6168 1 1.2756 1 219.43770296731125 157.0223093042129 0 0 0 0 +1574 1 2.5132 1 254.8302422638825 195.311206375746 0 0 0 0 +1609 1 2.485 1 228.60282787245103 185.17937125715207 0 0 0 0 +1637 1 2.4623 1 237.17158330024523 174.51330585601343 0 0 0 0 +1644 1 2.4563 1 264.41127881269364 175.75936487292745 0 0 0 0 +1689 1 2.429 1 207.7189566712175 160.16212695767283 0 0 0 0 +1702 1 2.4222 1 260.7372707232712 150.73786687537836 0 0 0 0 +1722 1 2.4101 1 256.04772445637974 178.21136520496592 0 0 0 0 +1725 1 2.4094 1 231.50106496428177 184.6741013499123 0 0 0 0 +4871 1 1.4379 1 214.3623084225154 155.27451861039643 0 0 0 0 +1807 1 2.3521 1 257.4046485413423 187.0867335355427 0 0 0 0 +1825 1 2.3428 1 248.56725176915288 196.72078919495922 0 0 0 0 +1840 1 2.3346 1 253.72457680783097 177.97666988135683 0 0 0 0 +1857 1 2.3282 1 245.28506025133908 154.37497652424113 0 0 0 0 +1876 1 2.3163 1 239.66181263732335 178.88831226672474 0 0 0 0 +1944 1 2.2726 1 222.3600978064899 195.46980070615047 0 0 0 0 +1953 1 2.2687 1 264.45166297637513 156.15265151855914 0 0 0 0 +1981 1 2.2541 1 254.72560800771436 170.90182854748036 0 0 0 0 +1994 1 2.2451 1 239.76114379189974 144.45588666150093 0 0 0 0 +2008 1 2.2351 1 227.1902386380319 173.98301615413732 0 0 0 0 +2027 1 2.2237 1 245.77400638752812 167.97871558368072 0 0 0 0 +2031 1 2.2217 1 250.3337841007068 192.4931379909825 0 0 0 0 +2054 1 2.208 1 229.86215856332794 167.05853313530716 0 0 0 0 +2056 1 2.2076 1 253.65581562009558 197.29350740029545 0 0 0 0 +2066 1 2.199 1 218.78529973341983 164.33332490195338 0 0 0 0 +2151 1 2.1561 1 243.3046250346728 176.32127782198802 0 0 0 0 +2163 1 2.1503 1 228.51573449125655 187.46769243814987 0 0 0 0 +2188 1 2.1441 1 252.10381405719562 158.93430831297968 0 0 0 0 +2189 1 2.144 1 243.35429213188894 149.80557358664635 0 0 0 0 +2198 1 2.1393 1 257.45631136911686 148.49506493051254 0 0 0 0 +2212 1 2.1319 1 230.04456164475903 156.59921124257576 0 0 0 0 +2216 1 2.1286 1 227.146531128361 171.8735649268243 0 0 0 0 +2239 1 2.1201 1 220.70129308220646 155.945435197763 0 0 0 0 +9459 1 1.0278 1 220.3185110096141 162.51070360259848 0 0 0 0 +2274 1 2.1053 1 247.46691898883677 159.2870302836456 0 0 0 0 +2283 1 2.1016 1 244.86502313952417 177.70474761984468 0 0 0 0 +9976 1 1.0015 1 228.7213947237264 140.97374992718986 0 0 0 0 +2378 1 2.0559 1 254.25344025105537 180.080679168752 0 0 0 0 +2386 1 2.0539 1 220.81655750167909 163.94784334212287 0 0 0 0 +2438 1 2.0319 1 262.5920149841056 148.36007158036924 0 0 0 0 +2446 1 2.0286 1 229.42597361623282 158.57647185974074 0 0 0 0 +2464 1 2.024 1 246.53746254255546 178.85641976419055 0 0 0 0 +2469 1 2.0219 1 260.7645270330528 180.81264742664627 0 0 0 0 +2470 1 2.0217 1 254.03518219130402 158.1269882831696 0 0 0 0 +2487 1 2.0146 1 231.39125710897963 165.7333692826004 0 0 0 0 +2550 1 1.9893 1 241.7669621047867 178.6953604691526 0 0 0 0 +2560 1 1.9852 1 226.6244154119459 175.92311873411708 0 0 0 0 +2565 1 1.9838 1 249.55123419701454 194.3965568540904 0 0 0 0 +2590 1 1.9732 1 220.728955084174 157.96034552510937 0 0 0 0 +2601 1 1.967 1 252.8588434077216 165.53470774987974 0 0 0 0 +2622 1 1.9597 1 253.80770133066375 160.02581698512404 0 0 0 0 +2640 1 1.953 1 240.499042635404 146.37979496989976 0 0 0 0 +2647 1 1.9493 1 250.20318430007566 158.20010591215953 0 0 0 0 +2651 1 1.947 1 248.11721947388324 177.85902429230737 0 0 0 0 +2667 1 1.9419 1 255.34478170388883 176.1582297037116 0 0 0 0 +2675 1 1.9405 1 257.57102372157544 168.8278387287866 0 0 0 0 +2677 1 1.9393 1 259.985558630239 159.48073272113467 0 0 0 0 +2687 1 1.9348 1 252.02320365010263 161.91687527780996 0 0 0 0 +8737 1 1.0677 1 225.80644524943096 144.65993319157332 0 0 0 0 +2696 1 1.9308 1 259.58648640121123 161.29109154571097 0 0 0 0 +2726 1 1.9215 1 210.059666828255 157.80714574689276 0 0 0 0 +2741 1 1.9141 1 250.1610294657457 169.0103238151786 0 0 0 0 +2754 1 1.91 1 223.46487702841654 193.80314001245958 0 0 0 0 +2761 1 1.9078 1 246.57158870046968 176.71991647397059 0 0 0 0 +2772 1 1.9054 1 237.62486897227294 150.0973441521435 0 0 0 0 +2776 1 1.9038 1 227.32733473913245 182.9873807327315 0 0 0 0 +2813 1 1.8908 1 253.4561234595351 175.92689930440804 0 0 0 0 +2830 1 1.8849 1 226.51910519650932 187.46982671911945 0 0 0 0 +2847 1 1.8801 1 260.5303184874716 169.99429736069146 0 0 0 0 +2849 1 1.8797 1 211.85348496526706 155.35258757092467 0 0 0 0 +2854 1 1.8779 1 244.59338004564924 166.33428452064 0 0 0 0 +2855 1 1.8777 1 248.80468636538694 167.72748232227565 0 0 0 0 +2866 1 1.8729 1 234.977137846318 191.1173137335807 0 0 0 0 +2885 1 1.8661 1 203.7193413571548 160.6367232262804 0 0 0 0 +2915 1 1.859 1 264.99685998786606 171.47126616336462 0 0 0 0 +2930 1 1.8545 1 252.4552160218905 163.72222141492287 0 0 0 0 +2936 1 1.8512 1 233.0845374442548 194.92577299021676 0 0 0 0 +4603 1 1.4798 1 222.90589671411348 144.9211200548889 0 0 0 0 +2959 1 1.8452 1 264.9237839146932 173.28443662309948 0 0 0 0 +2968 1 1.8426 1 238.61725668250958 147.31467583470163 0 0 0 0 +2977 1 1.8401 1 240.76111959999585 196.00035745683874 0 0 0 0 +2988 1 1.8362 1 259.28507386744525 174.89565921874242 0 0 0 0 +3008 1 1.8257 1 226.9481997682432 177.7229696541663 0 0 0 0 +1166 1 2.9367 1 215.21606315931047 146.04003973658172 0 0 0 0 +3016 1 1.822 1 219.83418249218968 159.61089759666274 0 0 0 0 +3024 1 1.8195 1 249.47145616885922 179.14072615391186 0 0 0 0 +3040 1 1.8144 1 248.85084309896084 170.26597207098678 0 0 0 0 +3045 1 1.8132 1 261.06994854874154 152.74182191065958 0 0 0 0 +3056 1 1.8106 1 226.94587580929112 149.79784435917293 0 0 0 0 +4733 1 1.4588 1 213.36666282802884 147.0197704389556 0 0 0 0 +3071 1 1.8069 1 208.2499867568549 158.1905239947132 0 0 0 0 +3074 1 1.8065 1 249.77908589907753 165.92370874137248 0 0 0 0 +3081 1 1.8055 1 225.39202173210472 172.6965427651588 0 0 0 0 +3085 1 1.803 1 224.28304038136955 165.07436460929785 0 0 0 0 +9367 1 1.0326 1 261.36384514972974 149.1968997301571 0 0 0 0 +3109 1 1.7949 1 232.75659982657797 167.01463400179557 0 0 0 0 +3149 1 1.7788 1 236.63482890444308 168.74539907560802 0 0 0 0 +3153 1 1.7782 1 238.2114306601723 171.0680924478354 0 0 0 0 +3170 1 1.7741 1 253.66099306577755 199.25132981368472 0 0 0 0 +9476 1 1.027 1 216.81244175301185 149.64787990852994 0 0 0 0 +3212 1 1.7627 1 227.80212583179892 159.518735471206 0 0 0 0 +3276 1 1.7458 1 247.307977210352 180.61740417641744 0 0 0 0 +9961 1 1.0025 1 239.27342468542562 196.04518003379357 0 0 0 0 +3301 1 1.7394 1 233.26653921776776 185.69489539129938 0 0 0 0 +3414 1 1.7117 1 225.97573571273057 148.35976073167325 0 0 0 0 +3454 1 1.7033 1 225.2394134661151 149.90248434502453 0 0 0 0 +9441 1 1.0287 1 233.73434579779988 152.9905492149486 0 0 0 0 +9923 1 1.0041 1 223.97736664363052 195.7275854690189 0 0 0 0 +3556 1 1.6799 1 264.6746118838531 164.21444052844276 0 0 0 0 +3582 1 1.6746 1 245.8866312723117 175.06890202435113 0 0 0 0 +3591 1 1.6735 1 233.37142980622156 193.21787389877508 0 0 0 0 +3602 1 1.6705 1 241.93053249926976 152.1624845212928 0 0 0 0 +3603 1 1.6704 1 252.460063351791 179.77451284491525 0 0 0 0 +3617 1 1.6685 1 222.61672150418846 164.80213011436163 0 0 0 0 +3629 1 1.6662 1 236.7837259122968 147.309346210871 0 0 0 0 +3659 1 1.6602 1 229.3311040014364 160.42246601998153 0 0 0 0 +3693 1 1.6498 1 257.31556603017515 158.7025395592434 0 0 0 0 +3713 1 1.6447 1 233.601755883845 190.13469818093375 0 0 0 0 +3745 1 1.6404 1 241.6253416376106 144.990057428252 0 0 0 0 +3748 1 1.6403 1 248.466349691355 192.1513078648773 0 0 0 0 +3749 1 1.6397 1 238.11455408443607 179.96567557173148 0 0 0 0 +3750 1 1.6395 1 259.48109044028683 182.0935214621954 0 0 0 0 +3753 1 1.6392 1 228.33394984117805 150.76264345057874 0 0 0 0 +3763 1 1.6374 1 251.041802274976 170.48147925140566 0 0 0 0 +3766 1 1.6371 1 262.29210709948416 169.49657587929624 0 0 0 0 +3785 1 1.6331 1 250.3431331618323 195.96344312607593 0 0 0 0 +3810 1 1.6259 1 238.34974471825453 145.67769586079544 0 0 0 0 +3834 1 1.6201 1 255.91014389022973 169.40932517108834 0 0 0 0 +3836 1 1.6196 1 264.768517702059 161.61564799372795 0 0 0 0 +3878 1 1.6123 1 263.52825859996227 162.55663893461633 0 0 0 0 +3550 1 1.682 1 215.65205664902956 148.5148908070189 0 0 0 0 +3925 1 1.6025 1 253.80170873735594 162.68210298143458 0 0 0 0 +3948 1 1.597 1 252.982373283922 183.82561023869448 0 0 0 0 +3950 1 1.5963 1 254.37763091598597 148.02633482467064 0 0 0 0 +3971 1 1.5916 1 218.43564768291003 160.50023151351317 0 0 0 0 +4006 1 1.5821 1 255.7207805166097 158.7028796770482 0 0 0 0 +4021 1 1.5795 1 219.72463762218453 161.37309191377062 0 0 0 0 +4025 1 1.5785 1 239.02104217147607 169.62716077532752 0 0 0 0 +4073 1 1.5707 1 233.31879581845294 191.6525212014977 0 0 0 0 +4096 1 1.5677 1 247.08413389583257 153.859902596355 0 0 0 0 +4097 1 1.567 1 223.18507986117902 166.3314175337369 0 0 0 0 +9750 1 1.0129 1 262.09543057570824 160.79738537121827 0 0 0 0 +4159 1 1.5565 1 256.00081177533747 180.15141101435998 0 0 0 0 +4167 1 1.5556 1 229.87128994255102 183.61657226330036 0 0 0 0 +4178 1 1.5534 1 263.3353465823641 161.0171156519941 0 0 0 0 +9914 1 1.0045 1 236.93320925686376 170.53740679252937 0 0 0 0 +4210 1 1.5477 1 243.15114092655176 145.42804089366183 0 0 0 0 +4221 1 1.5465 1 226.7504136808201 185.8246687192424 0 0 0 0 +4228 1 1.5461 1 212.11286345585853 161.38345381126638 0 0 0 0 +6204 1 1.2713 1 220.35014114984548 152.18523929507907 0 0 0 0 +4277 1 1.5368 1 239.679198016877 194.73326411516857 0 0 0 0 +4288 1 1.535 1 247.54617413533842 163.08119366876716 0 0 0 0 +4299 1 1.5325 1 247.22724822797505 170.465470732055 0 0 0 0 +4300 1 1.5325 1 247.7272593481239 169.03608268781764 0 0 0 0 +4303 1 1.5322 1 238.56402435761495 151.46551633296198 0 0 0 0 +9378 1 1.0321 1 259.89322469148306 148.0330824547685 0 0 0 0 +4354 1 1.5225 1 224.9964057831502 193.29373688803784 0 0 0 0 +4388 1 1.5167 1 239.23905960631916 174.5129742908802 0 0 0 0 +4400 1 1.515 1 225.54912776016425 171.0210001814445 0 0 0 0 +4406 1 1.514 1 251.34509943376324 166.21728364451894 0 0 0 0 +4421 1 1.5113 1 227.04119154559234 179.33986608551976 0 0 0 0 +4422 1 1.511 1 228.98046974055183 152.12588719105338 0 0 0 0 +5197 1 1.3887 1 229.30127705616837 139.96369243062935 0 0 0 0 +4434 1 1.5085 1 250.44852939894628 167.38629366731692 0 0 0 0 +4441 1 1.5075 1 262.3274347912568 153.76793971292187 0 0 0 0 +4447 1 1.5067 1 255.452722886376 197.19532683329027 0 0 0 0 +5043 1 1.4141 1 266.55465676063227 163.6105090806774 0 0 0 0 +4474 1 1.5021 1 231.41878736070768 195.05537228740485 0 0 0 0 +4476 1 1.5019 1 265.92662149444436 174.58812098493357 0 0 0 0 +4525 1 1.4939 1 262.73186065970395 174.78363309111538 0 0 0 0 +4548 1 1.4896 1 236.84469288220663 145.81592469813347 0 0 0 0 +4554 1 1.4883 1 246.73797480575564 161.8729947260386 0 0 0 0 +4572 1 1.4856 1 234.5965552383758 194.0697759290932 0 0 0 0 +9942 1 1.0032 1 239.96101523846355 147.7191223230904 0 0 0 0 +4605 1 1.4797 1 243.82163994661755 179.13878640917906 0 0 0 0 +4673 1 1.4685 1 228.45229067995982 193.58081586299627 0 0 0 0 +4688 1 1.466 1 260.3652866676208 155.37117828240565 0 0 0 0 +4699 1 1.4651 1 252.63549125220132 200.47735140173333 0 0 0 0 +4743 1 1.4574 1 225.16348750172315 166.40287722271148 0 0 0 0 +9823 1 1.0088 1 234.22617443642122 187.95426805528749 0 0 0 0 +4784 1 1.4511 1 252.03409594728652 151.8743949034467 0 0 0 0 +4795 1 1.4499 1 213.5019119144946 161.91597425469186 0 0 0 0 +4805 1 1.4481 1 224.67315512147763 154.92058095023128 0 0 0 0 +4865 1 1.4389 1 254.7515165599644 200.3961199354013 0 0 0 0 +9940 1 1.0033 1 228.48603978007654 195.2487211374754 0 0 0 0 +4940 1 1.4271 1 261.9302797390527 155.15061493471504 0 0 0 0 +8878 1 1.0587 1 220.21022777002887 143.71256598510882 0 0 0 0 +4961 1 1.4248 1 250.80654615113554 153.97379066588152 0 0 0 0 +2257 1 2.1148 1 215.47339369154736 143.6225252680119 0 0 0 0 +5008 1 1.4195 1 233.32685976428948 184.17309158619503 0 0 0 0 +6170 1 1.2754 1 216.04471419393408 150.50083542679644 0 0 0 0 +9528 1 1.0244 1 243.2681417218454 166.95941035078948 0 0 0 0 +5062 1 1.4112 1 237.49979965598305 172.61229221957242 0 0 0 0 +9820 1 1.0088 1 245.7486287462433 163.90018350711077 0 0 0 0 +1510 1 2.5658 1 264.4444909302757 149.60496232438874 0 0 0 0 +5089 1 1.4054 1 263.4443151550001 154.6504774341493 0 0 0 0 +5146 1 1.3971 1 225.69706210212723 164.4234143580819 0 0 0 0 +5178 1 1.3914 1 262.44151523066694 149.9790940964432 0 0 0 0 +5212 1 1.3874 1 230.41119410695904 168.710675688238 0 0 0 0 +9894 1 1.0053 1 225.768892892781 174.69829822929128 0 0 0 0 +5235 1 1.3842 1 237.1353962738179 151.58471913758842 0 0 0 0 +5261 1 1.3807 1 256.9374276774049 175.7311790552498 0 0 0 0 +5298 1 1.3762 1 234.79818597296858 192.6925972693611 0 0 0 0 +5346 1 1.3703 1 251.96091430816142 178.37757421035886 0 0 0 0 +5357 1 1.3688 1 261.2042028583536 161.5167176328745 0 0 0 0 +5380 1 1.3665 1 265.0653435484998 157.8158356422613 0 0 0 0 +5385 1 1.3662 1 255.27510111666004 188.76241324178073 0 0 0 0 +5386 1 1.3657 1 250.7482251670162 177.87615106832692 0 0 0 0 +5433 1 1.3586 1 255.9339939181868 201.10479728789335 0 0 0 0 +5500 1 1.3504 1 253.58219293908297 156.57544460116804 0 0 0 0 +5565 1 1.3424 1 256.40361490781066 174.56735119983958 0 0 0 0 +5580 1 1.3402 1 255.81640366448883 148.05430946114583 0 0 0 0 +5606 1 1.3363 1 236.07370804933578 192.24509929763803 0 0 0 0 +5624 1 1.3343 1 259.08850832839073 169.37053019604235 0 0 0 0 +5642 1 1.3328 1 258.6581804218183 185.757559341447 0 0 0 0 +499 1 4.3651 1 218.2314560126951 141.15166141598334 0 0 0 0 +9524 1 1.0246 1 229.96627018804435 190.24734168122592 0 0 0 0 +5707 1 1.3249 1 243.19133262329598 177.96831876843876 0 0 0 0 +9508 1 1.0255 1 253.87272528191383 181.55008454721352 0 0 0 0 +5752 1 1.3202 1 211.34218392938786 156.8494032088882 0 0 0 0 +5756 1 1.3197 1 217.08240632147448 160.09471048922828 0 0 0 0 +5757 1 1.3193 1 256.4108328823097 194.31277530598615 0 0 0 0 +2381 1 2.0553 1 223.67384467092452 150.90617437127153 0 0 0 0 +5805 1 1.314 1 237.7953491273483 176.4861344953018 0 0 0 0 +5844 1 1.3102 1 244.5285148085182 194.59075256533418 0 0 0 0 +5895 1 1.3052 1 234.47066885772543 184.83891992133908 0 0 0 0 +5937 1 1.3013 1 243.41576272899843 196.93810989284304 0 0 0 0 +5946 1 1.3 1 256.5207266310585 165.2421436104096 0 0 0 0 +5948 1 1.2999 1 252.57920368365012 157.35077086183313 0 0 0 0 +5955 1 1.2993 1 264.5004546189713 160.18773275028988 0 0 0 0 +5962 1 1.2986 1 217.31852460569186 157.74712767846907 0 0 0 0 +9819 1 1.0088 1 258.61562316744835 159.93761790504388 0 0 0 0 +5972 1 1.2974 1 254.06461093968747 149.39546437869794 0 0 0 0 +6005 1 1.294 1 234.74926977243518 195.37295178053293 0 0 0 0 +6019 1 1.2926 1 263.7078037897461 170.02270268990284 0 0 0 0 +6038 1 1.2908 1 252.43866704131082 190.01119816884457 0 0 0 0 +6088 1 1.2846 1 237.1436401437973 148.65561602421602 0 0 0 0 +6116 1 1.282 1 234.1501705958167 186.8542315323307 0 0 0 0 +6134 1 1.2803 1 261.3145308976298 156.32807009957585 0 0 0 0 +6152 1 1.2779 1 260.996169128826 154.21575534475528 0 0 0 0 +6183 1 1.2739 1 234.44413024705312 189.03105036162577 0 0 0 0 +6192 1 1.2725 1 253.73877054341034 201.2037424258506 0 0 0 0 +6217 1 1.2691 1 238.1136692723752 168.63112969512 0 0 0 0 +6252 1 1.2648 1 242.19082641858574 196.59243914676256 0 0 0 0 +6259 1 1.264 1 238.4026953889627 148.78371876397844 0 0 0 0 +6310 1 1.2603 1 260.99291452960546 148.14462145399824 0 0 0 0 +6312 1 1.2601 1 244.49829979330397 145.81845962796464 0 0 0 0 +9889 1 1.0056 1 228.6370280817878 183.49576017966177 0 0 0 0 +6346 1 1.2574 1 231.37816797254217 154.95564715821095 0 0 0 0 +6351 1 1.257 1 238.58852243866446 173.3581497990607 0 0 0 0 +5692 1 1.3267 1 214.4444143226379 153.91831547122385 0 0 0 0 +6452 1 1.2473 1 259.98228948389476 149.11992253239336 0 0 0 0 +6458 1 1.2469 1 234.9048940593063 183.67284296409943 0 0 0 0 +6464 1 1.2464 1 250.99658464903084 179.24977695513408 0 0 0 0 +6468 1 1.2461 1 227.46744396485047 180.60280529296364 0 0 0 0 +6480 1 1.2453 1 249.61727253747472 154.51929579556057 0 0 0 0 +6485 1 1.2448 1 260.3358552104967 173.7897960629229 0 0 0 0 +6490 1 1.2443 1 249.9987364950433 185.86651905153428 0 0 0 0 +6508 1 1.2422 1 226.87007556271007 184.46356890506252 0 0 0 0 +6520 1 1.2411 1 226.7175125834249 170.31454439368315 0 0 0 0 +7500 1 1.1524 1 215.77185497307948 142.1340459649407 0 0 0 0 +6549 1 1.2378 1 228.1265243883298 175.4478865368691 0 0 0 0 +6558 1 1.2367 1 262.24281666469966 181.35920867587643 0 0 0 0 +6565 1 1.2361 1 230.03794985894996 151.27983853762447 0 0 0 0 +6585 1 1.2336 1 258.18976121554516 175.9451908435746 0 0 0 0 +6589 1 1.2332 1 259.3400762925657 184.67781500463101 0 0 0 0 +6595 1 1.232 1 252.90677911167737 172.16229123770842 0 0 0 0 +9925 1 1.0041 1 226.1850070704431 165.52167315793878 0 0 0 0 +6665 1 1.2254 1 217.4141763991524 158.9462584802442 0 0 0 0 +6674 1 1.2247 1 229.60563198898757 194.75187112301344 0 0 0 0 +6700 1 1.2223 1 232.57423882673757 151.2265119088969 0 0 0 0 +6721 1 1.2204 1 219.1287345707342 162.6398888316861 0 0 0 0 +207 1 6.6742 1 212.08708058822805 150.73032238573725 0 0 0 0 +6767 1 1.2163 1 224.20033589631979 157.04069889380173 0 0 0 0 +6769 1 1.2161 1 258.81543872724166 149.45750751044758 0 0 0 0 +9427 1 1.0293 1 242.39654110931636 167.52714963994424 0 0 0 0 +9844 1 1.008 1 258.9174341928122 148.04717930165558 0 0 0 0 +6887 1 1.2033 1 255.73878510075284 187.63612758031766 0 0 0 0 +6889 1 1.2032 1 256.50497363510044 196.07919176513684 0 0 0 0 +6941 1 1.1989 1 253.29803979560225 182.4773419568765 0 0 0 0 +6960 1 1.1977 1 242.46737513966667 195.42565230004416 0 0 0 0 +6983 1 1.1958 1 261.35642248765737 174.4432702959528 0 0 0 0 +8117 1 1.1066 1 266.2542679994912 155.95546356833287 0 0 0 0 +7064 1 1.1887 1 243.60522829073926 195.77192675610976 0 0 0 0 +7078 1 1.1878 1 221.91413977839156 167.86664660626417 0 0 0 0 +7088 1 1.1872 1 259.5558348880276 183.49785278592114 0 0 0 0 +7095 1 1.1865 1 227.66316500431432 160.94606353917757 0 0 0 0 +7099 1 1.1858 1 257.61046007782784 157.3729811187342 0 0 0 0 +7307 1 1.1699 1 266.1919091845502 172.34843390433932 0 0 0 0 +9551 1 1.0232 1 213.2260685982238 155.63022273874043 0 0 0 0 +7159 1 1.1813 1 247.06631913383902 171.75167848619384 0 0 0 0 +7209 1 1.1775 1 250.4461343089919 156.66236664468366 0 0 0 0 +7259 1 1.1735 1 237.66242733628198 169.7458922710704 0 0 0 0 +7270 1 1.1731 1 248.03051558956213 179.39455865120567 0 0 0 0 +7278 1 1.1727 1 257.8745788523165 177.72433216152538 0 0 0 0 +9128 1 1.0458 1 220.00080580084105 139.20222719193748 0 0 0 0 +7310 1 1.1696 1 248.0224723648122 198.4206353182871 0 0 0 0 +7335 1 1.1678 1 205.09833083777914 160.07415610944423 0 0 0 0 +7368 1 1.164 1 238.6510650387276 177.37886640549638 0 0 0 0 +7414 1 1.1601 1 257.07556369036115 189.74502093581825 0 0 0 0 +7440 1 1.1575 1 235.47759366845753 173.86096200103253 0 0 0 0 +7453 1 1.1567 1 254.82137155186052 201.68214741558546 0 0 0 0 +7455 1 1.1565 1 232.33110865104814 190.64240131668961 0 0 0 0 +7481 1 1.1543 1 240.04879544808554 168.50365082469253 0 0 0 0 +6832 1 1.2089 1 209.24916048175893 155.94937970096166 0 0 0 0 +3280 1 1.7451 1 217.3265502058014 144.02979102980962 0 0 0 0 +7508 1 1.1518 1 228.03371520613877 181.63846008634968 0 0 0 0 +7544 1 1.1488 1 251.9582013672078 192.08716256357715 0 0 0 0 +7577 1 1.1458 1 256.7261231589385 197.22489357284763 0 0 0 0 +9644 1 1.0182 1 228.9298420191572 174.69384589335397 0 0 0 0 +7595 1 1.1443 1 230.22396588740568 185.8677697262896 0 0 0 0 +7639 1 1.1412 1 244.9324202874434 176.09180710757207 0 0 0 0 +7664 1 1.139 1 260.61066094644093 183.0299038927416 0 0 0 0 +7705 1 1.1359 1 249.99090088767886 188.0065218639978 0 0 0 0 +7709 1 1.1356 1 224.2588551024919 171.21086466478232 0 0 0 0 +6926 1 1.1997 1 214.01207827720617 144.319107199191 0 0 0 0 +7743 1 1.1332 1 253.14365058955002 147.5948118896591 0 0 0 0 +2655 1 1.945 1 204.28778818742379 202.73592313970246 0 0 0 0 +7778 1 1.1305 1 228.75580279362313 182.48489717713903 0 0 0 0 +7783 1 1.1302 1 236.25916999217503 149.45278016437263 0 0 0 0 +7797 1 1.129 1 231.20538261219536 151.33873902584327 0 0 0 0 +3430 1 1.709 1 222.440136172519 156.88459445059075 0 0 0 0 +7849 1 1.1254 1 257.15384821113986 176.89285643974864 0 0 0 0 +7860 1 1.1239 1 252.04050366000163 153.714681070089 0 0 0 0 +7874 1 1.1231 1 249.30993235170078 147.0211594850723 0 0 0 0 +7879 1 1.1229 1 206.04021754560432 160.69245626171428 0 0 0 0 +7898 1 1.1216 1 262.7901923829254 156.03951761946624 0 0 0 0 +8006 1 1.1142 1 246.75695277856912 160.6433310737348 0 0 0 0 +8024 1 1.1132 1 246.46043600276116 169.44655022265542 0 0 0 0 +8045 1 1.1116 1 206.09206511806124 159.5533675855493 0 0 0 0 +8047 1 1.1115 1 210.37884982225688 156.14041478203376 0 0 0 0 +8049 1 1.1113 1 248.87342838099076 161.44479885823742 0 0 0 0 +8051 1 1.1113 1 261.38249759472365 182.22295055990872 0 0 0 0 +8054 1 1.1112 1 251.397258336949 157.29815873686442 0 0 0 0 +8057 1 1.1108 1 256.45876718136253 188.52910144797997 0 0 0 0 +8072 1 1.1095 1 255.7169061864727 186.54206290315764 0 0 0 0 +8081 1 1.1086 1 261.696606340769 175.49939637496652 0 0 0 0 +8082 1 1.1086 1 255.40770725640647 157.41758220818562 0 0 0 0 +8107 1 1.1072 1 235.4125399648239 168.0123983756689 0 0 0 0 +7155 1 1.1815 1 265.13224807977247 147.8353453429199 0 0 0 0 +2228 1 2.1246 1 210.0710429150891 154.56052295843273 0 0 0 0 +8121 1 1.1063 1 246.7071820195126 151.2761738583309 0 0 0 0 +8126 1 1.1059 1 253.41721918584045 161.43728544559596 0 0 0 0 +8180 1 1.1024 1 224.7610030519843 146.48237143048257 0 0 0 0 +5221 1 1.3866 1 223.64382985578973 155.8920579868326 0 0 0 0 +8228 1 1.0998 1 243.34708219901285 194.73364111809852 0 0 0 0 +8230 1 1.0997 1 249.03903459884236 159.15289459753663 0 0 0 0 +8243 1 1.0985 1 229.17640948119913 188.92130956468398 0 0 0 0 +8267 1 1.0969 1 260.6481736448899 175.2809984514978 0 0 0 0 +8270 1 1.0968 1 251.47027470235903 164.9272393063046 0 0 0 0 +8271 1 1.0968 1 261.8903527871157 176.5127943875966 0 0 0 0 +8313 1 1.0936 1 241.52561459049437 194.81940082144112 0 0 0 0 +8330 1 1.0923 1 246.2565752736874 163.03078874221546 0 0 0 0 +8472 1 1.083 1 256.49661988800074 157.60591325780592 0 0 0 0 +8479 1 1.0823 1 245.06139485287545 179.26522172260457 0 0 0 0 +8515 1 1.0801 1 245.7385869108982 180.07007010298878 0 0 0 0 +8555 1 1.0777 1 256.81227991788876 164.14865357801074 0 0 0 0 +406 1 4.9037 1 217.43134433647128 154.72598038338788 0 0 0 0 +8607 1 1.0746 1 250.18801398159414 155.5026482387068 0 0 0 0 +8615 1 1.0739 1 243.1166258614981 153.09058161327218 0 0 0 0 +8629 1 1.0731 1 258.62673938120133 158.90453936965562 0 0 0 0 +8688 1 1.0706 1 226.94471279471415 181.58813433155956 0 0 0 0 +8696 1 1.0701 1 257.5777031944349 200.51930745236075 0 0 0 0 +8741 1 1.0674 1 250.66768851003985 184.95642709405854 0 0 0 0 +8790 1 1.064 1 214.5892055135772 162.5075267064696 0 0 0 0 +8799 1 1.0635 1 264.03152379566063 147.86514035566316 0 0 0 0 +8813 1 1.0625 1 238.60399694823525 175.62660573670345 0 0 0 0 +8819 1 1.062 1 242.87696015092814 151.2735130639026 0 0 0 0 +8827 1 1.0617 1 247.95347388360304 161.87625777066765 0 0 0 0 +8836 1 1.0611 1 245.61240262339285 155.97781673915784 0 0 0 0 +8859 1 1.0595 1 249.57918855361828 177.7873273672264 0 0 0 0 +8867 1 1.059 1 252.38673863714797 160.49077849727414 0 0 0 0 +8869 1 1.059 1 208.8480544114127 156.9494235464071 0 0 0 0 +8875 1 1.0587 1 249.17469664458153 149.62246717764953 0 0 0 0 +8879 1 1.0587 1 255.18183066391268 149.03440534839316 0 0 0 0 +8885 1 1.0581 1 238.08565657128403 178.33112694675435 0 0 0 0 +8944 1 1.0554 1 263.2470864343363 168.58739150173116 0 0 0 0 +8947 1 1.0554 1 253.13978073383907 171.09255276491476 0 0 0 0 +9818 1 1.0089 1 264.76792805678605 162.9075826212277 0 0 0 0 +8996 1 1.053 1 236.89830621033082 171.5599415551518 0 0 0 0 +9020 1 1.0517 1 241.30375728881708 167.92389435155502 0 0 0 0 +9021 1 1.0517 1 252.33873160991558 170.50667357208133 0 0 0 0 +9063 1 1.0494 1 251.34041900255693 152.88469769088633 0 0 0 0 +7153 1 1.1819 1 230.56646487680592 139.94780810356647 0 0 0 0 +9086 1 1.0479 1 255.60799335586438 202.4057776264618 0 0 0 0 +9101 1 1.047 1 250.3761092054462 147.20977913038183 0 0 0 0 +9134 1 1.0453 1 265.8831604698066 156.94494188252582 0 0 0 0 +9136 1 1.0453 1 257.4790440587141 188.74833429710029 0 0 0 0 +9137 1 1.0453 1 244.0196821953183 167.66489354936772 0 0 0 0 +9145 1 1.0449 1 224.1375507544257 192.11527281578242 0 0 0 0 +9153 1 1.0446 1 224.98957822995848 195.57476808122163 0 0 0 0 +9154 1 1.0445 1 252.0798796728356 171.4282848064462 0 0 0 0 +9198 1 1.0419 1 261.1472745153972 160.3637186775607 0 0 0 0 +9220 1 1.0409 1 265.74515815974564 162.70318502346052 0 0 0 0 +9248 1 1.0395 1 248.01301409522742 160.76186347454808 0 0 0 0 +9253 1 1.0393 1 236.01319201030702 148.41139197192368 0 0 0 0 +276 1 5.9573 1 219.3459353215856 147.24972107447874 0 0 0 0 +9298 1 1.0367 1 257.79397082672676 174.8881029650132 0 0 0 0 +9315 1 1.0354 1 226.47044062994652 169.2772345536895 0 0 0 0 +9330 1 1.0346 1 252.26621820010055 196.5172186623669 0 0 0 0 +9347 1 1.0338 1 238.76450703905547 172.29026750798073 0 0 0 0 +9362 1 1.0328 1 249.5097192182855 148.06869355218907 0 0 0 0 +5827 1 1.3118 1 213.23724696982782 154.50351054328524 0 0 0 0 +8782 1 1.0643 1 219.21095976894148 152.34769697275271 0 0 0 0 +690 1 3.8067 1 222.4301271297198 153.62463052145387 0 0 0 0 +3434 1 1.7085 1 221.49023044159003 144.21210205557873 0 0 0 0 +9127 1 1.0459 1 220.0308685250426 153.29429859859306 0 0 0 0 +4815 1 1.4465 1 233.6551863089289 140.79752835927707 0 0 0 0 +4212 1 1.5475 1 206.49349144361594 147.130874931158 0 0 0 0 +2053 1 2.208 1 208.10220687987086 148.03586472620916 0 0 0 0 +647 1 3.8965 1 265.8208585586608 153.5078614863338 0 0 0 0 +1482 1 2.594 1 217.86788479562918 151.12302204817732 0 0 0 0 +7204 1 1.1777 1 225.63289180442388 145.76399070808532 0 0 0 0 +4565 1 1.4869 1 215.98563933064403 151.88610768115183 0 0 0 0 +6724 1 1.2203 1 222.7962571455085 146.2647428275885 0 0 0 0 +1086 1 3.0375 1 223.6482424838904 148.21357467899645 0 0 0 0 +3875 1 1.6127 1 209.78294621427483 147.31424471229974 0 0 0 0 +4049 1 1.5745 1 210.97078854953088 146.37401697243973 0 0 0 0 +6890 1 1.2032 1 219.0889421498592 143.73667163353508 0 0 0 0 +8956 1 1.0549 1 205.71618796942047 202.36120993319295 0 0 0 0 +7725 1 1.1347 1 225.76812273670328 146.9548251529049 0 0 0 0 +7034 1 1.1909 1 234.76250557003758 141.50794772614094 0 0 0 0 +5697 1 1.3263 1 212.1793924205815 145.6599903101046 0 0 0 0 +8912 1 1.057 1 213.08245964807273 144.8937572175497 0 0 0 0 +6851 1 1.2073 1 235.83106134190976 142.04520550861886 0 0 0 0 +3066 1 1.8084 1 267.3705737304355 175.3171105359125 0 0 0 0 +1701 1 2.4231 1 221.47635250604822 150.74080643698778 0 0 0 0 +137 1 7.9982 1 224.29310574392733 140.39376393709753 0 0 0 0 +9165 1 1.0436 1 219.69792546829385 150.82194056728284 0 0 0 0 +871 1 3.4229 1 267.267981082363 148.622289579742 0 0 0 0 +8767 1 1.0653 1 212.14921708996764 146.87370944077668 0 0 0 0 +9234 1 1.0404 1 213.29524719007574 145.8490056192361 0 0 0 0 +6 1 40.6337 1 206.14210627068462 181.5551075506276 0 0 0 0 +7464 1 1.156 1 223.89984976797444 145.7693436786386 0 0 0 0 +197 1 6.9082 1 267.10270652821595 167.71648915525807 0 0 0 0 +6604 1 1.2312 1 230.63109993739232 138.74811881251998 0 0 0 0 +5083 1 1.4071 1 267.36863299553755 171.85348846558892 0 0 0 0 +3 1 93.5499 1 230.6293325408126 242.53415784534673 0 0 0 0 +7756 1 1.1318 1 260.9099281854511 206.1385265358476 0 0 0 0 +7246 1 1.174 1 264.85564031198356 209.81163096136476 0 0 0 0 +4307 1 1.5313 1 263.0085467007231 208.07092509188072 0 0 0 0 +2427 1 2.0373 1 266.18396677287313 210.65174016881537 0 0 0 0 +4058 1 1.5734 1 267.1611582879057 212.14324546407462 0 0 0 0 +6410 1 1.2507 1 264.0482638442489 208.9502271464297 0 0 0 0 +5712 1 1.3246 1 261.9474037625025 207.1181503602573 0 0 0 0 +7144 1 1.1828 1 259.0324228172276 203.60639545836273 0 0 0 0 +3015 1 1.8223 1 259.6730141384413 204.91572580036967 0 0 0 0 +4960 1 1.4248 1 203.09538635248154 203.88615845865252 0 0 0 0 +7 1 38.9695 1 207.19434442044823 303.43728532660367 0 0 0 0 +9099 1 1.0471 1 265.57326545626285 311.8557641053617 0 0 0 0 +15 1 28.8055 1 243.96810628883122 306.13144166738397 0 0 0 0 +5523 1 1.3484 1 213.3077447259043 330.6888682118512 0 0 -1 0 +222 1 6.4668 1 259.9619228362416 291.1708860440642 0 0 0 0 +236 1 6.3097 1 246.63587493566365 327.40998836814566 0 0 0 0 +4444 1 1.5071 1 217.38044734368793 326.55134705085464 0 0 -1 0 +7566 1 1.1466 1 266.1173025167928 300.41991854676866 0 0 0 0 +6897 1 1.2023 1 213.2033736818302 325.48985874903747 0 0 0 0 +270 1 6.0055 1 263.49926805828926 296.2368893075318 0 0 0 0 +9744 1 1.013 1 235.66212240635437 293.7740964105621 0 0 0 0 +309 1 5.6606 1 223.65549335081357 325.15556564392256 0 0 0 0 +313 1 5.629 1 233.18199681943858 322.4377432968035 0 0 0 0 +350 1 5.3344 1 228.53446067324452 315.1858648951393 0 0 0 0 +4786 1 1.4508 1 205.93599792869722 329.7202278320273 0 0 -1 0 +4828 1 1.445 1 258.2873709545415 281.0398448555553 0 0 0 0 +469 1 4.5672 1 224.96134040571437 291.1402935834618 0 0 0 0 +477 1 4.5184 1 248.177019613499 290.14764624141935 0 0 0 0 +9840 1 1.0082 1 240.89339723952781 329.3070862847131 0 0 0 0 +506 1 4.3387 1 247.1430249466318 322.2531831290611 0 0 0 0 +521 1 4.2957 1 240.54508113508265 323.1653806129021 0 0 0 0 +552 1 4.1937 1 254.9518681750876 289.63064123967183 0 0 0 0 +557 1 4.1826 1 261.894577696145 308.62264122119194 0 0 0 0 +602 1 4.0103 1 257.45472949176474 284.43231167356726 0 0 0 0 +620 1 3.954 1 250.86640134068494 286.8760275984456 0 0 0 0 +627 1 3.9397 1 229.66820785573822 325.59660979583373 0 0 0 0 +644 1 3.9085 1 259.87078612461744 302.6855689099027 0 0 0 0 +674 1 3.8371 1 222.11296014174127 318.5358187487028 0 0 0 0 +707 1 3.7702 1 228.5556089749944 321.99111693646114 0 0 0 0 +716 1 3.7568 1 229.84861895838745 295.0493155507953 0 0 0 0 +4623 1 1.4779 1 234.45152055070392 330.4733521044184 0 0 -1 0 +795 1 3.6 1 263.1386620429541 304.43469606198715 0 0 0 0 +810 1 3.5646 1 251.20364082567133 322.1963347029237 0 0 0 0 +9550 1 1.0233 1 204.40370269983265 323.1943959103499 0 0 -1 0 +837 1 3.495 1 219.17350543106815 323.5148420558279 0 0 0 0 +9652 1 1.0178 1 257.7332922580622 296.40606476378457 0 0 0 0 +888 1 3.3781 1 256.32726550524916 316.14939744632454 0 0 0 0 +892 1 3.3733 1 231.50433051905648 290.85271033583575 0 0 0 0 +1852 1 2.3298 1 214.92322666869032 328.8943651987567 0 0 -1 0 +947 1 3.2524 1 228.17032387049946 328.76551954886 0 0 0 0 +949 1 3.2507 1 230.06595507432584 298.45504932446204 0 0 0 0 +8282 1 1.0962 1 206.79950609192417 283.4139201201763 0 0 0 0 +1049 1 3.0912 1 226.57321337673866 295.5685833803909 0 0 0 0 +1107 1 3.0061 1 232.77096694822117 293.61226689397694 0 0 0 0 +9501 1 1.0259 1 242.62806626418745 324.92375652775706 0 0 0 0 +1200 1 2.9038 1 228.51429218584144 290.65983081955727 0 0 0 0 +1232 1 2.8746 1 231.75446960409337 317.70622579260447 0 0 0 0 +1281 1 2.8095 1 254.691163120143 293.1064326324413 0 0 0 0 +2541 1 1.9923 1 214.90942748296214 330.99278775917765 0 0 -1 0 +9713 1 1.0145 1 209.15919276654392 323.2575630243462 0 0 0 0 +1300 1 2.7928 1 227.3453958815001 318.9854015898004 0 0 0 0 +5590 1 1.3384 1 265.3478184849774 274.82642422588384 0 0 0 0 +1340 1 2.7451 1 259.03138070216625 311.4786690832557 0 0 0 0 +1345 1 2.7429 1 236.00875601434052 319.5825476440511 0 0 0 0 +9835 1 1.0084 1 241.4966626939761 290.6270907041508 0 0 0 0 +1369 1 2.7168 1 260.79142691341775 299.54527613767846 0 0 0 0 +1376 1 2.7076 1 242.22457419457018 328.06966071224946 0 0 0 0 +1797 1 2.3565 1 265.29946133111946 306.4119869494981 0 0 0 0 +1382 1 2.7014 1 262.7929410927312 301.312652393017 0 0 0 0 +6785 1 1.2143 1 263.63513380077774 285.0795229476452 0 0 0 0 +1421 1 2.6597 1 237.73434457594834 290.0038691193182 0 0 0 0 +1422 1 2.6588 1 251.6658789178558 290.03773392036385 0 0 0 0 +1427 1 2.6532 1 252.00304946353384 292.7062713487846 0 0 0 0 +1428 1 2.6531 1 219.32451832995022 320.31006299242483 0 0 0 0 +1457 1 2.6122 1 214.44570200626248 324.07276526588055 0 0 0 0 +1563 1 2.5231 1 250.366558530152 325.0703101781972 0 0 0 0 +1612 1 2.4839 1 258.24264404290176 298.0488373836344 0 0 0 0 +1261 1 2.842 1 262.93270904143566 283.2474886438125 0 0 0 0 +8950 1 1.0551 1 207.0204965121016 326.19185567069053 0 0 -1 0 +1652 1 2.4528 1 254.18968966788364 319.35146247519674 0 0 0 0 +5821 1 1.3122 1 214.52463422617728 327.0030483214247 0 0 -1 0 +1658 1 2.4483 1 239.88802925515614 291.1759000266891 0 0 0 0 +1673 1 2.4414 1 244.2107680478607 290.655837218688 0 0 0 0 +1695 1 2.4278 1 224.99669630292746 313.81069012475865 0 0 0 0 +1704 1 2.4209 1 236.0566428147372 325.2059699546224 0 0 0 0 +1705 1 2.4183 1 264.24841235383883 292.18209509083476 0 0 0 0 +5952 1 1.2995 1 258.77915529016536 282.2203332583046 0 0 0 0 +9997 1 1.0001 1 211.57467970472044 324.3732083343873 0 0 -1 0 +1888 1 2.3071 1 228.0586387039082 302.61961373093 0 0 0 0 +1907 1 2.2954 1 251.94366908552058 319.40213895404906 0 0 0 0 +1936 1 2.2794 1 259.5775177305215 313.9279160170151 0 0 0 0 +1949 1 2.27 1 227.38094017465767 307.44288825812055 0 0 0 0 +2057 1 2.207 1 259.08099566073554 286.98399576877995 0 0 0 0 +9836 1 1.0084 1 217.45189957784473 322.1603339924994 0 0 0 0 +2069 1 2.198 1 235.35575503698698 291.47358388186495 0 0 0 0 +6232 1 1.2672 1 240.46081688954703 327.3716244058302 0 0 -1 0 +2184 1 2.1447 1 261.4118553976778 311.7232997630771 0 0 0 0 +2195 1 2.14 1 244.41846015002375 323.8452305423051 0 0 0 0 +2217 1 2.1285 1 256.2750911139249 296.9040890471191 0 0 0 0 +2335 1 2.0746 1 240.85479154834985 289.2189819535274 0 0 0 0 +2352 1 2.0675 1 251.20424996643635 327.1374364880489 0 0 0 0 +2376 1 2.0567 1 221.43637948772198 322.08339361050344 0 0 0 0 +2379 1 2.0555 1 229.7167496871377 319.02861474823067 0 0 0 0 +8591 1 1.0757 1 207.24430861873876 323.83768119639274 0 0 0 0 +2966 1 1.8433 1 207.92593580586515 327.32710077780325 0 0 -1 0 +2516 1 2.0054 1 229.4508398197924 300.99491308791096 0 0 0 0 +3048 1 1.8129 1 210.52249500220262 323.5170207032572 0 0 0 0 +2551 1 1.9892 1 243.17211254910467 321.46043808737954 0 0 0 0 +2574 1 1.9798 1 227.58999758843942 309.8146185349819 0 0 0 0 +2589 1 1.9744 1 264.6442429758851 299.97802551743854 0 0 0 0 +5211 1 1.3874 1 204.6446794951241 331.7812114719653 0 0 -1 0 +2609 1 1.9632 1 239.62481456428463 326.0661123562229 0 0 0 0 +2635 1 1.9552 1 258.9602153263427 309.18291681115625 0 0 0 0 +2646 1 1.9503 1 259.3168299856175 306.20928633268227 0 0 0 0 +9095 1 1.0472 1 263.635828107298 306.69518125164797 0 0 0 0 +9348 1 1.0337 1 261.6642665509756 281.80323129470344 0 0 0 0 +9183 1 1.0429 1 255.87913085745603 318.27822358660376 0 0 0 0 +2673 1 1.9412 1 228.73218086045384 304.6260722926683 0 0 0 0 +2712 1 1.9259 1 246.81343112930946 287.33408507438344 0 0 0 0 +9225 1 1.0407 1 226.45971760091714 308.8167403111471 0 0 0 0 +2835 1 1.8836 1 254.70467692502044 285.520589733437 0 0 0 0 +2857 1 1.8771 1 255.9426950427418 286.8625618945504 0 0 0 0 +2886 1 1.866 1 225.77889389965654 322.1117724854499 0 0 0 0 +838 1 3.4858 1 261.7888910297212 286.48188221296624 0 0 0 0 +2939 1 1.8507 1 257.0893200003661 294.15052235421314 0 0 0 0 +2975 1 1.8403 1 226.13038293257128 310.9744154708293 0 0 0 0 +2987 1 1.8364 1 216.2992980957478 322.89941599454806 0 0 0 0 +2996 1 1.8339 1 224.05826286806874 320.4828390872663 0 0 0 0 +3047 1 1.8129 1 221.5939325623703 289.18505570695925 0 0 0 0 +8780 1 1.0645 1 230.86859731722632 292.9245922111991 0 0 0 0 +3909 1 1.6062 1 205.7219212299235 325.85236452794635 0 0 -1 0 +3104 1 1.7963 1 225.73053535105916 329.16685017426244 0 0 0 0 +3917 1 1.604 1 263.0248968892805 288.6249767867442 0 0 0 0 +3184 1 1.7694 1 264.5937702859421 309.659911639495 0 0 0 0 +3225 1 1.7587 1 253.68205744861308 286.97976608233324 0 0 0 0 +9862 1 1.0066 1 252.01559757124943 284.68621809653496 0 0 0 0 +3261 1 1.7494 1 255.24530445305618 295.2941862555892 0 0 0 0 +3262 1 1.7493 1 228.96151691538458 308.6193733566042 0 0 0 0 +3413 1 1.7119 1 232.41737281069217 325.91420126358196 0 0 0 0 +9485 1 1.0266 1 208.14421527834028 323.3320667700521 0 0 0 0 +5528 1 1.348 1 212.0676981464758 330.27042893274614 0 0 -1 0 +9536 1 1.0239 1 253.01299995317595 291.2608363926844 0 0 0 0 +3563 1 1.6776 1 238.07313201305027 325.2154203656698 0 0 0 0 +3565 1 1.6775 1 244.17954834704736 330.50864472358677 0 0 0 0 +3581 1 1.6748 1 258.6287788946911 295.00102970557344 0 0 0 0 +3596 1 1.672 1 212.20488695190485 323.101633211891 0 0 0 0 +3688 1 1.6515 1 241.35115333995049 330.5306230378681 0 0 0 0 +3715 1 1.6445 1 241.4022569991583 326.007791563314 0 0 0 0 +6613 1 1.2307 1 230.91883537899963 327.81144440682186 0 0 -1 0 +8932 1 1.056 1 224.77150840418417 316.25768217014524 0 0 0 0 +3820 1 1.6227 1 245.61832053138795 331.22949523598663 0 0 0 0 +4486 1 1.5002 1 260.20719793147526 279.717911783421 0 0 0 0 +5359 1 1.3686 1 242.85507532013006 331.19176142182374 0 0 0 0 +3905 1 1.6065 1 217.33693253354568 320.92466718294014 0 0 0 0 +3928 1 1.6023 1 228.74607536315855 311.1720447632777 0 0 0 0 +9626 1 1.0195 1 225.9028303792674 293.69825216963443 0 0 0 0 +3970 1 1.5918 1 257.53508636716623 312.9499489197238 0 0 0 0 +3988 1 1.5891 1 236.55311322410105 292.92242552581354 0 0 0 0 +9747 1 1.0129 1 246.0293918807679 288.53046622913786 0 0 0 0 +5041 1 1.4147 1 266.1309752353646 309.78743410891315 0 0 0 0 +1100 1 3.0202 1 208.7862898536937 325.17134370096727 0 0 -1 0 +4183 1 1.5525 1 243.83158984034398 288.17759263425336 0 0 0 0 +4199 1 1.5497 1 258.05890118346747 300.7428587309381 0 0 0 0 +8682 1 1.0709 1 215.28386543926283 325.7900251393223 0 0 0 0 +4234 1 1.5447 1 238.04389706266068 320.07170266835277 0 0 0 0 +4244 1 1.5429 1 227.1075655391949 293.314399969418 0 0 0 0 +4245 1 1.5428 1 226.67344827676942 327.00500879709926 0 0 0 0 +4248 1 1.5424 1 227.27750026949002 324.28546782264823 0 0 0 0 +9981 1 1.0011 1 212.11655838919404 325.4106400191296 0 0 -1 0 +4332 1 1.5263 1 227.30699327153346 305.5619467747905 0 0 0 0 +4334 1 1.5259 1 218.71486122290642 327.0666880473406 0 0 0 0 +4348 1 1.5234 1 239.46068606907795 320.54697939914337 0 0 0 0 +8125 1 1.106 1 266.5779459051494 279.59214518167164 0 0 0 0 +4370 1 1.5198 1 253.98118854203065 317.3669731871887 0 0 0 0 +796 1 3.5979 1 233.24960325219863 328.3062105795446 0 0 -1 0 +4798 1 1.4494 1 266.00035318402576 298.9790419814748 0 0 0 0 +4426 1 1.51 1 225.74288171992757 317.05975796025194 0 0 0 0 +4469 1 1.5025 1 231.9155446060926 315.52666135438795 0 0 0 0 +4471 1 1.5023 1 245.19236690548044 287.666634915342 0 0 0 0 +4481 1 1.5008 1 242.942130063892 326.1537138858053 0 0 0 0 +8501 1 1.0808 1 216.10710261747062 326.45784189332915 0 0 0 0 +1887 1 2.3095 1 216.68750094508943 324.8795204224541 0 0 0 0 +4539 1 1.4911 1 223.67759276483378 315.2517937390237 0 0 0 0 +4541 1 1.4909 1 253.51104048921144 321.1935666762037 0 0 0 0 +4560 1 1.4876 1 242.38956507329002 288.5002322508482 0 0 0 0 +4579 1 1.4844 1 214.88590069686643 322.09536217654545 0 0 0 0 +4607 1 1.4794 1 234.66329284549155 294.4005832458729 0 0 0 0 +4638 1 1.4756 1 228.51724969676584 292.8251897755252 0 0 0 0 +4639 1 1.4753 1 253.0612957625084 285.3397904758177 0 0 0 0 +4653 1 1.4728 1 251.18516479668654 329.93347739165836 0 0 0 0 +4656 1 1.4722 1 227.43940423352268 311.9729422476192 0 0 0 0 +8858 1 1.0595 1 212.49054051991507 326.3385220949893 0 0 -1 0 +3375 1 1.7228 1 207.2592369340832 328.8902219741257 0 0 -1 0 +4676 1 1.4681 1 226.73588815986068 298.77244987723907 0 0 0 0 +7483 1 1.1541 1 261.2725744657368 284.28153194746255 0 0 0 0 +4729 1 1.4594 1 231.90911684923006 296.99198142650584 0 0 0 0 +4744 1 1.4573 1 223.08288340587373 321.70125450317596 0 0 0 0 +4751 1 1.4562 1 248.2529098664791 286.5957052457994 0 0 0 0 +851 1 3.4562 1 266.0207278868322 282.8059272547702 0 0 0 0 +5835 1 1.3111 1 208.57621522163635 329.59136963191526 0 0 -1 0 +9174 1 1.0431 1 225.3940533538365 315.46819215987097 0 0 0 0 +8421 1 1.0863 1 204.4332490871355 325.5841992062254 0 0 -1 0 +4814 1 1.4467 1 238.23464613375438 292.16001088845627 0 0 0 0 +4845 1 1.4423 1 263.0797778165428 311.1504008534504 0 0 0 0 +4851 1 1.4413 1 250.24322496631868 319.88995361958587 0 0 0 0 +4929 1 1.4286 1 234.5853672027688 289.86639132848165 0 0 0 0 +4944 1 1.4262 1 250.27026601334362 328.569397950834 0 0 0 0 +4945 1 1.426 1 238.20918502884476 321.52407908950624 0 0 0 0 +4958 1 1.425 1 233.72833888328273 318.8826984243159 0 0 0 0 +8776 1 1.0647 1 225.66484143757194 327.79146444825403 0 0 0 0 +3229 1 1.758 1 264.4196954776494 276.00514455465054 0 0 0 0 +9909 1 1.0046 1 226.44779440554638 323.3537979946487 0 0 0 0 +5088 1 1.4059 1 260.765804298452 305.1194945951374 0 0 0 0 +5100 1 1.4043 1 260.1067663636989 284.73198716044163 0 0 0 0 +5155 1 1.3953 1 259.8569934258947 295.9430151373359 0 0 0 0 +8699 1 1.0698 1 257.4377010186712 281.9153811311009 0 0 0 0 +5229 1 1.3853 1 224.61143706563493 318.98955450329237 0 0 0 0 +5283 1 1.3779 1 220.45791805380927 326.66748308067196 0 0 0 0 +9578 1 1.0217 1 226.31860095764017 297.6042725646279 0 0 0 0 +8966 1 1.0543 1 225.57706862898408 318.30152779478084 0 0 0 0 +5373 1 1.3675 1 260.07442780457706 297.5361019275361 0 0 0 0 +5431 1 1.3587 1 257.8615975184267 314.382829779198 0 0 0 0 +5455 1 1.3553 1 228.2517123799848 296.99109244724826 0 0 0 0 +5506 1 1.35 1 245.0044343251573 289.02781613363567 0 0 0 0 +5532 1 1.3472 1 253.58118061329802 284.0522100536041 0 0 0 0 +5591 1 1.3384 1 227.89204211466574 298.23803781438 0 0 0 0 +5613 1 1.3356 1 237.39557360735188 323.8974221503806 0 0 0 0 +5640 1 1.3331 1 227.07631971097638 325.67156034368577 0 0 0 0 +5649 1 1.3324 1 261.27559543086306 313.4466333837154 0 0 0 0 +5650 1 1.3324 1 227.1693846881521 300.09514649885455 0 0 0 0 +5664 1 1.3309 1 249.01440721083006 320.27009409941496 0 0 0 0 +362 1 5.249 1 263.4955033594502 279.30685638853754 0 0 0 0 +5736 1 1.3221 1 235.1808005506546 326.8275880133761 0 0 0 0 +9897 1 1.0051 1 234.1027519364687 317.68615995694785 0 0 0 0 +5799 1 1.3149 1 224.5021123240419 317.65654801914303 0 0 0 0 +4125 1 1.5627 1 213.37683856763996 327.82082995229666 0 0 -1 0 +2539 1 1.996 1 264.0080573957602 290.0611723760786 0 0 0 0 +2980 1 1.839 1 229.85327948004212 330.58221897052056 0 0 -1 0 +5877 1 1.3077 1 219.36567794529677 325.88081839345693 0 0 0 0 +5953 1 1.2993 1 235.85947187431032 289.6386590878784 0 0 0 0 +6136 1 1.2799 1 231.25451876298945 319.6325887917388 0 0 0 0 +6139 1 1.2797 1 242.37921935284606 289.93889224579266 0 0 0 0 +9766 1 1.0117 1 255.00126819303736 284.1767143922648 0 0 0 0 +2231 1 2.1234 1 205.67880292718317 324.0075979978415 0 0 -1 0 +6264 1 1.2636 1 233.65539177864403 291.68009950674934 0 0 0 0 +8892 1 1.0578 1 206.79158266987844 325.10275344195 0 0 -1 0 +9721 1 1.0142 1 226.2614670523454 312.4179521350765 0 0 0 0 +6330 1 1.2586 1 229.81903686788817 292.43216487960115 0 0 0 0 +6433 1 1.2489 1 263.424605216333 312.4404608616533 0 0 0 0 +3034 1 1.8168 1 266.813400216234 311.20083692613474 0 0 0 0 +7592 1 1.1445 1 266.8381648796254 280.6775588208497 0 0 0 0 +9491 1 1.0263 1 213.47409475845674 326.5554769381603 0 0 0 0 +6494 1 1.2438 1 227.24341739900825 304.17883607806306 0 0 0 0 +9516 1 1.025 1 243.2965288952857 289.2849741815211 0 0 0 0 +6514 1 1.2417 1 223.73913818101627 316.6363444760874 0 0 0 0 +6538 1 1.2385 1 242.45836850043233 291.1936759709083 0 0 0 0 +6545 1 1.2379 1 258.8907862772676 299.72623930107227 0 0 0 0 +9366 1 1.0326 1 256.4355134990117 282.1384036490064 0 0 0 0 +6576 1 1.2351 1 232.25629006090813 295.6920818506577 0 0 0 0 +6580 1 1.2346 1 231.5122532685967 314.2342374312928 0 0 0 0 +9708 1 1.0148 1 236.31279542327755 323.4910306807583 0 0 0 0 +6615 1 1.2306 1 213.49701802242924 322.46615379171095 0 0 0 0 +6652 1 1.2266 1 233.03757868733175 316.25269044702713 0 0 0 0 +6699 1 1.2223 1 212.6290300508445 324.4534349811352 0 0 0 0 +7854 1 1.1247 1 259.54814373532383 281.28425255780405 0 0 0 0 +9231 1 1.0404 1 215.58469934667366 327.35600503757803 0 0 -1 0 +9237 1 1.0401 1 220.37854738989333 325.39796706855105 0 0 0 0 +2052 1 2.208 1 267.40092955392856 278.0722635879265 0 0 0 0 +6826 1 1.2099 1 237.0187784285772 291.69901676338594 0 0 0 0 +6836 1 1.2085 1 234.80220367887335 293.0721274396923 0 0 0 0 +6846 1 1.2081 1 252.18815752505625 324.5941120505233 0 0 0 0 +7688 1 1.1373 1 226.0989109694465 330.5518752659489 0 0 0 0 +6894 1 1.2028 1 249.92459051755097 292.40049914108704 0 0 0 0 +6899 1 1.2021 1 233.98168302903485 325.8257584959968 0 0 0 0 +6984 1 1.1957 1 226.4853783610146 320.75099811092474 0 0 0 0 +7023 1 1.192 1 230.4297621073675 320.47149694247935 0 0 0 0 +7028 1 1.1915 1 255.53865810379878 282.76223095701016 0 0 0 0 +7070 1 1.1883 1 216.04651636222374 321.4324932516304 0 0 0 0 +7100 1 1.1856 1 256.68405138607045 313.9687662942891 0 0 0 0 +7120 1 1.1841 1 242.61940990355401 329.96179028196894 0 0 0 0 +2691 1 1.9334 1 206.11537821239065 327.53287510076433 0 0 -1 0 +2669 1 1.9417 1 267.1327814734035 297.7413308699506 0 0 0 0 +7272 1 1.1731 1 237.8477007630151 322.7506992490603 0 0 0 0 +7357 1 1.165 1 233.3758789796065 289.74643499034596 0 0 0 0 +7381 1 1.1629 1 228.54074469172772 306.1662677089951 0 0 0 0 +7439 1 1.1576 1 262.4009386213046 312.999998265555 0 0 0 0 +6008 1 1.2935 1 260.7351646156203 281.06005510673145 0 0 0 0 +7524 1 1.1509 1 230.50096121108083 312.6371104369516 0 0 0 0 +7530 1 1.1505 1 264.33972424394454 311.05568139643714 0 0 0 0 +2899 1 1.8633 1 216.78919111791382 328.05842198381646 0 0 -1 0 +7568 1 1.1466 1 224.872232445994 293.9905961167148 0 0 0 0 +7584 1 1.1452 1 222.69360603592614 316.12017203994765 0 0 0 0 +7590 1 1.1448 1 256.2397481378873 291.89126995667476 0 0 0 0 +7628 1 1.1426 1 264.54571230063874 312.14003617284595 0 0 0 0 +7666 1 1.1389 1 258.8511166733361 307.65960832165166 0 0 0 0 +7669 1 1.1387 1 230.0374912789743 311.5979408881226 0 0 0 0 +318 1 5.5547 1 237.65329458749977 329.19544029480204 0 0 -1 0 +7693 1 1.137 1 228.37631623622352 299.85002106175745 0 0 0 0 +7727 1 1.1346 1 257.1344124029079 295.5683534468057 0 0 0 0 +7736 1 1.1336 1 257.3987782868857 299.6005600155909 0 0 0 0 +5787 1 1.3156 1 230.40619506593825 328.9394736834871 0 0 0 0 +7757 1 1.1317 1 254.5410072018272 283.296921377894 0 0 0 0 +9141 1 1.045 1 227.0782896950969 301.27146939150236 0 0 0 0 +7812 1 1.128 1 236.74097861543896 321.40610743696936 0 0 0 0 +9214 1 1.0412 1 256.6115693699433 292.8528446845624 0 0 0 0 +7850 1 1.1254 1 251.48457158379043 328.68831898828336 0 0 0 0 +7853 1 1.1248 1 225.5840773913264 319.68944750740377 0 0 0 0 +4057 1 1.5736 1 231.37452438252865 329.9509994768271 0 0 -1 0 +7921 1 1.1195 1 229.04962681716663 307.18772267683346 0 0 0 0 +5038 1 1.4154 1 210.9456347176844 325.3676012815973 0 0 -1 0 +8019 1 1.1135 1 258.751611392666 296.3733243184436 0 0 0 0 +8050 1 1.1113 1 225.40433397579818 320.738132973192 0 0 0 0 +8055 1 1.1111 1 260.79710889142797 306.3069005325456 0 0 0 0 +8061 1 1.1103 1 239.30675586965307 289.03511834860404 0 0 0 0 +9948 1 1.0031 1 259.12566140208764 280.2259719750331 0 0 0 0 +8804 1 1.0631 1 255.02866153489097 317.885186091396 0 0 0 0 +8176 1 1.1027 1 229.4370100400141 309.97542798954777 0 0 0 0 +9901 1 1.005 1 258.79085367160627 304.8552091678335 0 0 0 0 +3033 1 1.8171 1 257.3870896552503 287.95899338695153 0 0 0 0 +8226 1 1.0998 1 253.87573794112018 294.93963831764034 0 0 0 0 +8249 1 1.0978 1 233.4105024295601 295.5554559613414 0 0 0 0 +8258 1 1.0973 1 225.24045756431292 312.0988201735471 0 0 0 0 +8272 1 1.0967 1 222.31687092662878 290.3667846872986 0 0 0 0 +4727 1 1.4595 1 213.0811812327826 329.3047252082352 0 0 -1 0 +8796 1 1.0637 1 243.1693096303599 322.9452470196798 0 0 0 0 +8336 1 1.0917 1 243.53906419070745 329.34871098003543 0 0 0 0 +8456 1 1.0841 1 253.03604364090134 294.2538568503932 0 0 0 0 +8457 1 1.084 1 266.2099126691723 305.00512130811506 0 0 0 0 +8466 1 1.0834 1 236.73872937387208 322.51323747470497 0 0 0 0 +9026 1 1.0514 1 249.59682329937527 329.55386727460564 0 0 0 0 +8509 1 1.0803 1 265.4981112307893 290.217918376554 0 0 0 0 +8523 1 1.0797 1 250.5937203094566 291.5186279570133 0 0 0 0 +8538 1 1.0787 1 248.7399173643419 324.3926442736621 0 0 0 0 +1858 1 2.3276 1 260.39735608338424 282.838568429018 0 0 0 0 +9568 1 1.0221 1 260.29144866564144 294.85685487078547 0 0 0 0 +8698 1 1.0698 1 243.69632800615145 325.2005055366435 0 0 0 0 +8730 1 1.0681 1 218.22046692005978 325.5831814653884 0 0 0 0 +8738 1 1.0677 1 214.24450980356582 325.87413364888283 0 0 0 0 +8747 1 1.0671 1 221.07989360083553 320.6606647226034 0 0 0 0 +8773 1 1.0648 1 252.92757572792593 318.07122283600876 0 0 0 0 +616 1 3.9773 1 210.68898249144868 328.02542463190355 0 0 -1 0 +9331 1 1.0345 1 205.6198154166294 330.92306081607944 0 0 -1 0 +3240 1 1.755 1 265.9048712567329 276.82337003261705 0 0 0 0 +363 1 5.2443 1 266.0489641349536 287.1241707738142 0 0 0 0 +2525 1 2.002 1 207.3128293582889 330.6613295520636 0 0 -1 0 +4668 1 1.4694 1 203.91334094875333 281.7283510300581 0 0 0 0 +1336 1 2.7531 1 265.32197901519424 302.18163312489384 0 0 0 0 +8290 1 1.0956 1 264.39005083632225 307.8610099068518 0 0 0 0 +3488 1 1.6961 1 265.67401583084677 308.35116417293233 0 0 0 0 +6852 1 1.2071 1 265.51020048782476 304.1312780608878 0 0 0 0 +8124 1 1.106 1 265.4222413087803 310.81020431114405 0 0 0 0 +9076 1 1.0484 1 266.81191711348174 295.3216344895838 0 0 0 0 +6366 1 1.2555 1 267.2811254731277 276.37910104905444 0 0 0 0 +8635 1 1.0728 1 205.87776082226003 282.84929189431523 0 0 0 0 +5729 1 1.323 1 203.47200812087783 324.9064577089528 0 0 -1 0 +2967 1 1.8431 1 204.48153097019755 283.24722780689495 0 0 0 0 +9013 1 1.0521 1 244.32664442937136 331.80974149688825 0 0 0 0 +45 1 14.7349 1 300.16459871279966 18.1412525224583 0 0 0 0 +48 1 13.4603 1 306.56074093524654 53.78748618705194 0 0 0 0 +7938 1 1.1187 1 279.077973124939 49.46482185653629 0 0 0 0 +94 1 9.6944 1 290.5804728854354 40.44346151720225 0 0 0 0 +6722 1 1.2203 1 278.56931664078064 48.11750963308378 0 0 0 0 +127 1 8.5152 1 315.12880938071226 43.99439933945813 0 0 0 0 +131 1 8.339 1 326.2701130417993 42.09044480066313 0 0 0 0 +160 1 7.4952 1 271.807181920401 38.67830926051161 0 0 0 0 +165 1 7.443 1 326.60427131020566 34.37237672085252 0 0 0 0 +180 1 7.185 1 306.8125424946913 32.674202078575355 0 0 0 0 +190 1 6.9901 1 288.9825733346539 32.50321808342926 0 0 0 0 +198 1 6.9069 1 292.6976517169345 48.2770501446332 0 0 0 0 +8597 1 1.0753 1 305.0751340070286 60.84541674689044 0 0 0 0 +201 1 6.845 1 298.36196977314046 35.24312045843642 0 0 0 0 +202 1 6.8323 1 321.59955195714383 47.965937924564976 0 0 0 0 +206 1 6.7083 1 278.498854105227 40.656991936743836 0 0 0 0 +273 1 5.9825 1 279.4595153763618 31.399970968526056 0 0 0 0 +307 1 5.6898 1 291.3755742518429 58.515407497673 0 0 0 0 +5765 1 1.318 1 302.04688889750145 73.71184624995108 0 0 0 0 +9912 1 1.0045 1 310.98131192467264 73.39077173030539 0 0 0 0 +4930 1 1.4286 1 300.6434811018893 59.86040682691822 0 0 0 0 +438 1 4.6906 1 271.90867135524485 32.66592280396347 0 0 0 0 +441 1 4.676 1 294.3629377862556 30.475615312783066 0 0 0 0 +473 1 4.5374 1 311.9513235009982 38.47192988012934 0 0 0 0 +480 1 4.5092 1 319.40187652124115 54.244550229711855 0 0 0 0 +493 1 4.4156 1 299.7314890896714 44.75341850067259 0 0 0 0 +500 1 4.3646 1 316.81923900308203 26.385617498826075 0 0 0 0 +512 1 4.3188 1 300.0434383771651 40.50117268184578 0 0 0 0 +8968 1 1.0542 1 269.9649267910492 42.52794452810907 0 0 0 0 +539 1 4.2371 1 289.5712970630337 52.73364919497858 0 0 0 0 +579 1 4.1033 1 303.8375892397384 45.57191718728499 0 0 0 0 +603 1 4.0078 1 317.42110472251255 69.07507451472264 0 0 0 0 +604 1 4.0042 1 291.9175721727584 25.543445463296447 0 0 0 0 +609 1 3.9921 1 316.8596235133392 57.56281318623672 0 0 0 0 +408 1 4.903 1 296.6621196658741 62.9319991594119 0 0 0 0 +625 1 3.9418 1 283.1496607197969 38.225861058175155 0 0 0 0 +676 1 3.8336 1 281.7324745905563 27.149084075065197 0 0 0 0 +703 1 3.7783 1 320.13862725318916 29.822319392335082 0 0 0 0 +708 1 3.7653 1 313.8528098934276 30.170498878959165 0 0 0 0 +9854 1 1.0071 1 302.4737834966591 61.776701285069 0 0 0 0 +724 1 3.7442 1 309.3312938203277 45.77184993089487 0 0 0 0 +6411 1 1.2506 1 276.24811415758944 52.52406680421555 0 0 0 0 +742 1 3.6947 1 321.79281776236576 26.601600729748007 0 0 0 0 +5744 1 1.3214 1 330.8839115711362 11.048133682872907 0 0 1 0 +751 1 3.6867 1 317.2057246889213 38.3654209605226 0 0 0 0 +757 1 3.6663 1 315.98911775738577 61.90400325614427 0 0 0 0 +779 1 3.6254 1 286.19333007618235 56.1299095072845 0 0 0 0 +780 1 3.6222 1 285.25896036761577 26.21063152679235 0 0 0 0 +784 1 3.6172 1 282.86628782433183 43.20760938343538 0 0 0 0 +790 1 3.6088 1 328.07569439281735 24.269765099208172 0 0 0 0 +792 1 3.6069 1 304.5150453343413 37.40030358626099 0 0 0 0 +9381 1 1.0319 1 300.5564847072102 57.6742366773031 0 0 0 0 +825 1 3.5267 1 301.7656821618968 31.42095559210926 0 0 0 0 +1767 1 2.3739 1 302.91169142033516 10.09215179627974 0 0 0 0 +890 1 3.3754 1 324.5817864472352 28.705723073421222 0 0 0 0 +923 1 3.3087 1 297.71821922542597 48.7737397296741 0 0 0 0 +953 1 3.2432 1 279.04906544493934 35.84212087354572 0 0 0 0 +9477 1 1.027 1 321.22599605899086 34.614467132573566 0 0 0 0 +9395 1 1.031 1 296.9239449094281 66.84991156619843 0 0 0 0 +990 1 3.1931 1 296.9500882645285 57.783647817197426 0 0 0 0 +8559 1 1.0775 1 315.0912905341423 74.15451564008167 0 0 0 0 +1013 1 3.1579 1 313.5923075711999 49.536130508941135 0 0 0 0 +1019 1 3.1496 1 318.96822514210066 60.3843338920847 0 0 0 0 +7043 1 1.1901 1 313.6771363716266 61.551985862977034 0 0 0 0 +5801 1 1.3145 1 330.3860154037153 45.98438341204444 0 0 0 0 +1038 1 3.1104 1 285.51006172504094 46.714469354394666 0 0 0 0 +1040 1 3.1081 1 297.49599266001184 26.56405731754843 0 0 0 0 +1046 1 3.0941 1 302.41119817565334 28.02193407818605 0 0 0 0 +1053 1 3.0876 1 306.5574859787465 42.05837680213827 0 0 0 0 +1057 1 3.0801 1 311.2386858338354 26.274518726150983 0 0 0 0 +1115 1 2.9963 1 271.552836209376 43.77372699386519 0 0 0 0 +1134 1 2.9747 1 282.9104169280064 34.831190561518994 0 0 0 0 +1152 1 2.9528 1 319.93165001475427 33.10325116737879 0 0 0 0 +6156 1 1.2775 1 308.8816833478358 15.417135453520007 0 0 0 0 +9677 1 1.0168 1 292.6872157845639 20.45398959280422 0 0 0 0 +1249 1 2.8497 1 327.84772603035333 28.08138471623781 0 0 0 0 +1272 1 2.8197 1 322.05308963260677 36.62457380639408 0 0 0 0 +1317 1 2.772 1 317.43604201349024 50.21566825652329 0 0 0 0 +1329 1 2.7568 1 292.5594442023078 22.316357444662827 0 0 0 0 +1344 1 2.7437 1 287.15042390577554 50.28080009197493 0 0 0 0 +1349 1 2.7371 1 309.6753060833914 28.689939382825017 0 0 0 0 +1350 1 2.7359 1 316.9819600856137 29.8146602155962 0 0 0 0 +1372 1 2.7109 1 322.8611147781246 23.689413073855363 0 0 0 0 +7939 1 1.1187 1 311.65892833993695 74.1547846821644 0 0 0 0 +1389 1 2.692 1 315.71549587404155 52.24511559683358 0 0 0 0 +1414 1 2.6672 1 294.6535436131168 52.49776796756211 0 0 0 0 +9882 1 1.0058 1 311.9686237380557 15.71682809535621 0 0 1 0 +1425 1 2.6565 1 317.26444008639345 32.38496344656489 0 0 0 0 +6552 1 1.2374 1 318.6528728321634 20.80861801068714 0 0 1 0 +4293 1 1.5341 1 311.32666004107693 59.47403489617051 0 0 0 0 +1499 1 2.5786 1 289.7463081860295 27.884441960813465 0 0 0 0 +1509 1 2.5695 1 315.0754516346718 33.70017328734685 0 0 0 0 +1526 1 2.5485 1 282.95211578160934 53.57610956103947 0 0 0 0 +1557 1 2.5282 1 328.6489982107086 46.740893558458495 0 0 0 0 +5174 1 1.3919 1 301.32788986068437 61.01875669155011 0 0 0 0 +1581 1 2.5068 1 275.6960300443808 29.549492253144223 0 0 0 0 +1596 1 2.4985 1 290.98427193880974 20.28022735834636 0 0 0 0 +1606 1 2.4865 1 283.96199152492494 23.58050927384185 0 0 0 0 +1617 1 2.4827 1 270.5776578058392 28.643358374893598 0 0 0 0 +1621 1 2.4754 1 288.4586275994327 17.891980279068406 0 0 0 0 +1624 1 2.4719 1 287.2624556910176 22.733839922690684 0 0 0 0 +1135 1 2.9744 1 313.3628290265865 66.45375465409957 0 0 0 0 +1649 1 2.4535 1 322.720525644711 31.469355728289322 0 0 0 0 +1656 1 2.4504 1 275.66621986396046 33.12010233692223 0 0 0 0 +9687 1 1.0163 1 317.1492761196311 16.820449933051524 0 0 1 0 +1694 1 2.4279 1 285.9483305647356 29.048484118070192 0 0 0 0 +1729 1 2.4068 1 321.5939746777265 39.52932877326514 0 0 0 0 +1731 1 2.4054 1 309.4107869059801 42.33998064171028 0 0 0 0 +3702 1 1.646 1 274.4919026160926 48.189555725663816 0 0 0 0 +1782 1 2.3664 1 297.0430286658188 52.12210022243283 0 0 0 0 +1811 1 2.3494 1 300.9420350322462 48.27522012406735 0 0 0 0 +1367 1 2.7187 1 310.91299839295357 65.20066147373166 0 0 0 0 +1842 1 2.3332 1 276.27327557547886 35.42996372270504 0 0 0 0 +1847 1 2.3314 1 269.1469658293771 30.516490623977162 0 0 0 0 +1853 1 2.3293 1 307.26852144392785 28.050589012559488 0 0 0 0 +1854 1 2.3293 1 288.1523551966417 47.98995239484905 0 0 0 0 +1902 1 2.2999 1 275.99934743824906 44.3532167516881 0 0 0 0 +1911 1 2.2931 1 294.9235896022813 26.103177196020948 0 0 0 0 +1935 1 2.2797 1 296.5444200606044 45.856456453131656 0 0 0 0 +5187 1 1.3902 1 293.60730368324175 63.16272254230266 0 0 0 0 +1952 1 2.269 1 278.7416961060365 27.409482628550947 0 0 0 0 +5473 1 1.3535 1 296.2333741662132 65.93216351228533 0 0 0 0 +1976 1 2.2555 1 275.46915510338494 46.53651965176944 0 0 0 0 +969 1 3.2196 1 302.7151064398327 69.59055250347357 0 0 0 0 +6465 1 1.2464 1 289.01292894101465 15.138209169850713 0 0 1 0 +2078 1 2.1951 1 323.89079495987176 51.76963975240977 0 0 0 0 +2087 1 2.1889 1 311.51096603473337 47.830341636759876 0 0 0 0 +2088 1 2.1888 1 304.696756196486 40.25118943529918 0 0 0 0 +2098 1 2.1849 1 315.9824695926086 54.635283466960914 0 0 0 0 +2103 1 2.1834 1 307.88240560138075 37.15405619489604 0 0 0 0 +2111 1 2.1764 1 294.67630747446657 56.45221308913731 0 0 0 0 +5616 1 1.3354 1 315.0188681767877 67.8671170383194 0 0 0 0 +2144 1 2.158 1 299.40026911943494 58.6426805223673 0 0 0 0 +2145 1 2.1579 1 310.21756982178545 35.72841596584198 0 0 0 0 +2150 1 2.1569 1 299.0765160376047 28.551562468533234 0 0 0 0 +2215 1 2.1294 1 291.9951888179541 54.702729431390644 0 0 0 0 +9224 1 1.0407 1 274.83435123579085 52.18194369322803 0 0 0 0 +2264 1 2.1117 1 284.68092194397406 31.342096590323898 0 0 0 0 +6717 1 1.2207 1 310.50784084959355 70.09956655441778 0 0 0 0 +9482 1 1.0269 1 284.3885923465312 36.12593384619048 0 0 0 0 +2285 1 2.1012 1 299.1306486961137 52.11554777981913 0 0 0 0 +2288 1 2.0986 1 319.9764626475709 35.5527765591699 0 0 0 0 +2312 1 2.0838 1 288.93320633753086 45.99490388455643 0 0 0 0 +2356 1 2.0656 1 285.81512418433493 35.68924096490796 0 0 0 0 +2387 1 2.0536 1 321.94665075233553 52.35265131104781 0 0 0 0 +897 1 3.3588 1 270.4393691402819 46.61930267963618 0 0 0 0 +2423 1 2.0395 1 301.81403517458125 37.915117460862646 0 0 0 0 +2429 1 2.0361 1 306.7225193758071 44.60755641590985 0 0 0 0 +9559 1 1.0225 1 290.72542102150175 21.974386167910374 0 0 0 0 +1846 1 2.3319 1 290.2280574588706 16.381869844991403 0 0 1 0 +6092 1 1.284 1 277.3789130771994 53.00371532186326 0 0 0 0 +2499 1 2.0105 1 292.6670437647267 35.00280626876745 0 0 0 0 +6628 1 1.2292 1 328.88200328924034 38.06753985247174 0 0 0 0 +2564 1 1.9839 1 290.07487279391705 23.2713260884672 0 0 0 0 +6660 1 1.2263 1 301.95327817035337 59.49760912623881 0 0 0 0 +2578 1 1.9786 1 273.90698212924593 44.3963920793043 0 0 0 0 +2478 1 2.0175 1 299.6367821981571 61.2232481533395 0 0 0 0 +2604 1 1.966 1 318.15411829697683 23.583965041864065 0 0 0 0 +2612 1 1.9624 1 326.52190709277 47.275843918016776 0 0 0 0 +2643 1 1.9514 1 293.96081271102815 54.566271782858564 0 0 0 0 +6397 1 1.252 1 317.5485121089967 71.66498868379745 0 0 0 0 +2680 1 1.939 1 313.0354011613862 32.866447505709225 0 0 0 0 +2698 1 1.93 1 307.54021671233335 39.80038287767057 0 0 0 0 +2708 1 1.9266 1 314.7891374751066 37.05188978927598 0 0 0 0 +2738 1 1.9152 1 286.66732359777615 20.315061040791978 0 0 0 0 +2774 1 1.9048 1 320.87652103902604 57.04151350897133 0 0 0 0 +2783 1 1.9007 1 325.3792885988083 24.67879214259102 0 0 0 0 +2791 1 1.8967 1 285.48698751872706 52.07533921734724 0 0 0 0 +2811 1 1.891 1 274.7547953028896 42.67352971804216 0 0 0 0 +2821 1 1.8887 1 296.3785670326247 55.370768638806176 0 0 0 0 +2824 1 1.8871 1 330.99392528647763 35.8150871867617 0 0 0 0 +2877 1 1.8685 1 273.1464114409585 47.06559519645998 0 0 0 0 +9615 1 1.0198 1 299.2425579978199 67.91907720783077 0 0 0 0 +2916 1 1.8579 1 306.70518035640555 26.136317350056707 0 0 0 0 +9458 1 1.0279 1 278.5693095879442 45.2239158032717 0 0 0 0 +2960 1 1.8445 1 297.6591072489716 42.44032092138546 0 0 0 0 +2965 1 1.8438 1 287.698896156437 27.255908200604466 0 0 0 0 +3009 1 1.8255 1 302.8790744347703 39.48942302783803 0 0 0 0 +3014 1 1.8225 1 302.9866680811746 41.26914425644086 0 0 0 0 +3017 1 1.8217 1 313.68464031487133 26.128218721175468 0 0 0 0 +3064 1 1.8085 1 299.07699386731105 55.19092429711347 0 0 0 0 +6996 1 1.1947 1 281.64176035730753 54.85979865052627 0 0 0 0 +3143 1 1.7807 1 319.5794310212944 39.622077978471864 0 0 0 0 +3156 1 1.7777 1 299.93857736662704 50.051592369882115 0 0 0 0 +3157 1 1.7774 1 287.82099054683584 25.479375275884788 0 0 0 0 +3172 1 1.773 1 292.0684574475268 17.10323628792916 0 0 0 0 +3181 1 1.7703 1 297.48789796212503 29.69968972417341 0 0 0 0 +3190 1 1.7686 1 286.694017709489 53.524078353516614 0 0 0 0 +3202 1 1.766 1 318.8335689600786 64.1658173309181 0 0 0 0 +3204 1 1.7653 1 326.39034273701867 26.33200031258624 0 0 0 0 +3213 1 1.7623 1 321.49954847690896 43.701828961716934 0 0 0 0 +3232 1 1.7571 1 320.370141189746 20.543077430238863 0 0 0 0 +3247 1 1.7538 1 309.4588420105614 40.30460250000629 0 0 0 0 +3255 1 1.752 1 280.7858259187836 46.95703618499492 0 0 0 0 +3269 1 1.7477 1 291.5387468289983 29.02038375215844 0 0 0 0 +3325 1 1.7338 1 277.341276624009 45.85004180074133 0 0 0 0 +3354 1 1.7269 1 284.9714190686146 40.282848458970165 0 0 0 0 +9892 1 1.0054 1 292.9370646748533 15.084790033480935 0 0 0 0 +3377 1 1.7219 1 285.49708219875976 42.988333742967725 0 0 0 0 +3378 1 1.7214 1 314.86376592812263 59.498405343841675 0 0 0 0 +3399 1 1.7152 1 314.09624046835063 53.64659602816008 0 0 0 0 +3426 1 1.7102 1 320.06766072168335 42.75158944831071 0 0 0 0 +7503 1 1.1521 1 312.1724268735167 58.450998136215205 0 0 0 0 +3464 1 1.7006 1 295.9145688151379 38.65826885793483 0 0 0 0 +3467 1 1.6999 1 283.6431931907055 51.63815398725632 0 0 0 0 +3501 1 1.6935 1 310.9096501602514 31.248013107929406 0 0 0 0 +3513 1 1.691 1 274.5552359692351 27.850289265991513 0 0 0 0 +3537 1 1.6855 1 304.86149617914384 27.592742989132905 0 0 0 0 +3571 1 1.6761 1 280.07018239525587 48.51196970180812 0 0 0 0 +3595 1 1.6722 1 276.1412240496261 27.52715035686484 0 0 0 0 +3623 1 1.667 1 330.6036614356738 22.183510546723845 0 0 0 0 +3625 1 1.6667 1 304.48176951571736 25.03699583028866 0 0 0 0 +3645 1 1.6632 1 308.91681009243354 38.71387101281777 0 0 0 0 +3695 1 1.6491 1 296.824566735457 43.94370902249565 0 0 0 0 +3703 1 1.6458 1 299.60507236642604 56.77904472554365 0 0 0 0 +5053 1 1.4126 1 306.2400561263366 61.144917927990065 0 0 0 0 +529 1 4.2701 1 331.5373832302314 38.78300064167401 0 -1 0 0 +3738 1 1.6416 1 313.4866452793112 35.85028253790442 0 0 0 0 +3767 1 1.637 1 274.7426684167498 31.33881455881818 0 0 0 0 +3775 1 1.6346 1 282.6999079411141 47.48175290019464 0 0 0 0 +7348 1 1.1662 1 297.4799390565659 65.84803418886325 0 0 0 0 +3798 1 1.6293 1 316.92662732375413 34.64697901223804 0 0 0 0 +3800 1 1.6293 1 300.8635102145093 26.26840453479181 0 0 0 0 +3808 1 1.6267 1 311.8187046956505 28.477169900945302 0 0 0 0 +6645 1 1.2276 1 312.5368980774744 61.599107357613796 0 0 0 0 +3843 1 1.6188 1 311.2624786000627 32.838912702081124 0 0 0 0 +3858 1 1.6162 1 288.26131452412955 20.963545102283778 0 0 0 0 +6119 1 1.2814 1 291.9814654126498 15.64639791836613 0 0 1 0 +3913 1 1.605 1 320.5288709281205 41.17398056478385 0 0 0 0 +3926 1 1.6024 1 285.03679004208976 53.74665600822992 0 0 0 0 +3944 1 1.5986 1 273.7261973809058 30.09094493415706 0 0 0 0 +1524 1 2.5509 1 301.11143971001246 62.91235547157526 0 0 0 0 +4007 1 1.5819 1 297.1653474287857 40.84134074401507 0 0 0 0 +4030 1 1.5777 1 299.62425721144393 30.20095632221888 0 0 0 0 +4081 1 1.5694 1 297.3842824058057 39.306300474110856 0 0 0 0 +581 1 4.0916 1 272.192615436689 49.85028869793689 0 0 0 0 +4087 1 1.5687 1 326.6440417542058 29.918148156247515 0 0 0 0 +4102 1 1.5658 1 323.1224564795862 38.402219970154135 0 0 0 0 +3117 1 1.7908 1 307.5697021349339 14.63965622457153 0 0 1 0 +4111 1 1.5643 1 286.1412088911989 44.47141053788477 0 0 0 0 +4120 1 1.5633 1 272.21832932708014 29.664315627367756 0 0 0 0 +4129 1 1.5623 1 292.1168330390163 18.71175544766168 0 0 0 0 +4157 1 1.5566 1 325.02314599501483 50.332920913570604 0 0 0 0 +4160 1 1.5565 1 308.21330535382333 17.319547349969618 0 0 0 0 +4193 1 1.5504 1 314.22188326565424 55.23480835459764 0 0 0 0 +4198 1 1.5498 1 273.228982977767 28.59937777418658 0 0 0 0 +4216 1 1.5471 1 296.00771586897736 41.85387456817251 0 0 0 0 +4223 1 1.5464 1 303.10754999490905 42.89823956632086 0 0 0 0 +4285 1 1.5354 1 295.4123530037747 43.25376555660656 0 0 0 0 +4291 1 1.5346 1 319.62100798114415 37.38113198098457 0 0 0 0 +4330 1 1.5263 1 282.6627026540015 29.560300276052864 0 0 0 0 +4338 1 1.5249 1 284.1254616076835 29.65141935827579 0 0 0 0 +9866 1 1.0065 1 325.0611586163434 26.07488039045698 0 0 0 0 +4393 1 1.5158 1 304.4272158600127 29.083621688537892 0 0 0 0 +4405 1 1.5143 1 296.1425558883414 50.520881194070164 0 0 0 0 +4455 1 1.5052 1 313.7187678950932 51.830881998393686 0 0 0 0 +4462 1 1.5036 1 316.090734887348 35.96263377464493 0 0 0 0 +4546 1 1.4902 1 313.79053017993317 68.56510541941006 0 0 0 0 +4582 1 1.4836 1 288.62341133549666 24.11918226850374 0 0 0 0 +4593 1 1.4816 1 309.86722284050575 24.514987768138518 0 0 0 0 +4635 1 1.4764 1 319.2506260728747 62.628125025925755 0 0 0 0 +4645 1 1.4739 1 313.43283345664133 56.49933932832425 0 0 0 0 +4655 1 1.4723 1 268.96811764464087 33.576557544956245 0 0 0 0 +5603 1 1.3365 1 299.53772555317687 63.979069985396066 0 0 0 0 +4712 1 1.4626 1 285.01583971254627 34.09895273168786 0 0 0 0 +4763 1 1.4543 1 328.0707583921323 30.199177188111413 0 0 0 0 +4775 1 1.4519 1 317.56608256551016 48.20538046554488 0 0 0 0 +4782 1 1.4512 1 287.4833094800635 45.055229999096575 0 0 0 0 +4827 1 1.4452 1 281.3023696507843 36.30844760068291 0 0 0 0 +4889 1 1.4346 1 281.2742396359708 45.150703903369376 0 0 0 0 +4891 1 1.4343 1 297.16988748515865 31.363149408496767 0 0 0 0 +4899 1 1.4326 1 311.9924321332751 35.51978159388365 0 0 0 0 +4919 1 1.4298 1 320.57662514536224 24.43930879278682 0 0 0 0 +344 1 5.3631 1 331.4024256883759 30.41892595778993 0 0 0 0 +5598 1 1.3376 1 305.46559945475684 66.61947329680368 0 0 0 0 +4941 1 1.4271 1 314.27622100299584 27.639635099641296 0 0 0 0 +9003 1 1.0525 1 278.8788010398329 50.519778475258676 0 0 0 0 +4966 1 1.4241 1 318.77215620183716 65.74516649270852 0 0 0 0 +4984 1 1.4224 1 288.65085510319966 56.350773269072064 0 0 0 0 +9679 1 1.0166 1 301.5744056771067 46.73312005334991 0 0 0 0 +4994 1 1.421 1 308.0459872410753 19.674860452992466 0 0 0 0 +5012 1 1.4186 1 283.9285852619679 32.911246087263315 0 0 0 0 +7013 1 1.1928 1 307.5242406279096 63.16359196461875 0 0 0 0 +5077 1 1.4081 1 310.9844853423711 41.2761363390139 0 0 0 0 +9794 1 1.0101 1 305.4997231234692 43.72718777961045 0 0 0 0 +5096 1 1.4048 1 311.33567424089495 29.84790843086349 0 0 0 0 +5112 1 1.4017 1 312.0019374937303 34.13790788500606 0 0 0 0 +9793 1 1.0101 1 321.83373162827615 32.89228231205667 0 0 0 0 +5152 1 1.3959 1 319.23983641452924 24.84319335244487 0 0 0 0 +760 1 3.6552 1 276.71116445516475 49.60819550106024 0 0 0 0 +2315 1 2.0832 1 302.9029206047071 72.23340320076623 0 0 0 0 +6556 1 1.237 1 330.22615244348714 44.7504816544163 0 0 0 0 +5181 1 1.3912 1 314.23171874206724 57.64394299921848 0 0 0 0 +9108 1 1.0468 1 300.7946766740959 70.18564320726895 0 0 0 0 +421 1 4.8073 1 304.64976769432394 63.698692207264195 0 0 0 0 +5225 1 1.386 1 294.2911894196303 35.313932389495335 0 0 0 0 +7867 1 1.1234 1 304.6857975125002 72.01742751367865 0 0 0 0 +5274 1 1.3793 1 318.3381194151012 35.144967463374485 0 0 0 0 +5285 1 1.3776 1 294.488789884563 24.346678985257597 0 0 0 0 +8216 1 1.1004 1 317.7579226261401 17.796604565639342 0 0 0 0 +5313 1 1.3739 1 298.41486691055314 30.924745727867364 0 0 0 0 +9779 1 1.0111 1 269.9779277588944 48.64485885377172 0 0 0 0 +5339 1 1.371 1 329.83480006046045 27.44590985343959 0 0 0 0 +5388 1 1.3654 1 277.2903823959705 28.47304395556772 0 0 0 0 +5398 1 1.3639 1 314.81120206320395 39.08217720647955 0 0 0 0 +5404 1 1.363 1 269.7976434219188 34.76915765657941 0 0 0 0 +5415 1 1.3615 1 303.93703505828654 26.427415982833107 0 0 0 0 +5465 1 1.3549 1 306.7208500331994 38.42719164633798 0 0 0 0 +5497 1 1.3512 1 289.143339613352 19.775324763067662 0 0 0 0 +5501 1 1.3504 1 281.22245521712347 52.768887500215875 0 0 0 0 +5522 1 1.3485 1 308.0754761709428 43.61437461930461 0 0 0 0 +5524 1 1.3484 1 320.5313364982954 58.61871804744094 0 0 0 0 +5531 1 1.3473 1 305.9453279406096 24.793255505915425 0 0 0 0 +4347 1 1.5234 1 298.81386720779994 68.98957425578699 0 0 0 0 +5625 1 1.3343 1 323.9521541967056 25.35817279442209 0 0 0 0 +8441 1 1.0851 1 322.80838212377233 21.847666049892304 0 0 1 0 +5663 1 1.3309 1 293.8509099305376 27.52767014150696 0 0 0 0 +5668 1 1.3305 1 297.69840437583036 54.473817391647415 0 0 0 0 +5678 1 1.3292 1 293.1122059891298 61.54233888714848 0 0 0 0 +5691 1 1.3269 1 325.91389042172966 23.18956356762203 0 0 0 0 +5696 1 1.3263 1 318.4189657714246 22.011622336910317 0 0 0 0 +5786 1 1.3157 1 319.34467726731657 58.23929497472503 0 0 0 0 +5796 1 1.3149 1 280.0089657221866 45.64591310262984 0 0 0 0 +2017 1 2.2296 1 307.5661717274513 22.202043780396693 0 0 0 0 +5803 1 1.3144 1 295.56842596085204 27.753568075878114 0 0 0 0 +5809 1 1.3137 1 285.7945551744153 21.57553010055844 0 0 0 0 +5853 1 1.3095 1 272.7422401699853 45.54845255713963 0 0 0 0 +5861 1 1.3092 1 312.95540821530403 27.594847043151784 0 0 0 0 +9507 1 1.0255 1 294.9110056297325 33.33921745106638 0 0 0 0 +5879 1 1.3073 1 292.6651852699586 28.04885380251977 0 0 0 0 +5882 1 1.3065 1 283.0639322716096 31.773729837262653 0 0 0 0 +5906 1 1.3044 1 313.30216348503836 34.43227548956641 0 0 0 0 +3902 1 1.6068 1 300.334461651623 69.01145944062006 0 0 0 0 +5925 1 1.3021 1 279.5746053799773 25.891800085113694 0 0 0 0 +5939 1 1.301 1 308.5655966977129 24.663951304118328 0 0 0 0 +5954 1 1.2993 1 296.56430728489676 53.827802283339366 0 0 0 0 +5958 1 1.2991 1 324.6642331424673 22.942210561535454 0 0 0 0 +5988 1 1.2961 1 282.06209609385735 46.224935862270954 0 0 0 0 +6004 1 1.2941 1 275.9176150491614 37.20578408251606 0 0 0 0 +6028 1 1.2918 1 318.59768149383905 36.41265352646167 0 0 0 0 +6045 1 1.2898 1 283.7612912162289 55.94114323899652 0 0 0 0 +6049 1 1.289 1 281.5120317106651 48.274896716737615 0 0 0 0 +6843 1 1.2083 1 321.7204268468882 21.020081467274192 0 0 0 0 +6057 1 1.288 1 304.3774361353019 41.933313606017734 0 0 0 0 +4350 1 1.5228 1 330.9439879032015 43.60021202289971 0 0 0 0 +6064 1 1.2871 1 295.2836087483732 44.63749062285431 0 0 0 0 +5265 1 1.3805 1 311.3422742499174 67.17002436476982 0 0 0 0 +6067 1 1.2867 1 288.3170078244767 55.07925573587251 0 0 0 0 +6137 1 1.2799 1 290.8977133334421 18.034584334347226 0 0 0 0 +8030 1 1.1128 1 330.7782176789382 33.5694637400203 0 0 0 0 +6176 1 1.2748 1 277.05553915552156 47.25450731466408 0 0 0 0 +6178 1 1.2746 1 309.1454440182655 26.788136120194324 0 0 0 0 +6179 1 1.2746 1 301.71821076391325 42.73005101305845 0 0 0 0 +6194 1 1.2723 1 296.5800639284025 28.52210808190446 0 0 0 0 +6247 1 1.2655 1 296.00314761291503 40.114161234469826 0 0 0 0 +6249 1 1.2653 1 283.6023034097931 49.15395695204295 0 0 0 0 +6269 1 1.2632 1 282.4610163578938 40.77648468559899 0 0 0 0 +6278 1 1.2623 1 280.58282335916573 44.022382864484385 0 0 0 0 +6283 1 1.262 1 321.4881544246631 42.20730941169932 0 0 0 0 +6314 1 1.2598 1 277.74823292448156 44.47880005417653 0 0 0 0 +6321 1 1.2591 1 300.6769179667516 29.291380611651075 0 0 0 0 +6348 1 1.2572 1 284.00051110141516 28.282842971141037 0 0 0 0 +6374 1 1.2548 1 279.43690937688774 44.50910662253457 0 0 0 0 +6380 1 1.2537 1 307.32221582099737 24.756786536818513 0 0 0 0 +6384 1 1.2529 1 326.6671761822818 48.85380853412613 0 0 0 0 +6393 1 1.2521 1 277.13936781891863 36.9612246000494 0 0 0 0 +6396 1 1.252 1 299.25045781652653 53.735450419130444 0 0 0 0 +8114 1 1.1067 1 277.22574332936284 51.87398339617108 0 0 0 0 +6403 1 1.2515 1 279.36644690601906 47.244381335102496 0 0 0 0 +1623 1 2.4741 1 308.0037431739651 12.605316547599273 0 0 1 0 +6436 1 1.2484 1 317.6250082930552 52.12226585185989 0 0 0 0 +6541 1 1.2382 1 285.8133218181239 23.876058074934036 0 0 0 0 +9599 1 1.0207 1 275.65052576312064 51.622075966691845 0 0 0 0 +9454 1 1.028 1 274.6343438590362 35.573389975870434 0 0 0 0 +1321 1 2.7659 1 316.07924303004444 66.00532283866853 0 0 0 0 +6567 1 1.2359 1 322.5829345975852 54.28130664583351 0 0 0 0 +9806 1 1.0096 1 269.7852867736489 44.574627994176616 0 0 0 0 +2043 1 2.2164 1 313.0407815631336 60.015858970414115 0 0 0 0 +1607 1 2.4862 1 320.13070867715845 22.61637368563343 0 0 1 0 +6666 1 1.2253 1 317.7034396999898 65.01830950108547 0 0 0 0 +5173 1 1.392 1 301.07450483962384 10.160733987436613 0 0 0 0 +6673 1 1.2248 1 296.80197643653395 59.931997231634234 0 0 0 0 +6676 1 1.2244 1 310.719945738011 34.13885025512667 0 0 0 0 +3477 1 1.6984 1 298.21490643053335 60.072115076472016 0 0 0 0 +6685 1 1.2237 1 305.21172669836375 26.227855571902886 0 0 0 0 +6686 1 1.2236 1 308.64020065520674 18.562436999233235 0 0 0 0 +6705 1 1.2217 1 292.75185731180284 53.17608181922041 0 0 0 0 +6743 1 1.2188 1 306.77550623382996 23.68843979541107 0 0 0 0 +6749 1 1.2184 1 289.9729258634579 18.805579100353842 0 0 0 0 +6752 1 1.2179 1 288.9547455947284 22.19677399893769 0 0 0 0 +6757 1 1.2177 1 268.92694540505994 27.952784029010946 0 0 0 0 +9316 1 1.0353 1 312.73957627979263 57.52363302144607 0 0 0 0 +9865 1 1.0066 1 287.5736877438014 58.40634481760623 0 0 0 0 +7493 1 1.1529 1 282.68150088783005 55.39304930261743 0 0 0 0 +6856 1 1.207 1 268.85897980612293 32.25185474793634 0 0 0 0 +6868 1 1.2049 1 319.1782818711666 41.37140625773336 0 0 0 0 +6875 1 1.2044 1 314.83787628739753 35.521432110774825 0 0 0 0 +6880 1 1.2041 1 302.3596327222328 34.637762514874545 0 0 0 0 +6913 1 1.201 1 319.36649545113323 57.036274863456754 0 0 0 0 +6489 1 1.2444 1 301.08937475801 58.64313796754393 0 0 0 0 +6921 1 1.2003 1 317.40955826868344 35.97004510157747 0 0 0 0 +6925 1 1.1998 1 283.03792172259847 25.08653071953459 0 0 0 0 +8136 1 1.1053 1 289.95290513759136 11.15506374635909 0 0 1 0 +6932 1 1.1996 1 318.40404606311364 40.4687885420149 0 0 0 0 +9442 1 1.0287 1 268.6575785461787 35.85923091716785 0 0 0 0 +113 1 9.2643 1 313.41259803931104 20.593213620740165 0 0 1 0 +962 1 3.228 1 281.4857423247249 50.50793100999986 0 0 0 0 +4280 1 1.5361 1 280.5286863778625 54.09976895636466 0 0 0 0 +7083 1 1.1874 1 293.9103405847425 13.267796842500683 0 0 0 0 +4700 1 1.4648 1 310.7839472660542 15.634064554385192 0 0 1 0 +5553 1 1.344 1 310.1618108660088 14.40956699916143 0 0 1 0 +7145 1 1.1828 1 283.942939329572 45.31121594351887 0 0 0 0 +7167 1 1.1806 1 319.5335857003369 51.40140030967326 0 0 0 0 +7168 1 1.1806 1 295.02003727176054 37.381893507483916 0 0 0 0 +7185 1 1.1794 1 299.76773140856255 27.09445113472504 0 0 0 0 +7186 1 1.1794 1 327.683166065246 48.26662052245088 0 0 0 0 +7235 1 1.1754 1 284.2288484043211 54.84324306337428 0 0 0 0 +7285 1 1.1722 1 315.69603533406007 49.381665016818246 0 0 0 0 +7313 1 1.1692 1 285.6996968119161 38.05899737033029 0 0 0 0 +7323 1 1.1686 1 295.43023182701955 54.22411622589585 0 0 0 0 +7382 1 1.1628 1 303.1501671722187 25.480241922392242 0 0 0 0 +7393 1 1.1618 1 321.86317569648986 55.68899841347143 0 0 0 0 +9717 1 1.0143 1 310.5067940840973 71.14630075223883 0 0 0 0 +7416 1 1.1599 1 285.51237307367575 22.746102373545835 0 0 0 0 +7419 1 1.1596 1 289.0904412062189 50.07867738240098 0 0 0 0 +7420 1 1.1596 1 318.0425973840884 63.00087264983776 0 0 0 0 +7424 1 1.1594 1 322.3168636224869 34.6816654617022 0 0 0 0 +1442 1 2.6318 1 305.1428578778208 11.101844419043474 0 0 0 0 +7435 1 1.1583 1 299.4888266052648 31.49876598250329 0 0 0 0 +1844 1 2.332 1 309.6445593050418 72.4939776338619 0 0 0 0 +1978 1 2.2549 1 295.1184084307499 59.71458782405038 0 0 0 0 +7477 1 1.1545 1 284.81237160889697 44.55515723496916 0 0 0 0 +6861 1 1.2066 1 307.830427044597 16.055913748885118 0 0 1 0 +7480 1 1.1543 1 304.63932868191876 43.094188108689295 0 0 0 0 +5685 1 1.3282 1 269.2598704860683 50.63926694584504 0 0 0 0 +8502 1 1.0808 1 268.33424732784175 47.275796637139955 0 0 0 0 +4963 1 1.4246 1 308.3634824896533 71.16871127632183 0 0 0 0 +9504 1 1.0257 1 322.3191876760404 28.829763573601248 0 0 0 0 +7563 1 1.1468 1 325.5413071146561 48.47678445711268 0 0 0 0 +7585 1 1.1451 1 283.449177392797 46.35287942845895 0 0 0 0 +7586 1 1.145 1 305.6889342923534 28.699019461641925 0 0 0 0 +7600 1 1.1439 1 284.6992504751632 21.985986378662897 0 0 0 0 +7611 1 1.1433 1 289.5628183715817 21.264186623455945 0 0 0 0 +7615 1 1.1432 1 294.09806747118904 44.529182899313454 0 0 0 0 +7621 1 1.1428 1 289.08507475566444 26.17254178171556 0 0 0 0 +7629 1 1.1426 1 318.1276017699067 33.98727717603559 0 0 0 0 +9916 1 1.0045 1 323.2351979792352 53.24340226627545 0 0 0 0 +7636 1 1.1415 1 321.79626687679706 22.143269238144555 0 0 0 0 +7646 1 1.1405 1 297.797338100257 55.828127933656226 0 0 0 0 +7652 1 1.1401 1 299.4518214328588 47.46693982079446 0 0 0 0 +7663 1 1.1391 1 294.09945585069187 34.063508987670275 0 0 0 0 +7673 1 1.1384 1 319.49715367038795 26.067545129934782 0 0 0 0 +3445 1 1.7051 1 309.6456292830124 16.668026308810298 0 0 0 0 +7687 1 1.1373 1 282.6551235178344 32.865640729448344 0 0 0 0 +7714 1 1.1354 1 268.6008491277402 34.81562692738568 0 0 0 0 +7716 1 1.1353 1 317.0835179703209 64.02770572575533 0 0 0 0 +7742 1 1.1333 1 313.2998515844595 58.41747559678503 0 0 0 0 +7747 1 1.1331 1 273.28204190400066 42.71641882966924 0 0 0 0 +7765 1 1.1312 1 273.7725294519408 34.8715247526872 0 0 0 0 +7795 1 1.1291 1 303.59613658521306 30.056983065364594 0 0 0 0 +7808 1 1.1282 1 278.20994433625606 47.00228561676127 0 0 0 0 +7821 1 1.1274 1 287.3058417460976 36.177479227547586 0 0 0 0 +9345 1 1.0338 1 314.5802490823524 64.88339408107267 0 0 0 0 +9048 1 1.0501 1 307.2292132289899 70.77869882602201 0 0 0 0 +1302 1 2.7923 1 279.2223677806853 52.398388403346324 0 0 0 0 +9370 1 1.0325 1 309.5851639397698 13.318531384303949 0 0 1 0 +7878 1 1.123 1 299.52000041078156 26.0045769582727 0 0 0 0 +7909 1 1.1203 1 298.6609076089637 50.674126000259164 0 0 0 0 +7926 1 1.1194 1 296.14400075851535 24.944916060391765 0 0 0 0 +7489 1 1.1531 1 307.13066799374695 62.08369861869007 0 0 0 0 +9996 1 1.0002 1 282.5733551394748 48.746107317302744 0 0 0 0 +7944 1 1.1185 1 325.2329415060752 46.62713529670983 0 0 0 0 +7968 1 1.1166 1 282.29107056486566 24.196701019774423 0 0 0 0 +7979 1 1.1159 1 286.57390273259466 48.477599572498455 0 0 0 0 +7677 1 1.1383 1 297.8255387531168 10.548936560244046 0 0 0 0 +8020 1 1.1135 1 324.1528079736263 26.54179374307692 0 0 0 0 +9855 1 1.007 1 294.18013960641633 23.2217686611424 0 0 0 0 +8052 1 1.1112 1 315.3939995003227 64.20109738604094 0 0 0 0 +9675 1 1.0169 1 292.63986419158454 62.542736707551526 0 0 0 0 +8073 1 1.1094 1 286.8249050613492 24.45442957168857 0 0 0 0 +8079 1 1.1086 1 290.48748776332917 55.24074175455074 0 0 0 0 +524 1 4.285 1 309.9129298105109 61.947901867358084 0 0 0 0 +8092 1 1.1079 1 324.26871253802534 37.85720952087797 0 0 0 0 +8097 1 1.1075 1 284.3486551996518 41.48247868236766 0 0 0 0 +8146 1 1.1048 1 322.6393963569662 29.772120222940558 0 0 0 0 +8152 1 1.1046 1 283.6196659912774 40.68686130655472 0 0 0 0 +8179 1 1.1025 1 286.97513418767096 52.15568766859903 0 0 0 0 +8205 1 1.1012 1 278.9434612260547 46.182185604604065 0 0 0 0 +5256 1 1.3813 1 303.9072670197094 60.70083518697041 0 0 0 0 +8213 1 1.1005 1 289.4169410532688 25.115857023319265 0 0 0 0 +687 1 3.8145 1 290.84007309661126 13.430519320652536 0 0 1 0 +8219 1 1.1003 1 318.8448327242807 66.99507626665559 0 0 0 0 +6837 1 1.2085 1 306.18396270159474 12.651777215715835 0 0 0 0 +4862 1 1.4396 1 306.47872242806176 72.11768383656609 0 0 0 0 +8291 1 1.0956 1 281.36823630161325 24.771425190020672 0 0 0 0 +8311 1 1.0938 1 309.2548000211234 25.630364072893517 0 0 0 0 +8340 1 1.0911 1 287.09741794293404 18.936801867507352 0 0 0 0 +8353 1 1.0904 1 291.9344029103898 61.81006296564701 0 0 0 0 +8355 1 1.0904 1 277.2518945931007 26.8099945576102 0 0 0 0 +8357 1 1.0904 1 293.1841187883422 14.098852546894454 0 0 0 0 +8366 1 1.0894 1 285.69535759187323 49.03973380146937 0 0 0 0 +8387 1 1.0881 1 288.1337767856303 57.521048563171576 0 0 0 0 +8414 1 1.0867 1 302.3570729971319 36.20805266457034 0 0 0 0 +8422 1 1.0862 1 317.8688788451838 66.58053136353116 0 0 0 0 +8430 1 1.086 1 283.28651584332073 30.6399408891572 0 0 0 0 +9974 1 1.0018 1 287.4657333618042 46.27326038761213 0 0 0 0 +8471 1 1.083 1 287.9587908323563 19.591717382552563 0 0 0 0 +7036 1 1.1905 1 308.99331154701827 23.395866975829403 0 0 0 0 +8546 1 1.0784 1 284.68623188250785 48.71780429733186 0 0 0 0 +4873 1 1.4375 1 274.62739913073653 50.996458607692134 0 0 0 0 +9513 1 1.0252 1 316.40703611321203 48.57649329277011 0 0 0 0 +8562 1 1.0772 1 283.9006336211337 48.025960677424116 0 0 0 0 +8576 1 1.0767 1 306.0917733407843 39.449065516826536 0 0 0 0 +8579 1 1.0765 1 309.4908280823907 37.16113655159586 0 0 0 0 +8593 1 1.0756 1 314.6556174986449 56.44773762052422 0 0 0 0 +8596 1 1.0754 1 293.2011758220004 55.773012954314055 0 0 0 0 +8677 1 1.0712 1 294.2798948408037 36.53774438035914 0 0 0 0 +4383 1 1.5173 1 331.16189204369175 41.63959355439747 0 -1 0 0 +8703 1 1.0697 1 315.47347365687943 31.936866616290416 0 0 0 0 +8705 1 1.0696 1 298.17120745530076 53.38296722379274 0 0 0 0 +8750 1 1.067 1 319.9814471794174 44.31999509216591 0 0 0 0 +8763 1 1.0655 1 274.8040298974358 34.583476969817255 0 0 0 0 +8764 1 1.0654 1 302.1027839003705 25.795210376719957 0 0 0 0 +8772 1 1.0648 1 308.31195063790585 20.822752932678444 0 0 0 0 +5299 1 1.3759 1 308.9309299263145 64.85528863556691 0 0 0 0 +8818 1 1.0622 1 280.87777309997915 34.67416304736644 0 0 0 0 +8821 1 1.0619 1 305.6855423444374 23.67604414881976 0 0 0 0 +8840 1 1.0608 1 297.9218879589071 46.68800094742824 0 0 0 0 +8844 1 1.0606 1 289.43321345503057 55.3986617542306 0 0 0 0 +8897 1 1.0575 1 307.894942180551 23.761278286029672 0 0 0 0 +8900 1 1.0574 1 277.2596512289865 34.09852708602692 0 0 0 0 +8913 1 1.0569 1 287.948870598912 28.64999154780332 0 0 0 0 +8942 1 1.0555 1 302.5393212787043 47.768944263655946 0 0 0 0 +8959 1 1.0549 1 320.73154186057315 38.035507211495116 0 0 0 0 +8978 1 1.0538 1 285.37836099822255 41.621430266125664 0 0 0 0 +9000 1 1.0526 1 273.96590092090634 45.88527250230071 0 0 0 0 +6542 1 1.2382 1 314.9200701230951 69.15553035471808 0 0 0 0 +9027 1 1.0513 1 292.980762727453 33.47095707068937 0 0 0 0 +5367 1 1.3678 1 302.59351153643127 60.6013822640197 0 0 0 0 +9933 1 1.0038 1 308.0477353121229 26.626263992888898 0 0 0 0 +9066 1 1.049 1 280.75901235133296 37.461288863022624 0 0 0 0 +5863 1 1.3091 1 331.45728632975977 45.245510364803124 0 0 0 0 +9112 1 1.0468 1 326.159282809559 49.826981562661736 0 0 0 0 +9139 1 1.0451 1 310.40893249755766 43.684112608586915 0 0 0 0 +9144 1 1.0449 1 312.10400195613386 31.77362551401445 0 0 0 0 +9164 1 1.0439 1 293.8971261683346 60.73217928394699 0 0 0 0 +9172 1 1.0432 1 308.3114315122881 41.04140964956254 0 0 0 0 +9179 1 1.043 1 286.3373443105565 37.15438509152622 0 0 0 0 +9188 1 1.0426 1 272.15840063396263 27.909926654578264 0 0 0 0 +9202 1 1.0418 1 319.4093049846259 27.501096197410707 0 0 0 0 +9288 1 1.0373 1 322.47216172665094 33.62286220637535 0 0 0 0 +9336 1 1.0343 1 282.8651686273056 45.46720109867355 0 0 0 0 +1484 1 2.5925 1 319.2548373037602 16.74117244689361 0 0 1 0 +9368 1 1.0325 1 308.0354918788902 25.646537154812563 0 0 0 0 +9715 1 1.0144 1 303.36082735040515 35.262216526235676 0 0 0 0 +2434 1 2.0331 1 284.7945943133103 50.25671696553644 0 0 0 0 +1155 1 2.9488 1 313.15478968017715 63.53660915393749 0 0 0 0 +6966 1 1.197 1 307.4526973210098 60.9875225689539 0 0 0 0 +5784 1 1.3157 1 300.14889705035995 71.00747847092585 0 0 0 0 +1766 1 2.3742 1 318.9901788138663 19.09251976845677 0 0 1 0 +9043 1 1.0501 1 306.60745241026126 13.652202716808063 0 0 1 0 +4935 1 1.4278 1 307.49609099821146 64.88597717232722 0 0 0 0 +60 1 12.3738 1 326.6449339796142 16.42773142542728 0 0 0 0 +3762 1 1.6376 1 268.68103224438374 48.56711605962377 0 0 0 0 +9864 1 1.0066 1 308.2270161447188 63.948723295769305 0 0 0 0 +5901 1 1.3046 1 304.1507175535472 66.66507782000534 0 0 0 0 +8547 1 1.0783 1 312.1567055626534 68.02376081335078 0 0 0 0 +388 1 5.007 1 308.30873669111713 67.95951233716428 0 0 0 0 +8201 1 1.1014 1 298.59995448910394 65.26734323369391 0 0 0 0 +532 1 4.2494 1 301.09246815656746 66.24835219757625 0 0 0 0 +7925 1 1.1194 1 303.39743075984836 67.56928112468792 0 0 0 0 +8925 1 1.0563 1 298.4559909184955 66.35230135905555 0 0 0 0 +3969 1 1.592 1 311.3864516564477 69.07373025942374 0 0 0 0 +9553 1 1.0231 1 312.63875300726494 68.90255366630888 0 0 0 0 +7294 1 1.1712 1 269.6082283081722 49.568327067570124 0 0 0 0 +3545 1 1.6833 1 297.9784115738569 67.62923340809706 0 0 0 0 +2394 1 2.0502 1 304.8501967979167 68.16438471932818 0 0 0 0 +7426 1 1.1593 1 315.9554562361423 73.24093106728544 0 0 0 0 +5159 1 1.3939 1 318.8115865095484 71.37409248902388 0 0 0 0 +7111 1 1.1849 1 316.37714919517987 71.43733690015033 0 0 0 0 +6647 1 1.2271 1 308.9395679178388 14.188031062392536 0 0 1 0 +4460 1 1.5038 1 268.02336960610774 49.98644706339165 0 0 0 0 +8810 1 1.0627 1 299.48446701203306 70.05887407976861 0 0 0 0 +1464 1 2.6072 1 305.48635210246897 70.37392164228747 0 0 0 0 +8209 1 1.1009 1 316.7869987656425 72.52212669218264 0 0 0 0 +8198 1 1.1017 1 309.5427567333659 70.7443881962704 0 0 0 0 +1450 1 2.6203 1 318.4561215526838 73.33730347970562 0 0 0 0 +404 1 4.9239 1 313.36864441323615 71.7303912522234 0 0 0 0 +9593 1 1.0212 1 303.98422887171887 71.23959928206247 0 0 0 0 +5475 1 1.3533 1 307.8146069111916 72.47530778182323 0 0 0 0 +3586 1 1.6739 1 301.13517978192107 72.0552595100432 0 0 0 0 +6662 1 1.2259 1 308.60982502255683 10.942128054453669 0 0 1 0 +3243 1 1.7546 1 308.3028555581986 73.94769828344208 0 0 0 0 +6671 1 1.2249 1 331.5439296816821 34.41380043077774 0 0 0 0 +2917 1 1.8579 1 323.48115622904953 10.092971720981923 0 0 1 0 +6523 1 1.2408 1 290.0878871697654 10.005628624073545 0 0 1 0 +9826 1 1.0087 1 324.8922400548197 9.974943543481388 0 0 1 0 +3700 1 1.6461 1 329.81407315446506 10.019484704013749 0 0 1 0 +4545 1 1.4903 1 321.5283352644186 138.00109756020046 0 0 0 0 +82 1 10.1256 1 312.51664920160414 84.4484003752569 0 0 0 0 +117 1 9.1039 1 317.53171149598796 115.61582669785275 0 0 0 0 +132 1 8.3304 1 312.8568944984598 126.43722390369962 0 0 0 0 +135 1 8.1095 1 314.9499547603624 94.61171378822131 0 0 0 0 +217 1 6.5363 1 327.6523816021951 121.67409265216561 0 0 0 0 +241 1 6.2782 1 317.8180214572622 101.13875953933076 0 0 0 0 +289 1 5.8251 1 323.81007424362167 111.7422127115465 0 0 0 0 +3458 1 1.701 1 319.03732681568204 135.01253531489579 0 0 0 0 +349 1 5.3534 1 305.04537455973394 75.18233474979527 0 0 0 0 +370 1 5.1401 1 310.4003733945588 120.32491461489221 0 0 0 0 +41 1 15.4992 1 329.77701677300956 132.40756936029499 0 0 0 0 +400 1 4.9357 1 319.33862095279324 89.97793641863622 0 0 0 0 +3776 1 1.6346 1 314.96201111831743 132.70766142197408 0 0 0 0 +9786 1 1.0107 1 314.44417909302206 133.8751087299022 0 0 0 0 +424 1 4.7977 1 304.5916941657036 125.3963420390489 0 0 0 0 +436 1 4.6998 1 325.67565280688467 116.54583893376886 0 0 0 0 +461 1 4.622 1 315.53569936531125 107.21753648046251 0 0 0 0 +482 1 4.5035 1 320.1920838286403 122.06226380460664 0 0 0 0 +6281 1 1.262 1 324.73574565510654 85.37154935070845 0 -1 0 0 +510 1 4.3236 1 306.57411934904223 117.8605215229904 0 0 0 0 +805 1 3.5783 1 317.446849239795 132.40495499067902 0 0 0 0 +9803 1 1.0098 1 317.94495004371606 108.61683866259096 0 0 0 0 +558 1 4.1793 1 306.7528748353563 80.42361669672789 0 0 0 0 +593 1 4.0396 1 318.8457431264899 127.36291712844415 0 0 0 0 +611 1 3.9852 1 329.16058715244515 110.71688424182621 0 0 0 0 +615 1 3.9789 1 322.32909145960156 125.65231823469445 0 0 0 0 +638 1 3.9176 1 323.089118419198 97.14111609416877 0 0 0 0 +679 1 3.827 1 328.8454912204225 106.90954300460824 0 0 0 0 +715 1 3.7568 1 322.6374572442605 102.20253684334048 0 0 0 0 +725 1 3.7356 1 319.3047817077082 84.68784860511384 0 0 0 0 +893 1 3.3679 1 318.09887132246877 80.95365725979586 0 0 0 0 +9577 1 1.0217 1 305.31338097951317 78.31816217678646 0 0 0 0 +959 1 3.2367 1 314.4098748557691 78.06360555091383 0 0 0 0 +4375 1 1.519 1 301.80650521533 129.21435627131456 0 0 0 0 +9445 1 1.0286 1 316.98647352963906 124.27868522247417 0 0 0 0 +996 1 3.1804 1 320.9393890593919 108.3411001697705 0 0 0 0 +1002 1 3.1757 1 309.2355340092234 106.56400583890206 0 0 0 0 +1015 1 3.155 1 309.6692793843651 96.24355504519977 0 0 0 0 +9380 1 1.032 1 324.48440564674684 103.64152172026584 0 0 0 0 +6918 1 1.2005 1 322.59681093081855 128.1955443134758 0 0 0 0 +4834 1 1.4446 1 327.474362888265 91.90269267543579 0 -1 0 0 +4145 1 1.5594 1 312.1730172808081 75.31673117285754 0 0 0 0 +9810 1 1.0095 1 323.4666909511958 99.54355723383196 0 0 0 0 +1209 1 2.8982 1 323.51946645459293 93.55751152790953 0 0 0 0 +1239 1 2.8622 1 309.61024183591735 99.84094892038502 0 0 0 0 +1290 1 2.8027 1 325.69075930257725 106.12597335023395 0 0 0 0 +4062 1 1.5728 1 312.20118463748935 138.32638504714245 0 0 0 0 +1361 1 2.7278 1 305.6279186674814 121.60379394598297 0 0 0 0 +6052 1 1.2886 1 316.4070008314525 76.66455957827229 0 0 0 0 +9351 1 1.0335 1 321.3868350820668 104.23966621535425 0 0 0 0 +1402 1 2.6809 1 329.24165265929685 115.63759862522878 0 0 0 0 +1433 1 2.6446 1 311.99157392921853 110.75322348879801 0 0 0 0 +1446 1 2.6269 1 314.3593435590697 103.82338256079092 0 0 0 0 +3182 1 1.7702 1 330.05181404191376 90.7821673126547 0 -1 0 0 +1477 1 2.5971 1 311.2033857316367 77.10125594722044 0 0 0 0 +1522 1 2.5527 1 308.60293685240686 77.66846864721522 0 0 0 0 +2511 1 2.0067 1 292.4407539499373 136.18733581300856 0 0 0 0 +7321 1 1.1687 1 326.58375089692277 92.80383034722524 0 -1 0 0 +1569 1 2.5189 1 331.03220759749985 113.75268808242112 0 0 0 0 +1603 1 2.4931 1 323.6388723246932 107.68562495980349 0 0 0 0 +1622 1 2.4747 1 321.00124819726295 93.19173303192152 0 0 0 0 +5231 1 1.385 1 331.580838144281 107.67039036836206 0 0 0 0 +1692 1 2.4289 1 309.25120264321777 109.60471182085027 0 0 0 0 +1741 1 2.3907 1 318.4268489715872 105.3559857890393 0 0 0 0 +1750 1 2.3849 1 311.2615318146119 108.3975636139071 0 0 0 0 +1772 1 2.3718 1 317.1485572577382 78.30449729022948 0 0 0 0 +1793 1 2.3606 1 306.37237074439446 129.3745506681449 0 0 0 0 +8011 1 1.1139 1 331.68679495731504 110.92227653439424 0 0 0 0 +1897 1 2.3023 1 309.01190601185436 93.47054740534205 0 0 0 0 +1908 1 2.2951 1 312.1795509381681 113.4656582576535 0 0 0 0 +1910 1 2.2934 1 325.5946411919923 102.52531234904228 0 0 0 0 +2030 1 2.2225 1 310.1227100157063 74.70878981905437 0 0 0 0 +6277 1 1.2623 1 309.02272425632043 131.7929166010447 0 0 0 0 +2050 1 2.2107 1 309.5845487854056 102.32951478151202 0 0 0 0 +9502 1 1.0259 1 328.20649797543706 88.91215321068111 0 -1 0 0 +4818 1 1.4461 1 293.59710728164316 134.87487652121462 0 0 0 0 +9939 1 1.0033 1 317.7840314011518 134.63515636232387 0 0 0 0 +2130 1 2.1644 1 311.4031761362542 98.2173532487166 0 0 0 0 +2138 1 2.1603 1 317.0512973077265 121.16674715139837 0 0 0 0 +2148 1 2.1575 1 319.12447348131224 110.2452023290978 0 0 0 0 +2164 1 2.1503 1 314.30536141844567 110.36705247124112 0 0 0 0 +2201 1 2.1368 1 315.78769033336675 89.60541695981776 0 0 0 0 +2242 1 2.1191 1 313.8487630672764 121.32112719961778 0 0 0 0 +2248 1 2.1182 1 311.87315058904346 100.76565728749435 0 0 0 0 +2261 1 2.1135 1 308.31608372001136 88.85642636170931 0 0 0 0 +2272 1 2.1054 1 323.2892287504354 118.86091000467754 0 0 0 0 +2276 1 2.1045 1 307.23778768193387 123.29498850672923 0 0 0 0 +9022 1 1.0516 1 321.23135503040834 105.26223785154276 0 0 0 0 +3209 1 1.7638 1 314.8012698072999 131.05587324043472 0 0 0 0 +2383 1 2.0547 1 310.82336965442 116.80808428436809 0 0 0 0 +3728 1 1.6431 1 311.4492997441669 135.85161526443557 0 0 0 0 +1079 1 3.0432 1 299.55404932581075 129.08777655176453 0 0 0 0 +743 1 3.6943 1 319.0329131761758 137.746496082216 0 0 0 0 +2115 1 2.1728 1 303.576166458024 128.73700911264655 0 0 0 0 +3528 1 1.6875 1 316.2290706822891 130.10714279623846 0 0 0 0 +2523 1 2.0031 1 301.98887089715123 127.49601880314636 0 0 0 0 +2567 1 1.9836 1 306.8408244914701 113.9968788368093 0 0 0 0 +2588 1 1.9756 1 310.56807242058375 114.8564575720188 0 0 0 0 +9257 1 1.0391 1 306.0075284868323 115.24832235450715 0 0 0 0 +9831 1 1.0086 1 312.6422269554532 135.4269070332015 0 0 0 0 +2627 1 1.9574 1 319.265043260742 78.65818121907009 0 0 0 0 +2670 1 1.9414 1 310.8863601462924 91.69319505493826 0 0 0 0 +2692 1 1.9332 1 303.40135574278514 122.25827971046272 0 0 0 0 +2789 1 1.8984 1 307.785633733908 126.3232895958263 0 0 0 0 +2815 1 1.8904 1 321.6459022927838 129.38412968593488 0 0 0 0 +2896 1 1.8636 1 323.72750648664663 123.13872954348362 0 0 0 0 +2101 1 2.1835 1 308.39307598537977 130.21967740005695 0 0 0 0 +2973 1 1.8406 1 316.23443743278256 110.3362935156162 0 0 0 0 +8995 1 1.053 1 316.83703424142675 128.89674196444855 0 0 0 0 +3059 1 1.8101 1 318.9753432885225 97.36645702885517 0 0 0 0 +3110 1 1.7942 1 322.57022102504817 104.96449135707812 0 0 0 0 +8094 1 1.1076 1 316.7672205032746 134.62554127299973 0 0 0 0 +3164 1 1.7761 1 318.6904298982245 107.38440803669889 0 0 0 0 +3220 1 1.7598 1 325.6370158099297 108.40135830954571 0 0 0 0 +8605 1 1.0747 1 290.2134931684634 137.87203900247147 0 0 0 0 +3278 1 1.7457 1 328.6153820047697 117.6937461592112 0 0 0 0 +3284 1 1.7442 1 320.66522556142803 86.98761357847845 0 0 0 0 +3316 1 1.7361 1 315.4960218682168 122.21370748353013 0 0 0 0 +3323 1 1.7341 1 313.01674596348846 99.22771269831624 0 0 0 0 +3341 1 1.7309 1 328.98288308546086 113.48739919795518 0 0 0 0 +3344 1 1.7303 1 321.45139440415267 119.25484127299713 0 0 0 0 +3360 1 1.7257 1 311.0276508116781 103.63663055678201 0 0 0 0 +2009 1 2.2343 1 295.5970690080138 132.85762475883834 0 0 0 0 +3398 1 1.7152 1 318.7776024336537 130.17224571622495 0 0 0 0 +3429 1 1.709 1 327.34538701692964 112.81356796339179 0 0 0 0 +3438 1 1.7072 1 309.0341226584407 123.36053289179483 0 0 0 0 +1676 1 2.4408 1 323.4090075407708 90.9155611101299 0 -1 0 0 +2477 1 2.018 1 313.91873891827254 75.13638672260358 0 0 0 0 +9979 1 1.0013 1 307.60686988472344 109.36578832633248 0 0 0 0 +3515 1 1.691 1 300.33725507241786 126.89870005818469 0 0 0 0 +9339 1 1.0342 1 307.4306790798344 110.35144861287587 0 0 0 0 +3023 1 1.8198 1 331.7089035046484 109.47053355449809 0 0 0 0 +3578 1 1.675 1 322.40339866273723 89.16960155355733 0 0 0 0 +8965 1 1.0543 1 314.64282449688284 119.93609368646037 0 0 0 0 +3600 1 1.6711 1 308.42625093028937 90.70218290991245 0 0 0 0 +3601 1 1.6706 1 322.8240994937802 115.31958423282354 0 0 0 0 +6318 1 1.2594 1 331.75946454744286 104.80446348069042 0 0 0 0 +3683 1 1.6526 1 312.2094888946658 115.46599622024218 0 0 0 0 +3689 1 1.6514 1 313.0364671391671 118.3662586794072 0 0 0 0 +3714 1 1.6446 1 320.89831082019174 95.45480075339128 0 0 0 0 +3717 1 1.6443 1 313.90138461196585 100.65177456652103 0 0 0 0 +3795 1 1.6308 1 330.39204937457936 104.85282784370096 0 0 0 0 +3822 1 1.6225 1 313.57040531586983 112.09589952331208 0 0 0 0 +3892 1 1.6098 1 308.4548145257292 113.3959340581715 0 0 0 0 +9432 1 1.0292 1 308.3031973845483 92.0066400682076 0 0 0 0 +3930 1 1.6018 1 308.45476548904384 75.60778714797583 0 0 0 0 +3936 1 1.601 1 309.2142855229583 112.03081298487429 0 0 0 0 +5847 1 1.3101 1 330.92737637488506 118.90734997594409 0 -1 0 0 +4124 1 1.5628 1 318.64656906243806 77.09293268917516 0 0 0 0 +4131 1 1.562 1 312.2915116098616 105.87072602464559 0 0 0 0 +5101 1 1.4042 1 324.8390160323058 95.17450231381612 0 -1 0 0 +4169 1 1.5554 1 320.8607072988391 79.26143536749154 0 0 0 0 +4182 1 1.5526 1 318.5745701303687 124.59203252223372 0 0 0 0 +4207 1 1.5486 1 313.0862563080113 109.00351931324589 0 0 0 0 +6610 1 1.231 1 326.5113022832406 90.98491323172361 0 -1 0 0 +4325 1 1.5276 1 307.1189140119251 85.98182234149863 0 0 0 0 +9530 1 1.0242 1 321.82938821260655 91.63605263137062 0 0 0 0 +4454 1 1.506 1 327.6716736289642 114.31047153391148 0 0 0 0 +4483 1 1.5006 1 312.4743735911698 103.04713929287445 0 0 0 0 +4511 1 1.4952 1 321.12138291316955 98.9854025636478 0 0 0 0 +4517 1 1.4944 1 319.66593508485374 94.53558189517621 0 0 0 0 +4520 1 1.4943 1 325.6255827769482 93.68276436925287 0 0 0 0 +4562 1 1.4871 1 317.63200355279486 76.04931883138376 0 0 0 0 +4611 1 1.479 1 311.26752049483684 90.06927724886046 0 0 0 0 +4618 1 1.4785 1 316.8263376549344 88.16639992185006 0 0 0 0 +4636 1 1.4758 1 308.2711285379398 124.73545917058709 0 0 0 0 +4643 1 1.4742 1 309.95194450634716 113.33214358111152 0 0 0 0 +9341 1 1.0341 1 323.9229702533972 121.7492297666966 0 0 0 0 +1172 1 2.9315 1 321.6478304063884 82.3731198192299 0 0 0 0 +4695 1 1.4654 1 320.47327525535746 96.92438933706737 0 0 0 0 +4709 1 1.4631 1 323.8495097430726 120.5251747962923 0 0 0 0 +4764 1 1.4542 1 324.1124545609247 104.74175792236242 0 0 0 0 +2664 1 1.9429 1 314.04801322147114 135.24890149082145 0 0 0 0 +4821 1 1.4459 1 320.4284260333942 80.63060130357482 0 0 0 0 +4824 1 1.4457 1 317.6960792379254 86.99933467366388 0 0 0 0 +4274 1 1.5374 1 327.77725505810827 90.49998766771769 0 -1 0 0 +9052 1 1.05 1 307.17043281858105 111.3980978886952 0 0 0 0 +4878 1 1.437 1 303.91587043931696 120.56579446593082 0 0 0 0 +4879 1 1.4369 1 312.49705867686083 116.963707636692 0 0 0 0 +7086 1 1.1873 1 317.8062384753892 135.7019355746777 0 0 0 0 +9029 1 1.0512 1 324.09589673034367 100.31681757776447 0 0 0 0 +9342 1 1.0341 1 321.32080299032265 100.22017631351167 0 -1 0 0 +6340 1 1.258 1 321.23342192269405 136.69039439048638 0 0 0 0 +4970 1 1.4239 1 315.9823667757271 79.82779930807907 0 0 0 0 +4982 1 1.4226 1 326.39075935302174 104.17826914683093 0 0 0 0 +5023 1 1.4174 1 306.76694379325437 127.57792924930943 0 0 0 0 +5036 1 1.4154 1 301.6109037009382 124.75700722002955 0 0 0 0 +9544 1 1.0236 1 308.5504701418022 103.53513297083659 0 0 0 0 +5160 1 1.3937 1 309.5852059694247 104.11896857089404 0 0 0 0 +8784 1 1.0642 1 327.4777227703154 88.23740278941683 0 -1 0 0 +9462 1 1.0277 1 311.4536105052453 104.92792973927031 0 0 0 0 +5641 1 1.333 1 321.93125817806174 135.60265244055262 0 0 0 0 +7371 1 1.1638 1 322.68048389465673 84.3680540337879 0 0 0 0 +5557 1 1.3437 1 294.1411194372804 136.36823073702115 0 0 0 0 +4600 1 1.4802 1 315.5583379606744 134.3181336890214 0 0 0 0 +5312 1 1.3741 1 330.3939998810656 117.30010018446033 0 0 0 0 +5327 1 1.3722 1 324.8881503213167 125.620430692917 0 0 0 0 +2498 1 2.0107 1 319.26399569670394 75.46258601128118 0 0 0 0 +5410 1 1.362 1 306.76466152268824 84.27125683909242 0 0 0 0 +5427 1 1.3595 1 319.4875570221262 95.91471091662163 0 0 0 0 +5442 1 1.3574 1 314.52169455110044 99.29906573581641 0 0 0 0 +5447 1 1.3568 1 307.56914881441435 87.32443152799708 0 0 0 0 +8322 1 1.0926 1 302.2955100219038 123.49878488391346 0 0 0 0 +9185 1 1.0429 1 313.4377923372707 105.36295118204323 0 0 0 0 +5482 1 1.3526 1 322.1643234277075 106.4602819078916 0 0 0 0 +5519 1 1.3489 1 308.10919292879277 128.1724822719035 0 0 0 0 +8399 1 1.0876 1 318.94677293485256 87.03221335437892 0 -1 0 0 +5588 1 1.3388 1 312.5086702170047 104.45158134084132 0 0 0 0 +5596 1 1.3377 1 315.3502666683715 75.94224010709594 0 0 0 0 +9758 1 1.0124 1 308.7786548670899 98.1079030508629 0 0 0 0 +5319 1 1.3735 1 328.97019054852046 89.75146692752557 0 -1 0 0 +1512 1 2.5629 1 293.48851901105905 138.21959323367554 0 0 0 0 +5619 1 1.3348 1 322.34065795369924 99.67786269713352 0 0 0 0 +5633 1 1.3335 1 320.0492310160205 76.93039018163786 0 0 0 0 +9994 1 1.0002 1 309.5997313203211 115.96432213552552 0 0 0 0 +5721 1 1.3241 1 322.4881004927648 120.33164142893764 0 0 0 0 +5737 1 1.322 1 310.757774648492 112.24674748953461 0 0 0 0 +3641 1 1.664 1 322.60960902761707 136.92431700127605 0 0 0 0 +4365 1 1.5203 1 320.46903162051876 135.61135877741367 0 0 0 0 +5814 1 1.3128 1 308.4957154035111 115.8492730577217 0 0 0 0 +5550 1 1.3442 1 310.08730254678426 130.33090621871986 0 0 0 0 +5866 1 1.3088 1 324.7701732284161 124.31044865691203 0 0 0 0 +4249 1 1.5422 1 322.13686204567443 87.60260235953918 0 -1 0 0 +7311 1 1.1696 1 328.7326846418195 91.3986554196287 0 -1 0 0 +5911 1 1.3039 1 311.14868970736893 78.98349869586785 0 0 0 0 +6018 1 1.2926 1 312.6230520200136 107.22905590227562 0 0 0 0 +555 1 4.1894 1 324.9383688085437 87.96283636517263 0 -1 0 0 +6071 1 1.2864 1 313.1159335476296 101.86253940255804 0 0 0 0 +6162 1 1.2761 1 309.8834287733682 89.48408243241632 0 0 0 0 +6189 1 1.2731 1 317.67110570413223 123.38277174835738 0 0 0 0 +6199 1 1.2717 1 327.3367851988735 108.86087238006142 0 0 0 0 +1068 1 3.0621 1 320.6183738460113 131.62159365528117 0 0 0 0 +6786 1 1.2142 1 324.52179917826675 99.27206292824376 0 -1 0 0 +2281 1 2.1029 1 316.5450070058003 74.71177968428806 0 0 0 0 +6407 1 1.251 1 329.80952198005025 118.47116163474361 0 0 0 0 +6408 1 1.251 1 308.9862980538755 114.6916224131245 0 0 0 0 +6419 1 1.25 1 309.352581173528 79.73992530651674 0 0 0 0 +6459 1 1.2468 1 313.52717643425694 119.69630542441172 0 0 0 0 +431 1 4.7556 1 311.8464700280593 132.74269873423555 0 0 0 0 +7273 1 1.173 1 311.4789550966285 137.21992341628055 0 0 0 0 +9624 1 1.0196 1 316.8970122948278 136.789379795049 0 0 0 0 +6532 1 1.2393 1 309.28610432505997 117.34256839672055 0 0 0 0 +6548 1 1.2378 1 325.0578446794774 100.87196824105416 0 0 0 0 +6551 1 1.2375 1 307.96820726022355 108.32709158303103 0 0 0 0 +6587 1 1.2334 1 320.3616201678673 111.32720667836023 0 0 0 0 +9918 1 1.0044 1 325.22595175355445 104.29456973195049 0 0 0 0 +6651 1 1.2267 1 316.44662595159554 123.30851731131034 0 0 0 0 +7102 1 1.1854 1 323.32244252545615 83.42026242350526 0 -1 0 0 +8556 1 1.0777 1 290.86724739028995 136.9158015433742 0 0 0 0 +36 1 16.1974 1 302.88699300385974 137.96605576485595 0 0 0 0 +6730 1 1.2196 1 319.8468818519797 106.45143918463054 0 0 0 0 +6787 1 1.2142 1 312.9638032756786 76.4215672347317 0 0 0 0 +6818 1 1.2105 1 308.23469347502635 111.08849572964506 0 0 0 0 +6833 1 1.2088 1 307.2521326790354 120.52910483988425 0 0 0 0 +6954 1 1.1981 1 325.9549635940472 125.05036115209016 0 0 0 0 +5275 1 1.3791 1 323.88577025753375 84.4957493464562 0 -1 0 0 +8924 1 1.0564 1 291.702898718472 137.59976690850243 0 0 0 0 +7024 1 1.1919 1 310.17838817449746 111.1088396478082 0 0 0 0 +2345 1 2.0701 1 321.2391098141495 134.06396918469716 0 0 0 0 +7055 1 1.1894 1 327.41138169197103 104.9172000456804 0 0 0 0 +7263 1 1.1734 1 301.4544072956432 126.01873245763515 0 0 0 0 +7295 1 1.1712 1 326.4689984156376 109.59878617669868 0 0 0 0 +7303 1 1.1702 1 320.1687160584533 105.3158400878715 0 0 0 0 +7325 1 1.1684 1 323.6816758148568 105.91946990917037 0 0 0 0 +9054 1 1.05 1 317.60736139215487 110.56259188789228 0 0 0 0 +4894 1 1.4334 1 319.6014980828975 133.59069220766202 0 0 0 0 +7353 1 1.1654 1 312.3057239590327 78.62441827611218 0 0 0 0 +2494 1 2.0127 1 322.0982950361294 85.82924774053195 0 -1 0 0 +7384 1 1.1627 1 322.91954428661944 121.4622516971957 0 0 0 0 +7389 1 1.1623 1 306.27993250261864 83.10357126452374 0 0 0 0 +7423 1 1.1594 1 327.977457553184 103.9129945158127 0 0 0 0 +9871 1 1.0063 1 318.91404109453345 108.72169054798972 0 0 0 0 +2602 1 1.9663 1 325.3023784508665 91.99582353709539 0 0 0 0 +7509 1 1.1518 1 310.6298632142573 93.17209044290661 0 0 0 0 +7528 1 1.1506 1 331.10693604389877 115.554330848285 0 0 0 0 +4866 1 1.4388 1 315.4767547544955 136.02162708561497 0 0 0 0 +7668 1 1.1387 1 317.41696479466316 125.24384244391304 0 0 0 0 +7706 1 1.1359 1 320.60512871787256 103.53210558640525 0 0 0 0 +7715 1 1.1353 1 319.2401860218366 92.9937686828049 0 0 0 0 +7737 1 1.1336 1 309.3541967552072 91.76749577102106 0 0 0 0 +7738 1 1.1335 1 325.44415035489527 90.51007830842158 0 0 0 0 +9030 1 1.0511 1 324.78195225054793 119.2551601019906 0 0 0 0 +7868 1 1.1234 1 310.42966838869336 94.28455858271057 0 0 0 0 +7882 1 1.1228 1 308.4692299112041 104.5929062549639 0 0 0 0 +8970 1 1.0541 1 321.3197464708867 127.95335087390787 0 0 0 0 +7900 1 1.1214 1 330.5798053884279 108.60452930141781 0 0 0 0 +7911 1 1.1201 1 315.6339863915029 120.35974172462082 0 0 0 0 +9634 1 1.0189 1 306.8765580525876 112.4991479345678 0 0 0 0 +9479 1 1.027 1 310.4692990102946 104.89805029458437 0 0 0 0 +8010 1 1.1141 1 314.26616370347153 101.97676730913844 0 0 0 0 +9682 1 1.0165 1 317.5093153664077 129.67862966633905 0 0 0 0 +8023 1 1.1132 1 309.79758802998754 90.65742698841129 0 0 0 0 +8064 1 1.11 1 310.00532481516007 78.78676528821494 0 0 0 0 +8088 1 1.1082 1 319.77197127215845 104.25937303609236 0 0 0 0 +8132 1 1.1055 1 306.811364055855 77.82594069270127 0 0 0 0 +8133 1 1.1055 1 304.361126990453 119.39401749017249 0 0 0 0 +8151 1 1.1047 1 322.01689541779575 117.95719722171218 0 0 0 0 +8171 1 1.1028 1 322.64752050813934 116.716401465566 0 0 0 0 +7236 1 1.1752 1 316.68468666551695 135.73132755148515 0 0 0 0 +9807 1 1.0096 1 304.79086979272427 129.6348422839934 0 0 0 0 +8215 1 1.1004 1 307.8810967125615 112.18516863694117 0 0 0 0 +8232 1 1.0996 1 309.6210878980074 76.22729712488443 0 0 0 0 +8283 1 1.0962 1 330.4506086278355 124.1743870145245 0 0 0 0 +8344 1 1.0909 1 323.6195122031342 85.69193324094323 0 0 0 0 +8370 1 1.089 1 321.6224365227084 84.36640742202503 0 0 0 0 +8391 1 1.0879 1 320.15745387043836 98.16238498259966 0 0 0 0 +8409 1 1.0871 1 304.28218192885646 78.29219136415988 0 0 0 0 +8423 1 1.0862 1 317.43261029721066 109.51480763153597 0 0 0 0 +8451 1 1.0842 1 319.7095976213794 82.36830849928842 0 0 0 0 +8485 1 1.0818 1 322.07908603157495 94.86502001384669 0 0 0 0 +8824 1 1.0618 1 294.83781022033673 134.48779769525913 0 0 0 0 +8566 1 1.0771 1 312.19999059720084 90.93750578378275 0 0 0 0 +6621 1 1.2302 1 327.19310074998356 89.32800900819585 0 -1 0 0 +8612 1 1.0744 1 311.3224957014307 106.6990336370489 0 0 0 0 +8614 1 1.0744 1 307.4513775612714 115.34452235073391 0 0 0 0 +8685 1 1.0707 1 320.5767988365065 77.99350769750397 0 0 0 0 +8775 1 1.0647 1 329.0151344588118 104.3841238416661 0 0 0 0 +9408 1 1.0302 1 320.9486445468935 106.24883607820746 0 0 0 0 +8815 1 1.0624 1 327.1040753527629 103.23085000287588 0 0 0 0 +6697 1 1.2224 1 320.1306478015762 129.58945003080177 0 0 0 0 +2805 1 1.8918 1 312.91466842745416 136.77740591912155 0 0 0 0 +8833 1 1.0613 1 311.23910588869904 102.23591880246495 0 0 0 0 +7893 1 1.1218 1 331.37792041506464 111.98105835436134 0 0 0 0 +8991 1 1.0531 1 331.4596955969922 106.09908429323978 0 0 0 0 +53 1 12.7957 1 331.3509484847998 97.82963638738339 0 -1 0 0 +2483 1 2.0162 1 331.7453740413977 122.55560353829448 0 0 0 0 +2616 1 1.9614 1 331.64508859547266 120.31363244764314 0 0 0 0 +5783 1 1.3157 1 331.60436149191645 124.20352787845842 0 -1 0 0 +4882 1 1.4364 1 289.132538774934 138.52293263237598 0 0 0 0 +3663 1 1.6572 1 298.2111603109872 196.04996001469993 0 0 0 0 +46 1 13.6753 1 294.6377974402399 182.79864245752228 0 0 0 0 +92 1 9.7457 1 301.2616136085966 152.55953855292947 0 0 0 0 +93 1 9.7268 1 294.2780749765786 163.66615236456428 0 0 0 0 +139 1 7.9219 1 320.3883056489023 164.87841366334604 0 0 0 0 +140 1 7.8936 1 281.6136357866844 152.12164166515674 0 0 0 0 +145 1 7.8085 1 288.2415192484274 145.68124378083922 0 0 0 0 +147 1 7.7409 1 282.1800150644845 169.31485920078518 0 0 0 0 +179 1 7.2295 1 315.6515804527458 153.89982447871594 0 0 0 0 +182 1 7.1712 1 322.57446862671554 144.3669582359323 0 0 0 0 +184 1 7.1175 1 304.5626364156824 185.5218798895311 0 0 0 0 +7733 1 1.134 1 303.7647430805782 191.88943531751733 0 0 0 0 +220 1 6.4978 1 302.28630307987623 160.46627687977124 0 0 0 0 +243 1 6.2684 1 328.0204330164868 148.12282835502177 0 0 0 0 +261 1 6.126 1 309.17480897237846 165.51487996244896 0 0 0 0 +271 1 6.001 1 274.89725607667077 153.4746390589961 0 0 0 0 +283 1 5.8721 1 281.47680594899833 145.43566397374667 0 0 0 0 +285 1 5.8646 1 327.06491751624816 154.00848675736697 0 0 0 0 +320 1 5.5347 1 294.7004256063929 144.83825066236008 0 0 0 0 +321 1 5.5344 1 287.57542957850956 176.43264835504007 0 0 0 0 +339 1 5.3997 1 280.37248507083336 158.5129601401821 0 0 0 0 +357 1 5.2951 1 274.7458116025144 164.26821848714087 0 0 0 0 +368 1 5.1625 1 314.8702115671835 176.0686823179553 0 0 0 0 +387 1 5.0123 1 288.44450466559516 170.122799320213 0 0 0 0 +389 1 5.0003 1 301.1373092324127 171.1264624433749 0 0 0 0 +393 1 4.9614 1 313.8638847272129 168.5925732237753 0 0 0 0 +402 1 4.9292 1 313.6302216714799 162.60916824636388 0 0 0 0 +423 1 4.7986 1 284.402878282722 161.40731700897754 0 0 0 0 +6524 1 1.2407 1 268.6056580898676 177.5747699885967 0 0 0 0 +444 1 4.6675 1 309.7153192198194 188.18334044216087 0 0 0 0 +450 1 4.653 1 291.416644952901 157.24529076305456 0 0 0 0 +458 1 4.63 1 313.94691072570913 144.8995161329585 0 0 0 0 +463 1 4.6085 1 315.15987952608214 138.98380227386136 0 0 0 0 +465 1 4.5941 1 312.3812556312826 149.15458259258813 0 0 0 0 +476 1 4.5234 1 321.28343430312606 158.5238143652557 0 0 0 0 +496 1 4.3893 1 281.5915311912443 176.8114013861996 0 0 0 0 +540 1 4.236 1 317.5868244778116 148.4973534797444 0 0 0 0 +566 1 4.1442 1 309.1628273830429 158.00549286109108 0 0 0 0 +584 1 4.0796 1 313.779004128666 183.71755086020775 0 0 0 0 +588 1 4.0645 1 305.8861974450447 180.15809298168338 0 0 0 0 +4105 1 1.5651 1 269.3663714496903 164.18463032436438 0 0 0 0 +1096 1 3.0232 1 269.9461962172893 154.9567081452734 0 0 0 0 +5227 1 1.3857 1 298.9484887667469 199.4853029034131 0 0 0 0 +9564 1 1.0222 1 298.24834447392465 194.77086105205947 0 0 0 0 +756 1 3.672 1 318.18778350590867 171.05463746189673 0 0 0 0 +798 1 3.5963 1 276.32952025633006 169.52062894241317 0 0 0 0 +7674 1 1.1384 1 307.7592547622114 202.13644462203726 0 0 0 0 +809 1 3.5695 1 305.68849140670585 190.72644589761694 0 0 0 0 +833 1 3.4991 1 330.3665914078423 141.75974098160884 0 0 0 0 +840 1 3.4825 1 311.7488023417034 180.7420007910544 0 0 0 0 +868 1 3.4296 1 304.68869842106176 164.61976631027633 0 0 0 0 +3312 1 1.7374 1 310.09857080159486 199.82245969996072 0 0 0 0 +872 1 3.418 1 290.77379699942236 151.5658039850559 0 0 0 0 +879 1 3.3985 1 309.2111576016343 178.61782654897812 0 0 0 0 +889 1 3.3773 1 294.3676121528764 171.49479372432225 0 0 0 0 +916 1 3.3273 1 308.8249432499222 147.53020478104688 0 0 0 0 +942 1 3.2583 1 310.3588659966122 193.92909168235713 0 0 0 0 +1443 1 2.6302 1 294.7798597245226 200.63034032335568 0 0 0 0 +974 1 3.2142 1 327.4674730170305 158.447476498476 0 0 0 0 +989 1 3.1957 1 308.5873518228877 171.70302129157616 0 0 0 0 +1054 1 3.0849 1 269.41302325860664 172.7499405018649 0 0 0 0 +1055 1 3.0848 1 310.50909203294094 153.75411467789922 0 0 0 0 +9470 1 1.0273 1 297.96146465073815 200.13857100844595 0 0 0 0 +1075 1 3.0534 1 275.9257242538549 148.18991009636187 0 0 0 0 +1077 1 3.0449 1 273.8114480337837 160.24638983655606 0 0 0 0 +9969 1 1.0022 1 300.0446339109232 173.89215365630258 0 0 0 0 +1084 1 3.0385 1 314.0292471857673 158.7075673452142 0 0 0 0 +1089 1 3.0326 1 279.4262016422633 173.88081030770547 0 0 0 0 +1097 1 3.0228 1 310.18695459582057 144.74072699075458 0 0 0 0 +1126 1 2.9821 1 295.63654166854985 155.2437295279351 0 0 0 0 +1127 1 2.9799 1 304.34927569482187 173.33269985156028 0 0 0 0 +1133 1 2.9757 1 286.7203750943578 153.61290206171373 0 0 0 0 +1156 1 2.9487 1 307.03997307519734 174.312572779621 0 0 0 0 +1159 1 2.9447 1 301.1377367247134 166.9061196087288 0 0 0 0 +1173 1 2.9314 1 321.40282832288153 149.2005763837407 0 0 0 0 +1189 1 2.9188 1 322.9858464881648 152.58494464486918 0 0 0 0 +1193 1 2.9147 1 285.16322979106303 141.6609049839565 0 0 0 0 +1197 1 2.9068 1 310.8622469826728 175.75038448650866 0 0 0 0 +1215 1 2.8938 1 306.2632140783194 156.27813998003177 0 0 0 0 +1244 1 2.8584 1 311.52913525306406 142.13090805113205 0 0 0 0 +1245 1 2.8581 1 271.66549836348895 150.5532859633335 0 0 0 0 +1268 1 2.8297 1 313.3797545419615 172.43073554471124 0 0 0 0 +1271 1 2.8239 1 292.55154978152893 199.15648210717902 0 0 0 0 +1274 1 2.8185 1 273.23903857752725 171.53657474612416 0 0 0 0 +1313 1 2.7762 1 277.4259334878138 175.90981386609553 0 0 0 0 +1324 1 2.7634 1 295.07721554566456 152.45580040143972 0 0 0 0 +1332 1 2.7554 1 293.20324652976336 191.3742066058657 0 0 0 0 +1347 1 2.7389 1 270.71660534066376 148.01948339298198 0 0 0 0 +1370 1 2.7124 1 280.56337869134325 162.4647454328696 0 0 0 0 +1432 1 2.6447 1 293.7565218990379 193.96341047200474 0 0 0 0 +1436 1 2.6396 1 301.5095214702524 176.7463145521049 0 0 0 0 +4640 1 1.4753 1 306.74689904557596 192.98740610741137 0 0 0 0 +1459 1 2.6095 1 273.5382237373685 146.82689797732195 0 0 0 0 +1461 1 2.6081 1 304.8401456818203 170.60711311012307 0 0 0 0 +1491 1 2.5859 1 305.9937529785324 146.80889762039968 0 0 0 0 +1505 1 2.5732 1 278.2786788099888 165.9446090503494 0 0 0 0 +3150 1 1.7787 1 298.8371105293709 189.78603388145433 0 0 0 0 +1532 1 2.5452 1 300.2539402767283 164.38099029410918 0 0 0 0 +1535 1 2.5426 1 296.2300251167265 157.87852458678117 0 0 0 0 +1562 1 2.5238 1 287.9024796941047 160.68072424010455 0 0 0 0 +1568 1 2.5199 1 303.74895771305927 167.31795739639574 0 0 0 0 +1577 1 2.5111 1 274.8968742419577 157.7000734807309 0 0 0 0 +1650 1 2.4531 1 316.97236150893195 143.34635230004935 0 0 0 0 +1651 1 2.4528 1 301.22975442087926 188.90556642641377 0 0 0 0 +1688 1 2.4295 1 284.2740933003951 174.25511452499939 0 0 0 0 +1696 1 2.4273 1 313.16559363490563 188.5416413601191 0 0 0 0 +9635 1 1.0188 1 267.83709119946116 163.8725169335327 0 0 0 0 +1713 1 2.4142 1 320.32136820817885 154.99370217363338 0 0 0 0 +1735 1 2.4028 1 287.3108757111052 164.6765229942943 0 0 0 0 +1740 1 2.3915 1 296.77593957636407 173.07195347112946 0 0 0 0 +1771 1 2.372 1 268.04942997739107 151.35007791356225 0 0 0 0 +1779 1 2.3691 1 303.61310756866567 147.11919168984954 0 0 0 0 +1870 1 2.3199 1 321.213475686533 139.8412403179681 0 0 0 0 +1919 1 2.2884 1 277.139098080174 172.54402619631597 0 0 0 0 +1946 1 2.271 1 316.62862859277516 158.454262460285 0 0 0 0 +1975 1 2.2556 1 298.1835843706661 159.1635206390417 0 0 0 0 +1986 1 2.2495 1 297.67028018777967 170.2519740430149 0 0 0 0 +2003 1 2.2396 1 274.8858746368494 175.55776159296997 0 0 0 0 +2004 1 2.2383 1 287.0764016800999 180.38360246312303 0 0 0 0 +9686 1 1.0163 1 271.1612902061225 169.65024558265173 0 0 0 0 +2058 1 2.2069 1 287.40415504096177 156.07292557063357 0 0 0 0 +2080 1 2.1929 1 283.6423670928612 156.72477312970824 0 0 0 0 +2093 1 2.1862 1 310.9764397200856 191.32964669923382 0 0 0 0 +7486 1 1.1538 1 272.38329465644864 156.70952133813478 0 0 0 0 +2133 1 2.1632 1 311.68209465333194 159.74171924430203 0 0 0 0 +2134 1 2.1624 1 311.8707846179581 178.0078295301828 0 0 0 0 +2137 1 2.1612 1 312.5112312100449 186.41724156907526 0 0 0 0 +2142 1 2.1585 1 289.75113173159366 173.37117655717108 0 0 0 0 +678 1 3.8278 1 292.13556992429096 202.40373321023432 0 0 0 0 +2219 1 2.128 1 288.04398507578725 151.5391841430827 0 0 0 0 +2226 1 2.1251 1 291.80838431305506 174.48588418529522 0 0 0 0 +2308 1 2.0866 1 274.6442858090526 173.46896794470504 0 0 0 0 +2317 1 2.0811 1 295.77928606683605 169.29148855008089 0 0 0 0 +2320 1 2.0801 1 300.56208486544057 146.7627382047463 0 0 0 0 +2327 1 2.0766 1 295.32123070968936 196.52126184802887 0 0 0 0 +9603 1 1.0205 1 301.67132204961723 197.8991686412115 0 0 0 0 +9412 1 1.03 1 303.49241941940033 196.68162204944997 0 0 0 0 +6286 1 1.2619 1 303.9123141009226 195.0315282662074 0 0 0 0 +2397 1 2.0491 1 330.5014040322647 155.73730446374014 0 0 0 0 +2400 1 2.0481 1 297.72909951062496 147.03981742715627 0 0 0 0 +2441 1 2.0306 1 307.9145007397811 182.42182023852817 0 0 0 0 +2476 1 2.0181 1 328.5960562088796 143.79847700475742 0 0 0 0 +2488 1 2.0143 1 294.2094437054773 149.81435893108332 0 0 0 0 +2495 1 2.0122 1 273.0041160619223 174.62556002078344 0 0 0 0 +9943 1 1.0032 1 315.19877343210385 173.01924341755074 0 0 0 0 +2519 1 2.0045 1 287.82329573039164 166.75354038506143 0 0 0 0 +2547 1 1.9905 1 299.6993129496949 175.31976558192127 0 0 0 0 +2571 1 1.9818 1 317.5914620501435 173.80138261288272 0 0 0 0 +2576 1 1.9796 1 312.0838985988089 157.19830550241082 0 0 0 0 +2598 1 1.9693 1 284.4083638824968 178.18481178379713 0 0 0 0 +2603 1 1.9662 1 315.5286668484479 171.58672052268153 0 0 0 0 +2611 1 1.9625 1 305.68957292346585 168.22725216751672 0 0 0 0 +2620 1 1.96 1 277.54420604024807 156.29343960359415 0 0 0 0 +2626 1 1.9574 1 325.81517893332733 160.5113746605439 0 0 0 0 +2653 1 1.9453 1 274.1954978858521 167.79203172380858 0 0 0 0 +2654 1 1.9451 1 327.39987428840476 142.24988447139785 0 0 0 0 +494 1 4.4155 1 303.9022797219761 199.34564145231687 0 0 0 0 +2672 1 1.9413 1 303.1807666333737 181.2161592167556 0 0 0 0 +2686 1 1.935 1 296.59864458986925 175.29770262168313 0 0 0 0 +2701 1 1.9291 1 315.8164329894566 180.6159382045357 0 0 0 0 +2714 1 1.9253 1 285.9572399145501 149.9428151281438 0 0 0 0 +2719 1 1.9232 1 320.88185585900743 151.53753138446152 0 0 0 0 +2756 1 1.9091 1 317.1598036859549 145.4877584514058 0 0 0 0 +712 1 3.7607 1 270.4818351348896 175.9139630435897 0 0 0 0 +2784 1 1.9006 1 298.78971578065114 167.18584578041182 0 0 0 0 +9263 1 1.0387 1 293.99376862800676 195.75403260430193 0 0 0 0 +2809 1 1.891 1 310.8055893324949 183.5717434804217 0 0 0 0 +2812 1 1.8909 1 293.0128853207244 140.39598568614502 0 0 0 0 +2838 1 1.8831 1 307.0197227221211 153.13067280071633 0 0 0 0 +2861 1 1.8743 1 311.5588273654688 197.81851764873434 0 0 0 0 +2874 1 1.8699 1 317.5310852685404 160.2153034011392 0 0 0 0 +2880 1 1.868 1 301.3430183109056 174.52029803057414 0 0 0 0 +2908 1 1.8615 1 325.4271114895154 162.34081657014968 0 0 0 0 +2912 1 1.8602 1 323.44801363091943 155.29106407635655 0 0 0 0 +2920 1 1.8574 1 292.22148788018524 142.09586458356017 0 0 0 0 +2922 1 1.8566 1 323.47616130849417 150.29694496523896 0 0 0 0 +2929 1 1.8552 1 296.2189865026761 148.18560404893162 0 0 0 0 +2931 1 1.8541 1 291.94550029550896 168.8866293109103 0 0 0 0 +2956 1 1.8457 1 305.39030268427547 176.2447392416791 0 0 0 0 +2974 1 1.8404 1 291.397980371838 154.05112966514966 0 0 0 0 +2983 1 1.8372 1 309.9517979767203 169.6450874984095 0 0 0 0 +981 1 3.2079 1 296.5664944141758 193.58112399200763 0 0 0 0 +3002 1 1.8295 1 308.78747856642826 184.13349735622987 0 0 0 0 +3004 1 1.8288 1 306.42979720146246 150.11000676514004 0 0 0 0 +3013 1 1.8233 1 293.4639116582594 197.0574671061147 0 0 0 0 +3027 1 1.8191 1 294.798630023862 175.13806757246016 0 0 0 0 +3049 1 1.8129 1 278.53833501317047 161.55327381383285 0 0 0 0 +3067 1 1.8081 1 308.2552496826459 169.28541595731417 0 0 0 0 +3075 1 1.8063 1 285.6113515627562 156.8619814384189 0 0 0 0 +3100 1 1.7968 1 295.960565182838 150.39552306904432 0 0 0 0 +3113 1 1.7928 1 315.2520250896138 165.54958740440316 0 0 0 0 +3123 1 1.7864 1 284.7671928592287 180.01017106938542 0 0 0 0 +3142 1 1.781 1 303.686946040527 176.8477985691659 0 0 0 0 +4449 1 1.5066 1 270.42898589154424 165.2167041739172 0 0 0 0 +3161 1 1.7766 1 282.22699858511095 173.93631690022198 0 0 0 0 +3166 1 1.7754 1 308.18235775936165 176.323280344311 0 0 0 0 +3169 1 1.7744 1 270.2123957140749 170.5888472663174 0 0 0 0 +3189 1 1.7686 1 272.83286645547395 158.06966469727973 0 0 0 0 +3191 1 1.7682 1 293.6016522732828 173.8955815683889 0 0 0 0 +3197 1 1.7666 1 286.6199498371934 172.94164759648447 0 0 0 0 +9247 1 1.0396 1 300.69850067509435 197.92700041757953 0 0 0 0 +3222 1 1.7597 1 291.9177723951634 148.62493791490613 0 0 0 0 +3241 1 1.7549 1 310.42306923492873 161.834902517287 0 0 0 0 +3248 1 1.7532 1 306.9565875306026 177.52491366838086 0 0 0 0 +3299 1 1.7401 1 294.6636358256378 198.36563164683943 0 0 0 0 +3651 1 1.662 1 310.6334940996491 196.34977123088115 0 0 0 0 +4601 1 1.4802 1 268.5787878994889 153.17654494277838 0 0 0 0 +3367 1 1.7246 1 318.3080401152331 157.4363043553368 0 0 0 0 +3376 1 1.7223 1 295.3828047615668 191.48988440362115 0 0 0 0 +3379 1 1.7207 1 289.64731330504503 166.99758492629888 0 0 0 0 +3419 1 1.7113 1 309.135784161841 191.83633941311476 0 0 0 0 +2033 1 2.2202 1 299.14895250425144 197.70237692135464 0 0 0 0 +3461 1 1.7007 1 320.6556783783388 170.29187635470444 0 0 0 0 +3496 1 1.6941 1 280.19404325088345 165.12474169261728 0 0 0 0 +3506 1 1.6928 1 292.05426926645407 170.56997400165037 0 0 0 0 +3517 1 1.6909 1 307.2704434248389 162.1065937339895 0 0 0 0 +3539 1 1.6852 1 282.72211060197776 164.71465831020296 0 0 0 0 +3589 1 1.6735 1 297.16471602144514 190.00293767490766 0 0 0 0 +3592 1 1.6729 1 309.48553585356683 151.61903814245537 0 0 0 0 +9307 1 1.0358 1 300.529683620859 195.98801859176066 0 0 0 0 +3644 1 1.6638 1 291.73641912655296 197.14289924532466 0 0 0 0 +8890 1 1.0579 1 307.6737747761087 191.9187435730697 0 0 0 0 +3654 1 1.6615 1 288.33891912922473 157.70355390007657 0 0 0 0 +3656 1 1.661 1 284.26073141815164 165.16680609623563 0 0 0 0 +3678 1 1.6538 1 325.8063148462821 141.4672781823425 0 0 0 0 +3682 1 1.6527 1 309.41746154457786 149.92798235692703 0 0 0 0 +3704 1 1.6457 1 293.2484167565241 151.3403595405616 0 0 0 0 +3722 1 1.6439 1 301.7760508937871 180.12579851144045 0 0 0 0 +9074 1 1.0485 1 268.1804633440277 176.47621214861746 0 0 0 0 +3737 1 1.6417 1 276.91538092222294 157.9384024809121 0 0 0 0 +3743 1 1.6406 1 279.074856837193 163.9727729365141 0 0 0 0 +3754 1 1.6392 1 324.25064651429386 157.74203093421445 0 0 0 0 +3769 1 1.6362 1 298.1132969495845 174.5266854468994 0 0 0 0 +1839 1 2.3346 1 306.08750375981117 201.83856192442613 0 0 0 0 +3781 1 1.6336 1 298.9969531993869 145.8673115973411 0 0 0 0 +3791 1 1.6318 1 319.97906759113704 153.04073564349568 0 0 0 0 +3821 1 1.6225 1 306.6705255551697 169.66907895564438 0 0 0 0 +3825 1 1.6216 1 326.87629422619193 144.04484898131022 0 0 0 0 +3832 1 1.6205 1 286.62446167449474 158.21129147059943 0 0 0 0 +3856 1 1.6164 1 298.15748281458355 176.11368551561122 0 0 0 0 +5965 1 1.2984 1 272.46786383812076 161.939035916319 0 0 0 0 +3877 1 1.6124 1 306.275984265723 172.21576303882696 0 0 0 0 +3894 1 1.6091 1 288.8329198629766 154.18644809150214 0 0 0 0 +3922 1 1.6029 1 302.2459915717286 164.56267316727352 0 0 0 0 +3946 1 1.5983 1 275.92731809224836 159.45607705460088 0 0 0 0 +3963 1 1.5935 1 319.1892205084037 140.31196082831758 0 0 0 0 +3982 1 1.5898 1 291.85667817806717 192.99807302656188 0 0 0 0 +4032 1 1.5772 1 275.9357701874671 161.07796967067642 0 0 0 0 +697 1 3.7924 1 307.92383589226995 196.36337861307643 0 0 0 0 +4094 1 1.5679 1 275.37515830925133 171.8526441160924 0 0 0 0 +4095 1 1.5677 1 312.76684609213896 191.68353615971589 0 0 0 0 +4126 1 1.5627 1 323.86579745131144 161.7587230563109 0 0 0 0 +4152 1 1.558 1 330.5658034842533 151.03168519466118 0 0 0 0 +4177 1 1.5534 1 292.8509301234898 152.87306835463934 0 0 0 0 +4194 1 1.5503 1 317.6703037620606 141.31198380786256 0 0 0 0 +4206 1 1.5486 1 285.04946473605895 158.370175762955 0 0 0 0 +4217 1 1.5471 1 329.45714433306233 157.17816655890826 0 0 0 0 +4241 1 1.5431 1 293.75446316878 154.08227522966058 0 0 0 0 +177 1 7.2501 1 268.759777821163 159.89369462694754 0 0 0 0 +4265 1 1.5389 1 289.0344660512256 165.51864367565344 0 0 0 0 +4292 1 1.5344 1 273.80099110983787 169.45703367161042 0 0 0 0 +4306 1 1.5315 1 279.0814798671404 148.22052968293224 0 0 0 0 +4310 1 1.5309 1 299.47677691454265 177.02083220255724 0 0 0 0 +4341 1 1.5241 1 310.82051381627053 170.99247943637295 0 0 0 0 +4355 1 1.5222 1 277.8577979524409 163.001172427753 0 0 0 0 +5959 1 1.2989 1 309.8761177898886 202.18767002665194 0 0 0 0 +7820 1 1.1274 1 271.6474930951174 164.88163243157763 0 0 0 0 +4387 1 1.5169 1 285.48391753288297 164.28646544438175 0 0 0 0 +4404 1 1.5145 1 301.0326416608232 178.74380327621915 0 0 0 0 +7565 1 1.1467 1 307.28533192580744 200.4807042996249 0 0 0 0 +4428 1 1.5096 1 328.194986796688 140.7241121786407 0 0 0 0 +4431 1 1.5093 1 277.9221901928014 149.2465630629389 0 0 0 0 +4436 1 1.5081 1 319.62348743912725 150.43351300499722 0 0 0 0 +4438 1 1.5081 1 288.0547778210053 141.02524507909146 0 0 0 0 +4458 1 1.5041 1 276.24141042819423 174.18692394419415 0 0 0 0 +4487 1 1.5001 1 272.72709812186986 148.68160230078976 0 0 0 0 +4489 1 1.4996 1 319.1055235132369 141.8016772135084 0 0 0 0 +4526 1 1.4938 1 291.83815041040947 194.49762442386452 0 0 0 0 +4528 1 1.4937 1 324.12858010034256 160.31652237929632 0 0 0 0 +4530 1 1.4931 1 293.3862118750382 148.08280638009555 0 0 0 0 +4544 1 1.4905 1 325.23348504217796 158.92502585566376 0 0 0 0 +5307 1 1.3747 1 287.9610575725997 139.3075358230506 0 0 0 0 +4555 1 1.4883 1 325.8665935283054 139.91912303482715 0 0 0 0 +4566 1 1.4864 1 310.0649553824976 185.1477239490792 0 0 0 0 +4570 1 1.486 1 329.874012575754 144.87181058389262 0 0 0 0 +2290 1 2.0981 1 300.6705740611233 199.47686693028345 0 0 0 0 +2803 1 1.8923 1 308.4443423583631 199.1560769254889 0 0 0 0 +5375 1 1.3672 1 311.5471916139474 199.4214542779608 0 0 0 0 +4620 1 1.4781 1 314.18573784843994 180.97827641899502 0 0 0 0 +4621 1 1.4781 1 308.10966519854856 190.7246413477826 0 0 0 0 +4634 1 1.4766 1 291.39629043131504 172.81086807802478 0 0 0 0 +6002 1 1.2942 1 330.8257086333908 144.02103770146604 0 -1 0 0 +4642 1 1.4749 1 290.628776718785 141.60492269229556 0 0 0 0 +4678 1 1.4678 1 273.68629603704676 149.80528827512302 0 0 0 0 +4685 1 1.4667 1 283.1713315928059 179.22762103591057 0 0 0 0 +4691 1 1.4658 1 304.3554007147977 157.1686009783957 0 0 0 0 +4745 1 1.4573 1 311.39311496597276 173.1750651724896 0 0 0 0 +4772 1 1.4523 1 272.3532067764792 169.6180162909319 0 0 0 0 +4776 1 1.4518 1 277.31235277066196 160.55396804082815 0 0 0 0 +4781 1 1.4513 1 308.18203801522594 193.0867074219725 0 0 0 0 +4797 1 1.4496 1 314.43658285135797 141.91071779781578 0 0 0 0 +4817 1 1.4463 1 305.73881325118117 162.42230372429333 0 0 0 0 +8217 1 1.1004 1 272.7238375390035 176.84048817902507 0 0 0 0 +4837 1 1.4437 1 308.83674862099895 155.2685470696618 0 0 0 0 +4841 1 1.4429 1 314.94701696487465 147.69915088379756 0 0 0 0 +4844 1 1.4423 1 318.4051634889222 158.93855490117713 0 0 0 0 +4863 1 1.4393 1 302.81983527481003 175.20388255503707 0 0 0 0 +6304 1 1.2607 1 301.1596481600893 196.895963830009 0 0 0 0 +4884 1 1.4356 1 276.6195950557271 167.044160436947 0 0 0 0 +7515 1 1.1514 1 310.4802319743723 201.16159735526088 0 0 0 0 +4916 1 1.4301 1 298.9244061351508 173.33330877960074 0 0 0 0 +4942 1 1.427 1 292.55597964260767 150.00803148146395 0 0 0 0 +5003 1 1.42 1 286.4095312429112 167.6718623513211 0 0 0 0 +5010 1 1.4195 1 289.17682593999155 140.00092184853776 0 0 0 0 +5021 1 1.4174 1 322.0890440620387 154.47235003591723 0 0 0 0 +5030 1 1.4164 1 291.01675682744514 176.18506125828503 0 0 0 0 +5058 1 1.4118 1 290.788590908722 200.23932416794034 0 0 0 0 +5092 1 1.405 1 294.28861579879367 158.14565766033775 0 0 0 0 +5095 1 1.4049 1 324.58380148983224 140.56734555337684 0 0 0 0 +5111 1 1.4019 1 290.58692300728586 140.06821711720414 0 0 0 0 +5119 1 1.4002 1 312.2793435797416 174.1966726180216 0 0 0 0 +5122 1 1.3993 1 314.036336254904 179.40052184769343 0 0 0 0 +5142 1 1.3976 1 287.6586595967964 162.6036001153254 0 0 0 0 +5176 1 1.3918 1 277.2461719405177 150.62726646820948 0 0 0 0 +5180 1 1.3913 1 324.69284954171883 151.33710315016373 0 0 0 0 +5198 1 1.3886 1 293.25593813864225 175.4254250418144 0 0 0 0 +5260 1 1.3807 1 311.7218592596564 155.59124080996347 0 0 0 0 +5296 1 1.3765 1 307.93324652292984 149.66833070195526 0 0 0 0 +3742 1 1.6408 1 306.1384285818717 194.3948904617728 0 0 0 0 +5310 1 1.3746 1 287.10049098324697 182.3048625329712 0 0 0 0 +5329 1 1.3721 1 308.7690317304274 161.7964077155575 0 0 0 0 +7967 1 1.1166 1 331.22965374524756 146.3178389223355 0 0 0 0 +3874 1 1.6128 1 277.7882924362712 144.88567685151358 0 0 0 0 +5382 1 1.3664 1 316.90113790218464 167.86693624974242 0 0 0 0 +5397 1 1.3642 1 307.49992200977306 145.6080809260515 0 0 0 0 +5400 1 1.3634 1 278.8223877934839 177.3588584794881 0 0 0 0 +5411 1 1.3619 1 306.76994935990416 148.59399817146115 0 0 0 0 +5425 1 1.3598 1 324.7571929774648 139.14089489883568 0 0 0 0 +5438 1 1.3582 1 302.01032170529714 182.22809965252904 0 0 0 0 +5453 1 1.3555 1 312.3643986257295 140.17727438255653 0 0 0 0 +5471 1 1.3535 1 294.712691743259 148.25770555855834 0 0 0 0 +5494 1 1.3516 1 316.27079101586565 141.66179831879836 0 0 0 0 +5509 1 1.3499 1 308.330820264522 154.00207231567086 0 0 0 0 +5518 1 1.349 1 290.9774643190965 189.2796088856914 0 0 0 0 +5526 1 1.3483 1 319.0996189988731 160.44570652587177 0 0 0 0 +5530 1 1.3473 1 298.13045875475615 157.27129758017085 0 0 0 0 +5537 1 1.346 1 312.18566732030075 195.23701297580183 0 0 0 0 +338 1 5.4102 1 300.7283226863544 192.80063798988488 0 0 0 0 +5560 1 1.3435 1 318.6757178941405 143.09459999819 0 0 0 0 +5579 1 1.3405 1 289.1911980306031 159.24639930628405 0 0 0 0 +5620 1 1.3346 1 311.4460999175346 185.04693249773953 0 0 0 0 +5654 1 1.3321 1 311.42093882315186 146.43662766557605 0 0 0 0 +5660 1 1.3315 1 309.09571284932895 173.85932628766233 0 0 0 0 +5672 1 1.3296 1 308.46746995868966 180.84513451663724 0 0 0 0 +5677 1 1.3293 1 289.02951678332715 155.58420815606203 0 0 0 0 +6046 1 1.2894 1 303.55773021268277 189.58024903196326 0 0 0 0 +5683 1 1.3286 1 307.8097030844459 160.70113611288497 0 0 0 0 +5714 1 1.3246 1 276.56643178730957 146.1138561443636 0 0 0 0 +5715 1 1.3246 1 288.95326750999783 150.12445648362566 0 0 0 0 +5723 1 1.3238 1 297.9867176514677 168.52212800470494 0 0 0 0 +5724 1 1.3237 1 271.11438200517046 168.5348477502265 0 0 0 0 +5769 1 1.3174 1 315.74957959547714 159.99832384967692 0 0 0 0 +5813 1 1.3132 1 319.30195320451537 151.767000248833 0 0 0 0 +5815 1 1.3128 1 303.13390403582184 179.62273817154082 0 0 0 0 +5838 1 1.3107 1 303.5616931996274 169.17306455745978 0 0 0 0 +5852 1 1.3099 1 316.30277150898695 161.15413700232895 0 0 0 0 +5860 1 1.3092 1 299.4787932007246 188.4273169446961 0 0 0 0 +5872 1 1.3083 1 309.53250387518074 181.57859958661328 0 0 0 0 +5886 1 1.3061 1 313.29694319576 141.1924417698752 0 0 0 0 +5944 1 1.3004 1 317.0846829496514 178.33442323662902 0 0 0 0 +9991 1 1.0004 1 302.846016488951 177.9608853733529 0 0 0 0 +5982 1 1.2966 1 281.3393329920462 164.2754728462107 0 0 0 0 +6015 1 1.2927 1 269.66620316126296 149.81421039099453 0 0 0 0 +6016 1 1.2927 1 312.03626565236164 189.9926595245542 0 0 0 0 +6030 1 1.2917 1 310.9111522185761 151.64238984099242 0 0 0 0 +6032 1 1.2914 1 277.9696473448426 167.79324578278673 0 0 0 0 +6054 1 1.2885 1 299.7176807609634 168.40340088162816 0 0 0 0 +6055 1 1.2883 1 282.23743726694335 163.40152094561188 0 0 0 0 +6076 1 1.2859 1 308.9579097496577 175.0913474148982 0 0 0 0 +6084 1 1.2847 1 324.80106001364715 163.74990604476994 0 0 0 0 +6091 1 1.2841 1 308.52674351964265 152.71054781622655 0 0 0 0 +6101 1 1.2831 1 316.6065274519665 162.41760143748348 0 0 0 0 +6117 1 1.2818 1 295.0876551601145 173.67039365068 0 0 0 0 +6149 1 1.2784 1 294.73269499783987 190.18579737561575 0 0 0 0 +6157 1 1.2772 1 304.1283798633669 175.40478103563512 0 0 0 0 +6164 1 1.2759 1 313.2245795905795 190.3685935251181 0 0 0 0 +6166 1 1.2758 1 319.3066871100499 156.4311118779828 0 0 0 0 +6173 1 1.275 1 285.6148874509899 165.65612267975143 0 0 0 0 +6260 1 1.2638 1 299.3400254488569 157.81473400845633 0 0 0 0 +8779 1 1.0647 1 306.07835975488297 197.8144432350937 0 0 0 0 +6295 1 1.261 1 290.7241621285496 167.9784753580312 0 0 0 0 +6334 1 1.2585 1 286.3052950858999 151.52797835018174 0 0 0 0 +6335 1 1.2584 1 285.1596636549383 172.65615153403402 0 0 0 0 +7135 1 1.1833 1 296.06032293636366 198.05131769534682 0 0 0 0 +6381 1 1.2535 1 293.8448461569205 169.20901279048658 0 0 0 0 +6382 1 1.2532 1 317.8747936417964 139.92987954731998 0 0 0 0 +6391 1 1.2523 1 298.14505755756386 171.9204684189262 0 0 0 0 +6402 1 1.2515 1 330.58394642263613 154.14193692458477 0 0 0 0 +6418 1 1.25 1 289.72423852198807 160.68377799446841 0 0 0 0 +6425 1 1.2497 1 272.7255272086868 168.35393150053417 0 0 0 0 +6479 1 1.2455 1 292.120826424318 189.77176232661736 0 0 0 0 +6487 1 1.2446 1 324.4860094226714 156.386612930689 0 0 0 0 +6492 1 1.2441 1 306.490494204859 158.33237084924792 0 0 0 0 +6535 1 1.2389 1 321.9759417606348 155.7628298130447 0 0 0 0 +6563 1 1.2362 1 324.4398407612146 149.15274518384666 0 0 0 0 +6601 1 1.2314 1 292.86772673876595 195.66600455008998 0 0 0 0 +6602 1 1.2313 1 277.81050072883215 146.2848727841047 0 0 0 0 +6625 1 1.2297 1 269.0042486175986 147.18964705135932 0 0 0 0 +6631 1 1.2289 1 303.7604598664717 178.57340395489496 0 0 0 0 +6636 1 1.2287 1 303.34175123175083 190.81207272312443 0 0 0 0 +7341 1 1.167 1 296.83599589917986 195.7349374954341 0 0 0 0 +6682 1 1.2238 1 310.1406791657544 160.43735103179648 0 0 0 0 +9474 1 1.0271 1 268.5251160707551 174.5648785796282 0 0 0 0 +6695 1 1.2226 1 326.9271499106353 140.649850857208 0 0 0 0 +6223 1 1.2683 1 297.8412505884185 191.2611277643125 0 0 0 0 +6723 1 1.2203 1 316.2346049099452 166.67522756804794 0 0 0 0 +6810 1 1.2113 1 321.53472563034535 169.21716668030197 0 0 0 0 +6863 1 1.2064 1 291.1095437647574 171.58238248424385 0 0 0 0 +6869 1 1.2048 1 283.67357830209176 158.42338271965457 0 0 0 0 +6879 1 1.2041 1 307.4216316897101 151.22490437168847 0 0 0 0 +6911 1 1.2012 1 271.35752576198456 153.4848060604439 0 0 0 0 +6914 1 1.2008 1 322.7387833471068 160.97597218817282 0 0 0 0 +2875 1 1.8687 1 330.85529919828787 152.6711889079353 0 -1 0 0 +6958 1 1.1977 1 277.24612816312407 159.27991126970045 0 0 0 0 +6967 1 1.1968 1 317.4250077264324 161.5943743127836 0 0 0 0 +6972 1 1.1963 1 291.67927973646334 195.77415039693642 0 0 0 0 +6973 1 1.1963 1 309.4767372873557 182.8079154379437 0 0 0 0 +7048 1 1.1896 1 288.86933701149513 163.89658854562342 0 0 0 0 +7058 1 1.1892 1 290.6847678158146 149.35772725521394 0 0 0 0 +7061 1 1.1891 1 275.7920081373397 176.92426731286554 0 0 0 0 +7063 1 1.1887 1 317.67792069630855 177.24724302248336 0 0 0 0 +7069 1 1.1884 1 277.0251668968709 161.93035230553326 0 0 0 0 +7084 1 1.1874 1 288.92109080082184 162.73337075968152 0 0 0 0 +1903 1 2.2997 1 304.50612544492895 193.39239674170963 0 0 0 0 +8531 1 1.079 1 299.518605767554 195.79361140381337 0 0 0 0 +7109 1 1.1851 1 310.12485658493875 173.24771343327328 0 0 0 0 +3098 1 1.7976 1 267.65143896878084 155.59735653432458 0 0 0 0 +7123 1 1.1838 1 306.95719476564193 188.81923342824646 0 0 0 0 +7132 1 1.1835 1 292.39864211005903 147.24506190577767 0 0 0 0 +4780 1 1.4514 1 296.7449073926525 200.28078682937 0 0 0 0 +9684 1 1.0163 1 330.989188669796 145.3063124321097 0 0 0 0 +8200 1 1.1015 1 302.49164459426754 190.08237466434954 0 0 0 0 +2249 1 2.118 1 305.0035140957001 196.28717769267092 0 0 0 0 +7165 1 1.1808 1 305.9736129212481 159.42588863612784 0 0 0 0 +7172 1 1.1805 1 297.63491480599396 148.58642825298773 0 0 0 0 +7213 1 1.1771 1 269.7739274286998 151.13083036826484 0 0 0 0 +7215 1 1.177 1 278.09519761355176 171.06566528329736 0 0 0 0 +7217 1 1.1766 1 310.90643684248016 168.6238142636732 0 0 0 0 +7231 1 1.1756 1 269.5146242076004 152.2697442119407 0 0 0 0 +2676 1 1.9399 1 297.4291135272122 198.7787772863602 0 0 0 0 +7240 1 1.1746 1 305.29986925852967 158.09226600498215 0 0 0 0 +11 1 34.1458 1 274.086945717909 194.40926734902263 0 0 0 0 +7373 1 1.1638 1 271.2541705466693 171.69115876825157 0 0 0 0 +7374 1 1.1637 1 317.8977012384799 168.6613654201486 0 0 0 0 +7378 1 1.1634 1 300.62494654666295 187.20116132872272 0 0 0 0 +7383 1 1.1628 1 284.36348252928383 143.49787544489217 0 0 0 0 +7400 1 1.1614 1 323.34396798920073 140.3173048272997 0 0 0 0 +7407 1 1.1606 1 270.55991031648125 152.6536271037301 0 0 0 0 +7412 1 1.1602 1 307.110301428951 159.67714516513522 0 0 0 0 +7488 1 1.1533 1 290.00227509750846 153.62200181101161 0 0 0 0 +7501 1 1.1523 1 323.98117030517614 159.06600913957482 0 0 0 0 +7647 1 1.1404 1 294.5569500673671 140.42164647341139 0 0 0 0 +7539 1 1.1495 1 287.46268801146914 150.05395999382515 0 0 0 0 +7569 1 1.1464 1 319.1323747938996 173.809067741178 0 0 0 0 +7596 1 1.1442 1 316.84111652079434 169.10220298003063 0 0 0 0 +7623 1 1.1427 1 289.3480654399375 141.32635251971928 0 0 0 0 +7626 1 1.1427 1 290.0656831239149 154.736707284371 0 0 0 0 +7665 1 1.139 1 284.2883950709138 176.49816799173703 0 0 0 0 +7680 1 1.1378 1 271.26141472301504 156.55485455276678 0 0 0 0 +7691 1 1.137 1 295.9653661627688 199.19658236913105 0 0 0 0 +7744 1 1.1332 1 318.36287073810263 144.5417630911351 0 0 0 0 +7752 1 1.132 1 324.9826676595715 150.16688204493798 0 0 0 0 +6779 1 1.2153 1 302.3613662353438 197.03938193103613 0 0 0 0 +7800 1 1.1288 1 312.77052062821315 165.75292206851216 0 0 0 0 +7802 1 1.1286 1 320.10134973771375 147.66239902388133 0 0 0 0 +7829 1 1.1271 1 308.41486997158853 150.80019693538443 0 0 0 0 +7837 1 1.1266 1 311.4149262966985 139.33897757903858 0 0 0 0 +7847 1 1.1256 1 287.7769904168597 158.9202306323521 0 0 0 0 +7942 1 1.1186 1 312.0523726890353 196.4346968288779 0 0 0 0 +3457 1 1.7012 1 271.3434540618412 163.51726105181243 0 0 0 0 +7974 1 1.1162 1 292.63972981043497 172.87947956645337 0 0 0 0 +7987 1 1.1152 1 324.3480076076859 148.04057702705757 0 0 0 0 +8001 1 1.1143 1 312.5047029159148 194.06060041150872 0 0 0 0 +8015 1 1.1137 1 306.6173230583194 170.96774194323663 0 0 0 0 +8093 1 1.1077 1 285.1269897196406 154.78488026865196 0 0 0 0 +2689 1 1.9341 1 308.76310806147495 201.0297009102011 0 0 0 0 +8123 1 1.1061 1 278.70566484582633 171.9878295018015 0 0 0 0 +8137 1 1.1053 1 278.88844350075493 155.64588671743996 0 0 0 0 +8139 1 1.1052 1 292.66170987240304 154.7095864212356 0 0 0 0 +8147 1 1.1048 1 304.64266273304924 177.8925466256118 0 0 0 0 +8221 1 1.1002 1 271.5846007782952 170.60876897376573 0 0 0 0 +8256 1 1.0974 1 275.2817779886649 146.22902123639466 0 0 0 0 +8262 1 1.0972 1 315.99241328901354 164.36365246222203 0 0 0 0 +4106 1 1.565 1 306.7992817967767 198.90266260025564 0 0 0 0 +8314 1 1.0932 1 312.69413414668253 192.99264995602067 0 0 0 0 +8320 1 1.0927 1 307.1422559566869 168.42266304413238 0 0 0 0 +3720 1 1.644 1 302.65195658816145 195.68218488186574 0 0 0 0 +8351 1 1.0905 1 285.91575675682105 155.47425499936958 0 0 0 0 +8406 1 1.0872 1 312.0187738722096 151.96119725886902 0 0 0 0 +8449 1 1.0844 1 321.2378203687839 153.5199116573082 0 0 0 0 +8519 1 1.0799 1 316.70783773784217 179.4370583048181 0 0 0 0 +8526 1 1.0795 1 313.8391661737973 165.58927547723763 0 0 0 0 +8532 1 1.0789 1 294.66174450072754 156.999083281662 0 0 0 0 +8548 1 1.0781 1 309.0052297772973 160.60318590177008 0 0 0 0 +9512 1 1.0253 1 268.0927305821727 154.2906195634346 0 0 0 0 +8557 1 1.0776 1 273.807892061033 176.80686317595428 0 0 0 0 +8568 1 1.0769 1 310.59573215237174 172.2461876349938 0 0 0 0 +3900 1 1.6076 1 297.03212009248983 197.09185012870142 0 0 0 0 +8587 1 1.0761 1 312.08766760563486 170.99855685170056 0 0 0 0 +3459 1 1.7008 1 309.8934060216131 198.16454222337202 0 0 0 0 +8620 1 1.0737 1 293.8723291645219 141.62425981151773 0 0 0 0 +8633 1 1.0728 1 276.1183446520963 150.19655205036173 0 0 0 0 +8670 1 1.0712 1 310.53409582538166 155.8168620460368 0 0 0 0 +8702 1 1.0697 1 319.66820721610367 172.8518740128599 0 0 0 0 +8709 1 1.0694 1 285.8638335361542 171.73009840519126 0 0 0 0 +8713 1 1.0692 1 299.2168349096015 165.80714143228545 0 0 0 0 +8110 1 1.1071 1 311.4148930045198 201.73423553827047 0 0 0 0 +8744 1 1.0673 1 295.8591938813158 190.18964977230465 0 0 0 0 +8756 1 1.0666 1 271.77673919859126 146.5141284917875 0 0 0 0 +8801 1 1.0632 1 274.92969215142193 149.96464752389016 0 0 0 0 +8830 1 1.0616 1 305.606783392453 148.92536300158042 0 0 0 0 +8831 1 1.0615 1 290.4703639289438 159.87472682993916 0 0 0 0 +8837 1 1.0611 1 302.78048803587626 165.78093153978458 0 0 0 0 +8841 1 1.0607 1 306.53268762140095 151.78560469836827 0 0 0 0 +8872 1 1.0589 1 309.82244772590707 142.86075138623443 0 0 0 0 +8884 1 1.0582 1 296.73412617235203 191.45811936821903 0 0 0 0 +8896 1 1.0575 1 308.2102817726914 144.6903139847762 0 0 0 0 +8908 1 1.057 1 294.9792949494994 141.47793069362882 0 0 0 0 +9703 1 1.015 1 311.41798544729124 200.61976948209954 0 0 0 0 +8937 1 1.0558 1 320.1646103993219 141.11520210518378 0 0 0 0 +8953 1 1.055 1 302.402521628419 168.42912728937432 0 0 0 0 +8975 1 1.0539 1 291.5876562413003 140.78067145735716 0 0 0 0 +9010 1 1.0522 1 285.6259581982955 181.13597507362667 0 0 0 0 +9114 1 1.0466 1 306.20685086987066 160.76828926319513 0 0 0 0 +5950 1 1.2997 1 271.97341007434346 155.58138224766185 0 0 0 0 +9167 1 1.0436 1 296.5438184627603 171.3948249934183 0 0 0 0 +9169 1 1.0435 1 285.9195213522554 179.2390288389137 0 0 0 0 +9171 1 1.0434 1 296.9259502802081 149.4118436229123 0 0 0 0 +9186 1 1.0428 1 298.8979609745162 169.18510986292017 0 0 0 0 +9196 1 1.0422 1 315.74158641047296 182.08978513751472 0 0 0 0 +9197 1 1.0421 1 305.57564908545135 166.71678752446937 0 0 0 0 +9213 1 1.0412 1 291.2158592124385 190.44639382012625 0 0 0 0 +9219 1 1.041 1 305.6237817748551 177.6388858992012 0 0 0 0 +9239 1 1.0401 1 292.2182493925055 171.89810049669097 0 0 0 0 +3281 1 1.7451 1 271.75431864025757 173.249250199146 0 0 0 0 +9290 1 1.0372 1 296.90624917772163 168.29552268815874 0 0 0 0 +9327 1 1.0348 1 273.4638264173568 156.67664903638956 0 0 0 0 +9334 1 1.0344 1 293.5160316916888 155.33214284863362 0 0 0 0 +9369 1 1.0325 1 318.4861627874331 150.94478763782038 0 0 0 0 +9371 1 1.0323 1 293.98037900082244 156.22896255358202 0 0 0 0 +9376 1 1.0321 1 306.79172374900486 176.21278440990974 0 0 0 0 +9406 1 1.0302 1 302.2971589635791 178.8098009227337 0 0 0 0 +9467 1 1.0275 1 277.8873260616304 147.88027370673308 0 0 0 0 +9510 1 1.0254 1 311.57439717150106 171.9620810444039 0 0 0 0 +9511 1 1.0253 1 304.6999663083751 148.41725211354472 0 0 0 0 +9527 1 1.0244 1 286.3629244860313 166.47465937280973 0 0 0 0 +9546 1 1.0235 1 318.84485100652023 146.18087915929854 0 0 0 0 +9554 1 1.0231 1 290.3439423264711 174.81641351537704 0 0 0 0 +9567 1 1.0221 1 315.4705369971313 142.53168000564523 0 0 0 0 +9574 1 1.0219 1 302.0614938884161 146.51619912143806 0 0 0 0 +9579 1 1.0217 1 289.2977512843317 161.72112508068372 0 0 0 0 +9591 1 1.0213 1 327.2524809814714 160.51846096957013 0 0 0 0 +9607 1 1.0203 1 277.8348031121628 164.24412858904793 0 0 0 0 +9616 1 1.0198 1 297.96985153546404 145.0303816390389 0 0 0 0 +9622 1 1.0196 1 292.18698974374524 175.94518251063016 0 0 0 0 +3784 1 1.6332 1 311.05625524724184 203.03566735439023 0 0 0 0 +9633 1 1.0189 1 306.3188360566627 154.35931681915923 0 0 0 0 +9653 1 1.0178 1 325.6334501802584 157.1416963928735 0 0 0 0 +9898 1 1.0051 1 282.73800100676067 142.25707502957817 0 0 0 0 +9736 1 1.0133 1 291.3678118870272 191.45344211555806 0 0 0 0 +9764 1 1.0118 1 271.59020563348867 152.43710449072591 0 0 0 0 +9776 1 1.0112 1 284.83937299540764 155.73449204938808 0 0 0 0 +9778 1 1.0111 1 311.1276220852761 140.30854012641677 0 0 0 0 +9785 1 1.0108 1 302.4853506964318 173.78268848169603 0 0 0 0 +4413 1 1.5129 1 286.805129930691 140.17608307475155 0 0 0 0 +9821 1 1.0088 1 283.58247739450104 142.7557957429472 0 0 0 0 +9910 1 1.0046 1 278.51129049261226 147.11285233771662 0 0 0 0 +9868 1 1.0063 1 286.5897021877665 159.51259229446543 0 0 0 0 +1486 1 2.5915 1 271.74073184768287 166.7350800358789 0 0 0 0 +9900 1 1.005 1 286.63725646625676 163.17036960755027 0 0 0 0 +9902 1 1.0049 1 275.7591844778289 145.3093900566353 0 0 0 0 +6747 1 1.2184 1 331.71269903796735 147.35402987366882 0 -1 0 0 +2152 1 2.1561 1 323.1312428567811 138.71928118665232 0 0 0 0 +4616 1 1.4787 1 291.1578089881232 138.74555379837253 0 0 0 0 +5336 1 1.3715 1 331.78127833307593 154.61985752085258 0 0 0 0 +14 1 29.6841 1 300.31144852325497 240.84189492188548 0 0 0 0 +43 1 15.1326 1 299.6460991046012 208.01150094079279 0 0 0 0 +55 1 12.7841 1 303.1738954490412 264.5193213331362 0 0 0 0 +81 1 10.2427 1 277.99625292811385 263.08560461896434 0 0 0 0 +114 1 9.201 1 286.31684227666426 214.06100145397713 0 0 0 0 +156 1 7.5293 1 287.6180727072153 256.2407221225924 0 0 0 0 +161 1 7.4871 1 321.7523317110315 255.95129633155915 0 0 0 0 +215 1 6.5762 1 305.26713266613086 223.51306942752498 0 0 0 0 +8711 1 1.0693 1 318.61427843851635 248.91672355775793 0 0 0 0 +230 1 6.3247 1 294.55694794256254 260.58365979437076 0 0 0 0 +240 1 6.2782 1 310.39239886621993 258.00521991944726 0 0 0 0 +280 1 5.9044 1 293.62987517367293 221.85362355054016 0 0 0 0 +290 1 5.8218 1 287.30635879070695 263.62336449953693 0 0 0 0 +306 1 5.6966 1 280.7952251175876 227.3518297494654 0 0 0 0 +319 1 5.5431 1 322.3989481526084 263.4678540062425 0 0 0 0 +334 1 5.4378 1 286.1048709665511 223.50137005771927 0 0 0 0 +337 1 5.4167 1 279.01634472361087 232.5386560418022 0 0 0 0 +9268 1 1.0383 1 274.8774040955182 224.9767899037966 0 0 0 0 +366 1 5.1829 1 310.24048902461766 226.62968378878276 0 0 0 0 +376 1 5.082 1 281.91478284351484 238.44248623335096 0 0 0 0 +409 1 4.8983 1 279.7431044935978 242.8395741203561 0 0 0 0 +481 1 4.5088 1 274.8091075440314 213.59163461285124 0 0 0 0 +490 1 4.426 1 276.98323464701446 217.4229443564994 0 0 0 0 +3288 1 1.7437 1 272.13818263018493 217.23043631317344 0 0 0 0 +9059 1 1.0498 1 277.5663833148598 226.48896395284322 0 0 0 0 +580 1 4.1031 1 329.75417981117243 267.3088070488844 0 0 0 0 +589 1 4.0512 1 309.7657908343324 212.99510870612102 0 0 0 0 +618 1 3.9701 1 314.6790348285096 262.1910457250791 0 0 0 0 +623 1 3.9446 1 315.0874151542181 248.7110378151221 0 0 0 0 +4251 1 1.5421 1 283.8631563288178 209.30898001843738 0 0 0 0 +659 1 3.8669 1 291.8532555083675 264.8960248019642 0 0 0 0 +668 1 3.8472 1 284.7434441650408 235.11592089879255 0 0 0 0 +677 1 3.8287 1 282.6908082382534 247.59238306743254 0 0 0 0 +8964 1 1.0545 1 296.6497207019128 266.7245433051464 0 0 0 0 +7776 1 1.1306 1 287.0324339993277 208.24529089233468 0 0 0 0 +813 1 3.5563 1 278.2795424772325 222.99519603249252 0 0 0 0 +846 1 3.4629 1 303.893745331154 216.22378357843766 0 0 0 0 +849 1 3.4617 1 285.48644350113955 230.83537553326912 0 0 0 0 +856 1 3.4469 1 308.6770473032198 219.53521298198143 0 0 0 0 +905 1 3.3492 1 319.0107654700675 266.1910938939798 0 0 0 0 +2780 1 1.9014 1 287.5602249195497 206.67929359681764 0 0 0 0 +1009 1 3.1617 1 281.2774230785946 254.475472387641 0 0 0 0 +1060 1 3.0759 1 278.2550109953895 254.58784662965343 0 0 0 0 +1062 1 3.0665 1 288.2027757366742 219.84240097157877 0 0 0 0 +1072 1 3.0597 1 317.5658803139148 258.9613589434526 0 0 0 0 +1076 1 3.0513 1 296.7693747778631 224.92140129168402 0 0 0 0 +1105 1 3.0129 1 311.2261017151054 252.9790451470259 0 0 0 0 +1138 1 2.9722 1 316.6724823445399 255.15913108166097 0 0 0 0 +3933 1 1.6014 1 269.80237814439187 211.6994438401366 0 0 0 0 +1151 1 2.9533 1 278.5611269711215 212.28094322039473 0 0 0 0 +1219 1 2.8909 1 290.51575923092037 227.79961811737533 0 0 0 0 +1220 1 2.8898 1 311.3070193089656 262.46698533351554 0 0 0 0 +7463 1 1.1561 1 272.74553763830954 220.93555651891756 0 0 0 0 +1236 1 2.8713 1 296.810479826384 216.48928955671082 0 0 0 0 +1247 1 2.8535 1 274.80597762722704 220.25448851204047 0 0 0 0 +1254 1 2.8461 1 294.375353058223 256.0458523639568 0 0 0 0 +1257 1 2.8442 1 303.3958453626381 256.7416115344187 0 0 0 0 +1319 1 2.7698 1 291.23837352144335 210.82034417199915 0 0 0 0 +1328 1 2.759 1 293.2705586632973 226.1275905862452 0 0 0 0 +9937 1 1.0034 1 282.88814581284646 220.2874330797512 0 0 0 0 +1368 1 2.7177 1 283.7079071170833 253.04986557560767 0 0 0 0 +1398 1 2.6831 1 309.2595449502524 216.55493204026553 0 0 0 0 +1423 1 2.6579 1 278.5210747788441 246.3388499195987 0 0 0 0 +1431 1 2.6461 1 314.7240575027481 257.1327141833642 0 0 0 0 +1462 1 2.6076 1 319.52555573549466 247.3578460076453 0 0 0 0 +1481 1 2.5942 1 286.0971347351272 250.17416104810718 0 0 0 0 +1528 1 2.5472 1 317.86532611595675 243.96212816678334 0 0 0 0 +1529 1 2.5467 1 285.6497138806353 227.39950270041206 0 0 0 0 +1533 1 2.5448 1 299.9536470955413 256.87644692700655 0 0 0 0 +1541 1 2.5363 1 289.63410217027877 225.27721645313898 0 0 0 0 +1549 1 2.5336 1 326.88217633190743 265.7676325607493 0 0 0 0 +1567 1 2.5203 1 313.54239607861757 266.9539938890462 0 0 0 0 +1608 1 2.4858 1 312.7337576084414 264.65345158919615 0 0 0 0 +1618 1 2.4826 1 327.7957205193262 260.4036863363047 0 0 0 0 +1631 1 2.466 1 316.2755215197852 242.10501768866615 0 0 0 0 +1662 1 2.446 1 288.290557697519 251.3561756328185 0 0 0 0 +1663 1 2.4454 1 283.944084492813 261.36404721905 0 0 0 0 +1678 1 2.4405 1 296.5755951754114 219.03814124554745 0 0 0 0 +1703 1 2.4209 1 289.63102064229133 222.11785967564725 0 0 0 0 +1717 1 2.4125 1 328.063825809088 262.9610497623867 0 0 0 0 +1736 1 2.3997 1 317.1195137764188 264.0980165718321 0 0 0 0 +1742 1 2.3899 1 315.83935609170277 252.6781215267714 0 0 0 0 +1745 1 2.3876 1 296.77855909814537 256.8624393370402 0 0 0 0 +1749 1 2.3855 1 300.53575023881865 220.50518753605772 0 0 0 0 +2471 1 2.0212 1 272.55238728995215 265.82882215596095 0 0 0 0 +9131 1 1.0457 1 317.561614252393 248.8644942417904 0 0 0 0 +1809 1 2.3518 1 284.54734980844916 243.17268910782488 0 0 0 0 +1822 1 2.344 1 304.67126978060895 219.09466955050868 0 0 0 0 +1834 1 2.3384 1 316.5465033534789 245.92024169363083 0 0 0 0 +948 1 3.2519 1 289.1917027378117 208.64756679084684 0 0 0 0 +1869 1 2.3203 1 282.61189425129487 230.81221938100958 0 0 0 0 +2862 1 1.8735 1 330.07353041789696 262.5718562276037 0 -1 0 0 +8601 1 1.0748 1 270.4924859065812 213.98088841820993 0 0 0 0 +1914 1 2.29 1 288.9181829986415 229.7627908731559 0 0 0 0 +9254 1 1.0392 1 277.5753900699974 257.5115732098096 0 0 0 0 +9391 1 1.0313 1 272.5446402928288 264.3266704290929 0 0 0 0 +1964 1 2.262 1 310.6009817356766 221.58110021799848 0 0 0 0 +1983 1 2.2509 1 307.79289209622965 210.702084968776 0 0 0 0 +1995 1 2.245 1 318.1223069131447 252.7762137897869 0 0 0 0 +2001 1 2.2424 1 313.631475737347 252.07101139554953 0 0 0 0 +2021 1 2.2252 1 305.74999627816595 214.0940899227416 0 0 0 0 +2022 1 2.2249 1 281.9932876184586 217.7075925830416 0 0 0 0 +7651 1 1.1403 1 282.5135955414526 266.57032694080004 0 0 0 0 +2024 1 2.2241 1 317.75617099916605 261.88880430743444 0 0 0 0 +9506 1 1.0255 1 295.6658118372739 214.9861241589052 0 0 0 0 +2040 1 2.2182 1 295.85095061547287 265.3140812501394 0 0 0 0 +8300 1 1.0946 1 287.940693927503 205.24466840517192 0 0 0 0 +2060 1 2.2066 1 298.30431843253746 222.83237885934236 0 0 0 0 +8979 1 1.0537 1 317.60940743226774 256.92207880192535 0 0 0 0 +2127 1 2.166 1 280.2216736361108 220.93329565532096 0 0 0 0 +2131 1 2.1643 1 307.73029411708495 254.8276836307525 0 0 0 0 +2155 1 2.1546 1 311.02721798319686 218.17849795619256 0 0 0 0 +2157 1 2.1542 1 279.0473228254187 249.80512187204383 0 0 0 0 +2160 1 2.1513 1 282.7879555954793 244.56267894767342 0 0 0 0 +2169 1 2.1494 1 292.21403556653144 257.2532395552155 0 0 0 0 +2171 1 2.1484 1 285.6307739691294 219.66995980344615 0 0 0 0 +9025 1 1.0514 1 318.1036881467252 251.1480252606119 0 0 0 0 +9851 1 1.0075 1 311.87276457499945 220.6257528216226 0 0 0 0 +2221 1 2.1271 1 315.99388767716465 238.8863487267901 0 0 0 0 +8919 1 1.0564 1 283.6387188704063 263.05668191442555 0 0 0 0 +2259 1 2.1139 1 325.64825969303007 259.6558197177295 0 0 0 0 +2284 1 2.1015 1 292.0467338957294 218.19666503749022 0 0 0 0 +9385 1 1.0316 1 308.53968796136985 221.6878091633354 0 0 0 0 +2299 1 2.0932 1 278.5062460206299 251.80665841729362 0 0 0 0 +9905 1 1.0047 1 326.6162592096448 262.1930825299788 0 0 0 0 +2328 1 2.0765 1 280.2605314872392 218.8794193894055 0 0 0 0 +2357 1 2.0635 1 294.22137317651277 214.6513567000711 0 0 0 0 +8787 1 1.0641 1 287.8881688402805 226.32125372644364 0 0 0 0 +2392 1 2.0505 1 282.57878047734715 221.75670710097904 0 0 0 0 +2420 1 2.0411 1 315.16741536006805 236.0109756889355 0 0 0 0 +2445 1 2.0287 1 326.12373833315894 257.71140327649357 0 0 0 0 +2452 1 2.027 1 276.38911347557485 225.0132135696544 0 0 0 0 +8700 1 1.0698 1 312.5351622937762 260.94078775402727 0 0 0 0 +2496 1 2.0117 1 275.9870159748006 257.3512122745642 0 0 0 0 +2497 1 2.011 1 330.2850772521813 264.3903531760518 0 0 0 0 +2500 1 2.0104 1 283.6632214462345 218.96327842879379 0 0 0 0 +2524 1 2.0021 1 307.6143573155732 214.94041087405796 0 0 0 0 +2543 1 1.9911 1 308.15683692536237 207.65180706095057 0 0 0 0 +2553 1 1.9883 1 271.8156284721888 214.71169035041277 0 0 0 0 +2638 1 1.9545 1 290.0433357642047 218.20212367992946 0 0 0 0 +2660 1 1.944 1 298.6377630756938 219.58485278653473 0 0 0 0 +9592 1 1.0212 1 315.4863803191822 264.544449298616 0 0 0 0 +2684 1 1.9366 1 326.08228110060554 263.7392165448109 0 0 0 0 +9487 1 1.0265 1 287.8236299752369 249.71940737166125 0 0 0 0 +2695 1 1.9316 1 310.62495629042513 208.67373550296324 0 0 0 0 +2711 1 1.926 1 297.4128623130075 221.02955789018193 0 0 0 0 +2762 1 1.9077 1 299.9139791313326 224.04497646959814 0 0 0 0 +2769 1 1.9062 1 279.9777870978367 248.03358209160703 0 0 0 0 +8655 1 1.0721 1 301.3195033503736 224.46148719038996 0 0 0 0 +2787 1 1.8998 1 316.0358219660576 265.90034303427603 0 0 0 0 +2788 1 1.8984 1 292.13902287960343 255.31366709691304 0 0 0 0 +9326 1 1.0348 1 275.93258619958897 229.12501702913903 0 0 0 0 +9505 1 1.0256 1 284.3311990587005 265.24714886630477 0 0 0 0 +2827 1 1.8857 1 283.55225019443236 232.62000018767438 0 0 0 0 +2859 1 1.8765 1 299.9065146545599 218.21840863171192 0 0 0 0 +2898 1 1.8634 1 284.2013041809724 259.3033847632552 0 0 0 0 +2911 1 1.8604 1 287.18033865928606 228.839619770668 0 0 0 0 +2950 1 1.8482 1 314.50653511836913 234.18724113692485 0 0 0 0 +2952 1 1.8473 1 290.0021922122628 267.0379858230786 0 0 0 0 +2958 1 1.8453 1 277.77225942270746 214.45384513366153 0 0 0 0 +3005 1 1.8288 1 310.74611873664645 206.803097965276 0 0 0 0 +3057 1 1.8104 1 290.8343484690403 262.1966183582325 0 0 0 0 +3103 1 1.7963 1 306.4632749088383 216.31796819000346 0 0 0 0 +3119 1 1.7885 1 301.632742772599 217.51781519645866 0 0 0 0 +3194 1 1.7673 1 290.5379541163919 260.00018723401956 0 0 0 0 +3210 1 1.7635 1 313.6536204407887 230.79143381321407 0 0 0 0 +9211 1 1.0413 1 310.0248525038511 263.92281003401934 0 0 0 0 +7260 1 1.1735 1 271.1616388000027 211.86999364116622 0 0 0 0 +3329 1 1.733 1 280.9456295204767 222.68760749193066 0 0 0 0 +3338 1 1.7315 1 285.6609517734644 260.3161204998549 0 0 0 0 +6988 1 1.1954 1 291.3446929670609 212.77750807403518 0 0 0 0 +3394 1 1.717 1 300.2191235538816 216.49424968788395 0 0 0 0 +3404 1 1.7139 1 281.39222050224373 235.135139718949 0 0 0 0 +3437 1 1.7077 1 312.80954048331114 250.2982911102318 0 0 0 0 +9849 1 1.0077 1 304.81959261682573 255.49053206312016 0 0 0 0 +3460 1 1.7008 1 279.98374502305916 256.43936542223224 0 0 0 0 +9926 1 1.004 1 313.28438445722173 260.16860268761855 0 0 0 0 +3484 1 1.6973 1 277.9491387923705 220.44676053004798 0 0 0 0 +3514 1 1.691 1 312.0295856597713 230.45370093128813 0 0 0 0 +3530 1 1.6869 1 286.39146745890713 247.8317255687159 0 0 0 0 +5472 1 1.3535 1 283.7541235264689 264.2259254038787 0 0 0 0 +3580 1 1.6748 1 320.52356248553923 260.3820065461058 0 0 0 0 +9126 1 1.0459 1 274.4745462887845 216.34364209272678 0 0 0 0 +3650 1 1.6621 1 283.30710561726954 250.2124642702658 0 0 0 0 +7158 1 1.1814 1 282.6325871906287 209.85719358362772 0 0 0 0 +3668 1 1.6562 1 284.0811849191239 220.70142257789598 0 0 0 0 +9739 1 1.0131 1 282.1718466196303 232.36925270420403 0 0 0 0 +3725 1 1.6434 1 278.0843723202133 239.09956902543993 0 0 0 0 +3736 1 1.6417 1 280.53063922938514 215.32087512865783 0 0 0 0 +4340 1 1.5241 1 274.1312005893184 218.1888708131427 0 0 0 0 +7119 1 1.1841 1 289.7741207889912 206.58833886694165 0 0 0 0 +3786 1 1.6329 1 314.12578027313845 259.1712306363212 0 0 0 0 +3837 1 1.6196 1 280.5906589600244 245.94656762833637 0 0 0 0 +3867 1 1.6135 1 317.53009515358224 247.5598213307587 0 0 0 0 +3898 1 1.6087 1 315.7276410889724 244.11347406392954 0 0 0 0 +9428 1 1.0293 1 322.97672217122204 260.0054400395095 0 0 0 0 +3920 1 1.6032 1 301.4297739358605 222.22643067465242 0 0 0 0 +9130 1 1.0457 1 273.67934753371674 217.01372338779976 0 0 0 0 +3960 1 1.5941 1 281.8809277536484 219.59228068129067 0 0 0 0 +3964 1 1.5934 1 292.4822164148621 215.01627289354818 0 0 0 0 +3972 1 1.5912 1 310.81815732206155 210.40609522047927 0 0 0 0 +3984 1 1.5895 1 276.9851148450384 252.72698347227353 0 0 0 0 +4029 1 1.5779 1 314.07786675704887 232.540118502073 0 0 0 0 +4068 1 1.5716 1 279.94071077002275 235.84617667442134 0 0 0 0 +4093 1 1.568 1 275.60506832834665 223.49202971686427 0 0 0 0 +9361 1 1.0328 1 282.36737772792964 223.25147577375932 0 0 0 0 +4154 1 1.5578 1 291.2254497787001 207.4022356673544 0 0 0 0 +4171 1 1.5551 1 276.50087833986856 230.24556719986936 0 0 0 0 +4172 1 1.5549 1 311.03215030181184 215.43495815689639 0 0 0 0 +4205 1 1.5487 1 281.3093858613102 212.2335585347775 0 0 0 0 +4232 1 1.5455 1 290.95899050422395 216.74106744808708 0 0 0 0 +4240 1 1.5431 1 319.2773115684973 250.62348326685552 0 0 0 0 +4258 1 1.5408 1 282.8275408276497 224.4328201062343 0 0 0 0 +4339 1 1.5245 1 311.49272570460107 223.56216342295969 0 0 0 0 +8736 1 1.0678 1 311.3759569228552 216.655400995741 0 0 0 0 +4364 1 1.5207 1 281.81706039760087 250.44332940453512 0 0 0 0 +4373 1 1.5194 1 309.09353332089603 253.65633408720177 0 0 0 0 +4374 1 1.5191 1 273.02751666081855 215.93854341080515 0 0 0 0 +4424 1 1.5106 1 277.62407670184035 235.6645628818082 0 0 0 0 +4430 1 1.5094 1 282.77908836930436 258.5003329904361 0 0 0 0 +4437 1 1.5081 1 277.28939137760557 227.7199013875158 0 0 0 0 +4453 1 1.5061 1 313.0010257878369 254.33897858948256 0 0 0 0 +9985 1 1.0008 1 298.6217223531251 225.61647613833938 0 0 0 0 +4499 1 1.4972 1 311.4191252334134 266.0269578814767 0 0 0 0 +6871 1 1.2046 1 267.75730200086633 210.88368085528123 0 0 0 0 +4513 1 1.4949 1 309.18496820661414 222.7040875225538 0 0 0 0 +9769 1 1.0115 1 319.49774223625803 259.5411145969111 0 0 0 0 +4568 1 1.4862 1 318.96231636977126 263.77571259821076 0 0 0 0 +4577 1 1.485 1 328.60593243860995 264.79587691309615 0 0 0 0 +4595 1 1.481 1 285.1649953764247 246.9664669175313 0 0 0 0 +4630 1 1.4771 1 284.44407720440324 251.18782689351542 0 0 0 0 +4633 1 1.4766 1 319.79344654865196 251.98272890005234 0 0 0 0 +4644 1 1.4739 1 303.1193710111267 220.14674683000442 0 0 0 0 +4647 1 1.4736 1 306.3579994094712 257.6263483093912 0 0 0 0 +4654 1 1.4725 1 278.81002839553963 237.75871067102688 0 0 0 0 +4667 1 1.4697 1 319.92436231045014 249.31229529994943 0 0 0 0 +4680 1 1.4676 1 280.5647986051347 210.96007433946477 0 0 0 0 +4713 1 1.4623 1 274.74362497373795 222.3277141854937 0 0 0 0 +4724 1 1.4597 1 284.09309994931454 226.21393182865555 0 0 0 0 +4767 1 1.4533 1 283.85951700898136 241.06877654867722 0 0 0 0 +4771 1 1.4529 1 294.5176495883435 266.44768016448694 0 0 0 0 +9250 1 1.0394 1 325.29444753373207 264.99073442295565 0 0 0 0 +4790 1 1.4506 1 306.00699472121664 255.3073960576652 0 0 0 0 +4793 1 1.45 1 321.309724757913 249.69574337635223 0 0 0 0 +4799 1 1.449 1 293.2227682092229 213.23943158264862 0 0 0 0 +4823 1 1.4458 1 294.67894130674586 216.6884739371982 0 0 0 0 +4847 1 1.4422 1 275.1406669849072 226.1580573587942 0 0 0 0 +5892 1 1.3057 1 283.1958105291212 265.4143466998618 0 0 0 0 +4861 1 1.4396 1 283.1516217412762 256.3796316731404 0 0 0 0 +4888 1 1.4348 1 287.3458800570899 232.33849868036694 0 0 0 0 +4948 1 1.4258 1 280.5782290117922 257.87186202757675 0 0 0 0 +4955 1 1.4254 1 314.5276706734647 255.11001930917885 0 0 0 0 +4967 1 1.424 1 315.5148064346879 259.67578385581703 0 0 0 0 +9006 1 1.0524 1 282.483944424409 234.3731299031811 0 0 0 0 +4983 1 1.4226 1 306.93042372613866 256.3702277681235 0 0 0 0 +4991 1 1.4212 1 324.6918518000555 266.05251165642136 0 0 0 0 +5071 1 1.409 1 281.08664789589795 213.95105825839207 0 0 0 0 +5072 1 1.4088 1 314.5387460728807 265.2760118540778 0 0 0 0 +6858 1 1.2068 1 268.4652619666319 211.82041088691506 0 0 0 0 +5103 1 1.4036 1 284.98832151126186 239.0284001078287 0 0 0 0 +5134 1 1.3984 1 314.3041741187759 253.7416198868897 0 0 0 0 +5139 1 1.3978 1 306.4750087588652 218.68055823629723 0 0 0 0 +8168 1 1.1031 1 270.497523482481 216.98043500225936 0 0 0 0 +5195 1 1.3895 1 285.090275142154 248.4733010569128 0 0 0 0 +5205 1 1.3881 1 301.8977723802061 225.4775911364054 0 0 0 0 +5218 1 1.3868 1 307.04485890230177 212.82793290273392 0 0 0 0 +5222 1 1.3864 1 281.9904394901466 210.95063306923097 0 0 0 0 +6629 1 1.2291 1 270.49848553950136 212.87017232748815 0 0 0 0 +5238 1 1.3837 1 316.9092075485794 240.3449572625185 0 0 0 0 +5240 1 1.3833 1 285.6497610467949 245.70094810316704 0 0 0 0 +5272 1 1.3795 1 318.0238805114046 249.95405456477556 0 0 0 0 +5281 1 1.3782 1 319.13138355687056 245.4287801518981 0 0 0 0 +5322 1 1.373 1 294.24871921318464 218.30989507450704 0 0 0 0 +1806 1 2.3525 1 268.8068196943192 213.5404888522196 0 0 0 0 +5350 1 1.3696 1 307.31888915510416 217.59636980021477 0 0 0 0 +5360 1 1.3686 1 293.4102729446481 216.1331901841566 0 0 0 0 +5362 1 1.3684 1 277.664307281839 237.07720232886328 0 0 0 0 +5381 1 1.3664 1 298.311840194589 217.96888187569087 0 0 0 0 +5384 1 1.3664 1 277.9710436549365 225.3803497768943 0 0 0 0 +5424 1 1.3605 1 278.50547462212 256.76528532797465 0 0 0 0 +5458 1 1.3551 1 283.4058126235661 255.03492617802172 0 0 0 0 +5466 1 1.3549 1 276.4109319294033 226.65606592119101 0 0 0 0 +5483 1 1.3526 1 291.4687801445939 208.80804669784897 0 0 0 0 +5533 1 1.3467 1 301.5798388055382 215.9643011956254 0 0 0 0 +5548 1 1.3442 1 280.8607303602052 249.37535284362525 0 0 0 0 +5559 1 1.3435 1 279.7407044589269 214.0473832150849 0 0 0 0 +2382 1 2.0551 1 285.4586833003312 208.51559805307872 0 0 0 0 +5570 1 1.3415 1 309.4684274690605 261.6010996840605 0 0 0 0 +5573 1 1.341 1 314.8029247253198 246.1238949462741 0 0 0 0 +5578 1 1.3405 1 290.57255092954205 219.83121301471016 0 0 0 0 +8611 1 1.0745 1 271.3364065936212 216.13349637260376 0 0 0 0 +5605 1 1.3364 1 283.6596084129105 229.33798817665544 0 0 0 0 +5607 1 1.336 1 313.3401975500067 255.69831798092352 0 0 0 0 +5611 1 1.3357 1 324.9192884275008 261.18668271813806 0 0 0 0 +5652 1 1.3321 1 272.38706406853305 212.0202544250546 0 0 0 0 +5666 1 1.3306 1 279.6917382292209 252.97258505149895 0 0 0 0 +5670 1 1.3299 1 310.8402777131069 264.75312079298504 0 0 0 0 +5703 1 1.3251 1 282.76419948796206 259.8994831078795 0 0 0 0 +5706 1 1.3249 1 299.98963511566825 222.36612344327204 0 0 0 0 +5719 1 1.3243 1 280.494267317658 250.61906191481836 0 0 0 0 +5742 1 1.3215 1 285.1359327420908 237.67182369531284 0 0 0 0 +5751 1 1.3203 1 301.6178103374227 257.708122094066 0 0 0 0 +5760 1 1.3192 1 305.74113737000675 217.6359172584479 0 0 0 0 +5764 1 1.3183 1 321.9548682173013 250.88841405960235 0 0 0 0 +6630 1 1.2289 1 273.51241435534695 221.8049980287664 0 0 0 0 +5793 1 1.3151 1 274.2752622658067 224.01300941043473 0 0 0 0 +5802 1 1.3144 1 298.80757369659244 216.1583692702095 0 0 0 0 +5845 1 1.3102 1 312.8011354556083 231.9076965859582 0 0 0 0 +5858 1 1.3092 1 279.09180245026533 215.16047557645788 0 0 0 0 +5918 1 1.3031 1 309.4335223054117 210.08858668492724 0 0 0 0 +5920 1 1.3028 1 311.0189034866859 219.87265439286952 0 0 0 0 +5945 1 1.3001 1 271.71577319659116 213.10843911930357 0 0 0 0 +7085 1 1.1874 1 292.1549777115958 204.89174267239602 0 0 0 0 +5977 1 1.2967 1 277.53654128547487 249.10233971844596 0 0 0 0 +5991 1 1.2954 1 310.0580669717616 265.860745106983 0 0 0 0 +5998 1 1.2948 1 320.65890854541897 250.90361009669968 0 0 0 0 +6044 1 1.2899 1 280.1434194108578 251.79185326741566 0 0 0 0 +9105 1 1.0469 1 280.34775011591415 213.03345333525434 0 0 0 0 +6072 1 1.2862 1 313.0786355691188 228.10573447242808 0 0 0 0 +6074 1 1.286 1 291.53524711843625 213.98076156243704 0 0 0 0 +6077 1 1.2859 1 291.2630428953453 253.8942442083111 0 0 0 0 +6093 1 1.284 1 291.7365494670744 206.12147932908013 0 0 0 0 +6102 1 1.2831 1 281.83213577068096 256.5623392770674 0 0 0 0 +6103 1 1.283 1 290.5894685150489 252.8496872480445 0 0 0 0 +6159 1 1.2769 1 313.35727039310046 229.3288020160707 0 0 0 0 +7140 1 1.183 1 288.8577896095759 205.87434441012493 0 0 0 0 +8854 1 1.0599 1 277.03369644719504 251.415219534016 0 0 0 0 +9951 1 1.003 1 309.98035811598874 254.473141913479 0 0 0 0 +9858 1 1.0068 1 289.5584051811232 252.46381242733625 0 0 0 0 +6240 1 1.2663 1 279.79114512626575 217.37513159715246 0 0 0 0 +6244 1 1.2658 1 303.0142018628049 218.4003270806116 0 0 0 0 +6248 1 1.2653 1 285.41994901870675 252.13371055984672 0 0 0 0 +6273 1 1.2627 1 276.6919142679681 221.19422113263795 0 0 0 0 +9229 1 1.0405 1 320.90121438899104 248.53282095187706 0 0 0 0 +9780 1 1.0111 1 276.1596823656963 228.17493981953703 0 0 0 0 +6288 1 1.2617 1 305.49162650908903 256.5619288290301 0 0 0 0 +3482 1 1.6974 1 284.0626602226327 266.553503849465 0 0 0 0 +6316 1 1.2595 1 277.27920236558106 256.4510783327188 0 0 0 0 +8477 1 1.0825 1 311.1666517429771 205.41317509894424 0 0 0 0 +6371 1 1.255 1 286.6987868768247 233.5013992518029 0 0 0 0 +6373 1 1.255 1 291.27759916310487 258.67925055237214 0 0 0 0 +6379 1 1.254 1 286.61782710509715 252.00084108709825 0 0 0 0 +6400 1 1.2518 1 290.58509027973776 223.67523918877527 0 0 0 0 +6401 1 1.2518 1 282.4163000726151 241.4715928176033 0 0 0 0 +6417 1 1.2501 1 325.5355228154003 262.27946439754106 0 0 0 0 +8619 1 1.0737 1 306.31005393109183 203.4858841810154 0 0 0 0 +6477 1 1.2456 1 277.44936039991285 250.3586535036811 0 0 0 0 +6507 1 1.2424 1 281.542872356369 224.0052604456266 0 0 0 0 +6517 1 1.2416 1 326.1663305878703 261.21361127056963 0 0 0 0 +9899 1 1.0051 1 281.0123731637173 252.45233472334434 0 0 0 0 +8752 1 1.0669 1 298.3144775591111 257.58951484610344 0 0 0 0 +4416 1 1.5126 1 276.2477345672047 255.59596973940282 0 0 0 0 +9885 1 1.0057 1 292.40836401770116 227.74248712857016 0 0 0 0 +6654 1 1.2266 1 305.0716354162763 257.81191418317053 0 0 0 0 +9314 1 1.0355 1 299.74507703595026 258.59729957119333 0 0 0 0 +6733 1 1.2194 1 277.0377717318946 229.01123253244464 0 0 0 0 +6761 1 1.217 1 278.73141236115157 236.42213960788078 0 0 0 0 +9654 1 1.0177 1 309.61989590276556 207.61933267050517 0 0 0 0 +6811 1 1.2111 1 276.0491344516142 222.20545739570565 0 0 0 0 +8905 1 1.0572 1 292.35295420153835 253.89699781054549 0 0 0 0 +6847 1 1.2078 1 288.1584514045571 231.3187647897572 0 0 0 0 +6904 1 1.2018 1 302.2187186756436 221.09678952355233 0 0 0 0 +6948 1 1.1983 1 298.17854492098473 259.6615376013951 0 0 0 0 +6957 1 1.1978 1 312.0646477305353 222.3919170397624 0 0 0 0 +9725 1 1.0141 1 301.23713105083846 223.46771762250927 0 0 0 0 +6997 1 1.1945 1 319.627069246835 261.4825961536301 0 0 0 0 +7005 1 1.1939 1 293.2909487844802 254.43892465798154 0 0 0 0 +7091 1 1.1868 1 279.5139646253863 216.2594762822403 0 0 0 0 +7117 1 1.1843 1 273.6684863035935 222.96538879963992 0 0 0 0 +9640 1 1.0184 1 279.2172474255208 239.926965064803 0 0 0 0 +8652 1 1.0722 1 312.2112353949569 229.0688948984124 0 0 0 0 +7176 1 1.1802 1 284.8046289498705 244.8350264129718 0 0 0 0 +8721 1 1.0686 1 286.1898446054506 207.1652196489858 0 0 0 0 +7211 1 1.1773 1 295.2027968318957 226.29937454327646 0 0 0 0 +7254 1 1.1738 1 298.3224557169018 256.0975574594763 0 0 0 0 +1707 1 2.4166 1 272.4681682030166 219.20225191204125 0 0 0 0 +7267 1 1.1732 1 293.4340977951957 217.3720627275482 0 0 0 0 +7271 1 1.1731 1 323.91039836878014 260.5300412709599 0 0 0 0 +7283 1 1.1725 1 309.0967947214621 208.90871832179465 0 0 0 0 +7288 1 1.172 1 275.44644535803775 227.40401332069914 0 0 0 0 +7300 1 1.1707 1 321.9151062012747 260.21372837580105 0 0 0 0 +7331 1 1.168 1 310.89421221576987 229.67626952051106 0 0 0 0 +7337 1 1.1677 1 294.2490202557886 265.26078963990625 0 0 0 0 +6591 1 1.2326 1 273.6226746764037 267.0646016094809 0 0 0 0 +7375 1 1.1636 1 301.2250802589387 218.90587197888226 0 0 0 0 +7396 1 1.1618 1 278.54357428337056 248.26615029078417 0 0 0 0 +7410 1 1.1604 1 298.68273774866054 258.6200171073043 0 0 0 0 +7466 1 1.1559 1 281.5280646513096 258.72726326408645 0 0 0 0 +7495 1 1.1528 1 277.91769897667774 240.46284763264987 0 0 0 0 +3361 1 1.7252 1 289.55648499319403 203.18980079799513 0 0 0 0 +7529 1 1.1505 1 322.7342788325525 251.8010750345205 0 0 0 0 +7532 1 1.1503 1 306.4374302218914 219.90066885159143 0 0 0 0 +7549 1 1.1484 1 318.9993495441103 260.4976709482344 0 0 0 0 +9453 1 1.028 1 270.97832573960886 217.93134728382802 0 0 0 0 +7588 1 1.145 1 283.2155106066592 242.21296272471315 0 0 0 0 +7597 1 1.1442 1 280.37091355836935 223.98673179638504 0 0 0 0 +7605 1 1.1438 1 279.33525085869775 257.6371169157465 0 0 0 0 +7608 1 1.1436 1 278.84376341852834 219.44262062107936 0 0 0 0 +7610 1 1.1434 1 284.9068469098633 240.30082838363774 0 0 0 0 +7627 1 1.1426 1 294.2263357101542 264.19796064922014 0 0 0 0 +7630 1 1.1425 1 329.3343300839577 261.2937424411206 0 0 0 0 +7671 1 1.1385 1 310.1907094012419 223.49396613999792 0 0 0 0 +6687 1 1.2233 1 288.68415897924496 204.3692221492737 0 0 0 0 +7698 1 1.1366 1 297.57323724120744 258.4156984694737 0 0 0 0 +7703 1 1.1362 1 282.69507887027424 251.43068775172267 0 0 0 0 +7728 1 1.1346 1 300.6778325020419 225.39313544460302 0 0 0 0 +2240 1 2.1198 1 269.9395156576229 215.44072011207658 0 0 0 0 +7734 1 1.1338 1 288.36093390802296 227.47011444796516 0 0 0 0 +7735 1 1.1337 1 277.5495811747376 247.91142937027337 0 0 0 0 +7775 1 1.1306 1 278.1105523101515 229.4190184928577 0 0 0 0 +7781 1 1.1303 1 292.27196034305433 216.60069253014856 0 0 0 0 +7793 1 1.1292 1 284.40063299076667 249.45617735823257 0 0 0 0 +7891 1 1.122 1 281.6283442363097 216.09870176949462 0 0 0 0 +7892 1 1.122 1 317.0783352192123 251.46939021982277 0 0 0 0 +7903 1 1.121 1 282.1415467444712 233.39776162361088 0 0 0 0 +7914 1 1.1198 1 291.2459679748218 215.45940822717992 0 0 0 0 +7928 1 1.1193 1 295.3353560195408 217.78137783134179 0 0 0 0 +7955 1 1.1174 1 307.6824407736968 209.07412715416766 0 0 0 0 +7957 1 1.1172 1 316.98828245929127 267.03161484598957 0 0 0 0 +8065 1 1.11 1 324.0914146440864 259.46756372362876 0 0 0 0 +9619 1 1.0198 1 311.72836132786415 251.06535366496198 0 0 0 0 +8112 1 1.1068 1 287.2630147645682 248.84315477646888 0 0 0 0 +8119 1 1.1065 1 291.35584001272326 225.86933281346646 0 0 0 0 +8128 1 1.1056 1 315.00803589637485 251.18414497048994 0 0 0 0 +8144 1 1.1049 1 284.05859569116836 228.2122702201187 0 0 0 0 +8166 1 1.1033 1 284.0229035231522 245.5869091521117 0 0 0 0 +9958 1 1.0029 1 315.2800317636245 237.51195025817293 0 0 0 0 +8212 1 1.1006 1 312.4377508090286 224.44482773176017 0 0 0 0 +8229 1 1.0998 1 280.7049240627224 216.6724811918125 0 0 0 0 +8245 1 1.0981 1 306.8594644854456 258.7465761046935 0 0 0 0 +8279 1 1.0964 1 281.99944301366276 252.2639176424324 0 0 0 0 +8289 1 1.0956 1 288.871579769308 260.42992287485083 0 0 0 0 +8305 1 1.0942 1 281.8015933879487 257.6836284937988 0 0 0 0 +8933 1 1.056 1 291.3243587738462 224.63374582127372 0 0 0 0 +8341 1 1.0911 1 296.31368351702673 263.77965913924635 0 0 0 0 +8378 1 1.0886 1 316.9152971147067 250.39865294171645 0 0 0 0 +8395 1 1.0877 1 316.571288805667 257.1685165632417 0 0 0 0 +8419 1 1.0864 1 319.246188000194 262.539303860974 0 0 0 0 +8452 1 1.0842 1 299.6110891839741 225.4878625602296 0 0 0 0 +1700 1 2.4251 1 290.3921251118444 204.96636802859615 0 0 0 0 +8495 1 1.0811 1 283.56622779255423 257.54488843595726 0 0 0 0 +8520 1 1.0797 1 316.63254575844695 260.716333384774 0 0 0 0 +9629 1 1.0193 1 276.6866155375991 220.0837156715263 0 0 0 0 +8545 1 1.0784 1 302.24757524136515 219.26157113484885 0 0 0 0 +536 1 4.2432 1 308.6585123813323 204.63582746049815 0 0 0 0 +8581 1 1.0763 1 289.77538759322874 261.20253678334325 0 0 0 0 +9947 1 1.0031 1 308.9963289130978 223.8734768807934 0 0 0 0 +8606 1 1.0747 1 292.3812704829145 212.33564475682996 0 0 0 0 +9201 1 1.0418 1 316.05635149790754 250.99583491199505 0 0 0 0 +6461 1 1.2467 1 295.6327263162932 267.1927447117946 0 0 0 0 +5340 1 1.371 1 315.4306263258107 267.38256958988944 0 0 0 0 +2314 1 2.0833 1 288.1108183071605 267.4281711643232 0 0 0 0 +22 1 21.3501 1 325.7269514453548 279.1473477763208 0 0 0 0 +24 1 20.9287 1 301.50012428314 319.51729191420424 0 0 0 0 +33 1 17.6088 1 309.64721948811655 297.5465314168522 0 0 0 0 +47 1 13.5938 1 315.8019925711041 331.43786578878894 0 0 0 0 +67 1 11.3032 1 309.68578722175795 280.38015236929857 0 0 0 0 +72 1 10.8701 1 274.90122130426323 272.98426012497544 0 0 0 0 +75 1 10.514 1 286.1193116202897 281.5320163815835 0 0 0 0 +84 1 10.0972 1 280.27645724799515 305.9531963442394 0 0 0 0 +6218 1 1.2691 1 294.1395786577989 273.3866232552047 0 0 0 0 +102 1 9.5724 1 293.8875634230108 304.0943012613121 0 0 0 0 +9734 1 1.0134 1 268.1741857571728 283.54576422968705 0 0 0 0 +122 1 8.8662 1 298.48645844011725 277.46148833896245 0 0 0 0 +146 1 7.7435 1 276.01750454157667 285.4101585058007 0 0 0 0 +209 1 6.6389 1 289.4891349531468 295.41032264438485 0 0 0 0 +216 1 6.5709 1 272.5585809225152 308.65210019921585 0 0 0 0 +342 1 5.3782 1 320.04919095028265 292.2201021326774 0 0 0 0 +7244 1 1.1743 1 267.6359336763795 284.4285223243372 0 0 0 0 +372 1 5.0959 1 314.1487616769972 322.28212343927214 0 0 0 0 +382 1 5.0566 1 291.10773549036696 289.89896917133444 0 0 0 0 +407 1 4.9035 1 297.0016533586391 284.1285443904591 0 0 0 0 +414 1 4.8627 1 320.5948054791158 313.14981764786586 0 0 0 0 +452 1 4.644 1 325.8658186178398 320.2032384917687 0 0 0 0 +470 1 4.5587 1 285.2780261895035 298.90387814348276 0 0 0 0 +491 1 4.4229 1 321.89777286751195 322.6551275023545 0 0 0 0 +492 1 4.4198 1 316.06909520717085 270.80928577538623 0 0 0 0 +514 1 4.3171 1 281.89077435027076 296.1398373020531 0 0 0 0 +522 1 4.2945 1 283.2276434550682 312.42364063034637 0 0 0 0 +8 1 37.6745 1 270.73901923858557 330.4876581295166 0 0 0 0 +553 1 4.1921 1 314.8266257013935 313.262464493739 0 0 0 0 +560 1 4.1737 1 324.3304953414036 302.1934373404446 0 0 0 0 +587 1 4.0709 1 298.9106625196425 296.6943459655397 0 0 0 0 +646 1 3.901 1 311.0708053254269 311.821657587232 0 0 0 0 +651 1 3.8853 1 311.64009128482337 308.04748399667744 0 0 0 0 +653 1 3.8852 1 305.97975702095107 287.55147737926063 0 0 0 0 +656 1 3.8759 1 315.51299313316287 307.7293420603105 0 0 0 0 +667 1 3.8478 1 320.3079369777118 297.85850318715734 0 0 0 0 +4523 1 1.494 1 298.1702490816976 271.03380038998176 0 0 0 0 +709 1 3.765 1 299.5949672321161 307.4654472375137 0 0 0 0 +718 1 3.7548 1 325.0399289484526 293.13582207277904 0 0 0 0 +720 1 3.7486 1 322.8723553081702 326.5724655023979 0 0 0 0 +199 1 6.8708 1 294.01498139243023 331.1511361859442 0 0 -1 0 +5171 1 1.3921 1 289.4629590880676 271.4730485724529 0 0 0 0 +5080 1 1.4078 1 307.72268263638244 270.57192584971506 0 0 0 0 +734 1 3.713 1 301.048704784659 285.2850095060438 0 0 0 0 +747 1 3.6915 1 297.7502856878094 289.68217869490405 0 0 0 0 +801 1 3.5868 1 308.6582490992851 272.8344182294737 0 0 0 0 +804 1 3.5785 1 306.7399011714635 308.63754300994503 0 0 0 0 +812 1 3.5593 1 316.343033252157 287.14643368552555 0 0 0 0 +817 1 3.5469 1 281.4572570284114 286.64580916188356 0 0 0 0 +824 1 3.5279 1 281.9605179914667 273.54323626636705 0 0 0 0 +1360 1 2.7284 1 272.52176350809776 300.8834006385489 0 0 0 0 +845 1 3.4643 1 328.11849134267965 291.3279550232983 0 0 0 0 +6160 1 1.2761 1 301.10490541966607 273.2162331958359 0 0 0 0 +861 1 3.441 1 318.5715614648723 316.6720409026603 0 0 0 0 +885 1 3.3813 1 289.58131796385896 308.79430105348877 0 0 0 0 +887 1 3.38 1 323.7465354527749 315.69093643524843 0 0 0 0 +891 1 3.3742 1 326.0050741018955 298.82170148179205 0 0 0 0 +932 1 3.2899 1 281.626062999074 290.53001119453785 0 0 0 0 +968 1 3.2206 1 292.432379464524 279.018941176927 0 0 0 0 +976 1 3.2116 1 319.6812945721566 303.8072930661529 0 0 0 0 +984 1 3.2058 1 329.72927732634275 323.5398220267489 0 0 0 0 +988 1 3.1965 1 291.16372829463575 274.6181492558329 0 0 0 0 +992 1 3.1884 1 313.1467709485262 287.88475137954873 0 0 0 0 +999 1 3.1776 1 326.131775890356 324.0654355449113 0 0 0 0 +1051 1 3.0898 1 304.3440429717461 306.36443417342946 0 0 0 0 +1066 1 3.0626 1 292.6552493507715 282.95858742219514 0 0 0 0 +1073 1 3.0595 1 300.8808118618426 288.6115252303578 0 0 0 0 +1102 1 3.0146 1 320.8356673127636 319.15944775585007 0 0 0 0 +1125 1 2.9851 1 293.51937058523043 310.36142484279037 0 0 0 0 +1144 1 2.9669 1 277.76148489329773 293.81421047859567 0 0 0 0 +1148 1 2.959 1 307.2916802674749 331.2991981728074 0 0 0 0 +1190 1 2.9166 1 313.1463989352869 317.62253695410504 0 0 0 0 +1213 1 2.8949 1 280.77307206513166 299.5451576834953 0 0 0 0 +1223 1 2.8847 1 288.0431518461036 306.1155787340911 0 0 0 0 +1230 1 2.8775 1 285.50620962436165 315.1410908715789 0 0 0 0 +1242 1 2.8593 1 287.6661083248729 288.0126093920888 0 0 0 0 +7782 1 1.1303 1 268.5742283573363 295.86224354939094 0 0 0 0 +1276 1 2.8176 1 319.5756821526954 306.717425812194 0 0 0 0 +1282 1 2.8091 1 286.9421043605766 310.21740342494905 0 0 0 0 +1306 1 2.7866 1 301.7150308493661 282.18849073500115 0 0 0 0 +1318 1 2.7713 1 267.6425440937277 307.3935153226777 0 0 0 0 +1364 1 2.7244 1 289.4278545167754 316.1801308091286 0 0 0 0 +1396 1 2.6876 1 315.6123148833847 316.53921319117325 0 0 0 0 +9987 1 1.0007 1 269.443277583702 300.14692963174434 0 0 0 0 +1449 1 2.6209 1 276.9500607739939 291.1920330081143 0 0 0 0 +1471 1 2.6035 1 294.0975728920943 294.1014412781476 0 0 0 0 +1950 1 2.2695 1 313.2080126660554 269.2770815639277 0 0 0 0 +1487 1 2.5913 1 273.8170519373374 303.0918270196448 0 0 0 0 +1498 1 2.5799 1 303.76811390435176 283.84615088981076 0 0 0 0 +1514 1 2.5619 1 273.69264691399223 289.9563945104741 0 0 0 0 +1527 1 2.5484 1 323.1740630930256 299.0508660221629 0 0 0 0 +1561 1 2.5238 1 293.6895934929792 285.44618462094354 0 0 0 0 +1584 1 2.5049 1 324.8265057953282 296.2178040987185 0 0 0 0 +1592 1 2.4999 1 317.4825177737638 311.2295506535404 0 0 0 0 +1595 1 2.499 1 291.38856667700065 326.27370786929157 0 0 0 0 +1600 1 2.4937 1 284.3721573009828 291.42409971729256 0 0 0 0 +8987 1 1.0533 1 324.1420229743013 268.08673458194767 0 0 0 0 +1610 1 2.4848 1 278.8908466026185 289.60948719906264 0 0 0 0 +1616 1 2.483 1 286.5186612560187 312.7434153220844 0 0 0 0 +694 1 3.7963 1 310.4026040841399 268.37786947158315 0 0 0 0 +1630 1 2.4673 1 327.1226454957629 295.4206257008251 0 0 0 0 +1659 1 2.4477 1 269.63906584703926 285.9378341279863 0 0 0 0 +1670 1 2.4419 1 315.18214598588366 284.4003145379263 0 0 0 0 +1671 1 2.4415 1 295.04806967570516 288.39412139131866 0 0 0 0 +1712 1 2.4148 1 287.3280911058601 275.26187114454297 0 0 0 0 +1730 1 2.4066 1 322.9710025632737 309.820839751633 0 0 0 0 +1737 1 2.3983 1 317.7477013176269 321.41023611216576 0 0 0 0 +1761 1 2.3764 1 276.96500699663727 279.1772420306017 0 0 0 0 +9001 1 1.0526 1 301.57594367999116 272.2117773095907 0 0 0 0 +1774 1 2.3713 1 290.2099397962933 313.41254946061287 0 0 0 0 +1777 1 2.3706 1 288.890175157468 322.1584818613937 0 0 0 0 +1784 1 2.3661 1 304.78868877112956 275.17592718364943 0 0 0 0 +1792 1 2.3607 1 280.89256548715935 277.9712936437692 0 0 0 0 +1795 1 2.3602 1 302.27427234603846 290.8817751314667 0 0 0 0 +7262 1 1.1734 1 312.1710875991193 274.69368545885027 0 0 0 0 +2816 1 1.8901 1 305.32753794329165 273.1673173627504 0 0 0 0 +1867 1 2.3206 1 289.8980470609058 299.77922621245085 0 0 0 0 +1893 1 2.3042 1 324.53508281790045 330.1349146806617 0 0 0 0 +1896 1 2.3024 1 284.08101389690523 293.7263886384983 0 0 0 0 +1912 1 2.2916 1 316.02497221239105 289.97607271487834 0 0 0 0 +1933 1 2.2803 1 323.8515518245951 305.3790493190499 0 0 0 0 +1934 1 2.2803 1 298.6044561440562 300.61584139123806 0 0 0 0 +1940 1 2.2765 1 286.2550847727643 317.5724535143841 0 0 0 0 +1993 1 2.2456 1 279.0643381159953 297.7356067589813 0 0 0 0 +2020 1 2.2273 1 318.72237952066547 324.117611500171 0 0 0 0 +2034 1 2.2201 1 322.07987172524105 306.891064047403 0 0 0 0 +2457 1 2.0254 1 325.5320655942994 267.5214794115832 0 0 0 0 +2055 1 2.2077 1 296.1595519517499 292.12794216015305 0 0 0 0 +2063 1 2.2035 1 272.7335005955359 292.0588085309884 0 0 0 0 +2081 1 2.1925 1 279.3001271586641 291.854875027542 0 0 0 0 +7035 1 1.1906 1 280.07229856267065 268.2727867368544 0 0 0 0 +2105 1 2.1813 1 290.49382779961377 328.38831839171775 0 0 0 0 +2149 1 2.1575 1 328.6836797829835 298.81464461685925 0 0 0 0 +2174 1 2.1478 1 315.2880903324745 318.89501956828315 0 0 0 0 +2185 1 2.1446 1 287.0599332597651 302.502521739809 0 0 0 0 +2209 1 2.1327 1 279.5772285729234 282.0137848842524 0 0 0 0 +2229 1 2.1241 1 289.6728640897651 286.6661608547588 0 0 0 0 +2232 1 2.1234 1 285.00786500060593 302.1921520759021 0 0 0 0 +5291 1 1.3769 1 270.53301396965196 282.5763578695352 0 0 0 0 +2237 1 2.1204 1 291.7148986845308 286.4555307314186 0 0 0 0 +2246 1 2.1185 1 298.8326661016225 287.0652301228963 0 0 0 0 +1956 1 2.2667 1 306.14275246680177 271.35636851883316 0 0 0 0 +2265 1 2.1092 1 294.0631993563302 291.8073899964191 0 0 0 0 +2266 1 2.108 1 318.3244205437412 319.33090313453346 0 0 0 0 +2294 1 2.096 1 275.30162196407827 301.3535569700124 0 0 0 0 +2330 1 2.0763 1 287.95681604930496 300.6668122197799 0 0 0 0 +2351 1 2.068 1 330.7883777369349 327.1616613578581 0 0 0 0 +2424 1 2.0394 1 278.9030908306378 280.09508807221334 0 0 0 0 +9884 1 1.0057 1 320.5863747090487 267.6929384454499 0 0 0 0 +2492 1 2.0134 1 318.05015550208384 309.0919426744996 0 0 0 0 +2515 1 2.0056 1 303.967868751779 289.6067795998415 0 0 0 0 +2520 1 2.0043 1 321.8515678516245 295.4255743187878 0 0 0 0 +2535 1 1.9974 1 325.20622517267805 328.1601700305501 0 0 0 0 +2579 1 1.9785 1 286.4128266932435 292.3952229460757 0 0 0 0 +2583 1 1.9764 1 268.839129228501 276.598521785193 0 0 0 0 +2592 1 1.971 1 272.1757818373991 282.5341120775999 0 0 0 0 +2606 1 1.9658 1 288.6404036818839 320.0665588527408 0 0 0 0 +2637 1 1.9546 1 288.2751013476563 318.15405508342616 0 0 0 0 +2644 1 1.951 1 329.1323428068141 329.9263806137108 0 0 0 0 +2682 1 1.9373 1 319.7776806491429 301.3002825741262 0 0 0 0 +2707 1 1.927 1 281.1390960806097 293.05908454090445 0 0 0 0 +2757 1 1.9088 1 303.71052502300887 277.9140439949704 0 0 0 0 +2766 1 1.9066 1 320.3795214721905 325.31590899751535 0 0 0 0 +2794 1 1.8948 1 291.57804896822205 311.80323953624213 0 0 0 0 +2801 1 1.8932 1 311.22934669413786 325.28768891555933 0 0 0 0 +9421 1 1.0296 1 309.8285955955866 270.7104987106071 0 0 0 0 +2829 1 1.885 1 278.050478570638 312.1513832099885 0 0 0 0 +2839 1 1.883 1 322.15602880891686 304.28856091461466 0 0 0 0 +2840 1 1.8829 1 284.60846466873704 288.5072938178215 0 0 0 0 +2852 1 1.8786 1 284.7367570988568 309.8090547811109 0 0 0 0 +2891 1 1.8644 1 327.31805922619304 329.9098157365746 0 0 0 0 +6748 1 1.2184 1 314.6842022481716 268.400605462579 0 0 0 0 +2921 1 1.8569 1 280.414571218725 313.4156021669543 0 0 0 0 +2941 1 1.8502 1 326.191483588336 331.28319267094554 0 0 0 0 +3003 1 1.8289 1 312.6415728688117 315.3257968458942 0 0 0 0 +7534 1 1.1499 1 297.7504428315239 329.8337442153184 0 0 -1 0 +8098 1 1.1075 1 322.9970571541342 330.58195493896 0 0 0 0 +3037 1 1.8152 1 328.45017432533086 325.6343263393505 0 0 0 0 +3041 1 1.8141 1 279.8317388299831 311.7835056320073 0 0 0 0 +3058 1 1.8101 1 294.81042707994453 296.1144281913373 0 0 0 0 +3096 1 1.7985 1 298.5892880984405 293.8678822620201 0 0 0 0 +3101 1 1.7967 1 299.68698025536213 302.2295188981567 0 0 0 0 +6276 1 1.2624 1 308.1518675325013 269.3798834449048 0 0 0 0 +3133 1 1.7835 1 286.9595224248782 319.42128794079133 0 0 0 0 +1614 1 2.4831 1 267.7764842277797 299.76657712115525 0 0 0 0 +9921 1 1.0043 1 309.0448909139173 286.84012923990116 0 0 0 0 +3155 1 1.7781 1 299.5588826924031 303.8967753019421 0 0 0 0 +3162 1 1.7764 1 303.5999723333813 286.09830829085024 0 0 0 0 +3215 1 1.7613 1 278.0781614694823 296.08670884324226 0 0 0 0 +8675 1 1.0712 1 270.11526401569495 284.27979122727606 0 0 0 0 +4852 1 1.4409 1 310.7663366660929 271.46893791838204 0 0 0 0 +3339 1 1.7313 1 296.99448102487435 299.46466507561934 0 0 0 0 +3343 1 1.7303 1 305.3997629424314 330.0563446135815 0 0 0 0 +3406 1 1.7136 1 277.12551521847104 301.00556934075536 0 0 0 0 +3407 1 1.7131 1 328.18826452133413 331.45884997543106 0 0 0 0 +3421 1 1.7106 1 322.8949910300772 296.95025795191543 0 0 0 0 +3452 1 1.7035 1 293.3034812296755 287.44338155459906 0 0 0 0 +3486 1 1.6962 1 319.8395958512373 308.87428194809246 0 0 0 0 +3490 1 1.6957 1 326.4153903649846 326.86949507951505 0 0 0 0 +6536 1 1.2387 1 330.03983380184945 296.03671947373385 0 -1 0 0 +3509 1 1.6923 1 302.28990827880443 307.4419892041812 0 0 0 0 +3521 1 1.6892 1 286.0510487448984 305.04602371923744 0 0 0 0 +3526 1 1.6884 1 307.9903601933361 328.6552191505837 0 0 0 0 +3529 1 1.6874 1 278.65308327095374 300.3276864872034 0 0 0 0 +3552 1 1.6809 1 301.40971463807927 304.66362625773013 0 0 0 0 +3564 1 1.6776 1 321.0043045559631 309.9761004722053 0 0 0 0 +3567 1 1.677 1 315.47671192386116 273.9509933887226 0 0 0 0 +3575 1 1.675 1 314.6780895463763 310.3366194041551 0 0 0 0 +3588 1 1.6738 1 295.47773933814307 298.73984400633714 0 0 0 0 +3599 1 1.6713 1 298.0679603231678 292.28407156185364 0 0 0 0 +3620 1 1.6673 1 289.1033918235381 276.22665935997355 0 0 0 0 +3637 1 1.6649 1 309.2851605078543 327.60882313367557 0 0 0 0 +3647 1 1.6628 1 295.21981529065766 290.4016838411031 0 0 0 0 +3692 1 1.6501 1 280.2363336040652 276.11965317607184 0 0 0 0 +6849 1 1.2077 1 279.007098341895 268.67272959988577 0 0 0 0 +3701 1 1.646 1 324.6079559490749 290.53800550393873 0 0 0 0 +3735 1 1.6423 1 309.6322277417538 287.97996838688056 0 0 0 0 +3755 1 1.6389 1 301.14727027748734 292.4644168457283 0 0 0 0 +3929 1 1.6022 1 283.0807032464576 267.8408829470909 0 0 0 0 +3764 1 1.6373 1 293.1555762509769 297.24916337142645 0 0 0 0 +3787 1 1.6328 1 286.9567155706944 308.0422581192414 0 0 0 0 +3819 1 1.623 1 291.65367522219555 298.96308352313844 0 0 0 0 +4150 1 1.5583 1 331.24190423565807 297.9429163560214 0 -1 0 0 +3896 1 1.6088 1 323.4516332044284 311.73627874197587 0 0 0 0 +3907 1 1.6062 1 283.446409759606 301.1975884048694 0 0 0 0 +6095 1 1.2839 1 268.34545619170603 282.4888985492014 0 0 0 0 +3918 1 1.6034 1 292.11160763878934 313.4441472061426 0 0 0 0 +5564 1 1.3425 1 301.1352988938288 271.17266260689377 0 0 0 0 +3938 1 1.6007 1 285.4232564891995 295.0187021989796 0 0 0 0 +3985 1 1.5893 1 317.95075873778177 302.2522505140551 0 0 0 0 +3995 1 1.5874 1 276.2143668275316 298.0392136269101 0 0 0 0 +4128 1 1.5626 1 268.09529231262616 281.1762705884077 0 0 0 0 +4165 1 1.5557 1 292.56222378581884 292.7962520809176 0 0 0 0 +4173 1 1.5544 1 327.1236180988183 328.2640889812627 0 0 0 0 +4230 1 1.5459 1 289.20927336492446 324.05746838520116 0 0 0 0 +4242 1 1.543 1 318.8110132106773 299.9500152028704 0 0 0 0 +4256 1 1.5411 1 290.33686271316515 320.01953778355926 0 0 0 0 +4267 1 1.5382 1 290.74797389725774 322.59571481716665 0 0 0 0 +4273 1 1.5374 1 271.5389587559277 286.3580311825775 0 0 0 0 +4295 1 1.5335 1 323.7639175472222 313.2581134000386 0 0 0 0 +4296 1 1.5332 1 322.5444733720687 317.74700276030654 0 0 0 0 +4308 1 1.5313 1 317.5013704221051 304.7259106513232 0 0 0 0 +4309 1 1.5311 1 329.82463815253107 297.3937490500541 0 0 0 0 +4329 1 1.5272 1 276.9075755146171 299.42697407887556 0 0 0 0 +4349 1 1.5233 1 268.4422617398826 311.0797005295361 0 0 0 0 +4376 1 1.5189 1 274.8747833109402 298.7174396250012 0 0 0 0 +4412 1 1.5132 1 282.9601750743033 288.58676843021755 0 0 0 0 +4445 1 1.5069 1 299.65800014924685 282.4737825744597 0 0 0 0 +4473 1 1.5022 1 329.036990985869 327.1668032663735 0 0 0 0 +4475 1 1.502 1 318.92642682668674 295.45387106452756 0 0 0 0 +4515 1 1.4946 1 316.8710185815431 324.07570702761745 0 0 0 0 +4557 1 1.4879 1 319.2523660841928 310.323402285401 0 0 0 0 +4564 1 1.487 1 318.659852934671 288.0532088238063 0 0 0 0 +227 1 6.3748 1 292.9560540552824 269.8654764475325 0 0 0 0 +6529 1 1.2399 1 304.4881146915996 331.1646790744169 0 0 0 0 +4592 1 1.4817 1 313.4618943179009 306.1756083118862 0 0 0 0 +4609 1 1.4791 1 295.3171370012968 281.4628645907254 0 0 0 0 +4610 1 1.4791 1 282.4465028855657 276.90298347555967 0 0 0 0 +4690 1 1.4659 1 310.80571550316495 274.14892994551883 0 0 0 0 +6208 1 1.2707 1 331.4223199423986 269.39308688026625 0 0 0 0 +4701 1 1.4647 1 317.7108823001996 314.4255631777539 0 0 0 0 +4711 1 1.4627 1 294.28939010922517 280.33958804936344 0 0 0 0 +4736 1 1.4586 1 300.38182400337536 300.07489974194397 0 0 0 0 +4741 1 1.4576 1 299.64263470777644 292.6880842614092 0 0 0 0 +4750 1 1.4569 1 283.88998710803844 287.0456428303766 0 0 0 0 +4811 1 1.447 1 277.00483837129366 281.003058728037 0 0 0 0 +4812 1 1.4469 1 279.21291398969674 277.2647956329933 0 0 0 0 +7632 1 1.1422 1 298.82944964150437 330.18830874182197 0 0 -1 0 +4843 1 1.4426 1 300.9888513344603 301.37252358486717 0 0 0 0 +4864 1 1.4393 1 327.77453795070653 300.32285402258424 0 0 0 0 +288 1 5.831 1 269.2933388342145 303.53808403364 0 0 0 0 +4900 1 1.4324 1 315.3748107936824 305.1172351715806 0 0 0 0 +4914 1 1.4303 1 314.72096106455547 276.6038157062041 0 0 0 0 +4927 1 1.4288 1 277.1633042774304 310.78896253201015 0 0 0 0 +4932 1 1.4283 1 321.4057772591145 301.53475595638906 0 0 0 0 +4959 1 1.4249 1 295.3807161861847 309.2747661913804 0 0 0 0 +4964 1 1.4242 1 290.4655664906406 317.94713288224483 0 0 0 0 +5009 1 1.4195 1 328.7728923113416 296.3883441752612 0 0 0 0 +5013 1 1.4186 1 290.64607970402204 324.0517103288038 0 0 0 0 +5040 1 1.4151 1 290.1080218604702 311.12012473736104 0 0 0 0 +5059 1 1.4117 1 269.3834063777915 283.30514242515284 0 0 0 0 +5082 1 1.4075 1 280.44574062157807 284.4499231141625 0 0 0 0 +5107 1 1.403 1 291.6216021807018 276.8632472695604 0 0 0 0 +5127 1 1.3987 1 272.6342102322822 288.3708189010416 0 0 0 0 +5128 1 1.3987 1 288.3903012485456 313.0876644296446 0 0 0 0 +5131 1 1.3985 1 330.95183737741024 325.4559278932194 0 0 0 0 +5133 1 1.3984 1 287.38416916021197 316.1355330480215 0 0 0 0 +8280 1 1.0964 1 313.31591402230697 270.9557426455762 0 0 0 0 +5175 1 1.3919 1 314.19892585161085 285.93981198028865 0 0 0 0 +5201 1 1.3884 1 302.3150579071539 303.49659642009107 0 0 0 0 +5224 1 1.3863 1 287.44690228699073 314.4076116030365 0 0 0 0 +5250 1 1.3818 1 323.2844477137621 291.26132411326984 0 0 0 0 +8914 1 1.0569 1 294.9721280976516 274.0777752011549 0 0 0 0 +5267 1 1.3804 1 288.430147624912 291.5989158154632 0 0 0 0 +5269 1 1.3797 1 282.82198910860365 315.18975056400126 0 0 0 0 +5338 1 1.371 1 270.59825332162035 300.21965076310613 0 0 0 0 +5293 1 1.3767 1 288.4692351443963 303.5347551716224 0 0 0 0 +5325 1 1.3726 1 309.0656157200955 307.9815522258773 0 0 0 0 +5334 1 1.3716 1 287.2810280174071 304.18625250083466 0 0 0 0 +4353 1 1.5226 1 304.27524383429915 271.5738881639928 0 0 0 0 +5369 1 1.3677 1 316.69704130433246 319.880650362634 0 0 0 0 +5450 1 1.3564 1 297.1330270331877 287.25282297879477 0 0 0 0 +5457 1 1.3552 1 289.27161283856424 273.43456911897107 0 0 0 0 +245 1 6.2611 1 268.5317935486523 292.2094493797818 0 0 0 0 +5481 1 1.3526 1 317.5803342856696 306.1543607862623 0 0 0 0 +5487 1 1.3522 1 285.6981321432317 287.395956575663 0 0 0 0 +5538 1 1.3459 1 296.341708479118 296.08430235102696 0 0 0 0 +5539 1 1.3457 1 275.8659490657643 292.8347369361544 0 0 0 0 +5552 1 1.344 1 282.78310308968065 292.48429455942124 0 0 0 0 +9337 1 1.0343 1 331.0364348860412 288.99312597139686 0 -1 0 0 +5569 1 1.3418 1 303.60340100415794 281.6680642275973 0 0 0 0 +5574 1 1.341 1 329.74910877592737 321.30535895850613 0 0 0 0 +5602 1 1.3371 1 317.538986260279 313.0906377233294 0 0 0 0 +5614 1 1.3356 1 323.79965210441526 307.1594157755327 0 0 0 0 +5628 1 1.334 1 299.53800598606756 291.3617763967771 0 0 0 0 +5634 1 1.3334 1 308.31039839786666 310.5632286666136 0 0 0 0 +5667 1 1.3306 1 294.5539466187834 297.6069009019859 0 0 0 0 +5690 1 1.3269 1 280.50965604730965 279.75553822552774 0 0 0 0 +5698 1 1.3259 1 275.1843314749148 279.02428715310185 0 0 0 0 +8105 1 1.1072 1 268.4197817455575 296.947663996894 0 0 0 0 +5702 1 1.3253 1 286.76303101880535 289.8544860222617 0 0 0 0 +5705 1 1.3249 1 287.2678639687954 291.0306655396744 0 0 0 0 +5720 1 1.3242 1 310.14800890050225 286.6162088074948 0 0 0 0 +5735 1 1.3223 1 295.80673650348103 297.28188809502126 0 0 0 0 +2059 1 2.2067 1 287.70507609658074 269.5011130235232 0 0 0 0 +5746 1 1.3206 1 316.8537824818625 291.5180573398232 0 0 0 0 +5747 1 1.3206 1 312.895695273351 285.7151317813779 0 0 0 0 +5775 1 1.3166 1 322.75445236961224 294.0753896718817 0 0 0 0 +5790 1 1.3154 1 316.92081519906725 318.368238434483 0 0 0 0 +5804 1 1.3142 1 274.64413008739155 281.1586629972439 0 0 0 0 +5820 1 1.3124 1 303.42966856455774 276.366360816366 0 0 0 0 +5823 1 1.312 1 321.68012598912134 302.81658712870274 0 0 0 0 +5829 1 1.3116 1 275.31336858768753 311.4978228820697 0 0 0 0 +5840 1 1.3106 1 291.8559382356272 309.0906205217871 0 0 0 0 +5854 1 1.3095 1 290.6029346594838 277.7392092866807 0 0 0 0 +5871 1 1.3085 1 271.1639168707916 283.7807617771057 0 0 0 0 +5874 1 1.3081 1 317.0868010998468 303.376870368716 0 0 0 0 +7543 1 1.1489 1 302.06939696919477 330.4787845061471 0 0 -1 0 +5916 1 1.3032 1 296.65845505558093 309.5553491733425 0 0 0 0 +5919 1 1.3029 1 325.59528163342304 317.2462404104451 0 0 0 0 +5926 1 1.302 1 328.5168634439298 328.4459416302278 0 0 0 0 +4887 1 1.4349 1 319.614137507353 268.42753170096984 0 0 0 0 +5997 1 1.2951 1 308.3371197971725 306.86685245627115 0 0 0 0 +6007 1 1.2936 1 290.60136759056206 285.26209387544844 0 0 0 0 +3355 1 1.726 1 312.32728193180657 271.9610099070978 0 0 0 0 +6013 1 1.2933 1 293.03681068476385 312.38921994067226 0 0 0 0 +6029 1 1.2918 1 281.62898317593294 275.86797737439616 0 0 0 0 +6042 1 1.2902 1 284.62215979678945 316.9441196046017 0 0 0 0 +6056 1 1.2882 1 288.7162036697658 314.3688330127841 0 0 0 0 +4973 1 1.4235 1 289.29353316086167 268.67421655118426 0 0 0 0 +6104 1 1.283 1 297.08019826575634 293.91942750757755 0 0 0 0 +8296 1 1.0948 1 271.36986202210045 297.5247987265797 0 0 0 0 +6125 1 1.281 1 275.5797366246677 289.8648966901194 0 0 0 0 +6142 1 1.2794 1 283.7085253596399 289.72657495951967 0 0 0 0 +6148 1 1.2784 1 329.79935685078743 328.4795850457532 0 0 0 0 +6175 1 1.2749 1 325.2542952675836 326.05074176743176 0 0 0 0 +6187 1 1.2735 1 275.7403839297023 280.506587935066 0 0 0 0 +6198 1 1.2717 1 300.92114147611517 303.27747478493075 0 0 0 0 +6237 1 1.2664 1 300.68937483063246 294.82023844744185 0 0 0 0 +6239 1 1.2663 1 322.94359172229866 320.06985219706195 0 0 0 0 +6268 1 1.2633 1 313.44042305978087 311.0033535902336 0 0 0 0 +6280 1 1.2621 1 294.0157480001438 298.73039666055485 0 0 0 0 +6324 1 1.259 1 311.00851070760274 288.2422201373001 0 0 0 0 +6337 1 1.2582 1 288.81349146908576 310.9286209023281 0 0 0 0 +6338 1 1.2581 1 321.1482871759312 305.45906780437844 0 0 0 0 +6355 1 1.2564 1 301.69377770455776 306.0989347823046 0 0 0 0 +6359 1 1.2561 1 288.9991973564086 274.69048049033626 0 0 0 0 +535 1 4.2476 1 285.23007212893947 271.49714301473733 0 0 0 0 +6383 1 1.253 1 295.8155413917038 294.9311236588626 0 0 0 0 +6409 1 1.2509 1 291.3662967844106 310.2604188826527 0 0 0 0 +6442 1 1.248 1 273.5078170510178 281.6943201134218 0 0 0 0 +6448 1 1.2476 1 308.67450973368307 329.8379636686993 0 0 0 0 +6457 1 1.2469 1 303.1658333798519 279.4157595347327 0 0 0 0 +5812 1 1.3133 1 274.1622037932944 293.05860687197173 0 0 0 0 +6470 1 1.246 1 327.72155311173844 322.5911941950294 0 0 0 0 +6474 1 1.2457 1 293.3512372320782 295.8411790495672 0 0 0 0 +6482 1 1.245 1 321.7169805378779 316.6491377859979 0 0 0 0 +6484 1 1.245 1 328.52120670619695 321.69204044410134 0 0 0 0 +6509 1 1.2421 1 306.48159008820727 306.32723218823156 0 0 0 0 +6639 1 1.2286 1 302.4175472453488 271.45862324275595 0 0 0 0 +6827 1 1.2099 1 297.9628602089322 330.9568889099327 0 0 -1 0 +1142 1 2.9693 1 284.73789525463843 275.0185174101411 0 0 0 0 +6572 1 1.2352 1 327.4710130636376 293.58236954832086 0 0 0 0 +6578 1 1.2348 1 274.83477655217274 304.60025570730556 0 0 0 0 +7842 1 1.1264 1 269.8915870557819 299.1950652583283 0 0 0 0 +6612 1 1.2308 1 320.25834799808587 295.42094742064955 0 0 0 0 +6627 1 1.2292 1 312.55495743613386 319.5812566738636 0 0 0 0 +6633 1 1.2288 1 326.85622949653424 301.27360064527215 0 0 0 0 +3140 1 1.7811 1 318.92767083063956 269.83813908817984 0 0 0 0 +6653 1 1.2266 1 328.7483901911215 320.52331253516013 0 0 0 0 +1770 1 2.3726 1 297.29107312516084 269.32370356362907 0 0 0 0 +6667 1 1.2252 1 318.45073123739326 289.3533186698571 0 0 0 0 +6675 1 1.2247 1 288.00514402736604 290.01426351395145 0 0 0 0 +6680 1 1.2241 1 276.22322734430463 309.8905093918495 0 0 0 0 +6703 1 1.2221 1 273.573428124076 280.4795029054828 0 0 0 0 +6706 1 1.2216 1 297.80715152016165 309.1227088507423 0 0 0 0 +6740 1 1.219 1 296.7331213727478 298.0719148618869 0 0 0 0 +6742 1 1.2188 1 320.9761800622123 300.28837049593875 0 0 0 0 +8917 1 1.0567 1 276.5183065438965 311.88843199839016 0 0 0 0 +9877 1 1.006 1 318.2631742852471 301.0443221367137 0 0 0 0 +6781 1 1.2152 1 323.398673135554 295.11898408730065 0 0 0 0 +9962 1 1.0024 1 276.35427741666325 296.77467365921916 0 0 0 0 +6800 1 1.2126 1 283.733920636699 316.0767613426427 0 0 0 0 +6823 1 1.2102 1 287.0682525980053 273.49073241407297 0 0 0 0 +9941 1 1.0033 1 330.3801627370694 292.52426230340797 0 0 0 0 +2116 1 2.1719 1 296.6136895057091 271.92632833919293 0 0 0 0 +6850 1 1.2075 1 308.1215833517696 286.3489173271943 0 0 0 0 +1233 1 2.8731 1 285.734205197436 267.9913312668341 0 0 0 0 +6950 1 1.1982 1 303.30367081837494 304.48858858065455 0 0 0 0 +6971 1 1.1965 1 326.002273642716 290.404109259518 0 0 0 0 +6998 1 1.1944 1 291.47224737057144 314.65881955881 0 0 0 0 +6841 1 1.2084 1 300.9487275192527 330.74752335417725 0 0 0 0 +2359 1 2.0624 1 293.70118340423255 274.93758628408546 0 0 0 0 +7098 1 1.1862 1 288.0717250704444 311.8518002013765 0 0 0 0 +7105 1 1.1853 1 300.54561925667247 290.67995505645973 0 0 0 0 +7151 1 1.1823 1 285.65020275811565 307.5837054832688 0 0 0 0 +7166 1 1.1807 1 289.32298817878603 301.40805667106366 0 0 0 0 +7189 1 1.179 1 286.05823414164746 290.84698170659453 0 0 0 0 +7216 1 1.1766 1 280.5949456778628 283.23388876452054 0 0 0 0 +7223 1 1.1763 1 279.68539572998884 294.540074760579 0 0 0 0 +9440 1 1.0287 1 268.7771216034551 288.59698693498507 0 0 0 0 +7245 1 1.1742 1 322.1411272699808 300.5291056716044 0 0 0 0 +7255 1 1.1737 1 269.72451311503306 311.155860955179 0 0 0 0 +7312 1 1.1696 1 279.5839100264518 287.98042926717494 0 0 0 0 +7320 1 1.1687 1 278.4115500368492 278.24616176749936 0 0 0 0 +7330 1 1.1681 1 316.0501392578858 310.1644101765987 0 0 0 0 +2023 1 2.2246 1 313.81402175073094 275.09748061099964 0 0 0 0 +7360 1 1.1648 1 303.5086406815922 287.5527483528369 0 0 0 0 +7394 1 1.1618 1 289.6187584535243 326.22766333617824 0 0 0 0 +7403 1 1.1611 1 299.0521642238466 305.1696049892116 0 0 0 0 +7470 1 1.1552 1 304.81447895887806 285.3447789230548 0 0 0 0 +7160 1 1.1813 1 295.7123058752509 273.289270309202 0 0 0 0 +7502 1 1.1521 1 302.43799879130677 287.2389190358835 0 0 0 0 +7507 1 1.1519 1 280.4421799183274 288.7149796643 0 0 0 0 +7517 1 1.1513 1 300.41129086901446 298.7902394217043 0 0 0 0 +7550 1 1.1482 1 319.34199805576526 320.5679004552328 0 0 0 0 +7556 1 1.1478 1 295.9057770446108 293.7536422640251 0 0 0 0 +7579 1 1.1455 1 289.62764562139 318.8886771059111 0 0 0 0 +6816 1 1.2106 1 327.14507598418345 267.85273584544194 0 0 0 0 +8690 1 1.0705 1 299.92693099053616 330.3086611277557 0 0 -1 0 +7599 1 1.144 1 314.433149578654 289.5436944470321 0 0 0 0 +7601 1 1.1439 1 292.66551587626674 276.15877663082824 0 0 0 0 +7616 1 1.1431 1 282.82581989428036 275.6843660046143 0 0 0 0 +7618 1 1.1431 1 289.9783856393296 325.14146504995114 0 0 0 0 +7638 1 1.1413 1 275.6379345147717 299.7886976710478 0 0 0 0 +5586 1 1.339 1 290.25542805592085 272.5639180659273 0 0 0 0 +7769 1 1.1309 1 294.06863754320324 281.5447656070524 0 0 0 0 +7836 1 1.1266 1 285.9639009401437 288.99023004753286 0 0 0 0 +7841 1 1.1265 1 289.1975805316431 312.0300057360282 0 0 0 0 +478 1 4.5142 1 273.7659002552416 295.9130414013715 0 0 0 0 +7859 1 1.124 1 330.2243489758858 298.67505492494394 0 0 0 0 +7865 1 1.1235 1 316.26791316045257 304.2403973647199 0 0 0 0 +7866 1 1.1235 1 300.03221597774325 293.8780251681774 0 0 0 0 +7880 1 1.1228 1 291.7625030759099 324.5510033664959 0 0 0 0 +7885 1 1.1223 1 300.16967910784894 305.1657474726611 0 0 0 0 +7910 1 1.1202 1 277.28227578604555 297.231628457008 0 0 0 0 +7961 1 1.1172 1 329.82772565301195 325.93422501859396 0 0 0 0 +8005 1 1.1142 1 277.5107961064453 298.2859465124826 0 0 0 0 +6716 1 1.2207 1 289.2211184655784 270.1991090704567 0 0 0 0 +8069 1 1.11 1 306.65067936699694 329.31135141998794 0 0 0 0 +8071 1 1.1097 1 309.4326731276567 309.62424850000787 0 0 0 0 +8076 1 1.1088 1 311.2101752804958 287.08510131939454 0 0 0 0 +8077 1 1.1087 1 291.879860776125 281.0686174891615 0 0 0 0 +5150 1 1.3961 1 299.46351824231516 270.4833312761717 0 0 0 0 +1890 1 2.3056 1 271.3625503526368 267.572050709023 0 0 0 0 +8048 1 1.1114 1 268.7448601054307 271.2860069044192 0 0 0 0 +8165 1 1.1034 1 302.9245543040145 288.4943772549477 0 0 0 0 +8169 1 1.1028 1 302.491645092332 280.41130646684996 0 0 0 0 +8175 1 1.1027 1 301.697520918953 302.420017798919 0 0 0 0 +8190 1 1.1019 1 285.770541596505 293.749785150571 0 0 0 0 +8199 1 1.1016 1 293.0860722950799 326.55564668637555 0 0 0 0 +8220 1 1.1003 1 279.7189317524309 293.42969530299837 0 0 0 0 +8237 1 1.099 1 288.25143488521456 299.0928122658045 0 0 0 0 +8248 1 1.0978 1 320.7262584262073 317.1602739813883 0 0 0 0 +3504 1 1.6931 1 269.53024421700775 269.87317496658096 0 0 0 0 +8324 1 1.0926 1 299.40897525988413 299.19559609163235 0 0 0 0 +8337 1 1.0916 1 324.57553341206204 322.6996408218065 0 0 0 0 +8338 1 1.0912 1 303.6057084345883 330.3555667258767 0 0 0 0 +8358 1 1.0902 1 291.9819161824481 284.8996463628991 0 0 0 0 +2778 1 1.9025 1 288.1139150360775 272.3573625004442 0 0 0 0 +8382 1 1.0883 1 317.64526782879625 290.11804962168253 0 0 0 0 +8386 1 1.0882 1 288.663438866097 302.32278331286176 0 0 0 0 +8392 1 1.0879 1 327.7851490946732 326.9192002107631 0 0 0 0 +8404 1 1.0875 1 290.40989013021846 276.5910555578619 0 0 0 0 +8408 1 1.0871 1 274.6073594411369 280.01901110267335 0 0 0 0 +8418 1 1.0865 1 322.378005868473 290.0072273386439 0 0 0 0 +8425 1 1.0861 1 291.21993825200695 315.7397813763321 0 0 0 0 +9998 1 1 1 285.2844979101963 289.8162455634802 0 0 0 0 +8464 1 1.0835 1 294.9782743192794 286.6524708729216 0 0 0 0 +8508 1 1.0804 1 285.755594968674 296.2233098887037 0 0 0 0 +8517 1 1.08 1 295.99396294766353 286.9272251097101 0 0 0 0 +8539 1 1.0787 1 285.7205664673287 308.70839849741304 0 0 0 0 +8551 1 1.078 1 310.26431979632457 326.6271551555568 0 0 0 0 +8554 1 1.0777 1 307.3717334859307 274.7089860253987 0 0 0 0 +8558 1 1.0775 1 320.950295057247 308.075008906026 0 0 0 0 +6791 1 1.2132 1 271.24932741116487 294.68130579733366 0 0 0 0 +8574 1 1.0767 1 320.50255658207834 289.0415209211587 0 0 0 0 +8627 1 1.0732 1 309.4982677644477 306.85488672165644 0 0 0 0 +8631 1 1.073 1 301.1202169435685 293.7760718936381 0 0 0 0 +8632 1 1.073 1 320.73085669735383 316.0876257955362 0 0 0 0 +8634 1 1.0728 1 321.4886483568587 289.4285309004024 0 0 0 0 +8642 1 1.0726 1 282.52273044915216 298.73794463817836 0 0 0 0 +8664 1 1.0716 1 322.97652854450513 329.4770209209808 0 0 0 0 +8668 1 1.0713 1 323.68970656159024 318.35670850655106 0 0 0 0 +8331 1 1.0922 1 292.9887561003417 273.56067134327463 0 0 0 0 +8714 1 1.0691 1 324.52654577777355 317.72607162457814 0 0 0 0 +8722 1 1.0685 1 296.93709919988646 308.41584532394904 0 0 0 0 +8765 1 1.0654 1 304.3176189275474 308.67437917349173 0 0 0 0 +8798 1 1.0635 1 292.8951866842318 298.55320344726175 0 0 0 0 +8839 1 1.0609 1 311.34820684516444 314.4645752614596 0 0 0 0 +8852 1 1.0601 1 285.83231809698907 306.46713682689125 0 0 0 0 +8899 1 1.0574 1 304.6692234731236 276.8333573918068 0 0 0 0 +8573 1 1.0767 1 269.42086748233265 282.0762324022116 0 0 0 0 +8929 1 1.0561 1 305.85544488776287 285.13503978221644 0 0 0 0 +8936 1 1.0559 1 281.7541101496746 314.60867995864146 0 0 0 0 +8949 1 1.0552 1 302.5663800532375 305.34928422991635 0 0 0 0 +7200 1 1.178 1 306.4876564383957 274.08536251203157 0 0 0 0 +9037 1 1.0506 1 319.4210371495012 321.62326820426495 0 0 0 0 +5348 1 1.3701 1 283.9202417976071 269.0421198369393 0 0 0 0 +9046 1 1.0501 1 322.8457797367954 318.96466286665594 0 0 0 0 +9084 1 1.048 1 313.7117859819462 309.37908897735355 0 0 0 0 +7354 1 1.1653 1 302.96579185488656 275.2443217495615 0 0 0 0 +9107 1 1.0469 1 312.30015025001967 313.947703194086 0 0 0 0 +9173 1 1.0432 1 296.9506540388659 295.06497694455607 0 0 0 0 +9184 1 1.0429 1 317.14883259298904 322.9283428709808 0 0 0 0 +9189 1 1.0425 1 321.89971581377847 308.50127834594855 0 0 0 0 +9244 1 1.0397 1 278.17016605678265 299.09527024039437 0 0 0 0 +9246 1 1.0396 1 275.62666386803335 302.88940035870564 0 0 0 0 +9251 1 1.0394 1 279.31964893605385 295.5608329153889 0 0 0 0 +9256 1 1.0391 1 312.60596506196066 324.88898926842586 0 0 0 0 +9269 1 1.0382 1 319.0137807215685 322.55024674628334 0 0 0 0 +9274 1 1.038 1 317.9184288174888 307.59482064541265 0 0 0 0 +9278 1 1.0379 1 327.8467876027107 297.440485655086 0 0 0 0 +9294 1 1.0369 1 293.7982792289387 327.2759028670373 0 0 0 0 +4995 1 1.4209 1 276.6252832401305 295.6168050682199 0 0 0 0 +9881 1 1.0058 1 268.8293718349333 308.82688889185755 0 0 0 0 +8417 1 1.0865 1 330.4589507778479 291.341262484848 0 -1 0 0 +9843 1 1.0081 1 298.2620513439041 299.0705778844626 0 0 0 0 +9465 1 1.0276 1 326.0062088484218 329.40862386172074 0 0 0 0 +9483 1 1.0268 1 278.0906413048545 281.548911964466 0 0 0 0 +9521 1 1.0246 1 306.4487262115722 275.1712300149545 0 0 0 0 +9535 1 1.0241 1 301.6743381711111 308.59645775814374 0 0 0 0 +9547 1 1.0234 1 293.59016156359525 277.3525171311747 0 0 0 0 +9549 1 1.0233 1 323.72647168988277 308.3122358045523 0 0 0 0 +9572 1 1.0219 1 327.1375708855928 325.8291066461433 0 0 0 0 +9596 1 1.0211 1 303.0708165117743 308.5634211768136 0 0 0 0 +9618 1 1.0198 1 293.69280194667726 276.4073993836222 0 0 0 0 +9651 1 1.0179 1 295.48937585739344 310.4263697357301 0 0 0 0 +9665 1 1.0173 1 294.5980118386068 282.46248296309244 0 0 0 0 +9669 1 1.017 1 303.5374559852768 280.4917833133128 0 0 0 0 +9671 1 1.017 1 274.7689022748435 305.6621627392561 0 0 0 0 +9685 1 1.0163 1 308.39225324001785 287.5994222095582 0 0 0 0 +721 1 3.7475 1 281.585670576376 270.0371631435203 0 0 0 0 +9716 1 1.0144 1 279.3915137442507 278.67100138395756 0 0 0 0 +9742 1 1.013 1 291.15135051930713 284.280873425298 0 0 0 0 +9761 1 1.012 1 323.3952039161583 290.06863233694645 0 0 0 0 +9762 1 1.0119 1 319.4840503469528 288.98205313296694 0 0 0 0 +9795 1 1.01 1 312.9518503429167 310.0458439754074 0 0 0 0 +9808 1 1.0096 1 282.2433953042789 300.7753295506881 0 0 0 0 +9813 1 1.0094 1 282.46874431996935 293.58626021930974 0 0 0 0 +9814 1 1.0093 1 316.6855027839267 315.0681443083337 0 0 0 0 +3606 1 1.6696 1 317.9335856411083 268.43127287069825 0 0 0 0 +3141 1 1.781 1 273.29251518686766 298.91499310018656 0 0 0 0 +8178 1 1.1026 1 275.7780620306383 294.03044731019554 0 0 0 0 +8567 1 1.077 1 308.89740864575987 270.2751893415189 0 0 0 0 +6145 1 1.2792 1 274.3302146296688 300.0050280559064 0 0 0 0 +9015 1 1.0518 1 320.2396910373337 269.44692218526194 0 0 0 0 +4386 1 1.5169 1 273.79328333072516 279.0388008739772 0 0 0 0 +2932 1 1.8521 1 267.7060998181395 309.636569886797 0 0 0 0 +6550 1 1.2378 1 271.54873273080744 284.98197284107994 0 0 0 0 +4503 1 1.4966 1 311.8469955091273 270.50749982173505 0 0 0 0 +3904 1 1.6065 1 330.0443422585581 289.7741540474186 0 -1 0 0 +4717 1 1.461 1 272.7054204950278 304.705222162708 0 0 0 0 +5257 1 1.3812 1 311.08871163625236 272.8059987258776 0 0 0 0 +7096 1 1.1862 1 321.14122541498693 268.87891774986684 0 0 0 0 +3256 1 1.7519 1 274.8452514925692 291.7178226848727 0 0 0 0 +1333 1 2.7551 1 303.0716544550975 273.31918918100274 0 0 0 0 +3846 1 1.6181 1 269.0104658875264 298.1506737799366 0 0 0 0 +5773 1 1.317 1 312.21293667993484 273.4808906330435 0 0 0 0 +6603 1 1.2312 1 270.4161030013289 298.150959724211 0 0 0 0 +4384 1 1.5172 1 271.4133935332475 299.0856947911487 0 0 0 0 +2220 1 2.128 1 313.835647332881 273.03153078901846 0 0 0 0 +9090 1 1.0475 1 288.38151791081424 270.9430315989523 0 0 0 0 +1315 1 2.7729 1 329.36737152278977 294.1540206559576 0 -1 0 0 +6594 1 1.2321 1 316.5230534775088 268.0644916199356 0 0 0 0 +5164 1 1.3932 1 272.00787766629344 293.64456316764006 0 0 0 0 +1286 1 2.8048 1 270.6322449370896 288.29294013723694 0 0 0 0 +4761 1 1.4544 1 267.76418529589813 279.78684691897774 0 0 0 0 +9377 1 1.0321 1 288.1608002196957 273.79940305761613 0 0 0 0 +6573 1 1.2352 1 298.1728445969669 272.453711428441 0 0 0 0 +433 1 4.7274 1 270.7697681905456 279.5482017631785 0 0 0 0 +9094 1 1.0472 1 272.1847277881295 298.12800946805186 0 0 0 0 +2199 1 2.139 1 299.7859554560308 272.17353454604245 0 0 0 0 +1655 1 2.4509 1 270.2839799839281 296.19073468507025 0 0 0 0 +7207 1 1.1776 1 268.78715690208 284.41073595987444 0 0 0 0 +7875 1 1.1231 1 270.3129424278769 276.71797596737457 0 0 0 0 +645 1 3.9056 1 267.7396462634561 273.8990343041114 0 0 0 0 +9972 1 1.002 1 297.04476185346306 267.66450126529196 0 0 0 0 +2113 1 2.1756 1 299.3587526011896 331.73257857227105 0 0 -1 0 +1412 1 2.6674 1 322.41215806781145 267.5135579031428 0 0 0 0 +5701 1 1.3258 1 281.6737865029489 267.51597174388394 0 0 0 0 +5800 1 1.3147 1 267.4584978998222 296.2230365942088 0 0 0 0 + +Velocities + +5 -0.00012417998665753156 -0.00029141760998495304 0 0 0 1.6343804586990585e-05 +16 0.0007359511619005587 8.933469525915337e-05 0 0 0 -1.7699905117983663e-05 +17 -2.8468298749551508e-05 0.0007949046353702895 0 0 0 1.736297821765948e-05 +37 0.0008017400118646591 -0.00019848144056774773 0 0 0 2.16744891728666e-05 +8263 0.0008709900534737956 -0.0003686022931326745 0 0 0 0.0002295045842490013 +3384 -3.791200936136678e-05 0.000249954667374433 0 0 0 8.997107346252381e-05 +1246 0.0007681111890009298 0.0001195123703474323 0 0 0 8.086613359605036e-06 +163 0.0008466077592702192 0.00012744221541218846 0 0 0 8.931643572790759e-06 +166 -2.0234534295823713e-05 0.00029068051536924156 0 0 0 3.955600957209059e-05 +168 0.0004003003243105218 0.0006640037404213702 0 0 0 4.5541936150805275e-05 +6557 0.00037586833050582883 -0.0005539463979590972 0 0 0 -8.270332616148634e-06 +208 0.0005981430611109324 0.00029226511230918256 0 0 0 4.476420356088689e-05 +336 0.0006570655240658174 0.0002902332350600009 0 0 0 1.1778439149089416e-05 +346 0.0005148149024566027 -0.0002503069854309287 0 0 0 4.399237768098655e-05 +5513 0.0008504585119106888 0.000161316869332176 0 0 0 6.109744357254282e-06 +412 0.00044909182788611864 -0.0003869499841049481 0 0 0 7.407349571228009e-06 +439 0.0006104401910853035 0.00040484861184905316 0 0 0 2.1390825441339924e-05 +511 0.0007882426489623111 0.000194037116774098 0 0 0 9.709463695423973e-06 +527 0.0007263419657309393 0.00010611967998910141 0 0 0 2.1695027152015657e-05 +4272 0.0007477048352219795 0.00015705527307499582 0 0 0 1.1708775487430856e-05 +543 0.0004412412594801884 -0.0001960345118231465 0 0 0 5.2234276556182585e-05 +562 -0.00022157447467967064 0.0005667941843011297 0 0 0 1.0159684938113346e-05 +567 0.0005857011713697167 -0.00036161415137655003 0 0 0 3.858435895363152e-05 +569 0.0006103063099110349 8.000652208715596e-05 0 0 0 2.8199779238500964e-05 +600 -0.00011334708981895056 0.0003246905210953497 0 0 0 2.5751832593137058e-05 +5108 0.0006008785930886118 0.00041164421919814083 0 0 0 -2.5152176243062247e-05 +617 -0.00020055384925351846 0.00039576660954439817 0 0 0 3.613248737531427e-05 +629 0.0004876592384033763 0.0005419749781720093 0 0 0 2.961588125160732e-06 +632 0.000726707552613481 0.0001741623317886823 0 0 0 1.3142185132827998e-05 +675 0.0005667449382745046 0.0003672077541732524 0 0 0 1.1456096881707235e-05 +7224 -0.0004015964120823751 0.0005409282572537015 0 0 0 4.7070206717321234e-05 +781 0.0006983200901526439 0.00028665582518894303 0 0 0 6.739743563611838e-06 +816 0.000736657796296027 5.9471665098931266e-05 0 0 0 9.299291452252408e-05 +818 0.000529373426801343 0.0004231262815716663 0 0 0 2.1731015756645127e-05 +826 0.0007104931591282911 9.875494623647273e-05 0 0 0 1.5400601079090657e-05 +839 0.0007151596143301856 0.0001823468866931466 0 0 0 4.412104234523124e-05 +844 0.0006511411492781666 0.00038297598364055857 0 0 0 1.5850703425835975e-06 +848 0.0008186160281169509 7.861346118680912e-05 0 0 0 2.8522263118232144e-05 +917 0.0007737222528020727 0.00013568297296358338 0 0 0 1.0001409452641893e-05 +924 0.0007204705155721201 0.0002828174621260678 0 0 0 2.9688109284072627e-05 +936 0.000687805579938305 1.0222101692558357e-05 0 0 0 0.00012838215666933415 +980 0.0005856883316734896 0.0004886071522213606 0 0 0 1.8274672577440185e-05 +3643 0.0008842339057220858 4.800869486468524e-05 0 0 0 5.321186774229809e-06 +7408 -0.0007387269401208638 0.000397406447410644 0 0 0 -0.001972321751362161 +731 0.000879194245540702 -0.0002381435854605815 0 0 0 3.659816493985566e-05 +9783 0.00027171374727639363 0.00045996543500863236 0 0 0 8.522221953738243e-06 +1098 0.0007785959303468055 0.00017474294283747742 0 0 0 9.218413146195908e-06 +1130 0.0007409643696295253 0.00013218000377687746 0 0 0 -2.0366337670972822e-05 +1146 0.0006003010948020885 0.0003630529185982137 0 0 0 1.0306972398647583e-05 +1205 0.0005918439180880698 0.00026969416144361326 0 0 0 9.878451844887095e-05 +1238 0.0008196323700546627 0.000180265626516267 0 0 0 5.339342304904679e-06 +1253 0.00044824467605156785 0.0002626493693035469 0 0 0 0.00014658126673362787 +1292 0.0006429932556607571 0.0004166062650245665 0 0 0 9.247442238940234e-07 +1297 0.00048799339692399653 -0.0004929610725395686 0 0 0 3.284958798182523e-05 +1304 -0.000257225344185894 0.0007071023961315214 0 0 0 4.095566906081553e-06 +1311 0.00043010504194804477 0.00036583421434903727 0 0 0 0.0002664801794169661 +1335 0.0003113174921469597 0.00018383927827203466 0 0 0 3.8923261170327565e-05 +1343 0.0007279251551914915 0.00027063713803437023 0 0 0 2.140035404520772e-05 +1383 0.0005407254947221224 -0.0004561791959197118 0 0 0 1.5601409704701814e-05 +1387 0.00011504231031246916 0.0002411909033784421 0 0 0 3.273582621517936e-05 +1391 0.0007224956537165466 0.0001219339142158638 0 0 0 9.19755829633712e-06 +1452 0.0008270803125465119 0.00016081622816002477 0 0 0 9.943111567782512e-06 +1475 0.0004618133582975688 0.00023783291629330056 0 0 0 -0.00012774984191892645 +1513 0.0008119015278173303 0.00010617290419178466 0 0 0 9.460469906818798e-06 +3866 0.0009262729611378125 -2.0167288038894502e-05 0 0 0 8.000251733783503e-06 +1554 0.0006678479809117641 7.683972052349256e-05 0 0 0 2.900588648160719e-05 +4832 0.0008967847448344716 0.00013326071639484368 0 0 0 -1.8940904527522292e-05 +1686 0.000422219720963765 -0.00047279787657533706 0 0 0 -4.678166799042672e-06 +977 0.0008559165520066754 -0.0002417071060744203 0 0 0 3.0496339030248727e-05 +6789 0.0008849418606364291 0.0001486265067359263 0 0 0 2.3740833106522818e-05 +1802 -0.00029730615176183693 0.0008411772545067452 0 0 0 2.3303937882163798e-05 +4270 0.0011382895878371152 0.0005236426356871942 0 0 0 -0.0075318036342280435 +6333 -0.0002706151354687403 0.0007215796866034569 0 0 0 3.228458835010128e-05 +1865 0.0007598884697859645 0.00013637910194170524 0 0 0 -5.88753210195816e-06 +1886 0.0006768945955732981 0.00015789285426675548 0 0 0 7.564641053881528e-06 +7839 0.0008721915291221213 2.4357778752962958e-05 0 0 0 -3.17522083575106e-05 +1904 0.00017394267836624787 0.00011060549100510822 0 0 0 -3.6691699186774564e-06 +1932 0.0008444546993164585 0.0001659038526368198 0 0 0 6.115256660123979e-06 +1989 0.0007453785518543271 0.00015229978285626487 0 0 0 1.948708190556594e-05 +2051 0.00044335512485922955 0.0005741151952623639 0 0 0 1.5086257621497464e-05 +9606 0.0007624405243443362 9.952205429843627e-05 0 0 0 3.2275684338310336e-05 +2181 -0.0001620259461628499 0.000456665610905818 0 0 0 3.297664060327942e-05 +2205 0.0002582144399057106 0.0007324256601609455 0 0 0 0.00019797705552933244 +2244 0.0007603743789326082 0.0001388999884087249 0 0 0 6.116345529477304e-06 +1803 0.0007901825341809726 0.0002586171512735805 0 0 0 1.207557955897859e-05 +2271 0.0005682975491924035 0.0004529211959565552 0 0 0 1.9750654439202878e-05 +2286 0.000799834725511199 0.0001476978893009136 0 0 0 7.047325319106072e-06 +2313 3.7082350461413784e-05 0.000377410200882102 0 0 0 4.46486013763775e-05 +7604 0.00036823152513022783 0.001652763342015833 0 0 0 -0.0007899428469785048 +2370 0.0007802940643647758 0.00014876347844764302 0 0 0 1.5526402607855197e-05 +8013 0.0007108862934889157 -0.0004579763089689821 0 0 0 3.922252157410958e-05 +2408 0.00026141367167206687 0.0003866199771420388 0 0 0 0.00023759248068491842 +2529 0.0003979687307925237 -0.0005150714729796875 0 0 0 6.274214089118587e-05 +2545 0.00022100268839061617 0.000235911134033053 0 0 0 6.469892545502808e-05 +6831 -0.00043011584119667586 0.0008261947699417815 0 0 0 1.8532832881436966e-05 +2561 0.0003612729927363394 0.0005811701544868687 0 0 0 0.0001621602774122107 +2600 0.0009158783611418127 0.00014112661786932687 0 0 0 8.37166156464317e-06 +2629 0.0002482047415574426 0.0002556174062194831 0 0 0 -2.4519540166500505e-05 +2631 0.0003965530561252435 -0.000109281270545824 0 0 0 -0.00012082384470456765 +2671 0.00045531558188622364 0.00047745220598761825 0 0 0 7.17620164603011e-05 +9959 -0.0008511524005744683 -0.0007118708270573892 0 0 0 0.0014197509039179923 +7436 0.0007469216444012435 -0.0004743085834236662 0 0 0 -3.079808832668373e-05 +9538 0.00018208778760727074 4.480160092576907e-06 0 0 0 -4.301589085655808e-05 +2753 0.0006815395817520436 0.00018530726510338546 0 0 0 1.1365678246662366e-05 +2767 -0.00013025384573092202 0.0004717139008503366 0 0 0 5.996294943272945e-05 +2775 -0.0002440519689533724 0.0005465981673468871 0 0 0 2.0946169192555608e-05 +2797 0.0007979487765864077 0.00021082174547009693 0 0 0 -1.4692414495135508e-05 +875 -0.00020071283238417802 0.00028524524070362885 0 0 0 2.680189113881457e-05 +2836 -0.002791040335342821 0.0001243030042653458 0 0 0 -0.0006616205649236572 +2843 0.0006749473616569897 0.0002650992651500807 0 0 0 2.579529506292385e-05 +6976 0.0008919450475278574 -4.226990062781839e-05 0 0 0 3.975120377425713e-05 +2887 0.0007276537027494955 0.0001021468352416208 0 0 0 1.2573163479757031e-05 +3176 -0.00026119274347094994 0.0005880659710714003 0 0 0 5.1965787748396365e-06 +3012 0.0007133208541131221 0.00016146380117367632 0 0 0 -5.436863938370561e-05 +3020 0.000732101108974942 0.00013690611539167327 0 0 0 3.2592598523513834e-05 +5165 0.0006661906062345495 -0.0004421881033571901 0 0 0 3.2067809326491854e-05 +3060 0.000707981363399091 0.0001680405766050558 0 0 0 0.00010520479431673446 +194 0.0008253030591983243 0.0001214686558330837 0 0 0 1.8264633596470947e-05 +3114 0.000706715287898508 9.323994173115514e-05 0 0 0 5.072879608682786e-05 +3151 0.0006743459045124428 0.00036780839207137093 0 0 0 -2.2475288897789315e-05 +3175 0.00011005138499391244 0.00014780267413203347 0 0 0 9.026037542327798e-05 +3912 -0.00022557646348694954 0.00028070026254168484 0 0 0 2.3296954916508228e-05 +3218 0.0002394033710500324 0.00037506807866998935 0 0 0 0.00011253454430548536 +3219 0.0004127342950698353 0.0005339509488823035 0 0 0 -1.7926516093821248e-05 +3258 0.0007772198324467926 0.00020170850297679868 0 0 0 1.8638449427364566e-05 +3285 0.00018581309911237822 0.0007369078595904669 0 0 0 -0.00017856202659967624 +3295 0.0008118680947270485 0.0001927416976654781 0 0 0 1.1894296732391185e-05 +3303 -0.00024671836044517684 0.0004865153125280717 0 0 0 1.9669284034016587e-05 +3315 0.0004913816579874367 -0.0003580847678359619 0 0 0 4.0180244622210466e-05 +3336 0.0006723227493555391 0.0003032455735055176 0 0 0 2.2519654395507115e-05 +3351 0.00011467320056643095 0.0004123323736457098 0 0 0 6.886952461931901e-05 +3370 0.0007503911475859156 0.00012702399999565245 0 0 0 2.5618799980171863e-05 +3396 0.0004523568202106841 -0.0005290615358701366 0 0 0 1.3755549417866733e-05 +3409 0.0007285344347064195 6.349773806853511e-05 0 0 0 -2.8152840558051034e-05 +3418 0.0005454165891843657 0.00046654356445625846 0 0 0 1.8834123507528433e-05 +3433 0.0006627769562371484 9.95076481370394e-05 0 0 0 -2.787603550022256e-05 +3855 0.0008977275862517097 0.00012742414974596723 0 0 0 4.418198340630717e-05 +3439 0.00027626379847161127 0.00044347582461156055 0 0 0 1.3395803029422472e-05 +3440 0.0006855398978214939 0.0003174436990489609 0 0 0 2.6813043350130044e-05 +2570 0.0009054055003105011 -8.727082982410492e-05 0 0 0 -5.997814046550352e-06 +3472 0.0007018635115670664 0.00025527554978064425 0 0 0 5.123082142527845e-05 +3475 0.0006833183903309935 9.503282959923398e-05 0 0 0 -0.00019142823489213805 +1489 -0.0002519274056354578 0.00039792973113802663 0 0 0 2.5482371743429443e-05 +3549 0.0004318910523050735 0.0004877083587523216 0 0 0 0.00014241617906421414 +3590 0.00018233286673107726 9.657378554608101e-05 0 0 0 -7.591189680542346e-05 +3604 0.0007302873298390531 7.98280527849746e-05 0 0 0 6.570210336585327e-05 +3788 0.0009283412674716073 -0.00033909806671142 0 0 0 -6.88636452598237e-05 +9552 0.0005782199735399112 -0.00028792852709563413 0 0 0 -2.2842384448722087e-05 +884 0.0007674902087338189 -0.0004824326447565265 0 0 0 -2.9107894582831492e-05 +3723 0.0004618499862133966 -0.0002487674161425121 0 0 0 -5.5170164540538355e-05 +4926 0.0008213067889669292 -0.00016043842734171133 0 0 0 1.1106009023631856e-05 +3806 0.0007657769764984291 0.00011512295524759424 0 0 0 5.138178554479745e-05 +3889 0.0007072398005392387 0.00037716961515018443 0 0 0 3.381159229176201e-05 +3893 -0.00024106734184428536 0.0006054696680049448 0 0 0 4.765070937142501e-05 +3976 0.00022743985986970798 0.0008441287255362256 0 0 0 6.018358258095772e-05 +3990 0.0007983305932166339 0.00015811780497996468 0 0 0 1.1641554923200182e-05 +9799 0.000875365322743026 -0.00022093851610326476 0 0 0 -4.727350289174485e-05 +4024 0.0006040210140699195 0.0003692978780659819 0 0 0 2.3470291202431716e-05 +7643 -0.0003671675477253131 0.000458782759127516 0 0 0 -5.5889559997178675e-06 +4050 0.00020472294783206688 0.00019451763725817825 0 0 0 7.233836367191959e-05 +4137 0.0009059957842666277 -3.5477086979459444e-06 0 0 0 3.461477893859076e-05 +7332 -6.792118250592762e-05 0.00026548182727382093 0 0 0 -9.230975852527634e-05 +4100 0.00027933568958556033 0.0007896234731622973 0 0 0 7.877795493695667e-05 +4107 -0.00027442377331342185 0.0005752080588714397 0 0 0 2.304630170810307e-05 +6600 0.0009677269181715142 -0.00014506870579552133 0 0 0 -5.441913974366511e-05 +6043 -0.0002031120128337498 0.0003124958749019877 0 0 0 1.954164950385645e-05 +4138 0.0006139058720544949 0.0002645531217417697 0 0 0 0.00044256083864974757 +4143 0.0007788150135428133 0.00012051090396811897 0 0 0 1.3920109352139727e-05 +4180 -2.0247372914953303e-05 -0.00015573880633024437 0 0 0 0.0005106749862632164 +4190 0.0006968277407328886 0.00014752689865325891 0 0 0 7.088811967940593e-05 +4252 0.0004101748840363988 -0.00026623861100565305 0 0 0 6.653220064004088e-05 +5554 -0.0006539359243776037 -0.0013403274586339838 0 0 0 -0.00020727294016664854 +4271 0.0006583830890704905 4.530262218579706e-05 0 0 0 0.0001507893593202591 +4323 0.0007024924259461204 0.00020710635668954997 0 0 0 3.979830582498928e-05 +8381 0.0008153841493825522 -0.0002646899649052101 0 0 0 9.866488853152943e-05 +4989 0.0005439977381795857 -0.0005128466061351603 0 0 0 2.8421046935277243e-05 +4381 0.0007916474451779047 0.00020220156458559613 0 0 0 6.751349575205392e-06 +4382 0.0006126738534444438 0.0005393957638465435 0 0 0 3.9500567794613956e-05 +533 -0.00040881204155706843 0.0008928738807385271 0 0 0 2.098673542473957e-05 +4451 0.0006129794298829422 0.00030411867594903197 0 0 0 -0.0002968866627102421 +4461 0.0006667115063071025 4.514319947661992e-05 0 0 0 0.0001307201944324365 +4069 -0.0003632005507891788 0.0004940973701737964 0 0 0 2.6479697273386662e-05 +4480 0.0005012718999061578 0.0004196374908890521 0 0 0 -2.5855553701366365e-05 +4497 0.0006239579850244826 0.00024111604947753002 0 0 0 0.0002212560478377178 +1954 -0.0002728222780138829 0.00035283650116094476 0 0 0 2.8672817752073592e-05 +4522 0.000814291216857962 0.00013577893020732466 0 0 0 4.24657965832401e-05 +4527 0.00044227223263774973 5.2448061149375036e-05 0 0 0 0.0005919937325178542 +8443 0.000622242688931842 -0.00040439105675417 0 0 0 8.84148174446413e-06 +4624 6.461427136329065e-05 0.000436574360398163 0 0 0 0.00011971609529364113 +4628 0.0008056454006657609 0.00017420438604540936 0 0 0 9.028338954230752e-06 +5637 0.0006671245778152292 -0.00038773833536776177 0 0 0 4.0291758480096585e-05 +4722 0.0007096545835513026 0.00010926900178494098 0 0 0 0.00011352293564381958 +100 0.0009131086601375625 9.524321191808968e-05 0 0 0 9.371697023174144e-06 +4735 0.0008869191908049616 1.4896016905808878e-05 0 0 0 3.6784164138917314e-05 +6664 -0.0003247268840551106 0.0008223358865166784 0 0 0 4.5351910217093205e-05 +4762 0.0006270119140499638 0.00024141652946954256 0 0 0 -0.00026917959014174616 +4796 0.0006885971280189239 0.00011750092488120542 0 0 0 4.329851614737841e-05 +3436 0.0007687732732959818 0.0001312501888243781 0 0 0 4.479389476744044e-05 +4820 0.0005895023295967096 0.0003602447392673786 0 0 0 4.114176698853379e-05 +4868 0.0007269129150850674 8.829453612238155e-05 0 0 0 -3.9272750771419744e-05 +4872 0.0005430321381533943 0.0004230132805271167 0 0 0 -2.5860379862495933e-05 +4893 0.0006754153500034552 0.00023346546717569556 0 0 0 7.10201800479011e-05 +4913 0.0006578130827946846 0.00027447636876457503 0 0 0 -1.2802368603626965e-06 +4950 0.0005815722202417917 0.00030676959731616374 0 0 0 5.585175697890091e-06 +4953 -0.0002463868274272649 0.0007920920916901507 0 0 0 5.028484874420716e-06 +4998 0.0006725545980548581 0.00030677641903440264 0 0 0 7.944568464543188e-06 +5007 0.0007927144094363257 0.00013002131797968872 0 0 0 1.3863367907625305e-05 +5046 -0.00029622292391418914 0.0008514155506621626 0 0 0 1.0948064326199622e-06 +5063 0.0005657902373264399 -0.00031611801111254003 0 0 0 2.6815639770777716e-05 +5068 0.00041169516022206793 -0.00033708837070317387 0 0 0 8.31257077278078e-05 +9833 -0.00037563058541450827 0.0007926259588658767 0 0 0 6.989220374073723e-05 +729 0.0004111084444279773 0.00054266508586768 0 0 0 3.400207176371526e-05 +5123 0.0004433856790039311 -0.00031330256627277775 0 0 0 3.2079948365635348e-06 +2713 0.0007778754677655674 0.00012393287000334415 0 0 0 3.702403397183416e-06 +5190 0.0006663913615619709 0.0003323454766134769 0 0 0 1.3570412390428123e-05 +5223 0.00021510742284987415 0.0008455387239616811 0 0 0 -2.156067067518129e-05 +5259 0.0005418242709542231 0.0006289576552320949 0 0 0 -2.4992587067192295e-06 +5266 6.149442579396786e-05 5.0774774434807365e-05 0 0 0 0.00019904454105239467 +5286 0.000958859800736826 -3.637517192240853e-05 0 0 0 -0.0005265840751968009 +9737 -0.0002147070243187338 0.0003285864637493053 0 0 0 3.270828300471651e-05 +5363 0.0008015576526548988 0.0001713990645704067 0 0 0 3.201747810148892e-06 +5372 0.00016779717627753323 0.000844538914655991 0 0 0 -1.5666288663184466e-05 +5374 0.0007092093820118147 0.00019263187721778232 0 0 0 3.6126747565845076e-05 +5390 0.0003351878130539672 0.0002670238980767335 0 0 0 -7.381995268602919e-05 +5437 0.0008392230940998917 0.0001608794110927503 0 0 0 5.708716038232127e-06 +5510 0.0007389454851597315 0.00010914411368759834 0 0 0 -1.3586832841842346e-05 +9068 0.0007658870806797449 -0.0004844122274027796 0 0 0 2.070524892143189e-05 +3566 0.0008756477919688054 0.00015065155087835535 0 0 0 1.570812589698257e-05 +5545 0.00010063691651814826 0.00030949387265475064 0 0 0 1.8626984119499618e-05 +5549 0.00037033220590112587 0.00043706072810013196 0 0 0 1.3576433177160817e-05 +5576 0.0006884514951588991 0.00021444059343282045 0 0 0 -1.7987400147784122e-05 +5587 0.00017932907430971974 9.08291372605965e-05 0 0 0 7.2371199552938e-05 +5601 0.00026463738169212877 0.0002509815738712647 0 0 0 7.842852007007432e-05 +5694 0.00011244836871254104 0.0003225822083141646 0 0 0 5.800927941789462e-05 +8487 -6.569285810405619e-05 0.00024006520296423694 0 0 0 0.00010441866582888038 +3679 0.00046285679264654556 0.0005113808854964294 0 0 0 2.7240944102753783e-05 +5846 0.000601334959106287 0.0003649173443039084 0 0 0 1.2237236489371658e-05 +5856 0.0007728292619087494 0.0002596524876689085 0 0 0 3.7873307515600286e-05 +5884 0.0006551085908168673 0.00025056414949710105 0 0 0 0.00044567224525917927 +5932 0.0005795862515244526 0.00038363921030878207 0 0 0 7.787582425032492e-06 +5943 -0.0002046593021760665 0.0005805185772807881 0 0 0 7.024602324978992e-05 +6006 0.00012381030442430447 8.43932612551851e-05 0 0 0 2.9171268569638865e-05 +6035 0.0006007218273360865 0.00045275776005356455 0 0 0 5.03158947209211e-06 +6036 0.0005879729489561083 -0.00026822371351898353 0 0 0 3.444704022304662e-05 +6063 0.0004173116188564966 0.0001249584958721849 0 0 0 0.0006315198482608511 +6094 0.0008321874380744032 0.00029822416107104933 0 0 0 0.00013247961521108535 +6124 -0.00019689378888784558 0.00039947200331668774 0 0 0 1.1512636686648172e-05 +6180 0.0006615626278851771 0.00028153777500119603 0 0 0 4.416404585038442e-05 +6181 0.0004944093278034763 -0.0004440542969527497 0 0 0 4.229099764424665e-05 +6197 0.0006877224682771152 0.00029207270249153233 0 0 0 -1.5690315526083424e-05 +8759 0.0007655164666348135 0.00011483787480970106 0 0 0 -8.740034442930043e-06 +6358 6.514983358525614e-05 0.0004052071061530569 0 0 0 9.949641662164107e-05 +6428 0.0007095784121800977 -0.00016975104414836467 0 0 0 -7.791896411416735e-06 +6432 0.00036607295454652955 0.0006772816337029411 0 0 0 -1.2579093139024768e-05 +6570 0.0007036535861263956 9.844687306235718e-05 0 0 0 0.00017798126753396074 +6575 0.0006909303161687944 0.0002997313123390945 0 0 0 1.5428426336765854e-05 +6598 -0.0008199404843681504 0.00028380383599640286 0 0 0 0.0018544840238290364 +6626 0.00069624152259606 0.0002560604374572912 0 0 0 -2.6179455221646278e-06 +6637 0.0004888343105134093 -0.00036836782845194743 0 0 0 2.322370283962938e-06 +8056 0.0006204042099826498 -0.0004867108636177247 0 0 0 1.0763053510197873e-05 +6729 -0.00015683153916849595 0.00044805688375398976 0 0 0 3.619842894971009e-05 +6782 0.00041880883691819973 0.0005279294757195777 0 0 0 4.532582835671437e-05 +6796 0.000693130661684895 0.0001482348944097978 0 0 0 6.298932489038401e-05 +6803 0.0006100683086479687 0.0003918420688826359 0 0 0 4.98016147988687e-07 +6815 -0.00011716685898436401 0.001265942128348292 0 0 0 0.0007576543756293425 +6839 0.000793875087157123 6.761535867857372e-05 0 0 0 7.767798072046908e-05 +9707 0.0003372232950557974 0.0005589563515314896 0 0 0 -0.0001944059459596513 +6956 0.00020339019137311613 0.0008839069488847288 0 0 0 -6.529371114721623e-05 +6959 0.00021005080873074178 0.0008695683062035587 0 0 0 1.176193072624606e-05 +6962 -0.0002661582220949677 0.0005068508018046047 0 0 0 3.966692403366466e-05 +6975 0.0024183877886794947 0.001335968647680297 0 0 0 -0.00015431321469100705 +7008 0.0001969834514374021 0.00036730831821164486 0 0 0 0.00010556420219127008 +8222 0.0008119450487397936 -0.00023355126357111353 0 0 0 5.252802620369314e-06 +9845 -0.00021408848862746567 0.000330855038910686 0 0 0 -1.9284352393603725e-05 +7112 0.0006054654613489489 0.0004880149900643247 0 0 0 7.493215476318456e-05 +7130 0.0004776175284579808 0.0007116144373368247 0 0 0 -7.220669402915993e-05 +7162 0.0005309554748987149 0.00018008476705419724 0 0 0 0.0005994973346881528 +7178 0.00021354988899316738 0.0004002091500381212 0 0 0 5.567737878547338e-06 +9973 0.0003161514203742136 0.0005653385243632221 0 0 0 -0.00015031429481364726 +5300 0.0008894293043748805 -0.0001025062165323408 0 0 0 -1.088340425107742e-05 +7250 0.0006648543680185982 0.0002888769035790669 0 0 0 -3.15768432457115e-05 +7257 0.0006471815475051529 8.958518615478217e-05 0 0 0 6.28061537139273e-05 +7264 9.033757209266308e-05 0.0003167299964905742 0 0 0 -1.883549842433009e-06 +7286 0.0018225069042413491 0.0008394867886094342 0 0 0 0.0005725028542463653 +7291 0.0007595809199740513 0.00013562403055974456 0 0 0 -4.773975570170081e-06 +7299 0.001029908354420064 0.000723128531244862 0 0 0 4.904074058859227e-05 +7327 0.0004113756562226473 -8.550781301209498e-05 0 0 0 0.0002151171536127225 +7333 0.0007930545251088608 0.00011786814333533964 0 0 0 2.7465804598860928e-05 +5167 0.0008342155909365249 -0.00024117689832978096 0 0 0 -0.0001129059184725769 +7372 9.913937676298415e-05 0.00029367276752196084 0 0 0 -1.51494947783696e-05 +7379 0.0004905415394200168 0.0001483874895700394 0 0 0 0.0005421723257053254 +7421 0.0006906715915440155 0.00013690818906339424 0 0 0 -1.0630355818660946e-05 +7460 0.0006765375326648005 0.00031344939704844527 0 0 0 -5.235198303168786e-05 +7473 0.000498144085224906 0.0004996040692205871 0 0 0 -4.094562827354756e-05 +7496 0.0008081020713280285 0.00015619942692293804 0 0 0 1.0163440034427765e-05 +7537 0.0005240222450570393 0.0002890972009396383 0 0 0 0.000293842056493822 +7574 0.0004205106491237913 -7.741268592430422e-05 0 0 0 0.0005609745267865173 +7633 0.0004932820411616673 0.000538883770542083 0 0 0 -0.00033534824937191967 +7648 0.00036313719376314336 0.0005256538043126107 0 0 0 0.00017131719117512877 +7661 0.000654975516845404 0.00027974098483759776 0 0 0 -6.281960031992232e-05 +6751 0.0007818133321217658 -0.0002616957320018059 0 0 0 2.638448141472529e-05 +7697 0.00029768663063307497 0.0003654160771140405 0 0 0 0.00045724340270443975 +7749 -0.00024206322976075574 0.0007067042625564887 0 0 0 4.3435948439817704e-05 +7758 0.000791471373793773 0.00022054872843390173 0 0 0 7.565542265060541e-05 +7770 0.0003939710437995952 -0.00043984884986877974 0 0 0 0.0001213130044339812 +7786 -0.00044905140931403574 -0.0007780475928465086 0 0 0 0.0007874469910785773 +7792 0.0005220732988899928 0.000406521328436235 0 0 0 2.359898373558742e-05 +7814 0.0005885952677721335 -0.00025248680326253706 0 0 0 2.177544061147845e-05 +7852 0.00018079716228646623 -0.0007875402383535437 0 0 0 0.00022382600076322796 +7895 0.00018728814658925465 9.038818396603083e-05 0 0 0 0.00011067604723983151 +7897 0.0008541300573706713 0.00012726923671736888 0 0 0 -3.79327674973912e-05 +1959 0.0008828354056601216 3.96116794939118e-05 0 0 0 2.2315714970592895e-05 +7941 0.0006688421079825204 0.0003894177517164141 0 0 0 7.585183979287747e-05 +7984 -0.00010658785142485643 0.0003313376610361327 0 0 0 -2.1701234042028783e-06 +8037 0.00030980805295449925 0.00018667849131947286 0 0 0 -8.797982903080426e-05 +8053 0.0006949433768766326 0.0002819831857400445 0 0 0 3.55483152420932e-06 +8058 0.0005205118823928932 0.0006072578375303266 0 0 0 -2.3630760780795914e-05 +4785 0.0007762323032401505 0.002288542736244691 0 0 0 -0.0015490720582941899 +8182 0.000295670074483286 0.00014799144636816033 0 0 0 4.616027863313179e-05 +8202 0.0006767852115484845 0.0003445054144198613 0 0 0 1.5191737220185615e-05 +8206 0.0007196474116657363 0.00018023875337018586 0 0 0 7.067338477953109e-05 +682 -0.00011974009495585278 0.0002780499899535837 0 0 0 2.2497331876246545e-05 +8285 0.0006082366434283136 0.00045017916006312214 0 0 0 7.185142919837506e-05 +8410 0.0009169371808631723 0.00013843638754383185 0 0 0 -5.287180419209846e-06 +8302 0.0006612494866349011 8.01692169165808e-05 0 0 0 -5.8921655889095125e-05 +8319 0.0006345782151592998 0.00035796780272481733 0 0 0 3.634125017879507e-05 +8339 0.0007052275353474492 0.00011371948339574098 0 0 0 8.961824055962103e-05 +7940 0.0008986740923459544 -7.277453504343088e-05 0 0 0 4.0252866162370174e-05 +9978 0.000793569546655987 0.00012170285115798118 0 0 0 7.821821058400514e-06 +7425 -0.00033910349804680876 0.0004863134139941278 0 0 0 -2.522041967291835e-05 +7902 -0.00033712726281177164 0.0007877937468546416 0 0 0 1.9317824945794562e-05 +8455 0.00012740176010065136 0.0002889279297964099 0 0 0 9.259084162039215e-05 +997 0.0008803521133963564 0.0001383104551697427 0 0 0 1.8214025369936338e-05 +9801 0.0005886951207858768 -3.1861778891415644e-05 0 0 0 0.00015533111725240506 +8536 7.584397085758917e-05 -0.0001712655673091383 0 0 0 0.00014919182118398346 +8569 0.0007509041117627948 9.562216930472005e-05 0 0 0 -0.00012282595901523942 +8580 0.0005903400666036774 0.0002796331682436346 0 0 0 -0.0002463718574004 +1801 -0.00031036641025018985 0.0004623682924816498 0 0 0 3.925141367328188e-05 +8638 -0.000484180535159923 0.00014806545585128252 0 0 0 0.0031073906665746347 +8693 0.00046187011285786587 -0.000574067694690781 0 0 0 4.747904838988948e-05 +8715 0.0006662593321852986 0.00030035115574332706 0 0 0 9.195631412388162e-06 +8740 0.0007509775571290025 9.557439118165654e-05 0 0 0 0.0001978957549406233 +8757 -0.00029626889588744575 0.0008769548349383252 0 0 0 8.674136466817435e-05 +6758 0.0006612678448217677 7.495893016513228e-05 0 0 0 6.190275918401607e-05 +8853 0.0017403968038247196 8.148785955883948e-06 0 0 0 0.0013550115365465834 +8871 0.0004482246771273892 0.0004948273867188164 0 0 0 -2.5069520258822504e-05 +1143 0.0007769006340886793 0.00010268947123961457 0 0 0 -1.904607890810807e-08 +8894 0.0007259675147507205 0.0001293263446879598 0 0 0 0.00011618368011366188 +8895 0.0008542605324653829 7.654646490304307e-05 0 0 0 4.69946843694855e-05 +1831 0.0009137720575094946 -9.220829347054295e-05 0 0 0 -3.194199333537865e-07 +8927 0.0005771455466886988 0.0006465038579662663 0 0 0 7.488124713591713e-06 +8976 0.0007299456937694157 0.00018449793987854483 0 0 0 -3.831210728692181e-05 +1615 -0.0002934530899137896 0.0007802143251018119 0 0 0 2.920114943546734e-05 +9041 0.000702657228896729 0.00016081132515093234 0 0 0 3.426819211050077e-05 +9042 0.0005507888010147714 0.0004680534333703736 0 0 0 2.6831665235894225e-06 +5921 0.000650450713959062 0.00010166303035133847 0 0 0 2.2664793272125175e-05 +9118 0.0008279473671569505 0.00017309878301466014 0 0 0 1.1312530871123038e-05 +9140 -0.0018890134023786715 -0.0002276788707326429 0 0 0 0.00012777512500011863 +9159 0.0009117948941556959 0.0013118414758550643 0 0 0 0.002118202580982445 +9177 0.0007222208724653224 0.0001508980776467689 0 0 0 0.00017007417294014247 +9200 0.0004894132584586988 0.0004875679106910322 0 0 0 2.2164484986705374e-05 +9992 -0.0002681145794204358 0.00025805976900262795 0 0 0 2.2950032617121286e-05 +2504 0.000921561570758011 -6.521367939073788e-05 0 0 0 -5.8309257551264805e-06 +9279 0.0009980846086091416 0.0015199575633506241 0 0 0 0.0010805596080586126 +9282 0.0003191648097158657 0.00015011630783231186 0 0 0 -1.7235718435181185e-05 +9319 -0.00037192570441946644 0.0009108823176828762 0 0 0 4.611467152321351e-05 +9802 0.0007503029545402778 0.0002830084066858348 0 0 0 -2.205395095565573e-05 +8095 -8.612884407648206e-05 0.0002811247873249235 0 0 0 -3.66046146577141e-05 +9322 0.0007943965213765699 0.00011276396367731466 0 0 0 2.9093034092539742e-05 +5183 0.0007043409860023629 -0.0004049611945139311 0 0 0 5.2535127748940886e-05 +9386 0.0006736142889412954 3.4474201617952465e-05 0 0 0 -0.00020951376704580243 +1020 0.0008103832623662397 0.00021048538071573325 0 0 0 1.1289554669275137e-05 +2016 -0.0002916000931495543 0.00032837858582027987 0 0 0 3.233716765939912e-05 +9419 6.711333706783051e-05 0.00020945797558207663 0 0 0 -3.3950190433805835e-05 +9452 0.0007936023399581377 0.00013576442458610306 0 0 0 -3.325764862281043e-05 +9495 0.0007485527553215567 9.48141676311459e-05 0 0 0 0.00011263505175779439 +6188 -0.0001278249609046838 0.000254517517092117 0 0 0 6.170554536681194e-05 +6898 0.0006817214836201719 6.036003997172069e-05 0 0 0 7.292602984230086e-05 +9031 0.0008963718575828848 2.1302060177244376e-05 0 0 0 9.764220427940319e-05 +4282 0.0009149602265905838 0.00012443483005598294 0 0 0 3.9126299506937675e-06 +1939 0.0008967107784099994 -0.000189623766717636 0 0 0 2.8086883885445324e-07 +7474 0.0009439428109919097 -6.84318071309723e-05 0 0 0 3.0416109797724947e-05 +7864 0.0007435336140455503 -0.0004847240630771707 0 0 0 0.00014538433395225686 +4663 0.000953373864363588 -0.00011348991652137542 0 0 0 1.0466700560963068e-05 +4649 -0.0002788544273344252 0.0006325928314933029 0 0 0 5.3746191124540026e-05 +2250 0.0009187306168565063 -3.756032742635317e-05 0 0 0 3.1402370716134116e-05 +8080 0.0008876227003621109 -5.348620155412818e-05 0 0 0 9.629335900190917e-06 +2405 0.0004276462704057726 -0.000572138983855113 0 0 0 2.001706163149929e-05 +6065 0.0008471148654403505 -0.00022514223231097255 0 0 0 -6.102468506418848e-05 +6502 -0.00021700700271819017 0.0002435464334356896 0 0 0 5.7211707774581305e-05 +4000 0.0006371983191792271 -0.0003746603088176048 0 0 0 2.31852866030312e-05 +2203 -0.00029505213876391683 0.0005436301936295214 0 0 0 2.8634723686272082e-05 +5086 0.0009345810582413251 2.2867556636883213e-05 0 0 0 3.2558449927088095e-05 +9344 0.0009096091107304359 -5.766718292405972e-05 0 0 0 3.7093393873790115e-05 +1036 0.0008612341487454658 -0.00020329109249468482 0 0 0 -4.536633891839865e-06 +2338 0.0008614558152897297 0.00015509770977393617 0 0 0 -2.7030099713057815e-05 +7031 0.0009057192385701135 -7.713930629294434e-05 0 0 0 -2.524303144315825e-05 +9045 -0.0012924650230060723 0.0012329039745287843 0 0 0 7.345431429614365e-05 +5318 0.0005746050318089468 -0.0004584332352122279 0 0 0 2.0762797989112233e-05 +4591 0.0008112616822325114 -0.00015195387689216283 0 0 0 3.469760342333676e-05 +5922 0.0008182748204432169 -0.00022406561037415415 0 0 0 -7.03693831110649e-05 +8315 0.0009017755973156114 -6.99065913917787e-05 0 0 0 -3.1083800044135494e-05 +9007 0.00082981742305822 -0.00027490318627919265 0 0 0 0.00022943846060909405 +9277 -0.000358212918429521 0.0005488887582585582 0 0 0 4.581773682993269e-05 +6854 -0.0002082644148143356 0.0002526721166556466 0 0 0 3.366104837175806e-05 +9148 0.000914906421863231 0.00013200212447104324 0 0 0 -6.94538578319025e-07 +2234 0.0008098399969411783 -0.0002060095151102209 0 0 0 2.0763422757898903e-05 +5621 0.0009332308881947782 1.1495717723648245e-05 0 0 0 -9.301768711227896e-06 +5233 0.0007447363874318068 -0.0004499574395830286 0 0 0 1.940492468387241e-05 +1030 0.0005661239450603207 -0.0005115806674870947 0 0 0 1.920141648793544e-05 +8444 0.0006332614942503882 -0.00040762749419820783 0 0 0 2.698891269713801e-05 +8138 0.0008452347816354269 -0.00017733965800472733 0 0 0 5.17729455691085e-05 +136 -0.000386198109187498 0.0006670391105658852 0 0 0 2.658959146020316e-05 +6424 0.0007651393968528286 -0.00044825382363675067 0 0 0 5.2722982168165314e-05 +3363 0.0006074774735219957 -0.0004691844979819837 0 0 0 3.574206781236528e-05 +5147 0.0006196772370893627 -0.0005350287479317761 0 0 0 3.9611242370134824e-05 +1971 -0.0003212499980703268 0.00042474070543512216 0 0 0 1.4459978293821276e-05 +6928 0.0006494440371614404 -0.00046725992808167686 0 0 0 4.243744121585781e-05 +323 0.0008321873127362341 -0.0005105112508104823 0 0 0 2.3396803829213818e-05 +9545 0.0003855431225570257 -0.0005865001795844038 0 0 0 5.542002034805144e-05 +605 0.0008237953222362443 0.00018404420401109604 0 0 0 7.035515478169613e-06 +4261 0.0009238487963460826 0.00011614887116320185 0 0 0 -1.7581707606980748e-06 +19 -0.000511990769315975 0.00020160767939608493 0 0 0 2.3026071186453798e-07 +42 -0.0006777431671968026 0.0007825365016531442 0 0 0 1.6753141728187133e-05 +3410 -0.00029389987256557624 0.00014115707139382365 0 0 0 -5.908383479113587e-05 +86 -6.74587463026027e-05 -0.00016796979449869388 0 0 0 4.19612172685832e-06 +126 2.463195043590512e-05 -9.80453111024766e-05 0 0 0 1.4803165356725974e-05 +1118 -0.0003074735770804584 0.00010296525931346575 0 0 0 -5.366967879776391e-05 +141 -0.0004773249464826293 0.0001802371842633584 0 0 0 -8.030352183194769e-06 +149 -0.0006141181054465576 0.00029754177515276426 0 0 0 -3.7302890809516943e-06 +170 -0.000640685711614556 0.0005261097865509899 0 0 0 8.568463946387828e-06 +183 -0.0005071655802365779 5.600747093374995e-05 0 0 0 2.093476902715995e-05 +196 -0.0007038218224235014 0.0003640253828485756 0 0 0 1.2779458043327569e-05 +7722 -0.000873996738362428 0.0008112308918979301 0 0 0 0.0005639762035706558 +210 -0.00024003296245732575 -8.580572034819835e-05 0 0 0 2.3267737888828696e-05 +219 -0.00011520329311002993 4.605513617217135e-06 0 0 0 3.7214640588247875e-06 +223 -0.000693469818743798 0.0006723750189255892 0 0 0 -3.903174892220092e-06 +244 -0.0003635803568306529 0.00022058590021579956 0 0 0 1.9349700130327375e-06 +263 -0.0005825387700655772 0.000431249793701379 0 0 0 2.468403752134747e-05 +264 -0.0006649214243783577 0.00040169463835183094 0 0 0 3.009686934161088e-06 +286 -0.0004109710034888413 0.00023504619601076706 0 0 0 3.2004231273064536e-05 +296 -0.0007332333535689981 0.0005516821838661871 0 0 0 7.369989776057896e-06 +341 -0.0006813363977516376 0.0004342981872332805 0 0 0 -4.932447973737481e-07 +353 -7.714070690487124e-05 3.6414992863908304e-05 0 0 0 2.1657650776687905e-05 +361 -0.0006205033213480669 0.00022800026379311635 0 0 0 -1.4521863741705335e-05 +9471 -0.0006531886647583917 0.00021489437772630597 0 0 0 4.748838630726163e-05 +396 -0.0005161480106426792 0.0006334089417624502 0 0 0 2.1083667699871475e-05 +397 -0.00043865878999495067 0.00048590141010798713 0 0 0 2.148392302044727e-05 +411 -0.00012631282531100924 -1.7520346560419326e-06 0 0 0 -1.7092556350467539e-06 +489 -0.0005863651427004407 0.0002597537724705102 0 0 0 9.880531998754911e-06 +534 -0.0005094775503353102 0.00021402971981607016 0 0 0 9.685438404479294e-06 +544 -0.0006107545180758311 0.0002435101649836269 0 0 0 7.0068944229816765e-06 +546 -0.0006991346104593993 0.00018124989552380818 0 0 0 3.3773360616096957e-06 +550 -0.000636822766729199 0.00023662391044596863 0 0 0 -1.1755310496302198e-05 +8672 -0.0003582743043792951 0.0004881281032445151 0 0 0 5.829789665973173e-05 +574 -0.000613383774645353 0.00013841740049386938 0 0 0 1.4572400049179884e-05 +621 -0.0006948390372822201 0.0002133004382586972 0 0 0 -2.23361044660946e-05 +652 -0.0006965821776021698 0.0004882395011364767 0 0 0 1.683842255290176e-05 +657 0.00026258267326856067 7.521569212435503e-06 0 0 0 -1.829110391493515e-05 +664 -0.0006669261114912485 0.00022397756528081615 0 0 0 1.7871133123114605e-05 +4718 -0.0007022712103180852 0.00018407410432895964 0 0 0 0.0002547420173753668 +683 -0.0005717659984362752 0.0005483978401861846 0 0 0 1.7394581517716884e-05 +9848 -0.000652340339361559 0.0003322223357371606 0 0 0 2.9437179460452036e-05 +3350 -0.0006028916290513614 0.0006490925597356181 0 0 0 -7.836411750861008e-06 +763 -0.00048438512370777085 0.0007478586473274611 0 0 0 2.857131495487998e-05 +767 6.710930787031118e-05 -6.542012151078537e-05 0 0 0 -2.1187852554751516e-05 +772 -0.000555811994671774 0.0002682882328472033 0 0 0 1.0207577336846074e-05 +791 -0.000573705975158479 0.0001991012729335054 0 0 0 -9.53869878988452e-06 +867 -0.0006027387369964762 0.0003168439115185947 0 0 0 2.759539550215457e-05 +886 -0.00017799717759501999 2.9074922585161997e-05 0 0 0 -1.3384237717916269e-05 +880 -0.0006336903179758384 0.00034002020710391937 0 0 0 1.3870315909634672e-05 +895 -0.0006280936520720007 0.0004454092708326015 0 0 0 1.5459685934478012e-05 +898 -0.0006034721619719865 0.0002224885556784765 0 0 0 4.453451154956328e-06 +912 -0.00035665901980438415 0.0004505794549567844 0 0 0 1.597719425183305e-05 +2354 -0.0007054450334585741 0.0002210717694415105 0 0 0 6.0497186358347144e-05 +9643 -0.0004325494280544409 0.00012394613131570006 0 0 0 7.719416710738154e-05 +1012 -0.0007228320532186313 0.00044600645474151635 0 0 0 1.0550484317045184e-05 +1014 7.865236777619763e-05 -0.0001976486740007573 0 0 0 5.594631594018993e-06 +1031 -0.0006182867899093251 0.0005936086226753318 0 0 0 1.3470017170833465e-05 +1059 -0.0006479036006085451 0.00036372870859089187 0 0 0 -4.296297657971085e-06 +1067 -0.0002904455045658278 0.000246944635898966 0 0 0 8.60846692118135e-06 +1099 -0.0007605867840347042 0.000701563131672804 0 0 0 -8.090948207345263e-06 +9890 9.656510440239085e-05 -0.00019575857147154007 0 0 0 0.00011886585828058635 +1121 -0.0006601126132299805 0.0004352218744269477 0 0 0 1.6622612737648107e-05 +1131 -0.0004522252897548097 -0.00012031877272261256 0 0 0 -8.282143549119902e-06 +1139 0.00011217247820843896 -8.93129521766762e-05 0 0 0 -4.5185635397135354e-05 +1184 -0.0006177010305667149 0.0002684498248322454 0 0 0 1.3472535966065275e-05 +1191 -0.0006134528266328775 0.0006310140640866828 0 0 0 1.5777929451983963e-05 +1227 -0.0001756479695827486 -0.00019343976560933388 0 0 0 4.460565611406303e-06 +1310 -0.0006192011719407728 0.0003850219175372797 0 0 0 1.7510702232532323e-05 +1327 -0.00020715764022445824 7.838764295562022e-05 0 0 0 9.217389055447376e-07 +1119 -0.00017046562628028213 -0.00011124223178425324 0 0 0 6.894398145750047e-05 +9575 -0.00037174327749549935 0.00020354351452531364 0 0 0 0.0004946331574583519 +1390 -0.0006456667321899089 0.0004015263084358794 0 0 0 2.0319963403380966e-05 +1400 -0.0006244213979818171 0.0001645822911763146 0 0 0 9.054068499094675e-06 +1405 -0.0003803408482464873 4.309263050223108e-05 0 0 0 3.4974025230257764e-05 +1454 -5.191419343178139e-05 -0.0002547007183058798 0 0 0 1.4636249002822088e-05 +1465 -0.0002995914833661784 -8.281942729600978e-05 0 0 0 -1.1456028472983098e-05 +1466 -0.000626902112489945 0.00034619026375940203 0 0 0 9.60772661776971e-06 +9875 -0.0006492018759168782 0.0002346935921283101 0 0 0 0.00012845687892857978 +2292 -0.00042116440380541393 0.0001306040759623148 0 0 0 0.0002075942272709317 +9267 -0.0006484629916778592 0.00034791991891796025 0 0 0 -3.589258101758832e-05 +1534 -0.0006099269065710122 0.00026119792925606886 0 0 0 1.050041696439631e-05 +6691 -0.0004572606899941078 0.0009044530358605873 0 0 0 2.1584275605284412e-05 +1585 -0.0006195645908189751 0.0005547391417935545 0 0 0 8.870089359856817e-07 +1586 -0.0006708085697429547 0.000516084579293841 0 0 0 1.8937460748585432e-05 +1589 -0.0006318818023498866 0.0004878371170196314 0 0 0 -1.8612815926048023e-05 +3118 -2.590914325716375e-05 -0.0001711839323512949 0 0 0 -0.0002637700425408516 +1605 -0.00022224916181941778 0.00010926348064087534 0 0 0 2.6597212337499132e-05 +1613 -0.00037397151468696743 6.217208117559378e-05 0 0 0 6.66512019465862e-05 +1632 -0.0002171445307347993 -0.00014717313461231168 0 0 0 3.681223778818479e-05 +1648 -0.0003112769398620929 0.00024189283220275135 0 0 0 7.1947106630244235e-06 +1661 -0.0006327099190597685 0.0006655213023089523 0 0 0 -7.398852140994773e-06 +1668 -0.0005239580874603811 0.00022897585918540825 0 0 0 -1.6058295232223564e-05 +7437 -0.0007086827505947214 0.0001698651825412827 0 0 0 0.00032617377546062656 +1718 -0.0006760693540374899 0.0005345637556175545 0 0 0 2.6858167215348304e-05 +1726 -0.000578523506683604 0.00029016225632542525 0 0 0 1.2151008736268132e-05 +1739 -0.0001894001303168571 7.540567652950414e-05 0 0 0 1.907671370278635e-05 +1760 0.0002874878057218453 4.839669281608766e-05 0 0 0 8.499167953289539e-06 +1776 -0.0006200203188466858 0.00017583954762731696 0 0 0 -2.1678120267829e-05 +1845 -0.0005476234287866658 0.00030127870332264474 0 0 0 6.999071019511842e-06 +1877 -0.0005140213699919087 0.000195277418897053 0 0 0 3.278084631251926e-05 +4558 -0.0006387790259071151 0.0003207854641728545 0 0 0 2.855989233043374e-06 +1892 -0.0005759083178997442 0.00020353397613987053 0 0 0 2.7866938903868638e-05 +1926 -0.0005724921669335676 0.00023486313864466184 0 0 0 1.6553692061805536e-05 +1931 -0.0007473719925919829 0.0005569275886012001 0 0 0 1.2360039696256146e-05 +7531 0.0002335854060850375 0.00017953676997771486 0 0 0 0.00015032037428759702 +8162 0.00020874895177632982 0.00020753760525195016 0 0 0 -8.791153964212713e-05 +6503 0.0005574449198918065 -4.7068913954629504e-05 0 0 0 2.944224012113347e-05 +2010 -0.00038166115991709627 0.0003775299475268686 0 0 0 3.131918268066796e-05 +4452 -0.0003306504747270546 0.00012196952142375159 0 0 0 0.0001371112488805987 +2029 -0.0007238003762723047 0.0002930995459089954 0 0 0 2.6750841091681166e-05 +2045 -0.0006881048173803136 0.0002213179968630572 0 0 0 6.242845070792541e-05 +2048 -0.0005554430873739943 0.00022318835847156854 0 0 0 1.7052549909480713e-05 +2082 -0.0006204362341855733 0.00027170524934368666 0 0 0 8.945108301223295e-06 +2085 -0.000652981528082061 0.00020271007895562122 0 0 0 2.442304920265309e-05 +2104 -0.0005687714103079053 0.0001703231212502836 0 0 0 -6.925496823740128e-05 +7108 -0.0004264776739615809 0.000899622441468966 0 0 0 6.51724748232411e-06 +4693 -8.919535832480352e-05 -0.0001579239052032187 0 0 0 8.253758554563952e-06 +9859 -0.0006833789934410148 0.00046807175699234606 0 0 0 2.699009829684321e-05 +2218 -0.0006104504593057618 0.00027441857665547593 0 0 0 9.255513819349739e-06 +9775 -0.000524590424231493 0.0001891101355004094 0 0 0 5.496915724328843e-06 +2230 -0.0004062811422066113 0.0005270746266105827 0 0 0 1.0111331333971036e-05 +2270 -0.00042193864040122176 0.00040411714162764354 0 0 0 1.6466952141573763e-05 +2296 0.000322387321280983 -0.00027940745392535994 0 0 0 -0.00044438033943131446 +975 -0.00027693475296732375 0.0001249597283714057 0 0 0 5.585283531435494e-05 +2340 -0.0004127513216803818 0.0006618192044158397 0 0 0 -0.00019106760882158785 +2342 -0.0005398282025367843 0.0002747153327712072 0 0 0 3.062865767644114e-05 +2384 -5.7627123793997164e-05 1.4341429784806179e-05 0 0 0 6.289575961219217e-05 +2396 -0.00025279047540267553 0.00010535574290804435 0 0 0 -4.15812871745054e-06 +2422 -3.3234615979699823e-06 -7.319672892048768e-06 0 0 0 4.5031215485590834e-05 +2459 -0.0006631508684582301 0.00024114701955560235 0 0 0 -2.309641428097158e-05 +2460 -0.0005016602382190024 0.00015714883551606204 0 0 0 1.4278610472627142e-05 +2479 -0.00035235159152001086 -6.420841506741919e-05 0 0 0 3.867410192381738e-05 +2484 -0.0006680599231124719 0.00024609063449423626 0 0 0 -7.892976608982005e-06 +2491 -0.00038757861790026917 7.871520555881375e-05 0 0 0 0.00021916056066425998 +1970 -0.0006194221090887851 0.0005214309629865694 0 0 0 2.9623268917862886e-05 +2509 -0.0005663325034940411 0.0001854841130153232 0 0 0 2.808687923733753e-05 +8000 0.00036767214212045347 1.796336105223879e-05 0 0 0 -2.340775010632923e-06 +2572 -0.00040771274079906165 0.0001495059592330866 0 0 0 -2.770931047146559e-05 +9548 -0.0004581909834916846 0.00029375435510336665 0 0 0 8.92744260664649e-05 +2628 -0.00030142407676144313 0.00017535987445573627 0 0 0 1.926880127076769e-05 +2650 -0.000681135442546131 0.00023861341144790986 0 0 0 0.00014726442188874603 +2807 -0.0005374861418182195 -1.0670214027562838e-05 0 0 0 8.709622680539717e-05 +2817 -0.0006105308391050737 0.00035220601409979054 0 0 0 3.630351506012508e-05 +630 -0.000446937463918133 0.00018377987187269355 0 0 0 4.544865566550406e-05 +2858 -0.0006393079588301912 0.0005179669933696345 0 0 0 -1.3774235514986071e-05 +2903 -0.0007497804952294585 0.0005862747443406889 0 0 0 2.6887394812842133e-05 +2961 -0.0005956589147273249 0.0004979886995220804 0 0 0 2.1232327163434266e-05 +2972 -0.0006788609870219696 0.0001537672128694079 0 0 0 4.178476091940817e-05 +8778 -0.0006450305505822603 0.000377741725596323 0 0 0 1.4846974356991137e-05 +3083 -0.0006971026875592437 0.0006062463254297712 0 0 0 1.9809564211215227e-05 +1545 0.00018910123255053528 -0.0002092736613604498 0 0 0 5.209683337609449e-06 +3154 -0.0004545434334771566 0.00044358404254282214 0 0 0 1.606173823552947e-05 +3163 -0.0005910003836682922 0.00028674960801794414 0 0 0 -1.4458645822668709e-05 +3171 -0.00035634771955542194 0.00023336748975629748 0 0 0 -3.478152984825225e-05 +3177 -0.0003567951202519058 0.00013797537828350574 0 0 0 0.0001268554596583726 +1967 -0.0006885439610602175 0.0007053521888861886 0 0 0 1.0708416079201724e-05 +3201 -0.0005692438811550823 0.0002562791489928835 0 0 0 1.2794117964299059e-06 +3207 -0.0007560156554649918 0.0006442509208299867 0 0 0 1.9602857402422437e-05 +929 0.0001805326293744983 -0.0001836083082775238 0 0 0 5.8320389873540025e-05 +3233 -0.0004386223005066412 0.00021146523973296951 0 0 0 -5.584314766639933e-05 +3237 -0.0003966505725035166 0.00024128831724894167 0 0 0 -6.095867381829893e-05 +3282 -0.00010760924159488575 -0.000251016621563343 0 0 0 -0.0002643847177132499 +3283 -0.0006627278465095338 0.00022008155928161352 0 0 0 9.387876024110318e-05 +3305 -0.0005733237940331894 0.00023333157402959302 0 0 0 6.7636673846103495e-06 +3470 -2.5141731680315177e-05 -0.00015398088891395556 0 0 0 -4.522524956720971e-05 +3328 -0.0004824367981176933 -6.251591202268663e-05 0 0 0 1.0472069494090084e-05 +3383 -0.0003187157189186182 0.00029767560597456156 0 0 0 4.642776836175044e-05 +1879 -0.000577066894247176 0.000299008989270953 0 0 0 5.863911736032906e-06 +3390 -0.0006673571589821762 0.00042478271647075546 0 0 0 3.125019145810081e-05 +3432 -0.0006485441648831145 0.00034077907023721224 0 0 0 2.245546043193394e-05 +3443 -0.0003433442346206117 0.00038652178524019364 0 0 0 3.07767666209575e-05 +3448 -0.0006409442757362422 0.00021920042222588223 0 0 0 -2.695576566202755e-05 +3450 -0.0003647818870212594 0.00022845082817984208 0 0 0 6.169739722062413e-05 +3455 0.0004374296554190756 -0.00017406821095304056 0 0 0 0.00012366058860255203 +3489 -0.0007023525729824069 0.0004543328069002355 0 0 0 1.3532789392887124e-05 +3505 -0.0006672912381825023 0.0004993229729742696 0 0 0 1.3207277619681876e-05 +3558 -0.0006013254330723824 0.00032128843602557896 0 0 0 8.550555732297873e-06 +3561 -0.0005202364472731416 -3.518961447230353e-05 0 0 0 -0.00011389235079622559 +3562 -0.0005243688919820227 0.000576191555548983 0 0 0 3.5614778157014724e-05 +3594 -0.0004951410388964103 -2.2961194218685225e-05 0 0 0 1.591607630804174e-05 +3614 -0.0005396381094180829 0.0002030108569926283 0 0 0 7.983792907974889e-06 +3616 -0.0006960658116706239 0.0006040021887905654 0 0 0 2.0678075337749935e-05 +3619 -0.0004772966158806074 0.00016177078286075424 0 0 0 3.23508734386529e-05 +3622 0.001776955559034787 -0.0017809577226330796 0 0 0 0.003988976961494802 +3627 -0.0005998511412958825 0.0005585430281018959 0 0 0 2.201495455984688e-05 +3638 -0.0003516371751515783 0.0002550627168917989 0 0 0 -1.079169433485768e-05 +3664 -0.00070439298034926 0.0006869941350056497 0 0 0 3.7192917463376524e-06 +3685 -0.00046256524507462635 -7.956033536789959e-05 0 0 0 3.207221831358188e-05 +3699 -0.0007472674517780371 0.0004814466492527752 0 0 0 2.0444572144576636e-05 +3760 -0.0006651073109241841 0.00040024201295582015 0 0 0 -5.810577449905292e-05 +3773 -7.571921650973107e-05 -8.730363321267225e-05 0 0 0 1.8086000112604268e-05 +6297 -0.0004014027511250797 0.0001952002971716136 0 0 0 3.184591591876981e-05 +3802 -0.0003028962825620063 2.006788470577049e-05 0 0 0 -1.3059082724779236e-05 +3809 -0.000733459920700718 0.0005270443614438695 0 0 0 -1.987564531659383e-06 +3847 -0.0004970696814662634 0.000187123386898978 0 0 0 -6.30828422341114e-05 +7356 -0.0006374229701934193 0.0006883097148834468 0 0 0 -1.3559254551808612e-05 +3890 -0.000481524703979759 0.0004000549356732788 0 0 0 3.3377817521828075e-05 +6910 -0.0004279487017699278 0.0001402507040714107 0 0 0 4.681984772635686e-06 +3947 -0.000731452264439569 0.0006234881062964633 0 0 0 2.9803835804170183e-05 +3954 -0.00046061008218891217 0.00017784057210378345 0 0 0 1.9902060260238077e-05 +3999 -0.0005956397533837152 0.0006364261906395838 0 0 0 1.757012480004032e-05 +4014 -0.0003686365091042884 0.00022601132548788304 0 0 0 -5.231470333317136e-05 +4041 -0.00044083749485782683 0.0005877726979108812 0 0 0 2.7251790657874273e-05 +7328 0.0004817297133267055 6.734266814191936e-05 0 0 0 2.5481010068047293e-05 +4086 7.089983775166496e-07 -7.345000324215916e-05 0 0 0 3.1909487171197686e-05 +4090 -0.0006292492027563436 0.00023901766366966865 0 0 0 5.050817955185385e-06 +4108 -0.00018390640925319772 -0.00017733963715236965 0 0 0 -7.33284185449352e-05 +4112 -0.0005724264089213171 0.00018870787412789264 0 0 0 6.806394731934862e-05 +4133 -0.0006656989325389665 0.0005476119404236145 0 0 0 -8.436441251248484e-05 +9857 0.0004497781757249637 -0.0001934707720791053 0 0 0 -5.8014967093261996e-05 +4174 -0.0003003925436343433 4.050599318468278e-05 0 0 0 0.0003180889009615815 +4197 0.0005481601534969348 0.0002529914421235069 0 0 0 0.0005437300247784562 +4237 -0.0002888785004821925 0.00011982064634633962 0 0 0 0.00015441725712278355 +9755 -0.0007699582735907296 0.0007109165160699062 0 0 0 -8.527225939832998e-06 +4262 -0.0006331097514045558 0.0001423008051210757 0 0 0 6.943746812941297e-05 +4269 -0.0006090041955068192 0.0003956044213611449 0 0 0 -6.156758894602581e-06 +9638 -0.0003345143114301993 0.00014226675169501764 0 0 0 -1.9221056965258897e-05 +4286 -0.0006237791923718138 0.0006334010036521784 0 0 0 2.436831254296219e-05 +6495 0.00011440849837342774 -6.530008468218413e-05 0 0 0 -8.29279458414303e-05 +4351 -0.000641527218936939 0.00044148855391350954 0 0 0 1.49807305287363e-05 +735 0.00030382132027419645 5.789369627907173e-05 0 0 0 4.1639532696067716e-05 +4464 -0.0006035246140314989 0.000247872742153085 0 0 0 -2.095127178024826e-05 +497 0.00020488615348090183 -0.00020031638700924225 0 0 0 -3.964347320067217e-05 +10000 -0.000519251212475726 0.00022813486653515869 0 0 0 5.6883276455859125e-05 +4574 -0.0006999465866231825 0.000419553917964474 0 0 0 -1.8226724692190552e-05 +4578 -0.0005242460420228239 0.0002392040830774762 0 0 0 4.000339502000156e-05 +4596 2.0106584437762878e-05 -0.00018914950972596215 0 0 0 -4.88140499246873e-05 +4622 0.0002622878325831041 4.1173016302989666e-05 0 0 0 -4.881644544830671e-05 +6916 5.062346196854913e-05 5.34682887011758e-05 0 0 0 -4.3652390528700966e-05 +4658 -0.00023024112376419345 0.00014362821327585726 0 0 0 7.832262396198672e-05 +4664 -0.0005224489889523917 0.0007040785405274607 0 0 0 2.8890403236169688e-05 +4669 -0.00028956342864207524 0.00020205343340936373 0 0 0 4.859194278692127e-05 +4698 -0.0006781522852594546 0.0004698202883550243 0 0 0 -4.4748051365440736e-05 +4706 -0.0006055994161728334 0.0003892774847068027 0 0 0 -4.604025320768066e-05 +4726 -0.0005849699968465473 0.00022216123565192795 0 0 0 8.391713137085337e-06 +4734 -0.0006520742120093631 0.0006078060724368586 0 0 0 4.7352002919404285e-05 +4746 -0.0006264093364903538 0.0005416907447276118 0 0 0 2.1095474904101795e-06 +4749 -0.000639029695204084 0.0002291154440488072 0 0 0 3.837241439088689e-05 +6292 -0.0007192763044412356 0.0002311455441180145 0 0 0 -9.739203830411416e-05 +4792 -0.0006303660895723136 0.00032330123611188 0 0 0 1.5116948655272037e-05 +4800 -0.0005335023742665028 0.00022226541135913976 0 0 0 -1.9922124244678565e-05 +4809 -0.0005245255958360025 0.00017642392097284694 0 0 0 1.1763955539893908e-05 +9704 -0.0006457411285236747 0.00022519088460746928 0 0 0 -5.418784880628526e-06 +4840 -0.000699159699911138 0.0007097222485238459 0 0 0 1.8167991140770982e-05 +941 -0.0006319852789862233 0.00030566778995132373 0 0 0 9.109621118609291e-06 +4901 -0.0006579828328843728 0.0005621631925753528 0 0 0 3.566834652651169e-05 +5515 0.0003747149894666966 -1.4417381299119878e-05 0 0 0 -4.305140567260191e-05 +4996 -0.0005712872010869236 0.0005935197971012233 0 0 0 2.3916907862636436e-05 +5011 -0.00047261651562244625 6.970449276491058e-05 0 0 0 1.0513859568980199e-05 +5064 -0.00040778311386414494 0.00025396811602402847 0 0 0 -4.5750822553835104e-05 +5081 -0.0003354757400730101 0.00024152604672692202 0 0 0 0.00023600660918948467 +8512 -0.0004447962690373004 -0.0030273823556290942 0 0 0 0.00347284427939365 +5106 -0.0005464031691589001 0.00024595863956828614 0 0 0 4.288840888469512e-05 +5125 -0.0005334966450901982 0.00022019475265351232 0 0 0 3.3433009923104246e-05 +5141 -0.0007653238179239774 0.0006878515119995623 0 0 0 3.5937776809987685e-05 +5144 -0.0005253922167555949 0.00022140861435733652 0 0 0 -1.2827049916254394e-05 +5148 -0.0006016615962481309 0.0006178940089753982 0 0 0 -3.2936783056785914e-06 +5153 -0.00015016563946342618 -0.00015116901209630263 0 0 0 -2.1757134338038847e-05 +5203 -0.000657758508387605 0.00016430046695818838 0 0 0 1.9229688256917433e-05 +5226 -0.0006279106016962602 0.0005291599929946174 0 0 0 5.053666891651816e-05 +2318 8.209989858680445e-05 -0.0001307597716756664 0 0 0 5.357019411467598e-05 +5745 -0.0006404021695334014 0.00032625694745255605 0 0 0 2.0240496785425662e-05 +5277 -0.0006139836791328724 0.0005852894422889339 0 0 0 2.4026083655716154e-05 +9438 0.0002566837099216394 -9.315616558674024e-05 0 0 0 -8.926337452644481e-05 +6807 -0.00039405676257200624 0.00015515737681396616 0 0 0 9.148724499289246e-05 +5364 -0.000558774666103728 0.0002596612778837701 0 0 0 3.43964928624925e-05 +5396 -0.0007645034895497467 0.0005686858589717466 0 0 0 -6.823652557357221e-06 +5405 -0.0006829102237063023 0.00018309739115373683 0 0 0 9.18349921384372e-06 +5406 -0.0005559160854994357 0.0002633214172250719 0 0 0 2.082132229947953e-05 +5419 -0.0006786777644153749 0.00025590919520899433 0 0 0 4.963559822840404e-05 +5536 -0.0004935109591510159 4.916642711108646e-05 0 0 0 -5.498626116693851e-05 +5544 -0.0006518753199892357 0.0003876630002212429 0 0 0 8.902630867272183e-06 +5556 -0.00045975841126469797 0.00036375210694274774 0 0 0 3.317433662405973e-05 +5566 -0.0005946462667922243 0.00016155747742702058 0 0 0 6.012488486252216e-05 +5589 0.00041683912584798715 -0.00033726483241877707 0 0 0 0.0002894252662432336 +5600 -0.0005073997460377824 4.959892355607151e-05 0 0 0 1.3409245966672246e-05 +5608 -0.00046716593976458415 0.0001397138047906861 0 0 0 1.370070684183035e-05 +5618 -0.0006181058446126883 0.00019776939696908546 0 0 0 9.67563393233954e-06 +5629 -0.000907616588544646 0.00010385752444076979 0 0 0 -0.0002658495480586064 +5632 -1.3146889357455172e-05 -0.00010850758289036696 0 0 0 -3.068833869954456e-06 +5645 -0.00039155994673644665 0.00023463416435750125 0 0 0 2.2141264527064712e-05 +5688 -0.0006959535178362945 0.0002078497150559148 0 0 0 2.6209437446030153e-05 +5699 -0.0006046451435525916 0.00029572718324063634 0 0 0 1.5492626402464834e-05 +8170 0.0003663636287825008 -1.3531124408444394e-05 0 0 0 -2.3435154821620274e-06 +5710 -0.0006849942208224294 0.000684691659962422 0 0 0 2.246217632393958e-05 +5731 -0.00014673289103233632 -0.00028506950979601036 0 0 0 -0.00020150945814254059 +5733 -0.0007340713955103429 0.000590043543190391 0 0 0 3.9616259533422756e-05 +5753 -0.0007370370771423338 0.0005597990722810452 0 0 0 -7.159770491915015e-05 +2870 -0.00039806231240390615 0.00019263607235618852 0 0 0 -2.7435079502181504e-05 +5776 -0.00022333092994942207 9.606501926768312e-05 0 0 0 -3.328536993914085e-05 +5779 -0.0007175587576902588 0.00020562966573915538 0 0 0 0.0001571280263328768 +3364 -5.3592428585353755e-05 -9.6860657445532e-05 0 0 0 -3.330986452049579e-05 +5878 -4.75051718450031e-05 -0.00019014832862073328 0 0 0 -3.0093943338267318e-05 +5836 -0.0005437330932399054 0.00026495026240481675 0 0 0 2.4696811148082885e-05 +5843 -0.0006142683549974787 0.00034273381479922225 0 0 0 3.484385103836958e-05 +9658 -0.0006684624248178869 0.00022376996734536556 0 0 0 0.00031800792550213216 +5897 -0.000477268111457937 0.00020807864603620302 0 0 0 6.264819241714137e-06 +5903 -0.0007107444941244165 0.0004681529901036714 0 0 0 5.4769941290121345e-05 +5933 -0.0004509649211188537 0.0005481471604403305 0 0 0 3.2335641899106244e-05 +5960 -0.000181507482004865 -1.73198405559096e-05 0 0 0 4.010182598490637e-05 +5985 -0.0005362307049180225 0.00015624669955659144 0 0 0 5.748970815344936e-05 +2128 -1.569978205545262e-05 -9.637951705457122e-05 0 0 0 -9.32255150455243e-06 +6001 -0.0007194995582888898 0.00020873852763513318 0 0 0 0.00014679313391764964 +6009 -0.000651504975092583 0.0005119993010122961 0 0 0 5.6695286303831126e-05 +6022 -0.0006322392410103528 0.0005006818076077168 0 0 0 1.7898189999846084e-05 +6033 -0.0006378334879704077 0.00047697351198781207 0 0 0 -1.8296631571400557e-06 +7343 0.00043364730441636647 -0.000201306930460477 0 0 0 -0.00018069393580653128 +6069 -0.00048388910372996146 0.0002959093451621638 0 0 0 4.073284001542077e-05 +6083 -0.0005951364787835807 0.00027311171507101204 0 0 0 4.853671184147066e-05 +5754 -0.00040841919562961795 0.0008018492114417074 0 0 0 2.470345446440134e-05 +8825 -0.00022442359791065712 -0.00010029376197940469 0 0 0 7.547321591943353e-06 +6121 -0.0004165338011324479 0.0001588355190515893 0 0 0 5.925281919880654e-05 +6135 -0.0006473763562147365 0.00024255691451132805 0 0 0 2.4238732784442294e-05 +6150 -0.00029672198779169556 3.324817665644548e-05 0 0 0 -4.7472492828740344e-05 +6155 0.00016068021061479995 -0.00015088261431458366 0 0 0 -5.8996413655869556e-05 +6185 -0.0005763409038754189 0.00028024281290867786 0 0 0 -1.2115448752417917e-05 +1675 5.0243519303094e-05 -0.00010521499744310741 0 0 0 3.4163404891811097e-05 +6195 -0.0006368183297787269 0.00011398535660022804 0 0 0 5.06068829111698e-05 +9566 -0.0006921597169780489 0.00020123276669773102 0 0 0 9.957318976750401e-05 +9680 -0.0005045759936722743 0.00023364927946926985 0 0 0 -0.0001769060444070077 +9625 -0.0006082586827654353 0.00016587176577604565 0 0 0 -6.113889131446246e-05 +9645 -0.0005879321126429357 0.00027354840493420436 0 0 0 2.54281357623701e-05 +6311 -0.0007527475020602961 0.00024687896517802546 0 0 0 3.5161838057110756e-06 +6322 -0.0003788740602476178 0.0002841856873743673 0 0 0 2.2411997971814856e-05 +6352 -4.102672062913656e-05 -0.0001324157120969619 0 0 0 -7.935835216842156e-05 +6353 -0.0004762933630043292 0.00020084448276477736 0 0 0 -1.2679386388518234e-05 +6412 0.00013511546653521806 -0.0017944523643172662 0 0 0 0.0010048300583651412 +6462 -0.0006712966370490428 0.0006619845399950356 0 0 0 -8.002240258005277e-06 +8983 0.000584654789536467 -7.32139989156265e-05 0 0 0 -4.695782428060653e-05 +6506 -0.0006294396850712199 0.0006546100646044338 0 0 0 -7.896425957566684e-06 +6537 -0.0004971294599763135 0.0002590430527189422 0 0 0 2.1962086916979948e-05 +6608 -0.0006466246950763199 0.0002951073446483031 0 0 0 5.84740361273214e-05 +8261 -0.0007094992495318392 0.00027448850550548814 0 0 0 8.283668841058935e-05 +6614 -0.00046886350905183224 -6.103506589593921e-05 0 0 0 -3.0222490340342704e-05 +9617 -0.000334944554588396 0.0005729048414699711 0 0 0 -0.0002682839364518222 +8251 0.00019696517942927963 -7.827895029368994e-05 0 0 0 0.00014474704121605992 +6704 -0.00047083545030585837 0.00010132762943577148 0 0 0 -8.180022460521231e-07 +6713 -0.0005053532057376421 0.00017693804841206742 0 0 0 -3.3721357945617996e-06 +6759 -0.00042390836050794145 0.000371125354947588 0 0 0 3.464434715008807e-05 +6399 -0.00010164699983544092 -0.0004753392200289864 0 0 0 0.00011164688694989059 +9800 -0.0005213565078563665 0.0002870440936112448 0 0 0 2.1337041529197344e-05 +6813 -0.0003682871951162286 0.00041306958561754286 0 0 0 1.2483977482882497e-05 +9190 -0.0006385361418874824 0.00032984103087284946 0 0 0 1.2414135511649846e-05 +6848 -0.0005721345223069481 0.0003811672890012262 0 0 0 2.3460422204877873e-05 +6498 -0.0004439554412377243 0.00013661805954515803 0 0 0 -0.00024789666744971616 +1182 -0.0006329273170029488 0.00026459547137247806 0 0 0 3.792651250275824e-05 +6886 -0.0005129446785149464 0.0004927622310874614 0 0 0 8.512997692229045e-05 +6909 -0.0006289869016506732 0.00023649268722654063 0 0 0 -3.858310339963212e-06 +6944 -0.0004231587296705269 -2.3346008642233484e-05 0 0 0 -5.58993984978886e-05 +6965 -0.0002153160145443986 0.0002297091948665733 0 0 0 -1.2284071490549335e-05 +6968 -0.0005112091753517208 0.00034659757229882126 0 0 0 -6.311475183142792e-05 +6969 -0.00016606726522192883 -0.000559177143673817 0 0 0 0.0006671870993958118 +7000 -0.0003428387365390572 -0.00018279668116341535 0 0 0 4.732557538501698e-05 +7029 -0.000694902988544286 0.0004459845691665234 0 0 0 2.1566061900968312e-05 +7047 -0.0007666659311364562 0.0006184131506635746 0 0 0 6.400190871003723e-06 +7071 -0.00039302422750134644 0.0003566487223977131 0 0 0 2.4144955908345577e-05 +7089 -0.0006396375561567238 0.00047710639453652984 0 0 0 -6.331452502932919e-05 +9924 -0.0007086765409278745 0.0005764597751070173 0 0 0 2.961268100886671e-05 +8286 -0.00038533584875793996 0.00012894640405349588 0 0 0 0.00030441419574344167 +7113 -0.0006292279237943383 0.00033120108348803174 0 0 0 1.6180291672528575e-05 +7122 -0.0002958506449233738 0.0003138631930060691 0 0 0 1.7103877725150078e-05 +7139 -0.0007036277911815253 0.0005463834862969479 0 0 0 2.31531983630624e-05 +7148 0.0003122207368153882 -0.00022050025537511336 0 0 0 -0.0008373345930163477 +7150 -0.001687632368873944 0.0005875834276984667 0 0 0 -0.0021166908614258014 +7152 -0.0006235479456680637 0.00031577612333203055 0 0 0 8.705506410671903e-06 +7184 -0.0006429328799524442 0.00022840424201409882 0 0 0 -4.787287658101357e-06 +7191 -1.6004121440702747e-06 -7.529305478313259e-05 0 0 0 -0.00019612789953551678 +7197 -0.0007213189207058878 0.00028297777433750824 0 0 0 -4.632346508377001e-05 +7220 -0.0006488332748331732 0.0005455550975824734 0 0 0 -1.1186920643269827e-05 +7221 -0.0002521151050502131 4.398156964733344e-05 0 0 0 0.00011693364623218891 +7225 -0.0007122804804700406 0.0005439203625764339 0 0 0 0.00011778886233643481 +7228 -0.0005891501948631963 0.00024338270297082984 0 0 0 -8.96587308316526e-06 +7234 -0.00029175420067397714 0.0002752980941674029 0 0 0 2.2949050983271936e-05 +7242 -0.0006510244341013402 0.0004232751363523159 0 0 0 1.0016361082448354e-05 +7247 -0.00043234130289853794 0.0005398573256212473 0 0 0 -2.4714261532488397e-06 +7279 -0.00035855144557384754 -6.12549890019327e-05 0 0 0 -6.537063624232049e-05 +7282 0.0003579794465189327 -0.00018600163505633452 0 0 0 -0.0006939416224495502 +3031 -0.000669408002427205 0.00016784196291177832 0 0 0 -0.00016827133350849795 +5859 0.0004524381992868641 -0.0002446496571776111 0 0 0 -0.0001359044089733278 +4153 -0.0006804673824307928 0.0004110072032147214 0 0 0 6.285591845954278e-05 +9490 -0.0007114794498099415 0.00020368913294874913 0 0 0 0.0001596865615875218 +2510 -3.004757978957198e-05 -6.054109701702385e-05 0 0 0 0.00012264112454990207 +7367 -0.000404421465379724 0.0004167326914594802 0 0 0 1.7562036682612123e-05 +7369 -0.0003149637933088792 -0.00018981895752071944 0 0 0 -0.00019675064199280504 +7376 -0.000639147865563025 0.0003603050004451774 0 0 0 5.464698908319886e-07 +7380 -0.0006822750623825108 0.00045081696974867225 0 0 0 -1.0586573485955938e-05 +7388 -0.00016932865528260116 -0.00028706651702323986 0 0 0 -0.00012635270050599865 +7399 -0.0006968117933013471 0.0006977441699885454 0 0 0 4.828878420079754e-06 +7401 -0.0006898910840890032 0.00046818632678222893 0 0 0 1.3710546925153715e-05 +7402 0.0027553906389343364 -0.0009283696542746955 0 0 0 0.0005142787671513729 +7405 -0.0006306187604445432 0.0003530112020380177 0 0 0 8.614564305826471e-05 +5209 0.00025050751488859223 -0.00010926741057132685 0 0 0 -0.0001244926377934681 +2978 -0.00023996247642693155 0.00011996025425561996 0 0 0 4.1476334882589724e-05 +7432 -0.0007111314895545709 0.0004172474792501589 0 0 0 -3.6260992968249037e-06 +7449 -0.00044572296220745316 0.0003958534617831809 0 0 0 2.5790520386354995e-05 +7490 -0.0006490144268538166 0.0003807407418371528 0 0 0 -2.440194497311733e-07 +7510 -0.00048638496498147187 7.349082142176389e-05 0 0 0 8.797914103823479e-06 +7513 0.00018893166829150483 1.5377153787940023e-05 0 0 0 -0.0003526724388335663 +7523 -0.0004943116437394774 5.131378814429163e-06 0 0 0 1.8111742683276965e-05 +7555 -0.0007057448748787651 0.0007002951896603288 0 0 0 4.04278558371477e-05 +7580 -0.0006718598169501294 0.0003713961175083936 0 0 0 -5.0740109099585615e-06 +7637 -0.0006192856948780609 0.00024611608166941337 0 0 0 -6.7076222294099496e-06 +6085 -0.00011377699925611714 5.383222818176014e-05 0 0 0 0.00013258269564814763 +7653 -0.0005108857422996912 0.00022686192920358164 0 0 0 1.1039638876540156e-05 +7684 -0.0006114168714105192 0.0006185101231417771 0 0 0 2.267929149056424e-05 +7694 -0.0005552705871017902 0.0004553293710646114 0 0 0 -2.6160271777190793e-05 +7730 -0.0006549071654860866 0.00032777008840056434 0 0 0 4.048173189688526e-05 +7754 -2.7083985566406906e-05 1.7038772604228646e-05 0 0 0 -7.878432484421809e-05 +7762 -0.0006288957225860416 0.000655236388716051 0 0 0 -3.820921636526362e-05 +7763 -0.000566015708114767 0.00021176121426821405 0 0 0 4.4263428456333813e-05 +7771 -0.0004611083766096647 0.0002092901978729101 0 0 0 -2.1804576488491355e-06 +7773 -0.0006927629473960285 0.00023694378753653632 0 0 0 9.954814644480031e-05 +7840 -0.0006295179705987273 0.0005217880821586881 0 0 0 3.153388420052447e-05 +7929 -0.0005892191606129743 0.000259055822654897 0 0 0 1.046823968547258e-06 +2527 0.00019744870079056005 -0.00013967713218292037 0 0 0 0.0001294582750233142 +7336 -0.0005935191953845313 0.0006543531191915852 0 0 0 2.7009891091159464e-06 +7959 -0.0007542012196132238 0.0005370519612446683 0 0 0 8.743221267873585e-06 +7965 -0.00011020805630714517 6.105739693247161e-05 0 0 0 -5.8506457667331196e-05 +7993 -0.0004784305627481294 -4.7610939662291384e-05 0 0 0 2.9008092240226725e-05 +6037 0.0004345501461170684 8.370393759250587e-05 0 0 0 0.0002448747457062846 +8003 -0.0003076076903926834 -7.555292350741544e-05 0 0 0 -9.141515418979055e-05 +8029 -0.0006172208330465905 0.0005238080011651191 0 0 0 -9.730026137162247e-06 +8041 -0.0003442715386158605 8.173871659352319e-05 0 0 0 -9.84633324350529e-05 +8043 -0.00016838539734284464 3.094097466926253e-05 0 0 0 -0.00010137042589360006 +8046 -0.0004593006534133086 -0.00010364780327195936 0 0 0 -2.6486472431701395e-05 +8074 -0.0005159224946591028 0.00034426069209300876 0 0 0 6.218125730440354e-05 +8091 -0.0004825682919795333 0.00036144324782840464 0 0 0 2.2481590787615464e-05 +9929 -0.0003182638654413409 0.00020388166835980998 0 0 0 8.386223715628814e-05 +8108 -0.000523858381680922 0.00023321153568350205 0 0 0 2.1355572222759585e-05 +8116 -0.0002779694468184508 8.122981396406353e-05 0 0 0 6.584659305509518e-05 +8127 -0.0005872624166525995 0.00018981942238821336 0 0 0 -0.00011435376908945641 +8141 -0.0005935357444483301 0.0006203994698818315 0 0 0 2.3145852486786867e-05 +8181 -0.00044326826787130795 -0.00015262477848062824 0 0 0 -0.00012591620175912759 +8224 -0.0007052607901527482 0.00021383939897324784 0 0 0 -0.0001386831022231605 +8240 -0.0007201758381245809 0.00027420445346967924 0 0 0 6.444149730263463e-05 +8253 -0.0005025550141542213 2.8147218708748693e-05 0 0 0 -2.0455755620527333e-06 +6725 0.00039235277151846576 -0.00011241841009059085 0 0 0 3.5216749551242034e-05 +8273 -0.0006086279989171956 0.00024989910451637503 0 0 0 3.2690147083518806e-05 +8287 -0.00020454369685280897 -0.0001755597815676268 0 0 0 -8.69953036376734e-06 +8308 -0.0006698008754983609 0.00038063800100176 0 0 0 -1.1726588197333946e-06 +8317 -0.00013146581567950914 -0.00027113918335819516 0 0 0 0.0001523010192680185 +8335 9.096189688523794e-05 -7.244290108838581e-05 0 0 0 -0.0003642587464498452 +967 0.00033947968140696255 -0.00018998850924442393 0 0 0 5.265892770752207e-05 +8372 -0.0004139708565674216 0.00024111097251190342 0 0 0 2.778519822698748e-05 +8377 -0.0005609241322367813 0.00021304487875673723 0 0 0 1.2041277485337444e-05 +8428 -0.000625655900129578 0.0003130356778206058 0 0 0 -2.6819254947110622e-05 +9571 -0.00042095390758748895 0.0002670671254339868 0 0 0 7.160431256009197e-05 +8432 -0.0006732402342025083 0.0004044102944789525 0 0 0 2.5738106135489205e-05 +8435 -0.0006802608081178965 0.00014199108365485846 0 0 0 -9.217560983074572e-05 +8439 -0.0007152514864658118 0.00039409616728398346 0 0 0 -3.1128539172810095e-05 +8462 -0.00020483933086462688 -0.00021208615894278434 0 0 0 6.211854840433155e-06 +8475 -0.0006400811906152801 0.0001019238829008734 0 0 0 -3.1963469156353176e-05 +6838 -0.0019106274199778067 0.00016976568793133023 0 0 0 -0.0007276105364302176 +8491 -0.0006050660667626929 0.0002041134331321326 0 0 0 -3.700419848592457e-06 +8504 -0.0006460678720976413 0.00022606283509104164 0 0 0 9.452416767797237e-07 +8510 0.0007320034083447486 -0.00029967964984153417 0 0 0 0.0014166332467762045 +8530 0.0019548358236513097 0.0017281745939039326 0 0 0 -0.0002279310370961679 +8542 -0.0005846776960491973 0.0006327967802386414 0 0 0 4.744813301488495e-05 +8553 -0.0006903509769922612 0.00044273343795613723 0 0 0 8.082517425438892e-06 +8584 -0.0006537362211127093 0.000367448587334387 0 0 0 1.9376313071350113e-05 +5791 -0.0005631774479530602 0.00013862078595642028 0 0 0 -0.0007089802377376667 +8613 -0.0006841658773280924 0.0004175948926023547 0 0 0 -3.369923360925767e-05 +8666 -0.0006615099829487686 0.000393781815365386 0 0 0 7.45769517882521e-06 +9953 -0.0007626747236043473 0.0007332656385634098 0 0 0 2.6185868631525003e-05 +8701 -0.0003822634895640027 0.0002383424059940552 0 0 0 -9.330188774208737e-05 +8745 -0.0005468538842909767 0.0003695577800454929 0 0 0 2.313916410238438e-05 +699 -0.000354969451723708 0.0001568894573984133 0 0 0 3.3223821703761513e-06 +9934 -0.00021503101650001402 -0.00016266509463772896 0 0 0 -3.602048561833973e-05 +3318 7.362560514015915e-05 -0.00012211939270504756 0 0 0 -5.390063193722877e-05 +4936 0.0004455343997035798 1.664398486716078e-05 0 0 0 3.599608878770874e-05 +8816 -0.000658281845873003 0.00016712168552736757 0 0 0 -8.952135407080616e-05 +8823 -0.0006188869197092192 0.0005263521270086257 0 0 0 -1.0855258882646667e-05 +8832 -0.00024517469966166435 -6.419661390193523e-05 0 0 0 8.416282852792815e-05 +8845 -0.0005872605650370635 0.00023048871759653107 0 0 0 -1.1643444153833445e-05 +8857 -0.0006985563213068123 0.0004324041263205345 0 0 0 3.845768053112841e-05 +8862 -0.0003785186041407628 -0.00011549385373870209 0 0 0 -0.00010269335725565702 +8863 -0.000452537961450506 9.855580428995393e-05 0 0 0 5.8652694382176785e-05 +8881 -0.0006350998239078523 0.0005489020124570622 0 0 0 -3.2791475403447266e-05 +8891 -0.0006736364881399854 0.0007732661051343732 0 0 0 -8.82131712088581e-06 +9449 -0.000346238274135847 0.00021783831425750623 0 0 0 -1.3119607238082916e-05 +8940 -0.0003463128127213494 0.00022472902535411668 0 0 0 3.6582048765688864e-05 +8955 -0.0006634997110988861 0.0002134059672023094 0 0 0 -0.0001813112017746955 +8971 -0.0006266268019631845 0.0004765481816413714 0 0 0 -1.3449772343869084e-05 +8988 -0.0006407416016704714 9.793264676842318e-05 0 0 0 -6.381644007367599e-06 +8484 -0.0006837453777761293 0.00039058476570544553 0 0 0 -0.00012385661036770951 +6862 -0.0003692248795344876 0.0001908679223070085 0 0 0 -7.51399066187586e-05 +8960 0.00013095353026441073 -0.00027739574227740214 0 0 0 0.00013199238055925888 +9039 -0.0005736272907407018 0.00024728678988049607 0 0 0 -1.4188505261483662e-05 +9077 -0.00038794914659251575 0.0004318099358899668 0 0 0 2.88118888486715e-05 +649 -0.0006729753851373978 0.00037524118796680657 0 0 0 -3.7683417648394756e-06 +7302 -0.0006374911286302848 0.0004932898213371756 0 0 0 1.1436362275314201e-05 +9116 -0.000470756848209094 0.0006844097439834139 0 0 0 6.159047839605126e-06 +4874 0.00036314632949449165 5.4935978913531997e-05 0 0 0 1.0870596161424874e-06 +9133 -0.000494103729531339 0.0006942875491491535 0 0 0 2.026149299320975e-05 +9161 0.00042829490133348356 -0.00019158473699849512 0 0 0 0.00013087572756922025 +9182 0.0002696310717870153 0.0001260456928195337 0 0 0 1.806328082502551e-05 +7641 -0.0006313233748881094 0.000493548929425414 0 0 0 3.850258349378796e-05 +9986 0.0026409402647787797 0.0009015034888133612 0 0 0 -0.0002148168785658821 +9215 -0.00046549790705868456 -6.518143110656798e-05 0 0 0 4.0305447025980605e-05 +9216 -0.0013715693037034506 0.0008611629255808408 0 0 0 -0.0009640506361751337 +9218 -0.00018104804315700193 4.498593691788564e-05 0 0 0 0.0001292371444846212 +9222 -0.0008462283164543044 0.00018187424367097833 0 0 0 9.155774832516514e-05 +9232 -0.0007081881642154705 0.00020157394528927083 0 0 0 0.0002590417961795863 +4830 0.00011400186369047546 -0.000152667637445731 0 0 0 -1.5136501466617971e-05 +9280 -0.00046446603034438816 -8.276315318013616e-05 0 0 0 6.475149079321307e-05 +9313 -0.0006587735933088296 0.0003813140755853222 0 0 0 9.490292349168705e-06 +9320 -0.0007573356548430953 0.000750558268528691 0 0 0 -4.162424303324663e-05 +9329 -0.0011200962529638238 0.00014056372340165527 0 0 0 -0.00026849540294008505 +9340 -0.000592502124543813 0.0005264362073450313 0 0 0 -0.00014200706261520486 +2970 5.051444026019579e-06 -8.90539833295587e-05 0 0 0 -1.2401209634075946e-05 +9352 -0.0005967676490734057 0.00023537777278054146 0 0 0 2.1654297869085697e-07 +9382 0.0004598695035151187 -4.508717184121647e-05 0 0 0 -7.773755148821446e-05 +9400 -0.0007268243839109054 0.0004592952460449056 0 0 0 5.724314710018718e-05 +9420 -0.0005618885118080068 0.0003955597913757547 0 0 0 -2.916343162979079e-05 +9443 -5.825240261027593e-05 -0.0002849208474638865 0 0 0 1.2576365260667223e-05 +9650 -0.0006137742250572257 0.0003079562605693136 0 0 0 6.601005244051489e-05 +9464 -5.137321183018663e-05 -9.398334701467121e-05 0 0 0 2.518904062592968e-05 +9469 -0.0004429704086009969 0.00013215935200742534 0 0 0 -6.141057362665872e-06 +124 -0.0006200148432197904 0.00027252141368495653 0 0 0 -1.421504848279253e-05 +8990 -0.00033480655682248953 0.00019022840503740246 0 0 0 -7.794473191485506e-05 +8402 -0.00029729917414720377 0.00011732753046011263 0 0 0 -0.00010871956063539645 +2490 0.000283518708455455 -6.117741770556469e-05 0 0 0 0.0002081901088431871 +3672 6.601844867068046e-05 -6.08779880269403e-06 0 0 0 0.00024007335837311947 +4651 0.00020691093851071064 7.494115493270896e-05 0 0 0 -2.526290082256532e-05 +2621 6.416216917292639e-05 -2.701501819485587e-05 0 0 0 -0.00022671062917645657 +1381 -0.00045490318287978336 0.0008756298575105234 0 0 0 2.680036078400894e-05 +2348 0.0003325084986678487 -1.886682809084715e-05 0 0 0 4.09571953059621e-06 +2072 0.00015775448615370756 -0.0001518210828784421 0 0 0 -6.846467120733593e-05 +918 -0.00029444864481298995 0.00015756207327995533 0 0 0 -2.9406632218082366e-05 +1087 6.417273649708175e-05 7.732466861425575e-06 0 0 0 1.6373759538060394e-05 +6242 0.0002342753638205224 -0.0002319183381798523 0 0 0 0.000380982005181681 +3474 0.00043810505505406937 -0.0001404713132573294 0 0 0 -1.298426623949653e-05 +3217 -0.00024823904380219904 0.00022787684029468416 0 0 0 2.5628262544981438e-05 +9478 0.00035445058150171274 -0.0009297692798325185 0 0 0 0.0002074748274148007 +6510 1.4936363374983261e-05 0.000447420995756278 0 0 0 0.0001358183867113586 +5896 -0.00015063995884733486 3.1553757661156554e-06 0 0 0 5.7490568691816044e-05 +8303 -0.0002742471423837984 0.00019543977371870724 0 0 0 -1.5670287879519843e-06 +1551 -0.0004896987810051816 0.00018168998359549123 0 0 0 9.665153193183703e-05 +4508 0.000368343795055144 -2.4288749118795213e-05 0 0 0 3.8790707505621925e-06 +6619 0.000286923515624905 -0.0001300085424632117 0 0 0 -7.884676805537815e-05 +5403 -0.00037453297850717845 0.00019731054703995323 0 0 0 -0.0001508668411330646 +5798 -0.0007168670531875948 0.00036087211589877114 0 0 0 1.3057611425447316e-05 +5709 0.0003326751617573497 3.9885577416404324e-05 0 0 0 -5.294204705325831e-05 +9266 -0.0005755377039666335 0.0005981322736113244 0 0 0 -0.00010968297037403979 +6257 -0.00032021731882630295 0.0001932745931501467 0 0 0 0.00015769131883620492 +254 -0.0006478449041783608 0.00047493728335361914 0 0 0 1.518437771936743e-05 +8860 -0.00046621582612637935 0.00015915034010148196 0 0 0 0.0003929085741500309 +1178 0.0004700383838042236 -9.362339558310178e-05 0 0 0 -4.971806089011684e-05 +5577 -0.0005535521984584954 0.00037065094873144213 0 0 0 3.7366805536562944e-05 +9125 -0.0006748118271676396 0.000773525636104815 0 0 0 -7.065988651511746e-05 +6225 0.00020722159057033547 -1.4194803859047883e-06 0 0 0 0.00012396880318586576 +4675 0.0005312942255034042 -8.015093343817849e-05 0 0 0 1.9506342899666922e-05 +836 1.1817288613243483e-05 1.2133485309994046e-05 0 0 0 -8.288868719975756e-06 +5048 -0.0003002965619433724 0.00012089465403685934 0 0 0 0.00010715160699628774 +4067 -0.0003328762380055957 0.000403452235257223 0 0 0 2.249945879469621e-05 +308 0.0001519577053636314 -0.00010474104018466865 0 0 0 -6.051836915171389e-06 +3503 -0.0002332569900272758 3.866856213391233e-05 0 0 0 4.9631117341241175e-05 +5353 -0.0002690802791280687 0.0009820081545926151 0 0 0 -0.0007980265024787221 +7428 -0.0004865063043815064 0.0008627107405545894 0 0 0 5.559236614270545e-05 +5376 -5.423764976118042e-05 -6.0873700833789316e-06 0 0 0 7.155124236085113e-05 +6096 -2.3747447604418555e-05 -3.7190750634251366e-05 0 0 0 0.00014180342679481287 +7948 -0.0004208071300204239 0.0001683000777829586 0 0 0 -9.5155782998565e-05 +9509 -0.00040530840174524596 0.00014348643606608527 0 0 0 -0.0002068632911455558 +3850 -0.00047091476371702843 0.000887315618501206 0 0 0 -9.286297895107166e-06 +4450 -0.0004421971890792526 0.0001559115511691882 0 0 0 -7.92366284065772e-06 +4770 0.0003560708576841552 -4.6975963002146853e-05 0 0 0 -0.0001092243319468583 +4660 -0.00045408129608773864 0.00013807756507168634 0 0 0 -2.7084226542078987e-05 +9110 0.00041868734202089717 6.286549521837816e-05 0 0 0 -1.4757689931700374e-05 +2298 -0.0002638624523868029 0.00024407494583134263 0 0 0 3.714615676326687e-05 +2825 -0.0002942276874100707 0.0001511288841509706 0 0 0 3.240173212856775e-05 +8915 0.0004044863315229922 -8.018849108036167e-06 0 0 0 -4.75230428134225e-05 +3122 -7.245693353526484e-05 -2.7294371718985165e-05 0 0 0 -3.8356192518750585e-06 +485 -0.0001516738722647579 3.228430727793947e-05 0 0 0 1.7681996558635373e-05 +380 0.0005917272239629296 -7.143656303228448e-05 0 0 0 2.32537658381621e-05 +1384 0.0004597391516178066 -6.74692599989798e-05 0 0 0 -2.7306480458792186e-05 +8192 -0.0002732859317068353 7.198448494213915e-05 0 0 0 -3.302235057146072e-05 +7128 -0.00019433953752276222 0.00017290936632581108 0 0 0 8.979655470924962e-05 +5679 -0.0004248428322088846 0.00023092119685666523 0 0 0 -0.0004749673544719736 +8578 -0.00022768161070766101 -3.667041649233627e-05 0 0 0 -6.056379119520918e-05 +726 -0.0003077947813328127 6.128804329208373e-05 0 0 0 6.11646080923422e-05 +7619 -0.00036506794193262885 0.00021716630642225302 0 0 0 1.1649698914937965e-05 +7438 -0.0003135268311342501 7.57056711852492e-05 0 0 0 0.0005054851993067241 +3818 7.066293925141106e-06 2.3880828434063806e-05 0 0 0 0.00015951163721306875 +138 -0.00020815944647011603 5.5862385645543455e-05 0 0 0 2.14301362919093e-05 +7147 -4.901495219333691e-05 -5.786221510245006e-05 0 0 0 -1.8204949468301884e-05 +1295 -0.0002435808996428534 0.00015457522440025072 0 0 0 -6.713551569284811e-05 +1591 -0.00014421218430311013 0.00018078965095552578 0 0 0 3.459584687021035e-05 +1720 -0.00021209234206498692 0.00011928773538989007 0 0 0 -0.00012773916306272934 +637 1.7360821398725207e-05 0.00014748642658912357 0 0 0 8.178290247269792e-05 +9115 -0.00044855392381946757 -2.071781257056608e-05 0 0 0 0.00031335537496004665 +2301 -0.00021158487276739995 0.00015358670596177083 0 0 0 -8.03391494894259e-05 +9050 -0.00019747716034756958 0.00016077062894807395 0 0 0 9.210350700048769e-05 +2419 -0.000370547711152729 0.0001319266398495964 0 0 0 0.0002684213162819686 +7934 -1.936357028600233e-05 4.7073651970328814e-05 0 0 0 -3.3555355120918315e-05 +7177 -0.0002560739844512396 0.00010261095899552295 0 0 0 5.612399378810612e-05 +9792 -0.0004774086755823573 8.970644627410534e-05 0 0 0 -0.0004355492745791868 +7526 -0.0004867616985160927 0.00018470655262791842 0 0 0 0.0006017063693420351 +3097 -0.0003738220192205415 0.00025320903772256905 0 0 0 -0.0003036959680438254 +2385 -0.0005025583570453791 0.00010872468442179384 0 0 0 0.0003790897942410235 +3270 -0.0004643776429686421 0.0001532035649561094 0 0 0 0.00025009090537367323 +3309 -0.0005196719037645545 0.00017443715132798305 0 0 0 0.00029391551065919766 +3392 -0.0002790644525415653 6.089354782071235e-05 0 0 0 -7.169348967252109e-06 +6078 -0.00033592766599916773 6.426009157648946e-05 0 0 0 -9.197744806356458e-05 +8793 -0.0002152714769751855 0.0001617453505001394 0 0 0 0.00018904636840024532 +6641 -0.0005072110628788907 3.7693473291900144e-05 0 0 0 -0.0005868006178463807 +7542 -0.0002670721401547617 1.3524335639062548e-06 0 0 0 -2.8677361479059146e-05 +8762 0.000257896634567256 -0.00034857841025658906 0 0 0 0.000758567417704808 +744 -0.00023017204575402118 4.131990982916877e-05 0 0 0 -5.0404953679839585e-06 +9195 -0.00032429697302009057 7.21108111550212e-05 0 0 0 5.933196485848961e-05 +1958 -3.2842023781347146e-05 0.0002320326818023771 0 0 0 -6.414302978428355e-05 +7726 -0.0002993465396727212 4.387382432389967e-05 0 0 0 -4.310444707425221e-05 +1 -0.000569732975846702 0.00017028076540873577 0 0 0 -3.838216855164832e-06 +5282 -0.0004152467222915785 0.00034075214503330914 0 0 0 -1.6293128892143897e-05 +1765 -0.00032597912599576856 0.0002538533890920063 0 0 0 0.0001260579946682485 +12 0.0008385256946238465 0.00019037110273399449 0 0 0 -3.627897388211552e-07 +18 0.001148109443938377 -2.076417565321592e-05 0 0 0 1.8688802909172956e-05 +50 0.0004020525065847281 0.00028138443580116515 0 0 0 -2.8250131163080555e-05 +58 0.00014926276027985995 0.00046993564637940556 0 0 0 -6.0203841382498856e-06 +63 0.0009069339233954592 -7.011361117254908e-05 0 0 0 1.0337059367699234e-05 +116 0.0008948141185450891 0.0001388691471683616 0 0 0 -2.4936291797980615e-06 +143 0.0006917561146206887 0.00020715589881110778 0 0 0 -1.740927835344842e-05 +151 0.0008634781221635454 0.00016680143985377884 0 0 0 -4.402957380557723e-06 +158 0.00023860045783036097 0.00044774796712258413 0 0 0 4.775653740853733e-05 +167 0.000986412762579123 0.00014122712509780113 0 0 0 -3.797161176524546e-05 +9740 0.0001537661881380157 0.0004756855346588462 0 0 0 3.4651138610703086e-05 +205 0.0009326078060348132 0.00012520957579374638 0 0 0 -2.843189489027643e-06 +234 0.0008044731866991676 1.986380818579454e-05 0 0 0 -9.870264170929633e-05 +238 0.0008925462210441305 0.00019264009931039186 0 0 0 4.381113506696442e-06 +260 0.0009030469994684041 0.0002782107667383585 0 0 0 -5.056183785309976e-06 +299 0.0005742430053920384 0.0003233448797402298 0 0 0 -1.543631029592583e-05 +322 0.0008862189351729611 0.00015799531036956303 0 0 0 -5.047521104033112e-06 +325 0.0007592477135956389 0.00010806989010414568 0 0 0 -0.00020731968071204115 +386 0.0002996489044002835 0.0004065457288941173 0 0 0 -2.0388014519953177e-05 +1570 0.0008768022771385202 0.00012025598287177678 0 0 0 -1.8014358859738784e-05 +5170 0.0008953849457367337 0.0002503698788188355 0 0 0 -1.0105963634980595e-05 +4586 0.0009609224580800608 -9.857799692304284e-05 0 0 0 -2.1637966767062187e-05 +622 0.0008909877439892087 0.00026547154227160146 0 0 0 4.394471676405887e-08 +6930 0.0008426015317037701 0.00029746900712456355 0 0 0 6.754071094432028e-06 +636 4.5950288354409597e-05 0.0004132285136219927 0 0 0 -6.70438266744972e-05 +788 0.0007869700234057895 0.0003070853428476951 0 0 0 2.9599864660315243e-06 +799 0.00011765107746674922 7.893877352358513e-05 0 0 0 6.735810863583514e-05 +9834 0.0008660872819297311 0.0001622216498275218 0 0 0 1.2219187121717966e-05 +821 0.0009553087914473846 0.0002730598856146396 0 0 0 -1.0706483065395655e-05 +854 0.00039209657076861204 0.0002281161950927939 0 0 0 -5.493405794062625e-05 +869 0.0008926337301017254 0.00020465998036104277 0 0 0 -3.4471380996649944e-06 +874 0.0003877490037975598 0.000372505422131379 0 0 0 -4.294643710110197e-05 +877 0.0009404240815633728 1.0722898272462162e-05 0 0 0 5.169721207998417e-06 +6936 0.0008770213985834643 0.00018069431372203423 0 0 0 -1.2990671668078372e-05 +945 0.0009189378575450046 0.00014671096314740098 0 0 0 2.1329815471950425e-05 +1037 0.0005487953269650085 0.00025806715247506345 0 0 0 -0.00022279105832356819 +1044 0.0009501243494770107 0.00027746237887140074 0 0 0 8.35225565363014e-06 +7444 0.00019299801378331078 0.00022354853640527567 0 0 0 8.714125997127775e-06 +1112 0.0009449857616654272 0.00029039045309646005 0 0 0 1.5538353757352345e-06 +1137 0.00047666900302119087 0.00026365387286409354 0 0 0 -0.00013201719149434575 +9285 0.0008922020138932083 0.0001644802939656284 0 0 0 2.78742074042725e-05 +9407 0.0008734597663002099 0.00014860594563090093 0 0 0 -5.503588749906596e-06 +1206 0.0009149391114120365 0.0001385421520708483 0 0 0 2.7926084391749848e-08 +5093 0.0008332558740203197 0.0001965771224424815 0 0 0 8.25599000373934e-06 +2337 0.0008452353882050245 0.00018909608145895268 0 0 0 8.85157982965944e-06 +939 -1.2116507379423175e-05 0.0004547947487190239 0 0 0 -2.1858680891499e-05 +1275 0.0007429804956132557 0.0002624936490711172 0 0 0 -3.196888956613986e-05 +1296 0.00015094697095586045 0.00026292074899333674 0 0 0 -0.00012235247172858623 +1309 0.000925719368040085 0.00013664400091007483 0 0 0 1.902035632128484e-05 +1312 0.000915071607982004 0.0002116351655621996 0 0 0 2.3321997829484044e-05 +5774 0.0009313494923048368 -6.75442416659304e-05 0 0 0 -8.269066201286013e-06 +1341 0.00012498579306807802 0.00032523847911972826 0 0 0 -0.00010950760112773687 +1342 0.000785882904382291 0.00025851657643629787 0 0 0 3.764955338244511e-07 +7582 0.0009333159957141489 0.00010599721389837272 0 0 0 -1.1120731860891965e-05 +1385 0.0009393542002799044 0.0002449829974349698 0 0 0 -5.825272975668948e-06 +2546 0.000856121192781496 0.00020210440586781455 0 0 0 6.330538485354357e-06 +1404 0.0008548865537728108 0.00027606803847559833 0 0 0 -5.080022993102923e-06 +1417 0.0008504523960668614 0.00020260529253006808 0 0 0 4.254924222153978e-06 +1445 0.0006472628189374226 0.00027080965535167354 0 0 0 -3.88514590926362e-05 +2102 0.000955866789412348 -0.00013909876273826303 0 0 0 1.970720514367021e-05 +1530 0.0008358809246480198 0.00020428554142010554 0 0 0 1.0349341490330448e-05 +1666 0.000592278499133798 -0.0001272510073790388 0 0 0 0.0001010379951400287 +1677 0.0007422828545043297 0.00032565253803245106 0 0 0 -1.3472597335346709e-06 +3039 0.0008348023349967731 0.0002702349913874444 0 0 0 1.1178933891629274e-05 +1683 0.00041696879142859295 0.00021460921951723836 0 0 0 -0.00029393733306826267 +7587 0.0009136625322475142 -0.00018067642052612068 0 0 0 4.045975254015576e-05 +1746 0.0008643314239574206 0.00018720077327145118 0 0 0 9.980724439914194e-06 +1752 0.0008675081243326244 0.00028094688391648863 0 0 0 -7.842475575706882e-07 +1789 0.0005247252113618901 0.00021494849998785203 0 0 0 -0.00010006499949125301 +1828 0.0009154383606737854 0.0003173966912378297 0 0 0 -7.204159291293894e-05 +1835 0.0004738910924683673 -5.530565173425398e-05 0 0 0 1.4823124573404198e-05 +1868 0.0007535125796068946 0.00031943255942820306 0 0 0 -1.7533298114053926e-05 +1872 0.0008553019740043052 0.00020816074902102087 0 0 0 5.051556104455127e-06 +1899 0.0008606342058989928 0.00019745892127759823 0 0 0 -9.225516946032378e-06 +1916 0.0002894153637923524 0.00041637719005864395 0 0 0 -0.00014956469876828237 +1929 0.0006433263181196452 0.0002072271371993228 0 0 0 9.996275979463506e-05 +1942 0.0004426204989616857 0.00036187885209846096 0 0 0 -0.00017905470803190814 +4083 0.0005081902654646287 -4.110515118055095e-05 0 0 0 1.655846046399029e-05 +1977 0.0008423969168917565 0.00026335903380936526 0 0 0 -2.181105310659574e-05 +1980 0.0004241559529770592 0.00019644140497085012 0 0 0 0.00012721665191838205 +2007 0.0002272243416490653 0.0002304953556763755 0 0 0 0.0002604460754200768 +2019 0.0008547811964736685 0.00020740677465813672 0 0 0 -1.2145742172189756e-05 +2025 0.0008398714672912965 0.0002953582790697961 0 0 0 -1.5988751875347935e-05 +2064 0.0009310298954001431 0.0002846440650681849 0 0 0 2.8500295276306493e-05 +2090 0.0008113213911979766 0.00028932837503951517 0 0 0 -1.271576462283319e-05 +2109 0.0010145805812143815 0.0004718084967387796 0 0 0 -5.372995632212326e-05 +2136 0.0009443263479934706 -3.858429956127896e-05 0 0 0 -4.953905259371613e-06 +2233 0.0009343075167523753 0.00011228642830665468 0 0 0 -1.8593312139675e-05 +2243 0.0008724902654584722 0.00014684911017766008 0 0 0 -4.1905369814587684e-06 +2279 0.0008523478554288405 0.00016407970474461135 0 0 0 4.659487566173788e-06 +2321 0.0009202399032145846 0.0001386288021553929 0 0 0 1.1070658065369314e-06 +2324 8.266235948324588e-05 0.00048105555277993205 0 0 0 7.285048620349994e-05 +2325 0.0008585473508113736 0.0002346097934006345 0 0 0 1.1507794662047196e-05 +2329 0.00047508915383319764 0.00023771502860103804 0 0 0 0.00012451901755237136 +2336 0.0009403606910920071 0.0002580924801282913 0 0 0 -4.612182687026399e-06 +9822 0.0008781054494980073 0.0005191350766290955 0 0 0 -2.368204914167717e-06 +2363 0.0008196045735201997 0.0001582338727115893 0 0 0 -5.8876966545785374e-05 +505 0.0008975063474255418 -0.00020544418648316368 0 0 0 5.39766929022908e-07 +2374 0.0009069371685860242 7.86099496778924e-05 0 0 0 5.6609664347878284e-05 +2406 0.000928717625231355 0.00024053387578864128 0 0 0 1.981521372421242e-06 +2439 0.00021338659557776411 0.00045239768663848115 0 0 0 -2.1378038667030513e-05 +2443 0.0008478787575853852 0.0003167637186641756 0 0 0 -3.067084598144534e-05 +2455 0.0002994794057764259 0.00039719988103581585 0 0 0 -5.390057322665491e-05 +4266 0.0008249104360740916 0.00022566486801904888 0 0 0 2.1856644390604023e-05 +2597 0.00012758258210598258 0.00032876622976204725 0 0 0 -0.0003961255050272233 +2613 0.0011089363802638786 8.805056297164069e-05 0 0 0 1.6253869689916127e-05 +4056 0.0008493688042558519 0.0001678032552193743 0 0 0 -8.333563303733102e-06 +2705 0.0007834424831297471 0.0003150131444773275 0 0 0 -5.943003860396915e-06 +2746 0.00021018068925395257 0.0003251615466913021 0 0 0 0.00023506501231935117 +2760 0.0008859303873932853 0.00019533943061306926 0 0 0 1.1731021598920074e-06 +2765 0.0009888743467785107 0.0002555239688268066 0 0 0 -8.562787391421418e-06 +2790 6.680321179630579e-05 0.0004867985102424663 0 0 0 1.5866260595230485e-06 +3453 0.0008606398913741796 0.00016222331013203078 0 0 0 -3.5629397359782926e-06 +2826 0.0006232488922409038 0.00015123081638434955 0 0 0 2.1258420433548618e-05 +2841 0.0008709063158529746 0.00022687811487619004 0 0 0 3.690663940357966e-05 +2863 0.0007543207683702568 0.0003079421448418295 0 0 0 -1.657404148064534e-05 +7767 0.0007786590416535854 0.0002908892019820655 0 0 0 -1.2663547378425574e-05 +2907 0.0008574422415092922 0.00020184755205979394 0 0 0 2.6114514190874074e-05 +1202 0.000890807866664551 0.000160185345540269 0 0 0 -9.625968800901203e-06 +2945 0.00039732231785933583 0.00034585695782713555 0 0 0 4.760437212387435e-05 +5204 0.0001248583331933296 0.00023544950003436145 0 0 0 5.7877027801297026e-05 +3095 0.00047683584334336796 0.0003253169941206089 0 0 0 0.00013015645224745756 +5110 0.0009413499318008004 -4.880247936999915e-05 0 0 0 2.3738427605635534e-05 +3128 0.0009493400656642228 -7.23918860708623e-06 0 0 0 -2.3594914241634636e-06 +9829 0.0024243159235021417 -0.00024195154814202506 0 0 0 -0.00180190634691826 +3152 0.0008698508293325733 0.00017289801625090267 0 0 0 -1.8978561403037058e-05 +9350 0.0008319854648460711 0.0002904552541197833 0 0 0 -2.1992906453088285e-05 +3246 0.0009549248891243139 9.287123505308644e-05 0 0 0 6.015483239199337e-05 +3330 0.0008565020669370079 0.000180857420759508 0 0 0 -6.160169636114294e-05 +3353 0.0007500005734472218 0.0002110013358875232 0 0 0 2.3694043343081356e-05 +3372 0.0006620017251065439 0.0003247642966031608 0 0 0 -4.794413204749765e-05 +1826 0.0008720632486419668 0.0001548417445518835 0 0 0 4.898867427282075e-06 +5905 0.00015368615441255915 0.0004924632230947138 0 0 0 8.222252835237701e-05 +3424 0.0008964867898476548 0.0001420165804824915 0 0 0 -1.2395246932784566e-06 +3441 0.0011105163005509055 0.00015356460089795162 0 0 0 -0.00016319485596869834 +3479 0.0009103327611080356 0.0002249503150489957 0 0 0 0.00013983581567411405 +3491 0.0004911720138203633 0.00024189755126224294 0 0 0 -7.245983412713645e-06 +3522 0.0008760808288126605 0.0001560325201558289 0 0 0 -6.548941741567478e-06 +3532 0.0005744615232950002 0.0003031742304584993 0 0 0 -0.00020293628660169287 +3541 0.00018940700043614344 0.00019068449122991882 0 0 0 -8.584460863677297e-05 +3543 0.0006408376449298554 0.0003328677054401305 0 0 0 -2.218162931716728e-05 +6080 0.0009439186777256196 -3.329403211821894e-05 0 0 0 2.4549807628669872e-05 +8920 0.0008438010884918995 0.00019921950246220527 0 0 0 5.501512993105226e-06 +3613 0.00025926708566059004 0.0004486359087055471 0 0 0 6.383758978491606e-05 +3621 0.0006894610635594611 0.00012675979628571426 0 0 0 0.0005315305785211931 +4720 -0.0001745910431451375 0.00031857824143735603 0 0 0 -0.00023302801217694238 +3669 0.0005730686341689887 0.00036088130621677916 0 0 0 9.49780620900479e-05 +3705 0.0008008153118212231 0.00029697405657308463 0 0 0 -1.942726517728896e-05 +3710 0.00017282728239988773 0.0002751516670882323 0 0 0 5.346145566292893e-05 +7499 0.0009240592077530198 -0.00010730694906977418 0 0 0 3.227739371346069e-05 +3730 0.0009065332269268256 0.00024826270582091394 0 0 0 -3.921095651919728e-05 +3780 0.0009455066118661973 -1.7301349929354562e-05 0 0 0 3.710841186414313e-05 +3804 0.0012129000197651431 4.059463171539906e-05 0 0 0 -9.7512309880787e-05 +3814 0.0005124676491483249 0.0002657972647805174 0 0 0 -3.111065453061558e-05 +6227 0.0008236879284660612 0.00023784790479412871 0 0 0 -2.3951669846487163e-06 +3854 0.0008456679458769711 0.0001967254605392125 0 0 0 8.910151027790374e-06 +8948 0.0008167943120998082 0.000240556076420187 0 0 0 -1.1129624053765717e-06 +3882 0.00011434639930973913 0.0004778580988251154 0 0 0 6.0224371104164025e-06 +3887 -2.842992860281086e-05 0.0003187193427610612 0 0 0 -0.0002400267271091613 +3897 0.00032889583853110523 0.0003981200767209249 0 0 0 -8.869726775634736e-05 +3861 9.44243913528532e-05 0.00022046599613637194 0 0 0 -0.00010921923117927704 +3949 0.000654643360466629 0.00016008633446447268 0 0 0 0.00017048062299619135 +3962 0.0008872180876746003 0.00017943709760935952 0 0 0 1.296517903024072e-05 +3980 0.0008781203524619362 0.00018471013476949584 0 0 0 4.481412857283438e-06 +3993 0.0007894382313364961 0.0002832300084979262 0 0 0 -1.3205135979039815e-06 +4008 0.0009067641772665328 0.0001631981341587381 0 0 0 1.3486518861471747e-05 +4033 0.0007938119072702648 0.00027206146310911446 0 0 0 -0.0004553221904666727 +3824 0.0009539873915407218 -9.718095650961389e-05 0 0 0 2.641363651774805e-05 +4085 0.0008924709107349384 0.0006028006750444645 0 0 0 -0.0001221695305990818 +9878 0.00019469435312359046 0.0005194524939674798 0 0 0 -4.348997422547381e-05 +4121 0.000620627977026198 0.00013674205348278154 0 0 0 -0.0002561643357126601 +4144 0.00011743950038316086 0.00023142094286258123 0 0 0 0.0003806060429239216 +3538 -0.0003818556858808896 0.0002641013764525081 0 0 0 -5.594836788928867e-05 +4168 0.0006925211017816177 0.00023071576590549911 0 0 0 -3.6419426940434637e-06 +6977 -6.70241690909809e-05 0.0005326740236478787 0 0 0 -0.00026518805469539597 +1110 0.0009482322585292176 -5.6059700038278166e-05 0 0 0 1.8754742241980973e-06 +4239 0.0007752196912099121 0.00020799131661035732 0 0 0 -5.568825740080709e-05 +4246 0.0008572634146790537 0.00021985856763725637 0 0 0 -1.188045754520169e-05 +9698 0.0007495387272988627 0.00028853913001199014 0 0 0 1.1685799861477503e-05 +4268 0.0009177671137193967 0.00025021864005086314 0 0 0 4.966388473080435e-05 +3094 0.0008696466141623404 0.00015625420396378346 0 0 0 6.019739444296895e-07 +7056 0.0008883628938209175 0.0001770253011801677 0 0 0 -1.4232765346216216e-05 +4281 0.0009049509543556513 0.00024326503880702286 0 0 0 -1.8514527823275483e-05 +6516 -0.00025355324944201354 0.00040288220317394465 0 0 0 0.0005661658187589246 +4321 0.0004937906936824115 0.00022265828473587464 0 0 0 0.0003369225516039856 +4342 0.0005295394724891259 0.0001088635539129405 0 0 0 7.45929168370091e-05 +4371 0.0007058984887696125 0.00030123842085998256 0 0 0 -3.125426952462306e-05 +4411 0.00034284722625333027 0.00022164052023153358 0 0 0 -4.400354929761777e-05 +4418 0.00022012353814062092 0.0002056656572559698 0 0 0 -0.0006602241034622019 +4488 0.0012065700368867668 0.0002484958686763136 0 0 0 0.0005567307202857523 +4498 0.0009177891776831271 0.0002200516212986677 0 0 0 2.3416752985418427e-05 +4509 0.0004905757102378795 7.7508819467488e-05 0 0 0 -6.367141624269655e-05 +4580 2.7755533075031785e-06 0.00047841925925325455 0 0 0 -0.00014555028434010318 +4705 0.0008511479731166322 0.00025554793539789695 0 0 0 -5.8872790558173625e-06 +8135 0.0008498671358766689 0.00018002166236196792 0 0 0 6.71692920869983e-06 +4759 0.0009111608247986012 0.00013212875685569053 0 0 0 6.350025567580437e-06 +7685 0.0008896905439272511 0.00017007282126857125 0 0 0 -1.2467439572856748e-05 +1769 -7.542289571315806e-05 1.7669464678911526e-05 0 0 0 -0.00014863560125265095 +3661 0.0008715432145880053 0.00014841032529995358 0 0 0 4.4716800519402655e-06 +4856 0.0007893122095205342 0.00031029163726761783 0 0 0 2.9705681347349174e-05 +4957 0.0006153803602057559 9.431655050379896e-05 0 0 0 2.3472883063954295e-05 +5000 0.0001620565571088453 0.0002712722081383416 0 0 0 -0.0003556638035110799 +9888 0.0008645742770704905 0.000168860496867419 0 0 0 -1.2070697832673158e-05 +5039 0.0006067874467236256 0.00017263350201346755 0 0 0 0.0002665405372539185 +5047 8.373881383285727e-05 -4.547475805773404e-05 0 0 0 -0.0002273133061488302 +9955 0.0008091853616931867 0.000298279576291739 0 0 0 -2.9969880131456557e-05 +5113 0.0009044596163735476 0.00025739034591018415 0 0 0 5.764584418852043e-06 +5121 0.0001323947123865039 0.0003507954483968786 0 0 0 -0.0006294568061370182 +5135 0.000718707835817568 5.507653352062163e-05 0 0 0 -0.0004899917979890058 +5303 0.00029736327674534374 0.0004242258510844166 0 0 0 -3.443875645075403e-05 +5320 0.0003265064970670238 0.00039863815444863405 0 0 0 -6.334317958617886e-05 +5343 0.0009072181171282274 0.00015224282223249696 0 0 0 -2.4533194282908165e-05 +5358 0.0009590345768769166 0.00030477764323060094 0 0 0 -1.0963206243806101e-05 +8494 0.0005881791974162841 -5.504847382746192e-05 0 0 0 0.00022098569536615245 +5460 0.0006730700340653788 4.2926684056920126e-05 0 0 0 0.0003812305060173252 +5492 0.0005143728367909073 0.00011226523221197632 0 0 0 -0.00040830494626016805 +5499 0.0009511141709799955 0.0002822459452745738 0 0 0 3.2956480460441447e-06 +4806 0.0009399768165611011 -0.00016729889717334435 0 0 0 2.1617019346875183e-05 +5673 0.0009013721545084172 0.00022636271840976616 0 0 0 1.5136018627035673e-05 +5695 0.0008639325427140252 0.0001791495470339923 0 0 0 1.2658136510315411e-05 +5728 0.0003624194235162646 7.529384191214354e-05 0 0 0 3.080914367558491e-05 +4728 0.0008737614573288807 0.00013763284235960647 0 0 0 7.679605922402587e-06 +8625 0.0008743987964350432 0.00019910264668180575 0 0 0 9.379983016768034e-06 +5792 0.0009359765775693604 0.00025146326524742515 0 0 0 2.458746921178086e-05 +5833 0.0009417655748037583 -3.0308536688769196e-05 0 0 0 -6.9195323411345045e-06 +5857 0.0006913995036431921 8.598996967434732e-05 0 0 0 6.548105325076409e-05 +5865 0.0009101718720200243 0.000681842007204538 0 0 0 2.737571170782826e-05 +5870 8.347370724689155e-05 -4.523155734009903e-05 0 0 0 -0.00013144935873641604 +5890 0.0006939797786618906 0.00024988273327336915 0 0 0 -0.00010067657953152579 +5541 0.0008629421808803781 0.00016459533493327184 0 0 0 2.483420154874718e-06 +108 0.0008929001122503456 0.0002584579981624448 0 0 0 1.4872882359715066e-05 +5934 0.000690262484599407 0.0002284552285494997 0 0 0 0.00017272292283896702 +5978 -0.00020303943466409591 -0.0002972916605753419 0 0 0 -0.0002568519294549066 +5990 0.0009127460228677416 3.76271510569073e-05 0 0 0 7.56209607239693e-05 +6062 7.314239571446364e-05 0.0004963280716537727 0 0 0 -0.000233274336140717 +6073 0.0002452202152769221 0.00013843870817617182 0 0 0 -0.0007295253028527015 +9754 0.0008437279154034208 0.00018459390648832745 0 0 0 1.0044405545662026e-06 +9824 0.0008323443129979486 0.00015841396232859622 0 0 0 1.180678103293133e-06 +6108 0.0009510959177044495 0.00028791868968475935 0 0 0 5.906082843653756e-06 +6158 0.0006361654151250738 0.00029934006526806845 0 0 0 -5.7222711899942725e-05 +6171 0.0011563044984067227 9.010725909172512e-05 0 0 0 -7.532793548928306e-05 +6177 0.0008526096865296707 0.00020406354791798896 0 0 0 -3.1458034259014865e-05 +6190 0.0003896172016599951 0.00036675419672302384 0 0 0 -7.280692155772001e-05 +6230 0.0009260696727684928 0.00023998446383499358 0 0 0 -3.0321982141564233e-05 +6243 6.597989996874238e-05 0.0003735228246763463 0 0 0 -0.00027545872713312185 +6262 0.0008621125143077854 0.00016880840600484978 0 0 0 6.647574939285028e-06 +6301 0.0009435170599261847 0.0002527408541006535 0 0 0 -4.164291029257993e-06 +6308 0.0008017894805047401 0.0002613080384052302 0 0 0 -4.765897222979437e-05 +6309 0.00014156543184909296 0.0005017090367192385 0 0 0 -3.3070889716727423e-05 +4583 0.0008916401263006397 0.00016918351646105054 0 0 0 -4.211640844947662e-06 +6406 0.0014863955934598374 -0.0023160267314662735 0 0 0 -0.0064067543511261114 +6453 0.0008447647311591933 0.00028672594515038785 0 0 0 -2.7762727027818356e-05 +6486 0.0009108528236196259 0.0002616835673453477 0 0 0 -2.161441808451542e-05 +9927 0.0009120969882458573 0.00020611236960945206 0 0 0 -1.2042916252242903e-05 +6528 0.0008460033067579683 0.0001741932637199536 0 0 0 -1.4598486385555063e-06 +6533 0.0008995938969593825 0.00026124296582192565 0 0 0 1.7011918943256427e-05 +8009 0.0008725733353141012 0.00012584786936954318 0 0 0 4.570112327532666e-05 +6562 0.0008765405898993586 0.0001410276998810149 0 0 0 -2.6404683544440806e-05 +6644 0.0008155909874208593 0.0001840125596650555 0 0 0 0.00010486740901722124 +6646 0.0006350988857185428 0.00015711389570668806 0 0 0 0.0001895116150450841 +6650 -0.00247700154495732 -0.005377589625817144 0 0 0 0.008866158396459666 +6658 0.0003074619289535362 0.00034007319730530706 0 0 0 -4.015358198089288e-07 +6670 0.0005704031933382588 0.00021482999399696407 0 0 0 1.8680294890968992e-05 +6698 0.0009671379765967585 0.00020733345141942886 0 0 0 8.004357560385815e-05 +6712 0.0008678856281808549 0.00014675063275656442 0 0 0 2.4927158498982043e-05 +6736 0.000848618090174268 0.0003272237074745047 0 0 0 -0.00016189104141973128 +6505 0.0008747396266928887 0.0002503378019713015 0 0 0 -2.7947132998541998e-05 +6760 0.0006752076187841341 0.00031474733727008706 0 0 0 -0.0001203375396280285 +6773 0.0002540596967854016 0.000454568744715293 0 0 0 -4.2365456561977276e-05 +6788 0.0003003243438441773 0.000499008845077698 0 0 0 -0.00013773937220592087 +9710 0.0006537176636030237 0.00027308576404100446 0 0 0 -1.172483467694993e-05 +6793 0.0005628822943866017 0.00035627680723632465 0 0 0 0.00015859918883818024 +6820 0.00023252609616328265 0.00012551650965650913 0 0 0 -0.00023613279367111278 +6865 0.0008550831942800122 0.00016586527726094016 0 0 0 1.9400079214859858e-05 +6872 0.0004236848650416157 0.0003020063887525033 0 0 0 -0.0008978093109519832 +6885 0.0009976495952802378 0.00030791809908516815 0 0 0 6.057043759989726e-06 +5434 -3.9549669159539964e-05 0.0005201086585626417 0 0 0 4.405615124440576e-05 +6923 0.000590201852355045 0.00035375902581508096 0 0 0 -2.417628934203416e-05 +3544 0.0008635639983108139 0.00016093121285528118 0 0 0 1.9016962468603016e-06 +6980 0.0008154652078472716 0.00023431379321424978 0 0 0 -1.3143020288876163e-05 +6991 0.0002653611234206048 0.0004609560578535659 0 0 0 -0.0003325158155071467 +7009 0.0009395557130691322 0.0002539756312580494 0 0 0 -3.7236061651451916e-05 +7033 0.0008245413696177588 0.0002445799274349965 0 0 0 -2.756693501975694e-05 +9874 0.00036225426971407064 0.0003789599288975351 0 0 0 0.00032681004393438475 +7073 0.0006044965228064745 -0.00015214158981655322 0 0 0 0.0004685975833171321 +7087 0.0008470940824087563 0.00017304008466781666 0 0 0 -1.0907153876503555e-05 +7093 0.000344863738156384 0.00037859724700789184 0 0 0 0.00026533095634123183 +7156 0.0008322913785761229 -2.518090702319799e-06 0 0 0 0.0005521227291344162 +7190 0.00039273219008903763 0.00038216142378608435 0 0 0 -9.447118401856475e-05 +4119 0.0008629149046840115 0.00016347392706336065 0 0 0 4.904487276226435e-06 +7292 0.0002422741756006538 0.00041311558377287973 0 0 0 -3.0813814214297667e-05 +7298 0.0008668572297304915 0.00016700814561678893 0 0 0 -2.0585619280485328e-05 +9830 0.000977785124208558 0.00029782550339287625 0 0 0 2.342185099329548e-07 +3412 -0.0004963527854592539 0.00022165419527358393 0 0 0 -0.00033685657227036794 +7518 0.0009023771540440148 0.0002555029916935598 0 0 0 2.4807127592104215e-09 +7519 0.0006219772617050084 0.00023811672898190402 0 0 0 3.071066792483951e-05 +2799 -0.00030897920590274345 0.0004355357661771916 0 0 0 -7.243889202434075e-05 +9632 0.000855488818368006 0.000158804216804674 0 0 0 -1.8827876468542083e-05 +7631 7.89713731068436e-05 0.000489354941564168 0 0 0 2.9580974661513744e-05 +7676 0.0009259291896645459 0.00014533818065747827 0 0 0 1.9734738157994057e-05 +7710 0.0008753220422956508 0.0002689778439971637 0 0 0 -2.1112372975421727e-05 +7719 0.00027003431739653326 0.0004313242297096584 0 0 0 1.630791737691827e-05 +7741 0.0005002257485249937 0.0002945087700922371 0 0 0 -0.0002423449130159384 +7019 0.0008454298669552577 0.00023025031403610456 0 0 0 5.0268294950200915e-06 +7896 0.0005481427556627075 0.0003548330009647007 0 0 0 1.0000149403850715e-05 +7920 0.000893852948985916 0.0002566139242769005 0 0 0 -5.708759706928539e-06 +7953 0.0008706794187000697 0.0002746271026941001 0 0 0 -3.292886028814137e-05 +7956 0.0009614298345203484 0.00023494809430558647 0 0 0 9.047072200089927e-05 +1375 0.0008818905927627661 0.00017516026554563222 0 0 0 -5.404596826761653e-06 +7976 0.00038692728232633046 0.00026497192309570547 0 0 0 -0.000175694582683303 +7982 0.0004381712988459558 0.0002949346948506194 0 0 0 -5.781142837708991e-05 +8375 0.0008577656491582761 0.00017015258335690767 0 0 0 9.8087905257932e-06 +8027 0.0008389796037406848 0.0002946150789628027 0 0 0 4.858596282386147e-05 +8089 0.0008342461040468018 0.00021676539717721254 0 0 0 5.761112831857467e-05 +7239 0.0008696748655019332 0.0001555238998387978 0 0 0 1.4210449432683372e-05 +6389 0.00022308708123952649 0.0004387253551092512 0 0 0 -9.640777733883604e-05 +8140 0.0005465679470700288 0.0002316246947214555 0 0 0 4.295847542495761e-05 +8227 0.0009236783944328087 0.00012035813713539286 0 0 0 3.7095393103870563e-06 +8231 0.000879047251717791 0.00031882883435582185 0 0 0 1.504306968942787e-05 +8234 9.535004831825252e-05 0.0004806098814327345 0 0 0 -1.736160065009783e-05 +8241 0.0008366589466969568 0.00021820732528684555 0 0 0 -4.464302754648335e-05 +9601 -3.507704912096094e-05 0.00046039335803334426 0 0 0 -0.00010261693217743861 +6370 -8.569150600813287e-05 0.0005221383774109984 0 0 0 -0.00010708031635365323 +2000 0.0001780309724332114 0.00022115390326880993 0 0 0 -6.0454280717192805e-05 +8334 0.0016783054836866894 0.0012325499886154927 0 0 0 -0.0003021213404603856 +8345 0.0008208138888406308 0.00029003101596029526 0 0 0 -2.0012807351600542e-05 +2522 0.0002148943993169947 0.00021594253276704373 0 0 0 0.00017077063175042264 +8354 -0.0006956242789827705 -0.0002549052856832644 0 0 0 -0.0007942093263162823 +8413 0.0008235031887118227 0.00014317241332652958 0 0 0 8.739981546175108e-05 +9670 0.0006308585794923942 0.0003528468102083226 0 0 0 -0.00026544478457675636 +8460 0.0007145551210366079 0.0002058667698261499 0 0 0 -5.089477364647643e-05 +8468 0.0005784595450507687 0.00025289530020069324 0 0 0 -0.00020183548274742174 +8486 0.0001504912790979838 0.00043979304887525487 0 0 0 1.1442971285330583e-06 +8507 0.0009020266010109698 0.0002551300061770987 0 0 0 6.67869926835616e-06 +8524 0.0009110497559523584 0.00020662820620595987 0 0 0 -3.735336182706549e-05 +8564 0.0009465002540544921 0.0001667117697513681 0 0 0 0.0002548241522776158 +2745 0.0008779638296389554 0.0001429324180961209 0 0 0 -1.0905848094059622e-05 +8582 0.0008495888653552664 0.0002700388243497399 0 0 0 5.283482911925391e-05 +8595 0.0008482283636718208 0.00023152778435116112 0 0 0 -0.0001783556844725973 +1080 0.0008756053615597835 0.00017592282487592458 0 0 0 -3.9532494286441294e-06 +8649 0.0009053028703367832 0.00013949412290187896 0 0 0 -1.1916314688769103e-06 +8653 0.0008845387879218253 -6.820435142691769e-05 0 0 0 -0.00027737269513462246 +8656 0.0008145263812738271 0.00027574039422275233 0 0 0 0.00013536228884735249 +8669 3.06796403809874e-05 0.00037155762162073834 0 0 0 8.615577716638091e-05 +8683 0.0007302451718040554 0.0003179334652647493 0 0 0 6.647865282312165e-06 +8684 0.0006769722244284572 0.00023762880867276822 0 0 0 0.00013762225300066247 +8712 2.5184793357671258e-06 0.0004025102970528303 0 0 0 -0.00030337950477994733 +8755 0.0007971285254852785 0.00039531581071255826 0 0 0 -0.00019782514570061563 +8488 0.0008390921673180879 0.0001720938613564046 0 0 0 -5.9008512360452555e-06 +4043 0.0008423593140187527 0.0002089314800082862 0 0 0 1.3234341961367579e-05 +8851 0.0009067035225105428 0.0002771555576468996 0 0 0 -4.206766724773879e-05 +8907 0.0008667821030223308 0.0001722320410186229 0 0 0 1.7837628315050432e-05 +8922 0.0008103064114695223 0.00030150373240013544 0 0 0 -1.4953224037971828e-05 +8958 0.0004054448134310489 0.00022513620354555467 0 0 0 0.0002071104097570966 +9008 0.0011878872640680058 1.9544320163486585e-05 0 0 0 -2.1689322023762445e-05 +9011 0.0005940015245303737 0.0003157699581695203 0 0 0 0.0005159975591758745 +8984 0.0008481582356759499 0.00016264564895179245 0 0 0 -1.6952392405138798e-05 +9129 0.000527079117145787 0.0001697982092447275 0 0 0 -1.3791196981496792e-05 +4666 0.0008356044128955423 0.00025003430816875787 0 0 0 1.5399016823314747e-05 +9152 -0.0005727594369682163 -0.00025598345449189105 0 0 0 -0.0015247277905198467 +8369 0.0008751395969699415 0.00016708462652181684 0 0 0 1.945502160080528e-05 +9180 0.0008484966215964831 0.00017890437030300876 0 0 0 2.169529403618475e-05 +9193 7.786550659168734e-05 0.00024093067624198928 0 0 0 -0.00023478494275529005 +9199 0.0005047380865019743 0.00013762418441630429 0 0 0 0.0007202318209107551 +9209 0.000945194880298169 0.00027333356261812674 0 0 0 8.181567598733588e-06 +9212 0.0005865319732046993 0.0002731911500536918 0 0 0 1.7709459388123115e-05 +9245 0.0009768167459837103 0.0003129042628949758 0 0 0 -4.0569355815640214e-05 +1538 0.0008559165023097561 0.00016110455839260762 0 0 0 1.113050133139834e-05 +9310 4.559914022426938e-05 0.00043657835033196517 0 0 0 0.00028405281220883065 +9325 0.0003528131993318804 0.00025908480946083444 0 0 0 -0.0001604014555674067 +732 0.0009245718061168565 -9.584456270256542e-05 0 0 0 1.3078145816975316e-05 +9343 0.0008930625314098039 0.00016877148365979035 0 0 0 3.1252990516979295e-05 +9346 0.0008782083149839699 0.00016673519814197052 0 0 0 -7.81975670946505e-05 +9349 0.00028307979673381726 0.00022913907600534777 0 0 0 3.18006989320618e-05 +7359 0.0008612010842736171 0.00016626594113344979 0 0 0 3.411776146903812e-06 +9359 0.00040101274654130237 0.00020100159018783943 0 0 0 -0.0005411485756116026 +9388 0.0007953326385067957 0.00031823979924481654 0 0 0 -1.8543619363235526e-05 +8902 -0.00026810380370093914 0.0004934799452207146 0 0 0 -0.0003893581648696535 +9437 0.0008590439279363053 0.00023574276978490172 0 0 0 -3.047591109693234e-05 +634 0.0008307376755271352 0.0002298761712485994 0 0 0 -6.206111157319894e-06 +8294 0.000732353556100831 0.000328545204585276 0 0 0 -0.00024221015696510007 +3758 0.0009621413569205555 -0.0001236432917771807 0 0 0 4.617196319859879e-06 +4472 0.0008341329618504786 0.00031521601017669694 0 0 0 5.568966190739439e-05 +3144 0.0009512265117388527 0.00031561515306474376 0 0 0 1.3998021206638193e-05 +8679 0.0009090896105560829 -0.00021407419701476832 0 0 0 2.273713682653951e-05 +9714 0.0009343417239307828 0.00011136778495753679 0 0 0 -1.57715980032307e-05 +13 -0.00041156909298605357 0.0013111720219506904 0 0 0 -3.02683528859546e-05 +21 -7.55626402698936e-05 0.0012498363388758335 0 0 0 1.5859529168326855e-05 +32 0.00046036478368156685 0.0013094834588392658 0 0 0 9.073393169092165e-06 +54 -6.987940427853995e-05 0.0012983974691869649 0 0 0 1.746076444023052e-05 +70 -0.0003068483598697417 0.0011100644668855769 0 0 0 3.949542958094605e-05 +9911 -0.00036298249062200854 0.0013769871152092225 0 0 0 -5.887126975355231e-06 +83 0.00047885635867669387 0.0009396540548848384 0 0 0 1.2300033316464307e-05 +121 0.000325898967122067 0.001185123224793537 0 0 0 9.590561202948499e-06 +1410 -0.0003795069482285048 0.0013816748315904016 0 0 0 3.3006827880758144e-06 +133 9.1931481795175e-05 0.001280395400766716 0 0 0 -3.6317310616103383e-08 +186 -0.00027473655005321124 0.0013460101590456602 0 0 0 1.1963306512566563e-05 +203 -0.00033442590231063746 0.0014430277764284154 0 0 0 1.0928257260235688e-05 +250 0.00016202588188116344 0.0012213218258237224 0 0 0 5.5626640874732085e-06 +257 -3.548659134787816e-05 0.0011656283483985348 0 0 0 2.691990111505838e-05 +8707 -0.00030177773356725564 0.0008624420656137218 0 0 0 -2.1934378700372182e-05 +4395 -0.00038745423462541065 0.0012718247313565788 0 0 0 2.724477672232767e-05 +1218 0.000720208788709856 0.0013496241437422557 0 0 0 -1.4906650284473954e-05 +284 0.0007448510737720832 0.0006133998030107945 0 0 0 2.7217651441254443e-05 +300 2.700494416020484e-05 0.0010317653284455325 0 0 0 2.827247946815953e-05 +332 0.0002375074089739612 0.0011310645835866152 0 0 0 3.7033586461572504e-05 +335 -0.00020650772372002679 0.0013732077904213655 0 0 0 1.7486589657522752e-05 +347 0.00036952505991715516 0.0010378233576784368 0 0 0 -3.2755000719163594e-05 +355 0.0003854843200791215 0.001237583927941801 0 0 0 1.1242876263001036e-05 +374 -0.000172010220261331 0.001289604650027552 0 0 0 1.03188247279377e-05 +379 -0.00027419456055230717 0.0012581669323011402 0 0 0 3.704683393092953e-05 +128 -0.0003681628861809377 0.000994248707057777 0 0 0 1.8290802957620668e-05 +394 0.00019035930621071921 0.0008039776807356862 0 0 0 3.060172125865317e-05 +419 0.00040798476960039113 0.0009414808945484928 0 0 0 1.7707559596909987e-05 +434 0.0004378498648352607 0.0012187742427749856 0 0 0 6.522788418230706e-06 +437 0.00048347516834460884 0.0011585903553447627 0 0 0 4.334694714633589e-06 +454 -0.00017352117250528617 0.0012382037387101725 0 0 0 0.000146989728059942 +456 -0.000277182157424641 0.0014100116799633927 0 0 0 2.8055436417088592e-05 +468 0.00017559530987439745 0.0009728090697425779 0 0 0 3.730323230212861e-05 +484 0.00018184765301501398 0.0012039437655972077 0 0 0 1.4877421664703286e-06 +487 0.0003462694107286107 0.0011183074012491559 0 0 0 1.598942133851882e-05 +495 0.0001540770873425931 0.0010474353417787845 0 0 0 6.128961974512302e-06 +2919 0.0005505063271170901 0.0012469740180297082 0 0 0 2.552667355769203e-05 +513 -5.121172541141324e-05 0.0012331109445425843 0 0 0 -8.639159504321784e-05 +8172 0.0005865554188697269 0.0005770768155144852 0 0 0 6.709997674881025e-05 +528 0.00012361686433684155 0.0012255522854972927 0 0 0 1.661166310831559e-05 +2997 0.0005647093975267659 0.0005642942630752216 0 0 0 3.242614688141621e-05 +3871 0.0007123085764262511 0.0012176593063431714 0 0 0 1.7623507117672664e-05 +670 -2.7371050918776763e-05 0.001034994238060281 0 0 0 1.3652214551300443e-05 +698 0.00043816066489613196 0.0011206740550710548 0 0 0 2.7686105944787942e-05 +723 0.00010850169095166924 0.0011890993560595235 0 0 0 -1.532293414858773e-06 +733 -0.00031348273595462164 0.0012657141254082476 0 0 0 2.4727004709962294e-05 +745 7.435004147625406e-05 0.001250061055628231 0 0 0 1.016341770410197e-05 +749 -0.00043839418042587166 0.0011293947862569785 0 0 0 3.213050461233466e-05 +753 -2.7895787487517137e-05 0.0012429019543522522 0 0 0 -9.70927470290967e-06 +777 0.0003605445242797734 0.001247882869930233 0 0 0 2.015001634382106e-05 +814 -0.0004181685176667609 0.0012763828130578647 0 0 0 9.858674157473664e-05 +764 0.0005227820280247641 0.0011356716897882447 0 0 0 1.0458915226190291e-05 +876 -0.00013975049756999644 0.0011466038016025861 0 0 0 2.053601052841499e-05 +883 9.684177303107668e-05 0.0012039779024553756 0 0 0 -5.708018017286069e-06 +935 -1.2350026889117325e-05 0.0012796266027361013 0 0 0 -8.839770873157867e-06 +956 0.000491943945263999 0.001152418145899736 0 0 0 1.669672373913023e-05 +960 0.00023035952184273604 0.0011941801520959341 0 0 0 -2.4081304041389276e-05 +965 -0.00025696536575744614 0.0012213573766088261 0 0 0 1.8908606715575846e-05 +973 0.0003380693091948501 0.0012431634316666038 0 0 0 2.5986258512616144e-05 +1006 0.0006837370374059111 0.0008126047050562769 0 0 0 3.6878320247638685e-05 +1018 1.2361873753569488e-05 0.000985836079028182 0 0 0 -1.919871904774193e-05 +1035 0.0005059497685757259 0.0009949961602436115 0 0 0 3.573570153808515e-05 +1045 0.0003576827579329775 0.0012228168343813104 0 0 0 -9.46141235973319e-06 +1090 -3.325757011043415e-05 0.0012007158032905749 0 0 0 1.6527922005569036e-06 +1103 -0.00028894279820899135 0.001250116124827708 0 0 0 -2.3879747801169687e-05 +1136 -0.0004569977450279622 0.0013245380691922675 0 0 0 -5.339121663712402e-05 +1141 0.0004949677976127624 0.001175727886457613 0 0 0 2.9064488782894823e-06 +1149 -0.00037644352520241613 0.00087149940208291 0 0 0 4.805315182880936e-06 +7441 0.0004849428997448211 0.0006333774938470853 0 0 0 -8.173824485755191e-05 +1164 -0.0002889052597429568 0.0014082120216717552 0 0 0 -2.5785063809472486e-06 +6123 0.0007878303577964643 0.0013300559768742292 0 0 0 0.00010380252311966936 +1185 0.00034490847579686875 0.0007370520445396859 0 0 0 4.074258057153712e-05 +6974 -0.0004321943939187272 0.0012385813522472573 0 0 0 2.5975580227901463e-05 +1194 0.00013132201360115028 0.0012642290838974282 0 0 0 3.602229848601538e-05 +769 0.0007293336831752467 0.0010070204228523369 0 0 0 1.469474484267212e-05 +134 0.000541858358434462 0.0011804654129354713 0 0 0 1.9808594707504787e-05 +1225 0.000264868981421689 0.0012139655748320659 0 0 0 1.8175264608920615e-05 +2167 0.0005293735447492638 0.000650418708739513 0 0 0 3.971988753675564e-05 +1352 -0.000133354699194224 0.0012749719271608144 0 0 0 1.9219243459852142e-05 +1355 0.0004363811999897066 0.0007671417510684512 0 0 0 6.678756603352034e-05 +1362 -0.00011287019281013213 0.0012153472888616294 0 0 0 2.1273324350041516e-05 +1395 4.3217889051442644e-05 0.0009979321298007903 0 0 0 -5.9398440958169775e-06 +2485 0.0004547026444329844 0.0011364977084766194 0 0 0 -0.0003439078890402378 +8768 0.0006333837891164262 0.0012306599212445657 0 0 0 -7.840100153441883e-06 +1434 -0.00027442874056901275 0.00112924096981626 0 0 0 1.5960762989341415e-05 +1439 -0.00017428272841652216 0.0013096643347596556 0 0 0 1.4707248053142163e-05 +1441 -8.697615910121816e-05 0.001081308090643123 0 0 0 -3.6662753820868897e-06 +1467 4.60190612225855e-05 0.0012393843917833164 0 0 0 -2.63005599238668e-05 +501 0.00042151666947644854 0.0006034953838254966 0 0 0 3.0279659862337567e-05 +1518 0.0002003812455997326 0.000906792298529194 0 0 0 4.8758400627021103e-05 +1531 -0.00040556894328391184 0.0012707797055081032 0 0 0 0.00012148125458742602 +1543 6.357888606566591e-05 0.000990124831703445 0 0 0 -1.2579726366064259e-05 +1550 -0.00014549743300506444 0.00148265796848198 0 0 0 3.163248086244979e-05 +1560 -0.00016697294820657848 0.001235551753379491 0 0 0 2.5110600270422407e-05 +1565 4.223247645010106e-05 0.0012697715106203152 0 0 0 1.8232345452050572e-05 +9893 0.0005537107427687929 0.0012446996829996494 0 0 0 1.0364028090512632e-05 +1575 -0.00029112563838267007 0.0012623802319941182 0 0 0 2.289303409186833e-05 +8102 0.0007259417418804315 0.0010036581146197674 0 0 0 -3.172177106527035e-05 +1593 -0.000115706296841091 0.001141257543117435 0 0 0 2.7024175226944558e-05 +1599 -0.00031220084116372987 0.0014013024565786068 0 0 0 1.1226144858176868e-05 +9668 0.000335473658123378 0.0010305949885033557 0 0 0 0.0005401045488211476 +1620 -0.00018930574511395282 0.0013866496675086011 0 0 0 1.9319610574395005e-05 +1660 -0.00011741730686521048 0.0012563986670898772 0 0 0 8.856540953994594e-06 +1674 0.00013854861976226953 0.0011707802909882161 0 0 0 6.812165116410634e-05 +1680 -0.00039943478337777774 0.001314431065337146 0 0 0 1.048748752714458e-05 +1716 4.800385295740887e-05 0.0012230166346629985 0 0 0 2.13136571440332e-05 +1727 2.290512479479495e-05 0.001270326747572396 0 0 0 9.819596255257808e-06 +1728 -0.00018019865510634988 0.001196209600499884 0 0 0 0.0001206366488868584 +1732 -0.0003823186173340116 0.0013267744120472615 0 0 0 -5.649275011773621e-05 +1755 9.339966097792801e-05 0.0011178585435367577 0 0 0 -5.9219492844181024e-05 +1758 -0.00022669122554334496 0.001231761951183374 0 0 0 1.4759705243743155e-05 +1768 0.00023779613928897662 0.0010449375738858487 0 0 0 3.4826779098919766e-05 +7789 0.0007071109508828148 0.0010321287666361664 0 0 0 0.00016320770971415375 +1796 0.0007529336333502426 0.0010287046669914472 0 0 0 -1.633069188474971e-05 +1829 0.0004657296088585213 0.0006959959372648721 0 0 0 2.640083490792833e-05 +1838 4.129661996691221e-05 0.0011983039623825523 0 0 0 2.841874413761356e-06 +1848 -0.00025970461824083876 0.0013712865666202108 0 0 0 -5.555217957720469e-05 +6753 0.0009725995474154291 0.0016705880039667878 0 0 0 0.0007874752866780819 +1894 -5.890167210436214e-05 0.0011495319857938579 0 0 0 3.746762281991789e-05 +1943 0.0002244542705781416 0.0009305059297119733 0 0 0 1.2287835790127819e-05 +1968 -0.000361164397184487 0.0013265630187419691 0 0 0 0.0002635157243029937 +2002 2.974825106183617e-05 0.0011636069430120436 0 0 0 2.7289397344028654e-05 +2006 7.900997451567683e-05 0.0010598151623122554 0 0 0 1.0928371353773832e-05 +2015 0.00038466696618282334 0.0012602016704280886 0 0 0 3.345983698512154e-05 +2028 0.00011948213214377489 0.0011837881819982327 0 0 0 0.00013523773191789507 +2042 0.0002839772315351703 0.001185932824081224 0 0 0 -2.8462201388133467e-07 +2068 0.0004800320093281049 0.0008015362871681572 0 0 0 4.5732894690364636e-05 +9539 -0.0004302576904941054 0.0011567777543676158 0 0 0 4.538195763199233e-05 +6039 -0.0003371099433517823 0.001399792005635793 0 0 0 1.8333917351451995e-05 +2126 -0.0003208691266813612 0.0012679771824596678 0 0 0 1.6334242020281796e-05 +2143 -4.342599056782062e-05 0.0012260382284734756 0 0 0 -0.00020679431511699708 +3634 0.0009929706474945332 0.0011808372820173447 0 0 0 -1.6421257741422735e-05 +4494 -0.0003569330844657046 0.0013993079105466977 0 0 0 9.109702100097704e-06 +4275 0.0007542367899830492 0.001407428929390132 0 0 0 8.87898914869059e-05 +2235 -0.00037298496845713234 0.0010903477295413936 0 0 0 1.9531561826584723e-05 +2258 4.588394438001322e-06 0.00123374172778401 0 0 0 1.886352335498626e-05 +8376 0.0011145692900407383 0.0015303028505492128 0 0 0 -0.0005543227303634619 +2273 -0.00010382347148610607 0.0012395843983672497 0 0 0 -2.084938512193156e-05 +2311 0.0001745370927316695 0.0012913984490821784 0 0 0 2.351833963542289e-05 +2323 -0.00046248744899704053 0.0010590732980779154 0 0 0 -3.2460106203254535e-05 +2331 -0.00022168742897316158 0.0014120785704011764 0 0 0 8.308574146165235e-06 +2346 0.0007311508333550962 0.0010685728206918104 0 0 0 5.438642057684565e-05 +2347 0.0002394572991032264 0.0008522972383341498 0 0 0 3.304277466025762e-05 +2361 0.00039363697418340224 0.0009477263244879065 0 0 0 3.594487756396703e-05 +2388 -0.00037083578899703104 0.0014391214452377369 0 0 0 1.4858757690092662e-05 +2403 3.1620734430894686e-05 0.0008625009897325499 0 0 0 -2.525080686043047e-06 +4917 -0.00038697073357059597 0.0013718274396703502 0 0 0 -4.17657364884006e-06 +5909 0.000678713144643627 0.0011541481450587966 0 0 0 1.9331679125359842e-05 +7016 -0.0003704579146162712 0.0014151711631724107 0 0 0 -2.3245681351634556e-06 +2458 0.0002835930985256538 0.0011773417708961934 0 0 0 4.644661500738494e-05 +2463 0.00010130412333862306 0.0012023174066916945 0 0 0 1.5042610943641974e-05 +2475 -0.0003675038722291626 0.0012333618405732047 0 0 0 3.574799703629371e-05 +2482 0.00023480780564693094 0.001114427132099181 0 0 0 -1.2717021318463568e-05 +2489 -6.0766966321388115e-05 0.000900835450118088 0 0 0 6.041623460344397e-05 +2513 0.0002598017502235917 0.0011496693177592214 0 0 0 -4.792794727656252e-05 +2517 -8.414569283909788e-05 0.0012476553380359324 0 0 0 3.8387271056976835e-05 +2528 -0.00015108868409912464 0.0013611787289479539 0 0 0 1.135808760417753e-05 +2536 1.4358795929495122e-05 0.001284216405115008 0 0 0 -2.1073033457695652e-05 +2549 0.00020599233145360193 0.0010291973000214004 0 0 0 1.3829575486177124e-05 +3334 -0.0003925577716471146 0.001363408727282761 0 0 0 -4.328279466777827e-06 +2596 -0.00019399459458734555 0.0011856773475828425 0 0 0 -4.970522073218997e-06 +2610 -0.00022595935080452418 0.001410076714790363 0 0 0 5.2895976525938075e-05 +2630 -0.00023171130488426424 0.0013948700757905068 0 0 0 1.1590668544803321e-05 +2632 0.0003335696021204667 0.0011607176341534183 0 0 0 3.5217291427071e-06 +2634 -0.00028008723684481784 0.0012939294221820225 0 0 0 7.897201196247226e-06 +2656 0.0005732044200621903 0.0010901298625083087 0 0 0 2.878828678157995e-05 +2659 -0.00017437869053968844 0.0013260606259108004 0 0 0 3.5556733703242404e-05 +2685 0.00012770932749994908 0.0012889069286631302 0 0 0 -2.6574650431667927e-05 +2690 -1.1921436272546176e-05 0.0009058483733622729 0 0 0 7.2969256317630385e-06 +2710 -0.000335844018981374 0.0010821152790095085 0 0 0 3.9369791243270416e-05 +823 0.000546175847364759 0.0011067189709290503 0 0 0 1.9143149357169976e-05 +2752 -0.00023534713064709387 0.0011288512457887838 0 0 0 1.047723035921741e-05 +2773 0.00025312679684825736 0.0012058283066427556 0 0 0 3.0506318963223826e-06 +3706 -0.000426012183562028 0.001092918269316519 0 0 0 3.3753395856058755e-05 +5831 -0.0004150897686989677 0.001338749379467989 0 0 0 3.4139730791794424e-06 +2846 -0.0002899202484214172 0.0011540325820741507 0 0 0 -0.00018625185642870862 +2851 0.0003050799337825935 0.00125947286849451 0 0 0 -1.4915059401403418e-05 +2853 0.00043766995874899807 0.0011694260642098994 0 0 0 1.836154702427996e-05 +7805 -0.0003829031053487508 0.0013779535838487128 0 0 0 1.9711772867245166e-05 +2883 0.000578428316920088 0.0010970382154296616 0 0 0 6.305148265477075e-05 +2949 -4.122196139301728e-05 0.0008898977101846802 0 0 0 -3.585210045252738e-05 +2990 -3.96181986321634e-05 0.0012677091084248538 0 0 0 -7.845298963413077e-05 +3038 0.0004353233026386905 0.0008785445936448452 0 0 0 1.3217927450190178e-05 +1905 0.0005304750651021246 0.0012466666386249685 0 0 0 5.151955419715066e-08 +3089 -4.820938987648438e-06 0.0011575146313386729 0 0 0 -2.341834398514424e-05 +2819 0.00022588441602245155 0.0007726142064304447 0 0 0 6.662343687283679e-05 +3106 -0.0002360888776761068 0.0011615442369937521 0 0 0 0.00010437081579573891 +3129 -1.4211703077782771e-05 0.0012622394152520917 0 0 0 -8.140754104241801e-05 +3159 0.00038397940153037937 0.001121749309255946 0 0 0 1.0084833318634278e-05 +3185 -0.0003879686254272386 0.0012668061082062208 0 0 0 -0.00011849638359396211 +3188 -0.0003639459001494816 0.001066139519267362 0 0 0 -1.5006575441059166e-06 +3199 -0.00019899938270145784 0.0014294567171468547 0 0 0 6.176453842896923e-05 +3211 0.0005013488783883913 0.0011426987685873758 0 0 0 -6.393153286355532e-06 +3226 -0.00021505967191777118 0.0010559759258150635 0 0 0 5.0994213026574625e-05 +3228 0.0002993728630283719 0.0011399977255443382 0 0 0 2.1850998393477415e-05 +3236 3.6012197945161026e-06 0.0011926229007971092 0 0 0 -0.00023736939372830533 +3266 8.29309797300276e-05 0.0008809453721177258 0 0 0 -3.18444655322704e-05 +3286 -0.0002693592050041015 0.0010726385205513257 0 0 0 2.548233437420322e-05 +3287 8.367730298093093e-05 0.001272200812242628 0 0 0 2.5390248688917145e-05 +3293 -0.00020480042508567395 0.0010709225292132355 0 0 0 -2.0626314512575812e-05 +3302 0.00036314875758252843 0.0011619082363714705 0 0 0 3.3215644179222004e-06 +3310 -7.674470021329369e-05 0.0011233700037145365 0 0 0 -0.0001322498891722871 +3335 0.0003794811887670021 0.000935230685048791 0 0 0 8.333546441107951e-05 +3365 0.00044164864755741096 0.0010699262039411484 0 0 0 7.280068957006989e-05 +3366 -0.0001136612974343415 0.0011850375877655965 0 0 0 5.044200251029557e-05 +8528 -0.0003644834572614225 0.0012591988031769546 0 0 0 1.5467076867815925e-05 +3416 -0.00032234782437428195 0.0011967870309669206 0 0 0 0.00033292653604558356 +464 0.0008632538329671545 0.001269973816684721 0 0 0 -0.000155283508787589 +3481 -0.00031669495480803945 0.0012593258758894995 0 0 0 -5.549152188347692e-06 +3497 0.0004125278953785797 0.001236471237275337 0 0 0 2.7205471198234732e-05 +3502 0.00039232143371786875 0.0012496409196530711 0 0 0 -1.930557752603719e-05 +3512 -0.00035873951991421043 0.0013036874882110805 0 0 0 -2.1225997317883305e-05 +3523 -0.0003883728149435347 0.0013769880907307486 0 0 0 -0.00013260297368298466 +3534 -6.875419212213108e-05 0.0011485645387359802 0 0 0 3.417812570087857e-05 +3542 -0.00038220976556724344 0.001290596937037355 0 0 0 -5.584878275222339e-05 +3547 0.00012321079712525375 0.0012101805603985387 0 0 0 2.2387152080931698e-05 +7012 0.0006045090613784841 0.0012337779989252426 0 0 0 1.2197389349891187e-05 +171 -0.00037358500591275147 0.001350487550901559 0 0 0 1.2774215693608805e-05 +3569 4.374400828792851e-05 0.001303155150389507 0 0 0 8.723450759442709e-06 +3579 0.0005039748112658023 0.0010760310206867618 0 0 0 2.6847207731742814e-05 +3585 -0.0003394528587566733 0.0013360882295046486 0 0 0 -2.211516891662123e-05 +3597 0.0004034655236226869 0.0008571747734319544 0 0 0 2.1710816711002288e-05 +654 0.0007104826776766391 0.00127435933999371 0 0 0 1.5313539063494266e-05 +3610 0.0002569968315342401 0.0009661386319418426 0 0 0 2.784399219774355e-05 +3665 -5.9636347643445365e-05 0.0011218265329871213 0 0 0 7.391121489549054e-05 +3674 -0.00012651903928246022 0.00140245732709915 0 0 0 8.471362607142266e-05 +3675 -0.0003940778941458108 0.0012629576703557036 0 0 0 8.942225851102793e-05 +7787 0.0007028983158034277 0.0012731403108157573 0 0 0 1.3666942442088816e-05 +3680 -0.0001439714381208865 0.0012911154252669241 0 0 0 -1.3386669642222651e-05 +3697 0.0006343836861292063 0.0007126817591685025 0 0 0 5.5759718752369e-05 +3733 -0.00034192300137433706 0.0013836147016874768 0 0 0 1.3935875381345247e-05 +3838 0.0002708460686460907 0.0012473106490242 0 0 0 -5.573144882027296e-05 +3863 -8.583248813439617e-05 0.0009250197339409039 0 0 0 5.020598533768081e-05 +3869 -0.00014042067674387715 0.0012616390785691008 0 0 0 3.239687181147029e-05 +3879 -0.00026252336785382533 0.0014280825343052565 0 0 0 -4.404195473379741e-05 +3903 -1.5403769098552864e-05 0.0012341510336584226 0 0 0 0.0003061250503551927 +3934 -0.00015186294314808375 0.0013606695687412974 0 0 0 -1.1777883571492131e-05 +3942 0.00012549703393085018 0.0012312653232392334 0 0 0 -0.00015074920343816526 +3966 -0.0002412357991097695 0.001267661543229384 0 0 0 2.6030334823395477e-05 +3973 -1.6937159797199436e-05 0.0011363645318767357 0 0 0 -7.008617513141553e-07 +2399 0.0006902763340864811 0.00126742248942212 0 0 0 2.4854385395682255e-05 +3997 7.745241977672888e-05 0.0012921830262338965 0 0 0 1.220475420522022e-05 +2736 0.0009596079008078015 0.0010518080719087396 0 0 0 0.0010112887203103287 +4005 2.909841873511577e-05 0.0011257019355738545 0 0 0 2.985132548704387e-05 +4017 -0.00015996698372521602 0.0013472574397128253 0 0 0 -0.00011890165663838216 +4034 -0.000268560469166185 0.0012904535454873404 0 0 0 1.1240658473510795e-05 +4038 0.00016421419329802777 0.0012196131137998736 0 0 0 -1.4571038602683997e-05 +4040 -0.0001643292389088366 0.0011506669881778306 0 0 0 2.6205636988441754e-05 +4048 0.0001794790706142636 0.0011994720871510215 0 0 0 -2.08418006851113e-06 +4072 0.00011046899074203904 0.0010183810865312703 0 0 0 3.492083672358674e-05 +4075 -0.00018316921070978817 0.0013246089012870096 0 0 0 2.0461889299537345e-06 +4101 -6.566604404293272e-05 0.0010861284471299529 0 0 0 8.969740980242572e-05 +4109 0.0004997857145476905 0.0011172924251047214 0 0 0 1.863996832544108e-05 +4110 -0.00014549291836258424 0.0013462234717481257 0 0 0 3.660460523174396e-06 +4732 -0.0003534969296844864 0.001457806195280191 0 0 0 1.947274009818379e-05 +608 0.0006053522976376825 0.0006808278428470881 0 0 0 2.682243593386989e-05 +4243 9.081635631993121e-05 0.0012271644102356477 0 0 0 4.020178386844312e-05 +4289 -0.00018938872148749884 0.001200409343769962 0 0 0 -0.0003121261366367095 +8157 -0.0003834361983894599 0.0012237153700934114 0 0 0 1.3534450598517333e-05 +4326 -0.0001087079151832226 0.0012148729416465145 0 0 0 -8.92341528435761e-05 +364 0.0005231773588921845 0.000515166590160897 0 0 0 2.1843254919100153e-05 +4335 0.0005167757302823213 0.0007840762822949261 0 0 0 6.17472799671049e-05 +4337 -5.446450101012677e-05 0.0011894864890486584 0 0 0 2.2281819122631088e-05 +8904 0.0009640755745092008 0.0012994609235629432 0 0 0 1.3750002295077642e-05 +4372 -0.00038544209243037184 0.0013532975939153293 0 0 0 0.0003030248116048441 +7027 0.0025290326297078202 -0.0004962240918079761 0 0 0 -0.001423225208544251 +2727 -0.0004229159887959677 0.0012397765978484133 0 0 0 1.9483298758881573e-05 +4902 0.0007833011808266851 0.0013485338333889066 0 0 0 -3.1289639625762814e-05 +8188 0.0029028732766652834 -0.00036080364751493044 0 0 0 -0.0018192012506429707 +6616 -0.0003599763254374015 0.001387601273910451 0 0 0 1.644449133290402e-05 +4439 3.3883789843248884e-05 0.0012954186276544922 0 0 0 -3.992549779083006e-05 +4482 0.0003594617740087976 0.0007519717685321896 0 0 0 5.8713829981667214e-05 +4485 0.00020125997667085575 0.0011632834842543662 0 0 0 -2.3558429534385487e-05 +4490 -0.00039905668356197813 0.0011215886112856581 0 0 0 2.9435650964763405e-05 +4504 -0.00043258929671333005 0.0010732664853684514 0 0 0 -6.552176061053342e-05 +4505 -0.00017814911190046497 0.001300871122628648 0 0 0 -1.3300583331883682e-06 +4506 0.00023542217526793647 0.0013329881615624021 0 0 0 -3.376179019870304e-05 +4538 -3.3668280996035275e-05 0.0008933394447424759 0 0 0 1.6137458206890377e-05 +4543 0.0002947141250427712 0.0010055990014574455 0 0 0 3.398193561534418e-05 +4556 -0.00040285991210420964 0.001025232158490574 0 0 0 -8.547465488168073e-06 +4559 -3.2324943678817276e-05 0.0013776583315109779 0 0 0 -0.00028568387998416443 +2256 0.0005027417600668792 0.0011250160897195056 0 0 0 -1.0729347631312723e-05 +4587 0.00017826048229042376 0.0012452885587040943 0 0 0 0.00014194248695966743 +4594 0.0003027951369430173 0.0009560458959980673 0 0 0 5.908139599357855e-05 +4604 -0.00029786919934602155 0.0014153210716464472 0 0 0 1.6008220931796715e-05 +2124 -0.00033825674790783353 0.001381795839738216 0 0 0 1.2083027830691171e-05 +4657 0.00021498127401889985 0.001022398956092965 0 0 0 0.00010201832631480505 +4670 -0.0001105151785889603 0.0012184992717731561 0 0 0 7.761150950257692e-06 +4682 -0.0004967923824677287 0.0014634577389441795 0 0 0 0.0003482395406643865 +9642 -0.0004145625412514186 0.001328233494810982 0 0 0 9.450436609723845e-06 +4708 2.4876768349037982e-05 0.001096106018588083 0 0 0 2.4204148310834423e-05 +4723 0.000343244402059076 0.0012559677109043772 0 0 0 -4.348346214375159e-05 +2850 0.0005380711981954175 0.0005535780083034032 0 0 0 9.860937316031791e-06 +4835 -0.00019573129216240824 0.0011935813149633798 0 0 0 3.0444651368632373e-05 +4838 0.0005286733605036287 0.0007271144468536309 0 0 0 -1.9417703551691715e-05 +9403 0.0005072886271851984 0.0014484965143424593 0 0 0 8.74522820767176e-05 +4848 0.0002751707039434519 0.0010202241761249637 0 0 0 0.00011103799959152609 +4849 -9.47057132875115e-05 0.0011065741730239297 0 0 0 -1.0352908287143523e-05 +4850 -0.0003000821166556856 0.0011938821654397316 0 0 0 0.0002653831938414932 +5771 -0.00038613728278434145 0.001388061672054599 0 0 0 -3.0386157471810453e-06 +4345 0.0005251178498722551 0.0004930239019166622 0 0 0 -5.943580202427403e-07 +9415 -0.00025707300229158215 0.000996720775322537 0 0 0 7.393293572468052e-05 +4885 -0.0001293871753454638 0.001296041966301418 0 0 0 0.00020386351869111207 +4896 0.00014135860598664984 0.0012124976688897423 0 0 0 -0.00011051202202823088 +4897 4.9580093403366804e-05 0.001294698178636312 0 0 0 -7.980894049176496e-07 +4920 0.00018837027901693818 0.0013074259789762914 0 0 0 -2.8784812111497314e-05 +4980 0.0004965485623885829 0.001141868219300968 0 0 0 -5.7411111332017315e-06 +4988 0.00020068597792727123 0.001191279977194451 0 0 0 2.7305182095717445e-06 +5026 2.5980707483967087e-05 0.0010916298403234775 0 0 0 5.677522111952041e-05 +5029 1.558812515381004e-05 0.0012303268733577916 0 0 0 -2.3451849888331924e-05 +5033 -0.0002455409294674848 0.0014300795642419766 0 0 0 1.8584703842982334e-05 +5042 4.054271242921728e-05 0.0011466054470845523 0 0 0 -8.537770170139356e-05 +5067 -4.550850235481642e-05 0.0011917945244302142 0 0 0 -1.8121751407189184e-05 +5087 -0.0001554083719680215 0.0012835197548939328 0 0 0 2.2590100205736198e-05 +5091 0.0005241225523403797 0.0007243152319941115 0 0 0 3.670637066748325e-05 +9221 0.0005533106217640371 0.0004569376311636334 0 0 0 3.070083925155218e-05 +2267 0.00016720728364312114 0.0008178774924581754 0 0 0 2.6664367050646782e-06 +4810 9.172606041455043e-05 0.000860897818897466 0 0 0 5.813660531707841e-05 +5162 0.00024314826960428404 0.001157834090474171 0 0 0 0.00012319465390716293 +5193 5.943487454453844e-05 0.0012713827235177825 0 0 0 1.0637838171725018e-05 +9085 0.0008178098772863611 0.0014510094189913736 0 0 0 -4.871746702376749e-05 +5196 0.0003332411383307696 0.0012601721325795799 0 0 0 4.97354714775613e-05 +5206 0.0004644388936986874 0.001031755136786226 0 0 0 -4.156768021610072e-05 +9450 -0.00040428581337864644 0.0015538901551488036 0 0 0 5.394614335974094e-05 +4236 0.0007554184848578675 0.0013692355306241645 0 0 0 0.0001186224659744571 +5219 8.067221619039107e-05 0.0012386866349718936 0 0 0 -1.841880455418756e-05 +5234 0.0004896526629798271 0.0006213808292927608 0 0 0 2.0862726536255407e-05 +5242 0.00037635832677191197 0.001227386792334631 0 0 0 -4.051410257244563e-05 +5034 -0.0004364999298630937 0.001192866364656529 0 0 0 3.269599337452615e-05 +3555 0.00016705779983115584 0.000803541316019229 0 0 0 5.121171324133112e-06 +5262 -5.604219003734893e-05 0.00097832663266113 0 0 0 5.1610247503489765e-05 +5273 -0.0003625806966010847 0.0012954673686331308 0 0 0 2.2569553993253748e-05 +5288 -0.00041685977977970267 0.0015476646883178207 0 0 0 0.00016505500452430218 +5314 -0.00018987676668416975 0.0011328707074189323 0 0 0 8.5768737258037e-05 +5321 -1.1742082732250027e-05 0.000951522099662835 0 0 0 8.822018798949118e-06 +5333 -0.00013298576794284502 0.0011256048806075627 0 0 0 8.105304129778057e-05 +5351 0.00022174011132719985 0.001235148290569068 0 0 0 1.24000175168746e-05 +5401 0.0004578394680868482 0.0012188166505030257 0 0 0 2.684379468166107e-06 +5412 0.0001455522663306426 0.0009068709779929318 0 0 0 0.0001254651840314042 +5420 -0.0003807406192532716 0.0012951336912638265 0 0 0 8.359750223884569e-07 +5467 0.0003128419213826736 0.0012314237292770488 0 0 0 7.60536467004351e-05 +9702 0.0006446506046239972 0.001061298877171215 0 0 0 -0.00032444198881975613 +5479 -0.00020904528227368513 0.001433405023033515 0 0 0 -3.905427184062209e-05 +5489 -0.00025028637446204683 0.0014118231539183785 0 0 0 5.440393822040943e-06 +5505 -0.00040431998523348284 0.0008539472462880481 0 0 0 2.1462267046467183e-05 +7479 0.0001537052460920725 0.0008309588718870762 0 0 0 -1.520011206336784e-05 +5520 -9.6576034113912e-06 0.0009665227872392487 0 0 0 1.2527017082623196e-05 +5551 6.354850972169487e-05 0.001247863985321599 0 0 0 7.622905008078426e-06 +5561 -0.00014858596411465062 0.0012682796887652818 0 0 0 -4.8475963857166247e-05 +5581 0.00017973394694082787 0.0010310422540674878 0 0 0 -6.348367373896485e-05 +5582 -5.973997668690331e-05 0.0012376717413210537 0 0 0 0.0002837704658328358 +5604 -1.560585728955165e-05 0.0012379515782337037 0 0 0 7.519855313718781e-05 +5615 0.0006001655545813043 0.0011735789324955922 0 0 0 0.00015608082675115716 +5617 -8.924583734563095e-05 0.0012309095470782426 0 0 0 1.2025177736039305e-05 +5662 1.94164724524661e-05 0.0008953365338726656 0 0 0 0.00011577353314477208 +5713 -0.00023575974927687575 0.0012917894674657074 0 0 0 4.590113773385607e-05 +5727 -0.0002929416501845898 0.001208759006673216 0 0 0 7.326470410331193e-06 +5762 -0.0001810376630241561 0.001318821480820059 0 0 0 -4.7804373166486615e-06 +7447 0.0005256914166979247 0.0011223708162494796 0 0 0 8.086373415624308e-05 +5778 -0.00027717949028278205 0.001263792362380126 0 0 0 2.635666765266668e-05 +5782 0.00023394707228938113 0.001298689436915346 0 0 0 -3.3950998209107892e-06 +6140 0.0005463552938450285 0.001234309370422702 0 0 0 3.317171046400976e-05 +5864 -0.00010088484404240202 0.001241130940822345 0 0 0 -8.77488598289459e-05 +5876 -0.0001405935810120413 0.0012496120884383725 0 0 0 1.767017108357764e-05 +5888 -0.00019589875249421707 0.0012965230231861335 0 0 0 -2.972784097166116e-05 +5898 8.091454874957042e-05 0.0010161343280032094 0 0 0 2.7659104682159355e-05 +5924 0.0004404202340599138 0.0011851140582748478 0 0 0 5.1370150386881155e-05 +2368 0.0005559157093533517 0.001264821486154453 0 0 0 -0.0001668940737225455 +5935 -0.00040686427106866876 0.0012510475224971785 0 0 0 -0.00015013186827491113 +8893 0.0005222619739407828 0.0005848303618473653 0 0 0 4.9107722970136444e-05 +5940 0.0007506336946503403 0.0007638046349526136 0 0 0 4.6222652992787194e-05 +5963 0.0002667473871273719 0.0007165818833971988 0 0 0 0.00028992066155165134 +5974 0.0002471162427436327 0.001188025458772304 0 0 0 -2.4256049154102158e-05 +5409 -0.00037860828695212445 0.0013843642206030518 0 0 0 1.6004973448457904e-05 +1078 0.0007849871958651363 0.0013468002711340946 0 0 0 3.7721459441521124e-05 +5739 -0.0004340602932158385 0.001551539168496404 0 0 0 9.128373524904406e-05 +6017 -0.00015731119750984841 0.0010873018916091532 0 0 0 0.0001263827601206832 +6025 0.00029029717361374465 0.0012106992046440129 0 0 0 -2.1204218743248408e-05 +1473 0.0007390415728232017 0.0010398363210947581 0 0 0 6.285538750289213e-05 +6089 0.00036437307719792473 0.0013242154788359742 0 0 0 -4.571223884106296e-05 +6098 0.0004588950916497358 0.0010262619422669466 0 0 0 3.5173760087702844e-05 +6120 -2.6943578563868156e-05 0.0010488011253561367 0 0 0 -0.0001087201340229061 +6122 0.0001658812475945817 0.001243827672081362 0 0 0 -1.630275979451147e-05 +6163 0.0004238054643330802 0.0006754139722853826 0 0 0 3.227606482913127e-05 +6191 -0.0005082126581520198 0.0010939377656232795 0 0 0 6.439915404013006e-05 +6206 -1.9222879977695594e-05 0.001109746468913051 0 0 0 9.333956601154023e-05 +6688 -0.0004049487101673861 0.0012852533068480284 0 0 0 2.0038378682130663e-05 +6254 -0.000477430209263988 0.0010668567537105143 0 0 0 5.011493150010804e-05 +6271 -4.548101946831831e-05 0.001147236636978716 0 0 0 -1.556355808704644e-05 +6275 -0.00047011216364999515 0.0013720206588251707 0 0 0 0.0003052029269101178 +6306 0.00027514854698737734 0.0009567519202313418 0 0 0 0.00010372059058126807 +6320 -0.000371225703898751 0.001279478393347317 0 0 0 2.6101498666782607e-05 +6326 0.0007059753506149085 -4.1594069545900656e-05 0 0 0 -0.00017656924389738608 +6350 -9.478104148549328e-05 0.0011976233685854214 0 0 0 2.6472314094689466e-05 +6360 -0.0002539769529479879 0.0013953791888879745 0 0 0 -6.040689931636371e-06 +2125 -0.0003966437619150552 0.0013610328485520603 0 0 0 6.9218001452698126e-06 +7936 0.000971323799120084 0.0011041997336929058 0 0 0 -0.0019214193560421079 +6430 0.00013471805404895184 0.0012476417275307115 0 0 0 0.00012375725145662104 +6543 -8.762591402471503e-05 0.0009221157731912807 0 0 0 9.543075044360194e-05 +6564 -0.00040495719286342505 0.0013635672369058782 0 0 0 0.0001673324467463926 +6566 0.00047892228506145963 0.001250169229483015 0 0 0 1.856249231399297e-06 +6568 -0.00042189009819640203 0.0013523470604159236 0 0 0 0.00030142033690732365 +6574 0.00021185602380872117 0.0012506278584283055 0 0 0 -3.0033846976198983e-05 +6582 -0.00035275968432502575 0.0011603586048296638 0 0 0 -0.00012833500352028452 +3841 -0.00040876204137208085 0.001291124698534713 0 0 0 2.002865694015359e-05 +6231 0.0004320114161689947 -0.000956586238813056 0 0 0 0.000623350229776576 +9106 0.002048366161384908 0.00027973458002270805 0 0 0 0.0001950762887265842 +4401 -0.00024469188787006 0.0010202838764133116 0 0 0 3.7000968676437604e-05 +4514 0.0004622372073478544 0.0006109613518238686 0 0 0 2.0356044101780275e-05 +6739 -9.310262491272193e-05 0.001225254235584047 0 0 0 -8.341221308421067e-05 +6745 -0.00015517334757101414 0.0011434285531947987 0 0 0 -4.044653894683396e-05 +6750 0.0005341153855997417 0.0010193512993019475 0 0 0 -2.7518149206569974e-05 +6774 -0.00032786943976743677 0.0014506078034514768 0 0 0 -8.29972411364164e-06 +6778 7.528113770138942e-05 0.0010687645299423964 0 0 0 -9.18223527254375e-06 +6828 0.00031119311298554976 0.0011458255770387781 0 0 0 -7.122701349318173e-07 +6834 0.0001723809558881588 0.0010845921317070531 0 0 0 -8.023083942925417e-05 +6842 9.359540052039266e-05 0.0009135329226733938 0 0 0 0.0001818839306457426 +1470 0.0007183116601095355 0.0010811293797769123 0 0 0 2.798892816471958e-05 +6905 -0.00029516455122413084 0.0010768578183253498 0 0 0 2.9541107983468874e-05 +6908 -0.00037195509240491487 0.00121354060443148 0 0 0 -0.0003459750494314493 +5981 0.0005450807359940083 0.001179962366681231 0 0 0 -1.5336582041080958e-05 +6942 0.00028785373484280826 0.0011923186202141953 0 0 0 0.00016764416035336472 +6943 0.00026308433864553335 0.0008538280971160112 0 0 0 9.682298165736835e-05 +6985 0.00033979730239019527 0.001173774564350395 0 0 0 1.4649079478533545e-05 +6989 -2.4081243666736187e-05 0.0012519523805128697 0 0 0 8.460688948087971e-05 +6990 3.2854555516640786e-05 0.0013045119503356222 0 0 0 5.167582559774629e-05 +2182 -0.0004048726145813221 0.0009850556173099827 0 0 0 1.6458043293298521e-06 +9170 0.000525444316719888 0.00040496684708943255 0 0 0 0.0001607338457817269 +7054 0.0002086619831792453 0.0010360455791143227 0 0 0 2.3953237581647084e-05 +7068 -0.0003719622403065933 0.0008089921640717094 0 0 0 -3.997836533000657e-05 +7097 -3.5279443292244945e-05 0.0010801443569613614 0 0 0 -4.347634854449285e-05 +7465 0.000486484456940773 0.0011611535185580741 0 0 0 3.349416624867387e-05 +7141 0.00011327205491435764 0.0012748239555660534 0 0 0 -6.89612144404891e-06 +7149 0.0005757142569946511 0.0007751865028902697 0 0 0 8.444856156822549e-05 +9666 0.0007218205751873173 0.0014457132159984454 0 0 0 8.502656098155171e-05 +1122 0.0004829968710723552 0.001159133992912178 0 0 0 -1.4084250807849062e-05 +7203 -0.00029097405627674097 0.0012446644405097887 0 0 0 4.8132352296873686e-05 +7229 5.784172809752477e-05 0.001179160121719486 0 0 0 1.5580041014453234e-05 +7230 0.00039231589073468844 0.001003405423978568 0 0 0 4.974738367192787e-05 +5750 0.0005060014526315491 0.0012451411094620707 0 0 0 1.1594829631357638e-05 +7251 0.00023450317526766816 0.0009995545843915123 0 0 0 0.00011345292074894464 +7253 0.000369942218791268 0.0010543312239144889 0 0 0 9.705725628711622e-05 +7289 -0.0005227009337846546 0.0010208781816040823 0 0 0 -6.819339052513457e-05 +7297 0.00036024477951557136 0.0009005451003665875 0 0 0 4.9293487250272685e-05 +7308 0.0002164807169274875 0.000805016286957882 0 0 0 6.991997822082997e-06 +4390 -0.0004071165760442853 0.0015381444895048314 0 0 0 8.95076943933667e-05 +7345 -0.00019111478372584612 0.0013108280648338208 0 0 0 1.9348270456067293e-05 +7385 0.0006041411309191121 0.0007929436860197934 0 0 0 6.885037539520255e-05 +7386 0.0002579987785597475 0.0010439043912717338 0 0 0 -0.00013144956914781645 +6783 0.00041199820458356977 0.0012194363368824637 0 0 0 0.000469202347162331 +7427 0.0003579421436615841 0.000863018852982955 0 0 0 3.818326212444114e-05 +982 0.0005028833603835104 0.0006304745545373215 0 0 0 3.123640464491073e-05 +7452 0.00018907926456958497 0.001273689115821402 0 0 0 0.00019320310415030007 +7458 -0.0002969938471056419 0.0014157194528002012 0 0 0 -2.9894979841892565e-05 +7467 -0.00027180851311890816 0.0012654905389580917 0 0 0 1.9018444205359026e-05 +7471 -0.0003086279196174675 0.0013938602133495783 0 0 0 3.4790343838287714e-05 +4561 0.0006058931169498938 0.0011737815575651065 0 0 0 -0.00031415528301602906 +7520 0.00013430299074786313 0.001018183648741484 0 0 0 -1.926399976110719e-05 +7546 -0.00013666121861826308 0.0013480989541277322 0 0 0 2.1393077693992214e-05 +7558 0.0002896884010064721 0.0012625097601905997 0 0 0 -4.753382606386908e-05 +1901 0.00015171070255442698 0.0008405756717900345 0 0 0 1.1485323397232846e-05 +7562 0.0005287251729514589 0.001077861782404032 0 0 0 1.878571021162873e-05 +5680 0.0009189183034590039 0.0012227475870910972 0 0 0 0.00015871114723670337 +7606 1.603221535140728e-05 0.001252636904829419 0 0 0 -6.439201611591829e-07 +7609 -9.636294036024865e-05 0.0013598018196854158 0 0 0 -0.00014619559150242506 +7659 -0.0003599083464506407 0.0014316953851562211 0 0 0 -6.356448043166932e-05 +7679 -0.00030728203182832245 0.0010847779490864352 0 0 0 2.620598161677219e-05 +7729 -2.1858653384367013e-05 0.0011701533509480397 0 0 0 5.58032278249926e-05 +1638 0.000739751572266887 0.001035857743280951 0 0 0 -2.9662198533856267e-05 +7753 0.00013248402426133983 0.0008059339147743148 0 0 0 4.87681355307287e-05 +7766 -8.245648540062879e-05 0.001267065972576149 0 0 0 -0.00030946849248079104 +7768 0.0004111093611499749 0.0008331897498021865 0 0 0 2.631603648348702e-05 +7801 0.00048756408577469514 0.001108378599297607 0 0 0 0.0001034178674687754 +7807 -0.00020893690965601195 0.0012581280122286815 0 0 0 2.920165823446213e-05 +7838 0.00010760466447730788 0.0012509475050922717 0 0 0 6.610331558111915e-05 +7851 -4.265211112207613e-05 0.0011611154432530943 0 0 0 0.00019984513170697473 +2147 0.0006980953177824718 0.0011689617897312728 0 0 0 5.0120739497572255e-05 +9565 0.0004327034027580554 0.0006726393148483012 0 0 0 0.00024542446254842675 +7924 -0.00024346994360803357 0.0011048720203702777 0 0 0 2.7843072175363712e-05 +7927 -5.7802837895553023e-05 0.0012391155262570018 0 0 0 -9.275609301037547e-05 +7932 -0.0003737168819949172 0.0012947537868927468 0 0 0 4.573518690700207e-05 +7935 -0.0002575270637999739 0.001158746914307751 0 0 0 3.1468463309906876e-05 +7949 -0.00014256365837565273 0.0011763936967587585 0 0 0 3.202963453421852e-05 +6728 0.000593637176107482 0.001100702034183898 0 0 0 4.5150111507400555e-05 +7975 0.00042370761690821245 0.0012294384291675231 0 0 0 8.752420207710459e-06 +7995 -2.266437148475525e-06 -0.0019824021062887147 0 0 0 0.0013739811374859994 +6540 0.0008032593761401474 0.0013060849540393353 0 0 0 -0.00011926714462428327 +3747 9.022104400702547e-05 0.0008625290640065427 0 0 0 1.652745078652943e-05 +1380 0.00071429406278346 0.001064438717760502 0 0 0 5.909628749642659e-05 +8067 0.00033242195312688634 0.0011962743556912822 0 0 0 8.544742866610799e-06 +6927 0.0005123725086572931 0.0011738027859351087 0 0 0 -8.174383916758845e-05 +8101 7.452909282642246e-05 0.0011143555278735834 0 0 0 0.00019007975945765926 +8109 -0.00020732049808784968 0.001453251173431493 0 0 0 4.8459811408671235e-05 +8156 0.0005054921202968718 0.0011372334240817839 0 0 0 0.00014369233345008987 +739 0.0007291992628224419 0.0009738600946544168 0 0 0 -4.350925934871119e-05 +8164 8.996510975607983e-05 0.0009952953072968414 0 0 0 2.642403538358586e-05 +8167 0.00018856045514753245 0.0013339899931806782 0 0 0 -3.7644270801827666e-05 +8193 0.0010551932852645594 0.0009959095258906543 0 0 0 -0.0007101023003811736 +8218 -0.0021979727806793977 0.002110115643532067 0 0 0 -6.147437170855108e-05 +8246 0.00020742786242533215 0.0011972227938113016 0 0 0 -4.6370603082213595e-05 +8252 0.0003931065590652709 0.0012473995075711574 0 0 0 -6.912804961349722e-05 +6821 0.0005260715750127902 0.0011370209745038828 0 0 0 -1.902134949271076e-05 +8293 0.00011143483159405732 0.0011448053175539142 0 0 0 0.000210943583884741 +8299 1.7108391341714164e-05 0.0012572478666620396 0 0 0 -1.0582931212929185e-05 +8589 0.00046701383838877893 0.0011961010588569972 0 0 0 3.448218826437654e-05 +8385 -7.036714020580747e-05 0.0012073565163770788 0 0 0 -3.165948140007303e-05 +8389 -0.0001692730905169708 0.0011946934563528625 0 0 0 -5.7169819872239985e-05 +8390 0.0006152038793417111 0.0006610638986997996 0 0 0 5.744984443729192e-06 +8398 -0.0005090672495152314 0.0014703317422650791 0 0 0 0.0004300436514728174 +8415 7.023914108462955e-05 0.0012364580840875455 0 0 0 2.105339646643884e-05 +8467 0.0003781788254933703 0.0009133480625626201 0 0 0 7.649408833187213e-05 +5785 0.00010419514772113314 0.0008794293553431938 0 0 0 9.5154299313831e-05 +8478 -7.25796711828304e-05 0.0011152101177511018 0 0 0 -8.516110234366737e-05 +8483 0.00034120548806122774 0.000905236187741921 0 0 0 2.967565498435987e-05 +9017 0.0003120298294504041 0.0009485828757218337 0 0 0 0.00011674023359114095 +8497 0.0003607389223613799 0.0012467099799451948 0 0 0 -4.6260460227050074e-05 +4377 5.4494768241667165e-05 0.0008967615705453364 0 0 0 -3.6882465116500894e-05 +8534 2.39202665997375e-05 0.0012992376686262288 0 0 0 1.4543004348832539e-05 +688 -0.0004254948982294803 0.0011754699689194626 0 0 0 8.25180756303495e-06 +8561 0.00011805168013369383 0.0012095189731013212 0 0 0 2.997477897841912e-05 +8575 -0.0004787051660993874 0.0006972819323745454 0 0 0 -0.0002642858839149302 +8610 9.893172130957216e-05 0.001273163732874659 0 0 0 8.217143570620115e-05 +8651 0.0003440105046445132 0.000866156922332357 0 0 0 5.5533180295153676e-05 +8671 0.00016677716540575447 0.001030528613185433 0 0 0 3.296506218075869e-05 +8086 -0.0004009906907666862 0.0009711723177229686 0 0 0 -2.259934429130323e-05 +8719 -0.00048236040574183443 0.0014916112449571573 0 0 0 -0.0004540849511462628 +8788 -2.4660073243540388e-05 0.001234530760531381 0 0 0 -2.5281266059742164e-05 +8829 -2.6222481594408444e-05 0.001112843797165187 0 0 0 -2.9542594887688446e-05 +8834 -0.00027047309558472836 0.001407716020337524 0 0 0 6.084294157320492e-05 +8861 -0.0002793267780553009 0.0013512700458430179 0 0 0 -0.0001544510612080495 +8868 -0.0001717483677433235 0.0013133037081930555 0 0 0 -2.7299017067143963e-05 +7342 0.0005777998063150418 0.0012174488602426428 0 0 0 -7.127577030759196e-06 +9363 0.000805463285235785 0.0013971557050986572 0 0 0 0.0001718872359451883 +8945 -0.0002009707433502801 0.0013368323556978872 0 0 0 -2.1814995725038024e-05 +8961 -1.4798109533132101e-05 0.0010594968368362666 0 0 0 0.00012643282206866615 +8967 -0.00017986922960991906 0.0016051259553705134 0 0 0 -0.0002729549239158924 +8972 0.00012286468649597786 0.0010602812491240143 0 0 0 6.434672124542391e-05 +8973 -0.0005577779623411772 0.0014169566673096492 0 0 0 0.0005303884826089718 +9016 -0.00028421305926039147 0.0012470411156271077 0 0 0 -5.84602290071882e-05 +9035 0.0002299228641474231 0.0012027824895929917 0 0 0 3.0236879091240666e-05 +9057 0.0004319830161472815 0.001190419847781779 0 0 0 7.291766913527195e-05 +9070 -2.7183600495712183e-05 0.0011565819429025371 0 0 0 2.8429721760721853e-05 +9072 0.0001957684254156831 0.0008123872795456548 0 0 0 -3.4903160506155324e-05 +9089 0.0003071512313795346 0.0009203755049234299 0 0 0 5.0097561729608024e-05 +9096 0.0001104029256810167 0.0011813250049429545 0 0 0 2.139368786820202e-05 +9123 -0.0003123348524560613 0.0009431831020650626 0 0 0 0.0008928906341776954 +8026 0.0007222044275725998 0.001377163871230415 0 0 0 0.00026325732488265 +9191 0.0001801248960624025 0.0012007600875979993 0 0 0 8.22229192547807e-06 +9238 0.00040233397872024607 0.0011229498058818823 0 0 0 -1.4532207918459407e-06 +9241 -1.916553445074458e-05 0.0009151887238148864 0 0 0 8.410604165025627e-05 +1162 -0.00017263264506063946 0.0011299509291425008 0 0 0 1.3141842871424022e-05 +4410 0.0005301287456157933 0.0011197506251958494 0 0 0 -2.313588096966289e-05 +292 0.0008155340908266915 0.0013434956336627391 0 0 0 -2.262761233595415e-05 +9259 2.1570382024634012e-05 0.0012138197155703908 0 0 0 -1.8792418223538165e-06 +9299 2.883640202604648e-05 0.001248821021308061 0 0 0 1.2747515934112272e-05 +9318 -0.0002637320518762898 0.0013487262520694879 0 0 0 4.2021341883076865e-05 +9333 9.386083520286326e-05 0.0012979438563773215 0 0 0 5.3322047359633314e-05 +278 0.0006510158289962215 0.000991547839765733 0 0 0 4.538719359160014e-05 +9374 -0.0003831605094829975 0.00130948961878824 0 0 0 -0.0005462244847732971 +9389 7.389738049083409e-06 0.0011379009411099606 0 0 0 -1.984387157292483e-06 +9392 0.0006211038665518184 0.0007117250747479291 0 0 0 -6.292654254686357e-06 +9399 -0.0003092804764303912 0.0014311628271016876 0 0 0 -6.103518794085414e-05 +9416 -0.00024460792891685634 0.0014275155269598096 0 0 0 -1.9630239212145718e-05 +9435 -9.757599714146216e-05 0.0013530141966311196 0 0 0 -0.0009345728994959767 +2036 0.0003072417095506843 0.0012549118733352137 0 0 0 7.452635598670372e-05 +9461 -9.818506186369903e-05 0.0012052166269225185 0 0 0 0.0002755218685431996 +9489 0.00040188846340239896 0.0012247108446344674 0 0 0 4.675432269852335e-05 +9496 3.458683511969484e-05 0.0011377553628883646 0 0 0 1.4849836400276905e-05 +9497 0.0005613678530721439 0.0010446424970111394 0 0 0 9.913398495049242e-05 +9520 -6.891200410802458e-05 0.0011611469738348403 0 0 0 5.796355575396795e-06 +9558 0.00041404452597291065 0.0007639738621899414 0 0 0 0.00010576059451675494 +9576 -0.0003133965721888147 0.0014509596578731224 0 0 0 -0.00014570641380179863 +9582 6.299513303504225e-05 0.0011801151421707773 0 0 0 2.1366723888425902e-05 +9598 -0.0002314732755758999 0.0011709727694196978 0 0 0 5.522645753455472e-05 +9636 -2.040511406077472e-06 0.001136302653678153 0 0 0 -6.774133436087125e-05 +9648 -0.00023312900790161968 0.0012398710182195726 0 0 0 -0.0005169842615558871 +9656 0.000516453352348381 0.0011279304825467325 0 0 0 3.4250636296722044e-05 +9660 -0.0002286594540432378 0.0014076899636765831 0 0 0 -6.376776309186737e-05 +9662 -9.185201789766416e-06 0.0013428911980263364 0 0 0 -3.8652037038808796e-05 +9673 -1.4946194496394075e-05 0.0010046864840188602 0 0 0 -5.333378570029209e-06 +9678 0.0003641161329592495 0.0012437683433031946 0 0 0 0.00010195517338964412 +9681 -0.00015070809696519604 0.001271510170356215 0 0 0 -2.2100970827801788e-05 +9690 -0.0005188289154979449 0.0010484274969255122 0 0 0 0.00011535370243966643 +9696 0.0001199568414988062 0.0012521680303015752 0 0 0 -3.954234783098882e-05 +9699 -6.106351750734009e-05 0.001220589776309937 0 0 0 0.00012513756938072046 +4036 0.0007211642656914819 0.0010237856285493238 0 0 0 5.4531626256708326e-05 +5758 0.0005710011605817042 0.0004426786565781741 0 0 0 3.058678207276426e-05 +2247 0.0006385736639299127 0.0012385263375541925 0 0 0 1.9317548615588137e-05 +9741 0.0005909719981927449 0.0007871062744542554 0 0 0 7.708668435088796e-05 +3126 -0.0004173368937394286 0.001318560659295284 0 0 0 6.8106256753382776e-06 +9791 -0.00020046216928398821 0.0011681999337513423 0 0 0 -1.1086732345242138e-05 +9798 -8.709931488169731e-05 0.001232229105098655 0 0 0 -0.0003711599369744104 +9811 0.0002934247311602166 0.0011770542379303658 0 0 0 8.971621638084638e-05 +9832 0.00014919629686937176 0.0012248589013582794 0 0 0 4.086232216261696e-05 +69 0.0007105519535687093 0.0003960697061485436 0 0 0 2.743370009661307e-05 +9907 0.00014824248698036191 0.001027341625502564 0 0 0 4.22179403033973e-05 +9920 -4.881041382307442e-05 0.0012690424858482925 0 0 0 2.4346981148888457e-05 +7409 0.0006486944509398583 0.001003873599342886 0 0 0 -0.00028971288438064144 +8292 0.00048220901570077547 0.000635066694830767 0 0 0 -1.6555191820347583e-05 +9306 2.571920676029884e-05 0.0008990583928749562 0 0 0 -3.185337898054893e-05 +8405 0.0006251422648779234 0.0010904879243920614 0 0 0 1.5126483300788569e-05 +392 -0.00035428247752636343 0.0011682426194635942 0 0 0 3.222019642262935e-05 +1022 -0.0003931160294659573 0.001422618204109595 0 0 0 1.0981497388118599e-05 +5271 -0.0004172324675342366 0.0010808027466057291 0 0 0 4.272417898741774e-06 +6607 0.0004010554442918069 0.0012045376257376437 0 0 0 -8.131034130503318e-05 +3382 -0.0003021103257445375 0.0013131078484209617 0 0 0 1.6524542221703626e-05 +828 -0.00039403889683028726 0.0014967839719926 0 0 0 1.7683020587406966e-06 +6364 -0.0003634899843221769 0.001275762268642807 0 0 0 1.7391185169763813e-05 +4760 0.0007059670784216798 0.0006073199475322346 0 0 0 3.756506443718158e-05 +6963 -0.0003995867655310437 0.0012066179702773577 0 0 0 1.756842725513979e-05 +6491 0.0004798453436992323 0.0012359382664515184 0 0 0 6.626710082158628e-06 +4869 0.0006228566631059924 0.0010134203310336184 0 0 0 -0.00016168771207056688 +1714 -0.0003764913439856978 0.0014058589372572513 0 0 0 1.0836748555141074e-05 +3252 0.0007322586205383027 0.0009965231174955751 0 0 0 -2.3908772216576354e-05 +2913 -0.0004178192300348962 0.0015019749328161907 0 0 0 -9.203640812598866e-06 +1204 0.0006268799265933786 0.0012033709814767847 0 0 0 4.020383155808843e-05 +7731 0.0005122410504792343 0.0006246957359037048 0 0 0 6.053172981693404e-06 +1753 0.0005332084405926408 0.0005203808396517513 0 0 0 2.529763914110527e-05 +4427 0.0004009332974294232 0.0010355280208006856 0 0 0 6.634323549396107e-05 +2740 0.00019266678305295297 0.0008181008543032127 0 0 0 -4.728235947799713e-05 +7248 0.00042199455636611754 0.0006431699219267155 0 0 0 2.889725004546967e-05 +1447 -0.0004333298014821913 0.0012602497245002972 0 0 0 6.851130766590563e-06 +4407 0.0006466101705715013 0.0010627970284481742 0 0 0 -6.11689787762847e-05 +8901 0.00034402472428547715 0.0010352519697914722 0 0 0 4.765398264885559e-05 +7404 -0.0004160538501307749 0.0010599701891662234 0 0 0 3.690317218029218e-05 +6253 -0.00040091767796292016 0.0014645612301128518 0 0 0 2.5837561815967985e-05 +6657 0.0004023312896187091 0.000541668146751774 0 0 0 -2.3938658013246176e-05 +7559 -0.00025015263083808035 0.0008844196570034634 0 0 0 -2.6310084697848436e-05 +5074 -0.00041641730424421053 0.0013072273695177257 0 0 0 1.4538605787263289e-05 +5571 -0.00043076986094397183 0.0011887724618333156 0 0 0 -8.311183624667133e-06 +2674 -0.00041168953386833086 0.0013385378146801186 0 0 0 -3.611595738439002e-07 +1866 0.00022748705822913428 0.001038587364393438 0 0 0 6.19086957704393e-05 +5855 -0.0003907450523130816 0.0013708520071355258 0 0 0 1.6534623900379884e-05 +5151 -0.00025426965760202947 0.001172370093712919 0 0 0 -3.681491166450979e-05 +1590 -0.00036633745082603145 0.000622254708479254 0 0 0 8.755379096504729e-05 +9977 -0.0003875559624905233 0.001106378755683143 0 0 0 -2.714936956987567e-05 +29 -3.8225035142992406e-05 0.001040486818018656 0 0 0 -2.4803732581427293e-05 +4484 0.00018023226802222947 0.0002889807360490909 0 0 0 4.159680018143453e-05 +52 -0.0005903028532556966 0.000645225925897697 0 0 0 -1.4062766501970713e-07 +66 -0.0005503001352742033 0.0011593263814333198 0 0 0 1.7958289775182223e-05 +76 0.0006794165814206514 0.0006344889385385223 0 0 0 7.523622956333584e-07 +103 8.210033912149124e-05 0.0013294298990357194 0 0 0 -2.5396403012827207e-06 +107 -0.0004995717106840737 0.0012268571217627742 0 0 0 1.847060195751118e-05 +1930 0.00015930687577572915 0.0003614935202983521 0 0 0 8.226641483862766e-05 +8022 0.00018541470556550919 0.0004974903988496758 0 0 0 0.00016508816155825435 +142 -0.00045874867459988526 0.00120659771365556 0 0 0 -2.08235326679838e-05 +153 0.0004022557308266176 0.0005663483993530337 0 0 0 -6.173291677144417e-05 +204 -0.0006715754112453112 0.0008232960740428802 0 0 0 1.3784092713501456e-05 +173 0.0003732387581352048 0.001011495992704539 0 0 0 -3.199240285758306e-05 +178 0.00011691728072522663 0.0008770111448334635 0 0 0 2.1788565449653197e-05 +185 0.0005543510116437633 0.0003021921474994599 0 0 0 3.7944781076118715e-05 +193 -0.0003257037224211736 0.001433706672860902 0 0 0 -1.5339444439521614e-06 +195 0.00037406015427218065 0.0007252770261637619 0 0 0 -3.6674025443914873e-05 +212 -0.0004068481322583643 0.0014615753353942023 0 0 0 2.859402423048142e-06 +231 -9.952479682447434e-05 0.0014021299947655625 0 0 0 -4.88440072028505e-06 +8599 -5.1190589016884064e-05 0.000632549757332486 0 0 0 0.00017282399798730695 +303 -0.0001190066823857477 0.001090644705040964 0 0 0 -4.4869538517245874e-07 +8608 -0.0006718893549664174 0.0007006936515431726 0 0 0 -1.1006940385761726e-06 +340 0.0002478966338085916 0.000620168141444351 0 0 0 4.070762976098127e-05 +348 -0.000407931594158938 0.0013461008465386673 0 0 0 1.1424134005899089e-05 +352 0.0003170845704207056 0.0009559990827190716 0 0 0 -3.861514647061608e-05 +375 -0.00013902563523914897 0.00042904951706039583 0 0 0 6.869173372794931e-06 +1348 -0.0004598167282503955 0.0010447964173851704 0 0 0 2.975695023714379e-05 +398 -0.0005492916236146447 0.0003914739927099644 0 0 0 3.724317680502848e-06 +498 0.0007766730283932495 0.0007165449075264179 0 0 0 -7.5454620909485375e-06 +502 -0.0002455984949533822 0.001477376976158212 0 0 0 1.6475351148529214e-05 +517 0.0008111028306550266 0.00021844714525018702 0 0 0 9.517199123137433e-06 +4115 0.00018331774149608096 0.0003613459328918882 0 0 0 0.00011399796588324468 +554 -0.00033194821712359654 0.0011794749372866227 0 0 0 -4.782894454971233e-05 +9936 -0.00042627418356321495 0.0012964970794981003 0 0 0 1.8755327108974882e-05 +573 -0.0003983475290226358 0.0011996573747771195 0 0 0 2.7303497336297012e-05 +591 -0.0004234407435501035 0.0013299673822559726 0 0 0 2.5539528811167023e-05 +592 -0.0005649959030420923 0.0010442874023272096 0 0 0 1.8741404775283443e-05 +597 -0.00035792453330929454 0.0005893582764335567 0 0 0 -2.2515504493080366e-06 +606 -0.0004112383655865213 0.0006411611770007732 0 0 0 3.06111352525531e-05 +635 -0.0006161320830165819 0.0010759971826661597 0 0 0 5.559786066932839e-06 +640 -0.00043848661698945343 0.0004898877348809442 0 0 0 -2.2330343520511348e-05 +642 0.00035299247807073155 0.0010373535107273033 0 0 0 -5.01295608293087e-06 +420 0.00042345548944400355 0.0002520926477165584 0 0 0 1.0321909114993601e-05 +669 0.0007431231678142032 0.0004147070621451745 0 0 0 2.1016807792689872e-05 +671 0.0005332924242329158 0.0007484743744434736 0 0 0 -6.915267021704075e-05 +686 0.0005482423641574118 0.0008772538021074726 0 0 0 -2.6338793736805643e-05 +5268 -0.0004647763299083473 0.0009049804736104683 0 0 0 1.4708266349556145e-05 +691 -0.00032670272981181065 0.0003131741279190211 0 0 0 4.055762656313404e-05 +693 0.0004112897147560104 0.0009625444784949194 0 0 0 -1.0478856650424959e-05 +759 0.0005872931300009798 0.0006289914961086785 0 0 0 -2.5169671502785887e-05 +762 0.0006554852669246103 0.0006096726870045515 0 0 0 7.048657071475169e-05 +785 -0.00035409706652734976 0.0014729547408108836 0 0 0 4.0728307718150935e-05 +806 0.00010704755950659159 0.0012951414541362788 0 0 0 -3.1032932687621536e-05 +807 -0.0004522798911508728 0.0013142743783946648 0 0 0 4.50137641513346e-06 +4294 -0.0005562704073155767 0.00036766770003007483 0 0 0 6.225648585424118e-05 +830 -0.0002741340238176121 0.0013854249585436248 0 0 0 4.88398807129203e-05 +6394 -0.00035386811027387285 0.0006205250878247077 0 0 0 -0.00016169182439708903 +858 -0.00044256751925448955 0.0007895263989406413 0 0 0 5.227361974674887e-05 +859 0.0004925587296588594 0.0007992597054548731 0 0 0 -4.1924816494548276e-05 +864 -0.0005139254799113685 0.0012648053610827493 0 0 0 2.3737762370541797e-06 +894 -0.0005375385326225431 0.0008701786423407943 0 0 0 -4.118814075487044e-05 +904 9.016904910649208e-05 0.001330250365356713 0 0 0 -2.5646446946009904e-05 +934 -0.0004872317864530364 0.0012935522483401491 0 0 0 1.2176638291705718e-05 +937 -0.0004925289596643666 0.0012645477774982376 0 0 0 -5.162529631427791e-06 +4146 -0.00033793858095940876 0.00040584918346249217 0 0 0 8.962957246970008e-05 +961 -0.0003407074965727281 0.00039717105749978866 0 0 0 1.3808131349627188e-06 +986 0.0007760393043763466 0.00043400951844203416 0 0 0 1.320448438719534e-06 +1005 0.0007464510243601581 0.0005128343825975702 0 0 0 -4.1227886728218464e-05 +4369 -0.0005838611833915486 0.001008712773615414 0 0 0 -2.4064496490929563e-06 +3203 -0.0006063999755420897 0.00033226192890759075 0 0 0 2.178603589636613e-05 +1024 -0.0002585182568282177 0.0005098815124588787 0 0 0 -3.841960113855521e-05 +1058 -0.0002612420583190836 0.0011858821597071983 0 0 0 -1.364164734404547e-05 +1070 0.0004852371619238198 0.0008468164201369311 0 0 0 -6.731485818829658e-05 +1071 0.0008280594070134181 0.0006338961757478117 0 0 0 2.941798546557239e-05 +1083 0.0008476597746133854 0.00026250311302643096 0 0 0 0.0001243036475838487 +1095 0.0003829795580486481 0.0008773296213375609 0 0 0 -2.477119492888158e-05 +1108 -0.0004116163704772968 0.0014018998535486793 0 0 0 4.900701417805412e-06 +1114 -0.0005222426865438044 0.00022587013285506297 0 0 0 0.00012575534720763254 +7827 0.0002374280544044609 0.0006572682368979771 0 0 0 0.00015718074919166344 +1169 0.0007450369157516656 0.0003350655020890733 0 0 0 -0.00011007771255528626 +8360 -0.0004312417852400067 0.000993813335198549 0 0 0 3.534783752077054e-05 +1195 0.0003893874739403586 0.0005765004668530599 0 0 0 -6.90219488458168e-05 +1198 -0.00043873352863484544 0.0005344423377243924 0 0 0 -1.2771474287266544e-05 +1267 -0.0005018139809558982 0.00024700922915615983 0 0 0 -1.8723850792352366e-06 +1280 -0.0002066234197995215 0.00043380025038976364 0 0 0 3.2115612214862208e-06 +1288 0.0007869981493368649 0.0003188292797274316 0 0 0 -9.751592849242867e-05 +1301 -0.0005657580757882325 0.0007517676408420172 0 0 0 3.0485433782023214e-05 +1320 6.981404204918916e-05 0.0011312588407908324 0 0 0 -9.94053947972055e-06 +1409 -0.0007047520260991965 0.0009597621482856127 0 0 0 -5.088945965677424e-06 +7830 0.0007202776154655626 4.747220215521073e-05 0 0 0 0.000194244882733608 +1419 -0.00011533062474819508 0.0008365992964620599 0 0 0 0.0002988887278629287 +8590 0.0002620893956341113 0.00012509239353421825 0 0 0 0.00019940309528757833 +9676 -0.0006781257995023257 0.00047781303845133885 0 0 0 -5.308583600442154e-05 +1485 -0.00016511058671169523 0.0014518569536816413 0 0 0 -1.9528080328291084e-05 +1503 0.0001480656714909495 0.0008797019768216185 0 0 0 -6.967481312306259e-05 +1504 0.00011859257008407513 0.001012645824270659 0 0 0 -3.8503808077234325e-05 +1519 0.00011009238354553446 0.0006299734417901272 0 0 0 -9.578124105459519e-05 +1525 0.00020478794591267607 0.0011448454643338908 0 0 0 -8.37168879719052e-05 +1537 0.00017422821895525352 0.0011535055739032721 0 0 0 -5.4576569994134554e-05 +1552 -0.00043962561007900697 0.0005600628706926108 0 0 0 2.1744316645915587e-05 +1556 0.0007608682208414459 0.0006393918550824744 0 0 0 -6.6564357983124e-05 +1588 -0.0005046753932725298 0.0007887276571397113 0 0 0 2.1161770421081846e-05 +1602 -0.00024525892647937194 0.0003787182669560315 0 0 0 2.3156717051510877e-06 +1611 -0.000446494065494152 0.0003583769858307788 0 0 0 3.675335706623392e-05 +1619 0.0007534020221318868 0.0002967164695514458 0 0 0 1.498675166248254e-05 +1635 -0.0003862807291090326 0.0012981600625291446 0 0 0 3.975434410337401e-05 +1636 -0.0005226201812814673 0.001168069601353209 0 0 0 -1.1382963174857504e-05 +1641 0.00048651055804564984 0.0007461775842319172 0 0 0 -2.5636773730281112e-05 +2310 0.0003764454491251423 0.0003078996238165795 0 0 0 1.951055235453647e-05 +1664 -0.0002281408423716441 0.001059652899399128 0 0 0 -5.05908837663866e-05 +1679 -0.00027314849638121453 0.0006480135269690626 0 0 0 2.492775986344694e-06 +1685 -0.00019574711661864318 0.0014095846945361417 0 0 0 -7.882057138477579e-06 +9262 -5.801658197139944e-05 0.0004099754622098078 0 0 0 -6.210220221674226e-05 +1723 0.0009065579561120171 0.0005654945895690342 0 0 0 -9.270517653299791e-05 +7971 -0.0005861238511716463 0.0003487598172128781 0 0 0 7.215002823075265e-05 +1794 0.00024580636961633694 0.0009048567618209697 0 0 0 -4.8089550412883463e-05 +1800 -0.00019373806370419786 0.0005538147511939243 0 0 0 -3.935448491145042e-05 +5258 -0.0005312675570516622 0.0006711891710085426 0 0 0 -4.0908021943052114e-05 +1805 -0.0004036191585990771 0.0013384090869914638 0 0 0 -2.725320204651703e-05 +1810 -4.8807594491394936e-05 0.0010249330661769916 0 0 0 0.00023299510956901028 +1813 -0.00042568697454615947 0.0013249550684941924 0 0 0 1.2557373975136708e-05 +1827 -0.0004047288356134191 0.0013614861349697852 0 0 0 1.3326223763610479e-05 +1859 -0.00034369625877367604 0.0003784149303326095 0 0 0 1.836826260614364e-05 +9296 0.0004606146687600087 0.0005924896206460857 0 0 0 3.9929579183831487e-05 +1972 0.0005069042643153302 0.00034013866830138003 0 0 0 -1.99475122500272e-05 +6059 -0.0005409060818459027 0.00018348631119554049 0 0 0 -6.205106693647202e-06 +2062 0.0007986296219211326 0.00019251602255082413 0 0 0 4.185578605483852e-06 +2083 -0.0004601613114765155 0.0012772682301745544 0 0 0 8.895207779936747e-06 +2084 0.0008099427469368369 0.0003728818256185276 0 0 0 3.991408870199932e-05 +2086 -1.4556271289748782e-05 0.0013995852063137752 0 0 0 -0.0001045308379988551 +2117 -0.00039854811192069724 0.000482866281240103 0 0 0 -8.145879475402093e-05 +6592 0.000296696894530639 0.00034505346634603785 0 0 0 0.0001038552029954654 +3347 8.970695970768074e-05 0.0005460996154718563 0 0 0 0.0001102736283224699 +2141 -0.0003777470763702038 0.0003860768147654165 0 0 0 4.181231300343874e-05 +2170 -0.0003793423491902795 0.00028133135158615896 0 0 0 -7.187523064592221e-05 +2175 0.00031467050903982556 0.0009492724260884522 0 0 0 -5.894119423273627e-05 +6445 -0.00044261338367652394 0.0010924273386196104 0 0 0 3.029854423232232e-05 +2183 -0.00046268624276397924 0.0012526128663236412 0 0 0 -3.2917898081876714e-06 +2211 0.0007759383681090467 0.00029907562249710155 0 0 0 9.016430534686457e-06 +2213 0.00026797386220299294 0.0012769385449286318 0 0 0 -6.028461777186456e-05 +2238 0.00033815933438976397 0.0010179539276293907 0 0 0 4.527877854259209e-05 +5422 0.000539300298298315 0.0003491593156102802 0 0 0 4.3641620765962144e-05 +2295 1.2806652614527364e-05 0.0012810187427625599 0 0 0 -2.94746143803308e-05 +2304 -0.0003625242198112095 0.0004315147225586598 0 0 0 -4.919120164622445e-06 +2343 -0.0003723100640876912 0.001526985845077482 0 0 0 6.430755118771962e-05 +2344 -0.0006876160240326545 0.0009304551532799911 0 0 0 7.108442750995032e-05 +2350 0.00043520492679209344 0.00044253091161945924 0 0 0 -0.00012908196131927326 +7901 0.0005335991164796525 0.0005851911734476407 0 0 0 9.635569406705324e-06 +1104 -0.0006895728594057146 0.0007288339338572152 0 0 0 1.1847645682191447e-06 +2360 0.0007158175687287597 0.000625998771669628 0 0 0 -2.513155026318511e-05 +2366 -0.00035989189809760517 0.0013662390907680018 0 0 0 -4.862176187484741e-06 +2369 -7.351424571590625e-05 0.0013484881555405393 0 0 0 -4.3114926370741395e-05 +2372 -1.3380096615773755e-05 0.0009612890906647071 0 0 0 -7.618837176062601e-05 +991 -0.00048578598690426894 0.0009092996979241698 0 0 0 2.725054632744415e-05 +2418 0.0006216345469554524 0.0006004192261285583 0 0 0 -0.00011360171537546917 +2426 -0.0004841415181348879 0.0012220246608772422 0 0 0 -0.00011874237036348436 +2451 -0.00037941489325522745 0.00046316683677430045 0 0 0 9.726072196289748e-06 +2568 0.0004221866535323142 0.000810322525687022 0 0 0 2.1708758868152717e-05 +2575 0.0006669184628226591 0.0005854951421109673 0 0 0 -8.530512963993137e-06 +2580 4.3247045422446675e-05 0.0012581490725489895 0 0 0 6.170121403403625e-06 +964 0.0003234100756993724 0.00038479226031873083 0 0 0 1.746998184513019e-05 +2642 0.0006965450778638052 0.000491942904150358 0 0 0 -0.00019715186371784368 +2661 0.0003113238817536805 0.001094842352172447 0 0 0 2.393941293613011e-05 +8661 -0.0004403960833712585 0.0006359339810357102 0 0 0 0.00010172208747374804 +2678 -0.0005342163331252394 0.00020077531643228588 0 0 0 0.00010710249265042918 +2681 0.0002270754574998461 0.0006636429813906592 0 0 0 -2.290817537049797e-05 +2694 -0.00037558362880025505 0.0003785770666257677 0 0 0 -1.0669819031579382e-05 +2717 0.00037549713808312764 0.0009913167877198161 0 0 0 7.691786005782538e-05 +2718 2.0580090914534018e-05 0.0012522734628402624 0 0 0 -0.00010771717277253062 +2723 0.0010024334275550446 0.0002831393577455389 0 0 0 0.00015258831647665637 +3666 -0.0005718276960400864 0.0004109994382701917 0 0 0 -5.606773439453572e-05 +2729 1.967556668987428e-05 0.0005311247804922757 0 0 0 1.135390368709044e-05 +2759 -0.00011764180609413904 0.0013891126932083794 0 0 0 -1.8791112055477953e-07 +2764 -0.00043568795058648825 0.0011509728065503238 0 0 0 -4.216839859719976e-05 +2806 -0.0004279416933792462 0.0013788923751985548 0 0 0 2.240518557836321e-05 +565 5.890478363467206e-05 0.0004630508850448648 0 0 0 9.48425012122431e-06 +2860 -0.00036825864730592213 0.0006726460709265652 0 0 0 2.495820570450983e-05 +2864 -0.00040911208596041326 0.0013759407801719784 0 0 0 1.3193375962054304e-05 +2869 -0.00040551402402355414 0.0006263394064189561 0 0 0 -3.063038632594944e-05 +5230 0.0003756748783581451 0.00036094329945174277 0 0 0 6.678303349946968e-05 +2923 0.0003980297069804624 0.0007438108691722213 0 0 0 -9.160311552940425e-05 +2946 -0.0004922779387049572 0.0011436051297250838 0 0 0 -1.3026468776160398e-05 +2969 -0.0001841639034739017 0.0014468926942845337 0 0 0 -1.0653446707050178e-05 +2979 0.0005548924378720641 0.0008771031404954686 0 0 0 -4.5643208437477886e-05 +3010 0.0005527957901353181 0.000756991566383106 0 0 0 -7.792825612555965e-05 +3011 0.00017965755568971118 0.0010518288775146632 0 0 0 -6.481658649414825e-05 +3022 0.0003877509703562923 0.0002743512982568065 0 0 0 2.8880931843647395e-05 +5780 -0.000572110379219466 0.0009958989867919921 0 0 0 9.56018095058406e-05 +3036 -0.00030806218516675195 0.0005637472613541875 0 0 0 4.465859880196869e-05 +3042 -0.0004728363943916088 0.0006292038965392471 0 0 0 -8.186672516142321e-05 +3055 -0.000460724675675035 0.00021643435215141273 0 0 0 -8.968365660620608e-05 +3082 -0.0004362525200550427 0.0007288715751862645 0 0 0 -0.0005885435436369835 +7434 0.0005227297125529191 6.980094946301175e-05 0 0 0 -0.0005209597343441856 +3179 0.00027823674737466754 0.0012528046483071072 0 0 0 1.6290280049666652e-05 +7476 0.000452469088450379 0.0005176529194389503 0 0 0 -4.321994847375034e-05 +5344 -0.0006194771437967934 0.0005430579676641126 0 0 0 9.430668036265951e-05 +3205 0.00017512109461250504 0.0010937539947402217 0 0 0 -5.194813802062628e-05 +3238 -5.1708927236058436e-05 0.0003933921196702959 0 0 0 -8.362198669466603e-05 +3245 -0.0004466704394114344 0.0012975063667061487 0 0 0 2.1405089015609366e-05 +3250 -0.00043824698378607506 0.0005267659309074401 0 0 0 -4.4016181489062445e-06 +3251 -0.0003860209443016096 0.0002288437185674281 0 0 0 -6.229763635045326e-05 +3267 0.0006373335250687267 0.0005062011684420168 0 0 0 -7.622794683805604e-05 +3272 0.0003404237940621368 0.0008775082445531608 0 0 0 1.5033407673802305e-05 +3289 -0.00045361129314095013 0.001264343044154832 0 0 0 -6.981782268034785e-06 +3296 0.0005848227934867267 0.00012078537311071336 0 0 0 0.0005384401747307781 +3300 -0.00043191174016571105 0.0013241125548824897 0 0 0 3.4028155085490232e-06 +3320 -0.0004379584820801573 0.0013627805103306333 0 0 0 1.0225620942261786e-05 +3326 0.0002931364046215078 0.00089055269653171 0 0 0 6.187493195110372e-05 +3331 0.0003284514047123854 0.0005509630382752935 0 0 0 -7.766875812612615e-06 +5028 -0.000541895129130732 0.00018804020117872195 0 0 0 -4.359784612109974e-05 +1511 0.0005287605841960251 0.00030062478410255604 0 0 0 -5.830106566571212e-06 +3851 4.797135281296469e-06 0.000520832195450487 0 0 0 -3.388640435854661e-05 +3368 0.0005064590393932828 0.000808279026128073 0 0 0 3.7970569143322556e-05 +3381 -0.00047097739413856085 0.0002913570973326292 0 0 0 -2.0177231026120184e-05 +7082 -0.0002603527121414765 0.0004973615699143303 0 0 0 1.9351868352088624e-05 +3417 0.00024406046874653507 0.0011800314260068839 0 0 0 -0.0001521571238963631 +2744 0.00030554303496086116 0.000286423563226427 0 0 0 -2.0938626483140835e-05 +3442 -0.00025905505932678324 0.0004531685197350496 0 0 0 -6.804568545897814e-06 +3444 0.0007345993042836181 0.0003479588286037145 0 0 0 0.00035076842872317675 +3446 0.0009660934384053871 0.00038551489252846926 0 0 0 -0.000254498900568982 +1804 -0.00043071667885700695 0.0011621293035349843 0 0 0 8.288513068117039e-06 +3480 -0.00023253680279883488 0.0003529788339012744 0 0 0 4.8529806796180444e-05 +3535 -0.000491025220788398 0.0011756016187312766 0 0 0 3.226963103109917e-06 +3608 -0.00014117304582655056 0.0012424152220670826 0 0 0 0.00013618566312263727 +3640 0.00034587752164818225 0.0010040448405503942 0 0 0 -2.6364546860192797e-05 +246 -0.00012748049004990947 0.0003339164438159543 0 0 0 6.02111927205859e-05 +3694 0.00014874025841220934 0.0007876863155282267 0 0 0 -8.546511823448498e-05 +728 0.00013203862845040084 0.0005813901294945007 0 0 0 2.1240239041027623e-05 +3734 -0.0005393387799294919 0.0007051142987036387 0 0 0 2.6381847049795333e-05 +3740 -0.0005148324946196425 0.00021384664457989324 0 0 0 0.00030460087810284665 +3752 -0.000328014451869426 0.0012868559851089909 0 0 0 -6.778475555319871e-05 +3789 0.00019558084063776087 0.0012314049857621902 0 0 0 2.036815397913334e-05 +3796 0.000382034018017273 0.0008680578556186085 0 0 0 -5.4089540587682715e-05 +3803 -0.00013029686578033744 0.0008088714770206869 0 0 0 -3.300191370410283e-05 +3817 -0.0006472885287904362 0.0006819509222901153 0 0 0 -8.819040055490368e-06 +4573 -0.0001410439266432925 0.00037683225920112287 0 0 0 -0.00023059115692411638 +3848 -0.0003955825045975598 0.00041980186742474025 0 0 0 -2.7583143956153025e-05 +3196 0.0005746722547495198 -1.8082931501977157e-06 0 0 0 -0.000359581401017558 +3876 -0.0004655105728862386 0.0012675011943297297 0 0 0 1.119881413445896e-05 +3888 0.0005818560804938535 0.0005964414476030584 0 0 0 1.4082993947463288e-06 +3927 -0.0004121559528979945 0.0002675460920231746 0 0 0 0.00013147738253538224 +3986 -0.0003399206178737894 0.0006177331254884594 0 0 0 0.00019092111887477773 +9155 4.60600148018311e-05 0.0005445297048924252 0 0 0 7.073860178326059e-05 +4022 -0.00019687598324992864 0.00046138636809617744 0 0 0 -2.7809753008088806e-05 +4064 0.0005334051956536811 0.0008506389302198192 0 0 0 -2.6728254276439425e-05 +4088 -0.0005264438486296347 0.0012004200396683949 0 0 0 2.8655274010259943e-05 +4091 0.0003796656528660998 0.0008737473261266757 0 0 0 2.574906596426863e-07 +1780 -0.0004219883715725875 0.0010214379037037692 0 0 0 1.5953251607127204e-05 +4147 -0.00040908426725746826 0.0005846117769318329 0 0 0 2.0785486915441244e-05 +4155 0.0004925955937764997 0.00012214588520167475 0 0 0 6.176529173194905e-05 +4181 -0.0004806188940359968 0.0013182957266198324 0 0 0 -3.800216371969946e-06 +4184 0.00020156636129123993 0.0010573402395651652 0 0 0 -5.994357800683482e-05 +4213 0.0007082600364369831 0.00034941970633234706 0 0 0 -0.00038254101744792735 +8104 -0.0006794019839347944 0.000703932617712223 0 0 0 -1.851411602582887e-05 +9446 -0.0006156532925581272 0.0006720539917926438 0 0 0 -1.3700445093290052e-05 +4361 -0.0004913894494848708 0.0011842799541728556 0 0 0 -1.338548343928329e-05 +4440 0.000467537660120412 0.0007157460963954118 0 0 0 6.34053811979544e-05 +4479 -0.00026324895732272776 0.0010312092120204524 0 0 0 -3.3480000765798e-05 +6021 -0.00028785612491975484 0.0005542286590048007 0 0 0 3.935335961699692e-05 +4501 -0.00010110189130994206 0.0013870106840273885 0 0 0 7.235863474563983e-05 +4502 -0.000507441143584954 0.0002392314669074931 0 0 0 -7.026020870997263e-05 +4516 -0.0004977995592508556 0.000566064764174929 0 0 0 -7.473737592869087e-05 +4529 0.004661846252817044 -0.0027063961143713967 0 0 0 0.004701616044875232 +4534 0.00028399681552276695 0.000995966713240234 0 0 0 -3.476620530698435e-05 +4581 -0.0006637702217996138 0.000863124350037998 0 0 0 1.1398951788288554e-05 +4588 -0.0004949668272790978 0.0001696539706152389 0 0 0 -0.0003250634134228868 +8732 0.0003250151852581528 0.00034388776544543503 0 0 0 6.90491013799638e-05 +4629 -0.0005264689231648551 0.0012033589626069012 0 0 0 -2.501598400791154e-05 +4641 0.00016313245336971533 0.0011253772242537396 0 0 0 -7.293087058034965e-05 +4681 0.0008294738825978368 2.321642242726361e-05 0 0 0 -1.5663917081239297e-05 +4684 -0.00043643377162867417 0.0013098372882206681 0 0 0 1.2960156188034487e-05 +4704 0.0005181047912352627 0.0003030029063684382 0 0 0 -0.00024264526321380854 +4714 0.00047419661865162626 0.0007207816536616965 0 0 0 0.00012953368061286157 +6441 0.00020947849037105797 0.0003373361551330956 0 0 0 0.0002530865446266153 +310 -0.00015074268789005274 0.0003962265862454467 0 0 0 8.906284822382439e-05 +4737 -0.0003384456933319063 0.001507190609353874 0 0 0 4.606294208383596e-05 +4747 0.0005206212162712961 0.00028027734794866765 0 0 0 0.0002981095975686543 +4753 0.0005855886090174577 0.0006110302011155692 0 0 0 5.458275145374492e-05 +4756 0.0007668792268926054 0.0005521965833288925 0 0 0 -0.00014202947592662364 +4758 -0.00040391111008354386 0.0013973398540481116 0 0 0 3.592088493547558e-05 +4777 0.0006713815812584381 0.0007193496446502851 0 0 0 -5.2533196744248877e-05 +4831 -0.00044918145907872956 0.0012151719013060445 0 0 0 -1.622157160554171e-06 +4855 0.00023001053947080166 0.0008935167177477314 0 0 0 -0.00012286671338783094 +4877 0.0003585861256717173 0.0009217106108839003 0 0 0 6.45269185193726e-05 +4904 0.0007169047706357882 0.0007279002567762886 0 0 0 4.626364499301625e-05 +4911 -0.0002877493526498613 0.0005305479684971807 0 0 0 2.172345581003875e-05 +9203 -0.0005167850899383182 0.0009199096155795463 0 0 0 6.555385407739058e-05 +4938 0.0008849605996383228 0.000131986671198124 0 0 0 -0.0003323397494737539 +2557 0.0002710786621763681 0.0002757267574944018 0 0 0 5.042725529750423e-05 +4867 0.00013802591536118063 0.0003925247682347168 0 0 0 4.340707555614509e-05 +8962 0.0008224412021544745 0.00020035039241647054 0 0 0 -0.00015863588468639772 +7252 -0.00046726248595517484 0.0004251238413068141 0 0 0 -0.00012911399450877284 +5073 3.771166913791696e-05 0.0013695265882539113 0 0 0 0.00016096638783526194 +1339 0.0004630559594246781 0.00015629635492282024 0 0 0 2.881028388715271e-05 +5099 -0.00046431921694472747 0.001243999763116759 0 0 0 1.704953398830509e-05 +5104 -0.00014203231115047984 0.0007034819403271971 0 0 0 0.0002401394682536938 +4214 0.0006417233328934697 5.63786471815315e-07 0 0 0 0.00030948798466055595 +5136 5.262965333357308e-05 0.0012466340382082596 0 0 0 3.7459259311392295e-06 +2079 -0.00013662717470066862 0.00033960328358341506 0 0 0 0.00026970868941107766 +5228 0.00040837481792644026 0.0009383539519049743 0 0 0 -9.44725301707235e-06 +5249 0.0005270853891386327 0.00032030065473372956 0 0 0 0.0002866700795604468 +8939 0.0010740807730616763 9.143965637564678e-05 0 0 0 -0.0005280885582386885 +34 0.0008916561329044389 0.00018912539707091361 0 0 0 -2.76848515934731e-05 +5276 0.0008351284182707066 0.0006211795379315048 0 0 0 -0.00018362025802919023 +5311 -0.00010219103949910857 0.0010215329167484815 0 0 0 -0.00013065022820057248 +5114 -0.0006240354891806992 0.0003071428639949 0 0 0 5.5679229917114976e-05 +8977 -0.0006446957379577714 0.0005736656288593862 0 0 0 2.8065682239176313e-05 +5352 -0.001245088929410601 -0.0005646061671586157 0 0 0 -0.0002785451813119343 +5366 -0.0005424002072476166 0.0008428646461301382 0 0 0 -9.606888506577976e-06 +5371 -0.0004589360800794974 0.0012683345595585472 0 0 0 1.2423218511766445e-05 +628 0.0006645820822400388 0.00030276575319361813 0 0 0 -5.603161451776513e-05 +5417 0.0010489051139477928 -0.0013633387368231719 0 0 0 0.0005348050553576607 +5421 5.722018253785695e-05 0.0013750183562947953 0 0 0 7.11867778561523e-05 +5439 -0.0005976953505964866 0.0003802968670821265 0 0 0 -4.558864925416932e-05 +5440 0.0006434182653601426 0.00027311553969540316 0 0 0 -1.7332963843413295e-05 +5448 1.3155273382849967e-06 0.0011748890279397412 0 0 0 -6.244698856147484e-05 +2223 -0.0005580400302213896 0.0009678818455605747 0 0 0 7.476195744393e-05 +5463 0.00034711496537541685 0.000900471659552026 0 0 0 4.2800598340783865e-05 +5546 -0.00036532065265731765 0.001275396335378042 0 0 0 8.24114436853269e-05 +5563 -0.0003137965672008319 0.0004928916297043904 0 0 0 -2.219094898250622e-05 +5383 0.00015107818635790038 0.0005108888330878444 0 0 0 5.19357702242987e-06 +519 0.000551956739543913 0.00013859502770582918 0 0 0 -0.00016351989369848955 +5593 0.000401804364573983 0.0004350818325958696 0 0 0 -0.0004566745205124586 +5594 -0.00038062419434532546 0.0002786921206893354 0 0 0 -6.966146276989861e-05 +5639 -0.0005061643744270293 0.00020367152287254414 0 0 0 -9.869003392142164e-05 +5643 0.0008594785306764221 0.00021275566624343788 0 0 0 -7.232925659467063e-05 +6027 0.00028137537952229954 0.0004201695249228575 0 0 0 -9.981499505360619e-05 +5658 0.00013276117640591568 0.0008439847588243642 0 0 0 -0.00021145632033332866 +5661 0.0004528429250713771 0.0005191495010794256 0 0 0 1.563201251767322e-05 +5676 0.0007496004347839974 0.00021612881256493038 0 0 0 5.8242990409506966e-05 +5708 0.0007051237425874862 0.0007405466314371319 0 0 0 -8.14987637728787e-05 +5345 1.3351191795658831e-05 0.000537291007417182 0 0 0 -0.0001493151059496222 +5734 0.0001979106100086433 0.0006678168838559357 0 0 0 3.557308702047656e-05 +1871 0.000521069034808908 0.0003817263366393735 0 0 0 -3.9492760184530965e-05 +5644 -0.0004265956465810855 0.00022010241923059792 0 0 0 1.900264602720873e-05 +5749 0.00030545016047882193 0.0007084419998721806 0 0 0 -5.8270499446855356e-05 +5767 0.000490035931909517 6.0277038608967374e-05 0 0 0 -0.0009710223282870987 +5768 -0.0005525563790559865 0.0011495502751348765 0 0 0 4.759311691345115e-06 +6483 4.795466457723026e-05 0.0003291044477221951 0 0 0 -3.810756383522131e-05 +4662 3.322403562492653e-05 0.0005699452253134669 0 0 0 8.471302390111766e-05 +717 0.0005182502605710698 0.00044339312777508043 0 0 0 -8.336588853278649e-05 +998 2.2750600481157695e-05 0.00022105356539444762 0 0 0 0.00010859063274577929 +5839 -0.00042791523887357534 0.0011509345865025433 0 0 0 -4.464224613500709e-05 +5841 0.000735290341196146 0.000612796590810526 0 0 0 -9.194661354026963e-05 +5842 -0.0006225280985800336 0.0009080635791406951 0 0 0 -0.00015927206892527945 +3790 -0.0006655911643364718 0.0007721118179986651 0 0 0 -4.08580921903956e-05 +5880 0.000593005364540398 3.8349630856391894e-05 0 0 0 0.0005328240862377837 +5883 -6.017498951802688e-05 0.0012907628002127862 0 0 0 -5.494218437703721e-05 +9080 -0.0020984220368991473 0.0013135476852263511 0 0 0 -0.0012161662786326177 +5900 -0.0004635358264993754 0.0006957309460855656 0 0 0 -0.0001598186767793074 +5929 -0.00045729909018134106 0.0012336067899297023 0 0 0 -4.716661685005939e-08 +5931 0.0006488661496765857 0.0007165288383062371 0 0 0 -4.134366208034057e-05 +5947 0.0003909229777843842 0.0009822582398876342 0 0 0 -2.4531626400607172e-05 +5957 9.408058316866361e-05 0.0011512162996655192 0 0 0 7.173738365056793e-05 +1594 -0.0005412601065079366 0.0009801171335506323 0 0 0 2.7745484205736646e-05 +5973 0.0015034534144789695 0.0026936903136057315 0 0 0 4.966502766375784e-05 +5993 0.00037620090537777707 0.0006620800664923769 0 0 0 -5.00430524783581e-05 +6020 0.0008953862238636732 0.0003772883600573533 0 0 0 0.000242094129525737 +9964 -0.0004279773343944897 0.001272439734431864 0 0 0 1.4129210791931629e-05 +6068 -0.0005146674438179701 0.0012549276832354735 0 0 0 5.364197833648245e-06 +6081 -9.211699182596105e-05 0.0013482767296423117 0 0 0 8.079485001951685e-05 +6107 0.00014272845198481558 0.0008564753387451926 0 0 0 4.0424350096434825e-05 +6130 0.0006101950602556596 0.00027686899475037446 0 0 0 -0.00033868193013150433 +6143 -0.0009345803177805323 -0.0004713147262441307 0 0 0 3.798376459491396e-05 +6144 0.000599713168138376 0.0005440981648459337 0 0 0 1.4920684137687308e-05 +3102 -0.0006737264155967737 0.0008908725084017918 0 0 0 -3.253959638692316e-05 +6182 -0.0002114441733739737 0.0014159918118572467 0 0 0 2.3877612937418237e-05 +6200 -0.0004927006950175683 0.0011638201203242981 0 0 0 -8.197534791289501e-05 +6203 -0.0006079432830685534 0.0011310857657458387 0 0 0 9.190409799287824e-05 +6207 -0.00041127583704425434 0.0011240294327711407 0 0 0 -7.755663735855039e-05 +6251 0.00045206736260710093 0.0008605301645379137 0 0 0 -6.828211417850599e-05 +5341 -0.0006125698200435022 0.000286826936920202 0 0 0 -5.7412066227049966e-05 +6272 0.000814407078885467 0.0006733394185875512 0 0 0 -8.907242285939664e-05 +6279 -0.0003932302736611918 0.0003050174457973179 0 0 0 2.9617208943932544e-05 +6287 3.616522842510063e-05 0.0012297967074463572 0 0 0 0.000334900405337099 +6878 0.00014079839188367672 0.00011564865272398513 0 0 0 -3.128131292720298e-05 +6303 -0.0003664076410396593 0.0004443215184629493 0 0 0 -2.5630124631467676e-05 +6315 0.0006188593321074367 0.000808545123115314 0 0 0 -8.687920202185093e-05 +6357 -0.0005898473276176883 0.0011830931688514923 0 0 0 -3.82682211214416e-05 +4059 0.0002161159122642333 0.0004239371640567199 0 0 0 2.9590345299223987e-05 +6372 5.863560767178496e-07 0.001130547930208802 0 0 0 0.0002912835082092914 +6385 0.000328695817346496 0.0009578401564687864 0 0 0 -4.884181144255518e-06 +6387 -0.00032373360315359704 0.0006249568082614955 0 0 0 -0.00016364696481442587 +6427 -0.00046668907443625843 0.0012491743089805187 0 0 0 2.352951662356307e-05 +6132 0.00011146965548514197 0.00036356919184806543 0 0 0 0.00011484359888628071 +6455 -0.0004082831983920109 0.0004477229422647034 0 0 0 -2.6278290569347878e-05 +6999 -0.0001250123211484318 0.0004032050569927167 0 0 0 -3.9576070154002306e-05 +6497 0.0007552356116104421 0.00033910107364567465 0 0 0 0.00027050590103366314 +9002 -0.0005593292125687912 0.0008794236827237683 0 0 0 -3.204983141973245e-05 +6515 -0.000528475917856517 0.00019438210865388534 0 0 0 -2.739192546332383e-06 +6547 -0.0004321832004147802 0.0013650482256605042 0 0 0 -1.627046961753059e-05 +6553 -0.0005310972881348684 0.00019432167758919825 0 0 0 -9.713620239215802e-05 +6560 0.0011091993616079805 -0.0007297638346842025 0 0 0 -0.0006140874923864871 +6577 -0.00040557899325055876 0.00044618683293008493 0 0 0 -8.039904162394903e-06 +5887 -0.0006130711601591683 0.0002238982978025639 0 0 0 3.483043030036035e-05 +6583 -0.0003864498987784293 0.0015057507775320064 0 0 0 -2.922016780189884e-05 +6593 -0.00041203367063759365 0.0012905218316609523 0 0 0 0.00016226282709551495 +6605 0.000641077190029083 0.0008302770225459283 0 0 0 1.34053398427222e-05 +6100 -0.0006640077788968063 0.0007674684224772433 0 0 0 9.679761663662947e-05 +6622 0.0007565854361072985 0.0005282356897391426 0 0 0 -5.484532401040682e-05 +6624 -0.0004724229845740558 0.0005241409430245158 0 0 0 -0.00011329519676648661 +6655 -0.0005657449859657619 0.0008404586662440069 0 0 0 -1.3130433665968893e-05 +6679 0.0003675901873808921 0.0006575539598407832 0 0 0 0.00013137817376292996 +6692 0.0007346061948781769 0.0007566535458857632 0 0 0 -1.532755891560628e-05 +6709 -0.0005049421220881658 0.0012248359704990957 0 0 0 2.1000009535937516e-05 +6714 -2.8626919594433283e-05 0.0013643450858532957 0 0 0 -5.9813647837577574e-05 +7181 6.295000478007107e-05 0.00047207212377864513 0 0 0 0.0002217306064296222 +6776 6.987816740065302e-05 0.0013294460184844514 0 0 0 -7.087671838819053e-05 +6795 0.0001544639278508636 0.0010105770842959657 0 0 0 -0.00010992688482931705 +6798 0.00030726625786649784 0.0009378739081284697 0 0 0 -0.00014567167299946222 +3816 0.00011256064634542841 0.00048570142711116973 0 0 0 5.638814117646592e-05 +6853 -0.0006027406176825375 0.0007221261912182664 0 0 0 4.6414902995378266e-05 +6903 -9.106776638130312e-05 0.001175957488800175 0 0 0 1.0446596277600156e-05 +6906 -0.0024386814196668436 -0.0008017058415672111 0 0 0 -0.0010053878719323453 +6929 -0.00019427469106172114 0.0004371689492666428 0 0 0 0.00013086561734599515 +6938 0.00011931242274047297 0.0012698927993420382 0 0 0 -4.3031513023260885e-05 +6949 0.0007469005546648353 0.0006872823609534698 0 0 0 2.5599424227555808e-05 +6961 0.0004664355075771968 -0.0017572849161048229 0 0 0 -0.0008432234354647965 +8864 -0.000660499655204945 0.0008806859328294919 0 0 0 4.754758074124602e-05 +3090 0.00033021625457288657 0.0001746135451984495 0 0 0 -0.0001009265251618544 +6992 -0.0004372890710497882 0.001017608315995597 0 0 0 -0.0007675987513423301 +1157 -7.084850451180868e-05 0.00036405394460936336 0 0 0 1.3495947676470675e-05 +7045 0.0005108892893010026 0.000767750667812425 0 0 0 0.00013165545352443854 +7074 0.00016159149775155657 0.0006488911677867223 0 0 0 -0.0004771058091117566 +7080 -9.881137940411644e-05 0.0013815293253182147 0 0 0 -9.072161648649835e-05 +7092 -0.000300933332375935 0.00027600158691058367 0 0 0 -2.641284790530823e-06 +7103 0.00032039081112359775 0.0009985499698258037 0 0 0 -3.711643893264974e-06 +7106 -0.0005190259644418093 0.0007991736196846617 0 0 0 4.151719637940486e-05 +7118 -0.00047867601793148115 0.0011720222776060607 0 0 0 3.442545410473701e-05 +7125 -0.0002527270149732523 0.0003866169375199542 0 0 0 4.6109568777323324e-05 +7163 -0.0002592817762202643 0.0014294877534518084 0 0 0 -9.061478986552833e-05 +7173 0.00063361047726388 0.0006091078961382866 0 0 0 -1.908721830417367e-05 +7180 -0.0004242109006507594 0.0010927593145629664 0 0 0 1.013132177978199e-05 +7206 0.0008957168593115408 3.198076364932758e-05 0 0 0 0.0001451045963204691 +7241 0.0008890154904392826 8.608459401571023e-05 0 0 0 -0.00015878477409771684 +7258 0.0005321720071112502 0.0004386357788471299 0 0 0 -0.00025294039547304147 +7293 5.1963388773264867e-05 0.0011767072854512878 0 0 0 0.00015565539178539787 +7296 0.00047292045923605065 0.0007983240757988158 0 0 0 -0.00011786214020978011 +7305 -0.0006289107680668781 0.0009722089514109873 0 0 0 0.0001781971750699248 +7316 0.0006298798330907167 0.0005039420490768372 0 0 0 -7.828177673709675e-05 +7329 0.0005018709403874415 0.00059419543077543 0 0 0 2.179640633645333e-05 +3214 0.00020742088377174447 0.0006877323160750645 0 0 0 -0.00014554779397721822 +7351 0.0005336693376358875 0.0002949168765470394 0 0 0 -0.00023038397390635557 +3263 0.00046294210656013185 0.0005631101270459913 0 0 0 8.887056114672751e-05 +7397 4.970676315787848e-05 0.0012269594169765743 0 0 0 -5.7292815057690766e-05 +9945 -0.00044315738945579597 0.0012743011292215205 0 0 0 -0.00010061556739954216 +6719 -0.0005231416707998399 0.0009824036597233363 0 0 0 3.76946507629491e-05 +7448 -0.00015499794021825563 0.0010592796101995578 0 0 0 0.000165874757115068 +7472 0.0004681989134834153 0.0007185262876596909 0 0 0 -0.00017061210950395245 +7497 0.0007518294815792237 0.0004927810000639285 0 0 0 -7.240599746595552e-05 +7514 -5.132366782529103e-05 0.001022596388896027 0 0 0 0.0005096350482676007 +7516 -0.00048734301883624436 0.0012903599915101264 0 0 0 1.976040667163766e-06 +7522 0.0003331183145009729 0.0010562559590607237 0 0 0 -6.866331070109157e-05 +7533 -0.0004314060177594747 0.0011422233216516642 0 0 0 3.236324550145761e-05 +7572 1.8624678423167884e-05 0.000596925196051624 0 0 0 -0.00021621130438436215 +7589 0.00040072654573234957 0.0009780576000185187 0 0 0 -0.00011416680740626963 +7602 -0.00045889727651112297 0.0012233928038609951 0 0 0 0.00012281499777554852 +7613 0.00017454685012708953 0.0006363102676574499 0 0 0 -3.8671638929603814e-05 +951 6.846905213195492e-05 0.0005889766693343879 0 0 0 -1.2500544323299303e-06 +7660 -0.0006579599184412515 0.0009763720081896665 0 0 0 -2.0371588713983777e-05 +7683 -0.00028546724096925526 0.0003365071715680658 0 0 0 8.075398525288708e-05 +7690 -0.0004793675005858184 0.0003159820425803539 0 0 0 -1.3262688413703443e-05 +7712 -6.229296480898332e-05 0.0005561291958277694 0 0 0 -0.0003174968908251045 +7713 0.00034160708255924596 0.0006779607893584046 0 0 0 0.00013845909486247493 +7761 -0.00023262069943983166 0.00124591368454918 0 0 0 5.098159242779907e-05 +7889 -0.0005881113279423788 0.0004407445935491399 0 0 0 0.00010250311691438494 +7813 -0.00033396877457642803 0.0011603538189576901 0 0 0 2.845838252997243e-06 +3979 -2.1570614339160925e-05 0.0003514948539355433 0 0 0 2.2747269673934748e-05 +7872 0.0006726416581279328 0.0006103619178643389 0 0 0 6.965165075610944e-05 +7884 -0.0005673518814102316 0.0005727971094657835 0 0 0 0.0001909058077589551 +6830 -0.00028137427753809486 0.0002427259807940971 0 0 0 0.00016840802861024098 +7916 -0.00011519118776107867 0.0010166624119237145 0 0 0 -8.073839748323998e-05 +7917 0.00022713293750129904 0.0012021143356462695 0 0 0 -0.00010375562790134642 +9071 5.9609685754372623e-05 0.0005337616079922199 0 0 0 5.971835836966535e-05 +7978 -4.2621558136860155e-06 0.001066646626176348 0 0 0 0.000332348220509606 +8014 -0.00031771615656068543 0.00039411355591438015 0 0 0 1.0085891560493846e-05 +8025 0.0003975890052845204 0.000993347879052211 0 0 0 -0.00011976548007622987 +8070 -0.00036788533530672984 0.0014309406183176938 0 0 0 -7.515442019960217e-05 +8103 -6.696953383572721e-05 0.0010784252088851072 0 0 0 0.00015938229381585 +896 0.00015604757928359766 0.00021712081688762458 0 0 0 7.231206026826848e-05 +8155 -0.0001454069642944828 0.0009848132330585483 0 0 0 0.00020011241897595453 +8163 0.0007944985300534617 0.00023035272196961844 0 0 0 4.8753736778717415e-05 +8183 -0.0003429957469418036 0.0012045618686721024 0 0 0 0.0001073776220345662 +8189 -0.00035402975961248794 0.0007513515724174489 0 0 0 0.0003443760186156847 +8191 -0.00048512027585954285 0.001241876232127874 0 0 0 1.7922617136675634e-05 +8203 0.00042107316231223754 0.00101365322015908 0 0 0 0.0001003732697814064 +8255 0.00015828051826044238 0.0008679369549540796 0 0 0 4.6740608948784745e-05 +8259 -0.00041937837827007887 0.00047858605963264493 0 0 0 6.041714797497212e-06 +8521 0.00039429691597470644 0.0005800973320531131 0 0 0 3.5855255461891293e-05 +8327 0.00044951224211626833 0.0010069964627479058 0 0 0 -7.735615187865854e-05 +8347 0.00025402463284000186 0.0010474222428698686 0 0 0 -2.3361730500659266e-05 +8359 -0.0002575400115380147 0.001231651492976975 0 0 0 -0.00015031170361892647 +8380 -0.0004485632082822066 0.00036481229204650016 0 0 0 -2.7341355719681268e-05 +8383 0.0005427386756827078 0.0008947039863673341 0 0 0 -0.00028250739713299835 +8400 -0.0007073698687586909 0.0010000743678227086 0 0 0 0.00011229426535755745 +8412 0.00032721100947480863 0.0010233371034746165 0 0 0 -0.00016202131602143305 +8416 -0.0004217894384602314 0.0006369089683921639 0 0 0 -3.439636904647202e-06 +8424 -0.0006364047282668072 0.0005674393848084933 0 0 0 -0.00011104290062437278 +8426 -0.0001714383544613587 0.0005601715838332346 0 0 0 0.0003273538229065677 +8454 0.0002154281999044522 0.0005597266508529039 0 0 0 0.0005117526720677046 +8458 -0.0004964174241814661 0.0012801474302600359 0 0 0 2.3433496818319148e-05 +9995 -0.0003296310264019889 0.0003638476551017906 0 0 0 6.311131621883773e-06 +8496 -0.00034170838903024034 0.000555016781567202 0 0 0 2.4379249871540927e-05 +8499 0.0007722851066839162 0.0007043971761097557 0 0 0 -4.0501418644811455e-05 +8514 0.000418651803923926 0.00023589220860103458 0 0 0 0.0002514211402499169 +8525 0.00041563940237412575 0.000995413036924975 0 0 0 -5.3558734630479446e-05 +9984 -0.00039269899687585815 0.0006214250477998011 0 0 0 -1.3513477261628366e-05 +8535 -0.0004735149282821487 0.0013410561225344368 0 0 0 2.8291840749406964e-05 +8630 -0.00026611511902214374 0.0004030379524435644 0 0 0 2.3634687884996297e-05 +8640 0.00047195270308881995 0.0009943169310246362 0 0 0 2.2724620550636597e-05 +8645 0.0006101194404339622 0.000343279912420814 0 0 0 0.0001457349408546874 +8650 -0.0005412525413015324 0.00022752177058674565 0 0 0 0.0005682458745169596 +8660 -0.0003132468856382139 0.00033299948582581697 0 0 0 -5.513512157378044e-05 +6579 -0.0005949040310045537 0.00033557718980971015 0 0 0 1.6167250506677988e-06 +4333 -0.00023445171667373319 0.0006206300012403245 0 0 0 -0.0002087975639732532 +8680 -0.0003028848582558968 0.0003454465314664927 0 0 0 6.450118823579205e-05 +8733 0.00011698134310903039 0.0008672076807827985 0 0 0 -3.6758251954397736e-06 +8735 0.00037345357618257305 0.00029813261280892714 0 0 0 3.649914774438623e-05 +8746 0.0005974995984355082 0.0005581168996869472 0 0 0 -5.521892673753623e-05 +8785 -0.0033173573926261564 -0.003367849502209067 0 0 0 -0.0011671321587088362 +8808 -0.00039164055521782604 0.0014668383113672367 0 0 0 -1.9886062383477872e-05 +8835 -0.0004320131103761284 0.0014121698469505446 0 0 0 4.5211016802049116e-05 +8838 -0.00043359434209011446 0.0006818201177330851 0 0 0 0.0003229935152493856 +3356 -0.00012132312072423896 0.00039497142080258016 0 0 0 -7.762027891344298e-05 +8866 -0.0006496282882949269 0.0006548991298390792 0 0 0 7.977886911269346e-06 +8877 0.0001254365586758644 0.0007322951568788797 0 0 0 -0.00024427127937596426 +8888 0.0005512846131718764 0.0007883428157924858 0 0 0 -5.341198688671984e-05 +8911 -0.00047840895991243973 0.0008364355133054039 0 0 0 -0.00070641821225551 +2999 0.00029157773664586616 0.0002974867904691872 0 0 0 1.1450566864169175e-05 +8957 0.0007296896745745766 0.0004808866114895893 0 0 0 -1.4698490194631308e-05 +7387 -0.00043046699672432244 0.00027453294350387374 0 0 0 0.0006000264226995205 +1150 0.0002778849044453768 0.00035914020369178347 0 0 0 -4.10720275463399e-05 +9033 -0.00033465064829986657 0.0004334079461849185 0 0 0 4.3443640212318744e-05 +9040 -0.0001324465634906651 0.0005633008257085874 0 0 0 -0.0004539679297455283 +9061 -0.0005184299771872849 0.000277730591626032 0 0 0 4.527889869830942e-05 +9064 -0.00046401853600850745 0.0013359796664694883 0 0 0 1.8188518909370215e-05 +9078 0.0005826440660044687 0.0008122754922899467 0 0 0 -0.00010496852325607066 +9242 -0.0002855882246402877 0.0005103026458913261 0 0 0 -4.938553392704269e-05 +9103 -0.0004701494316804381 0.0011458546612372108 0 0 0 9.871408248117237e-05 +9142 -0.00024565094378060074 0.0004838104592948422 0 0 0 5.6391466333830136e-05 +9194 -0.0005101381057083293 0.0011452509818281008 0 0 0 -3.9920495864919374e-05 +9243 0.0005141284577511997 0.0005533076726662083 0 0 0 -8.456414380012022e-05 +9270 0.0006312917190986195 0.0005991673440810878 0 0 0 1.6062627242577837e-05 +7505 0.0007454483719020942 0.00047574542780829814 0 0 0 0.0003244849192303658 +9292 0.0005672262911725087 0.0005491872331017452 0 0 0 -0.00020652885931102393 +9324 0.0005273245569919626 0.0004058516176777453 0 0 0 9.261779772755055e-05 +9338 0.00025425178399312735 0.0005749141038410764 0 0 0 -0.00010080015935686108 +9384 1.5016141275774479e-05 0.0013195656729806503 0 0 0 -7.587222454997309e-05 +9414 -0.0003044460518787396 0.001250219732816718 0 0 0 7.875255173113096e-05 +9423 0.0002685069655454146 0.0012102146989658388 0 0 0 7.614428578492041e-05 +9425 0.00022746805558645938 0.0009340438741309223 0 0 0 8.200862993611711e-05 +8265 -0.0006590963751057707 0.0008004977464957178 0 0 0 1.3370644503996895e-05 +9448 7.424997091727687e-05 0.0005636879348934332 0 0 0 8.529721057979937e-05 +8028 0.0003198380467567195 0.00010474939871175947 0 0 0 -0.000352004370150048 +9457 0.0010114608354891454 0.00039446769358865034 0 0 0 -8.536908204184668e-05 +9463 0.0004767443752726003 0.0009271955590424288 0 0 0 9.279817645328252e-05 +2253 0.0005622530743093139 0.00032038575172451913 0 0 0 1.0678563350391359e-05 +9492 0.00032217857825362484 0.0008811924671603991 0 0 0 6.797769583836202e-05 +9493 -0.00038425767526048483 0.0014197774406968947 0 0 0 3.9119964416257635e-06 +9519 -0.0005466903911366954 0.0012567752008211604 0 0 0 2.651040858086693e-06 +9525 -0.0003853510646253842 0.001417512151462629 0 0 0 1.4945315349305346e-05 +9529 -0.0008984557015187641 -0.001065158282429746 0 0 0 2.602806923209132e-05 +9531 0.00023669835575544317 0.0011740689201106193 0 0 0 -0.0002002852534669542 +9533 -0.0005212358196656787 0.0008573071188972041 0 0 0 0.0002527246622937958 +6220 0.00019293768440489404 0.0001596961056475488 0 0 0 6.567393427596395e-05 +9541 -0.0006450708319073441 0.0006728781851587921 0 0 0 -7.181539785117513e-05 +9542 0.0003667007067929508 0.0008688673043191388 0 0 0 -8.778034183824714e-06 +9562 0.0007464592372515448 0.0007159375813651538 0 0 0 3.4859743058799494e-05 +9613 -0.0006532418017517548 0.0008731189509785049 0 0 0 1.5808086247687755e-05 +9623 -0.0006574566636810882 0.0007567400716232037 0 0 0 -6.445134022668299e-05 +5199 0.0008639948777560554 0.0002063431347739584 0 0 0 0.00015092620690342854 +9664 4.545619785561387e-05 0.0013654343324575452 0 0 0 8.998629795722499e-05 +2831 -0.0006452668880843466 0.0006772560716418409 0 0 0 -2.327776860023037e-05 +214 0.0005169246372643296 0.0005486348325763532 0 0 0 2.420135233286464e-06 +9691 -0.0005133102842093173 0.0002179125718848979 0 0 0 0.0001120537125761093 +1830 0.0004551029939556992 0.0004818786113990515 0 0 0 0.0001720023222261591 +9712 0.0003796288499485026 0.0009294995371536243 0 0 0 -8.491452146853558e-05 +9745 -0.00042514312717366017 0.0013349939063858533 0 0 0 3.2463977042167736e-05 +4314 -0.0007130387430755956 0.0008333692722058122 0 0 0 -4.815620142765733e-05 +9790 0.0006162640148446387 0.0007471492624619202 0 0 0 1.6287564883331112e-05 +9816 -0.0005697144870939898 0.00108320997236479 0 0 0 7.620713647842247e-05 +9817 0.0003955287532628377 0.0007071815159720849 0 0 0 -4.7672610882825153e-05 +9960 -0.00044462790102983056 0.0005136789560152173 0 0 0 5.646128062958055e-05 +9838 8.231147408380893e-05 0.0011332087686437623 0 0 0 -0.00014519361518132632 +9860 0.0003087719991844379 0.0009890710023386044 0 0 0 6.697906688783494e-05 +9869 0.0003124312636398902 0.001039013254069786 0 0 0 -4.388969138011771e-05 +9876 0.0005105379162459817 0.0005809207132779979 0 0 0 2.522759026364278e-05 +9886 0.0001301652245258977 0.0008316580817140153 0 0 0 -0.00011148976949240423 +9906 -0.00047593235977368663 0.001099788134683174 0 0 0 2.723019544681501e-05 +2187 -0.000505198383942489 0.0010759638597515903 0 0 0 3.8714636238096234e-05 +9913 -0.0004026418241891055 0.0013112143107519654 0 0 0 -0.00014743382860971617 +7137 0.0005326831045330174 0.00043612363997583975 0 0 0 0.00020956448598465367 +5986 -0.0004319283974784358 0.0009949164153631028 0 0 0 -2.816911808030033e-06 +9038 -0.0006821760056956731 0.000711377462316815 0 0 0 4.523172434010615e-05 +9447 0.00031611484407253386 0.00034278594088949687 0 0 0 -2.9072075455814972e-05 +2039 0.0002851743743460688 0.0003142530076226967 0 0 0 5.718554480036401e-05 +9383 -0.0004075659332185178 0.00037584520972080857 0 0 0 -0.00035803920499628643 +7072 -0.00013981859964720323 0.0003047224482791805 0 0 0 2.3699249091632437e-05 +787 0.00022130472440208844 0.00039531614254470146 0 0 0 -3.7580181945873484e-05 +6768 -0.00045260975637105404 0.0011133776148128792 0 0 0 3.929259983576117e-05 +8328 0.0004433506567364075 0.000511604555875077 0 0 0 -8.077576459916152e-05 +8774 -0.0006106372429138821 0.0008662138823969428 0 0 0 -5.0113067833668166e-05 +9784 -0.00013049647900598924 0.00014998950787821757 0 0 0 0.0005231507125759219 +5020 -3.329333413324998e-05 0.00044954292500732024 0 0 0 3.5436990446061386e-05 +1915 0.0004536627164513194 0.0005255335131555268 0 0 0 0.00013331685364214248 +3032 -0.0006722643550232189 0.0007405789124104562 0 0 0 1.28853350970938e-05 +5807 -0.00046845973001587545 0.00024167983343355602 0 0 0 -0.00024056867659781164 +8789 -0.0004214643250244653 0.0009656155687345592 0 0 0 4.807534855824675e-05 +7212 0.0005096433033647239 0.0005394387615115301 0 0 0 7.338373101493576e-06 +1507 -0.0006628360990753755 0.0008953497604724705 0 0 0 2.6339938457068888e-05 +9683 0.00022291015407495315 0.0003752426334138041 0 0 0 0.00016736727034906415 +3852 0.000637063561343624 0.000544563272447592 0 0 0 -0.00012823179354443242 +3921 0.000462721076273775 0.0003867651045024209 0 0 0 -0.00010717054877432903 +4752 -0.0005727167349191365 0.0010509341464298163 0 0 0 3.461176429883226e-05 +6893 0.00012195632605326411 0.000559055540148414 0 0 0 -0.00023928516926342006 +2468 -0.00033854015320578293 0.00026218341744915573 0 0 0 0.00017613874595052986 +631 -0.0004942357166438193 0.000270415455287107 0 0 0 9.26627281928081e-05 +5332 0.00015683110941990778 0.0005028318740998384 0 0 0 -0.0002861370996533499 +3050 1.5572989459042182e-05 0.00037507810333170126 0 0 0 4.5062237931219835e-05 +5875 8.259995029940119e-07 0.0005354640723346651 0 0 0 0.00017020035720050528 +5061 -0.0005269347835156504 0.00017381714823325525 0 0 0 -0.00010554980705140119 +1269 -0.00047674962174447275 0.00022571718931513148 0 0 0 0.00020142925658692403 +7846 -9.832053794573691e-05 0.00032171012277504524 0 0 0 9.315527057439458e-05 +4063 -0.00012736806129597848 0.0005006844213831803 0 0 0 -0.00010861092255828632 +5461 -0.00044695438468658494 0.00028584182924242744 0 0 0 5.323472561752965e-05 +5819 0.00016913242499912965 0.00034721305226558023 0 0 0 0.00017020595431513222 +111 0.0004522379071178994 0.0005084340749560172 0 0 0 1.6908970369500127e-05 +7946 -0.0006359633821681078 0.0010679767331994606 0 0 0 3.7637869282284764e-05 +3691 0.00032577449075883844 0.0003092882944192186 0 0 0 4.8144317263498166e-05 +5486 0.00022762131679340104 0.0004829111524344409 0 0 0 0.00034221677921935663 +7989 -0.00010989575620025341 0.0003777903432670046 0 0 0 -0.00021072193242624985 +6209 0.00043225190834292153 0.0005029974558705855 0 0 0 -0.0001569019568672607 +7121 -5.2728255584396604e-05 0.00036606004955456057 0 0 0 8.605780224371778e-05 +3466 -0.00041437587732111157 0.0009524737158360592 0 0 0 3.557126296763536e-05 +5657 8.187446143575938e-05 0.00037058093861964 0 0 0 4.083173796429558e-05 +8770 0.00020984429243277254 0.00032867060404492805 0 0 0 -0.00017854726943030184 +2355 -0.0005362918777243252 0.00021391033741715128 0 0 0 4.074187413020826e-05 +3872 -0.0003927429271110595 0.0015476263910335537 0 0 0 8.729055186693628e-05 +6912 0.0003174733342175775 0.00035471611412352333 0 0 0 -2.25383153651133e-05 +7845 0.0002895075464235501 0.0003554501188199077 0 0 0 -0.000428739491376833 +8075 -7.053492555113051e-05 0.0003322148840201728 0 0 0 -9.507803611972867e-05 +5126 0.0002681117305175417 0.0003867254823342997 0 0 0 -1.8120306429984773e-05 +9861 0.0001930158188245361 0.00043866397640077056 0 0 0 9.101618544267651e-05 +7187 -0.0007261116736568365 -0.0008763694349009861 0 0 0 -0.0005732231418425941 +3195 8.433142401054433e-05 0.00028427829732736055 0 0 0 5.6128503226016835e-05 +3108 0.0002827247665110618 0.00029727775713911587 0 0 0 -9.598484273176051e-06 +6342 -0.0004965549485199961 0.00021276443077629343 0 0 0 0.00048276059730599795 +6438 -0.0001433527184846308 0.00040002542651865246 0 0 0 0.00042356238394844405 +6519 0.00019835927680698578 0.00044834119862726155 0 0 0 7.169230264341977e-05 +2135 -0.0006637598852784502 0.0007571626250499217 0 0 0 3.2471428927295105e-05 +1496 -0.000671120735441338 0.0006874800641929962 0 0 0 1.2968200497631352e-06 +1715 -0.000460903095426906 0.00013911662950877315 0 0 0 0.00016066482406824206 +5893 -0.00012884159712908986 0.00017827337403435783 0 0 0 3.0325694664402368e-05 +6808 -0.000580920346262758 0.00012840833773571976 0 0 0 0.00024330430400654028 +7755 -0.0006002952463967235 -1.6172780925308265e-05 0 0 0 -8.597508780047071e-05 +8465 -0.0005607644448006388 0.00014724842063406685 0 0 0 0.00037782672562155514 +4789 -0.0004071412831283172 -1.6360013621725163e-05 0 0 0 2.664145484957103e-05 +8761 -0.0005927727825304968 0.00015439161557418104 0 0 0 -0.00034484610040716 +8066 -0.0005925480637390814 4.578248006361247e-05 0 0 0 -4.925927597693633e-05 +6522 -0.000669705374581087 0.000237784906253788 0 0 0 -2.7143137801682243e-05 +5443 -0.0004340665155709796 0.00015399755089227617 0 0 0 4.129886991242952e-05 +9305 -0.0003574320116657022 0.00018791022868447853 0 0 0 3.452703162510857e-05 +9047 -0.00048223935040041173 0.00026586016647395895 0 0 0 -0.00017427209514146792 +7557 -0.00047440870694561213 0.0001602947668419137 0 0 0 -2.6158030680387917e-05 +6590 -0.0003066732701085278 0.00038794899602181493 0 0 0 0.0005352604270240024 +4972 -0.0005759105464571444 0.00013788399707858286 0 0 0 0.00015423239664381894 +4078 -0.0005238232478955636 0.00016789770261688974 0 0 0 6.132612989763624e-05 +1171 -0.0005051929444427919 0.00018864662087771832 0 0 0 5.611710489628767e-05 +1693 -0.0005098618548915231 0.00015690400161911026 0 0 0 6.5938956937554e-05 +5054 -0.0005713341346025962 0.00016144541852359707 0 0 0 -0.00016368627187835234 +6964 -0.0006326000608567455 2.7348325350897045e-05 0 0 0 0.00015656571635665748 +3941 -0.0005570271501700976 1.3205749523582402e-05 0 0 0 9.59923430296501e-05 +2697 -0.00046793483668699837 -3.5760921352224505e-05 0 0 0 0.00010723352934833919 +8686 -0.0005396675669366299 -2.354236035327167e-05 0 0 0 -0.00024070865567198143 +7104 -0.0006266214675721718 -1.3252522271618774e-05 0 0 0 5.5819000860112785e-05 +3174 -0.0005516287091714187 0.00012945164703358992 0 0 0 1.694467626192969e-06 +4659 -0.0005407206565697005 0.00015820201808667588 0 0 0 4.614911524220888e-05 +8434 -0.0005439109539424787 0.0001606496887494962 0 0 0 0.000166499912363686 +9418 -0.0005731748586441419 0.00016569179420700646 0 0 0 -0.00013130285140484308 +8659 -0.0004764197198269463 0.00022197100038073993 0 0 0 -4.753251499147085e-05 +6860 -0.0005125149290447878 -1.3818994186936307e-06 0 0 0 -0.00036598449436468875 +7960 -0.0005559671242993145 0.00015201391403337245 0 0 0 0.00019071897805809235 +5917 -0.0008329418442358655 -0.00030645171743845154 0 0 0 0.0006294610886809259 +985 -0.0004347791041615949 -1.913942358426403e-05 0 0 0 -7.423482351431854e-05 +1863 -0.0004803221151551009 0.00020706093174894938 0 0 0 1.3314705193494695e-05 +2178 8.905888589876555e-05 0.00030067406941135645 0 0 0 -2.13827449688319e-05 +2037 0.0003062492421653669 6.091929037381356e-05 0 0 0 3.735053885765713e-05 +2943 -0.00041505807515710157 0.00024333318419223192 0 0 0 0.00015599806506486755 +1021 -0.0002749639084594377 0.00038189214769000817 0 0 0 0.00016538684728170118 +5583 -0.0006944181731991109 -0.0010038403416625507 0 0 0 0.0019836059938663003 +7701 -0.00017671279691305826 0.0002567157440289108 0 0 0 -1.8902113886691232e-05 +2316 0.00017416090758147736 0.00032947100970624803 0 0 0 6.180422397239335e-05 +2518 -0.0003414570961190533 0.00017587847357894315 0 0 0 4.882634896374969e-06 +7319 -0.00012274951951901034 -5.016487546207201e-05 0 0 0 -0.00010316944340803813 +3451 -0.00039817122719217274 0.00014365574423013902 0 0 0 0.0002731297426846806 +3148 -3.861243690070635e-05 4.867806086658348e-05 0 0 0 0.00015573612017815537 +6702 3.893479067417723e-05 0.0002578559767614396 0 0 0 6.533037962702609e-05 +3864 -0.0004365770574091965 0.00021970121092516515 0 0 0 3.755938883901862e-05 +7114 -0.00035939091788964435 0.0001217221207771381 0 0 0 0.00012040544966599366 +8724 -0.00024358767292886004 0.00018711014516406985 0 0 0 9.779825187654801e-05 +462 7.044198370108647e-05 0.00030531267129658973 0 0 0 2.9015307728755014e-05 +1316 -0.0003899355112877781 0.00018715525236164123 0 0 0 -5.155160525376642e-05 +820 -0.0002658708843784357 -3.3838255829030056e-05 0 0 0 8.307678599163067e-05 +2652 -0.00032766402858476446 -6.26495621667134e-05 0 0 0 -4.214990027750772e-05 +7702 3.765545752443064e-05 0.00020142902188867722 0 0 0 -2.819780133791193e-05 +3527 -0.0002801694884176745 0.0004475859953222167 0 0 0 -0.0002951819481404961 +6420 -0.0002536549787637006 0.0004628491131551928 0 0 0 -0.0003542197166840905 +9119 -0.0003456785387146279 0.00032437753610892623 0 0 0 -0.00023614380657761738 +2748 -0.00015391850278270724 0.0007014802854534256 0 0 0 -6.948050067419555e-05 +1572 2.2250933915045947e-05 9.035870444351667e-05 0 0 0 -7.147253147784968e-05 +2771 -0.00027610771692975216 0.00019410688745436457 0 0 0 0.00017297699794257445 +6987 -0.00029257518658014353 0.00014265070140866834 0 0 0 -5.573485547795126e-05 +5975 0.00039915896599389896 9.792410436422105e-05 0 0 0 -0.00018813710336232142 +6978 -0.00019619788039046255 0.0005538343287105991 0 0 0 0.0004227964231896076 +4070 -0.00041586137682734543 0.00023366617541026975 0 0 0 3.814840515022321e-05 +4563 -0.0002855436301452923 0.00018247601098329781 0 0 0 3.398579580356164e-05 +9091 6.093007580853266e-07 6.77164120670494e-05 0 0 0 4.017945192713912e-05 +7785 2.0916609353944654e-06 -6.586493229810289e-06 0 0 0 -1.9277688205350447e-05 +7996 -0.0001881667563552952 0.00018185809433993223 0 0 0 3.786568747515722e-05 +6476 3.68412407451714e-05 2.561590348503855e-05 0 0 0 -3.18432449024329e-05 +7798 -0.00013831458394806894 0.0003294099290333654 0 0 0 -0.00015274969783603747 +3307 -0.00021043874621434245 0.00015059943795952716 0 0 0 -2.02721880049112e-05 +1985 0.00018933376921779292 0.0003469903022041035 0 0 0 -1.9221921794304537e-05 +9494 -1.3522116887041108e-05 0.0003762703461859418 0 0 0 -3.2437331390777986e-05 +1250 -2.0145619666839122e-06 0.0005733181263732837 0 0 0 5.608458223418048e-06 +1687 -0.0001949690465963469 0.00014915154918316702 0 0 0 1.8316997985946615e-06 +371 -0.00016619196139553723 0.00022272257847701492 0 0 0 3.758689516043379e-05 +3635 -0.0001345362101361525 0.0001881747248273708 0 0 0 -1.4611319117540845e-05 +9517 -0.0001815477576166076 0.00026703448351140954 0 0 0 0.00011384865905381658 +2962 -0.00011090829974668924 0.000164724655730852 0 0 0 -3.40241170753204e-05 +5761 -9.355811717453615e-05 0.00016735004712639624 0 0 0 2.2425705187053804e-05 +1757 9.284258341689681e-06 0.00010449045375881183 0 0 0 -8.112578263287542e-05 +2227 1.7565355728503907e-06 0.0003179938697420088 0 0 0 0.0001409669528834079 +5517 -0.00015497527840478784 0.00020976061091914245 0 0 0 1.4553352859663192e-06 +3146 -0.0001435493853942848 0.00023286104013495014 0 0 0 5.951416885905545e-06 +9205 0.00025889995635072137 -0.00014342132945407084 0 0 0 5.770999935769547e-05 +9053 9.214437278721817e-05 -0.00033297090930360684 0 0 0 -0.0015136725745538064 +5309 0.00011766177875418733 -0.0004093865922573199 0 0 0 -0.0007899021048113988 +3456 0.00013834637317814962 -0.0004237535960076641 0 0 0 -0.0008599636878976177 +26 0.0004733104032075594 0.0006336515433352085 0 0 0 -1.7253389158114674e-05 +748 0.0007320589625467139 0.0011554015479577132 0 0 0 2.629150830332323e-05 +40 0.0007947875318495593 0.0009054300169076538 0 0 0 2.225597218368012e-05 +56 0.0005393583825084454 0.00033320733575610637 0 0 0 1.2222354095520244e-05 +59 0.0007687876846011303 0.0010052468087454929 0 0 0 3.7631630835906325e-06 +62 0.0007966061434963274 0.000977982348889357 0 0 0 3.8391209781680554e-06 +85 0.000876270895016037 0.0005057705227498428 0 0 0 -7.7301732169089e-06 +104 0.00045869105030086477 2.6267742860559976e-05 0 0 0 2.3837354505263346e-05 +1817 -8.156964159222633e-05 -0.0004405804275316438 0 0 0 -7.834007947143547e-05 +187 0.0007219679522549446 0.0008416957104903774 0 0 0 7.597962564330531e-07 +9809 0.0008271510446971381 0.0007517677534186422 0 0 0 5.3491161111802834e-05 +229 0.00020934006364512248 0.00024168651640445256 0 0 0 2.761274776522933e-05 +252 0.0009767244746906013 0.0005986066097583504 0 0 0 9.005446366867414e-06 +266 0.0005485429263292435 0.00013954360905821806 0 0 0 -3.4624261173007414e-05 +293 0.0002502464815163585 0.0003534438847056799 0 0 0 -3.0582761306722666e-05 +297 0.0005106962911044901 9.235301228917261e-05 0 0 0 -2.6797926337606612e-05 +326 0.0008432304852144716 0.001081272508221249 0 0 0 9.262380253537513e-06 +472 0.0008421637686216953 0.00025748059135114793 0 0 0 -1.932869218022921e-06 +383 0.0007254953236188225 0.0004407001721603084 0 0 0 1.335773715924819e-05 +391 0.0008338842410667631 0.0007283997138862904 0 0 0 -9.852384766664454e-06 +459 6.394051830035806e-05 -5.527767646487002e-05 0 0 0 -0.00018417314635791425 +466 0.0008014771732343694 0.0007273624001110101 0 0 0 -5.422669599262292e-07 +9867 0.0005226304526119054 0.00024769740145510344 0 0 0 -6.297187522917751e-05 +488 0.00012089984728625809 0.0001384719258540441 0 0 0 9.896083807626557e-06 +561 0.0006890014502843971 0.00047821806326127895 0 0 0 1.9786346251936784e-06 +564 0.0007551608456162224 0.0002424482281321949 0 0 0 -1.5853949334280612e-05 +570 0.0003421465224652436 0.0003271655940135807 0 0 0 -6.075057575387436e-05 +571 0.0006158384919475392 0.00015743849344248867 0 0 0 -2.628025918379288e-05 +585 0.0007222343404800855 0.000369126062411257 0 0 0 -1.1669702737960493e-05 +601 0.0009090395326511755 0.0006880511058273952 0 0 0 -1.6165850253600404e-05 +681 0.0004091386000880863 9.353583908612322e-05 0 0 0 2.000985333847022e-06 +1222 0.0009576128218044539 0.0003122781010326599 0 0 0 9.679136505720124e-06 +736 0.0001793376258680698 0.0002501325941768676 0 0 0 -3.973843502998952e-06 +740 0.0006658553683972043 0.0002618876233428519 0 0 0 2.1285189044629838e-05 +741 0.0010001732034563083 0.0003817186164521934 0 0 0 1.2321938732932582e-05 +2731 0.0002774073031144749 -0.00022159590925499022 0 0 0 0.00016018958134899288 +9402 0.0007541524743665762 0.00026905870252077574 0 0 0 0.0001959037651073372 +2700 0.000927837957908936 0.00032244525616954796 0 0 0 -2.0330721260553944e-05 +771 0.0005341657402469233 8.885154360633256e-05 0 0 0 1.8404912186759283e-05 +786 0.0007016560363873718 0.0001306196679224367 0 0 0 -4.28992413832406e-06 +789 0.0007186278043970044 0.0007800936501645798 0 0 0 1.2816593380181634e-05 +794 0.00023489638351907051 0.0005316006459012891 0 0 0 -7.932191144353805e-06 +802 0.00041942857367450917 0.0007403343546613055 0 0 0 6.144980353569786e-05 +803 0.0006460599556524644 0.0007858856889037688 0 0 0 4.811743698673466e-07 +7973 0.0008631776665067188 0.0003786776112656703 0 0 0 5.3429477027535636e-05 +6859 0.00023108316801921566 -5.592465636960304e-05 0 0 0 0.0003726121534560502 +4783 0.0009217089951442539 0.0002934366459643647 0 0 0 -5.1880625997596185e-05 +9815 0.0006638599620235336 0.00029003156401929107 0 0 0 0.0005788484089645357 +857 0.00019863040358155065 0.0004027260076887004 0 0 0 -4.948440637292547e-06 +908 0.0007724912263140859 0.0008780971331940823 0 0 0 -1.887082078526797e-06 +919 0.0008393614166846106 0.0007358713507872936 0 0 0 -1.549733972002327e-05 +920 3.880011410547829e-05 -0.00017557496209820035 0 0 0 0.00024014253421403577 +1000 0.0006078865174912026 0.0003299248762261758 0 0 0 6.749774986434692e-05 +1011 0.0007260788191077053 0.0009659436704319929 0 0 0 4.811180089507529e-05 +1028 0.0008413465364110793 0.0008746614910081474 0 0 0 -2.194075753607064e-05 +1061 0.000720660748951475 0.0006235633049673205 0 0 0 9.576894349050858e-06 +1088 0.0005583795301957296 0.0007745731020882713 0 0 0 -3.2370915656548785e-06 +1111 0.0007747591372160859 0.0007695116545143191 0 0 0 2.1995812842379978e-05 +148 0.0008866729628146625 0.00043078914350437396 0 0 0 2.622804872576221e-05 +1128 0.0006329289384050482 0.0003905096862651653 0 0 0 -1.079157702913843e-06 +1132 0.0007127963688503158 0.000566129229000464 0 0 0 -1.6771983611147687e-05 +1147 0.0006299348618295828 0.000805622936894102 0 0 0 -6.124669353824397e-05 +1160 -9.15674433027935e-05 -0.00017072118359108096 0 0 0 -0.0003029484360871567 +6226 4.3648861583540054e-05 0.0002838562505845276 0 0 0 -2.935550810189033e-05 +1168 -0.00020374271009208317 -3.849868060583035e-06 0 0 0 -4.8861425159961855e-05 +6129 0.0010903257976265543 -0.0005609020753245362 0 0 0 -0.0007376305287463663 +1183 0.000869069019438541 0.0004080689475902016 0 0 0 -3.088194606423983e-05 +1208 0.0005707941782247453 0.00010338828229271395 0 0 0 -4.83627232737716e-05 +1259 0.0007312210823966084 0.0005790516208792501 0 0 0 -1.0900182113805589e-05 +1260 0.0007498362263177208 0.0002149499029637559 0 0 0 -4.922464108067623e-06 +1273 0.0006007906599164107 0.0004830922319564245 0 0 0 8.945594395424168e-05 +1284 0.00035480866246962047 3.731852806370907e-05 0 0 0 -1.322010343320413e-05 +1287 0.0006334925843791679 0.00023601121689676642 0 0 0 -4.602747867592309e-05 +1294 0.0007082068881357436 0.00031004865504967655 0 0 0 -1.835947246141646e-05 +1308 0.0006603583881897362 0.0008060451611906427 0 0 0 -1.4723586879399165e-05 +1354 0.0008378693078947224 0.000697670463154869 0 0 0 7.62508535758169e-05 +4042 0.000945439602705925 0.001163829753067005 0 0 0 5.9302171449192567e-05 +1366 0.0007840890957007454 0.0011014823769237266 0 0 0 1.930876094095053e-05 +1408 0.0007089879144450186 0.000520295582594777 0 0 0 -8.717734311640437e-06 +1416 0.0008343829020057502 0.0008463452614827616 0 0 0 -5.145679655532328e-06 +1426 0.00015269509195681887 -0.00012638579080050992 0 0 0 -0.0004109710232955405 +6780 0.0008487580874142644 0.0012563677842827813 0 0 0 -7.988208124855505e-07 +1468 0.0003659680628651344 0.0006947450560716979 0 0 0 4.07343350369444e-05 +486 0.0008963687984614924 0.0003185918961016704 0 0 0 1.71942441356823e-05 +4202 0.00047128455819577534 -0.00011372470605129219 0 0 0 2.9605545775219413e-05 +1480 0.000834099747119012 0.0007827796292855389 0 0 0 9.759018791484882e-06 +1536 0.0002395487331344354 3.669582264514372e-05 0 0 0 -3.4776794952447674e-05 +1539 0.0004866347686679509 0.0007300834986570867 0 0 0 1.3851775442693716e-05 +1546 0.00010244353664845374 5.162810791446896e-05 0 0 0 -6.961889896244087e-05 +1559 0.000831093297878296 0.0008171112563312205 0 0 0 -3.551007764473067e-05 +1566 0.0006988262852686853 0.0004989356343562785 0 0 0 1.0616828206464682e-05 +9424 0.0005293383368788455 0.00012528149077745796 0 0 0 -8.33516298880225e-06 +1583 0.0005815006418655854 0.00045414247597576205 0 0 0 -5.457030795292479e-05 +829 0.0010175725408292562 0.00047589971668220876 0 0 0 1.9370991491684466e-05 +7413 0.0008689180974235002 0.001281466219436769 0 0 0 6.293896776136601e-05 +1667 0.0006032924130422303 0.00017105660640117713 0 0 0 -8.465509774168153e-06 +1684 -0.00020428095262940973 -6.96700885839306e-05 0 0 0 2.048865995655094e-05 +1690 0.0007101950378637828 0.0008830023963567763 0 0 0 1.6920965762973384e-05 +1756 0.0001032932730939794 0.0001485079469433787 0 0 0 -0.0005528630879387345 +1759 0.0005445985309555729 0.00022390789897605576 0 0 0 6.15714820041166e-05 +1786 0.00031541319257193665 0.00011730136781127668 0 0 0 -0.00018979479790293144 +7538 0.00034182001072998174 0.00013110663510059118 0 0 0 -0.00016804923163463343 +1816 0.00020590876223991448 0.00025346365682107403 0 0 0 -2.5368809955560736e-05 +1824 0.000835054175821691 0.0007760903562133119 0 0 0 4.3285642401823193e-05 +1833 0.0005591544532007623 0.000695308493378666 0 0 0 -1.1802960493751823e-05 +1849 0.0007733526632476025 0.0007674642742727944 0 0 0 0.00012854139630377487 +1861 0.0007880679416613581 0.0007775392529751125 0 0 0 1.984339551827515e-05 +1862 0.00018237661359302607 9.60871160474423e-05 0 0 0 5.812765659089143e-05 +1873 0.0008356897615196124 0.0007972223225661779 0 0 0 -1.340090560041285e-05 +1875 0.000237261495628973 0.00025536903622120434 0 0 0 -0.00018731171084706747 +8963 0.0008345381409230995 0.001150228473877897 0 0 0 4.810937481763124e-05 +3068 0.0009652052217121521 0.00047913866918492947 0 0 0 1.2421320109578857e-05 +1918 0.0005345350140319068 0.0003385608628616951 0 0 0 -0.00011681188054994378 +1927 0.0005167971125975675 0.00024290822573330413 0 0 0 2.3680954710573622e-05 +1938 0.00021186563868136636 0.00029028666198032766 0 0 0 -1.9359396377216374e-05 +1965 4.260607172954268e-05 -4.80323951493316e-05 0 0 0 -0.00013387602561446395 +9079 0.000779885894956003 0.0009705521197024533 0 0 0 2.392134307675966e-05 +9787 0.0006025193904284303 0.0005086965554042974 0 0 0 -0.0002962850082006094 +2018 0.0005280319674379965 0.0004884881228246372 0 0 0 0.00014254220868449618 +5025 0.0009759628437248806 0.00043102559727317203 0 0 0 3.038195961496822e-05 +2049 0.0007756383408678902 0.0008413114188378512 0 0 0 -4.52005235319846e-05 +2089 0.0008007321119843533 0.0006139645194163147 0 0 0 0.00013918566788637143 +2097 0.0006629744623364498 0.0003814591694817173 0 0 0 1.8379360751671352e-05 +2120 0.00048215758826573895 0.0006571513171858499 0 0 0 -1.9623043527714644e-05 +2122 0.0005309686428749326 5.523982121939269e-06 0 0 0 -1.077795821162101e-05 +2415 0.000778022721645656 0.0010148192203115337 0 0 0 1.879752242765911e-05 +3605 0.0008285984490751265 0.00038659631057267127 0 0 0 -9.032341251901238e-06 +800 0.0003318689971667311 -1.527609861887399e-05 0 0 0 -3.0245919661278593e-06 +4037 0.0008164671231088372 0.0009191291749839225 0 0 0 1.4857930805014742e-05 +2245 0.0005201012958953688 0.0003457863080144332 0 0 0 7.686150664515323e-05 +4576 0.0009680790416268377 0.00047555400635493074 0 0 0 2.107558747443411e-05 +2262 0.0007745513868761525 0.0006884146709328101 0 0 0 -5.14834588204146e-06 +2984 0.00091559798445729 0.00032626061016198245 0 0 0 -8.94421914093989e-06 +2300 0.0008025462725809118 0.000810044130644252 0 0 0 5.2344442133878085e-05 +2373 0.0008440927910598592 0.0008135619859172045 0 0 0 3.007442765157831e-05 +2380 0.00020982208895696847 0.000358614114155954 0 0 0 -5.374197741847477e-06 +2391 -0.0002160007833389268 -4.7269328994839913e-05 0 0 0 6.033961711614871e-05 +9135 0.0009510711442505784 0.0011195765694480505 0 0 0 -0.00017070340427677928 +2411 0.0007384163791588754 0.0009196711837726712 0 0 0 1.67876890055026e-05 +9700 0.0007542195990089832 0.00021394766810444785 0 0 0 -1.1144510435285231e-05 +2416 0.0007290464428370929 0.00048675699539649534 0 0 0 -1.2726515481069893e-05 +9841 -8.417468045685557e-05 1.2461732217377396e-05 0 0 0 0.00016249344429920758 +2466 0.0005220717653598618 9.692022643955652e-05 0 0 0 -7.306551763791647e-06 +2506 0.0005489396193314724 0.0007649947378738602 0 0 0 -1.6722363893853456e-05 +2558 0.000788376218755826 0.0008982054526944402 0 0 0 5.766805004050183e-05 +2581 0.00043098002097386747 0.0003269297962147145 0 0 0 0.0001353161398009468 +2584 0.0007679985668773284 0.0008132896796009553 0 0 0 4.626275879720477e-06 +2599 0.0007598183623557238 0.0008508343484686828 0 0 0 2.966285610146103e-05 +2607 0.0008143582914949132 0.0008484923512987028 0 0 0 -3.7965207379121017e-05 +2633 0.0005600670159606071 0.0003212579933170687 0 0 0 -8.668398168468829e-06 +2662 0.0008027235734130876 0.0008985290305044588 0 0 0 -8.356978005947958e-06 +5090 5.0268828739801163e-05 -3.146308500745376e-05 0 0 0 -0.00012063368951450288 +1163 0.0003564810711706545 0.00019426168700046968 0 0 0 5.148877471838436e-05 +2703 0.0006212844398216814 0.00011429746902436033 0 0 0 -1.5831677124764348e-05 +2742 0.00026055273010022246 0.00044575679576573657 0 0 0 -1.2473052905344262e-05 +2750 0.0006874540428376105 0.00029218599212618306 0 0 0 -3.2711168793561735e-05 +3709 0.0002777330314364724 0.0005119651827637919 0 0 0 -3.7115456197921344e-05 +2785 0.0005761696779378531 0.00013582792367131452 0 0 0 -2.916827282942491e-05 +9356 0.0008063485651986498 0.0006751510465949295 0 0 0 3.0899963006420196e-05 +2867 0.00024123783100594035 0.0004895233374455308 0 0 0 -1.1404182308560434e-05 +2878 -0.00021891349114698037 -1.9207442995722324e-05 0 0 0 5.380480764521459e-06 +3403 0.0007983780819118306 0.0010182294670691657 0 0 0 1.4561726284141774e-05 +2951 0.0005267445564845172 0.00033199647686719817 0 0 0 0.00020804891731219586 +2989 0.0007197669618013436 0.00042979193456405365 0 0 0 3.699844878542615e-05 +3018 0.00044581434921200366 3.083424701745343e-05 0 0 0 -4.19213900941355e-08 +3029 0.0008302895496826081 0.001095084616651113 0 0 0 -1.2039131566839555e-05 +3035 0.0005721365636641753 0.0007038859511701742 0 0 0 3.623596655834126e-05 +4013 0.0005464490049801753 0.00020579208457439932 0 0 0 9.56808541559407e-06 +3371 0.0008884049483871267 0.0011175608654620409 0 0 0 0.00014639297254124439 +1266 0.0009744102992867241 0.0003552975335835054 0 0 0 -1.0895116054584859e-05 +3136 0.0008627865125492133 0.000414184455318507 0 0 0 4.5576143852367e-05 +3158 4.4972398452961945e-05 -0.00010263752135788833 0 0 0 0.00048069152031510106 +3230 0.0001742184747898058 -7.331364126016748e-06 0 0 0 3.4824611788965764e-05 +3279 -3.383850314789191e-05 -0.0005520188874778561 0 0 0 -0.0001868865458828171 +3337 -5.037278905159338e-05 1.2456546573937161e-05 0 0 0 6.318907185033756e-05 +3348 0.0002657440850271565 0.0006236699175414899 0 0 0 -1.7555943079587748e-05 +9639 0.0007070748083412503 0.0005353870039500364 0 0 0 -3.437203176107455e-05 +3373 0.0007240805809581324 0.0003564625058664527 0 0 0 1.0859174468257928e-05 +7417 0.0007855645755483566 0.0005875717695580832 0 0 0 2.3365140090557906e-05 +3499 8.573936362364849e-05 -0.00019213307798832563 0 0 0 -0.00042893126916363053 +3554 0.0006905978845529335 0.0004470770148451324 0 0 0 1.466483730530997e-05 +3557 0.0006247390923388458 0.00013923369226336596 0 0 0 -1.9768301200143082e-05 +9024 -0.00010542709008874085 -6.465605903405388e-05 0 0 0 0.000580133069043539 +3598 0.0004415879662764166 0.0008211496202511037 0 0 0 -0.00010362709171362536 +3624 0.00016917546654565032 0.0001344633019802661 0 0 0 -8.901535349948338e-05 +3632 0.0007787403270149561 0.0009667459349778451 0 0 0 1.589832563103408e-06 +3593 0.0007512992393047466 0.0004445370432495967 0 0 0 8.221176486730056e-05 +3653 0.0007300047657209062 0.0009159101672681661 0 0 0 4.845676811616472e-05 +3655 0.00022930910744727338 0.0003655935398971274 0 0 0 -2.2867744004009087e-05 +3673 -0.00012212627358126443 -9.297663298837393e-05 0 0 0 -0.00019826043592312585 +3681 0.0006695747241562791 0.00042438466068219063 0 0 0 -5.434976521254597e-05 +4179 0.0009674144355843972 0.0003462763917757557 0 0 0 -3.056074725626395e-05 +3727 0.0007764165652906929 0.0002606178134527816 0 0 0 -4.229357032694475e-06 +3729 0.0004264218254667474 0.0004074680677313793 0 0 0 0.0002315166485577725 +3746 0.0007056013075072467 0.00032842185801741365 0 0 0 0.00010137565979671491 +3759 0.00013667003548008814 0.00023003922204116434 0 0 0 -7.833179747975471e-05 +3765 -0.00020641720934943194 -0.00012561948589922186 0 0 0 8.672382814008522e-05 +3792 0.0007492293643935769 0.0007344142713103756 0 0 0 -4.6899949601879415e-05 +6224 0.0007857996828633187 0.0009981823166107494 0 0 0 1.1903138888358248e-05 +3830 0.0006084818210306703 0.00012252026006515866 0 0 0 0.00010272559465174015 +3849 0.0007393711162273606 0.0003452967951847164 0 0 0 2.1381847297206834e-05 +9730 0.0007023250035788357 0.0006099418770956526 0 0 0 -2.9227321231057084e-05 +3895 0.0005778812815184791 0.00023886857409322081 0 0 0 -0.00014517466023121218 +3910 0.0004551566550059432 -8.339328349163031e-05 0 0 0 1.5465279638101187e-05 +3945 0.00031940572605105585 6.341556861004818e-05 0 0 0 9.75432185607831e-05 +3953 0.000826739207326419 0.000912245998551611 0 0 0 -5.1030793671407994e-06 +3957 0.0006041886372639288 0.0008267750719905035 0 0 0 -4.149149983601833e-05 +3958 0.00081816445285144 0.000751980641584532 0 0 0 3.017391252578402e-06 +3422 0.0008861938957022059 0.0003715812810338751 0 0 0 1.3661322286371635e-05 +3978 0.0007118130141267872 0.0009040460370610622 0 0 0 1.2731724013563956e-05 +3981 0.0007906344428354976 0.0006465318949817258 0 0 0 -0.00019846494057889426 +4001 -0.0002301034037389278 -5.8866022961877715e-05 0 0 0 -6.183174106249094e-05 +2942 0.0007891637774657313 0.0010020013519918658 0 0 0 -2.5381900265579498e-05 +4015 0.0006939873556819873 0.0005454849370480072 0 0 0 7.243228512321513e-06 +4018 9.668825589989981e-05 0.00011318811069140269 0 0 0 0.0008325813953761078 +1969 0.000862467939219 0.00027489581142354255 0 0 0 -5.300522097471892e-06 +6689 0.0007443292181129561 0.0009797386909113697 0 0 0 1.009817875589865e-05 +4077 0.0008125536443684911 0.0008387401402333254 0 0 0 9.399540098207942e-06 +927 -0.00021977488859114413 -0.0001933448280854833 0 0 0 -0.00014358100322214363 +4104 0.0005479602468352896 0.00010843881896860519 0 0 0 -3.891898917930203e-05 +4122 0.0007205054441978214 0.0008945526039156482 0 0 0 1.6740199532057725e-05 +4130 0.0007539021963757477 0.0008762385995238227 0 0 0 -9.071622289065151e-05 +4219 0.0005841183157007859 0.0005361172712896261 0 0 0 0.00020198765637350832 +4226 0.0007194570681298712 0.000902697723807846 0 0 0 -1.58922955054205e-05 +4284 0.0006778299590452296 0.0002986196948550468 0 0 0 1.4796987420573485e-05 +4287 0.0008252824446026469 0.0009311836378775114 0 0 0 4.643867370259551e-07 +4297 0.000539000774821456 0.00012866028258236309 0 0 0 -8.818512981158194e-05 +2032 0.0008192657053010886 0.001071778071865387 0 0 0 6.811595826827246e-06 +4366 0.000758238901017656 0.0009401863397052654 0 0 0 3.7507751076376994e-05 +4391 0.0007548874163763544 0.00017803429087388223 0 0 0 -3.408239826608253e-05 +8639 0.0005407983547631481 0.00015541707723447075 0 0 0 0.00018725350389860805 +9357 0.000996437537553602 0.0003622295756271879 0 0 0 5.1054064125330645e-05 +4456 0.0009634377170316781 0.000787217716655603 0 0 0 4.792296972577412e-05 +4468 0.0002586202331571892 0.00041598862447295447 0 0 0 -5.590693625546257e-06 +4478 0.0007114065479467774 0.0004258718062257731 0 0 0 4.827251745119211e-05 +4492 0.00031023490639347216 0.000312116318386251 0 0 0 -0.00016134419201943652 +9759 0.0008044199407491768 0.0010165610482781454 0 0 0 -3.5221557572058714e-05 +7863 0.0009573193723930967 0.0006379785925699361 0 0 0 0.00011298475425451198 +4519 0.000855461917855409 0.0004422610380575775 0 0 0 3.5108351750583674e-05 +4533 0.0005851879234598535 0.00070446164070146 0 0 0 -4.309524917846441e-05 +4551 0.0007797776008774509 0.0006554627862285743 0 0 0 -7.572272302303087e-05 +4571 0.0008299348633399339 0.0008595485438935359 0 0 0 -6.0133484548226475e-05 +4584 0.0001766688380754909 0.00020072041064298393 0 0 0 0.00011437582085583144 +4602 0.00046909334158530915 -1.5089784933824899e-05 0 0 0 -7.06118788009464e-05 +9765 0.0006667900951364278 0.0003941899882796975 0 0 0 -0.00010675052717875042 +4627 0.0007368053912448475 0.0008872757157191162 0 0 0 2.9952001591454277e-05 +4646 0.0006153726697715176 9.524920576538849e-05 0 0 0 5.4532135886111905e-06 +4648 0.0006517620557281975 0.0009622346482341009 0 0 0 1.1096896380970084e-05 +4687 0.0007803739521634224 0.0008571190014631987 0 0 0 2.144762657418135e-05 +4694 0.0008182463085341092 0.0009550650129639517 0 0 0 -8.374429671627505e-05 +4697 0.0003654546514800678 7.35017733127082e-05 0 0 0 0.0002816292025387762 +4707 0.0002887618651997881 4.9313039652951496e-05 0 0 0 -0.00027545181719426426 +4738 0.0008530694111283334 0.0008761637830309143 0 0 0 -9.36586783600504e-05 +4768 0.0008687075340826577 0.0008474363162515783 0 0 0 0.00013679060355507744 +8436 0.0007960290062115457 0.0009271490788143989 0 0 0 4.571046660158339e-05 +4787 0.000709685418406863 0.00033157151804237784 0 0 0 -3.071403932416973e-05 +4794 0.0008242799395506807 0.0007997512811911597 0 0 0 -3.924543422781909e-05 +9272 0.0006980658434000944 0.00036384870301387216 0 0 0 -0.0001444603085470367 +4804 0.0004979622501560203 -4.7414941657420723e-05 0 0 0 -1.634490749546824e-06 +4934 0.0006923379091544717 0.00023756570856387245 0 0 0 9.41470698150465e-05 +4951 0.0025055765741254198 5.309050543310448e-05 0 0 0 -0.0010596752998978057 +8540 0.002085911448210376 -0.0006589959895277737 0 0 0 -0.0001754214937955215 +4969 4.89015051756679e-05 -2.1362841634757573e-05 0 0 0 -0.0006352422189093026 +2802 0.0009017936094067952 0.00026986991540479906 0 0 0 8.511031124070845e-06 +4992 0.0008115143859109957 0.0008944023199900063 0 0 0 -3.240567906802067e-05 +2176 0.0007792562581841142 0.0009533393252997504 0 0 0 -3.249119379272226e-05 +5018 0.0006973815676675166 0.00039904055848380307 0 0 0 -6.587160149683374e-05 +5065 0.0007127157345050104 0.0001810430464437572 0 0 0 -7.131034620847574e-08 +5070 0.0006896749476913703 0.0008462018207841705 0 0 0 -9.728937169740077e-05 +9594 0.0012133077500136 0.0015192977498922392 0 0 0 -0.00022728533735279265 +5102 -0.0001688372455111125 -2.6065379996529467e-05 0 0 0 -0.00012784286071644606 +1337 -2.8122174850412702e-05 4.811408127681142e-05 0 0 0 -5.991019565136672e-05 +5116 0.0008080749643474203 0.0009032989577693626 0 0 0 6.33975584543011e-05 +5157 0.0007168331179164062 0.000643870853800648 0 0 0 -3.0767671038956754e-05 +4089 0.0004438074312714904 -0.00013296264461118236 0 0 0 3.126508455988959e-05 +5163 0.00048523888684455106 0.00032011719546713274 0 0 0 9.759960162205075e-07 +7654 0.0008033283679431999 0.001054242699278641 0 0 0 3.826500801574623e-05 +5185 0.0007870110615676748 0.0010473179167803657 0 0 0 3.375946573141881e-05 +5189 0.0007633498495276016 0.00023942946405794337 0 0 0 5.104380520779039e-06 +5191 0.0007190606195614875 0.0004391621857442674 0 0 0 2.6815238862840616e-05 +4166 0.0009594126577560127 0.0011996804770478618 0 0 0 -0.0002871808269677819 +5202 9.124430059375817e-05 -0.0004137119116780414 0 0 0 0.0003248637430926072 +8278 0.0005389345803144441 0.0004402360425250358 0 0 0 0.001838367497967664 +5270 0.00010383929818063979 3.2985328445736805e-05 0 0 0 -0.00033643979370369506 +5292 0.0008175503402795584 0.0007118143946890614 0 0 0 -3.208852508114855e-05 +5297 0.0007202406272925941 0.00044402148721152856 0 0 0 -4.791440531420546e-05 +3221 0.00022382254499537737 1.945096155564017e-06 0 0 0 1.1311108142597061e-05 +5323 0.0008277432710390038 0.0006664967160440637 0 0 0 -2.2019768426973653e-05 +5349 0.0005518690593845616 0.00037144431545143886 0 0 0 -1.201556719526991e-05 +6267 0.0005635431892732558 0.0006078044349277362 0 0 0 5.166217527752432e-05 +5368 0.0007692483605609927 0.0007803454918757857 0 0 0 6.9927638026319645e-06 +1941 0.00024676902349305595 0.00028294254304937993 0 0 0 -1.2020205522906944e-05 +5407 0.0007089428568923894 0.00040982864512297245 0 0 0 -2.9534692725581492e-05 +5408 0.0006929819272944331 0.0008483728611955238 0 0 0 -5.286151461794101e-06 +5445 0.0005377967234193528 0.00013998434732031358 0 0 0 2.3379893980120394e-05 +5462 0.00060860321939597 0.00029641098056669055 0 0 0 4.5961232342575405e-05 +5468 0.000546436109657638 0.00012870578479007451 0 0 0 2.4651379935486716e-05 +5478 -0.00015554487196963156 -0.00013876546368519265 0 0 0 -0.0003590879823546525 +3120 0.0002659610516681193 9.484145686284235e-06 0 0 0 -0.0003174111611804838 +5490 0.0006061942158050177 0.0003527688953197424 0 0 0 3.928677587663941e-05 +5529 0.0008406791543359826 0.0008540337014501654 0 0 0 8.602783853046935e-05 +5646 0.0002528198227012862 0.00010008598813925849 0 0 0 -3.8918679377812426e-05 +5675 0.0007213124600833154 0.0008600459251572129 0 0 0 -1.8777467820250408e-07 +5704 0.000846214921456323 0.00026210142812355504 0 0 0 -2.1247851102540717e-05 +3686 2.0469126605313534e-05 -0.0001718252940198017 0 0 0 -6.85705600922898e-05 +5772 0.0007804140200059825 0.0007062578350612468 0 0 0 -0.00026356139430488827 +5794 0.0002100564675511283 -1.485629043441192e-05 0 0 0 -0.00032607474945446364 +5797 0.0018462238438930962 0.0001507753182505548 0 0 0 -0.0006665687166525853 +5825 0.0025011857033182244 -0.002022047692842115 0 0 0 -0.0014098240080500485 +5862 -5.9769219751878495e-05 0.0001669190804752206 0 0 0 -8.560143977747897e-05 +5899 0.0007374364981254109 0.0001776795968531369 0 0 0 -1.6497356740566664e-05 +5915 9.995595423913979e-05 -5.168196448776579e-05 0 0 0 5.911956067239321e-05 +5923 0.000652799162825102 0.00042831130402262534 0 0 0 -0.00010234234375236679 +5936 0.00024571457645628186 0.0004823928754781971 0 0 0 2.0761481696266557e-05 +5961 0.0009603736914007335 0.0004823677078554403 0 0 0 -8.339256905227391e-05 +8437 0.0007732244268258614 0.00022214990118630293 0 0 0 -4.034060526818921e-05 +5994 0.0005940195628361188 0.00037021886615397494 0 0 0 -0.00010801031163900969 +6003 0.0007281702323427587 0.00046204543474411984 0 0 0 -8.826752407853719e-05 +8616 0.0002929912469021568 0.00012861901497760735 0 0 0 -0.0003544169752324843 +6040 0.0007023675530108772 0.00048700461909242546 0 0 0 5.8894266849598695e-05 +6058 0.0006457431451184232 0.0007836097603586445 0 0 0 -5.651196251988433e-05 +9583 0.0014382420473930371 -0.00011182162123016192 0 0 0 0.0016213510394564035 +1991 0.0006894291502197015 0.0008528725845134078 0 0 0 2.8852118272807666e-06 +6169 0.0006082014897678227 0.0001704566417844783 0 0 0 4.056147215639234e-06 +101 0.0008146950507686845 0.001240313770639137 0 0 0 1.8861801672807596e-05 +9999 0.0006410527585183686 0.0007385143664659253 0 0 0 -5.654404316978776e-05 +329 0.0008603681977721655 0.00025132451908804147 0 0 0 -1.410889518947343e-05 +6234 0.0005637198978422806 0.00015334164818398788 0 0 0 -4.7765374224762e-05 +6246 0.00021570822854603697 -0.0002794764893339839 0 0 0 -0.001331096194656943 +4895 0.0006394388235495673 0.0008236386082988307 0 0 0 4.072739192072902e-05 +6300 -7.698924477034599e-05 -0.0006868696279279886 0 0 0 0.00042515626721068684 +6323 0.0005778917415036863 0.0007926795741353891 0 0 0 2.78078529514653e-05 +6328 0.0007396847994811045 0.0005651914324890927 0 0 0 6.940100423329818e-05 +6343 0.0007200899887068207 0.0005982505883849654 0 0 0 2.6956990013414222e-05 +6363 0.0007140491978317237 0.00018106138653057542 0 0 0 -6.310361304813555e-05 +6390 0.0002609012231812176 0.0004049886895093837 0 0 0 8.957619872456852e-06 +6423 0.0007773750678475203 0.0006670729879638896 0 0 0 1.0614921296091798e-05 +6426 0.0006898497747972244 0.000624821919568431 0 0 0 5.93346006470322e-05 +8758 0.000872487363021941 0.0002990873116807525 0 0 0 2.0765843618476534e-05 +9390 -0.00020391143783706425 -3.1868115059373636e-07 0 0 0 0.00011759159233520944 +6496 0.000730391537578904 0.0007122405329715881 0 0 0 -0.0005572039494139824 +6986 0.0005262164182090929 0.00020325448020349295 0 0 0 -0.00015001408225898884 +9904 0.0005966490777074497 0.0007662152408453404 0 0 0 2.0809892716102772e-05 +6527 6.191470174092008e-05 -0.00010203920985323592 0 0 0 -6.220918426742056e-05 +6561 0.0007411875015730541 0.00035141341825717923 0 0 0 -3.914033566929118e-05 +9915 0.0007113110871846455 0.0009043739693440998 0 0 0 -0.00010788963294388984 +9887 0.0008299443871355402 0.0007885253929676094 0 0 0 -2.7172543276163095e-06 +6623 2.247497890805559e-05 0.0002469486343830669 0 0 0 -0.000107395002038233 +6635 0.0007067843706255446 0.0005921061427247294 0 0 0 4.10291706756905e-06 +6690 9.200226362764945e-05 3.4486169791237285e-05 0 0 0 -0.0006580157875498159 +6710 0.0008088192284573443 0.0009276858459955537 0 0 0 2.374046615747426e-05 +6720 0.0006843724852206198 0.000790179842865193 0 0 0 -4.884374859089635e-05 +2367 0.0010963853073246725 0.001207615791277529 0 0 0 1.4362743257281365e-05 +6737 0.0007829975573288287 0.0006581391949760778 0 0 0 -5.870126580861022e-05 +6744 0.0005832893657749411 0.00023984836225708506 0 0 0 -0.000528142312715742 +6766 0.0005605286356459709 5.6346063440851184e-05 0 0 0 2.5820762452021437e-05 +6775 0.0008319276549336615 0.0009259145742786683 0 0 0 9.064431563266891e-05 +6797 0.0004102390750714254 0.0008190712791490189 0 0 0 0.00014099027081271594 +6809 0.00012534354512579182 0.00013660172276725203 0 0 0 0.000115310449125698 +7280 0.0003100453330076169 1.156708544061292e-05 0 0 0 0.0001895333560590234 +8814 0.0010005257176223942 0.0003632066371117005 0 0 0 2.2206534957052022e-05 +9360 0.0005116318386534441 0.0007967875420842101 0 0 0 -0.00011626433858789243 +6896 0.0006082585496843536 8.396306089535046e-05 0 0 0 -2.5136085428067955e-05 +6935 4.128909972321173e-05 6.32461011650323e-05 0 0 0 -0.0011517939141283244 +1984 0.0008605187136285634 0.0011720227513533949 0 0 0 -6.09322641165107e-06 +6970 0.0006182956124858006 0.00021090655327354782 0 0 0 -4.619651442040332e-05 +2734 0.00012183497312881466 -0.00032148791226902824 0 0 0 -5.7572298165289724e-05 +6993 0.0005770952525620658 0.00010810924002678011 0 0 0 9.285104416228438e-05 +7010 0.000435261162831763 0.0005726159621988524 0 0 0 6.49352411355557e-05 +7020 0.0007691988869786979 0.0003783594848859119 0 0 0 -5.06654749299683e-05 +7026 0.00022554534989182855 0.00045754321165924003 0 0 0 -5.0383205384941234e-05 +7037 0.000735655863744716 0.0006395083598948996 0 0 0 -1.4776944643169177e-05 +7039 -2.3124722596039595e-05 0.00013785441100809133 0 0 0 0.00043748533919087996 +7110 0.0007675536131909331 0.000886298226442868 0 0 0 8.571674048453335e-07 +7933 0.000788434580755152 0.0009939509442303783 0 0 0 -2.402283958323278e-05 +7146 0.00021786731920400915 0.0003472435307456475 0 0 0 3.978664798908959e-05 +9724 0.0009943613518596354 0.000998771042232595 0 0 0 -0.0016504023934961938 +7193 -0.0001626705460041548 3.342087808280316e-05 0 0 0 -0.00036283794105266046 +7226 0.0007922674354830975 0.0009588656449886518 0 0 0 -2.2379994016367864e-05 +9573 0.0005724722614861475 0.00012958608430837577 0 0 0 -2.5773008905119682e-05 +7304 0.0002695515826848687 0.0005502737507895454 0 0 0 -1.1461878454703398e-05 +7324 0.0005622991716850128 0.0006431752643894757 0 0 0 7.009769643666905e-05 +7349 0.00021153282221664452 0.00022875796750714935 0 0 0 1.1666550990500231e-05 +7355 0.0007508240143029712 0.00037804391723168665 0 0 0 -6.938963179172458e-05 +7395 0.0002772530745856303 -0.00019885445082623202 0 0 0 0.0013542128558038497 +7415 0.00019646466726260566 0.00019759593316161648 0 0 0 6.133550521548026e-05 +7433 0.0006933747957663563 0.0007859622453623723 0 0 0 -2.187189326562925e-06 +7134 0.000760482803156663 0.00023264806929817786 0 0 0 4.2131258361056785e-05 +1403 0.00026553115340474366 -7.997485936037362e-05 0 0 0 -0.00020541754251142015 +6581 0.001044270767369021 0.0005464402633476572 0 0 0 2.62938352460934e-05 +1430 0.0009511181022986071 0.0005366941736859617 0 0 0 2.2322802038287917e-05 +7573 0.0002701873037378078 0.0005100163202543432 0 0 0 -5.047747788234098e-05 +7583 0.0004966380619584493 0.0007637245153600686 0 0 0 1.6975244677772224e-05 +7594 0.0007529666999915012 0.0006305446701361306 0 0 0 -4.704548214493769e-05 +7635 0.0005686606195787639 0.0006281836722266308 0 0 0 -5.770617765942106e-06 +7642 0.0005579973187039091 1.5370595442378808e-05 0 0 0 -5.583844601789368e-06 +7672 0.0008571464299366056 0.0002874696999872634 0 0 0 -3.476240055840417e-05 +7682 0.0007418412703186472 0.0005462180756269034 0 0 0 4.4110656765210815e-06 +9693 6.261025074987412e-05 -0.00034159896345033143 0 0 0 -5.7094647619950145e-05 +7751 0.00042471895772447984 0.00015228603872689136 0 0 0 -1.953469310229641e-05 +2871 0.0004951181000750486 5.471569138578144e-05 0 0 0 -1.254700111907022e-05 +7777 0.0007552882360713208 0.0006393622610459535 0 0 0 -1.9034113919996193e-05 +7943 0.0009047819471745343 -0.0010961247389645928 0 0 0 0.0017791476893469428 +9515 0.0005528691666855341 0.0001682004095115658 0 0 0 9.658501577929164e-05 +7828 0.000400866558708124 8.957247516974653e-05 0 0 0 -0.00011049546633763774 +7832 0.0004586635358507112 5.9843596053579015e-05 0 0 0 -7.537321414415411e-05 +7869 0.0031000826850189848 -0.0009721241196619468 0 0 0 8.89818303661698e-05 +7870 0.0005176987474328001 0.0008572034736606924 0 0 0 0.0006334433573336221 +7871 0.0006885318080135609 0.0007759251704815071 0 0 0 -2.870785229275019e-05 +9989 0.0004864663249680185 0.000776336301236843 0 0 0 -4.158382335810729e-05 +7890 0.00012399905350219797 0.00018549325341056798 0 0 0 5.998426553057472e-05 +7899 -0.0002139327997070261 -1.6548314428184818e-05 0 0 0 -0.00025442713533269806 +7904 0.0007192211123012791 0.0008191438398997318 0 0 0 -7.304510228315635e-05 +7906 0.0007454190394309583 0.0009208691585728521 0 0 0 2.2160608446646742e-05 +7913 0.0008014529885616234 0.0007660241933260635 0 0 0 -6.167291248282128e-05 +7931 0.0007981481603412675 0.0009098852803310385 0 0 0 -1.7491405193692653e-06 +9019 0.0007460252225102995 0.0009275946578589962 0 0 0 -0.00010168948655766975 +7980 0.0008462315177095638 0.00037538360622658176 0 0 0 -3.075727610870607e-05 +9966 0.002572578557973171 0.0017366109634168636 0 0 0 0.0006311201520467118 +8018 0.0003157832385621575 0.00013115127983009882 0 0 0 -8.591983672320124e-05 +9930 0.0007444855843477412 0.0009468859103168574 0 0 0 -0.00010612291688725545 +8042 0.000561514638394183 0.00015708805187574634 0 0 0 -0.0001655638285324298 +8099 0.0005156137236082388 7.835584264783702e-05 0 0 0 4.300391392096646e-05 +8129 0.0006007951906107428 0.00035203678329470006 0 0 0 -3.822108019850171e-05 +8131 -0.0001201071874315652 6.486959648449577e-05 0 0 0 2.709731180768777e-05 +8142 0.0005850184667600364 0.00018163730574808433 0 0 0 0.00011343889479942708 +8143 0.0007947622961270932 0.0009027787549065053 0 0 0 -8.133805817631605e-05 +7723 0.0007327491881324228 0.0010749640558198276 0 0 0 3.5498991698570592e-06 +8225 0.0004328073358971872 0.0005158554381277016 0 0 0 -0.00017472756173873833 +8236 6.901166961898859e-05 0.0004901436236459581 0 0 0 -0.00041701119480235996 +8260 0.0006835113697007099 0.0002575284079209134 0 0 0 -2.6135474716115375e-05 +8276 0.0005662650030083667 8.787988386626309e-05 0 0 0 -0.00014232976359163582 +8295 0.00022739985573032057 0.0004552792118591262 0 0 0 2.9090701790984555e-05 +8316 0.0003847228007814777 0.0005565298015782349 0 0 0 0.00018003015358581295 +8326 0.0005739468474735913 0.00038848960933998635 0 0 0 -0.0001182244284681942 +8333 0.00015503939817453926 -0.0002238638761881367 0 0 0 0.0007712160958651073 +8346 0.0008633586003816547 0.0007928575731304971 0 0 0 2.199041067199086e-05 +8349 0.0008217445345038088 0.0008997651812669588 0 0 0 -0.00010283710729991164 +8394 0.0001115161025539893 0.00018440399120885477 0 0 0 -0.00013798692908501947 +1558 0.0008895297630089724 0.0011300462128607627 0 0 0 -2.7710899551572998e-05 +8427 0.00016412086197945856 0.00023394087477559113 0 0 0 -9.261781460983007e-06 +8429 0.00018444155531783965 0.000470286688182171 0 0 0 -4.9219879301960126e-05 +8431 0.0007811869398352221 0.0004580691810078183 0 0 0 0.00011116942466265372 +5470 0.0009450874380913088 0.000582747939077292 0 0 0 1.6405341973739616e-05 +9880 0.0008389878385035317 0.0008951010621475849 0 0 0 4.207143134989297e-05 +8446 0.0009553137750488502 0.000544079168787908 0 0 0 -0.00010154001862893197 +8450 0.0003175865792950065 0.0006893803196375169 0 0 0 -5.306612095514641e-06 +6945 0.0009403749252437934 0.00035218236180881477 0 0 0 2.0161564985608122e-05 +8500 0.00022690091320727785 -0.00011695606311883344 0 0 0 -0.000900624149633583 +8503 0.0006908953338001307 0.0004695195275279638 0 0 0 -4.256699446558533e-05 +5740 0.0010043022113598418 -0.0002463577075760601 0 0 0 -0.000305183177844758 +8544 0.000941670321016899 0.0005635550015800901 0 0 0 0.00010080406812107353 +8565 -0.00039598400164608994 0.00017831193374622661 0 0 0 -0.00010356256636954265 +8571 0.000655983308553337 0.0007298231610978416 0 0 0 7.906861670110266e-05 +8586 0.0008437527448001906 0.0010926284148490859 0 0 0 2.378786936327882e-05 +9036 0.0020298573308428994 0.00011817851884749529 0 0 0 -0.000467133401074421 +8594 0.0002196872853710755 -2.7802682418275425e-06 0 0 0 -0.0003772219717672222 +8618 0.0007326453400096825 0.00035247432750364245 0 0 0 2.090280389174025e-05 +8636 0.00017996527924442918 0.0003016456321231002 0 0 0 0.0001101769030371943 +9556 0.0008052918402616512 0.0013303717940864933 0 0 0 -5.31559341393589e-05 +8644 0.0007561366952299484 0.0009577014185734435 0 0 0 -1.7722761277967647e-05 +8687 0.0024343254753535757 0.002150064167509032 0 0 0 -0.0011512170156738736 +8704 0.0002621122218499417 -9.078925976711535e-06 0 0 0 -0.0007336481054080772 +8742 0.00025546722266057086 0.0004149975128675431 0 0 0 0.0008685165362771216 +8748 0.000234587292174179 0.00024250448507117997 0 0 0 9.972856233661712e-05 +8754 0.0006843810834590661 0.0002413840887942388 0 0 0 -1.9653892317017256e-05 +8771 0.0008755920839405568 0.000744791938104846 0 0 0 -3.6716280068991914e-06 +8783 0.00010699246860042598 -4.5618496385925e-05 0 0 0 0.00010096784320321824 +8800 0.00015728030011598015 0.00020125821488218917 0 0 0 -0.00012014517082875856 +8850 2.1346444163349375e-05 1.950468034853229e-05 0 0 0 5.734925559769446e-05 +8873 0.0007759593335030457 0.0009063212419050726 0 0 0 9.463393797151407e-05 +8906 0.0007445296176965935 0.0002229699936621796 0 0 0 -2.993685153826519e-05 +8943 0.0007912095612921459 0.0010603982462616904 0 0 0 1.3591930649268882e-05 +5781 0.0003426421715238741 -8.090863819485335e-05 0 0 0 0.0004575515773485455 +8952 0.0003354383053125139 4.166813434548685e-05 0 0 0 -0.00012335355363412223 +8969 0.0008012164773961083 0.000896800858082873 0 0 0 4.652092854046831e-05 +8986 0.0008333348231937159 0.0008310071989410929 0 0 0 3.096290419477115e-05 +9004 0.001246636347961345 -0.00010057648590667291 0 0 0 -1.0358849942549375e-06 +3553 0.0008682216417250578 0.0006725156926923336 0 0 0 6.313905437119111e-05 +9014 0.0012586797622158624 -0.0045042571595537515 0 0 0 0.004264061462025222 +5469 -0.0010066037940140507 -0.00017053668744001729 0 0 0 0.00042563146902298315 +448 0.0008967862853790161 0.0002858786245096837 0 0 0 5.274375461254516e-06 +9044 0.0005138099986465479 4.9295076366875376e-05 0 0 0 3.626766586520836e-05 +2928 0.0009652642316004721 0.00033751675206180834 0 0 0 1.554177737317556e-05 +9055 0.0008002081509012828 0.00104882040490872 0 0 0 1.1753049253632791e-05 +9069 0.00036173366928147355 9.418132161725029e-05 0 0 0 -0.00010431530816283379 +9075 0.0007923892222263167 0.00014238540768162611 0 0 0 -5.144022932397949e-05 +6026 0.0007775067704058378 0.0009834619796485259 0 0 0 1.423335262860051e-05 +9120 0.0008302241662557094 0.0005973751475844825 0 0 0 0.00012634398010766325 +9124 0.0006111993996726853 0.00037517459563293326 0 0 0 -0.000139714460154425 +9146 0.0007693392919823211 0.0004842141109402897 0 0 0 -0.0002886368725208044 +9147 0.0006937344463048344 0.0003043352944203564 0 0 0 1.2303422143858063e-05 +9175 0.00011279699446294919 0.00022240897453761229 0 0 0 -1.40116110475983e-05 +9230 0.00010637764744488723 0.0002047928268480446 0 0 0 -3.061068178421411e-05 +9236 0.00015794123123721607 0.0001722172627357123 0 0 0 -5.11169131309735e-05 +8516 0.0009248469278102311 0.0011132336014947365 0 0 0 7.35251143169976e-05 +9275 0.0002518871472807236 0.00042812208833301947 0 0 0 5.899964006627051e-05 +9870 0.0001625526984192042 0.001097237572470565 0 0 0 -0.0002281947681127771 +9393 0.00043946392231820257 -5.907547405701604e-05 0 0 0 -7.896582694420606e-05 +8572 0.000902759351570832 0.00029262776543946664 0 0 0 0.00011200882336772252 +2658 -0.00025659827505121853 -5.276384581306069e-05 0 0 0 -1.951921151256051e-05 +4721 0.0009048216818100923 0.0004058177347965402 0 0 0 0.00011626110799200239 +287 0.0007145822930091579 0.000880846964553807 0 0 0 -4.2355363914423454e-05 +2275 -0.00023145062927538328 -3.280529313001373e-05 0 0 0 -0.00010065254623141323 +1706 0.0009333507373021765 0.00028517783145756134 0 0 0 -1.744712985947877e-05 +6228 0.0007839768640238993 0.0009935652743256278 0 0 0 1.158082562537094e-06 +2377 0.0009700437379768162 0.00042236223360630793 0 0 0 9.843881706877586e-06 +7988 0.0008260577339298991 0.0009637182840633846 0 0 0 6.896752762871229e-05 +4999 0.0007992051304992901 0.001040301023745804 0 0 0 2.9104074491886053e-05 +6867 0.0009714897672396472 0.001120551909947335 0 0 0 0.00012025071990067653 +4549 0.0007849369234104297 0.0010057469571930818 0 0 0 6.296895235090439e-05 +8766 0.0009343761067799408 0.0012728170594134207 0 0 0 -9.053971385560325e-05 +7015 0.0009525653996425084 0.0005302085973585052 0 0 0 3.029847925337015e-05 +8691 1.8072772166798095e-05 -0.0004028496864477284 0 0 0 -1.9931184458732098e-05 +7079 0.0006899330176074478 0.0008821266244418673 0 0 0 3.20965055685323e-05 +7129 0.0008088264311029093 0.0011734429827531985 0 0 0 -0.00016185329048962364 +2792 0.0008053959245760483 0.00115426070336394 0 0 0 8.584053390173861e-05 +239 0.00011594931057703411 9.506393184980951e-05 0 0 0 -1.985555382932873e-05 +5365 2.7492083354334953e-05 -0.0002291470282233315 0 0 0 0.0009593949620982714 +8880 0.0002176338162571951 0.00019503636618326697 0 0 0 3.7699760240200815e-05 +5220 0.0008323601199449584 0.001099215418512365 0 0 0 -1.168192349975519e-05 +7017 0.0009639954965092336 0.0011520527420687207 0 0 0 0.00014093224374346763 +6000 0.0009350475544850088 0.000594008763376212 0 0 0 -1.3542680820645496e-05 +2013 0.0009047528237641835 0.0012692589725207513 0 0 0 3.129869382471869e-05 +2986 -5.330746097929679e-05 -0.0005091372669636348 0 0 0 -0.0001000106527691088 +8288 0.0009639341869449626 0.00040473012885346187 0 0 0 -2.5447065444902597e-06 +9646 0.0009755121726387116 0.00038847616075161 0 0 0 3.0537527048418976e-05 +2202 0.0009228342876642392 0.0006122946730996316 0 0 0 1.0399120065571522e-05 +3883 0.00019481872974020566 -5.250959141561963e-05 0 0 0 -0.00017504154560072906 +3961 0.0005909626626385261 0.00022232450822492014 0 0 0 -8.144613526857243e-05 +3570 0.0005635434108030304 0.000156796045219602 0 0 0 0.00018294965630644724 +7844 0.0008989137883120775 0.0003136822590553335 0 0 0 -1.5213108084059001e-05 +2241 0.0005490746796462555 0.0001484805411958035 0 0 0 4.918511415546834e-05 +218 0.0007547909450982521 0.00018091861123887792 0 0 0 3.5121456209266554e-06 +3105 0.0009002729827176758 0.0006021715739270192 0 0 0 5.169529982476093e-05 +9872 0.0008531708654634162 0.00024127516114641183 0 0 0 3.0586922951610214e-05 +5200 0.0002693082028783328 0.00014892857812888043 0 0 0 -6.508345726093566e-05 +9498 0.00031050187601361844 -5.764004101967096e-05 0 0 0 -0.00013539415060561318 +5244 0.0006941174279066676 0.0006084650591365328 0 0 0 9.690194919295664e-05 +665 0.0008224363312384115 0.0006461938830257136 0 0 0 1.7554789557016923e-05 +531 0.0008248943403018432 0.001260948547048894 0 0 0 2.00398203809022e-05 +5097 0.0007654478610953472 0.0007351883493293496 0 0 0 2.948999442750015e-05 +3127 0.0001071163786250115 -0.0002966227062311203 0 0 0 -0.00015508124808824532 +6282 7.278169235763735e-05 -0.0004544678010506439 0 0 0 -3.1517924359717706e-06 +4816 0.000709641048088575 0.00024588733710503727 0 0 0 -2.6705754702361973e-06 +8348 0.000893404318019044 0.00027720830166259836 0 0 0 -4.963810202133557e-06 +7022 0.0008291953908129939 0.00042485009507777557 0 0 0 -6.77186438331229e-05 +4222 0.000956524804706359 0.0003800457031768663 0 0 0 1.6044479370461584e-05 +7969 0.0009319514973748446 0.00034565061217627915 0 0 0 9.80184952052047e-06 +6504 0.000976448536052334 0.00036067383611022565 0 0 0 -3.7828538214907805e-06 +8304 0.000897941975449581 0.0002826972179434749 0 0 0 -8.881488960153915e-06 +97 0.0008708460813558437 0.0010194502673362442 0 0 0 -3.3207832236163545e-05 +2798 0.0007582718870876958 0.001070551014626973 0 0 0 4.211467267401078e-05 +7214 0.0008470325486374668 0.0012162867497933572 0 0 0 -4.644847611104983e-05 +1681 0.0008987724497791192 0.00025958929882421956 0 0 0 -7.2776133475005895e-06 +841 0.0008592581850131339 0.00023500504758185696 0 0 0 -3.540129048724498e-06 +3813 0.0007808101451695038 0.0009702821165419199 0 0 0 -8.856455922144047e-06 +3639 0.0009320813155046377 0.00032217350959792265 0 0 0 6.771946174258713e-06 +3395 0.0007800768993681943 0.0010165086177821075 0 0 0 -2.4343963193157673e-05 +8433 0.0008268429422584561 0.00023154099815312227 0 0 0 -6.681511145190737e-05 +6090 0.0009579712816128094 0.000361556627858339 0 0 0 3.0448712500988253e-05 +9157 0.0009392366835231901 0.00033110098461818416 0 0 0 1.7888682205648776e-05 +2533 0.0008735899153911333 0.00026392469652543755 0 0 0 -1.0209407097418479e-05 +5930 0.0008430468175831056 0.00035876389864911964 0 0 0 2.9516551013179928e-05 +4971 0.0008708955521315014 0.0010195446050287652 0 0 0 0.0002612866558552047 +7275 0.0001680890737674576 0.0001293566250966149 0 0 0 -0.0003246527985657672 +2364 0.0009033901142155448 0.00029270723794600195 0 0 0 -4.527997013075215e-06 +5004 0.000779783874307696 0.0010058829499956974 0 0 0 1.5011768735409876e-05 +5392 0.0007377608077815547 0.0011326348350153522 0 0 0 -1.1787729422104658e-05 +7459 0.0007557991733499795 0.0001891472844216777 0 0 0 -5.609537569364095e-05 +1974 0.0008115139169290118 0.0013641784596664104 0 0 0 8.390913243805373e-05 +9828 0.0007390841733172669 0.00111800271423295 0 0 0 -1.123584458190067e-05 +9009 0.0007466293308459061 0.0011027150538979974 0 0 0 3.4171068488620823e-06 +1492 0.0009606784715709473 0.00029778706966404297 0 0 0 1.5137518449175205e-05 +174 0.0005603745135351173 0.00015854660969707426 0 0 0 -4.445515618986671e-05 +3724 0.0007435186280521711 0.00017035009413454545 0 0 0 -6.0748660070736284e-06 +2623 0.0009222693823634937 0.0012065325522562936 0 0 0 -8.628216670877525e-05 +3086 0.0005916103225863305 0.0006795382821756977 0 0 0 1.448791934294569e-05 +4510 0.0007285668648558798 0.001002247845258102 0 0 0 -1.196105248886693e-05 +3358 0.0008667495599734288 0.00023098898494428304 0 0 0 -5.320326189587383e-06 +4 0.0009989363203809633 0.0008884996121464471 0 0 0 3.2199771271030394e-05 +9692 0.0012497886098006914 -0.0003804598415217523 0 0 0 -1.6154933678289185e-05 +2721 -0.0002883070201266361 0.0009212216014273933 0 0 0 -2.117739817412616e-05 +68 0.0010223033209229642 0.00021912105381322036 0 0 0 -1.3587622132493212e-05 +89 3.8716337019490406e-05 0.0004031390298182305 0 0 0 -1.2018706132434884e-05 +99 0.0008586767245562039 0.000414737908060301 0 0 0 -3.63394941486053e-05 +1573 -0.00017309364577991793 0.000920797689488033 0 0 0 -7.693049374039715e-06 +211 0.0011710904848434183 -0.00020028638879113228 0 0 0 1.6747436542318137e-05 +4415 0.0009271106018747891 -0.00014732282136068858 0 0 0 4.9867392535337455e-05 +232 7.651544646520046e-05 0.0005651257853469799 0 0 0 1.8459207517366843e-05 +267 0.000654643369188088 0.0003885792487855475 0 0 0 -2.6116574811306418e-05 +274 -8.439427885900294e-05 0.0006655435225015032 0 0 0 -4.0040861336222835e-05 +8004 -0.00027079490841669173 0.0010955257352103043 0 0 0 -1.7049038227092985e-05 +282 0.001083555636105404 0.0006201237596017755 0 0 0 -0.00018424266735124302 +324 0.0007606386444831478 0.0008184418574150673 0 0 0 -3.677905600818e-05 +331 0.0007489193129357011 0.0007937357519126796 0 0 0 -9.38152618864631e-06 +358 0.0009285970438283053 0.0001441761569430628 0 0 0 2.6080584106847896e-05 +453 0.0007510115011344896 0.0009086052556846626 0 0 0 -1.0260804571365393e-05 +1196 1.9124615616768214e-06 0.0005538783585299053 0 0 0 0.00011851728588156354 +509 0.00029726628144629457 0.0010057807303141745 0 0 0 -3.268293642090557e-05 +515 -7.181792497134235e-05 0.0006808995357035998 0 0 0 -6.729615635454119e-05 +526 0.0006857474338111409 7.459467334792563e-05 0 0 0 -4.197376135710165e-05 +538 -1.841695281657961e-06 0.0004483751326856529 0 0 0 1.4644350981046414e-05 +7309 -0.0002835021924841305 0.0009009668133425822 0 0 0 -7.408525632366286e-05 +614 0.0010649685696009757 0.0001603815164512698 0 0 0 -3.728559936199479e-05 +9777 0.0007775606660881579 -0.00033858752005992395 0 0 0 1.2076882194589786e-05 +650 0.0007939007611588988 -0.0003382482968409374 0 0 0 -1.2020422370828239e-05 +711 0.0006411694283992901 0.0006028621958571124 0 0 0 -2.4002618067716058e-05 +8207 0.0012324881261665532 -0.0003086655900882839 0 0 0 -3.695809101132888e-05 +793 0.0005253754489714351 0.0004397133578224637 0 0 0 -1.7698219567519977e-05 +832 -0.0001453592999377915 0.00031691563008549243 0 0 0 1.021614670487568e-05 +852 0.00042384174817154376 0.00036251984234682034 0 0 0 2.4035681437129634e-05 +3468 0.001233824588791943 -0.00017277057191719962 0 0 0 -3.9179257937553e-05 +922 0.00025136831417555354 -0.00011398132181223611 0 0 0 -1.757283865528706e-05 +928 0.00022090065263312276 0.00011412742204244086 0 0 0 -1.1019814369580611e-05 +827 -0.000182146855234472 0.0003594955007221942 0 0 0 -6.540474088451742e-05 +987 0.0012508000456577266 -0.00038107047110454053 0 0 0 2.1366728493872656e-05 +1003 0.0010350698862002495 -0.00023534906937319446 0 0 0 -1.3680501904802266e-05 +1050 -5.0056083845242554e-05 0.0005363339626870179 0 0 0 4.242520473149223e-05 +1855 0.0012667982175599286 -0.0003813920858982782 0 0 0 8.19201165383667e-06 +1056 0.0004851528926929385 0.0004765114293331311 0 0 0 -0.0001475094292033556 +2834 -0.00026466969915689176 0.00044694222259747255 0 0 0 0.0001617163469071934 +1113 0.000533671785043049 0.0010906847970513507 0 0 0 2.6332809654054333e-05 +1129 0.0007015926133895659 0.00044050946052679975 0 0 0 -7.061338012039726e-05 +1228 0.0008537084074345801 0.000679700359140724 0 0 0 -9.817943237027475e-05 +1248 0.00010740697074479566 -4.6987420229234476e-05 0 0 0 -7.162650539754907e-05 +1262 0.000713474434187124 -0.00029588891545479174 0 0 0 1.7119034936697867e-07 +1270 0.0005771435085342875 0.00021379930121769765 0 0 0 1.2859663041812962e-05 +1298 0.0012749541233317957 -0.00020876010803017132 0 0 0 -1.1606945357591878e-05 +1323 0.0004624697045984807 0.0002585487974619332 0 0 0 3.8291581093034425e-05 +1365 0.0006807672377265701 0.0005590062260190324 0 0 0 6.86415129808123e-05 +1371 0.0007339172569404022 0.00017609849174173264 0 0 0 1.628730214367078e-05 +1374 -6.4823113122574e-05 0.0004980527731928246 0 0 0 -2.9470758411118596e-05 +5507 -0.0002841843065806628 0.0008869634989707477 0 0 0 -0.00010418490273471889 +1520 0.0003320690301808933 0.0002120878395206571 0 0 0 -2.142595835424522e-05 +1548 0.00029948154328999523 0.0009252023954550445 0 0 0 -0.0005889900569472974 +1571 0.0006047518928311603 -0.00036341588912086836 0 0 0 4.632736863481914e-05 +1628 -0.00010660711515348191 0.0006007893642285454 0 0 0 -1.5664828654684267e-05 +1682 0.0010810593871982818 6.332957359700228e-05 0 0 0 -1.8142467119203852e-05 +2587 -0.0003001580009619437 0.0009174445295389889 0 0 0 -6.97282035691468e-09 +1734 0.00010525423476859286 0.0006399828256119458 0 0 0 6.216875609133652e-05 +1762 0.0006192723768495351 0.000818086822419271 0 0 0 -2.1639016864701768e-05 +1787 0.0006337560343600973 -0.00010453702287212901 0 0 0 0.00018049234146849273 +4359 -4.658420193313982e-05 0.0007524021246889318 0 0 0 0.00011009565413154263 +1841 0.0002170571228920964 0.00041033395863901146 0 0 0 -0.00014360843951136075 +1850 -7.577501944907631e-05 0.0004893263322642161 0 0 0 8.290818382988771e-05 +4328 0.0008337282730683781 -0.00042968400323759883 0 0 0 -0.00012572573455747228 +1878 -7.890820706207095e-05 0.0004947874264926104 0 0 0 -6.0322702321655405e-05 +1880 0.0006416472818387386 0.0010221084173752542 0 0 0 -0.00029538793193056975 +1923 0.0010595977292094888 0.0009861223107374853 0 0 0 -0.0004598535755725788 +1963 5.8970557342849586e-05 0.00047942920243049735 0 0 0 -1.2902170607152327e-05 +1988 0.00022045254926296188 0.0005018911569224523 0 0 0 1.927031592927808e-05 +1992 0.0009589313563002627 0.0006104938438221962 0 0 0 0.0002975462297142815 +2011 0.0005974273259842979 0.0010048148028113737 0 0 0 -0.00025766167587099856 +8654 0.0011546235089931996 -7.458419837612216e-05 0 0 0 -2.5318613901219966e-06 +2070 0.00023929295963105523 0.0005181326354694968 0 0 0 0.00044115733204372836 +2092 0.0009453921691827935 0.0007932370825512301 0 0 0 -0.00017119781785686976 +2094 0.0006944209338756952 0.0005916524407537314 0 0 0 -0.0002988710887752734 +2132 5.613449483288603e-05 0.0006389274204199394 0 0 0 -2.888897410776126e-05 +2161 0.0009105473377317243 0.00012494008190868983 0 0 0 7.167495994117277e-05 +9178 3.247632503510009e-05 0.000591744635940116 0 0 0 -2.9537343550339973e-05 +2200 0.0009041969243727469 0.0007971346751348136 0 0 0 8.242833614240848e-05 +2319 0.0009933812448570337 -0.0002941454175641356 0 0 0 5.469478233390795e-05 +2333 0.0010178310770723802 0.0004537319013112482 0 0 0 -7.371863427157617e-05 +2358 0.00114327782675654 -0.00015997753694885276 0 0 0 -1.3072874372967906e-05 +1710 0.0006458020040099635 -0.00033396476516872386 0 0 0 -3.42272317403337e-06 +1187 -0.0002207206335911737 0.0009423911806428974 0 0 0 2.4586957380337823e-05 +2467 -0.0001065116038664549 0.0006015717800771204 0 0 0 8.64480690954888e-06 +878 0.0009238242491918873 -0.00023148281946737891 0 0 0 -0.00011021886886938434 +2493 0.001052347980824732 -3.092565299755957e-05 0 0 0 -9.168217519262235e-05 +2503 0.00033189732945375957 0.0006511748902561731 0 0 0 6.767185277546237e-05 +8297 -0.00017749224006699502 0.0009872043190586887 0 0 0 0.0004903165548716234 +2512 0.0011727400432848185 -8.735912823534856e-05 0 0 0 1.2981750389679555e-05 +2514 -5.4425289589010866e-06 0.0003029729055757606 0 0 0 -0.00020572502287631277 +4162 -0.00016990419596483037 0.0007645645344573594 0 0 0 -2.1766229042798194e-05 +8393 0.0007890668438527828 -0.0003010897846143702 0 0 0 -4.693073101810096e-05 +2562 0.0004245018967554269 -0.00014625748189076512 0 0 0 -5.4075047251297676e-05 +4883 -0.00020230527440055074 0.0007004417804004988 0 0 0 0.0003629878034695002 +2605 0.0007226451973500284 0.0006363321684936829 0 0 0 1.119740513111918e-05 +2636 0.0002615028493520056 0.00019685277455010468 0 0 0 -3.0384089652892846e-05 +9852 0.001017538354893183 0.0003170342848382118 0 0 0 -4.372173857322655e-05 +9922 -9.125732218569521e-05 0.0007021683664540578 0 0 0 -4.381290849642568e-05 +2716 0.0005859363953424654 0.00038951723511326537 0 0 0 3.6983569270151704e-05 +2730 4.826150900423107e-05 0.00042901926385739263 0 0 0 -0.0003243541434782849 +2733 0.0005922729394514147 0.0004971465705138427 0 0 0 -2.5904611318597737e-05 +2739 0.0008099216648035189 0.0007933223367573212 0 0 0 -9.632207857258617e-06 +2763 0.0009803350238554622 -0.0005069330425211977 0 0 0 -1.3175786933178646e-05 +950 3.744335465297155e-05 0.0007333671708261215 0 0 0 -6.58509760147097e-05 +2800 6.491992440830493e-05 0.0008639511111298645 0 0 0 7.572882758070528e-05 +8480 0.0012554360336097473 -0.00031195674080998763 0 0 0 -4.683209224964709e-05 +2820 0.0007844710970449103 0.0007792408312082736 0 0 0 -0.00026052791527276587 +2823 0.0009483429592094234 -2.767630731510495e-05 0 0 0 -0.00010835284879917198 +8158 0.0009783100586931268 0.001068765025970041 0 0 0 -0.0009811972760042978 +2837 0.0007878788551715654 0.0009658752560660914 0 0 0 0.00011141733098592451 +2844 0.0003823171366179189 0.0005767355333857311 0 0 0 3.3683551037321874e-05 +2845 0.00070478262445774 -0.00026652564763068675 0 0 0 0.0002078421841505482 +2873 -7.054768123053418e-05 0.00023573825385784467 0 0 0 -0.0001879636903704927 +2882 0.0008855577268526928 -0.00045633562281211936 0 0 0 -5.9962993344544254e-05 +2884 0.001052694671340719 -0.00046790108809341007 0 0 0 9.102027723424877e-05 +2904 9.082901663132255e-05 0.0005682336620554537 0 0 0 -6.155492744047815e-06 +2935 0.0005250768367577373 0.0003344694818096988 0 0 0 -3.060893797869814e-05 +2777 -0.00020254505228373923 0.0010722053371656137 0 0 0 -1.2784396701078564e-05 +2992 0.0009046337141759862 -0.00023632314158838068 0 0 0 -4.164292567807321e-06 +2998 0.0002911636246651781 0.00037687439049037807 0 0 0 4.2008065019410166e-05 +3000 0.0009051236352832595 -0.00027652753369042436 0 0 0 9.775789988495149e-05 +3052 0.0006869785057861191 0.0004404037337991452 0 0 0 -0.0001666379216585976 +3076 0.0005622931310134358 0.0010517416378609521 0 0 0 0.00019100579867871117 +3077 0.0006844944294738904 0.0005926010303417124 0 0 0 0.00023573757502047852 +3078 0.0012424710576311002 -0.00016676930407763082 0 0 0 -3.791880067262967e-05 +3079 0.0005615057818910822 0.00040371019616803526 0 0 0 -0.0004886072948242796 +3115 0.00045277267550799177 0.0004283946130351139 0 0 0 0.00028663749045454483 +3124 -5.9802719135013124e-06 0.0005078908877834162 0 0 0 -2.098775870015203e-05 +3131 0.0008748420852961274 0.0001335640357002857 0 0 0 5.5176099685036594e-05 +3173 0.0008741366718225624 -0.00028512548236956183 0 0 0 -1.8947210558895714e-05 +3193 0.0008026869463298637 0.0007140378047865176 0 0 0 6.271184958619148e-05 +28 0.0007226901321501303 0.0001228174332315428 0 0 0 1.1118047242312504e-05 +3253 0.000577214501987984 -0.00016820827048852281 0 0 0 0.00010502362913394596 +3257 0.0008101081998369956 6.248663549359613e-05 0 0 0 0.0001630521686693749 +8550 -0.0003394594394721252 0.0008968239914573694 0 0 0 -1.8546247751923014e-06 +3388 0.0008148599178033105 0.0006662666797942083 0 0 0 -0.00011154295683278015 +3389 0.0011853907367758289 0.0006938732362491137 0 0 0 2.5800598195216316e-05 +3741 0.0009168696587254372 0.0001369510324039913 0 0 0 -7.076565185768174e-05 +7183 1.7441182146233725e-05 0.0009442525577703084 0 0 0 0.00018262049384611925 +3463 0.00033434863379226383 0.0012553448086601265 0 0 0 0.00028236969038097323 +9728 -2.489364507766082e-05 0.0007828876295861764 0 0 0 -0.0002084144445701699 +3473 0.0005806681805543026 0.0010829344586672231 0 0 0 -0.0007239393724235108 +5609 0.0010268773808890814 0.000683342966930005 0 0 0 0.00013299390879049179 +3498 0.0018719858610733043 4.521433554216791e-05 0 0 0 0.0009063425302239221 +3572 0.0007118428712537248 0.0007395671045563219 0 0 0 -2.3868671568267984e-06 +6365 0.0008808719105670819 0.00038163611558059997 0 0 0 -4.732521569809212e-05 +6336 0.001161252353293655 -0.0011102970481310043 0 0 0 3.289614872527792e-05 +3607 -7.662136987864023e-05 0.0005012066293195674 0 0 0 -1.5855615221823992e-05 +3630 0.0006997874709887037 0.000946788572508335 0 0 0 -0.00017387723617135771 +3631 0.0009392554325867911 -0.00022790469475482086 0 0 0 3.0289158738747536e-06 +3671 0.0003862945351100302 0.00010683623357199975 0 0 0 -7.981884189634391e-05 +3677 0.0007151502464512767 0.0004779808037461279 0 0 0 0.0001763089853288258 +3690 0.0003491439306167745 7.033073934705454e-05 0 0 0 5.00375550374416e-06 +3711 0.0003061703899642605 0.0004159761077877719 0 0 0 -0.000139948052668129 +3716 0.000139099029441374 0.0004161347282765102 0 0 0 -0.0001948668883138254 +3719 0.0007685784862441462 0.0001558006617328211 0 0 0 9.91222841031883e-05 +3756 0.00017592424121222182 0.000545250743361587 0 0 0 1.649484742207187e-05 +9 0.0005527726876416689 -0.00022715708085690496 0 0 0 -1.8566962720669787e-05 +9946 0.000712871605511277 0.000980875833256124 0 0 0 2.5072659782026593e-05 +3793 -0.00012352948689957336 0.0006089426343401151 0 0 0 -3.762550599786727e-05 +3853 0.0010337193101185192 6.785749724868289e-05 0 0 0 -0.00010179941304079127 +3860 0.00037612051336654553 0.0001197976814165827 0 0 0 0.00011156962285235556 +3880 0.0005965013934381395 0.00044069532117268963 0 0 0 8.931771988239615e-05 +3886 0.0007743987043429921 0.0005023468316412529 0 0 0 0.00035713519497860505 +3908 2.1360806655706003e-05 0.0005012499746050864 0 0 0 9.743457164761613e-05 +4051 0.0009678092809504266 0.0005082166012905186 0 0 0 0.0002834681389958453 +4123 -0.0004762187597078903 0.0005542507348388333 0 0 0 -0.0005227656502565843 +4170 1.2456686891558031e-05 0.000486054611261047 0 0 0 -1.8454626747801625e-06 +4176 0.0005800149695402966 -0.00040387581205116946 0 0 0 5.441018205097473e-05 +9993 -0.0002673404532458703 0.000388083732052849 0 0 0 3.0384453970745465e-05 +4279 0.0006831605434163512 0.000448995701380865 0 0 0 -0.0004719018350722737 +4298 0.0006054708327181844 -6.586055201039223e-05 0 0 0 6.379639321238016e-05 +2208 -0.00021385814498966536 0.0009703877634496796 0 0 0 -3.767444036399113e-05 +9328 9.34453363045697e-05 0.000607141720588031 0 0 0 -9.128305965415786e-05 +4344 0.000552093090489707 0.0009271950944666322 0 0 0 1.6001999983224235e-05 +3494 0.001174504372909246 -3.169468314501979e-05 0 0 0 -4.048690322510592e-05 +4385 0.0004220804005036556 0.0008810737779748481 0 0 0 -0.0002748027203483891 +9291 0.0012872275031555502 -0.0003999170771883811 0 0 0 5.641067436891228e-05 +4419 0.0001417601163785196 0.0008010277695239522 0 0 0 -0.00014432956767643514 +7918 0.0007564571303482681 -0.0003026686732200731 0 0 0 2.213228758148008e-05 +4521 -0.00010567370826492833 0.00040291261258408075 0 0 0 8.864066080874578e-05 +6874 0.00041729288352545266 0.001041202213949359 0 0 0 3.990666850272238e-05 +6907 0.0008067907155682492 0.0005102050714773116 0 0 0 -0.00014643425966325138 +4590 0.0006868199615522546 0.0009975690066435516 0 0 0 1.8879591305977198e-05 +4606 6.58471155579625e-06 0.000556975089175012 0 0 0 2.5743186168793357e-05 +3609 -0.00022603214224992813 0.000826484990048672 0 0 0 -3.4855328759153036e-05 +4689 -0.00010636150641325468 0.0005795931072553666 0 0 0 -0.00037691682604625926 +4725 0.00041031079042698173 0.00044432191615467926 0 0 0 -8.839612246768874e-05 +7612 0.0012498375911962243 -0.00014397336189969065 0 0 0 -1.0619756421755012e-05 +4773 0.0011556467998772376 0.0001241850484603826 0 0 0 3.4447686238675547e-06 +4801 0.002414150331928208 -0.0017980002033258222 0 0 0 -0.001056123293989686 +4819 0.0006155390381469377 0.00043178797295710214 0 0 0 0.00039122352944276286 +4833 0.00026369600995970223 0.000465013023266393 0 0 0 0.00016017758519126058 +4859 0.0008421639044078532 0.0007650179709811661 0 0 0 3.416993176397238e-05 +4881 0.000768619959235011 0.0002921113402564428 0 0 0 3.437788801328821e-05 +4886 0.0012459148660013237 -0.00013095775881523966 0 0 0 2.110896717660146e-05 +4683 -0.0001254053603276289 0.0006900607681341322 0 0 0 4.499097121368313e-05 +4977 0.000582908538581636 -0.00015862070238678407 0 0 0 6.248673477299795e-05 +5019 0.0002833524802620784 0.00014244501984297814 0 0 0 0.00012082341360484085 +5024 0.0001217694540798192 0.0004162235148560209 0 0 0 -0.00022517758530178004 +5109 -0.00020832430667419084 0.0007992103221038028 0 0 0 6.361781061726682e-06 +5120 -5.169519982464786e-05 0.0005157897939834739 0 0 0 6.89746142355054e-05 +5129 0.0011078570374518553 0.00047599775805580013 0 0 0 -8.661544050907833e-05 +5138 -0.00010681698435675563 0.00040520063440604477 0 0 0 -1.3559630424223861e-05 +5210 1.2685621669127985e-05 0.000603976415139361 0 0 0 0.00014521677515026826 +5192 0.0008455770931724513 -0.00033343101079678504 0 0 0 7.000406919234372e-06 +3998 0.0001743402752417438 0.001375289268500667 0 0 0 -0.00020021442086951878 +5247 -9.310045670741646e-05 0.0002770710342831559 0 0 0 -0.0001848586683204325 +5284 0.0010171754176072738 -0.00011552156887628957 0 0 0 5.496638569545889e-05 +5287 0.0009611175001592791 0.0007752972154644385 0 0 0 -0.000546117693762532 +6586 -0.0002568198254078171 0.0010444178051160972 0 0 0 -6.0769145093582725e-05 +5355 0.0006541839435535572 0.0011757538371487896 0 0 0 -0.000292753682421865 +2448 -4.329582688262225e-05 0.0006886723897220314 0 0 0 0.0001238063621639858 +5414 0.0007255314207832821 0.0009933356062138887 0 0 0 -0.0002573768436047075 +5423 0.0008938709976163581 -0.0002824387484935455 0 0 0 5.7868328662276006e-05 +5435 0.0007994926163810154 0.00011028389286135533 0 0 0 -0.00015298415049806052 +5451 0.0009266831419617907 0.0008653197727162777 0 0 0 0.0005770845274025366 +2433 -0.00022036401797902327 0.0009249340720675086 0 0 0 -4.696193078080274e-05 +5527 0.0008963525353412756 -0.0002425214170199768 0 0 0 -0.00014540812016838317 +8992 0.0010507112206701323 -0.0004512298880898116 0 0 0 7.78904270122668e-05 +1415 -0.00013477252176763847 0.0007290030469561653 0 0 0 -6.375091381250764e-05 +5584 6.759177142505271e-05 0.0008891340530428469 0 0 0 5.273888975178519e-05 +4839 -0.0002811899856993704 0.0010848273461226915 0 0 0 7.866333731218822e-06 +5610 0.0011716469929136724 -0.00012216333498543105 0 0 0 -0.00018037570498573988 +5636 0.0004775658590587946 0.000390709045061976 0 0 0 1.1237277695644367e-05 +5651 0.0013964997192588645 0.00018752118923593154 0 0 0 0.0002278453306215878 +5681 0.0005726446554563506 0.0002402490778170295 0 0 0 3.0000232343394464e-05 +1697 0.001188869801038397 -9.663550788596593e-05 0 0 0 -2.1217873732587427e-05 +5777 -0.00010706196568316617 0.0004476676996337862 0 0 0 0.00010895785420117208 +5788 0.00048378877956069407 0.0007397047129539113 0 0 0 -0.0014656439335159512 +5766 4.704700995618955e-05 0.0005465998536711189 0 0 0 -0.00018534396448063376 +5811 0.0012622299575905135 0.00047563615186367386 0 0 0 0.0001226699645529692 +5818 0.00045104863645516115 -4.555777569102298e-05 0 0 0 0.00015338319495832235 +7411 -0.00015872102828593443 0.00034367800276640433 0 0 0 -6.648849009098985e-05 +5830 0.0010829046947690886 -0.00048308691939720613 0 0 0 -6.916653043078708e-06 +5873 0.000341875203254992 0.0005496578056934313 0 0 0 -3.50301015187321e-06 +914 0.000772579433235192 8.433297784283624e-05 0 0 0 -4.08119582687637e-05 +5908 0.0005031416797192069 -0.00040260238453013 0 0 0 4.549777748506435e-05 +8035 -0.00033159475990780584 0.0008024539784723504 0 0 0 -2.607854358492266e-07 +5969 0.0005841410841573354 -0.0001255721986845683 0 0 0 3.0759898943174356e-05 +5971 0.00011060440457755836 -4.0889662037627364e-05 0 0 0 -5.485460962050855e-05 +5996 0.00011900212892339847 0.00036235716389398573 0 0 0 0.0001515947714554667 +6048 0.00042914993769454943 0.0008854642856597317 0 0 0 -5.686749407469653e-05 +7006 0.0001932194557880476 0.0011519245734815575 0 0 0 0.0003186882836313299 +6075 0.0009765175422385159 5.422765451875518e-05 0 0 0 -3.3439536741460315e-05 +9968 3.6353551613861e-05 0.0004057592461468181 0 0 0 0.0001225761060368403 +6113 0.0005188105529488331 0.0007822290099755676 0 0 0 -8.456519421134377e-05 +2106 2.453569803014928e-05 0.0005882367661411732 0 0 0 3.544339566531491e-05 +6193 9.782673112836649e-06 0.0007253229098425932 0 0 0 -0.00010865070674001074 +6210 0.002600914245372825 -0.00025938272052670916 0 0 0 -0.002880092169162441 +2091 -0.00026094651548348534 0.001116860412546211 0 0 0 -2.470073821449296e-05 +6672 -0.0001463693458370752 0.0010031391357314492 0 0 0 -7.325959686014765e-05 +6245 -1.4741279863166555e-05 0.0007832097541210501 0 0 0 -0.0003030169542228578 +6266 0.0015974059348897503 -0.0005150076528256101 0 0 0 -0.00031039180941032065 +626 0.001047713675096091 -0.00017684988228719193 0 0 0 -3.50273779653693e-05 +6369 0.0004190079846751143 0.0004798234327370374 0 0 0 -9.962519941437935e-05 +7194 -0.0002583184296818112 0.00035938709370567166 0 0 0 9.165686873914898e-05 +7603 0.0012775082472876935 -0.00038802328653362764 0 0 0 3.1358247585454214e-05 +6440 0.0007815395611967565 -0.00011937322371952371 0 0 0 0.00024570950980429984 +1494 -0.00027831531552297993 0.001097498994223318 0 0 0 -6.101265692792914e-05 +6518 0.0010129395884688457 -0.0005197757821030601 0 0 0 6.119412742081478e-05 +6530 0.00037396311179825294 0.00016646906618047655 0 0 0 -0.00010038579503059067 +6531 0.0001996277034502674 6.256459770008595e-05 0 0 0 -3.851558818624358e-05 +6544 0.000791246436348612 0.0001965822803110718 0 0 0 0.00017401830984104907 +6555 0.0023503337453763006 -9.983894823363816e-06 0 0 0 0.000776077531381268 +275 -1.7904901583729853e-05 0.001108275996776317 0 0 0 5.854744158621669e-06 +6596 0.0005574406635934192 -0.00016930185663996926 0 0 0 -1.0840369524523808e-05 +6642 -0.00020919934321972508 0.0005730081401680255 0 0 0 -0.00038240959822823085 +6649 0.0012922361353357192 -0.00374398438222766 0 0 0 -0.0016483028741112096 +6659 0.0003459785164908088 0.0009772717826645537 0 0 0 -0.0002547600966007303 +6677 0.0008346697960176293 0.0009050589764534101 0 0 0 0.00010253508289201302 +6681 0.0002362386667703509 -0.0001438508620153797 0 0 0 0.0006364804222335422 +6693 0.0007593688491965677 0.0009535436868456541 0 0 0 -0.0002700797869760973 +6718 0.0009388830665116539 0.0004974415828110554 0 0 0 0.00022815817285187602 +6732 -5.3437472990868955e-05 0.0004312470142274021 0 0 0 -9.87694973175812e-06 +6756 0.000654340433936732 -0.00014410036229451655 0 0 0 0.00020178457642973266 +6762 0.0011771193280201578 -0.00033116281131572486 0 0 0 5.9515274952226204e-05 +5156 -0.0003215346974895019 0.0009096002025863135 0 0 0 8.025628155907484e-05 +6801 0.0006033223249795934 -0.0001814281253322 0 0 0 5.895088440606756e-05 +6802 0.00012889563134350877 0.0005308576111814766 0 0 0 -6.882823711025496e-05 +6825 0.00023396033211452337 0.00012993765771989862 0 0 0 -0.0001222923996936888 +5979 -4.75230606143836e-05 0.0011168795093464642 0 0 0 5.926597133005893e-05 +6844 0.0006604293480919999 0.00032785376095797206 0 0 0 6.23663514106389e-05 +6857 0.00019093322508349116 0.0005483266894811459 0 0 0 -8.900395999041667e-05 +6919 4.3960411829304104e-05 0.0005033367370878039 0 0 0 0.0001124312196775273 +2808 0.001312605586982809 0.0001738828093866485 0 0 0 9.127214422570663e-05 +5251 -0.00028005687928692505 0.0007027780734008362 0 0 0 0.0001009808507910717 +6952 0.0005588065113619675 0.0004638461942698637 0 0 0 4.689649679555424e-05 +6953 0.0007226773022274764 -0.00029533535310864923 0 0 0 -7.236050169972047e-07 +6979 0.0006896383306123059 0.0010880786591800167 0 0 0 0.0001023240414612104 +6982 0.0008702612847484297 0.00013562244282665562 0 0 0 -6.248867105822848e-05 +7002 0.0008295598880958796 0.0006056999583236066 0 0 0 -0.00022916247715060086 +7004 0.000541279831836484 -0.00016140461689410633 0 0 0 0.0006274708517852054 +7051 4.5738498821924414e-05 0.0012982407179917151 0 0 0 7.2586515899189334e-06 +5967 0.0010629677875343714 -0.0004912630219789562 0 0 0 3.8393434317210746e-05 +7062 4.825406116396129e-05 0.00046261111757174534 0 0 0 3.174809970700757e-05 +7094 0.0031303630633292023 -0.0015131004404649769 0 0 0 -0.000783413209882534 +8310 -4.557568972584155e-05 0.0005003772744720975 0 0 0 -0.0008506541668919292 +7154 0.0012260322782391558 0.0005972308545214084 0 0 0 -0.0001372139742615225 +7169 0.0008378421198258361 -0.0002901572127154269 0 0 0 5.661703521304816e-05 +7170 0.0011547489871054054 0.0006784568615970747 0 0 0 -0.00034667551526189295 +5208 -0.0001354591056750776 0.0009578855347947632 0 0 0 3.568751771099083e-05 +1265 0.0011391577970418373 -0.0001196477911420135 0 0 0 -5.369148201763651e-05 +3167 0.0011938018862216546 -0.00038887102272630586 0 0 0 1.0049965951745757e-05 +7237 0.0007949840582898825 0.00012343019659156467 0 0 0 0.00017345000676201734 +7276 -0.0018273630245100735 0.0015696452987545486 0 0 0 0.0008090759662239708 +7306 0.0011068475798835266 -6.364156380714783e-05 0 0 0 -0.0001277176927074455 +7363 0.0005523545280848873 0.0004849991624675602 0 0 0 -2.6295019471161625e-06 +7365 -6.718449503999432e-05 0.0002595195012706706 0 0 0 0.00014339065737340313 +7366 0.00036488925599543397 0.00011800152901007068 0 0 0 -2.7160551248181167e-05 +7876 3.468974455241251e-05 0.0006693505389371494 0 0 0 6.713200110683955e-08 +4026 0.0011243718731693759 -0.00010268132057884755 0 0 0 2.9437865830592883e-06 +7457 0.0007574184111138814 7.056951110634953e-05 0 0 0 0.00016331495665196285 +7461 0.0004734398410085086 0.00027243530033304404 0 0 0 -2.6066646260823065e-05 +7487 4.68550421623059e-05 0.0008306110599709456 0 0 0 -0.0002795529038886618 +7535 0.00043271035358844595 0.0009694944096918491 0 0 0 -8.591392402463746e-05 +6478 0.0011204451227118494 0.0007083802728604905 0 0 0 0.0001222890292803286 +7607 0.0005403440609864489 0.0004108719401001751 0 0 0 0.0006648104759195493 +6375 0.00015938733967493188 0.0010495684291919733 0 0 0 0.00011542083345427772 +7634 0.0010723518149849817 0.0002976611711251712 0 0 0 1.949784720562214e-05 +7717 0.0006228475310173847 0.000588449591791412 0 0 0 -0.0004722407301150747 +73 -0.00015624288844065504 0.0006110351386887469 0 0 0 -3.409173729488036e-05 +7760 -0.00012351387197210125 0.0006155405955538579 0 0 0 4.340479275105531e-05 +9738 -0.00010059080612255598 0.0010496752027201693 0 0 0 6.981620945775996e-05 +7794 0.0007493772333363059 -0.0005764674181272323 0 0 0 0.0005966055895877362 +7833 0.0011749904701878408 -0.00025406976259594223 0 0 0 -5.867976041263924e-05 +9774 0.0008457168848898563 0.00019833355945074043 0 0 0 -0.00017852495427422404 +3423 0.0012245497054875687 -0.00023187720497536564 0 0 0 -5.0108318367264045e-05 +9770 -3.127900708758475e-05 0.0008418873911032717 0 0 0 0.00011685625389774625 +7923 0.0007395312999627543 0.000987960775784802 0 0 0 -5.785152896587969e-05 +7958 0.00028012915846773703 -0.0001615901177892917 0 0 0 -0.0004051788459548086 +7991 -0.0001113553951060545 0.000663516899480162 0 0 0 0.00038362885993846327 +7997 4.1708875343764555e-05 0.00047929047814695036 0 0 0 4.301658378529711e-05 +8007 -7.832785288134478e-05 0.0003052730540764454 0 0 0 9.97827826394725e-05 +4880 -1.0258287702957489e-05 0.000546617609147311 0 0 0 -0.00016114512186558733 +8031 0.00077188395034563 0.0007160138200800171 0 0 0 -0.00016582384378426972 +8033 0.0015933430943999654 0.0025656778057902797 0 0 0 -0.0025457082524229235 +8034 0.0005440659982555207 0.0008663184256995058 0 0 0 -0.0001680569122528402 +8040 0.0010226739251021036 -0.00020379991181612757 0 0 0 4.6933944687175865e-06 +8059 0.0008847860461604104 0.0004334665112996847 0 0 0 4.233708238125517e-05 +4933 7.146633502369928e-05 0.0006706922487436293 0 0 0 -0.000756803692837304 +8111 0.00030915004368079824 0.000940926742482195 0 0 0 0.00016946819238692403 +7905 -0.0002914477807067821 0.001117132855736953 0 0 0 -5.5840297649889606e-05 +8254 0.0009954020180963676 -8.354410370996726e-05 0 0 0 -0.00012817114559089975 +2505 0.0009738345169979975 0.0004618783451970089 0 0 0 1.3685625809201584e-05 +8301 0.00016457584418420095 -0.00014616793525056796 0 0 0 4.1935659158160255e-05 +8309 0.00046411485730899117 -0.0002560205092212544 0 0 0 0.00011353938176224584 +8356 0.0006362391275254696 0.0005035376780504796 0 0 0 -0.0006372905211007754 +8363 0.000983340180872925 0.00012975481650060247 0 0 0 8.969233460888825e-05 +8365 0.0006146621477771627 -0.00017735406201413806 0 0 0 0.0001268602187011859 +4028 0.0008819675542148516 0.00042847167479588045 0 0 0 -0.0002010284864744742 +8445 -6.42518426825519e-05 0.0006278859062093717 0 0 0 -1.4777985971069662e-05 +8448 4.7207076617872065e-05 0.0005017749001970921 0 0 0 0.00015474552613668042 +8459 0.0012349146327210892 -0.00018771509876785826 0 0 0 1.834274972977533e-05 +8463 0.0008133796417331474 0.000696078264104415 0 0 0 0.00015340598085628537 +8470 0.00030021154043008056 0.0006014023161542349 0 0 0 -4.31395095036473e-05 +3462 -0.0002423888863528937 0.0009316823815036837 0 0 0 -8.269950731867718e-05 +8621 -0.0009416244827299535 -0.0017379910260604953 0 0 0 -0.0036303352904609562 +8648 -8.965001172693587e-05 0.0005884091140639906 0 0 0 0.00011430624733065319 +8657 0.00024332992697314844 0.0002613836152484298 0 0 0 -9.688022814631929e-06 +8674 -4.5835425859672725e-05 0.00028548782350062757 0 0 0 3.755393277869669e-05 +8681 5.615325490753639e-06 0.0004936308142902885 0 0 0 0.00023419431008084743 +9804 0.0009035545203879719 0.0009002645602081513 0 0 0 -0.0014837396982792833 +8708 0.0012467494642128757 -0.00017251977215033612 0 0 0 -4.772711577517474e-05 +8809 0.0012413426298960224 -0.0003165380279219927 0 0 0 3.029559807474736e-06 +8811 -0.00010412187353901237 0.0003254890612991231 0 0 0 -7.707734891097567e-05 +8812 0.0008702578711114783 0.0008872401303445707 0 0 0 -0.00013909558584241987 +8826 -0.0001581900209295937 0.0003537365840875292 0 0 0 0.00010514444265855324 +8870 0.0006406042043573322 -0.00012992051779157847 0 0 0 8.741605665352419e-05 +6361 -0.000242820775951944 0.0010715649113410377 0 0 0 8.090336990756488e-07 +8980 0.0007360388958141103 0.0012434182395298788 0 0 0 9.895268525537322e-05 +8981 9.726732850239511e-06 0.0004368599314028013 0 0 0 -2.372712089136572e-05 +8994 6.908610014219332e-05 0.0005044245847924335 0 0 0 -5.1143042304227336e-05 +1180 -0.00017472775949071436 0.000601659857235407 0 0 0 -5.7885445216136424e-05 +8017 -9.39370977232032e-05 0.0004610126824290779 0 0 0 -0.00019226658072044758 +9100 -0.0002843082943937373 -0.000970596292149421 0 0 0 0.002503809043598185 +9143 0.00010533316004917342 0.0013519970429621277 0 0 0 -0.0004956371814660482 +9156 2.4819490358518416e-05 0.0004908133919340218 0 0 0 6.527042657995435e-05 +9162 0.00019609348321095443 -0.0001754826267491213 0 0 0 -2.0268599483376778e-05 +9240 0.00105444225520295 -0.0005138392952671167 0 0 0 4.4546479425607656e-05 +9271 0.0007800764479884961 -0.0003314755040077163 0 0 0 -4.99014599310964e-05 +5942 0.0012960130922248553 -0.0003327001506498549 0 0 0 -6.275115150854705e-05 +9297 0.00010816069773769906 0.00031916035571312836 0 0 0 -0.00019176366886475754 +6012 -0.0001231927488985374 0.0003086787252799995 0 0 0 7.384156667733484e-06 +9355 9.377530714780418e-06 0.0007376492136077153 0 0 0 0.00012281673648520617 +9398 0.0011954665699034526 -4.695933899487808e-05 0 0 0 -0.00016874828846538394 +9258 -0.00014705445251834835 0.0010819345229764615 0 0 0 -0.0001265534651351262 +9422 0.0004837946043586812 8.439380065258637e-05 0 0 0 0.0009504136986289633 +9518 0.00020713282809637943 -3.433120099105497e-05 0 0 0 -3.916267042190242e-05 +9570 0.00010645989143137486 1.8058524923521029e-06 0 0 0 -0.00032911221011327373 +9586 -0.00013687974035410898 0.0002798487929505646 0 0 0 0.0001291067380175889 +9589 0.00021585759103514613 -0.0001391032643898752 0 0 0 0.0001737475231319211 +9602 1.521302201652963e-05 0.00046102093457615315 0 0 0 -4.712514058745019e-05 +9609 0.0009284401027221509 0.00033707937084345187 0 0 0 -0.00018401036077751766 +9614 0.0009742559555305093 -0.0002532645543933939 0 0 0 3.965995965522904e-06 +3200 0.0012955526881162703 -0.00038067989521592123 0 0 0 -6.415274284134404e-05 +5763 0.001244677375196771 -0.00021749872726589263 0 0 0 -1.6424799988364656e-05 +6211 0.001154987453811869 0.00045049227781667573 0 0 0 -0.00018876104903691227 +6212 0.0007436035063482584 0.00011917271391365744 0 0 0 4.9272536293750536e-05 +9718 0.00042805419811660903 -0.00017130343601972026 0 0 0 0.00036501010716496763 +9729 0.0002234748616583294 0.0005378682010165532 0 0 0 -8.920004749803414e-05 +9756 0.0009462851385539969 0.0001309981270538961 0 0 0 -2.18753478813828e-05 +9768 0.0005656232157361785 0.0005334299775189579 0 0 0 0.00016680902301770018 +381 -5.0865087238162706e-05 0.0009817818686580718 0 0 0 -2.9932931484436822e-05 +9789 0.0012025889131000286 -9.387034532175365e-05 0 0 0 -1.925872147843044e-05 +2046 0.0005791259797191346 0.001112691234891403 0 0 0 -7.058999088383824e-05 +6235 0.0007177018976102492 0.00012860721333704856 0 0 0 -0.00012952654027066166 +1331 0.0009326747265202274 -8.421848111937348e-06 0 0 0 -7.73123783729451e-05 +4319 3.879361898762362e-05 0.0006162082293402845 0 0 0 -5.868667824374334e-05 +1775 4.374176949162573e-05 0.0005521176823601727 0 0 0 -0.0001917229794747974 +8692 0.0011513873779085443 -4.843473418307556e-05 0 0 0 4.079925300719506e-05 +7107 -0.00011279100622707437 0.0006369019835107416 0 0 0 0.00033790820020125856 +5938 -0.00010062192378679258 0.0008796805911959731 0 0 0 -0.0007269706442299505 +1291 -0.00011468618783693122 0.0005804392905895771 0 0 0 8.168037733528263e-05 +4394 -0.00024481426371187356 0.0009790439998155196 0 0 0 5.042547737971375e-05 +8490 -3.590848516204538e-05 0.0005101100664950543 0 0 0 0.0007275098229164558 +2413 0.0010286207928926216 0.0003471274179072853 0 0 0 7.633482132990817e-05 +6883 0.000940540050213462 0.0005158135196787557 0 0 0 0.00013045936636009326 +9781 -0.00011955823840021296 0.0007327716015147437 0 0 0 -5.5026722405451564e-05 +7174 0.0002612651398158594 0.0007859294722468618 0 0 0 -0.00022559468808198895 +5547 0.0007261172278888687 0.0001179609821791279 0 0 0 -0.00017397905257791072 +9255 -0.0002966356127840996 0.0008401242322883506 0 0 0 0.0002918563708611426 +523 -0.00017222335115069247 0.0009644397171778474 0 0 0 1.544780032596896e-05 +1212 -0.0002641408645754356 0.0009728188912316297 0 0 0 -1.6508943433429803e-05 +6233 0.0005799041056333182 -0.00037366203051047975 0 0 0 -8.469465453853376e-05 +3478 0.0012409622373429042 -0.00022317904070655046 0 0 0 -4.1303624525292864e-05 +2449 -0.0001657410917380211 0.0010681445963236105 0 0 0 -3.389473038639591e-05 +3805 0.00113287556872449 -0.0002302237731899655 0 0 0 -5.771934949465752e-05 +8886 -0.00027794910584782946 0.0010709016353985003 0 0 0 -4.012638150195127e-06 +2832 0.0010840329925996262 0.0004149008430166261 0 0 0 1.4031167351452556e-05 +2207 0.00031466227549106177 0.0011379155621842707 0 0 0 -1.173801856442127e-06 +279 -0.00022584408752572885 0.0008650905882229924 0 0 0 -2.9477453384829486e-05 +6840 0.0007474939757749319 -0.0003190613619511504 0 0 0 -9.421833360872608e-05 +6559 0.0005836886851394564 -0.0003732031447432628 0 0 0 0.00010273094527956685 +4703 -0.0002508807890671992 0.0011645167212929106 0 0 0 -1.1254029917304226e-06 +5575 0.0010772048798443185 0.0003775177214829307 0 0 0 -8.337464529703302e-05 +3587 0.0011605746414772424 -0.00023196253006174553 0 0 0 -4.1624772966455043e-05 +9034 0.0010313478949650265 0.000338334179276969 0 0 0 -0.00016656519678382313 +4305 0.0006740409881098681 -0.0003855659856629715 0 0 0 5.1498913498135514e-05 +3983 -0.00013317161547945895 0.0011052474510436256 0 0 0 5.168596655554956e-05 +2268 -0.00036731835756093783 0.000937016188442547 0 0 0 -7.204263578441398e-05 +8506 -0.00024325687867190888 0.0006766266257499807 0 0 0 -9.977586150829072e-05 +5194 -0.0002904124298997398 0.0011208702021562203 0 0 0 -5.544346498631807e-05 +3761 0.0005988355320021972 0.0006964520383936301 0 0 0 0.00025327519381982593 +3757 0.0010135257033413096 0.0012303975273634566 0 0 0 0.0004552586936800493 +20 0.0010379955686483974 -0.0005532266965877745 0 0 0 -1.0658738231900335e-05 +3574 0.00018215892145382408 0.0002707453235568003 0 0 0 -0.00026724984088847 +27 0.000996220664098232 -0.00023982971618829757 0 0 0 -1.3518705102020863e-05 +71 0.000976153841547888 -6.325075479377023e-05 0 0 0 -7.118109098484529e-06 +112 0.0007892877778155337 -9.259039940607419e-05 0 0 0 -1.7849529059204796e-05 +119 0.0009771619858374432 -0.00026022776469925544 0 0 0 -1.5670354817261995e-05 +120 0.0009840496171149727 -0.0002251192848332147 0 0 0 -1.7878643659133138e-05 +9949 0.000875498450267054 -0.0005956541867092282 0 0 0 3.7145191639729474e-05 +152 0.00039428751433822224 0.00012335681343600126 0 0 0 -4.050401753820874e-05 +164 0.000970416808124453 -0.00036711848050217493 0 0 0 -1.2406329197874651e-05 +181 0.0005794170261918078 -0.00023706565667504592 0 0 0 -3.141779475225978e-05 +226 0.001041366447865448 -0.0004285257513959941 0 0 0 8.367397257571482e-06 +1145 0.000489895249834158 0.000250862713469132 0 0 0 -3.584089058308742e-05 +255 0.0010018417939136818 -0.0003563074982703886 0 0 0 -1.2210363166671757e-05 +258 0.0010097126896126663 -0.000289590384832415 0 0 0 -2.001350410005117e-06 +9731 -0.00035480223340053087 -0.0017510532396206018 0 0 0 -0.001296655613348042 +291 0.001083458936567674 -0.00045876062615807483 0 0 0 3.6676544468010863e-06 +295 0.0009007140455443264 -0.00012195222555924924 0 0 0 -9.671652885884785e-06 +298 0.0009473095551166891 2.067305395752727e-05 0 0 0 -1.0882081273052482e-05 +1093 0.0010049567150837947 -0.0006246128778552503 0 0 0 2.4665786736254348e-05 +333 0.0010326056883489235 -0.00042391717777427886 0 0 0 -4.43113046136947e-06 +6070 0.0009722718165095252 1.0003853689865615e-05 0 0 0 1.5966033589959545e-05 +6661 0.0006850106646608198 -0.00010742672658945928 0 0 0 -0.00026302237556263407 +2026 0.0007264330210669822 -0.00022909109018724765 0 0 0 -6.619858763343255e-07 +7059 -0.0007474521677870181 0.0011733362242931959 0 0 0 -0.0017137718852363356 +390 0.0006193424345538847 -5.984012749664243e-05 0 0 0 -2.997608174322e-05 +1052 0.00045167874501337744 0.0001317581509122131 0 0 0 2.3097143005806367e-05 +428 0.0008362473545758278 -0.0001613494719440118 0 0 0 -7.850886973091378e-06 +429 0.001091008383097429 -0.0004906835146992348 0 0 0 -1.0962908188440812e-05 +435 0.000883045824467137 -0.00024217561519126278 0 0 0 -1.638617962069434e-05 +443 0.0009887328351782898 -0.00039383674916003035 0 0 0 8.466023142464231e-06 +455 0.0007514225987318681 -0.0006426763724353081 0 0 0 -1.969298878656728e-05 +467 0.0008201822455470321 -0.000609253860225094 0 0 0 -3.602120094399684e-05 +471 0.0009432248921463931 -0.00013860174059278862 0 0 0 -1.0278261191651407e-05 +7970 0.000920608487010052 -0.0004043678817278533 0 0 0 -9.300031385914093e-05 +9301 0.0005122834468522383 0.0002613732987671309 0 0 0 -5.396248896426186e-05 +3779 0.0007872763438636734 -0.00024186111391414123 0 0 0 7.724597874499327e-05 +537 0.0010592454657136032 -0.00042683810318825554 0 0 0 -5.595198331029933e-06 +551 0.00089593544961954 -0.0001726312077967031 0 0 0 -8.512688792802191e-06 +559 0.0011184563348773631 -0.0005887667846758385 0 0 0 -1.40895813156134e-05 +7442 0.0008762142093679818 0.00010688109830025561 0 0 0 8.570325323842206e-05 +607 0.000932230649619648 -0.0001882901209614541 0 0 0 -1.156071423881927e-05 +612 0.0010417903997760177 -0.0006131099138310363 0 0 0 -2.3649052261471108e-05 +8321 0.0006427456571350479 -0.00017553146789339854 0 0 0 -0.00010095663473328344 +641 0.0009143829748731944 -6.290518040267741e-05 0 0 0 -4.3251393247756715e-06 +648 0.0005035991763075009 -0.00024029377080656057 0 0 0 7.470260872968571e-05 +666 0.00095344409475122 -0.00015966037770584194 0 0 0 1.990341616062619e-05 +696 0.0004951981964298739 3.500848203290978e-05 0 0 0 -1.7925615062643353e-05 +9302 0.001047037764304878 -0.00044359279992118423 0 0 0 5.692102908850723e-05 +765 0.0011118855625008297 -0.000520075822361101 0 0 0 1.5650212551058105e-05 +7540 0.0006746395539050544 -0.00041753807814364386 0 0 0 0.00011194983353819678 +773 0.0008047956089127854 -0.00011605713924989878 0 0 0 -3.327651618353351e-05 +776 0.0009380845820920763 -0.0003960517051783183 0 0 0 -1.542878225695857e-05 +811 0.0010283447119717522 -0.0003665213414762258 0 0 0 -4.3247120098297777e-05 +866 0.0011453249068019119 -0.000598120206207262 0 0 0 1.5479375172466267e-05 +909 0.0007442854315369049 -0.0001083590765034529 0 0 0 -2.171735920741167e-05 +921 0.0008633811393570455 -0.00017578670286804232 0 0 0 -1.4513039492150711e-05 +9628 0.0008836828167331155 -0.0005936535172343573 0 0 0 6.10797736002775e-05 +952 0.0009642941293352161 -0.00014195047605704088 0 0 0 1.2909673767050447e-05 +955 0.0006840892052896276 -0.0005457186399121828 0 0 0 3.350122804593124e-05 +995 0.0006633311141541765 -0.0004387632091079644 0 0 0 -8.014645937359304e-05 +7201 0.0006275267805590838 0.0002150539102708246 0 0 0 -0.0002073133468386079 +5810 0.0005515399104685203 -7.058088639074149e-05 0 0 0 -0.00010490482093751825 +1027 0.0005272533472779824 -0.00012241273093061258 0 0 0 4.036736578250673e-05 +1034 0.0009659339534016376 -0.00010381342226485277 0 0 0 -1.727861790914452e-05 +9720 0.0010889866127272501 -0.0005149818255491085 0 0 0 0.0001460283622307801 +1047 0.0009005692281973975 -0.00026442869067218956 0 0 0 5.280036816591256e-05 +1069 0.000948254068658511 -0.00015825724654279773 0 0 0 -1.8340285629704168e-05 +9158 0.0009924012416602105 -0.00025739810280614456 0 0 0 1.3478582465777372e-05 +1199 0.0006543215482578789 -0.0004754979564276146 0 0 0 6.9099327326902e-05 +9827 0.000377808853179276 -0.0008621204605363514 0 0 0 0.0003691196134539592 +1235 0.0008399879340352298 -0.0003129292477221112 0 0 0 1.2411055366202019e-05 +1243 0.0009833697415871016 -0.00039750883965139635 0 0 0 0.00010913758463676007 +1263 0.0009447847145015921 -0.00054139554461914 0 0 0 -9.486800865163134e-06 +9228 0.0010196115529192236 -0.000376476611695503 0 0 0 -1.6816546129586466e-05 +9630 0.0010144340788499247 -0.000290234788841387 0 0 0 1.3245784103261684e-05 +1285 0.0009278552304641099 -4.897390034100296e-05 0 0 0 3.828238159912871e-05 +1334 0.0008586875249474061 -0.0001433868612675452 0 0 0 -7.029019298644893e-06 +1338 0.0010251946785034068 -0.000374670780409142 0 0 0 -6.425112672964437e-06 +1356 0.0005884692529996486 -0.00014750162669485445 0 0 0 -4.277822283494058e-05 +159 0.000633943677449373 -5.388367559511817e-05 0 0 0 4.37540893309574e-05 +9332 0.00091935634427929 -4.267074365417156e-05 0 0 0 -3.517779306775863e-05 +3518 0.0012301619678171205 -0.0007962719477950612 0 0 0 -7.635405193417652e-05 +1490 0.0010041003221709 -0.0003513996003127797 0 0 0 3.0759858476946948e-06 +1493 0.0008239333360748562 -0.00014630773071033966 0 0 0 2.4980417554920342e-06 +1500 0.000350880919905042 -0.00044166002813041333 0 0 0 8.12250272018123e-05 +1501 0.0010845105915132983 -0.0006688051779680798 0 0 0 2.1456972815420578e-05 +110 0.0009219128557085539 0.0001030863872373874 0 0 0 2.324605421264464e-06 +1542 0.0009919822432056973 -0.00010484331993126688 0 0 0 -3.663333195189009e-05 +1564 0.0010087157268789289 -0.0006295662505266712 0 0 0 3.1931217429419246e-05 +1576 0.0008581633959996906 -7.514068044031611e-05 0 0 0 -2.2967994243589265e-05 +1587 0.0011687268125346194 -0.0006010283505104007 0 0 0 -4.6438142810503145e-06 +1597 0.0008095995293765755 -0.00044499881205990185 0 0 0 1.7232818710459094e-05 +1411 0.0005726464480046221 0.00014874005776055563 0 0 0 -3.2287715927697033e-05 +2868 0.00014714114043532477 0.00032117286656418266 0 0 0 -6.636931687016804e-05 +1640 0.0009294487943418806 -0.00027317514606875736 0 0 0 0.00019033220806864007 +1645 0.000979574772355927 -0.0003454273571899678 0 0 0 -9.233261265591944e-06 +2108 0.0012011887675659777 -0.0007853658462197952 0 0 0 8.616151683512596e-06 +8350 0.000973543922222062 -0.0004225224392066431 0 0 0 3.2853897207157085e-05 +6141 0.0005642811449386294 0.0005687178760182488 0 0 0 -0.00013968214900649678 +1691 0.0011825540036236365 -0.0006298017061726795 0 0 0 -1.3613704918654964e-06 +4608 0.00041397778783317364 -6.356746258329454e-05 0 0 0 -0.00012412805479948045 +1711 0.0009586774148619228 -0.00018983613006534077 0 0 0 1.3765430736517903e-05 +1724 0.0006362402449772758 5.928707025343581e-05 0 0 0 -4.1618162753221694e-05 +1733 0.0005021895528140277 7.56739156513075e-06 0 0 0 3.8468938470453453e-05 +1747 0.0010022544015693528 -0.00010328856268934857 0 0 0 5.2919712545800265e-09 +9187 -0.0019260826677165628 -0.001571945858208394 0 0 0 -0.0022381117747730305 +1764 0.0009292619603996359 -0.00018187892930688205 0 0 0 -4.542808546582299e-06 +1798 0.0007718296138162337 -0.00013214726191591977 0 0 0 -2.8123911920800468e-05 +1799 0.0005240781654377134 -2.9944730617067067e-05 0 0 0 1.4024723512757747e-05 +9226 0.001083654240236951 -0.0005822335602989519 0 0 0 -9.46034355596867e-05 +1820 0.00038699715230954343 -0.0003730819829369555 0 0 0 6.4139633038032e-05 +1821 0.0010485545084002715 -0.00042122466883809926 0 0 0 6.923436556681969e-06 +1860 0.0010230081440633272 -0.0005949165254783788 0 0 0 -3.549120999766621e-05 +9560 0.0010810740785270599 -0.00046874742830207045 0 0 0 3.387160324904088e-05 +1885 0.0009123687627829869 -0.0006066002483579156 0 0 0 -5.909022002769e-06 +1913 0.0009090604384349302 -0.000449964750509408 0 0 0 -2.367884452255669e-06 +1924 0.0005053228382149836 -9.710105207273389e-05 0 0 0 3.482372777178805e-05 +1955 0.001051239981783363 -0.0005658835673802194 0 0 0 -2.0272319498394594e-05 +1957 0.0009343854832378341 -0.00038902431023048607 0 0 0 2.6159522946002356e-05 +5693 0.0008382026530899605 -0.00016734561700134162 0 0 0 -0.0003895804391173972 +1999 0.0011204462509426698 -0.0006997769247660532 0 0 0 6.383759455730877e-06 +2071 0.0010030489099821503 -0.00025467649605935886 0 0 0 4.022679163630076e-05 +2099 0.001151831327322846 -0.0005849536679261655 0 0 0 -2.387739324748004e-05 +9102 0.000973628895266749 -0.0003995159349704273 0 0 0 -3.0453438992377248e-05 +5970 0.0008931658363507072 0.00015521517990101476 0 0 0 -0.00014435434574789442 +1928 0.0009274740778274181 -0.00037859088849323926 0 0 0 -0.0002126784749862405 +2156 0.0011045682652918712 -0.000602461827440251 0 0 0 -7.893152076903371e-05 +2165 0.0008802338857606249 -0.0005361070156446673 0 0 0 -9.745802129992047e-06 +2190 0.0009943175502875176 -0.0004107610691382589 0 0 0 2.3870934168781003e-05 +9610 0.0011709759110164876 -0.000728035367688511 0 0 0 -0.00010114589477465837 +2260 0.0009169900021131055 1.4982483253663548e-05 0 0 0 0.00010261598861910636 +2280 0.001063158742769359 -0.0004902797067626534 0 0 0 -6.111353475669948e-05 +2306 0.0009541907969906702 -6.206847483091606e-05 0 0 0 -1.3855218381372143e-05 +2307 0.001039114625621182 -0.0003823186114174693 0 0 0 -1.4633453686612423e-05 +2326 0.0008439729293123473 -0.000538988985237466 0 0 0 -3.467267835110292e-05 +2334 0.0009001986863665107 -0.0005072713620817092 0 0 0 -1.4068893038963312e-05 +2410 0.0009317786325879626 -0.00020009687839178347 0 0 0 6.025020660178408e-05 +2486 0.0010904279166332488 -0.000584504522619226 0 0 0 5.096516970113817e-05 +2501 0.0010207780487065192 -0.0006293255059314581 0 0 0 4.167830732616663e-06 +2507 0.0009793533998444213 -0.0005839690343166151 0 0 0 -1.2322662368386576e-05 +2532 0.0010314746993518443 -0.0006188771215742822 0 0 0 -1.414668996815529e-05 +2107 0.00027739256830543944 -0.00035014552168442846 0 0 0 6.910557649097195e-05 +2614 0.0009675861046578623 -8.236272980422176e-05 0 0 0 -2.9108815522373824e-05 +2615 0.0010036567117938473 -0.0003410290466287052 0 0 0 -2.0870872918900685e-05 +7784 0.0007019317326144122 1.1256608135308455e-05 0 0 0 1.483134181451221e-05 +2641 0.0010503316646647716 -0.00043422279823550645 0 0 0 1.702165981243257e-05 +2648 0.0008586422752454967 -0.0001284601988215178 0 0 0 -3.416751932752165e-05 +4597 0.0007519560060419446 5.349310614186305e-05 0 0 0 -5.4436536915333684e-05 +2725 0.0007145865305235257 3.522696977010221e-05 0 0 0 -3.646366623523215e-05 +2749 0.0009975972657368 -0.0001236718325244274 0 0 0 -1.3578746956926764e-06 +1698 0.00011391531636786474 0.00023113787145147093 0 0 0 3.319719569204424e-05 +2818 0.0011505562585836827 -0.000607113575046375 0 0 0 3.8681333320849455e-05 +2876 0.00023180427418988396 -0.0016656373314660321 0 0 0 0.0007435288598102079 +356 0.0008798691240332209 -0.0006014688534604014 0 0 0 1.1718571177055567e-05 +2902 0.0009847399565945164 -0.0002746378708903437 0 0 0 4.320839068397012e-05 +2906 0.0008708827107162778 -0.000132091595530225 0 0 0 -0.00025299977187497014 +2914 0.0012029183134298304 -0.0007278156273490441 0 0 0 -6.569879122138663e-05 +2937 0.0009318417671188 -0.000199978290423459 0 0 0 1.11376493002288e-05 +2944 0.0010538936916688086 -0.0004869616983420887 0 0 0 5.038899430651033e-07 +2964 0.001113800300498969 -0.0005882250645228172 0 0 0 -4.99334317634832e-05 +2993 0.0008781296462144621 -0.000151902747322853 0 0 0 -1.4971865035887999e-05 +2995 0.003256225885606063 -0.002891409584774828 0 0 0 -0.0022438028559222147 +3006 0.0008712332434476814 -0.00019949153962548863 0 0 0 -2.306812251415962e-06 +317 0.00028385288305058206 0.0003690160393157116 0 0 0 -5.4171408206296036e-05 +3046 0.0010374690201030848 -0.0002619912013143667 0 0 0 3.885093212217995e-05 +3063 0.0010599118536587123 -0.0003978116445857745 0 0 0 -1.1837381309299833e-05 +3072 0.0008776765404330871 -0.0004774520985231465 0 0 0 -3.867892080743884e-05 +9689 0.0006786771394536364 0.0003438269966118897 0 0 0 -0.00011245700492352616 +3092 0.0012137021377772157 -0.000747449372603152 0 0 0 -2.9181766467622658e-05 +3107 0.0003724530204362902 -0.00033858905327157 0 0 0 -9.04076012098814e-05 +3138 0.0010027465018530696 -0.00033600970317786654 0 0 0 -1.199716564757779e-05 +9413 0.0012520793586560876 -0.0008067233614012544 0 0 0 3.951177973555654e-05 +9081 0.0007541320815715935 0.0001807577504678743 0 0 0 1.0575369480115983e-05 +3183 0.0010362739849079435 -0.00041236418661261666 0 0 0 1.2538836039726432e-05 +3187 0.0008983185980962008 -4.552355286750382e-05 0 0 0 3.727884741866689e-06 +7018 0.0005862437976601946 0.00011197677816298315 0 0 0 6.405039882853878e-07 +3227 0.0010153645307808944 -0.00015824282531555936 0 0 0 -4.672200109002094e-06 +3234 0.0008781845618616316 -0.00017896805572175878 0 0 0 -2.7658831057770586e-05 +3239 0.000977651848431152 -0.0001208516199801986 0 0 0 1.4152119085959162e-05 +3259 0.0009323097178828377 -0.00033872829508456627 0 0 0 8.080262640377632e-05 +3298 0.00043336786950590243 -0.0003331129902716956 0 0 0 0.0001648653143601321 +3314 0.0008614480629680059 -0.00012792923022706657 0 0 0 3.60015151883418e-05 +3317 0.00034600354069943103 -0.0003674127335545757 0 0 0 0.0002068417094981043 +3322 0.0010052039285992948 -0.00026311053832837774 0 0 0 -3.8112091588256995e-05 +3327 0.0009864389000539362 -0.0002585617661650711 0 0 0 2.0768169748676614e-05 +3357 0.0008676602568325418 -0.0005960866708911582 0 0 0 -2.1694363529070266e-05 +3369 0.0005345968581835526 -0.00037025550658733734 0 0 0 0.00038775388968084154 +1256 0.0008382834867950885 -0.00023677274583455972 0 0 0 5.986483667834706e-05 +9082 0.0009926316562169283 -0.00026452822674103826 0 0 0 0.00010021154245606323 +3431 0.001019718419962769 -0.0004071459130153787 0 0 0 -2.1229005921309852e-05 +9711 0.0008003408267032166 -1.964472923821994e-05 0 0 0 -2.2370277740059356e-05 +9166 0.0010618036853447983 -0.00045868149998499753 0 0 0 -1.9014294366301653e-05 +6711 0.0008720881026432242 -0.00029942014034782245 0 0 0 1.9405220871216134e-05 +8663 0.0009344225624225126 0.00014261940017201453 0 0 0 0.0001847396098692169 +3519 0.0009630629109995769 -6.962075459407527e-05 0 0 0 -1.4222409281062151e-06 +3540 0.0008852126858618261 -9.647856597423298e-05 0 0 0 0.00010395052418605224 +2197 0.0011749782144586142 -0.0007603911517724309 0 0 0 -6.044003779174423e-05 +3618 0.0006600970664401866 -0.0006324547183962724 0 0 0 3.633041322505969e-05 +3628 0.0008389890878381949 -0.00017155770092340119 0 0 0 -1.918013697079822e-07 +9988 0.0010664418519249408 -0.0003700411782519938 0 0 0 -0.0002049285944205398 +3642 0.0009667960894915535 -8.32473301908619e-05 0 0 0 1.895353682393044e-05 +3648 0.0008326474317078898 -0.0003875109837031662 0 0 0 0.0002433450826704702 +6434 0.0010596033758616713 -0.0007533224261342313 0 0 0 9.317925674332802e-06 +3698 0.0009963188197827041 -0.00028576914342396905 0 0 0 7.3972188271306285e-06 +3731 0.001212283063553981 -0.0007804656797629758 0 0 0 -6.87034650827467e-05 +3774 0.000851965716772213 -0.00019296352485171376 0 0 0 -8.492564264024861e-06 +3783 0.0009969364887800075 -0.00035952872304016763 0 0 0 1.348467082406892e-05 +1043 0.0012131056781320294 -0.0007432367546191141 0 0 0 8.769166043623633e-06 +3823 0.000972177688950605 -9.374667105679731e-05 0 0 0 -5.2335569534606914e-05 +3829 0.0009169182229999444 -7.26832845911627e-05 0 0 0 -1.7149782925443167e-05 +3833 0.0005365008587024504 -4.7129033655991184e-05 0 0 0 0.0001741531780647849 +277 3.0320502651751928e-05 0.000321070161518508 0 0 0 -3.646569669269172e-05 +3870 0.0010727832170611116 -0.0005696596593814117 0 0 0 -4.534136463664875e-05 +9873 0.0010522175704809175 -0.00045968833649411944 0 0 0 -0.00045294378155664875 +3881 0.0009463872711449777 7.279195018527955e-05 0 0 0 -1.2973976997797323e-05 +3899 0.0006276079405496543 -0.0005481107128232038 0 0 0 3.826027571002615e-05 +6172 0.0006068242899185158 0.00020345223544606338 0 0 0 -8.496331184322245e-05 +4201 0.0007414926653804602 -0.00022399533429424756 0 0 0 -1.0189728106187118e-05 +3940 0.0008958769392880564 -0.00019876604403208707 0 0 0 -1.830856203497225e-05 +5718 0.0009563786285037536 0.00012949733068238004 0 0 0 0.0001207568987307614 +4016 0.0008600878670677954 -0.0006098579384826694 0 0 0 -1.447784495985751e-05 +4023 0.0003517391339171986 -0.00036759593674217766 0 0 0 0.00044282864503587057 +3807 0.0005651309026627826 0.00014259474815930844 0 0 0 -5.1144620307770376e-05 +4039 0.001121632997997902 -0.0005608621087114658 0 0 0 8.393856039284e-05 +4046 0.0008336926738422401 -6.025172498853547e-05 0 0 0 -1.2559253967315829e-05 +4061 0.0011292879095113422 -0.0005340278854795311 0 0 0 2.3158655991840032e-05 +4116 0.00097697704814772 -0.00026043565576653504 0 0 0 7.82247620219723e-07 +4134 0.0009965543094662673 -0.0002584149602107585 0 0 0 -0.00015290533904354088 +9540 0.0008547141934879855 -0.0002071652523595738 0 0 0 1.4901845284906974e-05 +9207 0.001023987096528052 -0.000338713961962642 0 0 0 6.275150642408078e-05 +4158 0.0009174581097893792 -0.0002460870260703619 0 0 0 -1.8064589617660823e-05 +915 0.0011293949599593003 -0.0007284730406273568 0 0 0 -5.255412234998241e-06 +4204 0.0010452927549910278 -0.0006588337810635203 0 0 0 -4.6974617837941615e-06 +4208 0.0010880242759934299 -0.00046913763438431727 0 0 0 -1.8870802212499842e-05 +4220 0.0010459666448306034 -0.00044986173096846 0 0 0 5.7288936387253816e-06 +4224 0.0006392467006063446 -9.188374608388391e-05 0 0 0 8.019293296313654e-05 +9372 0.0007929727984028265 -0.0003264998384500178 0 0 0 -0.0001157983851166874 +4250 0.0008799230015113311 -0.0002016702180932188 0 0 0 -6.61701011706119e-06 +4278 0.0009160655102436176 -0.0005289920895713904 0 0 0 -1.9907591629046566e-05 +4304 0.0008878153702190096 -0.0005770464355431946 0 0 0 -5.8113272295911185e-05 +2889 0.0010998833863405265 -0.0008123075168541198 0 0 0 -6.821214949337199e-05 +4315 0.0005400321122457503 -0.00019860247039167633 0 0 0 -0.0001758989095624835 +9401 0.0013727923249565435 -0.0014740258721857317 0 0 0 0.00016031440707779532 +4322 0.0008580481361435834 -0.00016833615915505559 0 0 0 2.934011030970765e-06 +4380 0.0012090032599446313 -0.0007245893582400578 0 0 0 4.256983548662088e-05 +4389 0.0009119773761022735 -9.764428214028579e-05 0 0 0 -2.6003051879506226e-05 +96 0.00123031144620122 -0.0007301823630045484 0 0 0 1.409216608033899e-06 +4403 0.001065886784415743 -0.0005592465098973878 0 0 0 -2.78172535915686e-05 +6051 0.0006670482162652224 -0.0002108369376986235 0 0 0 0.0001499185702087286 +4417 0.0010838486939660098 -0.0005557004438366957 0 0 0 8.794451484589057e-05 +4435 0.0009163792585483783 -0.00014444763078346395 0 0 0 -2.3203366115192858e-05 +4467 0.0009798590576434382 -0.0001520004062190232 0 0 0 -2.1552889496828956e-05 +9284 0.0010392554894810082 -0.0003287365542113447 0 0 0 1.7819677864309985e-05 +4532 0.0009570656023572091 -4.1621807020683184e-05 0 0 0 -3.741599850119128e-05 +4540 0.0010747806177027629 -0.0004407199164260754 0 0 0 3.498677830488278e-05 +9672 0.001012299307875573 -0.0002856735892324547 0 0 0 2.1753979491776377e-05 +4569 0.0009816300179043991 -0.00010292449336468706 0 0 0 -5.513577596939218e-06 +2618 0.0009099716232542892 2.2922555839857416e-05 0 0 0 -0.00017212505139754206 +9460 0.00041470922197551347 0.00010883824463451955 0 0 0 5.9632814905598887e-05 +9468 0.0006677211318728437 -8.033576572643546e-05 0 0 0 -6.865069007107804e-05 +4617 0.0004833035660341364 -7.175973804737272e-05 0 0 0 -6.636431516799893e-05 +4625 0.000970752001085408 -0.00014026354506525433 0 0 0 2.266991289310936e-05 +4631 0.0008687019042487584 -0.0001561244918007288 0 0 0 -4.31717841608292e-06 +9588 0.00041473635874657473 -0.00031066092477169036 0 0 0 0.00012994837733858912 +7810 0.001035503802444532 -0.0003533764408587753 0 0 0 6.822443351223046e-05 +6079 0.0005786245124042176 0.00031154227428772447 0 0 0 -0.000259651160371699 +4715 0.0009654149277060763 -0.00015373979861076483 0 0 0 -4.1036058195344016e-05 +4719 0.0007005891775961655 -0.00015413530710293682 0 0 0 1.5345903399777907e-05 +4757 0.0006307131332163606 -0.00021386753587563203 0 0 0 -2.8858841529381082e-05 +4788 0.0011438054939727734 -0.0007316194627217364 0 0 0 2.522829925364877e-05 +9705 0.0008322329614913484 -0.00020821244701886872 0 0 0 4.7673554787222e-05 +4860 0.0011010790007148026 -0.0004793346956815076 0 0 0 3.9866712372778457e-05 +4875 0.000853210660766614 -0.00015540318363228714 0 0 0 -3.7249042898673837e-06 +4923 0.0009929125816667858 -0.0002846889879123241 0 0 0 9.778184244324697e-06 +9260 0.00032020985546446295 -0.00027624690973576037 0 0 0 -0.0003251700708299824 +4952 0.0011657590717397209 -0.0005972691355813829 0 0 0 7.253148881794227e-06 +4962 0.001084245958915511 -0.0004994431625688624 0 0 0 -0.00012735147877026637 +9743 0.0010173614910359264 -0.0002940648683497425 0 0 0 -3.3905438960860306e-06 +4968 0.0007836443318614876 -0.0001237320894219812 0 0 0 5.089121885898582e-05 +5035 0.0009299292475081838 -7.452139435486365e-06 0 0 0 4.220067137140584e-05 +1456 0.0008596966048894728 -0.0004038972865063316 0 0 0 0.000288588666965653 +4114 0.00024009491844796804 0.00027669379687888856 0 0 0 -4.544648297967834e-05 +4084 0.0012388073263052191 -0.000815431000927251 0 0 0 -1.2776268656407404e-05 +5078 0.0010976621369208149 -0.0004567885467996524 0 0 0 -3.842899294061279e-05 +5094 0.0006274974473513689 6.59328837485329e-05 0 0 0 -5.964529250808966e-05 +5166 0.0006510807098907905 -0.00016458226539507002 0 0 0 0.00018301558286129682 +5168 0.0010092183490471038 -0.0003341883414142007 0 0 0 -1.0600172512592402e-05 +5243 0.0010191184332170196 1.1142416322787802e-05 0 0 0 1.1142203987942068e-05 +5245 0.000983886044009934 -0.0001719507066344878 0 0 0 -4.875068705176267e-05 +5295 0.0008366660014809566 -0.0006287193932709831 0 0 0 2.444843051521943e-06 +5302 0.0009997473793318368 -0.0003068396562396722 0 0 0 -1.7866251219667663e-06 +5308 0.0009496758616532592 -0.00043414620051533426 0 0 0 -3.629287880612803e-05 +5316 0.0009594632285752205 -5.1165826435063865e-05 0 0 0 0.0003265818711342898 +5317 0.0006740273436376926 -0.00011912286670483343 0 0 0 -3.0680813501146774e-05 +5328 0.0005001554781296591 5.0578772740711455e-05 0 0 0 0.0002743388560196979 +5356 0.0008941391347027395 -7.030126571129137e-05 0 0 0 -5.3191762731575876e-06 +5402 0.0008830987268154912 -0.00018291893878491383 0 0 0 -4.970245888922238e-06 +5426 0.0009048270959633948 -0.00014687149800385457 0 0 0 5.99172201883237e-06 +5446 0.0010000918726099553 -0.0005893843710638232 0 0 0 1.6675766373177232e-05 +5449 0.001048186723273202 -0.000533903650297469 0 0 0 5.4236337242231124e-05 +5001 0.0009574010686128959 0.00013708329264487182 0 0 0 -3.339962820956194e-05 +39 0.0009514992971699232 -0.0005554859016872436 0 0 0 -7.737669286468448e-06 +5485 0.001146150297611025 -0.0006631281244071872 0 0 0 -8.08515636476011e-05 +3873 0.0007479139429807624 8.687625949388275e-05 0 0 0 2.54122428248371e-05 +5498 0.0009668955791403426 -0.0013996426089584156 0 0 0 -0.0006088618734622516 +9210 0.000999220851803218 -0.0003440682752124753 0 0 0 4.18598236652155e-06 +5503 0.000992279274958384 -0.0003386091346789592 0 0 0 2.954324205047747e-06 +5511 0.0010865609100287918 -0.00046398790661547693 0 0 0 -3.076636967055937e-05 +5521 0.0011113384229606393 -0.0005498847068422157 0 0 0 -8.690656927993085e-05 +5525 0.0008071613958307342 -0.0005754226698386184 0 0 0 0.00018263912436239293 +5567 0.00047344536339171745 -0.0002024544808476691 0 0 0 0.0009260413622113488 +5572 0.0011188229246181975 -0.00043189454523759254 0 0 0 2.4783249737311726e-05 +5597 0.0009146764772593478 -0.00015111721976269557 0 0 0 -2.258613292743092e-05 +5622 0.0007642339959049348 -8.905741013178685e-05 0 0 0 2.307853091937925e-05 +5623 0.0011096390479499994 -0.0007028776478319818 0 0 0 5.1539609348573634e-06 +5647 0.0006778483301766812 0.00011615353145391648 0 0 0 -4.664132561464348e-05 +5659 0.0008696995853498069 -0.0005325124615926376 0 0 0 -0.00017917551441624978 +2856 0.0008414608253365045 -4.353587306090213e-05 0 0 0 -7.614202934862612e-06 +5700 0.0008770983362845364 -0.00020482470503937415 0 0 0 -2.064311845696322e-05 +3626 0.0007614058025738276 -0.00013284472575160269 0 0 0 0.00012966531342542624 +5824 0.000958986623618886 0.00013096405910729443 0 0 0 -3.7214685234188517e-05 +9109 0.0007128812082803202 7.48819663859763e-05 0 0 0 -2.276616072669955e-05 +5795 0.0008996652918757495 0.00012019588351193616 0 0 0 6.467572150068678e-05 +5808 0.0010134313065402057 -0.0001549407739902701 0 0 0 1.1160766012365641e-05 +5816 0.0006546282903737736 2.846266064591208e-05 0 0 0 -3.944269406478917e-06 +5826 0.0009636369888178849 -0.00034234912789180477 0 0 0 1.2229466269157252e-05 +5849 0.0010220835998847857 -0.00040678253860823875 0 0 0 -6.150545292685314e-05 +5851 0.0004598296776872439 -8.195228589882777e-05 0 0 0 -0.00012387764401227235 +5868 0.0010839870616651261 -0.0005433719987830263 0 0 0 -3.46570694525575e-05 +5891 0.0009267852883074304 -0.00024692106243728304 0 0 0 6.831142440473323e-05 +5951 0.0008993437776346362 -0.00043415722713745604 0 0 0 -5.216347633388235e-05 +5984 0.0009449341501051725 -0.0003460528163294287 0 0 0 -7.933565490496579e-05 +5987 0.0009573133882430382 -0.00042277936316125505 0 0 0 -1.349099583431264e-05 +6041 0.000901833961581377 -0.0005129393294348608 0 0 0 0.0002612290034420164 +9879 0.0008581358909461686 -0.000127393831025728 0 0 0 -8.408289591300226e-06 +9928 0.0008300512327498026 -0.00011050094128364662 0 0 0 0.00038389874118651443 +6105 0.0006079100197040335 -6.713913319385857e-05 0 0 0 -6.0143023771421324e-05 +8802 0.001226511117311931 -0.0007694465396258619 0 0 0 5.0771492384724175e-06 +6146 0.0005322704933032139 -0.00011210701592770428 0 0 0 -3.9502888349277896e-05 +6151 0.0009341771024974105 2.4540078119007095e-05 0 0 0 3.594858902790926e-06 +1017 0.000432222672623173 0.0002552398550307609 0 0 0 -3.3864839837048455e-06 +6196 0.0011161757587705554 -0.0007014832398317733 0 0 0 -1.1490379605276387e-05 +6216 0.0018150094970312619 -0.0019523937566669049 0 0 0 -0.00027193882200064165 +6229 0.0010460507659802957 -0.0005486032058854547 0 0 0 -6.922819047817994e-05 +6258 0.001574969621772726 0.0010416881538050271 0 0 0 0.0007214097512301972 +6284 0.0008063547788664461 -0.00043523747748901723 0 0 0 -3.815770235784966e-05 +6305 0.001104916746138839 -0.0004244595191459077 0 0 0 -4.312391701549282e-05 +2770 0.0006180578689762176 0.00019859005312749547 0 0 0 6.077308841476938e-05 +6325 0.0009136286890056574 -0.00047479257473227645 0 0 0 -2.52297750733583e-05 +1646 0.000803808191718722 -2.233219184143656e-05 0 0 0 1.0713026198859987e-05 +6376 0.00091438805608839 -0.00015172405799935494 0 0 0 -1.0820522756124419e-05 +9896 0.0010703426124533076 -0.0005543018681208322 0 0 0 -1.6485377064582413e-05 +3352 0.0009657101889312423 9.690799316970799e-05 0 0 0 -2.032330421694953e-05 +6398 0.0011158975359384469 -0.000541551070067579 0 0 0 -0.00010921455838740122 +6416 0.0004638911457826581 -0.0007221793503539052 0 0 0 0.00022774222446053625 +224 0.0003849822418680344 0.0005092213445783954 0 0 0 -5.31036335069026e-05 +6439 0.0009439070400410498 -0.00033149443579943787 0 0 0 7.98258122823028e-05 +6447 0.0006722981684505401 -0.0001077655794274291 0 0 0 2.018425804474528e-05 +6451 0.0006878970915977357 -1.3261226237177576e-05 0 0 0 -5.6275880562547526e-05 +6460 0.0009875663316028505 -0.0002761602225327729 0 0 0 4.1125758097076e-05 +6466 0.0009616240604119939 -0.00018575925428591998 0 0 0 -3.5605455350531256e-05 +6473 0.0009800247276310601 -0.00031565969557089817 0 0 0 -5.33017777524902e-05 +6501 0.0007867731341986334 -0.00013424842229702266 0 0 0 1.2197556233396005e-05 +9354 0.001009940917876702 -0.0003719458229998786 0 0 0 -7.707598222376046e-06 +9451 0.0010518869219140635 -0.00013129985607168726 0 0 0 -2.1992418670197735e-05 +6569 0.0008569255943937477 -9.251506846257723e-05 0 0 0 3.0543701845989206e-05 +6611 0.000553122949632749 9.065282570791258e-05 0 0 0 -9.708266420655939e-06 +6634 0.000830048437254984 6.746032773258363e-05 0 0 0 9.51849435251212e-05 +6638 0.0010949645753326725 -6.96354872605823e-05 0 0 0 6.935861603063259e-05 +6656 0.0009988755077993084 -0.00034397190056195546 0 0 0 -5.635533747737104e-05 +6707 0.0010150080580384074 -0.0005915287022290993 0 0 0 6.938196990465178e-05 +6731 0.0009049510634276912 -0.0005675228186263624 0 0 0 -9.997069125418464e-06 +6734 0.0007578642150067145 -8.057782255386557e-05 0 0 0 6.897881816920345e-05 +6746 0.0010179078784138221 -0.0004248151774609951 0 0 0 -1.377563198581826e-06 +6764 0.0008988704064675115 -0.0002464267703438025 0 0 0 -1.1821311052819553e-05 +5682 0.0009246424082461735 -0.000436052115667927 0 0 0 -0.0004329313792631413 +6799 0.0010313865907244073 -0.0003363741344469173 0 0 0 -4.20508462733273e-05 +6822 0.0009899805457392076 -0.0007444423625660825 0 0 0 -0.0002994176000818506 +1987 0.0007500974969072496 5.0196785613236796e-05 0 0 0 -1.7034296257763354e-05 +6920 0.0008322297230379728 -0.00015840878693220808 0 0 0 0.000495691107310562 +6939 0.0006433034957743038 -0.00015053265312848645 0 0 0 -8.679834404508965e-05 +6940 0.0010840275736530164 -0.0004635741893711666 0 0 0 -5.711264545275555e-05 +9963 0.0010301493634821259 -0.00042485820521704184 0 0 0 4.307583225530581e-06 +7052 0.0008880468648753253 0.0001685452257378944 0 0 0 0.00011498993617465725 +7060 0.0009307387094729 -0.00035846435887133165 0 0 0 -5.637544515886769e-05 +7131 0.000511197507691142 -0.0014604359682255023 0 0 0 -0.00018855799518225649 +7179 0.0010702268559842623 -0.0004435859986496529 0 0 0 6.294142155385711e-05 +7188 0.001033838958183162 -0.0004450482568836661 0 0 0 5.289204198703448e-06 +269 0.00111733317159525 -0.0006858232164653849 0 0 0 8.685076600557561e-06 +7202 0.0011077106860444283 -0.0006324080339950618 0 0 0 -0.0001392187546657315 +3511 0.0005015443750215958 -0.0006230708633006837 0 0 0 -0.00029247651849497803 +7219 0.000909161289513804 -0.00026018670093531113 0 0 0 3.2023454680393506e-06 +7266 -0.0004776761815201555 -0.00046210042300590045 0 0 0 -0.0007342831474038485 +7274 0.0009773614228214015 -0.00012161849628453326 0 0 0 -3.8270968163652e-06 +7277 0.0011056976986843555 -0.0001392002406138742 0 0 0 0.00018349551555506155 +9323 0.001031129622475848 -0.0005518579866219001 0 0 0 -2.7678973675037852e-05 +7317 0.0009166055777076453 3.6506812170943345e-05 0 0 0 -8.040910178324407e-05 +9954 0.0007592945631943218 -0.0002524694893779593 0 0 0 7.26786249598505e-05 +7392 0.00041299847272725353 -0.0011043316177727232 0 0 0 0.0011250167595380231 +7352 0.0009955986278867295 -8.6038717936709e-06 0 0 0 -5.013357755450941e-05 +3425 0.0003711788286451484 0.00025837475751039335 0 0 0 -2.46184742976574e-05 +3088 0.0010241002516141497 -0.0004124812725109807 0 0 0 -6.500265165867198e-05 +7398 0.0010184284437053488 -0.00038030098293969917 0 0 0 2.1346496331997204e-06 +9283 0.0002543847516460285 -0.00040206105038767987 0 0 0 -0.00033746694801043504 +9839 0.0008477106639607471 -0.00030731773954803017 0 0 0 -0.00022405388339675325 +7450 0.0009509290496350453 -5.814780602578872e-05 0 0 0 -2.7610377228013954e-05 +6876 0.000689240371352493 -5.901191658121738e-05 0 0 0 2.4510278529725536e-05 +7504 0.0009117786083550587 -0.00025694024857566037 0 0 0 -0.00035367739461351054 +7512 0.0008793499141239135 -0.00018754440241785364 0 0 0 1.2265521111609144e-05 +7521 0.0010703291167483793 -0.0004606722557700633 0 0 0 -1.6686163622531888e-05 +7527 0.0010313734103924097 -0.0005927252294005314 0 0 0 -3.321327586467651e-05 +7541 0.0010200550271797903 -0.00013576947442577345 0 0 0 4.622566732272913e-07 +7551 0.0010823804781604442 -0.0005227438737868927 0 0 0 6.021825618615227e-05 +4949 0.0012426320525454981 -0.00078714665312476 0 0 0 -6.711258541659055e-06 +7576 0.0008807677806903151 -0.00039572213319625247 0 0 0 9.779714062528505e-06 +7578 0.0008928516561454217 -0.0002764692820226331 0 0 0 0.00021644837714346929 +4614 0.001172600269103655 -0.0008275983665758776 0 0 0 0.00011201405112623556 +7624 0.0009821926523576774 -0.00026089544836715295 0 0 0 5.02774251672365e-05 +7644 0.001140820363231827 -0.00072020259189283 0 0 0 4.279034739896491e-05 +7655 0.0003052255714229256 -0.00045202202323620046 0 0 0 -0.0006140852292895636 +7656 0.001073308097396279 -0.00047468156146704757 0 0 0 -0.00011057132826606179 +7658 0.0008744286994160203 -0.0004020615555060306 0 0 0 -0.0003308240008227234 +9514 0.001239784254261467 -0.0007947748482973466 0 0 0 -1.1933157481924774e-05 +7675 0.0010263374835704842 -0.00037027725860428866 0 0 0 0.00029304230547239817 +7686 0.0009592526406445958 -0.00041210870829899406 0 0 0 1.4038211945178849e-06 +7689 0.0006214901451996455 -0.00015768473493191378 0 0 0 0.00010545108783306149 +7696 0.001570153968326058 -0.0010929772753477441 0 0 0 0.00033992092907744373 +4352 0.0012336771090957627 -0.0007840604640830706 0 0 0 -3.5291437392897676e-05 +7724 0.0009191897533519008 -0.0001109665724041741 0 0 0 9.992508608805552e-06 +7772 0.0011002083477388862 -0.0003552507929653839 0 0 0 -3.687873443977204e-05 +7774 0.0011523243465840227 -0.0006286786595940037 0 0 0 -8.278460473020245e-05 +8274 0.0006884502864638085 8.596997938155284e-05 0 0 0 -1.4218005026269674e-05 +7791 0.0009466698181373106 -0.00011092779475784824 0 0 0 -5.938246343399304e-06 +9132 0.0010095026874280052 8.308695279836918e-06 0 0 0 0.000566576398751396 +7799 0.000722976680840325 -0.0006114695829212491 0 0 0 -3.08287213995989e-05 +7196 0.00030867702935729116 0.0005682027114205294 0 0 0 0.00043032870213284644 +7819 0.0010633472555739844 -0.0001410779560917936 0 0 0 -7.571159719988553e-05 +4674 0.0011785686142927485 -0.0006792318614396562 0 0 0 9.520560025120618e-05 +7826 0.0006158412305578466 -0.00010605052572249149 0 0 0 0.00013253068989201158 +853 0.0008499998829427785 -0.00013767929280760738 0 0 0 0.00013086637044188207 +7894 0.0009839080737664805 -0.00033281831778683284 0 0 0 -4.866501983064125e-06 +7907 0.0011403194090381832 -0.0007541123902009278 0 0 0 3.04167792361066e-05 +7915 0.0011174583269439157 -0.0005818399883126336 0 0 0 2.062664939275426e-05 +7954 0.0011017632340847281 -0.0004574964184561958 0 0 0 1.5483366899522666e-05 +5881 0.00010270380425366381 0.0003467302488874269 0 0 0 0.00030964891248218604 +7963 0.0010051584908861346 -0.0002829654389883426 0 0 0 4.0429767432234e-06 +3989 0.0005493940119279198 0.0001597101379028564 0 0 0 1.4075608798965338e-05 +7994 0.0010136237275989023 -0.000282196062064174 0 0 0 -3.167421033895297e-05 +8036 0.0007599956039334788 -0.00011129892302755378 0 0 0 4.8662506985315535e-05 +8039 0.0010422164247569463 -0.0005400474917723507 0 0 0 5.4947808010503694e-05 +8068 0.0010031787069724428 -0.000268793273299168 0 0 0 -0.0007751025591089359 +8078 0.0010896124860811868 -0.0005947774211523277 0 0 0 4.637535592124544e-05 +8087 0.0010676444578074464 -0.00044161805706291967 0 0 0 -3.381613353827634e-05 +8120 0.0009018651648696547 -0.00025841372309430625 0 0 0 0.00029472659270689326 +8122 0.00045091407114787764 4.732230235407593e-06 0 0 0 -0.0002075532389584289 +8153 0.0008195355395332453 -2.5576561544718206e-05 0 0 0 -3.0176634460539292e-05 +8154 0.0009927279377643478 -0.0003462167171608505 0 0 0 0.00030818729575623387 +8159 0.0008934467970750665 -0.0002431296603880108 0 0 0 -8.833598219214562e-06 +8174 -0.0020034090429496385 0.00014755741678438612 0 0 0 -0.001820894690416863 +8177 0.0008859782002568603 -0.0001979361488486941 0 0 0 1.424659564309311e-05 +8197 0.0009041180410618321 -0.000335323273985549 0 0 0 -0.0002839222910635709 +8211 0.0008590534154656088 -0.0001114104358978413 0 0 0 -4.67091450322973e-06 +9581 0.0010285743060553612 -0.0004236762293903044 0 0 0 -4.024455540887284e-06 +1444 0.0001362700163980972 0.0002740390209406788 0 0 0 7.280469455971439e-05 +109 0.0010621470942282034 -0.00033665270767272625 0 0 0 8.15217749924262e-06 +6329 0.0012074329967713992 -0.0007571056828902986 0 0 0 -6.800201772315785e-06 +8364 0.0009335333044982544 -0.00023598481142821803 0 0 0 -5.838079482112235e-05 +8374 0.0010037710935500849 -0.00028614448837324387 0 0 0 -2.5291501715852148e-05 +8397 0.0010045974050454745 -0.0002492451443283209 0 0 0 9.04550074863633e-05 +8461 0.00034091155656532763 -0.00010049275653217989 0 0 0 -5.411903270316338e-05 +9655 0.0009990607174040521 -0.00016570515639666327 0 0 0 3.7987022022932144e-05 +8498 0.0008644857069938237 -0.0006313766794865409 0 0 0 3.8142275652848246e-05 +8522 0.0009276778444300539 -9.243850119897026e-05 0 0 0 6.069323645847339e-06 +8527 0.0027805089296881365 -0.0008090623884817317 0 0 0 -0.002305780988122651 +8529 0.0010795483827507322 -0.0006709812524700285 0 0 0 5.7492845035956484e-05 +9431 0.001111422693782204 -0.000475554539461892 0 0 0 1.687797555371014e-05 +8560 0.0005005733265010374 3.882556248874498e-05 0 0 0 5.3094539430118836e-05 +3332 0.0006576916420678409 -0.00012481362133898326 0 0 0 -0.0001128930548264841 +5687 0.0009937416597566352 -0.0005392957710381799 0 0 0 3.0227500463981604e-05 +8602 0.0008973140181213382 -0.00022401975542338495 0 0 0 -2.8194991189425646e-05 +4589 0.0007900199745342026 -0.0004987803502048375 0 0 0 -9.867558566848059e-05 +8723 0.0009831349242342474 -0.0005890696245314865 0 0 0 -1.0002913078743033e-05 +8725 0.0005911779225756675 6.546309352822854e-05 0 0 0 -3.162669234547742e-05 +8726 0.0009740072486294937 -0.00031124931939168605 0 0 0 4.392723489422614e-05 +8751 0.0020187573525442364 -0.00037918607103132524 0 0 0 -0.0001623167384515033 +8753 0.0006190837384757999 -0.00013805269120950817 0 0 0 1.5425555162862952e-05 +8786 0.0009491530193154943 -0.00036512931458826365 0 0 0 2.097414174078803e-05 +8795 0.0010345911699943154 -0.00043552275572171473 0 0 0 2.3187567622462407e-05 +5488 0.001035960681367373 -0.0003819565643761478 0 0 0 -5.749404290764959e-05 +9289 0.0008669627795606287 -3.860760969990996e-05 0 0 0 -3.203732773560419e-05 +8865 0.0009360442368762999 -1.5087179699029076e-05 0 0 0 -4.2912413918975137e-05 +8874 0.0009130536679939703 -0.00014041551163885085 0 0 0 -5.345290115359493e-06 +8882 0.0006895268069699898 -0.0005686075208338365 0 0 0 0.00013262633481280059 +8883 0.0009691931862188611 -5.521182171474516e-05 0 0 0 -1.8851770048373678e-05 +8887 0.0010773387010093484 -0.0004390260550113206 0 0 0 -1.1218678708715646e-05 +8889 0.001015383879741349 -0.00029338520818601965 0 0 0 -1.7244011012327185e-05 +8903 0.0010785375335198519 -0.0004543427003690984 0 0 0 -9.520395160663575e-05 +8921 0.0010909722374822465 -0.0004168952676613466 0 0 0 1.1310664042893249e-05 +8931 -0.00034613009659108544 -0.0012314199961873042 0 0 0 0.0006601536717021098 +6499 0.0007394420244887523 -2.4193113065063385e-05 0 0 0 -2.3506713282949725e-05 +563 0.0007135188945106928 0.00011271137438492044 0 0 0 -1.530137392423584e-05 +9060 0.0008609562050910378 -0.0005883189420297532 0 0 0 -0.00019718981112557763 +9073 0.0010395184689075021 -0.0005935099256398586 0 0 0 9.82163599968626e-06 +7575 -0.0003002637900638973 0.00042148302140931324 0 0 0 -6.662054595659221e-07 +7456 0.0012530292632393462 -0.0008316978595123215 0 0 0 9.94540717650838e-06 +5806 0.0012143033535458043 -0.0008218786997092467 0 0 0 -7.438360897074268e-05 +413 0.000693692137637391 -0.00017371919732805198 0 0 0 5.461452981161166e-05 +8021 0.0009883027511357863 -0.00043778923998690514 0 0 0 -5.6480672040812175e-05 +3391 0.0004057822558923005 -0.000294582598456396 0 0 0 -0.00011503252838987715 +8537 0.00045625734344058094 -0.0006199764780617244 0 0 0 1.5401845063153915e-05 +3493 0.00019440847908082734 -0.0003727635225664712 0 0 0 -0.00012390478468818483 +8552 -0.0004345212208400672 -0.00011023272937885039 0 0 0 3.091508395924326e-05 +10 -0.00025214836484322773 -0.0003339076585531128 0 0 0 4.121925901612861e-06 +23 0.00023822475152072511 -0.0003830483138913912 0 0 0 6.3059448265802e-05 +8734 0.0008276639873386068 -0.0005818500768000045 0 0 0 0.00032192808403147695 +77 -0.0004998127625688718 -0.00020503719903439152 0 0 0 1.8110878412172517e-05 +7811 -0.0003880464952179722 6.57902769476674e-05 0 0 0 9.224637506213155e-05 +4943 -0.0005414402894122287 0.00015159629161608235 0 0 0 0.0002650946878479254 +7370 0.00026084904038189163 -0.000411139369145235 0 0 0 1.711523042734982e-05 +9850 -0.00031867722249944775 -3.025965636771865e-05 0 0 0 -5.561968037798151e-05 +172 -0.00041146768035456093 -0.00013105905193088157 0 0 0 3.8627898658187595e-06 +301 -0.00046208797545215576 3.9652516150655995e-05 0 0 0 9.029305054912722e-07 +354 -8.05127035759835e-05 -0.0009810493281739606 0 0 0 -5.5679316825810575e-05 +369 6.074050030291305e-07 -0.0007646861130252498 0 0 0 1.5828206188387814e-05 +3560 -0.00042070179655117305 -0.0005991974311688737 0 0 0 -0.0004938072675482477 +401 0.00024730118632805087 -0.0004892267381745156 0 0 0 0.00011101235656138652 +8643 0.00020603152828573928 -2.0568871682026368e-05 0 0 0 0.000466356916994522 +417 0.0006297902880647374 -0.00046858393634918055 0 0 0 -9.444277758736304e-06 +9373 -0.0007600782261670493 -0.0007072582780756102 0 0 0 -0.000567998323457424 +9709 4.187253250837962e-06 0.0003289075628982599 0 0 0 -0.0005709551021861025 +503 0.00037378942222058165 -0.00047046767693658444 0 0 0 -0.00016755116471012992 +547 -0.00030690197366030895 -5.4534534905203515e-05 0 0 0 -1.7301181790595212e-06 +578 -0.0007163855370763431 -0.0005706757309161902 0 0 0 -0.0001921264968658862 +619 0.00026665789984445964 -0.0005292989509463209 0 0 0 -0.00014961878037075528 +633 -0.00044626632557983616 -0.00021420986639191254 0 0 0 1.5799446596933543e-05 +9600 -0.0008404595485999732 0.00013450649945473872 0 0 0 -0.00031674283835924483 +673 -0.00041308471249403266 -4.135458124489518e-05 0 0 0 5.782663499027343e-05 +761 -0.0005215335965776352 -0.0001768329545919092 0 0 0 2.074067196891952e-05 +130 -0.00046984376726854916 -8.74909858884462e-05 0 0 0 1.0718260121474312e-05 +855 -0.00046374412400508033 -8.466184968453579e-05 0 0 0 5.885256711496669e-06 +1277 -0.00030956130041568904 -4.43717790125111e-05 0 0 0 -3.856500183989981e-06 +6521 0.00017312959386721203 -0.00037767330401666804 0 0 0 0.0001533278278382881 +910 0.0008346540228833328 -0.0004811686000901875 0 0 0 5.9969437840677195e-05 +970 -0.000255903576375761 -0.0006827807935567537 0 0 0 -9.68526753948682e-05 +9281 0.002748711058227359 -0.0023489382192921873 0 0 0 0.0030220877813659703 +1026 -0.0007208425541880218 -0.0005672567609007733 0 0 0 0.00014217968532221037 +1064 -0.000531138683143127 8.507531470233337e-05 0 0 0 1.5123886905330809e-05 +1085 -0.0003931442820171347 -2.763765124928694e-05 0 0 0 -3.266955271077163e-05 +9771 -0.00042672956438673644 0.0002042800965583429 0 0 0 -0.00021636514544875026 +2254 -0.0002764182945435159 -3.2136720874779264e-06 0 0 0 7.301874087728787e-06 +1165 -0.00040560931630863247 -2.0901756378353476e-05 0 0 0 1.8310973358837133e-05 +8646 -0.0005138772441900091 0.00011799951267130265 0 0 0 -3.2858113464922485e-05 +1176 -0.0004168983271500507 -7.343356097456269e-05 0 0 0 1.3524022590312115e-06 +1179 -0.0005499962088566251 -0.00011563075759695327 0 0 0 4.978213001762467e-05 +1226 -0.0005671897667490661 7.57592937329316e-05 0 0 0 1.7876640891831297e-07 +7003 -0.00035168573391644635 5.6563406056585756e-05 0 0 0 6.569753739070257e-05 +2582 -0.000928751365364999 -0.000684258041370958 0 0 0 -0.00014260805813289288 +1314 -0.000488046465698301 0.001099689147083355 0 0 0 0.0003309017141529266 +4189 0.0007770426905676775 -0.0006498444662622246 0 0 0 5.404094533383893e-05 +1322 -0.0006421242608055485 -0.0003330924966889672 0 0 0 4.1010714258693114e-05 +9264 -0.00041495480555991547 -4.6938667755493624e-05 0 0 0 8.671483535453578e-07 +8384 0.00028046009762227865 -0.0002783953969097566 0 0 0 -0.000300617797830447 +1521 -0.0002939788705560837 -0.0009587566323424997 0 0 0 -0.00022386828152112055 +410 -0.0003156076945865062 6.052788943339078e-05 0 0 0 8.361911324048741e-05 +1604 -0.0004890036947777696 3.3544683346651985e-05 0 0 0 -3.5617817816743526e-05 +9590 -0.000522456419610743 -0.00015112337754045771 0 0 0 -6.736667711653886e-05 +9058 -0.0003227040228622127 -3.2397976862950965e-05 0 0 0 -8.127755099931718e-05 +1719 -0.0007033603922408602 -0.0002771481584453294 0 0 0 -0.00022528440843778286 +1751 -0.0002927561369535291 -0.0002888715608553447 0 0 0 -8.51560102577531e-06 +8739 -0.0004231197065402941 -0.00029734678890102766 0 0 0 0.00010993170463968741 +1788 0.00016320558792517798 -0.000929101576278873 0 0 0 2.61889150878742e-05 +1823 -0.00039823380564851915 -0.00014915037535897168 0 0 0 -4.349274002735602e-05 +8242 -0.00053501729401525 8.298824258708742e-05 0 0 0 -0.0002778287113542395 +1856 -0.00021810381592488043 -0.0008304409836022482 0 0 0 -4.4905032941463296e-05 +9160 -0.00042641005197570597 1.5485851009447178e-05 0 0 0 0.0002405274830660187 +1881 -0.00020872294986041425 -7.728744354198333e-06 0 0 0 5.545390356367456e-05 +1898 -0.00012242505039505847 -0.0004547908941297412 0 0 0 0.0002535816593537306 +1925 0.0002948108314383293 -0.0006419488201694032 0 0 0 0.00026642956521894407 +2263 0.00022584529715940414 -0.0008803899615547588 0 0 0 1.1590648135530569e-05 +1966 -0.00030879212580017844 4.218844474237534e-05 0 0 0 1.2509836597431733e-05 +3931 0.00036071552006130474 -0.0005034782329664255 0 0 0 3.199965235888601e-05 +1979 -0.00021780140456809465 -0.0005974218511818564 0 0 0 -0.00017444114238956935 +1990 -0.0004617783362799146 -0.00013985754284786815 0 0 0 9.4528477131478e-06 +2014 -0.0003887840188905955 -5.532827833423603e-05 0 0 0 2.2184630775441102e-05 +9627 -0.0004123585243543612 -2.990761820043342e-05 0 0 0 -0.00021447440832975898 +2075 -0.0004697889768427825 4.70504106342329e-05 0 0 0 -0.0001284490787881388 +2061 -0.0002541254548044324 -0.0005276505700844694 0 0 0 -0.00012594502247981705 +2114 0.0004761101028687331 -0.0005534353788495922 0 0 0 0.00015126926784382594 +2121 0.0005440406311083647 -0.000534392397099564 0 0 0 -0.0004535927356190295 +2158 -0.00044994624613889145 -0.0003286637300268746 0 0 0 -5.614862382384624e-06 +2159 -0.00039234447071850013 -1.0704929662791608e-05 0 0 0 4.6090409379527443e-05 +2166 0.00047406565355988153 -0.0005682382203744826 0 0 0 4.7337974551301975e-06 +5430 -0.00037509897210368686 4.187833952463678e-06 0 0 0 3.250553623841958e-05 +700 0.0003372945616102759 -0.00023162287273889438 0 0 0 -4.00338660319762e-05 +2193 -0.00041719789522371765 -0.00020676652158007838 0 0 0 4.640966603983758e-05 +9537 -0.0002369129025269628 -0.00029317796504613647 0 0 0 6.88446930834452e-05 +5182 -0.0003289890950271116 0.0004111676723853838 0 0 0 -0.00033431892887440497 +4186 -0.0002888796668199577 0.00024289099187990075 0 0 0 0.00013057472983899428 +9252 -0.000464821490288458 -5.730725192076055e-05 0 0 0 -5.4687880812299745e-05 +5456 0.000322844194697355 -9.83627547652323e-05 0 0 0 -4.349218441478594e-05 +5730 -0.0003711719162902941 -4.526628235825347e-05 0 0 0 7.917350569576531e-05 +4825 0.00016613474200204227 -0.0008258128238360166 0 0 0 -0.000524870262125789 +2353 -0.0006374299774971803 -3.4633508704835775e-05 0 0 0 -5.078340001571138e-05 +2371 -0.0006353903603624556 -0.0003706376696865623 0 0 0 9.793329155410617e-05 +2395 -0.00041649531071042605 -4.492067553904468e-05 0 0 0 -0.00012666759289250585 +9605 -0.00042647578474207416 -0.00016762854499388177 0 0 0 -0.0005517759911910405 +2431 -0.0006365982725757747 -0.00010571854536912941 0 0 0 2.540083135012967e-05 +2465 -0.00026581083382761536 -0.00040153007354276686 0 0 0 9.160334963908359e-05 +2502 0.00012085262318868237 -0.0005495139488195638 0 0 0 0.00010396447715815341 +8622 -0.0001963485464260408 -0.0003834342093072193 0 0 0 0.00016172771626788427 +9534 0.0004188882411558964 7.279200913226403e-05 0 0 0 -0.00022382976388211307 +2548 -0.00035237135052564294 -0.00023232464039827624 0 0 0 7.488670620798082e-05 +2556 0.0005844594961576929 -0.0004921531923526665 0 0 0 -0.00010191552391082126 +9637 -0.0004458289386768893 -0.00020360581889188379 0 0 0 -6.620501427657415e-05 +9763 -0.0005191465812210024 -0.0005743419931266622 0 0 0 0.0004411182284475849 +2593 -0.0004155114478321194 -9.473419865416705e-05 0 0 0 -0.0002160504505631956 +2594 -3.690338613332578e-05 -0.0003953157628878941 0 0 0 0.00017073141546288648 +2608 0.0004901832893418311 -0.00042142512047630185 0 0 0 0.0007005808176059977 +2639 -0.0004448965419402054 -0.00015860809819834713 0 0 0 2.153497943804947e-05 +9439 -0.00032037427985386464 4.499943315706956e-05 0 0 0 0.00011671401419842495 +2751 -0.0004296834516224628 0.00016242554524431924 0 0 0 3.627198029892156e-05 +4924 0.00042644211560035787 -0.0005699825110463095 0 0 0 -0.0003187075348523904 +2699 -0.00032468741402798804 -0.0006908110270872264 0 0 0 -0.0005797505382916391 +2704 -0.0006128921827493817 -0.00012449458351477264 0 0 0 3.1212741373979206e-06 +2715 -0.00030419756416307094 -0.00023419673979456834 0 0 0 -0.00011305797247704603 +9192 -0.0002247692451999669 -0.0007576750989618559 0 0 0 6.693031306790443e-05 +1373 0.00022461273462931431 -0.0003955567533013051 0 0 0 0.00011074895877107043 +9631 -0.000978687358687389 -0.0006629278387995891 0 0 0 -0.0004955936955974594 +2732 0.0006786770530622435 -0.0003992794535389685 0 0 0 3.554822780153256e-05 +9404 -0.0005460111669771866 -0.0001272532889586703 0 0 0 4.118465657924772e-05 +8609 0.0001895305094445747 -0.0002661594310204702 0 0 0 -7.669952583030742e-05 +8822 -0.0006844964958317482 -0.0007241869507167006 0 0 0 -0.0014351106924483834 +2879 0.00010165459742641209 -0.0005360263715182864 0 0 0 -0.00014450064850242772 +3025 0.00032518641499473154 -0.00023159903208393265 0 0 0 -1.537264218492206e-05 +2888 -0.000566374640099475 -0.00012164162770007782 0 0 0 0.00010308860313136413 +7667 -0.000718425830077487 -0.0007061829272879591 0 0 0 0.0006187444536056101 +377 0.0002841901115793003 -0.0004968313143448794 0 0 0 -6.619566318751765e-05 +2940 -0.0002541584178301629 -0.0006581690242968277 0 0 0 -0.0001697342990747521 +9595 -0.0005094786658950523 -0.00016250037951462222 0 0 0 -4.250472065963408e-05 +403 -0.00035479639106561413 5.0239401175460586e-05 0 0 0 2.0264378575589904e-05 +2982 0.0002591184746934083 -0.0005527696525366582 0 0 0 -0.00013300608040091102 +2985 -0.0005831311719042752 -0.0005313684893331238 0 0 0 0.0007142286093950011 +3019 -0.0002557085901414839 -0.0011472974035056155 0 0 0 -0.00034114079589140836 +3026 -2.5351060252459392e-05 -0.00026486693187306 0 0 0 0.00032554145228840366 +8563 0.0003849610637347353 -0.0006856581576816649 0 0 0 -0.00027487418268112954 +3084 -0.00042672066277633426 -0.00043384513633935954 0 0 0 -6.499707937973603e-05 +3091 3.939205170783457e-05 -0.0009306350754116718 0 0 0 3.189916409756677e-06 +4139 9.962763413097859e-05 -1.710530785006656e-05 0 0 0 7.43307865318219e-05 +3116 -9.885954446337053e-05 -0.0009272674405748756 0 0 0 7.886906517724634e-05 +3145 -0.00042406719287605446 -0.0006342643797279578 0 0 0 0.0007526122435075448 +432 0.00037711862159687485 -0.0006663967602236882 0 0 0 -4.665147585031155e-05 +3147 -0.0004223282007635216 -0.000627579389572255 0 0 0 -0.000687579995540364 +8239 -0.0005916558169968594 -0.00026502394926505434 0 0 0 -0.00014505668294101788 +1547 -0.0004990978335582669 0.00017973937747127702 0 0 0 0.00011827056366568377 +3180 -0.0001563951084803389 -0.0004027610668576773 0 0 0 -0.00016070008822424548 +3224 -0.0002445078879837209 -0.0006993375044539855 0 0 0 3.747330100365541e-05 +3268 -0.00031410148230919823 -0.0005728075660176151 0 0 0 9.870653221213967e-06 +3273 -0.0004068702719415738 -8.92845338270707e-05 0 0 0 3.1128817079230926e-05 +3292 -0.00019120221821392487 -0.0003591641246163342 0 0 0 -4.0185886856304014e-05 +3531 0.000562736906134317 -0.0005983333536303439 0 0 0 5.768383078122167e-05 +3069 0.0006326631269914237 -0.0006016822824574308 0 0 0 -0.00018309665194638053 +6413 1.8830953560419364e-05 -0.00032994136317266007 0 0 0 0.000501848655904944 +3415 -0.0005138336944098345 8.103512913290465e-05 0 0 0 2.3732135940485027e-05 +3428 -0.00018640892378553797 -0.0008020536771796605 0 0 0 -2.948104584655939e-05 +3471 -0.0004561150916318839 -2.5876457514638155e-05 0 0 0 9.595298426422787e-05 +272 -0.0005271130563840535 -0.00014304619176161004 0 0 0 4.070153992931361e-06 +3485 -0.0002461977938953725 -0.0006822841436821085 0 0 0 -0.0003068016149429573 +2881 0.0008752993751692157 -0.0005677624804717222 0 0 0 0.0002226453886802786 +8689 0.00036963664545515255 -0.0004554254160509306 0 0 0 0.00045788632696961416 +3658 0.00045785111028531436 -0.00021528652965312304 0 0 0 -6.0145912089160805e-05 +3660 -0.00014125574285896606 -0.00036564612196013276 0 0 0 3.7100277893343937e-05 +3684 -0.00045723444472164714 -0.00014270419548772983 0 0 0 -2.6615385646848603e-07 +4053 -0.00036795642282314755 0.00023165138501634412 0 0 0 0.00037566296815527787 +8706 0.0003393081770595676 -0.0005125109322050369 0 0 0 -0.00032775682564749017 +3827 -0.00044438315029251174 -0.0001342969632056526 0 0 0 -1.1279735492931201e-06 +8604 0.00028432481364366733 0.0004868260058711565 0 0 0 -0.002121899416721902 +3916 -9.688712730804791e-06 -0.00023411316567536778 0 0 0 -0.00037409310203036645 +8440 -0.0006946866319882675 -0.0006684927732252186 0 0 0 -0.0006123298888729431 +3924 -0.0004493053471320413 -0.0004283788511493443 0 0 0 -2.731106677792822e-05 +3935 -0.00018530179592653217 -0.000828634418387661 0 0 0 -0.00021679931932140598 +1231 -0.000513773302275471 -0.00017572816478914562 0 0 0 -1.1056171036644535e-06 +8941 0.00038885376062264314 -0.0007148698032368256 0 0 0 -0.00011920945041248508 +4055 7.953340847884617e-05 -0.0003755207070978509 0 0 0 -0.00036464561954787554 +9083 -0.00026872685190514615 -0.0009589829939399718 0 0 0 0.00016797332711568794 +7287 0.0003299234961458281 -0.0002539146550188925 0 0 0 0.00010114318124787895 +9620 -0.0004259105608323022 2.1256365807878094e-06 0 0 0 -8.716563140282378e-05 +4127 -0.00020409275603853916 -0.0006731178644381881 0 0 0 -5.741026581554445e-06 +4135 -0.00035384539436538907 -0.0002494491365694686 0 0 0 -1.6152578317968564e-05 +4156 -0.0005587535190525291 -0.00012032807626586148 0 0 0 5.630622903595611e-05 +4164 -0.00030479936129125377 -0.0001458536710155326 0 0 0 -0.00019106771476196216 +3186 0.000621900785535995 -0.0004564520774963997 0 0 0 -2.9092338215204624e-05 +1634 -0.00030793191696862717 -5.683674624474974e-05 0 0 0 9.962016297186805e-05 +5726 0.00046811037760737494 5.37505388502417e-05 0 0 0 -0.00224011861961281 +1815 0.00028978581063017353 -0.00031209265525447354 0 0 0 -4.6946417548669876e-05 +4313 -0.00032654370011183254 -2.0379668464656643e-05 0 0 0 3.981584436528849e-05 +4317 -0.00013281861128328166 -0.0007180181132246034 0 0 0 0.00010284414171793538 +4346 -0.0006690969773570062 -0.00029418354500720457 0 0 0 0.00013428457280320388 +4358 -0.00046415823977112613 -0.00020009539408507963 0 0 0 0.00013392011939906932 +6845 0.00031774300076322347 -0.0007445610004775376 0 0 0 0.00013341583528796874 +4399 -0.0001883125024098417 -0.00010985470599735358 0 0 0 -2.1080823758378003e-05 +4425 -0.00026064416267128007 -0.00031358545020391404 0 0 0 -4.748564168030535e-05 +4459 -0.00013903508688122384 -0.0010905265216120431 0 0 0 -0.00040240457795131704 +4463 0.00020287331942899073 -0.00036842908334242083 0 0 0 0.0001473682808018442 +7391 0.0007257555802587911 -0.0005055351568456543 0 0 0 0.00010348206891596736 +7101 -0.0005309397484521285 4.766319010017153e-05 0 0 0 6.042915247254509e-05 +4575 0.00019511469768247012 -0.0008851715604478761 0 0 0 -7.243620243625937e-05 +5069 -0.00042929547502989417 -1.6483454656654452e-05 0 0 0 -2.669563126869371e-05 +4613 -0.00026832411856992364 -0.0009698419282150584 0 0 0 -3.096940639560043e-05 +4652 -0.00047652941688878055 -0.000178583314141267 0 0 0 5.555408082911202e-05 +7334 0.0008692710910599476 -0.0005078534622755171 0 0 0 4.518972414246607e-05 +4742 0.0003156532596192297 -0.0005626545464344452 0 0 0 0.00031983213050124727 +4779 -0.0005969409328505326 -7.083455173009791e-05 0 0 0 -6.958308185723228e-05 +9957 -0.0005676380627690261 -0.00020999216111428388 0 0 0 9.998396265800297e-06 +4791 -0.00010063721013596128 -0.0008335541241261723 0 0 0 0.0001555419989970886 +8570 -0.0002603420936258065 -0.00012146050952094778 0 0 0 -0.0003534897235607761 +4892 -0.0004297958991963806 1.4513967741164883e-06 0 0 0 4.593540844524388e-06 +2534 0.0008021983436427041 -0.00036984854071860296 0 0 0 -0.00021640197940778783 +9719 -0.00043485027626455304 5.140460377311499e-05 0 0 0 -1.7964411379398712e-05 +9206 -0.0005346008221860678 -0.00014942515710266916 0 0 0 -8.118429464867993e-05 +4978 -0.00043267652120568967 -0.00013320878471471321 0 0 0 8.184074654938976e-06 +3696 0.0003316986760011279 -0.00023652183452389425 0 0 0 3.248010389346514e-05 +5002 0.00017664311714095824 -0.0003172192730836798 0 0 0 -0.0005292962247304094 +5006 -0.0004267129864707253 -0.0004247893974207344 0 0 0 9.792597553483474e-05 +5016 -0.0005505116713246411 -0.00021198860476302729 0 0 0 0.0001233645645206842 +1672 0.0001645509293990623 2.438425493500247e-05 0 0 0 -0.00017696172761093215 +5098 -0.00044971892343380094 -0.00012266331024963418 0 0 0 3.0362457504880292e-05 +5132 -0.00040771708169101456 -0.00011953380657493348 0 0 0 6.789398948378022e-06 +5177 -0.0003324469857871412 5.536723253981987e-05 0 0 0 -1.784442515702116e-05 +2139 0.00022514383965889859 -0.0004061269803662533 0 0 0 -3.601712703349798e-05 +5186 -6.99421854759216e-05 -0.0009536684728300732 0 0 0 0.0002181126280165925 +3386 0.0007351059532778166 -0.0005675510429033458 0 0 0 -8.68876709565766e-05 +8909 -0.00027398586499413326 -0.0007349874328338699 0 0 0 4.0227649666716785e-05 +5252 -0.0005510223970989185 -0.00012145357968014265 0 0 0 -2.8283022073549613e-05 +5253 -0.0006318502674232576 -0.00015334208291746095 0 0 0 0.001399538634135613 +5279 0.0003254871904191412 8.21651183848765e-05 0 0 0 0.0001119227940003053 +3476 1.6801626413208624e-06 -9.359523865612844e-05 0 0 0 -3.6455630224432925e-05 +6327 9.512496102436685e-05 -0.0008957799345068826 0 0 0 -0.0003842984779158181 +766 0.000340416523419355 -0.0003364121588710272 0 0 0 6.371139581528979e-05 +7593 0.000560657792605458 -0.0005378999238418565 0 0 0 -0.00010345091025632399 +5387 -0.0004041439183190858 -0.00010974443429667866 0 0 0 -5.0097392876682296e-05 +5393 -0.00043278070718949735 6.83789421924482e-05 0 0 0 1.3493282534283762e-05 +5399 -0.00037076549338438104 -0.00018442968532029498 0 0 0 5.7556945264031785e-05 +5418 -0.0001850695325754916 -0.0009917908076010696 0 0 0 0.00011879813154210083 +5428 0.00039377159900834445 -0.00020439131122145616 0 0 0 -0.00029652224400105104 +9149 0.000901794764655291 -0.0005333092430374328 0 0 0 0.0002380161076673052 +176 -0.0004083015636250623 0.0001826355841179463 0 0 0 -6.44558190985861e-05 +118 -0.0004022904969125879 -4.969764858896899e-05 0 0 0 -2.374085850109998e-05 +5454 -0.0004854585478119496 -0.00014736234321658707 0 0 0 -5.6712851613539675e-06 +9375 0.00043641397970419887 -0.0004641069494730105 0 0 0 0.0004153689726067465 +5491 -0.00020379266035863749 0.00010016705729843675 0 0 0 0.00048213481391740787 +5504 -0.0005146023133660485 -0.00024881097583619524 0 0 0 0.00015377238228740916 +8997 -0.0004780083110384909 -0.0001582234720795265 0 0 0 7.896043192780934e-05 +5558 -0.00047836567037643743 -0.00013942710164566255 0 0 0 -5.6645999757992725e-05 +7711 0.000212195953196434 -0.0007439450244000035 0 0 0 -0.00013950039604325104 +5631 -3.1882454432973935e-05 -0.0004135219196949279 0 0 0 0.0005413188060981528 +5638 0.00018567019631652597 -0.0002537857126401944 0 0 0 -0.0003862461113759257 +5648 0.00027845457240200706 -0.0005389616106570276 0 0 0 0.00043013258735077057 +5656 -0.000437194100365929 1.0534305195140071e-05 0 0 0 6.489463817190118e-05 +596 0.0003323264690359721 -0.0006681629044624798 0 0 0 8.517295567468605e-05 +2365 0.00022657031499928232 -0.00079461062518366 0 0 0 0.00011531525179930064 +8438 -6.831672673185676e-05 -0.0002528320987925467 0 0 0 -0.0007363838639736672 +5770 -0.0006123657984701317 2.635405930089491e-05 0 0 0 3.489714507152464e-05 +5867 0.0003714695914619299 -0.00044979113987245103 0 0 0 -0.00038573547086396246 +9456 1.0081510514997129e-05 -0.000210103905768737 0 0 0 0.00036011151525829456 +5910 -0.0001395547282124776 -0.00037764359042737576 0 0 0 7.0410576777775965e-06 +5941 0.000777226872940751 -0.00042655217075629064 0 0 0 -0.0003891441823657578 +9797 -0.00016003868112411307 -0.0008268373152835057 0 0 0 0.000213142378292666 +5992 -0.00014059840006174686 -0.0010393349814627445 0 0 0 -0.0002583198739388164 +6031 -0.00021264922228810863 -0.0006788026176875405 0 0 0 -0.00029438272750062126 +4432 -0.0003511204873579906 5.618417543126312e-05 0 0 0 7.26644206607264e-05 +6114 -0.0003744645824964071 -0.0002894682459338912 0 0 0 4.891028773767506e-05 +1394 -0.000461980412961098 -4.132825485048151e-05 0 0 0 9.152042608742009e-05 +6154 0.00012860016445025412 -0.0009157452098342013 0 0 0 7.28228769904684e-05 +4423 0.00046003626246298606 -0.0005267886308445504 0 0 0 -7.971203503419872e-06 +6261 0.00032031782275734216 -0.0004639345941233685 0 0 0 -0.0010037610852544324 +6294 -0.00045789811833870785 1.140933576183181e-05 0 0 0 3.9224402161606726e-05 +6332 -0.0006601482700600697 1.4743804978222847e-05 0 0 0 0.00021750413027362084 +6339 0.000379984849061926 -0.0009194989405994125 0 0 0 0.0006932568252271867 +6347 0.00013746123627817987 -0.0007893795566751842 0 0 0 -0.00012595103028818162 +6354 -0.0005090002186893979 -5.228974602909907e-05 0 0 0 -0.0023796356804787915 +9863 -0.00020227179319978443 -0.0005929884173563188 0 0 0 -7.219426150624218e-05 +6754 0.0004116471893148183 -0.0007116737750066432 0 0 0 0.00011693162261562634 +925 -0.00011544585789351189 -0.0003667155422227223 0 0 0 -4.3661425810852664e-05 +3584 0.00034040792448536937 -0.00020490502016553324 0 0 0 -2.23041994399585e-05 +9426 -0.00035272491062700014 8.72539954918606e-06 0 0 0 -0.0001182523754006722 +6640 -0.0003930971334544384 -0.00018448961863891663 0 0 0 -1.0319666860291719e-05 +6643 -0.0005637796604175825 6.129318025749968e-05 0 0 0 0.00020969267525011 +8247 -0.00033585197480826977 -0.00015842456086604238 0 0 0 0.00010158075614415169 +6683 -0.00022812033301668227 -0.00026323844322483547 0 0 0 -0.00012207896106075766 +1264 0.00024984432675930217 -0.00043981896547484105 0 0 0 2.8735552626137576e-06 +8828 -1.4624037076086407e-05 -0.0007655550906995882 0 0 0 -2.1487045974945e-05 +6715 0.00043677631212037896 -0.00013705262602718284 0 0 0 -8.087014446804356e-05 +6735 -0.00024207908550058472 -0.0003879349849364945 0 0 0 -7.417770878892911e-05 +6804 -0.0004382697813011634 -0.00029715472526266643 0 0 0 -2.5289354960319097e-05 +8373 0.0004036598932803332 3.7880383336964666e-05 0 0 0 0.00010445583637445597 +6829 0.00023153198186031068 -0.00022221981499222646 0 0 0 0.0006634195651819275 +6835 -0.0002841819920838607 -0.00042401113603202334 0 0 0 -0.0002064488048617825 +2720 0.0004532147272546198 -0.00054624587346822 0 0 0 -0.00013452091898438984 +6855 -0.0004023391293758341 -0.00027360497925932434 0 0 0 -2.478633320552141e-05 +8817 0.0006206348890034119 -0.0003968292354477506 0 0 0 0.0005832193002018416 +6864 0.00036093471301187555 -0.0004790379166540392 0 0 0 0.0006798258881955613 +1203 0.00034195299641176215 -0.0003088743244976532 0 0 0 -5.4011566557562e-05 +4518 0.00023718333230707833 -0.0003776987195601456 0 0 0 -9.819757544824722e-05 +6881 -1.2421601836734991e-05 -0.0005057483852372452 0 0 0 0.00020792740105250008 +6902 -0.00045730282024066926 -0.00019964014400249806 0 0 0 0.00013086866962768823 +1836 -0.00042418082143747053 0.00011211044219740446 0 0 0 6.955741867285112e-05 +6924 0.0006472382758674834 -0.0003748376092053135 0 0 0 0.00012381988915716023 +2222 3.968781357787652e-05 -5.428674948133571e-05 0 0 0 -2.6849940352203755e-05 +8396 0.00026752418434346757 -0.0004174342785656628 0 0 0 0.0003272543796356279 +5907 -0.0009182682282283455 -0.0005264972878087825 0 0 0 -0.00044034029486973383 +6994 -0.0005205327382943189 -6.148555739450367e-05 0 0 0 -0.001306661778934405 +8985 0.00025664999097187803 -0.0006539914891222578 0 0 0 0.0006581646497576527 +7046 -0.0003130716437706773 -0.00040844521018975797 0 0 0 -0.00013652740862376729 +7049 0.00017300993144467043 -0.00028672510365816743 0 0 0 0.0006235354879861609 +7067 -0.00018316310719589595 -0.0008095106642474356 0 0 0 -0.00017340205313667848 +9611 -0.0002067505186991578 -0.0005766784179397484 0 0 0 -0.0005264719012920817 +7077 -0.00016836258336485151 -0.0009083999121343393 0 0 0 3.229830682950145e-05 +7090 -0.00042702076479124196 -0.001833866096679965 0 0 0 -0.0004211109378926986 +6882 -0.00034325915584264733 8.739094068734199e-05 0 0 0 -8.335796479951431e-05 +8743 -0.000311562430889488 -0.00010402678960830384 0 0 0 6.5961672032201966e-06 +5084 -0.0004806766349045559 -0.00014172923784994227 0 0 0 -0.0004318132087510151 +7126 -0.00042102604542021497 -0.0001256420584157923 0 0 0 5.0262831248411386e-05 +7127 -0.0004356348986773465 2.989475726953192e-05 0 0 0 7.46833133630874e-05 +7284 -0.0006505975411208965 -0.00015252216229908928 0 0 0 -0.00017164657867073824 +4259 0.00045122614971992634 -0.0005503621544993537 0 0 0 0.00014935326911048148 +5789 0.00038048327540398004 2.226953454091116e-05 0 0 0 0.00010952463629660993 +7422 -0.000388648933006765 -0.0004087944719735283 0 0 0 0.0001275568129985223 +5432 0.0002170382557420331 -0.0006017943454992115 0 0 0 -0.0005254809789240163 +7491 -0.00028387833978337407 -0.00044391071305371335 0 0 0 -2.9991006713712917e-05 +4378 -0.0003050336057881926 -2.437270451596206e-05 0 0 0 -6.132352215482764e-05 +7545 -0.000302578832059068 -0.0005050588882713129 0 0 0 -0.0003021907420093333 +7591 -1.559436782013791e-05 -0.000394620978642612 0 0 0 0.00029421283988809914 +9694 -0.0004900591687493899 -0.00013170113952088052 0 0 0 -5.076619228861962e-06 +7657 0.0005576500048161475 -0.0002937846634408999 0 0 0 0.0004427888525916803 +9138 0.00014700134037775288 -0.0009429812966363104 0 0 0 -0.00016146931819019584 +2341 -0.0003546325633544947 6.228086503268132e-05 0 0 0 -6.9652347756272e-05 +9358 -0.00017179117794177204 -0.0008474429753090614 0 0 0 4.789116036591924e-05 +7739 -0.00034085149887695 -0.000692793809803402 0 0 0 0.0006969616574783545 +7750 -0.0004296803538668441 -0.00014562434535277254 0 0 0 0.000457199507954499 +3387 -0.0003754821954313864 -9.453102303406825e-06 0 0 0 6.124237217526822e-05 +5502 0.0003766227039577979 -6.739377310636515e-05 0 0 0 1.6521975898555776e-05 +3911 0.00046338540501725955 -0.0005740924028254153 0 0 0 -3.1641099895161e-05 +9444 -0.00045069709541708755 -0.0002330052266282052 0 0 0 1.0951557037951209e-05 +7809 0.0007321079935488861 -0.0005064035311547752 0 0 0 -1.9927385679494977e-05 +7818 0.00014497965736827488 -0.0008798405316394191 0 0 0 0.0004958816829052188 +9695 -0.0002418666905133028 -7.694732346563536e-06 0 0 0 -0.00010529721999419547 +7806 -0.00015314472471003032 -0.00014151256056265236 0 0 0 0.0001632788660339825 +7848 0.000468030789961994 -0.00013122246256824647 0 0 0 -0.0001249946394796497 +7886 -0.0006203604946429718 -0.00017685991837011113 0 0 0 -0.0002055385219950493 +7950 0.00018228962104161863 -0.00028156739368005913 0 0 0 0.0006352843609583164 +9917 -0.0006000733841800132 -0.00010259343277315727 0 0 0 -0.001944397088914234 +7966 -0.0003934892698119401 -0.00016763678823544553 0 0 0 -0.0002489242444335152 +7983 -0.0005390740658330095 -3.482833773346129e-06 0 0 0 -8.297507976387205e-05 +7990 -0.0005353463023051121 0.00010680865624667423 0 0 0 -5.205475142804989e-05 +9176 0.0004552572315286761 -0.0003760018899671222 0 0 0 6.290847368034232e-05 +6133 0.00027024070204881794 -0.0003123956236181576 0 0 0 3.473712304706303e-05 +7564 -0.0006480259084588034 -0.0003247728674654809 0 0 0 1.630354487137367e-05 +8063 0.0002635302865390853 -0.0005422080331136071 0 0 0 -0.0007209689485758973 +9273 -0.0011108956980144021 -0.0007379008094735849 0 0 0 -0.0008421916968298516 +8118 -0.00023351124663946189 -0.0003857634119205573 0 0 0 5.554573537423228e-05 +8160 -0.0007071230510943626 -0.00031388666801703604 0 0 0 -0.00035189429686928615 +8185 -0.0003402405155922715 4.989275928132475e-05 0 0 0 -7.99510581026504e-07 +8210 -0.000485777818965408 8.447367502731064e-06 0 0 0 0.0010632088295120154 +8223 -0.0001637582600574805 -0.0008544200751539108 0 0 0 -0.00010473870361890115 +8238 -0.0003709586881389925 -0.00013809683765970022 0 0 0 3.116307665712827e-05 +4907 -0.000589057424178719 -0.00016380270987877588 0 0 0 -0.00039859755165276594 +5052 8.581629568909614e-05 -0.0001311116050482734 0 0 0 6.353118319995538e-05 +9621 0.0031588486650861148 -0.0014425403711781932 0 0 0 0.0006383119212075149 +8257 0.00031007977559155094 -0.0001988405119881353 0 0 0 -0.0007610448582344975 +8264 0.00028482408996337386 -0.00023640392282693278 0 0 0 0.0007437513718867397 +4765 0.000500224758819074 -0.00043125407663622786 0 0 0 1.9076277738755583e-05 +8323 1.3859348447870046e-05 -0.000630696908234931 0 0 0 -0.00020846531904117037 +7195 0.000331987613957267 -0.00023231698995498432 0 0 0 6.81960145737693e-05 +8598 -0.00041179956594780226 0.00023884837850378685 0 0 0 0.00020903358296740418 +6449 -0.0001951485951954261 0.0002950697967706942 0 0 0 8.711415284625529e-05 +8134 -0.00015842567412793237 5.148460165660225e-05 0 0 0 -4.6400349003501564e-05 +5330 -0.00042597667483424334 -9.812018410064105e-05 0 0 0 2.7794390797793166e-05 +1945 -0.00029931720216099054 0.0001737781006647682 0 0 0 -3.9922427206632396e-05 +7210 0.00018638696132686563 4.5204917121409764e-05 0 0 0 -0.00043926627030083207 +4238 -0.00024703109771641177 -4.44377718815847e-06 0 0 0 -4.783209286794317e-05 +7721 -0.0003403150390563648 4.4472291662473975e-05 0 0 0 -0.00012653973828193472 +7498 0.0005387700828682958 -0.0005456327855126279 0 0 0 -8.54663001952284e-05 +4414 -0.000589123238875047 -0.00020883034616039935 0 0 0 -2.8702201849160257e-05 +8352 0.0003809434070942536 2.2510651856228154e-05 0 0 0 -0.0001224028574794061 +49 0.0005611113094921496 -0.0004707631907301767 0 0 0 9.83087851760068e-06 +2722 0.0007793050047493575 -0.0005967260335684535 0 0 0 0.00014472732805127602 +1973 -0.0005709948733062082 -0.00019442687113358718 0 0 0 -1.319741316345478e-05 +881 -0.00038087667883173674 0.00021428558733563506 0 0 0 -2.947930845440307e-05 +9093 -0.0005178779072529911 -0.0001884892216498619 0 0 0 -1.6433424096349174e-05 +1351 -0.00026108805068525035 0.0002185416200762856 0 0 0 -0.00018596300300617512 +5441 -0.0005427811526642252 -0.0001798494330201478 0 0 0 7.115787648272229e-06 +2303 -0.0004920564812199116 -8.978231766886604e-05 0 0 0 1.2625314282530351e-05 +7340 -0.0011188155984978164 0.0011381799896881912 0 0 0 0.001798920793528004 +4890 0.0008796501163344213 -0.0006180288960472018 0 0 0 -0.00023526967067877153 +873 -0.0004307261960182538 -2.7483852432751838e-05 0 0 0 2.6156879976664258e-05 +1174 -0.000434836825933498 0.00030075530947997153 0 0 0 -0.00011363450150769269 +3633 0.00024156505049693257 -0.0005057478696074881 0 0 0 -0.00022430836462385896 +2683 -0.0002064459365754862 -4.7160150674936635e-05 0 0 0 0.00023237933907523383 +3400 -0.0005176791448500719 0.00024333924409953328 0 0 0 -0.00012766929441803077 +2905 -0.0005811726041295674 5.766587684545653e-05 0 0 0 7.467473934670788e-05 +5477 -0.00024414305463861676 -0.00011709765867882906 0 0 0 -2.2959111227946326e-05 +9181 -0.0005504215879131803 3.443858200630364e-05 0 0 0 8.784838324328071e-05 +2865 -0.0005622925147276991 -0.00017150743898883635 0 0 0 1.454944641305441e-05 +9706 -0.00039419979050936074 0.0001947884163334713 0 0 0 -0.0005650346367216914 +4598 -0.0005494374956988746 -0.00019018694332276494 0 0 0 -1.5374845711868753e-05 +249 0.0002029250974366295 -0.0002818369413741809 0 0 0 -1.4934434326755694e-05 +6873 -0.0005086597724512549 -0.0001529836850824441 0 0 0 -3.4200216041735353e-06 +3168 0.0003425932410532275 -0.00035803022836956296 0 0 0 -8.23107346783174e-05 +5014 -0.00046989628545709424 0.00010254090606236496 0 0 0 0.0002789403721901499 +8695 -0.0005214065289210793 -0.000174888334598801 0 0 0 4.866371331284148e-06 +3667 -0.0005067652815099299 -9.16789516093168e-05 0 0 0 2.951653475006944e-06 +9163 -0.00018675190044251772 -6.118726584395229e-05 0 0 0 -0.00010053236104971997 +6539 0.0001308500851830213 9.383866854537976e-05 0 0 0 0.0004712836517495428 +4247 -0.0005574001639924286 0.0001355956419661153 0 0 0 -4.831345662164217e-06 +9732 -0.00012285168485856997 -0.0003899683018058854 0 0 0 0.0009793661411852145 +4677 -0.0005403091650357033 -0.00014543202411385222 0 0 0 1.3938888927587868e-05 +4227 0.000173671618246162 5.030004684945455e-05 0 0 0 0.00036802390213739244 +7032 -0.0004824884939328635 -3.363534887103233e-05 0 0 0 -6.117439103228905e-05 +2728 -0.00028086034814047296 0.0001460249870236318 0 0 0 -7.300441173962996e-05 +5213 -0.00043349130038572534 -1.8539649662413275e-05 0 0 0 -3.756991392149863e-05 +3007 -0.0005687320982288239 -0.0001475203438095558 0 0 0 -1.4273467728431082e-05 +1478 0.00026640580505665247 -0.0004187912080827813 0 0 0 2.5663162307406235e-05 +2619 -0.00034073571173009456 3.8544412580687004e-05 0 0 0 2.1443807516100297e-05 +6771 -0.0005593429140911086 -0.00015316520353823323 0 0 0 -1.2080124032984624e-05 +2963 -0.00034487908292422546 0.00033745472073026166 0 0 0 0.00015977932499010693 +2179 -0.0005821262387215043 5.3415442338912206e-05 0 0 0 -9.47499302760584e-06 +8856 7.833376290464087e-05 -1.6653480469187597e-05 0 0 0 -0.00014694368520813423 +4231 -0.0004298448028002862 4.623472851785473e-05 0 0 0 3.819607691626745e-05 +373 -0.000217995926005495 -5.052236239320737e-05 0 0 0 -1.9458813531620917e-05 +2538 0.000292559381458886 -0.0002553071189542258 0 0 0 7.24750914078996e-05 +9311 0.0002879586598285026 -0.00022172211521271897 0 0 0 -2.641547459925251e-05 +1748 0.00030274721090833715 -0.0001707946652991371 0 0 0 9.16802520801689e-06 +8577 0.00036105494805000024 6.063636828924844e-05 0 0 0 -2.4600961882380785e-05 +4979 -0.0005975481882888791 5.468392085662047e-05 0 0 0 0.00013358282102319554 +4922 -0.0006174870484818988 1.3976145712945271e-06 0 0 0 6.380860715901767e-05 +8492 -0.0005507606006249217 5.793234432375187e-05 0 0 0 -3.071373711209856e-05 +4908 -0.0004937762375418928 -6.533382733627331e-05 0 0 0 -5.423413249017499e-06 +8332 -0.000742230157566699 -1.2840353934567627e-05 0 0 0 0.00022702363014567414 +8062 -0.0003356942753058082 9.628793392630194e-05 0 0 0 0.00011178214709258894 +31 0.0004033123127617784 -3.183296844077859e-05 0 0 0 9.96886440193343e-06 +5280 -0.0005518636558189109 -1.359234725838222e-05 0 0 0 4.311727896731841e-05 +1158 -0.00047586767004183434 4.335211207609703e-05 0 0 0 1.4088286536796109e-05 +6066 0.0003137024070782085 -0.0002417975786673775 0 0 0 2.2749859054153484e-05 +2895 -0.0006064204527342447 5.3753512545218736e-05 0 0 0 6.142942809284035e-05 +8250 0.0008835986509892863 -0.0005408213789795235 0 0 0 0.0003225096634978387 +4356 -0.00018100638234656578 0.00038760380120492297 0 0 0 -0.00016078707717807116 +8923 -0.0005985016212820539 -5.165192562963714e-06 0 0 0 5.6595346745386204e-05 +2894 3.923292587279789e-05 7.640095525331736e-06 0 0 0 2.542904519284062e-05 +9952 -0.0006343379857388574 6.616623042326484e-05 0 0 0 6.3237871820391e-05 +7825 0.00024181941215832429 -0.00026225284760572046 0 0 0 -7.080413975794446e-05 +4778 -0.0001005297054907568 0.0003272021520153393 0 0 0 -1.6541250849154467e-05 +30 -0.00030554151206135214 0.00036246207818378293 0 0 0 -1.0477535944478696e-05 +64 0.0004524977561435315 0.00034174752269720403 0 0 0 -1.0311067876250571e-05 +65 -0.0004566824897102096 0.00016787426640707773 0 0 0 -1.5934355842042617e-05 +74 -0.00024734393850627386 1.6707367621561276e-05 0 0 0 5.269952498983065e-05 +79 0.0003825198546677032 0.0003167504704157288 0 0 0 3.441288007147332e-05 +95 0.0006477422122885892 0.0003442061606156811 0 0 0 -1.4496626887183502e-05 +7887 0.001689786455058676 -0.0017398294315216934 0 0 0 0.00046394708646543657 +144 -0.0004979478564551168 -2.2033212219847575e-06 0 0 0 8.613891417557854e-06 +162 0.0002415390600477057 0.00029712641729753164 0 0 0 -1.5102289957681557e-05 +1578 0.0007253581551241978 0.0003353648121906517 0 0 0 1.4648318377393987e-05 +225 0.00014239996825754305 0.00023755024781313847 0 0 0 5.970783525313844e-06 +253 0.00028879801651053355 0.00031012812312191307 0 0 0 1.6276932935383475e-05 +3777 0.0008193354107229506 0.00024776293489635283 0 0 0 -3.885082018265331e-05 +302 0.0002011682465053322 -2.5745806335602307e-05 0 0 0 3.656968811540266e-05 +311 0.00045152047608353177 0.0003880050413532016 0 0 0 6.161454674986558e-06 +2421 6.932739261062453e-05 0.0003574015005850184 0 0 0 -0.00013501923598147636 +367 -0.0005120291601879709 -3.291121560535779e-05 0 0 0 1.5602579830665528e-05 +35 0.0002022732733867677 -0.0004671334549400515 0 0 0 8.196221606877032e-05 +6599 0.0002066414828605135 0.00011513825774704501 0 0 0 -4.946228765028318e-05 +415 -0.000390804768774024 6.19320209644882e-05 0 0 0 1.6790992863141715e-05 +445 -4.379609288238428e-05 0.00044900911237901413 0 0 0 3.399315889163592e-05 +7581 -0.0002119011516246116 -0.00022382644139347702 0 0 0 -0.0003485083497356897 +474 0.000279658102561272 4.851743623067783e-05 0 0 0 1.0558056756280422e-05 +479 0.00029167009308955717 0.000251870235290122 0 0 0 -1.5548559382742384e-05 +541 0.0002820580911280729 -4.099465615077738e-05 0 0 0 -6.490727536379913e-05 +5085 0.0002563731090408629 1.47701544407175e-05 0 0 0 0.00017474908481706074 +545 -0.0004514369466592823 -2.0220462642965763e-05 0 0 0 8.346365501964079e-06 +548 8.595056783085852e-05 0.00043120207176026277 0 0 0 -0.0003085245599904014 +576 0.0007866652315104888 4.843646036998678e-05 0 0 0 -4.8942845968848386e-05 +590 -0.00024312805322089176 0.00013973414525791372 0 0 0 -1.855440412916723e-05 +661 0.0006990191916794736 0.00018177402649594433 0 0 0 -4.2959167824440786e-05 +684 -0.00021336514565400587 0.0003723186216032697 0 0 0 -5.633649382748488e-05 +689 0.0005308751540952432 -0.0001886645789292298 0 0 0 -1.953784130451281e-05 +702 0.0005466529985340662 0.00022059392302240126 0 0 0 -3.350689657074486e-05 +706 0.0004817645384882224 0.0002519264013902779 0 0 0 -4.493980551987849e-05 +730 0.0004162603131712995 6.980350887677696e-05 0 0 0 4.823005282428007e-06 +755 0.0004400294145209158 2.494201141415639e-05 0 0 0 -3.673836103894809e-05 +758 -0.00039708669141664404 2.4946667215393203e-05 0 0 0 -8.296284278463663e-05 +778 6.415849627294459e-05 0.00020881954351358815 0 0 0 -9.416831331792726e-05 +831 0.0006391963509505027 6.77059746144717e-05 0 0 0 -3.247230194106596e-06 +5669 0.0002727042095198075 2.636677435263704e-05 0 0 0 -0.0008830170680845593 +870 -6.231772564827964e-05 0.0002482074779293369 0 0 0 -2.6888878897551255e-05 +2044 -3.023174243456017e-05 -2.7164496769629886e-07 0 0 0 -0.0004956998608458733 +752 0.00030050986944122883 -0.00036006854141256263 0 0 0 1.1198308293152243e-06 +902 -0.00015267283478579403 0.0005152882493345105 0 0 0 -9.978072123184352e-05 +903 4.8204304834883865e-05 -0.00038655550484791186 0 0 0 2.4524554260268105e-05 +906 -0.0005702910000913126 0.0001843576002714784 0 0 0 3.068563414216952e-05 +9304 4.774305974366831e-05 3.700539064275387e-05 0 0 0 -0.0004184985419632964 +930 0.0005819247957186052 7.125716877137182e-05 0 0 0 -3.2059838681298244e-05 +958 0.00013595700064709563 0.0001761974692372059 0 0 0 3.2221836062888004e-05 +972 0.0004593136729668007 0.00012492423109556795 0 0 0 -3.272038922004521e-05 +993 0.00018538210546796278 0.00027929454353443965 0 0 0 8.23967656356111e-05 +1010 0.0005738154248891268 0.0003676427800209652 0 0 0 2.382674743939006e-07 +1023 0.00023504874817636308 9.309984324585245e-05 0 0 0 -2.2932735452194123e-05 +1033 -0.0003362700622414309 0.0002203649612983916 0 0 0 9.20236610208651e-05 +1039 -0.0003643139073102972 6.886399731187025e-05 0 0 0 -1.2668092644492231e-05 +1041 0.0006626360403132901 -2.3984525048434437e-05 0 0 0 -2.832925158923123e-05 +1065 -0.00026740284136612995 9.206929873541363e-05 0 0 0 9.717494734994739e-05 +4985 0.0004291970098800742 -6.94511209136195e-05 0 0 0 -0.0004278473432435846 +1082 -0.0004562084873964488 3.0427883986075903e-05 0 0 0 3.812389162750237e-05 +1101 -0.0005396532172764842 -8.283131034413946e-05 0 0 0 3.08274792391942e-05 +1140 0.0006200113248698946 -6.022609154201994e-05 0 0 0 -7.273797375818653e-05 +7468 0.0002536139381672078 -0.00045405214310963816 0 0 0 -0.0010957585854900521 +1192 -5.62127327503642e-05 0.00025029786054509934 0 0 0 6.518404707122594e-05 +1214 -0.000529915373981969 -4.728825212161707e-05 0 0 0 2.47152187986893e-05 +1221 -0.0004226022262197454 2.14229809101673e-05 0 0 0 2.412940713843732e-05 +5464 0.0006943817157988513 0.0003698004698529225 0 0 0 3.81878111546687e-05 +1252 -0.0005060167020757778 -3.543439345421532e-05 0 0 0 -3.21338299714924e-05 +1278 -0.0005579550103032217 2.1547828423739044e-05 0 0 0 -1.975116201197527e-05 +1279 -0.0002358435321519455 0.0003828531436086596 0 0 0 0.00010847930933664411 +1326 0.000338181053522252 0.00011115014639166003 0 0 0 -6.58768707038751e-05 +3495 -0.00020302299159802003 0.00039847546778919667 0 0 0 0.00018695290277858154 +1392 0.00020158216407158386 0.0002471637605474056 0 0 0 -0.00019153208529384868 +2688 0.00038827218100225854 -0.00016121803485933298 0 0 0 0.0002681367158904761 +1420 -4.276951773157536e-05 0.00031091243172341645 0 0 0 -0.0003315066656299928 +1458 -1.7699291960873295e-05 0.0002449359187618587 0 0 0 -3.091056089594267e-05 +1460 0.000593453592230594 0.0003854082168751716 0 0 0 1.9036260506193826e-06 +1483 -0.00015712761837449426 0.00017375594225963194 0 0 0 7.323125112922949e-05 +1516 0.0006526730889491614 -1.6063399805013252e-05 0 0 0 -1.4335130514626846e-05 +1523 0.0005231858297479199 0.0004017450614229498 0 0 0 2.4101294452058224e-05 +1544 0.00039978533623952493 7.96509517221406e-09 0 0 0 -0.00025139987578528096 +9842 -0.0007170088058089338 0.0001932134044941522 0 0 0 -0.0004439481476589839 +1601 -0.00041070140904029943 0.000323617703429888 0 0 0 7.842342017869185e-05 +1625 -0.0003820906780429818 0.00025039371334505936 0 0 0 0.0001553721667885816 +1639 -0.0003669706501753367 0.0002940778472995694 0 0 0 8.338696995825968e-05 +1665 -0.0003621750950506709 0.00019943896736277725 0 0 0 1.6975922786398464e-05 +1669 -0.00033905288171881304 8.214015752948266e-05 0 0 0 4.023903807820703e-05 +1699 -0.00014061108450497738 0.0002364374513116576 0 0 0 3.2779887571952566e-05 +1738 0.0007446954512587942 4.986733183458982e-05 0 0 0 2.2770725914460003e-05 +1783 1.5383876590841203e-05 0.0003201146156772629 0 0 0 -2.2480014710671573e-05 +1785 -0.00032145984209459584 0.00021143220058600172 0 0 0 5.672536876253047e-05 +1808 0.00023661918821231472 0.00016170531859007085 0 0 0 -0.0001034857599728747 +1819 0.0004605754552533183 -9.03524137614337e-05 0 0 0 0.00011950326880456159 +1882 0.00035360370342384 9.182975465235773e-05 0 0 0 1.7862651819205804e-05 +1900 0.0005549866651244373 0.00031255506948561264 0 0 0 3.4004335031319434e-05 +1906 0.0006891103842400416 0.00039284617231499704 0 0 0 -1.740784843991689e-05 +1920 -0.00047861682183026504 4.835717505129638e-05 0 0 0 3.825464895863187e-05 +4255 0.000364726920974953 -0.0002245873615760081 0 0 0 0.00016328355743351104 +1948 0.00063709221437255 0.00015734482499785564 0 0 0 -7.981601307583966e-05 +1960 0.0006422157214090691 0.00021815645352519613 0 0 0 4.2499716565043325e-05 +1982 0.0005254944064430652 0.0003910206520472674 0 0 0 -2.2667829308003815e-05 +1997 -0.0002384500567725787 9.694800975280903e-05 0 0 0 2.123595725143476e-05 +2041 -2.5516359406277737e-05 0.00029252451591529535 0 0 0 2.569123230652144e-05 +2047 0.0002632150038040032 9.049147956239741e-05 0 0 0 7.438258482606032e-05 +460 0.00015736101797629917 -0.0004360277321989227 0 0 0 1.0841286856648959e-05 +9891 -0.0004805453576516492 0.00019464340284826385 0 0 0 -3.248417364364517e-05 +2146 0.0005345823311273974 0.00010631330953767609 0 0 0 2.3900598069638577e-06 +2168 0.000813112200586534 7.817765778851458e-05 0 0 0 -3.1711271326534205e-06 +2180 0.00021991907036975235 4.608322556925825e-05 0 0 0 -5.11628128009014e-05 +2191 0.0004865865087604918 0.00017496164067017046 0 0 0 -2.9126434879474898e-05 +2192 -0.0004980594864306635 -6.398498966272402e-05 0 0 0 2.996896264829968e-05 +2196 -0.00025123308218554365 0.0006328385247475748 0 0 0 -0.0004943332962939054 +2204 0.0005695368540769891 0.00012644957105175888 0 0 0 -1.434845004381855e-05 +2236 0.0007632565582284213 4.899538392730688e-05 0 0 0 -0.00012711812581888551 +2251 0.0006984873903496646 -8.93786702625045e-06 0 0 0 -2.9551837473964043e-05 +3636 -0.00014499361680347968 -0.0003285787542091499 0 0 0 -0.0003984105551026547 +2278 3.865159817871685e-05 0.0003390065152048275 0 0 0 -2.2266165481308147e-05 +2287 3.4940024539614163e-05 0.0002658807228320334 0 0 0 -2.4210815039961645e-05 +2289 0.0002822902894761204 0.0002303137748381802 0 0 0 -7.860916734157718e-05 +4327 -0.0006090766961678123 0.0002887006870719478 0 0 0 0.00020464049059481983 +2375 0.00041062475586937675 0.0002267344193161279 0 0 0 4.670511683332392e-05 +2401 -0.0004244693165110815 3.204715966698231e-05 0 0 0 -0.00010065802947936507 +2407 0.00045103938877162793 0.00024585920390185164 0 0 0 1.864646112811896e-05 +2409 -4.580181173194796e-06 0.00026119834760223473 0 0 0 1.5589716643643092e-06 +2412 -0.00017039341081192592 1.3982182987458839e-05 0 0 0 -0.0001315792905267276 +2417 -0.00021376350927954416 0.0008629202345296554 0 0 0 0.00036451584059060986 +2425 0.0005356974337597551 6.609300671193303e-05 0 0 0 -4.912420622667326e-05 +2436 -0.0001775419215773536 0.00034122723077905065 0 0 0 9.379693012760565e-05 +2440 5.82013444798887e-06 0.0005345749827404599 0 0 0 5.0903862340111486e-05 +2473 -0.00040817812893005953 6.90699296588975e-05 0 0 0 5.083551282352494e-06 +2481 -0.0005426514026304007 -1.6800667339562793e-05 0 0 0 9.590430251554924e-05 +2530 -9.014699531540141e-05 0.0004391299274948658 0 0 0 7.79623374164652e-05 +2531 -0.00017760207033771692 0.0003470969808462152 0 0 0 -0.00035401928660038276 +2537 0.00043515777463269445 1.0193614851471785e-05 0 0 0 -0.00016261259282926354 +847 -6.178326147896132e-06 0.0006142445244735711 0 0 0 0.00012732280641683522 +2544 0.000394170662088665 0.00038841647596208945 0 0 0 -6.500475450584505e-05 +9430 0.0002031801454154294 0.0004078791955660885 0 0 0 0.00039354781813831757 +2617 4.199690863601498e-06 0.0003069279686164624 0 0 0 0.00042063231622310894 +2625 -0.0005004043738911816 -5.302879555164506e-05 0 0 0 -2.8367607308365433e-05 +2657 5.808834373674861e-05 0.00049884045407808 0 0 0 0.00016391026107936962 +2706 0.0007662055477765901 -8.083888127653555e-06 0 0 0 -7.512910403927056e-05 +4003 -0.0007658232023960566 0.0003408660749457121 0 0 0 -0.0002659460194931791 +2755 0.000600966680028857 8.526499283334561e-05 0 0 0 -1.930740197790168e-05 +2779 -0.00041947466679989354 0.00010532789124583705 0 0 0 5.331185178494568e-05 +2781 0.0008140630719765935 1.015980893209253e-05 0 0 0 -9.512888464605549e-08 +5248 -2.7623957659024e-05 0.0003276058477991861 0 0 0 -9.506954357134659e-05 +2795 0.0006198504857988572 0.00020248952419512836 0 0 0 7.313462581346121e-05 +2702 -0.00010039006798069755 -0.0004342353703045472 0 0 0 -0.0007450847534121273 +2804 -0.00030260567321009326 0.0003692385581321937 0 0 0 -4.404803500276792e-05 +2828 0.0006285146247350104 0.00041064953513513414 0 0 0 1.733650178106186e-05 +2842 0.0004965008161593563 0.0003775065075918168 0 0 0 -4.488950197429095e-05 +2848 -0.000321629357494419 -8.242401894904175e-05 0 0 0 -0.00018168807756855358 +7881 -3.593902826147157e-05 0.00031479482600045686 0 0 0 0.00042385020563884366 +2897 0.00033065492817217876 0.00027628812963646017 0 0 0 -6.606224067192619e-05 +2909 -7.74080469871265e-05 0.0004770841133717695 0 0 0 -6.786507337993515e-05 +2910 6.9018118546185e-05 0.00033116668784367127 0 0 0 -4.415428146820421e-05 +2927 0.0008560049157857713 4.004696115890295e-05 0 0 0 1.3165989614063251e-05 +2934 -0.00041463513020762534 9.998999387514879e-05 0 0 0 4.665612801085878e-06 +2938 0.00010997035158618701 0.00033642912331351875 0 0 0 -0.0002935616336823496 +2948 4.132985038197978e-06 0.00039299983746405047 0 0 0 -0.00016196798681184806 +8113 0.0003192037610407609 5.018659314186126e-05 0 0 0 -8.119951251322807e-05 +2976 0.0004528235503338042 0.0004092483657496362 0 0 0 4.00994411229377e-06 +2994 0.00021494817592737628 0.0002802177675801693 0 0 0 -3.7387143852960054e-05 +3001 0.000864358635174394 5.966761322242012e-05 0 0 0 -3.189151943111155e-05 +4027 -0.0005489651500457649 -0.00011706743829367392 0 0 0 -9.723122903458823e-06 +3030 0.0006426052101334556 0.00023064905066549904 0 0 0 2.4136696140815393e-05 +3132 0.0003348982418713902 0.0003794019737819242 0 0 0 1.32566687057542e-05 +3134 -0.00044064592103156355 -2.1886304266262637e-05 0 0 0 4.533551804727551e-05 +3139 0.00021745928972456599 0.00039540575383936657 0 0 0 6.283007076851565e-05 +3192 0.00027694399479574066 0.00015780511951554745 0 0 0 -5.663015765316352e-05 +3216 0.00011473398699316047 0.000147396516867409 0 0 0 -0.00038976315452512555 +3264 -6.390671313112119e-07 0.0004963229289887042 0 0 0 -6.644743205404103e-05 +3290 -0.00019690462026924398 -1.1986034798704019e-05 0 0 0 0.0005557528685552787 +3294 0.0005036422553069575 0.00039924070046290614 0 0 0 4.0263088337705813e-05 +3306 0.00041322953961832955 0.00012037339853894023 0 0 0 1.7015642281823313e-05 +3311 -0.0003568381129744588 -0.00013573443307186264 0 0 0 0.00020725028426898094 +3313 0.0005030309161920672 0.00038614209371902675 0 0 0 -9.991124265072971e-06 +3340 -6.757593623975157e-05 0.0005685356831267403 0 0 0 0.00026071478937151243 +3359 -0.00021746252601957504 0.00038583385828282684 0 0 0 6.839730378083113e-05 +4398 -0.00041286650451193187 0.0011826972586092093 0 0 0 -6.220216773015363e-05 +3405 0.00043142723614615923 0.00022940967977034955 0 0 0 -3.8553624404317234e-05 +3435 0.0009649545612148941 6.016550404607866e-05 0 0 0 -9.658993594345073e-05 +3447 0.0008495547965383064 -0.00010157556932107081 0 0 0 -8.012477185982822e-05 +3449 0.00015125496196062712 -0.001174089866846702 0 0 0 0.00020446959540832465 +3469 -2.5449103212838984e-06 0.00047672024597577824 0 0 0 5.5027231683730035e-05 +3487 -0.0003548335470915311 0.00018374467228589005 0 0 0 -6.987522302871727e-05 +4080 0.0003715499157555255 4.9247767875287794e-05 0 0 0 -7.498191001024087e-06 +3536 0.0004325678498140465 0.00023142724632872145 0 0 0 -6.245056533854979e-05 +1001 0.0003639673531197407 0.0003371378715877182 0 0 0 7.383218945810339e-06 +3577 0.0005236498333214628 0.0003423140897701937 0 0 0 -3.0422552798587367e-05 +3615 0.00036931410284310175 0.00023101538456876184 0 0 0 -1.3190920268161718e-05 +3652 0.0008941071753579004 -6.336309812212164e-05 0 0 0 -5.4697375709801996e-05 +9387 -0.00022933552608772498 0.00017037757940654535 0 0 0 -0.001260421780754293 +3676 8.796080444245378e-05 0.00025083106934494604 0 0 0 -5.527932372216428e-05 +3707 -0.00020028709719552631 0.00022726829356622207 0 0 0 -0.00015427270552076646 +4301 0.0014363876134887118 -0.0012778843875477887 0 0 0 -0.00017790177345532732 +9980 -0.00037905952730911906 -0.0002574710307127445 0 0 0 -0.0003696194906939171 +3782 0.00043301714561133414 0.0002833945057238406 0 0 0 -0.00019526482550779502 +3844 0.0004940971188411173 0.00040264108582046914 0 0 0 -5.494388192549106e-06 +3923 -0.00038369595763236813 0.00019972163860098024 0 0 0 -0.00017990233030140614 +3932 6.24566261560267e-05 0.0001854900139088924 0 0 0 -0.0001469416806063571 +3937 -0.00042229519299183816 0.0002128423888218829 0 0 0 8.91782021287481e-05 +3967 0.0006893475834384247 6.166921296523438e-05 0 0 0 1.683417545054965e-05 +3992 0.00024971165880335807 8.592494703622886e-05 0 0 0 4.4350822107885274e-05 +3996 0.0005552156844629059 0.00019359524944662502 0 0 0 -6.496587507102313e-06 +2453 -5.209901193929012e-05 -0.0003427651344716515 0 0 0 0.0002868512968137164 +719 0.0002510812334329575 -0.0002447659706140212 0 0 0 4.695480132631839e-05 +4010 -0.00040032305546764535 0.0002729680588875349 0 0 0 3.664646474563542e-05 +4012 0.0006963393448911066 4.380419414010616e-06 0 0 0 -3.3247656930267626e-05 +3043 4.902038823685633e-05 -0.0003259146348115059 0 0 0 -7.872691741370652e-05 +1921 -0.0001522768727666386 -0.0003641136667618311 0 0 0 4.156984446245476e-05 +4035 -0.00021486984541429097 0.0002766366448658971 0 0 0 9.77034616269361e-05 +850 0.00031011629729583024 0.00013044916803201786 0 0 0 5.380236974126505e-05 +4074 -0.00031390063424164275 0.0001119274413519439 0 0 0 -3.2937875986956224e-05 +4079 0.00015561293314044755 -0.0001617788288045662 0 0 0 0.00024757099721662635 +4092 0.0005120575731854855 0.00042251823595733774 0 0 0 2.163860719514524e-05 +4117 -0.00040972166091935786 2.5371791362585462e-05 0 0 0 3.912287791227514e-06 +4151 -0.0005055046648898418 -4.136398814756023e-05 0 0 0 4.977876011498298e-05 +7804 0.00037765240310987574 7.748729168695554e-05 0 0 0 -0.0002123179374085118 +2076 0.00021074731266584106 0.0007053204492596852 0 0 0 0.00013822226661097298 +4203 4.029511183478537e-05 0.0004128803232376486 0 0 0 -3.15909942601698e-05 +4225 -0.0002727809310654841 0.0006690354459281429 0 0 0 9.797557555743714e-06 +4235 0.00043225980250354576 0.000268660950410824 0 0 0 1.2192644674815163e-05 +8951 0.0004014402040854199 -0.00015472650271655292 0 0 0 -1.4191353698056075e-05 +4253 0.00024160171684418826 0.0002688328184550137 0 0 0 7.002153027197859e-05 +4260 0.00026360945828109796 0.0008605271456379955 0 0 0 0.0002937575031079051 +9555 -0.00035763248555859017 -0.00012059273221121051 0 0 0 -0.00018150734408374063 +643 6.608461622434723e-06 0.00022587975956739676 0 0 0 7.175803809939519e-06 +1153 0.00022055995385742165 -3.55699436333759e-05 0 0 0 9.1154955477619e-05 +4336 -6.69224356553792e-05 0.00020133880086267708 0 0 0 -1.2400953165244144e-05 +5051 0.0001728643681749524 -0.00037359065894164255 0 0 0 -0.0002935905481397399 +4357 0.0006317294592762769 -0.00010225042680369585 0 0 0 -9.286029996518187e-05 +5964 -4.1100436375102925e-05 0.00026106637234207233 0 0 0 -0.0005583841110211597 +4392 -0.00023761299863224293 0.0007983803164569636 0 0 0 0.00031244129935367726 +4396 -0.0002593249064254871 6.216328618934849e-05 0 0 0 -0.00018008793251746497 +6727 0.00037034114781167457 0.00041416145265956556 0 0 0 -2.6832383314919417e-06 +9005 -0.0002486636456810048 -0.00035528902132732706 0 0 0 -0.00048820690566502874 +4429 0.0005811696176530599 0.00027569933206487084 0 0 0 -0.00012051311860967573 +5215 -0.0003514568448834566 -4.56704435879342e-05 0 0 0 0.00010101958653870709 +5055 0.00037300715619900795 -0.00012784374732694462 0 0 0 -0.00042626567901708903 +4466 0.0006570453774392184 0.00025833194385003127 0 0 0 -8.72081382859388e-05 +4470 -0.0005295343579067367 2.1878511678671557e-06 0 0 0 5.348213893272544e-05 +4477 0.00046965036628583695 -0.0001617475733505062 0 0 0 -0.00013940306607868123 +2255 -0.0002141465773183034 0.00030632348424104977 0 0 0 6.480522186198061e-06 +4524 0.0004079360893730233 -8.095649041228014e-05 0 0 0 -0.0004133641144093085 +4542 0.0006555981906388097 -5.2674096197696426e-05 0 0 0 -8.701988270018072e-05 +4547 -0.00036601479794734693 0.0004551073590381188 0 0 0 0.00029356200359707027 +4552 0.00010941256181864388 0.00027573148436485766 0 0 0 -5.199083458910939e-05 +4553 0.0001235627667382364 0.000186919597638751 0 0 0 8.299617487555574e-05 +3799 3.4137033247350404e-05 -0.00045260266498544895 0 0 0 -5.790934311532145e-05 +4599 -0.0004526642974987397 0.0005483285973229081 0 0 0 -0.0005225612882853721 +4626 0.0006706708763563944 0.0002193818872412958 0 0 0 -5.1096114756418716e-05 +4196 -0.0008500959901675569 0.0006190018021402905 0 0 0 8.036831945096796e-06 +4686 8.728869183194099e-05 0.0004624049811404944 0 0 0 -7.102353733066546e-05 +4702 -0.00021611865085467225 0.00011482265327817757 0 0 0 8.004492519236218e-05 +4716 -0.0005020142703576483 -4.6339685592576246e-05 0 0 0 -3.325440044670632e-05 +4739 0.000781174977894133 3.216870447070762e-05 0 0 0 -1.4057316705532699e-05 +4748 -0.00042665565804974524 0.0001485244625782354 0 0 0 8.742308698306216e-07 +9982 0.00017179270974884676 0.00025121214705012664 0 0 0 -7.146290955540753e-06 +1424 6.308173567977642e-05 0.0004522054259655566 0 0 0 -0.00021616541665721984 +4807 -0.0002183046795906903 0.0004814883251378584 0 0 0 0.00037657897430249347 +4842 4.749592982062092e-05 0.00043536451056877025 0 0 0 3.617964175716933e-05 +8016 -0.00043732589023244073 0.0012165072243457851 0 0 0 0.0013801659235969021 +4876 0.00033926259591537375 0.0002563214977226519 0 0 0 -1.0131398945307286e-05 +4905 0.00010769672894501937 0.0003560112719242532 0 0 0 2.1681924400374604e-05 +4853 -0.0001569268725788406 0.00013989026375336923 0 0 0 -0.0006194108083569358 +1181 0.00030855591537697844 -0.00012890050800696038 0 0 0 0.00020776675341749464 +4912 0.0007115607923522731 0.00013203000705944195 0 0 0 0.00010075817334957806 +4921 -0.0003979098931270592 2.8208474852424185e-05 0 0 0 -4.709344674170955e-05 +4954 -0.00020640546493889828 0.00036368799616024784 0 0 0 -0.00036106324411483003 +4976 0.0003663302418750463 0.0002809175231512051 0 0 0 -8.479175918675947e-05 +4981 -0.00031749779659956753 0.00011651375505882147 0 0 0 -5.0193670764080976e-05 +4986 -0.0002723509859024899 0.00011114461892676377 0 0 0 -0.00011113366664138551 +4993 -0.0005267262985370853 0.00038984503135097633 0 0 0 9.099993293310276e-05 +4997 -0.0005176535856593169 -4.382535810562113e-06 0 0 0 1.7266032464222578e-05 +5005 0.0005170150100049763 0.0004513480819550751 0 0 0 8.62982527743367e-06 +8195 0.0009127323141497208 2.3268622965768812e-05 0 0 0 -2.8380470725687294e-05 +5017 -0.0002372715764305074 0.00017700481847126163 0 0 0 -5.003438086161205e-05 +5031 0.00016482144015762682 0.0005037287571395157 0 0 0 0.0007263455021475997 +5032 -0.0005338895043719546 -7.991568942449306e-05 0 0 0 8.187034587666407e-05 +5045 0.00043212196696490294 0.00020257938732223357 0 0 0 3.267640849061424e-05 +5057 -2.7850201817622102e-05 0.00012834947064098158 0 0 0 -1.9185283568030714e-05 +5079 -3.281795380549369e-05 0.00026468424443618186 0 0 0 -8.354684953086132e-05 +7344 4.5055073892297556e-05 0.0006270645056220793 0 0 0 -0.001149247176382692 +5130 -0.00032632949148249276 0.00019057236182449695 0 0 0 -0.00013863419874525642 +5140 -0.0003387146930330288 4.568018576617148e-05 0 0 0 -8.621850287887136e-05 +5179 0.0007211285342801967 2.4251454252489375e-05 0 0 0 -2.333246762818412e-05 +5184 0.00026527404083235645 8.565427872920034e-05 0 0 0 -0.00011686226314521152 +5207 -0.0002794340640365507 0.00015232743274834742 0 0 0 0.00028893547520567503 +5105 0.00035147649460657714 0.0002793524261103922 0 0 0 -3.530847729890874e-05 +5232 0.00017539669359155967 8.993465986790099e-05 0 0 0 5.0595319762724565e-05 +911 -0.0003255147319346835 0.00015148531086738953 0 0 0 4.111035828617612e-05 +5255 0.0005357824795522157 0.0001200196685889803 0 0 0 3.436513149278986e-05 +5263 0.00036852242094315407 0.0002174331849172609 0 0 0 6.565062169350696e-05 +5278 0.0005538852482576412 4.3013178208591645e-05 0 0 0 9.589031896810704e-06 +5289 -0.00046638112912855483 7.624029857088542e-06 0 0 0 -2.43302011605616e-06 +5304 6.072955452279621e-05 0.0003261357622309385 0 0 0 -2.4000538685148013e-05 +5305 0.0007674600677148926 2.1351776363830624e-05 0 0 0 -0.00012688551395151557 +5337 0.000395871542072644 0.0002468441535211394 0 0 0 -2.1624625468997428e-05 +5361 -0.000510163398149536 -5.2132407412190845e-05 0 0 0 3.9554682449364185e-05 +5377 -0.00010447266110654532 0.0001342670811647532 0 0 0 -0.00013853152315731554 +5391 -0.0001999426999016184 0.00012632268797153014 0 0 0 -6.295868357194247e-05 +5394 3.204351431890358e-05 0.00026281730560433246 0 0 0 1.5233068446679717e-05 +5395 -0.0003569388445235491 0.0002458542988420222 0 0 0 0.00028123119265398397 +5416 6.976450535550953e-06 0.00018014942490354028 0 0 0 -0.0002442663813504543 +5436 -0.000482264380366212 1.4840526017160316e-05 0 0 0 0.00016002913543084634 +4766 -1.0039194030756043e-05 0.00021893002284018067 0 0 0 0.0005072754193383817 +5476 -9.086992743334898e-05 0.0003830590483212807 0 0 0 -7.812134226438013e-05 +5508 0.0004275884560498636 9.611208580751335e-05 0 0 0 -2.1936156774397644e-05 +5534 -0.00016685005944941164 -0.0001325747938330221 0 0 0 0.0002597336340824759 +7175 0.0003199357767124144 0.00024332528073383298 0 0 0 4.824664468690479e-05 +5555 -0.0003439906702429858 0.00024130601073343543 0 0 0 0.00010052237565349228 +5595 -2.2291664742697557e-05 0.0002666546651530365 0 0 0 -1.9223521200143674e-05 +5630 1.6013180783083935e-05 0.0002818037918963319 0 0 0 1.604325754939801e-05 +5635 -0.0003343891163597978 0.00018896186976098548 0 0 0 -6.050254841437532e-05 +5671 0.0005215156126296053 0.00032608041896630465 0 0 0 4.252031996625187e-05 +5684 -0.00043342770180316274 6.0647513689593463e-05 0 0 0 -4.478764854535836e-05 +5748 0.00015437181608142899 0.0006568512163871389 0 0 0 0.0011170270234374207 +5755 -0.0004844617787021049 -3.577928919168079e-05 0 0 0 1.0240084720115208e-05 +5837 -1.7334643786126843e-05 0.0002414697563327492 0 0 0 -1.5857991465844806e-05 +4195 5.9474539192172004e-05 0.00034748378082013245 0 0 0 0.001382691681717097 +5902 -0.00045208365502109925 0.00025219992151503777 0 0 0 5.306432983922147e-05 +5904 -8.731187020705459e-05 0.0002470480494522176 0 0 0 -0.00013473484721079123 +4367 0.0007399129973666003 0.00023081732580288483 0 0 0 -3.177448344904578e-05 +5912 -0.00045156651216327775 -6.5573936878074475e-06 0 0 0 1.8367367780215582e-06 +5913 -0.00042933694927270054 0.00019896232653526097 0 0 0 2.3031381793050027e-06 +5928 0.0007187319077377959 0.00024088514335885474 0 0 0 -3.420791627311002e-05 +5949 0.00023058388385732438 0.00019384683611478918 0 0 0 -7.978390621040823e-05 +5976 0.0008183541281393241 -0.00016525824828990735 0 0 0 -0.00010782695442718698 +6010 -0.0001015170354605244 0.00026590146645026077 0 0 0 0.00012756153613778024 +7883 0.0009301374754305445 -2.503529672384119e-05 0 0 0 -5.3536667611107487e-05 +6023 0.0006100230684539299 -0.00011926405955674008 0 0 0 0.00010691896498449385 +6047 -0.000515599578848813 -2.1989755748839343e-05 0 0 0 0.00014301670557724427 +6053 0.0007320532683880817 -7.927581660227948e-05 0 0 0 5.213926513825649e-05 +6109 0.0006101754101898975 0.00025801068099450236 0 0 0 -6.152798329122791e-05 +6128 0.00020156783893818787 0.00020488578616806633 0 0 0 -4.379288375992705e-05 +6131 1.3297048085037728e-05 0.0005700414081334365 0 0 0 -0.00014068535065026312 +6201 -0.00044364549778205565 3.500120234586507e-05 0 0 0 -0.00023921306579075647 +6205 0.0007414781601756586 1.7529924549155138e-05 0 0 0 -0.00010567577346236931 +4507 0.0005275207350661692 6.199613059836603e-05 0 0 0 0.0004297713920139973 +6221 0.0008962582740367372 -3.6102027117890806e-05 0 0 0 -7.820869689741119e-05 +6265 0.00033683887967695325 8.600048347243416e-05 0 0 0 -0.00015227953413676044 +6291 -0.0004684916208569635 3.269195893103134e-05 0 0 0 -4.568391282971827e-05 +6293 -0.0007213827380846849 0.00030730929404086454 0 0 0 -2.7266484790744166e-07 +6378 -0.00046218906034753307 -2.499327154035349e-05 0 0 0 -8.710119259746121e-06 +6404 -4.063177740549748e-05 0.0003109970578548134 0 0 0 -3.450157521670598e-05 +6415 0.00043747397918667886 8.163184469002561e-05 0 0 0 5.374173721162756e-05 +6421 0.000409858081365671 0.00040201150419228316 0 0 0 1.1699225020622983e-06 +6429 -0.0003361964887024883 0.000310023349313352 0 0 0 -6.68073425309922e-06 +6431 0.0008138708396432978 -0.00012777803514753283 0 0 0 4.701670518503251e-05 +6443 -0.0004928832142027585 -4.610962104261899e-06 0 0 0 -3.297403676598447e-06 +6584 -0.00022787248645980153 -0.0001791814137513108 0 0 0 0.0006219112200119926 +6481 -0.00016793574616352444 0.00011787848485625507 0 0 0 -5.065904150639345e-05 +6546 0.00027696247459237837 0.00010202269454361279 0 0 0 4.4215086166657295e-05 +6609 0.0004939929173609389 0.0003958650264769428 0 0 0 3.7361179330683147e-06 +6632 0.0008428344843521733 7.77102642252031e-05 0 0 0 1.1298173517133061e-05 +6663 0.0004793497475068958 0.00012589315110248677 0 0 0 4.85935996194694e-05 +6669 -0.00043701366457344455 -8.42325668700598e-06 0 0 0 -5.742912520250025e-05 +6684 0.0001958186361669856 0.0002356458840019486 0 0 0 -0.0004612919663362177 +6696 0.0005812766754592054 3.150868257748453e-05 0 0 0 5.8491865910471845e-05 +6755 -0.00012494433731511333 0.0004382696586908382 0 0 0 -5.2805734935096884e-05 +1951 0.00024532459800596636 -0.00044468024745284205 0 0 0 -0.00027868315917979456 +6777 0.00047507223828291775 0.0004594071658061723 0 0 0 -4.3471105208462965e-05 +6790 0.0004593767826574736 0.00012688756843776483 0 0 0 -7.881526099626584e-05 +6806 0.0003921764764171415 0.00038327975544061516 0 0 0 -0.0001076167362367571 +6817 9.84163978094282e-06 -0.0011377789206627733 0 0 0 0.0002510240636044049 +6866 -0.00041676540787798083 4.8860694336440174e-05 0 0 0 -8.408115060441258e-05 +8266 0.0008730119398864472 0.0001849664995651222 0 0 0 -8.714686817207794e-05 +6901 0.002527103291182902 0.0005155289201620153 0 0 0 0.00023538764338419953 +6922 -0.00033713118094836237 0.0003134905577677691 0 0 0 0.00026153995012519454 +6947 -0.0003644792035963507 0.0001898902915579186 0 0 0 -0.0005873838795137274 +7021 0.0008727121515727224 0.00023781060986514325 0 0 0 -0.00027875894332376626 +6792 -0.00029191433447820685 -0.0002962503203689052 0 0 0 8.558240173324684e-05 +359 -0.00027955325832240577 -0.00030873811268415473 0 0 0 -1.4616399002355916e-05 +8717 -2.3055067476310376e-05 0.00029059225205856136 0 0 0 4.3578023430221354e-05 +7041 0.00030421112962414565 0.00023824781500995606 0 0 0 1.0956712206552377e-05 +7042 0.00026262527618156205 6.283433983987711e-05 0 0 0 7.795479188713248e-05 +7050 -0.0002967419360390177 0.000616758513379784 0 0 0 -6.365276661168226e-05 +7065 0.0002792419598954598 8.664879372355455e-05 0 0 0 -0.00018732636195768648 +7142 -0.0003547920538808427 0.00015130188962461113 0 0 0 0.0001393075606769285 +7157 0.0006428737713028243 6.2894256266621365e-06 0 0 0 4.867059705906179e-05 +4163 2.9138414765599983e-05 -0.0004067349624187152 0 0 0 9.31178448622963e-05 +7233 -0.00012157581244493063 0.00020652391122840232 0 0 0 0.0004806812425095425 +7243 0.0006493257522213593 2.8646399441289032e-05 0 0 0 -1.692856326902545e-05 +7265 -0.00013520903998237574 0.0002928348813664598 0 0 0 -0.0001498656159311853 +7268 0.0006823016092733493 2.9524474590732277e-05 0 0 0 -3.267344298833859e-05 +7269 0.00021945828444772407 0.00014968141414446024 0 0 0 -2.067181023518315e-05 +7301 -0.00030583366973077836 0.00029203692583050186 0 0 0 -0.0004480872911265092 +7322 -0.0003942216642659126 -0.0002884614953756875 0 0 0 0.00019044568141378596 +7326 0.0007032343663652966 0.000213391890020934 0 0 0 -2.953988702168267e-05 +7358 -0.0003064067288851537 0.00021220914035932512 0 0 0 4.1569231588397095e-05 +7377 3.348570880638962e-05 0.0004562063951676764 0 0 0 6.790553673485347e-05 +7418 -0.0005792324932361095 -8.590254191647628e-05 0 0 0 2.190848225755607e-05 +7431 0.0003238201191323952 0.0005215298635479343 0 0 0 0.001576950717040152 +7511 0.0005281748523940845 -5.168436515423328e-05 0 0 0 -0.00029933843873398606 +7553 0.0005286122290348132 0.00035852368288747603 0 0 0 6.269869960306331e-06 +7025 -0.0005449224722927097 -7.93996162869714e-05 0 0 0 3.1705961938876246e-05 +5429 -0.00041568121662502596 -0.00011189088858261613 0 0 0 -0.0002513042390734465 +7614 -0.0004733653063630153 -1.347114033640142e-05 0 0 0 -0.00013992949037472478 +7617 0.0009235296395985372 -5.633202691791065e-05 0 0 0 1.9600160092222528e-05 +7625 0.0005488701048683192 0.0003091599535725086 0 0 0 -8.732146054909628e-05 +7662 3.0283211641550277e-07 -7.461475624590428e-05 0 0 0 -0.0007073290630610162 +7670 1.3556158332639995e-05 0.00035610064077559115 0 0 0 3.4745282359758784e-05 +8935 -0.00021053442244999183 -0.0008582576450822327 0 0 0 0.0007066625283679412 +2305 -0.00022858602206616738 -8.881588849490612e-05 0 0 0 0.00023045006376215104 +4443 -5.170565061102763e-05 0.000307367289642394 0 0 0 0.00011800225137127366 +7732 0.0003340423126346596 0.00028084147839969203 0 0 0 -4.2517239253187127e-05 +7740 0.00014958883068566007 0.00021072932393100633 0 0 0 -1.9863878767429663e-05 +7759 0.0005966468007727781 0.00017840979055368217 0 0 0 -0.00018736327109119863 +7764 -0.0005242765150185365 -6.0518109553064116e-05 0 0 0 4.9449539124852793e-05 +7780 0.00027434492417246624 6.036548649439863e-05 0 0 0 -0.0004134616935856541 +7164 0.0001629042319221967 5.9992991624459924e-05 0 0 0 -0.00012489329567629172 +7815 0.00012638785608122655 0.00022995834383451045 0 0 0 -2.60753995934213e-05 +7817 0.00027911652094850085 9.390900459131992e-05 0 0 0 -0.00017080787028767887 +7855 -0.00031662965721925007 -0.00023192404933337923 0 0 0 0.00036202826490252426 +7862 0.00023797420396598615 0.00019343153161305966 0 0 0 -2.0616929096226783e-05 +7873 0.0005621800964652454 0.0001348341736578803 0 0 0 -5.4164536822436464e-05 +1580 0.0008273648785969107 0.0001108207879383278 0 0 0 -5.088919249917523e-05 +7908 -0.0002299324779859032 0.00039637400386725744 0 0 0 0.0003237428576391458 +7912 0.0008693897870841199 7.255583401452845e-05 0 0 0 5.2519157811168155e-05 +7937 0.0008870688340102202 0.00014489416774381744 0 0 0 0.0008090053109062795 +7945 -0.00039930374941510825 0.00013228291119241596 0 0 0 6.0149596584256195e-05 +7951 -0.0005218973841724435 7.072751417582554e-07 0 0 0 -9.02693093857223e-05 +7972 -0.00033867528199294904 0.00019242128951679492 0 0 0 0.00012692438019480456 +7977 -6.793891048101924e-05 0.00013104608324071755 0 0 0 -5.0114706782775294e-06 +7986 0.0002853226642528011 0.00013093330232741255 0 0 0 -0.00016571518760951615 +7999 -0.0005090759911397691 -5.678168649606515e-05 0 0 0 -6.209376305973125e-05 +8044 -0.00042254779256198046 9.087453718679498e-05 0 0 0 6.334800790628635e-05 +8493 0.0003292322510719889 0.0017541929177069308 0 0 0 -0.00244884217078423 +8084 0.0003364659738496127 5.413356194014709e-05 0 0 0 0.00014117659814388546 +8106 -0.00039794231832337176 0.00010717152185583243 0 0 0 -9.482248881715672e-06 +6202 0.00010849687090852288 -0.00013357626020196072 0 0 0 -0.00021467940193542614 +8150 0.0005211770676739014 0.0004775401594933633 0 0 0 -4.299206527443368e-05 +8173 5.324695213635747e-05 0.0005080107895083558 0 0 0 -0.001622656850569516 +8298 0.00025548709284739507 0.0002977270621350449 0 0 0 7.385061919772904e-05 +2786 -0.00026410776869677574 -0.00027025845626533985 0 0 0 -4.511581823746502e-05 +8343 -0.00019203658588243895 -0.0003507145266880756 0 0 0 0.00017851002308134033 +8361 -0.00029235016985342514 0.0002678453461944743 0 0 0 -0.0001477032719620015 +4071 0.0007452785779082688 0.00021438960761062606 0 0 0 -8.696915595113886e-05 +8401 0.0006568952622376542 0.0001803840567525312 0 0 0 -5.63256523890254e-06 +8403 -0.0003820870661622491 0.00030737064759460013 0 0 0 -0.00017845718268656263 +8469 0.00033021194529560515 0.0002269776609179256 0 0 0 6.019736677183046e-05 +8489 0.0004076805946885719 0.00014450226445989741 0 0 0 -9.994156931480767e-05 +8505 -0.00018144143093780902 -1.4621770663168008e-05 0 0 0 -5.83953778772039e-05 +8518 -0.0003122434797380218 0.00041015280674978335 0 0 0 -0.00042737234319899367 +8543 -0.0004288307192197073 7.394682526727066e-05 0 0 0 0.00012564295624259105 +8549 0.0004861651362703556 0.00037996294612847 0 0 0 -2.0883650665143892e-05 +3772 0.0009031346690091181 4.795902784713131e-05 0 0 0 -2.6172015211011513e-05 +8600 -0.0005323445795376488 -4.310603612505885e-05 0 0 0 -5.83061059857694e-07 +8481 0.0003103575053125711 6.724256540959716e-05 0 0 0 -2.420828673764621e-05 +8628 -0.00047531696387193755 0.00026027151734182586 0 0 0 0.00014148061450393524 +8641 -0.00036443699615845145 0.00022855841010353042 0 0 0 0.0001628047704566156 +8647 -0.0003448655120042828 -0.00023632160414777126 0 0 0 -0.00026402569190205034 +8667 -0.0004691635230329629 4.069096466904704e-05 0 0 0 5.06344141131701e-05 +8673 0.0003227209150062917 0.000244640886621522 0 0 0 1.6835806678582843e-05 +8820 0.0009052190956785065 -4.231043134561576e-06 0 0 0 6.087522249423947e-06 +8697 0.0001975637977080281 -5.788585497089572e-05 0 0 0 -0.00030441888773308 +8710 -0.00016897184375382952 0.00021460662724629955 0 0 0 -0.00011416120091788116 +8716 0.0006972729851851785 0.0001923684728833391 0 0 0 1.6369105413057283e-05 +8727 0.0006154869151775456 0.0003034079245047389 0 0 0 6.231319451007073e-05 +8749 0.0009387426367744304 -8.053333124047373e-05 0 0 0 -5.009343019104922e-05 +8807 0.00027813094307536283 0.0002663153888881792 0 0 0 -1.1298262022932373e-05 +6274 -0.0003068880458896889 -0.00025622715213938945 0 0 0 0.00020705312189819332 +5914 -0.00019512781087464376 -0.00015890730405639713 0 0 0 -0.000434589424036958 +8843 0.00033782193999530325 8.075008100339286e-05 0 0 0 6.0342646253906386e-05 +8849 -0.00013325897511267163 -0.0003171199144125891 0 0 0 -0.00022537280606896575 +8855 0.0002444921595729399 0.0001173112461318865 0 0 0 0.0005423598147279938 +8876 -0.0005126155309419901 -3.163098567101927e-05 0 0 0 1.2424504339831221e-05 +8898 -0.0004654402427548682 -1.4240993960614015e-05 0 0 0 8.156655135249461e-05 +8916 0.0007372204286776716 3.707878905936681e-05 0 0 0 -0.0001357455823247157 +8934 0.0004087083752926346 0.00039019484870940404 0 0 0 5.355768381019671e-06 +8998 -0.00048121387996784916 -2.2040303349526534e-05 0 0 0 1.5375582579993227e-05 +8999 -0.00016142409460649507 0.00019892403000694426 0 0 0 -3.944289534500006e-05 +9049 -0.0005397792664947249 -1.624042161881127e-05 0 0 0 0.00023989970703387732 +9065 -0.0005314966982311268 -1.1044411099168861e-05 0 0 0 -0.00023293537245004398 +9087 -0.0012838841887191327 -0.0022962980538615064 0 0 0 0.0004279548933136145 +9092 -0.00033882283737381836 9.776787360631611e-05 0 0 0 4.609262770122201e-05 +9098 0.00039892022962218556 0.00014876813428568822 0 0 0 -0.0001065268408781882 +9111 0.00014636332957152106 0.0015024930709401742 0 0 0 -0.00029342485728176524 +9122 0.0004664052760657667 0.0001535401265436091 0 0 0 -4.8923037924669446e-05 +9151 -0.00033939397955569156 0.0003551510842946673 0 0 0 0.00011401898075114277 +7076 0.0004870247072353581 -1.301020612162491e-05 0 0 0 -4.866447392763217e-07 +9217 0.0006258407657690089 1.0690863799180636e-05 0 0 0 -1.5592662998123288e-06 +9261 -0.000299045037005359 0.0011808759855267375 0 0 0 0.0007078865811394408 +9265 0.000626934898716812 0.00012908233203603797 0 0 0 -0.00010721822341704597 +9293 -1.9019348112972824e-06 0.0002553525732978496 0 0 0 -0.00045482118700598795 +9364 -0.0001366439484437069 0.00011504326172863463 0 0 0 2.8420743931554064e-06 +4612 0.0007396488384603397 0.00030688012733921246 0 0 0 -5.392112859133251e-05 +2291 -0.0005199975118694084 -6.929870641865309e-05 0 0 0 2.0363771615630126e-05 +9433 0.0004781625328778149 0.0005242542486547499 0 0 0 6.392583337907449e-05 +9436 -1.3019538785846812e-06 0.0004392154811298469 0 0 0 0.00018339495396624988 +1092 -9.391913755397731e-06 -0.00041964845024470144 0 0 0 -3.481453182547947e-05 +9455 -0.00033316624237260384 -0.00013842292643725807 0 0 0 -0.00017348586518030012 +9484 -4.32211880933555e-05 0.00024343441787455262 0 0 0 -4.088211993105847e-06 +9488 -0.0027969917908967088 -0.0010548122053559645 0 0 0 -0.00425944501227667 +9931 -0.0011498775077921908 0.00099283304607922 0 0 0 0.00032910672410429526 +9526 0.0005007611157155003 0.0003333181322145124 0 0 0 5.1335537623096265e-05 +9532 1.759242365495977e-05 0.00025923481833430126 0 0 0 -1.7455347323765802e-05 +9585 -0.0004735911545838282 -4.747203291878721e-05 0 0 0 1.7696165286583426e-05 +6345 -0.0003887007015597901 -0.000276632154223755 0 0 0 -9.93039884400335e-05 +9608 -0.0004987234966067646 5.072621179319972e-06 0 0 0 7.121048555210554e-05 +9649 0.0005760365520059174 0.0003475204878511189 0 0 0 -0.00010123934412465843 +9657 0.0011687256868120235 0.0011492465910752105 0 0 0 -0.0004643468145022004 +9661 0.00039101315389571524 0.000400901197988183 0 0 0 -8.311608116802636e-05 +9667 0.0006636234390171227 0.0002096431215688644 0 0 0 -8.714783899529073e-05 +2737 6.79806747329423e-05 -0.0004624527708715596 0 0 0 6.738247743691719e-05 +3906 0.0002991570016044247 -0.0003227103096319449 0 0 0 -0.0002615911746738722 +4229 -0.00015866651469999594 -0.0003175670467715095 0 0 0 -0.000306933422573527 +8407 2.8753700310382707e-05 -0.00038856228716285953 0 0 0 0.00011865551095827421 +9757 0.0008607071017915008 1.6301970466558618e-05 0 0 0 0.00010862603249620557 +9760 0.0005425306490891191 0.00036166132403782884 0 0 0 0.00013731487363948154 +5725 0.00040706143179253777 7.801426108120363e-05 0 0 0 -0.0006554166070619733 +9796 0.0009034028084866634 -0.00010445643696644876 0 0 0 2.5072003208316764e-05 +9837 4.243057906152938e-05 0.0003650995280318204 0 0 0 -0.0004391638092868893 +9846 0.00030678248067340984 0.00015670012450713788 0 0 0 0.00012168262611553713 +9853 0.0003632475114544942 0.0002698376446344818 0 0 0 -2.2263305152760293e-05 +9883 -0.00037445545345737185 4.339436161166284e-05 0 0 0 3.138448420791788e-07 +9303 0.00066896049223534 0.0004065989858510746 0 0 0 -3.566548627969697e-05 +51 0.0006070696142965707 0.0007020342089683617 0 0 0 1.7353083787383334e-05 +57 0.0005075542873850947 0.0005024465808704185 0 0 0 -1.0874306376197442e-06 +6456 0.0009362374483455061 0.00029720322532168666 0 0 0 -9.865852373488053e-06 +2586 0.00047705108664969917 0.00041640231173784904 0 0 0 -5.17929579764991e-06 +9735 0.001136399108521301 0.00024694491546417113 0 0 0 0.00015590357514246077 +115 0.00033776655600737136 0.00036272829481077485 0 0 0 1.1511319338731564e-05 +8846 0.00013164240369563485 5.483750133270776e-05 0 0 0 7.859053103044974e-07 +228 0.0009288994489515034 0.0001257161371738778 0 0 0 -0.00012412881664384019 +8658 0.0009347806324210921 0.0008629579848041981 0 0 0 -0.00045241856972068405 +237 0.0010202328127274119 0.000838220426840084 0 0 0 -2.1395395336147385e-05 +8918 0.0017705082361269139 0.0018419720896068257 0 0 0 0.0004568398077608845 +242 0.0008524150559332292 0.0007723567969836233 0 0 0 -2.5084527382390586e-06 +281 0.00024506577422037156 0.0001427951694353302 0 0 0 -2.7186697084419304e-07 +6824 0.0009414917132796543 0.0005616205224921089 0 0 0 -5.588970680420407e-05 +6118 0.0007339802271364116 0.0008971447368821034 0 0 0 8.035874493121062e-05 +304 0.0007453721915007327 0.0008878709928316368 0 0 0 8.338499197178302e-06 +327 0.0011548097265022038 8.151135574425214e-05 0 0 0 -5.921860732198746e-05 +330 0.0007966312522574171 0.0005279265410264601 0 0 0 -1.2798679783183232e-05 +351 0.0005370811908332947 0.0005610582639449765 0 0 0 -1.969580464270923e-05 +1812 0.0006582371689987022 0.0007893873298025519 0 0 0 1.10823467714537e-05 +405 0.0012453060990418523 0.0007283940690570841 0 0 0 -5.3834535647069214e-05 +422 0.0013007194120120455 0.0008526353163331135 0 0 0 9.192365350760714e-05 +427 0.000984870447363825 0.00043826213987505894 0 0 0 -4.485150495176842e-06 +430 0.0003042179465383249 0.00026917106402017145 0 0 0 1.2947459819146448e-05 +446 0.0006984915918799313 0.0007100366173567318 0 0 0 -8.482476669698331e-06 +447 0.0011933869895377818 0.0002818293275351992 0 0 0 -8.095020928718722e-05 +2563 0.0009404826264488601 0.0005663755120028827 0 0 0 7.35044270166994e-05 +475 0.000938429199129614 0.0005649568708230996 0 0 0 -1.8817302791890712e-05 +8032 0.0006835227935900459 0.0007212029020905524 0 0 0 8.950581607227733e-06 +525 0.0004770345183433198 0.00051698717625976 0 0 0 -5.259687413231976e-05 +8411 0.00035975493431818223 0.0015705573855911259 0 0 0 0.0007387734717456259 +594 0.0011372753246407523 4.863006050002318e-05 0 0 0 2.4334396554319527e-05 +1293 0.0008288925195151488 0.0006584151311703766 0 0 0 -8.34874500336827e-06 +692 0.0011308737549651866 0.0007422898657294301 0 0 0 -1.1074842770410834e-05 +710 0.0005316090611578017 0.0005219414661279744 0 0 0 -8.452585258905373e-06 +3968 0.0013367740475450657 0.00018012686011077263 0 0 0 0.00017442952121302189 +774 0.001053147706549192 0.0006050230946355309 0 0 0 -1.66876838642602e-05 +783 0.0007384753655447813 0.0007506474071009498 0 0 0 4.3252761953617796e-07 +815 0.0007409587748561901 0.0008889222162978867 0 0 0 -2.948900438453596e-05 +822 0.0010403869889675209 -5.667059495979939e-05 0 0 0 -5.195688952432031e-05 +3712 0.0006129077852234173 0.000524083162700082 0 0 0 -2.8803358718961872e-05 +9032 0.0009752594002211212 0.0007794745133988887 0 0 0 -0.00031346327048348987 +860 0.0008060978075327956 0.0008073720911317439 0 0 0 -0.00028711923457274243 +862 0.0007794835946550352 0.0007033518932981235 0 0 0 -1.1715581498658296e-05 +901 0.0009888604864294024 0.0008325620523999092 0 0 0 9.643830474058863e-05 +9965 0.001016476383717588 0.0008730623562223863 0 0 0 -0.0009846469461792995 +944 0.0006373964385996922 0.0007354262179768481 0 0 0 -7.118431800708989e-05 +957 -3.92496240975133e-05 -3.9366441381841004e-06 0 0 0 -5.892599682373751e-06 +971 0.0005280676388627199 0.0005511296451894107 0 0 0 5.757916832409421e-06 +1488 0.0008385556814501904 0.0005880760228873676 0 0 0 1.7540261636396367e-05 +3939 0.0007732050717738215 0.0006455186915275868 0 0 0 -5.060208250136941e-05 +1029 0.00102044938663655 0.0006866832421212901 0 0 0 -2.1251478769216204e-05 +1048 9.003104284126219e-05 0.0002304251090795562 0 0 0 -4.8506569415668384e-05 +1074 0.0007458398376477673 0.0006860207250656937 0 0 0 1.2502453857472246e-05 +9018 0.0007568374787820223 0.0005631149004679428 0 0 0 -5.8917044364988095e-05 +4360 0.0006686270485986752 0.0007181181106869792 0 0 0 -1.3746441201024278e-05 +5732 0.0009076470054173559 0.0005692888483896126 0 0 0 3.067861431838491e-05 +1120 0.0011381552070586288 0.000496203765464395 0 0 0 -0.0001267619383139234 +1161 0.00039504566182769097 0.0005111879854837944 0 0 0 5.004842602986645e-05 +819 1.5443034858608243e-05 5.975757276492768e-06 0 0 0 -1.5769884159026464e-05 +4233 0.000910723930536654 0.0005593352944233623 0 0 0 -7.953635966006416e-06 +1224 0.0011442518230947352 -2.5780327227252928e-05 0 0 0 3.898580928474419e-05 +1229 0.0008964561281592626 0.0005870222506094109 0 0 0 -3.2027859849809884e-07 +1234 0.0011816233821070725 0.000797680262082719 0 0 0 -3.2296483419436165e-05 +1258 0.0007021015923436743 0.0007856059962839389 0 0 0 -1.1223587714977239e-06 +1305 0.0010842068485198508 -1.860637425003912e-05 0 0 0 -2.4892104486291956e-06 +5149 7.668296270144162e-05 -0.0002823258454776009 0 0 0 6.308052192783396e-05 +1357 0.0012507940003056084 0.0009367824705987243 0 0 0 -0.00023251744378687678 +1358 0.0011331435570550625 0.00017769417168425115 0 0 0 2.0442599547238374e-06 +4009 0.0003332017834178051 0.00043239890622831723 0 0 0 -0.00026700642555572474 +1440 0.00013056821135902762 0.00010705845812831812 0 0 0 -1.01946031270873e-05 +9104 0.0012247656754750928 0.00010554991907225488 0 0 0 0.0003045951316026527 +1472 0.0009537139431338156 0.0006680243594396911 0 0 0 5.0720603239074235e-05 +1474 0.0009373279536214651 8.752238602100062e-06 0 0 0 5.94226112732774e-05 +7124 0.0007215432527760345 0.0005696084097439509 0 0 0 3.317214766307772e-05 +5599 0.0008581586791765136 0.0003445188401126814 0 0 0 -1.8130174790830543e-07 +1495 0.000915077867810005 0.0008615172336698264 0 0 0 -0.00015295862201852268 +8662 -9.159811950934799e-05 -7.398953193481583e-05 0 0 0 6.262617150994529e-05 +7919 0.001074455403978028 0.0005560495470905163 0 0 0 3.312847385791254e-05 +2668 5.653755173750262e-05 3.43970601363512e-05 0 0 0 8.69664228031607e-07 +1633 0.0008824987459173819 0.0004246204452828032 0 0 0 -2.3608265761941237e-05 +1642 0.000757537537341849 0.0006367284973021474 0 0 0 -7.0510328216502675e-06 +1709 0.0006052557278346328 0.0006380557981108595 0 0 0 -3.064407703989822e-05 +1744 0.0009393596417125936 0.0003573516267257154 0 0 0 -5.128709559032848e-05 +1763 0.000646245495639921 0.0006973255678060648 0 0 0 2.429763738963635e-05 +9150 0.0007911927437560188 0.0008059269383131103 0 0 0 -0.0005865042374329077 +1832 0.0008534495562017947 0.001009157134510832 0 0 0 -1.5686835822413975e-05 +1837 0.0011122174405478753 0.000882563602756931 0 0 0 2.4477237914684515e-05 +1864 0.0013096586157277075 0.0010199226398839069 0 0 0 9.839155692339088e-05 +4276 0.0011215863940513375 -2.9328776134461453e-05 0 0 0 2.3381245332410923e-06 +2067 0.0010359125470167556 0.0001723932468681295 0 0 0 2.4352209535367688e-05 +268 0.0006146681765556943 0.000552107267896076 0 0 0 -1.2925971003316768e-05 +1909 0.0009347313229495653 0.0007175285605284645 0 0 0 -4.287174886003344e-06 +1922 0.0006550100380611344 0.0006545993837878257 0 0 0 4.111977155436165e-06 +8769 0.0007836449960073965 0.0007144762555417158 0 0 0 -0.000135866623705877 +1947 0.0004971885393660626 0.0005156731767472946 0 0 0 4.916418392184631e-06 +7161 0.000638175565683616 0.0007332869912431518 0 0 0 1.0506960603940704e-05 +3093 0.0007778402791450541 0.0006011329792850417 0 0 0 2.0065588455200087e-05 +1453 9.592363749255989e-05 6.211617266297986e-05 0 0 0 1.0140122267755004e-05 +9028 0.0006371866613194627 0.0006298334418778814 0 0 0 -4.8203447498688515e-05 +2065 0.0008635875093463444 0.0006001773186778518 0 0 0 -3.382462341849035e-06 +2073 0.0008092360237899494 0.0008657226034997908 0 0 0 0.0001703455511108547 +2074 0.00064652148783147 0.000608945267482443 0 0 0 -1.5698044864657668e-05 +2096 0.0006065797458591286 0.0005793057157680452 0 0 0 -2.4617143663614776e-05 +2100 0.0011220091843427054 0.000664724077788059 0 0 0 -5.169604602414376e-05 +2955 0.001049091784568726 0.000749311041601316 0 0 0 -0.00036159112111385877 +2153 0.00013923049469846658 8.815674690731761e-05 0 0 0 -7.779049620213694e-05 +2206 0.0005491393200273792 0.0006364201753252419 0 0 0 -4.000568760428837e-05 +5822 0.0007618094858504641 0.0005479581514658642 0 0 0 -7.27578529993304e-05 +8794 0.0004783183252332147 0.0005031767568707494 0 0 0 -4.3674962668774105e-05 +8792 0.0006938581822526217 0.0007727909484773343 0 0 0 0.00044788232454507856 +2302 0.0010271083677861818 0.0007575074639035206 0 0 0 -3.592205718643424e-06 +2309 0.0006406500212264179 0.0007007334038400955 0 0 0 -3.2987370110651505e-05 +2322 0.0005007970168142853 0.0006121011346676041 0 0 0 -3.0215078173081707e-05 +2349 0.0006618129809615238 0.0007463749961635262 0 0 0 -2.0124211534930715e-05 +4813 0.0011513190133246173 -2.9466917054006577e-05 0 0 0 5.912577984782293e-05 +2389 0.0009367578803525716 0.00045815988829217764 0 0 0 -1.878438858364202e-05 +2398 0.00040680268027625926 0.0005302213627193641 0 0 0 -6.051432898109522e-05 +2414 0.0007927228218239817 0.0008842834382846852 0 0 0 -6.540022928444124e-06 +2435 0.0007038105415404663 0.0007329314183333812 0 0 0 3.868323078800195e-06 +2437 0.0007932732776002605 0.0007559150337095556 0 0 0 2.649107412734385e-05 +2442 0.0008122798770601226 0.0007214579914514173 0 0 0 5.021281359558883e-05 +2444 0.0009546416722610085 0.00041461874898064514 0 0 0 2.3656836823381728e-06 +2447 0.001050398714354251 0.0003199937995496552 0 0 0 -0.00020711400548583569 +8583 0.0009715069148112571 0.00014408560478633377 0 0 0 -1.9676424876851464e-05 +2461 0.00044362594111911917 0.0004926987439424997 0 0 0 2.2531138402735495e-05 +2462 0.000885668846055785 0.00086453048007284 0 0 0 -1.7513507476829513e-05 +9773 0.0007605543386353936 0.0007497413858350508 0 0 0 0.0006011594326666652 +940 0.0008829811129090771 0.00048037213945408675 0 0 0 -2.1025844958405936e-05 +2555 0.0006418017851648082 0.0006228255065022799 0 0 0 3.198776403545095e-05 +2566 0.000910538886418491 0.0006381453427775683 0 0 0 -3.703507099544293e-05 +2569 0.000332166125131428 0.00023444429936421952 0 0 0 -9.595433351881745e-05 +2591 0.0009035869404762831 0.0009277862184534354 0 0 0 0.0002510959554432933 +191 0.0009167643556016717 0.00028429317082655784 0 0 0 -4.9926178343839855e-05 +6165 0.000844224154628138 0.0006004548581719946 0 0 0 -1.2629225470222815e-05 +8473 0.0024893663396842575 0.0003139845102113532 0 0 0 0.00017920900398510882 +1438 0.0009843346179005774 0.0007053078279305674 0 0 0 -0.00018081826669609475 +6819 0.0008662217583406522 0.0005161130999547619 0 0 0 -4.677087677174837e-05 +3842 -1.4065558458707702e-05 2.104178842837106e-05 0 0 0 -3.148420661774292e-05 +1891 0.001291215711615338 0.0002144816745355875 0 0 0 -6.161735627504907e-05 +2782 0.001016029102956752 0.0005025759440528764 0 0 0 -0.0001359787544330313 +8938 0.0008803349274047576 0.0006417252873908551 0 0 0 -0.00014385750734900618 +2833 0.000898729315867668 0.0009654867630338731 0 0 0 -1.2618556413297788e-05 +2872 0.000745416681233927 0.0007692882911031983 0 0 0 -1.2592835305639362e-05 +2892 0.0007113445445965215 0.0007352156772089435 0 0 0 -0.00014601528602558973 +2758 0.000730669204643506 0.0007801873566382372 0 0 0 -1.8901735553982924e-05 +2918 0.0004151889695335035 0.0010434406988126036 0 0 0 8.547017754947459e-05 +9523 6.950249520094997e-05 0.00014524522800280566 0 0 0 9.967308741719073e-05 +2954 0.0009267868173603579 0.0008757973358117571 0 0 0 -0.00019297145249023192 +542 0.0005355994113244891 0.00042660940360095414 0 0 0 6.878820400512811e-06 +3087 0.00011758792599917562 0.00010731578579731314 0 0 0 -8.155437395835784e-05 +7704 0.0001020581666813983 0.00023119000679914403 0 0 0 0.00012575186984510446 +5172 0.0009958494003049862 0.0004042373727999046 0 0 0 -2.2361277748392646e-05 +3065 0.0006954810612975311 0.0007557295353546297 0 0 0 5.959435572541213e-05 +3070 0.0009436271551083338 0.0007805327808754632 0 0 0 -4.13001987054279e-05 +3073 0.0014136722100425506 0.0006569618685981113 0 0 0 -6.888727808040458e-05 +3111 0.0004230202814972587 0.000540255107431165 0 0 0 4.749113499319864e-06 +3121 0.0010944498157146845 0.0005027829795833892 0 0 0 -0.0003957312226843952 +4495 0.0007132760508865113 0.00047604454274254157 0 0 0 8.192522886660554e-08 +2666 0.0006833023629573007 0.0005618923453721258 0 0 0 2.2689175182546992e-05 +3135 0.0008037382180547677 0.0005785007551407455 0 0 0 2.2571454551023663e-05 +7469 0.0006716585517875703 0.0006186759919441409 0 0 0 -2.452548836236985e-05 +3235 0.00020034910126965786 0.00023039618357410528 0 0 0 5.823986765808324e-05 +9168 0.0009365067665839389 0.0007987840792704285 0 0 0 -5.634176170283668e-05 +3254 5.237399755523474e-05 0.000165280055224282 0 0 0 -7.662570572548209e-05 +3265 0.001152762077868887 0.0008966479339474791 0 0 0 -5.0151520526818834e-05 +3275 0.0009501382573317271 0.00035747895483123133 0 0 0 0.0002680540343212628 +4465 0.0007133379056867835 0.000800583262160985 0 0 0 -2.1227715692122057e-05 +3297 0.0008563641817875299 0.000848132118274229 0 0 0 4.838144155539175e-06 +3308 0.0009264768843272713 0.00023303695078563696 0 0 0 -4.2776041010148534e-06 +3324 0.0014046960864893695 -2.4767373239141435e-05 0 0 0 -8.007864807295345e-06 +3349 0.0003798709843583312 0.00040859783290700754 0 0 0 4.514007527587738e-05 +8244 0.0004266359377274827 0.00013025239997835694 0 0 0 -2.7521304141709128e-05 +2474 0.0007368719814233034 0.0004970636451643582 0 0 0 -3.2327893217713115e-06 +3393 0.0010939540896613648 0.0004428256332421069 0 0 0 3.3432938051238995e-05 +3044 0.0006979016810581693 0.0008198376985378026 0 0 0 1.0112422775194999e-05 +3411 0.0005474961811828268 0.0005970314558580649 0 0 0 2.2772575138872618e-05 +3465 2.1601010204015047e-05 6.331182932935912e-05 0 0 0 2.630502707772088e-05 +3507 0.0011385826142722212 0.00039519012067835296 0 0 0 -0.00024222627482542545 +3508 0.0004311060706109061 0.0004219430770593977 0 0 0 0.00010631149466585169 +3548 0.0008711354003804835 5.0209333830307385e-05 0 0 0 0.00015412129913781156 +3551 0.0008464084110394015 0.0004208755276490233 0 0 0 2.5514400227905677e-05 +3573 0.0001511569313105147 7.720496916657973e-05 0 0 0 5.113312046769003e-05 +3576 0.0005049273403604991 0.0005436698584023767 0 0 0 1.0208093531324302e-05 +3612 0.000858928793938723 0.0005612848616652575 0 0 0 -3.3211144034839825e-05 +451 0.0004319594115638475 0.0004439325444460338 0 0 0 -8.853303297772185e-06 +3646 0.0004182487395589909 0.0005943715815580117 0 0 0 -6.868703990898642e-05 +3649 0.0013185421728109038 0.0007221022340290875 0 0 0 2.6268605831395213e-05 +3657 0.0008947812908352502 0.0006810739490174336 0 0 0 -8.313152455293807e-05 +3662 0.0013769312509274996 0.0005748269417253064 0 0 0 -0.00019655314489020094 +3670 0.00021515236162550399 0.00010146866491766558 0 0 0 -0.00010066204835422411 +2297 0.0006754088239773053 0.0005277948148174178 0 0 0 -1.8682903792682087e-05 +3687 0.000562788558956041 0.0006316983600374199 0 0 0 1.5452252135941537e-06 +3732 0.0005605720517288763 0.0004981320046412028 0 0 0 5.537366692329427e-05 +3751 0.0009127483734786525 0.0008930449909355397 0 0 0 0.00022090739848786773 +3770 1.8645730049873346e-05 7.064350385559903e-05 0 0 0 2.1495335470542404e-05 +9312 0.00028536925567122914 0.00016195474820812026 0 0 0 0.00015879979025961387 +3778 0.0010729535967379555 0.0004899337636572257 0 0 0 2.532610786172749e-05 +3797 0.0007068891812745856 0.0007375825048413512 0 0 0 5.805456149376129e-05 +7699 0.0005010458596434891 0.00040970259124432294 0 0 0 5.006125241067801e-06 +2810 0.0008026026254547251 0.000691365122318831 0 0 0 -4.534948397122537e-05 +3826 0.0004925247061815018 0.0005570090155507572 0 0 0 -1.4321892127319466e-05 +9727 -3.650844102905944e-05 -3.74308041725921e-06 0 0 0 -5.522676548307091e-05 +3857 0.0007833069616275684 0.0009357832950726303 0 0 0 5.1903102867958354e-05 +3862 0.0011714824944477574 0.0005379940266115865 0 0 0 1.2531048858371422e-05 +6060 0.001044843997028622 0.0005309263289346587 0 0 0 -0.0001884313779456799 +3884 0.0007377654814684461 0.0006335397196912075 0 0 0 -1.2538221668369642e-05 +2282 0.0008078891849824812 0.00028170502445851056 0 0 0 -4.919614096747216e-05 +3901 0.00038064991170159057 0.0005280768852832517 0 0 0 5.362821531930994e-05 +3915 0.0005709226614310826 0.0006908121056143459 0 0 0 1.081058325422442e-05 +3919 0.0009640336114613383 0.00026643186105077893 0 0 0 8.699053612312226e-05 +3943 0.0009906086453040498 0.0005207555624039049 0 0 0 -9.479951715144544e-05 +3956 0.0011829911059891792 0.000977705251108859 0 0 0 0.00021939314414628632 +3965 0.0006599923765102142 0.0007064793274963277 0 0 0 1.2567179401570819e-05 +4011 0.0007572290459368979 0.0008559141418159747 0 0 0 -3.74319772145896e-05 +1653 0.0006851235755337633 0.0008040334909118972 0 0 0 -6.2009194841534664e-06 +4044 0.0005889477073485826 0.0006695351822496691 0 0 0 -1.8250061408053495e-06 +4045 0.0012588088953746294 0.0011404585156972102 0 0 0 -0.00044202348376788344 +3291 0.0011035425110138227 -3.794509441975393e-05 0 0 0 -5.859857885331223e-09 +6014 0.00046003937383758586 0.0004861002376082605 0 0 0 1.762236207193008e-05 +4076 0.0009679538092315052 0.0008167757567866482 0 0 0 -1.5311998391048464e-05 +4113 0.0009630009092353081 0.000383489730009698 0 0 0 9.946257419305155e-06 +4141 0.0007271873085620964 0.0005661723904359773 0 0 0 -1.642128092247244e-05 +4148 0.0011172013800092445 0.00032810834141432365 0 0 0 -0.00015591878323008545 +4149 0.0006967358623751156 0.0007840332733109257 0 0 0 -0.00013825238925603052 +4808 0.001130916312657781 -6.368698020852885e-05 0 0 0 -0.00020427400916917223 +9733 0.0005758690674978762 0.000653832902517314 0 0 0 -4.1927286773479014e-05 +4187 0.0012326425460313583 0.0006279906603153349 0 0 0 -7.514455836975568e-05 +5968 0.0009366247258635002 0.00010900894418442358 0 0 0 -0.00016611546620739828 +6299 0.0011047142186339524 1.3246897938458585e-05 0 0 0 0.00018420188828364816 +4257 0.0007131484861011685 0.0008280465246347335 0 0 0 -2.8971867961159178e-05 +4263 0.0007606932411311683 0.0007337445907938786 0 0 0 6.640980580079292e-06 +7318 4.0693698466202205e-05 7.009277195478366e-05 0 0 0 -3.611269786321597e-05 +8760 0.0008962160106284817 0.0004907732739214716 0 0 0 -2.34620827590488e-05 +4283 0.0007907337935069283 0.0009424374092044114 0 0 0 -5.6291574941493e-05 +4290 0.0005045765684096441 0.0004183013170839901 0 0 0 0.00015899195304572218 +4362 0.0004305479760556769 0.0009579139169531615 0 0 0 0.00018943604783631653 +4379 0.0005620268332034654 0.000625005999330722 0 0 0 -5.760910870123984e-05 +4402 0.0011390349179821963 0.0008519197623218396 0 0 0 -1.806994358126486e-05 +6471 0.0006446566861467 0.000600268878532148 0 0 0 1.5484606090371314e-05 +4493 0.0008883070529680738 0.000904589136552546 0 0 0 -1.9823970478772478e-05 +4368 0.0009231868900294731 0.00025359545010812093 0 0 0 0.00022799364279725416 +4496 0.0008427201980044221 0.0009363416352939841 0 0 0 -4.345983063252852e-05 +4500 0.0012852241441978223 0.000529416817344209 0 0 0 -0.00015354579602563361 +4531 0.0011062105145160624 -1.864585986666931e-05 0 0 0 -9.35576918906593e-05 +4535 0.0007991301108533683 0.0007939627072426759 0 0 0 6.249692733998953e-05 +2595 0.0011906427396938422 5.488288358692713e-06 0 0 0 3.303781030691994e-05 +3242 2.024909910294534e-06 6.89472160630698e-05 0 0 0 8.27994690833166e-06 +4803 -0.0002031797032357635 -9.778175039057588e-05 0 0 0 -0.00021884680298542815 +4661 0.0012837510475659922 0.00013025080640860216 0 0 0 0.0002459331438701494 +4672 0.000993469295377631 0.0007369266634362628 0 0 0 -4.021878095760038e-05 +4692 0.0004368796091343277 0.00044246451113357166 0 0 0 -1.283601218567178e-05 +4731 0.0010119992168812007 0.000684887819012092 0 0 0 -2.546376991563811e-06 +4769 0.0007108755030705411 0.0007635514604150964 0 0 0 -5.5924053913721666e-06 +4854 0.0009087495775004724 0.0007947966179698003 0 0 0 -0.00109790668417118 +9990 0.0004763910743796866 0.0005149511675451371 0 0 0 -7.095870409149097e-05 +9805 0.0014145286737924155 0.0010635800513938243 0 0 0 -0.00073868335857752 +4906 0.0009071450612344789 0.0003823644824229978 0 0 0 0.00014608900779364376 +4931 0.0007492156032523877 0.0006060925206848166 0 0 0 1.1678534524889814e-05 +4946 0.0009613194463730976 0.0004604766994667552 0 0 0 4.8266305521717526e-05 +1091 0.0008887424319430343 0.0002022578855705266 0 0 0 -7.372358638409269e-05 +4987 0.0010317262573283467 0.00033329715283602766 0 0 0 0.0001764848580570793 +9227 0.0005652454613408094 0.0005868674082062511 0 0 0 -2.3488824898667307e-05 +9410 0.0009078933027020857 0.0005342499843336189 0 0 0 -3.319790899053927e-05 +5037 0.0008174973285027548 0.0008152900100256786 0 0 0 -2.4609323961536495e-05 +5050 0.0005888655137234644 0.0006651394894102717 0 0 0 -3.757693056584394e-05 +5060 0.0015653387183846635 0.0005779178992109781 0 0 0 -0.00024243906314723042 +5066 -0.00019847357144426166 -0.0034357944862846448 0 0 0 0.0020685935159961413 +8511 0.0009130974923428098 0.0005094659034064489 0 0 0 -2.7873328677145094e-05 +2456 0.0009195919121445733 0.00011269179013772697 0 0 0 6.256384845412323e-05 +4211 0.0009691120014073312 0.0004850138965657393 0 0 0 -0.0004221291285499362 +5158 0.0005968734792067907 0.0005001795777134383 0 0 0 -6.502501891161866e-05 +5169 0.0007699935402373765 0.000688377717284156 0 0 0 -4.8074205078761875e-05 +5188 0.001179862417445787 -1.3467118640540979e-06 0 0 0 1.3989869917133214e-05 +5217 0.000705917459674275 0.0008224671125554253 0 0 0 7.989074157306388e-05 +5237 0.00034960584420257326 0.0004817556101282256 0 0 0 6.816970526248431e-05 +9746 0.0006903366708076823 0.000800207777578775 0 0 0 -2.214662822342987e-05 +5294 0.00024303592371076015 0.0001687646614405779 0 0 0 0.00011177478173303645 +5315 0.00091939786347353 0.001001313774478041 0 0 0 -6.651676940585649e-05 +5331 0.0006457343422258708 0.0007167865479431693 0 0 0 -3.582697697175543e-05 +5354 0.0007656916640976329 0.0008639908252186179 0 0 0 -4.120195955617853e-05 +5379 0.0006905963989684282 0.0006907148963668701 0 0 0 -6.143088464627957e-05 +5389 0.0014090195038374994 6.837745694939934e-05 0 0 0 0.00010957089109851347 +5459 0.00011509939117341331 5.833286307328428e-05 0 0 0 2.4818647136665264e-05 +9970 0.0006947380791343643 0.0007849175828010365 0 0 0 0.00020984776511677526 +8718 0.00014428201654261556 2.4964302369702695e-05 0 0 0 1.5688247896628216e-05 +5516 0.001267134763358918 0.0006521266607035912 0 0 0 6.62649804456643e-05 +5535 0.0007293980556798361 0.0008298999293731622 0 0 0 3.1260905867705895e-05 +5542 0.0011325002729680083 0.00013767276018897005 0 0 0 -2.960817710900752e-05 +5562 0.0009931968168933488 0.0002052430505932548 0 0 0 6.802227338407346e-05 +5585 0.000908656325130077 0.0004241553750586806 0 0 0 2.1924427785026355e-05 +5592 0.0006746641767256884 0.0007479912135206033 0 0 0 -6.629369107795002e-05 +834 0.0007188050026043882 0.0006231305603977581 0 0 0 -8.706882466039185e-06 +5626 0.0007543738175143244 0.0008193410792864836 0 0 0 -1.496736528245262e-05 +6444 0.00043469144976467203 0.0004656411539226227 0 0 0 -6.357641701268834e-05 +5653 0.0009081741767161022 0.0006475491761411382 0 0 0 5.341867633610033e-05 +1996 0.0009309302368286858 0.0002706190905025606 0 0 0 -0.00010833214994642037 +5674 0.0006884492767139976 0.0008275658266736603 0 0 0 -7.085773849478502e-05 +9300 0.0007962307921916574 0.0007119052458344258 0 0 0 -2.7363974304139048e-05 +5686 0.0011602030419772431 0.0006772831917674034 0 0 0 -3.985987769512517e-05 +5689 0.0009209251798540001 0.0006179574390274803 0 0 0 -5.901723310396401e-05 +5828 0.0014902218016314094 0.00037781928686584694 0 0 0 0.00018206446135058345 +5848 0.000777224974149522 0.0006737234183613233 0 0 0 2.1442216011012648e-05 +5894 0.0006232272301386521 0.0007316052843527439 0 0 0 -0.00016065459323363 +9499 0.0007319578752729253 0.0005440393886755282 0 0 0 -3.112140715080836e-05 +5927 0.00021648897093010092 0.00016513917303464902 0 0 0 -5.774599877093817e-05 +1883 0.0007152916225364199 0.0008363232875945816 0 0 0 8.900629399134737e-07 +5983 0.0011606017439478034 0.0005940796870485725 0 0 0 -5.862792662759145e-05 +5989 0.0005378474938414036 0.0005483396250015929 0 0 0 7.400274067474265e-05 +9748 0.0005628854462450491 0.0005026274422516851 0 0 0 -0.00010092913142466864 +6024 0.0005344845497367813 0.0005275298813088496 0 0 0 -2.3892953392936183e-05 +6086 0.001767034380367703 0.0008119063756879282 0 0 0 -0.0001926455484378135 +6087 0.0009275110628678423 0.0004532612110048035 0 0 0 -6.4550375381800754e-06 +6106 0.0009129746232977227 0.000532856176022346 0 0 0 -2.2200605624312873e-05 +8592 0.0006984388199315142 0.0007671283718363274 0 0 0 0.0001308974277000764 +8781 0.00028123576151072054 0.0002885161455182153 0 0 0 -6.112964164838002e-05 +7364 0.0009269299864008401 0.0005051684877094015 0 0 0 1.3003401925852444e-05 +6313 0.0007015803442604807 0.0006539139944681225 0 0 0 -1.227133477223408e-05 +9782 0.0004598502599154921 0.0005750821231431749 0 0 0 2.9502402232736813e-05 +6167 0.0007358847992248536 0.000651337174814784 0 0 0 3.610196765757287e-05 +9697 0.0009409320709646906 0.00047840000956796944 0 0 0 -0.00010046499648504978 +6219 0.0007041067041792363 0.0008526725245707906 0 0 0 -4.847347507036968e-05 +6222 0.0006791490074461101 0.0006248440160957691 0 0 0 -3.985207766833492e-06 +6794 0.0010594097255405398 -8.928117372594864e-05 0 0 0 -8.397994175145386e-05 +7748 0.0011238953668646229 -2.951430543608863e-06 0 0 0 -0.00029400461527808776 +6250 0.0026204561234914915 -0.0020071475741078116 0 0 0 -0.0010626823004417892 +6255 0.0008963689673266257 0.0010123236675478229 0 0 0 0.00019729352291227793 +6263 0.0004795819801729623 0.000571604053352009 0 0 0 1.3849539597914017e-05 +3385 0.0007986148279648194 0.00046992889760358065 0 0 0 -5.0193982439700697e-05 +6289 0.0005587759828117548 0.0005483082357876232 0 0 0 -8.814387295188157e-06 +6290 -0.0012541420619827583 -0.0015629217442159073 0 0 0 0.001465469680216568 +6296 0.0008832279263079317 0.0006334071722917466 0 0 0 2.1058933550869063e-05 +6317 0.0005573720309305695 0.0006492566355359079 0 0 0 1.905103457794814e-07 +6319 0.0009949185189285276 0.0006710792045282456 0 0 0 -0.00011497143914137316 +6344 0.0006996006967777393 0.000753373551927687 0 0 0 4.505335151461745e-05 +6362 0.0006821329643390495 0.0007920259062771456 0 0 0 -7.058159206660312e-05 +6512 0.0006678772204052964 0.0005180076119633269 0 0 0 2.1532414023743308e-05 +6454 0.0004985820381586717 0.0005211391964317061 0 0 0 4.8707496330541275e-05 +6463 0.0011531079865797994 0.0005722072728861533 0 0 0 2.6983078774062145e-05 +6467 0.0010743477057605663 0.0002338559019044262 0 0 0 -4.269495618584307e-05 +6493 0.0008760212921040146 0.0006768449923452968 0 0 0 -8.869084147028437e-05 +6500 0.0010796500713733592 0.0007525920709045192 0 0 0 -2.366673761739995e-05 +6511 0.0007100530767610102 0.0007301234075226502 0 0 0 6.983002131594095e-06 +6534 0.0009046353017634691 0.0003009289402485897 0 0 0 -2.9680018928418786e-05 +8617 0.0003697416832933304 0.00037922393131086153 0 0 0 0.00011742825564083222 +6554 0.0006976205650310236 0.0006464002294132181 0 0 0 4.430220309827943e-06 +4956 0.0006155990147498375 0.0006867304844627161 0 0 0 -2.6643948731543764e-05 +4254 0.0008538200925158595 0.0004998855663307386 0 0 0 3.053653215835051e-05 +6606 0.0009285537022516759 0.000170394627709607 0 0 0 -0.00019920937564499796 +5493 0.0010349806136528304 0.0007112440581961669 0 0 0 -0.00048605256508936435 +6738 0.0008990665171187818 0.0010268589729343204 0 0 0 -2.4457087028350716e-05 +9396 0.0005624105824127955 0.0005682303062040665 0 0 0 3.3362341823512614e-05 +8626 0.0005612435265386654 0.0005156907162550986 0 0 0 9.438009355265017e-06 +6765 0.0013796793782901982 0.0007271357155429917 0 0 0 -2.4798805487017034e-05 +7992 0.0012584115036454483 -8.339138679388682e-05 0 0 0 8.757443729192889e-05 +2472 0.0008629661713696456 0.000303732230386498 0 0 0 1.697943742916582e-06 +6812 0.0005752015617677736 0.0006088550793102369 0 0 0 -1.5883961805947715e-05 +6161 0.0008825076681796471 0.0004434485887570697 0 0 0 -7.613961710023797e-05 +6877 0.0009246797093746044 0.0008535037761385116 0 0 0 -0.00012686543788991377 +6892 0.00080558469102179 0.0009429666863291994 0 0 0 2.356394489778627e-05 +3815 0.0009451952628866577 0.0004501536454129086 0 0 0 -4.986494656442697e-05 +9411 0.0008977351631814662 0.0009367866708856301 0 0 0 1.7255979120263335e-05 +6946 0.00018176652326265785 0.0002691890050724713 0 0 0 -1.9622744229026587e-05 +6955 0.0005623982310401226 0.0005231785843133478 0 0 0 1.083222530287192e-05 +7001 0.0006193937116932739 0.0006095788527665756 0 0 0 -5.735795118002888e-05 +4066 0.0005735076392768568 0.0005223975395923591 0 0 0 1.3420938158466492e-06 +7014 0.000640111899266178 0.0007262925308856786 0 0 0 -6.78725505932441e-05 +6814 0.0006725811413981815 0.0005347983612899475 0 0 0 2.4880064954740394e-05 +2893 0.00010550832072761526 0.00017999345042663093 0 0 0 8.951149113288517e-05 +7030 0.0005596896986887377 0.0005864457891579235 0 0 0 2.900576629337392e-05 +7040 0.0009075354064117695 0.0008971238734378718 0 0 0 0.00020312505517111612 +7057 0.0009164315229241239 0.0003492877062813423 0 0 0 1.5114106045420257e-06 +7075 0.0004794659338937143 0.0005853796601868613 0 0 0 -6.210612448487874e-05 +8954 0.0009708603245495076 0.0008008863096122555 0 0 0 3.279725115283245e-06 +7081 0.0005072127053911883 0.0003906593588201815 0 0 0 0.00019969276752781305 +8910 3.9750901095143405e-05 0.00012587002216474282 0 0 0 0.00012651377631474895 +8989 0.00023264641653383255 0.0002796806072237394 0 0 0 -9.730844222284872e-05 +7171 0.0010092408755705436 0.00040147681981315286 0 0 0 -0.00020155869964457517 +7182 0.003290606050429322 -0.0011644419847363554 0 0 0 0.0005375352952717682 +8541 0.0007115777802476252 0.0007715371478413667 0 0 0 0.0001559371484497471 +9701 0.0011928273712216264 0.0006968601315343479 0 0 0 7.050191693636366e-06 +7222 0.0012400814966124307 0.0008487202376334494 0 0 0 0.0002176501088698922 +9434 0.0007165904238916335 0.0008247997529584109 0 0 0 -8.389355423930292e-05 +7249 0.0008340522558362318 0.0008950675556795603 0 0 0 -4.462897169261876e-06 +7290 0.0014372797257941024 0.0007369948819710227 0 0 0 -0.00042908908132140356 +7315 0.0011936144253494418 0.0007811414959425046 0 0 0 -1.795305647049198e-05 +7567 2.808228377746958e-06 2.2887267230034013e-05 0 0 0 2.281482793966239e-05 +7338 0.0010544715457304957 0.00040840896254012684 0 0 0 1.3379101571664098e-05 +9249 0.0004759588539073934 0.00034314932372330565 0 0 0 5.7935378841069396e-05 +9584 0.0008367235104282488 0.0006950382325226112 0 0 0 -4.826411596003168e-05 +9067 0.0006240179116034504 0.0004977869087606121 0 0 0 8.29627824433869e-05 +7445 0.0003986383872449468 0.0005288816014025686 0 0 0 -6.884302925327648e-05 +3768 0.0009532500937000923 0.00042497691885592665 0 0 0 -3.416070868820427e-05 +1378 0.0008023056784692062 0.0006220940611748286 0 0 0 5.365630505821444e-07 +7506 0.0006600078026710159 0.0007192149458900417 0 0 0 -7.853606595421233e-05 +7525 0.0008387993422518475 0.0007436417436366953 0 0 0 -8.140319665449557e-06 +7547 0.0006864570572383775 0.0007263797613152228 0 0 0 -9.787801257366933e-05 +7620 0.0025823561706050627 0.000767248588530705 0 0 0 -0.0008170105452089659 +7645 0.0007126573779653325 0.0005365805347510176 0 0 0 -2.7628295725252792e-05 +7649 0.00013261000872852476 0.00024490098470266017 0 0 0 -3.5642343089866354e-05 +7650 0.0009554969676178978 0.002308020231978831 0 0 0 -0.0024883262599051143 +8447 0.00031753768141677474 0.0002349051599500491 0 0 0 -3.596720936183836e-05 +9563 0.0007874204334475845 0.0009121882160798559 0 0 0 0.0005734214449747205 +7700 0.0060089664245491685 -0.005594448811507953 0 0 0 -0.0009422968087497753 +8325 0.0015038465442488828 0.0009004322863503021 0 0 0 -6.308856612441388e-05 +7745 0.0010453153457925524 0.0008613495805583441 0 0 0 -0.00012414870669836243 +7823 0.0011194409706579672 0.00033887357750420885 0 0 0 -0.00041526603821857746 +7824 0.001581256301033927 0.000363803939579749 0 0 0 -0.00035531321278622576 +7831 0.00036500362223700164 0.0005122890907726076 0 0 0 0.00010015586630385502 +7856 0.0007124758342156157 0.0006683952321819778 0 0 0 -2.5055444343644856e-05 +6099 0.000710158812263354 0.0007873944975611242 0 0 0 5.4467410762330385e-05 +7922 0.0012365126953191267 0.00056614951009008 0 0 0 -9.959333292159732e-06 +9088 0.0005696138838348351 0.0005477305738902137 0 0 0 3.176818571010052e-05 +4615 0.0010473484954002358 -0.00011115921910047947 0 0 0 -0.00020666154694036585 +7947 0.0009373927669375825 0.00024906357457595815 0 0 0 -3.2889411173376565e-07 +8806 0.0007168742035030544 0.0007789406457245856 0 0 0 -0.00021262963340200463 +6115 7.55292597807282e-05 8.683352296239648e-05 0 0 0 0.00010142639517887121 +8002 0.000532548856269659 0.0006165646282774085 0 0 0 0.00012917679863822586 +9397 0.0007958689776466251 0.0007379622109710493 0 0 0 7.971887804159023e-06 +8090 0.0006850276333906254 0.0006770764191624416 0 0 0 -8.273403426599453e-05 +8100 0.0006763232126607581 0.0008015802075839257 0 0 0 0.00012755467439988649 +8115 0.0010917729896808715 0.00028310811624816107 0 0 0 -0.00022003421808627067 +8149 0.0015345115394898969 0.0007214058795193721 0 0 0 -0.0007071290154964358 +8161 0.0004520679424469892 0.0005569007494001791 0 0 0 5.016143640000686e-05 +9405 0.0008779727709998773 0.000704392836808925 0 0 0 -2.6073041260179124e-05 +4537 0.0009447780388221158 0.0002491235348763328 0 0 0 -1.30335189607561e-05 +8214 0.0012520542258222871 0.00048802749229638013 0 0 0 -0.00024202272817283526 +8928 0.0005846642074727953 0.0007186204990132236 0 0 0 -1.1516689550971165e-05 +6446 8.55080193599266e-06 -0.00023892273485222679 0 0 0 -0.00024228388264486674 +8268 0.0008527245169904839 0.0007168515793195215 0 0 0 -2.5018796597131432e-05 +4990 0.0011318942930279275 -4.629939942842037e-05 0 0 0 -0.00025667502712652454 +8275 0.000843602159075503 0.0007192146758765188 0 0 0 -7.930181181622327e-05 +7205 0.0011362637131227228 7.995226134361283e-06 0 0 0 -0.00015222504760483498 +8204 0.0007796934435526999 0.0004236773967904001 0 0 0 -4.440319816770667e-05 +8729 0.002494437372365155 0.00030234641765276187 0 0 0 -0.0018313368094386383 +125 0.0003620039111380764 0.000320872589628095 0 0 0 -2.6810298284600313e-05 +9647 0.0002061671148070388 0.0001437588938462298 0 0 0 0.00016544043274952481 +9308 0.0009118790976030887 0.0001071518256977993 0 0 0 0.00011534995636638002 +1081 0.0005994199311687089 0.0005081359213962047 0 0 0 5.1436096198448896e-06 +1582 0.0006639909344170839 0.0006658236985101747 0 0 0 2.5300624313145074e-05 +6238 0.0004955275744842481 0.00044798187551527054 0 0 0 -7.623611809122168e-06 +4420 0.0006287828835700955 0.000601937599991739 0 0 0 -7.095985122894525e-05 +7227 0.0003290495020108896 8.948191461307811e-05 0 0 0 0.0001774292505231603 +378 0.0007879517772733175 0.0004636725726893867 0 0 0 -1.965555072345015e-05 +507 0.0006312673683736642 0.00045408123289349003 0 0 0 -1.94431478658855e-05 +5655 0.0009735733779288935 0.0001276495214886057 0 0 0 0.00019972728605139264 +2140 0.0006415169829345407 0.0007264661434972957 0 0 0 4.929821740623308e-06 +2743 0.0003044171976948693 0.00034170140344178635 0 0 0 5.8795461144218957e-05 +8694 0.0011258955602205742 1.3048551416597687e-05 0 0 0 0.00014032906801597528 +7038 0.0004792068865350078 0.0004438386249966399 0 0 0 -1.5114759756425505e-05 +2540 0.0005438569638141772 0.0005103969198463872 0 0 0 -1.1958638599931959e-05 +5115 -6.5531367491382495e-06 -0.0002490072382836473 0 0 0 0.00032009801274307835 +5239 0.0009544012235797912 0.00041570776209417235 0 0 0 3.660206272675654e-05 +1448 0.0005066428842092252 0.00045969559257214287 0 0 0 -3.0542083199591036e-05 +4192 1.3293896195416343e-05 2.5426861733721466e-05 0 0 0 4.233845917102872e-05 +4975 0.0006411330654827208 0.0006269392446050747 0 0 0 -3.175221909274013e-05 +4550 0.00010479450912714248 -4.4740311870880536e-05 0 0 0 -0.00011887237450667041 +6900 0.0006898797857095077 0.0008119862452149331 0 0 0 5.480725912266728e-05 +7708 0.0007832016667871966 0.0009007861248862042 0 0 0 0.00013729384911789972 +6571 -1.240516851200333e-05 -3.922581073552743e-05 0 0 0 -6.570541308892359e-05 +5543 0.00046156881342403883 0.0004164403687727262 0 0 0 -4.482716103455683e-06 +5627 -3.4811007119264314e-05 -0.00033474727616878206 0 0 0 -0.0006558155785214214 +5484 0.0005119701006642131 0.0005241839772366324 0 0 0 1.935125874279062e-05 +4311 0.0005665712580451988 0.000488332122462277 0 0 0 4.3523959426372686e-06 +4491 0.0004901962482976033 0.00044349431886498564 0 0 0 -8.354001641890786e-06 +9472 0.0010300717449307853 -8.882581592709648e-05 0 0 0 -0.00017283990979955613 +2480 0.0006419577585296877 0.0007754771869542377 0 0 0 -3.704514241892905e-05 +4052 -0.00017024173741355295 1.0157053020145389e-05 0 0 0 -0.00010040378031383146 +7446 0.0003343915029902605 -1.7736154255433067e-05 0 0 0 -0.00015973429727006742 +5124 0.00018907531123469787 -9.089557241984613e-05 0 0 0 0.0002710652517158879 +2154 0.0006195612833963045 0.0007278970223896849 0 0 0 -4.655767744530129e-06 +7454 0.0009361790936229035 0.0005196046713063093 0 0 0 -1.6982464943319266e-07 +4264 0.0006855157962669475 0.000489152731896713 0 0 0 0.00011936567884123258 +2724 0.0012736130968293137 -3.5324180529588236e-05 0 0 0 -8.218056803402664e-06 +1116 0.0009249929713320363 0.0003526495244912877 0 0 0 -7.777202964436449e-05 +1895 0.0005581775127375319 0.000584947723335749 0 0 0 -3.3379337657793616e-06 +6784 0.001028065873901604 -4.101921582894038e-05 0 0 0 5.666530242059671e-06 +4175 0.00018006424444688628 8.802113913004523e-05 0 0 0 -7.228064889024703e-05 +3223 0.0006898015092127551 0.00044682975538458094 0 0 0 5.597152438034065e-05 +8585 6.725094624804885e-05 -0.0002867171561451518 0 0 0 -5.156849450810613e-06 +5889 0.0005346918631779745 0.0004671167678729537 0 0 0 1.7648730320339375e-05 +5241 0.0004829910975704326 0.0004068736540497911 0 0 0 -6.157154535714868e-06 +6011 0.0005181732599036001 0.00044435842968901793 0 0 0 1.0582677103499969e-05 +6214 0.0004644114560540609 0.00045732860402658175 0 0 0 -2.353511319539965e-05 +9557 3.08598786652832e-05 9.908863022912951e-05 0 0 0 -0.0001110203524711924 +9983 0.0006084090428124798 0.0006914995439803245 0 0 0 1.3232417480132715e-05 +7981 0.0005841585079821156 0.00046736259602023835 0 0 0 -2.6077424089855513e-05 +5015 0.0007807935340199187 0.0004816446151650812 0 0 0 -7.426735092348066e-05 +2971 -5.1664607438548136e-05 -0.00038985181203387393 0 0 0 -0.00015530344817469863 +8281 0.0010067120804462368 -6.706358003475873e-05 0 0 0 -0.00010008164037626842 +713 0.0005831627540194718 0.0006423948027011681 0 0 0 1.3526291485527928e-05 +1397 -1.035309378546515e-05 -0.0001473757192634984 0 0 0 9.688168774240904e-05 +9569 0.0006197094115957885 0.00044117734696012134 0 0 0 1.7950908497660686e-05 +235 0.00034847064956852107 0.0004173677975051793 0 0 0 3.6954455400463195e-05 +61 0.0009974815796674117 6.987091971067301e-05 0 0 0 -2.0341385553563567e-05 +835 0.0002706864184077286 0.00020426774056976564 0 0 0 -5.5599984808790674e-06 +2735 0.0006588774940959658 0.00043472253141411455 0 0 0 1.2510306384853962e-05 +9208 0.0007756710958285477 0.00034489007540338936 0 0 0 -5.331414790637006e-05 +5612 0.0008778863812600238 0.00029450392173466943 0 0 0 -9.120705622291735e-05 +4020 0.0005461203698139829 0.0004627282640784373 0 0 0 -8.180753937775461e-06 +8269 0.0017419261421026573 -0.00019198142595060034 0 0 0 -7.923534222446449e-05 +994 0.0006985091453569925 0.00044797708635401797 0 0 0 1.3292738438972353e-06 +2796 0.0004937799072808925 0.0004280655243919662 0 0 0 3.9850872101994737e-07 +9752 0.0005073071693577868 0.00042891265508431187 0 0 0 -3.0340376968748674e-05 +6763 0.00019905563907788242 0.00014301288990488912 0 0 0 -0.00012845466652830595 +7707 0.0006364514138497871 0.00040360365380044655 0 0 0 -3.823379052442313e-05 +7695 0.0007795807782723278 0.00032406626503274984 0 0 0 -3.0451746616947194e-06 +3130 0.0007248660320413792 0.0003787342086888145 0 0 0 -5.024416214198625e-05 +3885 0.0010683575232437836 -0.0001008030585858383 0 0 0 0.0001160796941461965 +3801 0.0011269225713810538 -0.00011522843222030495 0 0 0 -9.116082693205811e-05 +754 2.8956297569944975e-05 9.15787187525968e-05 0 0 0 -5.1381824595217495e-05 +1479 0.0002128283098577917 0.00016570580767181846 0 0 0 9.664766817104866e-06 +5161 0.00030355012608960786 0.00042418648081323374 0 0 0 -5.5083425319284594e-05 +7962 0.0012730312637714105 -0.0003945667731474425 0 0 0 -1.5190591396152151e-05 +78 0.0011970251597669408 -0.0004411043680263432 0 0 0 -2.0447818468137695e-05 +87 0.0012863438051945138 -0.0004770095894625339 0 0 0 -4.094153993728702e-05 +91 0.001157935461601928 -0.00032879131407026615 0 0 0 1.4123005691266414e-05 +98 0.0010766957238360244 -0.0004565593060501977 0 0 0 -1.1490602721168729e-05 +129 0.0010025518089947986 -0.0001992026764775477 0 0 0 -5.62920378950773e-06 +154 0.0010456262158322898 -0.00024210071757230445 0 0 0 -5.287676447395848e-06 +157 0.0012391026359007023 -0.00032178517350557096 0 0 0 -1.7650294489903717e-05 +175 0.0012232940164987496 -0.00028550301798206825 0 0 0 -5.200411203929259e-07 +3611 0.001034854629736794 -0.00025231056574481726 0 0 0 1.3664990976582764e-05 +192 0.0011066012640240912 -0.0003452694115525728 0 0 0 3.179473409803399e-07 +200 0.001105455177371732 -0.00025606579007714155 0 0 0 1.0542850568982926e-05 +221 0.0009860767294119217 -0.00046626759497036093 0 0 0 1.4544129029345071e-05 +9429 0.0008215051276460227 -0.0003579550248562814 0 0 0 -1.4666614916214273e-05 +259 0.0012453828817727893 -0.00049089605694023 0 0 0 -1.0090994371185864e-05 +265 0.001095782384899382 -0.00033158158741098786 0 0 0 -2.1203282777568868e-05 +305 0.0010121584520102413 -0.0002507775317428298 0 0 0 7.73571377524694e-06 +314 0.001101659163870381 -0.0004997522430065851 0 0 0 -2.303859932068339e-05 +315 0.0014941115999517064 -0.000593692111291004 0 0 0 -6.465500781011927e-05 +316 0.0011895910640813167 -0.00046520237893570216 0 0 0 -7.952381851852092e-07 +9233 0.0012765217608125613 -0.0005237037108562451 0 0 0 5.6707491992296964e-05 +328 0.0010654463267584394 -0.00022180500967564486 0 0 0 -1.1602742159952595e-05 +345 0.0011029925224552222 -0.00025338443685887394 0 0 0 -6.149941696424603e-06 +365 0.001247785801845637 -0.0004931717065966602 0 0 0 7.35202247744496e-06 +395 0.0008272479345778757 -0.00036029399127494166 0 0 0 -0.00011218756704038847 +504 0.001583215801750864 -0.000557560925425027 0 0 0 -4.815399584565568e-05 +556 0.0013067329157397528 -0.00048741815552047555 0 0 0 -2.1929114133324343e-05 +568 0.0011723416381358043 -8.340789228107506e-05 0 0 0 -2.213090310847623e-05 +256 0.0010541382084102641 -0.00031858527459819957 0 0 0 1.0317125640618341e-05 +582 0.0010668195588507089 -0.00029259421578250745 0 0 0 -7.022400303161907e-06 +583 0.0011681822923600748 -0.00018794451621908243 0 0 0 -1.400141282356844e-05 +586 0.0011985742431202316 -0.00023563611173432294 0 0 0 -1.700756925054859e-05 +598 0.0009826865789369465 -0.0002226523453567061 0 0 0 9.265323142430225e-06 +599 0.0010545649679364116 -0.0002611901104835182 0 0 0 1.574977408413073e-05 +613 0.0011230263304273392 -0.00029512536024553385 0 0 0 -1.410093414749236e-05 +7478 0.000873710115056649 -0.0004348156843289521 0 0 0 -2.5997979848653352e-05 +4457 0.0012053394296067143 0.00016433290553916806 0 0 0 -4.995724236986119e-05 +660 0.0010859638563391577 -0.00030469937875947584 0 0 0 2.3815233120775584e-05 +662 0.0012115126873123857 -0.0002466997792518413 0 0 0 -7.066778120251575e-08 +672 0.0010905762808516286 -0.0003033110572307274 0 0 0 1.907643609488467e-05 +680 0.0012930794017077458 -0.0003989871193881749 0 0 0 -3.350695907482657e-05 +705 0.0010685256194218951 -0.0004640018656873348 0 0 0 -5.894379589571521e-06 +746 0.0011575055125956088 -0.00048019354167846154 0 0 0 -1.4178622847746634e-05 +1540 0.0012143648156024292 -0.00042663524241778124 0 0 0 6.092264987373832e-06 +782 0.0007448270415045598 2.375863306312795e-05 0 0 0 1.93342562341914e-05 +4312 0.0011875706623775191 3.692138211274545e-05 0 0 0 -0.00010282485058179395 +843 0.0013660982187715218 -0.0005713495416917143 0 0 0 2.2709954413533233e-05 +882 0.0012636061308139992 -0.0005006194663397044 0 0 0 -3.0147106837204622e-05 +775 0.0010025973246509598 -0.0002548163239384245 0 0 0 -1.335051000565326e-05 +900 0.0011168825513604849 -0.0002832783071377799 0 0 0 -1.0721510134505738e-05 +907 0.0015256897589198228 -0.0005236790648087867 0 0 0 -0.00020646054342717853 +518 0.0008298339859794594 -0.00034631167961368 0 0 0 -3.3249144773602645e-05 +931 0.001231542514832845 -0.0004297055761827759 0 0 0 -3.856627347725453e-05 +933 0.0009608564171853828 -0.00020321601318466813 0 0 0 -3.410432429549554e-06 +7561 0.0008302018733353916 -0.0003149291972350247 0 0 0 1.3344257606604366e-05 +943 0.0011153823171460933 -0.00026041288348387673 0 0 0 -2.7827159137190087e-06 +954 0.0009523932420982462 -0.0004806601284387006 0 0 0 -9.07446243505511e-06 +6302 0.0011545319582813693 5.956814779244099e-06 0 0 0 -5.600738888791885e-05 +966 0.0010983383676841205 -0.00029876899309241905 0 0 0 1.1216376949681368e-05 +1004 0.0011554813157023198 -0.00011173977918651718 0 0 0 -7.892507000689975e-06 +1094 0.0010770328389043448 -0.0003217320751354234 0 0 0 2.1857496326965042e-05 +1106 0.0014028506904478655 -0.0004794215264474096 0 0 0 -7.081758918911585e-06 +1109 0.0009388711091471872 -0.00024670288931520867 0 0 0 -4.209144553650232e-07 +1124 0.001239380905234507 -0.00042555540496319724 0 0 0 -4.6102111588562047e-05 +1154 0.0008811626550396611 -0.0003005829117552937 0 0 0 -3.797927425030887e-06 +1175 0.001061480563455663 -0.00028206010967014714 0 0 0 -2.2601982268719714e-05 +1207 0.0013362209374621508 -0.00047793870980523576 0 0 0 4.146108682858278e-05 +1211 0.001116459843515514 -0.00021676567491521942 0 0 0 2.5002358217312972e-05 +3137 0.0009336635147663474 -0.00024019891521782043 0 0 0 6.723598322192554e-06 +1251 0.001172595900365263 -0.00045937297730591945 0 0 0 -2.1885656297751626e-05 +1007 0.0008382001028233091 -0.00047122832194797254 0 0 0 -3.8089438813396557e-07 +2552 0.001028809754921067 -0.0002954034785459947 0 0 0 -9.152316826488844e-05 +1299 0.0010507922641443052 -0.00023447976067255902 0 0 0 -2.4766691648243466e-05 +4696 0.001388253511764898 -0.0005384208912795371 0 0 0 4.164569791177774e-05 +1325 0.0010859726092563213 -0.0004601581985721306 0 0 0 7.980491592989399e-06 +1330 0.0009683862078838882 -0.0002672088257404564 0 0 0 3.234333850848746e-06 +9847 0.0010342754379131368 -0.0002544660220350743 0 0 0 1.5333754645324763e-05 +1359 0.00080908373658624 -0.0003513272758935859 0 0 0 0.00023513032489768586 +1363 0.0012871278173497845 -0.000504102833935496 0 0 0 1.682402802355267e-05 +979 0.0010826753771991716 -0.0002783880762589164 0 0 0 -7.81570262019721e-06 +1388 0.0010388233952159606 -0.0004426438219895773 0 0 0 -3.5834230599914e-05 +1406 0.001169444575569328 -0.0003089000988446425 0 0 0 -2.669642980558504e-05 +1407 0.0012698496984114274 -0.0005014004613272834 0 0 0 -1.3056643085581646e-05 +1437 0.0010226383666663745 -0.00042094576904626286 0 0 0 1.1765350109527146e-05 +7834 0.0009195363613348443 -0.00022571780640691402 0 0 0 1.4811568352868042e-06 +1451 0.0012636721257049638 0.0001071963012181252 0 0 0 -0.0001452695459874585 +1463 0.001087241763005941 -0.00025423159575056975 0 0 0 -7.4076163132767665e-06 +1497 0.0010449258776563095 -0.00020539312700358387 0 0 0 1.6609956243172397e-05 +1502 0.0010747798321709221 -0.00020049166045114436 0 0 0 0.00011830355147089653 +1508 0.001096542359645316 -0.0002423835850554852 0 0 0 9.803377076356624e-06 +1515 0.0011562587721801404 -0.0002802953550693907 0 0 0 -1.9015837882497078e-05 +1517 0.0010585359680896239 -0.0002846562725423027 0 0 0 -1.21097720138928e-05 +1553 0.0010511926362119482 -0.0003780358025169475 0 0 0 -1.315072155664279e-06 +1626 0.0017720769112733335 -0.00048551822645316145 0 0 0 -0.0001844859503258766 +1643 0.0010876636473530583 -0.0003856607641741792 0 0 0 1.2718055223429327e-05 +105 0.001365929489519644 -0.0005659211866432598 0 0 0 -9.505758840845214e-06 +1708 0.0011589206380071774 -0.00020171328748163137 0 0 0 3.947429990245429e-06 +1721 0.001039723117463936 -0.0002755799284408548 0 0 0 1.7444360467882795e-05 +1743 0.0012424467792566903 0.00019533480358095172 0 0 0 0.00011671780762507404 +1754 0.0009660544708674346 -0.000425075837533772 0 0 0 -4.298084301468066e-07 +1773 0.0012304793433994096 0.0001365533623369023 0 0 0 8.690584918939122e-06 +1781 0.0013550740499974584 -0.00042665889904159747 0 0 0 -8.186937892769716e-05 +1790 0.0009941602660536568 -0.00026179453932783536 0 0 0 -2.637052639092183e-05 +1818 0.0013724229342165076 -0.0005686364818947239 0 0 0 -5.7737528408877885e-05 +1843 0.000987179647522663 -0.0003954855178707194 0 0 0 3.278981977809322e-05 +1851 0.0011794527533122842 -0.0004000453747087997 0 0 0 -3.248060978478442e-06 +3831 0.0010876187686451547 -0.00027606081980686645 0 0 0 4.896446462060648e-06 +1884 0.0011322278150315574 -0.0002468795765162512 0 0 0 -5.9153553111870566e-06 +1889 0.0009404839759578408 -0.0003304333543046333 0 0 0 -6.25178059585328e-06 +1917 0.001224857368202881 -0.00040777865254729444 0 0 0 -7.426237975820283e-06 +1937 0.0012229759610155543 -0.00046894052207953774 0 0 0 7.843290330631182e-06 +1629 0.001066743899009866 -0.0003815718972507841 0 0 0 -1.4670796804021044e-05 +1998 0.0011239980248128356 -0.00010220588660098672 0 0 0 -2.049614981771093e-05 +2005 0.0013664812122735435 -0.0005000726501863913 0 0 0 -0.0004081569326119337 +2012 0.0012066107506592519 -0.0004912572590830481 0 0 0 -3.1215714369654806e-05 +2035 0.0010391249344431342 -0.0002840883876387508 0 0 0 -1.1326837744317503e-05 +2112 0.0015180144182816672 -0.0006278088116388588 0 0 0 -0.00020319723252784535 +2119 0.001221159206407084 -0.00014487298737384874 0 0 0 -3.662757615269163e-05 +2123 0.0010023952859359244 -0.00024431154269835727 0 0 0 -1.826578626868768e-05 +2129 0.0012216751837431914 -0.00038751360517688384 0 0 0 -3.5580184445413907e-05 +2172 0.0009211539578647293 -0.0003183380651351089 0 0 0 -0.00024564528552174027 +2173 0.0008027983116483826 -0.0003950082450576238 0 0 0 0.0001210523199253637 +2186 0.0012384853652391585 -0.0004939870432156379 0 0 0 2.026579158358411e-05 +2194 0.0009663801905502437 -0.0002480440232205599 0 0 0 -6.98444682419115e-06 +2210 0.0011154234529454827 -0.0005068578607293837 0 0 0 2.1857265299996897e-05 +2225 0.0015587008348490023 -0.0005144441783238793 0 0 0 4.3317784529994414e-05 +1283 0.0009863987749261364 -0.00023887273277890404 0 0 0 1.7320658526470865e-05 +2277 0.0011699682472740712 -0.00047472363158089617 0 0 0 -3.246776275151106e-06 +2339 0.0013563203166565886 -0.0005161050696668494 0 0 0 2.8492760128777522e-05 +2362 0.001083754392182871 -0.00024214999418032627 0 0 0 1.0797863883170082e-05 +2404 0.0012042611084824163 -0.00026132682066010556 0 0 0 4.4005558688780626e-05 +2428 0.0010532525934204302 -0.0003668948238042572 0 0 0 7.12338502819598e-07 +2432 0.001435009787080854 -0.0005648521169550085 0 0 0 6.165088921168849e-05 +3420 0.0008514054206231189 -0.00037864888890632895 0 0 0 -7.975408106580502e-06 +2454 0.0011132472333036834 -0.0004658219824004616 0 0 0 -1.3325308281058852e-05 +2521 0.0009985575930951587 -0.0003993810165898784 0 0 0 3.374359625958094e-05 +4937 0.0008343195269242954 -0.0004501120019605492 0 0 0 -6.149745717193574e-06 +2542 0.0009667050830255063 -0.0002752105821529169 0 0 0 -9.303004532155984e-06 +2554 0.0014819941308955083 -0.0005610197943817318 0 0 0 -0.00031673747166511586 +2559 0.0011553195220550174 -0.0005332026180708519 0 0 0 1.2801029421609678e-05 +2645 0.0010196790145493102 -0.0002688977138395587 0 0 0 -2.2009710701901e-05 +2663 0.001043772243360395 -0.0004405104256649007 0 0 0 -8.535653006754681e-06 +2665 0.0009754665034917334 -0.00029388934231038883 0 0 0 -7.996798246158983e-06 +610 0.0010250382989685392 -2.186813415308607e-05 0 0 0 -3.44572679788856e-05 +7930 0.0008305922093551098 -0.0003511243467902211 0 0 0 4.736876703008645e-05 +2747 0.001066867477125439 -0.0002425075215099883 0 0 0 -0.00010361935173333831 +2793 0.0010976211886264786 -0.000502445540644526 0 0 0 2.946629909720693e-07 +2822 0.0011878895927618569 -0.00023177180177635508 0 0 0 -3.1306077552001274e-05 +2890 0.0011870393016717652 0.00012119703357661982 0 0 0 1.3153661328935697e-06 +714 0.0009270297878518172 -0.00033753204848641636 0 0 0 -3.0167545279817268e-05 +2953 0.0015845230501926814 -0.0005550563995362617 0 0 0 -0.000359437456826124 +1579 0.0010633098724749685 -0.0003787718241803467 0 0 0 -2.2840857932028488e-05 +9276 0.0009116202409736745 -0.00023110868090381025 0 0 0 1.3184563712115313e-05 +2981 0.001065890590566947 -0.0004136553361451902 0 0 0 -2.036614666699541e-05 +3021 0.0011199759060188624 -2.939616310017039e-05 0 0 0 -2.0064194963667684e-05 +3028 0.0015974148610879916 -0.00028896492803624725 0 0 0 -1.3039654026407683e-05 +3051 0.0012052471130849487 -0.00029328324502326473 0 0 0 1.740145257054395e-05 +3053 0.0010721573021271475 -0.000449451792106661 0 0 0 1.9001396079123265e-05 +3054 0.0012127566760920885 -0.00025035614691502694 0 0 0 -4.084746150976256e-06 +3061 0.0011383874177623003 -0.0002414444227848278 0 0 0 -8.740742228410941e-06 +3080 0.0010908620378970878 -0.0003097204864412875 0 0 0 -1.0789187013306214e-05 +3099 0.0012122096570264965 -0.00019467452187329695 0 0 0 -7.672988438528779e-06 +3112 0.00103092390120595 -0.0003819313772744279 0 0 0 -5.508031176225411e-06 +3125 0.0017186823599659902 -0.002222724190362472 0 0 0 0.00030949133607927114 +3165 0.0007983405026128798 -0.00032841640896248225 0 0 0 3.2521118645636403e-06 +3198 0.0008544565417515029 -0.00043635952462257427 0 0 0 0.0001694102446860137 +3206 0.001264231989773669 -0.0004710840968389606 0 0 0 7.8561837692972e-06 +3208 0.0009554385442655402 -0.00023248828543722338 0 0 0 -2.2703519655822384e-05 +3231 0.0013249761111081351 -0.0004448365228637322 0 0 0 -6.002353818399783e-06 +3244 0.001068719130514912 -0.00025780483023064014 0 0 0 -2.8455335997087772e-05 +3249 0.0010214498342285857 -0.00024112465883994197 0 0 0 -1.2663395830535533e-05 +3260 0.0009845186713065878 -0.00045227723907885915 0 0 0 -0.0001390125313193273 +3277 0.0010609463041167016 -0.00025349103420463506 0 0 0 2.289390855614209e-05 +3304 0.0015309044680064136 -0.0006475017819532987 0 0 0 -0.00011544050874883515 +3319 0.0010702501400447276 -0.00037755440267644487 0 0 0 1.0653442865835983e-05 +3342 0.0012795863432101188 -0.0005729766657521114 0 0 0 -3.148450250112439e-05 +3345 0.0010548545408180976 -0.00045990615563410727 0 0 0 -4.0493008034538706e-05 +3346 0.0015293718803210017 -0.00045722520516912443 0 0 0 0.0002465663709146494 +3374 0.0011875538190937972 -0.00018125128004722684 0 0 0 -4.769901125334511e-05 +9051 0.0011329662821939477 -0.0006093879281428767 0 0 0 -6.437414337414153e-05 +3380 0.0012375690709313276 -0.00042389099521214393 0 0 0 -4.009828828547089e-05 +3402 0.00095856597690093 -0.00030749865945039703 0 0 0 -1.2381200889994857e-05 +2077 0.0010367243191713033 -0.0002521352444244673 0 0 0 -5.476954766566235e-06 +3483 0.0009235519547698506 -0.00023387216870399816 0 0 0 -1.4569053507167475e-05 +6236 0.0010921041687958607 -0.0002752602281889382 0 0 0 -1.4280848377667842e-05 +3500 0.0011522548814001268 -0.0002767674857929222 0 0 0 1.092401614630577e-06 +3510 0.0012035901044500307 -0.00047629211908824015 0 0 0 -8.800645031858999e-07 +3516 0.0010595326398887505 -0.00014770565284773194 0 0 0 -4.874357589652973e-05 +3524 0.0010131757118836105 -0.00019393805376965507 0 0 0 3.5611516773548092e-06 +3525 0.0012029446330465013 -0.0003165454736628212 0 0 0 3.908275529439584e-05 +3533 0.0012184220818701854 -0.00026860817368222674 0 0 0 -8.895073699708332e-06 +3546 0.0014016899502948426 -0.000398277042673767 0 0 0 -7.207340083276712e-05 +3559 0.0010909845445257528 -0.00025116137007022914 0 0 0 2.376808390849553e-06 +8588 0.0013622261589371332 -0.0005993306225626929 0 0 0 0.00012176972658394094 +6694 0.0008499180635100774 -0.000406410001060571 0 0 0 -1.685209883489746e-05 +4200 0.0018110448372501522 -0.0006498694456302793 0 0 0 0.0005756134174738257 +3708 0.001315024070438613 -0.00047923149691481186 0 0 0 4.192707083825687e-05 +3721 0.001190084709493042 -0.0004778834382882969 0 0 0 1.993183671774966e-05 +3401 0.0011672926056193306 4.6880031564146376e-05 0 0 0 -0.00010005640266933451 +3744 0.0011403527131288555 -0.00023337828101542863 0 0 0 2.7884456176595165e-05 +4512 0.0007598473351767189 -0.0003346617249458968 0 0 0 -0.00010325068827117931 +3333 0.0010891491889994036 -2.1476687922073505e-05 0 0 0 -1.6478480959359342e-05 +3794 0.0010968141273617448 -0.00030237509593628763 0 0 0 -6.266461190149953e-05 +1598 0.0012668612124475094 -0.00040247832226591686 0 0 0 7.026832607674528e-06 +3812 0.0013521069365771208 -0.0005588985690032754 0 0 0 -1.0484228261820139e-05 +3828 0.0012930362594626562 -0.0004642366579067056 0 0 0 -2.8034733971727888e-05 +3835 0.0013329403170085046 -0.0005321755914482377 0 0 0 -5.861701724046685e-05 +3865 0.0010610672154426361 -0.0002400275938793256 0 0 0 1.5746890422689677e-05 +3868 0.0013768675197852673 0.00010750159727823846 0 0 0 0.00033191985321005623 +8791 0.0009051555026864226 -0.00033506781103547026 0 0 0 1.9955678455722153e-05 +3951 0.0011028072691836065 -0.00031867668402555386 0 0 0 8.807315265238195e-06 +3952 0.001599511603442101 -0.0005680066074636456 0 0 0 -0.0007918232071213161 +3955 0.0010321540256430133 -0.00035331500684198893 0 0 0 2.302619693795128e-05 +7116 0.0008983189076672395 -0.00045321140712512693 0 0 0 -1.662569649905728e-05 +3974 0.0010902121668384221 -0.00030949299501033104 0 0 0 -4.528731869606294e-05 +3975 0.0010490878390941628 -0.0002661456599481226 0 0 0 1.9323239221276964e-06 +3977 0.0010809333975123664 -0.0002587792736167048 0 0 0 2.434764267490712e-07 +3991 0.0010732367358321057 -0.00046672221084928604 0 0 0 7.345609477761678e-06 +3994 0.0010438246868054613 -0.00023922328746960866 0 0 0 1.0527191860892534e-05 +4002 0.0007618957780981988 0.0001575515982039264 0 0 0 0.00017196073515378477 +4019 0.0010467995324478297 -0.00027585244845297185 0 0 0 1.906841640779082e-05 +2390 0.0007885244213541318 -0.00034505917801481707 0 0 0 -1.550216648159435e-05 +6392 0.0010651229486962615 0.00019820059995787878 0 0 0 -8.7452615143428e-06 +4047 0.0010662028983855177 -0.00039216956938653504 0 0 0 -3.8504219492828355e-05 +4054 0.0011107862033848605 -0.00035605746131302815 0 0 0 7.000635347705987e-06 +5738 0.0011171794970751088 -0.00010504174006923731 0 0 0 -1.8737346412337004e-05 +4060 0.001460766600431417 -0.0005283093798410803 0 0 0 -0.0004958876085148996 +4065 0.0009290824237867784 -0.00023958707109876266 0 0 0 -2.2102003047831108e-05 +4099 0.0009895075955113223 -0.0002551088421628086 0 0 0 -7.933719169418831e-06 +4118 0.0010518713751841028 -0.0003610232759605633 0 0 0 -0.0006878767080274295 +6435 0.0007757406951713813 -0.00040071015354395417 0 0 0 3.287785006328275e-05 +4132 0.0009547751329784229 -0.000235605697545413 0 0 0 -1.0105405665821675e-05 +4140 0.0011371069023367916 -0.000413831140774171 0 0 0 3.235351840963798e-05 +4142 0.0012761556992129017 -0.0003746676478977624 0 0 0 -2.4805427136543783e-05 +4188 0.0010491566905324202 -0.0003324733212089851 0 0 0 4.7915401694802026e-05 +4191 0.0009646502489233623 -0.0002408905977650923 0 0 0 -8.942955450462815e-06 +4209 0.0011878202010317232 -0.00040379878475864264 0 0 0 -3.600085886467128e-05 +4218 0.001027928795260565 -0.000299313612709636 0 0 0 8.500110344041131e-06 +9641 0.0008302031436256455 -0.00032860141665817756 0 0 0 -6.936707217018537e-06 +1647 0.0012649085055726338 -0.0003784280017544058 0 0 0 1.1557635541319808e-05 +4302 0.0012455119310648042 -0.0004199765871570584 0 0 0 -4.01052507703825e-05 +4316 0.0012129894749766854 -0.00023962696249913725 0 0 0 -1.764605848889895e-05 +4324 0.0033498402732584087 0.000914389758727115 0 0 0 0.0009391962183961226 +4331 0.0011089916986151082 -0.00044903878327354674 0 0 0 -7.97587702800685e-05 +4343 0.0010845679673173478 -0.000246850383104263 0 0 0 -1.2812558834321888e-05 +4082 0.000845765001159834 -0.000427422082244286 0 0 0 2.5584792651925526e-05 +4433 0.0012790580686844342 0.00023841739932507305 0 0 0 -0.0001574485351554614 +4442 0.0010977572816857778 -0.0002537951401438897 0 0 0 -1.7126225017589568e-05 +155 0.0011784651890104324 0.00016667416154231377 0 0 0 -1.4757916260300204e-05 +4446 0.002673385158764554 -0.0009738958553734184 0 0 0 -0.0006330463488719441 +4448 0.0012325946874577518 -0.0004871162809268842 0 0 0 -1.958345717662807e-05 +9723 0.0010114777629930546 -0.0005523600915438156 0 0 0 0.00011721975295335103 +4619 0.0011171001690619819 -0.0003035686213062349 0 0 0 -2.040324174657067e-06 +8196 0.0008691800472686892 -0.0003845669115617641 0 0 0 -1.469425387885665e-05 +4632 0.0013948174387868565 -0.0005183963255695154 0 0 0 0.0003984545349156957 +4637 0.0010926998890944616 -0.0002515762743513892 0 0 0 1.4985870667444567e-05 +4679 0.0011363668767708829 -0.00047122836132365575 0 0 0 1.6213405695988459e-06 +4730 0.00105486867008422 -0.0004282763268458205 0 0 0 -1.6403773369988235e-06 +4740 0.0011500204222130808 -0.000478869298288053 0 0 0 4.8413659571023624e-05 +4754 0.0011151123583376071 -0.00035563575044408343 0 0 0 3.4576441383128533e-06 +7138 0.0011205294876534778 9.379567505598193e-06 0 0 0 -6.630036621179442e-05 +3859 0.0009777609355518652 -0.0002869410787969071 0 0 0 -1.3574193756275475e-05 +4802 0.0010249007876891485 -0.00021621973422883772 0 0 0 1.3298065845446958e-05 +4826 0.0011585125095817923 -0.0002648008851358162 0 0 0 -7.977378544546164e-06 +4829 0.0011683029952861306 -0.0003979933148700431 0 0 0 -6.894667272998918e-06 +4836 0.0008988009834800787 -0.00029779404195576285 0 0 0 6.427522299823326e-05 +4846 0.001124283824394394 -0.00030073724187593245 0 0 0 -8.507257255454342e-06 +4857 0.0010647243413423944 -0.0003033830661708265 0 0 0 -2.21936873892283e-05 +4858 0.0009967793994039142 -0.0002585703384247787 0 0 0 6.275026788737425e-06 +4870 0.0010932949164735777 -0.00031613012858257197 0 0 0 1.543497782875491e-05 +8482 0.0011094671220320306 -0.0005518350597096207 0 0 0 -1.528642094392187e-05 +4903 0.001717549834728822 -0.0007198156436238387 0 0 0 -0.0007117241165974422 +4909 0.0014298896007403676 -0.000543751883403414 0 0 0 -0.00014993360518187766 +4910 0.001137798316605819 0.000532320760307201 0 0 0 0.0006232275737016396 +4915 0.0010588133355069302 -0.0002368211421835437 0 0 0 1.4997689070777111e-05 +4918 0.0009390483616453296 -0.0002250423638421942 0 0 0 -9.955460589513492e-06 +294 0.0012729549601187935 -0.0004642470798060062 0 0 0 -1.0463269583651019e-05 +4928 0.0014182559131069529 -0.00046633176501581123 0 0 0 -0.00019405579701144686 +4939 0.001040089933479969 -0.00034998672031558706 0 0 0 1.0982518369277662e-05 +5022 0.0010773924010500468 -0.0002814059106545096 0 0 0 -3.637038981261191e-05 +5027 0.001140869424909911 -0.00025151686727477947 0 0 0 8.049295307246435e-06 +738 0.0010204663214759139 -0.0005355586096762779 0 0 0 -2.230044081636125e-05 +5044 0.001269539704061036 -0.0003773279971616129 0 0 0 -2.7481045245723223e-06 +5056 0.0010420237927272831 -0.00023497308143019405 0 0 0 2.4656567352641358e-05 +5117 0.0014935346599440817 -0.0005356287573486825 0 0 0 0.0001089971424360016 +5137 0.001123049403400651 -0.0002489187413208015 0 0 0 -6.352727434682818e-05 +5143 0.0010643419391378043 -0.000454472248664105 0 0 0 8.107662619016785e-05 +5145 0.0011086425666779365 -0.0003342656126630648 0 0 0 -2.5998146744447683e-05 +5154 0.001373985850752444 -0.0005206030121545923 0 0 0 -2.8830697609335028e-05 +5214 0.0011726649263126738 -5.728852865515615e-05 0 0 0 9.201683291210897e-06 +5236 0.0011394102165563082 -0.00026069958459892627 0 0 0 4.299611963574644e-05 +5254 0.0010544339228435104 -0.0002847601700943008 0 0 0 0.0006114845343188235 +5306 0.0011689976627873703 -0.0002814211865678072 0 0 0 4.319596136021807e-06 +5324 0.001737785573315233 -0.0004960592592773586 0 0 0 5.354645509973046e-06 +5326 0.0013042244613216294 -0.000415238069473578 0 0 0 -1.99276768544575e-05 +5342 0.0013972900597811469 -0.0004357630379571952 0 0 0 8.026679786218934e-05 +5413 0.001077786064809101 -0.0003036122091096517 0 0 0 1.3849454303136194e-05 +5444 0.001279384338778456 -0.0005365731567058078 0 0 0 4.297493930489996e-06 +5452 0.001289804661702697 -0.0004050962100846812 0 0 0 -1.3990408867944057e-05 +5474 0.0010664318692557577 -0.00023173446745684663 0 0 0 -1.5860070007945906e-05 +6931 0.0015950430702654174 -0.0006688868001807715 0 0 0 5.530659939063483e-05 +5335 0.0008861955434886476 -0.00029655176657022764 0 0 0 -5.892576393041999e-05 +5495 0.0010662722302025314 -0.00028497402229192076 0 0 0 3.910235527516051e-05 +5496 0.0013900713935991334 -0.0006447840511423023 0 0 0 8.950347322552429e-05 +5512 0.0015021732567735856 -0.0004825894839739646 0 0 0 -7.110707907512486e-05 +5514 0.0011318591497203507 -4.1723462286905466e-05 0 0 0 -2.8869786764566918e-05 +5540 0.001149940449908607 -0.00030392693111355105 0 0 0 -5.267036304197781e-05 +1627 0.0009208896027819152 -0.00032054776133361444 0 0 0 -2.676313737384681e-05 +5568 0.0012894365898680415 -0.0004912524780156257 0 0 0 8.028185621286401e-06 +106 0.0008903138370183705 -0.00028699719694983355 0 0 0 -1.660229048123089e-05 +5665 0.0010871753574764923 -0.00048332728994353986 0 0 0 1.1958391868114685e-05 +7554 0.0011678473946539754 0.0002840746497023672 0 0 0 0.0004486172560267734 +5711 0.0010666694185355137 -0.0003451682192011373 0 0 0 1.4041855900348815e-06 +5716 0.0014879074623937402 -0.0006079900972789343 0 0 0 0.0005941908511610775 +5717 0.001057362086991716 -0.0003913169633333406 0 0 0 0.00017722067167892465 +6915 0.0009593215120931961 -0.00030878102022038396 0 0 0 -1.670760183846892e-05 +4755 0.0011129056009634094 -0.00025638353449525687 0 0 0 -1.0717497764535782e-05 +5741 0.0012075625554358047 -0.0004958829957753796 0 0 0 -1.8625958425766836e-05 +5743 0.0010805664569109633 -0.0005012066935646228 0 0 0 0.00010780288539709277 +5817 0.000978158274377257 -0.0002831571389105631 0 0 0 -1.0609200422531566e-05 +5832 0.0011298698098500754 -0.00045840539176910853 0 0 0 7.094658829119822e-05 +5834 0.001338917535468014 -0.00046162472942670306 0 0 0 -2.839950924391152e-05 +9908 0.0013010936830455196 -0.00037991871463040973 0 0 0 -1.2479442542583323e-06 +5850 0.001353962935320227 -0.0004710348531137753 0 0 0 -8.585175915158773e-05 +5869 0.001322244730167384 -0.0005525959483346116 0 0 0 -4.423510308935123e-05 +5885 0.0011478839650993868 -0.00047887469655732263 0 0 0 -3.542092811072593e-05 +3178 0.0011589575232846363 -0.00024635320103876234 0 0 0 -8.27094068317964e-06 +5980 0.0010021988433789324 -0.0003257563686276288 0 0 0 0.00028837551460738774 +5995 0.0014400729293360085 -0.0005486908738449657 0 0 0 -0.0006427720416458236 +5999 0.001140351982823903 -7.192276644403083e-05 0 0 0 -2.0127281660157314e-05 +6034 0.001020026721620897 -0.0004080799205462156 0 0 0 4.214275050768324e-05 +6050 0.001099360916565902 -0.0004566830993003283 0 0 0 8.273230704654884e-05 +1379 0.000835908942048995 -0.00042858774625364955 0 0 0 -1.849597330292545e-05 +6097 0.0009519080893820541 -0.00019839484662750748 0 0 0 -2.4559954187866432e-05 +6110 0.0010119112669550144 -0.00020036769554197025 0 0 0 2.040630896828716e-05 +6111 0.0011523893751179631 -0.0003789344868296685 0 0 0 -9.33707902832371e-05 +6112 0.001194112173485427 -0.00034625467098497916 0 0 0 -0.000105812330230894 +6126 0.0007465329489529695 -0.00021854786160260147 0 0 0 -0.0006821342952831949 +6127 0.001141694220019792 -0.0002923630787863711 0 0 0 -0.00016212473771999654 +6147 0.001061647759606624 -0.0002514359624999637 0 0 0 7.529710441982415e-05 +6184 0.0010489611577676908 -0.000297531301780404 0 0 0 7.2726608100725185e-06 +6186 0.0013404263643078437 -0.00047596083725218055 0 0 0 -0.0003388719684709119 +1237 0.0012943961223261297 -0.0004597642252241278 0 0 0 -3.367266721216117e-05 +6213 0.0010877811300644908 -0.00025434129303089295 0 0 0 4.431699889941196e-06 +6215 0.0011520956222835761 -0.000321707201753902 0 0 0 -2.772191698643708e-05 +9971 0.0012537156158625449 -0.0004125531591280253 0 0 0 2.192760488684104e-05 +4536 0.0012989285103735665 -0.0004144939087911373 0 0 0 -1.824401327203914e-05 +3718 0.0009777647167919946 -0.00026080317972105714 0 0 0 -1.7638678043149116e-05 +6241 0.0012452168409913765 -0.0004914289935957482 0 0 0 -1.6087338731625597e-05 +6270 0.0011508216851609172 -0.0003893611705903793 0 0 0 5.234266050416451e-05 +6298 0.0012479873493738442 -0.0003959927667049995 0 0 0 -4.440847119448772e-05 +6331 0.0009743436435199678 -0.0004589082092741952 0 0 0 -2.1121169230401058e-05 +1240 0.0013101840453440365 -0.000519490229109427 0 0 0 -7.836072849790173e-06 +6349 0.0013746792068771857 -0.000511513795301383 0 0 0 -1.2851919789574396e-05 +7796 0.0012893509688609779 -0.00038706069375772054 0 0 0 6.419843107588475e-06 +6367 0.001443167789459914 -0.00039755006248369583 0 0 0 0.00010183510593266346 +6377 0.0010375618769781498 -0.00021063477043831085 0 0 0 -2.6958613900791267e-06 +6388 0.0010456237595236756 -0.00027827945658968103 0 0 0 6.93810207748578e-06 +6405 0.00107611246515647 -0.0002646238385881774 0 0 0 -5.497971734773058e-06 +4947 0.0008019972366124724 -0.00033435962700528976 0 0 0 -3.733219827491246e-05 +6414 0.0011046515821513396 -0.00032527491460159267 0 0 0 2.7068816258530706e-05 +9379 0.0009837987584895647 -0.00021978641991050532 0 0 0 -1.414619448785352e-05 +6437 0.001507207275039136 -0.0005336827346212548 0 0 0 -5.6729657763657186e-05 +6450 0.0009873193982287366 -0.00041019013357131953 0 0 0 -9.48309848186223e-05 +6469 0.0019385242606206146 -0.0005057774738571051 0 0 0 -0.00036101871437143273 +6472 0.0011193220543213127 -6.807625065313631e-05 0 0 0 -2.7358492869165624e-05 +6475 0.0011333715131809368 -2.344119878094317e-05 0 0 0 -0.0009654109688122189 +6488 0.0011794011076394944 -0.0002798768341593888 0 0 0 -2.130508617208656e-06 +6513 0.0011827477606982813 -0.0003851886062992608 0 0 0 0.00017213541809037825 +6525 0.0010534984705993073 -0.00038402807607828784 0 0 0 3.760446085947642e-05 +6588 0.0013985443121758924 -0.0006012495125146557 0 0 0 -5.048667694387305e-05 +1961 0.000909689196157039 -0.0004161696312256046 0 0 0 -2.5367897622035802e-05 +2224 0.0008319082869356239 -0.0003843308518112728 0 0 0 -4.336293871708447e-06 +6617 0.0010180985673411652 -0.00021984331187020555 0 0 0 3.8518830648707274e-05 +6620 0.0010381677081077014 -0.00019869395248449807 0 0 0 1.0911169580512875e-05 +6648 0.0011732541974989789 -0.00021713495749015507 0 0 0 -0.00013067275718775444 +6668 0.0010396424597283159 -0.0002334259413535757 0 0 0 4.300607581221967e-06 +9309 0.0010678282111543276 -0.0005047014132658305 0 0 0 7.68435098567376e-05 +6701 0.001129074485003174 -0.00037068646701326986 0 0 0 0.00026330311239881096 +6708 0.0012159274096254515 -0.0003133740727311199 0 0 0 -9.60118751957633e-06 +7835 0.0008324403111379536 -0.0004487342235248227 0 0 0 -9.786421817749122e-06 +6726 0.001598706642063302 -0.000546571561416038 0 0 0 -0.00116362889919447 +6741 0.0016388894895582673 -0.0003758506674260686 0 0 0 0.0007052119276685911 +6870 0.0011832689678470383 -0.00018363744283002024 0 0 0 3.1134060265321105e-05 +1167 0.000852515909243714 -0.00039623277026353486 0 0 0 -9.655636169821429e-06 +6895 0.0011969746681802797 -0.00027493346293522823 0 0 0 5.324266636176936e-05 +2269 0.000890260004877872 -0.00029734268598127425 0 0 0 3.558695272917574e-05 +6917 0.0010621667418435502 -0.0004830278135682031 0 0 0 -2.7725572315415786e-07 +1413 0.001240254758581832 -0.00040783040521361313 0 0 0 2.5939422522139123e-05 +6933 0.0012907620972588375 -0.0004455580250537945 0 0 0 0.0002968414844107108 +6951 0.002786457106759537 -0.0015612612056533394 0 0 0 -0.00169830269969645 +6981 0.001308137631458496 -0.0004649168653816165 0 0 0 -3.3114291681534545e-06 +7007 0.0010207848357637488 -0.00026398061707957193 0 0 0 -9.767636216247711e-06 +1188 0.0008839146234084674 -0.00038514844252252343 0 0 0 -1.365772701099925e-05 +7044 0.0010482649444485616 -0.00022726167978196038 0 0 0 2.2392306445037543e-05 +7053 0.0010253027728185794 -0.00020545730903093692 0 0 0 3.220388928830216e-07 +7066 0.0010334749968178457 -0.00020507940807794326 0 0 0 2.356330436811359e-05 +7115 0.0012360956131592356 -2.8654877868748527e-05 0 0 0 1.5818229658691194e-05 +7133 0.0014782510816206051 -0.000449584740930549 0 0 0 -4.465552649823413e-05 +7136 0.0011535257272668866 -0.00026242080318475864 0 0 0 1.999288358882454e-05 +7143 0.0008580738142665046 -0.0002656121265620867 0 0 0 -9.089693784077313e-06 +7192 0.0009899959151155892 -0.00031868881907767474 0 0 0 -0.00034595007289249784 +7198 0.0010569766838461855 -0.0004656880693792911 0 0 0 -5.3284201080528476e-05 +7199 0.0010294738327871612 -0.00022950631217410287 0 0 0 -3.247018826172579e-05 +7208 0.000893474175051687 -0.00037319507480073466 0 0 0 -4.2414198955179335e-05 +2162 0.0009949934084667851 -0.0003076741383842043 0 0 0 8.893475828890165e-05 +7238 0.0011594965249444977 -0.0003236344981751875 0 0 0 0.0002935439476274382 +7256 0.0011920660670249898 -0.0002681622277012096 0 0 0 -1.526032567225619e-05 +7261 0.001342777103685696 -0.0005460643034221353 0 0 0 0.0004210423613197141 +7281 0.0015590882707737803 -0.0005020033993902509 0 0 0 -4.052475539889662e-05 +5722 0.0014627428746704994 -0.0007282167077205911 0 0 0 -0.00043584103936070514 +7314 0.0009508899584804805 -0.0004900831232005405 0 0 0 0.00011105291698403611 +7339 0.0010742395779762032 -0.0004923491437353472 0 0 0 3.977022874555927e-06 +7346 0.0012093923821716777 -0.0005098627790757335 0 0 0 6.789192511431985e-06 +7347 0.0010333605179285933 -0.00027270596324950244 0 0 0 3.46747147322855e-06 +7350 0.001169025446383687 -0.0005141856794675038 0 0 0 -5.112278582198877e-05 +7362 0.0009533343945442516 -0.00043826271723808156 0 0 0 -8.973395150084943e-05 +7390 0.001242961260821916 -0.0004641197512375892 0 0 0 -4.8837187568899784e-05 +7406 0.0010494058840914396 -0.00036009657556564383 0 0 0 1.672730331908733e-06 +7429 0.00101506581161755 -0.0003370820554165336 0 0 0 -0.000148950463353977 +7443 0.0010763127722911805 -0.0002825446894146139 0 0 0 1.8875457863425073e-05 +7451 0.0022063603023975567 2.995547970102155e-05 0 0 0 1.149462901123615e-05 +7462 0.0012812037403106948 -0.00044185817604001215 0 0 0 7.786466787979514e-05 +7482 0.0009978252148007043 -0.00045081360112261696 0 0 0 -8.355685470604534e-05 +7746 0.001274825056259761 0.00017979065129924168 0 0 0 4.286309393919405e-05 +7548 0.0007248114159520506 0.00014721032102078317 0 0 0 -0.00020237160514157646 +2430 0.0008377989192903689 -0.00031312834227728624 0 0 0 1.5078337420018804e-06 +7571 0.0009827289176585225 -0.0002820260753639946 0 0 0 -8.303608504269766e-06 +7598 0.0012358126357523403 -0.0004864698560847281 0 0 0 -3.4201047938951054e-05 +9956 0.0010346686120058198 -0.0002216100164144277 0 0 0 -1.3178280877074027e-05 +7640 0.0011372790967466143 -0.0003866324233905773 0 0 0 -2.4849975645279632e-05 +7678 0.0008863643170171439 -0.0003734402864245848 0 0 0 2.346664720672869e-06 +7681 0.0013262039183999095 -0.0005628949454295712 0 0 0 -4.496512978818148e-05 +7692 0.0011383009803427433 -0.00013107144466912042 0 0 0 -3.23662103272742e-05 +7720 0.0010651613927782938 -0.0004882954965814589 0 0 0 5.888266630012566e-06 +7790 0.0011434822292085691 -0.00039087496437396755 0 0 0 -3.736112150819981e-05 +7803 0.0011902002446858978 -0.0003183838878998383 0 0 0 -2.3818481422523524e-05 +7816 0.0011423840562976965 -0.00037765179374400244 0 0 0 -3.859059002718783e-05 +7822 0.0007078571772359799 0.0005971548095653942 0 0 0 0.0006813325285198312 +1791 0.001079367921382215 -0.00028769829520166544 0 0 0 -1.252422498531579e-05 +7858 0.001319872272454492 -0.0005132062517731169 0 0 0 -7.39471937758365e-05 +7861 0.0010014627575234084 -0.00047369849346593076 0 0 0 0.00012961159207158982 +7877 0.0010061164020132582 -0.00044268626851803726 0 0 0 3.638596764346663e-05 +7484 0.0013850116013663068 -0.0005631741687361165 0 0 0 6.477275227473718e-06 +4671 0.0009695295090711757 -0.0002838162453060174 0 0 0 -3.5254436364194076e-06 +7952 0.0011711328169337737 -0.0004731340105385802 0 0 0 -1.4343997576454915e-05 +7985 0.000979483987019711 -0.0002824727129489566 0 0 0 1.7347491404393043e-05 +7998 0.0013031786992722986 -0.0004942454607525204 0 0 0 -5.1486397944972806e-05 +8008 0.0013604683349133471 -0.000528326824302003 0 0 0 9.743974296050535e-05 +8012 0.0011794377926920147 -0.00019109880420239023 0 0 0 -3.5860743352710938e-06 +8038 0.0010216660581536773 -0.00020118553308321534 0 0 0 -1.5579856942348995e-05 +8060 0.0015616848368341328 -0.000640606405841295 0 0 0 -0.0007307365954880455 +8083 0.0011305201610551682 -0.00035065277750408896 0 0 0 -5.197105913815461e-05 +8085 0.0013907391123180119 -0.0005635743089242989 0 0 0 -4.432599968102034e-05 +8096 0.001138369218016952 -0.00024701348075168735 0 0 0 3.953440790598914e-06 +4185 0.0010822601079398353 -0.0004896207017434742 0 0 0 -9.008397830290137e-05 +8145 0.0009876312323680555 -0.0005108349562139661 0 0 0 3.991195229031809e-05 +8148 0.0013194404342014479 -0.0004925168381742131 0 0 0 -9.658468865532067e-05 +8184 0.0020381403667359284 6.165712550516668e-05 0 0 0 0.00035271578391058887 +8186 0.0010393299206833207 -0.00020657475566567056 0 0 0 -6.303655156792864e-05 +8194 0.0011483328386162795 -1.543753658320669e-05 0 0 0 -4.23491828217727e-06 +7857 0.0008247599122181322 -0.0003940511629798913 0 0 0 -2.8853018566252397e-05 +8208 0.0011198206014022595 -0.0001414444878449012 0 0 0 -0.0007378258406421941 +8277 0.0012502169962427877 -0.0004807220394733696 0 0 0 6.126635662114913e-06 +8284 0.0010167642944045106 -0.00021299910416281546 0 0 0 -1.6925743052432143e-05 +8307 0.0010119054741546504 -0.000189033985644089 0 0 0 -9.384349602049684e-06 +8318 0.00146307337595706 -0.0005875805541583012 0 0 0 8.066114697351198e-05 +8362 0.0009566534431411794 -0.0002482567330065857 0 0 0 -2.968679346997844e-05 +8367 0.0011433170007516817 -0.0002486431499843653 0 0 0 -1.9276626593350824e-05 +8368 0.0012593189485511425 -0.0005017907224357987 0 0 0 -5.93301442387615e-08 +8379 0.0011815388737003534 -0.0001629301973283348 0 0 0 -3.552222198555396e-05 +8388 0.001645557355229925 -0.0005592631146419362 0 0 0 -0.00037852531721365573 +8420 0.0013229603091499383 -0.0005773701338317485 0 0 0 -0.00022083050834539327 +6678 0.0009427130032775043 -0.0003125395734839141 0 0 0 2.9517395572188916e-05 +8453 0.0012724338212645333 -0.00040332521351571 0 0 0 -2.4331315259494394e-05 +8474 0.0008358184162079437 -0.00038376474582788343 0 0 0 1.811747661740736e-05 +8476 0.001127503279105337 -0.0002112778051758876 0 0 0 -7.41288160617755e-05 +8513 0.0012653502625960948 -0.00043850015627156267 0 0 0 6.518817829853352e-06 +8533 0.0009875496227218375 -0.0004756924836351344 0 0 0 -0.00012412906568151733 +5075 0.0009043507680908233 -0.00037456483893074917 0 0 0 -5.510742193652542e-06 +8603 0.0012276326643359614 0.0002554454510866757 0 0 0 -0.00026472144922564034 +8623 0.0009655000969667051 -0.00022371202776752842 0 0 0 -8.72081613209992e-06 +8624 0.0015418431916763235 -0.0005296945609377006 0 0 0 0.0003474933460657212 +8637 0.0014933317649611032 -0.0006570538035255228 0 0 0 -0.0007449364919195287 +9935 0.0007925914489337765 -0.0003469709247687393 0 0 0 4.139417788261129e-05 +8676 0.0010109043058710056 -0.0002635503403183962 0 0 0 -3.715742616636567e-06 +8678 0.0009910001269676403 -0.00030704033560050774 0 0 0 -4.7579401755934774e-05 +8731 0.0010226920144042959 -0.0002451212470007477 0 0 0 -2.3242365815428478e-05 +8777 0.0010866582094579168 -0.0002881470761545815 0 0 0 -5.784252974802849e-06 +8797 0.0013076342841873327 -0.0005491672464743643 0 0 0 -4.8202239595191374e-05 +8805 0.0010114406012982783 -0.0002485311913800387 0 0 0 -2.363565931811303e-05 +8847 0.0011019332492475567 -0.00031241120065773366 0 0 0 8.811679868911634e-06 +4136 0.001313083299900467 -0.0004249874279284138 0 0 0 1.7882828490573098e-05 +8926 0.001042801195456904 -0.00025778361053866957 0 0 0 4.886529128490487e-06 +8930 0.0004589528265065355 -0.0016113368959309417 0 0 0 0.0006367948929271721 +8946 0.0009976258718021938 -0.00039193472768181105 0 0 0 -2.0836335496195578e-05 +3520 0.0009518889017375488 -0.0005415560186503325 0 0 0 0.000542946757444055 +457 0.001085019553670571 -6.235812309560408e-05 0 0 0 2.855972337178815e-06 +8974 0.0010345799911430928 -0.00037690747954609343 0 0 0 -1.4768021160529717e-05 +8993 0.0022912095548185698 -0.0015771172281353158 0 0 0 0.0010381330388170354 +2624 0.001300732368319698 -0.0003998269482666837 0 0 0 -4.592631207941723e-06 +9012 0.00092110652690832 -0.00032201714214269596 0 0 0 -6.9794217166321755e-06 +9023 0.0009392873847656669 -0.00030149450161663557 0 0 0 -1.5650367817598456e-05 +9062 0.0011937460495000355 -0.0003091862190086174 0 0 0 -4.4811092715690026e-05 +9097 0.0012071086661198226 -0.0005155286448809359 0 0 0 -1.3432323754837256e-05 +9113 0.0011232587495331374 -0.0004113346215578867 0 0 0 -7.691431032756517e-05 +9117 0.001103006378612285 -0.0003233483645509741 0 0 0 1.2128603374645718e-06 +9204 0.0011751846367787722 -0.00019780443890675788 0 0 0 7.961084061156633e-06 +1210 0.000856668885140615 -0.0003484150233765279 0 0 0 3.423493549703585e-06 +7964 0.0008464665433173516 -0.0004121105436676576 0 0 0 -1.4404725143694872e-05 +750 0.000871959176817877 -0.0004970067608248249 0 0 0 -2.0868739787610874e-05 +9950 0.0009358906767394554 -0.0003344202592743184 0 0 0 1.956293961586101e-05 +9235 0.001071828947652754 -0.00024198398780054137 0 0 0 -2.5665496963037676e-05 +9932 0.0017581373390426402 0.00028270793127367085 0 0 0 0.00018462809903551917 +9286 0.0012566061962881825 -0.0003788448936925497 0 0 0 6.801373222905681e-05 +9287 0.001108616313728881 -0.00029267015905126714 0 0 0 -1.3360412146995967e-05 +9295 0.0010605841849219424 -0.0003806632328115335 0 0 0 -0.0001628280588582663 +9317 0.0014215616148134736 -0.001297705268051819 0 0 0 0.0008352982897543148 +9321 0.0017833173474089694 0.00016904039740192213 0 0 0 0.0004089116535810729 +9975 0.0012910054222574833 -0.0005170229363755303 0 0 0 -3.472106670158548e-05 +9335 0.0008845225640468407 -0.0003011199359296342 0 0 0 4.5933372926361574e-05 +9365 0.0012717855000720178 -0.00020038759082937444 0 0 0 2.4463426803535605e-05 +9409 0.0011883038640173396 -0.00026910936897830604 0 0 0 -3.224937652279291e-05 +9417 0.001123944357115694 -0.0002778803381300334 0 0 0 -2.3634170120342873e-05 +9473 0.0010125731727878844 -0.00019977273672654232 0 0 0 3.978106437651584e-05 +9475 0.0014437649724006163 -0.00045436413523509495 0 0 0 0.00015061655346178992 +9480 0.0012995599054985653 -0.0004977356328449328 0 0 0 -2.8195095063113784e-05 +9481 0.0010755600449596705 -0.0004499686331837269 0 0 0 4.043648741522133e-05 +9543 0.0011883600490985935 -0.0002887131106325356 0 0 0 2.177570015932714e-05 +3568 0.0011792920742314016 4.0249839022184235e-05 0 0 0 0.00015180940821722864 +9580 0.000987504682472629 -0.0005176252679931581 0 0 0 6.961709218982501e-05 +9587 0.0008739248879386624 -0.00037346710189334965 0 0 0 -5.383437562293176e-06 +9597 0.0011121627532577878 -0.00033840343550648936 0 0 0 -5.2250521835517976e-05 +3726 0.0008074229634292794 -0.0003176658483769286 0 0 0 4.493897880470802e-05 +9604 0.0013816096059162545 -0.0005527686727763069 0 0 0 1.643119764266905e-05 +9612 0.001047766264618691 -0.00024894941130003184 0 0 0 -7.420324511390349e-06 +9674 0.000925144686860219 -0.00042472719705006416 0 0 0 7.334934985616337e-05 +2709 0.0011658946072013467 -2.5515687288165648e-05 0 0 0 1.060135453659993e-06 +9749 0.0010568123510414193 -0.00048522464828434415 0 0 0 1.2807007895620918e-06 +9751 0.0024505921242462684 -0.0005632689337107226 0 0 0 -0.001678343018996478 +9772 0.0010769000327812046 -0.0002933243708529122 0 0 0 8.282932590422985e-06 +8233 0.0013178949338465468 -0.0006631682876627523 0 0 0 7.363209353972325e-05 +9788 0.0011431940402302475 -0.00013122087659784198 0 0 0 -8.560531822876264e-06 +2900 0.0009245700228018321 -0.000318213745895361 0 0 0 -7.50417997603849e-06 +3397 0.0013644190236082134 -0.0005455050468261813 0 0 0 -1.9999890100562236e-06 +9825 0.001138744898405291 -0.000260971473199502 0 0 0 -8.762687917056656e-06 +9856 0.0003920601354366586 0.0010963471397054715 0 0 0 0.001721967622177368 +9223 0.001271163297799256 -0.0005067578353535146 0 0 0 -1.9764553631416186e-05 +9688 0.0008794937146409778 -0.0002673542949325879 0 0 0 -1.8544357402171285e-05 +2679 0.000949224057503445 -0.000538101160900794 0 0 0 -2.9160198283496934e-05 +1401 0.0011376418208421221 -0.0002483579535385266 0 0 0 -9.080468395937626e-06 +8665 0.0011497312204420246 -0.0002070332860831625 0 0 0 -1.9576505162614654e-05 +7232 0.0008914479981647685 -0.0002955320650164365 0 0 0 -5.82662110883547e-05 +808 0.0009123162407713595 -0.0002608613750675604 0 0 0 4.956012462120068e-06 +9659 0.0009318393266073321 -0.00023613023331917486 0 0 0 -1.71824217522248e-05 +6597 0.0012841943652402244 -0.00039583013749472227 0 0 0 -4.312908259922947e-06 +865 0.0009235419615646984 -0.00026798112515899995 0 0 0 -4.793382731849348e-05 +9919 0.0007830185036169769 -0.0003368993605984021 0 0 0 3.434730130472142e-05 +3987 0.0008734334590413187 -0.00044914620575307055 0 0 0 -1.3218748182254023e-05 +8982 0.0012494981863036352 -0.0005138981521491313 0 0 0 -7.000670160742157e-06 +7485 0.0009278693597596538 -0.0002436033182797025 0 0 0 -1.1576935165550802e-05 +1386 0.0017558855253424254 -0.0005419047395231533 0 0 0 -0.00020263350932382384 +7622 0.0013007921053669082 -0.0003945036608020673 0 0 0 -3.090180786218426e-05 +963 0.0009176436011422833 -0.0002413307933253346 0 0 0 2.6108658001983754e-06 +2924 0.0010892671089596114 -0.000392459924815871 0 0 0 5.463946317198274e-07 +8720 0.0012921679994585059 -0.0005393665424727721 0 0 0 -3.956660715274806e-05 +3891 0.0013113661881453582 -0.0005127981450472861 0 0 0 -5.839958750143727e-05 +3739 0.0007975643030587311 -7.433647986671176e-05 0 0 0 -7.642059698114325e-05 +2118 0.001353915897020015 -0.0005514131462840339 0 0 0 -1.544658621220408e-05 +3840 0.0008226821493384785 -0.0003676454961449426 0 0 0 -2.76561639002624e-05 +9056 0.0014264523600926295 -7.404397153273223e-05 0 0 0 0.0003518187820653404 +1874 0.0012921565009696198 -0.00038277066230849797 0 0 0 1.0824931783761355e-05 +2402 0.0008367957282429589 -0.00040223254315719444 0 0 0 1.7548562442578326e-05 +4004 0.001056861414067614 -0.0005457691211717298 0 0 0 -4.1002587166922707e-05 +2649 0.0008208374781868958 -0.0003964495963254696 0 0 0 -1.703625921785361e-05 +4363 0.0008827576858751396 -0.00032617797796553915 0 0 0 -5.11016880484337e-05 +5347 0.001093355517064304 9.935586115326086e-05 0 0 0 -9.776627619064852e-05 +6937 0.0024961584231967537 0.0008260208874127236 0 0 0 -0.000762102523396601 +9767 0.0015570040196502294 -0.0006845140811366296 0 0 0 -0.0008445557070065432 +1008 0.0012200423374828088 -0.00045534987964644533 0 0 0 4.678567419743255e-05 +1455 0.0012512805899704807 0.00020723793671197492 0 0 0 1.1580885926704362e-05 +80 0.0010760180112306154 -0.00017690965994385789 0 0 0 -1.7923977984145874e-05 +4161 0.001087296014522605 -0.0003018587359838425 0 0 0 -2.5086923058839504e-05 +6422 0.0007184465880542108 -0.00022370876711530512 0 0 0 -0.0001728552235169241 +624 0.0008591316794268232 -0.00039734208320304105 0 0 0 -2.8156278674289773e-05 +3062 0.0007221974780403425 -0.0002885392169385283 0 0 0 -2.6892459994018906e-07 +9903 0.0008885596547438269 -0.000372414515674446 0 0 0 -1.383144256204117e-05 +9967 0.0009749396245654274 -0.0004575677322172261 0 0 0 -9.580421637005654e-05 +4710 0.0010644265300327638 -0.0004437750386746071 0 0 0 9.178719070024423e-05 +9353 0.0009039836942632538 -0.0003935135188276925 0 0 0 2.3606478766839813e-05 +7011 0.001373136872824562 -0.0005810853006679149 0 0 0 7.837346751816158e-05 +4098 0.0008108587763905174 -0.0004027819003028893 0 0 0 -2.749642399354623e-06 +5216 0.0009210966933412612 -0.0003763421249768354 0 0 0 -5.872652114986462e-06 +938 0.0013088373615917836 -0.000372505151024823 0 0 0 -1.253060830120575e-05 +1657 0.0009720700984923278 -0.0003817339789993624 0 0 0 -3.715338751549852e-05 +4031 0.0009844431602689999 -0.0005141289200198883 0 0 0 5.0795651871077744e-05 +247 0.0007996085240064435 -0.0004184137984482112 0 0 0 -1.2389800552658555e-05 +2585 0.0010138564023405496 -0.00042048306863064363 0 0 0 -2.712804306360934e-05 +2293 0.0012643251627438787 -0.0005688549729971168 0 0 0 4.433614588061013e-05 +9944 0.0012092907831584795 -0.0004681675904047426 0 0 0 -2.670209911605199e-05 +1418 0.0009490755457906888 -0.0004709426300432074 0 0 0 -3.632497567152626e-05 +6061 0.0008338147849950534 -0.0004173654164917158 0 0 0 -2.4636531499648173e-05 +4103 0.0022290074844731863 -0.00027911341426665917 0 0 0 -4.042432828034901e-05 +1814 0.00106186778389005 0.0001284781195506193 0 0 0 -0.0001153897325588964 +3408 0.001056155798233777 -0.0004636619380028206 0 0 0 7.725109944908247e-05 +5370 0.0010128298917016245 0.00024689061513166055 0 0 0 9.332415991958229e-05 +3771 0.001271945885592658 0.0002405377898825407 0 0 0 0.0002162891386104899 +7888 0.0010602310243245225 0.0002527777032426821 0 0 0 -0.0002396989511809456 +5480 0.0009959487604789036 -0.00025166004895668946 0 0 0 6.597812610131319e-05 +639 0.001284753691930881 0.00022246995716808886 0 0 0 -7.023846650981223e-05 +2 0.001453271346546148 -0.0005687861106214642 0 0 0 1.5152341906285353e-05 +4822 0.0014785365592708756 -0.0008558269800255305 0 0 0 -0.0002081353226969421 +1778 0.0008487742750050741 -0.0009747649767025787 0 0 0 5.464913260109559e-06 +6770 0.0012350471655923209 -0.0007384207896314803 0 0 0 -3.087609316120346e-05 +188 0.0012293712501138645 -0.0008516204138077991 0 0 0 -1.635195496034005e-05 +4318 0.001485456367642995 -0.0006787305109811958 0 0 0 -0.00027612213301849185 +248 0.0012663225809415241 -0.0008380953269772246 0 0 0 2.8270070306672615e-07 +251 0.0009361574485046766 -0.0009923185694148086 0 0 0 -1.626552492183322e-05 +3492 0.001387563982035739 -0.0008506897958377081 0 0 0 2.3405394693662116e-05 +8848 0.0012244396316144497 -0.0008170488836084696 0 0 0 -5.4806546707902395e-05 +1429 0.001236640502335925 -0.0008207670642038971 0 0 0 1.7658935170581265e-05 +442 0.001315374144055046 -0.0009444304429319921 0 0 0 -3.376100949917741e-05 +2768 0.001283421229304204 -0.0007013560560179492 0 0 0 -8.102486783319375e-07 +577 0.0011890971001765763 -0.000824089249103953 0 0 0 -3.839109134404759e-05 +595 0.0009570647993176343 -0.0008972591686345996 0 0 0 -2.014047707227823e-05 +3845 0.0012528343054456124 -0.0007774790727558426 0 0 0 -2.8696160699501948e-05 +770 0.001260487966252896 -0.0008466063821207482 0 0 0 1.025458656041893e-05 +9938 0.0013971087590676353 -0.0009923222316956264 0 0 0 -3.988776209531377e-05 +1042 0.0012554246614612029 -0.0008464249787971817 0 0 0 -3.1187752296177953e-06 +4409 0.0013957209899284912 -0.0005964919312107979 0 0 0 5.0523003097425295e-05 +312 0.0011554522026852461 -0.0006157167204120204 0 0 0 -3.202235639618666e-06 +6772 0.0013245873891275617 -0.0008753741422730932 0 0 0 -3.985062900281764e-05 +4320 0.0014518805321693466 -0.0008086948850473624 0 0 0 0.00011279957021641849 +1289 0.0012849605829919233 -0.0008843016747296802 0 0 0 1.458820699005938e-05 +6386 0.0014654494533098887 -0.0008866440441932016 0 0 0 -0.000285202886862118 +1654 0.0010389796304803524 -0.0007652808294453004 0 0 0 3.315774004622541e-05 +25 0.0009474156605413177 -0.0006035039184568522 0 0 0 -4.901373166065984e-06 +6174 0.0012405965008657073 -0.000751359998279378 0 0 0 -2.0800602465817114e-05 +4965 0.0012318331883496914 -0.0008030231092516333 0 0 0 2.0727747645082878e-05 +8728 0.001083099968768964 -0.0010934198296010933 0 0 0 7.686466997486113e-05 +9522 0.0013014097426051793 -0.0009440545279211102 0 0 0 1.9434248189881397e-06 +5049 0.0012139484237443227 -0.0006562427384190778 0 0 0 -0.0001490050944543659 +2110 0.001382478162158053 -0.0006480740842569879 0 0 0 -8.040358551561084e-06 +4397 0.0014002206481579362 -0.000843031804323888 0 0 0 9.526432197236516e-06 +2177 0.001409451102724284 -0.0009373443378555277 0 0 0 -0.0002207661825945161 +2214 0.0012536206215720041 -0.0007888196038984578 0 0 0 -1.4445607829610564e-05 +9726 0.0009526702225824584 -0.000989138514331158 0 0 0 -6.046971836626802e-05 +2252 0.0012802237330677437 -0.0008997448680994613 0 0 0 4.195001678780525e-05 +9895 0.0010398468112436097 -0.0029844884652051313 0 0 0 0.00047051481674006946 +6368 0.0010072629327418311 -0.0006433036096719385 0 0 0 -0.00012030874848742827 +2332 0.0013485906388523083 -0.0008991291502952359 0 0 0 9.720873756772164e-05 +4585 0.0009858638861068648 -0.0006117254411581745 0 0 0 0.00016079846335132413 +2393 0.000899352889997988 -0.000589141828708058 0 0 0 -0.0011068520788151152 +2450 0.0009509743811746625 -0.0010329204411386175 0 0 0 -3.6727990031791956e-05 +2508 0.0012998415852957482 -0.0008768801273654784 0 0 0 -6.703594162300667e-05 +2526 0.0008628735593057174 -0.0009881980006275764 0 0 0 -8.1647829195987e-06 +2573 0.000890173882321286 -0.0008218307518697985 0 0 0 -4.022348584606971e-05 +2577 0.001422810887262156 -0.0009149789367516069 0 0 0 1.1924307737836847e-05 +2814 0.0013270348135271223 -0.0008717118625322351 0 0 0 0.00015370762714675914 +2901 0.0013722846079530502 -0.0008910345095291387 0 0 0 -0.0002355430305604771 +9394 0.0011882913192703788 -0.0007647675630053116 0 0 0 -7.790007417543214e-05 +2926 0.001003484170474903 -0.0010263118205615747 0 0 0 -1.186242272506707e-05 +2933 0.0009600012349942735 -0.0009909480164056006 0 0 0 3.726127869157667e-05 +2957 0.0009687568913606924 -0.0008677255799237549 0 0 0 -0.00014090260521926388 +3160 0.0013325322423332737 -0.0008673475151262606 0 0 0 -0.00019305607036831858 +3271 0.0011944562609047542 -0.0008703079635234178 0 0 0 0.00020493515378973548 +3274 0.001363639290199695 -0.0008862031343046278 0 0 0 0.00015455911934524367 +1555 0.0012704180818199117 -0.0008731184357464418 0 0 0 -3.968796326670062e-06 +6395 0.0013630595935276186 -0.0008638909226753641 0 0 0 3.228931914679314e-06 +9663 0.001421887966386433 -0.0005519247787462898 0 0 0 0.0001038937594371472 +3427 0.0009334985650209349 -0.0008036427462467763 0 0 0 -0.00010473845561578127 +2693 0.0011737449082802828 -0.0007148664595912804 0 0 0 -7.281402270968343e-05 +8312 0.0014765014975586885 -0.0009679979500354853 0 0 0 -0.0004278833888418443 +8371 0.0012321680208355694 -0.0008534249559324988 0 0 0 4.9450623308660466e-05 +3583 0.0009239247329254623 -0.0006487533251587034 0 0 0 1.385720278398264e-06 +5076 0.0012338699188712016 -0.0007180118982824342 0 0 0 5.174012970553123e-06 +3839 0.001263851034845771 -0.0008105088759621007 0 0 0 7.626058346680419e-06 +6153 0.0013536522644854948 -0.0007717314865230962 0 0 0 -6.89052380807941e-05 +384 0.0012893502688893228 -0.0008459073506051802 0 0 0 -8.969194859431269e-06 +3959 0.0013253173568537257 -0.0009128733073438695 0 0 0 -6.898027536131407e-05 +123 0.0011467463408197215 -0.0007021675289727641 0 0 0 -7.863648297021763e-06 +8235 0.001316246228360004 -0.000669650926767416 0 0 0 0.00011168232993814609 +1962 0.0013057188946718498 -0.0008219080937972491 0 0 0 1.1580082600216632e-06 +7475 0.0010260972826203107 -0.000584784161476927 0 0 0 -0.00025151774501663295 +4215 0.0012977721806295653 -0.0009079073068563874 0 0 0 8.960898337910256e-06 +4925 0.0014796175877849357 -0.0006550583170131543 0 0 0 0.0003234411055785362 +6341 0.000888736163828952 -0.0009400912781712371 0 0 0 1.2115843109376017e-05 +4408 0.0011132997493081863 -0.0008183080457196778 0 0 0 -0.00021363994498841435 +572 0.0014256422705927264 -0.0008343080982557361 0 0 0 -1.3641527882136251e-05 +4665 0.001242423595406911 -0.000819516837262361 0 0 0 -5.039380558768539e-05 +8842 0.0011830549611353926 -0.0008275236813442558 0 0 0 6.635278934550719e-05 +516 0.0014139091489909442 -0.0006957375251936162 0 0 0 -7.893943561751114e-05 +4774 0.0013682640619994018 -0.0008510684320145416 0 0 0 -1.0182628017356716e-05 +3811 0.0014909055509896543 -0.000877349714637223 0 0 0 -0.00038456984264646554 +9561 0.0009008115103954775 -0.0008479396969825912 0 0 0 -0.00028153310787481985 +4898 0.0014910942406113883 -0.0001900837549644967 0 0 0 0.0005810860196229646 +9121 0.0013706734661266332 -0.0006267734398535517 0 0 0 0.0001725852953899411 +4974 0.0012717065666756414 -0.0008301985797282407 0 0 0 -1.323724110106809e-05 +5118 0.0013321214271059304 -0.0008989653674201777 0 0 0 -4.731223698868302e-05 +6256 0.0012600452218256056 -0.0008183661958451547 0 0 0 1.5765112578557983e-05 +5246 0.0012549259345953705 -0.0008355211894507167 0 0 0 1.1209737816281547e-05 +5264 0.0009936715164474345 -0.0009323979642860738 0 0 0 5.684339637127248e-05 +5290 0.0006237076289090009 -0.000812054556872025 0 0 0 0.00025995547539092603 +5301 0.0009488104373485718 -0.0010035862245388672 0 0 0 5.344795130002243e-05 +5378 0.0010248361365280591 -0.0010407205057447225 0 0 0 0.00010769683810786218 +1025 0.0013051704318740498 -0.0007897055142332172 0 0 0 -3.972490214438696e-05 +8803 0.0014038951233350076 -0.0008182670079675313 0 0 0 4.026500548887646e-05 +7718 0.0013417116416371683 -0.0008972995380012961 0 0 0 -0.00012722863807800334 +9503 0.0014137783176021287 -0.0008445246522415532 0 0 0 -5.8507110746684156e-05 +5956 0.0009986275402519668 -0.001052171597833378 0 0 0 -0.00018802659180735938 +5966 0.0023505176983639087 4.079859812432033e-05 0 0 0 0.0002061883302955008 +6082 0.0012747622712453914 -0.0008663803890679153 0 0 0 -1.969218182503319e-05 +6138 0.0008868608460550215 -0.0006537619601609751 0 0 0 -2.7649439073488582e-05 +7560 0.0015170534496471808 -0.0006767571820071985 0 0 0 -0.0002927950284951665 +8342 0.0009722912908472763 -0.0008369510278259908 0 0 0 0.00023790572113433818 +426 0.0012471420947452597 -0.0007548125956006971 0 0 0 1.5539634243804782e-05 +8442 0.0012787151658807162 -0.0009160065278487989 0 0 0 -8.895521553656243e-05 +9500 0.0014606057402293795 -0.0009397380917726569 0 0 0 0.00025281911689262166 +6285 0.0010889332633129952 -0.0011195679775637477 0 0 0 -0.00012514403889089495 +5759 0.0008815642519811028 -0.001486474267185933 0 0 0 -0.0005406535409233529 +7552 0.0011435871597037792 -0.000683797522498254 0 0 0 -2.6065851958272456e-05 +6356 5.2313750854668153e-05 0.0003372853670432918 0 0 0 0.0005561307842341138 +6526 0.0013519329919906994 -0.000978594776585656 0 0 0 -0.0004399628337106157 +6618 0.0014304749637704215 -0.0009141656148807307 0 0 0 0.00035605782926665394 +8329 0.0014503526406937448 -0.0009431312122677558 0 0 0 -0.000256235841476158 +483 0.0011461775743137547 -0.0006952177041788208 0 0 0 -2.6452927930093014e-05 +6805 0.001214866144090363 -0.0007614933728732627 0 0 0 9.122756526007938e-05 +6884 0.0009927957268072462 -0.0009335428008125374 0 0 0 1.2202074648628485e-05 +6888 0.0013352362445356648 -0.0009630544252418604 0 0 0 0.00023112143206997852 +9722 0.0015432239455906817 -0.0008662576418583304 0 0 0 0.0005086553482257036 +6891 0.0012471515268374124 -0.0009010488807780037 0 0 0 2.989226555877174e-05 +1177 0.0012534845569888537 -0.0007418500103055564 0 0 0 8.280569867156441e-05 +6934 0.0015469691375689769 -0.000697129384120097 0 0 0 -0.00032870089712724133 +6995 0.0012274919360139235 -0.0009062494022298615 0 0 0 -2.611025908810228e-05 +9486 0.001242769098086146 -0.0008352626177878501 0 0 0 1.598284463698158e-05 +7218 0.0012876287964635592 -0.0008864590603485005 0 0 0 -1.3001528469768671e-05 +7361 0.0009493019163414174 -0.0007810596008301287 0 0 0 -0.00023966999846534746 +7430 0.0010695081074858866 -0.0008228882807145785 0 0 0 0.00010708477328597068 +8306 0.0010320957240404116 -0.0006428788896205121 0 0 0 2.5354806416636702e-05 +6307 0.001137966992619002 -0.0006686386081993472 0 0 0 -2.5371114174275464e-05 +4650 0.0010566609018144036 -0.0006742647656183784 0 0 0 8.576468705867437e-05 +7492 0.0008526714751553045 -0.0009179408311602323 0 0 0 7.08108266180312e-05 +7494 0.0008639892750237266 -0.0009455718257353616 0 0 0 -6.60538907621441e-06 +2038 0.001185711880021759 -0.0008932948811300555 0 0 0 -5.548412859890714e-07 +7536 0.0013172500680014214 -0.0009500907776821314 0 0 0 0.0002452839625585395 +7570 0.001263570673998102 -0.0008674961785712906 0 0 0 -7.112777705632786e-05 +7843 -0.0013476588360316656 0.0015140003483534985 0 0 0 0.0016522837619719797 +7779 0.0011282032037884231 -0.0008096231751925797 0 0 0 0.00017946280594979385 +7788 0.0010539969488085035 -0.0010625781647270616 0 0 0 -0.00013013754264459793 +3914 0.00098635437971154 -0.000675809366595855 0 0 0 -4.5949594347892533e-05 +8187 0.0016054258586253559 -0.0006012376128155413 0 0 0 0.0006208914404886107 +2095 0.0011437901254867692 -0.0008493020835570934 0 0 0 7.699071281299704e-06 +2925 0.001215232843647195 -0.0007622606194815833 0 0 0 -1.9609245085868363e-05 +4567 0.0012509534716215562 -0.0007001252887525498 0 0 0 2.9575644952383513e-05 +3362 0.00046176494778425405 -0.0005583165227021356 0 0 0 6.307616513615032e-06 +38 -0.00013207419651534331 -0.000623012383926534 0 0 0 4.4025665760052955e-06 +44 -0.00026183483542445066 -0.0005350626595740385 0 0 0 -3.631314605221398e-05 +1123 -0.00024057787687503223 -0.001213164632842067 0 0 0 -1.3800198796451177e-05 +88 0.000598485405524559 -0.0008141264242594708 0 0 0 1.1393952871013407e-05 +90 -0.0005953434014896537 -8.283186931293017e-05 0 0 0 -4.284435412547492e-05 +150 0.0002059378535989364 -0.0007105739892339816 0 0 0 3.7639188110994944e-05 +169 -0.00035757233230800323 -0.00061172677832157 0 0 0 -4.3561519356256405e-08 +9753 0.0009302984266696852 -0.0007611498090248084 0 0 0 7.775300938201781e-05 +189 -0.00014600264640908208 -0.0008846029350133098 0 0 0 1.492642895625856e-05 +213 2.836061156582087e-05 -5.997138295758994e-05 0 0 0 -3.595565142587642e-05 +233 -0.00040423433778494596 -0.0007125671029677923 0 0 0 -1.55789028664225e-05 +262 -0.00036321789795063365 -0.00031623813798680145 0 0 0 -9.296966236979054e-07 +343 0.0004310504161611042 -8.20056312297856e-05 0 0 0 -4.1175748473955894e-05 +360 -0.0002978890375364583 -0.0010255820137559206 0 0 0 -3.1723790645276606e-05 +385 0.0003359999669185077 -0.0007642618736539412 0 0 0 6.0052757418574685e-05 +399 -0.0006216758803793424 0.00011591452185373724 0 0 0 -0.0001669611949946031 +416 -0.0002186657169046709 -0.000902945125680106 0 0 0 -3.1934740486280646e-05 +418 -2.355409738914663e-05 -0.00020327534351442922 0 0 0 -1.8313264225145973e-05 +425 -0.00012557230818999667 -0.0010087924645706928 0 0 0 -3.392837647905473e-05 +8130 0.0006449269356900717 -0.0013378611898925458 0 0 0 0.00029205866198484627 +440 -0.000395737454273309 -0.0009720459127290044 0 0 0 2.4656929489712878e-05 +449 -0.00036956939923498056 -0.0007631751737813439 0 0 0 -1.8121478471333285e-05 +508 -9.959309969539367e-05 -0.0008251749612761475 0 0 0 2.4125775771455654e-05 +520 -0.00010664508421704513 -0.00038879948074026937 0 0 0 1.2670208668442315e-05 +530 -0.00025966418349048333 -0.001148157046390351 0 0 0 -3.250484005218408e-05 +549 -0.000599713295472748 -0.0001602125785825046 0 0 0 -5.285068157170097e-05 +575 0.0003950728889090616 -0.0006358780433700594 0 0 0 8.592965100261649e-05 +3321 0.0003286654003264335 -0.00030523000703167345 0 0 0 -4.382615831086923e-06 +655 0.00016546986270400674 -0.0008323510396370442 0 0 0 4.4762227043817235e-05 +658 -8.284568567204354e-06 -0.0009123780477658048 0 0 0 1.612166448961241e-05 +663 -0.0003112743745810696 -0.0009530489998339134 0 0 0 1.4063765355292534e-05 +685 0.00013234372081700202 -0.0007122630141276953 0 0 0 2.0683928254296963e-05 +695 0.00032721246738894966 -0.0007795400963849489 0 0 0 6.31840257489755e-05 +701 -0.00037712491216188926 -0.00020952857017781496 0 0 0 -6.405102066113837e-05 +704 8.346498561543421e-05 -0.0007315671061950784 0 0 0 -9.188104633215481e-05 +2991 -0.00019179440060859124 -0.0010441038207968359 0 0 0 -4.713493606860158e-05 +722 0.00011835590309140498 0.00047254443086268546 0 0 0 -0.00017353063843107412 +727 -0.00017610803287294773 -0.0007816455791387513 0 0 0 -1.536177978986845e-05 +737 -2.7912881401639516e-05 -0.0004556750510314325 0 0 0 -0.00013175628209402432 +768 0.00032562368050466893 -0.0007499382372596149 0 0 0 1.4713962491958905e-05 +797 -0.00018945196982734228 -0.0006724940002969357 0 0 0 8.199175005644134e-06 +842 9.776704706712793e-05 -0.0006289551873351527 0 0 0 -0.00014166178571161958 +863 0.0004879820317123528 0.0002657165678237333 0 0 0 -7.010712054527774e-05 +899 0.00025315352406304913 -0.0006958674782142159 0 0 0 0.00011149326426753472 +913 -0.0001811552878099087 -0.0007461842050093162 0 0 0 3.5671304529071063e-06 +926 -0.00033356879532645087 -0.0010331666605678197 0 0 0 -8.572677693354734e-06 +946 -0.0004396486015490434 -0.0005790558117237001 0 0 0 -1.7987064709423474e-05 +978 -8.432561504431039e-05 -0.00014397111583316232 0 0 0 -0.0001440010079155822 +983 -3.5877002099872965e-05 -0.000877485578470579 0 0 0 -4.735085527562464e-05 +1016 -0.0004067333060915829 -0.0009126158783955271 0 0 0 -5.771798267893668e-05 +1032 -0.00032896665283935276 -0.0010147941030252022 0 0 0 -1.645442692050213e-05 +1063 0.0006166927593542954 -0.0008655769248638567 0 0 0 9.24788571620434e-06 +9812 -0.00021549147513515914 -0.0006800056161772932 0 0 0 -5.2389445609943336e-05 +1117 0.0002109347956412099 -0.0007430685094994458 0 0 0 4.016484313997485e-05 +2947 0.0008668470963203891 -0.0008587530870513485 0 0 0 7.693881171826567e-05 +1170 -0.0001557797636827835 -0.0008270783890234141 0 0 0 -2.971781772068914e-05 +1186 -0.00031760031565980165 1.098955103956036e-05 0 0 0 -0.00015114702546980494 +1201 -0.00021733685462576815 -0.0009524878625200592 0 0 0 -7.478649125925666e-06 +1216 -9.586299379675527e-05 -0.0005083405369155441 0 0 0 4.218735460055436e-05 +1217 -0.00035257072856552895 3.199883067469475e-05 0 0 0 0.00011651213840848606 +1241 0.00037801746202733205 -0.0007881957982159204 0 0 0 1.6690116698341757e-05 +1255 0.0005307329488240894 3.730516880827323e-05 0 0 0 5.091556632469731e-05 +1303 0.00010757702900584 -0.0009706791607742108 0 0 0 4.524138282592327e-05 +1307 -0.0004236397914259285 -5.827382936364737e-05 0 0 0 -0.00031427937401119635 +1346 0.0001441978971145317 -0.0007141527307237533 0 0 0 2.649866609332971e-06 +1353 -1.1459077496335732e-06 -0.0010172334542761202 0 0 0 -9.03579400008513e-05 +1377 -3.989612357422932e-05 -0.0007059667102756963 0 0 0 9.276099845506131e-06 +1393 0.00029480097221070486 -0.0005864123812386478 0 0 0 3.331022633731063e-05 +1399 -8.84096460371636e-05 -0.0007211232946703282 0 0 0 -0.00013869031407503656 +1435 -0.0001710046467368677 -0.0008484540364576674 0 0 0 -1.2288878832487933e-05 +1469 0.0002659531501426409 0.0004728775398868094 0 0 0 -0.00010044437567796164 +1476 -0.0001708458224487413 -0.0008754621888508901 0 0 0 3.920938494666477e-05 +9466 -0.0003894234036395715 -0.0010704832261919108 0 0 0 -5.5728001182520545e-05 +1506 8.711372204382728e-05 -0.0008213027145687545 0 0 0 2.24344363535692e-05 +6168 0.00034861198582581787 -0.0003267404351899372 0 0 0 4.653742098944705e-05 +1574 -4.552778452965478e-05 -0.0009825495431084296 0 0 0 1.7879893307080665e-06 +1609 -0.0007148763340853528 -2.87746700890591e-06 0 0 0 4.769275057643762e-06 +1637 -0.0008524415961864342 -0.0004199493219747587 0 0 0 -0.0002226471249033465 +1644 -0.000273939514385128 -0.0011367291216059293 0 0 0 -6.35196354308782e-06 +1689 0.0005425838645491196 -0.00018578958134882382 0 0 0 -2.7222035886431933e-05 +1702 0.0002998117469249425 -0.0006007820909560534 0 0 0 5.012161336419288e-05 +1722 -0.0003596917706877909 -0.0009964992228591258 0 0 0 -1.999134409775786e-05 +1725 -0.00043257453692611953 -3.6623605356666675e-05 0 0 0 1.4293667556068171e-05 +4871 0.0003902310012804358 -0.00012404420823444292 0 0 0 -3.085959612512773e-05 +1807 -0.00018157267581279317 -0.0010925521129225312 0 0 0 -4.4413579422121045e-05 +1825 8.478364690702837e-05 -0.0007401518197319426 0 0 0 8.733409737825504e-05 +1840 -0.0003801371493319979 -0.000886705395733722 0 0 0 -9.051471928911504e-06 +1857 -4.479560824768478e-05 -0.0006567077806564638 0 0 0 4.485759118817684e-05 +1876 -0.0005067536604235922 -0.0005303093414690896 0 0 0 5.116299284543745e-07 +1944 -0.0006395064052474696 -2.562097409609603e-05 0 0 0 -0.000760056394713954 +1953 0.00018904562398386584 -0.0006868488657766306 0 0 0 4.3885935755787375e-05 +1981 -0.00036190138086141215 -0.001019004066381758 0 0 0 -5.066436403829813e-05 +1994 0.0006015387847125471 -0.0009184672650623851 0 0 0 6.38138191226495e-05 +2008 -0.000373513853729183 0.0002475729778263579 0 0 0 0.0001823499001519127 +2027 -0.000222489990008283 -0.000610532436713504 0 0 0 4.2396578318977246e-05 +2031 -0.00010005451180883299 -0.0008058856941406705 0 0 0 -1.929225532034085e-05 +2054 -5.7810547265335924e-05 -0.00033058670679149004 0 0 0 0.0002790229133053857 +2056 -1.6416973799659545e-05 -0.0009224934418804999 0 0 0 -6.0841662043771214e-05 +2066 0.0003639591080602315 0.0004617030510896976 0 0 0 -1.0380215428137342e-05 +2151 -0.00043524060437005177 -0.0005935112005160011 0 0 0 3.3075636799340057e-05 +2163 -0.0006787156243241666 6.9155939422264e-06 0 0 0 -9.306771254268091e-05 +2188 -9.601254215566006e-05 -0.0008184782161659384 0 0 0 3.087903020756206e-05 +2189 0.0002965803712812213 -0.0007534038017706511 0 0 0 1.558840932415983e-05 +2198 0.0005060691041009498 -0.000632082338194483 0 0 0 7.121517176784756e-05 +2212 -0.00014632543139763408 -0.0005027427292784173 0 0 0 -6.469699675756819e-05 +2216 -0.00035354437105975645 0.0001585249286976824 0 0 0 -0.00010154790998362449 +2239 0.0004248712461924969 -0.0002829816001060031 0 0 0 4.726038017957197e-05 +9459 0.0002113168067563043 0.00036236550573272763 0 0 0 -0.00012717065347339661 +2274 -0.00014730828462368743 -0.00088811773406464 0 0 0 3.171844465867994e-05 +2283 -0.00042421863654357 -0.0006197862622345455 0 0 0 -1.956702266694133e-05 +9976 0.000826205290410939 -0.0009408883664417227 0 0 0 0.0001629141689866335 +2378 -0.0003439205233191652 -0.0009044832779843716 0 0 0 -6.615443006228012e-05 +2386 0.0003530631068839315 0.0003569632322416367 0 0 0 -8.20147026418449e-05 +2438 0.0005256681870555677 -0.0005314254579799742 0 0 0 5.269499583566762e-05 +2446 -0.0001118953435900894 -0.00047081063208549956 0 0 0 -6.7435186234191e-05 +2464 -0.00039734624907198165 -0.0006412157554428299 0 0 0 -1.7847710333871537e-05 +2469 -0.00028540252823222264 -0.0011353453511929901 0 0 0 2.066689608945671e-05 +2470 -6.245439322120772e-06 -0.0007789452004010258 0 0 0 1.645576450532817e-05 +2487 2.7600478445878016e-05 -0.0003404448655622807 0 0 0 -0.00021789903749256975 +2550 -0.000477289001583733 -0.0005474403892330221 0 0 0 3.662157204008944e-05 +2560 -0.0003987960203147907 0.00040631295436173323 0 0 0 -0.00024512646404282584 +2565 -2.349335007971574e-05 -0.0007444523901525935 0 0 0 -6.187064635416156e-05 +2590 0.00019461888893213244 -0.00020191025403416845 0 0 0 0.00018062822080198586 +2601 -0.00016803090039736921 -0.0007977402267886982 0 0 0 3.5139528463738088e-06 +2622 -0.00011862806000722661 -0.0007940109845909468 0 0 0 1.7282761377500657e-05 +2640 0.0004577476446723734 -0.0008747872838793193 0 0 0 7.31350740865861e-05 +2647 -5.9206265716522524e-05 -0.0008825046918208519 0 0 0 5.218657812107346e-05 +2651 -0.0003983025203063583 -0.0006855560841625845 0 0 0 -1.6709389010136765e-05 +2667 -0.0003437696397576415 -0.0009924895513548494 0 0 0 -1.806577822116592e-05 +2675 -0.00025000963598879547 -0.0009647121580140899 0 0 0 2.5595645014467535e-05 +2677 5.7998703338290125e-05 -0.0007686573013762995 0 0 0 3.7321803941274714e-05 +2687 -0.00021332742762708977 -0.0008147059442486853 0 0 0 -1.146764241776639e-05 +8737 0.0006170594695399178 -0.0008773999261773851 0 0 0 0.0003381195566977928 +2696 -8.913958056121962e-05 -0.0008465052924565579 0 0 0 -5.559017718645575e-06 +2726 0.0004903888820666721 3.6189214798787885e-06 0 0 0 1.9453931705708283e-05 +2741 -0.00018021238487957064 -0.000738223221432467 0 0 0 2.8146094228243157e-06 +2754 -0.0007916813834742302 -6.191421665528332e-05 0 0 0 -0.0002491791608241394 +2761 -0.00040149510184148124 -0.000642959990610016 0 0 0 -1.2358215855408734e-07 +2772 0.00039908118210060166 -0.0006988041898325893 0 0 0 1.9382612864709043e-06 +2776 -0.0005005277704776431 0.0003425537285010526 0 0 0 -0.0003079509671158232 +2813 -0.00034429052124876764 -0.0008823971594270471 0 0 0 -4.1105191545121785e-05 +2830 -0.0007319510734494415 0.0002623223318448819 0 0 0 -0.000135478492517603 +2847 -0.0003009520430765882 -0.000910935336750569 0 0 0 1.520790798364904e-05 +2849 0.0004257814434067583 -0.00010392261982642013 0 0 0 6.137281825252804e-05 +2854 -0.00017859059025085314 -0.0006020441673519107 0 0 0 -5.0772793289795345e-05 +2855 -0.00019986828241676051 -0.0006945705175529235 0 0 0 -1.6779922718005525e-05 +2866 -0.00023093493807366906 -0.00043462295892639533 0 0 0 3.441517193622143e-05 +2885 0.0006406781224716257 -0.00042063597517348584 0 0 0 -0.00010741011275066205 +2915 -0.00029997389009723125 -0.0009660224919981596 0 0 0 7.041032110659009e-05 +2930 -0.00015398784939979184 -0.0008203130100253583 0 0 0 -3.477890657844337e-05 +2936 0.000260841134920765 -0.0003597854725210476 0 0 0 -0.0003385429803675448 +4603 0.0007992115077137527 -0.0009103871876242356 0 0 0 -0.00011933801043834469 +2959 -0.0003204735052090242 -0.0009829005794777424 0 0 0 -2.0307555453939084e-05 +2968 0.0004557163147692233 -0.0007975581495782625 0 0 0 0.0001269775269840424 +2977 0.00014564448760379003 -0.0004920974804705902 0 0 0 -0.0003837825617298806 +2988 -0.0003865415413536387 -0.0009930119671505333 0 0 0 -5.1606096381670474e-05 +3008 -0.0005802833752977423 0.00045372252037599093 0 0 0 -0.00014039455458515727 +1166 0.0006169590993059295 -0.0006154820388486514 0 0 0 -7.432268717409608e-05 +3016 0.00012305670717745323 -0.00018655789280577515 0 0 0 2.3508379854132553e-05 +3024 -0.0003815557747932718 -0.0007317857881290309 0 0 0 -3.0290006008452006e-05 +3040 -0.0002089815817242479 -0.0007417958207019715 0 0 0 6.288514895762636e-05 +3045 0.0002396068639829822 -0.0006275220458062031 0 0 0 -7.327552306508887e-06 +3056 0.0005353894325825038 -0.0006992184232103402 0 0 0 -1.6008606332329742e-05 +4733 0.0007159955634667482 -0.0003322338843320818 0 0 0 -0.00011783422351528177 +3071 0.0004259849681243936 -0.00025963737598330613 0 0 0 0.00013189354126790098 +3074 -0.00018320060066366484 -0.0007453733048535229 0 0 0 -2.8331855884821847e-05 +3081 -0.00010474534466362002 0.0007810838581764232 0 0 0 -0.0005386396587857661 +3085 -2.217399741335696e-06 2.9529252006100894e-05 0 0 0 2.3275184806410023e-05 +9367 0.0004997523107512054 -0.0005363098064844882 0 0 0 8.454721637661029e-05 +3109 5.7739869644197695e-05 -0.00042083719726806486 0 0 0 9.704100317529227e-05 +3149 -0.00041715347002226457 -0.0005821160161741677 0 0 0 -2.2651764636935675e-05 +3153 -0.00035412248907119533 -0.0005044547487782944 0 0 0 5.123927685105501e-05 +3170 9.048574006776362e-05 -0.0008812708350557545 0 0 0 -6.824287048205142e-05 +9476 0.0005292510222306618 -0.0007103815787857313 0 0 0 0.00028520697629280575 +3212 -5.715539941074013e-05 -0.0003517728914066038 0 0 0 -0.00010912451567055257 +3276 -0.000441011137900664 -0.0006966980506822167 0 0 0 5.4440251938148024e-05 +9961 -0.000192496687698016 -0.001484513408321151 0 0 0 -0.000792720751200755 +3301 -0.0004162674581058812 -8.4467171109126e-05 0 0 0 2.1201694283483934e-05 +3414 0.0006300469009359844 -0.0007781796156875126 0 0 0 8.752201845921641e-05 +3454 0.0004850457172864307 -0.000677623214345284 0 0 0 3.1038483895716916e-05 +9441 -2.1895023502527743e-05 -0.000784453784797608 0 0 0 0.0002331485044403583 +9923 -0.0005844016809172477 -0.00016573710881678143 0 0 0 0.0014768134613932454 +3556 -0.00012720757697509306 -0.0008321865131931558 0 0 0 6.429843024554138e-05 +3582 -0.0003879561813737352 -0.0006173728052850225 0 0 0 -1.6903573996572184e-05 +3591 -0.00022533649991692242 -0.000417712473250048 0 0 0 -0.00023516658056662863 +3602 0.00014589364492123254 -0.0006083335377457326 0 0 0 0.0001793183420093102 +3603 -0.00036913708589022317 -0.0007746053718771282 0 0 0 9.79200780620363e-06 +3617 -2.2526916961784448e-05 1.8068217434191634e-05 0 0 0 -0.00010537867060913114 +3629 0.0005611866805730786 -0.000739085405223813 0 0 0 7.327075381947823e-05 +3659 0.00036675181845191644 -0.0001250178137701607 0 0 0 0.0007610988103307102 +3693 2.5574053260236376e-05 -0.0007644629450777667 0 0 0 9.992220920461495e-05 +3713 -0.0003617483120050424 -0.00034315730387500943 0 0 0 -3.514653504362448e-05 +3745 0.0005547401076748185 -0.0008684120910386646 0 0 0 -3.383408443717159e-05 +3748 -9.991126260172202e-05 -0.0007431652699165888 0 0 0 -4.9192073544883026e-05 +3749 -0.0004808509883167837 -0.00043362841226049205 0 0 0 -8.979398259239192e-05 +3750 -0.0003423611256178439 -0.0011699533521264197 0 0 0 -1.4465705346448091e-05 +3753 0.0005284608762346667 -0.0007080714255263579 0 0 0 -0.00010564107184310068 +3763 -0.00030885840905717145 -0.0006849824483736425 0 0 0 5.105158005129267e-05 +3766 -0.00015804769555600496 -0.0009170257335642552 0 0 0 5.416668077464418e-05 +3785 6.164102184634005e-05 -0.0007532999644817271 0 0 0 -2.1065788469347463e-05 +3810 0.0006254101293509181 -0.0008574607467796486 0 0 0 -3.838667430363709e-05 +3834 -0.0002699855760839414 -0.0009623789651209602 0 0 0 8.502080045087322e-05 +3836 0.00012207221710680037 -0.0007733945249948393 0 0 0 1.3076033379800216e-05 +3878 7.24586592783192e-05 -0.0007414575466934186 0 0 0 6.035699247525964e-05 +3550 0.0008279858682332916 -0.00035941875647179825 0 0 0 -0.00016511571280100788 +3925 -0.00014751636257563788 -0.0008514603963084313 0 0 0 -1.1332681584358058e-05 +3948 -0.00028663986371516497 -0.0008952911015997297 0 0 0 -4.864901629549795e-05 +3950 0.00048068615205187036 -0.0007170731020116217 0 0 0 0.00014256469585761667 +3971 0.00031091895222567454 0.00012179640812215375 0 0 0 -8.5995627147713e-05 +4006 1.1396102302427855e-05 -0.0008228509739646132 0 0 0 -2.6335737975532206e-05 +4021 0.00012645994504363378 0.0003587876407652494 0 0 0 2.0527686432196442e-05 +4025 -0.0004056298423553361 -0.0005472943008895587 0 0 0 -7.445542888503978e-05 +4073 -0.0004382629571101625 -0.000380937879752307 0 0 0 1.2700601051174903e-05 +4096 -3.5284886039831616e-05 -0.0009203150624597155 0 0 0 -0.00010328476486518857 +4097 0.00026501597290324815 0.0003475623590822105 0 0 0 3.521504540419097e-05 +9750 6.855259328132851e-05 -0.0007109711826126196 0 0 0 0.0001116725445280752 +4159 -0.0003381317672940081 -0.0010090605335506676 0 0 0 -3.3782026692514686e-07 +4167 -0.0004698930013139591 7.70884186016875e-05 0 0 0 -0.00012307962887754054 +4178 8.786114165039113e-05 -0.0007213924123502676 0 0 0 -5.7441212878606826e-05 +9914 -0.00036916092260488533 -0.0005103077522845301 0 0 0 -0.00012008799676989368 +4210 0.0005350457991030942 -0.000820497587715439 0 0 0 0.0001944149217165739 +4221 -0.0006999159475040756 0.00030053320941621973 0 0 0 -0.0005216063854355158 +4228 0.0005782684467756308 9.018223669270439e-05 0 0 0 -0.0001499776842750636 +6204 0.00033369227409150184 -0.000444754743091344 0 0 0 2.7447080735931714e-06 +4277 7.2344995952121e-06 -0.0004243643142170332 0 0 0 0.0003269295727521956 +4288 -0.00016205438153678355 -0.0006898199628917775 0 0 0 2.29266048671343e-05 +4299 -0.0002021365511608476 -0.0006902103508579514 0 0 0 -6.0789245844123674e-05 +4300 -0.00021755822594826413 -0.0007022798214020514 0 0 0 -1.9976745646572006e-06 +4303 0.00030429296411309243 -0.0006469771320657187 0 0 0 0.00013123047792103058 +9378 0.000551489650691627 -0.0005900533841831421 0 0 0 0.0001325521745332834 +4354 -0.0006411438495268819 0.00016005776780407706 0 0 0 0.0004469421764451879 +4388 -0.0008925084858951092 -0.00028494466488640985 0 0 0 -0.0004707200009676106 +4400 -0.00032317594347403304 1.749398919258604e-05 0 0 0 9.495365517409966e-05 +4406 -0.0001787867045777941 -0.0007666048762874034 0 0 0 5.984871651543952e-06 +4421 -0.0005384640762495854 0.00044061690984305296 0 0 0 -0.000417404202805376 +4422 0.00036812040153929156 -0.0006170349753808211 0 0 0 0.0004534611499467388 +5197 0.0008541847370557405 -0.0009545982017231247 0 0 0 -7.108073974578172e-05 +4434 -0.0001905666266151614 -0.0007478056758016454 0 0 0 -8.951398648699361e-06 +4441 0.0002282689222095225 -0.0006355965028243358 0 0 0 -3.972471386708789e-06 +4447 -3.853121730086337e-05 -0.0009919956430888934 0 0 0 1.340934607585061e-05 +5043 1.6699510536576174e-05 -0.0008654970875910997 0 0 0 0.00014374100720827891 +4474 0.0002513816375222062 -0.00036555982918922694 0 0 0 -0.0005796625228406912 +4476 -0.00022791753535543477 -0.0010732811737560837 0 0 0 -1.0248320098875448e-05 +4525 -0.00034882907634769427 -0.0009721952020483892 0 0 0 -1.927873581502568e-05 +4548 0.0006198337768963608 -0.0007986839166062669 0 0 0 -3.410302285132445e-05 +4554 -9.798766257388978e-05 -0.0007420767215037139 0 0 0 4.6119395100209836e-05 +4572 -0.0001254033382992789 -0.00042584437024712027 0 0 0 0.00023969513868129434 +9942 0.0004674052483750094 -0.0008214942789194931 0 0 0 -7.785954917773473e-05 +4605 -0.00041383741523537545 -0.0005906477082897846 0 0 0 2.8985356397610915e-05 +4673 -0.00037120452723884566 -6.845322784751309e-05 0 0 0 0.00027576925186482406 +4688 0.0001658822759062877 -0.0006838579544035789 0 0 0 -2.7838780504898224e-05 +4699 0.00014518151924366727 -0.0007721030352118738 0 0 0 6.492218624907011e-05 +4743 -0.0002720442021576656 0.00024899066909110916 0 0 0 1.8230642380459806e-06 +9823 -0.0005685599812524359 -0.00016537757748570582 0 0 0 -9.588521237802934e-05 +4784 0.0002251902632631822 -0.0007694389071808132 0 0 0 -3.712270935924302e-05 +4795 0.0005955451904200076 0.0001030224332026981 0 0 0 -1.4573369223697548e-05 +4805 0.00028652415003356567 -0.0006717143888641667 0 0 0 0.0003965372939675632 +4865 7.595128303566038e-05 -0.0008862712507682638 0 0 0 3.121840585589028e-05 +9940 0.0008733654832222699 0.0003008937367569626 0 0 0 0.002035501812763258 +4940 0.00018352645043024992 -0.0006628658988306619 0 0 0 1.1873991782494265e-05 +8878 0.0007443923338210785 -0.0008024679174542035 0 0 0 7.129232942471939e-05 +4961 0.00013397327365152097 -0.000823934784476436 0 0 0 -1.77721894979837e-05 +2257 0.0007056649218424782 -0.0006422946729875237 0 0 0 5.2965526813080544e-05 +5008 -0.00043202518660516676 -8.675860491802938e-05 0 0 0 -1.3668763480901076e-05 +6170 0.0006114278687128683 -0.0005932010307548346 0 0 0 -0.0004630742933461898 +9528 -0.00014390253253695757 -0.0006254117583405549 0 0 0 -6.698312344943745e-05 +5062 -0.0007232725602476987 -0.0003749470567743718 0 0 0 0.0005786064068885364 +9820 -0.0001111757994252428 -0.0007089372124662284 0 0 0 -2.5986728679741497e-05 +1510 0.000473650957248743 -0.0004954047996024477 0 0 0 2.7415206086312106e-05 +5089 0.0002731321489490719 -0.0007159605915374525 0 0 0 8.684516501990739e-06 +5146 -7.772510682005909e-07 -4.4930638972421264e-05 0 0 0 -2.2631412889762925e-05 +5178 0.00031576270196964824 -0.0005688005537390405 0 0 0 4.791543426822185e-05 +5212 -0.00047657541104725523 -0.00016248806508978113 0 0 0 -0.0002139561301254718 +9894 -0.0003491588834806487 0.0004299263926761257 0 0 0 -0.0011840513336332785 +5235 0.0002683477384954319 -0.0007013787640397215 0 0 0 8.9265343101642e-05 +5261 -0.00034944651564881304 -0.0009980166369466569 0 0 0 2.0273582824050198e-05 +5298 -0.0002032068503468956 -0.00042836896551113766 0 0 0 -0.00025062044675697203 +5346 -0.00036823312611439224 -0.0007747270322520454 0 0 0 -7.710422304818611e-05 +5357 -6.436909513578409e-05 -0.0008404343314773455 0 0 0 9.861747960396092e-05 +5380 0.00016087302968000446 -0.0006935488940769981 0 0 0 -6.488554842312342e-05 +5385 -0.0001462027024397394 -0.0010130529552532443 0 0 0 -1.8151419927197805e-05 +5386 -0.00039313060268922253 -0.0007146967541900637 0 0 0 1.2314455645510786e-05 +5433 0.0001334754896206605 -0.0009883563578080398 0 0 0 -9.247824538474657e-05 +5500 5.8694860949866965e-05 -0.000794396485375046 0 0 0 3.186280229054452e-05 +5565 -0.0003846718843111273 -0.000977521695653902 0 0 0 -4.751951973145105e-05 +5580 0.0004990417363801115 -0.000646742115113236 0 0 0 0.00015498155570157224 +5606 -0.00019573066255215767 -0.0004158524969156433 0 0 0 8.113790336858323e-05 +5624 -0.00027628004419192736 -0.0009293118787332888 0 0 0 6.754234344356342e-05 +5642 -0.00019411415891906452 -0.0011353127057924892 0 0 0 -7.464957311897557e-05 +499 0.0009224475229450432 -0.0007481090525483516 0 0 0 -2.4168769130647395e-05 +9524 -0.0009110587566085093 0.0006835227125258291 0 0 0 0.00045498514993844174 +5707 -0.0004481687210468847 -0.0005757250518497704 0 0 0 -5.6260929725729306e-05 +9508 -0.0003694211262706828 -0.0009199651998966131 0 0 0 5.217480622140014e-05 +5752 0.0004151293043772344 -9.860684752580974e-05 0 0 0 1.579310486945929e-05 +5756 0.00036229569252053414 7.345308081943505e-05 0 0 0 0.00020091602170148142 +5757 -8.126719506234053e-05 -0.0010565364779854085 0 0 0 -0.0001457618636549907 +2381 0.0004310174018063429 -0.0006790947032908672 0 0 0 -0.00014835046112999476 +5805 -0.0006181111996487923 -0.00013363335234654945 0 0 0 0.0001781512492841543 +5844 -2.2462766940714417e-06 -0.0005907979905485235 0 0 0 0.0001009776306882939 +5895 -0.0004009855437689844 -0.0001260436342248101 0 0 0 -9.786164486410187e-05 +5937 0.00015621223781908574 -0.0005255927808966651 0 0 0 -0.00051808416904478 +5946 -0.00014811187988673767 -0.000899166138677413 0 0 0 2.4011124278167944e-05 +5948 1.29232951252235e-05 -0.0008035473632682831 0 0 0 4.908873887322204e-05 +5955 0.00017824561518205715 -0.0007735655056328623 0 0 0 -6.378068250295497e-05 +5962 0.00035270984812658127 -0.00020236461141502285 0 0 0 2.146352329343504e-05 +9819 1.9268702677988342e-05 -0.0007505251560501091 0 0 0 7.385861754207212e-05 +5972 0.000336354687902884 -0.0007685612027384893 0 0 0 -5.133169580718456e-05 +6005 1.794907413623961e-05 -0.0004279537906831779 0 0 0 -0.0006625364556176686 +6019 1.4999960162090382e-05 -0.0009873069897581317 0 0 0 -3.5165861636922875e-05 +6038 -0.00016937717940152677 -0.0009080671925354136 0 0 0 -1.7653086566687926e-05 +6088 0.00040214922412842836 -0.000683680932744537 0 0 0 2.8333529048263678e-05 +6116 -0.0002960485100036101 -0.00018069486282188145 0 0 0 3.279717240495721e-05 +6134 0.00015237581804549265 -0.000695049777457023 0 0 0 1.66936902781957e-05 +6152 0.00019096289564609595 -0.0006540084027891203 0 0 0 5.37017621570618e-05 +6183 -0.00021457225989401262 -0.00024158139725701997 0 0 0 -7.275438346566702e-05 +6192 0.00014539577698631704 -0.0007552990773806465 0 0 0 -0.000377974679165759 +6217 -0.0003960346239486206 -0.0005776485167599134 0 0 0 0.00013383173390164792 +6252 0.00016674437527755052 -0.0005149804545492034 0 0 0 -0.0005328965087340975 +6259 0.00036550796558991797 -0.0007703508375869033 0 0 0 -7.480470905847033e-05 +6310 0.0005461215536208401 -0.0005495776842662878 0 0 0 4.54826351773476e-05 +6312 0.0005271338961270981 -0.000881895130548075 0 0 0 9.584872418080062e-05 +9889 -0.0004424283460265835 6.360083972974384e-05 0 0 0 0.00020102106293075353 +6346 -4.141855165003799e-05 -0.0007077292658909268 0 0 0 7.281478289451023e-05 +6351 -0.0007574716222537236 -0.0003910597498534646 0 0 0 0.0007002894878799337 +5692 0.00035613015898089287 -0.0001392587412371514 0 0 0 3.216050107211244e-05 +6452 0.00040280649102759187 -0.0006072340158148038 0 0 0 1.5526807102680357e-05 +6458 -0.00043549614140384036 -0.00015515023036395863 0 0 0 -4.9331682865597414e-05 +6464 -0.0003724873992679847 -0.0007657699879511475 0 0 0 4.3249333522275883e-05 +6468 -0.0005018486136715493 0.0003412170754780585 0 0 0 0.00010633804137326715 +6480 0.00011077187553026179 -0.000824151244933444 0 0 0 5.554201395446137e-05 +6485 -0.0003731904733169114 -0.0009963982932150628 0 0 0 -4.687036706510233e-05 +6490 -0.0002856227251530144 -0.0007650208228258041 0 0 0 -2.1214748812367175e-05 +6508 -0.0006822517970706582 0.0002941875132192595 0 0 0 0.0007294020110622968 +6520 -0.0002973637021944611 0.0001398515944024086 0 0 0 0.0003587878254950057 +7500 0.0009655098861759383 -0.000610148450292569 0 0 0 0.0001089991714741964 +6549 -0.0005788205586043528 -0.00013397267865748473 0 0 0 -0.0005713395687155621 +6558 -0.00027612163864852805 -0.0011478962382458597 0 0 0 3.966510126229358e-05 +6565 0.00013180643034486369 -0.0008998842292716083 0 0 0 -0.0010052256833528797 +6585 -0.00035731200017998156 -0.0009660991715272093 0 0 0 1.9319020354620132e-06 +6589 -0.00022143752133053473 -0.0011630474096503488 0 0 0 -0.00010240239184351796 +6595 -0.0004786664869018924 -0.0008223362308358815 0 0 0 2.0278592817427175e-05 +9925 -0.0022770170984713323 0.0010981007864134462 0 0 0 0.0003326177949645919 +6665 0.00041088031139310344 -7.547283077980674e-05 0 0 0 -0.00022468063904893375 +6674 -4.341031546405735e-05 0.0012458189903455977 0 0 0 -0.0007584099448975696 +6700 0.00021373476611921533 -0.0006658804397912058 0 0 0 0.0006913096195892856 +6721 0.00045396345096040334 0.0005200372597253851 0 0 0 6.451177389125957e-05 +207 0.0006065797625264942 -0.0003091684748566421 0 0 0 3.9503545501956294e-05 +6767 -8.606032945372164e-05 -0.00013155343159627705 0 0 0 0.00027533594387312016 +6769 0.0004280169661074503 -0.0005602610476143671 0 0 0 4.905671076895878e-05 +9427 0.00026775176404565654 -0.0001458711193564068 0 0 0 -0.00026757035064719635 +9844 0.0005457763839335803 -0.000579441176258537 0 0 0 5.3656149302350325e-05 +6887 -0.00017912499480707015 -0.0010309221549852316 0 0 0 -3.420490820077801e-05 +6889 -4.842629918090454e-05 -0.0010506087760761757 0 0 0 -0.00014721233212207564 +6941 -0.0003470724535257578 -0.0009043418405304348 0 0 0 -9.311573086677836e-05 +6960 8.024762798167997e-06 -0.0005481798364682448 0 0 0 0.00012860072562143494 +6983 -0.0003743076196151734 -0.001009342995629149 0 0 0 3.4664961975075856e-05 +8117 0.00033523373182800455 -0.0006429099717515588 0 0 0 4.3992323805576755e-05 +7064 2.573774095237759e-05 -0.0005510140297779281 0 0 0 0.00025036018719179725 +7078 9.454489651280259e-05 0.0006031518842706112 0 0 0 3.287788407997528e-05 +7088 -0.00028860743083946965 -0.001176961798404092 0 0 0 -7.051045807659552e-05 +7095 4.4727583315731675e-05 -0.00028933821407490227 0 0 0 0.00011658402470029965 +7099 0.00015158392049502393 -0.0007129047129350294 0 0 0 -6.281634347799563e-05 +7307 -0.00033661905664412377 -0.0009283123118937776 0 0 0 -0.00010723311853302744 +9551 0.000408617007289379 -0.00011674120333350188 0 0 0 -1.0443686120694287e-05 +7159 -0.00036898481393564907 -0.0007130481504541605 0 0 0 0.00010745627812705478 +7209 1.527377154039374e-05 -0.0008791218770562398 0 0 0 4.251168986482927e-05 +7259 -0.0004017179261118456 -0.0005466240704882667 0 0 0 -2.013506533478794e-05 +7270 -0.0003811891846309255 -0.0006762748600598978 0 0 0 -1.4974313606661254e-05 +7278 -0.0003341934733629059 -0.001027970892026957 0 0 0 1.223477136492551e-05 +9128 0.000819389428612549 -0.0008924272676086807 0 0 0 -6.361348524602827e-05 +7310 8.556135483401162e-05 0.00024609095503348326 0 0 0 -0.0016619794915468358 +7335 0.0006159225704903432 -0.0004491697042410459 0 0 0 7.165422095880506e-05 +7368 -0.0003489595680246742 -0.00038087629208776044 0 0 0 -0.0003277771107830839 +7414 -0.00016272919612589715 -0.001097093825631578 0 0 0 -9.807160657090007e-05 +7440 -0.00036924693328803143 0.0001576567468424757 0 0 0 0.00034145266141025915 +7453 0.00019068968837580584 -0.0008832949345146049 0 0 0 0.0003261484412791845 +7455 -0.00035896111850731137 -0.00022990447649357668 0 0 0 -5.559980212196403e-05 +7481 -0.0010700952884556668 -0.0013874114931056955 0 0 0 -0.00014027121813910915 +6832 0.0005080823891445148 -0.00028770414717155295 0 0 0 -7.312848557084145e-05 +3280 0.0007553402378519371 -0.0007527999540579857 0 0 0 8.407522386831937e-05 +7508 -0.0005286582455718582 0.0002447924512920414 0 0 0 1.1471507193995993e-05 +7544 -0.00011270822432432922 -0.000874789494049712 0 0 0 -8.876425890383247e-05 +7577 -4.568466514975591e-05 -0.0010507300848490912 0 0 0 -5.9363553684066844e-05 +9644 -0.000562362504713581 -8.574595232720952e-05 0 0 0 0.000839301124863229 +7595 -0.0006087568881529699 -0.00016839069874133978 0 0 0 6.43260256707494e-05 +7639 -0.00043166311846757786 -0.0006340701467269895 0 0 0 7.0638003527222095e-06 +7664 -0.00025251709111167957 -0.0011314673921983054 0 0 0 0.00018916233058846021 +7705 -0.00020769895035781464 -0.0008229278281390097 0 0 0 -1.8024191757082024e-05 +7709 -0.00023174121843761388 0.0004992646823104673 0 0 0 -0.001173746114764052 +6926 0.0007804625254276515 -0.000456415946610628 0 0 0 -0.0003886124377780811 +7743 0.00047881010784869935 -0.0006854759340355084 0 0 0 8.553999828919245e-05 +2655 0.0004532325727999309 -0.00010654590619507441 0 0 0 -0.00014283782794329055 +7778 -0.0004797038498202122 0.00010764591513143834 0 0 0 -8.288430715335799e-05 +7783 0.000374566358206529 -0.0006714937391974956 0 0 0 -2.6008370572209267e-05 +7797 0.00012649184129548337 -0.0008212261523098882 0 0 0 0.0009503765346132374 +3430 2.4114282642758414e-05 -0.00043602596759624774 0 0 0 0.00017218167391012894 +7849 -0.00036483002283942465 -0.0009999843277573785 0 0 0 -1.7523261064371748e-05 +7860 0.0001633296545168101 -0.0008172132475042013 0 0 0 -4.0333746868790976e-05 +7874 0.00034545510641598496 -0.0007930799127263598 0 0 0 0.0005588346975803767 +7879 0.0005357847437812062 -0.0002364161593346332 0 0 0 -7.811152845360665e-05 +7898 0.00019707358709147998 -0.0006980375835166251 0 0 0 -3.224141863714251e-05 +8006 -9.760114973340486e-05 -0.0007904447605282057 0 0 0 -0.0002182228591293486 +8024 -0.0003298687242740331 -0.0005789149979864771 0 0 0 -8.78200242214114e-06 +8045 0.0006069292095929388 -0.00044445135514695634 0 0 0 9.723672731643603e-05 +8047 0.0005090766246438442 -0.00027323604239680796 0 0 0 0.0001360788092890976 +8049 -0.00013330306709804382 -0.0007835368236895338 0 0 0 -0.00012337253325784276 +8051 -0.00025067041573675853 -0.0011493160323653349 0 0 0 -0.0002244338049077794 +8054 -1.6586739581849266e-06 -0.0008397051744159316 0 0 0 4.5042496132970834e-05 +8057 -0.0001529135426061113 -0.0010616167779867066 0 0 0 -2.446113037389563e-05 +8072 -0.00023440976517044782 -0.0010198316228531325 0 0 0 -3.381615643404043e-05 +8081 -0.0003864056214381319 -0.0010289578350888408 0 0 0 4.182374114445299e-05 +8082 -1.458803646805375e-05 -0.0007876252163251221 0 0 0 2.786459438886454e-05 +8107 -0.0004386777104281758 -0.0005647935708229712 0 0 0 1.361617294962309e-05 +7155 0.0005249690491719801 -0.0004769065778937145 0 0 0 -0.0001346578313639315 +2228 0.0005292127408050949 -0.00030402739093896665 0 0 0 3.956301011849084e-05 +8121 0.0001792309820675511 -0.0007738264915447247 0 0 0 -0.00013910607671867902 +8126 -0.0002129261093567947 -0.0008251580310977046 0 0 0 1.261871149177169e-05 +8180 0.000671451818972344 -0.000824435204192046 0 0 0 0.0002724804472534858 +5221 0.0004515126326421756 -0.00046539517010852824 0 0 0 0.00044575636931098436 +8228 1.0987719266550537e-05 -0.0005609596043192044 0 0 0 -0.0001598974447177674 +8230 -0.00012733219107686434 -0.000928039817297998 0 0 0 -1.601104333528628e-05 +8243 -0.0006357932661270521 -1.6228832802365563e-05 0 0 0 0.00020402432599740664 +8267 -0.00038295066622865255 -0.001029849351485343 0 0 0 -1.889460115039228e-05 +8270 -0.000176479455825971 -0.0007639328750949721 0 0 0 -3.746511222562836e-05 +8271 -0.00035670304203880824 -0.0010640762464447305 0 0 0 -8.749300629428794e-05 +8313 5.686144804850903e-06 -0.0005539674546819619 0 0 0 7.77521614180775e-05 +8330 -0.00012811741356621976 -0.0007243682810242967 0 0 0 -6.297691562650657e-05 +8472 0.00026462370942004177 -0.0006435594901600193 0 0 0 0.0001250794913793407 +8479 -0.00040235873177316714 -0.000628168734458154 0 0 0 -4.375132635643732e-05 +8515 -0.0004140830738802497 -0.0006297831918751733 0 0 0 8.961447545552925e-05 +8555 -0.0001397318418259844 -0.0008625332492823999 0 0 0 -5.408807911166281e-05 +406 0.0003748708791478539 -0.00029530291312910184 0 0 0 -2.5679647571009744e-05 +8607 6.282903326965694e-05 -0.0007979507145639548 0 0 0 4.279738195416764e-05 +8615 0.0007945512095057258 -0.000365898959046545 0 0 0 -0.00033269455198789715 +8629 3.81843738355046e-05 -0.0007576075045778406 0 0 0 -0.00010154248007873284 +8688 -0.0005757209345016671 0.0003972504127693221 0 0 0 -0.00043028901172564643 +8696 2.527424489492177e-06 -0.0009998428913007727 0 0 0 -0.00044853475056551 +8741 -0.0003187273728508019 -0.0007832000093090223 0 0 0 -7.059429893749394e-05 +8790 0.0005115600894046138 0.0002961779552089321 0 0 0 -5.004545839944342e-06 +8799 0.0005391730564531435 -0.0004936847491334084 0 0 0 0.00013625431452810388 +8813 -0.0005999844278715464 -0.00011564692464280966 0 0 0 -8.170933474131812e-05 +8819 0.00017627906118975338 -0.0007075035743076479 0 0 0 -0.00013955699570876768 +8827 -8.751379168840254e-05 -0.0006656769424778123 0 0 0 -1.5665968849825484e-05 +8836 -9.200327429984291e-05 -0.0006385038633377303 0 0 0 -0.00021511615945096928 +8859 -0.00039506036474730737 -0.0007219159223855156 0 0 0 1.5746555379737508e-05 +8867 -0.00013594481560523053 -0.0008072114169660295 0 0 0 6.075295489436963e-05 +8869 0.0006219417491731217 -0.0001956284645347038 0 0 0 0.000136616208072307 +8875 0.0003380346793956725 -0.0008044627073505914 0 0 0 -0.0002521782551789359 +8879 0.0003810113339379118 -0.000709811885057007 0 0 0 -1.475668304441345e-06 +8885 -0.0005690656829962129 -0.0004998057320084574 0 0 0 -1.9620975097519936e-05 +8944 -0.0001333303749897553 -0.0008910646985741332 0 0 0 -4.970047760540741e-05 +8947 -0.0003314420608898786 -0.000786597675389135 0 0 0 -5.098724032480123e-05 +9818 7.964255998904113e-05 -0.0007933539944029007 0 0 0 2.019302982431016e-06 +8996 -0.00035039669695325905 -0.0005288748464729303 0 0 0 -9.323560478884548e-05 +9020 -0.00026295496000473096 -0.0006117086930271673 0 0 0 0.00016950131385757227 +9021 -0.00031099409606618093 -0.0007858928318374118 0 0 0 0.00010720902852487576 +9063 0.00016284049123240705 -0.0008132972186657071 0 0 0 0.00010757271090496053 +7153 0.000864777452864831 -0.0009939287693118569 0 0 0 6.048868304315842e-05 +9086 0.00010735447274344202 -0.0008006607724439165 0 0 0 -0.00028445505976663074 +9101 0.0003418965463251571 -0.0007839106106997924 0 0 0 -0.0001997589883705889 +9134 0.00017606009624545718 -0.0007021253717332926 0 0 0 9.364247778886808e-06 +9136 -0.00015346936429824494 -0.00110463582141072 0 0 0 -6.0245668110560016e-05 +9137 -0.00019434035315757554 -0.0005845434520624405 0 0 0 0.0002028076379056636 +9145 -0.001566078504381943 0.00043093951715511585 0 0 0 0.0009468590991201203 +9153 -0.0005591723475498485 -0.00021397607499314543 0 0 0 -0.0015402060560747873 +9154 -0.0004952531916787358 -0.0008150809943734641 0 0 0 6.97250386128081e-06 +9198 5.671789732793157e-05 -0.0008038835448596069 0 0 0 4.081663877736472e-05 +9220 6.281344020515917e-05 -0.0008868539692388394 0 0 0 -2.575868817656304e-05 +9248 -0.0003174408526395946 -0.001022398784705884 0 0 0 -0.0008450886232535586 +9253 0.000489482776347277 -0.0007321513272494191 0 0 0 0.00011986221881817626 +276 0.0006317414739197165 -0.0006488767052704686 0 0 0 -7.371339684284236e-06 +9298 -0.00032874607231296626 -0.0009730038319088751 0 0 0 4.0170213702798414e-05 +9315 0.00022888316672580524 6.671988937788638e-06 0 0 0 2.5908363457559053e-05 +9330 -6.241548309659485e-05 -0.0008541185354617671 0 0 0 4.65202755133963e-05 +9347 -0.00035487259835132015 -0.0004141726427721706 0 0 0 -0.00016422695136707963 +9362 0.0003234548830256657 -0.0007814724358398658 0 0 0 -0.00037434816922737386 +5827 0.0004031138037203571 -0.00017379559433372836 0 0 0 8.715646993668384e-05 +8782 0.0003685303613564382 -0.0002938345324469224 0 0 0 -7.404549369418415e-05 +690 0.0003381255604092839 -0.00047593518053691623 0 0 0 -0.00012135434085007771 +3434 0.0007365420889659723 -0.0007891459060891986 0 0 0 -2.8351472747399184e-05 +9127 0.0003305287752090426 -0.0004126869533783281 0 0 0 0.00013120045479661648 +4815 0.0007262639833661229 -0.0008817773889831795 0 0 0 5.530149619405618e-05 +4212 0.0006763078475207267 -0.0005150926632153536 0 0 0 0.000171863560044607 +2053 0.0006480762010665825 -0.000419579033133284 0 0 0 2.033943764443844e-05 +647 0.00032122346178658107 -0.0006275080801910764 0 0 0 1.6194624784122348e-05 +1482 0.0005752489004048604 -0.0004821887227048888 0 0 0 0.00023097141091559203 +7204 0.0006067430250090188 -0.000885387150363742 0 0 0 -0.00028443667711146894 +4565 0.0006208999491795386 -0.00042120667308121677 0 0 0 -0.0004146884944512201 +6724 0.0005806101090047737 -0.0008814204247947061 0 0 0 2.6734106514273145e-05 +1086 0.0006486064928278992 -0.0008597718274714053 0 0 0 -6.640998894661546e-05 +3875 0.0007056846750278137 -0.0004041161692096214 0 0 0 -4.772283133599712e-05 +4049 0.0007122252764376212 -0.0004759288012159753 0 0 0 0.00010509854743149696 +6890 0.0007501473531589201 -0.0006733978977843772 0 0 0 0.000314591770471655 +8956 0.0004623567696935705 -0.00017146110015049952 0 0 0 -8.079033360788134e-05 +7725 0.0006238976103693088 -0.0007686376870719361 0 0 0 -0.0001579930639698225 +7034 0.0007600577076325435 -0.0009585822957779961 0 0 0 -0.0002168782743821114 +5697 0.0006971930577405716 -0.0004984649046201302 0 0 0 0.0001216869996548651 +8912 0.0007869552584175968 -0.00042361356776886305 0 0 0 0.0003367684152352844 +6851 0.0007472970996423194 -0.0009621844115329393 0 0 0 0.00022834219488202738 +3066 -0.0001924516484897834 -0.0011761192772327643 0 0 0 -1.5342990177240385e-05 +1701 0.00037727832930113556 -0.0004722246269603826 0 0 0 0.0001101733755172597 +137 0.000821231395651913 -0.0009409731571606497 0 0 0 6.261188113460747e-06 +9165 0.001331284853819938 -0.0005238464303929409 0 0 0 -6.525650268666073e-05 +871 0.0005118185687953894 -0.0004973840046650205 0 0 0 5.925787115065743e-05 +8767 0.0006857052250403108 -0.00031499400239166843 0 0 0 5.385989531518749e-05 +9234 0.0006204624233877472 -0.00035520952076933585 0 0 0 -4.161917049002227e-05 +6 -0.000617286665200557 -0.00020210681612686817 0 0 0 7.621218268545596e-05 +7464 0.0008190646958781737 -0.000968115078524265 0 0 0 7.299637285666742e-05 +197 -0.00012281225932921 -0.0008709820045600877 0 0 0 7.291296074835808e-06 +6604 0.0008589273630425467 -0.0009978751776295288 0 0 0 -6.221210895783369e-05 +5083 -0.00032532465634234776 -0.0008647849158952903 0 0 0 0.0001771171878195301 +3 0.0008084748200634228 -0.00035805114663557577 0 0 0 -4.7538054949905025e-06 +7756 4.9227033258044534e-05 -0.0005268709592180609 0 0 0 -0.0010924274078435011 +7246 0.00026546657020123915 -0.0009648843198213592 0 0 0 0.0005557846620361405 +4307 0.0002802418720537783 -0.0009377397815991111 0 0 0 -0.0006698759494718817 +2427 0.00030022389813118825 -0.0010310810256915516 0 0 0 -0.00023287996152558072 +4058 0.000264056538573511 -0.0009861120753925617 0 0 0 -0.0006543701281381868 +6410 0.0002858008877442087 -0.0009673989713968232 0 0 0 -0.0007199928418762768 +5712 0.0002645554755383097 -0.0009069758226537985 0 0 0 -0.0007879725762081287 +7144 9.311720419530928e-05 -0.0009389077498711706 0 0 0 -7.595492499770182e-05 +3015 0.00017509020866115097 -0.0009300171794594262 0 0 0 -0.0003887735442394142 +4960 0.00043995960162006726 -9.138329174176259e-05 0 0 0 -7.025378183072426e-05 +7 0.0013881873452272892 -0.00013728344383576939 0 0 0 -1.049885802222492e-05 +9099 0.0007035427804444368 -0.00044370160665334324 0 0 0 3.379405644910778e-05 +15 0.0009545954998099648 -0.0005579961520855843 0 0 0 1.314815260655498e-05 +5523 0.0010125345853905998 -9.673281249704341e-05 0 0 0 1.19550584595735e-05 +222 0.0008869984438371802 -0.00039562324699254144 0 0 0 1.091302829754955e-05 +236 0.0007791658866845597 -0.0004205661645441743 0 0 0 -1.4974503527432353e-05 +4444 0.0009764198336969732 -5.16991174111272e-05 0 0 0 7.920808193272653e-06 +7566 0.0008508819609766978 -0.0003883736836833566 0 0 0 2.020194973879974e-05 +6897 0.0009817753497804319 -1.1902523386757007e-05 0 0 0 3.452484896382478e-05 +270 0.0009144148131595939 -0.00040664307886271865 0 0 0 3.383953410121574e-06 +9744 0.0010814013600935427 -0.0006271433571047873 0 0 0 7.361907628763646e-06 +309 0.0010376148895258866 -0.00017483686879414924 0 0 0 -1.4093855131369671e-05 +313 0.001017420990061533 -0.0003697513943284089 0 0 0 -3.5058373225793826e-05 +350 0.0012392634457264009 -0.00016405550369930416 0 0 0 -3.2368428463854585e-05 +4786 0.0009765806162439106 2.8846514403050715e-05 0 0 0 -4.124939279075406e-05 +4828 0.0008949184109525209 -0.00043898152201878716 0 0 0 2.8374706850541647e-05 +469 0.001185950952716507 -0.00035639359292675217 0 0 0 -2.191071767946649e-05 +477 0.00104354040626586 -0.0004896404537177978 0 0 0 -1.0225241535602218e-05 +9840 0.0011306751106303894 6.566650903420773e-05 0 0 0 -0.0010133671246213877 +506 0.0006653378241716692 -0.00045829373133316197 0 0 0 -3.0418288619840832e-05 +521 0.0008123304874097846 -0.0005901074574992237 0 0 0 -7.173130497787625e-06 +552 0.0009500126484938736 -0.00044936655340153145 0 0 0 9.905810586794512e-06 +557 0.0008236887323502133 -0.00042995957565867036 0 0 0 3.92233472157373e-06 +602 0.0009076409812233487 -0.000419058708982369 0 0 0 8.570244085409488e-06 +620 0.0010390479722779352 -0.00048236024234713843 0 0 0 7.1705501121656744e-06 +627 0.0010939313626151315 -0.00025817619612732444 0 0 0 -8.067402981109385e-06 +644 0.0009189132854271518 -0.0004188020680642737 0 0 0 -4.804292156798281e-06 +674 0.0012452940838148323 -8.86226895866019e-05 0 0 0 6.649881312755043e-05 +707 0.001058700549521196 -0.0002347886482181024 0 0 0 -1.3411167628156919e-05 +716 0.0011588742120939809 -0.0005349744675354535 0 0 0 -2.2837716379584842e-05 +4623 0.001151479575858593 -0.0002904092818168375 0 0 0 3.198185672185418e-05 +795 0.0008646453327148102 -0.00040255255088986013 0 0 0 6.969774715408488e-06 +810 0.0006738662810649189 -0.0004432465712410034 0 0 0 -1.4567561594496564e-06 +9550 0.0012836525677962986 -0.00014454840969822656 0 0 0 0.00017802668388068116 +837 0.0010181341464342174 -3.243242421474203e-05 0 0 0 -4.015114835515556e-05 +9652 0.0009730046644917502 -0.0004590976704885114 0 0 0 4.478217984838246e-05 +888 0.0007174388729829416 -0.0003590156123331241 0 0 0 9.614292707334099e-06 +892 0.0011010054424431478 -0.0004668853844549375 0 0 0 6.6216957039501396e-06 +1852 0.000965901892286929 -6.499077283697416e-05 0 0 0 -1.7850327969628196e-06 +947 0.0010546078181622042 -0.0002726676607894291 0 0 0 -3.123927208327922e-06 +949 0.0010672172238636148 -0.0005910795401438553 0 0 0 1.8244840983102324e-05 +8282 0.0011965835619683447 -0.0001323842775012028 0 0 0 1.5744715739613045e-05 +1049 0.0012186508920187817 -0.00040917297770140087 0 0 0 -5.198581257887702e-05 +1107 0.0011195849118734108 -0.0005569228580066847 0 0 0 -1.2413427859920292e-05 +9501 0.002618521028646655 -0.0010558117039819958 0 0 0 0.0006096806109499234 +1200 0.0011311528589252801 -0.0004086152148642961 0 0 0 -2.703385192288292e-05 +1232 0.0012742943156486212 -0.0002588223794957649 0 0 0 5.92960917821406e-05 +1281 0.0009658645052433957 -0.00043705106923109155 0 0 0 -2.6685785546587667e-05 +2541 0.001030216854165612 -7.257505012759016e-05 0 0 0 -3.397926982838183e-05 +9713 0.0011529230421793396 -7.860176716604075e-05 0 0 0 0.0006414140399638922 +1300 0.0011447115120683273 -0.0002357392379672709 0 0 0 -8.765489915982413e-06 +5590 0.0007453505414676042 -0.00035594359588464805 0 0 0 1.854260225244396e-05 +1340 0.0007428167949453798 -0.00040798181921227486 0 0 0 -7.96776994424132e-06 +1345 0.0008201468081304171 -0.0006011587923349767 0 0 0 -6.843507967804428e-05 +9835 0.001110765585490176 -0.000539047718803277 0 0 0 -7.498815567510511e-05 +1369 0.0009117663847886261 -0.00042366023647615264 0 0 0 1.2668299996833247e-05 +1376 0.0008064127465580911 -0.000303010134169223 0 0 0 1.2655844945517355e-05 +1797 0.0008302094830610087 -0.00039999377416050357 0 0 0 2.6544869501635503e-06 +1382 0.0008816135092575034 -0.0004087996474678482 0 0 0 4.1764812219432094e-06 +6785 0.0008716252035736647 -0.00039841417829581825 0 0 0 -2.3128187084618528e-05 +1421 0.0011379781318054648 -0.00046386499558253625 0 0 0 -6.181565697375253e-05 +1422 0.0010004822792336356 -0.000491309302483314 0 0 0 8.036387827128311e-06 +1427 0.0009981831081844826 -0.0004836175042076529 0 0 0 -1.8021562013238874e-05 +1428 0.0010922835242152822 6.03714226626689e-05 0 0 0 -3.5774297422920616e-05 +1457 0.0009996411219869458 9.498251705993548e-06 0 0 0 -1.8763802204516915e-05 +1563 0.0007309078515162641 -0.0004480517271498161 0 0 0 -1.2508526515096814e-05 +1612 0.0009469755048152915 -0.0004449098875225191 0 0 0 1.762089364200648e-05 +1261 0.0008226899930007695 -0.0003799542855313785 0 0 0 -9.652748239726407e-06 +8950 0.0011169339561936619 0.00015194203610153755 0 0 0 5.0316878999024145e-05 +1652 0.0006974511541597388 -0.00038248754853281724 0 0 0 -1.0053741179511437e-05 +5821 0.0009552678571224443 -6.595675045109535e-07 0 0 0 4.777448335461482e-06 +1658 0.001125427736158531 -0.0005378803745165999 0 0 0 3.795678195887834e-05 +1673 0.0011359487765855872 -0.0005107805057505653 0 0 0 -2.0558870043626613e-05 +1695 0.001302350739928242 -0.0001282815148146252 0 0 0 0.00012283211261082536 +1704 0.0010031019439026546 -0.00040176980815779774 0 0 0 -2.004882187595403e-05 +1705 0.0008531094606019162 -0.0003960274774813159 0 0 0 -1.2469634296985718e-05 +5952 0.0008582776986055084 -0.00042829397774352037 0 0 0 4.355145166045783e-06 +9997 0.0010223193792421828 2.575328644243802e-05 0 0 0 -5.58761541754854e-05 +1888 0.001205250516775402 -0.0004248926014772709 0 0 0 1.0188153240351902e-05 +1907 0.0007029020752707596 -0.00042205203243480415 0 0 0 5.4817227578662906e-05 +1936 0.0007227627849579698 -0.00042210760543980996 0 0 0 -5.453418050488648e-05 +1949 0.001217006486438406 -0.0003108119482689721 0 0 0 0.0001859338185453197 +2057 0.0009058163444970566 -0.00041268605622120564 0 0 0 -5.931146742207501e-06 +9836 0.0009903066463635274 2.0943514270995546e-05 0 0 0 0.00010496960324100617 +2069 0.0011031968531046265 -0.0006317330836896723 0 0 0 1.170398951988148e-05 +6232 0.0009726226843318011 -0.0006126189315484828 0 0 0 0.0001495663382583453 +2184 0.0007425947736537671 -0.00044741612318660833 0 0 0 1.5790654097517665e-05 +2195 0.0007054974541629318 -0.00038783192894023663 0 0 0 1.7174340753071957e-05 +2217 0.0009870751230150693 -0.0004597078615028387 0 0 0 -1.724188924927643e-05 +2335 0.0011595025667472461 -0.0004639362749331383 0 0 0 -3.411417336781544e-05 +2352 0.0007404795407839674 -0.0004442793234097335 0 0 0 1.672488186412094e-05 +2376 0.0009735750248579944 -0.00012206130858924271 0 0 0 1.0868848621031951e-05 +2379 0.0011299169312612221 -0.0004257218549168393 0 0 0 3.2511708817155165e-05 +8591 0.001116142528740905 -0.00021527150636749072 0 0 0 -0.0006732821202246468 +2966 0.000917997473512903 -5.950530941994642e-05 0 0 0 7.3367241019314886e-06 +2516 0.0010193074857391064 -0.0005951473399033068 0 0 0 -8.613722728870909e-05 +3048 0.0011183275189522756 -5.073277112331344e-05 0 0 0 0.00020106900956397107 +2551 0.0008188913532816272 -0.0005666090818201974 0 0 0 -3.4764797585738816e-05 +2574 0.001262671802121998 -0.0001932755104440603 0 0 0 2.004523681531371e-05 +2589 0.000864299851667353 -0.00040146663618658216 0 0 0 1.1293977194208979e-05 +5211 0.0010126838210320764 0.00021449158023973896 0 0 0 -1.8540599801183847e-05 +2609 0.0009153276259714767 -0.0005561910523318331 0 0 0 -0.0001040814001574157 +2635 0.0008711125837026286 -0.00039194133814731433 0 0 0 3.145958916413332e-05 +2646 0.0009426172690355337 -0.0003908108478573648 0 0 0 -3.15392797524231e-05 +9095 0.000837455931795163 -0.00040440758124226837 0 0 0 2.0974167781330973e-05 +9348 0.0008135659507449302 -0.0003706393996892511 0 0 0 -3.3915863076468336e-05 +9183 0.0006880341293305722 -0.0003701728690675376 0 0 0 6.19770290907877e-06 +2673 0.001168882470902137 -0.00046458026821116245 0 0 0 -0.00014157279089197777 +2712 0.0010752660899022118 -0.0004803344298520293 0 0 0 1.6563952717768772e-05 +9225 0.0013651086279845423 -0.00024144790627340804 0 0 0 0.00016345647976164074 +2835 0.0010150577246804374 -0.0004643387382774029 0 0 0 -9.84954133926077e-06 +2857 0.0009480689785543194 -0.0004245700949716578 0 0 0 8.097543001674057e-06 +2886 0.0010626853048693128 -0.0001554860083744037 0 0 0 3.233272963297741e-05 +838 0.0008822946542109372 -0.00038943791467948105 0 0 0 4.376344609698305e-06 +2939 0.0008399570160237517 -0.0004436266029828139 0 0 0 -2.2510709700604863e-05 +2975 0.0013198911872610228 -0.0001663149858630816 0 0 0 2.155640978313073e-05 +2987 0.0009770399810165725 -2.4093934658946963e-05 0 0 0 -2.9729151857223454e-05 +2996 0.001131466185497881 -2.1617063361534606e-05 0 0 0 4.9368082584571525e-05 +3047 0.0011754603093057485 -0.00031315487903494336 0 0 0 -9.54737260928033e-05 +8780 0.001117896537420202 -0.0005067561351054721 0 0 0 -1.8657360891065344e-05 +3909 0.0008690296817646239 6.835590840578558e-05 0 0 0 0.00014602635945967 +3104 0.0010513725788674942 -0.0002314968344991315 0 0 0 1.5603282583539613e-05 +3917 0.0008673302175454108 -0.0003875038693988842 0 0 0 -1.1245963228870475e-05 +3184 0.0007807405523197163 -0.00043982619049433703 0 0 0 2.4142619373841e-05 +3225 0.0010237686254058707 -0.00047044410956378365 0 0 0 2.242072479913522e-05 +9862 0.001041691752083803 -0.00047838475299929095 0 0 0 6.5815570734095864e-06 +3261 0.0009974258044351929 -0.0004524530781616823 0 0 0 1.1700581273131777e-05 +3262 0.0011002391987071465 -0.00032981346611184057 0 0 0 -0.00032162019351508823 +3413 0.0011169542328286074 -0.00032062493794095145 0 0 0 -1.229081075158581e-05 +9485 0.0011638024314258718 -0.0001366901032630665 0 0 0 0.0007506796951370508 +5528 0.0009879938925250352 -7.53547936368539e-05 0 0 0 -3.5670951861616887e-05 +9536 0.0009686661411185577 -0.0004716003351345287 0 0 0 1.1234319803304279e-05 +3563 0.0009567026479991557 -0.0004928128953688412 0 0 0 2.719037681218557e-05 +3565 0.000806392863948848 -0.0003895922052789986 0 0 0 1.2485768126051316e-05 +3581 0.0008223551619308092 -0.00041872326244375924 0 0 0 5.012130432522615e-05 +3596 0.0011746534471458782 -8.419762440723744e-05 0 0 0 0.00041081370011765195 +3688 0.0011372319474905843 5.6437693681168864e-05 0 0 0 0.0005999168570267415 +3715 0.0008572230837417411 -0.0005915218918324893 0 0 0 0.00011243717216516779 +6613 0.0011033635896622095 -0.00027052715472451836 0 0 0 2.594007845197557e-05 +8932 0.0012697611688059973 -0.00010132755847521426 0 0 0 -8.01414154805164e-05 +3820 0.000804722182118965 -0.0004067210972852388 0 0 0 7.004790499206718e-06 +4486 0.0008566092158568373 -0.0004140232746399866 0 0 0 6.884645189434598e-05 +5359 0.0008579716383834972 -0.00026885873127692386 0 0 0 0.0003221065347542075 +3905 0.001093578683211543 2.754868484699574e-05 0 0 0 4.396380803576154e-05 +3928 0.001128594946297597 -0.00015904653444520013 0 0 0 7.523311644688457e-05 +9626 0.001219740707339603 -0.00039084370173954797 0 0 0 1.8887924216110507e-05 +3970 0.0008279465980182301 -0.00031928138074782637 0 0 0 -3.7071974777206095e-05 +3988 0.0010611729155867047 -0.0005991093622606414 0 0 0 -4.612174481038097e-05 +9747 0.0010813695456434816 -0.0004949372234704604 0 0 0 1.808731655503587e-05 +5041 0.0007571957194327121 -0.00042033455821154173 0 0 0 1.0200983196971462e-05 +1100 0.0009765685678656624 -7.281800579697171e-05 0 0 0 -5.7730923969666096e-05 +4183 0.001113003154484843 -0.0004669768773628675 0 0 0 -1.9004639820088962e-05 +4199 0.0009759031387015466 -0.000432945750589034 0 0 0 6.653973619059903e-06 +8682 0.0009851023359883776 -6.0601304844145334e-05 0 0 0 -4.193991845320317e-05 +4234 0.0008204577245045266 -0.0006028489060423326 0 0 0 2.6750903658475376e-05 +4244 0.001198204349121929 -0.00040891784442428366 0 0 0 1.3144699140113602e-05 +4245 0.0010625640799484702 -0.0002487824353170194 0 0 0 -2.165292749845473e-05 +4248 0.001083708416181683 -0.00022340196414541522 0 0 0 -2.6710376970635067e-05 +9981 0.000977830399799667 -2.5068810839023533e-05 0 0 0 -1.6327106328437216e-05 +4332 0.0013490913209967606 -0.0003223547432771652 0 0 0 -7.067812412162992e-06 +4334 0.0009748577055725055 -0.00010738287308052897 0 0 0 -1.9035252808660555e-05 +4348 0.0008157870541501546 -0.0005962919592164955 0 0 0 -1.712911582579984e-05 +8125 0.0007944026014980872 -0.0005709259028800569 0 0 0 -0.0003595115093415447 +4370 0.0007382964991156495 -0.0003905699604319016 0 0 0 6.300137168804107e-05 +796 0.001106895873196334 -0.0002891861686866826 0 0 0 -3.69987633566872e-06 +4798 0.0008678780058215222 -0.00037596328020252014 0 0 0 2.360941899329602e-05 +4426 0.0012591182399568077 -9.986027519025522e-05 0 0 0 7.09090688739966e-05 +4469 0.0011971487807838264 -0.0002918771681106197 0 0 0 0.0001768983354260323 +4471 0.0010882505048848841 -0.00047949401674132633 0 0 0 -2.845307558515183e-05 +4481 0.0007920854420962611 -0.00033090515406268155 0 0 0 2.9502613329797018e-05 +8501 0.0009776147829938288 -5.5188620318601296e-05 0 0 0 2.6367662028314727e-05 +1887 0.0010101703694241164 -4.104780789050517e-05 0 0 0 2.395929224977978e-05 +4539 0.001244028769063989 -0.00017279979086377834 0 0 0 -0.00013641167262539057 +4541 0.0006968121479592724 -0.0003877754740060614 0 0 0 3.8174520231476107e-05 +4560 0.0011308965033319364 -0.00046245874600333225 0 0 0 -9.137030664986549e-06 +4579 0.0009637735106430358 1.5080871759290872e-05 0 0 0 -3.199204259460742e-05 +4607 0.0011073142003911742 -0.0006346539109399391 0 0 0 -2.541105685253236e-05 +4638 0.0011445646715682715 -0.00046032631342079095 0 0 0 -4.4371624967996916e-05 +4639 0.001028919843353728 -0.00046302262576665464 0 0 0 1.866413824538021e-06 +4653 0.0007453239335562535 -0.0004480138960258275 0 0 0 -1.8751610786804052e-05 +4656 0.0012057138472771703 -0.00010430061335882678 0 0 0 6.882596607073572e-05 +8858 0.0009635291814572139 -2.4291120499704868e-05 0 0 0 3.3030998651501264e-05 +3375 0.0009700989232926774 4.133033947165264e-06 0 0 0 -1.930201046543577e-05 +4676 0.0012506902301476074 -0.0004120093376676535 0 0 0 5.6027581873396255e-06 +7483 0.00085083556301916 -0.0003745033113738543 0 0 0 -5.910653416827186e-05 +4729 0.001029919973509251 -0.0006387401736749745 0 0 0 -2.491859423843014e-06 +4744 0.0009707507104265712 -0.00015424529859769308 0 0 0 3.8848180583618586e-05 +4751 0.0010583380949909362 -0.00047077339859023863 0 0 0 -3.4820705534646096e-05 +851 0.0008006181568332907 -0.00037848197572142614 0 0 0 4.159255634120261e-06 +5835 0.0009642006245939319 4.532570586773114e-06 0 0 0 -1.1322326092740509e-05 +9174 0.0012389881786991372 -0.0001150200353140547 0 0 0 -2.4958116128900357e-05 +8421 0.0008228289433475668 0.0002042119214606223 0 0 0 -0.0004882851597886462 +4814 0.0010952188659553034 -0.0005954174672090981 0 0 0 -7.271181364195796e-05 +4845 0.0007524691166159429 -0.00040833061785333364 0 0 0 3.819589758805105e-05 +4851 0.0006899561608760543 -0.0004423455568501217 0 0 0 -6.20194756024597e-05 +4929 0.0011189090298608757 -0.0006364221000088046 0 0 0 -2.1533817906488348e-05 +4944 0.0007669007378194423 -0.00043082047706287374 0 0 0 -9.653312575088328e-06 +4945 0.0007893888598429123 -0.0005778169176613279 0 0 0 1.7487468447397023e-05 +4958 0.003790907004622131 0.0009130155003781231 0 0 0 -0.0003338880289362666 +8776 0.001086558698042765 -0.00022342922614378716 0 0 0 -1.668072932838709e-05 +3229 0.0008005315785231903 -0.00035980607907001383 0 0 0 4.5966414977215825e-05 +9909 0.0010406338086163455 -0.00016623119903280781 0 0 0 -1.0674240356214346e-05 +5088 0.0008658800656338403 -0.00042411975116538465 0 0 0 3.1755749968487584e-05 +5100 0.0008753117596577258 -0.0003663745297941286 0 0 0 3.0265870402526522e-05 +5155 0.0009356953772919667 -0.00041266991569333615 0 0 0 1.2785537586400473e-05 +8699 0.0009402386281298796 -0.0004154145219634691 0 0 0 -3.6363615486332836e-05 +5229 0.001199590478322568 -1.5592333871307045e-05 0 0 0 -1.854738506363002e-05 +5283 0.000661517008369695 -0.0005439799097972126 0 0 0 -0.0008699367142687597 +9578 0.0012962556093852951 -0.00040953509282739664 0 0 0 -2.775715164923976e-05 +8966 0.0011187716866055486 -0.0001249022403207291 0 0 0 -8.478466593230791e-05 +5373 0.0009351182764816065 -0.0004104320211432589 0 0 0 -3.597608730320598e-06 +5431 0.0007731442741328898 -0.0003050481824511806 0 0 0 2.6289657190410942e-05 +5455 0.0012482212125014866 -0.0004908504683494234 0 0 0 6.514901698365572e-05 +5506 0.001111400386548647 -0.0004883074832819388 0 0 0 -6.040683353133882e-06 +5532 0.0009905981006651898 -0.00046550845258202595 0 0 0 -3.095631950085114e-05 +5591 0.0011161120449654771 -0.000563321106655383 0 0 0 -6.898695550609613e-05 +5613 0.0009744202310424881 -0.0004747387628286404 0 0 0 -8.720812922902419e-05 +5640 0.0010715616064375679 -0.00023669342824079518 0 0 0 1.1842301122603047e-05 +5649 0.0007054823015180282 -0.00045098853705876995 0 0 0 3.60020860592708e-05 +5650 0.00114052541173553 -0.00042136297032946245 0 0 0 -0.0001163885388017318 +5664 0.0006782603702194653 -0.00045789852817622854 0 0 0 0.00012203764012044965 +362 0.0008154675186628689 -0.00037153119335988673 0 0 0 7.102699613904936e-06 +5736 0.0010606842822398978 -0.00035439208490783167 0 0 0 -2.5192486798042626e-05 +9897 -0.0011147019831631185 -0.0003045427879816271 0 0 0 0.0011376392355805362 +5799 0.001276214511895054 -2.50285898133053e-05 0 0 0 -4.383366800467914e-05 +4125 0.0009383242568781979 -2.589332524407554e-05 0 0 0 1.3758947421306795e-05 +2539 0.0008608886276198211 -0.0003880666844825708 0 0 0 -4.137697065532292e-06 +2980 0.001071486674107295 -0.00031073651285720466 0 0 0 -2.4724361708160818e-05 +5877 0.0010371764452198745 -5.2721301476443804e-05 0 0 0 5.958006302632016e-05 +5953 0.0011445177405984199 -0.00040848138536324206 0 0 0 0.00019859990030479685 +6136 0.001043071622529053 -0.0003265899167321563 0 0 0 0.0001490816061571388 +6139 0.0010845696416370329 -0.0005609242457239137 0 0 0 3.207712747327253e-05 +9766 0.0009253541942176645 -0.00046776655683761497 0 0 0 -1.428242757022757e-05 +2231 0.00114818509929384 5.413745320016513e-05 0 0 0 0.00016520404391932815 +6264 0.0011187807979609566 -0.0005534441891625659 0 0 0 -9.043709382762098e-05 +8892 0.0009737661632753877 0.0002057078691186819 0 0 0 -4.614567911857448e-05 +9721 0.0023175200142054363 -0.0003684133941754016 0 0 0 -0.0003388919030798042 +6330 0.0011173797677672557 -0.0004818332222622016 0 0 0 -7.262019943703548e-06 +6433 0.0007195243445953165 -0.00040420928862241486 0 0 0 -2.8208540955997026e-05 +3034 0.0007181696288311247 -0.0004278877228610089 0 0 0 1.633654100236309e-05 +7592 0.0005407358522443259 -0.0004852894730635071 0 0 0 -0.00045978571850519814 +9491 0.0009638195485083831 -1.6417265481245608e-05 0 0 0 1.1723098923275207e-05 +6494 0.0012722405131311277 -0.00036466693987887295 0 0 0 -1.8654229813022343e-06 +9516 0.001126250493040422 -0.0004802877387920629 0 0 0 3.777722675520979e-05 +6514 0.0013024859816055559 -3.638541565487834e-05 0 0 0 -1.8419036332553896e-05 +6538 0.0011211983510776929 -0.0005685171628747708 0 0 0 -3.7712324749075444e-05 +6545 0.0009265891991181099 -0.0004495652422067143 0 0 0 -2.7175449725328494e-05 +9366 0.0009505022702285099 -0.00044500879871237146 0 0 0 6.289884402886373e-05 +6576 0.0011390132909405166 -0.0005968445180121764 0 0 0 6.24573401578582e-05 +6580 0.001146417746140256 -0.000318488506300062 0 0 0 -0.00039218017957018056 +9708 0.0010043606952709525 -0.00044827408951169116 0 0 0 7.167258507304359e-05 +6615 0.0011978136834250254 -9.143438993756777e-05 0 0 0 0.0005373656461905424 +6652 0.0011829311009611 -0.00033740928326245624 0 0 0 -0.00044507946669772796 +6699 0.0009974259380490262 -1.7654179959928406e-05 0 0 0 -2.6536771462280344e-05 +7854 0.0008730304749245073 -0.00040175458483457713 0 0 0 4.970487861462725e-05 +9231 0.0009688315758854864 -5.999896675395583e-05 0 0 0 -2.3623330618247014e-05 +9237 0.0010461717245925065 -5.30478203473476e-05 0 0 0 -5.208535077043597e-05 +2052 0.0007970128536535269 -0.00032253324606162736 0 0 0 -0.0001661602048685399 +6826 0.0010858085961077074 -0.000541640880588298 0 0 0 0.00012930117755287116 +6836 0.0010941239346845997 -0.0006351362087385914 0 0 0 -3.1088047530938954e-05 +6846 0.0008117869364020122 -0.0006199580937396666 0 0 0 0.0009370485008904599 +7688 0.0010529184203485918 -0.00023871992354367071 0 0 0 -1.6167540113615772e-05 +6894 0.0010576601791328574 -0.0004978886588396476 0 0 0 -5.621509315187787e-05 +6899 0.003634011058089395 0.00048736918709617804 0 0 0 0.0011823177390369727 +6984 0.001103956633237682 -0.000262194137894866 0 0 0 2.6419293132446057e-05 +7023 0.0009950571037866415 -0.00034994397053494605 0 0 0 1.9928251107558805e-05 +7028 0.0009568345643635429 -0.00046013828400733004 0 0 0 2.27039468182331e-05 +7070 0.0010878235429435373 -2.344199373954407e-05 0 0 0 0.00016175356077066522 +7100 0.0008029977678258421 -0.0003434975933068104 0 0 0 9.87589261670886e-05 +7120 0.0009423210758461384 -0.00030316292485905273 0 0 0 -0.00023392647542754908 +2691 0.000903724839670113 7.205844549501346e-05 0 0 0 -8.78300402505782e-05 +2669 0.0008826801951926584 -0.0003518720304386433 0 0 0 1.586385739205752e-05 +7272 0.0008114209853696678 -0.0005529664029253492 0 0 0 -0.00010526592030011098 +7357 0.001112869971534948 -0.0003976562250742836 0 0 0 -0.00014515072145512273 +7381 0.001272770796616948 -0.0004537157595031754 0 0 0 6.410714391599368e-05 +7439 0.0007071427599037778 -0.00043295963915249597 0 0 0 4.9738339383364135e-05 +6008 0.0008614049011267895 -0.00034491229722233773 0 0 0 1.8021126148400627e-05 +7524 0.0010795427522032129 -0.000317947122727226 0 0 0 -0.00024075663617516573 +7530 0.0007422105842962192 -0.0004470492001086098 0 0 0 -1.28995615507182e-05 +2899 0.0009659966781738833 -6.45574665738492e-05 0 0 0 -1.296188239376947e-05 +7568 0.0012519933791749628 -0.0003514759575691564 0 0 0 -8.649772170768731e-05 +7584 0.0013260562479911935 -7.122939614844764e-05 0 0 0 1.7095299075930855e-05 +7590 0.0009123787418378096 -0.0004540372490499966 0 0 0 1.555149535152965e-05 +7628 0.0007035040459285245 -0.000446745954789714 0 0 0 2.5769063920301198e-05 +7666 0.0009374749338061789 -0.0003921521620157465 0 0 0 2.81797276469011e-05 +7669 0.0010893280811603678 -0.00029861765406024687 0 0 0 -0.00030480583019160026 +318 0.0011332391513280764 -0.0004278319172859008 0 0 0 -6.291529853010647e-05 +7693 0.0010679628699124762 -0.0006063175946514408 0 0 0 -2.600916815005688e-06 +7727 0.0009711993745656198 -0.00045797189348468635 0 0 0 -7.474574908025387e-05 +7736 0.0009954295561781488 -0.00043380538180792935 0 0 0 -6.901761605322664e-05 +5787 0.001056596435867615 -0.00029475898459372697 0 0 0 -9.863252540945397e-06 +7757 0.0009677533217695499 -0.0004730731731521916 0 0 0 2.9026657966046996e-05 +9141 0.0013107453714460494 -0.0004402510818108043 0 0 0 -7.177547916973714e-05 +7812 0.002100070996482686 -0.0006551084353071528 0 0 0 -0.007119420241781388 +9214 0.0008606476160885948 -0.0004436201804538659 0 0 0 6.530605342908414e-05 +7850 0.0007516537153433765 -0.00044192657427970396 0 0 0 2.874112699641776e-05 +7853 0.0012192940368201126 -0.00010317680032989227 0 0 0 -4.371921426900922e-05 +4057 0.001075888525148274 -0.0003187014887086538 0 0 0 1.0101998183817322e-05 +7921 0.0010868423977941986 -0.00035760577538689455 0 0 0 -0.0006311088169754526 +5038 0.0009710559881407546 -3.785395902983059e-05 0 0 0 0.00010043112847678436 +8019 0.0009557459784905125 -0.0004313469444218043 0 0 0 -3.4933514719825185e-06 +8050 0.0011251764140673465 -0.00014037357323612548 0 0 0 -6.349443682060436e-05 +8055 0.0009319374766597493 -0.00044743604553644875 0 0 0 4.363929642676407e-05 +8061 0.0011556172184652986 -0.00043279627080493 0 0 0 0.00010105188622719645 +9948 0.000882609730940216 -0.0004279082381819789 0 0 0 3.562550540466897e-05 +8804 0.0007064216959514532 -0.0003697340196004768 0 0 0 7.813498862132028e-06 +8176 0.0015596895553189258 0.00017431918840698206 0 0 0 -0.00034476456033437597 +9901 0.0009651914901491112 -0.00039431810344957036 0 0 0 2.8547022121823815e-05 +3033 0.0009341638846551499 -0.0004225453461487987 0 0 0 4.039904706954395e-06 +8226 0.001017434536378838 -0.0005005341972878582 0 0 0 8.539644119003689e-05 +8249 0.0011092593618419353 -0.0006122251574851424 0 0 0 -5.292193683011924e-05 +8258 0.0013802935207552526 -0.00011771274645146813 0 0 0 -0.0001541925802886418 +8272 0.0012023874834251418 -0.0003383949353925021 0 0 0 1.020559819376016e-05 +4727 0.000962227416541018 -9.205194092986395e-05 0 0 0 -2.4673545828446358e-05 +8796 0.0008163319278931194 -0.0005560631342961781 0 0 0 0.0001680871408958273 +8336 0.0008447325440751768 -0.0003846687610153849 0 0 0 -3.735425161197348e-05 +8456 0.0010289555890675055 -0.0005042584100759255 0 0 0 -8.966649895030999e-05 +8457 0.0008126161827088927 -0.000388741315559349 0 0 0 8.640650081173886e-06 +8466 0.002024999409795226 -0.00017417898465663914 0 0 0 0.01672280036972964 +9026 0.0007793153119448506 -0.0004234233218863395 0 0 0 3.5287634561612765e-05 +8509 0.0008429922008093828 -0.00038292618604977423 0 0 0 2.2937326674375634e-05 +8523 0.0010270513154844658 -0.0004967799789554116 0 0 0 2.7456105054378614e-05 +8538 0.0007217966667512787 -0.00047234684602555496 0 0 0 1.0605994323860335e-05 +1858 0.0008242205514058081 -0.00035780012337229434 0 0 0 1.7092806868526184e-05 +9568 0.0009154366713867073 -0.00040770654055345045 0 0 0 -6.440254740974587e-05 +8698 0.0007404759126913364 -0.00036799642075629 0 0 0 -9.991410068953103e-05 +8730 0.0010152026305243846 -3.300781355271508e-05 0 0 0 -1.4649677007882174e-05 +8738 0.0009821384242426749 -5.368648394981702e-07 0 0 0 1.4197036452079866e-05 +8747 0.0011222265320919827 -0.00014935765757092574 0 0 0 -1.4822608684397439e-05 +8773 0.0007359060563666328 -0.0003962469023757601 0 0 0 -5.714577490326208e-05 +616 0.0009324616710438032 -5.271267689488009e-05 0 0 0 -3.278396891122969e-06 +9331 0.0010376830909795743 0.000374684923881778 0 0 0 8.80876209015794e-05 +3240 0.0007852911924107674 -0.00033356161829678667 0 0 0 9.638993273038468e-06 +363 0.0008512366000918769 -0.0003752378550205518 0 0 0 4.901517371463547e-06 +2525 0.000975686697944607 3.699530972588562e-05 0 0 0 1.1193559254732669e-05 +4668 0.0011071173785019888 -0.00010683387947727384 0 0 0 -0.0001490099997450759 +1336 0.0008495136355353 -0.0004004547122735716 0 0 0 -8.394840138913434e-07 +8290 0.0008163998981940261 -0.0004176820733020147 0 0 0 6.970949288205393e-06 +3488 0.0008055122520267204 -0.0004127203028826434 0 0 0 2.0557110583483214e-05 +6852 0.0008544651849141657 -0.00040732735740242425 0 0 0 9.037057077667156e-06 +8124 0.0007382266798226222 -0.0004362392399016045 0 0 0 2.310931236981066e-05 +9076 0.0008933993672725092 -0.0003523021835755393 0 0 0 1.4940816583602233e-05 +6366 0.0007345125558957542 -0.00032203031848660537 0 0 0 -0.00011302718490957871 +8635 0.001192480371307862 -0.00012382858976606894 0 0 0 -3.0054248928217497e-05 +5729 0.000816194181972644 0.00018249162934383582 0 0 0 0.00041685072175834067 +2967 0.001193464077383961 -0.00012559492504081056 0 0 0 1.7779800208984436e-05 +9013 0.0008094585512492473 -0.0003974090019624382 0 0 0 -6.56347425740598e-06 +45 0.0007157323366838152 -0.0008195331707049031 0 0 0 -5.7813460419908054e-06 +48 0.0005754881267792497 -0.0010406024039561362 0 0 0 -4.944995703907793e-06 +7938 0.001368553575690343 -0.0005240996117302476 0 0 0 -2.174981068017177e-05 +94 0.0007446264390728035 -0.0008288084406419963 0 0 0 -1.4654975369456093e-05 +6722 0.0012851392494043436 -0.0005987234937252873 0 0 0 -7.192462253463715e-05 +127 0.0005335956923707829 -0.0009714499708189316 0 0 0 6.251614745089365e-06 +131 0.0004819042923321531 -0.0007796401953926594 0 0 0 2.918551411485714e-05 +160 0.0010433819824783336 -0.0006392653556385515 0 0 0 -1.7868834844509487e-05 +165 0.0006238073415260698 -0.0007514866466590095 0 0 0 2.9857301607207195e-05 +180 0.0006257670883728593 -0.0009009173746361791 0 0 0 1.2428646580805216e-05 +190 0.0008471105847958457 -0.0007985688870913006 0 0 0 7.986004412215955e-06 +198 0.0008205566759238254 -0.0008739745926332769 0 0 0 -2.435754672222566e-05 +8597 0.000669867959904737 -0.0009964676018131087 0 0 0 -3.657553883153989e-05 +201 0.0006886302274482965 -0.0009171936163697521 0 0 0 9.652240950461831e-06 +202 0.0004401713911938958 -0.0008827575078204587 0 0 0 1.7089700539549095e-05 +206 0.0009722980669451905 -0.0006818561901710352 0 0 0 -1.2719280158360259e-05 +273 0.000922670356593517 -0.0006282868468299988 0 0 0 -9.55886831447921e-06 +307 0.0011775863247730433 -0.0006335399765684031 0 0 0 -9.327944117903924e-05 +5765 0.0007528318448329268 -4.3350215481041617e-05 0 0 0 9.28858293749207e-05 +9912 0.0006462967330630239 -0.000767484080891164 0 0 0 -0.0002025693520112575 +4930 0.0008892442241454909 -0.0008633907006155935 0 0 0 -1.4858627346119125e-05 +438 0.0008919250892278357 -0.0006132158906047023 0 0 0 -1.897137513838735e-05 +441 0.0008069472392630497 -0.0008058255746816594 0 0 0 -7.216896802769194e-06 +473 0.0005759110232312504 -0.0009374945329997443 0 0 0 5.648556515151976e-06 +480 0.00036133374596990784 -0.0009850589325981626 0 0 0 4.095253880503116e-05 +493 0.0006620048384828852 -0.0009786323377681376 0 0 0 -3.6108775491616137e-06 +500 0.0006549349017952839 -0.0007503031483043072 0 0 0 5.006451150257261e-06 +512 0.0006429793928753547 -0.0009377881445127287 0 0 0 -2.1016342481428386e-06 +8968 0.0012216364713166503 -0.0005880032669757811 0 0 0 3.720322329524958e-05 +539 0.001055324984854899 -0.0007280637451019615 0 0 0 -2.158569851728658e-05 +579 0.0006210751851220862 -0.0009996302984085293 0 0 0 1.6589024708682788e-06 +603 4.3724345715146354e-05 -0.0008317653430132689 0 0 0 1.9527621692725886e-05 +604 0.0008120064945346507 -0.0007611780483586768 0 0 0 -1.5817677506691793e-06 +609 0.0003254085813949404 -0.001038634235200974 0 0 0 -1.2859113248034475e-07 +408 0.001020550151419264 -0.0007731281103405792 0 0 0 2.426135638164951e-05 +625 0.0008980019460861435 -0.0007660459132337142 0 0 0 7.158320463892622e-06 +676 0.0008709124082271615 -0.0006297676132210935 0 0 0 -1.139080475580747e-05 +703 0.0006223644621747407 -0.0007396917828504156 0 0 0 2.0540563189521376e-05 +708 0.0006410568935902434 -0.0008310327489387838 0 0 0 8.475701911363047e-06 +9854 0.0007246121722349659 -0.0009235607008001663 0 0 0 -8.675274267967852e-06 +724 0.0005688547157972715 -0.0009894286301158613 0 0 0 8.86932604210866e-06 +6411 0.0016608444068065289 -0.0004850032849630268 0 0 0 -0.0002864155523386122 +742 0.0006702979920251179 -0.0006820046808881003 0 0 0 3.116407115258785e-05 +5744 0.0009673214803488698 -0.0005322497373357911 0 0 0 0.00011179483846401859 +751 0.0005758219977355417 -0.0009110151357104606 0 0 0 1.0277167527874443e-05 +757 0.00028465048340077585 -0.0010281736647922994 0 0 0 -1.803165345988854e-05 +779 0.00140942790095069 -0.0005680056959808946 0 0 0 -0.00015538195047653093 +780 0.0008457124317886906 -0.0006885435039648819 0 0 0 -9.83880665205649e-06 +784 0.0009281005050344018 -0.0007426430227653497 0 0 0 -1.9776448888264387e-05 +790 0.000807580550363844 -0.0004926460727402556 0 0 0 -1.7087695035872295e-05 +792 0.0006106672434705162 -0.0009451540515712617 0 0 0 -8.774079356592093e-06 +9381 0.0007178294190629355 -0.0008909068975910659 0 0 0 -0.0001272779737358217 +825 0.0006902551139600923 -0.0009119264065133634 0 0 0 -1.3667388065218989e-05 +1767 0.0007530126682709678 -0.0007506028744582789 0 0 0 -2.1724694153248236e-05 +890 0.0006544444876437408 -0.0006287242701231377 0 0 0 -2.2650972886069298e-05 +923 0.0007877897872400079 -0.0009178438615532054 0 0 0 5.081958549759891e-06 +953 0.0009166973845312955 -0.0006692361913316106 0 0 0 -4.476042560597948e-06 +9477 0.0006165258926390299 -0.0007785220736450735 0 0 0 -4.352267234647892e-05 +9395 0.0014071735578109561 -0.0006306425609880249 0 0 0 0.0012919964991429463 +990 0.0009223520476619614 -0.0008660851721123338 0 0 0 -5.517005748514891e-05 +8559 0.00023615159711249965 -0.0009737727610397306 0 0 0 0.0001851761707276193 +1013 0.0005110549718668983 -0.0010275687135644562 0 0 0 -8.965164507917323e-06 +1019 0.00020355564500435568 -0.001000623772580123 0 0 0 8.968486017827686e-05 +7043 0.0003612644117792 -0.0009825063161911737 0 0 0 -8.445985630929214e-07 +5801 0.0003632995454336984 -0.0006308916949483003 0 0 0 0.00010755007965935797 +1038 0.0009538975958668844 -0.0007320963065357164 0 0 0 1.3103883103712056e-05 +1040 0.0007669660947447904 -0.0008225126307998865 0 0 0 -4.169323347523629e-06 +1046 0.0007013648667180345 -0.0008604681324984242 0 0 0 1.0380121807068528e-06 +1053 0.0006050725750616542 -0.0009733866336557042 0 0 0 6.268515722083196e-07 +1057 0.000651520449362741 -0.0008176473436173643 0 0 0 -5.398428867890367e-06 +1115 0.0011956822642797476 -0.0005911182497145059 0 0 0 -5.037709934446975e-05 +1134 0.0009010322397947886 -0.0007424237537681026 0 0 0 1.4511454306787552e-05 +1152 0.0006174168263458012 -0.0007748370121948607 0 0 0 3.7268508645050145e-06 +6156 0.0007242565624675081 -0.0007782281679645074 0 0 0 2.0393416634952046e-05 +9677 0.0007620874749813249 -0.0007361483669649498 0 0 0 -4.7204427766429873e-05 +1249 0.000773200063838369 -0.0006830821912377714 0 0 0 6.2179290576453214e-06 +1272 0.0005953017943257402 -0.0008337030698015497 0 0 0 -1.3184410453452193e-05 +1317 0.00044387491303836575 -0.001009150639790453 0 0 0 8.527880248594433e-06 +1329 0.0007781302215453172 -0.0007396235534810051 0 0 0 -7.386921710432943e-06 +1344 0.0009932414659168936 -0.0007050597394982127 0 0 0 -1.2075187912602647e-05 +1349 0.0006628125563514643 -0.0008396388719452273 0 0 0 5.931635141294222e-06 +1350 0.0006337915765976216 -0.0007823842293753019 0 0 0 3.8647159832230616e-06 +1372 0.0007354095664028014 -0.0006119743344385609 0 0 0 -4.818635680990421e-06 +7939 0.0007241883281133345 -0.0008042795592784351 0 0 0 3.038725344600061e-05 +1389 0.0005052461306829361 -0.0010288623695196139 0 0 0 -2.5068792801245407e-05 +1414 0.0007116136063363014 -0.0008447439926714467 0 0 0 -2.368993077607982e-05 +9882 0.0007162880291868532 -0.00074732957064562 0 0 0 3.039794590799419e-05 +1425 0.0006295696428972453 -0.0008116475131704769 0 0 0 1.536533495634517e-05 +6552 0.0006845878190849081 -0.0006720104908304636 0 0 0 3.100226466280368e-05 +4293 0.00047408146329824884 -0.001014763140167885 0 0 0 5.29920412355993e-05 +1499 0.000831928455532002 -0.0007739243694376765 0 0 0 -7.466784145172115e-06 +1509 0.0006038026726587375 -0.0008691645086810837 0 0 0 1.275858987301541e-05 +1526 0.0014532696297563411 -0.0005502245546573219 0 0 0 9.802235293471463e-05 +1557 0.00035556967323476944 -0.0006940210960921689 0 0 0 1.6956822978307716e-05 +5174 0.000848466002804059 -0.0008304625922820283 0 0 0 3.8204800413925076e-05 +1581 0.0009004067427432632 -0.0005494673550871221 0 0 0 -8.207030738828993e-06 +1596 0.0007805638111295527 -0.000710762721177119 0 0 0 -5.654049964861621e-06 +1606 0.0008488243752204114 -0.0006238390115596502 0 0 0 -2.3259024135477364e-05 +1617 0.0008484086317589819 -0.0004935529621762594 0 0 0 -9.403102668204623e-06 +1621 0.0007900587339472981 -0.0006347981613994207 0 0 0 -3.6410870159260136e-05 +1624 0.0008102070463490845 -0.0007018849737875335 0 0 0 -1.369476750346134e-05 +1135 0.0003460438876003999 -0.0010072845125409422 0 0 0 1.8722022023747144e-06 +1649 0.0006216671018886993 -0.0007364165662008221 0 0 0 -5.515408800124593e-05 +1656 0.0009394998721340804 -0.000632658120879622 0 0 0 -1.9545989704472266e-05 +9687 0.0008534484997431008 2.7021532310775507e-05 0 0 0 -0.0013748172412734556 +1694 0.0008391588399007698 -0.000731369951849116 0 0 0 -3.107049526806917e-05 +1729 0.0005591076304597687 -0.0008954700614742597 0 0 0 1.1274991840465996e-05 +1731 0.0005626799842878403 -0.0009673222053574718 0 0 0 7.2968808353972055e-06 +3702 0.0013981674573974108 -0.0005722825433915568 0 0 0 1.909619206114601e-05 +1782 0.0006599947071242666 -0.0009248220163656579 0 0 0 -2.3167155290579356e-05 +1811 0.0005966476681289923 -0.0010102792847152353 0 0 0 3.7161532838443505e-05 +1367 0.0004121921725788983 -0.001008254142006383 0 0 0 -2.184985942600774e-05 +1842 0.0009625410749687588 -0.0006476423752224327 0 0 0 -6.336823952457917e-06 +1847 0.0008379840900023428 -0.0005340354322622548 0 0 0 -6.616585525605465e-06 +1853 0.0006824907448640049 -0.0008766607757730895 0 0 0 9.985639581239277e-06 +1854 0.000858105832577049 -0.0007878138018595501 0 0 0 -4.8686521436296296e-05 +1902 0.0011339201797099894 -0.000605858186330921 0 0 0 -3.3590540847771756e-05 +1911 0.0007866129459718044 -0.0007945058524877093 0 0 0 -1.2486434170153052e-05 +1935 0.0007894942837286094 -0.00090213156227417 0 0 0 5.105306049104176e-05 +5187 0.0012552748466891884 -0.000602579830058273 0 0 0 -0.00047612143460612917 +1952 0.0008737962716130513 -0.0005934604857317234 0 0 0 -8.799127974836696e-06 +5473 0.0013979111176538532 -0.0006511400629530212 0 0 0 -0.000924693992167434 +1976 0.0012087700169359072 -0.000612963899025931 0 0 0 -3.293235087869127e-05 +969 0.0008206595420253587 -0.0007263600805411076 0 0 0 2.4306339979875118e-05 +6465 0.0007830571286623442 -0.0006652983592796529 0 0 0 -5.073985882607794e-05 +2078 0.0003303763054776691 -0.0008317718181757534 0 0 0 0.00011178684475053114 +2087 0.0005171635491934129 -0.001039289008249951 0 0 0 1.0040596577463781e-05 +2088 0.0006176599592240306 -0.000959728837149772 0 0 0 1.342111026225431e-06 +2098 0.0004182271733801073 -0.001041995983471119 0 0 0 8.00306112934028e-05 +2103 0.0005900345367263467 -0.0009262483839864655 0 0 0 -1.2204992343138313e-05 +2111 0.0009486717952633272 -0.0008353124728043011 0 0 0 7.479772139432685e-06 +5616 0.00015168603676733096 -0.0013349259559055579 0 0 0 -0.00013411353419763577 +2144 0.0008375833871679843 -0.0008191857081284992 0 0 0 -5.313390297789731e-05 +2145 0.0005997625343058371 -0.0009136910347359834 0 0 0 -2.6940467903533877e-06 +2150 0.0007730244649792427 -0.0008586459870371078 0 0 0 1.1384444321568418e-05 +2215 0.0010171851813621927 -0.000678196412828804 0 0 0 3.608515979425361e-06 +9224 0.0016876512102906246 -0.00042851908373392754 0 0 0 -0.0005137481252382375 +2264 0.0008817632705869702 -0.00073170292299582 0 0 0 -4.560090375410873e-05 +6717 0.0005589876511723072 -0.0008756011497408126 0 0 0 0.0001505312165126269 +9482 0.0008773335408560069 -0.0007488623267884656 0 0 0 -5.800300729767581e-05 +2285 0.0006062517650658929 -0.0008989109379976781 0 0 0 -1.3132603114196569e-06 +2288 0.0005966594993180921 -0.0007974627689444778 0 0 0 2.9917165399702467e-05 +2312 0.0008523807748046495 -0.0008046690956774369 0 0 0 5.733300961463029e-06 +2356 0.0008146925860044151 -0.0008460230852131283 0 0 0 -4.933173171134585e-05 +2387 0.00036068022806899934 -0.000898996757391411 0 0 0 -2.25765243534385e-05 +897 0.0014513684678167152 -0.0005008380897897349 0 0 0 -6.098136139629435e-05 +2423 0.0006407950197117164 -0.000923426530292008 0 0 0 -2.6934441891786994e-06 +2429 0.0005961820557671666 -0.0009817747469595406 0 0 0 2.425629619639217e-06 +9559 0.0007796277121635698 -0.0007247014050520105 0 0 0 3.548359242483637e-06 +1846 0.0007511735729077498 -0.0006792006505445243 0 0 0 1.607386516385046e-05 +6092 0.0016560724036610002 -0.0004962851854027913 0 0 0 -9.854391726972577e-05 +2499 0.0007731509204590584 -0.0007901964099909366 0 0 0 5.801606738185443e-05 +6628 0.0004666987108008807 -0.0011738418201632688 0 0 0 0.00011501792367136737 +2564 0.0008087730660900106 -0.000725149355204927 0 0 0 -2.5546446066290132e-05 +6660 0.0007583643052320446 -0.0009035620962777776 0 0 0 9.220503596608543e-05 +2578 0.001159181670114301 -0.0005737534332186372 0 0 0 -5.078445818441946e-06 +2478 0.0009093164351653733 -0.0008513837331593639 0 0 0 -1.1709647897268287e-05 +2604 0.0006571642022935374 -0.0007149722749788817 0 0 0 -1.2999990006691674e-05 +2612 0.0003693249077475628 -0.0007192383443518515 0 0 0 2.927217719119043e-05 +2643 0.0009318019926405198 -0.0007944982599198726 0 0 0 -0.00010085939239438096 +6397 5.62493138874689e-05 -0.0008108748308432278 0 0 0 9.394382568931167e-05 +2680 0.0006095951643117945 -0.0008703442866153599 0 0 0 6.128637341698065e-06 +2698 0.0005988648961124432 -0.0009632041313362841 0 0 0 -3.6398859032668788e-06 +2708 0.0005850379196289757 -0.0008957313324927293 0 0 0 6.235043089119445e-06 +2738 0.0008218695627785364 -0.0006163842798345549 0 0 0 -2.000423881195176e-05 +2774 0.00020307249114062337 -0.0008945674448704547 0 0 0 0.00016144183421505943 +2783 0.0007945932111956234 -0.00048355854637803064 0 0 0 7.146248827382482e-05 +2791 0.0010251351563380156 -0.0006854285384315747 0 0 0 5.283093466516e-05 +2811 0.0010845194868494587 -0.0005820170562588977 0 0 0 -3.086117091800604e-05 +2821 0.0008398108301555288 -0.0008859757574978284 0 0 0 -1.8721037088473235e-05 +2824 0.0005630327331761545 -0.0005958820829493898 0 0 0 3.604365638871206e-05 +2877 0.0013339768008344087 -0.0005537253276054516 0 0 0 -0.00010683006566363587 +9615 0.001279239352844205 -0.00056268834949926 0 0 0 0.000555576716054291 +2916 0.0006904557377366664 -0.0008630441023817594 0 0 0 1.3217769612088512e-06 +9458 0.0011154323236990402 -0.0006284194274221228 0 0 0 2.552480146922331e-05 +2960 0.0006374744769078307 -0.0009389932547954892 0 0 0 8.59444534612989e-08 +2965 0.0008450470010375193 -0.0007516127557403319 0 0 0 -1.3276343060479007e-05 +3009 0.0006292408721755131 -0.0009441997377224232 0 0 0 -5.846200533588127e-07 +3014 0.000627119024546029 -0.0009613798448941352 0 0 0 -1.145035524795117e-05 +3017 0.0006472835505464166 -0.0007775806286489853 0 0 0 -3.947278615356303e-05 +3064 0.0007163065783399363 -0.0008739802846050619 0 0 0 -3.186012321453033e-05 +6996 0.0015706359901757352 -0.0004808544617703665 0 0 0 -0.0006166146943111887 +3143 0.0005687771662847788 -0.0009110297128973005 0 0 0 -5.659243245538019e-06 +3156 0.0005786194748275267 -0.0010153238720720628 0 0 0 -7.063476025560821e-05 +3157 0.0008304887821943884 -0.0007359518681373901 0 0 0 -1.985737161262824e-05 +3172 0.0007310353353105736 -0.0006995459211928281 0 0 0 -3.0948959632350955e-05 +3181 0.0007842310266180428 -0.000856277595460047 0 0 0 -9.160281038630002e-06 +3190 0.001088372712849694 -0.0006588144235610002 0 0 0 1.020900064979663e-05 +3202 4.488659749019236e-05 -0.000905465812578035 0 0 0 5.707766928249106e-05 +3204 0.0007072527838198447 -0.0005917274740075401 0 0 0 -9.364621963511266e-06 +3213 0.00046740942289639033 -0.0008765627750508107 0 0 0 -1.522694919903731e-06 +3232 0.0007205572416750002 -0.00066026981709117 0 0 0 4.964635408929113e-06 +3247 0.0005819310801007871 -0.0009569034637733828 0 0 0 5.6013676250290185e-06 +3255 0.0011262221726196819 -0.0007021920627988084 0 0 0 -5.679546768793693e-06 +3269 0.0008230174728147907 -0.0007943587908397938 0 0 0 -1.0232143643015071e-05 +3325 0.0011628677005970942 -0.0006125649247891185 0 0 0 -1.246426343445848e-05 +3354 0.0008216396232087493 -0.0007535790686513569 0 0 0 9.685101391395186e-06 +9892 0.0006892627999388379 -0.0007197458709561295 0 0 0 -6.459090163758998e-05 +3377 0.000867101385435709 -0.0007182250236864795 0 0 0 -3.6214537491511276e-05 +3378 0.0003587812306333711 -0.0010426921209009928 0 0 0 3.5776507357861086e-06 +3399 0.0005378746647005038 -0.0010474910327405503 0 0 0 8.090300423124233e-05 +3426 0.0005234191120542259 -0.0009345816141303181 0 0 0 3.6837449153577456e-05 +7503 0.0005018557803136191 -0.0009886615050705746 0 0 0 6.829244114823321e-05 +3464 0.0006776133076716879 -0.0009487144949006451 0 0 0 -2.2892188617904824e-05 +3467 0.0012609415459271048 -0.0005847048274567248 0 0 0 -0.0001229076858236043 +3501 0.0006224677794239191 -0.0008766575388358692 0 0 0 2.8736442552610712e-06 +3513 0.0008837707854886549 -0.0005192246831250639 0 0 0 -6.606837600938006e-06 +3537 0.0007022068902860289 -0.0008806880770612775 0 0 0 1.4200322357853216e-06 +3571 0.001212238286925769 -0.000658786470774197 0 0 0 -8.915193201197157e-05 +3595 0.0008700944069693848 -0.00053258086801038 0 0 0 -1.4628724064498256e-05 +3623 0.0008046541537974025 -0.0004935096580870114 0 0 0 -0.00011834186083704861 +3625 0.0007227313671205708 -0.0008500652873753132 0 0 0 5.860502001967337e-06 +3645 0.0005921851132403009 -0.0009511554301596128 0 0 0 2.6557023978591027e-06 +3695 0.0006873238316935871 -0.0009085076659343557 0 0 0 -7.777127555799246e-05 +3703 0.0006883942027737967 -0.0008511149303138953 0 0 0 -6.528825866319164e-06 +5053 0.0006293014883253675 -0.0010231617388525595 0 0 0 -6.34060115473061e-05 +529 0.0005298536138454473 -0.0006058126636156824 0 0 0 2.1729781634458385e-05 +3738 0.00059895457679187 -0.000903545007398741 0 0 0 1.5225186640413185e-05 +3767 0.0008873531437366743 -0.0005849129306984621 0 0 0 1.489124405965704e-05 +3775 0.0010740626320685444 -0.0007924648999257455 0 0 0 2.302960395768416e-05 +7348 0.001314086823622306 -0.0009192979843419476 0 0 0 0.00043920510581370884 +3798 0.0006014640169289923 -0.0008756097021010307 0 0 0 1.3499988539976656e-06 +3800 0.0007370968993072085 -0.000848008075166166 0 0 0 1.2303681129996805e-05 +3808 0.0006598963119103915 -0.0008359328961532107 0 0 0 -2.107894210173883e-06 +6645 0.0004231088151046674 -0.0009914004074712537 0 0 0 1.8928959221501896e-05 +3843 0.0006114669627614003 -0.0008887629474513648 0 0 0 6.897385708103733e-06 +3858 0.000825480298292184 -0.0006851613273334567 0 0 0 3.946314793297907e-06 +6119 0.000724597524032254 -0.0006808804626991401 0 0 0 3.423740350109969e-05 +3913 0.0005448716860349226 -0.0009203823855032905 0 0 0 1.7276297978357065e-05 +3926 0.0011076042914652568 -0.000644353955112364 0 0 0 -0.00019102599651038833 +3944 0.0008887260896782575 -0.0005769743275647421 0 0 0 1.1259902149623241e-05 +1524 0.0007936264038695274 -0.0008338044449542092 0 0 0 -2.6040404899565456e-05 +4007 0.0006664555618845523 -0.0009335748819668001 0 0 0 4.1489393600053285e-06 +4030 0.0007093237983401895 -0.0008754736184407165 0 0 0 -1.6325678532378153e-05 +4081 0.0006560267391398973 -0.0009321255359402915 0 0 0 1.1726922706700272e-05 +581 0.0015385998197055065 -0.0005024111388379024 0 0 0 -6.916875466646773e-05 +4087 0.0007250103805269961 -0.0007332034711965657 0 0 0 -1.1556827738615608e-05 +4102 0.0005782570918991648 -0.0008432097723823155 0 0 0 3.435189123752391e-05 +3117 0.0007305602236714681 -0.0007929075942302727 0 0 0 1.7238196052367368e-05 +4111 0.0009094476670764449 -0.0007507359244613117 0 0 0 -7.765345816353095e-06 +4120 0.0008881745324716877 -0.0005867463674108707 0 0 0 -9.79087473652197e-06 +4129 0.0007488583517023928 -0.0007118677824337941 0 0 0 -2.5708467060720037e-05 +4157 0.00035680640935109077 -0.0007941130052124999 0 0 0 -5.482989717366697e-05 +4160 0.0007094301720253173 -0.0008136008109860413 0 0 0 2.3429750163791873e-05 +4193 0.00041201066334914545 -0.0010623459286877657 0 0 0 -3.8863477687456374e-05 +4198 0.0008812989729943754 -0.000567208172588359 0 0 0 -6.8879223980188785e-06 +4216 0.0007418762127553128 -0.0008581600602709007 0 0 0 -8.14726642165485e-05 +4223 0.0006584978465089016 -0.0009849055288606947 0 0 0 -4.290721792994376e-06 +4285 0.0007183908698224454 -0.0008711962185898228 0 0 0 7.3522471682209e-05 +4291 0.0005783531909906913 -0.0008994306146849411 0 0 0 -3.49034718740494e-05 +4330 0.0008795868473453531 -0.0006664869551487844 0 0 0 -2.013464629287079e-05 +4338 0.0008640347723585413 -0.0006975881537419983 0 0 0 6.261146829511028e-06 +9866 0.0006993374977336941 -0.0005172262919770972 0 0 0 1.4930954862462712e-05 +4393 0.0006903241285882456 -0.0009028757369084326 0 0 0 6.675530341404452e-06 +4405 0.0007956256565049049 -0.0009411769328841206 0 0 0 8.591655987100991e-05 +4455 0.0005393037300751855 -0.0010427103408732806 0 0 0 2.6905020728957915e-05 +4462 0.000596497406683191 -0.0008808162988207424 0 0 0 4.054231005407017e-06 +4546 0.00031636932509337225 -0.0010404023444647906 0 0 0 -7.509481114640278e-06 +4582 0.0008171157595516261 -0.000731944866140993 0 0 0 7.966674709250097e-06 +4593 0.0006612410535146173 -0.0008135923090760426 0 0 0 5.699384093190936e-07 +4635 5.870701629392242e-05 -0.000940353428002952 0 0 0 3.159978231907423e-05 +4645 0.00048147906454989694 -0.0010182663883959626 0 0 0 -1.1353261431450506e-05 +4655 0.0009158171593132615 -0.0005499941969061905 0 0 0 -3.2891994079150194e-05 +5603 0.0009155123222951178 -0.0007203546992911815 0 0 0 -1.0006521840854385e-05 +4712 0.0003718788654846531 -0.0009142575127098299 0 0 0 -0.00016226535599109474 +4763 0.0007284838365630423 -0.0006962761906353759 0 0 0 4.882045113720489e-05 +4775 0.0004728014055214679 -0.0009774177881124635 0 0 0 2.0885482517640654e-05 +4782 0.0008654561281301934 -0.0007597639079277902 0 0 0 -2.8977877695317084e-05 +4827 0.0009098846011977493 -0.0007487718802976275 0 0 0 -4.92056651561311e-05 +4889 0.0009997684974752737 -0.0007054629948610804 0 0 0 -5.433864353660431e-05 +4891 0.000778811242200006 -0.0009055408937382078 0 0 0 3.1824445021161973e-06 +4899 0.0006000978678709351 -0.0009159948769718565 0 0 0 3.688722443621475e-06 +4919 0.0006763170278321123 -0.0006827996874248244 0 0 0 -5.78897800404251e-05 +344 0.0007193595242180566 -0.0005622416389475551 0 0 0 2.8595176556838685e-05 +5598 0.0006431269660084739 -0.0009076350628127296 0 0 0 8.333725207307664e-05 +4941 0.0006531787574907882 -0.0008002639256951902 0 0 0 3.0844908320982765e-05 +9003 0.0013880995037824032 -0.0005140134431075149 0 0 0 -9.64421140983695e-06 +4966 -7.090730589894778e-06 -0.0008725295238475787 0 0 0 7.296133992184612e-05 +4984 0.001310854677069693 -0.0007091032578712226 0 0 0 0.00017654564103756655 +9679 0.0006454912527720885 -0.0009789795780497839 0 0 0 2.3925842173623614e-07 +4994 0.0007146487510806188 -0.0008464046609809243 0 0 0 3.791487465850361e-05 +5012 0.0009383213251130465 -0.0007141025546225096 0 0 0 1.2802813489156683e-05 +7013 0.0006197693893561044 -0.0009980054432580088 0 0 0 3.398397048907268e-05 +5077 0.0005458608968408509 -0.0009653468139169682 0 0 0 -7.869905036032649e-06 +9794 0.0006119308490720263 -0.0009869875435346118 0 0 0 9.85594236913493e-06 +5096 0.0006537825600188172 -0.0008491750940925704 0 0 0 1.3889534225145855e-05 +5112 0.0006048308142596023 -0.0008950594181270151 0 0 0 9.044853979109855e-06 +9793 0.0006082452478327138 -0.0007580391856360323 0 0 0 5.497361405658415e-05 +5152 0.0006685619407283926 -0.0007186452260175991 0 0 0 4.051276960721345e-05 +760 0.0013907527797201809 -0.0005215135717108303 0 0 0 -6.234190071480105e-05 +2315 0.0012686171826694994 -0.0006921386715355732 0 0 0 0.0001591864249095111 +6556 0.0003935398295734278 -0.0006386694848988932 0 0 0 1.2524169419334744e-06 +5181 0.0003852998946145048 -0.0009911693820323863 0 0 0 -1.9648613489023067e-05 +9108 0.0008353346008597569 -0.0007683552935435622 0 0 0 -7.844886806896142e-05 +421 0.0007369263383478463 -0.0009574546863020372 0 0 0 -8.175697592191839e-06 +5225 0.0007337623796217476 -0.0008426679239629425 0 0 0 -0.0001212652709638733 +7867 0.0009100156611074992 -0.0007113955994322613 0 0 0 0.00021482257641376742 +5274 0.0006077106596776705 -0.0008618693340435845 0 0 0 2.0051426915828496e-05 +5285 0.0007917461830947526 -0.0007827185333140751 0 0 0 1.80871703354931e-05 +8216 0.0007353785935689884 -0.000673888358075112 0 0 0 3.0993255674142325e-05 +5313 0.0007516109372133685 -0.0008598410922684112 0 0 0 1.3049134920841164e-05 +9779 0.0015633863732931218 -0.0005090207402237161 0 0 0 0.0001704360064450247 +5339 0.0007861169251492145 -0.0005948094048230619 0 0 0 5.138130626083406e-05 +5388 0.0008854459216394628 -0.0005784242285444439 0 0 0 -3.473687511122956e-05 +5398 0.0005701694406367348 -0.0009627143308930709 0 0 0 2.547746188389476e-06 +5404 0.0009385150400358604 -0.0005787849278896362 0 0 0 -4.49886507135455e-05 +5415 0.0007069451125471922 -0.000856981716087472 0 0 0 2.743693089719098e-06 +5465 0.0005970876712834166 -0.0009471365754945386 0 0 0 1.5133144792004022e-05 +5497 0.0007979262835941251 -0.0006901500732804035 0 0 0 -3.75344277421037e-05 +5501 0.0015577118546735362 -0.000705044649885385 0 0 0 -5.2733007571992077e-05 +5522 0.0005830197571004977 -0.0009759536274904014 0 0 0 -7.578517462493504e-06 +5524 0.0001694455190227297 -0.0008923546581810338 0 0 0 0.0003052192080081927 +5531 0.0007158918991577158 -0.0008620937230935972 0 0 0 4.361016689689592e-06 +4347 0.0013972542473437786 -0.000512166192468402 0 0 0 -0.0008153668228009753 +5625 0.0007248964562106709 -0.0006113422778970688 0 0 0 5.388527968239495e-05 +8441 0.000656211022163825 -0.0005785142537198278 0 0 0 2.8910567178457767e-05 +5663 0.0007981486487478446 -0.0007975362161699844 0 0 0 -6.567434895355198e-07 +5668 0.0007859713080392599 -0.0009093544600521673 0 0 0 4.2014533981369235e-05 +5678 0.0013205402468983774 -0.0006839371681572428 0 0 0 5.350939216571053e-05 +5691 0.0007892466527056754 -0.0004671007670146253 0 0 0 -7.096556814768697e-05 +5696 0.0006669447777537187 -0.0006954895622409475 0 0 0 -7.3549483296651555e-06 +5786 0.00026939351323345204 -0.0010119104047020251 0 0 0 -4.168240320855445e-05 +5796 0.0010347620210913106 -0.0006671872440233317 0 0 0 1.7218007272484403e-05 +2017 0.0007253970795021839 -0.0008485089932790217 0 0 0 2.4736121417463286e-06 +5803 0.0007815373450619319 -0.0008093264502527342 0 0 0 2.0233316662747123e-06 +5809 0.0007911338157759871 -0.0006614000522918361 0 0 0 -6.714335437936634e-07 +5853 0.0011857148920497282 -0.0005489586517950206 0 0 0 1.5978016469660215e-05 +5861 0.0006587221732587234 -0.0008322268108751313 0 0 0 3.252917495262048e-06 +9507 -0.0010289943295334267 -0.0012295580935736856 0 0 0 -0.0013486872718991949 +5879 0.0008104528069817344 -0.0007860207752965418 0 0 0 -9.73765787041164e-07 +5882 0.0009138105443326264 -0.0006942607979830391 0 0 0 -2.608125353276015e-05 +5906 0.0006009282647716711 -0.0008857605007271622 0 0 0 -3.4375033888709414e-06 +3902 0.0012981344281435493 -0.0008522514601977497 0 0 0 0.00031684264407470813 +5925 0.0008661316127021295 -0.0005717207050742867 0 0 0 -3.680566609118313e-05 +5939 0.0006788039415357111 -0.0008432855360870301 0 0 0 2.8629671445895506e-05 +5954 0.000810543455976298 -0.0009016858024883403 0 0 0 -5.891607934261376e-05 +5958 0.0007825704056998953 -0.00046706186326958825 0 0 0 7.071192289619985e-05 +5988 0.0010590315534253286 -0.0007616960287666919 0 0 0 -8.429941004669986e-05 +6004 0.0009946260876146959 -0.0006538258431754511 0 0 0 3.2052693808367207e-06 +6028 0.0005705940427905258 -0.0008763796876250211 0 0 0 2.713552417605031e-05 +6045 0.0015022788058418452 -0.0004148489883687765 0 0 0 -0.0003269185038338766 +6049 0.0011687141301705572 -0.0007233164813486453 0 0 0 -0.00011199629432375203 +6843 0.0006796455459026428 -0.0005563147688068762 0 0 0 0.00012641218064124465 +6057 0.0006145848667474311 -0.0009706019953417567 0 0 0 7.509888297125631e-07 +4350 0.00041516923127915334 -0.0006208914452259687 0 0 0 3.989201674139298e-05 +6064 0.0007725787891833014 -0.0008717552449011417 0 0 0 -0.00015264885860734778 +5265 0.0004528141014640924 -0.0010077841728071489 0 0 0 -1.663010456331224e-05 +6067 0.0012379553688763192 -0.0007031994361684975 0 0 0 -6.732635447826366e-05 +6137 0.0007529651018206435 -0.0006913008939973061 0 0 0 -1.556333039260098e-05 +8030 0.0006454401727133929 -0.0005872360830780652 0 0 0 5.1435472582610006e-05 +6176 0.0011788344318722941 -0.0005771733579212397 0 0 0 5.33230306501986e-06 +6178 0.0006612808536439909 -0.0008288751940610158 0 0 0 6.81027067607648e-06 +6179 0.0006647610668058982 -0.0009664380119394315 0 0 0 -5.293339215213817e-06 +6194 0.0007792986437928213 -0.0008284608959069302 0 0 0 -1.9362658754392193e-05 +6247 0.0007130542909510238 -0.0009591658129650062 0 0 0 -1.8434473119660596e-05 +6249 0.0010288601454026733 -0.0006956507067400782 0 0 0 9.42160243060561e-05 +6269 0.0009201007957736437 -0.0007198293697793293 0 0 0 -3.4959565648954375e-05 +6278 0.0009842640363587434 -0.0006961877689816014 0 0 0 1.2140025711440654e-05 +6283 0.0004867453253175543 -0.0008772933529483807 0 0 0 2.8600306460639316e-05 +6314 0.0011257999726872903 -0.0006395365159760375 0 0 0 -5.433461224179434e-05 +6321 0.0006800507339912832 -0.0009008205948798725 0 0 0 1.5313375991769634e-05 +6348 0.0008823543650265871 -0.0006811180031523809 0 0 0 -1.8424773630800296e-05 +6374 0.001029245389745579 -0.0006820018005509081 0 0 0 -6.735637013528195e-05 +6380 0.000685845850203257 -0.0008593685065661277 0 0 0 2.9911628963289574e-06 +6384 0.00038476703533682006 -0.0007128757290582126 0 0 0 -0.00011399533477976993 +6393 0.0009604352138452812 -0.0006573706864687307 0 0 0 -4.160880499309802e-06 +6396 0.0005973436538648308 -0.0008953542381269908 0 0 0 -3.901126999891845e-05 +8114 0.0016103784283637724 -0.0005341870643997931 0 0 0 -5.818647346167906e-05 +6403 0.0011711773747711284 -0.0006541911424309455 0 0 0 -6.640099711529718e-05 +1623 0.0007694079246642098 -0.0007688142837430973 0 0 0 2.950321984583476e-05 +6436 0.0004835111213771029 -0.0010435738832983768 0 0 0 8.753115691244024e-07 +6541 0.000824232609145298 -0.0006811388272760764 0 0 0 -4.457773758328105e-06 +9599 0.00157666565991726 -0.00046466595348976025 0 0 0 2.5883519379029804e-05 +9454 0.0009741543242208276 -0.0006649171881766117 0 0 0 -1.7406833445325462e-06 +1321 0.00021260782000907713 -0.0009079131472511494 0 0 0 7.61574206934433e-05 +6567 -0.0023434699020559117 -0.0009664460357913108 0 0 0 -0.0008557195499655881 +9806 0.001277257427662601 -0.0004623206270449513 0 0 0 4.447478866437432e-05 +2043 0.00041462979151616193 -0.0009754917750963576 0 0 0 3.6631704539090012e-06 +1607 0.0006582810351710525 -0.0006709353209508859 0 0 0 4.941576188209294e-05 +6666 8.885789329847988e-05 -0.0009477530122553598 0 0 0 -9.495689482095113e-05 +5173 0.0007351254288787304 -0.0007896734579772393 0 0 0 3.506863140127344e-05 +6673 0.0010406937696772567 -0.0008108540201643698 0 0 0 -6.45044785277531e-06 +6676 0.0006125862455301283 -0.0008958787107682878 0 0 0 -9.946474764787038e-06 +3477 0.0009569279163475455 -0.0007947351331414035 0 0 0 -4.369808438984989e-05 +6685 0.0007053333671466272 -0.0008616146929021562 0 0 0 1.359141998600665e-09 +6686 0.0007258247264099778 -0.000830330826099173 0 0 0 -2.8217693248643645e-05 +6705 -0.0005637149064931558 -0.002078135940586183 0 0 0 -0.0004513193834647727 +6743 0.0007115953053345238 -0.0008636818186827422 0 0 0 1.4692217305513552e-05 +6749 0.0007868019164810155 -0.0006867179934410984 0 0 0 1.944889935187197e-06 +6752 0.0008033267308782502 -0.0006904032577146763 0 0 0 2.7190566585018644e-05 +6757 0.0008384285485169569 -0.0004619078778072157 0 0 0 -3.618861710579293e-06 +9316 0.0005329300209597485 -0.0009807017669046887 0 0 0 4.955326578866035e-05 +9865 0.0010724203936066348 -0.0010453397680904404 0 0 0 -0.0015082237972145272 +7493 0.0015920045800152818 -0.0005225085385290666 0 0 0 -0.000756019072095477 +6856 0.0008762351256934258 -0.000537743523480421 0 0 0 -2.652868111949419e-05 +6868 0.000555838294048129 -0.0009214346385701635 0 0 0 8.233952183122873e-06 +6875 0.0005989601515127156 -0.000883663566536023 0 0 0 2.4261385384113643e-06 +6880 -0.0017381493938041052 0.002535716334535466 0 0 0 0.0010346348296614168 +6913 0.0002636005924107461 -0.0010106147840459087 0 0 0 1.826499809425128e-06 +6489 0.0007757661195890417 -0.000904479221829624 0 0 0 -0.00011974114614499617 +6921 0.000596224252835723 -0.0008886052257334399 0 0 0 1.84932654088853e-06 +6925 0.0008656085205162482 -0.0006232886201716553 0 0 0 2.9531430490296973e-05 +8136 0.0007636714106763889 -0.0006632132674346198 0 0 0 -1.3749997543838616e-05 +6932 0.0005693016778670801 -0.0009219222054319179 0 0 0 1.378618309383043e-05 +9442 0.0009925677329483441 -0.0005677528689373501 0 0 0 -4.237417413694389e-05 +113 0.0006886060054592583 -0.0007609686959028564 0 0 0 1.7586881401280494e-05 +962 0.0013377269455270102 -0.000724322150606922 0 0 0 -3.0372686906677385e-05 +4280 0.0015590107296660507 -0.0005070271472275778 0 0 0 0.00036899865126005803 +7083 0.0006744240184109797 -0.0007468463325170326 0 0 0 -0.00012118423968362821 +4700 0.0007227824242418542 -0.000766379557684775 0 0 0 4.971907786930037e-06 +5553 0.0007453149131619931 -0.0007701319301740914 0 0 0 5.419180132015236e-05 +7145 0.0009856770367698284 -0.0007749967888582475 0 0 0 -6.457014837605182e-06 +7167 -0.0006269598896355974 -0.001019779674986951 0 0 0 -0.00054643109943958 +7168 0.0007191205988360261 -0.0008667110801707072 0 0 0 -7.457328269177848e-05 +7185 0.000756363870776253 -0.0008456933913960669 0 0 0 -2.977943448385177e-05 +7186 0.00035105205924419546 -0.00070937453587099 0 0 0 9.877011134009004e-05 +7235 0.0013384326250967032 -0.00046162582252064823 0 0 0 1.763859292036216e-05 +7285 0.0004758687888985609 -0.001015531432787415 0 0 0 3.9196374208508604e-05 +7313 0.0008515188915228633 -0.0013020361992931888 0 0 0 -3.206676358532759e-05 +7323 0.0008535054909370401 -0.0008982244709181291 0 0 0 -3.5450376238064014e-05 +7382 0.0007266794527010018 -0.0008449426499191945 0 0 0 -2.1283020150374408e-06 +7393 -0.00022676507270514117 0.00055596631470051 0 0 0 0.000909133459219786 +9717 0.0004558838972191602 -0.0009028651635690002 0 0 0 -0.0001202790841176822 +7416 0.0008257263552422467 -0.0006591927612506856 0 0 0 -2.6768399424939377e-05 +7419 0.0009523539650743526 -0.0007025835834240217 0 0 0 -0.0001055269805696006 +7420 0.0001283123607440813 -0.0009110416859457823 0 0 0 8.858738550024232e-05 +7424 0.0006199857894126795 -0.000822074443405449 0 0 0 1.8756510391502853e-05 +1442 0.0007584959915916112 -0.0007729365995912946 0 0 0 2.1558480786600564e-05 +7435 0.0007257754354214014 -0.0008801719081809859 0 0 0 -4.543295416046271e-06 +1844 0.0007100219868289487 -0.0007907658580922283 0 0 0 -5.3814297467926075e-05 +1978 0.0011151606855444318 -0.0007840176832294779 0 0 0 -9.026669790627483e-06 +7477 0.0009407213773522895 -0.0007876297531999648 0 0 0 -2.1833601366055925e-06 +6861 0.0007143702846953443 -0.0008041528386040292 0 0 0 2.2702134021807284e-05 +7480 0.0006211415666241098 -0.0009876315044946996 0 0 0 -5.442770317105348e-06 +5685 0.001787035164442154 -0.0004966995623433729 0 0 0 -0.00047305050390892867 +8502 0.0014226294135816593 -0.0005727213690451536 0 0 0 0.00011540000289707563 +4963 0.0006632013140978621 -0.0008155561990966308 0 0 0 -8.429443311377854e-05 +9504 0.0006417622626124613 -0.0006988900007349785 0 0 0 -5.460035255308304e-05 +7563 0.00039803944144043985 -0.0007076146922576214 0 0 0 0.0001573990179614636 +7585 0.0009943981576883568 -0.0007947281570765629 0 0 0 -1.484796404059314e-05 +7586 0.0006872683745169845 -0.0008961222827569496 0 0 0 8.521282395041708e-06 +7600 0.0008225186675746773 -0.000614596700275591 0 0 0 -5.410449072374025e-05 +7611 0.0008176098268882282 -0.0006744216250178775 0 0 0 -1.7028017838948567e-05 +7615 0.0007815957583463597 -0.0008771210664859658 0 0 0 5.717997850093637e-05 +7621 0.0008316083472713013 -0.0007576824962088292 0 0 0 2.6797431727382564e-06 +7629 0.0006114184099166275 -0.0008329318258743139 0 0 0 2.7591037435843905e-05 +9916 -0.0004416519142103273 -0.0029297121332299905 0 0 0 -0.002450075505067791 +7636 0.0006722077737979123 -0.0005632852069435067 0 0 0 -5.877583873028824e-05 +7646 0.0007916078986510195 -0.0008744757721506444 0 0 0 2.252703127223987e-06 +7652 0.0006553352689838745 -0.001019339836735545 0 0 0 -9.211695337517229e-05 +7663 0.0009047545619639561 -0.0010021624400119973 0 0 0 0.0008043642537235343 +7673 0.0006678075979262158 -0.0007191460678138 0 0 0 -1.6991115248776435e-05 +3445 0.000718946963848799 -0.0007812582456715795 0 0 0 -9.12234393407518e-06 +7687 0.0009405667558762446 -0.0007114645268462852 0 0 0 -2.4253841810081765e-05 +7714 0.0009454001458328154 -0.0005523255659382872 0 0 0 -4.349818513767353e-06 +7716 0.00017293866581530532 -0.0009852016903613983 0 0 0 0.00026608583420041995 +7742 0.0004733322182330208 -0.0009449393543471015 0 0 0 1.25317508285325e-05 +7747 0.0011105752312428223 -0.0006692062899625813 0 0 0 4.2944953720718604e-05 +7765 0.000958456397979672 -0.0006738246928221608 0 0 0 -3.483300145402822e-05 +7795 0.0006615125202638282 -0.0009375432220448648 0 0 0 1.8936997878500957e-05 +7808 0.0011617205498849557 -0.0005614110601891237 0 0 0 -5.2424582782310445e-05 +7821 0.0007860372704738903 -0.0008356418373648976 0 0 0 0.0001311077090822124 +9345 0.00034245329404579997 -0.0010047379289349378 0 0 0 3.3134531041763086e-05 +9048 0.0007300493238814278 -0.000840781199366333 0 0 0 6.404557935700355e-05 +1302 0.0015679226553426465 -0.0005407880566196732 0 0 0 -0.0001156412013249506 +9370 0.0007723133483251059 -0.0007558477092484453 0 0 0 4.1345360808329806e-05 +7878 0.000747497616098205 -0.000833927378880772 0 0 0 -6.017436554455347e-06 +7909 0.000650996365696395 -0.000886956479838346 0 0 0 4.5077979627443105e-05 +7926 0.0007579764602972405 -0.0008087556416863604 0 0 0 -1.4454945034004623e-05 +7489 0.0006810934450640577 -0.0010272004084136606 0 0 0 -8.167412271218825e-05 +9996 0.0011057834411477465 -0.000819388437013731 0 0 0 -0.00010752344251095275 +7944 0.00043510174673800777 -0.0008102041643871193 0 0 0 1.1199430725213823e-05 +7968 0.0008731373277815747 -0.0005702899210367243 0 0 0 -4.326643360709969e-05 +7979 0.0009274662220206361 -0.0007043859571440604 0 0 0 -5.563700935729661e-05 +7677 0.0004466435920507868 -0.00113409437459416 0 0 0 -0.0003956889963111233 +8020 0.0006607614052502958 -0.0006103586691479411 0 0 0 7.826849472886729e-05 +9855 0.0007769402971584507 -0.0007655831720420578 0 0 0 -5.391117175361218e-05 +8052 0.0003629339720166848 -0.000985770293411438 0 0 0 1.276012368670952e-05 +9675 0.001379493035096763 -0.0006269412242218361 0 0 0 -0.00014481972600981097 +8073 0.0008233893700816884 -0.0007053534897654305 0 0 0 -1.4298607046158286e-05 +8079 0.0011082373750308815 -0.0006808899362431952 0 0 0 0.00024763511232029023 +524 0.0004914390217125732 -0.001026398733488979 0 0 0 -5.957458210656141e-07 +8092 0.0005717229903908105 -0.0008129503628995439 0 0 0 -3.744023288916811e-05 +8097 0.000838915459830342 -0.0007662453606505151 0 0 0 1.2787500362353479e-05 +8146 0.0006150423821873613 -0.000710430989141162 0 0 0 0.00014558227856297326 +8152 0.0008637685472162759 -0.0007641602761003612 0 0 0 -1.989065145636378e-06 +8179 0.0010355645398808146 -0.000682308448173385 0 0 0 -6.528703939768374e-05 +8205 0.001077902304777801 -0.0006184041655137448 0 0 0 -8.198490330352742e-05 +5256 0.0007147347902961427 -0.0009719442276133661 0 0 0 -4.605963433012536e-05 +8213 0.000820512139646616 -0.0007510030383269886 0 0 0 -2.182268053049131e-05 +687 0.0007628915431075031 -0.0006797405301736294 0 0 0 -1.7338645753165156e-05 +8219 -7.422296704419417e-06 -0.0008455360484962835 0 0 0 8.201067721620429e-06 +6837 0.0007680811172552025 -0.0007939344157753687 0 0 0 -3.574196482679851e-05 +4862 0.0007560587789043529 -0.0007980357984170211 0 0 0 0.00010130242264087788 +8291 0.0008701073493081811 -0.0005900516897884837 0 0 0 -8.354514792318547e-06 +8311 0.0006531780934231843 -0.0008242686262468372 0 0 0 1.3012222250614468e-05 +8340 0.0008128480809551251 -0.0006104106463262248 0 0 0 -2.0456523639799777e-05 +8353 0.0013844993851862568 -0.0006146555186948475 0 0 0 -0.00039456471851704054 +8355 0.0008610985726726521 -0.000526065274996174 0 0 0 -4.528078372574222e-05 +8357 0.000753857421771235 -0.0006927696384344729 0 0 0 6.197537605163542e-05 +8366 0.000984924373329503 -0.0006919202591009401 0 0 0 1.4757938429031773e-05 +8387 0.00177324111426389 -0.00020488965638771492 0 0 0 0.0005933523508276198 +8414 0.0031584733635865595 -0.0020184082751741536 0 0 0 -0.0015928369433213536 +8422 7.239034085249298e-05 -0.0008185053365820535 0 0 0 -6.102217715266916e-05 +8430 0.0008755018074041029 -0.0006884494610440848 0 0 0 -1.1411634796213302e-05 +9974 0.0009055080447811782 -0.0007594932488224707 0 0 0 -9.057743410467302e-05 +8471 0.0008084594030415023 -0.0006285393528167912 0 0 0 -3.1943242545891476e-06 +7036 0.002106984906423386 0.0004620926568860773 0 0 0 -0.00021763613217158203 +8546 0.0010091835641420812 -0.0007011444055552008 0 0 0 -9.018960193682806e-06 +4873 0.001500826284214568 -0.00040004072040434224 0 0 0 5.8376103049263206e-05 +9513 0.0004924160565127834 -0.0009738239138838907 0 0 0 3.755441936322617e-06 +8562 0.0010110799254173844 -0.000693877313425061 0 0 0 -3.2238725548418795e-05 +8576 0.0006036566014978187 -0.000955293743892727 0 0 0 -1.1786340826409391e-05 +8579 0.0005819729432656014 -0.0009299205308307595 0 0 0 1.2075249335627756e-05 +8593 0.00042563684870223893 -0.0010922326773176742 0 0 0 1.964008029766408e-05 +8596 0.0009346246472977179 -0.0007938865654064535 0 0 0 6.168652023919639e-05 +8677 0.0007191241982385786 -0.0008518279439396146 0 0 0 0.0001053437985969128 +4383 0.00048350773575616746 -0.0006199932042116435 0 0 0 3.981185310752637e-05 +8703 0.0006444878073523201 -0.0008494628857892574 0 0 0 1.0499325294679204e-05 +8705 0.000643382792040514 -0.0009497387493757717 0 0 0 8.626052066616603e-05 +8750 0.0008055698509485719 -0.0017377981983514202 0 0 0 0.0006996788647399862 +8763 0.0009601045525367779 -0.0006485659515651209 0 0 0 2.6165100394518925e-05 +8764 0.0007388910515928126 -0.0008279976241083862 0 0 0 5.757930469739908e-06 +8772 0.0006928302293748411 -0.000851523642073338 0 0 0 -1.9057339589669496e-05 +5299 0.000433067031144588 -0.000912697250065918 0 0 0 2.8540043793663083e-06 +8818 0.002477176955686585 -0.0004908941074561779 0 0 0 0.001470837919131951 +8821 0.0007232446734418833 -0.0008529903950811748 0 0 0 -2.8453054032415563e-06 +8840 0.0007689467819618539 -0.0009012038649953964 0 0 0 -0.00012220467442509948 +8844 0.0011926828348665154 -0.0007569896001501209 0 0 0 -0.0002003899642977047 +8897 0.0007060729676827005 -0.0008506350824510726 0 0 0 1.5786490394065156e-05 +8900 0.0009477412141488945 -0.0006336923088437297 0 0 0 1.5612056494990336e-05 +8913 0.0008601199528990028 -0.0007779695394938554 0 0 0 -2.667448871743931e-05 +8942 0.0005824356890923286 -0.001028463827371662 0 0 0 7.266178677585462e-06 +8959 0.0005557109261285528 -0.000879710447760495 0 0 0 0.00011555043654522918 +8978 0.0008020769425289195 -0.0007099207202115901 0 0 0 -2.432731747023924e-05 +9000 0.0012171527443262436 -0.0006005508292623756 0 0 0 -2.98918320081414e-05 +6542 0.00017963398271844666 -0.0010170271152028626 0 0 0 2.088417208869153e-05 +9027 0.0017675664048407338 0.002336797525518864 0 0 0 0.0014632691636760381 +5367 0.0007607193368100075 -0.0009196479227857875 0 0 0 -6.514445843316275e-05 +9933 0.0006814978964150028 -0.0008633982637103788 0 0 0 1.862525946300323e-05 +9066 0.0018798942315601625 -0.0018568566627448727 0 0 0 -0.0012525705584728753 +5863 0.0003767709370506739 -0.0005997758383914201 0 0 0 -3.485704789790398e-05 +9112 0.00033976311093902704 -0.0007565428570696462 0 0 0 0.00026940883584118306 +9139 0.0005526114891392052 -0.000981624414266578 0 0 0 -3.300073319072813e-05 +9144 0.0006130207970962305 -0.0008660288786267263 0 0 0 2.178017943053348e-05 +9164 0.0012408340350917473 -0.0007153233269843323 0 0 0 -4.168895565719484e-05 +9172 0.0005884709546274406 -0.0009710986953174984 0 0 0 8.507795451446487e-06 +9179 0.0009977053288714344 -0.0008300489351167656 0 0 0 -0.00018280506773849648 +9188 0.0008440949138769379 -0.0004899536323738446 0 0 0 -4.380806595935403e-05 +9202 0.001500669859695656 -0.0011893470487796128 0 0 0 0.0013626876675388359 +9288 0.0006414660984673699 -0.0008091300608906835 0 0 0 -7.842737906494062e-05 +9336 0.0009973078235449055 -0.0007780474028316661 0 0 0 -1.2074609979401846e-05 +1484 0.0007679564101555207 -0.0006141930939185706 0 0 0 3.9060789640908395e-05 +9368 0.0006834201199827321 -0.0008563740145391995 0 0 0 -1.4178991567552917e-05 +9715 0.005343050496633744 0.00017434448570747706 0 0 0 0.0009617167413879077 +2434 0.0010259256842499094 -0.0007000856070389423 0 0 0 -4.764840511921168e-05 +1155 0.00038642845880708886 -0.0009882574483750456 0 0 0 1.0710936184705595e-05 +6966 0.0005721321496622385 -0.0010636488684108935 0 0 0 9.624854804718355e-06 +5784 0.0014259831141397341 -0.0003919106905398136 0 0 0 -0.000554212644435447 +1766 0.0007144790407220817 -0.0006472848563750826 0 0 0 8.711358952670488e-06 +9043 0.000740683241316349 -0.0007964930022549715 0 0 0 5.644348811818347e-05 +4935 0.0006798973477467985 -0.0008977323306604332 0 0 0 6.091090642468626e-05 +60 0.0007571192446507993 -0.0004603520060823862 0 0 0 6.745425226396918e-06 +3762 0.0015714311350145662 -0.0006012544122398718 0 0 0 -0.00014268388622067947 +9864 0.000561545999887179 -0.0009763517383081553 0 0 0 -4.844606528799092e-05 +5901 0.0006821791588278015 -0.0008894766860551661 0 0 0 -7.019643552382732e-05 +8547 0.00039953186376497606 -0.0009642251767210902 0 0 0 -3.3157237546881296e-05 +388 0.0005961437481136977 -0.0008868136153551998 0 0 0 -2.7316347286443212e-05 +8201 0.0006426276125720126 -0.0010898711243980993 0 0 0 0.0004240645804601185 +532 0.0009701068827079901 -0.0008246876645301597 0 0 0 -9.039039755162932e-05 +7925 0.0008108137001953454 -0.0007637245587676203 0 0 0 6.875688185336116e-05 +8925 0.0010540036199275231 -0.0006102964199251529 0 0 0 0.00023865587305635266 +3969 0.0005136910467222422 -0.0008749341561813592 0 0 0 -7.188949935756061e-05 +9553 0.0004185026222439593 -0.000982156765280084 0 0 0 -4.1326699428955336e-05 +7294 0.0015123734532854268 -0.0005585879169719269 0 0 0 0.00017440950212320097 +3545 0.001359226967657914 -0.0005252324307882451 0 0 0 -0.0006619312208209065 +2394 0.000718893967408971 -0.0008421508122557414 0 0 0 -6.0113184656145143e-05 +7426 0.00020297055647789088 -0.0006937482759358592 0 0 0 4.8105559489411805e-05 +5159 -5.7931000599465605e-05 -0.0007442189716778593 0 0 0 2.6699603953289906e-05 +7111 0.00020479601758971935 -0.0008330565521795098 0 0 0 5.1016308322707434e-05 +6647 0.00074595030309603 -0.0007700898750826887 0 0 0 -8.45421451409118e-06 +4460 0.001754972997421696 -0.0005119402158241509 0 0 0 0.00023294901653203034 +8810 0.0015053899669746928 -0.0005158988737875458 0 0 0 0.0010082779506015193 +1464 0.0007944554265203984 -0.0008234002781798198 0 0 0 -5.6387974528044315e-05 +8209 -1.2819036511621385e-05 -0.0008962472084537105 0 0 0 -0.00021942247743090356 +8198 0.0005513322862921676 -0.0009123127808048482 0 0 0 7.384353287569893e-05 +1450 -0.00013331384512008172 -0.0007218664541078425 0 0 0 5.6915963037668525e-05 +404 0.0003629581639168561 -0.0009837294983264543 0 0 0 -2.636165858267731e-06 +9593 0.0009661380529830634 -0.0008014535612358376 0 0 0 -0.00034014160904518985 +5475 0.0007176065263183592 -0.000685793899326379 0 0 0 1.666067461052005e-06 +3586 0.0014254068589615197 -0.000475676280577158 0 0 0 -0.0003008768005941624 +6662 0.0008643165396097986 -0.0007089515004180758 0 0 0 -1.7931341496329775e-05 +3243 0.0009073041264454571 -0.0007448908047313428 0 0 0 2.4013209777877254e-05 +6671 0.0006089952992615143 -0.0005637862425214938 0 0 0 1.9824485738467134e-05 +2917 0.0008475772613361047 -0.0005034610473287579 0 0 0 3.1699519390431545e-05 +6523 0.0007238957947458645 -0.0006643774211790313 0 0 0 -0.00013722890419554107 +9826 0.000846446347891373 -0.00048169201118035973 0 0 0 4.0534025535654403e-05 +3700 0.0007818241672520653 -0.000367247485706271 0 0 0 6.938720741168234e-05 +4545 0.00045266345319062165 -0.00022040033295530977 0 0 0 6.857471267099982e-05 +82 0.0009275727604476303 -0.0003466454246916652 0 0 0 -3.232756396456987e-05 +117 0.0009920769278076091 -4.82041801996342e-05 0 0 0 -1.276931588553411e-05 +132 0.000978365928436632 -0.00026809114417053584 0 0 0 1.0521204635310638e-05 +135 0.001013615200449963 -3.6073460473357664e-05 0 0 0 -2.6296570697629154e-06 +217 0.0007641799870454368 -0.00013341930551165814 0 0 0 2.2331091897786547e-05 +241 0.000947772992510281 -3.785908211933377e-05 0 0 0 8.855978233684826e-06 +289 0.0008893963390012798 -8.464979209482869e-05 0 0 0 1.2501808799901169e-05 +3458 0.0006099676946934659 -0.00018049477153066893 0 0 0 6.376616619086799e-07 +349 0.001077541844385036 -0.0006466551679501005 0 0 0 -0.00012087980929121359 +370 0.0010935933180837264 -0.0001655157990001919 0 0 0 -1.3168125018340186e-05 +41 0.0003754260583874706 -8.265847353785953e-05 0 0 0 1.7285653051011557e-05 +400 0.0006013526789875936 -0.00011832692203808357 0 0 0 -5.5515192021791533e-05 +3776 0.0008205489132521573 -0.0002581070506588279 0 0 0 6.628458749645915e-06 +9786 0.0008598883721932235 -0.00027721811496213137 0 0 0 2.171333060551992e-05 +424 0.0011359007475805877 -0.0002662273012571313 0 0 0 2.9181795802775576e-05 +436 0.0008251082679407732 -0.00010415723513395363 0 0 0 -5.578350749212772e-06 +461 0.0010159365623593952 8.781418518253056e-06 0 0 0 -9.616700574105265e-06 +482 0.0009303179505969144 -0.0002028822343132858 0 0 0 -6.186597731252948e-06 +6281 7.818493826243451e-05 -0.00014045305078440014 0 0 0 -0.0003750228989222359 +510 0.0010982853232203097 3.0955397385066894e-05 0 0 0 -2.8046164137624332e-05 +805 0.0006756141086469534 -0.00022872306120435093 0 0 0 1.4282285154299822e-05 +9803 0.0009939234769362408 -2.280609559493816e-05 0 0 0 -2.037087252110608e-05 +558 0.0012530275851847163 -0.0005392807830208959 0 0 0 -3.917320752155774e-05 +593 0.0008726721660729824 -0.00021439113953841002 0 0 0 3.344966716056364e-05 +611 0.0005120325242446612 -0.00012376253177244837 0 0 0 1.604789479364736e-05 +615 0.0008052316660516693 -0.00020494286741468362 0 0 0 1.1571144678819953e-05 +638 0.0006847950999682368 -3.0819502607807306e-05 0 0 0 -1.94881267152659e-05 +679 0.000705805448941064 -0.00010510062410960782 0 0 0 2.9736783293210795e-08 +715 0.0008313894392077921 -3.5465718893316865e-05 0 0 0 -7.932627139965755e-06 +725 0.0005422773782400878 -0.00012043547844270392 0 0 0 -4.3841898969615995e-05 +893 0.0005734942319652626 -0.0005033724505912325 0 0 0 -3.5540811546868974e-05 +9577 0.001477777572624672 -0.0006838777134273168 0 0 0 0.00029429099233685874 +959 0.00029630824652090163 -0.0005545355131093917 0 0 0 0.0003296927194778894 +4375 0.0011460155998702659 -0.00041869973132466193 0 0 0 1.7647159830752947e-05 +9445 0.000981041598656211 -0.00022579576956807047 0 0 0 8.441441753035737e-06 +996 0.0009202799318171563 -4.791455424476219e-05 0 0 0 -2.9361468754992163e-06 +1002 0.0012597179981691995 0.00010491057961731044 0 0 0 3.074597581795921e-06 +1015 0.0012451887263271715 -4.185510061247997e-06 0 0 0 -6.807665038210859e-05 +9380 0.0007838974644239937 -2.830494895778664e-05 0 0 0 1.8267252554267812e-05 +6918 0.0004676849241916042 -0.00018829131601151965 0 0 0 0.00022197629457390856 +4834 0.00045053260591023536 -0.0001723338913839618 0 0 0 -0.0001289844565064474 +4145 0.0003452497180105307 -0.0006207827788822413 0 0 0 -4.929845120140641e-05 +9810 0.0006837859007469667 -4.453767728056992e-05 0 0 0 -2.9300176816613777e-05 +1209 0.0006107143270818767 -0.00014739603752195754 0 0 0 1.4423693572505344e-06 +1239 0.0013138366094054819 0.00010895198061129958 0 0 0 -1.2266205732789155e-05 +1290 0.000779336903328612 -7.650706757726791e-05 0 0 0 -1.940808190644372e-05 +4062 0.0007422995965026619 -0.00034035320278355443 0 0 0 0.00010573380732362393 +1361 0.0011241729997675774 -0.00016965507429992618 0 0 0 3.4482927315488245e-05 +6052 -0.0001515119546498832 -0.00019964239757372767 0 0 0 -0.00012669422451598553 +9351 0.0008606119233543355 -2.462966125409993e-05 0 0 0 -1.1935084670661545e-05 +1402 0.0007293232019990313 -0.0001228274108525115 0 0 0 -2.690839749127785e-05 +1433 0.001114162097988213 4.8032929056872616e-05 0 0 0 -5.4539675527472625e-06 +1446 0.0010816414070728784 1.2600051363346207e-05 0 0 0 -3.7486649219519544e-06 +3182 0.00012190083654673058 -0.00017810414607804967 0 0 0 -0.0003229034164846873 +1477 0.0006996738158244972 -0.00039704654868898706 0 0 0 -9.083123073267789e-05 +1522 0.0009114104038411442 -0.0007480027639139527 0 0 0 -0.00012237910471406092 +2511 0.001411404496024152 -0.00035331993544708746 0 0 0 -0.00043675927335852554 +7321 0.0005070608434782392 -0.00017830055311708224 0 0 0 -4.6040223688371965e-06 +1569 0.0006069706502151785 -0.00013330073390174993 0 0 0 -3.1540216554550245e-06 +1603 0.0008619014750836534 -5.794139175761319e-05 0 0 0 -2.1241627563152126e-05 +1622 0.0007551125840495709 -0.00022467687959207253 0 0 0 -1.9175995040891468e-05 +5231 0.0013271822769703261 -0.0004968756572711591 0 0 0 0.0007254061116394007 +1692 0.001235797930114717 0.0001072669260574422 0 0 0 1.784376955934384e-05 +1741 0.0009314233861690999 -3.952661551918851e-05 0 0 0 -1.7840325195398074e-05 +1750 0.0011625346277712072 9.185576668258487e-05 0 0 0 -2.5035973529786455e-06 +1772 0.00011549522012666202 -0.0003203006575775277 0 0 0 -0.00025152343292184304 +1793 0.0010769237038368523 -0.0003927360378236493 0 0 0 -2.597123574243437e-06 +8011 0.0004858499820354634 -6.948002283290555e-05 0 0 0 3.064595260286939e-05 +1897 0.0013044934244834897 -4.381417206531341e-05 0 0 0 -5.025414369525423e-05 +1908 0.0010489879026609962 -2.2265767924753183e-05 0 0 0 -1.151239538552085e-05 +1910 0.0007194663696673405 -4.1948651620497956e-05 0 0 0 -5.986033987350929e-05 +2030 0.0008500820489379225 -0.0007364865463413803 0 0 0 -8.949394483414588e-05 +6277 0.001013288608922271 -0.0004275708524496479 0 0 0 -3.824058003720741e-05 +2050 0.0012762877410203747 8.580608333927898e-05 0 0 0 1.8246192111257215e-05 +9502 7.440305927154366e-05 -0.00017588184734846908 0 0 0 -0.0003019883443610713 +4818 0.0006691663461937832 -0.0007696390589029312 0 0 0 0.00011977777354411532 +9939 0.0006743421188513631 -0.0002533576547711119 0 0 0 3.792924382811335e-05 +2130 0.0011393392042814703 7.79960782077749e-06 0 0 0 -1.2314452920064117e-05 +2138 0.0009842336357086957 -9.931018905187686e-05 0 0 0 -6.4999765025483455e-06 +2148 0.0009446467892240242 -5.6042602441231974e-05 0 0 0 -4.311890777590054e-06 +2164 0.0010848731762596302 3.712569792212665e-05 0 0 0 -2.393188004372761e-05 +2201 0.0007690990063917958 -0.00017592584976964797 0 0 0 -3.402011130478823e-05 +2242 0.0010749937519282662 -0.0002283762584098939 0 0 0 2.7359994190637287e-05 +2248 0.0012243554383432162 6.626966729742375e-05 0 0 0 -1.90697018107918e-05 +2261 0.0014468515161580365 3.4583460922943846e-05 0 0 0 -0.00014284966304515398 +2272 0.0008969732450169848 -0.00013739044265540762 0 0 0 1.5207659916262037e-05 +2276 0.0010936427593974396 -0.00025384866675712584 0 0 0 -3.7132291322759505e-05 +9022 0.0008866747762599421 -3.136808617429053e-05 0 0 0 -3.6154186736792275e-05 +3209 0.0008516295517865786 -0.0002412216769267951 0 0 0 2.0756750827485745e-05 +2383 0.001064293338228953 -9.864664453541914e-05 0 0 0 2.009033013560243e-05 +3728 0.0009738196917733077 -0.0003769434742655333 0 0 0 -1.1697676736559487e-05 +1079 0.0011538397124222714 -0.0003495333231457467 0 0 0 -6.8765606936916e-05 +743 0.0005164516504150375 -0.0002821485454031286 0 0 0 -3.5028324638820685e-05 +2115 0.0011451012730274125 -0.00041600260421203837 0 0 0 -9.318560187443787e-06 +3528 0.0008379861561259622 -0.00024150635183231987 0 0 0 5.188031373469697e-05 +2523 0.0011330432130038583 -0.0003510054142165311 0 0 0 -2.8360890363512234e-05 +2567 0.0012147429948106117 5.49643974147916e-05 0 0 0 -1.4399107446227822e-05 +2588 0.0010630344289020053 -3.338208282699867e-05 0 0 0 -4.964362940447488e-06 +9257 0.001207039487160709 3.940572297334965e-05 0 0 0 7.195430874450224e-05 +9831 0.0009428514716321238 -0.0003372352913731822 0 0 0 -1.9239401040860948e-05 +2627 1.7369782134113896e-05 -0.0006665371732656856 0 0 0 -0.00010006726902865835 +2670 0.0013014032014376355 -0.00018794275994044583 0 0 0 0.00021462135673349598 +2692 0.001157894281184448 -0.00019181634600128587 0 0 0 -0.0001300684293539924 +2789 0.0010682015652182823 -0.000277557006592152 0 0 0 -4.529875958894118e-05 +2815 0.0004746737667949675 -0.00017462214514204466 0 0 0 -0.00010255544975701525 +2896 0.0007262789493701182 -0.0002292379244104377 0 0 0 -8.663114031399476e-06 +2101 0.0010228520021174532 -0.00040755145506275427 0 0 0 3.6342232641810254e-05 +2973 0.0010280747095675565 -2.5065352095267128e-05 0 0 0 8.898154185918932e-06 +8995 0.0008799340396520528 -0.00022614691099477846 0 0 0 2.1949497184936975e-05 +3059 0.0008888916120304228 -2.7376654013052834e-05 0 0 0 -2.4893292708561515e-05 +3110 0.0008508206010638838 -4.5571838172274914e-05 0 0 0 -3.1873299071266997e-06 +8094 0.0007139706752856806 -0.00020305108971673062 0 0 0 -6.213488876192412e-05 +3164 0.0009635508362802747 -4.410990519627319e-05 0 0 0 -9.878433898483826e-06 +3220 0.0008433887198956839 -6.515683898588414e-05 0 0 0 4.350338529876902e-05 +8605 0.0005141936596015084 -0.00020712296275079118 0 0 0 -0.0017374990307000623 +3278 0.0007942857929243114 -0.0001271226609452072 0 0 0 -3.1547948179736364e-08 +3284 0.0003279752818474421 -0.00011718944707116011 0 0 0 3.0703193124179565e-05 +3316 0.0010024301535784927 -0.00019389922018393777 0 0 0 3.449878551019295e-05 +3323 0.0010716223359519344 -1.4548442642401986e-05 0 0 0 -1.4221139229944395e-05 +3341 0.0006277887903266363 -0.00013328834437575593 0 0 0 -9.201214602108604e-05 +3344 0.0009498602310839851 -0.00015286317301815914 0 0 0 2.0720589482503515e-05 +3360 0.0012228091340029496 0.0001055820051596368 0 0 0 -4.643641232661853e-06 +2009 0.0009499960169638366 -0.00018760421141489263 0 0 0 -0.00023431216958825994 +3398 0.0007199123686472724 -0.00021942508661257958 0 0 0 9.146999723652735e-05 +3429 0.0007735397009488072 -1.9598306014731194e-06 0 0 0 -8.03409337494481e-05 +3438 0.0010397556765377447 -0.00024548431111254997 0 0 0 4.579475537896175e-05 +1676 0.0004968793752945372 -0.00015287603650629032 0 0 0 -2.499106374629597e-05 +2477 0.00030180382687742386 -0.0009544711738592225 0 0 0 -0.00010080240984581815 +9979 0.001272335228982956 9.432796519980031e-05 0 0 0 -3.914129040694907e-06 +3515 0.0011591563429792636 -0.0002862588001587848 0 0 0 -0.00010002856443746549 +9339 0.0012691393823511588 8.267772603319089e-05 0 0 0 -3.4148788109510967e-05 +3023 0.0004758628122601005 -3.372517263985833e-05 0 0 0 2.0510238019289447e-05 +3578 0.000415585899120684 -0.00011853049506402602 0 0 0 -6.232046163787308e-05 +8965 0.0010565163054114537 -0.0001823648472470074 0 0 0 0.00016446358528877177 +3600 0.0015100723246186483 -3.7588762993748843e-06 0 0 0 -6.198516608889353e-05 +3601 0.0009079487984345482 -0.00011201587278047142 0 0 0 -2.5908938633672785e-06 +6318 0.00027408393176276487 -0.00020126769438646918 0 0 0 0.0002526555445926385 +3683 0.0010287215321474182 -6.037329284909677e-05 0 0 0 2.4932138797223258e-05 +3689 0.0010273541328709626 -0.00013035559458934263 0 0 0 2.258147717185465e-05 +3714 0.0008186388762240541 -4.3211173327226876e-05 0 0 0 5.650725382891358e-05 +3717 0.0009927137907280983 3.7796997418021747e-06 0 0 0 -2.4844812938292324e-05 +3795 0.0003376998217654753 -0.0002676869632352352 0 0 0 -0.0001675190199195799 +3822 0.001053385399737836 6.944079127656854e-06 0 0 0 5.4974664454782596e-05 +3892 0.0011783451995743032 4.277150982541008e-05 0 0 0 2.232455226938297e-05 +9432 0.00144586038730283 -4.160677703145108e-05 0 0 0 2.206522615284716e-05 +3930 0.0009563295353798708 -0.0007435860916492491 0 0 0 7.709604844313627e-05 +3936 0.0011909595096723108 5.984854772498201e-05 0 0 0 5.2620917088064465e-06 +5847 0.0006479998073635312 -6.392909473097827e-05 0 0 0 -8.010483767966919e-05 +4124 -0.00014046052505535167 -0.0005923068016777355 0 0 0 -8.783769005733859e-05 +4131 0.0011553359758413686 5.6539418273537275e-05 0 0 0 -3.882001865466591e-05 +5101 0.000538993011123001 -0.00014664088826697104 0 0 0 -9.719656550300862e-05 +4169 -0.00010603406749269593 -0.0006285899162713495 0 0 0 -0.00021772278863502783 +4182 0.0009580273180846197 -0.00021279715890166323 0 0 0 1.2928814171512887e-05 +4207 0.001108649067803485 6.405865107949125e-05 0 0 0 -1.5409839620171926e-05 +6610 0.00038109516039497185 -0.00016326632265130326 0 0 0 4.673338955427844e-05 +4325 0.0013443844919078696 0.00012444647321847117 0 0 0 -0.00022717575932439766 +9530 0.001290013805487661 0.00018186080389735626 0 0 0 -0.0007668909195558177 +4454 0.0007376634035837869 -6.123154795366437e-05 0 0 0 -3.7889016005880116e-07 +4483 0.0011239894402389843 4.1646023474384824e-05 0 0 0 -4.301757724195565e-05 +4511 0.0007544411252984585 2.8296401784269864e-05 0 0 0 -7.42557727538944e-05 +4517 0.0009292107466438744 -7.618303949097304e-05 0 0 0 -6.05751938838775e-05 +4520 0.0005536412570947683 -0.00017566742549922194 0 0 0 -4.699446770953697e-05 +4562 -0.00023763950642451102 -0.00043752604209318477 0 0 0 -0.00016009512245371188 +4611 0.0012803452591528374 -0.00023246284684951172 0 0 0 -0.00030170490205839003 +4618 0.0007509747395708388 -0.00020981866618218113 0 0 0 0.00030635363441489896 +4636 0.001021384097795613 -0.00026507309865284983 0 0 0 1.617062597091736e-05 +4643 0.0011560576047941612 1.5434153652164903e-05 0 0 0 1.2555350568392882e-05 +9341 0.0008185341345271224 -0.00018265243129716473 0 0 0 6.773000065106876e-05 +1172 0.00015892676525736007 -0.00025985932817705745 0 0 0 -8.191033784749947e-05 +4695 0.0008023790582784273 -3.813691109572267e-05 0 0 0 2.027241613527852e-05 +4709 0.000843400979123109 -0.00016209412586764887 0 0 0 1.5199951869409087e-06 +4764 0.000804445938959619 -5.36336269070059e-05 0 0 0 -1.1690691386810757e-05 +2664 0.0009004454515512398 -0.00029699871139759494 0 0 0 4.063848670223784e-05 +4821 0.0005025281398388996 -0.00046365688992260914 0 0 0 6.408244019142812e-05 +4824 0.000795832069658219 -0.0001888536113238678 0 0 0 0.00031512070629418287 +4274 0.00028570766867193825 -0.00015237660737504522 0 0 0 -4.726849122778233e-05 +9052 0.0012462382661732026 6.817458709588816e-05 0 0 0 -5.073053292220123e-05 +4878 0.001091239712438983 2.8689926265321492e-05 0 0 0 -0.00011715737848339727 +4879 0.001019925271382258 -8.017903642191672e-05 0 0 0 8.714417115283607e-06 +7086 0.0005835255844205192 -0.0002702052666935735 0 0 0 9.764248705905701e-05 +9029 0.0007106681175102079 -0.0001004529613627947 0 0 0 3.3746723067905354e-05 +9342 0.0008624056353404368 -9.777787412417795e-06 0 0 0 -5.315902964717793e-05 +6340 0.0005057612442393242 -0.00021603662343285356 0 0 0 6.818206962352323e-05 +4970 0.00047189531911063284 -0.0007512655098471419 0 0 0 0.0005142288642668482 +4982 0.0007638280144008365 -7.024398697165825e-05 0 0 0 1.4290583045719439e-05 +5023 0.0011212671293038441 -0.0003044368814925624 0 0 0 -1.9574786628469294e-06 +5036 0.0011777117092526537 -0.0002502308555135199 0 0 0 -0.00020699204398959696 +9544 0.0013257606371216565 0.00010486626348040715 0 0 0 -5.8174483498515085e-05 +5160 0.0012755745258869956 9.102461538691713e-05 0 0 0 1.3904814907618584e-05 +8784 8.383405143832354e-05 -0.00012992557934775328 0 0 0 -0.00031600576211383776 +9462 0.001171933232189035 9.88979612481894e-05 0 0 0 1.8147387972432475e-05 +5641 0.000525327200142429 -0.00019286812118401243 0 0 0 3.719810076231612e-05 +7371 0.00023089690830179304 -0.00010996070079178178 0 0 0 2.443869131408993e-05 +5557 0.0012490513111754454 0.00019977269457491744 0 0 0 0.00013602044482775996 +4600 0.0007576797463468481 -0.00016236419424084985 0 0 0 9.334492815938379e-05 +5312 0.0006360866392020503 -0.00010489444180263632 0 0 0 -5.7470313877215225e-05 +5327 0.0007235594798398564 -0.0002621519698536512 0 0 0 -0.00011867487832596686 +2498 -0.00026302828194194603 -0.0006450055449464195 0 0 0 -2.847122243272354e-05 +5410 0.0019155436424953443 0.00020548886412852292 0 0 0 0.0005844213702620929 +5427 0.0008944857604514558 -4.935851588548443e-05 0 0 0 3.6168747340927665e-05 +5442 0.0010082104174499419 -2.9420366824793353e-05 0 0 0 1.1696802878353292e-05 +5447 0.0014119390710684789 0.0001034150557814045 0 0 0 -4.7115394754591915e-05 +8322 0.0021377906840455286 -0.00020643503746022333 0 0 0 0.0005193709049233087 +9185 0.0010779312134132654 -2.168461714886124e-05 0 0 0 2.670320124043276e-05 +5482 0.0008707131244144547 -5.727442691923767e-05 0 0 0 -1.2043663218769305e-05 +5519 -0.0013835789119058864 -0.0009426264268512839 0 0 0 0.004108107030588861 +8399 0.0007508468123173682 -0.00010399005218467936 0 0 0 7.059267953777759e-06 +5588 0.0011168909917237515 4.5203155370221646e-05 0 0 0 -6.385681368944276e-05 +5596 7.239994368004084e-05 -0.0005379235446011927 0 0 0 0.0007868892685445473 +9758 0.0014321347023360327 7.54944392726242e-05 0 0 0 -3.335484126646305e-05 +5319 0.0001171585576822391 -0.00021156289140128077 0 0 0 -0.00014133473884662932 +1512 0.0015541490960242965 -0.0003297910633764641 0 0 0 0.0002882499050571154 +5619 0.000767620523421427 -3.881426827901082e-05 0 0 0 -2.1193952708230433e-05 +5633 -0.00019459679452561837 -0.0006620012701412791 0 0 0 -6.409077998577645e-05 +9994 0.0010665293159896638 -4.947022527523115e-05 0 0 0 -8.593341104122561e-05 +5721 0.0008942728062023446 -0.00017238018289528537 0 0 0 1.3245256547688729e-05 +5737 0.0011406996072002933 3.6310774379965984e-05 0 0 0 -1.1608685204427421e-05 +3641 0.0004463194901817591 -0.00015900999499835855 0 0 0 -1.8192910413641978e-05 +4365 0.000567255401118995 -0.00020155983657227792 0 0 0 4.163101680323411e-05 +5814 0.0010857079465911587 5.31213071921666e-05 0 0 0 -2.4719139341249735e-05 +5550 0.0009731450992051687 -0.0003184866934364515 0 0 0 1.281002664103394e-05 +5866 0.00069221451211152 -0.000231962491214179 0 0 0 7.834275365952342e-05 +4249 0.0002626702534036676 -0.00011728241433727671 0 0 0 -7.452379003447667e-05 +7311 0.0002218592803225883 -6.453023905409361e-05 0 0 0 -5.9120264960687346e-05 +5911 0.0006684606355895056 -0.0003049805788701999 0 0 0 0.00035104395178515264 +6018 0.0010688434861024318 4.9575893450222435e-05 0 0 0 2.6822921890055507e-06 +555 0.0002034423748872416 -0.00013830425186395939 0 0 0 1.751809293815653e-05 +6071 0.0011051544101010208 7.71389750161679e-05 0 0 0 6.9858629403397205e-06 +6162 0.0014491506324480184 -0.00014602180811461977 0 0 0 -0.00022936550282784383 +6189 0.0009733648796613882 -0.00020438261368469382 0 0 0 1.146343250708449e-05 +6199 0.0006342332673875502 -0.00022490053906987903 0 0 0 7.130350674500379e-05 +1068 0.0005625419311589801 -0.0001494666938666316 0 0 0 -9.762603633277765e-07 +6786 0.000571471992348763 -0.00016572491678020778 0 0 0 -0.00020482568479142146 +2281 5.997894937560891e-06 -0.0005893812451356694 0 0 0 0.0002845630041278499 +6407 0.0007230376364045537 -0.00010039704577274426 0 0 0 1.630613109022994e-05 +6408 0.0010729084762729861 5.9734202471602216e-05 0 0 0 3.1767722467918167e-06 +6419 0.0012157302071487013 -0.0005647925652310326 0 0 0 -0.000380166493480718 +6459 0.0010762771270107253 -0.00019647907302631901 0 0 0 -7.602750261575606e-05 +431 0.0009473537491422891 -0.00034566530784857974 0 0 0 8.95001443838456e-06 +7273 0.0009382382208436917 -0.0004043076792178847 0 0 0 2.9100634367329438e-05 +9624 0.0005016031467173882 -0.0001838010378484113 0 0 0 -6.046773988615984e-05 +6532 0.0010564818908959336 -0.00013794181943460205 0 0 0 -5.6124589731969245e-05 +6548 0.0006108309534812082 -5.590111651107801e-06 0 0 0 -0.0001265073772170244 +6551 0.0012845749854385902 0.0001019983279297311 0 0 0 -1.542444305211478e-05 +6587 0.0009217282372990249 -7.686293109536278e-05 0 0 0 -2.8188197832692036e-05 +9918 0.0007856239403281278 -6.419999116839767e-05 0 0 0 -1.7783551345300194e-05 +6651 0.0009953544317380237 -0.00022137934432862465 0 0 0 -9.0400430418612e-06 +7102 6.023213061012943e-05 -0.00015860506431501106 0 0 0 -0.0002797657780203509 +8556 0.0013360910764348916 -0.0002365413975514192 0 0 0 0.0014998503226362338 +36 0.001019473180187413 -0.000469630472100597 0 0 0 1.6831900314530175e-05 +6730 0.0009355772886189586 -4.9152670885833594e-05 0 0 0 1.5656899258690019e-06 +6787 0.0005564360378932726 -0.0007728009057599888 0 0 0 -0.0003753747208629912 +6818 0.001232075220051537 7.294844458711295e-05 0 0 0 2.894925599106786e-05 +6833 0.001153608028074445 -2.8036614834691996e-05 0 0 0 -1.5228194219068874e-05 +6954 0.0006878660770449593 -0.00022318578573141473 0 0 0 0.00020395591258955063 +5275 0.00010679033874860793 -0.00011481883736602068 0 0 0 8.746936824420997e-05 +8924 0.0011485927524641597 0.00033497064876876297 0 0 0 -0.0013916414331465775 +7024 0.0011759436621495403 0.00010728971565228388 0 0 0 -7.700114086935034e-06 +2345 0.00048567973719232187 -0.00016720663246170243 0 0 0 -3.322756752597004e-05 +7055 0.000734712238756779 -7.329516046227085e-05 0 0 0 0.00010964349280080084 +7263 0.0011391691199716582 -0.00030279853717947783 0 0 0 0.00015215099924636023 +7295 0.0008409877050081676 -6.879750536863183e-05 0 0 0 -0.00021859314353075626 +7303 0.0009129595779253386 -4.1377691281428774e-05 0 0 0 6.4347691439376614e-06 +7325 0.0008436556817299809 -4.7884553194482875e-05 0 0 0 -8.86694097963466e-06 +9054 0.0009886862209040881 -2.8565817338728574e-05 0 0 0 2.3836244816126197e-05 +4894 0.0005618269922803623 -0.00016769473877783887 0 0 0 3.704218920225329e-05 +7353 0.0005183109886882938 -0.0003400935756274369 0 0 0 -0.0008943784996220788 +2494 0.00020544479939558894 -0.00015191822592247294 0 0 0 2.2401383988868986e-05 +7384 0.0008835852323369047 -0.00020047948312941445 0 0 0 -5.097440159554946e-07 +7389 0.0018852583145872602 0.00019320191097133905 0 0 0 0.000979614074091421 +7423 0.000670952796850173 -9.21043018189562e-05 0 0 0 -0.00038005457733957556 +9871 0.0009581364227799938 -4.509676982133284e-05 0 0 0 8.56068571052062e-06 +2602 0.0004958613569759548 -0.0001578625206885143 0 0 0 -3.999808294614908e-05 +7509 0.0011627255190383094 -0.0001615092100901949 0 0 0 -1.3080199047462422e-05 +7528 0.0006900110670112845 -0.00015290405012055374 0 0 0 -1.1248495030496814e-05 +4866 0.0007160507094262074 -5.577108139302409e-05 0 0 0 7.114099028629303e-05 +7668 0.0009621781358160011 -0.0002397630030498854 0 0 0 8.339347545818213e-06 +7706 0.000884259374453159 -1.3467431642018501e-05 0 0 0 2.2395472690326618e-06 +7715 0.0008516291554634535 -0.00015035543002778798 0 0 0 -0.00017959010228667062 +7737 0.0013473494923194828 -0.00025307860831710974 0 0 0 -0.000339670084478405 +7738 0.0003632868965435698 -0.00016332910661107357 0 0 0 -0.00019119881654574528 +9030 0.0008398669094517109 -0.00013005969950630875 0 0 0 -8.113898351395872e-06 +7868 0.001150912456463655 -7.238877998927376e-05 0 0 0 7.021325688961112e-05 +7882 0.0013253174642145643 0.000106962707960648 0 0 0 -3.866672633502899e-06 +8970 0.0008474263091857593 -0.00022065001840272156 0 0 0 -8.047456151948777e-05 +7900 0.000585231625022616 -7.07378181313161e-05 0 0 0 0.00014504788810308557 +7911 0.0009862997901286129 -6.012275863239693e-05 0 0 0 5.71112846067443e-05 +9634 0.001240975481058997 7.185952084529879e-05 0 0 0 -3.469416970125672e-05 +9479 0.0012171817169210118 0.00010492246105453644 0 0 0 -1.0062768981874003e-05 +8010 0.0010351433279447225 1.3566169540188234e-05 0 0 0 -9.725021640770673e-05 +9682 0.0008068560736464311 -0.00023329224123803775 0 0 0 -2.664159666408871e-05 +8023 0.0014529031033734413 -0.0002084945064830401 0 0 0 -5.7494756169317695e-05 +8064 0.0008457780566883767 -0.0007757212690712958 0 0 0 0.00014378125872890259 +8088 0.000909426394073664 -2.7835807034922536e-05 0 0 0 3.4976964447651967e-06 +8132 0.0009747666121582268 -0.000571900604768715 0 0 0 0.00013594066560823655 +8133 0.001139900992442708 6.667588174943045e-05 0 0 0 7.306042715603539e-05 +8151 0.000976715655955772 -0.00014618352766131458 0 0 0 1.5135783181894354e-05 +8171 0.0005626076636071792 0.0003498364040201476 0 0 0 0.00022568395313096986 +7236 0.0006299854894610285 -0.00021052325993991812 0 0 0 -2.0259267882937916e-05 +9807 0.0011101710271817307 -0.00042174855450545924 0 0 0 9.391548484329971e-06 +8215 0.001215721236633315 5.6706997710503856e-05 0 0 0 1.6641284708686076e-05 +8232 0.000901857233624794 -0.0007106170113666759 0 0 0 0.00031417133839336565 +8283 0.0005835217246520486 -3.244890799665164e-05 0 0 0 0.00010372151562756967 +8344 0.0001523030846705939 -9.503676816168301e-05 0 0 0 -4.2333822846464e-06 +8370 0.00037154812245273933 -0.00023961421597268722 0 0 0 5.845735846910724e-05 +8391 0.0008267693097558585 -2.8723122155879695e-07 0 0 0 0.0001869616601789898 +8409 0.0015064256862252236 -0.0004936024738877266 0 0 0 -0.0006823216903714704 +8423 0.0010151767754880896 -2.5801419847610243e-05 0 0 0 -5.8832300821352825e-06 +8451 0.00023039563407334905 -0.00016858689726946812 0 0 0 0.00019807162645611105 +8485 0.0007502489228759297 -5.41597785490774e-05 0 0 0 -8.599753876045394e-05 +8824 0.0008040229455312436 -0.00013308535099354176 0 0 0 0.00010132341654378322 +8566 0.0012387099915254901 -0.00019683467668034002 0 0 0 0.0005239847833714826 +6621 0.00015230111467580794 -8.420587081517648e-05 0 0 0 2.4303045272044794e-05 +8612 0.0012331398526761134 0.00010986823196499173 0 0 0 9.642707720082308e-06 +8614 0.0011136820862159534 5.7599747031851155e-05 0 0 0 0.00013356101736403393 +8685 -0.00014192965453056812 -0.0006689946537201979 0 0 0 3.85990453139508e-05 +8775 0.0012478354544741075 0.000432808744876053 0 0 0 0.0008644116675721109 +9408 0.0009303643877832034 -3.5375307382825335e-05 0 0 0 2.86029544665347e-06 +8815 0.0006904050121193292 -8.974605225135943e-05 0 0 0 -0.0001957189725807921 +6697 0.0005293089006074975 -9.161216266805203e-05 0 0 0 0.0001360848444065623 +2805 0.0009051521046792635 -0.0003085995525611833 0 0 0 0.00010081982357843037 +8833 0.0025160088016761887 -1.3228813963399475e-05 0 0 0 -0.00021595424979025684 +7893 0.0005037287476329325 -0.00010996150710297319 0 0 0 -6.805129812204074e-05 +8991 -0.0007083595585325913 0.0008262485384775504 0 0 0 -0.0025773679495733996 +53 0.0004944328058558024 -0.0001782321219861772 0 0 0 1.4983867718223175e-05 +2483 0.0006349892474094668 -3.264714580019907e-05 0 0 0 5.307289590918411e-05 +2616 0.0007270057612118711 -0.00014628507085851536 0 0 0 4.18100801260543e-06 +5783 0.0005292586888664963 -4.878578760987014e-05 0 0 0 2.1901184039940137e-05 +4882 0.0005766951750938068 8.889782745594014e-05 0 0 0 0.002090592756604011 +3663 -0.0002936013292105049 -0.0016719527301891956 0 0 0 -0.0006332632581465064 +46 9.89742986115732e-05 -0.0008492902928575001 0 0 0 5.418552553661834e-05 +92 0.0006336322075058448 -0.0005334451568363077 0 0 0 -6.409353540148858e-06 +93 0.00047186285386591366 -0.0008222293134147146 0 0 0 2.458373367885293e-05 +139 -0.00020284739258013794 -0.0002580303984978142 0 0 0 6.654315790510744e-05 +140 0.0005940180771633986 -0.0004518758298307656 0 0 0 1.8442124398162253e-05 +145 0.0008060115129413832 -0.0004732727088340849 0 0 0 -2.2553436166383212e-05 +147 0.0003002831243020964 -0.001000472581786751 0 0 0 7.645325028486089e-06 +179 2.4840133959387538e-05 -4.415412250691993e-05 0 0 0 -4.4738140704543995e-05 +182 0.00011111678761049359 -0.00019062593516665542 0 0 0 7.18638563764622e-05 +184 0.00015387268308884227 -0.0010907271810975242 0 0 0 -8.469669804395427e-05 +7733 0.00024143110660075637 -0.0011392669749300934 0 0 0 5.8525004293834534e-05 +220 0.0004178366872469932 -0.00052540291564184 0 0 0 0.00012127145221966831 +243 -0.0001426076176555098 -4.6754683221924775e-05 0 0 0 5.723069547618034e-06 +261 6.024190669695889e-05 -2.534253514426879e-05 0 0 0 -5.3520723428636964e-05 +271 0.0004913210351296199 -0.000567395442048817 0 0 0 1.6066746627872367e-05 +283 0.0007810686715541552 -0.00034234835991934663 0 0 0 2.9895096364890007e-06 +285 -0.00014907800456204163 -9.982398546997099e-05 0 0 0 1.2131805620103504e-06 +320 0.0008270948685232645 -0.000664709116238443 0 0 0 4.467094082231004e-06 +321 0.00023005586644798034 -0.0009245775604145834 0 0 0 -1.7839848739200313e-05 +339 0.00035541067228443034 -0.0005655557220850665 0 0 0 1.8790344622242708e-05 +357 7.388966352756876e-05 -0.0006960163138913966 0 0 0 -3.630606322713466e-06 +368 -0.0002460943939361584 -0.00029654223416322864 0 0 0 -0.0002464519578055145 +387 0.00029429498064861224 -0.0009118178436094801 0 0 0 2.7376453700709065e-05 +389 0.00022853122139536444 -0.0007967722669505338 0 0 0 -1.3306473591764559e-05 +393 -0.00012474895852361236 -5.202296768429102e-05 0 0 0 -5.1576853621476546e-05 +402 -6.944688647238768e-05 -5.279189459582191e-06 0 0 0 2.720048148631838e-05 +423 0.0004300311980956052 -0.000746064341577075 0 0 0 -1.4883267067988957e-06 +6524 9.325179457074465e-05 -0.0017752980759737174 0 0 0 -0.0005412408790097118 +444 0.0001587341677363075 -0.0009372410003072145 0 0 0 0.00017444670895165314 +450 0.0006110541622055161 -0.0007456986623675984 0 0 0 -4.8707150760010995e-08 +458 0.0005115243083334295 5.44840978602518e-05 0 0 0 5.2802365343582766e-05 +463 0.0006252349314293621 -7.918045572320877e-05 0 0 0 1.7936841573426085e-05 +465 0.000280865625294937 -2.0122348239661867e-05 0 0 0 8.610560457858956e-05 +476 -0.00011105715353311415 -0.0002623320811101703 0 0 0 6.695823551346515e-06 +496 0.00018474653832753067 -0.001155902464831194 0 0 0 4.5314475489595336e-05 +540 0.00011968621057377844 -0.00014963650594185729 0 0 0 2.4675591541742127e-05 +566 0.000540033166630734 -0.0005993583249694577 0 0 0 0.00010998361742607901 +584 -0.0003949085073758142 -0.0006981377316807665 0 0 0 0.00016575636526161257 +588 7.301316181041999e-05 -0.0007579079525680034 0 0 0 0.0001584127073091921 +4105 1.3962020964164994e-05 -0.0007633449141632114 0 0 0 0.0001057947693787033 +1096 0.0003656879031808742 -0.0006674204674093111 0 0 0 2.6559725271370902e-05 +5227 -0.0011383364376957978 -0.0018625293111733132 0 0 0 -0.0009283726224222748 +9564 0.00036236203652585935 -0.0015278264298588448 0 0 0 0.0007304062568508529 +756 -0.00021828819496092115 -0.00039936828463837086 0 0 0 -5.222031007868986e-05 +798 0.00011760323726561913 -0.000875970267394673 0 0 0 -3.234286732336374e-07 +7674 -0.0016023299355485453 0.0008763159146069982 0 0 0 -0.0017720092947688016 +809 -2.4419391748151467e-05 -0.001195660833175361 0 0 0 -5.009825794135611e-06 +833 -3.449751200684388e-05 -8.136338362074915e-05 0 0 0 7.496899823264241e-05 +840 -0.0005715480755529486 -0.0004882692763470666 0 0 0 -0.00037675792856951997 +868 0.00021841981275373952 -0.00036030762827772935 0 0 0 4.4554318065660385e-05 +3312 -0.0013535256611626656 0.0007136909614302628 0 0 0 -0.00017579715663891416 +872 0.0007242223019634534 -0.0006290158632747909 0 0 0 -3.7171811597102245e-06 +879 -3.1086667989991744e-05 -0.0006390475463091 0 0 0 0.0002982611198230382 +889 0.0001722435305322517 -0.0007995137048829964 0 0 0 -5.1542445061552664e-05 +916 0.0004975365515551997 -0.0002991674281951174 0 0 0 5.195161938736873e-05 +942 -0.0007128761853968326 -0.00017029674603812473 0 0 0 -0.0002374032992516803 +1443 -1.6068036708579037e-05 -0.0009297304562394717 0 0 0 3.800609680964757e-05 +974 -0.00032721982139239205 -5.474587353061342e-05 0 0 0 0.00019748232416669088 +989 0.000179246449053605 -0.00015709572472836255 0 0 0 2.105257700307271e-05 +1054 -0.00021457503457313515 -0.0011642590564619466 0 0 0 -3.430204901450441e-05 +1055 -4.185757946265373e-06 -0.0006007835087674726 0 0 0 0.0002824130050572632 +9470 -0.0001775134290376876 -0.0006466581137761187 0 0 0 -0.0005225410942272607 +1075 0.0006794152997833158 -0.0004618289710493624 0 0 0 7.974316346862943e-06 +1077 0.00022250315865910257 -0.0006665922799174679 0 0 0 4.2488079357700665e-05 +9969 0.0004940653013307764 -0.0006468155871659323 0 0 0 -0.00047604671107353235 +1084 7.488630480599334e-05 -0.0001478787994168956 0 0 0 5.707062339720563e-05 +1089 0.00016890966056213444 -0.0011092514617661545 0 0 0 6.992570078284569e-06 +1097 0.0005999483350287212 -0.00015173956871346664 0 0 0 3.451289847213394e-05 +1126 0.0006137270393676975 -0.0006954244569039834 0 0 0 4.415377772568074e-05 +1127 0.00024192036015561897 -0.0006629752673699776 0 0 0 0.0001368957817019626 +1133 0.0006100494537811789 -0.0005769781207756382 0 0 0 -2.7828889932101785e-05 +1156 6.87294468499468e-05 -0.0003080468467443237 0 0 0 1.4781656515251176e-05 +1159 0.000100864599837348 -0.0005795261547446433 0 0 0 8.934495200813158e-05 +1173 -3.764202231079933e-05 -0.0002016627381671802 0 0 0 1.5859798376067458e-05 +1189 -9.14069048874393e-05 -0.00018427772686641 0 0 0 3.753760900626727e-05 +1193 0.0007578590255554389 -0.0002912958059650392 0 0 0 -1.4561083587449659e-05 +1197 -0.00012347454045126414 -0.00034306040566528436 0 0 0 0.0003347026199994168 +1215 0.0008336008190558834 -0.0009933003486386994 0 0 0 4.1529480041568225e-05 +1244 0.0006927184742049397 -9.524461172860368e-05 0 0 0 1.708784757640907e-05 +1245 0.0004778138743694808 -0.0005123580093236297 0 0 0 2.7602818317801187e-05 +1268 -9.175223755832674e-05 -0.00013815797028558148 0 0 0 0.00015526683712507175 +1271 3.990590544077538e-05 -0.0011288872122804116 0 0 0 1.8053543842833832e-05 +1274 -1.316079695680857e-05 -0.0008198444648088636 0 0 0 -1.3516042342136385e-05 +1313 0.00014066221070783302 -0.0011725931325274632 0 0 0 -5.798005018925061e-06 +1324 0.0006728846746883156 -0.0006670913309960247 0 0 0 2.968973963646543e-05 +1332 4.604165882290049e-05 -0.000957089504982701 0 0 0 6.300030745411785e-06 +1347 0.0005742632065762338 -0.0005076028020870125 0 0 0 -2.3385511547485078e-06 +1370 0.00019186308025560757 -0.000614530581866337 0 0 0 -1.7577224033300576e-05 +1432 0.00021265962584254272 -0.0010137834290686737 0 0 0 1.89037448682792e-05 +1436 0.0008065231884831942 -0.0008891289330825827 0 0 0 9.873942858012558e-05 +4640 -0.0009195468950075253 -0.0007887366098051778 0 0 0 0.0013315555474719713 +1459 0.0006752423678929905 -0.0003828253733106876 0 0 0 -1.2767484025109396e-05 +1461 0.0002947811063733035 -0.0004971237616331998 0 0 0 0.00016150055784272015 +1491 0.0005826252010511291 -0.00039495565292397634 0 0 0 8.380997818066823e-05 +1505 0.00017277527450200426 -0.0008370396997640486 0 0 0 -4.527771877884378e-05 +3150 -3.5871373579095924e-05 -0.0011468361417914096 0 0 0 -0.0001002806826735789 +1532 0.0003138000186622976 -0.0006076040534271368 0 0 0 -3.0974064316084866e-05 +1535 0.0005572384355082067 -0.0007487627777397884 0 0 0 6.146020183373342e-07 +1562 0.0004652222158449217 -0.0007682910851859333 0 0 0 -3.738609705511017e-05 +1568 0.0001927819484936629 -0.0004963877402666428 0 0 0 0.00010650424463552195 +1577 0.00032028182631593766 -0.0005893646405905012 0 0 0 3.9135918390158766e-05 +1650 0.0004368752004978057 -6.279834144564443e-05 0 0 0 -0.0002612028303464329 +1651 0.0002196845568427966 -0.0013431023795584835 0 0 0 -2.8341228853155385e-05 +1688 0.0002725419665760385 -0.0009701270151665431 0 0 0 6.793736838486411e-05 +1696 -7.836511735028652e-05 -0.000917492028269915 0 0 0 0.0005055215225230524 +9635 5.730563768439527e-07 -0.0008215408291833787 0 0 0 0.00022455109194715434 +1713 -0.00010169656443753577 -3.0994508339982835e-05 0 0 0 0.00010797795717666353 +1735 0.00048160375984097485 -0.0008893439783078881 0 0 0 -5.146171683183028e-06 +1740 0.00028496808817150186 -0.000701931267731494 0 0 0 1.0485265094511411e-05 +1771 0.00044146291463684613 -0.0005431975169639393 0 0 0 3.620463333038063e-06 +1779 0.0006280541895217225 -0.0004933972925635485 0 0 0 5.0591372757285404e-05 +1870 0.0003795334956703565 -0.00026127767638116833 0 0 0 -3.1346992644747595e-06 +1919 0.00016132622732978837 -0.0011347851183601979 0 0 0 -2.2316233615702617e-05 +1946 1.1972396417504703e-05 -4.38348453503976e-05 0 0 0 4.6060249785561344e-05 +1975 0.0005281131790626023 -0.0007885106105565943 0 0 0 -6.440692416434536e-05 +1986 0.0001366923270314675 -0.0006130829947995378 0 0 0 -5.724974836071855e-05 +2003 -4.5305371038124156e-05 -0.001069477220140626 0 0 0 -5.981531817388642e-05 +2004 0.00015386604402392863 -0.0010145145654220393 0 0 0 -0.00010204026073646042 +9686 8.208338858267104e-05 -0.0008783845548678581 0 0 0 -2.5505508586580782e-05 +2058 0.000594280007413551 -0.0005863297923815559 0 0 0 9.082586515491223e-06 +2080 0.00048698990496544997 -0.000417429887544947 0 0 0 2.1856059276197176e-05 +2093 -0.0006250374345100457 -0.000496762926328955 0 0 0 0.0004338081962337125 +7486 0.0003498195705317966 -0.0006873512633160496 0 0 0 8.950818138203092e-06 +2133 0.00023973676265311386 -0.00029048214487949143 0 0 0 0.00015346712232655897 +2134 -0.00015584010751505445 -0.0003592423668811291 0 0 0 0.00029480449528580924 +2137 -8.842196961988429e-05 -0.001019542719774369 0 0 0 -0.0003966447630983936 +2142 0.00021425703503772932 -0.0008925791299258041 0 0 0 2.7587696394936304e-05 +678 -2.4167587444205253e-05 -0.0011400642810144228 0 0 0 3.815893270277718e-05 +2219 0.000710569916795687 -0.0005077492408805249 0 0 0 -2.1526376358368627e-05 +2226 0.0003123646545005865 -0.0008254130416371132 0 0 0 -1.115319184283025e-05 +2308 5.451548702060932e-05 -0.0009718711746370298 0 0 0 -8.762284917072964e-06 +2317 0.0001700626231597101 -0.0007487278444856374 0 0 0 0.00013816122411547488 +2320 0.0007196121545939955 -0.0005391108399101113 0 0 0 7.746277918531055e-05 +2327 7.824992062424424e-05 -0.0008688587238637953 0 0 0 0.0001780624011307525 +9603 -0.0006622766587530925 -0.0013759446708212968 0 0 0 -0.00017805843394301713 +9412 -0.00045679970902823074 -0.0008062861786440731 0 0 0 0.0031941735283320485 +6286 0.000499713100085459 -0.0010079985854114899 0 0 0 0.0005514918176249041 +2397 -0.0003339863965442841 1.628613855687795e-05 0 0 0 0.000318021896709058 +2400 0.0007917606283824702 -0.0006029174254981277 0 0 0 1.7249906020708796e-05 +2441 0.0003192050802661152 -0.0007637408562916742 0 0 0 -0.00012115633437506513 +2476 1.1443774802564906e-05 -7.086900388547322e-05 0 0 0 -0.00010236401482151443 +2488 0.0007164742061604019 -0.0006735493950264104 0 0 0 -7.144701209277025e-06 +2495 -5.990736382525088e-05 -0.0011122371585668138 0 0 0 0.00016804494401472694 +9943 -0.00015792259261734328 -0.00017558465921206325 0 0 0 0.0004634997481709235 +2519 0.0004132827244748584 -0.0009027349299880358 0 0 0 3.798341594823435e-05 +2547 0.0005749930740483305 -0.0005835699865183755 0 0 0 9.59116324608609e-05 +2571 -0.0004975803577799469 -0.000525482026054737 0 0 0 0.0003487691211567399 +2576 0.00048000132928884047 -0.0007368979343718433 0 0 0 0.00018711513799292388 +2598 0.0001492126632199038 -0.0011141352860137568 0 0 0 5.1056780415128355e-05 +2603 -0.00010132116248772186 -0.00011139108687952753 0 0 0 -0.00012486162768283082 +2611 6.731901988799798e-05 -5.8847656813360415e-05 0 0 0 9.851619325302618e-06 +2620 0.00041752339593583885 -0.0005719585342535631 0 0 0 8.040710990172017e-06 +2626 -0.00030119682035198593 -0.00019271225829841756 0 0 0 -0.0001441032933938953 +2653 4.353370485819753e-05 -0.0007598025648703403 0 0 0 -1.1726908161423449e-06 +2654 0.00016306848038419802 -0.0001594334669874141 0 0 0 -4.49188986059991e-05 +494 -0.001186805865481742 -0.0007878698269953518 0 0 0 -0.0007053182977387395 +2672 -3.539737374116013e-05 -0.0009388591982448542 0 0 0 1.4922771774531878e-05 +2686 0.0004776356997698895 -0.0007375908856327025 0 0 0 0.00010783875130929572 +2701 -0.00044478708807833156 -0.0002352769167861525 0 0 0 0.00012051013978186898 +2714 0.0006602241126035667 -0.0004945164086557819 0 0 0 3.415224547714788e-05 +2719 -3.176266261914725e-05 -0.00015556498824581276 0 0 0 -7.150932548547177e-05 +2756 0.0005345515200144056 -0.0001390821526546476 0 0 0 0.00029152316482499477 +712 -0.00016913980660512686 -0.0012454523658166582 0 0 0 -1.6474033839242062e-05 +2784 0.00013618022936794203 -0.0006050355873395519 0 0 0 0.00012605109625472277 +9263 0.00010566562308313035 -0.0010179585595333125 0 0 0 5.5241385567275815e-05 +2809 2.3497328386739485e-05 -0.0009467494642242339 0 0 0 0.0008100499904332586 +2812 0.001054635469126518 -0.0003925303213414649 0 0 0 6.271392405209785e-05 +2838 0.0006465635328669719 -0.0014456081560140532 0 0 0 -0.00015351893029550852 +2861 -0.0008107826767329323 0.0002234450783414359 0 0 0 -1.8069800179627534e-05 +2874 -9.027991998329668e-05 -8.528594625639353e-05 0 0 0 9.546028199429233e-06 +2880 0.0005064248042701103 -0.0008007926789068427 0 0 0 -0.0004491635756580785 +2908 -0.0002467677882273792 -0.0002049036901059541 0 0 0 0.0002979042534627641 +2912 -0.00015540062205972102 -0.00024385574367327044 0 0 0 0.0001222324570686359 +2920 0.0005589972749116653 -0.0005680161363486231 0 0 0 0.000506579792845769 +2922 -7.855821759977253e-05 -0.00015469143609102434 0 0 0 -2.6082297086973256e-05 +2929 0.0007745694938158068 -0.00064698973948161 0 0 0 1.937139569334606e-05 +2931 0.0003615195821790509 -0.0008314168303407527 0 0 0 9.890025426381654e-05 +2956 0.0005418908143785365 -0.000740697838196899 0 0 0 0.0005440558200705605 +2974 0.0006482911410051345 -0.0006843645621861613 0 0 0 4.329977780759494e-06 +2983 0.00011355298600389917 -0.00011873337643988366 0 0 0 -9.653494725398596e-05 +981 0.0002929365592537502 -0.00116675081375834 0 0 0 -0.00010610124232178679 +3002 0.00019199278922044766 -0.0005015977368202549 0 0 0 0.0012332591440210967 +3004 0.0005337284343599953 -0.00046603729328127864 0 0 0 -0.0002388681283276439 +3013 -5.700850482990153e-06 -0.001102708171962712 0 0 0 2.1034949565734476e-05 +3027 0.00041672674427643776 -0.0008476083322257698 0 0 0 -4.346289843813581e-05 +3049 0.0002623384386413364 -0.000645037524492609 0 0 0 0.00011711255706858824 +3067 0.0001768450910473817 -0.00010085368710663197 0 0 0 3.3662610701503206e-05 +3075 0.0005249548653260889 -0.0006743378678454763 0 0 0 2.374672593932594e-05 +3100 0.0006919682181240361 -0.0006412838501804437 0 0 0 4.827820734726164e-05 +3113 -8.612921658204895e-05 -2.1717585163612843e-05 0 0 0 0.00010550821871845407 +3123 8.197500940894303e-05 -0.0011478871560408322 0 0 0 4.3704867097848404e-05 +3142 0.0005586052328966069 -0.0009592526145371465 0 0 0 -2.54877127975829e-05 +4449 -6.7515677184101095e-06 -0.0007702675602284038 0 0 0 5.6258167798081994e-06 +3161 0.0003035500829689864 -0.0010646281347816186 0 0 0 5.465520029709243e-06 +3166 0.00027388219412650706 -0.0005159374901156291 0 0 0 -0.00017976089637920917 +3169 -1.1965971719625302e-05 -0.0010262217305349514 0 0 0 0.00010635191543756474 +3189 0.0002719375086623071 -0.0006732444211485879 0 0 0 3.598280775561035e-05 +3191 0.00031248433207266887 -0.0008053375597134706 0 0 0 -4.533510875121547e-05 +3197 0.00025514345260893237 -0.0009348282780205848 0 0 0 4.163541607686404e-05 +9247 -0.0006145909591754996 -0.0008596847805424209 0 0 0 -0.0009395254311034685 +3222 0.0008740345662360135 -0.0006350250188555633 0 0 0 -1.949646876920063e-05 +3241 -5.602042772209043e-05 -0.00017901594611137285 0 0 0 0.0002919794882577848 +3248 0.00018278395772925165 -0.0006007334269561986 0 0 0 0.00011176264612964936 +3299 5.449335302515635e-05 -0.001171752165265458 0 0 0 -0.00010690850258675052 +3651 -0.0002377841378146511 -0.00019324686854599183 0 0 0 0.000411170054907721 +4601 0.00040256169018408573 -0.0006168235129506219 0 0 0 4.2340026133249554e-05 +3367 -5.40894225882652e-06 -2.5337452938835463e-06 0 0 0 6.850291875776434e-05 +3376 8.405212609915214e-05 -0.00101362077522776 0 0 0 -0.00013351964029367162 +3379 0.0004109631395947935 -0.0008770255775241852 0 0 0 2.6420452018647082e-05 +3419 -0.0007625514463489092 6.55483346923862e-06 0 0 0 0.0003292662059161736 +2033 -0.0005908619734390225 -0.0017113277054279562 0 0 0 0.001115078369845172 +3461 -0.0002626050733502277 -0.00030397365579850656 0 0 0 0.00026165350841676906 +3496 0.0001741394787407932 -0.0009164159051052758 0 0 0 -5.158794566624122e-05 +3506 0.00015982625187822423 -0.000789076473228901 0 0 0 1.876781834569514e-05 +3517 7.979873428569849e-05 -0.00013245253563933088 0 0 0 -0.00016627281346448487 +3539 0.00043629196806301484 -0.0009598769778351578 0 0 0 -8.76526394939366e-06 +3589 -1.9765849309409996e-05 -0.0008536354088555878 0 0 0 -0.00015302026155900904 +3592 0.0005026865686178652 -0.0008501780698335089 0 0 0 0.0002448280277199802 +9307 -0.00034747252615412654 -0.001443918501290226 0 0 0 0.0008823869440061382 +3644 -3.9848463722392945e-05 -0.0011654355558264214 0 0 0 5.391498898775952e-05 +8890 0.00041314121188493 0.0004945311228837655 0 0 0 0.00021697412511379057 +3654 0.000651014807849932 -0.0006499015837847628 0 0 0 -5.402048698582144e-05 +3656 0.0004103231203203803 -0.0009277049213962355 0 0 0 0.00011765175995730043 +3678 0.0001620966484445437 -0.00010527631346162824 0 0 0 -1.822789549853447e-05 +3682 0.0003489439009256965 -0.0003275178026418072 0 0 0 0.00014223646017099312 +3704 0.0007162623119058335 -0.0006637920864112095 0 0 0 -2.190900581310586e-05 +3722 5.9413635809941726e-05 -0.0009628472143155887 0 0 0 -0.0002560373600793402 +9074 -0.00018535181051089779 -0.001180090649056981 0 0 0 3.449313488981817e-05 +3737 0.00033368925665421396 -0.0006234557051557026 0 0 0 8.271270909596344e-06 +3743 5.0962645163105764e-05 -0.0007718097132276663 0 0 0 3.5173849281634585e-05 +3754 -0.0001377446821987888 -0.00020957844921497412 0 0 0 5.9090459055571386e-05 +3769 0.0004976823279073377 -0.0007000556851797027 0 0 0 -0.00010780373841200603 +1839 -0.0015225867881629872 -0.0002520459869675557 0 0 0 0.001903098735410272 +3781 0.0007837314274409407 -0.0005948336257935278 0 0 0 2.7968608219383956e-05 +3791 2.5540805473116844e-05 -8.203257605894024e-05 0 0 0 7.606911606807566e-05 +3821 0.0002659538826929938 -0.0001765174280073176 0 0 0 -8.209688150930185e-05 +3825 9.05782058893857e-05 0.0001525905096175701 0 0 0 -2.885944847205999e-05 +3832 0.0005287545519077226 -0.0007173719567834069 0 0 0 -6.720181681783046e-05 +3856 0.0004903595819649449 -0.0006903805260833294 0 0 0 3.67694817781798e-05 +5965 0.0001455846620419375 -0.0007271630182134128 0 0 0 4.214958547014797e-05 +3877 0.0002586269089508917 -0.0003267923454623706 0 0 0 0.00011380133196133779 +3894 0.0006250323276545251 -0.0006983202624275491 0 0 0 7.025172086946348e-06 +3922 0.0002597474831843798 -0.0003973538686121547 0 0 0 6.085626813768597e-05 +3946 0.00029276594252791277 -0.0005630181525167336 0 0 0 1.193038133696311e-06 +3963 0.0006127093066472602 -0.0003986144928305992 0 0 0 8.327315768734066e-05 +3982 -9.402604256922698e-05 -0.0011582074533082337 0 0 0 0.00010339033490024871 +4032 0.00020659892524470708 -0.0007156639474343422 0 0 0 8.68968290813904e-05 +697 -0.0002424945911681861 1.3022295578023071e-05 0 0 0 4.101813998675154e-05 +4094 4.76346465890676e-05 -0.0009380238875939472 0 0 0 -6.564632849581722e-05 +4095 -0.0005445852535618187 -0.0002956913474321904 0 0 0 -8.949495677677346e-05 +4126 -0.0001978839475160991 -0.00021051504473839933 0 0 0 -0.0002977886386778574 +4152 -0.0002534353502663036 -7.207548892839535e-06 0 0 0 0.00024256933555056066 +4177 0.0007118365388165259 -0.0006778975614971987 0 0 0 9.22994049998991e-06 +4194 0.000263909333533825 -0.00026907533803460727 0 0 0 -0.000584284681115321 +4206 0.000518055247117757 -0.0007070233196428309 0 0 0 5.855480760134192e-05 +4217 -0.00036574668838079965 -4.8119361665566925e-05 0 0 0 -0.00037265420376056754 +4241 0.0006575565490261736 -0.0006964879128765067 0 0 0 1.7039568502485e-06 +177 0.00018977682855582224 -0.0007514403455332461 0 0 0 2.1051924148462e-05 +4265 0.0004541102134923197 -0.000881858792923091 0 0 0 -1.4722797223084604e-06 +4292 8.562137000018061e-05 -0.0007764056981217975 0 0 0 -4.759059023959771e-06 +4306 0.0006696725147174663 -0.0004394156326089312 0 0 0 5.8883843845015245e-05 +4310 0.0007711056896402971 -0.0004911911180840408 0 0 0 -0.0002051041164763786 +4341 7.62164314118683e-05 -0.00018175874603003844 0 0 0 4.642572509445047e-05 +4355 4.552003095757764e-05 -0.0007640261943975043 0 0 0 2.5247367011473818e-05 +5959 -0.0008553425416099392 0.0001728453604314756 0 0 0 -0.0006244038394977446 +7820 3.741949838459451e-05 -0.0007396933454564796 0 0 0 5.5619963672529074e-05 +4387 0.00047924901162429084 -0.0008036591826188776 0 0 0 -2.194108618571378e-06 +4404 0.00011852095702516812 -0.000967428028403737 0 0 0 0.00026815825321780925 +7565 -0.001888908587107767 0.0012076257942675028 0 0 0 -0.002601026061905497 +4428 0.00010365332847124205 -0.00017734154496292268 0 0 0 1.667064242796484e-05 +4431 0.00066913225706145 -0.0005026986872550514 0 0 0 -1.9962957541072247e-05 +4436 -1.28751587383283e-06 -0.00010277632594711433 0 0 0 -1.3158814340497916e-05 +4438 0.001211676469740173 -0.0009235467586793465 0 0 0 -0.0009177617140961107 +4458 0.00012930025009935206 -0.001146625978019996 0 0 0 -6.11802519475383e-05 +4487 0.0005550089032986518 -0.00045324765257362246 0 0 0 0.0001193791262399965 +4489 0.0003316341781697547 -0.0004804160183196201 0 0 0 0.00022221829369491983 +4526 2.078417270119472e-05 -0.0011916621775347781 0 0 0 8.018963597179461e-05 +4528 -0.00030178585780699064 -0.00020823750801028939 0 0 0 0.0001749417394986038 +4530 0.0008393100095830094 -0.0006658942799340915 0 0 0 -1.2434425530133377e-05 +4544 -0.00026406087717099463 -0.00016810745702545193 0 0 0 7.439609619864289e-06 +5307 0.0002755989609218351 0.0002711594405065205 0 0 0 -0.0006419895402691491 +4555 0.0002599650137388939 -0.0001223336881515237 0 0 0 0.00010710599962407515 +4566 4.1235546458406826e-05 -0.0006642547864278994 0 0 0 -0.0010425320632034185 +4570 -0.00010790123062631736 -2.400095914478372e-06 0 0 0 0.00011046951018803062 +2290 -0.0012082767754504258 -0.0007868671789409439 0 0 0 0.0014203630907339737 +2803 -0.0013000236121991254 0.0004346344136222414 0 0 0 0.0003144157900666841 +5375 -0.0010156655455058642 0.00035276553572974404 0 0 0 0.00016796027384938432 +4620 -0.0005296803578137953 -0.0007298412719784749 0 0 0 0.0002431948900515389 +4621 0.00013804203016747142 -0.0009656326292751959 0 0 0 0.00033451326452101164 +4634 0.00022782276247206986 -0.0007800500623339367 0 0 0 -1.2371127911818835e-05 +6002 -0.00018092917817981306 -5.6943048957535854e-05 0 0 0 -6.34750023549491e-05 +4642 0.0005497031749937939 -0.0006722842388684617 0 0 0 -0.0008467544308298497 +4678 0.0005196823406584704 -0.000440643511665144 0 0 0 -6.938878904325651e-05 +4685 0.00011562267967154333 -0.0011595532363180747 0 0 0 0.00011330946598952391 +4691 0.0008293654715148146 -0.0005274320219787698 0 0 0 -0.00030165564750359643 +4745 1.1100287946349626e-06 -0.00023371176213525974 0 0 0 -0.00013032639192739624 +4772 6.674628854996635e-05 -0.0008182134997979007 0 0 0 6.710398080956723e-05 +4776 0.00020836617941497846 -0.0006466750192560825 0 0 0 -0.00011921736751120289 +4781 -0.0008817714005710686 6.023563390555746e-05 0 0 0 -0.0001398246343150008 +4797 0.0005402249032309836 -2.4909061081526716e-05 0 0 0 5.130796547663511e-05 +4817 0.0001166279194796269 -0.00023763883988916956 0 0 0 -0.00023917742519574933 +8217 -0.00016881176088806167 -0.0013119337543177245 0 0 0 -0.00012715806803975917 +4837 -0.00012267249367111657 -0.0005940241331605926 0 0 0 -0.0015992038665259996 +4841 0.0002084668417510067 5.86817502154433e-05 0 0 0 -0.00010921698051906256 +4844 -2.4677482975639782e-05 -1.40195782879995e-05 0 0 0 -9.303998225160635e-05 +4863 0.0006484185481806412 -0.0011323363831103107 0 0 0 0.00017491821231892287 +6304 -0.0008189035941070456 -0.001129220922168074 0 0 0 -0.00012898980925604895 +4884 0.00019306403188788245 -0.0008207840745201816 0 0 0 -1.8949588851564546e-05 +7515 -0.0006845625911142864 0.0004912006451895868 0 0 0 -0.0010245302873721637 +4916 0.0002920474781074776 -0.0007940296598539135 0 0 0 -0.0001029045819439543 +4942 0.0007306374262415227 -0.0006228662095657164 0 0 0 4.602103828558052e-05 +5003 0.0003528457981818625 -0.0009392424240003243 0 0 0 6.332679259827527e-05 +5010 0.0007594016703972924 -0.00023631019900167987 0 0 0 0.00047201591965707684 +5021 -0.00016854818449067228 -0.00021321336851991155 0 0 0 -0.00015240173592353826 +5030 0.00028001205994924484 -0.0009569820313299516 0 0 0 -3.0293521198804624e-05 +5058 -4.5095500514846096e-05 -0.0012057571830311488 0 0 0 7.124343171728403e-05 +5092 0.00058093715541986 -0.0007744009196084231 0 0 0 -5.5864025968823e-06 +5095 0.00023480475101615532 -0.00017585210521160136 0 0 0 0.00011057652964819815 +5111 0.000774379591428883 8.435895101111779e-05 0 0 0 -5.028861714590924e-05 +5119 -0.00017581984370417455 -0.000231554044789841 0 0 0 0.00040723293199880473 +5122 0.0032724471648769085 0.0008358601539335601 0 0 0 0.0005812152472760038 +5142 0.00047895499859408993 -0.0007817265725426694 0 0 0 5.451638313091867e-05 +5176 0.0006039541795702093 -0.00047934766109755694 0 0 0 8.712583358510515e-06 +5180 -8.578280084131428e-05 -0.0001417913047430747 0 0 0 9.729767493066809e-07 +5198 0.0003655701712333687 -0.0008543080939038496 0 0 0 -1.3303886799384606e-05 +5260 -3.292883339084233e-05 -0.0005812127686619472 0 0 0 -2.451303523905388e-07 +5296 0.0004114249730014334 -0.0004435611847858361 0 0 0 0.00022832505439616155 +3742 6.35668644257099e-05 -0.00036953352013931943 0 0 0 0.0008874658179428513 +5310 -0.0007695230131580853 0.00033726009038649476 0 0 0 -0.0006347228201042691 +5329 7.010191024922457e-05 -0.00020941239250193996 0 0 0 2.4976677117874285e-05 +7967 -0.00016481934960208263 2.4008123939459015e-05 0 0 0 -1.119601304990629e-05 +3874 0.0007862893721023114 -0.0003429111582751491 0 0 0 1.8992677080819019e-06 +5382 -0.00023426697393934268 -0.00034041308967311385 0 0 0 -0.00020559625253793504 +5397 0.000581356978784065 -0.0003476287461722307 0 0 0 -4.8891439345910974e-05 +5400 0.00016253364552417567 -0.001235437755149131 0 0 0 0.0001140045125751789 +5411 0.00048040236810085204 -0.0004044145886655918 0 0 0 2.8502627481228692e-05 +5425 0.0003306917753059995 -0.00013760943959568333 0 0 0 -7.065189930553904e-05 +5438 2.1840772512886997e-05 -0.0008885312326912256 0 0 0 -0.0001973958937248874 +5453 -0.0007119729836495063 0.0011638737585340218 0 0 0 -0.0007898240912372789 +5471 0.0008018751969793678 -0.0006545309677583453 0 0 0 4.610879855443617e-05 +5494 0.00034205122676451603 1.976735506811777e-06 0 0 0 0.00030314270760024934 +5509 3.4386364218404486e-05 -0.0006353884247266758 0 0 0 0.0020600462036573742 +5518 -5.721657476870417e-06 -0.0009684533568239776 0 0 0 0.00024097276628097175 +5526 -7.978295358285691e-05 -0.000263341028713279 0 0 0 -1.4979999264658717e-05 +5530 -0.002098970673365052 0.0009221620610847668 0 0 0 0.0015713034383836697 +5537 -0.0006715506409040147 3.513131936818645e-05 0 0 0 0.00014630906509227582 +338 0.00036819135609052997 -0.00144300371697975 0 0 0 -7.089129183366969e-06 +5560 0.00028165140471642834 -0.000566826273683916 0 0 0 -6.736989217842745e-05 +5579 0.0005426280230818732 -0.0007576969540130876 0 0 0 0.0001256403267356505 +5620 -0.00021854460712976816 -0.0009019049964844312 0 0 0 -9.069406303851772e-06 +5654 0.00045557031598538497 -6.436647416212182e-05 0 0 0 5.427838303288078e-05 +5660 6.771151691621022e-05 -0.0002805715382081043 0 0 0 0.0001584358130872331 +5672 -5.558640643031562e-05 -0.000799647343626735 0 0 0 -0.00046255615357781906 +5677 0.0005723362867428871 -0.0006877628891708369 0 0 0 -6.812550522505419e-05 +6046 0.00014046205729617673 -0.0012479990830350353 0 0 0 0.0002013491883710549 +5683 3.547576974431087e-05 -0.00025489016656676686 0 0 0 0.0007471964520198087 +5714 0.0007548023797388165 -0.00041587055627816257 0 0 0 2.9206971375329007e-05 +5715 0.0006910170279284635 -0.0005060328644609086 0 0 0 4.340078139466387e-05 +5723 0.00013213847845090556 -0.0006110175211765219 0 0 0 -3.567498223924979e-05 +5724 -0.00013115211364533955 -0.0008388957666453174 0 0 0 -7.832236266650295e-05 +5769 -3.4996738546293907e-05 -6.784555143602362e-05 0 0 0 0.00010751689811550523 +5813 -7.591199515925105e-06 -9.106145994089368e-05 0 0 0 -5.478256694723766e-06 +5815 0.00016771393806355874 -0.0008781340339424652 0 0 0 0.0006641365780947482 +5838 0.00036780451992322915 -0.0005477081659299574 0 0 0 -6.228584055882669e-05 +5852 -0.00011449126008888667 -6.96135259315115e-05 0 0 0 -0.00011229497082600724 +5860 0.0001533877087374838 -0.001009325811286448 0 0 0 -0.0001966809850327138 +5872 -0.0004883148584672253 -0.00040103887223923564 0 0 0 0.0012391822524393831 +5886 0.0006257631053332406 -0.00012095280984748527 0 0 0 -3.001828249056215e-06 +5944 -0.0004128965747636474 -0.00014802103868382795 0 0 0 0.0009094757175297799 +9991 0.0005253887304078925 -0.0005524283998912768 0 0 0 0.0009085067687616625 +5982 0.00035456217371636914 -0.0007137151183042078 0 0 0 5.1923720627885094e-05 +6015 2.619213873021749e-05 -0.0002517194817308715 0 0 0 0.00021663779154646706 +6016 -0.00022063774254159224 -0.0006334360981282825 0 0 0 -0.00020488232767634776 +6030 0.0003163516024387317 -0.00032562587133481535 0 0 0 0.00014389889911472576 +6032 0.00021740792668261422 -0.0008238744668366495 0 0 0 -5.554756365248228e-05 +6054 6.562833582346675e-05 -0.0006369462962600931 0 0 0 -0.0001795999836700057 +6055 0.0002921596803657334 -0.0008518650366542315 0 0 0 -0.00015703823364132753 +6076 5.851802006257494e-05 -0.0004742855132527478 0 0 0 -0.0002478928513924636 +6084 -0.00025073556463915285 -0.00023966712462504915 0 0 0 -0.00037213454372209674 +6091 0.0008985335324859226 -0.0005199870900797534 0 0 0 -0.0011063447343431418 +6101 -0.00014027718474758657 -0.00024342947361754067 0 0 0 -0.0002589570351013619 +6117 0.00028138059271824197 -0.0008455618114932511 0 0 0 -4.725388954465202e-06 +6149 -1.8718043393448712e-05 -0.0009276612346354635 0 0 0 -0.00021530416647246275 +6157 0.000597067299848074 -0.0008089720684108296 0 0 0 -0.0005754172653762454 +6164 -0.0004207861129049308 -0.0005514539600654878 0 0 0 0.0005903976373329584 +6166 -0.00021217939541815373 -0.00014598065823193305 0 0 0 -0.0002637202566016883 +6173 0.00036123651895045983 -0.000815153256567745 0 0 0 3.8554676983509437e-05 +6260 -0.0009918091729255178 -0.0006522115229561098 0 0 0 0.0005178089494945486 +8779 -0.0012828711373002598 -0.00112300070463555 0 0 0 0.00258377388340048 +6295 0.0003716175623004732 -0.0008437755858353395 0 0 0 -1.0037276176368666e-05 +6334 7.366704449190345e-05 0.00031410428678509545 0 0 0 6.555796333192356e-05 +6335 0.0002687980585787707 -0.000968685012115495 0 0 0 -3.0989910339457825e-05 +7135 0.00010790614734801685 -0.001039525617633327 0 0 0 0.00040496252520132273 +6381 0.0010645610592926623 -0.0018087707235290885 0 0 0 0.0012785035148920642 +6382 0.0006192612105027953 -0.00022151210295319498 0 0 0 -0.0003329485989935643 +6391 0.0002844898854288527 -0.0006677858765315868 0 0 0 -9.991096357090178e-05 +6402 -0.00021554492067467376 -1.1806764900143505e-06 0 0 0 -0.0001554871267021131 +6418 0.00046843594900016216 -0.0008514131840066385 0 0 0 -8.382987074799198e-05 +6425 2.8161517022658932e-05 -0.0008117164498141062 0 0 0 -9.793369392298073e-05 +6479 -2.4143478284071804e-05 -0.0009127538580714548 0 0 0 -7.509333721146227e-05 +6487 -0.00020961119578220047 -0.00019519875412263106 0 0 0 -4.000416944443821e-05 +6492 0.000457013378247209 -0.0009896520355727242 0 0 0 0.0007438213225446853 +6535 -8.521178717158452e-05 -0.00020518346284563267 0 0 0 -0.00018537707702364592 +6563 -0.00014192810453898827 -0.0001485055500969879 0 0 0 4.6146039076383366e-05 +6601 4.840008628571189e-05 -0.001111801977312084 0 0 0 0.00014149208028255898 +6602 0.0007336303205259521 -0.00037429765911739396 0 0 0 4.708720420156984e-06 +6625 0.0005668943651789881 -0.0004194203624688251 0 0 0 4.0665439716368403e-05 +6631 0.0005841788455568303 -0.0006112187065242988 0 0 0 -0.000706483653776897 +6636 0.00017131127732560587 -0.0012818937981872737 0 0 0 -1.0190772372108007e-05 +7341 -0.0003400687923268256 -0.0010325279084384335 0 0 0 0.00028681724453218717 +6682 0.00028547368655473137 -0.00037289032130618876 0 0 0 6.060102403589958e-05 +9474 -0.00020462430293707743 -0.0011758795311238564 0 0 0 7.108085603355906e-06 +6695 0.00015786148313573302 -5.8941339751740044e-05 0 0 0 -2.328955378225797e-05 +6223 0.00016598019212873377 -0.0010093927070746705 0 0 0 -0.0002988000779677269 +6723 -0.00011915906413593867 -6.660205861647589e-05 0 0 0 -0.0002464451771721653 +6810 -0.00028192676964398006 -0.00027637047754585205 0 0 0 -0.0003194622912262513 +6863 0.00019932087461098708 -0.0007642304023697111 0 0 0 1.4749461448283924e-05 +6869 0.00038221095891125727 -0.0003918356253630494 0 0 0 0.00011116360548630574 +6879 0.0005575092164692291 -0.0005564122620098079 0 0 0 0.0009261349433147023 +6911 0.0004826991106913757 -0.0005492790578908749 0 0 0 2.8535024718285724e-05 +6914 -0.00015334705821596985 -0.00023928688629977217 0 0 0 -0.0001307146308612062 +2875 -0.0004576606186490456 -1.7730756342567333e-05 0 0 0 -0.00010066899255545945 +6958 0.0003013487535009044 -0.0006400063070210754 0 0 0 3.0070236695302588e-05 +6967 -0.0001284838391515421 -0.0001910951416471394 0 0 0 -7.172249211667349e-06 +6972 -2.7862925863615585e-05 -0.001184798460555372 0 0 0 -6.748652108765944e-05 +6973 6.0279918420217614e-05 -0.0004720474254056135 0 0 0 -0.0023248736738925428 +7048 0.00048057673277491293 -0.0008767675907925219 0 0 0 1.0257552757826565e-05 +7058 0.0009083076282900796 -0.0005948227334035713 0 0 0 4.787467626576157e-05 +7061 0.00011194449299397076 -0.0012405242174983973 0 0 0 9.281413043471412e-05 +7063 -0.0003858577027508951 -0.00011680811528372787 0 0 0 0.001287412155259256 +7069 2.523292734770986e-05 0.0001209349935773487 0 0 0 0.0003559586108588018 +7084 0.0004795337510883961 -0.0008659608745717722 0 0 0 -0.00011007827430243259 +1903 0.0003976351632628018 -0.0010841042516458977 0 0 0 -0.00015120988221658046 +8531 -0.00029181025049362035 -0.0017734023224091665 0 0 0 0.0006713100039540736 +7109 9.643645353221384e-05 -0.00013562472127978534 0 0 0 1.6504866983765857e-06 +3098 0.0003368209947507751 -0.0007057089238875762 0 0 0 -1.9343742190378618e-05 +7123 0.00012883041348024125 -0.00111397751129334 0 0 0 0.00016913626663449445 +7132 0.0008468574150060599 -0.000644734101229831 0 0 0 -5.916729936267141e-05 +4780 -6.850715034160345e-05 -0.0007311079792509992 0 0 0 -2.5293321201554066e-05 +9684 -0.00017548597148942682 4.745266004714286e-05 0 0 0 -6.826922353252484e-05 +8200 0.00021560017283345996 -0.0013984939514612835 0 0 0 -1.2864168729982666e-05 +2249 -0.000234923789620662 -0.000341120735859873 0 0 0 0.00045892024393586026 +7165 0.00037069811128313915 -0.001035585577584341 0 0 0 -0.0008713504070592533 +7172 0.0007362925242278591 -0.0005982457985004293 0 0 0 9.275372340398919e-05 +7213 0.0004514773835434072 -0.0005600922614785072 0 0 0 -1.2959943067998257e-05 +7215 0.00025867208436044196 -0.0010721874946156605 0 0 0 -0.00013138359387304162 +7217 -5.2582464422819955e-06 -8.243766596970067e-05 0 0 0 0.00021101956793227806 +7231 0.0004608758648496206 -0.0005581088153802317 0 0 0 1.1741795563146223e-05 +2676 -3.467228073815561e-05 -0.0007747421322616852 0 0 0 0.00027691398727300087 +7240 -0.0002976691311155637 -0.0020470510295436885 0 0 0 0.0005067406959143548 +11 -9.038435247316843e-05 -0.0013179727651437326 0 0 0 -2.091433278980559e-06 +7373 -2.0421261221686917e-05 -0.0008466695270282889 0 0 0 7.193338736886771e-05 +7374 -0.00026262590269427594 -0.0003720462854737229 0 0 0 -9.310292428367107e-05 +7378 -0.0015725201721773774 -0.0013287504005186888 0 0 0 -0.0010666688698355569 +7383 0.0007640706616344436 -0.00031757509541640764 0 0 0 -1.721408560627967e-05 +7400 0.0002494438052097254 -0.00015893116720196155 0 0 0 -9.084470610548615e-05 +7407 0.0004689443228087025 -0.0005432396616488305 0 0 0 1.0440441680409835e-05 +7412 0.000402530025825365 -0.0006484588346845814 0 0 0 -0.0001721878295317346 +7488 0.0006397132537519051 -0.0006822356017245874 0 0 0 6.631440131278262e-05 +7501 -0.00019183085767662892 -0.00021000493911434574 0 0 0 2.9252833610976373e-05 +7647 0.0013359005774833954 -0.0009341756694817455 0 0 0 0.0011989745750247654 +7539 0.0006790175298075373 -0.0004916834214074544 0 0 0 9.808302743915012e-05 +7569 -0.0004987769120978459 5.08506672870049e-05 0 0 0 0.0006150575497453958 +7596 -0.00018008041198478263 -0.0003391923526269753 0 0 0 9.502002962307467e-06 +7623 0.0001596534912756493 0.0007907118447056256 0 0 0 -0.0015739279335844083 +7626 0.000609983203012735 -0.0007050883304059985 0 0 0 -2.1305174300281057e-05 +7665 0.00022002455671062303 -0.000939476097096674 0 0 0 0.0001628829381656199 +7680 0.00034612572745318 -0.0006677561906443645 0 0 0 1.3124151679329397e-05 +7691 -0.0001169120358543669 -0.0010378284655664072 0 0 0 -0.00012412519189381886 +7744 0.0004382639957706631 -0.0006669092808710382 0 0 0 -0.0006818966824904151 +7752 -0.00018079969087928798 -0.0001397466096840293 0 0 0 -2.716007385037084e-06 +6779 -0.000616511368785189 -0.0013732841639106748 0 0 0 0.0003506226650539991 +7800 -6.576628926707305e-06 -8.303504463967278e-05 0 0 0 0.00025571524774998193 +7802 4.703253034421791e-05 -0.00025497966055191244 0 0 0 -0.00015669362522040516 +7829 0.0004032333839208933 -0.0004810471085839668 0 0 0 -0.0005967456589176558 +7837 0.0009627862097866942 -0.000184667227566315 0 0 0 -0.000208677040798344 +7847 0.0005241439328540383 -0.0007361602573134155 0 0 0 0.00020330406526729406 +7942 -0.0006269922279930309 0.00016385287498022443 0 0 0 0.0003123088484654 +3457 9.350682936263149e-05 -0.0007243958555374451 0 0 0 3.049549429600408e-05 +7974 0.00022488618027637652 -0.0007551605975684557 0 0 0 -8.879739889181853e-06 +7987 -0.0001293661669293339 -0.00011429026160162425 0 0 0 1.3915966528620503e-05 +8001 -0.0006382866690986069 -4.013671698634837e-05 0 0 0 0.0004169750329483615 +8015 0.00025073351691620103 -0.00024934791768530255 0 0 0 5.413252596222878e-05 +8093 0.0006108009951192876 -0.0005290892165675027 0 0 0 2.8588857323572785e-05 +2689 -0.001672724711901098 0.0006999175101309272 0 0 0 0.000317910175961839 +8123 0.00021197872203602405 -0.001088958304605479 0 0 0 0.00014009927309218138 +8137 0.0004191653842817042 -0.0005846664675996191 0 0 0 8.44500028819834e-05 +8139 0.0006475336874981561 -0.0007236326982914456 0 0 0 9.104012616829984e-06 +8147 0.00037082261288479194 -0.0007822932537555823 0 0 0 0.00017757758395240054 +8221 -1.4890793973706984e-06 -0.0008483675788606419 0 0 0 0.00012041225791557656 +8256 0.0006558175889109832 -0.00043210387624917124 0 0 0 7.64910287243342e-06 +8262 -0.00014547784241700958 -5.0409445685940144e-05 0 0 0 -0.0004168749365561063 +4106 -0.0011588471434176438 -0.0011733088517105646 0 0 0 0.0019441243764381619 +8314 -0.0005041666562864799 -0.00013379460264175444 0 0 0 0.00034790145092458057 +8320 0.00011828558345269784 -0.00010031593005618654 0 0 0 -5.868077728133228e-06 +3720 0.00028895941564033127 -0.001357497179972803 0 0 0 3.5644331675503116e-05 +8351 0.0006247650101644126 -0.0006026133567634351 0 0 0 3.1245581893943244e-05 +8406 0.00012921558108273452 -4.768642646808867e-05 0 0 0 0.0002378892054712335 +8449 -9.852763739479664e-06 -2.1534246851347194e-06 0 0 0 -0.00017474241656015074 +8519 -0.0004640920305002442 -0.00020354763384102702 0 0 0 -0.0004828002384151029 +8526 -5.453681882326371e-05 -3.0278933097005902e-05 0 0 0 -3.199954391547681e-05 +8532 0.0005717160733134928 -0.0007451570294404285 0 0 0 1.021210861536271e-05 +8548 0.0001707598085145927 -0.00037255331343117795 0 0 0 -0.00025180391791116227 +9512 0.00034898141940497424 -0.0006698612381230805 0 0 0 -2.092080605382747e-05 +8557 -0.00018912495701800262 -0.0012633766404222238 0 0 0 0.0003415923233304881 +8568 6.665950558623434e-05 -0.00017594299350428053 0 0 0 -9.541418232966636e-06 +3900 0.0001759528635215875 -0.0009920128918701212 0 0 0 -0.0003751603220302099 +8587 -1.6219811067217147e-05 -8.890499950798929e-05 0 0 0 -5.327407194459772e-05 +3459 -0.0009041675550302666 0.0007082672228565118 0 0 0 0.0005517284088959413 +8620 0.0003289526013168252 -0.0008072091004967146 0 0 0 0.0014615834583985984 +8633 0.0006192212982319608 -0.0004906634879569958 0 0 0 9.470581301569453e-05 +8670 6.485721653918279e-05 -0.0006845280425914782 0 0 0 -0.0006962612459762997 +8702 -0.0005602911626613478 -2.1995931691728862e-05 0 0 0 0.0010526912355034532 +8709 0.0002693658295408089 -0.0009636415823983273 0 0 0 1.820717363096377e-05 +8713 0.0003592119288000852 -0.0005569584938864615 0 0 0 0.00016511680236617676 +8110 -0.0004800053301493455 0.000135068024337686 0 0 0 0.000458182700612031 +8744 -2.695294605866206e-05 -0.0010318306169010468 0 0 0 0.0002998520036364542 +8756 0.000690960388502337 -0.0004001513682225554 0 0 0 0.00014958644636498594 +8801 0.0005410292312593856 -0.0005483587342410614 0 0 0 5.8344580439977796e-05 +8830 0.0004951378670210356 -0.00041064388974990974 0 0 0 0.0001895100071982413 +8831 0.00048219241326514367 -0.0008148908174158999 0 0 0 0.00020599032856831684 +8837 0.00021721097013232822 -0.00038556563113076867 0 0 0 1.856927414386821e-05 +8841 0.0003248680261619078 -0.0012505398735296416 0 0 0 -0.0006410894336761593 +8872 0.0007292011568599244 -0.0001466562399649295 0 0 0 0.00023509989576634414 +8884 0.00011907901807417082 -0.00115396946485163 0 0 0 0.00020061953712244995 +8896 0.0006622417248000012 -0.00025106589561385074 0 0 0 0.0003068789113318379 +8908 0.0013664242987234659 0.0007784833167072463 0 0 0 -0.00017343458285022466 +9703 -0.0005347003598895267 0.0033376153205626757 0 0 0 0.0005089049838362685 +8937 0.0004177504433372597 -0.00029698057672689835 0 0 0 0.00010252118802001052 +8953 0.00014872730535897877 -0.0006976027086493002 0 0 0 -0.00013806863366831065 +8975 0.0010383658125319183 -0.0002483475689756771 0 0 0 -0.00026802399069999843 +9010 7.685371022975751e-05 -0.0011487470613060927 0 0 0 0.00032008336831245495 +9114 0.0016056438700532173 -0.0025737572061481266 0 0 0 -0.0024765680523446843 +5950 0.0003736487197177189 -0.0006828438584978096 0 0 0 2.965122331947028e-05 +9167 0.0001548097796491405 -0.000665425817558507 0 0 0 0.0001077372200707743 +9169 0.00015626969833438837 -0.0009953984920258471 0 0 0 0.00024831223072493936 +9171 0.0007056853388546205 -0.0006170084127884779 0 0 0 7.779504823771342e-05 +9186 0.00010653817058043003 -0.0006144695655769726 0 0 0 8.526010297995759e-05 +9196 -0.00027860923581100237 -0.0003048333255298445 0 0 0 0.0007128102507746343 +9197 -6.024859249976838e-06 -0.0011225474506580421 0 0 0 -0.0006203773239390008 +9213 -3.660014722820472e-05 -0.0009710830582556631 0 0 0 -3.155697219773987e-05 +9219 0.00032047826375178513 -0.0007390860927097465 0 0 0 -6.622640515579181e-05 +9239 0.00019825809074663765 -0.0007740755363627962 0 0 0 -6.707177216086782e-06 +3281 -0.00023195067718855176 -0.0009799454803529597 0 0 0 0.00031616491325502766 +9290 0.0001932292968480676 -0.0006856885977763137 0 0 0 0.0001457373451271565 +9327 0.00035467934478326677 -0.0006321941871155847 0 0 0 0.00010743189973958784 +9334 0.0006271148644685587 -0.0007207302735720795 0 0 0 4.5019789149525224e-05 +9369 -9.124679605232371e-06 -9.933103584195872e-05 0 0 0 9.846680388956231e-05 +9371 0.0005986017266941914 -0.0007361126039516843 0 0 0 -8.596580458010435e-06 +9376 0.00037983357753004304 -0.0004417877203276145 0 0 0 -0.0002856402557673105 +9406 0.00013190691746902447 -0.0008298891618483395 0 0 0 -0.00035325410892725903 +9467 0.0006801645272846414 -0.00047228279248107927 0 0 0 6.0863371725992405e-06 +9510 1.1682129539522266e-05 -0.0002211300878960564 0 0 0 -2.8009499237969286e-05 +9511 0.0006076883121892567 -0.0005276172417953154 0 0 0 2.082068170563514e-05 +9527 0.000425785728753985 -0.0009157730832427511 0 0 0 -8.663388067175759e-05 +9546 0.0014330645545780549 -0.000201463462963558 0 0 0 -0.0016470679407895096 +9554 0.00026341965249497334 -0.0009058528378131982 0 0 0 6.335525613120525e-05 +9567 0.0004386993557447846 6.018105312071334e-05 0 0 0 5.903473890058058e-05 +9574 0.0006919456102582473 -0.0005185255188055428 0 0 0 7.732671387846151e-05 +9579 0.0005043883266911921 -0.000847842258208296 0 0 0 -6.316899952073696e-05 +9591 -0.00034791822220944796 -4.937580834098738e-05 0 0 0 0.0008885894485503491 +9607 5.837701159559668e-05 -0.0007816979444879926 0 0 0 -9.56578215775871e-05 +9616 0.0008182618024157697 -0.0006174100836960933 0 0 0 0.0001079941380643491 +9622 0.0003288876107725601 -0.0008854071409168368 0 0 0 3.0438502892023792e-06 +3784 -0.0006135456173324806 7.78567485732249e-05 0 0 0 -3.854739307404949e-05 +9633 0.0009061689605953042 -0.001116907275166477 0 0 0 -0.0005831046325310604 +9653 -0.0009184618900015388 0.0005413798515247679 0 0 0 0.0006133580610647802 +9898 0.0008182120715223371 -0.0002923424235750095 0 0 0 -1.3852696537043306e-05 +9736 3.4744776614060313e-06 -0.0010041143679939042 0 0 0 0.00036753910462144584 +9764 0.00047652102069303435 -0.0005340922428466696 0 0 0 -6.768100273948059e-05 +9776 0.00039608418969093743 -0.0005746597448890022 0 0 0 -0.00012150920202956019 +9778 0.0009428088679116898 -0.00017094327370708554 0 0 0 0.00035641223907706697 +9785 0.00029760042024770125 -0.0009209227816195258 0 0 0 0.00017578110187528223 +4413 -4.4587430550099044e-05 -0.001235157805647073 0 0 0 -0.000119144821003564 +9821 0.0007857606929861149 -0.0003059013291027206 0 0 0 2.8828242523704545e-05 +9910 0.0007376559100085991 -0.00042733613552854314 0 0 0 6.231632439500656e-05 +9868 0.0004487934254243159 -0.0007286762839125285 0 0 0 0.000113914324458573 +1486 -4.0732074747340766e-05 -0.0007693017517439706 0 0 0 5.5967857380476594e-05 +9900 0.0004605621694920426 -0.0008399219478045573 0 0 0 -6.630206060477332e-05 +9902 0.0007431354408540369 -0.0003675882788918504 0 0 0 2.7802977364876235e-05 +6747 -0.0002024330563489079 3.51499910130313e-05 0 0 0 6.725139822034789e-05 +2152 0.0003938217524825433 -0.00016612062300816759 0 0 0 8.668083828069622e-05 +4616 0.001068460575283102 0.00013298684678497453 0 0 0 0.00014868734632783405 +5336 -0.0003313071897994924 5.657425894654591e-05 0 0 0 0.00033575424630252065 +14 -0.0005999712514464084 6.126092369400741e-05 0 0 0 -3.082779739777475e-05 +43 -0.00030705769307776744 -0.0005945517131585085 0 0 0 7.578664638769965e-05 +55 0.0003212304926659146 6.292804114491781e-05 0 0 0 -1.9790578618988377e-05 +81 0.0004689296010151903 5.065367870692698e-05 0 0 0 3.79555221040008e-05 +114 -2.162496511969252e-05 -0.0014070446626764524 0 0 0 -2.9603251047407793e-06 +156 0.0004147172281201167 0.0004676260740621309 0 0 0 -7.0710834097567225e-06 +161 -0.0003845536354778601 0.00018289641376512328 0 0 0 -1.330762020464716e-06 +215 -0.000929922478181104 2.4247247513213426e-05 0 0 0 6.321475975462528e-06 +8711 -0.0004728285222502341 0.0002495018127806364 0 0 0 -9.450943536104287e-06 +230 0.00034140919364747786 0.0002089147245597934 0 0 0 -9.300930361913468e-06 +240 -0.00016650727266399068 -0.00010708427238803988 0 0 0 -2.8148967112441945e-06 +280 -0.00011154311943562156 -0.0006553359301118349 0 0 0 0.0001882036292230399 +290 0.00043583131206510826 0.000299035104631588 0 0 0 -7.361728715886265e-06 +306 0.0004448580861511666 -0.001284629998210149 0 0 0 -7.255338933705636e-05 +319 -0.0002569309991953489 0.0001496196801049657 0 0 0 4.174566454777728e-06 +334 9.79321631028675e-05 -0.001516879634454235 0 0 0 -7.215896287782848e-05 +337 0.0008039664981179189 -0.0011850588499366906 0 0 0 -8.827987086219362e-05 +9268 0.0002785233836845049 -0.0008328935255107757 0 0 0 -0.000259659405107662 +366 -0.0007525940665984029 -3.38211534775519e-05 0 0 0 1.5850650168742645e-05 +376 -0.00021379849662839167 -0.0008583802864308661 0 0 0 -0.00034328754496300106 +409 0.001053943186142731 -0.0002701099282134517 0 0 0 -0.00029302369713722393 +481 0.0001330812627003759 -0.0012917749299459266 0 0 0 -2.5091056150712258e-05 +490 0.00016573753905503618 -0.0012852003860052727 0 0 0 -2.6486814807657933e-05 +3288 0.00031955000916493513 -0.0011242436671455413 0 0 0 0.0001359590789500255 +9059 0.0004442118156933823 -0.0010967433679620595 0 0 0 -3.949097251333221e-05 +580 -0.00026838104953333554 0.00013642269937205813 0 0 0 -0.00010014296078227613 +589 -0.0006315428089795017 0.0003469276347477757 0 0 0 2.5572314436759577e-05 +618 -0.00011880947187019977 -4.227252832373328e-05 0 0 0 1.0450505412942083e-05 +623 -0.0004656453365396823 -6.606178658065279e-05 0 0 0 8.671839499182837e-05 +4251 -5.800776396053033e-05 -0.00136497493432926 0 0 0 -2.3537557915192213e-05 +659 0.00041506880752091287 0.00018124120217159013 0 0 0 -2.2094509025923373e-05 +668 -0.0002475542600492791 -0.0009244201224468868 0 0 0 0.0007086905019496912 +677 0.00018672161075460161 0.0003064788909957728 0 0 0 0.00010459545554521914 +8964 0.0003823850770210118 0.0001440822984366908 0 0 0 5.086748259963345e-05 +7776 -0.00048567650082378743 -0.001066781410644293 0 0 0 -0.00021123424061529822 +813 0.00023141875852750407 -0.0011788420955107372 0 0 0 -1.3606282244192214e-05 +846 -0.0007673312997540377 -0.00026216332834119277 0 0 0 0.00011009413226471462 +849 0.0009458956455023254 -0.0019994448745292185 0 0 0 -0.00013575386393510524 +856 -0.0007360577272161906 -4.1379451400294617e-05 0 0 0 -6.088142042367865e-06 +905 -0.00019860890471862464 0.00010544553073871577 0 0 0 -4.150110201509316e-05 +2780 -0.00019968978825595253 -0.0014714550424001003 0 0 0 7.939161238064942e-05 +1009 0.0005219509017072563 0.0003013163737149629 0 0 0 9.238167207474345e-05 +1060 0.0005447228715125595 3.908203938513917e-05 0 0 0 -4.264111363253981e-06 +1062 -9.674679102169007e-05 -0.001459872265478608 0 0 0 -1.1572294839538867e-05 +1072 -0.0003659566188398652 -2.2024557589344676e-05 0 0 0 5.630283741668126e-05 +1076 -0.0008088340463886122 4.478104865195921e-05 0 0 0 0.0001804350735234325 +1105 -0.00038047586826101226 -0.00013138620813862457 0 0 0 -1.0928359013141494e-05 +1138 -0.00026057726118925025 -9.968494469519257e-05 0 0 0 0.0001154597317389587 +3933 0.00020764817640627907 -0.0012048228334447947 0 0 0 -0.0003833770416461846 +1151 -3.7763533655566356e-05 -0.001341266086331739 0 0 0 -3.5490517129328766e-05 +1219 4.878343866093782e-05 -0.0008570794482176927 0 0 0 -0.0009392969489727214 +1220 -2.1083984686294893e-05 -6.826380282160304e-05 0 0 0 6.915025184403532e-06 +7463 0.0004319961886389375 -0.0011048952478087345 0 0 0 0.0002093057819638723 +1236 -0.000794472268702711 -0.0006741028906151823 0 0 0 -6.975972094674826e-05 +1247 0.00030515034874426563 -0.0011621959970505983 0 0 0 -2.2868688210802398e-05 +1254 0.00033182353158527615 0.00023331187083130923 0 0 0 -3.586716246570949e-05 +1257 -2.432326590982623e-05 4.862524808920233e-06 0 0 0 -8.126959876890814e-05 +1319 -0.0003432205854573532 -0.0014302059363025862 0 0 0 3.159378269412498e-05 +1328 -0.0005628010639950581 -0.0007180977685435478 0 0 0 -0.00012167549056280312 +9937 7.388963665467955e-06 -0.0013732836347176848 0 0 0 0.00011336335865167748 +1368 0.00045367620937305527 0.0004638371169330856 0 0 0 -0.00011384251166747702 +1398 -0.0006773257792101178 -3.196519860938078e-05 0 0 0 -1.200030827052943e-05 +1423 0.0008489304299707569 -0.00030267728591236887 0 0 0 0.00039034154645097827 +1431 -0.00025940308236232124 -0.00012721835820157153 0 0 0 -4.194803222524355e-05 +1462 -0.0004543411573950765 0.00027120230339975124 0 0 0 2.216580613134813e-05 +1481 -6.40534936481887e-05 0.000649642219264395 0 0 0 6.846151226135018e-05 +1528 -0.0005431287602032699 0.0002451632045939748 0 0 0 7.430293585236507e-05 +1529 0.0005095587860345248 -0.001558635145882206 0 0 0 -0.00021190436700762466 +1533 0.0001723208601263644 6.30255377154711e-05 0 0 0 -5.8201068475760815e-05 +1541 -0.00021398154648508496 -0.0008455519952915687 0 0 0 0.0008643529712122223 +1549 -0.00024172583072600853 0.00010465232979773688 0 0 0 5.404841413264577e-06 +1567 0.00012289314286519366 5.0319516596107834e-05 0 0 0 -3.8703821757676776e-05 +1608 -1.921344314918697e-05 7.005635370979174e-07 0 0 0 -6.688220133057244e-05 +1618 -0.00039014582085119615 0.0002914670742614377 0 0 0 7.175756615914676e-05 +1631 -0.0005469621073903367 0.00018630372355123555 0 0 0 7.062690281072131e-07 +1662 1.1046592812789499e-05 0.0005296939338245515 0 0 0 -0.00025724982106708236 +1663 0.0004729804577493581 0.0003278040416075125 0 0 0 1.7326690594290595e-05 +1678 -6.746473738247858e-05 -0.0006298948969084269 0 0 0 -0.00031135103793729677 +1703 -3.842921857462246e-05 -0.0015357274807703781 0 0 0 0.00010106153098510444 +1717 -0.0003361598570314439 0.00016513521162255228 0 0 0 1.610049437790641e-05 +1736 -0.0001404849818069015 -1.3239927039143312e-05 0 0 0 5.240728650425034e-05 +1742 -0.0005093111107718992 -2.3006257458341494e-05 0 0 0 1.4654788313740243e-05 +1745 0.00027956307821712335 0.0002178324957744208 0 0 0 1.4069330209010655e-05 +1749 -0.0001474094356321331 -0.00035776197022904896 0 0 0 0.000534147018664189 +2471 0.0005380123691339797 4.516061607543958e-05 0 0 0 -0.000185772989329585 +9131 -0.00047113559073173856 0.00021070051743469416 0 0 0 8.789678232530899e-05 +1809 -0.0010438128990311129 -9.517188758150908e-05 0 0 0 -0.00470394556099684 +1822 -0.0008635364227655176 4.4193596124666715e-05 0 0 0 6.6390440341868e-05 +1834 -0.0005204416831741136 0.0002678674466239635 0 0 0 -0.00010606105990676005 +948 -0.0002953283998565622 -0.0014532273285103115 0 0 0 -2.864855855036524e-05 +1869 0.0009052717582339127 -0.0015390506601423138 0 0 0 -0.00014751944356308102 +2862 -0.00037425810803370056 0.00027190994569316676 0 0 0 -6.617923014981441e-07 +8601 0.00013862735873575077 -0.0011883972275443463 0 0 0 9.435082023503799e-05 +1914 0.00014754185668064407 -0.00068172475773781 0 0 0 0.0012602633667330636 +9254 0.0006686975807455634 5.3396507209029e-05 0 0 0 0.00015364991998908907 +9391 0.0005153347954303619 5.913419075458697e-05 0 0 0 2.1079022177118915e-05 +1964 -0.0007485666912700324 9.242082996032004e-06 0 0 0 5.955350175822742e-05 +1983 -0.0006209901078609232 0.00036283847616909605 0 0 0 0.00019497974177037298 +1995 -0.0005048522705725975 0.0002432249619449196 0 0 0 -1.4860469429967637e-05 +2001 -0.00045886622854513675 -0.00012064541138405653 0 0 0 6.061178359553495e-05 +2021 -0.0006769678228205478 -0.00016230542324679494 0 0 0 0.00011525668689236286 +2022 7.0101749937351505e-06 -0.0013949296010347682 0 0 0 -3.2054251750293946e-05 +7651 -0.0004437491379067131 -6.165782385738281e-05 0 0 0 -0.000980746665724819 +2024 -0.00012977138588757503 -1.866956377272041e-05 0 0 0 1.3855845057030122e-05 +9506 -0.0006618652031199652 -0.0007942832266737181 0 0 0 0.00026134670528294124 +2040 0.00036583417994826 0.00016552265902216977 0 0 0 -1.2579935905522338e-05 +8300 -8.180000482230329e-05 -0.0014017744759043113 0 0 0 4.284551040663709e-05 +2060 -0.0011404262150611463 -0.0002148898652918023 0 0 0 0.0005995513442954895 +8979 -0.00037761897832798343 -2.03058503756391e-05 0 0 0 0.00014301609552988325 +2127 0.00010627662881317198 -0.0013050349931581235 0 0 0 -4.5925057985150405e-05 +2131 -0.00020762347860224414 -0.0001162529297930963 0 0 0 -2.828980303663132e-05 +2155 -0.0006683955900317111 2.0560956093178332e-05 0 0 0 6.7029781812794e-05 +2157 0.00029941037218768536 0.00024143063869983656 0 0 0 -1.1156260051207108e-05 +2160 0.00024715038970621333 0.0016690911118552045 0 0 0 0.0018347145103869938 +2169 0.000379571576611988 0.0003240203101761685 0 0 0 -5.219005724880805e-05 +2171 -7.136364157086119e-05 -0.0014303467068529088 0 0 0 7.560748080039355e-06 +9025 -0.0004169464240705988 0.0002419126652362453 0 0 0 -1.0772542801808409e-05 +9851 -0.0006706531609513308 -3.2051091497622255e-06 0 0 0 -0.0001713678581322167 +2221 -0.0005979637522759018 6.316698319202894e-05 0 0 0 0.00037538488361639607 +8919 0.00045040097890546125 0.00027873024189734984 0 0 0 9.291902716695934e-05 +2259 -0.0003659743674027849 0.0002044352897411139 0 0 0 -2.0453384900606415e-05 +2284 -9.428182339895461e-05 -0.0008260851975735415 0 0 0 -0.00020144305700387343 +9385 -0.0009080590057073564 -9.955471240098108e-06 0 0 0 7.210388263614681e-05 +2299 0.0006716529285667323 0.0002808310528887581 0 0 0 -0.00013878431015244627 +9905 -0.0003129140837284434 0.0001540248458903522 0 0 0 -3.6440416549816196e-05 +2328 7.08989584708221e-05 -0.0013184071201011451 0 0 0 -1.981521766889396e-05 +2357 -0.0005746592480198838 -0.0010598066363015919 0 0 0 -1.77294297921945e-05 +8787 0.0007902627326969007 -0.0009363890428767804 0 0 0 -0.0007994669041411891 +2392 1.9062212905848453e-05 -0.001378251684168775 0 0 0 -8.343289118557756e-05 +2420 -0.0006062907286933886 5.444497170040724e-05 0 0 0 0.00043656395848689885 +2445 -0.00043677375684826115 0.0002467095753563954 0 0 0 7.348230286629758e-05 +2452 0.00030947185885144576 -0.001090835176473561 0 0 0 -8.323842023225972e-05 +8700 -9.330920696268856e-05 -0.0001261816477330199 0 0 0 -6.289696683365413e-05 +2496 0.0006736077879999379 -1.7962558257335028e-05 0 0 0 0.0002826703636244762 +2497 -0.00025574094375376255 0.00018445622358509892 0 0 0 -2.4030041844277824e-05 +2500 2.79710708839377e-06 -0.0013995715913173756 0 0 0 2.3863205380076913e-05 +2524 -0.0007872792394311435 0.00011218563395225744 0 0 0 -4.7671606281948284e-07 +2543 -0.00038396279231489426 0.00039318910612932436 0 0 0 0.00014737298573441705 +2553 0.00019220887026200032 -0.001209175848046999 0 0 0 4.3616579164265067e-05 +2638 -0.0001243474876467222 -0.0012329137135295664 0 0 0 0.0001401090320263407 +2660 -1.1912128356667374e-05 -0.0007832501898729373 0 0 0 -0.00012116320156251727 +9592 -0.00011514956893450251 -5.172641019046005e-05 0 0 0 -0.0001012673968418505 +2684 -0.00029816964639708444 0.00015909247002691377 0 0 0 -2.1199707275569913e-05 +9487 -0.00011904131500557088 0.0006414389684560458 0 0 0 4.850365292291519e-05 +2695 -0.0005360224146801414 0.0005315689113248443 0 0 0 -3.02599637234766e-05 +2711 -5.721335005240559e-05 -0.0007365428070193406 0 0 0 0.0003709761517931233 +2762 -0.0013572910007319944 8.313469506361766e-05 0 0 0 -0.0001594058776802531 +2769 0.00023661995916050707 0.00020615266292458727 0 0 0 -6.911042723460945e-05 +8655 -0.0013210300587542065 6.262354454116242e-05 0 0 0 -0.0002216621050356058 +2787 -7.95712409158649e-05 -2.9986441399219493e-05 0 0 0 -7.204615513064959e-05 +2788 0.00031171940704912505 0.00040234854127355876 0 0 0 -1.3957261457732277e-05 +9326 0.0006055490846598965 -0.0008916171155124982 0 0 0 -0.0002386856790324339 +9505 0.00039161290041533285 0.00018171763085620896 0 0 0 1.8724369724702804e-05 +2827 0.0011254338271096502 -0.0016808884416258621 0 0 0 -2.5812150380963646e-05 +2859 -0.00047523476252139785 -0.001122758713566441 0 0 0 -0.00041739774714253243 +2898 0.00047921763268538465 0.0003787729378151073 0 0 0 2.0691289685377844e-05 +2911 0.0009231028374393618 -0.0020870487194468213 0 0 0 -3.424732181127701e-05 +2950 -0.0006054449720674738 5.140200142816456e-05 0 0 0 0.0004798164279071133 +2952 0.0004604455045010667 0.00017792487010310498 0 0 0 -1.750063154676043e-05 +2958 0.00010334024411324406 -0.0012999560985226353 0 0 0 -6.502313556273692e-07 +3005 -0.0005214645335763891 0.0005607789487690069 0 0 0 -2.520243440681102e-05 +3057 0.00039192947849949904 0.0002598274473813705 0 0 0 -3.8288952793977766e-05 +3103 -0.0007968979542766065 7.831098970231945e-05 0 0 0 0.00014298539882858774 +3119 -0.0010011557733105372 -0.0006119531459774825 0 0 0 0.00019037827346982542 +3194 -0.00027850769070607095 0.0004697811441188031 0 0 0 -0.00013352130475645244 +3210 -0.0006247592366427376 4.4942189136612626e-05 0 0 0 0.00022116362796822508 +9211 0.00028230073635562896 0.00016036209163140965 0 0 0 0.0005426372018778661 +7260 0.0001929325029634341 -0.00131802375168995 0 0 0 0.0003420005858545716 +3329 7.939638435159001e-05 -0.0012940351803721595 0 0 0 3.2504260961127406e-06 +3338 0.0004431254222389796 0.0003827721928046487 0 0 0 1.2673344461412458e-05 +6988 2.235516963232336e-05 -0.0014451075330795017 0 0 0 -0.000836343165263416 +3394 -0.000743563695171701 -0.00108043257714553 0 0 0 0.00010930630266720736 +3404 0.00031164724865409245 -0.0008392249828626907 0 0 0 0.0008925238062889033 +3437 -0.00046686156205002013 -0.00011939291762932882 0 0 0 -0.00011601357226418212 +9849 -0.0001480147757684866 -9.391491499479969e-05 0 0 0 -5.366816626982595e-05 +3460 0.0005901711701172066 0.00019381870708624633 0 0 0 -5.419902568181711e-05 +9926 -0.0001673933162408693 -5.528363229478625e-05 0 0 0 -7.6023604457023e-05 +3484 0.00027528036179524083 -0.0011841023887145061 0 0 0 1.6834503130412104e-05 +3514 -0.000670527570808134 -7.506650188709524e-05 0 0 0 6.474140821495873e-05 +3530 -6.513532609364378e-05 0.0007859094914336689 0 0 0 -6.122163053284093e-05 +5472 0.0003501639525111949 0.00024341750989492715 0 0 0 -1.1304105209194644e-05 +3580 -0.00035826612912028937 9.409063352755049e-05 0 0 0 5.123167802739276e-05 +9126 0.0001681199507736716 -0.0012890723010257558 0 0 0 7.633391320687446e-05 +3650 -3.695950038297492e-05 0.00038075134086036085 0 0 0 -7.07322188323525e-05 +7158 -4.42620490994474e-05 -0.0013486423180577608 0 0 0 -1.4576790221292345e-05 +3668 -1.8806931305104265e-05 -0.0013986524343723645 0 0 0 -2.840229830001024e-05 +9739 0.0009535140219980949 -0.001553814946890919 0 0 0 -0.00014080928051602394 +3725 0.0008509977187822185 1.1762500463346017e-05 0 0 0 -0.0005358184786341357 +3736 6.547323853541794e-05 -0.0014157419638830514 0 0 0 -6.225156601640737e-05 +4340 0.000229526076990295 -0.0011777275931269082 0 0 0 1.9065120839608697e-06 +7119 -0.0001704452387770124 -0.0013620486240450084 0 0 0 0.0001340944772377978 +3786 -0.00022125261525183493 -0.00010358581955378938 0 0 0 4.705897881061994e-05 +3837 0.0008134313293681254 -0.0003061187888913554 0 0 0 0.0009539481961574509 +3867 -0.00040618189795029835 0.00019165232654826705 0 0 0 4.445418748272047e-05 +3898 -0.00021526540369255743 0.00043372686426391076 0 0 0 -0.0006616156498972576 +9428 -0.000336351284822687 0.00017315827822051997 0 0 0 -2.0038305210338618e-05 +3920 -0.0009902374719429456 9.843841483799571e-05 0 0 0 0.000214968417015287 +9130 0.00024945370768447673 -0.001200195980799429 0 0 0 0.00010586123990756234 +3960 7.240753245087382e-05 -0.0014014098430089998 0 0 0 -3.269623110499285e-05 +3964 -0.0004396330101580603 -0.001019954324048108 0 0 0 4.226306290615831e-06 +3972 -0.0005387109646958915 0.00046391193405998687 0 0 0 5.021489834117528e-05 +3984 0.0006466409414537851 -3.926592351520645e-05 0 0 0 0.0005032964898375391 +4029 -0.0006571249215492368 6.350702182491629e-05 0 0 0 0.0003109047352408911 +4068 0.00023046227832893077 -0.0011218406925894119 0 0 0 0.0010759945604926259 +4093 0.000456291482925107 -0.0011900363919541154 0 0 0 0.00016866058580477763 +9361 0.00014342547500275065 -0.001378072482897182 0 0 0 -4.710657360784544e-05 +4154 -0.0002793992263733292 -0.0014097372012665196 0 0 0 9.33843499264058e-05 +4171 0.0006588950056961715 -0.0009535681383127981 0 0 0 -0.0001487849698423744 +4172 -0.000539980233975636 0.00019841276229646897 0 0 0 0.00017514002609758845 +4205 -2.894193549653681e-05 -0.0013583877861796203 0 0 0 7.450394291244532e-06 +4232 -0.00013170526566954504 -0.0009899900339148848 0 0 0 8.525498721101468e-05 +4240 -0.0004558771813562639 0.0002452548629732819 0 0 0 1.1106038990937014e-05 +4258 0.00018875102960839616 -0.0014049824138657 0 0 0 -8.48916642484932e-06 +4339 -0.0007087756731967175 -3.5726046531220584e-05 0 0 0 9.872646790793987e-05 +8736 -0.0005517128931325678 0.0001252215830845341 0 0 0 -5.608341237856653e-05 +4364 0.0001307951462720351 0.0006378901638419876 0 0 0 6.039692998594219e-05 +4373 -0.0003109081898304988 -0.00014479752293441187 0 0 0 5.4958542532827215e-05 +4374 0.0002276680631994167 -0.0012044059962742837 0 0 0 -0.00014524880550615348 +4424 0.0007821282901563041 -0.0011596487421548056 0 0 0 0.00040815529374006737 +4430 0.0005320212281015982 0.0003483333573498869 0 0 0 5.198712514277809e-05 +4437 0.0004990003200114765 -0.001055775351600329 0 0 0 -8.352385913402741e-05 +4453 -0.0005140390406153714 6.706225737627504e-05 0 0 0 -0.0003048243533285524 +9985 -0.0009303793927142173 0.0001539624619049229 0 0 0 2.229467476625723e-05 +4499 0.0002823868776908059 0.0002112228304724478 0 0 0 -0.00024720023536404845 +6871 0.0003217183908910828 -0.0011639852568306652 0 0 0 -0.0002941520796166141 +4513 -0.0008619578418830495 -1.076038984022276e-05 0 0 0 -2.0254209102046624e-05 +9769 -0.0004102380129310326 0.0001530323315924361 0 0 0 4.048387948101978e-06 +4568 -0.00019450633818633101 0.00011017398994221265 0 0 0 5.406132725183118e-05 +4577 -0.00025301400076306634 0.0001347390647519019 0 0 0 -7.498717872502752e-06 +4595 0.0001326090961411547 0.0007766164451265526 0 0 0 0.00019130324134013292 +4630 -0.0001099178521031011 0.00035240320082977294 0 0 0 -7.683242606398323e-05 +4633 -0.0005014847427267017 0.0002536685889447424 0 0 0 -2.3930134418238248e-05 +4644 -0.0009594699546449603 -2.2696248042231273e-05 0 0 0 -1.5378119844591818e-05 +4647 -6.573716112247856e-05 -0.00011070937704493069 0 0 0 3.282584962142889e-05 +4654 -0.00017257006728089625 -0.0005251409000036824 0 0 0 0.0008493340150045999 +4667 -0.00048497651672076267 0.0002610151045372694 0 0 0 -2.259436718019058e-05 +4680 -3.0440610122659192e-05 -0.0013488889250437086 0 0 0 -3.24163284568839e-05 +4713 0.00038263942724467805 -0.0011631970283439482 0 0 0 -0.00011375846407348971 +4724 0.0003701042809550862 -0.0013627075083536273 0 0 0 1.0219247927598543e-05 +4767 -0.001243927214956453 -2.105623716321707e-06 0 0 0 -0.0004578625077526583 +4771 0.00038207414549356353 0.00013992282864251553 0 0 0 -2.901521172718469e-05 +9250 -0.0002739981579878956 0.00018078945600754072 0 0 0 -6.150629385858914e-05 +4790 -0.00017603880449996816 -0.00010197563683645064 0 0 0 1.2034614144436863e-05 +4793 -0.0004995162699328904 0.000294452276103472 0 0 0 8.686106696319842e-05 +4799 -0.000677773297736938 -0.001013388091955461 0 0 0 -8.367096817544166e-05 +4823 -0.0007751988247873985 3.887377125355921e-06 0 0 0 -0.00010039791444574746 +4847 0.0005202962876448361 -0.0008903726537766817 0 0 0 -0.00022327717851112713 +5892 0.00038593803466128497 0.0002458147196209394 0 0 0 -5.9659385773281306e-05 +4861 0.000390895525920153 0.0003966066721058776 0 0 0 9.14367254071241e-05 +4888 -6.740186939960748e-05 -0.0007446347864957606 0 0 0 0.001939996394574944 +4948 0.0006111558122146885 0.00014842661257558846 0 0 0 2.7543303553223607e-05 +4955 -0.00023328479504829082 -0.000139116920726194 0 0 0 -0.00036078173051576904 +4967 -0.000295137993873982 -5.7790285406524735e-05 0 0 0 -0.00011256949182391452 +9006 -0.00010089390969709308 -0.0012765513728379334 0 0 0 -0.0022100610035798774 +4983 -0.0001557932032388699 -0.0001182875578946495 0 0 0 -4.6520719754569796e-05 +4991 -0.00027256049375715694 0.00019926549870188885 0 0 0 5.7413747253566954e-05 +5071 -7.840493773478149e-06 -0.0014268474893176057 0 0 0 -2.3626105997925986e-05 +5072 -5.336581389387774e-05 -2.542756291407121e-05 0 0 0 5.27671784924698e-05 +6858 0.00022657816647886085 -0.0010913013382605888 0 0 0 0.00048666572086499774 +5103 -0.00036446823151650487 -0.0007931312418434317 0 0 0 0.0016038520345582055 +5134 -0.0005650536032274464 -8.40997037568703e-05 0 0 0 4.0008407564942645e-05 +5139 -0.000820935675529126 9.075296381340726e-06 0 0 0 -0.00010772983145540081 +8168 0.00046653548756973797 -0.0008885150664977203 0 0 0 0.0007058945962002847 +5195 -1.834471265824911e-06 0.0006381500597963513 0 0 0 9.36131224442001e-05 +5205 -0.0010135332870366436 -4.6992317180680585e-05 0 0 0 -4.1240513295818574e-05 +5218 0.00033934104248656055 -0.0006760908622070378 0 0 0 -0.00022708829574694952 +5222 -2.9845956448538875e-05 -0.001349510358305168 0 0 0 -9.767099704792792e-06 +6629 0.00031965618762348655 -0.001232550296708837 0 0 0 0.00019425942478305775 +5238 -0.0006468664035308527 0.00011016517566500906 0 0 0 -0.00036241974816789477 +5240 -0.0003913303820133468 0.0007418196540233319 0 0 0 -0.0008707742185097313 +5272 -0.0004695514201593224 0.00023908625085665338 0 0 0 3.7946615329076327e-06 +5281 -0.0005292609425556511 0.0002772804640430722 0 0 0 7.44742938861953e-06 +5322 -0.0007008985403314742 -0.0007312704057458944 0 0 0 0.001111864243852821 +1806 0.0002706053862187728 -0.0010790884829764878 0 0 0 -0.000275282612964031 +5350 -0.0007756414316946631 2.520442227450917e-05 0 0 0 6.760125459767319e-05 +5360 -0.00033798948010324223 -0.001055832300291763 0 0 0 -0.0002363849048104219 +5362 0.00042918557374267805 -0.0011564077897327878 0 0 0 -1.1004685221575168e-05 +5381 -0.0006052754142405881 -0.0007258477149667336 0 0 0 -4.903975382654669e-05 +5384 0.00033170620714791256 -0.0011481096648605514 0 0 0 -4.836425949779394e-05 +5424 0.0006328609552759987 4.799647326568831e-05 0 0 0 0.00022689022732146646 +5458 0.0004620375674027667 0.00044140905497199606 0 0 0 8.583774156587157e-05 +5466 0.0005081789151407419 -0.0010601760111137064 0 0 0 -4.003805045639954e-05 +5483 -0.00033996471807812805 -0.0014139002074705551 0 0 0 3.537114272311777e-05 +5533 -0.0006584071007521976 -0.0005881441724245965 0 0 0 0.00016929273886615788 +5548 0.00014917897429578023 0.00023611972049546648 0 0 0 -0.00014873802344812336 +5559 -3.607974713832962e-06 -0.001360173596062953 0 0 0 -5.2406798936681555e-05 +2382 -7.635279695347376e-05 -0.001375502623942335 0 0 0 -2.826815167578273e-06 +5570 0.00010522570354995523 -0.00011968027223436273 0 0 0 -8.837333276387166e-05 +5573 -0.0005599104230878599 -5.8715022843470696e-05 0 0 0 0.0005862959924769019 +5578 0.00020993299580879628 -0.001196653776287417 0 0 0 0.001346418393990978 +8611 0.0003435165004431329 -0.0011522024016797042 0 0 0 -0.0002662698797807434 +5605 0.0006702570852280061 -0.0016345103137906955 0 0 0 -0.00026687691144436625 +5607 -0.000135427137035564 -2.1603376109573925e-05 0 0 0 0.0001588075483713346 +5611 -0.0003238304169838582 0.0001759967628934479 0 0 0 1.0628640116886884e-05 +5652 0.00016272937962392162 -0.0013008001891152727 0 0 0 -0.00027571962906670986 +5666 0.0006871137518966502 0.00020274889335960346 0 0 0 0.00016217089106972005 +5670 2.1131899671091005e-05 0.0003613835992022929 0 0 0 -6.933426224542536e-05 +5703 0.0005240939628761377 0.0003076987396238811 0 0 0 2.991216843974656e-05 +5706 -0.0009980541482510412 0.0002274990974115739 0 0 0 -0.0003642214288505871 +5719 0.00019346584476581582 0.00021226285740449103 0 0 0 9.585069412883868e-05 +5742 -0.0005532036375228085 -0.00044682510331026516 0 0 0 -0.0011314393550057526 +5751 9.79692515249713e-05 0.00013667588299764172 0 0 0 3.0854978958917965e-06 +5760 -0.0009188747602944503 1.672017411763995e-05 0 0 0 -1.232058059323096e-05 +5764 -0.0004746263751957165 0.00025868361672995666 0 0 0 -0.00015464498718898798 +6630 0.0003588583074296571 -0.0010373585322822172 0 0 0 -2.7473703589642148e-05 +5793 0.0005393290326690465 -0.0010042854864011248 0 0 0 0.00031141543428921803 +5802 -0.0008145766427279436 -0.0006920739638406458 0 0 0 -0.00025329643546421446 +5845 -0.0006695979244057963 -3.689896632070539e-05 0 0 0 3.149291192057468e-05 +5858 7.723272153787397e-05 -0.0013018983923126018 0 0 0 -5.337604457428468e-05 +5918 -0.0005569898631958464 0.0005227158938152466 0 0 0 -0.00013282406981483303 +5920 -0.0007233295490433969 1.9903644795671743e-05 0 0 0 1.829736589138914e-05 +5945 0.00031292711162649175 -0.0012052452392420769 0 0 0 -5.030321112795599e-06 +7085 -9.540618521687354e-05 -0.001142478202629221 0 0 0 7.325899901123087e-05 +5977 0.0007289205016331557 -0.000437495800821867 0 0 0 0.0007431062301350461 +5991 0.00029862080117572313 0.0001367282971865242 0 0 0 0.00035453535273193893 +5998 -0.00046907197676544977 0.00029898956019328346 0 0 0 8.817014632177493e-05 +6044 0.000597346011576138 0.0002111390769839856 0 0 0 -0.0002651418394616904 +9105 -3.7759167423163273e-05 -0.001383406716271907 0 0 0 -3.500412730787585e-06 +6072 -0.0006830216802280695 3.0283308681718385e-05 0 0 0 0.00031422713496409105 +6074 -6.086409638039244e-06 -0.0014399380289230467 0 0 0 0.0008942621793459745 +6077 0.00027227798324246794 0.00038332235280968323 0 0 0 5.49629530509946e-05 +6093 -0.00011796665010933879 -0.001319877873972754 0 0 0 0.0001224486753122077 +6102 0.00037505303714614106 0.000295173019837727 0 0 0 -9.939780440518374e-06 +6103 2.9051994111715148e-05 0.0005707252717277259 0 0 0 -0.0005198695449651903 +6159 -0.0006102061461667348 2.7651926487825525e-05 0 0 0 -0.0003528088434225677 +7140 -0.00013833056645030153 -0.001367556137803276 0 0 0 2.6592382405587484e-05 +8854 0.0007828190224687787 -9.545747065508068e-05 0 0 0 0.0010797972642826242 +9951 -0.00033455740156557065 -9.700946867445006e-05 0 0 0 -0.00012509632786769263 +9858 0.00014744142544871125 0.0003286158456987133 0 0 0 0.00019924654554609483 +6240 0.00014047907539097457 -0.001322605284270856 0 0 0 7.474045495594163e-05 +6244 -0.0007358386737679588 -0.00023844148029693882 0 0 0 -0.0003958230367219395 +6248 0.00014978815212666766 5.0101542432600586e-05 0 0 0 -0.00022069678131026433 +6273 0.00027400288054423786 -0.0012398386151335082 0 0 0 6.444914767702173e-05 +9229 -0.00047637706424775837 0.00029744991405897345 0 0 0 8.233819831897472e-05 +9780 0.0005798375052320895 -0.0008932489516166409 0 0 0 9.180050876126087e-05 +6288 0.0004745512572312888 -0.0005490819595068933 0 0 0 0.00012398215697750586 +3482 0.0005034869314807878 0.0001465801130562436 0 0 0 -9.412952023288264e-05 +6316 0.0006535135416232032 6.605016875854526e-05 0 0 0 -0.0003160398984630327 +8477 -0.0004905474918878147 0.0005902476081171251 0 0 0 -1.3181393065170576e-05 +6371 -0.0001470462066427353 -0.0007974767500673985 0 0 0 -0.002001200630019979 +6373 0.00017785845484550255 0.0005475657609809858 0 0 0 -6.126182338433249e-05 +6379 0.0001200105654277251 0.0005702254845850568 0 0 0 0.0006568270367431148 +6400 -0.0005662049586419367 -0.0011874580172342977 0 0 0 0.0003790543138620902 +6401 0.0010031992042392605 -0.0007360604329732684 0 0 0 0.006164791872406598 +6417 -0.00030074519109063626 0.00017425595764105633 0 0 0 -1.7770114905630334e-05 +8619 1.0630438917336558e-06 -0.00035771088252550533 0 0 0 -4.336370335083325e-05 +6477 -1.1709303299687167e-06 -0.00046695022587523593 0 0 0 0.0004257054538773596 +6507 0.00018880592869629698 -0.0013403541660070902 0 0 0 -0.0001095490896889693 +6517 -0.0003620076583259295 0.00018696572254800259 0 0 0 -2.097515964565731e-05 +9899 0.00039822536272152696 0.00035957132978806696 0 0 0 0.0007194527475039922 +8752 0.0002550605740566132 0.00020163350926455015 0 0 0 -9.51157126021461e-05 +4416 0.00064116563857201 7.09703972012663e-05 0 0 0 0.0005163181085242753 +9885 0.00010609956223860367 -0.00037418458490264336 0 0 0 0.003100691367019298 +6654 -1.8838333864607772e-05 -3.087532981415454e-05 0 0 0 -0.0001383369698349843 +9314 0.0003097444598183467 7.90123502976304e-05 0 0 0 1.7879257903746734e-06 +6733 0.0005691353981344329 -0.0010261088909168754 0 0 0 -3.3103675678067585e-05 +6761 0.0005446208285604887 -0.0006524531479352519 0 0 0 0.000354311971126578 +9654 -0.00046783531476436144 0.0005425697945692161 0 0 0 2.519836909982046e-05 +6811 0.0003061116101756824 -0.0012472707489873088 0 0 0 -1.5698657210323263e-05 +8905 0.00018107877345834193 0.00042914555311415395 0 0 0 -0.00029631116198763327 +6847 7.3722346615914515e-06 -0.0007208512778728412 0 0 0 -0.0021768500147062143 +6904 -0.00042166087769911876 0.0005105152309634709 0 0 0 0.0006881696568066575 +6948 0.00029358116773780645 0.00012552487529183794 0 0 0 1.1046876693089629e-05 +6957 -0.0006670095531440482 -6.196700819148425e-05 0 0 0 -0.00022958880687414646 +9725 -0.0013748187589891052 5.112050231917176e-05 0 0 0 0.00026046885793930166 +6997 -0.0003902518474749518 5.715345398797924e-05 0 0 0 -0.00010165026942660424 +7005 0.00018585994451877116 0.00036920728482935485 0 0 0 -0.0003243283519474504 +7091 0.00015010542163312372 -0.001326852550582411 0 0 0 -8.618500445590312e-05 +7117 0.0005186986732600978 -0.0009972819117034905 0 0 0 -0.00040655481544961766 +9640 0.0009699830363118937 0.0018508124412779938 0 0 0 0.0010402580369094857 +8652 -0.0007859636448514768 0.00029339924910319083 0 0 0 9.413939336198052e-05 +7176 0.0007603473225893207 -0.00031991640402782953 0 0 0 0.0044749196892174235 +8721 -0.00011140248742364188 -0.0013592045160689366 0 0 0 -0.00012935488619387028 +7211 -0.0006825186772558916 0.0001289286790568632 0 0 0 0.0006136289174082337 +7254 0.00017075221166989952 0.00013234645924220113 0 0 0 -0.0002540872191233804 +1707 0.00032785814612395293 -0.0010897628085453027 0 0 0 -0.00018734813593003933 +7267 -0.00023654128781465565 -0.0010942080366688747 0 0 0 -0.0001212807526667045 +7271 -0.0003074802417545295 0.00014363816853480273 0 0 0 -4.863283945410001e-05 +7283 -0.0005452904992233158 0.0005167303756076272 0 0 0 0.00012190750085905509 +7288 0.0006267065562928319 -0.0009062980763154705 0 0 0 -0.00019804718962720925 +7300 -0.0003408728489410495 0.00017086065617808854 0 0 0 -3.607621075306296e-05 +7331 -0.0007174598637733603 -5.144322248815393e-05 0 0 0 6.610418346002778e-05 +7337 0.0003888814014951805 0.00016559819108345476 0 0 0 4.8755811589146416e-05 +6591 0.001145471819446889 -0.00016833278954859538 0 0 0 -0.0002502985353377193 +7375 -0.0007319945271146403 -0.0005600680986145411 0 0 0 -0.00047700917901921674 +7396 0.0003106090797210869 0.00028469706416686403 0 0 0 0.0005334986483223509 +7410 0.00032693936875909866 0.00015691899345005709 0 0 0 -6.590988732509011e-05 +7466 0.0005503188805578306 0.00020133998054608205 0 0 0 6.880254664934096e-05 +7495 0.0008016763127214694 -3.175526474150326e-05 0 0 0 0.0008175062721254992 +3361 -6.823582043652757e-05 -0.0013353057527173116 0 0 0 5.2665085269823644e-05 +7529 -0.00047015377045480554 0.0002260556017920193 0 0 0 0.00013261204579220444 +7532 -0.0007499279609033792 3.514920300372812e-05 0 0 0 5.76224803614961e-05 +7549 -0.0004980432004274164 0.00011245185286085493 0 0 0 0.0001811443503043313 +9453 0.0004923171558901241 -0.000861894347008672 0 0 0 -0.0007756223907567784 +7588 -0.008627717730969865 0.009993303734796857 0 0 0 0.0024054639806067074 +7597 0.00021715602967017369 -0.0012363056636220684 0 0 0 -4.9769060574842835e-05 +7605 0.0005871686150118216 0.00012891928860259524 0 0 0 -2.2624309977564073e-05 +7608 0.00013538865117599148 -0.0012714465458152418 0 0 0 -7.505891963994072e-05 +7610 -0.0007428841880502165 0.0004645656510676024 0 0 0 0.0005795341328057805 +7627 0.0004152376111383342 0.00018977104796433407 0 0 0 -3.601618774662287e-05 +7630 -0.00042730397210723225 0.0003311220872852753 0 0 0 -5.721191400017897e-06 +7671 -0.0007515099837131261 -6.377738437856966e-05 0 0 0 -0.00010880572253905468 +6687 -7.56873003600051e-05 -0.0013632834249580905 0 0 0 4.437097081663452e-06 +7698 0.0003215961516007474 0.0001937552234610595 0 0 0 -3.4324163327622015e-05 +7703 0.0002546552569441011 0.0005476839712903997 0 0 0 -0.00030216648077538286 +7728 -0.0010063493738954744 -2.2342741795754207e-05 0 0 0 -3.209830011558791e-05 +2240 0.0003033806222074145 -0.0010744661329933538 0 0 0 -0.00035300204345136706 +7734 0.0022164128326722663 -0.00012425513647154938 0 0 0 0.0040578693536088275 +7735 0.0006750720910828494 -0.00046666072740227473 0 0 0 0.00022013427306624532 +7775 0.0005869075363273469 -0.001108415567432031 0 0 0 -4.261743342869041e-05 +7781 -0.00018353815681693974 -0.000836060315462304 0 0 0 5.978066035029022e-05 +7793 -1.126151720139879e-05 0.0005431319520790635 0 0 0 0.00013758812659637576 +7891 2.3968694213019933e-05 -0.001393011130006869 0 0 0 8.478697783016811e-05 +7892 -0.0004104852101990348 9.882839921912862e-05 0 0 0 0.0003116183853554284 +7903 0.0009547321322667834 -0.001619666879301014 0 0 0 0.0002876011045721246 +7914 -0.00026614355261162697 -0.0009435370052701274 0 0 0 -0.00019309952452144802 +7928 -0.0004449438262079965 -0.00022324752217916995 0 0 0 -0.0005227038832046574 +7955 -0.0004383922757847248 0.0003619777877256655 0 0 0 -7.398681991177547e-05 +7957 -0.00020125062947710386 4.756623963277343e-05 0 0 0 0.00025044625465403417 +8065 -0.0003551436289793856 0.00015114585315767855 0 0 0 1.389251212529114e-05 +9619 -0.0004352240616887552 -0.00012836900791842907 0 0 0 0.00016506153679349164 +8112 -0.00011218117408891545 0.0006952135707162671 0 0 0 -0.0001979520102227832 +8119 -0.0006592603276054325 0.0002229204454832381 0 0 0 -0.0004285253224488654 +8128 -0.0004932084383013968 -6.110150507009006e-05 0 0 0 -6.849940160529022e-05 +8144 0.000523651724496764 -0.0016199888429603148 0 0 0 0.0001330944740528379 +8166 0.001267813525875355 0.0006479424008597968 0 0 0 -0.006280571516451281 +9958 -0.0005981191441374788 5.8441904849754814e-05 0 0 0 -0.0007887836175012329 +8212 -0.0006755707105881158 -3.551694323786442e-05 0 0 0 -0.00014140029586774482 +8229 3.300749011546049e-05 -0.0014196020068760454 0 0 0 -7.775130375167665e-05 +8245 -9.657161560995366e-05 -0.0001259039526634529 0 0 0 -0.0001897537033811207 +8279 0.0004131167313843122 0.0006701652605486631 0 0 0 -8.307672334875511e-05 +8289 -0.0012235710813016255 0.001374100589508302 0 0 0 0.0010650850664896334 +8305 0.0006353345720119019 0.000258878536955297 0 0 0 0.0001260434702003622 +8933 -0.00017997519075572775 -0.00019947346525398964 0 0 0 -5.572102897850642e-05 +8341 0.0003324195031124414 0.00018077486449955303 0 0 0 1.266428129217566e-05 +8378 -0.0005347607584829688 7.161725831672074e-05 0 0 0 0.0001982441761409051 +8395 -0.0003214259488831094 -7.730018568182982e-05 0 0 0 -2.702186158773217e-05 +8419 -0.00022067255295218116 0.0001163410808495726 0 0 0 -7.642837123704544e-05 +8452 -0.0009831313292838716 0.00011453627363760773 0 0 0 -0.00015516324202043065 +1700 -0.00011319214632430698 -0.001298177662971548 0 0 0 3.078414165999511e-05 +8495 0.00043167404775615016 0.0003489803428019015 0 0 0 -0.0001667676093211485 +8520 -0.0001573583601710589 1.8387999385586756e-05 0 0 0 -0.00021205759283202214 +9629 0.0002949998980458191 -0.0012522524135949965 0 0 0 -4.6434703988835884e-05 +8545 -0.0007806698222375289 -0.0002734571159963045 0 0 0 0.0007054144661841426 +536 -0.0003294613941177019 0.0004306306251410638 0 0 0 8.086060701742735e-05 +8581 0.0002358936123247077 6.038004000491784e-05 0 0 0 -0.00016700778990298763 +9947 -0.0008963216549218402 2.0733337702589346e-06 0 0 0 -0.0001236231432533596 +8606 -3.03196490554097e-05 -0.001652162644433974 0 0 0 0.0005181220499788362 +9201 -0.0005383338536856263 -2.199003871708704e-05 0 0 0 -7.451462581061706e-05 +6461 0.00039991497017694076 9.955288615864471e-05 0 0 0 -3.8589690450476875e-05 +5340 0.00012315411959898902 1.2931586838444575e-05 0 0 0 -9.609389996233561e-05 +2314 0.0005039179054228995 0.00020103683421120302 0 0 0 -2.354544285962409e-06 +22 0.000248822635589602 0.00013640908699004694 0 0 0 -4.4597526987209786e-06 +24 0.0008628045232020832 -0.0005846405315997823 0 0 0 7.239562605484623e-06 +33 0.0009844984778518055 -0.00025768681395331076 0 0 0 -1.262400391780488e-05 +47 0.0008622013814640502 -0.0006309708931823246 0 0 0 1.4132939914566547e-05 +67 0.0003735651955467414 -9.117716597373507e-05 0 0 0 5.020500133153744e-06 +72 0.0005662381663267955 -7.37240523141964e-06 0 0 0 -1.744945078728303e-05 +75 0.0005977373998060227 -1.0090598270002502e-05 0 0 0 -9.636207388102457e-06 +84 0.0007110991004219738 -0.00036130740567368757 0 0 0 -7.682186213430591e-07 +6218 0.0004859417344561621 8.211619746473492e-05 0 0 0 -3.262159743344404e-06 +102 0.0008346277073498105 -0.00038441745782117183 0 0 0 -1.5011309175742085e-05 +9734 0.0009041394533837272 -0.00027836323308134416 0 0 0 0.0002205794222093511 +122 0.0004796602345279546 1.1929827658833439e-05 0 0 0 -5.846822182290263e-06 +146 0.0008635674423500946 -0.00019283601965416748 0 0 0 3.3537151771966123e-05 +209 0.0007955984845324848 -0.00016400663893067154 0 0 0 4.0477009552501885e-06 +216 0.0007481940295654857 -0.0003663521332939486 0 0 0 -2.843371895315699e-06 +342 0.0006383598517668781 0.0002545517884417268 0 0 0 -0.00010685793315962705 +7244 0.0007693951927184987 -0.0003812875663021979 0 0 0 7.92354958423148e-06 +372 0.000885087988385921 -0.0005627368193203255 0 0 0 -1.1975490190270382e-05 +382 0.0007448332954209351 -0.00011104576114535153 0 0 0 -1.3166914571479639e-05 +407 0.0005908108834021287 -6.296167168739999e-06 0 0 0 -3.562918927620216e-06 +414 0.0010632306558125799 -0.00034267465576874465 0 0 0 1.1853647041818536e-05 +452 0.0009468619671824218 -0.00027286818018635076 0 0 0 1.9659780515434944e-05 +470 0.0007564832651676206 -0.0002443068216258707 0 0 0 3.794089277838327e-06 +491 0.0009495779320647014 -0.00045923046981471153 0 0 0 -6.486636555812207e-08 +492 0.00023033873409357436 0.0001455242676753818 0 0 0 4.3001420365611546e-05 +514 0.0007485699585870481 -0.00023037662708566336 0 0 0 7.825303635339245e-06 +522 0.0007985475554836889 -0.00042836842051649954 0 0 0 -3.051236187362468e-05 +8 0.0007427465082313845 -0.00046755036213998354 0 0 0 -5.3468423885667635e-06 +553 0.0010305419988737993 -0.0003523518106869831 0 0 0 8.754414273882775e-07 +560 0.0011692417882537478 -6.73904545122383e-05 0 0 0 -1.8555357157415247e-05 +587 0.0009314747643230902 -0.00021980318617454607 0 0 0 -5.949677424887003e-07 +646 0.0010203715358248228 -0.00037801433215160475 0 0 0 4.4474093582535555e-05 +651 0.0011101938385250146 -0.00032633473663323055 0 0 0 -3.2710778965005425e-06 +653 0.000591288249790321 -0.00010504076123047228 0 0 0 -5.157330839160215e-05 +656 0.0010913920902258596 -0.00029642832835015284 0 0 0 -3.367610483125019e-06 +667 0.001013494077800008 6.554357356279545e-05 0 0 0 4.531992473321088e-05 +4523 0.0004483942049487304 0.00012361711354486973 0 0 0 -2.234351051383414e-05 +709 0.000920910048337453 -0.0005520783113127785 0 0 0 1.672476494574823e-05 +718 0.000785185378473893 1.864260777883782e-05 0 0 0 -5.363953425800278e-05 +720 0.000928312891885074 -0.00046866148311428034 0 0 0 3.4842894549001316e-05 +199 0.0006834037106976074 -0.0007349581651434262 0 0 0 1.596705051202397e-05 +5171 0.00047820419794490274 0.00010149924906165095 0 0 0 1.5691671167846837e-05 +5080 0.0002622699412378441 2.065362160235361e-05 0 0 0 -3.4734808391584226e-05 +734 0.0005584055737383532 -5.6660976282924925e-06 0 0 0 -1.4548111042435513e-05 +747 0.0006660360201911956 -6.454006925135477e-05 0 0 0 -2.1231624743549973e-06 +801 0.0003053379969543003 -7.989852680156193e-06 0 0 0 -1.0714118395806232e-05 +804 0.001071995885585339 -0.00037774103005405735 0 0 0 5.195543060895461e-05 +812 0.00033573463407716964 -0.00017585475543673712 0 0 0 9.618687595213705e-06 +817 0.0007737037467089004 1.860093729799514e-05 0 0 0 1.1511292878045657e-05 +824 0.0005231081485243376 3.8339046828384066e-05 0 0 0 5.149094601648731e-06 +1360 0.0008024788252681391 -0.0003338960479867174 0 0 0 -4.6851435035785584e-06 +845 0.0006265428165060344 -0.0001570965323936051 0 0 0 -5.8578034460393666e-05 +6160 0.0004046764055922012 1.6174493088932117e-05 0 0 0 9.580121210237183e-06 +861 0.0009948751316129734 -0.00040395381327383567 0 0 0 1.6067729605282586e-05 +885 0.0008148552962940627 -0.00041886356150127723 0 0 0 2.2759981513057187e-05 +887 0.0010355138590087587 -0.0003077253670947983 0 0 0 2.5484626301718368e-05 +891 0.0010735820357639413 -7.18228388108449e-05 0 0 0 -1.7286775006873124e-05 +932 0.0007535359467104527 -8.762184551741049e-05 0 0 0 9.294555713542304e-06 +968 0.0005712526873899805 6.891848760817321e-06 0 0 0 6.4873723436227785e-06 +976 0.0011010039197888591 -0.0001885513655074161 0 0 0 -1.2271481300819684e-06 +984 0.0009432347362932531 -0.00019431884652369749 0 0 0 7.021901419283638e-06 +988 0.0004925677323937798 5.405084241280274e-05 0 0 0 -9.254519046603154e-06 +992 0.00048452658469520863 -0.00022323878958208004 0 0 0 -6.549448998361299e-05 +999 0.000923059055067411 -0.0002849603669619429 0 0 0 -2.5328693050624826e-05 +1051 0.0009795219717784662 -0.0002908987799554333 0 0 0 5.150416533283777e-05 +1066 0.0005871192040369536 -4.257912222308551e-05 0 0 0 5.434271272005438e-06 +1073 0.0006544316748894914 -1.7084272470820494e-05 0 0 0 -2.383346525932613e-05 +1102 0.0009396684299869943 -0.00042780653605630013 0 0 0 1.4564487131673818e-05 +1125 0.0008295119426379395 -0.00042517117898027267 0 0 0 4.536192278202949e-05 +1144 0.0007248858518141235 -0.00023103448734383824 0 0 0 1.2450030894748544e-05 +1148 0.0008475597105840262 -0.0006610348564744138 0 0 0 2.8042250157515403e-05 +1190 0.0009239102810442228 -0.0004578864276475703 0 0 0 1.6144683280017534e-05 +1213 0.0007226700339135531 -0.00029966871095125826 0 0 0 1.1157230770223032e-05 +1223 0.0008149886550933992 -0.00039287360043642347 0 0 0 -3.4731112145406256e-06 +1230 0.0007851257448303842 -0.00044622516018857927 0 0 0 2.2700781418208836e-05 +1242 0.000718801868031908 -5.435690103107786e-05 0 0 0 -1.9056639853950807e-05 +7782 0.0008129149876922694 -0.0003715704710788832 0 0 0 1.1151170419252451e-05 +1276 0.0011185007637323889 -0.00021387905252664204 0 0 0 5.267753381869608e-06 +1282 0.0007849327152049452 -0.0004509545506732463 0 0 0 -1.113964541278676e-05 +1306 0.00047794426422748625 -2.0955558562685872e-06 0 0 0 -4.050676486375267e-06 +1318 0.0008078055928751338 -0.00039033864820164915 0 0 0 7.372738944568911e-06 +1364 0.0007919148565590059 -0.00047010816630826214 0 0 0 2.7055884988854326e-05 +1396 0.0009882919634244247 -0.00039949121471696245 0 0 0 2.3700358951888975e-05 +9987 0.0008313728062852139 -0.00035857153172403255 0 0 0 -1.257019594191572e-06 +1449 0.0007304001036839042 -0.00021568466670947707 0 0 0 1.9894271481166408e-05 +1471 0.0008297821070102068 -0.0001844071972198645 0 0 0 -6.342377313088463e-06 +1950 0.00027703129119226833 7.214830313713397e-05 0 0 0 -3.2300290566931226e-05 +1487 0.0007481069630809665 -0.00033327584995272876 0 0 0 1.94368698036978e-05 +1498 0.0004792567722572809 -3.30732033482866e-05 0 0 0 -3.665706969093827e-05 +1514 0.0007605428690091047 -0.0002695855560088596 0 0 0 1.6734778870240557e-05 +1527 0.0010635313148729289 2.833120125197788e-06 0 0 0 -7.997581161003103e-05 +1561 0.0006209088792350589 -8.094868766356975e-05 0 0 0 -6.857402494216594e-06 +1584 0.000969249337402412 -7.183042247997922e-06 0 0 0 -3.545343554830038e-05 +1592 0.001052665248260411 -0.0003311505775709349 0 0 0 1.2078281192633732e-06 +1595 0.0007563479534106002 -0.0006955417528529542 0 0 0 -4.7780053731181346e-06 +1600 0.0007832070469566771 -0.00011646295383456434 0 0 0 -2.3495104391762258e-05 +8987 -6.744427214005824e-05 0.00019063099447796312 0 0 0 0.000437974300701701 +1610 0.000746418339355348 -0.00012192130635219387 0 0 0 1.3892001911478068e-05 +1616 0.0007935824731143667 -0.0004481442968466198 0 0 0 4.899770998659044e-06 +694 0.00028775232477934914 0.00013270371280155969 0 0 0 4.034296981710971e-05 +1630 0.0009368520205873771 -0.00013122037642996015 0 0 0 -7.678207932329125e-05 +1659 0.000869834920195535 -0.00023926237247851688 0 0 0 1.2801394262436023e-05 +1670 0.00027862730992196227 -0.00010492130165602226 0 0 0 6.644419613506675e-05 +1671 0.0006484409486941619 -6.210825129847245e-05 0 0 0 -6.768432362691356e-06 +1712 0.0005102281565601237 2.9583295966299155e-05 0 0 0 -1.6139507850545755e-05 +1730 0.0011464550791749158 -0.0002453500741609412 0 0 0 1.39511159760564e-05 +1737 0.0009267913676272551 -0.0004993428072629271 0 0 0 2.513685173272727e-05 +1761 0.0006374788350591229 -8.518562799495735e-05 0 0 0 -2.460467972075263e-05 +9001 0.0003942891624967764 3.7337443498336395e-05 0 0 0 -1.144788109221952e-06 +1774 0.0007941191051833217 -0.00045426803730000214 0 0 0 -2.6392235525421684e-07 +1777 0.0007476923311202074 -0.0005454257582601788 0 0 0 1.9331312957346292e-05 +1784 0.0003918762222706918 -8.502753678803499e-06 0 0 0 -4.509505341418897e-06 +1792 0.000587360707775218 -1.3408839207377011e-05 0 0 0 1.215638962649461e-05 +1795 0.0007798559751527142 -7.22176360909488e-05 0 0 0 -6.095157519466314e-05 +7262 0.0004237606717706558 -4.526871859524782e-05 0 0 0 -0.00010920158632991448 +2816 0.0003455017178144648 -2.181167057637344e-07 0 0 0 -4.7491457490655287e-05 +1867 0.0007678152422709532 -0.000245694436580377 0 0 0 -2.812320507873773e-05 +1893 0.0008712850557352111 -0.00042623022194306987 0 0 0 6.991565773277404e-06 +1896 0.0007946411979706632 -0.00014602237233782883 0 0 0 2.5833990626202018e-05 +1912 0.0007282576695447793 -0.0003106314998674945 0 0 0 -9.627469830348031e-05 +1933 0.0011666167128302543 -0.0001216703744769953 0 0 0 -3.631943340864294e-05 +1934 0.0008558474098537686 -0.0003302227813948155 0 0 0 2.267185609650421e-05 +1940 0.0007386309836669868 -0.0004450596754269531 0 0 0 3.0764404113026957e-06 +1993 0.000725136330596442 -0.0002836616312575914 0 0 0 1.0163626612381592e-05 +2020 0.0009514366850385858 -0.000553158126942659 0 0 0 2.673618476174444e-05 +2034 0.0011396681634343563 -0.00020464395063346275 0 0 0 8.356433060522673e-06 +2457 -0.00011059973509715218 0.00014769372798515435 0 0 0 -0.00023092265591222722 +2055 0.0007161194651094478 -9.544701168327513e-05 0 0 0 7.63260179193362e-06 +2063 0.0007962292676475023 -0.00028912373858146846 0 0 0 -1.803374216537946e-06 +2081 0.0007472545706815798 -0.0001603598007317179 0 0 0 1.2170959793905786e-05 +7035 0.0005083890860507386 3.490625969779575e-05 0 0 0 -0.00012480107710922497 +2105 0.0007053181010928989 -0.0007237887189181746 0 0 0 -4.424753080725769e-05 +2149 0.0010468364788965006 -8.083089556060283e-05 0 0 0 0.00015400442507774656 +2174 0.0009316890473172835 -0.00047566208023065845 0 0 0 2.0072351815113856e-05 +2185 0.0007633321090480596 -0.0002988267208681017 0 0 0 -7.92870767144022e-06 +2209 0.0008975043977024758 -0.00018095111826278438 0 0 0 -9.205020053564008e-05 +2229 0.0006714391215386036 -6.764191240123184e-05 0 0 0 -2.1020958202935704e-05 +2232 0.0007530969119822681 -0.000272534298497643 0 0 0 1.5000334143848802e-05 +5291 0.0007976960336079753 1.9495403285824923e-05 0 0 0 0.00010733307369369286 +2237 0.0006564235176294459 -8.156004558822102e-05 0 0 0 -1.888086264069299e-05 +2246 0.0006190538084440317 -2.1056278159648214e-05 0 0 0 -3.2272887480524677e-07 +1956 0.00031463460741375324 2.712943448205243e-05 0 0 0 1.758264061361698e-05 +2265 0.0007377388149111199 -0.00014199655128100855 0 0 0 -9.281389076605069e-06 +2266 0.0009383279493366076 -0.00045703906618556876 0 0 0 1.5320017801071637e-05 +2294 0.0007295478373409935 -0.00032428592488372554 0 0 0 -2.6704498522192952e-05 +2330 0.0007713533089792592 -0.0002751749218545677 0 0 0 1.1549296232762974e-05 +2351 0.0009240398273649102 -0.00021197300654752035 0 0 0 2.442173332212274e-05 +2424 0.0005939725955142793 -5.295123517488606e-05 0 0 0 2.974941864794761e-05 +9884 -3.002336468045495e-05 -7.167056248840538e-05 0 0 0 -0.0001593837513061436 +2492 0.0010900798081741369 -0.00031233881705320895 0 0 0 1.6813615075768305e-05 +2515 0.0007244469825301207 -6.285284908474414e-05 0 0 0 -7.565456445918641e-05 +2520 0.0010107370550385656 6.197073494528192e-05 0 0 0 -0.00016490267938835837 +2535 0.0008866219530128273 -0.00040544598566748073 0 0 0 2.9130189138249053e-05 +2579 0.0007498920567136478 -0.00011931840402217902 0 0 0 3.8556793478291686e-05 +2583 0.0007284716853036509 -0.0003427346676113598 0 0 0 0.00014820428131143338 +2592 0.0008040300207561052 -8.382696580550489e-05 0 0 0 -0.00015016701552962458 +2606 0.000820037534427521 -0.0005371137000043207 0 0 0 -2.827088859703342e-05 +2637 0.0007490632064548543 -0.0005031202646232388 0 0 0 -5.0344543332964514e-05 +2644 0.0009037404083254766 -0.0002799687512380951 0 0 0 5.158112645495955e-05 +2682 0.0010739541507365092 -0.0001731228565703935 0 0 0 -3.897319174646166e-05 +2707 0.0007663107044740648 -8.359662774159497e-05 0 0 0 -7.480684770698888e-05 +2757 0.0004135095467910966 8.657589863244995e-06 0 0 0 -3.672535813122794e-05 +2766 0.0009430993526409765 -0.0005169527616959096 0 0 0 1.5741683295248488e-05 +2794 0.0007935033147554729 -0.00044828764542481864 0 0 0 8.376201646573917e-06 +2801 0.0008612659822183217 -0.0006096150190172654 0 0 0 -7.871255766490289e-05 +9421 0.0002205914999068033 0.00010546099255182202 0 0 0 -7.159044915445607e-05 +2829 0.0008075413658834696 -0.00042369794173042916 0 0 0 0.00012977390192373355 +2839 0.0011343358160596645 -0.00010520363826419748 0 0 0 5.927999084176191e-05 +2840 0.000774383810345354 4.891232222557773e-07 0 0 0 2.619885901560037e-05 +2852 0.0007755950544998804 -0.00043731887424596085 0 0 0 -1.8625638259549212e-05 +2891 0.0008967944940626106 -0.00040397128497151447 0 0 0 3.3547932798482176e-05 +6748 0.00023421587867710454 6.189298047755984e-05 0 0 0 -5.236571981929889e-05 +2921 0.0008158565934792892 -0.0004049429590302088 0 0 0 0.00011463190988265915 +2941 0.0008624981992682516 -0.0004457461003140419 0 0 0 2.2310216386365025e-05 +3003 0.0009722585528244225 -0.0004294577975742637 0 0 0 7.735913166634e-05 +7534 0.0006965430228870333 -0.0006603008146249996 0 0 0 5.9595197273670484e-05 +8098 0.0008626153470662603 -0.0005054957764711742 0 0 0 8.653848831392001e-05 +3037 0.0009385902949910196 -0.0002285973250757063 0 0 0 2.557753793155904e-05 +3041 0.0008111748387038809 -0.0003785944346170139 0 0 0 -0.00011003128888916639 +3058 0.0008762907554901226 -0.00026481310828178884 0 0 0 -1.3252529142091378e-05 +3096 0.0008683639048590695 -0.00016126683835758512 0 0 0 -1.1015879455391121e-05 +3101 0.0009348500143592991 -0.000432771270384021 0 0 0 1.7839075132810184e-05 +6276 0.00028863738611216097 5.190801355951454e-05 0 0 0 0.00010240718908373215 +3133 0.0007725283493267103 -0.0004600869768676425 0 0 0 3.9776379842689384e-06 +1614 0.0008472284205088813 -0.0003586884914591873 0 0 0 3.2675056564324076e-06 +9921 0.000531070744548594 -0.00016777639085873222 0 0 0 3.6829001157752573e-05 +3155 0.0008221115910547946 -0.0004988259486558917 0 0 0 5.361664840250044e-05 +3162 0.0005319301505374584 4.1566359729831916e-06 0 0 0 -2.9241456949667846e-05 +3215 0.0007215578116409652 -0.0002596873394217861 0 0 0 9.661035511315652e-06 +8675 0.0007481113588607034 -0.00023217429250767125 0 0 0 -0.00032260141482102307 +4852 0.00028454508220482664 -6.116139595511717e-06 0 0 0 -4.052200879105546e-05 +3339 0.0008514812073497194 -0.00033841798934862254 0 0 0 1.3827822878267318e-05 +3343 0.0008543256973326668 -0.0006257332930834822 0 0 0 -1.332014358856396e-05 +3406 0.0007145706172331477 -0.00033861678020403004 0 0 0 6.278245356624183e-06 +3407 0.0008206168889809886 -0.0003849298128485366 0 0 0 6.159153876518176e-05 +3421 0.001001484808179204 4.239308615617681e-05 0 0 0 -2.6706735153911286e-05 +3452 0.0006840132367078363 -0.00010796234248211211 0 0 0 -2.979719472288889e-06 +3486 0.0011027567967936739 -0.0002519237708077208 0 0 0 8.974943524796107e-06 +3490 0.0009339738253197498 -0.0003458904722099903 0 0 0 -7.284342478873969e-06 +6536 0.0006965740612512298 -0.00019082171631078403 0 0 0 0.00016666249452861604 +3509 0.0009405248402604034 -0.0004240538905210268 0 0 0 9.696758448375197e-05 +3521 0.0007501489825189495 -0.00032296303888615087 0 0 0 -1.7506057157948576e-05 +3526 0.0008368396056476091 -0.0005820122201306518 0 0 0 6.112701400419493e-06 +3529 0.0007103859509114506 -0.0003397925970145115 0 0 0 -6.321740360014443e-06 +3552 0.0009535648099680609 -0.00034774501542141105 0 0 0 -7.605813142627557e-05 +3564 0.0011459678955661147 -0.0003166732306367707 0 0 0 1.2747172036799621e-05 +3567 0.0002357384130607154 0.00011770472036340148 0 0 0 6.822287917909621e-05 +3575 0.0010536206748591012 -0.0003209983143009831 0 0 0 3.062846021651612e-05 +3588 0.0008413457187062705 -0.00033075094582636367 0 0 0 1.9365535650744512e-05 +3599 0.0007190514625476655 -9.454192283238981e-05 0 0 0 -8.404417776244707e-05 +3620 0.0005438498312961938 -2.9047339109440007e-05 0 0 0 6.753526414267263e-06 +3637 0.0008426195754053095 -0.0005862741335489341 0 0 0 -8.384286075304688e-05 +3647 0.0006960181500490171 -9.961085974285829e-05 0 0 0 -3.828759390479965e-06 +3692 0.0005872755795204597 -3.25183820125194e-05 0 0 0 3.900087715574768e-05 +6849 0.0005178320008818497 1.6446280916458303e-05 0 0 0 -5.0154551488703514e-05 +3701 0.0005054852950847752 0.00010766520558388845 0 0 0 -0.00026863715300206757 +3735 0.0005567376980289249 -0.00020155057288848263 0 0 0 -0.0001261821950990457 +3755 0.000808035196786859 -0.00010663586404683646 0 0 0 6.757180292987311e-05 +3929 0.00048662500966915016 7.31189776880232e-05 0 0 0 6.841085301789176e-05 +3764 0.0008174325709580645 -0.00020732905171193312 0 0 0 -3.914306684813047e-05 +3787 0.0007434432588115515 -0.00044332832964871267 0 0 0 3.621485774867749e-05 +3819 0.0007408258167520071 -0.0003308119796742415 0 0 0 2.0690671578395597e-05 +4150 0.0009286972939161089 0.0001157126842598143 0 0 0 0.0004997576106206654 +3896 0.0011105084518049121 -0.00026514800085218165 0 0 0 3.080000864297847e-05 +3907 0.0007494582895079759 -0.0002955636292946514 0 0 0 4.527886136627781e-05 +6095 0.0007921643565904705 -0.00029686524085728865 0 0 0 -1.1885651261003243e-05 +3918 0.0008000178991384513 -0.00046406631345095195 0 0 0 -5.575144516490388e-05 +5564 0.00041894339546756626 5.439974798796868e-05 0 0 0 4.0064481260848686e-05 +3938 0.000790428200442225 -0.0001579416905155245 0 0 0 -2.3811054146006e-05 +3985 0.000990107953453109 -0.0001432043093979491 0 0 0 5.994487385681391e-05 +3995 0.000711520561923298 -0.00029726812009975474 0 0 0 -1.4322177891034198e-05 +4128 0.0004710309350419019 -0.00025850685072447696 0 0 0 -0.00037330599598306327 +4165 0.0007829281571245529 -0.00013318023342411329 0 0 0 -2.9081016768404348e-05 +4173 0.0009418839647525215 -0.00038052643357872393 0 0 0 3.2770205861721786e-05 +4230 0.0007146529338850065 -0.0005680607758949573 0 0 0 -2.4590682881695727e-05 +4242 0.0009219640168621913 -6.407292605477222e-05 0 0 0 -9.770631530545128e-06 +4256 0.0008404407770573917 -0.0005984024268002613 0 0 0 -7.708187057416967e-05 +4267 0.0008021924326017142 -0.0006356931512871704 0 0 0 -2.1848263597341923e-05 +4273 0.000865055841466458 -0.00025214979190379624 0 0 0 -4.1478655007730257e-05 +4295 0.0010751107920631787 -0.00028407728932115925 0 0 0 2.2876292900538326e-05 +4296 0.000981322612328397 -0.00036784379994455447 0 0 0 3.577882172930433e-05 +4308 0.001063896686562317 -0.0002532140027433626 0 0 0 -0.00014338483042734108 +4309 0.0010085097303412199 -0.0001234882665585908 0 0 0 -0.00033936675243908556 +4329 0.0007228842633284476 -0.0003190716109378249 0 0 0 -5.373765526726435e-06 +4349 0.0007100069690923532 -0.0004368469670394029 0 0 0 -1.082514637756778e-05 +4376 0.0007230848491469738 -0.0003075364070137569 0 0 0 1.707570701818854e-05 +4412 0.000785646242813097 -4.558031444212807e-05 0 0 0 1.3107109736371063e-06 +4445 0.000524423466511985 -1.6465226607191456e-05 0 0 0 -2.0260280918712475e-05 +4473 0.0009325365324543082 -0.00024231691577167883 0 0 0 -2.87213270296362e-05 +4475 0.0010981326330469078 0.0004125727013176569 0 0 0 -0.00023902887253076345 +4515 0.0009301687007403315 -0.000591734457112616 0 0 0 -3.066344966966906e-05 +4557 0.0010576013531362648 -0.00030153331200148247 0 0 0 1.4614575743189416e-05 +4564 0.00019912624246860855 0.0001342811986636605 0 0 0 0.00013534426430909327 +227 0.00047208358697158455 0.00012761194253314346 0 0 0 -4.7204945902834045e-06 +6529 0.0007456036801970898 -0.0007472303683037309 0 0 0 7.860782332949643e-05 +4592 0.0011136270920858633 -0.00032061660053005284 0 0 0 -1.0723471393652578e-05 +4609 0.0005647593595019063 2.746109540001504e-05 0 0 0 -3.363859723650472e-05 +4610 0.0005878747975623181 1.6560533838038557e-05 0 0 0 1.7443700413455264e-06 +4690 0.00033557770272936286 -5.82093122140658e-05 0 0 0 -8.15631123398198e-05 +6208 -9.976112046712912e-06 -4.7914069480225185e-05 0 0 0 -0.0001950632710578778 +4701 0.0010335544966761064 -0.0003852075412220547 0 0 0 6.027121858001973e-06 +4711 0.0005293877944172838 3.221298372878365e-05 0 0 0 -2.1419697153947733e-05 +4736 0.0009015986287508429 -0.00023692027220956595 0 0 0 -1.3205431345156602e-05 +4741 0.0008272512519269931 -0.000144134165357485 0 0 0 -6.087421821624453e-05 +4750 0.0007548553609724132 3.1550350758355745e-05 0 0 0 -5.748609200657958e-05 +4811 0.0009109622337896619 -0.00013756184809701017 0 0 0 -0.00020917670799590752 +4812 0.0006049690233814908 -5.161903371956243e-05 0 0 0 5.979214789513325e-06 +7632 0.0006809426836007149 -0.0006652862853409132 0 0 0 2.192006490395366e-05 +4843 0.000999957686112878 -0.0002776191307232844 0 0 0 6.138982744479048e-05 +4864 0.0011278752000553184 -7.333122946991627e-05 0 0 0 -0.0001705711270867247 +288 0.0008020178700329836 -0.00036009661177370734 0 0 0 1.1940245996153851e-05 +4900 0.0009745416036529149 -0.00026252317691018357 0 0 0 -3.7305254258889546e-05 +4914 0.00036025724423960294 -1.689641384495715e-05 0 0 0 0.00019706868530126293 +4927 0.0007387836240237794 -0.0003636564749262713 0 0 0 -0.00018492407612611176 +4932 0.0010642462341876404 -2.6365750050878664e-05 0 0 0 9.921361203471302e-05 +4959 0.0008477277450921173 -0.00043168723329348684 0 0 0 -1.8113435993296695e-06 +4964 0.000847351400867177 -0.0005150284003963917 0 0 0 -9.67385954429659e-05 +5009 0.0007783460995052658 0.00013364915486408576 0 0 0 -0.00010807589470303205 +5013 0.0007327041388324831 -0.000628443351744944 0 0 0 -1.1257082464102605e-05 +5040 0.0007809118662356689 -0.0004167269286489109 0 0 0 -1.6192132184640017e-05 +5059 0.0006850587033879041 -0.00013867159341176747 0 0 0 0.0001434190605210887 +5082 0.0008964548716792758 7.66900805031988e-06 0 0 0 9.454402368732399e-05 +5107 0.0005297639403012387 3.09854123568897e-05 0 0 0 -3.769068199684573e-05 +5127 0.0008166799699043371 -0.0002816103189586676 0 0 0 -1.874243099263513e-05 +5128 0.000793286530399182 -0.00045668933375434966 0 0 0 -4.287773250448483e-06 +5131 0.000939242516846185 -0.00019198670990658718 0 0 0 1.3471385258997217e-05 +5133 0.0007779329514508107 -0.0004289438958787534 0 0 0 -2.5513805477058687e-05 +8280 0.0002523204868124239 6.040548433315434e-05 0 0 0 1.1055803486912915e-06 +5175 0.0003424432484937645 -0.00019077357642702722 0 0 0 -4.778224569790801e-05 +5201 0.0009969833969641615 -0.00027517348301412417 0 0 0 0.00010931806649203613 +5224 0.0007890949998969804 -0.000442495772086724 0 0 0 -1.9041625193754808e-05 +5250 0.0005891335145501289 0.00019587073124788126 0 0 0 0.00023502835051165098 +8914 0.0004692159152572007 6.260341754538043e-05 0 0 0 -2.1933731381322914e-05 +5267 0.0007658892176265686 -0.0001258105589107871 0 0 0 -2.412374467329077e-05 +5269 0.0007483753820484676 -0.0004556616878260986 0 0 0 0.00010465053170860542 +5338 0.0008139472276875464 -0.0003332087212949169 0 0 0 1.2584698287623698e-05 +5293 0.0007898394323045721 -0.00029470410351299 0 0 0 -3.6597310106720926e-06 +5325 0.0011086080325649564 -0.000267260522818761 0 0 0 -3.5375404700976376e-06 +5334 0.0007569689806653107 -0.00033116580965085007 0 0 0 7.375353284408643e-07 +4353 0.00033953886022166177 4.305561536565518e-05 0 0 0 2.3991622039330084e-05 +5369 0.0009303916341966987 -0.0004888626439050026 0 0 0 -2.392757984145457e-05 +5450 0.0006182595638030814 -2.8733933503635585e-05 0 0 0 -2.4450387166156175e-05 +5457 0.0004837295580994851 7.306745674846092e-05 0 0 0 -1.5378818402299655e-05 +245 0.000810626433187741 -0.00036334753559065183 0 0 0 1.3808820167174987e-06 +5481 0.0011273617404063579 -0.000255745014356028 0 0 0 6.995600300168228e-05 +5487 0.0007218897436605083 -1.7501008998264974e-05 0 0 0 -7.64513063277623e-05 +5538 0.0009082891268918593 -0.0002119332919297074 0 0 0 2.6548432356726475e-05 +5539 0.0007205104776703022 -0.0002445289559312778 0 0 0 -1.3225611998794229e-06 +5552 0.0007936341965132573 -0.00014181412528145013 0 0 0 -4.767244283284479e-05 +9337 0.000572233863017749 -3.832232868992048e-05 0 0 0 -0.00020635065546017672 +5569 0.0004181094083295242 -7.006163400045986e-05 0 0 0 -9.641785054031904e-05 +5574 0.0009373985249931983 -0.00018042983503114944 0 0 0 1.0694944018220235e-05 +5602 0.0010454990892783166 -0.00035831495446809515 0 0 0 -3.95454149067383e-06 +5614 0.0011611750594961868 -0.0001654614349836207 0 0 0 -8.88401651095629e-06 +5628 0.0007035056133143943 -0.00011619458091026884 0 0 0 -1.9182202896350075e-05 +5634 -0.0005437561939961104 0.0010855512493422206 0 0 0 0.0006360332020063417 +5667 0.0008426152610317673 -0.0003083097059378917 0 0 0 6.957154474577594e-06 +5690 0.0005982416147005272 -8.411957789441167e-06 0 0 0 1.8207172379486052e-05 +5698 0.0006626845386707336 -4.6744287206357836e-05 0 0 0 -4.371591283771907e-05 +8105 0.0008691035310028839 -0.00036653008224162074 0 0 0 -3.5261210863128174e-05 +5702 0.0007671203130277666 -5.361235246106546e-05 0 0 0 -1.9639276531014432e-05 +5705 0.0007716772591966388 -7.724048038701127e-05 0 0 0 -2.025715299481232e-05 +5720 0.0005097257675493778 -0.00016891197440127887 0 0 0 -9.505055392062377e-05 +5735 0.0008551998447481449 -0.0002803692735973425 0 0 0 1.771679264134151e-05 +2059 0.0004810480744605531 0.0001378929340908317 0 0 0 1.399774133527188e-05 +5746 0.0008300617608912392 -0.00040999858000371586 0 0 0 -6.674340981707396e-05 +5747 0.0003565580730173362 -0.00015344106140751954 0 0 0 -3.849293488816561e-05 +5775 0.0008182797679447625 -2.7598247458185647e-06 0 0 0 3.667613252453044e-05 +5790 0.0009406321950887768 -0.0004560508407366706 0 0 0 1.5942147655377933e-05 +5804 0.0007245588326719587 -0.00011341379630261595 0 0 0 -0.00011649039964576179 +5820 0.0004605929103211846 2.721784061306755e-05 0 0 0 8.158749336353013e-05 +5823 0.0011533081758553292 -8.066839489592405e-05 0 0 0 -1.211980636466479e-05 +5829 0.002218207269105916 -0.00040875039901056194 0 0 0 -0.001294804732052884 +5840 0.0008160465996175777 -0.0004014417284642076 0 0 0 5.6196438671671466e-05 +5854 0.0005675286389215079 2.2572631783808324e-05 0 0 0 -6.416567702662487e-06 +5871 0.0007435675339395432 -0.00017696612919673897 0 0 0 0.0003485421923040397 +5874 0.0009518890424517183 -0.00020964781228137487 0 0 0 -4.815971265727357e-05 +7543 0.0007012887202578949 -0.0006478416158589703 0 0 0 9.692098072228192e-05 +5916 0.0008873292185361711 -0.0005631371299103888 0 0 0 -5.078354473607721e-05 +5919 0.0009948604052541356 -0.00027201095180414336 0 0 0 5.9105158500212816e-05 +5926 0.0009191431904503247 -0.0002699936645180768 0 0 0 4.738122052582028e-05 +4887 9.445316082979279e-05 9.481270345994943e-05 0 0 0 -0.0001793093076041755 +5997 0.001124075242345967 -0.0002722266181409327 0 0 0 9.707051733455273e-06 +6007 0.0006385536112331729 -6.230314511494635e-05 0 0 0 -1.6750410863439263e-05 +3355 0.00028348701553286993 5.835365337974984e-05 0 0 0 3.135390609904491e-05 +6013 0.000788039948201411 -0.00046759784399933086 0 0 0 -8.540989125088797e-05 +6029 0.0005715035370090334 3.717165930585648e-05 0 0 0 -1.9740198496951068e-05 +6042 0.000740871700504871 -0.0004691384359977805 0 0 0 5.5513161804438305e-05 +6056 0.0007908792199707804 -0.0004626702584796606 0 0 0 -1.3364590349301507e-05 +4973 0.00048805367512048107 0.00017918395826390602 0 0 0 -2.6048353318691765e-06 +6104 0.0008562313801621813 -0.00020396464891359647 0 0 0 1.2851675485403497e-05 +8296 0.0008108890086535213 -0.00038616850523835906 0 0 0 5.48984637933371e-05 +6125 0.0007504621632790151 -0.00021747475529814166 0 0 0 2.027632590882036e-06 +6142 0.0007481804228516356 -5.561054079134246e-05 0 0 0 1.6281021065111395e-05 +6148 0.0009159755993696006 -0.0002487651261724328 0 0 0 -1.6776260688032437e-05 +6175 0.0009355956763890341 -0.00030776927049653533 0 0 0 5.585083986977522e-05 +6187 0.000831538426724328 8.537925909198315e-05 0 0 0 -0.00012919157270431948 +6198 0.0009064453836341852 -0.0003288048717589687 0 0 0 7.939968063806421e-05 +6237 0.0009511949595046015 -0.00016432208448244944 0 0 0 6.894558870846682e-05 +6239 0.0009640227741992126 -0.0004187551204484797 0 0 0 4.923143450259842e-06 +6268 0.0010399108060280059 -0.0003321699460920826 0 0 0 -1.7493445420576077e-05 +6280 0.0008168956105757911 -0.00034964717991148574 0 0 0 -2.256732585564168e-05 +6324 0.0005239731742844297 -0.0002860486738578806 0 0 0 6.506193669632159e-05 +6337 0.0007831961257268473 -0.0004411660968651646 0 0 0 2.2697404348750906e-05 +6338 0.0011034137464271203 -0.0001811681272085998 0 0 0 -8.746469848470301e-06 +6355 0.001009093833724926 -0.00040610848997585543 0 0 0 -2.013221040542285e-05 +6359 0.000504892834657922 6.818359620758269e-05 0 0 0 2.3453087478160133e-05 +535 0.0004899349995151227 6.541085584776158e-05 0 0 0 2.9273828529501865e-06 +6383 0.0008516407850927732 -0.00016031188004807318 0 0 0 -2.053359727247812e-05 +6409 0.0008002488786530995 -0.0004242136582564066 0 0 0 -2.6977791818094487e-05 +6442 0.000748235016015231 -0.00011270667574828082 0 0 0 9.167275524589577e-05 +6448 0.0008759932218929598 -0.0006261753053076794 0 0 0 -8.310384458693883e-05 +6457 -5.7492699914703016e-05 -0.00017011826028769296 0 0 0 -0.0005030602557989022 +5812 0.0007707118506974925 -0.0002728525599595524 0 0 0 1.348641451945271e-05 +6470 0.0009521414438176816 -0.00022621542567071083 0 0 0 8.207356664736857e-05 +6474 0.000828245819969556 -0.00019440589251355027 0 0 0 -2.095578039578424e-05 +6482 0.0010031425843217286 -0.00037772285848774854 0 0 0 1.3986489854644953e-05 +6484 0.0009484233653165385 -0.00019814996190317536 0 0 0 -2.4213864865287615e-05 +6509 0.0009827512863716228 -0.00031097580985213247 0 0 0 -8.522247560106892e-05 +6639 0.0003999375982544616 5.289528554734406e-05 0 0 0 5.6583600753215535e-05 +6827 0.0006812041686179432 -0.0006614317045444399 0 0 0 -1.725035199288653e-05 +1142 0.0005239861626674513 3.34818742730838e-05 0 0 0 -5.362320392147169e-06 +6572 0.0008093134659707393 -0.00011028245012943222 0 0 0 -0.00011314072070666289 +6578 0.0007199306999151174 -0.0003428213848249847 0 0 0 -1.2391132122586016e-05 +7842 0.0008454703498084234 -0.0003552498793567697 0 0 0 4.5255998849474404e-05 +6612 0.0010555538777485916 0.00014522442831129784 0 0 0 -0.00012171673302646254 +6627 0.0008475478719047317 -0.000507241950082715 0 0 0 1.9362300689621567e-05 +6633 0.0011774030372859023 -5.1697090006595435e-05 0 0 0 -3.5368147127384e-05 +3140 0.00021168160714908545 0.00016437085312197622 0 0 0 -4.734728503777594e-05 +6653 0.0009396657418726218 -0.00019105462762324956 0 0 0 3.272510384220369e-05 +1770 0.0004665405875961332 0.00012317012714137894 0 0 0 1.1162885353059943e-05 +6667 0.0006176147700151188 0.0002310644148572366 0 0 0 -0.0008884192191516707 +6675 0.0007609572497911983 -7.061861516912497e-05 0 0 0 -7.2366052689539975e-06 +6680 0.0007265646843816056 -0.00034259787177883937 0 0 0 6.889978920717385e-05 +6703 0.0007118112567206598 -0.00010170732566270632 0 0 0 -8.223716238084912e-05 +6706 0.0009079492749461938 -0.0005684414873910365 0 0 0 -1.24558854446661e-05 +6740 0.0008660841150437118 -0.0003160130284605772 0 0 0 3.170229290072076e-05 +6742 0.0011898847960998243 -2.5945717330224686e-05 0 0 0 5.996905073323948e-05 +8917 0.0003113215051172085 0.0005775426239433452 0 0 0 0.0006669217700983348 +9877 0.0009258987533117094 -0.00011271648651488923 0 0 0 -7.507751606824708e-05 +6781 0.0009976929614087114 -8.63851829471174e-05 0 0 0 0.00013408246050717503 +9962 0.0007081000307229157 -0.0002818499355436245 0 0 0 5.690950061566047e-06 +6800 0.000751560615342311 -0.00047321155642283236 0 0 0 -2.2190988089851425e-06 +6823 0.00047636006378896706 5.6978690417408515e-05 0 0 0 -5.408827474672785e-06 +9941 0.003242452911397692 0.0012916094808513318 0 0 0 -0.0015669948424157345 +2116 0.0004523279630410483 9.121019249265257e-05 0 0 0 1.2383049239890602e-05 +6850 0.0005245323768747898 -0.00010670126252192151 0 0 0 -0.00010110299983807902 +1233 0.0005155472165212548 9.363832122989961e-05 0 0 0 3.5792997678941874e-05 +6950 0.0012682757807233572 0.0005475866948327519 0 0 0 -0.0007234886477007341 +6971 0.0005040934057958684 0.0001310337283238122 0 0 0 -0.0003501909925495377 +6998 0.0007949148410760899 -0.0004649492438712998 0 0 0 6.941576249076057e-05 +6841 0.0006950163933577447 -0.0007613578142451791 0 0 0 -6.442619809477902e-05 +2359 0.00048335422652088795 5.776306614500759e-05 0 0 0 -5.899876804022575e-07 +7098 0.000784885644431532 -0.000450683127100581 0 0 0 9.750433543884907e-07 +7105 0.0007654195564502994 -1.0273207400984797e-05 0 0 0 3.831816242762334e-05 +7151 0.0007369079920262134 -0.00043795931503255416 0 0 0 -0.00011482682951561099 +7166 0.0007696106224070832 -0.00026526462010745787 0 0 0 -4.926006783035377e-06 +7189 0.0007780274587855717 -6.74037491017778e-05 0 0 0 5.27876495137435e-05 +7216 0.0006133614536429674 9.09961674575328e-06 0 0 0 4.6270143247918555e-05 +7223 0.0007218527483966421 -0.0001969590153168671 0 0 0 -2.8454668170767537e-05 +9440 0.0008389642788582148 -0.0003578866521473437 0 0 0 5.0196924499077457e-05 +7245 0.0011721983695852378 6.527381548253948e-05 0 0 0 5.9677652863907566e-05 +7255 0.0006986026569690512 -0.00044684871201022765 0 0 0 8.842781290941129e-05 +7312 0.0007582419896907903 -7.34246616795454e-05 0 0 0 5.2441248134342366e-05 +7320 0.0006109166141723695 -7.649592659231493e-05 0 0 0 3.9739383271928314e-05 +7330 0.0010504555991031005 -0.0002998395648423471 0 0 0 7.84256094052968e-06 +2023 0.0004200076932617458 -6.908846988353914e-06 0 0 0 -0.00011727041160015493 +7360 0.0006004815560470416 -8.830901296896396e-07 0 0 0 -1.958924601601511e-05 +7394 0.0007361245915486409 -0.0006092168366548972 0 0 0 -6.343344933429911e-05 +7403 0.0008578566115383852 -0.0005086401072989968 0 0 0 -9.130453917050064e-05 +7470 0.0004778353229570544 -4.1676050285619864e-05 0 0 0 -6.046443910906514e-06 +7160 0.0004323570950011308 5.1749097702755475e-05 0 0 0 -1.933588215423875e-05 +7502 0.0006168147655976738 -4.708917382355099e-05 0 0 0 2.638545868713983e-06 +7507 0.0007423639990876427 -5.115481505025711e-05 0 0 0 1.4364125158037725e-05 +7517 0.0009738198157524597 -0.0002340598122565683 0 0 0 5.310583352309035e-05 +7550 0.0009243825125911276 -0.00046340044536139803 0 0 0 -1.6263509131859268e-05 +7556 0.0008349335540164761 -0.00012631856179616492 0 0 0 -6.337326525831305e-05 +7579 0.0007914376364547485 -0.0005613802735626804 0 0 0 4.656916043375824e-05 +6816 -6.299153821756285e-06 0.002246030835590555 0 0 0 -5.56905640972184e-05 +8690 0.0006810276358350071 -0.000672939642347611 0 0 0 3.5553490780422395e-05 +7599 0.0007392141025909014 -0.00038931551334447424 0 0 0 -0.00010398727861548449 +7601 0.0004993624343594606 3.980097657582632e-05 0 0 0 3.016975277342482e-06 +7616 0.0005491486787715705 2.076871675673072e-05 0 0 0 -3.1345204041961636e-05 +7618 0.0007302084877471889 -0.0006174162592466007 0 0 0 -2.6389572670472547e-05 +7638 0.0007249717580731685 -0.00031770364754325867 0 0 0 3.3819929405860348e-06 +5586 0.00046968987803395844 8.811727825573121e-05 0 0 0 9.055985355420676e-06 +7769 0.0005882245736268832 1.637964488298326e-05 0 0 0 9.99809232539221e-06 +7836 0.0007538018367139702 -1.471777327268019e-05 0 0 0 -4.721025167652474e-05 +7841 0.0007834496615005594 -0.0004441715166229721 0 0 0 -1.384306680274187e-05 +478 0.0007260682200799934 -0.0003022566371072423 0 0 0 1.026531851977018e-05 +7859 0.0009960596899962818 7.493965709357697e-05 0 0 0 -0.0004918638241765076 +7865 0.0010219577394128437 -0.00018193257263227628 0 0 0 6.428276674573977e-05 +7866 0.0009012750952531417 -0.00015911354743671825 0 0 0 -7.273921337813555e-05 +7880 0.0007815288442531352 -0.0006981527463192832 0 0 0 9.495836195224259e-06 +7885 0.0008676116845096464 -0.0005548590364461574 0 0 0 -0.00011790143644331538 +7910 0.0007046456069582073 -0.0002947387151443692 0 0 0 3.5750214315321654e-06 +7961 0.0009324306898981176 -0.0002142863323390811 0 0 0 -6.605175271626235e-06 +8005 0.0007140322452923758 -0.00031365142021242835 0 0 0 1.640153676648528e-06 +6716 0.00048231908287880927 0.00010833566423497895 0 0 0 -3.934487870485e-06 +8069 0.0012058352314097737 -0.001879439428908653 0 0 0 0.0008334829019415926 +8071 0.0024741313912784698 0.0026490803910037154 0 0 0 -0.00031797853509268474 +8076 0.0005312413964889234 -0.0002712074914869746 0 0 0 5.611735006833108e-05 +8077 0.0005822389963618586 -1.7781936127301197e-05 0 0 0 3.0328639811376546e-06 +5150 0.00039965155446871096 6.394239078625972e-05 0 0 0 -1.0085100871396955e-05 +1890 0.0005725652678451863 -7.9924930623728e-07 0 0 0 0.0002689714143736987 +8048 0.0020883818258195337 0.0005393966551380901 0 0 0 0.0019646072445304546 +8165 0.0006465565568444478 1.3342929359290881e-05 0 0 0 -1.3903170965708225e-06 +8169 0.00044502857645164367 1.7680695814809647e-06 0 0 0 6.454921997283881e-06 +8175 0.0009854559176661897 -0.00026177484814088954 0 0 0 2.1260357325324853e-05 +8190 0.0007819390905442538 -0.00013533439501342304 0 0 0 -3.849990392105848e-05 +8199 0.0007584615801261713 -0.0007142869505588038 0 0 0 3.259350342580286e-05 +8220 0.0007384376228533458 -0.00017955470840930836 0 0 0 3.397279212668312e-05 +8237 0.0008511576425963881 -0.0006469204088876805 0 0 0 -0.00010710215231461972 +8248 0.0009909291589546097 -0.0003994738064014983 0 0 0 1.2847144712519283e-05 +3504 0.0007195723953075067 -0.00025055975459925263 0 0 0 0.0004393313176596178 +8324 0.0009696394681388825 -0.000247084227802513 0 0 0 3.4418498439903936e-05 +8337 0.0009380486758027376 -0.0002909221708990206 0 0 0 0.00019259219740765194 +8338 0.0015762393642721638 -0.0010094239326977896 0 0 0 -0.000921865671195178 +8358 0.0006119219372281391 -6.19170235009946e-05 0 0 0 -2.8972120677271134e-05 +2778 0.00047985238575463165 7.875520407616306e-05 0 0 0 7.6170258168344635e-06 +8382 0.000664245885121204 0.0002800036854681931 0 0 0 0.0007114592905407997 +8386 0.0007622936787731323 -0.0002877810066642491 0 0 0 1.0797080031035532e-05 +8392 0.0009295665337100369 -0.0002421113666065462 0 0 0 0.00011217681250659781 +8404 0.0005221385531896104 4.45250013800556e-05 0 0 0 1.3695273166098711e-05 +8408 0.0007046750383838046 -7.213237370613137e-05 0 0 0 7.11114564760072e-05 +8418 0.00046416546872011404 5.9687934544937916e-05 0 0 0 -4.444637499770501e-05 +8425 0.0008084064069918348 -0.0004686213457291662 0 0 0 -0.00017683824884693025 +9998 0.0006252255690963873 0.00045107309110749413 0 0 0 3.6271396881708425e-05 +8464 0.0006241074639848373 -6.739788433190141e-05 0 0 0 1.483933316148116e-05 +8508 0.0008033829093090622 -0.00019798238630525707 0 0 0 3.647853454950853e-05 +8517 0.0006213075060931895 -3.383180851222942e-05 0 0 0 1.728127256410992e-05 +8539 0.0007752444241359965 -0.0004409825310346526 0 0 0 2.8372543914660316e-05 +8551 0.0015552253218180556 -0.0007842721590090553 0 0 0 0.0014769905380589603 +8554 0.00034204982135659616 -4.187499361790455e-05 0 0 0 -1.1616562693101373e-05 +8558 0.0011231071672881128 -0.00021935925743517314 0 0 0 2.3704551976469217e-05 +6791 0.0007682834000225236 -0.0003481118930463873 0 0 0 3.3875383009463294e-05 +8574 0.0004025055312258621 0.0002125917006353727 0 0 0 1.4649932615390477e-05 +8627 0.0011046585946082796 -0.000269887440005755 0 0 0 -2.792365687940868e-05 +8631 0.0009201035881151535 -0.00013587625224563196 0 0 0 -0.0002378068521202305 +8632 0.0010045415575019533 -0.0003713942551659029 0 0 0 1.3089134500297894e-05 +8634 0.00040052234609591755 0.00016332204596385848 0 0 0 -0.00010311865117770182 +8642 0.0007527516833741234 -0.00023535911040466003 0 0 0 8.851133550948968e-06 +8664 0.00278083477371322 -0.0009279787919379042 0 0 0 -5.920856710209026e-06 +8668 0.0009743401566119523 -0.0003260676296674395 0 0 0 5.517616260495255e-05 +8331 0.0004894382563774561 8.771352853024117e-05 0 0 0 1.2660433325748523e-05 +8714 0.0009903583423357366 -0.00029492497914430406 0 0 0 -1.8996640350806613e-06 +8722 0.0009236155964277605 -0.000524589839660303 0 0 0 -1.1064540297269555e-05 +8765 0.002406156331906295 -0.004651277592054663 0 0 0 0.0008523147312829719 +8798 0.0007881732824877301 -0.00022257205201037329 0 0 0 3.072650544898646e-05 +8839 -3.646771959591264e-05 -0.002110384218361694 0 0 0 0.002044046781201607 +8852 0.00040190507438672956 -0.0007385712320777474 0 0 0 0.00019436662438555177 +8899 0.00035254290040906384 -3.287882936553733e-05 0 0 0 -5.137439780693733e-05 +8573 0.0008260855771171866 -5.192620458957873e-05 0 0 0 7.140339084872262e-05 +8929 0.0004401995070344725 -8.114863056492882e-05 0 0 0 -0.0001142541350301864 +8936 0.0007514103199486817 -0.00046089914356699767 0 0 0 0.00022210684883470892 +8949 0.0010135212729378586 -0.0004011464343574215 0 0 0 2.7786187917552902e-05 +7200 0.00036814649965774814 -5.553932135896365e-05 0 0 0 2.8910094528649285e-05 +9037 0.0009462240170963397 -0.0004863553481001699 0 0 0 1.8804763296919304e-05 +5348 0.0005059725662845561 5.9801774057334735e-05 0 0 0 -3.9455931895727775e-05 +9046 0.0009422982650251206 -0.0003854579143054803 0 0 0 1.7752507322903104e-05 +9084 0.0010828452327502943 -0.0003189898635400283 0 0 0 1.840711148208296e-05 +7354 0.0004790075883208416 3.3691014778354084e-05 0 0 0 -0.00010243787539435382 +9107 0.00101685173461442 -0.00041002035525557375 0 0 0 -0.00012334386500241314 +9173 0.0008864529128285656 -0.0002054919110353391 0 0 0 -8.503970165957613e-05 +9184 0.0008783104546598545 -0.0005635120305307 0 0 0 3.200250768775807e-05 +9189 0.0011212013172008125 -0.00021516947345820225 0 0 0 -3.380957540856401e-05 +9244 0.0006945116378850963 -0.00031400344525239976 0 0 0 1.7657935697205048e-05 +9246 0.0005303080614545426 -8.982586653441249e-05 0 0 0 0.00016736787071302764 +9251 0.0007423867507682698 -0.0001995956665121519 0 0 0 2.8244395257230296e-06 +9256 0.0008550248028614212 -0.0006114345459122507 0 0 0 2.5783069406669262e-05 +9269 0.0009395186044044826 -0.0005210026018326436 0 0 0 -5.190419664849243e-05 +9274 0.0010858139727280634 -0.00030144611002700023 0 0 0 4.03469704028275e-05 +9278 0.002461559350571047 0.00035930432746304926 0 0 0 0.0011239122275591544 +9294 0.0007484126879001391 -0.0007161869671064453 0 0 0 6.17502397862217e-05 +4995 0.0007212205881901623 -0.0002609145863957148 0 0 0 8.908028133296155e-06 +9881 0.0007626250972514772 -0.00036358221366831155 0 0 0 5.254618528649443e-05 +8417 0.00162038123097504 0.0007271781549359202 0 0 0 0.0012057250950804252 +9843 0.0008545901869006907 -0.00028779235636224005 0 0 0 6.238714866014456e-05 +9465 0.0008880852539405495 -0.0004040310183058309 0 0 0 -2.871648538724539e-05 +9483 0.0009098010186676613 -0.00016936830232064092 0 0 0 0.00020977579992219978 +9521 0.0003624410119229493 -5.932760002120301e-05 0 0 0 -4.781919645772422e-05 +9535 0.0008771990302867444 -0.0005233653282397255 0 0 0 -1.4650094938746472e-05 +9547 0.0005015034947810277 4.165534470903667e-06 0 0 0 -5.905533481855468e-05 +9549 0.0011802610659039047 -0.00019702883059891386 0 0 0 -2.130496221791646e-05 +9572 0.0009446046319413877 -0.0003155219594958441 0 0 0 6.504863180278689e-05 +9596 0.002251466575558867 -0.000560217293552405 0 0 0 -0.001493638216352944 +9618 0.00048819253428024454 3.1247434863126026e-05 0 0 0 8.291239050947847e-06 +9651 0.0008184296612489694 -0.00048204445324419933 0 0 0 -0.00017514428182386377 +9665 0.0005838195194896516 1.959314998603462e-05 0 0 0 2.37078227422042e-05 +9669 0.00041165359219034363 -6.531481971476161e-05 0 0 0 -0.0001168174550734187 +9671 0.0007230420695321918 -0.0003593940777439311 0 0 0 1.2029191516595416e-06 +9685 0.000561578322012626 -0.00015544775202745853 0 0 0 3.929589847074261e-05 +721 0.0005166375416379607 4.11525345161962e-05 0 0 0 1.9367791972684823e-05 +9716 0.0005892502829780746 -4.3601998583884884e-05 0 0 0 -2.8230606990587777e-06 +9742 0.0006089746428969517 -5.39842976033606e-05 0 0 0 -4.9176008695565055e-06 +9761 0.0004650175444297899 0.00019204942656541802 0 0 0 0.00025253230844684063 +9762 0.00046059778195596014 -0.00011791823577760815 0 0 0 0.00046638255444445437 +9795 0.0010762082841481082 -0.00032930617759057085 0 0 0 4.980094285245811e-05 +9808 0.0007563227687282161 -0.00033905645009453105 0 0 0 -3.7364969489943016e-06 +9813 0.0007995808001752512 -0.000179384323468545 0 0 0 2.733350028680973e-05 +9814 0.0010402402018048094 -0.0003655477098534096 0 0 0 -8.909891290622411e-06 +3606 0.00016900506193442692 0.00019585806131229867 0 0 0 -0.0002460301161908759 +3141 0.0007345698780312756 -0.00032508575041916504 0 0 0 -2.2225732917003883e-05 +8178 0.000735774588048004 -0.0002583970076479378 0 0 0 6.036583760243707e-06 +8567 0.0002482774410838177 7.990330438553434e-05 0 0 0 8.182510401881973e-05 +6145 0.0007180372832737576 -0.00031245462256001405 0 0 0 4.22020438644559e-05 +9015 0.00016632499462159266 0.0001245306219879756 0 0 0 5.997329075325895e-05 +4386 0.0006631136670947457 -1.3260243695848112e-05 0 0 0 1.2157452913612926e-05 +2932 0.0007385378133931543 -0.00041365054864349614 0 0 0 2.534283125935272e-05 +6550 0.0008709796770996052 -0.00023577628322224412 0 0 0 -0.000142888863582654 +4503 0.00031993711625354993 7.83548313420379e-05 0 0 0 -4.3670560662381986e-05 +3904 0.0006453590649679798 -3.705009913697423e-05 0 0 0 0.0001564448192260029 +4717 0.0007750454903599851 -0.00034181154690419356 0 0 0 -7.282386524948415e-06 +5257 0.0002718181198070059 -2.9690591711268906e-05 0 0 0 3.395443237245046e-05 +7096 0.00016386753952992358 0.0001960244410350101 0 0 0 -1.7430487385580927e-05 +3256 0.0007375018768158342 -0.00026538745155207526 0 0 0 2.9762269019920603e-06 +1333 0.00037210898791092034 4.467109733937269e-05 0 0 0 -1.1012327722553805e-05 +3846 0.0008414072406970639 -0.00035458346190303167 0 0 0 3.429544489233906e-05 +5773 0.00024942984517624026 -2.7873678456129014e-05 0 0 0 -2.235247321317359e-05 +6603 0.0008315340095250634 -0.0003647525758271505 0 0 0 -7.409182200572651e-05 +4384 0.0007845204963803677 -0.00032119299272343095 0 0 0 -3.5417627423652716e-05 +2220 0.00024746217175723706 5.5562932257161795e-05 0 0 0 1.3754074416042432e-06 +9090 0.00048762069322560563 0.00010568130527693934 0 0 0 -1.8490288620338333e-05 +1315 0.0008578951521183869 -0.00026381216498998 0 0 0 -5.03280754689511e-05 +6594 3.541600478028999e-05 0.00013547007123118596 0 0 0 -0.0005440206202373246 +5164 0.0007813044528566372 -0.0003219984117909091 0 0 0 3.985531377462861e-05 +1286 0.0008502244522568076 -0.00027721234365183874 0 0 0 2.6088694641268207e-05 +4761 0.0006975854370649275 -0.0003050392917545538 0 0 0 0.0005961378980490035 +9377 0.0004929246925413406 5.611051096270155e-05 0 0 0 1.318406506838938e-05 +6573 0.0004456813005752615 3.10647368142668e-05 0 0 0 -4.13492665300345e-05 +433 0.0006836880362626396 5.024995567001619e-06 0 0 0 -3.0467620168779193e-05 +9094 0.000744625343311001 -0.00031967382357756246 0 0 0 2.526728571228735e-05 +2199 0.00042321437699091 2.592987440383578e-05 0 0 0 -8.18072673517025e-06 +1655 0.0007916395866808383 -0.00035457576070874246 0 0 0 -2.377735842840034e-05 +7207 0.0007452629981695557 -0.00015036527011953076 0 0 0 -0.00010872542216077849 +7875 0.0006585619246582422 3.7484154374812544e-05 0 0 0 0.00016718166745976926 +645 0.0006822356766865151 -0.00030148060339422317 0 0 0 9.296688489967334e-05 +9972 0.00036547266030541705 0.00014472173048552157 0 0 0 -3.0834187318466155e-05 +2113 0.0007081949702739137 -0.0007224063339711531 0 0 0 -3.8479080361991125e-05 +1412 -1.2039149567225154e-05 0.00010147738508380671 0 0 0 -0.00014286610388043424 +5701 0.0004761925580242084 5.147696238223329e-05 0 0 0 -0.00015663562454425414 +5800 0.0008450331921778463 -0.00033908595153051745 0 0 0 -3.0708573661039805e-05 diff --git a/examples/multi/in.colloid b/examples/multi/in.colloid index 835032f2e2..71987acbd6 100644 --- a/examples/multi/in.colloid +++ b/examples/multi/in.colloid @@ -31,7 +31,7 @@ velocity all create 1.44 87287 loop geom neighbor 1 multi #multi/old neigh_modify delay 0 collection/type 2 1*4 5 -comm_modify mode multi reduce/multi +comm_modify mode multi reduce/multi #multi/old # colloid potential diff --git a/examples/multi/in.granular b/examples/multi/in.granular index f43e9505e4..99e9ddfb33 100644 --- a/examples/multi/in.granular +++ b/examples/multi/in.granular @@ -1,4 +1,4 @@ -# Bidisperse set of grains +# Big colloid particles and small LJ particles units lj atom_style sphere @@ -28,10 +28,10 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency neighbor 1 multi #multi/old -neigh_modify delay 0 -comm_modify mode multi vel yes reduce/multi +neigh_modify delay 0 collection/interval 2 1 20 +comm_modify mode multi vel yes reduce/multi #multi/old -# colloid potential +# granular potential pair_style granular pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity @@ -42,14 +42,6 @@ fix 3 all deform 1 xy erate 1e-3 #dump 1 all custom 1000 dump.granular id x y z radius -#dump 2 all image 1000 image.*.jpg type type & -# zoom 1.5 center d 0.5 0.5 0.5 -#dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 - -#dump 3 all movie 1000 movie.mpg type type & -# zoom 1.5 center d 0.5 0.5 0.5 -#dump_modify 3 pad 5 adiam 1 5.0 adiam 2 1.5 - thermo_style custom step temp epair etotal press vol thermo 1000 diff --git a/examples/multi/in.powerlaw b/examples/multi/in.powerlaw new file mode 100755 index 0000000000..90fc7aae3c --- /dev/null +++ b/examples/multi/in.powerlaw @@ -0,0 +1,33 @@ +# Shear power-law distributed granular particles + +units lj +atom_style sphere +dimension 2 +read_data data.powerlaw +change_box all triclinic + +# multi neighbor and comm for efficiency + +neighbor 1 multi +neigh_modify delay 0 collection/interval 6 1.5 3 10 30 100 200 +comm_modify mode multi vel yes reduce/multi + +# granular potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +# fixes + +fix 1 all nve/sphere +fix 2 all enforce2d +fix 3 all deform 1 xy erate 2e-4 + +# dump 1 all custom 2000 dump.granular id x y z radius + +thermo_style custom step temp epair etotal press vol pxy +thermo 1000 + +timestep 0.005 + +run 100000 diff --git a/examples/multi/log.30Nov20.colloid.intel.1 b/examples/multi/log.30Nov20.colloid.intel.1 index 2bc82eaab0..5dcb8c3bf1 100644 --- a/examples/multi/log.30Nov20.colloid.intel.1 +++ b/examples/multi/log.30Nov20.colloid.intel.1 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -53,9 +53,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi #/old -neigh_modify delay 0 multi/custom 2 1*4 5 -comm_modify mode multi multi/reduce +neighbor 1 multi #multi/old +neigh_modify delay 0 collection/type 2 1*4 5 +comm_modify mode multi reduce/multi #multi/old # colloid potential @@ -72,7 +72,7 @@ pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 fix 2 all enforce2d -dump 1 all atom 1000 dump.colloid +#dump 1 all atom 1000 dump.colloid #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -98,7 +98,7 @@ Neighbor list info ... pair build: half/multi/newton stencil: half/multi/2d bin: multi -Per MPI rank memory allocation (min/avg/max) = 5.538 | 5.538 | 5.538 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.385 | 4.385 | 4.385 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395241 0.121 36000 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 @@ -151,20 +151,20 @@ Step Temp E_pair TotEng Press Volume 48000 2.0109636 -0.78968551 1.2206135 0.89458323 9496.7246 49000 2.0131059 -0.79687252 1.2155681 0.91239613 9418.3093 50000 2.0073361 -0.79981468 1.206858 0.98524334 9289.4715 -Loop time of 20.4651 on 1 procs for 50000 steps with 3026 atoms +Loop time of 19.7532 on 1 procs for 50000 steps with 3026 atoms -Performance: 1055453.279 tau/day, 2443.179 timesteps/s +Performance: 1093493.133 tau/day, 2531.234 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 11.099 | 11.099 | 11.099 | 0.0 | 54.23 -Neigh | 2.7536 | 2.7536 | 2.7536 | 0.0 | 13.46 -Comm | 0.53353 | 0.53353 | 0.53353 | 0.0 | 2.61 -Output | 0.11209 | 0.11209 | 0.11209 | 0.0 | 0.55 -Modify | 5.1627 | 5.1627 | 5.1627 | 0.0 | 25.23 -Other | | 0.8046 | | | 3.93 +Pair | 10.789 | 10.789 | 10.789 | 0.0 | 54.62 +Neigh | 2.6848 | 2.6848 | 2.6848 | 0.0 | 13.59 +Comm | 0.53244 | 0.53244 | 0.53244 | 0.0 | 2.70 +Output | 0.0010482 | 0.0010482 | 0.0010482 | 0.0 | 0.01 +Modify | 4.9599 | 4.9599 | 4.9599 | 0.0 | 25.11 +Other | | 0.7856 | | | 3.98 Nlocal: 3026.00 ave 3026 max 3026 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -180,4 +180,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:20 +Total wall time: 0:00:19 diff --git a/examples/multi/log.30Nov20.colloid.intel.4 b/examples/multi/log.30Nov20.colloid.intel.4 index 48a5846a09..906400df66 100644 --- a/examples/multi/log.30Nov20.colloid.intel.4 +++ b/examples/multi/log.30Nov20.colloid.intel.4 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -53,9 +53,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi #/old -neigh_modify delay 0 multi/custom 2 1*4 5 -comm_modify mode multi multi/reduce +neighbor 1 multi #multi/old +neigh_modify delay 0 collection/type 2 1*4 5 +comm_modify mode multi reduce/multi #multi/old # colloid potential @@ -72,7 +72,7 @@ pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 fix 2 all enforce2d -dump 1 all atom 1000 dump.colloid +#dump 1 all atom 1000 dump.colloid #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -98,7 +98,7 @@ Neighbor list info ... pair build: half/multi/newton stencil: half/multi/2d bin: multi -Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.382 | 5.384 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.327 | 4.329 | 4.330 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395241 0.121 36000 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 @@ -151,20 +151,20 @@ Step Temp E_pair TotEng Press Volume 48000 2.0108204 -0.76655178 1.2436041 0.95379465 9633.6453 49000 1.9868193 -0.76613798 1.2200247 0.88790224 9504.2918 50000 2.0141467 -0.80029827 1.2131829 1.0064263 9346.3268 -Loop time of 7.28248 on 4 procs for 50000 steps with 3026 atoms +Loop time of 6.98615 on 4 procs for 50000 steps with 3026 atoms -Performance: 2966022.789 tau/day, 6865.793 timesteps/s +Performance: 3091831.080 tau/day, 7157.016 timesteps/s 99.8% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.1624 | 2.5918 | 2.9227 | 17.4 | 35.59 -Neigh | 0.62508 | 0.7436 | 0.83321 | 9.2 | 10.21 -Comm | 1.1035 | 1.5265 | 2.0746 | 29.3 | 20.96 -Output | 0.050094 | 0.050233 | 0.05062 | 0.1 | 0.69 -Modify | 1.8164 | 1.8966 | 1.9583 | 4.2 | 26.04 -Other | | 0.4737 | | | 6.50 +Pair | 2.2795 | 2.5856 | 2.9414 | 17.4 | 37.01 +Neigh | 0.62273 | 0.70156 | 0.76736 | 7.4 | 10.04 +Comm | 1.0765 | 1.4945 | 1.8884 | 28.6 | 21.39 +Output | 0.00076496 | 0.0008953 | 0.0012832 | 0.0 | 0.01 +Modify | 1.718 | 1.7755 | 1.827 | 3.7 | 25.41 +Other | | 0.4281 | | | 6.13 Nlocal: 756.500 ave 839 max 673 min Histogram: 1 0 1 0 0 0 0 1 0 1 diff --git a/examples/multi/log.30Nov20.colloid.old.intel.1 b/examples/multi/log.30Nov20.colloid.old.intel.1 index 291e8f89df..70c7db2afd 100644 --- a/examples/multi/log.30Nov20.colloid.old.intel.1 +++ b/examples/multi/log.30Nov20.colloid.old.intel.1 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -53,9 +53,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi/old +neighbor 1 multi/old #multi neigh_modify delay 0 #multi/custom 2 1*4 5 -comm_modify mode multi #multi/reduce +comm_modify mode multi/old #multi multi/reduce # colloid potential @@ -72,7 +72,7 @@ pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 fix 2 all enforce2d -dump 1 all atom 1000 dump.colloid +#dump 1 all atom 1000 dump.colloid #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -98,7 +98,7 @@ Neighbor list info ... pair build: half/multi/old/newton stencil: half/multi/old/2d bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.611 | 5.611 | 5.611 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.496 | 4.496 | 4.496 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395241 0.121 36000 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 @@ -151,20 +151,20 @@ Step Temp E_pair TotEng Press Volume 48000 2.0283587 -0.79063641 1.237052 0.83617499 9610.9933 49000 2.0051919 -0.79078067 1.2137485 0.95651813 9411.7165 50000 2.0140985 -0.81796958 1.1954634 0.93791038 9296.069 -Loop time of 29.8066 on 1 procs for 50000 steps with 3026 atoms +Loop time of 28.5339 on 1 procs for 50000 steps with 3026 atoms -Performance: 724671.093 tau/day, 1677.479 timesteps/s +Performance: 756994.490 tau/day, 1752.302 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 11.698 | 11.698 | 11.698 | 0.0 | 39.25 -Neigh | 10.292 | 10.292 | 10.292 | 0.0 | 34.53 -Comm | 1.405 | 1.405 | 1.405 | 0.0 | 4.71 -Output | 0.11474 | 0.11474 | 0.11474 | 0.0 | 0.38 -Modify | 5.3019 | 5.3019 | 5.3019 | 0.0 | 17.79 -Other | | 0.9947 | | | 3.34 +Pair | 10.918 | 10.918 | 10.918 | 0.0 | 38.26 +Neigh | 10.375 | 10.375 | 10.375 | 0.0 | 36.36 +Comm | 1.2856 | 1.2856 | 1.2856 | 0.0 | 4.51 +Output | 0.0010955 | 0.0010955 | 0.0010955 | 0.0 | 0.00 +Modify | 5.0132 | 5.0132 | 5.0132 | 0.0 | 17.57 +Other | | 0.9412 | | | 3.30 Nlocal: 3026.00 ave 3026 max 3026 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -180,4 +180,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:29 +Total wall time: 0:00:28 diff --git a/examples/multi/log.30Nov20.colloid.old.intel.4 b/examples/multi/log.30Nov20.colloid.old.intel.4 index 0eae8cc8e7..6d159d9405 100644 --- a/examples/multi/log.30Nov20.colloid.old.intel.4 +++ b/examples/multi/log.30Nov20.colloid.old.intel.4 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -53,9 +53,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi/old +neighbor 1 multi/old #multi neigh_modify delay 0 #multi/custom 2 1*4 5 -comm_modify mode multi #multi/reduce +comm_modify mode multi/old #multi multi/reduce # colloid potential @@ -72,7 +72,7 @@ pair_coeff 5 5 39.5 1.0 20.0 20.0 30.0 fix 1 all npt temp 2.0 2.0 1.0 iso 0.0 1.0 10.0 drag 1.0 mtk no pchain 0 tchain 1 fix 2 all enforce2d -dump 1 all atom 1000 dump.colloid +#dump 1 all atom 1000 dump.colloid #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -98,7 +98,7 @@ Neighbor list info ... pair build: half/multi/old/newton stencil: half/multi/old/2d bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.438 | 5.441 | 5.444 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.404 | 4.406 | 4.410 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395241 0.121 36000 1000 1.8856066 -0.15771717 1.7272663 0.13840578 42574.399 @@ -151,20 +151,20 @@ Step Temp E_pair TotEng Press Volume 48000 1.9977505 -0.77207122 1.225019 0.92107083 9647.1543 49000 2.0000901 -0.76254934 1.2368798 1.0320945 9536.2823 50000 2.0150929 -0.80463979 1.2097872 0.99556424 9324.0277 -Loop time of 11.239 on 4 procs for 50000 steps with 3026 atoms +Loop time of 10.7578 on 4 procs for 50000 steps with 3026 atoms -Performance: 1921872.705 tau/day, 4448.779 timesteps/s -98.0% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 2007847.166 tau/day, 4647.794 timesteps/s +98.2% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.3936 | 2.7411 | 3.1078 | 16.7 | 24.39 -Neigh | 2.2948 | 2.6755 | 3.1013 | 18.5 | 23.81 -Comm | 2.522 | 3.3135 | 4.0361 | 31.7 | 29.48 -Output | 0.040863 | 0.041031 | 0.041456 | 0.1 | 0.37 -Modify | 1.844 | 1.9014 | 1.9701 | 3.4 | 16.92 -Other | | 0.5666 | | | 5.04 +Pair | 2.3814 | 2.6878 | 2.9507 | 15.2 | 24.98 +Neigh | 2.3959 | 2.6615 | 2.9677 | 16.2 | 24.74 +Comm | 2.4113 | 2.9894 | 3.5621 | 29.6 | 27.79 +Output | 0.00077024 | 0.00091029 | 0.0012971 | 0.0 | 0.01 +Modify | 1.7966 | 1.8497 | 1.907 | 3.8 | 17.19 +Other | | 0.5686 | | | 5.29 Nlocal: 756.500 ave 838 max 693 min Histogram: 2 0 0 0 0 0 0 1 0 1 @@ -180,4 +180,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:11 +Total wall time: 0:00:10 diff --git a/examples/multi/log.30Nov20.granular.intel.1 b/examples/multi/log.30Nov20.granular.intel.1 index 2e313231ca..06d02b8531 100644 --- a/examples/multi/log.30Nov20.granular.intel.1 +++ b/examples/multi/log.30Nov20.granular.intel.1 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -51,9 +51,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi #/old -neigh_modify delay 0 -comm_modify mode multi vel yes +neighbor 1 multi #multi/old +neigh_modify delay 0 collection/interval 2 1 20 +comm_modify mode multi vel yes reduce/multi #multi/old # colloid potential @@ -64,7 +64,7 @@ fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 fix 2 all enforce2d fix 3 all deform 1 xy erate 1e-3 -dump 1 all custom 1000 dump.granular id x y z radius +#dump 1 all custom 1000 dump.granular id x y z radius #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -90,86 +90,86 @@ Neighbor list info ... pair build: half/size/multi/newton/tri stencil: half/multi/2d/tri bin: multi -Per MPI rank memory allocation (min/avg/max) = 11.78 | 11.78 | 11.78 Mbytes +Per MPI rank memory allocation (min/avg/max) = 10.29 | 10.29 | 10.29 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395623 0.66837658 7200 - 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 - 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 - 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 - 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 - 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 - 6000 0.025856 0 0.025848141 0.021241317 7603.5534 - 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 - 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 - 9000 0.016370159 0 0.016365184 0.020261904 6515.3445 - 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 - 11000 0.014156551 0 0.014152248 0.021324815 5815.4665 - 12000 0.013725406 0 0.013721235 0.021159958 5483.6304 - 13000 0.013215746 0 0.013211729 0.021685712 5165.4758 - 14000 0.012398153 0 0.012394384 0.024155434 4862.8657 - 15000 0.011842796 0 0.011839196 0.028503991 4577.9008 - 16000 0.011433182 0 0.011429706 0.033564839 4309.8792 - 17000 0.011166574 0 0.01116318 0.040592677 4058.9964 - 18000 0.01100067 0 0.010997326 0.04899206 3825.155 - 19000 0.010224474 0 0.010221366 0.063670337 3607.6577 - 20000 0.0091360559 0 0.0091332789 0.088230111 3408.5658 - 21000 0.007733647 0 0.0077312964 0.11769368 3227.7002 - 22000 0.0060202358 0 0.0060184059 0.15272491 3064.3986 - 23000 0.004670574 0 0.0046691543 0.19450724 2918.0014 - 24000 0.0040248313 0 0.004023608 0.24161742 2788.4113 - 25000 0.0032075275 0 0.0032065526 0.2897693 2674.5604 - 26000 0.0021358024 0 0.0021351532 0.33635617 2574.9564 - 27000 0.0016902752 0 0.0016897614 0.37624266 2487.2379 - 28000 0.0014038218 0 0.0014033951 0.41492104 2409.2461 - 29000 0.00090262506 0 0.0009023507 0.45392905 2340.0308 - 30000 0.00049466342 0 0.00049451306 0.49295072 2279.2316 - 31000 0.00056998139 0 0.00056980815 0.53299515 2226.5683 - 32000 0.00057326945 0 0.0005730952 0.56856537 2181.7092 - 33000 0.00044845112 0 0.00044831481 0.59623471 2142.7573 - 34000 0.00059840183 0 0.00059821994 0.61758983 2107.1253 - 35000 0.00075310993 0 0.00075288103 0.63756827 2072.7217 - 36000 0.00053774066 0 0.00053757721 0.66026064 2039.1655 - 37000 0.00030440106 0 0.00030430853 0.69059102 2007.7903 - 38000 0.00034436264 0 0.00034425797 0.72166344 1980.7137 - 39000 0.00039693498 0 0.00039681433 0.74680327 1957.9531 - 40000 0.00035425567 0 0.000354148 0.76604186 1937.3834 - 41000 0.0003094733 0 0.00030937924 0.78323163 1916.7027 - 42000 0.00027259246 0 0.0002725096 0.80315535 1895.0714 - 43000 0.00020659817 0 0.00020653538 0.8274603 1873.5407 - 44000 0.00016023333 0 0.00016018463 0.85418969 1853.8674 - 45000 0.00016111931 0 0.00016107034 0.87913944 1837.1141 - 46000 0.00016130888 0 0.00016125985 0.89921705 1822.7354 - 47000 0.00015755049 0 0.0001575026 0.91653538 1809.0285 - 48000 0.00017794781 0 0.00017789372 0.93582908 1794.7041 - 49000 0.00018878437 0 0.00018872699 0.95775203 1780.032 - 50000 0.0001778042 0 0.00017775016 0.97893714 1765.9439 -Loop time of 77.4487 on 1 procs for 50000 steps with 3290 atoms + 1000 0.32604952 0 0.32595042 0.17341597 7862.5013 + 2000 0.12631038 0 0.12627198 0.069126477 8216.6956 + 3000 0.069351715 0 0.069330635 0.040799593 8344.1931 + 4000 0.045023755 0 0.04501007 0.029184795 8239.1832 + 5000 0.032735149 0 0.0327252 0.025640841 7943.5691 + 6000 0.026205227 0 0.026197262 0.021206924 7617.6672 + 7000 0.02165475 0 0.021648168 0.018789365 7255.2897 + 8000 0.018299317 0 0.018293755 0.019272158 6887.3386 + 9000 0.016283763 0 0.016278813 0.020434892 6524.0274 + 10000 0.015148918 0 0.015144313 0.021650465 6168.4941 + 11000 0.014180465 0 0.014176155 0.022320009 5823.98 + 12000 0.013505744 0 0.013501639 0.023978674 5492.4853 + 13000 0.013009585 0 0.01300563 0.024391329 5175.7455 + 14000 0.012494373 0 0.012490576 0.027331543 4874.3212 + 15000 0.012057669 0 0.012054004 0.030561239 4589.518 + 16000 0.011510988 0 0.01150749 0.034613772 4321.1694 + 17000 0.011198594 0 0.01119519 0.042263536 4070.0115 + 18000 0.010978603 0 0.010975266 0.053637275 3836.0304 + 19000 0.010768789 0 0.010765516 0.069472547 3619.75 + 20000 0.0102256 0 0.010222492 0.085332898 3420.2738 + 21000 0.0089630315 0 0.0089603072 0.11199196 3236.9821 + 22000 0.006565581 0 0.0065635854 0.14807426 3071.3012 + 23000 0.0050916998 0 0.0050901522 0.1903446 2923.4162 + 24000 0.0040345997 0 0.0040333734 0.237983 2792.2658 + 25000 0.0032995328 0 0.0032985299 0.29120001 2677.7475 + 26000 0.0024157863 0 0.002415052 0.33851944 2578.4972 + 27000 0.0020664445 0 0.0020658164 0.37561848 2491.0264 + 28000 0.0017843883 0 0.0017838459 0.41119961 2412.3871 + 29000 0.0011813262 0 0.0011809672 0.44749341 2341.7208 + 30000 0.00063084711 0 0.00063065536 0.4879202 2279.0452 + 31000 0.00056027405 0 0.00056010376 0.52932126 2224.9456 + 32000 0.00053304715 0 0.00053288513 0.56822504 2179.1224 + 33000 0.00052245707 0 0.00052229826 0.60025509 2140.5345 + 34000 0.00073726189 0 0.0007370378 0.62001489 2106.3045 + 35000 0.00075804791 0 0.0007578175 0.6359631 2072.525 + 36000 0.00052579203 0 0.00052563222 0.65678516 2038.1907 + 37000 0.00036977909 0 0.0003696667 0.68784389 2005.5831 + 38000 0.00036252798 0 0.00036241779 0.72116044 1977.7441 + 39000 0.00036254566 0 0.00036243547 0.74720837 1954.9127 + 40000 0.00036237175 0 0.00036226161 0.76605408 1934.6006 + 41000 0.00032453104 0 0.00032443239 0.78424188 1914.1939 + 42000 0.00025394755 0 0.00025387036 0.80529272 1893.064 + 43000 0.00021067821 0 0.00021061418 0.82962095 1872.365 + 44000 0.00017927684 0 0.00017922235 0.85522899 1853.531 + 45000 0.0001464225 0 0.000146378 0.87925998 1837.2423 + 46000 0.00012922979 0 0.00012919051 0.8986549 1822.9227 + 47000 0.0001643557 0 0.00016430575 0.91743602 1809.0605 + 48000 0.00020154753 0 0.00020148627 0.93686779 1794.9227 + 49000 0.00017742528 0 0.00017737135 0.94988773 1780.3811 + 50000 0.00015150521 0 0.00015145916 0.97929588 1764.7507 +Loop time of 54.9135 on 1 procs for 50000 steps with 3290 atoms -Performance: 278894.354 tau/day, 645.589 timesteps/s +Performance: 393345.914 tau/day, 910.523 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 60.017 | 60.017 | 60.017 | 0.0 | 77.49 -Neigh | 0.47 | 0.47 | 0.47 | 0.0 | 0.61 -Comm | 6.6765 | 6.6765 | 6.6765 | 0.0 | 8.62 -Output | 0.24799 | 0.24799 | 0.24799 | 0.0 | 0.32 -Modify | 8.8677 | 8.8677 | 8.8677 | 0.0 | 11.45 -Other | | 1.17 | | | 1.51 +Pair | 44.691 | 44.691 | 44.691 | 0.0 | 81.38 +Neigh | 0.21653 | 0.21653 | 0.21653 | 0.0 | 0.39 +Comm | 0.75388 | 0.75388 | 0.75388 | 0.0 | 1.37 +Output | 0.0011999 | 0.0011999 | 0.0011999 | 0.0 | 0.00 +Modify | 8.4718 | 8.4718 | 8.4718 | 0.0 | 15.43 +Other | | 0.7794 | | | 1.42 Nlocal: 3290.00 ave 3290 max 3290 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 6295.00 ave 6295 max 6295 min +Nghost: 525.000 ave 525 max 525 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 53729.0 ave 53729 max 53729 min +Neighs: 26732.0 ave 26732 max 26732 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 53729 -Ave neighs/atom = 16.331003 -Neighbor list builds = 348 +Total # of neighbors = 26732 +Ave neighs/atom = 8.1252280 +Neighbor list builds = 342 Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:01:17 +Total wall time: 0:00:54 diff --git a/examples/multi/log.30Nov20.granular.intel.4 b/examples/multi/log.30Nov20.granular.intel.4 index d53684c596..3aa05d79c7 100644 --- a/examples/multi/log.30Nov20.granular.intel.4 +++ b/examples/multi/log.30Nov20.granular.intel.4 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -52,8 +52,8 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency neighbor 1 multi #multi/old -neigh_modify delay 0 -comm_modify mode multi vel yes multi/reduce +neigh_modify delay 0 collection/interval 2 1 20 +comm_modify mode multi vel yes reduce/multi #multi/old # colloid potential @@ -64,7 +64,7 @@ fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 fix 2 all enforce2d fix 3 all deform 1 xy erate 1e-3 -dump 1 all custom 1000 dump.granular id x y z radius +#dump 1 all custom 1000 dump.granular id x y z radius #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -90,86 +90,86 @@ Neighbor list info ... pair build: half/size/multi/newton/tri stencil: half/multi/2d/tri bin: multi -Per MPI rank memory allocation (min/avg/max) = 11.33 | 11.33 | 11.33 Mbytes +Per MPI rank memory allocation (min/avg/max) = 10.09 | 10.10 | 10.10 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395623 0.66837658 7200 - 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 - 2000 0.12441598 0 0.12437817 0.067078155 8212.9946 - 3000 0.067389284 0 0.067368801 0.040425551 8336.7112 - 4000 0.044312733 0 0.044299264 0.028220228 8229.0658 - 5000 0.032702163 0 0.032692223 0.024302012 7931.1298 - 6000 0.025856 0 0.025848141 0.021241317 7603.5534 - 7000 0.021437473 0 0.021430957 0.019285494 7243.5757 - 8000 0.018129567 0 0.018124057 0.020738727 6877.4816 - 9000 0.01637016 0 0.016365184 0.020261904 6515.3445 - 10000 0.01500918 0 0.015004618 0.020551803 6160.4475 - 11000 0.014156553 0 0.01415225 0.021324818 5815.4665 - 12000 0.013725412 0 0.01372124 0.021159958 5483.6304 - 13000 0.013215733 0 0.013211716 0.021685624 5165.4758 - 14000 0.012398179 0 0.012394411 0.024155572 4862.8657 - 15000 0.01184269 0 0.01183909 0.028504106 4577.901 - 16000 0.01143291 0 0.011429435 0.033564204 4309.88 - 17000 0.011166204 0 0.01116281 0.040588854 4058.9972 - 18000 0.011000875 0 0.010997532 0.048998904 3825.1569 - 19000 0.010225905 0 0.010222797 0.063669586 3607.6622 - 20000 0.0091390249 0 0.0091362471 0.088165396 3408.567 - 21000 0.0077382016 0 0.0077358496 0.11770473 3227.6936 - 22000 0.0060173113 0 0.0060154823 0.15261992 3064.3873 - 23000 0.0046667554 0 0.004665337 0.19453813 2917.9782 - 24000 0.0040425764 0 0.0040413476 0.24145834 2788.3897 - 25000 0.0031933187 0 0.0031923481 0.28989732 2674.5164 - 26000 0.0021139018 0 0.0021132592 0.33598721 2574.9313 - 27000 0.0017005052 0 0.0016999884 0.37665029 2487.1628 - 28000 0.001443434 0 0.0014429952 0.41572112 2409.3271 - 29000 0.00089885805 0 0.00089858484 0.45343123 2340.2314 - 30000 0.00048558336 0 0.00048543577 0.49175966 2279.2156 - 31000 0.00058132898 0 0.00058115228 0.53236819 2226.2347 - 32000 0.00057751441 0 0.00057733887 0.56915062 2181.2736 - 33000 0.00044720497 0 0.00044706904 0.59696122 2142.5709 - 34000 0.00060927898 0 0.00060909379 0.61734988 2107.128 - 35000 0.00077422577 0 0.00077399045 0.63696024 2072.6004 - 36000 0.00055753008 0 0.00055736062 0.65981839 2038.8237 - 37000 0.0003140158 0 0.00031392035 0.69018918 2007.323 - 38000 0.00034970199 0 0.0003495957 0.72155094 1980.1702 - 39000 0.00041435514 0 0.00041422919 0.7468053 1957.3837 - 40000 0.00037229543 0 0.00037218227 0.76581519 1936.8032 - 41000 0.00031027679 0 0.00031018248 0.78321128 1916.1103 - 42000 0.00026621832 0 0.00026613741 0.80267694 1894.4646 - 43000 0.00020544063 0 0.00020537818 0.82714181 1872.768 - 44000 0.00015635243 0 0.00015630491 0.85496512 1853.0303 - 45000 0.00014985611 0 0.00014981056 0.87924561 1836.4779 - 46000 0.00015645346 0 0.00015640591 0.89896131 1822.2004 - 47000 0.00016007816 0 0.00016002951 0.91662026 1808.4601 - 48000 0.00017439363 0 0.00017434063 0.93565314 1794.1244 - 49000 0.00018647711 0 0.00018642043 0.95733125 1779.401 - 50000 0.00018463414 0 0.00018457802 0.96449755 1765.1506 -Loop time of 22.3987 on 4 procs for 50000 steps with 3290 atoms + 1000 0.32605303 0 0.32595393 0.17341558 7862.5037 + 2000 0.12631567 0 0.12627728 0.069188881 8216.7174 + 3000 0.069373812 0 0.069352726 0.040740832 8344.2982 + 4000 0.045084633 0 0.045070929 0.029328609 8239.3656 + 5000 0.032681746 0 0.032671813 0.025416741 7943.7831 + 6000 0.026301239 0 0.026293245 0.021418793 7617.8426 + 7000 0.021666723 0 0.021660138 0.018961011 7255.9338 + 8000 0.018141337 0 0.018135823 0.019306113 6887.4963 + 9000 0.015922309 0 0.015917469 0.020033398 6524.016 + 10000 0.014744547 0 0.014740066 0.020959503 6168.1945 + 11000 0.013872852 0 0.013868636 0.021708943 5823.3153 + 12000 0.013321594 0 0.013317545 0.02332141 5491.4979 + 13000 0.01269964 0 0.012695779 0.024796428 5174.6263 + 14000 0.01227055 0 0.012266821 0.027785072 4873.4516 + 15000 0.012120508 0 0.012116824 0.029656636 4588.8603 + 16000 0.011612027 0 0.011608498 0.034695109 4320.4674 + 17000 0.011216697 0 0.011213288 0.042746966 4069.4275 + 18000 0.010950166 0 0.010946838 0.053528994 3835.5439 + 19000 0.010887635 0 0.010884325 0.069684492 3619.562 + 20000 0.010563449 0 0.010560238 0.08654561 3420.2636 + 21000 0.0092336323 0 0.0092308257 0.11286068 3237.1408 + 22000 0.006929086 0 0.0069269799 0.15018917 3072.0438 + 23000 0.0052239156 0 0.0052223277 0.19067193 2924.441 + 24000 0.0044210081 0 0.0044196644 0.23908686 2793.2426 + 25000 0.0034916086 0 0.0034905473 0.29112824 2678.7912 + 26000 0.002549072 0 0.0025482972 0.33567824 2579.3738 + 27000 0.0020890726 0 0.0020884377 0.37328514 2491.0502 + 28000 0.001772982 0 0.0017724431 0.41079958 2411.9111 + 29000 0.001127719 0 0.0011273762 0.44752241 2341.1888 + 30000 0.00053266563 0 0.00053250373 0.48791815 2278.5611 + 31000 0.00050278646 0 0.00050263364 0.52896525 2224.5328 + 32000 0.00051880956 0 0.00051865187 0.56884574 2178.6674 + 33000 0.00054908167 0 0.00054891477 0.6016387 2140.3696 + 34000 0.00075213884 0 0.00075191023 0.62070188 2106.6504 + 35000 0.00081295162 0 0.00081270452 0.63492031 2073.0077 + 36000 0.00056699821 0 0.00056682587 0.65608409 2038.3251 + 37000 0.0003540723 0 0.00035396468 0.68803919 2005.497 + 38000 0.00031139738 0 0.00031130273 0.72103717 1977.7345 + 39000 0.00034087822 0 0.00034077461 0.74697975 1954.8979 + 40000 0.00035452426 0 0.0003544165 0.76682035 1934.5695 + 41000 0.00030882258 0 0.00030872871 0.78390763 1914.3326 + 42000 0.00025492799 0 0.00025485051 0.80439795 1893.1474 + 43000 0.00021545017 0 0.00021538468 0.82803644 1872.073 + 44000 0.00017293257 0 0.00017288 0.85436769 1852.6548 + 45000 0.00014097725 0 0.0001409344 0.8796181 1836.0087 + 46000 0.0001139199 0 0.00011388527 0.90006173 1821.7977 + 47000 0.00012678598 0 0.00012674745 0.90876359 1808.4913 + 48000 0.00013796773 0 0.00013792579 0.93661523 1793.8082 + 49000 0.00014723144 0 0.00014718669 0.95869417 1779.1875 + 50000 0.00013610653 0 0.00013606516 0.97777198 1765.3247 +Loop time of 17.7405 on 4 procs for 50000 steps with 3290 atoms -Performance: 964340.770 tau/day, 2232.270 timesteps/s -99.9% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 1217551.996 tau/day, 2818.407 timesteps/s +100.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 8.5158 | 12.318 | 15.836 | 92.1 | 54.99 -Neigh | 0.092527 | 0.11392 | 0.13595 | 5.6 | 0.51 -Comm | 2.7127 | 6.2337 | 10.096 | 131.0 | 27.83 -Output | 0.088027 | 0.088284 | 0.088812 | 0.1 | 0.39 -Modify | 2.8544 | 3.0435 | 3.2034 | 9.2 | 13.59 -Other | | 0.6017 | | | 2.69 +Pair | 6.6629 | 9.6168 | 12.444 | 76.6 | 54.21 +Neigh | 0.049771 | 0.055182 | 0.06133 | 2.0 | 0.31 +Comm | 1.7883 | 4.6306 | 7.6179 | 111.5 | 26.10 +Output | 0.00085342 | 0.0010606 | 0.0015425 | 0.9 | 0.01 +Modify | 2.7244 | 2.895 | 3.0436 | 8.2 | 16.32 +Other | | 0.5419 | | | 3.05 -Nlocal: 822.500 ave 859 max 785 min -Histogram: 1 0 1 0 0 0 0 0 1 1 -Nghost: 395.750 ave 424 max 368 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 13439.5 ave 14346 max 12017 min -Histogram: 1 0 0 0 0 1 0 0 0 2 +Nlocal: 822.500 ave 897 max 779 min +Histogram: 1 1 0 1 0 0 0 0 0 1 +Nghost: 190.500 ave 211 max 179 min +Histogram: 2 0 0 1 0 0 0 0 0 1 +Neighs: 6665.75 ave 7329 max 6104 min +Histogram: 1 0 0 1 1 0 0 0 0 1 -Total # of neighbors = 53758 -Ave neighs/atom = 16.339818 -Neighbor list builds = 348 +Total # of neighbors = 26663 +Ave neighs/atom = 8.1042553 +Neighbor list builds = 342 Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:22 +Total wall time: 0:00:17 diff --git a/examples/multi/log.30Nov20.granular.old.intel.1 b/examples/multi/log.30Nov20.granular.old.intel.1 index ad827423c5..f928621824 100644 --- a/examples/multi/log.30Nov20.granular.old.intel.1 +++ b/examples/multi/log.30Nov20.granular.old.intel.1 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -51,9 +51,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi/old -neigh_modify delay 0 -comm_modify mode multi vel yes +neighbor 1 multi/old #multi +neigh_modify delay 0 #collection/interval 2 1 20 +comm_modify mode multi/old vel yes #reduce/multi # colloid potential @@ -64,7 +64,7 @@ fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 fix 2 all enforce2d fix 3 all deform 1 xy erate 1e-3 -dump 1 all custom 1000 dump.granular id x y z radius +#dump 1 all custom 1000 dump.granular id x y z radius #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -90,7 +90,7 @@ Neighbor list info ... pair build: half/size/multi/old/newton/tri stencil: half/multi/old/2d/tri bin: standard -Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.75 | 11.75 Mbytes +Per MPI rank memory allocation (min/avg/max) = 10.38 | 10.38 | 10.38 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395623 0.66837658 7200 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 @@ -143,20 +143,20 @@ Step Temp E_pair TotEng Press Volume 48000 0.00017794764 0 0.00017789356 0.93582953 1794.7043 49000 0.00018879338 0 0.000188736 0.95775166 1780.0323 50000 0.00017781117 0 0.00017775712 0.97893641 1765.9442 -Loop time of 80.8597 on 1 procs for 50000 steps with 3290 atoms +Loop time of 74.6636 on 1 procs for 50000 steps with 3290 atoms -Performance: 267129.375 tau/day, 618.355 timesteps/s +Performance: 289297.713 tau/day, 669.671 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 61.524 | 61.524 | 61.524 | 0.0 | 76.09 -Neigh | 2.2021 | 2.2021 | 2.2021 | 0.0 | 2.72 -Comm | 6.748 | 6.748 | 6.748 | 0.0 | 8.35 -Output | 0.25904 | 0.25904 | 0.25904 | 0.0 | 0.32 -Modify | 8.9408 | 8.9408 | 8.9408 | 0.0 | 11.06 -Other | | 1.186 | | | 1.47 +Pair | 56.696 | 56.696 | 56.696 | 0.0 | 75.93 +Neigh | 2.2232 | 2.2232 | 2.2232 | 0.0 | 2.98 +Comm | 6.1867 | 6.1867 | 6.1867 | 0.0 | 8.29 +Output | 0.0012016 | 0.0012016 | 0.0012016 | 0.0 | 0.00 +Modify | 8.432 | 8.432 | 8.432 | 0.0 | 11.29 +Other | | 1.125 | | | 1.51 Nlocal: 3290.00 ave 3290 max 3290 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -172,4 +172,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:01:20 +Total wall time: 0:01:14 diff --git a/examples/multi/log.30Nov20.granular.old.intel.4 b/examples/multi/log.30Nov20.granular.old.intel.4 index e41741b536..507de22119 100644 --- a/examples/multi/log.30Nov20.granular.old.intel.4 +++ b/examples/multi/log.30Nov20.granular.old.intel.4 @@ -1,5 +1,5 @@ -LAMMPS (30 Nov 2020) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:95) +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task # Big colloid particles and small LJ particles @@ -15,7 +15,7 @@ Created orthogonal box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.8528 2 by 2 by 1 MPI processor grid create_atoms 1 box Created 3600 atoms - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.063 seconds change_box all triclinic Changing box ... triclinic box = (0.0000000 0.0000000 -0.70710678) to (84.852814 84.852814 0.70710678) with tilt (0.0000000 0.0000000 0.0000000) @@ -51,9 +51,9 @@ velocity all create 1.44 87287 loop geom # multi neighbor and comm for efficiency -neighbor 1 multi/old -neigh_modify delay 0 -comm_modify mode multi vel yes #multi/reduce +neighbor 1 multi/old #multi +neigh_modify delay 0 #collection/interval 2 1 20 +comm_modify mode multi/old vel yes #reduce/multi # colloid potential @@ -64,7 +64,7 @@ fix 1 all nph/sphere iso 0.0 1.0 10.0 drag 1.0 fix 2 all enforce2d fix 3 all deform 1 xy erate 1e-3 -dump 1 all custom 1000 dump.granular id x y z radius +#dump 1 all custom 1000 dump.granular id x y z radius #dump 2 all image 1000 image.*.jpg type type # zoom 1.5 center d 0.5 0.5 0.5 #dump_modify 2 pad 5 adiam 1 5.0 adiam 2 1.5 @@ -90,7 +90,7 @@ Neighbor list info ... pair build: half/size/multi/old/newton/tri stencil: half/multi/old/2d/tri bin: standard -Per MPI rank memory allocation (min/avg/max) = 11.48 | 11.48 | 11.49 Mbytes +Per MPI rank memory allocation (min/avg/max) = 10.20 | 10.20 | 10.20 Mbytes Step Temp E_pair TotEng Press Volume 0 1.44 0 1.4395623 0.66837658 7200 1000 0.32273428 0 0.32263619 0.17174972 7859.8897 @@ -143,20 +143,20 @@ Step Temp E_pair TotEng Press Volume 48000 0.00017437702 0 0.00017432402 0.93565475 1794.1258 49000 0.00018645903 0 0.00018640235 0.95733183 1779.4032 50000 0.00018469122 0 0.00018463508 0.96446925 1765.1534 -Loop time of 30.9351 on 4 procs for 50000 steps with 3290 atoms +Loop time of 30.1448 on 4 procs for 50000 steps with 3290 atoms -Performance: 698235.574 tau/day, 1616.286 timesteps/s -89.8% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 716540.413 tau/day, 1658.658 timesteps/s +90.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 9.3702 | 12.796 | 16.045 | 84.3 | 41.36 -Neigh | 0.43499 | 0.55158 | 0.64861 | 12.8 | 1.78 -Comm | 10.183 | 13.476 | 16.961 | 83.7 | 43.56 -Output | 0.088474 | 0.088715 | 0.089272 | 0.1 | 0.29 -Modify | 3.0446 | 3.1809 | 3.3227 | 7.4 | 10.28 -Other | | 0.8418 | | | 2.72 +Pair | 8.7565 | 12.704 | 16.036 | 89.8 | 42.14 +Neigh | 0.4494 | 0.56436 | 0.66263 | 11.8 | 1.87 +Comm | 9.5962 | 12.989 | 17.006 | 90.8 | 43.09 +Output | 0.00088467 | 0.0011022 | 0.0015811 | 0.9 | 0.00 +Modify | 2.9732 | 3.0944 | 3.2463 | 7.0 | 10.27 +Other | | 0.7918 | | | 2.63 Nlocal: 822.500 ave 859 max 785 min Histogram: 1 0 1 0 0 0 0 0 1 1 diff --git a/examples/multi/log.30Nov20.powerlaw.intel.1 b/examples/multi/log.30Nov20.powerlaw.intel.1 new file mode 100644 index 0000000000..81b116ddd4 --- /dev/null +++ b/examples/multi/log.30Nov20.powerlaw.intel.1 @@ -0,0 +1,191 @@ +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 +read_data data +Reading data file ... + triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 10000 atoms + reading velocities ... + 10000 velocities + read_data CPU = 0.027 seconds +change_box all triclinic +Changing box ... + triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) + +# multi neighbor and comm for efficiency + +neighbor 1 multi +neigh_modify delay 0 collection/interval 6 1.5 3 10 30 100 200 +comm_modify mode multi vel yes reduce/multi + +# granular potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +# fixes + +fix 1 all nve/sphere +fix 2 all enforce2d +fix 3 all deform 1 xy erate 2e-4 + +# dump 1 all custom 2000 dump.granular id x y z radius + +thermo_style custom step temp epair etotal press vol pxy +thermo 1000 + +timestep 0.005 + +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 164.7888 + ghost atom cutoff = 164.7888 + binsize = 82.3944, bins = 4 4 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton/tri + stencil: half/multi/2d/tri + bin: multi +Per MPI rank memory allocation (min/avg/max) = 14.76 | 14.76 | 14.76 Mbytes +Step Temp E_pair TotEng Press Volume Pxy + 0 0.00014649953 0 0.00014648488 0.027643657 103595.49 -0.0014952693 + 1000 0.00014726802 0 0.00014725329 0.029388139 103595.49 -0.00172238 + 2000 0.00014880425 0 0.00014878937 0.029608995 103595.49 -0.0023614491 + 3000 0.00015154766 0 0.0001515325 0.029668747 103595.49 -0.0029243775 + 4000 0.00015547813 0 0.00015546258 0.029662951 103595.49 -0.0034433688 + 5000 0.00015919808 0 0.00015918216 0.02988062 103595.49 -0.0037443111 + 6000 0.00016272902 0 0.00016271275 0.029776943 103595.49 -0.0042445445 + 7000 0.00016666322 0 0.00016664655 0.029919286 103595.49 -0.0045231987 + 8000 0.00017137531 0 0.00017135817 0.029849078 103595.49 -0.0049023441 + 9000 0.00017774522 0 0.00017772744 0.029925275 103595.49 -0.0051437804 + 10000 0.00018294048 0 0.00018292219 0.030166956 103595.49 -0.0052769381 + 11000 0.00019030719 0 0.00019028816 0.02988594 103595.49 -0.0058095975 + 12000 0.00019806568 0 0.00019804587 0.029852302 103595.49 -0.0060925449 + 13000 0.00020800749 0 0.00020798669 0.029927995 103595.49 -0.0062667347 + 14000 0.00021854888 0 0.00021852703 0.029984135 103595.49 -0.0064949797 + 15000 0.00022975749 0 0.00022973451 0.030063358 103595.49 -0.0065788835 + 16000 0.00024074076 0 0.00024071668 0.03006058 103595.49 -0.006757928 + 17000 0.00025363768 0 0.00025361232 0.030138053 103595.49 -0.0068153904 + 18000 0.00026618156 0 0.00026615494 0.030621109 103595.49 -0.0067026865 + 19000 0.00028000661 0 0.00027997861 0.030520699 103595.49 -0.0067126187 + 20000 0.00029472369 0 0.00029469422 0.030182866 103595.49 -0.0071232374 + 21000 0.00031065822 0 0.00031062716 0.030417926 103595.49 -0.0070815254 + 22000 0.00032789694 0 0.00032786415 0.030434044 103595.49 -0.007044194 + 23000 0.00034491703 0 0.00034488253 0.031195478 103595.49 -0.006895101 + 24000 0.00036262497 0 0.00036258871 0.030348688 103595.49 -0.0073503964 + 25000 0.00038232332 0 0.00038228509 0.030429549 103595.49 -0.0073043833 + 26000 0.00040292952 0 0.00040288922 0.030277517 103595.49 -0.0074475354 + 27000 0.00042260162 0 0.00042255936 0.030270875 103595.49 -0.0074037511 + 28000 0.00044296255 0 0.00044291826 0.030568983 103595.49 -0.0070827585 + 29000 0.00046164594 0 0.00046159978 0.030392129 103595.49 -0.0070495682 + 30000 0.00048018966 0 0.00048014164 0.03027035 103595.49 -0.0071339757 + 31000 0.00049904958 0 0.00049899968 0.030278024 103595.49 -0.0070690708 + 32000 0.00051586592 0 0.00051581433 0.030105498 103595.49 -0.007134143 + 33000 0.000533257 0 0.00053320367 0.029788452 103595.49 -0.0072245811 + 34000 0.00054849405 0 0.0005484392 0.029873916 103595.49 -0.0069597013 + 35000 0.00056356221 0 0.00056350586 0.029706011 103595.49 -0.00704387 + 36000 0.00057701153 0 0.00057695383 0.029584377 103595.49 -0.006959137 + 37000 0.00058975804 0 0.00058969906 0.029510998 103595.49 -0.0069205813 + 38000 0.00060106815 0 0.00060100804 0.029866588 103595.49 -0.006493655 + 39000 0.00061178223 0 0.00061172105 0.0294686 103595.49 -0.0066809721 + 40000 0.00062087616 0 0.00062081407 0.029305512 103595.49 -0.0067040127 + 41000 0.00062938061 0 0.00062931767 0.029313523 103595.49 -0.0065943738 + 42000 0.0006366437 0 0.00063658004 0.029294719 103595.49 -0.0065039414 + 43000 0.00064403805 0 0.00064397364 0.029169615 103595.49 -0.0065453715 + 44000 0.00064990286 0 0.00064983787 0.029173689 103595.49 -0.0064757302 + 45000 0.00065485285 0 0.00065478736 0.02911295 103595.49 -0.0065336599 + 46000 0.00065918851 0 0.00065912259 0.029664657 103595.49 -0.0060618092 + 47000 0.00066143867 0 0.00066137253 0.029672077 103595.49 -0.0061605571 + 48000 0.00066260774 0 0.00066254148 0.029356515 103595.49 -0.0063944326 + 49000 0.0006641111 0 0.00066404469 0.029771162 103595.49 -0.0061440485 + 50000 0.00066562386 0 0.0006655573 0.02944773 103595.49 -0.0063912951 + 51000 0.00066744319 0 0.00066737645 0.029507067 103595.49 -0.00636767 + 52000 0.00066927675 0 0.00066920982 0.029773443 103595.49 -0.0062192673 + 53000 0.00066999455 0 0.00066992755 0.029626747 103595.49 -0.0062819185 + 54000 0.00067204697 0 0.00067197976 0.029608834 103595.49 -0.0063047897 + 55000 0.00067089926 0 0.00067083217 0.029778336 103595.49 -0.006198876 + 56000 0.00067044673 0 0.00067037969 0.029707087 103595.49 -0.0062920606 + 57000 0.00066987451 0 0.00066980752 0.029751879 103595.49 -0.0062887511 + 58000 0.00066781462 0 0.00066774784 0.029673932 103595.49 -0.0063301658 + 59000 0.00065347402 0 0.00065340867 0.029540521 103595.49 -0.0064527808 + 60000 0.00065304518 0 0.00065297988 0.029801357 103595.49 -0.0062633754 + 61000 0.00065183192 0 0.00065176673 0.029786145 103595.49 -0.0063152956 + 62000 0.00065242331 0 0.00065235807 0.030461931 103595.49 -0.0060591261 + 63000 0.00065491938 0 0.00065485389 0.029715839 103595.49 -0.0065344894 + 64000 0.00065769719 0 0.00065763142 0.02977148 103595.49 -0.0065105553 + 65000 0.00066125407 0 0.00066118795 0.029534462 103595.49 -0.0066901883 + 66000 0.00066433913 0 0.0006642727 0.029949304 103595.49 -0.0064367129 + 67000 0.00066819344 0 0.00066812662 0.029629692 103595.49 -0.0067136218 + 68000 0.00067300953 0 0.00067294223 0.029793673 103595.49 -0.0065898421 + 69000 0.00067875538 0 0.0006786875 0.029651968 103595.49 -0.0067198512 + 70000 0.00068416104 0 0.00068409262 0.030125821 103595.49 -0.0063225262 + 71000 0.00068728347 0 0.00068721475 0.02958142 103595.49 -0.0066417995 + 72000 0.00068926082 0 0.00068919189 0.02976018 103595.49 -0.0063898599 + 73000 0.00068953168 0 0.00068946272 0.029574927 103595.49 -0.0065193167 + 74000 0.00069104787 0 0.00069097876 0.030209247 103595.49 -0.0060666707 + 75000 0.00069606779 0 0.00069599818 0.029636657 103595.49 -0.006387635 + 76000 0.00070399158 0 0.00070392118 0.029585803 103595.49 -0.0063291939 + 77000 0.00070284473 0 0.00070277445 0.029936591 103595.49 -0.0060359763 + 78000 0.00070619015 0 0.00070611953 0.029554333 103595.49 -0.0062453302 + 79000 0.00070892936 0 0.00070885847 0.029853506 103595.49 -0.0060833753 + 80000 0.00071125368 0 0.00071118255 0.029625268 103595.49 -0.0062046031 + 81000 0.00070944317 0 0.00070937223 0.029629542 103595.49 -0.0062343125 + 82000 0.00070892851 0 0.00070885762 0.029664456 103595.49 -0.006250692 + 83000 0.00070946812 0 0.00070939718 0.029964177 103595.49 -0.006159583 + 84000 0.00071198659 0 0.00071191539 0.029813631 103595.49 -0.0062607732 + 85000 0.00071266579 0 0.00071259453 0.029645729 103595.49 -0.0064004319 + 86000 0.00071461592 0 0.00071454446 0.029700002 103595.49 -0.0063398759 + 87000 0.00071781454 0 0.00071774276 0.029748726 103595.49 -0.0063600357 + 88000 0.00072016268 0 0.00072009067 0.029772487 103595.49 -0.0063655529 + 89000 0.00072272254 0 0.00072265027 0.030006837 103595.49 -0.0063122612 + 90000 0.00072122914 0 0.00072115701 0.029982109 103595.49 -0.006439831 + 91000 0.00072443479 0 0.00072436235 0.029830121 103595.49 -0.0065202831 + 92000 0.00072738733 0 0.00072731459 0.030194727 103595.49 -0.0062808688 + 93000 0.00072899838 0 0.00072892548 0.030175295 103595.49 -0.0062914883 + 94000 0.00072984304 0 0.00072977006 0.029844017 103595.49 -0.0064737335 + 95000 0.00073206475 0 0.00073199154 0.029798899 103595.49 -0.0064644006 + 96000 0.00073374806 0 0.00073367468 0.030226823 103595.49 -0.0061626549 + 97000 0.00073388886 0 0.00073381547 0.029993629 103595.49 -0.0063710254 + 98000 0.00073534207 0 0.00073526854 0.030245848 103595.49 -0.0063407392 + 99000 0.00073805531 0 0.0007379815 0.030287955 103595.49 -0.0063646707 + 100000 0.0007385798 0 0.00073850594 0.030172948 103595.49 -0.0064654963 +Loop time of 233.709 on 1 procs for 100000 steps with 10000 atoms + +Performance: 184845.371 tau/day, 427.883 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 193.18 | 193.18 | 193.18 | 0.0 | 82.66 +Neigh | 1.1138 | 1.1138 | 1.1138 | 0.0 | 0.48 +Comm | 2.3652 | 2.3652 | 2.3652 | 0.0 | 1.01 +Output | 0.0092981 | 0.0092981 | 0.0092981 | 0.0 | 0.00 +Modify | 32.407 | 32.407 | 32.407 | 0.0 | 13.87 +Other | | 4.628 | | | 1.98 + +Nlocal: 10000.0 ave 10000 max 10000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 446.000 ave 446 max 446 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 34464.0 ave 34464 max 34464 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 34464 +Ave neighs/atom = 3.4464000 +Neighbor list builds = 153 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:03:53 diff --git a/examples/multi/log.30Nov20.powerlaw.intel.4 b/examples/multi/log.30Nov20.powerlaw.intel.4 new file mode 100644 index 0000000000..34d3b85c1b --- /dev/null +++ b/examples/multi/log.30Nov20.powerlaw.intel.4 @@ -0,0 +1,191 @@ +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) + using 1 OpenMP thread(s) per MPI task +# Big colloid particles and small LJ particles + +units lj +atom_style sphere +dimension 2 +read_data data +Reading data file ... + triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 10000 atoms + reading velocities ... + 10000 velocities + read_data CPU = 0.024 seconds +change_box all triclinic +Changing box ... + triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) + +# multi neighbor and comm for efficiency + +neighbor 1 multi +neigh_modify delay 0 collection/interval 6 1.5 3 10 30 100 200 +comm_modify mode multi vel yes reduce/multi + +# granular potential + +pair_style granular +pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity + +# fixes + +fix 1 all nve/sphere +fix 2 all enforce2d +fix 3 all deform 1 xy erate 2e-4 + +# dump 1 all custom 2000 dump.granular id x y z radius + +thermo_style custom step temp epair etotal press vol pxy +thermo 1000 + +timestep 0.005 + +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 164.7888 + ghost atom cutoff = 164.7888 + binsize = 82.3944, bins = 4 4 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton/tri + stencil: half/multi/2d/tri + bin: multi +Per MPI rank memory allocation (min/avg/max) = 12.65 | 12.67 | 12.68 Mbytes +Step Temp E_pair TotEng Press Volume Pxy + 0 0.00014649953 0 0.00014648488 0.027643657 103595.49 -0.0014952693 + 1000 0.00014726802 0 0.00014725329 0.029388139 103595.49 -0.00172238 + 2000 0.00014880425 0 0.00014878937 0.029608995 103595.49 -0.0023614491 + 3000 0.00015154766 0 0.0001515325 0.029668747 103595.49 -0.0029243775 + 4000 0.00015547813 0 0.00015546258 0.029662951 103595.49 -0.0034433688 + 5000 0.00015919808 0 0.00015918216 0.02988062 103595.49 -0.0037443111 + 6000 0.00016272902 0 0.00016271275 0.029776943 103595.49 -0.0042445445 + 7000 0.00016666322 0 0.00016664655 0.029919286 103595.49 -0.0045231987 + 8000 0.00017137531 0 0.00017135817 0.029849078 103595.49 -0.0049023441 + 9000 0.00017774522 0 0.00017772744 0.029925275 103595.49 -0.0051437804 + 10000 0.00018294048 0 0.00018292219 0.030166956 103595.49 -0.0052769381 + 11000 0.00019030719 0 0.00019028816 0.02988594 103595.49 -0.0058095975 + 12000 0.00019806568 0 0.00019804587 0.029852302 103595.49 -0.0060925449 + 13000 0.00020800749 0 0.00020798669 0.029927995 103595.49 -0.0062667347 + 14000 0.00021854888 0 0.00021852703 0.029984135 103595.49 -0.0064949797 + 15000 0.00022975749 0 0.00022973451 0.030063358 103595.49 -0.0065788835 + 16000 0.00024074076 0 0.00024071668 0.03006058 103595.49 -0.006757928 + 17000 0.00025363768 0 0.00025361232 0.030138053 103595.49 -0.0068153904 + 18000 0.00026618156 0 0.00026615494 0.030621109 103595.49 -0.0067026865 + 19000 0.00028000661 0 0.00027997861 0.030520699 103595.49 -0.0067126187 + 20000 0.00029472369 0 0.00029469422 0.030182866 103595.49 -0.0071232374 + 21000 0.00031065822 0 0.00031062716 0.030417926 103595.49 -0.0070815254 + 22000 0.00032789694 0 0.00032786415 0.030434044 103595.49 -0.007044194 + 23000 0.00034491703 0 0.00034488253 0.031195478 103595.49 -0.006895101 + 24000 0.00036262497 0 0.00036258871 0.030348688 103595.49 -0.0073503964 + 25000 0.00038232332 0 0.00038228509 0.030429549 103595.49 -0.0073043833 + 26000 0.00040292952 0 0.00040288922 0.030277517 103595.49 -0.0074475354 + 27000 0.00042260162 0 0.00042255936 0.030270875 103595.49 -0.0074037511 + 28000 0.00044296255 0 0.00044291826 0.030568983 103595.49 -0.0070827585 + 29000 0.00046164594 0 0.00046159978 0.030392129 103595.49 -0.0070495682 + 30000 0.00048018966 0 0.00048014164 0.03027035 103595.49 -0.0071339757 + 31000 0.00049904958 0 0.00049899968 0.030278024 103595.49 -0.0070690709 + 32000 0.00051586592 0 0.00051581433 0.030105498 103595.49 -0.007134143 + 33000 0.000533257 0 0.00053320367 0.029788452 103595.49 -0.0072245811 + 34000 0.00054849405 0 0.0005484392 0.029873916 103595.49 -0.0069597013 + 35000 0.00056356221 0 0.00056350586 0.029706011 103595.49 -0.00704387 + 36000 0.00057701153 0 0.00057695383 0.029584377 103595.49 -0.006959137 + 37000 0.00058975804 0 0.00058969906 0.029510998 103595.49 -0.0069205813 + 38000 0.00060106815 0 0.00060100804 0.029866588 103595.49 -0.006493655 + 39000 0.0006117822 0 0.00061172102 0.029468049 103595.49 -0.0066810094 + 40000 0.00062087615 0 0.00062081406 0.02930398 103595.49 -0.0067044715 + 41000 0.00062938044 0 0.0006293175 0.029314381 103595.49 -0.0065941361 + 42000 0.00063664289 0 0.00063657923 0.029294787 103595.49 -0.0065039202 + 43000 0.00064404027 0 0.00064397587 0.029224232 103595.49 -0.0065035306 + 44000 0.00064990723 0 0.00064984224 0.029142324 103595.49 -0.0065034116 + 45000 0.00065485343 0 0.00065478795 0.029121173 103595.49 -0.0065214973 + 46000 0.00065918796 0 0.00065912204 0.029651005 103595.49 -0.0060509446 + 47000 0.00066144517 0 0.00066137903 0.029234729 103595.49 -0.0064672274 + 48000 0.00066261185 0 0.00066254559 0.029229845 103595.49 -0.0065053596 + 49000 0.00066414215 0 0.00066407574 0.029562705 103595.49 -0.0062441985 + 50000 0.0006656453 0 0.00066557874 0.029728174 103595.49 -0.0062147051 + 51000 0.00066738973 0 0.00066732299 0.029928822 103595.49 -0.0060118516 + 52000 0.00066929756 0 0.00066923063 0.029886551 103595.49 -0.0061374389 + 53000 0.00067003172 0 0.00066996472 0.029567015 103595.49 -0.0063482821 + 54000 0.00067198511 0 0.00067191791 0.029833698 103595.49 -0.0061879264 + 55000 0.00067091193 0 0.00067084484 0.029711467 103595.49 -0.006233379 + 56000 0.00067046578 0 0.00067039873 0.030035238 103595.49 -0.0060959401 + 57000 0.00066988234 0 0.00066981535 0.030055225 103595.49 -0.0060935858 + 58000 0.00066786916 0 0.00066780238 0.029282172 103595.49 -0.0066021495 + 59000 0.00065350543 0 0.00065344008 0.029343567 103595.49 -0.0065364678 + 60000 0.0006530936 0 0.0006530283 0.02940862 103595.49 -0.0065558353 + 61000 0.00065187483 0 0.00065180964 0.02929946 103595.49 -0.0066840857 + 62000 0.00065245428 0 0.00065238904 0.030084765 103595.49 -0.0063065368 + 63000 0.0006549311 0 0.00065486561 0.029725525 103595.49 -0.0065305296 + 64000 0.00065774123 0 0.00065767546 0.029562667 103595.49 -0.0066194535 + 65000 0.00066126698 0 0.00066120085 0.029524987 103595.49 -0.0067008104 + 66000 0.0006643846 0 0.00066431816 0.029589813 103595.49 -0.0066689844 + 67000 0.00066823073 0 0.00066816391 0.029613668 103595.49 -0.0067372273 + 68000 0.00067301835 0 0.00067295104 0.029568568 103595.49 -0.0067808311 + 69000 0.00067876831 0 0.00067870043 0.029948152 103595.49 -0.0065107568 + 70000 0.00068419902 0 0.0006841306 0.029572996 103595.49 -0.0067066975 + 71000 0.00068730343 0 0.0006872347 0.029970497 103595.49 -0.0063646358 + 72000 0.00068930016 0 0.00068923123 0.029602044 103595.49 -0.0064953597 + 73000 0.00068953092 0 0.00068946197 0.029671751 103595.49 -0.0064422021 + 74000 0.00069106659 0 0.00069099748 0.029918321 103595.49 -0.0062634576 + 75000 0.00069609345 0 0.00069602384 0.029666179 103595.49 -0.0063552778 + 76000 0.00070399534 0 0.00070392494 0.029599912 103595.49 -0.0063251165 + 77000 0.00070284669 0 0.00070277641 0.029658992 103595.49 -0.0061988379 + 78000 0.00070619715 0 0.00070612653 0.029578035 103595.49 -0.0062153063 + 79000 0.00070895477 0 0.00070888388 0.029617734 103595.49 -0.0062090554 + 80000 0.00071127424 0 0.00071120311 0.029539347 103595.49 -0.0062883775 + 81000 0.00070945256 0 0.00070938162 0.029515493 103595.49 -0.0063350852 + 82000 0.00070895167 0 0.00070888078 0.029537389 103595.49 -0.0063819074 + 83000 0.00070948858 0 0.00070941763 0.02998589 103595.49 -0.0061284544 + 84000 0.00071197606 0 0.00071190486 0.030005566 103595.49 -0.0061829926 + 85000 0.00071266684 0 0.00071259557 0.029675137 103595.49 -0.0063804963 + 86000 0.00071465352 0 0.00071458205 0.029762675 103595.49 -0.0062924985 + 87000 0.00071779428 0 0.0007177225 0.029712831 103595.49 -0.0063812951 + 88000 0.00072016431 0 0.0007200923 0.029932619 103595.49 -0.0063145709 + 89000 0.00072271727 0 0.000722645 0.029818327 103595.49 -0.0064025621 + 90000 0.00072122834 0 0.00072115622 0.029829495 103595.49 -0.0065870713 + 91000 0.00072441206 0 0.00072433962 0.029939415 103595.49 -0.0064224045 + 92000 0.00072735846 0 0.00072728572 0.02991447 103595.49 -0.0064256019 + 93000 0.00072898882 0 0.00072891592 0.030230938 103595.49 -0.0061929729 + 94000 0.00072985209 0 0.00072977911 0.030145973 103595.49 -0.0062797016 + 95000 0.0007320685 0 0.0007319953 0.030113809 103595.49 -0.0062765142 + 96000 0.0007337917 0 0.00073371832 0.029919191 103595.49 -0.0063350801 + 97000 0.00073385417 0 0.00073378078 0.030184207 103595.49 -0.0062855982 + 98000 0.00073531629 0 0.00073524276 0.029974905 103595.49 -0.0064826333 + 99000 0.0007380024 0 0.0007379286 0.030678507 103595.49 -0.0060867823 + 100000 0.00073858055 0 0.00073850669 0.030048209 103595.49 -0.0065772058 +Loop time of 77.8133 on 4 procs for 100000 steps with 10000 atoms + +Performance: 555175.163 tau/day, 1285.128 timesteps/s +100.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 28.939 | 48.992 | 61.808 | 189.4 | 62.96 +Neigh | 0.22765 | 0.31872 | 0.38751 | 10.9 | 0.41 +Comm | 3.53 | 16.362 | 36.515 | 328.8 | 21.03 +Output | 0.0046275 | 0.0064601 | 0.008626 | 1.8 | 0.01 +Modify | 5.0862 | 8.3128 | 10.255 | 74.1 | 10.68 +Other | | 3.821 | | | 4.91 + +Nlocal: 2500.00 ave 3016 max 1605 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 221.500 ave 273 max 176 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 8616.00 ave 10377 max 5447 min +Histogram: 1 0 0 0 0 1 0 0 0 2 + +Total # of neighbors = 34464 +Ave neighs/atom = 3.4464000 +Neighbor list builds = 153 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:17 diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index db1e8d5682..46829a2720 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -232,8 +232,9 @@ void NBinMulti::setup_bins(int /*style*/) bininvz_multi[n] = 1.0 / binsizez_multi[n]; if (binsize_optimal*bininvx_multi[n] > CUT2BIN_RATIO || - binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO || - binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO) + binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO) + error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); + if(dimension == 3 and binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); // mbinlo/hi = lowest and highest global bins my ghost atoms could be in From 65a82bb5858080214b77ecede4ab93ddc021de30 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sat, 6 Feb 2021 12:57:19 -0700 Subject: [PATCH 070/542] Adding new example --- examples/multi/data.powerlaw | 40000 +++++++++--------- examples/multi/in.powerlaw | 8 +- examples/multi/log.30Nov20.powerlaw.intel.1 | 344 +- examples/multi/log.30Nov20.powerlaw.intel.4 | 348 +- 4 files changed, 20450 insertions(+), 20250 deletions(-) diff --git a/examples/multi/data.powerlaw b/examples/multi/data.powerlaw index 8d1239f18b..2ce54cf4a6 100755 --- a/examples/multi/data.powerlaw +++ b/examples/multi/data.powerlaw @@ -10,20006 +10,20006 @@ LAMMPS data file via write_data, version 24 Dec 2020, timestep = 400000 Atoms # sphere -5 1 53.3452 1 24.11983771564243 68.3864105656564 0 0 0 0 -16 1 27.0148 1 44.452300814629524 34.553717084559324 0 0 0 0 -17 1 25.5929 1 68.38354504971392 54.06475170935992 0 0 0 0 -37 1 16.0333 1 21.245215917793043 25.77572727368242 0 0 0 0 -8263 1 1.097 1 11.708192742157616 17.87628382394025 0 1 0 0 -3384 1 1.72 1 50.90886093789832 62.30285871322583 0 0 0 0 -1246 1 2.857 1 48.42720785177107 19.125614604813737 0 0 1 0 -163 1 7.4543 1 52.92059018138831 11.758077886663509 0 0 0 0 -166 1 7.4036 1 52.22842193013173 57.14032835838031 0 0 0 0 -168 1 7.3782 1 67.8997369874434 37.71308832601801 0 0 0 0 -6557 1 1.2369 1 11.295799175061966 44.30117186186906 0 1 0 0 -208 1 6.6527 1 61.1259176496811 36.19196224734089 0 0 0 0 -336 1 5.417 1 65.06953771853591 21.29750437142649 0 0 0 0 -346 1 5.3618 1 22.215439365950207 37.0147208031179 0 0 0 0 -5513 1 1.3496 1 57.12033179181392 10.64220332754185 0 0 0 0 -412 1 4.8776 1 17.672010595684508 40.11493119326499 0 0 0 0 -439 1 4.6882 1 71.11713930089661 21.10972952271469 0 0 0 0 -511 1 4.3207 1 61.99786200551653 15.7285378811011 0 0 0 0 -527 1 4.2767 1 51.578706654445845 20.727968822288982 0 0 0 0 -4272 1 1.5377 1 57.071595881584244 19.179812412376158 0 0 1 0 -543 1 4.2317 1 27.26359333718018 39.94157599264931 0 0 0 0 -562 1 4.1677 1 59.81433643375789 66.07528891967839 0 0 0 0 -567 1 4.1383 1 16.49975368111738 34.647919218460544 0 0 0 0 -569 1 4.1329 1 29.01334056124924 32.03678406685905 0 0 0 0 -600 1 4.0221 1 54.27815300580397 62.3600853316132 0 0 0 0 -5108 1 1.4029 1 73.73125627225376 19.677797581451607 0 0 0 0 -617 1 3.975 1 55.98574134419896 67.02182364027037 0 0 0 0 -629 1 3.9339 1 70.33990954744172 31.235263322465816 0 0 0 0 -632 1 3.927 1 59.10259779677181 20.90661579877451 0 0 0 0 -675 1 3.8345 1 67.43217050972282 25.075831741614678 0 0 0 0 -7224 1 1.1762 1 60.56971642466663 73.63795194238719 0 0 0 0 -781 1 3.6204 1 65.88843570308798 16.951378069907122 0 0 0 0 -816 1 3.5492 1 29.47255639818249 36.989781506165265 0 0 0 0 -818 1 3.5444 1 71.07247296695553 25.216862431845435 0 0 0 0 -826 1 3.5256 1 56.16977635130581 23.054438891951555 0 0 0 0 -839 1 3.4855 1 59.32150307446647 31.552032584430012 0 0 0 0 -844 1 3.4658 1 63.84742712072895 29.721610754958064 0 0 0 0 -848 1 3.4621 1 30.529974422317608 23.147962676957526 0 0 0 0 -917 1 3.3207 1 37.49425767354572 19.137889093582253 0 0 0 0 -924 1 3.3086 1 61.362409489439216 27.55964246321922 0 0 0 0 -936 1 3.2842 1 25.72506969645315 34.50534872289077 0 0 0 0 -980 1 3.2089 1 66.77355321573 31.18937461590332 0 0 0 0 -3643 1 1.6639 1 29.605676776639253 20.209519255093625 0 0 0 0 -7408 1 1.1605 1 13.145943365896626 22.862344767769148 0 1 0 0 -731 1 3.7184 1 11.371529623751211 11.959060629768377 0 1 1 0 -9783 1 1.0108 1 55.897218689184704 48.853888928147974 0 0 0 0 -1098 1 3.022 1 58.94523543151384 17.586632061296957 0 0 0 0 -1130 1 2.9764 1 40.52800802097554 19.85798344953009 0 0 0 0 -1146 1 2.9657 1 64.39536492055794 26.56603410929875 0 0 0 0 -1205 1 2.9015 1 59.54874892085466 41.223954711613175 0 0 0 0 -1238 1 2.8644 1 60.391561074062416 12.588040772385634 0 0 0 0 -1253 1 2.8463 1 53.14658405182607 46.639657557123265 0 0 0 0 -1292 1 2.8008 1 64.27675793080158 32.76015981503821 0 0 0 0 -1297 1 2.7955 1 13.094629597082976 39.590193617914004 0 0 0 0 -1304 1 2.7888 1 65.31832474321456 67.76499997369828 0 0 0 0 -1311 1 2.7798 1 58.34714272106967 44.18848063856835 0 0 0 0 -1335 1 2.754 1 48.44682319528975 48.80955370960881 0 0 0 0 -1343 1 2.7444 1 67.75502453412935 13.531572653521604 0 0 0 0 -1383 1 2.7011 1 14.14192126369561 37.05172821950583 0 0 0 0 -1387 1 2.6993 1 50.32521797991111 52.5105169682769 0 0 0 0 -1391 1 2.6917 1 36.98685331596068 21.92532627575025 0 0 0 0 -1452 1 2.6196 1 57.46494085658486 13.878431627474123 0 0 0 0 -1475 1 2.6 1 55.711876232464256 44.48686004946718 0 0 0 0 -1513 1 2.5624 1 32.542826509557635 21.034403230868637 0 0 0 0 -3866 1 1.6136 1 25.32673267191501 13.684962628572073 0 1 1 0 -1554 1 2.531 1 43.738257501410494 19.82037458257497 0 0 0 0 -4832 1 1.4446 1 37.30763014726111 15.487739846852724 0 0 1 0 -1686 1 2.4305 1 14.238865229922308 41.898168898809914 0 0 0 0 -977 1 3.2106 1 13.837933335626799 18.15398350428586 0 1 0 0 -6789 1 1.2137 1 45.32107423231822 10.648790727834042 0 0 1 0 -1802 1 2.3534 1 71.10607833186634 68.93014319970447 0 0 0 0 -4270 1 1.5379 1 27.411323497260785 11.733050451315393 0 0 1 0 -6333 1 1.2585 1 67.01888590159469 68.79339028698848 0 0 0 0 -1865 1 2.3223 1 32.98334217711584 24.563224315918916 0 0 0 0 -1886 1 2.3096 1 58.51045507819586 24.836502033882496 0 0 0 0 -7839 1 1.1265 1 28.17382673667021 18.962871414936934 0 1 0 0 -1904 1 2.2971 1 47.37375365147601 51.487721471809294 0 0 0 0 -1932 1 2.2815 1 58.860641198945295 10.640507503203354 0 0 0 0 -1989 1 2.2483 1 58.65282952323648 27.03318437492474 0 0 0 0 -2051 1 2.2085 1 71.72184232212858 33.97385419742032 0 0 0 0 -9606 1 1.0204 1 53.32694279678997 18.412033106710727 0 0 0 0 -2181 1 2.1455 1 57.205741786136855 63.23519743812247 0 0 0 0 -2205 1 2.1343 1 73.03800358711541 35.63994789353036 0 0 0 0 -2244 1 2.1187 1 34.69007620917871 21.68653644919963 0 0 0 0 -1803 1 2.3533 1 68.86352406384326 10.109035764573735 0 0 0 0 -2271 1 2.1066 1 67.23707947825095 28.664988930119456 0 0 0 0 -2286 1 2.101 1 55.548042629275166 15.693903799522793 0 0 0 0 -2313 1 2.0838 1 54.628652221417255 53.100230369407896 0 0 0 0 -7604 1 1.1438 1 48.46470414007908 10.134528052239032 0 0 1 0 -2370 1 2.0591 1 56.45825305691895 17.53321768302472 0 0 0 0 -8013 1 1.1137 1 12.629201801744236 30.164892400571038 0 1 0 0 -2408 1 2.0449 1 56.91322996355052 46.42044871252963 0 0 0 0 -2529 1 1.9999 1 12.558479091814647 43.29752886361088 0 0 0 0 -2545 1 1.9909 1 52.774709698422946 48.95961897372272 0 0 0 0 -6831 1 1.2093 1 69.59359535080002 73.92111797931956 0 0 0 0 -2561 1 1.985 1 63.690041011746466 41.19738951147974 0 0 0 0 -2600 1 1.9673 1 37.47368406895322 13.938876152000875 0 0 0 0 -2629 1 1.9572 1 51.60928524015589 50.4828747273608 0 0 0 0 -2631 1 1.9568 1 31.344273988415825 40.73268223724883 0 0 0 0 -2671 1 1.9414 1 71.62215517053401 28.444199174308785 0 0 0 0 -9959 1 1.0029 1 48.22589374839844 55.728121196880394 0 0 0 0 -7436 1 1.1582 1 11.031332812880011 18.747817463760057 0 1 0 0 -9538 1 1.0238 1 53.01981861384297 51.0237425755917 0 0 0 0 -2753 1 1.9103 1 59.27544711076752 28.968012818567274 0 0 0 0 -2767 1 1.9064 1 56.86225411216003 61.263311745631434 0 0 0 0 -2775 1 1.9047 1 60.00925437528187 69.07410626769179 0 0 0 0 -2797 1 1.894 1 64.22023491968085 13.654952374168497 0 0 0 0 -875 1 3.415 1 52.376560771544064 69.89474614345318 0 0 0 0 -2836 1 1.8833 1 22.738456722925328 40.7355421289515 0 0 0 0 -2843 1 1.8818 1 61.62286871809679 22.147370059597336 0 0 0 0 -6976 1 1.1962 1 26.756305864526546 16.81476365541611 0 1 0 0 -2887 1 1.8657 1 54.78432201904281 20.756872095852824 0 0 0 0 -3176 1 1.7715 1 61.809895167133945 68.21767765230811 0 0 0 0 -3012 1 1.8247 1 30.81496772328223 28.07266335722842 0 0 0 0 -3020 1 1.8199 1 35.370743826130045 23.454981545444063 0 0 0 0 -5165 1 1.3931 1 13.068972849695891 31.307728479189322 0 0 0 0 -3060 1 1.8099 1 30.89218637661062 29.82039574090449 0 0 0 0 -194 1 6.9422 1 45.29698442270533 15.428236752380577 0 0 0 0 -3114 1 1.7915 1 57.52125397032852 28.66520032771357 0 0 0 0 -3151 1 1.7783 1 70.08506953728582 18.082627093524398 0 0 0 0 -3175 1 1.7717 1 48.23523225448829 53.315837026914004 0 0 0 0 -3912 1 1.6057 1 52.46982743046355 72.33884924780489 0 0 0 0 -3218 1 1.7608 1 26.81570340649772 36.83385939366368 0 0 0 0 -3219 1 1.7606 1 73.0210962335243 29.58991374801558 0 0 0 0 -3258 1 1.751 1 65.72294153125323 12.772408724165027 0 0 0 0 -3285 1 1.7442 1 72.50547452480896 37.47897373026868 0 0 0 0 -3295 1 1.7414 1 62.6615337475886 12.798907532798363 0 0 0 0 -3303 1 1.7393 1 58.29137583953035 69.64218110116734 0 0 0 0 -3315 1 1.7361 1 18.555134318482324 36.98906884255766 0 0 0 0 -3336 1 1.7322 1 63.50255992892867 24.419941768035468 0 0 0 0 -3351 1 1.728 1 55.342698732238375 50.08662428560213 0 0 0 0 -3370 1 1.7234 1 55.48212571860288 19.128363582411225 0 0 0 0 -3396 1 1.7163 1 12.018682800699116 41.5396873586038 0 0 0 0 -3409 1 1.7124 1 30.179285378365478 34.579081872380115 0 0 0 0 -3418 1 1.7114 1 69.1808394077716 28.735486116493117 0 0 0 0 -3433 1 1.7087 1 56.71809031536441 25.57472666552483 0 0 0 0 -3855 1 1.6164 1 37.13554089163171 16.85695297329923 0 0 1 0 -3439 1 1.7061 1 55.09390097227477 47.76676114397607 0 0 0 0 -3440 1 1.7056 1 68.41779856995349 17.719598523644954 0 0 0 0 -2570 1 1.982 1 24.25998766458693 16.0566777493284 0 1 0 0 -3472 1 1.6992 1 63.56257263287335 18.181368434915115 0 0 0 0 -3475 1 1.6991 1 28.160084762531916 34.77899743316956 0 0 0 0 -1489 1 2.5899 1 56.215625327257406 70.2211586078717 0 0 0 0 -3549 1 1.682 1 61.28825559810334 42.5545683348196 0 0 0 0 -3590 1 1.6735 1 44.74892573141897 50.25101719478751 0 0 0 0 -3604 1 1.6702 1 56.71182252357444 27.19609377052764 0 0 0 0 -3788 1 1.6324 1 12.071221127943291 16.583444897809404 0 1 0 0 -9552 1 1.0232 1 19.958269199270543 34.82965817852319 0 0 0 0 -884 1 3.3819 1 11.137450505140139 20.984548024869177 0 1 0 0 -3723 1 1.6437 1 24.412754297769773 39.57042674202775 0 0 0 0 -4926 1 1.4289 1 15.666427591195982 15.502626929076149 0 1 0 0 -3806 1 1.628 1 31.26751396145635 25.50239861163295 0 0 0 0 -3889 1 1.61 1 61.748689715836015 31.034535400423213 0 0 0 0 -3893 1 1.6097 1 62.56349265902355 66.735017685162 0 0 0 0 -3976 1 1.5908 1 71.14823032396106 40.767363364779634 0 0 0 0 -3990 1 1.5888 1 57.32135580029972 15.965216884194383 0 0 0 0 -9799 1 1.0099 1 18.83608165636928 17.611021041672153 0 1 0 0 -4024 1 1.5786 1 68.33437689160718 22.532966926933614 0 0 0 0 -7643 1 1.1408 1 58.180089337146384 73.35878548859866 0 0 0 0 -4050 1 1.5744 1 49.12778795946305 50.81572835506739 0 0 0 0 -4137 1 1.5607 1 28.036234059717437 20.25841330263256 0 0 0 0 -7332 1 1.1679 1 51.9337563472829 61.36273687442941 0 0 0 0 -4100 1 1.5662 1 72.04136644945099 39.04200460216926 0 0 0 0 -4107 1 1.565 1 61.56287801492413 69.82033511849103 0 0 0 0 -6600 1 1.2315 1 23.144272636154263 17.35739940867616 0 1 0 0 -6043 1 1.29 1 53.551193229402195 67.91026530303162 0 0 0 0 -4138 1 1.5607 1 56.23480611035232 42.520720452909465 0 0 0 0 -4143 1 1.5597 1 52.87709986036984 17.1437954513278 0 0 0 0 -4180 1 1.553 1 29.77660956884373 41.52617003383597 0 0 0 0 -4190 1 1.5509 1 32.74835071647586 26.431009799816316 0 0 0 0 -4252 1 1.5421 1 24.63035651314462 41.05167727895035 0 0 0 0 -5554 1 1.3439 1 13.579977488448733 21.572036324606966 0 1 0 0 -4271 1 1.5379 1 53.45088832874617 23.514491880125387 0 0 0 0 -4323 1 1.5281 1 61.74850886664289 20.3998707312655 0 0 0 0 -8381 1 1.0883 1 11.138669939645524 14.311161589276917 0 1 1 0 -4989 1 1.4218 1 12.246479562050018 37.70565580183447 0 1 0 0 -4381 1 1.5182 1 64.29960615199721 11.998556094213566 0 0 0 0 -4382 1 1.5178 1 66.60749910870652 33.48768578888803 0 0 0 0 -533 1 4.2487 1 71.92775598865786 72.51680465558125 0 0 0 0 -4451 1 1.5063 1 57.68182015219624 42.245779578541736 0 0 0 0 -4461 1 1.5037 1 55.193126360881855 25.308694289205015 0 0 0 0 -4069 1 1.5714 1 59.449710687245656 72.93192183284526 0 0 0 0 -4480 1 1.5008 1 70.20491081970587 27.550855577543114 0 0 0 0 -4497 1 1.4979 1 57.99238024518637 38.69726652798251 0 0 0 0 -1954 1 2.2684 1 54.41477551346289 71.78626535778598 0 0 0 0 -4522 1 1.4941 1 34.273499729659974 20.00505093168272 0 0 0 0 -4527 1 1.4937 1 44.33624267238484 48.76648047809402 0 0 0 0 -8443 1 1.0848 1 14.387671790101248 33.155319969343964 0 0 0 0 -4624 1 1.4777 1 30.90401225323106 39.060554182952664 0 0 0 0 -4628 1 1.4773 1 58.701188304995036 15.450449370197434 0 0 0 0 -5637 1 1.3332 1 14.39398425363588 31.087628986508697 0 1 0 0 -4722 1 1.4601 1 38.98278014946694 21.421888883068615 0 0 0 0 -100 1 9.5786 1 31.84306867044279 15.10696651886963 0 1 1 0 -4735 1 1.4587 1 28.80760556533261 21.499264287507486 0 0 0 0 -6664 1 1.2255 1 70.20380794507888 70.4546177917392 0 0 0 0 -4762 1 1.4544 1 57.70263418856887 40.1080421534986 0 0 0 0 -4796 1 1.4496 1 46.08036561014387 19.446186441123523 0 0 0 0 -3436 1 1.7079 1 39.566949372720615 17.784106344382607 0 0 0 0 -4820 1 1.4459 1 62.784918579602724 39.817154835562434 0 0 0 0 -4868 1 1.4381 1 53.94543476423435 22.15722850306937 0 0 0 0 -4872 1 1.4378 1 68.40097377440583 27.448673426893937 0 0 0 0 -4893 1 1.4337 1 60.31811493877007 24.63499010647341 0 0 0 0 -4913 1 1.4304 1 62.4918028752624 25.54292245655283 0 0 0 0 -4950 1 1.4257 1 61.40052960573872 40.16840300968619 0 0 0 0 -4953 1 1.4255 1 68.88136012075763 67.4817414525294 0 0 0 0 -4998 1 1.4204 1 67.46310957104718 18.91232693583399 0 0 0 0 -5007 1 1.4198 1 53.87112039365382 16.069070357225563 0 0 0 0 -5046 1 1.4137 1 71.55378103122678 67.15160576911266 0 0 0 0 -5063 1 1.4107 1 19.08075706059839 35.57022177707187 0 0 0 0 -5068 1 1.4098 1 20.54694170459081 41.31978022345696 0 0 0 0 -9833 1 1.0086 1 69.42121675015684 72.07476038447479 0 0 0 0 -729 1 3.7291 1 73.95222437090042 32.127990884854306 0 0 0 0 -5123 1 1.3992 1 20.791013561568132 40.00252882155995 0 0 0 0 -2713 1 1.9259 1 54.5227766707165 17.591703133837974 0 0 0 0 -5190 1 1.3897 1 68.83820734387102 19.163496639701286 0 0 0 0 -5223 1 1.3863 1 73.43942235069349 38.98983753739385 0 0 0 0 -5259 1 1.3808 1 69.04397170029343 33.524315616585774 0 0 0 0 -5266 1 1.3805 1 25.52704538023627 37.73385179303943 0 0 0 0 -5286 1 1.3775 1 56.416856795508146 20.539759208087055 0 0 0 0 -9737 1 1.0132 1 54.53472465915833 69.75718129886587 0 0 0 0 -5363 1 1.3683 1 59.51027673851589 14.405244880762202 0 0 0 0 -5372 1 1.3675 1 72.82070254849516 40.208653261853314 0 0 0 0 -5374 1 1.3675 1 59.66363031888947 23.438562500992774 0 0 0 0 -5390 1 1.3651 1 50.621966698846535 48.597268496156026 0 0 0 0 -5437 1 1.3584 1 57.31676931852688 11.938236583950586 0 0 0 0 -5510 1 1.3498 1 54.00097743544999 19.36194835214913 0 0 0 0 -9068 1 1.0488 1 11.866797641309182 28.24284180391429 0 1 0 0 -3566 1 1.6774 1 46.5323469584031 11.362130565522143 0 0 1 0 -5545 1 1.3448 1 53.202799561610554 52.21677575714142 0 0 0 0 -5549 1 1.3442 1 62.08021485281408 41.322613268251175 0 0 0 0 -5576 1 1.3407 1 62.386074716056 19.127213305094227 0 0 0 0 -5587 1 1.3389 1 45.581370231040445 51.490643393266744 0 0 0 0 -5601 1 1.3372 1 50.15930963226708 49.842928182944426 0 0 0 0 -5694 1 1.3266 1 53.84457569018528 50.160630881271466 0 0 0 0 -8487 1 1.0818 1 50.921053345644474 63.730215499018676 0 0 0 0 -3679 1 1.6538 1 74.05929785120067 27.15913917133816 0 0 0 0 -5846 1 1.3101 1 65.6319348282737 28.260454017466596 0 0 0 0 -5856 1 1.3093 1 67.78719976835336 11.554567450842091 0 0 0 0 -5884 1 1.3063 1 56.88374675441005 41.17798602364711 0 0 0 0 -5932 1 1.3018 1 69.39793147483803 23.49981051867104 0 0 0 0 -5943 1 1.3005 1 58.87261241924439 63.53536063078179 0 0 0 0 -6006 1 1.2939 1 46.73407137058329 53.13096429844211 0 0 0 0 -6035 1 1.2911 1 74.07735610417832 20.915707125160367 0 0 0 0 -6036 1 1.291 1 19.109816197157294 34.12378645919833 0 0 0 0 -6063 1 1.2872 1 42.95869315987816 48.617892354499 0 0 0 0 -6094 1 1.284 1 60.96126662196444 29.820571512855555 0 0 0 0 -6124 1 1.2811 1 55.95756997300287 64.40272538323059 0 0 0 0 -6180 1 1.2743 1 61.845896080080074 24.364898781296816 0 0 0 0 -6181 1 1.2742 1 14.943456112261858 38.82241665235318 0 0 0 0 -6197 1 1.2718 1 68.73690183423496 15.2511360691707 0 0 0 0 -8759 1 1.0661 1 52.32828358323093 18.253960956928236 0 0 0 0 -6358 1 1.2561 1 55.231928768717296 51.56081371741774 0 0 0 0 -6428 1 1.2493 1 23.54178514999027 34.044574943402935 0 0 0 0 -6432 1 1.249 1 65.26152590703087 41.057000377393706 0 0 0 0 -6570 1 1.2355 1 29.401552564863803 28.419560695418422 0 0 0 0 -6575 1 1.2351 1 68.20790066654659 16.329733315660178 0 0 0 0 -6598 1 1.2316 1 65.85033285690255 14.306840981415604 0 0 0 0 -6626 1 1.2296 1 60.95122361724621 23.50399843203781 0 0 0 0 -6637 1 1.2287 1 17.09043050394789 37.191022375824815 0 0 0 0 -8056 1 1.1111 1 11.801377500197704 33.305068152472344 0 1 0 0 -6729 1 1.2196 1 57.42157209012741 64.87874208209207 0 0 0 0 -6782 1 1.2148 1 74.09533514015801 28.580197306909046 0 0 0 0 -6796 1 1.2127 1 32.21683020643173 27.676757016989527 0 0 0 0 -6803 1 1.2123 1 66.35073675433915 27.286952154086677 0 0 0 0 -6815 1 1.2107 1 70.24329825669525 67.35654985406137 0 0 0 0 -6839 1 1.2084 1 29.855621751929828 25.383200266965872 0 0 0 0 -9707 1 1.0148 1 64.33660627345225 39.88219873437153 0 0 0 0 -6956 1 1.1978 1 73.51479359484813 41.72467314253113 0 0 0 0 -6959 1 1.1977 1 72.39198104539517 41.350360544556196 0 0 0 0 -6962 1 1.1975 1 58.25390055271464 68.2152121048119 0 0 0 0 -6975 1 1.1962 1 42.38124809417982 18.521021882923474 0 0 0 0 -7008 1 1.1934 1 54.3608165077184 49.01227119763141 0 0 0 0 -8222 1 1.1002 1 14.653406023709762 16.189758255855086 0 1 0 0 -9845 1 1.008 1 54.27104031204927 68.79547830793256 0 0 0 0 -7112 1 1.1846 1 65.53721487716935 34.21209095780064 0 0 0 0 -7130 1 1.1835 1 70.11554297056705 34.102348522491035 0 0 0 0 -7162 1 1.1809 1 50.12031695980841 47.444572892784954 0 0 0 0 -7178 1 1.1799 1 56.50260811963256 47.95866127846621 0 0 0 0 -9973 1 1.002 1 71.48029064659276 35.55611718404336 0 0 0 0 -5300 1 1.3759 1 18.58705004728394 16.225217597515496 0 1 0 0 -7250 1 1.1739 1 62.52073880028277 23.3639430565633 0 0 0 0 -7257 1 1.1737 1 45.41304867227 20.534591456465492 0 0 0 0 -7264 1 1.1734 1 54.0679504014864 51.352892832466146 0 0 0 0 -7286 1 1.1721 1 41.20770042193526 17.88230406069535 0 0 0 0 -7291 1 1.1716 1 33.934134559826894 23.124349321894776 0 0 0 0 -7299 1 1.1709 1 41.37417874728591 16.71249791489505 0 0 0 0 -7327 1 1.1682 1 31.78844153623847 42.23073654308751 0 0 0 0 -7333 1 1.1678 1 32.81442830936017 22.849845446158675 0 0 0 0 -5167 1 1.3926 1 14.407598887766524 20.381644976926008 0 1 0 0 -7372 1 1.1638 1 52.2029089074234 52.92478535741576 0 0 0 0 -7379 1 1.1632 1 51.16576108725492 46.91635829209038 0 0 0 0 -7421 1 1.1595 1 31.46625573266205 26.80184773284914 0 0 0 0 -7460 1 1.1563 1 69.35414515213152 16.6548065373143 0 0 0 0 -7473 1 1.1549 1 72.46676769604105 27.1550403473535 0 0 0 0 -7496 1 1.1528 1 35.288653449518826 19.19275256975903 0 0 0 0 -7537 1 1.1497 1 53.94920147054847 44.87117389773805 0 0 0 0 -7574 1 1.1461 1 32.88858268074688 42.590387370654405 0 0 0 0 -7633 1 1.1419 1 60.05751420410935 43.23806447347882 0 0 0 0 -7648 1 1.1404 1 63.83632502159209 38.95354070106806 0 0 0 0 -7661 1 1.1392 1 61.255316011074115 25.400540864439783 0 0 0 0 -6751 1 1.218 1 11.399684272599906 15.405503760059457 0 1 1 0 -7697 1 1.1367 1 59.92041088160048 25.860438549729558 0 0 0 0 -7749 1 1.1324 1 63.84841784463263 66.57363530147254 0 0 0 0 -7758 1 1.1316 1 64.6084116533431 15.041683089282603 0 0 0 0 -7770 1 1.1308 1 15.879681880680259 42.47602751874353 0 0 0 0 -7786 1 1.1297 1 67.61400351883628 67.6431894376033 0 0 0 0 -7792 1 1.1293 1 69.30373787525687 26.637442454727047 0 0 0 0 -7814 1 1.1279 1 20.751709785701483 34.21826370651774 0 0 0 0 -7852 1 1.1248 1 15.978078002225343 37.614850503731176 0 0 0 0 -7895 1 1.1217 1 46.10811984082155 50.38478411600349 0 0 0 0 -7897 1 1.1216 1 41.440614308997965 14.343433686814205 0 0 0 0 -1959 1 2.2649 1 25.668258041680957 10.639979010437894 0 0 1 0 -7941 1 1.1186 1 62.45744403579221 32.17180596390706 0 0 0 0 -7984 1 1.1154 1 54.7420011679297 64.8468091746594 0 0 0 0 -8037 1 1.1123 1 51.64650813648305 47.926327768082736 0 0 0 0 -8053 1 1.1112 1 67.57248988777033 15.380157028172166 0 0 0 0 -8058 1 1.1106 1 68.28812143057664 32.602579482129066 0 0 0 0 -4785 1 1.4509 1 49.81526993183835 15.106957386458898 0 0 1 0 -8182 1 1.1023 1 46.63859786179851 49.440337420050625 0 0 0 0 -8202 1 1.1013 1 68.09348139417827 20.132183298486254 0 0 0 0 -8206 1 1.1012 1 61.4395371268538 18.363352410735246 0 0 0 0 -682 1 3.822 1 52.424762161520675 65.66078239590477 0 0 0 0 -8285 1 1.0959 1 64.7300559209138 34.94593732471057 0 0 0 0 -8410 1 1.0871 1 36.5832477645503 12.747051729933423 0 0 0 0 -8302 1 1.0944 1 28.958531633260943 29.460025464402523 0 0 0 0 -8319 1 1.0927 1 68.27629034051094 21.202787477651217 0 0 0 0 -8339 1 1.0911 1 42.262431945065735 20.753265962238107 0 0 0 0 -7940 1 1.1187 1 24.341209285147386 14.555072877747687 0 1 0 0 -9978 1 1.0014 1 52.69731419927677 15.929290644623904 0 0 0 0 -7425 1 1.1593 1 59.42662867958127 74.24744757396661 0 0 0 0 -7902 1 1.1211 1 69.21498347790907 71.06313932603871 0 0 0 0 -8455 1 1.0841 1 52.07899630689126 51.85585795009055 0 0 0 0 -997 1 3.1796 1 39.60036959427206 15.410264425191615 0 0 0 0 -9801 1 1.0099 1 26.483612591286672 32.496926798625616 0 0 0 0 -8536 1 1.0788 1 45.61781875229788 49.03773889737847 0 0 0 0 -8569 1 1.0769 1 30.29936953578687 26.436107426979234 0 0 0 0 -8580 1 1.0764 1 59.01416502765014 39.38080412711162 0 0 0 0 -1801 1 2.3544 1 58.10774729654746 71.63890594274832 0 0 0 0 -8638 1 1.0727 1 55.79812682762731 60.20660095452676 0 0 0 0 -8693 1 1.0703 1 10.664639176975667 41.245640659219845 0 0 0 0 -8715 1 1.069 1 61.41419440653717 32.36072568179989 0 0 0 0 -8740 1 1.0674 1 29.638409039831256 27.27101180808505 0 0 0 0 -8757 1 1.0664 1 72.66063744630077 66.65561046087707 0 0 0 0 -6758 1 1.2177 1 47.79260656364087 20.951878570561508 0 0 1 0 -8853 1 1.0599 1 35.70276494388808 20.406252351630457 0 0 0 0 -8871 1 1.0589 1 73.07386183934202 28.085746429959045 0 0 0 0 -1143 1 2.9682 1 50.62429310831002 17.270524405064922 0 0 1 0 -8894 1 1.0577 1 34.610662696155146 24.628751653329353 0 0 0 0 -8895 1 1.0575 1 30.920714818813646 20.328917073194976 0 0 0 0 -1831 1 2.3397 1 22.22481330299515 15.830507080042967 0 1 0 0 -8927 1 1.0562 1 67.85219964061419 33.541017457155 0 0 0 0 -8976 1 1.0539 1 61.02223977291159 19.340027542860643 0 0 0 0 -1615 1 2.4831 1 68.76734373242118 69.34958688485032 0 0 0 0 -9041 1 1.0504 1 58.42592091257335 23.22892685255807 0 0 0 0 -9042 1 1.0504 1 68.33420455988026 29.787769964936924 0 0 0 0 -5921 1 1.3027 1 46.636164117860034 20.617864193897454 0 0 1 0 -9118 1 1.0464 1 58.46201363320036 12.293089315091814 0 0 0 0 -9140 1 1.045 1 56.06868763378242 59.16154360135317 0 0 0 0 -9159 1 1.0441 1 64.88829764823895 24.608987481828386 0 0 0 0 -9177 1 1.043 1 58.38908934666269 33.567459052285166 0 0 0 0 -9200 1 1.0419 1 73.08812935194419 26.257742731662322 0 0 0 0 -9992 1 1.0003 1 52.05230399829189 73.5333266158029 0 0 0 0 -2504 1 2.0087 1 26.059232198861835 18.227574244973514 0 1 0 0 -9279 1 1.0378 1 47.746307729227624 54.64693922769045 0 0 0 0 -9282 1 1.0376 1 46.605060847584056 48.390775816303325 0 0 0 0 -9319 1 1.0352 1 72.40005510062406 69.95257977875255 0 0 0 0 -9802 1 1.0098 1 68.80708413430605 11.98809042533148 0 0 0 0 -8095 1 1.1076 1 51.90498889445043 63.271338800525236 0 0 0 0 -9322 1 1.035 1 51.74229479310154 15.74050839948212 0 0 0 0 -5183 1 1.3908 1 13.74435224353249 29.972755337254238 0 1 0 0 -9386 1 1.0316 1 54.23079562588574 24.51154926195754 0 0 0 0 -1020 1 3.1491 1 65.97173568753576 10.407360098378444 0 0 0 0 -2016 1 2.23 1 53.61810867721251 73.83185362234548 0 0 0 0 -9419 1 1.0296 1 49.362340695655305 54.094140120846816 0 0 0 0 -9452 1 1.0281 1 48.72568469183376 17.259201919634474 0 0 0 0 -9495 1 1.0262 1 57.70210738100442 30.030718367610557 0 0 0 0 -6188 1 1.2731 1 51.35045609003648 67.88485480592455 0 0 0 0 -6898 1 1.2023 1 48.93148900584643 21.197197254692878 0 0 1 0 -9031 1 1.0511 1 27.52550513461421 18.11854642399425 0 1 0 0 -4282 1 1.536 1 35.31547941629927 10.840384494093197 0 0 1 0 -1939 1 2.2766 1 20.22647172430011 16.760226172737546 0 1 0 0 -7474 1 1.1548 1 27.01855862157723 19.42752536044292 0 1 0 0 -7864 1 1.1236 1 12.045242668507543 19.057728323178186 0 1 0 0 -4663 1 1.4703 1 24.44883123852541 17.698910597737886 0 1 0 0 -4649 1 1.4736 1 63.36855238813352 68.59034026580593 0 0 0 0 -2250 1 2.1177 1 26.09598304226747 15.312731399426983 0 1 1 0 -8080 1 1.1086 1 25.568336096079353 16.803429433916637 0 1 0 0 -2405 1 2.0459 1 10.634740971716624 42.79094744247034 0 0 0 0 -6065 1 1.287 1 15.687673028461798 19.26305059550274 0 1 0 0 -6502 1 1.2429 1 51.01555874306049 73.00760449697358 0 0 0 0 -4000 1 1.5838 1 15.248745352755607 32.169570790215914 0 0 0 0 -2203 1 2.1351 1 60.23666297691747 71.05832220027293 0 0 0 0 -5086 1 1.4063 1 26.764780667917822 13.061103335168555 0 1 0 0 -9344 1 1.0338 1 24.48241919775945 12.612118048291755 0 1 1 0 -1036 1 3.1138 1 16.799086212086937 17.39366637476515 0 1 0 0 -2338 1 2.0738 1 48.228749336980805 12.046815562072657 0 0 1 0 -7031 1 1.1912 1 23.231956840004955 14.4076646269707 0 1 0 0 -9045 1 1.0501 1 49.0295193093086 13.58602403390093 0 0 0 0 -5318 1 1.3735 1 13.791905100269071 35.06737851053238 0 0 0 0 -4591 1 1.482 1 14.45472640506032 14.760671859315494 0 1 1 0 -5922 1 1.3022 1 13.491693372136025 15.97431733663512 0 1 0 0 -8315 1 1.0931 1 23.959198766422112 13.52947665851064 0 0 1 0 -9007 1 1.0524 1 13.203132035548613 20.187474871113174 0 1 0 0 -9277 1 1.0379 1 60.64622472669999 72.54861202499748 0 0 0 0 -6854 1 1.207 1 51.163641427393145 71.82306385166122 0 0 0 0 -9148 1 1.0448 1 36.002962166228244 11.889109477276122 0 0 1 0 -2234 1 2.1216 1 12.712004814470813 14.515531742175636 0 1 1 0 -5621 1 1.3345 1 25.62215236845327 12.33694583316481 0 0 1 0 -5233 1 1.3847 1 12.826323546883815 28.963658992522866 0 1 0 0 -1030 1 3.1257 1 11.607372584582128 35.568960447450806 0 1 0 0 -8444 1 1.0848 1 13.91711324919188 32.19328241122288 0 1 0 0 -8138 1 1.1053 1 13.411922592865242 13.151745577060927 0 0 1 0 -136 1 8.0108 1 65.08673092828835 72.99537169076937 0 0 0 0 -6424 1 1.2498 1 12.863356919924774 27.68547421590839 0 1 0 0 -3363 1 1.725 1 13.127074174583692 33.69319001845017 0 1 0 0 -5147 1 1.397 1 10.622901577072533 33.569190822355466 0 1 0 0 -1971 1 2.2576 1 56.28821867371628 73.00153596807873 0 0 0 0 -6928 1 1.1997 1 12.239265081250155 32.26686716408804 0 1 0 0 -323 1 5.5334 1 10.589566728626385 25.23244468842236 0 1 0 0 -9545 1 1.0235 1 10.17388546411359 44.24624272854598 0 1 0 0 -605 1 4.0029 1 62.48849799642173 9.978118644983557 0 0 0 0 -4261 1 1.5399 1 34.10226638566621 10.031575837286773 0 0 1 0 -19 1 22.7491 1 39.98338768452372 111.45321460762926 0 0 0 0 -42 1 15.4306 1 71.88832545375847 86.17260713934638 0 0 0 0 -3410 1 1.7123 1 27.42471371665939 133.7412345320699 0 0 0 0 -86 1 10.0392 1 23.701593682725772 104.3844606747349 0 0 0 0 -126 1 8.5499 1 20.410245902293973 117.62182645697116 0 0 0 0 -1118 1 2.9952 1 28.30572228787286 135.9256300274794 0 0 0 0 -141 1 7.8511 1 40.822703625490924 126.54191888820385 0 0 0 0 -149 1 7.7028 1 57.03986424212487 118.36959857381491 0 0 0 0 -170 1 7.3576 1 66.09899438508975 107.39123607530068 0 0 0 0 -183 1 7.1535 1 44.25013638783935 90.79166673695131 0 0 0 0 -196 1 6.9228 1 54.77126992613175 95.12677142142981 0 0 0 0 -7722 1 1.1347 1 17.317889081360445 137.356411351121 0 0 0 0 -210 1 6.6285 1 32.157845529454136 99.31486683905884 0 0 0 0 -219 1 6.5064 1 23.978007497873207 124.16991908691676 0 0 0 0 -223 1 6.4364 1 69.87107883035821 98.5955648385455 0 0 0 0 -244 1 6.2615 1 33.903369138664935 126.36960214622053 0 0 0 0 -263 1 6.108 1 57.09174884441002 86.31231850207158 0 0 0 0 -264 1 6.0937 1 57.321920639595625 101.53679704789637 0 0 0 0 -286 1 5.8578 1 50.78304134399049 80.9689959412817 0 0 0 0 -296 1 5.7976 1 63.839467490547754 97.23539573949964 0 0 0 0 -341 1 5.3799 1 65.09439582085574 114.456931091101 0 0 0 0 -353 1 5.3242 1 24.74874371574547 129.9803202527472 0 0 0 0 -361 1 5.2589 1 51.11938803878155 103.12285495807245 0 0 0 0 -9471 1 1.0273 1 53.8693266409344 129.0248754826232 0 0 0 0 -396 1 4.946 1 64.46992357655485 79.3813258303428 0 0 0 0 -397 1 4.9406 1 59.03710788953947 79.30369508021118 0 0 0 0 -411 1 4.8876 1 26.809211758255376 115.77437056616166 0 0 0 0 -489 1 4.4494 1 51.058342560083744 119.31723817067349 0 0 0 0 -534 1 4.2484 1 50.01561402406409 85.84313948240542 0 0 0 0 -544 1 4.2225 1 50.89388756980616 123.57361926293382 0 0 0 0 -546 1 4.2131 1 48.81611038299866 98.42154466262352 0 0 0 0 -550 1 4.1961 1 51.689663110238435 127.62008510206928 0 0 0 0 -8672 1 1.0712 1 59.716304429287725 75.28016466643618 0 0 0 0 -574 1 4.1145 1 43.28760224909147 96.4169216218708 0 0 0 0 -621 1 3.9539 1 60.85390987351848 125.50836339081053 0 0 0 0 -652 1 3.8853 1 60.16396733624219 91.65805891357004 0 0 0 0 -657 1 3.8757 1 15.639260865822083 126.67586823722483 0 0 0 0 -664 1 3.8557 1 55.64505888442711 127.36644683314033 0 0 0 0 -4718 1 1.4609 1 67.56372665540174 126.99679099221906 0 0 0 0 -683 1 3.8179 1 61.307763706270855 83.82357383636872 0 0 0 0 -9848 1 1.0077 1 52.59713978533841 91.9379052167879 0 0 0 0 -3350 1 1.7282 1 73.69389867294143 104.83370739411596 0 0 0 0 -763 1 3.6517 1 69.20993377171929 77.04820609629999 0 0 0 0 -767 1 3.6482 1 19.235207434054594 125.81748027192529 0 0 0 0 -772 1 3.6426 1 53.11370080677289 112.09924140852416 0 0 0 0 -791 1 3.6079 1 45.936428797872864 128.85850974824348 0 0 0 0 -867 1 3.4314 1 55.05843401492132 107.77579316960896 0 0 0 0 -886 1 3.38 1 20.685204426225376 137.56101470436792 0 0 0 0 -880 1 3.3897 1 56.54785798778572 110.76863190915064 0 0 0 0 -895 1 3.3646 1 60.82392919332631 107.05653936557636 0 0 0 0 -898 1 3.3585 1 48.204541639006926 126.23435226334936 0 0 0 0 -912 1 3.333 1 57.56170779588239 75.47324101546356 0 0 0 0 -2354 1 2.0666 1 63.73170729721023 125.05238662558465 0 0 0 0 -9643 1 1.0183 1 46.294894934090856 84.03808500183331 0 0 0 0 -1012 1 3.1586 1 59.57200488941447 96.34632499820252 0 0 0 0 -1014 1 3.1565 1 22.564225114561584 98.02247186628242 0 0 0 0 -1031 1 3.1251 1 71.23689410245385 107.92643980284171 0 0 0 0 -1059 1 3.0784 1 58.91187520569462 112.92439432769325 0 0 0 0 -1067 1 3.0623 1 30.889708706636263 122.03508470265176 0 0 0 0 -1099 1 3.0209 1 67.78153899784029 94.37344572718986 0 0 0 0 -9890 1 1.0055 1 21.155965880805535 99.53397291397941 0 1 0 0 -1121 1 2.9867 1 61.721735563967094 110.05720476589961 0 0 0 0 -1131 1 2.976 1 36.24099483714527 93.76442176526656 0 0 0 0 -1139 1 2.972 1 17.982573969890982 122.77797200638582 0 0 0 0 -1184 1 2.9227 1 57.930308828990015 123.44465504887016 0 0 0 0 -1191 1 2.9163 1 70.05739973926143 104.2176474349103 0 0 0 0 -1227 1 2.8794 1 27.49764589717072 99.29484914291511 0 0 0 0 -1310 1 2.7799 1 58.06328487264791 108.17240373824116 0 0 0 0 -1327 1 2.7606 1 26.87497719951226 120.65255821265605 0 0 0 0 -1119 1 2.9885 1 24.74762951123723 110.71491618024872 0 1 0 0 -9575 1 1.0218 1 27.7840985999132 128.91857520820452 0 0 0 0 -1390 1 2.6918 1 56.26270530083913 90.59675249867087 0 0 0 0 -1400 1 2.6823 1 45.351753274254456 99.02996124042994 0 0 0 0 -1405 1 2.6748 1 27.295419787554366 111.70827533145537 0 0 0 0 -1454 1 2.6162 1 25.038758199577437 96.7275449331631 0 0 0 0 -1465 1 2.6063 1 35.73566002311975 96.46186561699164 0 0 0 0 -1466 1 2.6055 1 53.66588260102828 90.4972558745244 0 0 0 0 -9875 1 1.0061 1 53.83338649203799 101.67481322881913 0 0 0 0 -2292 1 2.0977 1 29.30499020063233 138.21444316825847 0 0 0 0 -9267 1 1.0383 1 67.3597474705182 120.70034529646013 0 0 0 0 -1534 1 2.5434 1 61.90942783774637 119.80199750310766 0 0 0 0 -6691 1 1.2233 1 73.9947892866668 75.61371377078873 0 0 0 0 -1585 1 2.5046 1 66.45333275026297 102.5365907623996 0 0 0 0 -1586 1 2.5042 1 61.51573210688693 102.11328450322567 0 0 0 0 -1589 1 2.502 1 62.09629228007615 104.50229829602074 0 0 0 0 -3118 1 1.7906 1 17.909757490080562 104.36648701458661 0 1 0 0 -1605 1 2.4876 1 28.23866365798491 122.77030097558799 0 0 0 0 -1613 1 2.4836 1 37.934366990064504 97.67235253884026 0 0 0 0 -1632 1 2.4657 1 29.137985497188893 96.04038215104228 0 0 0 0 -1648 1 2.4535 1 50.9683859835928 76.86353017413653 0 0 0 0 -1661 1 2.4463 1 72.46721491283952 103.14837503140355 0 0 0 0 -1668 1 2.4439 1 50.95228287618191 88.95794224447809 0 0 0 0 -7437 1 1.1581 1 66.27103835506469 127.20468241039218 0 0 0 0 -1718 1 2.412 1 61.85088442763658 89.03348890186082 0 0 0 0 -1726 1 2.4091 1 53.16520882290555 115.20127722584697 0 0 0 0 -1739 1 2.3971 1 27.76519712929198 126.37631589524696 0 0 0 0 -1760 1 2.3781 1 14.396295332719621 123.93454351805687 0 0 0 0 -1776 1 2.3708 1 46.83069984211878 101.0146581698986 0 0 0 0 -1845 1 2.332 1 54.424234871780854 104.99289394838722 0 0 0 0 -1877 1 2.3156 1 48.8739011562173 90.09765526548438 0 0 0 0 -4558 1 1.4879 1 65.1034940217164 120.73556384848196 0 0 0 0 -1892 1 2.3051 1 45.7234801833816 124.92565978491616 0 0 0 0 -1926 1 2.2859 1 47.58578864268018 121.30766756156406 0 0 0 0 -1931 1 2.2823 1 62.54149628690311 93.48908320348133 0 0 0 0 -7531 1 1.1504 1 15.223096367408825 136.31773420590574 0 1 0 0 -8162 1 1.1036 1 15.597394951309006 135.3430344174616 0 0 0 0 -6503 1 1.2428 1 10.914611903648833 121.35379556526068 0 1 0 0 -2010 1 2.2335 1 54.58627284937224 78.03287495017457 0 0 0 0 -4452 1 1.5062 1 30.49697799809173 135.60735029965556 0 0 0 0 -2029 1 2.2229 1 52.00643176984997 98.6651757494276 0 0 0 0 -2045 1 2.2145 1 58.65706076594151 127.64205707812003 0 0 0 0 -2048 1 2.2127 1 52.68728852747309 106.42855375121049 0 0 0 0 -2082 1 2.1914 1 55.08501576499979 122.81584375626386 0 0 0 0 -2085 1 2.1901 1 49.14556889368785 94.15896060598799 0 0 0 0 -2104 1 2.1818 1 42.42460916313296 99.33251064425458 0 0 0 0 -7108 1 1.1851 1 73.48051148877221 74.61782693926193 0 0 0 0 -4693 1 1.4656 1 22.59926139347188 110.81761754613058 0 1 0 0 -9859 1 1.0067 1 63.586806088047894 110.67679288823689 0 0 0 0 -2218 1 2.1281 1 53.35611753180261 121.60757911858849 0 0 0 0 -9775 1 1.0112 1 44.46483179072413 122.44553912791395 0 0 0 0 -2230 1 2.1237 1 60.828598642945096 76.33462426060639 0 0 0 0 -2270 1 2.107 1 55.612322163389145 79.93655344667128 0 0 0 0 -2296 1 2.0947 1 18.263975270395395 95.40921781535044 0 0 0 0 -975 1 3.2136 1 25.59041909145937 137.27719355486016 0 0 0 0 -2340 1 2.0722 1 20.33204094094001 96.06316310299836 0 0 0 0 -2342 1 2.0716 1 53.09895604600811 86.14566946228531 0 0 0 0 -2384 1 2.0542 1 25.45031541910564 118.86195428354029 0 0 0 0 -2396 1 2.0497 1 29.15639142781539 124.72478061279091 0 0 0 0 -2422 1 2.0399 1 21.072379350923587 127.96233232040969 0 0 0 0 -2459 1 2.0253 1 53.33347312598216 100.27688270463081 0 0 0 0 -2460 1 2.025 1 47.0811346542526 86.7643948811063 0 0 0 0 -2479 1 2.0171 1 33.07593198107756 94.62966122757926 0 0 0 0 -2484 1 2.0151 1 57.99641116363762 125.77425387316882 0 0 0 0 -2491 1 2.0134 1 28.12551733984658 108.28122556377917 0 0 0 0 -1970 1 2.2583 1 71.73650501801117 112.01369544895962 0 0 0 0 -2509 1 2.0069 1 48.54186013735913 92.20513413068973 0 0 0 0 -8000 1 1.1144 1 12.847127758796482 124.5819368618558 0 0 0 0 -2572 1 1.9805 1 30.288406643703997 129.47222567819443 0 0 0 0 -9548 1 1.0234 1 28.818634303014115 129.23835992181134 0 0 0 0 -2628 1 1.9573 1 28.692591018884375 119.2126799704712 0 0 0 0 -2650 1 1.9477 1 43.56898153218965 131.70554519953293 0 0 0 0 -2807 1 1.8913 1 40.60762363831382 95.19467920646863 0 0 0 0 -2817 1 1.8898 1 53.65156636625617 88.28431557365263 0 0 0 0 -630 1 3.9303 1 36.731241194924884 133.39958489169805 0 0 0 0 -2858 1 1.8771 1 67.82456209959587 111.63010808637351 0 0 0 0 -2903 1 1.8623 1 63.551423091044 91.72708352659726 0 0 0 0 -2961 1 1.8444 1 64.10232279158525 102.10968068667722 0 0 0 0 -2972 1 1.8411 1 46.89483406653872 96.18690696859736 0 0 0 0 -8778 1 1.0647 1 66.34215635213462 120.56151318861454 0 0 0 0 -3083 1 1.8053 1 63.35375070999536 87.22172954027464 0 0 0 0 -1545 1 2.5354 1 19.886515493610943 98.36085018992887 0 1 0 0 -3154 1 1.7782 1 56.68515952009115 81.61014096598818 0 0 0 0 -3163 1 1.7762 1 53.152006597639975 109.45056883960147 0 0 0 0 -3171 1 1.7731 1 33.22932923128349 121.63256031077353 0 0 0 0 -3177 1 1.7714 1 30.151073449398215 127.67159210529354 0 0 0 0 -1967 1 2.2607 1 74.16781067025387 98.82785343395923 0 0 0 0 -3201 1 1.766 1 40.475853790215716 99.20394774125072 0 0 0 0 -3207 1 1.7648 1 65.32501619929425 91.64769905706778 0 0 0 0 -929 1 3.2964 1 18.144559112837545 108.16894065829243 0 1 0 0 -3233 1 1.7567 1 35.351695739190625 122.71354310442749 0 0 0 0 -3237 1 1.7555 1 37.27269479346842 129.70216317120358 0 0 0 0 -3282 1 1.7447 1 23.123060249820334 95.76886228680888 0 0 0 0 -3283 1 1.7446 1 48.16067888902391 130.16518465108172 0 0 0 0 -3305 1 1.739 1 47.299099126170155 123.28954732003172 0 0 0 0 -3470 1 1.6995 1 21.518019586694138 109.74240339627622 0 1 0 0 -3328 1 1.733 1 38.40524655727491 94.60932934052127 0 0 0 0 -3383 1 1.7202 1 53.045616438489674 76.82030559997827 0 0 0 0 -1879 1 2.3137 1 63.38829256422728 117.91019369665564 0 0 0 0 -3390 1 1.7178 1 62.17330389187847 112.34939302884067 0 0 0 0 -3432 1 1.7088 1 64.81098343538052 119.21443538103186 0 0 0 0 -3443 1 1.7052 1 54.634723974895174 76.08313682517701 0 0 0 0 -3448 1 1.7045 1 60.11046726042754 122.79847865955512 0 0 0 0 -3450 1 1.7041 1 29.460427215585224 117.56921814468994 0 0 0 0 -3455 1 1.7027 1 16.490017695765864 96.02233327409465 0 0 0 0 -3489 1 1.6957 1 58.89953510656175 94.07204803875884 0 0 0 0 -3505 1 1.6931 1 59.853122090435605 88.94526968177355 0 0 0 0 -3558 1 1.6793 1 55.56745735633946 112.97716114135413 0 0 0 0 -3561 1 1.6789 1 39.157041794631674 96.09700220963514 0 0 0 0 -3562 1 1.6783 1 61.72938995161468 81.15346784265361 0 0 0 0 -3594 1 1.6724 1 39.78437730705066 93.65408046782899 0 0 0 0 -3614 1 1.6686 1 45.69432607878148 122.96334248017087 0 0 0 0 -3616 1 1.6685 1 63.830217524480894 88.82799614952805 0 0 0 0 -3619 1 1.6673 1 47.269994478312555 84.92830903011415 0 0 0 0 -3622 1 1.6671 1 29.541972143227362 102.59759371404424 0 0 0 0 -3627 1 1.6663 1 71.73042791747343 110.15673769289756 0 0 0 0 -3638 1 1.6648 1 38.353027320461294 131.12667070871282 0 0 0 0 -3664 1 1.6571 1 71.66922768197566 95.01725795131317 0 0 0 0 -3685 1 1.6523 1 38.359593321416135 92.93730821129088 0 0 0 0 -3699 1 1.6473 1 60.79947689395994 94.32733860160974 0 0 0 0 -3760 1 1.6378 1 62.261766332751485 116.39595416046433 0 0 0 0 -3773 1 1.6347 1 24.150665454990456 113.98155498660088 0 0 0 0 -6297 1 1.2609 1 31.88358059243535 129.5234799827357 0 0 0 0 -3802 1 1.6285 1 25.48675983716923 112.85546174759843 0 0 0 0 -3809 1 1.6261 1 61.583271156318276 100.10867873479502 0 0 0 0 -3847 1 1.6174 1 41.22195342081955 131.24181279730035 0 0 0 0 -7356 1 1.1651 1 74.21745878762995 103.48249705626878 0 0 0 0 -3890 1 1.61 1 55.577144422224286 82.82235183632135 0 0 0 0 -6910 1 1.2012 1 33.8937206069771 136.15375109711508 0 0 0 0 -3947 1 1.5975 1 64.46646341521964 90.27728551190768 0 0 0 0 -3954 1 1.5955 1 48.17933510081077 83.60078270950704 0 0 0 0 -3999 1 1.5841 1 72.79724897920504 106.19482675813322 0 0 0 0 -4014 1 1.5807 1 30.384972117323684 118.84430564985223 0 0 0 0 -4041 1 1.5759 1 62.50112485451164 76.88558114671659 0 0 0 0 -7328 1 1.1682 1 11.171939733609348 123.36942494481362 0 0 0 0 -4086 1 1.5687 1 20.081338713757567 123.40565788182964 0 0 0 0 -4090 1 1.5683 1 53.70749300130501 124.02306301255224 0 0 0 0 -4108 1 1.565 1 28.57797256064848 101.2717532657502 0 0 0 0 -4112 1 1.5642 1 38.84443353097343 99.40827915452542 0 0 0 0 -4133 1 1.561 1 63.0422639018551 100.80082970412235 0 0 0 0 -9857 1 1.0069 1 16.347287271323573 97.33850227181048 0 1 0 0 -4174 1 1.5535 1 28.923336777599523 106.66380356737828 0 0 0 0 -4197 1 1.55 1 29.526215615814223 105.13113219631998 0 0 0 0 -4237 1 1.5439 1 36.13174819263345 100.0146476766755 0 0 0 0 -9755 1 1.0126 1 69.89169629992334 94.93987010052534 0 0 0 0 -4262 1 1.5397 1 40.513598183844394 96.96279614088074 0 0 0 0 -4269 1 1.5381 1 58.58309206577786 106.12029510610124 0 0 0 0 -9638 1 1.0186 1 32.17643158673042 133.06088801522864 0 0 0 0 -4286 1 1.5352 1 68.40891316791084 102.22257032889361 0 0 0 0 -6495 1 1.2435 1 20.295346161108018 108.80839364710302 0 1 0 0 -4351 1 1.5228 1 58.20786731965726 89.89924972881259 0 0 0 0 -735 1 3.7083 1 13.969367981212171 120.99151318030442 0 0 0 0 -4464 1 1.5032 1 60.54969334701038 121.28031091255933 0 0 0 0 -497 1 4.377 1 15.211503278991959 110.5998213642061 0 1 0 0 -10000 1 1 1 51.46386828757901 90.51418017242065 0 0 0 0 -4574 1 1.4852 1 59.71963515443456 98.63502618611244 0 0 0 0 -4578 1 1.4847 1 43.7723771646168 130.08021314742598 0 0 0 0 -4596 1 1.4808 1 24.7435680124254 98.74601836442277 0 0 0 0 -4622 1 1.4781 1 16.284803609059274 124.13092930221346 0 0 0 0 -6916 1 1.2006 1 19.676336038020857 128.69516936295818 0 0 0 0 -4658 1 1.4717 1 28.936668842281637 120.92751470532154 0 0 0 0 -4664 1 1.47 1 67.6180168266693 79.00890647982582 0 0 0 0 -4669 1 1.4694 1 30.77652947721138 124.23093645449055 0 0 0 0 -4698 1 1.4651 1 59.84007600937323 104.87301417448653 0 0 0 0 -4706 1 1.4641 1 57.35017778022795 105.27912618048964 0 0 0 0 -4726 1 1.4596 1 48.40824330303115 128.58993172002312 0 0 0 0 -4734 1 1.4588 1 63.47137213410877 85.60826728639616 0 0 0 0 -4746 1 1.4572 1 69.16675996238398 110.65825343386962 0 0 0 0 -4749 1 1.457 1 50.20430128836573 92.71738223165757 0 0 0 0 -6292 1 1.2615 1 64.82619504197658 126.28768276083332 0 0 0 0 -4792 1 1.4504 1 56.87741520839951 113.81067679279198 0 0 0 0 -4800 1 1.4489 1 50.887905953190916 106.37592148761861 0 0 0 0 -4809 1 1.4471 1 44.38809871411444 123.6666544676057 0 0 0 0 -9704 1 1.015 1 55.475009537277096 124.96057251958206 0 0 0 0 -4840 1 1.4429 1 73.49258418275835 97.1588607306852 0 0 0 0 -941 1 3.262 1 65.3676992096772 123.05500529542957 0 0 0 0 -4901 1 1.4321 1 62.168496601642204 86.21012881235713 0 0 0 0 -5515 1 1.3493 1 15.648193206608116 129.2087318319814 0 0 0 0 -4996 1 1.4208 1 63.38275865440265 82.32439938818676 0 0 0 0 -5011 1 1.4191 1 44.35945633500515 86.64131204165875 0 0 0 0 -5064 1 1.4105 1 31.36698438123257 119.88809836122141 0 0 0 0 -5081 1 1.4075 1 28.622861533083316 128.05229452249085 0 0 0 0 -8512 1 1.0801 1 26.964796497695072 109.3447545981984 0 1 0 0 -5106 1 1.4035 1 52.20600098916821 87.57625156503624 0 0 0 0 -5125 1 1.3991 1 51.73382035455099 108.91112958149183 0 0 0 0 -5141 1 1.3977 1 66.5322928575455 92.61183778953 0 0 0 0 -5144 1 1.3974 1 51.404438076854184 107.6356110190049 0 0 0 0 -5148 1 1.3967 1 71.41088483898969 105.77017602566349 0 0 0 0 -5153 1 1.3956 1 23.082970943017852 112.13012251449881 0 0 0 0 -5203 1 1.3882 1 47.49827698033493 94.75306126967057 0 0 0 0 -5226 1 1.3858 1 60.59007737122157 87.60426644871804 0 0 0 0 -2318 1 2.0805 1 18.048227313803725 111.92101134691914 0 1 0 0 -5745 1 1.3208 1 63.75303910243183 120.25066149363883 0 0 0 0 -5277 1 1.3789 1 68.0564525213307 103.56955781410507 0 0 0 0 -9438 1 1.0289 1 16.148725309306574 132.51532329303092 0 0 0 0 -6807 1 1.2117 1 33.06656540216643 133.6665872796726 0 0 0 0 -5364 1 1.3683 1 50.79002823255995 116.52406194497357 0 0 0 0 -5396 1 1.3642 1 64.30878265448858 93.71287190560176 0 0 0 0 -5405 1 1.3629 1 48.4073882282242 95.72814761503018 0 0 0 0 -5406 1 1.3628 1 51.344104250716526 115.3349267952467 0 0 0 0 -5419 1 1.361 1 50.6949648593719 94.90202047282588 0 0 0 0 -5536 1 1.3464 1 28.053429228239118 109.90491357273436 0 0 0 0 -5544 1 1.3452 1 68.16138282301884 115.81958078343273 0 0 0 0 -5556 1 1.3437 1 54.172437716945936 82.13636959917704 0 0 0 0 -5566 1 1.3421 1 47.496531013519586 93.45463389160196 0 0 0 0 -5589 1 1.3387 1 18.59861139894725 97.0275667865046 0 0 0 0 -5600 1 1.3373 1 41.82394571970756 94.2035201393305 0 0 0 0 -5608 1 1.3359 1 47.67293826198787 88.32318999456324 0 0 0 0 -5618 1 1.3349 1 48.61166004308454 101.12788328839156 0 0 0 0 -5629 1 1.3339 1 61.55631454243142 117.71597535722073 0 0 0 0 -5632 1 1.3336 1 21.3178493926858 111.23061213786141 0 0 0 0 -5645 1 1.3327 1 35.731754912734104 129.67722824263151 0 0 0 0 -5688 1 1.3277 1 49.72838613584213 95.81505267328548 0 0 0 0 -5699 1 1.3259 1 54.542925179744394 114.04762059710079 0 0 0 0 -8170 1 1.1028 1 16.854877868819695 129.09414544424672 0 0 0 0 -5710 1 1.3248 1 72.70420051287951 96.0334614639384 0 0 0 0 -5731 1 1.3228 1 26.45711991693527 95.53936480107991 0 0 0 0 -5733 1 1.3226 1 65.65916620952625 94.2336969521885 0 0 0 0 -5753 1 1.3201 1 66.65693140775663 100.70996038727957 0 0 0 0 -2870 1 1.8708 1 32.40437752514888 135.94017942885705 0 0 0 0 -5776 1 1.3164 1 29.56574779739595 126.31924812487233 0 0 0 0 -5779 1 1.3163 1 62.531740510686845 127.4885017545539 0 0 0 0 -3364 1 1.7248 1 21.625684287134835 112.67186895171712 0 1 0 0 -5878 1 1.3076 1 19.821516491476494 100.26450111294615 0 1 0 0 -5836 1 1.311 1 51.69770579699047 114.08101136877818 0 0 0 0 -5843 1 1.3103 1 54.524588399519395 99.17765713915786 0 0 0 0 -9658 1 1.0176 1 46.98494180872762 130.88023198958754 0 0 0 0 -5897 1 1.305 1 48.966127549128515 88.34557993800638 0 0 0 0 -5903 1 1.3046 1 60.37321231206112 103.61467713177167 0 0 0 0 -5933 1 1.3017 1 61.747770068016244 78.01492179425986 0 0 0 0 -5960 1 1.2989 1 24.862255836505113 120.39984616453137 0 0 0 0 -5985 1 1.2963 1 42.51380659585147 130.6549673586851 0 0 0 0 -2128 1 2.1659 1 16.064784020761905 103.92707994132375 0 1 0 0 -6001 1 1.2943 1 64.04460147311845 127.29707946234035 0 0 0 0 -6009 1 1.2935 1 68.13579890947813 113.15295440493898 0 0 0 0 -6022 1 1.2922 1 63.80739474349469 103.77707264866973 0 0 0 0 -6033 1 1.2912 1 70.19235879310345 112.8348804332055 0 0 0 0 -7343 1 1.1667 1 17.393108281968626 97.06109289930724 0 1 0 0 -6069 1 1.2866 1 53.22182018257344 83.53355592151607 0 0 0 0 -6083 1 1.2851 1 51.02062470589703 91.63052637400227 0 0 0 0 -5754 1 1.32 1 70.41496888807826 74.87466303152567 0 0 0 0 -8825 1 1.0617 1 24.17429594207685 112.64815175082643 0 1 0 0 -6121 1 1.2812 1 47.54032670337366 82.33703990043641 0 0 0 0 -6135 1 1.2802 1 56.60432849471283 125.04146980741133 0 0 0 0 -6150 1 1.2782 1 37.564624935302426 95.83928785600571 0 0 0 0 -6155 1 1.2776 1 16.710803473363548 114.47703232230926 0 0 0 0 -6185 1 1.2736 1 52.039081891452575 116.61389336807267 0 0 0 0 -1675 1 2.4413 1 19.655196335499408 110.48144745750947 0 1 0 0 -6195 1 1.2719 1 46.23730988484281 94.4815842992375 0 0 0 0 -9566 1 1.0221 1 60.24075977949743 127.89366516342476 0 0 0 0 -9680 1 1.0165 1 28.03855462604047 129.87326569447416 0 0 0 0 -9625 1 1.0195 1 45.1614285715736 100.81751307925673 0 0 0 0 -9645 1 1.0182 1 52.87794164836354 117.30911542232701 0 0 0 0 -6311 1 1.2601 1 50.97699298067825 99.97471175215995 0 0 0 0 -6322 1 1.2591 1 52.92090693367895 78.24582846053919 0 0 0 0 -6352 1 1.2568 1 22.87247113481464 113.41528824536933 0 0 0 0 -6353 1 1.2568 1 37.82467323194608 123.21682126278711 0 0 0 0 -6412 1 1.2505 1 30.511660412844112 104.0306415787677 0 0 0 0 -6462 1 1.2466 1 72.53787755728945 101.31884030778122 0 0 0 0 -8983 1 1.0535 1 10.809969613521016 114.42756296396759 0 1 0 0 -6506 1 1.2425 1 70.8737955134941 102.28134220439803 0 0 0 0 -6537 1 1.2385 1 52.15569456037183 84.19117042390441 0 0 0 0 -6608 1 1.231 1 51.52680617878919 92.7422289754508 0 0 0 0 -8261 1 1.0972 1 65.25652276619266 125.20174947201531 0 0 0 0 -6614 1 1.2307 1 39.2750914633207 91.05016156424556 0 0 0 0 -9617 1 1.0198 1 21.76828641717061 95.48429424058126 0 0 0 0 -8251 1 1.0978 1 18.806991023068235 128.09150515176668 0 0 0 0 -6704 1 1.2217 1 45.88326301349664 85.03954084291964 0 0 0 0 -6713 1 1.2211 1 43.40247600464972 122.86206030417794 0 0 0 0 -6759 1 1.2174 1 54.27363939866218 80.86475480525922 0 0 0 0 -6399 1 1.2519 1 17.132165391131657 102.10496802366097 0 1 0 0 -9800 1 1.0099 1 53.12236632627791 84.65662744079613 0 0 0 0 -6813 1 1.2108 1 55.81225158661074 76.87040440732581 0 0 0 0 -9190 1 1.0424 1 66.820761516796 121.537552955204 0 0 0 0 -6848 1 1.2078 1 56.999458019885296 106.53506691497434 0 0 0 0 -6498 1 1.2433 1 30.879514670726614 137.73541578343955 0 0 0 0 -1182 1 2.9258 1 62.374895318562665 122.47595211259743 0 0 0 0 -6886 1 1.2035 1 59.42684630865932 82.25687454909212 0 0 0 0 -6909 1 1.2013 1 52.98712574281592 125.18973252722459 0 0 0 0 -6944 1 1.1985 1 28.279479848310856 113.25913113250077 0 0 0 0 -6965 1 1.197 1 29.981970972831594 120.13560138888867 0 0 0 0 -6968 1 1.1967 1 36.98419901249905 124.11348254629097 0 0 0 0 -6969 1 1.1967 1 57.80152281238942 82.59397961879756 0 0 0 0 -7000 1 1.1942 1 31.519168207582272 94.55009153672921 0 0 0 0 -7029 1 1.1913 1 57.65011564158079 91.92774473989736 0 0 0 0 -7047 1 1.1896 1 65.35262057629336 93.06548317257025 0 0 0 0 -7071 1 1.1882 1 54.0122014976951 79.62678570581278 0 0 0 0 -7089 1 1.1871 1 69.2440866970129 113.62306862701708 0 0 0 0 -9924 1 1.0041 1 63.23456559546213 89.99671620793718 0 0 0 0 -8286 1 1.0958 1 30.120225452752752 136.84980085218822 0 0 0 0 -7113 1 1.1846 1 59.63279367697114 114.85760259175976 0 0 0 0 -7122 1 1.184 1 53.39155771512718 75.4534896032446 0 0 0 0 -7139 1 1.183 1 62.45843253274093 90.7107495457476 0 0 0 0 -7148 1 1.1825 1 16.823854665357302 94.635160853072 0 0 0 0 -7150 1 1.1824 1 41.814610278609194 132.5190009780668 0 0 0 0 -7152 1 1.1821 1 55.689588462015195 114.29430720682655 0 0 0 0 -7184 1 1.1794 1 54.42825382033789 125.16292836618763 0 0 0 0 -7191 1 1.179 1 16.021530075873528 115.60088220143713 0 0 0 0 -7197 1 1.1783 1 51.26137927667429 97.15884620727982 0 0 0 0 -7220 1 1.1765 1 69.79353330399033 109.50832338191498 0 0 0 0 -7221 1 1.1764 1 27.21376223220296 118.7433857174521 0 0 0 0 -7225 1 1.1761 1 66.28015996980066 99.5862693953101 0 0 0 0 -7228 1 1.1758 1 49.27133554643758 121.45922023245393 0 0 0 0 -7234 1 1.1755 1 52.27363209924794 75.63242960926354 0 0 0 0 -7242 1 1.1744 1 59.87460659502793 109.10690473809628 0 0 0 0 -7247 1 1.174 1 60.8491275296743 74.73301698140122 0 0 0 0 -7279 1 1.1727 1 34.599261555887146 94.97892996173583 0 0 0 0 -7282 1 1.1725 1 15.251225391839483 94.03821982881567 0 0 0 0 -3031 1 1.8173 1 66.53577536934341 125.76401479040861 0 0 0 0 -5859 1 1.3092 1 15.25280100537704 113.3583622301122 0 1 0 0 -4153 1 1.5579 1 61.687304609817886 114.94970218168731 0 0 0 0 -9490 1 1.0264 1 65.19730725861038 127.3470585271735 0 0 0 0 -2510 1 2.0067 1 18.581532520571724 101.34915455649235 0 1 0 0 -7367 1 1.1641 1 56.17707638717084 78.42334737910399 0 0 0 0 -7369 1 1.164 1 30.418073826118164 94.83116191137314 0 0 0 0 -7376 1 1.1635 1 60.57474433973897 114.22144908943422 0 0 0 0 -7380 1 1.163 1 63.41157723923458 111.70011078355851 0 0 0 0 -7388 1 1.1624 1 27.596341393473352 95.32609993174916 0 0 0 0 -7399 1 1.1615 1 73.23890305581085 100.2413921522075 0 0 0 0 -7401 1 1.1612 1 64.48094481781618 111.28407333223196 0 0 0 0 -7402 1 1.1611 1 72.68131136262232 77.81764159036152 0 0 0 0 -7405 1 1.1608 1 60.95728933334443 116.49273962067828 0 0 0 0 -5209 1 1.3876 1 17.654911683898327 128.18319981148537 0 0 0 0 -2978 1 1.8398 1 26.150572437830494 134.8705901118313 0 0 0 0 -7432 1 1.1584 1 58.51534741878397 98.16074371427837 0 0 0 0 -7449 1 1.1571 1 55.24079431221527 81.50868280653184 0 0 0 0 -7490 1 1.153 1 58.792577243313644 110.84371555820142 0 0 0 0 -7510 1 1.1518 1 45.56120184559707 86.87206578714257 0 0 0 0 -7513 1 1.1517 1 16.184716338131437 119.99901689534353 0 0 0 0 -7523 1 1.1509 1 40.44579878179132 92.40743880358959 0 0 0 0 -7555 1 1.148 1 67.0423093834242 96.22589694100698 0 0 0 0 -7580 1 1.1454 1 61.01879421783942 113.18937723994415 0 0 0 0 -7637 1 1.1414 1 56.02400056886335 124.06881271134498 0 0 0 0 -6085 1 1.2846 1 19.206868737129394 135.85965479376637 0 0 0 0 -7653 1 1.14 1 51.834453046013735 110.13492357804047 0 0 0 0 -7684 1 1.1377 1 64.11949920850138 83.3470397424821 0 0 0 0 -7694 1 1.1369 1 58.807994104099706 83.18474712187633 0 0 0 0 -7730 1 1.1344 1 54.24799898615475 103.30870499397214 0 0 0 0 -7754 1 1.1318 1 22.57753009948519 127.66778633215048 0 0 0 0 -7762 1 1.1314 1 69.70600454523061 102.30394335037501 0 0 0 0 -7763 1 1.1314 1 49.85749475142387 91.49004038830437 0 0 0 0 -7771 1 1.1308 1 36.722937238731795 122.93077103114632 0 0 0 0 -7773 1 1.1307 1 49.5317050031357 130.10660816382966 0 0 0 0 -7840 1 1.1265 1 64.88895604573275 103.34849473624087 0 0 0 0 -7929 1 1.1193 1 54.41476095557885 110.11271645591901 0 0 0 0 -2527 1 2.0007 1 18.29895553875832 129.6872870086587 0 0 0 0 -7336 1 1.1677 1 72.28110260100999 104.90385815302656 0 0 0 0 -7959 1 1.1172 1 65.40187689960011 100.27857702622615 0 0 0 0 -7965 1 1.1167 1 27.264341882147647 128.01707711863565 0 0 0 0 -7993 1 1.1149 1 40.17899193482652 90.34360771120414 0 0 0 0 -6037 1 1.2909 1 18.133208695474924 102.88833032370361 0 1 0 0 -8003 1 1.1143 1 33.964311776167015 95.91153215190401 0 0 0 0 -8029 1 1.1128 1 70.1418823416121 111.48987972268888 0 0 0 0 -8041 1 1.112 1 36.69813918952093 98.88768562682282 0 0 0 0 -8043 1 1.1117 1 26.262137032561398 127.19132800874397 0 0 0 0 -8046 1 1.1115 1 37.353823121529814 92.09101054078127 0 0 0 0 -8074 1 1.1093 1 54.099520316138396 84.37339558970645 0 0 0 0 -8091 1 1.108 1 54.366486689133666 83.32891866379275 0 0 0 0 -9929 1 1.004 1 49.558796145608625 77.80849359020516 0 0 0 0 -8108 1 1.1072 1 50.457690910778034 90.60787946331531 0 0 0 0 -8116 1 1.1066 1 30.423583531114932 125.52075671694266 0 0 0 0 -8127 1 1.1059 1 43.839378606331024 100.16764242729761 0 0 0 0 -8141 1 1.1051 1 63.70141143902875 84.36649860382943 0 0 0 0 -8181 1 1.1024 1 34.237938139921056 93.63228363282019 0 0 0 0 -8224 1 1.1001 1 63.17042481403392 126.49719362932036 0 0 0 0 -8240 1 1.0988 1 50.89114709562656 96.10341338790812 0 0 0 0 -8253 1 1.0976 1 41.06361986303942 93.32195100334951 0 0 0 0 -6725 1 1.2201 1 11.60764906064787 120.40020265522658 0 1 0 0 -8273 1 1.0966 1 49.535473093816975 129.05442310968368 0 0 0 0 -8287 1 1.0957 1 28.671199133769377 97.72880537883121 0 0 0 0 -8308 1 1.0941 1 60.170836921988816 111.3213377560476 0 0 0 0 -8317 1 1.0929 1 27.273935860773637 96.38722236923478 0 0 0 0 -8335 1 1.0919 1 17.04594907633507 120.99405189865844 0 0 0 0 -967 1 3.2215 1 17.26538323457641 99.20491092195226 0 1 0 0 -8372 1 1.089 1 33.974445074173325 122.75840518174343 0 0 0 0 -8377 1 1.0887 1 45.98119651371528 121.67863360038224 0 0 0 0 -8428 1 1.0861 1 64.01886889257784 121.39085281055105 0 0 0 0 -9571 1 1.022 1 36.84163546578874 128.42779973913557 0 0 0 0 -8432 1 1.0859 1 58.578044903995455 104.85058514945212 0 0 0 0 -8435 1 1.0857 1 46.3398796709923 97.48630486669742 0 0 0 0 -8439 1 1.0853 1 57.44959747889782 98.0031223638982 0 0 0 0 -8462 1 1.0837 1 27.66861550990501 97.3538246283554 0 0 0 0 -8475 1 1.0827 1 45.68711131239873 95.52077776474356 0 0 0 0 -6838 1 1.2085 1 68.50314901288785 114.58462798211198 0 0 0 0 -8491 1 1.0815 1 46.01532929254203 126.55396895142638 0 0 0 0 -8504 1 1.0807 1 53.699797025670804 125.98858226718131 0 0 0 0 -8510 1 1.0802 1 47.99892097070011 102.30568839942043 0 0 0 0 -8530 1 1.079 1 31.339180725563917 103.09699223080645 0 0 0 0 -8542 1 1.0786 1 64.60640632204071 82.36291778181621 0 0 0 0 -8553 1 1.0778 1 58.08979790455037 92.95873265182165 0 0 0 0 -8584 1 1.0763 1 60.822577378981926 112.13003934990574 0 0 0 0 -5791 1 1.3152 1 16.459754378252388 136.47841615877067 0 0 0 0 -8613 1 1.0744 1 61.98217507001716 113.70006864627477 0 0 0 0 -8666 1 1.0715 1 58.9874120527246 109.77745440703272 0 0 0 0 -9953 1 1.003 1 69.68835745871641 94.00943930801608 0 0 0 0 -8701 1 1.0698 1 32.34820268206289 120.57305560050135 0 0 0 0 -8745 1 1.0673 1 56.12884909077486 105.83432885461004 0 0 0 0 -699 1 3.7858 1 33.68197425621975 131.2590050653511 0 0 0 0 -9934 1 1.0037 1 30.849692646624515 95.77744584032756 0 0 0 0 -3318 1 1.7357 1 18.520685569852265 131.50120147078505 0 0 0 0 -4936 1 1.4277 1 10.997725847522222 124.60812422049958 0 0 0 0 -8816 1 1.0624 1 41.26116752718918 98.0276606370396 0 0 0 0 -8823 1 1.0618 1 70.40393089306272 110.43957052814731 0 0 0 0 -8832 1 1.0614 1 35.83808269128011 98.26918383170563 0 0 0 0 -8845 1 1.0605 1 48.50280069594795 122.63350132591746 0 0 0 0 -8857 1 1.0597 1 60.34008951858208 99.72470813535246 0 0 0 0 -8862 1 1.0593 1 31.859235516042432 95.5539393173934 0 0 0 0 -8863 1 1.0592 1 45.05466536487884 85.70594417900283 0 0 0 0 -8881 1 1.0584 1 61.760358220633115 87.3390185914861 0 0 0 0 -8891 1 1.0579 1 72.79227769016374 94.34514553868829 0 0 0 0 -9449 1 1.0285 1 36.02016467315312 130.80474261223014 0 0 0 0 -8940 1 1.0557 1 37.011827634625874 131.0048064637013 0 0 0 0 -8955 1 1.055 1 39.73550961461808 98.00111335788493 0 0 0 0 -8971 1 1.0541 1 62.99678582975673 102.99247405414384 0 0 0 0 -8988 1 1.0532 1 45.12154985500893 94.69595428203792 0 0 0 0 -8484 1 1.0819 1 60.51591807157944 115.49756548670183 0 0 0 0 -6862 1 1.2066 1 39.75262393054373 130.89101339314513 0 0 0 0 -8960 1 1.0548 1 17.913887327179868 110.33644562857623 0 1 0 0 -9039 1 1.0505 1 48.38267312868456 119.85870591119948 0 0 0 0 -9077 1 1.0484 1 56.718098177690926 77.47656364459155 0 0 0 0 -649 1 3.8897 1 67.38038834602656 118.31514166676654 0 0 0 0 -7302 1 1.1704 1 69.21620149872695 112.14699917066433 0 0 0 0 -9116 1 1.0465 1 66.49144284989279 77.2044412646445 0 0 0 0 -4874 1 1.4374 1 11.78833231952529 122.27400741773471 0 0 0 0 -9133 1 1.0455 1 67.08157161452154 77.96197733582085 0 0 0 0 -9161 1 1.044 1 15.76048960267968 94.94340027772431 0 0 0 0 -9182 1 1.0429 1 16.229283976361057 121.59110955040133 0 0 0 0 -7641 1 1.1409 1 66.35128152977677 111.54506160013858 0 0 0 0 -9986 1 1.0008 1 14.244138352439855 103.11095197784181 0 1 0 0 -9215 1 1.0412 1 39.41156070976618 92.14846490953468 0 0 0 0 -9216 1 1.041 1 60.88624444293754 86.33270768971389 0 0 0 0 -9218 1 1.041 1 27.684757189958972 124.48197005016857 0 0 0 0 -9222 1 1.0408 1 50.971723988262625 93.73330205735593 0 0 0 0 -9232 1 1.0404 1 50.54584733223476 129.88109735719644 0 0 0 0 -4830 1 1.4448 1 17.607868285241647 113.5374978586784 0 1 0 0 -9280 1 1.0378 1 38.2922293597143 91.59219135072622 0 0 0 0 -9313 1 1.0355 1 59.772648550341195 110.38807335535778 0 0 0 0 -9320 1 1.0351 1 70.6323736048665 94.26483993693009 0 0 0 0 -9329 1 1.0346 1 64.39468323633184 100.65860960098415 0 0 0 0 -9340 1 1.0341 1 65.24368546385381 101.29377252711437 0 0 0 0 -2970 1 1.8422 1 19.873919258754675 112.53853320874165 0 1 0 0 -9352 1 1.0335 1 48.36368109312754 124.0927280440356 0 0 0 0 -9382 1 1.0317 1 15.769662475601963 100.61015461665639 0 0 0 0 -9400 1 1.0307 1 60.918484406056486 98.894445168207 0 0 0 0 -9420 1 1.0296 1 56.082503925602914 104.8287707417252 0 0 0 0 -9443 1 1.0287 1 25.884728143962594 98.29197250711094 0 0 0 0 -9650 1 1.0179 1 52.04849987730133 91.21106896687407 0 0 0 0 -9464 1 1.0276 1 20.73108898105317 122.34074679753601 0 0 0 0 -9469 1 1.0273 1 46.91974702352022 83.27279319811242 0 0 0 0 -124 1 8.6862 1 71.23921694763806 123.52893426123075 0 0 0 0 -8990 1 1.0531 1 29.025182889262265 130.28956094119866 0 0 0 0 -8402 1 1.0876 1 30.064398882553547 134.39330573314263 0 0 0 0 -2490 1 2.0135 1 15.500913214679432 102.03743591303625 0 1 0 0 -3672 1 1.6552 1 15.374376094226033 116.83151033033037 0 1 0 0 -4651 1 1.4733 1 15.825721347873866 122.74417667313973 0 0 0 0 -2621 1 1.9597 1 15.291836271532139 118.57807600420205 0 0 0 0 -1381 1 2.7016 1 72.10175390483032 75.95819924302978 0 0 0 0 -2348 1 2.0692 1 16.49364151415609 130.61255161062223 0 0 0 0 -2072 1 2.1973 1 16.801837106790387 105.91909109719553 0 1 0 0 -918 1 3.316 1 30.3080987423495 132.05709628690636 0 0 0 0 -1087 1 3.0351 1 20.662729432462722 130.47697569919816 0 0 0 0 -6242 1 1.266 1 15.52422300906605 114.52684728839914 0 1 0 0 -3474 1 1.6992 1 14.490063594410866 115.4571940122075 0 1 0 0 -3217 1 1.761 1 27.98738300151394 131.22147379508323 0 0 0 0 -9478 1 1.027 1 16.418842706439474 113.195174024789 0 1 0 0 -6510 1 1.242 1 18.428686317043717 136.90042652172787 0 0 0 0 -5896 1 1.3052 1 20.35001572946716 135.2976235133049 0 0 0 0 -8303 1 1.0943 1 28.194402702174962 132.60798294020844 0 0 0 0 -1551 1 2.5331 1 39.82628363100622 132.7138241725758 0 0 0 0 -4508 1 1.4956 1 13.169475675459575 125.79330032894357 0 0 0 0 -6619 1 1.2305 1 12.6394165432765 109.62475154031254 0 1 0 0 -5403 1 1.3631 1 27.621786711689033 138.2495932531318 0 0 0 0 -5798 1 1.3149 1 69.7458977565065 118.95206971429148 0 0 0 0 -5709 1 1.3248 1 12.777769265580785 123.16662762989746 0 0 0 0 -9266 1 1.0385 1 22.165749609505077 131.86800113551806 0 0 0 0 -6257 1 1.2643 1 27.003157993387287 132.34743514184976 0 0 0 0 -254 1 6.1669 1 71.89934113361059 116.11633107584156 0 0 0 0 -8860 1 1.0594 1 31.92714385332113 137.295319032531 0 0 0 0 -1178 1 2.9289 1 13.177541317637806 113.60811292295888 0 1 0 0 -5577 1 1.3406 1 73.81080939390814 119.28498578288648 0 0 0 0 -9125 1 1.046 1 73.78242708567008 94.15852547350663 0 0 0 0 -6225 1 1.2682 1 17.169158101938716 132.0335242761167 0 0 0 0 -4675 1 1.4683 1 11.042127609140797 113.2208290771811 0 1 0 0 -836 1 3.4952 1 17.514214272748198 134.298241240278 0 0 0 0 -5048 1 1.4137 1 28.93749669106769 133.885368301817 0 0 0 0 -4067 1 1.5716 1 55.30637479065429 74.61761337522094 0 0 0 0 -308 1 5.6892 1 12.968080673871368 106.22323426017068 0 1 0 0 -3503 1 1.6932 1 23.182434197735382 137.46335598748556 0 0 0 0 -5353 1 1.3692 1 25.953455162170336 133.14481421037203 0 0 0 0 -7428 1 1.1591 1 74.15902256127224 78.28179161030882 0 0 0 0 -5376 1 1.3671 1 20.958032236837603 132.58373055680627 0 0 0 0 -6096 1 1.2835 1 19.677882048082957 132.3837247660049 0 0 0 0 -7948 1 1.1183 1 34.225765653067306 133.6491698341864 0 0 0 0 -9509 1 1.0254 1 31.151386757005294 136.64762612027343 0 0 0 0 -3850 1 1.617 1 73.95252924090975 76.98856256884487 0 0 0 0 -4450 1 1.5064 1 33.67192863809258 134.83735303510474 0 0 0 0 -4770 1 1.453 1 11.373864275798994 109.30671947488409 0 1 0 0 -4660 1 1.4709 1 35.004302653626254 135.43742098473183 0 0 0 0 -9110 1 1.0468 1 12.014817361984912 124.00643407918298 0 0 0 0 -2298 1 2.0938 1 51.04258087337333 74.64391052110624 0 0 0 0 -2825 1 1.8868 1 31.54008071542888 134.31635657843395 0 0 0 0 -8915 1 1.0569 1 12.028462306795504 125.25612621203048 0 0 0 0 -3122 1 1.7876 1 20.052771115817563 133.83386245645102 0 0 0 0 -485 1 4.4667 1 23.078659915871697 134.4665487505344 0 0 0 0 -380 1 5.0732 1 11.75026027178593 117.30406859550882 0 0 0 0 -1384 1 2.7007 1 11.676026328116002 111.29455980961788 0 1 0 0 -8192 1 1.1019 1 22.156488610293287 139.1697495615825 0 0 0 0 -7128 1 1.1836 1 18.623224727476142 142.24307877071385 0 0 0 0 -5679 1 1.329 1 12.778583530535863 151.17467389926858 0 1 0 0 -8578 1 1.0765 1 13.145269885220944 149.97458762514069 0 1 0 0 -726 1 3.7336 1 23.483227688409713 141.13996174653317 0 0 0 0 -7619 1 1.143 1 26.743937524756443 139.1159472818217 0 0 0 0 -7438 1 1.1576 1 20.583962495647032 144.80528843877516 0 0 0 0 -3818 1 1.6234 1 11.676763028380847 140.0147350520448 0 0 0 0 -138 1 7.9495 1 13.47178247365922 144.40647542441246 0 0 0 0 -7147 1 1.1825 1 10.616107173180017 140.86548288816118 0 1 0 0 -1295 1 2.7964 1 18.79874444499939 144.17320245438498 0 0 0 0 -1591 1 2.5002 1 17.320364153519098 140.98528773911275 0 0 0 0 -1720 1 2.4103 1 21.27719291551182 143.21714683924998 0 0 0 0 -637 1 3.919 1 15.161856561706278 138.75592932209088 0 0 0 0 -9115 1 1.0465 1 10.124071290554882 151.79602952798754 0 1 0 0 -2301 1 2.0923 1 19.527782291624764 140.9247166071729 0 0 0 0 -9050 1 1.05 1 17.612144101841373 142.70201912049131 0 0 0 0 -2419 1 2.0415 1 17.968330452362377 146.38475744145777 0 0 0 0 -7934 1 1.119 1 12.994817741521132 139.92685547571884 0 0 0 0 -7177 1 1.1801 1 21.059829211639197 141.45140469122762 0 0 0 0 -9792 1 1.0101 1 17.13872824835124 147.65404213375945 0 0 0 0 -7526 1 1.1507 1 13.902227886972494 150.68303247185108 0 0 0 0 -3097 1 1.7976 1 14.545073773746545 149.3783969118651 0 0 0 0 -2385 1 2.0539 1 11.56209214471982 152.3341266845134 0 1 0 0 -3270 1 1.7472 1 15.98152466699913 148.38541356026366 0 0 0 0 -3309 1 1.7378 1 26.176537033423397 140.4154328360047 0 0 0 0 -3392 1 1.7172 1 21.080569204929194 140.0132714969193 0 0 0 0 -6078 1 1.2857 1 25.184234373853045 139.3924633782771 0 0 0 0 -8793 1 1.0638 1 19.715297832510863 142.4827609684673 0 0 0 0 -6641 1 1.2279 1 10.346080117896461 153.4094762484955 0 1 0 0 -7542 1 1.1489 1 13.165182246945701 148.89958218903405 0 0 0 0 -8762 1 1.0656 1 27.692821358791882 139.72453978232804 0 0 0 0 -744 1 3.6939 1 10.8559374998903 149.5682367511157 0 1 0 0 -9195 1 1.0422 1 24.191146165247638 138.8531174475231 0 0 0 0 -1958 1 2.2662 1 18.212524622443503 138.80431317766704 0 0 0 0 -7726 1 1.1347 1 23.14676656973177 138.79445142091453 0 0 0 0 -1 1 163.7888 1 71.60142128071288 209.4834933826116 0 0 0 0 -5282 1 1.3781 1 11.83349842952672 266.4261453510744 0 0 0 0 -1765 1 2.3752 1 10.334218660323593 265.39553690123614 0 1 0 0 -12 1 32.319 1 45.29370323033537 310.1755577752966 0 0 0 0 -18 1 25.1498 1 14.819054856461946 310.0633820013534 0 0 0 0 -50 1 13.2136 1 34.19580696712174 290.6616735997308 0 0 0 0 -58 1 12.4673 1 20.35125435705312 280.7972773050775 0 0 0 0 -63 1 11.7591 1 18.765246589787992 331.6241087499331 0 0 0 0 -116 1 9.135 1 40.35597132877712 331.2176437053975 0 0 0 0 -143 1 7.8305 1 59.7410232429355 296.41864439235235 0 0 0 0 -151 1 7.5959 1 58.080275795571616 325.23493001647057 0 0 0 0 -158 1 7.5128 1 16.410649479530104 289.9020132468334 0 0 0 0 -167 1 7.3828 1 27.849372934758676 300.7096386725048 0 0 0 0 -9740 1 1.0131 1 26.407827128090545 283.6772548555674 0 0 0 0 -205 1 6.7519 1 28.82934884842657 329.43438841858836 0 0 0 0 -234 1 6.3152 1 21.472424738138642 294.60733566026596 0 0 0 0 -238 1 6.2924 1 63.62087189750498 321.26779659794704 0 0 0 0 -260 1 6.1283 1 69.8952582028224 309.5800471973064 0 0 0 0 -299 1 5.7461 1 67.53251107039792 296.13343648464183 0 0 0 0 -322 1 5.5335 1 30.824991030249983 323.7565314134061 0 0 0 0 -325 1 5.5027 1 11.42871079233672 295.22959041315306 0 0 0 0 -386 1 5.0124 1 25.781034128170198 287.5586596259021 0 0 0 0 -1570 1 2.5183 1 49.31681497799664 330.3164426491664 0 0 -1 0 -5170 1 1.3924 1 73.4836362989095 308.5784254362717 0 0 0 0 -4586 1 1.4826 1 11.527212573270761 322.90583422350494 0 1 0 0 -622 1 3.9488 1 67.07368230576346 313.6841086058512 0 0 0 0 -6930 1 1.1997 1 71.83695295526188 329.9216318231562 0 0 -1 0 -636 1 3.9197 1 31.283976131284806 282.8157298745386 0 0 0 0 -788 1 3.6122 1 64.99588106539355 304.0599480096915 0 0 0 0 -799 1 3.5954 1 10.943475469659 290.8090973372282 0 0 0 0 -9834 1 1.0085 1 53.79549532662501 325.19553598951916 0 0 0 0 -821 1 3.5423 1 72.34646680805044 313.69467368438126 0 0 0 0 -854 1 3.4527 1 70.69177932757904 292.99661754643535 0 0 0 0 -869 1 3.4291 1 26.916771777470395 321.7393091071477 0 0 0 0 -874 1 3.4158 1 44.861179350447564 291.50725916501204 0 0 0 0 -877 1 3.4008 1 20.55171094436226 323.03924185780085 0 0 0 0 -6936 1 1.1993 1 47.35191980258997 326.80320618071295 0 0 -1 0 -945 1 3.2533 1 23.75470200035363 322.59105929108887 0 0 0 0 -1037 1 3.1125 1 27.65431198659825 295.4863950978531 0 0 0 0 -1044 1 3.0954 1 72.08754421009267 316.94659519004296 0 0 0 0 -7444 1 1.1572 1 13.446220510621362 273.3621397868404 0 0 0 0 -1112 1 2.9989 1 28.173072061498935 314.24110622622356 0 0 0 0 -1137 1 2.9732 1 57.69086716168198 291.5416852327139 0 0 0 0 -9285 1 1.0374 1 44.00276897744697 327.76475145936405 0 0 -1 0 -9407 1 1.0302 1 53.635421684299295 328.3149945399528 0 0 -1 0 -1206 1 2.8995 1 33.59512953015622 329.4078553036475 0 0 0 0 -5093 1 1.405 1 64.74152854885375 330.43215819141807 0 0 -1 0 -2337 1 2.0738 1 63.67796826613769 329.10570832592157 0 0 -1 0 -939 1 3.2646 1 16.985188397509937 272.5916788457337 0 0 0 0 -1275 1 2.8181 1 70.97340552649463 301.54831289409447 0 0 0 0 -1296 1 2.7962 1 49.13776859560737 289.551897467695 0 0 0 0 -1309 1 2.7828 1 23.26959850936329 325.53935716782826 0 0 0 0 -1312 1 2.7768 1 25.20354803116572 319.2624466897865 0 0 0 0 -5774 1 1.3168 1 15.197521560194746 326.1560145042415 0 0 0 0 -1341 1 2.745 1 45.516517832939925 288.51488312830554 0 0 0 0 -1342 1 2.7447 1 61.84789261196403 303.6241708841374 0 0 0 0 -7582 1 1.1453 1 32.867070692384715 331.78770022000435 0 0 0 0 -1385 1 2.7004 1 69.54250969569799 315.730060160015 0 0 0 0 -2546 1 1.9907 1 65.6604098727572 327.950551907246 0 0 -1 0 -1404 1 2.6784 1 65.16364701012677 308.85621089030116 0 0 0 0 -1417 1 2.6646 1 61.91478135749912 315.37864550469527 0 0 0 0 -1445 1 2.6284 1 70.63594133739365 298.87151861217035 0 0 0 0 -2102 1 2.1834 1 10.446323324110322 324.33729454398355 0 1 0 0 -1530 1 2.5464 1 60.39320564468755 301.51996754605466 0 0 0 0 -1666 1 2.4441 1 24.52654935733508 291.53633591484896 0 0 0 0 -1677 1 2.4408 1 64.47651404140986 300.7523269707676 0 0 0 0 -3039 1 1.8147 1 70.44118134391718 330.47288296850616 0 0 -1 0 -1683 1 2.4326 1 61.73402790029054 291.84792543029505 0 0 0 0 -7587 1 1.145 1 10.469635965032689 327.3466968132305 0 1 0 0 -1746 1 2.3871 1 63.75381298700273 326.94398311791235 0 0 0 0 -1752 1 2.3838 1 63.3183227342437 310.53459297932403 0 0 0 0 -1789 1 2.3619 1 47.27898405749842 293.0317753151394 0 0 0 0 -1828 1 2.3422 1 32.679030802894374 298.1131348311928 0 0 0 0 -1835 1 2.3375 1 12.02375951602743 287.7290866878728 0 0 0 0 -1868 1 2.3205 1 66.62707267500772 301.664109827984 0 0 0 0 -1872 1 2.3195 1 63.597820857218366 317.10312101890247 0 0 0 0 -1899 1 2.301 1 60.09414600601965 318.98626078816676 0 0 0 0 -1916 1 2.2894 1 41.943373003976205 286.9558859465633 0 0 0 0 -1929 1 2.2841 1 55.16878695159428 294.2701996455998 0 0 0 0 -1942 1 2.2747 1 55.199131387367665 290.79968704076975 0 0 0 0 -4083 1 1.5692 1 10.29586156698633 288.45300674444985 0 0 0 0 -1977 1 2.2552 1 70.52182797009905 305.5563376097275 0 0 0 0 -1980 1 2.2544 1 50.78950882185566 293.2008410628513 0 0 0 0 -2007 1 2.2352 1 23.094589497089817 289.74622722713025 0 0 0 0 -2019 1 2.2278 1 62.30875389324904 313.0045250820283 0 0 0 0 -2025 1 2.2241 1 62.760517305258084 308.384806413235 0 0 0 0 -2064 1 2.202 1 28.420242604096522 318.1558281191566 0 0 0 0 -2090 1 2.1881 1 64.21459051578985 306.74655208689575 0 0 0 0 -2109 1 2.1781 1 16.66800363902092 296.18849314249735 0 0 0 0 -2136 1 2.1612 1 17.996386063838862 324.83781786786375 0 0 0 0 -2233 1 2.1216 1 25.328550192097133 326.7541152777472 0 0 0 0 -2243 1 2.1187 1 34.78689978189079 327.32714859634154 0 0 0 0 -2279 1 2.1033 1 35.88325055572584 325.62322613034615 0 0 0 0 -2321 1 2.08 1 32.58316673338324 327.1369072619316 0 0 0 0 -2324 1 2.0777 1 27.490114412689454 280.2800624559196 0 0 0 0 -2325 1 2.0772 1 65.55600328839533 316.20362705573757 0 0 0 0 -2329 1 2.0763 1 26.709863303741734 291.81461408691655 0 0 0 0 -2336 1 2.0745 1 70.53003730559111 319.18319931954727 0 0 0 0 -9822 1 1.0088 1 61.96095010844797 329.38956221322076 0 0 -1 0 -2363 1 2.0615 1 31.20159735974113 319.99285954883646 0 0 0 0 -505 1 4.3556 1 10.313399439051555 330.0282696079338 0 0 0 0 -2374 1 2.0584 1 24.16105426663595 297.79334478767714 0 0 0 0 -2406 1 2.0453 1 68.51403785514898 319.5331654401828 0 0 0 0 -2439 1 2.0308 1 29.28434545445943 284.88991971527656 0 0 0 0 -2443 1 2.029 1 67.24991630430058 306.3820068844959 0 0 0 0 -2455 1 2.026 1 40.06899496015225 286.0241339713527 0 0 0 0 -4266 1 1.5384 1 67.51508440640248 330.63310336933665 0 0 -1 0 -2597 1 1.9698 1 51.485225575588025 289.8249142738304 0 0 0 0 -2613 1 1.962 1 23.385717895249748 299.6078603791624 0 0 0 0 -4056 1 1.5736 1 39.53260436715602 326.01460544052435 0 0 -1 0 -2705 1 1.9275 1 67.65147905408355 303.48034339075684 0 0 0 0 -2746 1 1.9121 1 21.073957818322505 289.35306627558424 0 0 0 0 -2760 1 1.9081 1 64.79997712079206 325.12632519324245 0 0 0 0 -2765 1 1.9068 1 28.261572813461843 310.57180767016 0 0 0 0 -2790 1 1.8974 1 28.615899335095985 281.87236694933864 0 0 0 0 -3453 1 1.7034 1 58.284026260536685 330.6416739950992 0 0 -1 0 -2826 1 1.886 1 64.15193092150196 294.4160237387448 0 0 0 0 -2841 1 1.8826 1 64.20855884565752 313.6827446726207 0 0 0 0 -2863 1 1.8733 1 68.68030825696302 301.9109611124812 0 0 0 0 -7767 1 1.1311 1 69.67088200920946 303.0012455544776 0 0 0 0 -2907 1 1.8617 1 25.57904317440475 324.28870132912186 0 0 0 0 -1202 1 2.9034 1 46.7026219019951 330.99948900460214 0 0 0 0 -2945 1 1.85 1 42.46446630021976 292.4011116366023 0 0 0 0 -5204 1 1.3881 1 13.256310964993173 272.11466433915297 0 0 0 0 -3095 1 1.7987 1 53.353985183301496 291.53617827543627 0 0 0 0 -5110 1 1.402 1 16.34357310093557 325.4545635458057 0 0 0 0 -3128 1 1.7851 1 18.020938871234318 322.9918364433062 0 0 0 0 -9829 1 1.0087 1 59.88097899909246 320.70694812854566 0 0 0 0 -3152 1 1.7783 1 51.440633669339185 326.0520336945626 0 0 0 0 -9350 1 1.0336 1 72.86776119961358 329.49993167208834 0 0 -1 0 -3246 1 1.7538 1 24.71629477583918 328.5573534583361 0 0 0 0 -3330 1 1.7327 1 29.15959109145516 320.554879585102 0 0 0 0 -3353 1 1.7271 1 62.47542825550296 300.287149792205 0 0 0 0 -3372 1 1.7232 1 66.63456347460657 299.7036725266369 0 0 0 0 -1826 1 2.3426 1 53.35503112728533 326.72575740243224 0 0 -1 0 -5905 1 1.3044 1 15.844197031997428 275.5993594070217 0 0 0 0 -3424 1 1.7105 1 33.826052934968736 325.7274004174422 0 0 0 0 -3441 1 1.7056 1 18.34560180822942 297.1137902916814 0 0 0 0 -3479 1 1.6982 1 32.0729930663668 299.83635148843445 0 0 0 0 -3491 1 1.6955 1 40.92075018047802 293.77038873653476 0 0 0 0 -3522 1 1.6887 1 34.36892105795217 324.15695537080904 0 0 0 0 -3532 1 1.686 1 53.51665542029069 293.22739561984486 0 0 0 0 -3541 1 1.6849 1 74.01703989866064 292.0410679216036 0 0 0 0 -3543 1 1.684 1 65.16130036326464 298.8897945267675 0 0 0 0 -6080 1 1.2854 1 16.705461640981095 323.7219977374271 0 0 0 0 -8920 1 1.0564 1 65.1856154055735 329.3440826861205 0 0 -1 0 -3613 1 1.6687 1 43.19576717529989 288.35569747294505 0 0 0 0 -3621 1 1.6672 1 25.39487826958122 294.88312844670196 0 0 0 0 -4720 1 1.4606 1 11.943903547187682 268.928345545585 0 0 0 0 -3669 1 1.6558 1 67.72817587361979 292.47772402167465 0 0 0 0 -3705 1 1.6457 1 69.17522563551772 304.2644188249622 0 0 0 0 -3710 1 1.6448 1 47.00546737565307 290.07941972357213 0 0 0 0 -7499 1 1.1524 1 12.861741540415805 329.1797857234851 0 0 0 0 -3730 1 1.643 1 30.293624393290862 317.98468767885447 0 0 0 0 -3780 1 1.6336 1 21.120931579932503 325.42578386041527 0 0 0 0 -3804 1 1.6282 1 21.018662605915274 298.36893521335196 0 0 0 0 -3814 1 1.625 1 51.68699911523852 291.5529700845321 0 0 0 0 -6227 1 1.2679 1 71.68118941256881 304.3623791946373 0 0 0 0 -3854 1 1.6164 1 60.74263533160595 317.15196785131536 0 0 0 0 -8948 1 1.0553 1 72.73615314990873 302.48244233867405 0 0 0 0 -3882 1 1.6111 1 27.102159789187997 282.60949524874803 0 0 0 0 -3887 1 1.6103 1 34.868570762664994 283.41321115706614 0 0 0 0 -3897 1 1.6088 1 21.48689869228054 287.6949071812008 0 0 0 0 -3861 1 1.6156 1 14.612314778935442 272.7211117958188 0 0 0 0 -3949 1 1.5968 1 64.35000394495118 292.6319307623913 0 0 0 0 -3962 1 1.5939 1 27.32019682132517 324.1490124847607 0 0 0 0 -3980 1 1.5901 1 63.0262616851081 325.1212899539414 0 0 0 0 -3993 1 1.5879 1 62.850081810175936 305.47966662805595 0 0 0 0 -4008 1 1.5819 1 23.313787096850046 320.28890130073034 0 0 0 0 -4033 1 1.5772 1 26.028422964250932 293.44988978120233 0 0 0 0 -3824 1 1.6219 1 12.33659032025167 324.19590065384085 0 0 0 0 -4085 1 1.5689 1 15.677504008891853 294.6160348596115 0 0 0 0 -9878 1 1.006 1 16.005910643856616 274.46278014870285 0 0 0 0 -4121 1 1.5632 1 54.14460762770604 295.81412924292476 0 0 0 0 -4144 1 1.5595 1 14.177933753674921 283.8705919845551 0 0 0 0 -3538 1 1.6852 1 12.74132705185826 267.59044619398594 0 1 0 0 -4168 1 1.5555 1 72.39314438076477 299.9367997295236 0 0 0 0 -6977 1 1.1961 1 19.151922689501085 273.1044063078201 0 0 0 0 -1110 1 3.0029 1 14.631276507788437 324.07603695380476 0 0 0 0 -4239 1 1.5436 1 73.57830802691822 301.56030560545497 0 0 0 0 -4246 1 1.5428 1 64.00217294121428 315.2957009847775 0 0 0 0 -9698 1 1.0154 1 17.89961169818059 293.86459566081277 0 0 0 0 -4268 1 1.5381 1 67.55722342196938 317.507609762463 0 0 0 0 -3094 1 1.7994 1 47.75836675567058 328.95999188681657 0 0 -1 0 -7056 1 1.1893 1 44.44485608563968 326.7992889183093 0 0 0 0 -4281 1 1.5361 1 64.42284614866766 312.06417996121525 0 0 0 0 -6516 1 1.2416 1 15.450879934403677 269.8897534516189 0 0 0 0 -4321 1 1.5286 1 53.08236204631761 294.75181837571466 0 0 0 0 -4342 1 1.5241 1 50.13439629659996 291.43996758501254 0 0 0 0 -4371 1 1.5198 1 69.19417828341125 300.3176991456558 0 0 0 0 -4411 1 1.5134 1 48.22629603158466 291.38530054619116 0 0 0 0 -4418 1 1.5122 1 13.530387864337648 285.20545512683043 0 0 0 0 -4488 1 1.5001 1 69.80770625415093 313.64323958661265 0 0 0 0 -4498 1 1.4977 1 66.83586336073363 319.0843914819925 0 0 0 0 -4509 1 1.4954 1 49.10333207664657 292.5180854722225 0 0 0 0 -4580 1 1.4839 1 29.164635470550667 280.31172732266623 0 0 0 0 -4705 1 1.4643 1 72.21620396871319 306.27006852655757 0 0 0 0 -8135 1 1.1054 1 37.19780679780338 324.7510199303083 0 0 0 0 -4759 1 1.4546 1 35.132218011872276 330.8944192036344 0 0 0 0 -7685 1 1.1374 1 41.922321242261695 326.4445819542367 0 0 -1 0 -1769 1 2.3732 1 13.816852877696325 269.2486376065189 0 0 0 0 -3661 1 1.6595 1 54.39122762300377 329.35839454893744 0 0 -1 0 -4856 1 1.4404 1 63.3436264421699 302.2384473980512 0 0 0 0 -4957 1 1.425 1 63.02226786315006 293.2318034500134 0 0 0 0 -5000 1 1.4202 1 20.635328899507808 290.91221694021783 0 0 0 0 -9888 1 1.0056 1 53.953049487060504 324.2825839958268 0 0 0 0 -5039 1 1.4152 1 13.452897208416745 286.6095855342802 0 0 0 0 -5047 1 1.4137 1 21.964461156791213 290.9277138769346 0 0 0 0 -9955 1 1.003 1 61.78047878225421 306.1864338481528 0 0 0 0 -5113 1 1.4015 1 74.20039561829734 310.90846091781873 0 0 0 0 -5121 1 1.3993 1 53.1567731598038 289.9700986220495 0 0 0 0 -5135 1 1.3982 1 25.015146431959362 296.3317022020865 0 0 0 0 -5303 1 1.3756 1 42.57536543445179 289.70543776362206 0 0 0 0 -5320 1 1.3734 1 41.58521752738065 288.7758886282374 0 0 0 0 -5343 1 1.3706 1 27.8635472800001 325.5090354210235 0 0 0 0 -5358 1 1.3687 1 28.659533823436433 316.40744254095034 0 0 0 0 -8494 1 1.0812 1 51.60628536702776 329.541874496748 0 0 -1 0 -5460 1 1.3551 1 29.503906670989902 296.6827206028345 0 0 0 0 -5492 1 1.3517 1 51.678124380297014 294.6986250427543 0 0 0 0 -5499 1 1.3505 1 72.60889226156498 319.02430382264544 0 0 0 0 -4806 1 1.4478 1 10.322850873977533 326.1045882090122 0 0 0 0 -5673 1 1.3296 1 27.22856349492165 319.4097627347729 0 0 0 0 -5695 1 1.3265 1 35.80879240926195 323.97049194575266 0 0 0 0 -5728 1 1.3231 1 49.16827599525757 293.87575906789 0 0 0 0 -4728 1 1.4595 1 52.84064541181068 329.2254332929001 0 0 -1 0 -8625 1 1.0732 1 65.42209141806258 326.4581779003793 0 0 -1 0 -5792 1 1.3151 1 70.0412812491832 317.61796046133145 0 0 0 0 -5833 1 1.3112 1 19.67965006536277 325.18904536611217 0 0 0 0 -5857 1 1.3093 1 55.239578090397394 296.676639121208 0 0 0 0 -5865 1 1.3088 1 14.492087762251534 293.83399886892863 0 0 0 0 -5870 1 1.3085 1 12.848578114742875 292.2778306412169 0 0 0 0 -5890 1 1.3059 1 65.46947709566574 291.7801913550061 0 0 0 0 -5541 1 1.3455 1 55.69658729008844 330.0112129632261 0 0 -1 0 -108 1 9.414 1 70.41589327101323 324.8875030273334 0 0 -1 0 -5934 1 1.3015 1 63.892200692388066 298.2006364517678 0 0 0 0 -5978 1 1.2967 1 59.890024626129936 291.3605422395038 0 0 0 0 -5990 1 1.2959 1 25.150007612954646 330.8249952363287 0 0 0 0 -6062 1 1.2872 1 26.865050216120288 278.7647463538022 0 0 0 0 -6073 1 1.286 1 14.917157106513383 285.0317432869699 0 0 0 0 -9754 1 1.0127 1 38.455360247543645 325.33482872472564 0 0 -1 0 -9824 1 1.0088 1 60.048826067286356 331.44125007769725 0 0 -1 0 -6108 1 1.2828 1 72.97324741948167 320.2333137299198 0 0 0 0 -6158 1 1.277 1 56.54343965917484 293.25677367226825 0 0 0 0 -6171 1 1.2753 1 19.623351623944746 297.8355928441038 0 0 0 0 -6177 1 1.2748 1 61.98179075116167 317.86961905183136 0 0 0 0 -6190 1 1.273 1 41.41068014485934 291.25632087138433 0 0 0 0 -6230 1 1.2675 1 68.84195074558555 317.94338120087156 0 0 0 0 -6243 1 1.2659 1 44.02338811641446 287.2079776052027 0 0 0 0 -6262 1 1.2637 1 61.977545156150114 327.2886849387086 0 0 0 0 -6301 1 1.2608 1 26.72119882063864 317.9445194410265 0 0 0 0 -6308 1 1.2604 1 70.67081154965614 303.6284953255888 0 0 0 0 -6309 1 1.2604 1 27.02331175027595 284.5933857503348 0 0 0 0 -4583 1 1.4831 1 43.15817284513545 326.84107697403283 0 0 -1 0 -6406 1 1.251 1 28.287643365831844 307.3161602349108 0 0 0 0 -6453 1 1.2472 1 68.84964058396348 306.051846774687 0 0 0 0 -6486 1 1.2448 1 73.0353464103337 311.4427659701443 0 0 0 0 -9927 1 1.004 1 65.81005081901677 318.4221837040482 0 0 0 0 -6528 1 1.2402 1 37.50344387223031 325.86185867207735 0 0 0 0 -6533 1 1.2391 1 66.652717903841 311.2266616356018 0 0 0 0 -8009 1 1.1141 1 50.590631607611506 329.03039849803037 0 0 0 0 -6562 1 1.2362 1 35.8097091294598 328.63976809028736 0 0 0 0 -6644 1 1.2277 1 29.744556829937675 319.25278890196324 0 0 0 0 -6646 1 1.2275 1 64.14811777975368 295.9702502369684 0 0 0 0 -6650 1 1.2267 1 28.46142663359403 305.7068519592068 0 0 0 0 -6658 1 1.2264 1 22.749305950936037 287.1062738051948 0 0 0 0 -6670 1 1.225 1 66.34343808723037 292.8479711429407 0 0 0 0 -6698 1 1.2223 1 30.969003351790473 297.8132506916021 0 0 0 0 -6712 1 1.2212 1 36.412453363757706 327.6011639299903 0 0 0 0 -6736 1 1.2192 1 17.75444654225837 294.94612837366225 0 0 0 0 -6505 1 1.2425 1 72.87569748610451 307.4277840082818 0 0 0 0 -6760 1 1.2174 1 68.08719387065794 299.5371452697772 0 0 0 0 -6773 1 1.2156 1 43.84453533016257 289.5378104663295 0 0 0 0 -6788 1 1.2139 1 20.098215371695545 287.61708216018855 0 0 0 0 -9710 1 1.0146 1 14.532439218652677 286.0923242543255 0 0 0 0 -6793 1 1.213 1 54.688364011423864 292.44564774153247 0 0 0 0 -6820 1 1.2105 1 72.65568831496202 291.91946638008847 0 0 0 0 -6865 1 1.2053 1 33.58133202772699 322.0157185540504 0 0 0 0 -6872 1 1.2046 1 63.50575946099939 291.5517109263948 0 0 0 0 -6885 1 1.2036 1 26.585821051942734 316.6934927987555 0 0 0 0 -5434 1 1.3585 1 18.566236211690917 274.1974226043905 0 0 0 0 -6923 1 1.2 1 47.50318898102013 288.38425920778593 0 0 0 0 -3544 1 1.6837 1 56.680198831229575 331.1190254756157 0 0 -1 0 -6980 1 1.1959 1 71.96861372161267 303.23830005948486 0 0 0 0 -6991 1 1.1951 1 20.144360263054647 273.96810285298557 0 0 0 0 -7009 1 1.1933 1 67.6485258092297 316.1676381307947 0 0 0 0 -7033 1 1.191 1 62.20395448746234 301.69194491068566 0 0 0 0 -9874 1 1.0061 1 40.72194346598613 287.9829160814674 0 0 0 0 -7073 1 1.1881 1 27.429476852642804 293.32686245382007 0 0 0 0 -7087 1 1.1872 1 58.16015950253148 320.87647994690735 0 0 0 0 -7093 1 1.1867 1 41.35260034421572 290.03196728978895 0 0 0 0 -7156 1 1.1815 1 15.227275577134547 296.93552452428673 0 0 0 0 -7190 1 1.179 1 42.63622711948799 290.93888977693535 0 0 0 0 -4119 1 1.5635 1 57.07118069256377 329.6075526440271 0 0 -1 0 -7292 1 1.1715 1 27.860626925061897 285.37948248076486 0 0 0 0 -7298 1 1.1709 1 37.41244450875125 327.025462679007 0 0 0 0 -9830 1 1.0087 1 27.52383340426867 316.1334896649976 0 0 0 0 -3412 1 1.7122 1 14.64054694855654 271.0955569461696 0 0 0 0 -7518 1 1.1512 1 73.51264018982802 309.84526281993215 0 0 0 0 -7519 1 1.1512 1 65.36151263204566 293.50248383508386 0 0 0 0 -2799 1 1.8937 1 10.83759680662471 267.6967007769098 0 1 0 0 -9632 1 1.0189 1 38.380705639726656 326.5546110239871 0 0 -1 0 -7631 1 1.1424 1 28.8397808250093 283.3698437803626 0 0 0 0 -7676 1 1.1383 1 26.8014984864945 326.1646505598643 0 0 0 0 -7710 1 1.1355 1 29.88795661645058 316.6820826664139 0 0 0 0 -7719 1 1.135 1 28.552052969133907 286.2799403114567 0 0 0 0 -7741 1 1.1333 1 42.3008106921764 293.8010003966893 0 0 0 0 -7019 1 1.1923 1 67.77254526108308 329.3726440708378 0 0 -1 0 -7896 1 1.1216 1 55.824437998520516 292.34584154329303 0 0 0 0 -7920 1 1.1195 1 66.36818557532173 310.1820465758627 0 0 0 0 -7953 1 1.1176 1 65.04866586307188 310.7373648698393 0 0 0 0 -7956 1 1.1173 1 25.68356524542359 317.3954570465428 0 0 0 0 -1375 1 2.7088 1 45.83277077186625 328.0242942193269 0 0 0 0 -7976 1 1.1162 1 22.729284711229 288.20058536990405 0 0 0 0 -7982 1 1.1157 1 27.067151761839856 290.2975514156588 0 0 0 0 -8375 1 1.0888 1 62.31394835165749 328.3960041936887 0 0 -1 0 -8027 1 1.113 1 61.66263516521208 307.1941297516677 0 0 0 0 -8089 1 1.1082 1 61.899718567027655 311.4349796555717 0 0 0 0 -7239 1 1.1748 1 54.675477023504335 327.9770087550535 0 0 -1 0 -6389 1 1.2525 1 17.04799214533477 274.8280494661806 0 0 0 0 -8140 1 1.1052 1 70.8019254785639 295.25542839835595 0 0 0 0 -8227 1 1.0998 1 32.37831330518813 330.8810533057303 0 0 0 0 -8231 1 1.0997 1 66.73710716829814 307.84218284395166 0 0 0 0 -8234 1 1.0993 1 27.812191625409163 283.75011851011726 0 0 0 0 -8241 1 1.0988 1 58.87499581725681 300.6648077869292 0 0 0 0 -9601 1 1.0206 1 30.26962808263764 280.68050745443304 0 0 0 0 -6370 1 1.2551 1 10.784513087030147 269.6084123206082 0 1 0 0 -2000 1 2.2425 1 12.095431168263298 270.75014560858307 0 0 0 0 -8334 1 1.0919 1 38.613631401276876 285.0362831056999 0 0 0 0 -8345 1 1.0908 1 62.62812155673062 306.76207207164464 0 0 0 0 -2522 1 2.0041 1 14.535048195815273 274.5022954924084 0 0 0 0 -8354 1 1.0904 1 43.58673645327494 293.44739340776425 0 0 0 0 -8413 1 1.0868 1 32.48933647437315 320.8976706787777 0 0 0 0 -9670 1 1.017 1 30.651675327267156 296.7821784382775 0 0 0 0 -8460 1 1.0839 1 73.62327801680583 300.2709233215305 0 0 0 0 -8468 1 1.0832 1 45.65522223745531 293.54519070688013 0 0 0 0 -8486 1 1.0818 1 25.899507824502162 284.5690142914802 0 0 0 0 -8507 1 1.0804 1 65.61932761249047 311.6572421413212 0 0 0 0 -8524 1 1.0796 1 66.29147640130438 317.5526488029023 0 0 0 0 -8564 1 1.0771 1 52.66035185121453 325.16331083932715 0 0 0 0 -2745 1 1.9127 1 51.71837550074445 328.03029996823176 0 0 -1 0 -8582 1 1.0763 1 61.233371323442626 305.3650417842806 0 0 0 0 -8595 1 1.0755 1 34.29117162022176 297.72892410060297 0 0 0 0 -1080 1 3.0424 1 49.408451575187534 327.3037255595294 0 0 -1 0 -8649 1 1.0723 1 35.51857500049633 329.72034510082864 0 0 0 0 -8653 1 1.0722 1 14.145514861288303 296.9926139069425 0 0 0 0 -8656 1 1.0719 1 63.475137981766444 299.3099150276255 0 0 0 0 -8669 1 1.0713 1 33.57876409729017 283.6306900284195 0 0 0 0 -8683 1 1.0709 1 67.9532567963916 300.64869636563344 0 0 0 0 -8684 1 1.0708 1 66.6248159473669 291.73701490920513 0 0 0 0 -8712 1 1.0693 1 33.758110590049874 282.6365351303733 0 0 0 0 -8755 1 1.0666 1 16.91228724787204 294.17523867988086 0 0 0 0 -8488 1 1.0817 1 34.392252729226314 322.79980645778204 0 0 -1 0 -4043 1 1.5752 1 66.43570566677622 329.5457124719134 0 0 -1 0 -8851 1 1.0602 1 29.575602185049586 315.6548962612261 0 0 0 0 -8907 1 1.0571 1 62.25735832666276 326.1711082375717 0 0 0 0 -8922 1 1.0564 1 68.15833799483298 305.139850128833 0 0 0 0 -8958 1 1.0549 1 41.06189060186487 292.4091239541955 0 0 0 0 -9008 1 1.0523 1 22.01920133496178 299.1573736029918 0 0 0 0 -9011 1 1.0522 1 26.107795974624615 296.8741298580919 0 0 0 0 -8984 1 1.0535 1 40.83004618134028 326.1987539661038 0 0 -1 0 -9129 1 1.0457 1 64.27846517895344 297.096588355666 0 0 0 0 -4666 1 1.4699 1 68.88219034693046 330.07869108069684 0 0 -1 0 -9152 1 1.0446 1 22.02347278252052 321.27172132181045 0 0 0 0 -8369 1 1.089 1 55.63328946092164 328.8021004439795 0 0 -1 0 -9180 1 1.0429 1 58.78017857376215 319.9792654724827 0 0 0 0 -9193 1 1.0422 1 14.743381104903515 275.9897558596315 0 0 0 0 -9199 1 1.0419 1 52.31226134855686 293.7332078235537 0 0 0 0 -9209 1 1.0413 1 71.87381487633549 319.9128331924676 0 0 0 0 -9212 1 1.0413 1 70.76893186491883 297.05722429112694 0 0 0 0 -9245 1 1.0397 1 26.67544651267882 315.5806242690815 0 0 0 0 -1538 1 2.5398 1 60.15226003178767 329.71391924496385 0 0 -1 0 -9310 1 1.0357 1 15.801483274330662 285.72528134136104 0 0 0 0 -9325 1 1.0348 1 47.016929416641766 291.38745792195726 0 0 0 0 -732 1 3.7178 1 12.781160993354641 326.79928894731637 0 1 0 0 -9343 1 1.0339 1 45.20119981787796 329.76347516033167 0 0 0 0 -9346 1 1.0338 1 26.625723751212647 325.19149319366795 0 0 0 0 -9349 1 1.0336 1 14.81421525985423 277.00220164530026 0 0 0 0 -7359 1 1.1649 1 61.22988702641414 328.23841195906897 0 0 -1 0 -9359 1 1.0329 1 68.84111299403973 291.8037946726901 0 0 0 0 -9388 1 1.0313 1 67.15998513620164 304.86581258889174 0 0 0 0 -8902 1 1.0573 1 16.31750572696351 270.5833161213599 0 0 0 0 -9437 1 1.0289 1 65.14679896285425 317.6862257518136 0 0 0 0 -634 1 3.9261 1 74.20959100977385 304.4769241157353 0 0 0 0 -8294 1 1.0951 1 74.0835881971357 312.15548973833864 0 0 0 0 -3758 1 1.6379 1 10.021526012520876 322.5092571075353 0 1 0 0 -4472 1 1.5023 1 74.02202925691834 328.9823236143153 0 0 -1 0 -3144 1 1.7798 1 74.29538836172884 320.88680925867277 0 0 0 0 -8679 1 1.0711 1 12.398608804438094 331.6952861212977 0 1 0 0 -9714 1 1.0145 1 31.83270250818457 331.75430143712794 0 0 0 0 -13 1 31.1484 1 121.50201984540669 72.73243523729181 0 0 0 0 -21 1 21.4617 1 90.3261723024172 40.57846357555442 0 0 0 0 -32 1 17.7495 1 127.22770488518054 25.131698885544097 0 0 0 0 -54 1 12.7924 1 115.85951283385633 49.426586563260834 0 0 0 0 -70 1 11.237 1 132.67663861736597 54.96053002470374 0 0 0 0 -9911 1 1.0045 1 95.91614357556058 68.09862770193028 0 0 0 0 -83 1 10.1031 1 89.7119301779511 18.88844045323457 0 0 0 0 -121 1 9.0689 1 102.18617589072859 24.331253839941393 0 0 0 0 -1410 1 2.6694 1 96.46061812989306 70.19381066978207 0 0 0 0 -133 1 8.3183 1 120.29978799647851 38.62793726658596 0 0 0 0 -186 1 7.0902 1 92.99384303414449 61.49859971547231 0 0 0 0 -203 1 6.7893 1 102.0795758123262 67.13559633367588 0 0 0 0 -250 1 6.2083 1 108.18416139392882 31.59976440812181 0 0 0 0 -257 1 6.1596 1 107.41918316503502 44.55661014849236 0 0 0 0 -8707 1 1.0694 1 138.52609908907493 69.5146245674604 0 0 0 0 -4395 1 1.5156 1 87.3827246552134 69.1312699997286 0 0 0 0 -1218 1 2.891 1 129.31814787872742 15.025595662585156 0 0 1 0 -284 1 5.8668 1 82.80727869775578 10.88417406236956 0 0 0 0 -300 1 5.7387 1 131.05223538367778 46.693083974446175 0 0 0 0 -332 1 5.4683 1 91.51832790744767 27.38174586540197 0 0 0 0 -335 1 5.4316 1 96.92713748432135 53.85597087272874 0 0 0 0 -347 1 5.3603 1 131.00065720572832 36.61783742674662 0 0 0 0 -355 1 5.304 1 111.79520147474278 23.542407117623284 0 0 0 0 -374 1 5.0865 1 89.2568863650068 56.79002264328514 0 0 0 0 -379 1 5.074 1 107.97810199491437 56.204984124763016 0 0 0 0 -128 1 8.5121 1 76.9552588962572 68.68046828894033 0 0 0 0 -394 1 4.9598 1 77.62491486536842 34.1869162663068 0 0 0 0 -419 1 4.8193 1 85.46574557611461 24.97551154666696 0 0 0 0 -434 1 4.726 1 116.46997328143415 22.060622783767812 0 0 0 0 -437 1 4.6914 1 108.7530397681173 18.5714565436856 0 0 0 0 -454 1 4.6379 1 102.47794983858184 48.8599260071715 0 0 0 0 -456 1 4.6343 1 100.98001318013726 60.75331756002748 0 0 0 0 -468 1 4.5736 1 135.1450853629804 40.76305071735884 0 0 0 0 -484 1 4.4673 1 113.02910831934771 33.63487115835554 0 0 0 0 -487 1 4.4531 1 95.64295762266791 22.955002402750605 0 0 0 0 -495 1 4.3956 1 130.79307153488267 41.457028318228495 0 0 0 0 -2919 1 1.8577 1 123.29057286711523 16.27616724189671 0 0 1 0 -513 1 4.3173 1 102.3663659014549 44.53581237241887 0 0 0 0 -8172 1 1.1028 1 79.7832620673146 16.906175426589012 0 0 0 0 -528 1 4.2756 1 112.19269868165495 37.89767962173636 0 0 0 0 -2997 1 1.8332 1 79.22670778857145 18.19173701934953 0 0 0 0 -3871 1 1.6132 1 122.58076277320131 10.875925056817087 0 0 1 0 -670 1 3.8449 1 125.05368542034472 51.61344619853186 0 0 0 0 -698 1 3.7864 1 99.27435458024914 18.637916816495554 0 0 0 0 -723 1 3.7442 1 107.09056962170801 36.43253577280467 0 0 0 0 -733 1 3.7131 1 87.28413965142653 65.38804769110533 0 0 0 0 -745 1 3.6937 1 103.70631131377628 33.429519542455765 0 0 0 0 -749 1 3.6903 1 134.93348467026055 61.955997070168046 0 0 0 0 -753 1 3.6804 1 103.52647589244535 37.80680633675724 0 0 0 0 -777 1 3.6347 1 114.17607709025053 27.213924738034134 0 0 0 0 -814 1 3.5511 1 124.14773724113866 55.59922941481754 0 0 0 0 -764 1 3.6516 1 107.82857191032855 14.554658370758847 0 0 1 0 -876 1 3.4104 1 106.41649371150444 49.221779134406994 0 0 0 0 -883 1 3.3827 1 125.82495901126913 36.9891322730423 0 0 0 0 -935 1 3.2856 1 121.81771692256143 44.15131999386638 0 0 0 0 -956 1 3.2395 1 101.94712485181995 16.405423793910405 0 0 0 0 -960 1 3.229 1 117.96661032830386 33.364569586857385 0 0 0 0 -965 1 3.2239 1 85.18058100779864 62.52808981135754 0 0 0 0 -973 1 3.2143 1 117.82842977719044 29.699031496016666 0 0 0 0 -1006 1 3.167 1 86.95961556875469 12.897415938726622 0 0 0 0 -1018 1 3.1502 1 126.71058414109692 47.485090863446956 0 0 0 0 -1035 1 3.1144 1 95.67295906355994 16.214037298866323 0 0 0 0 -1045 1 3.0949 1 108.44417108495641 26.050353366909405 0 0 0 0 -1090 1 3.0312 1 83.39972687867926 50.59562154474909 0 0 0 0 -1103 1 3.014 1 104.33409519768725 54.655685689698814 0 0 0 0 -1136 1 2.9734 1 107.02259693999129 63.36054560198585 0 0 0 0 -1141 1 2.9694 1 104.6648641868018 17.71970158504309 0 0 0 0 -1149 1 2.9551 1 137.75174285534223 67.70040753022636 0 0 0 0 -7441 1 1.1575 1 75.7997973839927 30.661693638349 0 0 0 0 -1164 1 2.9408 1 97.77952367169367 62.662049377720194 0 0 0 0 -6123 1 1.2811 1 134.9719676099989 10.472440160576193 0 0 1 0 -1185 1 2.9221 1 80.69387339199262 27.601156972925015 0 0 0 0 -6974 1 1.1963 1 86.13738991760899 72.30794702062684 0 0 0 0 -1194 1 2.9134 1 104.03038260946784 29.931466238297592 0 0 0 0 -769 1 3.6463 1 110.01916887669721 10.758561795807818 0 0 1 0 -134 1 8.1639 1 116.6191306559451 15.723304045664069 0 0 1 0 -1225 1 2.8811 1 114.93917347878364 30.524394727053938 0 0 0 0 -2167 1 2.1496 1 80.9313029557056 19.095210968481336 0 0 0 0 -1352 1 2.735 1 89.0715636156557 52.91892437842675 0 0 0 0 -1355 1 2.733 1 81.7627927844823 24.99758417663035 0 0 0 0 -1362 1 2.7265 1 84.4450583008931 55.088789773619105 0 0 0 0 -1395 1 2.6877 1 127.43027512330832 44.705100489539866 0 0 0 0 -2485 1 2.0149 1 137.0122486517679 24.060421482638052 0 0 0 0 -8768 1 1.0652 1 122.89866710158906 13.197469274808062 0 0 1 0 -1434 1 2.6432 1 81.84328487507278 64.13048678518712 0 0 0 0 -1439 1 2.6358 1 93.00231603606291 53.07826487327038 0 0 0 0 -1441 1 2.6332 1 136.96640525437175 46.94944327473644 0 0 0 0 -1467 1 2.6054 1 101.04686787483394 31.997569812898497 0 0 0 0 -501 1 4.3637 1 76.85159922976689 28.228902964858754 0 0 0 0 -1518 1 2.5596 1 81.14163006011293 32.896076130683674 0 0 0 0 -1531 1 2.546 1 112.2782079485796 58.7227502160916 0 0 0 0 -1543 1 2.5358 1 134.23096201964387 44.10216661453159 0 0 0 0 -1550 1 2.5331 1 100.4570614477762 52.195932589661965 0 0 0 0 -1560 1 2.5242 1 85.54113732211475 57.442822482214 0 0 0 0 -1565 1 2.5225 1 114.24650760876645 41.97576141136438 0 0 0 0 -9893 1 1.0054 1 122.40780186979973 15.209926667876392 0 0 0 0 -1575 1 2.5131 1 104.35521850572958 57.32325318034959 0 0 0 0 -8102 1 1.1074 1 138.43392610009658 30.500179222189338 0 0 0 0 -1593 1 2.4997 1 82.16387996437541 56.22853610516912 0 0 0 0 -1599 1 2.4947 1 97.8058042589459 65.35392312944641 0 0 0 0 -9668 1 1.0171 1 137.59780014850074 22.68839373609363 0 0 0 0 -1620 1 2.4786 1 95.19958755333641 57.34028707021789 0 0 0 0 -1660 1 2.4477 1 86.77480725214663 53.99616805293071 0 0 0 0 -1674 1 2.4413 1 96.50719336485187 29.43426059141546 0 0 0 0 -1680 1 2.44 1 108.24703931760597 60.970441386712956 0 0 0 0 -1716 1 2.4134 1 111.2801893766257 41.00740989703472 0 0 0 0 -1727 1 2.4073 1 97.8579986045916 31.363986368707398 0 0 0 0 -1728 1 2.4071 1 103.42015107351361 52.24238090381083 0 0 0 0 -1732 1 2.4049 1 109.9652167314482 59.328357270652724 0 0 0 0 -1755 1 2.3833 1 125.1888783013362 43.13866625342859 0 0 0 0 -1758 1 2.3818 1 85.63411638647041 59.84636653501472 0 0 0 0 -1768 1 2.3737 1 85.69915383226146 29.68137752878859 0 0 0 0 -7789 1 1.1295 1 135.87709677674226 29.27468148321644 0 0 0 0 -1796 1 2.3568 1 106.12074236394028 10.116307777581655 0 0 0 0 -1829 1 2.3419 1 81.82783675337514 21.136904291116714 0 0 0 0 -1838 1 2.3361 1 109.00055548240204 40.62509838904529 0 0 0 0 -1848 1 2.3311 1 101.8082170167202 55.36459766418464 0 0 0 0 -6753 1 1.2179 1 136.80367371723224 12.218391436330723 0 0 1 0 -1894 1 2.3034 1 82.27050299243648 53.88121305982223 0 0 0 0 -1943 1 2.2741 1 82.48990731573373 30.93793217818773 0 0 0 0 -1968 1 2.259 1 117.64419090773029 56.606793957895896 0 0 0 0 -2002 1 2.2423 1 106.77212258828095 40.462535923641475 0 0 0 0 -2006 1 2.2359 1 80.33542719580437 47.01213788864571 0 0 0 0 -2015 1 2.2303 1 107.4434582650635 22.333854127117295 0 0 0 0 -2028 1 2.2237 1 100.63798541619862 29.695478020243385 0 0 0 0 -2042 1 2.2165 1 97.41658355496612 27.321711984116718 0 0 0 0 -2068 1 2.1988 1 83.7893090159412 20.137495496828784 0 0 0 0 -9539 1 1.0238 1 81.7797093067526 73.08492143570754 0 0 0 0 -6039 1 1.2906 1 97.99956920567445 67.22997828211689 0 0 0 0 -2126 1 2.1662 1 104.1205168132691 59.60624652331916 0 0 0 0 -2143 1 2.1582 1 102.04667156439547 41.35659512149012 0 0 0 0 -3634 1 1.6652 1 137.683126275777 13.538693088473874 0 0 1 0 -4494 1 1.4983 1 98.24847212424697 68.59530407466171 0 0 0 0 -4275 1 1.5373 1 133.8765477263844 18.25987582753287 0 0 1 0 -2235 1 2.121 1 121.77382477691683 54.149495738687754 0 0 0 0 -2258 1 2.1144 1 111.31009450606543 43.2078302542127 0 0 0 0 -8376 1 1.0888 1 136.0911889580004 11.320835165320364 0 0 1 0 -2273 1 2.1053 1 108.65131269182616 51.10591785950557 0 0 0 0 -2311 1 2.0841 1 121.658370931787 33.67290189213363 0 0 0 0 -2323 1 2.0787 1 136.9432573915393 64.59663460746228 0 0 0 0 -2331 1 2.0762 1 101.32824154138618 57.483470830148114 0 0 0 0 -2346 1 2.0701 1 107.40217311915423 11.814367057395211 0 0 0 0 -2347 1 2.0696 1 80.41296407752272 30.747682742208525 0 0 0 0 -2361 1 2.0617 1 88.80136942211314 24.871743800366122 0 0 0 0 -2388 1 2.0527 1 100.51056307066962 72.23367479765015 0 0 0 0 -2403 1 2.0471 1 77.66854120735945 39.51456505375972 0 0 0 0 -4917 1 1.4299 1 94.9333270834479 71.55967468447696 0 0 0 0 -5909 1 1.3043 1 116.13308858291936 11.060375767216405 0 0 1 0 -7016 1 1.1926 1 98.9067627023027 72.10583798148663 0 0 0 0 -2458 1 2.0253 1 105.9018155092252 28.310908912775325 0 0 0 0 -2463 1 2.024 1 109.12779944641936 38.450388713085616 0 0 0 0 -2475 1 2.0186 1 126.46815367809768 57.02177990660261 0 0 0 0 -2482 1 2.0167 1 95.20638000722536 27.679378528659193 0 0 0 0 -2489 1 2.0142 1 78.65705133934365 41.25493132986596 0 0 0 0 -2513 1 2.0064 1 87.85701237933421 27.85176559572593 0 0 0 0 -2517 1 2.0053 1 86.09151987183212 51.938832611475625 0 0 0 0 -2528 1 2.0004 1 97.72042227045796 49.603491428219215 0 0 0 0 -2536 1 1.9972 1 99.16813268693316 33.076243534875815 0 0 0 0 -2549 1 1.9893 1 127.94652924560015 40.057668762024285 0 0 0 0 -3334 1 1.7323 1 95.48592836769608 73.29205684095848 0 0 0 0 -2596 1 1.9701 1 83.48386237620528 60.286431131255306 0 0 0 0 -2610 1 1.9628 1 96.68330268151183 58.91792316790245 0 0 0 0 -2630 1 1.9568 1 99.36486540937392 57.93008752966779 0 0 0 0 -2632 1 1.9567 1 106.22805584326852 20.673705608432513 0 0 0 0 -2634 1 1.9556 1 88.78189381411262 63.02916009417202 0 0 0 0 -2656 1 1.9447 1 99.6025108729359 13.816643258165634 0 0 0 0 -2659 1 1.9441 1 92.7406480932072 57.051503318184935 0 0 0 0 -2685 1 1.9363 1 94.38053327578733 29.64666199911122 0 0 0 0 -2690 1 1.9335 1 78.45196388024121 44.866435516372995 0 0 0 0 -2710 1 1.926 1 137.74300357558252 59.63080692589747 0 0 0 0 -823 1 3.5285 1 111.22535239720669 14.018795409607574 0 0 1 0 -2752 1 1.911 1 81.81393480283589 61.871061874390165 0 0 0 0 -2773 1 1.9049 1 112.78084317873794 29.52631608167052 0 0 0 0 -3706 1 1.6451 1 81.10056667913534 71.51815511996416 0 0 0 0 -5831 1 1.3113 1 91.43744299541437 72.70630533465093 0 0 0 0 -2846 1 1.8806 1 111.17088830324937 54.98610077534304 0 0 0 0 -2851 1 1.8787 1 119.61042089807165 31.417650954811563 0 0 0 0 -2853 1 1.8785 1 102.07076810123309 18.90608595926355 0 0 0 0 -7805 1 1.1285 1 96.11967952974194 72.03348888972084 0 0 0 0 -2883 1 1.8671 1 101.44195525538935 13.960627153341088 0 0 0 0 -2949 1 1.849 1 78.12720026382006 43.062161301390034 0 0 0 0 -2990 1 1.836 1 101.16310604601583 36.41949137880259 0 0 0 0 -3038 1 1.8149 1 84.566061072222 21.883412014800147 0 0 0 0 -1905 1 2.2967 1 121.48319512970701 17.18036335380382 0 0 1 0 -3089 1 1.8023 1 123.85596576199946 45.57216076624472 0 0 0 0 -2819 1 1.8893 1 78.44787612326786 30.882466687203404 0 0 0 0 -3106 1 1.796 1 111.34691073590591 56.79448137526316 0 0 0 0 -3129 1 1.7847 1 122.4578241231625 46.583507355802276 0 0 0 0 -3159 1 1.777 1 97.97969402152096 21.010508694554918 0 0 0 0 -3185 1 1.7691 1 115.79316825479938 57.32287401664048 0 0 0 0 -3188 1 1.7688 1 137.43354729105724 62.83821807529551 0 0 0 0 -3199 1 1.7664 1 120.23001757353747 55.20885470351127 0 0 0 0 -3211 1 1.7635 1 105.33395264243897 15.501047469138701 0 0 0 0 -3226 1 1.7586 1 79.36637500230796 62.11761962948481 0 0 0 0 -3228 1 1.7584 1 95.99660431534103 26.005477916096414 0 0 0 0 -3236 1 1.7559 1 122.42594428291447 52.39187393155923 0 0 0 0 -3266 1 1.7483 1 79.1246100613066 37.16411217526467 0 0 0 0 -3286 1 1.744 1 79.70800395593632 63.809426951798926 0 0 0 0 -3287 1 1.7439 1 114.4292803701259 39.87541257030114 0 0 0 0 -3293 1 1.7419 1 80.33815495916981 60.69111420830272 0 0 0 0 -3302 1 1.7393 1 92.7898132514026 24.012188602385024 0 0 0 0 -3310 1 1.7376 1 123.08626023540913 49.66998810830033 0 0 0 0 -3335 1 1.7322 1 135.9904092617169 37.28963873842243 0 0 0 0 -3365 1 1.7248 1 95.49308270044925 19.913016945019827 0 0 0 0 -3366 1 1.7246 1 135.70882642260398 49.25015152215282 0 0 0 0 -8528 1 1.0792 1 86.49400557306113 67.80973189543849 0 0 0 0 -3416 1 1.7116 1 126.28376195684808 54.04991013348191 0 0 0 0 -464 1 4.6071 1 136.83508609238422 17.789290400698032 0 0 1 0 -3481 1 1.6974 1 105.80950350852319 58.73371292109469 0 0 0 0 -3497 1 1.6939 1 117.81689509076219 27.276071305851865 0 0 0 0 -3502 1 1.6933 1 116.49345335924102 25.939538539641514 0 0 0 0 -3512 1 1.6913 1 104.98432321290828 61.274110907690144 0 0 0 0 -3523 1 1.6886 1 105.79076536240582 65.29277457640757 0 0 0 0 -3534 1 1.6858 1 134.11775007277117 48.711659721976694 0 0 0 0 -3542 1 1.6847 1 114.24255686505217 58.05187357149974 0 0 0 0 -3547 1 1.6831 1 109.75371471783849 36.26912859314617 0 0 0 0 -7012 1 1.193 1 122.19779484099261 14.172588926806366 0 0 1 0 -171 1 7.3254 1 91.82501107039984 68.47959329880264 0 0 0 0 -3569 1 1.6762 1 116.27093210638189 42.22699219045006 0 0 0 0 -3579 1 1.675 1 98.02622826040597 16.248952676658362 0 0 0 0 -3585 1 1.6742 1 104.69168338710828 62.86595016848793 0 0 0 0 -3597 1 1.6717 1 134.47220296515925 36.60374877190483 0 0 0 0 -654 1 3.8779 1 126.46837845002045 13.394411251945643 0 0 1 0 -3610 1 1.6688 1 83.73828966477028 29.4840743832326 0 0 0 0 -3665 1 1.6571 1 123.95422384463764 48.26676306343748 0 0 0 0 -3674 1 1.6544 1 98.8746857043347 50.92584314989648 0 0 0 0 -3675 1 1.6543 1 114.37458161496392 56.42594598443869 0 0 0 0 -7787 1 1.1297 1 125.78456707562948 15.803020560365889 0 0 1 0 -3680 1 1.6534 1 110.01137606499894 53.58053779745821 0 0 0 0 -3697 1 1.6481 1 84.86068014402674 13.965952322883492 0 0 0 0 -3733 1 1.6425 1 96.54140003186957 66.95999256396372 0 0 0 0 -3838 1 1.6194 1 116.20860464578922 34.99574121853613 0 0 0 0 -3863 1 1.6152 1 127.6764949868263 51.05032843134166 0 0 0 0 -3869 1 1.6133 1 108.53179316596108 52.93165857400538 0 0 0 0 -3879 1 1.6119 1 98.00854863406109 60.03303435914725 0 0 0 0 -3903 1 1.6066 1 103.77030868249938 41.99645511552403 0 0 0 0 -3934 1 1.6013 1 99.44911030475747 49.315049872474134 0 0 0 0 -3942 1 1.5992 1 103.76628040552033 40.414588234132886 0 0 0 0 -3966 1 1.5931 1 87.5334834263954 60.30837996878071 0 0 0 0 -3973 1 1.5912 1 105.18499217701348 41.4177144824989 0 0 0 0 -2399 1 2.0483 1 123.90723404013568 12.041644556353104 0 0 1 0 -3997 1 1.5863 1 115.8343266382301 40.686778533674044 0 0 0 0 -2736 1 1.9153 1 137.48264389427925 10.775415659227505 0 0 1 0 -4005 1 1.5826 1 125.40362471279312 45.05700477235733 0 0 0 0 -4017 1 1.58 1 106.96272029231703 52.753976615915455 0 0 0 0 -4034 1 1.5771 1 88.69523739140344 61.32286832231544 0 0 0 0 -4038 1 1.5762 1 110.24935912401683 34.7533565512263 0 0 0 0 -4040 1 1.5761 1 82.88573073847792 58.04661332371069 0 0 0 0 -4048 1 1.5748 1 123.40891445903361 33.98599111771157 0 0 0 0 -4072 1 1.5709 1 128.17077466699882 42.76438531880994 0 0 0 0 -4075 1 1.5706 1 95.0796796255696 50.990231012508794 0 0 0 0 -4101 1 1.5661 1 135.49125251090885 45.579503795448026 0 0 0 0 -4109 1 1.5649 1 99.62797525963755 16.035361774310168 0 0 0 0 -4110 1 1.5645 1 93.94812864788958 55.83689492984529 0 0 0 0 -4732 1 1.4591 1 101.8827973237846 71.18989430520321 0 0 0 0 -608 1 3.9972 1 82.15173451633393 16.2950619929407 0 0 0 0 -4243 1 1.5429 1 123.97561637612783 35.40932573995015 0 0 0 0 -4289 1 1.535 1 99.67519595823066 47.61896654031213 0 0 0 0 -8157 1 1.1042 1 86.11915281537162 68.96000474633516 0 0 0 0 -4326 1 1.5275 1 104.72148523063059 50.90037752113453 0 0 0 0 -364 1 5.1987 1 75.11886869861803 23.907552804832346 0 0 0 0 -4335 1 1.5257 1 83.96710176128092 18.311162922796992 0 0 0 0 -4337 1 1.5253 1 83.77842803822013 52.78719371574419 0 0 0 0 -8904 1 1.0573 1 138.10685640143308 15.263550449476488 0 0 1 0 -4372 1 1.5198 1 119.51263352319116 56.625095802737505 0 0 0 0 -7027 1 1.1917 1 119.1874344592389 11.72386439775129 0 0 1 0 -2727 1 1.9211 1 86.56090733893852 70.84039660568327 0 0 0 0 -4902 1 1.4321 1 132.98372213030183 17.215066999235464 0 0 1 0 -8188 1 1.102 1 103.27022442228616 13.103613088649587 0 0 1 0 -6616 1 1.2306 1 96.96303857808195 68.32398427686661 0 0 0 0 -4439 1 1.508 1 123.40302868913578 42.40996446785418 0 0 0 0 -4482 1 1.5007 1 79.45885257814403 29.361160779649158 0 0 0 0 -4485 1 1.5002 1 114.92200479999791 35.840373972668424 0 0 0 0 -4490 1 1.4992 1 81.7206526742677 70.09309939798705 0 0 0 0 -4504 1 1.4965 1 137.35393663053952 61.23031398550627 0 0 0 0 -4505 1 1.4964 1 91.60819811788356 54.56361986273364 0 0 0 0 -4506 1 1.4959 1 127.77507661592657 35.69400134741384 0 0 0 0 -4538 1 1.4912 1 77.04299416989659 41.864469690701 0 0 0 0 -4543 1 1.4906 1 137.01930988991245 38.45827457421234 0 0 0 0 -4556 1 1.4881 1 79.1107227861431 73.15159190675777 0 0 0 0 -4559 1 1.4879 1 101.95773118592089 53.49266914693105 0 0 0 0 -2256 1 2.1151 1 111.62302811341121 16.801591590085856 0 0 1 0 -4587 1 1.4825 1 126.05681764346471 34.631330166188214 0 0 0 0 -4594 1 1.4814 1 84.72094415762756 28.033882478220242 0 0 0 0 -4604 1 1.4797 1 99.34893936542832 64.11528908297471 0 0 0 0 -2124 1 2.1675 1 95.43670207576598 65.42530534122963 0 0 0 0 -4657 1 1.472 1 84.29459025148772 30.919984315534624 0 0 0 0 -4670 1 1.4692 1 108.79567939005949 49.35895274749762 0 0 0 0 -4682 1 1.4672 1 106.34833445391716 66.7419543102692 0 0 0 0 -9642 1 1.0184 1 90.76896428360544 73.62504653806538 0 0 0 0 -4708 1 1.4634 1 80.82307468854397 48.77862915389022 0 0 0 0 -4723 1 1.46 1 111.6698727964619 26.904346623279903 0 0 0 0 -2850 1 1.879 1 77.73473019714977 21.621734387130292 0 0 0 0 -4835 1 1.4438 1 84.13024560656766 58.75675207928655 0 0 0 0 -4838 1 1.4433 1 81.45286736506819 22.960670511430727 0 0 0 0 -9403 1 1.0303 1 135.14601658471497 20.095720566969632 0 0 0 0 -4848 1 1.4421 1 86.1781132451738 27.92896230918174 0 0 0 0 -4849 1 1.4419 1 79.98461402160572 45.26988574380562 0 0 0 0 -4850 1 1.4413 1 112.6232513633882 55.742559462355956 0 0 0 0 -5771 1 1.3172 1 97.69007704290038 71.75798376968496 0 0 0 0 -4345 1 1.5235 1 76.21794913878418 20.769214446314592 0 0 0 0 -9415 1 1.0298 1 77.21061236756549 63.97013306154126 0 0 0 0 -4885 1 1.4354 1 105.89447407562454 51.71108076065272 0 0 0 0 -4896 1 1.4331 1 125.18480005448404 39.24759779478062 0 0 0 0 -4897 1 1.4331 1 117.69618624573984 42.64047271701304 0 0 0 0 -4920 1 1.4297 1 128.51825065529022 34.496706817085226 0 0 0 0 -4980 1 1.423 1 106.46832460110507 16.609617110971573 0 0 0 0 -4988 1 1.4219 1 111.87357788797222 30.892968093202263 0 0 0 0 -5026 1 1.4171 1 81.26620009889966 50.1249364875495 0 0 0 0 -5029 1 1.4168 1 101.46019161201254 34.6328421178436 0 0 0 0 -5033 1 1.4157 1 100.00223907472247 55.190218610451474 0 0 0 0 -5042 1 1.4146 1 105.71175874619527 39.02218295144714 0 0 0 0 -5067 1 1.41 1 124.44974513479067 41.444867954444845 0 0 0 0 -5087 1 1.4063 1 91.0465140000469 53.26745685658286 0 0 0 0 -5091 1 1.4051 1 82.62866191536659 18.88468521546393 0 0 0 0 -9221 1 1.0409 1 76.03985656909681 19.50460210521978 0 0 0 0 -2267 1 2.1076 1 74.93846953028098 38.22874847994608 0 0 0 0 -4810 1 1.447 1 76.38613312259893 40.6460651406645 0 0 0 0 -5162 1 1.3934 1 87.52708947041862 29.509118628563392 0 0 0 0 -5193 1 1.3896 1 104.72440286195649 35.64993237805142 0 0 0 0 -9085 1 1.048 1 136.0994779272424 10.271702677725463 0 0 1 0 -5196 1 1.3892 1 107.35214695778853 24.129629069382805 0 0 0 0 -5206 1 1.3881 1 95.51374264267155 18.408819750331514 0 0 0 0 -9450 1 1.0284 1 105.43173313365341 73.22778230485002 0 0 0 0 -4236 1 1.544 1 131.0156440300973 16.272883111994936 0 0 1 0 -5219 1 1.3867 1 115.66651625822726 37.601113616989025 0 0 0 0 -5234 1 1.3845 1 80.06799499094217 20.59483620102975 0 0 0 0 -5242 1 1.3831 1 116.5005653703199 27.88449291678921 0 0 0 0 -5034 1 1.4156 1 85.64918741897534 73.53263128231156 0 0 0 0 -3555 1 1.6799 1 76.44057400887303 37.16513555358336 0 0 0 0 -5262 1 1.3806 1 129.29011667636718 49.754079293877076 0 0 0 0 -5273 1 1.3794 1 107.05468001049965 59.536292320044986 0 0 0 0 -5288 1 1.3771 1 105.65585857532233 69.08309065968419 0 0 0 0 -5314 1 1.3738 1 81.82344981771121 60.26925901720911 0 0 0 0 -5321 1 1.3732 1 127.26953812226503 49.66838664871688 0 0 0 0 -5333 1 1.3716 1 81.28369681470541 57.94351860824162 0 0 0 0 -5351 1 1.3696 1 115.88888171007098 32.391329252733335 0 0 0 0 -5401 1 1.3634 1 117.68367446623878 24.778159968061402 0 0 0 0 -5412 1 1.3618 1 80.6368303186343 34.7403367727326 0 0 0 0 -5420 1 1.3609 1 106.44314811900918 61.31752106641477 0 0 0 0 -5467 1 1.3545 1 120.97886588281409 32.18331176663176 0 0 0 0 -9702 1 1.0151 1 134.3314284545462 31.145872879995483 0 0 0 0 -5479 1 1.3531 1 102.77138020103251 58.38355922307291 0 0 0 0 -5489 1 1.3521 1 99.20626319657966 56.316385292386435 0 0 0 0 -5505 1 1.3501 1 137.37926143113413 69.76133383619191 0 0 0 0 -7479 1 1.1543 1 76.000987492179 39.44601223790256 0 0 0 0 -5520 1 1.3489 1 128.33901333122157 48.90327312204144 0 0 0 0 -5551 1 1.3442 1 113.05477956666064 40.523127519546264 0 0 0 0 -5561 1 1.3433 1 90.81601834048449 51.93354453079076 0 0 0 0 -5581 1 1.3398 1 125.6301809343041 40.66320832944225 0 0 0 0 -5582 1 1.3398 1 100.17581412979223 46.29334043065296 0 0 0 0 -5604 1 1.3364 1 102.4628256101609 35.56538760181263 0 0 0 0 -5615 1 1.3356 1 131.9306228155956 33.419576416054376 0 0 0 0 -5617 1 1.3354 1 85.08818089260156 53.21208571155981 0 0 0 0 -5662 1 1.331 1 79.10971031528139 38.670447749061424 0 0 0 0 -5713 1 1.3246 1 89.03064979196567 59.94996379492979 0 0 0 0 -5727 1 1.3232 1 84.88928719935328 64.70528126981831 0 0 0 0 -5762 1 1.319 1 96.27018890709172 50.278742960885054 0 0 0 0 -7447 1 1.1572 1 105.55227010265129 14.089715634964143 0 0 1 0 -5778 1 1.3163 1 87.31103697458437 61.74248124189222 0 0 0 0 -5782 1 1.3159 1 111.21291419090888 29.41264134731165 0 0 0 0 -6140 1 1.2796 1 121.33063873015641 15.518443891886502 0 0 1 0 -5864 1 1.309 1 87.64502716728995 51.57772594668531 0 0 0 0 -5876 1 1.3078 1 86.30017521122356 55.746747519638234 0 0 0 0 -5888 1 1.306 1 93.7539205548762 51.357068543234526 0 0 0 0 -5898 1 1.305 1 129.16844514215222 43.76326492411489 0 0 0 0 -5924 1 1.3022 1 103.54356008168024 19.42520825540084 0 0 0 0 -2368 1 2.0598 1 136.25028313786618 21.05818800485759 0 0 0 0 -5935 1 1.3014 1 113.05088132177224 57.01042828778463 0 0 0 0 -8893 1 1.0577 1 79.41822686431321 19.60005284829065 0 0 0 0 -5940 1 1.3009 1 86.37982289170152 10.791814934183984 0 0 0 0 -5963 1 1.2986 1 82.81857183823844 23.25334341492754 0 0 0 0 -5974 1 1.2971 1 88.81625326664465 29.328180473319136 0 0 0 0 -5409 1 1.3621 1 97.00091346792323 72.89531622350407 0 0 0 0 -1078 1 3.0443 1 129.58967407768077 12.087793355748222 0 0 1 0 -5739 1 1.3218 1 105.48481895693759 70.3998047418965 0 0 0 0 -6017 1 1.2926 1 80.75881482607707 59.24795679705745 0 0 0 0 -6025 1 1.292 1 94.54254941742155 26.012062223648606 0 0 0 0 -1473 1 2.6016 1 105.06051473996077 12.349071988113788 0 0 1 0 -6089 1 1.2841 1 108.55828813337018 23.664790655421847 0 0 0 0 -6098 1 1.2832 1 96.80650422649589 18.09314297352212 0 0 0 0 -6120 1 1.2813 1 125.1146653391305 49.07201405886098 0 0 0 0 -6122 1 1.2812 1 124.77098667795718 34.285037887379836 0 0 0 0 -6163 1 1.2759 1 79.90411721333075 25.70250753138656 0 0 0 0 -6191 1 1.2726 1 135.32455089180522 64.35603395977462 0 0 0 0 -6206 1 1.2711 1 81.48839715891582 51.44616215847528 0 0 0 0 -6688 1 1.2233 1 87.99803667320633 70.2961313957288 0 0 0 0 -6254 1 1.2646 1 121.83897706219334 56.247413664174786 0 0 0 0 -6271 1 1.2629 1 135.305153903407 47.885673906788256 0 0 0 0 -6275 1 1.2624 1 108.96432705955027 62.59816735916232 0 0 0 0 -6306 1 1.2606 1 128.268890528411 38.45772455387596 0 0 0 0 -6320 1 1.2591 1 105.9040515794314 60.15938292667851 0 0 0 0 -6326 1 1.2587 1 104.85890132366285 19.83038137606508 0 0 0 0 -6350 1 1.257 1 108.3735674387438 48.098630424243765 0 0 0 0 -6360 1 1.256 1 98.08353805490648 56.97680411005208 0 0 0 0 -2125 1 2.1668 1 93.64536389597625 72.81309339837357 0 0 0 0 -7936 1 1.1189 1 137.95528087143123 12.193173059849189 0 0 1 0 -6430 1 1.2493 1 116.13302207707255 36.39395404644786 0 0 0 0 -6543 1 1.238 1 79.48827930976798 43.732662516657605 0 0 0 0 -6564 1 1.2361 1 104.834225719547 64.2551520469739 0 0 0 0 -6566 1 1.236 1 118.96680631022342 20.514442643229835 0 0 0 0 -6568 1 1.2358 1 107.16051084799086 65.42359192622564 0 0 0 0 -6574 1 1.2351 1 115.81352941419476 33.657496511244496 0 0 0 0 -6582 1 1.2338 1 136.27907236535677 59.98525851258792 0 0 0 0 -3841 1 1.619 1 88.59394824293365 71.52322411742757 0 0 0 0 -6231 1 1.2674 1 74.46893171105017 34.61926878248817 0 0 0 0 -9106 1 1.0469 1 127.39983713234426 15.725137494000037 0 0 1 0 -4401 1 1.5148 1 78.23801618905284 63.290347048241436 0 0 0 0 -4514 1 1.4948 1 78.00612763338584 25.57736200394482 0 0 0 0 -6739 1 1.219 1 82.45982532398297 48.73937274919058 0 0 0 0 -6745 1 1.2186 1 81.96803502230739 59.0276416133781 0 0 0 0 -6750 1 1.2183 1 97.33083219043519 14.8771262902389 0 0 0 0 -6774 1 1.2155 1 102.4692497579969 63.20616201161479 0 0 0 0 -6778 1 1.2154 1 132.49936352135035 43.58544516403483 0 0 0 0 -6828 1 1.2099 1 97.20988970815294 25.269389577550463 0 0 0 0 -6834 1 1.2088 1 132.6598101800273 39.392692610208584 0 0 0 0 -6842 1 1.2084 1 80.02323373999477 36.02023497622997 0 0 0 0 -1470 1 2.6043 1 101.86802594447101 11.82491723907711 0 0 1 0 -6905 1 1.2016 1 80.21121800472659 65.12387853008879 0 0 0 0 -6908 1 1.2013 1 126.5015010907999 55.450033884924025 0 0 0 0 -5981 1 1.2966 1 102.92263509778807 14.367195447939485 0 0 1 0 -6942 1 1.1988 1 107.4758494470543 27.96538695712743 0 0 0 0 -6943 1 1.1987 1 82.37938696302352 28.78509157867428 0 0 0 0 -6985 1 1.1956 1 93.81380242864637 25.036567456028713 0 0 0 0 -6989 1 1.1952 1 100.28329263902387 35.18855903234118 0 0 0 0 -6990 1 1.1951 1 118.87301352450412 43.13574000574244 0 0 0 0 -2182 1 2.1454 1 76.7402138187298 73.93972000521129 0 0 0 0 -9170 1 1.0434 1 124.72000956293147 16.020520381492727 0 0 1 0 -7054 1 1.1894 1 126.40949741968502 39.6919029505264 0 0 0 0 -7068 1 1.1884 1 138.252782763878 70.59441110553861 0 0 0 0 -7097 1 1.1862 1 136.13129448426824 44.42853838695914 0 0 0 0 -7465 1 1.156 1 114.5111052640849 19.87518000615555 0 0 1 0 -7141 1 1.1829 1 114.8242703702915 38.50790431988092 0 0 0 0 -7149 1 1.1825 1 84.67791887807327 16.451020765928146 0 0 0 0 -9666 1 1.0173 1 131.88560306604847 17.064011213812087 0 0 0 0 -1122 1 2.986 1 112.49231868406744 19.438929603485157 0 0 1 0 -7203 1 1.1778 1 105.4573022109172 52.912679955911244 0 0 0 0 -7229 1 1.1757 1 106.97788807065915 38.822485341632714 0 0 0 0 -7230 1 1.1757 1 90.2871100657778 24.396741822622964 0 0 0 0 -5750 1 1.3204 1 120.37759046450742 18.560825962715686 0 0 1 0 -7251 1 1.1739 1 129.19944763951506 39.23122623680629 0 0 0 0 -7253 1 1.1738 1 91.40208014059989 24.157917480503745 0 0 0 0 -7289 1 1.1717 1 136.30666628856346 66.28545840711979 0 0 0 0 -7297 1 1.1709 1 134.7258531905209 37.964221503036015 0 0 0 0 -7308 1 1.1697 1 81.4429981298534 29.503596761792213 0 0 0 0 -4390 1 1.5166 1 105.21905740949792 72.00081761422848 0 0 0 0 -7345 1 1.1663 1 92.8539535660948 54.9621218951798 0 0 0 0 -7385 1 1.1626 1 85.96067958430504 14.762964404055348 0 0 0 0 -7386 1 1.1626 1 127.12094132117736 38.77741589565716 0 0 0 0 -6783 1 1.2146 1 136.3656812858229 22.639032235198055 0 0 0 0 -7427 1 1.1591 1 82.92188013240607 26.50091773684184 0 0 0 0 -982 1 3.2075 1 79.23177691025411 23.61384638011929 0 0 0 0 -7452 1 1.1567 1 120.065618584186 33.949470574105 0 0 0 0 -7458 1 1.1563 1 100.5107922971381 63.54728784732664 0 0 0 0 -7467 1 1.1557 1 87.27283867066568 62.97432130586225 0 0 0 0 -7471 1 1.1552 1 96.25673976725149 64.00230049942736 0 0 0 0 -4561 1 1.4873 1 133.13375974933774 32.70468668488732 0 0 0 0 -7520 1 1.151 1 127.15485054931408 41.899979292280406 0 0 0 0 -7546 1 1.1488 1 98.54804828493647 48.29454630090487 0 0 0 0 -7558 1 1.1474 1 120.02245394707181 32.84607604148223 0 0 0 0 -1901 1 2.3004 1 74.5913019283696 40.38793733567961 0 0 0 0 -7562 1 1.147 1 98.7619017243116 15.082561734870678 0 0 0 0 -5680 1 1.3289 1 137.00416171391328 14.848528534437493 0 0 1 0 -7606 1 1.1437 1 112.90436636142677 43.17064749154023 0 0 0 0 -7609 1 1.1435 1 107.10025312232395 51.40216844324509 0 0 0 0 -7659 1 1.1395 1 103.3556724076113 62.450623990916675 0 0 0 0 -7679 1 1.1381 1 80.92578627270554 65.97941351140133 0 0 0 0 -7729 1 1.1345 1 81.73309549243122 47.86896871436182 0 0 0 0 -1638 1 2.4621 1 103.77806010581784 10.241553272921829 0 0 1 0 -7753 1 1.1319 1 76.5267308113255 38.487900427496484 0 0 0 0 -7766 1 1.1311 1 122.63173642722147 48.01422310324576 0 0 0 0 -7768 1 1.1309 1 133.85398964563726 35.380171833670964 0 0 0 0 -7801 1 1.1286 1 103.9142241197939 15.523175587575837 0 0 0 0 -7807 1 1.1282 1 87.14936040547732 59.02174798681071 0 0 0 0 -7838 1 1.1266 1 99.13759803838109 29.017649689340143 0 0 0 0 -7851 1 1.1249 1 122.63446308556905 50.99691387926591 0 0 0 0 -2147 1 2.1577 1 117.79006642657731 10.760644811422411 0 0 1 0 -9565 1 1.0222 1 76.26347858389079 31.5864214170913 0 0 0 0 -7924 1 1.1194 1 80.62078390544177 62.73907737086342 0 0 0 0 -7927 1 1.1194 1 85.39366750058575 50.64212585329913 0 0 0 0 -7932 1 1.119 1 108.23819619809126 59.23677655461065 0 0 0 0 -7935 1 1.119 1 83.04622459468511 62.74029021573987 0 0 0 0 -7949 1 1.1182 1 83.77438695697285 57.03514799488947 0 0 0 0 -6728 1 1.2197 1 113.12665112420181 12.645646133258886 0 0 1 0 -7975 1 1.1162 1 117.87449962441566 25.93674609458541 0 0 0 0 -7995 1 1.1148 1 133.17521457153896 34.02581195172735 0 0 0 0 -6540 1 1.2383 1 130.36481802930615 10.162718208029496 0 0 1 0 -3747 1 1.6403 1 75.12973634689514 42.25371045611932 0 0 0 0 -1380 1 2.7021 1 114.45116088491498 10.099804357211283 0 0 1 0 -8067 1 1.11 1 106.55301133884394 26.90888267839264 0 0 0 0 -6927 1 1.1997 1 136.63131636772783 25.564850648889625 0 0 0 0 -8101 1 1.1074 1 123.37744308268988 53.42828322357068 0 0 0 0 -8109 1 1.1071 1 100.19157639929051 53.96983790784396 0 0 0 0 -8156 1 1.1043 1 105.96426874903521 19.21322550953493 0 0 0 0 -739 1 3.7041 1 138.25882633592957 27.290425295521374 0 0 0 0 -8164 1 1.1035 1 126.86980561876132 42.94400231576119 0 0 0 0 -8167 1 1.1032 1 127.2933019597228 34.5232085153453 0 0 0 0 -8193 1 1.1019 1 96.86710275384151 19.28415045525064 0 0 0 0 -8218 1 1.1004 1 104.30306569998606 46.46165976023098 0 0 0 0 -8246 1 1.098 1 116.78358759053295 31.56377173520235 0 0 0 0 -8252 1 1.0977 1 114.68004371519979 24.906653752064827 0 0 0 0 -6821 1 1.2103 1 109.853810004343 15.888571826585196 0 0 1 0 -8293 1 1.0954 1 114.64967127112745 37.05095260740039 0 0 0 0 -8299 1 1.0947 1 100.35809393754379 34.048264128833296 0 0 0 0 -8589 1 1.0758 1 110.81605242484221 20.540092888030156 0 0 1 0 -8385 1 1.0882 1 109.31472101689123 47.539213292561634 0 0 0 0 -8389 1 1.088 1 136.5457236796106 50.276117007619895 0 0 0 0 -8390 1 1.0879 1 83.56230644726996 14.241878942372827 0 0 0 0 -8398 1 1.0877 1 109.82483377015267 61.67268445283379 0 0 0 0 -8415 1 1.0866 1 102.68561884677094 31.306621367949614 0 0 0 0 -8467 1 1.0833 1 133.68237600269546 38.362352737141556 0 0 0 0 -5785 1 1.3157 1 77.7635663033929 37.844875651246895 0 0 0 0 -8478 1 1.0825 1 135.13224668682963 46.774374107519684 0 0 0 0 -8483 1 1.082 1 83.69263118426453 27.28666750556605 0 0 0 0 -9017 1 1.0518 1 113.787006701113 20.988078321651578 0 0 1 0 -8497 1 1.0811 1 110.49058873696659 26.40451768275847 0 0 0 0 -4377 1 1.5189 1 76.38949224569798 43.17202533922178 0 0 0 0 -8534 1 1.0789 1 99.53781942934698 31.023890073436974 0 0 0 0 -688 1 3.8127 1 83.7729269372709 71.72886903275679 0 0 0 0 -8561 1 1.0774 1 124.57875129090782 40.276408647960615 0 0 0 0 -8575 1 1.0767 1 137.56635219297567 71.49433928114176 0 0 0 0 -8610 1 1.0745 1 99.04735809884049 30.097646004817094 0 0 0 0 -8651 1 1.0722 1 82.64832907836669 27.546453456580583 0 0 0 0 -8671 1 1.0712 1 126.75293071761222 40.91103154657732 0 0 0 0 -8086 1 1.1082 1 75.31613560112655 73.1624661439773 0 0 0 0 -8719 1 1.0688 1 106.11958074343036 67.97133913693119 0 0 0 0 -8788 1 1.0641 1 110.94324314872142 44.682951189434384 0 0 0 0 -8829 1 1.0617 1 125.04887130998067 46.281278504490636 0 0 0 0 -8834 1 1.0613 1 96.98614982577513 60.846868742416895 0 0 0 0 -8861 1 1.0593 1 102.70001734857081 56.77097333348952 0 0 0 0 -8868 1 1.059 1 92.10357554546104 55.7281674362363 0 0 0 0 -7342 1 1.1668 1 121.0617527445724 14.446020874733705 0 0 1 0 -9363 1 1.0328 1 134.1715991870023 17.046760960983043 0 0 1 0 -8945 1 1.0554 1 93.85745149716341 54.6145936918524 0 0 0 0 -8961 1 1.0548 1 136.09130949076453 43.356635967860974 0 0 0 0 -8967 1 1.0543 1 96.96411037819125 57.261226897526086 0 0 0 0 -8972 1 1.0541 1 126.09331855806916 41.72667563110982 0 0 0 0 -8973 1 1.054 1 110.58159221013345 60.92457836484955 0 0 0 0 -9016 1 1.0518 1 106.15021603079879 53.7709358622576 0 0 0 0 -9035 1 1.0508 1 113.06459885465958 30.932568027913717 0 0 0 0 -9057 1 1.0499 1 109.91761156145233 21.091097119475183 0 0 0 0 -9070 1 1.0487 1 134.3078495667063 47.37409023051635 0 0 0 0 -9072 1 1.0486 1 79.48023790992639 31.91169075372251 0 0 0 0 -9089 1 1.0475 1 83.36588216415458 28.25712946023874 0 0 0 0 -9096 1 1.0472 1 105.86608157565581 34.384633206483166 0 0 0 0 -9123 1 1.046 1 105.09738482589404 40.088098260188474 0 0 0 0 -8026 1 1.1131 1 134.5242617964565 19.321755514950393 0 0 0 0 -9191 1 1.0423 1 111.12308526781845 35.581378015917245 0 0 0 0 -9238 1 1.0401 1 96.74517378148158 20.409441909794886 0 0 0 0 -9241 1 1.0399 1 79.14349943616064 39.835183546306965 0 0 0 0 -1162 1 2.9425 1 138.23787551895546 49.337043200688235 0 0 0 0 -4410 1 1.5135 1 104.2744722777685 14.258795107701241 0 0 1 0 -292 1 5.8145 1 133.6405471231539 13.723280861828963 0 0 1 0 -9259 1 1.0389 1 110.09671858629778 42.21064571211055 0 0 0 0 -9299 1 1.0366 1 112.49699997245907 42.18447859035533 0 0 0 0 -9318 1 1.0352 1 118.89947538128499 55.56797646205492 0 0 0 0 -9333 1 1.0345 1 115.66273843002307 39.23328480378481 0 0 0 0 -278 1 5.934 1 136.72104603477345 33.56520597088731 0 0 0 0 -9374 1 1.0323 1 120.7783667509923 56.66163502630048 0 0 0 0 -9389 1 1.0313 1 123.76200189806106 46.960291764965014 0 0 0 0 -9392 1 1.0312 1 84.3625306545188 15.176592525338073 0 0 0 0 -9399 1 1.0307 1 103.53164565716322 63.5201137377035 0 0 0 0 -9416 1 1.0298 1 100.37747738620114 56.314336679153485 0 0 0 0 -9435 1 1.0291 1 100.12728795275353 50.44204765930501 0 0 0 0 -2036 1 2.2197 1 110.21811059894313 27.987220948022447 0 0 1 0 -9461 1 1.0277 1 102.54045404434099 39.8902287341993 0 0 0 0 -9489 1 1.0264 1 115.72996397653377 24.828988824754237 0 0 0 0 -9496 1 1.0262 1 123.93023595518265 44.19847064507625 0 0 0 0 -9497 1 1.0261 1 98.20298403888434 14.230659908634957 0 0 0 0 -9520 1 1.0247 1 82.27964922568098 52.252976662023464 0 0 0 0 -9558 1 1.0225 1 83.1722570104675 22.148002845300606 0 0 0 0 -9576 1 1.0217 1 103.68146239353128 61.433213938480364 0 0 0 0 -9582 1 1.0216 1 107.92827643780747 39.34408009628674 0 0 0 0 -9598 1 1.0208 1 83.24738167283047 61.71863198791256 0 0 0 0 -9636 1 1.0187 1 124.70459128255342 47.22460628886065 0 0 0 0 -9648 1 1.0179 1 101.97987565685125 51.546411301575986 0 0 0 0 -9656 1 1.0177 1 100.40430005084811 15.006383790549569 0 0 0 0 -9660 1 1.0174 1 97.89899901523101 58.08865647328814 0 0 0 0 -9662 1 1.0174 1 119.74918750728608 43.745589942452746 0 0 0 0 -9673 1 1.0169 1 126.14406282753497 49.46763583999915 0 0 0 0 -9678 1 1.0168 1 115.83781227953082 28.838825891274677 0 0 0 0 -9681 1 1.0165 1 91.93548588454054 51.658559180488396 0 0 0 0 -9690 1 1.0159 1 135.7215042774166 65.40448626382191 0 0 0 0 -9696 1 1.0156 1 98.2043349523828 29.515733619841136 0 0 0 0 -9699 1 1.0153 1 101.42891087221771 38.85506866052346 0 0 0 0 -4036 1 1.5765 1 112.5338372330587 11.417950940045676 0 0 1 0 -5758 1 1.3193 1 75.01800049038575 20.03806363510108 0 0 0 0 -2247 1 2.1183 1 123.78811452145065 14.457146163680274 0 0 1 0 -9741 1 1.0131 1 85.28140503053606 15.568520511572036 0 0 0 0 -3126 1 1.786 1 89.89988866157009 72.55520693296211 0 0 0 0 -9791 1 1.0101 1 137.2589413997401 50.98378971808173 0 0 0 0 -9798 1 1.0099 1 101.53031034712753 39.86126496548842 0 0 0 0 -9811 1 1.0095 1 98.81826966585449 28.04084110395033 0 0 0 0 -9832 1 1.0086 1 109.02622847613725 35.09728622616955 0 0 0 0 -69 1 11.2782 1 74.70275351250318 13.515413364763535 0 0 0 0 -9907 1 1.0047 1 128.122131158985 41.50425516417299 0 0 0 0 -9920 1 1.0043 1 101.20182613142585 37.83845351303753 0 0 0 0 -7409 1 1.1604 1 136.09895299537732 28.21045122865044 0 0 0 0 -8292 1 1.0955 1 80.27344022990484 21.789313054481593 0 0 0 0 -9306 1 1.0361 1 77.1936362714023 44.12924113746761 0 0 0 0 -8405 1 1.0874 1 114.00911847969044 11.921688411766137 0 0 1 0 -392 1 4.962 1 83.52442768431487 67.45308021368047 0 0 0 0 -1022 1 3.1474 1 98.83565233213298 74.19029596605482 0 0 0 0 -5271 1 1.3795 1 80.60348596413509 72.90183321301751 0 0 0 0 -6607 1 1.2311 1 109.05326151248927 21.795094250752154 0 0 1 0 -3382 1 1.7203 1 89.82008983900847 64.49262026783107 0 0 0 0 -828 1 3.517 1 103.07564292274822 73.31267236755703 0 0 0 0 -6364 1 1.2555 1 87.63160626060979 67.80634410403928 0 0 0 0 -4760 1 1.4545 1 80.96085494738688 13.951887385885628 0 0 0 0 -6963 1 1.1973 1 85.40199013170357 69.85004044390854 0 0 0 0 -6491 1 1.2442 1 119.4818629816334 19.431022941572294 0 0 1 0 -4869 1 1.438 1 135.21590814545428 30.306910288663545 0 0 0 0 -1714 1 2.4141 1 98.94490035643982 70.3892036166107 0 0 0 0 -3252 1 1.7526 1 137.21100788885582 29.78021569810728 0 0 0 0 -2913 1 1.8598 1 104.0224272391125 70.88103414693427 0 0 0 0 -1204 1 2.9015 1 121.08278044329404 12.533322450324103 0 0 1 0 -7731 1 1.1343 1 79.20790153063173 21.46665570061988 0 0 0 0 -1753 1 2.3838 1 77.72238573184445 19.572872562376347 0 0 0 0 -4427 1 1.5099 1 137.5877267610194 37.1022852357985 0 0 0 0 -2740 1 1.9143 1 74.92044783921745 36.24553590048673 0 0 0 0 -7248 1 1.174 1 78.98140066317866 26.484392608771966 0 0 0 0 -1447 1 2.6266 1 87.64130707551423 73.3582378338101 0 0 0 0 -4407 1 1.5138 1 137.9262136240821 21.49139856637183 0 0 0 0 -8901 1 1.0574 1 138.23083337601702 38.16036577573184 0 0 0 0 -7404 1 1.1611 1 80.08326202418358 74.01275158548857 0 0 0 0 -6253 1 1.2647 1 100.97461987009437 74.2990667326317 0 0 0 0 -6657 1 1.2265 1 74.50338518423592 29.725087476420104 0 0 0 0 -7559 1 1.1472 1 137.98612951786842 65.72031743713629 0 0 0 0 -5074 1 1.4084 1 89.6996240865702 74.08727278681583 0 0 0 0 -5571 1 1.3415 1 84.43872404858658 74.16097058089943 0 0 0 0 -2674 1 1.9408 1 92.11424919463354 74.12315989958051 0 0 0 0 -1866 1 2.3206 1 138.34574749281091 39.76075678249088 0 0 0 0 -5855 1 1.3094 1 96.67012474957818 74.1746215664531 0 0 0 0 -5151 1 1.3959 1 138.0979614968995 51.75801567315861 0 0 0 0 -1590 1 2.502 1 138.3226303019815 73.11534390205847 0 0 0 0 -9977 1 1.0014 1 138.2969764671667 63.89202868488066 0 0 0 0 -29 1 18.1105 1 102.25288293352769 107.97025255350161 0 0 0 0 -4484 1 1.5004 1 113.9743295431444 131.0926644568763 0 0 0 0 -52 1 12.8778 1 78.96506828686253 109.88012461052945 0 0 0 0 -66 1 11.4285 1 88.12730608734951 92.2576438468465 0 0 0 0 -76 1 10.4171 1 122.68168502014287 113.61012162876251 0 0 0 0 -103 1 9.5411 1 111.54912639579241 96.94280304590193 0 0 0 0 -107 1 9.428 1 86.19708964724808 79.1850503613051 0 0 0 0 -1930 1 2.2839 1 110.95374915958178 131.6646778099463 0 0 0 0 -8022 1 1.1133 1 117.97555323974359 132.2118837707606 0 0 0 0 -142 1 7.8328 1 96.75467655555273 96.35863380555334 0 0 0 0 -153 1 7.5851 1 134.6156881205851 90.11693698204712 0 0 0 0 -204 1 6.7727 1 78.70929850537244 95.70337091207712 0 0 0 0 -173 1 7.2878 1 121.31514724920834 98.74080190858618 0 0 0 0 -178 1 7.2453 1 100.65285407867835 120.32865377159709 0 0 0 0 -185 1 7.1152 1 132.54509849427603 130.48754448264071 0 0 0 0 -193 1 6.9441 1 103.6633037362059 85.05443176089322 0 0 0 0 -195 1 6.9306 1 109.57350861181199 117.8903346617825 0 0 0 0 -212 1 6.6222 1 101.63291587518152 78.15013488751195 0 0 0 0 -231 1 6.3221 1 112.84683687477873 89.18643687804108 0 0 0 0 -8599 1 1.0751 1 136.16941204664735 128.4229872947782 0 0 0 0 -303 1 5.7182 1 90.52501870568047 106.39377169716536 0 0 0 0 -8608 1 1.0746 1 76.21223481146204 101.87248858237965 0 0 0 0 -340 1 5.396 1 106.33121500489915 122.79053536880546 0 0 0 0 -348 1 5.3539 1 94.57329946323028 76.70465852132405 0 0 0 0 -352 1 5.327 1 114.55465300767489 108.79654252778833 0 0 0 0 -375 1 5.0832 1 94.76006571125114 121.7763425403442 0 0 0 0 -1348 1 2.7383 1 79.43839681364805 77.39315954852835 0 0 0 0 -398 1 4.9385 1 78.54819233024108 120.66641976910398 0 0 0 0 -498 1 4.3761 1 126.34939713827275 105.92542308832462 0 0 0 0 -502 1 4.3624 1 109.19898692515014 85.34548673800363 0 0 0 0 -517 1 4.3124 1 135.31602016003768 115.4084987969769 0 0 0 0 -4115 1 1.5637 1 115.40221645044869 131.5416230927827 0 0 0 0 -554 1 4.192 1 89.85274513230969 101.57089185352825 0 0 0 0 -9936 1 1.0035 1 89.49964452103868 75.22616978211482 0 0 0 0 -573 1 4.1199 1 102.56437238516314 95.01478514265177 0 0 0 0 -591 1 4.0427 1 98.96584524668847 87.623726374321 0 0 0 0 -592 1 4.0425 1 82.00356128627816 87.71839841822191 0 0 0 0 -597 1 4.0309 1 90.41048806767004 116.259276068492 0 0 0 0 -606 1 3.9993 1 88.46796181704724 110.88788398648722 0 0 0 0 -635 1 3.9235 1 81.47591602563126 83.85801963616919 0 0 0 0 -640 1 3.9108 1 83.82643522492856 116.60092216020918 0 0 0 0 -642 1 3.9107 1 124.6040152236882 93.09342195429616 0 0 0 0 -420 1 4.8108 1 127.05677449826076 132.69174491295303 0 0 0 0 -669 1 3.8455 1 128.36625356518945 122.02801197678842 0 0 0 0 -671 1 3.8395 1 115.63168661598206 113.3040024728655 0 0 0 0 -686 1 3.8151 1 122.61898980077858 104.08580503756903 0 0 0 0 -5268 1 1.3803 1 75.12330151542659 76.08558006868635 0 0 0 0 -691 1 3.8011 1 89.22018330385376 125.05719580186289 0 0 0 0 -693 1 3.8004 1 119.24122646814872 105.9426910746848 0 0 0 0 -759 1 3.6578 1 132.23495070722424 95.1745321709689 0 0 0 0 -762 1 3.6529 1 122.78101976217202 122.29819723267909 0 0 0 0 -785 1 3.617 1 106.13409380266827 80.50183728270834 0 0 0 0 -806 1 3.5762 1 121.07235620367125 90.01983641251311 0 0 0 0 -807 1 3.5733 1 95.72375330188018 85.77694578368506 0 0 0 0 -4294 1 1.5335 1 75.40479339883387 120.76006113273588 0 0 0 0 -830 1 3.5096 1 105.10981856096774 91.79084928035724 0 0 0 0 -6394 1 1.2521 1 137.55000394300853 74.78484147757752 0 0 0 0 -858 1 3.4438 1 86.36894452386886 103.93830776937537 0 0 0 0 -859 1 3.4419 1 127.68720667455788 99.03777737525887 0 0 0 0 -864 1 3.4373 1 95.29439747331355 90.72090847979644 0 0 0 0 -894 1 3.3663 1 84.55856056547961 101.14435089050359 0 0 0 0 -904 1 3.3497 1 116.64942105425418 93.2991569462222 0 0 0 0 -934 1 3.2875 1 92.38076825938302 80.29989621906813 0 0 0 0 -937 1 3.2796 1 90.98907518606217 83.20728969100854 0 0 0 0 -4146 1 1.5594 1 95.82668337456973 126.94635868022719 0 0 0 0 -961 1 3.2283 1 86.88054964465434 120.22647664697273 0 0 0 0 -986 1 3.2003 1 129.09836628951035 118.59794665024775 0 0 0 0 -1005 1 3.1726 1 126.10107472525942 119.43314371218975 0 0 0 0 -4369 1 1.5198 1 81.92664563359953 90.47242613448702 0 0 0 0 -3203 1 1.7656 1 77.66541590309797 123.87573058587797 0 0 0 0 -1024 1 3.1445 1 91.3656646865103 119.5572037915094 0 0 0 0 -1058 1 3.0789 1 93.35186854272709 102.31853948370915 0 0 0 0 -1070 1 3.0615 1 129.08456866456424 94.16368875526156 0 0 0 0 -1071 1 3.0603 1 128.50519315673728 110.38581755960999 0 0 0 0 -1083 1 3.0396 1 133.7168972540612 121.05535307092705 0 0 0 0 -1095 1 3.0236 1 125.87526984149059 96.41330576582466 0 0 0 0 -1108 1 3.0054 1 99.24750257071075 82.20938466217078 0 0 0 0 -1114 1 2.9972 1 84.23414050488849 127.11778321816894 0 0 0 0 -7827 1 1.1271 1 121.4805778926907 131.30971526470162 0 0 0 0 -1169 1 2.9355 1 129.86066512316154 115.46132212958128 0 0 0 0 -8360 1 1.09 1 77.79835964865939 76.49825751475161 0 0 0 0 -1195 1 2.9086 1 111.66980454896935 123.5801733627419 0 0 0 0 -1198 1 2.9051 1 80.6136357773145 117.47724773409253 0 0 0 0 -1267 1 2.8303 1 80.70700740075412 125.010511103414 0 0 0 0 -1280 1 2.8108 1 90.88864639195985 122.35995508629192 0 0 0 0 -1288 1 2.8034 1 132.01247883441525 118.79690071881082 0 0 0 0 -1301 1 2.7927 1 86.20431360275968 106.97844984124922 0 0 0 0 -1320 1 2.7696 1 112.32268860624959 105.54830655923664 0 0 0 0 -1409 1 2.6702 1 84.48488547038865 98.20733227223883 0 0 0 0 -7830 1 1.1271 1 138.45937580423106 123.24739089647557 0 0 0 0 -1419 1 2.6604 1 96.28835980768962 116.31919183243275 0 0 0 0 -8590 1 1.0758 1 125.23968411061719 134.95994558777113 0 0 0 0 -9676 1 1.0169 1 74.88643332371113 118.03249577329287 0 0 0 0 -1485 1 2.5922 1 108.46835574061555 88.66708841014449 0 0 0 0 -1503 1 2.5733 1 130.9575725086779 86.65763249756584 0 0 0 0 -1504 1 2.5733 1 114.86043875615148 104.86776885843862 0 0 0 0 -1519 1 2.5581 1 135.10233651193184 82.65727096961494 0 0 0 0 -1525 1 2.5488 1 119.2616905236105 94.39940515579376 0 0 0 0 -1537 1 2.5411 1 124.89914324849222 89.2116153697881 0 0 0 0 -1552 1 2.5323 1 86.64768389370158 113.55003393408144 0 0 0 0 -1556 1 2.5287 1 128.76187892242044 103.53586198209808 0 0 0 0 -1588 1 2.5022 1 83.46051337074826 103.77915939896602 0 0 0 0 -1602 1 2.4933 1 92.2744205376112 124.57142507087839 0 0 0 0 -1611 1 2.484 1 83.02958221924406 122.30550263619232 0 0 0 0 -1619 1 2.4801 1 132.19632961752012 114.21087974694491 0 0 0 0 -1635 1 2.4636 1 100.6966115291652 91.38158318294784 0 0 0 0 -1636 1 2.4627 1 84.79647615345327 86.16993430102079 0 0 0 0 -1641 1 2.458 1 130.23135410959154 97.65270256222303 0 0 0 0 -2310 1 2.0844 1 123.84053997032935 133.6498521010817 0 0 0 0 -1664 1 2.4441 1 104.03871412733999 97.88212886982501 0 0 0 0 -1679 1 2.4404 1 99.33582614423018 126.18090150246069 0 0 0 0 -1685 1 2.4309 1 106.0192349715456 88.98964760986263 0 0 0 0 -9262 1 1.0388 1 109.59321309731484 133.27760317299507 0 0 0 0 -1723 1 2.41 1 129.08176752185673 107.78134658751542 0 0 0 0 -7971 1 1.1164 1 75.85771913416768 121.98798063196502 0 0 0 0 -1794 1 2.3604 1 129.79074986184537 88.75193372261404 0 0 0 0 -1800 1 2.3548 1 97.34004074875686 124.76246724485024 0 0 0 0 -5258 1 1.3809 1 76.82604620215918 116.6467785759622 0 0 0 0 -1805 1 2.3527 1 101.7025740991339 89.23160142720572 0 0 0 0 -1810 1 2.3514 1 93.18188644155687 112.39873769567922 0 0 0 0 -1813 1 2.3486 1 90.95185936302187 75.86899596618753 0 0 0 0 -1827 1 2.3423 1 96.60227050961083 81.93316509104386 0 0 0 0 -1859 1 2.3254 1 86.24510113327152 122.8622894246438 0 0 0 0 -9296 1 1.0367 1 122.88623779758073 124.54605083456704 0 0 0 0 -1972 1 2.2575 1 127.64174010609044 124.92018903237216 0 0 0 0 -6059 1 1.2873 1 74.72863260522581 127.03402717169834 0 0 0 0 -2062 1 2.2054 1 135.46088374831146 119.10270098531211 0 0 0 0 -2083 1 2.1913 1 93.57853255728776 83.93150198611455 0 0 0 0 -2084 1 2.1912 1 131.13793222131682 121.05444472909386 0 0 0 0 -2086 1 2.19 1 107.8948595196136 92.41057460120881 0 0 0 0 -2117 1 2.1715 1 94.99464643449255 118.22565837473536 0 0 0 0 -6592 1 1.2324 1 133.7143265562595 136.5325182823551 0 0 0 0 -3347 1 1.7288 1 119.37792802277286 137.03270766656465 0 0 0 0 -2141 1 2.1593 1 82.15199289757173 120.17967532734968 0 0 0 0 -2170 1 2.1488 1 90.23501927605537 127.77133692740439 0 0 0 0 -2175 1 2.1477 1 128.26764462493497 90.36459095379435 0 0 0 0 -6445 1 1.2478 1 80.90443496393294 74.83320652618504 0 0 0 0 -2183 1 2.145 1 92.23914955172239 85.5586223719329 0 0 0 0 -2211 1 2.132 1 132.2986562693115 116.43559809040444 0 0 0 0 -2213 1 2.1311 1 113.26810849332695 102.47175145892598 0 0 0 0 -2238 1 2.1204 1 117.39880110411092 101.1879914974482 0 0 0 0 -5422 1 1.3607 1 129.28377658849973 127.81183119996983 0 0 0 0 -2295 1 2.0952 1 106.01218704978805 95.2424890294614 0 0 0 0 -2304 1 2.0901 1 84.23975175315437 120.36497487158583 0 0 0 0 -2343 1 2.0709 1 105.44919547304873 76.35812769369944 0 0 0 0 -2344 1 2.0708 1 82.96310144166584 96.45539569405133 0 0 0 0 -2350 1 2.0681 1 110.63454102049148 126.15277113910078 0 0 0 0 -7901 1 1.1214 1 119.37089140266936 120.96178785895526 0 0 0 0 -1104 1 3.0137 1 76.4894165015707 99.89664919660471 0 0 0 0 -2360 1 2.0621 1 123.58665866688806 119.67734522106304 0 0 0 0 -2366 1 2.0611 1 99.22813484747137 84.67286944368419 0 0 0 0 -2369 1 2.0592 1 116.97594241961326 89.8322655438483 0 0 0 0 -2372 1 2.0586 1 91.50150641414885 111.05903684948169 0 0 0 0 -991 1 3.191 1 76.27048664305974 77.97068121488202 0 0 0 0 -2418 1 2.0416 1 130.08991635298028 100.29201660325431 0 0 0 0 -2426 1 2.0379 1 88.35548267755341 98.89317106509523 0 0 0 0 -2451 1 2.0271 1 87.57323713060703 117.04783481227207 0 0 0 0 -2568 1 1.9833 1 128.3613683495096 96.48984996023657 0 0 0 0 -2575 1 1.9798 1 121.5927828441243 119.7599059819286 0 0 0 0 -2580 1 1.9775 1 118.57543869701809 91.15173177293491 0 0 0 0 -964 1 3.2275 1 135.2946323994638 134.79942963596613 0 0 0 0 -2642 1 1.9521 1 125.51360958565003 121.90730989202936 0 0 0 0 -2661 1 1.9434 1 115.2441142524271 102.66577498426544 0 0 0 0 -8661 1 1.0717 1 77.09725098012574 117.81808375747 0 0 0 0 -2678 1 1.9392 1 80.8029671215851 127.25538699138008 0 0 0 0 -2681 1 1.9374 1 134.1930811312632 84.67834748962665 0 0 0 0 -2694 1 1.9318 1 86.42267722876792 124.90470043093424 0 0 0 0 -2717 1 1.9242 1 117.76223983511892 103.53932837644867 0 0 0 0 -2718 1 1.9236 1 110.88508021639176 102.60272062308451 0 0 0 0 -2723 1 1.9226 1 132.09024749798138 112.13507875717052 0 0 0 0 -3666 1 1.6568 1 75.2581151713436 119.25902394275649 0 0 0 0 -2729 1 1.9189 1 136.40915822208447 79.8743305199141 0 0 0 0 -2759 1 1.9084 1 109.13391634190033 90.8041133258907 0 0 0 0 -2764 1 1.9069 1 91.67004572695325 99.21963066849659 0 0 0 0 -2806 1 1.8915 1 97.46252714718823 78.85709093513111 0 0 0 0 -565 1 4.1548 1 103.02186145137986 126.00751226474397 0 0 0 0 -2860 1 1.8762 1 91.74207333449317 113.77503172077887 0 0 0 0 -2864 1 1.8731 1 97.51361930173917 83.81708831754034 0 0 0 0 -2869 1 1.8724 1 89.90720196066864 113.39769772802612 0 0 0 0 -5230 1 1.3851 1 124.05167914573084 129.63136075814145 0 0 0 0 -2923 1 1.8564 1 111.4664369192138 114.05007164082214 0 0 0 0 -2946 1 1.8497 1 92.13089804975 97.46163678176977 0 0 0 0 -2969 1 1.8426 1 107.37249657119001 90.52709355990183 0 0 0 0 -2979 1 1.8391 1 124.49245721502095 101.99722163011974 0 0 0 0 -3010 1 1.8253 1 121.42006718381388 107.67463146270093 0 0 0 0 -3011 1 1.8248 1 127.91576133669864 87.87998432527124 0 0 0 0 -3022 1 1.8198 1 130.00065570027647 134.08462314863726 0 0 0 0 -5780 1 1.3161 1 79.33940703285083 82.37506148032193 0 0 0 0 -3036 1 1.8157 1 97.38955681992752 126.81503767900155 0 0 0 0 -3042 1 1.814 1 78.32694802389777 117.17041974944843 0 0 0 0 -3055 1 1.8112 1 83.00738535028702 125.0687454536051 0 0 0 0 -3082 1 1.8054 1 116.78246225630183 99.13839670746681 0 0 0 0 -7434 1 1.1583 1 138.1297951267694 124.73288373256335 0 0 0 0 -3179 1 1.771 1 117.5376869296987 95.6996992093136 0 0 0 0 -7476 1 1.1547 1 113.82784826146204 124.52638301299703 0 0 0 0 -5344 1 1.3705 1 75.54242139632521 117.07567111334787 0 0 0 0 -3205 1 1.7653 1 121.02777191411822 93.19651661958389 0 0 0 0 -3238 1 1.7551 1 100.69350878196938 127.68878986861354 0 0 0 0 -3245 1 1.7541 1 96.24267953767831 88.36531836768965 0 0 0 0 -3250 1 1.7528 1 86.38879478586956 115.63468124506034 0 0 0 0 -3251 1 1.7528 1 87.20504205067103 126.908079607468 0 0 0 0 -3267 1 1.7481 1 134.79701182584935 95.97362018414621 0 0 0 0 -3272 1 1.747 1 117.97199043807564 109.54913411434956 0 0 0 0 -3289 1 1.7435 1 94.5584947208201 88.16941291904678 0 0 0 0 -3296 1 1.7412 1 135.66728124842638 122.79670765819824 0 0 0 0 -3300 1 1.7396 1 98.86995087161179 90.43906510601072 0 0 0 0 -3320 1 1.7351 1 96.01383565052312 79.9189587434482 0 0 0 0 -3326 1 1.7335 1 112.03426795829552 111.20602003343149 0 0 0 0 -3331 1 1.7327 1 135.6072337675393 85.70088913493514 0 0 0 0 -5028 1 1.4169 1 76.05462001047063 127.00816408992011 0 0 0 0 -1511 1 2.5643 1 127.96822076823273 129.22954671562562 0 0 0 0 -3851 1 1.617 1 104.95184197913696 128.11332642582462 0 0 0 0 -3368 1 1.7239 1 130.76527374645175 92.58013555593627 0 0 0 0 -3381 1 1.7203 1 81.00964303103095 122.85421626785634 0 0 0 0 -7082 1 1.1876 1 89.62772488825338 120.83787436791077 0 0 0 0 -3417 1 1.7115 1 115.63507828985482 100.70949149011503 0 0 0 0 -2744 1 1.9129 1 122.39881287436063 134.9236320601616 0 0 0 0 -3442 1 1.7053 1 92.98718863149166 117.45549704784374 0 0 0 0 -3444 1 1.7052 1 130.23839055125103 113.21207703235243 0 0 0 0 -3446 1 1.705 1 130.46594852549933 111.5642056071118 0 0 0 0 -1804 1 2.3532 1 82.64473352037875 74.52445028277363 0 0 0 0 -3480 1 1.6974 1 94.25917269121256 125.1098213835694 0 0 0 0 -3535 1 1.6856 1 87.78374193653353 85.80185311998484 0 0 0 0 -3608 1 1.6693 1 105.87625855645719 97.04005737789392 0 0 0 0 -3640 1 1.6646 1 126.9613124800661 91.7028309970635 0 0 0 0 -246 1 6.2598 1 115.13219778264539 136.56902392691072 0 0 0 0 -3694 1 1.6494 1 110.97940980301651 112.44840441130424 0 0 0 0 -728 1 3.7293 1 120.11850936939678 133.31874419848282 0 0 0 0 -3734 1 1.6424 1 81.52349718434469 103.11707617672187 0 0 0 0 -3740 1 1.6412 1 87.71943683297042 128.47468717763087 0 0 0 0 -3752 1 1.6393 1 102.65179360679248 91.26239267874764 0 0 0 0 -3789 1 1.6323 1 117.10109077801661 97.34329510299862 0 0 0 0 -3796 1 1.6303 1 130.10989978046138 90.675469146875 0 0 0 0 -3803 1 1.6283 1 100.5585385650308 124.66151158211255 0 0 0 0 -3817 1 1.6243 1 77.51621842062252 102.81172988485555 0 0 0 0 -4573 1 1.4855 1 106.72868840934507 134.69436586387476 0 0 0 0 -3848 1 1.6173 1 86.1068514048818 118.01055673907219 0 0 0 0 -3196 1 1.767 1 136.82528155604365 129.70249825940755 0 0 0 0 -3876 1 1.6125 1 93.48474285230942 86.90672260032402 0 0 0 0 -3888 1 1.6102 1 130.43075109592877 123.79854618230199 0 0 0 0 -3927 1 1.6023 1 84.68454131534774 124.88513475998874 0 0 0 0 -3986 1 1.5892 1 93.35374620596784 114.38258486997344 0 0 0 0 -9155 1 1.0445 1 105.43938800765996 126.90311054800858 0 0 0 0 -4022 1 1.5794 1 94.20583300501795 116.38228627611923 0 0 0 0 -4064 1 1.5726 1 125.69445907177185 100.81719946448776 0 0 0 0 -4088 1 1.5686 1 88.97183261917604 84.48002179570379 0 0 0 0 -4091 1 1.5681 1 129.21829979197014 91.92476260644968 0 0 0 0 -1780 1 2.369 1 78.67956848253107 75.0133269317088 0 0 0 0 -4147 1 1.5594 1 87.903809861053 115.140504628382 0 0 0 0 -4155 1 1.5572 1 132.78205427543156 123.08131591387713 0 0 0 0 -4181 1 1.5527 1 94.21539377366206 81.83090000653523 0 0 0 0 -4184 1 1.5521 1 126.90331846919034 89.17597586914508 0 0 0 0 -4213 1 1.5473 1 128.65763386722853 113.5730678594449 0 0 0 0 -8104 1 1.1072 1 77.66159601636916 101.50103599357791 0 0 0 0 -9446 1 1.0286 1 74.90699458416687 104.29203721428316 0 0 0 0 -4361 1 1.521 1 89.35534568087326 85.94969278641206 0 0 0 0 -4440 1 1.5077 1 113.11098512456711 114.07157101460173 0 0 0 0 -4479 1 1.5008 1 102.13170009722819 98.21155195203613 0 0 0 0 -6021 1 1.2922 1 98.50608380854443 127.81182336666133 0 0 0 0 -4501 1 1.497 1 116.5738805295929 88.18654891051759 0 0 0 0 -4502 1 1.4969 1 78.56121636514702 125.21454928112358 0 0 0 0 -4516 1 1.4945 1 85.87203891940436 111.7418098976791 0 0 0 0 -4529 1 1.4932 1 108.07984123099428 82.30317061886481 0 0 0 0 -4534 1 1.492 1 122.2093891903817 94.25457865766911 0 0 0 0 -4581 1 1.4838 1 80.90282985899513 99.13472898323218 0 0 0 0 -4588 1 1.4824 1 86.19842193987755 128.1617114407867 0 0 0 0 -8732 1 1.068 1 133.20049678081983 134.48270714557395 0 0 0 0 -4629 1 1.4772 1 87.49173578917852 84.35359869517599 0 0 0 0 -4641 1 1.4751 1 123.51506053525809 90.63383564008703 0 0 0 0 -4681 1 1.4673 1 137.43790575167748 122.47662882615202 0 0 0 0 -4684 1 1.467 1 95.08411245456746 83.0098533612152 0 0 0 0 -4704 1 1.4644 1 132.50868085461295 126.20609671804556 0 0 0 0 -4714 1 1.462 1 113.98214056487548 115.26793460950574 0 0 0 0 -6441 1 1.248 1 123.97079442280857 130.93502344197134 0 0 0 0 -310 1 5.65 1 102.57660655537258 130.80741866553075 0 0 0 0 -4737 1 1.4585 1 106.07844148060782 77.98527999584877 0 0 0 0 -4747 1 1.4571 1 131.35356322358035 125.31517715259903 0 0 0 0 -4753 1 1.4559 1 120.13984195416046 118.90667558746215 0 0 0 0 -4756 1 1.4555 1 126.2177143318862 123.5740577697413 0 0 0 0 -4758 1 1.4551 1 97.81055506833277 77.25140007332783 0 0 0 0 -4777 1 1.4518 1 128.6340182092325 101.23844685436883 0 0 0 0 -4831 1 1.4447 1 99.18900016416502 92.50308576032486 0 0 0 0 -4855 1 1.4406 1 116.47876328554852 106.03043721302922 0 0 0 0 -4877 1 1.437 1 113.41783713096044 111.93914331453423 0 0 0 0 -4904 1 1.432 1 124.0693216777678 107.63558037044561 0 0 0 0 -4911 1 1.4306 1 89.106058779134 119.66093330791028 0 0 0 0 -9203 1 1.0417 1 77.12128972507081 79.8575919912426 0 0 0 0 -4938 1 1.4274 1 135.8285187370878 121.25412469152025 0 0 0 0 -2557 1 1.987 1 113.42691154571001 129.4700054623471 0 0 0 0 -4867 1 1.4381 1 116.04904851520462 132.85524680273053 0 0 0 0 -8962 1 1.0547 1 137.9594312762602 115.64482831747019 0 0 0 0 -7252 1 1.1738 1 96.4552982985941 128.15284766628483 0 0 0 0 -5073 1 1.4087 1 94.40550628545934 100.33758134075585 0 0 0 0 -1339 1 2.7486 1 138.00243729673736 133.03397414209516 0 0 0 0 -5099 1 1.4045 1 92.06496843382615 87.27969147723167 0 0 0 0 -5104 1 1.4036 1 99.11116965383665 124.30977582768824 0 0 0 0 -4214 1 1.5472 1 136.7629680871786 131.333602742327 0 0 0 0 -5136 1 1.3982 1 119.89674828236151 92.16326313607685 0 0 0 0 -2079 1 2.1931 1 105.20541715653215 133.68385299367483 0 0 0 0 -5228 1 1.3857 1 119.02342100489304 108.48655547326696 0 0 0 0 -5249 1 1.382 1 132.88679510943643 124.84215793198993 0 0 0 0 -8939 1 1.0557 1 138.0247554842537 131.0012530231084 0 0 0 0 -34 1 17.4454 1 138.54741341396573 105.08513827665443 0 0 0 0 -5276 1 1.379 1 129.16458986772503 105.44435687035997 0 0 0 0 -5311 1 1.3743 1 98.21307699292336 116.81548410019798 0 0 0 0 -5114 1 1.4008 1 76.16844089069012 124.23262268020494 0 0 0 0 -8977 1 1.0539 1 75.48784706281488 115.88641705917661 0 0 0 0 -5352 1 1.3696 1 87.00284875260783 101.5636271482095 0 0 0 0 -5366 1 1.3682 1 81.52890405979505 101.48440449320935 0 0 0 0 -5371 1 1.3675 1 93.04563380387327 88.28226260432005 0 0 0 0 -628 1 3.9394 1 138.32433406021676 94.37886094333439 0 0 0 0 -5417 1 1.3614 1 94.797803254026 114.82604386446135 0 0 0 0 -5421 1 1.3609 1 107.03051038261995 93.90615866057729 0 0 0 0 -5439 1 1.3581 1 79.17769163314979 123.69146040467616 0 0 0 0 -5440 1 1.3579 1 136.2983221803446 95.99720916917951 0 0 0 0 -5448 1 1.3567 1 106.37827620518034 98.39356490547203 0 0 0 0 -2223 1 2.1256 1 81.38506904668134 92.18894106984422 0 0 0 0 -5463 1 1.3549 1 117.76638937001562 108.02684157819311 0 0 0 0 -5546 1 1.3447 1 103.35994281804194 90.00853919004405 0 0 0 0 -5563 1 1.3427 1 93.43550774049545 118.88465236097778 0 0 0 0 -5383 1 1.3664 1 120.1500524279393 138.34944145589614 0 0 0 0 -519 1 4.3082 1 135.56206611171262 125.78673368186895 0 0 0 0 -5593 1 1.3381 1 131.41383676276283 122.75402735424939 0 0 0 0 -5594 1 1.3381 1 84.52913590442024 123.44685211212506 0 0 0 0 -5639 1 1.3331 1 82.2062117825902 126.41964570342309 0 0 0 0 -5643 1 1.3328 1 136.62152762947784 117.83977499032427 0 0 0 0 -6027 1 1.2919 1 125.11432236163185 130.3932830919852 0 0 0 0 -5658 1 1.3318 1 132.6718351387849 84.42412440086986 0 0 0 0 -5661 1 1.3314 1 115.28301473285764 122.76843133374621 0 0 0 0 -5676 1 1.3294 1 133.80830667136792 117.78401010224901 0 0 0 0 -5708 1 1.3248 1 126.89920088064657 103.16484980135453 0 0 0 0 -5345 1 1.3704 1 107.53155132689548 129.06459164569577 0 0 0 0 -5734 1 1.3226 1 112.41073629520423 112.81926997275193 0 0 0 0 -1871 1 2.3198 1 129.6204816460863 126.03865132915816 0 0 0 0 -5644 1 1.3327 1 91.86067567294515 127.38298263477174 0 0 0 0 -5749 1 1.3206 1 109.59739985940719 123.40637797068281 0 0 0 0 -5767 1 1.3174 1 96.56077743560783 119.02847158098271 0 0 0 0 -5768 1 1.3174 1 86.34211788611485 85.10552799869481 0 0 0 0 -6483 1 1.245 1 138.2461512233327 87.57832237128672 0 0 0 0 -4662 1 1.4703 1 118.79158244108166 135.54717443417587 0 0 0 0 -717 1 3.7563 1 124.82843372878745 125.77607903778042 0 0 0 0 -998 1 3.1787 1 122.22972492590375 137.45783654965368 0 0 0 0 -5839 1 1.3107 1 101.1737853286422 97.26231405075357 0 0 0 0 -5841 1 1.3105 1 129.77426930053872 101.92797031653369 0 0 0 0 -5842 1 1.3103 1 86.08435340706924 99.38589470032937 0 0 0 0 -3790 1 1.6319 1 75.06052884756437 93.93876259243483 0 0 0 0 -5880 1 1.307 1 137.41118345042403 123.78571068930401 0 0 0 0 -5883 1 1.3064 1 118.63338922227787 89.55804456949672 0 0 0 0 -9080 1 1.0481 1 75.00251115210139 97.32319426702321 0 0 0 0 -5900 1 1.3047 1 86.87066126442252 108.84346317312283 0 0 0 0 -5929 1 1.302 1 90.89326739751483 86.58327845790932 0 0 0 0 -5931 1 1.3018 1 127.5930308710195 102.07250571429618 0 0 0 0 -5947 1 1.3 1 127.17663762781021 93.16428482882051 0 0 0 0 -5957 1 1.2991 1 112.0975572620874 103.59818588717549 0 0 0 0 -1594 1 2.4992 1 78.67508964495228 80.60581485172743 0 0 0 0 -5973 1 1.2974 1 104.35090401276452 117.50429637464048 0 0 0 0 -5993 1 1.2954 1 113.26985556914184 116.3451424228007 0 0 0 0 -6020 1 1.2926 1 130.66051627119495 110.10527218485917 0 0 0 0 -9964 1 1.0023 1 88.7197117249048 74.699623177691 0 0 0 0 -6068 1 1.2867 1 97.3914720541491 89.70921458780698 0 0 0 0 -6081 1 1.2853 1 117.92898009228648 88.50067673359965 0 0 0 0 -6107 1 1.2828 1 116.75328666876413 104.72543683390359 0 0 0 0 -6130 1 1.2805 1 131.8202881234981 124.0647404492967 0 0 0 0 -6143 1 1.2794 1 109.60820418086176 122.03192329112125 0 0 0 0 -6144 1 1.2793 1 134.5888920998171 94.51017711543653 0 0 0 0 -3102 1 1.7967 1 82.24626319999875 98.2109273472709 0 0 0 0 -6182 1 1.274 1 104.21499900809337 89.09062838720048 0 0 0 0 -6200 1 1.2716 1 90.6966072583736 98.00565285900603 0 0 0 0 -6203 1 1.2714 1 84.01594477344403 84.37901628744083 0 0 0 0 -6207 1 1.2708 1 100.76349253850901 98.4469314949028 0 0 0 0 -6251 1 1.2651 1 125.44471800580119 99.4826407519777 0 0 0 0 -5341 1 1.3708 1 77.0142948421273 125.29068702070003 0 0 0 0 -6272 1 1.2629 1 127.37687601374697 108.54675272967918 0 0 0 0 -6279 1 1.2622 1 88.6056692203746 127.43262933620159 0 0 0 0 -6287 1 1.2618 1 109.55300505208844 101.81632044373758 0 0 0 0 -6878 1 1.2042 1 121.11000657431374 135.62102793182538 0 0 0 0 -6303 1 1.2608 1 84.99508611393037 118.89445265358707 0 0 0 0 -6315 1 1.2597 1 126.34535212009077 102.02410522477776 0 0 0 0 -6357 1 1.2563 1 85.2749230085489 84.40792552134569 0 0 0 0 -4059 1 1.573 1 107.97043442196679 130.44613985275015 0 0 0 0 -6372 1 1.255 1 106.88848368791889 99.55239974717506 0 0 0 0 -6385 1 1.2528 1 105.50167860769332 118.26341870618324 0 0 0 0 -6387 1 1.2526 1 92.97344194707256 115.73604330650069 0 0 0 0 -6427 1 1.2496 1 90.57257949852827 85.38065284811859 0 0 0 0 -6132 1 1.2804 1 124.33823494761937 136.88519106960325 0 0 0 0 -6455 1 1.2471 1 82.29697656546388 118.57689002894638 0 0 0 0 -6999 1 1.1943 1 118.48563031541555 138.14129487970357 0 0 0 0 -6497 1 1.2434 1 130.8288213043356 117.23662163863409 0 0 0 0 -9002 1 1.0525 1 79.82895441383188 92.00924254530793 0 0 0 0 -6515 1 1.2417 1 82.26332009696941 127.69720735017495 0 0 0 0 -6547 1 1.2379 1 97.40365763578966 80.38474468366947 0 0 0 0 -6553 1 1.2373 1 79.26130405865842 127.36186763009651 0 0 0 0 -6560 1 1.2363 1 133.70366485325113 113.10558348906535 0 0 0 0 -6577 1 1.2348 1 84.81264888420957 121.88699329029234 0 0 0 0 -5887 1 1.306 1 75.73978946017937 125.68681754789469 0 0 0 0 -6583 1 1.2336 1 104.22038355454858 75.32302992050528 0 0 0 0 -6593 1 1.2321 1 87.5603205178928 100.25523226844875 0 0 0 0 -6605 1 1.2312 1 125.6606183956719 102.97068291772412 0 0 0 0 -6100 1 1.2831 1 80.28275658715003 100.85481026724035 0 0 0 0 -6622 1 1.2302 1 127.0284044217986 117.46152777118695 0 0 0 0 -6624 1 1.2297 1 84.79544338982336 113.79972205944371 0 0 0 0 -6655 1 1.2266 1 82.40148456663671 100.58405234478121 0 0 0 0 -6679 1 1.2241 1 110.8899727804537 121.7086068333524 0 0 0 0 -6692 1 1.2232 1 123.61611003745263 106.38947775195889 0 0 0 0 -6709 1 1.2213 1 97.2128469863153 91.93641536263944 0 0 0 0 -6714 1 1.221 1 116.0233416583117 91.14204425943747 0 0 0 0 -7181 1 1.1797 1 112.7599959149951 132.66716960385259 0 0 0 0 -6776 1 1.2154 1 114.5480234629507 92.50557843060818 0 0 0 0 -6795 1 1.2128 1 129.1201854192565 86.99352010672952 0 0 0 0 -6798 1 1.2127 1 105.59317962884016 117.03498034561639 0 0 0 0 -3816 1 1.6244 1 117.4491564258481 133.41953641152773 0 0 0 0 -6853 1 1.2071 1 80.50919249005442 102.16638890306393 0 0 0 0 -6903 1 1.2018 1 93.31652714307661 104.42013520786698 0 0 0 0 -6906 1 1.2016 1 84.63688925610482 105.49988950201772 0 0 0 0 -6929 1 1.1997 1 95.61909137896163 124.70724965162782 0 0 0 0 -6938 1 1.1991 1 123.09968982739775 88.80680814477742 0 0 0 0 -6949 1 1.1983 1 125.11850576763484 108.38626808166484 0 0 0 0 -6961 1 1.1975 1 136.83207850116762 81.44883477529461 0 0 0 0 -8864 1 1.0592 1 79.68575319161329 88.49774895525994 0 0 0 0 -3090 1 1.8023 1 137.70379681762873 135.23967736753679 0 0 0 0 -6992 1 1.1949 1 93.21796992265965 99.72793075735856 0 0 0 0 -1157 1 2.9472 1 111.33629622470866 134.13587612308876 0 0 0 0 -7045 1 1.1897 1 116.71569275419009 111.13682807929372 0 0 0 0 -7074 1 1.188 1 104.84034997808864 119.85643195059441 0 0 0 0 -7080 1 1.1877 1 110.22490737495977 91.81503227348796 0 0 0 0 -7092 1 1.1867 1 93.53196636301176 126.3310718221881 0 0 0 0 -7103 1 1.1854 1 124.03315094933905 95.5406133763613 0 0 0 0 -7106 1 1.1853 1 82.5653227813064 102.18682425356396 0 0 0 0 -7118 1 1.1842 1 89.94470222541771 98.92135473572935 0 0 0 0 -7125 1 1.1837 1 88.90641153020697 122.56989634297663 0 0 0 0 -7163 1 1.1809 1 104.9774608330712 94.06240255947357 0 0 0 0 -7173 1 1.1804 1 122.8526008173224 107.86198611093262 0 0 0 0 -7180 1 1.1797 1 80.7887241520576 76.00884843578422 0 0 0 0 -7206 1 1.1777 1 137.02599877488876 121.31199374206841 0 0 0 0 -7241 1 1.1746 1 136.61876684674507 120.24865228312791 0 0 0 0 -7258 1 1.1736 1 133.0863812866959 97.58270540678835 0 0 0 0 -7293 1 1.1715 1 111.020654065291 104.11300468465708 0 0 0 0 -7296 1 1.1709 1 121.6597162851195 106.28279187341775 0 0 0 0 -7305 1 1.17 1 82.41761323237972 94.63880835447836 0 0 0 0 -7316 1 1.1691 1 135.78538199943233 94.33301915275953 0 0 0 0 -7329 1 1.1681 1 131.97622105415414 97.53272339538647 0 0 0 0 -3214 1 1.7622 1 109.20938661808059 124.89542834463626 0 0 0 0 -7351 1 1.1657 1 131.2531420353185 126.59407781059386 0 0 0 0 -3263 1 1.7493 1 113.08256462715171 121.74546403398172 0 0 0 0 -7397 1 1.1617 1 118.76366271368653 92.6668389581896 0 0 0 0 -9945 1 1.0032 1 101.08570041364274 93.00492686996304 0 0 0 0 -6719 1 1.2204 1 78.21693206644082 78.87418827594755 0 0 0 0 -7448 1 1.1572 1 90.71009813031014 109.74089631256756 0 0 0 0 -7472 1 1.155 1 120.2155406412534 108.42255768816094 0 0 0 0 -7497 1 1.1525 1 127.93463584888991 115.78789043383968 0 0 0 0 -7514 1 1.1516 1 94.45723276361687 113.59779249376493 0 0 0 0 -7516 1 1.1514 1 93.01775002735236 82.39205579289275 0 0 0 0 -7522 1 1.1509 1 125.72534312194999 90.84765637091945 0 0 0 0 -7533 1 1.1502 1 81.94237323025264 76.0741901184399 0 0 0 0 -7572 1 1.1462 1 135.36486521044455 80.89802405968777 0 0 0 0 -7589 1 1.145 1 126.8015148607835 94.32258325049118 0 0 0 0 -7602 1 1.1439 1 100.10916288692371 93.40192846101318 0 0 0 0 -7613 1 1.1432 1 133.4746558561385 85.97530421978533 0 0 0 0 -951 1 3.245 1 107.55636618888124 126.77386979598279 0 0 0 0 -7660 1 1.1392 1 83.07922230747691 99.46667496535044 0 0 0 0 -7683 1 1.1377 1 92.4019968207133 126.33299495999975 0 0 0 0 -7690 1 1.1371 1 81.40861415715491 121.55934078127733 0 0 0 0 -7712 1 1.1354 1 136.58233515878305 78.37389037737506 0 0 0 0 -7713 1 1.1354 1 112.65812325505206 115.3023685815469 0 0 0 0 -7761 1 1.1314 1 95.2171342531923 101.42964314065972 0 0 0 0 -7889 1 1.1221 1 76.38832785036305 118.57022798647849 0 0 0 0 -7813 1 1.1279 1 92.30060783649526 100.55001633004977 0 0 0 0 -3979 1 1.5902 1 124.46306280961893 138.28629346159394 0 0 0 0 -7872 1 1.1231 1 117.15955081503154 115.23746868974513 0 0 0 0 -7884 1 1.1225 1 85.88394113529102 109.41168951792223 0 0 0 0 -6830 1 1.2093 1 111.54464181323218 137.35882089955717 0 0 0 0 -7916 1 1.1197 1 91.82054530072506 109.53776807043212 0 0 0 0 -7917 1 1.1197 1 114.43461649824208 101.3907250683648 0 0 0 0 -9071 1 1.0486 1 118.11168689840792 134.53752487342302 0 0 0 0 -7978 1 1.1159 1 92.99733561685939 110.54608069070076 0 0 0 0 -8014 1 1.1137 1 88.66971035689953 121.44804307726103 0 0 0 0 -8025 1 1.1131 1 118.54113753063851 102.26617295057547 0 0 0 0 -8070 1 1.1099 1 103.9260179912412 81.1352614419835 0 0 0 0 -8103 1 1.1073 1 92.73673381809415 108.9633526803127 0 0 0 0 -896 1 3.3624 1 126.59775162723548 136.68427935066418 0 0 0 0 -8155 1 1.1043 1 105.38238925385582 98.9699429355066 0 0 0 0 -8163 1 1.1036 1 133.88328895821044 118.99464655031572 0 0 0 0 -8183 1 1.1023 1 88.52229672142498 103.74833783372912 0 0 0 0 -8189 1 1.102 1 91.03594536547669 112.50491869781382 0 0 0 0 -8191 1 1.1019 1 97.5451226336617 90.86467368017861 0 0 0 0 -8203 1 1.1013 1 119.57088581408684 102.51757676692296 0 0 0 0 -8255 1 1.0974 1 111.5952300804818 109.89270173584168 0 0 0 0 -8259 1 1.0972 1 83.35727161916905 119.05401487205515 0 0 0 0 -8521 1 1.0797 1 113.5848843243253 123.05695067366554 0 0 0 0 -8327 1 1.0924 1 120.58554819391914 102.8071531705828 0 0 0 0 -8347 1 1.0907 1 121.01813353592844 94.60392490091745 0 0 0 0 -8359 1 1.09 1 96.01720135197971 100.70968895214574 0 0 0 0 -8380 1 1.0884 1 85.99904255095771 126.27470595543808 0 0 0 0 -8383 1 1.0883 1 117.72675683095036 110.86933994406898 0 0 0 0 -8400 1 1.0876 1 86.36085725789995 98.2398809872575 0 0 0 0 -8412 1 1.0868 1 116.68956003991688 102.57402724563956 0 0 0 0 -8416 1 1.0866 1 88.4310881795729 113.40407626707689 0 0 0 0 -8424 1 1.0861 1 85.94031831045481 110.48390740496752 0 0 0 0 -8426 1 1.0861 1 97.54248015514666 123.07261969212833 0 0 0 0 -8454 1 1.0841 1 105.9366338930359 119.56758914741792 0 0 0 0 -8458 1 1.084 1 98.2882035784471 91.6763639003234 0 0 0 0 -9995 1 1.0002 1 87.8346406190745 122.07646215489133 0 0 0 0 -8496 1 1.0811 1 89.12508051901217 118.43236815071032 0 0 0 0 -8499 1 1.081 1 126.67166254183418 109.49645000791733 0 0 0 0 -8514 1 1.0801 1 133.7035194056855 123.92983578637738 0 0 0 0 -8525 1 1.0796 1 119.22031355709707 103.51779578362012 0 0 0 0 -9984 1 1.001 1 88.84877395827573 114.32705454882309 0 0 0 0 -8535 1 1.0788 1 94.52816707922966 79.91660471199656 0 0 0 0 -8630 1 1.073 1 95.46466959895388 125.7599766758357 0 0 0 0 -8640 1 1.0727 1 120.22882038169381 103.77739900074569 0 0 0 0 -8645 1 1.0724 1 134.2832750204706 123.0281072991267 0 0 0 0 -8650 1 1.0723 1 90.17667705828012 129.27858090463164 0 0 0 0 -8660 1 1.0717 1 87.90138863604284 123.07230344658421 0 0 0 0 -6579 1 1.2347 1 76.48835469874611 122.96230253680986 0 0 0 0 -4333 1 1.5262 1 137.40209676989352 76.13629969196683 0 0 0 0 -8680 1 1.0711 1 94.63853588683669 126.42613929060296 0 0 0 0 -8733 1 1.068 1 131.73156295624898 85.08531366937027 0 0 0 0 -8735 1 1.0679 1 131.4100311850671 134.3808432587563 0 0 0 0 -8746 1 1.0671 1 131.29176519158116 99.3438701418246 0 0 0 0 -8785 1 1.0641 1 91.56342229511053 77.81753182791007 0 0 0 0 -8808 1 1.0628 1 101.2347759607747 81.92919740004474 0 0 0 0 -8835 1 1.0612 1 98.51666370063056 80.33745162031227 0 0 0 0 -8838 1 1.061 1 87.9142249119446 108.44228658662998 0 0 0 0 -3356 1 1.7258 1 99.49987678619911 128.85067126520718 0 0 0 0 -8866 1 1.0591 1 79.81982411121828 103.00380799328524 0 0 0 0 -8877 1 1.0587 1 133.47571878010277 83.42049477283473 0 0 0 0 -8888 1 1.0579 1 126.96767732481145 101.10265930952731 0 0 0 0 -8911 1 1.057 1 89.06747886865624 128.9026553923876 0 0 0 0 -2999 1 1.832 1 128.8506649585596 135.4756380697614 0 0 0 0 -8957 1 1.0549 1 127.96354741035867 116.84653278250578 0 0 0 0 -7387 1 1.1624 1 108.07761761947513 135.56223900970585 0 0 0 0 -1150 1 2.9538 1 135.30206872491422 137.84570331728463 0 0 0 0 -9033 1 1.0509 1 88.0786251485615 118.47980713760458 0 0 0 0 -9040 1 1.0504 1 136.88305768347993 77.32543057228587 0 0 0 0 -9061 1 1.0497 1 82.25375530388798 123.86862332716444 0 0 0 0 -9064 1 1.049 1 95.0236530484761 80.85310213510616 0 0 0 0 -9078 1 1.0483 1 124.91490407542791 103.71081164864846 0 0 0 0 -9242 1 1.0398 1 138.46391825737464 75.4582434173825 0 0 0 0 -9103 1 1.0469 1 92.98390137618225 98.6310192504063 0 0 0 0 -9142 1 1.045 1 91.30962164231046 126.28643939611973 0 0 0 0 -9194 1 1.0422 1 86.52031513976054 86.25867648239165 0 0 0 0 -9243 1 1.0398 1 112.63786507978143 120.42941067059114 0 0 0 0 -9270 1 1.0382 1 122.59401689252127 106.80944180417436 0 0 0 0 -7505 1 1.152 1 124.93772216059453 123.33762441350932 0 0 0 0 -9292 1 1.0369 1 132.00196115733192 98.59885386445323 0 0 0 0 -9324 1 1.0348 1 134.01004864784608 97.062531612566 0 0 0 0 -9338 1 1.0342 1 135.58423440641025 84.34892412397271 0 0 0 0 -9384 1 1.0316 1 117.13183565864419 91.27242658706736 0 0 0 0 -9414 1 1.0298 1 102.9765881866714 92.51623970464966 0 0 0 0 -9423 1 1.0294 1 121.90732419923256 92.15286365214229 0 0 0 0 -9425 1 1.0294 1 104.4782300215616 118.76086058093735 0 0 0 0 -8265 1 1.097 1 79.69358275459825 99.49163857644093 0 0 0 0 -9448 1 1.0285 1 105.60898911888687 125.90004255400332 0 0 0 0 -8028 1 1.1128 1 137.30620969800904 137.63902626754634 0 0 0 0 -9457 1 1.0279 1 130.2101443856939 109.0548169040616 0 0 0 0 -9463 1 1.0276 1 127.41158293609668 95.20739643991232 0 0 0 0 -2253 1 2.1167 1 127.43951343663399 127.03528331150982 0 0 0 0 -9492 1 1.0263 1 117.14132493612304 107.03444306243469 0 0 0 0 -9493 1 1.0262 1 98.41138956335585 76.19787373371233 0 0 0 0 -9519 1 1.0249 1 94.3111037120046 92.69948255540966 0 0 0 0 -9525 1 1.0246 1 97.53686585549787 75.75080301831677 0 0 0 0 -9529 1 1.0243 1 109.92122344067923 113.75379753050983 0 0 0 0 -9531 1 1.0241 1 122.719267312709 91.57320068621502 0 0 0 0 -9533 1 1.0241 1 86.54221806018134 100.44247425149612 0 0 0 0 -6220 1 1.2685 1 136.9210556227669 136.52594238486324 0 0 0 0 -9541 1 1.0237 1 78.80722964391789 102.96583487649906 0 0 0 0 -9542 1 1.0237 1 125.4456464641507 98.36379830436512 0 0 0 0 -9562 1 1.0222 1 126.18919016869731 108.59679063059455 0 0 0 0 -9613 1 1.0199 1 82.02849592149624 99.57178566347206 0 0 0 0 -9623 1 1.0196 1 79.54087224792042 101.72265173528768 0 0 0 0 -5199 1 1.3885 1 137.9905114472771 114.4526574139838 0 0 0 0 -9664 1 1.0173 1 119.26868885613221 88.62319927630287 0 0 0 0 -2831 1 1.8848 1 75.85935426389787 103.25899930875573 0 0 0 0 -214 1 6.5923 1 116.1505375000014 118.94412709298678 0 0 0 0 -9691 1 1.0159 1 79.24584070104407 126.25125039537653 0 0 0 0 -1830 1 2.3416 1 125.63648682425325 128.6734867770611 0 0 0 0 -9712 1 1.0146 1 128.05407715208696 92.42822728853287 0 0 0 0 -9745 1 1.013 1 96.14615122256997 83.5419324386012 0 0 0 0 -4314 1 1.5302 1 78.37899890958488 91.59225510415214 0 0 0 0 -9790 1 1.0101 1 130.036175769514 95.94584017851997 0 0 0 0 -9816 1 1.0093 1 81.55389935768913 81.42452295215901 0 0 0 0 -9817 1 1.009 1 111.84869607236156 121.13879163876192 0 0 0 0 -9960 1 1.0027 1 85.37118679782294 114.73172147378764 0 0 0 0 -9838 1 1.0083 1 126.38179896278709 88.03012550591157 0 0 0 0 -9860 1 1.0067 1 123.11747590310986 95.03207396519883 0 0 0 0 -9869 1 1.0063 1 126.69572921852034 90.41276560840674 0 0 0 0 -9876 1 1.006 1 119.7862362443147 120.03496702272713 0 0 0 0 -9886 1 1.0057 1 132.4758633657251 85.74778514281445 0 0 0 0 -9906 1 1.0047 1 81.13713557663864 78.10105253354229 0 0 0 0 -2187 1 2.1443 1 80.55156489636286 79.517701844979 0 0 0 0 -9913 1 1.0045 1 100.12230423876817 89.80428569880479 0 0 0 0 -7137 1 1.1831 1 129.2178484547905 124.36854264763579 0 0 0 0 -5986 1 1.2963 1 76.99472835638332 75.67233231966321 0 0 0 0 -9038 1 1.0505 1 78.57397119978376 101.99091504976342 0 0 0 0 -9447 1 1.0286 1 133.29853846924505 135.51042914357967 0 0 0 0 -2039 1 2.2188 1 130.8068369323612 135.87248124337216 0 0 0 0 -9383 1 1.0317 1 109.14579290292602 135.46488160214554 0 0 0 0 -7072 1 1.1881 1 108.02535363918592 134.42523451177283 0 0 0 0 -787 1 3.6125 1 110.06119772876362 128.92410209538272 0 0 0 0 -6768 1 1.2162 1 81.35055982021801 77.0478832708227 0 0 0 0 -8328 1 1.0924 1 114.48213137223263 123.64265552627765 0 0 0 0 -8774 1 1.0648 1 81.3055858452192 100.31243118141097 0 0 0 0 -9784 1 1.0108 1 136.10999069626808 132.57065728554818 0 0 0 0 -5020 1 1.4178 1 106.49978762313297 131.27335850419814 0 0 0 0 -1915 1 2.2898 1 112.78202665918592 125.86309382520975 0 0 0 0 -3032 1 1.8171 1 78.76837607948616 100.57113035706162 0 0 0 0 -5807 1 1.3138 1 96.51856803278255 129.50016511828122 0 0 0 0 -8789 1 1.0641 1 75.94237155500072 75.27036028378294 0 0 0 0 -7212 1 1.1772 1 118.68075347364218 121.84452820282088 0 0 0 0 -1507 1 2.5714 1 79.90457197571314 90.25033531533212 0 0 0 0 -9683 1 1.0165 1 109.12009569156261 131.02777658944817 0 0 0 0 -3852 1 1.6168 1 120.23656053184918 121.92260561828606 0 0 0 0 -3921 1 1.6031 1 123.74512188151071 128.2001812896752 0 0 0 0 -4752 1 1.4561 1 80.37554954413389 81.44633982706874 0 0 0 0 -6893 1 1.2028 1 120.02069027957484 135.76888334863986 0 0 0 0 -2468 1 2.0221 1 110.378171329683 136.31406748276726 0 0 0 0 -631 1 3.9272 1 93.99939162026725 128.82530273014203 0 0 0 0 -5332 1 1.3717 1 122.52365946284307 132.58899660824545 0 0 0 0 -3050 1 1.8126 1 107.79980861928526 132.1086149389453 0 0 0 0 -5875 1 1.3081 1 106.29355348694249 128.57828922426103 0 0 0 0 -5061 1 1.4113 1 91.3964405302624 129.2988458951935 0 0 0 0 -1269 1 2.8295 1 98.29086533462626 130.67119779982582 0 0 0 0 -7846 1 1.1257 1 107.34474639974027 133.5038248097285 0 0 0 0 -4063 1 1.5726 1 106.04381362978351 129.92213988759812 0 0 0 0 -5461 1 1.355 1 97.57680210114306 128.7178492701361 0 0 0 0 -5819 1 1.3126 1 111.92256905128998 127.37847301099512 0 0 0 0 -111 1 9.3517 1 118.42698295130215 127.05361960717697 0 0 0 0 -7946 1 1.1184 1 80.13403920925191 85.97328905477188 0 0 0 0 -3691 1 1.6506 1 124.02938174639152 135.49646222216583 0 0 0 0 -5486 1 1.3523 1 122.71833587464182 131.2706147235795 0 0 0 0 -7989 1 1.1151 1 105.63691509308484 132.12829429736476 0 0 0 0 -6209 1 1.2707 1 122.80635489607911 129.99305394591346 0 0 0 0 -7121 1 1.1841 1 108.51608250151453 133.38311445365122 0 0 0 0 -3466 1 1.7001 1 74.87289057981035 74.45598711616817 0 0 0 0 -5657 1 1.3318 1 109.2942686227959 132.17591520328497 0 0 0 0 -8770 1 1.0651 1 112.3350783827565 128.45994386261873 0 0 0 0 -2355 1 2.0664 1 77.75665874173114 126.79914001873937 0 0 0 0 -3872 1 1.6129 1 105.30347198422494 74.51575437641638 0 0 0 0 -6912 1 1.2011 1 132.28385385292594 135.09641612342318 0 0 0 0 -7845 1 1.126 1 123.66104275105276 132.06895589812567 0 0 0 0 -8075 1 1.1089 1 106.53140212538005 132.75324934909014 0 0 0 0 -5126 1 1.3988 1 112.0775341029746 130.3180229570709 0 0 0 0 -9861 1 1.0067 1 116.93454961293246 132.0129071078417 0 0 0 0 -7187 1 1.1793 1 113.15816936141643 127.6490700471811 0 0 0 0 -3195 1 1.7672 1 114.21855104287101 132.6917685293151 0 0 0 0 -3108 1 1.795 1 132.33455871045464 137.11483222715972 0 0 0 0 -6342 1 1.2577 1 96.2501866975151 130.74282545361578 0 0 0 0 -6438 1 1.2483 1 109.24068434071515 134.34977928130508 0 0 0 0 -6519 1 1.2414 1 112.68510245230273 131.47380503391486 0 0 0 0 -2135 1 2.1622 1 74.32799960469545 95.63163114102488 0 0 0 0 -1496 1 2.5805 1 74.40282348573481 101.63772409455326 0 0 0 0 -1715 1 2.4141 1 123.68378968709902 144.83046195445715 0 0 0 0 -5893 1 1.3056 1 131.51146821228375 143.74166661469607 0 0 0 0 -6808 1 1.2117 1 135.01040494587434 156.73902097281382 0 0 0 0 -7755 1 1.1318 1 136.69670246128777 158.84246020028493 0 0 0 0 -8465 1 1.0834 1 133.54193919929958 155.1494475932218 0 0 0 0 -4789 1 1.4506 1 137.9706398293636 154.38695831840982 0 0 0 0 -8761 1 1.0659 1 134.25305063650495 155.92186899456 0 0 0 0 -8066 1 1.11 1 137.8086626366777 158.70215348871548 0 0 0 0 -6522 1 1.2409 1 134.66614584031961 153.75920726210023 0 0 0 0 -5443 1 1.3572 1 127.69434738573327 146.94186107244798 0 0 0 0 -9305 1 1.0361 1 135.2703045034888 155.64550005451153 0 0 0 0 -9047 1 1.0501 1 134.54566081526372 154.8951434100834 0 0 0 0 -7557 1 1.1474 1 132.00931809819397 150.80606241249043 0 0 0 0 -6590 1 1.2327 1 119.13894639296458 142.06614881283508 0 0 0 0 -4972 1 1.4236 1 131.9978848728075 153.21193131463187 0 0 0 0 -4078 1 1.5703 1 126.72889743666096 147.95549129939923 0 0 0 0 -1171 1 2.9319 1 133.6899885006125 151.92331315795283 0 0 0 0 -1693 1 2.4287 1 128.4523516994255 148.87997715143476 0 0 0 0 -5054 1 1.4125 1 133.14607773787702 154.00446825941913 0 0 0 0 -6964 1 1.1972 1 137.3806188081943 159.76606728294934 0 0 0 0 -3941 1 1.5996 1 137.26751854684855 157.48253572651976 0 0 0 0 -2697 1 1.9307 1 136.76669863234937 155.54481984799284 0 0 0 0 -8686 1 1.0707 1 136.1108579440844 156.85817735360428 0 0 0 0 -7104 1 1.1854 1 135.97540158198063 157.95540280355706 0 0 0 0 -3174 1 1.7725 1 131.08665128100375 151.9224737040821 0 0 0 0 -4659 1 1.4715 1 124.83638915752809 146.33302407075143 0 0 0 0 -8434 1 1.0857 1 125.64546909620502 147.2644676336331 0 0 0 0 -9418 1 1.0296 1 129.8879130171246 151.23179638264577 0 0 0 0 -8659 1 1.0718 1 126.52541380715685 146.6533647531237 0 0 0 0 -6860 1 1.2068 1 135.5897097716444 154.5551557309457 0 0 0 0 -7960 1 1.1172 1 129.14169374807992 150.48390583977633 0 0 0 0 -5917 1 1.3032 1 120.26582472205959 142.7282758147747 0 0 0 0 -985 1 3.2035 1 136.59670087217242 152.62156582533032 0 0 0 0 -1863 1 2.3232 1 130.66101630154958 149.7468029060862 0 0 0 0 -2178 1 2.1457 1 132.53439221639834 140.9203666567939 0 0 0 0 -2037 1 2.2195 1 136.7697905967188 140.51786778523845 0 0 0 0 -2943 1 1.85 1 126.07147565517093 145.27720273770154 0 0 0 0 -1021 1 3.1482 1 117.98323178441774 140.21385426912082 0 0 0 0 -5583 1 1.3393 1 135.4824275750442 150.48530601837035 0 0 0 0 -7701 1 1.1362 1 123.8358649815822 139.467663710998 0 0 0 0 -2316 1 2.0821 1 133.05278775795827 138.880909397073 0 0 0 0 -2518 1 2.0046 1 129.21235987276515 146.38369985613025 0 0 0 0 -7319 1 1.1687 1 135.6101566846315 141.76112372870702 0 0 0 0 -3451 1 1.7039 1 121.67740110373629 143.66191582059093 0 0 0 0 -3148 1 1.779 1 136.26459667044054 147.2080442310337 0 0 0 0 -6702 1 1.2222 1 126.89623804349326 138.89663770646246 0 0 0 0 -3864 1 1.6152 1 130.15921589682586 147.8694538023592 0 0 0 0 -7114 1 1.1845 1 127.51100387024125 145.7016678470659 0 0 0 0 -8724 1 1.0684 1 129.78587635514467 144.9695261476357 0 0 0 0 -462 1 4.611 1 129.77202456385095 139.0368263952052 0 0 0 0 -1316 1 2.7728 1 133.12402771475377 149.20434844641628 0 0 0 0 -820 1 3.5429 1 137.908578359859 149.59590111442546 0 0 0 0 -2652 1 1.9462 1 135.35976890755836 148.79245815335898 0 0 0 0 -7702 1 1.1362 1 125.73122159810337 138.73080889176202 0 0 0 0 -3527 1 1.6876 1 120.19836491235873 141.08463075303192 0 0 0 0 -6420 1 1.25 1 120.03642915132171 139.63092243661148 0 0 0 0 -9119 1 1.0463 1 127.30458215665773 144.54019096394225 0 0 0 0 -2748 1 1.9117 1 134.43762365925699 147.05603546581847 0 0 0 0 -1572 1 2.5145 1 135.84198925480527 145.1354893433965 0 0 0 0 -2771 1 1.9054 1 131.10368921022857 146.15323054109984 0 0 0 0 -6987 1 1.1954 1 123.02319429128652 143.19309234110762 0 0 0 0 -5975 1 1.2969 1 137.13130947370797 138.82493294568164 0 0 0 0 -6978 1 1.196 1 132.89335639046706 147.0489265754499 0 0 0 0 -4070 1 1.5714 1 131.69080795701512 147.7095822992275 0 0 0 0 -4563 1 1.4871 1 128.5160042531895 144.84572785467202 0 0 0 0 -9091 1 1.0475 1 137.45294406837232 144.41070772703176 0 0 0 0 -7785 1 1.1298 1 137.68580629664734 147.29771814904112 0 0 0 0 -7996 1 1.1147 1 130.84337414117917 144.72159797568804 0 0 0 0 -6476 1 1.2457 1 137.36970136482444 146.18084429621905 0 0 0 0 -7798 1 1.129 1 134.67317081936378 143.8130862180436 0 0 0 0 -3307 1 1.7386 1 121.46244848899043 139.7461141968864 0 0 0 0 -1985 1 2.2498 1 134.614731345903 140.30814641232584 0 0 0 0 -9494 1 1.0262 1 135.45503673802537 143.09210170427946 0 0 0 0 -1250 1 2.8496 1 133.16460983984393 145.04879361157555 0 0 0 0 -1687 1 2.4301 1 122.12135010292059 141.66686411587608 0 0 0 0 -371 1 5.1295 1 125.84767585468468 141.8308703800806 0 0 0 0 -3635 1 1.6651 1 130.04129655972088 143.63559318193427 0 0 0 0 -9517 1 1.0249 1 122.78709841051665 139.478654341376 0 0 0 0 -2962 1 1.8443 1 131.06480628171462 142.23210505306088 0 0 0 0 -5761 1 1.3191 1 132.4829879432529 142.90779188201324 0 0 0 0 -1757 1 2.3822 1 137.09842295992206 142.751872316061 0 0 0 0 -2227 1 2.125 1 134.07743154370655 142.3635684573554 0 0 0 0 -5517 1 1.349 1 128.57019135576672 143.48736345306887 0 0 0 0 -3146 1 1.7795 1 129.27081104845303 142.1310069128389 0 0 0 0 -9205 1 1.0415 1 138.44495840005675 143.75077505651356 0 0 0 0 -9053 1 1.05 1 132.60187871896215 266.9650856976686 0 0 0 0 -5309 1 1.3746 1 131.0788791418648 266.7245391451221 0 0 0 0 -3456 1 1.702 1 132.22060850824536 265.6969362358174 0 0 0 0 -26 1 20.2111 1 130.92191480308665 296.8884157962319 0 0 0 0 -748 1 3.6912 1 120.368602258993 331.3923585955401 0 0 0 0 -40 1 15.577 1 94.17420757951953 328.92202491308467 0 0 0 0 -56 1 12.7808 1 110.77828406498773 299.5641406482784 0 0 0 0 -59 1 12.4444 1 126.38018477650256 315.31501084208014 0 0 0 0 -62 1 12.1799 1 111.97330031105868 325.00405841049485 0 0 0 0 -85 1 10.0597 1 91.10789852444067 312.8546862971162 0 0 0 0 -104 1 9.5194 1 105.400876045174 290.2500185957781 0 0 0 0 -1817 1 2.3461 1 136.42759751790817 274.42843305921167 0 0 0 0 -187 1 7.0567 1 119.04176471409545 309.3954955436033 0 0 0 0 -9809 1 1.0096 1 104.03163994870208 319.6593674158558 0 0 0 0 -229 1 6.3363 1 120.36147433178053 285.30436752148705 0 0 0 0 -252 1 6.1835 1 86.99575371958925 320.2970907279248 0 0 0 0 -266 1 6.0432 1 84.05338243370572 295.50649754642126 0 0 0 0 -293 1 5.8106 1 136.36602627135574 285.2147604005087 0 0 0 0 -297 1 5.7623 1 93.29317982181274 294.71563550905313 0 0 0 0 -326 1 5.5001 1 120.68384222788293 323.6855726776658 0 0 0 0 -472 1 4.5379 1 88.97997946457457 304.414069080732 0 0 0 0 -383 1 5.043 1 99.96133783859969 307.911963197259 0 0 0 0 -391 1 4.971 1 103.17193902642677 316.8597347652132 0 0 0 0 -459 1 4.6258 1 109.63244739092612 284.52964864191756 0 0 0 0 -466 1 4.5838 1 109.07466104557078 315.3369767591898 0 0 0 0 -9867 1 1.0064 1 104.0696876460206 301.1002438247093 0 0 0 0 -488 1 4.4502 1 120.5640308726963 279.9411729765936 0 0 0 0 -561 1 4.171 1 111.7002962552912 307.8451006471669 0 0 0 0 -564 1 4.1624 1 85.99002738863608 301.3603933142061 0 0 0 0 -570 1 4.1314 1 119.46270840085053 290.3685265789031 0 0 0 0 -571 1 4.1227 1 88.39139780256585 298.0399607523248 0 0 0 0 -585 1 4.0781 1 94.54267833479337 306.78022616790645 0 0 0 0 -601 1 4.0145 1 92.92977233261891 319.45208481235755 0 0 0 0 -681 1 3.8224 1 88.93512777683205 292.76386916526315 0 0 0 0 -1222 1 2.8858 1 74.6209998230146 318.4500703046253 0 0 0 0 -736 1 3.7072 1 124.60473622492312 279.5715438518117 0 0 0 0 -740 1 3.6963 1 99.87581535034205 303.42974802666856 0 0 0 0 -741 1 3.6963 1 79.1323773104881 318.21272770061597 0 0 0 0 -2731 1 1.9176 1 137.09497179199582 279.1015776086878 0 0 0 0 -9402 1 1.0305 1 110.65007310010412 289.7070641515537 0 0 0 0 -2700 1 1.9294 1 79.00403742867655 314.10311179233867 0 0 0 0 -771 1 3.6441 1 101.74529954978523 295.78813729254813 0 0 0 0 -786 1 3.6147 1 90.99149810691158 300.8530814178195 0 0 0 0 -789 1 3.61 1 114.05144286168562 311.10972390286713 0 0 0 0 -794 1 3.6025 1 127.50566193570239 285.578354298144 0 0 0 0 -802 1 3.5862 1 118.3221850006415 302.6305254454707 0 0 0 0 -803 1 3.5823 1 135.9332361803593 309.54655838166923 0 0 0 0 -7973 1 1.1164 1 83.91952518187222 313.18569826753713 0 0 0 0 -6859 1 1.2068 1 95.7273292807059 288.3654781200999 0 0 0 0 -4783 1 1.4511 1 80.53084104361841 314.8126897390881 0 0 0 0 -9815 1 1.0093 1 121.70640913543926 291.62976644029226 0 0 0 0 -857 1 3.4464 1 126.99725445661713 282.14013723633303 0 0 0 0 -908 1 3.3408 1 117.42980735914924 314.2490191224221 0 0 0 0 -919 1 3.3139 1 99.64998825219868 314.7780571216543 0 0 0 0 -920 1 3.3137 1 113.34813087022044 283.262766059493 0 0 0 0 -1000 1 3.1763 1 115.21257282102994 292.96864600934794 0 0 0 0 -1011 1 3.1586 1 119.39907291300298 318.72583924861567 0 0 0 0 -1028 1 3.1323 1 100.59875601787132 322.2038057784135 0 0 0 0 -1061 1 3.0683 1 106.00031668856471 312.4856146349171 0 0 0 0 -1088 1 3.033 1 121.03319719878279 304.8375807159695 0 0 0 0 -1111 1 3.0023 1 112.81980225335607 315.4631724624753 0 0 0 0 -148 1 7.7316 1 78.83911216056906 325.71356948362546 0 0 -1 0 -1128 1 2.9786 1 103.05735647170198 304.1092671655071 0 0 0 0 -1132 1 2.976 1 109.76439820337863 310.7747312933107 0 0 0 0 -1147 1 2.9602 1 129.4624137637856 308.3016254218902 0 0 0 0 -1160 1 2.9444 1 130.04305770894086 268.86741873601517 0 0 0 0 -6226 1 1.268 1 136.36633556867503 281.6946142932656 0 0 0 0 -1168 1 2.9362 1 127.23137557403254 274.7032865996198 0 0 0 0 -6129 1 1.2806 1 125.5047627662797 322.12236831685584 0 0 0 0 -1183 1 2.9256 1 83.65397713426654 315.1323465349255 0 0 0 0 -1208 1 2.8986 1 100.60503397479813 298.84328679113503 0 0 0 0 -1259 1 2.8428 1 103.11375308241591 312.22035936382593 0 0 0 0 -1260 1 2.8424 1 82.90161334636468 299.7645475755119 0 0 0 0 -1273 1 2.819 1 117.60777204670418 295.8188128591201 0 0 0 0 -1284 1 2.8067 1 85.91510375885157 291.51884464383096 0 0 0 0 -1287 1 2.8037 1 97.42226574939485 301.4012484702119 0 0 0 0 -1294 1 2.7971 1 96.70061070450863 304.0728526352291 0 0 0 0 -1308 1 2.783 1 131.8138281426989 309.83254012981826 0 0 0 0 -1354 1 2.7332 1 96.77936881939583 315.4552221048431 0 0 0 0 -4042 1 1.5755 1 135.525611733044 326.8254416300689 0 0 0 0 -1366 1 2.7215 1 119.02166076617742 328.69907577056813 0 0 0 0 -1408 1 2.6704 1 103.51820287681555 309.3590154064674 0 0 0 0 -1416 1 2.666 1 103.60065059588689 322.64597889771414 0 0 0 0 -1426 1 2.6548 1 112.82889300983508 286.1778526485001 0 0 0 0 -6780 1 1.2152 1 135.25292047286933 329.93672488494866 0 0 0 0 -1468 1 2.6047 1 116.07314312945401 304.7289345099505 0 0 0 0 -486 1 4.4589 1 86.10744747684656 307.8502351037278 0 0 0 0 -4202 1 1.5494 1 99.9487480043704 289.39473100342934 0 0 0 0 -1480 1 2.5943 1 99.75681128525144 318.2464810513862 0 0 0 0 -1536 1 2.5426 1 92.9391197574818 289.75734773977274 0 0 0 0 -1539 1 2.5388 1 119.57206460494865 299.8389720132695 0 0 0 0 -1546 1 2.5345 1 127.31179404443344 277.3956090866207 0 0 0 0 -1559 1 2.5262 1 97.4245844700739 319.06218738742854 0 0 0 0 -1566 1 2.5205 1 108.43617319788295 308.4061551695409 0 0 0 0 -9424 1 1.0294 1 94.45270142884125 297.906891706155 0 0 0 0 -1583 1 2.5056 1 117.99123637228158 293.256108017393 0 0 0 0 -829 1 3.51 1 82.69452724075609 318.1002876141961 0 0 0 0 -7413 1 1.1601 1 138.28219700418828 329.9423346271879 0 0 0 0 -1667 1 2.4439 1 96.1580682786009 299.18518469921213 0 0 0 0 -1684 1 2.4324 1 125.35575511344764 272.81150276403633 0 0 0 0 -1690 1 2.4289 1 115.37867914000894 317.8308918584998 0 0 0 0 -1756 1 2.3824 1 115.83216234754887 288.1726639328013 0 0 0 0 -1759 1 2.3806 1 111.3125124389726 288.13542720679914 0 0 0 0 -1786 1 2.3645 1 83.38182454252475 291.52629535005764 0 0 0 0 -7538 1 1.1496 1 78.93857079457473 292.6544519233332 0 0 0 0 -1816 1 2.3462 1 129.84624012166762 281.76986234823266 0 0 0 0 -1824 1 2.3434 1 106.23940096375014 318.7199448800344 0 0 0 0 -1833 1 2.3389 1 133.38986422583844 307.8299698354279 0 0 0 0 -1849 1 2.331 1 114.83304043991794 307.304944912962 0 0 0 0 -1861 1 2.3249 1 111.51674318141458 317.75274642299814 0 0 0 0 -1862 1 2.3237 1 135.27330432042984 280.2945556100913 0 0 0 0 -1873 1 2.3175 1 102.60994588182108 320.4256718926412 0 0 0 0 -1875 1 2.3164 1 116.0980990518014 285.09219974544413 0 0 0 0 -8963 1 1.0546 1 132.40352677978905 327.5047105760064 0 0 0 0 -3068 1 1.808 1 81.46270199598007 321.81151220295396 0 0 -1 0 -1918 1 2.2888 1 113.22250951767747 291.13248096425093 0 0 0 0 -1927 1 2.2846 1 103.25509086503159 299.6743480489432 0 0 0 0 -1938 1 2.2778 1 131.76718712423536 282.9841829200208 0 0 0 0 -1965 1 2.2617 1 116.29729778756435 279.3379751370176 0 0 0 0 -9079 1 1.0483 1 108.72422978100549 330.73145324558874 0 0 0 0 -9787 1 1.0104 1 117.3874019833608 297.67910830922244 0 0 0 0 -2018 1 2.2281 1 119.95781233125106 294.55303683187714 0 0 0 0 -5025 1 1.4173 1 81.05082257025659 319.8646866718218 0 0 0 0 -2049 1 2.2114 1 126.32044561768912 307.0496709836918 0 0 0 0 -2089 1 2.1881 1 97.95263652455847 311.6112045169041 0 0 0 0 -2097 1 2.1852 1 105.42683721801818 305.02733688192427 0 0 0 0 -2120 1 2.1706 1 119.33537898029518 297.55998087498426 0 0 0 0 -2122 1 2.1701 1 97.31379257450496 294.82053910266086 0 0 0 0 -2415 1 2.0436 1 102.7808848827948 330.17595923385073 0 0 0 0 -3605 1 1.6697 1 75.60274508050713 329.04509390586435 0 0 -1 0 -800 1 3.5949 1 95.76596987679842 290.826860487827 0 0 0 0 -4037 1 1.5763 1 104.90662492126202 326.24664717930875 0 0 0 0 -2245 1 2.1187 1 113.40061514360687 288.9673233860796 0 0 0 0 -4576 1 1.485 1 82.33156935486515 320.4924156824486 0 0 -1 0 -2262 1 2.1126 1 111.59791329842064 313.2503973994195 0 0 0 0 -2984 1 1.8372 1 84.21560226973861 310.3282995286797 0 0 0 0 -2300 1 2.093 1 95.60960452552456 317.75425027031014 0 0 0 0 -2373 1 2.0586 1 105.7187581313549 321.7582100114633 0 0 0 0 -2380 1 2.0554 1 124.44487762616522 283.4062070096989 0 0 0 0 -2391 1 2.0507 1 122.2329621701615 275.1051023361597 0 0 0 0 -9135 1 1.0453 1 133.020544354138 325.36756462344357 0 0 0 0 -2411 1 2.0445 1 117.6529389793283 320.80589672201296 0 0 0 0 -9700 1 1.0152 1 82.89639506042916 304.13773989503625 0 0 0 0 -2416 1 2.0433 1 105.78207532902431 309.8623634617426 0 0 0 0 -9841 1 1.0082 1 128.48307918056116 273.2704977432361 0 0 0 0 -2466 1 2.0236 1 99.15969708755543 296.87116334216216 0 0 0 0 -2506 1 2.0087 1 121.27524891762876 302.36583415601535 0 0 0 0 -2558 1 1.9859 1 123.24968779754063 307.7996682089458 0 0 0 0 -2581 1 1.9772 1 111.01102438264354 291.16730258217314 0 0 0 0 -2584 1 1.9761 1 114.8552746232568 313.7698304459861 0 0 0 0 -2599 1 1.9679 1 115.24400013207826 315.6792158845382 0 0 0 0 -2607 1 1.9652 1 109.53939178892838 318.47162624670756 0 0 0 0 -2633 1 1.9566 1 102.7300232339773 301.7064095729949 0 0 0 0 -2662 1 1.9433 1 103.92145218793243 324.8333920195917 0 0 0 0 -5090 1 1.4052 1 132.22834469582807 274.13022102999645 0 0 0 0 -1163 1 2.942 1 80.93466633838266 292.3557066438408 0 0 0 0 -2703 1 1.9283 1 91.3718078323627 298.1284577153759 0 0 0 0 -2742 1 1.9138 1 132.5593756119762 285.03851297190363 0 0 0 0 -2750 1 1.9116 1 93.77805629874611 302.540164375683 0 0 0 0 -3709 1 1.6448 1 131.10083763677568 286.00716117512957 0 0 0 0 -2785 1 1.9003 1 98.22495540116611 298.5538430410198 0 0 0 0 -9356 1 1.0334 1 85.37594018372634 330.4771137108733 0 0 -1 0 -2867 1 1.8729 1 124.2899220885607 286.25240437737875 0 0 0 0 -2878 1 1.8684 1 124.84814940946974 274.84030938554406 0 0 0 0 -3403 1 1.7143 1 133.09841500103533 317.2112249574697 0 0 0 0 -2951 1 1.8475 1 115.0116044215812 290.1122041794052 0 0 0 0 -2989 1 1.8361 1 90.44624284905069 307.07503209870407 0 0 0 0 -3018 1 1.8206 1 100.20000048273683 292.39939363138 0 0 0 0 -3029 1 1.8183 1 121.39272035209973 320.20528824522154 0 0 0 0 -3035 1 1.8163 1 135.26764067716002 306.96368575810465 0 0 0 0 -4013 1 1.5808 1 80.17612231138921 295.65151575827497 0 0 0 0 -3371 1 1.7232 1 138.65926283862274 326.70527810514994 0 0 0 0 -1266 1 2.833 1 77.22313509511451 315.61030021113373 0 0 0 0 -3136 1 1.783 1 85.29900037890012 313.5000815242799 0 0 0 0 -3158 1 1.7773 1 106.47813102166731 284.5492612706257 0 0 0 0 -3230 1 1.7573 1 116.55762427520911 281.2760522987539 0 0 0 0 -3279 1 1.7451 1 135.04758336687067 272.95138629727853 0 0 0 0 -3337 1 1.7316 1 121.07923171788917 276.9631722414522 0 0 0 0 -3348 1 1.7284 1 125.58747526980993 287.39103628038555 0 0 0 0 -9639 1 1.0185 1 107.95550155872196 310.0453418228335 0 0 0 0 -3373 1 1.7231 1 96.72002359388317 308.80854128018933 0 0 0 0 -7417 1 1.1599 1 82.15880057460073 328.47205583064516 0 0 -1 0 -3499 1 1.6936 1 113.59635511336002 280.7732412787931 0 0 0 0 -3554 1 1.6804 1 106.40638488616182 308.1134537012461 0 0 0 0 -3557 1 1.6797 1 93.10994126411484 298.32213335700675 0 0 0 0 -9024 1 1.0514 1 128.75051584769923 270.3141625791685 0 0 0 0 -3598 1 1.6715 1 118.0126373727946 305.2004360745238 0 0 0 0 -3624 1 1.6669 1 117.64623278580963 282.4849595457633 0 0 0 0 -3632 1 1.6653 1 105.63426477716162 327.63893438404443 0 0 0 0 -3593 1 1.6724 1 91.70462728968131 305.8558986962801 0 0 0 0 -3653 1 1.6615 1 118.32410257753052 316.57661944677005 0 0 0 0 -3655 1 1.661 1 129.9743207624958 283.73719123177386 0 0 0 0 -3673 1 1.6544 1 118.10246961283643 277.86271231024995 0 0 0 0 -3681 1 1.6529 1 109.1839278416805 306.52904551033936 0 0 0 0 -4179 1 1.5533 1 79.3943344385256 315.7140323632495 0 0 0 0 -3727 1 1.6431 1 83.77705396723039 303.18272056516867 0 0 0 0 -3729 1 1.643 1 122.29195599790037 290.32766716174956 0 0 0 0 -3746 1 1.6404 1 92.49314938618869 303.7421958186468 0 0 0 0 -3759 1 1.6379 1 128.59337222663055 280.2746959845789 0 0 0 0 -3765 1 1.6371 1 126.57533903024444 271.2313700350477 0 0 0 0 -3792 1 1.6317 1 99.70333707827233 312.3087988605067 0 0 0 0 -6224 1 1.2683 1 104.29913738690996 328.759063345958 0 0 0 0 -3830 1 1.6207 1 101.13292682649218 301.0156516169405 0 0 0 0 -3849 1 1.6172 1 97.23600026198976 306.14491549817967 0 0 0 0 -9730 1 1.0137 1 82.49542513498353 329.4148845186008 0 0 -1 0 -3895 1 1.6091 1 99.56347368338899 300.8425052073061 0 0 0 0 -3910 1 1.606 1 98.62703076167435 291.8196605019826 0 0 0 0 -3945 1 1.5983 1 90.28699657797524 290.45159579500165 0 0 0 0 -3953 1 1.5956 1 108.06548439851515 319.3434481750943 0 0 0 0 -3957 1 1.5944 1 123.23678386793104 304.51890947985885 0 0 0 0 -3958 1 1.5944 1 98.3563694355505 316.821576081128 0 0 0 0 -3422 1 1.7105 1 84.57339046450936 311.97857002252056 0 0 0 0 -3978 1 1.5903 1 116.78290924360446 319.254243804418 0 0 0 0 -3981 1 1.59 1 97.4195571151707 313.40707105495943 0 0 0 0 -4001 1 1.5834 1 123.49984577088475 273.8132505160725 0 0 0 0 -2942 1 1.8502 1 102.8441241463042 328.2673686854517 0 0 0 0 -4015 1 1.5807 1 101.81743570217816 310.51800303150293 0 0 0 0 -4018 1 1.5798 1 114.87781850997506 286.4713293758081 0 0 0 0 -1969 1 2.2583 1 84.5774772258395 304.90954314927666 0 0 0 0 -6689 1 1.2233 1 107.84353478475195 331.597534735721 0 0 -1 0 -4077 1 1.5703 1 100.82125764493834 319.9147321329211 0 0 0 0 -927 1 3.2989 1 132.7886574448975 271.8950371535382 0 0 0 0 -4104 1 1.5652 1 96.9958021498544 297.4024464868153 0 0 0 0 -4122 1 1.5632 1 134.20839366753214 313.74654561978645 0 0 0 0 -4130 1 1.5621 1 123.16583882854734 306.05451511753523 0 0 0 0 -4219 1 1.5468 1 117.86637672942469 298.8265320274267 0 0 0 0 -4226 1 1.5463 1 117.31980416803464 317.8118184975329 0 0 0 0 -4284 1 1.5355 1 95.485306967465 302.3120083091164 0 0 0 0 -4287 1 1.5352 1 103.3651689417867 326.4107586566845 0 0 0 0 -4297 1 1.5331 1 88.74201357364724 295.31584363094674 0 0 0 0 -2032 1 2.2204 1 130.78310456263608 321.09712539123035 0 0 0 0 -4366 1 1.5203 1 119.45243216748925 315.4710895741313 0 0 0 0 -4391 1 1.5165 1 81.1551624630161 298.5330078769683 0 0 0 0 -8639 1 1.0727 1 79.00782378276064 296.2749978409829 0 0 0 0 -9357 1 1.0332 1 75.97653908961617 317.0621603386122 0 0 0 0 -4456 1 1.505 1 90.73959919759238 321.1137038279384 0 0 0 0 -4468 1 1.5027 1 137.83541475366297 288.5341189585868 0 0 0 0 -4478 1 1.5008 1 104.68772804650854 307.3072192497892 0 0 0 0 -4492 1 1.4989 1 121.84425477023956 288.87765645330944 0 0 0 0 -9759 1 1.0124 1 120.09485549612026 320.58270660914053 0 0 0 0 -7863 1 1.1236 1 87.7032898625968 323.8118297451335 0 0 -1 0 -4519 1 1.4943 1 85.82236242591888 315.0098627501611 0 0 0 0 -4533 1 1.4927 1 136.88355682882346 307.22415173759657 0 0 0 0 -4551 1 1.4891 1 101.09502000059344 312.9592753855983 0 0 0 0 -4571 1 1.4859 1 99.33890658276822 320.2623118171682 0 0 0 0 -4584 1 1.4827 1 115.76891188890038 283.2618190067558 0 0 0 0 -4602 1 1.4799 1 96.56350215060701 293.2004824718757 0 0 0 0 -9765 1 1.0118 1 108.07561928793528 305.8936721223167 0 0 0 0 -4627 1 1.4773 1 116.74096364510986 316.48150657217417 0 0 0 0 -4646 1 1.4738 1 104.27267318885922 296.61533338515574 0 0 0 0 -4648 1 1.4736 1 127.30857727260349 308.4987839714083 0 0 0 0 -4687 1 1.4662 1 119.69390404043045 313.5746444142031 0 0 0 0 -4694 1 1.4655 1 102.04886488186305 325.6942717246698 0 0 0 0 -4697 1 1.4653 1 116.74052608534805 289.8372395726206 0 0 0 0 -4707 1 1.4638 1 88.81869542840417 290.2027070134437 0 0 0 0 -4738 1 1.4582 1 96.65025469157199 320.8371618807328 0 0 0 0 -4768 1 1.4532 1 95.6093636921733 319.84400511704206 0 0 0 0 -8436 1 1.0856 1 102.4838542255386 324.5138105421776 0 0 -1 0 -4787 1 1.4508 1 93.9468070037259 304.1627955690235 0 0 0 0 -4794 1 1.4499 1 105.07508150468983 320.15463773823814 0 0 0 0 -9272 1 1.038 1 92.73942371542715 305.0155759281394 0 0 0 0 -4804 1 1.4481 1 98.2057832219447 293.27670347962857 0 0 0 0 -4934 1 1.4278 1 93.48956976464238 300.9712060707303 0 0 0 0 -4951 1 1.4257 1 124.16654094648901 322.5381298578066 0 0 0 0 -8540 1 1.0787 1 120.91009973473876 328.0992941483308 0 0 0 0 -4969 1 1.4239 1 104.96698339579928 284.9184310720092 0 0 0 0 -2802 1 1.893 1 75.75429217532304 311.34861230447973 0 0 0 0 -4992 1 1.4211 1 101.2638340036753 324.37217317137595 0 0 0 0 -2176 1 2.1476 1 133.61173415408098 315.42084682609527 0 0 0 0 -5018 1 1.4179 1 103.9895815885598 306.07164826722476 0 0 0 0 -5065 1 1.4105 1 84.78457096874922 299.00020193672356 0 0 0 0 -5070 1 1.4092 1 132.3547186189436 311.82491996124963 0 0 0 0 -9594 1 1.0211 1 123.60562195807286 321.45053308247884 0 0 0 0 -5102 1 1.4039 1 123.48535571845855 276.2309035450583 0 0 0 0 -1337 1 2.75 1 130.27476939677769 273.5957361620185 0 0 0 0 -5116 1 1.4004 1 105.30297816223458 323.75028880709783 0 0 0 0 -5157 1 1.3947 1 104.30537604218755 313.91273987403025 0 0 0 0 -4089 1 1.5685 1 98.67973478380175 290.27223985812566 0 0 0 0 -5163 1 1.3934 1 111.94177254782117 289.8509777074794 0 0 0 0 -7654 1 1.1399 1 131.60569501785903 319.63649690913206 0 0 0 0 -5185 1 1.3908 1 118.6141848086438 326.3482216870323 0 0 0 0 -5189 1 1.39 1 83.25738887452404 301.80011010810574 0 0 0 0 -5191 1 1.3897 1 107.32261936483731 306.8216251764104 0 0 0 0 -4166 1 1.5557 1 127.26651799937258 322.1961452523425 0 0 0 0 -5202 1 1.3884 1 111.2326836476963 281.9461833532172 0 0 0 0 -8278 1 1.0965 1 80.25174057344799 330.1407029648536 0 0 -1 0 -5270 1 1.3796 1 115.13139403637338 280.7266803710153 0 0 0 0 -5292 1 1.3768 1 106.14936806535599 315.8261215577466 0 0 0 0 -5297 1 1.3764 1 102.62702978267522 306.2055872406825 0 0 0 0 -3221 1 1.7598 1 76.69765312844949 292.22976699683915 0 0 0 0 -5323 1 1.3728 1 102.01563549663699 313.98065170284684 0 0 0 0 -5349 1 1.3699 1 104.26333081073584 302.29578759299477 0 0 0 0 -6267 1 1.2633 1 138.4648803822927 304.5110057310988 0 0 0 0 -5368 1 1.3677 1 113.27102245177257 313.39021978044036 0 0 0 0 -1941 1 2.2763 1 133.85436137524957 282.07105469548776 0 0 0 0 -5407 1 1.3623 1 105.9668020014815 306.6830420328386 0 0 0 0 -5408 1 1.3622 1 113.56220233455835 317.449809368144 0 0 0 0 -5445 1 1.357 1 95.54355990782001 297.423954242497 0 0 0 0 -5462 1 1.355 1 111.68258840360119 292.61579273955425 0 0 0 0 -5468 1 1.3538 1 90.0086341496739 295.889399692481 0 0 0 0 -5478 1 1.3532 1 127.58386583003919 270.1495126541939 0 0 0 0 -3120 1 1.788 1 101.1357899477242 286.7052000858887 0 0 0 0 -5490 1 1.3519 1 112.98125481773026 292.89513505148494 0 0 0 0 -5529 1 1.3475 1 98.05079179011 320.8385995271272 0 0 0 0 -5646 1 1.3326 1 115.23504090447291 282.0124167708645 0 0 0 0 -5675 1 1.3295 1 116.12172376984275 312.3709919790031 0 0 0 0 -5704 1 1.325 1 86.09764451595599 304.0046948320574 0 0 0 0 -3686 1 1.6522 1 134.90565201749308 275.6555500512401 0 0 0 0 -5772 1 1.317 1 116.34604705787062 306.4591992699315 0 0 0 0 -5794 1 1.315 1 94.54178761346462 288.7395287927723 0 0 0 0 -5797 1 1.3149 1 123.28227789946416 289.18031925808407 0 0 0 0 -5825 1 1.3119 1 120.99351277823132 292.62038508311264 0 0 0 0 -5862 1 1.3091 1 125.82864943602775 276.2534343420624 0 0 0 0 -5899 1 1.3049 1 93.1581615797009 299.7279305939191 0 0 0 0 -5915 1 1.3033 1 117.73384548520224 280.322457534624 0 0 0 0 -5923 1 1.3022 1 107.03837362483512 305.51536669199066 0 0 0 0 -5936 1 1.3014 1 125.14242985951616 284.9545274720064 0 0 0 0 -5961 1 1.2988 1 85.54844608974966 316.3167115330739 0 0 0 0 -8437 1 1.0855 1 88.56004635167773 301.72426845289874 0 0 0 0 -5994 1 1.2953 1 104.98839358161163 303.3945304711337 0 0 0 0 -6003 1 1.2942 1 91.9581161561834 307.2902316878228 0 0 0 0 -8616 1 1.0739 1 79.22358139232612 291.4907288409321 0 0 0 0 -6040 1 1.2903 1 103.09420248162145 307.43918780526815 0 0 0 0 -6058 1 1.2878 1 138.26381837325894 308.8990282849247 0 0 0 0 -9583 1 1.0215 1 123.9635476559055 323.7544041933857 0 0 0 0 -1991 1 2.2466 1 134.33843248987472 311.9244497276038 0 0 0 0 -6169 1 1.2755 1 94.33693690922968 299.05296031780676 0 0 0 0 -101 1 9.5763 1 126.2643076040059 328.57929130319 0 0 0 0 -9999 1 1 1 133.66052526945072 309.42478264061725 0 0 0 0 -329 1 5.4772 1 81.3174278380986 306.9421585385478 0 0 0 0 -6234 1 1.2671 1 102.76986052945998 297.99158740979175 0 0 0 0 -6246 1 1.2657 1 132.76369752797095 268.68411867764104 0 0 0 0 -4895 1 1.4334 1 138.31333287270817 310.2466040171115 0 0 0 0 -6300 1 1.2608 1 99.96910944540988 290.85867485414536 0 0 0 0 -6323 1 1.259 1 122.4787789393197 303.364638723736 0 0 0 0 -6328 1 1.2587 1 111.78811079310466 310.4522269252824 0 0 0 0 -6343 1 1.2577 1 107.12556701836901 310.70829541274105 0 0 0 0 -6363 1 1.2557 1 88.593233007497 300.635105200565 0 0 0 0 -6390 1 1.2524 1 131.0837250589166 284.59356847976983 0 0 0 0 -6423 1 1.2499 1 106.36005204167174 314.55055458701264 0 0 0 0 -6426 1 1.2497 1 111.68817938889813 311.6389487594802 0 0 0 0 -8758 1 1.0662 1 83.66276374536577 309.08676901863595 0 0 0 0 -9390 1 1.0313 1 127.0811588413781 272.7280894611493 0 0 0 0 -6496 1 1.2434 1 127.08055336080537 279.721199651654 0 0 0 0 -6986 1 1.1956 1 80.6461517835908 294.3744441467509 0 0 0 0 -9904 1 1.0049 1 137.9986558508964 307.78421993230324 0 0 0 0 -6527 1 1.2402 1 135.32526957773433 277.00303756500404 0 0 0 0 -6561 1 1.2362 1 98.31097038961698 305.2717479982431 0 0 0 0 -9915 1 1.0045 1 115.53161787236452 319.50520109427964 0 0 0 0 -9887 1 1.0056 1 106.20662841172577 320.35087046414077 0 0 0 0 -6623 1 1.23 1 122.4943182175428 277.0439643910241 0 0 0 0 -6635 1 1.2287 1 101.17064233903956 311.6926784233463 0 0 0 0 -6690 1 1.2233 1 103.43694166900548 285.42477586219263 0 0 0 0 -6710 1 1.2213 1 125.59089739010102 308.5646668137933 0 0 0 0 -6720 1 1.2204 1 124.31856705339673 305.3017874916373 0 0 0 0 -2367 1 2.0601 1 128.68300424718169 323.29430870325046 0 0 0 0 -6737 1 1.2191 1 108.64586907799094 312.5160895223822 0 0 0 0 -6744 1 1.2187 1 116.21322886789474 291.04401618492653 0 0 0 0 -6766 1 1.2164 1 96.40023647368938 296.20635998269404 0 0 0 0 -6775 1 1.2155 1 107.22280303522002 320.4046138296592 0 0 0 0 -6797 1 1.2127 1 117.74152355161517 300.2484189427193 0 0 0 0 -6809 1 1.2117 1 128.09365723726108 279.01777144439967 0 0 0 0 -7280 1 1.1727 1 87.53483064480385 290.4014419068841 0 0 0 0 -8814 1 1.0625 1 76.8095709802979 317.6975090798074 0 0 0 0 -9360 1 1.0329 1 119.21991208396615 305.42114329480864 0 0 0 0 -6896 1 1.2024 1 105.1087116954933 295.5724665198078 0 0 0 0 -6935 1 1.1994 1 114.1517185726889 287.57183186567977 0 0 0 0 -1984 1 2.2505 1 133.98612630352187 327.81518727909554 0 0 0 0 -6970 1 1.1966 1 94.67276955612074 300.21695179876286 0 0 0 0 -2734 1 1.9168 1 133.83747903965195 274.27950105797777 0 0 0 0 -6993 1 1.1948 1 103.99281920443312 297.9171952970655 0 0 0 0 -7010 1 1.1932 1 120.2656703132606 296.2018491317323 0 0 0 0 -7020 1 1.1921 1 96.12298082840869 310.12666393509454 0 0 0 0 -7026 1 1.1918 1 129.86179928925304 285.14052397337394 0 0 0 0 -7037 1 1.1905 1 107.8995204453094 311.6128515482328 0 0 0 0 -7039 1 1.1904 1 119.4245821901117 277.3871676776859 0 0 0 0 -7110 1 1.1849 1 124.38596621691916 306.6686106243155 0 0 0 0 -7933 1 1.119 1 106.70226588764622 329.04907533437495 0 0 0 0 -7146 1 1.1826 1 133.28503344393806 283.6895827557696 0 0 0 0 -9724 1 1.0141 1 138.18916432901872 331.3791863311894 0 0 0 0 -7193 1 1.1786 1 119.83837355485447 276.30986334795466 0 0 0 0 -7226 1 1.176 1 124.42945883336648 308.8129562621344 0 0 0 0 -9573 1 1.0219 1 90.66941835907146 296.8541557627632 0 0 0 0 -7304 1 1.1701 1 129.74868372965093 286.29760560079154 0 0 0 0 -7324 1 1.1685 1 136.59864333587188 305.93533624036314 0 0 0 0 -7349 1 1.166 1 123.0416446120143 282.734270001458 0 0 0 0 -7355 1 1.1652 1 95.36405344663616 309.2430185507298 0 0 0 0 -7395 1 1.1618 1 133.2038542088032 269.7608241669247 0 0 0 0 -7415 1 1.1601 1 117.00834995911889 283.67918605412694 0 0 0 0 -7433 1 1.1584 1 133.64075709789836 310.45256680121327 0 0 0 0 -7134 1 1.1833 1 82.44213600794978 302.77277771215074 0 0 0 0 -1403 1 2.6797 1 97.65049386976872 288.45135227886243 0 0 0 0 -6581 1 1.2342 1 84.86468653148718 317.30405821444816 0 0 0 0 -1430 1 2.6475 1 83.2586312140818 323.014322557296 0 0 -1 0 -7573 1 1.1462 1 133.12052380857187 286.4508521735943 0 0 0 0 -7583 1 1.1453 1 121.06409067747823 300.8343198719189 0 0 0 0 -7594 1 1.1444 1 105.25064125810293 314.7035696799611 0 0 0 0 -7635 1 1.1418 1 137.50144466135438 305.22043235017145 0 0 0 0 -7642 1 1.1408 1 109.79821046674091 287.3470673061929 0 0 0 0 -7672 1 1.1384 1 86.25420063679772 305.1437874861068 0 0 0 0 -7682 1 1.1377 1 104.6047656302327 310.91723764669365 0 0 0 0 -9693 1 1.0159 1 136.15436693488778 276.0792150651626 0 0 0 0 -7751 1 1.1321 1 91.25915715963126 291.9555489744879 0 0 0 0 -2871 1 1.8707 1 99.60014260410647 294.11296602794835 0 0 0 0 -7777 1 1.1305 1 110.08927254508633 312.7335854468155 0 0 0 0 -7943 1 1.1185 1 126.12773711680622 323.1568481512095 0 0 0 0 -9515 1 1.025 1 87.54204076369747 295.629365929533 0 0 0 0 -7828 1 1.1271 1 100.64012897164385 288.049047799304 0 0 0 0 -7832 1 1.1271 1 101.18230584844976 293.48348608005426 0 0 0 0 -7869 1 1.1234 1 97.50670089400089 310.0006127545095 0 0 0 0 -7870 1 1.1232 1 122.63889163892587 320.9867254256867 0 0 0 0 -7871 1 1.1232 1 115.05709743796145 309.00295859877025 0 0 0 0 -9989 1 1.0006 1 120.19499459571016 301.4234529650579 0 0 0 0 -7890 1 1.1221 1 122.94878228642789 281.32346890687205 0 0 0 0 -7899 1 1.1215 1 120.75542180168873 275.6242878133995 0 0 0 0 -7904 1 1.1209 1 125.23567705872796 305.89549461686744 0 0 0 0 -7906 1 1.1206 1 113.01838603935738 318.5028229809305 0 0 0 0 -7913 1 1.1198 1 97.12022190078599 317.3086410290002 0 0 0 0 -7931 1 1.1191 1 105.3863188027983 325.00538936781135 0 0 0 0 -9019 1 1.0518 1 132.95305925427255 314.01189924267305 0 0 0 0 -7980 1 1.1158 1 96.4016668013147 311.22424450269375 0 0 0 0 -9966 1 1.0022 1 125.07960906705037 323.3474921999427 0 0 0 0 -8018 1 1.1135 1 91.53634790500425 290.8887281434505 0 0 0 0 -9930 1 1.004 1 114.01485982072121 318.7836120202153 0 0 0 0 -8042 1 1.1118 1 116.84996014095586 286.6321545077338 0 0 0 0 -8099 1 1.1075 1 98.84240015495865 295.3666963401573 0 0 0 0 -8129 1 1.1056 1 101.40807895600295 305.247443438999 0 0 0 0 -8131 1 1.1055 1 124.6821023090158 276.2415779968818 0 0 0 0 -8142 1 1.1051 1 98.65616779768008 299.9189152439926 0 0 0 0 -8143 1 1.1051 1 124.79162837952248 307.7313579016524 0 0 0 0 -7723 1 1.1347 1 102.03718693394605 331.70959350843395 0 0 0 0 -8225 1 1.1 1 117.19013702904552 291.6499542060801 0 0 0 0 -8236 1 1.0991 1 117.51004138003023 288.63178385025003 0 0 0 0 -8260 1 1.0972 1 94.67008163714448 301.33432645787406 0 0 0 0 -8276 1 1.0965 1 104.02414863103658 295.3558521647227 0 0 0 0 -8295 1 1.095 1 125.83060333855218 284.0216266620208 0 0 0 0 -8316 1 1.093 1 123.78371733353318 287.6276492239632 0 0 0 0 -8326 1 1.0925 1 119.75615274243556 292.93435341287 0 0 0 0 -8333 1 1.0921 1 114.40782436759255 285.18986498468723 0 0 0 0 -8346 1 1.0908 1 107.2418274512999 317.41184601382645 0 0 0 0 -8349 1 1.0907 1 98.55376862473774 321.88991913692973 0 0 0 0 -8394 1 1.0878 1 124.50267980456428 277.24555666228605 0 0 0 0 -1558 1 2.5266 1 130.9556139651638 323.41173350261704 0 0 0 0 -8427 1 1.0861 1 122.67490739555981 278.17245034972484 0 0 0 0 -8429 1 1.0861 1 128.673636884943 283.5794792581823 0 0 0 0 -8431 1 1.086 1 100.38193251290473 310.91364262201415 0 0 0 0 -5470 1 1.3536 1 86.82280965108954 316.5658032392718 0 0 -1 0 -9880 1 1.0058 1 102.09605223329028 323.56654300922685 0 0 0 0 -8446 1 1.0845 1 89.98221120898373 318.27366357912314 0 0 0 0 -8450 1 1.0844 1 124.57158312033314 288.35900665048155 0 0 0 0 -6945 1 1.1985 1 75.93837324249856 322.1473255563408 0 0 0 0 -8500 1 1.081 1 99.74549649338947 286.92103449318324 0 0 0 0 -8503 1 1.0807 1 105.12127096382302 308.4793130026602 0 0 0 0 -5740 1 1.3216 1 79.55185957282352 331.2214822517546 0 0 -1 0 -8544 1 1.0785 1 90.4333625161181 319.23267243493785 0 0 0 0 -8565 1 1.0771 1 114.60849193093802 279.70923437062464 0 0 0 0 -8571 1 1.0768 1 114.0498329740158 308.7978102406809 0 0 0 0 -8586 1 1.0761 1 121.24329447226879 326.91036153764685 0 0 0 0 -9036 1 1.0508 1 88.82691585183433 307.37935856020187 0 0 0 0 -8594 1 1.0755 1 91.18125274417588 289.51828677483076 0 0 0 0 -8618 1 1.0737 1 96.98439256198968 307.44969089540035 0 0 0 0 -8636 1 1.0728 1 124.80122577516222 281.9149003927486 0 0 0 0 -9556 1 1.0229 1 135.28972099760043 331.25014182565394 0 0 0 0 -8644 1 1.0725 1 119.77917069180792 316.6862137120815 0 0 0 0 -8687 1 1.0706 1 123.21303170712648 309.3413001008469 0 0 0 0 -8704 1 1.0697 1 102.34359974210395 285.94735550864465 0 0 0 0 -8742 1 1.0674 1 117.4322835692388 287.5526114605145 0 0 0 0 -8748 1 1.0671 1 122.81709816698844 288.06764673540556 0 0 0 0 -8754 1 1.0666 1 85.94924802261515 298.75371910398064 0 0 0 0 -8771 1 1.0649 1 106.2376890516655 317.02902091566136 0 0 0 0 -8783 1 1.0642 1 117.93605871269558 279.17934408471734 0 0 0 0 -8800 1 1.0634 1 122.18399975495902 282.10330016799236 0 0 0 0 -8850 1 1.0602 1 118.25190113440725 281.33830141139373 0 0 0 0 -8873 1 1.0589 1 122.11321111984147 306.78710805750956 0 0 0 0 -8906 1 1.0572 1 81.94125789664659 303.75647495355014 0 0 0 0 -8943 1 1.0555 1 117.99698482344996 327.3223421325095 0 0 0 0 -5781 1 1.316 1 99.50178599542033 288.0456312667431 0 0 0 0 -8952 1 1.0551 1 93.5365377337203 291.3844899856113 0 0 0 0 -8969 1 1.0541 1 108.10893965834016 318.0224035515449 0 0 0 0 -8986 1 1.0534 1 104.17866473839443 320.93168558928664 0 0 0 0 -9004 1 1.0525 1 112.29025476199361 281.2743364618426 0 0 0 0 -3553 1 1.6805 1 86.12861563379731 325.9671599647224 0 0 -1 0 -9014 1 1.052 1 131.64256564350646 307.4981914919397 0 0 0 0 -5469 1 1.3538 1 138.45033900675878 277.9965242847809 0 0 0 0 -448 1 4.6632 1 81.39151180264395 311.90105105545774 0 0 0 0 -9044 1 1.0501 1 97.73172239889642 296.34892224671563 0 0 0 0 -2928 1 1.8553 1 75.95418008266543 320.3107974446479 0 0 0 0 -9055 1 1.0499 1 119.14180470374541 320.8166363909382 0 0 0 0 -9069 1 1.0488 1 92.43601414056836 291.4552341341589 0 0 0 0 -9075 1 1.0485 1 91.38888472267728 303.08998084627274 0 0 0 0 -6026 1 1.292 1 104.19585806139541 327.5041060071244 0 0 0 0 -9120 1 1.0462 1 94.19607960087819 317.3387898962821 0 0 0 0 -9124 1 1.046 1 115.90352578922544 294.94360040860977 0 0 0 0 -9146 1 1.0448 1 99.34858038332625 310.8753771057241 0 0 0 0 -9147 1 1.0448 1 94.92143383713768 303.4437376920852 0 0 0 0 -9175 1 1.0431 1 123.49405710684623 277.4964572303894 0 0 0 0 -9230 1 1.0405 1 125.54077948030736 277.3931520350234 0 0 0 0 -9236 1 1.0401 1 123.78740354682051 281.95785449404383 0 0 0 0 -8516 1 1.08 1 132.3091704858157 324.5897803247389 0 0 0 0 -9275 1 1.038 1 123.99106339979147 284.85170878079464 0 0 0 0 -9870 1 1.0063 1 127.15724581495458 323.4186374668338 0 0 0 0 -9393 1 1.0312 1 97.45157952128463 292.3389384628481 0 0 0 0 -8572 1 1.0767 1 81.74657470154678 314.72726182689627 0 0 0 0 -2658 1 1.9441 1 130.26736501721092 271.2695101648824 0 0 0 0 -4721 1 1.4604 1 85.72716851908874 310.89918596540036 0 0 0 0 -287 1 5.8529 1 137.87260491918954 313.83406955466864 0 0 0 0 -2275 1 2.1052 1 128.32542247687923 271.7826070828901 0 0 0 0 -1706 1 2.4176 1 75.33859593932232 313.41440037290823 0 0 0 0 -6228 1 1.2679 1 105.51096409250883 329.03528982022584 0 0 0 0 -2377 1 2.0565 1 79.78685966843551 320.963595676366 0 0 -1 0 -7988 1 1.1152 1 102.22245686001654 326.9609024079827 0 0 0 0 -4999 1 1.4203 1 132.26166002078804 318.52090577658396 0 0 0 0 -6867 1 1.2052 1 133.86478352334575 326.10215586927535 0 0 0 0 -4549 1 1.4895 1 135.1517198191699 316.20969382757386 0 0 0 0 -8766 1 1.0654 1 129.65495116572146 324.5580832058068 0 0 0 0 -7015 1 1.1928 1 83.44813309511325 321.1405304523346 0 0 -1 0 -8691 1 1.0703 1 137.18326313869778 275.94542390777974 0 0 0 0 -7079 1 1.1877 1 132.97292530465705 312.93159276556605 0 0 0 0 -7129 1 1.1835 1 131.40285367128246 327.087905900692 0 0 0 0 -2792 1 1.8954 1 131.19609479548592 325.5859249394543 0 0 0 0 -239 1 6.2884 1 131.66602217518755 277.87835980495976 0 0 0 0 -5365 1 1.3683 1 131.84470746649154 267.8205199543588 0 0 0 0 -8880 1 1.0584 1 132.3314047171603 281.45059017168666 0 0 0 0 -5220 1 1.3866 1 120.0458248969111 327.00598948349574 0 0 0 0 -7017 1 1.1923 1 132.6402945127867 326.412991111046 0 0 0 0 -6000 1 1.2946 1 86.58454728017966 323.993973803443 0 0 -1 0 -2013 1 2.2308 1 136.13766405744732 328.5386324692943 0 0 0 0 -2986 1 1.8365 1 138.37144296746797 275.1289622095309 0 0 0 0 -8288 1 1.0957 1 78.33524101659073 321.3940122638143 0 0 -1 0 -9646 1 1.0182 1 78.3736791667506 320.39147942286763 0 0 0 0 -2202 1 2.1361 1 85.0266334658118 324.4862837379381 0 0 -1 0 -3883 1 1.6109 1 135.5295122407219 278.3823570720312 0 0 0 0 -3961 1 1.594 1 80.61194318004253 297.12892724820176 0 0 0 0 -3570 1 1.6761 1 79.08151866900592 297.6464644886011 0 0 0 0 -7844 1 1.1262 1 78.65292300351561 312.69694954091733 0 0 0 0 -2241 1 2.1192 1 79.0189725135264 294.2445662530444 0 0 0 0 -218 1 6.5355 1 78.74925612729298 301.7273840511119 0 0 0 0 -3105 1 1.796 1 83.53064016940573 325.6587276771685 0 0 -1 0 -9872 1 1.0062 1 78.50333533932364 308.54672768978503 0 0 0 0 -5200 1 1.3884 1 78.09634081392103 291.7692512226223 0 0 0 0 -9498 1 1.0261 1 77.88248607339929 293.1079263485926 0 0 0 0 -5244 1 1.3828 1 81.3080076126527 329.4916438792329 0 0 -1 0 -665 1 3.8515 1 84.57951697677923 328.22470499401715 0 0 -1 0 -531 1 4.2597 1 132.7251031874865 330.73946494332216 0 0 0 0 -5097 1 1.4047 1 86.12438450298325 331.37416515434154 0 0 -1 0 -3127 1 1.7854 1 136.79922017786006 277.30410884505415 0 0 0 0 -6282 1 1.262 1 138.12229208640125 276.62961385886143 0 0 0 0 -4816 1 1.4464 1 78.5259321109592 330.2918774623039 0 0 -1 0 -8348 1 1.0907 1 79.43682213642697 309.6203989092657 0 0 0 0 -7022 1 1.1921 1 77.03607980892133 329.6946286252767 0 0 -1 0 -4222 1 1.5465 1 77.08437507784237 321.4746348883777 0 0 -1 0 -7969 1 1.1165 1 75.3245666484431 323.0999532772248 0 0 -1 0 -6504 1 1.2425 1 77.38611468234849 319.8986583079522 0 0 0 0 -8304 1 1.0943 1 78.86050219733139 310.5350823340045 0 0 0 0 -97 1 9.6308 1 136.65836333956216 321.4678568935693 0 0 0 0 -2798 1 1.8938 1 116.996653448269 329.80502447959344 0 0 0 0 -7214 1 1.1771 1 131.6162654267938 328.2729696316047 0 0 0 0 -1681 1 2.4359 1 75.21478206075201 309.3036082201215 0 0 0 0 -841 1 3.4818 1 76.91200543240326 306.9647603537297 0 0 0 0 -3813 1 1.6257 1 107.54037061077442 330.2250074895994 0 0 0 0 -3639 1 1.6646 1 77.37010535785905 313.3753831000353 0 0 0 0 -3395 1 1.7167 1 104.59875670459176 330.20238546367204 0 0 -1 0 -8433 1 1.0857 1 76.64327118543176 304.7861978565359 0 0 0 0 -6090 1 1.2841 1 76.66479566541878 318.86173717229076 0 0 0 0 -9157 1 1.0442 1 74.84165246105393 322.15518510215986 0 0 0 0 -2533 1 1.9985 1 77.43049151961124 309.5951692943401 0 0 0 0 -5930 1 1.302 1 74.85767066959173 327.8051354899585 0 0 -1 0 -4971 1 1.4236 1 137.10943985072683 326.9766154402293 0 0 0 0 -7275 1 1.1729 1 75.36148433808528 291.84434654983676 0 0 0 0 -2364 1 2.0613 1 77.66823750600207 311.5505222200877 0 0 0 0 -5004 1 1.4199 1 106.10280270781625 330.16347018900296 0 0 0 0 -5392 1 1.3646 1 116.41121806492433 331.4502530808184 0 0 0 0 -7459 1 1.1563 1 74.9238855301794 302.065376512813 0 0 0 0 -1974 1 2.257 1 136.78186534374413 330.661847434899 0 0 0 0 -9828 1 1.0087 1 117.53980831393287 331.1086162779587 0 0 0 0 -9009 1 1.0523 1 118.27613523174469 330.41279419174475 0 0 0 0 -1492 1 2.5851 1 74.58193109258819 315.7454476725066 0 0 0 0 -174 1 7.287 1 74.83016676812059 296.2828609891766 0 0 0 0 -3724 1 1.6434 1 74.87546074750604 300.6911191345689 0 0 0 0 -2623 1 1.9589 1 138.1589815017109 328.4209013581579 0 0 0 0 -3086 1 1.8029 1 138.27650844845098 306.4015713166599 0 0 0 0 -4510 1 1.4953 1 112.39961064587723 331.778790038909 0 0 0 0 -3358 1 1.7258 1 74.34443035623215 307.29210743586225 0 0 0 0 -4 1 57.8938 1 167.43490305669187 12.480598299006571 0 0 0 0 -9692 1 1.0159 1 202.18396223208296 64.40973637686173 0 0 0 0 -2721 1 1.9229 1 145.37130620214714 53.29792750025722 0 0 0 0 -68 1 11.2975 1 189.3848713663681 53.420311602365544 0 0 0 0 -89 1 9.8868 1 162.42493443272758 47.67298861405007 0 0 0 0 -99 1 9.6121 1 191.14175674421438 43.27827810211388 0 0 0 0 -1573 1 2.5139 1 143.796707403119 58.28252557561974 0 0 0 0 -211 1 6.6259 1 196.14575586836622 60.260657225640436 0 0 0 0 -4415 1 1.5128 1 200.6171955237987 44.82735985182972 0 0 0 0 -232 1 6.3213 1 150.77845015430597 39.69867473329851 0 0 0 0 -267 1 6.0344 1 178.5891946529838 49.49752119627868 0 0 0 0 -274 1 5.9759 1 147.29571961369828 65.38560795441954 0 0 0 0 -8004 1 1.1142 1 139.78644679695262 55.80199526977982 0 0 0 0 -282 1 5.891 1 198.21725451811994 20.3468347601073 0 0 0 0 -324 1 5.5046 1 187.18438903939176 37.06086644078776 0 0 0 0 -331 1 5.4684 1 182.8627144606131 41.365012024074105 0 0 0 0 -358 1 5.2866 1 181.24256986302308 54.40930989054197 0 0 0 0 -453 1 4.6432 1 141.23524912518607 31.08863899280511 0 0 0 0 -1196 1 2.9083 1 148.00526039906032 50.79094462958894 0 0 0 0 -509 1 4.3332 1 144.1181398658825 41.08733874900177 0 0 0 0 -515 1 4.3165 1 148.83284799988027 47.054336554057336 0 0 0 0 -526 1 4.277 1 186.36510141380754 61.78886571776318 0 0 0 0 -538 1 4.2385 1 155.43178259298713 47.78680386805381 0 0 0 0 -7309 1 1.1696 1 144.82919327755397 54.70653481289112 0 0 0 0 -614 1 3.9792 1 195.24958855714186 48.549656771562894 0 0 0 0 -9777 1 1.0112 1 190.59234746721185 70.0746877408507 0 0 0 0 -650 1 3.8877 1 191.7745414584269 67.93075075272381 0 0 0 0 -711 1 3.7641 1 176.73552679863943 43.125800248427325 0 0 0 0 -8207 1 1.1011 1 202.69371556400645 55.84503239184956 0 0 0 0 -793 1 3.6059 1 174.68717347999217 46.73930820869394 0 0 0 0 -832 1 3.5011 1 160.19417079465552 53.84785547904326 0 0 0 0 -852 1 3.456 1 170.327018506014 48.57537482470595 0 0 0 0 -3468 1 1.6998 1 200.18427773013522 53.82419565751268 0 0 0 0 -922 1 3.3102 1 168.4039228321599 54.28112437060806 0 0 0 0 -928 1 3.2984 1 165.18065458880048 53.65190223215979 0 0 0 0 -827 1 3.5202 1 156.95445761846517 54.99256508287661 0 0 0 0 -987 1 3.1999 1 199.1587291358417 63.98525404974386 0 0 0 0 -1003 1 3.1751 1 191.7326995907544 62.23225376390321 0 0 0 0 -1050 1 3.0905 1 159.82276105122736 41.852070274031796 0 0 0 0 -1855 1 2.3292 1 201.61176181744455 62.873579743966154 0 0 0 0 -1056 1 3.0829 1 147.00981928204436 34.92047415765169 0 0 0 0 -2834 1 1.8844 1 155.08302838959716 53.11057446881022 0 0 0 0 -1113 1 2.9985 1 140.42346962578782 35.998908470061586 0 0 0 0 -1129 1 2.977 1 183.0643812800139 49.37227726327957 0 0 0 0 -1228 1 2.8791 1 185.14601240584136 44.7934394968221 0 0 0 0 -1248 1 2.8511 1 162.7978088834148 55.49552696376587 0 0 0 0 -1262 1 2.8399 1 188.5917628250405 66.90068230253358 0 0 0 0 -1270 1 2.8242 1 174.3002289554162 52.52389618861421 0 0 0 0 -1298 1 2.7944 1 200.81260119547682 58.305718063056176 0 0 0 0 -1323 1 2.7642 1 171.81186154681865 51.28951058861425 0 0 0 0 -1365 1 2.7228 1 181.93085150696774 46.80275900271416 0 0 0 0 -1371 1 2.7123 1 176.33743666645577 54.378882582687034 0 0 0 0 -1374 1 2.7089 1 157.55102551460314 43.535881338982634 0 0 0 0 -5507 1 1.35 1 139.33202954805216 59.82726778823148 0 0 0 0 -1520 1 2.5573 1 169.1708058191405 51.34694383161758 0 0 0 0 -1548 1 2.534 1 143.84696296700452 37.69748393701941 0 0 0 0 -1571 1 2.5163 1 187.6866629657849 69.39597526947284 0 0 0 0 -1628 1 2.4694 1 149.55156171798467 43.81905227435395 0 0 0 0 -1682 1 2.4333 1 197.1718631785376 50.95009813006049 0 0 0 0 -2587 1 1.9756 1 141.82365663985868 61.36844940116745 0 0 0 0 -1734 1 2.4029 1 165.25740483426944 42.39156143977222 0 0 0 0 -1762 1 2.3763 1 173.77112953329703 43.760435167370545 0 0 0 0 -1787 1 2.3642 1 183.1471036106653 61.13855450259513 0 0 0 0 -4359 1 1.5216 1 142.29698080818693 69.8372115533017 0 0 0 0 -1841 1 2.3341 1 150.4386168687852 68.01085755777294 0 0 0 0 -1850 1 2.3308 1 153.89126268257198 42.75897623682124 0 0 0 0 -4328 1 1.5273 1 190.13605459971987 72.96994341771452 0 0 0 0 -1878 1 2.3144 1 153.73531485994954 45.04571251076118 0 0 0 0 -1880 1 2.3128 1 179.19471894978562 40.14005936915654 0 0 0 0 -1923 1 2.2875 1 197.45947692168394 14.146009192278632 0 0 0 0 -1963 1 2.2624 1 155.05336718852266 39.829862487936765 0 0 0 0 -1988 1 2.2488 1 169.41181083335442 45.91433260981643 0 0 0 0 -1992 1 2.2465 1 198.12358637280406 16.36113845869935 0 0 0 0 -2011 1 2.2327 1 144.46120462405756 35.41462047776979 0 0 0 0 -8654 1 1.0722 1 196.6111543276846 54.2748223674768 0 0 0 0 -2070 1 2.198 1 146.09442529269614 37.26075106483592 0 0 0 0 -2092 1 2.1873 1 139.2270439801861 22.73435779210016 0 0 0 0 -2094 1 2.1859 1 141.02975353321995 26.522560873924984 0 0 0 0 -2132 1 2.1636 1 146.7649191241405 69.34362516813556 0 0 0 0 -2161 1 2.1513 1 183.81445501316605 57.07090647590224 0 0 0 0 -9178 1 1.043 1 150.9892353804932 50.35440178920405 0 0 0 0 -2200 1 2.1373 1 198.41826618289352 12.167978801191575 0 0 0 0 -2319 1 2.0804 1 193.77598762617706 63.872252467229146 0 0 0 0 -2333 1 2.0752 1 200.4390486751265 12.62268149850831 0 0 0 0 -2358 1 2.0624 1 191.86349587031353 59.63046326858503 0 0 0 0 -1710 1 2.4158 1 189.09702558989565 71.3919050572149 0 0 0 0 -1187 1 2.9214 1 141.28502373562748 59.024547373426344 0 0 0 0 -2467 1 2.0231 1 151.87172562320322 46.186212202776204 0 0 0 0 -878 1 3.4002 1 202.72040615159565 43.595745986773146 0 0 0 0 -2493 1 2.0132 1 198.15446666422758 48.0028578691396 0 0 0 0 -2503 1 2.0091 1 170.84062059213258 44.35876951518477 0 0 0 0 -8297 1 1.0948 1 145.53520905342077 49.155260064464116 0 0 0 0 -2512 1 2.0065 1 195.72204999519133 55.47965993043764 0 0 0 0 -2514 1 2.0056 1 156.05067423866785 59.84025284390447 0 0 0 0 -4162 1 1.5565 1 144.96873339097246 61.89416117924002 0 0 0 0 -8393 1 1.0879 1 188.85081671620406 73.11771961018712 0 0 0 0 -2562 1 1.9844 1 172.43351758299917 55.364036824241005 0 0 0 0 -4883 1 1.4361 1 146.78062300520506 48.99757201739834 0 0 0 0 -2605 1 1.9658 1 181.09253011175073 44.6142483060502 0 0 0 0 -2636 1 1.9551 1 167.9138536898013 49.547474900272704 0 0 0 0 -9852 1 1.0074 1 183.40138219442647 52.162615223390745 0 0 0 0 -9922 1 1.0042 1 144.32569377448036 67.17393882477562 0 0 0 0 -2716 1 1.9244 1 174.66168509068834 49.479521816186114 0 0 0 0 -2730 1 1.9185 1 153.7940274963105 62.38179045185192 0 0 0 0 -2733 1 1.9173 1 178.18626303583187 45.56344584619356 0 0 0 0 -2739 1 1.9144 1 190.18253406659164 34.995696084477224 0 0 0 0 -2763 1 1.9076 1 196.30028670078514 66.54168726183443 0 0 0 0 -950 1 3.245 1 144.47029909728093 70.74479782668953 0 0 0 0 -2800 1 1.8936 1 167.3557179394429 42.36411964271972 0 0 0 0 -8480 1 1.0822 1 202.61259462877928 54.76580248673325 0 0 0 0 -2820 1 1.8889 1 191.21426899687847 33.50879173197423 0 0 0 0 -2823 1 1.8873 1 189.46280407513842 61.128603869764916 0 0 0 0 -8158 1 1.104 1 196.8889280901336 12.553109172753652 0 0 0 0 -2837 1 1.8831 1 179.33232702740935 42.200161774696014 0 0 0 0 -2844 1 1.8811 1 172.4173262188423 45.34471069280814 0 0 0 0 -2845 1 1.8808 1 186.8933700323556 65.29657388822878 0 0 0 0 -2873 1 1.8699 1 158.47398682575871 58.12233301841527 0 0 0 0 -2882 1 1.8677 1 194.546727771298 67.20257201060274 0 0 0 0 -2884 1 1.867 1 199.31954154464478 66.4094558140412 0 0 0 0 -2904 1 1.8621 1 151.10540364018487 63.46702659278224 0 0 0 0 -2935 1 1.8515 1 172.85229087041665 49.27972437863089 0 0 0 0 -2777 1 1.9027 1 140.75310535600377 52.03093783442271 0 0 0 0 -2992 1 1.8355 1 196.4264485649714 64.42681950227889 0 0 0 0 -2998 1 1.8332 1 167.72052698413697 44.395004416351185 0 0 0 0 -3000 1 1.8299 1 189.3252680201627 64.78761573095909 0 0 0 0 -3052 1 1.8119 1 186.60004175632815 47.563711454726764 0 0 0 0 -3076 1 1.8062 1 142.542288776202 35.01402426441537 0 0 0 0 -3077 1 1.8058 1 179.2881243340836 44.16475500258153 0 0 0 0 -3078 1 1.8057 1 199.62901812658225 56.38053942590167 0 0 0 0 -3079 1 1.8056 1 143.94833079890572 33.12140760209842 0 0 0 0 -3115 1 1.7913 1 149.1371966919232 36.03075086549062 0 0 0 0 -3124 1 1.7862 1 157.4723515991058 41.300010999723476 0 0 0 0 -3131 1 1.784 1 182.05015647569698 57.81741503228492 0 0 0 0 -3173 1 1.7728 1 194.93111169836573 65.37404372792595 0 0 0 0 -3193 1 1.7675 1 182.90665323976938 44.900121603291666 0 0 0 0 -28 1 18.2798 1 201.16791596694347 32.67304949788373 0 0 0 0 -3253 1 1.7523 1 178.63323693126299 57.798860818463055 0 0 0 0 -3257 1 1.7511 1 185.7941918140613 58.84122486922114 0 0 0 0 -8550 1 1.078 1 140.50079234457633 61.990918169229936 0 0 0 0 -3388 1 1.7181 1 190.7429441170952 36.65493054176478 0 0 0 0 -3389 1 1.7178 1 199.2813731982915 14.929606032685038 0 0 0 0 -3741 1 1.6409 1 196.4673755292523 44.97490409630405 0 0 0 0 -7183 1 1.1796 1 143.1037340794781 43.587975269536486 0 0 0 0 -3463 1 1.7006 1 141.8161302288329 37.789159696361196 0 0 0 0 -9728 1 1.0138 1 142.41078248545776 68.58959883153402 0 0 0 0 -3473 1 1.6992 1 191.88016862649243 29.337901528147963 0 0 0 0 -5609 1 1.3358 1 197.01610397419975 11.148214550854487 0 0 0 0 -3498 1 1.6939 1 184.22879301659523 46.898627046972464 0 0 0 0 -3572 1 1.6758 1 186.28200210137663 40.49455864201787 0 0 0 0 -6365 1 1.2555 1 193.35036904478656 38.402956487434764 0 0 0 0 -6336 1 1.2583 1 199.59031591011896 43.67691418380188 0 0 0 0 -3607 1 1.6694 1 155.42475666404277 44.00184018563294 0 0 0 0 -3630 1 1.6658 1 182.63252111259277 37.94520256483348 0 0 0 0 -3631 1 1.6656 1 191.04675263945248 64.64969894990817 0 0 0 0 -3671 1 1.6555 1 176.0497403223024 56.53851367944991 0 0 0 0 -3677 1 1.6538 1 185.17858980768418 48.50307054880293 0 0 0 0 -3690 1 1.6513 1 170.91114302401851 54.44259937002323 0 0 0 0 -3711 1 1.6447 1 150.21727957733685 69.96389209705444 0 0 0 0 -3716 1 1.6444 1 152.8025850863551 63.88803999267905 0 0 0 0 -3719 1 1.6441 1 188.46480529632126 59.75178128243044 0 0 0 0 -3756 1 1.6389 1 148.6243797450089 69.73762581599651 0 0 0 0 -9 1 36.512 1 168.78682803519894 74.1874333029404 0 0 0 0 -9946 1 1.0031 1 138.87765374642035 29.549812370657698 0 0 0 0 -3793 1 1.6315 1 151.9094586691127 44.39929936657792 0 0 0 0 -3853 1 1.6168 1 195.67492727562558 52.242121548083354 0 0 0 0 -3860 1 1.6157 1 170.40469821433382 52.93355713061048 0 0 0 0 -3880 1 1.6117 1 179.90771787263108 45.92824517511735 0 0 0 0 -3886 1 1.6103 1 142.09624116275583 28.056720000080688 0 0 0 0 -3908 1 1.6062 1 147.1105600772802 41.188692239433735 0 0 0 0 -4051 1 1.5742 1 199.90118593138448 17.04132556805797 0 0 0 0 -4123 1 1.5629 1 185.27652816126184 64.59025721862265 0 0 0 0 -4170 1 1.5551 1 157.15534417730936 45.555732115851754 0 0 0 0 -4176 1 1.5534 1 186.61413832332772 67.70276099167764 0 0 0 0 -9993 1 1.0003 1 156.48800509015072 52.81379885916434 0 0 0 0 -4279 1 1.5361 1 144.27385529782214 31.036238925417084 0 0 0 0 -4298 1 1.5326 1 180.2469276509674 57.56266493939955 0 0 0 0 -2208 1 2.1328 1 142.13030024089957 56.72821825772137 0 0 0 0 -9328 1 1.0346 1 146.5743175623833 70.89309961622666 0 0 0 0 -4344 1 1.5238 1 171.97244840414126 43.03934680168712 0 0 0 0 -3494 1 1.6944 1 197.73699625446827 52.89474016624095 0 0 0 0 -4385 1 1.5171 1 175.18474365044943 41.080206945712064 0 0 0 0 -9291 1 1.0372 1 202.08628937235886 60.34905434512268 0 0 0 0 -4419 1 1.5118 1 169.96408589288222 42.88956247413507 0 0 0 0 -7918 1 1.1196 1 189.60980428561365 69.7585396011234 0 0 0 0 -4521 1 1.4942 1 156.45665181714315 51.5994150539334 0 0 0 0 -6874 1 1.2045 1 138.89649562946656 37.32622174390208 0 0 0 0 -6907 1 1.2014 1 192.05157419984602 36.05686661890098 0 0 0 0 -4590 1 1.4821 1 140.3626550886078 33.88929434914517 0 0 0 0 -4606 1 1.4795 1 150.88345961436423 65.08439987196724 0 0 0 0 -3609 1 1.669 1 143.42090185989596 62.06022285111542 0 0 0 0 -4689 1 1.466 1 146.0333501313588 39.022275387952796 0 0 0 0 -4725 1 1.4596 1 150.00905118831383 71.48309650235342 0 0 0 0 -7612 1 1.1433 1 198.98061577422578 57.66908144354708 0 0 0 0 -4773 1 1.452 1 190.1339563205727 59.68118313739035 0 0 0 0 -4801 1 1.4487 1 193.7643888459426 26.157009032080218 0 0 0 0 -4819 1 1.446 1 145.22321354723528 32.136111407013566 0 0 0 0 -4833 1 1.4446 1 151.44707509251137 66.43341293869116 0 0 0 0 -4859 1 1.4402 1 140.59870729421792 28.209671622757952 0 0 0 0 -4881 1 1.4364 1 178.0040207733717 53.15855543389949 0 0 0 0 -4886 1 1.435 1 198.0750321417113 56.772703768560724 0 0 0 0 -4683 1 1.4672 1 146.4277933211753 61.87954563996004 0 0 0 0 -4977 1 1.4232 1 179.77766981320045 58.86566173476776 0 0 0 0 -5019 1 1.4178 1 167.23964161854656 51.043331477871384 0 0 0 0 -5024 1 1.4174 1 152.20262010201185 65.23828524259534 0 0 0 0 -5109 1 1.4026 1 144.38550757370928 63.20879246058979 0 0 0 0 -5120 1 1.3999 1 155.79485947458687 42.520084760400906 0 0 0 0 -5129 1 1.3987 1 200.59422334734853 14.265004264969923 0 0 0 0 -5138 1 1.3978 1 157.86865971177284 51.547272931153415 0 0 0 0 -5210 1 1.3875 1 150.0997983123083 51.144204015184066 0 0 0 0 -5192 1 1.3896 1 193.5147392650729 65.97492688103296 0 0 0 0 -3998 1 1.5854 1 141.35199942677121 40.180267271865844 0 0 0 0 -5247 1 1.3826 1 160.32433951398033 56.230451555550815 0 0 0 0 -5284 1 1.3778 1 189.53403491513646 62.63750203826493 0 0 0 0 -5287 1 1.3772 1 196.59441441279637 17.14905432904142 0 0 0 0 -6586 1 1.2335 1 140.92735331649865 55.64307315774558 0 0 0 0 -5355 1 1.369 1 188.97487986216387 32.801305099841514 0 0 0 0 -2448 1 2.0279 1 142.00639371520074 71.58700139813516 0 0 0 0 -5414 1 1.3615 1 183.81817824515355 37.07806716531865 0 0 0 0 -5423 1 1.3607 1 192.3138223335391 65.39531347216047 0 0 0 0 -5435 1 1.3585 1 184.2812394582513 58.72319982183751 0 0 0 0 -5451 1 1.3557 1 140.23803391694332 24.156938179016063 0 0 0 0 -2433 1 2.0333 1 144.03225145526847 56.054039761305276 0 0 0 0 -5527 1 1.3482 1 188.5732606184998 63.46189253146841 0 0 0 0 -8992 1 1.053 1 201.58829490507446 67.06252479396441 0 0 0 0 -1415 1 2.6661 1 140.24331675363177 70.08305777549077 0 0 0 0 -5584 1 1.3391 1 168.91225606090865 41.99900573188434 0 0 0 0 -4839 1 1.4432 1 140.26171536330003 54.554174642980485 0 0 0 0 -5610 1 1.3357 1 194.65534388509886 56.69823520555045 0 0 0 0 -5636 1 1.3333 1 172.51817137927324 47.76638039938575 0 0 0 0 -5651 1 1.3322 1 200.14728528814072 23.13889187947009 0 0 0 0 -5681 1 1.3288 1 176.353693510443 52.38303879891212 0 0 0 0 -1697 1 2.4271 1 198.1960799748176 54.88791563756147 0 0 0 0 -5777 1 1.3163 1 155.30494160962934 50.51501152841611 0 0 0 0 -5788 1 1.3155 1 155.03694300321055 61.15684285737569 0 0 0 0 -5766 1 1.3179 1 153.09780910535477 49.16153971141273 0 0 0 0 -5811 1 1.3134 1 201.45478482430755 16.428334388405453 0 0 0 0 -5818 1 1.3126 1 172.79128400675964 53.83059250855211 0 0 0 0 -7411 1 1.1603 1 156.25378450189066 57.216309273761695 0 0 0 0 -5830 1 1.3115 1 197.51773374938438 65.49415983205823 0 0 0 0 -5873 1 1.3082 1 169.2443042247871 44.17028482673238 0 0 0 0 -914 1 3.3299 1 197.43871846687063 42.707231649407845 0 0 0 0 -5908 1 1.3043 1 185.95427766202894 66.47001305151116 0 0 0 0 -8035 1 1.1125 1 139.66709766677147 68.31380421587727 0 0 0 0 -5969 1 1.2977 1 174.63353366977617 55.32324994172607 0 0 0 0 -5971 1 1.2974 1 161.3603517877381 56.9154622123069 0 0 0 0 -5996 1 1.2951 1 167.6865179459051 45.94155962433268 0 0 0 0 -6048 1 1.289 1 173.00848431686276 42.10284633590371 0 0 0 0 -7006 1 1.1938 1 140.01982103185108 40.09025556590015 0 0 0 0 -6075 1 1.2859 1 197.10591946613286 46.73715432607596 0 0 0 0 -9968 1 1.0022 1 157.73727495273366 50.411659627479196 0 0 0 0 -6113 1 1.2824 1 139.83005709489197 25.379977428266514 0 0 0 0 -2106 1 2.1801 1 151.44884138650266 48.8648587930277 0 0 0 0 -6193 1 1.2724 1 144.17106505188468 68.27879344038769 0 0 0 0 -6210 1 1.2706 1 195.62914359075262 24.510572432500275 0 0 0 0 -2091 1 2.1878 1 139.112881596377 53.163076869233265 0 0 0 0 -6672 1 1.2248 1 141.20219619205537 49.63863422526563 0 0 0 0 -6245 1 1.2657 1 147.25593835393767 38.47370536457905 0 0 0 0 -6266 1 1.2634 1 162.6399380649136 53.27684440335619 0 0 0 0 -626 1 3.9408 1 201.05248164588608 47.51451199462666 0 0 0 0 -6369 1 1.2552 1 171.7838499282567 46.74916979017446 0 0 0 0 -7194 1 1.1785 1 157.57251350090723 52.76326181471689 0 0 0 0 -7603 1 1.1438 1 202.93384908618938 61.026431592188814 0 0 0 0 -6440 1 1.2481 1 178.59853449809304 56.318869502246876 0 0 0 0 -1494 1 2.5842 1 138.90631656208782 57.8178536253527 0 0 0 0 -6518 1 1.2416 1 197.83730988946684 66.67449314632083 0 0 0 0 -6530 1 1.2395 1 171.73233637488494 53.2608470801349 0 0 0 0 -6531 1 1.2395 1 167.19243887739262 52.367743619144136 0 0 0 0 -6544 1 1.238 1 183.03461735884565 58.95338306508091 0 0 0 0 -6555 1 1.237 1 194.98808856800076 23.314489067238718 0 0 0 0 -275 1 5.966 1 139.57700778604763 43.587966046470854 0 0 0 0 -6596 1 1.232 1 177.23886729943192 57.324934148014904 0 0 0 0 -6642 1 1.2279 1 146.94006667389337 44.93276073608341 0 0 0 0 -6649 1 1.2268 1 162.04384419300868 41.81643792476147 0 0 0 0 -6659 1 1.2264 1 171.8305564046359 41.6894073911239 0 0 0 0 -6677 1 1.2243 1 184.08513029564955 38.302464365418224 0 0 0 0 -6681 1 1.2238 1 177.49381028018763 40.62358576098401 0 0 0 0 -6693 1 1.223 1 187.85636458855979 33.78987189139448 0 0 0 0 -6718 1 1.2206 1 186.6041064936927 46.127727008848126 0 0 0 0 -6732 1 1.2194 1 156.53368632738983 50.27463722985179 0 0 0 0 -6756 1 1.2178 1 181.89505515851394 59.33161161110542 0 0 0 0 -6762 1 1.217 1 200.61754882708746 65.62330224557545 0 0 0 0 -5156 1 1.3952 1 140.26035462432682 60.81257922118797 0 0 0 0 -6801 1 1.2126 1 180.76282336775336 59.699336665415785 0 0 0 0 -6802 1 1.2125 1 147.66731473928456 70.72238429886869 0 0 0 0 -6825 1 1.21 1 166.17279699448574 51.703651933485254 0 0 0 0 -5979 1 1.2967 1 141.13060261707784 46.82200936897972 0 0 0 0 -6844 1 1.2083 1 175.3078868826407 50.86549764918791 0 0 0 0 -6857 1 1.2069 1 166.36136657347558 43.78524398084271 0 0 0 0 -6919 1 1.2004 1 156.75708224459729 40.01142410934576 0 0 0 0 -2808 1 1.8911 1 201.59439373720883 22.66550809755212 0 0 0 0 -5251 1 1.3817 1 139.91422518100353 72.02192511549659 0 0 0 0 -6952 1 1.1981 1 146.187214509253 32.98535857923628 0 0 0 0 -6953 1 1.1981 1 189.3825770111493 68.68693485918882 0 0 0 0 -6979 1 1.196 1 188.99805585853858 34.06162451186114 0 0 0 0 -6982 1 1.1958 1 181.6619653675788 51.23448591958239 0 0 0 0 -7002 1 1.1941 1 191.71918235116357 34.937621043719815 0 0 0 0 -7004 1 1.1939 1 184.32627967316105 63.56644581709857 0 0 0 0 -7051 1 1.1895 1 142.23197437855606 39.12540451329247 0 0 0 0 -5967 1 1.298 1 202.55259675236957 67.64895101185071 0 0 0 0 -7062 1 1.189 1 147.05278228923177 39.813651421719044 0 0 0 0 -7094 1 1.1866 1 194.30779538599313 24.760042212083697 0 0 0 0 -8310 1 1.0938 1 146.15415402750799 51.52189030912838 0 0 0 0 -7154 1 1.1818 1 200.40644632916295 15.78607463657147 0 0 0 0 -7169 1 1.1806 1 190.33688498582492 65.87360285469681 0 0 0 0 -7170 1 1.1805 1 199.16607181857447 13.57108214145941 0 0 0 0 -5208 1 1.3878 1 142.0064033315288 48.638037141255616 0 0 0 0 -1265 1 2.8347 1 199.60186155426425 51.63555220286834 0 0 0 0 -3167 1 1.7749 1 202.07755221913527 65.76610455586336 0 0 0 0 -7237 1 1.1751 1 187.18305162046602 59.219810835649206 0 0 0 0 -7276 1 1.1728 1 148.03297070938416 37.0423627738056 0 0 0 0 -7306 1 1.1699 1 195.5663717961463 53.91363462117745 0 0 0 0 -7363 1 1.1644 1 176.9681743963824 46.385574411750284 0 0 0 0 -7365 1 1.1642 1 157.12332844922878 58.71437834362221 0 0 0 0 -7366 1 1.1642 1 173.82581183180707 54.44695727611628 0 0 0 0 -7876 1 1.1231 1 145.29104676684776 68.6546359445512 0 0 0 0 -4026 1 1.5784 1 199.13828728343367 49.49260450512272 0 0 0 0 -7457 1 1.1564 1 184.4081319205264 59.94216524054797 0 0 0 0 -7461 1 1.1562 1 173.65840665310233 50.642419538058036 0 0 0 0 -7487 1 1.1537 1 168.59572936145778 43.18106093096112 0 0 0 0 -7535 1 1.1499 1 173.8745963347748 41.26715382781328 0 0 0 0 -6478 1 1.2455 1 198.17445551972762 10.582195212215805 0 0 0 0 -7607 1 1.1436 1 145.28200490526993 33.72153736957944 0 0 0 0 -6375 1 1.2547 1 145.2333073078176 43.544672352284636 0 0 0 0 -7634 1 1.1418 1 192.77203811103186 48.315072955294276 0 0 0 0 -7717 1 1.1353 1 143.06694540225695 28.96896336622889 0 0 0 0 -73 1 10.8403 1 150.2769988485894 57.203935104666456 0 0 0 0 -7760 1 1.1315 1 150.74357864756166 45.126674037076064 0 0 0 0 -9738 1 1.0132 1 140.69754997804105 50.61092346508964 0 0 0 0 -7794 1 1.1291 1 180.5968934223107 38.93823388205925 0 0 0 0 -7833 1 1.127 1 199.9480413037762 60.0080561813244 0 0 0 0 -9774 1 1.0113 1 178.14827997611985 54.3504878704079 0 0 0 0 -3423 1 1.7105 1 201.73967192513282 53.23044572899135 0 0 0 0 -9770 1 1.0115 1 141.43962415697996 68.74124259491816 0 0 0 0 -7923 1 1.1194 1 142.5873905795052 33.58981859598684 0 0 0 0 -7958 1 1.1172 1 177.37729907135596 56.16425382822035 0 0 0 0 -7991 1 1.115 1 147.96952818408317 44.50708788802138 0 0 0 0 -7997 1 1.1147 1 155.0917190421179 41.51238890516338 0 0 0 0 -8007 1 1.1141 1 159.00706679347232 51.934268693983725 0 0 0 0 -4880 1 1.4368 1 152.6793899320869 47.64008741116333 0 0 0 0 -8031 1 1.1128 1 186.0449928383357 41.85779419454782 0 0 0 0 -8033 1 1.1127 1 163.23159911790358 41.798670354012444 0 0 0 0 -8034 1 1.1126 1 174.4974901118978 42.192693340749805 0 0 0 0 -8040 1 1.1122 1 190.15932437291443 63.63990298999077 0 0 0 0 -8059 1 1.1105 1 182.72962103069116 51.38144772556127 0 0 0 0 -4933 1 1.4281 1 143.30990748385258 74.00842485213299 0 0 0 0 -8111 1 1.1071 1 170.67276023587542 41.797109826444554 0 0 0 0 -7905 1 1.1209 1 138.71885160139115 56.053312320643926 0 0 0 0 -8254 1 1.0975 1 187.6243811461989 64.10850609767726 0 0 0 0 -2505 1 2.0087 1 201.38366615465122 18.03131842531269 0 0 0 0 -8301 1 1.0946 1 164.6947018727732 55.84070928510279 0 0 0 0 -8309 1 1.094 1 173.75695764371812 56.089258424069776 0 0 0 0 -8356 1 1.0904 1 143.72191768051434 29.858382960402505 0 0 0 0 -8363 1 1.0896 1 195.0911202879634 51.04991278726724 0 0 0 0 -8365 1 1.0895 1 181.60124008638454 60.44336270275741 0 0 0 0 -4028 1 1.5783 1 192.44318544020302 37.35915429213544 0 0 0 0 -8445 1 1.0847 1 152.24039387629978 43.08947701714997 0 0 0 0 -8448 1 1.0844 1 152.34681131010728 62.6957080662214 0 0 0 0 -8459 1 1.084 1 200.35619800904456 55.173210577265955 0 0 0 0 -8463 1 1.0836 1 185.80505856773408 42.92722292461874 0 0 0 0 -8470 1 1.0831 1 171.04814526393773 45.87530564959804 0 0 0 0 -3462 1 1.7006 1 144.69420271344998 60.14007937824698 0 0 0 0 -8621 1 1.0737 1 196.68978047250044 23.634859311481847 0 0 0 0 -8648 1 1.0723 1 151.20414187091677 43.31256520831098 0 0 0 0 -8657 1 1.0719 1 168.1080415530302 48.048064907577 0 0 0 0 -8674 1 1.0712 1 159.41119704389993 57.03410795376141 0 0 0 0 -8681 1 1.0709 1 148.4389988032825 42.4817637999492 0 0 0 0 -9804 1 1.0097 1 196.70314684712548 15.601083569979714 0 0 0 0 -8708 1 1.0694 1 196.86661239967302 56.48783185995333 0 0 0 0 -8809 1 1.0628 1 201.18040985731707 64.6388711843226 0 0 0 0 -8811 1 1.0627 1 156.10536679934143 58.312391696066754 0 0 0 0 -8812 1 1.0626 1 180.310800375938 43.27354103244338 0 0 0 0 -8826 1 1.0617 1 157.34257871643646 57.23655513812024 0 0 0 0 -8870 1 1.059 1 180.96465918957844 58.6307638047295 0 0 0 0 -6361 1 1.256 1 140.46458894805968 56.77272817080254 0 0 0 0 -8980 1 1.0537 1 190.91756913524947 30.24886678324175 0 0 0 0 -8981 1 1.0536 1 157.3373200372841 49.520869348312566 0 0 0 0 -8994 1 1.053 1 154.11124773016644 41.13135211872757 0 0 0 0 -1180 1 2.9277 1 140.95766651863295 73.8006739630468 0 0 0 0 -8017 1 1.1136 1 155.19497814108345 51.67727893792952 0 0 0 0 -9100 1 1.047 1 142.56363661646785 36.44337812022182 0 0 0 0 -9143 1 1.0449 1 176.3606386569971 40.56609931733797 0 0 0 0 -9156 1 1.0442 1 156.0837939849548 41.11555752394348 0 0 0 0 -9162 1 1.044 1 166.68394626085083 55.54314733552379 0 0 0 0 -9240 1 1.04 1 200.5916052356036 67.00592498051023 0 0 0 0 -9271 1 1.0381 1 191.5429093977019 70.35736613775116 0 0 0 0 -5942 1 1.3005 1 202.474414911543 57.0688286277558 0 0 0 0 -9297 1 1.0367 1 168.17798454558655 46.99766375143038 0 0 0 0 -6012 1 1.2934 1 159.08797728889513 55.92853512308937 0 0 0 0 -9355 1 1.0334 1 143.30220291213 68.9991859535423 0 0 0 0 -9398 1 1.0308 1 192.83565998281762 58.454737584029246 0 0 0 0 -9258 1 1.0389 1 140.12268557713045 49.783385352179614 0 0 0 0 -9422 1 1.0295 1 178.04962047344284 55.341455789332976 0 0 0 0 -9518 1 1.0249 1 165.70400976834773 55.715520509586185 0 0 0 0 -9570 1 1.022 1 160.34517303979345 57.44732734978114 0 0 0 0 -9586 1 1.0215 1 158.31233286555772 56.74725306895516 0 0 0 0 -9589 1 1.0213 1 170.16083574359675 55.50820960245728 0 0 0 0 -9602 1 1.0205 1 155.92748136606204 45.222179715917264 0 0 0 0 -9609 1 1.0199 1 183.72404680859017 51.208728083221146 0 0 0 0 -9614 1 1.0199 1 192.29901678616733 64.2287984046492 0 0 0 0 -3200 1 1.7663 1 200.88766196385663 61.024180304081625 0 0 0 0 -5763 1 1.3187 1 201.42978109580903 54.67101143977719 0 0 0 0 -6211 1 1.2704 1 201.44259610225507 15.181359076480542 0 0 0 0 -6212 1 1.2703 1 199.60225589750976 42.305448271901206 0 0 0 0 -9718 1 1.0143 1 174.74094397531326 56.436092571207986 0 0 0 0 -9729 1 1.0138 1 148.85203552579208 68.47235456423081 0 0 0 0 -9756 1 1.0126 1 196.08099568243318 46.220221759300706 0 0 0 0 -9768 1 1.0115 1 176.5667243448747 45.43848350932208 0 0 0 0 -381 1 5.0592 1 144.24441247311336 46.427112128815445 0 0 0 0 -9789 1 1.0103 1 198.94868203668014 53.39558858526241 0 0 0 0 -2046 1 2.2141 1 190.40188903305108 31.74384277808749 0 0 0 0 -6235 1 1.2668 1 196.01075562854263 40.93283205172323 0 0 0 0 -1331 1 2.7556 1 198.58492208555592 45.41872859052287 0 0 0 0 -4319 1 1.5293 1 149.87972264234065 49.733110297830656 0 0 0 0 -1775 1 2.3711 1 146.9194086358765 43.1451642962296 0 0 0 0 -8692 1 1.0703 1 196.45299050794014 53.26429428262619 0 0 0 0 -7107 1 1.1852 1 151.39813321009538 51.340299713972925 0 0 0 0 -5938 1 1.3012 1 146.11394862007577 50.143375708158715 0 0 0 0 -1291 1 2.8022 1 153.35720879922138 51.15916493506272 0 0 0 0 -4394 1 1.5158 1 143.12195996969953 60.23020080306481 0 0 0 0 -8490 1 1.0816 1 146.8004201784394 52.37927306577261 0 0 0 0 -2413 1 2.0441 1 201.92370562405983 11.281489377098662 0 0 0 0 -6883 1 1.2038 1 191.22621445666775 37.95386365143935 0 0 0 0 -9781 1 1.011 1 145.7287012969855 60.91186252772426 0 0 0 0 -7174 1 1.1803 1 144.0054482611314 72.90672070659005 0 0 0 0 -5547 1 1.3444 1 200.8101177957537 42.4075654542417 0 0 0 0 -9255 1 1.0391 1 142.8078123294523 72.88781071166868 0 0 0 0 -523 1 4.2856 1 143.54600679763786 50.94911625162572 0 0 0 0 -1212 1 2.8963 1 142.4297791310241 54.26869312514558 0 0 0 0 -6233 1 1.2671 1 187.58628838291452 72.42834563901123 0 0 0 0 -3478 1 1.6983 1 201.3377700952189 56.14195428810435 0 0 0 0 -2449 1 2.0275 1 140.41239459232807 48.27175271137261 0 0 0 0 -3805 1 1.628 1 202.00466188407026 50.029730708956876 0 0 0 0 -8886 1 1.058 1 140.6877557769012 53.44063322893388 0 0 0 0 -2832 1 1.8848 1 200.0214958715108 10.792788907608422 0 0 0 0 -2207 1 2.1329 1 140.0883047022005 38.479404978943194 0 0 0 0 -279 1 5.9326 1 141.43430164191446 65.29523292326367 0 0 0 0 -6840 1 1.2084 1 190.88095175732235 71.25143205559553 0 0 0 0 -6559 1 1.2364 1 187.3472570465462 71.20793180230068 0 0 0 0 -4703 1 1.4644 1 139.37169378844965 51.17069213044205 0 0 0 0 -5575 1 1.341 1 201.76935262434495 13.611637290129512 0 0 0 0 -3587 1 1.6739 1 201.72238336233852 51.58686211555129 0 0 0 0 -9034 1 1.0509 1 202.49457671981042 12.679357329419831 0 0 0 0 -4305 1 1.5318 1 187.7575065348747 73.80550358144362 0 0 0 0 -3983 1 1.5898 1 139.00918201109823 47.24879787797793 0 0 0 0 -2268 1 2.1075 1 138.98442486630634 61.881441775283704 0 0 0 0 -8506 1 1.0805 1 138.89137633853667 71.44637255311824 0 0 0 0 -5194 1 1.3895 1 138.93817635937816 54.88466862908106 0 0 0 0 -3761 1 1.6377 1 138.7080120922093 24.551448461246085 0 0 0 0 -3757 1 1.6381 1 138.74441935803196 20.202366123270842 0 0 0 0 -20 1 21.6436 1 189.63939143223917 98.20442070968687 0 0 0 0 -3574 1 1.675 1 146.17010193412486 79.34643767497627 0 0 0 0 -27 1 19.5342 1 170.75772919641372 123.45559614127748 0 0 0 0 -71 1 11.1136 1 151.864473907488 119.4544567612856 0 0 0 0 -112 1 9.3152 1 151.04393355079665 95.70287807482147 0 0 0 0 -119 1 9.0933 1 168.06808367924523 102.84580690913519 0 0 0 0 -120 1 9.0861 1 163.06749762894432 110.31151611423412 0 0 0 0 -9949 1 1.0031 1 192.48761437527764 86.52842907103846 0 0 0 0 -152 1 7.5919 1 145.28996613477116 84.31296820448036 0 0 0 0 -164 1 7.4478 1 175.26947167825486 97.15542608925055 0 0 0 0 -181 1 7.1776 1 158.8353571964934 131.22226640379392 0 0 0 0 -226 1 6.3752 1 190.2084519654564 128.2518462172936 0 0 0 0 -1145 1 2.9663 1 139.71136197611068 91.0810227795144 0 0 0 0 -255 1 6.1632 1 176.5020478335128 105.31790600805564 0 0 0 0 -258 1 6.1555 1 172.68532326985311 109.98889276864931 0 0 0 0 -9731 1 1.0137 1 194.99877719432223 86.82115551423504 0 0 0 0 -291 1 5.8215 1 188.55781268052257 122.39922490044349 0 0 0 0 -295 1 5.8053 1 153.51955845322934 103.8076587372172 0 0 0 0 -298 1 5.7483 1 147.4962299949772 112.27187129797845 0 0 0 0 -1093 1 3.0275 1 201.86816903208134 125.39260824048228 0 0 0 0 -333 1 5.4673 1 184.16012617888728 114.70926001472554 0 0 0 0 -6070 1 1.2866 1 147.12920581286255 108.78567911171663 0 0 0 0 -6661 1 1.226 1 187.56007520686208 137.4282949623774 0 0 0 0 -2026 1 2.224 1 192.32901154368005 134.94002519631272 0 0 0 0 -7059 1 1.1892 1 191.25042480894976 80.11154691877037 0 0 0 0 -390 1 4.9878 1 149.41438656536786 88.85945487719937 0 0 0 0 -1052 1 3.0895 1 149.0464276612842 80.63540929643501 0 0 0 0 -428 1 4.7669 1 157.791857283909 97.15446200682086 0 0 0 0 -429 1 4.7621 1 188.5400446942812 117.2162850149764 0 0 0 0 -435 1 4.7179 1 169.91202955288387 94.64969655310239 0 0 0 0 -443 1 4.6714 1 182.40741350923676 120.53878240953848 0 0 0 0 -455 1 4.6375 1 188.8992165225512 78.35784860185994 0 0 0 0 -467 1 4.5825 1 187.36932799867787 82.69410761423867 0 0 0 0 -471 1 4.5402 1 156.62798867222378 108.17327060383892 0 0 0 0 -7970 1 1.1165 1 196.01628852543135 137.38561031544492 0 0 0 0 -9301 1 1.0364 1 141.17454431269397 89.810772877644 0 0 0 0 -3779 1 1.6339 1 193.27271273942276 133.27450582562994 0 0 0 0 -537 1 4.2398 1 180.3484818001413 108.66151639637216 0 0 0 0 -551 1 4.196 1 162.48544979427678 99.27993578526959 0 0 0 0 -559 1 4.1755 1 192.75559434884482 116.0651554788602 0 0 0 0 -7442 1 1.1575 1 144.44178883149 123.70945002900349 0 0 0 0 -607 1 3.9975 1 159.43222440816288 102.95072457306121 0 0 0 0 -612 1 3.9842 1 198.9436891283467 85.96850762868569 0 0 0 0 -8321 1 1.0926 1 146.36936356112196 126.80276807034936 0 0 0 0 -641 1 3.9108 1 149.1240808251011 105.7702389244359 0 0 0 0 -648 1 3.8946 1 158.24411676439343 136.67702199383427 0 0 0 0 -666 1 3.8513 1 158.3764372838559 116.01973954100077 0 0 0 0 -696 1 3.7928 1 153.6339544013414 129.6247825971939 0 0 0 0 -9302 1 1.0362 1 186.74026711653488 125.25582266432355 0 0 0 0 -765 1 3.651 1 188.49670466160356 113.13015077216184 0 0 0 0 -7540 1 1.1492 1 175.85180452023252 135.44021684182107 0 0 0 0 -773 1 3.6412 1 159.63716849399813 92.34367333937111 0 0 0 0 -776 1 3.6351 1 177.35890457894433 92.1638481952354 0 0 0 0 -811 1 3.5623 1 182.95830076223544 124.4999605786765 0 0 0 0 -866 1 3.4332 1 192.89911415760056 112.34463748809316 0 0 0 0 -909 1 3.335 1 155.50934076149827 89.96111122837992 0 0 0 0 -921 1 3.3116 1 164.2441132966714 95.11328250340898 0 0 0 0 -9628 1 1.0194 1 194.48871002450758 85.56643092771665 0 0 0 0 -952 1 3.2432 1 159.9205966207498 120.04777833209869 0 0 0 0 -955 1 3.2398 1 165.68646729740334 134.31024246140458 0 0 0 0 -995 1 3.1866 1 162.54008793543858 134.75081387994535 0 0 0 0 -7201 1 1.1779 1 150.21886779523606 76.9622332847232 0 0 0 0 -5810 1 1.3136 1 151.17451525352604 80.98053726782928 0 0 0 0 -1027 1 3.1396 1 151.7851779872019 84.16400973646597 0 0 0 0 -1034 1 3.1207 1 154.25424465193328 111.1641490085695 0 0 0 0 -9720 1 1.0142 1 187.02876907012487 109.19538798909291 0 0 0 0 -1047 1 3.0941 1 194.9859259125456 131.35197106176292 0 0 0 0 -1069 1 3.062 1 161.4262128229746 117.30729691077313 0 0 0 0 -9158 1 1.0441 1 168.63782597580328 107.83680073764421 0 0 0 0 -1199 1 2.9039 1 163.7176084650455 132.02266228294735 0 0 0 0 -9827 1 1.0087 1 179.25553317505435 134.5631842347392 0 0 0 0 -1235 1 2.8722 1 191.11243703137006 132.74957734264822 0 0 0 0 -1243 1 2.8586 1 175.18255216761636 133.63834370959688 0 0 0 0 -1263 1 2.839 1 196.00438230181254 84.42817778606921 0 0 0 0 -9228 1 1.0406 1 177.0101071971445 101.75039639792168 0 0 0 0 -9630 1 1.0191 1 171.2533161073161 106.73393955421699 0 0 0 0 -1285 1 2.8052 1 154.5344838444969 125.75634078429043 0 0 0 0 -1334 1 2.755 1 155.2548752629361 99.91717483556913 0 0 0 0 -1338 1 2.7493 1 178.52071839008565 111.56957009661834 0 0 0 0 -1356 1 2.7315 1 152.66106895093773 86.91786376427957 0 0 0 0 -159 1 7.5044 1 140.99847034472182 127.91934604826264 0 0 0 0 -9332 1 1.0345 1 150.85879423087755 109.53081654036689 0 0 0 0 -3518 1 1.6902 1 202.22306884924976 95.24862728040634 0 0 0 0 -1490 1 2.5889 1 178.9772830241746 114.12818111049349 0 0 0 0 -1493 1 2.5842 1 162.67649975962848 92.67385760047817 0 0 0 0 -1500 1 2.5783 1 165.0323221858632 137.39741545875336 0 0 0 0 -1501 1 2.5766 1 196.70347387773975 121.03739521815875 0 0 0 0 -110 1 9.4067 1 141.7563381979202 119.18068694257049 0 0 0 0 -1542 1 2.5362 1 158.21339266251636 123.67261132076239 0 0 0 0 -1564 1 2.523 1 197.88710419440258 126.66712436087617 0 0 0 0 -1576 1 2.512 1 149.85515835373943 101.99870325976079 0 0 0 0 -1587 1 2.5042 1 193.7630722228593 109.51960262469447 0 0 0 0 -1597 1 2.4979 1 189.45649531232277 74.81411050595361 0 0 0 0 -1411 1 2.6689 1 142.85783522741536 90.45138653732715 0 0 0 0 -2868 1 1.8726 1 142.40361700931766 75.58639081344329 0 0 0 0 -1640 1 2.4594 1 171.19732322647957 134.42400818397442 0 0 0 0 -1645 1 2.4557 1 173.7636668810946 101.99914985980834 0 0 0 0 -2108 1 2.1783 1 199.9240861852362 107.45084366257507 0 0 0 0 -8350 1 1.0906 1 189.40446489756684 131.85408950271864 0 0 0 0 -6141 1 1.2796 1 147.21746924427345 78.30667472298167 0 0 0 0 -1691 1 2.4289 1 195.9380834940418 108.40343107742574 0 0 0 0 -4608 1 1.4792 1 139.91610965914458 132.23387026733155 0 0 0 0 -1711 1 2.4157 1 162.4825052147226 103.62503089691492 0 0 0 0 -1724 1 2.4098 1 145.1882559004825 91.36803779702285 0 0 0 0 -1733 1 2.4047 1 150.58137752536564 129.8023041839065 0 0 0 0 -1747 1 2.3871 1 158.54823485656038 126.09317847675958 0 0 0 0 -9187 1 1.0427 1 144.89285518238887 129.6927905342451 0 0 0 0 -1764 1 2.3752 1 159.32700499265343 106.09089540834391 0 0 0 0 -1798 1 2.356 1 156.1298276320858 92.84055039510261 0 0 0 0 -1799 1 2.3551 1 148.31862689925921 129.1687131349468 0 0 0 0 -9226 1 1.0407 1 200.75596773215042 83.06701456203187 0 0 0 0 -1820 1 2.3452 1 167.28486820092758 136.5274229883144 0 0 0 0 -1821 1 2.3444 1 184.8457018482536 110.88430058069446 0 0 0 0 -1860 1 2.325 1 195.5622121722381 126.35856690881153 0 0 0 0 -9560 1 1.0224 1 191.0425626164525 118.53931895849973 0 0 0 0 -1885 1 2.3107 1 187.63370975331287 86.1247046878133 0 0 0 0 -1913 1 2.2907 1 180.54377087759457 89.90313586946819 0 0 0 0 -1924 1 2.2862 1 154.9158546731104 133.6290462837544 0 0 0 0 -1955 1 2.2683 1 193.1428611765692 123.36993284096073 0 0 0 0 -1957 1 2.2664 1 194.63772822785566 128.48230962545858 0 0 0 0 -5693 1 1.3266 1 149.27896360597603 127.05181490450401 0 0 0 0 -1999 1 2.2428 1 195.60837491403262 118.96372467619851 0 0 0 0 -2071 1 2.1974 1 167.8354511934339 113.10424058758242 0 0 0 0 -2099 1 2.1845 1 191.4847615860455 109.95253147764694 0 0 0 0 -9102 1 1.047 1 178.8205755896117 94.90550101133421 0 0 0 0 -5970 1 1.2976 1 139.32546595835 114.41983555235863 0 0 0 0 -1928 1 2.2844 1 195.39032724932042 135.8586917066531 0 0 0 0 -2156 1 2.1546 1 199.06205200892165 89.00534264899544 0 0 0 0 -2165 1 2.15 1 185.56166423968838 85.43642108980946 0 0 0 0 -2190 1 2.1438 1 180.88609205256324 112.75402014425445 0 0 0 0 -9610 1 1.0199 1 195.28439865911267 115.98753726078364 0 0 0 0 -2260 1 2.1137 1 147.3916544319398 125.58337229839867 0 0 0 0 -2280 1 2.1032 1 186.990085022915 110.72164998975349 0 0 0 0 -2306 1 2.0883 1 151.70443800000868 110.83550774704288 0 0 0 0 -2307 1 2.0869 1 178.52933719162758 101.8832088960221 0 0 0 0 -2326 1 2.0771 1 183.71819970751238 86.24257377132038 0 0 0 0 -2334 1 2.0748 1 183.50157720602166 88.19924801037946 0 0 0 0 -2410 1 2.0447 1 163.36012065587917 115.74370317628613 0 0 0 0 -2486 1 2.0147 1 194.95456590702486 122.37448379586347 0 0 0 0 -2501 1 2.0097 1 199.43844860957327 125.04006204804735 0 0 0 0 -2507 1 2.0075 1 200.05552186027091 127.05129901246444 0 0 0 0 -2532 1 1.9987 1 196.0891543238063 124.31849771254109 0 0 0 0 -2107 1 2.1788 1 169.34924705683198 138.30441294589912 0 0 0 0 -2614 1 1.9619 1 155.17752307378282 113.84080942396508 0 0 0 0 -2615 1 1.9615 1 176.7275871170584 110.11692238590754 0 0 0 0 -7784 1 1.1301 1 147.054834739851 92.33065645881295 0 0 0 0 -2641 1 1.9525 1 182.78584356206645 110.43531949905474 0 0 0 0 -2648 1 1.9487 1 161.73213307682406 94.68446448486051 0 0 0 0 -4597 1 1.4807 1 145.42926975774188 97.13996702977053 0 0 0 0 -2725 1 1.9219 1 145.972495701794 93.35487994046858 0 0 0 0 -2749 1 1.9117 1 160.14406281900352 124.66834771720866 0 0 0 0 -1698 1 2.4259 1 144.1378689839239 79.54212401437165 0 0 0 0 -2818 1 1.8897 1 194.34595900685096 120.55590228569089 0 0 0 0 -2876 1 1.8685 1 199.05934211704923 91.02519893307401 0 0 0 0 -356 1 5.3024 1 192.2066957007609 83.39566777510781 0 0 0 0 -2902 1 1.8628 1 174.49808174956425 113.49705272238506 0 0 0 0 -2906 1 1.8619 1 149.33003002107355 125.40345556464818 0 0 0 0 -2914 1 1.8596 1 198.0257038596246 108.10205471549989 0 0 0 0 -2937 1 1.8509 1 161.20239004850842 105.23950927765495 0 0 0 0 -2944 1 1.85 1 185.5286468535337 124.62174620143954 0 0 0 0 -2964 1 1.8439 1 193.64659997524657 118.87108535633126 0 0 0 0 -2993 1 1.8353 1 156.66712426395623 101.66201734589825 0 0 0 0 -2995 1 1.8342 1 173.6403956399201 92.74433509296937 0 0 0 0 -3006 1 1.8272 1 166.71518425453738 94.75773702257011 0 0 0 0 -317 1 5.5666 1 138.81761595792605 84.2208097975029 0 0 0 0 -3046 1 1.813 1 176.8873408013118 132.11322351217257 0 0 0 0 -3063 1 1.8088 1 184.47616340930443 118.24288294870816 0 0 0 0 -3072 1 1.8068 1 181.63519585609615 88.22381674969343 0 0 0 0 -9689 1 1.016 1 147.43804736549913 107.5679026316064 0 0 0 0 -3092 1 1.8011 1 198.78926892124338 105.47507091818295 0 0 0 0 -3107 1 1.7957 1 169.28078029455844 136.3372093789866 0 0 0 0 -3138 1 1.7819 1 177.00007933174913 113.22976351747876 0 0 0 0 -9413 1 1.0299 1 200.57573162395119 104.95539306452989 0 0 0 0 -9081 1 1.0481 1 140.03159527521018 96.06948952051705 0 0 0 0 -3183 1 1.7698 1 181.75129066598515 117.40416595507033 0 0 0 0 -3187 1 1.7689 1 150.55959220716494 108.18359915775376 0 0 0 0 -7018 1 1.1923 1 145.29429988620626 88.67154927604402 0 0 0 0 -3227 1 1.7586 1 158.06781756604286 112.38614967038603 0 0 0 0 -3234 1 1.7565 1 158.863977266986 100.19200415689433 0 0 0 0 -3239 1 1.755 1 160.16914394236935 122.83662331774833 0 0 0 0 -3259 1 1.7506 1 179.50008041262512 117.4004361626452 0 0 0 0 -3298 1 1.7403 1 168.3878405642422 134.84617178853915 0 0 0 0 -3314 1 1.7362 1 160.01299364123795 94.94781473974948 0 0 0 0 -3317 1 1.7358 1 170.96316521583324 136.4539044943238 0 0 0 0 -3322 1 1.7349 1 169.35577636427618 111.95393698067384 0 0 0 0 -3327 1 1.7333 1 168.44150108355885 110.58294198183879 0 0 0 0 -3357 1 1.7258 1 191.16169634440547 86.69585347893357 0 0 0 0 -3369 1 1.7236 1 160.89119855486277 137.59594917195895 0 0 0 0 -1256 1 2.8451 1 188.90926637074642 134.51444232983994 0 0 0 0 -9082 1 1.0481 1 171.41563020760125 113.27223904591831 0 0 0 0 -3431 1 1.7089 1 180.80640287279311 115.96294451391577 0 0 0 0 -9711 1 1.0146 1 146.92509808723287 101.26680149004989 0 0 0 0 -9166 1 1.0436 1 187.62876821221494 125.67622050979203 0 0 0 0 -6711 1 1.2213 1 192.9512571641226 131.94811399956495 0 0 0 0 -8663 1 1.0716 1 140.4670267510324 114.12254155338789 0 0 0 0 -3519 1 1.6897 1 151.90470647880994 113.07386043277646 0 0 0 0 -3540 1 1.6849 1 147.1220422720455 123.68443889765531 0 0 0 0 -2197 1 2.1396 1 201.5179028103124 87.55271675375462 0 0 0 0 -3618 1 1.6681 1 187.66215859574064 75.54606940517422 0 0 0 0 -3628 1 1.6663 1 164.77204998035765 92.76225119317218 0 0 0 0 -9988 1 1.0007 1 178.11926184902745 132.6041844252937 0 0 0 0 -3642 1 1.664 1 153.49019901140605 113.34741607410672 0 0 0 0 -3648 1 1.6628 1 195.834985217211 133.95171971718253 0 0 0 0 -6434 1 1.2487 1 201.51884523755382 85.90541451293191 0 0 0 0 -3698 1 1.6474 1 177.17390223134336 115.10485465235253 0 0 0 0 -3731 1 1.6429 1 199.61085721825003 104.06330777440463 0 0 0 0 -3774 1 1.6347 1 166.36336491838216 93.0890309672735 0 0 0 0 -3783 1 1.6332 1 175.72441721573722 101.58152389295932 0 0 0 0 -1043 1 3.0979 1 201.401484148848 90.08317184413295 0 0 0 0 -3823 1 1.6223 1 156.6038232667507 126.45483609104893 0 0 0 0 -3829 1 1.6207 1 152.06327918258083 109.04977683193297 0 0 0 0 -3833 1 1.6202 1 146.34765595302224 129.39371341055977 0 0 0 0 -277 1 5.9483 1 140.07691748290173 78.63642384108037 0 0 0 0 -3870 1 1.6132 1 192.17576130125602 121.72138111937505 0 0 0 0 -9873 1 1.0062 1 157.83838416913525 120.47177632446578 0 0 0 0 -3881 1 1.6117 1 145.6090285347948 115.35209777894568 0 0 0 0 -3899 1 1.6084 1 174.53689581141126 135.74985505149553 0 0 0 0 -6172 1 1.275 1 140.49910408200617 92.99783887548571 0 0 0 0 -4201 1 1.5496 1 194.15013300509344 134.5147664401888 0 0 0 0 -3940 1 1.6002 1 165.21928093984394 98.43254316720943 0 0 0 0 -5718 1 1.3243 1 141.63552837875966 113.88042822666046 0 0 0 0 -4016 1 1.5805 1 189.82159369071894 85.78418568923529 0 0 0 0 -4023 1 1.579 1 162.99672728090331 137.0417298166809 0 0 0 0 -3807 1 1.6278 1 141.68939996609052 92.19440141646666 0 0 0 0 -4039 1 1.5761 1 192.64860469834719 120.23397173452486 0 0 0 0 -4046 1 1.5752 1 148.49431500197295 100.50689095370494 0 0 0 0 -4061 1 1.5729 1 189.65051724479218 109.75982815492355 0 0 0 0 -4116 1 1.5636 1 168.2197266680453 109.02406141500751 0 0 0 0 -4134 1 1.561 1 173.02686175549323 133.7136459033747 0 0 0 0 -9540 1 1.0237 1 167.6609424686398 92.90529225001796 0 0 0 0 -9207 1 1.0414 1 180.8234042219304 125.00167937296037 0 0 0 0 -4158 1 1.5566 1 170.08981776123073 97.7767160181065 0 0 0 0 -915 1 3.3286 1 200.88415391147373 93.13762811622581 0 0 0 0 -4204 1 1.5489 1 197.74782194217974 124.66708261068803 0 0 0 0 -4208 1 1.5483 1 192.26886112126934 124.96983957982799 0 0 0 0 -4220 1 1.5466 1 193.77946110540023 126.80669521307 0 0 0 0 -4224 1 1.5463 1 154.69870989688022 86.83893100850214 0 0 0 0 -9372 1 1.0323 1 161.0507910033955 136.23708952180218 0 0 0 0 -4250 1 1.5422 1 165.76918308581313 96.96665750882573 0 0 0 0 -4278 1 1.5366 1 185.99306964352874 87.21583237855347 0 0 0 0 -4304 1 1.5321 1 193.72704543821646 86.54782563850198 0 0 0 0 -2889 1 1.8647 1 201.32787970387005 98.1072527696678 0 0 0 0 -4315 1 1.5299 1 156.02989086726802 135.14603545051185 0 0 0 0 -9401 1 1.0305 1 162.81485540573033 130.03460610513065 0 0 0 0 -4322 1 1.5286 1 162.23037868614458 96.42924031818622 0 0 0 0 -4380 1 1.5184 1 195.7563821382688 117.1330248945254 0 0 0 0 -4389 1 1.5166 1 153.2471424792013 108.09781047223512 0 0 0 0 -96 1 9.6591 1 199.88637168842456 113.40405524474406 0 0 0 0 -4403 1 1.5147 1 197.41633997931936 88.21147204731844 0 0 0 0 -6051 1 1.2887 1 187.84089403937247 136.23868422537947 0 0 0 0 -4417 1 1.5123 1 197.4098295683468 89.6977000847813 0 0 0 0 -4435 1 1.5084 1 156.40724358549573 112.6264461968016 0 0 0 0 -4467 1 1.5027 1 157.8827498241996 110.83882757292412 0 0 0 0 -9284 1 1.0374 1 188.72766219262638 132.62214920780502 0 0 0 0 -4532 1 1.4928 1 148.43709394536913 108.36781670412519 0 0 0 0 -4540 1 1.491 1 184.3619472648165 109.03779014390791 0 0 0 0 -9672 1 1.017 1 170.3989348094736 107.28091189105123 0 0 0 0 -4569 1 1.4861 1 157.71480486592316 121.72459561618615 0 0 0 0 -2618 1 1.9605 1 145.64311156047754 124.6719177837249 0 0 0 0 -9460 1 1.0277 1 147.01937851359725 80.37677358199095 0 0 0 0 -9468 1 1.0275 1 154.4540973577594 88.07639706807413 0 0 0 0 -4617 1 1.4787 1 149.59674302379995 85.63167885995469 0 0 0 0 -4625 1 1.4776 1 156.49125396711887 111.1626033430887 0 0 0 0 -4631 1 1.4767 1 157.31044940560346 100.19231147704102 0 0 0 0 -9588 1 1.0214 1 155.90446738284632 137.3716641571324 0 0 0 0 -7810 1 1.1281 1 187.73316503172057 132.97565629569394 0 0 0 0 -6079 1 1.2856 1 148.49785676014136 78.24610211897794 0 0 0 0 -4715 1 1.4616 1 158.07269565041827 118.64129483666582 0 0 0 0 -4719 1 1.4608 1 153.41244987718622 90.95083820764866 0 0 0 0 -4757 1 1.4553 1 160.36226323587596 135.20916656584546 0 0 0 0 -4788 1 1.4508 1 197.20437953141644 118.18297865404134 0 0 0 0 -9705 1 1.0149 1 176.68737358069043 134.8077916292238 0 0 0 0 -4860 1 1.44 1 183.49197799950713 107.87133385652542 0 0 0 0 -4875 1 1.4372 1 160.8705986573942 96.98371341943607 0 0 0 0 -4923 1 1.4292 1 175.87355285597147 114.33699743980884 0 0 0 0 -9260 1 1.0388 1 155.6873265777241 136.37390918160975 0 0 0 0 -4952 1 1.4256 1 194.9051218217134 111.0811755906268 0 0 0 0 -4962 1 1.4247 1 185.81454695150822 109.12028586377726 0 0 0 0 -9743 1 1.013 1 173.09370693184042 106.429502041215 0 0 0 0 -4968 1 1.424 1 157.339403329593 91.40564587545715 0 0 0 0 -5035 1 1.4156 1 149.50048020897324 109.33484533061119 0 0 0 0 -1456 1 2.6126 1 194.25715233305132 137.97771206929266 0 0 0 0 -4114 1 1.5638 1 141.48751273661753 81.98435728408488 0 0 0 0 -4084 1 1.5689 1 202.97423207290953 107.2541493727139 0 0 0 0 -5078 1 1.408 1 185.9167263715164 118.79691095751356 0 0 0 0 -5094 1 1.4049 1 146.0767502016167 89.68273688017821 0 0 0 0 -5166 1 1.3929 1 147.044534761771 127.84424552603423 0 0 0 0 -5168 1 1.3925 1 176.47730591124497 111.74896597758526 0 0 0 0 -5243 1 1.3829 1 145.55314587971935 123.0078334509998 0 0 0 0 -5245 1 1.3828 1 156.7860117341883 113.99781174061086 0 0 0 0 -5295 1 1.3766 1 189.85359362933877 81.13142374497315 0 0 0 0 -5302 1 1.3757 1 172.75680931899453 105.13591861773031 0 0 0 0 -5308 1 1.3747 1 180.18266958215787 91.66094160394901 0 0 0 0 -5316 1 1.3736 1 161.5615643427325 128.1145037325227 0 0 0 0 -5317 1 1.3736 1 152.10472592088962 90.48310809377003 0 0 0 0 -5328 1 1.3721 1 155.19925998211906 127.6108660927106 0 0 0 0 -5356 1 1.369 1 151.96559273513247 107.57048638915393 0 0 0 0 -5402 1 1.3631 1 164.37126629656956 97.32844171801847 0 0 0 0 -5426 1 1.3595 1 157.04355158600717 104.3411283007882 0 0 0 0 -5446 1 1.3569 1 195.19213011836584 88.1467281810877 0 0 0 0 -5449 1 1.3566 1 188.1904760428844 109.53720330333594 0 0 0 0 -5001 1 1.4202 1 142.95093868683685 113.55079876944913 0 0 0 0 -39 1 15.7171 1 198.41250781323572 75.07140039774976 0 0 0 0 -5485 1 1.3523 1 197.04683395036088 106.90041800014164 0 0 0 0 -3873 1 1.6128 1 143.94477686907413 97.29390952316241 0 0 0 0 -5498 1 1.351 1 190.91646294291573 113.85052966237657 0 0 0 0 -9210 1 1.0413 1 176.06400818378773 108.83275450730123 0 0 0 0 -5503 1 1.3503 1 173.14440804877955 103.77310754203366 0 0 0 0 -5511 1 1.3497 1 193.58590221708207 125.41218661518225 0 0 0 0 -5521 1 1.3487 1 192.10581372547884 118.89606844912393 0 0 0 0 -5525 1 1.3483 1 198.09817692927072 128.55462256486177 0 0 0 0 -5567 1 1.3421 1 173.22290372916916 135.12836136782514 0 0 0 0 -5572 1 1.3411 1 181.25822219700922 106.0439631321544 0 0 0 0 -5597 1 1.3377 1 157.66773677637156 105.45992345567866 0 0 0 0 -5622 1 1.3345 1 158.62608777470524 90.12232813346316 0 0 0 0 -5623 1 1.3344 1 197.72480797326722 122.93209202019277 0 0 0 0 -5647 1 1.3326 1 143.18670188407742 92.39904118994144 0 0 0 0 -5659 1 1.3317 1 197.85509205749125 129.83625925117437 0 0 0 0 -2856 1 1.8776 1 147.7717907055083 102.38179034166224 0 0 0 0 -5700 1 1.3258 1 167.01362055689765 96.28725404367914 0 0 0 0 -3626 1 1.6665 1 185.62369930824528 135.70326763206245 0 0 0 0 -5824 1 1.3119 1 144.00635381695255 112.70067465123194 0 0 0 0 -9109 1 1.0468 1 144.61713944993826 93.87264930261608 0 0 0 0 -5795 1 1.3149 1 143.3298326942627 124.23383820723468 0 0 0 0 -5808 1 1.3137 1 159.05244178727685 113.55538449295678 0 0 0 0 -5816 1 1.3128 1 146.90682239022328 90.73303715569418 0 0 0 0 -5826 1 1.3118 1 172.62705484626042 100.53430440486687 0 0 0 0 -5849 1 1.3101 1 180.83804585509026 114.46620584869075 0 0 0 0 -5851 1 1.31 1 149.65098690415587 84.24027434914368 0 0 0 0 -5868 1 1.3086 1 188.6635292582973 110.73386696709724 0 0 0 0 -5891 1 1.3059 1 160.71784669510862 114.94465159500926 0 0 0 0 -5951 1 1.2996 1 178.80209494431276 90.19703301684251 0 0 0 0 -5984 1 1.2964 1 180.0425265186409 118.78463379369488 0 0 0 0 -5987 1 1.2961 1 179.62393711594066 92.83346142500095 0 0 0 0 -6041 1 1.2903 1 196.32269218512073 127.9433061256679 0 0 0 0 -9879 1 1.006 1 153.42922193185055 100.27155714538456 0 0 0 0 -9928 1 1.004 1 148.34482859268653 124.36786218769815 0 0 0 0 -6105 1 1.283 1 154.67232931720378 131.89835200560645 0 0 0 0 -8802 1 1.0631 1 201.6820312996479 107.07021076884627 0 0 0 0 -6146 1 1.2792 1 150.8522975771435 86.11984441862792 0 0 0 0 -6151 1 1.278 1 146.98747748892777 115.69893466775912 0 0 0 0 -1017 1 3.1516 1 141.251654090489 87.78262260463698 0 0 0 0 -6196 1 1.2718 1 197.66174511929123 119.43187920460366 0 0 0 0 -6216 1 1.2698 1 157.61555191652283 93.8969065463584 0 0 0 0 -6229 1 1.2678 1 196.36413455027764 86.43284610411034 0 0 0 0 -6258 1 1.2642 1 156.76489136399437 124.9798429359536 0 0 0 0 -6284 1 1.2619 1 196.8947426311138 129.02491529293124 0 0 0 0 -6305 1 1.2607 1 180.4667937984996 105.02171767087955 0 0 0 0 -2770 1 1.9061 1 150.0812808670065 78.43846700783838 0 0 0 0 -6325 1 1.259 1 182.26869102755632 89.54023320499486 0 0 0 0 -1646 1 2.4555 1 146.72620597542996 99.58761406911226 0 0 0 0 -6376 1 1.2545 1 156.8971030123926 103.10856669341364 0 0 0 0 -9896 1 1.0052 1 199.86210804801635 83.45574066723259 0 0 0 0 -3352 1 1.7275 1 144.3454928826716 114.26216039722537 0 0 0 0 -6398 1 1.2519 1 190.62469497713363 111.95429086029328 0 0 0 0 -6416 1 1.2502 1 173.31632939318698 136.42550112784923 0 0 0 0 -224 1 6.4204 1 147.47087208187168 74.46620201968175 0 0 0 0 -6439 1 1.2482 1 192.9453413220114 130.77507776204092 0 0 0 0 -6447 1 1.2478 1 155.70950212822333 87.74043636353484 0 0 0 0 -6451 1 1.2474 1 147.87708055049632 91.52256073988691 0 0 0 0 -6460 1 1.2468 1 178.14625513828307 116.16445596413492 0 0 0 0 -6466 1 1.2463 1 163.004642258945 101.90909383716446 0 0 0 0 -6473 1 1.2457 1 171.18560540378317 98.63474859573336 0 0 0 0 -6501 1 1.2432 1 156.20300591658253 94.62339343149253 0 0 0 0 -9354 1 1.0335 1 179.87467355715532 104.06551389795283 0 0 0 0 -9451 1 1.0283 1 159.76909561435002 127.24647051782205 0 0 0 0 -6569 1 1.2357 1 151.36521576085897 100.95101387484891 0 0 0 0 -6611 1 1.2309 1 144.61742185925533 89.65086081134696 0 0 0 0 -6634 1 1.2288 1 148.05214006512864 127.08129122860733 0 0 0 0 -6638 1 1.2287 1 155.7782512209271 124.2178456584143 0 0 0 0 -6656 1 1.2266 1 179.35249283103977 115.95826641345361 0 0 0 0 -6707 1 1.2214 1 196.24056529082486 88.8849549255455 0 0 0 0 -6731 1 1.2195 1 189.16491642767872 86.89909523445398 0 0 0 0 -6734 1 1.2193 1 157.6484777517255 89.36234106401173 0 0 0 0 -6746 1 1.2185 1 182.33277244203066 111.93592902476247 0 0 0 0 -6764 1 1.2169 1 167.53870348173425 97.7678037417179 0 0 0 0 -5682 1 1.3286 1 193.61215749083584 136.13656262290115 0 0 0 0 -6799 1 1.2126 1 180.76569472672585 126.09700308794613 0 0 0 0 -6822 1 1.2103 1 200.68381674451297 95.34742260632368 0 0 0 0 -1987 1 2.2495 1 145.37633224102277 95.32217070026412 0 0 0 0 -6920 1 1.2003 1 149.80402885175832 128.18861277084466 0 0 0 0 -6939 1 1.1991 1 153.10387322548033 89.68626462402077 0 0 0 0 -6940 1 1.199 1 190.47775418277416 119.47843850602291 0 0 0 0 -9963 1 1.0023 1 183.39985134645917 111.66908599755449 0 0 0 0 -7052 1 1.1895 1 144.20175779532698 125.0730224839138 0 0 0 0 -7060 1 1.1892 1 174.96979570782608 91.92320173846363 0 0 0 0 -7131 1 1.1835 1 163.45119076117282 105.16226512579405 0 0 0 0 -7179 1 1.1798 1 186.2786393563149 112.176807164472 0 0 0 0 -7188 1 1.1793 1 181.424459725536 111.17344806382852 0 0 0 0 -269 1 6.0214 1 200.89981548624198 121.07829611687065 0 0 0 0 -7202 1 1.1778 1 196.4747373888095 122.84051121347288 0 0 0 0 -3511 1 1.6917 1 172.28166202134818 137.42556589909685 0 0 0 0 -7219 1 1.1765 1 168.7303792332943 97.7553220169664 0 0 0 0 -7266 1 1.1733 1 149.7065378430006 82.73707374173777 0 0 0 0 -7274 1 1.1729 1 158.9872218594783 122.01455064428548 0 0 0 0 -7277 1 1.1727 1 161.78120779961873 101.87026457281752 0 0 0 0 -9323 1 1.0349 1 198.9092767012707 83.42404977263143 0 0 0 0 -7317 1 1.1688 1 146.3893326486635 116.72665826660025 0 0 0 0 -9954 1 1.003 1 194.64663303556048 133.3555957127787 0 0 0 0 -7392 1 1.1619 1 186.95480359179277 135.2256486753621 0 0 0 0 -7352 1 1.1656 1 146.25792594040095 121.94948301625092 0 0 0 0 -3425 1 1.7102 1 139.06490543173294 88.81620264895275 0 0 0 0 -3088 1 1.8023 1 186.4945291973012 126.59871047852467 0 0 0 0 -7398 1 1.1616 1 177.47354959167663 100.75682433247695 0 0 0 0 -9283 1 1.0376 1 170.86487556299448 137.81857213772224 0 0 0 0 -9839 1 1.0083 1 195.88551215833408 129.51805192999592 0 0 0 0 -7450 1 1.1567 1 150.8784375045854 112.1756407158362 0 0 0 0 -6876 1 1.2043 1 186.66811322296834 136.6430132832667 0 0 0 0 -7504 1 1.152 1 169.58233598576294 133.72085084006767 0 0 0 0 -7512 1 1.1517 1 159.87385182039029 99.19732643418935 0 0 0 0 -7521 1 1.151 1 182.9873225390468 108.97347776280145 0 0 0 0 -7527 1 1.1507 1 194.66647195779683 124.90473372364025 0 0 0 0 -7541 1 1.1491 1 160.7572109647354 126.0410407929269 0 0 0 0 -7551 1 1.1481 1 189.8204726377811 111.09708920915733 0 0 0 0 -4949 1 1.4257 1 201.3309490805082 105.89510076225226 0 0 0 0 -7576 1 1.1459 1 196.71020429914762 130.19759269806522 0 0 0 0 -7578 1 1.1457 1 167.4831493110885 133.20098973509135 0 0 0 0 -4614 1 1.4789 1 201.2776240967996 96.49741646823156 0 0 0 0 -7624 1 1.1427 1 167.5466003763494 107.89265627801825 0 0 0 0 -7644 1 1.1407 1 198.4298724148744 118.54681245631478 0 0 0 0 -7655 1 1.1399 1 172.25926998656666 135.88128330220377 0 0 0 0 -7656 1 1.1398 1 182.49485380835188 107.06142205108668 0 0 0 0 -7658 1 1.1395 1 197.07494874422989 131.26166973334622 0 0 0 0 -9514 1 1.025 1 200.12347624242545 105.87183363056575 0 0 0 0 -7675 1 1.1383 1 178.48947293140128 133.5589375403851 0 0 0 0 -7686 1 1.1373 1 179.0190645267276 93.86104499896231 0 0 0 0 -7689 1 1.1372 1 153.5390098296299 88.62482524367734 0 0 0 0 -7696 1 1.1368 1 177.63979564173945 108.82580702952121 0 0 0 0 -4352 1 1.5226 1 202.73753694392408 108.71179235010075 0 0 0 0 -7724 1 1.1347 1 154.05445834434605 107.15189529283758 0 0 0 0 -7772 1 1.1307 1 178.40756937709838 100.07959862092575 0 0 0 0 -7774 1 1.1306 1 195.657665175751 110.1042384393419 0 0 0 0 -8274 1 1.0966 1 144.29522519620548 92.86591071902207 0 0 0 0 -7791 1 1.1293 1 153.98835831669209 109.11802195124918 0 0 0 0 -9132 1 1.0455 1 184.82079115911873 84.0063514247954 0 0 0 0 -7799 1 1.129 1 186.61043078250106 80.00401675767021 0 0 0 0 -7196 1 1.1784 1 143.81202389319168 75.2040777982297 0 0 0 0 -7819 1 1.1276 1 160.81959573999129 127.15190222565616 0 0 0 0 -4674 1 1.4684 1 202.95336681518327 117.98521186212923 0 0 0 0 -7826 1 1.1272 1 151.70458539305656 82.05577320309979 0 0 0 0 -853 1 3.4558 1 151.59829235459824 126.70661049437338 0 0 0 0 -7894 1 1.1218 1 193.5979070363665 129.79596700443074 0 0 0 0 -7907 1 1.1205 1 198.24716134910844 106.72214675980716 0 0 0 0 -7915 1 1.1197 1 200.63907358031994 84.13250808666028 0 0 0 0 -7954 1 1.1175 1 191.30605626611344 120.28470601427328 0 0 0 0 -5881 1 1.307 1 145.76575646867315 77.92338152242326 0 0 0 0 -7963 1 1.1168 1 170.44568369293467 112.84701716207779 0 0 0 0 -3989 1 1.5889 1 143.71648456340742 88.56525500589184 0 0 0 0 -7994 1 1.1149 1 175.4193400379839 112.36232447612238 0 0 0 0 -8036 1 1.1125 1 154.6405771721783 91.97352963518831 0 0 0 0 -8039 1 1.1122 1 196.27550589004906 87.60205296052739 0 0 0 0 -8068 1 1.11 1 156.49728605974403 123.34366229569524 0 0 0 0 -8078 1 1.1087 1 193.52323235719302 121.76142842685957 0 0 0 0 -8087 1 1.1082 1 185.69668703018056 117.57039514879636 0 0 0 0 -8120 1 1.1065 1 168.52085584742602 133.48086653463452 0 0 0 0 -8122 1 1.1062 1 155.80346914471326 128.5723212731521 0 0 0 0 -8153 1 1.1045 1 146.37966974103 97.90902375174983 0 0 0 0 -8154 1 1.1044 1 181.0714382757376 123.115961083564 0 0 0 0 -8159 1 1.1039 1 168.08229886950335 96.8208959769641 0 0 0 0 -8174 1 1.1027 1 185.37456540139843 120.69177939559651 0 0 0 0 -8177 1 1.1027 1 160.21298814288266 100.55201909729577 0 0 0 0 -8197 1 1.1018 1 196.490896342972 132.75171012536745 0 0 0 0 -8211 1 1.1007 1 152.4560046435174 100.62259054851927 0 0 0 0 -9581 1 1.0216 1 180.35371205415217 111.27642777882762 0 0 0 0 -1444 1 2.6288 1 143.98165093981598 77.10918123070682 0 0 0 0 -109 1 9.4084 1 182.96476053480802 130.88618098040823 0 0 0 0 -6329 1 1.2587 1 201.45921159304294 108.19436240877688 0 0 0 0 -8364 1 1.0895 1 161.87245245119854 115.256630864799 0 0 0 0 -8374 1 1.0889 1 169.66573732555673 108.02102522298392 0 0 0 0 -8397 1 1.0877 1 169.4520187809767 113.29807919539735 0 0 0 0 -8461 1 1.0838 1 156.56011120592655 127.79058778710883 0 0 0 0 -9655 1 1.0177 1 157.91280278119018 113.69605546177671 0 0 0 0 -8498 1 1.0811 1 189.3092715176385 84.63725661185853 0 0 0 0 -8522 1 1.0797 1 151.4560628501785 106.51373033121999 0 0 0 0 -8527 1 1.0794 1 194.4878789388864 113.99411253619792 0 0 0 0 -8529 1 1.079 1 198.618319324844 123.74013450485363 0 0 0 0 -9431 1 1.0292 1 186.81864035811313 119.52395604566804 0 0 0 0 -8560 1 1.0774 1 152.16597970985637 131.49402806421915 0 0 0 0 -3332 1 1.7326 1 145.5447709097774 127.93583130668432 0 0 0 0 -5687 1 1.3277 1 197.8005414147104 83.54109736224478 0 0 0 0 -8602 1 1.0748 1 166.46647433199766 98.04463734317655 0 0 0 0 -4589 1 1.4821 1 177.86882139945078 134.6191225041326 0 0 0 0 -8723 1 1.0685 1 194.06030226532545 87.7728487581348 0 0 0 0 -8725 1 1.0683 1 146.40995227777267 88.49358734187057 0 0 0 0 -8726 1 1.0682 1 171.85271557137037 99.56982695016806 0 0 0 0 -8751 1 1.067 1 177.14449257263993 133.54850413409076 0 0 0 0 -8753 1 1.0666 1 152.4330542133028 88.79096885432493 0 0 0 0 -8786 1 1.0641 1 175.16342725203162 92.96803184858 0 0 0 0 -8795 1 1.0637 1 180.02102103361983 106.06217143705832 0 0 0 0 -5488 1 1.3522 1 188.25338507329656 131.55111083858776 0 0 0 0 -9289 1 1.0373 1 147.677644909974 103.80679226962043 0 0 0 0 -8865 1 1.0591 1 150.23216558055745 110.32200850172036 0 0 0 0 -8874 1 1.0588 1 156.5022718326059 105.41045028446831 0 0 0 0 -8882 1 1.0583 1 164.25629448303283 135.84995228723216 0 0 0 0 -8883 1 1.0583 1 150.6298581910127 113.51578339563439 0 0 0 0 -8887 1 1.058 1 191.03934077034424 124.69769374540536 0 0 0 0 -8889 1 1.0579 1 172.09985079720207 106.14995758328845 0 0 0 0 -8903 1 1.0573 1 191.6160103049696 123.85197251734807 0 0 0 0 -8921 1 1.0564 1 179.42470066270582 103.14726327603316 0 0 0 0 -8931 1 1.056 1 150.58999251413047 82.04481947250852 0 0 0 0 -6499 1 1.2433 1 139.39229604146198 123.91283009776248 0 0 0 0 -563 1 4.1677 1 142.29465988891542 94.97905119430568 0 0 0 0 -9060 1 1.0497 1 199.25184311914663 128.3281301387035 0 0 0 0 -9073 1 1.0486 1 194.68438101933404 123.84139518056352 0 0 0 0 -7575 1 1.146 1 139.48393710963074 75.15642914276864 0 0 0 0 -7456 1 1.1564 1 202.59437598221285 105.99420481638212 0 0 0 0 -5806 1 1.3139 1 202.99903645559507 93.96944637013165 0 0 0 0 -413 1 4.8629 1 190.5195001683623 137.93763636865367 0 0 0 0 -8021 1 1.1133 1 196.17446429665793 138.44266049025893 0 0 0 0 -3391 1 1.7176 1 156.35637989941458 138.64871063664745 0 0 0 0 -8537 1 1.0787 1 171.57108900836826 138.58129091192558 0 0 0 0 -3493 1 1.6944 1 162.83168915373477 138.6271805618634 0 0 0 0 -8552 1 1.0778 1 168.41057155599307 195.22176794656974 0 0 0 0 -10 1 35.1961 1 164.84827815709414 168.5610351961221 0 0 0 0 -23 1 20.9769 1 180.07844563797323 145.55856040988016 0 0 0 0 -8734 1 1.068 1 200.0721766271561 146.61428143819126 0 0 0 0 -77 1 10.3137 1 156.0301872243752 189.24281466709382 0 0 0 0 -7811 1 1.128 1 168.60137859563096 202.1467112094056 0 0 0 0 -4943 1 1.427 1 194.426098409252 201.4325985409813 0 0 0 0 -7370 1 1.1638 1 164.48648771057822 141.89235475596934 0 0 0 0 -9850 1 1.0076 1 144.7556728952024 152.95365778416533 0 0 0 0 -172 1 7.3253 1 166.4058471967114 191.57512987173584 0 0 0 0 -301 1 5.7371 1 145.10531000987726 163.49820761649394 0 0 0 0 -354 1 5.3204 1 187.38713436364142 168.4449954505756 0 0 0 0 -369 1 5.1589 1 187.39313117700996 161.13411414669736 0 0 0 0 -3560 1 1.6789 1 187.98842460927705 193.1350312091162 0 0 0 0 -401 1 4.9353 1 189.54592945368285 154.711268072074 0 0 0 0 -8643 1 1.0725 1 153.0995138542705 146.25336620163662 0 0 0 0 -417 1 4.8236 1 194.30493302961153 144.35073349021934 0 0 0 0 -9373 1 1.0323 1 188.07813485843215 191.8247535808721 0 0 0 0 -9709 1 1.0147 1 174.37832496026877 201.40631913219835 0 0 0 0 -503 1 4.3596 1 192.3535759982431 148.44872857201167 0 0 0 0 -547 1 4.2109 1 147.1612682446305 153.8343532454635 0 0 0 0 -578 1 4.1058 1 183.99279120958988 183.6936936805133 0 0 0 0 -619 1 3.9677 1 191.2360319864177 158.7879221441224 0 0 0 0 -633 1 3.9266 1 169.97397339978966 187.38827042268997 0 0 0 0 -9600 1 1.0206 1 195.07110589870666 148.20491223416641 0 0 0 0 -673 1 3.8377 1 147.92555295098944 157.70578639384345 0 0 0 0 -761 1 3.6539 1 177.74343128074815 182.95218903007134 0 0 0 0 -130 1 8.3824 1 161.8983944729374 198.0293024276272 0 0 0 0 -855 1 3.4496 1 174.33135717954147 187.47951253959835 0 0 0 0 -1277 1 2.8166 1 144.99338740834943 151.1199274690129 0 0 0 0 -6521 1 1.2409 1 159.67870512124122 151.17027353964147 0 0 0 0 -910 1 3.3347 1 195.7776402930817 140.58273788622364 0 0 0 0 -970 1 3.2193 1 182.77271039993775 175.24937086250213 0 0 0 0 -9281 1 1.0377 1 197.17513348718109 158.58530716774212 0 0 0 0 -1026 1 3.143 1 184.7122155663936 187.23228154782748 0 0 0 0 -1064 1 3.0655 1 141.16882626365773 158.33429255009094 0 0 0 0 -1085 1 3.0377 1 143.32979108984932 156.08114095999588 0 0 0 0 -9771 1 1.0115 1 184.2802967093612 199.17745289189574 0 0 0 0 -2254 1 2.1163 1 140.3745710773705 150.88334479032727 0 0 0 0 -1165 1 2.9403 1 173.04787994374013 194.97909216620238 0 0 0 0 -8646 1 1.0724 1 141.78064448094923 162.97658610915443 0 0 0 0 -1176 1 2.9298 1 170.2735325073636 194.81136406029285 0 0 0 0 -1179 1 2.9286 1 145.994641509131 172.0737569574917 0 0 0 0 -1226 1 2.8805 1 145.00145180204177 167.68106148872423 0 0 0 0 -7003 1 1.1939 1 141.85263438306654 154.04013557175767 0 0 0 0 -2582 1 1.9771 1 186.652362789762 189.8562665105691 0 0 0 0 -1314 1 2.7755 1 196.48003723959042 200.99562556340453 0 0 0 0 -4189 1 1.5513 1 198.81551224942112 146.89701905876018 0 0 0 0 -1322 1 2.7647 1 180.80623005843628 182.84977284473257 0 0 0 0 -9264 1 1.0386 1 171.7549945821852 193.50621469259153 0 0 0 0 -8384 1 1.0882 1 186.49995764443557 154.53019074550855 0 0 0 0 -1521 1 2.5558 1 185.2583835274858 176.5634241071248 0 0 0 0 -410 1 4.8896 1 175.91409801845327 198.90170825450997 0 0 0 0 -1604 1 2.4888 1 143.50498973190548 159.76722894719512 0 0 0 0 -9590 1 1.0213 1 176.89589311579795 185.11155140237256 0 0 0 0 -9058 1 1.0498 1 149.09269327633677 155.59736246668305 0 0 0 0 -1719 1 2.4113 1 182.05971124117508 186.67545126458973 0 0 0 0 -1751 1 2.3839 1 151.89997890230765 183.6636188409528 0 0 0 0 -8739 1 1.0675 1 167.71754421370957 186.43378255525442 0 0 0 0 -1788 1 2.3638 1 189.84456770233047 164.03226666631699 0 0 0 0 -1823 1 2.3436 1 162.04471321698583 187.57588201323188 0 0 0 0 -8242 1 1.0986 1 144.94581575154794 169.6388093232618 0 0 0 0 -1856 1 2.3291 1 184.7116667052095 171.2572772524908 0 0 0 0 -9160 1 1.0441 1 182.24485585336686 195.39194660467302 0 0 0 0 -1881 1 2.3127 1 141.79431775136393 149.22013205001628 0 0 0 0 -1898 1 2.302 1 183.87279423572008 160.00970019094981 0 0 0 0 -1925 1 2.2861 1 192.92854786013694 153.4741970050933 0 0 0 0 -2263 1 2.1123 1 191.7190153910597 162.11090925111614 0 0 0 0 -1966 1 2.2608 1 142.486599322298 151.38320610087823 0 0 0 0 -3931 1 1.6017 1 167.1010087559953 145.99572423296655 0 0 0 0 -1979 1 2.2546 1 182.88533665758138 163.82905379353303 0 0 0 0 -1990 1 2.2482 1 161.98240294916098 190.41868015496678 0 0 0 0 -2014 1 2.2306 1 169.57653467567113 197.23909477441168 0 0 0 0 -9627 1 1.0194 1 148.04708552048263 162.03056517111742 0 0 0 0 -2075 1 2.1965 1 181.57172655447891 196.8188762482878 0 0 0 0 -2061 1 2.2061 1 181.74229032780963 160.6263031008033 0 0 0 0 -2114 1 2.1744 1 193.64398900207462 151.3533474004074 0 0 0 0 -2121 1 2.1702 1 166.3205925405642 148.03577504841138 0 0 0 0 -2158 1 2.1537 1 151.56410880709566 181.4666752245642 0 0 0 0 -2159 1 2.1526 1 172.66260784223886 192.20654333440845 0 0 0 0 -2166 1 2.1498 1 195.22722742260478 149.90109874700119 0 0 0 0 -5430 1 1.359 1 171.2728154401475 196.68360527587552 0 0 0 0 -700 1 3.7846 1 156.60363385733015 143.16733041250393 0 0 0 0 -2193 1 2.1419 1 172.29890525442596 185.63399023477882 0 0 0 0 -9537 1 1.0238 1 154.9185595716262 183.69576125796613 0 0 0 0 -5182 1 1.3909 1 186.65106343240868 201.43562691402042 0 0 0 0 -4186 1 1.5517 1 180.16466023730575 197.91516648111 0 0 0 0 -9252 1 1.0393 1 176.5626062513116 187.5503397702511 0 0 0 0 -5456 1 1.3553 1 154.98773998868484 149.35733977357467 0 0 0 0 -5730 1 1.3229 1 145.48941535956277 155.99233224113817 0 0 0 0 -4825 1 1.4453 1 193.14653258778992 165.03556344871927 0 0 0 0 -2353 1 2.0672 1 147.45704987018306 176.01898774173412 0 0 0 0 -2371 1 2.059 1 149.91040056082863 182.5382622295022 0 0 0 0 -2395 1 2.0499 1 148.09589475165697 160.5624887564045 0 0 0 0 -9605 1 1.0204 1 183.29739980002284 188.7390569188545 0 0 0 0 -2431 1 2.0343 1 178.9854286777509 185.46584594617354 0 0 0 0 -2465 1 2.0238 1 179.90736672196888 157.003190679196 0 0 0 0 -2502 1 2.0097 1 187.60711921230242 157.52478060575882 0 0 0 0 -8622 1 1.0736 1 181.4361594891341 158.96206175806006 0 0 0 0 -9534 1 1.0241 1 199.65277176798662 201.32793332491397 0 0 0 0 -2548 1 1.9898 1 179.81259896934554 179.48850635209826 0 0 0 0 -2556 1 1.9874 1 196.6514901842312 148.47725487407436 0 0 0 0 -9637 1 1.0187 1 170.19557610280683 189.84921652917828 0 0 0 0 -9763 1 1.0118 1 182.86734342797885 166.48153826650278 0 0 0 0 -2593 1 1.9709 1 150.60593050044557 156.68502230564596 0 0 0 0 -2594 1 1.9703 1 155.90842817265218 150.87624196471532 0 0 0 0 -2608 1 1.9643 1 168.32907633718088 148.3680954446936 0 0 0 0 -2639 1 1.9537 1 171.6678720137906 189.7100055268284 0 0 0 0 -9439 1 1.0288 1 174.95419807362904 196.11345358183277 0 0 0 0 -2751 1 1.9113 1 187.49271749794204 196.2554825836361 0 0 0 0 -4924 1 1.4291 1 170.70883684728582 139.44916085399956 0 0 0 0 -2699 1 1.9297 1 181.7279462020966 179.6855906380489 0 0 0 0 -2704 1 1.928 1 179.99964947535344 187.14347828331572 0 0 0 0 -2715 1 1.925 1 148.68403501109555 177.4946713187343 0 0 0 0 -9192 1 1.0423 1 183.4050485917303 172.2915207651597 0 0 0 0 -1373 1 2.7101 1 163.91040533253548 149.75124675416922 0 0 0 0 -9631 1 1.0189 1 187.63360204436313 190.91945429317585 0 0 0 0 -2732 1 1.9174 1 192.3558923654227 141.63109927155392 0 0 0 0 -9404 1 1.0303 1 176.00955921454621 184.61583801889597 0 0 0 0 -8609 1 1.0746 1 191.03389331263037 146.1653204838724 0 0 0 0 -8822 1 1.0618 1 186.45468232643407 188.36758883973096 0 0 0 0 -2879 1 1.8681 1 186.43465534689108 156.01011875133085 0 0 0 0 -3025 1 1.8194 1 159.6924929406396 142.9402990530852 0 0 0 0 -2888 1 1.8657 1 146.5150302285416 174.376982113434 0 0 0 0 -7667 1 1.1387 1 168.83251946303497 139.88979655248028 0 0 0 0 -377 1 5.0809 1 167.46420669822322 142.68353051001552 0 0 0 0 -2940 1 1.8504 1 181.81559071352666 177.5946357122911 0 0 0 0 -9595 1 1.0211 1 161.09601044339766 191.78035856300647 0 0 0 0 -403 1 4.9267 1 184.90343423166016 194.14461386306635 0 0 0 0 -2982 1 1.8381 1 166.16100802496737 150.03324106292558 0 0 0 0 -2985 1 1.837 1 184.93469561997063 180.89436551085427 0 0 0 0 -3019 1 1.82 1 186.19375744575444 174.41197625064967 0 0 0 0 -3026 1 1.8192 1 184.06873980698512 157.30741201274137 0 0 0 0 -8563 1 1.0772 1 193.8118003956459 159.59908934582927 0 0 0 0 -3084 1 1.803 1 149.72766135054604 179.10928785289732 0 0 0 0 -3091 1 1.8021 1 190.6368676286092 167.09876220830986 0 0 0 0 -4139 1 1.5605 1 155.00286666221413 145.90836356781074 0 0 0 0 -3116 1 1.791 1 185.58988639491042 165.40488611524134 0 0 0 0 -3145 1 1.7797 1 183.07663393201832 180.9281026552757 0 0 0 0 -432 1 4.7465 1 196.15002514123498 161.3283671935011 0 0 0 0 -3147 1 1.7791 1 183.95902201191356 179.40048848045538 0 0 0 0 -8239 1 1.0989 1 150.8612989966042 187.14362836223611 0 0 0 0 -1547 1 2.5343 1 183.72474521622442 197.56872165192846 0 0 0 0 -3180 1 1.7707 1 182.6867920697798 158.38574208346623 0 0 0 0 -3224 1 1.759 1 184.24139240213603 166.9214506417998 0 0 0 0 -3268 1 1.7479 1 183.20644440915322 161.87511028299343 0 0 0 0 -3273 1 1.7468 1 170.7813460561749 192.54920363792903 0 0 0 0 -3292 1 1.742 1 182.20779959623235 156.70403144073765 0 0 0 0 -3531 1 1.6863 1 195.09995922783375 154.52614489094478 0 0 0 0 -3069 1 1.8073 1 197.98705483332 145.48273206554126 0 0 0 0 -6413 1 1.2505 1 154.29175131400353 150.44925575521108 0 0 0 0 -3415 1 1.7117 1 141.63347678524127 160.65301185293126 0 0 0 0 -3428 1 1.7095 1 184.53758685393407 162.85554110551647 0 0 0 0 -3471 1 1.6994 1 173.2806926946386 190.39722456752872 0 0 0 0 -272 1 5.9827 1 156.15627122208767 202.32610692689238 0 0 0 0 -3485 1 1.6963 1 183.2401819958793 168.2789521533643 0 0 0 0 -2881 1 1.8678 1 201.34079973336966 145.87849380211094 0 0 0 0 -8689 1 1.0706 1 190.12825957867298 151.3531353088414 0 0 0 0 -3658 1 1.6607 1 191.252361883944 144.87715877987793 0 0 0 0 -3660 1 1.6596 1 157.6368794264726 151.60545014448076 0 0 0 0 -3684 1 1.6523 1 160.71463014979312 193.05129132220225 0 0 0 0 -4053 1 1.5741 1 189.02678793670188 195.47396860951918 0 0 0 0 -8706 1 1.0696 1 189.1574708160899 151.76013945638786 0 0 0 0 -3827 1 1.6215 1 166.79011240597225 198.03740560458596 0 0 0 0 -8604 1 1.0747 1 197.7902868745168 202.33779708299366 0 0 0 0 -3916 1 1.6041 1 184.7579331236445 155.78209615026833 0 0 0 0 -8440 1 1.0851 1 185.755856088943 185.49596954790044 0 0 0 0 -3924 1 1.6029 1 149.80115866852404 180.79875832453294 0 0 0 0 -3935 1 1.6012 1 183.05268784028266 170.35366015932652 0 0 0 0 -1231 1 2.8756 1 156.95211505525018 195.69918227857073 0 0 0 0 -8941 1 1.0556 1 192.2025386951599 151.99261390589828 0 0 0 0 -4055 1 1.5737 1 185.1104910794675 158.59368679580245 0 0 0 0 -9083 1 1.048 1 184.84050683819913 174.83335124156136 0 0 0 0 -7287 1 1.1721 1 158.82957039818075 144.12304945832628 0 0 0 0 -9620 1 1.0197 1 146.25902354589283 159.39753292346302 0 0 0 0 -4127 1 1.5626 1 183.49193771103972 177.52511385527424 0 0 0 0 -4135 1 1.5608 1 163.92744899313325 187.94507347324827 0 0 0 0 -4156 1 1.5567 1 177.05527718450998 186.36736419439654 0 0 0 0 -4164 1 1.5558 1 146.57938479798688 169.0901073280362 0 0 0 0 -3186 1 1.769 1 201.92291071653523 160.81181966372176 0 0 0 0 -1634 1 2.4637 1 150.42554218726292 154.5068446204089 0 0 0 0 -5726 1 1.3233 1 147.31320026367777 150.87152976455477 0 0 0 0 -1815 1 2.3463 1 162.0967967144097 140.4876510145452 0 0 0 0 -4313 1 1.5306 1 144.3258132515814 154.09251857807078 0 0 0 0 -4317 1 1.5297 1 183.93228398712185 165.36191283109102 0 0 0 0 -4346 1 1.5235 1 181.45805078182076 184.84252807385917 0 0 0 0 -4358 1 1.522 1 182.04602745676357 188.62759582748137 0 0 0 0 -6845 1 1.2082 1 193.26041593811942 161.69829859002547 0 0 0 0 -4399 1 1.5151 1 143.67023817882665 149.44389352743016 0 0 0 0 -4425 1 1.5102 1 153.77106611223306 183.18203030212246 0 0 0 0 -4459 1 1.5041 1 186.97318377850453 172.94882740382153 0 0 0 0 -4463 1 1.5036 1 160.93584576073604 150.65166980295106 0 0 0 0 -7391 1 1.162 1 196.6925784606966 142.60296436859315 0 0 0 0 -7101 1 1.1856 1 139.06260199976037 158.17502747741892 0 0 0 0 -4575 1 1.485 1 191.74297126505158 163.86558345353907 0 0 0 0 -5069 1 1.4095 1 145.33199035956812 157.32069895162513 0 0 0 0 -4613 1 1.479 1 184.79008431920346 173.59340503724871 0 0 0 0 -4652 1 1.473 1 175.3518216916966 183.56194394453578 0 0 0 0 -7334 1 1.1678 1 197.58823744745024 141.9023799812617 0 0 0 0 -4742 1 1.4575 1 169.99667645381334 140.66858062931948 0 0 0 0 -4779 1 1.4516 1 178.34204172825412 187.07044136769292 0 0 0 0 -9957 1 1.0029 1 153.91489718399475 194.4089979033615 0 0 0 0 -4791 1 1.4505 1 184.22408209721885 169.454456157603 0 0 0 0 -8570 1 1.0768 1 152.1441720177942 154.76992018507502 0 0 0 0 -4892 1 1.4338 1 145.29952849540524 158.7173533736475 0 0 0 0 -2534 1 1.9978 1 193.22988169734316 139.96861008585827 0 0 0 0 -9719 1 1.0142 1 141.60196258002034 155.08179353452735 0 0 0 0 -9206 1 1.0414 1 175.88514819457401 185.86634797613445 0 0 0 0 -4978 1 1.4231 1 162.16322980013885 192.57973210347694 0 0 0 0 -3696 1 1.6484 1 158.71686762532858 141.52357335568877 0 0 0 0 -5002 1 1.42 1 168.71314343193018 149.96995351901782 0 0 0 0 -5006 1 1.4198 1 150.50095693447224 184.94899640194265 0 0 0 0 -5016 1 1.4183 1 148.2116295276137 178.9885786929946 0 0 0 0 -1672 1 2.4414 1 154.10903933125562 147.68049796367902 0 0 0 0 -5098 1 1.4047 1 167.3846896613234 195.74535425287382 0 0 0 0 -5132 1 1.3984 1 167.82312359211127 197.00505423574353 0 0 0 0 -5177 1 1.3916 1 143.60116764584637 152.8128878014584 0 0 0 0 -2139 1 2.1601 1 162.52793518888913 147.8042205630579 0 0 0 0 -5186 1 1.3902 1 187.1567393638098 165.15450105034787 0 0 0 0 -3386 1 1.7188 1 197.39995250707136 143.81671234314186 0 0 0 0 -8909 1 1.057 1 183.60346842451153 173.30111599093388 0 0 0 0 -5252 1 1.3817 1 174.93471786472526 185.15521460325056 0 0 0 0 -5253 1 1.3815 1 189.21081597740465 193.9613135798703 0 0 0 0 -5279 1 1.3784 1 190.69922661721935 142.0745707266894 0 0 0 0 -3476 1 1.6989 1 141.12612214148086 147.3619333347466 0 0 0 0 -6327 1 1.2587 1 191.8824026826317 166.26576139718344 0 0 0 0 -766 1 3.6483 1 164.50290033647372 145.774110432669 0 0 0 0 -7593 1 1.1445 1 195.5086524365593 151.47184390568657 0 0 0 0 -5387 1 1.3656 1 170.69490646636817 191.01662717496555 0 0 0 0 -5393 1 1.3645 1 141.18347715571775 156.1594583268181 0 0 0 0 -5399 1 1.3635 1 178.58601844683926 180.60823003693855 0 0 0 0 -5418 1 1.3611 1 186.44657559818708 171.63850815272613 0 0 0 0 -5428 1 1.3594 1 190.9285300123002 143.45332527485724 0 0 0 0 -9149 1 1.0447 1 198.26408110858745 142.77048841251477 0 0 0 0 -176 1 7.2667 1 190.4904280987822 199.63777957435198 0 0 0 0 -118 1 9.0986 1 178.25004637308678 192.31236150727793 0 0 0 0 -5454 1 1.3555 1 159.48146738240118 193.87383525995153 0 0 0 0 -9375 1 1.0322 1 194.69602542084525 147.23345908333528 0 0 0 0 -5491 1 1.3519 1 194.71267540615673 200.09946340446047 0 0 0 0 -5504 1 1.3502 1 151.70798364136576 185.47220382128722 0 0 0 0 -8997 1 1.0527 1 172.265871059726 188.34145405971455 0 0 0 0 -5558 1 1.3436 1 166.48870349057051 196.66067576437467 0 0 0 0 -7711 1 1.1354 1 194.8712355182938 163.9752958964743 0 0 0 0 -5631 1 1.3336 1 180.6388119046283 180.87147137875752 0 0 0 0 -5638 1 1.3332 1 170.5318364474217 151.23833022474557 0 0 0 0 -5648 1 1.3325 1 192.21978251066255 156.338208128497 0 0 0 0 -5656 1 1.3319 1 144.16198305730225 158.02259259857712 0 0 0 0 -596 1 4.0355 1 194.82200070714714 157.2653034041385 0 0 0 0 -2365 1 2.0612 1 193.4151924520587 163.31964829877975 0 0 0 0 -8438 1 1.0854 1 183.44176095471758 156.03064664381887 0 0 0 0 -5770 1 1.3174 1 143.06361603747465 168.2903026652052 0 0 0 0 -5867 1 1.3086 1 191.0662606567026 152.07533536402636 0 0 0 0 -9456 1 1.0279 1 142.45059287219692 147.55485284846452 0 0 0 0 -5910 1 1.304 1 156.39663252945167 152.4141497820058 0 0 0 0 -5941 1 1.3008 1 197.42543053165798 147.05895857224778 0 0 0 0 -9797 1 1.0099 1 182.6780442417113 171.5953875468334 0 0 0 0 -5992 1 1.2954 1 187.71367492046582 171.70763116384592 0 0 0 0 -6031 1 1.2916 1 182.4987236811496 173.01636472784554 0 0 0 0 -4432 1 1.5087 1 171.17776634524944 198.107558878907 0 0 0 0 -6114 1 1.2823 1 164.69783000803542 186.76979862422283 0 0 0 0 -1394 1 2.6881 1 183.73133589520987 190.53025334499947 0 0 0 0 -6154 1 1.2777 1 190.77395515405067 165.58046382969908 0 0 0 0 -4423 1 1.5107 1 200.16206767878188 160.30956493292814 0 0 0 0 -6261 1 1.2638 1 190.1576299028613 150.19263283272625 0 0 0 0 -6294 1 1.2612 1 145.34376852774426 160.04250142159142 0 0 0 0 -6332 1 1.2585 1 144.43051836890527 170.6903285272767 0 0 0 0 -6339 1 1.2581 1 189.4634630929113 165.8790229577525 0 0 0 0 -6347 1 1.2574 1 188.0760969506628 164.24966550381384 0 0 0 0 -6354 1 1.2564 1 198.45425405985878 200.98189191454165 0 0 0 0 -9863 1 1.0066 1 181.07046680610645 176.44177879935896 0 0 0 0 -6754 1 1.2178 1 193.14377925828225 160.5156894844782 0 0 0 0 -925 1 3.3059 1 154.11814148361404 152.70964052246433 0 0 0 0 -3584 1 1.6743 1 160.33816666067344 141.34974861832237 0 0 0 0 -9426 1 1.0294 1 174.09197891819926 196.62196204528496 0 0 0 0 -6640 1 1.228 1 165.72860921962942 187.40084105587158 0 0 0 0 -6643 1 1.2278 1 146.73706229748294 166.575825530264 0 0 0 0 -8247 1 1.0979 1 145.83794953953134 170.13424828951014 0 0 0 0 -6683 1 1.2238 1 180.375662027074 178.0123348654813 0 0 0 0 -1264 1 2.839 1 164.6061348563222 139.98547831177063 0 0 0 0 -8828 1 1.0617 1 186.3160794391277 158.23773437954927 0 0 0 0 -6715 1 1.2208 1 190.08339345618052 140.9154147190854 0 0 0 0 -6735 1 1.2193 1 181.28104028340204 157.8425623402238 0 0 0 0 -6804 1 1.2122 1 166.6401801094242 186.65983900877643 0 0 0 0 -8373 1 1.0889 1 200.64336223650707 201.67519532432988 0 0 0 0 -6829 1 1.2094 1 198.86564128267088 202.0904477734898 0 0 0 0 -6835 1 1.2087 1 178.40477475884043 156.48324116241392 0 0 0 0 -2720 1 1.923 1 194.918415616594 152.83737457188386 0 0 0 0 -6855 1 1.207 1 163.49266604368367 186.65250305570314 0 0 0 0 -8817 1 1.0624 1 186.140275270453 196.95046670524374 0 0 0 0 -6864 1 1.2057 1 191.15297922260697 150.88658989805185 0 0 0 0 -1203 1 2.9017 1 161.83855629068572 143.89745139510657 0 0 0 0 -4518 1 1.4943 1 161.83919886152947 149.47998934519143 0 0 0 0 -6881 1 1.2041 1 185.5802414835197 157.28665134150808 0 0 0 0 -6902 1 1.2019 1 174.23328433191955 184.10873450652215 0 0 0 0 -1836 1 2.3371 1 185.85328217193606 198.6510153343416 0 0 0 0 -6924 1 1.1998 1 196.6952624972679 146.07960638225882 0 0 0 0 -2222 1 2.1257 1 138.75946810659136 145.27066818284845 0 0 0 0 -8396 1 1.0877 1 168.06894010074095 146.89982611194299 0 0 0 0 -5907 1 1.3044 1 185.20179794919852 189.3201281582404 0 0 0 0 -6994 1 1.1948 1 194.5920790164824 198.88588503102517 0 0 0 0 -8985 1 1.0534 1 188.80438215453407 158.40128914070948 0 0 0 0 -7046 1 1.1897 1 180.0196949462546 158.5486637659799 0 0 0 0 -7049 1 1.1896 1 167.56714974066927 150.57764068717216 0 0 0 0 -7067 1 1.1885 1 184.67819957562418 164.2580527045604 0 0 0 0 -9611 1 1.0199 1 182.67364707277537 165.45077626951644 0 0 0 0 -7077 1 1.1879 1 185.70095975233343 172.6667723593816 0 0 0 0 -7090 1 1.1869 1 185.3911299169639 179.4277158404629 0 0 0 0 -6882 1 1.2039 1 148.6636948679826 148.34714244333475 0 0 0 0 -8743 1 1.0674 1 146.8675226138905 170.33493084743506 0 0 0 0 -5084 1 1.4071 1 185.63806502617592 191.12324128351543 0 0 0 0 -7126 1 1.1837 1 162.999811092565 189.04384611531816 0 0 0 0 -7127 1 1.1837 1 146.53061122733004 160.40423528797902 0 0 0 0 -7284 1 1.1725 1 148.64603482567625 180.15847550589788 0 0 0 0 -4259 1 1.5405 1 198.78928654331395 159.7247622807098 0 0 0 0 -5789 1 1.3154 1 202.7622128652963 202.2170732726708 0 0 0 0 -7422 1 1.1594 1 150.84735528961465 180.0126814618852 0 0 0 0 -5432 1 1.3586 1 193.0267322942449 155.27363375893057 0 0 0 0 -7491 1 1.153 1 180.54276182329775 159.53660103335116 0 0 0 0 -4378 1 1.5187 1 138.88313771435665 151.91494972630488 0 0 0 0 -7545 1 1.1488 1 181.8634785289738 162.2971859350283 0 0 0 0 -7591 1 1.1447 1 188.0229814607532 194.55229566750603 0 0 0 0 -9694 1 1.0159 1 165.92238739932716 195.66809303525275 0 0 0 0 -7657 1 1.1396 1 164.69243650651734 148.08293355282933 0 0 0 0 -9138 1 1.0452 1 190.19710773546066 162.3833290769848 0 0 0 0 -2341 1 2.0718 1 172.79709395366882 197.41659967045285 0 0 0 0 -9358 1 1.0331 1 185.60901213844804 163.66072034695085 0 0 0 0 -7739 1 1.1333 1 182.79338295242403 178.6459974626781 0 0 0 0 -7750 1 1.1324 1 151.89558898455053 155.83608128776356 0 0 0 0 -3387 1 1.7188 1 139.232157925154 153.47825589247813 0 0 0 0 -5502 1 1.3503 1 154.5202103085516 144.5634652248199 0 0 0 0 -3911 1 1.6059 1 199.28838112165346 161.59054470451798 0 0 0 0 -9444 1 1.0287 1 173.31010448110771 184.5437279676871 0 0 0 0 -7809 1 1.1281 1 193.79604080625404 141.4426776534022 0 0 0 0 -7818 1 1.1277 1 191.87607994661818 165.11724610740353 0 0 0 0 -9695 1 1.0157 1 140.15375608885373 149.34644942887783 0 0 0 0 -7806 1 1.1284 1 144.20728708747998 148.25433424802856 0 0 0 0 -7848 1 1.1256 1 191.19373351823282 140.79688212111824 0 0 0 0 -7886 1 1.1222 1 180.52451675726303 185.73793266557516 0 0 0 0 -7950 1 1.1177 1 169.3564862759985 151.01160676620458 0 0 0 0 -9917 1 1.0044 1 190.05567067940265 194.734762787275 0 0 0 0 -7966 1 1.1167 1 147.4632585552609 173.35182974369008 0 0 0 0 -7983 1 1.1155 1 141.9234610835522 164.60109248044617 0 0 0 0 -7990 1 1.115 1 142.0958236352778 161.94775853768803 0 0 0 0 -9176 1 1.043 1 191.84477569278837 142.89209847043853 0 0 0 0 -6133 1 1.2804 1 163.26814944389588 141.85719496427913 0 0 0 0 -7564 1 1.1467 1 150.66247588344402 186.1305535693787 0 0 0 0 -8063 1 1.11 1 169.15140534635785 147.0823678467574 0 0 0 0 -9273 1 1.038 1 167.45477325254848 187.49948515306863 0 0 0 0 -8118 1 1.1065 1 153.19873652137437 154.68149401020054 0 0 0 0 -8160 1 1.1038 1 149.92197351816995 183.9820347329706 0 0 0 0 -8185 1 1.1022 1 142.40746077898368 153.05617869915923 0 0 0 0 -8210 1 1.1008 1 190.68876746866698 195.51713737854703 0 0 0 0 -8223 1 1.1002 1 186.5325792324639 164.12486267115548 0 0 0 0 -8238 1 1.0989 1 179.5362601382238 181.39160183234134 0 0 0 0 -4907 1 1.4311 1 186.87964731331857 191.78122444802847 0 0 0 0 -5052 1 1.4132 1 140.22868232249093 146.15253194389282 0 0 0 0 -9621 1 1.0197 1 185.51747657328727 178.33198686460574 0 0 0 0 -8257 1 1.0974 1 169.6438589720307 149.12342724105102 0 0 0 0 -8264 1 1.097 1 170.03655425913993 150.13834449588728 0 0 0 0 -4765 1 1.4541 1 195.86744361331031 147.03365899379799 0 0 0 0 -8323 1 1.0926 1 190.478709106923 161.16893100323912 0 0 0 0 -7195 1 1.1784 1 159.92539298850184 144.41325740307158 0 0 0 0 -8598 1 1.0752 1 180.3286364289496 199.14968333295474 0 0 0 0 -6449 1 1.2476 1 173.52535505345767 200.74089747451774 0 0 0 0 -8134 1 1.1054 1 179.024714230792 198.85404332052323 0 0 0 0 -5330 1 1.372 1 168.16988068099903 198.31650283482946 0 0 0 0 -1945 1 2.2712 1 172.41097639402403 199.49261674870328 0 0 0 0 -7210 1 1.1774 1 152.4053338396158 147.08442608139927 0 0 0 0 -4238 1 1.5437 1 178.74208953715396 197.55991237021135 0 0 0 0 -7721 1 1.1348 1 143.00649256544185 154.0000997704928 0 0 0 0 -7498 1 1.1525 1 200.64432616712725 161.47640154221446 0 0 0 0 -4414 1 1.5128 1 152.74049537599757 194.10797199019828 0 0 0 0 -8352 1 1.0905 1 153.7082512733786 145.41397801082806 0 0 0 0 -49 1 13.3405 1 202.48955333556756 153.31995155008138 0 0 0 0 -2722 1 1.9228 1 199.0653310000323 144.07265584159137 0 0 0 0 -1973 1 2.2573 1 153.35172374175647 195.87498412605154 0 0 0 0 -881 1 3.3885 1 179.36814816672407 201.09056253581852 0 0 0 0 -9093 1 1.0474 1 158.40931823561536 194.3983249271378 0 0 0 0 -1351 1 2.7351 1 184.7307095051883 200.92269319092262 0 0 0 0 -5441 1 1.3579 1 155.0091924944432 196.3374553963282 0 0 0 0 -2303 1 2.0907 1 166.96593814031496 199.80278518164081 0 0 0 0 -7340 1 1.1672 1 161.91483380809703 146.15002790167068 0 0 0 0 -4890 1 1.4344 1 199.78454936596424 145.47519155427102 0 0 0 0 -873 1 3.4178 1 169.6849542935248 200.04427374417685 0 0 0 0 -1174 1 2.931 1 182.1921811564572 199.77007903320438 0 0 0 0 -3633 1 1.6653 1 168.78159833054323 145.75236313331422 0 0 0 0 -2683 1 1.937 1 145.56198828957457 148.88760503689522 0 0 0 0 -3400 1 1.715 1 173.04071958228923 202.06004836894505 0 0 0 0 -2905 1 1.8621 1 139.18596274735924 161.6980783934027 0 0 0 0 -5477 1 1.3532 1 153.45754259582986 149.4560929936467 0 0 0 0 -9181 1 1.0429 1 143.4891202187718 166.452824663422 0 0 0 0 -2865 1 1.8731 1 154.222902233976 197.6927699111859 0 0 0 0 -9706 1 1.0149 1 177.2328393252186 201.5253782318461 0 0 0 0 -4598 1 1.4806 1 154.962021838965 194.97437351533412 0 0 0 0 -249 1 6.2144 1 158.40595976964852 147.74724854390072 0 0 0 0 -6873 1 1.2045 1 157.29302058183183 198.9864551028274 0 0 0 0 -3168 1 1.7746 1 164.00603415785832 143.18438974167438 0 0 0 0 -5014 1 1.4185 1 171.76530738543494 201.21191564695192 0 0 0 0 -8695 1 1.0702 1 155.73311707205121 197.22525415565946 0 0 0 0 -3667 1 1.6567 1 159.94163302183532 202.64359721350647 0 0 0 0 -9163 1 1.0439 1 143.15649793426266 148.27786322735514 0 0 0 0 -6539 1 1.2385 1 152.40146369475625 148.2793296900365 0 0 0 0 -4247 1 1.5424 1 140.79777884118442 162.14027855069259 0 0 0 0 -9732 1 1.0137 1 181.40100028804557 201.85225328838428 0 0 0 0 -4677 1 1.468 1 156.24379780637858 198.3033947066146 0 0 0 0 -4227 1 1.5462 1 151.18993466676213 147.6097690079164 0 0 0 0 -7032 1 1.1912 1 165.73942997052146 200.81524588869587 0 0 0 0 -2728 1 1.9191 1 147.4116519449526 149.2455176439741 0 0 0 0 -5213 1 1.3873 1 167.69175720295877 201.3251742362136 0 0 0 0 -3007 1 1.8269 1 153.69305002409743 199.40130885441235 0 0 0 0 -1478 1 2.5969 1 167.08256683258162 138.93274294927417 0 0 0 0 -2619 1 1.9604 1 140.9200184106644 152.79205967328832 0 0 0 0 -6771 1 1.2158 1 155.10346764186647 198.92329485043877 0 0 0 0 -2963 1 1.844 1 182.78448262383765 202.07042911007042 0 0 0 0 -2179 1 2.1457 1 139.01293744842386 159.77187528797018 0 0 0 0 -8856 1 1.0597 1 140.14738774159696 148.32277708735916 0 0 0 0 -4231 1 1.5458 1 140.51035509086861 154.46871753221697 0 0 0 0 -373 1 5.0928 1 150.52704482875544 150.78660142025066 0 0 0 0 -2538 1 1.997 1 156.85470088966406 140.37069765540173 0 0 0 0 -9311 1 1.0356 1 158.35360905220318 140.27181922754752 0 0 0 0 -1748 1 2.3865 1 159.80239369750728 139.3932881246062 0 0 0 0 -8577 1 1.0765 1 201.5749215522342 202.21360101048774 0 0 0 0 -4979 1 1.423 1 143.77201344735929 169.42582990381229 0 0 0 0 -4922 1 1.4293 1 142.46305096520948 167.0994323432399 0 0 0 0 -8492 1 1.0813 1 140.27406893140346 160.73745616169222 0 0 0 0 -4908 1 1.4311 1 161.45189931577394 202.87604512507858 0 0 0 0 -8332 1 1.0922 1 181.57309359474422 202.88491188288617 0 0 0 0 -8062 1 1.1101 1 177.91253025750177 202.7596991599163 0 0 0 0 -31 1 17.8528 1 146.65094419266555 139.11454280650725 0 0 0 0 -5280 1 1.3783 1 142.36534033837893 165.7389925254683 0 0 0 0 -1158 1 2.9455 1 139.09334200178958 156.17804788890084 0 0 0 0 -6066 1 1.2867 1 157.97668523172675 139.2055969210607 0 0 0 0 -2895 1 1.8637 1 140.6829729185376 163.88908237699516 0 0 0 0 -8250 1 1.0978 1 202.78750923650256 146.16202296578763 0 0 0 0 -4356 1 1.5221 1 186.41813928291546 202.82152858892016 0 0 0 0 -8923 1 1.0564 1 141.21009282351176 165.39403845136414 0 0 0 0 -2894 1 1.8638 1 139.15070179298232 147.26951842459908 0 0 0 0 -9952 1 1.003 1 139.60762164647275 163.01665509931223 0 0 0 0 -7825 1 1.1272 1 161.46448734017045 138.88570127910165 0 0 0 0 -4778 1 1.4517 1 184.94455088156516 202.94579028112187 0 0 0 0 -30 1 18.0424 1 177.67274437235992 215.67058725054488 0 0 0 0 -64 1 11.5229 1 168.43495896943162 253.04856560756863 0 0 0 0 -65 1 11.4479 1 163.32166386731225 224.82867874581964 0 0 0 0 -74 1 10.7114 1 154.5920260824413 235.57067340733573 0 0 0 0 -79 1 10.2797 1 159.2316343253177 260.9526866770022 0 0 0 0 -95 1 9.6939 1 177.07470181200074 260.7710379466764 0 0 0 0 -7887 1 1.1222 1 149.93849772769727 261.7847541932538 0 0 0 0 -144 1 7.8203 1 165.38919912227126 205.2533308422718 0 0 0 0 -162 1 7.4747 1 166.2492617698487 243.85142962509383 0 0 0 0 -1578 1 2.5104 1 179.30112575697657 266.4300931707776 0 0 0 0 -225 1 6.4105 1 170.61434553213832 236.32951677798076 0 0 0 0 -253 1 6.1766 1 161.0798346968996 248.2244691361916 0 0 0 0 -3777 1 1.6344 1 181.7538334840953 266.0122052064187 0 0 0 0 -302 1 5.7323 1 155.16197603304548 248.69087999047392 0 0 0 0 -311 1 5.6454 1 165.6709117706498 265.623938443744 0 0 0 0 -2421 1 2.04 1 193.77245923469513 208.6346661239486 0 0 0 0 -367 1 5.1721 1 155.93694026034464 214.1350510007835 0 0 0 0 -35 1 17.3577 1 141.70610593356903 266.1647092011747 0 0 0 0 -6599 1 1.2316 1 150.95121210884034 266.69600454048987 0 0 0 0 -415 1 4.8561 1 161.2750704972878 215.08821784280008 0 0 0 0 -445 1 4.664 1 185.8421551179351 205.81477307695795 0 0 0 0 -7581 1 1.1454 1 150.00756629212668 242.31509286739634 0 0 0 0 -474 1 4.5363 1 154.26121071786807 253.64150043027612 0 0 0 0 -479 1 4.5096 1 171.7591554254835 241.59422498513763 0 0 0 0 -541 1 4.2359 1 187.48863427599255 220.21619128097825 0 0 0 0 -5085 1 1.4067 1 196.25764662157488 207.7698790271101 0 0 0 0 -545 1 4.2222 1 158.62113669911614 210.3478806407414 0 0 0 0 -548 1 4.2077 1 192.89875192330047 211.60808992550858 0 0 0 0 -576 1 4.1084 1 183.10628231238294 253.67331226303534 0 0 0 0 -590 1 4.0484 1 169.24839770155282 229.61466170739448 0 0 0 0 -661 1 3.8606 1 179.5685355846329 250.28883369752901 0 0 0 0 -684 1 3.8163 1 173.02323066483396 227.3969753866013 0 0 0 0 -689 1 3.8112 1 185.46044891249957 224.60529071347761 0 0 0 0 -702 1 3.7804 1 177.29595119020394 245.9812348880623 0 0 0 0 -706 1 3.7739 1 174.58168942680456 248.5736957143114 0 0 0 0 -730 1 3.7259 1 175.77869890441673 242.48640471626828 0 0 0 0 -755 1 3.676 1 153.26595943372075 257.52573638851754 0 0 0 0 -758 1 3.6645 1 156.22918937070213 228.72184330605194 0 0 0 0 -778 1 3.6309 1 173.69582031000627 232.39964173620436 0 0 0 0 -831 1 3.5026 1 181.47796124472947 247.17566088367326 0 0 0 0 -5669 1 1.3299 1 196.79908706908677 206.51817837620015 0 0 0 0 -870 1 3.4248 1 162.96892187162356 232.1871317024242 0 0 0 0 -2044 1 2.2157 1 194.99466002086254 203.12522860864433 0 0 0 0 -752 1 3.681 1 148.52928266323752 258.0933345503545 0 0 0 0 -902 1 3.3531 1 188.87573704561225 211.0759196764787 0 0 0 0 -903 1 3.3523 1 150.77197216013383 249.5423214482374 0 0 0 0 -906 1 3.349 1 170.348591627275 207.71125181863587 0 0 0 0 -9304 1 1.0361 1 194.91586378322057 204.74074905325364 0 0 0 0 -930 1 3.2949 1 179.86259134558148 239.9737007239556 0 0 0 0 -958 1 3.2378 1 177.31757150713776 229.50246760922852 0 0 0 0 -972 1 3.2151 1 178.52789708131814 234.7989857333078 0 0 0 0 -993 1 3.1874 1 159.11213799307978 254.26862370623493 0 0 0 0 -1010 1 3.1607 1 170.8512735470762 259.8528457214913 0 0 0 0 -1023 1 3.1453 1 180.18113453891263 230.8798559425428 0 0 0 0 -1033 1 3.1218 1 168.38037616143146 210.88026474135216 0 0 0 0 -1039 1 3.1097 1 163.06734401981552 211.59318517670252 0 0 0 0 -1041 1 3.1076 1 182.87121389783445 235.4912420594314 0 0 0 0 -1065 1 3.0645 1 153.78718161575836 243.76274056488543 0 0 0 0 -4985 1 1.4223 1 200.6749377719717 205.7240438075803 0 0 0 0 -1082 1 3.0413 1 156.94971253789635 221.5754179962221 0 0 0 0 -1101 1 3.0162 1 154.94160108755358 207.41152613929117 0 0 0 0 -1140 1 2.9701 1 184.08688810916027 230.12251676218852 0 0 0 0 -7468 1 1.1555 1 141.56988148859043 256.91697058159946 0 0 0 0 -1192 1 2.9157 1 160.72808790139592 240.47940963926288 0 0 0 0 -1214 1 2.8941 1 153.49442931728964 224.1764180218774 0 0 0 0 -1221 1 2.888 1 157.90407923036398 218.81081281277469 0 0 0 0 -5464 1 1.3549 1 177.15014070871166 266.28842849610203 0 0 0 0 -1252 1 2.8476 1 157.79922985380588 206.95229703110078 0 0 0 0 -1278 1 2.8152 1 155.8151292017619 225.57692567251036 0 0 0 0 -1279 1 2.8145 1 174.31756720233005 205.9117376657582 0 0 0 0 -1326 1 2.7615 1 175.93124216239386 238.2871915135886 0 0 0 0 -3495 1 1.6942 1 183.55101197378033 203.63166571630666 0 0 0 0 -1392 1 2.6902 1 158.17479763616157 243.61415621100028 0 0 0 0 -2688 1 1.9347 1 198.3021764996693 207.1291699758725 0 0 0 0 -1420 1 2.6601 1 189.25683345296272 217.22856221203264 0 0 0 0 -1458 1 2.6106 1 168.01254852410545 232.67634165119333 0 0 0 0 -1460 1 2.6088 1 171.9208601461229 264.0044908119623 0 0 0 0 -1483 1 2.5929 1 159.40669107296628 230.99796733099387 0 0 0 0 -1516 1 2.5602 1 184.7039876828961 257.82517946816165 0 0 0 0 -1523 1 2.5514 1 169.66659040998147 265.0868732107882 0 0 0 0 -1544 1 2.5356 1 195.72328149849204 209.6549285052776 0 0 0 0 -9842 1 1.0082 1 150.96378973366487 257.96516212794455 0 0 0 0 -1601 1 2.4933 1 182.45330276618213 206.643268627188 0 0 0 0 -1625 1 2.4717 1 168.92368575707908 220.86071593787491 0 0 0 0 -1639 1 2.4596 1 170.16193211646078 224.25898576902054 0 0 0 0 -1665 1 2.4441 1 166.22128127033716 216.7782527666993 0 0 0 0 -1669 1 2.4431 1 165.7183225169112 211.29247563963406 0 0 0 0 -1699 1 2.4254 1 160.94864944963666 234.22118249324805 0 0 0 0 -1738 1 2.3972 1 182.73921422744436 244.52976674630565 0 0 0 0 -1783 1 2.3663 1 164.95819146942026 237.3759006240165 0 0 0 0 -1785 1 2.3651 1 167.53357521967285 214.78589428741225 0 0 0 0 -1808 1 2.3521 1 177.77715729163376 232.19211931671768 0 0 0 0 -1819 1 2.3459 1 182.54786037945598 232.25174747713316 0 0 0 0 -1882 1 2.3118 1 176.02053807036364 235.8297474076036 0 0 0 0 -1900 1 2.3007 1 176.14007662362334 254.9093134059696 0 0 0 0 -1906 1 2.2963 1 175.33131223486836 266.42672595767345 0 0 0 0 -1920 1 2.2882 1 153.76014207981706 227.0935867391811 0 0 0 0 -4255 1 1.5417 1 150.73566778884057 256.7010845435731 0 0 0 0 -1948 1 2.2704 1 182.501912554734 258.5263727777761 0 0 0 0 -1960 1 2.2643 1 178.00138775550752 252.87831171516623 0 0 0 0 -1982 1 2.2523 1 170.1652655289907 262.40474073537337 0 0 0 0 -1997 1 2.2433 1 156.38974105191656 241.72784563551113 0 0 0 0 -2041 1 2.2179 1 162.7194908081661 237.11485409973324 0 0 0 0 -2047 1 2.2135 1 182.41372986212195 224.61074889061112 0 0 0 0 -460 1 4.6245 1 146.12496877035105 254.7925313377654 0 0 0 0 -9891 1 1.0054 1 169.12093371376287 227.09368612021098 0 0 0 0 -2146 1 2.1577 1 178.60631291492476 242.36045029038615 0 0 0 0 -2168 1 2.1495 1 184.0013507319202 263.2160255024188 0 0 0 0 -2180 1 2.1456 1 157.1735657457201 252.02000255091377 0 0 0 0 -2191 1 2.1432 1 174.56183319405227 245.08647059397433 0 0 0 0 -2192 1 2.143 1 153.51299392190606 221.70281860039898 0 0 0 0 -2196 1 2.1399 1 179.41377272517536 205.1866172698262 0 0 0 0 -2204 1 2.135 1 179.5979335787333 244.19783681171108 0 0 0 0 -2236 1 2.1206 1 184.06263136711596 260.0409642288999 0 0 0 0 -2251 1 2.1173 1 183.0475342717044 238.0594373567516 0 0 0 0 -3636 1 1.665 1 141.48109368492356 253.6190136972005 0 0 0 0 -2278 1 2.1036 1 163.1615523175113 240.30060153095224 0 0 0 0 -2287 1 2.1 1 166.77598581975326 234.64466636740707 0 0 0 0 -2289 1 2.0982 1 160.67435037271215 244.13513294863074 0 0 0 0 -4327 1 1.5274 1 182.02020773568938 204.11061188833338 0 0 0 0 -2375 1 2.0574 1 180.6748749905344 228.18702334991838 0 0 0 0 -2401 1 2.0473 1 153.44719027533446 229.30447717530097 0 0 0 0 -2407 1 2.0449 1 172.91792638589547 246.2510531377477 0 0 0 0 -2409 1 2.0448 1 164.79961085364144 234.14118522261907 0 0 0 0 -2412 1 2.0442 1 152.6067012046318 241.55191692515325 0 0 0 0 -2417 1 2.0427 1 190.3985879227229 214.84925140421566 0 0 0 0 -2425 1 2.0385 1 180.355790327173 236.68399364758216 0 0 0 0 -2436 1 2.0324 1 172.14460466856337 230.12764020356016 0 0 0 0 -2440 1 2.0306 1 191.0766175428585 207.6816995320001 0 0 0 0 -2473 1 2.0194 1 161.57093168642288 209.57783451512358 0 0 0 0 -2481 1 2.0168 1 154.09358375371392 217.63089183568033 0 0 0 0 -2530 1 1.9992 1 185.1127449472764 209.039795855924 0 0 0 0 -2531 1 1.9991 1 175.92726031667365 227.31778300372815 0 0 0 0 -2537 1 1.997 1 180.73016252982856 233.3840729620214 0 0 0 0 -847 1 3.4624 1 175.7136233307862 203.13524893550823 0 0 0 0 -2544 1 1.9909 1 158.53677135968093 266.9696131752414 0 0 0 0 -9430 1 1.0293 1 195.04934176898874 207.80809920606194 0 0 0 0 -2617 1 1.9613 1 151.75135498339054 246.9226094882751 0 0 0 0 -2625 1 1.9576 1 155.73013581183835 209.67084201086112 0 0 0 0 -2657 1 1.9447 1 188.82252329184513 213.65223283986074 0 0 0 0 -2706 1 1.9271 1 183.44335331412665 248.90784854099212 0 0 0 0 -4003 1 1.583 1 180.52874537914508 203.7039306248447 0 0 0 0 -2755 1 1.9095 1 180.56323050269248 242.4701277038012 0 0 0 0 -2779 1 1.9017 1 161.4846059963268 218.4366697542639 0 0 0 0 -2781 1 1.9012 1 183.66165268366302 250.76716167196275 0 0 0 0 -5248 1 1.3821 1 192.7095781086797 207.36590567104525 0 0 0 0 -2795 1 1.8945 1 176.7932707257609 250.17441595776089 0 0 0 0 -2702 1 1.9289 1 139.64515073122936 256.75362973007014 0 0 0 0 -2804 1 1.8922 1 172.20497601988484 224.72483582785534 0 0 0 0 -2828 1 1.8855 1 173.63368224521093 265.33572031641654 0 0 0 0 -2842 1 1.8822 1 168.28254562516463 261.5525777743137 0 0 0 0 -2848 1 1.8801 1 150.1894988479935 240.0505447544749 0 0 0 0 -7881 1 1.1228 1 187.55546067016854 203.47772396928187 0 0 0 0 -2897 1 1.8636 1 178.87930410981755 227.6410869832925 0 0 0 0 -2909 1 1.8612 1 186.33071974934433 210.52297455161883 0 0 0 0 -2910 1 1.861 1 164.89662308664163 239.43032221052374 0 0 0 0 -2927 1 1.8558 1 185.1680971663386 261.6419053878541 0 0 0 0 -2934 1 1.8518 1 163.19444971070115 217.79545739174566 0 0 0 0 -2938 1 1.8507 1 179.4195234972122 225.44557630066598 0 0 0 0 -2948 1 1.8492 1 176.6721689902823 225.55218797098468 0 0 0 0 -8113 1 1.1068 1 202.08531357165805 203.17698421336996 0 0 0 0 -2976 1 1.8403 1 166.48248419215258 261.1445250717633 0 0 0 0 -2994 1 1.8351 1 168.9990278735129 240.1033795948305 0 0 0 0 -3001 1 1.8295 1 186.08596694009128 263.2103227184822 0 0 0 0 -4027 1 1.5784 1 154.09422425074717 205.37526882037193 0 0 0 0 -3030 1 1.8182 1 179.40503209901505 254.33359575881062 0 0 0 0 -3132 1 1.7837 1 161.95960739444655 252.02006068277885 0 0 0 0 -3134 1 1.7832 1 154.86765354385972 220.3810011752245 0 0 0 0 -3139 1 1.7816 1 161.5050107540154 253.69398465803818 0 0 0 0 -3192 1 1.7675 1 181.1166314536777 226.04248249969433 0 0 0 0 -3216 1 1.761 1 156.38028623470498 244.89625943803478 0 0 0 0 -3264 1 1.7492 1 186.9214983863029 208.81859743797014 0 0 0 0 -3290 1 1.743 1 151.71894089999927 245.00912284891393 0 0 0 0 -3294 1 1.7417 1 168.46185307574996 263.32199458954085 0 0 0 0 -3306 1 1.7387 1 178.13408964330915 238.22751722285162 0 0 0 0 -3311 1 1.7375 1 148.97265906882794 241.3776164154084 0 0 0 0 -3313 1 1.7366 1 166.64995858207354 259.402935906333 0 0 0 0 -3340 1 1.7313 1 190.8732696086578 209.5461679273331 0 0 0 0 -3359 1 1.7257 1 173.9427392179583 224.80377804191417 0 0 0 0 -4398 1 1.5151 1 177.79844547371897 204.4108299384452 0 0 0 0 -3405 1 1.7139 1 172.78348368799803 244.45542658603975 0 0 0 0 -3435 1 1.7084 1 182.91650717715734 256.5755093291394 0 0 0 0 -3447 1 1.7047 1 186.76076304732197 260.95161510689655 0 0 0 0 -3449 1 1.7045 1 160.7336541134062 236.6251597713349 0 0 0 0 -3469 1 1.6996 1 189.50644711542145 208.66319755825475 0 0 0 0 -3487 1 1.6961 1 167.0223148407023 212.84705974366952 0 0 0 0 -4080 1 1.5698 1 153.41434176290372 260.1329323670986 0 0 0 0 -3536 1 1.6855 1 174.9154168967691 251.8065913064286 0 0 0 0 -1001 1 3.1759 1 155.01118832452303 266.09710238724955 0 0 0 0 -3577 1 1.675 1 174.3950115662421 255.79054744401802 0 0 0 0 -3615 1 1.6685 1 171.30952487532008 245.08444959867413 0 0 0 0 -3652 1 1.6619 1 187.8018837946935 263.23741733953113 0 0 0 0 -9387 1 1.0314 1 196.13777691907592 204.26579159173545 0 0 0 0 -3676 1 1.6543 1 166.89328099206696 237.82788327039472 0 0 0 0 -3707 1 1.645 1 160.00627716415275 238.36726424364454 0 0 0 0 -4301 1 1.5324 1 151.6815624846798 251.8267947338809 0 0 0 0 -9980 1 1.0012 1 148.62806497838736 238.72748546089002 0 0 0 0 -3782 1 1.6334 1 182.00110011145262 229.35772270341008 0 0 0 0 -3844 1 1.6187 1 168.98940184891885 267.0372532980456 0 0 0 0 -3923 1 1.6029 1 167.31305791981492 219.6919065868438 0 0 0 0 -3932 1 1.6014 1 175.1013859115946 230.24543317045368 0 0 0 0 -3937 1 1.6009 1 166.07113292676883 218.76914230546834 0 0 0 0 -3967 1 1.5931 1 182.07646767474372 241.82325260614377 0 0 0 0 -3992 1 1.5883 1 158.997944232566 251.73515354280488 0 0 0 0 -3996 1 1.5871 1 181.29498373192683 257.04646985790043 0 0 0 0 -2453 1 2.0268 1 141.0866080514422 255.40908425445795 0 0 0 0 -719 1 3.7519 1 150.18479041623746 254.07649163228652 0 0 0 0 -4010 1 1.5813 1 172.17574937538615 206.0925813396171 0 0 0 0 -4012 1 1.5812 1 183.19393877721313 239.85971685527912 0 0 0 0 -3043 1 1.8139 1 149.19468104768688 251.54693945854882 0 0 0 0 -1921 1 2.2881 1 147.97389045888914 248.7126387014022 0 0 0 0 -4035 1 1.5769 1 187.37290417353225 214.59645867854044 0 0 0 0 -850 1 3.4593 1 151.9574616908246 264.5964458593752 0 0 0 0 -4074 1 1.5706 1 164.96062175601818 213.1269529299706 0 0 0 0 -4079 1 1.57 1 185.21557167577922 221.9279258363887 0 0 0 0 -4092 1 1.5681 1 165.1194244012602 260.00566563823884 0 0 0 0 -4117 1 1.5636 1 160.85723182512837 211.98588138365858 0 0 0 0 -4151 1 1.558 1 161.14470136304294 207.21835057794598 0 0 0 0 -7804 1 1.1285 1 150.35927848494632 262.9588316902918 0 0 0 0 -2076 1 2.1961 1 197.62129110549648 204.93139448429088 0 0 0 0 -4203 1 1.5489 1 188.2249328712048 207.73469386180776 0 0 0 0 -4225 1 1.5463 1 187.44753765118043 216.16321905820593 0 0 0 0 -4235 1 1.5443 1 172.09636101161198 247.75901950634167 0 0 0 0 -8951 1 1.0551 1 151.70695484136607 255.84309548520386 0 0 0 0 -4253 1 1.542 1 160.39250257257382 252.33010329745883 0 0 0 0 -4260 1 1.5401 1 190.4411259795934 213.05981657412386 0 0 0 0 -9555 1 1.0229 1 144.7210145055049 247.42708411158426 0 0 0 0 -643 1 3.9101 1 192.45665172553802 204.77861289622473 0 0 0 0 -1153 1 2.951 1 200.1543040782149 203.63399108261171 0 0 0 0 -4336 1 1.5255 1 166.2149393772643 231.7179417473769 0 0 0 0 -5051 1 1.4132 1 145.9958938684905 257.8101397872043 0 0 0 0 -4357 1 1.522 1 183.98532191670165 233.51319202390206 0 0 0 0 -5964 1 1.2985 1 195.4450048741186 206.72242038564076 0 0 0 0 -4392 1 1.5164 1 177.7832722667593 205.9132888589248 0 0 0 0 -4396 1 1.5155 1 154.52324608630346 241.6403304655304 0 0 0 0 -6727 1 1.2197 1 157.0104506869786 266.8192433870623 0 0 0 0 -9005 1 1.0525 1 142.7338778292686 251.05601841338478 0 0 0 0 -4429 1 1.5094 1 176.16204468641493 253.0743879521679 0 0 0 0 -5215 1 1.3872 1 143.71459865080072 249.68233260489208 0 0 0 0 -5055 1 1.4123 1 201.98046615436053 204.73181171815907 0 0 0 0 -4466 1 1.5029 1 179.77980494755968 255.9231015272662 0 0 0 0 -4470 1 1.5024 1 155.74421128921878 223.46462464180084 0 0 0 0 -4477 1 1.5014 1 183.88819110966563 226.69351108095722 0 0 0 0 -2255 1 2.1159 1 173.09530795490986 203.88285899814443 0 0 0 0 -4524 1 1.4939 1 197.42233676545098 208.58400340854024 0 0 0 0 -4542 1 1.4908 1 185.33007588575882 228.24288956543097 0 0 0 0 -4547 1 1.4902 1 188.6965438236024 215.30860664747527 0 0 0 0 -4552 1 1.4889 1 166.54048531962061 239.3456162889645 0 0 0 0 -4553 1 1.4888 1 176.03683693462307 231.4614510265325 0 0 0 0 -3799 1 1.6293 1 143.60814522960175 253.01055687299143 0 0 0 0 -4599 1 1.4805 1 180.57834280804622 206.4209786727887 0 0 0 0 -4626 1 1.4774 1 177.27724606398095 248.58772027313873 0 0 0 0 -4196 1 1.55 1 178.99427370382907 203.46709122111523 0 0 0 0 -4686 1 1.4663 1 190.20376756939902 206.17456869934261 0 0 0 0 -4702 1 1.4646 1 170.40725615409323 227.12539173651584 0 0 0 0 -4716 1 1.4616 1 159.77146134945428 207.7733046990838 0 0 0 0 -4739 1 1.4581 1 182.04736938867106 251.13309637669545 0 0 0 0 -4748 1 1.457 1 164.60502929054195 218.5592396683109 0 0 0 0 -9982 1 1.0011 1 167.6343110346462 239.87409753915597 0 0 0 0 -1424 1 2.657 1 189.20394131715116 204.38272225705543 0 0 0 0 -4807 1 1.4475 1 186.73097215867932 212.11722088809285 0 0 0 0 -4842 1 1.4428 1 188.77443324533928 206.34754504514382 0 0 0 0 -8016 1 1.1136 1 153.40863835335256 261.4793748465524 0 0 0 0 -4876 1 1.4371 1 170.10056107796413 245.9318452265035 0 0 0 0 -4905 1 1.4318 1 178.04191583867092 226.33025147864925 0 0 0 0 -4853 1 1.4409 1 153.04644701040246 245.84921113517203 0 0 0 0 -1181 1 2.9269 1 151.22028011450033 259.9511693384135 0 0 0 0 -4912 1 1.4305 1 181.159268911576 255.56860814584184 0 0 0 0 -4921 1 1.4296 1 164.26204222724263 209.7142649453889 0 0 0 0 -4954 1 1.4254 1 183.74288365826067 208.07080445081985 0 0 0 0 -4976 1 1.4233 1 176.54065252954464 233.60708960538147 0 0 0 0 -4981 1 1.4227 1 164.40600179119187 214.53455371403302 0 0 0 0 -4986 1 1.422 1 166.62266442530233 230.32686562023534 0 0 0 0 -4993 1 1.4211 1 172.6904336292592 207.41481523714978 0 0 0 0 -4997 1 1.4207 1 155.56794819776283 218.46363855004168 0 0 0 0 -5005 1 1.4199 1 163.94599750908813 257.60496694182416 0 0 0 0 -8195 1 1.1018 1 187.57961586401038 265.4919708794261 0 0 0 0 -5017 1 1.418 1 155.97301818195214 243.43298246217586 0 0 0 0 -5031 1 1.4158 1 192.407305443997 214.36424825512722 0 0 0 0 -5032 1 1.4157 1 154.12485354540587 209.5751614323932 0 0 0 0 -5045 1 1.4139 1 176.45664065939002 251.71758692016556 0 0 0 0 -5057 1 1.4121 1 169.94365690209472 232.23464323610835 0 0 0 0 -5079 1 1.4078 1 160.10857222041457 242.53454714059606 0 0 0 0 -7344 1 1.1663 1 198.1635043570025 203.3631736051362 0 0 0 0 -5130 1 1.3986 1 167.47607615448305 218.20413438535326 0 0 0 0 -5140 1 1.3978 1 166.61594751787717 209.61452720169922 0 0 0 0 -5179 1 1.3913 1 182.07287183935063 249.72224563670244 0 0 0 0 -5184 1 1.3908 1 175.28723428855972 234.2261693538368 0 0 0 0 -5207 1 1.3881 1 176.3758828227079 206.0545630403328 0 0 0 0 -5105 1 1.4036 1 154.28028501727547 263.98643163464124 0 0 0 0 -5232 1 1.3847 1 158.1415104307088 250.5631739132327 0 0 0 0 -911 1 3.333 1 170.51501509804595 203.22838274991426 0 0 0 0 -5255 1 1.3814 1 177.71186424430522 240.85407414163373 0 0 0 0 -5263 1 1.3806 1 158.34844666102117 245.6356349329069 0 0 0 0 -5278 1 1.3786 1 180.74685977347838 235.03866472438668 0 0 0 0 -5289 1 1.3771 1 156.37555921892888 217.34897489646937 0 0 0 0 -5304 1 1.3748 1 162.35305756773548 241.8348764788643 0 0 0 0 -5305 1 1.3747 1 183.20557076082196 242.7247450520597 0 0 0 0 -5337 1 1.3715 1 171.29653812532277 246.58581748301788 0 0 0 0 -5361 1 1.3684 1 159.76873694314716 206.20418829481721 0 0 0 0 -5377 1 1.3669 1 165.01363279872396 230.9749432951399 0 0 0 0 -5391 1 1.3646 1 157.77244729154665 240.61304630942294 0 0 0 0 -5394 1 1.3644 1 166.5879928191517 236.35972254954063 0 0 0 0 -5395 1 1.3643 1 168.59184785696672 218.98554288207174 0 0 0 0 -5416 1 1.3615 1 171.2541854829597 232.56121228170855 0 0 0 0 -5436 1 1.3584 1 151.75347969988246 229.2908582487599 0 0 0 0 -4766 1 1.4536 1 195.90842309645208 205.46347791696664 0 0 0 0 -5476 1 1.3533 1 173.75324872279583 229.83505144647367 0 0 0 0 -5508 1 1.3499 1 177.51689964181094 236.83741335045448 0 0 0 0 -5534 1 1.3466 1 150.92135529540994 241.47838442968126 0 0 0 0 -7175 1 1.1802 1 153.85833953636623 262.80959921366843 0 0 0 0 -5555 1 1.3438 1 168.06168752539043 216.5564064453447 0 0 0 0 -5595 1 1.338 1 163.17406401603586 234.54120831127156 0 0 0 0 -5630 1 1.3336 1 165.44101450088164 235.65794119862636 0 0 0 0 -5635 1 1.3333 1 165.699896624373 214.98680867514622 0 0 0 0 -5671 1 1.3297 1 174.81112899285375 253.31743443067288 0 0 0 0 -5684 1 1.3282 1 159.9948528017509 218.89405616322261 0 0 0 0 -5748 1 1.3206 1 191.05402998320173 216.39390662743293 0 0 0 0 -5755 1 1.3199 1 154.9534859376915 211.05922065548344 0 0 0 0 -5837 1 1.3108 1 166.10770640199166 233.10612511782455 0 0 0 0 -4195 1 1.5502 1 196.84208026760373 203.2087185396898 0 0 0 0 -5902 1 1.3046 1 169.57385713696365 226.034075417345 0 0 0 0 -5904 1 1.3046 1 162.2729216301422 235.46945856295622 0 0 0 0 -4367 1 1.5203 1 182.02582142454636 264.4615542932231 0 0 0 0 -5912 1 1.3037 1 159.04007500194015 217.13413224358803 0 0 0 0 -5913 1 1.3035 1 170.92014773072032 205.47996694733754 0 0 0 0 -5928 1 1.302 1 182.47094989999772 260.36373669657166 0 0 0 0 -5949 1 1.2999 1 173.21389536701847 239.11436955301397 0 0 0 0 -5976 1 1.2969 1 186.20915557714417 258.94587608781234 0 0 0 0 -6010 1 1.2934 1 161.41653339510367 238.24871304850524 0 0 0 0 -7883 1 1.1226 1 189.57142102105485 265.989495921748 0 0 0 0 -6023 1 1.2922 1 183.97343852914688 228.04291531221074 0 0 0 0 -6047 1 1.2891 1 157.3998870048178 226.67016869690417 0 0 0 0 -6053 1 1.2886 1 184.36590416032737 232.19562073488598 0 0 0 0 -6109 1 1.2827 1 177.8938569441341 254.6372212683293 0 0 0 0 -6128 1 1.2807 1 174.3986378412703 236.99043943051396 0 0 0 0 -6131 1 1.2805 1 192.18252237405719 208.89224049844913 0 0 0 0 -6201 1 1.2715 1 151.38240509422639 230.53865713632726 0 0 0 0 -6205 1 1.2712 1 183.3055481736652 241.2501356991569 0 0 0 0 -4507 1 1.4958 1 155.55027248518473 256.364182314602 0 0 0 0 -6221 1 1.2685 1 185.03487765112052 255.4278142053169 0 0 0 0 -6265 1 1.2635 1 182.58406458765802 226.3287539604886 0 0 0 0 -6291 1 1.2616 1 152.31021046948877 228.11588453976773 0 0 0 0 -6293 1 1.2614 1 181.1128343029631 205.16301626672947 0 0 0 0 -6378 1 1.2541 1 158.4242742980685 216.06613531651422 0 0 0 0 -6404 1 1.2512 1 162.51663591798754 238.80889589548286 0 0 0 0 -6415 1 1.2503 1 176.57261804117385 240.16232966874176 0 0 0 0 -6421 1 1.25 1 164.966694843373 261.3927659066359 0 0 0 0 -6429 1 1.2493 1 171.09235335101934 222.6931582634246 0 0 0 0 -6431 1 1.2491 1 185.67940261737743 260.0434121531952 0 0 0 0 -6443 1 1.2479 1 152.44386807457724 225.93780530927376 0 0 0 0 -6584 1 1.2336 1 143.8452770016066 251.01860077825228 0 0 0 0 -6481 1 1.2451 1 158.7861938020706 239.79812969535945 0 0 0 0 -6546 1 1.2379 1 174.3857908939394 239.4679555820112 0 0 0 0 -6609 1 1.231 1 167.10801615541752 262.5351057482868 0 0 0 0 -6632 1 1.2289 1 185.16100213510833 264.388988056017 0 0 0 0 -6663 1 1.2256 1 178.78884561373897 236.95933288461507 0 0 0 0 -6669 1 1.225 1 156.09662912946416 219.63931351476631 0 0 0 0 -6684 1 1.2238 1 160.94362089688232 255.46397745412244 0 0 0 0 -6696 1 1.2225 1 181.32739724821198 238.26104300460435 0 0 0 0 -6755 1 1.2178 1 175.3358151032986 224.95318283063006 0 0 0 0 -1951 1 2.2693 1 143.2483519358414 256.58290117181895 0 0 0 0 -6777 1 1.2154 1 164.48715388054865 258.77832517414004 0 0 0 0 -6790 1 1.2135 1 177.64131444576992 239.58263462998403 0 0 0 0 -6806 1 1.2117 1 162.32939074960703 265.6610726219585 0 0 0 0 -6817 1 1.2105 1 157.04515597364315 223.92389597005814 0 0 0 0 -6866 1 1.2052 1 163.09895118397665 209.12698248944562 0 0 0 0 -8266 1 1.097 1 182.68714761378882 266.9923914410027 0 0 0 0 -6901 1 1.202 1 187.4670609803751 222.9589934791475 0 0 0 0 -6922 1 1.2002 1 168.41952467671638 213.12327431078447 0 0 0 0 -6947 1 1.1983 1 158.94051318497438 213.04555231446886 0 0 0 0 -7021 1 1.1921 1 182.5225865443969 261.60560155917506 0 0 0 0 -6792 1 1.2132 1 145.3469548954007 246.46617207049687 0 0 0 0 -359 1 5.2778 1 148.22601213487593 244.9697067232152 0 0 0 0 -8717 1 1.0689 1 194.7087655429239 205.80097849499026 0 0 0 0 -7041 1 1.1903 1 173.96410887603272 238.13569950119305 0 0 0 0 -7042 1 1.1901 1 157.07842270063472 253.6283629281645 0 0 0 0 -7050 1 1.1896 1 163.87731689031224 235.68881486238536 0 0 0 0 -7065 1 1.1887 1 156.8942288319496 254.75775787229972 0 0 0 0 -7142 1 1.1829 1 164.73221667217462 215.77320670635243 0 0 0 0 -7157 1 1.1815 1 181.96170541527135 239.28023878205997 0 0 0 0 -4163 1 1.5559 1 144.8030195099224 252.00991856404414 0 0 0 0 -7233 1 1.1756 1 169.3066433433304 222.6438373232742 0 0 0 0 -7243 1 1.1743 1 182.00182151566437 240.4697709723014 0 0 0 0 -7265 1 1.1733 1 161.23148546605125 230.7482171261558 0 0 0 0 -7268 1 1.1732 1 181.03472426646113 244.9162639409472 0 0 0 0 -7269 1 1.1731 1 161.99425346983065 243.18770685824435 0 0 0 0 -7301 1 1.1705 1 183.06397437616968 204.9498366063731 0 0 0 0 -7322 1 1.1686 1 149.07731686315046 237.74879271896293 0 0 0 0 -7326 1 1.1684 1 180.50602751362305 253.3530280693379 0 0 0 0 -7358 1 1.1649 1 171.1593154196887 231.3456456881945 0 0 0 0 -7377 1 1.1635 1 189.56780766394607 207.29402974535168 0 0 0 0 -7418 1 1.1599 1 158.36022248303743 205.10076409437409 0 0 0 0 -7431 1 1.1589 1 158.60986851877806 229.20429056544205 0 0 0 0 -7511 1 1.1518 1 182.86328283082045 227.59263655731425 0 0 0 0 -7553 1 1.148 1 173.45058433619946 256.82121719925186 0 0 0 0 -7025 1 1.1919 1 159.0785809491958 204.23929798492142 0 0 0 0 -5429 1 1.359 1 144.5591290776116 248.60335284704573 0 0 0 0 -7614 1 1.1432 1 157.52731159752094 216.84774917048682 0 0 0 0 -7617 1 1.1431 1 188.66823596122467 265.36635503320355 0 0 0 0 -7625 1 1.1427 1 167.94616497735893 259.90244305785416 0 0 0 0 -7662 1 1.1392 1 155.0492048729939 245.34203164740603 0 0 0 0 -7670 1 1.1387 1 163.67819512406763 238.5641624936229 0 0 0 0 -8935 1 1.0559 1 148.13536631846273 252.76955325212404 0 0 0 0 -2305 1 2.0885 1 151.34950233206294 243.13983085143815 0 0 0 0 -4443 1 1.5071 1 194.0787284691779 206.91725955972169 0 0 0 0 -7732 1 1.1341 1 169.25555950026296 246.84251860344463 0 0 0 0 -7740 1 1.1333 1 174.03075608649243 234.7383966798652 0 0 0 0 -7759 1 1.1315 1 156.73991883747567 255.86163124401466 0 0 0 0 -7764 1 1.1313 1 153.97176686909 211.72103423435345 0 0 0 0 -7780 1 1.1304 1 183.38252966040673 223.32641485532767 0 0 0 0 -7164 1 1.1808 1 152.2597629644896 261.6413398636006 0 0 0 0 -7815 1 1.1279 1 167.82484117583328 238.84522532980418 0 0 0 0 -7817 1 1.1278 1 175.36193811234617 240.12254273031544 0 0 0 0 -7855 1 1.1247 1 148.71965386219793 239.7771853094843 0 0 0 0 -7862 1 1.1236 1 174.3254849188952 235.80816827455308 0 0 0 0 -7873 1 1.1231 1 179.69719874192063 245.7868169179082 0 0 0 0 -1580 1 2.5075 1 183.72153333717708 265.5154155264963 0 0 0 0 -7908 1 1.1204 1 175.0569926455722 226.05072301194983 0 0 0 0 -7912 1 1.12 1 183.6783100826144 261.6142688737128 0 0 0 0 -7937 1 1.1188 1 162.0566103075893 254.98986746176826 0 0 0 0 -7945 1 1.1185 1 164.56793914232753 217.3031647163544 0 0 0 0 -7951 1 1.1177 1 162.05928910968635 208.15326137425225 0 0 0 0 -7972 1 1.1164 1 166.07233701790653 213.8486195546406 0 0 0 0 -7977 1 1.1161 1 159.05710596053743 241.94404656604488 0 0 0 0 -7986 1 1.1153 1 174.3461585468378 240.59516993055996 0 0 0 0 -7999 1 1.1144 1 160.9764950748287 205.92231837843917 0 0 0 0 -8044 1 1.1116 1 159.5035863415475 219.9279800592235 0 0 0 0 -8493 1 1.0813 1 144.80435401772644 257.4186174797645 0 0 0 0 -8084 1 1.1084 1 157.18906701732013 245.98788492419268 0 0 0 0 -8106 1 1.1072 1 163.86515077616176 216.4853191607041 0 0 0 0 -6202 1 1.2714 1 151.11215741554494 262.0421819616887 0 0 0 0 -8150 1 1.1047 1 163.04326268680612 256.73768768425066 0 0 0 0 -8173 1 1.1028 1 191.8274292209943 215.46919799231324 0 0 0 0 -8298 1 1.0948 1 162.10278663589048 244.7596656350777 0 0 0 0 -2786 1 1.9 1 146.0992161649899 247.82708338389986 0 0 0 0 -8343 1 1.091 1 150.31479263205966 247.37016597829975 0 0 0 0 -8361 1 1.0898 1 170.15279334409024 209.85306062590254 0 0 0 0 -4071 1 1.571 1 182.2128331486696 262.9477460858961 0 0 0 0 -8401 1 1.0876 1 178.45506822210572 248.10234099129588 0 0 0 0 -8403 1 1.0875 1 170.37047009019008 221.82615908738856 0 0 0 0 -8469 1 1.0831 1 159.39185400843763 245.03085902148214 0 0 0 0 -8489 1 1.0816 1 173.72429576292197 243.54733062718512 0 0 0 0 -8505 1 1.0807 1 157.6564995979366 230.56765361711552 0 0 0 0 -8518 1 1.0799 1 186.9467267474883 213.35049970009746 0 0 0 0 -8543 1 1.0785 1 158.71477790697028 220.61685688692506 0 0 0 0 -8549 1 1.0781 1 165.5567359995204 258.6015394909175 0 0 0 0 -3772 1 1.635 1 186.25512806506072 265.2302274316889 0 0 0 0 -8600 1 1.075 1 153.68625290207322 216.2011109211633 0 0 0 0 -8481 1 1.0822 1 152.82167005096662 262.5404260498143 0 0 0 0 -8628 1 1.0731 1 169.786102277421 205.3593437336882 0 0 0 0 -8641 1 1.0727 1 171.90671686187605 204.8620485303993 0 0 0 0 -8647 1 1.0724 1 147.91902805110345 240.51518015977098 0 0 0 0 -8667 1 1.0714 1 160.0357253481801 217.74025184956216 0 0 0 0 -8673 1 1.0712 1 179.980407622754 226.78073730530718 0 0 0 0 -8820 1 1.0619 1 187.34253809003488 264.4708831747424 0 0 0 0 -8697 1 1.07 1 184.15096048814658 222.61088865926132 0 0 0 0 -8710 1 1.0694 1 160.16271229458772 232.66315955974153 0 0 0 0 -8716 1 1.069 1 180.9199410565489 252.3230075168027 0 0 0 0 -8727 1 1.0682 1 178.54447947907235 255.6021488040961 0 0 0 0 -8749 1 1.0671 1 188.6345601422924 264.2871950256231 0 0 0 0 -8807 1 1.0629 1 170.48245146942222 244.03926891843045 0 0 0 0 -6274 1 1.2627 1 145.65378017951005 249.32042637783985 0 0 0 0 -5914 1 1.3034 1 144.87077948302561 250.3156516123477 0 0 0 0 -8843 1 1.0606 1 179.3363772994583 232.8204242203864 0 0 0 0 -8849 1 1.0603 1 149.38685887255158 247.87293749139343 0 0 0 0 -8855 1 1.0598 1 161.9086290635232 256.03972255744384 0 0 0 0 -8876 1 1.0587 1 154.7417770156582 222.7123119302029 0 0 0 0 -8898 1 1.0574 1 156.70019457076828 208.54211374507892 0 0 0 0 -8916 1 1.0569 1 181.16980926799081 243.81547313704223 0 0 0 0 -8934 1 1.0559 1 165.6603009340998 262.302821700423 0 0 0 0 -8998 1 1.0527 1 155.02110498643086 221.7568507972897 0 0 0 0 -8999 1 1.0526 1 158.01402466504715 241.7725954100902 0 0 0 0 -9049 1 1.05 1 153.45682474450285 219.02531954089537 0 0 0 0 -9065 1 1.049 1 154.4957208997179 219.06503181616833 0 0 0 0 -9087 1 1.0477 1 172.2256968194279 258.2400198950975 0 0 0 0 -9092 1 1.0474 1 163.74072943608815 213.525451494521 0 0 0 0 -9098 1 1.0471 1 181.85598511888162 227.21593386959023 0 0 0 0 -9111 1 1.0468 1 187.27720525577746 217.46995699208728 0 0 0 0 -9122 1 1.0461 1 189.73011893319938 218.93833663749805 0 0 0 0 -9151 1 1.0446 1 172.016405875705 223.3168167679046 0 0 0 0 -7076 1 1.1879 1 199.76844805127487 206.64915771730614 0 0 0 0 -9217 1 1.041 1 181.75570413684264 237.2198815028252 0 0 0 0 -9261 1 1.0388 1 170.8235769631729 225.90113176388633 0 0 0 0 -9265 1 1.0386 1 179.23412187019798 247.39441113357282 0 0 0 0 -9293 1 1.0369 1 180.68204998727433 224.7162356690428 0 0 0 0 -9364 1 1.0328 1 158.85873843777154 240.93187574003656 0 0 0 0 -4612 1 1.479 1 180.6455571906988 264.99237786008837 0 0 0 0 -2291 1 2.098 1 160.60344179917584 204.3900080846709 0 0 0 0 -9433 1 1.0291 1 162.83216116853373 255.70713149679972 0 0 0 0 -9436 1 1.0289 1 188.23855945419186 209.0130990036418 0 0 0 0 -1092 1 3.0288 1 146.85827896597806 251.08267622049146 0 0 0 0 -9455 1 1.0279 1 156.20988285056674 205.83453575108868 0 0 0 0 -9484 1 1.0267 1 165.1658118307329 232.43530987754588 0 0 0 0 -9488 1 1.0265 1 152.64311022699707 250.9528383396954 0 0 0 0 -9931 1 1.0039 1 168.39796460838622 208.75394809480838 0 0 0 0 -9526 1 1.0245 1 174.54400054305637 254.45596405478938 0 0 0 0 -9532 1 1.0241 1 161.29084452946722 242.35976811024665 0 0 0 0 -9585 1 1.0215 1 156.12036231832545 211.0771135941292 0 0 0 0 -6345 1 1.2575 1 147.53501159157338 241.78071182780047 0 0 0 0 -9608 1 1.0203 1 152.11102157095485 227.0084506151666 0 0 0 0 -9649 1 1.0179 1 168.8386068752586 259.29704016620946 0 0 0 0 -9657 1 1.0177 1 185.95487616034416 226.97860043605772 0 0 0 0 -9661 1 1.0174 1 164.6497177016854 262.47125037264937 0 0 0 0 -9667 1 1.0172 1 179.62781728511598 252.71950024772306 0 0 0 0 -2737 1 1.9152 1 142.88955204739196 254.59620303163652 0 0 0 0 -3906 1 1.6063 1 149.201836599796 260.60821625815703 0 0 0 0 -4229 1 1.546 1 142.28118782113742 252.25193145432368 0 0 0 0 -8407 1 1.0872 1 148.68921840853514 250.21224574321454 0 0 0 0 -9757 1 1.0125 1 185.52916747999592 256.376761727649 0 0 0 0 -9760 1 1.0121 1 168.892770471264 260.3031099060626 0 0 0 0 -5725 1 1.3234 1 199.24649893715923 205.5440664560371 0 0 0 0 -9796 1 1.0099 1 187.56688145498697 261.97473973273947 0 0 0 0 -9837 1 1.0083 1 178.0296922376639 225.1470443471822 0 0 0 0 -9846 1 1.0078 1 157.87447416048227 246.72960287418576 0 0 0 0 -9853 1 1.0072 1 170.27187174933994 247.11318112896737 0 0 0 0 -9883 1 1.0057 1 165.44475043864725 209.62562513250776 0 0 0 0 -9303 1 1.0361 1 177.64099299552453 267.37133302004486 0 0 0 0 -51 1 12.9437 1 159.94051174929078 296.35314938441866 0 0 0 0 -57 1 12.5828 1 163.78205394984238 276.50320607302837 0 0 0 0 -6456 1 1.2471 1 184.91107422565824 285.604634919803 0 0 0 0 -2586 1 1.976 1 166.72619704426847 269.24603344392375 0 0 0 0 -9735 1 1.0133 1 188.34155569262006 281.7552381165535 0 0 0 0 -115 1 9.1551 1 152.7280787130565 284.5923680781021 0 0 0 0 -8846 1 1.0605 1 146.08021616310148 279.06963552989646 0 0 0 0 -228 1 6.3393 1 193.64715424612604 285.3825138373263 0 0 0 0 -8658 1 1.0718 1 165.82010923145484 304.931642890665 0 0 0 0 -237 1 6.3017 1 176.2268446278817 301.1854688047568 0 0 0 0 -8918 1 1.0565 1 186.81708036571075 312.11164124960874 0 0 0 0 -242 1 6.2708 1 173.45727898425588 294.5088294464735 0 0 0 0 -281 1 5.9042 1 145.29343955224545 283.5398773078904 0 0 0 0 -6824 1 1.2102 1 181.2123594747383 287.17620071981696 0 0 0 0 -6118 1 1.2817 1 141.37390819566295 313.56358910866953 0 0 0 0 -304 1 5.7099 1 148.98568962248825 308.58561556773464 0 0 0 0 -327 1 5.4976 1 191.05786740664877 280.02587271849933 0 0 0 0 -330 1 5.4686 1 177.4647048656907 281.0989063006615 0 0 0 0 -351 1 5.3297 1 149.90689067190812 296.91098229719705 0 0 0 0 -1812 1 2.3493 1 141.66517782935784 308.533652493784 0 0 0 0 -405 1 4.9123 1 183.47541170266962 304.34548274245094 0 0 0 0 -422 1 4.8009 1 186.0475573040059 309.2005958708569 0 0 0 0 -427 1 4.7727 1 188.9256415127926 288.1708163669718 0 0 0 0 -430 1 4.7556 1 155.43955423194961 278.35749555991674 0 0 0 0 -446 1 4.6634 1 147.56606368403578 301.23174850553534 0 0 0 0 -447 1 4.6632 1 194.92175295169145 320.73778569528497 0 0 0 0 -2563 1 1.9844 1 195.97177016336002 325.1345404735805 0 0 -1 0 -475 1 4.5238 1 183.63108954304073 291.92396623062865 0 0 0 0 -8032 1 1.1127 1 145.4473520689194 303.1462443940855 0 0 0 0 -525 1 4.2833 1 151.58679265758326 291.06953481326616 0 0 0 0 -8411 1 1.0871 1 179.25187795523425 296.8822971120967 0 0 0 0 -594 1 4.0385 1 198.6387360532309 280.01457138223736 0 0 0 0 -1293 1 2.7982 1 176.89729677292763 290.1703144775359 0 0 0 0 -692 1 3.801 1 181.58816420341228 300.4362831481997 0 0 0 0 -710 1 3.7648 1 144.4739135998611 298.2653949411138 0 0 0 0 -3968 1 1.593 1 201.7167796809566 324.5230349122692 0 0 -1 0 -774 1 3.6405 1 184.43718800402632 295.8035663491302 0 0 0 0 -783 1 3.6196 1 151.40432423609465 302.7401855728889 0 0 0 0 -815 1 3.5499 1 143.686918323975 313.0512374103452 0 0 0 0 -822 1 3.5377 1 200.3224340310902 283.4562241202496 0 0 0 0 -3712 1 1.6447 1 171.52807811140408 278.6641312765951 0 0 0 0 -9032 1 1.0511 1 196.13384860713649 327.8418704993611 0 0 0 0 -860 1 3.4418 1 162.24973594873765 304.1743988973656 0 0 0 0 -862 1 3.4402 1 171.03409902238081 290.37971623875825 0 0 0 0 -901 1 3.3554 1 172.61914198208734 304.2236495635678 0 0 0 0 -9965 1 1.0023 1 170.75455666247365 305.16981383377066 0 0 0 0 -944 1 3.257 1 156.84434211297125 303.740103066067 0 0 0 0 -957 1 3.239 1 148.5445006528091 273.7975310763839 0 0 0 0 -971 1 3.2165 1 163.07488730257555 284.3119713911881 0 0 0 0 -1488 1 2.5907 1 176.1192435578962 284.86693786203676 0 0 0 0 -3939 1 1.6002 1 168.77090088536053 289.27418722747655 0 0 0 0 -1029 1 3.1314 1 181.36428026341284 297.01896524310183 0 0 0 0 -1048 1 3.0915 1 153.58644551833706 275.08698499647534 0 0 0 0 -1074 1 3.0587 1 167.35187011254783 292.35679430446794 0 0 0 0 -9018 1 1.0518 1 173.5580842898961 285.6361392853693 0 0 0 0 -4360 1 1.5212 1 144.75543983144047 304.24158480343885 0 0 0 0 -5732 1 1.3227 1 180.02354608651572 287.4700368092947 0 0 0 0 -1120 1 2.9881 1 187.23862557246173 297.36184812070235 0 0 0 0 -1161 1 2.9432 1 148.75110737907022 293.08812625562865 0 0 0 0 -819 1 3.5434 1 145.49282409723955 276.89441042859534 0 0 0 0 -4233 1 1.5451 1 178.77203834653452 286.79436317501603 0 0 0 0 -1224 1 2.8815 1 195.22718990819942 279.9087024147231 0 0 0 0 -1229 1 2.8784 1 181.21186662229064 289.18726072314996 0 0 0 0 -1234 1 2.8731 1 179.60995074885528 304.2149111358036 0 0 0 0 -1258 1 2.8442 1 170.67627640829352 299.74821424203986 0 0 0 0 -1305 1 2.788 1 193.05623994001417 276.40187281522185 0 0 0 0 -5149 1 1.3965 1 139.37049055110117 276.96442841910147 0 0 0 0 -1357 1 2.7314 1 181.30710645136475 307.51760135269035 0 0 0 0 -1358 1 2.7308 1 186.98701089064775 280.5248838129196 0 0 0 0 -4009 1 1.5814 1 156.64400735453745 274.47488699014315 0 0 0 0 -1440 1 2.6337 1 150.09809150441075 278.5518196998983 0 0 0 0 -9104 1 1.0469 1 193.81889075749092 318.16584352862986 0 0 0 0 -1472 1 2.6031 1 179.77986422921063 292.8454899750129 0 0 0 0 -1474 1 2.6009 1 197.41030120535817 283.0855603878669 0 0 0 0 -7124 1 1.1838 1 174.27772195859475 281.878359194257 0 0 0 0 -5599 1 1.3374 1 198.7362271834789 326.198396594741 0 0 -1 0 -1495 1 2.5815 1 170.36838726137523 302.37124023817694 0 0 0 0 -8662 1 1.0717 1 147.02226112251407 275.241045083269 0 0 0 0 -7919 1 1.1196 1 198.37196657269453 330.61102452432425 0 0 -1 0 -2668 1 1.9419 1 148.17000804966307 277.3588679337482 0 0 0 0 -1633 1 2.4639 1 188.1365774435897 284.66302613545594 0 0 0 0 -1642 1 2.457 1 174.37954362707723 288.56302595831977 0 0 0 0 -1709 1 2.416 1 162.75280210465593 289.2598927905351 0 0 0 0 -1744 1 2.3879 1 183.18189568298143 285.0737672041655 0 0 0 0 -1763 1 2.3754 1 164.76765276380175 290.4067242041389 0 0 0 0 -9150 1 1.0446 1 160.17939565102677 303.32317427792367 0 0 0 0 -1832 1 2.3394 1 141.07231200719946 316.5776111119974 0 0 0 0 -1837 1 2.3366 1 175.88261573763617 305.4736567415152 0 0 0 0 -1864 1 2.3229 1 188.73512337625647 313.1792512276834 0 0 0 0 -4276 1 1.5372 1 194.0325571167805 278.1989459193154 0 0 0 0 -2067 1 2.1989 1 185.25204849340216 282.2152045499429 0 0 0 0 -268 1 6.0229 1 170.77645595665462 282.49847607285875 0 0 0 0 -1909 1 2.2942 1 177.94483530093177 295.7803143601566 0 0 0 0 -1922 1 2.2877 1 166.42657830912265 288.82306249859414 0 0 0 0 -8769 1 1.0651 1 165.27102714175422 303.289292429786 0 0 0 0 -1947 1 2.2706 1 160.5914995762836 283.1485957975605 0 0 0 0 -7161 1 1.1809 1 143.97398186521957 305.28914152294624 0 0 0 0 -3093 1 1.7998 1 174.675623084008 286.4753824511028 0 0 0 0 -1453 1 2.6195 1 151.3085998395748 272.0598122818889 0 0 0 0 -9028 1 1.0513 1 167.89453216586702 284.54863362403233 0 0 0 0 -2065 1 2.2005 1 178.77714154836534 288.6341686127227 0 0 0 0 -2073 1 2.197 1 168.3456418481125 301.16138891994416 0 0 0 0 -2074 1 2.1967 1 166.10188002374014 286.63729642135627 0 0 0 0 -2096 1 2.1853 1 166.27859183932983 284.4695419348525 0 0 0 0 -2100 1 2.1838 1 183.89827120385712 298.59500559646574 0 0 0 0 -2955 1 1.8459 1 197.10826154553806 331.4231297373777 0 0 -1 0 -2153 1 2.1556 1 144.5970578565464 279.5845114292247 0 0 0 0 -2206 1 2.1342 1 151.81004694470164 300.0085300306302 0 0 0 0 -5822 1 1.3121 1 174.1112226897542 280.6538449295336 0 0 0 0 -8794 1 1.0637 1 158.9969854005654 283.57317281287885 0 0 0 0 -8792 1 1.0638 1 146.662501309873 310.99103198899644 0 0 0 0 -2302 1 2.0917 1 179.38662918355982 298.5739376247291 0 0 0 0 -2309 1 2.0852 1 167.31671335540975 297.61798817511766 0 0 0 0 -2322 1 2.0793 1 161.31128171841928 287.65793500968175 0 0 0 0 -2349 1 2.0688 1 145.45396711693056 305.89416559424086 0 0 0 0 -4813 1 1.4467 1 201.10040969491965 281.17618854120445 0 0 0 0 -2389 1 2.0526 1 185.93991601071028 289.69251865481846 0 0 0 0 -2398 1 2.0491 1 155.98711458742727 289.03393211620636 0 0 0 0 -2414 1 2.0441 1 152.33750437386595 306.82326367809935 0 0 0 0 -2435 1 2.0327 1 168.77590604381808 294.4209751363642 0 0 0 0 -2437 1 2.032 1 169.7938915742742 292.73512172675424 0 0 0 0 -2442 1 2.0295 1 166.7092830407978 303.70320785969756 0 0 0 0 -2444 1 2.0289 1 185.6055375810623 287.7115479095636 0 0 0 0 -2447 1 2.0283 1 191.2650295361501 290.5930971940945 0 0 0 0 -8583 1 1.0763 1 186.5867633369563 278.72796137579365 0 0 0 0 -2461 1 2.0247 1 157.88456548240018 282.5595458829401 0 0 0 0 -2462 1 2.0242 1 155.37345225230422 307.0188473461373 0 0 0 0 -9773 1 1.0113 1 164.37936757042723 303.7249165518168 0 0 0 0 -940 1 3.264 1 180.59968827949092 284.0439259488262 0 0 0 0 -2555 1 1.988 1 164.48678367031124 287.9411903820972 0 0 0 0 -2566 1 1.9837 1 179.26877135551743 290.63424733284006 0 0 0 0 -2569 1 1.9825 1 149.01831126858443 280.5208357823495 0 0 0 0 -2591 1 1.9714 1 169.54464368649397 304.43844779703306 0 0 0 0 -191 1 6.9532 1 201.9307619734016 328.7186247585409 0 0 -1 0 -6165 1 1.2759 1 177.76355409088407 285.85779915814766 0 0 0 0 -8473 1 1.0828 1 159.00921992892572 303.32801094725323 0 0 0 0 -1438 1 2.6364 1 197.20280418729766 329.24313036134737 0 0 -1 0 -6819 1 1.2105 1 181.5068122048186 286.0346506241278 0 0 0 0 -3842 1 1.6189 1 149.35562800921107 271.57899221011326 0 0 0 0 -1891 1 2.3053 1 200.20092819609684 323.4012782849518 0 0 0 0 -2782 1 1.9009 1 186.9502792258872 292.3323071786773 0 0 0 0 -8938 1 1.0558 1 179.15216320441255 294.6258996239859 0 0 0 0 -2833 1 1.8845 1 143.07243110752836 317.1199952521421 0 0 0 0 -2872 1 1.8702 1 170.30266010137385 297.4400781550534 0 0 0 0 -2892 1 1.8643 1 164.16537495201104 302.3584349338792 0 0 0 0 -2758 1 1.9086 1 145.32344385773033 307.8477622449247 0 0 0 0 -2918 1 1.8578 1 147.56941521970901 312.0863420163653 0 0 0 0 -9523 1 1.0246 1 152.15894791029177 273.6462404419242 0 0 0 0 -2954 1 1.8467 1 158.19904075515564 305.95123522500944 0 0 0 0 -542 1 4.2335 1 171.81951309719724 267.705940761109 0 0 0 0 -3087 1 1.8028 1 150.88246648403808 268.6337788261887 0 0 0 0 -7704 1 1.136 1 155.67256174214356 275.42239798066544 0 0 0 0 -5172 1 1.3921 1 197.21376236635678 326.22062592378046 0 0 -1 0 -3065 1 1.8085 1 146.39439756581365 304.2194694210027 0 0 0 0 -3070 1 1.8073 1 176.4276245739812 297.1595499325068 0 0 0 0 -3073 1 1.8065 1 186.8945046603414 305.1751249516447 0 0 0 0 -3111 1 1.7942 1 159.36338776671406 286.1228514520357 0 0 0 0 -3121 1 1.7879 1 192.57797698955392 318.59984120973974 0 0 0 0 -4495 1 1.4981 1 175.46020901639403 276.21629095280144 0 0 0 0 -2666 1 1.9424 1 173.13942332522268 279.36745103475414 0 0 0 0 -3135 1 1.783 1 174.606041584137 283.304072166525 0 0 0 0 -7469 1 1.1555 1 168.64160601289308 285.36038669232295 0 0 0 0 -3235 1 1.7559 1 152.23311574804632 278.2413405160809 0 0 0 0 -9168 1 1.0436 1 175.12342536984494 297.72230592764873 0 0 0 0 -3254 1 1.7522 1 151.47125728820825 276.6995983987987 0 0 0 0 -3265 1 1.7491 1 177.71010908358747 306.3848098790867 0 0 0 0 -3275 1 1.7461 1 196.70412032346167 323.28312556838966 0 0 0 0 -4465 1 1.5031 1 143.95648245976759 308.79921661227036 0 0 0 0 -3297 1 1.7411 1 173.39804191658263 298.42592601434194 0 0 0 0 -3308 1 1.7382 1 184.95916713771803 284.1323294961134 0 0 0 0 -3324 1 1.7339 1 197.90147214885633 321.4783938546678 0 0 0 0 -3349 1 1.7282 1 154.2830784090069 289.7924410634165 0 0 0 0 -8244 1 1.0984 1 153.0615838516976 269.29010414219124 0 0 0 0 -2474 1 2.0188 1 175.72613115144375 277.8907976195649 0 0 0 0 -3393 1 1.7171 1 188.00724575348687 293.7909111122422 0 0 0 0 -3044 1 1.8138 1 144.00897516887844 310.42844542321296 0 0 0 0 -3411 1 1.7122 1 152.98884499724792 298.5390794145042 0 0 0 0 -3465 1 1.7002 1 150.2039973262606 275.56437560028917 0 0 0 0 -3507 1 1.6927 1 188.55509705217167 295.4010155827089 0 0 0 0 -3508 1 1.6924 1 146.1596311687343 295.041804431554 0 0 0 0 -3548 1 1.6826 1 195.65842409653584 282.02409021537164 0 0 0 0 -3551 1 1.6815 1 190.00308182146634 283.7899482635498 0 0 0 0 -3573 1 1.6752 1 143.0123580830145 280.5855574880567 0 0 0 0 -3576 1 1.675 1 160.76384835130773 285.05604420816064 0 0 0 0 -3612 1 1.6687 1 178.21417400553494 284.52470862598267 0 0 0 0 -451 1 4.647 1 161.43746188433113 268.3604322435109 0 0 0 0 -3646 1 1.6631 1 158.4516260579016 287.8957739480127 0 0 0 0 -3649 1 1.6623 1 183.39333117096808 307.574672400228 0 0 0 0 -3657 1 1.6609 1 180.48604963472116 294.82991200664884 0 0 0 0 -3662 1 1.6579 1 186.89962614282004 303.4731744011885 0 0 0 0 -3670 1 1.6556 1 146.86582017369184 280.1199761754272 0 0 0 0 -2297 1 2.0945 1 173.90028741952023 277.0114219522409 0 0 0 0 -3687 1 1.6518 1 153.66674886441623 300.04120393825167 0 0 0 0 -3732 1 1.6425 1 152.92241452696751 293.6890342527376 0 0 0 0 -3751 1 1.6394 1 168.39649343493622 303.06391902408603 0 0 0 0 -3770 1 1.6358 1 150.94580351496495 274.119019668646 0 0 0 0 -9312 1 1.0356 1 147.7016884450369 281.1212905263003 0 0 0 0 -3778 1 1.6344 1 186.9535987904513 295.0835305806585 0 0 0 0 -3797 1 1.63 1 168.31479054848754 296.12549748596496 0 0 0 0 -7699 1 1.1365 1 169.2499080603813 268.3689371414463 0 0 0 0 -2810 1 1.891 1 174.63881712416227 290.66669398432856 0 0 0 0 -3826 1 1.6216 1 162.99343094619718 286.9005550133008 0 0 0 0 -9727 1 1.014 1 147.74219971407393 275.9634372626063 0 0 0 0 -3857 1 1.6164 1 152.6322967363505 308.58602666263596 0 0 0 0 -3862 1 1.6153 1 186.70656906300266 299.55818900654583 0 0 0 0 -6060 1 1.2873 1 198.99669001832035 331.547903958782 0 0 -1 0 -3884 1 1.6109 1 172.38509650961774 288.2956397444399 0 0 0 0 -2282 1 2.1022 1 181.2676158957168 267.77521696669925 0 0 0 0 -3901 1 1.6071 1 157.7403651880418 286.43442522131915 0 0 0 0 -3915 1 1.6044 1 154.61137738064892 301.3034446092147 0 0 0 0 -3919 1 1.6032 1 186.49301418329966 283.5888462191129 0 0 0 0 -3943 1 1.5987 1 186.0462667327394 293.78042865937806 0 0 0 0 -3956 1 1.5945 1 179.22291955962316 307.03879313543973 0 0 0 0 -3965 1 1.5931 1 166.9901081220437 294.6460090971047 0 0 0 0 -4011 1 1.5813 1 155.00259768766944 305.2795572882252 0 0 0 0 -1653 1 2.4518 1 143.39426312759275 306.93537645612395 0 0 0 0 -4044 1 1.5752 1 157.8716313975419 289.39661869370497 0 0 0 0 -4045 1 1.5752 1 189.7404591242165 314.7604948762752 0 0 0 0 -3291 1 1.7425 1 194.12787210825533 274.45932823832936 0 0 0 0 -6014 1 1.2928 1 159.38377236369521 281.86324339877365 0 0 0 0 -4076 1 1.5705 1 172.3541655222643 301.81733451582045 0 0 0 0 -4113 1 1.564 1 184.13748933238517 286.75974860662626 0 0 0 0 -4141 1 1.56 1 172.30958502271164 285.906903850082 0 0 0 0 -4148 1 1.5585 1 189.59403372615512 293.412422548965 0 0 0 0 -4149 1 1.5585 1 145.43613593475914 311.2635426164388 0 0 0 0 -4808 1 1.4472 1 201.33360639364273 279.81226967598127 0 0 0 0 -9733 1 1.0136 1 139.21923732344436 305.34868425900663 0 0 0 0 -4187 1 1.5517 1 185.04414857656107 301.3049716063992 0 0 0 0 -5968 1 1.2979 1 181.77338715118407 276.4396066580545 0 0 0 0 -6299 1 1.2608 1 196.35024759053178 276.2878750346228 0 0 0 0 -4257 1 1.5411 1 151.94539140611036 305.16850509649777 0 0 0 0 -4263 1 1.5393 1 169.83419436266342 295.829118839411 0 0 0 0 -7318 1 1.1687 1 149.58746821155248 276.7900911638625 0 0 0 0 -8760 1 1.0659 1 182.87534410987598 288.1866241346625 0 0 0 0 -4283 1 1.536 1 141.88306222923399 314.84138758777783 0 0 0 0 -4290 1 1.5347 1 154.69012307291615 291.3593777340615 0 0 0 0 -4362 1 1.521 1 159.97878356097186 305.5939294945185 0 0 0 0 -4379 1 1.5186 1 159.39539105102932 289.15444540537027 0 0 0 0 -4402 1 1.5148 1 177.59285473318283 304.7977289145734 0 0 0 0 -6471 1 1.2458 1 167.4963305125116 285.64462672550513 0 0 0 0 -4493 1 1.4986 1 144.8628557018707 315.1783793012305 0 0 0 0 -4368 1 1.5202 1 199.7450454364193 325.19334893491686 0 0 -1 0 -4496 1 1.498 1 143.2289091497518 315.48513370202284 0 0 0 0 -4500 1 1.4971 1 187.08604030806018 301.91102115334115 0 0 0 0 -4531 1 1.4928 1 195.0904548312787 275.73829480071896 0 0 0 0 -4535 1 1.4918 1 171.86461814611366 297.9962078924192 0 0 0 0 -2595 1 1.9703 1 196.52817737731277 277.89067980194 0 0 0 0 -3242 1 1.7546 1 150.2902362084538 270.22036721480634 0 0 0 0 -4803 1 1.4483 1 146.0492807593412 274.4728221516541 0 0 0 0 -4661 1 1.4705 1 198.39433765862933 322.9304620303872 0 0 0 0 -4672 1 1.4687 1 177.94090759037533 297.6412573449569 0 0 0 0 -4692 1 1.4658 1 158.37679766498078 280.94428606435315 0 0 0 0 -4731 1 1.4593 1 182.09581221999858 294.87752759913167 0 0 0 0 -4769 1 1.4531 1 147.99369983906803 304.2083467990801 0 0 0 0 -4854 1 1.4407 1 164.58315879181868 304.87341477641337 0 0 0 0 -9990 1 1.0006 1 146.87396870535014 296.1309251693787 0 0 0 0 -9805 1 1.0097 1 191.4685630811595 317.3571270577978 0 0 0 0 -4906 1 1.4312 1 188.79849154258773 282.84848845442764 0 0 0 0 -4931 1 1.4285 1 173.19691123234492 287.0526172464715 0 0 0 0 -4946 1 1.426 1 187.29284121240326 290.752270858992 0 0 0 0 -1091 1 3.0306 1 182.6058728132942 279.46004912141785 0 0 0 0 -4987 1 1.4219 1 189.73967399014353 291.3802723146927 0 0 0 0 -9227 1 1.0407 1 156.85009328620492 290.1944177458421 0 0 0 0 -9410 1 1.0301 1 179.08242325096035 285.553038256225 0 0 0 0 -5037 1 1.4154 1 167.95978687708555 304.76424613379197 0 0 0 0 -5050 1 1.4135 1 160.84123869423595 289.2842997962113 0 0 0 0 -5060 1 1.4115 1 191.0090419054447 315.35961179990045 0 0 0 0 -5066 1 1.4103 1 149.0193506571077 289.1348055922828 0 0 0 0 -8511 1 1.0801 1 184.4480792476964 289.2529357388829 0 0 0 0 -2456 1 2.0259 1 185.0841209154672 279.0145159118349 0 0 0 0 -4211 1 1.5477 1 195.12257084863228 323.71491675071917 0 0 -1 0 -5158 1 1.3942 1 153.92081419385505 292.5784145997375 0 0 0 0 -5169 1 1.3925 1 165.9065760270164 302.26053587255893 0 0 0 0 -5188 1 1.3901 1 195.03102593345528 277.158206991311 0 0 0 0 -5217 1 1.3871 1 147.13741442920988 305.59644498907824 0 0 0 0 -5237 1 1.3838 1 156.96913980836013 287.67911342023467 0 0 0 0 -9746 1 1.013 1 142.97222907267292 309.51745619155525 0 0 0 0 -5294 1 1.3767 1 147.805069291317 286.1397747319655 0 0 0 0 -5315 1 1.3737 1 142.36446980466036 318.5499501135988 0 0 0 0 -5331 1 1.372 1 165.1873992268213 301.14485256114733 0 0 0 0 -5354 1 1.369 1 153.6065630023659 305.70450146016077 0 0 0 0 -5379 1 1.3666 1 158.9585253848628 304.57409597203076 0 0 0 0 -5389 1 1.3654 1 199.31626904927364 321.90059945709464 0 0 0 0 -5459 1 1.3551 1 147.18754653307442 278.65508140403125 0 0 0 0 -9970 1 1.0021 1 146.04807143815023 310.1635286881253 0 0 0 0 -8718 1 1.0688 1 140.37552674413863 282.9874570421974 0 0 0 0 -5516 1 1.3491 1 185.85494284147362 302.4369638496658 0 0 0 0 -5535 1 1.3465 1 153.18849421971024 304.4344265516703 0 0 0 0 -5542 1 1.3453 1 193.01868756224619 289.1633669872986 0 0 0 0 -5562 1 1.3432 1 187.4555285422371 282.50271593132845 0 0 0 0 -5585 1 1.339 1 189.87132278748118 285.2924608503141 0 0 0 0 -5592 1 1.3383 1 166.5078779524109 299.0663429890372 0 0 0 0 -834 1 3.4982 1 170.13371778888236 287.1279572685927 0 0 0 0 -5626 1 1.3342 1 154.42928423104266 303.959232669248 0 0 0 0 -6444 1 1.2479 1 144.98516999676124 295.853985236517 0 0 0 0 -5653 1 1.3321 1 177.8876422906647 293.03580034960925 0 0 0 0 -1996 1 2.2439 1 198.00631087291873 324.65946140319494 0 0 -1 0 -5674 1 1.3295 1 150.54464627742956 305.437135624218 0 0 0 0 -9300 1 1.0366 1 173.20262342126372 289.844280949918 0 0 0 0 -5686 1 1.3278 1 184.09564831914298 300.29163044008754 0 0 0 0 -5689 1 1.3275 1 180.8123745129394 291.2167252809586 0 0 0 0 -5828 1 1.3116 1 192.58812071539015 317.16120284139777 0 0 0 0 -5848 1 1.3101 1 166.60970736174346 301.1466453690137 0 0 0 0 -5894 1 1.3052 1 154.81165202733715 302.71986890432674 0 0 0 0 -9499 1 1.026 1 174.5989812365908 279.5915745604599 0 0 0 0 -5927 1 1.302 1 146.74248850306182 286.7883073778271 0 0 0 0 -1883 1 2.3117 1 141.94272373607313 310.78123902551255 0 0 0 0 -5983 1 1.2964 1 185.32232035985018 299.9111188424876 0 0 0 0 -5989 1 1.2959 1 150.7852220908847 293.72907036223677 0 0 0 0 -9748 1 1.0129 1 151.76504649798534 294.3396350053033 0 0 0 0 -6024 1 1.2921 1 152.6492721137005 295.0886634974517 0 0 0 0 -6086 1 1.2846 1 188.8069937589259 311.50895713753044 0 0 0 0 -6087 1 1.2846 1 184.0317244940351 288.1607496781091 0 0 0 0 -6106 1 1.2829 1 180.04671750758726 286.20473208718295 0 0 0 0 -8592 1 1.0757 1 168.85354642006894 297.3407613063683 0 0 0 0 -8781 1 1.0644 1 152.86554355107242 277.00875429617207 0 0 0 0 -7364 1 1.1644 1 183.33427790006658 289.1507531965944 0 0 0 0 -6313 1 1.26 1 167.99420056924885 288.08277643995973 0 0 0 0 -9782 1 1.0108 1 160.69711046346742 286.33270673784887 0 0 0 0 -6167 1 1.2756 1 168.71529082387096 290.6985656011366 0 0 0 0 -9697 1 1.0156 1 187.0409764283584 285.9892276945703 0 0 0 0 -6219 1 1.2685 1 141.10170026446977 312.34231555738006 0 0 0 0 -6222 1 1.2684 1 167.79526611433445 286.8486654541405 0 0 0 0 -6794 1 1.2129 1 202.6401564767284 283.9091040435347 0 0 0 0 -7748 1 1.1326 1 198.64477342035008 277.4324366683021 0 0 0 0 -6250 1 1.2651 1 145.9143945618443 313.99287242326307 0 0 0 0 -6255 1 1.2645 1 141.7692628294135 319.69193009792656 0 0 0 0 -6263 1 1.2636 1 161.79538022028348 286.09703547926426 0 0 0 0 -3385 1 1.7188 1 180.31717508526805 278.93238738816393 0 0 0 0 -6289 1 1.2617 1 165.05411965395768 283.2864354697792 0 0 0 0 -6290 1 1.2616 1 146.11011723952595 312.64153838667085 0 0 0 0 -6296 1 1.261 1 178.13653856680682 291.77475323382856 0 0 0 0 -6317 1 1.2594 1 146.96755533773893 298.356591432134 0 0 0 0 -6319 1 1.2594 1 181.4359416391886 293.74156059034726 0 0 0 0 -6344 1 1.2576 1 149.36494703448236 304.92193030951523 0 0 0 0 -6362 1 1.2557 1 169.09781776962188 298.46042193251503 0 0 0 0 -6512 1 1.242 1 173.7719409132421 284.53593629586817 0 0 0 0 -6454 1 1.2472 1 159.38097949530294 284.62804292749007 0 0 0 0 -6463 1 1.2465 1 185.59357719644564 298.67217379982486 0 0 0 0 -6467 1 1.2462 1 191.84671242324652 288.7053501034725 0 0 0 0 -6493 1 1.2438 1 176.95172638126158 292.15902715007803 0 0 0 0 -6500 1 1.2433 1 179.83472535830612 302.1977568599626 0 0 0 0 -6511 1 1.242 1 149.202248583184 303.6882175522589 0 0 0 0 -6534 1 1.2391 1 186.205175625734 284.97659534256894 0 0 0 0 -8617 1 1.0738 1 157.8720354039597 279.8384278494398 0 0 0 0 -6554 1 1.2372 1 167.6007460038104 290.13173771067756 0 0 0 0 -4956 1 1.4251 1 143.2000568969435 304.3120028175312 0 0 0 0 -4254 1 1.5419 1 197.97110686381808 327.3789574585889 0 0 -1 0 -6606 1 1.2311 1 184.76433965238155 280.5865856246016 0 0 0 0 -5493 1 1.3517 1 196.00000011165113 326.7250582731043 0 0 -1 0 -6738 1 1.2191 1 141.088950425822 318.3507145108069 0 0 0 0 -9396 1 1.0309 1 153.04129538190364 297.1972627028829 0 0 0 0 -8626 1 1.0732 1 170.42591881336662 277.91305299314064 0 0 0 0 -6765 1 1.2165 1 185.8499759869156 306.2336219767523 0 0 0 0 -7992 1 1.115 1 201.70207558098818 322.67582299775523 0 0 0 0 -2472 1 2.0207 1 182.96926870367665 282.9321201829535 0 0 0 0 -6812 1 1.2108 1 164.9189102996546 285.4621236432515 0 0 0 0 -6161 1 1.2761 1 180.69975007635 280.34400256833425 0 0 0 0 -6877 1 1.2042 1 156.31279394602353 305.80544019536774 0 0 0 0 -6892 1 1.2028 1 153.94361181494935 308.0887528542202 0 0 0 0 -3815 1 1.6249 1 181.05303241719147 281.6988231445609 0 0 0 0 -9411 1 1.0301 1 144.21826230353108 316.24450127613403 0 0 0 0 -6946 1 1.1984 1 151.66982980049175 279.57697017561156 0 0 0 0 -6955 1 1.1981 1 170.16867414579994 278.9900500839249 0 0 0 0 -7001 1 1.1941 1 155.82334719989876 290.62690800852147 0 0 0 0 -4066 1 1.5718 1 167.01090887866064 282.76987349514565 0 0 0 0 -7014 1 1.1928 1 165.90658534821574 300.1291413383502 0 0 0 0 -6814 1 1.2108 1 144.69059302923492 300.7395343430482 0 0 0 0 -2893 1 1.864 1 153.28612537624616 272.7812435917897 0 0 0 0 -7030 1 1.1913 1 146.67203175399712 297.1811949888165 0 0 0 0 -7040 1 1.1904 1 156.9517745723995 306.7723929594279 0 0 0 0 -7057 1 1.1893 1 185.9730704305423 286.1644687970479 0 0 0 0 -7075 1 1.188 1 147.5286090872763 294.7184942421807 0 0 0 0 -8954 1 1.055 1 179.61543518615022 295.870707640668 0 0 0 0 -7081 1 1.1877 1 156.94133427983414 275.81146996930886 0 0 0 0 -8910 1 1.057 1 151.5444121637361 275.30934226161804 0 0 0 0 -8989 1 1.0532 1 152.78781235579316 279.51093933974784 0 0 0 0 -7171 1 1.1805 1 188.44931075334432 291.32536895677134 0 0 0 0 -7182 1 1.1796 1 182.72026740390828 308.8870765393387 0 0 0 0 -8541 1 1.0786 1 172.60928038019458 299.5336756090446 0 0 0 0 -9701 1 1.0152 1 183.77614784801975 301.41041540624514 0 0 0 0 -7222 1 1.1764 1 180.79849641736863 305.7337602888162 0 0 0 0 -9434 1 1.0291 1 148.309356640396 305.34741684776674 0 0 0 0 -7249 1 1.174 1 153.85780771308436 306.93538302626405 0 0 0 0 -7290 1 1.1716 1 187.38847752214144 306.5607980455061 0 0 0 0 -7315 1 1.1691 1 180.91267566941198 302.75925253801637 0 0 0 0 -7567 1 1.1466 1 148.81347774994754 275.9564979707435 0 0 0 0 -7338 1 1.1676 1 188.60349281562398 292.48219140343747 0 0 0 0 -9249 1 1.0394 1 143.97946624634582 295.37184687760686 0 0 0 0 -9584 1 1.0215 1 178.2351151579609 294.1518981148554 0 0 0 0 -9067 1 1.0489 1 172.64283451296194 277.93217037647753 0 0 0 0 -7445 1 1.1572 1 158.25986698159107 285.16176111495884 0 0 0 0 -3768 1 1.6364 1 182.57465663016413 286.93368498972086 0 0 0 0 -1378 1 2.7057 1 176.66797579169918 287.4547922291334 0 0 0 0 -7506 1 1.1519 1 166.95403399994103 296.0130084892297 0 0 0 0 -7525 1 1.1508 1 177.1571556859039 294.26586476486875 0 0 0 0 -7547 1 1.1486 1 165.37080017417117 291.99286172106036 0 0 0 0 -7620 1 1.1429 1 198.27331323565576 284.7585789943296 0 0 0 0 -7645 1 1.1407 1 174.35624298000397 278.53966999287803 0 0 0 0 -7649 1 1.1404 1 148.31628689998345 279.1411901298759 0 0 0 0 -7650 1 1.1403 1 197.39555811925572 285.7443484036753 0 0 0 0 -8447 1 1.0845 1 148.3823407622397 281.9153086842516 0 0 0 0 -9563 1 1.0222 1 160.07242231851146 304.33204906463754 0 0 0 0 -7700 1 1.1363 1 147.98864774024963 287.4498197970812 0 0 0 0 -8325 1 1.0925 1 190.82756974749418 316.5370389643785 0 0 0 0 -7745 1 1.1332 1 174.23295896379716 305.68602301674593 0 0 0 0 -7823 1 1.1273 1 194.04276611164696 281.54869505341514 0 0 0 0 -7824 1 1.1272 1 191.85005912281923 316.2621634264058 0 0 0 0 -7831 1 1.1271 1 157.8394744826988 284.1179339710453 0 0 0 0 -7856 1 1.1247 1 167.72301538694677 299.15547195580035 0 0 0 0 -6099 1 1.2831 1 145.18937935830647 309.43007244787634 0 0 0 0 -7922 1 1.1195 1 186.2974955192147 300.8609553421132 0 0 0 0 -9088 1 1.0476 1 152.98036739706887 296.178566188296 0 0 0 0 -4615 1 1.4789 1 156.86353174899008 281.13049265061426 0 0 0 0 -7947 1 1.1183 1 182.38595958040497 281.49811523047646 0 0 0 0 -8806 1 1.0629 1 172.44741725017667 300.5490078882537 0 0 0 0 -6115 1 1.2822 1 143.51873522109904 278.2519270241387 0 0 0 0 -8002 1 1.1143 1 164.26500685516407 286.4118698858333 0 0 0 0 -9397 1 1.0309 1 173.20291098343304 290.8744364556264 0 0 0 0 -8090 1 1.1081 1 166.48910965124927 290.4949627391633 0 0 0 0 -8100 1 1.1074 1 168.73260511718757 299.5721633855288 0 0 0 0 -8115 1 1.1067 1 190.46811410852706 292.4091324076473 0 0 0 0 -8149 1 1.1048 1 188.5501483392734 310.4525051486142 0 0 0 0 -8161 1 1.1038 1 159.75351351223347 287.50398266392585 0 0 0 0 -9405 1 1.0303 1 176.7957765704671 293.2531983659832 0 0 0 0 -4537 1 1.4913 1 183.6731935008101 281.3771693555259 0 0 0 0 -8214 1 1.1005 1 187.3881843889041 300.6839400027942 0 0 0 0 -8928 1 1.0562 1 155.7456108926456 301.9297467504146 0 0 0 0 -6446 1 1.2478 1 143.83844184261773 275.1967020876161 0 0 0 0 -8268 1 1.0968 1 175.85305386028222 291.7658573776988 0 0 0 0 -4990 1 1.4218 1 197.63940058069664 276.6479124817814 0 0 0 0 -8275 1 1.0966 1 167.13054541430273 300.0819893827487 0 0 0 0 -7205 1 1.1777 1 196.23568514244516 275.0771120430966 0 0 0 0 -8204 1 1.1012 1 178.32536227079007 269.8171278600241 0 0 0 0 -8729 1 1.0681 1 181.22109996615512 277.73755338172623 0 0 0 0 -125 1 8.6209 1 143.7119929091326 290.5721378882398 0 0 0 0 -9647 1 1.0181 1 152.98992150197057 271.4108970827942 0 0 0 0 -9308 1 1.0357 1 183.9504521283848 278.00333330278096 0 0 0 0 -1081 1 3.0415 1 171.52464367730042 276.2201286706263 0 0 0 0 -1582 1 2.5066 1 143.808326715538 302.48259838959075 0 0 0 0 -6238 1 1.2664 1 169.37138920308547 272.4544042729469 0 0 0 0 -4420 1 1.5114 1 143.35610764051964 300.5943041280495 0 0 0 0 -7227 1 1.1759 1 152.79667418393572 270.37273775081593 0 0 0 0 -378 1 5.0749 1 178.67104126948607 276.0208616890378 0 0 0 0 -507 1 4.337 1 174.16000944937952 273.7026368029965 0 0 0 0 -5655 1 1.332 1 182.673926924289 277.34539231901294 0 0 0 0 -2140 1 2.16 1 141.18774121429172 306.3971600725577 0 0 0 0 -2743 1 1.9137 1 139.4006075229311 287.5760608055779 0 0 0 0 -8694 1 1.0703 1 195.50804924467448 274.22336309658994 0 0 0 0 -7038 1 1.1905 1 167.39018881515338 270.66317834671145 0 0 0 0 -2540 1 1.9931 1 170.56594566506718 273.91668514872595 0 0 0 0 -5115 1 1.4004 1 143.0910281034183 276.58971657544885 0 0 0 0 -5239 1 1.3834 1 180.37328943899178 273.4248696756822 0 0 0 0 -1448 1 2.6234 1 142.27278471992568 295.9691177718004 0 0 0 0 -4192 1 1.5506 1 142.44848779502004 279.15672612254303 0 0 0 0 -4975 1 1.4235 1 142.1722174267068 301.41210408820695 0 0 0 0 -4550 1 1.4892 1 142.25273007882328 277.69909415762174 0 0 0 0 -6900 1 1.202 1 140.3385732477959 311.3872896301629 0 0 0 0 -7708 1 1.1357 1 139.41674733936955 316.91271365819335 0 0 0 0 -6571 1 1.2354 1 142.16830949608683 281.69866960107777 0 0 0 0 -5543 1 1.3452 1 164.36068199426924 268.8412982552619 0 0 0 0 -5627 1 1.334 1 142.5731320836605 275.38735883135945 0 0 0 0 -5484 1 1.3525 1 141.64981310313263 297.82374291084324 0 0 0 0 -4311 1 1.5309 1 171.55187372803772 272.5000224329659 0 0 0 0 -4491 1 1.499 1 168.52457758453176 271.3659862203018 0 0 0 0 -9472 1 1.0272 1 194.72418398848097 273.24541739647725 0 0 0 0 -2480 1 2.0171 1 139.9635318375766 309.85255424114047 0 0 0 0 -4052 1 1.5742 1 141.3869714559524 280.548041300971 0 0 0 0 -7446 1 1.1572 1 151.8964889265571 269.6742803859762 0 0 0 0 -5124 1 1.3991 1 141.6994406102265 276.3865935349469 0 0 0 0 -2154 1 2.1554 1 139.57768116317422 307.82097681008446 0 0 0 0 -7454 1 1.1566 1 177.36290840970025 271.947981597892 0 0 0 0 -4264 1 1.5391 1 177.02191036654312 273.20521876680107 0 0 0 0 -2724 1 1.9219 1 202.9976932065442 323.3983128885371 0 0 -1 0 -1116 1 2.9962 1 179.3955152655923 271.558658288187 0 0 0 0 -1895 1 2.3028 1 141.77830108201806 299.6164911396077 0 0 0 0 -6784 1 1.2145 1 193.6289105920033 273.09581101472565 0 0 0 0 -4175 1 1.5535 1 141.65003780670503 282.9320124238183 0 0 0 0 -3223 1 1.7592 1 176.03259896345256 271.34742575164 0 0 0 0 -8585 1 1.0762 1 140.59650656236462 276.86659345847676 0 0 0 0 -5889 1 1.306 1 170.41759175927876 271.7460227466974 0 0 0 0 -5241 1 1.3831 1 168.02008343373038 268.1811133339601 0 0 0 0 -6011 1 1.2934 1 169.71317570751924 270.7123036420325 0 0 0 0 -6214 1 1.27 1 165.22881111742197 269.77006823866816 0 0 0 0 -9557 1 1.0227 1 141.05628571376332 281.8005475948026 0 0 0 0 -9983 1 1.0011 1 139.64480718316756 306.24766032397144 0 0 0 0 -7981 1 1.1157 1 172.06901017448874 271.31327641374384 0 0 0 0 -5015 1 1.4184 1 177.45477041853178 270.70593780608954 0 0 0 0 -2971 1 1.8412 1 140.1325730230604 275.55713688504045 0 0 0 0 -8281 1 1.0962 1 193.6304131833937 271.9645036270409 0 0 0 0 -713 1 3.7604 1 140.7750283988733 303.54362433658764 0 0 0 0 -1397 1 2.6833 1 140.43661096761684 278.6614553396508 0 0 0 0 -9569 1 1.0221 1 173.09082820440221 271.2721460624233 0 0 0 0 -235 1 6.3107 1 156.5319457341564 270.547002767535 0 0 0 0 -61 1 12.294 1 186.97227876162106 272.12108203638576 0 0 0 0 -835 1 3.4964 1 140.9596639800788 285.3027755754538 0 0 0 0 -2735 1 1.9167 1 174.3548051190974 270.60677518932135 0 0 0 0 -9208 1 1.0414 1 179.36345380966654 269.5697899640889 0 0 0 0 -5612 1 1.3357 1 180.59057557357718 269.76477728372174 0 0 0 0 -4020 1 1.5795 1 171.07819403935068 270.4690427722594 0 0 0 0 -8269 1 1.0968 1 172.64676811761382 270.2458309501285 0 0 0 0 -994 1 3.1874 1 176.18747999394293 268.8990861940252 0 0 0 0 -2796 1 1.8943 1 168.5712354502429 269.68918779417083 0 0 0 0 -9752 1 1.0128 1 170.01938354169891 269.6051589582042 0 0 0 0 -6763 1 1.217 1 139.42422822652708 283.5727240526559 0 0 0 0 -7707 1 1.1358 1 174.0620364122995 269.12529668308053 0 0 0 0 -7695 1 1.1369 1 179.98747948603932 268.7002629505434 0 0 0 0 -3130 1 1.7845 1 178.58391645364603 268.4126222324784 0 0 0 0 -3885 1 1.6104 1 202.67037986994976 282.5313697634093 0 0 0 0 -3801 1 1.6286 1 202.58665372153024 280.9345613736418 0 0 0 0 -754 1 3.6793 1 138.78867743540863 281.2492144479594 0 0 0 0 -1479 1 2.595 1 152.64649427036295 267.5180843707769 0 0 0 0 -5161 1 1.3936 1 138.83525142782804 289.5514899299566 0 0 0 0 -7962 1 1.117 1 203.1108950871067 62.13195140182265 0 0 0 0 -78 1 10.2827 1 207.56474477149558 52.01036632590571 0 0 0 0 -87 1 10.0111 1 264.4965500947412 43.30827104489087 0 0 0 0 -91 1 9.7917 1 221.2342302186595 30.164662794916552 0 0 0 0 -98 1 9.6304 1 222.95668307631868 45.5499570102364 0 0 0 0 -129 1 8.4725 1 245.01910844524724 33.897728660832136 0 0 0 0 -154 1 7.5546 1 236.3213727855486 38.719158443295264 0 0 0 0 -157 1 7.5236 1 245.3445724958437 45.943426745846175 0 0 0 0 -175 1 7.2823 1 225.4371029185806 22.819904895900386 0 0 0 0 -3611 1 1.6688 1 235.90807106309634 16.54463551211032 0 0 0 0 -192 1 6.9495 1 232.21395981314706 47.63687090479122 0 0 0 0 -200 1 6.8647 1 229.69685401783136 32.18674352306858 0 0 0 0 -221 1 6.4716 1 218.39721056392216 37.63925077249971 0 0 0 0 -9429 1 1.0293 1 256.72787022708434 23.64405195519232 0 0 0 0 -259 1 6.1367 1 219.58049789221502 56.24385698918714 0 0 0 0 -265 1 6.06 1 255.03732874675185 37.23450289751804 0 0 0 0 -305 1 5.7095 1 237.9038037443188 21.942663833922175 0 0 0 0 -314 1 5.6024 1 216.30467553614764 49.00525276357468 0 0 0 0 -315 1 5.5997 1 222.18074605475275 63.742781712679665 0 0 0 0 -316 1 5.5712 1 240.33956114839893 49.95248067067265 0 0 0 0 -9233 1 1.0404 1 216.5047281825147 60.02231025202356 0 0 0 0 -328 1 5.4818 1 242.54775416012532 40.25401323634054 0 0 0 0 -345 1 5.3624 1 231.62606623128576 24.19481464603624 0 0 0 0 -365 1 5.1878 1 213.96694744467186 56.15914968573551 0 0 0 0 -395 1 4.9575 1 212.58432337839238 34.261709344650114 0 0 0 0 -504 1 4.3574 1 257.5240729894773 48.239259017144356 0 0 0 0 -556 1 4.1867 1 257.445306484337 44.094347547633184 0 0 0 0 -568 1 4.1356 1 212.89445891572134 20.97263726868254 0 0 0 0 -256 1 6.1627 1 232.39708025644993 11.73407578319812 0 0 0 0 -582 1 4.0846 1 232.2148025368509 17.58987609045711 0 0 0 0 -583 1 4.081 1 218.21397762996608 17.813427608441444 0 0 0 0 -586 1 4.0717 1 216.37032224132193 25.263589718099567 0 0 0 0 -598 1 4.0263 1 240.93573801907633 25.595664381824847 0 0 0 0 -599 1 4.0233 1 230.77889703350007 37.38576231183609 0 0 0 0 -613 1 3.9811 1 249.35288767700874 40.37013308019837 0 0 0 0 -7478 1 1.1545 1 262.82332068094644 30.43904515386641 0 0 0 0 -4457 1 1.5047 1 207.30025312468268 19.643715921062043 0 0 0 0 -660 1 3.8658 1 229.1861304068188 43.36284933494181 0 0 0 0 -662 1 3.8583 1 218.37542373241087 21.854981769259386 0 0 0 0 -672 1 3.8381 1 236.91212641546286 45.092713364023304 0 0 0 0 -680 1 3.8253 1 250.83842619573454 43.8642864578726 0 0 0 0 -705 1 3.7756 1 214.18901177660453 43.637639928409115 0 0 0 0 -746 1 3.6921 1 221.77872814441187 51.986204813771 0 0 0 0 -1540 1 2.5364 1 204.13573798116644 66.25722942878473 0 0 0 0 -782 1 3.6199 1 210.6014905175121 27.177084186863453 0 0 0 0 -4312 1 1.5307 1 210.09198353893458 16.562608819784327 0 0 0 0 -843 1 3.4713 1 227.63825165168146 58.83153788764746 0 0 0 0 -882 1 3.3846 1 225.99739489162522 55.92664922228679 0 0 0 0 -775 1 3.6388 1 238.35078061724894 15.741631398225392 0 0 1 0 -900 1 3.3582 1 227.44034180281378 15.396509904880743 0 0 0 0 -907 1 3.347 1 248.74934947758976 49.96274952259417 0 0 0 0 -518 1 4.3107 1 252.96171823849343 19.678687708638904 0 0 0 0 -931 1 3.2941 1 253.84228326635503 42.04069907970744 0 0 0 0 -933 1 3.2892 1 242.7841481556827 28.594986133622633 0 0 0 0 -7561 1 1.147 1 250.44793626573002 18.785729660878026 0 0 0 0 -943 1 3.2572 1 234.1868045957266 27.623719019216896 0 0 0 0 -954 1 3.2429 1 208.53318313802384 45.37774912360709 0 0 0 0 -6302 1 1.2608 1 210.05312763103606 15.166805567996928 0 0 0 0 -966 1 3.223 1 225.56748381293033 34.9332680007619 0 0 0 0 -1004 1 3.1748 1 214.62589401881914 17.78499285212965 0 0 0 0 -1094 1 3.0239 1 227.81559464734673 39.304029766100975 0 0 0 0 -1106 1 3.0109 1 218.4403354891124 61.749634980975195 0 0 0 0 -1109 1 3.0046 1 245.11692387698255 23.336342379849228 0 0 0 0 -1124 1 2.9853 1 233.1311271983109 52.39611038213821 0 0 0 0 -1154 1 2.9494 1 246.31686239829392 19.78512959385176 0 0 0 0 -1175 1 2.9306 1 250.2662020898611 37.15107129684844 0 0 0 0 -1207 1 2.8995 1 232.9353307070839 55.2187303351349 0 0 0 0 -1211 1 2.8964 1 239.42954421527492 42.936661050923846 0 0 0 0 -3137 1 1.7829 1 245.05647542247615 25.717636215116634 0 0 0 0 -1251 1 2.8491 1 227.93000359148618 52.01368515833143 0 0 0 0 -1007 1 3.1662 1 266.8792587511178 28.542579177536695 0 0 0 0 -2552 1 1.989 1 203.9361824138237 47.210267010161544 0 0 0 0 -1299 1 2.7943 1 236.8059796039435 26.00391314334182 0 0 0 0 -4696 1 1.4653 1 216.36751264521806 62.49253775349524 0 0 0 0 -1325 1 2.7618 1 227.75669509558477 49.30018923406453 0 0 0 0 -1330 1 2.7557 1 243.43359510505184 20.79625112966383 0 0 0 0 -9847 1 1.0077 1 238.42175393314446 18.04046592133246 0 0 1 0 -1359 1 2.7307 1 212.662171884198 30.52041955093674 0 0 0 0 -1363 1 2.7258 1 223.63836558166105 57.77851296491544 0 0 0 0 -979 1 3.2094 1 227.75867600638912 10.022663555900904 0 0 1 0 -1388 1 2.6975 1 215.04887656111498 40.615838703186625 0 0 0 0 -1406 1 2.6738 1 229.03579272774988 19.402387570698256 0 0 0 0 -1407 1 2.6733 1 213.6734805491387 60.003208890748176 0 0 0 0 -1437 1 2.637 1 209.55867203692526 42.69488453815315 0 0 0 0 -7834 1 1.1269 1 248.62270132727159 29.69328208474191 0 0 0 0 -1451 1 2.6201 1 210.20064376983152 22.929275389467296 0 0 0 0 -1463 1 2.6072 1 234.3371369441891 31.480090278489897 0 0 0 0 -1497 1 2.58 1 238.87802062528687 30.055802771912923 0 0 0 0 -1502 1 2.5756 1 213.70172287679043 27.351772519723184 0 0 0 0 -1508 1 2.57 1 236.8855245502535 28.590240330403063 0 0 0 0 -1515 1 2.5616 1 226.78082832344813 18.229100815746143 0 0 0 0 -1517 1 2.5599 1 230.28340141683643 40.50267757754367 0 0 0 0 -1553 1 2.5315 1 212.35687193797528 37.97454593031655 0 0 0 0 -1626 1 2.4708 1 263.44051945719866 49.301521144324006 0 0 0 0 -1643 1 2.4568 1 209.55134402180946 38.726926029894 0 0 0 0 -105 1 9.501 1 214.79067392808855 70.32649731304058 0 0 0 0 -1708 1 2.4165 1 221.27119996006095 16.897248208606943 0 0 0 0 -1721 1 2.4102 1 234.87837562793695 19.32949048353879 0 0 0 0 -1743 1 2.3881 1 207.7751284746501 23.25696584043015 0 0 0 0 -1754 1 2.3837 1 222.19892066823996 39.717466306301084 0 0 0 0 -1773 1 2.3714 1 208.65700113958434 21.01486845806747 0 0 0 0 -1781 1 2.3669 1 237.5566094347416 52.758424042503286 0 0 0 0 -1790 1 2.3618 1 240.93095174884152 19.2977272214467 0 0 0 0 -1818 1 2.3461 1 219.32367011534976 66.52167600192439 0 0 0 0 -1843 1 2.3328 1 211.19007142896578 44.550399293931775 0 0 0 0 -1851 1 2.3299 1 259.6714953607357 39.51855643686048 0 0 0 0 -3831 1 1.6206 1 226.45837215599914 11.9644306282713 0 0 1 0 -1884 1 2.3108 1 231.47523985677535 27.994886856731476 0 0 0 0 -1889 1 2.306 1 244.0077636823795 16.29145450928171 0 0 0 0 -1917 1 2.2888 1 256.36646246908765 41.114003947442654 0 0 0 0 -1937 1 2.2787 1 229.79884385773326 53.63825777974209 0 0 0 0 -1629 1 2.468 1 258.87906874316417 35.43005292140554 0 0 0 0 -1998 1 2.243 1 215.02507176148703 15.157035855328832 0 0 0 0 -2005 1 2.2362 1 236.62220319048677 54.811916878690006 0 0 0 0 -2012 1 2.2311 1 215.3677507445192 52.761517857935715 0 0 0 0 -2035 1 2.2197 1 234.08027551552098 21.45206888011766 0 0 0 0 -2112 1 2.1759 1 226.93701596052352 61.47771618244122 0 0 0 0 -2119 1 2.1709 1 213.58877351257692 23.950616719484774 0 0 0 0 -2123 1 2.1682 1 250.25965625505657 33.93050318970568 0 0 0 0 -2129 1 2.1649 1 236.58868588287308 50.75896873306889 0 0 0 0 -2172 1 2.1481 1 205.4693158367794 43.39532371530423 0 0 0 0 -2173 1 2.148 1 215.63074303818522 32.467175120214094 0 0 0 0 -2186 1 2.1445 1 223.33692261768388 54.565965014010246 0 0 0 0 -2194 1 2.1407 1 242.61128481448915 23.062772290395113 0 0 0 0 -2210 1 2.1325 1 212.5107340640509 48.30495622635748 0 0 0 0 -2225 1 2.1252 1 254.35105813993297 48.73196524553188 0 0 0 0 -1283 1 2.8067 1 236.62235358392823 13.05211892205928 0 0 0 0 -2277 1 2.1042 1 224.54499595400037 52.5833552583836 0 0 0 0 -2339 1 2.0725 1 249.82682989091262 47.56648763417984 0 0 0 0 -2362 1 2.0615 1 236.58283224618953 30.858602930175035 0 0 0 0 -2404 1 2.0463 1 240.61738168062323 45.832164870604316 0 0 0 0 -2428 1 2.0366 1 212.77036027606601 40.99769235160237 0 0 0 0 -2432 1 2.0342 1 218.50677928497464 64.51247718370013 0 0 0 0 -3420 1 1.7113 1 246.7066950912862 14.442372991094471 0 0 1 0 -2454 1 2.0261 1 225.78725020791248 50.603788878690416 0 0 0 0 -2521 1 2.0042 1 222.59938652957047 37.63463769873338 0 0 0 0 -4937 1 1.4275 1 264.64560808633115 28.295879834847558 0 0 0 0 -2542 1 1.9916 1 244.07975389038052 18.54232553835464 0 0 0 0 -2554 1 1.988 1 231.36121141248594 58.17226466992127 0 0 0 0 -2559 1 1.9855 1 219.04902100131056 51.5267519291609 0 0 0 0 -2645 1 1.9509 1 252.22815550993116 34.48405996891903 0 0 0 0 -2663 1 1.9431 1 225.64643207697958 40.46079777828474 0 0 0 0 -2665 1 1.9424 1 242.37596936512563 17.61256907596253 0 0 0 0 -610 1 3.9881 1 209.94667970903976 9.971738656161294 0 0 0 0 -7930 1 1.1192 1 255.49003384849203 20.524091767198982 0 0 0 0 -2747 1 1.9119 1 215.77587122801663 28.14037601486603 0 0 0 0 -2793 1 1.895 1 213.4768874007314 46.56468296945167 0 0 0 0 -2822 1 1.8881 1 222.05088993483344 18.851568881677547 0 0 0 0 -2890 1 1.8645 1 208.80156233561706 18.921310640035294 0 0 0 0 -714 1 3.7603 1 258.1519310327922 32.484171295384016 0 0 0 0 -2953 1 1.8471 1 252.7145575917941 49.846426612456625 0 0 0 0 -1579 1 2.5081 1 260.9375334403991 36.771727010598994 0 0 0 0 -9276 1 1.0379 1 248.38455532047678 28.667598310475835 0 0 0 0 -2981 1 1.8388 1 262.8473034272947 37.66438124064743 0 0 0 0 -3021 1 1.8198 1 211.23507668329583 14.236112681322986 0 0 0 0 -3028 1 1.8185 1 260.4679971754898 47.56994184317955 0 0 0 0 -3051 1 1.8121 1 220.5012333574626 23.739444477768952 0 0 0 0 -3053 1 1.8117 1 217.9236940496641 42.92875430174855 0 0 0 0 -3054 1 1.8113 1 221.55847436110568 20.553716083427013 0 0 0 0 -3061 1 1.8095 1 229.6514910453425 27.04517191322001 0 0 0 0 -3080 1 1.8056 1 230.6307197117678 15.234115157626718 0 0 0 0 -3099 1 1.7973 1 215.32549610892733 22.590592793541845 0 0 0 0 -3112 1 1.7942 1 211.71379386160282 42.58886093194265 0 0 0 0 -3125 1 1.7861 1 243.61548325620896 51.9078161949087 0 0 0 0 -3165 1 1.776 1 250.93505991776965 17.45853748766874 0 0 0 0 -3198 1 1.7665 1 206.94762615847947 42.183701391388894 0 0 0 0 -3206 1 1.765 1 216.45138073775246 58.55932656371049 0 0 0 0 -3208 1 1.7646 1 249.11312479257475 31.013995684176596 0 0 0 0 -3231 1 1.7573 1 253.49157754184657 44.69105964116008 0 0 0 0 -3244 1 1.7542 1 248.06223157723807 37.90004160106433 0 0 0 0 -3249 1 1.753 1 235.34591268770907 14.933871227402024 0 0 0 0 -3260 1 1.7495 1 215.99032177540562 34.33663375935228 0 0 0 0 -3277 1 1.7458 1 233.38840404816236 35.1650300125648 0 0 0 0 -3304 1 1.7393 1 225.68122858375958 62.894360130104154 0 0 0 0 -3319 1 1.7355 1 211.34750343267356 39.78344908901015 0 0 0 0 -3342 1 1.7304 1 228.47786247143713 56.41485185814841 0 0 0 0 -3345 1 1.7301 1 219.00743225319317 41.58869552196331 0 0 0 0 -3346 1 1.7295 1 251.1111865442526 49.109025076301435 0 0 0 0 -3374 1 1.7231 1 215.79506691910348 20.9266934829131 0 0 0 0 -9051 1 1.05 1 207.75603679440775 71.78994381359631 0 0 0 0 -3380 1 1.7204 1 235.42863552593963 52.21763743275614 0 0 0 0 -3402 1 1.7145 1 242.0825983042778 15.820933158856844 0 0 0 0 -2077 1 2.1953 1 236.8415522835872 18.19251890914954 0 0 1 0 -3483 1 1.6973 1 247.25928316041356 29.38838375665193 0 0 0 0 -6236 1 1.2667 1 226.62545630570511 13.315414563482538 0 0 0 0 -3500 1 1.6936 1 226.82613839861628 29.11452276363542 0 0 0 0 -3510 1 1.6921 1 213.43331779866185 52.82923295515662 0 0 0 0 -3516 1 1.691 1 214.421155908413 29.30960639338929 0 0 0 0 -3524 1 1.6885 1 240.5333497325703 36.210943038888594 0 0 0 0 -3525 1 1.6885 1 229.6518236082436 21.397996163395664 0 0 0 0 -3533 1 1.6858 1 221.06461519606964 22.157143798404487 0 0 0 0 -3546 1 1.6832 1 252.51361769775377 46.094549803828706 0 0 0 0 -3559 1 1.6791 1 233.70908827471033 33.49803080748566 0 0 0 0 -8588 1 1.0761 1 220.51853204454932 67.70526400214978 0 0 0 0 -6694 1 1.2226 1 248.84976161986873 16.02476923261381 0 0 0 0 -4200 1 1.5497 1 210.93049985240637 65.98729324138807 0 0 0 0 -3708 1 1.6449 1 229.85484115251649 55.528800138794026 0 0 0 0 -3721 1 1.6439 1 226.20517135403628 53.44914193666939 0 0 0 0 -3401 1 1.7149 1 210.2890392206024 19.80851432349966 0 0 0 0 -3744 1 1.6406 1 228.57600265620533 25.80968733238832 0 0 0 0 -4512 1 1.495 1 241.9360073784034 10.368784917226218 0 0 1 0 -3333 1 1.7324 1 210.451859933649 12.704842458165615 0 0 0 0 -3794 1 1.6312 1 245.83225699694393 41.419834280834806 0 0 0 0 -1598 1 2.4953 1 203.80600703187315 63.79509203878388 0 0 0 0 -3812 1 1.6258 1 215.95318149207932 63.922577218337814 0 0 0 0 -3828 1 1.6208 1 217.7197529277347 59.60061990331619 0 0 0 0 -3835 1 1.6198 1 225.01590422242847 59.3926823070678 0 0 0 0 -3865 1 1.614 1 236.08390212925266 32.61372009159016 0 0 0 0 -3868 1 1.6134 1 211.2939372804959 24.684056153517485 0 0 0 0 -8791 1 1.0639 1 258.0960713997615 30.118574973125693 0 0 0 0 -3951 1 1.5962 1 251.66184678243437 38.91127318306162 0 0 0 0 -3952 1 1.5957 1 245.28774065791802 51.57610779935686 0 0 0 0 -3955 1 1.5947 1 224.23231083077334 36.90552017184509 0 0 0 0 -7116 1 1.1843 1 264.1888869910061 32.550176827901055 0 0 0 0 -3974 1 1.5911 1 233.13733109366459 43.51878365473337 0 0 0 0 -3975 1 1.591 1 232.2723620941113 40.77788639307927 0 0 0 0 -3977 1 1.5906 1 234.82381551244842 25.30681930555259 0 0 0 0 -3991 1 1.5885 1 216.43618365453943 42.19783439074265 0 0 0 0 -3994 1 1.5874 1 236.20606517812664 34.179038873068826 0 0 0 0 -4002 1 1.5833 1 207.65172756410857 25.19007298169032 0 0 0 0 -4019 1 1.5798 1 233.16752187117376 41.993493208087024 0 0 0 0 -2390 1 2.0523 1 252.62183164237376 16.589629828225874 0 0 0 0 -6392 1 1.2522 1 204.62983686158012 11.222769780562746 0 0 0 0 -4047 1 1.5748 1 209.99583809772164 40.66602145254684 0 0 0 0 -4054 1 1.5739 1 247.2698046874861 41.96292040242127 0 0 0 0 -5738 1 1.3219 1 215.99749027140936 13.746404875857028 0 0 0 0 -4060 1 1.573 1 240.22791384233898 53.46360827539019 0 0 0 0 -4065 1 1.5725 1 244.86459675277328 27.377438265465898 0 0 0 0 -4099 1 1.5665 1 241.47812728889744 21.6201276450243 0 0 0 0 -4118 1 1.5635 1 209.19918670164952 24.895282630488456 0 0 0 0 -6435 1 1.2486 1 251.95071035541713 13.522387277026654 0 0 1 0 -4132 1 1.561 1 243.59186321092685 24.959384687893156 0 0 0 0 -4140 1 1.5603 1 239.0792563184405 46.633951157273636 0 0 0 0 -4142 1 1.5599 1 203.80035023595448 56.558110228052506 0 0 0 0 -4188 1 1.5516 1 221.8778707109555 35.75163624256804 0 0 0 0 -4191 1 1.5507 1 250.30901095611458 32.1066620074036 0 0 0 0 -4209 1 1.5483 1 257.7574960077331 39.87099068408257 0 0 0 0 -4218 1 1.5469 1 233.7333269454372 15.256429974670915 0 0 0 0 -9641 1 1.0184 1 255.78227047845834 22.923067022058902 0 0 0 0 -1647 1 2.4548 1 206.08588380870384 64.74248725323581 0 0 0 0 -4302 1 1.5324 1 258.2158178314501 41.2818320278309 0 0 0 0 -4316 1 1.5297 1 220.11024162349474 19.81865299573662 0 0 0 0 -4324 1 1.528 1 217.07176508503693 15.210625520157777 0 0 0 0 -4331 1 1.5263 1 211.8014577160668 46.36461521942571 0 0 0 0 -4343 1 1.524 1 246.94672990339174 39.09020840594425 0 0 0 0 -4082 1 1.5694 1 262.7608435471741 26.47022533657565 0 0 0 0 -4433 1 1.5086 1 204.82384894735281 22.830817046430983 0 0 0 0 -4442 1 1.5073 1 231.5914848208191 42.167826982570766 0 0 0 0 -155 1 7.5388 1 205.75482193725006 15.424784357244366 0 0 0 0 -4446 1 1.5068 1 260.22861661556885 49.42668914899588 0 0 0 0 -4448 1 1.5066 1 227.6219765564666 54.13409744741994 0 0 0 0 -9723 1 1.0141 1 204.9515407158013 69.9222263003683 0 0 0 0 -4619 1 1.4785 1 229.598968954827 16.457963245626974 0 0 0 0 -8196 1 1.1018 1 247.7232640955951 15.345283594538895 0 0 1 0 -4632 1 1.4766 1 235.19350732503673 55.97814148266667 0 0 0 0 -4637 1 1.4757 1 235.2457201331257 29.706795665924695 0 0 0 0 -4679 1 1.4677 1 224.09267993343613 50.91512280194266 0 0 0 0 -4730 1 1.4594 1 214.0931183885958 38.84344703338912 0 0 0 0 -4740 1 1.4577 1 213.13861933386758 50.41233534099104 0 0 0 0 -4754 1 1.4558 1 236.28752718631836 48.140828699084615 0 0 0 0 -7138 1 1.1831 1 209.80201937691822 13.97501807559637 0 0 0 0 -3859 1 1.6162 1 253.29042468642004 33.127958817192074 0 0 0 0 -4802 1 1.4484 1 238.29852961524705 33.18276724805466 0 0 0 0 -4826 1 1.4452 1 224.9026102934609 17.67435660354202 0 0 0 0 -4829 1 1.4449 1 261.29838945975797 38.63975550606792 0 0 0 0 -4836 1 1.4438 1 210.24175822766102 36.3923170992771 0 0 0 0 -4846 1 1.4423 1 228.5583086119001 17.44367294315622 0 0 0 0 -4857 1 1.4403 1 228.12199557533359 37.159312896051325 0 0 0 0 -4858 1 1.4402 1 239.72790474865198 17.840771436863264 0 0 0 0 -4870 1 1.438 1 234.4868613219513 44.134899200594255 0 0 0 0 -8482 1 1.0822 1 205.03711284833696 68.91408382013918 0 0 0 0 -4903 1 1.432 1 242.03686306594827 52.87353827502062 0 0 0 0 -4909 1 1.4309 1 232.8738946846414 57.38106019640903 0 0 0 0 -4910 1 1.4307 1 212.5089560683693 25.548368320816532 0 0 0 0 -4915 1 1.4302 1 234.80283796813308 34.52726417931429 0 0 0 0 -4918 1 1.4299 1 243.6378528231988 26.431305832428475 0 0 0 0 -294 1 5.8086 1 209.51325773180213 59.678255509926686 0 0 0 0 -4928 1 1.4287 1 251.54117938627024 47.60989411661077 0 0 0 0 -4939 1 1.4272 1 225.65276499046865 37.32015173145895 0 0 0 0 -5022 1 1.4174 1 235.3756393810319 43.04405086715962 0 0 0 0 -5027 1 1.417 1 228.61011973285144 28.245213972191934 0 0 0 0 -738 1 3.7055 1 266.57019642327907 36.92232756811717 0 0 0 0 -5044 1 1.4141 1 207.57789283934878 63.539635857911726 0 0 0 0 -5056 1 1.4122 1 239.28130858188706 35.38273252543482 0 0 0 0 -5117 1 1.4004 1 252.7057297489719 48.27171556025124 0 0 0 0 -5137 1 1.398 1 231.92982041284716 20.878307867282732 0 0 0 0 -5143 1 1.3976 1 226.81303090955194 41.63566733822149 0 0 0 0 -5145 1 1.3972 1 252.6218235990609 40.046129252430354 0 0 0 0 -5154 1 1.3954 1 220.41763260112617 60.80803185146119 0 0 0 0 -5214 1 1.3873 1 212.4496807915142 18.337696191490974 0 0 0 0 -5236 1 1.384 1 230.9319452173763 19.976080369321824 0 0 0 0 -5254 1 1.3814 1 205.45681949391604 41.676576366118304 0 0 0 0 -5306 1 1.3747 1 226.22273881669682 27.73828864824239 0 0 0 0 -5324 1 1.3726 1 261.8119650143514 48.35455352552693 0 0 0 0 -5326 1 1.3723 1 208.5364979344122 64.43203782394004 0 0 0 0 -5342 1 1.3708 1 251.02383663035846 46.37673791991419 0 0 0 0 -5413 1 1.3617 1 233.02689882281095 20.104504148726225 0 0 0 0 -5444 1 1.3571 1 222.06645308052646 59.033220454785976 0 0 0 0 -5452 1 1.3556 1 205.83585352803556 58.16380971139263 0 0 0 0 -5474 1 1.3534 1 245.579726164992 38.741534757390156 0 0 0 0 -6931 1 1.1997 1 267.408286913445 48.05100904077361 0 0 0 0 -5335 1 1.3716 1 249.68596016450425 21.81324825346597 0 0 0 0 -5495 1 1.3516 1 226.86971113814596 36.74194587151739 0 0 0 0 -5496 1 1.3515 1 223.81899093892582 60.68839825208828 0 0 0 0 -5512 1 1.3496 1 253.53322210686594 47.20542924147979 0 0 0 0 -5514 1 1.3495 1 212.1905151081659 15.402425354363208 0 0 0 0 -5540 1 1.3457 1 251.808928137959 41.12524991079597 0 0 0 0 -1627 1 2.47 1 242.3175497746465 13.762508218380319 0 0 1 0 -5568 1 1.3418 1 212.47279285008744 61.545187566163825 0 0 0 0 -106 1 9.4974 1 253.50432428456412 27.631923630099045 0 0 0 0 -5665 1 1.3307 1 214.93044586187386 45.951585193831725 0 0 0 0 -7554 1 1.148 1 205.41648615765436 23.999506435797326 0 0 0 0 -5711 1 1.3248 1 225.7751804617233 38.66614692709358 0 0 0 0 -5716 1 1.3244 1 230.18502495473084 59.30555972244207 0 0 0 0 -5717 1 1.3243 1 207.40916714762935 40.71923218386104 0 0 0 0 -6915 1 1.2007 1 254.63027694680662 32.79572803692463 0 0 0 0 -4755 1 1.4557 1 225.50412756164536 13.986819750884422 0 0 0 0 -5741 1 1.3215 1 218.16656322230037 52.8665589909941 0 0 0 0 -5743 1 1.3215 1 217.4949803539854 45.7679189298822 0 0 0 0 -5817 1 1.3127 1 240.8674585386432 17.16612979629562 0 0 0 0 -5832 1 1.3113 1 210.70612156937167 47.203064897840285 0 0 0 0 -5834 1 1.3112 1 230.3809569741503 56.877179814863055 0 0 0 0 -9908 1 1.0047 1 205.4537880182569 60.110376287332265 0 0 0 0 -5850 1 1.3101 1 254.93511081281346 45.194426492503815 0 0 0 0 -5869 1 1.3085 1 221.80358738870925 60.3292306517975 0 0 0 0 -5885 1 1.3061 1 213.97421297901002 51.489272394907324 0 0 0 0 -3178 1 1.7714 1 223.30781794763064 17.580490385857793 0 0 1 0 -5980 1 1.2966 1 246.36519669007419 50.19702288990438 0 0 0 0 -5995 1 1.2952 1 234.1117155870303 56.817373452333136 0 0 0 0 -5999 1 1.2948 1 213.15001532768147 16.215074449159705 0 0 0 0 -6034 1 1.2912 1 224.64127406275747 39.24054290960004 0 0 0 0 -6050 1 1.2888 1 228.11606261319216 47.30949594108686 0 0 0 0 -1379 1 2.7048 1 262.6547975932452 28.538001678133178 0 0 0 0 -6097 1 1.2833 1 245.00466708706537 29.031226341361812 0 0 0 0 -6110 1 1.2827 1 240.91874516202037 31.334938953570802 0 0 0 0 -6111 1 1.2826 1 234.71337812026852 50.90205726638136 0 0 0 0 -6112 1 1.2826 1 231.17418814566173 51.57602543774526 0 0 0 0 -6126 1 1.2809 1 210.736706550545 30.885811675939046 0 0 0 0 -6127 1 1.2807 1 215.78424953808042 29.690559360952694 0 0 0 0 -6147 1 1.2788 1 208.66599643321595 40.5543193994565 0 0 0 0 -6184 1 1.2739 1 234.53091225406706 16.332717277046246 0 0 0 0 -6186 1 1.2736 1 234.89476075212698 54.66693224290191 0 0 0 0 -1237 1 2.8655 1 210.4933833096538 63.78824332771311 0 0 0 0 -6213 1 1.2701 1 231.7272486793134 43.548886156541535 0 0 0 0 -6215 1 1.27 1 207.94254062574808 39.58859482266867 0 0 0 0 -9971 1 1.0021 1 259.45837534902125 41.13669214028651 0 0 0 0 -4536 1 1.4914 1 207.82508350746346 65.63171295472199 0 0 0 0 -3718 1 1.6443 1 251.71932720644895 32.81333803067069 0 0 0 0 -6241 1 1.2662 1 216.50416043383026 54.237214231241325 0 0 0 0 -6270 1 1.2631 1 229.46480033418632 50.667460717370965 0 0 0 0 -6298 1 1.2608 1 231.52532936912456 53.76103876628477 0 0 0 0 -6331 1 1.2586 1 223.91787738784626 40.2359804963428 0 0 0 0 -1240 1 2.8611 1 214.19641671231435 62.63434183225882 0 0 0 0 -6349 1 1.2571 1 217.27612020783207 63.48664136942858 0 0 0 0 -7796 1 1.1291 1 205.43128502230164 63.09154702940492 0 0 0 0 -6367 1 1.2552 1 229.7900928955787 57.993095118168576 0 0 0 0 -6377 1 1.2541 1 238.57916960342055 31.905424899402476 0 0 0 0 -6388 1 1.2526 1 234.86463720459273 17.53159914721671 0 0 0 0 -6405 1 1.2511 1 245.8965366166079 39.99131801022619 0 0 0 0 -4947 1 1.4259 1 255.74245152337244 21.718164693425507 0 0 0 0 -6414 1 1.2504 1 223.40514625317167 35.15232385642463 0 0 0 0 -9379 1 1.032 1 241.04948350049372 23.08027553982002 0 0 0 0 -6437 1 1.2484 1 255.62797064155166 46.2223822307234 0 0 0 0 -6450 1 1.2476 1 206.52985071642902 46.34218933822117 0 0 0 0 -6469 1 1.2461 1 261.59094976021225 49.64144284487312 0 0 0 0 -6472 1 1.2458 1 213.3518459743668 14.978651665142312 0 0 0 0 -6475 1 1.2457 1 204.21217273340736 41.89907858831338 0 0 0 0 -6488 1 1.2446 1 218.83920898730835 24.297498292718483 0 0 0 0 -6513 1 1.2418 1 229.9520884797645 51.826338021259915 0 0 0 0 -6525 1 1.2406 1 211.19331899687248 41.24074576960737 0 0 0 0 -6588 1 1.2334 1 216.94975624982456 64.92717313158211 0 0 0 0 -1961 1 2.2642 1 262.5059869299382 32.494512523035866 0 0 0 0 -2224 1 2.1253 1 258.2074482114956 24.041924869192197 0 0 0 0 -6617 1 1.2306 1 240.2166216850305 33.629184692265675 0 0 0 0 -6620 1 1.2302 1 240.51879870758845 37.6370507520194 0 0 0 0 -6648 1 1.2271 1 241.74086856346457 43.47687080659902 0 0 0 0 -6668 1 1.2252 1 238.1470542372941 34.75530080970246 0 0 0 0 -9309 1 1.0357 1 205.87278594715585 69.50799578367301 0 0 0 0 -6701 1 1.2223 1 244.8641800876904 50.26288916915874 0 0 0 0 -6708 1 1.2214 1 221.6483696195857 24.69822386990714 0 0 0 0 -7835 1 1.1269 1 265.24502176212303 27.195098049945774 0 0 0 0 -6726 1 1.2198 1 246.68051542817327 51.37809911316851 0 0 0 0 -6741 1 1.2188 1 210.5598229961298 29.624233043739647 0 0 0 0 -6870 1 1.2048 1 213.78826160071935 25.54893993508333 0 0 0 0 -1167 1 2.9366 1 244.87766605028906 13.099450371943734 0 0 1 0 -6895 1 1.2028 1 227.0881688418086 26.715595392897093 0 0 0 0 -2269 1 2.1074 1 251.28779838597922 22.344817513847513 0 0 0 0 -6917 1 1.2005 1 216.6389284096886 43.63312402672228 0 0 0 0 -1413 1 2.6674 1 209.47880709613653 67.60141238486251 0 0 0 0 -6933 1 1.1996 1 235.44626511194002 53.609878002520865 0 0 0 0 -6951 1 1.1981 1 219.80903830053887 50.00232085250287 0 0 0 0 -6981 1 1.1959 1 254.78452442576423 44.006634845708675 0 0 0 0 -7007 1 1.1935 1 235.10036763385116 23.9491169473395 0 0 0 0 -1188 1 2.919 1 260.8217413811994 30.560159198534677 0 0 0 0 -7044 1 1.1899 1 237.4140350297102 32.23360861955315 0 0 0 0 -7053 1 1.1894 1 239.76448583565957 31.683922996491866 0 0 0 0 -7066 1 1.1886 1 240.71189989551007 30.14552029885372 0 0 0 0 -7115 1 1.1844 1 212.00070814597336 23.477931825069305 0 0 0 0 -7133 1 1.1834 1 254.31393273932872 46.24138989283489 0 0 0 0 -7136 1 1.1832 1 227.4326087102945 27.84584639510591 0 0 0 0 -7143 1 1.1828 1 248.26511253379144 20.431336217811772 0 0 0 0 -7192 1 1.1787 1 212.41114253998535 28.65453312918645 0 0 0 0 -7198 1 1.1781 1 264.3125544365745 37.72949890970818 0 0 0 0 -7199 1 1.1781 1 239.15640731203615 34.129400094842396 0 0 0 0 -7208 1 1.1776 1 246.72799716783905 15.867971968508574 0 0 0 0 -2162 1 2.1509 1 204.788928035347 45.3589160566029 0 0 0 0 -7238 1 1.175 1 215.80318426690684 30.866779540084764 0 0 0 0 -7256 1 1.1737 1 223.53549342232031 19.059879384556965 0 0 0 0 -7261 1 1.1734 1 238.28676544148772 54.50590418400302 0 0 0 0 -7281 1 1.1726 1 254.96002816367087 47.21740908825459 0 0 0 0 -5722 1 1.324 1 220.0958516811795 69.41677990186314 0 0 0 0 -7314 1 1.1692 1 215.2721836360623 35.56692089329319 0 0 0 0 -7339 1 1.1676 1 216.12194882355325 45.643246447397196 0 0 0 0 -7346 1 1.1663 1 216.99177519095343 53.16740909864084 0 0 0 0 -7347 1 1.1662 1 251.03361661461366 35.35619116103999 0 0 0 0 -7350 1 1.1658 1 243.69092397359572 50.12496183629716 0 0 0 0 -7362 1 1.1645 1 206.38187074783755 44.90015487903544 0 0 0 0 -7390 1 1.162 1 249.66168029060552 46.00320849964313 0 0 0 0 -7406 1 1.1608 1 223.09329635539328 36.22255160222285 0 0 0 0 -7429 1 1.159 1 205.4356546754918 46.790463041484344 0 0 0 0 -7443 1 1.1574 1 228.61240236319804 36.001554687557345 0 0 0 0 -7451 1 1.1567 1 239.5455354652179 28.245188701017632 0 0 0 0 -7462 1 1.1562 1 259.1408378959467 42.14128437792776 0 0 0 0 -7482 1 1.1542 1 214.6392537397379 37.70221531572404 0 0 0 0 -7746 1 1.1331 1 205.53292560619508 19.68514429789587 0 0 0 0 -7548 1 1.1484 1 208.44089821686882 26.263324992294255 0 0 0 0 -2430 1 2.0352 1 249.8449043948412 20.19560218229522 0 0 0 0 -7571 1 1.1462 1 240.69399755261503 16.000162217160188 0 0 0 0 -7598 1 1.1441 1 224.8776552597604 54.07240730522005 0 0 0 0 -9956 1 1.0029 1 237.41931173028888 33.95602404444232 0 0 0 0 -7640 1 1.141 1 236.9414835455696 49.22656224032697 0 0 0 0 -7678 1 1.1382 1 246.97641946448772 16.976434023858236 0 0 0 0 -7681 1 1.1377 1 228.59137198865267 54.995235229013936 0 0 0 0 -7692 1 1.137 1 216.17309291810827 16.301691253581982 0 0 0 0 -7720 1 1.1348 1 216.81425872544838 44.760571995025096 0 0 0 0 -7790 1 1.1295 1 258.2206013480699 38.70484002080566 0 0 0 0 -7803 1 1.1286 1 219.79519003280075 24.955239061577984 0 0 0 0 -7816 1 1.1278 1 237.52318942529647 48.3317492618603 0 0 0 0 -7822 1 1.1274 1 233.18687649285997 29.594738525971238 0 0 0 0 -1791 1 2.3617 1 228.28186758091937 12.68159743957033 0 0 1 0 -7858 1 1.1241 1 225.4955947478063 58.11533673946329 0 0 0 0 -7861 1 1.1238 1 217.36901937461013 33.992160255135445 0 0 0 0 -7877 1 1.1231 1 213.82396172290126 36.9761833218942 0 0 0 0 -7484 1 1.1541 1 215.81009956137737 65.20749522200967 0 0 0 0 -4671 1 1.4688 1 240.66487254007416 14.737737633899833 0 0 1 0 -7952 1 1.1176 1 226.01843557831688 52.10793686719435 0 0 0 0 -7985 1 1.1154 1 242.63676121285724 19.080193519666313 0 0 0 0 -7998 1 1.1146 1 219.02917582938235 59.80549221275676 0 0 0 0 -8008 1 1.1141 1 231.76508873536494 56.76275590796022 0 0 0 0 -8012 1 1.1138 1 216.83461295299688 19.986653574854245 0 0 0 0 -8038 1 1.1123 1 241.55150083433202 37.146380979199265 0 0 0 0 -8060 1 1.1105 1 222.0818337106331 67.0835799303093 0 0 0 0 -8083 1 1.1085 1 235.83445927669902 49.334855125811224 0 0 0 0 -8085 1 1.1083 1 225.0324637839381 60.732634444601096 0 0 0 0 -8096 1 1.1075 1 229.83967522561187 28.35300339059479 0 0 0 0 -4185 1 1.5519 1 208.4331318541549 69.36906571997918 0 0 0 0 -8145 1 1.1049 1 207.8022696246041 43.333373214436634 0 0 0 0 -8148 1 1.1048 1 231.10505146124422 55.923092153857 0 0 0 0 -8184 1 1.1023 1 238.52738694791438 27.731546418825054 0 0 0 0 -8186 1 1.1021 1 240.40705998588524 29.079342792925377 0 0 0 0 -8194 1 1.1019 1 211.04364192468435 15.665782895078292 0 0 0 0 -7857 1 1.1243 1 251.6454749251319 14.629889196524077 0 0 0 0 -8208 1 1.1011 1 206.27958316530376 40.84388415578829 0 0 0 0 -8277 1 1.0965 1 210.89673433280822 56.56245619527255 0 0 0 0 -8284 1 1.0961 1 239.47201432626815 32.76347862014862 0 0 0 0 -8307 1 1.0941 1 241.74724708649796 30.486123936080656 0 0 0 0 -8318 1 1.0927 1 224.8512665613825 61.77760806294805 0 0 0 0 -8362 1 1.0897 1 245.2053321734356 21.371744817442764 0 0 0 0 -8367 1 1.0893 1 228.21116935155345 27.075460751302973 0 0 0 0 -8368 1 1.0891 1 215.15950039558925 58.962334346547294 0 0 0 0 -8379 1 1.0886 1 216.07887992720345 19.265964288617695 0 0 0 0 -8388 1 1.088 1 255.39691100378093 49.90199362313983 0 0 0 0 -8420 1 1.0864 1 222.91617912497819 59.891346376435386 0 0 0 0 -6678 1 1.2241 1 255.7334391552674 32.48133873953335 0 0 0 0 -8453 1 1.0841 1 206.10773377721978 59.32891103663938 0 0 0 0 -8474 1 1.0828 1 249.8502787338612 16.586563680301413 0 0 0 0 -8476 1 1.0825 1 239.35919219191274 44.918553922926584 0 0 0 0 -8513 1 1.0801 1 206.8489225395007 57.58543230145892 0 0 0 0 -8533 1 1.0789 1 214.80613782294395 36.5675901660397 0 0 0 0 -5075 1 1.4082 1 258.8018983288671 28.71527882098579 0 0 0 0 -8603 1 1.0748 1 206.0749323304787 23.161771099360003 0 0 0 0 -8623 1 1.0735 1 240.67299358781148 28.07876010138913 0 0 0 0 -8624 1 1.0734 1 221.037091520845 66.82480525888982 0 0 0 0 -8637 1 1.0727 1 229.38332013101396 60.16606132443799 0 0 0 0 -9935 1 1.0035 1 252.5552086900709 15.097172515952563 0 0 0 0 -8676 1 1.0712 1 238.49565637382435 25.238783652584807 0 0 0 0 -8678 1 1.0711 1 254.38939565936562 33.82640184578239 0 0 0 0 -8731 1 1.0681 1 239.05490772290705 18.82984523224265 0 0 0 0 -8777 1 1.0647 1 227.58580482162438 35.61413024782993 0 0 0 0 -8797 1 1.0635 1 230.9980319554021 54.80237209491691 0 0 0 0 -8805 1 1.0629 1 249.53538542746315 35.33584118865899 0 0 0 0 -8847 1 1.0605 1 229.7210069041527 17.70419999331927 0 0 0 0 -4136 1 1.5608 1 209.33274436297282 65.59715661661724 0 0 0 0 -8926 1 1.0563 1 232.10511446918744 39.502354384264976 0 0 0 0 -8930 1 1.056 1 228.28965975693416 45.94163916167112 0 0 0 0 -8946 1 1.0554 1 223.6058828930976 38.754611098500405 0 0 0 0 -3520 1 1.6896 1 236.09306174364025 10.577667076130977 0 0 1 0 -457 1 4.6328 1 213.56305623853552 12.090639832511847 0 0 0 0 -8974 1 1.054 1 224.70847317571142 38.107071245416485 0 0 0 0 -8993 1 1.053 1 255.51574962837208 33.616176826618194 0 0 0 0 -2624 1 1.9583 1 206.6585781211398 62.22479727416296 0 0 0 0 -9012 1 1.0521 1 245.64960702799624 16.05404198453336 0 0 0 0 -9023 1 1.0515 1 208.1745899468479 41.573754864735676 0 0 0 0 -9062 1 1.0495 1 218.84352182590473 25.398499722011778 0 0 0 0 -9097 1 1.0472 1 217.28470668635046 52.12735492040629 0 0 0 0 -9113 1 1.0467 1 238.1789558757467 47.496919447170065 0 0 0 0 -9117 1 1.0464 1 227.9607979535289 41.289246925000725 0 0 0 0 -9204 1 1.0416 1 220.6520580806125 18.511345203343108 0 0 0 0 -1210 1 2.8978 1 248.61620430367262 18.086522959837897 0 0 0 0 -7964 1 1.1167 1 248.66681433922253 14.869738966902238 0 0 1 0 -750 1 3.6902 1 266.4593919540109 31.77204811356206 0 0 0 0 -9950 1 1.003 1 243.75557814556035 14.68889730111693 0 0 0 0 -9235 1 1.0404 1 232.06395098949173 35.27052855241542 0 0 0 0 -9932 1 1.0039 1 240.35371336989687 34.771128298559226 0 0 0 0 -9286 1 1.0374 1 231.14548947596103 52.70197703264158 0 0 0 0 -9287 1 1.0374 1 246.86480505238188 40.58479385347338 0 0 0 0 -9295 1 1.0368 1 210.70714532788153 37.48067345151936 0 0 0 0 -9317 1 1.0352 1 245.22147933904935 15.093399866936398 0 0 0 0 -9321 1 1.035 1 238.63169251506844 26.66696561070449 0 0 0 0 -9975 1 1.0018 1 221.01159491787325 59.503569094659554 0 0 0 0 -9335 1 1.0344 1 247.54241474764103 21.348519448047675 0 0 0 0 -9365 1 1.0327 1 241.31239808157224 44.491050967231786 0 0 0 0 -9409 1 1.0302 1 224.5822200545852 18.806649491535374 0 0 0 0 -9417 1 1.0297 1 237.49780209379938 42.78797023891242 0 0 0 0 -9473 1 1.0271 1 240.49438160648842 32.50356370818916 0 0 0 0 -9475 1 1.0271 1 238.96940838743873 53.66214221187688 0 0 0 0 -9480 1 1.027 1 220.05132619865822 59.731063735933134 0 0 0 0 -9481 1 1.0269 1 217.7855883058068 44.32879932281475 0 0 0 0 -9543 1 1.0237 1 225.4716693976814 26.89160224712824 0 0 0 0 -3568 1 1.6767 1 210.3801047213044 18.12883709009019 0 0 0 0 -9580 1 1.0217 1 206.94540551536622 43.96031493209598 0 0 0 0 -9587 1 1.0214 1 247.79833041528528 16.34968505229656 0 0 0 0 -9597 1 1.0209 1 237.1974605127783 47.38706679383727 0 0 0 0 -3726 1 1.6431 1 254.33862346493973 22.218913158597072 0 0 0 0 -9604 1 1.0205 1 225.95647710366669 60.266905099969065 0 0 0 0 -9612 1 1.0199 1 234.31683184065508 42.518197288302105 0 0 0 0 -9674 1 1.0169 1 210.5385874038369 46.07180839681349 0 0 0 0 -2709 1 1.9266 1 211.73396879122114 16.95124804171177 0 0 0 0 -9749 1 1.0129 1 212.61111429682916 45.41009219605995 0 0 0 0 -9751 1 1.0129 1 206.45174953892442 24.418249938694174 0 0 0 0 -9772 1 1.0114 1 234.57392856881899 22.985595797508736 0 0 0 0 -8233 1 1.0993 1 219.65170607344083 68.30072507003803 0 0 0 0 -9788 1 1.0104 1 215.15344825586328 19.76605939737947 0 0 0 0 -2900 1 1.8632 1 245.6483990666627 17.508727890678795 0 0 0 0 -3397 1 1.7153 1 214.45619452151965 64.81282674311993 0 0 0 0 -9825 1 1.0088 1 225.83759041576278 16.829659986630105 0 0 0 0 -9856 1 1.007 1 217.63202062267337 41.44049013988058 0 0 0 0 -9223 1 1.0408 1 215.50404379510235 59.89974916902602 0 0 0 0 -9688 1 1.0162 1 248.54896380969 21.487499282555326 0 0 0 0 -2679 1 1.939 1 267.21301151650425 34.31464194853368 0 0 0 0 -1401 1 2.6811 1 224.48064095489306 15.730905283317721 0 0 1 0 -8665 1 1.0715 1 222.66410127689312 15.926497876026819 0 0 1 0 -7232 1 1.1756 1 246.55542524448666 21.830941357091376 0 0 0 0 -808 1 3.5731 1 248.30770208011006 23.765055349409778 0 0 0 0 -9659 1 1.0176 1 246.089727213658 28.73022540507339 0 0 0 0 -6597 1 1.2317 1 205.04331284145522 57.16454122329143 0 0 0 0 -865 1 3.4353 1 239.6550756389957 12.546417143113995 0 0 1 0 -9919 1 1.0043 1 251.22147786555107 16.138490779798747 0 0 0 0 -3987 1 1.5892 1 263.92124361123354 31.195603319471463 0 0 0 0 -8982 1 1.0535 1 211.95639271449616 62.557623764700466 0 0 0 0 -7485 1 1.1538 1 246.3124675024467 24.991226887884505 0 0 0 0 -1386 1 2.6997 1 266.0286814833682 49.38609608410352 0 0 0 0 -7622 1 1.1428 1 206.24015126565618 60.771156662662726 0 0 0 0 -963 1 3.2277 1 247.2084349065749 26.946771586916586 0 0 0 0 -2924 1 1.8564 1 258.9767026417184 37.53574191215762 0 0 0 0 -8720 1 1.0686 1 212.4337804110229 63.46994654863472 0 0 0 0 -3891 1 1.6099 1 215.80561384494777 61.12717639059501 0 0 0 0 -3739 1 1.6415 1 237.6438648968596 11.046309551821183 0 0 1 0 -2118 1 2.1709 1 212.55905510915116 65.05044359854168 0 0 0 0 -3840 1 1.6191 1 257.0045364942656 22.474524084747017 0 0 0 0 -9056 1 1.0499 1 208.69242464885005 63.014576697319185 0 0 0 0 -1874 1 2.3168 1 204.67700753361268 61.55559850241257 0 0 0 0 -2402 1 2.0472 1 250.18847573409758 15.118903551231247 0 0 1 0 -4004 1 1.5828 1 206.53195650298514 72.19773678810186 0 0 0 0 -2649 1 1.9479 1 243.47177373342504 11.132190522410408 0 0 1 0 -4363 1 1.5209 1 241.95334106285847 11.837234792926157 0 0 1 0 -5347 1 1.3702 1 207.86227452664676 11.55794122046437 0 0 0 0 -6937 1 1.1992 1 208.94351027572594 12.364394993342536 0 0 0 0 -9767 1 1.0116 1 220.9220423201127 68.61715427189608 0 0 0 0 -1008 1 3.1637 1 206.62177655178024 67.57033011326286 0 0 0 0 -1455 1 2.6149 1 206.21664279021775 21.35879195022704 0 0 0 0 -80 1 10.2525 1 220.7720858991252 10.619023037492818 0 0 1 0 -4161 1 1.5565 1 229.46633305774944 14.143160660847224 0 0 1 0 -6422 1 1.25 1 238.91156250630223 10.404854387491824 0 0 0 0 -624 1 3.9419 1 260.0583836704717 26.39421913645488 0 0 0 0 -3062 1 1.8088 1 240.34951661649058 10.034074755874482 0 0 1 0 -9903 1 1.0049 1 259.0476259204841 29.861449071634258 0 0 0 0 -9967 1 1.0022 1 207.1197544747048 71.0388628910132 0 0 0 0 -4710 1 1.4631 1 207.04605804830862 69.83325249285093 0 0 0 0 -9353 1 1.0335 1 259.9960777449674 28.828881184200956 0 0 0 0 -7011 1 1.1932 1 217.6888982468784 65.87221174944952 0 0 0 0 -4098 1 1.5666 1 245.18628287394768 10.892636673622679 0 0 1 0 -5216 1 1.3872 1 260.697222095288 32.62890248932182 0 0 0 0 -938 1 3.2773 1 203.70664015748227 58.96298686235393 0 0 0 0 -1657 1 2.4495 1 261.16553830768873 34.40373616911216 0 0 0 0 -4031 1 1.5773 1 205.8822729407571 70.78946522620653 0 0 0 0 -247 1 6.2474 1 249.02936545156325 11.243487305853547 0 0 1 0 -2585 1 1.976 1 262.9039400902918 35.768771038853494 0 0 0 0 -2293 1 2.0974 1 209.08665546924476 71.03430180703788 0 0 0 0 -9944 1 1.0032 1 262.8736447880755 34.10666573781152 0 0 0 0 -1418 1 2.6643 1 264.7091743440627 34.37894907684322 0 0 0 0 -6061 1 1.2872 1 264.0818982382443 26.958105257187366 0 0 0 0 -4103 1 1.5652 1 264.69241613120914 29.805548372877574 0 0 0 0 -1814 1 2.3476 1 206.30094197261343 10.608491517402042 0 0 0 0 -3408 1 1.7126 1 203.849245748423 68.31758802153294 0 0 0 0 -5370 1 1.3676 1 203.49185937117778 10.65364532728611 0 0 0 0 -3771 1 1.6357 1 203.3002400266997 23.04074826672962 0 0 0 0 -7888 1 1.1221 1 203.3700471865777 11.86288145787166 0 0 0 0 -5480 1 1.3527 1 203.08230054644042 45.86075012645415 0 0 0 0 -639 1 3.913 1 203.13027498256065 20.351602915575963 0 0 0 0 -2 1 97.3444 1 259.6213839251214 98.89370886210801 0 0 0 0 -4822 1 1.4458 1 210.89724845875614 91.09316122288483 0 0 0 0 -1778 1 2.3691 1 228.937251924221 138.14489698609393 0 0 0 0 -6770 1 1.2158 1 203.40857257635832 89.43914041114846 0 0 0 0 -188 1 7.0441 1 203.31017682484517 102.00074536247547 0 0 0 0 -4318 1 1.5296 1 215.7030012469718 76.30232832411286 0 0 0 0 -248 1 6.2265 1 210.4306662943791 114.51095106585805 0 0 0 0 -251 1 6.1948 1 220.78849175294226 132.79796537002346 0 0 0 0 -3492 1 1.6945 1 207.21547081796464 88.23439194429723 0 0 0 0 -8848 1 1.0604 1 204.17428693219566 110.30085309774617 0 0 0 0 -1429 1 2.6497 1 204.37710064651668 95.3479148906317 0 0 0 0 -442 1 4.6735 1 208.97832438008936 102.37342693196831 0 0 0 0 -2768 1 1.9062 1 212.17742538730022 76.48692032956765 0 0 0 0 -577 1 4.1071 1 214.54533401451278 121.85586065177164 0 0 0 0 -595 1 4.037 1 217.00717024664567 129.3831838094383 0 0 0 0 -3845 1 1.6186 1 204.76211154071316 116.1416645838859 0 0 0 0 -770 1 3.6458 1 207.46319779848636 110.65138831463433 0 0 0 0 -9938 1 1.0034 1 210.77923498899227 104.55542715679678 0 0 0 0 -1042 1 3.1059 1 204.97656713373843 108.43437709231546 0 0 0 0 -4409 1 1.5135 1 213.55170918856388 75.59497913215598 0 0 0 0 -312 1 5.6376 1 208.896477759597 74.88148266278002 0 0 0 0 -6772 1 1.2157 1 207.54356226398167 86.83590620417952 0 0 0 0 -4320 1 1.5288 1 210.95070967659436 84.82910150203612 0 0 0 0 -1289 1 2.8029 1 207.19608988195162 106.584660014906 0 0 0 0 -6386 1 1.2527 1 211.90013192169465 86.72440738469618 0 0 0 0 -1654 1 2.4513 1 213.5814514005355 124.98248841952348 0 0 0 0 -25 1 20.6737 1 206.8062077703603 136.10353564254672 0 0 0 0 -6174 1 1.2749 1 203.48824559559836 90.65988382996326 0 0 0 0 -4965 1 1.4241 1 204.56796242826763 88.92721624100821 0 0 0 0 -8728 1 1.0682 1 218.450458403382 125.82076045459206 0 0 0 0 -9522 1 1.0246 1 226.31413060068945 135.23443569375092 0 0 0 0 -5049 1 1.4135 1 204.34140069902418 117.74448378266571 0 0 0 0 -2110 1 2.1773 1 209.80361046559904 78.59075491482687 0 0 0 0 -4397 1 1.5152 1 209.73055923144727 85.71451029393465 0 0 0 0 -2177 1 2.1458 1 209.91376176825935 98.18453324621575 0 0 0 0 -2214 1 2.1308 1 206.61440930073098 116.07801761102229 0 0 0 0 -9726 1 1.014 1 221.0138453799719 136.37343441353312 0 0 0 0 -2252 1 2.1172 1 207.60855033290943 98.20503369688615 0 0 0 0 -9895 1 1.0053 1 206.51583260539203 77.470116262318 0 0 0 0 -6368 1 1.2552 1 203.82117791384997 124.53834153578256 0 0 0 0 -2332 1 2.0762 1 209.84991722468865 92.43568190035356 0 0 0 0 -4585 1 1.4827 1 210.83439547675064 125.83801432238246 0 0 0 0 -2393 1 2.0504 1 213.1028743660204 119.10021353775028 0 0 0 0 -2450 1 2.0272 1 224.67419204762825 134.0853778403798 0 0 0 0 -2508 1 2.0071 1 208.86445508467233 108.24054097689985 0 0 0 0 -2526 1 2.0009 1 227.41169915777127 136.59456329279058 0 0 0 0 -2573 1 1.98 1 215.3743787503256 126.91166272292351 0 0 0 0 -2577 1 1.9794 1 209.21802472409627 95.05795803606932 0 0 0 0 -2814 1 1.8906 1 210.25616786707715 109.51915889285145 0 0 0 0 -2901 1 1.8628 1 210.879377035587 107.80227022681376 0 0 0 0 -9394 1 1.0311 1 206.0507946684667 83.60258764047575 0 0 0 0 -2926 1 1.8561 1 218.91010817630254 127.18214389338101 0 0 0 0 -2933 1 1.8519 1 223.6118522774598 135.60510264693266 0 0 0 0 -2957 1 1.8454 1 217.9354508494087 135.46547607968455 0 0 0 0 -3160 1 1.7769 1 211.55647118504749 110.73009218072583 0 0 0 0 -3271 1 1.7471 1 217.23302204734676 126.5139686174702 0 0 0 0 -3274 1 1.7464 1 209.63494751181332 106.56378257955633 0 0 0 0 -1555 1 2.5308 1 206.81316249470123 96.06209354671238 0 0 0 0 -6395 1 1.252 1 208.4006505485108 85.97959855665319 0 0 0 0 -9663 1 1.0173 1 214.49775590784967 76.37894389292985 0 0 0 0 -3427 1 1.71 1 217.7322546993018 138.22139318526214 0 0 0 0 -2693 1 1.9324 1 204.6833508353333 81.01969610289609 0 0 0 0 -8312 1 1.0938 1 210.7384557169773 93.64921104551082 0 0 0 0 -8371 1 1.089 1 206.01110237370605 94.44777454525847 0 0 0 0 -3583 1 1.6744 1 213.60029484211876 127.2475501832989 0 0 0 0 -5076 1 1.4082 1 203.33999132454858 88.14295213181451 0 0 0 0 -3839 1 1.6193 1 206.5252691127594 114.22388234004123 0 0 0 0 -6153 1 1.2779 1 208.71121761681792 84.22135843318834 0 0 0 0 -384 1 5.0358 1 206.52069520094082 91.43639079626081 0 0 0 0 -3959 1 1.5944 1 208.72028876145384 96.75841020237183 0 0 0 0 -123 1 8.8346 1 208.19844131540327 121.48467067116833 0 0 0 0 -8235 1 1.0993 1 213.60931169996894 76.87280593008671 0 0 0 0 -1962 1 2.2633 1 207.09344407369537 84.83154843137396 0 0 0 0 -7475 1 1.1547 1 211.79135940637357 124.94032750264174 0 0 0 0 -4215 1 1.5472 1 206.7855995156648 104.47850086934848 0 0 0 0 -4925 1 1.4291 1 215.07054986515226 77.6127246183741 0 0 0 0 -6341 1 1.2578 1 219.16010653941666 138.47656229549688 0 0 0 0 -4408 1 1.5136 1 216.49920503173254 125.0722680067348 0 0 0 0 -572 1 4.1201 1 210.00969491867804 88.51515200857473 0 0 0 0 -4665 1 1.47 1 205.15657272861492 111.71208604363602 0 0 0 0 -8842 1 1.0607 1 212.63756431466263 123.5561138084525 0 0 0 0 -516 1 4.3149 1 212.86966152884924 79.41748189861215 0 0 0 0 -4774 1 1.4519 1 207.71679433988157 94.36226760515794 0 0 0 0 -3811 1 1.6258 1 212.42162847717995 84.47828059527639 0 0 0 0 -9561 1 1.0223 1 205.2405612372104 113.67426451202722 0 0 0 0 -4898 1 1.4328 1 216.73474908441048 123.56518298440628 0 0 0 0 -9121 1 1.0461 1 210.3566970274302 80.09261883513125 0 0 0 0 -4974 1 1.4235 1 206.10433429927585 112.78305392585605 0 0 0 0 -5118 1 1.4003 1 208.79527427234922 105.3115046983 0 0 0 0 -6256 1 1.2645 1 204.13728444353907 93.43031735900267 0 0 0 0 -5246 1 1.3827 1 203.88484373586297 106.14181419532974 0 0 0 0 -5264 1 1.3805 1 219.3124354883627 136.22516463437924 0 0 0 0 -5290 1 1.377 1 225.2221011376144 135.76180778113996 0 0 0 0 -5301 1 1.3757 1 222.17433971877978 136.2734050035211 0 0 0 0 -5378 1 1.3666 1 220.78043293648017 129.11311009264463 0 0 0 0 -1025 1 3.1432 1 205.37311819867034 86.86286537939372 0 0 0 0 -8803 1 1.0631 1 210.9426874849249 86.10800667287212 0 0 0 0 -7718 1 1.135 1 208.73790199828002 93.58082737314936 0 0 0 0 -9503 1 1.0258 1 209.7858969913179 84.44834478791634 0 0 0 0 -5956 1 1.2992 1 219.5628063021995 129.2618610163492 0 0 0 0 -5966 1 1.298 1 212.9297298610507 117.3230058192651 0 0 0 0 -6082 1 1.2853 1 205.17982132875116 106.30067222456216 0 0 0 0 -6138 1 1.2799 1 214.57021153696124 128.3478503462636 0 0 0 0 -7560 1 1.1471 1 216.4815443454647 75.28391148379139 0 0 0 0 -8342 1 1.091 1 217.64899298260545 136.86482122384794 0 0 0 0 -426 1 4.7732 1 207.8263645267007 81.36360970944638 0 0 0 0 -8442 1 1.0849 1 207.9597987366822 99.719085019938 0 0 0 0 -9500 1 1.0259 1 210.6357935270701 94.64212644852182 0 0 0 0 -6285 1 1.2619 1 217.8014579632358 124.88047949230626 0 0 0 0 -5759 1 1.3192 1 206.1909586721464 78.71173572246066 0 0 0 0 -7552 1 1.1481 1 203.59997528212375 123.3875994029737 0 0 0 0 -6356 1 1.2563 1 217.05138227801407 132.18951744443348 0 0 0 0 -6526 1 1.2402 1 210.81104443860843 105.66938385863335 0 0 0 0 -6618 1 1.2306 1 210.35852203683334 99.78950687967442 0 0 0 0 -8329 1 1.0924 1 210.59010653812058 95.6489460384454 0 0 0 0 -483 1 4.4778 1 203.35651972880117 83.79353313647513 0 0 0 0 -6805 1 1.212 1 205.5329328087391 117.29055529541684 0 0 0 0 -6884 1 1.2036 1 220.21070449834596 137.08290817632488 0 0 0 0 -6888 1 1.2032 1 210.06865781035185 96.58065336886017 0 0 0 0 -9722 1 1.0142 1 212.263205023138 85.71962941137669 0 0 0 0 -6891 1 1.2029 1 206.98570052440246 100.23373393129955 0 0 0 0 -1177 1 2.9293 1 211.36439461220303 82.61271488796724 0 0 0 0 -6934 1 1.1994 1 205.18106182651638 114.78725085396118 0 0 0 0 -6995 1 1.1947 1 206.3386797924673 99.23642370708589 0 0 0 0 -9486 1 1.0266 1 205.16822671301284 110.47991387388468 0 0 0 0 -7218 1 1.1765 1 205.73524291665672 105.26563324017856 0 0 0 0 -7361 1 1.1645 1 217.340914324797 133.70524083588336 0 0 0 0 -7430 1 1.1589 1 215.26635264797855 125.38817924995189 0 0 0 0 -8306 1 1.0942 1 203.80926790848443 125.70172442212382 0 0 0 0 -6307 1 1.2605 1 203.8535251707189 118.9780736399734 0 0 0 0 -4650 1 1.4735 1 204.9340013461445 125.2872460861979 0 0 0 0 -7492 1 1.1529 1 220.321453452255 138.19554774672906 0 0 0 0 -7494 1 1.1528 1 218.81968069116397 137.34292139579838 0 0 0 0 -2038 1 2.2195 1 205.33182629374602 97.8684367012802 0 0 0 0 -7536 1 1.1497 1 209.01859818798297 99.49867526890061 0 0 0 0 -7570 1 1.1463 1 209.82121033148277 110.92390400449534 0 0 0 0 -7843 1 1.1263 1 207.3748713509527 78.37923163588113 0 0 0 0 -7779 1 1.1304 1 215.46059954589583 124.27931518282969 0 0 0 0 -7788 1 1.1296 1 220.02438503512468 128.1436026781044 0 0 0 0 -3914 1 1.6048 1 212.21814932017926 126.41530513768595 0 0 0 0 -8187 1 1.1021 1 213.3346973729721 82.10641313886106 0 0 0 0 -2095 1 2.1856 1 203.1932204466503 97.40980411967857 0 0 0 0 -2925 1 1.8561 1 203.21785664954308 92.1817396983477 0 0 0 0 -4567 1 1.4862 1 203.09153100517128 86.73143335499556 0 0 0 0 -3362 1 1.7252 1 266.10721409701233 150.8271277742826 0 0 0 0 -38 1 15.9602 1 238.27285398326353 160.09665533445903 0 0 0 0 -44 1 14.7464 1 242.13852256527278 186.99160684275478 0 0 0 0 -1123 1 2.9858 1 266.48771508890144 177.51160570197845 0 0 0 0 -88 1 9.9469 1 231.18683560313366 145.82194609982804 0 0 0 0 -90 1 9.8742 1 232.64529180269363 178.64926075190633 0 0 0 0 -150 1 7.6773 1 256.39314997575923 153.17127941652546 0 0 0 0 -169 1 7.3639 1 242.8898371299556 171.69970899635786 0 0 0 0 -9753 1 1.0127 1 220.4261132501546 142.70172754654436 0 0 0 0 -189 1 7.0187 1 260.5723871899185 165.5776282331614 0 0 0 0 -213 1 6.6182 1 223.78502526154412 160.9125548786347 0 0 0 0 -233 1 6.3161 1 249.77331938377662 174.19055554252262 0 0 0 0 -262 1 6.1158 1 233.40461298887303 170.87124257637777 0 0 0 0 -343 1 5.3725 1 214.13199135853037 158.63694834226231 0 0 0 0 -360 1 5.2593 1 256.3394533496871 183.4846556797989 0 0 0 0 -385 1 5.0333 1 246.49429649547102 148.24901522736982 0 0 0 0 -399 1 4.9357 1 226.89726760845468 190.79193518065205 0 0 0 0 -416 1 4.8521 1 252.7837036964577 186.99581456596133 0 0 0 0 -418 1 4.8232 1 228.6808136968097 163.72348043348157 0 0 0 0 -425 1 4.7819 1 254.88827918192575 191.70823212646889 0 0 0 0 -8130 1 1.1056 1 224.7529502074445 145.0199440543276 0 0 0 0 -440 1 4.6811 1 257.9569089700895 172.04502425590255 0 0 0 0 -449 1 4.6587 1 250.42206661686112 182.13968436124495 0 0 0 0 -508 1 4.3343 1 256.5098291530629 161.52664566511385 0 0 0 0 -520 1 4.2998 1 226.91947220603595 156.65370574235337 0 0 0 0 -530 1 4.2684 1 263.14934384811016 178.80344167120128 0 0 0 0 -549 1 4.2039 1 231.62323534399263 188.0869053173387 0 0 0 0 -575 1 4.1107 1 226.21379767422857 152.6151438636132 0 0 0 0 -3321 1 1.735 1 218.7078682817013 158.28884225256462 0 0 0 0 -655 1 3.8774 1 249.0195753878316 152.06492773694907 0 0 0 0 -658 1 3.8674 1 247.94716391491494 156.40757082792652 0 0 0 0 -663 1 3.8569 1 262.2958829114703 172.18248770022237 0 0 0 0 -685 1 3.8162 1 262.6121445741219 158.4757641892681 0 0 0 0 -695 1 3.7961 1 251.55413562643082 149.3207008242188 0 0 0 0 -701 1 3.7809 1 230.80704961321973 192.5268408142446 0 0 0 0 -704 1 3.7759 1 250.99392289373367 198.503260313372 0 0 0 0 -2991 1 1.8357 1 267.1210658892989 173.49357875332672 0 0 0 0 -722 1 3.7443 1 224.16525031473222 168.7818573786757 0 0 0 0 -727 1 3.7315 1 252.8764171702584 168.30897633852894 0 0 0 0 -737 1 3.7057 1 237.08872221801178 194.5153766779792 0 0 0 0 -768 1 3.647 1 240.5331635030329 149.93120394382476 0 0 0 0 -797 1 3.5966 1 247.1974806687425 165.55278707367532 0 0 0 0 -842 1 3.473 1 245.75692479592965 196.56625529737587 0 0 0 0 -863 1 3.4373 1 216.81490497778856 162.37582159874458 0 0 0 0 -899 1 3.3585 1 234.8607781479391 151.17467623760726 0 0 0 0 -913 1 3.332 1 249.90148261357774 163.3929144170357 0 0 0 0 -926 1 3.3 1 258.36101890486157 179.86485622113864 0 0 0 0 -946 1 3.2532 1 240.62044929481107 176.38652392871003 0 0 0 0 -978 1 3.2099 1 227.2527707265812 167.37444876224694 0 0 0 0 -983 1 3.2064 1 252.1328029116539 194.4535996676725 0 0 0 0 -1016 1 3.1536 1 254.43199217535832 173.6412274576299 0 0 0 0 -1032 1 3.1223 1 259.92660567733793 177.20514559167708 0 0 0 0 -1063 1 3.0662 1 237.23467725820998 143.6521499638943 0 0 0 0 -9812 1 1.0095 1 247.37194390965143 167.83263134395293 0 0 0 0 -1117 1 2.9955 1 244.79099154100254 151.85854396070502 0 0 0 0 -2947 1 1.8496 1 232.0591722690947 140.04959688758055 0 0 0 0 -1170 1 2.9326 1 250.3737430392312 189.99359851614992 0 0 0 0 -1186 1 2.9215 1 229.4390709211836 172.8265141780866 0 0 0 0 -1201 1 2.9038 1 255.8967461612804 167.16489995993365 0 0 0 0 -1216 1 2.8927 1 229.45397331116223 154.20106931809514 0 0 0 0 -1217 1 2.8912 1 228.76031793404263 170.00584403315568 0 0 0 0 -1241 1 2.8607 1 242.61723173089484 147.48046625730808 0 0 0 0 -1255 1 2.8456 1 210.32462040743954 160.16480929155063 0 0 0 0 -1303 1 2.7917 1 257.48359946640795 202.44327523828937 0 0 0 0 -1307 1 2.7855 1 226.64457556320147 194.6128250184149 0 0 0 0 -1346 1 2.7417 1 259.5523243417002 157.2578724378517 0 0 0 0 -1353 1 2.7347 1 256.3121667838023 199.10530196440087 0 0 0 0 -1377 1 2.7075 1 247.2988118795819 193.96088780420388 0 0 0 0 -1393 1 2.6884 1 263.0828137256479 151.83733368332298 0 0 0 0 -1399 1 2.6825 1 231.94059756222268 153.06839997146804 0 0 0 0 -1435 1 2.6407 1 254.7988710889605 164.50403663252607 0 0 0 0 -1469 1 2.6045 1 221.1228733393014 166.18054743507346 0 0 0 0 -1476 1 2.5973 1 250.34758444859654 160.4429635309287 0 0 0 0 -9466 1 1.0275 1 263.7927238516058 174.1370161077074 0 0 0 0 -1506 1 2.5731 1 251.94736475342043 155.55931895997344 0 0 0 0 -6168 1 1.2756 1 219.43770296731125 157.0223093042129 0 0 0 0 -1574 1 2.5132 1 254.8302422638825 195.311206375746 0 0 0 0 -1609 1 2.485 1 228.60282787245103 185.17937125715207 0 0 0 0 -1637 1 2.4623 1 237.17158330024523 174.51330585601343 0 0 0 0 -1644 1 2.4563 1 264.41127881269364 175.75936487292745 0 0 0 0 -1689 1 2.429 1 207.7189566712175 160.16212695767283 0 0 0 0 -1702 1 2.4222 1 260.7372707232712 150.73786687537836 0 0 0 0 -1722 1 2.4101 1 256.04772445637974 178.21136520496592 0 0 0 0 -1725 1 2.4094 1 231.50106496428177 184.6741013499123 0 0 0 0 -4871 1 1.4379 1 214.3623084225154 155.27451861039643 0 0 0 0 -1807 1 2.3521 1 257.4046485413423 187.0867335355427 0 0 0 0 -1825 1 2.3428 1 248.56725176915288 196.72078919495922 0 0 0 0 -1840 1 2.3346 1 253.72457680783097 177.97666988135683 0 0 0 0 -1857 1 2.3282 1 245.28506025133908 154.37497652424113 0 0 0 0 -1876 1 2.3163 1 239.66181263732335 178.88831226672474 0 0 0 0 -1944 1 2.2726 1 222.3600978064899 195.46980070615047 0 0 0 0 -1953 1 2.2687 1 264.45166297637513 156.15265151855914 0 0 0 0 -1981 1 2.2541 1 254.72560800771436 170.90182854748036 0 0 0 0 -1994 1 2.2451 1 239.76114379189974 144.45588666150093 0 0 0 0 -2008 1 2.2351 1 227.1902386380319 173.98301615413732 0 0 0 0 -2027 1 2.2237 1 245.77400638752812 167.97871558368072 0 0 0 0 -2031 1 2.2217 1 250.3337841007068 192.4931379909825 0 0 0 0 -2054 1 2.208 1 229.86215856332794 167.05853313530716 0 0 0 0 -2056 1 2.2076 1 253.65581562009558 197.29350740029545 0 0 0 0 -2066 1 2.199 1 218.78529973341983 164.33332490195338 0 0 0 0 -2151 1 2.1561 1 243.3046250346728 176.32127782198802 0 0 0 0 -2163 1 2.1503 1 228.51573449125655 187.46769243814987 0 0 0 0 -2188 1 2.1441 1 252.10381405719562 158.93430831297968 0 0 0 0 -2189 1 2.144 1 243.35429213188894 149.80557358664635 0 0 0 0 -2198 1 2.1393 1 257.45631136911686 148.49506493051254 0 0 0 0 -2212 1 2.1319 1 230.04456164475903 156.59921124257576 0 0 0 0 -2216 1 2.1286 1 227.146531128361 171.8735649268243 0 0 0 0 -2239 1 2.1201 1 220.70129308220646 155.945435197763 0 0 0 0 -9459 1 1.0278 1 220.3185110096141 162.51070360259848 0 0 0 0 -2274 1 2.1053 1 247.46691898883677 159.2870302836456 0 0 0 0 -2283 1 2.1016 1 244.86502313952417 177.70474761984468 0 0 0 0 -9976 1 1.0015 1 228.7213947237264 140.97374992718986 0 0 0 0 -2378 1 2.0559 1 254.25344025105537 180.080679168752 0 0 0 0 -2386 1 2.0539 1 220.81655750167909 163.94784334212287 0 0 0 0 -2438 1 2.0319 1 262.5920149841056 148.36007158036924 0 0 0 0 -2446 1 2.0286 1 229.42597361623282 158.57647185974074 0 0 0 0 -2464 1 2.024 1 246.53746254255546 178.85641976419055 0 0 0 0 -2469 1 2.0219 1 260.7645270330528 180.81264742664627 0 0 0 0 -2470 1 2.0217 1 254.03518219130402 158.1269882831696 0 0 0 0 -2487 1 2.0146 1 231.39125710897963 165.7333692826004 0 0 0 0 -2550 1 1.9893 1 241.7669621047867 178.6953604691526 0 0 0 0 -2560 1 1.9852 1 226.6244154119459 175.92311873411708 0 0 0 0 -2565 1 1.9838 1 249.55123419701454 194.3965568540904 0 0 0 0 -2590 1 1.9732 1 220.728955084174 157.96034552510937 0 0 0 0 -2601 1 1.967 1 252.8588434077216 165.53470774987974 0 0 0 0 -2622 1 1.9597 1 253.80770133066375 160.02581698512404 0 0 0 0 -2640 1 1.953 1 240.499042635404 146.37979496989976 0 0 0 0 -2647 1 1.9493 1 250.20318430007566 158.20010591215953 0 0 0 0 -2651 1 1.947 1 248.11721947388324 177.85902429230737 0 0 0 0 -2667 1 1.9419 1 255.34478170388883 176.1582297037116 0 0 0 0 -2675 1 1.9405 1 257.57102372157544 168.8278387287866 0 0 0 0 -2677 1 1.9393 1 259.985558630239 159.48073272113467 0 0 0 0 -2687 1 1.9348 1 252.02320365010263 161.91687527780996 0 0 0 0 -8737 1 1.0677 1 225.80644524943096 144.65993319157332 0 0 0 0 -2696 1 1.9308 1 259.58648640121123 161.29109154571097 0 0 0 0 -2726 1 1.9215 1 210.059666828255 157.80714574689276 0 0 0 0 -2741 1 1.9141 1 250.1610294657457 169.0103238151786 0 0 0 0 -2754 1 1.91 1 223.46487702841654 193.80314001245958 0 0 0 0 -2761 1 1.9078 1 246.57158870046968 176.71991647397059 0 0 0 0 -2772 1 1.9054 1 237.62486897227294 150.0973441521435 0 0 0 0 -2776 1 1.9038 1 227.32733473913245 182.9873807327315 0 0 0 0 -2813 1 1.8908 1 253.4561234595351 175.92689930440804 0 0 0 0 -2830 1 1.8849 1 226.51910519650932 187.46982671911945 0 0 0 0 -2847 1 1.8801 1 260.5303184874716 169.99429736069146 0 0 0 0 -2849 1 1.8797 1 211.85348496526706 155.35258757092467 0 0 0 0 -2854 1 1.8779 1 244.59338004564924 166.33428452064 0 0 0 0 -2855 1 1.8777 1 248.80468636538694 167.72748232227565 0 0 0 0 -2866 1 1.8729 1 234.977137846318 191.1173137335807 0 0 0 0 -2885 1 1.8661 1 203.7193413571548 160.6367232262804 0 0 0 0 -2915 1 1.859 1 264.99685998786606 171.47126616336462 0 0 0 0 -2930 1 1.8545 1 252.4552160218905 163.72222141492287 0 0 0 0 -2936 1 1.8512 1 233.0845374442548 194.92577299021676 0 0 0 0 -4603 1 1.4798 1 222.90589671411348 144.9211200548889 0 0 0 0 -2959 1 1.8452 1 264.9237839146932 173.28443662309948 0 0 0 0 -2968 1 1.8426 1 238.61725668250958 147.31467583470163 0 0 0 0 -2977 1 1.8401 1 240.76111959999585 196.00035745683874 0 0 0 0 -2988 1 1.8362 1 259.28507386744525 174.89565921874242 0 0 0 0 -3008 1 1.8257 1 226.9481997682432 177.7229696541663 0 0 0 0 -1166 1 2.9367 1 215.21606315931047 146.04003973658172 0 0 0 0 -3016 1 1.822 1 219.83418249218968 159.61089759666274 0 0 0 0 -3024 1 1.8195 1 249.47145616885922 179.14072615391186 0 0 0 0 -3040 1 1.8144 1 248.85084309896084 170.26597207098678 0 0 0 0 -3045 1 1.8132 1 261.06994854874154 152.74182191065958 0 0 0 0 -3056 1 1.8106 1 226.94587580929112 149.79784435917293 0 0 0 0 -4733 1 1.4588 1 213.36666282802884 147.0197704389556 0 0 0 0 -3071 1 1.8069 1 208.2499867568549 158.1905239947132 0 0 0 0 -3074 1 1.8065 1 249.77908589907753 165.92370874137248 0 0 0 0 -3081 1 1.8055 1 225.39202173210472 172.6965427651588 0 0 0 0 -3085 1 1.803 1 224.28304038136955 165.07436460929785 0 0 0 0 -9367 1 1.0326 1 261.36384514972974 149.1968997301571 0 0 0 0 -3109 1 1.7949 1 232.75659982657797 167.01463400179557 0 0 0 0 -3149 1 1.7788 1 236.63482890444308 168.74539907560802 0 0 0 0 -3153 1 1.7782 1 238.2114306601723 171.0680924478354 0 0 0 0 -3170 1 1.7741 1 253.66099306577755 199.25132981368472 0 0 0 0 -9476 1 1.027 1 216.81244175301185 149.64787990852994 0 0 0 0 -3212 1 1.7627 1 227.80212583179892 159.518735471206 0 0 0 0 -3276 1 1.7458 1 247.307977210352 180.61740417641744 0 0 0 0 -9961 1 1.0025 1 239.27342468542562 196.04518003379357 0 0 0 0 -3301 1 1.7394 1 233.26653921776776 185.69489539129938 0 0 0 0 -3414 1 1.7117 1 225.97573571273057 148.35976073167325 0 0 0 0 -3454 1 1.7033 1 225.2394134661151 149.90248434502453 0 0 0 0 -9441 1 1.0287 1 233.73434579779988 152.9905492149486 0 0 0 0 -9923 1 1.0041 1 223.97736664363052 195.7275854690189 0 0 0 0 -3556 1 1.6799 1 264.6746118838531 164.21444052844276 0 0 0 0 -3582 1 1.6746 1 245.8866312723117 175.06890202435113 0 0 0 0 -3591 1 1.6735 1 233.37142980622156 193.21787389877508 0 0 0 0 -3602 1 1.6705 1 241.93053249926976 152.1624845212928 0 0 0 0 -3603 1 1.6704 1 252.460063351791 179.77451284491525 0 0 0 0 -3617 1 1.6685 1 222.61672150418846 164.80213011436163 0 0 0 0 -3629 1 1.6662 1 236.7837259122968 147.309346210871 0 0 0 0 -3659 1 1.6602 1 229.3311040014364 160.42246601998153 0 0 0 0 -3693 1 1.6498 1 257.31556603017515 158.7025395592434 0 0 0 0 -3713 1 1.6447 1 233.601755883845 190.13469818093375 0 0 0 0 -3745 1 1.6404 1 241.6253416376106 144.990057428252 0 0 0 0 -3748 1 1.6403 1 248.466349691355 192.1513078648773 0 0 0 0 -3749 1 1.6397 1 238.11455408443607 179.96567557173148 0 0 0 0 -3750 1 1.6395 1 259.48109044028683 182.0935214621954 0 0 0 0 -3753 1 1.6392 1 228.33394984117805 150.76264345057874 0 0 0 0 -3763 1 1.6374 1 251.041802274976 170.48147925140566 0 0 0 0 -3766 1 1.6371 1 262.29210709948416 169.49657587929624 0 0 0 0 -3785 1 1.6331 1 250.3431331618323 195.96344312607593 0 0 0 0 -3810 1 1.6259 1 238.34974471825453 145.67769586079544 0 0 0 0 -3834 1 1.6201 1 255.91014389022973 169.40932517108834 0 0 0 0 -3836 1 1.6196 1 264.768517702059 161.61564799372795 0 0 0 0 -3878 1 1.6123 1 263.52825859996227 162.55663893461633 0 0 0 0 -3550 1 1.682 1 215.65205664902956 148.5148908070189 0 0 0 0 -3925 1 1.6025 1 253.80170873735594 162.68210298143458 0 0 0 0 -3948 1 1.597 1 252.982373283922 183.82561023869448 0 0 0 0 -3950 1 1.5963 1 254.37763091598597 148.02633482467064 0 0 0 0 -3971 1 1.5916 1 218.43564768291003 160.50023151351317 0 0 0 0 -4006 1 1.5821 1 255.7207805166097 158.7028796770482 0 0 0 0 -4021 1 1.5795 1 219.72463762218453 161.37309191377062 0 0 0 0 -4025 1 1.5785 1 239.02104217147607 169.62716077532752 0 0 0 0 -4073 1 1.5707 1 233.31879581845294 191.6525212014977 0 0 0 0 -4096 1 1.5677 1 247.08413389583257 153.859902596355 0 0 0 0 -4097 1 1.567 1 223.18507986117902 166.3314175337369 0 0 0 0 -9750 1 1.0129 1 262.09543057570824 160.79738537121827 0 0 0 0 -4159 1 1.5565 1 256.00081177533747 180.15141101435998 0 0 0 0 -4167 1 1.5556 1 229.87128994255102 183.61657226330036 0 0 0 0 -4178 1 1.5534 1 263.3353465823641 161.0171156519941 0 0 0 0 -9914 1 1.0045 1 236.93320925686376 170.53740679252937 0 0 0 0 -4210 1 1.5477 1 243.15114092655176 145.42804089366183 0 0 0 0 -4221 1 1.5465 1 226.7504136808201 185.8246687192424 0 0 0 0 -4228 1 1.5461 1 212.11286345585853 161.38345381126638 0 0 0 0 -6204 1 1.2713 1 220.35014114984548 152.18523929507907 0 0 0 0 -4277 1 1.5368 1 239.679198016877 194.73326411516857 0 0 0 0 -4288 1 1.535 1 247.54617413533842 163.08119366876716 0 0 0 0 -4299 1 1.5325 1 247.22724822797505 170.465470732055 0 0 0 0 -4300 1 1.5325 1 247.7272593481239 169.03608268781764 0 0 0 0 -4303 1 1.5322 1 238.56402435761495 151.46551633296198 0 0 0 0 -9378 1 1.0321 1 259.89322469148306 148.0330824547685 0 0 0 0 -4354 1 1.5225 1 224.9964057831502 193.29373688803784 0 0 0 0 -4388 1 1.5167 1 239.23905960631916 174.5129742908802 0 0 0 0 -4400 1 1.515 1 225.54912776016425 171.0210001814445 0 0 0 0 -4406 1 1.514 1 251.34509943376324 166.21728364451894 0 0 0 0 -4421 1 1.5113 1 227.04119154559234 179.33986608551976 0 0 0 0 -4422 1 1.511 1 228.98046974055183 152.12588719105338 0 0 0 0 -5197 1 1.3887 1 229.30127705616837 139.96369243062935 0 0 0 0 -4434 1 1.5085 1 250.44852939894628 167.38629366731692 0 0 0 0 -4441 1 1.5075 1 262.3274347912568 153.76793971292187 0 0 0 0 -4447 1 1.5067 1 255.452722886376 197.19532683329027 0 0 0 0 -5043 1 1.4141 1 266.55465676063227 163.6105090806774 0 0 0 0 -4474 1 1.5021 1 231.41878736070768 195.05537228740485 0 0 0 0 -4476 1 1.5019 1 265.92662149444436 174.58812098493357 0 0 0 0 -4525 1 1.4939 1 262.73186065970395 174.78363309111538 0 0 0 0 -4548 1 1.4896 1 236.84469288220663 145.81592469813347 0 0 0 0 -4554 1 1.4883 1 246.73797480575564 161.8729947260386 0 0 0 0 -4572 1 1.4856 1 234.5965552383758 194.0697759290932 0 0 0 0 -9942 1 1.0032 1 239.96101523846355 147.7191223230904 0 0 0 0 -4605 1 1.4797 1 243.82163994661755 179.13878640917906 0 0 0 0 -4673 1 1.4685 1 228.45229067995982 193.58081586299627 0 0 0 0 -4688 1 1.466 1 260.3652866676208 155.37117828240565 0 0 0 0 -4699 1 1.4651 1 252.63549125220132 200.47735140173333 0 0 0 0 -4743 1 1.4574 1 225.16348750172315 166.40287722271148 0 0 0 0 -9823 1 1.0088 1 234.22617443642122 187.95426805528749 0 0 0 0 -4784 1 1.4511 1 252.03409594728652 151.8743949034467 0 0 0 0 -4795 1 1.4499 1 213.5019119144946 161.91597425469186 0 0 0 0 -4805 1 1.4481 1 224.67315512147763 154.92058095023128 0 0 0 0 -4865 1 1.4389 1 254.7515165599644 200.3961199354013 0 0 0 0 -9940 1 1.0033 1 228.48603978007654 195.2487211374754 0 0 0 0 -4940 1 1.4271 1 261.9302797390527 155.15061493471504 0 0 0 0 -8878 1 1.0587 1 220.21022777002887 143.71256598510882 0 0 0 0 -4961 1 1.4248 1 250.80654615113554 153.97379066588152 0 0 0 0 -2257 1 2.1148 1 215.47339369154736 143.6225252680119 0 0 0 0 -5008 1 1.4195 1 233.32685976428948 184.17309158619503 0 0 0 0 -6170 1 1.2754 1 216.04471419393408 150.50083542679644 0 0 0 0 -9528 1 1.0244 1 243.2681417218454 166.95941035078948 0 0 0 0 -5062 1 1.4112 1 237.49979965598305 172.61229221957242 0 0 0 0 -9820 1 1.0088 1 245.7486287462433 163.90018350711077 0 0 0 0 -1510 1 2.5658 1 264.4444909302757 149.60496232438874 0 0 0 0 -5089 1 1.4054 1 263.4443151550001 154.6504774341493 0 0 0 0 -5146 1 1.3971 1 225.69706210212723 164.4234143580819 0 0 0 0 -5178 1 1.3914 1 262.44151523066694 149.9790940964432 0 0 0 0 -5212 1 1.3874 1 230.41119410695904 168.710675688238 0 0 0 0 -9894 1 1.0053 1 225.768892892781 174.69829822929128 0 0 0 0 -5235 1 1.3842 1 237.1353962738179 151.58471913758842 0 0 0 0 -5261 1 1.3807 1 256.9374276774049 175.7311790552498 0 0 0 0 -5298 1 1.3762 1 234.79818597296858 192.6925972693611 0 0 0 0 -5346 1 1.3703 1 251.96091430816142 178.37757421035886 0 0 0 0 -5357 1 1.3688 1 261.2042028583536 161.5167176328745 0 0 0 0 -5380 1 1.3665 1 265.0653435484998 157.8158356422613 0 0 0 0 -5385 1 1.3662 1 255.27510111666004 188.76241324178073 0 0 0 0 -5386 1 1.3657 1 250.7482251670162 177.87615106832692 0 0 0 0 -5433 1 1.3586 1 255.9339939181868 201.10479728789335 0 0 0 0 -5500 1 1.3504 1 253.58219293908297 156.57544460116804 0 0 0 0 -5565 1 1.3424 1 256.40361490781066 174.56735119983958 0 0 0 0 -5580 1 1.3402 1 255.81640366448883 148.05430946114583 0 0 0 0 -5606 1 1.3363 1 236.07370804933578 192.24509929763803 0 0 0 0 -5624 1 1.3343 1 259.08850832839073 169.37053019604235 0 0 0 0 -5642 1 1.3328 1 258.6581804218183 185.757559341447 0 0 0 0 -499 1 4.3651 1 218.2314560126951 141.15166141598334 0 0 0 0 -9524 1 1.0246 1 229.96627018804435 190.24734168122592 0 0 0 0 -5707 1 1.3249 1 243.19133262329598 177.96831876843876 0 0 0 0 -9508 1 1.0255 1 253.87272528191383 181.55008454721352 0 0 0 0 -5752 1 1.3202 1 211.34218392938786 156.8494032088882 0 0 0 0 -5756 1 1.3197 1 217.08240632147448 160.09471048922828 0 0 0 0 -5757 1 1.3193 1 256.4108328823097 194.31277530598615 0 0 0 0 -2381 1 2.0553 1 223.67384467092452 150.90617437127153 0 0 0 0 -5805 1 1.314 1 237.7953491273483 176.4861344953018 0 0 0 0 -5844 1 1.3102 1 244.5285148085182 194.59075256533418 0 0 0 0 -5895 1 1.3052 1 234.47066885772543 184.83891992133908 0 0 0 0 -5937 1 1.3013 1 243.41576272899843 196.93810989284304 0 0 0 0 -5946 1 1.3 1 256.5207266310585 165.2421436104096 0 0 0 0 -5948 1 1.2999 1 252.57920368365012 157.35077086183313 0 0 0 0 -5955 1 1.2993 1 264.5004546189713 160.18773275028988 0 0 0 0 -5962 1 1.2986 1 217.31852460569186 157.74712767846907 0 0 0 0 -9819 1 1.0088 1 258.61562316744835 159.93761790504388 0 0 0 0 -5972 1 1.2974 1 254.06461093968747 149.39546437869794 0 0 0 0 -6005 1 1.294 1 234.74926977243518 195.37295178053293 0 0 0 0 -6019 1 1.2926 1 263.7078037897461 170.02270268990284 0 0 0 0 -6038 1 1.2908 1 252.43866704131082 190.01119816884457 0 0 0 0 -6088 1 1.2846 1 237.1436401437973 148.65561602421602 0 0 0 0 -6116 1 1.282 1 234.1501705958167 186.8542315323307 0 0 0 0 -6134 1 1.2803 1 261.3145308976298 156.32807009957585 0 0 0 0 -6152 1 1.2779 1 260.996169128826 154.21575534475528 0 0 0 0 -6183 1 1.2739 1 234.44413024705312 189.03105036162577 0 0 0 0 -6192 1 1.2725 1 253.73877054341034 201.2037424258506 0 0 0 0 -6217 1 1.2691 1 238.1136692723752 168.63112969512 0 0 0 0 -6252 1 1.2648 1 242.19082641858574 196.59243914676256 0 0 0 0 -6259 1 1.264 1 238.4026953889627 148.78371876397844 0 0 0 0 -6310 1 1.2603 1 260.99291452960546 148.14462145399824 0 0 0 0 -6312 1 1.2601 1 244.49829979330397 145.81845962796464 0 0 0 0 -9889 1 1.0056 1 228.6370280817878 183.49576017966177 0 0 0 0 -6346 1 1.2574 1 231.37816797254217 154.95564715821095 0 0 0 0 -6351 1 1.257 1 238.58852243866446 173.3581497990607 0 0 0 0 -5692 1 1.3267 1 214.4444143226379 153.91831547122385 0 0 0 0 -6452 1 1.2473 1 259.98228948389476 149.11992253239336 0 0 0 0 -6458 1 1.2469 1 234.9048940593063 183.67284296409943 0 0 0 0 -6464 1 1.2464 1 250.99658464903084 179.24977695513408 0 0 0 0 -6468 1 1.2461 1 227.46744396485047 180.60280529296364 0 0 0 0 -6480 1 1.2453 1 249.61727253747472 154.51929579556057 0 0 0 0 -6485 1 1.2448 1 260.3358552104967 173.7897960629229 0 0 0 0 -6490 1 1.2443 1 249.9987364950433 185.86651905153428 0 0 0 0 -6508 1 1.2422 1 226.87007556271007 184.46356890506252 0 0 0 0 -6520 1 1.2411 1 226.7175125834249 170.31454439368315 0 0 0 0 -7500 1 1.1524 1 215.77185497307948 142.1340459649407 0 0 0 0 -6549 1 1.2378 1 228.1265243883298 175.4478865368691 0 0 0 0 -6558 1 1.2367 1 262.24281666469966 181.35920867587643 0 0 0 0 -6565 1 1.2361 1 230.03794985894996 151.27983853762447 0 0 0 0 -6585 1 1.2336 1 258.18976121554516 175.9451908435746 0 0 0 0 -6589 1 1.2332 1 259.3400762925657 184.67781500463101 0 0 0 0 -6595 1 1.232 1 252.90677911167737 172.16229123770842 0 0 0 0 -9925 1 1.0041 1 226.1850070704431 165.52167315793878 0 0 0 0 -6665 1 1.2254 1 217.4141763991524 158.9462584802442 0 0 0 0 -6674 1 1.2247 1 229.60563198898757 194.75187112301344 0 0 0 0 -6700 1 1.2223 1 232.57423882673757 151.2265119088969 0 0 0 0 -6721 1 1.2204 1 219.1287345707342 162.6398888316861 0 0 0 0 -207 1 6.6742 1 212.08708058822805 150.73032238573725 0 0 0 0 -6767 1 1.2163 1 224.20033589631979 157.04069889380173 0 0 0 0 -6769 1 1.2161 1 258.81543872724166 149.45750751044758 0 0 0 0 -9427 1 1.0293 1 242.39654110931636 167.52714963994424 0 0 0 0 -9844 1 1.008 1 258.9174341928122 148.04717930165558 0 0 0 0 -6887 1 1.2033 1 255.73878510075284 187.63612758031766 0 0 0 0 -6889 1 1.2032 1 256.50497363510044 196.07919176513684 0 0 0 0 -6941 1 1.1989 1 253.29803979560225 182.4773419568765 0 0 0 0 -6960 1 1.1977 1 242.46737513966667 195.42565230004416 0 0 0 0 -6983 1 1.1958 1 261.35642248765737 174.4432702959528 0 0 0 0 -8117 1 1.1066 1 266.2542679994912 155.95546356833287 0 0 0 0 -7064 1 1.1887 1 243.60522829073926 195.77192675610976 0 0 0 0 -7078 1 1.1878 1 221.91413977839156 167.86664660626417 0 0 0 0 -7088 1 1.1872 1 259.5558348880276 183.49785278592114 0 0 0 0 -7095 1 1.1865 1 227.66316500431432 160.94606353917757 0 0 0 0 -7099 1 1.1858 1 257.61046007782784 157.3729811187342 0 0 0 0 -7307 1 1.1699 1 266.1919091845502 172.34843390433932 0 0 0 0 -9551 1 1.0232 1 213.2260685982238 155.63022273874043 0 0 0 0 -7159 1 1.1813 1 247.06631913383902 171.75167848619384 0 0 0 0 -7209 1 1.1775 1 250.4461343089919 156.66236664468366 0 0 0 0 -7259 1 1.1735 1 237.66242733628198 169.7458922710704 0 0 0 0 -7270 1 1.1731 1 248.03051558956213 179.39455865120567 0 0 0 0 -7278 1 1.1727 1 257.8745788523165 177.72433216152538 0 0 0 0 -9128 1 1.0458 1 220.00080580084105 139.20222719193748 0 0 0 0 -7310 1 1.1696 1 248.0224723648122 198.4206353182871 0 0 0 0 -7335 1 1.1678 1 205.09833083777914 160.07415610944423 0 0 0 0 -7368 1 1.164 1 238.6510650387276 177.37886640549638 0 0 0 0 -7414 1 1.1601 1 257.07556369036115 189.74502093581825 0 0 0 0 -7440 1 1.1575 1 235.47759366845753 173.86096200103253 0 0 0 0 -7453 1 1.1567 1 254.82137155186052 201.68214741558546 0 0 0 0 -7455 1 1.1565 1 232.33110865104814 190.64240131668961 0 0 0 0 -7481 1 1.1543 1 240.04879544808554 168.50365082469253 0 0 0 0 -6832 1 1.2089 1 209.24916048175893 155.94937970096166 0 0 0 0 -3280 1 1.7451 1 217.3265502058014 144.02979102980962 0 0 0 0 -7508 1 1.1518 1 228.03371520613877 181.63846008634968 0 0 0 0 -7544 1 1.1488 1 251.9582013672078 192.08716256357715 0 0 0 0 -7577 1 1.1458 1 256.7261231589385 197.22489357284763 0 0 0 0 -9644 1 1.0182 1 228.9298420191572 174.69384589335397 0 0 0 0 -7595 1 1.1443 1 230.22396588740568 185.8677697262896 0 0 0 0 -7639 1 1.1412 1 244.9324202874434 176.09180710757207 0 0 0 0 -7664 1 1.139 1 260.61066094644093 183.0299038927416 0 0 0 0 -7705 1 1.1359 1 249.99090088767886 188.0065218639978 0 0 0 0 -7709 1 1.1356 1 224.2588551024919 171.21086466478232 0 0 0 0 -6926 1 1.1997 1 214.01207827720617 144.319107199191 0 0 0 0 -7743 1 1.1332 1 253.14365058955002 147.5948118896591 0 0 0 0 -2655 1 1.945 1 204.28778818742379 202.73592313970246 0 0 0 0 -7778 1 1.1305 1 228.75580279362313 182.48489717713903 0 0 0 0 -7783 1 1.1302 1 236.25916999217503 149.45278016437263 0 0 0 0 -7797 1 1.129 1 231.20538261219536 151.33873902584327 0 0 0 0 -3430 1 1.709 1 222.440136172519 156.88459445059075 0 0 0 0 -7849 1 1.1254 1 257.15384821113986 176.89285643974864 0 0 0 0 -7860 1 1.1239 1 252.04050366000163 153.714681070089 0 0 0 0 -7874 1 1.1231 1 249.30993235170078 147.0211594850723 0 0 0 0 -7879 1 1.1229 1 206.04021754560432 160.69245626171428 0 0 0 0 -7898 1 1.1216 1 262.7901923829254 156.03951761946624 0 0 0 0 -8006 1 1.1142 1 246.75695277856912 160.6433310737348 0 0 0 0 -8024 1 1.1132 1 246.46043600276116 169.44655022265542 0 0 0 0 -8045 1 1.1116 1 206.09206511806124 159.5533675855493 0 0 0 0 -8047 1 1.1115 1 210.37884982225688 156.14041478203376 0 0 0 0 -8049 1 1.1113 1 248.87342838099076 161.44479885823742 0 0 0 0 -8051 1 1.1113 1 261.38249759472365 182.22295055990872 0 0 0 0 -8054 1 1.1112 1 251.397258336949 157.29815873686442 0 0 0 0 -8057 1 1.1108 1 256.45876718136253 188.52910144797997 0 0 0 0 -8072 1 1.1095 1 255.7169061864727 186.54206290315764 0 0 0 0 -8081 1 1.1086 1 261.696606340769 175.49939637496652 0 0 0 0 -8082 1 1.1086 1 255.40770725640647 157.41758220818562 0 0 0 0 -8107 1 1.1072 1 235.4125399648239 168.0123983756689 0 0 0 0 -7155 1 1.1815 1 265.13224807977247 147.8353453429199 0 0 0 0 -2228 1 2.1246 1 210.0710429150891 154.56052295843273 0 0 0 0 -8121 1 1.1063 1 246.7071820195126 151.2761738583309 0 0 0 0 -8126 1 1.1059 1 253.41721918584045 161.43728544559596 0 0 0 0 -8180 1 1.1024 1 224.7610030519843 146.48237143048257 0 0 0 0 -5221 1 1.3866 1 223.64382985578973 155.8920579868326 0 0 0 0 -8228 1 1.0998 1 243.34708219901285 194.73364111809852 0 0 0 0 -8230 1 1.0997 1 249.03903459884236 159.15289459753663 0 0 0 0 -8243 1 1.0985 1 229.17640948119913 188.92130956468398 0 0 0 0 -8267 1 1.0969 1 260.6481736448899 175.2809984514978 0 0 0 0 -8270 1 1.0968 1 251.47027470235903 164.9272393063046 0 0 0 0 -8271 1 1.0968 1 261.8903527871157 176.5127943875966 0 0 0 0 -8313 1 1.0936 1 241.52561459049437 194.81940082144112 0 0 0 0 -8330 1 1.0923 1 246.2565752736874 163.03078874221546 0 0 0 0 -8472 1 1.083 1 256.49661988800074 157.60591325780592 0 0 0 0 -8479 1 1.0823 1 245.06139485287545 179.26522172260457 0 0 0 0 -8515 1 1.0801 1 245.7385869108982 180.07007010298878 0 0 0 0 -8555 1 1.0777 1 256.81227991788876 164.14865357801074 0 0 0 0 -406 1 4.9037 1 217.43134433647128 154.72598038338788 0 0 0 0 -8607 1 1.0746 1 250.18801398159414 155.5026482387068 0 0 0 0 -8615 1 1.0739 1 243.1166258614981 153.09058161327218 0 0 0 0 -8629 1 1.0731 1 258.62673938120133 158.90453936965562 0 0 0 0 -8688 1 1.0706 1 226.94471279471415 181.58813433155956 0 0 0 0 -8696 1 1.0701 1 257.5777031944349 200.51930745236075 0 0 0 0 -8741 1 1.0674 1 250.66768851003985 184.95642709405854 0 0 0 0 -8790 1 1.064 1 214.5892055135772 162.5075267064696 0 0 0 0 -8799 1 1.0635 1 264.03152379566063 147.86514035566316 0 0 0 0 -8813 1 1.0625 1 238.60399694823525 175.62660573670345 0 0 0 0 -8819 1 1.062 1 242.87696015092814 151.2735130639026 0 0 0 0 -8827 1 1.0617 1 247.95347388360304 161.87625777066765 0 0 0 0 -8836 1 1.0611 1 245.61240262339285 155.97781673915784 0 0 0 0 -8859 1 1.0595 1 249.57918855361828 177.7873273672264 0 0 0 0 -8867 1 1.059 1 252.38673863714797 160.49077849727414 0 0 0 0 -8869 1 1.059 1 208.8480544114127 156.9494235464071 0 0 0 0 -8875 1 1.0587 1 249.17469664458153 149.62246717764953 0 0 0 0 -8879 1 1.0587 1 255.18183066391268 149.03440534839316 0 0 0 0 -8885 1 1.0581 1 238.08565657128403 178.33112694675435 0 0 0 0 -8944 1 1.0554 1 263.2470864343363 168.58739150173116 0 0 0 0 -8947 1 1.0554 1 253.13978073383907 171.09255276491476 0 0 0 0 -9818 1 1.0089 1 264.76792805678605 162.9075826212277 0 0 0 0 -8996 1 1.053 1 236.89830621033082 171.5599415551518 0 0 0 0 -9020 1 1.0517 1 241.30375728881708 167.92389435155502 0 0 0 0 -9021 1 1.0517 1 252.33873160991558 170.50667357208133 0 0 0 0 -9063 1 1.0494 1 251.34041900255693 152.88469769088633 0 0 0 0 -7153 1 1.1819 1 230.56646487680592 139.94780810356647 0 0 0 0 -9086 1 1.0479 1 255.60799335586438 202.4057776264618 0 0 0 0 -9101 1 1.047 1 250.3761092054462 147.20977913038183 0 0 0 0 -9134 1 1.0453 1 265.8831604698066 156.94494188252582 0 0 0 0 -9136 1 1.0453 1 257.4790440587141 188.74833429710029 0 0 0 0 -9137 1 1.0453 1 244.0196821953183 167.66489354936772 0 0 0 0 -9145 1 1.0449 1 224.1375507544257 192.11527281578242 0 0 0 0 -9153 1 1.0446 1 224.98957822995848 195.57476808122163 0 0 0 0 -9154 1 1.0445 1 252.0798796728356 171.4282848064462 0 0 0 0 -9198 1 1.0419 1 261.1472745153972 160.3637186775607 0 0 0 0 -9220 1 1.0409 1 265.74515815974564 162.70318502346052 0 0 0 0 -9248 1 1.0395 1 248.01301409522742 160.76186347454808 0 0 0 0 -9253 1 1.0393 1 236.01319201030702 148.41139197192368 0 0 0 0 -276 1 5.9573 1 219.3459353215856 147.24972107447874 0 0 0 0 -9298 1 1.0367 1 257.79397082672676 174.8881029650132 0 0 0 0 -9315 1 1.0354 1 226.47044062994652 169.2772345536895 0 0 0 0 -9330 1 1.0346 1 252.26621820010055 196.5172186623669 0 0 0 0 -9347 1 1.0338 1 238.76450703905547 172.29026750798073 0 0 0 0 -9362 1 1.0328 1 249.5097192182855 148.06869355218907 0 0 0 0 -5827 1 1.3118 1 213.23724696982782 154.50351054328524 0 0 0 0 -8782 1 1.0643 1 219.21095976894148 152.34769697275271 0 0 0 0 -690 1 3.8067 1 222.4301271297198 153.62463052145387 0 0 0 0 -3434 1 1.7085 1 221.49023044159003 144.21210205557873 0 0 0 0 -9127 1 1.0459 1 220.0308685250426 153.29429859859306 0 0 0 0 -4815 1 1.4465 1 233.6551863089289 140.79752835927707 0 0 0 0 -4212 1 1.5475 1 206.49349144361594 147.130874931158 0 0 0 0 -2053 1 2.208 1 208.10220687987086 148.03586472620916 0 0 0 0 -647 1 3.8965 1 265.8208585586608 153.5078614863338 0 0 0 0 -1482 1 2.594 1 217.86788479562918 151.12302204817732 0 0 0 0 -7204 1 1.1777 1 225.63289180442388 145.76399070808532 0 0 0 0 -4565 1 1.4869 1 215.98563933064403 151.88610768115183 0 0 0 0 -6724 1 1.2203 1 222.7962571455085 146.2647428275885 0 0 0 0 -1086 1 3.0375 1 223.6482424838904 148.21357467899645 0 0 0 0 -3875 1 1.6127 1 209.78294621427483 147.31424471229974 0 0 0 0 -4049 1 1.5745 1 210.97078854953088 146.37401697243973 0 0 0 0 -6890 1 1.2032 1 219.0889421498592 143.73667163353508 0 0 0 0 -8956 1 1.0549 1 205.71618796942047 202.36120993319295 0 0 0 0 -7725 1 1.1347 1 225.76812273670328 146.9548251529049 0 0 0 0 -7034 1 1.1909 1 234.76250557003758 141.50794772614094 0 0 0 0 -5697 1 1.3263 1 212.1793924205815 145.6599903101046 0 0 0 0 -8912 1 1.057 1 213.08245964807273 144.8937572175497 0 0 0 0 -6851 1 1.2073 1 235.83106134190976 142.04520550861886 0 0 0 0 -3066 1 1.8084 1 267.3705737304355 175.3171105359125 0 0 0 0 -1701 1 2.4231 1 221.47635250604822 150.74080643698778 0 0 0 0 -137 1 7.9982 1 224.29310574392733 140.39376393709753 0 0 0 0 -9165 1 1.0436 1 219.69792546829385 150.82194056728284 0 0 0 0 -871 1 3.4229 1 267.267981082363 148.622289579742 0 0 0 0 -8767 1 1.0653 1 212.14921708996764 146.87370944077668 0 0 0 0 -9234 1 1.0404 1 213.29524719007574 145.8490056192361 0 0 0 0 -6 1 40.6337 1 206.14210627068462 181.5551075506276 0 0 0 0 -7464 1 1.156 1 223.89984976797444 145.7693436786386 0 0 0 0 -197 1 6.9082 1 267.10270652821595 167.71648915525807 0 0 0 0 -6604 1 1.2312 1 230.63109993739232 138.74811881251998 0 0 0 0 -5083 1 1.4071 1 267.36863299553755 171.85348846558892 0 0 0 0 -3 1 93.5499 1 230.6293325408126 242.53415784534673 0 0 0 0 -7756 1 1.1318 1 260.9099281854511 206.1385265358476 0 0 0 0 -7246 1 1.174 1 264.85564031198356 209.81163096136476 0 0 0 0 -4307 1 1.5313 1 263.0085467007231 208.07092509188072 0 0 0 0 -2427 1 2.0373 1 266.18396677287313 210.65174016881537 0 0 0 0 -4058 1 1.5734 1 267.1611582879057 212.14324546407462 0 0 0 0 -6410 1 1.2507 1 264.0482638442489 208.9502271464297 0 0 0 0 -5712 1 1.3246 1 261.9474037625025 207.1181503602573 0 0 0 0 -7144 1 1.1828 1 259.0324228172276 203.60639545836273 0 0 0 0 -3015 1 1.8223 1 259.6730141384413 204.91572580036967 0 0 0 0 -4960 1 1.4248 1 203.09538635248154 203.88615845865252 0 0 0 0 -7 1 38.9695 1 207.19434442044823 303.43728532660367 0 0 0 0 -9099 1 1.0471 1 265.57326545626285 311.8557641053617 0 0 0 0 -15 1 28.8055 1 243.96810628883122 306.13144166738397 0 0 0 0 -5523 1 1.3484 1 213.3077447259043 330.6888682118512 0 0 -1 0 -222 1 6.4668 1 259.9619228362416 291.1708860440642 0 0 0 0 -236 1 6.3097 1 246.63587493566365 327.40998836814566 0 0 0 0 -4444 1 1.5071 1 217.38044734368793 326.55134705085464 0 0 -1 0 -7566 1 1.1466 1 266.1173025167928 300.41991854676866 0 0 0 0 -6897 1 1.2023 1 213.2033736818302 325.48985874903747 0 0 0 0 -270 1 6.0055 1 263.49926805828926 296.2368893075318 0 0 0 0 -9744 1 1.013 1 235.66212240635437 293.7740964105621 0 0 0 0 -309 1 5.6606 1 223.65549335081357 325.15556564392256 0 0 0 0 -313 1 5.629 1 233.18199681943858 322.4377432968035 0 0 0 0 -350 1 5.3344 1 228.53446067324452 315.1858648951393 0 0 0 0 -4786 1 1.4508 1 205.93599792869722 329.7202278320273 0 0 -1 0 -4828 1 1.445 1 258.2873709545415 281.0398448555553 0 0 0 0 -469 1 4.5672 1 224.96134040571437 291.1402935834618 0 0 0 0 -477 1 4.5184 1 248.177019613499 290.14764624141935 0 0 0 0 -9840 1 1.0082 1 240.89339723952781 329.3070862847131 0 0 0 0 -506 1 4.3387 1 247.1430249466318 322.2531831290611 0 0 0 0 -521 1 4.2957 1 240.54508113508265 323.1653806129021 0 0 0 0 -552 1 4.1937 1 254.9518681750876 289.63064123967183 0 0 0 0 -557 1 4.1826 1 261.894577696145 308.62264122119194 0 0 0 0 -602 1 4.0103 1 257.45472949176474 284.43231167356726 0 0 0 0 -620 1 3.954 1 250.86640134068494 286.8760275984456 0 0 0 0 -627 1 3.9397 1 229.66820785573822 325.59660979583373 0 0 0 0 -644 1 3.9085 1 259.87078612461744 302.6855689099027 0 0 0 0 -674 1 3.8371 1 222.11296014174127 318.5358187487028 0 0 0 0 -707 1 3.7702 1 228.5556089749944 321.99111693646114 0 0 0 0 -716 1 3.7568 1 229.84861895838745 295.0493155507953 0 0 0 0 -4623 1 1.4779 1 234.45152055070392 330.4733521044184 0 0 -1 0 -795 1 3.6 1 263.1386620429541 304.43469606198715 0 0 0 0 -810 1 3.5646 1 251.20364082567133 322.1963347029237 0 0 0 0 -9550 1 1.0233 1 204.40370269983265 323.1943959103499 0 0 -1 0 -837 1 3.495 1 219.17350543106815 323.5148420558279 0 0 0 0 -9652 1 1.0178 1 257.7332922580622 296.40606476378457 0 0 0 0 -888 1 3.3781 1 256.32726550524916 316.14939744632454 0 0 0 0 -892 1 3.3733 1 231.50433051905648 290.85271033583575 0 0 0 0 -1852 1 2.3298 1 214.92322666869032 328.8943651987567 0 0 -1 0 -947 1 3.2524 1 228.17032387049946 328.76551954886 0 0 0 0 -949 1 3.2507 1 230.06595507432584 298.45504932446204 0 0 0 0 -8282 1 1.0962 1 206.79950609192417 283.4139201201763 0 0 0 0 -1049 1 3.0912 1 226.57321337673866 295.5685833803909 0 0 0 0 -1107 1 3.0061 1 232.77096694822117 293.61226689397694 0 0 0 0 -9501 1 1.0259 1 242.62806626418745 324.92375652775706 0 0 0 0 -1200 1 2.9038 1 228.51429218584144 290.65983081955727 0 0 0 0 -1232 1 2.8746 1 231.75446960409337 317.70622579260447 0 0 0 0 -1281 1 2.8095 1 254.691163120143 293.1064326324413 0 0 0 0 -2541 1 1.9923 1 214.90942748296214 330.99278775917765 0 0 -1 0 -9713 1 1.0145 1 209.15919276654392 323.2575630243462 0 0 0 0 -1300 1 2.7928 1 227.3453958815001 318.9854015898004 0 0 0 0 -5590 1 1.3384 1 265.3478184849774 274.82642422588384 0 0 0 0 -1340 1 2.7451 1 259.03138070216625 311.4786690832557 0 0 0 0 -1345 1 2.7429 1 236.00875601434052 319.5825476440511 0 0 0 0 -9835 1 1.0084 1 241.4966626939761 290.6270907041508 0 0 0 0 -1369 1 2.7168 1 260.79142691341775 299.54527613767846 0 0 0 0 -1376 1 2.7076 1 242.22457419457018 328.06966071224946 0 0 0 0 -1797 1 2.3565 1 265.29946133111946 306.4119869494981 0 0 0 0 -1382 1 2.7014 1 262.7929410927312 301.312652393017 0 0 0 0 -6785 1 1.2143 1 263.63513380077774 285.0795229476452 0 0 0 0 -1421 1 2.6597 1 237.73434457594834 290.0038691193182 0 0 0 0 -1422 1 2.6588 1 251.6658789178558 290.03773392036385 0 0 0 0 -1427 1 2.6532 1 252.00304946353384 292.7062713487846 0 0 0 0 -1428 1 2.6531 1 219.32451832995022 320.31006299242483 0 0 0 0 -1457 1 2.6122 1 214.44570200626248 324.07276526588055 0 0 0 0 -1563 1 2.5231 1 250.366558530152 325.0703101781972 0 0 0 0 -1612 1 2.4839 1 258.24264404290176 298.0488373836344 0 0 0 0 -1261 1 2.842 1 262.93270904143566 283.2474886438125 0 0 0 0 -8950 1 1.0551 1 207.0204965121016 326.19185567069053 0 0 -1 0 -1652 1 2.4528 1 254.18968966788364 319.35146247519674 0 0 0 0 -5821 1 1.3122 1 214.52463422617728 327.0030483214247 0 0 -1 0 -1658 1 2.4483 1 239.88802925515614 291.1759000266891 0 0 0 0 -1673 1 2.4414 1 244.2107680478607 290.655837218688 0 0 0 0 -1695 1 2.4278 1 224.99669630292746 313.81069012475865 0 0 0 0 -1704 1 2.4209 1 236.0566428147372 325.2059699546224 0 0 0 0 -1705 1 2.4183 1 264.24841235383883 292.18209509083476 0 0 0 0 -5952 1 1.2995 1 258.77915529016536 282.2203332583046 0 0 0 0 -9997 1 1.0001 1 211.57467970472044 324.3732083343873 0 0 -1 0 -1888 1 2.3071 1 228.0586387039082 302.61961373093 0 0 0 0 -1907 1 2.2954 1 251.94366908552058 319.40213895404906 0 0 0 0 -1936 1 2.2794 1 259.5775177305215 313.9279160170151 0 0 0 0 -1949 1 2.27 1 227.38094017465767 307.44288825812055 0 0 0 0 -2057 1 2.207 1 259.08099566073554 286.98399576877995 0 0 0 0 -9836 1 1.0084 1 217.45189957784473 322.1603339924994 0 0 0 0 -2069 1 2.198 1 235.35575503698698 291.47358388186495 0 0 0 0 -6232 1 1.2672 1 240.46081688954703 327.3716244058302 0 0 -1 0 -2184 1 2.1447 1 261.4118553976778 311.7232997630771 0 0 0 0 -2195 1 2.14 1 244.41846015002375 323.8452305423051 0 0 0 0 -2217 1 2.1285 1 256.2750911139249 296.9040890471191 0 0 0 0 -2335 1 2.0746 1 240.85479154834985 289.2189819535274 0 0 0 0 -2352 1 2.0675 1 251.20424996643635 327.1374364880489 0 0 0 0 -2376 1 2.0567 1 221.43637948772198 322.08339361050344 0 0 0 0 -2379 1 2.0555 1 229.7167496871377 319.02861474823067 0 0 0 0 -8591 1 1.0757 1 207.24430861873876 323.83768119639274 0 0 0 0 -2966 1 1.8433 1 207.92593580586515 327.32710077780325 0 0 -1 0 -2516 1 2.0054 1 229.4508398197924 300.99491308791096 0 0 0 0 -3048 1 1.8129 1 210.52249500220262 323.5170207032572 0 0 0 0 -2551 1 1.9892 1 243.17211254910467 321.46043808737954 0 0 0 0 -2574 1 1.9798 1 227.58999758843942 309.8146185349819 0 0 0 0 -2589 1 1.9744 1 264.6442429758851 299.97802551743854 0 0 0 0 -5211 1 1.3874 1 204.6446794951241 331.7812114719653 0 0 -1 0 -2609 1 1.9632 1 239.62481456428463 326.0661123562229 0 0 0 0 -2635 1 1.9552 1 258.9602153263427 309.18291681115625 0 0 0 0 -2646 1 1.9503 1 259.3168299856175 306.20928633268227 0 0 0 0 -9095 1 1.0472 1 263.635828107298 306.69518125164797 0 0 0 0 -9348 1 1.0337 1 261.6642665509756 281.80323129470344 0 0 0 0 -9183 1 1.0429 1 255.87913085745603 318.27822358660376 0 0 0 0 -2673 1 1.9412 1 228.73218086045384 304.6260722926683 0 0 0 0 -2712 1 1.9259 1 246.81343112930946 287.33408507438344 0 0 0 0 -9225 1 1.0407 1 226.45971760091714 308.8167403111471 0 0 0 0 -2835 1 1.8836 1 254.70467692502044 285.520589733437 0 0 0 0 -2857 1 1.8771 1 255.9426950427418 286.8625618945504 0 0 0 0 -2886 1 1.866 1 225.77889389965654 322.1117724854499 0 0 0 0 -838 1 3.4858 1 261.7888910297212 286.48188221296624 0 0 0 0 -2939 1 1.8507 1 257.0893200003661 294.15052235421314 0 0 0 0 -2975 1 1.8403 1 226.13038293257128 310.9744154708293 0 0 0 0 -2987 1 1.8364 1 216.2992980957478 322.89941599454806 0 0 0 0 -2996 1 1.8339 1 224.05826286806874 320.4828390872663 0 0 0 0 -3047 1 1.8129 1 221.5939325623703 289.18505570695925 0 0 0 0 -8780 1 1.0645 1 230.86859731722632 292.9245922111991 0 0 0 0 -3909 1 1.6062 1 205.7219212299235 325.85236452794635 0 0 -1 0 -3104 1 1.7963 1 225.73053535105916 329.16685017426244 0 0 0 0 -3917 1 1.604 1 263.0248968892805 288.6249767867442 0 0 0 0 -3184 1 1.7694 1 264.5937702859421 309.659911639495 0 0 0 0 -3225 1 1.7587 1 253.68205744861308 286.97976608233324 0 0 0 0 -9862 1 1.0066 1 252.01559757124943 284.68621809653496 0 0 0 0 -3261 1 1.7494 1 255.24530445305618 295.2941862555892 0 0 0 0 -3262 1 1.7493 1 228.96151691538458 308.6193733566042 0 0 0 0 -3413 1 1.7119 1 232.41737281069217 325.91420126358196 0 0 0 0 -9485 1 1.0266 1 208.14421527834028 323.3320667700521 0 0 0 0 -5528 1 1.348 1 212.0676981464758 330.27042893274614 0 0 -1 0 -9536 1 1.0239 1 253.01299995317595 291.2608363926844 0 0 0 0 -3563 1 1.6776 1 238.07313201305027 325.2154203656698 0 0 0 0 -3565 1 1.6775 1 244.17954834704736 330.50864472358677 0 0 0 0 -3581 1 1.6748 1 258.6287788946911 295.00102970557344 0 0 0 0 -3596 1 1.672 1 212.20488695190485 323.101633211891 0 0 0 0 -3688 1 1.6515 1 241.35115333995049 330.5306230378681 0 0 0 0 -3715 1 1.6445 1 241.4022569991583 326.007791563314 0 0 0 0 -6613 1 1.2307 1 230.91883537899963 327.81144440682186 0 0 -1 0 -8932 1 1.056 1 224.77150840418417 316.25768217014524 0 0 0 0 -3820 1 1.6227 1 245.61832053138795 331.22949523598663 0 0 0 0 -4486 1 1.5002 1 260.20719793147526 279.717911783421 0 0 0 0 -5359 1 1.3686 1 242.85507532013006 331.19176142182374 0 0 0 0 -3905 1 1.6065 1 217.33693253354568 320.92466718294014 0 0 0 0 -3928 1 1.6023 1 228.74607536315855 311.1720447632777 0 0 0 0 -9626 1 1.0195 1 225.9028303792674 293.69825216963443 0 0 0 0 -3970 1 1.5918 1 257.53508636716623 312.9499489197238 0 0 0 0 -3988 1 1.5891 1 236.55311322410105 292.92242552581354 0 0 0 0 -9747 1 1.0129 1 246.0293918807679 288.53046622913786 0 0 0 0 -5041 1 1.4147 1 266.1309752353646 309.78743410891315 0 0 0 0 -1100 1 3.0202 1 208.7862898536937 325.17134370096727 0 0 -1 0 -4183 1 1.5525 1 243.83158984034398 288.17759263425336 0 0 0 0 -4199 1 1.5497 1 258.05890118346747 300.7428587309381 0 0 0 0 -8682 1 1.0709 1 215.28386543926283 325.7900251393223 0 0 0 0 -4234 1 1.5447 1 238.04389706266068 320.07170266835277 0 0 0 0 -4244 1 1.5429 1 227.1075655391949 293.314399969418 0 0 0 0 -4245 1 1.5428 1 226.67344827676942 327.00500879709926 0 0 0 0 -4248 1 1.5424 1 227.27750026949002 324.28546782264823 0 0 0 0 -9981 1 1.0011 1 212.11655838919404 325.4106400191296 0 0 -1 0 -4332 1 1.5263 1 227.30699327153346 305.5619467747905 0 0 0 0 -4334 1 1.5259 1 218.71486122290642 327.0666880473406 0 0 0 0 -4348 1 1.5234 1 239.46068606907795 320.54697939914337 0 0 0 0 -8125 1 1.106 1 266.5779459051494 279.59214518167164 0 0 0 0 -4370 1 1.5198 1 253.98118854203065 317.3669731871887 0 0 0 0 -796 1 3.5979 1 233.24960325219863 328.3062105795446 0 0 -1 0 -4798 1 1.4494 1 266.00035318402576 298.9790419814748 0 0 0 0 -4426 1 1.51 1 225.74288171992757 317.05975796025194 0 0 0 0 -4469 1 1.5025 1 231.9155446060926 315.52666135438795 0 0 0 0 -4471 1 1.5023 1 245.19236690548044 287.666634915342 0 0 0 0 -4481 1 1.5008 1 242.942130063892 326.1537138858053 0 0 0 0 -8501 1 1.0808 1 216.10710261747062 326.45784189332915 0 0 0 0 -1887 1 2.3095 1 216.68750094508943 324.8795204224541 0 0 0 0 -4539 1 1.4911 1 223.67759276483378 315.2517937390237 0 0 0 0 -4541 1 1.4909 1 253.51104048921144 321.1935666762037 0 0 0 0 -4560 1 1.4876 1 242.38956507329002 288.5002322508482 0 0 0 0 -4579 1 1.4844 1 214.88590069686643 322.09536217654545 0 0 0 0 -4607 1 1.4794 1 234.66329284549155 294.4005832458729 0 0 0 0 -4638 1 1.4756 1 228.51724969676584 292.8251897755252 0 0 0 0 -4639 1 1.4753 1 253.0612957625084 285.3397904758177 0 0 0 0 -4653 1 1.4728 1 251.18516479668654 329.93347739165836 0 0 0 0 -4656 1 1.4722 1 227.43940423352268 311.9729422476192 0 0 0 0 -8858 1 1.0595 1 212.49054051991507 326.3385220949893 0 0 -1 0 -3375 1 1.7228 1 207.2592369340832 328.8902219741257 0 0 -1 0 -4676 1 1.4681 1 226.73588815986068 298.77244987723907 0 0 0 0 -7483 1 1.1541 1 261.2725744657368 284.28153194746255 0 0 0 0 -4729 1 1.4594 1 231.90911684923006 296.99198142650584 0 0 0 0 -4744 1 1.4573 1 223.08288340587373 321.70125450317596 0 0 0 0 -4751 1 1.4562 1 248.2529098664791 286.5957052457994 0 0 0 0 -851 1 3.4562 1 266.0207278868322 282.8059272547702 0 0 0 0 -5835 1 1.3111 1 208.57621522163635 329.59136963191526 0 0 -1 0 -9174 1 1.0431 1 225.3940533538365 315.46819215987097 0 0 0 0 -8421 1 1.0863 1 204.4332490871355 325.5841992062254 0 0 -1 0 -4814 1 1.4467 1 238.23464613375438 292.16001088845627 0 0 0 0 -4845 1 1.4423 1 263.0797778165428 311.1504008534504 0 0 0 0 -4851 1 1.4413 1 250.24322496631868 319.88995361958587 0 0 0 0 -4929 1 1.4286 1 234.5853672027688 289.86639132848165 0 0 0 0 -4944 1 1.4262 1 250.27026601334362 328.569397950834 0 0 0 0 -4945 1 1.426 1 238.20918502884476 321.52407908950624 0 0 0 0 -4958 1 1.425 1 233.72833888328273 318.8826984243159 0 0 0 0 -8776 1 1.0647 1 225.66484143757194 327.79146444825403 0 0 0 0 -3229 1 1.758 1 264.4196954776494 276.00514455465054 0 0 0 0 -9909 1 1.0046 1 226.44779440554638 323.3537979946487 0 0 0 0 -5088 1 1.4059 1 260.765804298452 305.1194945951374 0 0 0 0 -5100 1 1.4043 1 260.1067663636989 284.73198716044163 0 0 0 0 -5155 1 1.3953 1 259.8569934258947 295.9430151373359 0 0 0 0 -8699 1 1.0698 1 257.4377010186712 281.9153811311009 0 0 0 0 -5229 1 1.3853 1 224.61143706563493 318.98955450329237 0 0 0 0 -5283 1 1.3779 1 220.45791805380927 326.66748308067196 0 0 0 0 -9578 1 1.0217 1 226.31860095764017 297.6042725646279 0 0 0 0 -8966 1 1.0543 1 225.57706862898408 318.30152779478084 0 0 0 0 -5373 1 1.3675 1 260.07442780457706 297.5361019275361 0 0 0 0 -5431 1 1.3587 1 257.8615975184267 314.382829779198 0 0 0 0 -5455 1 1.3553 1 228.2517123799848 296.99109244724826 0 0 0 0 -5506 1 1.35 1 245.0044343251573 289.02781613363567 0 0 0 0 -5532 1 1.3472 1 253.58118061329802 284.0522100536041 0 0 0 0 -5591 1 1.3384 1 227.89204211466574 298.23803781438 0 0 0 0 -5613 1 1.3356 1 237.39557360735188 323.8974221503806 0 0 0 0 -5640 1 1.3331 1 227.07631971097638 325.67156034368577 0 0 0 0 -5649 1 1.3324 1 261.27559543086306 313.4466333837154 0 0 0 0 -5650 1 1.3324 1 227.1693846881521 300.09514649885455 0 0 0 0 -5664 1 1.3309 1 249.01440721083006 320.27009409941496 0 0 0 0 -362 1 5.249 1 263.4955033594502 279.30685638853754 0 0 0 0 -5736 1 1.3221 1 235.1808005506546 326.8275880133761 0 0 0 0 -9897 1 1.0051 1 234.1027519364687 317.68615995694785 0 0 0 0 -5799 1 1.3149 1 224.5021123240419 317.65654801914303 0 0 0 0 -4125 1 1.5627 1 213.37683856763996 327.82082995229666 0 0 -1 0 -2539 1 1.996 1 264.0080573957602 290.0611723760786 0 0 0 0 -2980 1 1.839 1 229.85327948004212 330.58221897052056 0 0 -1 0 -5877 1 1.3077 1 219.36567794529677 325.88081839345693 0 0 0 0 -5953 1 1.2993 1 235.85947187431032 289.6386590878784 0 0 0 0 -6136 1 1.2799 1 231.25451876298945 319.6325887917388 0 0 0 0 -6139 1 1.2797 1 242.37921935284606 289.93889224579266 0 0 0 0 -9766 1 1.0117 1 255.00126819303736 284.1767143922648 0 0 0 0 -2231 1 2.1234 1 205.67880292718317 324.0075979978415 0 0 -1 0 -6264 1 1.2636 1 233.65539177864403 291.68009950674934 0 0 0 0 -8892 1 1.0578 1 206.79158266987844 325.10275344195 0 0 -1 0 -9721 1 1.0142 1 226.2614670523454 312.4179521350765 0 0 0 0 -6330 1 1.2586 1 229.81903686788817 292.43216487960115 0 0 0 0 -6433 1 1.2489 1 263.424605216333 312.4404608616533 0 0 0 0 -3034 1 1.8168 1 266.813400216234 311.20083692613474 0 0 0 0 -7592 1 1.1445 1 266.8381648796254 280.6775588208497 0 0 0 0 -9491 1 1.0263 1 213.47409475845674 326.5554769381603 0 0 0 0 -6494 1 1.2438 1 227.24341739900825 304.17883607806306 0 0 0 0 -9516 1 1.025 1 243.2965288952857 289.2849741815211 0 0 0 0 -6514 1 1.2417 1 223.73913818101627 316.6363444760874 0 0 0 0 -6538 1 1.2385 1 242.45836850043233 291.1936759709083 0 0 0 0 -6545 1 1.2379 1 258.8907862772676 299.72623930107227 0 0 0 0 -9366 1 1.0326 1 256.4355134990117 282.1384036490064 0 0 0 0 -6576 1 1.2351 1 232.25629006090813 295.6920818506577 0 0 0 0 -6580 1 1.2346 1 231.5122532685967 314.2342374312928 0 0 0 0 -9708 1 1.0148 1 236.31279542327755 323.4910306807583 0 0 0 0 -6615 1 1.2306 1 213.49701802242924 322.46615379171095 0 0 0 0 -6652 1 1.2266 1 233.03757868733175 316.25269044702713 0 0 0 0 -6699 1 1.2223 1 212.6290300508445 324.4534349811352 0 0 0 0 -7854 1 1.1247 1 259.54814373532383 281.28425255780405 0 0 0 0 -9231 1 1.0404 1 215.58469934667366 327.35600503757803 0 0 -1 0 -9237 1 1.0401 1 220.37854738989333 325.39796706855105 0 0 0 0 -2052 1 2.208 1 267.40092955392856 278.0722635879265 0 0 0 0 -6826 1 1.2099 1 237.0187784285772 291.69901676338594 0 0 0 0 -6836 1 1.2085 1 234.80220367887335 293.0721274396923 0 0 0 0 -6846 1 1.2081 1 252.18815752505625 324.5941120505233 0 0 0 0 -7688 1 1.1373 1 226.0989109694465 330.5518752659489 0 0 0 0 -6894 1 1.2028 1 249.92459051755097 292.40049914108704 0 0 0 0 -6899 1 1.2021 1 233.98168302903485 325.8257584959968 0 0 0 0 -6984 1 1.1957 1 226.4853783610146 320.75099811092474 0 0 0 0 -7023 1 1.192 1 230.4297621073675 320.47149694247935 0 0 0 0 -7028 1 1.1915 1 255.53865810379878 282.76223095701016 0 0 0 0 -7070 1 1.1883 1 216.04651636222374 321.4324932516304 0 0 0 0 -7100 1 1.1856 1 256.68405138607045 313.9687662942891 0 0 0 0 -7120 1 1.1841 1 242.61940990355401 329.96179028196894 0 0 0 0 -2691 1 1.9334 1 206.11537821239065 327.53287510076433 0 0 -1 0 -2669 1 1.9417 1 267.1327814734035 297.7413308699506 0 0 0 0 -7272 1 1.1731 1 237.8477007630151 322.7506992490603 0 0 0 0 -7357 1 1.165 1 233.3758789796065 289.74643499034596 0 0 0 0 -7381 1 1.1629 1 228.54074469172772 306.1662677089951 0 0 0 0 -7439 1 1.1576 1 262.4009386213046 312.999998265555 0 0 0 0 -6008 1 1.2935 1 260.7351646156203 281.06005510673145 0 0 0 0 -7524 1 1.1509 1 230.50096121108083 312.6371104369516 0 0 0 0 -7530 1 1.1505 1 264.33972424394454 311.05568139643714 0 0 0 0 -2899 1 1.8633 1 216.78919111791382 328.05842198381646 0 0 -1 0 -7568 1 1.1466 1 224.872232445994 293.9905961167148 0 0 0 0 -7584 1 1.1452 1 222.69360603592614 316.12017203994765 0 0 0 0 -7590 1 1.1448 1 256.2397481378873 291.89126995667476 0 0 0 0 -7628 1 1.1426 1 264.54571230063874 312.14003617284595 0 0 0 0 -7666 1 1.1389 1 258.8511166733361 307.65960832165166 0 0 0 0 -7669 1 1.1387 1 230.0374912789743 311.5979408881226 0 0 0 0 -318 1 5.5547 1 237.65329458749977 329.19544029480204 0 0 -1 0 -7693 1 1.137 1 228.37631623622352 299.85002106175745 0 0 0 0 -7727 1 1.1346 1 257.1344124029079 295.5683534468057 0 0 0 0 -7736 1 1.1336 1 257.3987782868857 299.6005600155909 0 0 0 0 -5787 1 1.3156 1 230.40619506593825 328.9394736834871 0 0 0 0 -7757 1 1.1317 1 254.5410072018272 283.296921377894 0 0 0 0 -9141 1 1.045 1 227.0782896950969 301.27146939150236 0 0 0 0 -7812 1 1.128 1 236.74097861543896 321.40610743696936 0 0 0 0 -9214 1 1.0412 1 256.6115693699433 292.8528446845624 0 0 0 0 -7850 1 1.1254 1 251.48457158379043 328.68831898828336 0 0 0 0 -7853 1 1.1248 1 225.5840773913264 319.68944750740377 0 0 0 0 -4057 1 1.5736 1 231.37452438252865 329.9509994768271 0 0 -1 0 -7921 1 1.1195 1 229.04962681716663 307.18772267683346 0 0 0 0 -5038 1 1.4154 1 210.9456347176844 325.3676012815973 0 0 -1 0 -8019 1 1.1135 1 258.751611392666 296.3733243184436 0 0 0 0 -8050 1 1.1113 1 225.40433397579818 320.738132973192 0 0 0 0 -8055 1 1.1111 1 260.79710889142797 306.3069005325456 0 0 0 0 -8061 1 1.1103 1 239.30675586965307 289.03511834860404 0 0 0 0 -9948 1 1.0031 1 259.12566140208764 280.2259719750331 0 0 0 0 -8804 1 1.0631 1 255.02866153489097 317.885186091396 0 0 0 0 -8176 1 1.1027 1 229.4370100400141 309.97542798954777 0 0 0 0 -9901 1 1.005 1 258.79085367160627 304.8552091678335 0 0 0 0 -3033 1 1.8171 1 257.3870896552503 287.95899338695153 0 0 0 0 -8226 1 1.0998 1 253.87573794112018 294.93963831764034 0 0 0 0 -8249 1 1.0978 1 233.4105024295601 295.5554559613414 0 0 0 0 -8258 1 1.0973 1 225.24045756431292 312.0988201735471 0 0 0 0 -8272 1 1.0967 1 222.31687092662878 290.3667846872986 0 0 0 0 -4727 1 1.4595 1 213.0811812327826 329.3047252082352 0 0 -1 0 -8796 1 1.0637 1 243.1693096303599 322.9452470196798 0 0 0 0 -8336 1 1.0917 1 243.53906419070745 329.34871098003543 0 0 0 0 -8456 1 1.0841 1 253.03604364090134 294.2538568503932 0 0 0 0 -8457 1 1.084 1 266.2099126691723 305.00512130811506 0 0 0 0 -8466 1 1.0834 1 236.73872937387208 322.51323747470497 0 0 0 0 -9026 1 1.0514 1 249.59682329937527 329.55386727460564 0 0 0 0 -8509 1 1.0803 1 265.4981112307893 290.217918376554 0 0 0 0 -8523 1 1.0797 1 250.5937203094566 291.5186279570133 0 0 0 0 -8538 1 1.0787 1 248.7399173643419 324.3926442736621 0 0 0 0 -1858 1 2.3276 1 260.39735608338424 282.838568429018 0 0 0 0 -9568 1 1.0221 1 260.29144866564144 294.85685487078547 0 0 0 0 -8698 1 1.0698 1 243.69632800615145 325.2005055366435 0 0 0 0 -8730 1 1.0681 1 218.22046692005978 325.5831814653884 0 0 0 0 -8738 1 1.0677 1 214.24450980356582 325.87413364888283 0 0 0 0 -8747 1 1.0671 1 221.07989360083553 320.6606647226034 0 0 0 0 -8773 1 1.0648 1 252.92757572792593 318.07122283600876 0 0 0 0 -616 1 3.9773 1 210.68898249144868 328.02542463190355 0 0 -1 0 -9331 1 1.0345 1 205.6198154166294 330.92306081607944 0 0 -1 0 -3240 1 1.755 1 265.9048712567329 276.82337003261705 0 0 0 0 -363 1 5.2443 1 266.0489641349536 287.1241707738142 0 0 0 0 -2525 1 2.002 1 207.3128293582889 330.6613295520636 0 0 -1 0 -4668 1 1.4694 1 203.91334094875333 281.7283510300581 0 0 0 0 -1336 1 2.7531 1 265.32197901519424 302.18163312489384 0 0 0 0 -8290 1 1.0956 1 264.39005083632225 307.8610099068518 0 0 0 0 -3488 1 1.6961 1 265.67401583084677 308.35116417293233 0 0 0 0 -6852 1 1.2071 1 265.51020048782476 304.1312780608878 0 0 0 0 -8124 1 1.106 1 265.4222413087803 310.81020431114405 0 0 0 0 -9076 1 1.0484 1 266.81191711348174 295.3216344895838 0 0 0 0 -6366 1 1.2555 1 267.2811254731277 276.37910104905444 0 0 0 0 -8635 1 1.0728 1 205.87776082226003 282.84929189431523 0 0 0 0 -5729 1 1.323 1 203.47200812087783 324.9064577089528 0 0 -1 0 -2967 1 1.8431 1 204.48153097019755 283.24722780689495 0 0 0 0 -9013 1 1.0521 1 244.32664442937136 331.80974149688825 0 0 0 0 -45 1 14.7349 1 300.16459871279966 18.1412525224583 0 0 0 0 -48 1 13.4603 1 306.56074093524654 53.78748618705194 0 0 0 0 -7938 1 1.1187 1 279.077973124939 49.46482185653629 0 0 0 0 -94 1 9.6944 1 290.5804728854354 40.44346151720225 0 0 0 0 -6722 1 1.2203 1 278.56931664078064 48.11750963308378 0 0 0 0 -127 1 8.5152 1 315.12880938071226 43.99439933945813 0 0 0 0 -131 1 8.339 1 326.2701130417993 42.09044480066313 0 0 0 0 -160 1 7.4952 1 271.807181920401 38.67830926051161 0 0 0 0 -165 1 7.443 1 326.60427131020566 34.37237672085252 0 0 0 0 -180 1 7.185 1 306.8125424946913 32.674202078575355 0 0 0 0 -190 1 6.9901 1 288.9825733346539 32.50321808342926 0 0 0 0 -198 1 6.9069 1 292.6976517169345 48.2770501446332 0 0 0 0 -8597 1 1.0753 1 305.0751340070286 60.84541674689044 0 0 0 0 -201 1 6.845 1 298.36196977314046 35.24312045843642 0 0 0 0 -202 1 6.8323 1 321.59955195714383 47.965937924564976 0 0 0 0 -206 1 6.7083 1 278.498854105227 40.656991936743836 0 0 0 0 -273 1 5.9825 1 279.4595153763618 31.399970968526056 0 0 0 0 -307 1 5.6898 1 291.3755742518429 58.515407497673 0 0 0 0 -5765 1 1.318 1 302.04688889750145 73.71184624995108 0 0 0 0 -9912 1 1.0045 1 310.98131192467264 73.39077173030539 0 0 0 0 -4930 1 1.4286 1 300.6434811018893 59.86040682691822 0 0 0 0 -438 1 4.6906 1 271.90867135524485 32.66592280396347 0 0 0 0 -441 1 4.676 1 294.3629377862556 30.475615312783066 0 0 0 0 -473 1 4.5374 1 311.9513235009982 38.47192988012934 0 0 0 0 -480 1 4.5092 1 319.40187652124115 54.244550229711855 0 0 0 0 -493 1 4.4156 1 299.7314890896714 44.75341850067259 0 0 0 0 -500 1 4.3646 1 316.81923900308203 26.385617498826075 0 0 0 0 -512 1 4.3188 1 300.0434383771651 40.50117268184578 0 0 0 0 -8968 1 1.0542 1 269.9649267910492 42.52794452810907 0 0 0 0 -539 1 4.2371 1 289.5712970630337 52.73364919497858 0 0 0 0 -579 1 4.1033 1 303.8375892397384 45.57191718728499 0 0 0 0 -603 1 4.0078 1 317.42110472251255 69.07507451472264 0 0 0 0 -604 1 4.0042 1 291.9175721727584 25.543445463296447 0 0 0 0 -609 1 3.9921 1 316.8596235133392 57.56281318623672 0 0 0 0 -408 1 4.903 1 296.6621196658741 62.9319991594119 0 0 0 0 -625 1 3.9418 1 283.1496607197969 38.225861058175155 0 0 0 0 -676 1 3.8336 1 281.7324745905563 27.149084075065197 0 0 0 0 -703 1 3.7783 1 320.13862725318916 29.822319392335082 0 0 0 0 -708 1 3.7653 1 313.8528098934276 30.170498878959165 0 0 0 0 -9854 1 1.0071 1 302.4737834966591 61.776701285069 0 0 0 0 -724 1 3.7442 1 309.3312938203277 45.77184993089487 0 0 0 0 -6411 1 1.2506 1 276.24811415758944 52.52406680421555 0 0 0 0 -742 1 3.6947 1 321.79281776236576 26.601600729748007 0 0 0 0 -5744 1 1.3214 1 330.8839115711362 11.048133682872907 0 0 1 0 -751 1 3.6867 1 317.2057246889213 38.3654209605226 0 0 0 0 -757 1 3.6663 1 315.98911775738577 61.90400325614427 0 0 0 0 -779 1 3.6254 1 286.19333007618235 56.1299095072845 0 0 0 0 -780 1 3.6222 1 285.25896036761577 26.21063152679235 0 0 0 0 -784 1 3.6172 1 282.86628782433183 43.20760938343538 0 0 0 0 -790 1 3.6088 1 328.07569439281735 24.269765099208172 0 0 0 0 -792 1 3.6069 1 304.5150453343413 37.40030358626099 0 0 0 0 -9381 1 1.0319 1 300.5564847072102 57.6742366773031 0 0 0 0 -825 1 3.5267 1 301.7656821618968 31.42095559210926 0 0 0 0 -1767 1 2.3739 1 302.91169142033516 10.09215179627974 0 0 0 0 -890 1 3.3754 1 324.5817864472352 28.705723073421222 0 0 0 0 -923 1 3.3087 1 297.71821922542597 48.7737397296741 0 0 0 0 -953 1 3.2432 1 279.04906544493934 35.84212087354572 0 0 0 0 -9477 1 1.027 1 321.22599605899086 34.614467132573566 0 0 0 0 -9395 1 1.031 1 296.9239449094281 66.84991156619843 0 0 0 0 -990 1 3.1931 1 296.9500882645285 57.783647817197426 0 0 0 0 -8559 1 1.0775 1 315.0912905341423 74.15451564008167 0 0 0 0 -1013 1 3.1579 1 313.5923075711999 49.536130508941135 0 0 0 0 -1019 1 3.1496 1 318.96822514210066 60.3843338920847 0 0 0 0 -7043 1 1.1901 1 313.6771363716266 61.551985862977034 0 0 0 0 -5801 1 1.3145 1 330.3860154037153 45.98438341204444 0 0 0 0 -1038 1 3.1104 1 285.51006172504094 46.714469354394666 0 0 0 0 -1040 1 3.1081 1 297.49599266001184 26.56405731754843 0 0 0 0 -1046 1 3.0941 1 302.41119817565334 28.02193407818605 0 0 0 0 -1053 1 3.0876 1 306.5574859787465 42.05837680213827 0 0 0 0 -1057 1 3.0801 1 311.2386858338354 26.274518726150983 0 0 0 0 -1115 1 2.9963 1 271.552836209376 43.77372699386519 0 0 0 0 -1134 1 2.9747 1 282.9104169280064 34.831190561518994 0 0 0 0 -1152 1 2.9528 1 319.93165001475427 33.10325116737879 0 0 0 0 -6156 1 1.2775 1 308.8816833478358 15.417135453520007 0 0 0 0 -9677 1 1.0168 1 292.6872157845639 20.45398959280422 0 0 0 0 -1249 1 2.8497 1 327.84772603035333 28.08138471623781 0 0 0 0 -1272 1 2.8197 1 322.05308963260677 36.62457380639408 0 0 0 0 -1317 1 2.772 1 317.43604201349024 50.21566825652329 0 0 0 0 -1329 1 2.7568 1 292.5594442023078 22.316357444662827 0 0 0 0 -1344 1 2.7437 1 287.15042390577554 50.28080009197493 0 0 0 0 -1349 1 2.7371 1 309.6753060833914 28.689939382825017 0 0 0 0 -1350 1 2.7359 1 316.9819600856137 29.8146602155962 0 0 0 0 -1372 1 2.7109 1 322.8611147781246 23.689413073855363 0 0 0 0 -7939 1 1.1187 1 311.65892833993695 74.1547846821644 0 0 0 0 -1389 1 2.692 1 315.71549587404155 52.24511559683358 0 0 0 0 -1414 1 2.6672 1 294.6535436131168 52.49776796756211 0 0 0 0 -9882 1 1.0058 1 311.9686237380557 15.71682809535621 0 0 1 0 -1425 1 2.6565 1 317.26444008639345 32.38496344656489 0 0 0 0 -6552 1 1.2374 1 318.6528728321634 20.80861801068714 0 0 1 0 -4293 1 1.5341 1 311.32666004107693 59.47403489617051 0 0 0 0 -1499 1 2.5786 1 289.7463081860295 27.884441960813465 0 0 0 0 -1509 1 2.5695 1 315.0754516346718 33.70017328734685 0 0 0 0 -1526 1 2.5485 1 282.95211578160934 53.57610956103947 0 0 0 0 -1557 1 2.5282 1 328.6489982107086 46.740893558458495 0 0 0 0 -5174 1 1.3919 1 301.32788986068437 61.01875669155011 0 0 0 0 -1581 1 2.5068 1 275.6960300443808 29.549492253144223 0 0 0 0 -1596 1 2.4985 1 290.98427193880974 20.28022735834636 0 0 0 0 -1606 1 2.4865 1 283.96199152492494 23.58050927384185 0 0 0 0 -1617 1 2.4827 1 270.5776578058392 28.643358374893598 0 0 0 0 -1621 1 2.4754 1 288.4586275994327 17.891980279068406 0 0 0 0 -1624 1 2.4719 1 287.2624556910176 22.733839922690684 0 0 0 0 -1135 1 2.9744 1 313.3628290265865 66.45375465409957 0 0 0 0 -1649 1 2.4535 1 322.720525644711 31.469355728289322 0 0 0 0 -1656 1 2.4504 1 275.66621986396046 33.12010233692223 0 0 0 0 -9687 1 1.0163 1 317.1492761196311 16.820449933051524 0 0 1 0 -1694 1 2.4279 1 285.9483305647356 29.048484118070192 0 0 0 0 -1729 1 2.4068 1 321.5939746777265 39.52932877326514 0 0 0 0 -1731 1 2.4054 1 309.4107869059801 42.33998064171028 0 0 0 0 -3702 1 1.646 1 274.4919026160926 48.189555725663816 0 0 0 0 -1782 1 2.3664 1 297.0430286658188 52.12210022243283 0 0 0 0 -1811 1 2.3494 1 300.9420350322462 48.27522012406735 0 0 0 0 -1367 1 2.7187 1 310.91299839295357 65.20066147373166 0 0 0 0 -1842 1 2.3332 1 276.27327557547886 35.42996372270504 0 0 0 0 -1847 1 2.3314 1 269.1469658293771 30.516490623977162 0 0 0 0 -1853 1 2.3293 1 307.26852144392785 28.050589012559488 0 0 0 0 -1854 1 2.3293 1 288.1523551966417 47.98995239484905 0 0 0 0 -1902 1 2.2999 1 275.99934743824906 44.3532167516881 0 0 0 0 -1911 1 2.2931 1 294.9235896022813 26.103177196020948 0 0 0 0 -1935 1 2.2797 1 296.5444200606044 45.856456453131656 0 0 0 0 -5187 1 1.3902 1 293.60730368324175 63.16272254230266 0 0 0 0 -1952 1 2.269 1 278.7416961060365 27.409482628550947 0 0 0 0 -5473 1 1.3535 1 296.2333741662132 65.93216351228533 0 0 0 0 -1976 1 2.2555 1 275.46915510338494 46.53651965176944 0 0 0 0 -969 1 3.2196 1 302.7151064398327 69.59055250347357 0 0 0 0 -6465 1 1.2464 1 289.01292894101465 15.138209169850713 0 0 1 0 -2078 1 2.1951 1 323.89079495987176 51.76963975240977 0 0 0 0 -2087 1 2.1889 1 311.51096603473337 47.830341636759876 0 0 0 0 -2088 1 2.1888 1 304.696756196486 40.25118943529918 0 0 0 0 -2098 1 2.1849 1 315.9824695926086 54.635283466960914 0 0 0 0 -2103 1 2.1834 1 307.88240560138075 37.15405619489604 0 0 0 0 -2111 1 2.1764 1 294.67630747446657 56.45221308913731 0 0 0 0 -5616 1 1.3354 1 315.0188681767877 67.8671170383194 0 0 0 0 -2144 1 2.158 1 299.40026911943494 58.6426805223673 0 0 0 0 -2145 1 2.1579 1 310.21756982178545 35.72841596584198 0 0 0 0 -2150 1 2.1569 1 299.0765160376047 28.551562468533234 0 0 0 0 -2215 1 2.1294 1 291.9951888179541 54.702729431390644 0 0 0 0 -9224 1 1.0407 1 274.83435123579085 52.18194369322803 0 0 0 0 -2264 1 2.1117 1 284.68092194397406 31.342096590323898 0 0 0 0 -6717 1 1.2207 1 310.50784084959355 70.09956655441778 0 0 0 0 -9482 1 1.0269 1 284.3885923465312 36.12593384619048 0 0 0 0 -2285 1 2.1012 1 299.1306486961137 52.11554777981913 0 0 0 0 -2288 1 2.0986 1 319.9764626475709 35.5527765591699 0 0 0 0 -2312 1 2.0838 1 288.93320633753086 45.99490388455643 0 0 0 0 -2356 1 2.0656 1 285.81512418433493 35.68924096490796 0 0 0 0 -2387 1 2.0536 1 321.94665075233553 52.35265131104781 0 0 0 0 -897 1 3.3588 1 270.4393691402819 46.61930267963618 0 0 0 0 -2423 1 2.0395 1 301.81403517458125 37.915117460862646 0 0 0 0 -2429 1 2.0361 1 306.7225193758071 44.60755641590985 0 0 0 0 -9559 1 1.0225 1 290.72542102150175 21.974386167910374 0 0 0 0 -1846 1 2.3319 1 290.2280574588706 16.381869844991403 0 0 1 0 -6092 1 1.284 1 277.3789130771994 53.00371532186326 0 0 0 0 -2499 1 2.0105 1 292.6670437647267 35.00280626876745 0 0 0 0 -6628 1 1.2292 1 328.88200328924034 38.06753985247174 0 0 0 0 -2564 1 1.9839 1 290.07487279391705 23.2713260884672 0 0 0 0 -6660 1 1.2263 1 301.95327817035337 59.49760912623881 0 0 0 0 -2578 1 1.9786 1 273.90698212924593 44.3963920793043 0 0 0 0 -2478 1 2.0175 1 299.6367821981571 61.2232481533395 0 0 0 0 -2604 1 1.966 1 318.15411829697683 23.583965041864065 0 0 0 0 -2612 1 1.9624 1 326.52190709277 47.275843918016776 0 0 0 0 -2643 1 1.9514 1 293.96081271102815 54.566271782858564 0 0 0 0 -6397 1 1.252 1 317.5485121089967 71.66498868379745 0 0 0 0 -2680 1 1.939 1 313.0354011613862 32.866447505709225 0 0 0 0 -2698 1 1.93 1 307.54021671233335 39.80038287767057 0 0 0 0 -2708 1 1.9266 1 314.7891374751066 37.05188978927598 0 0 0 0 -2738 1 1.9152 1 286.66732359777615 20.315061040791978 0 0 0 0 -2774 1 1.9048 1 320.87652103902604 57.04151350897133 0 0 0 0 -2783 1 1.9007 1 325.3792885988083 24.67879214259102 0 0 0 0 -2791 1 1.8967 1 285.48698751872706 52.07533921734724 0 0 0 0 -2811 1 1.891 1 274.7547953028896 42.67352971804216 0 0 0 0 -2821 1 1.8887 1 296.3785670326247 55.370768638806176 0 0 0 0 -2824 1 1.8871 1 330.99392528647763 35.8150871867617 0 0 0 0 -2877 1 1.8685 1 273.1464114409585 47.06559519645998 0 0 0 0 -9615 1 1.0198 1 299.2425579978199 67.91907720783077 0 0 0 0 -2916 1 1.8579 1 306.70518035640555 26.136317350056707 0 0 0 0 -9458 1 1.0279 1 278.5693095879442 45.2239158032717 0 0 0 0 -2960 1 1.8445 1 297.6591072489716 42.44032092138546 0 0 0 0 -2965 1 1.8438 1 287.698896156437 27.255908200604466 0 0 0 0 -3009 1 1.8255 1 302.8790744347703 39.48942302783803 0 0 0 0 -3014 1 1.8225 1 302.9866680811746 41.26914425644086 0 0 0 0 -3017 1 1.8217 1 313.68464031487133 26.128218721175468 0 0 0 0 -3064 1 1.8085 1 299.07699386731105 55.19092429711347 0 0 0 0 -6996 1 1.1947 1 281.64176035730753 54.85979865052627 0 0 0 0 -3143 1 1.7807 1 319.5794310212944 39.622077978471864 0 0 0 0 -3156 1 1.7777 1 299.93857736662704 50.051592369882115 0 0 0 0 -3157 1 1.7774 1 287.82099054683584 25.479375275884788 0 0 0 0 -3172 1 1.773 1 292.0684574475268 17.10323628792916 0 0 0 0 -3181 1 1.7703 1 297.48789796212503 29.69968972417341 0 0 0 0 -3190 1 1.7686 1 286.694017709489 53.524078353516614 0 0 0 0 -3202 1 1.766 1 318.8335689600786 64.1658173309181 0 0 0 0 -3204 1 1.7653 1 326.39034273701867 26.33200031258624 0 0 0 0 -3213 1 1.7623 1 321.49954847690896 43.701828961716934 0 0 0 0 -3232 1 1.7571 1 320.370141189746 20.543077430238863 0 0 0 0 -3247 1 1.7538 1 309.4588420105614 40.30460250000629 0 0 0 0 -3255 1 1.752 1 280.7858259187836 46.95703618499492 0 0 0 0 -3269 1 1.7477 1 291.5387468289983 29.02038375215844 0 0 0 0 -3325 1 1.7338 1 277.341276624009 45.85004180074133 0 0 0 0 -3354 1 1.7269 1 284.9714190686146 40.282848458970165 0 0 0 0 -9892 1 1.0054 1 292.9370646748533 15.084790033480935 0 0 0 0 -3377 1 1.7219 1 285.49708219875976 42.988333742967725 0 0 0 0 -3378 1 1.7214 1 314.86376592812263 59.498405343841675 0 0 0 0 -3399 1 1.7152 1 314.09624046835063 53.64659602816008 0 0 0 0 -3426 1 1.7102 1 320.06766072168335 42.75158944831071 0 0 0 0 -7503 1 1.1521 1 312.1724268735167 58.450998136215205 0 0 0 0 -3464 1 1.7006 1 295.9145688151379 38.65826885793483 0 0 0 0 -3467 1 1.6999 1 283.6431931907055 51.63815398725632 0 0 0 0 -3501 1 1.6935 1 310.9096501602514 31.248013107929406 0 0 0 0 -3513 1 1.691 1 274.5552359692351 27.850289265991513 0 0 0 0 -3537 1 1.6855 1 304.86149617914384 27.592742989132905 0 0 0 0 -3571 1 1.6761 1 280.07018239525587 48.51196970180812 0 0 0 0 -3595 1 1.6722 1 276.1412240496261 27.52715035686484 0 0 0 0 -3623 1 1.667 1 330.6036614356738 22.183510546723845 0 0 0 0 -3625 1 1.6667 1 304.48176951571736 25.03699583028866 0 0 0 0 -3645 1 1.6632 1 308.91681009243354 38.71387101281777 0 0 0 0 -3695 1 1.6491 1 296.824566735457 43.94370902249565 0 0 0 0 -3703 1 1.6458 1 299.60507236642604 56.77904472554365 0 0 0 0 -5053 1 1.4126 1 306.2400561263366 61.144917927990065 0 0 0 0 -529 1 4.2701 1 331.5373832302314 38.78300064167401 0 -1 0 0 -3738 1 1.6416 1 313.4866452793112 35.85028253790442 0 0 0 0 -3767 1 1.637 1 274.7426684167498 31.33881455881818 0 0 0 0 -3775 1 1.6346 1 282.6999079411141 47.48175290019464 0 0 0 0 -7348 1 1.1662 1 297.4799390565659 65.84803418886325 0 0 0 0 -3798 1 1.6293 1 316.92662732375413 34.64697901223804 0 0 0 0 -3800 1 1.6293 1 300.8635102145093 26.26840453479181 0 0 0 0 -3808 1 1.6267 1 311.8187046956505 28.477169900945302 0 0 0 0 -6645 1 1.2276 1 312.5368980774744 61.599107357613796 0 0 0 0 -3843 1 1.6188 1 311.2624786000627 32.838912702081124 0 0 0 0 -3858 1 1.6162 1 288.26131452412955 20.963545102283778 0 0 0 0 -6119 1 1.2814 1 291.9814654126498 15.64639791836613 0 0 1 0 -3913 1 1.605 1 320.5288709281205 41.17398056478385 0 0 0 0 -3926 1 1.6024 1 285.03679004208976 53.74665600822992 0 0 0 0 -3944 1 1.5986 1 273.7261973809058 30.09094493415706 0 0 0 0 -1524 1 2.5509 1 301.11143971001246 62.91235547157526 0 0 0 0 -4007 1 1.5819 1 297.1653474287857 40.84134074401507 0 0 0 0 -4030 1 1.5777 1 299.62425721144393 30.20095632221888 0 0 0 0 -4081 1 1.5694 1 297.3842824058057 39.306300474110856 0 0 0 0 -581 1 4.0916 1 272.192615436689 49.85028869793689 0 0 0 0 -4087 1 1.5687 1 326.6440417542058 29.918148156247515 0 0 0 0 -4102 1 1.5658 1 323.1224564795862 38.402219970154135 0 0 0 0 -3117 1 1.7908 1 307.5697021349339 14.63965622457153 0 0 1 0 -4111 1 1.5643 1 286.1412088911989 44.47141053788477 0 0 0 0 -4120 1 1.5633 1 272.21832932708014 29.664315627367756 0 0 0 0 -4129 1 1.5623 1 292.1168330390163 18.71175544766168 0 0 0 0 -4157 1 1.5566 1 325.02314599501483 50.332920913570604 0 0 0 0 -4160 1 1.5565 1 308.21330535382333 17.319547349969618 0 0 0 0 -4193 1 1.5504 1 314.22188326565424 55.23480835459764 0 0 0 0 -4198 1 1.5498 1 273.228982977767 28.59937777418658 0 0 0 0 -4216 1 1.5471 1 296.00771586897736 41.85387456817251 0 0 0 0 -4223 1 1.5464 1 303.10754999490905 42.89823956632086 0 0 0 0 -4285 1 1.5354 1 295.4123530037747 43.25376555660656 0 0 0 0 -4291 1 1.5346 1 319.62100798114415 37.38113198098457 0 0 0 0 -4330 1 1.5263 1 282.6627026540015 29.560300276052864 0 0 0 0 -4338 1 1.5249 1 284.1254616076835 29.65141935827579 0 0 0 0 -9866 1 1.0065 1 325.0611586163434 26.07488039045698 0 0 0 0 -4393 1 1.5158 1 304.4272158600127 29.083621688537892 0 0 0 0 -4405 1 1.5143 1 296.1425558883414 50.520881194070164 0 0 0 0 -4455 1 1.5052 1 313.7187678950932 51.830881998393686 0 0 0 0 -4462 1 1.5036 1 316.090734887348 35.96263377464493 0 0 0 0 -4546 1 1.4902 1 313.79053017993317 68.56510541941006 0 0 0 0 -4582 1 1.4836 1 288.62341133549666 24.11918226850374 0 0 0 0 -4593 1 1.4816 1 309.86722284050575 24.514987768138518 0 0 0 0 -4635 1 1.4764 1 319.2506260728747 62.628125025925755 0 0 0 0 -4645 1 1.4739 1 313.43283345664133 56.49933932832425 0 0 0 0 -4655 1 1.4723 1 268.96811764464087 33.576557544956245 0 0 0 0 -5603 1 1.3365 1 299.53772555317687 63.979069985396066 0 0 0 0 -4712 1 1.4626 1 285.01583971254627 34.09895273168786 0 0 0 0 -4763 1 1.4543 1 328.0707583921323 30.199177188111413 0 0 0 0 -4775 1 1.4519 1 317.56608256551016 48.20538046554488 0 0 0 0 -4782 1 1.4512 1 287.4833094800635 45.055229999096575 0 0 0 0 -4827 1 1.4452 1 281.3023696507843 36.30844760068291 0 0 0 0 -4889 1 1.4346 1 281.2742396359708 45.150703903369376 0 0 0 0 -4891 1 1.4343 1 297.16988748515865 31.363149408496767 0 0 0 0 -4899 1 1.4326 1 311.9924321332751 35.51978159388365 0 0 0 0 -4919 1 1.4298 1 320.57662514536224 24.43930879278682 0 0 0 0 -344 1 5.3631 1 331.4024256883759 30.41892595778993 0 0 0 0 -5598 1 1.3376 1 305.46559945475684 66.61947329680368 0 0 0 0 -4941 1 1.4271 1 314.27622100299584 27.639635099641296 0 0 0 0 -9003 1 1.0525 1 278.8788010398329 50.519778475258676 0 0 0 0 -4966 1 1.4241 1 318.77215620183716 65.74516649270852 0 0 0 0 -4984 1 1.4224 1 288.65085510319966 56.350773269072064 0 0 0 0 -9679 1 1.0166 1 301.5744056771067 46.73312005334991 0 0 0 0 -4994 1 1.421 1 308.0459872410753 19.674860452992466 0 0 0 0 -5012 1 1.4186 1 283.9285852619679 32.911246087263315 0 0 0 0 -7013 1 1.1928 1 307.5242406279096 63.16359196461875 0 0 0 0 -5077 1 1.4081 1 310.9844853423711 41.2761363390139 0 0 0 0 -9794 1 1.0101 1 305.4997231234692 43.72718777961045 0 0 0 0 -5096 1 1.4048 1 311.33567424089495 29.84790843086349 0 0 0 0 -5112 1 1.4017 1 312.0019374937303 34.13790788500606 0 0 0 0 -9793 1 1.0101 1 321.83373162827615 32.89228231205667 0 0 0 0 -5152 1 1.3959 1 319.23983641452924 24.84319335244487 0 0 0 0 -760 1 3.6552 1 276.71116445516475 49.60819550106024 0 0 0 0 -2315 1 2.0832 1 302.9029206047071 72.23340320076623 0 0 0 0 -6556 1 1.237 1 330.22615244348714 44.7504816544163 0 0 0 0 -5181 1 1.3912 1 314.23171874206724 57.64394299921848 0 0 0 0 -9108 1 1.0468 1 300.7946766740959 70.18564320726895 0 0 0 0 -421 1 4.8073 1 304.64976769432394 63.698692207264195 0 0 0 0 -5225 1 1.386 1 294.2911894196303 35.313932389495335 0 0 0 0 -7867 1 1.1234 1 304.6857975125002 72.01742751367865 0 0 0 0 -5274 1 1.3793 1 318.3381194151012 35.144967463374485 0 0 0 0 -5285 1 1.3776 1 294.488789884563 24.346678985257597 0 0 0 0 -8216 1 1.1004 1 317.7579226261401 17.796604565639342 0 0 0 0 -5313 1 1.3739 1 298.41486691055314 30.924745727867364 0 0 0 0 -9779 1 1.0111 1 269.9779277588944 48.64485885377172 0 0 0 0 -5339 1 1.371 1 329.83480006046045 27.44590985343959 0 0 0 0 -5388 1 1.3654 1 277.2903823959705 28.47304395556772 0 0 0 0 -5398 1 1.3639 1 314.81120206320395 39.08217720647955 0 0 0 0 -5404 1 1.363 1 269.7976434219188 34.76915765657941 0 0 0 0 -5415 1 1.3615 1 303.93703505828654 26.427415982833107 0 0 0 0 -5465 1 1.3549 1 306.7208500331994 38.42719164633798 0 0 0 0 -5497 1 1.3512 1 289.143339613352 19.775324763067662 0 0 0 0 -5501 1 1.3504 1 281.22245521712347 52.768887500215875 0 0 0 0 -5522 1 1.3485 1 308.0754761709428 43.61437461930461 0 0 0 0 -5524 1 1.3484 1 320.5313364982954 58.61871804744094 0 0 0 0 -5531 1 1.3473 1 305.9453279406096 24.793255505915425 0 0 0 0 -4347 1 1.5234 1 298.81386720779994 68.98957425578699 0 0 0 0 -5625 1 1.3343 1 323.9521541967056 25.35817279442209 0 0 0 0 -8441 1 1.0851 1 322.80838212377233 21.847666049892304 0 0 1 0 -5663 1 1.3309 1 293.8509099305376 27.52767014150696 0 0 0 0 -5668 1 1.3305 1 297.69840437583036 54.473817391647415 0 0 0 0 -5678 1 1.3292 1 293.1122059891298 61.54233888714848 0 0 0 0 -5691 1 1.3269 1 325.91389042172966 23.18956356762203 0 0 0 0 -5696 1 1.3263 1 318.4189657714246 22.011622336910317 0 0 0 0 -5786 1 1.3157 1 319.34467726731657 58.23929497472503 0 0 0 0 -5796 1 1.3149 1 280.0089657221866 45.64591310262984 0 0 0 0 -2017 1 2.2296 1 307.5661717274513 22.202043780396693 0 0 0 0 -5803 1 1.3144 1 295.56842596085204 27.753568075878114 0 0 0 0 -5809 1 1.3137 1 285.7945551744153 21.57553010055844 0 0 0 0 -5853 1 1.3095 1 272.7422401699853 45.54845255713963 0 0 0 0 -5861 1 1.3092 1 312.95540821530403 27.594847043151784 0 0 0 0 -9507 1 1.0255 1 294.9110056297325 33.33921745106638 0 0 0 0 -5879 1 1.3073 1 292.6651852699586 28.04885380251977 0 0 0 0 -5882 1 1.3065 1 283.0639322716096 31.773729837262653 0 0 0 0 -5906 1 1.3044 1 313.30216348503836 34.43227548956641 0 0 0 0 -3902 1 1.6068 1 300.334461651623 69.01145944062006 0 0 0 0 -5925 1 1.3021 1 279.5746053799773 25.891800085113694 0 0 0 0 -5939 1 1.301 1 308.5655966977129 24.663951304118328 0 0 0 0 -5954 1 1.2993 1 296.56430728489676 53.827802283339366 0 0 0 0 -5958 1 1.2991 1 324.6642331424673 22.942210561535454 0 0 0 0 -5988 1 1.2961 1 282.06209609385735 46.224935862270954 0 0 0 0 -6004 1 1.2941 1 275.9176150491614 37.20578408251606 0 0 0 0 -6028 1 1.2918 1 318.59768149383905 36.41265352646167 0 0 0 0 -6045 1 1.2898 1 283.7612912162289 55.94114323899652 0 0 0 0 -6049 1 1.289 1 281.5120317106651 48.274896716737615 0 0 0 0 -6843 1 1.2083 1 321.7204268468882 21.020081467274192 0 0 0 0 -6057 1 1.288 1 304.3774361353019 41.933313606017734 0 0 0 0 -4350 1 1.5228 1 330.9439879032015 43.60021202289971 0 0 0 0 -6064 1 1.2871 1 295.2836087483732 44.63749062285431 0 0 0 0 -5265 1 1.3805 1 311.3422742499174 67.17002436476982 0 0 0 0 -6067 1 1.2867 1 288.3170078244767 55.07925573587251 0 0 0 0 -6137 1 1.2799 1 290.8977133334421 18.034584334347226 0 0 0 0 -8030 1 1.1128 1 330.7782176789382 33.5694637400203 0 0 0 0 -6176 1 1.2748 1 277.05553915552156 47.25450731466408 0 0 0 0 -6178 1 1.2746 1 309.1454440182655 26.788136120194324 0 0 0 0 -6179 1 1.2746 1 301.71821076391325 42.73005101305845 0 0 0 0 -6194 1 1.2723 1 296.5800639284025 28.52210808190446 0 0 0 0 -6247 1 1.2655 1 296.00314761291503 40.114161234469826 0 0 0 0 -6249 1 1.2653 1 283.6023034097931 49.15395695204295 0 0 0 0 -6269 1 1.2632 1 282.4610163578938 40.77648468559899 0 0 0 0 -6278 1 1.2623 1 280.58282335916573 44.022382864484385 0 0 0 0 -6283 1 1.262 1 321.4881544246631 42.20730941169932 0 0 0 0 -6314 1 1.2598 1 277.74823292448156 44.47880005417653 0 0 0 0 -6321 1 1.2591 1 300.6769179667516 29.291380611651075 0 0 0 0 -6348 1 1.2572 1 284.00051110141516 28.282842971141037 0 0 0 0 -6374 1 1.2548 1 279.43690937688774 44.50910662253457 0 0 0 0 -6380 1 1.2537 1 307.32221582099737 24.756786536818513 0 0 0 0 -6384 1 1.2529 1 326.6671761822818 48.85380853412613 0 0 0 0 -6393 1 1.2521 1 277.13936781891863 36.9612246000494 0 0 0 0 -6396 1 1.252 1 299.25045781652653 53.735450419130444 0 0 0 0 -8114 1 1.1067 1 277.22574332936284 51.87398339617108 0 0 0 0 -6403 1 1.2515 1 279.36644690601906 47.244381335102496 0 0 0 0 -1623 1 2.4741 1 308.0037431739651 12.605316547599273 0 0 1 0 -6436 1 1.2484 1 317.6250082930552 52.12226585185989 0 0 0 0 -6541 1 1.2382 1 285.8133218181239 23.876058074934036 0 0 0 0 -9599 1 1.0207 1 275.65052576312064 51.622075966691845 0 0 0 0 -9454 1 1.028 1 274.6343438590362 35.573389975870434 0 0 0 0 -1321 1 2.7659 1 316.07924303004444 66.00532283866853 0 0 0 0 -6567 1 1.2359 1 322.5829345975852 54.28130664583351 0 0 0 0 -9806 1 1.0096 1 269.7852867736489 44.574627994176616 0 0 0 0 -2043 1 2.2164 1 313.0407815631336 60.015858970414115 0 0 0 0 -1607 1 2.4862 1 320.13070867715845 22.61637368563343 0 0 1 0 -6666 1 1.2253 1 317.7034396999898 65.01830950108547 0 0 0 0 -5173 1 1.392 1 301.07450483962384 10.160733987436613 0 0 0 0 -6673 1 1.2248 1 296.80197643653395 59.931997231634234 0 0 0 0 -6676 1 1.2244 1 310.719945738011 34.13885025512667 0 0 0 0 -3477 1 1.6984 1 298.21490643053335 60.072115076472016 0 0 0 0 -6685 1 1.2237 1 305.21172669836375 26.227855571902886 0 0 0 0 -6686 1 1.2236 1 308.64020065520674 18.562436999233235 0 0 0 0 -6705 1 1.2217 1 292.75185731180284 53.17608181922041 0 0 0 0 -6743 1 1.2188 1 306.77550623382996 23.68843979541107 0 0 0 0 -6749 1 1.2184 1 289.9729258634579 18.805579100353842 0 0 0 0 -6752 1 1.2179 1 288.9547455947284 22.19677399893769 0 0 0 0 -6757 1 1.2177 1 268.92694540505994 27.952784029010946 0 0 0 0 -9316 1 1.0353 1 312.73957627979263 57.52363302144607 0 0 0 0 -9865 1 1.0066 1 287.5736877438014 58.40634481760623 0 0 0 0 -7493 1 1.1529 1 282.68150088783005 55.39304930261743 0 0 0 0 -6856 1 1.207 1 268.85897980612293 32.25185474793634 0 0 0 0 -6868 1 1.2049 1 319.1782818711666 41.37140625773336 0 0 0 0 -6875 1 1.2044 1 314.83787628739753 35.521432110774825 0 0 0 0 -6880 1 1.2041 1 302.3596327222328 34.637762514874545 0 0 0 0 -6913 1 1.201 1 319.36649545113323 57.036274863456754 0 0 0 0 -6489 1 1.2444 1 301.08937475801 58.64313796754393 0 0 0 0 -6921 1 1.2003 1 317.40955826868344 35.97004510157747 0 0 0 0 -6925 1 1.1998 1 283.03792172259847 25.08653071953459 0 0 0 0 -8136 1 1.1053 1 289.95290513759136 11.15506374635909 0 0 1 0 -6932 1 1.1996 1 318.40404606311364 40.4687885420149 0 0 0 0 -9442 1 1.0287 1 268.6575785461787 35.85923091716785 0 0 0 0 -113 1 9.2643 1 313.41259803931104 20.593213620740165 0 0 1 0 -962 1 3.228 1 281.4857423247249 50.50793100999986 0 0 0 0 -4280 1 1.5361 1 280.5286863778625 54.09976895636466 0 0 0 0 -7083 1 1.1874 1 293.9103405847425 13.267796842500683 0 0 0 0 -4700 1 1.4648 1 310.7839472660542 15.634064554385192 0 0 1 0 -5553 1 1.344 1 310.1618108660088 14.40956699916143 0 0 1 0 -7145 1 1.1828 1 283.942939329572 45.31121594351887 0 0 0 0 -7167 1 1.1806 1 319.5335857003369 51.40140030967326 0 0 0 0 -7168 1 1.1806 1 295.02003727176054 37.381893507483916 0 0 0 0 -7185 1 1.1794 1 299.76773140856255 27.09445113472504 0 0 0 0 -7186 1 1.1794 1 327.683166065246 48.26662052245088 0 0 0 0 -7235 1 1.1754 1 284.2288484043211 54.84324306337428 0 0 0 0 -7285 1 1.1722 1 315.69603533406007 49.381665016818246 0 0 0 0 -7313 1 1.1692 1 285.6996968119161 38.05899737033029 0 0 0 0 -7323 1 1.1686 1 295.43023182701955 54.22411622589585 0 0 0 0 -7382 1 1.1628 1 303.1501671722187 25.480241922392242 0 0 0 0 -7393 1 1.1618 1 321.86317569648986 55.68899841347143 0 0 0 0 -9717 1 1.0143 1 310.5067940840973 71.14630075223883 0 0 0 0 -7416 1 1.1599 1 285.51237307367575 22.746102373545835 0 0 0 0 -7419 1 1.1596 1 289.0904412062189 50.07867738240098 0 0 0 0 -7420 1 1.1596 1 318.0425973840884 63.00087264983776 0 0 0 0 -7424 1 1.1594 1 322.3168636224869 34.6816654617022 0 0 0 0 -1442 1 2.6318 1 305.1428578778208 11.101844419043474 0 0 0 0 -7435 1 1.1583 1 299.4888266052648 31.49876598250329 0 0 0 0 -1844 1 2.332 1 309.6445593050418 72.4939776338619 0 0 0 0 -1978 1 2.2549 1 295.1184084307499 59.71458782405038 0 0 0 0 -7477 1 1.1545 1 284.81237160889697 44.55515723496916 0 0 0 0 -6861 1 1.2066 1 307.830427044597 16.055913748885118 0 0 1 0 -7480 1 1.1543 1 304.63932868191876 43.094188108689295 0 0 0 0 -5685 1 1.3282 1 269.2598704860683 50.63926694584504 0 0 0 0 -8502 1 1.0808 1 268.33424732784175 47.275796637139955 0 0 0 0 -4963 1 1.4246 1 308.3634824896533 71.16871127632183 0 0 0 0 -9504 1 1.0257 1 322.3191876760404 28.829763573601248 0 0 0 0 -7563 1 1.1468 1 325.5413071146561 48.47678445711268 0 0 0 0 -7585 1 1.1451 1 283.449177392797 46.35287942845895 0 0 0 0 -7586 1 1.145 1 305.6889342923534 28.699019461641925 0 0 0 0 -7600 1 1.1439 1 284.6992504751632 21.985986378662897 0 0 0 0 -7611 1 1.1433 1 289.5628183715817 21.264186623455945 0 0 0 0 -7615 1 1.1432 1 294.09806747118904 44.529182899313454 0 0 0 0 -7621 1 1.1428 1 289.08507475566444 26.17254178171556 0 0 0 0 -7629 1 1.1426 1 318.1276017699067 33.98727717603559 0 0 0 0 -9916 1 1.0045 1 323.2351979792352 53.24340226627545 0 0 0 0 -7636 1 1.1415 1 321.79626687679706 22.143269238144555 0 0 0 0 -7646 1 1.1405 1 297.797338100257 55.828127933656226 0 0 0 0 -7652 1 1.1401 1 299.4518214328588 47.46693982079446 0 0 0 0 -7663 1 1.1391 1 294.09945585069187 34.063508987670275 0 0 0 0 -7673 1 1.1384 1 319.49715367038795 26.067545129934782 0 0 0 0 -3445 1 1.7051 1 309.6456292830124 16.668026308810298 0 0 0 0 -7687 1 1.1373 1 282.6551235178344 32.865640729448344 0 0 0 0 -7714 1 1.1354 1 268.6008491277402 34.81562692738568 0 0 0 0 -7716 1 1.1353 1 317.0835179703209 64.02770572575533 0 0 0 0 -7742 1 1.1333 1 313.2998515844595 58.41747559678503 0 0 0 0 -7747 1 1.1331 1 273.28204190400066 42.71641882966924 0 0 0 0 -7765 1 1.1312 1 273.7725294519408 34.8715247526872 0 0 0 0 -7795 1 1.1291 1 303.59613658521306 30.056983065364594 0 0 0 0 -7808 1 1.1282 1 278.20994433625606 47.00228561676127 0 0 0 0 -7821 1 1.1274 1 287.3058417460976 36.177479227547586 0 0 0 0 -9345 1 1.0338 1 314.5802490823524 64.88339408107267 0 0 0 0 -9048 1 1.0501 1 307.2292132289899 70.77869882602201 0 0 0 0 -1302 1 2.7923 1 279.2223677806853 52.398388403346324 0 0 0 0 -9370 1 1.0325 1 309.5851639397698 13.318531384303949 0 0 1 0 -7878 1 1.123 1 299.52000041078156 26.0045769582727 0 0 0 0 -7909 1 1.1203 1 298.6609076089637 50.674126000259164 0 0 0 0 -7926 1 1.1194 1 296.14400075851535 24.944916060391765 0 0 0 0 -7489 1 1.1531 1 307.13066799374695 62.08369861869007 0 0 0 0 -9996 1 1.0002 1 282.5733551394748 48.746107317302744 0 0 0 0 -7944 1 1.1185 1 325.2329415060752 46.62713529670983 0 0 0 0 -7968 1 1.1166 1 282.29107056486566 24.196701019774423 0 0 0 0 -7979 1 1.1159 1 286.57390273259466 48.477599572498455 0 0 0 0 -7677 1 1.1383 1 297.8255387531168 10.548936560244046 0 0 0 0 -8020 1 1.1135 1 324.1528079736263 26.54179374307692 0 0 0 0 -9855 1 1.007 1 294.18013960641633 23.2217686611424 0 0 0 0 -8052 1 1.1112 1 315.3939995003227 64.20109738604094 0 0 0 0 -9675 1 1.0169 1 292.63986419158454 62.542736707551526 0 0 0 0 -8073 1 1.1094 1 286.8249050613492 24.45442957168857 0 0 0 0 -8079 1 1.1086 1 290.48748776332917 55.24074175455074 0 0 0 0 -524 1 4.285 1 309.9129298105109 61.947901867358084 0 0 0 0 -8092 1 1.1079 1 324.26871253802534 37.85720952087797 0 0 0 0 -8097 1 1.1075 1 284.3486551996518 41.48247868236766 0 0 0 0 -8146 1 1.1048 1 322.6393963569662 29.772120222940558 0 0 0 0 -8152 1 1.1046 1 283.6196659912774 40.68686130655472 0 0 0 0 -8179 1 1.1025 1 286.97513418767096 52.15568766859903 0 0 0 0 -8205 1 1.1012 1 278.9434612260547 46.182185604604065 0 0 0 0 -5256 1 1.3813 1 303.9072670197094 60.70083518697041 0 0 0 0 -8213 1 1.1005 1 289.4169410532688 25.115857023319265 0 0 0 0 -687 1 3.8145 1 290.84007309661126 13.430519320652536 0 0 1 0 -8219 1 1.1003 1 318.8448327242807 66.99507626665559 0 0 0 0 -6837 1 1.2085 1 306.18396270159474 12.651777215715835 0 0 0 0 -4862 1 1.4396 1 306.47872242806176 72.11768383656609 0 0 0 0 -8291 1 1.0956 1 281.36823630161325 24.771425190020672 0 0 0 0 -8311 1 1.0938 1 309.2548000211234 25.630364072893517 0 0 0 0 -8340 1 1.0911 1 287.09741794293404 18.936801867507352 0 0 0 0 -8353 1 1.0904 1 291.9344029103898 61.81006296564701 0 0 0 0 -8355 1 1.0904 1 277.2518945931007 26.8099945576102 0 0 0 0 -8357 1 1.0904 1 293.1841187883422 14.098852546894454 0 0 0 0 -8366 1 1.0894 1 285.69535759187323 49.03973380146937 0 0 0 0 -8387 1 1.0881 1 288.1337767856303 57.521048563171576 0 0 0 0 -8414 1 1.0867 1 302.3570729971319 36.20805266457034 0 0 0 0 -8422 1 1.0862 1 317.8688788451838 66.58053136353116 0 0 0 0 -8430 1 1.086 1 283.28651584332073 30.6399408891572 0 0 0 0 -9974 1 1.0018 1 287.4657333618042 46.27326038761213 0 0 0 0 -8471 1 1.083 1 287.9587908323563 19.591717382552563 0 0 0 0 -7036 1 1.1905 1 308.99331154701827 23.395866975829403 0 0 0 0 -8546 1 1.0784 1 284.68623188250785 48.71780429733186 0 0 0 0 -4873 1 1.4375 1 274.62739913073653 50.996458607692134 0 0 0 0 -9513 1 1.0252 1 316.40703611321203 48.57649329277011 0 0 0 0 -8562 1 1.0772 1 283.9006336211337 48.025960677424116 0 0 0 0 -8576 1 1.0767 1 306.0917733407843 39.449065516826536 0 0 0 0 -8579 1 1.0765 1 309.4908280823907 37.16113655159586 0 0 0 0 -8593 1 1.0756 1 314.6556174986449 56.44773762052422 0 0 0 0 -8596 1 1.0754 1 293.2011758220004 55.773012954314055 0 0 0 0 -8677 1 1.0712 1 294.2798948408037 36.53774438035914 0 0 0 0 -4383 1 1.5173 1 331.16189204369175 41.63959355439747 0 -1 0 0 -8703 1 1.0697 1 315.47347365687943 31.936866616290416 0 0 0 0 -8705 1 1.0696 1 298.17120745530076 53.38296722379274 0 0 0 0 -8750 1 1.067 1 319.9814471794174 44.31999509216591 0 0 0 0 -8763 1 1.0655 1 274.8040298974358 34.583476969817255 0 0 0 0 -8764 1 1.0654 1 302.1027839003705 25.795210376719957 0 0 0 0 -8772 1 1.0648 1 308.31195063790585 20.822752932678444 0 0 0 0 -5299 1 1.3759 1 308.9309299263145 64.85528863556691 0 0 0 0 -8818 1 1.0622 1 280.87777309997915 34.67416304736644 0 0 0 0 -8821 1 1.0619 1 305.6855423444374 23.67604414881976 0 0 0 0 -8840 1 1.0608 1 297.9218879589071 46.68800094742824 0 0 0 0 -8844 1 1.0606 1 289.43321345503057 55.3986617542306 0 0 0 0 -8897 1 1.0575 1 307.894942180551 23.761278286029672 0 0 0 0 -8900 1 1.0574 1 277.2596512289865 34.09852708602692 0 0 0 0 -8913 1 1.0569 1 287.948870598912 28.64999154780332 0 0 0 0 -8942 1 1.0555 1 302.5393212787043 47.768944263655946 0 0 0 0 -8959 1 1.0549 1 320.73154186057315 38.035507211495116 0 0 0 0 -8978 1 1.0538 1 285.37836099822255 41.621430266125664 0 0 0 0 -9000 1 1.0526 1 273.96590092090634 45.88527250230071 0 0 0 0 -6542 1 1.2382 1 314.9200701230951 69.15553035471808 0 0 0 0 -9027 1 1.0513 1 292.980762727453 33.47095707068937 0 0 0 0 -5367 1 1.3678 1 302.59351153643127 60.6013822640197 0 0 0 0 -9933 1 1.0038 1 308.0477353121229 26.626263992888898 0 0 0 0 -9066 1 1.049 1 280.75901235133296 37.461288863022624 0 0 0 0 -5863 1 1.3091 1 331.45728632975977 45.245510364803124 0 0 0 0 -9112 1 1.0468 1 326.159282809559 49.826981562661736 0 0 0 0 -9139 1 1.0451 1 310.40893249755766 43.684112608586915 0 0 0 0 -9144 1 1.0449 1 312.10400195613386 31.77362551401445 0 0 0 0 -9164 1 1.0439 1 293.8971261683346 60.73217928394699 0 0 0 0 -9172 1 1.0432 1 308.3114315122881 41.04140964956254 0 0 0 0 -9179 1 1.043 1 286.3373443105565 37.15438509152622 0 0 0 0 -9188 1 1.0426 1 272.15840063396263 27.909926654578264 0 0 0 0 -9202 1 1.0418 1 319.4093049846259 27.501096197410707 0 0 0 0 -9288 1 1.0373 1 322.47216172665094 33.62286220637535 0 0 0 0 -9336 1 1.0343 1 282.8651686273056 45.46720109867355 0 0 0 0 -1484 1 2.5925 1 319.2548373037602 16.74117244689361 0 0 1 0 -9368 1 1.0325 1 308.0354918788902 25.646537154812563 0 0 0 0 -9715 1 1.0144 1 303.36082735040515 35.262216526235676 0 0 0 0 -2434 1 2.0331 1 284.7945943133103 50.25671696553644 0 0 0 0 -1155 1 2.9488 1 313.15478968017715 63.53660915393749 0 0 0 0 -6966 1 1.197 1 307.4526973210098 60.9875225689539 0 0 0 0 -5784 1 1.3157 1 300.14889705035995 71.00747847092585 0 0 0 0 -1766 1 2.3742 1 318.9901788138663 19.09251976845677 0 0 1 0 -9043 1 1.0501 1 306.60745241026126 13.652202716808063 0 0 1 0 -4935 1 1.4278 1 307.49609099821146 64.88597717232722 0 0 0 0 -60 1 12.3738 1 326.6449339796142 16.42773142542728 0 0 0 0 -3762 1 1.6376 1 268.68103224438374 48.56711605962377 0 0 0 0 -9864 1 1.0066 1 308.2270161447188 63.948723295769305 0 0 0 0 -5901 1 1.3046 1 304.1507175535472 66.66507782000534 0 0 0 0 -8547 1 1.0783 1 312.1567055626534 68.02376081335078 0 0 0 0 -388 1 5.007 1 308.30873669111713 67.95951233716428 0 0 0 0 -8201 1 1.1014 1 298.59995448910394 65.26734323369391 0 0 0 0 -532 1 4.2494 1 301.09246815656746 66.24835219757625 0 0 0 0 -7925 1 1.1194 1 303.39743075984836 67.56928112468792 0 0 0 0 -8925 1 1.0563 1 298.4559909184955 66.35230135905555 0 0 0 0 -3969 1 1.592 1 311.3864516564477 69.07373025942374 0 0 0 0 -9553 1 1.0231 1 312.63875300726494 68.90255366630888 0 0 0 0 -7294 1 1.1712 1 269.6082283081722 49.568327067570124 0 0 0 0 -3545 1 1.6833 1 297.9784115738569 67.62923340809706 0 0 0 0 -2394 1 2.0502 1 304.8501967979167 68.16438471932818 0 0 0 0 -7426 1 1.1593 1 315.9554562361423 73.24093106728544 0 0 0 0 -5159 1 1.3939 1 318.8115865095484 71.37409248902388 0 0 0 0 -7111 1 1.1849 1 316.37714919517987 71.43733690015033 0 0 0 0 -6647 1 1.2271 1 308.9395679178388 14.188031062392536 0 0 1 0 -4460 1 1.5038 1 268.02336960610774 49.98644706339165 0 0 0 0 -8810 1 1.0627 1 299.48446701203306 70.05887407976861 0 0 0 0 -1464 1 2.6072 1 305.48635210246897 70.37392164228747 0 0 0 0 -8209 1 1.1009 1 316.7869987656425 72.52212669218264 0 0 0 0 -8198 1 1.1017 1 309.5427567333659 70.7443881962704 0 0 0 0 -1450 1 2.6203 1 318.4561215526838 73.33730347970562 0 0 0 0 -404 1 4.9239 1 313.36864441323615 71.7303912522234 0 0 0 0 -9593 1 1.0212 1 303.98422887171887 71.23959928206247 0 0 0 0 -5475 1 1.3533 1 307.8146069111916 72.47530778182323 0 0 0 0 -3586 1 1.6739 1 301.13517978192107 72.0552595100432 0 0 0 0 -6662 1 1.2259 1 308.60982502255683 10.942128054453669 0 0 1 0 -3243 1 1.7546 1 308.3028555581986 73.94769828344208 0 0 0 0 -6671 1 1.2249 1 331.5439296816821 34.41380043077774 0 0 0 0 -2917 1 1.8579 1 323.48115622904953 10.092971720981923 0 0 1 0 -6523 1 1.2408 1 290.0878871697654 10.005628624073545 0 0 1 0 -9826 1 1.0087 1 324.8922400548197 9.974943543481388 0 0 1 0 -3700 1 1.6461 1 329.81407315446506 10.019484704013749 0 0 1 0 -4545 1 1.4903 1 321.5283352644186 138.00109756020046 0 0 0 0 -82 1 10.1256 1 312.51664920160414 84.4484003752569 0 0 0 0 -117 1 9.1039 1 317.53171149598796 115.61582669785275 0 0 0 0 -132 1 8.3304 1 312.8568944984598 126.43722390369962 0 0 0 0 -135 1 8.1095 1 314.9499547603624 94.61171378822131 0 0 0 0 -217 1 6.5363 1 327.6523816021951 121.67409265216561 0 0 0 0 -241 1 6.2782 1 317.8180214572622 101.13875953933076 0 0 0 0 -289 1 5.8251 1 323.81007424362167 111.7422127115465 0 0 0 0 -3458 1 1.701 1 319.03732681568204 135.01253531489579 0 0 0 0 -349 1 5.3534 1 305.04537455973394 75.18233474979527 0 0 0 0 -370 1 5.1401 1 310.4003733945588 120.32491461489221 0 0 0 0 -41 1 15.4992 1 329.77701677300956 132.40756936029499 0 0 0 0 -400 1 4.9357 1 319.33862095279324 89.97793641863622 0 0 0 0 -3776 1 1.6346 1 314.96201111831743 132.70766142197408 0 0 0 0 -9786 1 1.0107 1 314.44417909302206 133.8751087299022 0 0 0 0 -424 1 4.7977 1 304.5916941657036 125.3963420390489 0 0 0 0 -436 1 4.6998 1 325.67565280688467 116.54583893376886 0 0 0 0 -461 1 4.622 1 315.53569936531125 107.21753648046251 0 0 0 0 -482 1 4.5035 1 320.1920838286403 122.06226380460664 0 0 0 0 -6281 1 1.262 1 324.73574565510654 85.37154935070845 0 -1 0 0 -510 1 4.3236 1 306.57411934904223 117.8605215229904 0 0 0 0 -805 1 3.5783 1 317.446849239795 132.40495499067902 0 0 0 0 -9803 1 1.0098 1 317.94495004371606 108.61683866259096 0 0 0 0 -558 1 4.1793 1 306.7528748353563 80.42361669672789 0 0 0 0 -593 1 4.0396 1 318.8457431264899 127.36291712844415 0 0 0 0 -611 1 3.9852 1 329.16058715244515 110.71688424182621 0 0 0 0 -615 1 3.9789 1 322.32909145960156 125.65231823469445 0 0 0 0 -638 1 3.9176 1 323.089118419198 97.14111609416877 0 0 0 0 -679 1 3.827 1 328.8454912204225 106.90954300460824 0 0 0 0 -715 1 3.7568 1 322.6374572442605 102.20253684334048 0 0 0 0 -725 1 3.7356 1 319.3047817077082 84.68784860511384 0 0 0 0 -893 1 3.3679 1 318.09887132246877 80.95365725979586 0 0 0 0 -9577 1 1.0217 1 305.31338097951317 78.31816217678646 0 0 0 0 -959 1 3.2367 1 314.4098748557691 78.06360555091383 0 0 0 0 -4375 1 1.519 1 301.80650521533 129.21435627131456 0 0 0 0 -9445 1 1.0286 1 316.98647352963906 124.27868522247417 0 0 0 0 -996 1 3.1804 1 320.9393890593919 108.3411001697705 0 0 0 0 -1002 1 3.1757 1 309.2355340092234 106.56400583890206 0 0 0 0 -1015 1 3.155 1 309.6692793843651 96.24355504519977 0 0 0 0 -9380 1 1.032 1 324.48440564674684 103.64152172026584 0 0 0 0 -6918 1 1.2005 1 322.59681093081855 128.1955443134758 0 0 0 0 -4834 1 1.4446 1 327.474362888265 91.90269267543579 0 -1 0 0 -4145 1 1.5594 1 312.1730172808081 75.31673117285754 0 0 0 0 -9810 1 1.0095 1 323.4666909511958 99.54355723383196 0 0 0 0 -1209 1 2.8982 1 323.51946645459293 93.55751152790953 0 0 0 0 -1239 1 2.8622 1 309.61024183591735 99.84094892038502 0 0 0 0 -1290 1 2.8027 1 325.69075930257725 106.12597335023395 0 0 0 0 -4062 1 1.5728 1 312.20118463748935 138.32638504714245 0 0 0 0 -1361 1 2.7278 1 305.6279186674814 121.60379394598297 0 0 0 0 -6052 1 1.2886 1 316.4070008314525 76.66455957827229 0 0 0 0 -9351 1 1.0335 1 321.3868350820668 104.23966621535425 0 0 0 0 -1402 1 2.6809 1 329.24165265929685 115.63759862522878 0 0 0 0 -1433 1 2.6446 1 311.99157392921853 110.75322348879801 0 0 0 0 -1446 1 2.6269 1 314.3593435590697 103.82338256079092 0 0 0 0 -3182 1 1.7702 1 330.05181404191376 90.7821673126547 0 -1 0 0 -1477 1 2.5971 1 311.2033857316367 77.10125594722044 0 0 0 0 -1522 1 2.5527 1 308.60293685240686 77.66846864721522 0 0 0 0 -2511 1 2.0067 1 292.4407539499373 136.18733581300856 0 0 0 0 -7321 1 1.1687 1 326.58375089692277 92.80383034722524 0 -1 0 0 -1569 1 2.5189 1 331.03220759749985 113.75268808242112 0 0 0 0 -1603 1 2.4931 1 323.6388723246932 107.68562495980349 0 0 0 0 -1622 1 2.4747 1 321.00124819726295 93.19173303192152 0 0 0 0 -5231 1 1.385 1 331.580838144281 107.67039036836206 0 0 0 0 -1692 1 2.4289 1 309.25120264321777 109.60471182085027 0 0 0 0 -1741 1 2.3907 1 318.4268489715872 105.3559857890393 0 0 0 0 -1750 1 2.3849 1 311.2615318146119 108.3975636139071 0 0 0 0 -1772 1 2.3718 1 317.1485572577382 78.30449729022948 0 0 0 0 -1793 1 2.3606 1 306.37237074439446 129.3745506681449 0 0 0 0 -8011 1 1.1139 1 331.68679495731504 110.92227653439424 0 0 0 0 -1897 1 2.3023 1 309.01190601185436 93.47054740534205 0 0 0 0 -1908 1 2.2951 1 312.1795509381681 113.4656582576535 0 0 0 0 -1910 1 2.2934 1 325.5946411919923 102.52531234904228 0 0 0 0 -2030 1 2.2225 1 310.1227100157063 74.70878981905437 0 0 0 0 -6277 1 1.2623 1 309.02272425632043 131.7929166010447 0 0 0 0 -2050 1 2.2107 1 309.5845487854056 102.32951478151202 0 0 0 0 -9502 1 1.0259 1 328.20649797543706 88.91215321068111 0 -1 0 0 -4818 1 1.4461 1 293.59710728164316 134.87487652121462 0 0 0 0 -9939 1 1.0033 1 317.7840314011518 134.63515636232387 0 0 0 0 -2130 1 2.1644 1 311.4031761362542 98.2173532487166 0 0 0 0 -2138 1 2.1603 1 317.0512973077265 121.16674715139837 0 0 0 0 -2148 1 2.1575 1 319.12447348131224 110.2452023290978 0 0 0 0 -2164 1 2.1503 1 314.30536141844567 110.36705247124112 0 0 0 0 -2201 1 2.1368 1 315.78769033336675 89.60541695981776 0 0 0 0 -2242 1 2.1191 1 313.8487630672764 121.32112719961778 0 0 0 0 -2248 1 2.1182 1 311.87315058904346 100.76565728749435 0 0 0 0 -2261 1 2.1135 1 308.31608372001136 88.85642636170931 0 0 0 0 -2272 1 2.1054 1 323.2892287504354 118.86091000467754 0 0 0 0 -2276 1 2.1045 1 307.23778768193387 123.29498850672923 0 0 0 0 -9022 1 1.0516 1 321.23135503040834 105.26223785154276 0 0 0 0 -3209 1 1.7638 1 314.8012698072999 131.05587324043472 0 0 0 0 -2383 1 2.0547 1 310.82336965442 116.80808428436809 0 0 0 0 -3728 1 1.6431 1 311.4492997441669 135.85161526443557 0 0 0 0 -1079 1 3.0432 1 299.55404932581075 129.08777655176453 0 0 0 0 -743 1 3.6943 1 319.0329131761758 137.746496082216 0 0 0 0 -2115 1 2.1728 1 303.576166458024 128.73700911264655 0 0 0 0 -3528 1 1.6875 1 316.2290706822891 130.10714279623846 0 0 0 0 -2523 1 2.0031 1 301.98887089715123 127.49601880314636 0 0 0 0 -2567 1 1.9836 1 306.8408244914701 113.9968788368093 0 0 0 0 -2588 1 1.9756 1 310.56807242058375 114.8564575720188 0 0 0 0 -9257 1 1.0391 1 306.0075284868323 115.24832235450715 0 0 0 0 -9831 1 1.0086 1 312.6422269554532 135.4269070332015 0 0 0 0 -2627 1 1.9574 1 319.265043260742 78.65818121907009 0 0 0 0 -2670 1 1.9414 1 310.8863601462924 91.69319505493826 0 0 0 0 -2692 1 1.9332 1 303.40135574278514 122.25827971046272 0 0 0 0 -2789 1 1.8984 1 307.785633733908 126.3232895958263 0 0 0 0 -2815 1 1.8904 1 321.6459022927838 129.38412968593488 0 0 0 0 -2896 1 1.8636 1 323.72750648664663 123.13872954348362 0 0 0 0 -2101 1 2.1835 1 308.39307598537977 130.21967740005695 0 0 0 0 -2973 1 1.8406 1 316.23443743278256 110.3362935156162 0 0 0 0 -8995 1 1.053 1 316.83703424142675 128.89674196444855 0 0 0 0 -3059 1 1.8101 1 318.9753432885225 97.36645702885517 0 0 0 0 -3110 1 1.7942 1 322.57022102504817 104.96449135707812 0 0 0 0 -8094 1 1.1076 1 316.7672205032746 134.62554127299973 0 0 0 0 -3164 1 1.7761 1 318.6904298982245 107.38440803669889 0 0 0 0 -3220 1 1.7598 1 325.6370158099297 108.40135830954571 0 0 0 0 -8605 1 1.0747 1 290.2134931684634 137.87203900247147 0 0 0 0 -3278 1 1.7457 1 328.6153820047697 117.6937461592112 0 0 0 0 -3284 1 1.7442 1 320.66522556142803 86.98761357847845 0 0 0 0 -3316 1 1.7361 1 315.4960218682168 122.21370748353013 0 0 0 0 -3323 1 1.7341 1 313.01674596348846 99.22771269831624 0 0 0 0 -3341 1 1.7309 1 328.98288308546086 113.48739919795518 0 0 0 0 -3344 1 1.7303 1 321.45139440415267 119.25484127299713 0 0 0 0 -3360 1 1.7257 1 311.0276508116781 103.63663055678201 0 0 0 0 -2009 1 2.2343 1 295.5970690080138 132.85762475883834 0 0 0 0 -3398 1 1.7152 1 318.7776024336537 130.17224571622495 0 0 0 0 -3429 1 1.709 1 327.34538701692964 112.81356796339179 0 0 0 0 -3438 1 1.7072 1 309.0341226584407 123.36053289179483 0 0 0 0 -1676 1 2.4408 1 323.4090075407708 90.9155611101299 0 -1 0 0 -2477 1 2.018 1 313.91873891827254 75.13638672260358 0 0 0 0 -9979 1 1.0013 1 307.60686988472344 109.36578832633248 0 0 0 0 -3515 1 1.691 1 300.33725507241786 126.89870005818469 0 0 0 0 -9339 1 1.0342 1 307.4306790798344 110.35144861287587 0 0 0 0 -3023 1 1.8198 1 331.7089035046484 109.47053355449809 0 0 0 0 -3578 1 1.675 1 322.40339866273723 89.16960155355733 0 0 0 0 -8965 1 1.0543 1 314.64282449688284 119.93609368646037 0 0 0 0 -3600 1 1.6711 1 308.42625093028937 90.70218290991245 0 0 0 0 -3601 1 1.6706 1 322.8240994937802 115.31958423282354 0 0 0 0 -6318 1 1.2594 1 331.75946454744286 104.80446348069042 0 0 0 0 -3683 1 1.6526 1 312.2094888946658 115.46599622024218 0 0 0 0 -3689 1 1.6514 1 313.0364671391671 118.3662586794072 0 0 0 0 -3714 1 1.6446 1 320.89831082019174 95.45480075339128 0 0 0 0 -3717 1 1.6443 1 313.90138461196585 100.65177456652103 0 0 0 0 -3795 1 1.6308 1 330.39204937457936 104.85282784370096 0 0 0 0 -3822 1 1.6225 1 313.57040531586983 112.09589952331208 0 0 0 0 -3892 1 1.6098 1 308.4548145257292 113.3959340581715 0 0 0 0 -9432 1 1.0292 1 308.3031973845483 92.0066400682076 0 0 0 0 -3930 1 1.6018 1 308.45476548904384 75.60778714797583 0 0 0 0 -3936 1 1.601 1 309.2142855229583 112.03081298487429 0 0 0 0 -5847 1 1.3101 1 330.92737637488506 118.90734997594409 0 -1 0 0 -4124 1 1.5628 1 318.64656906243806 77.09293268917516 0 0 0 0 -4131 1 1.562 1 312.2915116098616 105.87072602464559 0 0 0 0 -5101 1 1.4042 1 324.8390160323058 95.17450231381612 0 -1 0 0 -4169 1 1.5554 1 320.8607072988391 79.26143536749154 0 0 0 0 -4182 1 1.5526 1 318.5745701303687 124.59203252223372 0 0 0 0 -4207 1 1.5486 1 313.0862563080113 109.00351931324589 0 0 0 0 -6610 1 1.231 1 326.5113022832406 90.98491323172361 0 -1 0 0 -4325 1 1.5276 1 307.1189140119251 85.98182234149863 0 0 0 0 -9530 1 1.0242 1 321.82938821260655 91.63605263137062 0 0 0 0 -4454 1 1.506 1 327.6716736289642 114.31047153391148 0 0 0 0 -4483 1 1.5006 1 312.4743735911698 103.04713929287445 0 0 0 0 -4511 1 1.4952 1 321.12138291316955 98.9854025636478 0 0 0 0 -4517 1 1.4944 1 319.66593508485374 94.53558189517621 0 0 0 0 -4520 1 1.4943 1 325.6255827769482 93.68276436925287 0 0 0 0 -4562 1 1.4871 1 317.63200355279486 76.04931883138376 0 0 0 0 -4611 1 1.479 1 311.26752049483684 90.06927724886046 0 0 0 0 -4618 1 1.4785 1 316.8263376549344 88.16639992185006 0 0 0 0 -4636 1 1.4758 1 308.2711285379398 124.73545917058709 0 0 0 0 -4643 1 1.4742 1 309.95194450634716 113.33214358111152 0 0 0 0 -9341 1 1.0341 1 323.9229702533972 121.7492297666966 0 0 0 0 -1172 1 2.9315 1 321.6478304063884 82.3731198192299 0 0 0 0 -4695 1 1.4654 1 320.47327525535746 96.92438933706737 0 0 0 0 -4709 1 1.4631 1 323.8495097430726 120.5251747962923 0 0 0 0 -4764 1 1.4542 1 324.1124545609247 104.74175792236242 0 0 0 0 -2664 1 1.9429 1 314.04801322147114 135.24890149082145 0 0 0 0 -4821 1 1.4459 1 320.4284260333942 80.63060130357482 0 0 0 0 -4824 1 1.4457 1 317.6960792379254 86.99933467366388 0 0 0 0 -4274 1 1.5374 1 327.77725505810827 90.49998766771769 0 -1 0 0 -9052 1 1.05 1 307.17043281858105 111.3980978886952 0 0 0 0 -4878 1 1.437 1 303.91587043931696 120.56579446593082 0 0 0 0 -4879 1 1.4369 1 312.49705867686083 116.963707636692 0 0 0 0 -7086 1 1.1873 1 317.8062384753892 135.7019355746777 0 0 0 0 -9029 1 1.0512 1 324.09589673034367 100.31681757776447 0 0 0 0 -9342 1 1.0341 1 321.32080299032265 100.22017631351167 0 -1 0 0 -6340 1 1.258 1 321.23342192269405 136.69039439048638 0 0 0 0 -4970 1 1.4239 1 315.9823667757271 79.82779930807907 0 0 0 0 -4982 1 1.4226 1 326.39075935302174 104.17826914683093 0 0 0 0 -5023 1 1.4174 1 306.76694379325437 127.57792924930943 0 0 0 0 -5036 1 1.4154 1 301.6109037009382 124.75700722002955 0 0 0 0 -9544 1 1.0236 1 308.5504701418022 103.53513297083659 0 0 0 0 -5160 1 1.3937 1 309.5852059694247 104.11896857089404 0 0 0 0 -8784 1 1.0642 1 327.4777227703154 88.23740278941683 0 -1 0 0 -9462 1 1.0277 1 311.4536105052453 104.92792973927031 0 0 0 0 -5641 1 1.333 1 321.93125817806174 135.60265244055262 0 0 0 0 -7371 1 1.1638 1 322.68048389465673 84.3680540337879 0 0 0 0 -5557 1 1.3437 1 294.1411194372804 136.36823073702115 0 0 0 0 -4600 1 1.4802 1 315.5583379606744 134.3181336890214 0 0 0 0 -5312 1 1.3741 1 330.3939998810656 117.30010018446033 0 0 0 0 -5327 1 1.3722 1 324.8881503213167 125.620430692917 0 0 0 0 -2498 1 2.0107 1 319.26399569670394 75.46258601128118 0 0 0 0 -5410 1 1.362 1 306.76466152268824 84.27125683909242 0 0 0 0 -5427 1 1.3595 1 319.4875570221262 95.91471091662163 0 0 0 0 -5442 1 1.3574 1 314.52169455110044 99.29906573581641 0 0 0 0 -5447 1 1.3568 1 307.56914881441435 87.32443152799708 0 0 0 0 -8322 1 1.0926 1 302.2955100219038 123.49878488391346 0 0 0 0 -9185 1 1.0429 1 313.4377923372707 105.36295118204323 0 0 0 0 -5482 1 1.3526 1 322.1643234277075 106.4602819078916 0 0 0 0 -5519 1 1.3489 1 308.10919292879277 128.1724822719035 0 0 0 0 -8399 1 1.0876 1 318.94677293485256 87.03221335437892 0 -1 0 0 -5588 1 1.3388 1 312.5086702170047 104.45158134084132 0 0 0 0 -5596 1 1.3377 1 315.3502666683715 75.94224010709594 0 0 0 0 -9758 1 1.0124 1 308.7786548670899 98.1079030508629 0 0 0 0 -5319 1 1.3735 1 328.97019054852046 89.75146692752557 0 -1 0 0 -1512 1 2.5629 1 293.48851901105905 138.21959323367554 0 0 0 0 -5619 1 1.3348 1 322.34065795369924 99.67786269713352 0 0 0 0 -5633 1 1.3335 1 320.0492310160205 76.93039018163786 0 0 0 0 -9994 1 1.0002 1 309.5997313203211 115.96432213552552 0 0 0 0 -5721 1 1.3241 1 322.4881004927648 120.33164142893764 0 0 0 0 -5737 1 1.322 1 310.757774648492 112.24674748953461 0 0 0 0 -3641 1 1.664 1 322.60960902761707 136.92431700127605 0 0 0 0 -4365 1 1.5203 1 320.46903162051876 135.61135877741367 0 0 0 0 -5814 1 1.3128 1 308.4957154035111 115.8492730577217 0 0 0 0 -5550 1 1.3442 1 310.08730254678426 130.33090621871986 0 0 0 0 -5866 1 1.3088 1 324.7701732284161 124.31044865691203 0 0 0 0 -4249 1 1.5422 1 322.13686204567443 87.60260235953918 0 -1 0 0 -7311 1 1.1696 1 328.7326846418195 91.3986554196287 0 -1 0 0 -5911 1 1.3039 1 311.14868970736893 78.98349869586785 0 0 0 0 -6018 1 1.2926 1 312.6230520200136 107.22905590227562 0 0 0 0 -555 1 4.1894 1 324.9383688085437 87.96283636517263 0 -1 0 0 -6071 1 1.2864 1 313.1159335476296 101.86253940255804 0 0 0 0 -6162 1 1.2761 1 309.8834287733682 89.48408243241632 0 0 0 0 -6189 1 1.2731 1 317.67110570413223 123.38277174835738 0 0 0 0 -6199 1 1.2717 1 327.3367851988735 108.86087238006142 0 0 0 0 -1068 1 3.0621 1 320.6183738460113 131.62159365528117 0 0 0 0 -6786 1 1.2142 1 324.52179917826675 99.27206292824376 0 -1 0 0 -2281 1 2.1029 1 316.5450070058003 74.71177968428806 0 0 0 0 -6407 1 1.251 1 329.80952198005025 118.47116163474361 0 0 0 0 -6408 1 1.251 1 308.9862980538755 114.6916224131245 0 0 0 0 -6419 1 1.25 1 309.352581173528 79.73992530651674 0 0 0 0 -6459 1 1.2468 1 313.52717643425694 119.69630542441172 0 0 0 0 -431 1 4.7556 1 311.8464700280593 132.74269873423555 0 0 0 0 -7273 1 1.173 1 311.4789550966285 137.21992341628055 0 0 0 0 -9624 1 1.0196 1 316.8970122948278 136.789379795049 0 0 0 0 -6532 1 1.2393 1 309.28610432505997 117.34256839672055 0 0 0 0 -6548 1 1.2378 1 325.0578446794774 100.87196824105416 0 0 0 0 -6551 1 1.2375 1 307.96820726022355 108.32709158303103 0 0 0 0 -6587 1 1.2334 1 320.3616201678673 111.32720667836023 0 0 0 0 -9918 1 1.0044 1 325.22595175355445 104.29456973195049 0 0 0 0 -6651 1 1.2267 1 316.44662595159554 123.30851731131034 0 0 0 0 -7102 1 1.1854 1 323.32244252545615 83.42026242350526 0 -1 0 0 -8556 1 1.0777 1 290.86724739028995 136.9158015433742 0 0 0 0 -36 1 16.1974 1 302.88699300385974 137.96605576485595 0 0 0 0 -6730 1 1.2196 1 319.8468818519797 106.45143918463054 0 0 0 0 -6787 1 1.2142 1 312.9638032756786 76.4215672347317 0 0 0 0 -6818 1 1.2105 1 308.23469347502635 111.08849572964506 0 0 0 0 -6833 1 1.2088 1 307.2521326790354 120.52910483988425 0 0 0 0 -6954 1 1.1981 1 325.9549635940472 125.05036115209016 0 0 0 0 -5275 1 1.3791 1 323.88577025753375 84.4957493464562 0 -1 0 0 -8924 1 1.0564 1 291.702898718472 137.59976690850243 0 0 0 0 -7024 1 1.1919 1 310.17838817449746 111.1088396478082 0 0 0 0 -2345 1 2.0701 1 321.2391098141495 134.06396918469716 0 0 0 0 -7055 1 1.1894 1 327.41138169197103 104.9172000456804 0 0 0 0 -7263 1 1.1734 1 301.4544072956432 126.01873245763515 0 0 0 0 -7295 1 1.1712 1 326.4689984156376 109.59878617669868 0 0 0 0 -7303 1 1.1702 1 320.1687160584533 105.3158400878715 0 0 0 0 -7325 1 1.1684 1 323.6816758148568 105.91946990917037 0 0 0 0 -9054 1 1.05 1 317.60736139215487 110.56259188789228 0 0 0 0 -4894 1 1.4334 1 319.6014980828975 133.59069220766202 0 0 0 0 -7353 1 1.1654 1 312.3057239590327 78.62441827611218 0 0 0 0 -2494 1 2.0127 1 322.0982950361294 85.82924774053195 0 -1 0 0 -7384 1 1.1627 1 322.91954428661944 121.4622516971957 0 0 0 0 -7389 1 1.1623 1 306.27993250261864 83.10357126452374 0 0 0 0 -7423 1 1.1594 1 327.977457553184 103.9129945158127 0 0 0 0 -9871 1 1.0063 1 318.91404109453345 108.72169054798972 0 0 0 0 -2602 1 1.9663 1 325.3023784508665 91.99582353709539 0 0 0 0 -7509 1 1.1518 1 310.6298632142573 93.17209044290661 0 0 0 0 -7528 1 1.1506 1 331.10693604389877 115.554330848285 0 0 0 0 -4866 1 1.4388 1 315.4767547544955 136.02162708561497 0 0 0 0 -7668 1 1.1387 1 317.41696479466316 125.24384244391304 0 0 0 0 -7706 1 1.1359 1 320.60512871787256 103.53210558640525 0 0 0 0 -7715 1 1.1353 1 319.2401860218366 92.9937686828049 0 0 0 0 -7737 1 1.1336 1 309.3541967552072 91.76749577102106 0 0 0 0 -7738 1 1.1335 1 325.44415035489527 90.51007830842158 0 0 0 0 -9030 1 1.0511 1 324.78195225054793 119.2551601019906 0 0 0 0 -7868 1 1.1234 1 310.42966838869336 94.28455858271057 0 0 0 0 -7882 1 1.1228 1 308.4692299112041 104.5929062549639 0 0 0 0 -8970 1 1.0541 1 321.3197464708867 127.95335087390787 0 0 0 0 -7900 1 1.1214 1 330.5798053884279 108.60452930141781 0 0 0 0 -7911 1 1.1201 1 315.6339863915029 120.35974172462082 0 0 0 0 -9634 1 1.0189 1 306.8765580525876 112.4991479345678 0 0 0 0 -9479 1 1.027 1 310.4692990102946 104.89805029458437 0 0 0 0 -8010 1 1.1141 1 314.26616370347153 101.97676730913844 0 0 0 0 -9682 1 1.0165 1 317.5093153664077 129.67862966633905 0 0 0 0 -8023 1 1.1132 1 309.79758802998754 90.65742698841129 0 0 0 0 -8064 1 1.11 1 310.00532481516007 78.78676528821494 0 0 0 0 -8088 1 1.1082 1 319.77197127215845 104.25937303609236 0 0 0 0 -8132 1 1.1055 1 306.811364055855 77.82594069270127 0 0 0 0 -8133 1 1.1055 1 304.361126990453 119.39401749017249 0 0 0 0 -8151 1 1.1047 1 322.01689541779575 117.95719722171218 0 0 0 0 -8171 1 1.1028 1 322.64752050813934 116.716401465566 0 0 0 0 -7236 1 1.1752 1 316.68468666551695 135.73132755148515 0 0 0 0 -9807 1 1.0096 1 304.79086979272427 129.6348422839934 0 0 0 0 -8215 1 1.1004 1 307.8810967125615 112.18516863694117 0 0 0 0 -8232 1 1.0996 1 309.6210878980074 76.22729712488443 0 0 0 0 -8283 1 1.0962 1 330.4506086278355 124.1743870145245 0 0 0 0 -8344 1 1.0909 1 323.6195122031342 85.69193324094323 0 0 0 0 -8370 1 1.089 1 321.6224365227084 84.36640742202503 0 0 0 0 -8391 1 1.0879 1 320.15745387043836 98.16238498259966 0 0 0 0 -8409 1 1.0871 1 304.28218192885646 78.29219136415988 0 0 0 0 -8423 1 1.0862 1 317.43261029721066 109.51480763153597 0 0 0 0 -8451 1 1.0842 1 319.7095976213794 82.36830849928842 0 0 0 0 -8485 1 1.0818 1 322.07908603157495 94.86502001384669 0 0 0 0 -8824 1 1.0618 1 294.83781022033673 134.48779769525913 0 0 0 0 -8566 1 1.0771 1 312.19999059720084 90.93750578378275 0 0 0 0 -6621 1 1.2302 1 327.19310074998356 89.32800900819585 0 -1 0 0 -8612 1 1.0744 1 311.3224957014307 106.6990336370489 0 0 0 0 -8614 1 1.0744 1 307.4513775612714 115.34452235073391 0 0 0 0 -8685 1 1.0707 1 320.5767988365065 77.99350769750397 0 0 0 0 -8775 1 1.0647 1 329.0151344588118 104.3841238416661 0 0 0 0 -9408 1 1.0302 1 320.9486445468935 106.24883607820746 0 0 0 0 -8815 1 1.0624 1 327.1040753527629 103.23085000287588 0 0 0 0 -6697 1 1.2224 1 320.1306478015762 129.58945003080177 0 0 0 0 -2805 1 1.8918 1 312.91466842745416 136.77740591912155 0 0 0 0 -8833 1 1.0613 1 311.23910588869904 102.23591880246495 0 0 0 0 -7893 1 1.1218 1 331.37792041506464 111.98105835436134 0 0 0 0 -8991 1 1.0531 1 331.4596955969922 106.09908429323978 0 0 0 0 -53 1 12.7957 1 331.3509484847998 97.82963638738339 0 -1 0 0 -2483 1 2.0162 1 331.7453740413977 122.55560353829448 0 0 0 0 -2616 1 1.9614 1 331.64508859547266 120.31363244764314 0 0 0 0 -5783 1 1.3157 1 331.60436149191645 124.20352787845842 0 -1 0 0 -4882 1 1.4364 1 289.132538774934 138.52293263237598 0 0 0 0 -3663 1 1.6572 1 298.2111603109872 196.04996001469993 0 0 0 0 -46 1 13.6753 1 294.6377974402399 182.79864245752228 0 0 0 0 -92 1 9.7457 1 301.2616136085966 152.55953855292947 0 0 0 0 -93 1 9.7268 1 294.2780749765786 163.66615236456428 0 0 0 0 -139 1 7.9219 1 320.3883056489023 164.87841366334604 0 0 0 0 -140 1 7.8936 1 281.6136357866844 152.12164166515674 0 0 0 0 -145 1 7.8085 1 288.2415192484274 145.68124378083922 0 0 0 0 -147 1 7.7409 1 282.1800150644845 169.31485920078518 0 0 0 0 -179 1 7.2295 1 315.6515804527458 153.89982447871594 0 0 0 0 -182 1 7.1712 1 322.57446862671554 144.3669582359323 0 0 0 0 -184 1 7.1175 1 304.5626364156824 185.5218798895311 0 0 0 0 -7733 1 1.134 1 303.7647430805782 191.88943531751733 0 0 0 0 -220 1 6.4978 1 302.28630307987623 160.46627687977124 0 0 0 0 -243 1 6.2684 1 328.0204330164868 148.12282835502177 0 0 0 0 -261 1 6.126 1 309.17480897237846 165.51487996244896 0 0 0 0 -271 1 6.001 1 274.89725607667077 153.4746390589961 0 0 0 0 -283 1 5.8721 1 281.47680594899833 145.43566397374667 0 0 0 0 -285 1 5.8646 1 327.06491751624816 154.00848675736697 0 0 0 0 -320 1 5.5347 1 294.7004256063929 144.83825066236008 0 0 0 0 -321 1 5.5344 1 287.57542957850956 176.43264835504007 0 0 0 0 -339 1 5.3997 1 280.37248507083336 158.5129601401821 0 0 0 0 -357 1 5.2951 1 274.7458116025144 164.26821848714087 0 0 0 0 -368 1 5.1625 1 314.8702115671835 176.0686823179553 0 0 0 0 -387 1 5.0123 1 288.44450466559516 170.122799320213 0 0 0 0 -389 1 5.0003 1 301.1373092324127 171.1264624433749 0 0 0 0 -393 1 4.9614 1 313.8638847272129 168.5925732237753 0 0 0 0 -402 1 4.9292 1 313.6302216714799 162.60916824636388 0 0 0 0 -423 1 4.7986 1 284.402878282722 161.40731700897754 0 0 0 0 -6524 1 1.2407 1 268.6056580898676 177.5747699885967 0 0 0 0 -444 1 4.6675 1 309.7153192198194 188.18334044216087 0 0 0 0 -450 1 4.653 1 291.416644952901 157.24529076305456 0 0 0 0 -458 1 4.63 1 313.94691072570913 144.8995161329585 0 0 0 0 -463 1 4.6085 1 315.15987952608214 138.98380227386136 0 0 0 0 -465 1 4.5941 1 312.3812556312826 149.15458259258813 0 0 0 0 -476 1 4.5234 1 321.28343430312606 158.5238143652557 0 0 0 0 -496 1 4.3893 1 281.5915311912443 176.8114013861996 0 0 0 0 -540 1 4.236 1 317.5868244778116 148.4973534797444 0 0 0 0 -566 1 4.1442 1 309.1628273830429 158.00549286109108 0 0 0 0 -584 1 4.0796 1 313.779004128666 183.71755086020775 0 0 0 0 -588 1 4.0645 1 305.8861974450447 180.15809298168338 0 0 0 0 -4105 1 1.5651 1 269.3663714496903 164.18463032436438 0 0 0 0 -1096 1 3.0232 1 269.9461962172893 154.9567081452734 0 0 0 0 -5227 1 1.3857 1 298.9484887667469 199.4853029034131 0 0 0 0 -9564 1 1.0222 1 298.24834447392465 194.77086105205947 0 0 0 0 -756 1 3.672 1 318.18778350590867 171.05463746189673 0 0 0 0 -798 1 3.5963 1 276.32952025633006 169.52062894241317 0 0 0 0 -7674 1 1.1384 1 307.7592547622114 202.13644462203726 0 0 0 0 -809 1 3.5695 1 305.68849140670585 190.72644589761694 0 0 0 0 -833 1 3.4991 1 330.3665914078423 141.75974098160884 0 0 0 0 -840 1 3.4825 1 311.7488023417034 180.7420007910544 0 0 0 0 -868 1 3.4296 1 304.68869842106176 164.61976631027633 0 0 0 0 -3312 1 1.7374 1 310.09857080159486 199.82245969996072 0 0 0 0 -872 1 3.418 1 290.77379699942236 151.5658039850559 0 0 0 0 -879 1 3.3985 1 309.2111576016343 178.61782654897812 0 0 0 0 -889 1 3.3773 1 294.3676121528764 171.49479372432225 0 0 0 0 -916 1 3.3273 1 308.8249432499222 147.53020478104688 0 0 0 0 -942 1 3.2583 1 310.3588659966122 193.92909168235713 0 0 0 0 -1443 1 2.6302 1 294.7798597245226 200.63034032335568 0 0 0 0 -974 1 3.2142 1 327.4674730170305 158.447476498476 0 0 0 0 -989 1 3.1957 1 308.5873518228877 171.70302129157616 0 0 0 0 -1054 1 3.0849 1 269.41302325860664 172.7499405018649 0 0 0 0 -1055 1 3.0848 1 310.50909203294094 153.75411467789922 0 0 0 0 -9470 1 1.0273 1 297.96146465073815 200.13857100844595 0 0 0 0 -1075 1 3.0534 1 275.9257242538549 148.18991009636187 0 0 0 0 -1077 1 3.0449 1 273.8114480337837 160.24638983655606 0 0 0 0 -9969 1 1.0022 1 300.0446339109232 173.89215365630258 0 0 0 0 -1084 1 3.0385 1 314.0292471857673 158.7075673452142 0 0 0 0 -1089 1 3.0326 1 279.4262016422633 173.88081030770547 0 0 0 0 -1097 1 3.0228 1 310.18695459582057 144.74072699075458 0 0 0 0 -1126 1 2.9821 1 295.63654166854985 155.2437295279351 0 0 0 0 -1127 1 2.9799 1 304.34927569482187 173.33269985156028 0 0 0 0 -1133 1 2.9757 1 286.7203750943578 153.61290206171373 0 0 0 0 -1156 1 2.9487 1 307.03997307519734 174.312572779621 0 0 0 0 -1159 1 2.9447 1 301.1377367247134 166.9061196087288 0 0 0 0 -1173 1 2.9314 1 321.40282832288153 149.2005763837407 0 0 0 0 -1189 1 2.9188 1 322.9858464881648 152.58494464486918 0 0 0 0 -1193 1 2.9147 1 285.16322979106303 141.6609049839565 0 0 0 0 -1197 1 2.9068 1 310.8622469826728 175.75038448650866 0 0 0 0 -1215 1 2.8938 1 306.2632140783194 156.27813998003177 0 0 0 0 -1244 1 2.8584 1 311.52913525306406 142.13090805113205 0 0 0 0 -1245 1 2.8581 1 271.66549836348895 150.5532859633335 0 0 0 0 -1268 1 2.8297 1 313.3797545419615 172.43073554471124 0 0 0 0 -1271 1 2.8239 1 292.55154978152893 199.15648210717902 0 0 0 0 -1274 1 2.8185 1 273.23903857752725 171.53657474612416 0 0 0 0 -1313 1 2.7762 1 277.4259334878138 175.90981386609553 0 0 0 0 -1324 1 2.7634 1 295.07721554566456 152.45580040143972 0 0 0 0 -1332 1 2.7554 1 293.20324652976336 191.3742066058657 0 0 0 0 -1347 1 2.7389 1 270.71660534066376 148.01948339298198 0 0 0 0 -1370 1 2.7124 1 280.56337869134325 162.4647454328696 0 0 0 0 -1432 1 2.6447 1 293.7565218990379 193.96341047200474 0 0 0 0 -1436 1 2.6396 1 301.5095214702524 176.7463145521049 0 0 0 0 -4640 1 1.4753 1 306.74689904557596 192.98740610741137 0 0 0 0 -1459 1 2.6095 1 273.5382237373685 146.82689797732195 0 0 0 0 -1461 1 2.6081 1 304.8401456818203 170.60711311012307 0 0 0 0 -1491 1 2.5859 1 305.9937529785324 146.80889762039968 0 0 0 0 -1505 1 2.5732 1 278.2786788099888 165.9446090503494 0 0 0 0 -3150 1 1.7787 1 298.8371105293709 189.78603388145433 0 0 0 0 -1532 1 2.5452 1 300.2539402767283 164.38099029410918 0 0 0 0 -1535 1 2.5426 1 296.2300251167265 157.87852458678117 0 0 0 0 -1562 1 2.5238 1 287.9024796941047 160.68072424010455 0 0 0 0 -1568 1 2.5199 1 303.74895771305927 167.31795739639574 0 0 0 0 -1577 1 2.5111 1 274.8968742419577 157.7000734807309 0 0 0 0 -1650 1 2.4531 1 316.97236150893195 143.34635230004935 0 0 0 0 -1651 1 2.4528 1 301.22975442087926 188.90556642641377 0 0 0 0 -1688 1 2.4295 1 284.2740933003951 174.25511452499939 0 0 0 0 -1696 1 2.4273 1 313.16559363490563 188.5416413601191 0 0 0 0 -9635 1 1.0188 1 267.83709119946116 163.8725169335327 0 0 0 0 -1713 1 2.4142 1 320.32136820817885 154.99370217363338 0 0 0 0 -1735 1 2.4028 1 287.3108757111052 164.6765229942943 0 0 0 0 -1740 1 2.3915 1 296.77593957636407 173.07195347112946 0 0 0 0 -1771 1 2.372 1 268.04942997739107 151.35007791356225 0 0 0 0 -1779 1 2.3691 1 303.61310756866567 147.11919168984954 0 0 0 0 -1870 1 2.3199 1 321.213475686533 139.8412403179681 0 0 0 0 -1919 1 2.2884 1 277.139098080174 172.54402619631597 0 0 0 0 -1946 1 2.271 1 316.62862859277516 158.454262460285 0 0 0 0 -1975 1 2.2556 1 298.1835843706661 159.1635206390417 0 0 0 0 -1986 1 2.2495 1 297.67028018777967 170.2519740430149 0 0 0 0 -2003 1 2.2396 1 274.8858746368494 175.55776159296997 0 0 0 0 -2004 1 2.2383 1 287.0764016800999 180.38360246312303 0 0 0 0 -9686 1 1.0163 1 271.1612902061225 169.65024558265173 0 0 0 0 -2058 1 2.2069 1 287.40415504096177 156.07292557063357 0 0 0 0 -2080 1 2.1929 1 283.6423670928612 156.72477312970824 0 0 0 0 -2093 1 2.1862 1 310.9764397200856 191.32964669923382 0 0 0 0 -7486 1 1.1538 1 272.38329465644864 156.70952133813478 0 0 0 0 -2133 1 2.1632 1 311.68209465333194 159.74171924430203 0 0 0 0 -2134 1 2.1624 1 311.8707846179581 178.0078295301828 0 0 0 0 -2137 1 2.1612 1 312.5112312100449 186.41724156907526 0 0 0 0 -2142 1 2.1585 1 289.75113173159366 173.37117655717108 0 0 0 0 -678 1 3.8278 1 292.13556992429096 202.40373321023432 0 0 0 0 -2219 1 2.128 1 288.04398507578725 151.5391841430827 0 0 0 0 -2226 1 2.1251 1 291.80838431305506 174.48588418529522 0 0 0 0 -2308 1 2.0866 1 274.6442858090526 173.46896794470504 0 0 0 0 -2317 1 2.0811 1 295.77928606683605 169.29148855008089 0 0 0 0 -2320 1 2.0801 1 300.56208486544057 146.7627382047463 0 0 0 0 -2327 1 2.0766 1 295.32123070968936 196.52126184802887 0 0 0 0 -9603 1 1.0205 1 301.67132204961723 197.8991686412115 0 0 0 0 -9412 1 1.03 1 303.49241941940033 196.68162204944997 0 0 0 0 -6286 1 1.2619 1 303.9123141009226 195.0315282662074 0 0 0 0 -2397 1 2.0491 1 330.5014040322647 155.73730446374014 0 0 0 0 -2400 1 2.0481 1 297.72909951062496 147.03981742715627 0 0 0 0 -2441 1 2.0306 1 307.9145007397811 182.42182023852817 0 0 0 0 -2476 1 2.0181 1 328.5960562088796 143.79847700475742 0 0 0 0 -2488 1 2.0143 1 294.2094437054773 149.81435893108332 0 0 0 0 -2495 1 2.0122 1 273.0041160619223 174.62556002078344 0 0 0 0 -9943 1 1.0032 1 315.19877343210385 173.01924341755074 0 0 0 0 -2519 1 2.0045 1 287.82329573039164 166.75354038506143 0 0 0 0 -2547 1 1.9905 1 299.6993129496949 175.31976558192127 0 0 0 0 -2571 1 1.9818 1 317.5914620501435 173.80138261288272 0 0 0 0 -2576 1 1.9796 1 312.0838985988089 157.19830550241082 0 0 0 0 -2598 1 1.9693 1 284.4083638824968 178.18481178379713 0 0 0 0 -2603 1 1.9662 1 315.5286668484479 171.58672052268153 0 0 0 0 -2611 1 1.9625 1 305.68957292346585 168.22725216751672 0 0 0 0 -2620 1 1.96 1 277.54420604024807 156.29343960359415 0 0 0 0 -2626 1 1.9574 1 325.81517893332733 160.5113746605439 0 0 0 0 -2653 1 1.9453 1 274.1954978858521 167.79203172380858 0 0 0 0 -2654 1 1.9451 1 327.39987428840476 142.24988447139785 0 0 0 0 -494 1 4.4155 1 303.9022797219761 199.34564145231687 0 0 0 0 -2672 1 1.9413 1 303.1807666333737 181.2161592167556 0 0 0 0 -2686 1 1.935 1 296.59864458986925 175.29770262168313 0 0 0 0 -2701 1 1.9291 1 315.8164329894566 180.6159382045357 0 0 0 0 -2714 1 1.9253 1 285.9572399145501 149.9428151281438 0 0 0 0 -2719 1 1.9232 1 320.88185585900743 151.53753138446152 0 0 0 0 -2756 1 1.9091 1 317.1598036859549 145.4877584514058 0 0 0 0 -712 1 3.7607 1 270.4818351348896 175.9139630435897 0 0 0 0 -2784 1 1.9006 1 298.78971578065114 167.18584578041182 0 0 0 0 -9263 1 1.0387 1 293.99376862800676 195.75403260430193 0 0 0 0 -2809 1 1.891 1 310.8055893324949 183.5717434804217 0 0 0 0 -2812 1 1.8909 1 293.0128853207244 140.39598568614502 0 0 0 0 -2838 1 1.8831 1 307.0197227221211 153.13067280071633 0 0 0 0 -2861 1 1.8743 1 311.5588273654688 197.81851764873434 0 0 0 0 -2874 1 1.8699 1 317.5310852685404 160.2153034011392 0 0 0 0 -2880 1 1.868 1 301.3430183109056 174.52029803057414 0 0 0 0 -2908 1 1.8615 1 325.4271114895154 162.34081657014968 0 0 0 0 -2912 1 1.8602 1 323.44801363091943 155.29106407635655 0 0 0 0 -2920 1 1.8574 1 292.22148788018524 142.09586458356017 0 0 0 0 -2922 1 1.8566 1 323.47616130849417 150.29694496523896 0 0 0 0 -2929 1 1.8552 1 296.2189865026761 148.18560404893162 0 0 0 0 -2931 1 1.8541 1 291.94550029550896 168.8866293109103 0 0 0 0 -2956 1 1.8457 1 305.39030268427547 176.2447392416791 0 0 0 0 -2974 1 1.8404 1 291.397980371838 154.05112966514966 0 0 0 0 -2983 1 1.8372 1 309.9517979767203 169.6450874984095 0 0 0 0 -981 1 3.2079 1 296.5664944141758 193.58112399200763 0 0 0 0 -3002 1 1.8295 1 308.78747856642826 184.13349735622987 0 0 0 0 -3004 1 1.8288 1 306.42979720146246 150.11000676514004 0 0 0 0 -3013 1 1.8233 1 293.4639116582594 197.0574671061147 0 0 0 0 -3027 1 1.8191 1 294.798630023862 175.13806757246016 0 0 0 0 -3049 1 1.8129 1 278.53833501317047 161.55327381383285 0 0 0 0 -3067 1 1.8081 1 308.2552496826459 169.28541595731417 0 0 0 0 -3075 1 1.8063 1 285.6113515627562 156.8619814384189 0 0 0 0 -3100 1 1.7968 1 295.960565182838 150.39552306904432 0 0 0 0 -3113 1 1.7928 1 315.2520250896138 165.54958740440316 0 0 0 0 -3123 1 1.7864 1 284.7671928592287 180.01017106938542 0 0 0 0 -3142 1 1.781 1 303.686946040527 176.8477985691659 0 0 0 0 -4449 1 1.5066 1 270.42898589154424 165.2167041739172 0 0 0 0 -3161 1 1.7766 1 282.22699858511095 173.93631690022198 0 0 0 0 -3166 1 1.7754 1 308.18235775936165 176.323280344311 0 0 0 0 -3169 1 1.7744 1 270.2123957140749 170.5888472663174 0 0 0 0 -3189 1 1.7686 1 272.83286645547395 158.06966469727973 0 0 0 0 -3191 1 1.7682 1 293.6016522732828 173.8955815683889 0 0 0 0 -3197 1 1.7666 1 286.6199498371934 172.94164759648447 0 0 0 0 -9247 1 1.0396 1 300.69850067509435 197.92700041757953 0 0 0 0 -3222 1 1.7597 1 291.9177723951634 148.62493791490613 0 0 0 0 -3241 1 1.7549 1 310.42306923492873 161.834902517287 0 0 0 0 -3248 1 1.7532 1 306.9565875306026 177.52491366838086 0 0 0 0 -3299 1 1.7401 1 294.6636358256378 198.36563164683943 0 0 0 0 -3651 1 1.662 1 310.6334940996491 196.34977123088115 0 0 0 0 -4601 1 1.4802 1 268.5787878994889 153.17654494277838 0 0 0 0 -3367 1 1.7246 1 318.3080401152331 157.4363043553368 0 0 0 0 -3376 1 1.7223 1 295.3828047615668 191.48988440362115 0 0 0 0 -3379 1 1.7207 1 289.64731330504503 166.99758492629888 0 0 0 0 -3419 1 1.7113 1 309.135784161841 191.83633941311476 0 0 0 0 -2033 1 2.2202 1 299.14895250425144 197.70237692135464 0 0 0 0 -3461 1 1.7007 1 320.6556783783388 170.29187635470444 0 0 0 0 -3496 1 1.6941 1 280.19404325088345 165.12474169261728 0 0 0 0 -3506 1 1.6928 1 292.05426926645407 170.56997400165037 0 0 0 0 -3517 1 1.6909 1 307.2704434248389 162.1065937339895 0 0 0 0 -3539 1 1.6852 1 282.72211060197776 164.71465831020296 0 0 0 0 -3589 1 1.6735 1 297.16471602144514 190.00293767490766 0 0 0 0 -3592 1 1.6729 1 309.48553585356683 151.61903814245537 0 0 0 0 -9307 1 1.0358 1 300.529683620859 195.98801859176066 0 0 0 0 -3644 1 1.6638 1 291.73641912655296 197.14289924532466 0 0 0 0 -8890 1 1.0579 1 307.6737747761087 191.9187435730697 0 0 0 0 -3654 1 1.6615 1 288.33891912922473 157.70355390007657 0 0 0 0 -3656 1 1.661 1 284.26073141815164 165.16680609623563 0 0 0 0 -3678 1 1.6538 1 325.8063148462821 141.4672781823425 0 0 0 0 -3682 1 1.6527 1 309.41746154457786 149.92798235692703 0 0 0 0 -3704 1 1.6457 1 293.2484167565241 151.3403595405616 0 0 0 0 -3722 1 1.6439 1 301.7760508937871 180.12579851144045 0 0 0 0 -9074 1 1.0485 1 268.1804633440277 176.47621214861746 0 0 0 0 -3737 1 1.6417 1 276.91538092222294 157.9384024809121 0 0 0 0 -3743 1 1.6406 1 279.074856837193 163.9727729365141 0 0 0 0 -3754 1 1.6392 1 324.25064651429386 157.74203093421445 0 0 0 0 -3769 1 1.6362 1 298.1132969495845 174.5266854468994 0 0 0 0 -1839 1 2.3346 1 306.08750375981117 201.83856192442613 0 0 0 0 -3781 1 1.6336 1 298.9969531993869 145.8673115973411 0 0 0 0 -3791 1 1.6318 1 319.97906759113704 153.04073564349568 0 0 0 0 -3821 1 1.6225 1 306.6705255551697 169.66907895564438 0 0 0 0 -3825 1 1.6216 1 326.87629422619193 144.04484898131022 0 0 0 0 -3832 1 1.6205 1 286.62446167449474 158.21129147059943 0 0 0 0 -3856 1 1.6164 1 298.15748281458355 176.11368551561122 0 0 0 0 -5965 1 1.2984 1 272.46786383812076 161.939035916319 0 0 0 0 -3877 1 1.6124 1 306.275984265723 172.21576303882696 0 0 0 0 -3894 1 1.6091 1 288.8329198629766 154.18644809150214 0 0 0 0 -3922 1 1.6029 1 302.2459915717286 164.56267316727352 0 0 0 0 -3946 1 1.5983 1 275.92731809224836 159.45607705460088 0 0 0 0 -3963 1 1.5935 1 319.1892205084037 140.31196082831758 0 0 0 0 -3982 1 1.5898 1 291.85667817806717 192.99807302656188 0 0 0 0 -4032 1 1.5772 1 275.9357701874671 161.07796967067642 0 0 0 0 -697 1 3.7924 1 307.92383589226995 196.36337861307643 0 0 0 0 -4094 1 1.5679 1 275.37515830925133 171.8526441160924 0 0 0 0 -4095 1 1.5677 1 312.76684609213896 191.68353615971589 0 0 0 0 -4126 1 1.5627 1 323.86579745131144 161.7587230563109 0 0 0 0 -4152 1 1.558 1 330.5658034842533 151.03168519466118 0 0 0 0 -4177 1 1.5534 1 292.8509301234898 152.87306835463934 0 0 0 0 -4194 1 1.5503 1 317.6703037620606 141.31198380786256 0 0 0 0 -4206 1 1.5486 1 285.04946473605895 158.370175762955 0 0 0 0 -4217 1 1.5471 1 329.45714433306233 157.17816655890826 0 0 0 0 -4241 1 1.5431 1 293.75446316878 154.08227522966058 0 0 0 0 -177 1 7.2501 1 268.759777821163 159.89369462694754 0 0 0 0 -4265 1 1.5389 1 289.0344660512256 165.51864367565344 0 0 0 0 -4292 1 1.5344 1 273.80099110983787 169.45703367161042 0 0 0 0 -4306 1 1.5315 1 279.0814798671404 148.22052968293224 0 0 0 0 -4310 1 1.5309 1 299.47677691454265 177.02083220255724 0 0 0 0 -4341 1 1.5241 1 310.82051381627053 170.99247943637295 0 0 0 0 -4355 1 1.5222 1 277.8577979524409 163.001172427753 0 0 0 0 -5959 1 1.2989 1 309.8761177898886 202.18767002665194 0 0 0 0 -7820 1 1.1274 1 271.6474930951174 164.88163243157763 0 0 0 0 -4387 1 1.5169 1 285.48391753288297 164.28646544438175 0 0 0 0 -4404 1 1.5145 1 301.0326416608232 178.74380327621915 0 0 0 0 -7565 1 1.1467 1 307.28533192580744 200.4807042996249 0 0 0 0 -4428 1 1.5096 1 328.194986796688 140.7241121786407 0 0 0 0 -4431 1 1.5093 1 277.9221901928014 149.2465630629389 0 0 0 0 -4436 1 1.5081 1 319.62348743912725 150.43351300499722 0 0 0 0 -4438 1 1.5081 1 288.0547778210053 141.02524507909146 0 0 0 0 -4458 1 1.5041 1 276.24141042819423 174.18692394419415 0 0 0 0 -4487 1 1.5001 1 272.72709812186986 148.68160230078976 0 0 0 0 -4489 1 1.4996 1 319.1055235132369 141.8016772135084 0 0 0 0 -4526 1 1.4938 1 291.83815041040947 194.49762442386452 0 0 0 0 -4528 1 1.4937 1 324.12858010034256 160.31652237929632 0 0 0 0 -4530 1 1.4931 1 293.3862118750382 148.08280638009555 0 0 0 0 -4544 1 1.4905 1 325.23348504217796 158.92502585566376 0 0 0 0 -5307 1 1.3747 1 287.9610575725997 139.3075358230506 0 0 0 0 -4555 1 1.4883 1 325.8665935283054 139.91912303482715 0 0 0 0 -4566 1 1.4864 1 310.0649553824976 185.1477239490792 0 0 0 0 -4570 1 1.486 1 329.874012575754 144.87181058389262 0 0 0 0 -2290 1 2.0981 1 300.6705740611233 199.47686693028345 0 0 0 0 -2803 1 1.8923 1 308.4443423583631 199.1560769254889 0 0 0 0 -5375 1 1.3672 1 311.5471916139474 199.4214542779608 0 0 0 0 -4620 1 1.4781 1 314.18573784843994 180.97827641899502 0 0 0 0 -4621 1 1.4781 1 308.10966519854856 190.7246413477826 0 0 0 0 -4634 1 1.4766 1 291.39629043131504 172.81086807802478 0 0 0 0 -6002 1 1.2942 1 330.8257086333908 144.02103770146604 0 -1 0 0 -4642 1 1.4749 1 290.628776718785 141.60492269229556 0 0 0 0 -4678 1 1.4678 1 273.68629603704676 149.80528827512302 0 0 0 0 -4685 1 1.4667 1 283.1713315928059 179.22762103591057 0 0 0 0 -4691 1 1.4658 1 304.3554007147977 157.1686009783957 0 0 0 0 -4745 1 1.4573 1 311.39311496597276 173.1750651724896 0 0 0 0 -4772 1 1.4523 1 272.3532067764792 169.6180162909319 0 0 0 0 -4776 1 1.4518 1 277.31235277066196 160.55396804082815 0 0 0 0 -4781 1 1.4513 1 308.18203801522594 193.0867074219725 0 0 0 0 -4797 1 1.4496 1 314.43658285135797 141.91071779781578 0 0 0 0 -4817 1 1.4463 1 305.73881325118117 162.42230372429333 0 0 0 0 -8217 1 1.1004 1 272.7238375390035 176.84048817902507 0 0 0 0 -4837 1 1.4437 1 308.83674862099895 155.2685470696618 0 0 0 0 -4841 1 1.4429 1 314.94701696487465 147.69915088379756 0 0 0 0 -4844 1 1.4423 1 318.4051634889222 158.93855490117713 0 0 0 0 -4863 1 1.4393 1 302.81983527481003 175.20388255503707 0 0 0 0 -6304 1 1.2607 1 301.1596481600893 196.895963830009 0 0 0 0 -4884 1 1.4356 1 276.6195950557271 167.044160436947 0 0 0 0 -7515 1 1.1514 1 310.4802319743723 201.16159735526088 0 0 0 0 -4916 1 1.4301 1 298.9244061351508 173.33330877960074 0 0 0 0 -4942 1 1.427 1 292.55597964260767 150.00803148146395 0 0 0 0 -5003 1 1.42 1 286.4095312429112 167.6718623513211 0 0 0 0 -5010 1 1.4195 1 289.17682593999155 140.00092184853776 0 0 0 0 -5021 1 1.4174 1 322.0890440620387 154.47235003591723 0 0 0 0 -5030 1 1.4164 1 291.01675682744514 176.18506125828503 0 0 0 0 -5058 1 1.4118 1 290.788590908722 200.23932416794034 0 0 0 0 -5092 1 1.405 1 294.28861579879367 158.14565766033775 0 0 0 0 -5095 1 1.4049 1 324.58380148983224 140.56734555337684 0 0 0 0 -5111 1 1.4019 1 290.58692300728586 140.06821711720414 0 0 0 0 -5119 1 1.4002 1 312.2793435797416 174.1966726180216 0 0 0 0 -5122 1 1.3993 1 314.036336254904 179.40052184769343 0 0 0 0 -5142 1 1.3976 1 287.6586595967964 162.6036001153254 0 0 0 0 -5176 1 1.3918 1 277.2461719405177 150.62726646820948 0 0 0 0 -5180 1 1.3913 1 324.69284954171883 151.33710315016373 0 0 0 0 -5198 1 1.3886 1 293.25593813864225 175.4254250418144 0 0 0 0 -5260 1 1.3807 1 311.7218592596564 155.59124080996347 0 0 0 0 -5296 1 1.3765 1 307.93324652292984 149.66833070195526 0 0 0 0 -3742 1 1.6408 1 306.1384285818717 194.3948904617728 0 0 0 0 -5310 1 1.3746 1 287.10049098324697 182.3048625329712 0 0 0 0 -5329 1 1.3721 1 308.7690317304274 161.7964077155575 0 0 0 0 -7967 1 1.1166 1 331.22965374524756 146.3178389223355 0 0 0 0 -3874 1 1.6128 1 277.7882924362712 144.88567685151358 0 0 0 0 -5382 1 1.3664 1 316.90113790218464 167.86693624974242 0 0 0 0 -5397 1 1.3642 1 307.49992200977306 145.6080809260515 0 0 0 0 -5400 1 1.3634 1 278.8223877934839 177.3588584794881 0 0 0 0 -5411 1 1.3619 1 306.76994935990416 148.59399817146115 0 0 0 0 -5425 1 1.3598 1 324.7571929774648 139.14089489883568 0 0 0 0 -5438 1 1.3582 1 302.01032170529714 182.22809965252904 0 0 0 0 -5453 1 1.3555 1 312.3643986257295 140.17727438255653 0 0 0 0 -5471 1 1.3535 1 294.712691743259 148.25770555855834 0 0 0 0 -5494 1 1.3516 1 316.27079101586565 141.66179831879836 0 0 0 0 -5509 1 1.3499 1 308.330820264522 154.00207231567086 0 0 0 0 -5518 1 1.349 1 290.9774643190965 189.2796088856914 0 0 0 0 -5526 1 1.3483 1 319.0996189988731 160.44570652587177 0 0 0 0 -5530 1 1.3473 1 298.13045875475615 157.27129758017085 0 0 0 0 -5537 1 1.346 1 312.18566732030075 195.23701297580183 0 0 0 0 -338 1 5.4102 1 300.7283226863544 192.80063798988488 0 0 0 0 -5560 1 1.3435 1 318.6757178941405 143.09459999819 0 0 0 0 -5579 1 1.3405 1 289.1911980306031 159.24639930628405 0 0 0 0 -5620 1 1.3346 1 311.4460999175346 185.04693249773953 0 0 0 0 -5654 1 1.3321 1 311.42093882315186 146.43662766557605 0 0 0 0 -5660 1 1.3315 1 309.09571284932895 173.85932628766233 0 0 0 0 -5672 1 1.3296 1 308.46746995868966 180.84513451663724 0 0 0 0 -5677 1 1.3293 1 289.02951678332715 155.58420815606203 0 0 0 0 -6046 1 1.2894 1 303.55773021268277 189.58024903196326 0 0 0 0 -5683 1 1.3286 1 307.8097030844459 160.70113611288497 0 0 0 0 -5714 1 1.3246 1 276.56643178730957 146.1138561443636 0 0 0 0 -5715 1 1.3246 1 288.95326750999783 150.12445648362566 0 0 0 0 -5723 1 1.3238 1 297.9867176514677 168.52212800470494 0 0 0 0 -5724 1 1.3237 1 271.11438200517046 168.5348477502265 0 0 0 0 -5769 1 1.3174 1 315.74957959547714 159.99832384967692 0 0 0 0 -5813 1 1.3132 1 319.30195320451537 151.767000248833 0 0 0 0 -5815 1 1.3128 1 303.13390403582184 179.62273817154082 0 0 0 0 -5838 1 1.3107 1 303.5616931996274 169.17306455745978 0 0 0 0 -5852 1 1.3099 1 316.30277150898695 161.15413700232895 0 0 0 0 -5860 1 1.3092 1 299.4787932007246 188.4273169446961 0 0 0 0 -5872 1 1.3083 1 309.53250387518074 181.57859958661328 0 0 0 0 -5886 1 1.3061 1 313.29694319576 141.1924417698752 0 0 0 0 -5944 1 1.3004 1 317.0846829496514 178.33442323662902 0 0 0 0 -9991 1 1.0004 1 302.846016488951 177.9608853733529 0 0 0 0 -5982 1 1.2966 1 281.3393329920462 164.2754728462107 0 0 0 0 -6015 1 1.2927 1 269.66620316126296 149.81421039099453 0 0 0 0 -6016 1 1.2927 1 312.03626565236164 189.9926595245542 0 0 0 0 -6030 1 1.2917 1 310.9111522185761 151.64238984099242 0 0 0 0 -6032 1 1.2914 1 277.9696473448426 167.79324578278673 0 0 0 0 -6054 1 1.2885 1 299.7176807609634 168.40340088162816 0 0 0 0 -6055 1 1.2883 1 282.23743726694335 163.40152094561188 0 0 0 0 -6076 1 1.2859 1 308.9579097496577 175.0913474148982 0 0 0 0 -6084 1 1.2847 1 324.80106001364715 163.74990604476994 0 0 0 0 -6091 1 1.2841 1 308.52674351964265 152.71054781622655 0 0 0 0 -6101 1 1.2831 1 316.6065274519665 162.41760143748348 0 0 0 0 -6117 1 1.2818 1 295.0876551601145 173.67039365068 0 0 0 0 -6149 1 1.2784 1 294.73269499783987 190.18579737561575 0 0 0 0 -6157 1 1.2772 1 304.1283798633669 175.40478103563512 0 0 0 0 -6164 1 1.2759 1 313.2245795905795 190.3685935251181 0 0 0 0 -6166 1 1.2758 1 319.3066871100499 156.4311118779828 0 0 0 0 -6173 1 1.275 1 285.6148874509899 165.65612267975143 0 0 0 0 -6260 1 1.2638 1 299.3400254488569 157.81473400845633 0 0 0 0 -8779 1 1.0647 1 306.07835975488297 197.8144432350937 0 0 0 0 -6295 1 1.261 1 290.7241621285496 167.9784753580312 0 0 0 0 -6334 1 1.2585 1 286.3052950858999 151.52797835018174 0 0 0 0 -6335 1 1.2584 1 285.1596636549383 172.65615153403402 0 0 0 0 -7135 1 1.1833 1 296.06032293636366 198.05131769534682 0 0 0 0 -6381 1 1.2535 1 293.8448461569205 169.20901279048658 0 0 0 0 -6382 1 1.2532 1 317.8747936417964 139.92987954731998 0 0 0 0 -6391 1 1.2523 1 298.14505755756386 171.9204684189262 0 0 0 0 -6402 1 1.2515 1 330.58394642263613 154.14193692458477 0 0 0 0 -6418 1 1.25 1 289.72423852198807 160.68377799446841 0 0 0 0 -6425 1 1.2497 1 272.7255272086868 168.35393150053417 0 0 0 0 -6479 1 1.2455 1 292.120826424318 189.77176232661736 0 0 0 0 -6487 1 1.2446 1 324.4860094226714 156.386612930689 0 0 0 0 -6492 1 1.2441 1 306.490494204859 158.33237084924792 0 0 0 0 -6535 1 1.2389 1 321.9759417606348 155.7628298130447 0 0 0 0 -6563 1 1.2362 1 324.4398407612146 149.15274518384666 0 0 0 0 -6601 1 1.2314 1 292.86772673876595 195.66600455008998 0 0 0 0 -6602 1 1.2313 1 277.81050072883215 146.2848727841047 0 0 0 0 -6625 1 1.2297 1 269.0042486175986 147.18964705135932 0 0 0 0 -6631 1 1.2289 1 303.7604598664717 178.57340395489496 0 0 0 0 -6636 1 1.2287 1 303.34175123175083 190.81207272312443 0 0 0 0 -7341 1 1.167 1 296.83599589917986 195.7349374954341 0 0 0 0 -6682 1 1.2238 1 310.1406791657544 160.43735103179648 0 0 0 0 -9474 1 1.0271 1 268.5251160707551 174.5648785796282 0 0 0 0 -6695 1 1.2226 1 326.9271499106353 140.649850857208 0 0 0 0 -6223 1 1.2683 1 297.8412505884185 191.2611277643125 0 0 0 0 -6723 1 1.2203 1 316.2346049099452 166.67522756804794 0 0 0 0 -6810 1 1.2113 1 321.53472563034535 169.21716668030197 0 0 0 0 -6863 1 1.2064 1 291.1095437647574 171.58238248424385 0 0 0 0 -6869 1 1.2048 1 283.67357830209176 158.42338271965457 0 0 0 0 -6879 1 1.2041 1 307.4216316897101 151.22490437168847 0 0 0 0 -6911 1 1.2012 1 271.35752576198456 153.4848060604439 0 0 0 0 -6914 1 1.2008 1 322.7387833471068 160.97597218817282 0 0 0 0 -2875 1 1.8687 1 330.85529919828787 152.6711889079353 0 -1 0 0 -6958 1 1.1977 1 277.24612816312407 159.27991126970045 0 0 0 0 -6967 1 1.1968 1 317.4250077264324 161.5943743127836 0 0 0 0 -6972 1 1.1963 1 291.67927973646334 195.77415039693642 0 0 0 0 -6973 1 1.1963 1 309.4767372873557 182.8079154379437 0 0 0 0 -7048 1 1.1896 1 288.86933701149513 163.89658854562342 0 0 0 0 -7058 1 1.1892 1 290.6847678158146 149.35772725521394 0 0 0 0 -7061 1 1.1891 1 275.7920081373397 176.92426731286554 0 0 0 0 -7063 1 1.1887 1 317.67792069630855 177.24724302248336 0 0 0 0 -7069 1 1.1884 1 277.0251668968709 161.93035230553326 0 0 0 0 -7084 1 1.1874 1 288.92109080082184 162.73337075968152 0 0 0 0 -1903 1 2.2997 1 304.50612544492895 193.39239674170963 0 0 0 0 -8531 1 1.079 1 299.518605767554 195.79361140381337 0 0 0 0 -7109 1 1.1851 1 310.12485658493875 173.24771343327328 0 0 0 0 -3098 1 1.7976 1 267.65143896878084 155.59735653432458 0 0 0 0 -7123 1 1.1838 1 306.95719476564193 188.81923342824646 0 0 0 0 -7132 1 1.1835 1 292.39864211005903 147.24506190577767 0 0 0 0 -4780 1 1.4514 1 296.7449073926525 200.28078682937 0 0 0 0 -9684 1 1.0163 1 330.989188669796 145.3063124321097 0 0 0 0 -8200 1 1.1015 1 302.49164459426754 190.08237466434954 0 0 0 0 -2249 1 2.118 1 305.0035140957001 196.28717769267092 0 0 0 0 -7165 1 1.1808 1 305.9736129212481 159.42588863612784 0 0 0 0 -7172 1 1.1805 1 297.63491480599396 148.58642825298773 0 0 0 0 -7213 1 1.1771 1 269.7739274286998 151.13083036826484 0 0 0 0 -7215 1 1.177 1 278.09519761355176 171.06566528329736 0 0 0 0 -7217 1 1.1766 1 310.90643684248016 168.6238142636732 0 0 0 0 -7231 1 1.1756 1 269.5146242076004 152.2697442119407 0 0 0 0 -2676 1 1.9399 1 297.4291135272122 198.7787772863602 0 0 0 0 -7240 1 1.1746 1 305.29986925852967 158.09226600498215 0 0 0 0 -11 1 34.1458 1 274.086945717909 194.40926734902263 0 0 0 0 -7373 1 1.1638 1 271.2541705466693 171.69115876825157 0 0 0 0 -7374 1 1.1637 1 317.8977012384799 168.6613654201486 0 0 0 0 -7378 1 1.1634 1 300.62494654666295 187.20116132872272 0 0 0 0 -7383 1 1.1628 1 284.36348252928383 143.49787544489217 0 0 0 0 -7400 1 1.1614 1 323.34396798920073 140.3173048272997 0 0 0 0 -7407 1 1.1606 1 270.55991031648125 152.6536271037301 0 0 0 0 -7412 1 1.1602 1 307.110301428951 159.67714516513522 0 0 0 0 -7488 1 1.1533 1 290.00227509750846 153.62200181101161 0 0 0 0 -7501 1 1.1523 1 323.98117030517614 159.06600913957482 0 0 0 0 -7647 1 1.1404 1 294.5569500673671 140.42164647341139 0 0 0 0 -7539 1 1.1495 1 287.46268801146914 150.05395999382515 0 0 0 0 -7569 1 1.1464 1 319.1323747938996 173.809067741178 0 0 0 0 -7596 1 1.1442 1 316.84111652079434 169.10220298003063 0 0 0 0 -7623 1 1.1427 1 289.3480654399375 141.32635251971928 0 0 0 0 -7626 1 1.1427 1 290.0656831239149 154.736707284371 0 0 0 0 -7665 1 1.139 1 284.2883950709138 176.49816799173703 0 0 0 0 -7680 1 1.1378 1 271.26141472301504 156.55485455276678 0 0 0 0 -7691 1 1.137 1 295.9653661627688 199.19658236913105 0 0 0 0 -7744 1 1.1332 1 318.36287073810263 144.5417630911351 0 0 0 0 -7752 1 1.132 1 324.9826676595715 150.16688204493798 0 0 0 0 -6779 1 1.2153 1 302.3613662353438 197.03938193103613 0 0 0 0 -7800 1 1.1288 1 312.77052062821315 165.75292206851216 0 0 0 0 -7802 1 1.1286 1 320.10134973771375 147.66239902388133 0 0 0 0 -7829 1 1.1271 1 308.41486997158853 150.80019693538443 0 0 0 0 -7837 1 1.1266 1 311.4149262966985 139.33897757903858 0 0 0 0 -7847 1 1.1256 1 287.7769904168597 158.9202306323521 0 0 0 0 -7942 1 1.1186 1 312.0523726890353 196.4346968288779 0 0 0 0 -3457 1 1.7012 1 271.3434540618412 163.51726105181243 0 0 0 0 -7974 1 1.1162 1 292.63972981043497 172.87947956645337 0 0 0 0 -7987 1 1.1152 1 324.3480076076859 148.04057702705757 0 0 0 0 -8001 1 1.1143 1 312.5047029159148 194.06060041150872 0 0 0 0 -8015 1 1.1137 1 306.6173230583194 170.96774194323663 0 0 0 0 -8093 1 1.1077 1 285.1269897196406 154.78488026865196 0 0 0 0 -2689 1 1.9341 1 308.76310806147495 201.0297009102011 0 0 0 0 -8123 1 1.1061 1 278.70566484582633 171.9878295018015 0 0 0 0 -8137 1 1.1053 1 278.88844350075493 155.64588671743996 0 0 0 0 -8139 1 1.1052 1 292.66170987240304 154.7095864212356 0 0 0 0 -8147 1 1.1048 1 304.64266273304924 177.8925466256118 0 0 0 0 -8221 1 1.1002 1 271.5846007782952 170.60876897376573 0 0 0 0 -8256 1 1.0974 1 275.2817779886649 146.22902123639466 0 0 0 0 -8262 1 1.0972 1 315.99241328901354 164.36365246222203 0 0 0 0 -4106 1 1.565 1 306.7992817967767 198.90266260025564 0 0 0 0 -8314 1 1.0932 1 312.69413414668253 192.99264995602067 0 0 0 0 -8320 1 1.0927 1 307.1422559566869 168.42266304413238 0 0 0 0 -3720 1 1.644 1 302.65195658816145 195.68218488186574 0 0 0 0 -8351 1 1.0905 1 285.91575675682105 155.47425499936958 0 0 0 0 -8406 1 1.0872 1 312.0187738722096 151.96119725886902 0 0 0 0 -8449 1 1.0844 1 321.2378203687839 153.5199116573082 0 0 0 0 -8519 1 1.0799 1 316.70783773784217 179.4370583048181 0 0 0 0 -8526 1 1.0795 1 313.8391661737973 165.58927547723763 0 0 0 0 -8532 1 1.0789 1 294.66174450072754 156.999083281662 0 0 0 0 -8548 1 1.0781 1 309.0052297772973 160.60318590177008 0 0 0 0 -9512 1 1.0253 1 268.0927305821727 154.2906195634346 0 0 0 0 -8557 1 1.0776 1 273.807892061033 176.80686317595428 0 0 0 0 -8568 1 1.0769 1 310.59573215237174 172.2461876349938 0 0 0 0 -3900 1 1.6076 1 297.03212009248983 197.09185012870142 0 0 0 0 -8587 1 1.0761 1 312.08766760563486 170.99855685170056 0 0 0 0 -3459 1 1.7008 1 309.8934060216131 198.16454222337202 0 0 0 0 -8620 1 1.0737 1 293.8723291645219 141.62425981151773 0 0 0 0 -8633 1 1.0728 1 276.1183446520963 150.19655205036173 0 0 0 0 -8670 1 1.0712 1 310.53409582538166 155.8168620460368 0 0 0 0 -8702 1 1.0697 1 319.66820721610367 172.8518740128599 0 0 0 0 -8709 1 1.0694 1 285.8638335361542 171.73009840519126 0 0 0 0 -8713 1 1.0692 1 299.2168349096015 165.80714143228545 0 0 0 0 -8110 1 1.1071 1 311.4148930045198 201.73423553827047 0 0 0 0 -8744 1 1.0673 1 295.8591938813158 190.18964977230465 0 0 0 0 -8756 1 1.0666 1 271.77673919859126 146.5141284917875 0 0 0 0 -8801 1 1.0632 1 274.92969215142193 149.96464752389016 0 0 0 0 -8830 1 1.0616 1 305.606783392453 148.92536300158042 0 0 0 0 -8831 1 1.0615 1 290.4703639289438 159.87472682993916 0 0 0 0 -8837 1 1.0611 1 302.78048803587626 165.78093153978458 0 0 0 0 -8841 1 1.0607 1 306.53268762140095 151.78560469836827 0 0 0 0 -8872 1 1.0589 1 309.82244772590707 142.86075138623443 0 0 0 0 -8884 1 1.0582 1 296.73412617235203 191.45811936821903 0 0 0 0 -8896 1 1.0575 1 308.2102817726914 144.6903139847762 0 0 0 0 -8908 1 1.057 1 294.9792949494994 141.47793069362882 0 0 0 0 -9703 1 1.015 1 311.41798544729124 200.61976948209954 0 0 0 0 -8937 1 1.0558 1 320.1646103993219 141.11520210518378 0 0 0 0 -8953 1 1.055 1 302.402521628419 168.42912728937432 0 0 0 0 -8975 1 1.0539 1 291.5876562413003 140.78067145735716 0 0 0 0 -9010 1 1.0522 1 285.6259581982955 181.13597507362667 0 0 0 0 -9114 1 1.0466 1 306.20685086987066 160.76828926319513 0 0 0 0 -5950 1 1.2997 1 271.97341007434346 155.58138224766185 0 0 0 0 -9167 1 1.0436 1 296.5438184627603 171.3948249934183 0 0 0 0 -9169 1 1.0435 1 285.9195213522554 179.2390288389137 0 0 0 0 -9171 1 1.0434 1 296.9259502802081 149.4118436229123 0 0 0 0 -9186 1 1.0428 1 298.8979609745162 169.18510986292017 0 0 0 0 -9196 1 1.0422 1 315.74158641047296 182.08978513751472 0 0 0 0 -9197 1 1.0421 1 305.57564908545135 166.71678752446937 0 0 0 0 -9213 1 1.0412 1 291.2158592124385 190.44639382012625 0 0 0 0 -9219 1 1.041 1 305.6237817748551 177.6388858992012 0 0 0 0 -9239 1 1.0401 1 292.2182493925055 171.89810049669097 0 0 0 0 -3281 1 1.7451 1 271.75431864025757 173.249250199146 0 0 0 0 -9290 1 1.0372 1 296.90624917772163 168.29552268815874 0 0 0 0 -9327 1 1.0348 1 273.4638264173568 156.67664903638956 0 0 0 0 -9334 1 1.0344 1 293.5160316916888 155.33214284863362 0 0 0 0 -9369 1 1.0325 1 318.4861627874331 150.94478763782038 0 0 0 0 -9371 1 1.0323 1 293.98037900082244 156.22896255358202 0 0 0 0 -9376 1 1.0321 1 306.79172374900486 176.21278440990974 0 0 0 0 -9406 1 1.0302 1 302.2971589635791 178.8098009227337 0 0 0 0 -9467 1 1.0275 1 277.8873260616304 147.88027370673308 0 0 0 0 -9510 1 1.0254 1 311.57439717150106 171.9620810444039 0 0 0 0 -9511 1 1.0253 1 304.6999663083751 148.41725211354472 0 0 0 0 -9527 1 1.0244 1 286.3629244860313 166.47465937280973 0 0 0 0 -9546 1 1.0235 1 318.84485100652023 146.18087915929854 0 0 0 0 -9554 1 1.0231 1 290.3439423264711 174.81641351537704 0 0 0 0 -9567 1 1.0221 1 315.4705369971313 142.53168000564523 0 0 0 0 -9574 1 1.0219 1 302.0614938884161 146.51619912143806 0 0 0 0 -9579 1 1.0217 1 289.2977512843317 161.72112508068372 0 0 0 0 -9591 1 1.0213 1 327.2524809814714 160.51846096957013 0 0 0 0 -9607 1 1.0203 1 277.8348031121628 164.24412858904793 0 0 0 0 -9616 1 1.0198 1 297.96985153546404 145.0303816390389 0 0 0 0 -9622 1 1.0196 1 292.18698974374524 175.94518251063016 0 0 0 0 -3784 1 1.6332 1 311.05625524724184 203.03566735439023 0 0 0 0 -9633 1 1.0189 1 306.3188360566627 154.35931681915923 0 0 0 0 -9653 1 1.0178 1 325.6334501802584 157.1416963928735 0 0 0 0 -9898 1 1.0051 1 282.73800100676067 142.25707502957817 0 0 0 0 -9736 1 1.0133 1 291.3678118870272 191.45344211555806 0 0 0 0 -9764 1 1.0118 1 271.59020563348867 152.43710449072591 0 0 0 0 -9776 1 1.0112 1 284.83937299540764 155.73449204938808 0 0 0 0 -9778 1 1.0111 1 311.1276220852761 140.30854012641677 0 0 0 0 -9785 1 1.0108 1 302.4853506964318 173.78268848169603 0 0 0 0 -4413 1 1.5129 1 286.805129930691 140.17608307475155 0 0 0 0 -9821 1 1.0088 1 283.58247739450104 142.7557957429472 0 0 0 0 -9910 1 1.0046 1 278.51129049261226 147.11285233771662 0 0 0 0 -9868 1 1.0063 1 286.5897021877665 159.51259229446543 0 0 0 0 -1486 1 2.5915 1 271.74073184768287 166.7350800358789 0 0 0 0 -9900 1 1.005 1 286.63725646625676 163.17036960755027 0 0 0 0 -9902 1 1.0049 1 275.7591844778289 145.3093900566353 0 0 0 0 -6747 1 1.2184 1 331.71269903796735 147.35402987366882 0 -1 0 0 -2152 1 2.1561 1 323.1312428567811 138.71928118665232 0 0 0 0 -4616 1 1.4787 1 291.1578089881232 138.74555379837253 0 0 0 0 -5336 1 1.3715 1 331.78127833307593 154.61985752085258 0 0 0 0 -14 1 29.6841 1 300.31144852325497 240.84189492188548 0 0 0 0 -43 1 15.1326 1 299.6460991046012 208.01150094079279 0 0 0 0 -55 1 12.7841 1 303.1738954490412 264.5193213331362 0 0 0 0 -81 1 10.2427 1 277.99625292811385 263.08560461896434 0 0 0 0 -114 1 9.201 1 286.31684227666426 214.06100145397713 0 0 0 0 -156 1 7.5293 1 287.6180727072153 256.2407221225924 0 0 0 0 -161 1 7.4871 1 321.7523317110315 255.95129633155915 0 0 0 0 -215 1 6.5762 1 305.26713266613086 223.51306942752498 0 0 0 0 -8711 1 1.0693 1 318.61427843851635 248.91672355775793 0 0 0 0 -230 1 6.3247 1 294.55694794256254 260.58365979437076 0 0 0 0 -240 1 6.2782 1 310.39239886621993 258.00521991944726 0 0 0 0 -280 1 5.9044 1 293.62987517367293 221.85362355054016 0 0 0 0 -290 1 5.8218 1 287.30635879070695 263.62336449953693 0 0 0 0 -306 1 5.6966 1 280.7952251175876 227.3518297494654 0 0 0 0 -319 1 5.5431 1 322.3989481526084 263.4678540062425 0 0 0 0 -334 1 5.4378 1 286.1048709665511 223.50137005771927 0 0 0 0 -337 1 5.4167 1 279.01634472361087 232.5386560418022 0 0 0 0 -9268 1 1.0383 1 274.8774040955182 224.9767899037966 0 0 0 0 -366 1 5.1829 1 310.24048902461766 226.62968378878276 0 0 0 0 -376 1 5.082 1 281.91478284351484 238.44248623335096 0 0 0 0 -409 1 4.8983 1 279.7431044935978 242.8395741203561 0 0 0 0 -481 1 4.5088 1 274.8091075440314 213.59163461285124 0 0 0 0 -490 1 4.426 1 276.98323464701446 217.4229443564994 0 0 0 0 -3288 1 1.7437 1 272.13818263018493 217.23043631317344 0 0 0 0 -9059 1 1.0498 1 277.5663833148598 226.48896395284322 0 0 0 0 -580 1 4.1031 1 329.75417981117243 267.3088070488844 0 0 0 0 -589 1 4.0512 1 309.7657908343324 212.99510870612102 0 0 0 0 -618 1 3.9701 1 314.6790348285096 262.1910457250791 0 0 0 0 -623 1 3.9446 1 315.0874151542181 248.7110378151221 0 0 0 0 -4251 1 1.5421 1 283.8631563288178 209.30898001843738 0 0 0 0 -659 1 3.8669 1 291.8532555083675 264.8960248019642 0 0 0 0 -668 1 3.8472 1 284.7434441650408 235.11592089879255 0 0 0 0 -677 1 3.8287 1 282.6908082382534 247.59238306743254 0 0 0 0 -8964 1 1.0545 1 296.6497207019128 266.7245433051464 0 0 0 0 -7776 1 1.1306 1 287.0324339993277 208.24529089233468 0 0 0 0 -813 1 3.5563 1 278.2795424772325 222.99519603249252 0 0 0 0 -846 1 3.4629 1 303.893745331154 216.22378357843766 0 0 0 0 -849 1 3.4617 1 285.48644350113955 230.83537553326912 0 0 0 0 -856 1 3.4469 1 308.6770473032198 219.53521298198143 0 0 0 0 -905 1 3.3492 1 319.0107654700675 266.1910938939798 0 0 0 0 -2780 1 1.9014 1 287.5602249195497 206.67929359681764 0 0 0 0 -1009 1 3.1617 1 281.2774230785946 254.475472387641 0 0 0 0 -1060 1 3.0759 1 278.2550109953895 254.58784662965343 0 0 0 0 -1062 1 3.0665 1 288.2027757366742 219.84240097157877 0 0 0 0 -1072 1 3.0597 1 317.5658803139148 258.9613589434526 0 0 0 0 -1076 1 3.0513 1 296.7693747778631 224.92140129168402 0 0 0 0 -1105 1 3.0129 1 311.2261017151054 252.9790451470259 0 0 0 0 -1138 1 2.9722 1 316.6724823445399 255.15913108166097 0 0 0 0 -3933 1 1.6014 1 269.80237814439187 211.6994438401366 0 0 0 0 -1151 1 2.9533 1 278.5611269711215 212.28094322039473 0 0 0 0 -1219 1 2.8909 1 290.51575923092037 227.79961811737533 0 0 0 0 -1220 1 2.8898 1 311.3070193089656 262.46698533351554 0 0 0 0 -7463 1 1.1561 1 272.74553763830954 220.93555651891756 0 0 0 0 -1236 1 2.8713 1 296.810479826384 216.48928955671082 0 0 0 0 -1247 1 2.8535 1 274.80597762722704 220.25448851204047 0 0 0 0 -1254 1 2.8461 1 294.375353058223 256.0458523639568 0 0 0 0 -1257 1 2.8442 1 303.3958453626381 256.7416115344187 0 0 0 0 -1319 1 2.7698 1 291.23837352144335 210.82034417199915 0 0 0 0 -1328 1 2.759 1 293.2705586632973 226.1275905862452 0 0 0 0 -9937 1 1.0034 1 282.88814581284646 220.2874330797512 0 0 0 0 -1368 1 2.7177 1 283.7079071170833 253.04986557560767 0 0 0 0 -1398 1 2.6831 1 309.2595449502524 216.55493204026553 0 0 0 0 -1423 1 2.6579 1 278.5210747788441 246.3388499195987 0 0 0 0 -1431 1 2.6461 1 314.7240575027481 257.1327141833642 0 0 0 0 -1462 1 2.6076 1 319.52555573549466 247.3578460076453 0 0 0 0 -1481 1 2.5942 1 286.0971347351272 250.17416104810718 0 0 0 0 -1528 1 2.5472 1 317.86532611595675 243.96212816678334 0 0 0 0 -1529 1 2.5467 1 285.6497138806353 227.39950270041206 0 0 0 0 -1533 1 2.5448 1 299.9536470955413 256.87644692700655 0 0 0 0 -1541 1 2.5363 1 289.63410217027877 225.27721645313898 0 0 0 0 -1549 1 2.5336 1 326.88217633190743 265.7676325607493 0 0 0 0 -1567 1 2.5203 1 313.54239607861757 266.9539938890462 0 0 0 0 -1608 1 2.4858 1 312.7337576084414 264.65345158919615 0 0 0 0 -1618 1 2.4826 1 327.7957205193262 260.4036863363047 0 0 0 0 -1631 1 2.466 1 316.2755215197852 242.10501768866615 0 0 0 0 -1662 1 2.446 1 288.290557697519 251.3561756328185 0 0 0 0 -1663 1 2.4454 1 283.944084492813 261.36404721905 0 0 0 0 -1678 1 2.4405 1 296.5755951754114 219.03814124554745 0 0 0 0 -1703 1 2.4209 1 289.63102064229133 222.11785967564725 0 0 0 0 -1717 1 2.4125 1 328.063825809088 262.9610497623867 0 0 0 0 -1736 1 2.3997 1 317.1195137764188 264.0980165718321 0 0 0 0 -1742 1 2.3899 1 315.83935609170277 252.6781215267714 0 0 0 0 -1745 1 2.3876 1 296.77855909814537 256.8624393370402 0 0 0 0 -1749 1 2.3855 1 300.53575023881865 220.50518753605772 0 0 0 0 -2471 1 2.0212 1 272.55238728995215 265.82882215596095 0 0 0 0 -9131 1 1.0457 1 317.561614252393 248.8644942417904 0 0 0 0 -1809 1 2.3518 1 284.54734980844916 243.17268910782488 0 0 0 0 -1822 1 2.344 1 304.67126978060895 219.09466955050868 0 0 0 0 -1834 1 2.3384 1 316.5465033534789 245.92024169363083 0 0 0 0 -948 1 3.2519 1 289.1917027378117 208.64756679084684 0 0 0 0 -1869 1 2.3203 1 282.61189425129487 230.81221938100958 0 0 0 0 -2862 1 1.8735 1 330.07353041789696 262.5718562276037 0 -1 0 0 -8601 1 1.0748 1 270.4924859065812 213.98088841820993 0 0 0 0 -1914 1 2.29 1 288.9181829986415 229.7627908731559 0 0 0 0 -9254 1 1.0392 1 277.5753900699974 257.5115732098096 0 0 0 0 -9391 1 1.0313 1 272.5446402928288 264.3266704290929 0 0 0 0 -1964 1 2.262 1 310.6009817356766 221.58110021799848 0 0 0 0 -1983 1 2.2509 1 307.79289209622965 210.702084968776 0 0 0 0 -1995 1 2.245 1 318.1223069131447 252.7762137897869 0 0 0 0 -2001 1 2.2424 1 313.631475737347 252.07101139554953 0 0 0 0 -2021 1 2.2252 1 305.74999627816595 214.0940899227416 0 0 0 0 -2022 1 2.2249 1 281.9932876184586 217.7075925830416 0 0 0 0 -7651 1 1.1403 1 282.5135955414526 266.57032694080004 0 0 0 0 -2024 1 2.2241 1 317.75617099916605 261.88880430743444 0 0 0 0 -9506 1 1.0255 1 295.6658118372739 214.9861241589052 0 0 0 0 -2040 1 2.2182 1 295.85095061547287 265.3140812501394 0 0 0 0 -8300 1 1.0946 1 287.940693927503 205.24466840517192 0 0 0 0 -2060 1 2.2066 1 298.30431843253746 222.83237885934236 0 0 0 0 -8979 1 1.0537 1 317.60940743226774 256.92207880192535 0 0 0 0 -2127 1 2.166 1 280.2216736361108 220.93329565532096 0 0 0 0 -2131 1 2.1643 1 307.73029411708495 254.8276836307525 0 0 0 0 -2155 1 2.1546 1 311.02721798319686 218.17849795619256 0 0 0 0 -2157 1 2.1542 1 279.0473228254187 249.80512187204383 0 0 0 0 -2160 1 2.1513 1 282.7879555954793 244.56267894767342 0 0 0 0 -2169 1 2.1494 1 292.21403556653144 257.2532395552155 0 0 0 0 -2171 1 2.1484 1 285.6307739691294 219.66995980344615 0 0 0 0 -9025 1 1.0514 1 318.1036881467252 251.1480252606119 0 0 0 0 -9851 1 1.0075 1 311.87276457499945 220.6257528216226 0 0 0 0 -2221 1 2.1271 1 315.99388767716465 238.8863487267901 0 0 0 0 -8919 1 1.0564 1 283.6387188704063 263.05668191442555 0 0 0 0 -2259 1 2.1139 1 325.64825969303007 259.6558197177295 0 0 0 0 -2284 1 2.1015 1 292.0467338957294 218.19666503749022 0 0 0 0 -9385 1 1.0316 1 308.53968796136985 221.6878091633354 0 0 0 0 -2299 1 2.0932 1 278.5062460206299 251.80665841729362 0 0 0 0 -9905 1 1.0047 1 326.6162592096448 262.1930825299788 0 0 0 0 -2328 1 2.0765 1 280.2605314872392 218.8794193894055 0 0 0 0 -2357 1 2.0635 1 294.22137317651277 214.6513567000711 0 0 0 0 -8787 1 1.0641 1 287.8881688402805 226.32125372644364 0 0 0 0 -2392 1 2.0505 1 282.57878047734715 221.75670710097904 0 0 0 0 -2420 1 2.0411 1 315.16741536006805 236.0109756889355 0 0 0 0 -2445 1 2.0287 1 326.12373833315894 257.71140327649357 0 0 0 0 -2452 1 2.027 1 276.38911347557485 225.0132135696544 0 0 0 0 -8700 1 1.0698 1 312.5351622937762 260.94078775402727 0 0 0 0 -2496 1 2.0117 1 275.9870159748006 257.3512122745642 0 0 0 0 -2497 1 2.011 1 330.2850772521813 264.3903531760518 0 0 0 0 -2500 1 2.0104 1 283.6632214462345 218.96327842879379 0 0 0 0 -2524 1 2.0021 1 307.6143573155732 214.94041087405796 0 0 0 0 -2543 1 1.9911 1 308.15683692536237 207.65180706095057 0 0 0 0 -2553 1 1.9883 1 271.8156284721888 214.71169035041277 0 0 0 0 -2638 1 1.9545 1 290.0433357642047 218.20212367992946 0 0 0 0 -2660 1 1.944 1 298.6377630756938 219.58485278653473 0 0 0 0 -9592 1 1.0212 1 315.4863803191822 264.544449298616 0 0 0 0 -2684 1 1.9366 1 326.08228110060554 263.7392165448109 0 0 0 0 -9487 1 1.0265 1 287.8236299752369 249.71940737166125 0 0 0 0 -2695 1 1.9316 1 310.62495629042513 208.67373550296324 0 0 0 0 -2711 1 1.926 1 297.4128623130075 221.02955789018193 0 0 0 0 -2762 1 1.9077 1 299.9139791313326 224.04497646959814 0 0 0 0 -2769 1 1.9062 1 279.9777870978367 248.03358209160703 0 0 0 0 -8655 1 1.0721 1 301.3195033503736 224.46148719038996 0 0 0 0 -2787 1 1.8998 1 316.0358219660576 265.90034303427603 0 0 0 0 -2788 1 1.8984 1 292.13902287960343 255.31366709691304 0 0 0 0 -9326 1 1.0348 1 275.93258619958897 229.12501702913903 0 0 0 0 -9505 1 1.0256 1 284.3311990587005 265.24714886630477 0 0 0 0 -2827 1 1.8857 1 283.55225019443236 232.62000018767438 0 0 0 0 -2859 1 1.8765 1 299.9065146545599 218.21840863171192 0 0 0 0 -2898 1 1.8634 1 284.2013041809724 259.3033847632552 0 0 0 0 -2911 1 1.8604 1 287.18033865928606 228.839619770668 0 0 0 0 -2950 1 1.8482 1 314.50653511836913 234.18724113692485 0 0 0 0 -2952 1 1.8473 1 290.0021922122628 267.0379858230786 0 0 0 0 -2958 1 1.8453 1 277.77225942270746 214.45384513366153 0 0 0 0 -3005 1 1.8288 1 310.74611873664645 206.803097965276 0 0 0 0 -3057 1 1.8104 1 290.8343484690403 262.1966183582325 0 0 0 0 -3103 1 1.7963 1 306.4632749088383 216.31796819000346 0 0 0 0 -3119 1 1.7885 1 301.632742772599 217.51781519645866 0 0 0 0 -3194 1 1.7673 1 290.5379541163919 260.00018723401956 0 0 0 0 -3210 1 1.7635 1 313.6536204407887 230.79143381321407 0 0 0 0 -9211 1 1.0413 1 310.0248525038511 263.92281003401934 0 0 0 0 -7260 1 1.1735 1 271.1616388000027 211.86999364116622 0 0 0 0 -3329 1 1.733 1 280.9456295204767 222.68760749193066 0 0 0 0 -3338 1 1.7315 1 285.6609517734644 260.3161204998549 0 0 0 0 -6988 1 1.1954 1 291.3446929670609 212.77750807403518 0 0 0 0 -3394 1 1.717 1 300.2191235538816 216.49424968788395 0 0 0 0 -3404 1 1.7139 1 281.39222050224373 235.135139718949 0 0 0 0 -3437 1 1.7077 1 312.80954048331114 250.2982911102318 0 0 0 0 -9849 1 1.0077 1 304.81959261682573 255.49053206312016 0 0 0 0 -3460 1 1.7008 1 279.98374502305916 256.43936542223224 0 0 0 0 -9926 1 1.004 1 313.28438445722173 260.16860268761855 0 0 0 0 -3484 1 1.6973 1 277.9491387923705 220.44676053004798 0 0 0 0 -3514 1 1.691 1 312.0295856597713 230.45370093128813 0 0 0 0 -3530 1 1.6869 1 286.39146745890713 247.8317255687159 0 0 0 0 -5472 1 1.3535 1 283.7541235264689 264.2259254038787 0 0 0 0 -3580 1 1.6748 1 320.52356248553923 260.3820065461058 0 0 0 0 -9126 1 1.0459 1 274.4745462887845 216.34364209272678 0 0 0 0 -3650 1 1.6621 1 283.30710561726954 250.2124642702658 0 0 0 0 -7158 1 1.1814 1 282.6325871906287 209.85719358362772 0 0 0 0 -3668 1 1.6562 1 284.0811849191239 220.70142257789598 0 0 0 0 -9739 1 1.0131 1 282.1718466196303 232.36925270420403 0 0 0 0 -3725 1 1.6434 1 278.0843723202133 239.09956902543993 0 0 0 0 -3736 1 1.6417 1 280.53063922938514 215.32087512865783 0 0 0 0 -4340 1 1.5241 1 274.1312005893184 218.1888708131427 0 0 0 0 -7119 1 1.1841 1 289.7741207889912 206.58833886694165 0 0 0 0 -3786 1 1.6329 1 314.12578027313845 259.1712306363212 0 0 0 0 -3837 1 1.6196 1 280.5906589600244 245.94656762833637 0 0 0 0 -3867 1 1.6135 1 317.53009515358224 247.5598213307587 0 0 0 0 -3898 1 1.6087 1 315.7276410889724 244.11347406392954 0 0 0 0 -9428 1 1.0293 1 322.97672217122204 260.0054400395095 0 0 0 0 -3920 1 1.6032 1 301.4297739358605 222.22643067465242 0 0 0 0 -9130 1 1.0457 1 273.67934753371674 217.01372338779976 0 0 0 0 -3960 1 1.5941 1 281.8809277536484 219.59228068129067 0 0 0 0 -3964 1 1.5934 1 292.4822164148621 215.01627289354818 0 0 0 0 -3972 1 1.5912 1 310.81815732206155 210.40609522047927 0 0 0 0 -3984 1 1.5895 1 276.9851148450384 252.72698347227353 0 0 0 0 -4029 1 1.5779 1 314.07786675704887 232.540118502073 0 0 0 0 -4068 1 1.5716 1 279.94071077002275 235.84617667442134 0 0 0 0 -4093 1 1.568 1 275.60506832834665 223.49202971686427 0 0 0 0 -9361 1 1.0328 1 282.36737772792964 223.25147577375932 0 0 0 0 -4154 1 1.5578 1 291.2254497787001 207.4022356673544 0 0 0 0 -4171 1 1.5551 1 276.50087833986856 230.24556719986936 0 0 0 0 -4172 1 1.5549 1 311.03215030181184 215.43495815689639 0 0 0 0 -4205 1 1.5487 1 281.3093858613102 212.2335585347775 0 0 0 0 -4232 1 1.5455 1 290.95899050422395 216.74106744808708 0 0 0 0 -4240 1 1.5431 1 319.2773115684973 250.62348326685552 0 0 0 0 -4258 1 1.5408 1 282.8275408276497 224.4328201062343 0 0 0 0 -4339 1 1.5245 1 311.49272570460107 223.56216342295969 0 0 0 0 -8736 1 1.0678 1 311.3759569228552 216.655400995741 0 0 0 0 -4364 1 1.5207 1 281.81706039760087 250.44332940453512 0 0 0 0 -4373 1 1.5194 1 309.09353332089603 253.65633408720177 0 0 0 0 -4374 1 1.5191 1 273.02751666081855 215.93854341080515 0 0 0 0 -4424 1 1.5106 1 277.62407670184035 235.6645628818082 0 0 0 0 -4430 1 1.5094 1 282.77908836930436 258.5003329904361 0 0 0 0 -4437 1 1.5081 1 277.28939137760557 227.7199013875158 0 0 0 0 -4453 1 1.5061 1 313.0010257878369 254.33897858948256 0 0 0 0 -9985 1 1.0008 1 298.6217223531251 225.61647613833938 0 0 0 0 -4499 1 1.4972 1 311.4191252334134 266.0269578814767 0 0 0 0 -6871 1 1.2046 1 267.75730200086633 210.88368085528123 0 0 0 0 -4513 1 1.4949 1 309.18496820661414 222.7040875225538 0 0 0 0 -9769 1 1.0115 1 319.49774223625803 259.5411145969111 0 0 0 0 -4568 1 1.4862 1 318.96231636977126 263.77571259821076 0 0 0 0 -4577 1 1.485 1 328.60593243860995 264.79587691309615 0 0 0 0 -4595 1 1.481 1 285.1649953764247 246.9664669175313 0 0 0 0 -4630 1 1.4771 1 284.44407720440324 251.18782689351542 0 0 0 0 -4633 1 1.4766 1 319.79344654865196 251.98272890005234 0 0 0 0 -4644 1 1.4739 1 303.1193710111267 220.14674683000442 0 0 0 0 -4647 1 1.4736 1 306.3579994094712 257.6263483093912 0 0 0 0 -4654 1 1.4725 1 278.81002839553963 237.75871067102688 0 0 0 0 -4667 1 1.4697 1 319.92436231045014 249.31229529994943 0 0 0 0 -4680 1 1.4676 1 280.5647986051347 210.96007433946477 0 0 0 0 -4713 1 1.4623 1 274.74362497373795 222.3277141854937 0 0 0 0 -4724 1 1.4597 1 284.09309994931454 226.21393182865555 0 0 0 0 -4767 1 1.4533 1 283.85951700898136 241.06877654867722 0 0 0 0 -4771 1 1.4529 1 294.5176495883435 266.44768016448694 0 0 0 0 -9250 1 1.0394 1 325.29444753373207 264.99073442295565 0 0 0 0 -4790 1 1.4506 1 306.00699472121664 255.3073960576652 0 0 0 0 -4793 1 1.45 1 321.309724757913 249.69574337635223 0 0 0 0 -4799 1 1.449 1 293.2227682092229 213.23943158264862 0 0 0 0 -4823 1 1.4458 1 294.67894130674586 216.6884739371982 0 0 0 0 -4847 1 1.4422 1 275.1406669849072 226.1580573587942 0 0 0 0 -5892 1 1.3057 1 283.1958105291212 265.4143466998618 0 0 0 0 -4861 1 1.4396 1 283.1516217412762 256.3796316731404 0 0 0 0 -4888 1 1.4348 1 287.3458800570899 232.33849868036694 0 0 0 0 -4948 1 1.4258 1 280.5782290117922 257.87186202757675 0 0 0 0 -4955 1 1.4254 1 314.5276706734647 255.11001930917885 0 0 0 0 -4967 1 1.424 1 315.5148064346879 259.67578385581703 0 0 0 0 -9006 1 1.0524 1 282.483944424409 234.3731299031811 0 0 0 0 -4983 1 1.4226 1 306.93042372613866 256.3702277681235 0 0 0 0 -4991 1 1.4212 1 324.6918518000555 266.05251165642136 0 0 0 0 -5071 1 1.409 1 281.08664789589795 213.95105825839207 0 0 0 0 -5072 1 1.4088 1 314.5387460728807 265.2760118540778 0 0 0 0 -6858 1 1.2068 1 268.4652619666319 211.82041088691506 0 0 0 0 -5103 1 1.4036 1 284.98832151126186 239.0284001078287 0 0 0 0 -5134 1 1.3984 1 314.3041741187759 253.7416198868897 0 0 0 0 -5139 1 1.3978 1 306.4750087588652 218.68055823629723 0 0 0 0 -8168 1 1.1031 1 270.497523482481 216.98043500225936 0 0 0 0 -5195 1 1.3895 1 285.090275142154 248.4733010569128 0 0 0 0 -5205 1 1.3881 1 301.8977723802061 225.4775911364054 0 0 0 0 -5218 1 1.3868 1 307.04485890230177 212.82793290273392 0 0 0 0 -5222 1 1.3864 1 281.9904394901466 210.95063306923097 0 0 0 0 -6629 1 1.2291 1 270.49848553950136 212.87017232748815 0 0 0 0 -5238 1 1.3837 1 316.9092075485794 240.3449572625185 0 0 0 0 -5240 1 1.3833 1 285.6497610467949 245.70094810316704 0 0 0 0 -5272 1 1.3795 1 318.0238805114046 249.95405456477556 0 0 0 0 -5281 1 1.3782 1 319.13138355687056 245.4287801518981 0 0 0 0 -5322 1 1.373 1 294.24871921318464 218.30989507450704 0 0 0 0 -1806 1 2.3525 1 268.8068196943192 213.5404888522196 0 0 0 0 -5350 1 1.3696 1 307.31888915510416 217.59636980021477 0 0 0 0 -5360 1 1.3686 1 293.4102729446481 216.1331901841566 0 0 0 0 -5362 1 1.3684 1 277.664307281839 237.07720232886328 0 0 0 0 -5381 1 1.3664 1 298.311840194589 217.96888187569087 0 0 0 0 -5384 1 1.3664 1 277.9710436549365 225.3803497768943 0 0 0 0 -5424 1 1.3605 1 278.50547462212 256.76528532797465 0 0 0 0 -5458 1 1.3551 1 283.4058126235661 255.03492617802172 0 0 0 0 -5466 1 1.3549 1 276.4109319294033 226.65606592119101 0 0 0 0 -5483 1 1.3526 1 291.4687801445939 208.80804669784897 0 0 0 0 -5533 1 1.3467 1 301.5798388055382 215.9643011956254 0 0 0 0 -5548 1 1.3442 1 280.8607303602052 249.37535284362525 0 0 0 0 -5559 1 1.3435 1 279.7407044589269 214.0473832150849 0 0 0 0 -2382 1 2.0551 1 285.4586833003312 208.51559805307872 0 0 0 0 -5570 1 1.3415 1 309.4684274690605 261.6010996840605 0 0 0 0 -5573 1 1.341 1 314.8029247253198 246.1238949462741 0 0 0 0 -5578 1 1.3405 1 290.57255092954205 219.83121301471016 0 0 0 0 -8611 1 1.0745 1 271.3364065936212 216.13349637260376 0 0 0 0 -5605 1 1.3364 1 283.6596084129105 229.33798817665544 0 0 0 0 -5607 1 1.336 1 313.3401975500067 255.69831798092352 0 0 0 0 -5611 1 1.3357 1 324.9192884275008 261.18668271813806 0 0 0 0 -5652 1 1.3321 1 272.38706406853305 212.0202544250546 0 0 0 0 -5666 1 1.3306 1 279.6917382292209 252.97258505149895 0 0 0 0 -5670 1 1.3299 1 310.8402777131069 264.75312079298504 0 0 0 0 -5703 1 1.3251 1 282.76419948796206 259.8994831078795 0 0 0 0 -5706 1 1.3249 1 299.98963511566825 222.36612344327204 0 0 0 0 -5719 1 1.3243 1 280.494267317658 250.61906191481836 0 0 0 0 -5742 1 1.3215 1 285.1359327420908 237.67182369531284 0 0 0 0 -5751 1 1.3203 1 301.6178103374227 257.708122094066 0 0 0 0 -5760 1 1.3192 1 305.74113737000675 217.6359172584479 0 0 0 0 -5764 1 1.3183 1 321.9548682173013 250.88841405960235 0 0 0 0 -6630 1 1.2289 1 273.51241435534695 221.8049980287664 0 0 0 0 -5793 1 1.3151 1 274.2752622658067 224.01300941043473 0 0 0 0 -5802 1 1.3144 1 298.80757369659244 216.1583692702095 0 0 0 0 -5845 1 1.3102 1 312.8011354556083 231.9076965859582 0 0 0 0 -5858 1 1.3092 1 279.09180245026533 215.16047557645788 0 0 0 0 -5918 1 1.3031 1 309.4335223054117 210.08858668492724 0 0 0 0 -5920 1 1.3028 1 311.0189034866859 219.87265439286952 0 0 0 0 -5945 1 1.3001 1 271.71577319659116 213.10843911930357 0 0 0 0 -7085 1 1.1874 1 292.1549777115958 204.89174267239602 0 0 0 0 -5977 1 1.2967 1 277.53654128547487 249.10233971844596 0 0 0 0 -5991 1 1.2954 1 310.0580669717616 265.860745106983 0 0 0 0 -5998 1 1.2948 1 320.65890854541897 250.90361009669968 0 0 0 0 -6044 1 1.2899 1 280.1434194108578 251.79185326741566 0 0 0 0 -9105 1 1.0469 1 280.34775011591415 213.03345333525434 0 0 0 0 -6072 1 1.2862 1 313.0786355691188 228.10573447242808 0 0 0 0 -6074 1 1.286 1 291.53524711843625 213.98076156243704 0 0 0 0 -6077 1 1.2859 1 291.2630428953453 253.8942442083111 0 0 0 0 -6093 1 1.284 1 291.7365494670744 206.12147932908013 0 0 0 0 -6102 1 1.2831 1 281.83213577068096 256.5623392770674 0 0 0 0 -6103 1 1.283 1 290.5894685150489 252.8496872480445 0 0 0 0 -6159 1 1.2769 1 313.35727039310046 229.3288020160707 0 0 0 0 -7140 1 1.183 1 288.8577896095759 205.87434441012493 0 0 0 0 -8854 1 1.0599 1 277.03369644719504 251.415219534016 0 0 0 0 -9951 1 1.003 1 309.98035811598874 254.473141913479 0 0 0 0 -9858 1 1.0068 1 289.5584051811232 252.46381242733625 0 0 0 0 -6240 1 1.2663 1 279.79114512626575 217.37513159715246 0 0 0 0 -6244 1 1.2658 1 303.0142018628049 218.4003270806116 0 0 0 0 -6248 1 1.2653 1 285.41994901870675 252.13371055984672 0 0 0 0 -6273 1 1.2627 1 276.6919142679681 221.19422113263795 0 0 0 0 -9229 1 1.0405 1 320.90121438899104 248.53282095187706 0 0 0 0 -9780 1 1.0111 1 276.1596823656963 228.17493981953703 0 0 0 0 -6288 1 1.2617 1 305.49162650908903 256.5619288290301 0 0 0 0 -3482 1 1.6974 1 284.0626602226327 266.553503849465 0 0 0 0 -6316 1 1.2595 1 277.27920236558106 256.4510783327188 0 0 0 0 -8477 1 1.0825 1 311.1666517429771 205.41317509894424 0 0 0 0 -6371 1 1.255 1 286.6987868768247 233.5013992518029 0 0 0 0 -6373 1 1.255 1 291.27759916310487 258.67925055237214 0 0 0 0 -6379 1 1.254 1 286.61782710509715 252.00084108709825 0 0 0 0 -6400 1 1.2518 1 290.58509027973776 223.67523918877527 0 0 0 0 -6401 1 1.2518 1 282.4163000726151 241.4715928176033 0 0 0 0 -6417 1 1.2501 1 325.5355228154003 262.27946439754106 0 0 0 0 -8619 1 1.0737 1 306.31005393109183 203.4858841810154 0 0 0 0 -6477 1 1.2456 1 277.44936039991285 250.3586535036811 0 0 0 0 -6507 1 1.2424 1 281.542872356369 224.0052604456266 0 0 0 0 -6517 1 1.2416 1 326.1663305878703 261.21361127056963 0 0 0 0 -9899 1 1.0051 1 281.0123731637173 252.45233472334434 0 0 0 0 -8752 1 1.0669 1 298.3144775591111 257.58951484610344 0 0 0 0 -4416 1 1.5126 1 276.2477345672047 255.59596973940282 0 0 0 0 -9885 1 1.0057 1 292.40836401770116 227.74248712857016 0 0 0 0 -6654 1 1.2266 1 305.0716354162763 257.81191418317053 0 0 0 0 -9314 1 1.0355 1 299.74507703595026 258.59729957119333 0 0 0 0 -6733 1 1.2194 1 277.0377717318946 229.01123253244464 0 0 0 0 -6761 1 1.217 1 278.73141236115157 236.42213960788078 0 0 0 0 -9654 1 1.0177 1 309.61989590276556 207.61933267050517 0 0 0 0 -6811 1 1.2111 1 276.0491344516142 222.20545739570565 0 0 0 0 -8905 1 1.0572 1 292.35295420153835 253.89699781054549 0 0 0 0 -6847 1 1.2078 1 288.1584514045571 231.3187647897572 0 0 0 0 -6904 1 1.2018 1 302.2187186756436 221.09678952355233 0 0 0 0 -6948 1 1.1983 1 298.17854492098473 259.6615376013951 0 0 0 0 -6957 1 1.1978 1 312.0646477305353 222.3919170397624 0 0 0 0 -9725 1 1.0141 1 301.23713105083846 223.46771762250927 0 0 0 0 -6997 1 1.1945 1 319.627069246835 261.4825961536301 0 0 0 0 -7005 1 1.1939 1 293.2909487844802 254.43892465798154 0 0 0 0 -7091 1 1.1868 1 279.5139646253863 216.2594762822403 0 0 0 0 -7117 1 1.1843 1 273.6684863035935 222.96538879963992 0 0 0 0 -9640 1 1.0184 1 279.2172474255208 239.926965064803 0 0 0 0 -8652 1 1.0722 1 312.2112353949569 229.0688948984124 0 0 0 0 -7176 1 1.1802 1 284.8046289498705 244.8350264129718 0 0 0 0 -8721 1 1.0686 1 286.1898446054506 207.1652196489858 0 0 0 0 -7211 1 1.1773 1 295.2027968318957 226.29937454327646 0 0 0 0 -7254 1 1.1738 1 298.3224557169018 256.0975574594763 0 0 0 0 -1707 1 2.4166 1 272.4681682030166 219.20225191204125 0 0 0 0 -7267 1 1.1732 1 293.4340977951957 217.3720627275482 0 0 0 0 -7271 1 1.1731 1 323.91039836878014 260.5300412709599 0 0 0 0 -7283 1 1.1725 1 309.0967947214621 208.90871832179465 0 0 0 0 -7288 1 1.172 1 275.44644535803775 227.40401332069914 0 0 0 0 -7300 1 1.1707 1 321.9151062012747 260.21372837580105 0 0 0 0 -7331 1 1.168 1 310.89421221576987 229.67626952051106 0 0 0 0 -7337 1 1.1677 1 294.2490202557886 265.26078963990625 0 0 0 0 -6591 1 1.2326 1 273.6226746764037 267.0646016094809 0 0 0 0 -7375 1 1.1636 1 301.2250802589387 218.90587197888226 0 0 0 0 -7396 1 1.1618 1 278.54357428337056 248.26615029078417 0 0 0 0 -7410 1 1.1604 1 298.68273774866054 258.6200171073043 0 0 0 0 -7466 1 1.1559 1 281.5280646513096 258.72726326408645 0 0 0 0 -7495 1 1.1528 1 277.91769897667774 240.46284763264987 0 0 0 0 -3361 1 1.7252 1 289.55648499319403 203.18980079799513 0 0 0 0 -7529 1 1.1505 1 322.7342788325525 251.8010750345205 0 0 0 0 -7532 1 1.1503 1 306.4374302218914 219.90066885159143 0 0 0 0 -7549 1 1.1484 1 318.9993495441103 260.4976709482344 0 0 0 0 -9453 1 1.028 1 270.97832573960886 217.93134728382802 0 0 0 0 -7588 1 1.145 1 283.2155106066592 242.21296272471315 0 0 0 0 -7597 1 1.1442 1 280.37091355836935 223.98673179638504 0 0 0 0 -7605 1 1.1438 1 279.33525085869775 257.6371169157465 0 0 0 0 -7608 1 1.1436 1 278.84376341852834 219.44262062107936 0 0 0 0 -7610 1 1.1434 1 284.9068469098633 240.30082838363774 0 0 0 0 -7627 1 1.1426 1 294.2263357101542 264.19796064922014 0 0 0 0 -7630 1 1.1425 1 329.3343300839577 261.2937424411206 0 0 0 0 -7671 1 1.1385 1 310.1907094012419 223.49396613999792 0 0 0 0 -6687 1 1.2233 1 288.68415897924496 204.3692221492737 0 0 0 0 -7698 1 1.1366 1 297.57323724120744 258.4156984694737 0 0 0 0 -7703 1 1.1362 1 282.69507887027424 251.43068775172267 0 0 0 0 -7728 1 1.1346 1 300.6778325020419 225.39313544460302 0 0 0 0 -2240 1 2.1198 1 269.9395156576229 215.44072011207658 0 0 0 0 -7734 1 1.1338 1 288.36093390802296 227.47011444796516 0 0 0 0 -7735 1 1.1337 1 277.5495811747376 247.91142937027337 0 0 0 0 -7775 1 1.1306 1 278.1105523101515 229.4190184928577 0 0 0 0 -7781 1 1.1303 1 292.27196034305433 216.60069253014856 0 0 0 0 -7793 1 1.1292 1 284.40063299076667 249.45617735823257 0 0 0 0 -7891 1 1.122 1 281.6283442363097 216.09870176949462 0 0 0 0 -7892 1 1.122 1 317.0783352192123 251.46939021982277 0 0 0 0 -7903 1 1.121 1 282.1415467444712 233.39776162361088 0 0 0 0 -7914 1 1.1198 1 291.2459679748218 215.45940822717992 0 0 0 0 -7928 1 1.1193 1 295.3353560195408 217.78137783134179 0 0 0 0 -7955 1 1.1174 1 307.6824407736968 209.07412715416766 0 0 0 0 -7957 1 1.1172 1 316.98828245929127 267.03161484598957 0 0 0 0 -8065 1 1.11 1 324.0914146440864 259.46756372362876 0 0 0 0 -9619 1 1.0198 1 311.72836132786415 251.06535366496198 0 0 0 0 -8112 1 1.1068 1 287.2630147645682 248.84315477646888 0 0 0 0 -8119 1 1.1065 1 291.35584001272326 225.86933281346646 0 0 0 0 -8128 1 1.1056 1 315.00803589637485 251.18414497048994 0 0 0 0 -8144 1 1.1049 1 284.05859569116836 228.2122702201187 0 0 0 0 -8166 1 1.1033 1 284.0229035231522 245.5869091521117 0 0 0 0 -9958 1 1.0029 1 315.2800317636245 237.51195025817293 0 0 0 0 -8212 1 1.1006 1 312.4377508090286 224.44482773176017 0 0 0 0 -8229 1 1.0998 1 280.7049240627224 216.6724811918125 0 0 0 0 -8245 1 1.0981 1 306.8594644854456 258.7465761046935 0 0 0 0 -8279 1 1.0964 1 281.99944301366276 252.2639176424324 0 0 0 0 -8289 1 1.0956 1 288.871579769308 260.42992287485083 0 0 0 0 -8305 1 1.0942 1 281.8015933879487 257.6836284937988 0 0 0 0 -8933 1 1.056 1 291.3243587738462 224.63374582127372 0 0 0 0 -8341 1 1.0911 1 296.31368351702673 263.77965913924635 0 0 0 0 -8378 1 1.0886 1 316.9152971147067 250.39865294171645 0 0 0 0 -8395 1 1.0877 1 316.571288805667 257.1685165632417 0 0 0 0 -8419 1 1.0864 1 319.246188000194 262.539303860974 0 0 0 0 -8452 1 1.0842 1 299.6110891839741 225.4878625602296 0 0 0 0 -1700 1 2.4251 1 290.3921251118444 204.96636802859615 0 0 0 0 -8495 1 1.0811 1 283.56622779255423 257.54488843595726 0 0 0 0 -8520 1 1.0797 1 316.63254575844695 260.716333384774 0 0 0 0 -9629 1 1.0193 1 276.6866155375991 220.0837156715263 0 0 0 0 -8545 1 1.0784 1 302.24757524136515 219.26157113484885 0 0 0 0 -536 1 4.2432 1 308.6585123813323 204.63582746049815 0 0 0 0 -8581 1 1.0763 1 289.77538759322874 261.20253678334325 0 0 0 0 -9947 1 1.0031 1 308.9963289130978 223.8734768807934 0 0 0 0 -8606 1 1.0747 1 292.3812704829145 212.33564475682996 0 0 0 0 -9201 1 1.0418 1 316.05635149790754 250.99583491199505 0 0 0 0 -6461 1 1.2467 1 295.6327263162932 267.1927447117946 0 0 0 0 -5340 1 1.371 1 315.4306263258107 267.38256958988944 0 0 0 0 -2314 1 2.0833 1 288.1108183071605 267.4281711643232 0 0 0 0 -22 1 21.3501 1 325.7269514453548 279.1473477763208 0 0 0 0 -24 1 20.9287 1 301.50012428314 319.51729191420424 0 0 0 0 -33 1 17.6088 1 309.64721948811655 297.5465314168522 0 0 0 0 -47 1 13.5938 1 315.8019925711041 331.43786578878894 0 0 0 0 -67 1 11.3032 1 309.68578722175795 280.38015236929857 0 0 0 0 -72 1 10.8701 1 274.90122130426323 272.98426012497544 0 0 0 0 -75 1 10.514 1 286.1193116202897 281.5320163815835 0 0 0 0 -84 1 10.0972 1 280.27645724799515 305.9531963442394 0 0 0 0 -6218 1 1.2691 1 294.1395786577989 273.3866232552047 0 0 0 0 -102 1 9.5724 1 293.8875634230108 304.0943012613121 0 0 0 0 -9734 1 1.0134 1 268.1741857571728 283.54576422968705 0 0 0 0 -122 1 8.8662 1 298.48645844011725 277.46148833896245 0 0 0 0 -146 1 7.7435 1 276.01750454157667 285.4101585058007 0 0 0 0 -209 1 6.6389 1 289.4891349531468 295.41032264438485 0 0 0 0 -216 1 6.5709 1 272.5585809225152 308.65210019921585 0 0 0 0 -342 1 5.3782 1 320.04919095028265 292.2201021326774 0 0 0 0 -7244 1 1.1743 1 267.6359336763795 284.4285223243372 0 0 0 0 -372 1 5.0959 1 314.1487616769972 322.28212343927214 0 0 0 0 -382 1 5.0566 1 291.10773549036696 289.89896917133444 0 0 0 0 -407 1 4.9035 1 297.0016533586391 284.1285443904591 0 0 0 0 -414 1 4.8627 1 320.5948054791158 313.14981764786586 0 0 0 0 -452 1 4.644 1 325.8658186178398 320.2032384917687 0 0 0 0 -470 1 4.5587 1 285.2780261895035 298.90387814348276 0 0 0 0 -491 1 4.4229 1 321.89777286751195 322.6551275023545 0 0 0 0 -492 1 4.4198 1 316.06909520717085 270.80928577538623 0 0 0 0 -514 1 4.3171 1 281.89077435027076 296.1398373020531 0 0 0 0 -522 1 4.2945 1 283.2276434550682 312.42364063034637 0 0 0 0 -8 1 37.6745 1 270.73901923858557 330.4876581295166 0 0 0 0 -553 1 4.1921 1 314.8266257013935 313.262464493739 0 0 0 0 -560 1 4.1737 1 324.3304953414036 302.1934373404446 0 0 0 0 -587 1 4.0709 1 298.9106625196425 296.6943459655397 0 0 0 0 -646 1 3.901 1 311.0708053254269 311.821657587232 0 0 0 0 -651 1 3.8853 1 311.64009128482337 308.04748399667744 0 0 0 0 -653 1 3.8852 1 305.97975702095107 287.55147737926063 0 0 0 0 -656 1 3.8759 1 315.51299313316287 307.7293420603105 0 0 0 0 -667 1 3.8478 1 320.3079369777118 297.85850318715734 0 0 0 0 -4523 1 1.494 1 298.1702490816976 271.03380038998176 0 0 0 0 -709 1 3.765 1 299.5949672321161 307.4654472375137 0 0 0 0 -718 1 3.7548 1 325.0399289484526 293.13582207277904 0 0 0 0 -720 1 3.7486 1 322.8723553081702 326.5724655023979 0 0 0 0 -199 1 6.8708 1 294.01498139243023 331.1511361859442 0 0 -1 0 -5171 1 1.3921 1 289.4629590880676 271.4730485724529 0 0 0 0 -5080 1 1.4078 1 307.72268263638244 270.57192584971506 0 0 0 0 -734 1 3.713 1 301.048704784659 285.2850095060438 0 0 0 0 -747 1 3.6915 1 297.7502856878094 289.68217869490405 0 0 0 0 -801 1 3.5868 1 308.6582490992851 272.8344182294737 0 0 0 0 -804 1 3.5785 1 306.7399011714635 308.63754300994503 0 0 0 0 -812 1 3.5593 1 316.343033252157 287.14643368552555 0 0 0 0 -817 1 3.5469 1 281.4572570284114 286.64580916188356 0 0 0 0 -824 1 3.5279 1 281.9605179914667 273.54323626636705 0 0 0 0 -1360 1 2.7284 1 272.52176350809776 300.8834006385489 0 0 0 0 -845 1 3.4643 1 328.11849134267965 291.3279550232983 0 0 0 0 -6160 1 1.2761 1 301.10490541966607 273.2162331958359 0 0 0 0 -861 1 3.441 1 318.5715614648723 316.6720409026603 0 0 0 0 -885 1 3.3813 1 289.58131796385896 308.79430105348877 0 0 0 0 -887 1 3.38 1 323.7465354527749 315.69093643524843 0 0 0 0 -891 1 3.3742 1 326.0050741018955 298.82170148179205 0 0 0 0 -932 1 3.2899 1 281.626062999074 290.53001119453785 0 0 0 0 -968 1 3.2206 1 292.432379464524 279.018941176927 0 0 0 0 -976 1 3.2116 1 319.6812945721566 303.8072930661529 0 0 0 0 -984 1 3.2058 1 329.72927732634275 323.5398220267489 0 0 0 0 -988 1 3.1965 1 291.16372829463575 274.6181492558329 0 0 0 0 -992 1 3.1884 1 313.1467709485262 287.88475137954873 0 0 0 0 -999 1 3.1776 1 326.131775890356 324.0654355449113 0 0 0 0 -1051 1 3.0898 1 304.3440429717461 306.36443417342946 0 0 0 0 -1066 1 3.0626 1 292.6552493507715 282.95858742219514 0 0 0 0 -1073 1 3.0595 1 300.8808118618426 288.6115252303578 0 0 0 0 -1102 1 3.0146 1 320.8356673127636 319.15944775585007 0 0 0 0 -1125 1 2.9851 1 293.51937058523043 310.36142484279037 0 0 0 0 -1144 1 2.9669 1 277.76148489329773 293.81421047859567 0 0 0 0 -1148 1 2.959 1 307.2916802674749 331.2991981728074 0 0 0 0 -1190 1 2.9166 1 313.1463989352869 317.62253695410504 0 0 0 0 -1213 1 2.8949 1 280.77307206513166 299.5451576834953 0 0 0 0 -1223 1 2.8847 1 288.0431518461036 306.1155787340911 0 0 0 0 -1230 1 2.8775 1 285.50620962436165 315.1410908715789 0 0 0 0 -1242 1 2.8593 1 287.6661083248729 288.0126093920888 0 0 0 0 -7782 1 1.1303 1 268.5742283573363 295.86224354939094 0 0 0 0 -1276 1 2.8176 1 319.5756821526954 306.717425812194 0 0 0 0 -1282 1 2.8091 1 286.9421043605766 310.21740342494905 0 0 0 0 -1306 1 2.7866 1 301.7150308493661 282.18849073500115 0 0 0 0 -1318 1 2.7713 1 267.6425440937277 307.3935153226777 0 0 0 0 -1364 1 2.7244 1 289.4278545167754 316.1801308091286 0 0 0 0 -1396 1 2.6876 1 315.6123148833847 316.53921319117325 0 0 0 0 -9987 1 1.0007 1 269.443277583702 300.14692963174434 0 0 0 0 -1449 1 2.6209 1 276.9500607739939 291.1920330081143 0 0 0 0 -1471 1 2.6035 1 294.0975728920943 294.1014412781476 0 0 0 0 -1950 1 2.2695 1 313.2080126660554 269.2770815639277 0 0 0 0 -1487 1 2.5913 1 273.8170519373374 303.0918270196448 0 0 0 0 -1498 1 2.5799 1 303.76811390435176 283.84615088981076 0 0 0 0 -1514 1 2.5619 1 273.69264691399223 289.9563945104741 0 0 0 0 -1527 1 2.5484 1 323.1740630930256 299.0508660221629 0 0 0 0 -1561 1 2.5238 1 293.6895934929792 285.44618462094354 0 0 0 0 -1584 1 2.5049 1 324.8265057953282 296.2178040987185 0 0 0 0 -1592 1 2.4999 1 317.4825177737638 311.2295506535404 0 0 0 0 -1595 1 2.499 1 291.38856667700065 326.27370786929157 0 0 0 0 -1600 1 2.4937 1 284.3721573009828 291.42409971729256 0 0 0 0 -8987 1 1.0533 1 324.1420229743013 268.08673458194767 0 0 0 0 -1610 1 2.4848 1 278.8908466026185 289.60948719906264 0 0 0 0 -1616 1 2.483 1 286.5186612560187 312.7434153220844 0 0 0 0 -694 1 3.7963 1 310.4026040841399 268.37786947158315 0 0 0 0 -1630 1 2.4673 1 327.1226454957629 295.4206257008251 0 0 0 0 -1659 1 2.4477 1 269.63906584703926 285.9378341279863 0 0 0 0 -1670 1 2.4419 1 315.18214598588366 284.4003145379263 0 0 0 0 -1671 1 2.4415 1 295.04806967570516 288.39412139131866 0 0 0 0 -1712 1 2.4148 1 287.3280911058601 275.26187114454297 0 0 0 0 -1730 1 2.4066 1 322.9710025632737 309.820839751633 0 0 0 0 -1737 1 2.3983 1 317.7477013176269 321.41023611216576 0 0 0 0 -1761 1 2.3764 1 276.96500699663727 279.1772420306017 0 0 0 0 -9001 1 1.0526 1 301.57594367999116 272.2117773095907 0 0 0 0 -1774 1 2.3713 1 290.2099397962933 313.41254946061287 0 0 0 0 -1777 1 2.3706 1 288.890175157468 322.1584818613937 0 0 0 0 -1784 1 2.3661 1 304.78868877112956 275.17592718364943 0 0 0 0 -1792 1 2.3607 1 280.89256548715935 277.9712936437692 0 0 0 0 -1795 1 2.3602 1 302.27427234603846 290.8817751314667 0 0 0 0 -7262 1 1.1734 1 312.1710875991193 274.69368545885027 0 0 0 0 -2816 1 1.8901 1 305.32753794329165 273.1673173627504 0 0 0 0 -1867 1 2.3206 1 289.8980470609058 299.77922621245085 0 0 0 0 -1893 1 2.3042 1 324.53508281790045 330.1349146806617 0 0 0 0 -1896 1 2.3024 1 284.08101389690523 293.7263886384983 0 0 0 0 -1912 1 2.2916 1 316.02497221239105 289.97607271487834 0 0 0 0 -1933 1 2.2803 1 323.8515518245951 305.3790493190499 0 0 0 0 -1934 1 2.2803 1 298.6044561440562 300.61584139123806 0 0 0 0 -1940 1 2.2765 1 286.2550847727643 317.5724535143841 0 0 0 0 -1993 1 2.2456 1 279.0643381159953 297.7356067589813 0 0 0 0 -2020 1 2.2273 1 318.72237952066547 324.117611500171 0 0 0 0 -2034 1 2.2201 1 322.07987172524105 306.891064047403 0 0 0 0 -2457 1 2.0254 1 325.5320655942994 267.5214794115832 0 0 0 0 -2055 1 2.2077 1 296.1595519517499 292.12794216015305 0 0 0 0 -2063 1 2.2035 1 272.7335005955359 292.0588085309884 0 0 0 0 -2081 1 2.1925 1 279.3001271586641 291.854875027542 0 0 0 0 -7035 1 1.1906 1 280.07229856267065 268.2727867368544 0 0 0 0 -2105 1 2.1813 1 290.49382779961377 328.38831839171775 0 0 0 0 -2149 1 2.1575 1 328.6836797829835 298.81464461685925 0 0 0 0 -2174 1 2.1478 1 315.2880903324745 318.89501956828315 0 0 0 0 -2185 1 2.1446 1 287.0599332597651 302.502521739809 0 0 0 0 -2209 1 2.1327 1 279.5772285729234 282.0137848842524 0 0 0 0 -2229 1 2.1241 1 289.6728640897651 286.6661608547588 0 0 0 0 -2232 1 2.1234 1 285.00786500060593 302.1921520759021 0 0 0 0 -5291 1 1.3769 1 270.53301396965196 282.5763578695352 0 0 0 0 -2237 1 2.1204 1 291.7148986845308 286.4555307314186 0 0 0 0 -2246 1 2.1185 1 298.8326661016225 287.0652301228963 0 0 0 0 -1956 1 2.2667 1 306.14275246680177 271.35636851883316 0 0 0 0 -2265 1 2.1092 1 294.0631993563302 291.8073899964191 0 0 0 0 -2266 1 2.108 1 318.3244205437412 319.33090313453346 0 0 0 0 -2294 1 2.096 1 275.30162196407827 301.3535569700124 0 0 0 0 -2330 1 2.0763 1 287.95681604930496 300.6668122197799 0 0 0 0 -2351 1 2.068 1 330.7883777369349 327.1616613578581 0 0 0 0 -2424 1 2.0394 1 278.9030908306378 280.09508807221334 0 0 0 0 -9884 1 1.0057 1 320.5863747090487 267.6929384454499 0 0 0 0 -2492 1 2.0134 1 318.05015550208384 309.0919426744996 0 0 0 0 -2515 1 2.0056 1 303.967868751779 289.6067795998415 0 0 0 0 -2520 1 2.0043 1 321.8515678516245 295.4255743187878 0 0 0 0 -2535 1 1.9974 1 325.20622517267805 328.1601700305501 0 0 0 0 -2579 1 1.9785 1 286.4128266932435 292.3952229460757 0 0 0 0 -2583 1 1.9764 1 268.839129228501 276.598521785193 0 0 0 0 -2592 1 1.971 1 272.1757818373991 282.5341120775999 0 0 0 0 -2606 1 1.9658 1 288.6404036818839 320.0665588527408 0 0 0 0 -2637 1 1.9546 1 288.2751013476563 318.15405508342616 0 0 0 0 -2644 1 1.951 1 329.1323428068141 329.9263806137108 0 0 0 0 -2682 1 1.9373 1 319.7776806491429 301.3002825741262 0 0 0 0 -2707 1 1.927 1 281.1390960806097 293.05908454090445 0 0 0 0 -2757 1 1.9088 1 303.71052502300887 277.9140439949704 0 0 0 0 -2766 1 1.9066 1 320.3795214721905 325.31590899751535 0 0 0 0 -2794 1 1.8948 1 291.57804896822205 311.80323953624213 0 0 0 0 -2801 1 1.8932 1 311.22934669413786 325.28768891555933 0 0 0 0 -9421 1 1.0296 1 309.8285955955866 270.7104987106071 0 0 0 0 -2829 1 1.885 1 278.050478570638 312.1513832099885 0 0 0 0 -2839 1 1.883 1 322.15602880891686 304.28856091461466 0 0 0 0 -2840 1 1.8829 1 284.60846466873704 288.5072938178215 0 0 0 0 -2852 1 1.8786 1 284.7367570988568 309.8090547811109 0 0 0 0 -2891 1 1.8644 1 327.31805922619304 329.9098157365746 0 0 0 0 -6748 1 1.2184 1 314.6842022481716 268.400605462579 0 0 0 0 -2921 1 1.8569 1 280.414571218725 313.4156021669543 0 0 0 0 -2941 1 1.8502 1 326.191483588336 331.28319267094554 0 0 0 0 -3003 1 1.8289 1 312.6415728688117 315.3257968458942 0 0 0 0 -7534 1 1.1499 1 297.7504428315239 329.8337442153184 0 0 -1 0 -8098 1 1.1075 1 322.9970571541342 330.58195493896 0 0 0 0 -3037 1 1.8152 1 328.45017432533086 325.6343263393505 0 0 0 0 -3041 1 1.8141 1 279.8317388299831 311.7835056320073 0 0 0 0 -3058 1 1.8101 1 294.81042707994453 296.1144281913373 0 0 0 0 -3096 1 1.7985 1 298.5892880984405 293.8678822620201 0 0 0 0 -3101 1 1.7967 1 299.68698025536213 302.2295188981567 0 0 0 0 -6276 1 1.2624 1 308.1518675325013 269.3798834449048 0 0 0 0 -3133 1 1.7835 1 286.9595224248782 319.42128794079133 0 0 0 0 -1614 1 2.4831 1 267.7764842277797 299.76657712115525 0 0 0 0 -9921 1 1.0043 1 309.0448909139173 286.84012923990116 0 0 0 0 -3155 1 1.7781 1 299.5588826924031 303.8967753019421 0 0 0 0 -3162 1 1.7764 1 303.5999723333813 286.09830829085024 0 0 0 0 -3215 1 1.7613 1 278.0781614694823 296.08670884324226 0 0 0 0 -8675 1 1.0712 1 270.11526401569495 284.27979122727606 0 0 0 0 -4852 1 1.4409 1 310.7663366660929 271.46893791838204 0 0 0 0 -3339 1 1.7313 1 296.99448102487435 299.46466507561934 0 0 0 0 -3343 1 1.7303 1 305.3997629424314 330.0563446135815 0 0 0 0 -3406 1 1.7136 1 277.12551521847104 301.00556934075536 0 0 0 0 -3407 1 1.7131 1 328.18826452133413 331.45884997543106 0 0 0 0 -3421 1 1.7106 1 322.8949910300772 296.95025795191543 0 0 0 0 -3452 1 1.7035 1 293.3034812296755 287.44338155459906 0 0 0 0 -3486 1 1.6962 1 319.8395958512373 308.87428194809246 0 0 0 0 -3490 1 1.6957 1 326.4153903649846 326.86949507951505 0 0 0 0 -6536 1 1.2387 1 330.03983380184945 296.03671947373385 0 -1 0 0 -3509 1 1.6923 1 302.28990827880443 307.4419892041812 0 0 0 0 -3521 1 1.6892 1 286.0510487448984 305.04602371923744 0 0 0 0 -3526 1 1.6884 1 307.9903601933361 328.6552191505837 0 0 0 0 -3529 1 1.6874 1 278.65308327095374 300.3276864872034 0 0 0 0 -3552 1 1.6809 1 301.40971463807927 304.66362625773013 0 0 0 0 -3564 1 1.6776 1 321.0043045559631 309.9761004722053 0 0 0 0 -3567 1 1.677 1 315.47671192386116 273.9509933887226 0 0 0 0 -3575 1 1.675 1 314.6780895463763 310.3366194041551 0 0 0 0 -3588 1 1.6738 1 295.47773933814307 298.73984400633714 0 0 0 0 -3599 1 1.6713 1 298.0679603231678 292.28407156185364 0 0 0 0 -3620 1 1.6673 1 289.1033918235381 276.22665935997355 0 0 0 0 -3637 1 1.6649 1 309.2851605078543 327.60882313367557 0 0 0 0 -3647 1 1.6628 1 295.21981529065766 290.4016838411031 0 0 0 0 -3692 1 1.6501 1 280.2363336040652 276.11965317607184 0 0 0 0 -6849 1 1.2077 1 279.007098341895 268.67272959988577 0 0 0 0 -3701 1 1.646 1 324.6079559490749 290.53800550393873 0 0 0 0 -3735 1 1.6423 1 309.6322277417538 287.97996838688056 0 0 0 0 -3755 1 1.6389 1 301.14727027748734 292.4644168457283 0 0 0 0 -3929 1 1.6022 1 283.0807032464576 267.8408829470909 0 0 0 0 -3764 1 1.6373 1 293.1555762509769 297.24916337142645 0 0 0 0 -3787 1 1.6328 1 286.9567155706944 308.0422581192414 0 0 0 0 -3819 1 1.623 1 291.65367522219555 298.96308352313844 0 0 0 0 -4150 1 1.5583 1 331.24190423565807 297.9429163560214 0 -1 0 0 -3896 1 1.6088 1 323.4516332044284 311.73627874197587 0 0 0 0 -3907 1 1.6062 1 283.446409759606 301.1975884048694 0 0 0 0 -6095 1 1.2839 1 268.34545619170603 282.4888985492014 0 0 0 0 -3918 1 1.6034 1 292.11160763878934 313.4441472061426 0 0 0 0 -5564 1 1.3425 1 301.1352988938288 271.17266260689377 0 0 0 0 -3938 1 1.6007 1 285.4232564891995 295.0187021989796 0 0 0 0 -3985 1 1.5893 1 317.95075873778177 302.2522505140551 0 0 0 0 -3995 1 1.5874 1 276.2143668275316 298.0392136269101 0 0 0 0 -4128 1 1.5626 1 268.09529231262616 281.1762705884077 0 0 0 0 -4165 1 1.5557 1 292.56222378581884 292.7962520809176 0 0 0 0 -4173 1 1.5544 1 327.1236180988183 328.2640889812627 0 0 0 0 -4230 1 1.5459 1 289.20927336492446 324.05746838520116 0 0 0 0 -4242 1 1.543 1 318.8110132106773 299.9500152028704 0 0 0 0 -4256 1 1.5411 1 290.33686271316515 320.01953778355926 0 0 0 0 -4267 1 1.5382 1 290.74797389725774 322.59571481716665 0 0 0 0 -4273 1 1.5374 1 271.5389587559277 286.3580311825775 0 0 0 0 -4295 1 1.5335 1 323.7639175472222 313.2581134000386 0 0 0 0 -4296 1 1.5332 1 322.5444733720687 317.74700276030654 0 0 0 0 -4308 1 1.5313 1 317.5013704221051 304.7259106513232 0 0 0 0 -4309 1 1.5311 1 329.82463815253107 297.3937490500541 0 0 0 0 -4329 1 1.5272 1 276.9075755146171 299.42697407887556 0 0 0 0 -4349 1 1.5233 1 268.4422617398826 311.0797005295361 0 0 0 0 -4376 1 1.5189 1 274.8747833109402 298.7174396250012 0 0 0 0 -4412 1 1.5132 1 282.9601750743033 288.58676843021755 0 0 0 0 -4445 1 1.5069 1 299.65800014924685 282.4737825744597 0 0 0 0 -4473 1 1.5022 1 329.036990985869 327.1668032663735 0 0 0 0 -4475 1 1.502 1 318.92642682668674 295.45387106452756 0 0 0 0 -4515 1 1.4946 1 316.8710185815431 324.07570702761745 0 0 0 0 -4557 1 1.4879 1 319.2523660841928 310.323402285401 0 0 0 0 -4564 1 1.487 1 318.659852934671 288.0532088238063 0 0 0 0 -227 1 6.3748 1 292.9560540552824 269.8654764475325 0 0 0 0 -6529 1 1.2399 1 304.4881146915996 331.1646790744169 0 0 0 0 -4592 1 1.4817 1 313.4618943179009 306.1756083118862 0 0 0 0 -4609 1 1.4791 1 295.3171370012968 281.4628645907254 0 0 0 0 -4610 1 1.4791 1 282.4465028855657 276.90298347555967 0 0 0 0 -4690 1 1.4659 1 310.80571550316495 274.14892994551883 0 0 0 0 -6208 1 1.2707 1 331.4223199423986 269.39308688026625 0 0 0 0 -4701 1 1.4647 1 317.7108823001996 314.4255631777539 0 0 0 0 -4711 1 1.4627 1 294.28939010922517 280.33958804936344 0 0 0 0 -4736 1 1.4586 1 300.38182400337536 300.07489974194397 0 0 0 0 -4741 1 1.4576 1 299.64263470777644 292.6880842614092 0 0 0 0 -4750 1 1.4569 1 283.88998710803844 287.0456428303766 0 0 0 0 -4811 1 1.447 1 277.00483837129366 281.003058728037 0 0 0 0 -4812 1 1.4469 1 279.21291398969674 277.2647956329933 0 0 0 0 -7632 1 1.1422 1 298.82944964150437 330.18830874182197 0 0 -1 0 -4843 1 1.4426 1 300.9888513344603 301.37252358486717 0 0 0 0 -4864 1 1.4393 1 327.77453795070653 300.32285402258424 0 0 0 0 -288 1 5.831 1 269.2933388342145 303.53808403364 0 0 0 0 -4900 1 1.4324 1 315.3748107936824 305.1172351715806 0 0 0 0 -4914 1 1.4303 1 314.72096106455547 276.6038157062041 0 0 0 0 -4927 1 1.4288 1 277.1633042774304 310.78896253201015 0 0 0 0 -4932 1 1.4283 1 321.4057772591145 301.53475595638906 0 0 0 0 -4959 1 1.4249 1 295.3807161861847 309.2747661913804 0 0 0 0 -4964 1 1.4242 1 290.4655664906406 317.94713288224483 0 0 0 0 -5009 1 1.4195 1 328.7728923113416 296.3883441752612 0 0 0 0 -5013 1 1.4186 1 290.64607970402204 324.0517103288038 0 0 0 0 -5040 1 1.4151 1 290.1080218604702 311.12012473736104 0 0 0 0 -5059 1 1.4117 1 269.3834063777915 283.30514242515284 0 0 0 0 -5082 1 1.4075 1 280.44574062157807 284.4499231141625 0 0 0 0 -5107 1 1.403 1 291.6216021807018 276.8632472695604 0 0 0 0 -5127 1 1.3987 1 272.6342102322822 288.3708189010416 0 0 0 0 -5128 1 1.3987 1 288.3903012485456 313.0876644296446 0 0 0 0 -5131 1 1.3985 1 330.95183737741024 325.4559278932194 0 0 0 0 -5133 1 1.3984 1 287.38416916021197 316.1355330480215 0 0 0 0 -8280 1 1.0964 1 313.31591402230697 270.9557426455762 0 0 0 0 -5175 1 1.3919 1 314.19892585161085 285.93981198028865 0 0 0 0 -5201 1 1.3884 1 302.3150579071539 303.49659642009107 0 0 0 0 -5224 1 1.3863 1 287.44690228699073 314.4076116030365 0 0 0 0 -5250 1 1.3818 1 323.2844477137621 291.26132411326984 0 0 0 0 -8914 1 1.0569 1 294.9721280976516 274.0777752011549 0 0 0 0 -5267 1 1.3804 1 288.430147624912 291.5989158154632 0 0 0 0 -5269 1 1.3797 1 282.82198910860365 315.18975056400126 0 0 0 0 -5338 1 1.371 1 270.59825332162035 300.21965076310613 0 0 0 0 -5293 1 1.3767 1 288.4692351443963 303.5347551716224 0 0 0 0 -5325 1 1.3726 1 309.0656157200955 307.9815522258773 0 0 0 0 -5334 1 1.3716 1 287.2810280174071 304.18625250083466 0 0 0 0 -4353 1 1.5226 1 304.27524383429915 271.5738881639928 0 0 0 0 -5369 1 1.3677 1 316.69704130433246 319.880650362634 0 0 0 0 -5450 1 1.3564 1 297.1330270331877 287.25282297879477 0 0 0 0 -5457 1 1.3552 1 289.27161283856424 273.43456911897107 0 0 0 0 -245 1 6.2611 1 268.5317935486523 292.2094493797818 0 0 0 0 -5481 1 1.3526 1 317.5803342856696 306.1543607862623 0 0 0 0 -5487 1 1.3522 1 285.6981321432317 287.395956575663 0 0 0 0 -5538 1 1.3459 1 296.341708479118 296.08430235102696 0 0 0 0 -5539 1 1.3457 1 275.8659490657643 292.8347369361544 0 0 0 0 -5552 1 1.344 1 282.78310308968065 292.48429455942124 0 0 0 0 -9337 1 1.0343 1 331.0364348860412 288.99312597139686 0 -1 0 0 -5569 1 1.3418 1 303.60340100415794 281.6680642275973 0 0 0 0 -5574 1 1.341 1 329.74910877592737 321.30535895850613 0 0 0 0 -5602 1 1.3371 1 317.538986260279 313.0906377233294 0 0 0 0 -5614 1 1.3356 1 323.79965210441526 307.1594157755327 0 0 0 0 -5628 1 1.334 1 299.53800598606756 291.3617763967771 0 0 0 0 -5634 1 1.3334 1 308.31039839786666 310.5632286666136 0 0 0 0 -5667 1 1.3306 1 294.5539466187834 297.6069009019859 0 0 0 0 -5690 1 1.3269 1 280.50965604730965 279.75553822552774 0 0 0 0 -5698 1 1.3259 1 275.1843314749148 279.02428715310185 0 0 0 0 -8105 1 1.1072 1 268.4197817455575 296.947663996894 0 0 0 0 -5702 1 1.3253 1 286.76303101880535 289.8544860222617 0 0 0 0 -5705 1 1.3249 1 287.2678639687954 291.0306655396744 0 0 0 0 -5720 1 1.3242 1 310.14800890050225 286.6162088074948 0 0 0 0 -5735 1 1.3223 1 295.80673650348103 297.28188809502126 0 0 0 0 -2059 1 2.2067 1 287.70507609658074 269.5011130235232 0 0 0 0 -5746 1 1.3206 1 316.8537824818625 291.5180573398232 0 0 0 0 -5747 1 1.3206 1 312.895695273351 285.7151317813779 0 0 0 0 -5775 1 1.3166 1 322.75445236961224 294.0753896718817 0 0 0 0 -5790 1 1.3154 1 316.92081519906725 318.368238434483 0 0 0 0 -5804 1 1.3142 1 274.64413008739155 281.1586629972439 0 0 0 0 -5820 1 1.3124 1 303.42966856455774 276.366360816366 0 0 0 0 -5823 1 1.312 1 321.68012598912134 302.81658712870274 0 0 0 0 -5829 1 1.3116 1 275.31336858768753 311.4978228820697 0 0 0 0 -5840 1 1.3106 1 291.8559382356272 309.0906205217871 0 0 0 0 -5854 1 1.3095 1 290.6029346594838 277.7392092866807 0 0 0 0 -5871 1 1.3085 1 271.1639168707916 283.7807617771057 0 0 0 0 -5874 1 1.3081 1 317.0868010998468 303.376870368716 0 0 0 0 -7543 1 1.1489 1 302.06939696919477 330.4787845061471 0 0 -1 0 -5916 1 1.3032 1 296.65845505558093 309.5553491733425 0 0 0 0 -5919 1 1.3029 1 325.59528163342304 317.2462404104451 0 0 0 0 -5926 1 1.302 1 328.5168634439298 328.4459416302278 0 0 0 0 -4887 1 1.4349 1 319.614137507353 268.42753170096984 0 0 0 0 -5997 1 1.2951 1 308.3371197971725 306.86685245627115 0 0 0 0 -6007 1 1.2936 1 290.60136759056206 285.26209387544844 0 0 0 0 -3355 1 1.726 1 312.32728193180657 271.9610099070978 0 0 0 0 -6013 1 1.2933 1 293.03681068476385 312.38921994067226 0 0 0 0 -6029 1 1.2918 1 281.62898317593294 275.86797737439616 0 0 0 0 -6042 1 1.2902 1 284.62215979678945 316.9441196046017 0 0 0 0 -6056 1 1.2882 1 288.7162036697658 314.3688330127841 0 0 0 0 -4973 1 1.4235 1 289.29353316086167 268.67421655118426 0 0 0 0 -6104 1 1.283 1 297.08019826575634 293.91942750757755 0 0 0 0 -8296 1 1.0948 1 271.36986202210045 297.5247987265797 0 0 0 0 -6125 1 1.281 1 275.5797366246677 289.8648966901194 0 0 0 0 -6142 1 1.2794 1 283.7085253596399 289.72657495951967 0 0 0 0 -6148 1 1.2784 1 329.79935685078743 328.4795850457532 0 0 0 0 -6175 1 1.2749 1 325.2542952675836 326.05074176743176 0 0 0 0 -6187 1 1.2735 1 275.7403839297023 280.506587935066 0 0 0 0 -6198 1 1.2717 1 300.92114147611517 303.27747478493075 0 0 0 0 -6237 1 1.2664 1 300.68937483063246 294.82023844744185 0 0 0 0 -6239 1 1.2663 1 322.94359172229866 320.06985219706195 0 0 0 0 -6268 1 1.2633 1 313.44042305978087 311.0033535902336 0 0 0 0 -6280 1 1.2621 1 294.0157480001438 298.73039666055485 0 0 0 0 -6324 1 1.259 1 311.00851070760274 288.2422201373001 0 0 0 0 -6337 1 1.2582 1 288.81349146908576 310.9286209023281 0 0 0 0 -6338 1 1.2581 1 321.1482871759312 305.45906780437844 0 0 0 0 -6355 1 1.2564 1 301.69377770455776 306.0989347823046 0 0 0 0 -6359 1 1.2561 1 288.9991973564086 274.69048049033626 0 0 0 0 -535 1 4.2476 1 285.23007212893947 271.49714301473733 0 0 0 0 -6383 1 1.253 1 295.8155413917038 294.9311236588626 0 0 0 0 -6409 1 1.2509 1 291.3662967844106 310.2604188826527 0 0 0 0 -6442 1 1.248 1 273.5078170510178 281.6943201134218 0 0 0 0 -6448 1 1.2476 1 308.67450973368307 329.8379636686993 0 0 0 0 -6457 1 1.2469 1 303.1658333798519 279.4157595347327 0 0 0 0 -5812 1 1.3133 1 274.1622037932944 293.05860687197173 0 0 0 0 -6470 1 1.246 1 327.72155311173844 322.5911941950294 0 0 0 0 -6474 1 1.2457 1 293.3512372320782 295.8411790495672 0 0 0 0 -6482 1 1.245 1 321.7169805378779 316.6491377859979 0 0 0 0 -6484 1 1.245 1 328.52120670619695 321.69204044410134 0 0 0 0 -6509 1 1.2421 1 306.48159008820727 306.32723218823156 0 0 0 0 -6639 1 1.2286 1 302.4175472453488 271.45862324275595 0 0 0 0 -6827 1 1.2099 1 297.9628602089322 330.9568889099327 0 0 -1 0 -1142 1 2.9693 1 284.73789525463843 275.0185174101411 0 0 0 0 -6572 1 1.2352 1 327.4710130636376 293.58236954832086 0 0 0 0 -6578 1 1.2348 1 274.83477655217274 304.60025570730556 0 0 0 0 -7842 1 1.1264 1 269.8915870557819 299.1950652583283 0 0 0 0 -6612 1 1.2308 1 320.25834799808587 295.42094742064955 0 0 0 0 -6627 1 1.2292 1 312.55495743613386 319.5812566738636 0 0 0 0 -6633 1 1.2288 1 326.85622949653424 301.27360064527215 0 0 0 0 -3140 1 1.7811 1 318.92767083063956 269.83813908817984 0 0 0 0 -6653 1 1.2266 1 328.7483901911215 320.52331253516013 0 0 0 0 -1770 1 2.3726 1 297.29107312516084 269.32370356362907 0 0 0 0 -6667 1 1.2252 1 318.45073123739326 289.3533186698571 0 0 0 0 -6675 1 1.2247 1 288.00514402736604 290.01426351395145 0 0 0 0 -6680 1 1.2241 1 276.22322734430463 309.8905093918495 0 0 0 0 -6703 1 1.2221 1 273.573428124076 280.4795029054828 0 0 0 0 -6706 1 1.2216 1 297.80715152016165 309.1227088507423 0 0 0 0 -6740 1 1.219 1 296.7331213727478 298.0719148618869 0 0 0 0 -6742 1 1.2188 1 320.9761800622123 300.28837049593875 0 0 0 0 -8917 1 1.0567 1 276.5183065438965 311.88843199839016 0 0 0 0 -9877 1 1.006 1 318.2631742852471 301.0443221367137 0 0 0 0 -6781 1 1.2152 1 323.398673135554 295.11898408730065 0 0 0 0 -9962 1 1.0024 1 276.35427741666325 296.77467365921916 0 0 0 0 -6800 1 1.2126 1 283.733920636699 316.0767613426427 0 0 0 0 -6823 1 1.2102 1 287.0682525980053 273.49073241407297 0 0 0 0 -9941 1 1.0033 1 330.3801627370694 292.52426230340797 0 0 0 0 -2116 1 2.1719 1 296.6136895057091 271.92632833919293 0 0 0 0 -6850 1 1.2075 1 308.1215833517696 286.3489173271943 0 0 0 0 -1233 1 2.8731 1 285.734205197436 267.9913312668341 0 0 0 0 -6950 1 1.1982 1 303.30367081837494 304.48858858065455 0 0 0 0 -6971 1 1.1965 1 326.002273642716 290.404109259518 0 0 0 0 -6998 1 1.1944 1 291.47224737057144 314.65881955881 0 0 0 0 -6841 1 1.2084 1 300.9487275192527 330.74752335417725 0 0 0 0 -2359 1 2.0624 1 293.70118340423255 274.93758628408546 0 0 0 0 -7098 1 1.1862 1 288.0717250704444 311.8518002013765 0 0 0 0 -7105 1 1.1853 1 300.54561925667247 290.67995505645973 0 0 0 0 -7151 1 1.1823 1 285.65020275811565 307.5837054832688 0 0 0 0 -7166 1 1.1807 1 289.32298817878603 301.40805667106366 0 0 0 0 -7189 1 1.179 1 286.05823414164746 290.84698170659453 0 0 0 0 -7216 1 1.1766 1 280.5949456778628 283.23388876452054 0 0 0 0 -7223 1 1.1763 1 279.68539572998884 294.540074760579 0 0 0 0 -9440 1 1.0287 1 268.7771216034551 288.59698693498507 0 0 0 0 -7245 1 1.1742 1 322.1411272699808 300.5291056716044 0 0 0 0 -7255 1 1.1737 1 269.72451311503306 311.155860955179 0 0 0 0 -7312 1 1.1696 1 279.5839100264518 287.98042926717494 0 0 0 0 -7320 1 1.1687 1 278.4115500368492 278.24616176749936 0 0 0 0 -7330 1 1.1681 1 316.0501392578858 310.1644101765987 0 0 0 0 -2023 1 2.2246 1 313.81402175073094 275.09748061099964 0 0 0 0 -7360 1 1.1648 1 303.5086406815922 287.5527483528369 0 0 0 0 -7394 1 1.1618 1 289.6187584535243 326.22766333617824 0 0 0 0 -7403 1 1.1611 1 299.0521642238466 305.1696049892116 0 0 0 0 -7470 1 1.1552 1 304.81447895887806 285.3447789230548 0 0 0 0 -7160 1 1.1813 1 295.7123058752509 273.289270309202 0 0 0 0 -7502 1 1.1521 1 302.43799879130677 287.2389190358835 0 0 0 0 -7507 1 1.1519 1 280.4421799183274 288.7149796643 0 0 0 0 -7517 1 1.1513 1 300.41129086901446 298.7902394217043 0 0 0 0 -7550 1 1.1482 1 319.34199805576526 320.5679004552328 0 0 0 0 -7556 1 1.1478 1 295.9057770446108 293.7536422640251 0 0 0 0 -7579 1 1.1455 1 289.62764562139 318.8886771059111 0 0 0 0 -6816 1 1.2106 1 327.14507598418345 267.85273584544194 0 0 0 0 -8690 1 1.0705 1 299.92693099053616 330.3086611277557 0 0 -1 0 -7599 1 1.144 1 314.433149578654 289.5436944470321 0 0 0 0 -7601 1 1.1439 1 292.66551587626674 276.15877663082824 0 0 0 0 -7616 1 1.1431 1 282.82581989428036 275.6843660046143 0 0 0 0 -7618 1 1.1431 1 289.9783856393296 325.14146504995114 0 0 0 0 -7638 1 1.1413 1 275.6379345147717 299.7886976710478 0 0 0 0 -5586 1 1.339 1 290.25542805592085 272.5639180659273 0 0 0 0 -7769 1 1.1309 1 294.06863754320324 281.5447656070524 0 0 0 0 -7836 1 1.1266 1 285.9639009401437 288.99023004753286 0 0 0 0 -7841 1 1.1265 1 289.1975805316431 312.0300057360282 0 0 0 0 -478 1 4.5142 1 273.7659002552416 295.9130414013715 0 0 0 0 -7859 1 1.124 1 330.2243489758858 298.67505492494394 0 0 0 0 -7865 1 1.1235 1 316.26791316045257 304.2403973647199 0 0 0 0 -7866 1 1.1235 1 300.03221597774325 293.8780251681774 0 0 0 0 -7880 1 1.1228 1 291.7625030759099 324.5510033664959 0 0 0 0 -7885 1 1.1223 1 300.16967910784894 305.1657474726611 0 0 0 0 -7910 1 1.1202 1 277.28227578604555 297.231628457008 0 0 0 0 -7961 1 1.1172 1 329.82772565301195 325.93422501859396 0 0 0 0 -8005 1 1.1142 1 277.5107961064453 298.2859465124826 0 0 0 0 -6716 1 1.2207 1 289.2211184655784 270.1991090704567 0 0 0 0 -8069 1 1.11 1 306.65067936699694 329.31135141998794 0 0 0 0 -8071 1 1.1097 1 309.4326731276567 309.62424850000787 0 0 0 0 -8076 1 1.1088 1 311.2101752804958 287.08510131939454 0 0 0 0 -8077 1 1.1087 1 291.879860776125 281.0686174891615 0 0 0 0 -5150 1 1.3961 1 299.46351824231516 270.4833312761717 0 0 0 0 -1890 1 2.3056 1 271.3625503526368 267.572050709023 0 0 0 0 -8048 1 1.1114 1 268.7448601054307 271.2860069044192 0 0 0 0 -8165 1 1.1034 1 302.9245543040145 288.4943772549477 0 0 0 0 -8169 1 1.1028 1 302.491645092332 280.41130646684996 0 0 0 0 -8175 1 1.1027 1 301.697520918953 302.420017798919 0 0 0 0 -8190 1 1.1019 1 285.770541596505 293.749785150571 0 0 0 0 -8199 1 1.1016 1 293.0860722950799 326.55564668637555 0 0 0 0 -8220 1 1.1003 1 279.7189317524309 293.42969530299837 0 0 0 0 -8237 1 1.099 1 288.25143488521456 299.0928122658045 0 0 0 0 -8248 1 1.0978 1 320.7262584262073 317.1602739813883 0 0 0 0 -3504 1 1.6931 1 269.53024421700775 269.87317496658096 0 0 0 0 -8324 1 1.0926 1 299.40897525988413 299.19559609163235 0 0 0 0 -8337 1 1.0916 1 324.57553341206204 322.6996408218065 0 0 0 0 -8338 1 1.0912 1 303.6057084345883 330.3555667258767 0 0 0 0 -8358 1 1.0902 1 291.9819161824481 284.8996463628991 0 0 0 0 -2778 1 1.9025 1 288.1139150360775 272.3573625004442 0 0 0 0 -8382 1 1.0883 1 317.64526782879625 290.11804962168253 0 0 0 0 -8386 1 1.0882 1 288.663438866097 302.32278331286176 0 0 0 0 -8392 1 1.0879 1 327.7851490946732 326.9192002107631 0 0 0 0 -8404 1 1.0875 1 290.40989013021846 276.5910555578619 0 0 0 0 -8408 1 1.0871 1 274.6073594411369 280.01901110267335 0 0 0 0 -8418 1 1.0865 1 322.378005868473 290.0072273386439 0 0 0 0 -8425 1 1.0861 1 291.21993825200695 315.7397813763321 0 0 0 0 -9998 1 1 1 285.2844979101963 289.8162455634802 0 0 0 0 -8464 1 1.0835 1 294.9782743192794 286.6524708729216 0 0 0 0 -8508 1 1.0804 1 285.755594968674 296.2233098887037 0 0 0 0 -8517 1 1.08 1 295.99396294766353 286.9272251097101 0 0 0 0 -8539 1 1.0787 1 285.7205664673287 308.70839849741304 0 0 0 0 -8551 1 1.078 1 310.26431979632457 326.6271551555568 0 0 0 0 -8554 1 1.0777 1 307.3717334859307 274.7089860253987 0 0 0 0 -8558 1 1.0775 1 320.950295057247 308.075008906026 0 0 0 0 -6791 1 1.2132 1 271.24932741116487 294.68130579733366 0 0 0 0 -8574 1 1.0767 1 320.50255658207834 289.0415209211587 0 0 0 0 -8627 1 1.0732 1 309.4982677644477 306.85488672165644 0 0 0 0 -8631 1 1.073 1 301.1202169435685 293.7760718936381 0 0 0 0 -8632 1 1.073 1 320.73085669735383 316.0876257955362 0 0 0 0 -8634 1 1.0728 1 321.4886483568587 289.4285309004024 0 0 0 0 -8642 1 1.0726 1 282.52273044915216 298.73794463817836 0 0 0 0 -8664 1 1.0716 1 322.97652854450513 329.4770209209808 0 0 0 0 -8668 1 1.0713 1 323.68970656159024 318.35670850655106 0 0 0 0 -8331 1 1.0922 1 292.9887561003417 273.56067134327463 0 0 0 0 -8714 1 1.0691 1 324.52654577777355 317.72607162457814 0 0 0 0 -8722 1 1.0685 1 296.93709919988646 308.41584532394904 0 0 0 0 -8765 1 1.0654 1 304.3176189275474 308.67437917349173 0 0 0 0 -8798 1 1.0635 1 292.8951866842318 298.55320344726175 0 0 0 0 -8839 1 1.0609 1 311.34820684516444 314.4645752614596 0 0 0 0 -8852 1 1.0601 1 285.83231809698907 306.46713682689125 0 0 0 0 -8899 1 1.0574 1 304.6692234731236 276.8333573918068 0 0 0 0 -8573 1 1.0767 1 269.42086748233265 282.0762324022116 0 0 0 0 -8929 1 1.0561 1 305.85544488776287 285.13503978221644 0 0 0 0 -8936 1 1.0559 1 281.7541101496746 314.60867995864146 0 0 0 0 -8949 1 1.0552 1 302.5663800532375 305.34928422991635 0 0 0 0 -7200 1 1.178 1 306.4876564383957 274.08536251203157 0 0 0 0 -9037 1 1.0506 1 319.4210371495012 321.62326820426495 0 0 0 0 -5348 1 1.3701 1 283.9202417976071 269.0421198369393 0 0 0 0 -9046 1 1.0501 1 322.8457797367954 318.96466286665594 0 0 0 0 -9084 1 1.048 1 313.7117859819462 309.37908897735355 0 0 0 0 -7354 1 1.1653 1 302.96579185488656 275.2443217495615 0 0 0 0 -9107 1 1.0469 1 312.30015025001967 313.947703194086 0 0 0 0 -9173 1 1.0432 1 296.9506540388659 295.06497694455607 0 0 0 0 -9184 1 1.0429 1 317.14883259298904 322.9283428709808 0 0 0 0 -9189 1 1.0425 1 321.89971581377847 308.50127834594855 0 0 0 0 -9244 1 1.0397 1 278.17016605678265 299.09527024039437 0 0 0 0 -9246 1 1.0396 1 275.62666386803335 302.88940035870564 0 0 0 0 -9251 1 1.0394 1 279.31964893605385 295.5608329153889 0 0 0 0 -9256 1 1.0391 1 312.60596506196066 324.88898926842586 0 0 0 0 -9269 1 1.0382 1 319.0137807215685 322.55024674628334 0 0 0 0 -9274 1 1.038 1 317.9184288174888 307.59482064541265 0 0 0 0 -9278 1 1.0379 1 327.8467876027107 297.440485655086 0 0 0 0 -9294 1 1.0369 1 293.7982792289387 327.2759028670373 0 0 0 0 -4995 1 1.4209 1 276.6252832401305 295.6168050682199 0 0 0 0 -9881 1 1.0058 1 268.8293718349333 308.82688889185755 0 0 0 0 -8417 1 1.0865 1 330.4589507778479 291.341262484848 0 -1 0 0 -9843 1 1.0081 1 298.2620513439041 299.0705778844626 0 0 0 0 -9465 1 1.0276 1 326.0062088484218 329.40862386172074 0 0 0 0 -9483 1 1.0268 1 278.0906413048545 281.548911964466 0 0 0 0 -9521 1 1.0246 1 306.4487262115722 275.1712300149545 0 0 0 0 -9535 1 1.0241 1 301.6743381711111 308.59645775814374 0 0 0 0 -9547 1 1.0234 1 293.59016156359525 277.3525171311747 0 0 0 0 -9549 1 1.0233 1 323.72647168988277 308.3122358045523 0 0 0 0 -9572 1 1.0219 1 327.1375708855928 325.8291066461433 0 0 0 0 -9596 1 1.0211 1 303.0708165117743 308.5634211768136 0 0 0 0 -9618 1 1.0198 1 293.69280194667726 276.4073993836222 0 0 0 0 -9651 1 1.0179 1 295.48937585739344 310.4263697357301 0 0 0 0 -9665 1 1.0173 1 294.5980118386068 282.46248296309244 0 0 0 0 -9669 1 1.017 1 303.5374559852768 280.4917833133128 0 0 0 0 -9671 1 1.017 1 274.7689022748435 305.6621627392561 0 0 0 0 -9685 1 1.0163 1 308.39225324001785 287.5994222095582 0 0 0 0 -721 1 3.7475 1 281.585670576376 270.0371631435203 0 0 0 0 -9716 1 1.0144 1 279.3915137442507 278.67100138395756 0 0 0 0 -9742 1 1.013 1 291.15135051930713 284.280873425298 0 0 0 0 -9761 1 1.012 1 323.3952039161583 290.06863233694645 0 0 0 0 -9762 1 1.0119 1 319.4840503469528 288.98205313296694 0 0 0 0 -9795 1 1.01 1 312.9518503429167 310.0458439754074 0 0 0 0 -9808 1 1.0096 1 282.2433953042789 300.7753295506881 0 0 0 0 -9813 1 1.0094 1 282.46874431996935 293.58626021930974 0 0 0 0 -9814 1 1.0093 1 316.6855027839267 315.0681443083337 0 0 0 0 -3606 1 1.6696 1 317.9335856411083 268.43127287069825 0 0 0 0 -3141 1 1.781 1 273.29251518686766 298.91499310018656 0 0 0 0 -8178 1 1.1026 1 275.7780620306383 294.03044731019554 0 0 0 0 -8567 1 1.077 1 308.89740864575987 270.2751893415189 0 0 0 0 -6145 1 1.2792 1 274.3302146296688 300.0050280559064 0 0 0 0 -9015 1 1.0518 1 320.2396910373337 269.44692218526194 0 0 0 0 -4386 1 1.5169 1 273.79328333072516 279.0388008739772 0 0 0 0 -2932 1 1.8521 1 267.7060998181395 309.636569886797 0 0 0 0 -6550 1 1.2378 1 271.54873273080744 284.98197284107994 0 0 0 0 -4503 1 1.4966 1 311.8469955091273 270.50749982173505 0 0 0 0 -3904 1 1.6065 1 330.0443422585581 289.7741540474186 0 -1 0 0 -4717 1 1.461 1 272.7054204950278 304.705222162708 0 0 0 0 -5257 1 1.3812 1 311.08871163625236 272.8059987258776 0 0 0 0 -7096 1 1.1862 1 321.14122541498693 268.87891774986684 0 0 0 0 -3256 1 1.7519 1 274.8452514925692 291.7178226848727 0 0 0 0 -1333 1 2.7551 1 303.0716544550975 273.31918918100274 0 0 0 0 -3846 1 1.6181 1 269.0104658875264 298.1506737799366 0 0 0 0 -5773 1 1.317 1 312.21293667993484 273.4808906330435 0 0 0 0 -6603 1 1.2312 1 270.4161030013289 298.150959724211 0 0 0 0 -4384 1 1.5172 1 271.4133935332475 299.0856947911487 0 0 0 0 -2220 1 2.128 1 313.835647332881 273.03153078901846 0 0 0 0 -9090 1 1.0475 1 288.38151791081424 270.9430315989523 0 0 0 0 -1315 1 2.7729 1 329.36737152278977 294.1540206559576 0 -1 0 0 -6594 1 1.2321 1 316.5230534775088 268.0644916199356 0 0 0 0 -5164 1 1.3932 1 272.00787766629344 293.64456316764006 0 0 0 0 -1286 1 2.8048 1 270.6322449370896 288.29294013723694 0 0 0 0 -4761 1 1.4544 1 267.76418529589813 279.78684691897774 0 0 0 0 -9377 1 1.0321 1 288.1608002196957 273.79940305761613 0 0 0 0 -6573 1 1.2352 1 298.1728445969669 272.453711428441 0 0 0 0 -433 1 4.7274 1 270.7697681905456 279.5482017631785 0 0 0 0 -9094 1 1.0472 1 272.1847277881295 298.12800946805186 0 0 0 0 -2199 1 2.139 1 299.7859554560308 272.17353454604245 0 0 0 0 -1655 1 2.4509 1 270.2839799839281 296.19073468507025 0 0 0 0 -7207 1 1.1776 1 268.78715690208 284.41073595987444 0 0 0 0 -7875 1 1.1231 1 270.3129424278769 276.71797596737457 0 0 0 0 -645 1 3.9056 1 267.7396462634561 273.8990343041114 0 0 0 0 -9972 1 1.002 1 297.04476185346306 267.66450126529196 0 0 0 0 -2113 1 2.1756 1 299.3587526011896 331.73257857227105 0 0 -1 0 -1412 1 2.6674 1 322.41215806781145 267.5135579031428 0 0 0 0 -5701 1 1.3258 1 281.6737865029489 267.51597174388394 0 0 0 0 -5800 1 1.3147 1 267.4584978998222 296.2230365942088 0 0 0 0 +16 1 27.0148 1 21.578661820808055 19.894003593559244 0 0 0 0 +6528 1 1.2402 1 40.11018907053191 29.030167715273407 0 0 1 0 +8976 1 1.0539 1 36.97821790225197 19.05186774766389 0 0 0 0 +168 1 7.3782 1 49.35369389791803 25.320840580930078 0 0 0 0 +194 1 6.9422 1 37.8963499906581 24.060540533134542 0 0 0 0 +208 1 6.6527 1 30.20573931579442 36.96891799058152 0 0 0 0 +336 1 5.417 1 42.81946909263247 31.018306090834393 0 0 0 0 +346 1 5.3618 1 17.904145680770682 40.365474113094464 0 0 0 0 +364 1 5.1987 1 45.47784864569917 20.574121185710485 0 0 0 0 +412 1 4.8776 1 22.52913680808026 42.40500703613544 0 0 0 0 +439 1 4.6882 1 35.32921707623989 30.55316138336846 0 0 0 0 +511 1 4.3207 1 43.71579096264905 26.313752950912164 0 0 0 0 +527 1 4.2767 1 40.53481826871412 15.977906579131261 0 0 0 0 +529 1 4.2701 1 14.88365052239063 45.532953698817934 0 0 0 0 +543 1 4.2317 1 22.663739581205114 36.42482542930276 0 0 0 0 +5300 1 1.3759 1 11.61412862355682 32.093048107213875 0 1 0 0 +569 1 4.1329 1 11.928958139921995 34.823339484175335 0 0 0 0 +4350 1 1.5228 1 15.212423557099871 48.57106966637227 0 1 0 0 +629 1 3.9339 1 45.09696092099179 35.7722795000036 0 0 0 0 +3990 1 1.5888 1 58.92019192272275 14.95895467917481 0 0 0 0 +675 1 3.8345 1 40.15765471413111 36.06383064621343 0 0 0 0 +9041 1 1.0504 1 55.77699479392789 9.970907140369798 0 0 0 0 +816 1 3.5492 1 16.452908912680222 36.21565336475413 0 0 0 0 +818 1 3.5444 1 36.541570162495695 35.70067868845737 0 0 0 0 +826 1 3.5256 1 52.30925084700716 16.04861130638131 0 0 0 0 +839 1 3.4855 1 35.24334328159685 38.94852316157538 0 0 0 0 +2313 1 2.0838 1 57.455123864848815 55.135965850023766 0 0 0 0 +8135 1 1.1054 1 56.26666776397481 11.048273991127116 0 0 1 0 +8715 1 1.069 1 33.089131184975045 39.39757074693322 0 0 0 0 +924 1 3.3086 1 41.55880907889308 39.31737418096756 0 0 0 0 +936 1 3.2842 1 13.641094663530836 39.762393867144 0 0 0 0 +1686 1 2.4305 1 13.197156681098686 50.38853953617213 0 0 0 0 +8693 1 1.0703 1 12.610728810526174 44.15043865012347 0 0 0 0 +9386 1 1.0316 1 54.57630894614476 12.334859359346071 0 0 0 0 +1098 1 3.022 1 44.14832414847253 15.727048407766592 0 0 0 0 +7031 1 1.1912 1 11.077973015555523 29.14264930766089 0 1 0 0 +1146 1 2.9657 1 33.89012644139848 33.97955045401272 0 0 0 0 +1205 1 2.9015 1 29.35532369665812 41.538928307812185 0 0 0 0 +1238 1 2.8644 1 39.906009037088026 19.464872027524255 0 0 0 0 +1253 1 2.8463 1 24.60028899431814 39.297432036365265 0 0 0 0 +1292 1 2.8008 1 39.65307886849775 41.84975851185574 0 0 0 0 +1297 1 2.7955 1 18.831738288628333 45.40258086528899 0 0 0 0 +1311 1 2.7798 1 33.114224444272814 41.24012227806397 0 0 0 0 +1335 1 2.754 1 45.04645590392897 39.36337510582233 0 0 0 0 +9282 1 1.0376 1 26.628878165758536 42.958885995733006 0 0 0 0 +1020 1 3.1491 1 60.768071211565506 13.6336199723619 0 0 0 0 +6758 1 1.2177 1 33.00652805722686 11.735792827464168 0 0 1 0 +1475 1 2.6 1 25.12222821463131 34.14565905448225 0 0 0 0 +7604 1 1.1438 1 36.44836690638488 18.120986556337378 0 0 1 0 +9200 1 1.0419 1 34.033749761121825 37.07256214706817 0 0 0 0 +2244 1 2.1187 1 34.45980840425659 12.388659177439965 0 0 0 0 +4472 1 1.5023 1 62.256694515106346 22.397513318287157 0 0 0 0 +2271 1 2.1066 1 55.052489052539485 26.949860728787538 0 0 0 0 +2824 1 1.8871 1 13.59961695668536 48.29468873521025 0 1 0 0 +5921 1 1.3027 1 38.64159581373756 13.985150260984675 0 0 1 0 +1886 1 2.3096 1 42.37270538067058 23.32963343426341 0 0 0 0 +1932 1 2.2815 1 42.70205203105403 18.23422371757612 0 0 0 0 +1989 1 2.2483 1 32.22320672399786 31.976337083792878 0 0 0 0 +1143 1 2.9682 1 47.101590887407895 15.45167429373528 0 0 1 0 +9159 1 1.0441 1 38.07514410981266 16.96814997109896 0 0 0 0 +1246 1 2.857 1 37.12168846110451 15.303352469220034 0 0 1 0 +8536 1 1.0788 1 27.904954039132484 40.17176784654623 0 0 0 0 +5856 1 1.3093 1 53.20673294569117 23.466090964759672 0 0 0 0 +9822 1 1.0088 1 63.49068494134137 15.83812990753988 0 0 0 0 +2405 1 2.0459 1 14.706642652903431 42.17414629169267 0 0 0 0 +2408 1 2.0449 1 44.46085088152153 41.673551128001975 0 0 0 0 +8638 1 1.0727 1 58.012198401824 57.27955877195098 0 0 0 0 +2545 1 1.9909 1 26.006280180254453 37.47746097846873 0 0 0 0 +6729 1 1.2196 1 62.80332574746185 53.86175172957645 0 0 0 0 +2561 1 1.985 1 46.17906062755227 32.2700164966316 0 0 0 0 +567 1 4.1383 1 10.860852424388417 42.140013083067934 0 0 0 0 +2629 1 1.9572 1 35.506297790949716 41.637337436533414 0 0 0 0 +2631 1 1.9568 1 17.697031914274604 33.79263127875804 0 0 0 0 +2671 1 1.9414 1 37.867307907543676 38.71934987696995 0 0 0 0 +6562 1 1.2362 1 36.55336728079724 20.224040626537718 0 0 1 0 +8927 1 1.0562 1 38.12212768723624 37.306696973858436 0 0 0 0 +2753 1 1.9103 1 29.01854732105566 32.1541138853016 0 0 0 0 +2797 1 1.894 1 41.05746634191323 27.860037778582736 0 0 0 0 +2836 1 1.8833 1 19.760454173704876 35.670967023370785 0 0 0 0 +2843 1 1.8818 1 49.21325306621086 14.296854377177057 0 0 0 0 +2243 1 2.1187 1 34.94648797461569 14.357142610901509 0 0 1 0 +8984 1 1.0535 1 35.57625908817165 20.810071134515802 0 0 0 0 +3020 1 1.8199 1 10.896679162217586 37.547781112463625 0 0 0 0 +1803 1 2.3533 1 54.14323277672714 25.008423797722934 0 0 0 0 +3094 1 1.7994 1 35.606572540488216 16.968763334433838 0 0 0 0 +3114 1 1.7915 1 37.36023041320446 41.904309707520746 0 0 0 0 +3151 1 1.7783 1 42.07423320166492 20.100295352097113 0 0 0 0 +3218 1 1.7608 1 15.858672031193938 33.665943858928415 0 0 0 0 +3295 1 1.7414 1 50.01861381687267 20.85482618603466 0 0 0 0 +3315 1 1.7361 1 17.409412365383336 47.037725458213394 0 0 0 0 +3336 1 1.7322 1 35.25417865790216 27.431463738250866 0 0 0 0 +3351 1 1.728 1 47.95782920998391 32.350825943628905 0 0 0 0 +9959 1 1.0029 1 62.100090285758775 53.00462572364712 0 0 0 0 +3396 1 1.7163 1 17.29776544901717 43.810604187075086 0 0 0 0 +3409 1 1.7124 1 11.199930109107735 39.261904309283324 0 0 0 0 +3418 1 1.7114 1 52.43215448860303 28.38901673807935 0 0 0 0 +3433 1 1.7087 1 40.17785867083898 33.369322482025886 0 0 0 0 +9495 1 1.0262 1 26.85665552342102 40.26850160598177 0 0 0 0 +3439 1 1.7061 1 47.08190270092935 33.8157072471912 0 0 0 0 +3440 1 1.7056 1 51.75237212366951 20.282909702154566 0 0 0 0 +3453 1 1.7034 1 52.00718562489987 18.618804905231404 0 0 0 0 +3472 1 1.6992 1 47.13010148677168 29.259257088332998 0 0 0 0 +4261 1 1.5399 1 36.38214385096527 13.240601162439297 0 0 1 0 +5007 1 1.4198 1 45.850566168617064 17.27063596764003 0 0 0 0 +3549 1 1.682 1 47.98539429745084 30.66918916874388 0 0 0 0 +3590 1 1.6735 1 45.53500899699106 44.40705801961884 0 0 0 0 +3604 1 1.6702 1 32.80159186079488 28.738250031699515 0 0 0 0 +9545 1 1.0235 1 14.747555419119312 49.71217862367672 0 1 0 0 +3661 1 1.6595 1 53.88196459667662 14.075829397894434 0 0 0 0 +3723 1 1.6437 1 20.07782770798551 37.682353057210285 0 0 0 0 +8580 1 1.0764 1 31.972451240256976 33.58466598168734 0 0 0 0 +3889 1 1.61 1 39.18586546372093 39.787653910887364 0 0 0 0 +2760 1 1.9081 1 63.57975362177234 17.287864471269202 0 0 1 0 +605 1 4.0029 1 49.247078568192904 18.152110070419937 0 0 0 0 +4000 1 1.5838 1 13.145572822660027 37.39023521261207 0 0 0 0 +4024 1 1.5786 1 45.93160992715367 28.197283227765347 0 0 0 0 +4050 1 1.5744 1 45.888888576923755 42.75899866699067 0 0 0 0 +4056 1 1.5736 1 12.678352329911053 31.064674408812202 0 0 0 0 +1375 1 2.7088 1 38.87491412074401 30.488878578801177 0 0 1 0 +4119 1 1.5635 1 54.72666740048703 15.370029118278666 0 0 0 0 +9783 1 1.0108 1 48.99512704569563 31.519764795891582 0 0 0 0 +4138 1 1.5607 1 25.82294662926591 41.0437389572987 0 0 0 0 +1030 1 3.1257 1 11.517688617247746 46.9832765751679 0 1 0 0 +4180 1 1.553 1 19.434013623964244 34.00054248564178 0 0 0 0 +3303 1 1.7393 1 60.872682829292245 53.53267773128485 0 0 0 0 +4252 1 1.5421 1 22.157744637579807 39.241737835372696 0 0 0 0 +6789 1 1.2137 1 11.565036544073369 9.990954041984343 0 0 1 0 +4323 1 1.5281 1 34.298361212633736 26.186922638648376 0 0 0 0 +8369 1 1.089 1 51.220713557913506 21.550652284770962 0 0 0 0 +9343 1 1.0339 1 37.07518235252341 17.239875233185163 0 0 1 0 +4451 1 1.5063 1 27.207865463436615 34.190350701785135 0 0 0 0 +2775 1 1.9047 1 58.80667600289856 53.72150810373531 0 0 0 0 +4480 1 1.5008 1 43.51570952151649 37.967993066541155 0 0 0 0 +4497 1 1.4979 1 42.64025541453424 36.80962937666705 0 0 0 0 +4143 1 1.5597 1 61.18039985657195 10.194254586732388 0 0 0 0 +4522 1 1.4941 1 14.235942660327586 33.299031172113985 0 0 0 0 +4527 1 1.4937 1 20.950496943023225 34.13323728314044 0 0 0 0 +9801 1 1.0099 1 21.047948900874584 39.86826969939236 0 0 0 0 +4624 1 1.4777 1 13.958576664956741 31.873256263365267 0 0 0 0 +4628 1 1.4773 1 41.019605920759425 21.303852243326084 0 0 0 0 +4381 1 1.5182 1 58.290583018409045 26.549374733533583 0 0 0 0 +4271 1 1.5379 1 60.19305520184584 11.416245970324052 0 0 0 0 +6358 1 1.2561 1 44.60976020524821 43.30073688967851 0 0 0 0 +4762 1 1.4544 1 26.729382149071693 39.039755722270385 0 0 0 0 +4796 1 1.4496 1 37.84033202649424 19.904811231053152 0 0 0 0 +4820 1 1.4459 1 37.299765977408995 40.3015213450493 0 0 0 0 +4868 1 1.4381 1 39.23712859691417 28.023502400876577 0 0 0 0 +4872 1 1.4378 1 37.99894989819266 32.53278716222322 0 0 0 0 +4893 1 1.4337 1 38.4788255858269 33.92014373411623 0 0 0 0 +4913 1 1.4304 1 33.67440811497025 27.494364831838595 0 0 0 0 +4950 1 1.4257 1 27.226404383994673 41.43283788763147 0 0 0 0 +4998 1 1.4204 1 52.31502136772867 22.112022176063753 0 0 0 0 +4989 1 1.4218 1 11.556259768218077 44.77372830033593 0 1 0 0 +5063 1 1.4107 1 13.365610473622286 43.188848472900986 0 0 0 0 +5068 1 1.4098 1 18.77141996257687 36.97046305354236 0 0 0 0 +5108 1 1.4029 1 31.062042361579635 30.603805215669162 0 0 0 0 +5123 1 1.3992 1 20.86560116190994 45.02676685041844 0 0 0 0 +6628 1 1.2292 1 12.231189353813452 48.94949520212886 0 1 0 0 +5190 1 1.3897 1 44.12883409969886 23.531003216921665 0 0 0 0 +9707 1 1.0148 1 48.46723556607936 29.416092838836512 0 0 0 0 +5266 1 1.3805 1 14.63859565322603 34.64066131124903 0 0 0 0 +6557 1 1.2369 1 11.36873391444792 50.40957256794121 0 1 0 0 +9552 1 1.0232 1 19.648930717211265 43.00686804460399 0 0 0 0 +5363 1 1.3683 1 46.41616027094052 30.613599976609216 0 0 0 0 +7372 1 1.1638 1 62.48448768624046 54.97839260556774 0 0 0 0 +5390 1 1.3651 1 25.4013662990187 36.017122828002435 0 0 0 0 +5437 1 1.3584 1 49.94918548696768 15.641585439258401 0 0 0 0 +5510 1 1.3498 1 42.385448946764676 21.57098667230009 0 0 0 0 +8020 1 1.1135 1 11.146446678210932 30.955075833164344 0 1 0 0 +1746 1 2.3871 1 61.837103656240245 16.15289709903347 0 0 1 0 +5549 1 1.3442 1 43.41269324577694 43.70119161878439 0 0 0 0 +5576 1 1.3407 1 41.93087168612756 34.243852842380065 0 0 0 0 +5587 1 1.3389 1 46.7655637057532 45.24007405576653 0 0 0 0 +5601 1 1.3372 1 42.87100643369671 41.181150028944494 0 0 0 0 +5694 1 1.3266 1 41.76896312711079 41.95599559280933 0 0 0 0 +5093 1 1.405 1 62.387743526792164 18.395951733700237 0 0 0 0 +5884 1 1.3063 1 26.57185735956745 35.42529930453942 0 0 0 0 +5932 1 1.3018 1 38.0317938260052 28.67125773049791 0 0 0 0 +6035 1 1.2911 1 45.37123432960863 23.802336138616127 0 0 0 0 +6036 1 1.291 1 15.33634549453504 38.30587247886252 0 0 0 0 +6063 1 1.2872 1 43.01983178923077 42.46106443675535 0 0 0 0 +6094 1 1.284 1 50.90207932535825 29.38951233983492 0 0 0 0 +6180 1 1.2743 1 36.91217920136338 28.038788319129157 0 0 0 0 +6181 1 1.2742 1 16.42528586738043 48.06668471039881 0 0 0 0 +9177 1 1.043 1 29.987809912706552 31.095728136478392 0 0 0 0 +6432 1 1.249 1 49.57926511382341 29.55286483942659 0 0 0 0 +5147 1 1.397 1 11.012599672884406 49.177743455931214 0 1 0 0 +6575 1 1.2351 1 56.74863520906546 26.781129303921634 0 0 0 0 +6626 1 1.2296 1 38.607045679524546 17.93635539561258 0 0 0 0 +6637 1 1.2287 1 16.05022872278062 43.06561568608562 0 0 0 0 +6796 1 1.2127 1 15.182993354336118 32.39588284608114 0 0 0 0 +6803 1 1.2123 1 39.4146266986761 38.43381492054183 0 0 0 0 +6839 1 1.2084 1 14.091122399670969 36.368730259185575 0 0 0 0 +8455 1 1.0841 1 63.08500820555876 52.77333870525498 0 0 0 0 +7940 1 1.1187 1 12.80317264244689 32.38554164805814 0 1 0 0 +7008 1 1.1934 1 49.65732785921609 30.692454470720023 0 0 0 0 +7112 1 1.1846 1 53.67852388934914 27.75861021744224 0 0 0 0 +7130 1 1.1835 1 34.20288763547781 36.0020191407111 0 0 0 0 +7162 1 1.1809 1 28.35987814211682 33.529450491970834 0 0 0 0 +7178 1 1.1799 1 31.216497550887574 40.73914846822162 0 0 0 0 +17 1 25.5929 1 59.16195510046014 40.0475485205291 0 0 0 0 +7250 1 1.1739 1 41.0677649999395 26.389535571105903 0 0 0 0 +3258 1 1.751 1 62.65080090209237 23.950084102199213 0 0 0 0 +7264 1 1.1734 1 42.22440776315708 43.35755314797204 0 0 0 0 +6006 1 1.2939 1 61.75781447900299 59.794915339039825 0 0 0 0 +8569 1 1.0769 1 12.13349130199637 38.230734943687835 0 0 0 0 +2767 1 1.9064 1 56.34762938103495 53.48865716150091 0 0 0 0 +7327 1 1.1682 1 23.271580642960338 33.83876035282353 0 0 0 0 +7333 1 1.1678 1 11.806516836056229 30.037755753263895 0 0 0 0 +7379 1 1.1632 1 27.665407416949254 42.63565949313833 0 0 0 0 +2713 1 1.9259 1 63.33267354544042 11.18440141578792 0 0 0 0 +7460 1 1.1563 1 45.743139843872406 29.546762462498776 0 0 0 0 +7473 1 1.1549 1 53.419627514125224 26.614396933559043 0 0 0 0 +9322 1 1.035 1 37.520821306467724 18.169858873692586 0 0 0 0 +7537 1 1.1497 1 27.60167033230894 32.61851602609817 0 0 0 0 +7574 1 1.1461 1 20.889209235246295 38.80756890050824 0 0 0 0 +7633 1 1.1419 1 26.576922826820827 33.036938218148535 0 0 0 0 +7648 1 1.1404 1 31.016375779530534 33.11976735641855 0 0 0 0 +7661 1 1.1392 1 30.535607005501625 32.05419950866602 0 0 0 0 +1729 1 2.4068 1 11.6650106570362 52.17316959881492 0 1 0 0 +7697 1 1.1367 1 29.945588862992313 33.19117715314967 0 0 0 0 +7770 1 1.1308 1 25.77287489799074 42.33675882158441 0 0 0 0 +7792 1 1.1293 1 31.735884598828196 29.58099845285611 0 0 0 0 +7814 1 1.1279 1 14.485197079171677 37.46356671872724 0 0 0 0 +7852 1 1.1248 1 20.054129703670164 43.974404817984016 0 0 0 0 +7895 1 1.1217 1 41.156715321620005 43.04842995505035 0 0 0 0 +4785 1 1.4509 1 35.748483439060706 19.18650844296434 0 0 1 0 +7941 1 1.1186 1 43.1339358467942 34.245662389498115 0 0 0 0 +8037 1 1.1123 1 25.339302144201778 43.32775782965171 0 0 0 0 +8013 1 1.1137 1 10.293068997353283 44.68424113897238 0 1 0 0 +1904 1 2.2971 1 60.38297629560764 61.87195529121335 0 0 0 0 +8182 1 1.1023 1 45.88799629927677 41.080980721170334 0 0 0 0 +8871 1 1.0589 1 32.47746881614435 30.35749338378177 0 0 0 0 +8206 1 1.1012 1 44.29001550853123 17.72029766104093 0 0 0 0 +8285 1 1.0959 1 48.62190083295452 20.622877412776504 0 0 0 0 +8302 1 1.0944 1 18.44217442495531 35.08569027820755 0 0 0 0 +8319 1 1.0927 1 39.762720472024995 32.09666380337404 0 0 0 0 +5374 1 1.3675 1 59.76509932621137 10.083510701157994 0 0 0 0 +5513 1 1.3496 1 58.99718822266526 12.246584767255836 0 0 0 0 +600 1 4.0221 1 60.25589587149994 56.25302593169586 0 0 0 0 +4272 1 1.5377 1 50.77781951265265 13.654969208467508 0 0 1 0 +6865 1 1.2053 1 32.85720461176839 10.604853580210769 0 0 1 0 +108 1 9.414 1 57.30411219332998 20.119312794378157 0 0 0 0 +7984 1 1.1154 1 62.654451964987665 59.02681991835429 0 0 0 0 +2887 1 1.8657 1 52.332644063528974 13.010579609985802 0 0 0 0 +632 1 3.927 1 56.68038570627997 13.508754853528643 0 0 0 0 +1570 1 2.5183 1 57.96317816720037 10.612197899872568 0 0 0 0 +781 1 3.6204 1 60.67768945221664 25.65132119763454 0 0 0 0 +9419 1 1.0296 1 58.50625892286157 58.20161712154007 0 0 0 0 +2529 1 1.9999 1 10.589920762648905 54.03661088861205 0 0 0 0 +3544 1 1.6837 1 56.097853785059954 25.465955409046515 0 0 0 0 +9606 1 1.0204 1 53.74636469824011 12.852902425711713 0 0 0 0 +9140 1 1.045 1 61.75418936770645 58.33387351891163 0 0 0 0 +9350 1 1.0336 1 58.43644160232753 25.190970935654565 0 0 0 0 +1387 1 2.6993 1 59.84440593693293 59.49250203411478 0 0 0 0 +5695 1 1.3265 1 53.582436054265685 11.776437388261462 0 0 1 0 +7758 1 1.1316 1 57.45396048398975 25.557354392372982 0 0 0 0 +4461 1 1.5037 1 61.705023231365246 11.574838858658744 0 0 0 0 +6108 1 1.2828 1 60.123244094396526 15.677942667874326 0 0 1 0 +4222 1 1.5465 1 62.684860061859254 20.968993767910586 0 0 0 0 +9824 1 1.0088 1 62.99903250215423 14.61811403350157 0 0 0 0 +5286 1 1.3775 1 62.69179071841003 12.623264732412684 0 0 0 0 +3370 1 1.7234 1 54.91608141202255 11.050800115762133 0 0 0 0 +7019 1 1.1923 1 61.36873478113042 23.39353079977532 0 0 0 0 +5774 1 1.3168 1 10.062332642204813 28.03599097425468 0 0 1 0 +4383 1 1.5173 1 10.124823790065975 50.99879448649947 0 0 0 0 +2504 1 2.0087 1 9.991453422675384 32.50411291213858 0 1 0 0 +8740 1 1.0674 1 9.96908946512555 38.61817762977279 0 0 0 0 +5 1 53.3452 1 33.64631439503559 69.20632078630118 0 0 0 0 +6848 1 1.2078 1 47.202065587861306 106.8871527997061 0 0 0 0 +8029 1 1.1128 1 52.89998476501549 111.46368489355213 0 0 0 0 +2135 1 2.1622 1 55.95366085848594 107.82838227232645 0 0 0 0 +9039 1 1.0505 1 46.66208439639257 109.16143007478021 0 0 0 0 +183 1 7.1535 1 19.628350184929452 100.98109349507067 0 0 0 0 +196 1 6.9228 1 43.701779640190985 98.79070172428742 0 0 0 0 +210 1 6.6285 1 20.61859893221387 110.21673033432005 0 0 0 0 +19 1 22.7491 1 34.6077536372408 114.16725147522095 0 0 0 0 +264 1 6.0937 1 51.51863733967346 94.03527112257845 0 0 0 0 +286 1 5.8578 1 62.53661751397902 79.69821890273849 0 0 0 0 +296 1 5.7976 1 53.25634063594402 103.546724162042 0 0 0 0 +361 1 5.2589 1 26.847358000273747 97.62921146216213 0 0 0 0 +411 1 4.8876 1 16.644715693660398 114.21359594052198 0 0 0 0 +534 1 4.2484 1 57.70382247376281 84.9957662865745 0 0 0 0 +546 1 4.2131 1 36.290943306332764 97.80668592897838 0 0 0 0 +2384 1 2.0542 1 13.398391839751476 113.16480014016683 0 0 0 0 +574 1 4.1145 1 25.074179149394205 102.11800282310529 0 0 0 0 +4970 1 1.4239 1 10.424515718069618 85.48176427069185 0 1 0 0 +652 1 3.8853 1 56.822031142393435 88.97765395220036 0 0 0 0 +1059 1 3.0784 1 46.97042173932284 102.48801116139688 0 0 0 0 +2628 1 1.9573 1 21.3584205985184 116.95253213360395 0 0 0 0 +223 1 6.4364 1 52.118847435898154 114.99964176259597 0 0 0 0 +867 1 3.4314 1 33.722613312892044 101.2536217337373 0 0 0 0 +875 1 3.415 1 61.90060988563905 68.40246831176692 0 0 0 0 +880 1 3.3897 1 39.90568987625906 102.22700526350046 0 0 0 0 +895 1 3.3646 1 47.26639202088181 111.2776131914347 0 0 0 0 +1012 1 3.1586 1 53.30174248397758 98.1121857522763 0 0 0 0 +1014 1 3.1565 1 14.181976045761017 110.57696689189548 0 0 0 0 +1099 1 3.0209 1 55.74794528109329 99.92174082345082 0 0 0 0 +1131 1 2.976 1 11.434840643931219 100.94837480953191 0 0 0 0 +1227 1 2.8794 1 14.701194834435807 104.33279316560667 0 0 0 0 +1310 1 2.7799 1 43.090369653746556 104.53291000509647 0 0 0 0 +4936 1 1.4277 1 11.131541273632925 115.26539252934111 0 0 0 0 +3790 1 1.6319 1 58.9579668231131 104.86492373395822 0 0 0 0 +1400 1 2.6823 1 21.07169695599918 96.03136912886171 0 0 0 0 +7401 1 1.1612 1 62.06573658133837 113.81046585596864 0 0 0 0 +1465 1 2.6063 1 16.52915102896241 108.18758015658032 0 0 0 0 +1466 1 2.6055 1 53.59664503254448 88.76241882483006 0 0 0 0 +1586 1 2.5042 1 48.72774774716604 100.39436694786939 0 0 0 0 +1589 1 2.502 1 50.480185028798545 98.17233750444198 0 0 0 0 +1613 1 2.4836 1 20.067525259755573 105.74423497791095 0 0 0 0 +1632 1 2.4657 1 19.12390563169569 92.92109181965061 0 0 0 0 +6352 1 1.2568 1 15.637152877210434 117.08439007248235 0 0 0 0 +1661 1 2.4463 1 53.3735456140381 107.58175537556713 0 0 0 0 +1668 1 2.4439 1 46.27791222053626 93.93996741771068 0 0 0 0 +5153 1 1.3956 1 12.180911257513014 114.34930721215659 0 0 0 0 +1718 1 2.412 1 54.79677399295187 91.37571032224017 0 0 0 0 +1776 1 2.3708 1 28.834623243477164 100.7932066808443 0 0 0 0 +1845 1 2.332 1 31.011848885220928 98.41313226698641 0 0 0 0 +1877 1 2.3156 1 39.893908033757796 96.27710825448057 0 0 0 0 +4067 1 1.5716 1 62.98134333571782 72.44106166517024 0 0 0 0 +1931 1 2.2823 1 57.12893030447247 102.95838140371093 0 0 0 0 +204 1 6.7727 1 60.28392526711077 108.76534165439841 0 0 0 0 +2016 1 2.23 1 61.16414377811947 74.82555944458923 0 0 0 0 +2029 1 2.2229 1 37.72817560376545 100.63983745475598 0 0 0 0 +2048 1 2.2127 1 29.669218288425053 102.82074091879778 0 0 0 0 +2085 1 2.1901 1 48.170958023370005 98.18376391049004 0 0 0 0 +2104 1 2.1818 1 23.29965829528316 98.14327863381189 0 0 0 0 +9625 1 1.0195 1 26.647530161357484 104.11781819454905 0 0 0 0 +9080 1 1.0481 1 55.33746449406946 113.1119933952277 0 0 0 0 +2298 1 2.0938 1 61.108842848941215 72.70230605219017 0 0 0 0 +1031 1 3.1251 1 47.415662903031695 115.38261110898635 0 0 0 0 +2342 1 2.0716 1 60.7803572901875 84.78030013973033 0 0 0 0 +2459 1 2.0253 1 32.96702985302739 97.53113644676579 0 0 0 0 +2460 1 2.025 1 54.863674338913256 86.89981641912627 0 0 0 0 +2479 1 2.0171 1 17.924437892879276 96.29965069681907 0 0 0 0 +969 1 3.2196 1 13.840225906943427 92.13321325418538 0 1 0 0 +341 1 5.3799 1 58.86001663315635 114.5500839085094 0 0 0 0 +2509 1 2.0069 1 23.415197134865554 96.0527075124839 0 0 0 0 +9538 1 1.0238 1 60.77565186132296 70.23425712830431 0 0 0 0 +9934 1 1.0037 1 13.641594547368326 102.77892229139098 0 0 0 0 +2807 1 1.8913 1 16.305765191439924 106.0194535592548 0 0 0 0 +2817 1 1.8898 1 62.872403991428776 86.93206782031979 0 0 0 0 +2903 1 1.8623 1 55.330465281814455 94.78089326623883 0 0 0 0 +2961 1 1.8444 1 45.32567455640256 104.26793695747492 0 0 0 0 +2972 1 1.8411 1 22.373622164791048 94.31306708025409 0 0 0 0 +3083 1 1.8053 1 51.53014870235686 90.11546095620115 0 0 0 0 +8566 1 1.0771 1 15.624074942736788 89.57523702148514 0 1 0 0 +3163 1 1.7762 1 30.79388853482638 101.20733561825769 0 0 0 0 +9929 1 1.004 1 58.72064559009926 79.63345139895297 0 0 0 0 +8789 1 1.0641 1 62.96262999844164 103.64392641887868 0 0 0 0 +3201 1 1.766 1 23.114737198987527 106.92023818395663 0 0 0 0 +3207 1 1.7648 1 55.60825465007569 97.55905558271785 0 0 0 0 +3282 1 1.7447 1 15.254119814553004 100.83162650556524 0 0 0 0 +7242 1 1.1744 1 44.91929448360093 107.96474243833268 0 0 0 0 +3328 1 1.733 1 14.447167169224162 108.16563531286944 0 0 0 0 +6100 1 1.2831 1 56.873732842116105 110.74650890994782 0 0 0 0 +3384 1 1.72 1 61.24403324471752 64.95671820539967 0 0 0 0 +725 1 3.7356 1 14.806779785153934 98.13100232539144 0 1 0 0 +9924 1 1.0041 1 55.02312617480991 93.37283189595566 0 0 0 0 +3455 1 1.7027 1 13.641967353942707 100.48326675016494 0 0 0 0 +3489 1 1.6957 1 47.90152307135388 92.69747488301117 0 0 0 0 +3505 1 1.6931 1 60.73379277762791 82.95391986197296 0 0 0 0 +3558 1 1.6793 1 44.77345762360236 105.91291701701465 0 0 0 0 +3561 1 1.6789 1 22.455524009224117 105.38752001790772 0 0 0 0 +3594 1 1.6724 1 16.927981465212717 104.39293037078147 0 0 0 0 +3616 1 1.6685 1 57.6304106142621 101.16426078427787 0 0 0 0 +3619 1 1.6673 1 59.82482531034166 77.29155912087123 0 0 0 0 +3622 1 1.6671 1 24.93572156807563 106.81371858934816 0 0 0 0 +3664 1 1.6571 1 57.527969308284334 105.66845229095198 0 0 0 0 +3685 1 1.6523 1 18.047221073131997 106.04095218687507 0 0 0 0 +3699 1 1.6473 1 46.36780778968348 105.78491539326086 0 0 0 0 +3809 1 1.6261 1 50.76385659637319 100.20851359518963 0 0 0 0 +3450 1 1.7041 1 19.3172345256637 116.07432608920283 0 0 0 0 +3912 1 1.6057 1 62.0856767465587 71.12831391799739 0 0 0 0 +3947 1 1.5975 1 56.00103234656144 105.96779443144764 0 0 0 0 +3954 1 1.5955 1 57.87487860297681 82.09218676261656 0 0 0 0 +4108 1 1.565 1 16.43717530754938 111.09034613654343 0 0 0 0 +4112 1 1.5642 1 23.841664087416937 104.60994586407071 0 0 0 0 +4133 1 1.561 1 51.56919412642588 106.73924793012536 0 0 0 0 +3999 1 1.5841 1 49.907886627474795 111.70696931352155 0 0 0 0 +4197 1 1.55 1 22.516292681615234 113.80145862107422 0 0 0 0 +4237 1 1.5439 1 25.326198530704367 104.92856374207129 0 0 0 0 +4249 1 1.5422 1 17.103840336070853 93.86480999539278 0 0 0 0 +4262 1 1.5397 1 24.11480190597896 108.17798397998514 0 0 0 0 +4269 1 1.5381 1 49.2436603012176 102.6671139122375 0 0 0 0 +4274 1 1.5374 1 18.34856008006103 94.67663253767068 0 0 0 0 +4351 1 1.5228 1 59.942780691964366 86.74434076900629 0 0 0 0 +4574 1 1.4852 1 53.04235011407969 90.64960505903409 0 0 0 0 +5406 1 1.3628 1 46.46277436011285 107.91471314999357 0 0 0 0 +7555 1 1.148 1 49.000236877163694 112.71154524811526 0 0 0 0 +4698 1 1.4651 1 50.246276675413554 101.61457682752825 0 0 0 0 +4706 1 1.4641 1 35.97164677362748 100.58225193520678 0 0 0 0 +4734 1 1.4588 1 61.354762440610486 86.3729499070697 0 0 0 0 +4749 1 1.457 1 32.705657113078054 99.1434467523568 0 0 0 0 +4800 1 1.4489 1 31.656055616953 102.49865983612983 0 0 0 0 +8344 1 1.0909 1 16.453943133764874 90.26738444330138 0 1 0 0 +4840 1 1.4429 1 54.6359868551355 109.01226904275406 0 0 0 0 +735 1 3.7083 1 13.21258956410292 116.6615289677607 0 0 0 0 +5011 1 1.4191 1 20.576987029289228 94.12018747470424 0 0 0 0 +9446 1 1.0286 1 62.027560828720894 114.871318614151 0 0 0 0 +5106 1 1.4035 1 59.247253098051395 82.65067586960505 0 0 0 0 +5125 1 1.3991 1 41.14914484838094 104.13706431927574 0 0 0 0 +5141 1 1.3977 1 42.23926573283382 102.65869665854028 0 0 0 0 +5144 1 1.3974 1 27.524287887980122 103.3076110079099 0 0 0 0 +5203 1 1.3882 1 24.80830957032649 95.08468170998984 0 0 0 0 +7490 1 1.153 1 45.606899681494156 107.02694985615051 0 0 0 0 +9953 1 1.003 1 54.397385762829785 96.33339289906363 0 0 0 0 +5319 1 1.3735 1 17.31609842467502 92.42475969466894 0 0 0 0 +5396 1 1.3642 1 47.276631598989866 96.70267981046872 0 0 0 0 +5405 1 1.3629 1 44.77453486709596 102.7781318697799 0 0 0 0 +5419 1 1.361 1 39.729117544269506 99.88169661991056 0 0 0 0 +3578 1 1.675 1 12.962715950104535 94.38498098946621 0 1 0 0 +5545 1 1.3448 1 60.419904232163404 63.68025337722689 0 0 0 0 +5836 1 1.311 1 50.26579100191666 107.22154782638228 0 0 0 0 +5566 1 1.3421 1 30.960086863324307 96.59676581802977 0 0 0 0 +8866 1 1.0591 1 62.890425635048736 112.44477382939682 0 0 0 0 +5600 1 1.3373 1 22.83576999753046 103.65754010991627 0 0 0 0 +5608 1 1.3359 1 29.726833664554338 96.15743613747783 0 0 0 0 +5618 1 1.3349 1 23.693055298796292 99.81641035931956 0 0 0 0 +5688 1 1.3277 1 31.714719213313895 100.05240137957041 0 0 0 0 +5731 1 1.3228 1 17.16861727822393 97.65819484880299 0 0 0 0 +5733 1 1.3226 1 52.44762628106402 100.1561719603466 0 0 0 0 +5753 1 1.3201 1 49.37983514497815 110.4056521535671 0 0 0 0 +5843 1 1.3103 1 46.40991943428573 95.74527753788637 0 0 0 0 +5897 1 1.305 1 38.646911412663336 99.15710813454682 0 0 0 0 +5903 1 1.3046 1 48.351937690119975 95.93005873577769 0 0 0 0 +5536 1 1.3464 1 22.75006471999093 116.1140186429966 0 0 0 0 +6022 1 1.2922 1 51.61223614830924 108.12250379246936 0 0 0 0 +400 1 4.9357 1 11.689572499471604 88.68830110432461 0 1 0 0 +6069 1 1.2866 1 56.577164249760365 91.52496672984961 0 0 0 0 +6083 1 1.2851 1 34.022252990383876 96.39947654844433 0 0 0 0 +6121 1 1.2812 1 59.21111978424475 78.61605131751357 0 0 0 0 +7356 1 1.1651 1 63.23479886229715 111.40628883991772 0 0 0 0 +6188 1 1.2731 1 60.79045366753066 66.36073586969998 0 0 0 0 +6195 1 1.2719 1 26.66174729064331 105.23466738821989 0 0 0 0 +8774 1 1.0648 1 57.615500564092756 111.61569786801023 0 0 0 0 +6311 1 1.2601 1 49.199614027370096 96.84265653365301 0 0 0 0 +1967 1 2.2607 1 61.609960693124094 104.52924067035332 0 0 0 0 +9848 1 1.0077 1 58.213044689100066 80.83240133284662 0 0 0 0 +6412 1 1.2505 1 21.171860744767354 114.07600891173303 0 0 0 0 +6462 1 1.2466 1 58.781896953437816 103.45733363345366 0 0 0 0 +6502 1 1.2429 1 62.40194369695053 73.6550715521376 0 0 0 0 +6537 1 1.2385 1 62.297795668766845 84.28684359007238 0 0 0 0 +6608 1 1.231 1 48.918037398536306 91.6557012457665 0 0 0 0 +7371 1 1.1638 1 15.442600704700297 90.67755963037713 0 1 0 0 +5544 1 1.3452 1 63.12835899670466 114.44273842507418 0 0 0 0 +6621 1 1.2302 1 12.722396679082282 99.36703349117597 0 0 0 0 +6704 1 1.2217 1 43.436705955541775 94.72785222523156 0 0 0 0 +9875 1 1.0061 1 29.921142455937 97.24751533354504 0 0 0 0 +4174 1 1.5535 1 20.71629805469617 115.3492875746384 0 0 0 0 +4369 1 1.5198 1 63.017261972538726 105.71039383262722 0 0 0 0 +1622 1 2.4747 1 11.79436888194201 97.8087543188737 0 1 0 0 +3284 1 1.7442 1 12.99620342402336 96.08366081858736 0 1 0 0 +9643 1 1.0183 1 59.20836510809096 80.49344704980004 0 0 0 0 +1104 1 3.0137 1 54.86856678373958 111.18105069428594 0 0 0 0 +9125 1 1.046 1 57.76151334018269 104.40218847870705 0 0 0 0 +7000 1 1.1942 1 19.377871886932517 96.87698156599927 0 0 0 0 +7029 1 1.1913 1 60.22424391901769 88.03955771359348 0 0 0 0 +7047 1 1.1896 1 53.69099095010131 100.16617793825533 0 0 0 0 +7071 1 1.1882 1 61.021421823928534 76.5245078139782 0 0 0 0 +10000 1 1 1 44.36085028114173 94.11690183043294 0 0 0 0 +6944 1 1.1985 1 22.047668977403408 115.07269579618232 0 0 0 0 +7139 1 1.183 1 44.88939969664278 95.00806598902422 0 0 0 0 +7148 1 1.1825 1 12.57800762859025 102.66617642412523 0 0 0 0 +7197 1 1.1783 1 39.69923137419893 98.54998614602309 0 0 0 0 +7653 1 1.14 1 45.636701412597155 108.80714563991002 0 0 0 0 +7234 1 1.1755 1 59.994541675707275 75.95184554281667 0 0 0 0 +7279 1 1.1727 1 14.442034805100437 102.04284499835735 0 0 0 0 +7282 1 1.1725 1 16.42168412282745 96.378557402888 0 0 0 0 +9593 1 1.0212 1 11.86073362635678 91.6049146556664 0 1 0 0 +8451 1 1.0842 1 11.190291767277529 84.51061370623029 0 1 0 0 +3802 1 1.6285 1 11.073617817610018 113.34315470930076 0 0 0 0 +9313 1 1.0355 1 50.514253532209835 108.3326397497489 0 0 0 0 +5475 1 1.3533 1 14.48688148673355 89.96866148944869 0 1 0 0 +8891 1 1.0579 1 59.84582332242316 102.68297319473767 0 0 0 0 +7388 1 1.1624 1 13.303468937585194 101.79816738649117 0 0 0 0 +7399 1 1.1615 1 60.85113417461941 103.0930470877961 0 0 0 0 +7402 1 1.1611 1 61.31183920846095 87.63549586143041 0 0 0 0 +7432 1 1.1584 1 55.96378693188033 92.74349574858061 0 0 0 0 +9340 1 1.0341 1 55.775775217143675 115.05703818475811 0 0 0 0 +7510 1 1.1518 1 38.9407074833958 97.69857646089451 0 0 0 0 +7523 1 1.1509 1 21.85070405593177 97.61662436108286 0 0 0 0 +7580 1 1.1454 1 46.551240094827946 113.42637419910137 0 0 0 0 +9755 1 1.0126 1 51.693799931010474 99.35035025535346 0 0 0 0 +7684 1 1.1377 1 58.81604822041859 87.45107731848488 0 0 0 0 +6886 1 1.2035 1 63.178447739211634 70.24892120606194 0 0 0 0 +7730 1 1.1344 1 29.561975192063755 99.25549806184664 0 0 0 0 +7762 1 1.1314 1 47.69554533846499 113.3678271945476 0 0 0 0 +7763 1 1.1314 1 41.334547768274234 95.33623081779001 0 0 0 0 +7929 1 1.1193 1 44.19869677278089 107.13860894090804 0 0 0 0 +4286 1 1.5352 1 50.468683110065214 109.5792643130453 0 0 0 0 +7993 1 1.1149 1 27.679281134859686 102.07415101670732 0 0 0 0 +5148 1 1.3967 1 58.765746338559126 102.15391768765546 0 0 0 0 +8041 1 1.112 1 24.01294213728663 105.8561036137368 0 0 0 0 +8046 1 1.1115 1 15.567394298044066 102.21705538069229 0 0 0 0 +8074 1 1.1093 1 62.548745033380605 83.15995108443329 0 0 0 0 +8091 1 1.108 1 62.12569314800232 76.24445768135325 0 0 0 0 +9800 1 1.0099 1 55.238352499894845 85.52452489470012 0 0 0 0 +8108 1 1.1072 1 38.22571850138331 96.02262308448644 0 0 0 0 +8127 1 1.1059 1 27.17826296722366 100.73737350605967 0 0 0 0 +8141 1 1.1051 1 59.2643063445494 88.62391998973672 0 0 0 0 +8181 1 1.1024 1 19.619196490302677 94.8195066878861 0 0 0 0 +8240 1 1.0988 1 33.95399574865623 99.01145847264887 0 0 0 0 +8253 1 1.0976 1 18.127452911993164 107.347473963248 0 0 0 0 +8287 1 1.0957 1 14.351446443212062 106.27359483952212 0 0 0 0 +1496 1 2.5805 1 52.44784101313397 109.81596728549351 0 0 0 0 +8317 1 1.0929 1 15.168396399981914 106.96383117609156 0 0 0 0 +9845 1 1.008 1 63.37531673686015 71.26812914193158 0 0 0 0 +8432 1 1.0859 1 46.7211888122124 104.50709111822185 0 0 0 0 +8435 1 1.0857 1 23.76140480397075 94.53724032168859 0 0 0 0 +8439 1 1.0853 1 47.985440467265065 94.07536961119513 0 0 0 0 +8462 1 1.0837 1 16.827700383893305 109.91704191703822 0 0 0 0 +8475 1 1.0827 1 16.181150242935498 103.11489480895654 0 0 0 0 +8487 1 1.0818 1 60.75668294669702 71.22428315209946 0 0 0 0 +8510 1 1.0802 1 28.522819654407865 103.96956743605024 0 0 0 0 +6033 1 1.2912 1 55.78655287750612 116.18362812210965 0 0 0 0 +8553 1 1.0778 1 47.58168582362771 95.07116663442142 0 0 0 0 +4821 1 1.4459 1 11.799643692136586 85.58207093228735 0 1 0 0 +8745 1 1.0673 1 45.65279192122411 109.84834442069834 0 0 0 0 +8784 1 1.0642 1 17.29562723342854 90.90954781297654 0 0 0 0 +8816 1 1.0624 1 27.60111332388285 104.53525734988793 0 0 0 0 +8832 1 1.0614 1 19.81415872346516 114.23887851765481 0 0 0 0 +8857 1 1.0597 1 36.01778956844708 102.03487401821386 0 0 0 0 +8862 1 1.0593 1 21.663922014882157 106.5120576881501 0 0 0 0 +8863 1 1.0592 1 32.09837620735988 96.31527164752112 0 0 0 0 +5710 1 1.3248 1 59.96616013114533 103.86760634204002 0 0 0 0 +8955 1 1.055 1 21.397133815650314 104.62071959245425 0 0 0 0 +8971 1 1.0541 1 43.5062857921393 106.34629066025447 0 0 0 0 +8988 1 1.0532 1 19.281271710000052 95.78292693926385 0 0 0 0 +7191 1 1.179 1 10.233272311806441 114.39709212480287 0 0 0 0 +9161 1 1.044 1 18.118340677071117 91.52102877704486 0 0 0 0 +9215 1 1.0412 1 18.209547100485718 104.76444506999569 0 0 0 0 +772 1 3.6426 1 48.92035257152528 105.19831245691519 0 0 0 0 +9222 1 1.0408 1 43.581233015518805 102.72961464122575 0 0 0 0 +9279 1 1.0378 1 62.04871397525218 66.14978560954646 0 0 0 0 +9280 1 1.0378 1 21.369340953025972 93.33513529995967 0 0 0 0 +7380 1 1.163 1 54.83721070688121 106.61949272433397 0 0 0 0 +9320 1 1.0351 1 56.5636777008612 104.65666304765593 0 0 0 0 +4618 1 1.4785 1 15.999781964887688 92.90280270984682 0 1 0 0 +4581 1 1.4838 1 61.65379412334682 112.5991052505566 0 0 0 0 +9400 1 1.0307 1 55.66321521167543 96.17546275384393 0 0 0 0 +1209 1 2.8982 1 15.140492123558975 94.87223236063801 0 1 0 0 +9420 1 1.0296 1 37.15439104989806 102.37167985416163 0 0 0 0 +9650 1 1.0179 1 42.35794455936201 95.01760996969433 0 0 0 0 +9469 1 1.0273 1 59.02192387651729 81.47541306922159 0 0 0 0 +9502 1 1.0259 1 10.71612321589405 99.12175146380456 0 0 0 0 +1121 1 2.9867 1 48.54015917199273 108.44755660936535 0 0 0 0 +9329 1 1.0346 1 48.66147394578625 113.73516911808804 0 0 0 0 +5275 1 1.3791 1 16.29184243650043 91.54632885525108 0 0 0 0 +7102 1 1.1854 1 14.719483809272202 88.75949284372466 0 0 0 0 +9038 1 1.0505 1 55.7199917648647 114.04415412371445 0 0 0 0 +2491 1 2.0134 1 11.950451274088806 111.81514450392956 0 0 0 0 +8823 1 1.0618 1 56.71129095760521 116.89129444306812 0 0 0 0 +6155 1 1.2776 1 18.09571741814021 116.88903163694532 0 0 0 0 +1648 1 2.4535 1 63.456202860437664 75.07726900461155 0 0 0 0 +7113 1 1.1846 1 46.16959419898665 117.03828640663204 0 0 0 0 +7754 1 1.1318 1 10.015741252902748 115.83645466847936 0 0 0 0 +7369 1 1.164 1 9.969876087769475 98.34642536799905 0 0 0 0 +7225 1 1.1761 1 48.41572181664998 117.22653582902123 0 0 0 0 +5960 1 1.2989 1 16.89668252739845 117.23440189622342 0 0 0 0 +7967 1 1.1166 1 13.093943892513412 152.7194043292777 0 1 0 0 +9566 1 1.0221 1 58.00444530546631 129.1218503516055 0 0 0 0 +4746 1 1.4572 1 54.64362273881403 119.0816143163472 0 0 0 0 +141 1 7.8511 1 38.11759560224471 131.8322296859251 0 0 0 0 +170 1 7.3576 1 50.34446513172632 121.55617045353962 0 0 0 0 +219 1 6.5064 1 15.897341371339346 120.92678989742633 0 0 0 0 +244 1 6.2615 1 31.507884119316994 129.7070695934164 0 0 0 0 +353 1 5.3242 1 20.823259199269103 127.42232997544805 0 0 0 0 +7089 1 1.1871 1 59.27679376164719 117.76797928619158 0 0 0 0 +8162 1 1.1036 1 11.312940821727219 128.43147905800225 0 0 0 0 +489 1 4.4494 1 44.20497480474461 123.76491273209312 0 0 0 0 +544 1 4.2225 1 40.10079554761608 126.35924681092864 0 0 0 0 +550 1 4.1961 1 51.487033579710285 129.13787564237083 0 0 0 0 +744 1 3.6939 1 19.586855980607915 145.37869011260844 0 1 0 0 +630 1 3.9303 1 29.764112913999003 134.4208919307257 0 0 0 0 +637 1 3.919 1 19.439290701660365 134.72209186915555 0 0 0 0 +5779 1 1.3163 1 60.92334762890005 128.5773166284785 0 0 0 0 +664 1 3.8557 1 55.72389272506843 128.258642011445 0 0 0 0 +699 1 3.7858 1 29.550411782118992 138.36843672273272 0 0 0 0 +7513 1 1.1517 1 11.152665508232719 133.12026292371183 0 0 0 0 +7328 1 1.1682 1 11.122254932156187 135.28476139783155 0 0 0 0 +767 1 3.6482 1 23.917089770238466 131.07800127591153 0 0 0 0 +3760 1 1.6378 1 56.87613842820234 120.56539933651763 0 0 0 0 +791 1 3.6079 1 47.78666567900912 130.33398365897642 0 0 0 0 +836 1 3.4952 1 16.346049591125233 130.9618223722896 0 0 0 0 +3318 1 1.7357 1 12.04163696121329 134.1897137347882 0 0 0 0 +898 1 3.3585 1 45.52141950415548 127.73138352485707 0 0 0 0 +918 1 3.316 1 27.2772851453939 131.8644175694293 0 0 0 0 +975 1 3.2136 1 22.16616160499538 136.81538790474923 0 0 0 0 +9658 1 1.0176 1 43.183070201634784 129.85736992792565 0 0 0 0 +4464 1 1.5032 1 60.493102059561735 127.30740016759394 0 0 0 0 +1067 1 3.0623 1 24.76838750645169 126.38868338420376 0 0 0 0 +1087 1 3.0351 1 20.65920775467519 131.53111549058326 0 0 0 0 +1118 1 2.9952 1 24.95000320900464 137.77918972822908 0 0 0 0 +8308 1 1.0941 1 45.395085098557544 119.03439541291854 0 0 0 0 +1139 1 2.972 1 16.74172699833404 127.82652430441317 0 0 0 0 +1295 1 2.7964 1 18.915615423358354 140.96810509997746 0 0 0 0 +1327 1 2.7606 1 21.859922312700387 119.37253964361322 0 0 0 0 +4217 1 1.5471 1 18.617959348694384 143.04910283727418 0 1 0 0 +1551 1 2.5331 1 34.32949219341185 135.34092159511388 0 0 0 0 +1591 1 2.5002 1 21.641699471680923 143.07608812082202 0 0 0 0 +1605 1 2.4876 1 23.953834184318843 120.8080190896242 0 0 0 0 +1720 1 2.4103 1 20.33793335784522 138.88701815880174 0 0 0 0 +1739 1 2.3971 1 22.80831159802798 122.93490591409181 0 0 0 0 +1760 1 2.3781 1 18.408107366098122 124.51532482007286 0 0 0 0 +1892 1 2.3051 1 44.859115667015196 130.46084720410022 0 0 0 0 +1926 1 2.2859 1 45.26571645508948 120.63372816972755 0 0 0 0 +1958 1 2.2662 1 12.264487655711678 127.07638181143126 0 0 0 0 +4428 1 1.5096 1 14.202455555474026 132.16511290773005 0 1 0 0 +2218 1 2.1281 1 51.0342633940096 126.11157390836864 0 0 0 0 +2292 1 2.0977 1 24.56838323675032 140.24286986476218 0 0 0 0 +2301 1 2.0923 1 14.315010237317189 126.49904644920777 0 0 0 0 +2348 1 2.0692 1 13.831238170985143 128.48517282246044 0 0 0 0 +621 1 3.9539 1 56.46073367029561 124.48430650094342 0 0 0 0 +2396 1 2.0497 1 24.79135430155985 123.89739635326865 0 0 0 0 +2419 1 2.0415 1 18.439318836652646 137.499209336563 0 0 0 0 +2422 1 2.0399 1 25.54218436111553 128.7783317552702 0 0 0 0 +2484 1 2.0151 1 53.993160088977746 126.0198209397584 0 0 0 0 +2527 1 2.0007 1 13.466967229608288 124.37785288707302 0 0 0 0 +2572 1 1.9805 1 27.01804079332359 127.52178434521852 0 0 0 0 +5679 1 1.329 1 17.811370248400593 147.10155641280312 0 1 0 0 +2650 1 1.9477 1 42.93480194207842 131.29053767612237 0 0 0 0 +2825 1 1.8868 1 26.019736240872273 135.37183755396524 0 0 0 0 +2870 1 1.8708 1 27.094566648364392 136.85322027702216 0 0 0 0 +2875 1 1.8687 1 15.736555563811217 150.0275577361013 0 0 0 0 +2978 1 1.8398 1 25.587932412681802 141.9444692477334 0 0 0 0 +3097 1 1.7976 1 21.16970627776528 140.9986883484342 0 0 0 0 +1405 1 2.6748 1 19.485727165476984 118.22144592947399 0 0 0 0 +3171 1 1.7731 1 26.51181978518419 124.71089426895408 0 0 0 0 +3177 1 1.7714 1 31.110683076630313 125.8203859619088 0 0 0 0 +3217 1 1.761 1 27.490264905190894 129.33194479121428 0 0 0 0 +3233 1 1.7567 1 29.504955481020538 125.19996738449511 0 0 0 0 +3237 1 1.7555 1 27.98030481069075 125.92418662922843 0 0 0 0 +3270 1 1.7472 1 17.618364915506234 139.17033344554093 0 0 0 0 +3283 1 1.7446 1 44.35729088732751 132.4141476210161 0 0 0 0 +3305 1 1.739 1 47.10473141161888 124.66283266282103 0 0 0 0 +3309 1 1.7378 1 22.903843327434146 141.15092112353358 0 0 0 0 +3448 1 1.7045 1 63.45035424585881 128.13362302409269 0 0 0 0 +3390 1 1.7178 1 46.724054123095854 119.05891518695144 0 0 0 0 +3392 1 1.7172 1 23.037706257333046 139.11673106281225 0 0 0 0 +3410 1 1.7123 1 24.2672127346042 135.55191178187167 0 0 0 0 +3503 1 1.6932 1 15.19649131776351 124.88602328551328 0 0 0 0 +3614 1 1.6686 1 36.46995996640372 126.76298665085353 0 0 0 0 +3638 1 1.6648 1 42.69741891782295 133.0637787162429 0 0 0 0 +3773 1 1.6347 1 19.90274862326179 120.32486405438661 0 0 0 0 +7220 1 1.1765 1 57.70197898720324 121.69951068757867 0 0 0 0 +3818 1 1.6234 1 15.022046537102364 133.42060431084232 0 0 0 0 +3847 1 1.6174 1 32.29634953283039 135.51839824631807 0 0 0 0 +9645 1 1.0182 1 43.68763620625426 126.46353663654082 0 0 0 0 +4086 1 1.5687 1 19.895819993593562 121.9123694111032 0 0 0 0 +4090 1 1.5683 1 49.53498960864767 127.14276627016127 0 0 0 0 +4570 1 1.486 1 11.705743497113378 153.11753187205196 0 1 0 0 +4450 1 1.5064 1 22.904010308273435 133.41412285185 0 0 0 0 +4452 1 1.5062 1 28.091446522056625 140.54516892973643 0 0 0 0 +726 1 3.7336 1 10.717061710242255 123.7251836981836 0 0 0 0 +4578 1 1.4847 1 36.16186096223818 136.03617489696393 0 0 0 0 +4622 1 1.4781 1 12.04254707923342 120.2562482147588 0 0 0 0 +9575 1 1.0218 1 26.04199493863641 130.16067153385626 0 0 0 0 +4658 1 1.4717 1 26.198773009142908 122.87149725329408 0 0 0 0 +4660 1 1.4709 1 26.9886283108839 138.49354692433417 0 0 0 0 +4669 1 1.4694 1 28.143902976660605 124.36625580915667 0 0 0 0 +4726 1 1.4596 1 45.90007799767973 132.01111450187335 0 0 0 0 +4792 1 1.4504 1 48.16542718600806 126.72933326556256 0 0 0 0 +4809 1 1.4471 1 41.42054482507872 124.00963105045864 0 0 0 0 +9680 1 1.0165 1 33.117344604734186 136.60597972837374 0 0 0 0 +1726 1 2.4091 1 59.08652259635777 122.76944600844848 0 0 0 0 +5048 1 1.4137 1 27.12450587069599 134.19461351730982 0 0 0 0 +5064 1 1.4105 1 21.34333136501749 124.1065196281288 0 0 0 0 +5081 1 1.4075 1 28.628234599301745 127.3054562676619 0 0 0 0 +7637 1 1.1414 1 60.70432340698385 122.21173192046741 0 0 0 0 +5209 1 1.3876 1 18.18341471264495 129.42802396950202 0 0 0 0 +5277 1 1.3789 1 47.25858148803163 117.64726707799491 0 0 0 0 +5353 1 1.3692 1 23.89836015524824 128.5900725616743 0 0 0 0 +5364 1 1.3683 1 42.75660380757836 127.23786237736878 0 0 0 0 +5376 1 1.3671 1 12.069320852453814 121.63614417402461 0 0 0 0 +5403 1 1.3631 1 22.04603573897947 134.55168687527885 0 0 0 0 +9704 1 1.015 1 53.44328197897137 127.42664131360463 0 0 0 0 +9438 1 1.0289 1 10.115785110938326 129.23471430760097 0 0 0 0 +1184 1 2.9227 1 59.69005798086899 125.31750823941343 0 0 0 0 +5645 1 1.3327 1 31.273395123552824 136.5382333362651 0 0 0 0 +5699 1 1.3259 1 49.36034786574309 125.74722829543539 0 0 0 0 +1879 1 2.3137 1 58.8419463952177 120.45266286050537 0 0 0 0 +5776 1 1.3164 1 32.067484232095374 138.24667587411972 0 0 0 0 +2082 1 2.1914 1 55.00891207064151 121.88005430152447 0 0 0 0 +2045 1 2.2145 1 58.666780487771966 127.64584035910461 0 0 0 0 +5791 1 1.3152 1 17.665857962307022 132.88610594985943 0 0 0 0 +6506 1 1.2425 1 54.429686769145015 120.33823700043075 0 0 0 0 +6009 1 1.2935 1 55.95571715171498 119.43909916609758 0 0 0 0 +5709 1 1.3248 1 10.124807257964271 132.50908876976024 0 0 0 0 +8778 1 1.0647 1 59.236926868989045 118.8584717942394 0 0 0 0 +5985 1 1.2963 1 42.08220271156898 129.58538215406287 0 0 0 0 +6002 1 1.2942 1 17.043061254462746 134.01199148130326 0 0 0 0 +6078 1 1.2857 1 23.420560966240444 142.55940177486815 0 0 0 0 +1534 1 2.5434 1 61.793921058290195 123.64350491101965 0 0 0 0 +9571 1 1.022 1 32.26856085938133 137.11921198719816 0 0 0 0 +6135 1 1.2802 1 52.994249985368626 124.83840646202027 0 0 0 0 +149 1 7.7028 1 63.56176730831309 118.91616604914338 0 0 0 0 +6185 1 1.2736 1 52.57448674394144 126.68774033449382 0 0 0 0 +6225 1 1.2682 1 16.627346634474215 124.67321387488053 0 0 0 0 +6257 1 1.2643 1 34.083220144100295 137.18928243053804 0 0 0 0 +6297 1 1.2609 1 24.27337086499601 133.4903713118666 0 0 0 0 +6402 1 1.2515 1 14.316018007478348 151.58184934172502 0 1 0 0 +6353 1 1.2568 1 34.48073360848591 126.16345315152715 0 0 0 0 +6498 1 1.2433 1 27.01001210793671 141.37425527327255 0 0 0 0 +8613 1 1.0744 1 59.76973086351533 128.82606932694614 0 0 0 0 +6713 1 1.2211 1 35.043199783324106 128.50516753698147 0 0 0 0 +6747 1 1.2184 1 19.897538630614427 142.67430254049623 0 0 0 0 +6807 1 1.2117 1 27.038038844469664 139.78315689190268 0 0 0 0 +7531 1 1.1504 1 16.299433877318577 133.19688846708934 0 1 0 0 +6862 1 1.2066 1 33.982470610826866 133.56298635439546 0 0 0 0 +6909 1 1.2013 1 47.09526229139049 126.10042250914178 0 0 0 0 +6910 1 1.2012 1 26.15349490512297 140.5628545028383 0 0 0 0 +6916 1 1.2006 1 16.932607098901595 125.79852942834368 0 0 0 0 +6965 1 1.197 1 21.209203552628537 121.52909843195143 0 0 0 0 +6968 1 1.1967 1 32.995102115502604 126.07980235979454 0 0 0 0 +1585 1 2.5046 1 57.55881683819603 118.4354364276049 0 0 0 0 +7128 1 1.1836 1 20.01009190415177 137.16422849690005 0 0 0 0 +7150 1 1.1824 1 32.940057030443946 133.1178588172395 0 0 0 0 +7152 1 1.1821 1 56.623495017816616 121.94804610719214 0 0 0 0 +7177 1 1.1801 1 21.58653117678313 133.38533827826316 0 0 0 0 +7184 1 1.1794 1 47.88917504193709 127.97815076806361 0 0 0 0 +7959 1 1.1172 1 45.82167553511042 118.0601837660385 0 0 0 0 +7221 1 1.1764 1 25.44059537363748 121.82548232098173 0 0 0 0 +7228 1 1.1758 1 37.476123076286065 125.7721417464497 0 0 0 0 +833 1 3.4991 1 16.040547970234197 136.12307877216065 0 1 0 0 +2385 1 2.0539 1 17.15543501400348 148.6255469201683 0 1 0 0 +7376 1 1.1635 1 53.32700030038611 118.58418635301467 0 0 0 0 +7438 1 1.1576 1 22.867290291419152 144.3556737893451 0 0 0 0 +2654 1 1.9451 1 13.801588802502486 134.60777427867606 0 1 0 0 +8530 1 1.079 1 23.74278974836332 119.03763757986073 0 0 0 0 +7526 1 1.1507 1 21.94734455117968 145.00680120122865 0 0 0 0 +7542 1 1.1489 1 12.04584491024251 151.7057296666072 0 0 0 0 +7619 1 1.143 1 23.755881246839984 143.6843996798998 0 0 0 0 +7722 1 1.1347 1 18.632476723769866 131.1419501025784 0 0 0 0 +7726 1 1.1347 1 18.729903725007137 132.2974142457588 0 0 0 0 +1191 1 2.9163 1 62.404036736769825 126.22122111656785 0 0 0 0 +7771 1 1.1308 1 29.636438707843606 126.58030656803183 0 0 0 0 +7773 1 1.1307 1 42.33593759682723 128.4032645854333 0 0 0 0 +7840 1 1.1265 1 46.22364769026755 121.95998810863543 0 0 0 0 +7934 1 1.119 1 13.744246320597204 136.08803740831618 0 0 0 0 +7948 1 1.1183 1 32.55138510625268 134.1888757913321 0 0 0 0 +4014 1 1.5807 1 22.981360701017906 117.55469941091764 0 0 0 0 +7965 1 1.1167 1 21.076182636477597 122.67541480220953 0 0 0 0 +8000 1 1.1144 1 20.11639972134218 124.28984026334545 0 0 0 0 +8043 1 1.1117 1 15.832188401914475 126.06910543537217 0 0 0 0 +8116 1 1.1066 1 23.041231957900578 124.93945408716738 0 0 0 0 +9638 1 1.0186 1 33.13103092433066 137.79633913146714 0 0 0 0 +8170 1 1.1028 1 23.246868229030802 134.64753033247837 0 0 0 0 +8192 1 1.1019 1 14.31704401521343 129.96966007866598 0 0 0 0 +8251 1 1.0978 1 12.37699344065893 125.43956203532012 0 0 0 0 +8273 1 1.0966 1 46.1105997432695 125.64602263935669 0 0 0 0 +8286 1 1.0958 1 28.360601912133838 136.34373527695777 0 0 0 0 +8303 1 1.0943 1 19.154039314346093 130.15792000741612 0 0 0 0 +8335 1 1.0919 1 19.09899232882064 122.95068667651051 0 0 0 0 +8372 1 1.089 1 34.28467583259069 127.31361819074462 0 0 0 0 +8377 1 1.0887 1 41.28734898030418 128.71258761002613 0 0 0 0 +8402 1 1.0876 1 24.642149755876098 143.03763973958763 0 0 0 0 +8491 1 1.0815 1 48.97551279714752 128.32883733131519 0 0 0 0 +8504 1 1.0807 1 48.216604395332496 125.47516529712301 0 0 0 0 +8584 1 1.0763 1 49.42417834853456 117.5191732047897 0 0 0 0 +9775 1 1.0112 1 35.32117774692222 127.43117743573237 0 0 0 0 +8666 1 1.0715 1 42.70611735917798 126.04401651840988 0 0 0 0 +8701 1 1.0698 1 27.253900130494532 123.51140120510836 0 0 0 0 +8762 1 1.0656 1 21.82918040402853 139.75239713821762 0 0 0 0 +8793 1 1.0638 1 24.176054949848737 141.72867225601175 0 0 0 0 +8845 1 1.0605 1 37.67471562876764 127.39973875366799 0 0 0 0 +8860 1 1.0594 1 25.965229081169053 139.48070781803565 0 0 0 0 +8915 1 1.0569 1 20.136005945503847 123.20795964514701 0 0 0 0 +8940 1 1.0557 1 31.91256093826849 133.31590123814544 0 0 0 0 +8990 1 1.0531 1 25.310760701253237 132.97092779634988 0 0 0 0 +8578 1 1.0765 1 11.68088959916388 154.40131125773897 0 1 0 0 +9050 1 1.05 1 16.573491601806047 138.29664782649175 0 0 0 0 +2858 1 1.8771 1 55.54095231153645 117.71605025785388 0 0 0 0 +9182 1 1.0429 1 17.95224971956568 126.15250994763052 0 0 0 0 +9195 1 1.0422 1 15.205426508227866 129.06637942189676 0 0 0 0 +9218 1 1.041 1 24.52220603604065 122.42712534609072 0 0 0 0 +9232 1 1.0404 1 43.867840324192 129.13498305003932 0 0 0 0 +9266 1 1.0385 1 25.087009088991383 134.27261980345384 0 0 0 0 +9859 1 1.0067 1 54.18881170878511 117.99925927987252 0 0 0 0 +9352 1 1.0335 1 43.39310221298294 128.23586390881107 0 0 0 0 +9792 1 1.0101 1 10.682513148775929 151.88257088492446 0 0 0 0 +9449 1 1.0285 1 33.7903737249161 132.47891382628015 0 0 0 0 +9464 1 1.0276 1 22.261312202876756 121.22021178262331 0 0 0 0 +9471 1 1.0273 1 53.96443979076501 129.9432646715825 0 0 0 0 +9509 1 1.0254 1 25.984077755900984 133.76254278434163 0 0 0 0 +9548 1 1.0234 1 26.691402594863238 126.0833242480338 0 0 0 0 +8224 1 1.1001 1 62.10770380842474 128.46854951949888 0 0 0 0 +5896 1 1.3052 1 10.807567034339334 121.22857656908509 0 0 0 0 +5515 1 1.3493 1 13.139053158546409 133.11203801500244 0 0 0 0 +657 1 3.8757 1 11.994390467696695 130.77694950265743 0 0 0 0 +41 1 15.4992 1 10.207369809372185 143.54646434891913 0 1 0 0 +6510 1 1.242 1 12.558786424296677 135.55722962199525 0 0 0 0 +939 1 3.2646 1 21.095314730134973 276.1885835380781 0 0 0 0 +1769 1 2.3732 1 19.25019784330931 274.0934713196493 0 0 0 0 +6417 1 1.2501 1 11.584056617582133 272.93456496567114 0 1 0 0 +2684 1 1.9366 1 11.664006081725935 270.1879008558593 0 1 0 0 +2522 1 2.0041 1 14.322729385105893 273.28199180052314 0 0 0 0 +2862 1 1.8735 1 17.795194203525377 272.5449239244619 0 0 0 0 +7271 1 1.1731 1 11.130634348241422 268.68784380654876 0 1 0 0 +2259 1 2.1139 1 10.420229367644321 271.7644318895074 0 1 0 0 +4720 1 1.4606 1 16.190087025718725 272.1018741844433 0 0 0 0 +1717 1 2.4125 1 14.818017805852596 270.11276911158905 0 1 0 0 +6977 1 1.1961 1 23.288507044235622 276.59011288737963 0 0 0 0 +9428 1 1.0293 1 10.818497189095424 265.0494321187188 0 1 0 0 +9905 1 1.0047 1 13.124390336396157 270.2626635576358 0 1 0 0 +6816 1 1.2106 1 10.543808644453668 273.49955969064325 0 1 0 0 +9926 1 1.004 1 12.55241016107405 266.87546091277727 0 1 0 0 +9193 1 1.0422 1 17.692252739509705 274.6159019810527 0 0 0 0 +7444 1 1.1572 1 14.93475026551949 271.8631803036404 0 0 0 0 +5282 1 1.3781 1 12.10416158332391 271.76187452927815 0 0 0 0 +2000 1 2.2425 1 16.280083185100793 273.87275029580167 0 0 0 0 +6370 1 1.2551 1 12.792213994025825 272.8690718078852 0 1 0 0 +580 1 4.1031 1 12.280343650809503 275.4880798717021 0 1 0 0 +6517 1 1.2416 1 16.449346466314672 270.8578168312259 0 1 0 0 +3538 1 1.6852 1 13.553698525734054 271.6298824289498 0 1 0 0 +325 1 5.5027 1 16.54461224498606 277.6236392389093 0 0 0 0 +6991 1 1.1951 1 23.218114416012362 277.7820340478395 0 0 0 0 +1765 1 2.3752 1 10.926875491818963 266.71175641579265 0 1 0 0 +1618 1 2.4826 1 13.026556901461374 268.5022516287686 0 1 0 0 +5434 1 1.3585 1 24.407087311877408 277.4398518895966 0 0 0 0 +3412 1 1.7122 1 11.15384660962711 278.14874037367315 0 0 0 0 +12 1 32.319 1 43.958158843905814 319.97973245843343 0 0 0 0 +18 1 25.1498 1 10.508541231438633 296.4193438939298 0 0 0 0 +50 1 13.2136 1 35.481694375619746 299.11115379296183 0 0 0 0 +58 1 12.4673 1 25.379203701550228 284.2567258855725 0 0 0 0 +7257 1 1.1737 1 26.15948394243882 328.44099268856183 0 0 -1 0 +116 1 9.135 1 23.746486557894837 323.8999840196396 0 0 0 0 +143 1 7.8305 1 52.36483631918757 301.8825016164016 0 0 0 0 +7897 1 1.1216 1 30.85095924765836 330.29558287000214 0 0 -1 0 +158 1 7.5128 1 26.653603927108986 294.3123492515384 0 0 0 0 +167 1 7.3828 1 21.846874594481562 307.90818868745606 0 0 0 0 +205 1 6.7519 1 16.392750392104613 316.07736078943475 0 0 0 0 +234 1 6.3152 1 26.612540587865954 303.0504092780427 0 0 0 0 +299 1 5.7461 1 48.87724060153895 291.5444897493093 0 0 0 0 +322 1 5.5335 1 24.560134074856496 314.4290637689313 0 0 0 0 +3861 1 1.6156 1 10.314420292479909 283.04617313435404 0 0 0 0 +386 1 5.0124 1 36.082526809324605 288.9775980072527 0 0 0 0 +4583 1 1.4831 1 59.6395380945145 329.99062892967686 0 0 -1 0 +636 1 3.9197 1 40.664104205796995 291.0790863211843 0 0 0 0 +788 1 3.6122 1 56.93509579294166 298.64054334066645 0 0 0 0 +799 1 3.5954 1 15.084653680047897 282.90273505875604 0 0 0 0 +821 1 3.5423 1 60.9184779734519 304.5332444910421 0 0 0 0 +8494 1 1.0812 1 60.4233803900698 330.9784275098339 0 0 -1 0 +869 1 3.4291 1 20.352936288156766 313.05559531488854 0 0 0 0 +874 1 3.4158 1 43.565429335658344 297.427487419465 0 0 0 0 +4722 1 1.4601 1 20.03097413012545 327.62653159357853 0 0 -1 0 +945 1 3.2533 1 12.602267580059374 310.3488517022603 0 0 0 0 +1037 1 3.1125 1 28.9417840118901 307.57165180039027 0 0 0 0 +8410 1 1.0871 1 16.200224208884276 327.3788187715355 0 0 -1 0 +1112 1 2.9989 1 17.036862092042483 310.8746282557808 0 0 0 0 +1137 1 2.9732 1 47.22795593080497 300.4252105231261 0 0 0 0 +1222 1 2.8858 1 56.61142149143374 307.90965621713707 0 0 0 0 +1202 1 2.9034 1 12.972804053047524 329.83314707638056 0 0 0 0 +1206 1 2.8995 1 14.126961385802389 325.2241047977615 0 0 0 0 +9978 1 1.0014 1 56.41629918290741 331.038565057577 0 0 -1 0 +2989 1 1.8361 1 60.055525372002045 309.1423439949216 0 0 0 0 +1296 1 2.7962 1 43.96532614832317 293.08119666275945 0 0 0 0 +6658 1 1.2264 1 32.98556534202404 282.7539439180597 0 0 0 0 +1312 1 2.7768 1 10.834284453512726 313.192375008906 0 0 0 0 +1315 1 2.7729 1 12.92167050974414 280.61982514600726 0 0 0 0 +1341 1 2.745 1 43.575849374164235 289.5815766779806 0 0 0 0 +1342 1 2.7447 1 55.92646868681522 294.18865845355697 0 0 0 0 +6062 1 1.2872 1 31.8939752639151 282.1808093893685 0 0 0 0 +1404 1 2.6784 1 58.074226656691955 295.7679090836133 0 0 0 0 +3855 1 1.6164 1 18.530068560071918 327.8082336646117 0 0 0 0 +1445 1 2.6284 1 52.567140637175974 293.82017877615124 0 0 0 0 +1530 1 2.5464 1 54.04226917186146 295.92548684341045 0 0 0 0 +1666 1 2.4441 1 32.61805525489107 290.91329932991283 0 0 0 0 +1677 1 2.4408 1 59.44069243887236 293.5400448850139 0 0 0 0 +1683 1 2.4326 1 55.917647219482426 291.6638456171062 0 0 0 0 +1752 1 2.3838 1 57.977510673190444 304.65800106157366 0 0 0 0 +1789 1 2.3619 1 47.39088610926946 303.02399156413435 0 0 0 0 +1828 1 2.3422 1 31.316650964257004 306.3824675049714 0 0 0 0 +1835 1 2.3375 1 18.07987077799267 282.92642918515065 0 0 0 0 +9710 1 1.0146 1 16.740705120442016 281.3556427030654 0 0 0 0 +9829 1 1.0087 1 60.261291966798275 323.36389917958695 0 0 0 0 +2324 1 2.0777 1 34.84891450807014 284.2137121146019 0 0 0 0 +1916 1 2.2894 1 40.161530749895846 288.1164567601222 0 0 0 0 +1929 1 2.2841 1 47.56448116412327 297.8954678904781 0 0 0 0 +1942 1 2.2747 1 53.664139618080746 291.07843302017045 0 0 0 0 +1959 1 2.2649 1 15.204623974736743 328.6650721793745 0 0 0 0 +1980 1 2.2544 1 43.05516108541595 300.2108397069343 0 0 0 0 +2007 1 2.2352 1 32.28025094492128 286.6017841920105 0 0 0 0 +2019 1 2.2278 1 58.13207473868493 309.9401614632504 0 0 0 0 +2025 1 2.2241 1 55.79375387354908 305.52728065529504 0 0 0 0 +2064 1 2.202 1 14.719636520618632 311.977873164927 0 0 0 0 +2090 1 2.1881 1 57.294364269439995 302.4928718452555 0 0 0 0 +2109 1 2.1781 1 18.206965391890694 285.1835321126967 0 0 0 0 +9698 1 1.0154 1 27.455344656685206 298.4910200201764 0 0 0 0 +2325 1 2.0772 1 60.979525831218155 322.0340353924739 0 0 0 0 +2600 1 1.9673 1 31.600838331729964 331.5857983805857 0 0 -1 0 +2279 1 2.1033 1 20.219459687341292 318.2316106512171 0 0 0 0 +2321 1 2.08 1 21.866347591190422 317.01025690825884 0 0 0 0 +2329 1 2.0763 1 30.41804608811478 291.3601966951815 0 0 0 0 +2338 1 2.0738 1 26.844897020090514 318.67676667555344 0 0 0 0 +2363 1 2.0615 1 28.151961583894312 313.4526427656356 0 0 0 0 +2374 1 2.0584 1 26.51937197656556 308.377108292281 0 0 0 0 +2439 1 2.0308 1 32.44039290614326 288.71751886025123 0 0 0 0 +2455 1 2.026 1 42.34036661128952 287.5539493968782 0 0 0 0 +2597 1 1.9698 1 45.72568457477809 294.635659091771 0 0 0 0 +2613 1 1.962 1 22.561621716943606 302.5313799678986 0 0 0 0 +2746 1 1.9121 1 30.480508672433402 289.3671755430184 0 0 0 0 +2765 1 1.9068 1 28.191498714507137 309.9074351822093 0 0 0 0 +2790 1 1.8974 1 36.24275622474118 285.5667181907797 0 0 0 0 +2826 1 1.886 1 48.95619782505228 295.26879953335674 0 0 0 0 +8009 1 1.1141 1 59.69459688632871 325.4570149499149 0 0 0 0 +2863 1 1.8733 1 61.13566088023577 292.27208779573976 0 0 0 0 +2907 1 1.8617 1 15.79900469149044 308.8176886097211 0 0 0 0 +2945 1 1.85 1 30.357348788729066 304.57084705568894 0 0 0 0 +3095 1 1.7987 1 45.162731106465536 291.16357068105884 0 0 0 0 +9407 1 1.0302 1 60.27540290868392 326.28278650936517 0 0 -1 0 +1513 1 2.5624 1 18.298514146735503 325.77490027324677 0 0 -1 0 +3246 1 1.7538 1 12.390782838409207 314.78446279352727 0 0 0 0 +3330 1 1.7327 1 23.472367878844793 318.0129863300513 0 0 0 0 +3353 1 1.7271 1 52.36540259190575 297.1784434673805 0 0 0 0 +3372 1 1.7232 1 51.62282213582993 295.69212969075664 0 0 0 0 +3424 1 1.7105 1 25.21842824799086 310.90283119638264 0 0 0 0 +3441 1 1.7056 1 22.937766091440494 291.97081667121006 0 0 0 0 +3479 1 1.6982 1 27.905143963382358 311.6390323211237 0 0 0 0 +3491 1 1.6955 1 31.198415101163988 308.6833966140821 0 0 0 0 +3522 1 1.6887 1 21.983352832426988 318.8475846872502 0 0 0 0 +3532 1 1.686 1 46.73779160690031 296.13382233931657 0 0 0 0 +3543 1 1.684 1 50.69043716597872 297.08836218522896 0 0 0 0 +9310 1 1.0357 1 19.05263862029667 286.53579145124746 0 0 0 0 +3613 1 1.6687 1 39.50546583271709 286.1829639392506 0 0 0 0 +3621 1 1.6672 1 31.077056938986424 293.1158031124262 0 0 0 0 +7239 1 1.1748 1 59.26925460320453 326.59300323291814 0 0 -1 0 +3710 1 1.6448 1 49.49417291319357 298.16783302503444 0 0 0 0 +3730 1 1.643 1 29.48755316038969 311.10974705293745 0 0 0 0 +8759 1 1.0661 1 58.998971047642364 331.04780972428074 0 0 -1 0 +3804 1 1.6282 1 24.277228561636228 298.68087748324916 0 0 0 0 +3814 1 1.625 1 42.8938024357534 295.00201055916125 0 0 0 0 +9359 1 1.0329 1 58.63439841345815 291.5213931189907 0 0 0 0 +3854 1 1.6164 1 60.56745192820562 316.7585983743114 0 0 0 0 +9346 1 1.0338 1 12.525435847709234 312.41563142024296 0 0 0 0 +3882 1 1.6111 1 37.870408581540936 286.2123210984749 0 0 0 0 +3887 1 1.6103 1 40.40428555156438 293.7354596322807 0 0 0 0 +3897 1 1.6088 1 28.89013257474141 290.3444910200273 0 0 0 0 +8294 1 1.0951 1 61.823449190427034 302.48020391380464 0 0 0 0 +3949 1 1.5968 1 45.73420738899308 298.70167820309496 0 0 0 0 +3962 1 1.5939 1 13.7585392509604 323.08045495628255 0 0 0 0 +3993 1 1.5879 1 53.9109297178837 306.27847804225695 0 0 0 0 +4008 1 1.5819 1 13.281407809692297 313.3997923479043 0 0 0 0 +4033 1 1.5772 1 38.24244966128504 292.3040065752241 0 0 0 0 +4083 1 1.5692 1 17.88585344566372 280.869709843212 0 0 0 0 +4085 1 1.5689 1 22.483814367704884 290.5517122913517 0 0 0 0 +4121 1 1.5632 1 41.910854549029054 293.5010440466486 0 0 0 0 +9601 1 1.0206 1 34.704070637128744 291.6481385968592 0 0 0 0 +3436 1 1.7079 1 18.560664601341205 322.71174578105035 0 0 -1 0 +9180 1 1.0429 1 60.59895490070254 320.55360591568865 0 0 0 0 +4246 1 1.5428 1 59.4524277736277 311.79690708808664 0 0 0 0 +9670 1 1.017 1 33.73484049207224 306.0071926668599 0 0 0 0 +4270 1 1.5379 1 17.057764648626325 328.28087238911723 0 0 0 0 +917 1 3.3207 1 16.151566879758352 322.9127006331845 0 0 -1 0 +4282 1 1.536 1 21.079926930414143 315.4065301176818 0 0 0 0 +4321 1 1.5286 1 42.25698909485568 301.92530124586165 0 0 0 0 +4342 1 1.5241 1 45.74726591297944 302.04917182579135 0 0 0 0 +4371 1 1.5198 1 54.33912039280698 292.8156706249186 0 0 0 0 +4411 1 1.5134 1 41.537283492398586 303.2570820359975 0 0 0 0 +4418 1 1.5122 1 19.122285913467675 279.9871256879079 0 0 0 0 +4509 1 1.4954 1 44.56347287694786 301.2203499534981 0 0 0 0 +4580 1 1.4839 1 32.305328825184105 284.77365529900976 0 0 0 0 +4759 1 1.4546 1 24.86264444601415 318.76129157989567 0 0 0 0 +6080 1 1.2854 1 15.164004689274396 326.9367681112294 0 0 0 0 +1872 1 2.3195 1 61.811837159878394 324.0278332195628 0 0 0 0 +4832 1 1.4446 1 13.883764082625946 327.3810961115895 0 0 0 0 +4856 1 1.4404 1 60.04050297345014 295.3482396200815 0 0 0 0 +4957 1 1.425 1 47.400816956980016 294.7661439964143 0 0 0 0 +5000 1 1.4202 1 26.513677345776415 299.2186187934734 0 0 0 0 +5039 1 1.4152 1 23.93252316378178 290.8978496446939 0 0 0 0 +5047 1 1.4137 1 23.322839033102554 299.828223783598 0 0 0 0 +997 1 3.1796 1 18.733499642299414 320.3646431747856 0 0 -1 0 +5113 1 1.4015 1 58.11571390911357 306.487202842436 0 0 0 0 +5121 1 1.3993 1 45.44770790846269 288.6112062432585 0 0 0 0 +5135 1 1.3982 1 29.99755908392872 309.6764225706641 0 0 0 0 +5303 1 1.3756 1 41.37569400866632 294.8380032698173 0 0 0 0 +5320 1 1.3734 1 40.968627396588595 286.56565688040683 0 0 0 0 +5343 1 1.3706 1 15.721049954827036 320.07424715129235 0 0 0 0 +5358 1 1.3687 1 27.786802633770755 315.479115484811 0 0 0 0 +5460 1 1.3551 1 26.62500844806578 310.3181857698038 0 0 0 0 +5492 1 1.3517 1 44.396856349228685 303.16523870169675 0 0 0 0 +4268 1 1.5381 1 58.733524679246905 308.18891154096605 0 0 0 0 +5673 1 1.3296 1 25.594782069287824 317.61985695165 0 0 0 0 +8488 1 1.0817 1 16.750569393363 326.531975063857 0 0 -1 0 +5728 1 1.3231 1 32.427665164901846 307.7883967284068 0 0 0 0 +8894 1 1.0577 1 29.913859917609273 328.97952817196614 0 0 -1 0 +8524 1 1.0796 1 59.75942056571983 310.5460273020253 0 0 0 0 +5857 1 1.3093 1 42.932789998652815 303.22013185987737 0 0 0 0 +5865 1 1.3088 1 21.51805710340379 289.60618604293336 0 0 0 0 +5870 1 1.3085 1 16.602951575654338 284.72124404466285 0 0 0 0 +5890 1 1.3059 1 57.399744346000084 292.8040785135404 0 0 0 0 +9452 1 1.0281 1 58.1059721333359 328.7620232160202 0 0 -1 0 +5934 1 1.3015 1 50.53996285154272 294.6436129677088 0 0 0 0 +5978 1 1.2967 1 46.77702750111573 288.73843557758073 0 0 0 0 +5990 1 1.2959 1 14.500738446379252 320.58946891090466 0 0 0 0 +6073 1 1.286 1 19.141784881665444 281.4584216306321 0 0 0 0 +2370 1 2.0591 1 57.70769702623692 330.228554592285 0 0 -1 0 +6158 1 1.277 1 49.108078760040875 296.8051411279461 0 0 0 0 +6171 1 1.2753 1 23.350418384025264 301.14434390971945 0 0 0 0 +2705 1 1.9275 1 61.09478159331471 296.6047136113791 0 0 0 0 +6190 1 1.273 1 43.60323868534577 302.14829948781176 0 0 0 0 +6243 1 1.2659 1 44.3923779337684 287.833138336008 0 0 0 0 +6301 1 1.2608 1 17.62147249784345 308.82448812254074 0 0 0 0 +6309 1 1.2604 1 33.60292888545601 285.3768587862327 0 0 0 0 +6406 1 1.251 1 21.48721928813231 303.66622591916956 0 0 0 0 +2443 1 2.029 1 59.48973653479886 297.6382968896255 0 0 0 0 +6533 1 1.2391 1 56.36838211817213 303.91504876824683 0 0 0 0 +9955 1 1.003 1 55.96289602200882 296.1870820061161 0 0 0 0 +9045 1 1.0501 1 29.86203134819652 330.02432591764665 0 0 -1 0 +6644 1 1.2277 1 19.081334853184003 311.1608528566097 0 0 0 0 +6646 1 1.2275 1 45.88066430493983 297.30313409514235 0 0 0 0 +6650 1 1.2267 1 26.46333696110881 311.6460564567064 0 0 0 0 +6670 1 1.225 1 52.26326713587023 291.9824822943392 0 0 0 0 +6698 1 1.2223 1 26.9412550765164 306.7955146316063 0 0 0 0 +6712 1 1.2212 1 14.2034683365639 321.77717718240734 0 0 0 0 +6736 1 1.2192 1 23.62997668536158 297.4346965038519 0 0 0 0 +9152 1 1.0446 1 10.486628811397075 309.6349677836176 0 0 0 0 +7920 1 1.1195 1 60.73073706134936 298.55796144704783 0 0 0 0 +6773 1 1.2156 1 45.65025283654487 303.359544139143 0 0 0 0 +6788 1 1.2139 1 33.27534345921974 283.89953157334287 0 0 0 0 +8089 1 1.1082 1 54.769290817758915 307.2635851110576 0 0 0 0 +6793 1 1.213 1 45.856286567020696 289.8374901097112 0 0 0 0 +9357 1 1.0332 1 58.255338707567915 311.52173494582684 0 0 0 0 +1294 1 2.7971 1 62.182226662449985 309.92344288171466 0 0 0 0 +6872 1 1.2046 1 59.70350046303503 291.7645090979151 0 0 0 0 +6885 1 1.2036 1 17.515154237904035 307.59681102224005 0 0 0 0 +6898 1 1.2023 1 20.31064541947069 316.5798628002103 0 0 0 0 +6923 1 1.2 1 38.66466661833742 287.32476355619497 0 0 0 0 +7033 1 1.191 1 54.789604516209764 297.6257462169832 0 0 0 0 +8234 1 1.0993 1 37.55888777365526 284.9427756204561 0 0 0 0 +7073 1 1.1881 1 35.74543734665524 291.9884829030191 0 0 0 0 +7087 1 1.1872 1 60.114188124958986 324.4223662747037 0 0 0 0 +7093 1 1.1867 1 44.556021960576736 299.4348127511253 0 0 0 0 +7156 1 1.1815 1 15.837219279981158 280.76359630706065 0 0 0 0 +7190 1 1.179 1 45.35735598694164 296.11780101215396 0 0 0 0 +7292 1 1.1715 1 36.920137048244655 291.9512317269375 0 0 0 0 +7298 1 1.1709 1 27.263669493429123 320.20203072285915 0 0 0 0 +6936 1 1.1993 1 59.202104746869736 328.7668017111276 0 0 -1 0 +7519 1 1.1512 1 45.88886901916948 293.12424476670645 0 0 0 0 +7582 1 1.1453 1 11.012909929980031 329.74783205029195 0 0 0 0 +2841 1 1.8826 1 59.66291772855214 306.83787183577294 0 0 0 0 +7631 1 1.1424 1 41.89299618324815 295.94507096530987 0 0 0 0 +7676 1 1.1383 1 14.318067829820938 308.993024756768 0 0 0 0 +7710 1 1.1355 1 22.35134005835359 312.0493958103695 0 0 0 0 +7719 1 1.135 1 31.115973529555284 287.88007644833397 0 0 0 0 +7741 1 1.1333 1 33.38458337561994 307.02128222033684 0 0 0 0 +7896 1 1.1216 1 44.25570986757064 295.241255696783 0 0 0 0 +9874 1 1.0061 1 38.22400766971685 291.03860419269114 0 0 0 0 +7956 1 1.1173 1 14.917432972175023 310.1391726536465 0 0 0 0 +7976 1 1.1162 1 34.87526574913041 286.1625684899302 0 0 0 0 +7982 1 1.1157 1 32.385482332647456 292.6638603852313 0 0 0 0 +9830 1 1.0087 1 25.665385997446 309.6335221443811 0 0 0 0 +8027 1 1.113 1 58.9795099061741 303.26724172619606 0 0 0 0 +7496 1 1.1528 1 28.395037721961184 325.9662270039563 0 0 -1 0 +2336 1 2.0745 1 61.40165660886041 307.6639558744865 0 0 0 0 +9834 1 1.0085 1 58.580168447903674 327.8752642136275 0 0 0 0 +6975 1 1.1962 1 12.26652612843918 324.62038240306504 0 0 -1 0 +8227 1 1.0998 1 14.40962908976049 319.4254398491719 0 0 0 0 +622 1 3.9488 1 59.87840082812155 300.937542680541 0 0 0 0 +8241 1 1.0988 1 53.66749144661429 297.6641722549306 0 0 0 0 +9325 1 1.0348 1 48.63503033442205 304.0761809594136 0 0 0 0 +8334 1 1.0919 1 33.81107231734215 292.18293505281275 0 0 0 0 +8853 1 1.0599 1 18.656984425925636 324.04637701159777 0 0 -1 0 +8354 1 1.0904 1 45.290781824434326 300.2126941416288 0 0 0 0 +8413 1 1.0868 1 26.907391193399977 317.0923542712556 0 0 0 0 +8417 1 1.0865 1 12.779556437557552 282.51911778593205 0 0 0 0 +7056 1 1.1893 1 59.622884110442406 327.6772206732479 0 0 0 0 +8468 1 1.0832 1 34.724636875356225 306.1619508165643 0 0 0 0 +8486 1 1.0818 1 33.92512196313251 286.68472288908407 0 0 0 0 +9740 1 1.0131 1 33.4660550056939 287.6192263209046 0 0 0 0 +8339 1 1.0911 1 28.871389277562155 329.8158781750101 0 0 -1 0 +8582 1 1.0763 1 57.77444257332037 293.9307027275433 0 0 0 0 +8595 1 1.0755 1 28.2234094212129 299.5081129004928 0 0 0 0 +8649 1 1.0723 1 15.888751303564238 325.99643642465287 0 0 0 0 +8653 1 1.0722 1 12.89956623589786 283.57212862212094 0 0 0 0 +8656 1 1.0719 1 50.27656631932238 295.79827114027194 0 0 0 0 +8669 1 1.0713 1 25.576201838614697 298.4427526242388 0 0 0 0 +9714 1 1.0145 1 20.85484350344629 319.66924397321014 0 0 0 0 +8712 1 1.0693 1 32.12139772876258 283.5094497127028 0 0 0 0 +8755 1 1.0666 1 28.429705702108063 298.2019807368503 0 0 0 0 +8851 1 1.0602 1 32.798155934872206 305.68431074034567 0 0 0 0 +8958 1 1.0549 1 48.800803894254244 299.2597813664487 0 0 0 0 +9008 1 1.0523 1 24.549965238571065 299.99820581643377 0 0 0 0 +9011 1 1.0522 1 29.304784347263556 305.5426907538099 0 0 0 0 +9129 1 1.0457 1 48.05243783206458 296.3521992687056 0 0 0 0 +9148 1 1.0448 1 16.6752620944793 320.80055474261997 0 0 0 0 +1130 1 2.9764 1 28.173707477428746 327.97623853672945 0 0 -1 0 +9349 1 1.0336 1 20.35180598188748 279.77294750599157 0 0 0 0 +9199 1 1.0419 1 43.10888401938394 291.3940337899394 0 0 0 0 +9212 1 1.0413 1 57.63182289621972 291.66000522847787 0 0 0 0 +9245 1 1.0397 1 25.83996142995151 306.63686031768026 0 0 0 0 +1417 1 2.6646 1 60.19247572747286 313.71955646784795 0 0 0 0 +2497 1 2.011 1 10.65755515571061 279.92391298475803 0 1 0 0 +505 1 4.3556 1 11.022960286917371 327.0406847690507 0 0 0 0 +6177 1 1.2748 1 60.64960567532367 318.1769736648131 0 0 0 0 +8507 1 1.0804 1 62.23865634764754 300.1268295210728 0 0 0 0 +4783 1 1.4511 1 61.0836879058248 319.44275460172196 0 0 0 0 +7973 1 1.1164 1 61.877750108755 314.5156665119015 0 0 0 0 +8564 1 1.0771 1 60.83401987834822 325.4026466716566 0 0 0 0 +8572 1 1.0767 1 62.28580591817296 306.3858292086975 0 0 0 0 +8902 1 1.0573 1 14.799983831389552 280.38766470190615 0 0 0 0 +4281 1 1.5361 1 63.23849987938655 305.5209437729072 0 0 0 0 +5204 1 1.3881 1 11.763213291533251 283.2092925637144 0 0 0 0 +4787 1 1.4508 1 60.89148100101002 311.57673133711944 0 0 0 0 +5792 1 1.3151 1 61.11960016973828 315.4416351365425 0 0 0 0 +9118 1 1.0464 1 63.46296982597681 324.2461075532608 0 0 -1 0 +9632 1 1.0189 1 11.316779345702976 330.7848601349705 0 0 -1 0 +3780 1 1.6336 1 10.314337955314684 311.07912312356996 0 0 0 0 +5905 1 1.3044 1 21.129045054494984 278.9271528556147 0 0 0 0 +1275 1 2.8181 1 61.93002493324886 294.4235802678563 0 0 0 0 +3904 1 1.6065 1 11.045846744508399 281.6682446421086 0 0 0 0 +7518 1 1.1512 1 61.644121212253246 299.18477971226827 0 0 0 0 +9888 1 1.0056 1 61.617769698754635 320.5418768439937 0 0 0 0 +2799 1 1.8937 1 12.945031645295757 278.350040483698 0 1 0 0 +3152 1 1.7783 1 62.71717124269744 321.37941001184 0 0 0 0 +3669 1 1.6558 1 62.878586448233854 292.4225555726158 0 0 0 0 +1183 1 2.9256 1 62.73173465866718 312.7139914222765 0 0 0 0 +4144 1 1.5595 1 19.939648364514042 278.27009712988325 0 0 0 0 +1706 1 2.4176 1 63.23028776849537 301.5595174644926 0 0 0 0 +4488 1 1.5001 1 63.177365095225944 303.48234543742024 0 0 0 0 +6516 1 1.2416 1 22.109525733958158 278.18042968682727 0 0 0 0 +434 1 4.726 1 105.17612755216766 12.892386463264963 0 0 0 0 +21 1 21.4617 1 96.63908067874068 52.03870985143944 0 0 0 0 +69 1 11.2782 1 71.41045490177207 25.42044717555252 0 0 0 0 +83 1 10.1031 1 98.20110899245296 34.47002956767655 0 0 0 0 +8095 1 1.1076 1 66.10651395931112 58.433255133562014 0 0 0 0 +121 1 9.0689 1 88.91424809873992 16.568051351495725 0 0 0 0 +133 1 8.3183 1 97.14733706397736 18.66692737563729 0 0 0 0 +148 1 7.7316 1 85.03696891246967 25.666658100564405 0 0 0 0 +250 1 6.2083 1 112.99842383468102 37.87296891746763 0 0 0 0 +257 1 6.1596 1 115.56614748529289 31.16287264676628 0 0 0 0 +284 1 5.8668 1 89.88191663331591 30.3033319758313 0 0 0 0 +332 1 5.4683 1 103.97570775294771 39.609264246117526 0 0 0 0 +8478 1 1.0825 1 108.57981586208808 24.84761734387709 0 0 0 0 +355 1 5.304 1 103.75405679689858 17.654742683282052 0 0 0 0 +374 1 5.0865 1 74.75846818910156 43.71601361643775 0 0 0 0 +8920 1 1.0564 1 64.62808538665003 11.873644968567316 0 0 0 0 +394 1 4.9598 1 84.90872531226611 37.68887971148406 0 0 0 0 +419 1 4.8193 1 90.93442524314868 35.44299690604385 0 0 0 0 +32 1 17.7495 1 116.27683773689931 12.361418784183613 0 0 0 0 +238 1 6.2924 1 69.2562494144066 14.225411786869314 0 0 1 0 +4048 1 1.5748 1 108.34779976467935 21.23748001094171 0 0 0 0 +4953 1 1.4255 1 69.45633826743936 51.70477258369727 0 0 0 0 +501 1 4.3637 1 86.54797958430323 41.97998264843935 0 0 0 0 +513 1 4.3173 1 111.79707472760319 48.30629853402377 0 0 0 0 +528 1 4.2756 1 112.79784807497515 44.20838029504775 0 0 0 0 +608 1 3.9972 1 81.07979139801311 29.792666566481564 0 0 0 0 +665 1 3.8515 1 92.97986512056951 26.69455394254134 0 0 0 0 +9737 1 1.0132 1 70.36130003024584 62.323480093502006 0 0 0 0 +723 1 3.7442 1 108.83821182659342 35.30625145011232 0 0 0 0 +729 1 3.7291 1 80.8956588955734 36.234443118722425 0 0 0 0 +745 1 3.6937 1 108.18120271491276 41.22198027200564 0 0 0 0 +753 1 3.6804 1 108.6102999527701 45.08148090698733 0 0 0 0 +876 1 3.4104 1 115.99074106550852 41.50105040379105 0 0 0 0 +883 1 3.3827 1 100.25186952499017 24.665275081602548 0 0 0 0 +935 1 3.2856 1 111.18503645932425 32.73110418090971 0 0 0 0 +9489 1 1.0264 1 110.67954544580043 20.73969552764041 0 0 0 0 +960 1 3.229 1 99.15336442031935 13.332821534951389 0 0 0 0 +973 1 3.2143 1 97.03375174470473 24.341912068968558 0 0 0 0 +982 1 3.2075 1 76.52475353289998 36.11482137770424 0 0 0 0 +1006 1 3.167 1 83.56018667046004 13.009923171852648 0 0 0 0 +1018 1 3.1502 1 106.63671433891032 29.41473932456902 0 0 0 0 +1565 1 2.5225 1 116.12770935476541 44.372733215207774 0 0 0 0 +3976 1 1.5908 1 74.01823799229616 33.85519292741358 0 0 0 0 +844 1 3.4658 1 64.12795148035946 26.420256471959632 0 0 0 0 +1090 1 3.0312 1 84.1737837216242 47.00010285433257 0 0 0 0 +1103 1 3.014 1 108.75589001621984 51.58000455129784 0 0 0 0 +1045 1 3.0949 1 89.80778205904244 10.62794006286147 0 0 0 0 +4382 1 1.5178 1 72.20342467447443 31.757818348134013 0 0 0 0 +1185 1 2.9221 1 81.83031373548008 33.07667009421448 0 0 0 0 +1194 1 2.9134 1 103.41426528858449 30.66846265689985 0 0 0 0 +1343 1 2.7444 1 68.26830847065405 19.26475884568273 0 0 0 0 +1352 1 2.735 1 82.62891660159576 54.320305359330305 0 0 0 0 +1355 1 2.733 1 84.44495324531786 33.9122399710808 0 0 0 0 +1362 1 2.7265 1 84.89272963573903 49.69316297661039 0 0 0 0 +1395 1 2.6877 1 101.43078340098258 21.962670197188597 0 0 0 0 +1430 1 2.6475 1 64.07956461221215 19.468202338148643 0 0 0 0 +3980 1 1.5901 1 65.72037460965527 12.571985927916987 0 0 1 0 +1467 1 2.6054 1 104.69779511918956 35.06962314461163 0 0 0 0 +1518 1 2.5596 1 89.94298524683103 42.15241419256932 0 0 0 0 +4395 1 1.5156 1 81.50636267327235 58.3897072408862 0 0 0 0 +1550 1 2.5331 1 104.8665443687493 60.663604045107704 0 0 0 0 +1560 1 2.5242 1 83.27238692670038 51.72864917239192 0 0 0 0 +7913 1 1.1198 1 68.45889398751204 10.664274036991658 0 0 1 0 +1575 1 2.5131 1 100.83743138915412 63.16516291710566 0 0 0 0 +1593 1 2.4997 1 81.71274154713751 45.82221291000151 0 0 0 0 +1620 1 2.4786 1 85.08558565315434 54.91535268149571 0 0 0 0 +1660 1 2.4477 1 89.17233091344416 61.232931472519674 0 0 0 0 +1674 1 2.4413 1 95.6289852461033 28.37123599173441 0 0 0 0 +1680 1 2.44 1 106.4302774055005 58.78767432224272 0 0 0 0 +7768 1 1.1309 1 116.4074874691813 21.76524992470695 0 0 0 0 +1727 1 2.4073 1 95.72651186090246 40.200335408733565 0 0 0 0 +1728 1 2.4071 1 108.54825160497482 57.78698327020635 0 0 0 0 +1732 1 2.4049 1 113.16358533157376 53.83751342954066 0 0 0 0 +1753 1 2.3838 1 78.54037508448602 31.592483637479724 0 0 0 0 +1755 1 2.3833 1 93.17746844335703 12.934105567582273 0 0 0 0 +1758 1 2.3818 1 78.97523444721608 48.50612060838281 0 0 0 0 +1768 1 2.3737 1 91.58351040026447 38.9537450289753 0 0 0 0 +3175 1 1.7717 1 64.27503698621283 54.09385383315164 0 0 0 0 +1829 1 2.3419 1 86.49160176761897 32.513615786857834 0 0 0 0 +7902 1 1.1211 1 72.47774354141708 62.249809453058795 0 0 0 0 +1848 1 2.3311 1 109.83355506138312 55.8709738052277 0 0 0 0 +1894 1 2.3034 1 77.90186356578538 41.87337348756708 0 0 0 0 +1901 1 2.3004 1 73.83467218064217 35.80196566890807 0 0 0 0 +1943 1 2.2741 1 93.44621357001466 40.66807034861193 0 0 0 0 +1968 1 2.259 1 112.07139962024215 55.82351684727031 0 0 0 0 +2002 1 2.2423 1 106.26111945322089 43.40305468678126 0 0 0 0 +2006 1 2.2359 1 80.50006484094658 41.81449315573719 0 0 0 0 +2015 1 2.2303 1 97.46044316092632 26.957916949691437 0 0 0 0 +2028 1 2.2237 1 106.35992038734415 36.762756638623046 0 0 0 0 +2042 1 2.2165 1 98.92188672435505 28.50121273483586 0 0 0 0 +2068 1 2.1988 1 85.52575403146741 30.530279846475338 0 0 0 0 +2126 1 2.1662 1 102.95453979802312 62.013103936261814 0 0 0 0 +2143 1 2.1582 1 108.648365029531 47.91738423282546 0 0 0 0 +2167 1 2.1496 1 80.01242535064422 26.93570134017484 0 0 0 0 +2202 1 2.1361 1 89.2411651762343 22.124359732265205 0 0 0 0 +2205 1 2.1343 1 73.97057406681495 31.55419267756115 0 0 0 0 +8202 1 1.1013 1 64.71848356811739 22.995713976924183 0 0 0 0 +2258 1 2.1144 1 107.24445873757574 31.91236750384839 0 0 0 0 +2267 1 2.1076 1 78.60006017602049 33.82201042803484 0 0 0 0 +4506 1 1.4959 1 109.67122564775713 24.209698906040554 0 0 0 0 +2311 1 2.0841 1 85.88130995138836 11.946211995758024 0 0 0 0 +9277 1 1.0379 1 68.69597847111575 54.51451779934062 0 0 0 0 +5943 1 1.3005 1 64.20067582194403 52.497411623816475 0 0 0 0 +2347 1 2.0696 1 87.59330866140897 35.56938889005916 0 0 0 0 +2361 1 2.0617 1 97.90000333133403 40.44307976003919 0 0 0 0 +2377 1 2.0565 1 85.46731582641493 20.851086111920004 0 0 0 0 +2403 1 2.0471 1 80.51133692666514 43.939037701237424 0 0 0 0 +2458 1 2.0253 1 107.6058867948881 38.44865857658284 0 0 0 0 +2463 1 2.024 1 110.99128567863843 41.39371384563105 0 0 0 0 +2482 1 2.0167 1 92.32580707694098 22.760648306840533 0 0 0 0 +2489 1 2.0142 1 85.00099887036134 44.68434701270415 0 0 0 0 +2513 1 2.0064 1 104.23550899381661 43.2429273977583 0 0 0 0 +2517 1 2.0053 1 91.07227629405233 62.308412945641884 0 0 0 0 +2528 1 2.0004 1 109.01304959859613 54.001497929203815 0 0 0 0 +2536 1 1.9972 1 99.85045248834966 40.78433701140499 0 0 0 0 +2596 1 1.9701 1 72.44858251607631 46.84443551416395 0 0 0 0 +6566 1 1.236 1 102.27618527442296 13.237630534183007 0 0 0 0 +2630 1 1.9568 1 80.07164510913346 50.29412140245684 0 0 0 0 +2089 1 2.1881 1 73.70809772018771 13.406842530044594 0 0 1 0 +2656 1 1.9447 1 95.19357810044482 10.220091178748087 0 0 0 0 +2659 1 1.9441 1 77.945003574881 45.15607270303883 0 0 0 0 +2685 1 1.9363 1 103.98031723874274 32.974855045338515 0 0 0 0 +2690 1 1.9335 1 74.0899225282604 40.296085633851696 0 0 0 0 +2740 1 1.9143 1 77.5866613248711 38.39197287403101 0 0 0 0 +2773 1 1.9049 1 97.27960940082778 11.68229747942421 0 0 0 0 +2819 1 1.8893 1 76.86963593168943 40.10293748443791 0 0 0 0 +8252 1 1.0977 1 109.66420289461624 21.035748887520352 0 0 0 0 +2850 1 1.879 1 78.22179279479238 29.490768486452886 0 0 0 0 +7932 1 1.119 1 115.27274238251458 49.318257376614895 0 0 0 0 +9415 1 1.0298 1 71.47437972652631 49.63090861949424 0 0 0 0 +2949 1 1.849 1 72.81245156149191 38.80735999005511 0 0 0 0 +2990 1 1.836 1 101.4002594736752 29.512839402248584 0 0 0 0 +2997 1 1.8332 1 76.43898855727053 29.536864962535624 0 0 0 0 +3038 1 1.8149 1 93.2472169809775 37.701996973266446 0 0 0 0 +3039 1 1.8147 1 64.20884011710054 21.656947913280625 0 0 0 0 +3068 1 1.808 1 80.43469660623865 23.79860819298939 0 0 0 0 +3105 1 1.796 1 89.44810256631801 24.043391421622413 0 0 0 0 +5898 1 1.305 1 109.4565841144079 29.554609628634214 0 0 0 0 +128 1 8.5121 1 75.31965207479595 52.46663624714516 0 0 0 0 +829 1 3.51 1 72.03112884801429 18.186837657338796 0 0 1 0 +5401 1 1.3634 1 106.93598349849408 10.44566893977381 0 0 0 0 +3211 1 1.7635 1 101.32727367676968 14.368091557389775 0 0 0 0 +3219 1 1.7606 1 79.35593054280059 38.4232948117379 0 0 0 0 +3226 1 1.7586 1 82.0623144485701 48.07518801111986 0 0 0 0 +3228 1 1.7584 1 87.37182469776954 21.65446690033872 0 0 0 0 +3841 1 1.619 1 80.30653458616466 62.29498982953348 0 0 0 0 +3266 1 1.7483 1 86.71092850220572 45.42935507880906 0 0 0 0 +3285 1 1.7442 1 81.7035069031971 40.26470227482615 0 0 0 0 +3286 1 1.744 1 71.75479691162414 45.16342450123758 0 0 0 0 +8497 1 1.0811 1 111.11476821388337 21.63655616097023 0 0 0 0 +3293 1 1.7419 1 76.70037398652022 46.47230022509693 0 0 0 0 +1304 1 2.7888 1 69.56493191814883 49.627775571174325 0 0 0 0 +3365 1 1.7248 1 91.14443208205196 24.164859672998137 0 0 0 0 +5372 1 1.3675 1 75.49572193479139 30.773313203406957 0 0 0 0 +3481 1 1.6974 1 113.04906909692474 51.01827782347724 0 0 0 0 +5262 1 1.3806 1 108.44060672069483 26.79344677474848 0 0 0 0 +3547 1 1.6831 1 110.14673183234295 42.9777214818795 0 0 0 0 +3553 1 1.6805 1 95.65600049423111 26.31660228050961 0 0 0 0 +3555 1 1.6799 1 72.39272432668217 37.11685696085291 0 0 0 0 +3569 1 1.6762 1 100.09919688223872 27.08738349365727 0 0 0 0 +3579 1 1.675 1 83.76587114374858 15.33308689924395 0 0 0 0 +3605 1 1.6697 1 77.79876050786338 25.071608264856295 0 0 0 0 +3610 1 1.6688 1 89.04580190625606 39.18140168435809 0 0 0 0 +3674 1 1.6544 1 107.72637064474344 55.61286585323143 0 0 0 0 +562 1 4.1677 1 66.88242684997194 52.68752517709902 0 0 0 0 +3679 1 1.6538 1 83.35813343708848 40.564141169560585 0 0 0 0 +3680 1 1.6534 1 110.96238364007209 52.02628117397564 0 0 0 0 +3697 1 1.6481 1 93.75795399451692 23.875316873385074 0 0 0 0 +3747 1 1.6403 1 74.51676005580988 38.57922409335624 0 0 0 0 +3838 1 1.6194 1 87.62864112225272 11.417618652622481 0 0 0 0 +6945 1 1.1985 1 72.9310416533753 14.842024788055586 0 0 1 0 +9662 1 1.0174 1 114.28637068147027 27.904090930369684 0 0 0 0 +3934 1 1.6013 1 115.56206757853437 48.044926490743705 0 0 0 0 +8757 1 1.0664 1 70.83115836014666 50.97916112377148 0 0 0 0 +3966 1 1.5931 1 75.1510010808891 47.011676798260176 0 0 0 0 +3973 1 1.5912 1 114.39000704523886 46.995507590043644 0 0 0 0 +3997 1 1.5863 1 102.99657364170145 28.28357761575715 0 0 0 0 +6025 1 1.292 1 73.96068087251831 11.718486380406205 0 0 0 0 +4034 1 1.5771 1 79.6292229832826 46.223644498953064 0 0 0 0 +4038 1 1.5762 1 108.5780914571747 30.662417642235265 0 0 0 0 +4040 1 1.5761 1 80.56976728362879 47.44204173946097 0 0 0 0 +4043 1 1.5752 1 66.1486615111353 19.34567117909387 0 0 0 0 +4072 1 1.5709 1 96.90506686037824 13.799071475087183 0 0 0 0 +4075 1 1.5706 1 98.56227523025787 63.30291947128198 0 0 0 0 +347 1 5.3603 1 113.69850999301406 23.458858070515124 0 0 0 0 +166 1 7.4036 1 65.08181861768664 62.52153064839315 0 0 0 0 +9259 1 1.0389 1 116.65567204723196 34.57685232375498 0 0 0 0 +4243 1 1.5429 1 104.44246270945631 28.772103268427244 0 0 0 0 +4266 1 1.5384 1 66.8896105557475 20.884660126663846 0 0 0 0 +4289 1 1.535 1 107.83171180767076 49.53661380216921 0 0 0 0 +4326 1 1.5275 1 114.15750800990911 49.926676437467535 0 0 0 0 +4335 1 1.5257 1 94.43011410426007 38.82096391952505 0 0 0 0 +4337 1 1.5253 1 85.22421656910846 51.724546302950635 0 0 0 0 +4345 1 1.5235 1 80.90149885865627 38.84420336987982 0 0 0 0 +4372 1 1.5198 1 114.29819117478819 55.39257101617522 0 0 0 0 +4377 1 1.5189 1 72.62601026702151 34.396230548020775 0 0 0 0 +5961 1 1.2988 1 69.70205174572533 17.9377766529949 0 0 1 0 +4401 1 1.5148 1 70.34231837118399 47.6933457403805 0 0 0 0 +4439 1 1.508 1 95.07012951740111 23.077684623314934 0 0 0 0 +7224 1 1.1762 1 71.21075908178992 60.994773437895404 0 0 0 0 +4482 1 1.5007 1 82.33116341577824 41.73809693175104 0 0 0 0 +4485 1 1.5002 1 105.53925703316774 32.36350997743259 0 0 0 0 +4505 1 1.4964 1 81.63820623243564 49.641950640793176 0 0 0 0 +4538 1 1.4912 1 88.77316461542054 43.777290595258144 0 0 0 0 +487 1 4.4531 1 76.77634276723647 11.201388453792827 0 0 0 0 +4576 1 1.485 1 93.53122775815363 30.247495641791826 0 0 0 0 +4594 1 1.4814 1 90.1939401709319 40.2089594192116 0 0 0 0 +4657 1 1.472 1 91.86369509648783 41.62381436971309 0 0 0 0 +4666 1 1.4699 1 79.27731999879795 25.293671417649236 0 0 0 0 +4514 1 1.4948 1 65.27732596331923 24.136456240773686 0 0 0 0 +4708 1 1.4634 1 82.4968626740704 44.04086724183906 0 0 0 0 +5713 1 1.3246 1 81.74217495556846 57.02685770425055 0 0 0 0 +4760 1 1.4545 1 78.81052048479086 23.891024187120667 0 0 0 0 +4810 1 1.447 1 71.92484931112277 35.662948654302795 0 0 0 0 +4816 1 1.4464 1 83.73562697957684 30.301394562068594 0 0 0 0 +4835 1 1.4438 1 78.24385002127288 46.78668536081891 0 0 0 0 +4838 1 1.4433 1 83.54358688802378 31.73054450890789 0 0 0 0 +4848 1 1.4421 1 101.28814787180463 41.65348967199978 0 0 0 0 +4849 1 1.4419 1 83.72731741077243 42.04260378474006 0 0 0 0 +8058 1 1.1106 1 67.33747163998216 29.780868516707045 0 0 0 0 +8053 1 1.1112 1 65.7957807758775 22.840328060996722 0 0 0 0 +4896 1 1.4331 1 93.06454658390325 21.259579294486578 0 0 0 0 +4897 1 1.4331 1 113.64950279685236 41.563897774395606 0 0 0 0 +8814 1 1.0625 1 73.6834486889048 15.840898204800261 0 0 1 0 +4988 1 1.4219 1 94.85222458387605 24.914642115102623 0 0 0 0 +5026 1 1.4171 1 86.39295261787207 46.96343807249402 0 0 0 0 +5029 1 1.4168 1 109.20270675827807 37.84353756449067 0 0 0 0 +8528 1 1.0792 1 77.86084798779895 61.54627142601715 0 0 0 0 +8167 1 1.1032 1 116.87947106175254 22.96422331987754 0 0 0 0 +5067 1 1.41 1 94.47146735155927 11.658481706420682 0 0 0 0 +4920 1 1.4297 1 110.76831268521617 25.056415719063104 0 0 0 0 +5091 1 1.4051 1 86.40886469723746 34.36508962072146 0 0 0 0 +7606 1 1.1437 1 116.63325526894339 38.05300552948329 0 0 0 0 +7203 1 1.1778 1 116.72359140770227 50.139975939648714 0 0 0 0 +5162 1 1.3934 1 90.88643906812469 21.50934469932835 0 0 0 0 +5193 1 1.3896 1 107.0105356739826 47.248520745582475 0 0 0 0 +5196 1 1.3892 1 91.5092296007772 12.069238604564566 0 0 0 0 +7975 1 1.1162 1 106.15481883522133 15.591222954433423 0 0 0 0 +5219 1 1.3867 1 94.57216372600583 14.143032734121066 0 0 0 0 +5223 1 1.3863 1 75.975142948453 38.36046712759472 0 0 0 0 +5234 1 1.3845 1 87.69528287690291 33.880881479522806 0 0 0 0 +5244 1 1.3828 1 90.37294342101146 26.73344850914943 0 0 0 0 +5273 1 1.3794 1 111.31736837036128 53.487692309998266 0 0 0 0 +5314 1 1.3738 1 70.92435493491955 46.44230863048433 0 0 0 0 +5333 1 1.3716 1 82.9665544415823 49.30860030328542 0 0 0 0 +5351 1 1.3696 1 101.00550036888157 15.83910612900224 0 0 0 0 +8868 1 1.059 1 81.60363427029864 55.86727827245207 0 0 0 0 +5412 1 1.3618 1 87.56942096482045 39.36733312609736 0 0 0 0 +5470 1 1.3536 1 89.54488172513192 25.61164516627751 0 0 0 0 +5479 1 1.3531 1 104.97709383445323 62.51612386467452 0 0 0 0 +495 1 4.3956 1 111.64065446385942 27.760045791827785 0 0 0 0 +9146 1 1.0448 1 74.19537669646257 14.932560991881617 0 0 1 0 +7786 1 1.1297 1 75.18874576879614 57.247707781620456 0 0 0 0 +5581 1 1.3398 1 93.8543372780666 15.217692557759218 0 0 0 0 +5582 1 1.3398 1 109.27632654004795 49.515659933579016 0 0 0 0 +5604 1 1.3364 1 106.32981460778831 46.075265590828934 0 0 0 0 +5617 1 1.3354 1 85.30556196479574 53.088349237451986 0 0 0 0 +5662 1 1.331 1 80.2026143234364 40.06751725269431 0 0 0 0 +2610 1 1.9628 1 85.22122882676237 57.06464583247164 0 0 0 0 +5740 1 1.3216 1 80.6031949636313 25.329115397358706 0 0 0 0 +5758 1 1.3193 1 78.54659969901775 37.105731491159304 0 0 0 0 +5762 1 1.319 1 112.33889955783725 52.273370279117245 0 0 0 0 +5782 1 1.3159 1 95.00412405812266 12.87832994936092 0 0 0 0 +5785 1 1.3157 1 83.92907977701816 43.40656052677813 0 0 0 0 +2406 1 2.0453 1 66.76159754073167 17.49833617729068 0 0 1 0 +5864 1 1.309 1 83.64824615209227 57.332568559557274 0 0 0 0 +5876 1 1.3078 1 81.53680271723366 51.002747290454565 0 0 0 0 +5888 1 1.306 1 106.90533484897084 56.939407906009635 0 0 0 0 +9973 1 1.002 1 74.78456864775491 37.28774897869477 0 0 0 0 +5924 1 1.3022 1 114.96486987787428 34.764364858408435 0 0 0 0 +5930 1 1.302 1 84.59321691080397 19.43465061144736 0 0 0 0 +6581 1 1.2342 1 72.57093676999058 15.945940767438312 0 0 1 0 +8972 1 1.0541 1 108.66341944676456 22.44288817713709 0 0 0 0 +5963 1 1.2986 1 88.99363158770885 37.7241640936893 0 0 0 0 +5974 1 1.2971 1 105.56964033335414 45.0114975431644 0 0 0 0 +6000 1 1.2946 1 77.4325457484544 23.65078999859486 0 0 0 0 +6017 1 1.2926 1 72.47757699702203 41.565792876888096 0 0 0 0 +5259 1 1.3808 1 68.9646114614527 31.05786202207244 0 0 0 0 +6089 1 1.2841 1 102.76298738177144 14.558865616146416 0 0 0 0 +6098 1 1.2832 1 80.4349852615733 12.759942869759165 0 0 0 0 +6163 1 1.2759 1 77.29661285840966 28.195651609570145 0 0 0 0 +6197 1 1.2718 1 65.49436184996637 20.813867065203226 0 0 0 0 +6206 1 1.2711 1 83.41111634147126 45.01474742276008 0 0 0 0 +6231 1 1.2674 1 72.5368455474228 40.31589954893258 0 0 0 0 +2549 1 1.9893 1 103.67782664105319 21.82605318701698 0 0 0 0 +6320 1 1.2591 1 115.40321017056866 50.45874818431408 0 0 0 0 +6326 1 1.2587 1 96.78239583684238 10.238713219932404 0 0 0 0 +6350 1 1.257 1 116.36556399834095 36.375475328720206 0 0 0 0 +2286 1 2.101 1 64.13985549352083 13.472235722126907 0 0 0 0 +6430 1 1.2493 1 108.91130863874879 32.027716841646395 0 0 0 0 +6543 1 1.238 1 75.47000291986802 39.57737135607455 0 0 0 0 +6574 1 1.2351 1 95.74906468193441 11.66727004602801 0 0 0 0 +2203 1 2.1351 1 74.02258635764919 61.949389239144004 0 0 0 0 +6657 1 1.2265 1 78.5936834022167 35.46324903298443 0 0 0 0 +6739 1 1.219 1 81.76653825741 42.94933383460811 0 0 0 0 +6745 1 1.2186 1 77.88284970571581 43.60119606677728 0 0 0 0 +1452 1 2.6196 1 66.63295945860476 10.693694878824918 0 0 0 0 +6782 1 1.2148 1 71.30022503421942 34.502287263620566 0 0 0 0 +6828 1 1.2099 1 83.97038387902967 16.730880397096854 0 0 0 0 +6842 1 1.2084 1 79.24667824995105 42.93877586164953 0 0 0 0 +6905 1 1.2016 1 73.09175449045253 48.223353690196724 0 0 0 0 +6930 1 1.1997 1 82.93650707069632 21.78163277724564 0 0 0 0 +6942 1 1.1988 1 113.0280501376328 34.01912930557023 0 0 0 0 +6943 1 1.1987 1 87.8955658178897 38.17339232333854 0 0 0 0 +6956 1 1.1978 1 73.04132504851091 32.89551788776826 0 0 0 0 +6959 1 1.1977 1 73.71180429465966 37.50646018743679 0 0 0 0 +6985 1 1.1956 1 94.81750296572311 29.971137070218994 0 0 0 0 +6989 1 1.1952 1 92.62471373231072 20.052916932551195 0 0 0 0 +6990 1 1.1951 1 115.25727991974196 45.96473502024542 0 0 0 0 +7015 1 1.1928 1 90.78139494265798 25.536744077345134 0 0 0 0 +1615 1 2.4831 1 76.16059983478877 61.29804810576355 0 0 0 0 +7022 1 1.1921 1 78.45648912311674 26.339099133291786 0 0 0 0 +7054 1 1.1894 1 93.86469712399561 22.298833394259887 0 0 0 0 +7141 1 1.1829 1 101.65404437192724 28.090826693313712 0 0 0 0 +7149 1 1.1825 1 100.69250537281572 39.48640804482684 0 0 0 0 +437 1 4.6914 1 101.297130132229 10.120124091863833 0 0 0 0 +7229 1 1.1757 1 106.63965501428181 34.14222106604434 0 0 0 0 +7230 1 1.1757 1 103.44146654946712 36.39640839760843 0 0 0 0 +7248 1 1.174 1 83.08669263825887 35.24992444523014 0 0 0 0 +7253 1 1.1738 1 90.74160402111472 22.78324135123449 0 0 0 0 +7308 1 1.1697 1 88.93033043098981 40.59049761159747 0 0 0 0 +7345 1 1.1663 1 92.63344162988152 62.57544138836595 0 0 0 0 +965 1 3.2239 1 79.56955631771073 56.434203820130676 0 0 0 0 +7385 1 1.1626 1 81.60481160835788 22.904185169221428 0 0 0 0 +7386 1 1.1626 1 105.36515280882233 31.09108146251188 0 0 0 0 +7417 1 1.1599 1 93.94643464183123 28.999854100200665 0 0 0 0 +7427 1 1.1591 1 84.80904338201746 32.023291602255654 0 0 0 0 +7441 1 1.1575 1 82.19268088577365 38.94141602981501 0 0 0 0 +7452 1 1.1567 1 98.74766573941908 23.050294327886988 0 0 0 0 +7467 1 1.1557 1 80.68853672674355 48.78080683882498 0 0 0 0 +7479 1 1.1543 1 79.20701755221458 40.78983969961611 0 0 0 0 +7520 1 1.151 1 111.9552350971852 30.550618426291567 0 0 0 0 +7546 1 1.1488 1 114.44037126094527 51.22148780653752 0 0 0 0 +9319 1 1.0352 1 70.61901830687462 51.968499374377636 0 0 0 0 +5242 1 1.3831 1 110.20079503938392 19.697710329845396 0 0 0 0 +682 1 3.822 1 68.49985587147701 58.12268387926009 0 0 0 0 +7609 1 1.1435 1 110.59664935787649 50.70189165666088 0 0 0 0 +1225 1 2.8811 1 105.916998687052 21.10918743292624 0 0 0 0 +7729 1 1.1345 1 78.94945146895029 44.03234007744948 0 0 0 0 +7731 1 1.1343 1 79.04100222815963 28.243009655741155 0 0 0 0 +7753 1 1.1319 1 87.98137774781198 44.79719035538909 0 0 0 0 +9016 1 1.0518 1 116.89231600080511 48.33810261707595 0 0 0 0 +7801 1 1.1286 1 96.1920080424498 12.716634602440037 0 0 0 0 +7807 1 1.1282 1 73.90949924200002 46.68736962509125 0 0 0 0 +7838 1 1.1266 1 97.31427833703333 28.930290931602773 0 0 0 0 +7863 1 1.1236 1 81.47551383543038 13.308545934606462 0 0 0 0 +7927 1 1.1194 1 86.03866030386263 48.16714940827681 0 0 0 0 +4107 1 1.565 1 73.41672610872183 59.65341941336462 0 0 0 0 +7949 1 1.1182 1 75.53620255999581 40.74186643120928 0 0 0 0 +7969 1 1.1165 1 83.99119734193408 21.365054776716622 0 0 0 0 +8067 1 1.11 1 111.1689962635708 34.82473925508279 0 0 0 0 +4100 1 1.5662 1 71.73639622529117 33.216486788104426 0 0 0 0 +8625 1 1.0732 1 65.6007719614165 14.043221271628248 0 0 0 0 +2851 1 1.8787 1 110.08844015428151 22.620183002348043 0 0 0 0 +8172 1 1.1028 1 78.2436971626801 27.46545136868653 0 0 0 0 +4587 1 1.4825 1 108.36850491232724 23.60895142384218 0 0 0 0 +4101 1 1.5661 1 109.47079590396952 25.771649195787177 0 0 0 0 +8246 1 1.098 1 102.2478921813371 23.659953327996785 0 0 0 0 +9123 1 1.046 1 116.29730068287051 49.14539085118336 0 0 0 0 +1801 1 2.3544 1 72.24193600696711 56.88382604267971 0 0 0 0 +8292 1 1.0955 1 80.11737013307052 34.002181728359226 0 0 0 0 +8293 1 1.0954 1 108.36700602358023 33.004271236768325 0 0 0 0 +8299 1 1.0947 1 92.50066966816374 24.297033256411062 0 0 0 0 +8288 1 1.0957 1 66.09971554846221 16.089580868157697 0 0 0 0 +6122 1 1.2812 1 111.82904207600309 20.73150692973876 0 0 0 0 +8390 1 1.0879 1 84.21748062084966 18.316982411547915 0 0 0 0 +8398 1 1.0877 1 110.23820867577591 57.45882252154751 0 0 0 0 +8415 1 1.0866 1 100.55377026242779 28.363190128490572 0 0 0 0 +8483 1 1.082 1 90.03877335933082 38.24254003832038 0 0 0 0 +8534 1 1.0789 1 102.66798812007072 42.56529752229991 0 0 0 0 +8561 1 1.0774 1 101.65519767667213 20.076096157457837 0 0 0 0 +8610 1 1.0745 1 109.1984426261433 39.07702045559517 0 0 0 0 +9678 1 1.0168 1 99.69756262006867 22.553983179706336 0 0 0 0 +8651 1 1.0722 1 88.02653521790661 37.05817339282775 0 0 0 0 +8671 1 1.0712 1 101.40940624646018 27.059987316702372 0 0 0 0 +6003 1 1.2942 1 72.47106294072339 12.27634760597043 0 0 1 0 +6124 1 1.2811 1 68.4835855559118 55.61644417238869 0 0 0 0 +379 1 5.074 1 116.77776137750259 53.235622861769734 0 0 0 0 +8893 1 1.0577 1 77.42166381956413 26.771002648887993 0 0 0 0 +777 1 3.6347 1 107.94510369483253 18.733329514487313 0 0 0 0 +8945 1 1.0554 1 95.05739144331444 63.12032078231281 0 0 0 0 +8967 1 1.0543 1 82.61629363005054 57.81967402003694 0 0 0 0 +8973 1 1.054 1 106.63099772342831 60.49682304540264 0 0 0 0 +8907 1 1.0571 1 69.79622366794511 10.590776492192184 0 0 1 0 +9035 1 1.0508 1 101.2136424007989 12.967358553189339 0 0 0 0 +7924 1 1.1194 1 77.01880661128425 59.7291797694673 0 0 0 0 +9072 1 1.0486 1 92.78605044081966 33.18698766061391 0 0 0 0 +9089 1 1.0475 1 93.22816635380303 39.08900117569847 0 0 0 0 +9096 1 1.0472 1 105.70820781414638 33.58502648832812 0 0 0 0 +1354 1 2.7332 1 71.68828833138517 10.486268450822411 0 0 1 0 +9191 1 1.0423 1 95.67558923239507 13.816168650631536 0 0 0 0 +9221 1 1.0409 1 75.01330639871216 34.671982981949576 0 0 0 0 +5940 1 1.3009 1 75.36200601243706 13.63986243633635 0 0 0 0 +9241 1 1.0399 1 82.87341724420561 42.88141102020556 0 0 0 0 +3893 1 1.6097 1 72.54281495610923 60.91639233874944 0 0 0 0 +9299 1 1.0366 1 114.42347969344021 48.6781661584943 0 0 0 0 +9306 1 1.0361 1 78.27050106456818 40.26843929176124 0 0 0 0 +9318 1 1.0352 1 110.94799343736771 54.62446834595302 0 0 0 0 +9333 1 1.0345 1 115.96310397656576 35.32726625489547 0 0 0 0 +7359 1 1.1649 1 64.78414041814584 10.7808387279623 0 0 0 0 +9356 1 1.0334 1 83.82013434331802 20.306354678415076 0 0 0 0 +4005 1 1.5826 1 110.59202055998203 30.434699066547626 0 0 0 0 +9392 1 1.0312 1 92.77524295707079 32.16103102207913 0 0 0 0 +6333 1 1.2585 1 73.998969550782 57.12028103233847 0 0 0 0 +9435 1 1.0291 1 107.74219083918959 53.30745793936624 0 0 0 0 +9461 1 1.0277 1 110.77912551175153 45.87807441035424 0 0 0 0 +6306 1 1.2606 1 101.9507800589407 26.116806515674956 0 0 0 0 +9520 1 1.0247 1 79.40817506863597 44.979937657363685 0 0 0 0 +9558 1 1.0225 1 88.79381838118182 33.52505584353444 0 0 0 0 +9565 1 1.0222 1 79.10073708084886 39.732813790365356 0 0 0 0 +4069 1 1.5714 1 70.42260502024092 56.268133396135426 0 0 0 0 +9582 1 1.0216 1 112.46109210712828 41.58767716998283 0 0 0 0 +9648 1 1.0179 1 110.19132370821066 53.09356873061335 0 0 0 0 +980 1 3.2089 1 76.17364404940676 32.93860204292869 0 0 0 0 +9660 1 1.0174 1 83.9828436791229 56.236718962281216 0 0 0 0 +4728 1 1.4595 1 65.16131094966784 16.934806345848596 0 0 0 0 +9681 1 1.0165 1 86.28204077188641 56.153048734105774 0 0 0 0 +9696 1 1.0156 1 91.90348595139999 20.8812090333707 0 0 0 0 +9699 1 1.0153 1 107.21366541582853 48.430540650528975 0 0 0 0 +9730 1 1.0137 1 89.20535887100574 26.937238093293505 0 0 0 0 +9741 1 1.0131 1 93.52537120377951 31.483328405818156 0 0 0 0 +9798 1 1.0099 1 111.71073788669634 50.9510640935805 0 0 0 0 +9802 1 1.0098 1 66.03213637647244 21.81630550811255 0 0 0 0 +9811 1 1.0095 1 106.48288115078827 35.187388236180254 0 0 0 0 +5046 1 1.4137 1 71.62460872580172 48.41558951082015 0 0 0 0 +9832 1 1.0086 1 107.42245680245676 33.42851828343053 0 0 0 0 +9907 1 1.0047 1 102.43335722751051 27.133399668740104 0 0 0 0 +9920 1 1.0043 1 109.97352853442331 39.76357782371815 0 0 0 0 +9057 1 1.0499 1 98.63322881018021 11.138630584610155 0 0 0 0 +7558 1 1.1474 1 102.72713628482555 20.632202211903376 0 0 0 0 +7749 1 1.1324 1 67.74484916613262 50.236328594248626 0 0 0 0 +5778 1 1.3163 1 77.34133552381805 47.82166710972603 0 0 0 0 +3534 1 1.6858 1 108.70021274251235 28.276610270209595 0 0 0 0 +186 1 7.0902 1 84.52142926778642 61.41733401304398 0 0 0 0 +8375 1 1.0888 1 65.38083626849237 18.177207445053558 0 0 0 0 +9598 1 1.0208 1 74.13014674117346 47.82774708898554 0 0 0 0 +85 1 10.0597 1 78.7164674002788 18.139799472679574 0 0 1 0 +6750 1 1.2183 1 79.19061856048359 12.633565916941597 0 0 0 0 +300 1 5.7387 1 105.24296384757172 25.285338941224776 0 0 0 0 +2752 1 1.911 1 80.33747230446166 54.03333680736955 0 0 0 0 +9042 1 1.0504 1 76.92014085333851 30.90342920734766 0 0 0 0 +2051 1 2.2085 1 70.40260417549368 32.01496465813297 0 0 0 0 +7679 1 1.1381 1 81.77826931106893 52.672267454147686 0 0 0 0 +5727 1 1.3232 1 82.83100543119478 56.31859610351817 0 0 0 0 +9496 1 1.0262 1 109.6756569810127 31.262439573194936 0 0 0 0 +7935 1 1.119 1 76.18057813059515 47.787802914332715 0 0 0 0 +3502 1 1.6933 1 107.38003792970073 16.167256731564944 0 0 0 0 +5467 1 1.3545 1 107.46837138306638 22.527578652301283 0 0 0 0 +2634 1 1.9556 1 80.4337069074475 52.1491600210596 0 0 0 0 +5846 1 1.3101 1 65.77061618154711 28.31137637645748 0 0 0 0 +1802 1 2.3534 1 70.0208352405285 53.5045163930122 0 0 0 0 +2181 1 2.1455 1 66.81074868315984 55.74505399446012 0 0 0 0 +2745 1 1.9127 1 64.83580646406261 15.311889772274286 0 0 0 0 +3497 1 1.6939 1 114.78072366708615 26.727586644380484 0 0 0 0 +6815 1 1.2107 1 71.25733576300547 55.15460405296956 0 0 0 0 +617 1 3.975 1 64.09386976959789 56.95756254151872 0 0 0 0 +6962 1 1.1975 1 69.61476737995257 55.19080984400257 0 0 0 0 +5206 1 1.3881 1 73.97973031396579 10.408240888952562 0 0 0 0 +1971 1 2.2576 1 69.56608768124853 60.91737169553582 0 0 0 0 +733 1 3.7131 1 79.39940097655149 59.825918114997336 0 0 0 0 +9238 1 1.0401 1 84.61343142076642 10.775692018036207 0 0 0 0 +3159 1 1.777 1 79.83341779769958 11.397752426867715 0 0 0 0 +7251 1 1.1739 1 115.90674686430386 27.568606708334425 0 0 0 0 +1434 1 2.6432 1 76.99001733636587 57.76684025223358 0 0 0 0 +3176 1 1.7715 1 74.51014869848792 58.48660770006923 0 0 0 0 +6813 1 1.2108 1 69.33679790324273 62.6351300428347 0 0 0 0 +1543 1 2.5358 1 116.7200666852605 25.952949609662475 0 0 0 0 +4490 1 1.4992 1 75.77968834843678 59.405327238795536 0 0 0 0 +1489 1 2.5899 1 71.44330606976085 59.167572499128084 0 0 0 0 +6834 1 1.2088 1 116.89481493790056 24.106903289501822 0 0 0 0 +6598 1 1.2316 1 64.02285813336046 24.090737466936375 0 0 0 0 +1141 1 2.9694 1 92.77659792544866 10.336960343994688 0 0 0 0 +5561 1 1.3433 1 93.77822813350453 63.089101800648265 0 0 0 0 +6664 1 1.2255 1 74.63391324345525 60.28683507371203 0 0 0 0 +5042 1 1.4146 1 116.91162102954019 39.29010726392791 0 0 0 0 +7247 1 1.174 1 71.3881236292827 62.10918209969268 0 0 0 0 +4556 1 1.4881 1 74.96004823650314 63.42924424484222 0 0 0 0 +1716 1 2.4134 1 116.92034765337762 46.65389266898753 0 0 0 0 +8278 1 1.0965 1 63.63634792175453 22.9692857743955 0 0 0 0 +6679 1 1.2241 1 104.21929618352033 110.11118605022904 0 0 0 0 +52 1 12.8778 1 74.18740539278623 107.1100856835942 0 0 0 0 +66 1 11.4285 1 80.9465916828015 93.28318506662161 0 0 0 0 +103 1 9.5411 1 87.69753959322323 102.29178132645256 0 0 0 0 +107 1 9.428 1 76.03051412757972 78.33946857750242 0 0 0 0 +9992 1 1.0003 1 67.2647391291913 79.65920114932875 0 0 0 0 +136 1 8.0108 1 71.52999093356347 66.66744956898006 0 0 0 0 +142 1 7.8328 1 90.16975348226521 112.45474340566899 0 0 0 0 +171 1 7.3254 1 83.57551956534041 68.4674770607651 0 0 0 0 +456 1 4.6343 1 100.48896420357163 66.67436514478368 0 0 0 0 +193 1 6.9441 1 92.6908972299144 87.62023117140265 0 0 0 0 +203 1 6.7893 1 94.58994929358268 75.8114784744524 0 0 0 0 +4440 1 1.5077 1 107.59154646499023 110.3849110743476 0 0 0 0 +212 1 6.6222 1 90.79948178943462 81.15966988305503 0 0 0 0 +8957 1 1.0549 1 104.14929246942857 97.64353811293181 0 0 0 0 +231 1 6.3221 1 98.93309627882458 89.48657875184793 0 0 0 0 +7659 1 1.1395 1 103.33249709539781 66.22125823828631 0 0 0 0 +5661 1 1.3314 1 106.32691490213844 111.05967998681663 0 0 0 0 +348 1 5.3539 1 83.86571037264406 81.85841520667971 0 0 0 0 +392 1 4.962 1 77.93469068711937 64.4950421038865 0 0 0 0 +396 1 4.946 1 74.91286856398662 86.51186066116854 0 0 0 0 +6605 1 1.2312 1 111.42838805516763 93.50505028013211 0 0 0 0 +7472 1 1.155 1 99.17625189384944 100.8751937346078 0 0 0 0 +502 1 4.3624 1 97.00661561174952 83.00988713858118 0 0 0 0 +533 1 4.2487 1 76.02757223011659 70.75894426911503 0 0 0 0 +554 1 4.192 1 84.28430476018795 112.96563755792745 0 0 0 0 +6560 1 1.2363 1 114.07849629121698 105.0580601678525 0 0 0 0 +573 1 4.1199 1 95.02757325825404 94.2245239665709 0 0 0 0 +591 1 4.0427 1 84.27766117482525 86.4497302467159 0 0 0 0 +592 1 4.0425 1 75.4159672185185 98.52064953286524 0 0 0 0 +8861 1 1.0593 1 97.79768297673183 65.53422630105764 0 0 0 0 +635 1 3.9235 1 73.4270003742744 94.26498217008739 0 0 0 0 +686 1 3.8151 1 94.23124605823641 101.32516301338875 0 0 0 0 +688 1 3.8127 1 91.64158842266605 71.48279314347059 0 0 0 0 +7367 1 1.1641 1 67.0407031501629 78.61244309185449 0 0 0 0 +785 1 3.617 1 98.74763685880407 78.8455264588966 0 0 0 0 +806 1 3.5762 1 100.96629429134545 82.51150326548253 0 0 0 0 +807 1 3.5733 1 87.73298420692764 90.21347480120598 0 0 0 0 +828 1 3.517 1 100.838177973184 76.05829202718574 0 0 0 0 +830 1 3.5096 1 104.00926481743431 92.29272062909295 0 0 0 0 +8109 1 1.1071 1 98.43202920025924 64.63548660035238 0 0 0 0 +864 1 3.4373 1 84.80470130638983 108.41074276651571 0 0 0 0 +894 1 3.3663 1 81.76644318834613 104.53910861152376 0 0 0 0 +7458 1 1.1563 1 97.69543707609886 67.31968700131738 0 0 0 0 +693 1 3.8004 1 95.9875034155752 98.03468045964628 0 0 0 0 +934 1 3.2875 1 82.26389808264378 77.93782857058613 0 0 0 0 +937 1 3.2796 1 80.70019265412571 84.66920619528169 0 0 0 0 +4064 1 1.5726 1 104.7481983248774 89.97607256342509 0 0 0 0 +991 1 3.191 1 71.77281913137406 90.60789100556006 0 0 0 0 +1022 1 3.1474 1 86.47994619939615 74.68312554676676 0 0 0 0 +1390 1 2.6918 1 69.36640061690156 87.09318237356851 0 0 0 0 +1071 1 3.0603 1 97.51736502108794 102.15124013315423 0 0 0 0 +335 1 5.4316 1 92.7787381084459 67.07779871491512 0 0 0 0 +1108 1 3.0054 1 91.34954602506791 92.3393142565055 0 0 0 0 +1136 1 2.9734 1 100.65418603866081 70.37233598431735 0 0 0 0 +1198 1 2.9051 1 79.5809306698978 114.47028758047233 0 0 0 0 +3627 1 1.6663 1 63.97160254672261 113.23183587033816 0 0 0 0 +5226 1 1.3858 1 69.55530747132593 84.3530168628871 0 0 0 0 +1320 1 2.7696 1 92.4831625296604 106.1275737973543 0 0 0 0 +1348 1 2.7383 1 77.79989748389575 84.08288856892031 0 0 0 0 +1381 1 2.7016 1 71.5409612279939 73.01210666289371 0 0 0 0 +1409 1 2.6702 1 71.48407011581854 99.99451180488163 0 0 0 0 +1410 1 2.6694 1 90.01652479175884 76.66944208734714 0 0 0 0 +9576 1 1.0217 1 102.63318989697763 64.93343595179974 0 0 0 0 +1447 1 2.6266 1 89.3363388249354 68.98445609602553 0 0 0 0 +1485 1 2.5922 1 99.54073821584109 85.18519022459179 0 0 0 0 +2831 1 1.8848 1 65.76535578506737 111.10873039659236 0 0 0 0 +3444 1 1.7052 1 101.71233381072913 95.84656685065886 0 0 0 0 +1504 1 2.5733 1 94.46616864112895 104.40389773586946 0 0 0 0 +4877 1 1.437 1 106.28994962810003 109.68981543995868 0 0 0 0 +1537 1 2.5411 1 105.03176871669285 80.79869594495268 0 0 0 0 +1588 1 2.5022 1 81.65441372895366 109.3245977736302 0 0 0 0 +4559 1 1.4879 1 94.62539523792076 64.24919722114409 0 0 0 0 +1599 1 2.4947 1 96.39541512240032 68.57104488147017 0 0 0 0 +8608 1 1.0746 1 65.23015998090197 109.2989165390674 0 0 0 0 +1635 1 2.4636 1 80.69382404718154 100.20269927675555 0 0 0 0 +1636 1 2.4627 1 74.75336615787302 90.2047942295325 0 0 0 0 +1664 1 2.4441 1 98.69743636639117 93.80656871879502 0 0 0 0 +1685 1 2.4309 1 92.37584746831877 96.00469770303744 0 0 0 0 +1714 1 2.4141 1 86.74530669463178 72.03718587182782 0 0 0 0 +1780 1 2.369 1 78.87827523073331 67.9534911410311 0 0 0 0 +912 1 3.333 1 65.15458893069196 69.21240623594812 0 0 0 0 +9860 1 1.0067 1 115.99464270908494 96.83970963958689 0 0 0 0 +1804 1 2.3532 1 78.38026479239107 72.98800363025384 0 0 0 0 +1805 1 2.3527 1 90.06197584481468 96.2614375276773 0 0 0 0 +1813 1 2.3486 1 82.16526071923838 75.0056691690254 0 0 0 0 +1827 1 2.3423 1 84.1990920609151 76.00610506197255 0 0 0 0 +4534 1 1.492 1 113.72591996985476 91.034314336153 0 0 0 0 +8881 1 1.0584 1 66.52435596290852 87.82376367400077 0 0 0 0 +1970 1 2.2583 1 67.74386322444086 110.91639475552005 0 0 0 0 +9533 1 1.0241 1 65.78591988770174 105.66339370383996 0 0 0 0 +2083 1 2.1913 1 88.53301195086736 92.96615046263514 0 0 0 0 +7173 1 1.1804 1 104.68803309797224 98.59889503175967 0 0 0 0 +2124 1 2.1675 1 95.9415932175431 70.82997313076693 0 0 0 0 +2125 1 2.1668 1 87.22009875345856 83.51135319566698 0 0 0 0 +6251 1 1.2651 1 110.54658400019058 94.65483688556105 0 0 0 0 +9876 1 1.006 1 112.62904714400126 106.55712423203843 0 0 0 0 +2723 1 1.9226 1 115.82081617937288 107.1344626711215 0 0 0 0 +2182 1 2.1454 1 87.66829099043277 66.13827604454741 0 0 0 0 +2183 1 2.145 1 87.87690044251026 96.49829523488994 0 0 0 0 +2187 1 2.1443 1 72.45135185855939 97.86335376987962 0 0 0 0 +1954 1 2.2684 1 64.82214492753914 71.95953035450896 0 0 0 0 +2213 1 2.1311 1 100.02754606585695 109.23384844370636 0 0 0 0 +2223 1 2.1256 1 67.9767587796506 103.12371522241537 0 0 0 0 +2230 1 2.1237 1 66.59905692490798 66.98658856304657 0 0 0 0 +7397 1 1.1617 1 107.15080221938385 89.4110288494537 0 0 0 0 +2343 1 2.0709 1 96.14386262503929 79.93584165768843 0 0 0 0 +2344 1 2.0708 1 66.79373452416024 107.17161128999288 0 0 0 0 +2366 1 2.0611 1 87.0796566589127 85.55121288846036 0 0 0 0 +2369 1 2.0592 1 101.40713119623409 79.77897116316862 0 0 0 0 +2388 1 2.0527 1 87.72800107504082 76.88342299802562 0 0 0 0 +2426 1 2.0379 1 81.45473414031619 111.84723908975702 0 0 0 0 +2580 1 1.9775 1 103.03596222982542 89.68375112961732 0 0 0 0 +9270 1 1.0382 1 105.1339075320407 97.29276178164996 0 0 0 0 +6315 1 1.2597 1 92.39194384301011 99.71610246449391 0 0 0 0 +2674 1 1.9408 1 82.40937062870137 72.90690582540365 0 0 0 0 +2718 1 1.9236 1 88.4165105656816 107.94185319563344 0 0 0 0 +2727 1 1.9211 1 88.987239097254 72.49010489405605 0 0 0 0 +9416 1 1.0298 1 99.40732515585529 64.16080342551363 0 0 0 0 +2759 1 1.9084 1 95.2257339158869 91.22009516814694 0 0 0 0 +2764 1 1.9069 1 82.08067810655407 101.82356585933378 0 0 0 0 +2175 1 2.1477 1 113.33858062364098 86.76452114163725 0 0 0 0 +2806 1 1.8915 1 87.05560385778047 87.48160481795848 0 0 0 0 +6043 1 1.29 1 67.77200078955309 80.67875109493777 0 0 0 0 +2864 1 1.8731 1 87.33270261411754 94.59307434384047 0 0 0 0 +2913 1 1.8598 1 102.67029173789167 74.2544140455655 0 0 0 0 +2946 1 1.8497 1 82.41861254643848 107.32280787338891 0 0 0 0 +2969 1 1.8426 1 96.77054313168443 86.06350178846188 0 0 0 0 +195 1 6.9306 1 112.82289909610725 115.27238615773548 0 0 0 0 +3042 1 1.814 1 81.88020273837537 114.68991367089558 0 0 0 0 +2418 1 2.0416 1 113.72192686301791 95.78831597775927 0 0 0 0 +3126 1 1.786 1 80.69242532067786 73.5668196976923 0 0 0 0 +3368 1 1.7239 1 114.66056299102365 89.78510235691338 0 0 0 0 +3179 1 1.771 1 93.26963766466035 98.51537988628185 0 0 0 0 +3245 1 1.7541 1 90.03455733190441 94.22822785649691 0 0 0 0 +3272 1 1.747 1 92.73851203090638 108.46108806275782 0 0 0 0 +3289 1 1.7435 1 79.2576548360792 101.88644783929905 0 0 0 0 +3300 1 1.7396 1 83.68680417199671 106.13734688886083 0 0 0 0 +3320 1 1.7351 1 88.87397609064458 85.6875639123626 0 0 0 0 +3334 1 1.7323 1 83.92791857690507 73.99626593805264 0 0 0 0 +3350 1 1.7282 1 72.88518650394157 114.28589680769058 0 0 0 0 +3382 1 1.7203 1 87.6372368935556 70.19905616630632 0 0 0 0 +3417 1 1.7115 1 91.1569592415636 107.87929081592783 0 0 0 0 +3466 1 1.7001 1 73.58051168204089 72.3616039786923 0 0 0 0 +6692 1 1.2232 1 92.89695448464815 103.43297191111195 0 0 0 0 +3523 1 1.6886 1 101.17494582228821 73.41768754952118 0 0 0 0 +3535 1 1.6856 1 77.92158995802595 87.52812250723576 0 0 0 0 +3562 1 1.6783 1 71.4176851140552 75.17901000804304 0 0 0 0 +3585 1 1.6742 1 98.41807118894201 72.53746240932725 0 0 0 0 +3608 1 1.6693 1 101.4868077844165 92.4946707535866 0 0 0 0 +3432 1 1.7088 1 65.08760274116364 114.50477957554347 0 0 0 0 +3706 1 1.6451 1 78.96924118271195 71.14855477684894 0 0 0 0 +3733 1 1.6425 1 98.3846448235646 68.92830007296807 0 0 0 0 +7522 1 1.1509 1 114.96196534238138 86.72294435887606 0 0 0 0 +3752 1 1.6393 1 93.57125333877657 91.78581055002276 0 0 0 0 +3789 1 1.6323 1 105.87878657114912 94.58773805268758 0 0 0 0 +6949 1 1.1983 1 100.28461155574996 95.68062756646309 0 0 0 0 +3817 1 1.6243 1 67.2059035285884 108.96533155095635 0 0 0 0 +5556 1 1.3437 1 64.33192827102945 76.64230901268998 0 0 0 0 +2661 1 1.9434 1 98.7483411863689 97.50349568533997 0 0 0 0 +3850 1 1.617 1 71.93147470955648 85.44846485653001 0 0 0 0 +3872 1 1.6129 1 103.04298404645957 79.00344747307143 0 0 0 0 +3876 1 1.6125 1 78.67034755822169 100.36201179952087 0 0 0 0 +5228 1 1.3857 1 97.70252570871271 104.34349692857631 0 0 0 0 +3102 1 1.7967 1 65.62586770105557 112.87590365326417 0 0 0 0 +9817 1 1.009 1 108.66825177258507 109.06075990136625 0 0 0 0 +4041 1 1.5759 1 74.06944769055679 83.4244746988906 0 0 0 0 +9078 1 1.0483 1 95.77605698997591 103.19108146831186 0 0 0 0 +1439 1 2.6358 1 96.64635832550528 64.04414006392145 0 0 0 0 +4088 1 1.5686 1 78.68943760134232 86.01097994442469 0 0 0 0 +2979 1 1.8391 1 113.64207609162756 93.87102188460933 0 0 0 0 +4181 1 1.5527 1 85.56149120606374 78.38725314256325 0 0 0 0 +4314 1 1.5302 1 66.29824560726897 103.65297987404281 0 0 0 0 +4361 1 1.521 1 81.6330073574922 86.87940947471091 0 0 0 0 +1164 1 2.9408 1 89.19432885384674 63.87488265466003 0 0 0 0 +4390 1 1.5166 1 99.95825715046136 72.43993549195176 0 0 0 0 +8962 1 1.0547 1 114.0600757325875 106.30695987310216 0 0 0 0 +5749 1 1.3206 1 116.52947192873842 113.7633662884688 0 0 0 0 +8454 1 1.0841 1 105.23471629473524 110.60524786618647 0 0 0 0 +4494 1 1.4983 1 103.30060433087117 76.31951015022628 0 0 0 0 +4501 1 1.497 1 101.11936232902121 86.36583051407155 0 0 0 0 +4529 1 1.4932 1 94.82698168661989 81.11781747915714 0 0 0 0 +4110 1 1.5645 1 92.02414846958497 63.75086521384252 0 0 0 0 +5947 1 1.3 1 115.01691393428625 91.48950761674563 0 0 0 0 +4604 1 1.4797 1 98.27687572886595 74.06995095571324 0 0 0 0 +4629 1 1.4772 1 80.52375991971557 81.36169837669136 0 0 0 0 +4641 1 1.4751 1 103.33705242301629 81.78906040643251 0 0 0 0 +4649 1 1.4736 1 76.13387582041541 67.07677828131592 0 0 0 0 +4682 1 1.4672 1 99.695465743895 73.8825894647009 0 0 0 0 +4684 1 1.467 1 80.334012831254 75.1165595823568 0 0 0 0 +4732 1 1.4591 1 88.65492216854636 74.09859745587032 0 0 0 0 +4737 1 1.4585 1 103.83756752611572 77.69001389561144 0 0 0 0 +4752 1 1.4561 1 70.45179147809448 85.37360412882184 0 0 0 0 +4758 1 1.4551 1 86.38374010538399 79.58488218738239 0 0 0 0 +4831 1 1.4447 1 80.62139136253643 102.51056828698927 0 0 0 0 +4855 1 1.4406 1 101.7322783553864 109.67559379518534 0 0 0 0 +4917 1 1.4299 1 85.04454886536784 72.89326861201872 0 0 0 0 +1723 1 2.41 1 108.2732102340123 96.51149635207798 0 0 0 0 +4996 1 1.4208 1 70.89675711642472 76.60736146757458 0 0 0 0 +5034 1 1.4156 1 80.97032410071586 63.68708710174741 0 0 0 0 +9945 1 1.0032 1 86.1833543005281 88.57882723860467 0 0 0 0 +6322 1 1.2591 1 66.00374287792432 79.14275815939727 0 0 0 0 +5074 1 1.4084 1 78.62093499028265 69.73698339614702 0 0 0 0 +5099 1 1.4045 1 83.10976452566729 99.31721665113155 0 0 0 0 +5136 1 1.3982 1 104.514675784324 78.92909326996376 0 0 0 0 +7296 1 1.1709 1 97.75015959441637 96.37634449972906 0 0 0 0 +5258 1 1.3809 1 78.74457716884234 112.5382853683187 0 0 0 0 +5268 1 1.3803 1 69.8265494955296 71.95577721087962 0 0 0 0 +5271 1 1.3795 1 80.07084882867397 72.14901984325454 0 0 0 0 +5288 1 1.3771 1 102.51709415376654 71.37113958007828 0 0 0 0 +5993 1 1.2954 1 107.32165751882211 111.86528138008974 0 0 0 0 +5352 1 1.3696 1 80.29970276002169 110.6626154066723 0 0 0 0 +5366 1 1.3682 1 77.04626865542882 100.60666454183284 0 0 0 0 +5371 1 1.3675 1 88.7807431148202 95.00724381862948 0 0 0 0 +5409 1 1.3621 1 88.58757616097463 87.91720912699869 0 0 0 0 +5420 1 1.3609 1 102.69066519444699 68.63883242070354 0 0 0 0 +5421 1 1.3609 1 91.7294442870501 98.67930104732213 0 0 0 0 +5448 1 1.3567 1 97.51349638353486 95.20445559303892 0 0 0 0 +683 1 3.8179 1 69.4998053743335 78.78710736853282 0 0 0 0 +5546 1 1.3447 1 94.29292816928802 82.81483914780162 0 0 0 0 +5571 1 1.3415 1 89.20773839066239 70.89652379124743 0 0 0 0 +642 1 3.9107 1 110.8185294478042 88.36357754995889 0 0 0 0 +3879 1 1.6119 1 94.3083436201785 71.67004361067518 0 0 0 0 +5739 1 1.3218 1 102.58379040155974 72.69635458434374 0 0 0 0 +5754 1 1.32 1 71.22742209372443 87.71738227343627 0 0 0 0 +5768 1 1.3174 1 80.31277413785197 86.87449586159795 0 0 0 0 +5771 1 1.3172 1 98.51856032625223 76.42556260467298 0 0 0 0 +9425 1 1.0294 1 108.82839965840442 110.09337151545334 0 0 0 0 +5780 1 1.3161 1 72.3652504241094 88.32345127039783 0 0 0 0 +5831 1 1.3113 1 86.94428636001413 80.78396784395493 0 0 0 0 +5839 1 1.3107 1 92.36190007149499 94.17645585952022 0 0 0 0 +5842 1 1.3103 1 73.38944974562905 100.12087831322707 0 0 0 0 +5855 1 1.3094 1 86.98339143826145 78.3663924431013 0 0 0 0 +5883 1 1.3064 1 99.03184375823646 81.17133327059878 0 0 0 0 +5929 1 1.302 1 90.73843950978971 97.86856856930747 0 0 0 0 +5933 1 1.3017 1 68.5822326529213 71.53617596805438 0 0 0 0 +1288 1 2.8034 1 106.65875379600108 98.45263539105706 0 0 0 0 +5957 1 1.2991 1 98.54482273283415 109.98051649401384 0 0 0 0 +5986 1 1.2963 1 72.30112988460546 71.21632840287351 0 0 0 0 +6039 1 1.2906 1 89.0299573165279 67.12161155592786 0 0 0 0 +6068 1 1.2867 1 90.0457572324806 90.70615598493706 0 0 0 0 +6081 1 1.2853 1 101.850326246624 78.20012403750235 0 0 0 0 +2238 1 2.1204 1 112.51406743073278 92.28815638830082 0 0 0 0 +6107 1 1.2828 1 96.38192852068599 104.4034629478567 0 0 0 0 +859 1 3.4419 1 116.13773820871937 94.64807762565465 0 0 0 0 +6182 1 1.274 1 85.82293210139117 97.27803567517509 0 0 0 0 +6200 1 1.2716 1 86.48600984304551 115.09687691917887 0 0 0 0 +6203 1 1.2714 1 74.73319627123341 92.04886570907547 0 0 0 0 +8383 1 1.0883 1 107.29732153763396 108.93424690709945 0 0 0 0 +6253 1 1.2647 1 94.48682433038987 79.80796368484093 0 0 0 0 +8327 1 1.0924 1 109.07240828716094 90.10700306699052 0 0 0 0 +7872 1 1.1231 1 111.70369677393897 109.13495780600842 0 0 0 0 +9712 1 1.0146 1 116.06065825372433 86.99104721655578 0 0 0 0 +6357 1 1.2563 1 79.18303365775243 82.6485077710486 0 0 0 0 +6364 1 1.2555 1 91.09571507136393 73.92703732598626 0 0 0 0 +6372 1 1.255 1 96.0898188769925 111.05385115764246 0 0 0 0 +6427 1 1.2496 1 79.17397965460589 99.19132066498729 0 0 0 0 +6445 1 1.2478 1 74.77872258991188 73.18300813334263 0 0 0 0 +8640 1 1.0727 1 96.43402716061011 100.4048802667395 0 0 0 0 +6547 1 1.2379 1 85.87385237185248 84.43663794566169 0 0 0 0 +6564 1 1.2361 1 97.43747698765759 70.0745536566217 0 0 0 0 +6568 1 1.2358 1 98.60986078218025 70.30169609967899 0 0 0 0 +6583 1 1.2336 1 88.52578188886947 75.43252825821409 0 0 0 0 +6593 1 1.2321 1 82.70148158050148 110.81414749906509 0 0 0 0 +6616 1 1.2306 1 89.92589245348348 73.680373985973 0 0 0 0 +6655 1 1.2266 1 77.95381409361474 99.14386496031804 0 0 0 0 +7122 1 1.184 1 65.21926190366892 75.68945937390404 0 0 0 0 +6688 1 1.2233 1 97.83586755513679 71.22260104805906 0 0 0 0 +6691 1 1.2233 1 71.22593026014796 80.5661222261229 0 0 0 0 +9913 1 1.0045 1 91.82562586398987 97.55920414389986 0 0 0 0 +6709 1 1.2213 1 87.09834097379662 108.78236157496784 0 0 0 0 +6714 1 1.221 1 106.0738672850544 89.81755678451266 0 0 0 0 +6719 1 1.2204 1 79.23052981149594 87.26199086393645 0 0 0 0 +6768 1 1.2162 1 73.32825724135944 89.10385165769942 0 0 0 0 +6774 1 1.2155 1 102.63807484711042 69.90424399619872 0 0 0 0 +6776 1 1.2154 1 97.22571206777695 92.8018319891748 0 0 0 0 +3512 1 1.6913 1 104.10989525060305 63.68652408493265 0 0 0 0 +6831 1 1.2093 1 70.85603844631699 71.19946114469764 0 0 0 0 +6838 1 1.2085 1 80.03108819151122 112.52711331704042 0 0 0 0 +6853 1 1.2071 1 69.26362137226492 102.07578994929125 0 0 0 0 +7103 1 1.1854 1 113.04067407029342 89.89897984428177 0 0 0 0 +6906 1 1.2016 1 86.5457202601059 109.85407433243708 0 0 0 0 +6938 1 1.1991 1 102.9896318026847 80.49021178729004 0 0 0 0 +763 1 3.6517 1 71.54035994890901 82.94397898116011 0 0 0 0 +263 1 6.108 1 65.91715085534786 84.43252609301686 0 0 0 0 +6963 1 1.1973 1 81.89465036530916 64.5813393146133 0 0 0 0 +6974 1 1.1963 1 80.89209982414428 65.19825714631372 0 0 0 0 +2360 1 2.0621 1 110.3791186902849 110.04976887627038 0 0 0 0 +7016 1 1.1926 1 89.7133924993936 74.8298905829683 0 0 0 0 +7080 1 1.1877 1 106.05620266464706 93.26686252184234 0 0 0 0 +1972 1 2.2575 1 112.40441680276268 104.98446409268998 0 0 0 0 +7108 1 1.1851 1 72.05255603740332 96.32842982488019 0 0 0 0 +7118 1 1.1842 1 85.95203023176335 110.8746796328849 0 0 0 0 +7163 1 1.1809 1 93.71840279434086 97.13162613468678 0 0 0 0 +7180 1 1.1797 1 80.89952464551136 76.24607153972711 0 0 0 0 +398 1 4.9385 1 75.90112386236379 115.66298282320057 0 0 0 0 +8977 1 1.0539 1 72.5084722756806 116.13108684831113 0 0 0 0 +7293 1 1.1715 1 103.05461874121471 109.93837499857109 0 0 0 0 +9936 1 1.0035 1 90.78717448602697 75.0075117666153 0 0 0 0 +8746 1 1.0671 1 115.01038209607381 96.59087234384947 0 0 0 0 +6275 1 1.2624 1 103.71619251982165 65.08797903507867 0 0 0 0 +2331 1 2.0762 1 96.43517265510718 66.33171052247187 0 0 0 0 +254 1 6.1669 1 69.00341179189314 114.89549926794835 0 0 0 0 +1800 1 2.3548 1 112.46992961876683 110.65191549989538 0 0 0 0 +7404 1 1.1611 1 86.22311778614889 65.16948660207052 0 0 0 0 +7425 1 1.1593 1 76.61832221650305 68.22737909502159 0 0 0 0 +7428 1 1.1591 1 71.10339522897608 86.48803533687695 0 0 0 0 +5643 1 1.3328 1 114.7592954531997 104.00583939616652 0 0 0 0 +7471 1 1.1552 1 94.8997622861538 69.56259382203835 0 0 0 0 +7516 1 1.1514 1 84.29383394721214 78.68622857585406 0 0 0 0 +7533 1 1.1502 1 79.42100421494476 74.29464240148184 0 0 0 0 +2270 1 2.107 1 67.76893163372134 70.0498383467725 0 0 0 0 +7602 1 1.1439 1 86.9322359195739 107.57673248845066 0 0 0 0 +7641 1 1.1409 1 77.66927442912517 113.19295236287404 0 0 0 0 +7643 1 1.1408 1 69.49580252219602 70.74659929266663 0 0 0 0 +7660 1 1.1392 1 77.96345805047348 101.38275317326575 0 0 0 0 +4213 1 1.5473 1 98.9254596976809 95.75902513303066 0 0 0 0 +6854 1 1.207 1 67.3652585486082 71.65424114170337 0 0 0 0 +5708 1 1.3248 1 110.21008153755264 93.3959791528456 0 0 0 0 +1195 1 2.9086 1 113.5114948867967 108.25206764467009 0 0 0 0 +7805 1 1.1285 1 88.18802554449307 78.36277985189466 0 0 0 0 +5276 1 1.379 1 115.2619761873729 97.76415575342962 0 0 0 0 +1507 1 2.5714 1 64.55752007674016 106.97265300723005 0 0 0 0 +7917 1 1.1197 1 90.614331402239 106.6577878077715 0 0 0 0 +3890 1 1.61 1 65.01742022041014 73.84794651043063 0 0 0 0 +4901 1 1.4321 1 67.6823408990353 88.06061309539098 0 0 0 0 +7946 1 1.1184 1 70.12078709593933 101.30008156743692 0 0 0 0 +8025 1 1.1131 1 99.31065130103542 107.81716574012304 0 0 0 0 +5931 1 1.3018 1 112.06900414431249 90.64455913332341 0 0 0 0 +8070 1 1.1099 1 93.62665964679587 83.7728367801467 0 0 0 0 +8086 1 1.1082 1 77.32003564932776 67.40816776096983 0 0 0 0 +8104 1 1.1072 1 66.56482406240258 104.93970648163416 0 0 0 0 +6143 1 1.2794 1 110.9607601540233 111.62370405496797 0 0 0 0 +8157 1 1.1042 1 97.0221404639472 72.01038529105769 0 0 0 0 +7332 1 1.1679 1 66.31854199334924 71.12161953266863 0 0 0 0 +8191 1 1.1019 1 81.13262036585847 106.65156289642925 0 0 0 0 +8265 1 1.097 1 65.8272717272439 108.40881374399528 0 0 0 0 +8359 1 1.09 1 82.46078053322884 100.37769640640775 0 0 0 0 +8360 1 1.09 1 70.74490467197525 88.76064080419424 0 0 0 0 +8400 1 1.0876 1 67.35305072366585 105.69757304981889 0 0 0 0 +8412 1 1.0868 1 89.83156030492943 107.43373965663314 0 0 0 0 +8424 1 1.0861 1 79.50087361421893 111.56670470125154 0 0 0 0 +8203 1 1.1013 1 114.07049675352233 97.32229491745505 0 0 0 0 +8458 1 1.084 1 83.76741138002428 110.3946848926828 0 0 0 0 +8525 1 1.0796 1 100.17934999964551 92.87857618301413 0 0 0 0 +8645 1 1.0724 1 108.06913603208514 108.18316640538256 0 0 0 0 +8535 1 1.0788 1 85.22043650857277 88.79519630527071 0 0 0 0 +8542 1 1.0786 1 73.30644836131731 73.76179085038325 0 0 0 0 +2010 1 2.2335 1 65.83804330244908 77.41731393504547 0 0 0 0 +8672 1 1.0712 1 73.38911526906993 70.80401290222525 0 0 0 0 +8719 1 1.0688 1 98.6951162120637 75.25811968609194 0 0 0 0 +3446 1 1.705 1 114.3271386867768 101.4564574406217 0 0 0 0 +2211 1 2.132 1 113.35608431670786 103.0530976843204 0 0 0 0 +8785 1 1.0641 1 81.08175871980173 80.11952646921279 0 0 0 0 +1556 1 2.5287 1 114.20932247954839 99.37370393597007 0 0 0 0 +8808 1 1.0628 1 89.89810578147697 84.8215732797277 0 0 0 0 +8834 1 1.0613 1 97.21679829731406 73.02574787691583 0 0 0 0 +8835 1 1.0612 1 87.05474064582354 81.93748003733806 0 0 0 0 +5463 1 1.3549 1 107.13889550346606 93.83622068210383 0 0 0 0 +8864 1 1.0592 1 73.59206301678422 96.7444680534275 0 0 0 0 +4714 1 1.462 1 115.24645748557971 105.59572685198142 0 0 0 0 +9964 1 1.0023 1 79.76167976671319 70.10075035840993 0 0 0 0 +6969 1 1.1967 1 67.29824763316756 68.4790506796064 0 0 0 0 +9002 1 1.0525 1 71.56888530704545 92.67538607503522 0 0 0 0 +6622 1 1.2302 1 109.52215698542632 103.20400593080149 0 0 0 0 +9064 1 1.049 1 84.52479122408772 77.63358797058518 0 0 0 0 +397 1 4.9406 1 68.15798675893186 74.62330552455207 0 0 0 0 +7713 1 1.1354 1 110.79039790989893 104.71921138011811 0 0 0 0 +9103 1 1.0469 1 91.31844155924531 94.66340837107748 0 0 0 0 +9116 1 1.0465 1 72.04140834548446 86.93970377164024 0 0 0 0 +4664 1 1.47 1 69.73030260041419 89.46584143507738 0 0 0 0 +9133 1 1.0455 1 73.61503915633423 91.74464565003291 0 0 0 0 +9194 1 1.0422 1 77.01990099757417 88.53503826761043 0 0 0 0 +9203 1 1.0417 1 68.66541839307396 88.81023815302693 0 0 0 0 +5734 1 1.3226 1 109.03041220198763 113.72299483789413 0 0 0 0 +669 1 3.8455 1 110.29169044788317 107.13973368706621 0 0 0 0 +3383 1 1.7202 1 66.27507674824038 80.57453539605797 0 0 0 0 +9399 1 1.0307 1 98.95276831988672 71.35210574198913 0 0 0 0 +9414 1 1.0298 1 96.38565677940561 92.08217287647192 0 0 0 0 +9423 1 1.0294 1 106.66016867244251 81.72225550618509 0 0 0 0 +6497 1 1.2434 1 99.98080241981643 100.00442448863473 0 0 0 0 +9450 1 1.0284 1 101.57054235218173 72.1293269644929 0 0 0 0 +9493 1 1.0262 1 86.32463231660574 77.40403046038307 0 0 0 0 +9519 1 1.0249 1 86.35511499851981 96.28120139454433 0 0 0 0 +9525 1 1.0246 1 83.85566047491106 72.62518756583452 0 0 0 0 +5841 1 1.3105 1 114.72779738393449 92.7463314794131 0 0 0 0 +9539 1 1.0238 1 80.2762311239315 70.9812610876747 0 0 0 0 +9541 1 1.0237 1 66.16301331965755 109.73416599189787 0 0 0 0 +3205 1 1.7653 1 115.12281205983378 88.1204592403153 0 0 0 0 +9613 1 1.0199 1 81.0672078756139 107.69689837134344 0 0 0 0 +9623 1 1.0196 1 67.59380156117415 104.66217514613965 0 0 0 0 +9642 1 1.0184 1 81.25704482960052 71.93735180480654 0 0 0 0 +9664 1 1.0173 1 102.65386428425464 77.39273302153396 0 0 0 0 +7106 1 1.1853 1 83.16890764008608 115.41147909414302 0 0 0 0 +9745 1 1.013 1 85.73901912245191 76.60696981158344 0 0 0 0 +9816 1 1.0093 1 72.56354063046363 74.50372988647314 0 0 0 0 +9833 1 1.0086 1 76.73306189784265 73.23031576399487 0 0 0 0 +9906 1 1.0047 1 80.30579335857693 82.57314719009504 0 0 0 0 +9911 1 1.0045 1 88.20917125233154 71.34677918171218 0 0 0 0 +6020 1 1.2926 1 103.39487166792918 98.51829111203159 0 0 0 0 +8347 1 1.0907 1 101.28886162606703 84.79203861257605 0 0 0 0 +9492 1 1.0263 1 97.39382045139634 100.13656627249311 0 0 0 0 +4904 1 1.432 1 102.51700515929724 94.16067903709977 0 0 0 0 +2295 1 2.0952 1 100.85266760920791 94.22239864644648 0 0 0 0 +2717 1 1.9242 1 98.58512278771087 99.37102454240711 0 0 0 0 +8499 1 1.081 1 98.22574607496321 105.43152125612667 0 0 0 0 +9562 1 1.0222 1 99.85031486071603 96.6137883703726 0 0 0 0 +5489 1 1.3521 1 93.89422933755066 70.26756946235778 0 0 0 0 +7694 1 1.1369 1 70.06924072663507 81.13294613367728 0 0 0 0 +352 1 5.327 1 96.15007495853115 107.82039437389327 0 0 0 0 +9216 1 1.041 1 69.22507497718038 83.13779046957951 0 0 0 0 +173 1 7.2878 1 105.3304722304376 85.67216850672513 0 0 0 0 +8888 1 1.0579 1 109.7344510187569 95.58652491954858 0 0 0 0 +986 1 3.2003 1 101.18173598203727 98.17174654110231 0 0 0 0 +7497 1 1.1525 1 107.71928001062288 100.0701362365255 0 0 0 0 +3326 1 1.7335 1 94.64639857796041 110.97658592441574 0 0 0 0 +2086 1 2.19 1 108.7785882718024 94.32510399934266 0 0 0 0 +9869 1 1.0063 1 107.57270973959236 82.40198987271975 0 0 0 0 +6272 1 1.2629 1 107.21159785336953 95.08774864584726 0 0 0 0 +1005 1 3.1726 1 109.60992310487532 101.01924849964819 0 0 0 0 +3010 1 1.8253 1 106.21896134092194 96.24360262895541 0 0 0 0 +9457 1 1.0279 1 103.11947654337733 97.42166920187287 0 0 0 0 +5087 1 1.4063 1 89.58656196347255 65.95131432330287 0 0 0 0 +904 1 3.3497 1 107.44745053095906 91.57072433193287 0 0 0 0 +9838 1 1.0083 1 110.70054761607862 84.99671901327861 0 0 0 0 +8426 1 1.0861 1 113.89117310949645 111.48703803637325 0 0 0 0 +4184 1 1.5521 1 109.54174418152883 84.55194696079437 0 0 0 0 +3154 1 1.7782 1 68.80907789798518 81.79623562579168 0 0 0 0 +6360 1 1.256 1 87.23521963692869 64.53148136436202 0 0 0 0 +4777 1 1.4518 1 108.26710893161098 88.8747398593095 0 0 0 0 +7589 1 1.145 1 109.61769289957915 85.93024826926963 0 0 0 0 +1169 1 2.9355 1 103.96909317251401 95.68845821747735 0 0 0 0 +1679 1 2.4404 1 109.1419687007489 111.87929068980263 0 0 0 0 +1525 1 2.5488 1 110.3599216319283 91.49524857890759 0 0 0 0 +1594 1 2.4992 1 64.51736263848201 104.44111999941505 0 0 0 0 +3640 1 1.6646 1 111.70777440001719 85.81480368284254 0 0 0 0 +9384 1 1.0316 1 109.20518907035428 92.81441431602906 0 0 0 0 +498 1 4.3761 1 111.29580754386086 97.75874134117336 0 0 0 0 +76 1 10.4171 1 103.82460433224792 104.31319156974051 0 0 0 0 +2062 1 2.2054 1 111.2206967862448 103.12100207622281 0 0 0 0 +1619 1 2.4801 1 112.34749352884351 101.00210462375225 0 0 0 0 +7449 1 1.1571 1 65.03754323876177 66.78863465435384 0 0 0 0 +6759 1 1.2174 1 67.45090818103972 77.53385948900166 0 0 0 0 +9077 1 1.0484 1 66.41948105639052 72.22154037958394 0 0 0 0 +5593 1 1.3381 1 109.64242641790129 104.46900824065277 0 0 0 0 +3796 1 1.6303 1 113.53036461016056 88.60396075134939 0 0 0 0 +3082 1 1.8054 1 112.09762108662422 94.81191322024819 0 0 0 0 +7336 1 1.1677 1 64.32094967716071 111.8484214341061 0 0 0 0 +7305 1 1.17 1 64.23974409670618 108.80571043696281 0 0 0 0 +3032 1 1.8171 1 64.20335504943222 110.29374903375394 0 0 0 0 +9960 1 1.0027 1 78.76661068180245 116.21634178668322 0 0 0 0 +5073 1 1.4087 1 90.08283383004178 117.03799437994577 0 0 0 0 +4479 1 1.5008 1 91.61640031976994 116.85387266758673 0 0 0 0 +1301 1 2.7927 1 84.9022794750007 116.3398422449824 0 0 0 0 +5033 1 1.4157 1 102.63004629713336 63.76058131226345 0 0 0 0 +2084 1 2.1912 1 117.13101583231952 117.05222256236574 0 0 0 0 +340 1 5.396 1 116.90446884904374 110.57423042604385 0 0 0 0 +42 1 15.4306 1 63.859353020193254 95.48411942545464 0 0 0 0 +3443 1 1.7052 1 63.67269167813263 66.74939734793536 0 0 0 0 +29 1 18.1105 1 101.08880678517185 119.25714446680372 0 0 0 0 +124 1 8.6862 1 75.30811487541729 122.32263128143624 0 0 0 0 +8155 1 1.1043 1 89.79728112245617 118.24831015310934 0 0 0 0 +178 1 7.2453 1 111.51343988953113 127.08112611444352 0 0 0 0 +6001 1 1.2943 1 64.4131312641201 125.59794808001317 0 0 0 0 +9529 1 1.0243 1 109.46478245793259 123.62689151133242 0 0 0 0 +9676 1 1.0169 1 72.02791790165173 118.80610312938808 0 0 0 0 +6903 1 1.2018 1 91.1571176094915 120.17344641306121 0 0 0 0 +3036 1 1.8157 1 117.08733689544987 127.86192257349826 0 0 0 0 +597 1 4.0309 1 97.76696160578047 129.58045377500113 0 0 0 0 +606 1 3.9993 1 89.70232357539368 128.27358569799196 0 0 0 0 +9061 1 1.0497 1 79.96832007815709 123.58208329682257 0 0 0 0 +640 1 3.9108 1 83.98213549794069 123.78529204088902 0 0 0 0 +649 1 3.8897 1 69.08763230111978 122.16460221689552 0 0 0 0 +691 1 3.8011 1 110.09974814875956 134.31424167817426 0 0 0 0 +941 1 3.262 1 66.47903160102666 124.5241192886457 0 0 0 0 +961 1 3.2283 1 84.89284832566847 127.20437316033478 0 0 0 0 +1024 1 3.1445 1 107.64424106210802 131.93122992648964 0 0 0 0 +1114 1 2.9972 1 94.36674983162857 129.96716860211345 0 0 0 0 +1182 1 2.9258 1 65.54813645581893 127.33649297967861 0 0 0 0 +9383 1 1.0317 1 116.35994490020867 135.02443995549575 0 0 0 0 +4558 1 1.4879 1 63.78537030037882 123.46266568931102 0 0 0 0 +1267 1 2.8303 1 91.33713036144344 123.00428726895728 0 0 0 0 +3803 1 1.6283 1 110.74746326564757 121.15584115664436 0 0 0 0 +1280 1 2.8108 1 113.51665551201692 131.6277236367616 0 0 0 0 +1419 1 2.6604 1 103.30953114469871 131.67038867441642 0 0 0 0 +8261 1 1.0972 1 63.67182189673741 124.70225594553426 0 0 0 0 +1552 1 2.5323 1 82.12772770769097 127.73910469733563 0 0 0 0 +7813 1 1.1279 1 89.15262070398472 119.15693748008157 0 0 0 0 +1602 1 2.4933 1 116.10130620698426 131.24177253300485 0 0 0 0 +1611 1 2.484 1 77.03124161577114 127.44102591878229 0 0 0 0 +7252 1 1.1738 1 117.16837110798093 132.7008233761974 0 0 0 0 +1810 1 2.3514 1 105.13482675551826 128.62395146237978 0 0 0 0 +1859 1 2.3254 1 100.88924871432957 131.75670040071347 0 0 0 0 +2079 1 2.1931 1 116.39787179255836 123.92015388616325 0 0 0 0 +375 1 5.0832 1 115.90755078067984 120.35996075050153 0 0 0 0 +5345 1 1.3704 1 114.97832311074315 139.59334825548495 0 0 0 0 +2117 1 2.1715 1 107.39347634923806 129.34309886416403 0 0 0 0 +2170 1 2.1488 1 112.70168891542855 137.69759920067492 0 0 0 0 +2304 1 2.0901 1 86.83445642259895 124.6347997939764 0 0 0 0 +2354 1 2.0666 1 69.08929472393815 127.27277353324936 0 0 0 0 +2355 1 2.0664 1 91.06148348446284 125.40772530807574 0 0 0 0 +2372 1 2.0586 1 94.6488754592566 127.52334848454177 0 0 0 0 +2451 1 2.0271 1 92.67285341733185 128.18987062152564 0 0 0 0 +5344 1 1.3705 1 84.6387756588939 119.46726276801168 0 0 0 0 +2678 1 1.9392 1 81.59477169019729 125.5006188671993 0 0 0 0 +2694 1 1.9318 1 102.03580251388289 129.78432761120737 0 0 0 0 +6992 1 1.1949 1 91.50534410827754 119.06341163640606 0 0 0 0 +2860 1 1.8762 1 107.61559299549016 135.44396029794936 0 0 0 0 +2869 1 1.8724 1 93.04856608805326 126.35841111376882 0 0 0 0 +2923 1 1.8564 1 111.9833169461921 122.34012344151249 0 0 0 0 +3031 1 1.8173 1 69.76676942794856 125.40059737290201 0 0 0 0 +9984 1 1.001 1 88.58948585757567 122.04681380584344 0 0 0 0 +3055 1 1.8112 1 78.86333381037446 126.38207507778361 0 0 0 0 +3203 1 1.7656 1 71.8838619844105 117.46980074191205 0 0 0 0 +3250 1 1.7528 1 88.73242142858756 124.5759262488858 0 0 0 0 +3251 1 1.7528 1 92.01783734258342 129.92488674921933 0 0 0 0 +3480 1 1.6974 1 115.54278065280431 128.94329215145757 0 0 0 0 +5104 1 1.4036 1 115.28586107041144 125.19398363411503 0 0 0 0 +3381 1 1.7203 1 92.81095865002925 124.65171859385451 0 0 0 0 +3848 1 1.6173 1 86.56517543997664 122.82352622833885 0 0 0 0 +3442 1 1.7053 1 106.10171988802352 133.70134297074063 0 0 0 0 +8428 1 1.0861 1 64.97811111709717 123.0249901410881 0 0 0 0 +303 1 5.7182 1 81.26654307092686 118.38030379421998 0 0 0 0 +3666 1 1.6568 1 83.65912501666229 121.07787561671655 0 0 0 0 +3694 1 1.6494 1 110.32955858290053 122.70718293944184 0 0 0 0 +3740 1 1.6412 1 99.00114972509377 132.0584805849242 0 0 0 0 +6021 1 1.2922 1 113.84491133528947 138.9427252983139 0 0 0 0 +3927 1 1.6023 1 72.29577506034155 126.46383071956029 0 0 0 0 +3986 1 1.5892 1 109.81624533449806 131.11162889694216 0 0 0 0 +4022 1 1.5794 1 104.99836103959706 130.5273531476343 0 0 0 0 +9142 1 1.045 1 106.25203980904271 130.42000363122492 0 0 0 0 +4147 1 1.5594 1 100.49082184661614 129.02226522675323 0 0 0 0 +4153 1 1.5579 1 70.54905734110069 118.4171011852639 0 0 0 0 +4294 1 1.5335 1 73.43726149943066 117.63694916396737 0 0 0 0 +858 1 3.4438 1 87.70953911394105 117.44014429408301 0 0 0 0 +4502 1 1.4969 1 89.21372142177057 123.09570110639085 0 0 0 0 +4516 1 1.4945 1 87.03925710901721 127.97759524053001 0 0 0 0 +1157 1 2.9472 1 116.41127651484041 137.06162891622938 0 0 0 0 +9267 1 1.0383 1 66.7078303943905 121.87358599488745 0 0 0 0 +4588 1 1.4824 1 80.20577998241055 128.0571808174775 0 0 0 0 +4718 1 1.4609 1 70.77862268015912 126.66018608507375 0 0 0 0 +9691 1 1.0159 1 79.27550804337582 125.05522563870151 0 0 0 0 +8680 1 1.0711 1 114.95763816606338 123.21357396780225 0 0 0 0 +4911 1 1.4306 1 103.10941619180251 133.65345221977253 0 0 0 0 +5028 1 1.4169 1 81.35094493669654 123.85029485249085 0 0 0 0 +2350 1 2.0681 1 111.15592409661292 119.40132330714687 0 0 0 0 +5114 1 1.4008 1 78.83079063928271 127.96686049829167 0 0 0 0 +6455 1 1.2471 1 77.82148375650648 118.05823856371757 0 0 0 0 +5311 1 1.3743 1 107.32323325639729 126.58174127525983 0 0 0 0 +5341 1 1.3708 1 71.33122152231755 125.35831903141224 0 0 0 0 +5417 1 1.3614 1 103.29176942593368 128.73520348224628 0 0 0 0 +5439 1 1.3581 1 85.06441371762078 120.76159462797355 0 0 0 0 +7884 1 1.1225 1 85.04597739652587 118.29043051711773 0 0 0 0 +2141 1 2.1593 1 80.71177294073283 122.2131593321312 0 0 0 0 +5563 1 1.3427 1 104.93364240577755 132.77890877884957 0 0 0 0 +5577 1 1.3406 1 69.90664285150666 119.70152193235096 0 0 0 0 +5594 1 1.3381 1 80.51255224130303 126.71532641866212 0 0 0 0 +5629 1 1.3339 1 69.13583659961392 118.63570768431498 0 0 0 0 +5639 1 1.3331 1 71.62043100182639 127.7461480521597 0 0 0 0 +5644 1 1.3327 1 109.87876167101183 136.80343128860338 0 0 0 0 +7989 1 1.1151 1 114.89948289764185 138.3818352572723 0 0 0 0 +5745 1 1.3208 1 67.52254074914445 126.70709822886847 0 0 0 0 +5767 1 1.3174 1 111.02803640633779 137.3971701605506 0 0 0 0 +5798 1 1.3149 1 70.6978549615387 124.17762034023303 0 0 0 0 +5807 1 1.3138 1 111.68351367174549 136.29969883888967 0 0 0 0 +5887 1 1.306 1 82.36009400398312 121.75026071516868 0 0 0 0 +5900 1 1.3047 1 88.38391899248451 126.00616338827682 0 0 0 0 +5973 1 1.2974 1 112.43932989346473 120.78838571645345 0 0 0 0 +6287 1 1.2618 1 90.93986020148856 118.02407909232579 0 0 0 0 +1058 1 3.0789 1 87.21048959101358 120.58837586892889 0 0 0 0 +631 1 3.9272 1 113.8647240840791 134.90973507212308 0 0 0 0 +9190 1 1.0424 1 65.93273246819334 122.51651835606602 0 0 0 0 +6059 1 1.2873 1 72.90569921101697 127.74890696759145 0 0 0 0 +6279 1 1.2622 1 101.86183908595189 133.22512931414911 0 0 0 0 +6292 1 1.2615 1 68.3297213714606 125.7481101466732 0 0 0 0 +6303 1 1.2608 1 80.2993304471549 124.6281244115461 0 0 0 0 +3238 1 1.7551 1 113.57841052500234 123.0993922598693 0 0 0 0 +6385 1 1.2528 1 114.669011016405 130.04200513734855 0 0 0 0 +6387 1 1.2526 1 110.88839136578399 131.99341361317315 0 0 0 0 +4146 1 1.5594 1 117.00954703365792 129.486283053798 0 0 0 0 +8183 1 1.1023 1 85.97189263408106 118.90530941748119 0 0 0 0 +6515 1 1.2417 1 74.13555426513715 127.79418000851086 0 0 0 0 +6553 1 1.2373 1 75.21389698365175 127.260755813753 0 0 0 0 +6577 1 1.2348 1 83.0056919507234 126.1185946219695 0 0 0 0 +6579 1 1.2347 1 89.68216641322523 121.84961613777445 0 0 0 0 +6624 1 1.2297 1 86.17705322062459 128.98512202916802 0 0 0 0 +6798 1 1.2127 1 106.31926001187826 127.34781349952213 0 0 0 0 +9490 1 1.0264 1 70.47470241214248 127.89463131121192 0 0 0 0 +7082 1 1.1876 1 106.17197614196525 135.09741662222353 0 0 0 0 +5061 1 1.4113 1 116.1188080075844 133.49815244201565 0 0 0 0 +7092 1 1.1867 1 112.16604693789813 133.0225231135727 0 0 0 0 +7125 1 1.1837 1 115.65107724482021 127.57348355241778 0 0 0 0 +9448 1 1.0285 1 113.24877128216879 121.75865590286213 0 0 0 0 +3734 1 1.6424 1 89.52108323920936 120.45756058862364 0 0 0 0 +7405 1 1.1608 1 67.91689203201527 119.76032882385242 0 0 0 0 +7437 1 1.1581 1 67.54360309079891 127.94114676434454 0 0 0 0 +7448 1 1.1572 1 94.40782942172784 126.00419041262934 0 0 0 0 +7514 1 1.1516 1 107.40507262882109 127.76815001867753 0 0 0 0 +6207 1 1.2708 1 90.32737851118166 119.2778286908722 0 0 0 0 +7683 1 1.1377 1 115.12123425583984 132.73862134989452 0 0 0 0 +7690 1 1.1371 1 87.33566307042352 129.22267422875024 0 0 0 0 +7761 1 1.1314 1 90.64932674706063 121.19188728074332 0 0 0 0 +7889 1 1.1221 1 87.92793290283704 122.8746450603924 0 0 0 0 +7916 1 1.1197 1 91.7140611183875 126.82779775418228 0 0 0 0 +7971 1 1.1164 1 85.58398102113634 121.87848674168991 0 0 0 0 +7978 1 1.1159 1 96.2229316643199 127.53741033245515 0 0 0 0 +3356 1 1.7258 1 116.24402218226498 126.32071673399547 0 0 0 0 +8014 1 1.1137 1 105.13055986400967 134.66318774233855 0 0 0 0 +8103 1 1.1073 1 87.6004547150605 126.86091791224783 0 0 0 0 +8189 1 1.102 1 111.65674267965147 131.19426794959313 0 0 0 0 +8911 1 1.057 1 104.16802621378869 134.23959902415092 0 0 0 0 +8255 1 1.0974 1 108.78527421886422 130.18701945926392 0 0 0 0 +8259 1 1.0972 1 86.77080093094158 126.19270334219267 0 0 0 0 +9033 1 1.0509 1 97.67107326986546 131.98264095003836 0 0 0 0 +8380 1 1.0884 1 105.54388931841409 131.73644847731322 0 0 0 0 +8416 1 1.0866 1 89.53617016278226 125.73878856989954 0 0 0 0 +9995 1 1.0002 1 80.05384029142175 125.68458337749409 0 0 0 0 +5461 1 1.355 1 112.8506040158985 119.40886735737013 0 0 0 0 +8484 1 1.0819 1 71.27287167871093 119.50101957731219 0 0 0 0 +8496 1 1.0811 1 107.62431265852206 134.0046165123801 0 0 0 0 +7302 1 1.1704 1 67.93659203647448 118.39445170360699 0 0 0 0 +8650 1 1.0723 1 95.89514877271736 131.29321156663332 0 0 0 0 +8660 1 1.0717 1 100.19456630273243 130.26269277104814 0 0 0 0 +8661 1 1.0717 1 70.83287852410858 120.45113515566595 0 0 0 0 +8838 1 1.061 1 91.72483361664277 121.12610000414416 0 0 0 0 +7074 1 1.188 1 114.52756573297624 124.19620537885832 0 0 0 0 +7121 1 1.1841 1 114.33529657120886 137.4028265355817 0 0 0 0 +951 1 3.245 1 117.21149040209261 139.9805927991413 0 0 0 0 +1 1 163.7888 1 72.34283229848131 210.26961308674618 0 0 0 0 +8969 1 1.0541 1 116.42324614770776 317.3828808854103 0 0 0 0 +40 1 15.577 1 86.02713740289363 321.6110661674173 0 0 0 0 +56 1 12.7808 1 100.37734428253678 311.27474486090335 0 0 0 0 +62 1 12.1799 1 106.0036884564009 323.50407576463 0 0 0 0 +9765 1 1.0118 1 77.25841058579739 324.88562751537637 0 0 0 0 +104 1 9.5194 1 89.42604144040853 294.9925512556539 0 0 0 0 +174 1 7.287 1 75.17080856599236 297.30238583446027 0 0 0 0 +2853 1 1.8785 1 91.1414806616854 330.4506626452798 0 0 -1 0 +218 1 6.5355 1 81.25695669300717 303.0787755062688 0 0 0 0 +2346 1 2.0701 1 106.7579634412647 330.6284507263913 0 0 -1 0 +252 1 6.1835 1 74.5928048873421 327.23171945012194 0 0 0 0 +260 1 6.1283 1 64.8913656290939 297.7151206123804 0 0 0 0 +266 1 6.0432 1 94.26835436701396 304.2128263135189 0 0 0 0 +297 1 5.7623 1 100.08932091236792 295.85462901926894 0 0 0 0 +329 1 5.4772 1 77.18351573702674 308.15213860877367 0 0 0 0 +383 1 5.043 1 68.75469731849907 324.87468445791336 0 0 0 0 +391 1 4.971 1 96.04640928955399 319.67580756022113 0 0 0 0 +448 1 4.6632 1 73.00349108042786 305.35600977937054 0 0 0 0 +459 1 4.6258 1 97.67322349476004 290.492603537901 0 0 0 0 +466 1 4.5838 1 113.72701193772944 306.20150156662476 0 0 0 0 +472 1 4.5379 1 82.97740095880073 309.71244963447793 0 0 0 0 +486 1 4.4589 1 68.73380914257332 306.7576100893191 0 0 0 0 +561 1 4.171 1 110.2727839564177 308.8741104291868 0 0 0 0 +564 1 4.1624 1 87.31550073836803 309.8076383385832 0 0 0 0 +570 1 4.1314 1 104.91715668984222 296.1660095772146 0 0 0 0 +571 1 4.1227 1 94.78491974817167 299.0638801388784 0 0 0 0 +585 1 4.0781 1 65.46312831915321 310.6191652058035 0 0 0 0 +601 1 4.0145 1 77.1432509387362 317.74536357738754 0 0 0 0 +4510 1 1.4953 1 114.66489407076001 315.2218565132728 0 0 0 0 +634 1 3.9261 1 71.52504813003425 301.4288864731118 0 0 0 0 +681 1 3.8224 1 100.47798413202418 303.11536473146083 0 0 0 0 +740 1 3.6963 1 71.56107449757303 315.1793583603185 0 0 0 0 +741 1 3.6963 1 70.59181885177131 318.63748300271953 0 0 0 0 +771 1 3.6441 1 83.36676587156472 297.2845626057293 0 0 0 0 +786 1 3.6147 1 98.48165044231126 300.1405000600014 0 0 0 0 +789 1 3.61 1 110.22261081528046 301.36006185437753 0 0 0 0 +1080 1 3.0424 1 64.70356659273365 322.6533990431132 0 0 -1 0 +800 1 3.5949 1 80.72166669468696 294.92539899783606 0 0 0 0 +802 1 3.5862 1 115.69986647625939 302.6286230988509 0 0 0 0 +9646 1 1.0182 1 69.67551336374368 310.3220692601905 0 0 0 0 +841 1 3.4818 1 90.92765469567249 308.8404979179129 0 0 0 0 +908 1 3.3408 1 112.94656616811626 316.82924916109806 0 0 0 0 +919 1 3.3139 1 73.50826260939914 320.52986809899244 0 0 0 0 +920 1 3.3137 1 103.6256768999531 287.67822609094753 0 0 0 0 +1000 1 3.1763 1 102.59021056415497 292.2184488812836 0 0 0 0 +1028 1 3.1323 1 93.80108201046664 326.73277813242237 0 0 0 0 +1044 1 3.0954 1 71.76536213425217 308.9526799493076 0 0 0 0 +1061 1 3.0683 1 110.60202740574846 313.0248409484508 0 0 0 0 +956 1 3.2395 1 86.33157449684644 331.26076867072754 0 0 -1 0 +1111 1 3.0023 1 110.04682256420446 305.3875881508594 0 0 0 0 +1128 1 2.9786 1 85.159259278816 312.54538196134587 0 0 0 0 +4036 1 1.5765 1 115.35016398305787 316.6919725048239 0 0 0 0 +823 1 3.5285 1 115.11520990165731 319.3713736242295 0 0 0 0 +1163 1 2.942 1 85.85583940899389 304.8677280378205 0 0 0 0 +2662 1 1.9433 1 117.17263878218105 324.48346046348155 0 0 0 0 +1208 1 2.8986 1 103.2922739169181 301.43118294607615 0 0 0 0 +1899 1 2.301 1 70.0900226789722 330.48032969939317 0 0 0 0 +1259 1 2.8428 1 72.45306375074182 323.3066247985075 0 0 0 0 +1260 1 2.8424 1 90.17630580447099 305.8882396416985 0 0 0 0 +9639 1 1.0185 1 107.23772309679858 310.89676785862184 0 0 0 0 +1273 1 2.819 1 105.3498203423409 299.4775402326147 0 0 0 0 +1284 1 2.8067 1 85.3999009724396 301.0565695238275 0 0 0 0 +1287 1 2.8037 1 78.97848420823235 312.33975818778305 0 0 0 0 +8683 1 1.0709 1 63.72847943578211 293.75414724769263 0 0 0 0 +9656 1 1.0177 1 75.9313112368849 330.51750093718033 0 0 -1 0 +1385 1 2.7004 1 67.78420090719246 303.382397526478 0 0 0 0 +1403 1 2.6797 1 78.08679707799489 293.29410048941946 0 0 0 0 +1408 1 2.6704 1 74.66345984257038 315.5690892188752 0 0 0 0 +1416 1 2.666 1 107.55772607519442 316.30557504633265 0 0 0 0 +1426 1 2.6548 1 107.14790588083913 286.8825371999407 0 0 0 0 +1468 1 2.6047 1 107.6585068825676 303.80692002094344 0 0 0 0 +1470 1 2.6043 1 98.53383753449344 326.4921473531312 0 0 0 0 +1480 1 2.5943 1 107.89164306658618 312.54760138440344 0 0 0 0 +1492 1 2.5851 1 65.667158577517 301.9304922406066 0 0 0 0 +1536 1 2.5426 1 91.33925853069597 300.61061304866666 0 0 0 0 +1539 1 2.5388 1 106.25071401709022 306.41174053310374 0 0 0 0 +1559 1 2.5262 1 90.51382015378312 313.82874619750186 0 0 0 0 +1566 1 2.5205 1 110.11532524382712 316.5985989592641 0 0 0 0 +1583 1 2.5056 1 107.20620547384532 301.3281894408429 0 0 0 0 +9497 1 1.0261 1 77.38715296131491 329.82380525319905 0 0 -1 0 +1667 1 2.4439 1 80.63105540218017 314.44395016086634 0 0 0 0 +1681 1 2.4359 1 70.47006903936148 298.5433558812838 0 0 0 0 +4168 1 1.5555 1 64.44543104209998 292.6709705346012 0 0 0 0 +9515 1 1.025 1 91.30836590571566 302.34697879981417 0 0 0 0 +9700 1 1.0152 1 72.74606651910247 311.14480910657113 0 0 0 0 +9887 1 1.0056 1 112.69502016983239 319.22889148713426 0 0 0 0 +1759 1 2.3806 1 101.22081289893028 289.9023239896648 0 0 0 0 +1786 1 2.3645 1 88.93100875866064 300.8622260003652 0 0 0 0 +1824 1 2.3434 1 96.56307822765768 323.2307039373033 0 0 0 0 +1849 1 2.331 1 113.15618676931199 301.2091508933905 0 0 0 0 +1873 1 2.3175 1 98.81053803410892 323.67292224974705 0 0 0 0 +1875 1 2.3164 1 108.48407940082363 284.8713252968031 0 0 0 0 +1918 1 2.2888 1 95.28008001279112 294.9484236368926 0 0 0 0 +1927 1 2.2846 1 90.21838674743631 311.50643641191465 0 0 0 0 +1969 1 2.2583 1 92.32566080137072 312.3026121300857 0 0 0 0 +1977 1 2.2552 1 69.33070199198724 296.538660266269 0 0 0 0 +2018 1 2.2281 1 107.65338835596101 297.6768412909993 0 0 0 0 +4037 1 1.5763 1 114.81160817010063 322.87550366686827 0 0 0 0 +5541 1 1.3455 1 65.65309262864365 324.54185213055626 0 0 -1 0 +2097 1 2.1852 1 74.89470516279628 322.89275596868515 0 0 0 0 +2120 1 2.1706 1 109.61140038359291 298.5653095255078 0 0 0 0 +2122 1 2.1701 1 93.24261901269658 290.5659923555258 0 0 0 0 +2241 1 2.1192 1 80.80498018560287 307.3012372768025 0 0 0 0 +2245 1 2.1187 1 106.67793757479497 290.95064772124744 0 0 0 0 +2262 1 2.1126 1 107.2030488066292 308.4663995681663 0 0 0 0 +2300 1 2.093 1 78.42196292075283 325.898956665302 0 0 0 0 +1538 1 2.5398 1 68.7439521758065 328.5822537500019 0 0 -1 0 +4723 1 1.46 1 92.69187503524891 330.0544552383187 0 0 -1 0 +2364 1 2.0613 1 82.17550716613063 312.86798379563663 0 0 0 0 +2373 1 2.0586 1 111.07192755736455 318.6353124740926 0 0 0 0 +4980 1 1.423 1 88.0310519052164 329.77088932475687 0 0 -1 0 +2415 1 2.0436 1 96.26913245421431 326.09993429952794 0 0 0 0 +2416 1 2.0433 1 77.2854348668573 320.738119100522 0 0 0 0 +6820 1 1.2105 1 73.67734405671429 293.3491866495985 0 0 0 0 +2466 1 2.0236 1 104.41368650982207 303.5651201813707 0 0 0 0 +7871 1 1.1232 1 116.23194707671236 304.8987895134068 0 0 0 0 +2533 1 1.9985 1 70.0436998418316 303.8929712793998 0 0 0 0 +2581 1 1.9772 1 104.6640244289948 290.02091508898144 0 0 0 0 +2584 1 1.9761 1 111.74943136054955 303.6266491879024 0 0 0 0 +8943 1 1.0555 1 112.5559892126107 322.8966924234954 0 0 0 0 +2607 1 1.9652 1 99.47330214280717 320.80196785485094 0 0 0 0 +2633 1 1.9566 1 87.50369495089943 312.9850563406196 0 0 0 0 +2700 1 1.9294 1 75.18728981018451 311.22295023417206 0 0 0 0 +2703 1 1.9283 1 93.87385129063122 314.63761536547867 0 0 0 0 +7953 1 1.1176 1 64.46887225524641 303.3292737252688 0 0 0 0 +2750 1 1.9116 1 68.32156200138117 309.8614752394837 0 0 0 0 +9787 1 1.0104 1 108.45369156744628 310.8585019355294 0 0 0 0 +2785 1 1.9003 1 93.5081437276632 308.95864759387314 0 0 0 0 +2802 1 1.893 1 68.24695766951245 299.8521479103302 0 0 0 0 +9809 1 1.0096 1 95.77973169393721 324.68967973170925 0 0 0 0 +2871 1 1.8707 1 83.41123691665706 294.569753595698 0 0 0 0 +2928 1 1.8553 1 69.08780595552368 313.15585112667753 0 0 0 0 +2951 1 1.8475 1 107.5112845401899 294.7830283247728 0 0 0 0 +2984 1 1.8372 1 67.12359722264029 313.1636615570009 0 0 0 0 +8156 1 1.1043 1 94.26714872871372 330.85055712509836 0 0 -1 0 +3018 1 1.8206 1 80.19022364557392 299.17772543862213 0 0 0 0 +3120 1 1.788 1 81.72893723895471 292.4822403379301 0 0 0 0 +3136 1 1.783 1 68.12189133036871 311.6690577174479 0 0 0 0 +3144 1 1.7798 1 70.79080980869865 312.59983198654743 0 0 0 0 +3158 1 1.7773 1 100.48885505501033 288.05918321093014 0 0 0 0 +3221 1 1.7598 1 75.05662735037549 292.89044954993244 0 0 0 0 +1861 1 2.3249 1 116.49097473496442 315.1424793203565 0 0 0 0 +3348 1 1.7284 1 107.15086878263989 293.0504286422501 0 0 0 0 +3358 1 1.7258 1 74.60435367844924 302.6700454559442 0 0 0 0 +3373 1 1.7231 1 68.92551095202617 314.88577305614155 0 0 0 0 +3422 1 1.7105 1 86.95228917150932 306.9049806809017 0 0 0 0 +3541 1 1.6849 1 72.33365664523532 292.92236664697435 0 0 0 0 +3554 1 1.6804 1 99.23281515500688 318.8437286923795 0 0 0 0 +3557 1 1.6797 1 104.44586236180511 305.36697812453485 0 0 0 0 +3570 1 1.6761 1 89.11917771513988 302.82251815136067 0 0 0 0 +3593 1 1.6724 1 73.70380920488702 310.2974713941126 0 0 0 0 +3598 1 1.6715 1 105.17674813673608 293.3365395370136 0 0 0 0 +3624 1 1.6669 1 104.8912567579794 291.7377594035525 0 0 0 0 +3639 1 1.6646 1 66.17707672487913 305.11019105003584 0 0 0 0 +3681 1 1.6529 1 106.81387718173944 314.3386051425098 0 0 0 0 +3705 1 1.6457 1 77.23214390170243 303.60224131096413 0 0 0 0 +3724 1 1.6434 1 76.53960878507394 301.50639722500705 0 0 0 0 +3727 1 1.6431 1 76.91948379348169 311.6345849330644 0 0 0 0 +3729 1 1.643 1 96.18054954954498 293.25217546293476 0 0 0 0 +3746 1 1.6404 1 83.98005886246837 306.06318137112925 0 0 0 0 +3792 1 1.6317 1 71.92632603386741 330.0160921213094 0 0 0 0 +3830 1 1.6207 1 93.23075232994888 310.6495307673729 0 0 0 0 +3849 1 1.6172 1 73.72735674468414 313.6700344827925 0 0 0 0 +3895 1 1.6091 1 94.13836199940599 316.37494053285076 0 0 0 0 +3910 1 1.606 1 84.21887663755234 293.08516887529817 0 0 0 0 +3945 1 1.5983 1 87.7388402533738 303.69127695924493 0 0 0 0 +9880 1 1.0058 1 93.86706114016596 328.7855343436192 0 0 0 0 +2546 1 1.9907 1 67.95713248513104 330.6882836294505 0 0 -1 0 +3958 1 1.5944 1 70.71989832231705 327.5374590577162 0 0 0 0 +3961 1 1.594 1 82.59546517203115 306.7994831706549 0 0 0 0 +8436 1 1.0856 1 102.93123816628591 329.64635390035863 0 0 -1 0 +3981 1 1.59 1 76.49654702426935 323.85960328408737 0 0 0 0 +4013 1 1.5808 1 88.05678728150889 305.3090108102883 0 0 0 0 +4015 1 1.5807 1 73.27852530718101 317.17193710785773 0 0 0 0 +4018 1 1.5798 1 106.21506664608201 289.2172705610764 0 0 0 0 +4077 1 1.5703 1 94.7690303335582 323.9270453056851 0 0 0 0 +4089 1 1.5685 1 79.6818764806179 297.2050803983955 0 0 0 0 +4104 1 1.5652 1 79.40191714383265 316.10472111455607 0 0 0 0 +4130 1 1.5621 1 112.26727518722963 314.5261511526801 0 0 0 0 +4179 1 1.5533 1 71.19163355510635 321.15673236629084 0 0 0 0 +4202 1 1.5494 1 80.0292444814255 292.5125688135489 0 0 0 0 +4219 1 1.5468 1 108.20156174539034 306.9742505685446 0 0 0 0 +9055 1 1.0499 1 113.51527253892777 314.76319179108293 0 0 0 0 +4239 1 1.5436 1 78.71288193819528 299.9154770791519 0 0 0 0 +2883 1 1.8671 1 89.61433512105627 329.5029195861196 0 0 -1 0 +1266 1 2.833 1 63.834547771160764 307.60415328964206 0 0 0 0 +4284 1 1.5355 1 78.69575246482393 314.463402607901 0 0 0 0 +4287 1 1.5352 1 92.52807458986801 328.6358876176932 0 0 0 0 +4297 1 1.5331 1 94.61649069820459 293.17085123806777 0 0 0 0 +4391 1 1.5165 1 88.51309331155909 307.2546124305033 0 0 0 0 +4410 1 1.5135 1 91.00770436392847 328.55423911051514 0 0 0 0 +4456 1 1.505 1 95.64985924704375 316.5398034258779 0 0 0 0 +4478 1 1.5008 1 76.62439972362338 322.33902430156854 0 0 0 0 +3302 1 1.7393 1 73.2997974266365 330.903698337298 0 0 -1 0 +4492 1 1.4989 1 115.98325217234891 280.34191899058226 0 0 0 0 +4498 1 1.4977 1 65.77344034208986 306.6558028633023 0 0 0 0 +4519 1 1.4943 1 73.49989794551503 312.1347027571676 0 0 0 0 +4551 1 1.4891 1 91.78647797582592 315.34614034629124 0 0 0 0 +4571 1 1.4859 1 94.48815070960158 322.46085833619827 0 0 0 0 +4584 1 1.4827 1 105.3144715764611 286.0033231488588 0 0 0 0 +4602 1 1.4799 1 83.615666841848 299.8757499390246 0 0 0 0 +4627 1 1.4773 1 104.76791319126879 316.8372239249217 0 0 0 0 +4646 1 1.4738 1 102.51198260797366 298.47087140349316 0 0 0 0 +6775 1 1.2155 1 117.05228777547484 320.60602034175713 0 0 0 0 +4697 1 1.4653 1 100.8820346272091 299.3683639694765 0 0 0 0 +4705 1 1.4643 1 68.5977738212036 298.2223822385274 0 0 0 0 +4707 1 1.4638 1 87.26121145931319 300.00988050749703 0 0 0 0 +4721 1 1.4604 1 64.71461430564784 305.6490341398974 0 0 0 0 +4738 1 1.4582 1 93.53908468680487 317.7253794594483 0 0 0 0 +4768 1 1.4532 1 78.34316422210851 327.62025701028404 0 0 0 0 +9815 1 1.0093 1 103.08894217614568 294.3694108129247 0 0 0 0 +9927 1 1.004 1 63.90493201352318 304.4693428699846 0 0 0 0 +4794 1 1.4499 1 98.2387081853794 321.94265365724766 0 0 0 0 +4804 1 1.4481 1 97.27866008747964 297.9832667454668 0 0 0 0 +4934 1 1.4278 1 97.54070130987068 302.4482194638719 0 0 0 0 +4969 1 1.4239 1 94.78875850389312 289.7322545155845 0 0 0 0 +4992 1 1.4211 1 100.5640257657524 319.54004007974 0 0 0 0 +5018 1 1.4179 1 74.62208238677373 318.56652503727986 0 0 0 0 +5025 1 1.4173 1 69.66612209121367 311.52558171865735 0 0 0 0 +5065 1 1.4105 1 97.96605337589659 303.7796476024153 0 0 0 0 +5116 1 1.4004 1 97.41919228940274 324.8611830184388 0 0 0 0 +5157 1 1.3947 1 92.69197414504468 316.4261036170991 0 0 0 0 +5163 1 1.3934 1 97.62049833807623 293.4190458214519 0 0 0 0 +5170 1 1.3924 1 75.73562897063776 304.0867606596323 0 0 0 0 +5189 1 1.39 1 80.9061881110211 311.7331562121575 0 0 0 0 +5191 1 1.3897 1 101.86660551667464 318.1701152754213 0 0 0 0 +5200 1 1.3884 1 86.52758858644047 302.8181070290624 0 0 0 0 +5202 1 1.3884 1 100.4351830241212 291.6013268172673 0 0 0 0 +5292 1 1.3768 1 109.4925760165487 314.8499845913407 0 0 0 0 +5297 1 1.3764 1 75.90094142312925 312.65618727419695 0 0 0 0 +5323 1 1.3728 1 76.61132016994671 315.15383778721485 0 0 0 0 +5349 1 1.3699 1 92.39539540187157 314.08015275469495 0 0 0 0 +5368 1 1.3677 1 113.34274983338169 303.25681997241463 0 0 0 0 +5407 1 1.3623 1 76.45952217134868 313.8508969253792 0 0 0 0 +1690 1 2.4289 1 112.8821014564962 321.215487009412 0 0 0 0 +5445 1 1.357 1 75.76044501311748 320.01911566387975 0 0 0 0 +5462 1 1.355 1 94.80622722551516 291.2400641360631 0 0 0 0 +5468 1 1.3538 1 96.34411648285452 301.25103640628686 0 0 0 0 +5490 1 1.3519 1 105.72989740613171 304.59960235269085 0 0 0 0 +5499 1 1.3505 1 79.92912591538776 310.24362130183226 0 0 0 0 +5529 1 1.3475 1 108.25959629374684 314.4522676092177 0 0 0 0 +5646 1 1.3326 1 109.89013906324817 283.72997819359665 0 0 0 0 +7562 1 1.147 1 88.48503363408209 330.91129916592547 0 0 -1 0 +5704 1 1.325 1 75.15035523365275 313.69895685878606 0 0 0 0 +9498 1 1.0261 1 77.57257683932835 302.3192637973915 0 0 0 0 +5781 1 1.316 1 77.91258680488987 301.06734289342216 0 0 0 0 +7465 1 1.156 1 108.03737804418226 329.76583799828217 0 0 0 0 +5794 1 1.315 1 87.7551603712508 302.2674974763826 0 0 0 0 +5797 1 1.3149 1 107.37871273834016 299.3982418301516 0 0 0 0 +5825 1 1.3119 1 108.36261094049074 296.0875271347006 0 0 0 0 +5899 1 1.3049 1 89.03360882387405 304.25261482320093 0 0 0 0 +5923 1 1.3022 1 77.74446085109102 323.1372447629966 0 0 0 0 +5097 1 1.4047 1 74.81596430782615 330.981794856448 0 0 -1 0 +2337 1 2.0738 1 67.09486622391736 321.76897120800805 0 0 -1 0 +5994 1 1.2953 1 75.6631561848198 321.33487960380205 0 0 0 0 +1796 1 2.3568 1 104.72477340379524 331.3403124289226 0 0 -1 0 +6040 1 1.2903 1 70.64167234956955 322.4116351123398 0 0 0 0 +6090 1 1.2841 1 64.75697705386428 313.09129836829726 0 0 0 0 +1868 1 2.3205 1 66.40485843230638 293.90242645280466 0 0 0 0 +6169 1 1.2755 1 105.34033299023508 301.4316469028849 0 0 0 0 +6227 1 1.2679 1 77.87527790268658 304.89430414512543 0 0 0 0 +6230 1 1.2675 1 65.99573090832385 308.0088969486543 0 0 0 0 +6234 1 1.2671 1 101.30893538649782 300.6700420044845 0 0 0 0 +6262 1 1.2637 1 70.97035633608829 328.93584142708164 0 0 0 0 +6300 1 1.2608 1 86.19403988493983 299.2486799493517 0 0 0 0 +6308 1 1.2604 1 76.0469288019851 302.82476473266144 0 0 0 0 +9930 1 1.004 1 108.78577730001497 317.623734662113 0 0 0 0 +6328 1 1.2587 1 107.95999236714444 305.65029237641943 0 0 0 0 +6343 1 1.2577 1 105.6801919887624 315.8391919758153 0 0 0 0 +6363 1 1.2557 1 92.87079860166348 307.54125036615176 0 0 0 0 +6423 1 1.2499 1 100.56202797800918 318.2453516043601 0 0 0 0 +6426 1 1.2497 1 107.8203002344495 309.96845326193943 0 0 0 0 +6453 1 1.2472 1 67.89473407082826 294.76490017311426 0 0 0 0 +6486 1 1.2448 1 67.48308753824239 301.2426654091666 0 0 0 0 +6504 1 1.2425 1 72.1390285540942 312.03232480897765 0 0 0 0 +6505 1 1.2425 1 84.54602980630449 307.3314067798622 0 0 0 0 +6561 1 1.2362 1 89.0231821811745 312.6987516192457 0 0 0 0 +6607 1 1.2311 1 116.11451379393074 323.3036135424967 0 0 0 0 +6635 1 1.2287 1 71.72926793335678 325.101153321097 0 0 0 0 +6690 1 1.2233 1 83.17466115795501 292.1270036692902 0 0 0 0 +2036 1 2.2197 1 113.29708753705478 324.32073908119673 0 0 0 0 +6737 1 1.2191 1 112.91970857789777 308.9355188371321 0 0 0 0 +6744 1 1.2187 1 103.03142476241088 289.96712616279683 0 0 0 0 +6766 1 1.2164 1 102.14680082821215 299.75039936075905 0 0 0 0 +6760 1 1.2174 1 72.20689170853224 294.30948222473125 0 0 0 0 +6797 1 1.2127 1 111.14039225526422 299.2265141082896 0 0 0 0 +6859 1 1.2068 1 82.36268438226767 299.43306784477636 0 0 0 0 +6896 1 1.2024 1 96.63453227646136 296.0060502270968 0 0 0 0 +163 1 7.4543 1 63.80789692668095 328.4607774178895 0 0 -1 0 +9867 1 1.0064 1 95.016558800037 315.4897548888647 0 0 0 0 +6970 1 1.1966 1 94.39371101792977 307.7596399207225 0 0 0 0 +6980 1 1.1959 1 74.05540329811663 301.3580338598208 0 0 0 0 +6986 1 1.1956 1 81.48495383816386 298.640729816275 0 0 0 0 +6993 1 1.1948 1 102.85197548195153 303.82438396812546 0 0 0 0 +7009 1 1.1933 1 64.97263063423289 304.36200408463895 0 0 0 0 +7010 1 1.1932 1 103.37131980578611 299.43971481702965 0 0 0 0 +7020 1 1.1921 1 78.13727249923959 324.2991224763768 0 0 0 0 +7037 1 1.1905 1 111.4372688152211 311.15974408280255 0 0 0 0 +484 1 4.4673 1 96.5520797880297 329.29902107729873 0 0 -1 0 +7134 1 1.1833 1 90.50330166940049 303.0465417218497 0 0 0 0 +7275 1 1.1729 1 79.11241629552948 298.3679122458565 0 0 0 0 +7280 1 1.1727 1 85.09339372517618 302.99210525252846 0 0 0 0 +7355 1 1.1652 1 70.6498909793928 310.73774692454947 0 0 0 0 +854 1 3.4527 1 69.94809839325745 293.7728592924413 0 0 0 0 +7459 1 1.1563 1 71.00556386946062 296.8878938511426 0 0 0 0 +8188 1 1.102 1 93.88228893942207 329.8245741840624 0 0 0 0 +7538 1 1.1496 1 85.40904272576218 298.412242124529 0 0 0 0 +7583 1 1.1453 1 105.57962185596834 302.5232055506479 0 0 0 0 +7594 1 1.1444 1 109.37737521211152 311.35493970376166 0 0 0 0 +7642 1 1.1408 1 93.88100507254065 292.0751278490396 0 0 0 0 +7672 1 1.1384 1 83.48927049681437 313.69623398479257 0 0 0 0 +9209 1 1.0413 1 69.05760691305962 331.70849558381025 0 0 0 0 +7723 1 1.1347 1 99.64716486106781 325.1202363858113 0 0 0 0 +7751 1 1.1321 1 93.0597056415842 300.935858295375 0 0 0 0 +7767 1 1.1311 1 76.71749584122547 304.8715069923372 0 0 0 0 +7777 1 1.1305 1 109.43800577726223 303.49468820982395 0 0 0 0 +7828 1 1.1271 1 91.7084616390185 290.30469913132976 0 0 0 0 +7832 1 1.1271 1 85.32620913756327 291.6646332295431 0 0 0 0 +7844 1 1.1262 1 65.92618150574003 303.74716305739486 0 0 0 0 +7869 1 1.1234 1 72.56608384958008 313.04764448379234 0 0 0 0 +9573 1 1.0219 1 103.74643935606186 298.4250571195614 0 0 0 0 +326 1 5.5001 1 114.63358071249269 311.7505882687467 0 0 0 0 +7906 1 1.1206 1 103.49823495071118 317.4133307004782 0 0 0 0 +2942 1 1.8502 1 115.27913452031913 324.5299613650519 0 0 0 0 +1638 1 2.4621 1 99.85030149324896 328.63245796682855 0 0 0 0 +7931 1 1.1191 1 91.84436761967835 327.54229537309305 0 0 0 0 +1132 1 2.976 1 117.08216105712518 308.40338730398776 0 0 0 0 +7980 1 1.1158 1 79.61767812354309 326.9547404951944 0 0 0 0 +7988 1 1.1152 1 100.32802215524814 326.9238272982438 0 0 0 0 +8018 1 1.1135 1 95.56091672582815 296.58523906677294 0 0 0 0 +9437 1 1.0289 1 68.58255223955487 319.8165887189436 0 0 0 0 +8099 1 1.1075 1 84.70242937107372 299.2426736352479 0 0 0 0 +8129 1 1.1056 1 71.71355446905989 311.00361956054496 0 0 0 0 +8142 1 1.1051 1 103.1373078587395 304.9202246323498 0 0 0 0 +3395 1 1.7167 1 101.81536966487492 328.89723972885054 0 0 -1 0 +9872 1 1.0062 1 75.78017207112262 305.2689887810424 0 0 0 0 +8225 1 1.1 1 112.05935186483745 299.9131917365378 0 0 0 0 +8231 1 1.0997 1 70.80772276599508 295.8338707199325 0 0 0 0 +8236 1 1.0991 1 107.41828587951434 288.7155093553948 0 0 0 0 +8260 1 1.0972 1 77.6409049410671 313.7177632953911 0 0 0 0 +8276 1 1.0965 1 103.92994001047958 293.80010171180214 0 0 0 0 +6689 1 1.2233 1 104.00406650712549 329.80782556767144 0 0 -1 0 +151 1 7.5959 1 65.09445595003386 317.4072755809926 0 0 0 0 +8304 1 1.0943 1 69.14061130867415 302.1160770313214 0 0 0 0 +8316 1 1.093 1 105.7384606813961 288.0295393463521 0 0 0 0 +8326 1 1.0925 1 99.62949553890269 292.51323704271493 0 0 0 0 +8333 1 1.0921 1 112.20938382852583 282.163697367569 0 0 0 0 +8346 1 1.0908 1 111.05128953389708 315.0550572970291 0 0 0 0 +8348 1 1.0907 1 69.06890508549748 301.0514473864837 0 0 0 0 +8349 1 1.0907 1 93.728443553598 324.6702410383177 0 0 0 0 +8431 1 1.086 1 74.59230374683551 317.3803134324732 0 0 0 0 +8433 1 1.0857 1 85.31800125306626 308.1580353993682 0 0 0 0 +8437 1 1.0855 1 73.91196013051538 308.02830507266765 0 0 0 0 +8446 1 1.0845 1 88.74741241725381 313.7906999913485 0 0 0 0 +8450 1 1.0844 1 106.04021451309849 292.34765397956386 0 0 0 0 +8500 1 1.081 1 84.25895654578582 291.7908044438523 0 0 0 0 +8503 1 1.0807 1 77.79958889037992 315.33363707680536 0 0 0 0 +1035 1 3.1144 1 79.54732049942628 329.4807808281326 0 0 -1 0 +8544 1 1.0785 1 81.60873436363174 328.699016889761 0 0 0 0 +8571 1 1.0768 1 108.37924244033151 299.97817189691284 0 0 0 0 +1826 1 2.3426 1 69.25024482009282 321.29387865088364 0 0 -1 0 +8594 1 1.0755 1 94.48970865404915 296.48317958510336 0 0 0 0 +8616 1 1.0739 1 76.39833038967365 292.571218122104 0 0 0 0 +8618 1 1.0737 1 74.67684364790297 312.61820121008935 0 0 0 0 +8639 1 1.0727 1 90.20045730669513 301.9883597436316 0 0 0 0 +8644 1 1.0725 1 111.63117258400385 320.0517674513554 0 0 0 0 +8460 1 1.0839 1 65.70779994294791 292.3944713932042 0 0 0 0 +8704 1 1.0697 1 99.14371988490859 288.149042750737 0 0 0 0 +2632 1 1.9567 1 84.13683024218865 330.0183526206633 0 0 -1 0 +6228 1 1.2679 1 112.29447171791179 325.6767049706127 0 0 0 0 +8754 1 1.0666 1 85.57629293953892 306.8437091147365 0 0 0 0 +8758 1 1.0662 1 74.06546020494108 309.0419993479253 0 0 0 0 +8771 1 1.0649 1 98.35759887832127 317.8259512656777 0 0 0 0 +8193 1 1.1019 1 82.69814975967299 329.35947368931454 0 0 -1 0 +8345 1 1.0908 1 64.72905075681092 294.1145160783634 0 0 0 0 +8906 1 1.0572 1 91.88225265558214 306.80758399501457 0 0 0 0 +5004 1 1.4199 1 115.78387884746631 321.74354071521515 0 0 0 0 +8922 1 1.0564 1 67.88372941648991 295.8573171806212 0 0 0 0 +8948 1 1.0553 1 75.20812345201948 301.44842357798507 0 0 0 0 +8952 1 1.0551 1 90.74276854781925 304.0810252971739 0 0 0 0 +8684 1 1.0708 1 66.97434095567598 292.4195652315814 0 0 0 0 +9004 1 1.0525 1 101.57233480304772 287.2657893820407 0 0 0 0 +9036 1 1.0508 1 80.35387633673746 308.8216632314618 0 0 0 0 +9044 1 1.0501 1 105.92687107114436 303.4777585595164 0 0 0 0 +9915 1 1.0045 1 113.56031497284546 322.75784017901805 0 0 0 0 +9069 1 1.0488 1 87.28323326561413 301.23218610546996 0 0 0 0 +9075 1 1.0485 1 72.95001883909671 318.4324837954876 0 0 0 0 +9120 1 1.0462 1 80.42154434864655 327.6637104460019 0 0 0 0 +9124 1 1.046 1 96.46301511748368 297.10295104103716 0 0 0 0 +8986 1 1.0534 1 114.56837780162607 321.58984845294185 0 0 0 0 +9147 1 1.0448 1 69.73308040257639 309.30681544176485 0 0 0 0 +9157 1 1.0442 1 69.47969169659657 316.4584624737073 0 0 0 0 +5675 1 1.3295 1 116.64239955370266 306.34109143885325 0 0 0 0 +9272 1 1.038 1 66.9331204370535 308.67306722066655 0 0 0 0 +8140 1 1.1052 1 68.02737468063005 292.59199040223467 0 0 0 0 +9360 1 1.0329 1 106.29214794711301 294.05186794245225 0 0 0 0 +9388 1 1.0313 1 71.62026188684176 295.22297500411304 0 0 0 0 +9393 1 1.0312 1 80.96704316581369 297.58340410696644 0 0 0 0 +9402 1 1.0305 1 95.43587108859376 292.1980432683749 0 0 0 0 +9424 1 1.0294 1 97.70536692397289 304.9444614060078 0 0 0 0 +4109 1 1.5649 1 79.41756583729392 331.72056202679823 0 0 -1 0 +698 1 3.7864 1 82.07360417937285 331.8034927074558 0 0 -1 0 +4694 1 1.4655 1 98.19326593252275 331.79454997719597 0 0 0 0 +1880 1 2.3128 1 166.36337045156196 48.64949276794099 0 0 0 0 +54 1 12.7924 1 123.33823890777775 36.28996129421559 0 0 0 0 +70 1 11.237 1 128.8735054842639 25.8796864553814 0 0 0 0 +73 1 10.8403 1 138.14981344703355 60.84172249842901 0 0 0 0 +89 1 9.8868 1 139.90608312225143 47.459781457212145 0 0 0 0 +232 1 6.3213 1 148.63699940480475 45.74347175262723 0 0 0 0 +267 1 6.0344 1 163.6108244958719 56.624893317740785 0 0 0 0 +274 1 5.9759 1 146.00661330418401 58.20817323758647 0 0 0 0 +275 1 5.966 1 139.316681382811 33.08797434914881 0 0 0 0 +278 1 5.934 1 126.60831698373964 17.819295389900493 0 0 0 0 +8550 1 1.078 1 121.8830508909585 46.253649890523945 0 0 0 0 +1228 1 2.8791 1 170.53559048837485 62.80135168634707 0 0 0 0 +381 1 5.0592 1 136.4794997115547 28.41903177092997 0 0 0 0 +5935 1 1.3014 1 121.65951912018495 47.389793488830634 0 0 0 0 +453 1 4.6432 1 137.33569650910803 11.707187909662796 0 0 0 0 +468 1 4.5736 1 119.75835842852736 24.24342943698034 0 0 0 0 +9781 1 1.011 1 132.2833239701118 61.894144425689 0 0 0 0 +509 1 4.3332 1 134.47889378308898 15.042128235145316 0 0 0 0 +515 1 4.3165 1 144.13192026955699 41.829814477403566 0 0 0 0 +523 1 4.2856 1 131.75056878477665 37.492680859416566 0 0 0 0 +538 1 4.2385 1 135.51495374180865 41.149380569991045 0 0 0 0 +670 1 3.8449 1 125.19675643216485 44.345918338913044 0 0 0 0 +711 1 3.7641 1 155.4004709459318 50.81577357466115 0 0 0 0 +3903 1 1.6066 1 118.01245422857548 45.02370233431568 0 0 0 0 +749 1 3.6903 1 127.66216848589086 47.09454999592388 0 0 0 0 +3185 1 1.7691 1 123.90917567710001 52.74039557280947 0 0 0 0 +793 1 3.6059 1 157.92346771411147 54.645698585765224 0 0 0 0 +814 1 3.5511 1 126.37671797445296 51.95861097939889 0 0 0 0 +827 1 3.5202 1 133.28728377100902 33.99719070052659 0 0 0 0 +832 1 3.5011 1 136.336702785158 37.41880333900818 0 0 0 0 +852 1 3.456 1 153.46154572537958 55.655526060803304 0 0 0 0 +922 1 3.3102 1 150.36112112110973 56.77762538824859 0 0 0 0 +928 1 3.2984 1 133.41820520881345 48.185753398595956 0 0 0 0 +1050 1 3.0905 1 146.7777353602769 52.72716698352584 0 0 0 0 +1056 1 3.0829 1 150.54655900154276 49.94492740186509 0 0 0 0 +1113 1 2.9985 1 131.69743138686732 17.18414650489698 0 0 0 0 +9893 1 1.0054 1 127.67934021728946 12.871282201769404 0 0 0 0 +1162 1 2.9425 1 135.33230189495868 23.135680904797855 0 0 0 0 +1187 1 2.9214 1 131.0352356851973 52.556295563184555 0 0 0 0 +1196 1 2.9083 1 133.6257107255633 51.277936747467756 0 0 0 0 +1212 1 2.8963 1 135.41114926143587 53.48557386476759 0 0 0 0 +3677 1 1.6538 1 166.27159584683966 50.573414756316254 0 0 0 0 +1248 1 2.8511 1 143.8578577199819 52.404309503122875 0 0 0 0 +1270 1 2.8242 1 149.30328566890148 60.997167554180855 0 0 0 0 +1291 1 2.8022 1 133.59592800165245 30.963923584639364 0 0 0 0 +1323 1 2.7642 1 153.93962673757332 59.592948469345956 0 0 0 0 +1365 1 2.7228 1 154.8103560892502 47.722099202481736 0 0 0 0 +1371 1 2.7123 1 158.41435947792155 57.6740802189494 0 0 0 0 +1374 1 2.7089 1 147.64799854235068 50.04607585648537 0 0 0 0 +1441 1 2.6332 1 123.67211387062146 20.85244083715733 0 0 0 0 +1494 1 2.5842 1 130.58031438523219 47.96368945540205 0 0 0 0 +1520 1 2.5573 1 141.48452638993462 53.603773434516505 0 0 0 0 +4670 1 1.4692 1 119.56105877861026 44.88708306482157 0 0 0 0 +1548 1 2.534 1 137.56782827035107 16.4597718384885 0 0 0 0 +1573 1 2.5139 1 133.48925317290156 55.5304764924233 0 0 0 0 +1628 1 2.4694 1 147.32647424440083 40.89897895395305 0 0 0 0 +1734 1 2.4029 1 150.91991308625578 52.60345039653683 0 0 0 0 +1762 1 2.3763 1 165.38905685289353 60.35321762198228 0 0 0 0 +1775 1 2.3711 1 136.8376658643436 21.03725569045768 0 0 0 0 +9977 1 1.0014 1 124.52626219790854 56.09577454442951 0 0 0 0 +9768 1 1.0115 1 157.38706129757597 52.397569092075884 0 0 0 0 +1850 1 2.3308 1 139.14300145034397 37.140157967576734 0 0 0 0 +1866 1 2.3206 1 131.679184280807 19.801625982847774 0 0 0 0 +1878 1 2.3144 1 139.73790529012447 39.29106937143449 0 0 0 0 +1963 1 2.2624 1 152.30249612932815 47.96402344307498 0 0 0 0 +1988 1 2.2488 1 156.11455871498225 58.44898940373316 0 0 0 0 +2011 1 2.2327 1 145.82952394597444 39.13920682063212 0 0 0 0 +2070 1 2.198 1 137.89342930251885 23.277788568480624 0 0 0 0 +2091 1 2.1878 1 129.2520866274837 42.82749241299703 0 0 0 0 +8031 1 1.1128 1 169.12281753492803 50.33239068530366 0 0 0 0 +1531 1 2.546 1 120.34054814368683 54.391086115060986 0 0 0 0 +2106 1 2.1801 1 143.8390087988331 38.34430658009872 0 0 0 0 +9690 1 1.0159 1 121.8170061030602 55.346941842575085 0 0 0 0 +2161 1 2.1513 1 167.39225310396253 58.1297023095501 0 0 0 0 +2207 1 2.1329 1 134.5329896053529 18.445724933041866 0 0 0 0 +2208 1 2.1328 1 131.4916826477564 50.079191083802336 0 0 0 0 +2475 1 2.0186 1 124.92468426246926 54.283616304407396 0 0 0 0 +2323 1 2.0787 1 129.42128339977006 44.885077239731196 0 0 0 0 +9791 1 1.0101 1 130.10014087605467 34.906052411062184 0 0 0 0 +2368 1 2.0598 1 130.81919498864005 11.850140165930918 0 0 0 0 +2433 1 2.0333 1 129.5364641925417 50.65527344144881 0 0 0 0 +2449 1 2.0275 1 130.65939134392667 33.477167010865834 0 0 0 0 +2467 1 2.0231 1 143.52209486999473 36.28962654491053 0 0 0 0 +2919 1 1.8577 1 126.28622038173516 12.691536309198236 0 0 1 0 +2485 1 2.0149 1 129.1306237154503 13.192768265970347 0 0 0 0 +2503 1 2.0091 1 153.55506695538875 52.98315062649043 0 0 0 0 +2514 1 2.0056 1 134.14227743906412 44.72621114252367 0 0 0 0 +5551 1 1.3442 1 118.707876281122 43.82674609673959 0 0 0 0 +2562 1 1.9844 1 145.22889762412703 62.450087856466986 0 0 0 0 +2636 1 1.9551 1 141.23328727726104 40.77294780892468 0 0 0 0 +2710 1 1.926 1 127.84663601497476 49.79631903803344 0 0 0 0 +2716 1 1.9244 1 157.69676388204846 59.76607483960172 0 0 0 0 +2721 1 1.9229 1 131.27153853965459 42.38490971240287 0 0 0 0 +2730 1 1.9185 1 145.42507057615103 50.63469728302633 0 0 0 0 +2733 1 1.9173 1 157.38831818519733 48.8149659793996 0 0 0 0 +2777 1 1.9027 1 130.80267321078355 40.35256387753901 0 0 0 0 +2800 1 1.8936 1 152.61576758030574 51.31155013206837 0 0 0 0 +2834 1 1.8844 1 132.57052003987496 40.671586008010586 0 0 0 0 +2837 1 1.8831 1 158.08440030231924 46.92403714373072 0 0 0 0 +2844 1 1.8811 1 155.31741639547985 53.794748439052924 0 0 0 0 +2273 1 2.1053 1 121.29941795153944 44.80946195844184 0 0 0 0 +6120 1 1.2813 1 119.22890165926152 30.599006888783745 0 0 0 0 +2904 1 1.8621 1 142.62413630082432 56.35106335077047 0 0 0 0 +2935 1 1.8515 1 162.38313785164516 60.378670806590264 0 0 0 0 +2998 1 1.8332 1 149.78498466795796 54.33614075268176 0 0 0 0 +3076 1 1.8062 1 138.78268752666585 25.926264821723787 0 0 0 0 +3079 1 1.8056 1 149.14613797869285 41.8714201784786 0 0 0 0 +3089 1 1.8023 1 121.34290889305139 26.98505671908366 0 0 0 0 +3115 1 1.7913 1 139.4537100986259 41.24726898122114 0 0 0 0 +3124 1 1.7862 1 149.0124493899211 51.772083051254675 0 0 0 0 +3129 1 1.7847 1 121.24118405064632 28.75126619609869 0 0 0 0 +3131 1 1.784 1 167.31353681754794 60.96580447371483 0 0 0 0 +3188 1 1.7688 1 130.58863128899648 54.80295994100493 0 0 0 0 +3236 1 1.7559 1 126.11205146427729 49.304497895161376 0 0 0 0 +3252 1 1.7526 1 133.44917266860753 11.439052443057157 0 0 0 0 +1590 1 2.502 1 128.67616204817193 53.90604588948998 0 0 0 0 +3310 1 1.7376 1 131.3117234997472 44.812880304961496 0 0 0 0 +3335 1 1.7322 1 121.5590824177042 20.502336841197494 0 0 0 0 +3366 1 1.7246 1 122.79227901954818 23.894532237746397 0 0 0 0 +3416 1 1.7116 1 117.63985799936825 27.835421256652662 0 0 0 0 +3462 1 1.7006 1 133.136165498326 53.48491055704632 0 0 0 0 +3463 1 1.7006 1 137.93143221690661 18.520712093272916 0 0 0 0 +8218 1 1.1004 1 122.55825566625562 48.14388980622562 0 0 0 0 +3869 1 1.6133 1 120.56629320611836 46.460856366206094 0 0 0 0 +2268 1 2.1075 1 131.47885645797163 56.49404860345344 0 0 0 0 +5414 1 1.3615 1 169.79089199612167 56.634441792009355 0 0 0 0 +3607 1 1.6694 1 144.8797906121117 44.66505581184506 0 0 0 0 +3609 1 1.669 1 128.40805902114315 56.380135324950096 0 0 0 0 +3665 1 1.6571 1 129.09191539444046 40.60403845250698 0 0 0 0 +3671 1 1.6555 1 167.27728101085577 62.63951844849738 0 0 0 0 +3690 1 1.6513 1 150.4896651662585 59.183240573707714 0 0 0 0 +3716 1 1.6444 1 144.07264586216527 54.935746381001465 0 0 0 0 +358 1 5.2866 1 160.1903852506524 50.99119897404061 0 0 0 0 +6681 1 1.2238 1 159.17423746131783 47.973981838531465 0 0 0 0 +3761 1 1.6377 1 131.98552374078642 13.440350600498938 0 0 0 0 +3793 1 1.6315 1 136.46055111830017 25.091414072097386 0 0 0 0 +3860 1 1.6157 1 148.40142380922262 55.34760416448672 0 0 0 0 +3863 1 1.6152 1 119.64113462735843 29.22780394826818 0 0 0 0 +3880 1 1.6117 1 159.91539286890634 56.217488787421644 0 0 0 0 +3886 1 1.6103 1 129.81642820661187 15.985464168898591 0 0 0 0 +3908 1 1.6062 1 140.9903338791699 37.755034893561856 0 0 0 0 +3983 1 1.5898 1 133.5695003097191 20.03220873595606 0 0 0 0 +3998 1 1.5854 1 135.09836986581402 20.20573383036385 0 0 0 0 +1838 1 2.3361 1 118.71609256477615 42.09794077794842 0 0 0 0 +2587 1 1.9756 1 132.0497969264021 58.991601429246764 0 0 0 0 +1149 1 2.9551 1 129.7430724266985 58.224611597460516 0 0 0 0 +4162 1 1.5565 1 132.97667227840887 57.49147616856429 0 0 0 0 +4170 1 1.5551 1 138.1301079052045 42.117364009467785 0 0 0 0 +4279 1 1.5361 1 138.3374489945729 14.606177209028846 0 0 0 0 +4298 1 1.5326 1 168.87987657171817 61.347162213713865 0 0 0 0 +4319 1 1.5293 1 135.71047831135618 33.74377779588572 0 0 0 0 +4344 1 1.5238 1 160.33324397661843 58.48201784006191 0 0 0 0 +4385 1 1.5171 1 156.57805625785448 46.15740352968111 0 0 0 0 +6693 1 1.223 1 168.11527621684365 48.3067553404906 0 0 0 0 +3542 1 1.6847 1 124.51477222298062 49.792533189166384 0 0 0 0 +4419 1 1.5118 1 160.47462496633813 54.53151635600733 0 0 0 0 +4427 1 1.5099 1 130.16536985384516 18.69299601892739 0 0 0 0 +4504 1 1.4965 1 122.94956149320073 46.9386173661287 0 0 0 0 +8059 1 1.1105 1 167.15793858090495 56.52515220441981 0 0 0 0 +4521 1 1.4942 1 137.26411429258863 52.43058639374403 0 0 0 0 +4543 1 1.4906 1 122.2858793055849 22.37644298548902 0 0 0 0 +4561 1 1.4873 1 130.20939801654976 14.546240960795364 0 0 0 0 +4850 1 1.4413 1 122.88551610232722 45.519679019288084 0 0 0 0 +4590 1 1.4821 1 131.6039605297005 14.950231124333419 0 0 0 0 +4606 1 1.4795 1 138.47075663560452 54.735619278595074 0 0 0 0 +4683 1 1.4672 1 143.7376863157636 63.19209572261414 0 0 0 0 +4689 1 1.466 1 136.24704612034907 19.224690196372475 0 0 0 0 +4703 1 1.4644 1 126.9054759271562 42.39552858111147 0 0 0 0 +4819 1 1.446 1 151.88414751571432 43.70136787518299 0 0 0 0 +4839 1 1.4432 1 131.85441988285203 46.40898304398307 0 0 0 0 +4859 1 1.4402 1 128.80330757184754 14.879075462080511 0 0 0 0 +4869 1 1.438 1 127.65245188834783 14.070860981837766 0 0 0 0 +4880 1 1.4368 1 134.2681095068317 36.20646194506502 0 0 0 0 +4881 1 1.4364 1 156.57467724509038 56.71864747200565 0 0 0 0 +4883 1 1.4361 1 131.7519335840182 32.02110700643217 0 0 0 0 +6783 1 1.2146 1 131.58595269395965 10.433679819371836 0 0 0 0 +7789 1 1.1295 1 133.76195585861623 10.06746317998546 0 0 0 0 +5019 1 1.4178 1 135.5881755812762 43.91341253792537 0 0 0 0 +5024 1 1.4174 1 141.24865824897682 55.55947731146114 0 0 0 0 +6756 1 1.2178 1 168.28562144983286 56.73592723565193 0 0 0 0 +5120 1 1.3999 1 146.1563888700172 48.67234405803232 0 0 0 0 +5138 1 1.3978 1 139.63926058476287 52.98190547599053 0 0 0 0 +5151 1 1.3959 1 139.4358106801853 27.36903509327617 0 0 0 0 +5156 1 1.3952 1 127.66895219629328 43.550306935120474 0 0 0 0 +5194 1 1.3895 1 128.00951551068397 41.587125532486326 0 0 0 0 +5208 1 1.3878 1 135.2287873670696 32.32996547926964 0 0 0 0 +5210 1 1.3875 1 134.28407920922993 38.65664452606587 0 0 0 0 +7794 1 1.1291 1 165.01652729000295 53.37288489822903 0 0 0 0 +5247 1 1.3826 1 133.5651385532223 43.16270623067217 0 0 0 0 +3077 1 1.8058 1 160.79877146773057 47.60106191532505 0 0 0 0 +5321 1 1.3732 1 123.56254464455772 29.220186622412022 0 0 0 0 +9774 1 1.0113 1 159.14748480876932 59.419783807644365 0 0 0 0 +9946 1 1.0031 1 132.29601275707162 12.162572996441156 0 0 0 0 +9374 1 1.0323 1 121.45923756100883 53.06890076085461 0 0 0 0 +2235 1 2.121 1 122.62590473286066 54.06026283053198 0 0 0 0 +5505 1 1.3501 1 129.8278841866439 56.098010112527916 0 0 0 0 +5507 1 1.35 1 135.32885022003398 55.54268011223247 0 0 0 0 +5520 1 1.3489 1 118.96716142821117 27.089310102581187 0 0 0 0 +5584 1 1.3391 1 154.2676653794266 44.95287277023632 0 0 0 0 +5615 1 1.3356 1 120.18812839647481 21.142428612409816 0 0 0 0 +5636 1 1.3333 1 151.91773234536922 59.46475473053625 0 0 0 0 +5681 1 1.3288 1 163.76863860553732 61.15681837103544 0 0 0 0 +5766 1 1.3179 1 141.90914185610487 36.466233074823755 0 0 0 0 +5777 1 1.3163 1 136.25387908802185 35.03629515374783 0 0 0 0 +3630 1 1.6658 1 167.79136378009048 49.96792350495312 0 0 0 0 +1415 1 2.6661 1 126.3435779351043 56.06546599230158 0 0 0 0 +5873 1 1.3082 1 165.9561175153647 62.05262256016473 0 0 0 0 +5938 1 1.3012 1 129.66245521992755 39.272094180602664 0 0 0 0 +5969 1 1.2977 1 152.28555059248882 60.69138583705262 0 0 0 0 +5971 1 1.2974 1 151.31682708254428 54.63871329054767 0 0 0 0 +5979 1 1.2967 1 135.1039210506787 25.56723734261987 0 0 0 0 +5996 1 1.2951 1 154.5486113530152 57.7003418969566 0 0 0 0 +6012 1 1.2934 1 132.29767039043023 43.62631601936278 0 0 0 0 +6048 1 1.289 1 155.25709579864113 45.77736709246897 0 0 0 0 +6982 1 1.1958 1 168.99237373250367 57.65379131447869 0 0 0 0 +9968 1 1.0022 1 140.51517428993378 42.07792670379287 0 0 0 0 +3942 1 1.5992 1 120.1102390731228 43.43520328827726 0 0 0 0 +6191 1 1.2726 1 125.2591645255949 47.36115111975971 0 0 0 0 +6245 1 1.2657 1 138.18413474626172 19.928722081081315 0 0 0 0 +6254 1 1.2646 1 130.55177171664738 46.07844544560568 0 0 0 0 +6266 1 1.2634 1 139.68931428263528 54.19669161904295 0 0 0 0 +6271 1 1.2629 1 120.03808595628782 27.82599246874894 0 0 0 0 +6361 1 1.256 1 132.00858574887948 54.39632246102731 0 0 0 0 +6369 1 1.2552 1 155.76587291121172 55.66018052756567 0 0 0 0 +6375 1 1.2547 1 142.17547223888397 38.50995857445253 0 0 0 0 +6440 1 1.2481 1 162.7529771770243 53.081339786170666 0 0 0 0 +6530 1 1.2395 1 146.00484266818555 54.67784865405535 0 0 0 0 +6531 1 1.2395 1 152.09438480783942 58.21422833543786 0 0 0 0 +6718 1 1.2206 1 168.9760342964287 49.22799806616994 0 0 0 0 +6582 1 1.2338 1 124.25047037825493 46.668814178512775 0 0 0 0 +6586 1 1.2335 1 133.1000918088491 45.94876656555241 0 0 0 0 +6596 1 1.232 1 160.38406480437814 60.21567252084658 0 0 0 0 +6642 1 1.2279 1 140.69554739685535 36.37531966502715 0 0 0 0 +6649 1 1.2268 1 153.5456616796243 49.170395223839975 0 0 0 0 +6659 1 1.2264 1 156.6879105415086 47.47320395436032 0 0 0 0 +6672 1 1.2248 1 130.2004154981105 31.94193051412303 0 0 0 0 +7068 1 1.1884 1 126.87508893953932 54.245331084453824 0 0 0 0 +6732 1 1.2194 1 134.51876478252993 46.253502099456945 0 0 0 0 +3199 1 1.7664 1 121.59497066637375 51.752459147432575 0 0 0 0 +6778 1 1.2154 1 122.67485089037451 26.303779463633557 0 0 0 0 +614 1 3.9792 1 170.77404818875536 59.46118436216947 0 0 0 0 +6825 1 1.21 1 134.9486467213439 49.79025402999843 0 0 0 0 +3597 1 1.6717 1 117.75985257908577 21.916961671780488 0 0 0 0 +6844 1 1.2083 1 155.84457784792863 60.109467312804725 0 0 0 0 +6857 1 1.2069 1 153.1821362957483 45.55233302836663 0 0 0 0 +6874 1 1.2045 1 123.1490498695565 18.904243788778086 0 0 0 0 +6908 1 1.2013 1 129.32853936280594 32.78192823350436 0 0 0 0 +6919 1 1.2004 1 153.1822904192691 44.34883456923029 0 0 0 0 +3287 1 1.7439 1 118.93830255640312 46.32021893465391 0 0 0 0 +6952 1 1.1981 1 152.21304773066493 44.9508627961151 0 0 0 0 +464 1 4.6071 1 128.0157307080906 10.109374075268041 0 0 1 0 +7006 1 1.1938 1 129.52309511742885 19.78880770309496 0 0 0 0 +7051 1 1.1895 1 139.32724489852896 29.559893596753096 0 0 0 0 +7062 1 1.189 1 135.78178902609693 17.407969560697897 0 0 0 0 +7097 1 1.1862 1 123.57099359874563 22.70964463977055 0 0 0 0 +7107 1 1.1852 1 132.79688754688175 42.16648427915568 0 0 0 0 +7183 1 1.1796 1 139.87810190133987 28.55455521951812 0 0 0 0 +7194 1 1.1785 1 138.3061956809488 40.291514009151626 0 0 0 0 +8829 1 1.0617 1 117.97506578701012 40.58996603647078 0 0 0 0 +7276 1 1.1728 1 142.65594995400113 34.3388434327933 0 0 0 0 +8506 1 1.0805 1 123.83968892340084 55.335228903034555 0 0 0 0 +7297 1 1.1709 1 125.3460448523341 14.673396520158361 0 0 0 0 +7309 1 1.1696 1 137.2018174360728 54.43081391377573 0 0 0 0 +7363 1 1.1644 1 161.29557431917138 59.377668771539426 0 0 0 0 +7365 1 1.1642 1 140.04723474728272 55.244704532627225 0 0 0 0 +7366 1 1.1642 1 146.52489269253346 61.651980768973985 0 0 0 0 +7409 1 1.1604 1 126.40183213374685 14.257168558324368 0 0 0 0 +7411 1 1.1603 1 137.9035497350009 53.57005053868515 0 0 0 0 +7461 1 1.1562 1 152.19319329110735 53.78205977804915 0 0 0 0 +7487 1 1.1537 1 145.06778620205222 53.97058557783567 0 0 0 0 +7535 1 1.1499 1 152.61966895878456 49.82492227266027 0 0 0 0 +7559 1 1.1472 1 122.98424983298763 43.20785521255693 0 0 0 0 +7607 1 1.1436 1 152.29002236461704 46.2737215982682 0 0 0 0 +7717 1 1.1353 1 137.08160987632482 14.549455741905206 0 0 0 0 +7760 1 1.1315 1 137.79071132431585 24.90585242496419 0 0 0 0 +7766 1 1.1311 1 128.66293319044144 31.934543557434427 0 0 0 0 +5355 1 1.369 1 169.49447918243672 48.135798308506466 0 0 0 0 +6927 1 1.1997 1 134.68463978411862 10.668336648947236 0 0 0 0 +7851 1 1.1249 1 129.1064370678928 49.01589312220491 0 0 0 0 +7905 1 1.1209 1 127.77066576685961 44.74779921574213 0 0 0 0 +7923 1 1.1194 1 138.38433659618164 21.729027561667063 0 0 0 0 +7958 1 1.1172 1 168.59875427691924 62.57027818239944 0 0 0 0 +9738 1 1.0132 1 130.58710779625014 43.6721579741376 0 0 0 0 +7991 1 1.115 1 136.6738678713924 18.0309259049407 0 0 0 0 +7995 1 1.1148 1 119.01419532969146 21.378217003014992 0 0 0 0 +7997 1 1.1147 1 137.57030643048546 39.382067694916 0 0 0 0 +8004 1 1.1142 1 136.22282867020107 51.653963073930285 0 0 0 0 +8007 1 1.1141 1 148.35528683002514 54.04771294922207 0 0 0 0 +8017 1 1.1136 1 131.16502707799467 34.91065865712845 0 0 0 0 +8026 1 1.1131 1 132.67360602301594 10.121674197623776 0 0 0 0 +8033 1 1.1127 1 148.95024559562452 53.1576403621458 0 0 0 0 +8034 1 1.1126 1 156.46744361039273 52.90294925588126 0 0 0 0 +4017 1 1.58 1 119.99282927088922 52.39391618147978 0 0 0 0 +8102 1 1.1074 1 130.65363399852043 13.382712645247926 0 0 0 0 +8111 1 1.1071 1 161.55533429228345 53.798176492253226 0 0 0 0 +8164 1 1.1035 1 122.63822726228844 28.400785895782313 0 0 0 0 +331 1 5.4684 1 168.28649396141176 53.45202792931705 0 0 0 0 +4 1 57.8938 1 167.67647693012017 18.659648451552865 0 0 0 0 +8297 1 1.0948 1 141.51074547246137 42.24609277570995 0 0 0 0 +8301 1 1.0946 1 135.5516571073791 50.784360066258465 0 0 0 0 +8309 1 1.094 1 151.21207957147806 61.118226849374416 0 0 0 0 +8310 1 1.0938 1 142.4048611895929 39.68457599853027 0 0 0 0 +8356 1 1.0904 1 134.5441781221754 12.336436194491311 0 0 0 0 +8389 1 1.088 1 132.8180018452121 21.140312476668267 0 0 0 0 +8575 1 1.0767 1 122.83390442230547 55.57900437210918 0 0 0 0 +8445 1 1.0847 1 145.3730990105393 47.73326813914326 0 0 0 0 +8448 1 1.0844 1 144.14822132867508 61.21749317486781 0 0 0 0 +8467 1 1.0833 1 132.98570806244078 18.75393353614453 0 0 0 0 +8470 1 1.0831 1 153.1808096581006 57.86577134557342 0 0 0 0 +1129 1 2.977 1 164.2224329438028 51.52064298304335 0 0 0 0 +8490 1 1.0816 1 136.43644357245282 55.17094164765256 0 0 0 0 +2846 1 1.8806 1 123.37311614454764 51.09427599728128 0 0 0 0 +8101 1 1.1074 1 122.758577417048 44.271570289876855 0 0 0 0 +8648 1 1.0723 1 140.40628426931832 29.760077887875305 0 0 0 0 +8657 1 1.0719 1 145.06878314443668 49.20666186027044 0 0 0 0 +8674 1 1.0712 1 142.72877079622353 54.90098469987262 0 0 0 0 +8681 1 1.0709 1 142.0624944896519 35.28607480503196 0 0 0 0 +8811 1 1.0627 1 133.44950741074635 39.523502135496386 0 0 0 0 +8812 1 1.0626 1 159.54112924398115 46.93940013685461 0 0 0 0 +8826 1 1.0617 1 138.4912873385454 52.69327983909232 0 0 0 0 +9993 1 1.0003 1 136.0495289516177 31.46255486420223 0 0 0 0 +9852 1 1.0074 1 163.74426673290228 60.05987550734776 0 0 0 0 +8886 1 1.058 1 130.0636569342887 41.53014850016247 0 0 0 0 +8901 1 1.0574 1 134.29278502317456 21.23787553063221 0 0 0 0 +8961 1 1.0548 1 121.15911768643225 21.820792325635765 0 0 0 0 +8707 1 1.0694 1 131.49291181318787 60.852945248339005 0 0 0 0 +8981 1 1.0536 1 145.200271881391 46.69196531708298 0 0 0 0 +8994 1 1.053 1 141.39549865972418 39.30747278493874 0 0 0 0 +9070 1 1.0487 1 122.3911901325827 25.215713944416606 0 0 0 0 +9100 1 1.047 1 133.11513926206283 12.76152147607857 0 0 0 0 +9143 1 1.0449 1 154.1325429436598 46.064327028256926 0 0 0 0 +9156 1 1.0442 1 153.28963133998244 46.659651230668935 0 0 0 0 +9162 1 1.044 1 147.1426556363003 54.781490124502575 0 0 0 0 +9178 1 1.043 1 132.66012318778678 44.77349841485555 0 0 0 0 +9258 1 1.0389 1 133.66128528371382 22.059279277645736 0 0 0 0 +9297 1 1.0367 1 155.35248917822483 56.8621422808495 0 0 0 0 +3193 1 1.7675 1 164.38189365564705 48.3030960039967 0 0 0 0 +9389 1 1.0313 1 122.41285764830528 29.46686711795835 0 0 0 0 +3106 1 1.796 1 124.0024866804654 48.15916317039362 0 0 0 0 +9422 1 1.0295 1 166.91749240348608 59.62841164860264 0 0 0 0 +4885 1 1.4354 1 121.57598469611638 43.11700059125807 0 0 0 0 +7289 1 1.1717 1 128.73997362295458 52.06240333828023 0 0 0 0 +9570 1 1.022 1 147.57423261590733 61.75420058187337 0 0 0 0 +9586 1 1.0215 1 142.53027620486486 37.439844758974324 0 0 0 0 +2605 1 1.9658 1 162.54544186152188 48.24772196018256 0 0 0 0 +9602 1 1.0205 1 138.25964535913147 38.56669568467462 0 0 0 0 +9636 1 1.0187 1 118.37806236122037 28.95900433462379 0 0 0 0 +454 1 4.6379 1 119.51052003595613 49.359313306417924 0 0 0 0 +9668 1 1.0171 1 125.47302563769702 13.701329918733254 0 0 0 0 +9673 1 1.0169 1 122.93664967988697 27.386514519279253 0 0 0 0 +8385 1 1.0882 1 122.08102396803059 50.47145602590108 0 0 0 0 +3756 1 1.6389 1 146.9654414304481 62.92509643596926 0 0 0 0 +9702 1 1.0151 1 139.54525075521434 9.963732940957883 0 0 0 0 +9718 1 1.0143 1 148.20573422220912 62.529285000346654 0 0 0 0 +5435 1 1.3585 1 168.14872295692894 59.681872397526426 0 0 0 0 +9242 1 1.0398 1 127.64631118239258 57.633968095841716 0 0 0 0 +3675 1 1.6543 1 122.89200693622834 49.429916647502935 0 0 0 0 +8788 1 1.0641 1 117.44944773968932 43.19609340636101 0 0 0 0 +9 1 36.512 1 157.36445067901158 78.85880289605412 0 0 0 0 +34 1 17.4454 1 123.80700467852353 101.67611394608247 0 0 0 0 +112 1 9.3152 1 142.51639439817714 106.02363031845178 0 0 0 0 +119 1 9.0933 1 153.3366537239324 112.46442295779381 0 0 0 0 +13 1 31.1484 1 118.72375939238759 71.07337945745604 0 0 0 0 +152 1 7.5919 1 135.63686941285198 91.97681985300733 0 0 0 0 +3829 1 1.6207 1 131.62403755656342 111.44704972111447 0 0 0 0 +6802 1 1.2125 1 141.61270773624258 68.52274766989842 0 0 0 0 +224 1 6.4204 1 136.95012344512241 85.15511162162494 0 0 0 0 +258 1 6.1555 1 170.28248589746977 112.48889593147882 0 0 0 0 +277 1 5.9483 1 136.38113995241437 76.19083800658636 0 0 0 0 +279 1 5.9326 1 138.31565218364176 69.82242419094958 0 0 0 0 +295 1 5.8053 1 151.42188866794646 105.45172591718674 0 0 0 0 +1501 1 2.5766 1 165.60547259503016 108.92851198268993 0 0 0 0 +317 1 5.5666 1 129.3425317362222 90.36240347067911 0 0 0 0 +390 1 4.9878 1 141.9882410568099 98.23541346699457 0 0 0 0 +428 1 4.7669 1 147.90776207372477 101.69359912323146 0 0 0 0 +435 1 4.7179 1 162.61313151688339 103.29976428420632 0 0 0 0 +471 1 4.5402 1 155.72803847199577 102.76028402656617 0 0 0 0 +4753 1 1.4559 1 127.65128018455351 110.2915729478471 0 0 0 0 +517 1 4.3124 1 134.535357659291 107.3633312691081 0 0 0 0 +537 1 4.2398 1 166.9730874278567 103.82451354681662 0 0 0 0 +551 1 4.196 1 152.5744849208852 98.50161760478939 0 0 0 0 +563 1 4.1677 1 143.6549113255289 113.02388068114352 0 0 0 0 +9531 1 1.0241 1 122.8610821355293 92.51246427232822 0 0 0 0 +628 1 3.9394 1 136.28363384647344 101.46329838948324 0 0 0 0 +3873 1 1.6128 1 136.64234104574274 114.52701149140482 0 0 0 0 +8733 1 1.068 1 134.4296709310123 87.87531679420442 0 0 0 0 +9463 1 1.0276 1 132.47467796120392 104.81401634965387 0 0 0 0 +5849 1 1.3101 1 162.54039885373214 110.8368928947219 0 0 0 0 +759 1 3.6578 1 124.72334817247099 91.12723063718893 0 0 0 0 +773 1 3.6412 1 156.45213100414972 98.81476636992129 0 0 0 0 +776 1 3.6351 1 161.54249755944986 99.32529688808981 0 0 0 0 +762 1 3.6529 1 122.29270441927002 112.11337478820957 0 0 0 0 +909 1 3.335 1 147.86254987495425 97.7475072179961 0 0 0 0 +921 1 3.3116 1 160.92629534784027 107.44509117723092 0 0 0 0 +950 1 3.245 1 130.32775963331133 83.60538560421219 0 0 0 0 +9338 1 1.0342 1 127.94376358993195 87.38903448581105 0 0 0 0 +1017 1 3.1516 1 135.5871866078729 97.25617418364337 0 0 0 0 +1027 1 3.1396 1 141.76806974987844 94.24494632368288 0 0 0 0 +9630 1 1.0191 1 166.46696640285532 101.35281896043345 0 0 0 0 +1052 1 3.0895 1 140.8488272921564 91.35623750921891 0 0 0 0 +607 1 3.9975 1 147.84823214380933 116.99013603985327 0 0 0 0 +1070 1 3.0615 1 140.18087007860427 111.67066488300328 0 0 0 0 +1095 1 3.0236 1 136.58760190677174 112.24269909506454 0 0 0 0 +1145 1 2.9663 1 131.74923416353616 95.45480627648662 0 0 0 0 +3642 1 1.664 1 130.17969449347288 114.22328687068136 0 0 0 0 +9289 1 1.0373 1 136.065190911118 110.32272491989423 0 0 0 0 +1334 1 2.755 1 147.6783645104312 110.83288606430844 0 0 0 0 +1356 1 2.7315 1 145.45614348344085 95.94296273090072 0 0 0 0 +1411 1 2.6689 1 138.24159896557353 98.19727393506554 0 0 0 0 +7954 1 1.1175 1 169.04947965467576 105.45908559417762 0 0 0 0 +1444 1 2.6288 1 129.41332320613338 86.3419658674523 0 0 0 0 +1493 1 2.5842 1 158.73936382493255 104.48991761303596 0 0 0 0 +1503 1 2.5733 1 123.84196215947547 88.16755229387084 0 0 0 0 +1519 1 2.5581 1 132.71223548140145 80.42707279761204 0 0 0 0 +7206 1 1.1777 1 132.22922309599315 105.87882615355578 0 0 0 0 +5788 1 1.3155 1 140.9990708723535 67.42971937535985 0 0 0 0 +8514 1 1.0801 1 124.56050440896034 112.72506423863368 0 0 0 0 +4833 1 1.4446 1 137.81322805994503 79.52249940229422 0 0 0 0 +6460 1 1.2468 1 167.10089202195218 110.08051048289342 0 0 0 0 +1641 1 2.458 1 133.1726820609474 98.54735916909789 0 0 0 0 +5676 1 1.3294 1 130.55935262162652 108.12082911614061 0 0 0 0 +1646 1 2.4555 1 133.36174441719177 114.2515012963882 0 0 0 0 +1698 1 2.4259 1 132.59854208537848 85.17446060459417 0 0 0 0 +6151 1 1.278 1 131.55390804739042 114.65132873897686 0 0 0 0 +5987 1 1.2961 1 163.21969834213263 96.81871998632892 0 0 0 0 +1724 1 2.4098 1 147.9366161529548 108.14288007891936 0 0 0 0 +8211 1 1.1007 1 133.12649288396514 112.49576833210303 0 0 0 0 +1794 1 2.3604 1 125.41030783036308 86.323315105584 0 0 0 0 +1798 1 2.356 1 151.38372802102973 101.44162150693762 0 0 0 0 +3352 1 1.7275 1 126.5063130595677 111.93986417128116 0 0 0 0 +6929 1 1.1997 1 128.7245855676913 109.52217819334031 0 0 0 0 +1338 1 2.7493 1 163.85019238161084 106.7375404659612 0 0 0 0 +9255 1 1.0391 1 132.39341775840683 89.05283158589738 0 0 0 0 +8931 1 1.056 1 139.31938958124837 89.68977295263066 0 0 0 0 +255 1 6.1632 1 166.76669737057983 97.8815299515108 0 0 0 0 +7241 1 1.1746 1 126.37929661814178 110.558287764137 0 0 0 0 +2448 1 2.0279 1 134.78497382491395 81.39022751313279 0 0 0 0 +2568 1 1.9833 1 137.26592505132288 104.15963517733844 0 0 0 0 +9711 1 1.0146 1 135.39701651542865 113.77736648259875 0 0 0 0 +2614 1 1.9619 1 134.6138167736958 110.45848032630008 0 0 0 0 +2615 1 1.9615 1 166.13780458366074 106.76237748744877 0 0 0 0 +2648 1 1.9487 1 157.20378911484127 106.10976605639968 0 0 0 0 +2681 1 1.9374 1 133.44023208526434 101.79764294948696 0 0 0 0 +1542 1 2.5362 1 167.00512185176274 116.9732190690894 0 0 0 0 +8274 1 1.0966 1 131.5630227046099 110.12302717271628 0 0 0 0 +3519 1 1.6897 1 128.56760102439802 113.86176068088206 0 0 0 0 +2729 1 1.9189 1 131.83162661166966 87.68270296187076 0 0 0 0 +2642 1 1.9521 1 124.88920062263384 111.247191799584 0 0 0 0 +2770 1 1.9061 1 143.24219778123668 91.77727625242271 0 0 0 0 +8726 1 1.0682 1 157.87340195197672 114.66977794633463 0 0 0 0 +2868 1 1.8726 1 127.99941007081173 84.66168109798328 0 0 0 0 +2856 1 1.8776 1 131.5690067330524 113.12780234096537 0 0 0 0 +4155 1 1.5572 1 119.06077544638735 115.82724394463213 0 0 0 0 +8877 1 1.0587 1 123.70736038254435 86.37034590356384 0 0 0 0 +2993 1 1.8353 1 145.45140275773883 110.69084318914386 0 0 0 0 +2995 1 1.8342 1 159.02055433639862 97.91537956043074 0 0 0 0 +3006 1 1.8272 1 157.91208471518138 107.83489449838738 0 0 0 0 +9292 1 1.0369 1 134.73094409192504 104.21747969965598 0 0 0 0 +3011 1 1.8248 1 126.6421875178037 87.91450256223408 0 0 0 0 +9040 1 1.0504 1 126.60840959900767 85.10979852088813 0 0 0 0 +3187 1 1.7689 1 131.92228798367526 108.77468826756049 0 0 0 0 +8786 1 1.0641 1 160.33788604876474 97.36248388888191 0 0 0 0 +2280 1 2.1032 1 168.11981055109598 106.7164732392975 0 0 0 0 +3234 1 1.7565 1 156.1255534830078 107.79475248562602 0 0 0 0 +3267 1 1.7481 1 137.40727451405292 110.04914395468894 0 0 0 0 +3314 1 1.7362 1 145.44433954261112 93.73270441609503 0 0 0 0 +1576 1 2.512 1 139.6060518846089 114.288998832995 0 0 0 0 +9518 1 1.0249 1 142.31624348686708 67.67774833032607 0 0 0 0 +3331 1 1.7327 1 126.78291795328619 92.7386108275689 0 0 0 0 +1999 1 2.2428 1 169.23171685570148 108.48137358273064 0 0 0 0 +9922 1 1.0042 1 138.6795611669311 78.73449309013088 0 0 0 0 +3425 1 1.7102 1 140.24928560829144 101.05636411144518 0 0 0 0 +8663 1 1.0716 1 129.62109889855424 108.85432795479494 0 0 0 0 +8874 1 1.0588 1 147.6742042598149 104.7106570209257 0 0 0 0 +4977 1 1.4232 1 168.6891476369522 63.7756766250718 0 0 0 0 +3574 1 1.675 1 133.41789174426845 87.01526028206243 0 0 0 0 +3628 1 1.6663 1 158.7644937623438 102.23717582487431 0 0 0 0 +3783 1 1.6332 1 163.88746023593163 100.43590159720706 0 0 0 0 +9540 1 1.0237 1 159.79254754427177 103.05555339758953 0 0 0 0 +3698 1 1.6474 1 165.16628990984984 101.44030818613804 0 0 0 0 +3711 1 1.6447 1 140.31669978971874 87.25484193961303 0 0 0 0 +3774 1 1.6347 1 158.95018371131468 99.60238270942493 0 0 0 0 +9081 1 1.0481 1 136.6197165721478 99.03979004816475 0 0 0 0 +3807 1 1.6278 1 143.91797353315928 100.79633034617596 0 0 0 0 +9324 1 1.0348 1 136.24698882664813 109.34181213787664 0 0 0 0 +7351 1 1.1657 1 120.06318037319755 111.24112277110859 0 0 0 0 +3296 1 1.7412 1 121.155318775957 114.50156260683872 0 0 0 0 +3940 1 1.6002 1 148.36672274169928 114.3116093956261 0 0 0 0 +3989 1 1.5889 1 131.2663324242465 93.29751625272102 0 0 0 0 +4046 1 1.5752 1 146.52265577950072 113.19853367370885 0 0 0 0 +9720 1 1.0142 1 169.87339343031834 100.62272775388232 0 0 0 0 +4091 1 1.5681 1 133.05917795746313 103.46582249254706 0 0 0 0 +4114 1 1.5638 1 127.34257551293643 86.2421366729464 0 0 0 0 +6070 1 1.2866 1 127.112489092229 114.14986930077404 0 0 0 0 +4158 1 1.5566 1 159.08928660145057 109.01683804736024 0 0 0 0 +2873 1 1.8699 1 144.78814822338157 64.4106621678246 0 0 0 0 +9468 1 1.0275 1 144.8598566261566 97.65381718104048 0 0 0 0 +4224 1 1.5463 1 147.91874065814068 95.34299817930457 0 0 0 0 +4250 1 1.5422 1 154.55808340716854 107.31793058779398 0 0 0 0 +4322 1 1.5286 1 158.01664659897665 100.84180298821538 0 0 0 0 +4333 1 1.5262 1 135.01068810595177 71.45269489101001 0 0 0 0 +4359 1 1.5216 1 135.0024999229017 79.65215364983828 0 0 0 0 +4389 1 1.5166 1 147.87225048839593 106.05779954004322 0 0 0 0 +8177 1 1.1027 1 154.55689269827297 100.2207823539527 0 0 0 0 +8602 1 1.0748 1 156.95192839548022 108.91077798964925 0 0 0 0 +9770 1 1.0115 1 133.54906085233077 83.78925108485399 0 0 0 0 +6193 1 1.2724 1 133.9146380877433 82.74794094279213 0 0 0 0 +9963 1 1.0023 1 158.33640845183228 112.55333877086693 0 0 0 0 +4597 1 1.4807 1 133.1037001631288 111.21196320416657 0 0 0 0 +4617 1 1.4787 1 139.47384857030443 94.38221870178887 0 0 0 0 +4625 1 1.4776 1 148.07272449459225 112.85610277415637 0 0 0 0 +4631 1 1.4767 1 149.77300102707403 108.61978757527321 0 0 0 0 +7316 1 1.1691 1 130.60202813548128 109.34483555157966 0 0 0 0 +4719 1 1.4608 1 144.0523795938113 94.40826901360545 0 0 0 0 +8035 1 1.1125 1 137.04568224921508 66.6310132296071 0 0 0 0 +9542 1 1.0237 1 137.37537109249263 105.61954087763304 0 0 0 0 +4540 1 1.491 1 170.19394634966784 92.76277529320058 0 0 0 0 +4875 1 1.4372 1 149.29806250848745 95.94507121354525 0 0 0 0 +9689 1 1.016 1 142.06671351153167 111.08468797831097 0 0 0 0 +4923 1 1.4292 1 160.4192856660556 114.84079991284469 0 0 0 0 +4933 1 1.4281 1 136.48214812208818 81.2878402858378 0 0 0 0 +4968 1 1.424 1 150.57026143879344 96.56056196652403 0 0 0 0 +8889 1 1.0579 1 167.09681149809393 107.89866042995176 0 0 0 0 +5035 1 1.4156 1 135.76033660638245 104.82084806343713 0 0 0 0 +5094 1 1.4049 1 138.7778832186902 102.27524278551647 0 0 0 0 +9743 1 1.013 1 157.31704283484908 115.5265254893302 0 0 0 0 +5199 1 1.3885 1 133.6609653400276 104.73371315855361 0 0 0 0 +8725 1 1.0683 1 139.8040510117009 93.15286641103037 0 0 0 0 +5251 1 1.3817 1 138.6041177241564 73.4060487221945 0 0 0 0 +4938 1 1.4274 1 128.02121023126443 111.67326001042329 0 0 0 0 +5302 1 1.3757 1 159.52146203659333 115.86186990401669 0 0 0 0 +5317 1 1.3736 1 137.25839584076525 106.77350742902664 0 0 0 0 +5356 1 1.369 1 133.09118942242026 109.80091528957011 0 0 0 0 +5402 1 1.3631 1 158.81516134937033 106.46017201913565 0 0 0 0 +5426 1 1.3595 1 155.60309908849953 106.34991264876231 0 0 0 0 +5440 1 1.3579 1 139.34780005037595 99.8456741481462 0 0 0 0 +5503 1 1.3503 1 158.52706460914396 113.70159268646029 0 0 0 0 +9109 1 1.0468 1 138.2490134605004 111.12393266882806 0 0 0 0 +5597 1 1.3377 1 157.78039467557932 109.75065860152993 0 0 0 0 +5622 1 1.3345 1 146.7828815180653 94.47827184198631 0 0 0 0 +5647 1 1.3326 1 139.07220993664168 96.4281825054052 0 0 0 0 +5658 1 1.3318 1 133.7954272241787 95.98707238195097 0 0 0 0 +5700 1 1.3258 1 160.43205130484102 105.27373367557001 0 0 0 0 +9332 1 1.0345 1 137.04018142910525 108.71606594765618 0 0 0 0 +9729 1 1.0138 1 139.64815171847604 72.96836427023877 0 0 0 0 +5572 1 1.3411 1 168.78771265020163 101.62754195371672 0 0 0 0 +5810 1 1.3136 1 132.54538202774052 83.27739330758037 0 0 0 0 +5816 1 1.3128 1 138.91107169498585 109.90463175799256 0 0 0 0 +9328 1 1.0346 1 132.92419877833373 82.18551139606461 0 0 0 0 +5826 1 1.3118 1 158.37735366763405 111.39928923951932 0 0 0 0 +8753 1 1.0666 1 149.12760442364882 109.66301991438063 0 0 0 0 +5851 1 1.31 1 140.1289183338692 95.69594583510121 0 0 0 0 +5881 1 1.307 1 139.67404787293898 88.5279949960524 0 0 0 0 +4725 1 1.4596 1 136.44001943595472 79.87730268172469 0 0 0 0 +3888 1 1.6102 1 131.60724461210788 107.11606930174955 0 0 0 0 +8522 1 1.0797 1 138.51609591278503 112.88300384361926 0 0 0 0 +1821 1 2.3444 1 163.1891000098967 109.12879323211912 0 0 0 0 +9886 1 1.0057 1 133.08372929251027 96.87205572156176 0 0 0 0 +1500 1 2.5783 1 164.4348642049858 111.19488640736223 0 0 0 0 +6079 1 1.2856 1 138.45453196632297 88.64284190553776 0 0 0 0 +6141 1 1.2796 1 133.30743823937775 78.02881460672704 0 0 0 0 +6144 1 1.2793 1 134.12954744143005 100.11009644675416 0 0 0 0 +6146 1 1.2792 1 143.50471660722462 95.58557291107844 0 0 0 0 +6305 1 1.2607 1 167.998664386643 94.41014325168045 0 0 0 0 +6172 1 1.275 1 134.20959183734905 111.99234172138198 0 0 0 0 +3138 1 1.7819 1 161.34691818148193 109.8717592212042 0 0 0 0 +6216 1 1.2698 1 150.32908791379734 99.97355341111553 0 0 0 0 +9460 1 1.0277 1 131.89941574915935 82.16490281441163 0 0 0 0 +9790 1 1.0101 1 146.0333978895273 111.99500022043661 0 0 0 0 +2132 1 2.1636 1 138.2488302888853 81.1784768528697 0 0 0 0 +6376 1 1.2545 1 152.92403310290206 102.28361195158863 0 0 0 0 +6394 1 1.2521 1 135.56136533240056 72.70597978309632 0 0 0 0 +6447 1 1.2478 1 141.74884347704722 89.41325728569775 0 0 0 0 +6451 1 1.2474 1 138.79517053776132 100.98272746135868 0 0 0 0 +9228 1 1.0406 1 170.34706264862 97.93297080040797 0 0 0 0 +6473 1 1.2457 1 169.05521000966374 95.01961415544697 0 0 0 0 +6483 1 1.245 1 134.38561812088008 103.15553455311776 0 0 0 0 +6501 1 1.2432 1 146.0143984870244 99.43112369261073 0 0 0 0 +765 1 3.651 1 160.61078533540262 112.38078837720913 0 0 0 0 +6569 1 1.2357 1 146.9873879842209 114.52509237085432 0 0 0 0 +7188 1 1.1793 1 159.92169760105128 110.08119881988117 0 0 0 0 +6611 1 1.2309 1 138.4960218479807 95.30859066899964 0 0 0 0 +6734 1 1.2193 1 145.69263038324186 98.30238608489914 0 0 0 0 +6764 1 1.2169 1 159.35686806117707 100.9362314697629 0 0 0 0 +6795 1 1.2128 1 122.20763758015912 86.93442141724223 0 0 0 0 +7686 1 1.1373 1 162.04504987082007 97.04423458151227 0 0 0 0 +6939 1 1.1991 1 145.24606088313232 100.35578367004017 0 0 0 0 +6961 1 1.1975 1 132.9657395013009 100.3357076322306 0 0 0 0 +7018 1 1.1923 1 137.63611128829186 96.30599590613596 0 0 0 0 +9879 1 1.006 1 141.54111050164934 115.05103223116352 0 0 0 0 +9210 1 1.0413 1 168.13487466294737 109.66235732282877 0 0 0 0 +5078 1 1.408 1 169.12629384336506 93.71294579886495 0 0 0 0 +7174 1 1.1803 1 141.14560322587872 88.36577369504217 0 0 0 0 +7196 1 1.1784 1 131.25615659263178 86.28482019515289 0 0 0 0 +7201 1 1.1779 1 140.54978153202345 89.32388704978314 0 0 0 0 +7219 1 1.1765 1 160.39674743036005 101.42819339085395 0 0 0 0 +6746 1 1.2185 1 169.72828463811322 106.3884182061252 0 0 0 0 +7266 1 1.1733 1 143.6255174507585 93.21640600086982 0 0 0 0 +1180 1 2.9277 1 135.08603737418196 66.84801988011964 0 0 0 0 +9672 1 1.017 1 159.1172487942799 114.73308034179556 0 0 0 0 +9431 1 1.0292 1 165.68097072647214 112.48184629042292 0 0 0 0 +5623 1 1.3344 1 170.22972565121535 99.09054682604157 0 0 0 0 +1490 1 2.5889 1 163.41865830733434 113.50974676267177 0 0 0 0 +7450 1 1.1567 1 138.1850015275672 108.88559929481603 0 0 0 0 +1987 1 2.2495 1 129.72038939220548 112.33253757654226 0 0 0 0 +7512 1 1.1517 1 146.5681524269185 109.27333130831255 0 0 0 0 +8865 1 1.0591 1 145.8780429863752 114.35201152149887 0 0 0 0 +7572 1 1.1462 1 131.13477131379403 81.39741489603453 0 0 0 0 +9301 1 1.0364 1 138.2153415340319 100.01041194106996 0 0 0 0 +4394 1 1.5158 1 134.80015604038175 68.9942828188071 0 0 0 0 +7613 1 1.1432 1 134.99383781347026 99.29158764860628 0 0 0 0 +5245 1 1.3828 1 128.99077645552003 110.71758779483808 0 0 0 0 +7689 1 1.1372 1 145.03886429001793 101.49601610773199 0 0 0 0 +7045 1 1.1897 1 120.69512192124178 110.34928731331183 0 0 0 0 +7712 1 1.1354 1 126.18681122963886 89.28296273554311 0 0 0 0 +7724 1 1.1347 1 149.88002381493743 98.85251599145268 0 0 0 0 +7784 1 1.1301 1 134.66363453947883 113.05439238225456 0 0 0 0 +7791 1 1.1293 1 154.85020586455448 105.41424236550473 0 0 0 0 +7826 1 1.1272 1 144.5651033847874 92.6105873903792 0 0 0 0 +7876 1 1.1231 1 133.88170021936187 79.03422692850064 0 0 0 0 +9243 1 1.0398 1 120.35152665195339 113.40805688979846 0 0 0 0 +7994 1 1.1149 1 158.83520353660873 110.31471242955757 0 0 0 0 +6638 1 1.2287 1 164.27117400471747 116.6952646245758 0 0 0 0 +8036 1 1.1125 1 144.85908762205173 99.24360216993924 0 0 0 0 +8153 1 1.1045 1 137.6827739038874 107.8965099274086 0 0 0 0 +8159 1 1.1039 1 153.3925763480848 101.04562808798046 0 0 0 0 +9589 1 1.0213 1 146.09274406918087 63.87984147405224 0 0 0 0 +5970 1 1.2976 1 125.66365353212382 113.11829958773585 0 0 0 0 +4532 1 1.4928 1 130.37395101195077 110.60736021240997 0 0 0 0 +5824 1 1.3119 1 127.53168044654817 112.92651993964755 0 0 0 0 +8120 1 1.1065 1 167.43096523376798 108.89830123303994 0 0 0 0 +3227 1 1.7586 1 134.75254064808286 116.41763081388974 0 0 0 0 +5718 1 1.3243 1 120.6950601264745 115.92886892742095 0 0 0 0 +9728 1 1.0138 1 139.50398130304183 66.5876785025698 0 0 0 0 +9355 1 1.0334 1 140.49070073968647 66.37149309616449 0 0 0 0 +298 1 5.7483 1 124.36066658652537 116.32535601314515 0 0 0 0 +153 1 7.5851 1 119.24243124417545 90.21757757327268 0 0 0 0 +4569 1 1.4861 1 135.15468154938432 114.91388641699707 0 0 0 0 +5880 1 1.307 1 119.83346538214266 112.38377279271559 0 0 0 0 +1034 1 3.1207 1 128.7567703992337 116.14049929804392 0 0 0 0 +3322 1 1.7349 1 166.53631215501812 111.43143980096117 0 0 0 0 +1841 1 2.3341 1 142.12729874809347 66.03700069459745 0 0 0 0 +2902 1 1.8628 1 163.16359851818476 115.63399907522225 0 0 0 0 +8374 1 1.0889 1 158.353858467689 115.5948107795514 0 0 0 0 +8630 1 1.073 1 119.83110964781008 114.81810062349378 0 0 0 0 +7329 1 1.1681 1 137.92647517295168 114.99394000305463 0 0 0 0 +2306 1 2.0883 1 145.15059585502556 115.73468674986967 0 0 0 0 +6466 1 1.2463 1 165.26478643194707 113.50731485303267 0 0 0 0 +5818 1 1.3126 1 143.8651206104222 65.66212795447163 0 0 0 0 +7258 1 1.1736 1 136.08218277901935 115.77785395310055 0 0 0 0 +2575 1 1.9798 1 118.88381878889696 113.65706210675886 0 0 0 0 +2725 1 1.9219 1 143.2095323994637 115.96353924946705 0 0 0 0 +8870 1 1.059 1 169.64215548293734 64.5881224898802 0 0 0 0 +1711 1 2.4157 1 161.27787875202057 116.51090347306292 0 0 0 0 +3327 1 1.7333 1 166.6490807856005 113.84157373647624 0 0 0 0 +2071 1 2.1974 1 165.10246082207252 115.2057431386305 0 0 0 0 +7274 1 1.1729 1 167.80317577645425 115.146509334344 0 0 0 0 +3823 1 1.6223 1 168.84928645941088 116.03609559785325 0 0 0 0 +5109 1 1.4026 1 143.09053021926138 64.45481222405805 0 0 0 0 +8122 1 1.1062 1 166.70768677683262 115.22141855489313 0 0 0 0 +7575 1 1.146 1 133.03256835822575 63.78579661810989 0 0 0 0 +7277 1 1.1727 1 150.32845484338816 116.57033957460814 0 0 0 0 +2253 1 2.1167 1 117.47199671674764 115.04139055211479 0 0 0 0 +7131 1 1.1835 1 151.30516231647414 117.13688408303767 0 0 0 0 +641 1 3.9108 1 132.07050354873098 117.12202222946755 0 0 0 0 +4715 1 1.4616 1 163.04802923041987 117.2273354301955 0 0 0 0 +371 1 5.1295 1 141.81563243980327 162.45770719602015 0 0 0 0 +31 1 17.8528 1 152.55790476878275 136.74982127245943 0 0 0 0 +71 1 11.1136 1 139.2055706658802 120.98165406111757 0 0 0 0 +3881 1 1.6117 1 128.23133374118692 119.50193817563552 0 0 0 0 +110 1 9.4067 1 124.8814043513391 123.85361177981343 0 0 0 0 +111 1 9.3517 1 136.7361925644664 147.54419929420217 0 0 0 0 +159 1 7.5044 1 138.68129745335196 133.38686545018248 0 0 0 0 +181 1 7.1776 1 168.76412469366326 121.44831242379908 0 0 0 0 +185 1 7.1152 1 131.66552529309436 128.69312135782485 0 0 0 0 +214 1 6.5923 1 121.91828319806483 139.07465672721827 0 0 0 0 +246 1 6.2598 1 128.13003634388298 146.34071715024123 0 0 0 0 +9187 1 1.0427 1 146.3992203752946 129.5893745164269 0 0 0 0 +310 1 5.65 1 120.15125857671393 131.06695496193777 0 0 0 0 +301 1 5.7371 1 168.849430690438 145.11050949429276 0 0 0 0 +373 1 5.0928 1 161.84737882024393 127.34974470576451 0 0 0 0 +420 1 4.8108 1 141.018588219119 141.6566873408948 0 0 0 0 +462 1 4.611 1 146.28599592199268 146.02267997222495 0 0 0 0 +519 1 4.3082 1 131.3969318929825 122.0268772246917 0 0 0 0 +547 1 4.2109 1 164.93711890863995 138.05445814781524 0 0 0 0 +565 1 4.1548 1 124.94440253281527 134.21763021154254 0 0 0 0 +648 1 3.8946 1 148.6479051283006 124.61115391472664 0 0 0 0 +7317 1 1.1688 1 132.38160753097105 119.54392887299205 0 0 0 0 +671 1 3.8395 1 119.84490184563191 118.33159859048466 0 0 0 0 +5891 1 1.3059 1 129.67398033477053 118.08872961295194 0 0 0 0 +696 1 3.7928 1 145.69215288421168 127.05974792246032 0 0 0 0 +700 1 3.7846 1 155.98223503548226 126.66705167328121 0 0 0 0 +717 1 3.7563 1 130.09531227689453 141.7456244037262 0 0 0 0 +728 1 3.7293 1 135.84947095858703 153.94180193263338 0 0 0 0 +1764 1 2.3752 1 150.51389976717323 118.68482951136924 0 0 0 0 +787 1 3.6125 1 126.72780625641747 140.29104329023804 0 0 0 0 +820 1 3.5429 1 151.72273394690396 149.14234860705116 0 0 0 0 +853 1 3.4558 1 137.71550302361038 128.07416877558163 0 0 0 0 +896 1 3.3624 1 142.9000212699559 148.59575409326 0 0 0 0 +925 1 3.3059 1 163.22920178064604 131.56999598040238 0 0 0 0 +7624 1 1.1427 1 152.1722074315653 119.21589458000996 0 0 0 0 +955 1 3.2398 1 162.60277873087583 123.3205365222999 0 0 0 0 +964 1 3.2275 1 133.0086710532497 136.0412298751385 0 0 0 0 +8923 1 1.0564 1 140.20550240375178 158.23345650923022 0 0 0 0 +995 1 3.1866 1 164.24746150457713 119.14295545511301 0 0 0 0 +998 1 3.1787 1 142.70560467231334 153.69817440088045 0 0 0 0 +9873 1 1.0062 1 145.07003798737176 122.47068942596341 0 0 0 0 +1021 1 3.1482 1 131.94323070786896 151.4652959142016 0 0 0 0 +1064 1 3.0655 1 166.8649738088793 141.11911643243747 0 0 0 0 +9683 1 1.0165 1 124.7867989589237 144.934795634629 0 0 0 0 +1085 1 3.0377 1 164.13773504274033 142.53275431749617 0 0 0 0 +1150 1 2.9538 1 124.270966557159 129.97068015388385 0 0 0 0 +4078 1 1.5703 1 144.14113965421015 167.02824201590508 0 0 0 0 +1158 1 2.9455 1 137.95594025689215 139.08339004753964 0 0 0 0 +9296 1 1.0367 1 124.89132789469713 136.75604622162518 0 0 0 0 +9447 1 1.0286 1 131.9914677201954 134.19196241023224 0 0 0 0 +1226 1 2.8805 1 157.97059273963433 145.44295797280196 0 0 0 0 +1250 1 2.8496 1 145.43989087601963 157.43695348656487 0 0 0 0 +1285 1 2.8052 1 140.8137083199198 127.72239591625576 0 0 0 0 +1277 1 2.8166 1 167.99585034537034 128.0733416377254 0 0 0 0 +1316 1 2.7728 1 139.8737019133654 156.36652389268974 0 0 0 0 +1339 1 2.7486 1 133.5677491082029 133.1829458777975 0 0 0 0 +1511 1 2.5643 1 135.29009407510136 139.59954770163446 0 0 0 0 +4573 1 1.4855 1 117.46080077807491 133.9714945804026 0 0 0 0 +1572 1 2.5145 1 154.02161229292327 146.7206537420857 0 0 0 0 +1604 1 2.4888 1 164.30249474920288 145.96965911451292 0 0 0 0 +1269 1 2.8295 1 118.43784467251957 126.04122268071994 0 0 0 0 +1672 1 2.4414 1 163.6830952091017 135.01286053573813 0 0 0 0 +766 1 3.6483 1 166.62435227756637 134.53894715996455 0 0 0 0 +1715 1 2.4141 1 139.02572667597732 153.963663592304 0 0 0 0 +1733 1 2.4047 1 144.72694361114623 129.97878695957655 0 0 0 0 +1747 1 2.3871 1 152.17298781443387 123.35331844355709 0 0 0 0 +1748 1 2.3865 1 160.5601472873673 130.7456440222981 0 0 0 0 +1757 1 2.3822 1 144.06485607264273 143.40410249364484 0 0 0 0 +1799 1 2.3551 1 151.2360113477811 126.32154434361006 0 0 0 0 +7960 1 1.1172 1 145.1572172024037 167.84659435070256 0 0 0 0 +1815 1 2.3463 1 165.53374010688398 127.41239649500439 0 0 0 0 +1820 1 2.3452 1 166.03655028600357 125.22289208610611 0 0 0 0 +1830 1 2.3416 1 134.06899959655084 141.70798184234997 0 0 0 0 +1871 1 2.3198 1 129.20500738107572 138.86628813934445 0 0 0 0 +1881 1 2.3127 1 161.83919489965677 144.56520850605145 0 0 0 0 +1915 1 2.2898 1 123.46121275337744 143.1848116721633 0 0 0 0 +1924 1 2.2862 1 148.62712911458254 127.59092668781588 0 0 0 0 +1930 1 2.2839 1 132.14924425031018 143.97398872708473 0 0 0 0 +1966 1 2.2608 1 162.16954558024722 139.72546967092296 0 0 0 0 +5456 1 1.3553 1 168.2326518497957 131.6229937316741 0 0 0 0 +1985 1 2.2498 1 130.28775303133494 136.0637814571767 0 0 0 0 +2037 1 2.2195 1 131.20347807135897 138.0367915606224 0 0 0 0 +2039 1 2.2188 1 133.21311646044705 138.68469494298725 0 0 0 0 +4116 1 1.5636 1 162.05362542678319 118.32517125612972 0 0 0 0 +9952 1 1.003 1 145.40578181254466 168.84451573428473 0 0 0 0 +2178 1 2.1457 1 149.58050566753047 146.172775610206 0 0 0 0 +2179 1 2.1457 1 149.11234894528573 150.09019681274515 0 0 0 0 +8537 1 1.0787 1 167.27987055799252 126.33185487505436 0 0 0 0 +2222 1 2.1257 1 140.61701040626997 137.68663061447802 0 0 0 0 +2227 1 2.125 1 149.3901908878987 152.0924999393432 0 0 0 0 +9456 1 1.0279 1 162.16074514141164 142.92956339342942 0 0 0 0 +2254 1 2.1163 1 142.67179315410604 137.42628171542685 0 0 0 0 +2260 1 2.1137 1 133.61516906319844 124.28290724374486 0 0 0 0 +2310 1 2.0844 1 141.7484269591506 144.9332101943592 0 0 0 0 +2316 1 2.0821 1 148.02888845718388 153.614816459094 0 0 0 0 +9655 1 1.0177 1 133.4387211422649 119.14554692741855 0 0 0 0 +9494 1 1.0262 1 147.67514455882545 149.5895139611696 0 0 0 0 +2538 1 1.997 1 153.79995466653898 124.79661314127686 0 0 0 0 +2557 1 1.987 1 145.67301940424065 151.5515141517731 0 0 0 0 +8659 1 1.0718 1 138.86182475474135 161.51122091799309 0 0 0 0 +2771 1 1.9054 1 136.29641691914932 157.80813965088873 0 0 0 0 +2618 1 1.9605 1 127.40088894713233 130.22405550473874 0 0 0 0 +2619 1 1.9604 1 130.531683465678 134.01610204903548 0 0 0 0 +8770 1 1.0651 1 126.39549229950273 143.11107460725924 0 0 0 0 +2652 1 1.9462 1 151.86026476076026 146.4919335840582 0 0 0 0 +2683 1 1.937 1 161.93524626807965 133.79391066609577 0 0 0 0 +2728 1 1.9191 1 162.32919776655143 136.5919620193232 0 0 0 0 +2744 1 1.9129 1 141.88897582848958 157.45267154552113 0 0 0 0 +2748 1 1.9117 1 143.3876282160085 156.31445351329123 0 0 0 0 +1083 1 3.0396 1 118.79383534864331 123.140720432765 0 0 0 0 +2894 1 1.8638 1 125.90004037848165 137.74112051206953 0 0 0 0 +2895 1 1.8637 1 147.55754631547745 151.47685644562986 0 0 0 0 +2905 1 1.8621 1 156.0074922347797 147.53145864793348 0 0 0 0 +2906 1 1.8619 1 143.3309569483119 125.81484905932805 0 0 0 0 +2962 1 1.8443 1 144.08341067216986 159.87547717954723 0 0 0 0 +2999 1 1.832 1 126.05080251155083 131.4915923456233 0 0 0 0 +3022 1 1.8198 1 128.47040616472998 131.74437005802383 0 0 0 0 +3050 1 1.8126 1 120.3178875650083 142.8846372134098 0 0 0 0 +3090 1 1.8023 1 128.75742521827735 133.48675313228856 0 0 0 0 +3108 1 1.795 1 143.19563891328565 146.08839687697667 0 0 0 0 +3146 1 1.7795 1 145.3596612943266 149.05792873515756 0 0 0 0 +3195 1 1.7672 1 123.42966767327417 145.1798834327172 0 0 0 0 +3196 1 1.767 1 134.84947322742275 125.68597862587583 0 0 0 0 +3214 1 1.7622 1 118.66648950136398 136.51710449797125 0 0 0 0 +5808 1 1.3137 1 144.9433472446871 118.59949522587974 0 0 0 0 +2937 1 1.8509 1 152.5925178490491 117.83394868649935 0 0 0 0 +3263 1 1.7493 1 127.67926719616766 137.5302603934914 0 0 0 0 +9205 1 1.0415 1 134.651314519927 134.71987368274353 0 0 0 0 +3307 1 1.7386 1 144.7412368646988 155.14064855739863 0 0 0 0 +3332 1 1.7326 1 143.23955794433363 132.86750303613888 0 0 0 0 +3347 1 1.7288 1 146.2065419678865 154.10226604129093 0 0 0 0 +3369 1 1.7236 1 158.4995076644824 127.7334270379256 0 0 0 0 +3387 1 1.7188 1 141.26161476360988 159.11223856956997 0 0 0 0 +3391 1 1.7176 1 146.2622734888888 123.27913594349846 0 0 0 0 +1373 1 2.7101 1 166.2266380982404 131.40979565573093 0 0 0 0 +3451 1 1.7039 1 140.57249426232062 152.61223484375057 0 0 0 0 +3476 1 1.6989 1 143.16819405364546 139.25998813245053 0 0 0 0 +3493 1 1.6944 1 164.96070191723263 123.5690425117768 0 0 0 0 +3527 1 1.6876 1 133.26005052813645 153.47399832311558 0 0 0 0 +3540 1 1.6849 1 129.86426451348746 119.50806502784062 0 0 0 0 +3635 1 1.6651 1 137.86390368521722 157.11856037600774 0 0 0 0 +3691 1 1.6506 1 143.41649175778352 158.2829670865238 0 0 0 0 +3696 1 1.6484 1 158.95677149066415 129.37258963281533 0 0 0 0 +8118 1 1.1065 1 162.60315280091461 146.51365505647644 0 0 0 0 +3816 1 1.6244 1 130.24382443212568 149.58504554797602 0 0 0 0 +9058 1 1.0498 1 164.26035987368442 133.4448728871787 0 0 0 0 +3833 1 1.6202 1 153.32782357735854 127.07525700884834 0 0 0 0 +5443 1 1.3572 1 143.27928094062364 168.131054663757 0 0 0 0 +3852 1 1.6168 1 127.60631386935374 142.5951647931643 0 0 0 0 +9181 1 1.0429 1 164.8346867936668 144.3801940643209 0 0 0 0 +3921 1 1.6031 1 136.58435346061967 141.09214064325155 0 0 0 0 +3148 1 1.779 1 145.5567665584827 170.19512746335275 0 0 0 0 +4059 1 1.573 1 125.25905672878805 143.7349982979964 0 0 0 0 +4063 1 1.5726 1 122.1678862990927 133.95946645606676 0 0 0 0 +4070 1 1.5714 1 137.89306559719225 155.54973404015976 0 0 0 0 +4115 1 1.5637 1 146.5725337314682 150.10718317698291 0 0 0 0 +9588 1 1.0214 1 160.41559195217027 124.60220342097297 0 0 0 0 +4518 1 1.4943 1 169.3402765038416 130.7806198758259 0 0 0 0 +4164 1 1.5558 1 154.19829329066687 148.64675664854565 0 0 0 0 +4214 1 1.5472 1 135.85310934629433 129.81918222713705 0 0 0 0 +4227 1 1.5462 1 164.17169271041013 125.06008673664994 0 0 0 0 +4231 1 1.5458 1 134.76368906858232 137.62206744338704 0 0 0 0 +4247 1 1.5424 1 161.2981368789573 146.3876902416358 0 0 0 0 +4313 1 1.5306 1 162.05696010364204 141.61364426370628 0 0 0 0 +4315 1 1.5299 1 143.39766268431825 128.54589765827737 0 0 0 0 +4399 1 1.5151 1 155.82704474620076 145.85638165065765 0 0 0 0 +9372 1 1.0323 1 152.82236044333345 125.88497577626265 0 0 0 0 +4484 1 1.5004 1 144.39640914692183 150.44388002532423 0 0 0 0 +4563 1 1.4871 1 137.73195730677475 158.64795882369094 0 0 0 0 +4608 1 1.4792 1 142.40510938810093 130.4363326008126 0 0 0 0 +4659 1 1.4715 1 135.15651893999814 156.52333226521594 0 0 0 0 +4662 1 1.4703 1 129.7414779440267 150.9654949568921 0 0 0 0 +4681 1 1.4673 1 122.26755090894783 119.1897673856089 0 0 0 0 +4704 1 1.4644 1 127.43410053939452 128.56777666247976 0 0 0 0 +10 1 35.1961 1 163.00869948742746 164.65409148450055 0 0 0 0 +4747 1 1.4571 1 134.7456086352958 131.50568399966744 0 0 0 0 +4378 1 1.5187 1 144.7874583182193 165.71357566475191 0 0 0 0 +4756 1 1.4555 1 120.85682920717873 127.58297694025818 0 0 0 0 +7541 1 1.1491 1 168.88129954423377 117.3540168907887 0 0 0 0 +4789 1 1.4506 1 141.83862000919953 155.78603839065235 0 0 0 0 +4867 1 1.4381 1 131.67170069367938 149.22146549180965 0 0 0 0 +7072 1 1.1881 1 118.21036991815754 138.01245497953178 0 0 0 0 +4922 1 1.4293 1 159.83919856414315 146.48883838789504 0 0 0 0 +5001 1 1.4202 1 126.86245409398546 118.87216345838641 0 0 0 0 +5020 1 1.4178 1 121.46548435346746 135.1936776563219 0 0 0 0 +5052 1 1.4132 1 131.82217652749816 139.83621823556635 0 0 0 0 +8882 1 1.0583 1 167.70176386609492 125.38611521218925 0 0 0 0 +120 1 9.0861 1 157.2674710756407 120.54046221035105 0 0 0 0 +5126 1 1.3988 1 135.7767430800978 142.30764458629807 0 0 0 0 +5166 1 1.3929 1 144.33271598920345 131.80087062393375 0 0 0 0 +5177 1 1.3916 1 159.12445818027197 143.72927517106905 0 0 0 0 +5230 1 1.3851 1 138.0115649548536 141.21233113539498 0 0 0 0 +5243 1 1.3829 1 144.8069801910056 123.6195009992457 0 0 0 0 +5249 1 1.382 1 122.58040630858306 128.63979852637073 0 0 0 0 +7657 1 1.1396 1 168.21365799228897 132.81925380309409 0 0 0 0 +5328 1 1.3721 1 147.34614098562173 128.84912559190738 0 0 0 0 +5332 1 1.3717 1 147.35660131139954 155.15562125681262 0 0 0 0 +9262 1 1.0388 1 123.35769992869757 132.07218152961443 0 0 0 0 +5383 1 1.3664 1 141.74249184257835 151.61842143488798 0 0 0 0 +5393 1 1.3645 1 169.02650172247485 140.7682353949755 0 0 0 0 +5422 1 1.3607 1 126.65780411794331 136.36090507728363 0 0 0 0 +8257 1 1.0974 1 170.4550172800423 139.06169605089215 0 0 0 0 +5486 1 1.3523 1 141.31124992708067 150.31934836363027 0 0 0 0 +5502 1 1.3503 1 163.45417702442595 121.22903507199075 0 0 0 0 +5517 1 1.349 1 136.64367882259333 156.27952645048387 0 0 0 0 +5583 1 1.3393 1 147.9002237873999 148.47752280993848 0 0 0 0 +9627 1 1.0194 1 165.71221465912987 143.9540987802452 0 0 0 0 +9047 1 1.0501 1 139.89650956726183 139.01699069689673 0 0 0 0 +5656 1 1.3319 1 169.49322931377765 139.61288302882193 0 0 0 0 +5657 1 1.3318 1 118.78084401101664 141.794789258741 0 0 0 0 +9451 1 1.0283 1 152.35146367158816 121.68498452315966 0 0 0 0 +6964 1 1.1972 1 142.6478869479696 159.43749591499866 0 0 0 0 +5693 1 1.3266 1 129.9457720653059 132.50575000658714 0 0 0 0 +9719 1 1.0142 1 150.66102082719468 151.17126616811677 0 0 0 0 +5730 1 1.3229 1 168.8220834305238 125.69530846858635 0 0 0 0 +9158 1 1.0441 1 162.21646178017184 119.61511390435417 0 0 0 0 +5761 1 1.3191 1 145.55703809779004 159.49147869469962 0 0 0 0 +5770 1 1.3174 1 160.6678934430262 141.88353665396977 0 0 0 0 +5795 1 1.3149 1 136.15426773023052 126.36507042822053 0 0 0 0 +5819 1 1.3126 1 131.79434557984447 145.68321398410345 0 0 0 0 +5875 1 1.3081 1 121.87200967210585 144.19790312437365 0 0 0 0 +9260 1 1.0388 1 150.25032484681287 127.64044939300415 0 0 0 0 +5893 1 1.3056 1 145.01223617700526 161.51206747113358 0 0 0 0 +5917 1 1.3032 1 139.17138375953525 152.18335414747395 0 0 0 0 +5975 1 1.2969 1 128.91860494594235 134.99215307021393 0 0 0 0 +952 1 3.2432 1 149.96068629415086 121.39195829773827 0 0 0 0 +6027 1 1.2919 1 138.17986787101648 142.50571831927408 0 0 0 0 +6066 1 1.2867 1 142.8017696181598 127.28368497332659 0 0 0 0 +6105 1 1.283 1 141.1329383644035 129.7411856001343 0 0 0 0 +6130 1 1.2805 1 126.1693063879063 129.0644549645852 0 0 0 0 +6132 1 1.2804 1 144.55271590361838 152.60304798270528 0 0 0 0 +2468 1 2.0221 1 119.02302064883658 134.69596942996108 0 0 0 0 +6209 1 1.2707 1 143.83180459262124 140.5843765679976 0 0 0 0 +6220 1 1.2685 1 127.1649003371063 132.5199554459231 0 0 0 0 +6258 1 1.2642 1 144.52366906415318 124.8593257355431 0 0 0 0 +6294 1 1.2612 1 163.71101739370368 140.4680982407667 0 0 0 0 +6332 1 1.2585 1 144.93374291283445 162.802157184534 0 0 0 0 +6413 1 1.2505 1 161.08693489710822 132.46675947574437 0 0 0 0 +6420 1 1.25 1 142.85996467892886 150.93654805340083 0 0 0 0 +6441 1 1.248 1 136.10481374493577 137.9331059630781 0 0 0 0 +6476 1 1.2457 1 131.60873341064604 132.8556784333462 0 0 0 0 +9928 1 1.004 1 131.19232367924883 119.39579784428346 0 0 0 0 +6499 1 1.2433 1 129.96262217954614 124.939139969412 0 0 0 0 +6519 1 1.2414 1 131.48772859700222 147.91947581266604 0 0 0 0 +6987 1 1.1954 1 137.59578711400565 159.94479181351767 0 0 0 0 +2943 1 1.85 1 142.5587790198236 166.46885439591497 0 0 0 0 +6590 1 1.2327 1 134.04573037961637 152.10508151359682 0 0 0 0 +6592 1 1.2324 1 141.8055720908887 138.8088745492113 0 0 0 0 +3851 1 1.617 1 119.20047629597498 120.91444715334657 0 0 0 0 +6634 1 1.2288 1 132.10391107769937 124.63917568438633 0 0 0 0 +3864 1 1.6152 1 144.1659100660191 169.2841116761564 0 0 0 0 +6643 1 1.2278 1 168.2568028758952 139.52723917160952 0 0 0 0 +5069 1 1.4095 1 169.1549483765272 138.33247718049876 0 0 0 0 +6702 1 1.2222 1 140.7190201514297 154.57956906764537 0 0 0 0 +6830 1 1.2093 1 124.40881239122125 146.2880363415023 0 0 0 0 +6878 1 1.2042 1 146.68325727614865 152.73247458927634 0 0 0 0 +6882 1 1.2039 1 161.97310359206355 138.0597284354424 0 0 0 0 +6893 1 1.2028 1 146.13008424848525 155.5428458217791 0 0 0 0 +6912 1 1.2011 1 148.71231776185817 147.5419213014028 0 0 0 0 +6920 1 1.2003 1 139.69173528950867 129.25779760640512 0 0 0 0 +1687 1 2.4301 1 139.3251218805949 159.72641112935756 0 0 0 0 +9784 1 1.0108 1 127.39839359757924 133.59819828317922 0 0 0 0 +6978 1 1.196 1 157.5026053199915 147.36810426171212 0 0 0 0 +6999 1 1.1943 1 128.7602266367345 150.0232566949321 0 0 0 0 +7003 1 1.1939 1 135.9095836652004 136.7338210955007 0 0 0 0 +9620 1 1.0197 1 168.75421331793459 141.83362497730843 0 0 0 0 +7052 1 1.1895 1 145.71542416626139 124.59496034274099 0 0 0 0 +9517 1 1.0249 1 134.16759946094842 155.76131606803256 0 0 0 0 +7101 1 1.1856 1 144.40852774749476 141.6614819285686 0 0 0 0 +4979 1 1.423 1 143.49361984174297 165.18023637080265 0 0 0 0 +7137 1 1.1831 1 128.57874277132981 136.16800187893512 0 0 0 0 +9861 1 1.0067 1 131.66996078166207 146.81884814362223 0 0 0 0 +7181 1 1.1797 1 125.55207463481847 142.378063366598 0 0 0 0 +7187 1 1.1793 1 133.47739911471248 154.89519315612245 0 0 0 0 +8939 1 1.0557 1 135.5409172638383 127.38451204471858 0 0 0 0 +2121 1 2.1702 1 167.9187602294497 137.09693508659825 0 0 0 0 +7212 1 1.1772 1 132.46011411598022 142.32407617896777 0 0 0 0 +8735 1 1.0679 1 120.57381342063897 120.86781246315319 0 0 0 0 +9163 1 1.0439 1 133.68323903886312 143.3470548580465 0 0 0 0 +9850 1 1.0076 1 161.02945071971558 140.82532375391608 0 0 0 0 +9071 1 1.0486 1 131.95889475751025 153.49679765214862 0 0 0 0 +7319 1 1.1687 1 133.05025143799372 140.30863760801827 0 0 0 0 +4435 1 1.5084 1 152.05208789461207 120.48193266217208 0 0 0 0 +7352 1 1.1656 1 129.04786733277774 120.64507959208812 0 0 0 0 +7387 1 1.1624 1 121.77815674664791 142.9456801177305 0 0 0 0 +7434 1 1.1583 1 142.1942656237612 129.13863318555622 0 0 0 0 +7442 1 1.1575 1 127.4733747725835 117.79094346529027 0 0 0 0 +7476 1 1.1547 1 137.0240036902937 142.34216021399808 0 0 0 0 +8883 1 1.0583 1 128.5002656009981 118.20469573521233 0 0 0 0 +7505 1 1.152 1 127.78075475510235 134.57827434560943 0 0 0 0 +6342 1 1.2577 1 117.53301507651734 135.3231029010374 0 0 0 0 +6438 1 1.2483 1 118.59449614842222 128.03716684020176 0 0 0 0 +7701 1 1.1362 1 140.46528785368355 151.21406036759385 0 0 0 0 +7702 1 1.1362 1 138.8939304925277 158.03292287616014 0 0 0 0 +3931 1 1.6017 1 167.94396413405929 130.20191441616362 0 0 0 0 +7721 1 1.1348 1 137.04842106196764 137.30197639114672 0 0 0 0 +7750 1 1.1324 1 161.09939122475228 143.0123767071605 0 0 0 0 +7755 1 1.1318 1 142.07034553658076 135.96228556315384 0 0 0 0 +7785 1 1.1298 1 143.16234978114466 135.89665853606292 0 0 0 0 +7798 1 1.129 1 159.88645055572027 142.7738857264983 0 0 0 0 +7806 1 1.1284 1 164.86658727565938 140.65631108978315 0 0 0 0 +6521 1 1.2409 1 166.5286632224784 129.4631393282002 0 0 0 0 +7825 1 1.1272 1 157.4295500732884 128.63742168001602 0 0 0 0 +7827 1 1.1271 1 144.84609796667587 153.73846879255078 0 0 0 0 +7830 1 1.1271 1 131.01146641426428 124.6595633700804 0 0 0 0 +7845 1 1.126 1 141.84758851094173 146.5584784450022 0 0 0 0 +7846 1 1.1257 1 120.53683110287514 134.39376683542932 0 0 0 0 +7340 1 1.1672 1 170.45292743805695 130.1407221830827 0 0 0 0 +7901 1 1.1214 1 129.0598971928731 137.18578449788794 0 0 0 0 +7983 1 1.1155 1 167.50507231527183 138.66708572846332 0 0 0 0 +7990 1 1.115 1 160.3355781366477 143.8125393887266 0 0 0 0 +7996 1 1.1147 1 137.88207355119124 152.63678231627614 0 0 0 0 +8022 1 1.1133 1 146.97394754193044 156.29008814116065 0 0 0 0 +8028 1 1.1128 1 132.43164671669078 141.2110540454496 0 0 0 0 +8066 1 1.11 1 135.1629106830869 135.86209023114043 0 0 0 0 +8068 1 1.11 1 162.35909345027656 120.68064948264787 0 0 0 0 +8075 1 1.1089 1 120.27720890078398 135.60649355908575 0 0 0 0 +666 1 3.8513 1 146.58079321817254 120.59073244800217 0 0 0 0 +9091 1 1.0475 1 149.06594751465502 148.5640429701354 0 0 0 0 +8163 1 1.1036 1 119.85133349828055 124.85485212807322 0 0 0 0 +8185 1 1.1022 1 149.80918652719922 147.84802938732014 0 0 0 0 +8242 1 1.0986 1 166.1448022215367 143.02986589132124 0 0 0 0 +8247 1 1.0979 1 143.44701823847478 134.24449339833524 0 0 0 0 +8321 1 1.0926 1 142.64353346104463 134.95106601866388 0 0 0 0 +8328 1 1.0924 1 124.53606993726324 141.88070248890574 0 0 0 0 +9155 1 1.0445 1 120.33933080869333 126.4385330533089 0 0 0 0 +9311 1 1.0356 1 151.09472644413316 124.65134590797196 0 0 0 0 +8434 1 1.0857 1 143.81051096955656 151.6445484089675 0 0 0 0 +3979 1 1.5902 1 144.6501440410076 164.19191872244352 0 0 0 0 +8461 1 1.0838 1 133.25444868581727 120.16592126741833 0 0 0 0 +8465 1 1.0834 1 158.7747520440481 147.13187580553048 0 0 0 0 +8492 1 1.0813 1 165.88552599450742 146.76040556356745 0 0 0 0 +2749 1 1.9117 1 158.69951101774907 125.84202114691242 0 0 0 0 +8521 1 1.0797 1 127.60012095903788 135.6453936169685 0 0 0 0 +8856 1 1.0597 1 150.63399113440354 147.2246830540809 0 0 0 0 +8570 1 1.0768 1 165.0361057454117 132.8063237231807 0 0 0 0 +8590 1 1.0758 1 146.75707641285612 148.8148492873172 0 0 0 0 +8599 1 1.0751 1 142.04809877394922 126.33653574395979 0 0 0 0 +2139 1 2.1601 1 164.83301390313284 129.45428253683212 0 0 0 0 +8643 1 1.0725 1 164.48776773137104 122.17278049284292 0 0 0 0 +9695 1 1.0157 1 142.57760818552177 131.66772335455371 0 0 0 0 +8646 1 1.0724 1 163.49069058052206 144.43490018514748 0 0 0 0 +8732 1 1.068 1 145.74813197320682 143.25929889868036 0 0 0 0 +4467 1 1.5027 1 144.342946989995 117.33035213426604 0 0 0 0 +9418 1 1.0296 1 144.51738770212455 170.85889827027063 0 0 0 0 +8560 1 1.0774 1 165.24633067894143 117.27633685813423 0 0 0 0 +4186 1 1.5517 1 161.97423554943344 212.24797615141924 0 0 0 0 +77 1 10.3137 1 157.09203074035128 191.1727248308527 0 0 0 0 +403 1 4.9267 1 167.7389808839609 199.8090078072292 0 0 0 0 +130 1 8.3824 1 167.52751066329375 192.9049910782196 0 0 0 0 +6293 1 1.2614 1 164.75080591548263 214.5115768640297 0 0 0 0 +172 1 7.3253 1 161.96239059051217 198.4232134142663 0 0 0 0 +272 1 5.9827 1 162.0400401915698 208.52527591918707 0 0 0 0 +4997 1 1.4207 1 153.78448144013655 223.62771975147385 0 0 0 0 +6114 1 1.2823 1 165.37684254037512 182.71924140862382 0 0 0 0 +9694 1 1.0159 1 163.59506813083337 203.95238684625696 0 0 0 0 +8552 1 1.0778 1 158.19793073012872 196.73070654587053 0 0 0 0 +873 1 3.4178 1 158.32781875637878 220.98712201239172 0 0 0 0 +6291 1 1.2616 1 170.42846381088748 221.15905617343512 0 0 0 0 +911 1 3.333 1 156.87676257629803 203.04101083853334 0 0 0 0 +985 1 3.2035 1 152.9938563217514 184.74662913307495 0 0 0 0 +9439 1 1.0288 1 167.85071860689774 216.66741203369781 0 0 0 0 +3471 1 1.6994 1 163.93740509203084 183.05638772249327 0 0 0 0 +1101 1 3.0162 1 158.8405111998646 205.4361054265752 0 0 0 0 +1165 1 2.9403 1 165.96914308478569 186.23141786498658 0 0 0 0 +1171 1 2.9319 1 153.81829799746072 181.8800008224416 0 0 0 0 +9595 1 1.0211 1 161.77655941076037 194.27642232307994 0 0 0 0 +1179 1 2.9286 1 151.14910178711767 180.31749576238363 0 0 0 0 +1231 1 2.8756 1 157.02265987560983 198.85182936730286 0 0 0 0 +1252 1 2.8476 1 155.55568993154176 207.67843288530716 0 0 0 0 +2934 1 1.8518 1 169.18911473181555 219.14244692554067 0 0 0 0 +9883 1 1.0057 1 156.5712146775286 212.3828764913612 0 0 0 0 +1669 1 2.4431 1 157.62155983604129 213.68601878947845 0 0 0 0 +9706 1 1.0149 1 163.75210735894262 219.37890554552027 0 0 0 0 +1693 1 2.4287 1 149.11431030196653 178.54944730865228 0 0 0 0 +1751 1 2.3839 1 152.12008759076355 187.30627906477665 0 0 0 0 +8628 1 1.0731 1 164.79580516331544 206.32444825711025 0 0 0 0 +8600 1 1.075 1 154.24918553247497 219.54087074444504 0 0 0 0 +1863 1 2.3232 1 156.46240197999694 184.93874351681373 0 0 0 0 +1945 1 2.2712 1 157.60290562513055 209.11521271802417 0 0 0 0 +1973 1 2.2573 1 154.19478364746269 196.73488447638155 0 0 0 0 +1990 1 2.2482 1 156.22807602955757 182.7225214891803 0 0 0 0 +2014 1 2.2306 1 168.09707873123713 187.66550373135007 0 0 0 0 +8134 1 1.1054 1 165.41692757133305 213.6234568384585 0 0 0 0 +9426 1 1.0294 1 160.10114690475015 222.16187424038137 0 0 0 0 +2193 1 2.1419 1 163.85040459756516 184.94831438364034 0 0 0 0 +2255 1 2.1159 1 164.95655378095125 204.7389838501454 0 0 0 0 +2291 1 2.098 1 155.10490169503518 205.280855927418 0 0 0 0 +2303 1 2.0907 1 164.91313581645358 188.44685545055998 0 0 0 0 +8641 1 1.0727 1 159.4573594137807 217.81040677877928 0 0 0 0 +2353 1 2.0672 1 160.1347654213733 183.99948353373264 0 0 0 0 +2371 1 2.059 1 158.16266431766758 183.66844642426764 0 0 0 0 +2473 1 2.0194 1 155.13659010625796 212.60732338567064 0 0 0 0 +2518 1 2.0046 1 150.75791358093932 183.65401520184997 0 0 0 0 +2625 1 1.9576 1 155.64849945672646 200.7367024334455 0 0 0 0 +8695 1 1.0702 1 158.9236943407829 210.04312437360238 0 0 0 0 +8724 1 1.0684 1 145.685559466086 172.68204311885813 0 0 0 0 +2715 1 1.925 1 162.2635497914373 187.9688361926902 0 0 0 0 +2865 1 1.8731 1 161.76010346241026 204.61633721685186 0 0 0 0 +2888 1 1.8657 1 161.96781626329698 184.45718319776697 0 0 0 0 +9160 1 1.0441 1 163.65669346623193 214.18665889083377 0 0 0 0 +3007 1 1.8269 1 160.27476710354918 203.5765321880447 0 0 0 0 +3084 1 1.803 1 159.8693829628745 185.8455656263267 0 0 0 0 +4470 1 1.5024 1 164.98061886582192 217.91202997060026 0 0 0 0 +761 1 3.6539 1 167.71204516357213 183.46748274417612 0 0 0 0 +3273 1 1.7468 1 162.39409093323806 186.1705397650291 0 0 0 0 +8998 1 1.0527 1 170.2517412159655 220.07146327235338 0 0 0 0 +3487 1 1.6961 1 156.00802900599265 210.1638230089573 0 0 0 0 +3667 1 1.6567 1 154.60038031683675 202.15193885962492 0 0 0 0 +3684 1 1.6523 1 162.95652371688124 202.7909013999981 0 0 0 0 +9585 1 1.0215 1 154.64597273062554 214.70776408222602 0 0 0 0 +2192 1 2.143 1 162.26248795038106 219.80942289529378 0 0 0 0 +3924 1 1.6029 1 163.83597613612218 186.96956136985992 0 0 0 0 +4196 1 1.55 1 161.05129847120827 218.4247144795004 0 0 0 0 +9957 1 1.0029 1 165.39158071060317 201.58882280968047 0 0 0 0 +4010 1 1.5813 1 157.75275326426242 223.38143988380173 0 0 0 0 +4027 1 1.5784 1 158.52479397344996 201.23416229186302 0 0 0 0 +9305 1 1.0361 1 159.00946926701303 182.32411490280674 0 0 0 0 +8044 1 1.1116 1 160.59670027933967 221.20655404298546 0 0 0 0 +4238 1 1.5437 1 166.75356519060122 218.1318231658697 0 0 0 0 +4135 1 1.5608 1 162.65601456253424 192.8811885865849 0 0 0 0 +4151 1 1.558 1 159.26639810174922 211.2685220256842 0 0 0 0 +1823 1 2.3436 1 169.44980895407065 185.8606875848734 0 0 0 0 +5289 1 1.3771 1 169.20899979068335 220.68865940700408 0 0 0 0 +4414 1 1.5128 1 154.10188650431814 198.61368039363686 0 0 0 0 +4425 1 1.5102 1 158.2984089692758 185.41626434154438 0 0 0 0 +4432 1 1.5087 1 160.49808990556002 212.08175406515429 0 0 0 0 +4598 1 1.4806 1 156.00385642903436 196.94495690651144 0 0 0 0 +4677 1 1.468 1 164.44873135014777 203.06455126171008 0 0 0 0 +4716 1 1.4616 1 158.5144245055101 207.5860547220163 0 0 0 0 +1192 1 2.9157 1 167.53298845936806 221.96906632349214 0 0 0 0 +9484 1 1.0267 1 166.90069479216177 223.7896052945175 0 0 0 0 +2196 1 2.1399 1 155.48429552486408 223.5922298734037 0 0 0 0 +4972 1 1.4236 1 154.9100700990786 185.83019536998458 0 0 0 0 +4978 1 1.4231 1 161.03599393742826 186.8841355539694 0 0 0 0 +9065 1 1.049 1 153.84731986582364 222.4224991180645 0 0 0 0 +8743 1 1.0674 1 148.91886668761506 175.827713777818 0 0 0 0 +4993 1 1.4211 1 157.01861912999095 211.31545200358633 0 0 0 0 +5006 1 1.4198 1 162.89830022345885 191.4368480313669 0 0 0 0 +4003 1 1.583 1 160.47463092212914 219.86479620114883 0 0 0 0 +5016 1 1.4183 1 162.39484496839162 182.91214141155874 0 0 0 0 +5032 1 1.4157 1 154.6243411568755 203.64482612157917 0 0 0 0 +5054 1 1.4125 1 153.1524448729094 179.9085796382013 0 0 0 0 +5098 1 1.4047 1 163.4802604947459 190.1990336882035 0 0 0 0 +8898 1 1.0574 1 154.18343316921684 200.89213258032296 0 0 0 0 +8686 1 1.0707 1 155.66406176407077 181.19017353092758 0 0 0 0 +5140 1 1.3978 1 156.70493660957106 205.8768849902573 0 0 0 0 +5213 1 1.3873 1 163.28455261026923 205.0979282430877 0 0 0 0 +5280 1 1.3783 1 150.91455209941293 178.2329415317011 0 0 0 0 +367 1 5.1721 1 156.39219145167127 217.27200705563175 0 0 0 0 +5361 1 1.3684 1 155.7820733496631 214.11444943053823 0 0 0 0 +5387 1 1.3656 1 165.29905517093988 184.0292281984532 0 0 0 0 +9709 1 1.0147 1 155.8716792873833 221.6881331081722 0 0 0 0 +1394 1 2.6881 1 164.02888719009636 212.366770963147 0 0 0 0 +5441 1 1.3579 1 159.70911168489607 202.09594900332368 0 0 0 0 +6902 1 1.2019 1 169.25856275321956 181.67722658266632 0 0 0 0 +5454 1 1.3555 1 161.50146584877493 202.68401962029165 0 0 0 0 +5504 1 1.3502 1 157.8506508958527 182.0731469740369 0 0 0 0 +9537 1 1.0238 1 151.90771248676523 188.96895634945838 0 0 0 0 +5558 1 1.3436 1 162.91911098106684 194.26187122469958 0 0 0 0 +5207 1 1.3881 1 156.0324797263435 220.49866078623978 0 0 0 0 +4327 1 1.5274 1 163.99015674221954 215.59602217669286 0 0 0 0 +5755 1 1.3199 1 154.8322175668106 210.9974571773026 0 0 0 0 +410 1 4.8896 1 160.89275923521606 215.22856577609497 0 0 0 0 +5913 1 1.3035 1 159.17923405008855 212.67191190203295 0 0 0 0 +6449 1 1.2476 1 159.4101344584491 218.94449199606666 0 0 0 0 +6522 1 1.2409 1 150.31370484086338 182.17865319344128 0 0 0 0 +9273 1 1.038 1 166.54941214626047 188.29413017614408 0 0 0 0 +6771 1 1.2158 1 155.25468814308817 198.02261706426196 0 0 0 0 +5014 1 1.4185 1 169.55181516075334 197.29451071268178 0 0 0 0 +6855 1 1.207 1 163.3976097827027 188.94960963018818 0 0 0 0 +6860 1 1.2068 1 151.7456136662397 182.3768590288764 0 0 0 0 +6866 1 1.2052 1 156.64602060600754 222.47889926180633 0 0 0 0 +6873 1 1.2045 1 166.02144310398 197.36912236938286 0 0 0 0 +9455 1 1.0279 1 159.0040559437866 203.02241327410727 0 0 0 0 +9637 1 1.0187 1 167.8334552449458 185.78516493808283 0 0 0 0 +2481 1 2.0168 1 154.49294520056938 221.06515910536058 0 0 0 0 +7025 1 1.1919 1 157.3985034353477 206.94068052743216 0 0 0 0 +8761 1 1.0659 1 150.99696017693972 185.50175440344094 0 0 0 0 +7104 1 1.1854 1 155.02514917258227 183.9378851042818 0 0 0 0 +7114 1 1.1845 1 149.48327068974652 181.36835108190306 0 0 0 0 +4392 1 1.5164 1 167.5868420404318 219.40441443855124 0 0 0 0 +7284 1 1.1725 1 149.12727825990376 180.2885618121996 0 0 0 0 +7418 1 1.1599 1 157.2175888266359 200.83976364573667 0 0 0 0 +7422 1 1.1594 1 149.4964965808935 176.80172834360835 0 0 0 0 +1278 1 2.8152 1 166.06002684388338 216.07724837614572 0 0 0 0 +7564 1 1.1467 1 153.33857332425623 195.35474618587313 0 0 0 0 +7614 1 1.1432 1 154.77861110123246 209.50240584946022 0 0 0 0 +7764 1 1.1313 1 158.0826004526258 210.71055061638094 0 0 0 0 +7811 1 1.128 1 158.11714298007678 211.96457875212843 0 0 0 0 +7951 1 1.1177 1 154.40445367294348 199.85657337787845 0 0 0 0 +2341 1 2.0718 1 166.17068822183745 202.90673228370724 0 0 0 0 +7966 1 1.1167 1 160.06549258443536 182.4897277546676 0 0 0 0 +7972 1 1.1164 1 164.2974858526446 216.82828230076316 0 0 0 0 +2075 1 2.1965 1 163.13971416506988 217.91008243037558 0 0 0 0 +8160 1 1.1038 1 161.1402855164999 182.77341662626824 0 0 0 0 +8239 1 1.0989 1 164.3865714347983 201.82043288712651 0 0 0 0 +9093 1 1.0474 1 157.20239122989972 196.84278922844533 0 0 0 0 +3174 1 1.7725 1 146.66824475927118 173.88533201013522 0 0 0 0 +2697 1 1.9307 1 147.9567116720926 176.77775796133272 0 0 0 0 +1279 1 2.8145 1 165.5473838919517 219.94139777773 0 0 0 0 +9373 1 1.0323 1 170.2753540313755 198.26843530830217 0 0 0 0 +4336 1 1.5255 1 159.38295402491156 223.20222564241814 0 0 0 0 +4398 1 1.5151 1 168.68723533010393 217.5770233852662 0 0 0 0 +3941 1 1.5996 1 147.8482220697936 175.04460277215998 0 0 0 0 +6640 1 1.228 1 169.9215112435374 187.71415758723268 0 0 0 0 +9119 1 1.0463 1 146.7130183604223 172.5113350736911 0 0 0 0 +8667 1 1.0714 1 169.51543350279152 221.82687613426586 0 0 0 0 +7557 1 1.1474 1 145.15749495335425 171.7111739804277 0 0 0 0 +6378 1 1.2541 1 169.47129988418743 222.92224382547377 0 0 0 0 +9264 1 1.0386 1 170.71652284250604 197.26496443560808 0 0 0 0 +6808 1 1.2117 1 146.23651904503464 171.51617633115964 0 0 0 0 +7908 1 1.1204 1 169.9458256919014 217.951980189934 0 0 0 0 +225 1 6.4105 1 163.2858916977167 223.88655245158841 0 0 0 0 +3030 1 1.8182 1 168.55462619018274 258.02499884499696 0 0 0 0 +57 1 12.5828 1 156.0987423430789 274.3241288573606 0 0 0 0 +64 1 11.5229 1 160.80938344349497 256.3871319510297 0 0 0 0 +65 1 11.4479 1 156.33573393840794 233.90659607709054 0 0 0 0 +74 1 10.7114 1 162.76259865962712 242.80614530646264 0 0 0 0 +79 1 10.2797 1 144.77600169529003 263.84256769939066 0 0 0 0 +162 1 7.4747 1 170.4935569338733 247.33754810673244 0 0 0 0 +1081 1 3.0415 1 170.65800493120267 270.57149126636716 0 0 0 0 +235 1 6.3107 1 145.4919070286927 273.74198216422195 0 0 0 0 +2540 1 1.9931 1 161.73927788644593 267.78003270929787 0 0 0 0 +253 1 6.1766 1 152.10457251763307 256.0859997443837 0 0 0 0 +302 1 5.7323 1 151.96667315708837 244.8980385814781 0 0 0 0 +311 1 5.6454 1 152.45246247561795 261.9029999337361 0 0 0 0 +359 1 5.2778 1 149.3730009586862 251.20786337727407 0 0 0 0 +3577 1 1.675 1 166.50373194634287 267.98559033866644 0 0 0 0 +4466 1 1.5029 1 170.7866394941757 257.847596150526 0 0 0 0 +2842 1 1.8822 1 160.76048068492656 263.04165350060356 0 0 0 0 +451 1 4.647 1 149.0061468404607 269.73209031539443 0 0 0 0 +460 1 4.6245 1 130.06580193657643 273.54733555856427 0 0 0 0 +474 1 4.5363 1 143.59123206769496 256.6798481575602 0 0 0 0 +479 1 4.5096 1 155.3311066275154 250.76505687858358 0 0 0 0 +3070 1 1.8073 1 163.8967734739916 272.36460054381575 0 0 0 0 +8565 1 1.0771 1 122.69505892474993 275.4456623085426 0 0 0 0 +719 1 3.7519 1 136.028726560163 271.7124865626245 0 0 0 0 +730 1 3.7259 1 165.3874435787085 230.71402384139196 0 0 0 0 +752 1 3.681 1 126.13262954994273 274.39291516506023 0 0 0 0 +755 1 3.676 1 136.88776779853816 263.4694253886223 0 0 0 0 +758 1 3.6645 1 150.57796600933443 240.09451790519864 0 0 0 0 +850 1 3.4593 1 132.7239845797349 269.99708802417797 0 0 0 0 +870 1 3.4248 1 160.42900905266103 227.79628808708586 0 0 0 0 +903 1 3.3523 1 135.91646743506038 266.73173353937636 0 0 0 0 +5627 1 1.334 1 164.04431841683456 275.68427208225546 0 0 0 0 +993 1 3.1874 1 145.9833242163944 253.7248656617238 0 0 0 0 +1001 1 3.1759 1 139.69414854984942 268.1519564758645 0 0 0 0 +1010 1 3.1607 1 166.07095101214966 251.34728358063032 0 0 0 0 +9499 1 1.026 1 168.70397198389887 270.6719532919132 0 0 0 0 +1065 1 3.0645 1 154.897930673166 241.98711498962385 0 0 0 0 +5904 1 1.3046 1 166.61820510309948 225.7531579749304 0 0 0 0 +1092 1 3.0288 1 138.74232184312288 260.70602332427876 0 0 0 0 +1181 1 2.9269 1 139.2376360462244 271.13798778164926 0 0 0 0 +3134 1 1.7832 1 170.2595501160922 227.1546206570564 0 0 0 0 +1214 1 2.8941 1 147.90669722260554 244.89413993233885 0 0 0 0 +2398 1 2.0491 1 164.63224141247613 274.1113704755936 0 0 0 0 +1763 1 2.3754 1 162.68392347180256 269.7087443362547 0 0 0 0 +1392 1 2.6902 1 152.47736274847782 248.9247247975046 0 0 0 0 +9980 1 1.0012 1 148.22907671651004 246.79444189482862 0 0 0 0 +1453 1 2.6195 1 141.2443428806543 272.87274592439024 0 0 0 0 +7699 1 1.1365 1 160.98554250980348 269.56854389855243 0 0 0 0 +9532 1 1.0241 1 162.9277314492339 236.9720419799104 0 0 0 0 +1483 1 2.5929 1 163.18120139351043 232.85049435195134 0 0 0 0 +2407 1 2.0449 1 162.70071091020733 262.8518268478854 0 0 0 0 +2437 1 2.032 1 167.89753808742913 271.9027583694369 0 0 0 0 +1684 1 2.4324 1 127.38350720564165 277.8446938334514 0 0 0 0 +1699 1 2.4254 1 163.5009424225906 228.29068257136316 0 0 0 0 +1783 1 2.3663 1 165.6118209858929 236.7944680894286 0 0 0 0 +7326 1 1.1684 1 165.7635504580746 262.7993704829973 0 0 0 0 +1921 1 2.2881 1 133.1292423733729 266.7839391629192 0 0 0 0 +1960 1 2.2643 1 167.31948429904702 263.4362066252156 0 0 0 0 +1951 1 2.2693 1 135.2825119298407 274.72455755945697 0 0 0 0 +1997 1 2.2433 1 165.265758324128 248.76862564905645 0 0 0 0 +661 1 3.8606 1 167.1777182593714 260.4665526622546 0 0 0 0 +2180 1 2.1456 1 147.97313053226173 255.63335992185438 0 0 0 0 +8161 1 1.1038 1 166.63666999728358 271.03539530641575 0 0 0 0 +2278 1 2.1036 1 155.86554389299468 244.7735178881807 0 0 0 0 +2287 1 2.1 1 158.78973529334652 224.8867663684507 0 0 0 0 +2289 1 2.0982 1 162.838513997289 249.11032357838573 0 0 0 0 +2305 1 2.0885 1 143.75792165061438 252.32743798463824 0 0 0 0 +7625 1 1.1427 1 166.39012190256 264.84761313678035 0 0 0 0 +2401 1 2.0473 1 156.8827729294118 240.53105314729498 0 0 0 0 +7999 1 1.1144 1 167.50599186669905 226.52549780393548 0 0 0 0 +2412 1 2.0442 1 147.49569746379748 248.16730098521012 0 0 0 0 +2453 1 2.0268 1 133.1382490969077 274.81910802101254 0 0 0 0 +4491 1 1.499 1 162.50826462100835 271.58049042082473 0 0 0 0 +3349 1 1.7282 1 170.4880077292348 275.0624771030951 0 0 0 0 +2544 1 1.9909 1 150.39564575156965 266.75730358921027 0 0 0 0 +542 1 4.2335 1 159.43007853156843 265.7366975429177 0 0 0 0 +2586 1 1.976 1 152.47803956160703 266.6638396214928 0 0 0 0 +2617 1 1.9613 1 148.37908097578793 257.6385937792974 0 0 0 0 +2702 1 1.9289 1 129.4203703755975 277.15045562084174 0 0 0 0 +2737 1 1.9152 1 129.24254750304078 270.42210206707426 0 0 0 0 +9982 1 1.0011 1 163.40587951675369 234.6141901989821 0 0 0 0 +2786 1 1.9 1 140.51172736923328 257.5650324952199 0 0 0 0 +2796 1 1.8943 1 155.96849834513816 263.1489395892396 0 0 0 0 +2795 1 1.8945 1 164.63486602995252 261.8346027421243 0 0 0 0 +2848 1 1.8801 1 149.35426768644976 247.64221932860454 0 0 0 0 +2893 1 1.864 1 151.9393135679955 268.455864690153 0 0 0 0 +2910 1 1.861 1 156.73735336309048 227.27516453197853 0 0 0 0 +5130 1 1.3986 1 167.6967083756453 229.93112169992375 0 0 0 0 +1460 1 2.6088 1 164.4168917241656 267.976705726987 0 0 0 0 +2976 1 1.8403 1 156.42283961973587 266.6227404825853 0 0 0 0 +2994 1 1.8351 1 161.03238236693434 249.7750113552847 0 0 0 0 +3043 1 1.8139 1 140.74028862767983 259.3757048121078 0 0 0 0 +3797 1 1.63 1 167.55130397724164 270.11997437829257 0 0 0 0 +9433 1 1.0291 1 166.775943175768 249.38223610259794 0 0 0 0 +1922 1 2.2877 1 167.26223175685064 273.9372201231534 0 0 0 0 +3132 1 1.7837 1 154.37827976043707 247.7707653305924 0 0 0 0 +3576 1 1.675 1 166.0051863454952 269.5751681231224 0 0 0 0 +3139 1 1.7816 1 154.7411037884877 259.02511084183647 0 0 0 0 +3216 1 1.761 1 156.9268928488313 248.09897669232564 0 0 0 0 +3242 1 1.7546 1 142.00944150665353 269.1477551941695 0 0 0 0 +7873 1 1.1231 1 167.27850159507344 256.5130055096547 0 0 0 0 +3290 1 1.743 1 146.00496687078845 250.2880574550516 0 0 0 0 +3311 1 1.7375 1 145.69959921893874 248.52147929771132 0 0 0 0 +6263 1 1.2636 1 165.77919976705135 272.98015007099855 0 0 0 0 +9227 1 1.0407 1 166.43597001432005 272.08692595492346 0 0 0 0 +3449 1 1.7045 1 162.6096806746086 235.67008806748686 0 0 0 0 +9312 1 1.0356 1 143.39269479698524 269.32792743836904 0 0 0 0 +9842 1 1.0082 1 139.12898675990354 264.690060499356 0 0 0 0 +3967 1 1.5931 1 166.6900331671318 253.64965996055813 0 0 0 0 +3615 1 1.6685 1 168.77664669215906 241.45934803865265 0 0 0 0 +3636 1 1.665 1 122.78149848840572 276.7356321979958 0 0 0 0 +1982 1 2.2523 1 162.9244043517428 264.94693302402305 0 0 0 0 +3676 1 1.6543 1 162.82804608806336 230.34147949794658 0 0 0 0 +3707 1 1.645 1 168.88785909454677 243.1089786112322 0 0 0 0 +3770 1 1.6358 1 144.71788695981223 269.78365296076305 0 0 0 0 +3799 1 1.6293 1 127.84941428423451 271.4716186953178 0 0 0 0 +3842 1 1.6189 1 137.66950878889475 269.5980963980257 0 0 0 0 +3844 1 1.6187 1 154.9316794545755 265.8182334935231 0 0 0 0 +3901 1 1.6071 1 149.25528827520068 272.8133940765475 0 0 0 0 +3906 1 1.6063 1 137.0975724856665 274.1480394714212 0 0 0 0 +7817 1 1.1278 1 168.92442377149567 263.75295018124706 0 0 0 0 +5543 1 1.3452 1 162.97447054404327 266.71658119781694 0 0 0 0 +3992 1 1.5883 1 149.83370166130362 259.17606624338885 0 0 0 0 +847 1 3.4624 1 169.10624247991288 231.76225657493998 0 0 0 0 +4009 1 1.5814 1 151.37082336303834 265.30359970025523 0 0 0 0 +2828 1 1.8855 1 165.671287281796 266.1667259232718 0 0 0 0 +4080 1 1.5698 1 136.19572806932933 269.111285051835 0 0 0 0 +4092 1 1.5681 1 157.97989999408836 249.3841905702829 0 0 0 0 +4163 1 1.5559 1 134.11440976093203 265.13918835395697 0 0 0 0 +4692 1 1.4658 1 163.04764863946113 274.7668196628184 0 0 0 0 +4229 1 1.546 1 124.2394582468347 276.12133938309915 0 0 0 0 +4253 1 1.542 1 159.37665586512563 250.02425512144183 0 0 0 0 +4255 1 1.5417 1 128.14623608522393 276.0122055331364 0 0 0 0 +4301 1 1.5324 1 134.0671972110928 273.34062502027393 0 0 0 0 +8934 1 1.0559 1 155.70704077134477 261.2811535125389 0 0 0 0 +4396 1 1.5155 1 160.2780554922402 248.34453448230653 0 0 0 0 +4311 1 1.5309 1 167.92128419699264 268.6633109675531 0 0 0 0 +4507 1 1.4958 1 139.8145266717678 274.28142638349425 0 0 0 0 +4552 1 1.4889 1 164.15873875988177 235.60229931038663 0 0 0 0 +9846 1 1.0078 1 145.73594442341494 258.3218411537166 0 0 0 0 +9752 1 1.0128 1 161.95111618244928 266.2291923215276 0 0 0 0 +4853 1 1.4409 1 144.31590315923097 250.68592751615788 0 0 0 0 +2872 1 1.8702 1 165.26417172804042 271.30576979034777 0 0 0 0 +6454 1 1.2472 1 162.73308160392557 276.04573890166046 0 0 0 0 +8716 1 1.069 1 165.76600369986892 263.89776553830336 0 0 0 0 +5005 1 1.4199 1 154.97453821438896 253.66788884708674 0 0 0 0 +5017 1 1.418 1 156.56078275191237 246.54415324745747 0 0 0 0 +6205 1 1.2712 1 167.02165459770524 255.03437726720512 0 0 0 0 +5051 1 1.4132 1 123.71214627685873 274.81778099797776 0 0 0 0 +5057 1 1.4121 1 158.1931176473406 226.53055513238098 0 0 0 0 +5079 1 1.4078 1 164.17673746837883 250.1850104000077 0 0 0 0 +5105 1 1.4036 1 146.2260696540503 277.4861557803957 0 0 0 0 +5215 1 1.3872 1 139.2815506542009 258.6037176087906 0 0 0 0 +5232 1 1.3847 1 146.87219050181005 258.29218019095356 0 0 0 0 +5241 1 1.3831 1 154.9177756434448 264.3628464181816 0 0 0 0 +5263 1 1.3806 1 155.1830763170448 246.37024290764424 0 0 0 0 +1523 1 2.5514 1 158.096192270059 262.7530582126904 0 0 0 0 +9087 1 1.0477 1 164.03217285506955 266.2029179199081 0 0 0 0 +5304 1 1.3748 1 164.5150344392587 234.2463203963554 0 0 0 0 +5309 1 1.3746 1 130.88366463147952 276.42696481079037 0 0 0 0 +8989 1 1.0532 1 142.02947626560487 274.9110278418668 0 0 0 0 +5377 1 1.3669 1 155.19216900687556 227.6510261664071 0 0 0 0 +5391 1 1.3646 1 157.93093254215634 246.4000941664785 0 0 0 0 +5394 1 1.3644 1 165.0805851433962 227.27078181449951 0 0 0 0 +5255 1 1.3814 1 169.01488143688204 251.43451616836978 0 0 0 0 +5429 1 1.359 1 130.23306709506173 269.1451705736255 0 0 0 0 +5436 1 1.3584 1 153.03408339041982 239.5556251807705 0 0 0 0 +5459 1 1.3551 1 143.44100214570756 270.5217588035753 0 0 0 0 +5050 1 1.4135 1 164.51727698056763 269.9273941219909 0 0 0 0 +5534 1 1.3466 1 145.24256921518509 251.62419924507796 0 0 0 0 +5595 1 1.338 1 166.41553748749985 227.08289572981315 0 0 0 0 +9049 1 1.05 1 152.5660737093648 228.97050692563835 0 0 0 0 +8916 1 1.0569 1 168.03600613322504 250.76515601801736 0 0 0 0 +8876 1 1.0587 1 149.49120993251117 242.26506688452614 0 0 0 0 +1082 1 3.0413 1 168.55497159283414 224.78949733178692 0 0 0 0 +3294 1 1.7417 1 164.4094471457657 263.6294396961058 0 0 0 0 +9649 1 1.0179 1 164.50022574223075 265.3134197231762 0 0 0 0 +5914 1 1.3034 1 139.18226238487242 262.7791197868318 0 0 0 0 +5915 1 1.3033 1 130.8845516710958 277.7488961336996 0 0 0 0 +5949 1 1.2999 1 167.59720646098828 227.6644570004354 0 0 0 0 +9005 1 1.0525 1 126.73622102187485 272.14987655664765 0 0 0 0 +6014 1 1.2928 1 153.4206718415848 267.9711228281948 0 0 0 0 +6047 1 1.2891 1 161.834656181835 236.92943714351907 0 0 0 0 +6201 1 1.2715 1 156.8032444897418 243.38371985054906 0 0 0 0 +6202 1 1.2714 1 138.47513208324875 274.38601249992485 0 0 0 0 +6214 1 1.27 1 156.83024144604 261.3673809080015 0 0 0 0 +9853 1 1.0072 1 165.32105318117468 264.78421337078703 0 0 0 0 +6274 1 1.2627 1 134.174745407141 268.18734521268925 0 0 0 0 +7050 1 1.1896 1 165.052601462336 233.11907166085885 0 0 0 0 +6345 1 1.2575 1 141.95112643791737 254.42078342617188 0 0 0 0 +3111 1 1.7942 1 168.04401753976495 276.4734481840851 0 0 0 0 +6404 1 1.2512 1 165.81051990743777 228.28853621216606 0 0 0 0 +6421 1 1.25 1 154.06281996938483 266.9134068868147 0 0 0 0 +9608 1 1.0203 1 146.4398110619522 246.12372282851342 0 0 0 0 +6443 1 1.2479 1 152.70918689429428 241.376808371549 0 0 0 0 +6167 1 1.2756 1 162.9193506228865 273.45406101325557 0 0 0 0 +6481 1 1.2451 1 158.13876774281115 227.85154583886688 0 0 0 0 +6584 1 1.2336 1 140.8525008818873 256.08727804544526 0 0 0 0 +6599 1 1.2316 1 137.54521665251008 268.2304857693369 0 0 0 0 +6609 1 1.231 1 155.1577941099474 267.4858290469782 0 0 0 0 +6669 1 1.225 1 156.93540922011522 242.15147856487476 0 0 0 0 +6684 1 1.2238 1 146.4421917103864 257.0707068701067 0 0 0 0 +6727 1 1.2197 1 146.10619378120774 270.03497707750597 0 0 0 0 +6777 1 1.2154 1 149.39051795465116 260.4802521343621 0 0 0 0 +3536 1 1.6855 1 167.63341560354007 239.03305999464038 0 0 0 0 +6792 1 1.2132 1 142.62358850358052 253.44946719888247 0 0 0 0 +6806 1 1.2117 1 155.69415872568487 260.1634243149424 0 0 0 0 +6817 1 1.2105 1 155.2944945673406 240.01845716233728 0 0 0 0 +8935 1 1.0559 1 146.34229219358622 251.64358807499949 0 0 0 0 +8951 1 1.0551 1 130.64951108931788 270.7858189188873 0 0 0 0 +7042 1 1.1901 1 146.3316658153784 255.87722418853397 0 0 0 0 +3499 1 1.6936 1 121.20344137959428 276.92092643319694 0 0 0 0 +7065 1 1.1887 1 150.7593223754856 248.1318472506616 0 0 0 0 +7164 1 1.1808 1 141.26784652650994 270.9972720546576 0 0 0 0 +7175 1 1.1802 1 138.91803568750908 265.7831447840273 0 0 0 0 +7227 1 1.1759 1 149.24814954675406 274.9461125478121 0 0 0 0 +9364 1 1.0328 1 160.0771804730076 225.6602155808666 0 0 0 0 +7265 1 1.1733 1 153.44795693269123 228.33929594893837 0 0 0 0 +7269 1 1.1731 1 166.51129048275698 238.24442823655937 0 0 0 0 +7322 1 1.1686 1 146.1143012501545 247.1488251671662 0 0 0 0 +5179 1 1.3913 1 167.02725621494858 257.85151511720346 0 0 0 0 +7431 1 1.1589 1 162.03136757731426 231.4011759327807 0 0 0 0 +7446 1 1.1572 1 134.8585846127574 269.17273154768014 0 0 0 0 +7468 1 1.1555 1 125.97459828378976 276.76478391015786 0 0 0 0 +7581 1 1.1454 1 143.8380693442461 253.89668618659283 0 0 0 0 +7662 1 1.1392 1 157.3904864412211 245.28155615334884 0 0 0 0 +7670 1 1.1387 1 162.04610161233347 229.28522484796235 0 0 0 0 +7704 1 1.136 1 153.83345204048823 264.9960183947421 0 0 0 0 +7732 1 1.1341 1 163.94104127958806 237.00589319812912 0 0 0 0 +7759 1 1.1315 1 133.6404676212916 272.0913789159032 0 0 0 0 +7804 1 1.1285 1 131.83851611967896 275.6617509011619 0 0 0 0 +7815 1 1.1279 1 159.0003076149582 248.56965688920448 0 0 0 0 +7855 1 1.1247 1 144.79568771555768 249.5564297501819 0 0 0 0 +7887 1 1.1222 1 132.83461898969676 273.28963819004963 0 0 0 0 +7937 1 1.1188 1 168.05992928546306 240.32512792160253 0 0 0 0 +8999 1 1.0526 1 166.2666475802333 247.49973287775953 0 0 0 0 +7977 1 1.1161 1 152.5954973790996 252.43878506676134 0 0 0 0 +5889 1 1.306 1 157.56404375121159 267.6448050607058 0 0 0 0 +8016 1 1.1136 1 140.8446111645621 269.9451665611215 0 0 0 0 +8855 1 1.0598 1 147.7951453458884 259.0258370553555 0 0 0 0 +8084 1 1.1084 1 158.227787760782 247.58270217725692 0 0 0 0 +9661 1 1.0174 1 150.37188869598967 264.4927352948034 0 0 0 0 +8150 1 1.1047 1 148.6104762745269 259.6677277013124 0 0 0 0 +3712 1 1.6447 1 160.1154634524179 268.5278968021922 0 0 0 0 +8298 1 1.0948 1 159.2922942493982 247.52486410012438 0 0 0 0 +8343 1 1.091 1 148.97562403440483 254.36542395760253 0 0 0 0 +8401 1 1.0876 1 156.2400677396297 225.92391444140958 0 0 0 0 +9488 1 1.0265 1 155.72597271929942 247.43074847695323 0 0 0 0 +8407 1 1.0872 1 132.56363292194447 272.236244618293 0 0 0 0 +8469 1 1.0831 1 152.54222134306193 250.95395322045147 0 0 0 0 +8481 1 1.0822 1 131.15071333172816 268.372198659116 0 0 0 0 +8493 1 1.0813 1 134.16549210737458 275.96643755669925 0 0 0 0 +8505 1 1.0807 1 161.31682621343202 230.11549981173155 0 0 0 0 +5630 1 1.3336 1 165.59384212741486 234.96518890750625 0 0 0 0 +8549 1 1.0781 1 152.7541413869684 265.20793244646774 0 0 0 0 +8585 1 1.0762 1 142.5266505281136 271.5471480208159 0 0 0 0 +9555 1 1.0229 1 131.64528802606202 267.46814117437793 0 0 0 0 +8617 1 1.0738 1 148.86591478044275 276.32807170252715 0 0 0 0 +8647 1 1.0724 1 147.217125980304 246.71442620295437 0 0 0 0 +8662 1 1.0717 1 138.34645582927564 272.977443794793 0 0 0 0 +4235 1 1.5443 1 170.13638343077324 242.1903911065246 0 0 0 0 +6010 1 1.2934 1 169.1290224107455 234.56120013986808 0 0 0 0 +8710 1 1.0694 1 154.1529515151213 240.040671976377 0 0 0 0 +8781 1 1.0644 1 142.25535593289214 270.51735692607673 0 0 0 0 +3313 1 1.7366 1 156.58272212087493 264.84872508600085 0 0 0 0 +8807 1 1.0629 1 163.06440391425468 250.6071874954581 0 0 0 0 +8846 1 1.0605 1 141.0220007799307 274.66446460371066 0 0 0 0 +8849 1 1.0603 1 148.01582648771054 254.03928792577594 0 0 0 0 +4986 1 1.422 1 167.0040614977493 228.78317420527475 0 0 0 0 +2041 1 2.2179 1 167.28955632821493 235.2831444858081 0 0 0 0 +7707 1 1.1358 1 168.82728644807983 269.6112009151836 0 0 0 0 +3686 1 1.6522 1 147.65355137098692 277.0099388657996 0 0 0 0 +4044 1 1.5752 1 168.83596718364467 275.02493641723146 0 0 0 0 +1900 1 2.3007 1 169.71762874724246 262.1083795096526 0 0 0 0 +1458 1 2.6106 1 170.72855682254243 240.24100056111 0 0 0 0 +2409 1 2.0448 1 166.64799451200895 233.27081230825843 0 0 0 0 +706 1 3.7739 1 168.47150828178488 266.15467393108514 0 0 0 0 +5045 1 1.4139 1 169.84702893013997 258.8751286448506 0 0 0 0 +2706 1 1.9271 1 168.13135072498238 252.7752310985086 0 0 0 0 +6429 1 1.2493 1 168.9513927529838 239.63435242849272 0 0 0 0 +8106 1 1.1072 1 167.20446976205446 237.3610559195515 0 0 0 0 +5837 1 1.3108 1 153.56329158407894 224.93040989098003 0 0 0 0 +1440 1 2.6337 1 165.9591245514094 275.99137264418425 0 0 0 0 +1785 1 2.3651 1 169.04192658000136 228.77533486136866 0 0 0 0 +5237 1 1.3838 1 169.59085293281422 276.27407308657155 0 0 0 0 +9265 1 1.0386 1 170.50268680601457 251.57659995986475 0 0 0 0 +9647 1 1.0181 1 163.561278008989 276.711907789334 0 0 0 0 +4981 1 1.4227 1 168.70171339962158 226.95147212195192 0 0 0 0 +7081 1 1.1877 1 162.60344632379378 277.2497108894228 0 0 0 0 +4429 1 1.5094 1 169.8201538524352 260.26626857738216 0 0 0 0 +1709 1 2.416 1 169.5827830445495 273.2194096817496 0 0 0 0 +1920 1 2.2882 1 153.6832627301876 226.67958622449993 0 0 0 0 +6790 1 1.2135 1 168.1415769613114 233.8412070185709 0 0 0 0 +2878 1 1.8684 1 132.74549671048936 276.7097737913625 0 0 0 0 +2191 1 2.1432 1 170.46093298765774 264.0983015902085 0 0 0 0 +8062 1 1.1101 1 155.3272885675477 226.44513312503406 0 0 0 0 +590 1 4.0484 1 169.71846764088866 237.14377394255726 0 0 0 0 +8295 1 1.095 1 132.0138672691751 277.9675030804237 0 0 0 0 +4020 1 1.5795 1 169.63124758275683 268.53075383946583 0 0 0 0 +576 1 4.1084 1 169.65388742165283 255.33922036945495 0 0 0 0 +8691 1 1.0703 1 166.69588930130666 277.69451343298897 0 0 0 0 +4908 1 1.4311 1 154.88747988069852 225.26452363769243 0 0 0 0 +4626 1 1.4774 1 169.77317956480326 252.5765743214995 0 0 0 0 +3400 1 1.715 1 156.93851666266866 224.78092311268574 0 0 0 0 +51 1 12.9437 1 165.8849249911097 305.3905481520102 0 0 0 0 +59 1 12.4444 1 123.41448146035336 312.8656719167065 0 0 0 0 +97 1 9.6308 1 149.11601496699373 305.53244199402667 0 0 0 0 +101 1 9.5763 1 133.46548675130973 316.88761499673507 0 0 0 0 +3573 1 1.6752 1 149.9395754123768 284.77999027213616 0 0 0 0 +125 1 8.6209 1 155.41543495624705 287.6483000481368 0 0 0 0 +134 1 8.1639 1 129.16016574910796 324.4670360260374 0 0 0 0 +281 1 5.9042 1 167.63114109879336 291.87819832141025 0 0 0 0 +287 1 5.8529 1 141.1775127580591 312.5558589075399 0 0 0 0 +292 1 5.8145 1 142.75818098547387 319.3197830750492 0 0 0 0 +293 1 5.8106 1 131.37460526753756 301.8360816666201 0 0 0 0 +304 1 5.7099 1 156.6957590910526 305.6171927241587 0 0 0 0 +8742 1 1.0674 1 122.64759921238881 280.243074914773 0 0 0 0 +351 1 5.3297 1 162.4852278918853 295.5230818176945 0 0 0 0 +446 1 4.6634 1 161.9345203714364 287.05469350109206 0 0 0 0 +6226 1 1.268 1 148.36474134526748 285.5894918935471 0 0 0 0 +488 1 4.4502 1 133.06216034793104 296.9897351021732 0 0 0 0 +531 1 4.2597 1 146.86095045778688 315.42618610198207 0 0 0 0 +8687 1 1.0706 1 132.76640761884164 305.778925344136 0 0 0 0 +710 1 3.7648 1 159.2814476487336 292.39721924879836 0 0 0 0 +713 1 3.7604 1 129.1432173028016 294.5759144446556 0 0 0 0 +736 1 3.7072 1 153.37918321610317 297.8946737421053 0 0 0 0 +748 1 3.6912 1 124.75280624247195 320.73227454821676 0 0 0 0 +7222 1 1.1764 1 170.51220765623086 300.14681930058106 0 0 0 0 +764 1 3.6516 1 119.96231349308461 324.34289636888093 0 0 0 0 +769 1 3.6463 1 125.14169137240928 328.6100471684134 0 0 0 0 +2049 1 2.2114 1 126.28541311310785 304.70165816182583 0 0 0 0 +783 1 3.6196 1 165.9825794175085 286.8491551679596 0 0 0 0 +803 1 3.5823 1 138.09712056706664 309.1748814517303 0 0 0 0 +815 1 3.5499 1 158.3824572925315 299.08410622510854 0 0 0 0 +819 1 3.5434 1 152.64698166996192 294.4388527294686 0 0 0 0 +2867 1 1.8729 1 118.71116921465894 280.0484868089377 0 0 0 0 +835 1 3.4964 1 161.18993232192278 282.8708738614248 0 0 0 0 +857 1 3.4464 1 143.79674545944536 297.45658485542685 0 0 0 0 +8880 1 1.0584 1 150.42407470086707 293.9295868022489 0 0 0 0 +927 1 3.2989 1 156.43726277192303 296.29789869942306 0 0 0 0 +944 1 3.257 1 155.84850338373187 312.4731788768011 0 0 0 0 +1011 1 3.1586 1 139.48503428839953 303.35847018338563 0 0 0 0 +9828 1 1.0087 1 123.0257036561654 327.73012188663756 0 0 0 0 +1078 1 3.0443 1 138.51789101806386 320.51902545553656 0 0 0 0 +1122 1 2.986 1 123.74600488218945 325.6649257592738 0 0 0 0 +1160 1 2.9444 1 131.5065597608966 291.5845138664933 0 0 0 0 +1161 1 2.9432 1 164.33842570338928 282.82854784711213 0 0 0 0 +1168 1 2.9362 1 136.17075534034896 293.2463669041783 0 0 0 0 +1204 1 2.9015 1 140.45980583009688 323.3852516028246 0 0 0 0 +187 1 7.0567 1 121.89173347544245 303.5833871331683 0 0 0 0 +9759 1 1.0124 1 130.26571406979454 311.47452647309046 0 0 0 0 +9746 1 1.013 1 142.8937685297219 306.82178074298633 0 0 0 0 +1308 1 2.783 1 136.4051572675059 306.60032447247227 0 0 0 0 +1337 1 2.75 1 150.26416135284336 282.6102230932203 0 0 0 0 +1366 1 2.7215 1 129.11801561751628 308.00433543217855 0 0 0 0 +1380 1 2.7021 1 122.75270800911292 323.0740160428193 0 0 0 0 +1397 1 2.6833 1 163.57217163988847 290.66499014000857 0 0 0 0 +1448 1 2.6234 1 136.70382344115077 302.87970864587743 0 0 0 0 +1473 1 2.6016 1 117.68511506619942 322.33428555515195 0 0 0 0 +1546 1 2.5345 1 142.04798959605122 302.2184234414205 0 0 0 0 +1558 1 2.5266 1 148.9456210853189 311.52157094148686 0 0 0 0 +1582 1 2.5066 1 140.15538819648714 300.64405957425606 0 0 0 0 +1653 1 2.4518 1 136.3244835988391 295.9327534945313 0 0 0 0 +6728 1 1.2197 1 118.98157872806311 307.6896844068483 0 0 0 0 +1812 1 2.3493 1 141.26798094379197 306.89682247796253 0 0 0 0 +1816 1 2.3462 1 142.38639058755035 299.8631059609578 0 0 0 0 +1817 1 2.3461 1 158.3075832642926 283.0872397076912 0 0 0 0 +1832 1 2.3394 1 145.5700544693549 310.30989832410677 0 0 0 0 +1833 1 2.3389 1 129.1367888531541 298.53359719508603 0 0 0 0 +8873 1 1.0589 1 125.02399942105006 301.0815462785466 0 0 0 0 +6113 1 1.2824 1 137.28612860919782 329.4060402251663 0 0 -1 0 +1862 1 2.3237 1 139.26158261051404 297.43164870478125 0 0 0 0 +1883 1 2.3117 1 143.4349267368048 304.12917750576014 0 0 0 0 +1895 1 2.3028 1 135.25724685772082 308.82344072132554 0 0 0 0 +1905 1 2.2967 1 134.28723850722736 324.8765769376196 0 0 0 0 +4236 1 1.544 1 128.95782136364824 329.1742596341469 0 0 0 0 +1938 1 2.2778 1 137.39044998966307 298.7253854974653 0 0 0 0 +1941 1 2.2763 1 152.7419919174235 283.01158888590504 0 0 0 0 +1965 1 2.2617 1 128.87947950638164 289.47278356726525 0 0 0 0 +1974 1 2.257 1 149.60370176332071 313.7453426063304 0 0 0 0 +1984 1 2.2505 1 146.7354671336918 312.22100725606794 0 0 0 0 +1991 1 2.2466 1 152.41122424956964 300.66869025373035 0 0 0 0 +2013 1 2.2308 1 146.98131572307622 318.6446254400383 0 0 0 0 +2032 1 2.2204 1 139.1147010251137 317.9788840851248 0 0 0 0 +5772 1 1.317 1 125.7956590510358 300.2032603293991 0 0 0 0 +2140 1 2.16 1 137.88971750715 300.86039693995605 0 0 0 0 +2147 1 2.1577 1 133.9568905435128 322.6896455458934 0 0 0 0 +2153 1 2.1556 1 148.352676598277 297.9043888651313 0 0 0 0 +2154 1 2.1554 1 133.0369402538998 311.15458834358145 0 0 0 0 +2176 1 2.1476 1 142.3189561928706 308.8228540368851 0 0 0 0 +2206 1 2.1342 1 161.26500609035728 290.3209046588113 0 0 0 0 +2247 1 2.1183 1 138.93319222952476 325.25459831908285 0 0 0 0 +2256 1 2.1151 1 119.93083763840005 321.52491100402204 0 0 0 0 +2275 1 2.1052 1 145.41277057917898 300.8527924208147 0 0 0 0 +6323 1 1.259 1 134.51260841600742 307.2375106789698 0 0 0 0 +2309 1 2.0852 1 166.10651076743684 295.8900524955717 0 0 0 0 +2349 1 2.0688 1 158.83548796602904 295.219016816146 0 0 0 0 +2367 1 2.0601 1 139.12387902169792 315.85911652279503 0 0 0 0 +2380 1 2.0554 1 131.91693241310202 293.9943508470489 0 0 0 0 +2391 1 2.0507 1 130.0173265564021 286.6845495355531 0 0 0 0 +1479 1 2.595 1 149.8208777110385 286.87853121776135 0 0 0 0 +2399 1 2.0483 1 127.66159885199713 318.72972596253175 0 0 0 0 +2411 1 2.0445 1 134.2631691441037 305.646745474247 0 0 0 0 +2414 1 2.0441 1 153.82177436383324 314.05011656163236 0 0 0 0 +3646 1 1.6631 1 160.55510153367484 279.8521500566987 0 0 0 0 +2462 1 2.0242 1 158.39697513130383 312.0771358702279 0 0 0 0 +2480 1 2.0171 1 135.96152071259343 311.71143871265497 0 0 0 0 +2558 1 1.9859 1 135.2033472417447 301.19657994526597 0 0 0 0 +2623 1 1.9589 1 151.60303076821563 313.2434283323769 0 0 0 0 +2658 1 1.9441 1 152.27940465374104 291.8315891492251 0 0 0 0 +8768 1 1.0652 1 133.91697081828076 328.9935638833088 0 0 0 0 +2668 1 1.9419 1 156.45278771152852 293.58665981919194 0 0 0 0 +2731 1 1.9176 1 169.09817938030696 287.35108918069443 0 0 0 0 +2734 1 1.9168 1 158.5993618923765 281.04545721341697 0 0 0 0 +2736 1 1.9153 1 149.4572716640311 316.9173062341199 0 0 0 0 +2742 1 1.9138 1 138.6693034299824 306.13710634665455 0 0 0 0 +2743 1 1.9137 1 162.35049159101183 280.47227770256757 0 0 0 0 +2758 1 1.9086 1 149.06459323472814 299.7833874225372 0 0 0 0 +2792 1 1.8954 1 143.5262409544789 315.60237537340925 0 0 0 0 +2798 1 1.8938 1 122.00326090769346 320.9344588350537 0 0 0 0 +2833 1 1.8845 1 155.00458293567922 302.20418350125306 0 0 0 0 +430 1 4.7556 1 141.08765904070847 294.47900094237934 0 0 0 0 +8143 1 1.1051 1 125.19111709690964 298.6072788647403 0 0 0 0 +26 1 20.2111 1 117.79665484958598 290.95767001659806 0 0 0 0 +2918 1 1.8578 1 152.21925388067862 315.01861795526594 0 0 0 0 +4407 1 1.5138 1 127.55441036812493 329.00323985223207 0 0 -1 0 +2094 1 2.1859 1 135.24316677790745 330.9450389845829 0 0 -1 0 +6571 1 1.2354 1 169.40241062264383 288.8387859876534 0 0 0 0 +2986 1 1.8365 1 150.37461642379714 295.7907809019069 0 0 0 0 +9841 1 1.0082 1 141.15527591338952 305.27152854275596 0 0 0 0 +3035 1 1.8163 1 133.36257203600624 308.2062110751933 0 0 0 0 +3044 1 1.8138 1 154.6610440849206 300.2290762471165 0 0 0 0 +3065 1 1.8085 1 160.9828675132677 298.6583408993993 0 0 0 0 +3086 1 1.8029 1 126.30876567385627 297.7257979676732 0 0 0 0 +3235 1 1.7559 1 146.2553563106967 299.13228433383836 0 0 0 0 +3279 1 1.7451 1 137.93871603116878 294.6903335700183 0 0 0 0 +3337 1 1.7316 1 130.82416723086175 289.3461267962865 0 0 0 0 +9724 1 1.0141 1 151.8202076789649 311.78007432895095 0 0 0 0 +3371 1 1.7232 1 154.53504734796843 309.2455558367874 0 0 0 0 +3403 1 1.7143 1 144.90067013960606 312.7185718015095 0 0 0 0 +3411 1 1.7122 1 159.79874601577208 309.36200864680495 0 0 0 0 +3456 1 1.702 1 128.3938915740471 287.59576344889 0 0 0 0 +3508 1 1.6924 1 159.66906405303027 284.8736301715967 0 0 0 0 +3632 1 1.6653 1 117.60470192727591 316.7371051355687 0 0 0 0 +3634 1 1.6652 1 137.14169837706982 325.26861707125624 0 0 0 0 +7014 1 1.1928 1 168.5625196732402 298.9561099483705 0 0 0 0 +3653 1 1.6615 1 137.60559434878462 304.77364692529136 0 0 0 0 +3655 1 1.661 1 140.80211105974777 298.665710733722 0 0 0 0 +3673 1 1.6544 1 127.58843226148254 286.1686751209786 0 0 0 0 +4687 1 1.4662 1 135.10833461886378 304.1335252628286 0 0 0 0 +3687 1 1.6518 1 159.0996902803267 302.8546495874464 0 0 0 0 +3709 1 1.6448 1 155.8143324818365 298.95129884256227 0 0 0 0 +3732 1 1.6425 1 166.48244643154132 298.16711835181474 0 0 0 0 +3759 1 1.6379 1 134.32498869244577 299.6771255916962 0 0 0 0 +3765 1 1.6371 1 133.7021697049333 293.9576747417092 0 0 0 0 +3813 1 1.6257 1 118.42846322601301 320.4556018940597 0 0 0 0 +3857 1 1.6164 1 153.14563952260607 312.43280484417 0 0 0 0 +3871 1 1.6132 1 136.4641637560867 321.53998953890476 0 0 0 0 +3883 1 1.6109 1 155.20335082828242 282.56277820719447 0 0 0 0 +3915 1 1.6044 1 159.83876752327012 301.4274723819034 0 0 0 0 +3978 1 1.5903 1 130.9168357678521 309.13812167644465 0 0 0 0 +4011 1 1.5813 1 157.2148823182884 309.45438511229816 0 0 0 0 +5451 1 1.3557 1 136.93904020933243 330.64978953014736 0 0 -1 0 +5848 1 1.3101 1 168.10012729717334 296.29236007654015 0 0 0 0 +4042 1 1.5755 1 150.88760229373324 316.02638564821785 0 0 0 0 +3465 1 1.7002 1 144.43036455762825 291.6044311286392 0 0 0 0 +2599 1 1.9679 1 117.72441137584764 305.16458893954774 0 0 0 0 +4122 1 1.5632 1 129.86150329618974 310.2609717616184 0 0 0 0 +4149 1 1.5585 1 160.82653865282848 300.2608351175058 0 0 0 0 +4166 1 1.5557 1 137.54308300345417 313.1484703668789 0 0 0 0 +1088 1 3.033 1 126.69559123640167 302.1409487901576 0 0 0 0 +7415 1 1.1601 1 128.92571655773696 278.7071300136949 0 0 0 0 +4257 1 1.5411 1 159.40628725665272 296.8633795013987 0 0 0 0 +4275 1 1.5373 1 141.54741211216924 326.4728028535596 0 0 0 0 +4283 1 1.536 1 157.20015600153295 301.2037513816495 0 0 0 0 +4360 1 1.5212 1 141.60544446836832 304.16139619199737 0 0 0 0 +9870 1 1.0063 1 144.97720138075007 302.2936064214645 0 0 0 0 +4366 1 1.5203 1 132.38262149038027 309.54206773494434 0 0 0 0 +4803 1 1.4483 1 143.0329736642663 292.1758565146455 0 0 0 0 +4420 1 1.5114 1 137.66664730463825 311.6410065159076 0 0 0 0 +4465 1 1.5031 1 147.13805963260353 300.4335727808701 0 0 0 0 +4468 1 1.5027 1 131.57764234205314 305.4398203191317 0 0 0 0 +4493 1 1.4986 1 159.6211540642388 310.9072254929557 0 0 0 0 +4496 1 1.498 1 155.9492472247239 310.20288075322503 0 0 0 0 +9557 1 1.0227 1 160.0116242538817 281.0167143859113 0 0 0 0 +4533 1 1.4927 1 131.32560249196973 310.6071584484573 0 0 0 0 +4549 1 1.4895 1 144.37089850923613 314.1874548359157 0 0 0 0 +4550 1 1.4892 1 148.7348910287677 295.80868638666254 0 0 0 0 +4615 1 1.4789 1 138.34966566726655 293.0252727369993 0 0 0 0 +239 1 6.2884 1 148.2921001748188 290.9553766772737 0 0 0 0 +4648 1 1.4736 1 130.49731917885669 306.385168892842 0 0 0 0 +794 1 3.6025 1 124.50134974975389 278.5892414196324 0 0 0 0 +4769 1 1.4531 1 164.40380829519128 288.80581624289334 0 0 0 0 +115 1 9.1551 1 170.1525262413811 281.46211715221204 0 0 0 0 +4895 1 1.4334 1 134.70433490733316 310.55992023788224 0 0 0 0 +4902 1 1.4321 1 136.5845818573831 323.89386853258014 0 0 0 0 +4951 1 1.4257 1 138.43815268716713 322.739687449885 0 0 0 0 +4956 1 1.4251 1 132.42744876418206 306.9296248796907 0 0 0 0 +4971 1 1.4236 1 152.4651563923688 309.8364480420084 0 0 0 0 +4975 1 1.4235 1 135.85523092626428 297.7662715125645 0 0 0 0 +4999 1 1.4203 1 141.3558613703773 316.08358929224863 0 0 0 0 +8541 1 1.0786 1 168.60243590648497 295.22003408960813 0 0 0 0 +9748 1 1.0129 1 164.89701081073318 298.4860361210307 0 0 0 0 +5066 1 1.4103 1 165.79352552427693 284.391238842834 0 0 0 0 +5070 1 1.4092 1 140.56630379601106 308.9788156449451 0 0 0 0 +5090 1 1.4052 1 143.69801863834022 301.16243786560307 0 0 0 0 +5102 1 1.4039 1 133.67265068627063 291.2212212151123 0 0 0 0 +5115 1 1.4004 1 154.88755911689134 293.0552905353842 0 0 0 0 +5124 1 1.3991 1 150.38696924995685 297.4008249759287 0 0 0 0 +3029 1 1.8183 1 126.78566100654902 306.6303696228584 0 0 0 0 +5158 1 1.3942 1 164.08473015367804 292.61118107766754 0 0 0 0 +5161 1 1.3936 1 155.06464831215453 294.43305324963126 0 0 0 0 +5936 1 1.3014 1 121.75182380871844 281.000718583366 0 0 0 0 +5185 1 1.3908 1 134.7590896501124 302.7929001527324 0 0 0 0 +5217 1 1.3871 1 150.62606276211412 300.2688623587101 0 0 0 0 +5220 1 1.3866 1 128.90571265487117 319.7943739919761 0 0 0 0 +4226 1 1.5463 1 131.15908520116363 307.62595819204125 0 0 0 0 +5315 1 1.3737 1 154.02749495292144 307.8596311482094 0 0 0 0 +5354 1 1.369 1 160.9600976963986 310.5111910321123 0 0 0 0 +9403 1 1.0303 1 130.7799018149254 331.5571397921298 0 0 -1 0 +5392 1 1.3646 1 133.43242266194883 326.48971618104804 0 0 0 0 +5478 1 1.3532 1 134.84798973028964 294.81622680994127 0 0 0 0 +5484 1 1.3525 1 135.6463445554312 299.10206728469353 0 0 0 0 +5535 1 1.3465 1 162.49219450731886 299.10457288040175 0 0 0 0 +5592 1 1.3383 1 165.2434613368901 297.36667525320985 0 0 0 0 +5626 1 1.3342 1 163.7303446130368 298.5987016087994 0 0 0 0 +5674 1 1.3295 1 159.29303535783026 307.9316593762292 0 0 0 0 +2971 1 1.8412 1 146.41706281080997 297.4074550287458 0 0 0 0 +5750 1 1.3204 1 121.65160422889396 326.1048504011395 0 0 0 0 +229 1 6.3363 1 127.66450687963325 282.22095186536853 0 0 0 0 +5862 1 1.3091 1 133.8816682005461 292.535708045372 0 0 0 0 +5894 1 1.3052 1 158.42715096089995 308.8441810329285 0 0 0 0 +5909 1 1.3043 1 140.6070708004402 325.45905517228294 0 0 0 0 +5927 1 1.302 1 167.8890039679574 288.3426664444229 0 0 0 0 +5981 1 1.2966 1 119.58643360326082 319.7061945166062 0 0 0 0 +3254 1 1.7522 1 144.11580525578123 293.29339298367853 0 0 0 0 +4362 1 1.521 1 170.47239680762283 310.9583464180486 0 0 0 0 +6026 1 1.292 1 118.51088211387047 319.0367535921125 0 0 0 0 +6058 1 1.2878 1 139.6003970992536 307.3619790234657 0 0 0 0 +6099 1 1.2831 1 139.0622274552557 299.1801108198178 0 0 0 0 +6115 1 1.2822 1 153.79467965027578 292.3177984730027 0 0 0 0 +6118 1 1.2817 1 143.9057987431385 302.4506422535826 0 0 0 0 +6123 1 1.2811 1 143.26556823638342 323.9261224658175 0 0 0 0 +6129 1 1.2806 1 143.78100707792922 310.15217245546063 0 0 0 0 +5149 1 1.3965 1 149.3931990743713 294.5670182197653 0 0 0 0 +6219 1 1.2685 1 155.92021440464652 300.94994744905546 0 0 0 0 +6224 1 1.2683 1 120.53872898423126 318.9655503763535 0 0 0 0 +1234 1 2.8731 1 170.37302423888164 298.16343241333215 0 0 0 0 +5408 1 1.3622 1 118.795159632556 306.4256850596296 0 0 0 0 +6250 1 1.2651 1 154.06515759672448 303.4141377708282 0 0 0 0 +6255 1 1.2645 1 152.72947058000292 311.1213050654585 0 0 0 0 +1218 1 2.891 1 130.991729501895 329.6299568773602 0 0 0 0 +6267 1 1.2633 1 127.45099283094123 298.55519219664075 0 0 0 0 +6282 1 1.262 1 147.56463220294162 296.42404917981787 0 0 0 0 +6290 1 1.2616 1 157.7726630973914 302.3935304180039 0 0 0 0 +6317 1 1.2594 1 163.00139464305832 284.36632070746805 0 0 0 0 +6344 1 1.2576 1 155.93124716419018 308.9051989707994 0 0 0 0 +6390 1 1.2524 1 140.09089984715726 305.5262087601985 0 0 0 0 +6444 1 1.2479 1 143.3959099527558 305.8469230226554 0 0 0 0 +6446 1 1.2478 1 148.08569503996958 294.6632788167083 0 0 0 0 +6491 1 1.2442 1 137.1436491140318 322.7360226300024 0 0 0 0 +6496 1 1.2434 1 136.38040128305795 300.14205681452245 0 0 0 0 +6511 1 1.242 1 153.4592561445116 302.34441126522836 0 0 0 0 +6527 1 1.2402 1 131.2794067896677 311.9573078622802 0 0 0 0 +6540 1 1.2383 1 138.21200461911076 314.4050601860403 0 0 0 0 +3757 1 1.6381 1 138.37957733556476 330.636363331709 0 0 -1 0 +2569 1 1.9825 1 161.829383656194 278.6212847557542 0 0 0 0 +6623 1 1.23 1 128.40945084526095 292.2484453827595 0 0 0 0 +6710 1 1.2213 1 130.22762745622947 312.5840129330945 0 0 0 0 +3230 1 1.7573 1 123.1759284711816 281.5004190468675 0 0 0 0 +6738 1 1.2191 1 154.71980220320688 310.6335494188636 0 0 0 0 +6753 1 1.2179 1 145.67446974865646 321.0029365492305 0 0 0 0 +6763 1 1.217 1 168.2143544434062 286.1601304656871 0 0 0 0 +6780 1 1.2152 1 147.31397721023282 310.616370825823 0 0 0 0 +6809 1 1.2117 1 133.73933575138474 309.65727736950765 0 0 0 0 +6814 1 1.2108 1 142.2483588864855 305.41876195242804 0 0 0 0 +6821 1 1.2103 1 120.7339281854651 320.13378944419185 0 0 0 0 +6867 1 1.2052 1 150.58548332938295 310.72588976531875 0 0 0 0 +6877 1 1.2042 1 157.3641118812579 310.8377767991256 0 0 0 0 +6892 1 1.2028 1 160.96491399648153 311.77096923296233 0 0 0 0 +6900 1 1.202 1 158.50061114195222 301.43983977140516 0 0 0 0 +957 1 3.239 1 145.90653816847706 294.9605487197385 0 0 0 0 +7012 1 1.193 1 142.33355158878615 325.3904799246969 0 0 0 0 +2506 1 2.0087 1 124.26540685342637 299.8164734827925 0 0 0 0 +7017 1 1.1923 1 150.7406877064547 311.93444831434255 0 0 0 0 +7026 1 1.1918 1 129.7220045875564 296.89048163525666 0 0 0 0 +7027 1 1.1917 1 135.36568245997546 323.53665080674386 0 0 0 0 +7030 1 1.1913 1 159.68623439472964 289.9658842229531 0 0 0 0 +7904 1 1.1209 1 127.59064283059107 297.09474483902875 0 0 0 0 +9666 1 1.0173 1 136.22458930067657 329.7441139046232 0 0 -1 0 +7075 1 1.188 1 164.28781791909964 284.92552782066167 0 0 0 0 +7079 1 1.1877 1 153.61695752771982 310.3379573075438 0 0 0 0 +9983 1 1.0011 1 130.83909294881366 298.53058299888056 0 0 0 0 +7129 1 1.1835 1 143.2470891740195 322.7201314785268 0 0 0 0 +7146 1 1.1826 1 128.17327096302344 300.6775311360803 0 0 0 0 +7161 1 1.1809 1 143.9584024578552 306.87977140442075 0 0 0 0 +7193 1 1.1786 1 128.44648989032024 291.09210368450607 0 0 0 0 +7214 1 1.1771 1 140.34607325907393 316.8486897427944 0 0 0 0 +3957 1 1.5944 1 127.13945532516338 299.87875720190937 0 0 0 0 +7226 1 1.176 1 136.23367072874316 304.6868392144522 0 0 0 0 +7249 1 1.174 1 162.1425941782133 311.3757579522185 0 0 0 0 +7304 1 1.1701 1 138.13021154057964 296.11605118267505 0 0 0 0 +7318 1 1.1687 1 151.42997415615602 299.32204258647914 0 0 0 0 +7324 1 1.1685 1 128.29643452389558 303.3354822057101 0 0 0 0 +7342 1 1.1668 1 132.8359201144181 328.8059289572602 0 0 0 0 +7349 1 1.166 1 131.02684440016364 287.9246712174799 0 0 0 0 +7395 1 1.1618 1 129.57986828015385 291.01418476959134 0 0 0 0 +7413 1 1.1601 1 148.52958887059748 318.0850278713561 0 0 0 0 +7433 1 1.1584 1 127.1808254003747 296.04332244028495 0 0 0 0 +9989 1 1.0006 1 126.1134725460627 299.1003303177364 0 0 0 0 +7447 1 1.1572 1 119.49492375627598 318.3789664198039 0 0 0 0 +9733 1 1.0136 1 133.0053408451334 304.79607232606475 0 0 0 0 +7567 1 1.1466 1 141.50019254478292 297.4091546211527 0 0 0 0 +7573 1 1.1462 1 134.80786904934524 291.76119078373443 0 0 0 0 +7635 1 1.1418 1 133.85624345496683 304.15782071301743 0 0 0 0 +7649 1 1.1404 1 151.06301580854316 285.5753623565856 0 0 0 0 +7654 1 1.1399 1 149.56437421258528 315.41842402833913 0 0 0 0 +7708 1 1.1357 1 156.47069793715636 302.2501244004386 0 0 0 0 +7787 1 1.1297 1 137.92207972519554 323.9348268561239 0 0 0 0 +7856 1 1.1247 1 165.4290818320555 294.4756764849163 0 0 0 0 +7870 1 1.1232 1 122.68357086497474 319.58906025717584 0 0 0 0 +7890 1 1.1221 1 129.57391747809464 292.1778483334397 0 0 0 0 +7933 1 1.119 1 121.61826114739877 319.40387215587884 0 0 0 0 +7936 1 1.1189 1 146.3776424834376 320.1392990080352 0 0 0 0 +7943 1 1.1185 1 143.91282028183872 308.97584848484513 0 0 0 0 +8032 1 1.1127 1 144.33123873999065 307.94245408995977 0 0 0 0 +8100 1 1.1074 1 167.14827632793566 297.0123523384392 0 0 0 0 +8131 1 1.1055 1 132.17307500730502 289.58623577418433 0 0 0 0 +7039 1 1.1904 1 130.07212007661244 285.08412267656195 0 0 0 0 +5469 1 1.3538 1 147.87956890750775 287.1638093145617 0 0 0 0 +8376 1 1.0888 1 144.9521710481478 321.86523688873194 0 0 0 0 +8394 1 1.0878 1 144.8934691104473 299.37924691475456 0 0 0 0 +8405 1 1.0874 1 118.63281043110746 317.65219397380645 0 0 0 0 +2461 1 2.0247 1 156.71941086738892 281.59276644222683 0 0 0 0 +8427 1 1.0861 1 129.9615312122184 288.2337568189231 0 0 0 0 +8429 1 1.0861 1 147.6540616721637 299.3047737447888 0 0 0 0 +4192 1 1.5506 1 151.47675264831352 284.35794324813816 0 0 0 0 +8516 1 1.08 1 148.10635207458574 313.09719054822824 0 0 0 0 +8540 1 1.0787 1 126.19614436153354 318.95099321865996 0 0 0 0 +9970 1 1.0021 1 143.32711847713966 307.70919653007905 0 0 0 0 +8586 1 1.0761 1 142.178625172841 324.30437153674825 0 0 0 0 +8589 1 1.0758 1 117.4495252331548 319.56013189943684 0 0 0 0 +8636 1 1.0728 1 130.47879106787187 297.61025240178486 0 0 0 0 +9999 1 1 1 136.08239914443027 310.2321433148891 0 0 0 0 +8718 1 1.0688 1 165.08589926002955 281.01515237460364 0 0 0 0 +8766 1 1.0654 1 140.21055941545427 321.5155910060927 0 0 0 0 +7110 1 1.1849 1 125.33008428081645 306.18702398435465 0 0 0 0 +8792 1 1.0638 1 153.9606929331296 311.42562966883844 0 0 0 0 +8794 1 1.0637 1 151.74503392710437 290.50651670670965 0 0 0 0 +8800 1 1.0634 1 137.61511007774303 297.0929546187466 0 0 0 0 +1147 1 2.9602 1 128.7115306141562 305.26620836501024 0 0 0 0 +9727 1 1.014 1 149.40560452442432 296.7940207862646 0 0 0 0 +9966 1 1.0022 1 134.4770181965449 311.731870805958 0 0 0 0 +8928 1 1.0562 1 158.46811025678073 310.1162676563385 0 0 0 0 +8275 1 1.0966 1 167.53326866102864 295.30370553630394 0 0 0 0 +8963 1 1.0546 1 142.34866161764742 323.2628671824654 0 0 0 0 +3127 1 1.7854 1 152.00430349937997 281.2110666380405 0 0 0 0 +9009 1 1.0523 1 144.29740375798477 322.6623666733043 0 0 0 0 +9014 1 1.052 1 128.6296981405703 296.91952637964386 0 0 0 0 +9017 1 1.0518 1 132.09543814805642 327.9995392952984 0 0 0 0 +9019 1 1.0518 1 144.94587150618761 308.79032474535774 0 0 0 0 +9024 1 1.0514 1 144.0654788024273 300.01247088012866 0 0 0 0 +9053 1 1.05 1 132.9385059552863 290.2875619581216 0 0 0 0 +9079 1 1.0483 1 122.30224629876362 327.04736842388735 0 0 0 0 +9085 1 1.048 1 150.83518626818883 314.7507606717623 0 0 0 0 +9088 1 1.0476 1 165.5863682800231 289.1199203103337 0 0 0 0 +9106 1 1.0469 1 135.52404009745612 322.444929360893 0 0 0 0 +9135 1 1.0453 1 151.66843218117185 310.7601829623711 0 0 0 0 +9693 1 1.0159 1 163.7295496666418 280.9535889496208 0 0 0 0 +9170 1 1.0434 1 135.8639572564325 325.13627056335315 0 0 0 0 +9175 1 1.0431 1 143.83379210808627 295.2375920990788 0 0 0 0 +739 1 3.7041 1 135.71874699498036 327.49279451695 0 0 -1 0 +9230 1 1.0405 1 149.9650870372039 298.5455192551334 0 0 0 0 +9236 1 1.0401 1 156.91337991949322 292.2042594945115 0 0 0 0 +9249 1 1.0394 1 153.8633040528574 301.3339623112353 0 0 0 0 +9275 1 1.038 1 128.84393063300962 285.7021730554273 0 0 0 0 +9990 1 1.0006 1 157.74579137925087 294.19491751754265 0 0 0 0 +9904 1 1.0049 1 132.03187520242065 308.4077996825949 0 0 0 0 +9390 1 1.0313 1 151.06824820152843 298.3380998643687 0 0 0 0 +9396 1 1.0309 1 162.0797032841269 292.0245096844835 0 0 0 0 +9411 1 1.0301 1 153.23032979133836 308.8870312471259 0 0 0 0 +9434 1 1.0291 1 144.40000721270385 311.4608728157541 0 0 0 0 +9523 1 1.0246 1 151.38156745029448 296.7326912690892 0 0 0 0 +9556 1 1.0229 1 145.69009244730486 317.71460511499293 0 0 0 0 +6246 1 1.2657 1 130.10690159659947 278.7304894192188 0 0 0 0 +9563 1 1.0222 1 159.9148896227588 312.12018598976675 0 0 0 0 +9583 1 1.0215 1 124.60238774141936 323.3076715730421 0 0 0 0 +9594 1 1.0211 1 128.28066234045193 317.39314001881485 0 0 0 0 +8244 1 1.0984 1 148.35670743703983 282.45016816412016 0 0 0 0 +7682 1 1.1377 1 119.92598532216343 307.09239542113 0 0 0 0 +2322 1 2.0793 1 153.93244861480005 281.2573654050513 0 0 0 0 +9697 1 1.0156 1 169.1656661144711 296.67344364594584 0 0 0 0 +35 1 17.3577 1 139.21919499608785 283.6595679609764 0 0 0 0 +2092 1 2.1873 1 133.23577863356408 330.4340357917791 0 0 -1 0 +8910 1 1.057 1 152.3349687344703 279.91609417809366 0 0 0 0 +4052 1 1.5742 1 148.6091895169922 283.9410124223099 0 0 0 0 +7899 1 1.1215 1 120.10583452733844 280.5633971293571 0 0 0 0 +5365 1 1.3683 1 130.69132574129247 279.87889496687274 0 0 0 0 +1947 1 2.2706 1 148.5683637908351 280.7830121641271 0 0 0 0 +8748 1 1.0671 1 124.31939334563636 280.8475815209164 0 0 0 0 +6720 1 1.2204 1 117.81981387290307 303.5990692982362 0 0 0 0 +654 1 3.8779 1 139.46841175273116 328.14178257695403 0 0 0 0 +9363 1 1.0328 1 137.799945863707 326.39991141415464 0 0 0 0 +5680 1 1.3289 1 139.8078659525048 330.69673790733424 0 0 0 0 +8904 1 1.0573 1 133.32186839796225 327.698617541342 0 0 0 0 +3670 1 1.6556 1 150.49723082904845 280.44828879598793 0 0 0 0 +8850 1 1.0602 1 131.36144791167544 278.83038988201116 0 0 0 0 +6946 1 1.1984 1 151.39642396407888 279.34771627745016 0 0 0 0 +6140 1 1.2796 1 125.23363670253516 331.0611803209229 0 0 0 0 +4076 1 1.5705 1 168.24910311100712 297.6764627562475 0 0 0 0 +8783 1 1.0642 1 122.34557902068376 279.2769359791758 0 0 0 0 +4001 1 1.5834 1 121.15078829314272 279.73734348242664 0 0 0 0 +1258 1 2.8442 1 170.53738893421402 295.34634382354403 0 0 0 0 +6024 1 1.2921 1 170.45776860644187 286.5718807092528 0 0 0 0 +9168 1 1.0436 1 170.50852081615733 287.6572664923533 0 0 0 0 +3087 1 1.8028 1 147.2563449145051 278.6790910030509 0 0 0 0 +754 1 3.6793 1 164.5280755463771 278.7536672855788 0 0 0 0 +6362 1 1.2557 1 170.79488143997227 293.36921187579003 0 0 0 0 +6935 1 1.1994 1 117.46458303862826 279.2428672081076 0 0 0 0 +1048 1 3.0915 1 149.54888733753634 278.3213642029231 0 0 0 0 +5270 1 1.3796 1 121.67380977143819 278.33220508029746 0 0 0 0 +1756 1 2.3824 1 119.82184623139077 278.3419429547504 0 0 0 0 +8042 1 1.1118 1 117.26592184535805 280.34623880667874 0 0 0 0 +3953 1 1.5956 1 117.36091062188781 318.27010445143816 0 0 0 0 +4679 1 1.4677 1 218.70016706298168 49.02766499046681 0 0 0 0 +28 1 18.2798 1 207.61988244866268 38.48252105141589 0 0 0 0 +3206 1 1.765 1 221.97727191876285 59.77231684414928 0 0 0 0 +91 1 9.7917 1 200.698745623329 25.322287810086475 0 0 0 0 +99 1 9.6121 1 176.57765672658923 56.13268817380558 0 0 0 0 +155 1 7.5388 1 186.03256416811087 48.82246522248466 0 0 0 0 +175 1 7.2823 1 221.20156420084675 21.909391487548294 0 0 0 0 +191 1 6.9532 1 208.3183803413785 17.2133160793835 0 0 0 0 +6349 1 1.2571 1 217.80482157332503 62.589396028251464 0 0 0 0 +211 1 6.6259 1 188.36782021312615 57.31079958509568 0 0 0 0 +282 1 5.891 1 179.6070759889226 47.96513363117886 0 0 0 0 +9485 1 1.0266 1 199.89052463749138 12.348318664303322 0 0 1 0 +324 1 5.5046 1 172.37855473665238 49.92497978757061 0 0 0 0 +5687 1 1.3277 1 210.896579457652 58.56567604295485 0 0 0 0 +9788 1 1.0104 1 196.7899604881245 21.81089251863354 0 0 0 0 +395 1 4.9575 1 212.40547518298635 24.164655844490973 0 0 0 0 +457 1 4.6328 1 194.36432378733275 34.725003199369034 0 0 0 0 +3104 1 1.7963 1 216.64082817871235 14.281816206881745 0 0 1 0 +568 1 4.1356 1 195.31392935629654 38.87464925208884 0 0 0 0 +583 1 4.081 1 214.10252481164324 15.74331769797977 0 0 0 0 +586 1 4.0717 1 195.85072505103352 42.924658736314285 0 0 0 0 +610 1 3.9881 1 203.29454272906918 15.174412433208618 0 0 0 0 +5942 1 1.3005 1 218.92662235936086 63.19285109036841 0 0 0 0 +616 1 3.9773 1 198.58913796537752 18.788281753495127 0 0 0 0 +626 1 3.9408 1 206.30777192635645 49.35686106320091 0 0 0 0 +639 1 3.913 1 183.25673863598107 56.27533417794124 0 0 0 0 +3112 1 1.7942 1 220.25896528092554 48.69276831585339 0 0 0 0 +662 1 3.8583 1 206.75017749727212 22.297801696090666 0 0 0 0 +705 1 3.7756 1 217.49712326609645 33.25758526028224 0 0 0 0 +782 1 3.6199 1 213.01476324969704 28.61917328951244 0 0 0 0 +2886 1 1.866 1 223.23374127992238 10.517227283247703 0 0 1 0 +914 1 3.3299 1 196.50912804436862 47.98386240657916 0 0 0 0 +966 1 3.223 1 217.16274066355896 25.19634585832399 0 0 0 0 +987 1 3.1999 1 192.6160176950659 52.835567241220005 0 0 0 0 +4826 1 1.4452 1 223.41282732203265 18.170707634593956 0 0 0 0 +1004 1 3.1748 1 197.00252708723337 32.02074556548928 0 0 0 0 +6331 1 1.2586 1 220.43300942259094 35.246057713096015 0 0 0 0 +9692 1 1.0159 1 207.9429807104663 52.40981292307315 0 0 0 0 +8083 1 1.1085 1 220.40436140615296 41.54058119660679 0 0 0 0 +1265 1 2.8347 1 199.66662660814765 46.75056268974613 0 0 0 0 +1331 1 2.7556 1 192.61390037890723 49.90971842846073 0 0 0 0 +1359 1 2.7307 1 216.65025377827925 28.67810397768501 0 0 0 0 +7429 1 1.159 1 207.0894413753458 51.759116595431195 0 0 0 0 +1437 1 2.637 1 221.272024796167 50.571791248130914 0 0 0 0 +1438 1 2.6364 1 212.75516810430025 18.756549274759763 0 0 0 0 +1451 1 2.6201 1 193.0027893619391 41.284798881095725 0 0 0 0 +1455 1 2.6149 1 190.31569416021432 51.28505448000392 0 0 0 0 +1502 1 2.5756 1 208.06826750683635 28.165059853524564 0 0 0 0 +5452 1 1.3556 1 213.25916907884277 59.610543368139844 0 0 0 0 +1553 1 2.5315 1 210.36276200888773 27.20687609078855 0 0 0 0 +1682 1 2.4333 1 186.71841286955316 61.47058677022761 0 0 0 0 +1697 1 2.4271 1 202.7495593740853 47.602155377167215 0 0 0 0 +1708 1 2.4165 1 216.50289431211192 18.429281494282126 0 0 0 0 +1743 1 2.3881 1 192.7600719705101 43.75082022593835 0 0 0 0 +1773 1 2.3714 1 190.4625093340613 44.22047603731888 0 0 0 0 +9291 1 1.0372 1 199.12495969162697 50.957044003247326 0 0 0 0 +1814 1 2.3476 1 206.07949662395407 13.269525175331838 0 0 0 0 +192 1 6.9495 1 218.2604384978051 44.90467887794739 0 0 0 0 +1852 1 2.3298 1 203.8780382564637 18.243644293390602 0 0 0 0 +309 1 5.6606 1 221.39000326691837 13.715412583219754 0 0 1 0 +1923 1 2.2875 1 186.51526978347422 42.06813409272294 0 0 0 0 +1992 1 2.2465 1 184.66921613316262 43.355341881681625 0 0 0 0 +1996 1 2.2439 1 205.22601345929704 11.186785295813108 0 0 0 0 +1998 1 2.243 1 192.47547997582163 37.55354830265281 0 0 0 0 +4409 1 1.5135 1 211.87908876798204 57.55750079586156 0 0 0 0 +2046 1 2.2141 1 197.54228798603796 45.475044308669474 0 0 0 0 +2119 1 2.1709 1 199.49911648560237 32.54288918192154 0 0 0 0 +2172 1 2.1481 1 200.74083697416464 48.89521918244512 0 0 0 0 +1325 1 2.7618 1 217.90759647146996 40.107721648360545 0 0 0 0 +2200 1 2.1373 1 195.3064018079107 30.13989496394494 0 0 0 0 +2210 1 2.1325 1 213.52173052321882 50.88144460880875 0 0 0 0 +2231 1 2.1234 1 211.5392821666397 14.082692596869405 0 0 0 0 +2319 1 2.0804 1 184.64352158721428 62.197235961400885 0 0 0 0 +2333 1 2.0752 1 188.27671912729565 43.35773021472905 0 0 0 0 +2955 1 1.8459 1 202.23921927412138 10.327609243313105 0 0 0 0 +2413 1 2.0441 1 198.54691662768178 13.024100140128946 0 0 0 0 +2428 1 2.0366 1 215.17372249502338 26.881113409749087 0 0 0 0 +2493 1 2.0132 1 193.87756132350296 47.94388359832323 0 0 0 0 +2505 1 2.0087 1 191.95347855438112 45.77935884120117 0 0 0 0 +2512 1 2.0065 1 182.62115374810077 62.166494339594884 0 0 0 0 +2525 1 2.002 1 198.65343026292916 15.883288410899892 0 0 0 0 +2541 1 1.9923 1 202.46904938895486 19.76826674095495 0 0 0 0 +2552 1 1.989 1 194.68972312358662 51.366008084090176 0 0 0 0 +9113 1 1.0467 1 221.54191267401671 47.2165936604161 0 0 0 0 +2624 1 1.9583 1 211.37722270478397 52.33029473052778 0 0 0 0 +2691 1 1.9334 1 207.5648430655738 26.041337897375374 0 0 0 0 +2709 1 1.9266 1 190.07472820732286 46.33057896393863 0 0 0 0 +7640 1 1.141 1 221.30828926615166 36.042439817464384 0 0 0 0 +2739 1 1.9144 1 180.82311495358798 52.15357522488738 0 0 0 0 +2747 1 1.9119 1 197.42697128721883 36.28798882483354 0 0 0 0 +2763 1 1.9076 1 183.81087191788555 59.63672847103676 0 0 0 0 +2808 1 1.8911 1 187.3442216843581 53.25402895006283 0 0 0 0 +2820 1 1.8889 1 181.80059135563266 53.7710607968778 0 0 0 0 +2822 1 1.8881 1 220.90547732358255 17.38656332203911 0 0 0 0 +9777 1 1.0112 1 191.3393415084967 61.76943621863382 0 0 0 0 +2832 1 1.8848 1 188.46772649323105 41.435785830842526 0 0 0 0 +9674 1 1.0169 1 212.8843678758167 52.32019219402132 0 0 0 0 +1843 1 2.3328 1 223.55121204596207 49.81290301842642 0 0 0 0 +2884 1 1.867 1 181.9929050171819 60.363745921499586 0 0 0 0 +2890 1 1.8645 1 198.10228562816073 34.429527691915105 0 0 0 0 +2899 1 1.8633 1 204.96257300216888 20.035531638258774 0 0 0 0 +2339 1 2.0725 1 222.5858547484851 45.60576943287392 0 0 0 0 +2966 1 1.8433 1 216.9371441557074 20.4613517610441 0 0 0 0 +4161 1 1.5565 1 219.2416793193169 10.863595759809318 0 0 1 0 +2992 1 1.8355 1 190.11208247246418 61.08331031777977 0 0 0 0 +2162 1 2.1509 1 211.48544383054053 50.34727923589964 0 0 0 0 +3021 1 1.8198 1 189.66579113747082 40.06745346775281 0 0 0 0 +3051 1 1.8121 1 213.13791850730496 20.898015454071825 0 0 0 0 +3052 1 1.8119 1 172.6990273355125 61.57642966093408 0 0 0 0 +4442 1 1.5073 1 221.08996999083274 37.341476962016365 0 0 0 0 +5763 1 1.3187 1 208.15680618184336 51.13614973892624 0 0 0 0 +9756 1 1.0126 1 184.7407357730807 60.70680906164385 0 0 0 0 +3099 1 1.7973 1 200.83907370158505 31.097084428723615 0 0 0 0 +5832 1 1.3113 1 222.14414481668362 52.282427315434774 0 0 0 0 +5877 1 1.3077 1 218.09130125231073 14.760030090335606 0 0 1 0 +3198 1 1.7665 1 210.25728366500567 48.89084672493435 0 0 0 0 +3078 1 1.8057 1 204.57579855722534 52.39898055185244 0 0 0 0 +660 1 3.8658 1 218.50348139017393 36.886236984353886 0 0 0 0 +3319 1 1.7355 1 221.9749184363578 48.54616279971737 0 0 0 0 +3333 1 1.7324 1 200.4859375890076 15.69313925863943 0 0 0 0 +3374 1 1.7231 1 199.0080971424723 30.724792354005544 0 0 0 0 +3375 1 1.7228 1 214.57042383389043 19.909697144789842 0 0 0 0 +3388 1 1.7181 1 182.7724078372516 52.251757883736104 0 0 0 0 +3389 1 1.7178 1 182.37298286208468 45.3781067461768 0 0 0 0 +3401 1 1.7149 1 188.7113333753214 45.14870323337516 0 0 0 0 +3468 1 1.6998 1 190.1225729550516 53.398407638206116 0 0 0 0 +3473 1 1.6992 1 175.92992617545508 49.420697146711106 0 0 0 0 +3478 1 1.6983 1 198.84458723238797 48.81548683216953 0 0 0 0 +3494 1 1.6944 1 199.07572504271673 43.627418097371546 0 0 0 0 +3498 1 1.6939 1 177.07034144231523 50.62353517681715 0 0 0 0 +98 1 9.6304 1 223.71606246041398 30.942557881259724 0 0 0 0 +3423 1 1.7105 1 216.7781849382477 61.55579296040161 0 0 0 0 +3516 1 1.691 1 205.07228881247232 28.92062130381972 0 0 0 0 +3533 1 1.6858 1 210.46980156201718 21.521234130445833 0 0 0 0 +3568 1 1.6767 1 190.56543054728644 49.189864136263786 0 0 0 0 +3572 1 1.6758 1 171.01137362106212 55.61126291959294 0 0 0 0 +4328 1 1.5273 1 190.47554521753938 62.66939057862578 0 0 0 0 +1754 1 2.3837 1 222.89064858070805 36.786935586476105 0 0 0 0 +1401 1 2.6811 1 218.48281189375086 16.63337720142942 0 0 1 0 +947 1 3.2524 1 216.59700369356494 11.781184711546802 0 0 1 0 +3741 1 1.6409 1 194.14382956800597 45.19051189750172 0 0 0 0 +7339 1 1.1676 1 212.90028447196522 47.018996445418765 0 0 0 0 +3771 1 1.6357 1 191.59545677812167 47.94636918216181 0 0 0 0 +3805 1 1.628 1 196.96779195007167 50.35933526779425 0 0 0 0 +9997 1 1.0001 1 203.47994508965135 11.018293562765784 0 0 0 0 +3868 1 1.6134 1 195.67249298194554 45.70337879488485 0 0 0 0 +3909 1 1.6062 1 209.43070869968736 22.777301691266693 0 0 0 0 +3955 1 1.5947 1 218.73751972195515 28.47450021006557 0 0 0 0 +3968 1 1.593 1 209.17043619325375 24.342954114222415 0 0 0 0 +1388 1 2.6975 1 219.61705572856465 26.56003986044073 0 0 0 0 +4002 1 1.5833 1 206.0821331639268 27.701395666586922 0 0 0 0 +4026 1 1.5784 1 208.9838763827567 49.95270301820281 0 0 0 0 +4028 1 1.5783 1 191.26837009844303 42.44879761354024 0 0 0 0 +4047 1 1.5748 1 212.03523586312633 48.615733922918146 0 0 0 0 +4051 1 1.5742 1 181.95957447511756 50.83857676201127 0 0 0 0 +878 1 3.4002 1 202.9079303381486 50.48909228206047 0 0 0 0 +4118 1 1.5635 1 214.7128922549826 31.592602787579242 0 0 0 0 +4125 1 1.5627 1 206.30673178053502 24.917776736016318 0 0 0 0 +9503 1 1.0258 1 212.43984186369255 53.23851299934398 0 0 0 0 +4211 1 1.5477 1 203.5305669681419 12.27979285735785 0 0 0 0 +4254 1 1.5419 1 211.27464671893108 20.15957299321348 0 0 0 0 +4312 1 1.5307 1 191.21042963967 39.477571750883385 0 0 0 0 +4316 1 1.5297 1 218.39104078510465 18.659939212643227 0 0 0 0 +4324 1 1.528 1 200.83697207828672 17.22314808267249 0 0 0 0 +4368 1 1.5202 1 201.5493904448043 13.073024128408072 0 0 0 0 +4415 1 1.5128 1 208.77611123458757 48.27807550722956 0 0 0 0 +4433 1 1.5086 1 191.03510126493967 40.94640807641205 0 0 0 0 +4444 1 1.5071 1 214.59633068333213 21.60117371188688 0 0 0 0 +4457 1 1.5047 1 185.31622800514845 53.20377280487371 0 0 0 0 +9804 1 1.0097 1 181.11266540031903 44.863723791154705 0 0 0 0 +4727 1 1.4595 1 199.50737465213047 14.443880042627086 0 0 0 0 +4730 1 1.4594 1 217.2551735086854 30.65893523638617 0 0 0 0 +9789 1 1.0103 1 204.46751659986452 47.66285440977617 0 0 0 0 +8476 1 1.0825 1 219.47750575990284 41.09149747105691 0 0 0 0 +4786 1 1.4508 1 201.27667624126272 18.592846299691065 0 0 0 0 +4801 1 1.4487 1 174.73402103839746 47.42617876245512 0 0 0 0 +9056 1 1.0499 1 212.62600740613922 58.585729604971235 0 0 0 0 +1855 1 2.3292 1 211.36153449586828 54.47369476031411 0 0 0 0 +4886 1 1.435 1 182.4286492515879 58.79616080052736 0 0 0 0 +4910 1 1.4307 1 210.5691756792516 29.13381581679261 0 0 0 0 +5038 1 1.4154 1 214.67352779228216 18.37728011884947 0 0 0 0 +5129 1 1.3987 1 183.86216524940272 44.9618235105372 0 0 0 0 +5172 1 1.3921 1 207.79557112554124 12.62595717159916 0 0 0 0 +5192 1 1.3896 1 188.0780389585038 62.73197588344295 0 0 0 0 +5211 1 1.3874 1 197.52804949503437 11.716937998100573 0 0 0 0 +5214 1 1.3873 1 192.62460706342787 39.33987564791215 0 0 0 0 +9825 1 1.0088 1 222.23753738475105 17.90016742392123 0 0 0 0 +5287 1 1.3772 1 175.99232292380665 47.97720987529842 0 0 0 0 +5306 1 1.3747 1 215.2757277105446 22.837379821894057 0 0 0 0 +5347 1 1.3702 1 196.90420408579357 13.940383371533583 0 0 0 0 +7962 1 1.117 1 207.0931373674449 62.302013722178735 0 0 0 0 +5370 1 1.3676 1 202.211075992193 11.854813888425909 0 0 0 0 +8207 1 1.1011 1 216.68286117975728 62.931957236710105 0 0 0 0 +5423 1 1.3607 1 174.13167881016142 60.99102650729085 0 0 0 0 +5480 1 1.3527 1 191.12782351252773 54.4877526348322 0 0 0 0 +5493 1 1.3517 1 209.9480667782001 13.494203563796138 0 0 0 0 +5514 1 1.3495 1 190.67003070698476 38.19058041959045 0 0 0 0 +5523 1 1.3484 1 197.1701085940965 16.58697504929432 0 0 0 0 +6395 1 1.252 1 211.79529015205563 56.187270454170296 0 0 0 0 +5528 1 1.348 1 200.89573477313542 11.809064462649042 0 0 0 0 +5547 1 1.3444 1 200.19640549040656 44.78381247881117 0 0 0 0 +5575 1 1.341 1 190.8804733852684 36.91289946240521 0 0 0 0 +5599 1 1.3374 1 213.05337093413215 13.325048976239104 0 0 0 0 +5609 1 1.3358 1 200.8499026498768 14.25601154629416 0 0 0 0 +8480 1 1.0822 1 209.929873412372 52.22012500143773 0 0 0 0 +5651 1 1.3322 1 175.60225078970765 50.8373078670515 0 0 0 0 +5717 1 1.3243 1 215.15005610846544 50.34756362500391 0 0 0 0 +5729 1 1.323 1 209.05357086778292 21.244606969862453 0 0 0 0 +5738 1 1.3219 1 197.0709224870767 15.273800711789468 0 0 0 0 +5811 1 1.3134 1 182.95106625422977 43.986939235112914 0 0 0 0 +3721 1 1.6439 1 223.05668163050376 47.333873642553414 0 0 0 0 +3991 1 1.5885 1 215.10804169448323 30.117632524189 0 0 0 0 +5835 1 1.3111 1 202.19955860626143 17.57717097161711 0 0 0 0 +5885 1 1.3061 1 219.5328286604317 60.94893090291252 0 0 0 0 +5999 1 1.2948 1 197.12423253584092 40.68609675144218 0 0 0 0 +6060 1 1.2873 1 196.626848965888 12.665638832293428 0 0 0 0 +6075 1 1.2859 1 180.3192692738409 60.08555622484986 0 0 0 0 +6127 1 1.2807 1 206.06185894235847 26.314906012741453 0 0 0 0 +6147 1 1.2788 1 223.13768297715274 55.44481708250323 0 0 0 0 +6210 1 1.2706 1 185.87179619957632 44.52401049601429 0 0 0 0 +6211 1 1.2704 1 188.68470303554818 52.33392580204986 0 0 0 0 +6212 1 1.2703 1 201.60853592071325 46.16165842208359 0 0 0 0 +6050 1 1.2888 1 220.35180854966768 40.299336345288104 0 0 0 0 +6235 1 1.2668 1 198.63927767258593 42.26524568920453 0 0 0 0 +6236 1 1.2667 1 216.5556307126621 16.643830689739293 0 0 0 0 +6241 1 1.2662 1 219.3719869919501 50.21136343289587 0 0 0 0 +6302 1 1.2608 1 188.15255341520938 39.93414374756017 0 0 0 0 +6336 1 1.2583 1 195.58954577477687 50.05721915213995 0 0 0 0 +6365 1 1.2555 1 194.5410108091758 49.41690592897935 0 0 0 0 +6392 1 1.2522 1 206.87605458692718 11.687293965805324 0 0 0 0 +8730 1 1.0681 1 215.4568777057658 13.591093932884194 0 0 1 0 +6450 1 1.2476 1 211.7532859215562 47.27691637785416 0 0 0 0 +6472 1 1.2458 1 191.68625180540573 35.91267530010813 0 0 0 0 +6475 1 1.2457 1 218.82443724134566 61.94207967975575 0 0 0 0 +6478 1 1.2455 1 189.46003287832895 38.590569606426925 0 0 0 0 +6488 1 1.2446 1 200.9013354736121 19.864295010461106 0 0 0 0 +6518 1 1.2416 1 181.10793999760898 59.102237919428745 0 0 0 0 +6525 1 1.2406 1 216.04399411358656 31.213342634206995 0 0 0 0 +3200 1 1.7663 1 207.90830902341304 58.2337166693327 0 0 0 0 +6555 1 1.237 1 171.25873505135357 56.977951894458435 0 0 0 0 +6677 1 1.2243 1 185.5930701962759 60.03748461293168 0 0 0 0 +4754 1 1.4558 1 220.97882628974617 38.78400891392532 0 0 0 0 +516 1 4.3149 1 209.3075418054953 60.8754263137082 0 0 0 0 +6708 1 1.2214 1 216.97698488105618 21.969055562446307 0 0 0 0 +7853 1 1.1248 1 221.65030075473652 10.344244537606475 0 0 1 0 +6741 1 1.2188 1 207.81928566098975 24.54217703962806 0 0 0 0 +6762 1 1.217 1 191.80789978421788 55.51694633117292 0 0 0 0 +8930 1 1.056 1 219.55000571906965 34.51283731186852 0 0 0 0 +6870 1 1.2048 1 198.20269408437755 40.39096539208952 0 0 0 0 +6883 1 1.2038 1 194.60104968911986 46.547251004875136 0 0 0 0 +1008 1 3.1637 1 209.72757303888133 56.665929641453886 0 0 0 0 +6907 1 1.2014 1 193.42843043568234 46.38762398638239 0 0 0 0 +6917 1 1.2005 1 218.36643467876192 29.91848665891769 0 0 0 0 +6937 1 1.1992 1 197.3706224057325 20.970303152493024 0 0 0 0 +1298 1 2.7944 1 206.47549555469217 53.61943506940004 0 0 0 0 +6979 1 1.196 1 178.45153757995283 51.19055238190914 0 0 0 0 +7002 1 1.1941 1 184.64911999502348 58.378750743736 0 0 0 0 +7094 1 1.1866 1 176.3046230039104 46.8164625431487 0 0 0 0 +7115 1 1.1844 1 189.71136471655637 42.631434759624035 0 0 0 0 +7136 1 1.1832 1 222.54852886796667 25.787954126062232 0 0 0 0 +7138 1 1.1831 1 198.01566048352652 14.488946270989002 0 0 0 0 +7154 1 1.1818 1 184.3274614923455 54.02162681011489 0 0 0 0 +7992 1 1.115 1 196.29472053494527 11.521103250826945 0 0 1 0 +7170 1 1.1805 1 186.74377122103792 43.74954624897874 0 0 0 0 +7192 1 1.1787 1 197.93623741843624 38.99640837293284 0 0 0 0 +7688 1 1.1373 1 219.5963043351396 18.09425470446656 0 0 1 0 +7238 1 1.175 1 203.85268267535287 29.65200098741596 0 0 0 0 +3275 1 1.7461 1 199.13471959011702 11.244874842776595 0 0 1 0 +7306 1 1.1699 1 186.14418612435932 54.177614765873926 0 0 0 0 +78 1 10.2827 1 217.4471308562453 55.65229160460229 0 0 0 0 +9751 1 1.0129 1 197.91583235208498 41.45600801200355 0 0 0 0 +5665 1 1.3307 1 219.68600868341633 39.1784812869866 0 0 0 0 +7482 1 1.1542 1 215.39615830366685 24.045808245152774 0 0 0 0 +7548 1 1.1484 1 213.61227047398256 30.87566510190096 0 0 0 0 +7554 1 1.148 1 183.28526245008223 53.572794662419106 0 0 0 0 +7612 1 1.1433 1 196.22526558555262 51.49203067742367 0 0 0 0 +7634 1 1.1418 1 171.50348117150156 54.266250463337286 0 0 0 0 +7692 1 1.137 1 203.64408877924953 20.72719018871456 0 0 0 0 +1251 1 2.8491 1 214.22331113586714 48.49819240075899 0 0 0 0 +7746 1 1.1331 1 190.23467754691882 47.834255757802566 0 0 0 0 +39 1 15.7171 1 199.30068744634082 59.31000093344872 0 0 0 0 +7803 1 1.1286 1 195.7780546065028 27.567397426979138 0 0 0 0 +7833 1 1.127 1 198.0724909357261 51.05579186855292 0 0 0 0 +7861 1 1.1238 1 221.44859092654823 26.08746485625417 0 0 0 0 +7877 1 1.1231 1 215.0840236894086 25.36665478347539 0 0 0 0 +7888 1 1.1221 1 187.36846188860844 44.70803595797317 0 0 0 0 +7952 1 1.1176 1 214.30541563033006 45.47268279113033 0 0 0 0 +7919 1 1.1196 1 204.4732891924998 21.428879144139476 0 0 0 0 +8012 1 1.1138 1 222.70848550306886 16.91198026504197 0 0 0 0 +7720 1 1.1348 1 214.57771716229814 46.55350244708334 0 0 0 0 +4536 1 1.4914 1 207.43995602108376 56.68591449914073 0 0 0 0 +8145 1 1.1049 1 208.91108719254487 52.00013451712798 0 0 0 0 +8158 1 1.104 1 200.11390783724585 13.336765039354212 0 0 0 0 +8194 1 1.1019 1 189.92614672356763 41.53976274860613 0 0 0 0 +8208 1 1.1011 1 222.40221422095243 58.42940583274701 0 0 0 0 +1413 1 2.6674 1 209.0765847666102 53.847451104868405 0 0 0 0 +6951 1 1.1981 1 224.20770509145098 46.53291456629027 0 0 0 0 +3831 1 1.6206 1 214.41648090323505 12.840046912178149 0 0 1 0 +8367 1 1.0893 1 217.1921467782995 23.073409514057627 0 0 0 0 +8379 1 1.0886 1 195.43172505685934 28.57723316649013 0 0 0 0 +8421 1 1.0863 1 215.87004951676093 21.792708525474197 0 0 0 0 +8459 1 1.084 1 206.7596918694085 55.520837915582064 0 0 0 0 +8463 1 1.0836 1 171.76240815810854 53.17078785382312 0 0 0 0 +8533 1 1.0789 1 208.97663135570326 26.146462377550897 0 0 0 0 +8603 1 1.0748 1 192.61287196001328 47.1339035281989 0 0 0 0 +8621 1 1.0737 1 181.50878599892496 58.025779834785084 0 0 0 0 +8654 1 1.0722 1 188.77321790343194 53.496512673409434 0 0 0 0 +8692 1 1.0703 1 199.0382245596127 44.95279032178334 0 0 0 0 +8708 1 1.0694 1 185.3426268295127 54.939675559502795 0 0 0 0 +8777 1 1.0647 1 211.79616468270848 21.28274544367789 0 0 0 0 +8809 1 1.0628 1 198.5407988314286 50.10937562728665 0 0 0 0 +8858 1 1.0595 1 215.57243457532672 20.795236602692725 0 0 0 0 +3587 1 1.6739 1 200.42243419657453 50.73294523550888 0 0 0 0 +8950 1 1.0551 1 209.77510986242822 25.515341550547227 0 0 0 0 +8980 1 1.0537 1 179.5386863717559 51.433843072460355 0 0 0 0 +9023 1 1.0515 1 218.23006385303736 50.122821723366556 0 0 0 0 +9034 1 1.0509 1 184.07822404339552 52.800539972185966 0 0 0 0 +9062 1 1.0495 1 202.14377988714463 30.533830819968635 0 0 0 0 +9204 1 1.0416 1 216.96604103136494 15.607137176799537 0 0 0 0 +7169 1 1.1806 1 189.20916280177525 62.225445288909405 0 0 0 0 +9240 1 1.04 1 191.0152708212739 60.022611575139734 0 0 0 0 +5967 1 1.298 1 207.91267462119873 55.39946120133869 0 0 0 0 +9295 1 1.0368 1 218.41385317431374 31.04460462995788 0 0 0 0 +9331 1 1.0345 1 208.80100302825755 13.259926313543938 0 0 0 0 +9398 1 1.0308 1 180.7855618830723 61.13800962259903 0 0 0 0 +5283 1 1.3779 1 217.9759280296304 13.48748352045574 0 0 1 0 +9480 1 1.027 1 213.4935803566352 46.12994200121676 0 0 0 0 +9481 1 1.0269 1 215.25822383207364 32.69553743463499 0 0 0 0 +9543 1 1.0237 1 223.60753284052473 25.624116549321293 0 0 0 0 +9550 1 1.0233 1 204.49749580245512 13.005435511265647 0 0 0 0 +9580 1 1.0217 1 210.68432587838737 47.601398017564485 0 0 0 0 +9609 1 1.0199 1 172.42145961341834 62.92342970737078 0 0 0 0 +9614 1 1.0199 1 183.61896212999346 61.058596527635665 0 0 0 0 +5830 1 1.3115 1 209.91239190590565 51.04032590575375 0 0 0 0 +7362 1 1.1645 1 205.87738116329322 51.791984582199355 0 0 0 0 +4320 1 1.5288 1 211.86718985302542 59.59892918906785 0 0 0 0 +384 1 5.0358 1 213.65223980483455 62.7436153552695 0 0 0 0 +1643 1 2.4568 1 216.71531912401076 49.32007202589685 0 0 0 0 +3510 1 1.6921 1 222.9796353740684 53.46733016159266 0 0 0 0 +9032 1 1.0511 1 199.70232885306453 9.990242167000215 0 0 1 0 +6153 1 1.2779 1 210.5920433582685 63.30120968845646 0 0 0 0 +2012 1 2.2311 1 223.42544131599877 57.14589518833682 0 0 0 0 +6215 1 1.27 1 220.6487469886589 60.365142513542054 0 0 0 0 +7796 1 1.1291 1 191.74433879574852 62.99301984653188 0 0 0 0 +9749 1 1.0129 1 224.03650920127615 45.48385865123481 0 0 0 0 +954 1 3.2429 1 221.07645871655927 62.50789486535585 0 0 0 0 +5821 1 1.3122 1 200.70570789548623 10.526705953127841 0 0 0 0 +4031 1 1.5773 1 189.2435754180282 63.58573566301287 0 0 0 0 +20 1 21.6436 1 191.41406085201479 90.84674786407189 0 0 0 0 +1640 1 2.4594 1 177.13719912018712 104.95264839343156 0 0 0 0 +3257 1 1.7511 1 175.68365848441863 73.67098927788118 0 0 0 0 +96 1 9.6591 1 205.2491352971864 97.63329252851204 0 0 0 0 +105 1 9.501 1 202.99773342423177 78.1486114511443 0 0 0 0 +123 1 8.8346 1 200.19557927390872 108.99153195375115 0 0 0 0 +164 1 7.4478 1 178.6113924197582 84.02091661295997 0 0 0 0 +188 1 7.0441 1 209.58626859907775 89.15107678821664 0 0 0 0 +248 1 6.2265 1 207.86389190758408 104.9441221653911 0 0 0 0 +5984 1 1.2964 1 178.0810459640424 103.38231063895104 0 0 0 0 +6544 1 1.238 1 177.13473713178283 72.54557150525454 0 0 0 0 +9663 1 1.0173 1 206.1640152238371 66.75508207988007 0 0 0 0 +294 1 5.8086 1 213.6893024474002 77.21595035886784 0 0 0 0 +312 1 5.6376 1 209.4695632486887 66.51588037503585 0 0 0 0 +356 1 5.3024 1 188.99375689521742 66.97669556778386 0 0 0 0 +365 1 5.1878 1 217.06610524733077 66.94421952665512 0 0 0 0 +8363 1 1.0896 1 171.68312067965948 64.33564447665762 0 0 0 0 +426 1 4.7732 1 197.87022792171453 73.41850635161805 0 0 0 0 +442 1 4.6735 1 208.73094035085947 83.40566277358137 0 0 0 0 +455 1 4.6375 1 192.43214721079082 71.93534546134141 0 0 0 0 +467 1 4.5825 1 187.96905639420766 75.33468166003446 0 0 0 0 +483 1 4.4778 1 193.8251126485219 67.6698018281516 0 0 0 0 +2957 1 1.8454 1 212.85710359526945 109.38880303576833 0 0 0 0 +559 1 4.1755 1 175.07909733893186 89.77381694958909 0 0 0 0 +572 1 4.1201 1 211.28684241419845 70.87606391589836 0 0 0 0 +8040 1 1.1122 1 183.78561135233485 70.62996794343888 0 0 0 0 +612 1 3.9842 1 204.5999906516763 71.49061208709865 0 0 0 0 +7696 1 1.1368 1 171.2778251852863 98.49547198584287 0 0 0 0 +770 1 3.6458 1 201.43003797654438 102.97342829289752 0 0 0 0 +866 1 3.4332 1 188.0232378774769 102.88874898267562 0 0 0 0 +9271 1 1.0381 1 186.87092456468122 69.22916637430373 0 0 0 0 +915 1 3.3286 1 196.44070699771146 102.21551429115691 0 0 0 0 +938 1 3.2773 1 209.68902828606429 75.23663383403489 0 0 0 0 +7457 1 1.1564 1 175.9905914823837 72.30956771039985 0 0 0 0 +9128 1 1.0458 1 211.10476621798207 109.24664550207122 0 0 0 0 +1025 1 3.1432 1 194.44050016661353 75.11452360454876 0 0 0 0 +1042 1 3.1059 1 210.9353839472531 100.1156001586602 0 0 0 0 +1043 1 3.0979 1 194.0701393721792 78.78289726000764 0 0 0 0 +1093 1 3.0275 1 183.67352038957458 100.35032352846493 0 0 0 0 +7195 1 1.1784 1 175.4184211840361 104.60649615270404 0 0 0 0 +1177 1 2.9293 1 196.99701743317843 78.84624879591979 0 0 0 0 +1237 1 2.8655 1 213.93959544432167 72.97003700237855 0 0 0 0 +1240 1 2.8611 1 211.940302255201 81.33603374566246 0 0 0 0 +1262 1 2.8399 1 186.35780001671733 72.05092249627059 0 0 0 0 +1263 1 2.839 1 188.74883273042633 78.93116610256496 0 0 0 0 +1289 1 2.8029 1 211.03979319621916 95.61391359769087 0 0 0 0 +7237 1 1.1751 1 176.46312468161392 77.02817709805176 0 0 0 0 +6953 1 1.1981 1 180.48121001631608 73.90466843841995 0 0 0 0 +1407 1 2.6733 1 217.44337456794645 73.01153415544182 0 0 0 0 +6656 1 1.2266 1 180.04418631844015 101.07946214911749 0 0 0 0 +1429 1 2.6497 1 194.1293667176738 104.0410834200773 0 0 0 0 +3107 1 1.7957 1 177.540906601451 95.33497069674388 0 0 0 0 +1540 1 2.5364 1 200.79008275802974 71.30463820987335 0 0 0 0 +1555 1 2.5308 1 205.15351244060594 83.69565485052811 0 0 0 0 +1571 1 2.5163 1 188.97742150531187 71.9956798400983 0 0 0 0 +1587 1 2.5042 1 192.37235464292593 106.9771364714706 0 0 0 0 +1597 1 2.4979 1 182.22497689843786 78.35123276581444 0 0 0 0 +1598 1 2.4953 1 198.93467647986333 68.36735359919237 0 0 0 0 +1647 1 2.4548 1 203.8974217166333 67.42667399212971 0 0 0 0 +4134 1 1.561 1 175.26510308814045 99.31355567061257 0 0 0 0 +1691 1 2.4289 1 191.69401806454493 104.64546365373133 0 0 0 0 +1710 1 2.4158 1 180.09438022708773 79.38308575963441 0 0 0 0 +5610 1 1.3357 1 179.46429189227192 72.29326267862234 0 0 0 0 +526 1 4.277 1 179.05207725558165 76.2164903569683 0 0 0 0 +8365 1 1.0895 1 176.35100369736995 74.91568133167709 0 0 0 0 +1874 1 2.3168 1 202.26203637239067 69.4554289212418 0 0 0 0 +1885 1 2.3107 1 186.31714099776423 78.29297328394361 0 0 0 0 +1913 1 2.2907 1 179.55679852100155 89.58613268005594 0 0 0 0 +1955 1 2.2683 1 182.08580609825617 98.27920208969103 0 0 0 0 +1962 1 2.2633 1 201.89258281764032 85.24751828862236 0 0 0 0 +6133 1 1.2804 1 174.3986125597975 98.0041219785786 0 0 0 0 +2038 1 2.2195 1 203.66991759596766 87.81906323282603 0 0 0 0 +2095 1 2.1856 1 204.0010215769092 85.69091753827027 0 0 0 0 +2099 1 2.1845 1 177.2655653728053 101.89723964765557 0 0 0 0 +2108 1 2.1783 1 209.57895376087566 93.67406846329536 0 0 0 0 +5951 1 1.2996 1 172.08331062739526 92.07080590701172 0 0 0 0 +2118 1 2.1709 1 210.29497615622594 79.20801742500498 0 0 0 0 +2156 1 2.1546 1 192.48121038162418 76.69932897841618 0 0 0 0 +3583 1 1.6744 1 203.5597125210831 115.04519576625592 0 0 0 0 +2165 1 2.15 1 181.9997056315958 80.63484930063241 0 0 0 0 +2177 1 2.1458 1 212.01914554941553 83.8154604850333 0 0 0 0 +2197 1 2.1396 1 207.50370736954457 70.60880054806904 0 0 0 0 +3427 1 1.71 1 213.38901283790432 111.05939731947885 0 0 0 0 +2252 1 2.1172 1 205.11564067558382 90.03780422774207 0 0 0 0 +4585 1 1.4827 1 200.07271336074038 114.14311678522061 0 0 0 0 +2293 1 2.0974 1 207.23001437108294 74.25415497127983 0 0 0 0 +2307 1 2.0869 1 179.71471686269317 91.76362364700996 0 0 0 0 +2326 1 2.0771 1 183.40693755372453 76.43332614751185 0 0 0 0 +2332 1 2.0762 1 205.6041731732249 87.04550487049116 0 0 0 0 +2334 1 2.0748 1 190.51526307375505 77.2711615433911 0 0 0 0 +7551 1 1.1481 1 176.16798381833541 100.64381886324493 0 0 0 0 +2432 1 2.0342 1 221.92173002673727 66.83419417913136 0 0 0 0 +2486 1 2.0147 1 190.34903555668004 107.95878912786489 0 0 0 0 +3063 1 1.8088 1 185.2415252349051 102.09130793040471 0 0 0 0 +2508 1 2.0071 1 211.93883423520626 105.5136809498041 0 0 0 0 +3899 1 1.6084 1 180.85163239014716 106.4524831369117 0 0 0 0 +2573 1 1.98 1 205.36142850410275 109.8793480441173 0 0 0 0 +2577 1 1.9794 1 203.15744872348932 90.45298715940073 0 0 0 0 +7060 1 1.1892 1 172.78977329664568 91.10539990240598 0 0 0 0 +2641 1 1.9525 1 174.88192326190506 86.73813387592514 0 0 0 0 +2693 1 1.9324 1 192.2558609183148 64.4216138609097 0 0 0 0 +2768 1 1.9062 1 206.10201830674242 68.2035257902756 0 0 0 0 +2814 1 1.8906 1 204.16660269584318 103.30054643870217 0 0 0 0 +2818 1 1.8897 1 181.2611300676004 100.14719622309876 0 0 0 0 +2876 1 1.8685 1 203.04049203522405 92.3520780579759 0 0 0 0 +2889 1 1.8647 1 199.30726384955645 101.2509114589321 0 0 0 0 +2901 1 1.8628 1 210.06044363034846 108.28743142508127 0 0 0 0 +2914 1 1.8596 1 197.79903057031933 104.31126205082093 0 0 0 0 +2925 1 1.8561 1 200.2358750116946 83.10577907192051 0 0 0 0 +5521 1 1.3487 1 179.02562334311773 95.70767209992401 0 0 0 0 +2964 1 1.8439 1 181.8445382618187 101.87136055745837 0 0 0 0 +3072 1 1.8068 1 184.3103060160505 78.07711137237123 0 0 0 0 +3000 1 1.8299 1 187.79259814164504 70.26523118479253 0 0 0 0 +3092 1 1.8011 1 191.67079889853585 102.54988524113085 0 0 0 0 +3853 1 1.6168 1 183.89787285149552 65.69495614012357 0 0 0 0 +3160 1 1.7769 1 210.90193921071406 102.52031496612504 0 0 0 0 +3167 1 1.7749 1 196.92659269031788 67.68486268810696 0 0 0 0 +3719 1 1.6441 1 177.28632162161261 73.94512256636347 0 0 0 0 +3274 1 1.7464 1 205.80206658916774 108.20742656801458 0 0 0 0 +3357 1 1.7258 1 197.11549054846944 69.38848264315064 0 0 0 0 +3397 1 1.7153 1 213.65492878856128 82.87663152756602 0 0 0 0 +3408 1 1.7126 1 201.84831596592613 67.56559577577843 0 0 0 0 +5527 1 1.3482 1 178.34039072050817 72.93967721116478 0 0 0 0 +3492 1 1.6945 1 195.69718438610016 77.05661706059396 0 0 0 0 +3518 1 1.6902 1 198.91651458403808 81.94075061606955 0 0 0 0 +9722 1 1.0142 1 207.6370012431468 75.74579298208016 0 0 0 0 +3618 1 1.6681 1 177.37829908356332 79.6874946786156 0 0 0 0 +3731 1 1.6429 1 194.2522331860241 106.15037525770808 0 0 0 0 +2107 1 2.1788 1 175.15653948788977 106.22644869417111 0 0 0 0 +3811 1 1.6258 1 213.01189316126258 67.28461543695288 0 0 0 0 +8154 1 1.1044 1 178.82967497205036 105.40402952152358 0 0 0 0 +650 1 3.8877 1 184.66037041318742 68.29330838412871 0 0 0 0 +4123 1 1.5629 1 176.3101568095133 78.36541609069141 0 0 0 0 +3845 1 1.6186 1 195.28973868885566 107.36783820447059 0 0 0 0 +3891 1 1.6099 1 208.46494329280978 78.81334436342972 0 0 0 0 +251 1 6.1948 1 207.08301645205265 113.37956002617541 0 0 0 0 +3959 1 1.5944 1 197.58100934097354 81.01256111473155 0 0 0 0 +4004 1 1.5828 1 207.18595497205035 72.42933023807682 0 0 0 0 +4016 1 1.5805 1 198.47245555604272 70.32632862807672 0 0 0 0 +3271 1 1.7471 1 210.7973666319441 114.59014069350485 0 0 0 0 +4039 1 1.5761 1 178.4996845373271 93.10031584536877 0 0 0 0 +4061 1 1.5729 1 180.2089961272385 94.89873390373711 0 0 0 0 +4084 1 1.5689 1 210.91963232828869 97.7873732431103 0 0 0 0 +4773 1 1.452 1 182.6580211209718 70.0256191869519 0 0 0 0 +4136 1 1.5608 1 214.46092119832994 68.97160832707968 0 0 0 0 +4142 1 1.5599 1 217.69737293952366 70.76009198721376 0 0 0 0 +4176 1 1.5534 1 185.2437301735165 76.70681142462784 0 0 0 0 +4185 1 1.5519 1 205.18552392049077 65.94831261203079 0 0 0 0 +4200 1 1.5497 1 208.83215681595348 80.31053763107462 0 0 0 0 +7918 1 1.1196 1 179.39819967742358 73.54162394543756 0 0 0 0 +4215 1 1.5472 1 206.91304646945486 85.85184886775254 0 0 0 0 +4278 1 1.5366 1 196.33394212382 70.76208008182266 0 0 0 0 +4304 1 1.5321 1 184.58706211398348 80.63851682743154 0 0 0 0 +4305 1 1.5318 1 191.92152145169777 74.96258889423184 0 0 0 0 +4318 1 1.5296 1 213.90863920307257 65.99899686203824 0 0 0 0 +5525 1 1.3483 1 186.68047685362635 107.47242173394189 0 0 0 0 +8887 1 1.058 1 177.8861044503565 106.50151163703573 0 0 0 0 +9938 1 1.0034 1 211.49144306035595 93.76035006512612 0 0 0 0 +4352 1 1.5226 1 211.93499421824703 103.77274686407388 0 0 0 0 +4380 1 1.5184 1 173.60188455296912 92.17542980269535 0 0 0 0 +4397 1 1.5152 1 208.55671890676334 73.08624426312794 0 0 0 0 +4403 1 1.5147 1 191.8531046665751 78.328063113206 0 0 0 0 +4408 1 1.5136 1 211.73641643513852 108.18617968538854 0 0 0 0 +7576 1 1.1459 1 182.20970802470313 106.55292227839693 0 0 0 0 +4417 1 1.5123 1 202.19027788899106 72.73121735873069 0 0 0 0 +8174 1 1.1027 1 178.7880082144483 104.33663442970216 0 0 0 0 +5264 1 1.3805 1 209.33909333989592 109.72566913999773 0 0 0 0 +4567 1 1.4862 1 190.80987718427016 79.34231582943512 0 0 0 0 +7004 1 1.1939 1 175.97714345041874 75.96979356723409 0 0 0 0 +4614 1 1.4789 1 197.90254731686196 100.38479407011246 0 0 0 0 +4650 1 1.4735 1 188.7775991595164 108.69558853626272 0 0 0 0 +4665 1 1.47 1 203.58854181664506 104.9562048571435 0 0 0 0 +4674 1 1.4684 1 190.57556492821877 106.23883348683238 0 0 0 0 +4696 1 1.4653 1 218.9123842803472 71.62190378181876 0 0 0 0 +1564 1 2.523 1 198.154967108858 114.24411376717627 0 0 0 0 +4740 1 1.4577 1 216.33013291302814 70.16302004794873 0 0 0 0 +4774 1 1.4519 1 205.1435644921956 92.15343157852361 0 0 0 0 +4788 1 1.4508 1 180.17298823004737 93.42947351138278 0 0 0 0 +4822 1 1.4458 1 201.83360025605955 83.44554303068482 0 0 0 0 +4860 1 1.44 1 176.02447156012795 94.80838417035352 0 0 0 0 +4898 1 1.4328 1 211.05697744327279 106.95425197862345 0 0 0 0 +4925 1 1.4291 1 209.1748182828676 77.52071875658041 0 0 0 0 +4949 1 1.4257 1 199.86470681260533 98.65264120835506 0 0 0 0 +4952 1 1.4256 1 189.8008017201934 104.48270107162806 0 0 0 0 +7658 1 1.1395 1 187.3358280193398 106.4479186075123 0 0 0 0 +4965 1 1.4241 1 203.18518317020246 83.93157259095211 0 0 0 0 +4974 1 1.4235 1 203.3718848993687 113.52236876907737 0 0 0 0 +3317 1 1.7358 1 174.74146475827067 100.85188329267514 0 0 0 0 +5049 1 1.4135 1 186.42246518288587 101.12979886402677 0 0 0 0 +5076 1 1.4082 1 197.64923273351698 76.77227579907178 0 0 0 0 +2823 1 1.8873 1 185.67966555784216 65.60819080401565 0 0 0 0 +5118 1 1.4003 1 206.93104785713672 92.40044767146364 0 0 0 0 +8588 1 1.0761 1 221.36923247750525 68.27777603891354 0 0 0 0 +5246 1 1.3827 1 211.06366512522288 85.24781067325917 0 0 0 0 +6840 1 1.2084 1 186.2954690250433 70.13583223588583 0 0 0 0 +5295 1 1.3766 1 184.2290871923217 81.93649810251041 0 0 0 0 +5308 1 1.3747 1 183.68058356003183 79.55417995849965 0 0 0 0 +5326 1 1.3723 1 216.8254374733171 75.5316005337477 0 0 0 0 +9207 1 1.0414 1 178.1132051041477 107.4964169025444 0 0 0 0 +5446 1 1.3569 1 187.1179955614749 80.20670457060773 0 0 0 0 +3183 1 1.7698 1 181.99741982586548 103.6051828482334 0 0 0 0 +5485 1 1.3523 1 193.18544418609662 102.2918397662333 0 0 0 0 +5498 1 1.351 1 177.23308439314968 88.13499913071499 0 0 0 0 +5284 1 1.3778 1 183.33667908181206 73.5205407489944 0 0 0 0 +5568 1 1.3418 1 220.57746427857603 69.17876453967777 0 0 0 0 +595 1 4.037 1 213.6022399951208 115.0475507916045 0 0 0 0 +5659 1 1.3317 1 187.7455512131027 105.24122225110898 0 0 0 0 +3828 1 1.6208 1 219.66653337824232 70.32509870562075 0 0 0 0 +5722 1 1.324 1 214.33107480455837 81.56331136673208 0 0 0 0 +5759 1 1.3192 1 200.87791232397518 73.20476057097396 0 0 0 0 +3298 1 1.7403 1 176.12375528743073 96.34508059849435 0 0 0 0 +5806 1 1.3139 1 198.72741594233963 102.74890633406169 0 0 0 0 +3173 1 1.7728 1 184.094437491964 72.03286813119709 0 0 0 0 +5868 1 1.3086 1 177.7859868969843 89.31609221936274 0 0 0 0 +2190 1 2.1438 1 177.8831023524621 91.00992182230114 0 0 0 0 +5908 1 1.3043 1 181.759897134513 76.565402842311 0 0 0 0 +3812 1 1.6258 1 220.3012651086099 66.05524665974642 0 0 0 0 +429 1 4.7621 1 178.35142614272922 98.65292368616771 0 0 0 0 +9767 1 1.0116 1 210.3250144530191 77.27299222773019 0 0 0 0 +5966 1 1.298 1 204.82144068107803 107.06884181980965 0 0 0 0 +8254 1 1.0975 1 184.48191447174656 73.63181891461079 0 0 0 0 +6890 1 1.2032 1 208.57830245610185 108.65988624070698 0 0 0 0 +9628 1 1.0194 1 195.13455781376513 71.1208377675167 0 0 0 0 +6082 1 1.2853 1 212.90190664149233 86.6860989638494 0 0 0 0 +9522 1 1.0246 1 210.4928846740175 110.03962222759031 0 0 0 0 +6174 1 1.2749 1 195.5914546926964 105.56484819834763 0 0 0 0 +6196 1 1.2718 1 177.03648829461943 93.9108690892562 0 0 0 0 +6229 1 1.2678 1 190.69268237105797 74.3076371100039 0 0 0 0 +6233 1 1.2671 1 185.56301316911006 73.81987731911588 0 0 0 0 +6256 1 1.2645 1 198.882369674047 99.50208805095988 0 0 0 0 +5869 1 1.3085 1 217.47723323465087 63.7854018585946 0 0 0 0 +6307 1 1.2605 1 190.21485591655187 102.17936779683232 0 0 0 0 +6325 1 1.259 1 184.97413665444228 79.38467856940238 0 0 0 0 +6329 1 1.2587 1 206.14633688596305 91.34752832215588 0 0 0 0 +443 1 4.6714 1 184.75468621268814 105.18202111643639 0 0 0 0 +6386 1 1.2527 1 213.82748375434875 70.1691005002031 0 0 0 0 +6416 1 1.2502 1 176.7777781488529 106.73497780164762 0 0 0 0 +6398 1 1.2519 1 178.82008293207411 94.4504143248531 0 0 0 0 +6434 1 1.2487 1 208.75636358929427 71.73205605324765 0 0 0 0 +6526 1 1.2402 1 213.54102311093817 84.33741412524489 0 0 0 0 +6559 1 1.2364 1 189.50996427205533 70.20140519425625 0 0 0 0 +1003 1 3.1751 1 181.6631203792617 72.08963445976882 0 0 0 0 +6597 1 1.2317 1 208.112282113997 76.76778646173192 0 0 0 0 +6618 1 1.2306 1 207.57658828637022 80.76998019280259 0 0 0 0 +6707 1 1.2214 1 209.87069021482782 73.05052993182449 0 0 0 0 +6731 1 1.2195 1 183.33177361069377 82.74307362182377 0 0 0 0 +1787 1 2.3642 1 182.00951161128717 74.7823102361906 0 0 0 0 +6770 1 1.2158 1 192.11796421790763 79.56161223550137 0 0 0 0 +6772 1 1.2157 1 202.17334064346514 86.96512628487694 0 0 0 0 +6138 1 1.2799 1 208.02455561969987 109.76994499482238 0 0 0 0 +6822 1 1.2103 1 190.42276825919072 103.36292317523592 0 0 0 0 +3431 1 1.7089 1 175.92031242833355 103.28659568671841 0 0 0 0 +6888 1 1.2032 1 202.60122297060698 89.02660824705859 0 0 0 0 +6891 1 1.2029 1 213.09968518304171 85.46547596981421 0 0 0 0 +6934 1 1.1994 1 199.29001285096604 104.06563826134831 0 0 0 0 +6940 1 1.199 1 180.12677244537147 96.27478705470017 0 0 0 0 +6995 1 1.1947 1 205.64782783399116 85.44064943317437 0 0 0 0 +2845 1 1.8808 1 184.75698474673388 75.0867335921335 0 0 0 0 +7011 1 1.1932 1 216.00044903399754 74.61325915259077 0 0 0 0 +7059 1 1.1892 1 190.62178954669855 69.72250505540717 0 0 0 0 +9610 1 1.0199 1 175.03893266579198 97.09783101881804 0 0 0 0 +7179 1 1.1798 1 177.19897729105364 92.71779547944277 0 0 0 0 +9753 1 1.0127 1 212.9399330458788 107.96828821764436 0 0 0 0 +9896 1 1.0052 1 194.9822838989894 73.13633874972172 0 0 0 0 +7218 1 1.1765 1 211.75789658512537 92.70078474134354 0 0 0 0 +9731 1 1.0137 1 176.07434057832825 79.62037312135608 0 0 0 0 +7398 1 1.1616 1 178.46230495331866 88.29320532015878 0 0 0 0 +9895 1 1.0053 1 203.87204275265552 69.13123426120835 0 0 0 0 +7430 1 1.1589 1 212.4001506968312 107.02695036341228 0 0 0 0 +7456 1 1.1564 1 208.0525344035913 93.00909734171324 0 0 0 0 +7484 1 1.1541 1 210.03873761537255 80.83273812510593 0 0 0 0 +7521 1 1.151 1 172.464768378187 90.01612937477452 0 0 0 0 +7527 1 1.1507 1 181.18337863853736 95.80774018899307 0 0 0 0 +7536 1 1.1497 1 210.96417493623392 73.46938899094143 0 0 0 0 +7552 1 1.1481 1 175.6235827301881 101.92835764972335 0 0 0 0 +7560 1 1.1471 1 214.5097390367338 71.10060391588576 0 0 0 0 +7570 1 1.1463 1 200.80533914372828 100.68231267878028 0 0 0 0 +7603 1 1.1438 1 191.86582681613675 65.79632070239481 0 0 0 0 +7622 1 1.1428 1 211.70680509141883 74.38442230112511 0 0 0 0 +7644 1 1.1407 1 180.842337815736 97.1616942193274 0 0 0 0 +7656 1 1.1398 1 175.54947152550716 98.01491702538632 0 0 0 0 +3259 1 1.7506 1 179.24353981957577 106.71795128235573 0 0 0 0 +7718 1 1.135 1 212.67999153011246 65.64694616804984 0 0 0 0 +7772 1 1.1307 1 182.74148269188126 83.65933621379813 0 0 0 0 +7774 1 1.1306 1 199.98872401427943 99.9175389526253 0 0 0 0 +9967 1 1.0022 1 206.2687421524899 69.64318993340893 0 0 0 0 +9908 1 1.0047 1 218.5214760213185 64.24259272786148 0 0 0 0 +8342 1 1.091 1 213.5905739333633 112.45500101200437 0 0 0 0 +7799 1 1.129 1 178.47458327995565 78.85596122036245 0 0 0 0 +7843 1 1.1263 1 208.90373270568236 69.82508109382572 0 0 0 0 +7907 1 1.1205 1 194.29191620547138 101.8310442021766 0 0 0 0 +7915 1 1.1197 1 185.84125247474978 80.97358294226649 0 0 0 0 +7504 1 1.152 1 173.49451867842777 108.3956452130504 0 0 0 0 +6285 1 1.2619 1 209.84455293147974 110.93693121002708 0 0 0 0 +7998 1 1.1146 1 215.72575595459745 73.54946521777813 0 0 0 0 +8039 1 1.1122 1 195.26813574497444 72.14029717653747 0 0 0 0 +8078 1 1.1087 1 189.48374619254713 105.64707124260349 0 0 0 0 +8187 1 1.1021 1 213.2215747514198 68.62295302702516 0 0 0 0 +6801 1 1.2126 1 174.88125204526528 71.97729488336357 0 0 0 0 +8233 1 1.0993 1 213.73172474568707 80.59494110900303 0 0 0 0 +8235 1 1.0993 1 212.17638655487616 68.44819771486786 0 0 0 0 +8277 1 1.0965 1 215.06516629941405 70.14112632258727 0 0 0 0 +8306 1 1.0942 1 188.45597649697817 107.48734974849651 0 0 0 0 +8312 1 1.0938 1 196.28883473100976 80.65428861541866 0 0 0 0 +8329 1 1.0924 1 212.04973479607693 85.91955105563468 0 0 0 0 +8368 1 1.0891 1 219.33199729721534 69.06075348364678 0 0 0 0 +8371 1 1.089 1 205.78464505061976 73.68109756574205 0 0 0 0 +8393 1 1.0879 1 177.55116893568677 78.35444598095587 0 0 0 0 +8420 1 1.0864 1 218.47799321162202 69.7189202671208 0 0 0 0 +8442 1 1.0849 1 206.186409181068 82.25993972805861 0 0 0 0 +8453 1 1.0841 1 212.04465018115516 73.34854305648952 0 0 0 0 +1478 1 2.5969 1 179.9417941029489 102.94233035378653 0 0 0 0 +8482 1 1.0822 1 200.63895860636407 68.91041814905716 0 0 0 0 +8498 1 1.0811 1 195.6053103591076 69.73778591291031 0 0 0 0 +8513 1 1.0801 1 219.92248469690583 68.18686000151396 0 0 0 0 +8527 1 1.0794 1 194.0043843607963 107.62779056231878 0 0 0 0 +8720 1 1.0686 1 215.7542292526039 72.20653087557639 0 0 0 0 +8723 1 1.0685 1 185.9706343027659 79.92103011064859 0 0 0 0 +8728 1 1.0682 1 206.86043568817647 109.78028158765076 0 0 0 0 +4204 1 1.5489 1 189.89679556714788 109.67320783915235 0 0 0 0 +8802 1 1.0631 1 212.03613420733896 101.82843946830138 0 0 0 0 +8803 1 1.0631 1 215.57600514964892 71.15573056380602 0 0 0 0 +3870 1 1.6132 1 180.1184481883867 105.0264637328611 0 0 0 0 +8848 1 1.0604 1 204.36265174337453 105.96434720233405 0 0 0 0 +8087 1 1.1082 1 177.12584816403566 107.84414093401398 0 0 0 0 +8921 1 1.0564 1 173.78028710253088 87.67125455236175 0 0 0 0 +8982 1 1.0535 1 216.57597893891463 71.3921432698501 0 0 0 0 +8992 1 1.053 1 206.35421722170153 65.3958249741174 0 0 0 0 +9051 1 1.05 1 200.4948334777874 67.5914146427126 0 0 0 0 +5511 1 1.3497 1 188.52852432673475 106.30973881323784 0 0 0 0 +9073 1 1.0486 1 196.80419136399547 112.55344767765254 0 0 0 0 +9102 1 1.047 1 182.40082302846145 82.15570917834388 0 0 0 0 +9121 1 1.0461 1 196.11813344845748 104.43229904068043 0 0 0 0 +9132 1 1.0455 1 176.0521336407923 80.64365678467982 0 0 0 0 +9223 1 1.0408 1 220.50202892693918 67.34810102617635 0 0 0 0 +9226 1 1.0407 1 204.8762075541361 68.99835459135437 0 0 0 0 +9723 1 1.0141 1 205.5727940063545 64.7647052919661 0 0 0 0 +9233 1 1.0404 1 214.79704961393563 80.47480162070764 0 0 0 0 +9949 1 1.0031 1 191.42500983755352 68.9830277770815 0 0 0 0 +9309 1 1.0357 1 207.30281012543904 69.04296879541411 0 0 0 0 +9323 1 1.0349 1 194.68177413199055 70.24275576384899 0 0 0 0 +9354 1 1.0335 1 176.59754901148284 91.82927384269833 0 0 0 0 +9394 1 1.0311 1 199.97920102320603 69.74994490118999 0 0 0 0 +9413 1 1.0299 1 204.17610258630296 91.48110627017192 0 0 0 0 +9486 1 1.0266 1 209.61814232512714 101.71485512154236 0 0 0 0 +9500 1 1.0259 1 205.60485538685532 88.57099906605319 0 0 0 0 +7894 1 1.1218 1 174.97316665773405 107.85445073604873 0 0 0 0 +9514 1 1.025 1 196.77521619878712 105.39205830882916 0 0 0 0 +9560 1 1.0224 1 181.7677422400877 96.69217154549382 0 0 0 0 +5301 1 1.3757 1 207.29298653801732 108.66914825309222 0 0 0 0 +9581 1 1.0216 1 180.14463846007993 87.99984666381724 0 0 0 0 +4208 1 1.5483 1 181.67860309398245 105.17932826493605 0 0 0 0 +5254 1 1.3814 1 220.9965605889208 64.77657159026874 0 0 0 0 +1106 1 3.0109 1 223.15652837328958 64.68056632730685 0 0 0 0 +9082 1 1.0481 1 176.3407492402753 108.53461909795087 0 0 0 0 +6341 1 1.2578 1 211.60698830681892 110.23667005527007 0 0 0 0 +7788 1 1.1296 1 202.19406430658114 113.49269261421317 0 0 0 0 +9302 1 1.0362 1 187.64746881785015 108.15565966075002 0 0 0 0 +1645 1 2.4557 1 175.40749335406397 93.0183570444425 0 0 0 0 +8842 1 1.0607 1 201.22779349328724 113.80793883865394 0 0 0 0 +1086 1 3.0375 1 211.4724529712464 112.32004605745902 0 0 0 0 +291 1 5.8215 1 193.30429721668597 110.9862841419726 0 0 0 0 +5044 1 1.4141 1 219.61510654880763 64.70906640822406 0 0 0 0 +7963 1 1.1168 1 172.69197999321167 109.86288914484432 0 0 0 0 +68 1 11.2975 1 177.48310130194437 66.32174941956484 0 0 0 0 +9839 1 1.0083 1 202.33018955022385 114.53239419806208 0 0 0 0 +8397 1 1.0877 1 175.37673839616178 108.85148672338242 0 0 0 0 +8529 1 1.079 1 176.01725899978643 107.57408016499718 0 0 0 0 +2450 1 2.0272 1 202.01480994442923 116.00015455894916 0 0 0 0 +2507 1 2.0075 1 195.98317852222607 113.81431365153347 0 0 0 0 +2926 1 1.8561 1 211.0046583037928 116.34261086158287 0 0 0 0 +9561 1 1.0223 1 201.1059104477124 114.81740562550385 0 0 0 0 +6284 1 1.2619 1 198.9943321004096 117.09538323354545 0 0 0 0 +2882 1 1.8677 1 187.11888240789838 63.984796598715654 0 0 0 0 +6041 1 1.2903 1 194.4763765460312 114.33161347317711 0 0 0 0 +1860 1 2.325 1 197.22212754269194 116.98917694119248 0 0 0 0 +2532 1 1.9987 1 200.0374016125464 115.86875512148589 0 0 0 0 +8903 1 1.0573 1 198.53979167981532 115.97406283943351 0 0 0 0 +6368 1 1.2552 1 196.65810813691255 115.2930249699205 0 0 0 0 +2410 1 2.0447 1 174.1984897661265 109.79331419626362 0 0 0 0 +1957 1 2.2664 1 192.87197202405525 114.96420062331461 0 0 0 0 +5168 1 1.3925 1 172.27456981060064 108.74750165063486 0 0 0 0 +7667 1 1.1387 1 173.98647984497478 107.37125889124329 0 0 0 0 +4220 1 1.5466 1 195.554606155983 116.05081065139102 0 0 0 0 +1264 1 2.839 1 173.01666857759758 99.41400921399809 0 0 0 0 +4710 1 1.4631 1 190.64967670571838 64.09480202328022 0 0 0 0 +333 1 5.4673 1 172.33403934510093 95.39580041824156 0 0 0 0 +8364 1 1.0895 1 173.64265705473386 111.23172638383546 0 0 0 0 +9166 1 1.0436 1 194.41672592882333 115.48943303596113 0 0 0 0 +1069 1 3.062 1 170.99728361196236 116.95457766781996 0 0 0 0 +2110 1 2.1773 1 206.85308149733686 63.85965007926201 0 0 0 0 +7779 1 1.1304 1 212.26469336447187 117.14222461078333 0 0 0 0 +3584 1 1.6743 1 172.62127773494348 107.32068876219077 0 0 0 0 +27 1 19.5342 1 182.2340587493248 116.88217528106746 0 0 0 0 +269 1 6.0214 1 172.0356157887539 103.61039595466048 0 0 0 0 +3631 1 1.6656 1 185.4228989307201 63.868318512990626 0 0 0 0 +2358 1 2.0624 1 183.61792953184374 63.92019886219912 0 0 0 0 +3839 1 1.6193 1 207.27715533764552 117.23837871496883 0 0 0 0 +2393 1 2.0504 1 209.1219913250072 116.8067479334991 0 0 0 0 +5449 1 1.3566 1 170.9524621625648 108.85595261615445 0 0 0 0 +4962 1 1.4247 1 171.0312101068552 100.10923063711844 0 0 0 0 +3253 1 1.7523 1 171.02085128922425 65.53861007990123 0 0 0 0 +3025 1 1.8194 1 170.89247616122734 107.32054932388395 0 0 0 0 +8795 1 1.0637 1 170.9741021596659 91.76808658416279 0 0 0 0 +23 1 20.9769 1 184.87225535572745 146.15598950355164 0 0 0 0 +25 1 20.6737 1 204.28415071783135 130.10180874541948 0 0 0 0 +49 1 13.3405 1 216.20504416453701 150.86408936820558 0 0 0 0 +109 1 9.4084 1 173.11501766576518 134.67812102799294 0 0 0 0 +207 1 6.6742 1 214.8086369761529 141.1098079816499 0 0 0 0 +8323 1 1.0926 1 199.89940017597345 150.2845816805735 0 0 0 0 +226 1 6.3752 1 191.65736404006526 125.53417091458313 0 0 0 0 +5726 1 1.3233 1 191.45579043239735 121.70450624264326 0 0 0 0 +2386 1 2.0539 1 224.36284352694992 154.98564775385267 0 0 0 0 +7210 1 1.1774 1 173.4090893306054 123.5538184254846 0 0 0 0 +276 1 5.9573 1 214.46333666038754 119.90775066267989 0 0 0 0 +9281 1 1.0377 1 218.78241700200508 165.10083968622249 0 0 0 0 +343 1 5.3725 1 217.567250681463 159.98968951793776 0 0 0 0 +369 1 5.1589 1 196.8731102209199 150.99338361244 0 0 0 0 +377 1 5.0809 1 184.0980958728006 128.92049517871746 0 0 0 0 +401 1 4.9353 1 199.39890795020193 145.01245372141287 0 0 0 0 +8197 1 1.1018 1 195.14013840902075 124.28745715389299 0 0 0 0 +413 1 4.8629 1 186.8487526229996 132.89524265323783 0 0 0 0 +417 1 4.8236 1 206.2639433979847 142.608769717015 0 0 0 0 +6168 1 1.2756 1 217.233713929238 137.38845188158442 0 0 0 0 +8130 1 1.1056 1 221.14737307909468 128.41594781380655 0 0 0 0 +432 1 4.7465 1 201.32517536771203 152.80266671698365 0 0 0 0 +8223 1 1.1002 1 194.03139355656546 152.26743482873923 0 0 0 0 +503 1 4.3596 1 196.57096971699346 140.0389711047562 0 0 0 0 +6154 1 1.2777 1 181.21445789872854 164.4946824792336 0 0 0 0 +406 1 4.9037 1 221.5232282838139 141.4965025318042 0 0 0 0 +596 1 4.0355 1 204.96283480998906 150.57356301177182 0 0 0 0 +619 1 3.9677 1 203.24979486180106 147.0893335329886 0 0 0 0 +690 1 3.8067 1 217.05452109405044 129.23068900762698 0 0 0 0 +722 1 3.7443 1 206.39490049486838 154.06478660947542 0 0 0 0 +6520 1 1.2411 1 223.44371312216288 151.02553606844566 0 0 0 0 +811 1 3.5623 1 193.6982216083439 117.7128834208727 0 0 0 0 +7578 1 1.1457 1 178.65224841133315 127.64595610203365 0 0 0 0 +910 1 3.3347 1 189.59833526318798 129.8944407427018 0 0 0 0 +577 1 4.1071 1 204.4777405082312 117.77162507195803 0 0 0 0 +1047 1 3.0941 1 196.46757462192355 121.17187264584079 0 0 0 0 +863 1 3.4373 1 223.44222008827768 162.76521901944406 0 0 0 0 +1166 1 2.9367 1 216.7364057047478 132.5253075159046 0 0 0 0 +8985 1 1.0534 1 197.8478064446035 147.54820529554314 0 0 0 0 +1203 1 2.9017 1 179.53746120297538 131.79525519165796 0 0 0 0 +5197 1 1.3887 1 223.2236996132048 129.26663981888797 0 0 0 0 +1217 1 2.8912 1 221.59668269936262 157.3252602967155 0 0 0 0 +1235 1 2.8722 1 193.47673047529614 121.21807841488739 0 0 0 0 +1243 1 2.8586 1 181.74208419598455 133.51120626131976 0 0 0 0 +1255 1 2.8456 1 208.22378051075782 151.42519918218645 0 0 0 0 +1256 1 2.8451 1 191.1705289379239 134.5384766906334 0 0 0 0 +8734 1 1.068 1 202.02763762288032 143.65577959556126 0 0 0 0 +8828 1 1.0617 1 196.88466215118456 147.90745336072416 0 0 0 0 +4892 1 1.4338 1 172.59981628611445 145.26642000830398 0 0 0 0 +1456 1 2.6126 1 199.87660794999712 140.82615605002067 0 0 0 0 +1469 1 2.6045 1 220.94900225933554 164.24998590988523 0 0 0 0 +1979 1 2.2546 1 181.6077837307039 162.81336313964638 0 0 0 0 +1482 1 2.594 1 215.07110175028632 124.14161768847079 0 0 0 0 +6805 1 1.212 1 206.51839595135826 119.44329513697454 0 0 0 0 +7818 1 1.1277 1 192.83896334301707 155.97963620664638 0 0 0 0 +249 1 6.2144 1 172.31840229075934 127.02105673124566 0 0 0 0 +9611 1 1.0199 1 184.3896994137278 158.78870027016833 0 0 0 0 +3056 1 1.8106 1 222.46619442334188 130.60751142425966 0 0 0 0 +1689 1 2.429 1 211.87727690338895 157.1997758946125 0 0 0 0 +1701 1 2.4231 1 214.563411028467 135.33780581965777 0 0 0 0 +1788 1 2.3638 1 183.37416862863526 160.09821616550408 0 0 0 0 +7475 1 1.1547 1 200.1525809883078 117.43565360231752 0 0 0 0 +1898 1 2.302 1 189.0756757422488 157.22325939644685 0 0 0 0 +1925 1 2.2861 1 206.55814713288976 147.94786645768687 0 0 0 0 +1928 1 2.2844 1 191.9109123579117 136.9800844625721 0 0 0 0 +2395 1 2.0499 1 172.29193475123344 146.92117330456776 0 0 0 0 +7593 1 1.1445 1 209.62876649732658 145.39312218739477 0 0 0 0 +2026 1 2.224 1 179.29505592455652 134.33900270731556 0 0 0 0 +2053 1 2.208 1 211.00225190060547 144.17725576370492 0 0 0 0 +5956 1 1.2992 1 209.48989672798933 118.35843000646352 0 0 0 0 +2061 1 2.2061 1 180.998278157573 159.65484315202895 0 0 0 0 +2066 1 2.199 1 221.08809474197096 161.28787253974608 0 0 0 0 +8782 1 1.0643 1 216.84788431463045 135.87498409833552 0 0 0 0 +2114 1 2.1744 1 207.24198376966453 145.88784245461332 0 0 0 0 +9954 1 1.003 1 194.0862952149817 134.23116609531348 0 0 0 0 +7202 1 1.1778 1 199.37448406505797 120.34742870288227 0 0 0 0 +2166 1 2.1498 1 203.09500188743604 141.3617752703694 0 0 0 0 +3914 1 1.6048 1 210.71395254271334 119.04209302431424 0 0 0 0 +4757 1 1.4553 1 178.12615004668697 126.47943326250764 0 0 0 0 +2228 1 2.1246 1 210.53967749877447 140.61946546711332 0 0 0 0 +9358 1 1.0331 1 185.38108442056497 161.1450521793098 0 0 0 0 +2257 1 2.1148 1 210.62856623097392 120.8140306592017 0 0 0 0 +2263 1 2.1123 1 194.10667931810875 155.00339240932507 0 0 0 0 +2365 1 2.0612 1 219.850064981971 166.20992944435676 0 0 0 0 +2381 1 2.0553 1 219.87238177029397 144.33613075349666 0 0 0 0 +8045 1 1.1116 1 209.82291109950202 154.1058300779617 0 0 0 0 +8878 1 1.0587 1 219.10349618051384 128.02188196903904 0 0 0 0 +9283 1 1.0376 1 198.48304258518868 120.94786479000629 0 0 0 0 +2526 1 2.0009 1 219.91376155849244 129.30278208027153 0 0 0 0 +2465 1 2.0238 1 182.43460618535642 158.1424208154617 0 0 0 0 +6539 1 1.2385 1 178.39509353643538 129.16126586887395 0 0 0 0 +2501 1 2.0097 1 198.1169466923335 119.23896048776616 0 0 0 0 +2502 1 2.0097 1 196.31234471468417 146.50395211066976 0 0 0 0 +2534 1 1.9978 1 188.95713504890892 135.47365129245983 0 0 0 0 +2556 1 1.9874 1 191.9103392119016 132.0451487201634 0 0 0 0 +8689 1 1.0706 1 201.68229481811056 140.64392309926504 0 0 0 0 +9127 1 1.0459 1 218.5345922219703 131.7076992568087 0 0 0 0 +2593 1 1.9709 1 174.0675698647758 149.80229189651774 0 0 0 0 +499 1 4.3651 1 218.29182129757268 125.46041683803521 0 0 0 0 +2720 1 1.923 1 203.36418855231892 144.21656410905493 0 0 0 0 +2722 1 1.9228 1 195.0851959630601 136.50729765067666 0 0 0 0 +2726 1 1.9215 1 214.39537191039724 158.19660205613204 0 0 0 0 +2732 1 1.9174 1 190.1026539021857 132.44528519964746 0 0 0 0 +8063 1 1.11 1 173.69109509339933 139.89668086664886 0 0 0 0 +2879 1 1.8681 1 196.10814749962077 144.57859939984496 0 0 0 0 +2881 1 1.8678 1 201.41844686936693 142.35158162005843 0 0 0 0 +2885 1 1.8661 1 218.86386880250282 163.66294851401946 0 0 0 0 +2933 1 1.8519 1 216.9953335708059 122.74573036264658 0 0 0 0 +2944 1 1.85 1 196.1705731748756 118.75358240473767 0 0 0 0 +7809 1 1.1281 1 192.8622717145819 133.23513301425123 0 0 0 0 +7711 1 1.1354 1 210.12856709680267 147.01904801636147 0 0 0 0 +3008 1 1.8257 1 222.31270273735382 168.32648038927024 0 0 0 0 +9060 1 1.0497 1 199.2328669554255 118.20869133975583 0 0 0 0 +7675 1 1.1383 1 187.02742237102018 129.9321007569591 0 0 0 0 +3026 1 1.8192 1 185.4223680412991 159.74560962806225 0 0 0 0 +3046 1 1.813 1 186.63084956581721 126.59804003898009 0 0 0 0 +9234 1 1.0404 1 214.84168143523627 132.26312777698402 0 0 0 0 +3069 1 1.8073 1 193.39344775790283 135.68026117572708 0 0 0 0 +3071 1 1.8069 1 208.86696594262864 149.23953602514692 0 0 0 0 +3081 1 1.8055 1 221.70471749871666 166.64460330736912 0 0 0 0 +3085 1 1.803 1 222.86913437216322 165.30364186311007 0 0 0 0 +3088 1 1.8023 1 183.5906485968628 134.85265666896754 0 0 0 0 +7848 1 1.1256 1 193.87145647704762 139.83635096481976 0 0 0 0 +7810 1 1.1281 1 179.37299363446667 129.8027353555123 0 0 0 0 +8869 1 1.059 1 212.9688893432611 158.53860976623247 0 0 0 0 +3168 1 1.7746 1 180.81349666843425 129.86184070744483 0 0 0 0 +3180 1 1.7707 1 187.04422468116474 157.2341641453448 0 0 0 0 +8350 1 1.0906 1 191.75787369213108 130.49303142832565 0 0 0 0 +3186 1 1.769 1 199.01377994304633 148.30472413628513 0 0 0 0 +3414 1 1.7117 1 224.15712892102968 130.48790971154048 0 0 0 0 +8438 1 1.0854 1 186.86443917017044 159.64471452218157 0 0 0 0 +3268 1 1.7479 1 184.15136536208993 157.45140264085137 0 0 0 0 +7970 1 1.1165 1 196.01151754921293 123.16164566089377 0 0 0 0 +3280 1 1.7451 1 215.58412357061945 126.87511776892111 0 0 0 0 +3292 1 1.742 1 184.26289204192543 161.93544764879147 0 0 0 0 +9476 1 1.027 1 211.7041054346716 122.11071192970914 0 0 0 0 +8396 1 1.0877 1 176.56598873591483 153.0043884300431 0 0 0 0 +3321 1 1.735 1 218.5599775576416 142.98299433822223 0 0 0 0 +3386 1 1.7188 1 193.14757239754317 130.75654032032384 0 0 0 0 +9705 1 1.0149 1 177.67096389858554 132.23346842589063 0 0 0 0 +3428 1 1.7095 1 192.2292383747164 154.73479651360276 0 0 0 0 +7540 1 1.1492 1 173.859221992398 146.79262317824688 0 0 0 0 +3617 1 1.6685 1 223.4931301612902 152.45844040016215 0 0 0 0 +5692 1 1.3267 1 222.69011091913413 144.29925336755898 0 0 0 0 +3511 1 1.6917 1 181.7523598095511 131.29105573026686 0 0 0 0 +3531 1 1.6863 1 209.07151884658313 144.15012611860942 0 0 0 0 +3550 1 1.682 1 215.90945386030302 136.85414979066266 0 0 0 0 +9551 1 1.0232 1 221.1290004875318 145.63024815810007 0 0 0 0 +137 1 7.9982 1 221.3212648630877 135.25628854098488 0 0 0 0 +8021 1 1.1133 1 197.28280072732127 142.83944490130926 0 0 0 0 +3626 1 1.6665 1 180.82057422197803 135.54070732523718 0 0 0 0 +3633 1 1.6653 1 187.42405219782611 128.6198973988346 0 0 0 0 +3648 1 1.6628 1 194.71715160522166 123.01070469008509 0 0 0 0 +3658 1 1.6607 1 195.69122210002203 142.88759959567588 0 0 0 0 +8767 1 1.0653 1 209.44530758438398 139.5732958722962 0 0 0 0 +3779 1 1.6339 1 193.20908742053962 129.145464168872 0 0 0 0 +9138 1 1.0452 1 180.79971445085178 161.34869535022924 0 0 0 0 +3875 1 1.6127 1 211.57630585054403 138.5358637551987 0 0 0 0 +7287 1 1.1721 1 180.41293480323094 127.06320585734541 0 0 0 0 +3911 1 1.6059 1 196.22768663882528 154.58925384189723 0 0 0 0 +3916 1 1.6041 1 187.7815787628026 158.66918503854643 0 0 0 0 +9375 1 1.0322 1 196.2558042402677 137.3818556889599 0 0 0 0 +3971 1 1.5916 1 220.86494232999226 159.4160130611249 0 0 0 0 +7545 1 1.1488 1 182.87964503555003 161.75524593706152 0 0 0 0 +3434 1 1.7085 1 217.99587797261174 138.62080912566552 0 0 0 0 +4049 1 1.5745 1 213.15814651207367 136.7103694588588 0 0 0 0 +4055 1 1.5737 1 190.47787065141486 155.9107237403585 0 0 0 0 +4097 1 1.567 1 209.22209629555405 156.1567341787484 0 0 0 0 +7361 1 1.1645 1 210.4223745154196 117.6779306939083 0 0 0 0 +4189 1 1.5513 1 210.92326709821506 142.35680454961644 0 0 0 0 +4201 1 1.5496 1 193.02247327798418 138.4995362562164 0 0 0 0 +7725 1 1.1347 1 218.3221653023585 122.10916228181317 0 0 0 0 +4212 1 1.5475 1 208.46909161023677 140.3758132583546 0 0 0 0 +673 1 3.8377 1 171.59023785738432 141.17634645087875 0 0 0 0 +4228 1 1.5461 1 210.62489356352992 155.6799818013442 0 0 0 0 +4259 1 1.5405 1 208.94438376308517 146.5053323430688 0 0 0 0 +2214 1 2.1308 1 208.6430114568453 119.71549458654306 0 0 0 0 +8609 1 1.0746 1 193.08070153220575 134.29140284211638 0 0 0 0 +5290 1 1.377 1 219.24910302918644 139.4222115751906 0 0 0 0 +4423 1 1.5107 1 222.1873236926612 155.24566948374135 0 0 0 0 +4463 1 1.5036 1 173.87034600454987 148.08871538510292 0 0 0 0 +1634 1 2.4637 1 177.23543869558262 130.56202383108877 0 0 0 0 +4565 1 1.4869 1 216.40027644630845 134.69470774537027 0 0 0 0 +4575 1 1.485 1 201.62434679114642 149.23962884447045 0 0 0 0 +4589 1 1.4821 1 180.91776085848284 128.27162854476666 0 0 0 0 +4733 1 1.4588 1 214.79593218426092 133.47515219614147 0 0 0 0 +4742 1 1.4575 1 177.2229156922805 138.08831597358306 0 0 0 0 +9165 1 1.0436 1 214.99566604812904 130.18321701669856 0 0 0 0 +4765 1 1.4541 1 210.76563511987993 145.93782367687527 0 0 0 0 +4795 1 1.4499 1 208.81067520042524 154.77736859028593 0 0 0 0 +1654 1 2.4513 1 200.69168237980895 119.1496817140795 0 0 0 0 +4825 1 1.4453 1 194.63233832299397 153.36225525428742 0 0 0 0 +8941 1 1.0556 1 204.60483316024573 145.0069386931768 0 0 0 0 +4890 1 1.4344 1 209.18558635327716 141.67384221155953 0 0 0 0 +4924 1 1.4291 1 179.53759495128443 128.54330017835517 0 0 0 0 +5002 1 1.42 1 174.69720645591534 141.5079850792043 0 0 0 0 +8706 1 1.0696 1 202.75949456987985 142.8950893932242 0 0 0 0 +5146 1 1.3971 1 222.2374646824701 159.36634520940757 0 0 0 0 +4317 1 1.5297 1 182.6071098288212 164.40638060303635 0 0 0 0 +7655 1 1.1399 1 188.09142964126562 126.7048302229918 0 0 0 0 +8384 1 1.0882 1 200.87139286576533 148.03542449770646 0 0 0 0 +5279 1 1.3784 1 193.68506430460945 137.24419224672613 0 0 0 0 +9284 1 1.0374 1 182.9452978319419 131.95389234290522 0 0 0 0 +5428 1 1.3594 1 190.25850706395497 136.4144305948935 0 0 0 0 +5432 1 1.3586 1 208.3345437269616 147.7818180485731 0 0 0 0 +3430 1 1.709 1 223.9667816923922 139.30252880779693 0 0 0 0 +3415 1 1.7117 1 172.2964182593056 143.79333127606853 0 0 0 0 +5488 1 1.3522 1 183.8023288304201 133.29441523790263 0 0 0 0 +5477 1 1.3532 1 175.1612502835921 129.6950321271495 0 0 0 0 +9401 1 1.0305 1 172.33722648260294 123.41158099313868 0 0 0 0 +5567 1 1.3421 1 192.22813557409648 119.61775004932936 0 0 0 0 +5638 1 1.3332 1 179.6086189174346 157.03604811783575 0 0 0 0 +5648 1 1.3325 1 200.25833883163284 149.15419742931763 0 0 0 0 +5682 1 1.3286 1 188.61103241071612 127.80131735472322 0 0 0 0 +8563 1 1.0772 1 202.4729286067303 150.15271800353324 0 0 0 0 +5697 1 1.3263 1 214.48169673812106 137.17933728658565 0 0 0 0 +5752 1 1.3202 1 219.53715201289722 157.3423632141378 0 0 0 0 +5756 1 1.3197 1 208.8377235936783 153.4018806702389 0 0 0 0 +5827 1 1.3118 1 212.7062292807315 144.46759713152076 0 0 0 0 +7500 1 1.1524 1 207.27562464416314 118.59720131535217 0 0 0 0 +5867 1 1.3086 1 207.3796168759557 149.5276047435631 0 0 0 0 +5910 1 1.304 1 179.09359738604547 155.71273001311945 0 0 0 0 +5941 1 1.3008 1 193.51857610788437 132.19726424288646 0 0 0 0 +3116 1 1.791 1 181.63342524107657 165.9273315084746 0 0 0 0 +9149 1 1.0447 1 193.92814520191504 133.26265014393087 0 0 0 0 +6051 1 1.2887 1 178.49039232887603 135.89318948948312 0 0 0 0 +7879 1 1.1229 1 220.89005634848013 168.57959907528155 0 0 0 0 +8250 1 1.0978 1 210.37425464688857 139.06274424391657 0 0 0 0 +6170 1 1.2754 1 213.20028068062922 123.59744744551799 0 0 0 0 +6204 1 1.2713 1 219.08968119291146 130.7112713747942 0 0 0 0 +8264 1 1.097 1 180.6022462987038 156.33476809847076 0 0 0 0 +6261 1 1.2638 1 198.43839771953137 142.10155494610137 0 0 0 0 +2608 1 1.9643 1 173.88063891125822 142.93894228874024 0 0 0 0 +8352 1 1.0905 1 179.3433748192946 126.77404936873697 0 0 0 0 +6327 1 1.2587 1 203.86922162974366 154.45764332644475 0 0 0 0 +8180 1 1.1024 1 224.06171139676306 131.79242001048254 0 0 0 0 +7950 1 1.1177 1 176.42792421980772 139.05141446938416 0 0 0 0 +6347 1 1.2574 1 186.38386570693515 158.5756234763299 0 0 0 0 +6356 1 1.2563 1 211.51873709272422 117.94668940174579 0 0 0 0 +6339 1 1.2581 1 181.89865190175695 161.10116676782596 0 0 0 0 +8622 1 1.0736 1 185.28031481377116 158.28052203024515 0 0 0 0 +6439 1 1.2482 1 194.8906225268826 119.74735221341184 0 0 0 0 +9600 1 1.0206 1 205.67773063751002 146.59256244667282 0 0 0 0 +8751 1 1.067 1 183.9962380395554 132.06677063411493 0 0 0 0 +6851 1 1.2073 1 222.46272564034848 128.24945093818977 0 0 0 0 +9827 1 1.0087 1 178.89557339551473 136.96788607991556 0 0 0 0 +3091 1 1.8021 1 181.07124888011631 167.6032682348922 0 0 0 0 +6661 1 1.226 1 185.00658947278546 135.16260713979068 0 0 0 0 +2594 1 1.9703 1 175.21727525874044 139.94237946004236 0 0 0 0 +6711 1 1.2213 1 191.7992667918464 129.3297650527292 0 0 0 0 +6715 1 1.2208 1 182.233595381356 135.43782417409668 0 0 0 0 +6721 1 1.2204 1 222.64909913415804 160.59216734324707 0 0 0 0 +6724 1 1.2203 1 214.4216406796716 125.9519762690553 0 0 0 0 +6735 1 1.2193 1 181.6962404819591 156.72816667516034 0 0 0 0 +6754 1 1.2178 1 219.81708935942672 162.43644429282222 0 0 0 0 +8912 1 1.057 1 212.70455507730742 137.89622202346084 0 0 0 0 +6799 1 1.2126 1 187.8724824632412 125.56583057441685 0 0 0 0 +6832 1 1.2089 1 221.46282732820748 144.54401962965525 0 0 0 0 +6835 1 1.2087 1 180.92169494684248 157.60525713654755 0 0 0 0 +6845 1 1.2082 1 191.76047533887845 156.38177254745224 0 0 0 0 +6864 1 1.2057 1 205.5952878556705 145.5175286224256 0 0 0 0 +6876 1 1.2043 1 177.84990468530088 136.95543461465797 0 0 0 0 +6881 1 1.2041 1 195.7786996144451 148.01702480002578 0 0 0 0 +6884 1 1.2036 1 217.7551719007255 121.14884453353349 0 0 0 0 +9726 1 1.014 1 218.92060777816698 122.93320382775151 0 0 0 0 +6924 1 1.1998 1 209.67264394587372 142.87223700229393 0 0 0 0 +6926 1 1.1997 1 215.15480194406516 131.2339300142792 0 0 0 0 +7046 1 1.1897 1 180.00187534938942 158.296809417078 0 0 0 0 +7049 1 1.1896 1 173.91993498686983 144.4939412831583 0 0 0 0 +7067 1 1.1885 1 185.58372420002425 157.20290104305852 0 0 0 0 +7078 1 1.1878 1 220.10863657720026 167.77904361433568 0 0 0 0 +4021 1 1.5795 1 222.94456998241154 153.94138597749085 0 0 0 0 +7127 1 1.1837 1 173.82162069905337 145.6560898774362 0 0 0 0 +6604 1 1.2312 1 221.8490526921613 129.28336901449026 0 0 0 0 +7204 1 1.1777 1 218.6617225558201 140.53738277183075 0 0 0 0 +8790 1 1.064 1 204.1446364554062 153.32994525789746 0 0 0 0 +7334 1 1.1678 1 194.7876766778329 137.95888987066454 0 0 0 0 +7335 1 1.1678 1 214.36856479966266 159.6725766335188 0 0 0 0 +7709 1 1.1356 1 217.5233334514028 163.16903956356694 0 0 0 0 +3485 1 1.6963 1 180.37591985678137 170.0874757697348 0 0 0 0 +7370 1 1.1638 1 181.56189325364423 127.15921901164295 0 0 0 0 +7391 1 1.162 1 194.67212648837562 135.07541101162735 0 0 0 0 +7392 1 1.1619 1 179.73196550700635 136.35943551070068 0 0 0 0 +9988 1 1.0007 1 178.12328290287027 133.2282266017259 0 0 0 0 +7464 1 1.156 1 220.27333166640105 130.83011038208002 0 0 0 0 +8737 1 1.0677 1 221.136841379142 130.1748052121111 0 0 0 0 +7491 1 1.153 1 183.30210923972516 163.19127220086048 0 0 0 0 +7494 1 1.1528 1 208.30186813224154 118.14125376312636 0 0 0 0 +7498 1 1.1525 1 209.56586153208028 147.9728408801629 0 0 0 0 +9176 1 1.043 1 194.20844317584542 138.83879946814739 0 0 0 0 +5316 1 1.3736 1 174.56634427689696 123.94065268468474 0 0 0 0 +4815 1 1.4465 1 220.22353653214708 127.57911898101138 0 0 0 0 +4139 1 1.5605 1 175.54456754081812 124.97339564522437 0 0 0 0 +4023 1 1.579 1 176.76943312113875 125.85921205676641 0 0 0 0 +7819 1 1.1276 1 172.77792370485182 120.81230921669636 0 0 0 0 +2008 1 2.2351 1 224.050215755691 167.31404389856266 0 0 0 0 +7095 1 1.1865 1 221.88041939939555 146.51486656421895 0 0 0 0 +1199 1 2.9039 1 176.67953968714505 128.04171119712623 0 0 0 0 +4421 1 1.5113 1 220.94818562915924 169.86516323435455 0 0 0 0 +7492 1 1.1529 1 220.92514495819682 126.16572697334696 0 0 0 0 +2982 1 1.8381 1 172.45976018012558 148.82698731821512 0 0 0 0 +3239 1 1.755 1 173.09561563469728 122.19415006137076 0 0 0 0 +5962 1 1.2986 1 222.3016796365459 145.45247160204767 0 0 0 0 +4603 1 1.4798 1 221.60180186627522 127.26143829793217 0 0 0 0 +4871 1 1.4379 1 223.9789164140882 144.12160050510846 0 0 0 0 +3660 1 1.6596 1 170.91968532393904 148.09457327174763 0 0 0 0 +5378 1 1.3666 1 201.76355051891943 117.63289117589898 0 0 0 0 +4400 1 1.515 1 224.48638879284346 165.5203200577934 0 0 0 0 +6 1 40.6337 1 200.62937790527238 175.31105533894495 0 0 0 0 +30 1 18.0424 1 173.8764790608081 209.30316925294156 0 0 0 0 +6755 1 1.2178 1 180.38260770921377 220.94848291765928 0 0 0 0 +176 1 7.2667 1 185.98130569892706 200.11797041180122 0 0 0 0 +354 1 5.3204 1 172.3396014371643 182.5217820029764 0 0 0 0 +399 1 4.9357 1 221.3842920012077 188.51789364337282 0 0 0 0 +7862 1 1.1236 1 178.38298718502634 222.4726811812328 0 0 0 0 +445 1 4.664 1 185.331060867571 209.62081050874522 0 0 0 0 +541 1 4.2359 1 183.17434432707867 216.76174470327473 0 0 0 0 +548 1 4.2077 1 196.40378016617694 201.2137223439762 0 0 0 0 +3827 1 1.6215 1 172.02090585612046 190.7317860104335 0 0 0 0 +578 1 4.1058 1 178.8437290780451 179.61543002221836 0 0 0 0 +643 1 3.9101 1 197.15395153902648 197.25252575242308 0 0 0 0 +701 1 3.7809 1 221.2360018607051 183.58974428839483 0 0 0 0 +4905 1 1.4318 1 172.66947663629475 219.63278166049386 0 0 0 0 +855 1 3.4496 1 175.2308133210861 179.35112925125392 0 0 0 0 +881 1 3.3885 1 180.9222787515575 201.40725932497753 0 0 0 0 +902 1 3.3531 1 188.76728171022918 207.66372092635388 0 0 0 0 +970 1 3.2193 1 184.3271589460449 192.99037929859554 0 0 0 0 +1026 1 3.143 1 189.17319392558005 196.09220431954577 0 0 0 0 +1153 1 2.951 1 193.999258553139 196.00462600546854 0 0 0 0 +1174 1 2.931 1 180.24364711734987 198.39276815462196 0 0 0 0 +1307 1 2.7855 1 218.58999166928487 191.05505728262764 0 0 0 0 +1314 1 2.7755 1 186.98485951681644 194.23343963921806 0 0 0 0 +5631 1 1.3336 1 177.07480301662386 183.1753792884937 0 0 0 0 +1351 1 2.7351 1 188.74717897343825 204.67001494352797 0 0 0 0 +4477 1 1.5014 1 175.70406409346265 218.83342565332453 0 0 0 0 +1420 1 2.6601 1 187.98726934308038 211.99098046341322 0 0 0 0 +1424 1 2.657 1 191.54043470517126 197.61066032146516 0 0 0 0 +1521 1 2.5558 1 183.20311269926304 187.90714078538105 0 0 0 0 +1544 1 2.5356 1 199.39650812365008 199.82812518027876 0 0 0 0 +1547 1 2.5343 1 182.64669009243207 203.6965616004475 0 0 0 0 +1601 1 2.4933 1 183.5471190078765 212.64029928309222 0 0 0 0 +1609 1 2.485 1 222.71638137763503 180.87830149752716 0 0 0 0 +1719 1 2.4113 1 183.77852699367168 195.84381110768933 0 0 0 0 +1836 1 2.3371 1 184.84299605065712 204.694858908776 0 0 0 0 +1856 1 2.3291 1 179.324457161935 173.70833434924555 0 0 0 0 +1944 1 2.2726 1 215.333510918641 190.90408486368656 0 0 0 0 +1322 1 2.7647 1 178.3646168030494 188.9237163859109 0 0 0 0 +2044 1 2.2157 1 194.56143196143742 198.67639389461715 0 0 0 0 +2158 1 2.1537 1 171.5820138897499 186.05623495299844 0 0 0 0 +4167 1 1.5556 1 224.47539118342294 179.90775358151663 0 0 0 0 +2076 1 2.1961 1 186.45560186322427 206.25873242285383 0 0 0 0 +6023 1 1.2922 1 174.5667325145689 219.6032623570141 0 0 0 0 +2417 1 2.0427 1 192.43863575492253 203.8095583515215 0 0 0 0 +2421 1 2.04 1 202.5914601418651 197.8502351875886 0 0 0 0 +2431 1 2.0343 1 182.41403304858872 190.0181782967057 0 0 0 0 +2440 1 2.0306 1 192.90098147506578 201.81956206070964 0 0 0 0 +2530 1 1.9992 1 183.12773145971573 205.82628696930104 0 0 0 0 +2548 1 1.9898 1 181.5575477705184 184.74265455515294 0 0 0 0 +2582 1 1.9771 1 180.6814693608337 191.38089114186198 0 0 0 0 +2655 1 1.945 1 205.2096367868205 196.05852816607202 0 0 0 0 +2657 1 1.9447 1 191.25499788855265 208.13134811844066 0 0 0 0 +2688 1 1.9347 1 207.83830599957173 195.1537243604289 0 0 0 0 +2699 1 1.9297 1 180.5637944656147 189.47380977257572 0 0 0 0 +2704 1 1.928 1 181.40297407897364 186.64624198706443 0 0 0 0 +2751 1 1.9113 1 189.73704364141489 202.64083753185253 0 0 0 0 +2754 1 1.91 1 218.74259788037347 186.40965037116206 0 0 0 0 +2776 1 1.9038 1 222.11214347819364 177.90926946873304 0 0 0 0 +2830 1 1.8849 1 217.1963649602517 189.2816862322019 0 0 0 0 +2909 1 1.8612 1 184.93812690427106 214.29128734652113 0 0 0 0 +2940 1 1.8504 1 178.60715181005037 182.9172263506314 0 0 0 0 +2963 1 1.844 1 186.69051597157437 214.82866899351384 0 0 0 0 +2985 1 1.837 1 188.3844891969947 192.5320635486036 0 0 0 0 +3019 1 1.82 1 178.62932938591308 184.7154303527292 0 0 0 0 +3591 1 1.6735 1 223.22097016502522 185.41750152668033 0 0 0 0 +8739 1 1.0675 1 174.00731814614343 187.01158669584953 0 0 0 0 +3145 1 1.7797 1 182.32457843638835 194.36344892804928 0 0 0 0 +3147 1 1.7791 1 179.22649379189235 186.3810607618658 0 0 0 0 +3224 1 1.759 1 178.44749104080591 176.757021247682 0 0 0 0 +3264 1 1.7492 1 194.16505988133198 203.11209204059853 0 0 0 0 +3340 1 1.7313 1 193.01014052407442 205.94437081311412 0 0 0 0 +3469 1 1.6996 1 194.25945149209394 204.8035757502698 0 0 0 0 +9823 1 1.0088 1 223.54672288962377 184.1389886485393 0 0 0 0 +8543 1 1.0785 1 171.32074307675379 220.41423611429786 0 0 0 0 +6005 1 1.294 1 224.45063280268715 189.78353931344964 0 0 0 0 +3560 1 1.6789 1 172.53730941153069 199.5612019225368 0 0 0 0 +3935 1 1.6012 1 178.0621543153322 175.1696274271077 0 0 0 0 +8361 1 1.0898 1 178.20282853616004 223.52240804393753 0 0 0 0 +4035 1 1.5769 1 184.6556257096483 206.6250548382452 0 0 0 0 +4053 1 1.5741 1 175.07883671902616 199.47309116717415 0 0 0 0 +4127 1 1.5626 1 182.36306435129686 191.75426937448333 0 0 0 0 +4156 1 1.5567 1 180.11375383665742 187.7595700210377 0 0 0 0 +9917 1 1.0044 1 181.00665678167033 194.092342793881 0 0 0 0 +4673 1 1.4685 1 224.00407186852206 186.72860365547254 0 0 0 0 +4195 1 1.5502 1 186.69613615632989 204.42551816275514 0 0 0 0 +5184 1 1.3908 1 181.1171218433482 222.56962058094098 0 0 0 0 +4203 1 1.5489 1 193.74557075811921 200.3107438438374 0 0 0 0 +4221 1 1.5465 1 217.64472690551898 187.67566309015967 0 0 0 0 +4225 1 1.5463 1 185.54174513343264 212.69950341620853 0 0 0 0 +7032 1 1.1912 1 172.7302557352067 198.17775834310368 0 0 0 0 +4260 1 1.5401 1 191.41975218797828 206.4289475317569 0 0 0 0 +633 1 3.9266 1 175.8732591842172 185.39503118288812 0 0 0 0 +4346 1 1.5235 1 178.17935709321355 199.06789082938687 0 0 0 0 +4354 1 1.5225 1 216.74113924192685 192.08016017450095 0 0 0 0 +4356 1 1.5221 1 190.23911003815354 201.0041190478394 0 0 0 0 +4358 1 1.522 1 181.44322491807793 192.9485358163195 0 0 0 0 +7511 1 1.1518 1 173.6510221346567 218.84878405781782 0 0 0 0 +4443 1 1.5071 1 200.8907263798346 197.6822229053437 0 0 0 0 +4459 1 1.5041 1 186.35241304533682 190.75386744200995 0 0 0 0 +9863 1 1.0066 1 180.37481623709388 185.63858622725186 0 0 0 0 +4524 1 1.4939 1 201.25194199788626 199.086778979375 0 0 0 0 +4547 1 1.4902 1 188.6650789333144 210.05513389789942 0 0 0 0 +4599 1 1.4805 1 177.3550560004805 200.24873549679285 0 0 0 0 +4613 1 1.479 1 180.13861261767582 183.45063506204494 0 0 0 0 +4652 1 1.473 1 179.5703920413434 175.59481711434177 0 0 0 0 +4686 1 1.4663 1 191.25111574578125 202.08759464579344 0 0 0 0 +4766 1 1.4536 1 203.52825175881725 196.10122624995074 0 0 0 0 +4778 1 1.4517 1 178.64204215811935 200.81106348218253 0 0 0 0 +4791 1 1.4505 1 177.3713210205973 181.90086993182265 0 0 0 0 +4807 1 1.4475 1 182.32866358891158 214.09785217062145 0 0 0 0 +4842 1 1.4428 1 190.8146294816619 204.48583735534353 0 0 0 0 +4907 1 1.4311 1 182.46169840459626 197.20338714194028 0 0 0 0 +4943 1 1.427 1 191.15007876345683 195.0114487271301 0 0 0 0 +4954 1 1.4254 1 183.35965289837873 207.4389650978289 0 0 0 0 +4960 1 1.4248 1 213.4173589392545 193.08380695748892 0 0 0 0 +4985 1 1.4223 1 214.75334675360494 192.63119394808683 0 0 0 0 +5008 1 1.4195 1 223.3078192316692 179.02454125994993 0 0 0 0 +5031 1 1.4158 1 195.49008176481442 203.85521432994761 0 0 0 0 +5055 1 1.4123 1 212.0032783316095 192.98623164882756 0 0 0 0 +5084 1 1.4071 1 181.22920622231317 196.52834486751325 0 0 0 0 +5085 1 1.4067 1 204.1745312415218 197.31076609433163 0 0 0 0 +5182 1 1.3909 1 190.2109946809966 199.42603606350391 0 0 0 0 +5186 1 1.3902 1 175.7842045808516 182.74294699437985 0 0 0 0 +9923 1 1.0041 1 212.77110854803684 192.1241252629282 0 0 0 0 +5248 1 1.3821 1 200.86335306221866 196.26825307763198 0 0 0 0 +5252 1 1.3817 1 173.2813107317042 185.72540556542359 0 0 0 0 +5253 1 1.3815 1 184.047280638801 189.67071325533144 0 0 0 0 +5399 1 1.3635 1 176.88611377863575 176.67598675967062 0 0 0 0 +5418 1 1.3611 1 185.39126591900308 189.73859706939902 0 0 0 0 +5491 1 1.3519 1 191.61586106726602 200.75251941191945 0 0 0 0 +5669 1 1.3299 1 210.19690051283106 194.29842396279344 0 0 0 0 +5725 1 1.3234 1 202.18029337900867 196.22512659036403 0 0 0 0 +5748 1 1.3206 1 190.23778131247064 209.59875113862952 0 0 0 0 +5789 1 1.3154 1 213.77651433397565 191.67290537287306 0 0 0 0 +5907 1 1.3044 1 181.08081031189946 195.22073498013273 0 0 0 0 +5964 1 1.2985 1 192.42899513234553 194.59073396969194 0 0 0 0 +5992 1 1.2954 1 179.89203106562258 182.08742672516013 0 0 0 0 +6031 1 1.2916 1 185.90172173563337 195.90086426605345 0 0 0 0 +8673 1 1.0712 1 180.61384027932138 216.07632859126767 0 0 0 0 +6131 1 1.2805 1 199.57189856453297 198.02357984470365 0 0 0 0 +2531 1 1.9991 1 171.15989347788866 218.89849059697985 0 0 0 0 +6183 1 1.2739 1 220.74141738528309 181.14392965308713 0 0 0 0 +9092 1 1.0474 1 175.6286358758854 220.06449200650317 0 0 0 0 +6354 1 1.2564 1 189.72956093572094 198.2028609137863 0 0 0 0 +6508 1 1.2422 1 219.18107142508882 184.94138232844665 0 0 0 0 +6683 1 1.2238 1 181.3984475210581 188.1988660611239 0 0 0 0 +9797 1 1.0099 1 176.908659617149 177.86564533875432 0 0 0 0 +6829 1 1.2094 1 189.74412545827232 193.1306816123224 0 0 0 0 +6901 1 1.202 1 186.00108551052347 216.6881618458962 0 0 0 0 +5430 1 1.359 1 171.85744170556868 197.2952226185807 0 0 0 0 +6994 1 1.1948 1 191.45520436011563 199.50498709121382 0 0 0 0 +7076 1 1.1879 1 199.33472241393102 196.0719249178851 0 0 0 0 +7077 1 1.1879 1 183.75127483976453 190.89533050393723 0 0 0 0 +7090 1 1.1869 1 190.14192265041635 194.20808086411319 0 0 0 0 +7126 1 1.1837 1 177.06850764972995 187.543124396986 0 0 0 0 +7301 1 1.1705 1 186.6909836843392 213.35916805482725 0 0 0 0 +7344 1 1.1663 1 192.51108514612437 199.92240315999936 0 0 0 0 +7377 1 1.1635 1 192.92406278555154 198.86678362969116 0 0 0 0 +7455 1 1.1565 1 220.11352948995176 185.76328363759683 0 0 0 0 +7508 1 1.1518 1 221.37880325939688 176.63657388452683 0 0 0 0 +7591 1 1.1447 1 181.91064428481297 199.43418178821915 0 0 0 0 +7595 1 1.1443 1 220.96468172461053 179.98488876855492 0 0 0 0 +7739 1 1.1333 1 185.22301728783066 194.93112663422554 0 0 0 0 +7778 1 1.1305 1 221.8567805779183 179.33977337457424 0 0 0 0 +7780 1 1.1304 1 181.41666660107325 214.95221721962963 0 0 0 0 +7881 1 1.1228 1 190.35760144497766 205.6781333785688 0 0 0 0 +7886 1 1.1222 1 181.37577623902888 183.2394856109882 0 0 0 0 +689 1 3.8112 1 182.88371280873747 220.71196907770857 0 0 0 0 +8113 1 1.1068 1 206.67774568411758 196.05096194780518 0 0 0 0 +1176 1 2.9298 1 173.41129018230487 188.93097901431207 0 0 0 0 +8173 1 1.1028 1 192.45107334124833 207.22098359606883 0 0 0 0 +8210 1 1.1008 1 188.93619159131535 193.97065813673137 0 0 0 0 +8238 1 1.0989 1 184.91603181146237 190.87498626337546 0 0 0 0 +8332 1 1.0922 1 173.8450335055049 199.7898207359173 0 0 0 0 +8373 1 1.0889 1 199.8847651181185 196.9570916873622 0 0 0 0 +8440 1 1.0851 1 187.4352897496681 191.4357530054143 0 0 0 0 +8518 1 1.0799 1 185.5376329587921 215.65000100247795 0 0 0 0 +8577 1 1.0765 1 211.45428504561173 194.0524178001188 0 0 0 0 +8598 1 1.0752 1 173.68933417319872 198.75085609313768 0 0 0 0 +8604 1 1.0747 1 191.82450341671537 205.21372339918915 0 0 0 0 +2047 1 2.2135 1 180.70924441487008 218.79210030374693 0 0 0 0 +8697 1 1.07 1 185.59428160540156 217.7462685115835 0 0 0 0 +8717 1 1.0689 1 192.02876454194205 195.84296582268664 0 0 0 0 +8817 1 1.0624 1 182.21670495446995 198.39607243261156 0 0 0 0 +8822 1 1.0618 1 187.08012482444502 196.1269008471925 0 0 0 0 +8909 1 1.057 1 180.0451906961792 184.6886409054464 0 0 0 0 +8956 1 1.0549 1 210.8330612292146 193.33367166067106 0 0 0 0 +9083 1 1.048 1 182.65286081276855 185.84689457985124 0 0 0 0 +9111 1 1.0468 1 187.69625096754194 213.80854827023137 0 0 0 0 +9122 1 1.0461 1 189.53261096929577 210.96972729650506 0 0 0 0 +9145 1 1.0449 1 215.83865600432804 189.40731609525835 0 0 0 0 +9153 1 1.0446 1 218.4595705132591 188.64143581355916 0 0 0 0 +8997 1 1.0527 1 174.8410316199065 187.60857280852662 0 0 0 0 +9192 1 1.0423 1 176.66557185007755 180.97235928527314 0 0 0 0 +9206 1 1.0414 1 179.78858868735873 177.179488587058 0 0 0 0 +9252 1 1.0393 1 180.72434503935045 181.30751993742027 0 0 0 0 +9304 1 1.0361 1 193.29064684907885 197.81170124490563 0 0 0 0 +4474 1 1.5021 1 223.5741466003367 190.8603353351274 0 0 0 0 +9387 1 1.0314 1 184.76154334268819 188.73967729749828 0 0 0 0 +9404 1 1.0303 1 178.0337527468302 187.06260327628587 0 0 0 0 +9430 1 1.0293 1 209.04914938369035 194.3492927810277 0 0 0 0 +9436 1 1.0289 1 176.16258888603735 200.08524701852394 0 0 0 0 +9444 1 1.0287 1 175.63959128941713 181.54738733044132 0 0 0 0 +9534 1 1.0241 1 191.1531872014491 193.81440035314625 0 0 0 0 +9590 1 1.0213 1 186.10673052311566 191.9449776182253 0 0 0 0 +9605 1 1.0204 1 182.103744597804 195.7309958589877 0 0 0 0 +2938 1 1.8507 1 179.22298334337071 217.54627989925956 0 0 0 0 +9621 1 1.0197 1 186.99340754550033 192.3675158890753 0 0 0 0 +9631 1 1.0189 1 181.01582908468336 182.26736982722932 0 0 0 0 +2159 1 2.1526 1 175.9360803073373 188.70383457492758 0 0 0 0 +9732 1 1.0137 1 176.68470060241904 199.23142467965724 0 0 0 0 +9763 1 1.0118 1 179.83258436263878 171.95841251512397 0 0 0 0 +9771 1 1.0115 1 191.02452147861018 203.29102457110787 0 0 0 0 +6804 1 1.2122 1 172.91665739577803 186.96378003334578 0 0 0 0 +4079 1 1.57 1 184.8645851795653 218.96239406814308 0 0 0 0 +9293 1 1.0369 1 180.58378225730166 217.12875772903368 0 0 0 0 +144 1 7.8203 1 173.84199929231303 224.0666224687101 0 0 0 0 +4779 1 1.4516 1 171.58963136400706 187.7572844426672 0 0 0 0 +118 1 9.0986 1 176.01985744106398 194.26078201607342 0 0 0 0 +3932 1 1.6014 1 179.6978478666237 222.1797898393717 0 0 0 0 +684 1 3.8163 1 178.02740060698005 220.06587503647546 0 0 0 0 +5330 1 1.372 1 171.43022810107215 198.53602997220597 0 0 0 0 +3495 1 1.6942 1 170.95421604047294 199.94544054005715 0 0 0 0 +1808 1 2.3521 1 182.6009999109625 223.68207551188132 0 0 0 0 +2639 1 1.9537 1 171.0379241424675 189.26833574293548 0 0 0 0 +5132 1 1.3984 1 171.14588993777255 196.13936339823388 0 0 0 0 +7233 1 1.1756 1 177.82835747434936 235.30397503790567 0 0 0 0 +95 1 9.6939 1 176.2462607390695 263.92928850040596 0 0 0 0 +237 1 6.3017 1 188.8939214590379 270.7542821962671 0 0 0 0 +507 1 4.337 1 185.26516655462947 265.58967643401235 0 0 0 0 +1639 1 2.4596 1 178.07331248073385 245.2694391406006 0 0 0 0 +3923 1 1.6029 1 176.6748580320794 227.81210970932383 0 0 0 0 +6319 1 1.2594 1 179.96750119917579 272.06404333018014 0 0 0 0 +4175 1 1.5535 1 175.37084503300963 275.46923545157483 0 0 0 0 +7358 1 1.1649 1 175.73240708223457 241.70044813070362 0 0 0 0 +2804 1 1.8922 1 172.5707163413861 237.3220501453934 0 0 0 0 +9931 1 1.0039 1 176.3458611551508 233.56097568966928 0 0 0 0 +5684 1 1.3282 1 177.263054575992 234.2237823495263 0 0 0 0 +831 1 3.5026 1 173.18360851503198 254.0321671333438 0 0 0 0 +930 1 3.2949 1 181.25293689158008 255.6966606063172 0 0 0 0 +5015 1 1.4184 1 188.0191897083908 277.0858009547355 0 0 0 0 +972 1 3.2151 1 178.8100435681265 230.94464273481262 0 0 0 0 +994 1 3.1874 1 188.92150221142543 266.1198197086553 0 0 0 0 +1023 1 3.1453 1 180.82452728162048 252.58594698919254 0 0 0 0 +1041 1 3.1076 1 180.67072979760735 245.86545807232866 0 0 0 0 +1074 1 3.0587 1 186.17344744443025 275.8227487900716 0 0 0 0 +1033 1 3.1218 1 171.70091165417708 229.11685636178942 0 0 0 0 +1140 1 2.9701 1 181.43297991700038 249.64243404832695 0 0 0 0 +330 1 5.4686 1 181.090039412105 275.65158448218557 0 0 0 0 +1326 1 2.7615 1 179.58298118904378 243.16320417922503 0 0 0 0 +3919 1 1.6032 1 178.14786287047926 273.76828687285246 0 0 0 0 +9569 1 1.0221 1 191.29459609842087 267.8150147597533 0 0 0 0 +1516 1 2.5602 1 172.57511264837237 256.9995836377641 0 0 0 0 +778 1 3.6309 1 176.4618278053399 250.8131116188819 0 0 0 0 +1578 1 2.5104 1 183.53149558886454 261.2012295594445 0 0 0 0 +1580 1 2.5075 1 187.1425576824013 262.8119571080384 0 0 0 0 +1738 1 2.3972 1 176.69228129424926 255.88466940680334 0 0 0 0 +4731 1 1.4593 1 181.25731527335344 272.2332293935346 0 0 0 0 +906 1 3.349 1 173.51003104573795 232.18528567107077 0 0 0 0 +1819 1 2.3459 1 183.90653448892874 256.0313504669592 0 0 0 0 +1882 1 2.3118 1 178.13747478558284 226.52313693528964 0 0 0 0 +4290 1 1.5347 1 180.0622333594539 268.00373652462383 0 0 0 0 +1906 1 2.2963 1 171.50746916169507 268.08359331617044 0 0 0 0 +1948 1 2.2704 1 174.95242217941583 257.4083971996729 0 0 0 0 +7547 1 1.1486 1 179.2283522000813 272.96734070179605 0 0 0 0 +8447 1 1.0845 1 174.76264577717942 271.5968375426541 0 0 0 0 +5902 1 1.3046 1 175.06654818957935 240.6780416074891 0 0 0 0 +2146 1 2.1577 1 179.42788462898778 248.11888182907362 0 0 0 0 +2168 1 2.1495 1 181.34114105035272 261.1065024169894 0 0 0 0 +9657 1 1.0177 1 182.29162260221764 227.3398965440938 0 0 0 0 +2204 1 2.135 1 175.17375734861787 248.27408759295128 0 0 0 0 +2236 1 2.1206 1 182.31574345546275 259.23996385322107 0 0 0 0 +2251 1 2.1173 1 178.71295391731476 254.96590549155508 0 0 0 0 +2375 1 2.0574 1 180.53505395089985 228.75682412688212 0 0 0 0 +1909 1 2.2942 1 180.72787846939218 270.4787426189492 0 0 0 0 +2425 1 2.0385 1 178.282678326848 252.9544251802222 0 0 0 0 +2436 1 2.0324 1 180.60052774414618 235.3475563823531 0 0 0 0 +8411 1 1.0871 1 171.83888561214235 274.73590257830585 0 0 0 0 +2537 1 1.997 1 183.15443269330834 253.886928856771 0 0 0 0 +4117 1 1.5636 1 173.9459204969276 228.67119468895152 0 0 0 0 +1039 1 3.1097 1 175.783817065424 229.98327174998605 0 0 0 0 +3937 1 1.6009 1 180.73247070188614 238.09952820890234 0 0 0 0 +2435 1 2.0327 1 174.50969976399898 269.449713550546 0 0 0 0 +2755 1 1.9095 1 171.96124681786037 251.6995319449741 0 0 0 0 +2781 1 1.9012 1 180.65107955478732 258.17639616643413 0 0 0 0 +8806 1 1.0629 1 185.73996151813517 272.5008949778844 0 0 0 0 +2735 1 1.9167 1 184.40579645255244 274.08926851564485 0 0 0 0 +4263 1 1.5393 1 172.7763839439826 269.782889852328 0 0 0 0 +2897 1 1.8636 1 181.0159908760968 226.87851401231487 0 0 0 0 +2927 1 1.8558 1 181.90762583802237 262.98562429969854 0 0 0 0 +4946 1 1.426 1 171.35201072800487 272.63233966079946 0 0 0 0 +2948 1 1.8492 1 178.661558160382 228.47732707416728 0 0 0 0 +3001 1 1.8295 1 192.6612791408894 269.67734783621086 0 0 0 0 +1029 1 3.1314 1 173.21350222956337 276.260090618644 0 0 0 0 +3130 1 1.7845 1 189.81859998864886 274.67148909770964 0 0 0 0 +9151 1 1.0446 1 171.724355414296 238.70975839905336 0 0 0 0 +3192 1 1.7675 1 182.27889157968804 225.66032992289485 0 0 0 0 +1625 1 2.4717 1 173.19518724847475 240.54289970170726 0 0 0 0 +545 1 4.2222 1 175.31497131217074 236.14477806677183 0 0 0 0 +3306 1 1.7387 1 177.07745736407503 248.2491077818829 0 0 0 0 +4748 1 1.457 1 174.47557610211143 241.96405003356787 0 0 0 0 +3435 1 1.7084 1 185.23274308433415 258.5721961389877 0 0 0 0 +3447 1 1.7047 1 177.7772940807195 258.4751113078247 0 0 0 0 +5337 1 1.3715 1 177.57240564931382 243.45758885559397 0 0 0 0 +7986 1 1.1153 1 172.79828106598075 238.80191710676294 0 0 0 0 +3652 1 1.6619 1 179.2505360966429 259.20001031011924 0 0 0 0 +7001 1 1.1941 1 171.06602639201193 276.3858465969535 0 0 0 0 +3772 1 1.635 1 186.46519791361044 260.88667573547656 0 0 0 0 +3777 1 1.6344 1 183.58515797619773 263.216697866314 0 0 0 0 +3782 1 1.6334 1 183.6709241319299 257.9704749930586 0 0 0 0 +415 1 4.8561 1 177.99413095435074 239.73938759874198 0 0 0 0 +3884 1 1.6109 1 181.7364817700039 265.86851961666207 0 0 0 0 +5416 1 1.3615 1 176.70629626990325 242.46164890669968 0 0 0 0 +5635 1 1.3333 1 173.16523846348971 234.47821361486075 0 0 0 0 +3996 1 1.5871 1 178.28264744887008 256.91978696040076 0 0 0 0 +4012 1 1.5812 1 175.68585531553495 254.23243167921893 0 0 0 0 +4921 1 1.4296 1 178.08152877912266 236.618855431687 0 0 0 0 +4071 1 1.571 1 185.33343114715566 262.0129430400236 0 0 0 0 +958 1 3.2378 1 180.02433140451845 224.57600915041166 0 0 0 0 +9782 1 1.0108 1 186.35491322492373 268.0752241937799 0 0 0 0 +4264 1 1.5391 1 193.5530416942376 271.0518670340155 0 0 0 0 +5294 1 1.3767 1 173.78640968978476 270.92040658401174 0 0 0 0 +4357 1 1.522 1 173.51750937240763 251.0498797899892 0 0 0 0 +4367 1 1.5203 1 193.2832922556618 272.55102539310934 0 0 0 0 +5395 1 1.3643 1 175.85908076340178 232.32513094780222 0 0 0 0 +9667 1 1.0172 1 171.04659290920495 260.42721863829564 0 0 0 0 +7695 1 1.1369 1 187.20872697748848 274.0343898280992 0 0 0 0 +2779 1 1.9017 1 174.75560284826088 239.1163227070794 0 0 0 0 +4495 1 1.4981 1 189.14223877580275 276.1611687747308 0 0 0 0 +4535 1 1.4918 1 184.530114968047 272.42165007946363 0 0 0 0 +4542 1 1.4908 1 181.42261688877267 230.22442541224294 0 0 0 0 +4553 1 1.4888 1 180.98703742569182 233.65355396788541 0 0 0 0 +4612 1 1.479 1 185.122846501438 260.1584916819836 0 0 0 0 +8403 1 1.0875 1 171.86409580828968 241.64304667721882 0 0 0 0 +9261 1 1.0388 1 173.68299338201695 238.19199701555112 0 0 0 0 +4702 1 1.4646 1 178.7016075534718 249.71476910121407 0 0 0 0 +4739 1 1.4581 1 174.19612317689777 249.75541801870997 0 0 0 0 +6947 1 1.1983 1 172.46967163406174 235.7403213855636 0 0 0 0 +4912 1 1.4305 1 172.9498604414506 259.4858128157748 0 0 0 0 +9584 1 1.0215 1 178.91773071467307 268.5337802799899 0 0 0 0 +4976 1 1.4233 1 181.23490312294192 231.6257521230107 0 0 0 0 +7142 1 1.1829 1 173.6503880480885 229.97158412851846 0 0 0 0 +4379 1 1.5186 1 173.73883224162878 272.3441197166551 0 0 0 0 +702 1 3.7804 1 175.20014472618888 244.43460747861968 0 0 0 0 +2282 1 2.1022 1 184.31669608790173 277.5525767204485 0 0 0 0 +7041 1 1.1903 1 176.60160126883451 246.75052484817522 0 0 0 0 +5278 1 1.3786 1 178.04182219751735 247.1091322104144 0 0 0 0 +5305 1 1.3747 1 171.0486422342422 253.02032885252135 0 0 0 0 +9837 1 1.0083 1 177.40139165088317 228.882882861311 0 0 0 0 +5464 1 1.3549 1 182.76586382074623 266.90604759029566 0 0 0 0 +5476 1 1.3533 1 180.88989817860457 240.75828941090234 0 0 0 0 +5508 1 1.3499 1 179.60198311048268 250.74378761321745 0 0 0 0 +4931 1 1.4285 1 186.00474624460307 273.64560636295687 0 0 0 0 +9796 1 1.0099 1 176.8631519763094 257.52215233021457 0 0 0 0 +5671 1 1.3297 1 171.8154114393819 258.7756597818012 0 0 0 0 +7700 1 1.1363 1 172.47352620043284 272.15788317150424 0 0 0 0 +5928 1 1.302 1 183.99531128108583 259.3798408023118 0 0 0 0 +5976 1 1.2969 1 176.30202758874717 258.49350932637844 0 0 0 0 +6011 1 1.2934 1 173.21795172090143 268.4611887270751 0 0 0 0 +1221 1 2.888 1 171.14207728347702 234.08813732599074 0 0 0 0 +6053 1 1.2886 1 182.99404625805633 252.25830453512478 0 0 0 0 +6109 1 1.2827 1 171.37243357440727 261.49863943877483 0 0 0 0 +6128 1 1.2807 1 175.25730715332384 252.90249918689355 0 0 0 0 +1665 1 2.4441 1 179.05317403736962 233.75906198012697 0 0 0 0 +8954 1 1.055 1 179.6662704526797 269.22156479503144 0 0 0 0 +6221 1 1.2685 1 175.00357617252746 255.46514068337774 0 0 0 0 +6222 1 1.2684 1 188.3239992799364 274.43525874815975 0 0 0 0 +6238 1 1.2664 1 181.7183160902748 267.67640693584684 0 0 0 0 +6265 1 1.2635 1 179.64088672131527 227.3652778868117 0 0 0 0 +6415 1 1.2503 1 176.59753272335374 253.19121839784918 0 0 0 0 +6431 1 1.2491 1 174.12693924301058 258.91372917026206 0 0 0 0 +6546 1 1.2379 1 177.25145888224742 254.19904170110294 0 0 0 0 +6554 1 1.2372 1 181.1593984795051 268.7866635150817 0 0 0 0 +4074 1 1.5706 1 177.34235774031112 232.80265189220128 0 0 0 0 +6632 1 1.2289 1 181.6749764552007 264.47999535239245 0 0 0 0 +6663 1 1.2256 1 180.32834115493324 232.51058895671105 0 0 0 0 +6696 1 1.2225 1 180.9475450291777 239.47922115128614 0 0 0 0 +9208 1 1.0414 1 184.24361092693962 275.54195135348226 0 0 0 0 +3405 1 1.7139 1 171.4918725405305 242.92178241362268 0 0 0 0 +6955 1 1.1981 1 191.13502993288037 273.7648461444294 0 0 0 0 +7021 1 1.1921 1 180.7990670613674 266.880812646605 0 0 0 0 +3965 1 1.5931 1 172.53954307931886 273.5323669568352 0 0 0 0 +7157 1 1.1815 1 181.85089412402488 247.63075160737796 0 0 0 0 +3657 1 1.6609 1 177.5903034620142 275.275796381276 0 0 0 0 +7243 1 1.1743 1 174.40335741576433 252.04233756196717 0 0 0 0 +7268 1 1.1732 1 179.60396672262652 257.0560818795119 0 0 0 0 +8489 1 1.0816 1 174.7183356278271 246.7738108255227 0 0 0 0 +9757 1 1.0125 1 185.01171173350056 257.2576017649972 0 0 0 0 +6922 1 1.2002 1 175.30130225048117 233.47537435384427 0 0 0 0 +7553 1 1.148 1 172.11001242229503 260.44808784951897 0 0 0 0 +7617 1 1.1431 1 194.75761913994577 271.5057496195723 0 0 0 0 +2444 1 2.0289 1 174.2620264164992 273.9825989062163 0 0 0 0 +7445 1 1.1572 1 171.21922292061984 273.85916105676085 0 0 0 0 +9526 1 1.0245 1 171.1524177239442 265.47809951962773 0 0 0 0 +7740 1 1.1333 1 181.07915513141327 241.96816778739648 0 0 0 0 +6500 1 1.2433 1 175.18599172346757 272.6530311059111 0 0 0 0 +525 1 4.2833 1 183.7849260246549 269.5140693715739 0 0 0 0 +7945 1 1.1185 1 172.79236137933427 242.29319328384514 0 0 0 0 +7883 1 1.1226 1 195.6597246746158 272.4524803048135 0 0 0 0 +2096 1 2.1853 1 176.30476245211256 273.9223623180461 0 0 0 0 +7912 1 1.12 1 180.10777437129104 260.1791650191619 0 0 0 0 +7981 1 1.1157 1 188.12767112273553 275.54714549963705 0 0 0 0 +8090 1 1.1081 1 172.61465787039083 271.0824201925927 0 0 0 0 +8195 1 1.1018 1 194.56598643315385 272.5398413292202 0 0 0 0 +8266 1 1.097 1 192.4120662719488 271.64832142306966 0 0 0 0 +8269 1 1.0968 1 187.24274289691346 267.44787945046164 0 0 0 0 +8281 1 1.0962 1 201.60986719338334 277.2084511945257 0 0 0 0 +475 1 4.5238 1 177.40699233526718 270.8326278863872 0 0 0 0 +2555 1 1.988 1 182.89015142174367 272.4681201502405 0 0 0 0 +8727 1 1.0682 1 174.06552469881265 256.0714775781601 0 0 0 0 +8749 1 1.0671 1 186.1625837442895 259.57648107768216 0 0 0 0 +8820 1 1.0619 1 179.0354807254031 257.9463380204714 0 0 0 0 +8843 1 1.0606 1 181.31655988254155 243.9013653119411 0 0 0 0 +9018 1 1.0518 1 185.38297427001285 271.5485877760241 0 0 0 0 +4876 1 1.4371 1 172.8324387792176 243.5713500835311 0 0 0 0 +9067 1 1.0489 1 187.69371860712556 264.45287832882485 0 0 0 0 +3359 1 1.7257 1 179.62521623425823 236.9308462244834 0 0 0 0 +9098 1 1.0471 1 181.99415100365746 228.31267084724433 0 0 0 0 +9217 1 1.041 1 178.68858711364263 251.48581729193063 0 0 0 0 +5555 1 1.3438 1 178.98567186271103 235.60295013654303 0 0 0 0 +9891 1 1.0054 1 176.84384636038035 231.67790555720762 0 0 0 0 +9303 1 1.0361 1 182.8383812085594 264.42884862221086 0 0 0 0 +5912 1 1.3037 1 171.40346479519266 231.28856599823155 0 0 0 0 +9760 1 1.0121 1 170.88651984786677 259.44977360272054 0 0 0 0 +7038 1 1.1905 1 170.89577803581432 266.50651425641354 0 0 0 0 +7 1 38.9695 1 200.63535098556065 305.408661460011 0 0 0 0 +80 1 10.2525 1 211.18005613245487 329.7879398511204 0 0 0 0 +228 1 6.3393 1 178.39710245550577 302.62362151857997 0 0 0 0 +242 1 6.2708 1 182.53133928290134 283.9236919007749 0 0 0 0 +268 1 6.0229 1 216.52810010962273 286.3914239053515 0 0 0 0 +8473 1 1.0828 1 171.3040284044869 309.86205435929014 0 0 0 0 +5613 1 1.3356 1 223.86738718946566 322.30475526970713 0 0 0 0 +4066 1 1.5718 1 223.30608094995986 285.43211476205136 0 0 0 0 +378 1 5.0749 1 187.31876042357686 286.73408498725183 0 0 0 0 +405 1 4.9123 1 175.98520032967335 309.3201637399008 0 0 0 0 +422 1 4.8009 1 179.98137191148993 311.8709666867185 0 0 0 0 +427 1 4.7727 1 173.7096938738542 293.0803971638837 0 0 0 0 +327 1 5.4976 1 176.71663062608792 278.680028453555 0 0 0 0 +3093 1 1.7998 1 224.20907295280608 288.39965431465225 0 0 0 0 +5455 1 1.3553 1 219.61263747567952 299.0609827837869 0 0 0 0 +594 1 4.0385 1 209.71434856689834 282.9912294018857 0 0 0 0 +7524 1 1.1509 1 216.43960343817474 322.49661013169316 0 0 0 0 +692 1 3.801 1 177.15881759637855 286.1804938825096 0 0 0 0 +707 1 3.7702 1 220.19114324740247 330.2512879351564 0 0 0 0 +8966 1 1.0543 1 219.0369509369838 328.1908316564907 0 0 0 0 +822 1 3.5377 1 181.88175137944657 295.59177791317705 0 0 0 0 +2516 1 2.0054 1 220.97092492270392 299.7742403543139 0 0 0 0 +837 1 3.495 1 211.95350653484246 323.125060505767 0 0 0 0 +862 1 3.4402 1 205.19131572911482 283.4025024197453 0 0 0 0 +901 1 3.3554 1 173.50810649262846 298.9404106120126 0 0 0 0 +7040 1 1.1904 1 171.77100115165922 311.29593032882667 0 0 0 0 +834 1 3.4982 1 221.10520645525736 292.12143263385735 0 0 0 0 +971 1 3.2165 1 187.6397443578604 281.601081109834 0 0 0 0 +5169 1 1.3925 1 172.57109443830515 295.8258888330626 0 0 0 0 +5799 1 1.3149 1 213.31033636086283 321.10954682036277 0 0 0 0 +1091 1 3.0306 1 201.49735051274973 284.3655296841926 0 0 0 0 +5037 1 1.4154 1 173.35121807603295 305.63321953497865 0 0 0 0 +1120 1 2.9881 1 179.50823822400653 290.8176959528043 0 0 0 0 +1224 1 2.8815 1 182.04989656736464 292.22744837137 0 0 0 0 +1229 1 2.8784 1 183.19983304109425 289.5900004888303 0 0 0 0 +1293 1 2.7982 1 218.51657107014924 290.2710473580748 0 0 0 0 +1357 1 2.7314 1 177.30633840769966 292.4973440074345 0 0 0 0 +1358 1 2.7308 1 192.35735561808588 286.311196395746 0 0 0 0 +1378 1 2.7057 1 220.90575612922757 289.083617235388 0 0 0 0 +7364 1 1.1644 1 219.53317115588337 284.58449988589473 0 0 0 0 +1428 1 2.6531 1 215.2930096217852 321.01922346416416 0 0 0 0 +1457 1 2.6122 1 204.62634090555818 325.7084375231331 0 0 0 0 +1472 1 2.6031 1 184.0646713108118 279.86010306356593 0 0 0 0 +1474 1 2.6009 1 179.70303479318065 293.5626588816852 0 0 0 0 +1495 1 2.5815 1 175.32867269655995 305.7193599194277 0 0 0 0 +1633 1 2.4639 1 175.53115569974304 283.5704965845535 0 0 0 0 +1642 1 2.457 1 210.3816377943634 287.2653323430205 0 0 0 0 +9104 1 1.0469 1 193.81359233380917 327.0255748780227 0 0 0 0 +1744 1 2.3879 1 214.28485304981857 289.9441176011597 0 0 0 0 +674 1 3.8371 1 218.21136955387553 317.4929331347762 0 0 0 0 +1864 1 2.3229 1 196.48830236270126 325.6004491936376 0 0 0 0 +1887 1 2.3095 1 205.18037973450652 328.0480057067691 0 0 0 0 +1891 1 2.3053 1 203.35737306205866 329.4279933402613 0 0 0 0 +1488 1 2.5907 1 205.30136233027974 280.42287621737023 0 0 0 0 +2065 1 2.2005 1 179.56081646898005 281.08599065468877 0 0 0 0 +2073 1 2.197 1 175.91448895286442 297.63075859693566 0 0 0 0 +2074 1 2.1967 1 212.5808486072059 287.1007664764906 0 0 0 0 +1888 1 2.3071 1 221.07654822176156 303.7524228787496 0 0 0 0 +2100 1 2.1838 1 175.45544662371532 288.5750691647642 0 0 0 0 +9965 1 1.0023 1 176.0761982509592 296.08338510389984 0 0 0 0 +2297 1 2.0945 1 190.67658408191525 284.6591741576861 0 0 0 0 +2376 1 2.0567 1 216.30361165482267 325.62105300608647 0 0 0 0 +2389 1 2.0526 1 174.36938106654182 286.7627281239949 0 0 0 0 +4854 1 1.4407 1 172.12602260854132 297.0592891392608 0 0 0 0 +9701 1 1.0152 1 178.70819066931833 287.956476313726 0 0 0 0 +4656 1 1.4722 1 221.50084649225113 319.19623961658914 0 0 0 0 +2447 1 2.0283 1 180.37048207684677 308.4797118417567 0 0 0 0 +2456 1 2.0259 1 207.47937120525802 284.862212911728 0 0 0 0 +9721 1 1.0142 1 220.4092643203581 311.6583235005075 0 0 0 0 +2474 1 2.0188 1 194.61551695735884 286.0384524834087 0 0 0 0 +2566 1 1.9837 1 183.87636599458193 293.74744571469586 0 0 0 0 +2591 1 1.9714 1 176.5960492309553 294.71546200850025 0 0 0 0 +8698 1 1.0698 1 223.44704246016735 327.522950866492 0 0 0 0 +2782 1 1.9009 1 177.11691267682448 290.2025197030952 0 0 0 0 +3385 1 1.7188 1 212.87395237708262 285.2039147194169 0 0 0 0 +9174 1 1.0431 1 219.34772211011762 321.76441408449915 0 0 0 0 +2967 1 1.8431 1 186.11516523452104 291.13376100018706 0 0 0 0 +2987 1 1.8364 1 217.42658200056877 330.2591586742346 0 0 0 0 +2996 1 1.8339 1 208.57350634390463 324.1872988257851 0 0 0 0 +3048 1 1.8129 1 202.24328338186902 327.78922467416237 0 0 0 0 +6784 1 1.2145 1 201.9144620060181 278.2980725267532 0 0 0 0 +3073 1 1.8065 1 192.19702162575956 323.81858356942126 0 0 0 0 +4668 1 1.4694 1 212.35500881855424 283.74921468681015 0 0 0 0 +8592 1 1.0757 1 176.4767795511774 281.9503415767044 0 0 0 0 +3121 1 1.7879 1 198.27559847308567 326.5100512924121 0 0 0 0 +447 1 4.6632 1 197.1694132912718 330.6417885517205 0 0 0 0 +3265 1 1.7491 1 178.8515786639553 295.57456940805463 0 0 0 0 +5612 1 1.3357 1 197.3264212554835 285.5677766933053 0 0 0 0 +3291 1 1.7425 1 216.60854609499847 291.42919484620506 0 0 0 0 +3297 1 1.7411 1 185.45822969849294 289.5225557250515 0 0 0 0 +3308 1 1.7382 1 203.56493236654936 285.34202603857995 0 0 0 0 +3324 1 1.7339 1 196.88985070704288 327.5332960632532 0 0 0 0 +9237 1 1.0401 1 214.80273034537197 325.5511720900202 0 0 0 0 +3393 1 1.7171 1 178.8931784372852 298.6396949929929 0 0 0 0 +3507 1 1.6927 1 182.26393338423478 314.32140143692567 0 0 0 0 +3548 1 1.6826 1 181.01741653784688 289.0834996206146 0 0 0 0 +3551 1 1.6815 1 178.69543101531815 282.9328222740793 0 0 0 0 +3596 1 1.672 1 200.36748936506544 325.71908713345044 0 0 0 0 +3612 1 1.6687 1 209.32328578214572 285.61240572787557 0 0 0 0 +3649 1 1.6623 1 175.90892575890135 299.53972773901006 0 0 0 0 +7381 1 1.1629 1 220.59772754930214 307.3286190544991 0 0 0 0 +3662 1 1.6579 1 174.81261251207565 301.01672552849095 0 0 0 0 +3751 1 1.6394 1 174.25501355821578 289.9773502794232 0 0 0 0 +8258 1 1.0973 1 220.44898914702486 318.4786571885578 0 0 0 0 +3778 1 1.6344 1 179.94053344603725 297.22231309561266 0 0 0 0 +716 1 3.7568 1 219.58119724985661 295.3477989638346 0 0 0 0 +3801 1 1.6286 1 208.40573850996512 286.8032656864445 0 0 0 0 +3826 1 1.6216 1 187.42744353880383 290.0390977703753 0 0 0 0 +6652 1 1.2266 1 222.84595105274195 319.2434578430052 0 0 0 0 +3862 1 1.6153 1 177.68309888269027 306.5344606092303 0 0 0 0 +3885 1 1.6104 1 185.0735978975088 292.46049468677734 0 0 0 0 +3905 1 1.6065 1 207.29086175190304 325.29739743907913 0 0 0 0 +9578 1 1.0217 1 220.38434452337447 298.2243001671421 0 0 0 0 +9981 1 1.0011 1 199.408907460554 328.98283789362364 0 0 -1 0 +3943 1 1.5987 1 177.3164094438089 296.3075623184763 0 0 0 0 +3956 1 1.5945 1 173.7891665701777 307.0587776762704 0 0 0 0 +5188 1 1.3901 1 203.15218112670857 282.14724814257914 0 0 0 0 +4045 1 1.5752 1 194.850147742858 324.7534367938634 0 0 0 0 +3688 1 1.6515 1 222.7075832625121 328.6807617575917 0 0 0 0 +4113 1 1.564 1 180.22492517163855 279.0574712116849 0 0 0 0 +4141 1 1.56 1 212.40164572565803 288.9549609186932 0 0 0 0 +4148 1 1.5585 1 181.1049671959697 287.51442564115064 0 0 0 0 +8336 1 1.0917 1 223.11944041279722 326.2934845302346 0 0 0 0 +4187 1 1.5517 1 178.7694053977754 307.68532329688236 0 0 0 0 +4233 1 1.5451 1 217.92064780964444 292.2871760049683 0 0 0 0 +2975 1 1.8403 1 219.39667232150072 314.24545580657434 0 0 0 0 +4248 1 1.5424 1 216.49460641693344 327.3420036774647 0 0 0 0 +5822 1 1.3121 1 222.85472439680777 289.04412037547104 0 0 0 0 +8176 1 1.1027 1 221.71110242518293 307.19777286541705 0 0 0 0 +860 1 3.4418 1 173.6692637983156 303.26969238601976 0 0 0 0 +4334 1 1.5259 1 206.39155467124021 326.55277783424026 0 0 0 0 +1300 1 2.7928 1 214.95430957895695 323.6937144821407 0 0 0 0 +4500 1 1.4971 1 179.5379427083591 306.37124482409246 0 0 0 0 +4531 1 1.4928 1 207.14794868604665 281.96946968398294 0 0 0 0 +9231 1 1.0404 1 205.80246605735888 331.5095440726572 0 0 -1 0 +4579 1 1.4844 1 216.88916181133706 328.7643048555684 0 0 0 0 +4661 1 1.4705 1 198.68260744768858 328.0221892195979 0 0 0 0 +4672 1 1.4687 1 182.08501912238836 279.4618413146521 0 0 0 0 +3262 1 1.7493 1 221.04462087859628 312.856085597071 0 0 0 0 +4744 1 1.4573 1 217.89001999760058 327.7756518655822 0 0 0 0 +5379 1 1.3666 1 173.73052289573747 311.51156792897035 0 0 0 0 +4245 1 1.5428 1 218.04985959310935 331.7875286808801 0 0 0 0 +4906 1 1.4312 1 178.26609564014882 289.0455795199248 0 0 0 0 +9897 1 1.0051 1 214.97158575592576 319.27097084500247 0 0 0 0 +4987 1 1.4219 1 178.49227035820428 297.1413341964667 0 0 0 0 +4990 1 1.4218 1 216.148244949951 290.00723574896205 0 0 0 0 +5060 1 1.4115 1 194.58782320896893 326.14219535978367 0 0 0 0 +9397 1 1.0309 1 190.1814339234792 287.7148497632768 0 0 0 0 +5229 1 1.3853 1 215.86303700030322 318.5246975268201 0 0 0 0 +5239 1 1.3834 1 188.50644556043386 279.52961361742763 0 0 0 0 +3413 1 1.7119 1 224.22192730524134 329.3740450111568 0 0 0 0 +2302 1 2.0917 1 171.9868925170316 301.143638484166 0 0 0 0 +5331 1 1.372 1 175.57785030379395 290.67012356763024 0 0 0 0 +5389 1 1.3654 1 194.5015911840075 327.9800162949585 0 0 0 0 +5516 1 1.3491 1 193.5943816946733 324.2676542889453 0 0 0 0 +5542 1 1.3453 1 181.2276948820653 300.0943448861435 0 0 0 0 +5562 1 1.3432 1 184.00838902577556 291.49907170410495 0 0 0 0 +5585 1 1.339 1 179.70080225810807 287.39321587084 0 0 0 0 +3135 1 1.783 1 201.58206128197068 282.0503152867874 0 0 0 0 +5653 1 1.3321 1 183.7600042641584 287.5087498634198 0 0 0 0 +5655 1 1.332 1 199.65306966423344 285.3770829222548 0 0 0 0 +5686 1 1.3278 1 179.59032607238422 288.6929295851284 0 0 0 0 +5689 1 1.3275 1 207.02685236893984 286.3971798739064 0 0 0 0 +4426 1 1.51 1 222.7662504386032 330.21363395804343 0 0 0 0 +8932 1 1.056 1 221.49533051470894 328.0408974261724 0 0 0 0 +9836 1 1.0084 1 213.90761468778297 322.1260989309201 0 0 0 0 +6136 1 1.2799 1 222.7409698939056 322.9689995373284 0 0 0 0 +5828 1 1.3116 1 199.68636409111033 327.00562244999765 0 0 0 0 +9472 1 1.0272 1 212.17955981575292 282.5598098588847 0 0 0 0 +5968 1 1.2979 1 188.23898529251855 283.7390937256774 0 0 0 0 +5983 1 1.2964 1 180.2896353886809 299.17898369910125 0 0 0 0 +6086 1 1.2846 1 195.4777872789257 327.0901042333204 0 0 0 0 +6087 1 1.2846 1 173.7632118714643 288.29200462691546 0 0 0 0 +6106 1 1.2829 1 206.04863642254168 285.5871231936806 0 0 0 0 +9773 1 1.0113 1 173.5075237223483 301.085246429313 0 0 0 0 +6289 1 1.2617 1 190.4243612586965 286.5008045055131 0 0 0 0 +6296 1 1.261 1 182.48506861887665 287.67062135407537 0 0 0 0 +8204 1 1.1012 1 199.46371253123803 284.23347196273124 0 0 0 0 +6313 1 1.26 1 219.99341134246734 287.37992463902145 0 0 0 0 +6161 1 1.2761 1 208.06448700675605 280.9852911509768 0 0 0 0 +61 1 12.294 1 195.22988782322727 279.1327951411164 0 0 0 0 +6463 1 1.2465 1 178.8392352771365 284.36450347165174 0 0 0 0 +6467 1 1.2462 1 179.61057816913245 286.1534152267937 0 0 0 0 +6471 1 1.2458 1 215.14635384805462 291.5269396057821 0 0 0 0 +7921 1 1.1195 1 224.17498319435327 313.3516449315211 0 0 0 0 +9225 1 1.0407 1 219.82674546375 310.8622567259077 0 0 0 0 +6512 1 1.242 1 216.88719392750104 293.2499127889831 0 0 0 0 +6534 1 1.2391 1 181.004984622807 280.2185002031686 0 0 0 0 +6615 1 1.2306 1 202.79726351205693 325.3365664842784 0 0 0 0 +6699 1 1.2223 1 202.9418532810644 326.5148950343112 0 0 0 0 +6765 1 1.2165 1 177.55402187679422 298.0171243923346 0 0 0 0 +6580 1 1.2346 1 222.54367100170077 310.56361375933176 0 0 0 0 +6812 1 1.2108 1 204.89609629692401 285.8106408309623 0 0 0 0 +8892 1 1.0578 1 200.93664742497432 328.2409328182165 0 0 -1 0 +6824 1 1.2102 1 217.3266952757687 294.38808631676426 0 0 0 0 +6897 1 1.2023 1 200.91010284853638 327.1188166512325 0 0 0 0 +9150 1 1.0446 1 172.65717419635797 306.6015984683472 0 0 0 0 +7057 1 1.1893 1 177.350514380755 283.7273745012442 0 0 0 0 +7070 1 1.1883 1 216.61200201869156 331.47105455152166 0 0 0 0 +5989 1 1.2959 1 175.33169075092863 281.7351884552302 0 0 0 0 +7171 1 1.1805 1 178.01524672581206 281.7073383429958 0 0 0 0 +7182 1 1.1796 1 176.04224821902227 312.27929230153563 0 0 0 0 +7290 1 1.1716 1 177.13632104014005 312.5766137950271 0 0 0 0 +7315 1 1.1691 1 178.05023287339574 294.3258123108345 0 0 0 0 +7338 1 1.1676 1 180.93920304523348 298.135942896512 0 0 0 0 +2563 1 1.9844 1 203.92387193421177 331.4666380262219 0 0 -1 0 +3820 1 1.6227 1 224.4287218886633 326.61780931027255 0 0 0 0 +7506 1 1.1519 1 184.69087175189222 288.3041325739139 0 0 0 0 +7525 1 1.1508 1 196.15514715429276 285.8625030382045 0 0 0 0 +8682 1 1.0709 1 199.9260387650516 328.1288419836559 0 0 0 0 +7568 1 1.1466 1 219.00916805186563 292.9944319250839 0 0 0 0 +7620 1 1.1429 1 182.05714447405452 297.9037243423669 0 0 0 0 +7645 1 1.1407 1 213.59271987630348 288.37380310410816 0 0 0 0 +7650 1 1.1403 1 181.67690933781563 298.97014436198276 0 0 0 0 +9308 1 1.0357 1 189.17965107526976 284.3996717664175 0 0 0 0 +9405 1 1.0303 1 186.12924690913528 283.9569369117324 0 0 0 0 +6984 1 1.1957 1 216.9414089854889 323.55514426019374 0 0 0 0 +7745 1 1.1332 1 177.0847276543007 288.63312769691265 0 0 0 0 +7748 1 1.1326 1 218.02783303952182 293.5385407411808 0 0 0 0 +7823 1 1.1273 1 177.3344159410383 282.60375285911823 0 0 0 0 +7824 1 1.1272 1 201.6716778507125 325.38190424385914 0 0 0 0 +7831 1 1.1271 1 189.69441773110825 288.6633795368349 0 0 0 0 +4481 1 1.5008 1 224.00027811272483 330.93155104713304 0 0 0 0 +7922 1 1.1195 1 177.2182931389634 299.10874558294034 0 0 0 0 +7947 1 1.1183 1 185.48028249918661 281.71015896899985 0 0 0 0 +4276 1 1.5372 1 221.74532563860922 287.2001646408242 0 0 0 0 +8002 1 1.1143 1 185.73203475422142 280.62622248020125 0 0 0 0 +3928 1 1.6023 1 219.49264054775134 312.56466695045606 0 0 0 0 +8115 1 1.1067 1 180.60081507590783 305.6222968631084 0 0 0 0 +8149 1 1.1048 1 193.35383496898305 326.0302840098799 0 0 0 0 +2442 1 2.0295 1 174.1593999072128 296.4134790767119 0 0 0 0 +8214 1 1.1005 1 191.13579544981212 322.8840071055952 0 0 0 0 +8268 1 1.0968 1 198.49102713781858 285.47768187236153 0 0 0 0 +8282 1 1.0962 1 215.93693900820952 292.5955856762815 0 0 0 0 +8325 1 1.0925 1 195.67597009151257 328.2333475241592 0 0 0 0 +5650 1 1.3324 1 222.07632205833116 300.86776828022766 0 0 0 0 +8501 1 1.0808 1 199.0780185348041 325.349014148676 0 0 0 0 +8511 1 1.0801 1 181.44149057838615 290.37500483983956 0 0 0 0 +8583 1 1.0763 1 211.6153864121406 285.79658201299986 0 0 0 0 +8591 1 1.0757 1 201.80315125005694 326.44029916276077 0 0 0 0 +9491 1 1.0263 1 198.06263761705145 325.172543297987 0 0 0 0 +8626 1 1.0732 1 187.09421713597453 283.6607327720724 0 0 0 0 +8635 1 1.0728 1 191.2012559759498 287.7804706941384 0 0 0 0 +8658 1 1.0718 1 175.30888645577377 295.45880998129087 0 0 0 0 +8665 1 1.0715 1 210.00287513355522 324.26874897932487 0 0 0 0 +1949 1 2.27 1 222.89588071328728 312.27952002837117 0 0 0 0 +774 1 3.6405 1 171.69376804786572 289.56468849582956 0 0 0 0 +8729 1 1.0681 1 210.6569415929708 285.3528180986959 0 0 0 0 +1695 1 2.4278 1 219.83486129279555 320.10449619389766 0 0 0 0 +8738 1 1.0677 1 206.12645354671236 324.65303340468455 0 0 0 0 +8747 1 1.0671 1 209.68046024838466 323.2563811790261 0 0 0 0 +8760 1 1.0659 1 188.63496724572857 289.4511309198431 0 0 0 0 +9713 1 1.0145 1 203.66215648786365 327.37114788869343 0 0 0 0 +8776 1 1.0647 1 218.13528720199466 329.0018675944714 0 0 0 0 +8769 1 1.0651 1 171.4958965053054 299.70636251606044 0 0 0 0 +8918 1 1.0565 1 192.78240805426606 325.12363419085057 0 0 0 0 +8938 1 1.0558 1 186.02166410535858 282.93402844601667 0 0 0 0 +350 1 5.3344 1 222.47014251556928 316.0157866155371 0 0 0 0 +9028 1 1.0513 1 211.56864703255656 284.73400986194315 0 0 0 0 +2892 1 1.8643 1 172.65891985279103 308.33798787315584 0 0 0 0 +7669 1 1.1387 1 221.4427339005313 311.4783231414219 0 0 0 0 +3223 1 1.7592 1 189.56680023967874 283.1065352078343 0 0 0 0 +4945 1 1.426 1 216.6751746883814 319.59281875830465 0 0 0 0 +2379 1 2.0555 1 217.85063414829196 321.8940971300482 0 0 0 0 +1232 1 2.8746 1 224.16570832325607 324.3785387047198 0 0 0 0 +4539 1 1.4911 1 217.93885695913193 320.1637077159255 0 0 0 0 +6494 1 1.2438 1 220.45142852540306 308.52051355547786 0 0 0 0 +2954 1 1.8467 1 172.73651994387558 310.1686965377916 0 0 0 0 +6836 1 1.2085 1 224.19685236902157 296.34542292909117 0 0 0 0 +4402 1 1.5148 1 174.14620118917583 284.99592293608214 0 0 0 0 +3815 1 1.6249 1 213.96572523886888 283.5384961496177 0 0 0 0 +313 1 5.629 1 220.01379532062012 325.0321961334917 0 0 0 0 +7023 1 1.192 1 222.3848035239995 327.35190865049975 0 0 0 0 +2666 1 1.9424 1 223.80090205942065 292.0225756938836 0 0 0 0 +4638 1 1.4756 1 219.26114900621607 297.79017815662604 0 0 0 0 +7584 1 1.1452 1 218.1812590717723 315.0393645403645 0 0 0 0 +1116 1 2.9962 1 186.55625769918018 278.7351408389067 0 0 0 0 +8694 1 1.0703 1 207.08137517801052 280.4219057795002 0 0 0 0 +1837 1 2.3366 1 172.24291916144867 286.7144060069066 0 0 0 0 +9805 1 1.0097 1 194.80912736370198 329.1102479324736 0 0 0 0 +6514 1 1.2417 1 220.44485875520212 321.73877396506407 0 0 0 0 +6606 1 1.2311 1 204.18725114106326 278.90333862384267 0 0 0 0 +4676 1 1.4681 1 220.44721836691286 301.42492485714496 0 0 0 0 +2724 1 1.9219 1 205.24524882916268 330.1311167242974 0 0 -1 0 +1100 1 3.0202 1 200.91078325453805 330.2429560585793 0 0 -1 0 +5591 1 1.3384 1 221.67396671160103 302.0861918574171 0 0 0 0 +4332 1 1.5263 1 221.7929999122819 308.481414020989 0 0 0 0 +2673 1 1.9412 1 221.07225904988823 305.85035519647 0 0 0 0 +1305 1 2.788 1 202.66279956865037 280.1287162025875 0 0 0 0 +2574 1 1.9798 1 221.03556524813095 310.01067847024353 0 0 0 0 +7812 1 1.128 1 224.3888425388658 327.98492742374845 0 0 0 0 +7693 1 1.137 1 222.49985981411163 299.69025614065544 0 0 0 0 +1345 1 2.7429 1 222.22872452389376 321.1031093906751 0 0 0 0 +949 1 3.2507 1 222.3169929307274 297.5254716050751 0 0 0 0 +2472 1 2.0207 1 222.28292804557015 294.5700782924251 0 0 0 0 +2067 1 2.1989 1 220.58729045923053 285.7985230747951 0 0 0 0 +9909 1 1.0046 1 222.2767038930905 331.3542176397205 0 0 0 0 +8780 1 1.0645 1 223.29267299925874 295.6826803739616 0 0 0 0 +7469 1 1.1555 1 222.03528603395648 285.05220335542793 0 0 0 0 +4537 1 1.4913 1 222.84415291042427 290.4268658020087 0 0 0 0 +3939 1 1.6002 1 223.24149242676222 287.0099505786988 0 0 0 0 +9735 1 1.0133 1 223.79845967407357 289.7002392551318 0 0 0 0 +6493 1 1.2438 1 182.89475523331234 278.40399633615 0 0 0 0 +7454 1 1.1566 1 188.56903093623993 278.24862137463305 0 0 0 0 +7205 1 1.1777 1 203.09600441742194 278.2304205230116 0 0 0 0 +87 1 10.0111 1 255.98096799738244 38.37456416775272 0 0 0 0 +7323 1 1.1686 1 272.1945538584477 33.379939072779834 0 0 0 0 +129 1 8.4725 1 247.4862051531067 19.307813285933154 0 0 0 0 +154 1 7.5546 1 238.4382687683972 30.566057859848012 0 0 0 0 +979 1 3.2094 1 227.19914078940226 13.22696746333504 0 0 1 0 +5668 1 1.3305 1 274.17266855984406 43.55932737269145 0 0 0 0 +221 1 6.4716 1 231.58552858999465 29.80101263015625 0 0 0 0 +7419 1 1.1596 1 265.4737070837911 39.553420800336816 0 0 0 0 +259 1 6.1367 1 226.65503236412744 54.58306868252863 0 0 0 0 +265 1 6.06 1 251.7371444222799 25.121800818184465 0 0 0 0 +6374 1 1.2548 1 274.8699946871666 44.573658098427096 0 0 0 0 +305 1 5.7095 1 245.37825577202608 12.661619522850632 0 0 0 0 +314 1 5.6024 1 231.02672273287806 50.72837958416494 0 0 0 0 +316 1 5.5712 1 242.04060839461957 39.952889742273264 0 0 0 0 +318 1 5.5547 1 241.12435526286345 16.19275384406553 0 0 0 0 +328 1 5.4818 1 230.72548718735985 39.12710379838743 0 0 0 0 +315 1 5.5997 1 225.56791347111204 60.29922439939812 0 0 0 0 +504 1 4.3574 1 248.83631912975792 32.06656633031713 0 0 0 0 +518 1 4.3107 1 262.5289717394728 32.892055370304824 0 0 0 0 +539 1 4.2371 1 266.19220402724244 36.911444529603486 0 0 0 0 +556 1 4.1867 1 247.86908093656885 38.77533946886895 0 0 0 0 +581 1 4.0916 1 250.07976219171766 48.17385274586338 0 0 0 0 +582 1 4.0846 1 237.16394010002242 18.790929977328613 0 0 0 0 +598 1 4.0263 1 259.8943290966466 25.069458644566364 0 0 0 0 +599 1 4.0233 1 229.33967303867365 34.607957712587854 0 0 0 0 +613 1 3.9811 1 238.05406181549355 37.58471543427247 0 0 0 0 +2077 1 2.1953 1 233.02182437560285 10.930006539821397 0 0 1 0 +672 1 3.8381 1 237.56551361396836 41.308058436096076 0 0 0 0 +680 1 3.8253 1 245.09885161474736 34.122626463008885 0 0 0 0 +738 1 3.7055 1 260.98033476013916 42.967080867657074 0 0 0 0 +746 1 3.6921 1 235.04068851064784 48.53491079464467 0 0 0 0 +760 1 3.6552 1 251.1103316615015 44.568994013459815 0 0 0 0 +796 1 3.5979 1 237.3621787950453 13.756281003060975 0 0 0 0 +808 1 3.5731 1 257.914745823781 30.411368227164907 0 0 0 0 +843 1 3.4713 1 234.82044402551878 53.014405761532764 0 0 0 0 +882 1 3.3846 1 239.7938888370619 51.9186717999494 0 0 0 0 +897 1 3.3588 1 258.3279535173036 45.258900224430384 0 0 0 0 +907 1 3.347 1 246.46780105056374 29.150112366395987 0 0 0 0 +931 1 3.2941 1 243.75729964999505 30.924104099742912 0 0 0 0 +933 1 3.2892 1 257.0182715611387 27.106924616491835 0 0 0 0 +943 1 3.2572 1 236.00346173860814 25.832591913370887 0 0 0 0 +962 1 3.228 1 255.07900194156514 44.88452108997786 0 0 0 0 +963 1 3.2277 1 265.64283157033225 30.844724977173893 0 0 0 0 +1094 1 3.0239 1 235.5181269211893 35.33542271991256 0 0 0 0 +1109 1 3.0046 1 255.164577081717 32.091484104816224 0 0 0 0 +1124 1 2.9853 1 242.35664024526682 47.7608369906922 0 0 0 0 +1154 1 2.9494 1 262.35058073278486 27.565206646547878 0 0 0 0 +1175 1 2.9306 1 246.1328476674337 25.09931150852103 0 0 0 0 +1207 1 2.8995 1 246.61358970426315 48.32855123461322 0 0 0 0 +1210 1 2.8978 1 266.3886254880053 26.40943099722103 0 0 0 0 +1211 1 2.8964 1 242.20476584393873 35.763365965535904 0 0 0 0 +3744 1 1.6406 1 227.5290335583379 20.38459922428065 0 0 0 0 +1283 1 2.8067 1 233.79863105032254 18.437172387785786 0 0 0 0 +1299 1 2.7943 1 234.76131065985038 38.124205555749725 0 0 0 0 +1302 1 2.7923 1 255.17828449032245 47.85152451046991 0 0 0 0 +9336 1 1.0343 1 269.0221493434218 48.578235765315135 0 0 0 0 +1330 1 2.7557 1 253.50611581976597 21.196312705810627 0 0 0 0 +1344 1 2.7437 1 262.2328890831957 37.64523182356168 0 0 0 0 +1363 1 2.7258 1 235.45006472983076 45.47276679216324 0 0 0 0 +1386 1 2.6997 1 248.46665730574495 43.02373238542211 0 0 0 0 +1406 1 2.6738 1 237.47784058861166 22.09902050814556 0 0 0 0 +1463 1 2.6072 1 233.2881384510637 33.83839972707182 0 0 0 0 +1497 1 2.58 1 254.41734033137433 28.358149730932084 0 0 0 0 +1508 1 2.57 1 242.7335375697183 22.046693512758203 0 0 0 0 +1517 1 2.5599 1 230.98909255207792 43.08833947844909 0 0 0 0 +1526 1 2.5485 1 263.8992699199447 42.030841107208495 0 0 0 0 +4188 1 1.5516 1 226.0143807552709 19.955833150833993 0 0 0 0 +1791 1 2.3617 1 224.84846268688185 11.882620937996466 0 0 1 0 +1626 1 2.4708 1 245.32650914504595 45.13514542796888 0 0 0 0 +1629 1 2.468 1 265.7952607452229 33.642769954777044 0 0 0 0 +1782 1 2.3664 1 269.82499287945217 43.20547237785335 0 0 0 0 +1721 1 2.4102 1 240.32705810777057 21.745253685047878 0 0 0 0 +1854 1 2.3293 1 271.6575510489464 44.5845577961136 0 0 0 0 +1781 1 2.3669 1 243.50025261244116 43.61128051609312 0 0 0 0 +1790 1 2.3618 1 243.2250527316905 24.42457069850972 0 0 0 0 +1851 1 2.3299 1 251.30023921921787 34.41396656713471 0 0 0 0 +1884 1 2.3108 1 234.78399996711426 22.226083266490402 0 0 0 0 +3563 1 1.6776 1 232.6326682764952 12.78086907724235 0 0 1 0 +1917 1 2.2888 1 249.1082754919629 28.334407404654723 0 0 0 0 +1937 1 2.2787 1 240.1227854083143 46.38341972026429 0 0 0 0 +2005 1 2.2362 1 242.18110298869925 50.33153276117451 0 0 0 0 +2035 1 2.2197 1 242.18621024286466 19.82223613274927 0 0 0 0 +2111 1 2.1764 1 263.5391160484565 44.32335103829986 0 0 0 0 +2112 1 2.1759 1 231.84804936006475 55.27061187744019 0 0 0 0 +2123 1 2.1682 1 255.43742529938123 23.382188306275367 0 0 0 0 +2129 1 2.1649 1 241.99472283650508 45.24041281784349 0 0 0 0 +2186 1 2.1445 1 237.14728194300173 51.239505460573234 0 0 0 0 +2194 1 2.1407 1 264.46479867664686 24.906523995754814 0 0 0 0 +2215 1 2.1294 1 263.9175987053493 46.40535825501355 0 0 0 0 +2224 1 2.1253 1 274.18305043104317 22.994464031313576 0 0 0 0 +2225 1 2.1252 1 245.68816516854613 40.99274884573687 0 0 0 0 +2269 1 2.1074 1 276.12295028602296 23.6188470271995 0 0 0 0 +2277 1 2.1042 1 233.10999710937074 46.47713274503556 0 0 0 0 +8978 1 1.0538 1 276.8693298151459 45.987570221275234 0 0 0 0 +2362 1 2.0615 1 243.65857068867885 27.60701405142096 0 0 0 0 +2390 1 2.0523 1 268.16380862558583 24.786923600142433 0 0 0 0 +2404 1 2.0463 1 240.21634217496006 44.24051047388959 0 0 0 0 +2430 1 2.0352 1 261.67026480340434 29.898528821854118 0 0 0 0 +2434 1 2.0331 1 258.934073127851 47.879732365198834 0 0 0 0 +7585 1 1.1451 1 264.65575542859716 40.3663680650277 0 0 0 0 +2521 1 2.0042 1 228.64129260158882 44.063063277931604 0 0 0 0 +2542 1 1.9916 1 257.5035641279462 23.261615608862577 0 0 0 0 +2554 1 1.988 1 237.84149454118304 48.27613678180316 0 0 0 0 +160 1 7.4952 1 271.7084426481273 38.68733896131594 0 0 0 0 +2585 1 1.976 1 269.1464758959828 33.62370498644678 0 0 0 0 +2643 1 1.9514 1 264.9297200386041 48.12142877001011 0 0 0 0 +2645 1 1.9509 1 253.01809556221394 33.24986257701318 0 0 0 0 +2663 1 1.9431 1 230.27407960955009 45.14017426124653 0 0 0 0 +8318 1 1.0927 1 231.28368516216344 57.38175860271397 0 0 0 0 +2791 1 1.8967 1 264.05188904150134 39.00571495896868 0 0 0 0 +2793 1 1.895 1 230.1815570366436 56.421257982248534 0 0 0 0 +7808 1 1.1282 1 277.80540530044146 34.75537831562526 0 0 0 0 +2924 1 1.8564 1 263.3943230429296 35.777016128850974 0 0 0 0 +2953 1 1.8471 1 244.64395583095688 47.1503291807384 0 0 0 0 +2981 1 1.8388 1 251.8063689265551 30.43267820266769 0 0 0 0 +3028 1 1.8185 1 247.45818165407366 45.00551093452738 0 0 0 0 +624 1 3.9419 1 269.42507609119474 27.856078618025666 0 0 0 0 +3061 1 1.8095 1 239.97280432853555 19.67563414682514 0 0 0 0 +6899 1 1.2021 1 231.16160610243182 13.859110729979081 0 0 1 0 +3125 1 1.7861 1 244.27805945495464 50.765901762571644 0 0 0 0 +3137 1 1.7829 1 258.4730403213667 33.030303322215104 0 0 0 0 +4111 1 1.5643 1 274.0512108739281 34.85082134120243 0 0 0 0 +3190 1 1.7686 1 262.02543983889166 46.3991161096143 0 0 0 0 +3208 1 1.7646 1 249.24814530075275 36.24751606909756 0 0 0 0 +3231 1 1.7573 1 231.26243248139346 47.037749890580976 0 0 0 0 +3244 1 1.7542 1 244.25406968718778 36.74483081436641 0 0 0 0 +3249 1 1.753 1 239.68153758958712 24.92834488170315 0 0 0 0 +3260 1 1.7495 1 228.21291059416438 27.457871050722755 0 0 0 0 +3277 1 1.7458 1 229.0734458753982 42.28429120522066 0 0 0 0 +3342 1 1.7304 1 236.9472072412549 54.313102247674045 0 0 0 0 +3345 1 1.7301 1 225.96977428081559 36.06114672310369 0 0 0 0 +3346 1 1.7295 1 247.06202018391724 35.99894514786263 0 0 0 0 +3380 1 1.7204 1 238.13800572758686 45.854967083166436 0 0 0 0 +4098 1 1.5666 1 241.75340119379564 12.601954147562331 0 0 1 0 +3467 1 1.6999 1 265.81877561928826 41.144225404548294 0 0 0 0 +3483 1 1.6973 1 259.88798790424073 34.15343404603558 0 0 0 0 +3513 1 1.691 1 277.0226388105856 21.055997686436665 0 0 0 0 +3524 1 1.6885 1 241.3640384682201 25.19808314869194 0 0 0 0 +7314 1 1.1692 1 226.66182264951328 24.76070561484471 0 0 0 0 +3546 1 1.6832 1 227.20615259177976 46.60748888919477 0 0 0 0 +3559 1 1.6791 1 233.60108450273114 26.280954022434397 0 0 0 0 +200 1 6.8647 1 230.42270468532254 23.451206487298684 0 0 0 0 +900 1 3.3582 1 224.94092733726148 16.357561174079898 0 0 0 0 +3702 1 1.646 1 251.467420453231 42.00231807184752 0 0 0 0 +3708 1 1.6449 1 238.46044859587408 49.90808616001004 0 0 0 0 +3718 1 1.6443 1 261.2080493933537 35.61791315248067 0 0 0 0 +6895 1 1.2028 1 226.5735328421073 21.380447831332255 0 0 0 0 +3726 1 1.6431 1 266.6260576875189 28.631164185576967 0 0 0 0 +3762 1 1.6376 1 249.54974591422229 41.150106866019 0 0 0 0 +3767 1 1.637 1 264.6039922959465 27.72095067633794 0 0 0 0 +3794 1 1.6312 1 234.17037998468206 43.82460007731304 0 0 0 0 +3835 1 1.6198 1 233.66485191963474 55.19287971388631 0 0 0 0 +3840 1 1.6191 1 263.9459261801011 29.164519529264123 0 0 0 0 +3859 1 1.6162 1 268.208204511901 32.14280923061395 0 0 0 0 +3865 1 1.614 1 234.85073053401874 20.32940196176834 0 0 0 0 +3926 1 1.6024 1 262.0034301006868 48.07495788783917 0 0 0 0 +3944 1 1.5986 1 270.75445400886866 23.98892559226195 0 0 0 0 +3951 1 1.5962 1 234.04842693625832 40.14322253384881 0 0 0 0 +3952 1 1.5957 1 245.0999023477153 38.112292190814344 0 0 0 0 +3974 1 1.5911 1 232.5637109506288 44.39102293335312 0 0 0 0 +3975 1 1.591 1 237.73092295400926 34.945198985800246 0 0 0 0 +3977 1 1.5906 1 241.44833300704008 23.603054149688777 0 0 0 0 +3994 1 1.5874 1 239.29280323572965 35.11833597872734 0 0 0 0 +4019 1 1.5798 1 242.18809988209634 26.57443259711976 0 0 0 0 +4054 1 1.5739 1 232.99723161876963 42.88082591854659 0 0 0 0 +4060 1 1.573 1 247.90963260289016 46.541950953247735 0 0 0 0 +4065 1 1.5725 1 252.98673095645074 31.55456616328474 0 0 0 0 +4082 1 1.5694 1 269.87530296140636 25.226586490799793 0 0 0 0 +4099 1 1.5665 1 262.67390730166665 24.49833837599846 0 0 0 0 +4132 1 1.561 1 253.83551588209343 30.28651105156841 0 0 0 0 +4140 1 1.5603 1 235.31573497396417 42.76620690545529 0 0 0 0 +4191 1 1.5507 1 250.35838111554474 37.36303457000483 0 0 0 0 +4198 1 1.5498 1 275.65940682678263 21.903517457921 0 0 0 0 +4209 1 1.5483 1 248.11077821383867 24.194849459755737 0 0 0 0 +1414 1 2.6672 1 266.27100894741784 46.3327754185222 0 0 0 0 +4280 1 1.5361 1 257.21938922634365 48.31765518389084 0 0 0 0 +4302 1 1.5324 1 250.39021517520965 29.668451947967732 0 0 0 0 +4343 1 1.524 1 234.92802661042467 41.32896308052652 0 0 0 0 +1935 1 2.2797 1 277.8763238147 47.341179147111056 0 0 0 0 +4446 1 1.5068 1 245.35226111675897 43.203026226440244 0 0 0 0 +4448 1 1.5066 1 236.4660057152639 43.6940583629795 0 0 0 0 +4460 1 1.5038 1 247.95584545080933 49.93925339962894 0 0 0 0 +4619 1 1.4785 1 233.37552747743993 20.555441463939264 0 0 0 0 +4632 1 1.4766 1 236.95404874042688 46.854553108266835 0 0 0 0 +784 1 3.6172 1 276.99110852938975 37.00184283030299 0 0 0 0 +1704 1 2.4209 1 226.7536542694436 10.497293297095862 0 0 1 0 +5988 1 1.2961 1 275.66223868778144 35.014251630347744 0 0 0 0 +4802 1 1.4484 1 238.1110593690125 24.833170286833855 0 0 0 0 +4829 1 1.4449 1 249.5352858777549 34.77338778636617 0 0 0 0 +4836 1 1.4438 1 227.73097475245493 49.54772886481813 0 0 0 0 +4857 1 1.4403 1 228.0734565939369 37.00278076287021 0 0 0 0 +8205 1 1.1012 1 268.15024700673246 42.94795508209713 0 0 0 0 +4870 1 1.438 1 226.72597564315598 37.39911665840256 0 0 0 0 +4873 1 1.4375 1 252.37825991196883 46.73355479610473 0 0 0 0 +4903 1 1.432 1 243.58918138685058 45.94671107398358 0 0 0 0 +4909 1 1.4309 1 228.69390871154016 48.24850280245821 0 0 0 0 +4915 1 1.4302 1 236.0192652182263 23.535099207880695 0 0 0 0 +4918 1 1.4299 1 255.46484063046503 30.001213105397706 0 0 0 0 +4928 1 1.4287 1 241.6594682839668 43.39019753054117 0 0 0 0 +4939 1 1.4272 1 226.4548798277789 45.31488471246127 0 0 0 0 +4947 1 1.4259 1 269.83008623973063 30.48759550984873 0 0 0 0 +4984 1 1.4224 1 260.701671547793 45.5147262919148 0 0 0 0 +5022 1 1.4174 1 240.590419688411 34.434072915174944 0 0 0 0 +5027 1 1.417 1 232.20298605841157 19.764198081025135 0 0 0 0 +5056 1 1.4122 1 238.77606923649736 23.61847088756371 0 0 0 0 +5117 1 1.4004 1 247.35774128691597 41.41298467604516 0 0 0 0 +5137 1 1.398 1 238.2967969124555 26.166805939364195 0 0 0 0 +5143 1 1.3976 1 225.1578899995718 45.682010269640834 0 0 0 0 +5145 1 1.3972 1 251.68814215047672 32.252974257308026 0 0 0 0 +5236 1 1.384 1 237.6897049210528 16.166250468251945 0 0 0 0 +5324 1 1.3726 1 246.53516545120385 42.464275559610144 0 0 0 0 +5335 1 1.3716 1 260.3336280445979 30.92197994258128 0 0 0 0 +5342 1 1.3708 1 228.79017933390708 45.73419081974678 0 0 0 0 +4623 1 1.4779 1 235.14312249846557 14.846072154682217 0 0 0 0 +6422 1 1.25 1 233.8765529014928 15.138884051673765 0 0 0 0 +5444 1 1.3571 1 227.3885700494706 48.074565469878245 0 0 0 0 +5474 1 1.3534 1 242.04818028749958 28.028024092450753 0 0 0 0 +5495 1 1.3516 1 231.9119400378253 35.063362194452615 0 0 0 0 +5496 1 1.3515 1 235.69434298500718 55.19004740907873 0 0 0 0 +5501 1 1.3504 1 262.56136318711486 39.62732855171392 0 0 0 0 +5512 1 1.3496 1 245.99467879276173 31.681995271613587 0 0 0 0 +5540 1 1.3457 1 248.1897146208213 26.831639854154552 0 0 0 0 +6678 1 1.2241 1 272.7196826676303 34.44954900530763 0 0 0 0 +5685 1 1.3282 1 246.61184204546453 43.76132263323105 0 0 0 0 +5711 1 1.3248 1 232.48472046413403 36.23053774245887 0 0 0 0 +5716 1 1.3244 1 238.33121047674967 53.72027522195892 0 0 0 0 +5741 1 1.3215 1 226.4836495069122 49.0019810840101 0 0 0 0 +5743 1 1.3215 1 225.28321204817715 49.4571556177665 0 0 0 0 +9353 1 1.0335 1 277.0986901555525 24.713929840048284 0 0 0 0 +5834 1 1.3112 1 237.35264365382588 52.89110568573453 0 0 0 0 +5850 1 1.3101 1 239.8689894248454 42.60228384975488 0 0 0 0 +5954 1 1.2993 1 267.22278684347026 41.59070418400562 0 0 0 0 +5980 1 1.2966 1 248.26112931133275 35.14076439573757 0 0 0 0 +5995 1 1.2952 1 240.31285641258424 48.244520091960396 0 0 0 0 +6034 1 1.2912 1 231.7599792664904 45.56505415001337 0 0 0 0 +9708 1 1.0148 1 230.74215912503547 11.826389117675989 0 0 1 0 +6061 1 1.2872 1 267.57949781761175 29.703112985796114 0 0 0 0 +6067 1 1.2867 1 262.3725540374031 40.91178456947094 0 0 0 0 +6092 1 1.284 1 253.67440366155367 46.606607052368204 0 0 0 0 +6097 1 1.2833 1 248.13834880644555 25.57135294141763 0 0 0 0 +6110 1 1.2827 1 255.37277843711328 25.533447584515542 0 0 0 0 +6111 1 1.2826 1 238.66398006585342 44.539173993316474 0 0 0 0 +6112 1 1.2826 1 225.75565282750503 46.80069408072234 0 0 0 0 +6126 1 1.2809 1 230.25486629446684 54.8418016240231 0 0 0 0 +6184 1 1.2739 1 240.06960563897778 23.515070864282443 0 0 0 0 +6186 1 1.2736 1 242.06485477524248 52.033819013043875 0 0 0 0 +6213 1 1.2701 1 233.3542863636745 41.43780939897237 0 0 0 0 +9458 1 1.0279 1 269.9079398584267 34.87027565536822 0 0 0 0 +6249 1 1.2653 1 261.1799163562644 40.50760526285572 0 0 0 0 +6270 1 1.2631 1 229.75869847065883 46.608756628065834 0 0 0 0 +6298 1 1.2608 1 244.5840706687844 48.69705134282854 0 0 0 0 +8466 1 1.0834 1 234.63546008202545 10.945974948108631 0 0 1 0 +6367 1 1.2552 1 235.55580550999682 50.85812879058016 0 0 0 0 +6377 1 1.2541 1 240.71198799779012 11.456311826925582 0 0 0 0 +6388 1 1.2526 1 238.880948188236 20.741765253206097 0 0 0 0 +6405 1 1.2511 1 242.62976632661815 33.76726274795242 0 0 0 0 +6411 1 1.2506 1 253.10705495976802 47.849249279730266 0 0 0 0 +7256 1 1.1737 1 235.58609577620635 12.227314350837673 0 0 0 0 +6437 1 1.2484 1 240.53639505386423 36.91592600944211 0 0 0 0 +6469 1 1.2461 1 244.54350839238822 42.16908718044164 0 0 0 0 +6513 1 1.2418 1 228.58006999498846 46.97936156087941 0 0 0 0 +6613 1 1.2307 1 234.67791888792914 16.623013782148618 0 0 0 0 +6617 1 1.2306 1 239.5778187432238 26.372772710253127 0 0 0 0 +6620 1 1.2302 1 245.0265740674641 23.454909695897687 0 0 0 0 +6648 1 1.2271 1 242.2914479899476 32.611902853448264 0 0 0 0 +6668 1 1.2252 1 235.06617477357457 33.28319176902721 0 0 0 0 +7835 1 1.1269 1 271.0571065946776 25.82086634168114 0 0 0 0 +6701 1 1.2223 1 237.79113649355813 43.7497684777876 0 0 0 0 +6705 1 1.2217 1 263.3752033483327 48.29280532779732 0 0 0 0 +6722 1 1.2203 1 252.64386836397244 42.786639850310124 0 0 0 0 +6726 1 1.2198 1 245.76284362899776 36.69681618820374 0 0 0 0 +9840 1 1.0082 1 242.25831506375235 11.418336397651032 0 0 1 0 +6915 1 1.2007 1 267.59176404831095 33.40015228003806 0 0 0 0 +6931 1 1.1997 1 250.90720734597687 40.75375150599709 0 0 0 0 +6933 1 1.1996 1 243.6187117796058 49.427192485120806 0 0 0 0 +198 1 6.9069 1 277.98022110719 42.10547660656213 0 0 0 0 +6981 1 1.1959 1 246.95300040204526 26.96216131117174 0 0 0 0 +6996 1 1.1947 1 260.47399456039057 48.30011819844911 0 0 0 0 +5736 1 1.3221 1 228.3818078980404 11.333169427294976 0 0 1 0 +7044 1 1.1899 1 255.40885026668266 21.707716701091424 0 0 0 0 +7053 1 1.1894 1 259.1927508649317 27.56139870041823 0 0 0 0 +7066 1 1.1886 1 259.5011488971424 28.685099398883214 0 0 0 0 +7133 1 1.1834 1 237.23589375312508 44.771961146203296 0 0 0 0 +7143 1 1.1828 1 260.65378828470375 28.66717497015823 0 0 0 0 +7198 1 1.1781 1 252.85218874888355 29.358268716929828 0 0 0 0 +7199 1 1.1781 1 237.20264394626903 23.96940873785229 0 0 0 0 +3304 1 1.7393 1 232.59070124829893 56.99674959529519 0 0 0 0 +7232 1 1.1756 1 264.0788089715958 26.47035904205389 0 0 0 0 +7235 1 1.1754 1 260.9170904370391 47.262103953643155 0 0 0 0 +7261 1 1.1734 1 246.59893936773088 46.33649467709085 0 0 0 0 +7281 1 1.1726 1 245.78281401056574 27.068206598961158 0 0 0 0 +7294 1 1.1712 1 250.3207181732125 39.78560755307762 0 0 0 0 +7346 1 1.1663 1 234.36038233827415 50.803029934043195 0 0 0 0 +7347 1 1.1662 1 251.78676534611287 28.934358347899572 0 0 0 0 +7350 1 1.1658 1 245.32027946091375 39.43444608266154 0 0 0 0 +7390 1 1.162 1 238.91215893594318 43.36356040674937 0 0 0 0 +5413 1 1.3617 1 240.32286739789836 12.845473780757443 0 0 0 0 +6414 1 1.2504 1 225.3807618078893 21.191701521367058 0 0 0 0 +7443 1 1.1574 1 227.67350866984074 45.27183735429146 0 0 0 0 +7451 1 1.1567 1 260.1193242257153 29.681179530337843 0 0 0 0 +7462 1 1.1562 1 250.47416575667583 38.672233867288156 0 0 0 0 +7485 1 1.1538 1 264.49621892110935 34.82872150373543 0 0 0 0 +7493 1 1.1529 1 259.97790810974726 46.696791903409604 0 0 0 0 +7561 1 1.147 1 263.2002660533774 30.283501502949793 0 0 0 0 +8844 1 1.0606 1 269.8419910964525 49.17388772126709 0 0 0 0 +7598 1 1.1441 1 237.13073479811644 49.63874561429661 0 0 0 0 +307 1 5.6898 1 273.9307862650277 47.77973980773327 0 0 0 0 +3420 1 1.7113 1 239.16710790120834 11.86773494059394 0 0 1 0 +7681 1 1.1377 1 246.70655865031557 50.36289734943437 0 0 0 0 +7790 1 1.1295 1 251.65390675469916 21.57032622817615 0 0 0 0 +7816 1 1.1278 1 240.94792267921878 49.24046973399216 0 0 0 0 +7822 1 1.1274 1 234.41781112256038 23.89894351494671 0 0 0 0 +7834 1 1.1269 1 268.6315827303807 30.231636206388103 0 0 0 0 +106 1 9.4974 1 276.04707899734893 29.731551399779207 0 0 0 0 +7858 1 1.1241 1 226.20640994069902 47.85543287207478 0 0 0 0 +7930 1 1.1192 1 267.7735584327921 30.884454811997887 0 0 0 0 +7938 1 1.1187 1 252.52348432798306 49.01569830677992 0 0 0 0 +1818 1 2.3461 1 230.0532117499669 58.52466603024206 0 0 0 0 +3054 1 1.8113 1 229.8083351341968 13.151731895611185 0 0 0 0 +779 1 3.6254 1 269.34042507341775 46.29985298346219 0 0 0 0 +8008 1 1.1141 1 239.28520814170088 48.849070036266724 0 0 0 0 +8038 1 1.1123 1 244.79218647097025 26.572132140190764 0 0 0 0 +3325 1 1.7338 1 272.81295108883 43.05724002987488 0 0 0 0 +8085 1 1.1083 1 227.76923187285632 51.16614240160245 0 0 0 0 +8096 1 1.1075 1 234.06224108609823 24.951323409857686 0 0 0 0 +8114 1 1.1067 1 243.167199892617 51.648485779580916 0 0 0 0 +8148 1 1.1048 1 239.9556622537483 49.70596719811997 0 0 0 0 +8179 1 1.1025 1 261.4044010938459 39.36272466780544 0 0 0 0 +8184 1 1.1023 1 260.3316358830589 27.584032706122112 0 0 0 0 +8186 1 1.1021 1 250.7741890904906 28.48619550629127 0 0 0 0 +8284 1 1.0961 1 241.49878116027475 33.58964664331294 0 0 0 0 +8307 1 1.0941 1 256.27706168544216 24.773712805707312 0 0 0 0 +627 1 3.9397 1 236.9629853202683 10.110412625132238 0 0 1 0 +8362 1 1.0897 1 257.3599185424018 24.79513643354044 0 0 0 0 +8366 1 1.0894 1 263.49581946403197 40.33603383041298 0 0 0 0 +8388 1 1.088 1 245.27874038641946 49.77167885354577 0 0 0 0 +1038 1 3.1104 1 266.1845848611611 43.515732045441744 0 0 0 0 +8474 1 1.0828 1 244.34107810273912 15.81962104000464 0 0 0 0 +1515 1 2.5616 1 225.85101747662068 23.08106765917622 0 0 0 0 +8502 1 1.0808 1 258.6489857427077 43.143962887792874 0 0 0 0 +8546 1 1.0784 1 269.37912496481135 31.60225038293508 0 0 0 0 +8562 1 1.0772 1 267.4055236972637 34.52673055883704 0 0 0 0 +8596 1 1.0754 1 262.09846583386104 45.02864154500115 0 0 0 0 +8623 1 1.0735 1 256.09829958785986 29.000968889404596 0 0 0 0 +8637 1 1.0727 1 233.8616709840376 56.48366081766691 0 0 0 0 +8676 1 1.0712 1 248.5673050692209 14.590489819097346 0 0 0 0 +8678 1 1.0711 1 247.46587596953844 34.349310687141895 0 0 0 0 +8705 1 1.0696 1 264.8910107790468 45.137327627969775 0 0 0 0 +8731 1 1.0681 1 240.7030119023921 26.37767109132625 0 0 0 0 +8797 1 1.0635 1 239.274589663484 47.799388335618275 0 0 0 0 +8805 1 1.0629 1 254.93108219763604 26.62052895839857 0 0 0 0 +8847 1 1.0605 1 235.96224185563702 21.045707437438228 0 0 0 0 +8926 1 1.0563 1 231.3436583426606 36.031773507644004 0 0 0 0 +2609 1 1.9632 1 231.0518136413485 10.424206041889331 0 0 1 0 +8946 1 1.0554 1 225.1352271639096 37.12077566490524 0 0 0 0 +8968 1 1.0542 1 253.60289849592087 43.361635509130714 0 0 0 0 +8974 1 1.054 1 227.30742177307994 36.06598696069979 0 0 0 0 +8993 1 1.053 1 250.83301905585145 36.11037590192838 0 0 0 0 +9003 1 1.0525 1 253.5838089727458 48.88492501373656 0 0 0 0 +4846 1 1.4423 1 226.04855585718312 18.468749698083805 0 0 0 0 +9097 1 1.0472 1 230.985787167572 53.978999549932595 0 0 0 0 +4218 1 1.5469 1 239.6678270609743 10.364617275291044 0 0 0 0 +9117 1 1.0464 1 235.37850432641918 39.957881393781065 0 0 0 0 +6396 1 1.252 1 270.55990876469554 48.32879281699646 0 0 0 0 +9224 1 1.0407 1 245.6898629892291 50.749202159808355 0 0 0 0 +9235 1 1.0404 1 233.60120529761303 35.927768571847636 0 0 0 0 +9276 1 1.0379 1 259.8684414434889 32.82589555334654 0 0 0 0 +9286 1 1.0374 1 238.6299552293096 47.04901956199904 0 0 0 0 +9287 1 1.0374 1 227.60767098137757 38.24399646637469 0 0 0 0 +5787 1 1.3156 1 229.6335945906463 11.608788734330387 0 0 1 0 +9321 1 1.035 1 243.38312795159567 26.100034357941443 0 0 0 0 +9335 1 1.0344 1 257.13533919380586 32.58468360299459 0 0 0 0 +9365 1 1.0327 1 234.12519310877903 42.2935195889519 0 0 0 0 +9379 1 1.032 1 263.21872805560145 25.80421295621088 0 0 0 0 +9417 1 1.0297 1 232.28815392448257 41.885459206247916 0 0 0 0 +9429 1 1.0293 1 265.31461242490434 28.788611955447116 0 0 0 0 +9473 1 1.0271 1 242.71887473667044 29.0282431751503 0 0 0 0 +9475 1 1.0271 1 233.66183194763468 45.03566812078269 0 0 0 0 +3520 1 1.6896 1 229.27378653136165 10.154504142506577 0 0 1 0 +9597 1 1.0209 1 229.7828474783455 47.70564191702729 0 0 0 0 +9599 1 1.0207 1 253.12235292541413 45.64593458364228 0 0 0 0 +9604 1 1.0205 1 228.42934569404304 58.71878555661093 0 0 0 0 +9612 1 1.0199 1 233.2294520756104 37.07409157482059 0 0 0 0 +9641 1 1.0184 1 266.9902659153958 32.452002688373085 0 0 0 0 +9659 1 1.0176 1 270.9623831583299 30.81238920154063 0 0 0 0 +9688 1 1.0162 1 259.64254415525244 31.867767881982374 0 0 0 0 +8387 1 1.0881 1 270.97482751557374 49.37858073439475 0 0 0 0 +9772 1 1.0114 1 241.14143584699445 27.290855055209462 0 0 0 0 +9779 1 1.0111 1 250.2090224834862 42.4063392576334 0 0 0 0 +9806 1 1.0096 1 256.83202772152947 43.75259041038974 0 0 0 0 +9856 1 1.007 1 228.81483192096348 32.21502809897006 0 0 0 0 +9919 1 1.0043 1 269.47369356186897 24.04210973675305 0 0 0 0 +9932 1 1.0039 1 244.2878042213534 25.677962166600054 0 0 0 0 +9935 1 1.0035 1 262.2583272311515 25.656160030135318 0 0 0 0 +9950 1 1.003 1 244.27261262355023 22.75290602524791 0 0 0 0 +9956 1 1.0029 1 256.46151431520815 22.190909601487608 0 0 0 0 +9971 1 1.0021 1 244.34541069133385 28.908768486487066 0 0 0 0 +9975 1 1.0018 1 227.84091169109777 57.92313230845364 0 0 0 0 +9996 1 1.0002 1 257.5911444979435 47.205485025953685 0 0 0 0 +2454 1 2.0261 1 226.36557136800218 50.61527019047045 0 0 0 0 +6588 1 1.2334 1 228.97446909251164 59.9995475984067 0 0 0 0 +8624 1 1.0734 1 234.7510919549968 55.90711370363437 0 0 0 0 +1379 1 2.7048 1 272.6536434669632 24.779317119690226 0 0 0 0 +3080 1 1.8056 1 236.10205201472155 16.114825880437476 0 0 0 0 +3571 1 1.6761 1 271.0904280860477 34.235705539038236 0 0 0 0 +923 1 3.3087 1 277.6161142128778 50.16497264641385 0 0 0 0 +8060 1 1.1105 1 228.7762177904301 57.45084035017961 0 0 0 0 +4057 1 1.5736 1 233.30599213015736 16.355301852992135 0 0 0 0 +1976 1 2.2555 1 270.8198705452766 32.37035217661805 0 0 0 0 +8079 1 1.1086 1 266.46010174102577 48.58057094537633 0 0 0 0 +3053 1 1.8117 1 226.93841521022696 26.219500783513737 0 0 0 0 +8791 1 1.0639 1 270.8381588292586 29.82529048074289 0 0 0 0 +5796 1 1.3149 1 268.26672326579154 44.130039220195755 0 0 0 0 +6045 1 1.2898 1 267.4532430486979 47.848782882887356 0 0 0 0 +3178 1 1.7714 1 234.08267159991215 13.673164914696326 0 0 1 0 +2173 1 2.148 1 225.11843440354318 25.26934800663786 0 0 0 0 +3255 1 1.752 1 266.9027343846639 39.806766210736406 0 0 0 0 +7979 1 1.1159 1 268.0142729351232 48.84908026788574 0 0 0 0 +4755 1 1.4557 1 234.32038886975906 12.14138576743553 0 0 0 0 +7272 1 1.1731 1 231.2374886135171 12.731049477449714 0 0 1 0 +7477 1 1.1545 1 274.00631702596826 42.31704852450602 0 0 0 0 +9974 1 1.0018 1 271.46832754538104 42.924428112239326 0 0 0 0 +256 1 6.1627 1 229.56071655846122 17.119910631463288 0 0 0 0 +7714 1 1.1354 1 271.69133918581593 26.729385483574433 0 0 0 0 +9000 1 1.0526 1 267.9633296926792 40.699870854249156 0 0 0 0 +2980 1 1.839 1 232.51169736760357 14.50347400273911 0 0 0 0 +9865 1 1.0066 1 273.3331994256482 44.43352584677973 0 0 0 0 +4782 1 1.4512 1 268.56004809606225 41.78989996682178 0 0 0 0 +3775 1 1.6346 1 268.6410570330385 35.33176767210721 0 0 0 0 +7747 1 1.1331 1 274.9068863100388 35.88778262385987 0 0 0 0 +4331 1 1.5263 1 224.7366301342088 51.2978951499554 0 0 0 0 +9409 1 1.0302 1 225.00762642910118 13.83483843333275 0 0 0 0 +2559 1 1.9855 1 224.68200254072596 48.002187345128846 0 0 0 0 +7120 1 1.1841 1 224.69199679924384 10.183271179666388 0 0 1 0 +3500 1 1.6936 1 224.6534625944378 19.101580676853484 0 0 0 0 +157 1 7.5236 1 224.63199584557069 41.31160218047907 0 0 0 0 +7406 1 1.1608 1 224.5462266664208 36.231412791653035 0 0 0 0 +2 1 97.3444 1 260.95012069199845 97.51022023673987 0 0 0 0 +5154 1 1.3954 1 225.05229551168452 63.690872810290614 0 0 0 0 +38 1 15.9602 1 235.50180635493686 163.67305336896712 0 0 0 0 +88 1 9.9469 1 239.4834976189395 148.17679426181067 0 0 0 0 +978 1 3.2099 1 228.86231050082546 144.22782132259957 0 0 0 0 +8047 1 1.1115 1 225.26538698008642 133.11314576193624 0 0 0 0 +150 1 7.6773 1 256.5998928052185 155.3943284060725 0 0 0 0 +177 1 7.2501 1 259.0641994017373 167.43706168383895 0 0 0 0 +189 1 7.0187 1 263.5859095918876 157.39393555825148 0 0 0 0 +197 1 6.9082 1 274.71215681177165 164.96917401976356 0 0 0 0 +233 1 6.3161 1 253.70097748947964 163.4976548462314 0 0 0 0 +271 1 6.001 1 271.9501677439449 152.92586840082365 0 0 0 0 +357 1 5.2951 1 271.163615118384 160.09427861115427 0 0 0 0 +385 1 5.0333 1 246.885399210093 149.0368670860408 0 0 0 0 +5714 1 1.3246 1 275.4053928345051 151.75344078056483 0 0 0 0 +2495 1 2.0122 1 268.9014252645706 169.49231239954233 0 0 0 0 +508 1 4.3343 1 258.86833732997593 149.92026181674993 0 0 0 0 +575 1 4.1107 1 236.51839624854784 141.84190363097 0 0 0 0 +647 1 3.8965 1 267.18126535294283 151.8104409269253 0 0 0 0 +655 1 3.8774 1 246.8852479921782 157.20645329531095 0 0 0 0 +658 1 3.8674 1 242.4641956960256 154.3333982110426 0 0 0 0 +663 1 3.8569 1 267.23845564995656 165.98466509932356 0 0 0 0 +685 1 3.8162 1 263.5069983521294 150.71180539794534 0 0 0 0 +695 1 3.7961 1 253.81512307849192 150.45897828227285 0 0 0 0 +5221 1 1.3866 1 227.6400444903261 136.0876723093617 0 0 0 0 +7215 1 1.177 1 277.75160522825246 159.5871936983786 0 0 0 0 +768 1 3.647 1 233.38643117943184 153.45250562005273 0 0 0 0 +797 1 3.5966 1 243.46703453132855 158.37068030090168 0 0 0 0 +6468 1 1.2461 1 227.9394916718687 167.7474982843888 0 0 0 0 +871 1 3.4229 1 270.46710160904985 146.86597163199704 0 0 0 0 +899 1 3.3585 1 231.38961424397027 142.2476516871992 0 0 0 0 +7368 1 1.164 1 230.1340127019944 170.24277147818415 0 0 0 0 +2598 1 1.9693 1 271.1413814736467 167.48029906626832 0 0 0 0 +1063 1 3.0662 1 232.23362633303526 138.50899512301356 0 0 0 0 +1077 1 3.0449 1 267.1240907347711 160.87627035297214 0 0 0 0 +2378 1 2.0559 1 245.78886475702345 169.84589379265228 0 0 0 0 +1096 1 3.0232 1 268.0301146616898 155.10980503791103 0 0 0 0 +1117 1 2.9955 1 251.33421891070293 155.20008666155235 0 0 0 0 +2446 1 2.0286 1 230.48028754350824 146.21750070892546 0 0 0 0 +1241 1 2.8607 1 246.86221712819057 153.93391575276812 0 0 0 0 +1245 1 2.8581 1 274.4627078959773 146.62367568155176 0 0 0 0 +7259 1 1.1735 1 227.98892184410417 154.4321509101754 0 0 0 0 +1346 1 2.7417 1 250.25685374198 147.26159081434602 0 0 0 0 +5565 1 1.3424 1 249.6617961214527 169.29891754340716 0 0 0 0 +1393 1 2.6884 1 256.8565702094991 147.1964559466166 0 0 0 0 +1399 1 2.6825 1 233.3125813639595 148.62867615571108 0 0 0 0 +2487 1 2.0146 1 225.1648369029696 153.13948632480188 0 0 0 0 +8996 1 1.053 1 229.29054837945117 157.77668254818042 0 0 0 0 +1476 1 2.5973 1 254.425633347142 168.90270834327129 0 0 0 0 +1486 1 2.5915 1 264.7341260928832 164.16710339323438 0 0 0 0 +1505 1 2.5732 1 273.6188903775543 149.1159688620904 0 0 0 0 +1506 1 2.5731 1 251.85291335472192 159.5659292126772 0 0 0 0 +1510 1 2.5658 1 268.1934587833899 148.77593730460654 0 0 0 0 +7797 1 1.129 1 230.76727371144128 147.7640908175307 0 0 0 0 +9315 1 1.0354 1 229.01119724589856 146.3236666907482 0 0 0 0 +1702 1 2.4222 1 248.2486010048567 145.65724837009316 0 0 0 0 +1771 1 2.372 1 276.8983070379196 145.8358251200927 0 0 0 0 +1778 1 2.3691 1 229.507579840524 136.05603621738845 0 0 0 0 +1857 1 2.3282 1 238.32323081258045 154.17829830929512 0 0 0 0 +1953 1 2.2687 1 264.67978011240064 161.80997919591928 0 0 0 0 +9607 1 1.0203 1 275.30675970571315 149.70333714505935 0 0 0 0 +1994 1 2.2451 1 243.88925691629532 144.1710316866491 0 0 0 0 +9554 1 1.0231 1 274.4419077041337 169.67599452929642 0 0 0 0 +9818 1 1.0089 1 265.12540072775937 149.0300499118108 0 0 0 0 +2188 1 2.1441 1 257.83813557726387 162.93890420429418 0 0 0 0 +2189 1 2.144 1 249.81023516575175 151.7139122664635 0 0 0 0 +2198 1 2.1393 1 250.36442958251166 149.6747930981317 0 0 0 0 +2212 1 2.1319 1 233.63444741216452 140.68446729436502 0 0 0 0 +2274 1 2.1053 1 236.2347462763383 154.74327906444475 0 0 0 0 +9894 1 1.0053 1 225.44228049481953 166.3579661551264 0 0 0 0 +2438 1 2.0319 1 266.11705005844635 147.9953340424167 0 0 0 0 +2470 1 2.0217 1 261.6724424637005 148.56634757560013 0 0 0 0 +2239 1 2.1201 1 226.23781668507874 134.32785607398134 0 0 0 0 +6217 1 1.2691 1 225.73637122070434 151.64421329020587 0 0 0 0 +9925 1 1.0041 1 225.61022908013118 162.29185618513995 0 0 0 0 +2622 1 1.9597 1 256.98693427867397 161.08364451528075 0 0 0 0 +2640 1 1.953 1 249.6361777114451 156.81174114003207 0 0 0 0 +2647 1 1.9493 1 240.47314522964604 156.35608459397093 0 0 0 0 +1216 1 2.8927 1 226.8012927824147 142.10109943601196 0 0 0 0 +2653 1 1.9453 1 272.1265292602114 156.75068041352554 0 0 0 0 +2667 1 1.9419 1 251.22698555952985 169.05051129790408 0 0 0 0 +2675 1 1.9405 1 264.785683502824 167.44000378666126 0 0 0 0 +2677 1 1.9393 1 254.67505967481026 146.64760286118047 0 0 0 0 +2687 1 1.9348 1 259.4988464637131 159.10955547933406 0 0 0 0 +2696 1 1.9308 1 260.33858902886925 147.15632531869957 0 0 0 0 +2741 1 1.9141 1 252.67767400791197 170.24690618318783 0 0 0 0 +2772 1 1.9054 1 234.23309225201848 145.4692033969577 0 0 0 0 +2620 1 1.96 1 277.42498730570344 153.57786360256182 0 0 0 0 +1186 1 2.9215 1 226.1870748218209 164.1628832415017 0 0 0 0 +2854 1 1.8779 1 249.92283718994867 158.64377140623853 0 0 0 0 +6767 1 1.2163 1 225.673093913155 143.82913271214986 0 0 0 0 +213 1 6.6182 1 225.52027933409283 147.73743019144717 0 0 0 0 +9622 1 1.0196 1 276.83338302191555 169.81425510941503 0 0 0 0 +2947 1 1.8496 1 228.1126302525649 134.567104595519 0 0 0 0 +2959 1 1.8452 1 264.0823570773481 169.82340417905857 0 0 0 0 +2968 1 1.8426 1 244.3918939196011 151.28877676828063 0 0 0 0 +2308 1 2.0866 1 277.46824326603695 168.44143491394078 0 0 0 0 +2216 1 2.1286 1 226.41796823820223 154.73751172678737 0 0 0 0 +3045 1 1.8132 1 253.27819239408524 147.78411268050087 0 0 0 0 +7440 1 1.1575 1 227.0047441414296 162.2455125094685 0 0 0 0 +3074 1 1.8065 1 255.81941174359747 170.5572451450721 0 0 0 0 +3098 1 1.7976 1 259.72005121552104 160.87081633328808 0 0 0 0 +1054 1 3.0849 1 266.4378708443733 169.228417756654 0 0 0 0 +3169 1 1.7744 1 275.6871769430512 169.08398375449954 0 0 0 0 +3189 1 1.7686 1 267.26350560133204 163.2515286023829 0 0 0 0 +9686 1 1.0163 1 274.1221268831376 161.11644864653493 0 0 0 0 +3362 1 1.7252 1 267.9714065931847 158.66763155309664 0 0 0 0 +3016 1 1.822 1 224.782135950146 140.92421395882886 0 0 0 0 +3454 1 1.7033 1 225.38882830824244 131.79590916645145 0 0 0 0 +3457 1 1.7012 1 261.8975044883509 162.44214858136985 0 0 0 0 +3556 1 1.6799 1 263.76468293774366 166.04240209241038 0 0 0 0 +3582 1 1.6746 1 248.41922271934854 159.41409521685395 0 0 0 0 +3602 1 1.6705 1 234.692743986066 151.28432584399434 0 0 0 0 +3629 1 1.6662 1 244.8325720381626 152.93917445250673 0 0 0 0 +3659 1 1.6602 1 231.9605295183794 147.13758754040148 0 0 0 0 +3693 1 1.6498 1 260.5014063405605 152.9835858484154 0 0 0 0 +9764 1 1.0118 1 263.228920045893 162.48661870914918 0 0 0 0 +3745 1 1.6404 1 248.8794529509448 155.050574513789 0 0 0 0 +3753 1 1.6392 1 234.4161655798528 143.70917435677723 0 0 0 0 +5062 1 1.4112 1 227.04913759115317 153.12068934569606 0 0 0 0 +3766 1 1.6371 1 268.7392856423038 162.51091152574242 0 0 0 0 +3810 1 1.6259 1 241.70667984747251 142.96741944453956 0 0 0 0 +4776 1 1.4518 1 276.6646198875797 160.28241500868592 0 0 0 0 +3836 1 1.6196 1 264.2264398848722 148.13573089643378 0 0 0 0 +3878 1 1.6123 1 262.0586898675873 146.87446645522752 0 0 0 0 +3925 1 1.6025 1 263.32453451112434 168.33444607271608 0 0 0 0 +3950 1 1.5963 1 251.86661198212585 148.65080030588405 0 0 0 0 +4006 1 1.5821 1 263.0240307048054 153.2640812982327 0 0 0 0 +4032 1 1.5772 1 269.08981305549116 157.38111700283105 0 0 0 0 +5261 1 1.3807 1 249.99048306279423 166.75670766390093 0 0 0 0 +4096 1 1.5677 1 248.91331662567947 153.3321344538738 0 0 0 0 +4105 1 1.5651 1 262.8135982049085 163.67377183730116 0 0 0 0 +4178 1 1.5534 1 269.390958188624 150.32671314757977 0 0 0 0 +4210 1 1.5477 1 248.03074004118253 152.08450120878834 0 0 0 0 +4288 1 1.535 1 244.41843511615312 156.10709404959715 0 0 0 0 +4292 1 1.5344 1 270.58974163827213 164.3664863932036 0 0 0 0 +4299 1 1.5325 1 253.89627588028492 159.6218038647729 0 0 0 0 +3874 1 1.6128 1 277.19947716654826 150.37189285461054 0 0 0 0 +4303 1 1.5322 1 232.22971015798626 145.6648191667756 0 0 0 0 +520 1 4.2998 1 228.6179387748667 139.13102845025367 0 0 0 0 +8709 1 1.0694 1 273.9644166411767 168.80266316355278 0 0 0 0 +2590 1 1.9732 1 225.6584940779247 137.65272243024006 0 0 0 0 +4025 1 1.5785 1 228.94216174377698 153.5100092618339 0 0 0 0 +9914 1 1.0045 1 228.10377617206342 152.56618234866923 0 0 0 0 +4441 1 1.5075 1 255.1239586547476 148.259020619238 0 0 0 0 +4449 1 1.5066 1 269.0113659222057 164.04102321905643 0 0 0 0 +4487 1 1.5001 1 276.3503743173301 147.63448725355522 0 0 0 0 +3109 1 1.7949 1 232.8787525795984 144.23303783127744 0 0 0 0 +4548 1 1.4896 1 244.87189491946975 146.55465373646877 0 0 0 0 +4554 1 1.4883 1 249.9725846272496 160.3220634658319 0 0 0 0 +4601 1 1.4802 1 260.4118537214948 162.24560376762005 0 0 0 0 +496 1 4.3893 1 271.9035289049609 170.51182046707967 0 0 0 0 +2849 1 1.8797 1 224.60842142770392 142.71774365314081 0 0 0 0 +4688 1 1.466 1 245.5134229006083 145.32587534230112 0 0 0 0 +4772 1 1.4523 1 271.3986915933221 149.29735762465762 0 0 0 0 +6346 1 1.2574 1 230.98844264113464 153.58540347631813 0 0 0 0 +4784 1 1.4511 1 252.24715183044438 153.27264337287144 0 0 0 0 +5212 1 1.3874 1 230.0449030627487 154.42157269517188 0 0 0 0 +4884 1 1.4356 1 270.4889508999439 156.88129060313162 0 0 0 0 +4940 1 1.4271 1 264.5506549809544 146.71125326526277 0 0 0 0 +4961 1 1.4248 1 251.12600061882745 157.53198508144797 0 0 0 0 +5043 1 1.4141 1 262.6358809863005 165.08957917401926 0 0 0 0 +5083 1 1.4071 1 269.7746775845377 166.57372870143362 0 0 0 0 +5089 1 1.4054 1 261.094575447899 151.5943894906713 0 0 0 0 +2560 1 1.9852 1 226.98189139125466 166.44931997332975 0 0 0 0 +5178 1 1.3914 1 253.09771039140227 146.2215041695032 0 0 0 0 +1637 1 2.4623 1 228.96485716763482 155.93838573735636 0 0 0 0 +5235 1 1.3842 1 233.34809221205876 150.6511105610974 0 0 0 0 +7639 1 1.1412 1 250.9452960965774 167.57663475284272 0 0 0 0 +5357 1 1.3688 1 258.78801247271167 146.78686557826833 0 0 0 0 +5380 1 1.3665 1 260.8453777216156 163.54986560731297 0 0 0 0 +5500 1 1.3504 1 255.24105483499767 160.02795686379454 0 0 0 0 +5580 1 1.3402 1 251.81559950225227 151.97844988931297 0 0 0 0 +5624 1 1.3343 1 262.5003181899042 170.06125590717957 0 0 0 0 +5724 1 1.3237 1 275.36422387641244 160.91252053923108 0 0 0 0 +5946 1 1.3 1 258.37193363292005 160.26362538596211 0 0 0 0 +5948 1 1.2999 1 253.34294017568973 158.38552752202904 0 0 0 0 +5950 1 1.2997 1 267.6957606490824 157.20662135357404 0 0 0 0 +5955 1 1.2993 1 270.0709624200178 149.13851949302313 0 0 0 0 +5965 1 1.2984 1 259.5168946512878 163.2503423361081 0 0 0 0 +5972 1 1.2974 1 256.2879302132836 150.98452763819316 0 0 0 0 +6015 1 1.2927 1 272.58902981729506 145.5438824316694 0 0 0 0 +6019 1 1.2926 1 269.64603778987527 165.28714868879305 0 0 0 0 +6032 1 1.2914 1 270.01621937047867 163.12566737351983 0 0 0 0 +6088 1 1.2846 1 239.95254829507286 154.8972521788727 0 0 0 0 +6134 1 1.2803 1 265.41291271516417 153.6586869366005 0 0 0 0 +6152 1 1.2779 1 261.85240589432965 152.6257137010376 0 0 0 0 +4458 1 1.5041 1 269.09558935706946 167.81032526768223 0 0 0 0 +6259 1 1.264 1 245.36218454120913 155.2194656120356 0 0 0 0 +6310 1 1.2603 1 265.8401411979429 146.47053371426023 0 0 0 0 +6312 1 1.2601 1 250.9819881782619 152.91386710991358 0 0 0 0 +9819 1 1.0088 1 256.3456225178371 148.91184906009846 0 0 0 0 +8107 1 1.1072 1 233.19329169575158 146.54688692093234 0 0 0 0 +6425 1 1.2497 1 274.40807141590153 160.0770714297599 0 0 0 0 +6452 1 1.2473 1 246.69969935278516 144.69025587281936 0 0 0 0 +6480 1 1.2453 1 240.0161127335601 153.6850460590094 0 0 0 0 +6565 1 1.2361 1 235.14944773230778 139.53019585704251 0 0 0 0 +339 1 5.3997 1 275.6848609118212 157.08641469451155 0 0 0 0 +6549 1 1.2378 1 225.7612364760622 167.57735124819823 0 0 0 0 +6625 1 1.2297 1 275.84928480952675 144.43906711803513 0 0 0 0 +6700 1 1.2223 1 231.08779971490722 140.14378439787293 0 0 0 0 +6769 1 1.2161 1 246.6741690097783 152.03117644366327 0 0 0 0 +3149 1 1.7788 1 227.18890282207613 151.5543149013127 0 0 0 0 +6911 1 1.2012 1 274.7130324453046 150.64052286976826 0 0 0 0 +6958 1 1.1977 1 275.3067446945689 148.43140769138154 0 0 0 0 +169 1 7.3639 1 246.9949522406091 163.58857163876436 0 0 0 0 +7034 1 1.1909 1 231.13883844153696 136.71268186254312 0 0 0 0 +8756 1 1.0666 1 276.92297281449856 144.04778497779293 0 0 0 0 +7099 1 1.1858 1 251.8843113046923 145.9115187643093 0 0 0 0 +7153 1 1.1819 1 226.4988453447004 132.70935763314708 0 0 0 0 +7155 1 1.1815 1 267.03035115239555 146.36209905272798 0 0 0 0 +7159 1 1.1813 1 251.19292481589738 170.60410176410934 0 0 0 0 +7209 1 1.1775 1 235.7093144907668 152.2043053257344 0 0 0 0 +7213 1 1.1771 1 269.9218917224288 155.8114968508989 0 0 0 0 +9644 1 1.0182 1 226.83307197292552 167.9115155218147 0 0 0 0 +7231 1 1.1756 1 272.6708116177836 147.43548620406042 0 0 0 0 +6334 1 1.2585 1 278.1313393350745 154.9647649807519 0 0 0 0 +5346 1 1.3703 1 251.29759537236427 166.42854241880244 0 0 0 0 +7373 1 1.1638 1 270.76928868526744 165.77446848149793 0 0 0 0 +7407 1 1.1606 1 263.03643473238253 161.43136576317676 0 0 0 0 +7481 1 1.1543 1 246.00416115567054 159.49690453025116 0 0 0 0 +7486 1 1.1538 1 261.96462746131607 161.08500588886605 0 0 0 0 +8688 1 1.0706 1 228.6295958032003 168.67050756535247 0 0 0 0 +7680 1 1.1378 1 275.8664472620031 150.6177499361774 0 0 0 0 +7743 1 1.1332 1 246.54690794868014 146.01919234262135 0 0 0 0 +7783 1 1.1302 1 235.6246144872117 144.28023332731914 0 0 0 0 +9820 1 1.0088 1 245.6279891748976 151.89765679936053 0 0 0 0 +7820 1 1.1274 1 271.1808912281427 163.2299080685521 0 0 0 0 +7860 1 1.1239 1 252.32472435702294 157.8234864746392 0 0 0 0 +7874 1 1.1231 1 245.52224697190675 144.1408700781564 0 0 0 0 +7898 1 1.1216 1 268.3403641030475 146.1385510974207 0 0 0 0 +8006 1 1.1142 1 235.7513749747438 153.28040858978798 0 0 0 0 +8024 1 1.1132 1 256.3759189983738 159.7232350159664 0 0 0 0 +5176 1 1.3918 1 277.5843336644196 148.28961481274757 0 0 0 0 +8054 1 1.1112 1 253.9612567775967 167.15784900245382 0 0 0 0 +8082 1 1.1086 1 264.28929521185546 153.44877368101788 0 0 0 0 +8117 1 1.1066 1 265.78667950748945 149.79288089122645 0 0 0 0 +8121 1 1.1063 1 250.12425568826995 153.62747453413135 0 0 0 0 +8126 1 1.1059 1 261.05119111482213 160.5060010668343 0 0 0 0 +7665 1 1.139 1 277.9916643794644 169.9197475166256 0 0 0 0 +2283 1 2.1016 1 244.08018166906442 168.7167024235433 0 0 0 0 +8221 1 1.1002 1 276.4329881882269 161.4553801175411 0 0 0 0 +8230 1 1.0997 1 238.84821296403007 155.8171379703342 0 0 0 0 +9459 1 1.0278 1 226.75165540904925 144.11875185166363 0 0 0 0 +9844 1 1.008 1 250.88853920032668 145.57039155002988 0 0 0 0 +8330 1 1.0923 1 250.62995421359759 161.43014894107475 0 0 0 0 +8472 1 1.083 1 257.4360855241217 159.63915172202394 0 0 0 0 +8555 1 1.0777 1 258.42224979455034 161.44576626813637 0 0 0 0 +8607 1 1.0746 1 252.49994314623862 156.8018341229173 0 0 0 0 +8615 1 1.0739 1 232.93044403997843 155.66445849302917 0 0 0 0 +8629 1 1.0731 1 252.11846654578264 146.9891525550859 0 0 0 0 +8633 1 1.0728 1 274.74678513987897 144.71238800057128 0 0 0 0 +418 1 4.8232 1 230.29507999261446 150.66528413691486 0 0 0 0 +8799 1 1.0635 1 267.8464657759817 147.0663122183317 0 0 0 0 +8801 1 1.0632 1 273.7018830796222 144.92783525470432 0 0 0 0 +8813 1 1.0625 1 243.11018712089603 167.44952488668912 0 0 0 0 +8819 1 1.062 1 236.81440981680893 153.03075081426275 0 0 0 0 +9347 1 1.0338 1 229.39409068082148 169.44117916952004 0 0 0 0 +8836 1 1.0611 1 234.7722178286109 155.26688485961665 0 0 0 0 +1840 1 2.3346 1 247.94618880743784 169.86486948370248 0 0 0 0 +8867 1 1.059 1 254.98562665273423 166.93044907303604 0 0 0 0 +8875 1 1.0587 1 251.22793112762753 150.9758308187826 0 0 0 0 +8879 1 1.0587 1 256.14540198829263 149.86607679222652 0 0 0 0 +9812 1 1.0095 1 252.6570563596565 168.8315192480648 0 0 0 0 +8944 1 1.0554 1 259.1820875631784 162.15125569516775 0 0 0 0 +9750 1 1.0129 1 266.20961476086893 154.39967914591037 0 0 0 0 +9942 1 1.0032 1 243.27609701348158 152.0931833518295 0 0 0 0 +9020 1 1.0517 1 243.62800155429085 166.0607979812628 0 0 0 0 +9528 1 1.0244 1 241.3352615682293 157.5411051972941 0 0 0 0 +9063 1 1.0494 1 241.909779506193 156.69596383751653 0 0 0 0 +9101 1 1.047 1 261.6947110823357 153.81090993750797 0 0 0 0 +9134 1 1.0453 1 266.06422661479996 162.62167177662127 0 0 0 0 +9137 1 1.0453 1 243.63076079241864 160.8063566100247 0 0 0 0 +9154 1 1.0445 1 245.03800296681212 159.95791208507455 0 0 0 0 +9198 1 1.0419 1 264.9067567567718 152.6347400626806 0 0 0 0 +9220 1 1.0409 1 262.9778651209236 147.78944726065373 0 0 0 0 +9248 1 1.0395 1 244.89522399066124 154.23498233025742 0 0 0 0 +9253 1 1.0393 1 234.37957515278478 150.04512636600222 0 0 0 0 +9327 1 1.0348 1 272.0705059969884 148.31753900407844 0 0 0 0 +6464 1 1.2464 1 244.16243582894285 167.04641854036308 0 0 0 0 +9362 1 1.0328 1 253.25464289874765 152.71829190880686 0 0 0 0 +9367 1 1.0326 1 263.34113251125984 146.6335520352335 0 0 0 0 +9378 1 1.0321 1 249.91674218597925 145.41810110041914 0 0 0 0 +9427 1 1.0293 1 250.65760051182517 165.4862978370334 0 0 0 0 +9441 1 1.0287 1 234.14912798210858 146.97711613239878 0 0 0 0 +2054 1 2.208 1 231.32598391163214 155.62184674141957 0 0 0 0 +2761 1 1.9078 1 252.51865793304898 167.42979442051723 0 0 0 0 +9512 1 1.0253 1 261.72507678544014 164.3110246549909 0 0 0 0 +4422 1 1.511 1 231.17097228570339 144.6229623211329 0 0 0 0 +3212 1 1.7627 1 225.66980806179834 139.4632522174753 0 0 0 0 +4805 1 1.4481 1 226.22808137255177 136.07758340750334 0 0 0 0 +262 1 6.1158 1 225.8221925972168 158.74311759365736 0 0 0 0 +8515 1 1.0801 1 242.5655557606003 168.34604823869606 0 0 0 0 +4743 1 1.4574 1 229.51041294860013 147.6363920826953 0 0 0 0 +5386 1 1.3657 1 245.3206775137015 167.55984233294276 0 0 0 0 +3737 1 1.6417 1 275.6583713729566 153.60868818853976 0 0 0 0 +4431 1 1.5093 1 276.4165329322684 149.10958881393395 0 0 0 0 +9508 1 1.0255 1 248.93065244695708 167.27315901882184 0 0 0 0 +7705 1 1.1359 1 246.20635123790856 168.36534600300715 0 0 0 0 +3603 1 1.6704 1 247.49512817106503 167.98277148819176 0 0 0 0 +8137 1 1.1053 1 276.37836275491765 152.4793158484312 0 0 0 0 +9467 1 1.0275 1 276.53518383703044 151.4639379300273 0 0 0 0 +7849 1 1.1254 1 249.98095606578795 168.11666975285124 0 0 0 0 +9976 1 1.0015 1 226.99362504584096 137.0579364090312 0 0 0 0 +8557 1 1.0776 1 270.0918807476666 168.53954828693733 0 0 0 0 +3123 1 1.7864 1 275.28720335094914 170.7276511942446 0 0 0 0 +6585 1 1.2336 1 248.84997942408583 168.3584007339866 0 0 0 0 +8885 1 1.0581 1 230.37513583978884 156.92959818663417 0 0 0 0 +2151 1 2.1561 1 242.34507911891114 169.90489216824344 0 0 0 0 +2988 1 1.8362 1 249.72868638353305 170.84585147860292 0 0 0 0 +6665 1 1.2254 1 224.5446220989575 151.5197340972069 0 0 0 0 +11 1 34.1458 1 272.1372633190027 189.63747609346635 0 0 0 0 +44 1 14.7464 1 235.33551830119615 183.13913568988178 0 0 0 0 +9010 1 1.0522 1 274.0553628329889 172.1529645345317 0 0 0 0 +280 1 5.9044 1 271.6583312023331 211.7598736068751 0 0 0 0 +360 1 5.2593 1 244.55094475964268 177.60039782179342 0 0 0 0 +416 1 4.8521 1 239.90602249716093 174.49984004293577 0 0 0 0 +425 1 4.7819 1 246.18257874528555 186.39165553306646 0 0 0 0 +449 1 4.6587 1 244.216192525014 172.72422804299978 0 0 0 0 +481 1 4.5088 1 275.53878876572406 208.52954468013547 0 0 0 0 +490 1 4.426 1 273.56758606702425 219.78701241835356 0 0 0 0 +9635 1 1.0188 1 257.8313262686624 171.34087715283616 0 0 0 0 +530 1 4.2684 1 252.7385966284997 187.98985321729256 0 0 0 0 +704 1 3.7759 1 246.66693005953442 191.40261912310046 0 0 0 0 +737 1 3.7057 1 226.93917419681506 189.609706114155 0 0 0 0 +842 1 3.473 1 239.50974557471554 191.06634036105248 0 0 0 0 +926 1 3.3 1 247.4098333113499 182.60556351296574 0 0 0 0 +946 1 3.2532 1 233.08496967106097 172.75930382132154 0 0 0 0 +983 1 3.2064 1 244.2349080632158 182.965408682462 0 0 0 0 +1032 1 3.1223 1 248.15451200390208 179.53374774734195 0 0 0 0 +9361 1 1.0328 1 272.8526685874556 214.94065981208297 0 0 0 0 +2930 1 1.8545 1 259.10416489147224 171.93754760036109 0 0 0 0 +1123 1 2.9858 1 255.0638112368752 182.58877089750413 0 0 0 0 +9474 1 1.0271 1 263.70012954886755 174.26243058069446 0 0 0 0 +1170 1 2.9326 1 250.65654518264472 192.34417827803898 0 0 0 0 +1247 1 2.8535 1 273.9725346390166 223.36746395984812 0 0 0 0 +1303 1 2.7917 1 254.2870516286023 197.72365027195443 0 0 0 0 +1313 1 2.7762 1 267.41652117961627 171.89296788986726 0 0 0 0 +1353 1 2.7347 1 250.3302902603302 195.3687817872649 0 0 0 0 +1377 1 2.7075 1 244.03770427665117 189.3356218881817 0 0 0 0 +1574 1 2.5132 1 254.18239557018669 193.615891888381 0 0 0 0 +4406 1 1.514 1 255.82628583948033 177.4874712331612 0 0 0 0 +1707 1 2.4166 1 265.43612551286793 208.06285391814748 0 0 0 0 +1722 1 2.4101 1 247.71972357094427 173.3464138593672 0 0 0 0 +8081 1 1.1086 1 255.1520229688119 180.6004719811293 0 0 0 0 +1806 1 2.3525 1 262.33032054281387 204.75860916064534 0 0 0 0 +1807 1 2.3521 1 249.53512821171324 187.3431197452796 0 0 0 0 +1825 1 2.3428 1 243.7197734752133 191.80041444201754 0 0 0 0 +913 1 3.332 1 254.04314336803452 172.38823507145779 0 0 0 0 +1876 1 2.3163 1 232.31503621222632 175.32803368880604 0 0 0 0 +2003 1 2.2396 1 264.8143954554906 173.08772416017644 0 0 0 0 +2022 1 2.2249 1 277.4530168188837 223.6054699189262 0 0 0 0 +2031 1 2.2217 1 248.5306219876577 193.68935776133173 0 0 0 0 +2056 1 2.2076 1 248.74844226360938 189.38409980090182 0 0 0 0 +9940 1 1.0033 1 232.11873106017953 190.31166865079612 0 0 0 0 +1201 1 2.9038 1 256.7317746706834 179.4549895825135 0 0 0 0 +2847 1 1.8801 1 252.2330241267413 174.27032385121245 0 0 0 0 +2240 1 2.1198 1 268.8439985617397 207.45304233278978 0 0 0 0 +8859 1 1.0595 1 250.8810954782768 171.67912500858293 0 0 0 0 +4388 1 1.5167 1 231.08917926396654 173.91906175320406 0 0 0 0 +1703 1 2.4209 1 274.4775458141945 215.28849880037296 0 0 0 0 +4685 1 1.4667 1 275.30111755223976 172.2304908227224 0 0 0 0 +2427 1 2.0373 1 259.7951382021213 202.55533922945884 0 0 0 0 +2464 1 2.024 1 237.24114504048305 172.3861476829646 0 0 0 0 +2469 1 2.0219 1 248.71805495647305 176.5876781409095 0 0 0 0 +1435 1 2.6407 1 261.32163670044037 171.6654995656524 0 0 0 0 +2550 1 1.9893 1 234.38580942397044 174.93334380303685 0 0 0 0 +2553 1 1.9883 1 267.4132967670999 208.91721596244855 0 0 0 0 +2565 1 1.9838 1 242.07004514322438 190.47313197573195 0 0 0 0 +9169 1 1.0435 1 276.45353588174646 172.6626262889785 0 0 0 0 +2638 1 1.9545 1 271.60887823462116 217.2345168215264 0 0 0 0 +5805 1 1.314 1 230.61233994262813 175.22961240529565 0 0 0 0 +2915 1 1.859 1 263.52152771041006 171.53004927344787 0 0 0 0 +6524 1 1.2407 1 259.8988905976048 176.9733637070605 0 0 0 0 +2958 1 1.8453 1 272.56086302552967 207.58007258540167 0 0 0 0 +2977 1 1.8401 1 235.79437736783726 191.23254033012026 0 0 0 0 +712 1 3.7607 1 260.0134821446033 174.52206041114158 0 0 0 0 +3015 1 1.8223 1 256.55382078328796 198.60631811726046 0 0 0 0 +3024 1 1.8195 1 241.2239219990694 171.48377532821294 0 0 0 0 +3066 1 1.8084 1 258.52388114536865 177.97395412281577 0 0 0 0 +9021 1 1.0517 1 253.55465608693495 181.29955795811145 0 0 0 0 +3170 1 1.7741 1 252.52619373400182 194.95411755115447 0 0 0 0 +3276 1 1.7458 1 236.70552526589915 174.0946148237288 0 0 0 0 +549 1 4.2039 1 225.5776911549315 182.55002016323954 0 0 0 0 +3288 1 1.7437 1 267.91892476621393 211.96842370936727 0 0 0 0 +3301 1 1.7394 1 228.118469909189 178.30209137657727 0 0 0 0 +1725 1 2.4094 1 226.34842429779277 179.33830066606475 0 0 0 0 +7914 1 1.1198 1 275.81261044272253 211.3596275011928 0 0 0 0 +8606 1 1.0747 1 274.56499900204204 213.56641804846186 0 0 0 0 +1981 1 2.2541 1 253.78421870277597 179.70949053972058 0 0 0 0 +3736 1 1.6417 1 275.8332893895092 222.30123846154515 0 0 0 0 +3748 1 1.6403 1 241.14838248285918 177.40932345762894 0 0 0 0 +3749 1 1.6397 1 230.41244163929164 176.6305870104713 0 0 0 0 +3750 1 1.6395 1 254.34392389228398 190.34979433275618 0 0 0 0 +3785 1 1.6331 1 241.57197738029112 192.46587286552864 0 0 0 0 +3933 1 1.6014 1 271.0066023076386 215.41611617567963 0 0 0 0 +8049 1 1.1113 1 250.86377059046927 173.72892217930132 0 0 0 0 +4058 1 1.5734 1 264.083381298518 205.56125093796615 0 0 0 0 +9961 1 1.0025 1 237.3495054483022 190.6561994333024 0 0 0 0 +4159 1 1.5565 1 246.4740108277075 174.8359616278251 0 0 0 0 +3281 1 1.7451 1 265.26447798399244 171.22874055472886 0 0 0 0 +4232 1 1.5455 1 268.2284240614874 210.4131068186717 0 0 0 0 +4277 1 1.5368 1 240.9693157393295 189.03004954492604 0 0 0 0 +4307 1 1.5313 1 256.70636912850296 200.20361045390524 0 0 0 0 +4340 1 1.5241 1 266.295436633537 206.39005506864297 0 0 0 0 +4374 1 1.5191 1 273.26962696107097 216.83380761321837 0 0 0 0 +4447 1 1.5067 1 254.01965152275534 195.6074491848557 0 0 0 0 +8271 1 1.0968 1 247.9595856401145 175.06795604107086 0 0 0 0 +4476 1 1.5019 1 262.54590478462114 174.75547361960096 0 0 0 0 +4572 1 1.4856 1 228.91227329119013 188.01147989220624 0 0 0 0 +4605 1 1.4797 1 235.28553742914573 173.5133095023828 0 0 0 0 +3964 1 1.5934 1 275.8153649236674 213.81994996659174 0 0 0 0 +727 1 3.7315 1 256.36563850197484 174.97294659632647 0 0 0 0 +4699 1 1.4651 1 251.7449602705805 196.8976794423912 0 0 0 0 +3713 1 1.6447 1 227.03608337444157 186.6955971264018 0 0 0 0 +2855 1 1.8777 1 253.19277787895558 177.7601012205366 0 0 0 0 +4865 1 1.4389 1 245.9662158223592 194.08540417782282 0 0 0 0 +1644 1 2.4563 1 254.42074817645593 185.1632632469242 0 0 0 0 +5298 1 1.3762 1 230.69159938479157 189.6026246652777 0 0 0 0 +3834 1 1.6201 1 245.54626315020894 180.91756728012962 0 0 0 0 +5385 1 1.3662 1 252.76615098728985 192.33176095067094 0 0 0 0 +4073 1 1.5707 1 227.35084927398717 184.7969658960339 0 0 0 0 +5400 1 1.3634 1 269.53745647250423 172.1453662566918 0 0 0 0 +5433 1 1.3586 1 244.89268116668862 193.22493499439994 0 0 0 0 +5559 1 1.3435 1 274.6315381343295 217.14128178394668 0 0 0 0 +1151 1 2.9533 1 278.06092744401417 211.1365271491781 0 0 0 0 +5578 1 1.3405 1 270.1652666560157 208.50441601601673 0 0 0 0 +5606 1 1.3363 1 234.21794707041246 191.0886937179973 0 0 0 0 +5642 1 1.3328 1 254.54942596744408 191.77906413070312 0 0 0 0 +5652 1 1.3321 1 270.6426652759826 207.2829626816364 0 0 0 0 +5707 1 1.3249 1 239.6930191005764 171.22172143194175 0 0 0 0 +5712 1 1.3246 1 256.1748985222187 197.15185322291558 0 0 0 0 +5757 1 1.3193 1 251.21659551532915 190.31142619179838 0 0 0 0 +6595 1 1.232 1 251.12349015092119 175.31168615233398 0 0 0 0 +5844 1 1.3102 1 243.31412105909632 187.46024359555355 0 0 0 0 +6687 1 1.2233 1 277.47051598268746 206.47156902060766 0 0 0 0 +5895 1 1.3052 1 229.46578922573826 177.70283563628607 0 0 0 0 +5937 1 1.3013 1 231.1105785832696 190.83961894054482 0 0 0 0 +5945 1 1.3001 1 269.2258708388614 214.35938250965694 0 0 0 0 +9453 1 1.028 1 271.1924729170266 218.59370108101567 0 0 0 0 +6038 1 1.2908 1 255.29877671638056 195.0883048765925 0 0 0 0 +6116 1 1.282 1 227.67699996394103 180.87171479765948 0 0 0 0 +6192 1 1.2725 1 247.15133375523146 194.69940464618642 0 0 0 0 +6983 1 1.1958 1 254.94642473718292 178.48749526104666 0 0 0 0 +6252 1 1.2648 1 237.25333216945248 191.69992109516613 0 0 0 0 +7891 1 1.122 1 271.3284534848752 208.29200045543632 0 0 0 0 +6410 1 1.2507 1 258.0082117809332 200.1057812986524 0 0 0 0 +6458 1 1.2469 1 228.12771229417524 179.7393941615186 0 0 0 0 +440 1 4.6811 1 251.35081780631015 183.07366957283213 0 0 0 0 +6485 1 1.2448 1 249.4048337435804 185.51725482252246 0 0 0 0 +6490 1 1.2443 1 243.13207560041732 184.9142620834413 0 0 0 0 +3153 1 1.7782 1 231.0558608218403 171.34615392003596 0 0 0 0 +6558 1 1.2367 1 248.68333050162042 184.50438212015519 0 0 0 0 +8947 1 1.0554 1 254.58872779712217 177.44468525816978 0 0 0 0 +6589 1 1.2332 1 252.41309008299643 190.71499675232414 0 0 0 0 +6629 1 1.2291 1 272.3185603459577 215.86720293162765 0 0 0 0 +7278 1 1.1727 1 248.4757699473318 171.6823756778418 0 0 0 0 +6674 1 1.2247 1 225.87202185603516 187.39989504223973 0 0 0 0 +6858 1 1.2068 1 266.85978965722717 210.63876112135299 0 0 0 0 +6871 1 1.2046 1 261.127164730943 203.46217187329609 0 0 0 0 +6887 1 1.2033 1 244.08573096323983 180.78066080302867 0 0 0 0 +6889 1 1.2032 1 252.3296941774159 193.51588068267182 0 0 0 0 +6941 1 1.1989 1 235.9075054315823 175.25055396327426 0 0 0 0 +6960 1 1.1977 1 232.96024422897216 191.00713752171757 0 0 0 0 +7061 1 1.1891 1 269.1698378695046 170.99632991985854 0 0 0 0 +7064 1 1.1887 1 241.8988422765455 187.72068759890922 0 0 0 0 +7088 1 1.1872 1 247.2699041476477 175.94254533088008 0 0 0 0 +3948 1 1.597 1 247.04520489101054 171.51992615238916 0 0 0 0 +7144 1 1.1828 1 252.90880688058817 196.3435691076181 0 0 0 0 +7246 1 1.174 1 258.87991228211257 201.26273163906842 0 0 0 0 +7260 1 1.1735 1 266.0921565691742 209.72867794093344 0 0 0 0 +7270 1 1.1731 1 237.07667765623387 175.44271382185522 0 0 0 0 +2142 1 2.1585 1 277.15008395908484 171.30744246448378 0 0 0 0 +7310 1 1.1696 1 242.7314710160681 193.14675619173093 0 0 0 0 +7414 1 1.1601 1 250.41825285928178 189.37210779451493 0 0 0 0 +7453 1 1.1567 1 248.4015673827982 195.337787969389 0 0 0 0 +7463 1 1.1561 1 268.51864455232334 213.30389995464589 0 0 0 0 +7544 1 1.1488 1 242.6697434104383 180.15209936716076 0 0 0 0 +7577 1 1.1458 1 250.0037511532995 190.4438749181065 0 0 0 0 +1016 1 3.1536 1 251.18881724803654 179.19661142891496 0 0 0 0 +4525 1 1.4939 1 250.74767478135672 185.98303192526808 0 0 0 0 +7664 1 1.139 1 253.41525759889495 191.3187629496107 0 0 0 0 +7781 1 1.1303 1 275.2229051825431 212.54722302917688 0 0 0 0 +7756 1 1.1318 1 257.760348659142 201.21732978343599 0 0 0 0 +6351 1 1.257 1 235.26345937584045 172.2102342169997 0 0 0 0 +5071 1 1.409 1 269.04738819954446 209.21438587832824 0 0 0 0 +8051 1 1.1113 1 249.14870686701968 181.3184117382277 0 0 0 0 +8057 1 1.1108 1 241.67852540687616 178.62216275800594 0 0 0 0 +8072 1 1.1095 1 243.0162067251861 181.20783776072645 0 0 0 0 +9629 1 1.0193 1 275.86605379317604 223.59312550638748 0 0 0 0 +8119 1 1.1065 1 267.0521693063746 207.45964744580098 0 0 0 0 +9466 1 1.0275 1 257.86188273799127 176.7386752159446 0 0 0 0 +8168 1 1.1031 1 270.28753383932644 216.52022322598353 0 0 0 0 +8217 1 1.1004 1 258.8487034977139 176.58981591811195 0 0 0 0 +8228 1 1.0998 1 249.0827929587936 191.08443183965719 0 0 0 0 +8243 1 1.0985 1 228.36957240047323 186.8722794225159 0 0 0 0 +5222 1 1.3864 1 276.9542088878293 212.93887087349324 0 0 0 0 +8313 1 1.0936 1 229.5785176074591 189.09189138813215 0 0 0 0 +8479 1 1.0823 1 238.57201749747676 171.61675622846082 0 0 0 0 +9524 1 1.0246 1 228.01457493695852 185.88495068998935 0 0 0 0 +4680 1 1.4676 1 277.24815327729186 221.8643455872693 0 0 0 0 +8601 1 1.0748 1 263.9190608175347 207.04859338503022 0 0 0 0 +8611 1 1.0745 1 267.5578381398283 206.56421585992797 0 0 0 0 +8696 1 1.0701 1 242.40339030733045 186.69210322416745 0 0 0 0 +8741 1 1.0674 1 243.26810732483688 186.06375243988458 0 0 0 0 +9074 1 1.0485 1 256.6338988891996 181.38937819349397 0 0 0 0 +9086 1 1.0479 1 255.78239646484423 196.09192398705943 0 0 0 0 +9126 1 1.0459 1 265.0292756507371 206.41127812864684 0 0 0 0 +9130 1 1.0457 1 269.7015787464512 215.42031153645183 0 0 0 0 +9136 1 1.0453 1 242.24139459782393 188.79171438170607 0 0 0 0 +7307 1 1.1699 1 257.1317418114861 177.49335599819838 0 0 0 0 +9298 1 1.0367 1 247.63983075387736 177.57433604452268 0 0 0 0 +9330 1 1.0346 1 243.75500010162 193.4849349515099 0 0 0 0 +8267 1 1.0969 1 249.50411851208193 177.91966994857447 0 0 0 0 +2813 1 1.8908 1 250.63656826416403 176.76958119104614 0 0 0 0 +2936 1 1.8512 1 229.48763702742352 190.54739459834857 0 0 0 0 +3040 1 1.8144 1 252.36137082629574 176.1344058882179 0 0 0 0 +4434 1 1.5085 1 253.79945014665057 174.75660598162798 0 0 0 0 +3763 1 1.6374 1 254.04926507072338 176.2587306261385 0 0 0 0 +2163 1 2.1503 1 225.4522703928939 185.69292549128718 0 0 0 0 +2651 1 1.947 1 249.77667189016458 172.680310777677 0 0 0 0 +2027 1 2.2237 1 249.55710406609262 174.7086567043185 0 0 0 0 +5858 1 1.3092 1 276.1318506618029 220.93652368502276 0 0 0 0 +90 1 9.8742 1 225.5396451389833 173.16334731082534 0 0 0 0 +2991 1 1.8357 1 262.8179686518742 173.1920325413463 0 0 0 0 +8827 1 1.0617 1 251.90103391855385 171.46486217582105 0 0 0 0 +2601 1 1.967 1 256.66861077927865 172.19923615814986 0 0 0 0 +8270 1 1.0968 1 258.0358149028097 172.96748434541456 0 0 0 0 +4300 1 1.5325 1 251.64905271290928 172.70037811170414 0 0 0 0 +2866 1 1.8729 1 224.64356044791845 188.21926089283016 0 0 0 0 +9889 1 1.0056 1 224.55367308202912 178.6209412234612 0 0 0 0 +3 1 93.5499 1 228.23840853237093 238.13996686330492 0 0 0 0 +8229 1 1.0998 1 274.75175341528774 227.41212994714633 0 0 0 0 +4364 1 1.5207 1 273.89999304043926 250.79738752357784 0 0 0 0 +409 1 4.8983 1 266.76398864708335 268.6338039666806 0 0 0 0 +290 1 5.8218 1 271.65731497338334 262.0433970152879 0 0 0 0 +602 1 4.0103 1 262.0514778487293 274.4652265353937 0 0 0 0 +6029 1 1.2918 1 277.1718889954511 277.5892416095643 0 0 0 0 +677 1 3.8287 1 274.1014022404184 254.21840376182578 0 0 0 0 +2952 1 1.8473 1 273.2113466125558 265.53252083662477 0 0 0 0 +838 1 3.4858 1 267.0311973465609 276.13995057974466 0 0 0 0 +851 1 3.4562 1 271.4114633647399 275.7676744033959 0 0 0 0 +1060 1 3.0759 1 268.9832993173477 265.4159361081234 0 0 0 0 +4424 1 1.5106 1 276.7115824350925 244.25802713451176 0 0 0 0 +1423 1 2.6579 1 269.9035852373065 270.5918192052435 0 0 0 0 +8581 1 1.0763 1 274.6141097084528 265.17842138636576 0 0 0 0 +1858 1 2.3276 1 268.7793186309874 273.86680426084723 0 0 0 0 +1869 1 2.3203 1 275.8832556680869 232.8777806060335 0 0 0 0 +1890 1 2.3056 1 266.5283649427247 273.35744289851027 0 0 0 0 +9640 1 1.0184 1 270.70310717453293 258.8033459199837 0 0 0 0 +2057 1 2.207 1 264.2809382679566 276.5452928530316 0 0 0 0 +2299 1 2.0932 1 271.53756618010584 272.2329341993186 0 0 0 0 +2452 1 2.027 1 275.1233382384479 229.81392403971142 0 0 0 0 +2496 1 2.0117 1 264.4791777717501 272.86984328363184 0 0 0 0 +2769 1 1.9062 1 264.15577639482274 270.74767894230837 0 0 0 0 +2835 1 1.8836 1 259.1304644274516 274.4454758687744 0 0 0 0 +2857 1 1.8771 1 258.362191291268 276.4853926660462 0 0 0 0 +3194 1 1.7673 1 276.32666839226164 260.6747908137784 0 0 0 0 +1261 1 2.842 1 275.5442005302879 276.38776658722844 0 0 0 0 +3329 1 1.733 1 275.6734331253788 234.8813274940468 0 0 0 0 +9739 1 1.0131 1 275.49903675692815 238.84529287928282 0 0 0 0 +3404 1 1.7139 1 275.3513869790706 245.09700905345835 0 0 0 0 +3460 1 1.7008 1 274.2871194621137 256.8990951176851 0 0 0 0 +3482 1 1.6974 1 272.26087068670597 267.00547552497034 0 0 0 0 +3338 1 1.7315 1 275.34600435878684 258.1128380452513 0 0 0 0 +7035 1 1.1906 1 272.67224100292947 277.6914090146758 0 0 0 0 +6102 1 1.2831 1 271.7697675763002 258.50384463633645 0 0 0 0 +3837 1 1.6196 1 271.49588472802026 269.2452055024541 0 0 0 0 +6630 1 1.2289 1 273.7956308929841 225.37614245328868 0 0 0 0 +3960 1 1.5941 1 275.96768895935986 237.67092823361986 0 0 0 0 +3984 1 1.5895 1 265.6596068024504 271.6163595376829 0 0 0 0 +4068 1 1.5716 1 275.4865050585829 243.3788567410701 0 0 0 0 +4093 1 1.568 1 276.5448384547812 239.7851070464768 0 0 0 0 +4416 1 1.5126 1 263.0052888342199 271.926027986913 0 0 0 0 +813 1 3.5563 1 277.73168792618077 241.97808558414997 0 0 0 0 +4430 1 1.5094 1 271.7809348150886 257.1290659621387 0 0 0 0 +9780 1 1.0111 1 275.3687098480252 239.81410135283332 0 0 0 0 +4486 1 1.5002 1 272.5942106723977 273.63541181145996 0 0 0 0 +6461 1 1.2467 1 274.9884096907887 261.1658576232949 0 0 0 0 +81 1 10.2427 1 277.28208594386916 270.15747033275045 0 0 0 0 +9059 1 1.0498 1 275.7760817974478 227.60558925513132 0 0 0 0 +7288 1 1.172 1 278.09517328649235 233.92337592664202 0 0 0 0 +4847 1 1.4422 1 276.80425605668455 235.94396159219863 0 0 0 0 +4948 1 1.4258 1 270.77538423577977 266.6921371000107 0 0 0 0 +5100 1 1.4043 1 259.8257570479026 275.88975909445276 0 0 0 0 +1062 1 3.0665 1 275.8571459485915 225.59721123650766 0 0 0 0 +5362 1 1.3684 1 266.853104999299 265.55714932063677 0 0 0 0 +5424 1 1.3605 1 270.7206213544725 268.0443984123225 0 0 0 0 +5466 1 1.3549 1 277.9189737547091 235.14740496806078 0 0 0 0 +7627 1 1.1426 1 275.90057386703114 259.36773661552394 0 0 0 0 +5590 1 1.3384 1 261.6151846907151 271.82725783472847 0 0 0 0 +5719 1 1.3243 1 270.550091718749 273.5812921434113 0 0 0 0 +5793 1 1.3151 1 276.9781926646325 234.25486354142132 0 0 0 0 +668 1 3.8472 1 277.8659752069528 230.4736519931502 0 0 0 0 +5952 1 1.2995 1 273.5698835850036 276.89581348543174 0 0 0 0 +5977 1 1.2967 1 267.06580295431 271.68403391476915 0 0 0 0 +659 1 3.8669 1 276.2603595314593 263.3565124581081 0 0 0 0 +5348 1 1.3701 1 277.63021007622444 276.0103994827318 0 0 0 0 +9766 1 1.0117 1 259.8936573081921 273.22698796594403 0 0 0 0 +6273 1 1.2627 1 275.5557092775841 236.34712872942137 0 0 0 0 +6316 1 1.2595 1 269.58288376315744 267.4740919993674 0 0 0 0 +6477 1 1.2456 1 273.59846261829773 274.5364454137744 0 0 0 0 +9899 1 1.0051 1 276.83736546339685 253.09084006738382 0 0 0 0 +5666 1 1.3306 1 275.9738650323214 252.3539104123052 0 0 0 0 +6733 1 1.2194 1 275.63128124496296 240.8678792087959 0 0 0 0 +6761 1 1.217 1 272.1535200951581 255.80061425170732 0 0 0 0 +4205 1 1.5487 1 278.0281340522001 226.06195915045456 0 0 0 0 +7028 1 1.1915 1 257.77199862844975 275.1163599656106 0 0 0 0 +7117 1 1.1843 1 275.4009607958978 242.02448626337076 0 0 0 0 +3057 1 1.8104 1 274.5324741270511 259.6628322672628 0 0 0 0 +9948 1 1.0031 1 267.8920024375315 272.46291153177197 0 0 0 0 +7396 1 1.1618 1 269.9535585561453 272.50603033077147 0 0 0 0 +7466 1 1.1559 1 271.1507697442466 265.4765293080345 0 0 0 0 +7483 1 1.1541 1 273.69664758321227 275.6991039284247 0 0 0 0 +7495 1 1.1528 1 268.17655312475284 271.28660358090076 0 0 0 0 +337 1 5.4167 1 276.7124985935262 249.0733880451806 0 0 0 0 +8854 1 1.0599 1 269.73747457392795 268.74289184802234 0 0 0 0 +3725 1 1.6434 1 277.125891404945 254.34426548221708 0 0 0 0 +7605 1 1.1438 1 272.9634311512632 256.59523934224444 0 0 0 0 +7703 1 1.1362 1 263.8439735183917 269.28635415438083 0 0 0 0 +6240 1 1.2663 1 276.1323930270875 228.644166211561 0 0 0 0 +7735 1 1.1337 1 268.8872817851903 272.1600550212557 0 0 0 0 +6044 1 1.2899 1 274.8158489183069 251.80592227934306 0 0 0 0 +7757 1 1.1317 1 256.87156697128756 275.82882634351233 0 0 0 0 +7775 1 1.1306 1 274.83559648149856 246.41148827559573 0 0 0 0 +4654 1 1.4725 1 276.2182156889385 255.59530702514562 0 0 0 0 +2500 1 2.0104 1 277.30498433436907 227.62480892588536 0 0 0 0 +9268 1 1.0383 1 274.5091189853865 228.43140100123887 0 0 0 0 +7005 1 1.1939 1 277.5144970238761 252.24959034174702 0 0 0 0 +8279 1 1.0964 1 273.4469860510726 251.9384961621719 0 0 0 0 +8289 1 1.0956 1 275.6740615107083 256.7471153772446 0 0 0 0 +8495 1 1.0811 1 268.2921515471356 263.3601932800016 0 0 0 0 +8699 1 1.0698 1 262.6420939609825 270.6447963891841 0 0 0 0 +6811 1 1.2111 1 275.0989644481133 231.37139290208086 0 0 0 0 +7091 1 1.1868 1 274.0581633625284 226.55061068776618 0 0 0 0 +9214 1 1.0412 1 253.47102220957697 278.08592059340725 0 0 0 0 +9254 1 1.0392 1 271.7081061796872 270.6805365968777 0 0 0 0 +2898 1 1.8634 1 273.2954342047952 258.34480974415686 0 0 0 0 +4171 1 1.5551 1 277.1975462859264 245.6593608271963 0 0 0 0 +9366 1 1.0326 1 260.64267993059184 272.4718537643278 0 0 0 0 +8 1 37.6745 1 265.5669653206814 327.00989127301665 0 0 0 0 +15 1 28.8055 1 236.47078891126978 304.94081870233754 0 0 0 0 +3225 1 1.7587 1 254.23647681205986 280.6650786928768 0 0 0 0 +146 1 7.7435 1 267.2552027198138 299.2330960731372 0 0 0 0 +216 1 6.5709 1 260.4178684395275 301.0597611957422 0 0 0 0 +236 1 6.3097 1 228.04936973853083 328.24479256606423 0 0 0 0 +245 1 6.2611 1 262.3166130523337 285.6864432161416 0 0 0 0 +247 1 6.2474 1 242.05866532947388 321.32939487084366 0 0 0 0 +270 1 6.0055 1 252.60779288907435 284.1342161209125 0 0 0 0 +288 1 5.831 1 255.7323182323699 306.2289957218324 0 0 0 0 +9843 1 1.0081 1 276.994218082067 298.72427622170073 0 0 0 0 +5155 1 1.3953 1 257.55948726946804 281.0660340319252 0 0 0 0 +363 1 5.2443 1 267.52724580468566 283.26075702781947 0 0 0 0 +433 1 4.7274 1 269.26414260317915 287.87292218828924 0 0 0 0 +469 1 4.5672 1 232.69169493608786 288.84225805503047 0 0 0 0 +477 1 4.5184 1 245.697285838069 287.02509350499975 0 0 0 0 +478 1 4.5142 1 259.64915753492056 290.2354425074244 0 0 0 0 +506 1 4.3387 1 228.4560496886803 323.01190148995187 0 0 0 0 +521 1 4.2957 1 225.47877433690766 320.0053734144998 0 0 0 0 +557 1 4.1826 1 251.12388712011088 297.51596293091825 0 0 0 0 +620 1 3.954 1 247.8557750592167 282.74432551069225 0 0 0 0 +644 1 3.9085 1 253.25615143263744 288.9251993789315 0 0 0 0 +6819 1 1.2105 1 226.48474653599038 292.3344475132897 0 0 0 0 +5667 1 1.3306 1 276.0073027782894 301.2676970771072 0 0 0 0 +775 1 3.6388 1 232.59164125158898 329.970541889358 0 0 0 0 +795 1 3.6 1 247.66115340922184 293.297131767755 0 0 0 0 +810 1 3.5646 1 233.72490410480316 322.6518066752319 0 0 0 0 +3041 1 1.8141 1 258.47495597353753 297.37319431915114 0 0 0 0 +865 1 3.4353 1 235.59238704076608 328.21924335373546 0 0 0 0 +888 1 3.3781 1 246.62260334679638 317.2489273778589 0 0 0 0 +892 1 3.3733 1 237.84348235799976 288.5446442455326 0 0 0 0 +4610 1 1.4791 1 274.1648846022883 280.8665008554076 0 0 0 0 +2209 1 2.1327 1 275.3421184360491 290.1098200798615 0 0 0 0 +1144 1 2.9669 1 268.1748185411823 291.5603800476409 0 0 0 0 +1167 1 2.9366 1 238.0726313343382 323.37691455722563 0 0 0 0 +1200 1 2.9038 1 228.49389459865284 291.3313229250156 0 0 0 0 +1792 1 2.3607 1 273.9006388442406 278.9648766382816 0 0 0 0 +1281 1 2.8095 1 243.57982442762838 290.9160107275712 0 0 0 0 +1286 1 2.8048 1 253.94965871821577 292.1363195405446 0 0 0 0 +6694 1 1.2226 1 238.19987516532623 325.4014450157679 0 0 -1 0 +1318 1 2.7713 1 252.1973824636071 294.26263693552505 0 0 0 0 +1336 1 2.7531 1 252.03345169366753 302.63941013748797 0 0 0 0 +1340 1 2.7451 1 251.4282386972292 312.7868029380866 0 0 0 0 +1659 1 2.4477 1 277.29712033110434 291.15569028729766 0 0 0 0 +1360 1 2.7284 1 254.51080593190656 297.4134139884815 0 0 0 0 +1369 1 2.7168 1 258.0988994734662 287.03626488754605 0 0 0 0 +8936 1 1.0559 1 259.61965219034397 307.0263645642917 0 0 0 0 +1382 1 2.7014 1 256.09552557561443 290.456658738476 0 0 0 0 +1421 1 2.6597 1 239.8180883730821 285.02143708024295 0 0 0 0 +6680 1 1.2241 1 257.24430513826564 296.5248499146588 0 0 0 0 +1427 1 2.6532 1 248.46697086184165 289.215700748433 0 0 0 0 +1449 1 2.6209 1 265.3319005836276 291.96230056360616 0 0 0 0 +1487 1 2.5913 1 255.47030120124842 294.9800664995154 0 0 0 0 +1514 1 2.5619 1 264.45369455977766 289.5457118249221 0 0 0 0 +1563 1 2.5231 1 235.79141108939154 320.4994706124576 0 0 0 0 +1614 1 2.4831 1 254.13371942243364 301.1255301777184 0 0 0 0 +1627 1 2.47 1 236.38341238740813 325.44330918342837 0 0 0 0 +1652 1 2.4528 1 231.61045985557465 320.62441845331506 0 0 0 0 +1655 1 2.4509 1 262.8780389896086 291.4245871978942 0 0 0 0 +1658 1 2.4483 1 240.68489834964566 287.36992519233695 0 0 0 0 +3819 1 1.623 1 272.9695030282612 307.253862130678 0 0 0 0 +1673 1 2.4414 1 242.45501447924931 285.7848506919619 0 0 0 0 +1213 1 2.8949 1 261.3862357135605 306.18579634624837 0 0 0 0 +1705 1 2.4183 1 258.8518527296968 283.2346057967605 0 0 0 0 +7964 1 1.1167 1 239.93909743045575 327.94203283813556 0 0 0 0 +1797 1 2.3565 1 251.82959583344046 307.08476076214436 0 0 0 0 +7320 1 1.1687 1 275.2854176609306 280.01933357372104 0 0 0 0 +1907 1 2.2954 1 245.91304950752314 319.88470102486735 0 0 0 0 +1936 1 2.2794 1 249.04208231022238 315.8338150749728 0 0 0 0 +8798 1 1.0635 1 276.0753515581369 309.37295674130297 0 0 0 0 +2063 1 2.2035 1 272.52126728509967 288.69833413336215 0 0 0 0 +2069 1 2.198 1 236.8551109663449 285.153541366139 0 0 0 0 +8050 1 1.1113 1 239.23222820616456 330.95274612725467 0 0 0 0 +2184 1 2.1447 1 254.18482188521983 310.7410484454277 0 0 0 0 +2195 1 2.14 1 228.65492613465995 319.8477072717686 0 0 0 0 +2217 1 2.1285 1 255.8179670765821 286.48398138371124 0 0 0 0 +2294 1 2.096 1 264.3559990828758 294.07919677034124 0 0 0 0 +2335 1 2.0746 1 241.94404161766735 289.2070539853177 0 0 0 0 +2352 1 2.0675 1 231.42314769859988 324.10611784834776 0 0 0 0 +940 1 3.264 1 225.51485687483233 286.31900186719946 0 0 0 0 +2402 1 2.0472 1 240.00889718893245 324.8797463671785 0 0 0 0 +2840 1 1.8829 1 276.459011181535 293.06731303501164 0 0 0 0 +2539 1 1.996 1 272.41160097467616 284.3087571739465 0 0 0 0 +2551 1 1.9892 1 227.86330367722152 317.98980458065887 0 0 0 0 +3929 1 1.6022 1 276.3513760717585 279.13729588920086 0 0 0 0 +2589 1 1.9744 1 249.93119750704352 294.7496304549031 0 0 0 0 +2592 1 1.971 1 271.3829090989153 290.3782296828462 0 0 0 0 +2595 1 1.9703 1 233.7644684109621 285.80440972792996 0 0 0 0 +9734 1 1.0134 1 263.57912291137336 282.3115759898738 0 0 0 0 +2635 1 1.9552 1 251.83646068739287 304.9600880417921 0 0 0 0 +2646 1 1.9503 1 252.1415675053178 300.3378532760864 0 0 0 0 +2649 1 1.9479 1 237.95149976627425 326.93933327803524 0 0 0 0 +2669 1 1.9417 1 250.7744136253327 291.3851446266419 0 0 0 0 +9317 1 1.0352 1 246.75247723747685 331.4727432630865 0 0 -1 0 +2712 1 1.9259 1 244.0420327259701 284.3732372140583 0 0 0 0 +3402 1 1.7145 1 246.0429244095388 324.77992932711726 0 0 -1 0 +7638 1 1.1413 1 258.81065649744346 304.58389330262605 0 0 0 0 +2932 1 1.8521 1 256.24818581869823 300.90915257607753 0 0 0 0 +2939 1 1.8507 1 249.4340930700023 286.40655212939157 0 0 0 0 +1940 1 2.2765 1 273.8746686019712 308.9283953714297 0 0 0 0 +3611 1 1.6688 1 244.57208784664593 327.4300198235252 0 0 -1 0 +3034 1 1.8168 1 256.617665758618 302.6288916783234 0 0 0 0 +3047 1 1.8129 1 230.06681844891753 287.2282817106937 0 0 0 0 +3062 1 1.8088 1 233.480044981305 326.6938007743506 0 0 0 0 +3141 1 1.781 1 256.01304058502063 292.926239148688 0 0 0 0 +3184 1 1.7694 1 252.74791406265481 309.4423442703007 0 0 0 0 +6794 1 1.2129 1 231.28439899675013 286.3625503228086 0 0 0 0 +3256 1 1.7519 1 255.32490813903513 299.41940987411556 0 0 0 0 +3261 1 1.7494 1 250.85271284108964 287.5096805676081 0 0 0 0 +6740 1 1.219 1 272.9243193773427 305.8305234200491 0 0 0 0 +932 1 3.2899 1 271.61080242836107 293.7415295484769 0 0 0 0 +7579 1 1.1455 1 259.9437270882853 304.8204299184655 0 0 0 0 +3488 1 1.6961 1 251.14287358072374 308.9134278014568 0 0 0 0 +9568 1 1.0221 1 251.48338240741296 279.30532120601237 0 0 0 0 +9244 1 1.0397 1 264.0447930717681 302.2671715846235 0 0 0 0 +3565 1 1.6775 1 234.3727450801915 325.18110491402336 0 0 0 0 +824 1 3.5279 1 269.4318753737279 278.5693182415822 0 0 0 0 +3917 1 1.604 1 266.0861787364133 278.4670542483009 0 0 0 0 +2637 1 1.9546 1 263.46473775329036 307.36773888837655 0 0 0 0 +3715 1 1.6445 1 231.94413380175087 327.46133598366396 0 0 0 0 +3739 1 1.6415 1 231.4557088311755 325.9440427119861 0 0 0 0 +8324 1 1.0926 1 276.12674389459505 299.2726188241776 0 0 0 0 +3846 1 1.6181 1 255.94042701283547 288.32395219026216 0 0 0 0 +470 1 4.5587 1 270.06408932896306 306.49976937332866 0 0 0 0 +4376 1 1.5189 1 257.346366461352 292.070167524763 0 0 0 0 +3970 1 1.5918 1 238.196771895179 320.0325397826961 0 0 0 0 +3988 1 1.5891 1 240.19233669253637 289.24036697315154 0 0 0 0 +3995 1 1.5874 1 266.40635295499817 290.19688272737875 0 0 0 0 +6474 1 1.2457 1 267.1843353641912 306.5273016974157 0 0 0 0 +9671 1 1.017 1 267.78648840527137 304.75246384284407 0 0 0 0 +4183 1 1.5525 1 244.50705788069627 282.77198323296 0 0 0 0 +4199 1 1.5497 1 249.11179033495188 291.1907800754408 0 0 0 0 +4234 1 1.5447 1 225.60930590996276 317.1661263762383 0 0 0 0 +4244 1 1.5429 1 228.503279366782 289.20800778573846 0 0 0 0 +4273 1 1.5374 1 270.3727294896681 291.7759620033637 0 0 0 0 +4128 1 1.5626 1 264.6693966314004 281.4594165721534 0 0 0 0 +4348 1 1.5234 1 226.93259977511593 316.5970432465262 0 0 0 0 +4349 1 1.5233 1 257.6510047855744 309.22503741426834 0 0 0 0 +4363 1 1.5209 1 232.81591975390776 325.1820345566796 0 0 0 0 +4370 1 1.5198 1 233.82608369780223 320.1231203492532 0 0 0 0 +4384 1 1.5172 1 253.4731121510755 299.24645617484225 0 0 0 0 +4386 1 1.5169 1 274.28547224259324 288.67820302485626 0 0 0 0 +4813 1 1.4467 1 227.6926568241793 285.59315770010016 0 0 0 0 +4469 1 1.5025 1 225.80726725654628 315.64144724808875 0 0 0 0 +4471 1 1.5023 1 248.1365480559233 285.4040967665422 0 0 0 0 +721 1 3.7475 1 271.61797867884303 281.4678151895848 0 0 0 0 +4512 1 1.495 1 225.42539079983968 330.9911706463892 0 0 0 0 +9246 1 1.0396 1 267.4034962050569 303.5751625047397 0 0 0 0 +4541 1 1.4909 1 229.52611504855122 318.32422357314505 0 0 0 0 +4560 1 1.4876 1 242.78938118638558 287.68666874681276 0 0 0 0 +4607 1 1.4794 1 236.35068769277473 286.8322745040525 0 0 0 0 +5133 1 1.3984 1 260.64735673877396 308.15036188389695 0 0 0 0 +4653 1 1.4728 1 244.17630275555345 318.0495443346124 0 0 0 0 +3240 1 1.755 1 265.2713124182291 279.9239046092558 0 0 0 0 +4671 1 1.4688 1 235.95630068093828 323.5758184484835 0 0 0 0 +9813 1 1.0094 1 271.3009816227797 297.5813203245083 0 0 0 0 +4717 1 1.461 1 256.5439336701996 297.71108558491625 0 0 0 0 +4729 1 1.4594 1 230.64346054936917 291.0238693482506 0 0 0 0 +4751 1 1.4562 1 245.4475062448891 289.9393537634677 0 0 0 0 +4761 1 1.4544 1 271.35697786036604 285.63963242855476 0 0 0 0 +4798 1 1.4494 1 246.55123518293723 290.8718968603102 0 0 0 0 +4811 1 1.447 1 274.1849496440515 291.4141104420563 0 0 0 0 +8642 1 1.0726 1 265.8587726863667 293.7135709440786 0 0 0 0 +4814 1 1.4467 1 242.05599838427702 283.93077466281767 0 0 0 0 +4845 1 1.4423 1 252.46880229314087 311.01567174038126 0 0 0 0 +4851 1 1.4413 1 230.81197226849855 318.9225219986821 0 0 0 0 +4927 1 1.4288 1 259.27795603127976 305.85991929019343 0 0 0 0 +4929 1 1.4286 1 239.27423365834056 290.2890710439697 0 0 0 0 +4944 1 1.4262 1 246.86409266974465 321.4942350104149 0 0 0 0 +5817 1 1.3127 1 244.76162780553045 325.5247645764907 0 0 -1 0 +4958 1 1.425 1 226.2543875426019 324.82804384634795 0 0 0 0 +4995 1 1.4209 1 266.33161885885727 288.7457849173364 0 0 0 0 +5041 1 1.4147 1 249.4874445917697 312.4194924608929 0 0 0 0 +5059 1 1.4117 1 270.77104597843135 283.9221690245384 0 0 0 0 +1889 1 2.306 1 241.40414410374922 326.4807583574212 0 0 -1 0 +5088 1 1.4059 1 250.16976183255974 311.21551640082134 0 0 0 0 +5127 1 1.3987 1 273.3601112926579 287.15668684952783 0 0 0 0 +3581 1 1.6748 1 252.40329186578072 280.34485089156556 0 0 0 0 +5164 1 1.3932 1 262.49334871423923 289.5046039843641 0 0 0 0 +5269 1 1.3797 1 262.3784341643425 304.3950567051851 0 0 0 0 +5291 1 1.3769 1 272.72742416655683 285.9481721375205 0 0 0 0 +5338 1 1.371 1 255.0523170865672 302.74828332704027 0 0 0 0 +5359 1 1.3686 1 230.20174203282303 325.1912440612129 0 0 0 0 +5373 1 1.3675 1 250.78185149272173 289.7697196568254 0 0 0 0 +5431 1 1.3587 1 250.47483599238416 314.73231136704675 0 0 0 0 +9587 1 1.0214 1 246.32052232805435 328.99308143522234 0 0 -1 0 +5506 1 1.35 1 245.6258208846474 284.10845537611755 0 0 0 0 +5532 1 1.3472 1 243.11556458490668 283.10778605062313 0 0 0 0 +5539 1 1.3457 1 266.1495639187387 294.85321893559063 0 0 0 0 +1422 1 2.6588 1 250.30722763895494 280.6655984294845 0 0 0 0 +1471 1 2.6035 1 275.70562693093837 297.4840511921738 0 0 0 0 +5649 1 1.3324 1 247.7897830600294 319.1753784268492 0 0 0 0 +3096 1 1.7985 1 277.07239251740714 302.3670689964784 0 0 0 0 +5664 1 1.3309 1 231.22241198317948 322.44550388126675 0 0 0 0 +9847 1 1.0077 1 239.07303006080343 326.0315185530364 0 0 0 0 +5698 1 1.3259 1 272.93302449042216 290.8648325977552 0 0 0 0 +4637 1 1.4757 1 246.36464743179218 330.3007761744593 0 0 -1 0 +5800 1 1.3147 1 256.2218790009548 284.65186148822715 0 0 0 0 +5804 1 1.3142 1 262.1122723633614 297.5659975517704 0 0 0 0 +5812 1 1.3133 1 258.4630589506018 292.8582511352346 0 0 0 0 +5829 1 1.3116 1 253.6439942774869 295.6371600221227 0 0 0 0 +5871 1 1.3085 1 265.2994643144417 287.8873501036863 0 0 0 0 +5953 1 1.2993 1 235.14045499061183 284.98832262116116 0 0 0 0 +3692 1 1.6501 1 271.9434185650085 278.84748318443013 0 0 0 0 +6125 1 1.281 1 266.8498585080553 293.15782016579465 0 0 0 0 +8508 1 1.0804 1 262.09117363268 307.99469491679383 0 0 0 0 +6139 1 1.2797 1 243.55774036261369 288.9043944608459 0 0 0 0 +6145 1 1.2792 1 256.82225978729946 299.4955056798512 0 0 0 0 +6165 1 1.2759 1 235.1927192184585 287.4593216153949 0 0 0 0 +2081 1 2.1925 1 257.8398173723407 294.94316193338636 0 0 0 0 +6264 1 1.2636 1 229.78419101256375 288.68516148990915 0 0 0 0 +6330 1 1.2586 1 229.9631247838857 289.88827580609416 0 0 0 0 +6433 1 1.2489 1 248.7503586881813 313.46964652861124 0 0 0 0 +6435 1 1.2486 1 237.27492741488834 321.5159121370698 0 0 0 0 +6442 1 1.248 1 266.4157947499344 287.44742181722387 0 0 0 0 +6456 1 1.2471 1 235.24806680974558 286.20479391156323 0 0 0 0 +3215 1 1.7613 1 267.6126403446501 294.4387782600547 0 0 0 0 +2707 1 1.927 1 270.90922282406876 296.1767414161262 0 0 0 0 +6538 1 1.2385 1 241.59320946595565 290.8235233779469 0 0 0 0 +6545 1 1.2379 1 258.5843233216741 285.05368685020966 0 0 0 0 +6550 1 1.2378 1 257.53916624568336 298.5190271566591 0 0 0 0 +6576 1 1.2351 1 227.42899167544405 293.032065394601 0 0 0 0 +8019 1 1.1135 1 257.4726513979341 284.3295277721804 0 0 0 0 +3033 1 1.8171 1 267.0918690102599 279.80157909136915 0 0 0 0 +6603 1 1.2312 1 251.9833449080393 292.317713358064 0 0 0 0 +222 1 6.4668 1 261.182297987147 279.5259058321759 0 0 0 0 +6703 1 1.2221 1 273.70778678403275 289.9001227549179 0 0 0 0 +9410 1 1.0301 1 231.30661368399834 285.2810202051983 0 0 0 0 +6791 1 1.2132 1 266.81128402332126 286.317395686099 0 0 0 0 +6826 1 1.2099 1 232.34913281709623 285.30155369552494 0 0 0 0 +5640 1 1.3331 1 234.3710836510908 331.6522310381219 0 0 0 0 +6846 1 1.2081 1 247.45878096596127 320.3478076356421 0 0 0 0 +9987 1 1.0007 1 254.0260955541482 293.9987942880844 0 0 0 0 +6852 1 1.2071 1 250.62741063329622 300.1378498355854 0 0 0 0 +6894 1 1.2028 1 247.80904005877377 290.96305100099613 0 0 0 0 +3768 1 1.6364 1 230.08674895528964 285.6099240335881 0 0 0 0 +7124 1 1.1838 1 225.30999880168056 292.3977373766507 0 0 0 0 +2665 1 1.9424 1 245.7923073419427 323.0066944426076 0 0 -1 0 +7100 1 1.1856 1 253.21897774017532 312.06443703800954 0 0 0 0 +7857 1 1.1243 1 245.3475878471247 328.5402313785671 0 0 -1 0 +7207 1 1.1776 1 270.1755169135715 285.0685250336763 0 0 0 0 +7223 1 1.1763 1 269.33845768321544 293.2802072511728 0 0 0 0 +7255 1 1.1737 1 257.3711380157946 293.38519207129474 0 0 0 0 +1610 1 2.4848 1 260.80347795392885 295.4133227514267 0 0 0 0 +3521 1 1.6892 1 276.59381647453966 310.65544068257003 0 0 0 0 +7357 1 1.165 1 238.04527172877366 286.29681081207434 0 0 0 0 +5538 1 1.3459 1 275.19657208679166 310.11428210157544 0 0 0 0 +7439 1 1.1576 1 248.12165931424116 314.4085044967659 0 0 0 0 +3529 1 1.6874 1 263.021352932607 295.3914927674825 0 0 0 0 +7530 1 1.1505 1 247.3552465684853 315.18033094992074 0 0 0 0 +7566 1 1.1466 1 248.7419753243543 296.3730778356136 0 0 0 0 +345 1 5.3624 1 242.31487847957536 330.0966691848978 0 0 -1 0 +7628 1 1.1426 1 251.49942466488537 310.257559334054 0 0 0 0 +9901 1 1.005 1 245.41961104011713 293.10775587610095 0 0 0 0 +7666 1 1.1389 1 245.65645791738802 292.108216320227 0 0 0 0 +1896 1 2.3024 1 275.95172545692895 295.0926567862338 0 0 0 0 +5702 1 1.3253 1 278.019316253528 293.26982538638396 0 0 0 0 +7782 1 1.1303 1 257.1850939218989 288.8811633173231 0 0 0 0 +9998 1 1 1 277.28620811461906 294.1662529271483 0 0 0 0 +7842 1 1.1264 1 249.8976312622239 292.6244999674096 0 0 0 0 +7850 1 1.1254 1 238.41251352534732 321.3652924756105 0 0 0 0 +7875 1 1.1231 1 272.1044634749506 287.0333790293241 0 0 0 0 +7910 1 1.1202 1 264.2496193350793 296.0091551732767 0 0 0 0 +4812 1 1.4469 1 277.81319927646194 278.7581426223923 0 0 0 0 +3406 1 1.7136 1 259.5072258247952 293.85496420306305 0 0 0 0 +8048 1 1.1114 1 273.30334321802366 283.0959317945683 0 0 0 0 +8055 1 1.1111 1 249.81431098326993 313.7603750851842 0 0 0 0 +8061 1 1.1103 1 240.48780576925594 290.5458303884361 0 0 0 0 +8105 1 1.1072 1 252.25875193666738 291.1940939373653 0 0 0 0 +8124 1 1.106 1 255.7077445364648 310.34771551856335 0 0 0 0 +2055 1 2.2077 1 274.7987543947556 306.9528886096924 0 0 0 0 +8178 1 1.1026 1 253.8879828433254 303.16781333648714 0 0 0 0 +8196 1 1.1018 1 245.66130355917147 321.53201064766483 0 0 0 0 +8226 1 1.0998 1 257.1673415697966 285.3863111647886 0 0 0 0 +8249 1 1.0978 1 236.1929073804352 290.0113783222206 0 0 0 0 +5552 1 1.344 1 272.8619023552468 295.61209954833794 0 0 0 0 +8272 1 1.0967 1 239.06964742353267 286.71147277804516 0 0 0 0 +8290 1 1.0956 1 256.43865553675533 309.5932204205679 0 0 0 0 +8296 1 1.0948 1 261.3714389722235 292.34287110070574 0 0 0 0 +6383 1 1.253 1 260.92441952728205 297.2283895081446 0 0 0 0 +8408 1 1.0871 1 272.068384809132 291.6702702006731 0 0 0 0 +8456 1 1.0841 1 246.66645304555632 289.63122112647125 0 0 0 0 +8457 1 1.084 1 250.4465527014337 310.060401605696 0 0 0 0 +7678 1 1.1382 1 243.8531888980928 326.2781186727525 0 0 -1 0 +8509 1 1.0803 1 264.47203093921297 282.7528660139637 0 0 0 0 +8523 1 1.0797 1 250.22355934531143 288.72501355607545 0 0 0 0 +8538 1 1.0787 1 225.44583418004038 325.76001689713013 0 0 0 0 +3165 1 1.776 1 242.9606915135809 325.18635457483964 0 0 -1 0 +8675 1 1.0712 1 265.7633265566658 286.5677870172262 0 0 0 0 +8190 1 1.1019 1 275.52571785093534 291.71892791496583 0 0 0 0 +8773 1 1.0648 1 232.80149546698908 319.3780926245853 0 0 0 0 +3101 1 1.7967 1 277.9558838841399 311.7163361672441 0 0 0 0 +8796 1 1.0637 1 225.08917943697656 322.6472139536702 0 0 0 0 +8804 1 1.0631 1 229.90965590699753 320.77418063711764 0 0 0 0 +8917 1 1.0567 1 265.1256240543031 295.41580702978735 0 0 0 0 +7208 1 1.1776 1 239.7280992620324 326.8528113925902 0 0 -1 0 +4808 1 1.4472 1 228.60600131316403 287.7937069575404 0 0 0 0 +9013 1 1.0521 1 241.56295811150486 324.8770414353721 0 0 0 0 +9026 1 1.0514 1 230.4780372750022 330.94262230003477 0 0 0 0 +9076 1 1.0484 1 244.64460131872775 292.47847742429843 0 0 0 0 +9094 1 1.0472 1 269.9182269655812 290.6227791772135 0 0 0 0 +9095 1 1.0472 1 250.94146615929316 292.8571422047218 0 0 0 0 +9099 1 1.0471 1 254.10778006767868 309.1938677436495 0 0 0 0 +9141 1 1.045 1 226.6147381893923 293.76665882324403 0 0 0 0 +4858 1 1.4402 1 244.58931339317627 324.1853539162907 0 0 -1 0 +9183 1 1.0429 1 236.39858305564098 322.26032718138123 0 0 0 0 +1376 1 2.7076 1 238.479016706995 329.13208111857506 0 0 0 0 +9251 1 1.0394 1 260.46600119840883 292.8853214127456 0 0 0 0 +9440 1 1.0287 1 248.05262857569852 295.5565232026193 0 0 0 0 +9501 1 1.0259 1 225.82156600201574 323.3855626411626 0 0 0 0 +9516 1 1.025 1 240.91343965263442 283.62506130612286 0 0 0 0 +9536 1 1.0239 1 249.20634650903244 284.8182553543357 0 0 0 0 +9626 1 1.0195 1 228.850327193364 285.3390453998101 0 0 0 0 +9652 1 1.0178 1 245.40748592627656 291.1287633290871 0 0 0 0 +1049 1 3.0912 1 225.68437169565044 290.3778167056445 0 0 0 0 +1671 1 2.4415 1 277.60150161696333 300.3198953863424 0 0 0 0 +7556 1 1.1478 1 275.5179808004561 300.17815958267204 0 0 0 0 +7985 1 1.1154 1 243.02048162026188 326.97189571947536 0 0 -1 0 +9744 1 1.013 1 235.15985115705595 290.0977114230697 0 0 0 0 +9747 1 1.0129 1 249.54013569620878 287.79631629157615 0 0 0 0 +9835 1 1.0084 1 238.1737712429337 284.31760146193807 0 0 0 0 +1993 1 2.2456 1 262.2835399738563 293.6419922714532 0 0 0 0 +9962 1 1.0024 1 256.15999048611434 296.5849262754542 0 0 0 0 +9862 1 1.0066 1 245.52721143987662 282.09514246592255 0 0 0 0 +9881 1 1.0058 1 253.06607333482847 304.161322230258 0 0 0 0 +2829 1 1.885 1 259.0474360619349 308.3431348814341 0 0 0 0 +5732 1 1.3227 1 228.76988776273654 286.44321779737635 0 0 0 0 +4329 1 1.5272 1 263.3256828259392 296.92799917997104 0 0 0 0 +6578 1 1.2348 1 259.09749969567565 296.0233119393464 0 0 0 0 +6299 1 1.2608 1 227.62458646712236 286.926635920151 0 0 0 0 +1612 1 2.4839 1 256.5558153870079 282.7859602684835 0 0 0 0 +7727 1 1.1346 1 255.19415420013053 281.67718617997286 0 0 0 0 +522 1 4.2945 1 265.09792006482144 304.76968476630435 0 0 0 0 +2810 1 1.891 1 227.05216168016582 288.3567519720499 0 0 0 0 +9300 1 1.0366 1 225.60798697424678 288.3918111725344 0 0 0 0 +7007 1 1.1935 1 245.38352213708632 331.12326771252157 0 0 -1 0 +8237 1 1.099 1 259.828298346076 296.90855736255645 0 0 0 0 +8220 1 1.1003 1 271.0255798457441 303.9069109589071 0 0 0 0 +8852 1 1.0601 1 263.0052507497539 298.28810527327505 0 0 0 0 +9173 1 1.0432 1 262.17936390723617 296.4260104555846 0 0 0 0 +3525 1 1.6885 1 245.9161655037075 326.4579333055737 0 0 -1 0 +3058 1 1.8101 1 268.76152555615056 303.7037465822739 0 0 0 0 +6800 1 1.2126 1 267.45552111825367 307.69518398597916 0 0 0 0 +5293 1 1.3767 1 265.4948603012965 307.53068728744574 0 0 0 0 +3764 1 1.6373 1 270.1982122621682 302.8384679496883 0 0 0 0 +7571 1 1.1462 1 246.19780632322676 327.8294437762186 0 0 -1 0 +6232 1 1.2672 1 234.93525593686192 330.4489862867669 0 0 -1 0 +9012 1 1.0521 1 245.42243208895215 329.5731170703324 0 0 -1 0 +8573 1 1.0767 1 269.3482179521454 280.7860763017206 0 0 0 0 +514 1 4.3171 1 274.17665579660826 303.36197274926525 0 0 0 0 +7590 1 1.1448 1 252.38550127216882 278.7807840114497 0 0 0 0 +7312 1 1.1696 1 273.0848211674038 292.0900786779455 0 0 0 0 +1600 1 2.4937 1 274.38044436513604 293.3404167663846 0 0 0 0 +2579 1 1.9785 1 269.3650750602899 294.93205329326116 0 0 0 0 +587 1 4.0709 1 273.0774783038813 299.3810573802111 0 0 0 0 +5735 1 1.3223 1 272.37168207649887 296.8201676522696 0 0 0 0 +7517 1 1.1513 1 271.54739786501887 302.97141437540154 0 0 0 0 +4639 1 1.4753 1 253.49212239030487 279.3055716627443 0 0 0 0 +7736 1 1.1336 1 256.19110634800336 281.00921792392563 0 0 0 0 +3938 1 1.6007 1 273.81955240754974 296.66926095314165 0 0 0 0 +5487 1 1.3522 1 274.14269084074164 295.23667551241016 0 0 0 0 +8175 1 1.1027 1 275.5388769215366 305.5660896497141 0 0 0 0 +3339 1 1.7313 1 271.31185919136516 301.60294710194717 0 0 0 0 +7836 1 1.1266 1 275.50678358710195 308.450161916632 0 0 0 0 +552 1 4.1937 1 256.0551028181131 278.3455362769592 0 0 0 0 +1107 1 3.0061 1 224.7148588818399 294.3124372934977 0 0 0 0 +9348 1 1.0337 1 275.4151417967743 278.2758712339639 0 0 0 0 +6785 1 1.2143 1 264.7440522783798 278.17099039892656 0 0 0 0 +45 1 14.7349 1 294.93835727198234 49.26294682978875 0 0 0 0 +8430 1 1.086 1 283.1362496373914 18.456127339742313 0 0 0 0 +6843 1 1.2083 1 323.48260589025784 12.888445972423835 0 0 0 0 +7036 1 1.1905 1 291.15724351052455 13.942824838222215 0 0 0 0 +127 1 8.5152 1 315.69576157623845 60.349117538918755 0 0 0 0 +131 1 8.339 1 327.7872440981058 56.06937406390774 0 0 0 0 +6523 1 1.2408 1 292.21598665929656 14.329564295116205 0 0 1 0 +165 1 7.443 1 324.8704374207568 48.89744385850285 0 0 0 0 +180 1 7.185 1 312.98546314752 27.33654756298735 0 0 0 0 +190 1 6.9901 1 282.6960558715811 50.241140300406 0 0 0 0 +9066 1 1.049 1 289.3391901656138 41.95809090194277 0 0 0 0 +199 1 6.8708 1 293.30664954199005 34.40056366164536 0 0 0 0 +201 1 6.845 1 310.78808138743267 51.36146319528924 0 0 0 0 +202 1 6.8323 1 318.5836328461701 53.34575221714293 0 0 0 0 +206 1 6.7083 1 286.8450611906517 36.112365937453575 0 0 0 0 +323 1 5.5334 1 304.62335768385947 35.38052435729246 0 0 0 0 +344 1 5.3631 1 327.67548233375675 43.2138512840862 0 0 0 0 +438 1 4.6906 1 286.5626032693985 24.41367735930461 0 0 0 0 +441 1 4.676 1 306.05549848892866 56.35354701650104 0 0 0 0 +473 1 4.5374 1 302.3742192952969 41.254969644758745 0 0 0 0 +6662 1 1.2259 1 321.524570061483 10.846639331158018 0 0 1 0 +493 1 4.4156 1 301.6707975917384 57.202060670345894 0 0 0 0 +500 1 4.3646 1 302.96570891423914 30.821092622143183 0 0 0 0 +512 1 4.3188 1 310.4518016509263 56.818142713044374 0 0 0 0 +6428 1 1.2493 1 330.8582200396839 44.02241499032716 0 -1 0 0 +604 1 4.0042 1 285.3509796460306 43.68008916421497 0 0 0 0 +8355 1 1.0904 1 283.39959674047736 15.565427504104637 0 0 0 0 +625 1 3.9418 1 287.55615017825926 54.69995108331448 0 0 0 0 +676 1 3.8336 1 285.25574290287267 17.179382205504634 0 0 0 0 +703 1 3.7783 1 318.3091476523454 21.4515114055612 0 0 0 0 +708 1 3.7653 1 321.36479099063223 14.183878677872283 0 0 0 0 +714 1 3.7603 1 284.29047602561803 27.948177724066618 0 0 0 0 +4926 1 1.4289 1 327.89876427993227 34.32908404101239 0 0 0 0 +742 1 3.6947 1 294.95116518639634 39.239332198126604 0 0 0 0 +750 1 3.6902 1 286.2438966889341 31.05671019568325 0 0 0 0 +751 1 3.6867 1 319.5946736761639 47.43015688473501 0 0 0 0 +4190 1 1.5509 1 324.8092009880423 41.49041455693102 0 -1 0 0 +6448 1 1.2476 1 327.91315870794904 17.359420530643078 0 0 1 0 +780 1 3.6222 1 290.6793086619925 24.423572408026523 0 0 0 0 +5922 1 1.3022 1 322.65266854470354 10.329873771280132 0 0 0 0 +790 1 3.6088 1 298.2401287259046 35.969461159784665 0 0 0 0 +792 1 3.6069 1 303.56681262284394 46.667758615596405 0 0 0 0 +825 1 3.5267 1 298.8108288993491 39.52094735060152 0 0 0 0 +884 1 3.3819 1 315.3781961442686 19.601227525302836 0 0 0 0 +890 1 3.3754 1 307.1962886770579 38.84684217972532 0 0 0 0 +9139 1 1.0451 1 314.3091389651271 55.79259206680895 0 0 0 0 +953 1 3.2432 1 304.893140507444 50.20479455458847 0 0 0 0 +9368 1 1.0325 1 297.92138324598943 28.241495268649327 0 0 0 0 +1007 1 3.1662 1 288.49064617611646 20.328773311816928 0 0 0 0 +5075 1 1.4082 1 283.37250898972127 25.191304982541123 0 0 0 0 +9687 1 1.0163 1 314.60111993133745 13.728984879772817 0 0 1 0 +2250 1 2.1177 1 324.2299515879972 14.343851864931962 0 0 1 0 +1036 1 3.1138 1 325.29983883725004 20.484467638021332 0 0 0 0 +7968 1 1.1166 1 287.07007508804605 18.78536673851765 0 0 0 0 +1040 1 3.1081 1 292.66464936093564 58.765396395417355 0 0 0 0 +1046 1 3.0941 1 306.55405057377845 31.580000404582247 0 0 0 0 +1053 1 3.0876 1 314.56727643553074 48.29011996375174 0 0 0 0 +1057 1 3.0801 1 296.2505019700416 29.350787614781822 0 0 0 0 +1115 1 2.9963 1 282.9905863514214 31.079306282466124 0 0 0 0 +1134 1 2.9747 1 297.30845404577485 59.01335418002705 0 0 0 0 +1152 1 2.9528 1 308.47570899030546 33.85378234045344 0 0 0 0 +1188 1 2.919 1 284.18144512768504 21.51857202553562 0 0 0 0 +1249 1 2.8497 1 317.7571448157279 24.585882844120093 0 0 0 0 +1272 1 2.8197 1 307.08752339522346 43.469014241267104 0 0 0 0 +1317 1 2.772 1 322.3820630132397 56.014206954934686 0 0 0 0 +1329 1 2.7568 1 303.00711758268966 52.47180477614491 0 0 0 0 +1349 1 2.7371 1 299.5444685371653 31.52218979927661 0 0 0 0 +1350 1 2.7359 1 307.5405174091006 28.892640946238355 0 0 0 0 +1372 1 2.7109 1 321.69489987498787 19.5089629249027 0 0 0 0 +37 1 16.0333 1 316.8278782914111 38.10336624840242 0 -1 0 0 +1389 1 2.692 1 321.19151788516706 58.397315719213886 0 0 0 0 +9172 1 1.0432 1 307.2155979890323 45.38778008654137 0 0 0 0 +1418 1 2.6643 1 280.1172108040191 36.85842252483373 0 0 0 0 +1425 1 2.6565 1 323.90299602443474 16.612610102769025 0 0 0 0 +1442 1 2.6318 1 290.62210450753753 18.27525334753535 0 0 0 0 +1499 1 2.5786 1 285.31954769675025 40.42747831738608 0 0 0 0 +1509 1 2.5695 1 327.49286293571777 32.40505810620035 0 0 0 0 +1579 1 2.5081 1 281.3771824051325 27.05771285717292 0 0 0 0 +9482 1 1.0269 1 288.431873479418 44.92336463303509 0 0 0 0 +1596 1 2.4985 1 291.12786986651696 27.422743855823295 0 0 0 0 +1606 1 2.4865 1 293.4757731431153 28.18080346478173 0 0 0 0 +1621 1 2.4754 1 290.1391544711724 29.67742586329961 0 0 0 0 +1624 1 2.4719 1 290.82982914706105 38.325097850440415 0 0 0 0 +1649 1 2.4535 1 309.7825240407715 44.05559461097611 0 0 0 0 +1656 1 2.4504 1 308.865571245082 59.79236429253744 0 0 0 0 +1657 1 2.4495 1 282.3247785243955 35.65341984438018 0 0 0 0 +1694 1 2.4279 1 291.1592215373959 20.716849234847896 0 0 0 0 +9288 1 1.0373 1 314.63433684455254 46.28481518271681 0 0 0 0 +1731 1 2.4054 1 317.11709697979865 49.08865406854025 0 0 0 0 +1767 1 2.3739 1 284.46026836814156 14.234876899329675 0 0 0 0 +9793 1 1.0101 1 315.79172749480426 24.28197302353362 0 0 0 0 +5637 1 1.3332 1 327.58959760924785 39.9126820812191 0 0 0 0 +1831 1 2.3397 1 318.27375703132753 28.094517906051486 0 0 0 0 +1842 1 2.3332 1 295.1061391029659 57.72160342201991 0 0 0 0 +1847 1 2.3314 1 289.1047950803841 31.841950396038314 0 0 0 0 +1853 1 2.3293 1 297.6510014059744 33.09704548230539 0 0 0 0 +3806 1 1.628 1 324.21242131116185 42.94004567147514 0 -1 0 0 +1902 1 2.2999 1 288.4657486941666 43.34080693570558 0 0 0 0 +1911 1 2.2931 1 279.8430131929346 46.18931912979765 0 0 0 0 +4591 1 1.482 1 319.29419357392607 12.601674644329036 0 0 1 0 +1939 1 2.2766 1 319.8804346095705 29.614798649055288 0 0 0 0 +1952 1 2.269 1 288.2680095313945 17.64110690708262 0 0 0 0 +1961 1 2.2642 1 280.9932863540064 32.73097134873042 0 0 0 0 +848 1 3.4621 1 326.29217211036445 36.14887746305584 0 -1 0 0 +2017 1 2.2296 1 316.8218532538309 15.908745576107895 0 0 0 0 +9031 1 1.0511 1 326.72774219229 33.987579825399585 0 0 0 0 +273 1 5.9825 1 280.12174424980367 23.172325659517817 0 0 0 0 +2088 1 2.1888 1 329.80094650670475 32.32374829132458 0 0 0 0 +4735 1 1.4587 1 324.6234200901843 32.37133586360811 0 -1 0 0 +2103 1 2.1834 1 306.3790388518183 46.7540660239167 0 0 0 0 +2113 1 2.1756 1 293.8856022824294 25.966899390905503 0 0 0 0 +2145 1 2.1579 1 307.15054908159374 48.757513429274155 0 0 0 0 +2150 1 2.1569 1 301.0210383912791 36.28236189690787 0 0 0 0 +2264 1 2.1117 1 287.30076021142213 45.914256082965665 0 0 0 0 +2288 1 2.0986 1 305.60114126475014 41.52388018020607 0 0 0 0 +2312 1 2.0838 1 282.93260316311563 45.461301193044584 0 0 0 0 +2356 1 2.0656 1 287.3968761281249 41.50033966594257 0 0 0 0 +2387 1 2.0536 1 323.3646274339953 59.28148116430204 0 0 0 0 +7421 1 1.1595 1 330.7718427742662 38.30258878295254 0 -1 0 0 +9043 1 1.0501 1 326.80629192277394 21.882184193507584 0 0 1 0 +2499 1 2.0105 1 306.77706504715314 60.22944053830524 0 0 0 0 +687 1 3.8145 1 285.28254028836307 11.254292192914816 0 0 1 0 +2564 1 1.9839 1 289.053438481437 26.608247589806673 0 0 0 0 +9454 1 1.028 1 303.702384454062 54.83404239918031 0 0 0 0 +2578 1 1.9786 1 283.5913032032532 38.89897404769749 0 0 0 0 +2604 1 1.966 1 314.6896928031462 23.138141473862305 0 0 0 0 +2612 1 1.9624 1 326.91522851528157 61.04176735246015 0 0 0 0 +2679 1 1.939 1 281.6675179890962 29.151085197271115 0 0 0 0 +1623 1 2.4741 1 314.5113774447771 15.755365844719346 0 0 1 0 +2698 1 1.93 1 308.9253305575936 42.11116263515788 0 0 0 0 +2708 1 1.9266 1 328.91196400479026 46.58760263595075 0 0 0 0 +9903 1 1.0049 1 282.374756537414 20.553786361549513 0 0 0 0 +1865 1 2.3223 1 325.7957731919444 39.88144508427134 0 -1 0 0 +2783 1 1.9007 1 319.68077549338983 17.960171964746962 0 0 0 0 +2811 1 1.891 1 281.6685688801702 39.64697416268105 0 0 0 0 +1595 1 2.499 1 291.06645887912026 15.775318963374051 0 0 1 0 +2877 1 1.8685 1 280.4428446707381 34.667010521971505 0 0 0 0 +2916 1 1.8579 1 317.49774601321633 18.141065941224255 0 0 0 0 +2960 1 1.8445 1 301.4936689534585 54.15140323874762 0 0 0 0 +2965 1 1.8438 1 305.6920081717479 53.067351304725435 0 0 0 0 +3009 1 1.8255 1 304.79474969856847 43.30574270191402 0 0 0 0 +3014 1 1.8225 1 308.25840806210476 46.53837939327088 0 0 0 0 +3017 1 1.8217 1 300.25283370693893 29.40264544934323 0 0 0 0 +3143 1 1.7807 1 328.84200231967856 51.151641612411545 0 0 0 0 +1607 1 2.4862 1 326.1149704606332 17.846440308511266 0 0 1 0 +3157 1 1.7774 1 286.92352375868785 50.799456081794766 0 0 0 0 +3172 1 1.773 1 286.8548853186925 47.739311827147894 0 0 0 0 +3181 1 1.7703 1 301.7805623237188 44.68378490453635 0 0 0 0 +24 1 20.9287 1 302.4587254947801 18.293300273894495 0 0 1 0 +3204 1 1.7653 1 322.2546889025441 21.635797829562893 0 0 0 0 +3213 1 1.7623 1 323.1919472441496 53.63454994123248 0 0 0 0 +3232 1 1.7571 1 318.78758482815294 15.069768872802445 0 0 0 0 +3247 1 1.7538 1 305.5400176845928 45.00212251024664 0 0 0 0 +6348 1 1.2572 1 284.28644168713174 19.45481536335828 0 0 0 0 +3269 1 1.7477 1 298.6937876191572 56.56979272185065 0 0 0 0 +7499 1 1.1524 1 329.2881150805034 28.794182719986853 0 -1 1 0 +3354 1 1.7269 1 299.55894466459085 59.33575771398301 0 0 0 0 +3363 1 1.725 1 331.0010396717145 47.036806391352286 0 0 0 0 +3377 1 1.7219 1 282.14963820125655 41.4781717251001 0 0 0 0 +3378 1 1.7214 1 321.90328567157275 60.40764224918147 0 0 0 0 +5621 1 1.3345 1 329.1898438784461 33.89175294080176 0 -1 1 0 +3426 1 1.7102 1 309.78306436512935 47.28043882395721 0 0 0 0 +3445 1 1.7051 1 326.59783243260847 15.857983569798101 0 0 0 0 +3464 1 1.7006 1 296.0911650287704 60.903453638202286 0 0 0 0 +3501 1 1.6935 1 318.4961878259536 16.727736970360557 0 0 0 0 +3537 1 1.6855 1 320.6764900323958 22.768066416783228 0 0 0 0 +6137 1 1.2799 1 283.357688169045 12.873396761592865 0 0 0 0 +3623 1 1.667 1 322.6005513574561 11.787581728761666 0 0 0 0 +3625 1 1.6667 1 299.5358761467929 33.689136063279676 0 0 0 0 +3645 1 1.6632 1 307.3912856807015 41.29838182709007 0 0 0 0 +9944 1 1.0032 1 281.2860452953089 38.24616712479552 0 0 0 0 +3738 1 1.6416 1 299.5809300891758 42.52773690552266 0 0 0 0 +6529 1 1.2399 1 291.917852557126 22.346928759184962 0 0 1 0 +3060 1 1.8099 1 322.364420378061 45.05270753319946 0 -1 0 0 +3798 1 1.6293 1 313.3273451206382 46.306980102150675 0 0 0 0 +3800 1 1.6293 1 309.6069591668881 30.12005275609638 0 0 0 0 +3808 1 1.6267 1 313.3598454219933 20.973986809186734 0 0 0 0 +3843 1 1.6188 1 317.1852672736972 26.607374460246696 0 0 0 0 +3858 1 1.6162 1 290.4804798765623 41.30171180398251 0 0 0 0 +3913 1 1.605 1 311.4261652692248 47.230510456397454 0 0 0 0 +3987 1 1.5892 1 284.3424984225455 32.86770580650952 0 0 0 0 +4007 1 1.5819 1 305.28448449251454 59.30378620749222 0 0 0 0 +4030 1 1.5777 1 306.6714366921507 51.700595024606855 0 0 0 0 +4081 1 1.5694 1 310.80018521848825 59.66903756780496 0 0 0 0 +4087 1 1.5687 1 303.33208616506084 44.122900731825254 0 0 0 0 +4102 1 1.5658 1 330.4719940996225 51.22110124682782 0 0 0 0 +4103 1 1.5652 1 287.92424420460424 29.07693443381904 0 0 0 0 +7286 1 1.1721 1 330.2170918916209 37.28592659095733 0 -1 0 0 +4120 1 1.5633 1 292.1300705125658 29.59266405361517 0 0 0 0 +4129 1 1.5623 1 292.4124221368766 39.51815301144888 0 0 0 0 +8216 1 1.1004 1 323.5460364454038 19.466552129808722 0 0 0 0 +4160 1 1.5565 1 289.08429364386524 15.95750432564201 0 0 0 0 +9504 1 1.0257 1 314.54828073725434 21.643247982081355 0 0 0 0 +4216 1 1.5471 1 295.07077813550114 59.650196722023445 0 0 0 0 +4223 1 1.5464 1 314.5723447526426 54.54503872346069 0 0 0 0 +1383 1 2.7011 1 330.90920848092355 49.20788979434437 0 -1 0 0 +4291 1 1.5346 1 310.60811746996563 45.93108839948924 0 0 0 0 +4330 1 1.5263 1 288.18549812418075 14.743470987189784 0 0 0 0 +4338 1 1.5249 1 288.9733701213999 22.56207379764964 0 0 0 0 +9477 1 1.027 1 319.6413800262778 49.67164010516882 0 0 0 0 +4393 1 1.5158 1 308.8475660486995 31.70647445806552 0 0 0 0 +8069 1 1.11 1 310.1461003554427 10.398458612624355 0 0 1 0 +4462 1 1.5036 1 304.41527547998135 38.98713241479595 0 0 0 0 +4582 1 1.4836 1 283.6987944840001 41.55568993879439 0 0 0 0 +4593 1 1.4816 1 293.141893642397 24.375354302605906 0 0 0 0 +7291 1 1.1716 1 323.204233598389 43.86174795017567 0 -1 0 0 +4655 1 1.4723 1 283.3997423437418 34.05478913763549 0 0 0 0 +4663 1 1.4703 1 322.5166516157669 31.46841786631683 0 0 0 0 +4712 1 1.4626 1 289.0058299824919 40.80631869955183 0 0 0 0 +4763 1 1.4543 1 324.3723681503522 44.47287215418119 0 0 0 0 +4775 1 1.4519 1 319.5431519050597 57.28886744455203 0 0 0 0 +113 1 9.2643 1 324.6061904991655 26.53597971502788 0 0 1 0 +4827 1 1.4452 1 290.22277900851407 42.778202712667984 0 0 0 0 +4889 1 1.4346 1 284.3923094187362 46.40358313840709 0 0 0 0 +4891 1 1.4343 1 310.2669483099868 31.489054628059442 0 0 0 0 +4899 1 1.4326 1 301.09307174495626 38.559977363655975 0 0 0 0 +4919 1 1.4298 1 315.704794022593 17.277475978338863 0 0 0 0 +9285 1 1.0374 1 325.7719637628853 32.663725309405145 0 -1 0 0 +4937 1 1.4275 1 286.32813726475786 21.169940357655367 0 0 0 0 +4941 1 1.4271 1 313.1878158786032 22.439765725745254 0 0 0 0 +8443 1 1.0848 1 329.8130023614449 47.72359717991525 0 -1 0 0 +4994 1 1.421 1 296.10927401564464 41.41335529988059 0 0 0 0 +5012 1 1.4186 1 286.7656206102804 49.2684997921391 0 0 0 0 +9027 1 1.0513 1 314.1553986796123 53.36215165671472 0 0 0 0 +5077 1 1.4081 1 300.63903880598696 43.611691882405324 0 0 0 0 +8338 1 1.0912 1 325.7244161921122 14.818598706306169 0 0 1 0 +5096 1 1.4048 1 316.33205529547666 23.085339811996242 0 0 0 0 +5112 1 1.4017 1 316.7272750725513 29.394857099428126 0 0 0 0 +9112 1 1.0468 1 329.64627910995983 60.54886889315483 0 0 0 0 +5152 1 1.3959 1 327.8940808650956 22.38251417905346 0 0 0 0 +5167 1 1.3926 1 321.33237612012016 30.692423837024236 0 0 0 0 +5173 1 1.392 1 297.46190861721794 31.23821848829387 0 0 0 0 +5183 1 1.3908 1 303.0796387782561 38.428858775959 0 0 0 0 +5216 1 1.3872 1 283.70572203312116 23.617489016073606 0 0 0 0 +5225 1 1.386 1 313.12294840827116 54.74222007936087 0 0 0 0 +5233 1 1.3847 1 311.48007319766873 44.85054132175361 0 0 0 0 +5274 1 1.3793 1 325.54883766423995 33.82166246361374 0 0 0 0 +8895 1 1.0575 1 328.96696253604716 15.284532981002116 0 -1 0 0 +1391 1 2.6917 1 328.53882462096044 38.20275627812623 0 -1 0 0 +5313 1 1.3739 1 302.946839339998 49.0489486006132 0 0 0 0 +8315 1 1.0931 1 328.99996164979774 23.42508549620919 0 -1 1 0 +5398 1 1.3639 1 313.1739349272456 56.11050382996724 0 0 0 0 +5404 1 1.363 1 297.20278058231884 56.91664309113302 0 0 0 0 +5415 1 1.3615 1 317.47679343016245 14.278513656422618 0 0 0 0 +5465 1 1.3549 1 304.3901732046002 53.902215430909415 0 0 0 0 +9715 1 1.0144 1 301.53244021100306 34.34856824427076 0 0 0 0 +6647 1 1.2271 1 313.6297703895122 14.176333062581994 0 0 1 0 +9144 1 1.0449 1 327.5545702054945 30.680741864060728 0 0 0 0 +5531 1 1.3473 1 298.3646726569751 29.89713531775219 0 0 0 0 +5554 1 1.3439 1 315.73784249157706 21.88621813796685 0 0 0 0 +5625 1 1.3343 1 319.85289615683973 16.186686796450015 0 0 0 0 +9933 1 1.0038 1 292.75697832001964 38.29088163411841 0 0 0 0 +5663 1 1.3309 1 287.4831841682234 52.156877096363665 0 0 0 0 +5318 1 1.3735 1 330.1257656053148 39.350400865424945 0 -1 0 0 +5691 1 1.3269 1 320.79587793341057 21.278853958072972 0 0 0 0 +5696 1 1.3263 1 305.49104926321854 29.496292345376133 0 0 0 0 +9799 1 1.0099 1 323.7438413325824 31.542506237085323 0 0 0 0 +4267 1 1.5382 1 293.22201612894423 10.370905368752904 0 0 1 0 +5803 1 1.3144 1 307.7350358989602 53.96873660359952 0 0 0 0 +5809 1 1.3137 1 289.57675527804105 14.620463112448704 0 0 0 0 +5853 1 1.3095 1 283.05974966064986 37.35650632631809 0 0 0 0 +5861 1 1.3092 1 292.32560230228387 40.9354471816676 0 0 0 0 +5863 1 1.3091 1 328.49352308789895 60.794284238862076 0 0 0 0 +5879 1 1.3073 1 284.6616472686618 54.11712565508364 0 0 0 0 +5882 1 1.3065 1 290.6016345992482 57.93092264321471 0 0 0 0 +5906 1 1.3044 1 311.5729164554197 31.2780550645972 0 0 0 0 +1777 1 2.3706 1 290.35011625217805 11.706430632075758 0 0 1 0 +5925 1 1.3021 1 287.57007487953183 16.013107292553002 0 0 0 0 +5939 1 1.301 1 308.7961048348267 27.366465712636042 0 0 0 0 +5958 1 1.2991 1 319.44716139606 25.67891540278918 0 0 0 0 +1617 1 2.4827 1 281.3357774293992 19.156197604276137 0 0 0 0 +6004 1 1.2941 1 280.3193258008257 38.80068512422087 0 0 0 0 +6028 1 1.2918 1 316.5527638028992 47.39623009101396 0 0 0 0 +4285 1 1.5354 1 294.01069132958247 60.759447896839035 0 0 0 0 +6049 1 1.289 1 278.9798138484218 34.19184995512061 0 0 0 0 +6057 1 1.288 1 315.19951983096104 51.2190029149934 0 0 0 0 +7394 1 1.1618 1 291.99808553659796 10.919155300451553 0 0 1 0 +6065 1 1.287 1 319.7675194561234 19.484233793262 0 0 0 0 +3595 1 1.6722 1 286.63904025832016 14.86952964247841 0 0 0 0 +6156 1 1.2775 1 313.43491122840595 17.201607153489363 0 0 0 0 +6176 1 1.2748 1 281.6122312171605 44.04717588009332 0 0 0 0 +6178 1 1.2746 1 293.5280891901717 41.38524388649592 0 0 0 0 +6179 1 1.2746 1 314.6868386192271 52.361488730096774 0 0 0 0 +6194 1 1.2723 1 313.474602936234 18.43640749593417 0 0 0 0 +6247 1 1.2655 1 303.95221078531847 58.858347594634324 0 0 0 0 +6269 1 1.2632 1 283.0789790405887 40.36730326594916 0 0 0 0 +6278 1 1.2623 1 281.55579718862714 46.30891854887211 0 0 0 0 +6283 1 1.262 1 320.71135616390603 49.9496165548731 0 0 0 0 +6314 1 1.2598 1 282.974082012858 42.68976808155172 0 0 0 0 +6321 1 1.2591 1 302.0525578441754 37.621015863794995 0 0 0 0 +3012 1 1.8247 1 330.37840472685434 45.444223420848026 0 -1 0 0 +9677 1 1.0168 1 290.69578739124046 31.473513619945084 0 0 0 0 +6380 1 1.2537 1 297.0088460595401 37.989987978391866 0 0 0 0 +6552 1 1.2374 1 321.1650116828467 17.664618766932765 0 0 1 0 +6393 1 1.2521 1 285.69804582024705 46.24106659498058 0 0 0 0 +3343 1 1.7303 1 320.0752701672806 11.233757954891672 0 0 1 0 +7685 1 1.1374 1 331.34155585267115 37.34032719801759 0 -1 0 0 +6424 1 1.2498 1 308.61802660762606 40.59191903151041 0 0 0 0 +6436 1 1.2484 1 320.49827035638293 60.215770491200246 0 0 0 0 +6541 1 1.2382 1 291.56234703306 30.808021962077813 0 0 0 0 +9442 1 1.0287 1 286.55872367835957 27.24968480046141 0 0 0 0 +9256 1 1.0391 1 312.9239262915312 15.04119936666476 0 0 1 0 +2738 1 1.9152 1 288.64534401496377 13.111205558431898 0 0 0 0 +6600 1 1.2315 1 323.3288195656994 32.53516163473472 0 0 0 0 +5497 1 1.3512 1 283.1027170760045 19.677243282121577 0 0 0 0 +6861 1 1.2066 1 322.34218120327074 17.677578408982903 0 0 1 0 +1811 1 2.3494 1 296.6901475296312 62.808958427917034 0 0 0 0 +6676 1 1.2244 1 300.49422370745765 34.71459110976757 0 0 0 0 +6841 1 1.2084 1 296.1560165280916 27.282997031144117 0 0 1 0 +6685 1 1.2237 1 300.03449110234016 37.56894069900993 0 0 0 0 +6686 1 1.2236 1 298.90118291200747 28.756868423698766 0 0 0 0 +6743 1 1.2188 1 291.68545374357376 42.00732583840276 0 0 0 0 +6749 1 1.2184 1 291.21485497813194 40.12365407981791 0 0 0 0 +6752 1 1.2179 1 290.0355195263388 39.98273729594433 0 0 0 0 +6827 1 1.2099 1 294.9997383404574 27.20631315821312 0 0 0 0 +6837 1 1.2085 1 323.28510801303156 18.394693453490298 0 0 0 0 +9892 1 1.0054 1 292.2833929376684 26.098021895787525 0 0 0 0 +6856 1 1.207 1 288.2660165543414 39.75843952024087 0 0 0 0 +6868 1 1.2049 1 311.98883520656284 45.983266963465006 0 0 0 0 +6875 1 1.2044 1 307.9649448100636 35.871628845906535 0 0 0 0 +6880 1 1.2041 1 305.4614028125697 48.11438499743893 0 0 0 0 +5388 1 1.3654 1 286.37874544364666 19.769954433903326 0 0 0 0 +6921 1 1.2003 1 315.70664297393694 46.55538583421942 0 0 0 0 +6925 1 1.1998 1 294.67978142689344 30.702043893277757 0 0 0 0 +6928 1 1.1997 1 329.11323722878586 48.58791552893687 0 0 0 0 +6932 1 1.1996 1 308.2814416086795 45.056236412345946 0 0 0 0 +8551 1 1.078 1 312.5378686303891 14.059001988529179 0 0 1 0 +6465 1 1.2464 1 286.0906377023146 13.581043683111805 0 0 1 0 +2570 1 1.982 1 318.3868172131959 10.175003487588917 0 0 0 0 +7083 1 1.1874 1 312.2555885406253 23.282279158191294 0 0 0 0 +7116 1 1.1843 1 287.1150522021107 39.97410651849864 0 0 0 0 +7145 1 1.1828 1 282.6094292455005 33.08996188051117 0 0 0 0 +7167 1 1.1806 1 323.3383960918637 57.70325460130927 0 0 0 0 +7168 1 1.1806 1 308.6671185955212 54.76086578471766 0 0 0 0 +7185 1 1.1794 1 297.39515324498535 41.51617165835921 0 0 0 0 +9188 1 1.0426 1 280.51577829914635 17.40606845591688 0 0 0 0 +7299 1 1.1709 1 326.64916230503286 38.40574269844052 0 -1 0 0 +9007 1 1.0524 1 308.3381586589632 36.94279529255482 0 0 0 0 +8763 1 1.0655 1 285.2708055443382 19.910686249715347 0 0 0 0 +7382 1 1.1628 1 300.7849245330503 33.02605578836739 0 0 0 0 +6384 1 1.2529 1 328.9842143498288 62.971163087696105 0 0 0 0 +7416 1 1.1599 1 293.2184143349947 30.395537273013318 0 0 0 0 +6570 1 1.2355 1 328.87264574363036 40.138837493076885 0 -1 0 0 +7424 1 1.1594 1 315.6628191867232 50.1004882762418 0 0 0 0 +7435 1 1.1583 1 302.7485202662188 50.5423592906661 0 0 0 0 +7436 1 1.1582 1 319.46450465764445 26.883369090601622 0 0 0 0 +4137 1 1.5607 1 331.0510632982506 26.94235108768935 0 -1 0 0 +8138 1 1.1053 1 325.3867576169579 38.23058204963342 0 -1 1 0 +7478 1 1.1545 1 288.47952648025523 30.266043247136764 0 0 0 0 +7313 1 1.1692 1 297.6545452159951 61.105470604093064 0 0 0 0 +6757 1 1.2177 1 279.8190688438685 18.24690448315641 0 0 0 0 +7543 1 1.1489 1 318.54904770646993 13.655275640667574 0 0 0 0 +7563 1 1.1468 1 324.8327418870587 59.74554466838254 0 0 0 0 +9916 1 1.0045 1 325.7223212558474 60.25283605173629 0 0 0 0 +7586 1 1.145 1 324.44449910496985 18.539322699865895 0 0 0 0 +7600 1 1.1439 1 282.72158912673757 14.527181262266023 0 0 0 0 +7611 1 1.1433 1 286.595945480791 28.71114124492937 0 0 0 0 +7615 1 1.1432 1 279.5264147149903 47.76142979272206 0 0 0 0 +7621 1 1.1428 1 282.794677364902 43.86546394670291 0 0 0 0 +7629 1 1.1426 1 325.83235623786845 31.58310493126872 0 0 0 0 +7632 1 1.1422 1 327.9020849049978 15.389023467153832 0 0 0 0 +7636 1 1.1415 1 321.010317231791 16.552227496764413 0 0 0 0 +8263 1 1.097 1 324.09895494867646 33.546410485864314 0 0 0 0 +7663 1 1.1391 1 291.1872813496937 56.45052855766062 0 0 0 0 +7673 1 1.1384 1 301.8900337347046 33.34324557617291 0 0 0 0 +7677 1 1.1383 1 289.25176904758234 39.15790462187896 0 0 0 0 +7687 1 1.1373 1 285.48193508180475 47.365767299852756 0 0 0 0 +9559 1 1.0225 1 288.3689099601944 27.900969353782177 0 0 0 0 +1846 1 2.3319 1 292.4296469500412 12.584865348600283 0 0 1 0 +9294 1 1.0369 1 287.3378255166014 12.488888479159458 0 0 1 0 +7765 1 1.1312 1 307.14674560085405 52.93779028957942 0 0 0 0 +7795 1 1.1291 1 319.9848224903616 24.14246916003001 0 0 0 0 +3475 1 1.6991 1 330.1890516811341 40.81783244418308 0 -1 0 0 +7821 1 1.1274 1 293.58506618132714 56.96875239350104 0 0 0 0 +9202 1 1.0418 1 296.8739978381766 40.55111785113739 0 0 0 0 +7839 1 1.1265 1 324.6154167500914 34.600858596615524 0 0 0 0 +7864 1 1.1236 1 323.2273567049026 20.608085398705914 0 0 0 0 +7878 1 1.123 1 318.65379823265556 19.048411327595907 0 0 0 0 +7534 1 1.1499 1 287.2464348577064 13.607494223494994 0 0 0 0 +7926 1 1.1194 1 298.6732968064215 60.44730578644922 0 0 0 0 +2941 1 1.8502 1 315.8961300619976 14.156036173595613 0 0 1 0 +7944 1 1.1185 1 315.3535694436496 55.588487414024 0 0 0 0 +3064 1 1.8085 1 289.4446016573338 56.87294276492587 0 0 0 0 +9866 1 1.0065 1 294.6571141320657 41.484342394639405 0 0 0 0 +1554 1 2.531 1 329.2222932129626 35.75396801116696 0 -1 0 0 +8030 1 1.1128 1 329.0774846827146 49.734200745497475 0 0 0 0 +9882 1 1.0058 1 321.26474683001004 11.869466861691835 0 0 1 0 +8073 1 1.1094 1 290.18346830103394 22.1367212005117 0 0 0 0 +9068 1 1.0488 1 320.9583462533181 45.506390102354196 0 0 0 0 +8080 1 1.1086 1 310.15825337528776 32.740199243591235 0 0 0 0 +8092 1 1.1079 1 330.7129749107124 52.457921018040345 0 0 0 0 +8097 1 1.1075 1 278.9559372518558 38.275352805026635 0 0 0 0 +8146 1 1.1048 1 317.39068332121116 46.603350282226174 0 0 0 0 +8152 1 1.1046 1 281.8599394584039 42.8986999084846 0 0 0 0 +8840 1 1.0608 1 279.03350296073626 48.63756795451074 0 0 0 0 +8213 1 1.1005 1 299.02958113086424 57.948972375601315 0 0 0 0 +8136 1 1.1053 1 294.47787731667694 10.7225414812192 0 0 1 0 +9826 1 1.0087 1 322.0771011862337 16.60333314488329 0 0 1 0 +8222 1 1.1002 1 317.92233887535406 29.692021150554993 0 0 0 0 +9507 1 1.0255 1 302.744056196574 54.729623050911044 0 0 0 0 +8291 1 1.0956 1 292.65883249942124 23.209216507543545 0 0 0 0 +8311 1 1.0938 1 308.34950658478425 30.559887770920867 0 0 0 0 +8340 1 1.0911 1 296.18008333469646 37.15711137697902 0 0 0 0 +8357 1 1.0904 1 289.40030807661987 28.0838249425414 0 0 0 0 +8199 1 1.1016 1 293.77190817676393 11.551850600319918 0 0 1 0 +8414 1 1.0867 1 308.572589531421 47.97876096594247 0 0 0 0 +8444 1 1.0848 1 321.6227492377364 46.262486028905926 0 0 0 0 +8471 1 1.083 1 287.3286167880718 27.93609365430701 0 0 0 0 +8576 1 1.0767 1 308.1780762124616 58.21966307368639 0 0 0 0 +8579 1 1.0765 1 305.25001999703244 39.97267147869259 0 0 0 0 +8677 1 1.0712 1 314.5565970500847 50.31023159139021 0 0 0 0 +8690 1 1.0705 1 314.51240340464784 17.57417059354959 0 0 0 0 +8703 1 1.0697 1 318.49371796024684 26.387694446543357 0 0 0 0 +8750 1 1.067 1 312.57429864718216 47.845529437528434 0 0 0 0 +6119 1 1.2814 1 290.11604670793184 13.468522787597752 0 0 1 0 +8764 1 1.0654 1 298.3106717692889 42.12708210092591 0 0 0 0 +8772 1 1.0648 1 296.429138210402 31.953921139013605 0 0 0 0 +9855 1 1.007 1 287.649897020788 27.0010417096217 0 0 0 0 +8818 1 1.0622 1 289.53944518042886 33.41162028300485 0 0 0 0 +8821 1 1.0619 1 294.1296970737959 29.77374517985183 0 0 0 0 +8098 1 1.1075 1 328.4957858821146 16.337744758374512 0 0 1 0 +1581 1 2.5068 1 282.1337802623856 16.799581757384022 0 0 0 0 +8897 1 1.0575 1 295.6500168238732 31.268747488667653 0 0 0 0 +8900 1 1.0574 1 282.27326999548586 38.21036320552385 0 0 0 0 +8913 1 1.0569 1 289.9568904049777 55.44623195608798 0 0 0 0 +8959 1 1.0549 1 309.373852921584 45.723159240722765 0 0 0 0 +9179 1 1.043 1 280.8307915955412 44.87262494540029 0 0 0 0 +372 1 5.0959 1 313.17429300505165 11.07437513532213 0 0 1 0 +1148 1 2.959 1 317.1243960013924 12.188656912946456 0 0 1 0 +2234 1 2.1216 1 329.99162139134165 25.13375088945864 0 0 1 0 +3643 1 1.6639 1 328.7048977867808 30.082629711170053 0 -1 0 0 +2423 1 2.0395 1 310.4071275571293 61.36356115635692 0 0 0 0 +2105 1 2.1813 1 288.22358877037664 11.146743565519724 0 0 1 0 +7408 1 1.1605 1 329.75956088878206 26.745285185419952 0 0 0 0 +5801 1 1.3145 1 329.3155002178251 61.73563287491464 0 0 0 0 +877 1 3.4008 1 328.3521596881288 19.692218039778936 0 -1 1 0 +5524 1 1.3484 1 328.0858654619776 62.11663851568218 0 0 0 0 +7480 1 1.1543 1 308.45684674159185 61.55627375671796 0 0 0 0 +5285 1 1.3776 1 295.0180617322777 61.89690638083731 0 0 0 0 +4635 1 1.4764 1 320.9497880168417 63.217092489854544 0 0 0 0 +3399 1 1.7152 1 320.78385657295246 61.65464806866241 0 0 0 0 +9553 1 1.0231 1 319.8615745188195 62.620148050678964 0 0 0 0 +2900 1 1.8632 1 279.02873592030664 19.514403886146226 0 0 0 0 +9754 1 1.0127 1 329.57244377682986 16.114938014551466 0 -1 0 0 +3788 1 1.6324 1 329.34955145574213 17.402489135277467 0 0 0 0 +9679 1 1.0166 1 307.5020335809339 62.12394529859957 0 0 0 0 +3700 1 1.6461 1 329.3193897356715 22.011883775019044 0 0 1 0 +5339 1 1.371 1 330.1368615229891 15.078505767791443 0 0 0 0 +5522 1 1.3485 1 311.38368129843565 62.67605003226627 0 0 0 0 +480 1 4.5092 1 324.0983772453819 62.469661292524606 0 0 0 0 +5165 1 1.3931 1 331.4165317410314 39.74841733194414 0 -1 0 0 +6556 1 1.237 1 326.9266350943568 62.59207403435408 0 0 0 0 +6403 1 1.2515 1 278.81354146224686 35.42151458302361 0 0 0 0 +100 1 9.5786 1 328.0510221190286 10.048763075967209 0 0 1 0 +9344 1 1.0338 1 330.2774411666204 28.004781444964387 0 0 1 0 +3866 1 1.6136 1 331.22846732212327 35.99827359990992 0 0 1 0 +977 1 3.2106 1 331.05806045161796 30.051765427227345 0 0 0 0 +2644 1 1.951 1 330.81740016457854 34.18603888483595 0 0 1 0 +8056 1 1.1111 1 331.7651123940106 45.705185343374396 0 0 0 0 +6671 1 1.2249 1 331.809091240778 52.592495531652496 0 0 0 0 +48 1 13.4603 1 314.53715423820415 74.77580798392266 0 0 0 0 +82 1 10.1256 1 322.422544260024 84.89618606864063 0 0 0 0 +135 1 8.1095 1 330.00555825198984 94.11264710042512 0 0 0 0 +2602 1 1.9663 1 326.4256882997923 97.84174392585244 0 0 0 0 +2774 1 1.9048 1 327.654842892424 66.47413029508861 0 0 0 0 +9864 1 1.0066 1 319.29011882811443 97.99474251173565 0 0 0 0 +349 1 5.3534 1 313.3819610264607 97.10858444179385 0 0 0 0 +388 1 5.007 1 312.3514662589936 83.72008846934608 0 0 0 0 +7311 1 1.1696 1 319.6844376526384 104.88603767367077 0 -1 0 0 +404 1 4.9239 1 324.95176712638386 73.52576619762453 0 0 0 0 +408 1 4.903 1 322.0618845823813 98.74026989532615 0 0 0 0 +421 1 4.8073 1 322.8048548532377 92.22585369614042 0 0 0 0 +461 1 4.622 1 308.3421204809534 115.8806699788747 0 0 0 0 +524 1 4.285 1 316.6996956962116 92.36810942533873 0 0 0 0 +532 1 4.2494 1 317.6586164461903 99.97930715887242 0 0 0 0 +558 1 4.1793 1 311.44230382687414 102.44993887560861 0 0 0 0 +603 1 4.0078 1 317.9090701906187 66.81217529053741 0 0 0 0 +609 1 3.9921 1 326.88605446234635 69.54984638879903 0 0 0 0 +611 1 3.9852 1 317.29012227610895 104.0482230890612 0 0 0 0 +7716 1 1.1353 1 309.00369539799186 66.3176584045867 0 0 0 0 +2098 1 2.1849 1 319.3679946269682 64.11360308907275 0 0 0 0 +8925 1 1.0563 1 325.9660747863733 99.27998968524689 0 0 0 0 +9048 1 1.0501 1 322.88371379464644 75.64916179701505 0 0 0 0 +893 1 3.3679 1 330.16673276195104 86.44753372426024 0 0 0 0 +959 1 3.2367 1 327.925744548274 79.3395341960552 0 0 0 0 +8003 1 1.1143 1 322.5852106832404 105.12113295834072 0 -1 0 0 +9577 1 1.0217 1 310.36611286964165 98.10605791617293 0 0 0 0 +990 1 3.1931 1 303.20855316713494 70.43656585991369 0 0 0 0 +996 1 3.1804 1 310.63702547217633 109.71841218302885 0 0 0 0 +9617 1 1.0198 1 324.25094988285446 105.90175265594148 0 -1 0 0 +1015 1 3.155 1 318.1317103054332 96.36134137787369 0 0 0 0 +1135 1 2.9744 1 316.36432207144014 82.74901113861222 0 0 0 0 +1155 1 2.9488 1 311.8336896101603 88.01718747098629 0 0 0 0 +1172 1 2.9315 1 331.34511437432553 83.53615972643117 0 0 0 0 +4193 1 1.5504 1 305.93087121733953 69.47128125428303 0 0 0 0 +1239 1 2.8622 1 311.8454023057485 105.89730988826922 0 0 0 0 +6064 1 1.2871 1 303.964327561465 73.57519324735104 0 0 0 0 +1321 1 2.7659 1 322.14511904046566 77.44008560993414 0 0 0 0 +1367 1 2.7187 1 314.59209877311827 88.17694323760242 0 0 0 0 +1446 1 2.6269 1 313.41324105844365 109.24889494379248 0 0 0 0 +1450 1 2.6203 1 322.0092505340934 71.1775270035512 0 0 0 0 +1464 1 2.6072 1 319.6714701677682 94.02628576926654 0 0 0 0 +1477 1 2.5971 1 325.0860875474127 79.19623525129282 0 0 0 0 +1522 1 2.5527 1 314.07667964723834 104.41143565619791 0 0 0 0 +1524 1 2.5509 1 323.95711650998743 95.61938282401577 0 0 0 0 +8593 1 1.0756 1 326.3600237279164 67.12770118948752 0 0 0 0 +1603 1 2.4931 1 310.75380792850683 112.49433678976385 0 0 0 0 +6150 1 1.2782 1 325.2461570376814 105.25347574084196 0 -1 0 0 +8685 1 1.0707 1 329.47277836958443 81.8985367155533 0 0 0 0 +6614 1 1.2307 1 331.1902708201506 101.18156490344349 0 -1 0 0 +1772 1 2.3718 1 327.84000777864935 82.02371834002497 0 0 0 0 +1844 1 2.332 1 327.2682843858603 76.27281437131869 0 0 0 0 +1897 1 2.3023 1 309.721909500564 107.25393396382516 0 0 0 0 +9381 1 1.0319 1 307.8262743016457 82.6328683790397 0 0 0 0 +1978 1 2.2549 1 309.4948790904062 87.04688120378705 0 0 0 0 +2030 1 2.2225 1 317.0021328529904 87.85605715811558 0 0 0 0 +2043 1 2.2164 1 308.7808779870455 83.93465287267406 0 0 0 0 +579 1 4.1033 1 306.2291342114692 72.27943065647756 0 0 0 0 +2130 1 2.1644 1 308.67963443500014 111.49324978981956 0 0 0 0 +2144 1 2.158 1 307.2702099688968 79.92035722345754 0 0 0 0 +1019 1 3.1496 1 324.2903728113445 67.10435042266535 0 0 0 0 +94 1 9.6944 1 302.5279903577882 64.14176656361815 0 0 0 0 +2201 1 2.1368 1 327.7963508761868 87.80060082724597 0 0 0 0 +7909 1 1.1203 1 305.18146811404205 75.90255653815086 0 0 0 0 +2261 1 2.1135 1 314.0195179793126 106.77501238558003 0 0 0 0 +2281 1 2.1029 1 321.98728505003817 68.34194814455235 0 0 0 0 +2285 1 2.1012 1 307.12387670821795 76.9600628804852 0 0 0 0 +2315 1 2.0832 1 330.07457129064153 89.0914752283167 0 0 0 0 +2394 1 2.0502 1 319.59630479832623 91.3806412304057 0 0 0 0 +2477 1 2.018 1 325.1901525925991 76.90947946243999 0 0 0 0 +2478 1 2.0175 1 311.16490621206674 92.95849687772551 0 0 0 0 +9351 1 1.0335 1 315.0535091674045 102.92185360862308 0 0 0 0 +2498 1 2.0107 1 328.2567849863664 73.23800840454997 0 0 0 0 +4157 1 1.5566 1 324.3106776277411 70.45365762587883 0 0 0 0 +2627 1 1.9574 1 330.71563421402243 81.22008304057691 0 0 0 0 +2670 1 1.9414 1 322.6982665376701 102.04584815714354 0 0 0 0 +2821 1 1.8887 1 310.2521749550175 81.06855460012288 0 0 0 0 +3059 1 1.8101 1 324.3870715647001 101.33362346163425 0 0 0 0 +9854 1 1.0071 1 309.9257706328776 93.7235777680023 0 0 0 0 +8597 1 1.0753 1 310.8867152167179 86.28511074961422 0 0 0 0 +8547 1 1.0783 1 324.40606690212775 69.17170769496144 0 0 0 0 +9717 1 1.0143 1 328.43609585330785 67.64280953825647 0 0 0 0 +3243 1 1.7546 1 314.67128308273163 86.03414532107047 0 0 0 0 +6567 1 1.2359 1 326.1497396121583 66.02652091162412 0 0 0 0 +3323 1 1.7341 1 314.2571891108436 101.79990469823376 0 0 0 0 +9675 1 1.0169 1 301.3258515245917 69.3825856555525 0 0 0 0 +3429 1 1.709 1 312.8117247601667 112.7669818294301 0 0 0 0 +3477 1 1.6984 1 314.63687252839657 90.31725585741849 0 0 0 0 +3545 1 1.6833 1 326.7813623410067 90.1221100882631 0 0 0 0 +8942 1 1.0555 1 309.0120503177951 79.47554668876798 0 0 0 0 +3586 1 1.6739 1 316.1479086109388 95.16820484163131 0 0 0 0 +3600 1 1.6711 1 309.7518985509768 105.34076337672157 0 0 0 0 +3703 1 1.6458 1 309.6937990225428 88.97562665215754 0 0 0 0 +3714 1 1.6446 1 319.88101064521965 103.14553937500534 0 0 0 0 +3717 1 1.6443 1 312.444879341195 111.16748093357205 0 0 0 0 +6610 1 1.231 1 316.30994591234077 106.38322254395679 0 -1 0 0 +3182 1 1.7702 1 331.3633103604593 99.7252460686482 0 -1 0 0 +3902 1 1.6068 1 328.31414173592634 89.57905367010103 0 0 0 0 +3930 1 1.6018 1 314.79330172516313 100.24832785352012 0 0 0 0 +3969 1 1.592 1 321.9096263091318 74.1744806464006 0 0 0 0 +4124 1 1.5628 1 328.1442318497353 85.22210964170424 0 0 0 0 +7186 1 1.1794 1 328.7653397804803 64.13576855248913 0 0 0 0 +4145 1 1.5594 1 328.9554268160226 77.18256356730305 0 0 0 0 +4169 1 1.5554 1 329.28494781061795 84.21716543777228 0 0 0 0 +555 1 4.1894 1 328.47058158307635 100.0512922856969 0 -1 0 0 +4293 1 1.5341 1 313.1839364696771 89.75560674608553 0 0 0 0 +4325 1 1.5276 1 311.2146765167826 99.66436224630193 0 0 0 0 +4347 1 1.5234 1 312.38335425444035 91.73993869995275 0 0 0 0 +4405 1 1.5143 1 304.7924051375298 74.67609685621026 0 0 0 0 +6786 1 1.2142 1 325.1467021454795 106.48542450628611 0 -1 0 0 +6913 1 1.201 1 323.3423512700068 65.1810416585006 0 0 0 0 +4517 1 1.4944 1 325.79550189731674 96.28035101126163 0 0 0 0 +4520 1 1.4943 1 314.4237572355048 115.20294145392555 0 0 0 0 +4546 1 1.4902 1 323.19815320624053 69.53548583957172 0 0 0 0 +4562 1 1.4871 1 330.2076584491563 79.61841378129422 0 0 0 0 +4611 1 1.479 1 325.0860764245119 90.03252569607824 0 0 0 0 +9164 1 1.0439 1 306.3774042517722 78.52087278574488 0 0 0 0 +9395 1 1.031 1 322.25274604634365 95.09095738954409 0 0 0 0 +7742 1 1.1333 1 314.707131260053 65.05531725208161 0 0 0 0 +9615 1 1.0198 1 311.9493617657225 108.03908500546602 0 0 0 0 +6281 1 1.262 1 327.1432365768789 102.37833497333916 0 -1 0 0 +4824 1 1.4457 1 325.78540320260936 91.29808202574462 0 0 0 0 +4862 1 1.4396 1 325.25721564678395 94.1283433823963 0 0 0 0 +4930 1 1.4286 1 318.43125982153475 88.92435152599414 0 0 0 0 +4935 1 1.4278 1 317.31704084865635 89.64896946697709 0 0 0 0 +4963 1 1.4246 1 316.6935748761449 84.93643595685069 0 0 0 0 +4966 1 1.4241 1 319.28528608236326 69.12726928700795 0 0 0 0 +4455 1 1.5052 1 321.8657858193916 64.35450711952628 0 0 0 0 +8559 1 1.0775 1 321.5451285900659 72.92681947047232 0 0 0 0 +5053 1 1.4126 1 313.7880289163166 91.5456646642697 0 0 0 0 +5159 1 1.3939 1 320.5133912299991 67.45055741277443 0 0 0 0 +5160 1 1.3937 1 307.78755865679534 112.98175575753632 0 0 0 0 +5174 1 1.3919 1 324.8497091187347 97.35278110503874 0 0 0 0 +5181 1 1.3912 1 322.12474970463666 66.67961850098706 0 0 0 0 +5187 1 1.3902 1 311.014766894151 91.27506639902873 0 0 0 0 +5256 1 1.3813 1 309.78204055689105 90.69208943176983 0 0 0 0 +5265 1 1.3805 1 315.36069043591857 84.65452575343718 0 0 0 0 +5299 1 1.3759 1 315.9740678250788 89.63929180684154 0 0 0 0 +5367 1 1.3678 1 310.85789770797817 89.90709519351705 0 0 0 0 +5410 1 1.362 1 310.8180469270229 114.35647148297849 0 0 0 0 +5632 1 1.3336 1 331.59822679620345 112.45002011926428 0 -1 0 0 +5442 1 1.3574 1 315.73260066939235 101.94847527594023 0 0 0 0 +5447 1 1.3568 1 310.26996109758505 95.8860784757563 0 0 0 0 +5473 1 1.3535 1 320.3686024335222 96.11383594419135 0 0 0 0 +6666 1 1.2253 1 315.41568525979886 67.53284136429087 0 0 0 0 +5482 1 1.3526 1 321.2705582847343 102.72284641778937 0 0 0 0 +2087 1 2.1889 1 312.1139231840369 64.22768896520898 0 0 0 0 +5596 1 1.3377 1 329.8339796054404 78.27123626716472 0 0 0 0 +5598 1 1.3376 1 319.471416140916 89.76050747175701 0 0 0 0 +5603 1 1.3365 1 313.3540312906123 93.79783895814776 0 0 0 0 +5616 1 1.3354 1 320.02485255386836 79.71208733056554 0 0 0 0 +9794 1 1.0101 1 304.74382350022586 69.0071941031304 0 0 0 0 +5633 1 1.3335 1 327.9741791824005 83.80865019417337 0 0 0 0 +5678 1 1.3292 1 308.7762071496777 80.63756465817121 0 0 0 0 +5765 1 1.318 1 311.1528039524309 94.64980136616497 0 0 0 0 +5784 1 1.3157 1 320.7741618777449 101.52435953526992 0 0 0 0 +1013 1 3.1579 1 308.279098264859 69.39410361507046 0 0 0 0 +1557 1 2.5282 1 326.9772360201465 64.40524421573319 0 0 0 0 +5901 1 1.3046 1 325.6897084767032 92.63874445015102 0 0 0 0 +5911 1 1.3039 1 321.59743270385167 79.33357000996237 0 0 0 0 +9108 1 1.0468 1 312.39602757059396 100.08563878377899 0 0 0 0 +6052 1 1.2886 1 329.0062247930928 75.7914091204035 0 0 0 0 +8485 1 1.0818 1 322.51595415734846 103.5348621611621 0 0 0 0 +6162 1 1.2761 1 313.41569759899306 100.57256305350033 0 0 0 0 +6199 1 1.2717 1 311.2225560410312 115.96582470143538 0 0 0 0 +53 1 12.7957 1 320.63600489647894 111.77456599614234 0 -1 0 0 +6397 1 1.252 1 328.35527227669235 71.65667253954285 0 0 0 0 +6419 1 1.25 1 315.3200641701153 105.75844493415946 0 0 0 0 +6489 1 1.2444 1 312.014774301767 90.43168849023535 0 0 0 0 +6542 1 1.2382 1 321.7863167625518 75.53249628581717 0 0 0 0 +5786 1 1.3157 1 315.9233941823378 65.15616006587683 0 0 0 0 +9345 1 1.0338 1 314.64359937923814 81.92410651729963 0 0 0 0 +6645 1 1.2276 1 309.7195009033543 85.35041784946573 0 0 0 0 +6660 1 1.2263 1 314.0349905906841 92.79634275058012 0 0 0 0 +6673 1 1.2248 1 307.5212599656988 81.55345108823809 0 0 0 0 +6717 1 1.2207 1 309.58935967594016 82.4529105133223 0 0 0 0 +6730 1 1.2196 1 313.7157211566153 111.65663694752861 0 0 0 0 +6787 1 1.2142 1 326.42560910822897 77.81562589059713 0 0 0 0 +6966 1 1.197 1 309.9043468891328 91.97146860607505 0 0 0 0 +7013 1 1.1928 1 314.57746962771114 94.07393935176266 0 0 0 0 +7043 1 1.1901 1 308.6220051461907 81.86442952568704 0 0 0 0 +7393 1 1.1618 1 328.5743891615667 65.27840339955677 0 0 0 0 +7111 1 1.1849 1 323.74323052603825 76.31665804491747 0 0 0 0 +9544 1 1.0236 1 309.58364717097265 104.09069434688215 0 0 0 0 +7303 1 1.1702 1 313.94253497944874 113.62563050489325 0 0 0 0 +4645 1 1.4739 1 315.1728997044738 66.2472064512267 0 0 0 0 +1676 1 2.4408 1 312.59118225425414 114.77686446559997 0 -1 0 0 +7348 1 1.1662 1 319.5961863605797 101.80462178991839 0 0 0 0 +7353 1 1.1654 1 326.2412102637851 80.74654935818347 0 0 0 0 +7738 1 1.1335 1 315.27256666019343 116.12617023712694 0 0 0 0 +7389 1 1.1623 1 310.052588506932 100.21336281085384 0 0 0 0 +3695 1 1.6491 1 308.1404602237585 78.44789345018377 0 0 0 0 +9316 1 1.0353 1 317.9733389516235 81.246466827991 0 0 0 0 +7426 1 1.1593 1 320.43830329962 68.69382865726817 0 0 0 0 +7489 1 1.1531 1 321.1690084818126 95.15401088173846 0 0 0 0 +7503 1 1.1521 1 313.3475214143449 86.63412528747239 0 0 0 0 +7509 1 1.1518 1 312.2094561345908 94.10342184273105 0 0 0 0 +7646 1 1.1405 1 305.59251956522775 76.92355491649988 0 0 0 0 +3202 1 1.766 1 313.95544129089575 67.22794159442279 0 0 0 0 +8810 1 1.0627 1 310.0198134829604 94.73237415442486 0 0 0 0 +7737 1 1.1336 1 309.0455824474504 113.09597595663519 0 0 0 0 +724 1 3.7442 1 309.18166616051246 63.92242377637153 0 0 0 0 +3156 1 1.7777 1 306.9357002029111 75.0800414078643 0 0 0 0 +7867 1 1.1234 1 326.4894329601407 88.76281353436059 0 0 0 0 +7868 1 1.1234 1 308.5439333530073 109.88041875836828 0 0 0 0 +86 1 10.0392 1 330.6901587854345 106.7602580385475 0 -1 0 0 +8219 1 1.1003 1 313.66724804776 64.70488611446324 0 0 0 0 +7925 1 1.1194 1 317.03417657058566 86.21606313022552 0 0 0 0 +7939 1 1.1187 1 320.6472971731528 78.65992849282415 0 0 0 0 +8010 1 1.1141 1 315.50218953400326 107.17760054574389 0 0 0 0 +8023 1 1.1132 1 308.82712627631304 108.68419720273101 0 0 0 0 +8052 1 1.1112 1 320.29838128424393 70.35703849632243 0 0 0 0 +8064 1 1.11 1 320.6457221137975 90.21293137845036 0 0 0 0 +8088 1 1.1082 1 314.8274162649113 108.08834909347335 0 0 0 0 +8132 1 1.1055 1 310.16029832047303 97.08851013946601 0 0 0 0 +8198 1 1.1017 1 323.9653266733818 77.80664920996743 0 0 0 0 +8201 1 1.1014 1 324.92971483497297 99.57061197554762 0 0 0 0 +8209 1 1.1009 1 328.84644428633277 74.6406229180622 0 0 0 0 +8232 1 1.0996 1 316.02082132140924 85.98762236031017 0 0 0 0 +9530 1 1.0242 1 325.09969621348444 98.52840227574244 0 0 0 0 +8353 1 1.0904 1 303.36868047171833 72.55973364695843 0 0 0 0 +8370 1 1.089 1 329.3076740781283 82.93150947216704 0 0 0 0 +3474 1 1.6992 1 327.7390209644041 111.65727795925214 0 0 0 0 +8409 1 1.0871 1 310.0915647613784 99.09505947588202 0 0 0 0 +8422 1 1.0862 1 321.0670274308275 69.60753704437077 0 0 0 0 +9912 1 1.0045 1 327.7369172164369 74.65785682575049 0 0 0 0 +3470 1 1.6995 1 326.0974194245921 116.51938225055841 0 0 0 0 +757 1 3.6663 1 311.30721944121444 66.93687815001208 0 0 0 0 +7652 1 1.1401 1 306.3579248026212 68.02564314527734 0 0 0 0 +2296 1 2.0947 1 321.20797874138236 104.40107792995859 0 -1 0 0 +4834 1 1.4446 1 325.7464560564264 100.52343560328839 0 -1 0 0 +380 1 5.0732 1 329.0551035059343 114.61315743434481 0 -1 0 0 +9382 1 1.0317 1 323.607594675907 105.16719219560116 0 -1 0 0 +7285 1 1.1722 1 309.03187481637707 67.44743024846245 0 0 0 0 +9513 1 1.0252 1 322.31051018016433 65.51574968124608 0 0 0 0 +1454 1 2.6162 1 324.3506612920331 103.54250142609777 0 -1 0 0 +8399 1 1.0876 1 330.61387100258804 98.58892523802277 0 -1 0 0 +5589 1 1.3387 1 326.24858911961866 103.26078830024211 0 -1 0 0 +2078 1 2.1951 1 320.7241645888194 65.70979762476799 0 0 0 0 +7420 1 1.1596 1 313.453786225696 65.81798364187563 0 0 0 0 +2429 1 2.0361 1 307.5699058820734 66.93758513459741 0 0 0 0 +5101 1 1.4042 1 325.8766188209691 101.94131923385001 0 -1 0 0 +36 1 16.1974 1 294.0839192283463 157.22956143648742 0 0 0 0 +1055 1 3.0848 1 306.2388125640424 170.60112890988262 0 0 0 0 +92 1 9.7457 1 308.6581682194573 159.02698931888136 0 0 0 0 +2494 1 2.0127 1 315.31245227111447 117.61501253251562 0 -1 0 0 +117 1 9.1039 1 303.2534398779366 134.38080304926166 0 0 0 0 +132 1 8.3304 1 318.6741261705904 140.7009413966693 0 0 0 0 +140 1 7.8936 1 285.3584389408001 147.21138627034625 0 0 0 0 +145 1 7.8085 1 282.5452422432193 154.4471203182467 0 0 0 0 +2164 1 2.1503 1 300.664974559493 129.48312761850167 0 0 0 0 +182 1 7.1712 1 316.2413883632398 149.38286788203996 0 0 0 0 +217 1 6.5363 1 320.05684756856954 133.4858698272428 0 0 0 0 +243 1 6.2684 1 322.47283828083124 151.64061319535762 0 0 0 0 +283 1 5.8721 1 290.1153523414067 140.61550469795145 0 0 0 0 +285 1 5.8646 1 321.97231777632834 162.10702932176298 0 0 0 0 +289 1 5.8251 1 310.16780917081513 131.71312428673366 0 0 0 0 +320 1 5.5347 1 296.3630315136306 169.53668372568137 0 0 0 0 +8833 1 1.0613 1 302.8110729474035 123.34482956424603 0 0 0 0 +370 1 5.1401 1 301.6650567043995 146.10623408994357 0 0 0 0 +1577 1 2.5111 1 280.30703612742343 159.12124716148503 0 0 0 0 +5427 1 1.3595 1 313.1411940002233 124.43488051881508 0 0 0 0 +424 1 4.7977 1 294.28030980395573 137.3994521698671 0 0 0 0 +431 1 4.7556 1 304.90827514753346 149.70473713150662 0 0 0 0 +436 1 4.6998 1 309.0625329749258 138.03296769177845 0 0 0 0 +450 1 4.653 1 301.380039155012 169.8889442844284 0 0 0 0 +458 1 4.63 1 323.1400549005019 157.01641556931594 0 0 0 0 +463 1 4.6085 1 316.9508087067935 161.73208887860227 0 0 0 0 +465 1 4.5941 1 319.67468018102653 167.65989724749363 0 0 0 0 +8423 1 1.0862 1 313.470068561629 132.54693592792037 0 0 0 0 +482 1 4.5035 1 310.27538872024684 146.07891957486248 0 0 0 0 +497 1 4.377 1 325.12919597257513 128.39929460016435 0 0 0 0 +510 1 4.3236 1 296.7477153158156 141.06107039024226 0 0 0 0 +3795 1 1.6308 1 317.37511512376597 130.56393463347405 0 0 0 0 +593 1 4.0396 1 312.6596508755466 140.21445247801645 0 0 0 0 +615 1 3.9789 1 304.39548647483423 141.99058791905884 0 0 0 0 +743 1 3.6943 1 315.0452626951925 157.2112511117692 0 0 0 0 +7325 1 1.1684 1 318.01040175305207 129.32939179070354 0 0 0 0 +805 1 3.5783 1 311.0061443722092 149.97432999459895 0 0 0 0 +147 1 7.7409 1 281.81706467176036 166.34623932250122 0 0 0 0 +872 1 3.418 1 301.456747195971 163.52161661815168 0 0 0 0 +916 1 3.3273 1 313.3031280232917 164.57816374358512 0 0 0 0 +929 1 3.2964 1 329.9407829017453 131.55396109470405 0 0 0 0 +974 1 3.2142 1 326.2938564765446 162.12316523824435 0 0 0 0 +9591 1 1.0213 1 319.6016544400943 170.60632808759127 0 0 0 0 +1068 1 3.0621 1 321.8983605539927 145.28370574246173 0 0 0 0 +1075 1 3.0534 1 278.9711401903136 144.2072829867268 0 0 0 0 +1079 1 3.0432 1 284.19754219926654 141.88839285602907 0 0 0 0 +1097 1 3.0228 1 305.9334872824869 153.37909015439166 0 0 0 0 +2626 1 1.9574 1 322.4621621804332 169.0939421357104 0 0 0 0 +1126 1 2.9821 1 306.70167517352513 164.98914612058155 0 0 0 0 +1133 1 2.9757 1 290.7799762378969 168.0399892313336 0 0 0 0 +1173 1 2.9314 1 319.0235470754085 154.92096582433464 0 0 0 0 +1178 1 2.9289 1 313.3544517216317 136.86494718941 0 0 0 0 +4678 1 1.4678 1 280.90055326524333 145.92672102290987 0 0 0 0 +1193 1 2.9147 1 290.70564082949574 147.2304682227481 0 0 0 0 +1215 1 2.8938 1 309.2573536920367 166.24565914942184 0 0 0 0 +1244 1 2.8584 1 316.83229470745783 165.38150351911972 0 0 0 0 +1324 1 2.7634 1 300.37633652408675 166.3585386376169 0 0 0 0 +1361 1 2.7278 1 294.90124616382116 143.9963440641001 0 0 0 0 +1370 1 2.7124 1 286.95668065566275 166.57622507082937 0 0 0 0 +1384 1 2.7007 1 320.6086862302887 127.05097862916764 0 0 0 0 +1402 1 2.6809 1 308.5313231802655 141.65077914224398 0 0 0 0 +1433 1 2.6446 1 297.66158733484826 135.99108833091293 0 0 0 0 +1491 1 2.5859 1 302.7471065743714 153.7713002626155 0 0 0 0 +1512 1 2.5629 1 291.4002277442055 144.59280314453287 0 0 0 0 +1535 1 2.5426 1 304.60514114668376 168.4186546114618 0 0 0 0 +6096 1 1.2835 1 327.41420745712406 126.76423027690193 0 -1 0 0 +1569 1 2.5189 1 327.23120071604194 132.44859596027635 0 0 0 0 +1650 1 2.4531 1 315.985909568513 154.31837418475777 0 0 0 0 +1675 1 2.4413 1 327.04196167211273 134.80847925743944 0 0 0 0 +8825 1 1.0617 1 319.5722250620208 123.30407496817345 0 0 0 0 +3220 1 1.7598 1 315.26544695516316 131.74844056963775 0 0 0 0 +1779 1 2.3691 1 303.365702424738 156.12020111834485 0 0 0 0 +1793 1 2.3606 1 293.1166370989381 148.10939977701537 0 0 0 0 +1870 1 2.3199 1 310.74882301564645 152.88719647279456 0 0 0 0 +1908 1 2.2951 1 298.98243960231366 138.0407413306983 0 0 0 0 +3110 1 1.7942 1 318.6635185403319 128.04782119258354 0 0 0 0 +2009 1 2.2343 1 298.5680947622841 148.64918510755547 0 0 0 0 +2058 1 2.2069 1 286.60032305901353 162.60135994031845 0 0 0 0 +2072 1 2.1973 1 324.2760250296984 132.80615762217664 0 0 0 0 +2080 1 2.1929 1 278.37985296558185 151.7892652860679 0 0 0 0 +2101 1 2.1835 1 313.56670113001655 145.58113861210063 0 0 0 0 +2115 1 2.1728 1 301.53925038891896 149.65887323945122 0 0 0 0 +2128 1 2.1659 1 318.46595142700835 126.08713016481566 0 0 0 0 +2138 1 2.1603 1 298.14855504626354 145.368456936941 0 0 0 0 +2152 1 2.1561 1 323.7725318620132 140.9247006047609 0 0 0 0 +2219 1 2.128 1 288.34152293133565 168.46491165449245 0 0 0 0 +2242 1 2.1191 1 295.2774236943327 148.18194554471282 0 0 0 0 +2272 1 2.1054 1 310.71594575169416 142.54760629875304 0 0 0 0 +2276 1 2.1045 1 295.8461263881361 146.19176141399004 0 0 0 0 +2318 1 2.0805 1 325.47959849751584 137.61234241094044 0 0 0 0 +2320 1 2.0801 1 303.4737124539693 161.72070961139957 0 0 0 0 +2345 1 2.0701 1 315.71492770986004 144.90387011310014 0 0 0 0 +2383 1 2.0547 1 302.3588590675546 139.81161812601638 0 0 0 0 +1692 1 2.4289 1 300.9042930884426 127.30058093255684 0 0 0 0 +2397 1 2.0491 1 323.3231709956954 165.80143689176276 0 0 0 0 +2400 1 2.0481 1 294.53697800337073 166.26662285834269 0 0 0 0 +2476 1 2.0181 1 321.6454023369511 147.69533030345195 0 0 0 0 +2483 1 2.0162 1 320.10217895700106 129.2786212988049 0 0 0 0 +2488 1 2.0143 1 304.2364432455853 164.9320774492936 0 0 0 0 +2510 1 2.0067 1 328.7241490491108 127.6953104057858 0 0 0 0 +2511 1 2.0067 1 280.99132399488906 142.80924007377197 0 0 0 0 +2621 1 1.9597 1 320.7767086931494 122.40384720928253 0 -1 0 0 +2523 1 2.0031 1 291.0159278648708 136.88434128511773 0 0 0 0 +2567 1 1.9836 1 299.8447894333777 141.39286945397401 0 0 0 0 +2588 1 1.9756 1 304.9384947776446 144.8693764175957 0 0 0 0 +2616 1 1.9614 1 314.61231804687594 133.46511662867437 0 0 0 0 +8775 1 1.0647 1 324.0186397044419 117.78521940211131 0 0 0 0 +9868 1 1.0063 1 286.94942335959024 169.4845119145176 0 0 0 0 +3822 1 1.6225 1 304.264581199515 127.52435688375779 0 0 0 0 +2664 1 1.9429 1 317.92792678786765 157.3602522102031 0 0 0 0 +2692 1 1.9332 1 294.4548092437045 134.0851116584937 0 0 0 0 +2714 1 1.9253 1 284.85665114548965 161.5079191275418 0 0 0 0 +4131 1 1.562 1 302.8332019831924 126.94260934613973 0 0 0 0 +2756 1 1.9091 1 318.98996490680275 164.50254728674219 0 0 0 0 +2789 1 1.8984 1 299.6922244791369 150.26522663453483 0 0 0 0 +2805 1 1.8918 1 314.0688092890731 160.67894173132441 0 0 0 0 +2812 1 1.8909 1 292.0927682397776 166.00344101053406 0 0 0 0 +2815 1 1.8904 1 323.3863200983 135.95150257515138 0 0 0 0 +1545 1 2.5354 1 313.1144277270019 120.38812511034403 0 0 0 0 +2896 1 1.8636 1 306.56187113119745 143.87099052179744 0 0 0 0 +2920 1 1.8574 1 289.2029263416541 166.20998905246876 0 0 0 0 +967 1 3.2215 1 312.74610875548444 117.55692867656361 0 0 0 0 +2929 1 1.8552 1 297.2944166674433 165.61746046345377 0 0 0 0 +2973 1 1.8406 1 304.64436093195184 129.15323722314048 0 0 0 0 +9115 1 1.0465 1 327.756731955951 158.92993826973563 0 0 0 0 +5588 1 1.3388 1 305.69554131817074 127.21518514366755 0 0 0 0 +2974 1 1.8404 1 293.1181208320873 167.51454256467014 0 0 0 0 +3004 1 1.8288 1 315.430508879527 167.18942137692991 0 0 0 0 +3023 1 1.8198 1 312.15309992556257 134.89063389761262 0 0 0 0 +3049 1 1.8129 1 282.52886613837353 161.7231063443022 0 0 0 0 +3075 1 1.8063 1 283.49392709204216 160.29753969954973 0 0 0 0 +3100 1 1.7968 1 302.57747697633926 165.79757824053814 0 0 0 0 +3118 1 1.7906 1 327.61117356140727 130.38679773090126 0 0 0 0 +3209 1 1.7638 1 314.5290182846239 143.49104435117167 0 0 0 0 +3222 1 1.7597 1 292.77370081680294 169.2136387248478 0 0 0 0 +3278 1 1.7457 1 315.65787726384525 136.75535885899637 0 0 0 0 +3316 1 1.7361 1 293.63515377551386 142.15728799571392 0 0 0 0 +3341 1 1.7309 1 314.9862263142985 135.21288158000024 0 0 0 0 +3344 1 1.7303 1 305.26114975956483 139.3574994261874 0 0 0 0 +3364 1 1.7248 1 328.8496975468648 133.7836157506423 0 0 0 0 +9821 1 1.0088 1 289.31094246997384 149.1878500190117 0 0 0 0 +3398 1 1.7152 1 323.2301103532206 138.78036990728765 0 0 0 0 +3438 1 1.7072 1 292.7491500421408 146.20203873855198 0 0 0 0 +3458 1 1.701 1 308.5390790377466 150.66678706364428 0 0 0 0 +5847 1 1.3101 1 330.7186635328017 129.3926520695697 0 -1 0 0 +9898 1 1.0051 1 282.1787251465718 141.84083253286764 0 0 0 0 +1741 1 2.3907 1 309.7274898803146 126.60006235200825 0 0 0 0 +3515 1 1.691 1 285.89882307767556 140.28111497578954 0 0 0 0 +3528 1 1.6875 1 324.73365579723855 139.29907683017987 0 0 0 0 +3539 1 1.6852 1 285.65670368278114 168.98666144587054 0 0 0 0 +3592 1 1.6729 1 313.711066866136 167.02866273440776 0 0 0 0 +3601 1 1.6706 1 308.5371132194836 134.9888791522826 0 0 0 0 +3641 1 1.664 1 319.94985742956385 146.9848878188218 0 0 0 0 +3654 1 1.6615 1 291.39666767655467 170.2026847770631 0 0 0 0 +3656 1 1.661 1 284.2154310003805 158.787270136839 0 0 0 0 +3672 1 1.6552 1 327.08303128719774 136.74429609116766 0 0 0 0 +3678 1 1.6538 1 324.4506232093673 147.47103034479636 0 0 0 0 +2490 1 2.0135 1 317.1404588009651 124.5484402143197 0 0 0 0 +3683 1 1.6526 1 300.6569618301 139.04219203862198 0 0 0 0 +3689 1 1.6514 1 306.53025055894824 145.60976363266496 0 0 0 0 +3704 1 1.6457 1 299.0166387274168 164.6439201142718 0 0 0 0 +3728 1 1.6431 1 312.6272690073051 154.32081094715863 0 0 0 0 +3743 1 1.6406 1 282.33919889934026 159.09407051385844 0 0 0 0 +3754 1 1.6392 1 326.7797901698848 159.79978943582185 0 0 0 0 +3776 1 1.6346 1 308.1720091339851 148.24425257196597 0 0 0 0 +3781 1 1.6336 1 302.76349366103267 159.05939672329384 0 0 0 0 +3825 1 1.6216 1 327.0458424276729 150.34676201147778 0 0 0 0 +3832 1 1.6205 1 286.95420669405945 164.4649048726832 0 0 0 0 +9110 1 1.0468 1 331.54438276321116 130.15361034724646 0 -1 0 0 +3892 1 1.6098 1 300.3431805728686 143.06794369957575 0 0 0 0 +3122 1 1.7876 1 330.2323539538788 124.97445551952497 0 -1 0 0 +3936 1 1.601 1 301.6017472796507 141.4106991669176 0 0 0 0 +3946 1 1.5983 1 279.090618209782 157.5105427804454 0 0 0 0 +3963 1 1.5935 1 314.2793114911558 153.28589691633147 0 0 0 0 +4062 1 1.5728 1 307.3237012853983 151.63647364256497 0 0 0 0 +9910 1 1.0046 1 280.9540500948173 147.15985913338363 0 0 0 0 +4152 1 1.558 1 325.5261301541932 158.9159656911514 0 0 0 0 +4177 1 1.5534 1 305.0525106943575 166.46742015112906 0 0 0 0 +4182 1 1.5526 1 301.8679702666027 142.87820417423413 0 0 0 0 +4194 1 1.5503 1 319.3602503901995 158.34881264419818 0 0 0 0 +2970 1 1.8422 1 328.9906505429731 135.52649787981582 0 0 0 0 +7882 1 1.1228 1 301.27132730787963 125.6178544152054 0 0 0 0 +2050 1 2.2107 1 298.5789425790305 129.9115914969323 0 0 0 0 +4306 1 1.5315 1 282.17820113958857 143.95710982053512 0 0 0 0 +4365 1 1.5203 1 314.1020088943212 154.80470551034327 0 0 0 0 +4375 1 1.519 1 300.9416159054472 151.34086031467947 0 0 0 0 +8815 1 1.0624 1 311.05769234098665 128.43433889162736 0 0 0 0 +4413 1 1.5129 1 287.51713736009 143.10734977266546 0 0 0 0 +1119 1 2.9885 1 331.10754733824103 134.42431837106506 0 0 0 0 +1290 1 2.8027 1 306.9010134514592 128.84280793686887 0 0 0 0 +4438 1 1.5081 1 286.3174738136199 151.75455647245346 0 0 0 0 +4454 1 1.506 1 310.5683163079745 135.34356618021573 0 0 0 0 +4489 1 1.4996 1 318.8400926305094 152.77171343348184 0 0 0 0 +4528 1 1.4937 1 322.6966522650283 167.417832731026 0 0 0 0 +4530 1 1.4931 1 301.90460033699645 161.12175530096695 0 0 0 0 +4544 1 1.4905 1 324.96001775526986 165.29027845795795 0 0 0 0 +4545 1 1.4903 1 319.2488078199642 145.57525844449313 0 0 0 0 +4555 1 1.4883 1 325.35315169897854 148.7404014440729 0 0 0 0 +4764 1 1.4542 1 318.85620875309877 124.3268393980524 0 0 0 0 +4600 1 1.4802 1 308.44291481028984 152.60285516120058 0 0 0 0 +4616 1 1.4787 1 287.687943142958 151.21796783933982 0 0 0 0 +9831 1 1.0086 1 311.33863359873607 154.41074874608387 0 0 0 0 +4636 1 1.4758 1 297.96175613732777 143.63809593321216 0 0 0 0 +4642 1 1.4749 1 289.12581361825335 164.48947411080553 0 0 0 0 +4643 1 1.4742 1 308.1743850126073 143.6637201822685 0 0 0 0 +4675 1 1.4683 1 316.5424808041322 135.41531936042108 0 0 0 0 +4355 1 1.5222 1 281.08730889386163 160.9610548209854 0 0 0 0 +4693 1 1.4656 1 328.94418842182677 129.47674270444304 0 0 0 0 +4709 1 1.4631 1 306.7066215625395 139.994001945306 0 0 0 0 +4770 1 1.453 1 320.5440150379333 124.06837769146588 0 0 0 0 +4797 1 1.4496 1 317.14049507416297 155.86534139611334 0 0 0 0 +4818 1 1.4461 1 286.2066587574717 142.64675520793136 0 0 0 0 +4830 1 1.4448 1 325.1097569074411 134.7996979783522 0 0 0 0 +4837 1 1.4437 1 308.07603340443745 168.00212640854645 0 0 0 0 +4841 1 1.4429 1 328.2715137672844 160.03010268960415 0 0 0 0 +4866 1 1.4388 1 316.980803143442 158.7578084001 0 0 0 0 +4878 1 1.437 1 297.20416167211084 138.24733370177978 0 0 0 0 +4879 1 1.4369 1 299.33416506814524 139.8190741189345 0 0 0 0 +4882 1 1.4364 1 293.83058115195075 140.58088634477016 0 0 0 0 +4894 1 1.4334 1 317.7944718346236 145.43866873684811 0 0 0 0 +4942 1 1.427 1 298.39109750935995 166.77261103880045 0 0 0 0 +9479 1 1.027 1 299.4057181025864 128.42267019972692 0 0 0 0 +5010 1 1.4195 1 288.7853442126142 150.2737104138121 0 0 0 0 +5023 1 1.4174 1 296.83142545424533 148.92416020411284 0 0 0 0 +5036 1 1.4154 1 295.99743217695885 134.84695610800264 0 0 0 0 +5095 1 1.4049 1 323.9960797816692 146.0166749546927 0 0 0 0 +5111 1 1.4019 1 289.4643171329354 144.50115934221492 0 0 0 0 +1910 1 2.2934 1 307.33285496485905 126.33980944899406 0 0 0 0 +5180 1 1.3913 1 317.5820001878914 153.38447867827472 0 0 0 0 +5231 1 1.385 1 322.55730674730626 127.29795861515872 0 0 0 0 +9902 1 1.0049 1 282.45864101017645 142.7833184278219 0 0 0 0 +5296 1 1.3765 1 311.0824879192513 165.23328227977385 0 0 0 0 +5307 1 1.3747 1 288.0817918328482 163.56499668332188 0 0 0 0 +5312 1 1.3741 1 316.1788734187912 132.97235247122632 0 0 0 0 +5327 1 1.3722 1 323.7162355871237 142.666667837674 0 0 0 0 +9918 1 1.0044 1 321.638992709018 123.51881391803624 0 0 0 0 +5397 1 1.3642 1 314.0353430054194 162.31762927513375 0 0 0 0 +5411 1 1.3619 1 311.1459116495915 163.90043896109037 0 0 0 0 +5425 1 1.3598 1 323.6867665739793 144.02905531585117 0 0 0 0 +5453 1 1.3555 1 313.0486073378296 155.72988732937696 0 0 0 0 +5471 1 1.3535 1 303.80137206417777 163.36667217777438 0 0 0 0 +5494 1 1.3516 1 319.2362204790665 159.8265373597322 0 0 0 0 +5509 1 1.3499 1 307.1949226185141 167.02757110652814 0 0 0 0 +5519 1 1.3489 1 304.8599425804464 146.61273366694485 0 0 0 0 +9807 1 1.0096 1 292.3777179985462 143.10481767195887 0 0 0 0 +5530 1 1.3473 1 306.571151568679 168.4181413331713 0 0 0 0 +5550 1 1.3442 1 306.14531546386957 146.98009010349108 0 0 0 0 +5557 1 1.3437 1 290.4485440921255 149.30417472702533 0 0 0 0 +5560 1 1.3435 1 320.73380813199606 158.7640295548552 0 0 0 0 +2340 1 2.0722 1 321.16155085223744 120.49678477532368 0 -1 0 0 +5641 1 1.333 1 322.8131479134441 137.40587232909525 0 0 0 0 +5654 1 1.3321 1 316.8768155867487 168.5488947329212 0 0 0 0 +4651 1 1.4733 1 329.0949378786467 126.06846575761625 0 -1 0 0 +7706 1 1.1359 1 314.79262940513246 122.94713623590269 0 0 0 0 +9803 1 1.0098 1 322.70381182027654 125.25612945641276 0 0 0 0 +5715 1 1.3246 1 290.3371360302093 165.07095269424883 0 0 0 0 +5721 1 1.3241 1 311.92803896822835 143.79646267748066 0 0 0 0 +5737 1 1.322 1 298.61284889520755 146.96701671284052 0 0 0 0 +5813 1 1.3132 1 325.0161857994569 163.94153343668367 0 0 0 0 +5814 1 1.3128 1 298.96919373307213 142.75361563906938 0 0 0 0 +5859 1 1.3092 1 322.80933328441404 130.19186967932416 0 0 0 0 +5866 1 1.3088 1 321.64481225098865 136.9757239491824 0 0 0 0 +5886 1 1.3061 1 320.26065521534133 156.54626172743355 0 0 0 0 +5982 1 1.2966 1 284.84116300455116 163.05254404161164 0 0 0 0 +6030 1 1.2917 1 309.9322954597824 164.3377882068503 0 0 0 0 +6037 1 1.2909 1 324.715616802064 131.15926562189978 0 0 0 0 +6055 1 1.2883 1 285.62941295018436 164.02969267738422 0 0 0 0 +6091 1 1.2841 1 311.31730848704984 166.52452676147806 0 0 0 0 +9871 1 1.0063 1 309.8722604871598 128.3083775760267 0 0 0 0 +6189 1 1.2731 1 307.4684344417163 146.71853947345056 0 0 0 0 +6242 1 1.266 1 325.7448316047226 133.5791418233365 0 0 0 0 +6260 1 1.2638 1 305.36308930772265 163.43346346340397 0 0 0 0 +6277 1 1.2623 1 301.3887480883276 152.55068401134264 0 0 0 0 +5619 1 1.3348 1 314.4230912156859 119.00702934361496 0 0 0 0 +3496 1 1.6941 1 285.73474044138334 170.61855605512983 0 0 0 0 +3360 1 1.7257 1 308.7278316699152 124.92016356662631 0 0 0 0 +6340 1 1.258 1 312.4983527731241 152.91770596061153 0 0 0 0 +9979 1 1.0013 1 299.032366274487 131.4512380004007 0 0 0 0 +6382 1 1.2532 1 318.2161882106631 159.0914147878256 0 0 0 0 +6399 1 1.2519 1 321.920096159548 124.54047060875969 0 0 0 0 +241 1 6.2782 1 314.67712507301695 127.82906045442661 0 0 0 0 +6407 1 1.251 1 323.81782932316696 134.45481329925138 0 0 0 0 +6408 1 1.251 1 297.1112480530367 134.14347066417804 0 0 0 0 +1002 1 3.1757 1 305.52277297062125 120.53980702722149 0 0 0 0 +6459 1 1.2468 1 307.7146226694766 144.89334363327768 0 0 0 0 +6487 1 1.2446 1 321.7134437511577 165.62581040233547 0 0 0 0 +6492 1 1.2441 1 303.72264356205864 166.74698389316254 0 0 0 0 +6495 1 1.2435 1 323.3183331447515 131.3624172584955 0 0 0 0 +6503 1 1.2428 1 321.7171889097393 128.71994514929136 0 0 0 0 +6532 1 1.2393 1 297.36469614317537 146.84958901013832 0 0 0 0 +6563 1 1.2362 1 321.0370414279782 155.06653233628498 0 0 0 0 +6587 1 1.2334 1 306.8397245038912 130.78033075594251 0 0 0 0 +6602 1 1.2313 1 281.0262941260456 144.6227673576912 0 0 0 0 +6619 1 1.2305 1 327.783895806463 128.9365581703397 0 0 0 0 +6641 1 1.2279 1 325.26700991173243 160.25193073829743 0 0 0 0 +6651 1 1.2267 1 313.1504903455179 143.95176102982552 0 0 0 0 +6695 1 1.2226 1 326.077316250288 151.2634626322992 0 0 0 0 +6697 1 1.2224 1 322.6310652616087 143.3046494329441 0 0 0 0 +6725 1 1.2201 1 313.62986776140593 134.70409284855126 0 0 0 0 +6818 1 1.2105 1 298.1897256780784 133.57845380636238 0 0 0 0 +6833 1 1.2088 1 293.23090171542634 144.90562400250747 0 0 0 0 +9462 1 1.0277 1 299.81089509099456 130.80210797674692 0 0 0 0 +6869 1 1.2048 1 281.78241759948327 150.01574439897647 0 0 0 0 +6879 1 1.2041 1 314.7581467647879 168.45008130872264 0 0 0 0 +6918 1 1.2005 1 323.1044153195609 147.03190911328792 0 0 0 0 +6954 1 1.1981 1 324.8655120972721 136.09394253769545 0 0 0 0 +7024 1 1.1919 1 296.64399125506293 144.78022296561653 0 0 0 0 +9408 1 1.0302 1 310.66723499173173 117.41040215617231 0 0 0 0 +7058 1 1.1892 1 286.2829716171028 160.97440112455396 0 0 0 0 +4695 1 1.4654 1 311.44803851733593 125.8526740674651 0 0 0 0 +7086 1 1.1873 1 309.4466463820362 151.75736552468916 0 0 0 0 +7132 1 1.1835 1 285.58557825029703 158.80684527532162 0 0 0 0 +7147 1 1.1825 1 324.3527529480707 159.57804242180475 0 0 0 0 +7172 1 1.1805 1 303.46356623663803 157.87542805610587 0 0 0 0 +7236 1 1.1752 1 304.06268511246157 152.4994469302628 0 0 0 0 +7240 1 1.1746 1 304.14372820590097 170.7003603911954 0 0 0 0 +7263 1 1.1734 1 286.90842843191655 139.30475673724766 0 0 0 0 +7273 1 1.173 1 309.2099597274054 153.63833704119088 0 0 0 0 +7383 1 1.1628 1 286.7046825350207 141.44984237390238 0 0 0 0 +7384 1 1.1627 1 313.36178885336795 142.6990131618504 0 0 0 0 +7400 1 1.1614 1 312.5372797636983 151.72532981304798 0 0 0 0 +7488 1 1.1533 1 285.9219328029769 159.8985774256016 0 0 0 0 +9994 1 1.0002 1 296.7456908457408 147.7380992196724 0 0 0 0 +7528 1 1.1506 1 309.4040451911379 143.40717606037325 0 0 0 0 +5878 1 1.3076 1 326.1692379426896 130.95021371006763 0 0 0 0 +7539 1 1.1495 1 284.8642290590306 159.9995758995624 0 0 0 0 +7623 1 1.1427 1 280.6494898963119 148.18535695970516 0 0 0 0 +7626 1 1.1427 1 302.12035431586884 167.13818313001778 0 0 0 0 +7647 1 1.1404 1 293.0761432962187 134.75090745037966 0 0 0 0 +7668 1 1.1387 1 312.27068166657483 142.70012452137883 0 0 0 0 +7744 1 1.1332 1 320.23946565192296 148.3528410739994 0 0 0 0 +7752 1 1.132 1 324.57365445115266 154.58801349850611 0 0 0 0 +7802 1 1.1286 1 316.8653189706935 167.34653030663605 0 0 0 0 +7829 1 1.1271 1 315.3972150941146 164.0751498070314 0 0 0 0 +7837 1 1.1266 1 302.3794758883974 151.87657629559084 0 0 0 0 +7847 1 1.1256 1 306.03772329033745 167.31933804877886 0 0 0 0 +7893 1 1.1218 1 320.9928527748408 125.23274630714506 0 0 0 0 +7911 1 1.1201 1 294.34278049439877 146.8569113500401 0 0 0 0 +798 1 3.5963 1 278.7257108877286 161.70185022233392 0 0 0 0 +7987 1 1.1152 1 325.74895340959944 149.96602981051294 0 0 0 0 +8011 1 1.1139 1 322.18001866634455 126.11771226774225 0 0 0 0 +6018 1 1.2926 1 302.21828147554004 124.42875222642914 0 0 0 0 +8094 1 1.1076 1 307.7910341780917 149.52649721430907 0 0 0 0 +6551 1 1.2375 1 302.37460888910425 125.66300513757842 0 0 0 0 +8133 1 1.1055 1 295.23487033891604 132.8019373333613 0 0 0 0 +6548 1 1.2378 1 313.6820727136905 131.42770220691008 0 0 0 0 +8139 1 1.1052 1 299.26688859726625 167.93770067116753 0 0 0 0 +8151 1 1.1047 1 306.26456882278114 138.4400387463554 0 0 0 0 +8171 1 1.1028 1 313.02271296685336 133.694016589018 0 0 0 0 +8215 1 1.1004 1 299.2136136345903 144.10420789411506 0 0 0 0 +8256 1 1.0974 1 280.9241456486191 149.26289474957142 0 0 0 0 +8283 1 1.0962 1 316.3054229233426 134.1781662005854 0 0 0 0 +8322 1 1.0926 1 293.0486551280211 143.8127445283735 0 0 0 0 +8351 1 1.0905 1 279.8450957308318 151.07662520810612 0 0 0 0 +8406 1 1.0872 1 312.8288171898387 162.44321395138667 0 0 0 0 +8612 1 1.0744 1 297.20480304225464 130.7189788479697 0 0 0 0 +7055 1 1.1894 1 321.58564088909725 129.93601837750452 0 0 0 0 +8556 1 1.0777 1 288.5894954912231 143.7184059165454 0 0 0 0 +2148 1 2.1575 1 302.6905158116976 128.7843971920357 0 0 0 0 +8605 1 1.0747 1 286.6675244842669 152.9471643591016 0 0 0 0 +8614 1 1.0744 1 294.0658424324106 145.7363322271371 0 0 0 0 +8620 1 1.0737 1 288.0975975534894 165.13503618267896 0 0 0 0 +9786 1 1.0107 1 306.99189508264413 147.7462239214283 0 0 0 0 +9986 1 1.0008 1 325.570768146641 131.9127690407984 0 0 0 0 +8824 1 1.0618 1 292.11875516218095 135.5078853433898 0 0 0 0 +308 1 5.6892 1 317.37849817952434 120.76878274529803 0 0 0 0 +8830 1 1.0616 1 303.4081762207151 160.19159322163563 0 0 0 0 +7423 1 1.1594 1 313.01739118673976 122.19248166430687 0 0 0 0 +8841 1 1.0607 1 307.5630180021916 169.08342051376079 0 0 0 0 +8872 1 1.0589 1 315.08318707265283 159.59669492601026 0 0 0 0 +8896 1 1.0575 1 304.31023596328356 154.520578599662 0 0 0 0 +8908 1 1.057 1 290.64895271496664 166.1219923859557 0 0 0 0 +8924 1 1.0564 1 289.536781801841 145.68214631520217 0 0 0 0 +8937 1 1.0558 1 313.43556076046707 152.31763520020846 0 0 0 0 +8960 1 1.0548 1 325.9337259652605 136.12054685990182 0 0 0 0 +8965 1 1.0543 1 303.876889764525 139.4864614841226 0 0 0 0 +8970 1 1.0541 1 323.9781294397161 137.28395963918402 0 0 0 0 +8975 1 1.0539 1 285.49356391206857 157.71297194135687 0 0 0 0 +8983 1 1.0535 1 314.548537339164 138.45859861710497 0 0 0 0 +8991 1 1.0531 1 316.6746533360237 131.76471873619414 0 0 0 0 +8995 1 1.053 1 317.46111904993097 136.21610049017488 0 0 0 0 +9030 1 1.0511 1 310.1714208208162 140.75030822428573 0 0 0 0 +9052 1 1.05 1 300.8974252021374 140.32806708907106 0 0 0 0 +9939 1 1.0033 1 308.82679301922445 149.35830585862402 0 0 0 0 +9171 1 1.0434 1 304.678702495967 162.59343901127068 0 0 0 0 +9257 1 1.0391 1 296.7360550910966 143.70337986068316 0 0 0 0 +4511 1 1.4952 1 307.268190465664 124.44421106341083 0 0 0 0 +9341 1 1.0341 1 306.75369328943555 141.22283761926835 0 0 0 0 +9369 1 1.0325 1 314.98756975548235 165.87197342639166 0 0 0 0 +9371 1 1.0323 1 303.0475272095578 167.62526221318993 0 0 0 0 +9445 1 1.0286 1 306.8600995380694 142.45521672571374 0 0 0 0 +4874 1 1.4374 1 323.41390242362945 126.17647446682228 0 -1 0 0 +9478 1 1.027 1 318.786893618629 129.99849820133684 0 0 0 0 +9511 1 1.0253 1 304.84255660290034 155.3317504121512 0 0 0 0 +9527 1 1.0244 1 286.8131740235615 168.40302409384105 0 0 0 0 +9546 1 1.0235 1 323.9390015659335 167.20895241972454 0 0 0 0 +9567 1 1.0221 1 320.40660053977786 157.6575424691093 0 0 0 0 +9574 1 1.0219 1 302.5432709748379 157.5566726169147 0 0 0 0 +679 1 3.827 1 304.70404368835824 124.87237101057605 0 0 0 0 +6085 1 1.2846 1 331.2487679782574 121.52047248850765 0 -1 0 0 +9616 1 1.0198 1 296.04795317223216 166.28424583422046 0 0 0 0 +9624 1 1.0196 1 307.91457051739957 153.71581625512678 0 0 0 0 +9633 1 1.0189 1 312.45606872133374 166.5744452347787 0 0 0 0 +9634 1 1.0189 1 295.84944182081216 133.66062883867914 0 0 0 0 +9653 1 1.0178 1 328.1080907736162 161.18211995215594 0 0 0 0 +9682 1 1.0165 1 314.2649256186622 142.1388536973594 0 0 0 0 +9684 1 1.0163 1 325.8308788808189 157.7188636653338 0 0 0 0 +9776 1 1.0112 1 282.1377873445793 160.37317131495283 0 0 0 0 +9778 1 1.0111 1 314.0030042884589 159.27114972136476 0 0 0 0 +1750 1 2.3849 1 296.9020117697488 132.35828374893745 0 0 0 0 +4483 1 1.5006 1 308.34265059167615 123.40059644267859 0 0 0 0 +1459 1 2.6095 1 279.093836669408 149.52992289387095 0 0 0 0 +9022 1 1.0516 1 308.8360941834968 122.23281634824386 0 0 0 0 +138 1 7.9495 1 329.0284260565835 154.66701116513917 0 -1 0 0 +9339 1 1.0342 1 298.60533381571605 132.37340107948756 0 0 0 0 +8512 1 1.0801 1 329.8417963400492 128.66805205420616 0 0 0 0 +9810 1 1.0095 1 315.90899049477747 123.71546409678723 0 0 0 0 +9029 1 1.0512 1 308.80456595413597 128.62225985435728 0 0 0 0 +7715 1 1.1353 1 314.2048499510718 123.87642065636248 0 0 0 0 +7069 1 1.1884 1 278.5183547620984 158.7414243781393 0 0 0 0 +4982 1 1.4226 1 322.859220060902 118.42438547923193 0 0 0 0 +7295 1 1.1712 1 308.4017345566538 127.6473258022185 0 0 0 0 +485 1 4.4667 1 331.55977296939824 118.59388114186451 0 -1 0 0 +6071 1 1.2864 1 307.9178239492071 121.56702467649627 0 0 0 0 +8391 1 1.0879 1 313.32520212665173 123.23991013878603 0 0 0 0 +9857 1 1.0069 1 315.14483018070246 124.27738738051615 0 0 0 0 +9342 1 1.0341 1 311.1224677638404 127.4345817205969 0 -1 0 0 +6318 1 1.2594 1 314.15881741939086 121.9506511124029 0 0 0 0 +126 1 8.5499 1 326.16294467370915 122.05078815162726 0 -1 0 0 +2838 1 1.8831 1 315.71173293220767 169.59986940682143 0 0 0 0 +2922 1 1.8566 1 317.5369936197358 169.98809549016144 0 0 0 0 +2248 1 2.1182 1 306.7333444145953 122.76360152011468 0 0 0 0 +5336 1 1.3715 1 329.36233318074824 159.24317469790287 0 0 0 0 +715 1 3.7568 1 310.91804924672806 123.36884075515097 0 0 0 0 +7321 1 1.1687 1 319.8543248618358 125.17846748528282 0 -1 0 0 +4596 1 1.4808 1 321.2451964357899 118.7901583119365 0 -1 0 0 +3164 1 1.7761 1 303.80872515039295 122.28272156731667 0 0 0 0 +4126 1 1.5627 1 321.1678687153923 170.36071571983894 0 0 0 0 +9185 1 1.0429 1 307.3322055384595 119.52803827229201 0 0 0 0 +1347 1 2.7389 1 279.1337596263981 146.98229037128914 0 0 0 0 +9432 1 1.0292 1 307.61830245538385 120.48721394541941 0 0 0 0 +4508 1 1.4956 1 328.7149524080833 117.81032678700305 0 -1 0 0 +638 1 3.9176 1 309.98400889553466 119.76735506086841 0 0 0 0 +9443 1 1.0287 1 322.2407295898415 119.43967947361014 0 -1 0 0 +6335 1 1.2584 1 284.51201916643663 169.88390439469632 0 0 0 0 +886 1 3.38 1 331.3828030571045 127.14641981082688 0 -1 0 0 +7900 1 1.1214 1 307.83217074201383 118.63301918163707 0 0 0 0 +4207 1 1.5486 1 306.58885927975314 118.39952905531646 0 0 0 0 +9890 1 1.0055 1 316.8035882215731 117.48824212791486 0 0 0 0 +7343 1 1.1667 1 319.9759919438795 118.65888941713968 0 0 0 0 +9054 1 1.05 1 305.3604462752321 118.48652265829739 0 0 0 0 +3894 1 1.6091 1 292.8648699757512 170.81576277520563 0 0 0 0 +5783 1 1.3157 1 327.37294536619646 117.29847836209998 0 -1 0 0 +3161 1 1.7766 1 283.37277676811345 170.82556026672685 0 0 0 0 +179 1 7.2295 1 311.32496062717155 170.76176669050827 0 0 0 0 +9380 1 1.032 1 324.99413275756814 117.36964066730334 0 0 0 0 +9758 1 1.0124 1 305.9355943383158 117.32234809309193 0 0 0 0 +43 1 15.1326 1 295.5570708265529 221.29905808987294 0 0 0 0 +46 1 13.6753 1 289.49448121359956 207.86713810334686 0 0 0 0 +114 1 9.201 1 279.8487847343086 217.34661734320056 0 0 0 0 +139 1 7.9219 1 311.9460560159606 181.56870817644787 0 0 0 0 +184 1 7.1175 1 304.2803825300567 210.96417370305156 0 0 0 0 +220 1 6.4978 1 298.43490152852814 193.65952337969648 0 0 0 0 +261 1 6.126 1 300.89383623239615 187.26092772080005 0 0 0 0 +6295 1 1.261 1 289.52600280440726 181.2004839699986 0 0 0 0 +321 1 5.5344 1 292.6024390251102 189.191111982969 0 0 0 0 +8587 1 1.0761 1 305.11939249852645 192.14913260980435 0 0 0 0 +8890 1 1.0579 1 307.2189303139828 213.71127150254767 0 0 0 0 +368 1 5.1625 1 308.2175817617801 191.96226436661567 0 0 0 0 +389 1 5.0003 1 293.47521912156634 196.43930911831333 0 0 0 0 +393 1 4.9614 1 305.71927829298875 182.01768840551802 0 0 0 0 +402 1 4.9292 1 301.992182793747 178.96419829814 0 0 0 0 +444 1 4.6675 1 308.9819177240216 197.74608207631874 0 0 0 0 +6863 1 1.2064 1 287.43944417247343 180.91131841731948 0 0 0 0 +536 1 4.2432 1 310.8483011968871 219.69848375564814 0 0 0 0 +423 1 4.7986 1 288.6574184091425 171.83213504730222 0 0 0 0 +584 1 4.0796 1 312.0684984917151 189.5750558322398 0 0 0 0 +588 1 4.0645 1 307.61422697250174 202.31595351837277 0 0 0 0 +5260 1 1.3807 1 307.38032741474615 172.43986734397095 0 0 0 0 +678 1 3.8278 1 304.40192521236804 218.28972847798056 0 0 0 0 +697 1 3.7924 1 307.1139011912172 220.7952459088876 0 0 0 0 +756 1 3.672 1 305.3996790933125 188.73315905470662 0 0 0 0 +809 1 3.5695 1 310.76064501362185 209.28286420662297 0 0 0 0 +840 1 3.4825 1 299.3705856573824 198.49024484165267 0 0 0 0 +3013 1 1.8233 1 278.60685771973095 208.82800136248244 0 0 0 0 +2519 1 2.0045 1 289.66325947543976 185.5991433167613 0 0 0 0 +868 1 3.4296 1 295.8438500539364 202.20907574595554 0 0 0 0 +879 1 3.3985 1 300.2309201092877 201.76972037135653 0 0 0 0 +889 1 3.3773 1 282.4793907631515 174.09764717018268 0 0 0 0 +942 1 3.2583 1 311.16131214484255 202.46115775002326 0 0 0 0 +948 1 3.2519 1 287.05743258612887 217.42130450874205 0 0 0 0 +981 1 3.2079 1 306.492731241333 215.62281051113777 0 0 0 0 +989 1 3.1957 1 303.1296461714908 203.16899249314682 0 0 0 0 +8568 1 1.0769 1 296.4379315874059 196.85869442571504 0 0 0 0 +1084 1 3.0385 1 307.3722237805157 176.28735675179965 0 0 0 0 +1127 1 2.9799 1 306.744028868542 206.37036282245592 0 0 0 0 +1156 1 2.9487 1 304.7029758793779 200.6245220550425 0 0 0 0 +1159 1 2.9447 1 296.2960697161951 199.06646400565296 0 0 0 0 +1197 1 2.9068 1 305.4199383966975 196.61384797252782 0 0 0 0 +1219 1 2.8909 1 284.6074734361092 222.65674619642738 0 0 0 0 +9969 1 1.0022 1 294.47570111846125 186.24757386809432 0 0 0 0 +1268 1 2.8297 1 303.35764473232047 191.37782376383203 0 0 0 0 +1271 1 2.8239 1 287.28089262272175 200.0409385299407 0 0 0 0 +1319 1 2.7698 1 297.45177896208656 212.63265473543206 0 0 0 0 +1332 1 2.7554 1 282.7053510503342 212.24862013511654 0 0 0 0 +1735 1 2.4028 1 289.5692212679076 179.39725642510743 0 0 0 0 +1432 1 2.6447 1 281.9711917638182 205.0253557457485 0 0 0 0 +1436 1 2.6396 1 299.2844768706731 204.54508255727325 0 0 0 0 +1443 1 2.6302 1 300.90777357873617 214.3489867191566 0 0 0 0 +1461 1 2.6081 1 302.71408070769564 205.9892912346003 0 0 0 0 +9376 1 1.0321 1 306.1955772907682 199.3363918393381 0 0 0 0 +1532 1 2.5452 1 300.3581942837751 182.47366211483026 0 0 0 0 +1541 1 2.5363 1 285.02610270544966 219.7808660498259 0 0 0 0 +1568 1 2.5199 1 297.3083471587492 206.04858569055432 0 0 0 0 +1651 1 2.4528 1 298.7107462713441 210.4115806025956 0 0 0 0 +1678 1 2.4405 1 287.0900580443034 223.44323383467318 0 0 0 0 +8933 1 1.056 1 278.53128380350495 222.31304026670702 0 0 0 0 +1696 1 2.4273 1 313.02762106113784 192.65359869650678 0 0 0 0 +1700 1 2.4251 1 289.4776553451862 198.71249619313008 0 0 0 0 +1713 1 2.4142 1 307.85219799366814 187.01527962212046 0 0 0 0 +1740 1 2.3915 1 297.1590858832271 185.45193299641164 0 0 0 0 +2908 1 1.8615 1 320.3756495955615 171.88076100778775 0 0 0 0 +387 1 5.0123 1 292.58195589899805 183.9120682064243 0 0 0 0 +8702 1 1.0697 1 314.49269457044846 189.83146690306404 0 0 0 0 +1903 1 2.2997 1 308.8512873643884 211.363099665998 0 0 0 0 +3191 1 1.7682 1 278.2965661642874 172.86209303833758 0 0 0 0 +1946 1 2.271 1 309.7041258915813 175.16306254569662 0 0 0 0 +1562 1 2.5238 1 299.03827961499553 172.49639781774584 0 0 0 0 +1975 1 2.2556 1 302.4850112522012 183.47505038234175 0 0 0 0 +9510 1 1.0254 1 297.3260535299832 204.27600255329895 0 0 0 0 +1986 1 2.2495 1 296.3957117881452 189.83744022255885 0 0 0 0 +2004 1 2.2383 1 290.9558600390572 193.97160297229934 0 0 0 0 +5677 1 1.3293 1 292.6406590354253 172.22532945970212 0 0 0 0 +8884 1 1.0582 1 299.6170260877786 211.81450693099745 0 0 0 0 +6166 1 1.2758 1 314.70566939767076 173.3144277417946 0 0 0 0 +2093 1 2.1862 1 312.166288290051 198.6612924987006 0 0 0 0 +2133 1 2.1632 1 305.11801859372673 177.35901589170598 0 0 0 0 +2134 1 2.1624 1 301.97870494553337 197.49692683174885 0 0 0 0 +2137 1 2.1612 1 312.38385128203544 196.52313481995228 0 0 0 0 +9991 1 1.0004 1 305.1045034434826 202.52012261512192 0 0 0 0 +9943 1 1.0032 1 306.3059243687027 198.33195128603455 0 0 0 0 +9196 1 1.0422 1 314.0201171154597 191.2316177258949 0 0 0 0 +2249 1 2.118 1 310.1188230563017 213.65110411870552 0 0 0 0 +2284 1 2.1015 1 287.21614675165085 219.9767144001568 0 0 0 0 +9785 1 1.0108 1 297.857198437923 203.40743333430427 0 0 0 0 +2317 1 2.0811 1 296.93690083869143 187.65029483546573 0 0 0 0 +2327 1 2.0766 1 284.4545768338921 213.87937860588508 0 0 0 0 +566 1 4.1442 1 304.02422820298403 173.3479898348188 0 0 0 0 +2382 1 2.0551 1 279.9120360496289 207.47670030443572 0 0 0 0 +2441 1 2.0306 1 310.4082771332346 205.17927860028135 0 0 0 0 +540 1 4.236 1 313.71051620451755 175.85450064896517 0 0 0 0 +2543 1 1.9911 1 311.2829063624509 224.0792550278829 0 0 0 0 +2547 1 1.9905 1 294.125847376422 200.1197232436356 0 0 0 0 +2571 1 1.9818 1 315.3119321586493 185.12428300820605 0 0 0 0 +2576 1 1.9796 1 308.00686695780627 173.925283842258 0 0 0 0 +2603 1 1.9662 1 304.18437100200055 194.22673906571384 0 0 0 0 +2611 1 1.9625 1 299.62420716083886 206.81252824998313 0 0 0 0 +8123 1 1.1061 1 286.1780260848767 173.3653909060647 0 0 0 0 +2672 1 1.9413 1 304.745098674805 205.07192921767557 0 0 0 0 +2676 1 1.9399 1 304.0403133835095 222.292236329979 0 0 0 0 +2686 1 1.935 1 289.2224004248841 195.0355247114281 0 0 0 0 +6381 1 1.2535 1 283.50390688264025 176.12360898832495 0 0 0 0 +9105 1 1.0469 1 280.54017131224487 206.11221617688224 0 0 0 0 +2701 1 1.9291 1 312.27355026927484 186.59349817905428 0 0 0 0 +8837 1 1.0611 1 295.5445965075151 185.97904975423117 0 0 0 0 +6418 1 1.25 1 291.60556509018664 171.60297575016116 0 0 0 0 +2780 1 1.9014 1 281.85556077535426 209.19947970268214 0 0 0 0 +2784 1 1.9006 1 298.22293079010234 181.9727840274896 0 0 0 0 +8744 1 1.0673 1 282.6571774547445 210.3940726974449 0 0 0 0 +2809 1 1.891 1 303.6966348044373 198.4068351954779 0 0 0 0 +8831 1 1.0615 1 299.6271123693998 174.18409611659354 0 0 0 0 +8093 1 1.1077 1 287.9367301334256 174.62251199891338 0 0 0 0 +2874 1 1.8699 1 306.9331020054395 185.13715835776438 0 0 0 0 +2880 1 1.868 1 297.9415474478789 200.70791870292985 0 0 0 0 +476 1 4.5234 1 317.95541546328053 175.01081666682524 0 0 0 0 +2912 1 1.8602 1 316.7234492023171 181.3063581635552 0 0 0 0 +2956 1 1.8457 1 308.52108801220925 207.8553533449818 0 0 0 0 +2983 1 1.8372 1 304.67550609814583 186.1442822824531 0 0 0 0 +3002 1 1.8295 1 311.55031487019704 206.71623603320813 0 0 0 0 +6400 1 1.2518 1 283.56622431151635 220.93013405623722 0 0 0 0 +9736 1 1.0133 1 279.8122720646828 205.4224790928987 0 0 0 0 +3027 1 1.8191 1 284.9517971360245 176.4906020664666 0 0 0 0 +3067 1 1.8081 1 303.2698584848859 195.86502978609857 0 0 0 0 +4634 1 1.4766 1 280.00323433466417 173.640222081459 0 0 0 0 +3113 1 1.7928 1 309.3357659712246 185.60995929266178 0 0 0 0 +3682 1 1.6527 1 318.6006784238147 171.56365149848241 0 0 0 0 +1089 1 3.0326 1 287.5007095973638 176.57466953453837 0 0 0 0 +3142 1 1.781 1 300.7462741198251 208.29184867397228 0 0 0 0 +3150 1 1.7787 1 296.68564388061134 210.46319964099592 0 0 0 0 +3166 1 1.7754 1 301.72110071496076 199.42572782552867 0 0 0 0 +4387 1 1.5169 1 289.5376895457304 177.47020127487434 0 0 0 0 +3241 1 1.7549 1 303.66827883264506 176.17313983633113 0 0 0 0 +3248 1 1.7532 1 305.9942157317458 194.47453626110791 0 0 0 0 +3299 1 1.7401 1 280.376513417345 210.98590072550488 0 0 0 0 +3312 1 1.7374 1 310.5451797424192 216.02500786724056 0 0 0 0 +3361 1 1.7252 1 288.73533519656513 196.78291304052985 0 0 0 0 +3367 1 1.7246 1 308.39150316860156 178.37253341837763 0 0 0 0 +3376 1 1.7223 1 288.1190761053474 215.29645621246956 0 0 0 0 +5579 1 1.3405 1 293.8736387473392 171.78578591152822 0 0 0 0 +3419 1 1.7113 1 311.8350428603194 194.3135090617744 0 0 0 0 +3459 1 1.7008 1 311.6387429486011 214.75886330166333 0 0 0 0 +3461 1 1.7007 1 313.90412924311164 187.37158002977694 0 0 0 0 +3506 1 1.6928 1 298.85166292237176 183.9469817046127 0 0 0 0 +3517 1 1.6909 1 302.4109924125881 194.37107220741723 0 0 0 0 +3589 1 1.6735 1 295.25310143138813 212.91987805599447 0 0 0 0 +3644 1 1.6638 1 289.74801761997026 192.54687893153067 0 0 0 0 +3651 1 1.662 1 311.57685528807326 211.74546806242265 0 0 0 0 +3663 1 1.6572 1 305.67636998175004 223.02773216713726 0 0 0 0 +3720 1 1.644 1 308.3620887192599 213.1895433328933 0 0 0 0 +3722 1 1.6439 1 309.88669268632384 206.88360224851596 0 0 0 0 +3742 1 1.6408 1 308.26644981068716 209.50927114479506 0 0 0 0 +3769 1 1.6362 1 292.41445815351375 192.7583998453258 0 0 0 0 +3784 1 1.6332 1 309.68454991669296 223.3884230128851 0 0 0 0 +3791 1 1.6318 1 306.60543129966464 178.74611379914663 0 0 0 0 +3821 1 1.6225 1 296.9853265088542 208.05632567382784 0 0 0 0 +3856 1 1.6164 1 290.979053586616 200.16802602997615 0 0 0 0 +3877 1 1.6124 1 302.5041576203005 200.88276197522273 0 0 0 0 +3900 1 1.6076 1 304.14982392128064 215.27873025731594 0 0 0 0 +3922 1 1.6029 1 295.1235157152197 191.54965180853884 0 0 0 0 +5142 1 1.3976 1 290.3134795061357 174.37967737958581 0 0 0 0 +3972 1 1.5912 1 311.840740263701 216.99157400768362 0 0 0 0 +3982 1 1.5898 1 292.4568520723216 199.54514813893007 0 0 0 0 +4095 1 1.5677 1 310.9795963349677 200.08028479211896 0 0 0 0 +4106 1 1.565 1 312.3920446315824 222.13798917908278 0 0 0 0 +4154 1 1.5578 1 304.62266753758655 224.12811223541073 0 0 0 0 +6173 1 1.275 1 286.815717892531 174.34941333356042 0 0 0 0 +4241 1 1.5431 1 299.340602368942 180.7242816748863 0 0 0 0 +8144 1 1.1049 1 282.80156709114146 221.80236899246285 0 0 0 0 +8713 1 1.0692 1 298.0857394890205 202.3928546752224 0 0 0 0 +4310 1 1.5309 1 292.6695508144386 201.03767714397227 0 0 0 0 +2931 1 1.8541 1 289.3620559871488 182.72289206861964 0 0 0 0 +4341 1 1.5241 1 301.2923930433125 190.97656384809747 0 0 0 0 +4404 1 1.5145 1 304.57803929691676 206.73604314774755 0 0 0 0 +4436 1 1.5081 1 316.06730165786746 177.3269233012811 0 0 0 0 +4526 1 1.4938 1 286.0318148539436 214.73718301313122 0 0 0 0 +4566 1 1.4864 1 309.75462740001046 194.84377082855832 0 0 0 0 +4620 1 1.4781 1 313.7818446425145 185.8393526269615 0 0 0 0 +4621 1 1.4781 1 313.16314697392517 194.89977933437967 0 0 0 0 +4640 1 1.4753 1 308.2133366491918 223.1180435930632 0 0 0 0 +9290 1 1.0372 1 295.68215307879825 188.39240495588248 0 0 0 0 +5003 1 1.42 1 289.09703533280754 175.0328069352275 0 0 0 0 +4745 1 1.4573 1 301.70567997082935 195.765023747107 0 0 0 0 +4780 1 1.4514 1 303.2987841760944 223.787314213739 0 0 0 0 +4781 1 1.4513 1 307.69653262846316 217.6100344109581 0 0 0 0 +9334 1 1.0344 1 301.5440834672933 172.69226059795832 0 0 0 0 +4817 1 1.4463 1 293.87692692959416 192.3914907207044 0 0 0 0 +4823 1 1.4458 1 286.1686854997744 221.33081919658403 0 0 0 0 +4844 1 1.4423 1 315.53992172919277 178.64145243799334 0 0 0 0 +4863 1 1.4393 1 301.2960285771281 204.492773409651 0 0 0 0 +4916 1 1.4301 1 295.30880865166944 187.13293438718316 0 0 0 0 +5021 1 1.4174 1 316.33635647407334 182.92847799441031 0 0 0 0 +5030 1 1.4164 1 289.7803946592028 191.05674261822548 0 0 0 0 +5058 1 1.4118 1 287.7579229846562 197.99668564288174 0 0 0 0 +9239 1 1.0401 1 288.5061269990484 180.71660697650273 0 0 0 0 +5092 1 1.405 1 301.55596986401747 174.67574470635242 0 0 0 0 +5119 1 1.4002 1 305.2375616722954 198.6507947161523 0 0 0 0 +5122 1 1.3993 1 307.42064387769784 195.145298728233 0 0 0 0 +3379 1 1.7207 1 297.2361273513356 183.45563606368776 0 0 0 0 +5198 1 1.3886 1 291.2994562086243 198.7003129354237 0 0 0 0 +9406 1 1.0302 1 300.27561157236516 211.02521651567028 0 0 0 0 +8449 1 1.0844 1 311.30080103844347 174.89012351657684 0 0 0 0 +9213 1 1.0412 1 289.4848415390551 187.0306683328626 0 0 0 0 +5310 1 1.3746 1 290.37473756708147 197.08060389633363 0 0 0 0 +6117 1 1.2818 1 281.18704170195514 172.23560334557956 0 0 0 0 +5329 1 1.3721 1 298.16856464767625 189.76684194775035 0 0 0 0 +2719 1 1.9232 1 309.7712704561851 177.20572136450232 0 0 0 0 +5360 1 1.3686 1 287.4366502936034 221.6476516145148 0 0 0 0 +5375 1 1.3672 1 311.74571951422325 213.2371856442647 0 0 0 0 +9579 1 1.0217 1 290.4259872161197 181.86634272037247 0 0 0 0 +5382 1 1.3664 1 310.69111118406227 187.26635804343528 0 0 0 0 +5438 1 1.3582 1 299.25337851593605 208.58839167961173 0 0 0 0 +5483 1 1.3526 1 285.0222251689189 216.45591402494256 0 0 0 0 +5518 1 1.349 1 288.9482094690868 184.1705575911043 0 0 0 0 +4691 1 1.4658 1 300.6987071140519 173.56528679210746 0 0 0 0 +5537 1 1.346 1 309.69385526410605 200.66152306040019 0 0 0 0 +9900 1 1.005 1 290.4624966288241 186.80685341325912 0 0 0 0 +5620 1 1.3346 1 310.9663071385657 195.53017353729945 0 0 0 0 +5660 1 1.3315 1 300.809813025275 205.75049797649922 0 0 0 0 +5672 1 1.3296 1 305.33321957122337 203.6284305234404 0 0 0 0 +5683 1 1.3286 1 300.29608426829327 175.1926609116685 0 0 0 0 +2226 1 2.1251 1 285.1584212709963 174.5843372747216 0 0 0 0 +5723 1 1.3238 1 294.57565166096026 193.52675613498832 0 0 0 0 +4206 1 1.5486 1 290.9564906130208 180.7793472741564 0 0 0 0 +1189 1 2.9188 1 316.20132734915836 171.88500149070256 0 0 0 0 +5769 1 1.3174 1 305.0957263682137 179.02310896755225 0 0 0 0 +9412 1 1.03 1 308.54923711386544 215.78004613265114 0 0 0 0 +5815 1 1.3128 1 308.8232725976954 205.9481148094465 0 0 0 0 +5838 1 1.3107 1 296.185621750162 204.52854140135204 0 0 0 0 +5852 1 1.3099 1 308.339488033489 184.4278660378054 0 0 0 0 +5860 1 1.3092 1 284.45859235302794 202.35092952530846 0 0 0 0 +5872 1 1.3083 1 314.58131864626523 188.6660480880727 0 0 0 0 +9263 1 1.0387 1 284.56161217582206 215.39254381884703 0 0 0 0 +5920 1 1.3028 1 312.7745165558355 223.50352897984058 0 0 0 0 +5944 1 1.3004 1 310.8056833925451 185.98412441920598 0 0 0 0 +5959 1 1.2989 1 309.3346446532333 221.99372425737542 0 0 0 0 +6016 1 1.2927 1 311.9106152788648 204.584147630842 0 0 0 0 +6046 1 1.2894 1 304.63026381301194 220.8180173721135 0 0 0 0 +6054 1 1.2885 1 295.4863687268356 184.86422062512483 0 0 0 0 +6074 1 1.286 1 299.0165336001136 213.91421209682557 0 0 0 0 +6076 1 1.2859 1 298.318793885002 207.63978702299934 0 0 0 0 +6084 1 1.2847 1 318.39028381147455 177.85602211414485 0 0 0 0 +6093 1 1.284 1 289.06000055906384 216.39051304063742 0 0 0 0 +6101 1 1.2831 1 307.75593029939387 179.69958074244582 0 0 0 0 +4265 1 1.5389 1 295.56243190620967 182.64251241003439 0 0 0 0 +6149 1 1.2784 1 282.1134686413691 206.94341889381434 0 0 0 0 +6157 1 1.2772 1 308.2180348297432 204.8585688551276 0 0 0 0 +6164 1 1.2759 1 312.3172595792343 200.3852640471482 0 0 0 0 +93 1 9.7268 1 295.1017614680941 177.06854217275088 0 0 0 0 +6223 1 1.2683 1 300.45771770155636 212.51427599858343 0 0 0 0 +9167 1 1.0436 1 282.5436714952461 171.93325126307025 0 0 0 0 +6286 1 1.2619 1 309.4181694781236 215.12509032574246 0 0 0 0 +8953 1 1.055 1 300.65944545319206 196.6531171076022 0 0 0 0 +6391 1 1.2523 1 288.0597475127781 181.93891516744893 0 0 0 0 +6479 1 1.2455 1 289.5988998651153 188.0927931468448 0 0 0 0 +6535 1 1.2389 1 320.3681520591274 173.43143627067354 0 0 0 0 +6601 1 1.2314 1 290.5035362207487 195.80888918540055 0 0 0 0 +6631 1 1.2289 1 300.34999473837723 209.7114360879285 0 0 0 0 +6636 1 1.2287 1 298.0300353880964 208.83225170498545 0 0 0 0 +6682 1 1.2238 1 305.3331013648856 175.68337400842879 0 0 0 0 +7501 1 1.1523 1 317.2451324682522 177.7498913385355 0 0 0 0 +6723 1 1.2203 1 306.1498317274442 186.43311234165657 0 0 0 0 +9114 1 1.0466 1 303.4338961409889 184.79350541451416 0 0 0 0 +6810 1 1.2113 1 317.6430107243197 178.8417673716853 0 0 0 0 +6914 1 1.2008 1 317.48935454571415 180.01063402851744 0 0 0 0 +9197 1 1.0421 1 293.66517034365336 201.82108125732123 0 0 0 0 +6967 1 1.1968 1 307.7850100099208 188.83013552820933 0 0 0 0 +6972 1 1.1963 1 289.25218204875597 200.47203996067915 0 0 0 0 +6973 1 1.1963 1 310.6047980756571 193.85792684814038 0 0 0 0 +6988 1 1.1954 1 302.3519720556055 216.90739258290984 0 0 0 0 +7063 1 1.1887 1 309.55290103692045 189.1375867593184 0 0 0 0 +7085 1 1.1874 1 302.82228840589426 214.8455317073469 0 0 0 0 +7109 1 1.1851 1 302.18978039278267 192.9698500613537 0 0 0 0 +7119 1 1.1841 1 289.8752282036421 215.41864917638105 0 0 0 0 +7123 1 1.1838 1 311.247961166232 192.86143907713418 0 0 0 0 +7135 1 1.1833 1 302.1016286572521 215.77865954905167 0 0 0 0 +7140 1 1.183 1 280.3631630344863 208.9964424828792 0 0 0 0 +7158 1 1.1814 1 279.71334040893396 212.24114476159158 0 0 0 0 +7165 1 1.1808 1 301.48793386667035 175.95925139229408 0 0 0 0 +1688 1 2.4295 1 284.75420626221853 172.37024881049706 0 0 0 0 +7217 1 1.1766 1 304.49352024505674 184.72768384743551 0 0 0 0 +7267 1 1.1732 1 284.9565645926566 217.94750940767173 0 0 0 0 +5526 1 1.3483 1 316.2446765300515 179.80412994375934 0 0 0 0 +7341 1 1.167 1 308.3714801295867 214.5677098516584 0 0 0 0 +7374 1 1.1637 1 305.33179327585646 193.20801615019565 0 0 0 0 +9186 1 1.0428 1 295.93356260976026 183.83814422426417 0 0 0 0 +7378 1 1.1634 1 295.82256760385224 211.63089427095716 0 0 0 0 +7412 1 1.1602 1 297.402300977177 197.34052890583231 0 0 0 0 +7515 1 1.1514 1 309.8200611116346 217.22405184347113 0 0 0 0 +4251 1 1.5421 1 278.77987053187326 206.15187624175894 0 0 0 0 +8721 1 1.0686 1 281.67528045262276 210.65617280183645 0 0 0 0 +7569 1 1.1464 1 315.16384439864487 186.70310330755296 0 0 0 0 +7596 1 1.1442 1 305.2563875870264 191.07686886908255 0 0 0 0 +7084 1 1.1874 1 291.45515773460164 172.90453049697166 0 0 0 0 +7674 1 1.1384 1 308.3436693790918 218.72461880161472 0 0 0 0 +7691 1 1.137 1 279.6159067507342 209.8353712551766 0 0 0 0 +1274 1 2.8185 1 279.57966548162153 171.04591783924118 0 0 0 0 +7733 1 1.134 1 303.17736219144183 216.15521217277384 0 0 0 0 +7776 1 1.1306 1 280.8255887485591 212.31509004773991 0 0 0 0 +7800 1 1.1288 1 302.708414260885 181.8503480673532 0 0 0 0 +8670 1 1.0712 1 306.50753065531416 174.26685461384656 0 0 0 0 +7048 1 1.1896 1 289.7358848264749 176.1468533257589 0 0 0 0 +9564 1 1.0222 1 306.9837972947158 223.165207668753 0 0 0 0 +7942 1 1.1186 1 310.31102720765904 212.08949586254533 0 0 0 0 +9219 1 1.041 1 303.02965267981745 199.6795065061408 0 0 0 0 +7974 1 1.1162 1 296.7673005872483 182.16671553449123 0 0 0 0 +8001 1 1.1143 1 308.77504668190477 216.79608439182277 0 0 0 0 +8015 1 1.1137 1 301.1347872814075 206.91692789444363 0 0 0 0 +8110 1 1.1071 1 311.08212721053667 222.45396327458477 0 0 0 0 +8147 1 1.1048 1 309.56354785567964 203.92629407956596 0 0 0 0 +8200 1 1.1015 1 299.3460376046197 212.81892490133146 0 0 0 0 +8262 1 1.0972 1 311.0845537221737 176.4249988387205 0 0 0 0 +8300 1 1.0946 1 281.39260592539557 207.82757382532864 0 0 0 0 +8314 1 1.0932 1 307.0745341762874 199.84595144534438 0 0 0 0 +8320 1 1.0927 1 301.9661332130996 207.62468737998486 0 0 0 0 +9470 1 1.0273 1 303.5520200895011 220.55226815886178 0 0 0 0 +8477 1 1.0825 1 308.9398403437179 217.85210307906326 0 0 0 0 +8519 1 1.0799 1 309.7761012106764 188.03191554080843 0 0 0 0 +8526 1 1.0795 1 308.7910858023288 188.40602328723537 0 0 0 0 +1919 1 2.2884 1 287.27924258369484 179.21539172827255 0 0 0 0 +8532 1 1.0789 1 300.45199607423416 176.38888592663352 0 0 0 0 +3197 1 1.7666 1 285.70202627070785 178.04044844138966 0 0 0 0 +8548 1 1.0781 1 302.4881178282399 175.45060168535582 0 0 0 0 +4094 1 1.5679 1 281.73277157222213 170.94700848819542 0 0 0 0 +14 1 29.6841 1 295.16911703256244 247.6837177579452 0 0 0 0 +22 1 21.3501 1 321.49808214742 276.1677888485722 0 0 0 0 +55 1 12.7841 1 298.32445215644987 268.47538986025285 0 0 0 0 +2524 1 2.0021 1 312.2807568599477 239.92320723791752 0 0 0 0 +3005 1 1.8288 1 306.76285503538713 229.90603308659152 0 0 0 0 +5384 1 1.3664 1 282.30153012684445 231.92649555715764 0 0 0 0 +3103 1 1.7963 1 312.69378563787916 235.73667310804174 0 0 0 0 +156 1 7.5293 1 279.9111931125729 257.9468012015425 0 0 0 0 +161 1 7.4871 1 326.88029767501 262.96904352260185 0 0 0 0 +215 1 6.5762 1 315.60587166785353 242.54112592378448 0 0 0 0 +227 1 6.3748 1 285.421139667603 273.20501898679555 0 0 0 0 +230 1 6.3247 1 288.9312236349003 267.9751833075673 0 0 0 0 +240 1 6.2782 1 314.2838638352934 257.5007633792264 0 0 0 0 +5605 1 1.3364 1 286.8064834999164 233.2699127840259 0 0 0 0 +319 1 5.5431 1 320.51233007931893 262.91122598985385 0 0 0 0 +9603 1 1.0205 1 312.20678620713244 229.42726175572352 0 0 0 0 +366 1 5.1829 1 312.4589941035953 247.30801261827943 0 0 0 0 +9951 1 1.003 1 317.85981308183534 257.89181597647945 0 0 0 0 +9885 1 1.0057 1 286.79329233692675 232.12344739277864 0 0 0 0 +492 1 4.4198 1 310.0221961760373 269.0486906480726 0 0 0 0 +2052 1 2.208 1 278.8837019107389 277.3133676531155 0 0 0 0 +5381 1 1.3664 1 309.83059734210974 231.4089880409528 0 0 0 0 +618 1 3.9701 1 321.12760723434207 258.3170893382066 0 0 0 0 +623 1 3.9446 1 315.6197888667954 252.6152874855218 0 0 0 0 +9654 1 1.0177 1 315.49608722298007 234.4152963622698 0 0 0 0 +8545 1 1.0784 1 311.5386366092293 231.28582264313806 0 0 0 0 +694 1 3.7963 1 310.7220477248601 263.6237169416477 0 0 0 0 +3668 1 1.6562 1 285.101787539861 225.74700940619317 0 0 0 0 +2127 1 2.166 1 283.29108455422113 228.03277094696122 0 0 0 0 +849 1 3.4617 1 284.5875363658444 232.53779083828064 0 0 0 0 +905 1 3.3492 1 313.6578488633033 266.7044847658305 0 0 0 0 +8619 1 1.0737 1 306.108401684074 232.78757218682046 0 0 0 0 +4172 1 1.5549 1 314.7755428252162 235.4043887905087 0 0 0 0 +1009 1 3.1617 1 287.96608219223634 262.40953363481594 0 0 0 0 +1072 1 3.0597 1 322.4232978602704 255.0707204703404 0 0 0 0 +1105 1 3.0129 1 307.1854410694671 258.72947093085213 0 0 0 0 +1138 1 2.9722 1 325.0213979485189 256.71397922681723 0 0 0 0 +4713 1 1.4623 1 280.37278352909436 229.7096395427154 0 0 0 0 +1220 1 2.8898 1 315.4229005823651 264.19542905859214 0 0 0 0 +5533 1 1.3467 1 304.5805556183134 228.45262620719598 0 0 0 0 +1254 1 2.8461 1 283.84548802937826 265.96519100686714 0 0 0 0 +1257 1 2.8442 1 291.05868286028306 263.83241138854225 0 0 0 0 +5918 1 1.3031 1 309.6894476785028 228.47146308651412 0 0 0 0 +1236 1 2.8713 1 307.8477810379902 231.93851220838064 0 0 0 0 +1333 1 2.7551 1 292.61944600407526 273.71860141235703 0 0 0 0 +1368 1 2.7177 1 284.67609505976156 259.9633692307968 0 0 0 0 +1839 1 2.3346 1 312.69698971101855 225.65743734090526 0 0 0 0 +1431 1 2.6461 1 318.13200478815986 259.6559956605757 0 0 0 0 +1462 1 2.6076 1 319.3531291814774 252.33790035729575 0 0 0 0 +1481 1 2.5942 1 279.20344009390124 246.06376363660908 0 0 0 0 +1498 1 2.5799 1 304.6522567704339 272.709328860201 0 0 0 0 +1528 1 2.5472 1 319.67759752675255 248.97758393262134 0 0 0 0 +1533 1 2.5448 1 286.1582091213343 264.5871986448349 0 0 0 0 +1549 1 2.5336 1 309.7894080115039 274.8462949799069 0 0 0 0 +9985 1 1.0008 1 301.30737450996196 233.64315347032772 0 0 0 0 +1567 1 2.5203 1 304.935244020897 264.2041705163183 0 0 0 0 +1608 1 2.4858 1 303.07226700907796 262.6208972879042 0 0 0 0 +2171 1 2.1484 1 279.291935626861 227.87151688643192 0 0 0 0 +1631 1 2.466 1 310.73273046204406 251.4879858297082 0 0 0 0 +1662 1 2.446 1 282.53600447595403 236.3305874584361 0 0 0 0 +1663 1 2.4454 1 289.8413055623934 276.31718692535577 0 0 0 0 +1670 1 2.4419 1 307.44622187087475 274.350167542159 0 0 0 0 +2803 1 1.8923 1 303.2696301863128 227.58503747612178 0 0 0 0 +5742 1 1.3215 1 289.7635777197355 231.78736878751815 0 0 0 0 +1736 1 2.3997 1 331.43776203475744 269.7244318299787 0 0 0 0 +1742 1 2.3899 1 309.9943006908594 257.0412497156474 0 0 0 0 +1745 1 2.3876 1 285.1638969730728 262.3942911016242 0 0 0 0 +2695 1 1.9316 1 311.7785965344378 227.5479075998691 0 0 0 0 +1770 1 2.3726 1 291.4987855420803 271.45608067872803 0 0 0 0 +1784 1 2.3661 1 293.8186097831985 275.943032840524 0 0 0 0 +9884 1 1.0057 1 308.6961566892843 271.34798656289803 0 0 0 0 +1809 1 2.3518 1 280.98754826403257 233.22123617523533 0 0 0 0 +1834 1 2.3384 1 309.93240513515264 253.6592250980601 0 0 0 0 +1950 1 2.2695 1 312.7558792614742 261.4547986789208 0 0 0 0 +1956 1 2.2667 1 305.553861784237 270.49791300395316 0 0 0 0 +1995 1 2.245 1 321.71667954067505 252.55480731776302 0 0 0 0 +2001 1 2.2424 1 318.9369400344597 254.78110107990716 0 0 0 0 +2023 1 2.2246 1 308.05328195115396 266.41188779917866 0 0 0 0 +2024 1 2.2241 1 329.9376515314526 268.0263151647909 0 0 0 0 +2040 1 2.2182 1 289.44233274438096 272.1485273944061 0 0 0 0 +2059 1 2.2067 1 281.3707141124916 265.53614830108063 0 0 0 0 +7283 1 1.1725 1 313.48987884230417 227.18456524440342 0 0 0 0 +2131 1 2.1643 1 305.9658813468722 260.9616065638219 0 0 0 0 +2157 1 2.1542 1 278.80786744900456 253.27291486265116 0 0 0 0 +2160 1 2.1513 1 279.7098215236327 251.34834470628317 0 0 0 0 +2169 1 2.1494 1 282.66618910846705 263.84416661264225 0 0 0 0 +2155 1 2.1546 1 313.69667939604267 229.90464070523257 0 0 0 0 +2220 1 2.128 1 306.9023590516086 268.2821488431545 0 0 0 0 +2221 1 2.1271 1 315.9793726168362 248.0136651876308 0 0 0 0 +2660 1 1.944 1 297.0098680849802 231.98495264407882 0 0 0 0 +2314 1 2.0833 1 283.3913168032803 269.5297208825737 0 0 0 0 +9307 1 1.0358 1 300.255875934668 227.8613904264612 0 0 0 0 +2420 1 2.0411 1 312.93254122626774 251.46965370269365 0 0 0 0 +7601 1 1.1439 1 293.058980133257 277.84660913232943 0 0 0 0 +2457 1 2.0254 1 310.5575980848369 272.1821874420381 0 0 0 0 +1076 1 3.0513 1 291.9354234343465 231.69858257467433 0 0 0 0 +5139 1 1.3978 1 311.5906737659323 238.38120425081956 0 0 0 0 +4799 1 1.449 1 298.55545941678554 232.50545187868514 0 0 0 0 +7928 1 1.1193 1 301.5622431960723 232.498292493134 0 0 0 0 +1398 1 2.6831 1 314.328494102404 237.3969080007228 0 0 0 0 +2757 1 1.9088 1 297.51636385992674 275.728306137227 0 0 0 0 +2778 1 1.9025 1 291.8912369070358 276.9287288430415 0 0 0 0 +2787 1 1.8998 1 307.86542036687047 261.4503339961825 0 0 0 0 +2788 1 1.8984 1 282.18586762974445 261.9868303369768 0 0 0 0 +5227 1 1.3857 1 301.78044193001733 228.13161844477207 0 0 0 0 +9506 1 1.0255 1 302.1656561459128 229.23461662499946 0 0 0 0 +5706 1 1.3249 1 304.40723229839654 235.26378668417442 0 0 0 0 +4437 1 1.5081 1 280.95975568274986 235.20731641461006 0 0 0 0 +2911 1 1.8604 1 288.32752516671593 233.5528161374924 0 0 0 0 +2950 1 1.8482 1 311.77351460835035 254.4393153357734 0 0 0 0 +9937 1 1.0034 1 283.8405670341061 225.97361792750286 0 0 0 0 +5760 1 1.3192 1 311.3013335148313 234.36444894079295 0 0 0 0 +7565 1 1.1467 1 312.23325898956335 230.49726882568086 0 0 0 0 +2859 1 1.8765 1 307.9546597322965 234.48115233793237 0 0 0 0 +2689 1 1.9341 1 308.62246418840954 229.68496156477602 0 0 0 0 +3210 1 1.7635 1 314.2700379086578 250.1681641842638 0 0 0 0 +3355 1 1.726 1 316.9932378329098 262.5903150358794 0 0 0 0 +3437 1 1.7077 1 308.02913610678496 256.60778142421856 0 0 0 0 +3514 1 1.691 1 317.8240202220317 247.92032655937854 0 0 0 0 +3530 1 1.6869 1 279.0010862584333 232.92224944982766 0 0 0 0 +8655 1 1.0721 1 309.42361924282983 241.95369141698973 0 0 0 0 +3567 1 1.677 1 307.3825772494006 271.1229583060137 0 0 0 0 +3580 1 1.6748 1 324.6381919919429 258.9982015578225 0 0 0 0 +3606 1 1.6696 1 308.19506689553964 272.5280041989973 0 0 0 0 +4724 1 1.4597 1 290.1236579860533 230.5098110769218 0 0 0 0 +3650 1 1.6621 1 282.4051949338932 238.78229812008993 0 0 0 0 +3786 1 1.6329 1 316.3691060249742 260.8589304895228 0 0 0 0 +3867 1 1.6135 1 315.88156894884503 249.85296317669733 0 0 0 0 +3898 1 1.6087 1 308.83190917853256 255.23134976640804 0 0 0 0 +3920 1 1.6032 1 311.83310073683384 244.0018144919813 0 0 0 0 +4029 1 1.5779 1 320.21712706451564 247.00767971988222 0 0 0 0 +7597 1 1.1442 1 284.35285960331413 226.86276703157043 0 0 0 0 +4240 1 1.5431 1 322.1154813096177 250.71778686315344 0 0 0 0 +4353 1 1.5226 1 306.4349326086104 262.74625199454755 0 0 0 0 +856 1 3.4469 1 309.6286250010541 239.7531545451617 0 0 0 0 +4373 1 1.5194 1 301.2202306683643 261.99308019188527 0 0 0 0 +9858 1 1.0068 1 283.6113870566038 261.7315812302339 0 0 0 0 +4453 1 1.5061 1 309.7104377252969 258.93575018867216 0 0 0 0 +4499 1 1.4972 1 305.00250001690904 266.1619445771307 0 0 0 0 +4503 1 1.4966 1 313.2520491705879 264.33839198557536 0 0 0 0 +4513 1 1.4949 1 319.06690138288405 244.57516578455815 0 0 0 0 +4523 1 1.494 1 290.3674234624517 274.4253444298406 0 0 0 0 +4564 1 1.487 1 308.3222568421707 276.1055567855557 0 0 0 0 +4568 1 1.4862 1 314.5843449018382 261.28411377615475 0 0 0 0 +4577 1 1.485 1 315.99100164855366 266.247472694899 0 0 0 0 +4595 1 1.481 1 278.6551740630294 244.20071471479727 0 0 0 0 +1983 1 2.2509 1 310.68377996620535 229.87428046790794 0 0 0 0 +4630 1 1.4771 1 279.027109579344 263.59372074959373 0 0 0 0 +4633 1 1.4766 1 324.56595442764916 254.59137337171512 0 0 0 0 +4647 1 1.4736 1 308.8591270570514 260.127272757339 0 0 0 0 +4667 1 1.4697 1 320.61660093593343 250.74615372225935 0 0 0 0 +4690 1 1.4659 1 295.9791705778985 276.277737800009 0 0 0 0 +645 1 3.9056 1 281.88228214965284 276.8354038239772 0 0 0 0 +4767 1 1.4533 1 284.93823532896346 234.9150711453103 0 0 0 0 +4771 1 1.4529 1 285.3106538462137 269.326014490355 0 0 0 0 +4790 1 1.4506 1 304.2474845377142 261.1539557146506 0 0 0 0 +4793 1 1.45 1 320.53238424684656 253.94310865413723 0 0 0 0 +4852 1 1.4409 1 317.1868160534437 265.43099911373776 0 0 0 0 +4861 1 1.4396 1 286.58990539333934 260.62911898482685 0 0 0 0 +4887 1 1.4349 1 306.30027556665107 266.66789920627457 0 0 0 0 +7608 1 1.1436 1 290.1680822181972 227.3657643951244 0 0 0 0 +9391 1 1.0313 1 284.6985034055959 276.818363938029 0 0 0 0 +4955 1 1.4254 1 313.18705786329235 253.67455000514178 0 0 0 0 +4967 1 1.424 1 318.7781524664772 257.17216175238195 0 0 0 0 +4973 1 1.4235 1 280.57915703000805 263.9122836219643 0 0 0 0 +4983 1 1.4226 1 311.5320090142845 260.1299196259743 0 0 0 0 +4991 1 1.4212 1 328.3837775081622 267.12610078358193 0 0 0 0 +5072 1 1.4088 1 312.8488057027449 268.88824986481114 0 0 0 0 +5080 1 1.4078 1 309.4905421971454 261.3912163247681 0 0 0 0 +5103 1 1.4036 1 283.51853760340913 234.699577384969 0 0 0 0 +338 1 5.4102 1 307.1620740911992 226.34128989709873 0 0 0 0 +5134 1 1.3984 1 312.0201280371194 252.8862159833291 0 0 0 0 +1529 1 2.5467 1 291.18843195625385 228.89557868387485 0 0 0 0 +1328 1 2.759 1 294.76669217069656 231.50273839126598 0 0 0 0 +5195 1 1.3895 1 280.055171951595 244.2766509968981 0 0 0 0 +5205 1 1.3881 1 310.39055676726866 244.82494043221038 0 0 0 0 +5238 1 1.3837 1 318.5316863671896 250.53906187047815 0 0 0 0 +5240 1 1.3833 1 281.55751148677473 240.2501950543983 0 0 0 0 +5257 1 1.3812 1 306.50661654718516 265.31178158163306 0 0 0 0 +5272 1 1.3795 1 317.1717387224301 250.51249568718706 0 0 0 0 +5281 1 1.3782 1 321.5381163598691 249.40769575816876 0 0 0 0 +5340 1 1.371 1 310.40417898568063 266.18453220669113 0 0 0 0 +376 1 5.082 1 279.2533880047183 238.01987688910128 0 0 0 0 +846 1 3.4629 1 310.1512345102469 236.39323057665456 0 0 0 0 +5458 1 1.3551 1 280.67788609319626 262.538472688075 0 0 0 0 +1914 1 2.29 1 296.6798615613793 229.9146925644255 0 0 0 0 +5564 1 1.3425 1 295.58778438080293 274.9610073933335 0 0 0 0 +5569 1 1.3418 1 296.97921774325755 277.27412318748685 0 0 0 0 +5570 1 1.3415 1 310.2166093731652 260.25221598647414 0 0 0 0 +5573 1 1.341 1 317.8117683814207 249.38463863599927 0 0 0 0 +5586 1 1.339 1 282.15534306655064 267.11598928094713 0 0 0 0 +5607 1 1.336 1 315.6077974318299 262.126180094211 0 0 0 0 +5611 1 1.3357 1 329.70712056873396 266.303847349616 0 0 0 0 +2357 1 2.0635 1 293.36057095815113 229.58557103366482 0 0 0 0 +5670 1 1.3299 1 314.130402152043 262.58187037824365 0 0 0 0 +9972 1 1.002 1 292.219693929063 275.53255394382063 0 0 0 0 +5703 1 1.3251 1 279.60035466531787 264.86781645191616 0 0 0 0 +5751 1 1.3203 1 285.1742409705601 267.5263888506892 0 0 0 0 +5764 1 1.3183 1 326.75754116192746 257.78692539305473 0 0 0 0 +5773 1 1.317 1 305.30882962231044 268.7617492607874 0 0 0 0 +3119 1 1.7885 1 300.8981624323031 231.20960518524907 0 0 0 0 +5845 1 1.3102 1 310.44222312462324 249.70923410609046 0 0 0 0 +7375 1 1.1636 1 313.7836590602504 228.28189573787392 0 0 0 0 +5991 1 1.2954 1 304.9377589725304 262.3252993720238 0 0 0 0 +5998 1 1.2948 1 327.4985976140947 258.7479547346558 0 0 0 0 +5322 1 1.373 1 288.4718813675955 232.00218108529438 0 0 0 0 +6072 1 1.2862 1 316.42748838759053 246.37956439995466 0 0 0 0 +6077 1 1.2859 1 282.18250442390024 234.55407557629383 0 0 0 0 +6103 1 1.283 1 287.0976871234118 234.51031429191386 0 0 0 0 +6159 1 1.2769 1 317.6551963843835 246.4762975158106 0 0 0 0 +4258 1 1.5408 1 286.52304655122856 225.27618753452208 0 0 0 0 +8787 1 1.0641 1 298.03984801110624 228.99614957931047 0 0 0 0 +2711 1 1.926 1 288.1880903615476 225.2840137553436 0 0 0 0 +6248 1 1.2653 1 284.3546192019196 264.0002604913068 0 0 0 0 +6276 1 1.2624 1 307.8972702800816 263.6994791093511 0 0 0 0 +6288 1 1.2617 1 305.209992108352 259.4359376328321 0 0 0 0 +6507 1 1.2424 1 279.9035597704066 231.85779058821237 0 0 0 0 +2328 1 2.0765 1 282.4339559577745 229.92608598853573 0 0 0 0 +9385 1 1.0316 1 309.7272471336505 242.9137130125998 0 0 0 0 +6371 1 1.255 1 284.00507527702854 230.2888994454411 0 0 0 0 +6373 1 1.255 1 279.41468984588977 262.2981308339703 0 0 0 0 +6379 1 1.254 1 289.08745672738036 264.24468958228664 0 0 0 0 +6401 1 1.2518 1 279.76268396892607 247.87811869538686 0 0 0 0 +8736 1 1.0678 1 315.8949905258942 236.202156535703 0 0 0 0 +6457 1 1.2469 1 305.26240602595976 267.4976336886715 0 0 0 0 +9725 1 1.0141 1 306.55489722299575 234.53778431145932 0 0 0 0 +5218 1 1.3868 1 303.8149374338329 234.0823935095213 0 0 0 0 +6573 1 1.2352 1 289.17085283243006 273.8104742089623 0 0 0 0 +6594 1 1.2321 1 309.2839565068498 277.0555029467989 0 0 0 0 +6639 1 1.2286 1 294.49856268042726 274.3084182965201 0 0 0 0 +6654 1 1.2266 1 291.9141916253054 265.67094779121953 0 0 0 0 +7728 1 1.1346 1 306.7870500131407 233.5733431022235 0 0 0 0 +6716 1 1.2207 1 288.09758304465294 275.85503873249735 0 0 0 0 +6748 1 1.2184 1 306.7260474640995 272.6508556757256 0 0 0 0 +5802 1 1.3144 1 299.1423533371934 228.65277118074354 0 0 0 0 +2290 1 2.0981 1 300.6251509030801 229.36871640860267 0 0 0 0 +6847 1 1.2078 1 280.6702940251167 242.3757944907385 0 0 0 0 +6904 1 1.2018 1 310.54046648649546 243.58899016054417 0 0 0 0 +6948 1 1.1983 1 293.95874702325864 263.0564638999474 0 0 0 0 +6997 1 1.1945 1 317.4273702847932 255.5054526201157 0 0 0 0 +6779 1 1.2153 1 310.2641065082425 227.37423657470433 0 0 0 0 +7955 1 1.1174 1 301.07707049161087 227.17569248180567 0 0 0 0 +7160 1 1.1813 1 290.76399092453863 273.1636818009747 0 0 0 0 +7176 1 1.1802 1 279.9097834267473 249.70084377248648 0 0 0 0 +8779 1 1.0647 1 312.77314020154375 228.60464488051548 0 0 0 0 +7254 1 1.1738 1 292.80703299054016 262.90897083637736 0 0 0 0 +7262 1 1.1734 1 306.7590067549328 264.06852152667005 0 0 0 0 +6304 1 1.2607 1 301.95319989782405 226.409951651609 0 0 0 0 +494 1 4.4155 1 303.9552078965959 231.22360565270685 0 0 0 0 +7331 1 1.168 1 319.76953488511475 245.70155684538392 0 0 0 0 +7337 1 1.1677 1 288.76673479019036 274.8999464954394 0 0 0 0 +7354 1 1.1653 1 295.06161004240556 277.12581462558023 0 0 0 0 +2861 1 1.8743 1 310.6908514618587 225.90014862430664 0 0 0 0 +7410 1 1.1604 1 283.56064189961404 267.91682456182303 0 0 0 0 +7529 1 1.1505 1 323.4420543373734 252.61763581115508 0 0 0 0 +7549 1 1.1484 1 331.0531136803272 266.79712919003344 0 0 0 0 +7588 1 1.145 1 286.15065462615814 235.226986256684 0 0 0 0 +9851 1 1.0075 1 315.4184469048137 238.80458693326358 0 0 0 0 +7610 1 1.1434 1 284.1439110510987 237.00981061953556 0 0 0 0 +589 1 4.0512 1 313.49284156576266 232.9401242430191 0 0 0 0 +5350 1 1.3696 1 312.35989408704097 237.27023386594152 0 0 0 0 +7630 1 1.1425 1 330.766687465426 265.7098938705575 0 0 0 0 +2021 1 2.2252 1 309.7252505674944 233.621222311614 0 0 0 0 +7671 1 1.1385 1 318.81092050355085 246.26759092299451 0 0 0 0 +9703 1 1.015 1 309.9115017127748 224.6879628711442 0 0 0 0 +7734 1 1.1338 1 283.38703442927897 237.84196342798424 0 0 0 0 +7793 1 1.1292 1 284.0993233396604 258.2233704810658 0 0 0 0 +7892 1 1.122 1 320.4223991389029 255.5333483470666 0 0 0 0 +7903 1 1.121 1 280.8144214416042 253.43198823275665 0 0 0 0 +7957 1 1.1172 1 311.4722805804081 266.7628254272141 0 0 0 0 +8065 1 1.11 1 319.6331492363726 256.28233347298396 0 0 0 0 +2060 1 2.2066 1 298.90263048409304 230.6591199396462 0 0 0 0 +8112 1 1.1068 1 284.2298382872205 235.9183036500129 0 0 0 0 +8128 1 1.1056 1 311.1036719894296 255.72387711968173 0 0 0 0 +9947 1 1.0031 1 315.33137952802053 246.29770484649814 0 0 0 0 +8166 1 1.1033 1 279.76693853369795 243.07971924775813 0 0 0 0 +2033 1 2.2202 1 303.450174298417 225.57845172712433 0 0 0 0 +8212 1 1.1006 1 318.1153680378293 245.41153127742552 0 0 0 0 +8245 1 1.0981 1 303.03420625671527 260.8602929025404 0 0 0 0 +8280 1 1.0964 1 307.6083267425016 264.82002619982194 0 0 0 0 +8305 1 1.0942 1 283.06003223356595 260.8448575294592 0 0 0 0 +8331 1 1.0922 1 281.78890993492064 273.37071356148306 0 0 0 0 +8341 1 1.0911 1 293.0139764876446 264.01919942545476 0 0 0 0 +8378 1 1.0886 1 317.93518736229504 253.49299632261616 0 0 0 0 +8395 1 1.0877 1 317.7908935456364 256.5226723083231 0 0 0 0 +6244 1 1.2658 1 307.8465087238446 236.00005975976788 0 0 0 0 +8419 1 1.0864 1 309.3832905282359 273.1307066867911 0 0 0 0 +8520 1 1.0797 1 323.12592392907493 256.95710679837595 0 0 0 0 +8554 1 1.0777 1 307.3872115186175 269.7786555093624 0 0 0 0 +8567 1 1.077 1 308.5004771178975 262.7423955457807 0 0 0 0 +4888 1 1.4348 1 289.897657117669 233.10356939558864 0 0 0 0 +8652 1 1.0722 1 318.9956265453769 247.32574957261417 0 0 0 0 +8700 1 1.0698 1 313.0690131679211 263.0845481854112 0 0 0 0 +8711 1 1.0693 1 310.1343829195887 255.3269810556792 0 0 0 0 +8752 1 1.0669 1 285.70523604137696 266.3086070270596 0 0 0 0 +8899 1 1.0574 1 308.6590499348394 264.87310283528785 0 0 0 0 +8905 1 1.0572 1 282.6216915111657 233.51097750691525 0 0 0 0 +8914 1 1.0569 1 294.0891480989932 277.60612246751145 0 0 0 0 +9958 1 1.0029 1 311.97885125354725 250.32185791705567 0 0 0 0 +7532 1 1.1503 1 316.26434092771433 237.33825522819586 0 0 0 0 +8964 1 1.0545 1 291.2494030294403 275.3147981710035 0 0 0 0 +8979 1 1.0537 1 323.60974362103184 258.1252869341131 0 0 0 0 +8987 1 1.0533 1 318.41098913799846 265.4196247456114 0 0 0 0 +2392 1 2.0505 1 281.2776087035064 228.24745530287262 0 0 0 0 +9006 1 1.0524 1 279.96753456741953 241.42888277888463 0 0 0 0 +9015 1 1.0518 1 310.3084390003789 276.5605737969837 0 0 0 0 +9025 1 1.0514 1 326.04009290798615 258.7414359232984 0 0 0 0 +9090 1 1.0475 1 282.54339678633704 268.2321580313987 0 0 0 0 +9131 1 1.0457 1 323.0003916894979 251.63079244247703 0 0 0 0 +9201 1 1.0418 1 310.97106610041504 259.03751664047184 0 0 0 0 +9211 1 1.0413 1 311.7268821470932 265.7546956550648 0 0 0 0 +9229 1 1.0405 1 317.80210450089925 251.49625173567932 0 0 0 0 +9250 1 1.0394 1 317.48846894034824 264.22480761673467 0 0 0 0 +9314 1 1.0355 1 284.48455060031483 268.4448794738488 0 0 0 0 +9326 1 1.0348 1 281.0027092161832 241.3137225934205 0 0 0 0 +7211 1 1.1773 1 284.31509494104563 224.62785615480303 0 0 0 0 +9421 1 1.0296 1 309.3984389907145 265.5884767890388 0 0 0 0 +5548 1 1.3442 1 278.9328524364602 275.62849920507443 0 0 0 0 +9487 1 1.0265 1 290.06369652072806 262.16804747459247 0 0 0 0 +9505 1 1.0256 1 280.88886491214015 274.4551978377287 0 0 0 0 +9521 1 1.0246 1 305.81820089133544 273.99840568653474 0 0 0 0 +9247 1 1.0396 1 302.24884906875985 233.31286220876962 0 0 0 0 +9592 1 1.0212 1 317.6112602531313 261.3894092920012 0 0 0 0 +306 1 5.6966 1 287.0936119146496 228.81037663761228 0 0 0 0 +9619 1 1.0198 1 316.68044754598367 254.78164946550825 0 0 0 0 +3394 1 1.717 1 305.3439874540164 233.9500292177025 0 0 0 0 +8452 1 1.0842 1 302.6283280062862 234.27504129036063 0 0 0 0 +9769 1 1.0115 1 323.82937401045604 253.60800391544538 0 0 0 0 +9849 1 1.0077 1 304.2554186716837 259.9835992680337 0 0 0 0 +4339 1 1.5245 1 316.62895032084305 238.64249233310568 0 0 0 0 +1964 1 2.262 1 311.25708997809636 242.0460939281161 0 0 0 0 +7244 1 1.1743 1 280.04931041119215 275.1219157724732 0 0 0 0 +2762 1 1.9077 1 300.14082297176674 232.7999130446243 0 0 0 0 +6957 1 1.1978 1 313.67382894180435 239.1904472211321 0 0 0 0 +1749 1 2.3855 1 306.05173976202246 236.05415350859127 0 0 0 0 +1822 1 2.344 1 307.63626178104573 237.75140161725957 0 0 0 0 +3484 1 1.6973 1 281.0574052032422 231.10557673442523 0 0 0 0 +7854 1 1.1247 1 281.9238970770669 274.40153592668474 0 0 0 0 +2827 1 1.8857 1 279.42444287270064 234.60197566262323 0 0 0 0 +4644 1 1.4739 1 310.87604344651004 232.2970529792287 0 0 0 0 +8531 1 1.079 1 305.5849227559933 229.0969746777378 0 0 0 0 +7300 1 1.1707 1 331.6101175034691 267.9770756354669 0 0 0 0 +6591 1 1.2326 1 284.2166495113295 277.82497603922315 0 0 0 0 +2445 1 2.0287 1 331.38917597331397 264.2903554364283 0 0 0 0 +334 1 5.4378 1 281.0467617839512 224.5414383944038 0 0 0 0 +9377 1 1.0321 1 278.34539535353827 264.63370659931377 0 0 0 0 +7698 1 1.1366 1 278.2899514285752 261.94178708463585 0 0 0 0 +6218 1 1.2691 1 289.63945815165937 278.1259655127638 0 0 0 0 +9547 1 1.0234 1 290.56003141108033 287.7133766596099 0 0 0 0 +33 1 17.6088 1 296.647634910331 308.93622216320483 0 0 0 0 +47 1 13.5938 1 314.5389390243995 313.0276784850197 0 0 0 0 +84 1 10.0972 1 288.61184435935974 321.59552186506204 0 0 0 0 +9685 1 1.0163 1 302.9433024105808 300.8764546714585 0 0 0 0 +102 1 9.5724 1 280.63780998674736 306.74800083576963 0 0 0 0 +9278 1 1.0379 1 315.41360688824784 297.4051599323487 0 0 0 0 +209 1 6.6389 1 280.13708240463933 296.60184843526054 0 0 0 0 +2136 1 2.1612 1 321.7465767171545 318.2984449317762 0 -1 0 0 +2583 1 1.9764 1 284.69185991105206 281.9300196824673 0 0 0 0 +382 1 5.0566 1 286.0373166131204 301.91437791179766 0 0 0 0 +414 1 4.8627 1 317.81067849257306 304.41567188979917 0 0 0 0 +452 1 4.644 1 309.62159814101705 304.9801299774728 0 0 0 0 +2471 1 2.0212 1 285.7635312042999 287.96175035414916 0 0 0 0 +491 1 4.4229 1 323.12870694814313 308.896305043229 0 0 0 0 +8634 1 1.0728 1 314.0726660889332 285.64424925663354 0 0 0 0 +4806 1 1.4478 1 323.5061634187708 318.27754290710146 0 -1 0 0 +553 1 4.1921 1 300.11219124557624 324.81503657134186 0 0 0 0 +560 1 4.1737 1 308.4121975901977 298.3020962983146 0 0 0 0 +63 1 11.7591 1 329.8748803787373 319.86519818493156 0 -1 0 0 +646 1 3.901 1 296.686577683437 326.85215251271404 0 0 0 0 +651 1 3.8853 1 303.23649728776826 320.84890685022765 0 0 0 0 +653 1 3.8852 1 304.5425431248782 297.7301639928664 0 0 0 0 +656 1 3.8759 1 305.40303150754534 316.4988156455876 0 0 0 0 +667 1 3.8478 1 310.6082239432034 294.97627110611757 0 0 0 0 +122 1 8.8662 1 303.1736899347286 289.2230657695584 0 0 0 0 +709 1 3.765 1 295.2825653283571 323.2981284728502 0 0 0 0 +718 1 3.7548 1 315.8935582209289 291.86394095137297 0 0 0 0 +720 1 3.7486 1 329.63718362822146 310.3511833477171 0 0 0 0 +731 1 3.7184 1 309.45235696932 319.8318417687079 0 0 0 0 +732 1 3.7178 1 324.50650471417737 313.76686606241867 0 0 0 0 +734 1 3.713 1 301.1884018152854 299.32857387972854 0 0 0 0 +747 1 3.6915 1 295.8449676038723 298.42847090190236 0 0 0 0 +804 1 3.5785 1 297.7462225044683 319.412913595829 0 0 0 0 +817 1 3.5469 1 280.93174662085005 291.6446275734573 0 0 0 0 +845 1 3.4643 1 319.9461147328282 289.5439811361205 0 0 0 0 +861 1 3.441 1 303.1449257781176 328.04135480961224 0 0 0 0 +885 1 3.3813 1 287.51401641481846 314.05807379923516 0 0 0 0 +887 1 3.38 1 313.56443200877123 304.736551595496 0 0 0 0 +891 1 3.3742 1 318.2068846771462 294.8869814881891 0 0 0 0 +1110 1 3.0029 1 327.7117542453987 312.9256494724668 0 -1 0 0 +976 1 3.2116 1 313.6934746355377 301.558139594554 0 0 0 0 +984 1 3.2058 1 316.6411906105198 300.53967855127166 0 0 0 0 +5833 1 1.3112 1 323.36525866738924 319.61834975932885 0 -1 0 0 +999 1 3.1776 1 306.8530517575532 310.01922862943235 0 0 0 0 +1051 1 3.0898 1 302.21248605409346 317.60716721019025 0 0 0 0 +1066 1 3.0626 1 289.47714483048526 299.91992082260924 0 0 0 0 +1073 1 3.0595 1 298.8061694393812 296.9323417329199 0 0 0 0 +1102 1 3.0146 1 306.55403581564406 321.30598277532107 0 0 0 0 +1125 1 2.9851 1 294.61347477211797 329.57655832928964 0 0 0 0 +5457 1 1.3552 1 291.9973672548279 281.75300326435183 0 0 0 0 +1190 1 2.9166 1 310.2655298825008 329.7411388385124 0 0 0 0 +60 1 12.3738 1 319.1746184052211 324.9754490008559 0 0 -1 0 +1223 1 2.8847 1 284.6084458898824 313.11997817991704 0 0 0 0 +1230 1 2.8775 1 290.4382225797642 329.64177591219794 0 0 0 0 +1242 1 2.8593 1 284.6134445670884 298.1381055641537 0 0 0 0 +1276 1 2.8176 1 311.182550258342 300.20214292118055 0 0 0 0 +1282 1 2.8091 1 294.761351860547 320.12926995189173 0 0 0 0 +1364 1 2.7244 1 288.1441808782989 328.1090615019292 0 0 0 0 +1396 1 2.6876 1 300.0481930811386 321.417217688629 0 0 0 0 +3620 1 1.6673 1 292.17903417334446 285.613215531056 0 0 0 0 +1484 1 2.5925 1 311.7844965594163 327.48486660942615 0 0 0 0 +1527 1 2.5484 1 313.39373886091226 293.6223140388847 0 0 0 0 +1584 1 2.5049 1 316.21938919712636 286.8096435661693 0 0 0 0 +1592 1 2.4999 1 304.72375291133056 323.6674162671111 0 0 0 0 +9337 1 1.0343 1 321.20510656832903 287.7009739092521 0 -1 0 0 +5171 1 1.3921 1 291.3499195595214 286.84542155129213 0 0 0 0 +4445 1 1.5069 1 296.7088781351234 296.0698767476125 0 0 0 0 +8929 1 1.0561 1 307.1667122743529 286.3484594080481 0 0 0 0 +1616 1 2.483 1 291.33550972792585 327.17740938263853 0 0 0 0 +5747 1 1.3206 1 308.1795217117154 289.1043909668885 0 0 0 0 +1630 1 2.4673 1 312.795832800271 297.1458412585293 0 0 0 0 +9669 1 1.017 1 298.8345568638497 283.98684532878053 0 0 0 0 +1730 1 2.4066 1 319.2658341409616 300.15366330169195 0 0 0 0 +1737 1 2.3983 1 307.6549958682403 327.00423617496244 0 0 0 0 +8631 1 1.073 1 307.3416936023379 291.90808558360436 0 0 0 0 +1766 1 2.3742 1 308.8383656074477 322.7344152585409 0 0 0 0 +1774 1 2.3713 1 293.6427420790278 327.18392963750557 0 0 0 0 +5107 1 1.403 1 294.36151078287344 290.529760986637 0 0 0 0 +9716 1 1.0144 1 284.9667627396379 284.73012815325313 0 0 0 0 +1867 1 2.3206 1 283.31813197082903 315.3356184136071 0 0 0 0 +1893 1 2.3042 1 312.164306595482 322.487054404713 0 0 0 0 +9808 1 1.0096 1 283.4274645805283 319.70272667086874 0 0 0 0 +1912 1 2.2916 1 308.62395555630366 290.82025441166337 0 0 0 0 +1933 1 2.2803 1 317.0771244275774 297.4476518159394 0 0 0 0 +1934 1 2.2803 1 280.9901121148174 312.61218415909906 0 0 0 0 +1309 1 2.7828 1 326.3765291308911 310.4356011408592 0 -1 0 0 +342 1 5.3782 1 311.2971692630718 288.11929682493957 0 0 0 0 +2020 1 2.2273 1 308.4876979784524 324.9315443796918 0 0 0 0 +2034 1 2.2201 1 305.3640610308397 304.41980316334394 0 0 0 0 +6823 1 1.2102 1 296.28092666675207 286.28535537533077 0 0 0 0 +9814 1 1.0093 1 300.0483646333825 327.3823992504853 0 0 0 0 +2102 1 2.1834 1 322.3956878470961 305.694397145511 0 0 0 0 +9878 1 1.006 1 331.0100033765779 283.4457277593554 0 -1 0 0 +2149 1 2.1575 1 315.4498823162555 294.72901560357695 0 0 0 0 +2174 1 2.1478 1 310.5432011308444 325.5149963158231 0 0 0 0 +2185 1 2.1446 1 282.53205332682484 301.3344643175438 0 0 0 0 +9001 1 1.0526 1 299.0953929975351 286.46414030639534 0 0 0 0 +2229 1 2.1241 1 293.10614473888927 297.92109099138526 0 0 0 0 +3504 1 1.6931 1 287.73549723203797 287.2772849308116 0 0 0 0 +9761 1 1.012 1 313.7049237797981 290.9398869669311 0 0 0 0 +2237 1 2.1204 1 300.8329035974872 294.55129905879966 0 0 0 0 +2246 1 2.1185 1 294.81775307362506 295.769016006722 0 0 0 0 +5110 1 1.402 1 321.8535705015043 314.71330904679076 0 -1 0 0 +2265 1 2.1092 1 286.9569011596749 310.31116971339674 0 0 0 0 +2266 1 2.108 1 305.4806638085467 326.6905749336719 0 0 0 0 +2330 1 2.0763 1 282.9693437789023 317.4730188240949 0 0 0 0 +2351 1 2.068 1 313.40052275146894 320.7259163405907 0 0 0 0 +2424 1 2.0394 1 283.4706884112874 290.6870409247852 0 0 0 0 +2492 1 2.0134 1 306.9493982294438 303.1098801176492 0 0 0 0 +2520 1 2.0043 1 312.37227408238715 291.6175878869064 0 0 0 0 +2535 1 1.9974 1 321.4274301767808 316.3563726396321 0 0 0 0 +1761 1 2.3764 1 286.27077858584084 285.8792378672418 0 0 0 0 +6627 1 1.2292 1 309.2667203406886 331.490157886296 0 0 0 0 +9572 1 1.0219 1 326.6314360871501 314.5173840345716 0 0 0 0 +9596 1 1.0211 1 304.3595421634935 314.19443983360287 0 0 0 0 +2682 1 1.9373 1 304.8402481956318 302.44526395150615 0 0 0 0 +5746 1 1.3206 1 308.26707846248956 286.7456098208029 0 0 0 0 +2766 1 1.9066 1 306.91662484795205 323.6625095440436 0 0 0 0 +2794 1 1.8948 1 293.51651997372255 318.1603287934337 0 0 0 0 +2801 1 1.8932 1 305.49794773928784 329.21131284853715 0 0 0 0 +2839 1 1.883 1 319.0341299322794 298.0231058013225 0 0 0 0 +2816 1 1.8901 1 299.70951612252895 285.13482370204053 0 0 0 0 +2852 1 1.8786 1 292.5136487332811 330.7109193718003 0 0 0 0 +2891 1 1.8644 1 308.14174508968586 317.35098358323745 0 0 0 0 +2917 1 1.8579 1 314.0941393091943 329.7338701540668 0 0 0 0 +2199 1 2.139 1 297.7737381803294 285.6339398105648 0 0 0 0 +3003 1 1.8289 1 307.3174011633627 329.029250727106 0 0 0 0 +3037 1 1.8152 1 320.81938118760274 306.8152502985631 0 0 0 0 +8664 1 1.0716 1 323.3836039693634 311.66212246103316 0 0 0 0 +9189 1 1.0425 1 307.83122213732366 307.13692606736214 0 0 0 0 +6008 1 1.2935 1 292.64568270943846 284.2092587217384 0 0 0 0 +5472 1 1.3535 1 286.0970764833024 284.0628670626842 0 0 0 0 +3117 1 1.7908 1 312.1455093157688 324.4680954059893 0 0 0 0 +3133 1 1.7835 1 286.0252582902052 328.5374282448835 0 0 0 0 +3155 1 1.7781 1 299.91349624965517 318.0162927543498 0 0 0 0 +4586 1 1.4826 1 327.62145890290145 308.7752975001646 0 0 0 0 +3140 1 1.7811 1 312.83759814323304 284.9412282460774 0 0 0 0 +4609 1 1.4791 1 295.5686542462171 289.77038529845635 0 0 0 0 +9795 1 1.01 1 302.54517377707015 325.8484000886375 0 0 0 0 +3407 1 1.7131 1 306.98277543730535 314.19758724215137 0 0 0 0 +3421 1 1.7106 1 314.78818752684106 288.2876664645747 0 0 0 0 +3452 1 1.7035 1 301.0633786366566 296.412454218831 0 0 0 0 +3486 1 1.6962 1 305.45937895211927 319.24510376829255 0 0 0 0 +3490 1 1.6957 1 322.02330730054996 311.7010092859719 0 0 0 0 +3509 1 1.6923 1 303.9474243440642 325.6146923072403 0 0 0 0 +8076 1 1.1088 1 307.9832404409204 287.9155855499306 0 0 0 0 +3526 1 1.6884 1 308.1652892431953 330.49607431671933 0 0 0 0 +407 1 4.9035 1 297.68460238088636 293.1110672688262 0 0 0 0 +3552 1 1.6809 1 285.7356988756311 308.96083219108385 0 0 0 0 +3564 1 1.6776 1 308.80791727553174 308.0339118501415 0 0 0 0 +3575 1 1.675 1 307.0325378675102 318.720996019639 0 0 0 0 +3588 1 1.6738 1 284.79229172210313 317.1334896232179 0 0 0 0 +3599 1 1.6713 1 289.05183135959413 303.1466512180545 0 0 0 0 +3637 1 1.6649 1 312.4416469183404 329.49251224701095 0 0 0 0 +3647 1 1.6628 1 287.18221529762064 305.31290699649236 0 0 0 0 +9549 1 1.0233 1 308.31473162644295 302.4639264935758 0 0 0 0 +3701 1 1.646 1 317.09263752569177 289.45999837055336 0 0 0 0 +3735 1 1.6423 1 306.31955756778797 301.47162931796936 0 0 0 0 +3755 1 1.6389 1 305.14116370571116 300.3851167053849 0 0 0 0 +3758 1 1.6379 1 319.9817268896088 302.015511896765 0 0 0 0 +8949 1 1.0552 1 285.6944402385954 311.1919179071896 0 0 0 0 +3787 1 1.6328 1 293.07418871834847 325.2998735430618 0 0 0 0 +8404 1 1.0875 1 291.6307675182438 288.03794638539307 0 0 0 0 +7651 1 1.1403 1 289.1406227168547 287.40509948267487 0 0 0 0 +3896 1 1.6088 1 313.12770792136615 299.1541672182482 0 0 0 0 +3907 1 1.6062 1 285.93763078756956 315.98455388367233 0 0 0 0 +3918 1 1.6034 1 292.49729538644755 328.81573928306614 0 0 0 0 +992 1 3.1884 1 308.14972643292754 284.50727464036254 0 0 0 0 +3985 1 1.5893 1 309.7331133911293 292.40527640806147 0 0 0 0 +4165 1 1.5557 1 280.10208727940943 300.93636881079544 0 0 0 0 +4173 1 1.5544 1 322.9483243299305 315.72734456006583 0 0 0 0 +8169 1 1.1028 1 297.0390719482408 281.1224328703127 0 0 0 0 +4242 1 1.543 1 314.28152686887506 289.81075035274074 0 0 0 0 +4256 1 1.5411 1 286.0581514710767 330.13956511788996 0 0 0 0 +362 1 5.249 1 289.34708105133876 283.71014426973096 0 0 0 0 +4295 1 1.5335 1 306.1206462410671 307.6214999534775 0 0 0 0 +4296 1 1.5332 1 319.25260714112744 307.2056912490548 0 0 0 0 +4308 1 1.5313 1 307.85717996905714 301.10005941317263 0 0 0 0 +4309 1 1.5311 1 319.5671702419052 292.79318248868327 0 0 0 0 +1306 1 2.7866 1 305.26126948052655 294.57206441145775 0 0 0 0 +75 1 10.514 1 289.06979338744605 293.2267834313956 0 0 0 0 +4412 1 1.5132 1 283.34021410745606 288.98094448364503 0 0 0 0 +4473 1 1.5022 1 322.0158524953677 313.2725952981307 0 0 0 0 +4475 1 1.502 1 306.9234555283961 295.90553528906815 0 0 0 0 +4515 1 1.4946 1 310.62182983022024 323.6787320559725 0 0 0 0 +4557 1 1.4879 1 307.04790757837134 312.42393554763237 0 0 0 0 +6850 1 1.2075 1 303.9891029855722 301.1547424693719 0 0 0 0 +6042 1 1.2902 1 281.8090701288888 316.3015770937008 0 0 0 0 +4592 1 1.4817 1 302.90719902698567 324.459474643787 0 0 0 0 +4700 1 1.4648 1 305.65428130971515 311.99305335132993 0 0 0 0 +4701 1 1.4647 1 306.1122430930289 325.07987239311944 0 0 0 0 +4736 1 1.4586 1 287.38338304414617 306.84453959691206 0 0 0 0 +4741 1 1.4576 1 290.09330988917 302.0535945503846 0 0 0 0 +4750 1 1.4569 1 282.64030672427407 293.4164861247734 0 0 0 0 +4843 1 1.4426 1 291.2976657489066 316.643702382649 0 0 0 0 +4864 1 1.4393 1 314.61604927978675 299.4625067463113 0 0 0 0 +4900 1 1.4324 1 305.7118130772331 306.1984971976944 0 0 0 0 +4932 1 1.4283 1 314.4119978079898 298.08918144964224 0 0 0 0 +4959 1 1.4249 1 283.5466144877826 311.3055353773828 0 0 0 0 +5224 1 1.3863 1 279.2979090880055 313.20737055123845 0 0 0 0 +5009 1 1.4195 1 313.86400263230155 295.5384068900298 0 0 0 0 +5013 1 1.4186 1 284.7115511798399 330.6042725140965 0 0 0 0 +5040 1 1.4151 1 296.7558742167808 329.456060810209 0 0 0 0 +5128 1 1.3987 1 289.0234295377236 331.23812919185514 0 0 0 0 +9651 1 1.0179 1 298.767163046143 329.85047717114674 0 0 0 0 +8005 1 1.1142 1 283.83268180845226 318.7497924716668 0 0 0 0 +7096 1 1.1862 1 313.02305844586004 283.51768900135465 0 0 0 0 +5201 1 1.3884 1 286.0730518192375 306.33681454276973 0 0 0 0 +9269 1 1.0382 1 309.2214899920509 326.37107685013996 0 0 0 0 +5250 1 1.3818 1 318.11263803053004 286.9730132196687 0 0 0 0 +5267 1 1.3804 1 283.61551496752185 299.9457593521576 0 0 0 0 +9941 1 1.0033 1 319.1470518125073 287.4826276735192 0 0 0 0 +5325 1 1.3726 1 289.5584894892741 315.1432600627839 0 0 0 0 +5334 1 1.3716 1 282.552311983692 313.65900398074507 0 0 0 0 +5369 1 1.3677 1 300.6459186291127 328.3494991254826 0 0 0 0 +5450 1 1.3564 1 282.36341709763735 299.7138356877637 0 0 0 0 +5481 1 1.3526 1 303.23024570918056 302.15466400776575 0 0 0 0 +8382 1 1.0883 1 310.2071948973405 285.0772834089083 0 0 0 0 +1712 1 2.4148 1 289.7707944995886 279.9271643272293 0 0 0 0 +968 1 3.2206 1 293.7548747180599 288.322990600374 0 0 0 0 +5553 1 1.344 1 307.67179426384274 315.55263178154155 0 0 0 0 +5574 1 1.341 1 315.6759688358997 298.5431769978845 0 0 0 0 +5602 1 1.3371 1 298.1248615436528 321.9408735659247 0 0 0 0 +5614 1 1.3356 1 310.6624957901997 302.1952267697121 0 0 0 0 +5628 1 1.334 1 288.34028510792024 304.4295086697927 0 0 0 0 +5634 1 1.3334 1 299.80679575229755 329.36306641512704 0 0 0 0 +5690 1 1.3269 1 284.9023485990629 283.54983447107105 0 0 0 0 +3162 1 1.7764 1 297.244118096944 282.51438807758586 0 0 0 0 +5705 1 1.3249 1 283.4116263835759 294.52369578258583 0 0 0 0 +5720 1 1.3242 1 306.49941504961777 292.93634774629453 0 0 0 0 +988 1 3.1965 1 297.2787214567767 288.2430283781297 0 0 0 0 +67 1 11.3032 1 302.9364314353978 279.40564692981604 0 0 0 0 +4150 1 1.5583 1 322.4538860822263 287.5487351789418 0 -1 0 0 +4711 1 1.4627 1 294.8305610759934 291.85797529983523 0 0 0 0 +5775 1 1.3166 1 317.9371633781046 288.2781946474432 0 0 0 0 +5790 1 1.3154 1 309.223486440493 327.93690013567254 0 0 0 0 +5823 1 1.312 1 314.33936861374843 286.7948381005632 0 0 0 0 +5840 1 1.3106 1 282.70416183038026 312.3318883247298 0 0 0 0 +5874 1 1.3081 1 309.25253437013083 300.8663788709816 0 0 0 0 +5916 1 1.3032 1 298.4049520193716 328.7735521073352 0 0 0 0 +5919 1 1.3029 1 307.0168597985224 306.35593479496436 0 0 0 0 +5926 1 1.302 1 311.9310688887164 319.96308904625386 0 0 0 0 +5997 1 1.2951 1 297.8778575163283 323.2235213299951 0 0 0 0 +6007 1 1.2936 1 294.8333397995237 294.0964716946533 0 0 0 0 +6013 1 1.2933 1 294.4629066847906 325.6115643175665 0 0 0 0 +6359 1 1.2561 1 292.4734496791387 282.9475771319251 0 0 0 0 +6056 1 1.2882 1 288.43657305233046 330.0437353102915 0 0 0 0 +6104 1 1.283 1 285.75974648356276 305.04932121083476 0 0 0 0 +9921 1 1.0043 1 302.1617299641369 301.47364225044345 0 0 0 0 +6142 1 1.2794 1 284.68153624799635 286.72633717695726 0 0 0 0 +3566 1 1.6774 1 325.9856726646154 326.678816459351 0 -1 0 0 +6175 1 1.2749 1 326.32549661018237 308.44570784331705 0 0 0 0 +6198 1 1.2717 1 287.685779916095 311.7886515871585 0 0 0 0 +6237 1 1.2664 1 287.20508624678473 308.5858039986861 0 0 0 0 +6239 1 1.2663 1 320.97540693401044 303.0433874393758 0 0 0 0 +6268 1 1.2633 1 297.466995192925 324.4246430718629 0 0 0 0 +6280 1 1.2621 1 286.2954896351628 307.6297136117755 0 0 0 0 +6324 1 1.259 1 308.32412508156693 292.5144944878033 0 0 0 0 +5086 1 1.4063 1 321.1181443485187 331.524609459032 0 0 -1 0 +6338 1 1.2581 1 315.7532634301944 296.34459608001396 0 0 0 0 +6355 1 1.2564 1 295.0868864561001 318.18015500035955 0 0 0 0 +9274 1 1.038 1 306.80764332580145 300.28771131709095 0 0 0 0 +6409 1 1.2509 1 286.45327313102894 312.02565678854234 0 0 0 0 +3128 1 1.7851 1 327.6594101104977 326.2525127032884 0 -1 0 0 +8839 1 1.0609 1 301.30798485167696 329.2898321872633 0 0 0 0 +6470 1 1.246 1 315.11005603237567 303.2013040680023 0 0 0 0 +9107 1 1.0469 1 299.08267184809034 327.21799837552663 0 0 0 0 +6482 1 1.245 1 320.19816637214615 308.1850101148038 0 0 0 0 +6484 1 1.245 1 309.3768579582424 302.0902255949296 0 0 0 0 +6509 1 1.2421 1 301.5456326200527 322.6331511204749 0 0 0 0 +9046 1 1.0501 1 321.8839564108094 304.19473000854316 0 0 0 0 +9535 1 1.0241 1 284.7094656080229 311.17235583780285 0 0 0 0 +5082 1 1.4075 1 284.6998879198012 289.27190056876475 0 0 0 0 +6572 1 1.2352 1 318.22974663590685 292.60854008430977 0 0 0 0 +6612 1 1.2308 1 310.7385074093423 291.3762288155323 0 0 0 0 +1233 1 2.8731 1 292.3597637986439 279.6898389351381 0 0 0 0 +6633 1 1.2288 1 314.5640418290841 296.65908866526496 0 0 0 0 +8722 1 1.0685 1 292.3822453994176 317.237279053074 0 0 0 0 +6653 1 1.2266 1 320.7946195145385 304.2457412360853 0 0 0 0 +9665 1 1.0173 1 295.66910774962196 290.97701205705454 0 0 0 0 +6675 1 1.2247 1 284.0267839219575 296.1895064348393 0 0 0 0 +1795 1 2.3602 1 307.72821654883666 294.1575520687505 0 0 0 0 +4828 1 1.445 1 282.3965961047649 279.4390740570102 0 0 0 0 +9742 1 1.013 1 291.43249835370244 298.4421297259811 0 0 0 0 +6742 1 1.2188 1 315.68096026594543 289.40913103996763 0 0 0 0 +6751 1 1.218 1 313.3773647364068 328.4233825516619 0 0 0 0 +6781 1 1.2152 1 318.7502681127912 291.52700000512357 0 0 0 0 +2921 1 1.8569 1 285.25211813682046 326.451125746649 0 0 0 0 +9877 1 1.006 1 306.14690967496733 299.5413535220117 0 0 0 0 +6536 1 1.2387 1 317.9471962951212 290.60366117101586 0 -1 0 0 +2515 1 2.0056 1 302.65969300088483 295.53367250264444 0 0 0 0 +7474 1 1.1548 1 323.0215551258024 330.40472448378705 0 0 -1 0 +6971 1 1.1965 1 320.20156917899294 287.289218296728 0 0 0 0 +6998 1 1.1944 1 286.6770246944004 326.87574007362707 0 0 0 0 +7098 1 1.1862 1 288.64842886654446 316.0020698200792 0 0 0 0 +7105 1 1.1853 1 298.8781629592122 299.8382013482991 0 0 0 0 +7151 1 1.1823 1 284.8528901744334 310.08285362213 0 0 0 0 +5820 1 1.3124 1 297.6842763677039 283.9505152673201 0 0 0 0 +2116 1 2.1719 1 295.4235833462288 283.11463720645787 0 0 0 0 +7216 1 1.1766 1 283.3031570190731 292.28295896004397 0 0 0 0 +7245 1 1.1742 1 311.096139462988 292.5285504079207 0 0 0 0 +7507 1 1.1519 1 282.24843221219095 289.729056924331 0 0 0 0 +7330 1 1.1681 1 303.07747814042807 315.69003883688293 0 0 0 0 +5150 1 1.3961 1 293.6900926521296 283.35511627508487 0 0 0 0 +7403 1 1.1611 1 290.107373771679 316.21626198339214 0 0 0 0 +7470 1 1.1552 1 294.0155080178891 299.958772993051 0 0 0 0 +7502 1 1.1521 1 303.6193056597476 300.0476369206622 0 0 0 0 +7616 1 1.1431 1 290.08678983579114 286.77937927042217 0 0 0 0 +2233 1 2.1216 1 330.29784043047727 313.070075893607 0 -1 0 0 +7550 1 1.1482 1 301.08860702788724 327.21413103894645 0 0 0 0 +1142 1 2.9693 1 294.42532091565886 285.3806818954175 0 0 0 0 +8464 1 1.0835 1 302.3153938351356 294.0672760496131 0 0 0 0 +7587 1 1.145 1 320.1227917939237 317.84944875634227 0 0 0 0 +7599 1 1.144 1 308.26507258841923 295.73648830254393 0 0 0 0 +7618 1 1.1431 1 284.82172820715 329.33841087758736 0 0 0 0 +7769 1 1.1309 1 287.50067405768453 298.93926592056107 0 0 0 0 +8077 1 1.1087 1 295.4911930914591 287.09314036073755 0 0 0 0 +7841 1 1.1265 1 289.6250444915375 327.0441060649176 0 0 0 0 +7859 1 1.124 1 311.4576551192985 298.2951550814647 0 0 0 0 +7865 1 1.1235 1 306.79106600091296 305.18442849073153 0 0 0 0 +7866 1 1.1235 1 297.8119237943379 299.6731344110943 0 0 0 0 +7880 1 1.1228 1 284.8584025264398 327.8390804259806 0 0 0 0 +7885 1 1.1223 1 302.5403524136066 323.2375781336048 0 0 0 0 +7961 1 1.1172 1 323.885128520913 306.321497777883 0 0 0 0 +6187 1 1.2735 1 284.14556388722696 287.8703973812401 0 0 0 0 +7200 1 1.178 1 296.062930942944 281.6427668061992 0 0 0 0 +8071 1 1.1097 1 296.9699076006895 321.5907509605208 0 0 0 0 +6148 1 1.2784 1 325.50166124035724 307.55620826262185 0 0 0 0 +6950 1 1.1982 1 279.40715721882106 311.95140841486 0 0 0 0 +3229 1 1.758 1 286.7660672230042 281.37108041943577 0 0 0 0 +5854 1 1.3095 1 288.11958787863256 280.7132895539055 0 0 0 0 +6667 1 1.2252 1 311.3400331637133 284.8557335612621 0 0 0 0 +9370 1 1.0325 1 311.4780257641658 321.01130944396175 0 0 0 0 +9084 1 1.048 1 307.3430601169599 308.0094695686759 0 0 0 0 +9618 1 1.0198 1 291.0247920772318 281.0837053092217 0 0 0 0 +8248 1 1.0978 1 310.01958903075257 327.0467747140026 0 0 0 0 +9762 1 1.0119 1 314.1912647355542 284.6168411709903 0 0 0 0 +8337 1 1.0916 1 312.00840847902134 302.9649910105928 0 0 0 0 +9184 1 1.0429 1 306.29935761440885 328.0194534830355 0 0 0 0 +8358 1 1.0902 1 291.1404715029589 301.3962599094869 0 0 0 0 +8381 1 1.0883 1 312.51721804001306 325.82957731256266 0 0 0 0 +1561 1 2.5238 1 292.20926997918417 299.98846614306433 0 0 0 0 +8386 1 1.0882 1 284.98901465245774 315.05460635051327 0 0 0 0 +8392 1 1.0879 1 320.7911942592211 305.38331111683556 0 0 0 0 +8418 1 1.0865 1 310.8636186443878 297.40003647438607 0 0 0 0 +6208 1 1.2707 1 331.47777594401595 281.51605564865264 0 0 0 0 +9483 1 1.0268 1 278.91425427478947 290.6742213376094 0 0 0 0 +8765 1 1.0654 1 299.4402737046808 328.2159369768771 0 0 0 0 +9037 1 1.0506 1 304.99610066952647 313.064209549212 0 0 0 0 +8517 1 1.08 1 302.173343766113 297.17075831677596 0 0 0 0 +8539 1 1.0787 1 287.23413745496913 316.2285189789072 0 0 0 0 +7360 1 1.1648 1 305.9521076456078 285.00834304401695 0 0 0 0 +8558 1 1.0775 1 312.0558641728134 306.25959212137667 0 0 0 0 +8574 1 1.0767 1 315.1227053993391 285.39393014453435 0 0 0 0 +8627 1 1.0732 1 300.59407624358715 319.43365818393136 0 0 0 0 +9465 1 1.0276 1 320.58118232851416 309.20720131957944 0 0 0 0 +8632 1 1.073 1 305.396674611701 314.0391603996068 0 0 0 0 +5131 1 1.3985 1 324.5507401714447 311.32115666880605 0 0 0 0 +3824 1 1.6219 1 323.9658337502352 316.8518406385568 0 -1 0 0 +8165 1 1.1034 1 303.38562090275343 294.1806443426094 0 0 0 0 +8668 1 1.0713 1 315.7004212058349 302.3350201097076 0 0 0 0 +8679 1 1.0711 1 306.03829505200093 313.1917527287274 0 0 0 0 +8714 1 1.0691 1 317.8985356339155 298.88239840570236 0 0 0 0 +5701 1 1.3258 1 286.11855477251834 282.74671101881427 0 0 0 0 +5175 1 1.3919 1 308.50150724952005 282.2877452542452 0 0 0 0 +812 1 3.5593 1 310.8881136566643 282.5460149858361 0 0 0 0 +6366 1 1.2555 1 285.5241138559186 280.59086612637236 0 0 0 0 +2359 1 2.0624 1 293.85419130127633 281.64507616210983 0 0 0 0 +5892 1 1.3057 1 284.35199048597065 280.19107655071747 0 0 0 0 +4914 1 1.4303 1 309.12638737758095 280.80932440328365 0 0 0 0 +2232 1 2.1234 1 281.191947090627 314.747537718657 0 0 0 0 +6849 1 1.2077 1 283.17104968165586 280.48432329015526 0 0 0 0 +6389 1 1.2525 1 329.9601808619132 283.4991693964177 0 -1 0 0 +7592 1 1.1445 1 284.30107991301253 278.988760558823 0 0 0 0 +72 1 10.8701 1 278.95978030564066 284.75716901845516 0 0 0 0 +6095 1 1.2839 1 281.0646667769287 279.179564227403 0 0 0 0 +4230 1 1.5459 1 295.3350349897058 331.602494685683 0 0 0 0 +2606 1 1.9658 1 287.3702756086272 331.1912558608691 0 0 0 0 +801 1 3.5868 1 295.5309810877995 279.381144115829 0 0 0 0 +4964 1 1.4242 1 290.3079008132143 331.73570424430517 0 0 0 0 +6706 1 1.2216 1 297.7376882612985 330.2126980687604 0 0 0 0 +8919 1 1.0564 1 279.05167720291803 278.8687787200839 0 0 0 0 +5744 1 1.3214 1 315.358850041826 330.61515126020333 0 0 0 0 +1412 1 2.6674 1 309.8600992027315 278.9106915088702 0 0 0 0 +7166 1 1.1807 1 278.49468524657163 301.8551103303546 0 0 0 0 +8125 1 1.106 1 280.0638387038908 278.5389061632388 0 0 0 0 +8441 1 1.0851 1 322.2338726676927 331.10986987366584 0 0 0 0 +6976 1 1.1962 1 319.881781735262 331.6845357950153 0 0 -1 0 +6337 1 1.2582 1 296.48492361322945 330.765174123569 0 0 0 0 +7189 1 1.179 1 278.695425622686 292.257515344873 0 0 0 0 +2680 1 1.939 1 316.47447008538177 331.73082627362515 0 0 -1 0 +6160 1 1.2761 1 290.9225148003547 278.1901716295705 0 0 0 0 +535 1 4.2476 1 286.8980347545429 278.26474986817976 0 0 0 0 +8425 1 1.0861 1 291.53195516037545 331.78754290098163 0 0 0 0 Velocities -5 -0.00012417998665753156 -0.00029141760998495304 0 0 0 1.6343804586990585e-05 -16 0.0007359511619005587 8.933469525915337e-05 0 0 0 -1.7699905117983663e-05 -17 -2.8468298749551508e-05 0.0007949046353702895 0 0 0 1.736297821765948e-05 -37 0.0008017400118646591 -0.00019848144056774773 0 0 0 2.16744891728666e-05 -8263 0.0008709900534737956 -0.0003686022931326745 0 0 0 0.0002295045842490013 -3384 -3.791200936136678e-05 0.000249954667374433 0 0 0 8.997107346252381e-05 -1246 0.0007681111890009298 0.0001195123703474323 0 0 0 8.086613359605036e-06 -163 0.0008466077592702192 0.00012744221541218846 0 0 0 8.931643572790759e-06 -166 -2.0234534295823713e-05 0.00029068051536924156 0 0 0 3.955600957209059e-05 -168 0.0004003003243105218 0.0006640037404213702 0 0 0 4.5541936150805275e-05 -6557 0.00037586833050582883 -0.0005539463979590972 0 0 0 -8.270332616148634e-06 -208 0.0005981430611109324 0.00029226511230918256 0 0 0 4.476420356088689e-05 -336 0.0006570655240658174 0.0002902332350600009 0 0 0 1.1778439149089416e-05 -346 0.0005148149024566027 -0.0002503069854309287 0 0 0 4.399237768098655e-05 -5513 0.0008504585119106888 0.000161316869332176 0 0 0 6.109744357254282e-06 -412 0.00044909182788611864 -0.0003869499841049481 0 0 0 7.407349571228009e-06 -439 0.0006104401910853035 0.00040484861184905316 0 0 0 2.1390825441339924e-05 -511 0.0007882426489623111 0.000194037116774098 0 0 0 9.709463695423973e-06 -527 0.0007263419657309393 0.00010611967998910141 0 0 0 2.1695027152015657e-05 -4272 0.0007477048352219795 0.00015705527307499582 0 0 0 1.1708775487430856e-05 -543 0.0004412412594801884 -0.0001960345118231465 0 0 0 5.2234276556182585e-05 -562 -0.00022157447467967064 0.0005667941843011297 0 0 0 1.0159684938113346e-05 -567 0.0005857011713697167 -0.00036161415137655003 0 0 0 3.858435895363152e-05 -569 0.0006103063099110349 8.000652208715596e-05 0 0 0 2.8199779238500964e-05 -600 -0.00011334708981895056 0.0003246905210953497 0 0 0 2.5751832593137058e-05 -5108 0.0006008785930886118 0.00041164421919814083 0 0 0 -2.5152176243062247e-05 -617 -0.00020055384925351846 0.00039576660954439817 0 0 0 3.613248737531427e-05 -629 0.0004876592384033763 0.0005419749781720093 0 0 0 2.961588125160732e-06 -632 0.000726707552613481 0.0001741623317886823 0 0 0 1.3142185132827998e-05 -675 0.0005667449382745046 0.0003672077541732524 0 0 0 1.1456096881707235e-05 -7224 -0.0004015964120823751 0.0005409282572537015 0 0 0 4.7070206717321234e-05 -781 0.0006983200901526439 0.00028665582518894303 0 0 0 6.739743563611838e-06 -816 0.000736657796296027 5.9471665098931266e-05 0 0 0 9.299291452252408e-05 -818 0.000529373426801343 0.0004231262815716663 0 0 0 2.1731015756645127e-05 -826 0.0007104931591282911 9.875494623647273e-05 0 0 0 1.5400601079090657e-05 -839 0.0007151596143301856 0.0001823468866931466 0 0 0 4.412104234523124e-05 -844 0.0006511411492781666 0.00038297598364055857 0 0 0 1.5850703425835975e-06 -848 0.0008186160281169509 7.861346118680912e-05 0 0 0 2.8522263118232144e-05 -917 0.0007737222528020727 0.00013568297296358338 0 0 0 1.0001409452641893e-05 -924 0.0007204705155721201 0.0002828174621260678 0 0 0 2.9688109284072627e-05 -936 0.000687805579938305 1.0222101692558357e-05 0 0 0 0.00012838215666933415 -980 0.0005856883316734896 0.0004886071522213606 0 0 0 1.8274672577440185e-05 -3643 0.0008842339057220858 4.800869486468524e-05 0 0 0 5.321186774229809e-06 -7408 -0.0007387269401208638 0.000397406447410644 0 0 0 -0.001972321751362161 -731 0.000879194245540702 -0.0002381435854605815 0 0 0 3.659816493985566e-05 -9783 0.00027171374727639363 0.00045996543500863236 0 0 0 8.522221953738243e-06 -1098 0.0007785959303468055 0.00017474294283747742 0 0 0 9.218413146195908e-06 -1130 0.0007409643696295253 0.00013218000377687746 0 0 0 -2.0366337670972822e-05 -1146 0.0006003010948020885 0.0003630529185982137 0 0 0 1.0306972398647583e-05 -1205 0.0005918439180880698 0.00026969416144361326 0 0 0 9.878451844887095e-05 -1238 0.0008196323700546627 0.000180265626516267 0 0 0 5.339342304904679e-06 -1253 0.00044824467605156785 0.0002626493693035469 0 0 0 0.00014658126673362787 -1292 0.0006429932556607571 0.0004166062650245665 0 0 0 9.247442238940234e-07 -1297 0.00048799339692399653 -0.0004929610725395686 0 0 0 3.284958798182523e-05 -1304 -0.000257225344185894 0.0007071023961315214 0 0 0 4.095566906081553e-06 -1311 0.00043010504194804477 0.00036583421434903727 0 0 0 0.0002664801794169661 -1335 0.0003113174921469597 0.00018383927827203466 0 0 0 3.8923261170327565e-05 -1343 0.0007279251551914915 0.00027063713803437023 0 0 0 2.140035404520772e-05 -1383 0.0005407254947221224 -0.0004561791959197118 0 0 0 1.5601409704701814e-05 -1387 0.00011504231031246916 0.0002411909033784421 0 0 0 3.273582621517936e-05 -1391 0.0007224956537165466 0.0001219339142158638 0 0 0 9.19755829633712e-06 -1452 0.0008270803125465119 0.00016081622816002477 0 0 0 9.943111567782512e-06 -1475 0.0004618133582975688 0.00023783291629330056 0 0 0 -0.00012774984191892645 -1513 0.0008119015278173303 0.00010617290419178466 0 0 0 9.460469906818798e-06 -3866 0.0009262729611378125 -2.0167288038894502e-05 0 0 0 8.000251733783503e-06 -1554 0.0006678479809117641 7.683972052349256e-05 0 0 0 2.900588648160719e-05 -4832 0.0008967847448344716 0.00013326071639484368 0 0 0 -1.8940904527522292e-05 -1686 0.000422219720963765 -0.00047279787657533706 0 0 0 -4.678166799042672e-06 -977 0.0008559165520066754 -0.0002417071060744203 0 0 0 3.0496339030248727e-05 -6789 0.0008849418606364291 0.0001486265067359263 0 0 0 2.3740833106522818e-05 -1802 -0.00029730615176183693 0.0008411772545067452 0 0 0 2.3303937882163798e-05 -4270 0.0011382895878371152 0.0005236426356871942 0 0 0 -0.0075318036342280435 -6333 -0.0002706151354687403 0.0007215796866034569 0 0 0 3.228458835010128e-05 -1865 0.0007598884697859645 0.00013637910194170524 0 0 0 -5.88753210195816e-06 -1886 0.0006768945955732981 0.00015789285426675548 0 0 0 7.564641053881528e-06 -7839 0.0008721915291221213 2.4357778752962958e-05 0 0 0 -3.17522083575106e-05 -1904 0.00017394267836624787 0.00011060549100510822 0 0 0 -3.6691699186774564e-06 -1932 0.0008444546993164585 0.0001659038526368198 0 0 0 6.115256660123979e-06 -1989 0.0007453785518543271 0.00015229978285626487 0 0 0 1.948708190556594e-05 -2051 0.00044335512485922955 0.0005741151952623639 0 0 0 1.5086257621497464e-05 -9606 0.0007624405243443362 9.952205429843627e-05 0 0 0 3.2275684338310336e-05 -2181 -0.0001620259461628499 0.000456665610905818 0 0 0 3.297664060327942e-05 -2205 0.0002582144399057106 0.0007324256601609455 0 0 0 0.00019797705552933244 -2244 0.0007603743789326082 0.0001388999884087249 0 0 0 6.116345529477304e-06 -1803 0.0007901825341809726 0.0002586171512735805 0 0 0 1.207557955897859e-05 -2271 0.0005682975491924035 0.0004529211959565552 0 0 0 1.9750654439202878e-05 -2286 0.000799834725511199 0.0001476978893009136 0 0 0 7.047325319106072e-06 -2313 3.7082350461413784e-05 0.000377410200882102 0 0 0 4.46486013763775e-05 -7604 0.00036823152513022783 0.001652763342015833 0 0 0 -0.0007899428469785048 -2370 0.0007802940643647758 0.00014876347844764302 0 0 0 1.5526402607855197e-05 -8013 0.0007108862934889157 -0.0004579763089689821 0 0 0 3.922252157410958e-05 -2408 0.00026141367167206687 0.0003866199771420388 0 0 0 0.00023759248068491842 -2529 0.0003979687307925237 -0.0005150714729796875 0 0 0 6.274214089118587e-05 -2545 0.00022100268839061617 0.000235911134033053 0 0 0 6.469892545502808e-05 -6831 -0.00043011584119667586 0.0008261947699417815 0 0 0 1.8532832881436966e-05 -2561 0.0003612729927363394 0.0005811701544868687 0 0 0 0.0001621602774122107 -2600 0.0009158783611418127 0.00014112661786932687 0 0 0 8.37166156464317e-06 -2629 0.0002482047415574426 0.0002556174062194831 0 0 0 -2.4519540166500505e-05 -2631 0.0003965530561252435 -0.000109281270545824 0 0 0 -0.00012082384470456765 -2671 0.00045531558188622364 0.00047745220598761825 0 0 0 7.17620164603011e-05 -9959 -0.0008511524005744683 -0.0007118708270573892 0 0 0 0.0014197509039179923 -7436 0.0007469216444012435 -0.0004743085834236662 0 0 0 -3.079808832668373e-05 -9538 0.00018208778760727074 4.480160092576907e-06 0 0 0 -4.301589085655808e-05 -2753 0.0006815395817520436 0.00018530726510338546 0 0 0 1.1365678246662366e-05 -2767 -0.00013025384573092202 0.0004717139008503366 0 0 0 5.996294943272945e-05 -2775 -0.0002440519689533724 0.0005465981673468871 0 0 0 2.0946169192555608e-05 -2797 0.0007979487765864077 0.00021082174547009693 0 0 0 -1.4692414495135508e-05 -875 -0.00020071283238417802 0.00028524524070362885 0 0 0 2.680189113881457e-05 -2836 -0.002791040335342821 0.0001243030042653458 0 0 0 -0.0006616205649236572 -2843 0.0006749473616569897 0.0002650992651500807 0 0 0 2.579529506292385e-05 -6976 0.0008919450475278574 -4.226990062781839e-05 0 0 0 3.975120377425713e-05 -2887 0.0007276537027494955 0.0001021468352416208 0 0 0 1.2573163479757031e-05 -3176 -0.00026119274347094994 0.0005880659710714003 0 0 0 5.1965787748396365e-06 -3012 0.0007133208541131221 0.00016146380117367632 0 0 0 -5.436863938370561e-05 -3020 0.000732101108974942 0.00013690611539167327 0 0 0 3.2592598523513834e-05 -5165 0.0006661906062345495 -0.0004421881033571901 0 0 0 3.2067809326491854e-05 -3060 0.000707981363399091 0.0001680405766050558 0 0 0 0.00010520479431673446 -194 0.0008253030591983243 0.0001214686558330837 0 0 0 1.8264633596470947e-05 -3114 0.000706715287898508 9.323994173115514e-05 0 0 0 5.072879608682786e-05 -3151 0.0006743459045124428 0.00036780839207137093 0 0 0 -2.2475288897789315e-05 -3175 0.00011005138499391244 0.00014780267413203347 0 0 0 9.026037542327798e-05 -3912 -0.00022557646348694954 0.00028070026254168484 0 0 0 2.3296954916508228e-05 -3218 0.0002394033710500324 0.00037506807866998935 0 0 0 0.00011253454430548536 -3219 0.0004127342950698353 0.0005339509488823035 0 0 0 -1.7926516093821248e-05 -3258 0.0007772198324467926 0.00020170850297679868 0 0 0 1.8638449427364566e-05 -3285 0.00018581309911237822 0.0007369078595904669 0 0 0 -0.00017856202659967624 -3295 0.0008118680947270485 0.0001927416976654781 0 0 0 1.1894296732391185e-05 -3303 -0.00024671836044517684 0.0004865153125280717 0 0 0 1.9669284034016587e-05 -3315 0.0004913816579874367 -0.0003580847678359619 0 0 0 4.0180244622210466e-05 -3336 0.0006723227493555391 0.0003032455735055176 0 0 0 2.2519654395507115e-05 -3351 0.00011467320056643095 0.0004123323736457098 0 0 0 6.886952461931901e-05 -3370 0.0007503911475859156 0.00012702399999565245 0 0 0 2.5618799980171863e-05 -3396 0.0004523568202106841 -0.0005290615358701366 0 0 0 1.3755549417866733e-05 -3409 0.0007285344347064195 6.349773806853511e-05 0 0 0 -2.8152840558051034e-05 -3418 0.0005454165891843657 0.00046654356445625846 0 0 0 1.8834123507528433e-05 -3433 0.0006627769562371484 9.95076481370394e-05 0 0 0 -2.787603550022256e-05 -3855 0.0008977275862517097 0.00012742414974596723 0 0 0 4.418198340630717e-05 -3439 0.00027626379847161127 0.00044347582461156055 0 0 0 1.3395803029422472e-05 -3440 0.0006855398978214939 0.0003174436990489609 0 0 0 2.6813043350130044e-05 -2570 0.0009054055003105011 -8.727082982410492e-05 0 0 0 -5.997814046550352e-06 -3472 0.0007018635115670664 0.00025527554978064425 0 0 0 5.123082142527845e-05 -3475 0.0006833183903309935 9.503282959923398e-05 0 0 0 -0.00019142823489213805 -1489 -0.0002519274056354578 0.00039792973113802663 0 0 0 2.5482371743429443e-05 -3549 0.0004318910523050735 0.0004877083587523216 0 0 0 0.00014241617906421414 -3590 0.00018233286673107726 9.657378554608101e-05 0 0 0 -7.591189680542346e-05 -3604 0.0007302873298390531 7.98280527849746e-05 0 0 0 6.570210336585327e-05 -3788 0.0009283412674716073 -0.00033909806671142 0 0 0 -6.88636452598237e-05 -9552 0.0005782199735399112 -0.00028792852709563413 0 0 0 -2.2842384448722087e-05 -884 0.0007674902087338189 -0.0004824326447565265 0 0 0 -2.9107894582831492e-05 -3723 0.0004618499862133966 -0.0002487674161425121 0 0 0 -5.5170164540538355e-05 -4926 0.0008213067889669292 -0.00016043842734171133 0 0 0 1.1106009023631856e-05 -3806 0.0007657769764984291 0.00011512295524759424 0 0 0 5.138178554479745e-05 -3889 0.0007072398005392387 0.00037716961515018443 0 0 0 3.381159229176201e-05 -3893 -0.00024106734184428536 0.0006054696680049448 0 0 0 4.765070937142501e-05 -3976 0.00022743985986970798 0.0008441287255362256 0 0 0 6.018358258095772e-05 -3990 0.0007983305932166339 0.00015811780497996468 0 0 0 1.1641554923200182e-05 -9799 0.000875365322743026 -0.00022093851610326476 0 0 0 -4.727350289174485e-05 -4024 0.0006040210140699195 0.0003692978780659819 0 0 0 2.3470291202431716e-05 -7643 -0.0003671675477253131 0.000458782759127516 0 0 0 -5.5889559997178675e-06 -4050 0.00020472294783206688 0.00019451763725817825 0 0 0 7.233836367191959e-05 -4137 0.0009059957842666277 -3.5477086979459444e-06 0 0 0 3.461477893859076e-05 -7332 -6.792118250592762e-05 0.00026548182727382093 0 0 0 -9.230975852527634e-05 -4100 0.00027933568958556033 0.0007896234731622973 0 0 0 7.877795493695667e-05 -4107 -0.00027442377331342185 0.0005752080588714397 0 0 0 2.304630170810307e-05 -6600 0.0009677269181715142 -0.00014506870579552133 0 0 0 -5.441913974366511e-05 -6043 -0.0002031120128337498 0.0003124958749019877 0 0 0 1.954164950385645e-05 -4138 0.0006139058720544949 0.0002645531217417697 0 0 0 0.00044256083864974757 -4143 0.0007788150135428133 0.00012051090396811897 0 0 0 1.3920109352139727e-05 -4180 -2.0247372914953303e-05 -0.00015573880633024437 0 0 0 0.0005106749862632164 -4190 0.0006968277407328886 0.00014752689865325891 0 0 0 7.088811967940593e-05 -4252 0.0004101748840363988 -0.00026623861100565305 0 0 0 6.653220064004088e-05 -5554 -0.0006539359243776037 -0.0013403274586339838 0 0 0 -0.00020727294016664854 -4271 0.0006583830890704905 4.530262218579706e-05 0 0 0 0.0001507893593202591 -4323 0.0007024924259461204 0.00020710635668954997 0 0 0 3.979830582498928e-05 -8381 0.0008153841493825522 -0.0002646899649052101 0 0 0 9.866488853152943e-05 -4989 0.0005439977381795857 -0.0005128466061351603 0 0 0 2.8421046935277243e-05 -4381 0.0007916474451779047 0.00020220156458559613 0 0 0 6.751349575205392e-06 -4382 0.0006126738534444438 0.0005393957638465435 0 0 0 3.9500567794613956e-05 -533 -0.00040881204155706843 0.0008928738807385271 0 0 0 2.098673542473957e-05 -4451 0.0006129794298829422 0.00030411867594903197 0 0 0 -0.0002968866627102421 -4461 0.0006667115063071025 4.514319947661992e-05 0 0 0 0.0001307201944324365 -4069 -0.0003632005507891788 0.0004940973701737964 0 0 0 2.6479697273386662e-05 -4480 0.0005012718999061578 0.0004196374908890521 0 0 0 -2.5855553701366365e-05 -4497 0.0006239579850244826 0.00024111604947753002 0 0 0 0.0002212560478377178 -1954 -0.0002728222780138829 0.00035283650116094476 0 0 0 2.8672817752073592e-05 -4522 0.000814291216857962 0.00013577893020732466 0 0 0 4.24657965832401e-05 -4527 0.00044227223263774973 5.2448061149375036e-05 0 0 0 0.0005919937325178542 -8443 0.000622242688931842 -0.00040439105675417 0 0 0 8.84148174446413e-06 -4624 6.461427136329065e-05 0.000436574360398163 0 0 0 0.00011971609529364113 -4628 0.0008056454006657609 0.00017420438604540936 0 0 0 9.028338954230752e-06 -5637 0.0006671245778152292 -0.00038773833536776177 0 0 0 4.0291758480096585e-05 -4722 0.0007096545835513026 0.00010926900178494098 0 0 0 0.00011352293564381958 -100 0.0009131086601375625 9.524321191808968e-05 0 0 0 9.371697023174144e-06 -4735 0.0008869191908049616 1.4896016905808878e-05 0 0 0 3.6784164138917314e-05 -6664 -0.0003247268840551106 0.0008223358865166784 0 0 0 4.5351910217093205e-05 -4762 0.0006270119140499638 0.00024141652946954256 0 0 0 -0.00026917959014174616 -4796 0.0006885971280189239 0.00011750092488120542 0 0 0 4.329851614737841e-05 -3436 0.0007687732732959818 0.0001312501888243781 0 0 0 4.479389476744044e-05 -4820 0.0005895023295967096 0.0003602447392673786 0 0 0 4.114176698853379e-05 -4868 0.0007269129150850674 8.829453612238155e-05 0 0 0 -3.9272750771419744e-05 -4872 0.0005430321381533943 0.0004230132805271167 0 0 0 -2.5860379862495933e-05 -4893 0.0006754153500034552 0.00023346546717569556 0 0 0 7.10201800479011e-05 -4913 0.0006578130827946846 0.00027447636876457503 0 0 0 -1.2802368603626965e-06 -4950 0.0005815722202417917 0.00030676959731616374 0 0 0 5.585175697890091e-06 -4953 -0.0002463868274272649 0.0007920920916901507 0 0 0 5.028484874420716e-06 -4998 0.0006725545980548581 0.00030677641903440264 0 0 0 7.944568464543188e-06 -5007 0.0007927144094363257 0.00013002131797968872 0 0 0 1.3863367907625305e-05 -5046 -0.00029622292391418914 0.0008514155506621626 0 0 0 1.0948064326199622e-06 -5063 0.0005657902373264399 -0.00031611801111254003 0 0 0 2.6815639770777716e-05 -5068 0.00041169516022206793 -0.00033708837070317387 0 0 0 8.31257077278078e-05 -9833 -0.00037563058541450827 0.0007926259588658767 0 0 0 6.989220374073723e-05 -729 0.0004111084444279773 0.00054266508586768 0 0 0 3.400207176371526e-05 -5123 0.0004433856790039311 -0.00031330256627277775 0 0 0 3.2079948365635348e-06 -2713 0.0007778754677655674 0.00012393287000334415 0 0 0 3.702403397183416e-06 -5190 0.0006663913615619709 0.0003323454766134769 0 0 0 1.3570412390428123e-05 -5223 0.00021510742284987415 0.0008455387239616811 0 0 0 -2.156067067518129e-05 -5259 0.0005418242709542231 0.0006289576552320949 0 0 0 -2.4992587067192295e-06 -5266 6.149442579396786e-05 5.0774774434807365e-05 0 0 0 0.00019904454105239467 -5286 0.000958859800736826 -3.637517192240853e-05 0 0 0 -0.0005265840751968009 -9737 -0.0002147070243187338 0.0003285864637493053 0 0 0 3.270828300471651e-05 -5363 0.0008015576526548988 0.0001713990645704067 0 0 0 3.201747810148892e-06 -5372 0.00016779717627753323 0.000844538914655991 0 0 0 -1.5666288663184466e-05 -5374 0.0007092093820118147 0.00019263187721778232 0 0 0 3.6126747565845076e-05 -5390 0.0003351878130539672 0.0002670238980767335 0 0 0 -7.381995268602919e-05 -5437 0.0008392230940998917 0.0001608794110927503 0 0 0 5.708716038232127e-06 -5510 0.0007389454851597315 0.00010914411368759834 0 0 0 -1.3586832841842346e-05 -9068 0.0007658870806797449 -0.0004844122274027796 0 0 0 2.070524892143189e-05 -3566 0.0008756477919688054 0.00015065155087835535 0 0 0 1.570812589698257e-05 -5545 0.00010063691651814826 0.00030949387265475064 0 0 0 1.8626984119499618e-05 -5549 0.00037033220590112587 0.00043706072810013196 0 0 0 1.3576433177160817e-05 -5576 0.0006884514951588991 0.00021444059343282045 0 0 0 -1.7987400147784122e-05 -5587 0.00017932907430971974 9.08291372605965e-05 0 0 0 7.2371199552938e-05 -5601 0.00026463738169212877 0.0002509815738712647 0 0 0 7.842852007007432e-05 -5694 0.00011244836871254104 0.0003225822083141646 0 0 0 5.800927941789462e-05 -8487 -6.569285810405619e-05 0.00024006520296423694 0 0 0 0.00010441866582888038 -3679 0.00046285679264654556 0.0005113808854964294 0 0 0 2.7240944102753783e-05 -5846 0.000601334959106287 0.0003649173443039084 0 0 0 1.2237236489371658e-05 -5856 0.0007728292619087494 0.0002596524876689085 0 0 0 3.7873307515600286e-05 -5884 0.0006551085908168673 0.00025056414949710105 0 0 0 0.00044567224525917927 -5932 0.0005795862515244526 0.00038363921030878207 0 0 0 7.787582425032492e-06 -5943 -0.0002046593021760665 0.0005805185772807881 0 0 0 7.024602324978992e-05 -6006 0.00012381030442430447 8.43932612551851e-05 0 0 0 2.9171268569638865e-05 -6035 0.0006007218273360865 0.00045275776005356455 0 0 0 5.03158947209211e-06 -6036 0.0005879729489561083 -0.00026822371351898353 0 0 0 3.444704022304662e-05 -6063 0.0004173116188564966 0.0001249584958721849 0 0 0 0.0006315198482608511 -6094 0.0008321874380744032 0.00029822416107104933 0 0 0 0.00013247961521108535 -6124 -0.00019689378888784558 0.00039947200331668774 0 0 0 1.1512636686648172e-05 -6180 0.0006615626278851771 0.00028153777500119603 0 0 0 4.416404585038442e-05 -6181 0.0004944093278034763 -0.0004440542969527497 0 0 0 4.229099764424665e-05 -6197 0.0006877224682771152 0.00029207270249153233 0 0 0 -1.5690315526083424e-05 -8759 0.0007655164666348135 0.00011483787480970106 0 0 0 -8.740034442930043e-06 -6358 6.514983358525614e-05 0.0004052071061530569 0 0 0 9.949641662164107e-05 -6428 0.0007095784121800977 -0.00016975104414836467 0 0 0 -7.791896411416735e-06 -6432 0.00036607295454652955 0.0006772816337029411 0 0 0 -1.2579093139024768e-05 -6570 0.0007036535861263956 9.844687306235718e-05 0 0 0 0.00017798126753396074 -6575 0.0006909303161687944 0.0002997313123390945 0 0 0 1.5428426336765854e-05 -6598 -0.0008199404843681504 0.00028380383599640286 0 0 0 0.0018544840238290364 -6626 0.00069624152259606 0.0002560604374572912 0 0 0 -2.6179455221646278e-06 -6637 0.0004888343105134093 -0.00036836782845194743 0 0 0 2.322370283962938e-06 -8056 0.0006204042099826498 -0.0004867108636177247 0 0 0 1.0763053510197873e-05 -6729 -0.00015683153916849595 0.00044805688375398976 0 0 0 3.619842894971009e-05 -6782 0.00041880883691819973 0.0005279294757195777 0 0 0 4.532582835671437e-05 -6796 0.000693130661684895 0.0001482348944097978 0 0 0 6.298932489038401e-05 -6803 0.0006100683086479687 0.0003918420688826359 0 0 0 4.98016147988687e-07 -6815 -0.00011716685898436401 0.001265942128348292 0 0 0 0.0007576543756293425 -6839 0.000793875087157123 6.761535867857372e-05 0 0 0 7.767798072046908e-05 -9707 0.0003372232950557974 0.0005589563515314896 0 0 0 -0.0001944059459596513 -6956 0.00020339019137311613 0.0008839069488847288 0 0 0 -6.529371114721623e-05 -6959 0.00021005080873074178 0.0008695683062035587 0 0 0 1.176193072624606e-05 -6962 -0.0002661582220949677 0.0005068508018046047 0 0 0 3.966692403366466e-05 -6975 0.0024183877886794947 0.001335968647680297 0 0 0 -0.00015431321469100705 -7008 0.0001969834514374021 0.00036730831821164486 0 0 0 0.00010556420219127008 -8222 0.0008119450487397936 -0.00023355126357111353 0 0 0 5.252802620369314e-06 -9845 -0.00021408848862746567 0.000330855038910686 0 0 0 -1.9284352393603725e-05 -7112 0.0006054654613489489 0.0004880149900643247 0 0 0 7.493215476318456e-05 -7130 0.0004776175284579808 0.0007116144373368247 0 0 0 -7.220669402915993e-05 -7162 0.0005309554748987149 0.00018008476705419724 0 0 0 0.0005994973346881528 -7178 0.00021354988899316738 0.0004002091500381212 0 0 0 5.567737878547338e-06 -9973 0.0003161514203742136 0.0005653385243632221 0 0 0 -0.00015031429481364726 -5300 0.0008894293043748805 -0.0001025062165323408 0 0 0 -1.088340425107742e-05 -7250 0.0006648543680185982 0.0002888769035790669 0 0 0 -3.15768432457115e-05 -7257 0.0006471815475051529 8.958518615478217e-05 0 0 0 6.28061537139273e-05 -7264 9.033757209266308e-05 0.0003167299964905742 0 0 0 -1.883549842433009e-06 -7286 0.0018225069042413491 0.0008394867886094342 0 0 0 0.0005725028542463653 -7291 0.0007595809199740513 0.00013562403055974456 0 0 0 -4.773975570170081e-06 -7299 0.001029908354420064 0.000723128531244862 0 0 0 4.904074058859227e-05 -7327 0.0004113756562226473 -8.550781301209498e-05 0 0 0 0.0002151171536127225 -7333 0.0007930545251088608 0.00011786814333533964 0 0 0 2.7465804598860928e-05 -5167 0.0008342155909365249 -0.00024117689832978096 0 0 0 -0.0001129059184725769 -7372 9.913937676298415e-05 0.00029367276752196084 0 0 0 -1.51494947783696e-05 -7379 0.0004905415394200168 0.0001483874895700394 0 0 0 0.0005421723257053254 -7421 0.0006906715915440155 0.00013690818906339424 0 0 0 -1.0630355818660946e-05 -7460 0.0006765375326648005 0.00031344939704844527 0 0 0 -5.235198303168786e-05 -7473 0.000498144085224906 0.0004996040692205871 0 0 0 -4.094562827354756e-05 -7496 0.0008081020713280285 0.00015619942692293804 0 0 0 1.0163440034427765e-05 -7537 0.0005240222450570393 0.0002890972009396383 0 0 0 0.000293842056493822 -7574 0.0004205106491237913 -7.741268592430422e-05 0 0 0 0.0005609745267865173 -7633 0.0004932820411616673 0.000538883770542083 0 0 0 -0.00033534824937191967 -7648 0.00036313719376314336 0.0005256538043126107 0 0 0 0.00017131719117512877 -7661 0.000654975516845404 0.00027974098483759776 0 0 0 -6.281960031992232e-05 -6751 0.0007818133321217658 -0.0002616957320018059 0 0 0 2.638448141472529e-05 -7697 0.00029768663063307497 0.0003654160771140405 0 0 0 0.00045724340270443975 -7749 -0.00024206322976075574 0.0007067042625564887 0 0 0 4.3435948439817704e-05 -7758 0.000791471373793773 0.00022054872843390173 0 0 0 7.565542265060541e-05 -7770 0.0003939710437995952 -0.00043984884986877974 0 0 0 0.0001213130044339812 -7786 -0.00044905140931403574 -0.0007780475928465086 0 0 0 0.0007874469910785773 -7792 0.0005220732988899928 0.000406521328436235 0 0 0 2.359898373558742e-05 -7814 0.0005885952677721335 -0.00025248680326253706 0 0 0 2.177544061147845e-05 -7852 0.00018079716228646623 -0.0007875402383535437 0 0 0 0.00022382600076322796 -7895 0.00018728814658925465 9.038818396603083e-05 0 0 0 0.00011067604723983151 -7897 0.0008541300573706713 0.00012726923671736888 0 0 0 -3.79327674973912e-05 -1959 0.0008828354056601216 3.96116794939118e-05 0 0 0 2.2315714970592895e-05 -7941 0.0006688421079825204 0.0003894177517164141 0 0 0 7.585183979287747e-05 -7984 -0.00010658785142485643 0.0003313376610361327 0 0 0 -2.1701234042028783e-06 -8037 0.00030980805295449925 0.00018667849131947286 0 0 0 -8.797982903080426e-05 -8053 0.0006949433768766326 0.0002819831857400445 0 0 0 3.55483152420932e-06 -8058 0.0005205118823928932 0.0006072578375303266 0 0 0 -2.3630760780795914e-05 -4785 0.0007762323032401505 0.002288542736244691 0 0 0 -0.0015490720582941899 -8182 0.000295670074483286 0.00014799144636816033 0 0 0 4.616027863313179e-05 -8202 0.0006767852115484845 0.0003445054144198613 0 0 0 1.5191737220185615e-05 -8206 0.0007196474116657363 0.00018023875337018586 0 0 0 7.067338477953109e-05 -682 -0.00011974009495585278 0.0002780499899535837 0 0 0 2.2497331876246545e-05 -8285 0.0006082366434283136 0.00045017916006312214 0 0 0 7.185142919837506e-05 -8410 0.0009169371808631723 0.00013843638754383185 0 0 0 -5.287180419209846e-06 -8302 0.0006612494866349011 8.01692169165808e-05 0 0 0 -5.8921655889095125e-05 -8319 0.0006345782151592998 0.00035796780272481733 0 0 0 3.634125017879507e-05 -8339 0.0007052275353474492 0.00011371948339574098 0 0 0 8.961824055962103e-05 -7940 0.0008986740923459544 -7.277453504343088e-05 0 0 0 4.0252866162370174e-05 -9978 0.000793569546655987 0.00012170285115798118 0 0 0 7.821821058400514e-06 -7425 -0.00033910349804680876 0.0004863134139941278 0 0 0 -2.522041967291835e-05 -7902 -0.00033712726281177164 0.0007877937468546416 0 0 0 1.9317824945794562e-05 -8455 0.00012740176010065136 0.0002889279297964099 0 0 0 9.259084162039215e-05 -997 0.0008803521133963564 0.0001383104551697427 0 0 0 1.8214025369936338e-05 -9801 0.0005886951207858768 -3.1861778891415644e-05 0 0 0 0.00015533111725240506 -8536 7.584397085758917e-05 -0.0001712655673091383 0 0 0 0.00014919182118398346 -8569 0.0007509041117627948 9.562216930472005e-05 0 0 0 -0.00012282595901523942 -8580 0.0005903400666036774 0.0002796331682436346 0 0 0 -0.0002463718574004 -1801 -0.00031036641025018985 0.0004623682924816498 0 0 0 3.925141367328188e-05 -8638 -0.000484180535159923 0.00014806545585128252 0 0 0 0.0031073906665746347 -8693 0.00046187011285786587 -0.000574067694690781 0 0 0 4.747904838988948e-05 -8715 0.0006662593321852986 0.00030035115574332706 0 0 0 9.195631412388162e-06 -8740 0.0007509775571290025 9.557439118165654e-05 0 0 0 0.0001978957549406233 -8757 -0.00029626889588744575 0.0008769548349383252 0 0 0 8.674136466817435e-05 -6758 0.0006612678448217677 7.495893016513228e-05 0 0 0 6.190275918401607e-05 -8853 0.0017403968038247196 8.148785955883948e-06 0 0 0 0.0013550115365465834 -8871 0.0004482246771273892 0.0004948273867188164 0 0 0 -2.5069520258822504e-05 -1143 0.0007769006340886793 0.00010268947123961457 0 0 0 -1.904607890810807e-08 -8894 0.0007259675147507205 0.0001293263446879598 0 0 0 0.00011618368011366188 -8895 0.0008542605324653829 7.654646490304307e-05 0 0 0 4.69946843694855e-05 -1831 0.0009137720575094946 -9.220829347054295e-05 0 0 0 -3.194199333537865e-07 -8927 0.0005771455466886988 0.0006465038579662663 0 0 0 7.488124713591713e-06 -8976 0.0007299456937694157 0.00018449793987854483 0 0 0 -3.831210728692181e-05 -1615 -0.0002934530899137896 0.0007802143251018119 0 0 0 2.920114943546734e-05 -9041 0.000702657228896729 0.00016081132515093234 0 0 0 3.426819211050077e-05 -9042 0.0005507888010147714 0.0004680534333703736 0 0 0 2.6831665235894225e-06 -5921 0.000650450713959062 0.00010166303035133847 0 0 0 2.2664793272125175e-05 -9118 0.0008279473671569505 0.00017309878301466014 0 0 0 1.1312530871123038e-05 -9140 -0.0018890134023786715 -0.0002276788707326429 0 0 0 0.00012777512500011863 -9159 0.0009117948941556959 0.0013118414758550643 0 0 0 0.002118202580982445 -9177 0.0007222208724653224 0.0001508980776467689 0 0 0 0.00017007417294014247 -9200 0.0004894132584586988 0.0004875679106910322 0 0 0 2.2164484986705374e-05 -9992 -0.0002681145794204358 0.00025805976900262795 0 0 0 2.2950032617121286e-05 -2504 0.000921561570758011 -6.521367939073788e-05 0 0 0 -5.8309257551264805e-06 -9279 0.0009980846086091416 0.0015199575633506241 0 0 0 0.0010805596080586126 -9282 0.0003191648097158657 0.00015011630783231186 0 0 0 -1.7235718435181185e-05 -9319 -0.00037192570441946644 0.0009108823176828762 0 0 0 4.611467152321351e-05 -9802 0.0007503029545402778 0.0002830084066858348 0 0 0 -2.205395095565573e-05 -8095 -8.612884407648206e-05 0.0002811247873249235 0 0 0 -3.66046146577141e-05 -9322 0.0007943965213765699 0.00011276396367731466 0 0 0 2.9093034092539742e-05 -5183 0.0007043409860023629 -0.0004049611945139311 0 0 0 5.2535127748940886e-05 -9386 0.0006736142889412954 3.4474201617952465e-05 0 0 0 -0.00020951376704580243 -1020 0.0008103832623662397 0.00021048538071573325 0 0 0 1.1289554669275137e-05 -2016 -0.0002916000931495543 0.00032837858582027987 0 0 0 3.233716765939912e-05 -9419 6.711333706783051e-05 0.00020945797558207663 0 0 0 -3.3950190433805835e-05 -9452 0.0007936023399581377 0.00013576442458610306 0 0 0 -3.325764862281043e-05 -9495 0.0007485527553215567 9.48141676311459e-05 0 0 0 0.00011263505175779439 -6188 -0.0001278249609046838 0.000254517517092117 0 0 0 6.170554536681194e-05 -6898 0.0006817214836201719 6.036003997172069e-05 0 0 0 7.292602984230086e-05 -9031 0.0008963718575828848 2.1302060177244376e-05 0 0 0 9.764220427940319e-05 -4282 0.0009149602265905838 0.00012443483005598294 0 0 0 3.9126299506937675e-06 -1939 0.0008967107784099994 -0.000189623766717636 0 0 0 2.8086883885445324e-07 -7474 0.0009439428109919097 -6.84318071309723e-05 0 0 0 3.0416109797724947e-05 -7864 0.0007435336140455503 -0.0004847240630771707 0 0 0 0.00014538433395225686 -4663 0.000953373864363588 -0.00011348991652137542 0 0 0 1.0466700560963068e-05 -4649 -0.0002788544273344252 0.0006325928314933029 0 0 0 5.3746191124540026e-05 -2250 0.0009187306168565063 -3.756032742635317e-05 0 0 0 3.1402370716134116e-05 -8080 0.0008876227003621109 -5.348620155412818e-05 0 0 0 9.629335900190917e-06 -2405 0.0004276462704057726 -0.000572138983855113 0 0 0 2.001706163149929e-05 -6065 0.0008471148654403505 -0.00022514223231097255 0 0 0 -6.102468506418848e-05 -6502 -0.00021700700271819017 0.0002435464334356896 0 0 0 5.7211707774581305e-05 -4000 0.0006371983191792271 -0.0003746603088176048 0 0 0 2.31852866030312e-05 -2203 -0.00029505213876391683 0.0005436301936295214 0 0 0 2.8634723686272082e-05 -5086 0.0009345810582413251 2.2867556636883213e-05 0 0 0 3.2558449927088095e-05 -9344 0.0009096091107304359 -5.766718292405972e-05 0 0 0 3.7093393873790115e-05 -1036 0.0008612341487454658 -0.00020329109249468482 0 0 0 -4.536633891839865e-06 -2338 0.0008614558152897297 0.00015509770977393617 0 0 0 -2.7030099713057815e-05 -7031 0.0009057192385701135 -7.713930629294434e-05 0 0 0 -2.524303144315825e-05 -9045 -0.0012924650230060723 0.0012329039745287843 0 0 0 7.345431429614365e-05 -5318 0.0005746050318089468 -0.0004584332352122279 0 0 0 2.0762797989112233e-05 -4591 0.0008112616822325114 -0.00015195387689216283 0 0 0 3.469760342333676e-05 -5922 0.0008182748204432169 -0.00022406561037415415 0 0 0 -7.03693831110649e-05 -8315 0.0009017755973156114 -6.99065913917787e-05 0 0 0 -3.1083800044135494e-05 -9007 0.00082981742305822 -0.00027490318627919265 0 0 0 0.00022943846060909405 -9277 -0.000358212918429521 0.0005488887582585582 0 0 0 4.581773682993269e-05 -6854 -0.0002082644148143356 0.0002526721166556466 0 0 0 3.366104837175806e-05 -9148 0.000914906421863231 0.00013200212447104324 0 0 0 -6.94538578319025e-07 -2234 0.0008098399969411783 -0.0002060095151102209 0 0 0 2.0763422757898903e-05 -5621 0.0009332308881947782 1.1495717723648245e-05 0 0 0 -9.301768711227896e-06 -5233 0.0007447363874318068 -0.0004499574395830286 0 0 0 1.940492468387241e-05 -1030 0.0005661239450603207 -0.0005115806674870947 0 0 0 1.920141648793544e-05 -8444 0.0006332614942503882 -0.00040762749419820783 0 0 0 2.698891269713801e-05 -8138 0.0008452347816354269 -0.00017733965800472733 0 0 0 5.17729455691085e-05 -136 -0.000386198109187498 0.0006670391105658852 0 0 0 2.658959146020316e-05 -6424 0.0007651393968528286 -0.00044825382363675067 0 0 0 5.2722982168165314e-05 -3363 0.0006074774735219957 -0.0004691844979819837 0 0 0 3.574206781236528e-05 -5147 0.0006196772370893627 -0.0005350287479317761 0 0 0 3.9611242370134824e-05 -1971 -0.0003212499980703268 0.00042474070543512216 0 0 0 1.4459978293821276e-05 -6928 0.0006494440371614404 -0.00046725992808167686 0 0 0 4.243744121585781e-05 -323 0.0008321873127362341 -0.0005105112508104823 0 0 0 2.3396803829213818e-05 -9545 0.0003855431225570257 -0.0005865001795844038 0 0 0 5.542002034805144e-05 -605 0.0008237953222362443 0.00018404420401109604 0 0 0 7.035515478169613e-06 -4261 0.0009238487963460826 0.00011614887116320185 0 0 0 -1.7581707606980748e-06 -19 -0.000511990769315975 0.00020160767939608493 0 0 0 2.3026071186453798e-07 -42 -0.0006777431671968026 0.0007825365016531442 0 0 0 1.6753141728187133e-05 -3410 -0.00029389987256557624 0.00014115707139382365 0 0 0 -5.908383479113587e-05 -86 -6.74587463026027e-05 -0.00016796979449869388 0 0 0 4.19612172685832e-06 -126 2.463195043590512e-05 -9.80453111024766e-05 0 0 0 1.4803165356725974e-05 -1118 -0.0003074735770804584 0.00010296525931346575 0 0 0 -5.366967879776391e-05 -141 -0.0004773249464826293 0.0001802371842633584 0 0 0 -8.030352183194769e-06 -149 -0.0006141181054465576 0.00029754177515276426 0 0 0 -3.7302890809516943e-06 -170 -0.000640685711614556 0.0005261097865509899 0 0 0 8.568463946387828e-06 -183 -0.0005071655802365779 5.600747093374995e-05 0 0 0 2.093476902715995e-05 -196 -0.0007038218224235014 0.0003640253828485756 0 0 0 1.2779458043327569e-05 -7722 -0.000873996738362428 0.0008112308918979301 0 0 0 0.0005639762035706558 -210 -0.00024003296245732575 -8.580572034819835e-05 0 0 0 2.3267737888828696e-05 -219 -0.00011520329311002993 4.605513617217135e-06 0 0 0 3.7214640588247875e-06 -223 -0.000693469818743798 0.0006723750189255892 0 0 0 -3.903174892220092e-06 -244 -0.0003635803568306529 0.00022058590021579956 0 0 0 1.9349700130327375e-06 -263 -0.0005825387700655772 0.000431249793701379 0 0 0 2.468403752134747e-05 -264 -0.0006649214243783577 0.00040169463835183094 0 0 0 3.009686934161088e-06 -286 -0.0004109710034888413 0.00023504619601076706 0 0 0 3.2004231273064536e-05 -296 -0.0007332333535689981 0.0005516821838661871 0 0 0 7.369989776057896e-06 -341 -0.0006813363977516376 0.0004342981872332805 0 0 0 -4.932447973737481e-07 -353 -7.714070690487124e-05 3.6414992863908304e-05 0 0 0 2.1657650776687905e-05 -361 -0.0006205033213480669 0.00022800026379311635 0 0 0 -1.4521863741705335e-05 -9471 -0.0006531886647583917 0.00021489437772630597 0 0 0 4.748838630726163e-05 -396 -0.0005161480106426792 0.0006334089417624502 0 0 0 2.1083667699871475e-05 -397 -0.00043865878999495067 0.00048590141010798713 0 0 0 2.148392302044727e-05 -411 -0.00012631282531100924 -1.7520346560419326e-06 0 0 0 -1.7092556350467539e-06 -489 -0.0005863651427004407 0.0002597537724705102 0 0 0 9.880531998754911e-06 -534 -0.0005094775503353102 0.00021402971981607016 0 0 0 9.685438404479294e-06 -544 -0.0006107545180758311 0.0002435101649836269 0 0 0 7.0068944229816765e-06 -546 -0.0006991346104593993 0.00018124989552380818 0 0 0 3.3773360616096957e-06 -550 -0.000636822766729199 0.00023662391044596863 0 0 0 -1.1755310496302198e-05 -8672 -0.0003582743043792951 0.0004881281032445151 0 0 0 5.829789665973173e-05 -574 -0.000613383774645353 0.00013841740049386938 0 0 0 1.4572400049179884e-05 -621 -0.0006948390372822201 0.0002133004382586972 0 0 0 -2.23361044660946e-05 -652 -0.0006965821776021698 0.0004882395011364767 0 0 0 1.683842255290176e-05 -657 0.00026258267326856067 7.521569212435503e-06 0 0 0 -1.829110391493515e-05 -664 -0.0006669261114912485 0.00022397756528081615 0 0 0 1.7871133123114605e-05 -4718 -0.0007022712103180852 0.00018407410432895964 0 0 0 0.0002547420173753668 -683 -0.0005717659984362752 0.0005483978401861846 0 0 0 1.7394581517716884e-05 -9848 -0.000652340339361559 0.0003322223357371606 0 0 0 2.9437179460452036e-05 -3350 -0.0006028916290513614 0.0006490925597356181 0 0 0 -7.836411750861008e-06 -763 -0.00048438512370777085 0.0007478586473274611 0 0 0 2.857131495487998e-05 -767 6.710930787031118e-05 -6.542012151078537e-05 0 0 0 -2.1187852554751516e-05 -772 -0.000555811994671774 0.0002682882328472033 0 0 0 1.0207577336846074e-05 -791 -0.000573705975158479 0.0001991012729335054 0 0 0 -9.53869878988452e-06 -867 -0.0006027387369964762 0.0003168439115185947 0 0 0 2.759539550215457e-05 -886 -0.00017799717759501999 2.9074922585161997e-05 0 0 0 -1.3384237717916269e-05 -880 -0.0006336903179758384 0.00034002020710391937 0 0 0 1.3870315909634672e-05 -895 -0.0006280936520720007 0.0004454092708326015 0 0 0 1.5459685934478012e-05 -898 -0.0006034721619719865 0.0002224885556784765 0 0 0 4.453451154956328e-06 -912 -0.00035665901980438415 0.0004505794549567844 0 0 0 1.597719425183305e-05 -2354 -0.0007054450334585741 0.0002210717694415105 0 0 0 6.0497186358347144e-05 -9643 -0.0004325494280544409 0.00012394613131570006 0 0 0 7.719416710738154e-05 -1012 -0.0007228320532186313 0.00044600645474151635 0 0 0 1.0550484317045184e-05 -1014 7.865236777619763e-05 -0.0001976486740007573 0 0 0 5.594631594018993e-06 -1031 -0.0006182867899093251 0.0005936086226753318 0 0 0 1.3470017170833465e-05 -1059 -0.0006479036006085451 0.00036372870859089187 0 0 0 -4.296297657971085e-06 -1067 -0.0002904455045658278 0.000246944635898966 0 0 0 8.60846692118135e-06 -1099 -0.0007605867840347042 0.000701563131672804 0 0 0 -8.090948207345263e-06 -9890 9.656510440239085e-05 -0.00019575857147154007 0 0 0 0.00011886585828058635 -1121 -0.0006601126132299805 0.0004352218744269477 0 0 0 1.6622612737648107e-05 -1131 -0.0004522252897548097 -0.00012031877272261256 0 0 0 -8.282143549119902e-06 -1139 0.00011217247820843896 -8.93129521766762e-05 0 0 0 -4.5185635397135354e-05 -1184 -0.0006177010305667149 0.0002684498248322454 0 0 0 1.3472535966065275e-05 -1191 -0.0006134528266328775 0.0006310140640866828 0 0 0 1.5777929451983963e-05 -1227 -0.0001756479695827486 -0.00019343976560933388 0 0 0 4.460565611406303e-06 -1310 -0.0006192011719407728 0.0003850219175372797 0 0 0 1.7510702232532323e-05 -1327 -0.00020715764022445824 7.838764295562022e-05 0 0 0 9.217389055447376e-07 -1119 -0.00017046562628028213 -0.00011124223178425324 0 0 0 6.894398145750047e-05 -9575 -0.00037174327749549935 0.00020354351452531364 0 0 0 0.0004946331574583519 -1390 -0.0006456667321899089 0.0004015263084358794 0 0 0 2.0319963403380966e-05 -1400 -0.0006244213979818171 0.0001645822911763146 0 0 0 9.054068499094675e-06 -1405 -0.0003803408482464873 4.309263050223108e-05 0 0 0 3.4974025230257764e-05 -1454 -5.191419343178139e-05 -0.0002547007183058798 0 0 0 1.4636249002822088e-05 -1465 -0.0002995914833661784 -8.281942729600978e-05 0 0 0 -1.1456028472983098e-05 -1466 -0.000626902112489945 0.00034619026375940203 0 0 0 9.60772661776971e-06 -9875 -0.0006492018759168782 0.0002346935921283101 0 0 0 0.00012845687892857978 -2292 -0.00042116440380541393 0.0001306040759623148 0 0 0 0.0002075942272709317 -9267 -0.0006484629916778592 0.00034791991891796025 0 0 0 -3.589258101758832e-05 -1534 -0.0006099269065710122 0.00026119792925606886 0 0 0 1.050041696439631e-05 -6691 -0.0004572606899941078 0.0009044530358605873 0 0 0 2.1584275605284412e-05 -1585 -0.0006195645908189751 0.0005547391417935545 0 0 0 8.870089359856817e-07 -1586 -0.0006708085697429547 0.000516084579293841 0 0 0 1.8937460748585432e-05 -1589 -0.0006318818023498866 0.0004878371170196314 0 0 0 -1.8612815926048023e-05 -3118 -2.590914325716375e-05 -0.0001711839323512949 0 0 0 -0.0002637700425408516 -1605 -0.00022224916181941778 0.00010926348064087534 0 0 0 2.6597212337499132e-05 -1613 -0.00037397151468696743 6.217208117559378e-05 0 0 0 6.66512019465862e-05 -1632 -0.0002171445307347993 -0.00014717313461231168 0 0 0 3.681223778818479e-05 -1648 -0.0003112769398620929 0.00024189283220275135 0 0 0 7.1947106630244235e-06 -1661 -0.0006327099190597685 0.0006655213023089523 0 0 0 -7.398852140994773e-06 -1668 -0.0005239580874603811 0.00022897585918540825 0 0 0 -1.6058295232223564e-05 -7437 -0.0007086827505947214 0.0001698651825412827 0 0 0 0.00032617377546062656 -1718 -0.0006760693540374899 0.0005345637556175545 0 0 0 2.6858167215348304e-05 -1726 -0.000578523506683604 0.00029016225632542525 0 0 0 1.2151008736268132e-05 -1739 -0.0001894001303168571 7.540567652950414e-05 0 0 0 1.907671370278635e-05 -1760 0.0002874878057218453 4.839669281608766e-05 0 0 0 8.499167953289539e-06 -1776 -0.0006200203188466858 0.00017583954762731696 0 0 0 -2.1678120267829e-05 -1845 -0.0005476234287866658 0.00030127870332264474 0 0 0 6.999071019511842e-06 -1877 -0.0005140213699919087 0.000195277418897053 0 0 0 3.278084631251926e-05 -4558 -0.0006387790259071151 0.0003207854641728545 0 0 0 2.855989233043374e-06 -1892 -0.0005759083178997442 0.00020353397613987053 0 0 0 2.7866938903868638e-05 -1926 -0.0005724921669335676 0.00023486313864466184 0 0 0 1.6553692061805536e-05 -1931 -0.0007473719925919829 0.0005569275886012001 0 0 0 1.2360039696256146e-05 -7531 0.0002335854060850375 0.00017953676997771486 0 0 0 0.00015032037428759702 -8162 0.00020874895177632982 0.00020753760525195016 0 0 0 -8.791153964212713e-05 -6503 0.0005574449198918065 -4.7068913954629504e-05 0 0 0 2.944224012113347e-05 -2010 -0.00038166115991709627 0.0003775299475268686 0 0 0 3.131918268066796e-05 -4452 -0.0003306504747270546 0.00012196952142375159 0 0 0 0.0001371112488805987 -2029 -0.0007238003762723047 0.0002930995459089954 0 0 0 2.6750841091681166e-05 -2045 -0.0006881048173803136 0.0002213179968630572 0 0 0 6.242845070792541e-05 -2048 -0.0005554430873739943 0.00022318835847156854 0 0 0 1.7052549909480713e-05 -2082 -0.0006204362341855733 0.00027170524934368666 0 0 0 8.945108301223295e-06 -2085 -0.000652981528082061 0.00020271007895562122 0 0 0 2.442304920265309e-05 -2104 -0.0005687714103079053 0.0001703231212502836 0 0 0 -6.925496823740128e-05 -7108 -0.0004264776739615809 0.000899622441468966 0 0 0 6.51724748232411e-06 -4693 -8.919535832480352e-05 -0.0001579239052032187 0 0 0 8.253758554563952e-06 -9859 -0.0006833789934410148 0.00046807175699234606 0 0 0 2.699009829684321e-05 -2218 -0.0006104504593057618 0.00027441857665547593 0 0 0 9.255513819349739e-06 -9775 -0.000524590424231493 0.0001891101355004094 0 0 0 5.496915724328843e-06 -2230 -0.0004062811422066113 0.0005270746266105827 0 0 0 1.0111331333971036e-05 -2270 -0.00042193864040122176 0.00040411714162764354 0 0 0 1.6466952141573763e-05 -2296 0.000322387321280983 -0.00027940745392535994 0 0 0 -0.00044438033943131446 -975 -0.00027693475296732375 0.0001249597283714057 0 0 0 5.585283531435494e-05 -2340 -0.0004127513216803818 0.0006618192044158397 0 0 0 -0.00019106760882158785 -2342 -0.0005398282025367843 0.0002747153327712072 0 0 0 3.062865767644114e-05 -2384 -5.7627123793997164e-05 1.4341429784806179e-05 0 0 0 6.289575961219217e-05 -2396 -0.00025279047540267553 0.00010535574290804435 0 0 0 -4.15812871745054e-06 -2422 -3.3234615979699823e-06 -7.319672892048768e-06 0 0 0 4.5031215485590834e-05 -2459 -0.0006631508684582301 0.00024114701955560235 0 0 0 -2.309641428097158e-05 -2460 -0.0005016602382190024 0.00015714883551606204 0 0 0 1.4278610472627142e-05 -2479 -0.00035235159152001086 -6.420841506741919e-05 0 0 0 3.867410192381738e-05 -2484 -0.0006680599231124719 0.00024609063449423626 0 0 0 -7.892976608982005e-06 -2491 -0.00038757861790026917 7.871520555881375e-05 0 0 0 0.00021916056066425998 -1970 -0.0006194221090887851 0.0005214309629865694 0 0 0 2.9623268917862886e-05 -2509 -0.0005663325034940411 0.0001854841130153232 0 0 0 2.808687923733753e-05 -8000 0.00036767214212045347 1.796336105223879e-05 0 0 0 -2.340775010632923e-06 -2572 -0.00040771274079906165 0.0001495059592330866 0 0 0 -2.770931047146559e-05 -9548 -0.0004581909834916846 0.00029375435510336665 0 0 0 8.92744260664649e-05 -2628 -0.00030142407676144313 0.00017535987445573627 0 0 0 1.926880127076769e-05 -2650 -0.000681135442546131 0.00023861341144790986 0 0 0 0.00014726442188874603 -2807 -0.0005374861418182195 -1.0670214027562838e-05 0 0 0 8.709622680539717e-05 -2817 -0.0006105308391050737 0.00035220601409979054 0 0 0 3.630351506012508e-05 -630 -0.000446937463918133 0.00018377987187269355 0 0 0 4.544865566550406e-05 -2858 -0.0006393079588301912 0.0005179669933696345 0 0 0 -1.3774235514986071e-05 -2903 -0.0007497804952294585 0.0005862747443406889 0 0 0 2.6887394812842133e-05 -2961 -0.0005956589147273249 0.0004979886995220804 0 0 0 2.1232327163434266e-05 -2972 -0.0006788609870219696 0.0001537672128694079 0 0 0 4.178476091940817e-05 -8778 -0.0006450305505822603 0.000377741725596323 0 0 0 1.4846974356991137e-05 -3083 -0.0006971026875592437 0.0006062463254297712 0 0 0 1.9809564211215227e-05 -1545 0.00018910123255053528 -0.0002092736613604498 0 0 0 5.209683337609449e-06 -3154 -0.0004545434334771566 0.00044358404254282214 0 0 0 1.606173823552947e-05 -3163 -0.0005910003836682922 0.00028674960801794414 0 0 0 -1.4458645822668709e-05 -3171 -0.00035634771955542194 0.00023336748975629748 0 0 0 -3.478152984825225e-05 -3177 -0.0003567951202519058 0.00013797537828350574 0 0 0 0.0001268554596583726 -1967 -0.0006885439610602175 0.0007053521888861886 0 0 0 1.0708416079201724e-05 -3201 -0.0005692438811550823 0.0002562791489928835 0 0 0 1.2794117964299059e-06 -3207 -0.0007560156554649918 0.0006442509208299867 0 0 0 1.9602857402422437e-05 -929 0.0001805326293744983 -0.0001836083082775238 0 0 0 5.8320389873540025e-05 -3233 -0.0004386223005066412 0.00021146523973296951 0 0 0 -5.584314766639933e-05 -3237 -0.0003966505725035166 0.00024128831724894167 0 0 0 -6.095867381829893e-05 -3282 -0.00010760924159488575 -0.000251016621563343 0 0 0 -0.0002643847177132499 -3283 -0.0006627278465095338 0.00022008155928161352 0 0 0 9.387876024110318e-05 -3305 -0.0005733237940331894 0.00023333157402959302 0 0 0 6.7636673846103495e-06 -3470 -2.5141731680315177e-05 -0.00015398088891395556 0 0 0 -4.522524956720971e-05 -3328 -0.0004824367981176933 -6.251591202268663e-05 0 0 0 1.0472069494090084e-05 -3383 -0.0003187157189186182 0.00029767560597456156 0 0 0 4.642776836175044e-05 -1879 -0.000577066894247176 0.000299008989270953 0 0 0 5.863911736032906e-06 -3390 -0.0006673571589821762 0.00042478271647075546 0 0 0 3.125019145810081e-05 -3432 -0.0006485441648831145 0.00034077907023721224 0 0 0 2.245546043193394e-05 -3443 -0.0003433442346206117 0.00038652178524019364 0 0 0 3.07767666209575e-05 -3448 -0.0006409442757362422 0.00021920042222588223 0 0 0 -2.695576566202755e-05 -3450 -0.0003647818870212594 0.00022845082817984208 0 0 0 6.169739722062413e-05 -3455 0.0004374296554190756 -0.00017406821095304056 0 0 0 0.00012366058860255203 -3489 -0.0007023525729824069 0.0004543328069002355 0 0 0 1.3532789392887124e-05 -3505 -0.0006672912381825023 0.0004993229729742696 0 0 0 1.3207277619681876e-05 -3558 -0.0006013254330723824 0.00032128843602557896 0 0 0 8.550555732297873e-06 -3561 -0.0005202364472731416 -3.518961447230353e-05 0 0 0 -0.00011389235079622559 -3562 -0.0005243688919820227 0.000576191555548983 0 0 0 3.5614778157014724e-05 -3594 -0.0004951410388964103 -2.2961194218685225e-05 0 0 0 1.591607630804174e-05 -3614 -0.0005396381094180829 0.0002030108569926283 0 0 0 7.983792907974889e-06 -3616 -0.0006960658116706239 0.0006040021887905654 0 0 0 2.0678075337749935e-05 -3619 -0.0004772966158806074 0.00016177078286075424 0 0 0 3.23508734386529e-05 -3622 0.001776955559034787 -0.0017809577226330796 0 0 0 0.003988976961494802 -3627 -0.0005998511412958825 0.0005585430281018959 0 0 0 2.201495455984688e-05 -3638 -0.0003516371751515783 0.0002550627168917989 0 0 0 -1.079169433485768e-05 -3664 -0.00070439298034926 0.0006869941350056497 0 0 0 3.7192917463376524e-06 -3685 -0.00046256524507462635 -7.956033536789959e-05 0 0 0 3.207221831358188e-05 -3699 -0.0007472674517780371 0.0004814466492527752 0 0 0 2.0444572144576636e-05 -3760 -0.0006651073109241841 0.00040024201295582015 0 0 0 -5.810577449905292e-05 -3773 -7.571921650973107e-05 -8.730363321267225e-05 0 0 0 1.8086000112604268e-05 -6297 -0.0004014027511250797 0.0001952002971716136 0 0 0 3.184591591876981e-05 -3802 -0.0003028962825620063 2.006788470577049e-05 0 0 0 -1.3059082724779236e-05 -3809 -0.000733459920700718 0.0005270443614438695 0 0 0 -1.987564531659383e-06 -3847 -0.0004970696814662634 0.000187123386898978 0 0 0 -6.30828422341114e-05 -7356 -0.0006374229701934193 0.0006883097148834468 0 0 0 -1.3559254551808612e-05 -3890 -0.000481524703979759 0.0004000549356732788 0 0 0 3.3377817521828075e-05 -6910 -0.0004279487017699278 0.0001402507040714107 0 0 0 4.681984772635686e-06 -3947 -0.000731452264439569 0.0006234881062964633 0 0 0 2.9803835804170183e-05 -3954 -0.00046061008218891217 0.00017784057210378345 0 0 0 1.9902060260238077e-05 -3999 -0.0005956397533837152 0.0006364261906395838 0 0 0 1.757012480004032e-05 -4014 -0.0003686365091042884 0.00022601132548788304 0 0 0 -5.231470333317136e-05 -4041 -0.00044083749485782683 0.0005877726979108812 0 0 0 2.7251790657874273e-05 -7328 0.0004817297133267055 6.734266814191936e-05 0 0 0 2.5481010068047293e-05 -4086 7.089983775166496e-07 -7.345000324215916e-05 0 0 0 3.1909487171197686e-05 -4090 -0.0006292492027563436 0.00023901766366966865 0 0 0 5.050817955185385e-06 -4108 -0.00018390640925319772 -0.00017733963715236965 0 0 0 -7.33284185449352e-05 -4112 -0.0005724264089213171 0.00018870787412789264 0 0 0 6.806394731934862e-05 -4133 -0.0006656989325389665 0.0005476119404236145 0 0 0 -8.436441251248484e-05 -9857 0.0004497781757249637 -0.0001934707720791053 0 0 0 -5.8014967093261996e-05 -4174 -0.0003003925436343433 4.050599318468278e-05 0 0 0 0.0003180889009615815 -4197 0.0005481601534969348 0.0002529914421235069 0 0 0 0.0005437300247784562 -4237 -0.0002888785004821925 0.00011982064634633962 0 0 0 0.00015441725712278355 -9755 -0.0007699582735907296 0.0007109165160699062 0 0 0 -8.527225939832998e-06 -4262 -0.0006331097514045558 0.0001423008051210757 0 0 0 6.943746812941297e-05 -4269 -0.0006090041955068192 0.0003956044213611449 0 0 0 -6.156758894602581e-06 -9638 -0.0003345143114301993 0.00014226675169501764 0 0 0 -1.9221056965258897e-05 -4286 -0.0006237791923718138 0.0006334010036521784 0 0 0 2.436831254296219e-05 -6495 0.00011440849837342774 -6.530008468218413e-05 0 0 0 -8.29279458414303e-05 -4351 -0.000641527218936939 0.00044148855391350954 0 0 0 1.49807305287363e-05 -735 0.00030382132027419645 5.789369627907173e-05 0 0 0 4.1639532696067716e-05 -4464 -0.0006035246140314989 0.000247872742153085 0 0 0 -2.095127178024826e-05 -497 0.00020488615348090183 -0.00020031638700924225 0 0 0 -3.964347320067217e-05 -10000 -0.000519251212475726 0.00022813486653515869 0 0 0 5.6883276455859125e-05 -4574 -0.0006999465866231825 0.000419553917964474 0 0 0 -1.8226724692190552e-05 -4578 -0.0005242460420228239 0.0002392040830774762 0 0 0 4.000339502000156e-05 -4596 2.0106584437762878e-05 -0.00018914950972596215 0 0 0 -4.88140499246873e-05 -4622 0.0002622878325831041 4.1173016302989666e-05 0 0 0 -4.881644544830671e-05 -6916 5.062346196854913e-05 5.34682887011758e-05 0 0 0 -4.3652390528700966e-05 -4658 -0.00023024112376419345 0.00014362821327585726 0 0 0 7.832262396198672e-05 -4664 -0.0005224489889523917 0.0007040785405274607 0 0 0 2.8890403236169688e-05 -4669 -0.00028956342864207524 0.00020205343340936373 0 0 0 4.859194278692127e-05 -4698 -0.0006781522852594546 0.0004698202883550243 0 0 0 -4.4748051365440736e-05 -4706 -0.0006055994161728334 0.0003892774847068027 0 0 0 -4.604025320768066e-05 -4726 -0.0005849699968465473 0.00022216123565192795 0 0 0 8.391713137085337e-06 -4734 -0.0006520742120093631 0.0006078060724368586 0 0 0 4.7352002919404285e-05 -4746 -0.0006264093364903538 0.0005416907447276118 0 0 0 2.1095474904101795e-06 -4749 -0.000639029695204084 0.0002291154440488072 0 0 0 3.837241439088689e-05 -6292 -0.0007192763044412356 0.0002311455441180145 0 0 0 -9.739203830411416e-05 -4792 -0.0006303660895723136 0.00032330123611188 0 0 0 1.5116948655272037e-05 -4800 -0.0005335023742665028 0.00022226541135913976 0 0 0 -1.9922124244678565e-05 -4809 -0.0005245255958360025 0.00017642392097284694 0 0 0 1.1763955539893908e-05 -9704 -0.0006457411285236747 0.00022519088460746928 0 0 0 -5.418784880628526e-06 -4840 -0.000699159699911138 0.0007097222485238459 0 0 0 1.8167991140770982e-05 -941 -0.0006319852789862233 0.00030566778995132373 0 0 0 9.109621118609291e-06 -4901 -0.0006579828328843728 0.0005621631925753528 0 0 0 3.566834652651169e-05 -5515 0.0003747149894666966 -1.4417381299119878e-05 0 0 0 -4.305140567260191e-05 -4996 -0.0005712872010869236 0.0005935197971012233 0 0 0 2.3916907862636436e-05 -5011 -0.00047261651562244625 6.970449276491058e-05 0 0 0 1.0513859568980199e-05 -5064 -0.00040778311386414494 0.00025396811602402847 0 0 0 -4.5750822553835104e-05 -5081 -0.0003354757400730101 0.00024152604672692202 0 0 0 0.00023600660918948467 -8512 -0.0004447962690373004 -0.0030273823556290942 0 0 0 0.00347284427939365 -5106 -0.0005464031691589001 0.00024595863956828614 0 0 0 4.288840888469512e-05 -5125 -0.0005334966450901982 0.00022019475265351232 0 0 0 3.3433009923104246e-05 -5141 -0.0007653238179239774 0.0006878515119995623 0 0 0 3.5937776809987685e-05 -5144 -0.0005253922167555949 0.00022140861435733652 0 0 0 -1.2827049916254394e-05 -5148 -0.0006016615962481309 0.0006178940089753982 0 0 0 -3.2936783056785914e-06 -5153 -0.00015016563946342618 -0.00015116901209630263 0 0 0 -2.1757134338038847e-05 -5203 -0.000657758508387605 0.00016430046695818838 0 0 0 1.9229688256917433e-05 -5226 -0.0006279106016962602 0.0005291599929946174 0 0 0 5.053666891651816e-05 -2318 8.209989858680445e-05 -0.0001307597716756664 0 0 0 5.357019411467598e-05 -5745 -0.0006404021695334014 0.00032625694745255605 0 0 0 2.0240496785425662e-05 -5277 -0.0006139836791328724 0.0005852894422889339 0 0 0 2.4026083655716154e-05 -9438 0.0002566837099216394 -9.315616558674024e-05 0 0 0 -8.926337452644481e-05 -6807 -0.00039405676257200624 0.00015515737681396616 0 0 0 9.148724499289246e-05 -5364 -0.000558774666103728 0.0002596612778837701 0 0 0 3.43964928624925e-05 -5396 -0.0007645034895497467 0.0005686858589717466 0 0 0 -6.823652557357221e-06 -5405 -0.0006829102237063023 0.00018309739115373683 0 0 0 9.18349921384372e-06 -5406 -0.0005559160854994357 0.0002633214172250719 0 0 0 2.082132229947953e-05 -5419 -0.0006786777644153749 0.00025590919520899433 0 0 0 4.963559822840404e-05 -5536 -0.0004935109591510159 4.916642711108646e-05 0 0 0 -5.498626116693851e-05 -5544 -0.0006518753199892357 0.0003876630002212429 0 0 0 8.902630867272183e-06 -5556 -0.00045975841126469797 0.00036375210694274774 0 0 0 3.317433662405973e-05 -5566 -0.0005946462667922243 0.00016155747742702058 0 0 0 6.012488486252216e-05 -5589 0.00041683912584798715 -0.00033726483241877707 0 0 0 0.0002894252662432336 -5600 -0.0005073997460377824 4.959892355607151e-05 0 0 0 1.3409245966672246e-05 -5608 -0.00046716593976458415 0.0001397138047906861 0 0 0 1.370070684183035e-05 -5618 -0.0006181058446126883 0.00019776939696908546 0 0 0 9.67563393233954e-06 -5629 -0.000907616588544646 0.00010385752444076979 0 0 0 -0.0002658495480586064 -5632 -1.3146889357455172e-05 -0.00010850758289036696 0 0 0 -3.068833869954456e-06 -5645 -0.00039155994673644665 0.00023463416435750125 0 0 0 2.2141264527064712e-05 -5688 -0.0006959535178362945 0.0002078497150559148 0 0 0 2.6209437446030153e-05 -5699 -0.0006046451435525916 0.00029572718324063634 0 0 0 1.5492626402464834e-05 -8170 0.0003663636287825008 -1.3531124408444394e-05 0 0 0 -2.3435154821620274e-06 -5710 -0.0006849942208224294 0.000684691659962422 0 0 0 2.246217632393958e-05 -5731 -0.00014673289103233632 -0.00028506950979601036 0 0 0 -0.00020150945814254059 -5733 -0.0007340713955103429 0.000590043543190391 0 0 0 3.9616259533422756e-05 -5753 -0.0007370370771423338 0.0005597990722810452 0 0 0 -7.159770491915015e-05 -2870 -0.00039806231240390615 0.00019263607235618852 0 0 0 -2.7435079502181504e-05 -5776 -0.00022333092994942207 9.606501926768312e-05 0 0 0 -3.328536993914085e-05 -5779 -0.0007175587576902588 0.00020562966573915538 0 0 0 0.0001571280263328768 -3364 -5.3592428585353755e-05 -9.6860657445532e-05 0 0 0 -3.330986452049579e-05 -5878 -4.75051718450031e-05 -0.00019014832862073328 0 0 0 -3.0093943338267318e-05 -5836 -0.0005437330932399054 0.00026495026240481675 0 0 0 2.4696811148082885e-05 -5843 -0.0006142683549974787 0.00034273381479922225 0 0 0 3.484385103836958e-05 -9658 -0.0006684624248178869 0.00022376996734536556 0 0 0 0.00031800792550213216 -5897 -0.000477268111457937 0.00020807864603620302 0 0 0 6.264819241714137e-06 -5903 -0.0007107444941244165 0.0004681529901036714 0 0 0 5.4769941290121345e-05 -5933 -0.0004509649211188537 0.0005481471604403305 0 0 0 3.2335641899106244e-05 -5960 -0.000181507482004865 -1.73198405559096e-05 0 0 0 4.010182598490637e-05 -5985 -0.0005362307049180225 0.00015624669955659144 0 0 0 5.748970815344936e-05 -2128 -1.569978205545262e-05 -9.637951705457122e-05 0 0 0 -9.32255150455243e-06 -6001 -0.0007194995582888898 0.00020873852763513318 0 0 0 0.00014679313391764964 -6009 -0.000651504975092583 0.0005119993010122961 0 0 0 5.6695286303831126e-05 -6022 -0.0006322392410103528 0.0005006818076077168 0 0 0 1.7898189999846084e-05 -6033 -0.0006378334879704077 0.00047697351198781207 0 0 0 -1.8296631571400557e-06 -7343 0.00043364730441636647 -0.000201306930460477 0 0 0 -0.00018069393580653128 -6069 -0.00048388910372996146 0.0002959093451621638 0 0 0 4.073284001542077e-05 -6083 -0.0005951364787835807 0.00027311171507101204 0 0 0 4.853671184147066e-05 -5754 -0.00040841919562961795 0.0008018492114417074 0 0 0 2.470345446440134e-05 -8825 -0.00022442359791065712 -0.00010029376197940469 0 0 0 7.547321591943353e-06 -6121 -0.0004165338011324479 0.0001588355190515893 0 0 0 5.925281919880654e-05 -6135 -0.0006473763562147365 0.00024255691451132805 0 0 0 2.4238732784442294e-05 -6150 -0.00029672198779169556 3.324817665644548e-05 0 0 0 -4.7472492828740344e-05 -6155 0.00016068021061479995 -0.00015088261431458366 0 0 0 -5.8996413655869556e-05 -6185 -0.0005763409038754189 0.00028024281290867786 0 0 0 -1.2115448752417917e-05 -1675 5.0243519303094e-05 -0.00010521499744310741 0 0 0 3.4163404891811097e-05 -6195 -0.0006368183297787269 0.00011398535660022804 0 0 0 5.06068829111698e-05 -9566 -0.0006921597169780489 0.00020123276669773102 0 0 0 9.957318976750401e-05 -9680 -0.0005045759936722743 0.00023364927946926985 0 0 0 -0.0001769060444070077 -9625 -0.0006082586827654353 0.00016587176577604565 0 0 0 -6.113889131446246e-05 -9645 -0.0005879321126429357 0.00027354840493420436 0 0 0 2.54281357623701e-05 -6311 -0.0007527475020602961 0.00024687896517802546 0 0 0 3.5161838057110756e-06 -6322 -0.0003788740602476178 0.0002841856873743673 0 0 0 2.2411997971814856e-05 -6352 -4.102672062913656e-05 -0.0001324157120969619 0 0 0 -7.935835216842156e-05 -6353 -0.0004762933630043292 0.00020084448276477736 0 0 0 -1.2679386388518234e-05 -6412 0.00013511546653521806 -0.0017944523643172662 0 0 0 0.0010048300583651412 -6462 -0.0006712966370490428 0.0006619845399950356 0 0 0 -8.002240258005277e-06 -8983 0.000584654789536467 -7.32139989156265e-05 0 0 0 -4.695782428060653e-05 -6506 -0.0006294396850712199 0.0006546100646044338 0 0 0 -7.896425957566684e-06 -6537 -0.0004971294599763135 0.0002590430527189422 0 0 0 2.1962086916979948e-05 -6608 -0.0006466246950763199 0.0002951073446483031 0 0 0 5.84740361273214e-05 -8261 -0.0007094992495318392 0.00027448850550548814 0 0 0 8.283668841058935e-05 -6614 -0.00046886350905183224 -6.103506589593921e-05 0 0 0 -3.0222490340342704e-05 -9617 -0.000334944554588396 0.0005729048414699711 0 0 0 -0.0002682839364518222 -8251 0.00019696517942927963 -7.827895029368994e-05 0 0 0 0.00014474704121605992 -6704 -0.00047083545030585837 0.00010132762943577148 0 0 0 -8.180022460521231e-07 -6713 -0.0005053532057376421 0.00017693804841206742 0 0 0 -3.3721357945617996e-06 -6759 -0.00042390836050794145 0.000371125354947588 0 0 0 3.464434715008807e-05 -6399 -0.00010164699983544092 -0.0004753392200289864 0 0 0 0.00011164688694989059 -9800 -0.0005213565078563665 0.0002870440936112448 0 0 0 2.1337041529197344e-05 -6813 -0.0003682871951162286 0.00041306958561754286 0 0 0 1.2483977482882497e-05 -9190 -0.0006385361418874824 0.00032984103087284946 0 0 0 1.2414135511649846e-05 -6848 -0.0005721345223069481 0.0003811672890012262 0 0 0 2.3460422204877873e-05 -6498 -0.0004439554412377243 0.00013661805954515803 0 0 0 -0.00024789666744971616 -1182 -0.0006329273170029488 0.00026459547137247806 0 0 0 3.792651250275824e-05 -6886 -0.0005129446785149464 0.0004927622310874614 0 0 0 8.512997692229045e-05 -6909 -0.0006289869016506732 0.00023649268722654063 0 0 0 -3.858310339963212e-06 -6944 -0.0004231587296705269 -2.3346008642233484e-05 0 0 0 -5.58993984978886e-05 -6965 -0.0002153160145443986 0.0002297091948665733 0 0 0 -1.2284071490549335e-05 -6968 -0.0005112091753517208 0.00034659757229882126 0 0 0 -6.311475183142792e-05 -6969 -0.00016606726522192883 -0.000559177143673817 0 0 0 0.0006671870993958118 -7000 -0.0003428387365390572 -0.00018279668116341535 0 0 0 4.732557538501698e-05 -7029 -0.000694902988544286 0.0004459845691665234 0 0 0 2.1566061900968312e-05 -7047 -0.0007666659311364562 0.0006184131506635746 0 0 0 6.400190871003723e-06 -7071 -0.00039302422750134644 0.0003566487223977131 0 0 0 2.4144955908345577e-05 -7089 -0.0006396375561567238 0.00047710639453652984 0 0 0 -6.331452502932919e-05 -9924 -0.0007086765409278745 0.0005764597751070173 0 0 0 2.961268100886671e-05 -8286 -0.00038533584875793996 0.00012894640405349588 0 0 0 0.00030441419574344167 -7113 -0.0006292279237943383 0.00033120108348803174 0 0 0 1.6180291672528575e-05 -7122 -0.0002958506449233738 0.0003138631930060691 0 0 0 1.7103877725150078e-05 -7139 -0.0007036277911815253 0.0005463834862969479 0 0 0 2.31531983630624e-05 -7148 0.0003122207368153882 -0.00022050025537511336 0 0 0 -0.0008373345930163477 -7150 -0.001687632368873944 0.0005875834276984667 0 0 0 -0.0021166908614258014 -7152 -0.0006235479456680637 0.00031577612333203055 0 0 0 8.705506410671903e-06 -7184 -0.0006429328799524442 0.00022840424201409882 0 0 0 -4.787287658101357e-06 -7191 -1.6004121440702747e-06 -7.529305478313259e-05 0 0 0 -0.00019612789953551678 -7197 -0.0007213189207058878 0.00028297777433750824 0 0 0 -4.632346508377001e-05 -7220 -0.0006488332748331732 0.0005455550975824734 0 0 0 -1.1186920643269827e-05 -7221 -0.0002521151050502131 4.398156964733344e-05 0 0 0 0.00011693364623218891 -7225 -0.0007122804804700406 0.0005439203625764339 0 0 0 0.00011778886233643481 -7228 -0.0005891501948631963 0.00024338270297082984 0 0 0 -8.96587308316526e-06 -7234 -0.00029175420067397714 0.0002752980941674029 0 0 0 2.2949050983271936e-05 -7242 -0.0006510244341013402 0.0004232751363523159 0 0 0 1.0016361082448354e-05 -7247 -0.00043234130289853794 0.0005398573256212473 0 0 0 -2.4714261532488397e-06 -7279 -0.00035855144557384754 -6.12549890019327e-05 0 0 0 -6.537063624232049e-05 -7282 0.0003579794465189327 -0.00018600163505633452 0 0 0 -0.0006939416224495502 -3031 -0.000669408002427205 0.00016784196291177832 0 0 0 -0.00016827133350849795 -5859 0.0004524381992868641 -0.0002446496571776111 0 0 0 -0.0001359044089733278 -4153 -0.0006804673824307928 0.0004110072032147214 0 0 0 6.285591845954278e-05 -9490 -0.0007114794498099415 0.00020368913294874913 0 0 0 0.0001596865615875218 -2510 -3.004757978957198e-05 -6.054109701702385e-05 0 0 0 0.00012264112454990207 -7367 -0.000404421465379724 0.0004167326914594802 0 0 0 1.7562036682612123e-05 -7369 -0.0003149637933088792 -0.00018981895752071944 0 0 0 -0.00019675064199280504 -7376 -0.000639147865563025 0.0003603050004451774 0 0 0 5.464698908319886e-07 -7380 -0.0006822750623825108 0.00045081696974867225 0 0 0 -1.0586573485955938e-05 -7388 -0.00016932865528260116 -0.00028706651702323986 0 0 0 -0.00012635270050599865 -7399 -0.0006968117933013471 0.0006977441699885454 0 0 0 4.828878420079754e-06 -7401 -0.0006898910840890032 0.00046818632678222893 0 0 0 1.3710546925153715e-05 -7402 0.0027553906389343364 -0.0009283696542746955 0 0 0 0.0005142787671513729 -7405 -0.0006306187604445432 0.0003530112020380177 0 0 0 8.614564305826471e-05 -5209 0.00025050751488859223 -0.00010926741057132685 0 0 0 -0.0001244926377934681 -2978 -0.00023996247642693155 0.00011996025425561996 0 0 0 4.1476334882589724e-05 -7432 -0.0007111314895545709 0.0004172474792501589 0 0 0 -3.6260992968249037e-06 -7449 -0.00044572296220745316 0.0003958534617831809 0 0 0 2.5790520386354995e-05 -7490 -0.0006490144268538166 0.0003807407418371528 0 0 0 -2.440194497311733e-07 -7510 -0.00048638496498147187 7.349082142176389e-05 0 0 0 8.797914103823479e-06 -7513 0.00018893166829150483 1.5377153787940023e-05 0 0 0 -0.0003526724388335663 -7523 -0.0004943116437394774 5.131378814429163e-06 0 0 0 1.8111742683276965e-05 -7555 -0.0007057448748787651 0.0007002951896603288 0 0 0 4.04278558371477e-05 -7580 -0.0006718598169501294 0.0003713961175083936 0 0 0 -5.0740109099585615e-06 -7637 -0.0006192856948780609 0.00024611608166941337 0 0 0 -6.7076222294099496e-06 -6085 -0.00011377699925611714 5.383222818176014e-05 0 0 0 0.00013258269564814763 -7653 -0.0005108857422996912 0.00022686192920358164 0 0 0 1.1039638876540156e-05 -7684 -0.0006114168714105192 0.0006185101231417771 0 0 0 2.267929149056424e-05 -7694 -0.0005552705871017902 0.0004553293710646114 0 0 0 -2.6160271777190793e-05 -7730 -0.0006549071654860866 0.00032777008840056434 0 0 0 4.048173189688526e-05 -7754 -2.7083985566406906e-05 1.7038772604228646e-05 0 0 0 -7.878432484421809e-05 -7762 -0.0006288957225860416 0.000655236388716051 0 0 0 -3.820921636526362e-05 -7763 -0.000566015708114767 0.00021176121426821405 0 0 0 4.4263428456333813e-05 -7771 -0.0004611083766096647 0.0002092901978729101 0 0 0 -2.1804576488491355e-06 -7773 -0.0006927629473960285 0.00023694378753653632 0 0 0 9.954814644480031e-05 -7840 -0.0006295179705987273 0.0005217880821586881 0 0 0 3.153388420052447e-05 -7929 -0.0005892191606129743 0.000259055822654897 0 0 0 1.046823968547258e-06 -2527 0.00019744870079056005 -0.00013967713218292037 0 0 0 0.0001294582750233142 -7336 -0.0005935191953845313 0.0006543531191915852 0 0 0 2.7009891091159464e-06 -7959 -0.0007542012196132238 0.0005370519612446683 0 0 0 8.743221267873585e-06 -7965 -0.00011020805630714517 6.105739693247161e-05 0 0 0 -5.8506457667331196e-05 -7993 -0.0004784305627481294 -4.7610939662291384e-05 0 0 0 2.9008092240226725e-05 -6037 0.0004345501461170684 8.370393759250587e-05 0 0 0 0.0002448747457062846 -8003 -0.0003076076903926834 -7.555292350741544e-05 0 0 0 -9.141515418979055e-05 -8029 -0.0006172208330465905 0.0005238080011651191 0 0 0 -9.730026137162247e-06 -8041 -0.0003442715386158605 8.173871659352319e-05 0 0 0 -9.84633324350529e-05 -8043 -0.00016838539734284464 3.094097466926253e-05 0 0 0 -0.00010137042589360006 -8046 -0.0004593006534133086 -0.00010364780327195936 0 0 0 -2.6486472431701395e-05 -8074 -0.0005159224946591028 0.00034426069209300876 0 0 0 6.218125730440354e-05 -8091 -0.0004825682919795333 0.00036144324782840464 0 0 0 2.2481590787615464e-05 -9929 -0.0003182638654413409 0.00020388166835980998 0 0 0 8.386223715628814e-05 -8108 -0.000523858381680922 0.00023321153568350205 0 0 0 2.1355572222759585e-05 -8116 -0.0002779694468184508 8.122981396406353e-05 0 0 0 6.584659305509518e-05 -8127 -0.0005872624166525995 0.00018981942238821336 0 0 0 -0.00011435376908945641 -8141 -0.0005935357444483301 0.0006203994698818315 0 0 0 2.3145852486786867e-05 -8181 -0.00044326826787130795 -0.00015262477848062824 0 0 0 -0.00012591620175912759 -8224 -0.0007052607901527482 0.00021383939897324784 0 0 0 -0.0001386831022231605 -8240 -0.0007201758381245809 0.00027420445346967924 0 0 0 6.444149730263463e-05 -8253 -0.0005025550141542213 2.8147218708748693e-05 0 0 0 -2.0455755620527333e-06 -6725 0.00039235277151846576 -0.00011241841009059085 0 0 0 3.5216749551242034e-05 -8273 -0.0006086279989171956 0.00024989910451637503 0 0 0 3.2690147083518806e-05 -8287 -0.00020454369685280897 -0.0001755597815676268 0 0 0 -8.69953036376734e-06 -8308 -0.0006698008754983609 0.00038063800100176 0 0 0 -1.1726588197333946e-06 -8317 -0.00013146581567950914 -0.00027113918335819516 0 0 0 0.0001523010192680185 -8335 9.096189688523794e-05 -7.244290108838581e-05 0 0 0 -0.0003642587464498452 -967 0.00033947968140696255 -0.00018998850924442393 0 0 0 5.265892770752207e-05 -8372 -0.0004139708565674216 0.00024111097251190342 0 0 0 2.778519822698748e-05 -8377 -0.0005609241322367813 0.00021304487875673723 0 0 0 1.2041277485337444e-05 -8428 -0.000625655900129578 0.0003130356778206058 0 0 0 -2.6819254947110622e-05 -9571 -0.00042095390758748895 0.0002670671254339868 0 0 0 7.160431256009197e-05 -8432 -0.0006732402342025083 0.0004044102944789525 0 0 0 2.5738106135489205e-05 -8435 -0.0006802608081178965 0.00014199108365485846 0 0 0 -9.217560983074572e-05 -8439 -0.0007152514864658118 0.00039409616728398346 0 0 0 -3.1128539172810095e-05 -8462 -0.00020483933086462688 -0.00021208615894278434 0 0 0 6.211854840433155e-06 -8475 -0.0006400811906152801 0.0001019238829008734 0 0 0 -3.1963469156353176e-05 -6838 -0.0019106274199778067 0.00016976568793133023 0 0 0 -0.0007276105364302176 -8491 -0.0006050660667626929 0.0002041134331321326 0 0 0 -3.700419848592457e-06 -8504 -0.0006460678720976413 0.00022606283509104164 0 0 0 9.452416767797237e-07 -8510 0.0007320034083447486 -0.00029967964984153417 0 0 0 0.0014166332467762045 -8530 0.0019548358236513097 0.0017281745939039326 0 0 0 -0.0002279310370961679 -8542 -0.0005846776960491973 0.0006327967802386414 0 0 0 4.744813301488495e-05 -8553 -0.0006903509769922612 0.00044273343795613723 0 0 0 8.082517425438892e-06 -8584 -0.0006537362211127093 0.000367448587334387 0 0 0 1.9376313071350113e-05 -5791 -0.0005631774479530602 0.00013862078595642028 0 0 0 -0.0007089802377376667 -8613 -0.0006841658773280924 0.0004175948926023547 0 0 0 -3.369923360925767e-05 -8666 -0.0006615099829487686 0.000393781815365386 0 0 0 7.45769517882521e-06 -9953 -0.0007626747236043473 0.0007332656385634098 0 0 0 2.6185868631525003e-05 -8701 -0.0003822634895640027 0.0002383424059940552 0 0 0 -9.330188774208737e-05 -8745 -0.0005468538842909767 0.0003695577800454929 0 0 0 2.313916410238438e-05 -699 -0.000354969451723708 0.0001568894573984133 0 0 0 3.3223821703761513e-06 -9934 -0.00021503101650001402 -0.00016266509463772896 0 0 0 -3.602048561833973e-05 -3318 7.362560514015915e-05 -0.00012211939270504756 0 0 0 -5.390063193722877e-05 -4936 0.0004455343997035798 1.664398486716078e-05 0 0 0 3.599608878770874e-05 -8816 -0.000658281845873003 0.00016712168552736757 0 0 0 -8.952135407080616e-05 -8823 -0.0006188869197092192 0.0005263521270086257 0 0 0 -1.0855258882646667e-05 -8832 -0.00024517469966166435 -6.419661390193523e-05 0 0 0 8.416282852792815e-05 -8845 -0.0005872605650370635 0.00023048871759653107 0 0 0 -1.1643444153833445e-05 -8857 -0.0006985563213068123 0.0004324041263205345 0 0 0 3.845768053112841e-05 -8862 -0.0003785186041407628 -0.00011549385373870209 0 0 0 -0.00010269335725565702 -8863 -0.000452537961450506 9.855580428995393e-05 0 0 0 5.8652694382176785e-05 -8881 -0.0006350998239078523 0.0005489020124570622 0 0 0 -3.2791475403447266e-05 -8891 -0.0006736364881399854 0.0007732661051343732 0 0 0 -8.82131712088581e-06 -9449 -0.000346238274135847 0.00021783831425750623 0 0 0 -1.3119607238082916e-05 -8940 -0.0003463128127213494 0.00022472902535411668 0 0 0 3.6582048765688864e-05 -8955 -0.0006634997110988861 0.0002134059672023094 0 0 0 -0.0001813112017746955 -8971 -0.0006266268019631845 0.0004765481816413714 0 0 0 -1.3449772343869084e-05 -8988 -0.0006407416016704714 9.793264676842318e-05 0 0 0 -6.381644007367599e-06 -8484 -0.0006837453777761293 0.00039058476570544553 0 0 0 -0.00012385661036770951 -6862 -0.0003692248795344876 0.0001908679223070085 0 0 0 -7.51399066187586e-05 -8960 0.00013095353026441073 -0.00027739574227740214 0 0 0 0.00013199238055925888 -9039 -0.0005736272907407018 0.00024728678988049607 0 0 0 -1.4188505261483662e-05 -9077 -0.00038794914659251575 0.0004318099358899668 0 0 0 2.88118888486715e-05 -649 -0.0006729753851373978 0.00037524118796680657 0 0 0 -3.7683417648394756e-06 -7302 -0.0006374911286302848 0.0004932898213371756 0 0 0 1.1436362275314201e-05 -9116 -0.000470756848209094 0.0006844097439834139 0 0 0 6.159047839605126e-06 -4874 0.00036314632949449165 5.4935978913531997e-05 0 0 0 1.0870596161424874e-06 -9133 -0.000494103729531339 0.0006942875491491535 0 0 0 2.026149299320975e-05 -9161 0.00042829490133348356 -0.00019158473699849512 0 0 0 0.00013087572756922025 -9182 0.0002696310717870153 0.0001260456928195337 0 0 0 1.806328082502551e-05 -7641 -0.0006313233748881094 0.000493548929425414 0 0 0 3.850258349378796e-05 -9986 0.0026409402647787797 0.0009015034888133612 0 0 0 -0.0002148168785658821 -9215 -0.00046549790705868456 -6.518143110656798e-05 0 0 0 4.0305447025980605e-05 -9216 -0.0013715693037034506 0.0008611629255808408 0 0 0 -0.0009640506361751337 -9218 -0.00018104804315700193 4.498593691788564e-05 0 0 0 0.0001292371444846212 -9222 -0.0008462283164543044 0.00018187424367097833 0 0 0 9.155774832516514e-05 -9232 -0.0007081881642154705 0.00020157394528927083 0 0 0 0.0002590417961795863 -4830 0.00011400186369047546 -0.000152667637445731 0 0 0 -1.5136501466617971e-05 -9280 -0.00046446603034438816 -8.276315318013616e-05 0 0 0 6.475149079321307e-05 -9313 -0.0006587735933088296 0.0003813140755853222 0 0 0 9.490292349168705e-06 -9320 -0.0007573356548430953 0.000750558268528691 0 0 0 -4.162424303324663e-05 -9329 -0.0011200962529638238 0.00014056372340165527 0 0 0 -0.00026849540294008505 -9340 -0.000592502124543813 0.0005264362073450313 0 0 0 -0.00014200706261520486 -2970 5.051444026019579e-06 -8.90539833295587e-05 0 0 0 -1.2401209634075946e-05 -9352 -0.0005967676490734057 0.00023537777278054146 0 0 0 2.1654297869085697e-07 -9382 0.0004598695035151187 -4.508717184121647e-05 0 0 0 -7.773755148821446e-05 -9400 -0.0007268243839109054 0.0004592952460449056 0 0 0 5.724314710018718e-05 -9420 -0.0005618885118080068 0.0003955597913757547 0 0 0 -2.916343162979079e-05 -9443 -5.825240261027593e-05 -0.0002849208474638865 0 0 0 1.2576365260667223e-05 -9650 -0.0006137742250572257 0.0003079562605693136 0 0 0 6.601005244051489e-05 -9464 -5.137321183018663e-05 -9.398334701467121e-05 0 0 0 2.518904062592968e-05 -9469 -0.0004429704086009969 0.00013215935200742534 0 0 0 -6.141057362665872e-06 -124 -0.0006200148432197904 0.00027252141368495653 0 0 0 -1.421504848279253e-05 -8990 -0.00033480655682248953 0.00019022840503740246 0 0 0 -7.794473191485506e-05 -8402 -0.00029729917414720377 0.00011732753046011263 0 0 0 -0.00010871956063539645 -2490 0.000283518708455455 -6.117741770556469e-05 0 0 0 0.0002081901088431871 -3672 6.601844867068046e-05 -6.08779880269403e-06 0 0 0 0.00024007335837311947 -4651 0.00020691093851071064 7.494115493270896e-05 0 0 0 -2.526290082256532e-05 -2621 6.416216917292639e-05 -2.701501819485587e-05 0 0 0 -0.00022671062917645657 -1381 -0.00045490318287978336 0.0008756298575105234 0 0 0 2.680036078400894e-05 -2348 0.0003325084986678487 -1.886682809084715e-05 0 0 0 4.09571953059621e-06 -2072 0.00015775448615370756 -0.0001518210828784421 0 0 0 -6.846467120733593e-05 -918 -0.00029444864481298995 0.00015756207327995533 0 0 0 -2.9406632218082366e-05 -1087 6.417273649708175e-05 7.732466861425575e-06 0 0 0 1.6373759538060394e-05 -6242 0.0002342753638205224 -0.0002319183381798523 0 0 0 0.000380982005181681 -3474 0.00043810505505406937 -0.0001404713132573294 0 0 0 -1.298426623949653e-05 -3217 -0.00024823904380219904 0.00022787684029468416 0 0 0 2.5628262544981438e-05 -9478 0.00035445058150171274 -0.0009297692798325185 0 0 0 0.0002074748274148007 -6510 1.4936363374983261e-05 0.000447420995756278 0 0 0 0.0001358183867113586 -5896 -0.00015063995884733486 3.1553757661156554e-06 0 0 0 5.7490568691816044e-05 -8303 -0.0002742471423837984 0.00019543977371870724 0 0 0 -1.5670287879519843e-06 -1551 -0.0004896987810051816 0.00018168998359549123 0 0 0 9.665153193183703e-05 -4508 0.000368343795055144 -2.4288749118795213e-05 0 0 0 3.8790707505621925e-06 -6619 0.000286923515624905 -0.0001300085424632117 0 0 0 -7.884676805537815e-05 -5403 -0.00037453297850717845 0.00019731054703995323 0 0 0 -0.0001508668411330646 -5798 -0.0007168670531875948 0.00036087211589877114 0 0 0 1.3057611425447316e-05 -5709 0.0003326751617573497 3.9885577416404324e-05 0 0 0 -5.294204705325831e-05 -9266 -0.0005755377039666335 0.0005981322736113244 0 0 0 -0.00010968297037403979 -6257 -0.00032021731882630295 0.0001932745931501467 0 0 0 0.00015769131883620492 -254 -0.0006478449041783608 0.00047493728335361914 0 0 0 1.518437771936743e-05 -8860 -0.00046621582612637935 0.00015915034010148196 0 0 0 0.0003929085741500309 -1178 0.0004700383838042236 -9.362339558310178e-05 0 0 0 -4.971806089011684e-05 -5577 -0.0005535521984584954 0.00037065094873144213 0 0 0 3.7366805536562944e-05 -9125 -0.0006748118271676396 0.000773525636104815 0 0 0 -7.065988651511746e-05 -6225 0.00020722159057033547 -1.4194803859047883e-06 0 0 0 0.00012396880318586576 -4675 0.0005312942255034042 -8.015093343817849e-05 0 0 0 1.9506342899666922e-05 -836 1.1817288613243483e-05 1.2133485309994046e-05 0 0 0 -8.288868719975756e-06 -5048 -0.0003002965619433724 0.00012089465403685934 0 0 0 0.00010715160699628774 -4067 -0.0003328762380055957 0.000403452235257223 0 0 0 2.249945879469621e-05 -308 0.0001519577053636314 -0.00010474104018466865 0 0 0 -6.051836915171389e-06 -3503 -0.0002332569900272758 3.866856213391233e-05 0 0 0 4.9631117341241175e-05 -5353 -0.0002690802791280687 0.0009820081545926151 0 0 0 -0.0007980265024787221 -7428 -0.0004865063043815064 0.0008627107405545894 0 0 0 5.559236614270545e-05 -5376 -5.423764976118042e-05 -6.0873700833789316e-06 0 0 0 7.155124236085113e-05 -6096 -2.3747447604418555e-05 -3.7190750634251366e-05 0 0 0 0.00014180342679481287 -7948 -0.0004208071300204239 0.0001683000777829586 0 0 0 -9.5155782998565e-05 -9509 -0.00040530840174524596 0.00014348643606608527 0 0 0 -0.0002068632911455558 -3850 -0.00047091476371702843 0.000887315618501206 0 0 0 -9.286297895107166e-06 -4450 -0.0004421971890792526 0.0001559115511691882 0 0 0 -7.92366284065772e-06 -4770 0.0003560708576841552 -4.6975963002146853e-05 0 0 0 -0.0001092243319468583 -4660 -0.00045408129608773864 0.00013807756507168634 0 0 0 -2.7084226542078987e-05 -9110 0.00041868734202089717 6.286549521837816e-05 0 0 0 -1.4757689931700374e-05 -2298 -0.0002638624523868029 0.00024407494583134263 0 0 0 3.714615676326687e-05 -2825 -0.0002942276874100707 0.0001511288841509706 0 0 0 3.240173212856775e-05 -8915 0.0004044863315229922 -8.018849108036167e-06 0 0 0 -4.75230428134225e-05 -3122 -7.245693353526484e-05 -2.7294371718985165e-05 0 0 0 -3.8356192518750585e-06 -485 -0.0001516738722647579 3.228430727793947e-05 0 0 0 1.7681996558635373e-05 -380 0.0005917272239629296 -7.143656303228448e-05 0 0 0 2.32537658381621e-05 -1384 0.0004597391516178066 -6.74692599989798e-05 0 0 0 -2.7306480458792186e-05 -8192 -0.0002732859317068353 7.198448494213915e-05 0 0 0 -3.302235057146072e-05 -7128 -0.00019433953752276222 0.00017290936632581108 0 0 0 8.979655470924962e-05 -5679 -0.0004248428322088846 0.00023092119685666523 0 0 0 -0.0004749673544719736 -8578 -0.00022768161070766101 -3.667041649233627e-05 0 0 0 -6.056379119520918e-05 -726 -0.0003077947813328127 6.128804329208373e-05 0 0 0 6.11646080923422e-05 -7619 -0.00036506794193262885 0.00021716630642225302 0 0 0 1.1649698914937965e-05 -7438 -0.0003135268311342501 7.57056711852492e-05 0 0 0 0.0005054851993067241 -3818 7.066293925141106e-06 2.3880828434063806e-05 0 0 0 0.00015951163721306875 -138 -0.00020815944647011603 5.5862385645543455e-05 0 0 0 2.14301362919093e-05 -7147 -4.901495219333691e-05 -5.786221510245006e-05 0 0 0 -1.8204949468301884e-05 -1295 -0.0002435808996428534 0.00015457522440025072 0 0 0 -6.713551569284811e-05 -1591 -0.00014421218430311013 0.00018078965095552578 0 0 0 3.459584687021035e-05 -1720 -0.00021209234206498692 0.00011928773538989007 0 0 0 -0.00012773916306272934 -637 1.7360821398725207e-05 0.00014748642658912357 0 0 0 8.178290247269792e-05 -9115 -0.00044855392381946757 -2.071781257056608e-05 0 0 0 0.00031335537496004665 -2301 -0.00021158487276739995 0.00015358670596177083 0 0 0 -8.03391494894259e-05 -9050 -0.00019747716034756958 0.00016077062894807395 0 0 0 9.210350700048769e-05 -2419 -0.000370547711152729 0.0001319266398495964 0 0 0 0.0002684213162819686 -7934 -1.936357028600233e-05 4.7073651970328814e-05 0 0 0 -3.3555355120918315e-05 -7177 -0.0002560739844512396 0.00010261095899552295 0 0 0 5.612399378810612e-05 -9792 -0.0004774086755823573 8.970644627410534e-05 0 0 0 -0.0004355492745791868 -7526 -0.0004867616985160927 0.00018470655262791842 0 0 0 0.0006017063693420351 -3097 -0.0003738220192205415 0.00025320903772256905 0 0 0 -0.0003036959680438254 -2385 -0.0005025583570453791 0.00010872468442179384 0 0 0 0.0003790897942410235 -3270 -0.0004643776429686421 0.0001532035649561094 0 0 0 0.00025009090537367323 -3309 -0.0005196719037645545 0.00017443715132798305 0 0 0 0.00029391551065919766 -3392 -0.0002790644525415653 6.089354782071235e-05 0 0 0 -7.169348967252109e-06 -6078 -0.00033592766599916773 6.426009157648946e-05 0 0 0 -9.197744806356458e-05 -8793 -0.0002152714769751855 0.0001617453505001394 0 0 0 0.00018904636840024532 -6641 -0.0005072110628788907 3.7693473291900144e-05 0 0 0 -0.0005868006178463807 -7542 -0.0002670721401547617 1.3524335639062548e-06 0 0 0 -2.8677361479059146e-05 -8762 0.000257896634567256 -0.00034857841025658906 0 0 0 0.000758567417704808 -744 -0.00023017204575402118 4.131990982916877e-05 0 0 0 -5.0404953679839585e-06 -9195 -0.00032429697302009057 7.21108111550212e-05 0 0 0 5.933196485848961e-05 -1958 -3.2842023781347146e-05 0.0002320326818023771 0 0 0 -6.414302978428355e-05 -7726 -0.0002993465396727212 4.387382432389967e-05 0 0 0 -4.310444707425221e-05 -1 -0.000569732975846702 0.00017028076540873577 0 0 0 -3.838216855164832e-06 -5282 -0.0004152467222915785 0.00034075214503330914 0 0 0 -1.6293128892143897e-05 -1765 -0.00032597912599576856 0.0002538533890920063 0 0 0 0.0001260579946682485 -12 0.0008385256946238465 0.00019037110273399449 0 0 0 -3.627897388211552e-07 -18 0.001148109443938377 -2.076417565321592e-05 0 0 0 1.8688802909172956e-05 -50 0.0004020525065847281 0.00028138443580116515 0 0 0 -2.8250131163080555e-05 -58 0.00014926276027985995 0.00046993564637940556 0 0 0 -6.0203841382498856e-06 -63 0.0009069339233954592 -7.011361117254908e-05 0 0 0 1.0337059367699234e-05 -116 0.0008948141185450891 0.0001388691471683616 0 0 0 -2.4936291797980615e-06 -143 0.0006917561146206887 0.00020715589881110778 0 0 0 -1.740927835344842e-05 -151 0.0008634781221635454 0.00016680143985377884 0 0 0 -4.402957380557723e-06 -158 0.00023860045783036097 0.00044774796712258413 0 0 0 4.775653740853733e-05 -167 0.000986412762579123 0.00014122712509780113 0 0 0 -3.797161176524546e-05 -9740 0.0001537661881380157 0.0004756855346588462 0 0 0 3.4651138610703086e-05 -205 0.0009326078060348132 0.00012520957579374638 0 0 0 -2.843189489027643e-06 -234 0.0008044731866991676 1.986380818579454e-05 0 0 0 -9.870264170929633e-05 -238 0.0008925462210441305 0.00019264009931039186 0 0 0 4.381113506696442e-06 -260 0.0009030469994684041 0.0002782107667383585 0 0 0 -5.056183785309976e-06 -299 0.0005742430053920384 0.0003233448797402298 0 0 0 -1.543631029592583e-05 -322 0.0008862189351729611 0.00015799531036956303 0 0 0 -5.047521104033112e-06 -325 0.0007592477135956389 0.00010806989010414568 0 0 0 -0.00020731968071204115 -386 0.0002996489044002835 0.0004065457288941173 0 0 0 -2.0388014519953177e-05 -1570 0.0008768022771385202 0.00012025598287177678 0 0 0 -1.8014358859738784e-05 -5170 0.0008953849457367337 0.0002503698788188355 0 0 0 -1.0105963634980595e-05 -4586 0.0009609224580800608 -9.857799692304284e-05 0 0 0 -2.1637966767062187e-05 -622 0.0008909877439892087 0.00026547154227160146 0 0 0 4.394471676405887e-08 -6930 0.0008426015317037701 0.00029746900712456355 0 0 0 6.754071094432028e-06 -636 4.5950288354409597e-05 0.0004132285136219927 0 0 0 -6.70438266744972e-05 -788 0.0007869700234057895 0.0003070853428476951 0 0 0 2.9599864660315243e-06 -799 0.00011765107746674922 7.893877352358513e-05 0 0 0 6.735810863583514e-05 -9834 0.0008660872819297311 0.0001622216498275218 0 0 0 1.2219187121717966e-05 -821 0.0009553087914473846 0.0002730598856146396 0 0 0 -1.0706483065395655e-05 -854 0.00039209657076861204 0.0002281161950927939 0 0 0 -5.493405794062625e-05 -869 0.0008926337301017254 0.00020465998036104277 0 0 0 -3.4471380996649944e-06 -874 0.0003877490037975598 0.000372505422131379 0 0 0 -4.294643710110197e-05 -877 0.0009404240815633728 1.0722898272462162e-05 0 0 0 5.169721207998417e-06 -6936 0.0008770213985834643 0.00018069431372203423 0 0 0 -1.2990671668078372e-05 -945 0.0009189378575450046 0.00014671096314740098 0 0 0 2.1329815471950425e-05 -1037 0.0005487953269650085 0.00025806715247506345 0 0 0 -0.00022279105832356819 -1044 0.0009501243494770107 0.00027746237887140074 0 0 0 8.35225565363014e-06 -7444 0.00019299801378331078 0.00022354853640527567 0 0 0 8.714125997127775e-06 -1112 0.0009449857616654272 0.00029039045309646005 0 0 0 1.5538353757352345e-06 -1137 0.00047666900302119087 0.00026365387286409354 0 0 0 -0.00013201719149434575 -9285 0.0008922020138932083 0.0001644802939656284 0 0 0 2.78742074042725e-05 -9407 0.0008734597663002099 0.00014860594563090093 0 0 0 -5.503588749906596e-06 -1206 0.0009149391114120365 0.0001385421520708483 0 0 0 2.7926084391749848e-08 -5093 0.0008332558740203197 0.0001965771224424815 0 0 0 8.25599000373934e-06 -2337 0.0008452353882050245 0.00018909608145895268 0 0 0 8.85157982965944e-06 -939 -1.2116507379423175e-05 0.0004547947487190239 0 0 0 -2.1858680891499e-05 -1275 0.0007429804956132557 0.0002624936490711172 0 0 0 -3.196888956613986e-05 -1296 0.00015094697095586045 0.00026292074899333674 0 0 0 -0.00012235247172858623 -1309 0.000925719368040085 0.00013664400091007483 0 0 0 1.902035632128484e-05 -1312 0.000915071607982004 0.0002116351655621996 0 0 0 2.3321997829484044e-05 -5774 0.0009313494923048368 -6.75442416659304e-05 0 0 0 -8.269066201286013e-06 -1341 0.00012498579306807802 0.00032523847911972826 0 0 0 -0.00010950760112773687 -1342 0.000785882904382291 0.00025851657643629787 0 0 0 3.764955338244511e-07 -7582 0.0009333159957141489 0.00010599721389837272 0 0 0 -1.1120731860891965e-05 -1385 0.0009393542002799044 0.0002449829974349698 0 0 0 -5.825272975668948e-06 -2546 0.000856121192781496 0.00020210440586781455 0 0 0 6.330538485354357e-06 -1404 0.0008548865537728108 0.00027606803847559833 0 0 0 -5.080022993102923e-06 -1417 0.0008504523960668614 0.00020260529253006808 0 0 0 4.254924222153978e-06 -1445 0.0006472628189374226 0.00027080965535167354 0 0 0 -3.88514590926362e-05 -2102 0.000955866789412348 -0.00013909876273826303 0 0 0 1.970720514367021e-05 -1530 0.0008358809246480198 0.00020428554142010554 0 0 0 1.0349341490330448e-05 -1666 0.000592278499133798 -0.0001272510073790388 0 0 0 0.0001010379951400287 -1677 0.0007422828545043297 0.00032565253803245106 0 0 0 -1.3472597335346709e-06 -3039 0.0008348023349967731 0.0002702349913874444 0 0 0 1.1178933891629274e-05 -1683 0.00041696879142859295 0.00021460921951723836 0 0 0 -0.00029393733306826267 -7587 0.0009136625322475142 -0.00018067642052612068 0 0 0 4.045975254015576e-05 -1746 0.0008643314239574206 0.00018720077327145118 0 0 0 9.980724439914194e-06 -1752 0.0008675081243326244 0.00028094688391648863 0 0 0 -7.842475575706882e-07 -1789 0.0005247252113618901 0.00021494849998785203 0 0 0 -0.00010006499949125301 -1828 0.0009154383606737854 0.0003173966912378297 0 0 0 -7.204159291293894e-05 -1835 0.0004738910924683673 -5.530565173425398e-05 0 0 0 1.4823124573404198e-05 -1868 0.0007535125796068946 0.00031943255942820306 0 0 0 -1.7533298114053926e-05 -1872 0.0008553019740043052 0.00020816074902102087 0 0 0 5.051556104455127e-06 -1899 0.0008606342058989928 0.00019745892127759823 0 0 0 -9.225516946032378e-06 -1916 0.0002894153637923524 0.00041637719005864395 0 0 0 -0.00014956469876828237 -1929 0.0006433263181196452 0.0002072271371993228 0 0 0 9.996275979463506e-05 -1942 0.0004426204989616857 0.00036187885209846096 0 0 0 -0.00017905470803190814 -4083 0.0005081902654646287 -4.110515118055095e-05 0 0 0 1.655846046399029e-05 -1977 0.0008423969168917565 0.00026335903380936526 0 0 0 -2.181105310659574e-05 -1980 0.0004241559529770592 0.00019644140497085012 0 0 0 0.00012721665191838205 -2007 0.0002272243416490653 0.0002304953556763755 0 0 0 0.0002604460754200768 -2019 0.0008547811964736685 0.00020740677465813672 0 0 0 -1.2145742172189756e-05 -2025 0.0008398714672912965 0.0002953582790697961 0 0 0 -1.5988751875347935e-05 -2064 0.0009310298954001431 0.0002846440650681849 0 0 0 2.8500295276306493e-05 -2090 0.0008113213911979766 0.00028932837503951517 0 0 0 -1.271576462283319e-05 -2109 0.0010145805812143815 0.0004718084967387796 0 0 0 -5.372995632212326e-05 -2136 0.0009443263479934706 -3.858429956127896e-05 0 0 0 -4.953905259371613e-06 -2233 0.0009343075167523753 0.00011228642830665468 0 0 0 -1.8593312139675e-05 -2243 0.0008724902654584722 0.00014684911017766008 0 0 0 -4.1905369814587684e-06 -2279 0.0008523478554288405 0.00016407970474461135 0 0 0 4.659487566173788e-06 -2321 0.0009202399032145846 0.0001386288021553929 0 0 0 1.1070658065369314e-06 -2324 8.266235948324588e-05 0.00048105555277993205 0 0 0 7.285048620349994e-05 -2325 0.0008585473508113736 0.0002346097934006345 0 0 0 1.1507794662047196e-05 -2329 0.00047508915383319764 0.00023771502860103804 0 0 0 0.00012451901755237136 -2336 0.0009403606910920071 0.0002580924801282913 0 0 0 -4.612182687026399e-06 -9822 0.0008781054494980073 0.0005191350766290955 0 0 0 -2.368204914167717e-06 -2363 0.0008196045735201997 0.0001582338727115893 0 0 0 -5.8876966545785374e-05 -505 0.0008975063474255418 -0.00020544418648316368 0 0 0 5.39766929022908e-07 -2374 0.0009069371685860242 7.86099496778924e-05 0 0 0 5.6609664347878284e-05 -2406 0.000928717625231355 0.00024053387578864128 0 0 0 1.981521372421242e-06 -2439 0.00021338659557776411 0.00045239768663848115 0 0 0 -2.1378038667030513e-05 -2443 0.0008478787575853852 0.0003167637186641756 0 0 0 -3.067084598144534e-05 -2455 0.0002994794057764259 0.00039719988103581585 0 0 0 -5.390057322665491e-05 -4266 0.0008249104360740916 0.00022566486801904888 0 0 0 2.1856644390604023e-05 -2597 0.00012758258210598258 0.00032876622976204725 0 0 0 -0.0003961255050272233 -2613 0.0011089363802638786 8.805056297164069e-05 0 0 0 1.6253869689916127e-05 -4056 0.0008493688042558519 0.0001678032552193743 0 0 0 -8.333563303733102e-06 -2705 0.0007834424831297471 0.0003150131444773275 0 0 0 -5.943003860396915e-06 -2746 0.00021018068925395257 0.0003251615466913021 0 0 0 0.00023506501231935117 -2760 0.0008859303873932853 0.00019533943061306926 0 0 0 1.1731021598920074e-06 -2765 0.0009888743467785107 0.0002555239688268066 0 0 0 -8.562787391421418e-06 -2790 6.680321179630579e-05 0.0004867985102424663 0 0 0 1.5866260595230485e-06 -3453 0.0008606398913741796 0.00016222331013203078 0 0 0 -3.5629397359782926e-06 -2826 0.0006232488922409038 0.00015123081638434955 0 0 0 2.1258420433548618e-05 -2841 0.0008709063158529746 0.00022687811487619004 0 0 0 3.690663940357966e-05 -2863 0.0007543207683702568 0.0003079421448418295 0 0 0 -1.657404148064534e-05 -7767 0.0007786590416535854 0.0002908892019820655 0 0 0 -1.2663547378425574e-05 -2907 0.0008574422415092922 0.00020184755205979394 0 0 0 2.6114514190874074e-05 -1202 0.000890807866664551 0.000160185345540269 0 0 0 -9.625968800901203e-06 -2945 0.00039732231785933583 0.00034585695782713555 0 0 0 4.760437212387435e-05 -5204 0.0001248583331933296 0.00023544950003436145 0 0 0 5.7877027801297026e-05 -3095 0.00047683584334336796 0.0003253169941206089 0 0 0 0.00013015645224745756 -5110 0.0009413499318008004 -4.880247936999915e-05 0 0 0 2.3738427605635534e-05 -3128 0.0009493400656642228 -7.23918860708623e-06 0 0 0 -2.3594914241634636e-06 -9829 0.0024243159235021417 -0.00024195154814202506 0 0 0 -0.00180190634691826 -3152 0.0008698508293325733 0.00017289801625090267 0 0 0 -1.8978561403037058e-05 -9350 0.0008319854648460711 0.0002904552541197833 0 0 0 -2.1992906453088285e-05 -3246 0.0009549248891243139 9.287123505308644e-05 0 0 0 6.015483239199337e-05 -3330 0.0008565020669370079 0.000180857420759508 0 0 0 -6.160169636114294e-05 -3353 0.0007500005734472218 0.0002110013358875232 0 0 0 2.3694043343081356e-05 -3372 0.0006620017251065439 0.0003247642966031608 0 0 0 -4.794413204749765e-05 -1826 0.0008720632486419668 0.0001548417445518835 0 0 0 4.898867427282075e-06 -5905 0.00015368615441255915 0.0004924632230947138 0 0 0 8.222252835237701e-05 -3424 0.0008964867898476548 0.0001420165804824915 0 0 0 -1.2395246932784566e-06 -3441 0.0011105163005509055 0.00015356460089795162 0 0 0 -0.00016319485596869834 -3479 0.0009103327611080356 0.0002249503150489957 0 0 0 0.00013983581567411405 -3491 0.0004911720138203633 0.00024189755126224294 0 0 0 -7.245983412713645e-06 -3522 0.0008760808288126605 0.0001560325201558289 0 0 0 -6.548941741567478e-06 -3532 0.0005744615232950002 0.0003031742304584993 0 0 0 -0.00020293628660169287 -3541 0.00018940700043614344 0.00019068449122991882 0 0 0 -8.584460863677297e-05 -3543 0.0006408376449298554 0.0003328677054401305 0 0 0 -2.218162931716728e-05 -6080 0.0009439186777256196 -3.329403211821894e-05 0 0 0 2.4549807628669872e-05 -8920 0.0008438010884918995 0.00019921950246220527 0 0 0 5.501512993105226e-06 -3613 0.00025926708566059004 0.0004486359087055471 0 0 0 6.383758978491606e-05 -3621 0.0006894610635594611 0.00012675979628571426 0 0 0 0.0005315305785211931 -4720 -0.0001745910431451375 0.00031857824143735603 0 0 0 -0.00023302801217694238 -3669 0.0005730686341689887 0.00036088130621677916 0 0 0 9.49780620900479e-05 -3705 0.0008008153118212231 0.00029697405657308463 0 0 0 -1.942726517728896e-05 -3710 0.00017282728239988773 0.0002751516670882323 0 0 0 5.346145566292893e-05 -7499 0.0009240592077530198 -0.00010730694906977418 0 0 0 3.227739371346069e-05 -3730 0.0009065332269268256 0.00024826270582091394 0 0 0 -3.921095651919728e-05 -3780 0.0009455066118661973 -1.7301349929354562e-05 0 0 0 3.710841186414313e-05 -3804 0.0012129000197651431 4.059463171539906e-05 0 0 0 -9.7512309880787e-05 -3814 0.0005124676491483249 0.0002657972647805174 0 0 0 -3.111065453061558e-05 -6227 0.0008236879284660612 0.00023784790479412871 0 0 0 -2.3951669846487163e-06 -3854 0.0008456679458769711 0.0001967254605392125 0 0 0 8.910151027790374e-06 -8948 0.0008167943120998082 0.000240556076420187 0 0 0 -1.1129624053765717e-06 -3882 0.00011434639930973913 0.0004778580988251154 0 0 0 6.0224371104164025e-06 -3887 -2.842992860281086e-05 0.0003187193427610612 0 0 0 -0.0002400267271091613 -3897 0.00032889583853110523 0.0003981200767209249 0 0 0 -8.869726775634736e-05 -3861 9.44243913528532e-05 0.00022046599613637194 0 0 0 -0.00010921923117927704 -3949 0.000654643360466629 0.00016008633446447268 0 0 0 0.00017048062299619135 -3962 0.0008872180876746003 0.00017943709760935952 0 0 0 1.296517903024072e-05 -3980 0.0008781203524619362 0.00018471013476949584 0 0 0 4.481412857283438e-06 -3993 0.0007894382313364961 0.0002832300084979262 0 0 0 -1.3205135979039815e-06 -4008 0.0009067641772665328 0.0001631981341587381 0 0 0 1.3486518861471747e-05 -4033 0.0007938119072702648 0.00027206146310911446 0 0 0 -0.0004553221904666727 -3824 0.0009539873915407218 -9.718095650961389e-05 0 0 0 2.641363651774805e-05 -4085 0.0008924709107349384 0.0006028006750444645 0 0 0 -0.0001221695305990818 -9878 0.00019469435312359046 0.0005194524939674798 0 0 0 -4.348997422547381e-05 -4121 0.000620627977026198 0.00013674205348278154 0 0 0 -0.0002561643357126601 -4144 0.00011743950038316086 0.00023142094286258123 0 0 0 0.0003806060429239216 -3538 -0.0003818556858808896 0.0002641013764525081 0 0 0 -5.594836788928867e-05 -4168 0.0006925211017816177 0.00023071576590549911 0 0 0 -3.6419426940434637e-06 -6977 -6.70241690909809e-05 0.0005326740236478787 0 0 0 -0.00026518805469539597 -1110 0.0009482322585292176 -5.6059700038278166e-05 0 0 0 1.8754742241980973e-06 -4239 0.0007752196912099121 0.00020799131661035732 0 0 0 -5.568825740080709e-05 -4246 0.0008572634146790537 0.00021985856763725637 0 0 0 -1.188045754520169e-05 -9698 0.0007495387272988627 0.00028853913001199014 0 0 0 1.1685799861477503e-05 -4268 0.0009177671137193967 0.00025021864005086314 0 0 0 4.966388473080435e-05 -3094 0.0008696466141623404 0.00015625420396378346 0 0 0 6.019739444296895e-07 -7056 0.0008883628938209175 0.0001770253011801677 0 0 0 -1.4232765346216216e-05 -4281 0.0009049509543556513 0.00024326503880702286 0 0 0 -1.8514527823275483e-05 -6516 -0.00025355324944201354 0.00040288220317394465 0 0 0 0.0005661658187589246 -4321 0.0004937906936824115 0.00022265828473587464 0 0 0 0.0003369225516039856 -4342 0.0005295394724891259 0.0001088635539129405 0 0 0 7.45929168370091e-05 -4371 0.0007058984887696125 0.00030123842085998256 0 0 0 -3.125426952462306e-05 -4411 0.00034284722625333027 0.00022164052023153358 0 0 0 -4.400354929761777e-05 -4418 0.00022012353814062092 0.0002056656572559698 0 0 0 -0.0006602241034622019 -4488 0.0012065700368867668 0.0002484958686763136 0 0 0 0.0005567307202857523 -4498 0.0009177891776831271 0.0002200516212986677 0 0 0 2.3416752985418427e-05 -4509 0.0004905757102378795 7.7508819467488e-05 0 0 0 -6.367141624269655e-05 -4580 2.7755533075031785e-06 0.00047841925925325455 0 0 0 -0.00014555028434010318 -4705 0.0008511479731166322 0.00025554793539789695 0 0 0 -5.8872790558173625e-06 -8135 0.0008498671358766689 0.00018002166236196792 0 0 0 6.71692920869983e-06 -4759 0.0009111608247986012 0.00013212875685569053 0 0 0 6.350025567580437e-06 -7685 0.0008896905439272511 0.00017007282126857125 0 0 0 -1.2467439572856748e-05 -1769 -7.542289571315806e-05 1.7669464678911526e-05 0 0 0 -0.00014863560125265095 -3661 0.0008715432145880053 0.00014841032529995358 0 0 0 4.4716800519402655e-06 -4856 0.0007893122095205342 0.00031029163726761783 0 0 0 2.9705681347349174e-05 -4957 0.0006153803602057559 9.431655050379896e-05 0 0 0 2.3472883063954295e-05 -5000 0.0001620565571088453 0.0002712722081383416 0 0 0 -0.0003556638035110799 -9888 0.0008645742770704905 0.000168860496867419 0 0 0 -1.2070697832673158e-05 -5039 0.0006067874467236256 0.00017263350201346755 0 0 0 0.0002665405372539185 -5047 8.373881383285727e-05 -4.547475805773404e-05 0 0 0 -0.0002273133061488302 -9955 0.0008091853616931867 0.000298279576291739 0 0 0 -2.9969880131456557e-05 -5113 0.0009044596163735476 0.00025739034591018415 0 0 0 5.764584418852043e-06 -5121 0.0001323947123865039 0.0003507954483968786 0 0 0 -0.0006294568061370182 -5135 0.000718707835817568 5.507653352062163e-05 0 0 0 -0.0004899917979890058 -5303 0.00029736327674534374 0.0004242258510844166 0 0 0 -3.443875645075403e-05 -5320 0.0003265064970670238 0.00039863815444863405 0 0 0 -6.334317958617886e-05 -5343 0.0009072181171282274 0.00015224282223249696 0 0 0 -2.4533194282908165e-05 -5358 0.0009590345768769166 0.00030477764323060094 0 0 0 -1.0963206243806101e-05 -8494 0.0005881791974162841 -5.504847382746192e-05 0 0 0 0.00022098569536615245 -5460 0.0006730700340653788 4.2926684056920126e-05 0 0 0 0.0003812305060173252 -5492 0.0005143728367909073 0.00011226523221197632 0 0 0 -0.00040830494626016805 -5499 0.0009511141709799955 0.0002822459452745738 0 0 0 3.2956480460441447e-06 -4806 0.0009399768165611011 -0.00016729889717334435 0 0 0 2.1617019346875183e-05 -5673 0.0009013721545084172 0.00022636271840976616 0 0 0 1.5136018627035673e-05 -5695 0.0008639325427140252 0.0001791495470339923 0 0 0 1.2658136510315411e-05 -5728 0.0003624194235162646 7.529384191214354e-05 0 0 0 3.080914367558491e-05 -4728 0.0008737614573288807 0.00013763284235960647 0 0 0 7.679605922402587e-06 -8625 0.0008743987964350432 0.00019910264668180575 0 0 0 9.379983016768034e-06 -5792 0.0009359765775693604 0.00025146326524742515 0 0 0 2.458746921178086e-05 -5833 0.0009417655748037583 -3.0308536688769196e-05 0 0 0 -6.9195323411345045e-06 -5857 0.0006913995036431921 8.598996967434732e-05 0 0 0 6.548105325076409e-05 -5865 0.0009101718720200243 0.000681842007204538 0 0 0 2.737571170782826e-05 -5870 8.347370724689155e-05 -4.523155734009903e-05 0 0 0 -0.00013144935873641604 -5890 0.0006939797786618906 0.00024988273327336915 0 0 0 -0.00010067657953152579 -5541 0.0008629421808803781 0.00016459533493327184 0 0 0 2.483420154874718e-06 -108 0.0008929001122503456 0.0002584579981624448 0 0 0 1.4872882359715066e-05 -5934 0.000690262484599407 0.0002284552285494997 0 0 0 0.00017272292283896702 -5978 -0.00020303943466409591 -0.0002972916605753419 0 0 0 -0.0002568519294549066 -5990 0.0009127460228677416 3.76271510569073e-05 0 0 0 7.56209607239693e-05 -6062 7.314239571446364e-05 0.0004963280716537727 0 0 0 -0.000233274336140717 -6073 0.0002452202152769221 0.00013843870817617182 0 0 0 -0.0007295253028527015 -9754 0.0008437279154034208 0.00018459390648832745 0 0 0 1.0044405545662026e-06 -9824 0.0008323443129979486 0.00015841396232859622 0 0 0 1.180678103293133e-06 -6108 0.0009510959177044495 0.00028791868968475935 0 0 0 5.906082843653756e-06 -6158 0.0006361654151250738 0.00029934006526806845 0 0 0 -5.7222711899942725e-05 -6171 0.0011563044984067227 9.010725909172512e-05 0 0 0 -7.532793548928306e-05 -6177 0.0008526096865296707 0.00020406354791798896 0 0 0 -3.1458034259014865e-05 -6190 0.0003896172016599951 0.00036675419672302384 0 0 0 -7.280692155772001e-05 -6230 0.0009260696727684928 0.00023998446383499358 0 0 0 -3.0321982141564233e-05 -6243 6.597989996874238e-05 0.0003735228246763463 0 0 0 -0.00027545872713312185 -6262 0.0008621125143077854 0.00016880840600484978 0 0 0 6.647574939285028e-06 -6301 0.0009435170599261847 0.0002527408541006535 0 0 0 -4.164291029257993e-06 -6308 0.0008017894805047401 0.0002613080384052302 0 0 0 -4.765897222979437e-05 -6309 0.00014156543184909296 0.0005017090367192385 0 0 0 -3.3070889716727423e-05 -4583 0.0008916401263006397 0.00016918351646105054 0 0 0 -4.211640844947662e-06 -6406 0.0014863955934598374 -0.0023160267314662735 0 0 0 -0.0064067543511261114 -6453 0.0008447647311591933 0.00028672594515038785 0 0 0 -2.7762727027818356e-05 -6486 0.0009108528236196259 0.0002616835673453477 0 0 0 -2.161441808451542e-05 -9927 0.0009120969882458573 0.00020611236960945206 0 0 0 -1.2042916252242903e-05 -6528 0.0008460033067579683 0.0001741932637199536 0 0 0 -1.4598486385555063e-06 -6533 0.0008995938969593825 0.00026124296582192565 0 0 0 1.7011918943256427e-05 -8009 0.0008725733353141012 0.00012584786936954318 0 0 0 4.570112327532666e-05 -6562 0.0008765405898993586 0.0001410276998810149 0 0 0 -2.6404683544440806e-05 -6644 0.0008155909874208593 0.0001840125596650555 0 0 0 0.00010486740901722124 -6646 0.0006350988857185428 0.00015711389570668806 0 0 0 0.0001895116150450841 -6650 -0.00247700154495732 -0.005377589625817144 0 0 0 0.008866158396459666 -6658 0.0003074619289535362 0.00034007319730530706 0 0 0 -4.015358198089288e-07 -6670 0.0005704031933382588 0.00021482999399696407 0 0 0 1.8680294890968992e-05 -6698 0.0009671379765967585 0.00020733345141942886 0 0 0 8.004357560385815e-05 -6712 0.0008678856281808549 0.00014675063275656442 0 0 0 2.4927158498982043e-05 -6736 0.000848618090174268 0.0003272237074745047 0 0 0 -0.00016189104141973128 -6505 0.0008747396266928887 0.0002503378019713015 0 0 0 -2.7947132998541998e-05 -6760 0.0006752076187841341 0.00031474733727008706 0 0 0 -0.0001203375396280285 -6773 0.0002540596967854016 0.000454568744715293 0 0 0 -4.2365456561977276e-05 -6788 0.0003003243438441773 0.000499008845077698 0 0 0 -0.00013773937220592087 -9710 0.0006537176636030237 0.00027308576404100446 0 0 0 -1.172483467694993e-05 -6793 0.0005628822943866017 0.00035627680723632465 0 0 0 0.00015859918883818024 -6820 0.00023252609616328265 0.00012551650965650913 0 0 0 -0.00023613279367111278 -6865 0.0008550831942800122 0.00016586527726094016 0 0 0 1.9400079214859858e-05 -6872 0.0004236848650416157 0.0003020063887525033 0 0 0 -0.0008978093109519832 -6885 0.0009976495952802378 0.00030791809908516815 0 0 0 6.057043759989726e-06 -5434 -3.9549669159539964e-05 0.0005201086585626417 0 0 0 4.405615124440576e-05 -6923 0.000590201852355045 0.00035375902581508096 0 0 0 -2.417628934203416e-05 -3544 0.0008635639983108139 0.00016093121285528118 0 0 0 1.9016962468603016e-06 -6980 0.0008154652078472716 0.00023431379321424978 0 0 0 -1.3143020288876163e-05 -6991 0.0002653611234206048 0.0004609560578535659 0 0 0 -0.0003325158155071467 -7009 0.0009395557130691322 0.0002539756312580494 0 0 0 -3.7236061651451916e-05 -7033 0.0008245413696177588 0.0002445799274349965 0 0 0 -2.756693501975694e-05 -9874 0.00036225426971407064 0.0003789599288975351 0 0 0 0.00032681004393438475 -7073 0.0006044965228064745 -0.00015214158981655322 0 0 0 0.0004685975833171321 -7087 0.0008470940824087563 0.00017304008466781666 0 0 0 -1.0907153876503555e-05 -7093 0.000344863738156384 0.00037859724700789184 0 0 0 0.00026533095634123183 -7156 0.0008322913785761229 -2.518090702319799e-06 0 0 0 0.0005521227291344162 -7190 0.00039273219008903763 0.00038216142378608435 0 0 0 -9.447118401856475e-05 -4119 0.0008629149046840115 0.00016347392706336065 0 0 0 4.904487276226435e-06 -7292 0.0002422741756006538 0.00041311558377287973 0 0 0 -3.0813814214297667e-05 -7298 0.0008668572297304915 0.00016700814561678893 0 0 0 -2.0585619280485328e-05 -9830 0.000977785124208558 0.00029782550339287625 0 0 0 2.342185099329548e-07 -3412 -0.0004963527854592539 0.00022165419527358393 0 0 0 -0.00033685657227036794 -7518 0.0009023771540440148 0.0002555029916935598 0 0 0 2.4807127592104215e-09 -7519 0.0006219772617050084 0.00023811672898190402 0 0 0 3.071066792483951e-05 -2799 -0.00030897920590274345 0.0004355357661771916 0 0 0 -7.243889202434075e-05 -9632 0.000855488818368006 0.000158804216804674 0 0 0 -1.8827876468542083e-05 -7631 7.89713731068436e-05 0.000489354941564168 0 0 0 2.9580974661513744e-05 -7676 0.0009259291896645459 0.00014533818065747827 0 0 0 1.9734738157994057e-05 -7710 0.0008753220422956508 0.0002689778439971637 0 0 0 -2.1112372975421727e-05 -7719 0.00027003431739653326 0.0004313242297096584 0 0 0 1.630791737691827e-05 -7741 0.0005002257485249937 0.0002945087700922371 0 0 0 -0.0002423449130159384 -7019 0.0008454298669552577 0.00023025031403610456 0 0 0 5.0268294950200915e-06 -7896 0.0005481427556627075 0.0003548330009647007 0 0 0 1.0000149403850715e-05 -7920 0.000893852948985916 0.0002566139242769005 0 0 0 -5.708759706928539e-06 -7953 0.0008706794187000697 0.0002746271026941001 0 0 0 -3.292886028814137e-05 -7956 0.0009614298345203484 0.00023494809430558647 0 0 0 9.047072200089927e-05 -1375 0.0008818905927627661 0.00017516026554563222 0 0 0 -5.404596826761653e-06 -7976 0.00038692728232633046 0.00026497192309570547 0 0 0 -0.000175694582683303 -7982 0.0004381712988459558 0.0002949346948506194 0 0 0 -5.781142837708991e-05 -8375 0.0008577656491582761 0.00017015258335690767 0 0 0 9.8087905257932e-06 -8027 0.0008389796037406848 0.0002946150789628027 0 0 0 4.858596282386147e-05 -8089 0.0008342461040468018 0.00021676539717721254 0 0 0 5.761112831857467e-05 -7239 0.0008696748655019332 0.0001555238998387978 0 0 0 1.4210449432683372e-05 -6389 0.00022308708123952649 0.0004387253551092512 0 0 0 -9.640777733883604e-05 -8140 0.0005465679470700288 0.0002316246947214555 0 0 0 4.295847542495761e-05 -8227 0.0009236783944328087 0.00012035813713539286 0 0 0 3.7095393103870563e-06 -8231 0.000879047251717791 0.00031882883435582185 0 0 0 1.504306968942787e-05 -8234 9.535004831825252e-05 0.0004806098814327345 0 0 0 -1.736160065009783e-05 -8241 0.0008366589466969568 0.00021820732528684555 0 0 0 -4.464302754648335e-05 -9601 -3.507704912096094e-05 0.00046039335803334426 0 0 0 -0.00010261693217743861 -6370 -8.569150600813287e-05 0.0005221383774109984 0 0 0 -0.00010708031635365323 -2000 0.0001780309724332114 0.00022115390326880993 0 0 0 -6.0454280717192805e-05 -8334 0.0016783054836866894 0.0012325499886154927 0 0 0 -0.0003021213404603856 -8345 0.0008208138888406308 0.00029003101596029526 0 0 0 -2.0012807351600542e-05 -2522 0.0002148943993169947 0.00021594253276704373 0 0 0 0.00017077063175042264 -8354 -0.0006956242789827705 -0.0002549052856832644 0 0 0 -0.0007942093263162823 -8413 0.0008235031887118227 0.00014317241332652958 0 0 0 8.739981546175108e-05 -9670 0.0006308585794923942 0.0003528468102083226 0 0 0 -0.00026544478457675636 -8460 0.0007145551210366079 0.0002058667698261499 0 0 0 -5.089477364647643e-05 -8468 0.0005784595450507687 0.00025289530020069324 0 0 0 -0.00020183548274742174 -8486 0.0001504912790979838 0.00043979304887525487 0 0 0 1.1442971285330583e-06 -8507 0.0009020266010109698 0.0002551300061770987 0 0 0 6.67869926835616e-06 -8524 0.0009110497559523584 0.00020662820620595987 0 0 0 -3.735336182706549e-05 -8564 0.0009465002540544921 0.0001667117697513681 0 0 0 0.0002548241522776158 -2745 0.0008779638296389554 0.0001429324180961209 0 0 0 -1.0905848094059622e-05 -8582 0.0008495888653552664 0.0002700388243497399 0 0 0 5.283482911925391e-05 -8595 0.0008482283636718208 0.00023152778435116112 0 0 0 -0.0001783556844725973 -1080 0.0008756053615597835 0.00017592282487592458 0 0 0 -3.9532494286441294e-06 -8649 0.0009053028703367832 0.00013949412290187896 0 0 0 -1.1916314688769103e-06 -8653 0.0008845387879218253 -6.820435142691769e-05 0 0 0 -0.00027737269513462246 -8656 0.0008145263812738271 0.00027574039422275233 0 0 0 0.00013536228884735249 -8669 3.06796403809874e-05 0.00037155762162073834 0 0 0 8.615577716638091e-05 -8683 0.0007302451718040554 0.0003179334652647493 0 0 0 6.647865282312165e-06 -8684 0.0006769722244284572 0.00023762880867276822 0 0 0 0.00013762225300066247 -8712 2.5184793357671258e-06 0.0004025102970528303 0 0 0 -0.00030337950477994733 -8755 0.0007971285254852785 0.00039531581071255826 0 0 0 -0.00019782514570061563 -8488 0.0008390921673180879 0.0001720938613564046 0 0 0 -5.9008512360452555e-06 -4043 0.0008423593140187527 0.0002089314800082862 0 0 0 1.3234341961367579e-05 -8851 0.0009067035225105428 0.0002771555576468996 0 0 0 -4.206766724773879e-05 -8907 0.0008667821030223308 0.0001722320410186229 0 0 0 1.7837628315050432e-05 -8922 0.0008103064114695223 0.00030150373240013544 0 0 0 -1.4953224037971828e-05 -8958 0.0004054448134310489 0.00022513620354555467 0 0 0 0.0002071104097570966 -9008 0.0011878872640680058 1.9544320163486585e-05 0 0 0 -2.1689322023762445e-05 -9011 0.0005940015245303737 0.0003157699581695203 0 0 0 0.0005159975591758745 -8984 0.0008481582356759499 0.00016264564895179245 0 0 0 -1.6952392405138798e-05 -9129 0.000527079117145787 0.0001697982092447275 0 0 0 -1.3791196981496792e-05 -4666 0.0008356044128955423 0.00025003430816875787 0 0 0 1.5399016823314747e-05 -9152 -0.0005727594369682163 -0.00025598345449189105 0 0 0 -0.0015247277905198467 -8369 0.0008751395969699415 0.00016708462652181684 0 0 0 1.945502160080528e-05 -9180 0.0008484966215964831 0.00017890437030300876 0 0 0 2.169529403618475e-05 -9193 7.786550659168734e-05 0.00024093067624198928 0 0 0 -0.00023478494275529005 -9199 0.0005047380865019743 0.00013762418441630429 0 0 0 0.0007202318209107551 -9209 0.000945194880298169 0.00027333356261812674 0 0 0 8.181567598733588e-06 -9212 0.0005865319732046993 0.0002731911500536918 0 0 0 1.7709459388123115e-05 -9245 0.0009768167459837103 0.0003129042628949758 0 0 0 -4.0569355815640214e-05 -1538 0.0008559165023097561 0.00016110455839260762 0 0 0 1.113050133139834e-05 -9310 4.559914022426938e-05 0.00043657835033196517 0 0 0 0.00028405281220883065 -9325 0.0003528131993318804 0.00025908480946083444 0 0 0 -0.0001604014555674067 -732 0.0009245718061168565 -9.584456270256542e-05 0 0 0 1.3078145816975316e-05 -9343 0.0008930625314098039 0.00016877148365979035 0 0 0 3.1252990516979295e-05 -9346 0.0008782083149839699 0.00016673519814197052 0 0 0 -7.81975670946505e-05 -9349 0.00028307979673381726 0.00022913907600534777 0 0 0 3.18006989320618e-05 -7359 0.0008612010842736171 0.00016626594113344979 0 0 0 3.411776146903812e-06 -9359 0.00040101274654130237 0.00020100159018783943 0 0 0 -0.0005411485756116026 -9388 0.0007953326385067957 0.00031823979924481654 0 0 0 -1.8543619363235526e-05 -8902 -0.00026810380370093914 0.0004934799452207146 0 0 0 -0.0003893581648696535 -9437 0.0008590439279363053 0.00023574276978490172 0 0 0 -3.047591109693234e-05 -634 0.0008307376755271352 0.0002298761712485994 0 0 0 -6.206111157319894e-06 -8294 0.000732353556100831 0.000328545204585276 0 0 0 -0.00024221015696510007 -3758 0.0009621413569205555 -0.0001236432917771807 0 0 0 4.617196319859879e-06 -4472 0.0008341329618504786 0.00031521601017669694 0 0 0 5.568966190739439e-05 -3144 0.0009512265117388527 0.00031561515306474376 0 0 0 1.3998021206638193e-05 -8679 0.0009090896105560829 -0.00021407419701476832 0 0 0 2.273713682653951e-05 -9714 0.0009343417239307828 0.00011136778495753679 0 0 0 -1.57715980032307e-05 -13 -0.00041156909298605357 0.0013111720219506904 0 0 0 -3.02683528859546e-05 -21 -7.55626402698936e-05 0.0012498363388758335 0 0 0 1.5859529168326855e-05 -32 0.00046036478368156685 0.0013094834588392658 0 0 0 9.073393169092165e-06 -54 -6.987940427853995e-05 0.0012983974691869649 0 0 0 1.746076444023052e-05 -70 -0.0003068483598697417 0.0011100644668855769 0 0 0 3.949542958094605e-05 -9911 -0.00036298249062200854 0.0013769871152092225 0 0 0 -5.887126975355231e-06 -83 0.00047885635867669387 0.0009396540548848384 0 0 0 1.2300033316464307e-05 -121 0.000325898967122067 0.001185123224793537 0 0 0 9.590561202948499e-06 -1410 -0.0003795069482285048 0.0013816748315904016 0 0 0 3.3006827880758144e-06 -133 9.1931481795175e-05 0.001280395400766716 0 0 0 -3.6317310616103383e-08 -186 -0.00027473655005321124 0.0013460101590456602 0 0 0 1.1963306512566563e-05 -203 -0.00033442590231063746 0.0014430277764284154 0 0 0 1.0928257260235688e-05 -250 0.00016202588188116344 0.0012213218258237224 0 0 0 5.5626640874732085e-06 -257 -3.548659134787816e-05 0.0011656283483985348 0 0 0 2.691990111505838e-05 -8707 -0.00030177773356725564 0.0008624420656137218 0 0 0 -2.1934378700372182e-05 -4395 -0.00038745423462541065 0.0012718247313565788 0 0 0 2.724477672232767e-05 -1218 0.000720208788709856 0.0013496241437422557 0 0 0 -1.4906650284473954e-05 -284 0.0007448510737720832 0.0006133998030107945 0 0 0 2.7217651441254443e-05 -300 2.700494416020484e-05 0.0010317653284455325 0 0 0 2.827247946815953e-05 -332 0.0002375074089739612 0.0011310645835866152 0 0 0 3.7033586461572504e-05 -335 -0.00020650772372002679 0.0013732077904213655 0 0 0 1.7486589657522752e-05 -347 0.00036952505991715516 0.0010378233576784368 0 0 0 -3.2755000719163594e-05 -355 0.0003854843200791215 0.001237583927941801 0 0 0 1.1242876263001036e-05 -374 -0.000172010220261331 0.001289604650027552 0 0 0 1.03188247279377e-05 -379 -0.00027419456055230717 0.0012581669323011402 0 0 0 3.704683393092953e-05 -128 -0.0003681628861809377 0.000994248707057777 0 0 0 1.8290802957620668e-05 -394 0.00019035930621071921 0.0008039776807356862 0 0 0 3.060172125865317e-05 -419 0.00040798476960039113 0.0009414808945484928 0 0 0 1.7707559596909987e-05 -434 0.0004378498648352607 0.0012187742427749856 0 0 0 6.522788418230706e-06 -437 0.00048347516834460884 0.0011585903553447627 0 0 0 4.334694714633589e-06 -454 -0.00017352117250528617 0.0012382037387101725 0 0 0 0.000146989728059942 -456 -0.000277182157424641 0.0014100116799633927 0 0 0 2.8055436417088592e-05 -468 0.00017559530987439745 0.0009728090697425779 0 0 0 3.730323230212861e-05 -484 0.00018184765301501398 0.0012039437655972077 0 0 0 1.4877421664703286e-06 -487 0.0003462694107286107 0.0011183074012491559 0 0 0 1.598942133851882e-05 -495 0.0001540770873425931 0.0010474353417787845 0 0 0 6.128961974512302e-06 -2919 0.0005505063271170901 0.0012469740180297082 0 0 0 2.552667355769203e-05 -513 -5.121172541141324e-05 0.0012331109445425843 0 0 0 -8.639159504321784e-05 -8172 0.0005865554188697269 0.0005770768155144852 0 0 0 6.709997674881025e-05 -528 0.00012361686433684155 0.0012255522854972927 0 0 0 1.661166310831559e-05 -2997 0.0005647093975267659 0.0005642942630752216 0 0 0 3.242614688141621e-05 -3871 0.0007123085764262511 0.0012176593063431714 0 0 0 1.7623507117672664e-05 -670 -2.7371050918776763e-05 0.001034994238060281 0 0 0 1.3652214551300443e-05 -698 0.00043816066489613196 0.0011206740550710548 0 0 0 2.7686105944787942e-05 -723 0.00010850169095166924 0.0011890993560595235 0 0 0 -1.532293414858773e-06 -733 -0.00031348273595462164 0.0012657141254082476 0 0 0 2.4727004709962294e-05 -745 7.435004147625406e-05 0.001250061055628231 0 0 0 1.016341770410197e-05 -749 -0.00043839418042587166 0.0011293947862569785 0 0 0 3.213050461233466e-05 -753 -2.7895787487517137e-05 0.0012429019543522522 0 0 0 -9.70927470290967e-06 -777 0.0003605445242797734 0.001247882869930233 0 0 0 2.015001634382106e-05 -814 -0.0004181685176667609 0.0012763828130578647 0 0 0 9.858674157473664e-05 -764 0.0005227820280247641 0.0011356716897882447 0 0 0 1.0458915226190291e-05 -876 -0.00013975049756999644 0.0011466038016025861 0 0 0 2.053601052841499e-05 -883 9.684177303107668e-05 0.0012039779024553756 0 0 0 -5.708018017286069e-06 -935 -1.2350026889117325e-05 0.0012796266027361013 0 0 0 -8.839770873157867e-06 -956 0.000491943945263999 0.001152418145899736 0 0 0 1.669672373913023e-05 -960 0.00023035952184273604 0.0011941801520959341 0 0 0 -2.4081304041389276e-05 -965 -0.00025696536575744614 0.0012213573766088261 0 0 0 1.8908606715575846e-05 -973 0.0003380693091948501 0.0012431634316666038 0 0 0 2.5986258512616144e-05 -1006 0.0006837370374059111 0.0008126047050562769 0 0 0 3.6878320247638685e-05 -1018 1.2361873753569488e-05 0.000985836079028182 0 0 0 -1.919871904774193e-05 -1035 0.0005059497685757259 0.0009949961602436115 0 0 0 3.573570153808515e-05 -1045 0.0003576827579329775 0.0012228168343813104 0 0 0 -9.46141235973319e-06 -1090 -3.325757011043415e-05 0.0012007158032905749 0 0 0 1.6527922005569036e-06 -1103 -0.00028894279820899135 0.001250116124827708 0 0 0 -2.3879747801169687e-05 -1136 -0.0004569977450279622 0.0013245380691922675 0 0 0 -5.339121663712402e-05 -1141 0.0004949677976127624 0.001175727886457613 0 0 0 2.9064488782894823e-06 -1149 -0.00037644352520241613 0.00087149940208291 0 0 0 4.805315182880936e-06 -7441 0.0004849428997448211 0.0006333774938470853 0 0 0 -8.173824485755191e-05 -1164 -0.0002889052597429568 0.0014082120216717552 0 0 0 -2.5785063809472486e-06 -6123 0.0007878303577964643 0.0013300559768742292 0 0 0 0.00010380252311966936 -1185 0.00034490847579686875 0.0007370520445396859 0 0 0 4.074258057153712e-05 -6974 -0.0004321943939187272 0.0012385813522472573 0 0 0 2.5975580227901463e-05 -1194 0.00013132201360115028 0.0012642290838974282 0 0 0 3.602229848601538e-05 -769 0.0007293336831752467 0.0010070204228523369 0 0 0 1.469474484267212e-05 -134 0.000541858358434462 0.0011804654129354713 0 0 0 1.9808594707504787e-05 -1225 0.000264868981421689 0.0012139655748320659 0 0 0 1.8175264608920615e-05 -2167 0.0005293735447492638 0.000650418708739513 0 0 0 3.971988753675564e-05 -1352 -0.000133354699194224 0.0012749719271608144 0 0 0 1.9219243459852142e-05 -1355 0.0004363811999897066 0.0007671417510684512 0 0 0 6.678756603352034e-05 -1362 -0.00011287019281013213 0.0012153472888616294 0 0 0 2.1273324350041516e-05 -1395 4.3217889051442644e-05 0.0009979321298007903 0 0 0 -5.9398440958169775e-06 -2485 0.0004547026444329844 0.0011364977084766194 0 0 0 -0.0003439078890402378 -8768 0.0006333837891164262 0.0012306599212445657 0 0 0 -7.840100153441883e-06 -1434 -0.00027442874056901275 0.00112924096981626 0 0 0 1.5960762989341415e-05 -1439 -0.00017428272841652216 0.0013096643347596556 0 0 0 1.4707248053142163e-05 -1441 -8.697615910121816e-05 0.001081308090643123 0 0 0 -3.6662753820868897e-06 -1467 4.60190612225855e-05 0.0012393843917833164 0 0 0 -2.63005599238668e-05 -501 0.00042151666947644854 0.0006034953838254966 0 0 0 3.0279659862337567e-05 -1518 0.0002003812455997326 0.000906792298529194 0 0 0 4.8758400627021103e-05 -1531 -0.00040556894328391184 0.0012707797055081032 0 0 0 0.00012148125458742602 -1543 6.357888606566591e-05 0.000990124831703445 0 0 0 -1.2579726366064259e-05 -1550 -0.00014549743300506444 0.00148265796848198 0 0 0 3.163248086244979e-05 -1560 -0.00016697294820657848 0.001235551753379491 0 0 0 2.5110600270422407e-05 -1565 4.223247645010106e-05 0.0012697715106203152 0 0 0 1.8232345452050572e-05 -9893 0.0005537107427687929 0.0012446996829996494 0 0 0 1.0364028090512632e-05 -1575 -0.00029112563838267007 0.0012623802319941182 0 0 0 2.289303409186833e-05 -8102 0.0007259417418804315 0.0010036581146197674 0 0 0 -3.172177106527035e-05 -1593 -0.000115706296841091 0.001141257543117435 0 0 0 2.7024175226944558e-05 -1599 -0.00031220084116372987 0.0014013024565786068 0 0 0 1.1226144858176868e-05 -9668 0.000335473658123378 0.0010305949885033557 0 0 0 0.0005401045488211476 -1620 -0.00018930574511395282 0.0013866496675086011 0 0 0 1.9319610574395005e-05 -1660 -0.00011741730686521048 0.0012563986670898772 0 0 0 8.856540953994594e-06 -1674 0.00013854861976226953 0.0011707802909882161 0 0 0 6.812165116410634e-05 -1680 -0.00039943478337777774 0.001314431065337146 0 0 0 1.048748752714458e-05 -1716 4.800385295740887e-05 0.0012230166346629985 0 0 0 2.13136571440332e-05 -1727 2.290512479479495e-05 0.001270326747572396 0 0 0 9.819596255257808e-06 -1728 -0.00018019865510634988 0.001196209600499884 0 0 0 0.0001206366488868584 -1732 -0.0003823186173340116 0.0013267744120472615 0 0 0 -5.649275011773621e-05 -1755 9.339966097792801e-05 0.0011178585435367577 0 0 0 -5.9219492844181024e-05 -1758 -0.00022669122554334496 0.001231761951183374 0 0 0 1.4759705243743155e-05 -1768 0.00023779613928897662 0.0010449375738858487 0 0 0 3.4826779098919766e-05 -7789 0.0007071109508828148 0.0010321287666361664 0 0 0 0.00016320770971415375 -1796 0.0007529336333502426 0.0010287046669914472 0 0 0 -1.633069188474971e-05 -1829 0.0004657296088585213 0.0006959959372648721 0 0 0 2.640083490792833e-05 -1838 4.129661996691221e-05 0.0011983039623825523 0 0 0 2.841874413761356e-06 -1848 -0.00025970461824083876 0.0013712865666202108 0 0 0 -5.555217957720469e-05 -6753 0.0009725995474154291 0.0016705880039667878 0 0 0 0.0007874752866780819 -1894 -5.890167210436214e-05 0.0011495319857938579 0 0 0 3.746762281991789e-05 -1943 0.0002244542705781416 0.0009305059297119733 0 0 0 1.2287835790127819e-05 -1968 -0.000361164397184487 0.0013265630187419691 0 0 0 0.0002635157243029937 -2002 2.974825106183617e-05 0.0011636069430120436 0 0 0 2.7289397344028654e-05 -2006 7.900997451567683e-05 0.0010598151623122554 0 0 0 1.0928371353773832e-05 -2015 0.00038466696618282334 0.0012602016704280886 0 0 0 3.345983698512154e-05 -2028 0.00011948213214377489 0.0011837881819982327 0 0 0 0.00013523773191789507 -2042 0.0002839772315351703 0.001185932824081224 0 0 0 -2.8462201388133467e-07 -2068 0.0004800320093281049 0.0008015362871681572 0 0 0 4.5732894690364636e-05 -9539 -0.0004302576904941054 0.0011567777543676158 0 0 0 4.538195763199233e-05 -6039 -0.0003371099433517823 0.001399792005635793 0 0 0 1.8333917351451995e-05 -2126 -0.0003208691266813612 0.0012679771824596678 0 0 0 1.6334242020281796e-05 -2143 -4.342599056782062e-05 0.0012260382284734756 0 0 0 -0.00020679431511699708 -3634 0.0009929706474945332 0.0011808372820173447 0 0 0 -1.6421257741422735e-05 -4494 -0.0003569330844657046 0.0013993079105466977 0 0 0 9.109702100097704e-06 -4275 0.0007542367899830492 0.001407428929390132 0 0 0 8.87898914869059e-05 -2235 -0.00037298496845713234 0.0010903477295413936 0 0 0 1.9531561826584723e-05 -2258 4.588394438001322e-06 0.00123374172778401 0 0 0 1.886352335498626e-05 -8376 0.0011145692900407383 0.0015303028505492128 0 0 0 -0.0005543227303634619 -2273 -0.00010382347148610607 0.0012395843983672497 0 0 0 -2.084938512193156e-05 -2311 0.0001745370927316695 0.0012913984490821784 0 0 0 2.351833963542289e-05 -2323 -0.00046248744899704053 0.0010590732980779154 0 0 0 -3.2460106203254535e-05 -2331 -0.00022168742897316158 0.0014120785704011764 0 0 0 8.308574146165235e-06 -2346 0.0007311508333550962 0.0010685728206918104 0 0 0 5.438642057684565e-05 -2347 0.0002394572991032264 0.0008522972383341498 0 0 0 3.304277466025762e-05 -2361 0.00039363697418340224 0.0009477263244879065 0 0 0 3.594487756396703e-05 -2388 -0.00037083578899703104 0.0014391214452377369 0 0 0 1.4858757690092662e-05 -2403 3.1620734430894686e-05 0.0008625009897325499 0 0 0 -2.525080686043047e-06 -4917 -0.00038697073357059597 0.0013718274396703502 0 0 0 -4.17657364884006e-06 -5909 0.000678713144643627 0.0011541481450587966 0 0 0 1.9331679125359842e-05 -7016 -0.0003704579146162712 0.0014151711631724107 0 0 0 -2.3245681351634556e-06 -2458 0.0002835930985256538 0.0011773417708961934 0 0 0 4.644661500738494e-05 -2463 0.00010130412333862306 0.0012023174066916945 0 0 0 1.5042610943641974e-05 -2475 -0.0003675038722291626 0.0012333618405732047 0 0 0 3.574799703629371e-05 -2482 0.00023480780564693094 0.001114427132099181 0 0 0 -1.2717021318463568e-05 -2489 -6.0766966321388115e-05 0.000900835450118088 0 0 0 6.041623460344397e-05 -2513 0.0002598017502235917 0.0011496693177592214 0 0 0 -4.792794727656252e-05 -2517 -8.414569283909788e-05 0.0012476553380359324 0 0 0 3.8387271056976835e-05 -2528 -0.00015108868409912464 0.0013611787289479539 0 0 0 1.135808760417753e-05 -2536 1.4358795929495122e-05 0.001284216405115008 0 0 0 -2.1073033457695652e-05 -2549 0.00020599233145360193 0.0010291973000214004 0 0 0 1.3829575486177124e-05 -3334 -0.0003925577716471146 0.001363408727282761 0 0 0 -4.328279466777827e-06 -2596 -0.00019399459458734555 0.0011856773475828425 0 0 0 -4.970522073218997e-06 -2610 -0.00022595935080452418 0.001410076714790363 0 0 0 5.2895976525938075e-05 -2630 -0.00023171130488426424 0.0013948700757905068 0 0 0 1.1590668544803321e-05 -2632 0.0003335696021204667 0.0011607176341534183 0 0 0 3.5217291427071e-06 -2634 -0.00028008723684481784 0.0012939294221820225 0 0 0 7.897201196247226e-06 -2656 0.0005732044200621903 0.0010901298625083087 0 0 0 2.878828678157995e-05 -2659 -0.00017437869053968844 0.0013260606259108004 0 0 0 3.5556733703242404e-05 -2685 0.00012770932749994908 0.0012889069286631302 0 0 0 -2.6574650431667927e-05 -2690 -1.1921436272546176e-05 0.0009058483733622729 0 0 0 7.2969256317630385e-06 -2710 -0.000335844018981374 0.0010821152790095085 0 0 0 3.9369791243270416e-05 -823 0.000546175847364759 0.0011067189709290503 0 0 0 1.9143149357169976e-05 -2752 -0.00023534713064709387 0.0011288512457887838 0 0 0 1.047723035921741e-05 -2773 0.00025312679684825736 0.0012058283066427556 0 0 0 3.0506318963223826e-06 -3706 -0.000426012183562028 0.001092918269316519 0 0 0 3.3753395856058755e-05 -5831 -0.0004150897686989677 0.001338749379467989 0 0 0 3.4139730791794424e-06 -2846 -0.0002899202484214172 0.0011540325820741507 0 0 0 -0.00018625185642870862 -2851 0.0003050799337825935 0.00125947286849451 0 0 0 -1.4915059401403418e-05 -2853 0.00043766995874899807 0.0011694260642098994 0 0 0 1.836154702427996e-05 -7805 -0.0003829031053487508 0.0013779535838487128 0 0 0 1.9711772867245166e-05 -2883 0.000578428316920088 0.0010970382154296616 0 0 0 6.305148265477075e-05 -2949 -4.122196139301728e-05 0.0008898977101846802 0 0 0 -3.585210045252738e-05 -2990 -3.96181986321634e-05 0.0012677091084248538 0 0 0 -7.845298963413077e-05 -3038 0.0004353233026386905 0.0008785445936448452 0 0 0 1.3217927450190178e-05 -1905 0.0005304750651021246 0.0012466666386249685 0 0 0 5.151955419715066e-08 -3089 -4.820938987648438e-06 0.0011575146313386729 0 0 0 -2.341834398514424e-05 -2819 0.00022588441602245155 0.0007726142064304447 0 0 0 6.662343687283679e-05 -3106 -0.0002360888776761068 0.0011615442369937521 0 0 0 0.00010437081579573891 -3129 -1.4211703077782771e-05 0.0012622394152520917 0 0 0 -8.140754104241801e-05 -3159 0.00038397940153037937 0.001121749309255946 0 0 0 1.0084833318634278e-05 -3185 -0.0003879686254272386 0.0012668061082062208 0 0 0 -0.00011849638359396211 -3188 -0.0003639459001494816 0.001066139519267362 0 0 0 -1.5006575441059166e-06 -3199 -0.00019899938270145784 0.0014294567171468547 0 0 0 6.176453842896923e-05 -3211 0.0005013488783883913 0.0011426987685873758 0 0 0 -6.393153286355532e-06 -3226 -0.00021505967191777118 0.0010559759258150635 0 0 0 5.0994213026574625e-05 -3228 0.0002993728630283719 0.0011399977255443382 0 0 0 2.1850998393477415e-05 -3236 3.6012197945161026e-06 0.0011926229007971092 0 0 0 -0.00023736939372830533 -3266 8.29309797300276e-05 0.0008809453721177258 0 0 0 -3.18444655322704e-05 -3286 -0.0002693592050041015 0.0010726385205513257 0 0 0 2.548233437420322e-05 -3287 8.367730298093093e-05 0.001272200812242628 0 0 0 2.5390248688917145e-05 -3293 -0.00020480042508567395 0.0010709225292132355 0 0 0 -2.0626314512575812e-05 -3302 0.00036314875758252843 0.0011619082363714705 0 0 0 3.3215644179222004e-06 -3310 -7.674470021329369e-05 0.0011233700037145365 0 0 0 -0.0001322498891722871 -3335 0.0003794811887670021 0.000935230685048791 0 0 0 8.333546441107951e-05 -3365 0.00044164864755741096 0.0010699262039411484 0 0 0 7.280068957006989e-05 -3366 -0.0001136612974343415 0.0011850375877655965 0 0 0 5.044200251029557e-05 -8528 -0.0003644834572614225 0.0012591988031769546 0 0 0 1.5467076867815925e-05 -3416 -0.00032234782437428195 0.0011967870309669206 0 0 0 0.00033292653604558356 -464 0.0008632538329671545 0.001269973816684721 0 0 0 -0.000155283508787589 -3481 -0.00031669495480803945 0.0012593258758894995 0 0 0 -5.549152188347692e-06 -3497 0.0004125278953785797 0.001236471237275337 0 0 0 2.7205471198234732e-05 -3502 0.00039232143371786875 0.0012496409196530711 0 0 0 -1.930557752603719e-05 -3512 -0.00035873951991421043 0.0013036874882110805 0 0 0 -2.1225997317883305e-05 -3523 -0.0003883728149435347 0.0013769880907307486 0 0 0 -0.00013260297368298466 -3534 -6.875419212213108e-05 0.0011485645387359802 0 0 0 3.417812570087857e-05 -3542 -0.00038220976556724344 0.001290596937037355 0 0 0 -5.584878275222339e-05 -3547 0.00012321079712525375 0.0012101805603985387 0 0 0 2.2387152080931698e-05 -7012 0.0006045090613784841 0.0012337779989252426 0 0 0 1.2197389349891187e-05 -171 -0.00037358500591275147 0.001350487550901559 0 0 0 1.2774215693608805e-05 -3569 4.374400828792851e-05 0.001303155150389507 0 0 0 8.723450759442709e-06 -3579 0.0005039748112658023 0.0010760310206867618 0 0 0 2.6847207731742814e-05 -3585 -0.0003394528587566733 0.0013360882295046486 0 0 0 -2.211516891662123e-05 -3597 0.0004034655236226869 0.0008571747734319544 0 0 0 2.1710816711002288e-05 -654 0.0007104826776766391 0.00127435933999371 0 0 0 1.5313539063494266e-05 -3610 0.0002569968315342401 0.0009661386319418426 0 0 0 2.784399219774355e-05 -3665 -5.9636347643445365e-05 0.0011218265329871213 0 0 0 7.391121489549054e-05 -3674 -0.00012651903928246022 0.00140245732709915 0 0 0 8.471362607142266e-05 -3675 -0.0003940778941458108 0.0012629576703557036 0 0 0 8.942225851102793e-05 -7787 0.0007028983158034277 0.0012731403108157573 0 0 0 1.3666942442088816e-05 -3680 -0.0001439714381208865 0.0012911154252669241 0 0 0 -1.3386669642222651e-05 -3697 0.0006343836861292063 0.0007126817591685025 0 0 0 5.5759718752369e-05 -3733 -0.00034192300137433706 0.0013836147016874768 0 0 0 1.3935875381345247e-05 -3838 0.0002708460686460907 0.0012473106490242 0 0 0 -5.573144882027296e-05 -3863 -8.583248813439617e-05 0.0009250197339409039 0 0 0 5.020598533768081e-05 -3869 -0.00014042067674387715 0.0012616390785691008 0 0 0 3.239687181147029e-05 -3879 -0.00026252336785382533 0.0014280825343052565 0 0 0 -4.404195473379741e-05 -3903 -1.5403769098552864e-05 0.0012341510336584226 0 0 0 0.0003061250503551927 -3934 -0.00015186294314808375 0.0013606695687412974 0 0 0 -1.1777883571492131e-05 -3942 0.00012549703393085018 0.0012312653232392334 0 0 0 -0.00015074920343816526 -3966 -0.0002412357991097695 0.001267661543229384 0 0 0 2.6030334823395477e-05 -3973 -1.6937159797199436e-05 0.0011363645318767357 0 0 0 -7.008617513141553e-07 -2399 0.0006902763340864811 0.00126742248942212 0 0 0 2.4854385395682255e-05 -3997 7.745241977672888e-05 0.0012921830262338965 0 0 0 1.220475420522022e-05 -2736 0.0009596079008078015 0.0010518080719087396 0 0 0 0.0010112887203103287 -4005 2.909841873511577e-05 0.0011257019355738545 0 0 0 2.985132548704387e-05 -4017 -0.00015996698372521602 0.0013472574397128253 0 0 0 -0.00011890165663838216 -4034 -0.000268560469166185 0.0012904535454873404 0 0 0 1.1240658473510795e-05 -4038 0.00016421419329802777 0.0012196131137998736 0 0 0 -1.4571038602683997e-05 -4040 -0.0001643292389088366 0.0011506669881778306 0 0 0 2.6205636988441754e-05 -4048 0.0001794790706142636 0.0011994720871510215 0 0 0 -2.08418006851113e-06 -4072 0.00011046899074203904 0.0010183810865312703 0 0 0 3.492083672358674e-05 -4075 -0.00018316921070978817 0.0013246089012870096 0 0 0 2.0461889299537345e-06 -4101 -6.566604404293272e-05 0.0010861284471299529 0 0 0 8.969740980242572e-05 -4109 0.0004997857145476905 0.0011172924251047214 0 0 0 1.863996832544108e-05 -4110 -0.00014549291836258424 0.0013462234717481257 0 0 0 3.660460523174396e-06 -4732 -0.0003534969296844864 0.001457806195280191 0 0 0 1.947274009818379e-05 -608 0.0006053522976376825 0.0006808278428470881 0 0 0 2.682243593386989e-05 -4243 9.081635631993121e-05 0.0012271644102356477 0 0 0 4.020178386844312e-05 -4289 -0.00018938872148749884 0.001200409343769962 0 0 0 -0.0003121261366367095 -8157 -0.0003834361983894599 0.0012237153700934114 0 0 0 1.3534450598517333e-05 -4326 -0.0001087079151832226 0.0012148729416465145 0 0 0 -8.92341528435761e-05 -364 0.0005231773588921845 0.000515166590160897 0 0 0 2.1843254919100153e-05 -4335 0.0005167757302823213 0.0007840762822949261 0 0 0 6.17472799671049e-05 -4337 -5.446450101012677e-05 0.0011894864890486584 0 0 0 2.2281819122631088e-05 -8904 0.0009640755745092008 0.0012994609235629432 0 0 0 1.3750002295077642e-05 -4372 -0.00038544209243037184 0.0013532975939153293 0 0 0 0.0003030248116048441 -7027 0.0025290326297078202 -0.0004962240918079761 0 0 0 -0.001423225208544251 -2727 -0.0004229159887959677 0.0012397765978484133 0 0 0 1.9483298758881573e-05 -4902 0.0007833011808266851 0.0013485338333889066 0 0 0 -3.1289639625762814e-05 -8188 0.0029028732766652834 -0.00036080364751493044 0 0 0 -0.0018192012506429707 -6616 -0.0003599763254374015 0.001387601273910451 0 0 0 1.644449133290402e-05 -4439 3.3883789843248884e-05 0.0012954186276544922 0 0 0 -3.992549779083006e-05 -4482 0.0003594617740087976 0.0007519717685321896 0 0 0 5.8713829981667214e-05 -4485 0.00020125997667085575 0.0011632834842543662 0 0 0 -2.3558429534385487e-05 -4490 -0.00039905668356197813 0.0011215886112856581 0 0 0 2.9435650964763405e-05 -4504 -0.00043258929671333005 0.0010732664853684514 0 0 0 -6.552176061053342e-05 -4505 -0.00017814911190046497 0.001300871122628648 0 0 0 -1.3300583331883682e-06 -4506 0.00023542217526793647 0.0013329881615624021 0 0 0 -3.376179019870304e-05 -4538 -3.3668280996035275e-05 0.0008933394447424759 0 0 0 1.6137458206890377e-05 -4543 0.0002947141250427712 0.0010055990014574455 0 0 0 3.398193561534418e-05 -4556 -0.00040285991210420964 0.001025232158490574 0 0 0 -8.547465488168073e-06 -4559 -3.2324943678817276e-05 0.0013776583315109779 0 0 0 -0.00028568387998416443 -2256 0.0005027417600668792 0.0011250160897195056 0 0 0 -1.0729347631312723e-05 -4587 0.00017826048229042376 0.0012452885587040943 0 0 0 0.00014194248695966743 -4594 0.0003027951369430173 0.0009560458959980673 0 0 0 5.908139599357855e-05 -4604 -0.00029786919934602155 0.0014153210716464472 0 0 0 1.6008220931796715e-05 -2124 -0.00033825674790783353 0.001381795839738216 0 0 0 1.2083027830691171e-05 -4657 0.00021498127401889985 0.001022398956092965 0 0 0 0.00010201832631480505 -4670 -0.0001105151785889603 0.0012184992717731561 0 0 0 7.761150950257692e-06 -4682 -0.0004967923824677287 0.0014634577389441795 0 0 0 0.0003482395406643865 -9642 -0.0004145625412514186 0.001328233494810982 0 0 0 9.450436609723845e-06 -4708 2.4876768349037982e-05 0.001096106018588083 0 0 0 2.4204148310834423e-05 -4723 0.000343244402059076 0.0012559677109043772 0 0 0 -4.348346214375159e-05 -2850 0.0005380711981954175 0.0005535780083034032 0 0 0 9.860937316031791e-06 -4835 -0.00019573129216240824 0.0011935813149633798 0 0 0 3.0444651368632373e-05 -4838 0.0005286733605036287 0.0007271144468536309 0 0 0 -1.9417703551691715e-05 -9403 0.0005072886271851984 0.0014484965143424593 0 0 0 8.74522820767176e-05 -4848 0.0002751707039434519 0.0010202241761249637 0 0 0 0.00011103799959152609 -4849 -9.47057132875115e-05 0.0011065741730239297 0 0 0 -1.0352908287143523e-05 -4850 -0.0003000821166556856 0.0011938821654397316 0 0 0 0.0002653831938414932 -5771 -0.00038613728278434145 0.001388061672054599 0 0 0 -3.0386157471810453e-06 -4345 0.0005251178498722551 0.0004930239019166622 0 0 0 -5.943580202427403e-07 -9415 -0.00025707300229158215 0.000996720775322537 0 0 0 7.393293572468052e-05 -4885 -0.0001293871753454638 0.001296041966301418 0 0 0 0.00020386351869111207 -4896 0.00014135860598664984 0.0012124976688897423 0 0 0 -0.00011051202202823088 -4897 4.9580093403366804e-05 0.001294698178636312 0 0 0 -7.980894049176496e-07 -4920 0.00018837027901693818 0.0013074259789762914 0 0 0 -2.8784812111497314e-05 -4980 0.0004965485623885829 0.001141868219300968 0 0 0 -5.7411111332017315e-06 -4988 0.00020068597792727123 0.001191279977194451 0 0 0 2.7305182095717445e-06 -5026 2.5980707483967087e-05 0.0010916298403234775 0 0 0 5.677522111952041e-05 -5029 1.558812515381004e-05 0.0012303268733577916 0 0 0 -2.3451849888331924e-05 -5033 -0.0002455409294674848 0.0014300795642419766 0 0 0 1.8584703842982334e-05 -5042 4.054271242921728e-05 0.0011466054470845523 0 0 0 -8.537770170139356e-05 -5067 -4.550850235481642e-05 0.0011917945244302142 0 0 0 -1.8121751407189184e-05 -5087 -0.0001554083719680215 0.0012835197548939328 0 0 0 2.2590100205736198e-05 -5091 0.0005241225523403797 0.0007243152319941115 0 0 0 3.670637066748325e-05 -9221 0.0005533106217640371 0.0004569376311636334 0 0 0 3.070083925155218e-05 -2267 0.00016720728364312114 0.0008178774924581754 0 0 0 2.6664367050646782e-06 -4810 9.172606041455043e-05 0.000860897818897466 0 0 0 5.813660531707841e-05 -5162 0.00024314826960428404 0.001157834090474171 0 0 0 0.00012319465390716293 -5193 5.943487454453844e-05 0.0012713827235177825 0 0 0 1.0637838171725018e-05 -9085 0.0008178098772863611 0.0014510094189913736 0 0 0 -4.871746702376749e-05 -5196 0.0003332411383307696 0.0012601721325795799 0 0 0 4.97354714775613e-05 -5206 0.0004644388936986874 0.001031755136786226 0 0 0 -4.156768021610072e-05 -9450 -0.00040428581337864644 0.0015538901551488036 0 0 0 5.394614335974094e-05 -4236 0.0007554184848578675 0.0013692355306241645 0 0 0 0.0001186224659744571 -5219 8.067221619039107e-05 0.0012386866349718936 0 0 0 -1.841880455418756e-05 -5234 0.0004896526629798271 0.0006213808292927608 0 0 0 2.0862726536255407e-05 -5242 0.00037635832677191197 0.001227386792334631 0 0 0 -4.051410257244563e-05 -5034 -0.0004364999298630937 0.001192866364656529 0 0 0 3.269599337452615e-05 -3555 0.00016705779983115584 0.000803541316019229 0 0 0 5.121171324133112e-06 -5262 -5.604219003734893e-05 0.00097832663266113 0 0 0 5.1610247503489765e-05 -5273 -0.0003625806966010847 0.0012954673686331308 0 0 0 2.2569553993253748e-05 -5288 -0.00041685977977970267 0.0015476646883178207 0 0 0 0.00016505500452430218 -5314 -0.00018987676668416975 0.0011328707074189323 0 0 0 8.5768737258037e-05 -5321 -1.1742082732250027e-05 0.000951522099662835 0 0 0 8.822018798949118e-06 -5333 -0.00013298576794284502 0.0011256048806075627 0 0 0 8.105304129778057e-05 -5351 0.00022174011132719985 0.001235148290569068 0 0 0 1.24000175168746e-05 -5401 0.0004578394680868482 0.0012188166505030257 0 0 0 2.684379468166107e-06 -5412 0.0001455522663306426 0.0009068709779929318 0 0 0 0.0001254651840314042 -5420 -0.0003807406192532716 0.0012951336912638265 0 0 0 8.359750223884569e-07 -5467 0.0003128419213826736 0.0012314237292770488 0 0 0 7.60536467004351e-05 -9702 0.0006446506046239972 0.001061298877171215 0 0 0 -0.00032444198881975613 -5479 -0.00020904528227368513 0.001433405023033515 0 0 0 -3.905427184062209e-05 -5489 -0.00025028637446204683 0.0014118231539183785 0 0 0 5.440393822040943e-06 -5505 -0.00040431998523348284 0.0008539472462880481 0 0 0 2.1462267046467183e-05 -7479 0.0001537052460920725 0.0008309588718870762 0 0 0 -1.520011206336784e-05 -5520 -9.6576034113912e-06 0.0009665227872392487 0 0 0 1.2527017082623196e-05 -5551 6.354850972169487e-05 0.001247863985321599 0 0 0 7.622905008078426e-06 -5561 -0.00014858596411465062 0.0012682796887652818 0 0 0 -4.8475963857166247e-05 -5581 0.00017973394694082787 0.0010310422540674878 0 0 0 -6.348367373896485e-05 -5582 -5.973997668690331e-05 0.0012376717413210537 0 0 0 0.0002837704658328358 -5604 -1.560585728955165e-05 0.0012379515782337037 0 0 0 7.519855313718781e-05 -5615 0.0006001655545813043 0.0011735789324955922 0 0 0 0.00015608082675115716 -5617 -8.924583734563095e-05 0.0012309095470782426 0 0 0 1.2025177736039305e-05 -5662 1.94164724524661e-05 0.0008953365338726656 0 0 0 0.00011577353314477208 -5713 -0.00023575974927687575 0.0012917894674657074 0 0 0 4.590113773385607e-05 -5727 -0.0002929416501845898 0.001208759006673216 0 0 0 7.326470410331193e-06 -5762 -0.0001810376630241561 0.001318821480820059 0 0 0 -4.7804373166486615e-06 -7447 0.0005256914166979247 0.0011223708162494796 0 0 0 8.086373415624308e-05 -5778 -0.00027717949028278205 0.001263792362380126 0 0 0 2.635666765266668e-05 -5782 0.00023394707228938113 0.001298689436915346 0 0 0 -3.3950998209107892e-06 -6140 0.0005463552938450285 0.001234309370422702 0 0 0 3.317171046400976e-05 -5864 -0.00010088484404240202 0.001241130940822345 0 0 0 -8.77488598289459e-05 -5876 -0.0001405935810120413 0.0012496120884383725 0 0 0 1.767017108357764e-05 -5888 -0.00019589875249421707 0.0012965230231861335 0 0 0 -2.972784097166116e-05 -5898 8.091454874957042e-05 0.0010161343280032094 0 0 0 2.7659104682159355e-05 -5924 0.0004404202340599138 0.0011851140582748478 0 0 0 5.1370150386881155e-05 -2368 0.0005559157093533517 0.001264821486154453 0 0 0 -0.0001668940737225455 -5935 -0.00040686427106866876 0.0012510475224971785 0 0 0 -0.00015013186827491113 -8893 0.0005222619739407828 0.0005848303618473653 0 0 0 4.9107722970136444e-05 -5940 0.0007506336946503403 0.0007638046349526136 0 0 0 4.6222652992787194e-05 -5963 0.0002667473871273719 0.0007165818833971988 0 0 0 0.00028992066155165134 -5974 0.0002471162427436327 0.001188025458772304 0 0 0 -2.4256049154102158e-05 -5409 -0.00037860828695212445 0.0013843642206030518 0 0 0 1.6004973448457904e-05 -1078 0.0007849871958651363 0.0013468002711340946 0 0 0 3.7721459441521124e-05 -5739 -0.0004340602932158385 0.001551539168496404 0 0 0 9.128373524904406e-05 -6017 -0.00015731119750984841 0.0010873018916091532 0 0 0 0.0001263827601206832 -6025 0.00029029717361374465 0.0012106992046440129 0 0 0 -2.1204218743248408e-05 -1473 0.0007390415728232017 0.0010398363210947581 0 0 0 6.285538750289213e-05 -6089 0.00036437307719792473 0.0013242154788359742 0 0 0 -4.571223884106296e-05 -6098 0.0004588950916497358 0.0010262619422669466 0 0 0 3.5173760087702844e-05 -6120 -2.6943578563868156e-05 0.0010488011253561367 0 0 0 -0.0001087201340229061 -6122 0.0001658812475945817 0.001243827672081362 0 0 0 -1.630275979451147e-05 -6163 0.0004238054643330802 0.0006754139722853826 0 0 0 3.227606482913127e-05 -6191 -0.0005082126581520198 0.0010939377656232795 0 0 0 6.439915404013006e-05 -6206 -1.9222879977695594e-05 0.001109746468913051 0 0 0 9.333956601154023e-05 -6688 -0.0004049487101673861 0.0012852533068480284 0 0 0 2.0038378682130663e-05 -6254 -0.000477430209263988 0.0010668567537105143 0 0 0 5.011493150010804e-05 -6271 -4.548101946831831e-05 0.001147236636978716 0 0 0 -1.556355808704644e-05 -6275 -0.00047011216364999515 0.0013720206588251707 0 0 0 0.0003052029269101178 -6306 0.00027514854698737734 0.0009567519202313418 0 0 0 0.00010372059058126807 -6320 -0.000371225703898751 0.001279478393347317 0 0 0 2.6101498666782607e-05 -6326 0.0007059753506149085 -4.1594069545900656e-05 0 0 0 -0.00017656924389738608 -6350 -9.478104148549328e-05 0.0011976233685854214 0 0 0 2.6472314094689466e-05 -6360 -0.0002539769529479879 0.0013953791888879745 0 0 0 -6.040689931636371e-06 -2125 -0.0003966437619150552 0.0013610328485520603 0 0 0 6.9218001452698126e-06 -7936 0.000971323799120084 0.0011041997336929058 0 0 0 -0.0019214193560421079 -6430 0.00013471805404895184 0.0012476417275307115 0 0 0 0.00012375725145662104 -6543 -8.762591402471503e-05 0.0009221157731912807 0 0 0 9.543075044360194e-05 -6564 -0.00040495719286342505 0.0013635672369058782 0 0 0 0.0001673324467463926 -6566 0.00047892228506145963 0.001250169229483015 0 0 0 1.856249231399297e-06 -6568 -0.00042189009819640203 0.0013523470604159236 0 0 0 0.00030142033690732365 -6574 0.00021185602380872117 0.0012506278584283055 0 0 0 -3.0033846976198983e-05 -6582 -0.00035275968432502575 0.0011603586048296638 0 0 0 -0.00012833500352028452 -3841 -0.00040876204137208085 0.001291124698534713 0 0 0 2.002865694015359e-05 -6231 0.0004320114161689947 -0.000956586238813056 0 0 0 0.000623350229776576 -9106 0.002048366161384908 0.00027973458002270805 0 0 0 0.0001950762887265842 -4401 -0.00024469188787006 0.0010202838764133116 0 0 0 3.7000968676437604e-05 -4514 0.0004622372073478544 0.0006109613518238686 0 0 0 2.0356044101780275e-05 -6739 -9.310262491272193e-05 0.001225254235584047 0 0 0 -8.341221308421067e-05 -6745 -0.00015517334757101414 0.0011434285531947987 0 0 0 -4.044653894683396e-05 -6750 0.0005341153855997417 0.0010193512993019475 0 0 0 -2.7518149206569974e-05 -6774 -0.00032786943976743677 0.0014506078034514768 0 0 0 -8.29972411364164e-06 -6778 7.528113770138942e-05 0.0010687645299423964 0 0 0 -9.18223527254375e-06 -6828 0.00031119311298554976 0.0011458255770387781 0 0 0 -7.122701349318173e-07 -6834 0.0001723809558881588 0.0010845921317070531 0 0 0 -8.023083942925417e-05 -6842 9.359540052039266e-05 0.0009135329226733938 0 0 0 0.0001818839306457426 -1470 0.0007183116601095355 0.0010811293797769123 0 0 0 2.798892816471958e-05 -6905 -0.00029516455122413084 0.0010768578183253498 0 0 0 2.9541107983468874e-05 -6908 -0.00037195509240491487 0.00121354060443148 0 0 0 -0.0003459750494314493 -5981 0.0005450807359940083 0.001179962366681231 0 0 0 -1.5336582041080958e-05 -6942 0.00028785373484280826 0.0011923186202141953 0 0 0 0.00016764416035336472 -6943 0.00026308433864553335 0.0008538280971160112 0 0 0 9.682298165736835e-05 -6985 0.00033979730239019527 0.001173774564350395 0 0 0 1.4649079478533545e-05 -6989 -2.4081243666736187e-05 0.0012519523805128697 0 0 0 8.460688948087971e-05 -6990 3.2854555516640786e-05 0.0013045119503356222 0 0 0 5.167582559774629e-05 -2182 -0.0004048726145813221 0.0009850556173099827 0 0 0 1.6458043293298521e-06 -9170 0.000525444316719888 0.00040496684708943255 0 0 0 0.0001607338457817269 -7054 0.0002086619831792453 0.0010360455791143227 0 0 0 2.3953237581647084e-05 -7068 -0.0003719622403065933 0.0008089921640717094 0 0 0 -3.997836533000657e-05 -7097 -3.5279443292244945e-05 0.0010801443569613614 0 0 0 -4.347634854449285e-05 -7465 0.000486484456940773 0.0011611535185580741 0 0 0 3.349416624867387e-05 -7141 0.00011327205491435764 0.0012748239555660534 0 0 0 -6.89612144404891e-06 -7149 0.0005757142569946511 0.0007751865028902697 0 0 0 8.444856156822549e-05 -9666 0.0007218205751873173 0.0014457132159984454 0 0 0 8.502656098155171e-05 -1122 0.0004829968710723552 0.001159133992912178 0 0 0 -1.4084250807849062e-05 -7203 -0.00029097405627674097 0.0012446644405097887 0 0 0 4.8132352296873686e-05 -7229 5.784172809752477e-05 0.001179160121719486 0 0 0 1.5580041014453234e-05 -7230 0.00039231589073468844 0.001003405423978568 0 0 0 4.974738367192787e-05 -5750 0.0005060014526315491 0.0012451411094620707 0 0 0 1.1594829631357638e-05 -7251 0.00023450317526766816 0.0009995545843915123 0 0 0 0.00011345292074894464 -7253 0.000369942218791268 0.0010543312239144889 0 0 0 9.705725628711622e-05 -7289 -0.0005227009337846546 0.0010208781816040823 0 0 0 -6.819339052513457e-05 -7297 0.00036024477951557136 0.0009005451003665875 0 0 0 4.9293487250272685e-05 -7308 0.0002164807169274875 0.000805016286957882 0 0 0 6.991997822082997e-06 -4390 -0.0004071165760442853 0.0015381444895048314 0 0 0 8.95076943933667e-05 -7345 -0.00019111478372584612 0.0013108280648338208 0 0 0 1.9348270456067293e-05 -7385 0.0006041411309191121 0.0007929436860197934 0 0 0 6.885037539520255e-05 -7386 0.0002579987785597475 0.0010439043912717338 0 0 0 -0.00013144956914781645 -6783 0.00041199820458356977 0.0012194363368824637 0 0 0 0.000469202347162331 -7427 0.0003579421436615841 0.000863018852982955 0 0 0 3.818326212444114e-05 -982 0.0005028833603835104 0.0006304745545373215 0 0 0 3.123640464491073e-05 -7452 0.00018907926456958497 0.001273689115821402 0 0 0 0.00019320310415030007 -7458 -0.0002969938471056419 0.0014157194528002012 0 0 0 -2.9894979841892565e-05 -7467 -0.00027180851311890816 0.0012654905389580917 0 0 0 1.9018444205359026e-05 -7471 -0.0003086279196174675 0.0013938602133495783 0 0 0 3.4790343838287714e-05 -4561 0.0006058931169498938 0.0011737815575651065 0 0 0 -0.00031415528301602906 -7520 0.00013430299074786313 0.001018183648741484 0 0 0 -1.926399976110719e-05 -7546 -0.00013666121861826308 0.0013480989541277322 0 0 0 2.1393077693992214e-05 -7558 0.0002896884010064721 0.0012625097601905997 0 0 0 -4.753382606386908e-05 -1901 0.00015171070255442698 0.0008405756717900345 0 0 0 1.1485323397232846e-05 -7562 0.0005287251729514589 0.001077861782404032 0 0 0 1.878571021162873e-05 -5680 0.0009189183034590039 0.0012227475870910972 0 0 0 0.00015871114723670337 -7606 1.603221535140728e-05 0.001252636904829419 0 0 0 -6.439201611591829e-07 -7609 -9.636294036024865e-05 0.0013598018196854158 0 0 0 -0.00014619559150242506 -7659 -0.0003599083464506407 0.0014316953851562211 0 0 0 -6.356448043166932e-05 -7679 -0.00030728203182832245 0.0010847779490864352 0 0 0 2.620598161677219e-05 -7729 -2.1858653384367013e-05 0.0011701533509480397 0 0 0 5.58032278249926e-05 -1638 0.000739751572266887 0.001035857743280951 0 0 0 -2.9662198533856267e-05 -7753 0.00013248402426133983 0.0008059339147743148 0 0 0 4.87681355307287e-05 -7766 -8.245648540062879e-05 0.001267065972576149 0 0 0 -0.00030946849248079104 -7768 0.0004111093611499749 0.0008331897498021865 0 0 0 2.631603648348702e-05 -7801 0.00048756408577469514 0.001108378599297607 0 0 0 0.0001034178674687754 -7807 -0.00020893690965601195 0.0012581280122286815 0 0 0 2.920165823446213e-05 -7838 0.00010760466447730788 0.0012509475050922717 0 0 0 6.610331558111915e-05 -7851 -4.265211112207613e-05 0.0011611154432530943 0 0 0 0.00019984513170697473 -2147 0.0006980953177824718 0.0011689617897312728 0 0 0 5.0120739497572255e-05 -9565 0.0004327034027580554 0.0006726393148483012 0 0 0 0.00024542446254842675 -7924 -0.00024346994360803357 0.0011048720203702777 0 0 0 2.7843072175363712e-05 -7927 -5.7802837895553023e-05 0.0012391155262570018 0 0 0 -9.275609301037547e-05 -7932 -0.0003737168819949172 0.0012947537868927468 0 0 0 4.573518690700207e-05 -7935 -0.0002575270637999739 0.001158746914307751 0 0 0 3.1468463309906876e-05 -7949 -0.00014256365837565273 0.0011763936967587585 0 0 0 3.202963453421852e-05 -6728 0.000593637176107482 0.001100702034183898 0 0 0 4.5150111507400555e-05 -7975 0.00042370761690821245 0.0012294384291675231 0 0 0 8.752420207710459e-06 -7995 -2.266437148475525e-06 -0.0019824021062887147 0 0 0 0.0013739811374859994 -6540 0.0008032593761401474 0.0013060849540393353 0 0 0 -0.00011926714462428327 -3747 9.022104400702547e-05 0.0008625290640065427 0 0 0 1.652745078652943e-05 -1380 0.00071429406278346 0.001064438717760502 0 0 0 5.909628749642659e-05 -8067 0.00033242195312688634 0.0011962743556912822 0 0 0 8.544742866610799e-06 -6927 0.0005123725086572931 0.0011738027859351087 0 0 0 -8.174383916758845e-05 -8101 7.452909282642246e-05 0.0011143555278735834 0 0 0 0.00019007975945765926 -8109 -0.00020732049808784968 0.001453251173431493 0 0 0 4.8459811408671235e-05 -8156 0.0005054921202968718 0.0011372334240817839 0 0 0 0.00014369233345008987 -739 0.0007291992628224419 0.0009738600946544168 0 0 0 -4.350925934871119e-05 -8164 8.996510975607983e-05 0.0009952953072968414 0 0 0 2.642403538358586e-05 -8167 0.00018856045514753245 0.0013339899931806782 0 0 0 -3.7644270801827666e-05 -8193 0.0010551932852645594 0.0009959095258906543 0 0 0 -0.0007101023003811736 -8218 -0.0021979727806793977 0.002110115643532067 0 0 0 -6.147437170855108e-05 -8246 0.00020742786242533215 0.0011972227938113016 0 0 0 -4.6370603082213595e-05 -8252 0.0003931065590652709 0.0012473995075711574 0 0 0 -6.912804961349722e-05 -6821 0.0005260715750127902 0.0011370209745038828 0 0 0 -1.902134949271076e-05 -8293 0.00011143483159405732 0.0011448053175539142 0 0 0 0.000210943583884741 -8299 1.7108391341714164e-05 0.0012572478666620396 0 0 0 -1.0582931212929185e-05 -8589 0.00046701383838877893 0.0011961010588569972 0 0 0 3.448218826437654e-05 -8385 -7.036714020580747e-05 0.0012073565163770788 0 0 0 -3.165948140007303e-05 -8389 -0.0001692730905169708 0.0011946934563528625 0 0 0 -5.7169819872239985e-05 -8390 0.0006152038793417111 0.0006610638986997996 0 0 0 5.744984443729192e-06 -8398 -0.0005090672495152314 0.0014703317422650791 0 0 0 0.0004300436514728174 -8415 7.023914108462955e-05 0.0012364580840875455 0 0 0 2.105339646643884e-05 -8467 0.0003781788254933703 0.0009133480625626201 0 0 0 7.649408833187213e-05 -5785 0.00010419514772113314 0.0008794293553431938 0 0 0 9.5154299313831e-05 -8478 -7.25796711828304e-05 0.0011152101177511018 0 0 0 -8.516110234366737e-05 -8483 0.00034120548806122774 0.000905236187741921 0 0 0 2.967565498435987e-05 -9017 0.0003120298294504041 0.0009485828757218337 0 0 0 0.00011674023359114095 -8497 0.0003607389223613799 0.0012467099799451948 0 0 0 -4.6260460227050074e-05 -4377 5.4494768241667165e-05 0.0008967615705453364 0 0 0 -3.6882465116500894e-05 -8534 2.39202665997375e-05 0.0012992376686262288 0 0 0 1.4543004348832539e-05 -688 -0.0004254948982294803 0.0011754699689194626 0 0 0 8.25180756303495e-06 -8561 0.00011805168013369383 0.0012095189731013212 0 0 0 2.997477897841912e-05 -8575 -0.0004787051660993874 0.0006972819323745454 0 0 0 -0.0002642858839149302 -8610 9.893172130957216e-05 0.001273163732874659 0 0 0 8.217143570620115e-05 -8651 0.0003440105046445132 0.000866156922332357 0 0 0 5.5533180295153676e-05 -8671 0.00016677716540575447 0.001030528613185433 0 0 0 3.296506218075869e-05 -8086 -0.0004009906907666862 0.0009711723177229686 0 0 0 -2.259934429130323e-05 -8719 -0.00048236040574183443 0.0014916112449571573 0 0 0 -0.0004540849511462628 -8788 -2.4660073243540388e-05 0.001234530760531381 0 0 0 -2.5281266059742164e-05 -8829 -2.6222481594408444e-05 0.001112843797165187 0 0 0 -2.9542594887688446e-05 -8834 -0.00027047309558472836 0.001407716020337524 0 0 0 6.084294157320492e-05 -8861 -0.0002793267780553009 0.0013512700458430179 0 0 0 -0.0001544510612080495 -8868 -0.0001717483677433235 0.0013133037081930555 0 0 0 -2.7299017067143963e-05 -7342 0.0005777998063150418 0.0012174488602426428 0 0 0 -7.127577030759196e-06 -9363 0.000805463285235785 0.0013971557050986572 0 0 0 0.0001718872359451883 -8945 -0.0002009707433502801 0.0013368323556978872 0 0 0 -2.1814995725038024e-05 -8961 -1.4798109533132101e-05 0.0010594968368362666 0 0 0 0.00012643282206866615 -8967 -0.00017986922960991906 0.0016051259553705134 0 0 0 -0.0002729549239158924 -8972 0.00012286468649597786 0.0010602812491240143 0 0 0 6.434672124542391e-05 -8973 -0.0005577779623411772 0.0014169566673096492 0 0 0 0.0005303884826089718 -9016 -0.00028421305926039147 0.0012470411156271077 0 0 0 -5.84602290071882e-05 -9035 0.0002299228641474231 0.0012027824895929917 0 0 0 3.0236879091240666e-05 -9057 0.0004319830161472815 0.001190419847781779 0 0 0 7.291766913527195e-05 -9070 -2.7183600495712183e-05 0.0011565819429025371 0 0 0 2.8429721760721853e-05 -9072 0.0001957684254156831 0.0008123872795456548 0 0 0 -3.4903160506155324e-05 -9089 0.0003071512313795346 0.0009203755049234299 0 0 0 5.0097561729608024e-05 -9096 0.0001104029256810167 0.0011813250049429545 0 0 0 2.139368786820202e-05 -9123 -0.0003123348524560613 0.0009431831020650626 0 0 0 0.0008928906341776954 -8026 0.0007222044275725998 0.001377163871230415 0 0 0 0.00026325732488265 -9191 0.0001801248960624025 0.0012007600875979993 0 0 0 8.22229192547807e-06 -9238 0.00040233397872024607 0.0011229498058818823 0 0 0 -1.4532207918459407e-06 -9241 -1.916553445074458e-05 0.0009151887238148864 0 0 0 8.410604165025627e-05 -1162 -0.00017263264506063946 0.0011299509291425008 0 0 0 1.3141842871424022e-05 -4410 0.0005301287456157933 0.0011197506251958494 0 0 0 -2.313588096966289e-05 -292 0.0008155340908266915 0.0013434956336627391 0 0 0 -2.262761233595415e-05 -9259 2.1570382024634012e-05 0.0012138197155703908 0 0 0 -1.8792418223538165e-06 -9299 2.883640202604648e-05 0.001248821021308061 0 0 0 1.2747515934112272e-05 -9318 -0.0002637320518762898 0.0013487262520694879 0 0 0 4.2021341883076865e-05 -9333 9.386083520286326e-05 0.0012979438563773215 0 0 0 5.3322047359633314e-05 -278 0.0006510158289962215 0.000991547839765733 0 0 0 4.538719359160014e-05 -9374 -0.0003831605094829975 0.00130948961878824 0 0 0 -0.0005462244847732971 -9389 7.389738049083409e-06 0.0011379009411099606 0 0 0 -1.984387157292483e-06 -9392 0.0006211038665518184 0.0007117250747479291 0 0 0 -6.292654254686357e-06 -9399 -0.0003092804764303912 0.0014311628271016876 0 0 0 -6.103518794085414e-05 -9416 -0.00024460792891685634 0.0014275155269598096 0 0 0 -1.9630239212145718e-05 -9435 -9.757599714146216e-05 0.0013530141966311196 0 0 0 -0.0009345728994959767 -2036 0.0003072417095506843 0.0012549118733352137 0 0 0 7.452635598670372e-05 -9461 -9.818506186369903e-05 0.0012052166269225185 0 0 0 0.0002755218685431996 -9489 0.00040188846340239896 0.0012247108446344674 0 0 0 4.675432269852335e-05 -9496 3.458683511969484e-05 0.0011377553628883646 0 0 0 1.4849836400276905e-05 -9497 0.0005613678530721439 0.0010446424970111394 0 0 0 9.913398495049242e-05 -9520 -6.891200410802458e-05 0.0011611469738348403 0 0 0 5.796355575396795e-06 -9558 0.00041404452597291065 0.0007639738621899414 0 0 0 0.00010576059451675494 -9576 -0.0003133965721888147 0.0014509596578731224 0 0 0 -0.00014570641380179863 -9582 6.299513303504225e-05 0.0011801151421707773 0 0 0 2.1366723888425902e-05 -9598 -0.0002314732755758999 0.0011709727694196978 0 0 0 5.522645753455472e-05 -9636 -2.040511406077472e-06 0.001136302653678153 0 0 0 -6.774133436087125e-05 -9648 -0.00023312900790161968 0.0012398710182195726 0 0 0 -0.0005169842615558871 -9656 0.000516453352348381 0.0011279304825467325 0 0 0 3.4250636296722044e-05 -9660 -0.0002286594540432378 0.0014076899636765831 0 0 0 -6.376776309186737e-05 -9662 -9.185201789766416e-06 0.0013428911980263364 0 0 0 -3.8652037038808796e-05 -9673 -1.4946194496394075e-05 0.0010046864840188602 0 0 0 -5.333378570029209e-06 -9678 0.0003641161329592495 0.0012437683433031946 0 0 0 0.00010195517338964412 -9681 -0.00015070809696519604 0.001271510170356215 0 0 0 -2.2100970827801788e-05 -9690 -0.0005188289154979449 0.0010484274969255122 0 0 0 0.00011535370243966643 -9696 0.0001199568414988062 0.0012521680303015752 0 0 0 -3.954234783098882e-05 -9699 -6.106351750734009e-05 0.001220589776309937 0 0 0 0.00012513756938072046 -4036 0.0007211642656914819 0.0010237856285493238 0 0 0 5.4531626256708326e-05 -5758 0.0005710011605817042 0.0004426786565781741 0 0 0 3.058678207276426e-05 -2247 0.0006385736639299127 0.0012385263375541925 0 0 0 1.9317548615588137e-05 -9741 0.0005909719981927449 0.0007871062744542554 0 0 0 7.708668435088796e-05 -3126 -0.0004173368937394286 0.001318560659295284 0 0 0 6.8106256753382776e-06 -9791 -0.00020046216928398821 0.0011681999337513423 0 0 0 -1.1086732345242138e-05 -9798 -8.709931488169731e-05 0.001232229105098655 0 0 0 -0.0003711599369744104 -9811 0.0002934247311602166 0.0011770542379303658 0 0 0 8.971621638084638e-05 -9832 0.00014919629686937176 0.0012248589013582794 0 0 0 4.086232216261696e-05 -69 0.0007105519535687093 0.0003960697061485436 0 0 0 2.743370009661307e-05 -9907 0.00014824248698036191 0.001027341625502564 0 0 0 4.22179403033973e-05 -9920 -4.881041382307442e-05 0.0012690424858482925 0 0 0 2.4346981148888457e-05 -7409 0.0006486944509398583 0.001003873599342886 0 0 0 -0.00028971288438064144 -8292 0.00048220901570077547 0.000635066694830767 0 0 0 -1.6555191820347583e-05 -9306 2.571920676029884e-05 0.0008990583928749562 0 0 0 -3.185337898054893e-05 -8405 0.0006251422648779234 0.0010904879243920614 0 0 0 1.5126483300788569e-05 -392 -0.00035428247752636343 0.0011682426194635942 0 0 0 3.222019642262935e-05 -1022 -0.0003931160294659573 0.001422618204109595 0 0 0 1.0981497388118599e-05 -5271 -0.0004172324675342366 0.0010808027466057291 0 0 0 4.272417898741774e-06 -6607 0.0004010554442918069 0.0012045376257376437 0 0 0 -8.131034130503318e-05 -3382 -0.0003021103257445375 0.0013131078484209617 0 0 0 1.6524542221703626e-05 -828 -0.00039403889683028726 0.0014967839719926 0 0 0 1.7683020587406966e-06 -6364 -0.0003634899843221769 0.001275762268642807 0 0 0 1.7391185169763813e-05 -4760 0.0007059670784216798 0.0006073199475322346 0 0 0 3.756506443718158e-05 -6963 -0.0003995867655310437 0.0012066179702773577 0 0 0 1.756842725513979e-05 -6491 0.0004798453436992323 0.0012359382664515184 0 0 0 6.626710082158628e-06 -4869 0.0006228566631059924 0.0010134203310336184 0 0 0 -0.00016168771207056688 -1714 -0.0003764913439856978 0.0014058589372572513 0 0 0 1.0836748555141074e-05 -3252 0.0007322586205383027 0.0009965231174955751 0 0 0 -2.3908772216576354e-05 -2913 -0.0004178192300348962 0.0015019749328161907 0 0 0 -9.203640812598866e-06 -1204 0.0006268799265933786 0.0012033709814767847 0 0 0 4.020383155808843e-05 -7731 0.0005122410504792343 0.0006246957359037048 0 0 0 6.053172981693404e-06 -1753 0.0005332084405926408 0.0005203808396517513 0 0 0 2.529763914110527e-05 -4427 0.0004009332974294232 0.0010355280208006856 0 0 0 6.634323549396107e-05 -2740 0.00019266678305295297 0.0008181008543032127 0 0 0 -4.728235947799713e-05 -7248 0.00042199455636611754 0.0006431699219267155 0 0 0 2.889725004546967e-05 -1447 -0.0004333298014821913 0.0012602497245002972 0 0 0 6.851130766590563e-06 -4407 0.0006466101705715013 0.0010627970284481742 0 0 0 -6.11689787762847e-05 -8901 0.00034402472428547715 0.0010352519697914722 0 0 0 4.765398264885559e-05 -7404 -0.0004160538501307749 0.0010599701891662234 0 0 0 3.690317218029218e-05 -6253 -0.00040091767796292016 0.0014645612301128518 0 0 0 2.5837561815967985e-05 -6657 0.0004023312896187091 0.000541668146751774 0 0 0 -2.3938658013246176e-05 -7559 -0.00025015263083808035 0.0008844196570034634 0 0 0 -2.6310084697848436e-05 -5074 -0.00041641730424421053 0.0013072273695177257 0 0 0 1.4538605787263289e-05 -5571 -0.00043076986094397183 0.0011887724618333156 0 0 0 -8.311183624667133e-06 -2674 -0.00041168953386833086 0.0013385378146801186 0 0 0 -3.611595738439002e-07 -1866 0.00022748705822913428 0.001038587364393438 0 0 0 6.19086957704393e-05 -5855 -0.0003907450523130816 0.0013708520071355258 0 0 0 1.6534623900379884e-05 -5151 -0.00025426965760202947 0.001172370093712919 0 0 0 -3.681491166450979e-05 -1590 -0.00036633745082603145 0.000622254708479254 0 0 0 8.755379096504729e-05 -9977 -0.0003875559624905233 0.001106378755683143 0 0 0 -2.714936956987567e-05 -29 -3.8225035142992406e-05 0.001040486818018656 0 0 0 -2.4803732581427293e-05 -4484 0.00018023226802222947 0.0002889807360490909 0 0 0 4.159680018143453e-05 -52 -0.0005903028532556966 0.000645225925897697 0 0 0 -1.4062766501970713e-07 -66 -0.0005503001352742033 0.0011593263814333198 0 0 0 1.7958289775182223e-05 -76 0.0006794165814206514 0.0006344889385385223 0 0 0 7.523622956333584e-07 -103 8.210033912149124e-05 0.0013294298990357194 0 0 0 -2.5396403012827207e-06 -107 -0.0004995717106840737 0.0012268571217627742 0 0 0 1.847060195751118e-05 -1930 0.00015930687577572915 0.0003614935202983521 0 0 0 8.226641483862766e-05 -8022 0.00018541470556550919 0.0004974903988496758 0 0 0 0.00016508816155825435 -142 -0.00045874867459988526 0.00120659771365556 0 0 0 -2.08235326679838e-05 -153 0.0004022557308266176 0.0005663483993530337 0 0 0 -6.173291677144417e-05 -204 -0.0006715754112453112 0.0008232960740428802 0 0 0 1.3784092713501456e-05 -173 0.0003732387581352048 0.001011495992704539 0 0 0 -3.199240285758306e-05 -178 0.00011691728072522663 0.0008770111448334635 0 0 0 2.1788565449653197e-05 -185 0.0005543510116437633 0.0003021921474994599 0 0 0 3.7944781076118715e-05 -193 -0.0003257037224211736 0.001433706672860902 0 0 0 -1.5339444439521614e-06 -195 0.00037406015427218065 0.0007252770261637619 0 0 0 -3.6674025443914873e-05 -212 -0.0004068481322583643 0.0014615753353942023 0 0 0 2.859402423048142e-06 -231 -9.952479682447434e-05 0.0014021299947655625 0 0 0 -4.88440072028505e-06 -8599 -5.1190589016884064e-05 0.000632549757332486 0 0 0 0.00017282399798730695 -303 -0.0001190066823857477 0.001090644705040964 0 0 0 -4.4869538517245874e-07 -8608 -0.0006718893549664174 0.0007006936515431726 0 0 0 -1.1006940385761726e-06 -340 0.0002478966338085916 0.000620168141444351 0 0 0 4.070762976098127e-05 -348 -0.000407931594158938 0.0013461008465386673 0 0 0 1.1424134005899089e-05 -352 0.0003170845704207056 0.0009559990827190716 0 0 0 -3.861514647061608e-05 -375 -0.00013902563523914897 0.00042904951706039583 0 0 0 6.869173372794931e-06 -1348 -0.0004598167282503955 0.0010447964173851704 0 0 0 2.975695023714379e-05 -398 -0.0005492916236146447 0.0003914739927099644 0 0 0 3.724317680502848e-06 -498 0.0007766730283932495 0.0007165449075264179 0 0 0 -7.5454620909485375e-06 -502 -0.0002455984949533822 0.001477376976158212 0 0 0 1.6475351148529214e-05 -517 0.0008111028306550266 0.00021844714525018702 0 0 0 9.517199123137433e-06 -4115 0.00018331774149608096 0.0003613459328918882 0 0 0 0.00011399796588324468 -554 -0.00033194821712359654 0.0011794749372866227 0 0 0 -4.782894454971233e-05 -9936 -0.00042627418356321495 0.0012964970794981003 0 0 0 1.8755327108974882e-05 -573 -0.0003983475290226358 0.0011996573747771195 0 0 0 2.7303497336297012e-05 -591 -0.0004234407435501035 0.0013299673822559726 0 0 0 2.5539528811167023e-05 -592 -0.0005649959030420923 0.0010442874023272096 0 0 0 1.8741404775283443e-05 -597 -0.00035792453330929454 0.0005893582764335567 0 0 0 -2.2515504493080366e-06 -606 -0.0004112383655865213 0.0006411611770007732 0 0 0 3.06111352525531e-05 -635 -0.0006161320830165819 0.0010759971826661597 0 0 0 5.559786066932839e-06 -640 -0.00043848661698945343 0.0004898877348809442 0 0 0 -2.2330343520511348e-05 -642 0.00035299247807073155 0.0010373535107273033 0 0 0 -5.01295608293087e-06 -420 0.00042345548944400355 0.0002520926477165584 0 0 0 1.0321909114993601e-05 -669 0.0007431231678142032 0.0004147070621451745 0 0 0 2.1016807792689872e-05 -671 0.0005332924242329158 0.0007484743744434736 0 0 0 -6.915267021704075e-05 -686 0.0005482423641574118 0.0008772538021074726 0 0 0 -2.6338793736805643e-05 -5268 -0.0004647763299083473 0.0009049804736104683 0 0 0 1.4708266349556145e-05 -691 -0.00032670272981181065 0.0003131741279190211 0 0 0 4.055762656313404e-05 -693 0.0004112897147560104 0.0009625444784949194 0 0 0 -1.0478856650424959e-05 -759 0.0005872931300009798 0.0006289914961086785 0 0 0 -2.5169671502785887e-05 -762 0.0006554852669246103 0.0006096726870045515 0 0 0 7.048657071475169e-05 -785 -0.00035409706652734976 0.0014729547408108836 0 0 0 4.0728307718150935e-05 -806 0.00010704755950659159 0.0012951414541362788 0 0 0 -3.1032932687621536e-05 -807 -0.0004522798911508728 0.0013142743783946648 0 0 0 4.50137641513346e-06 -4294 -0.0005562704073155767 0.00036766770003007483 0 0 0 6.225648585424118e-05 -830 -0.0002741340238176121 0.0013854249585436248 0 0 0 4.88398807129203e-05 -6394 -0.00035386811027387285 0.0006205250878247077 0 0 0 -0.00016169182439708903 -858 -0.00044256751925448955 0.0007895263989406413 0 0 0 5.227361974674887e-05 -859 0.0004925587296588594 0.0007992597054548731 0 0 0 -4.1924816494548276e-05 -864 -0.0005139254799113685 0.0012648053610827493 0 0 0 2.3737762370541797e-06 -894 -0.0005375385326225431 0.0008701786423407943 0 0 0 -4.118814075487044e-05 -904 9.016904910649208e-05 0.001330250365356713 0 0 0 -2.5646446946009904e-05 -934 -0.0004872317864530364 0.0012935522483401491 0 0 0 1.2176638291705718e-05 -937 -0.0004925289596643666 0.0012645477774982376 0 0 0 -5.162529631427791e-06 -4146 -0.00033793858095940876 0.00040584918346249217 0 0 0 8.962957246970008e-05 -961 -0.0003407074965727281 0.00039717105749978866 0 0 0 1.3808131349627188e-06 -986 0.0007760393043763466 0.00043400951844203416 0 0 0 1.320448438719534e-06 -1005 0.0007464510243601581 0.0005128343825975702 0 0 0 -4.1227886728218464e-05 -4369 -0.0005838611833915486 0.001008712773615414 0 0 0 -2.4064496490929563e-06 -3203 -0.0006063999755420897 0.00033226192890759075 0 0 0 2.178603589636613e-05 -1024 -0.0002585182568282177 0.0005098815124588787 0 0 0 -3.841960113855521e-05 -1058 -0.0002612420583190836 0.0011858821597071983 0 0 0 -1.364164734404547e-05 -1070 0.0004852371619238198 0.0008468164201369311 0 0 0 -6.731485818829658e-05 -1071 0.0008280594070134181 0.0006338961757478117 0 0 0 2.941798546557239e-05 -1083 0.0008476597746133854 0.00026250311302643096 0 0 0 0.0001243036475838487 -1095 0.0003829795580486481 0.0008773296213375609 0 0 0 -2.477119492888158e-05 -1108 -0.0004116163704772968 0.0014018998535486793 0 0 0 4.900701417805412e-06 -1114 -0.0005222426865438044 0.00022587013285506297 0 0 0 0.00012575534720763254 -7827 0.0002374280544044609 0.0006572682368979771 0 0 0 0.00015718074919166344 -1169 0.0007450369157516656 0.0003350655020890733 0 0 0 -0.00011007771255528626 -8360 -0.0004312417852400067 0.000993813335198549 0 0 0 3.534783752077054e-05 -1195 0.0003893874739403586 0.0005765004668530599 0 0 0 -6.90219488458168e-05 -1198 -0.00043873352863484544 0.0005344423377243924 0 0 0 -1.2771474287266544e-05 -1267 -0.0005018139809558982 0.00024700922915615983 0 0 0 -1.8723850792352366e-06 -1280 -0.0002066234197995215 0.00043380025038976364 0 0 0 3.2115612214862208e-06 -1288 0.0007869981493368649 0.0003188292797274316 0 0 0 -9.751592849242867e-05 -1301 -0.0005657580757882325 0.0007517676408420172 0 0 0 3.0485433782023214e-05 -1320 6.981404204918916e-05 0.0011312588407908324 0 0 0 -9.94053947972055e-06 -1409 -0.0007047520260991965 0.0009597621482856127 0 0 0 -5.088945965677424e-06 -7830 0.0007202776154655626 4.747220215521073e-05 0 0 0 0.000194244882733608 -1419 -0.00011533062474819508 0.0008365992964620599 0 0 0 0.0002988887278629287 -8590 0.0002620893956341113 0.00012509239353421825 0 0 0 0.00019940309528757833 -9676 -0.0006781257995023257 0.00047781303845133885 0 0 0 -5.308583600442154e-05 -1485 -0.00016511058671169523 0.0014518569536816413 0 0 0 -1.9528080328291084e-05 -1503 0.0001480656714909495 0.0008797019768216185 0 0 0 -6.967481312306259e-05 -1504 0.00011859257008407513 0.001012645824270659 0 0 0 -3.8503808077234325e-05 -1519 0.00011009238354553446 0.0006299734417901272 0 0 0 -9.578124105459519e-05 -1525 0.00020478794591267607 0.0011448454643338908 0 0 0 -8.37168879719052e-05 -1537 0.00017422821895525352 0.0011535055739032721 0 0 0 -5.4576569994134554e-05 -1552 -0.00043962561007900697 0.0005600628706926108 0 0 0 2.1744316645915587e-05 -1556 0.0007608682208414459 0.0006393918550824744 0 0 0 -6.6564357983124e-05 -1588 -0.0005046753932725298 0.0007887276571397113 0 0 0 2.1161770421081846e-05 -1602 -0.00024525892647937194 0.0003787182669560315 0 0 0 2.3156717051510877e-06 -1611 -0.000446494065494152 0.0003583769858307788 0 0 0 3.675335706623392e-05 -1619 0.0007534020221318868 0.0002967164695514458 0 0 0 1.498675166248254e-05 -1635 -0.0003862807291090326 0.0012981600625291446 0 0 0 3.975434410337401e-05 -1636 -0.0005226201812814673 0.001168069601353209 0 0 0 -1.1382963174857504e-05 -1641 0.00048651055804564984 0.0007461775842319172 0 0 0 -2.5636773730281112e-05 -2310 0.0003764454491251423 0.0003078996238165795 0 0 0 1.951055235453647e-05 -1664 -0.0002281408423716441 0.001059652899399128 0 0 0 -5.05908837663866e-05 -1679 -0.00027314849638121453 0.0006480135269690626 0 0 0 2.492775986344694e-06 -1685 -0.00019574711661864318 0.0014095846945361417 0 0 0 -7.882057138477579e-06 -9262 -5.801658197139944e-05 0.0004099754622098078 0 0 0 -6.210220221674226e-05 -1723 0.0009065579561120171 0.0005654945895690342 0 0 0 -9.270517653299791e-05 -7971 -0.0005861238511716463 0.0003487598172128781 0 0 0 7.215002823075265e-05 -1794 0.00024580636961633694 0.0009048567618209697 0 0 0 -4.8089550412883463e-05 -1800 -0.00019373806370419786 0.0005538147511939243 0 0 0 -3.935448491145042e-05 -5258 -0.0005312675570516622 0.0006711891710085426 0 0 0 -4.0908021943052114e-05 -1805 -0.0004036191585990771 0.0013384090869914638 0 0 0 -2.725320204651703e-05 -1810 -4.8807594491394936e-05 0.0010249330661769916 0 0 0 0.00023299510956901028 -1813 -0.00042568697454615947 0.0013249550684941924 0 0 0 1.2557373975136708e-05 -1827 -0.0004047288356134191 0.0013614861349697852 0 0 0 1.3326223763610479e-05 -1859 -0.00034369625877367604 0.0003784149303326095 0 0 0 1.836826260614364e-05 -9296 0.0004606146687600087 0.0005924896206460857 0 0 0 3.9929579183831487e-05 -1972 0.0005069042643153302 0.00034013866830138003 0 0 0 -1.99475122500272e-05 -6059 -0.0005409060818459027 0.00018348631119554049 0 0 0 -6.205106693647202e-06 -2062 0.0007986296219211326 0.00019251602255082413 0 0 0 4.185578605483852e-06 -2083 -0.0004601613114765155 0.0012772682301745544 0 0 0 8.895207779936747e-06 -2084 0.0008099427469368369 0.0003728818256185276 0 0 0 3.991408870199932e-05 -2086 -1.4556271289748782e-05 0.0013995852063137752 0 0 0 -0.0001045308379988551 -2117 -0.00039854811192069724 0.000482866281240103 0 0 0 -8.145879475402093e-05 -6592 0.000296696894530639 0.00034505346634603785 0 0 0 0.0001038552029954654 -3347 8.970695970768074e-05 0.0005460996154718563 0 0 0 0.0001102736283224699 -2141 -0.0003777470763702038 0.0003860768147654165 0 0 0 4.181231300343874e-05 -2170 -0.0003793423491902795 0.00028133135158615896 0 0 0 -7.187523064592221e-05 -2175 0.00031467050903982556 0.0009492724260884522 0 0 0 -5.894119423273627e-05 -6445 -0.00044261338367652394 0.0010924273386196104 0 0 0 3.029854423232232e-05 -2183 -0.00046268624276397924 0.0012526128663236412 0 0 0 -3.2917898081876714e-06 -2211 0.0007759383681090467 0.00029907562249710155 0 0 0 9.016430534686457e-06 -2213 0.00026797386220299294 0.0012769385449286318 0 0 0 -6.028461777186456e-05 -2238 0.00033815933438976397 0.0010179539276293907 0 0 0 4.527877854259209e-05 -5422 0.000539300298298315 0.0003491593156102802 0 0 0 4.3641620765962144e-05 -2295 1.2806652614527364e-05 0.0012810187427625599 0 0 0 -2.94746143803308e-05 -2304 -0.0003625242198112095 0.0004315147225586598 0 0 0 -4.919120164622445e-06 -2343 -0.0003723100640876912 0.001526985845077482 0 0 0 6.430755118771962e-05 -2344 -0.0006876160240326545 0.0009304551532799911 0 0 0 7.108442750995032e-05 -2350 0.00043520492679209344 0.00044253091161945924 0 0 0 -0.00012908196131927326 -7901 0.0005335991164796525 0.0005851911734476407 0 0 0 9.635569406705324e-06 -1104 -0.0006895728594057146 0.0007288339338572152 0 0 0 1.1847645682191447e-06 -2360 0.0007158175687287597 0.000625998771669628 0 0 0 -2.513155026318511e-05 -2366 -0.00035989189809760517 0.0013662390907680018 0 0 0 -4.862176187484741e-06 -2369 -7.351424571590625e-05 0.0013484881555405393 0 0 0 -4.3114926370741395e-05 -2372 -1.3380096615773755e-05 0.0009612890906647071 0 0 0 -7.618837176062601e-05 -991 -0.00048578598690426894 0.0009092996979241698 0 0 0 2.725054632744415e-05 -2418 0.0006216345469554524 0.0006004192261285583 0 0 0 -0.00011360171537546917 -2426 -0.0004841415181348879 0.0012220246608772422 0 0 0 -0.00011874237036348436 -2451 -0.00037941489325522745 0.00046316683677430045 0 0 0 9.726072196289748e-06 -2568 0.0004221866535323142 0.000810322525687022 0 0 0 2.1708758868152717e-05 -2575 0.0006669184628226591 0.0005854951421109673 0 0 0 -8.530512963993137e-06 -2580 4.3247045422446675e-05 0.0012581490725489895 0 0 0 6.170121403403625e-06 -964 0.0003234100756993724 0.00038479226031873083 0 0 0 1.746998184513019e-05 -2642 0.0006965450778638052 0.000491942904150358 0 0 0 -0.00019715186371784368 -2661 0.0003113238817536805 0.001094842352172447 0 0 0 2.393941293613011e-05 -8661 -0.0004403960833712585 0.0006359339810357102 0 0 0 0.00010172208747374804 -2678 -0.0005342163331252394 0.00020077531643228588 0 0 0 0.00010710249265042918 -2681 0.0002270754574998461 0.0006636429813906592 0 0 0 -2.290817537049797e-05 -2694 -0.00037558362880025505 0.0003785770666257677 0 0 0 -1.0669819031579382e-05 -2717 0.00037549713808312764 0.0009913167877198161 0 0 0 7.691786005782538e-05 -2718 2.0580090914534018e-05 0.0012522734628402624 0 0 0 -0.00010771717277253062 -2723 0.0010024334275550446 0.0002831393577455389 0 0 0 0.00015258831647665637 -3666 -0.0005718276960400864 0.0004109994382701917 0 0 0 -5.606773439453572e-05 -2729 1.967556668987428e-05 0.0005311247804922757 0 0 0 1.135390368709044e-05 -2759 -0.00011764180609413904 0.0013891126932083794 0 0 0 -1.8791112055477953e-07 -2764 -0.00043568795058648825 0.0011509728065503238 0 0 0 -4.216839859719976e-05 -2806 -0.0004279416933792462 0.0013788923751985548 0 0 0 2.240518557836321e-05 -565 5.890478363467206e-05 0.0004630508850448648 0 0 0 9.48425012122431e-06 -2860 -0.00036825864730592213 0.0006726460709265652 0 0 0 2.495820570450983e-05 -2864 -0.00040911208596041326 0.0013759407801719784 0 0 0 1.3193375962054304e-05 -2869 -0.00040551402402355414 0.0006263394064189561 0 0 0 -3.063038632594944e-05 -5230 0.0003756748783581451 0.00036094329945174277 0 0 0 6.678303349946968e-05 -2923 0.0003980297069804624 0.0007438108691722213 0 0 0 -9.160311552940425e-05 -2946 -0.0004922779387049572 0.0011436051297250838 0 0 0 -1.3026468776160398e-05 -2969 -0.0001841639034739017 0.0014468926942845337 0 0 0 -1.0653446707050178e-05 -2979 0.0005548924378720641 0.0008771031404954686 0 0 0 -4.5643208437477886e-05 -3010 0.0005527957901353181 0.000756991566383106 0 0 0 -7.792825612555965e-05 -3011 0.00017965755568971118 0.0010518288775146632 0 0 0 -6.481658649414825e-05 -3022 0.0003877509703562923 0.0002743512982568065 0 0 0 2.8880931843647395e-05 -5780 -0.000572110379219466 0.0009958989867919921 0 0 0 9.56018095058406e-05 -3036 -0.00030806218516675195 0.0005637472613541875 0 0 0 4.465859880196869e-05 -3042 -0.0004728363943916088 0.0006292038965392471 0 0 0 -8.186672516142321e-05 -3055 -0.000460724675675035 0.00021643435215141273 0 0 0 -8.968365660620608e-05 -3082 -0.0004362525200550427 0.0007288715751862645 0 0 0 -0.0005885435436369835 -7434 0.0005227297125529191 6.980094946301175e-05 0 0 0 -0.0005209597343441856 -3179 0.00027823674737466754 0.0012528046483071072 0 0 0 1.6290280049666652e-05 -7476 0.000452469088450379 0.0005176529194389503 0 0 0 -4.321994847375034e-05 -5344 -0.0006194771437967934 0.0005430579676641126 0 0 0 9.430668036265951e-05 -3205 0.00017512109461250504 0.0010937539947402217 0 0 0 -5.194813802062628e-05 -3238 -5.1708927236058436e-05 0.0003933921196702959 0 0 0 -8.362198669466603e-05 -3245 -0.0004466704394114344 0.0012975063667061487 0 0 0 2.1405089015609366e-05 -3250 -0.00043824698378607506 0.0005267659309074401 0 0 0 -4.4016181489062445e-06 -3251 -0.0003860209443016096 0.0002288437185674281 0 0 0 -6.229763635045326e-05 -3267 0.0006373335250687267 0.0005062011684420168 0 0 0 -7.622794683805604e-05 -3272 0.0003404237940621368 0.0008775082445531608 0 0 0 1.5033407673802305e-05 -3289 -0.00045361129314095013 0.001264343044154832 0 0 0 -6.981782268034785e-06 -3296 0.0005848227934867267 0.00012078537311071336 0 0 0 0.0005384401747307781 -3300 -0.00043191174016571105 0.0013241125548824897 0 0 0 3.4028155085490232e-06 -3320 -0.0004379584820801573 0.0013627805103306333 0 0 0 1.0225620942261786e-05 -3326 0.0002931364046215078 0.00089055269653171 0 0 0 6.187493195110372e-05 -3331 0.0003284514047123854 0.0005509630382752935 0 0 0 -7.766875812612615e-06 -5028 -0.000541895129130732 0.00018804020117872195 0 0 0 -4.359784612109974e-05 -1511 0.0005287605841960251 0.00030062478410255604 0 0 0 -5.830106566571212e-06 -3851 4.797135281296469e-06 0.000520832195450487 0 0 0 -3.388640435854661e-05 -3368 0.0005064590393932828 0.000808279026128073 0 0 0 3.7970569143322556e-05 -3381 -0.00047097739413856085 0.0002913570973326292 0 0 0 -2.0177231026120184e-05 -7082 -0.0002603527121414765 0.0004973615699143303 0 0 0 1.9351868352088624e-05 -3417 0.00024406046874653507 0.0011800314260068839 0 0 0 -0.0001521571238963631 -2744 0.00030554303496086116 0.000286423563226427 0 0 0 -2.0938626483140835e-05 -3442 -0.00025905505932678324 0.0004531685197350496 0 0 0 -6.804568545897814e-06 -3444 0.0007345993042836181 0.0003479588286037145 0 0 0 0.00035076842872317675 -3446 0.0009660934384053871 0.00038551489252846926 0 0 0 -0.000254498900568982 -1804 -0.00043071667885700695 0.0011621293035349843 0 0 0 8.288513068117039e-06 -3480 -0.00023253680279883488 0.0003529788339012744 0 0 0 4.8529806796180444e-05 -3535 -0.000491025220788398 0.0011756016187312766 0 0 0 3.226963103109917e-06 -3608 -0.00014117304582655056 0.0012424152220670826 0 0 0 0.00013618566312263727 -3640 0.00034587752164818225 0.0010040448405503942 0 0 0 -2.6364546860192797e-05 -246 -0.00012748049004990947 0.0003339164438159543 0 0 0 6.02111927205859e-05 -3694 0.00014874025841220934 0.0007876863155282267 0 0 0 -8.546511823448498e-05 -728 0.00013203862845040084 0.0005813901294945007 0 0 0 2.1240239041027623e-05 -3734 -0.0005393387799294919 0.0007051142987036387 0 0 0 2.6381847049795333e-05 -3740 -0.0005148324946196425 0.00021384664457989324 0 0 0 0.00030460087810284665 -3752 -0.000328014451869426 0.0012868559851089909 0 0 0 -6.778475555319871e-05 -3789 0.00019558084063776087 0.0012314049857621902 0 0 0 2.036815397913334e-05 -3796 0.000382034018017273 0.0008680578556186085 0 0 0 -5.4089540587682715e-05 -3803 -0.00013029686578033744 0.0008088714770206869 0 0 0 -3.300191370410283e-05 -3817 -0.0006472885287904362 0.0006819509222901153 0 0 0 -8.819040055490368e-06 -4573 -0.0001410439266432925 0.00037683225920112287 0 0 0 -0.00023059115692411638 -3848 -0.0003955825045975598 0.00041980186742474025 0 0 0 -2.7583143956153025e-05 -3196 0.0005746722547495198 -1.8082931501977157e-06 0 0 0 -0.000359581401017558 -3876 -0.0004655105728862386 0.0012675011943297297 0 0 0 1.119881413445896e-05 -3888 0.0005818560804938535 0.0005964414476030584 0 0 0 1.4082993947463288e-06 -3927 -0.0004121559528979945 0.0002675460920231746 0 0 0 0.00013147738253538224 -3986 -0.0003399206178737894 0.0006177331254884594 0 0 0 0.00019092111887477773 -9155 4.60600148018311e-05 0.0005445297048924252 0 0 0 7.073860178326059e-05 -4022 -0.00019687598324992864 0.00046138636809617744 0 0 0 -2.7809753008088806e-05 -4064 0.0005334051956536811 0.0008506389302198192 0 0 0 -2.6728254276439425e-05 -4088 -0.0005264438486296347 0.0012004200396683949 0 0 0 2.8655274010259943e-05 -4091 0.0003796656528660998 0.0008737473261266757 0 0 0 2.574906596426863e-07 -1780 -0.0004219883715725875 0.0010214379037037692 0 0 0 1.5953251607127204e-05 -4147 -0.00040908426725746826 0.0005846117769318329 0 0 0 2.0785486915441244e-05 -4155 0.0004925955937764997 0.00012214588520167475 0 0 0 6.176529173194905e-05 -4181 -0.0004806188940359968 0.0013182957266198324 0 0 0 -3.800216371969946e-06 -4184 0.00020156636129123993 0.0010573402395651652 0 0 0 -5.994357800683482e-05 -4213 0.0007082600364369831 0.00034941970633234706 0 0 0 -0.00038254101744792735 -8104 -0.0006794019839347944 0.000703932617712223 0 0 0 -1.851411602582887e-05 -9446 -0.0006156532925581272 0.0006720539917926438 0 0 0 -1.3700445093290052e-05 -4361 -0.0004913894494848708 0.0011842799541728556 0 0 0 -1.338548343928329e-05 -4440 0.000467537660120412 0.0007157460963954118 0 0 0 6.34053811979544e-05 -4479 -0.00026324895732272776 0.0010312092120204524 0 0 0 -3.3480000765798e-05 -6021 -0.00028785612491975484 0.0005542286590048007 0 0 0 3.935335961699692e-05 -4501 -0.00010110189130994206 0.0013870106840273885 0 0 0 7.235863474563983e-05 -4502 -0.000507441143584954 0.0002392314669074931 0 0 0 -7.026020870997263e-05 -4516 -0.0004977995592508556 0.000566064764174929 0 0 0 -7.473737592869087e-05 -4529 0.004661846252817044 -0.0027063961143713967 0 0 0 0.004701616044875232 -4534 0.00028399681552276695 0.000995966713240234 0 0 0 -3.476620530698435e-05 -4581 -0.0006637702217996138 0.000863124350037998 0 0 0 1.1398951788288554e-05 -4588 -0.0004949668272790978 0.0001696539706152389 0 0 0 -0.0003250634134228868 -8732 0.0003250151852581528 0.00034388776544543503 0 0 0 6.90491013799638e-05 -4629 -0.0005264689231648551 0.0012033589626069012 0 0 0 -2.501598400791154e-05 -4641 0.00016313245336971533 0.0011253772242537396 0 0 0 -7.293087058034965e-05 -4681 0.0008294738825978368 2.321642242726361e-05 0 0 0 -1.5663917081239297e-05 -4684 -0.00043643377162867417 0.0013098372882206681 0 0 0 1.2960156188034487e-05 -4704 0.0005181047912352627 0.0003030029063684382 0 0 0 -0.00024264526321380854 -4714 0.00047419661865162626 0.0007207816536616965 0 0 0 0.00012953368061286157 -6441 0.00020947849037105797 0.0003373361551330956 0 0 0 0.0002530865446266153 -310 -0.00015074268789005274 0.0003962265862454467 0 0 0 8.906284822382439e-05 -4737 -0.0003384456933319063 0.001507190609353874 0 0 0 4.606294208383596e-05 -4747 0.0005206212162712961 0.00028027734794866765 0 0 0 0.0002981095975686543 -4753 0.0005855886090174577 0.0006110302011155692 0 0 0 5.458275145374492e-05 -4756 0.0007668792268926054 0.0005521965833288925 0 0 0 -0.00014202947592662364 -4758 -0.00040391111008354386 0.0013973398540481116 0 0 0 3.592088493547558e-05 -4777 0.0006713815812584381 0.0007193496446502851 0 0 0 -5.2533196744248877e-05 -4831 -0.00044918145907872956 0.0012151719013060445 0 0 0 -1.622157160554171e-06 -4855 0.00023001053947080166 0.0008935167177477314 0 0 0 -0.00012286671338783094 -4877 0.0003585861256717173 0.0009217106108839003 0 0 0 6.45269185193726e-05 -4904 0.0007169047706357882 0.0007279002567762886 0 0 0 4.626364499301625e-05 -4911 -0.0002877493526498613 0.0005305479684971807 0 0 0 2.172345581003875e-05 -9203 -0.0005167850899383182 0.0009199096155795463 0 0 0 6.555385407739058e-05 -4938 0.0008849605996383228 0.000131986671198124 0 0 0 -0.0003323397494737539 -2557 0.0002710786621763681 0.0002757267574944018 0 0 0 5.042725529750423e-05 -4867 0.00013802591536118063 0.0003925247682347168 0 0 0 4.340707555614509e-05 -8962 0.0008224412021544745 0.00020035039241647054 0 0 0 -0.00015863588468639772 -7252 -0.00046726248595517484 0.0004251238413068141 0 0 0 -0.00012911399450877284 -5073 3.771166913791696e-05 0.0013695265882539113 0 0 0 0.00016096638783526194 -1339 0.0004630559594246781 0.00015629635492282024 0 0 0 2.881028388715271e-05 -5099 -0.00046431921694472747 0.001243999763116759 0 0 0 1.704953398830509e-05 -5104 -0.00014203231115047984 0.0007034819403271971 0 0 0 0.0002401394682536938 -4214 0.0006417233328934697 5.63786471815315e-07 0 0 0 0.00030948798466055595 -5136 5.262965333357308e-05 0.0012466340382082596 0 0 0 3.7459259311392295e-06 -2079 -0.00013662717470066862 0.00033960328358341506 0 0 0 0.00026970868941107766 -5228 0.00040837481792644026 0.0009383539519049743 0 0 0 -9.44725301707235e-06 -5249 0.0005270853891386327 0.00032030065473372956 0 0 0 0.0002866700795604468 -8939 0.0010740807730616763 9.143965637564678e-05 0 0 0 -0.0005280885582386885 -34 0.0008916561329044389 0.00018912539707091361 0 0 0 -2.76848515934731e-05 -5276 0.0008351284182707066 0.0006211795379315048 0 0 0 -0.00018362025802919023 -5311 -0.00010219103949910857 0.0010215329167484815 0 0 0 -0.00013065022820057248 -5114 -0.0006240354891806992 0.0003071428639949 0 0 0 5.5679229917114976e-05 -8977 -0.0006446957379577714 0.0005736656288593862 0 0 0 2.8065682239176313e-05 -5352 -0.001245088929410601 -0.0005646061671586157 0 0 0 -0.0002785451813119343 -5366 -0.0005424002072476166 0.0008428646461301382 0 0 0 -9.606888506577976e-06 -5371 -0.0004589360800794974 0.0012683345595585472 0 0 0 1.2423218511766445e-05 -628 0.0006645820822400388 0.00030276575319361813 0 0 0 -5.603161451776513e-05 -5417 0.0010489051139477928 -0.0013633387368231719 0 0 0 0.0005348050553576607 -5421 5.722018253785695e-05 0.0013750183562947953 0 0 0 7.11867778561523e-05 -5439 -0.0005976953505964866 0.0003802968670821265 0 0 0 -4.558864925416932e-05 -5440 0.0006434182653601426 0.00027311553969540316 0 0 0 -1.7332963843413295e-05 -5448 1.3155273382849967e-06 0.0011748890279397412 0 0 0 -6.244698856147484e-05 -2223 -0.0005580400302213896 0.0009678818455605747 0 0 0 7.476195744393e-05 -5463 0.00034711496537541685 0.000900471659552026 0 0 0 4.2800598340783865e-05 -5546 -0.00036532065265731765 0.001275396335378042 0 0 0 8.24114436853269e-05 -5563 -0.0003137965672008319 0.0004928916297043904 0 0 0 -2.219094898250622e-05 -5383 0.00015107818635790038 0.0005108888330878444 0 0 0 5.19357702242987e-06 -519 0.000551956739543913 0.00013859502770582918 0 0 0 -0.00016351989369848955 -5593 0.000401804364573983 0.0004350818325958696 0 0 0 -0.0004566745205124586 -5594 -0.00038062419434532546 0.0002786921206893354 0 0 0 -6.966146276989861e-05 -5639 -0.0005061643744270293 0.00020367152287254414 0 0 0 -9.869003392142164e-05 -5643 0.0008594785306764221 0.00021275566624343788 0 0 0 -7.232925659467063e-05 -6027 0.00028137537952229954 0.0004201695249228575 0 0 0 -9.981499505360619e-05 -5658 0.00013276117640591568 0.0008439847588243642 0 0 0 -0.00021145632033332866 -5661 0.0004528429250713771 0.0005191495010794256 0 0 0 1.563201251767322e-05 -5676 0.0007496004347839974 0.00021612881256493038 0 0 0 5.8242990409506966e-05 -5708 0.0007051237425874862 0.0007405466314371319 0 0 0 -8.14987637728787e-05 -5345 1.3351191795658831e-05 0.000537291007417182 0 0 0 -0.0001493151059496222 -5734 0.0001979106100086433 0.0006678168838559357 0 0 0 3.557308702047656e-05 -1871 0.000521069034808908 0.0003817263366393735 0 0 0 -3.9492760184530965e-05 -5644 -0.0004265956465810855 0.00022010241923059792 0 0 0 1.900264602720873e-05 -5749 0.00030545016047882193 0.0007084419998721806 0 0 0 -5.8270499446855356e-05 -5767 0.000490035931909517 6.0277038608967374e-05 0 0 0 -0.0009710223282870987 -5768 -0.0005525563790559865 0.0011495502751348765 0 0 0 4.759311691345115e-06 -6483 4.795466457723026e-05 0.0003291044477221951 0 0 0 -3.810756383522131e-05 -4662 3.322403562492653e-05 0.0005699452253134669 0 0 0 8.471302390111766e-05 -717 0.0005182502605710698 0.00044339312777508043 0 0 0 -8.336588853278649e-05 -998 2.2750600481157695e-05 0.00022105356539444762 0 0 0 0.00010859063274577929 -5839 -0.00042791523887357534 0.0011509345865025433 0 0 0 -4.464224613500709e-05 -5841 0.000735290341196146 0.000612796590810526 0 0 0 -9.194661354026963e-05 -5842 -0.0006225280985800336 0.0009080635791406951 0 0 0 -0.00015927206892527945 -3790 -0.0006655911643364718 0.0007721118179986651 0 0 0 -4.08580921903956e-05 -5880 0.000593005364540398 3.8349630856391894e-05 0 0 0 0.0005328240862377837 -5883 -6.017498951802688e-05 0.0012907628002127862 0 0 0 -5.494218437703721e-05 -9080 -0.0020984220368991473 0.0013135476852263511 0 0 0 -0.0012161662786326177 -5900 -0.0004635358264993754 0.0006957309460855656 0 0 0 -0.0001598186767793074 -5929 -0.00045729909018134106 0.0012336067899297023 0 0 0 -4.716661685005939e-08 -5931 0.0006488661496765857 0.0007165288383062371 0 0 0 -4.134366208034057e-05 -5947 0.0003909229777843842 0.0009822582398876342 0 0 0 -2.4531626400607172e-05 -5957 9.408058316866361e-05 0.0011512162996655192 0 0 0 7.173738365056793e-05 -1594 -0.0005412601065079366 0.0009801171335506323 0 0 0 2.7745484205736646e-05 -5973 0.0015034534144789695 0.0026936903136057315 0 0 0 4.966502766375784e-05 -5993 0.00037620090537777707 0.0006620800664923769 0 0 0 -5.00430524783581e-05 -6020 0.0008953862238636732 0.0003772883600573533 0 0 0 0.000242094129525737 -9964 -0.0004279773343944897 0.001272439734431864 0 0 0 1.4129210791931629e-05 -6068 -0.0005146674438179701 0.0012549276832354735 0 0 0 5.364197833648245e-06 -6081 -9.211699182596105e-05 0.0013482767296423117 0 0 0 8.079485001951685e-05 -6107 0.00014272845198481558 0.0008564753387451926 0 0 0 4.0424350096434825e-05 -6130 0.0006101950602556596 0.00027686899475037446 0 0 0 -0.00033868193013150433 -6143 -0.0009345803177805323 -0.0004713147262441307 0 0 0 3.798376459491396e-05 -6144 0.000599713168138376 0.0005440981648459337 0 0 0 1.4920684137687308e-05 -3102 -0.0006737264155967737 0.0008908725084017918 0 0 0 -3.253959638692316e-05 -6182 -0.0002114441733739737 0.0014159918118572467 0 0 0 2.3877612937418237e-05 -6200 -0.0004927006950175683 0.0011638201203242981 0 0 0 -8.197534791289501e-05 -6203 -0.0006079432830685534 0.0011310857657458387 0 0 0 9.190409799287824e-05 -6207 -0.00041127583704425434 0.0011240294327711407 0 0 0 -7.755663735855039e-05 -6251 0.00045206736260710093 0.0008605301645379137 0 0 0 -6.828211417850599e-05 -5341 -0.0006125698200435022 0.000286826936920202 0 0 0 -5.7412066227049966e-05 -6272 0.000814407078885467 0.0006733394185875512 0 0 0 -8.907242285939664e-05 -6279 -0.0003932302736611918 0.0003050174457973179 0 0 0 2.9617208943932544e-05 -6287 3.616522842510063e-05 0.0012297967074463572 0 0 0 0.000334900405337099 -6878 0.00014079839188367672 0.00011564865272398513 0 0 0 -3.128131292720298e-05 -6303 -0.0003664076410396593 0.0004443215184629493 0 0 0 -2.5630124631467676e-05 -6315 0.0006188593321074367 0.000808545123115314 0 0 0 -8.687920202185093e-05 -6357 -0.0005898473276176883 0.0011830931688514923 0 0 0 -3.82682211214416e-05 -4059 0.0002161159122642333 0.0004239371640567199 0 0 0 2.9590345299223987e-05 -6372 5.863560767178496e-07 0.001130547930208802 0 0 0 0.0002912835082092914 -6385 0.000328695817346496 0.0009578401564687864 0 0 0 -4.884181144255518e-06 -6387 -0.00032373360315359704 0.0006249568082614955 0 0 0 -0.00016364696481442587 -6427 -0.00046668907443625843 0.0012491743089805187 0 0 0 2.352951662356307e-05 -6132 0.00011146965548514197 0.00036356919184806543 0 0 0 0.00011484359888628071 -6455 -0.0004082831983920109 0.0004477229422647034 0 0 0 -2.6278290569347878e-05 -6999 -0.0001250123211484318 0.0004032050569927167 0 0 0 -3.9576070154002306e-05 -6497 0.0007552356116104421 0.00033910107364567465 0 0 0 0.00027050590103366314 -9002 -0.0005593292125687912 0.0008794236827237683 0 0 0 -3.204983141973245e-05 -6515 -0.000528475917856517 0.00019438210865388534 0 0 0 -2.739192546332383e-06 -6547 -0.0004321832004147802 0.0013650482256605042 0 0 0 -1.627046961753059e-05 -6553 -0.0005310972881348684 0.00019432167758919825 0 0 0 -9.713620239215802e-05 -6560 0.0011091993616079805 -0.0007297638346842025 0 0 0 -0.0006140874923864871 -6577 -0.00040557899325055876 0.00044618683293008493 0 0 0 -8.039904162394903e-06 -5887 -0.0006130711601591683 0.0002238982978025639 0 0 0 3.483043030036035e-05 -6583 -0.0003864498987784293 0.0015057507775320064 0 0 0 -2.922016780189884e-05 -6593 -0.00041203367063759365 0.0012905218316609523 0 0 0 0.00016226282709551495 -6605 0.000641077190029083 0.0008302770225459283 0 0 0 1.34053398427222e-05 -6100 -0.0006640077788968063 0.0007674684224772433 0 0 0 9.679761663662947e-05 -6622 0.0007565854361072985 0.0005282356897391426 0 0 0 -5.484532401040682e-05 -6624 -0.0004724229845740558 0.0005241409430245158 0 0 0 -0.00011329519676648661 -6655 -0.0005657449859657619 0.0008404586662440069 0 0 0 -1.3130433665968893e-05 -6679 0.0003675901873808921 0.0006575539598407832 0 0 0 0.00013137817376292996 -6692 0.0007346061948781769 0.0007566535458857632 0 0 0 -1.532755891560628e-05 -6709 -0.0005049421220881658 0.0012248359704990957 0 0 0 2.1000009535937516e-05 -6714 -2.8626919594433283e-05 0.0013643450858532957 0 0 0 -5.9813647837577574e-05 -7181 6.295000478007107e-05 0.00047207212377864513 0 0 0 0.0002217306064296222 -6776 6.987816740065302e-05 0.0013294460184844514 0 0 0 -7.087671838819053e-05 -6795 0.0001544639278508636 0.0010105770842959657 0 0 0 -0.00010992688482931705 -6798 0.00030726625786649784 0.0009378739081284697 0 0 0 -0.00014567167299946222 -3816 0.00011256064634542841 0.00048570142711116973 0 0 0 5.638814117646592e-05 -6853 -0.0006027406176825375 0.0007221261912182664 0 0 0 4.6414902995378266e-05 -6903 -9.106776638130312e-05 0.001175957488800175 0 0 0 1.0446596277600156e-05 -6906 -0.0024386814196668436 -0.0008017058415672111 0 0 0 -0.0010053878719323453 -6929 -0.00019427469106172114 0.0004371689492666428 0 0 0 0.00013086561734599515 -6938 0.00011931242274047297 0.0012698927993420382 0 0 0 -4.3031513023260885e-05 -6949 0.0007469005546648353 0.0006872823609534698 0 0 0 2.5599424227555808e-05 -6961 0.0004664355075771968 -0.0017572849161048229 0 0 0 -0.0008432234354647965 -8864 -0.000660499655204945 0.0008806859328294919 0 0 0 4.754758074124602e-05 -3090 0.00033021625457288657 0.0001746135451984495 0 0 0 -0.0001009265251618544 -6992 -0.0004372890710497882 0.001017608315995597 0 0 0 -0.0007675987513423301 -1157 -7.084850451180868e-05 0.00036405394460936336 0 0 0 1.3495947676470675e-05 -7045 0.0005108892893010026 0.000767750667812425 0 0 0 0.00013165545352443854 -7074 0.00016159149775155657 0.0006488911677867223 0 0 0 -0.0004771058091117566 -7080 -9.881137940411644e-05 0.0013815293253182147 0 0 0 -9.072161648649835e-05 -7092 -0.000300933332375935 0.00027600158691058367 0 0 0 -2.641284790530823e-06 -7103 0.00032039081112359775 0.0009985499698258037 0 0 0 -3.711643893264974e-06 -7106 -0.0005190259644418093 0.0007991736196846617 0 0 0 4.151719637940486e-05 -7118 -0.00047867601793148115 0.0011720222776060607 0 0 0 3.442545410473701e-05 -7125 -0.0002527270149732523 0.0003866169375199542 0 0 0 4.6109568777323324e-05 -7163 -0.0002592817762202643 0.0014294877534518084 0 0 0 -9.061478986552833e-05 -7173 0.00063361047726388 0.0006091078961382866 0 0 0 -1.908721830417367e-05 -7180 -0.0004242109006507594 0.0010927593145629664 0 0 0 1.013132177978199e-05 -7206 0.0008957168593115408 3.198076364932758e-05 0 0 0 0.0001451045963204691 -7241 0.0008890154904392826 8.608459401571023e-05 0 0 0 -0.00015878477409771684 -7258 0.0005321720071112502 0.0004386357788471299 0 0 0 -0.00025294039547304147 -7293 5.1963388773264867e-05 0.0011767072854512878 0 0 0 0.00015565539178539787 -7296 0.00047292045923605065 0.0007983240757988158 0 0 0 -0.00011786214020978011 -7305 -0.0006289107680668781 0.0009722089514109873 0 0 0 0.0001781971750699248 -7316 0.0006298798330907167 0.0005039420490768372 0 0 0 -7.828177673709675e-05 -7329 0.0005018709403874415 0.00059419543077543 0 0 0 2.179640633645333e-05 -3214 0.00020742088377174447 0.0006877323160750645 0 0 0 -0.00014554779397721822 -7351 0.0005336693376358875 0.0002949168765470394 0 0 0 -0.00023038397390635557 -3263 0.00046294210656013185 0.0005631101270459913 0 0 0 8.887056114672751e-05 -7397 4.970676315787848e-05 0.0012269594169765743 0 0 0 -5.7292815057690766e-05 -9945 -0.00044315738945579597 0.0012743011292215205 0 0 0 -0.00010061556739954216 -6719 -0.0005231416707998399 0.0009824036597233363 0 0 0 3.76946507629491e-05 -7448 -0.00015499794021825563 0.0010592796101995578 0 0 0 0.000165874757115068 -7472 0.0004681989134834153 0.0007185262876596909 0 0 0 -0.00017061210950395245 -7497 0.0007518294815792237 0.0004927810000639285 0 0 0 -7.240599746595552e-05 -7514 -5.132366782529103e-05 0.001022596388896027 0 0 0 0.0005096350482676007 -7516 -0.00048734301883624436 0.0012903599915101264 0 0 0 1.976040667163766e-06 -7522 0.0003331183145009729 0.0010562559590607237 0 0 0 -6.866331070109157e-05 -7533 -0.0004314060177594747 0.0011422233216516642 0 0 0 3.236324550145761e-05 -7572 1.8624678423167884e-05 0.000596925196051624 0 0 0 -0.00021621130438436215 -7589 0.00040072654573234957 0.0009780576000185187 0 0 0 -0.00011416680740626963 -7602 -0.00045889727651112297 0.0012233928038609951 0 0 0 0.00012281499777554852 -7613 0.00017454685012708953 0.0006363102676574499 0 0 0 -3.8671638929603814e-05 -951 6.846905213195492e-05 0.0005889766693343879 0 0 0 -1.2500544323299303e-06 -7660 -0.0006579599184412515 0.0009763720081896665 0 0 0 -2.0371588713983777e-05 -7683 -0.00028546724096925526 0.0003365071715680658 0 0 0 8.075398525288708e-05 -7690 -0.0004793675005858184 0.0003159820425803539 0 0 0 -1.3262688413703443e-05 -7712 -6.229296480898332e-05 0.0005561291958277694 0 0 0 -0.0003174968908251045 -7713 0.00034160708255924596 0.0006779607893584046 0 0 0 0.00013845909486247493 -7761 -0.00023262069943983166 0.00124591368454918 0 0 0 5.098159242779907e-05 -7889 -0.0005881113279423788 0.0004407445935491399 0 0 0 0.00010250311691438494 -7813 -0.00033396877457642803 0.0011603538189576901 0 0 0 2.845838252997243e-06 -3979 -2.1570614339160925e-05 0.0003514948539355433 0 0 0 2.2747269673934748e-05 -7872 0.0006726416581279328 0.0006103619178643389 0 0 0 6.965165075610944e-05 -7884 -0.0005673518814102316 0.0005727971094657835 0 0 0 0.0001909058077589551 -6830 -0.00028137427753809486 0.0002427259807940971 0 0 0 0.00016840802861024098 -7916 -0.00011519118776107867 0.0010166624119237145 0 0 0 -8.073839748323998e-05 -7917 0.00022713293750129904 0.0012021143356462695 0 0 0 -0.00010375562790134642 -9071 5.9609685754372623e-05 0.0005337616079922199 0 0 0 5.971835836966535e-05 -7978 -4.2621558136860155e-06 0.001066646626176348 0 0 0 0.000332348220509606 -8014 -0.00031771615656068543 0.00039411355591438015 0 0 0 1.0085891560493846e-05 -8025 0.0003975890052845204 0.000993347879052211 0 0 0 -0.00011976548007622987 -8070 -0.00036788533530672984 0.0014309406183176938 0 0 0 -7.515442019960217e-05 -8103 -6.696953383572721e-05 0.0010784252088851072 0 0 0 0.00015938229381585 -896 0.00015604757928359766 0.00021712081688762458 0 0 0 7.231206026826848e-05 -8155 -0.0001454069642944828 0.0009848132330585483 0 0 0 0.00020011241897595453 -8163 0.0007944985300534617 0.00023035272196961844 0 0 0 4.8753736778717415e-05 -8183 -0.0003429957469418036 0.0012045618686721024 0 0 0 0.0001073776220345662 -8189 -0.00035402975961248794 0.0007513515724174489 0 0 0 0.0003443760186156847 -8191 -0.00048512027585954285 0.001241876232127874 0 0 0 1.7922617136675634e-05 -8203 0.00042107316231223754 0.00101365322015908 0 0 0 0.0001003732697814064 -8255 0.00015828051826044238 0.0008679369549540796 0 0 0 4.6740608948784745e-05 -8259 -0.00041937837827007887 0.00047858605963264493 0 0 0 6.041714797497212e-06 -8521 0.00039429691597470644 0.0005800973320531131 0 0 0 3.5855255461891293e-05 -8327 0.00044951224211626833 0.0010069964627479058 0 0 0 -7.735615187865854e-05 -8347 0.00025402463284000186 0.0010474222428698686 0 0 0 -2.3361730500659266e-05 -8359 -0.0002575400115380147 0.001231651492976975 0 0 0 -0.00015031170361892647 -8380 -0.0004485632082822066 0.00036481229204650016 0 0 0 -2.7341355719681268e-05 -8383 0.0005427386756827078 0.0008947039863673341 0 0 0 -0.00028250739713299835 -8400 -0.0007073698687586909 0.0010000743678227086 0 0 0 0.00011229426535755745 -8412 0.00032721100947480863 0.0010233371034746165 0 0 0 -0.00016202131602143305 -8416 -0.0004217894384602314 0.0006369089683921639 0 0 0 -3.439636904647202e-06 -8424 -0.0006364047282668072 0.0005674393848084933 0 0 0 -0.00011104290062437278 -8426 -0.0001714383544613587 0.0005601715838332346 0 0 0 0.0003273538229065677 -8454 0.0002154281999044522 0.0005597266508529039 0 0 0 0.0005117526720677046 -8458 -0.0004964174241814661 0.0012801474302600359 0 0 0 2.3433496818319148e-05 -9995 -0.0003296310264019889 0.0003638476551017906 0 0 0 6.311131621883773e-06 -8496 -0.00034170838903024034 0.000555016781567202 0 0 0 2.4379249871540927e-05 -8499 0.0007722851066839162 0.0007043971761097557 0 0 0 -4.0501418644811455e-05 -8514 0.000418651803923926 0.00023589220860103458 0 0 0 0.0002514211402499169 -8525 0.00041563940237412575 0.000995413036924975 0 0 0 -5.3558734630479446e-05 -9984 -0.00039269899687585815 0.0006214250477998011 0 0 0 -1.3513477261628366e-05 -8535 -0.0004735149282821487 0.0013410561225344368 0 0 0 2.8291840749406964e-05 -8630 -0.00026611511902214374 0.0004030379524435644 0 0 0 2.3634687884996297e-05 -8640 0.00047195270308881995 0.0009943169310246362 0 0 0 2.2724620550636597e-05 -8645 0.0006101194404339622 0.000343279912420814 0 0 0 0.0001457349408546874 -8650 -0.0005412525413015324 0.00022752177058674565 0 0 0 0.0005682458745169596 -8660 -0.0003132468856382139 0.00033299948582581697 0 0 0 -5.513512157378044e-05 -6579 -0.0005949040310045537 0.00033557718980971015 0 0 0 1.6167250506677988e-06 -4333 -0.00023445171667373319 0.0006206300012403245 0 0 0 -0.0002087975639732532 -8680 -0.0003028848582558968 0.0003454465314664927 0 0 0 6.450118823579205e-05 -8733 0.00011698134310903039 0.0008672076807827985 0 0 0 -3.6758251954397736e-06 -8735 0.00037345357618257305 0.00029813261280892714 0 0 0 3.649914774438623e-05 -8746 0.0005974995984355082 0.0005581168996869472 0 0 0 -5.521892673753623e-05 -8785 -0.0033173573926261564 -0.003367849502209067 0 0 0 -0.0011671321587088362 -8808 -0.00039164055521782604 0.0014668383113672367 0 0 0 -1.9886062383477872e-05 -8835 -0.0004320131103761284 0.0014121698469505446 0 0 0 4.5211016802049116e-05 -8838 -0.00043359434209011446 0.0006818201177330851 0 0 0 0.0003229935152493856 -3356 -0.00012132312072423896 0.00039497142080258016 0 0 0 -7.762027891344298e-05 -8866 -0.0006496282882949269 0.0006548991298390792 0 0 0 7.977886911269346e-06 -8877 0.0001254365586758644 0.0007322951568788797 0 0 0 -0.00024427127937596426 -8888 0.0005512846131718764 0.0007883428157924858 0 0 0 -5.341198688671984e-05 -8911 -0.00047840895991243973 0.0008364355133054039 0 0 0 -0.00070641821225551 -2999 0.00029157773664586616 0.0002974867904691872 0 0 0 1.1450566864169175e-05 -8957 0.0007296896745745766 0.0004808866114895893 0 0 0 -1.4698490194631308e-05 -7387 -0.00043046699672432244 0.00027453294350387374 0 0 0 0.0006000264226995205 -1150 0.0002778849044453768 0.00035914020369178347 0 0 0 -4.10720275463399e-05 -9033 -0.00033465064829986657 0.0004334079461849185 0 0 0 4.3443640212318744e-05 -9040 -0.0001324465634906651 0.0005633008257085874 0 0 0 -0.0004539679297455283 -9061 -0.0005184299771872849 0.000277730591626032 0 0 0 4.527889869830942e-05 -9064 -0.00046401853600850745 0.0013359796664694883 0 0 0 1.8188518909370215e-05 -9078 0.0005826440660044687 0.0008122754922899467 0 0 0 -0.00010496852325607066 -9242 -0.0002855882246402877 0.0005103026458913261 0 0 0 -4.938553392704269e-05 -9103 -0.0004701494316804381 0.0011458546612372108 0 0 0 9.871408248117237e-05 -9142 -0.00024565094378060074 0.0004838104592948422 0 0 0 5.6391466333830136e-05 -9194 -0.0005101381057083293 0.0011452509818281008 0 0 0 -3.9920495864919374e-05 -9243 0.0005141284577511997 0.0005533076726662083 0 0 0 -8.456414380012022e-05 -9270 0.0006312917190986195 0.0005991673440810878 0 0 0 1.6062627242577837e-05 -7505 0.0007454483719020942 0.00047574542780829814 0 0 0 0.0003244849192303658 -9292 0.0005672262911725087 0.0005491872331017452 0 0 0 -0.00020652885931102393 -9324 0.0005273245569919626 0.0004058516176777453 0 0 0 9.261779772755055e-05 -9338 0.00025425178399312735 0.0005749141038410764 0 0 0 -0.00010080015935686108 -9384 1.5016141275774479e-05 0.0013195656729806503 0 0 0 -7.587222454997309e-05 -9414 -0.0003044460518787396 0.001250219732816718 0 0 0 7.875255173113096e-05 -9423 0.0002685069655454146 0.0012102146989658388 0 0 0 7.614428578492041e-05 -9425 0.00022746805558645938 0.0009340438741309223 0 0 0 8.200862993611711e-05 -8265 -0.0006590963751057707 0.0008004977464957178 0 0 0 1.3370644503996895e-05 -9448 7.424997091727687e-05 0.0005636879348934332 0 0 0 8.529721057979937e-05 -8028 0.0003198380467567195 0.00010474939871175947 0 0 0 -0.000352004370150048 -9457 0.0010114608354891454 0.00039446769358865034 0 0 0 -8.536908204184668e-05 -9463 0.0004767443752726003 0.0009271955590424288 0 0 0 9.279817645328252e-05 -2253 0.0005622530743093139 0.00032038575172451913 0 0 0 1.0678563350391359e-05 -9492 0.00032217857825362484 0.0008811924671603991 0 0 0 6.797769583836202e-05 -9493 -0.00038425767526048483 0.0014197774406968947 0 0 0 3.9119964416257635e-06 -9519 -0.0005466903911366954 0.0012567752008211604 0 0 0 2.651040858086693e-06 -9525 -0.0003853510646253842 0.001417512151462629 0 0 0 1.4945315349305346e-05 -9529 -0.0008984557015187641 -0.001065158282429746 0 0 0 2.602806923209132e-05 -9531 0.00023669835575544317 0.0011740689201106193 0 0 0 -0.0002002852534669542 -9533 -0.0005212358196656787 0.0008573071188972041 0 0 0 0.0002527246622937958 -6220 0.00019293768440489404 0.0001596961056475488 0 0 0 6.567393427596395e-05 -9541 -0.0006450708319073441 0.0006728781851587921 0 0 0 -7.181539785117513e-05 -9542 0.0003667007067929508 0.0008688673043191388 0 0 0 -8.778034183824714e-06 -9562 0.0007464592372515448 0.0007159375813651538 0 0 0 3.4859743058799494e-05 -9613 -0.0006532418017517548 0.0008731189509785049 0 0 0 1.5808086247687755e-05 -9623 -0.0006574566636810882 0.0007567400716232037 0 0 0 -6.445134022668299e-05 -5199 0.0008639948777560554 0.0002063431347739584 0 0 0 0.00015092620690342854 -9664 4.545619785561387e-05 0.0013654343324575452 0 0 0 8.998629795722499e-05 -2831 -0.0006452668880843466 0.0006772560716418409 0 0 0 -2.327776860023037e-05 -214 0.0005169246372643296 0.0005486348325763532 0 0 0 2.420135233286464e-06 -9691 -0.0005133102842093173 0.0002179125718848979 0 0 0 0.0001120537125761093 -1830 0.0004551029939556992 0.0004818786113990515 0 0 0 0.0001720023222261591 -9712 0.0003796288499485026 0.0009294995371536243 0 0 0 -8.491452146853558e-05 -9745 -0.00042514312717366017 0.0013349939063858533 0 0 0 3.2463977042167736e-05 -4314 -0.0007130387430755956 0.0008333692722058122 0 0 0 -4.815620142765733e-05 -9790 0.0006162640148446387 0.0007471492624619202 0 0 0 1.6287564883331112e-05 -9816 -0.0005697144870939898 0.00108320997236479 0 0 0 7.620713647842247e-05 -9817 0.0003955287532628377 0.0007071815159720849 0 0 0 -4.7672610882825153e-05 -9960 -0.00044462790102983056 0.0005136789560152173 0 0 0 5.646128062958055e-05 -9838 8.231147408380893e-05 0.0011332087686437623 0 0 0 -0.00014519361518132632 -9860 0.0003087719991844379 0.0009890710023386044 0 0 0 6.697906688783494e-05 -9869 0.0003124312636398902 0.001039013254069786 0 0 0 -4.388969138011771e-05 -9876 0.0005105379162459817 0.0005809207132779979 0 0 0 2.522759026364278e-05 -9886 0.0001301652245258977 0.0008316580817140153 0 0 0 -0.00011148976949240423 -9906 -0.00047593235977368663 0.001099788134683174 0 0 0 2.723019544681501e-05 -2187 -0.000505198383942489 0.0010759638597515903 0 0 0 3.8714636238096234e-05 -9913 -0.0004026418241891055 0.0013112143107519654 0 0 0 -0.00014743382860971617 -7137 0.0005326831045330174 0.00043612363997583975 0 0 0 0.00020956448598465367 -5986 -0.0004319283974784358 0.0009949164153631028 0 0 0 -2.816911808030033e-06 -9038 -0.0006821760056956731 0.000711377462316815 0 0 0 4.523172434010615e-05 -9447 0.00031611484407253386 0.00034278594088949687 0 0 0 -2.9072075455814972e-05 -2039 0.0002851743743460688 0.0003142530076226967 0 0 0 5.718554480036401e-05 -9383 -0.0004075659332185178 0.00037584520972080857 0 0 0 -0.00035803920499628643 -7072 -0.00013981859964720323 0.0003047224482791805 0 0 0 2.3699249091632437e-05 -787 0.00022130472440208844 0.00039531614254470146 0 0 0 -3.7580181945873484e-05 -6768 -0.00045260975637105404 0.0011133776148128792 0 0 0 3.929259983576117e-05 -8328 0.0004433506567364075 0.000511604555875077 0 0 0 -8.077576459916152e-05 -8774 -0.0006106372429138821 0.0008662138823969428 0 0 0 -5.0113067833668166e-05 -9784 -0.00013049647900598924 0.00014998950787821757 0 0 0 0.0005231507125759219 -5020 -3.329333413324998e-05 0.00044954292500732024 0 0 0 3.5436990446061386e-05 -1915 0.0004536627164513194 0.0005255335131555268 0 0 0 0.00013331685364214248 -3032 -0.0006722643550232189 0.0007405789124104562 0 0 0 1.28853350970938e-05 -5807 -0.00046845973001587545 0.00024167983343355602 0 0 0 -0.00024056867659781164 -8789 -0.0004214643250244653 0.0009656155687345592 0 0 0 4.807534855824675e-05 -7212 0.0005096433033647239 0.0005394387615115301 0 0 0 7.338373101493576e-06 -1507 -0.0006628360990753755 0.0008953497604724705 0 0 0 2.6339938457068888e-05 -9683 0.00022291015407495315 0.0003752426334138041 0 0 0 0.00016736727034906415 -3852 0.000637063561343624 0.000544563272447592 0 0 0 -0.00012823179354443242 -3921 0.000462721076273775 0.0003867651045024209 0 0 0 -0.00010717054877432903 -4752 -0.0005727167349191365 0.0010509341464298163 0 0 0 3.461176429883226e-05 -6893 0.00012195632605326411 0.000559055540148414 0 0 0 -0.00023928516926342006 -2468 -0.00033854015320578293 0.00026218341744915573 0 0 0 0.00017613874595052986 -631 -0.0004942357166438193 0.000270415455287107 0 0 0 9.26627281928081e-05 -5332 0.00015683110941990778 0.0005028318740998384 0 0 0 -0.0002861370996533499 -3050 1.5572989459042182e-05 0.00037507810333170126 0 0 0 4.5062237931219835e-05 -5875 8.259995029940119e-07 0.0005354640723346651 0 0 0 0.00017020035720050528 -5061 -0.0005269347835156504 0.00017381714823325525 0 0 0 -0.00010554980705140119 -1269 -0.00047674962174447275 0.00022571718931513148 0 0 0 0.00020142925658692403 -7846 -9.832053794573691e-05 0.00032171012277504524 0 0 0 9.315527057439458e-05 -4063 -0.00012736806129597848 0.0005006844213831803 0 0 0 -0.00010861092255828632 -5461 -0.00044695438468658494 0.00028584182924242744 0 0 0 5.323472561752965e-05 -5819 0.00016913242499912965 0.00034721305226558023 0 0 0 0.00017020595431513222 -111 0.0004522379071178994 0.0005084340749560172 0 0 0 1.6908970369500127e-05 -7946 -0.0006359633821681078 0.0010679767331994606 0 0 0 3.7637869282284764e-05 -3691 0.00032577449075883844 0.0003092882944192186 0 0 0 4.8144317263498166e-05 -5486 0.00022762131679340104 0.0004829111524344409 0 0 0 0.00034221677921935663 -7989 -0.00010989575620025341 0.0003777903432670046 0 0 0 -0.00021072193242624985 -6209 0.00043225190834292153 0.0005029974558705855 0 0 0 -0.0001569019568672607 -7121 -5.2728255584396604e-05 0.00036606004955456057 0 0 0 8.605780224371778e-05 -3466 -0.00041437587732111157 0.0009524737158360592 0 0 0 3.557126296763536e-05 -5657 8.187446143575938e-05 0.00037058093861964 0 0 0 4.083173796429558e-05 -8770 0.00020984429243277254 0.00032867060404492805 0 0 0 -0.00017854726943030184 -2355 -0.0005362918777243252 0.00021391033741715128 0 0 0 4.074187413020826e-05 -3872 -0.0003927429271110595 0.0015476263910335537 0 0 0 8.729055186693628e-05 -6912 0.0003174733342175775 0.00035471611412352333 0 0 0 -2.25383153651133e-05 -7845 0.0002895075464235501 0.0003554501188199077 0 0 0 -0.000428739491376833 -8075 -7.053492555113051e-05 0.0003322148840201728 0 0 0 -9.507803611972867e-05 -5126 0.0002681117305175417 0.0003867254823342997 0 0 0 -1.8120306429984773e-05 -9861 0.0001930158188245361 0.00043866397640077056 0 0 0 9.101618544267651e-05 -7187 -0.0007261116736568365 -0.0008763694349009861 0 0 0 -0.0005732231418425941 -3195 8.433142401054433e-05 0.00028427829732736055 0 0 0 5.6128503226016835e-05 -3108 0.0002827247665110618 0.00029727775713911587 0 0 0 -9.598484273176051e-06 -6342 -0.0004965549485199961 0.00021276443077629343 0 0 0 0.00048276059730599795 -6438 -0.0001433527184846308 0.00040002542651865246 0 0 0 0.00042356238394844405 -6519 0.00019835927680698578 0.00044834119862726155 0 0 0 7.169230264341977e-05 -2135 -0.0006637598852784502 0.0007571626250499217 0 0 0 3.2471428927295105e-05 -1496 -0.000671120735441338 0.0006874800641929962 0 0 0 1.2968200497631352e-06 -1715 -0.000460903095426906 0.00013911662950877315 0 0 0 0.00016066482406824206 -5893 -0.00012884159712908986 0.00017827337403435783 0 0 0 3.0325694664402368e-05 -6808 -0.000580920346262758 0.00012840833773571976 0 0 0 0.00024330430400654028 -7755 -0.0006002952463967235 -1.6172780925308265e-05 0 0 0 -8.597508780047071e-05 -8465 -0.0005607644448006388 0.00014724842063406685 0 0 0 0.00037782672562155514 -4789 -0.0004071412831283172 -1.6360013621725163e-05 0 0 0 2.664145484957103e-05 -8761 -0.0005927727825304968 0.00015439161557418104 0 0 0 -0.00034484610040716 -8066 -0.0005925480637390814 4.578248006361247e-05 0 0 0 -4.925927597693633e-05 -6522 -0.000669705374581087 0.000237784906253788 0 0 0 -2.7143137801682243e-05 -5443 -0.0004340665155709796 0.00015399755089227617 0 0 0 4.129886991242952e-05 -9305 -0.0003574320116657022 0.00018791022868447853 0 0 0 3.452703162510857e-05 -9047 -0.00048223935040041173 0.00026586016647395895 0 0 0 -0.00017427209514146792 -7557 -0.00047440870694561213 0.0001602947668419137 0 0 0 -2.6158030680387917e-05 -6590 -0.0003066732701085278 0.00038794899602181493 0 0 0 0.0005352604270240024 -4972 -0.0005759105464571444 0.00013788399707858286 0 0 0 0.00015423239664381894 -4078 -0.0005238232478955636 0.00016789770261688974 0 0 0 6.132612989763624e-05 -1171 -0.0005051929444427919 0.00018864662087771832 0 0 0 5.611710489628767e-05 -1693 -0.0005098618548915231 0.00015690400161911026 0 0 0 6.5938956937554e-05 -5054 -0.0005713341346025962 0.00016144541852359707 0 0 0 -0.00016368627187835234 -6964 -0.0006326000608567455 2.7348325350897045e-05 0 0 0 0.00015656571635665748 -3941 -0.0005570271501700976 1.3205749523582402e-05 0 0 0 9.59923430296501e-05 -2697 -0.00046793483668699837 -3.5760921352224505e-05 0 0 0 0.00010723352934833919 -8686 -0.0005396675669366299 -2.354236035327167e-05 0 0 0 -0.00024070865567198143 -7104 -0.0006266214675721718 -1.3252522271618774e-05 0 0 0 5.5819000860112785e-05 -3174 -0.0005516287091714187 0.00012945164703358992 0 0 0 1.694467626192969e-06 -4659 -0.0005407206565697005 0.00015820201808667588 0 0 0 4.614911524220888e-05 -8434 -0.0005439109539424787 0.0001606496887494962 0 0 0 0.000166499912363686 -9418 -0.0005731748586441419 0.00016569179420700646 0 0 0 -0.00013130285140484308 -8659 -0.0004764197198269463 0.00022197100038073993 0 0 0 -4.753251499147085e-05 -6860 -0.0005125149290447878 -1.3818994186936307e-06 0 0 0 -0.00036598449436468875 -7960 -0.0005559671242993145 0.00015201391403337245 0 0 0 0.00019071897805809235 -5917 -0.0008329418442358655 -0.00030645171743845154 0 0 0 0.0006294610886809259 -985 -0.0004347791041615949 -1.913942358426403e-05 0 0 0 -7.423482351431854e-05 -1863 -0.0004803221151551009 0.00020706093174894938 0 0 0 1.3314705193494695e-05 -2178 8.905888589876555e-05 0.00030067406941135645 0 0 0 -2.13827449688319e-05 -2037 0.0003062492421653669 6.091929037381356e-05 0 0 0 3.735053885765713e-05 -2943 -0.00041505807515710157 0.00024333318419223192 0 0 0 0.00015599806506486755 -1021 -0.0002749639084594377 0.00038189214769000817 0 0 0 0.00016538684728170118 -5583 -0.0006944181731991109 -0.0010038403416625507 0 0 0 0.0019836059938663003 -7701 -0.00017671279691305826 0.0002567157440289108 0 0 0 -1.8902113886691232e-05 -2316 0.00017416090758147736 0.00032947100970624803 0 0 0 6.180422397239335e-05 -2518 -0.0003414570961190533 0.00017587847357894315 0 0 0 4.882634896374969e-06 -7319 -0.00012274951951901034 -5.016487546207201e-05 0 0 0 -0.00010316944340803813 -3451 -0.00039817122719217274 0.00014365574423013902 0 0 0 0.0002731297426846806 -3148 -3.861243690070635e-05 4.867806086658348e-05 0 0 0 0.00015573612017815537 -6702 3.893479067417723e-05 0.0002578559767614396 0 0 0 6.533037962702609e-05 -3864 -0.0004365770574091965 0.00021970121092516515 0 0 0 3.755938883901862e-05 -7114 -0.00035939091788964435 0.0001217221207771381 0 0 0 0.00012040544966599366 -8724 -0.00024358767292886004 0.00018711014516406985 0 0 0 9.779825187654801e-05 -462 7.044198370108647e-05 0.00030531267129658973 0 0 0 2.9015307728755014e-05 -1316 -0.0003899355112877781 0.00018715525236164123 0 0 0 -5.155160525376642e-05 -820 -0.0002658708843784357 -3.3838255829030056e-05 0 0 0 8.307678599163067e-05 -2652 -0.00032766402858476446 -6.26495621667134e-05 0 0 0 -4.214990027750772e-05 -7702 3.765545752443064e-05 0.00020142902188867722 0 0 0 -2.819780133791193e-05 -3527 -0.0002801694884176745 0.0004475859953222167 0 0 0 -0.0002951819481404961 -6420 -0.0002536549787637006 0.0004628491131551928 0 0 0 -0.0003542197166840905 -9119 -0.0003456785387146279 0.00032437753610892623 0 0 0 -0.00023614380657761738 -2748 -0.00015391850278270724 0.0007014802854534256 0 0 0 -6.948050067419555e-05 -1572 2.2250933915045947e-05 9.035870444351667e-05 0 0 0 -7.147253147784968e-05 -2771 -0.00027610771692975216 0.00019410688745436457 0 0 0 0.00017297699794257445 -6987 -0.00029257518658014353 0.00014265070140866834 0 0 0 -5.573485547795126e-05 -5975 0.00039915896599389896 9.792410436422105e-05 0 0 0 -0.00018813710336232142 -6978 -0.00019619788039046255 0.0005538343287105991 0 0 0 0.0004227964231896076 -4070 -0.00041586137682734543 0.00023366617541026975 0 0 0 3.814840515022321e-05 -4563 -0.0002855436301452923 0.00018247601098329781 0 0 0 3.398579580356164e-05 -9091 6.093007580853266e-07 6.77164120670494e-05 0 0 0 4.017945192713912e-05 -7785 2.0916609353944654e-06 -6.586493229810289e-06 0 0 0 -1.9277688205350447e-05 -7996 -0.0001881667563552952 0.00018185809433993223 0 0 0 3.786568747515722e-05 -6476 3.68412407451714e-05 2.561590348503855e-05 0 0 0 -3.18432449024329e-05 -7798 -0.00013831458394806894 0.0003294099290333654 0 0 0 -0.00015274969783603747 -3307 -0.00021043874621434245 0.00015059943795952716 0 0 0 -2.02721880049112e-05 -1985 0.00018933376921779292 0.0003469903022041035 0 0 0 -1.9221921794304537e-05 -9494 -1.3522116887041108e-05 0.0003762703461859418 0 0 0 -3.2437331390777986e-05 -1250 -2.0145619666839122e-06 0.0005733181263732837 0 0 0 5.608458223418048e-06 -1687 -0.0001949690465963469 0.00014915154918316702 0 0 0 1.8316997985946615e-06 -371 -0.00016619196139553723 0.00022272257847701492 0 0 0 3.758689516043379e-05 -3635 -0.0001345362101361525 0.0001881747248273708 0 0 0 -1.4611319117540845e-05 -9517 -0.0001815477576166076 0.00026703448351140954 0 0 0 0.00011384865905381658 -2962 -0.00011090829974668924 0.000164724655730852 0 0 0 -3.40241170753204e-05 -5761 -9.355811717453615e-05 0.00016735004712639624 0 0 0 2.2425705187053804e-05 -1757 9.284258341689681e-06 0.00010449045375881183 0 0 0 -8.112578263287542e-05 -2227 1.7565355728503907e-06 0.0003179938697420088 0 0 0 0.0001409669528834079 -5517 -0.00015497527840478784 0.00020976061091914245 0 0 0 1.4553352859663192e-06 -3146 -0.0001435493853942848 0.00023286104013495014 0 0 0 5.951416885905545e-06 -9205 0.00025889995635072137 -0.00014342132945407084 0 0 0 5.770999935769547e-05 -9053 9.214437278721817e-05 -0.00033297090930360684 0 0 0 -0.0015136725745538064 -5309 0.00011766177875418733 -0.0004093865922573199 0 0 0 -0.0007899021048113988 -3456 0.00013834637317814962 -0.0004237535960076641 0 0 0 -0.0008599636878976177 -26 0.0004733104032075594 0.0006336515433352085 0 0 0 -1.7253389158114674e-05 -748 0.0007320589625467139 0.0011554015479577132 0 0 0 2.629150830332323e-05 -40 0.0007947875318495593 0.0009054300169076538 0 0 0 2.225597218368012e-05 -56 0.0005393583825084454 0.00033320733575610637 0 0 0 1.2222354095520244e-05 -59 0.0007687876846011303 0.0010052468087454929 0 0 0 3.7631630835906325e-06 -62 0.0007966061434963274 0.000977982348889357 0 0 0 3.8391209781680554e-06 -85 0.000876270895016037 0.0005057705227498428 0 0 0 -7.7301732169089e-06 -104 0.00045869105030086477 2.6267742860559976e-05 0 0 0 2.3837354505263346e-05 -1817 -8.156964159222633e-05 -0.0004405804275316438 0 0 0 -7.834007947143547e-05 -187 0.0007219679522549446 0.0008416957104903774 0 0 0 7.597962564330531e-07 -9809 0.0008271510446971381 0.0007517677534186422 0 0 0 5.3491161111802834e-05 -229 0.00020934006364512248 0.00024168651640445256 0 0 0 2.761274776522933e-05 -252 0.0009767244746906013 0.0005986066097583504 0 0 0 9.005446366867414e-06 -266 0.0005485429263292435 0.00013954360905821806 0 0 0 -3.4624261173007414e-05 -293 0.0002502464815163585 0.0003534438847056799 0 0 0 -3.0582761306722666e-05 -297 0.0005106962911044901 9.235301228917261e-05 0 0 0 -2.6797926337606612e-05 -326 0.0008432304852144716 0.001081272508221249 0 0 0 9.262380253537513e-06 -472 0.0008421637686216953 0.00025748059135114793 0 0 0 -1.932869218022921e-06 -383 0.0007254953236188225 0.0004407001721603084 0 0 0 1.335773715924819e-05 -391 0.0008338842410667631 0.0007283997138862904 0 0 0 -9.852384766664454e-06 -459 6.394051830035806e-05 -5.527767646487002e-05 0 0 0 -0.00018417314635791425 -466 0.0008014771732343694 0.0007273624001110101 0 0 0 -5.422669599262292e-07 -9867 0.0005226304526119054 0.00024769740145510344 0 0 0 -6.297187522917751e-05 -488 0.00012089984728625809 0.0001384719258540441 0 0 0 9.896083807626557e-06 -561 0.0006890014502843971 0.00047821806326127895 0 0 0 1.9786346251936784e-06 -564 0.0007551608456162224 0.0002424482281321949 0 0 0 -1.5853949334280612e-05 -570 0.0003421465224652436 0.0003271655940135807 0 0 0 -6.075057575387436e-05 -571 0.0006158384919475392 0.00015743849344248867 0 0 0 -2.628025918379288e-05 -585 0.0007222343404800855 0.000369126062411257 0 0 0 -1.1669702737960493e-05 -601 0.0009090395326511755 0.0006880511058273952 0 0 0 -1.6165850253600404e-05 -681 0.0004091386000880863 9.353583908612322e-05 0 0 0 2.000985333847022e-06 -1222 0.0009576128218044539 0.0003122781010326599 0 0 0 9.679136505720124e-06 -736 0.0001793376258680698 0.0002501325941768676 0 0 0 -3.973843502998952e-06 -740 0.0006658553683972043 0.0002618876233428519 0 0 0 2.1285189044629838e-05 -741 0.0010001732034563083 0.0003817186164521934 0 0 0 1.2321938732932582e-05 -2731 0.0002774073031144749 -0.00022159590925499022 0 0 0 0.00016018958134899288 -9402 0.0007541524743665762 0.00026905870252077574 0 0 0 0.0001959037651073372 -2700 0.000927837957908936 0.00032244525616954796 0 0 0 -2.0330721260553944e-05 -771 0.0005341657402469233 8.885154360633256e-05 0 0 0 1.8404912186759283e-05 -786 0.0007016560363873718 0.0001306196679224367 0 0 0 -4.28992413832406e-06 -789 0.0007186278043970044 0.0007800936501645798 0 0 0 1.2816593380181634e-05 -794 0.00023489638351907051 0.0005316006459012891 0 0 0 -7.932191144353805e-06 -802 0.00041942857367450917 0.0007403343546613055 0 0 0 6.144980353569786e-05 -803 0.0006460599556524644 0.0007858856889037688 0 0 0 4.811743698673466e-07 -7973 0.0008631776665067188 0.0003786776112656703 0 0 0 5.3429477027535636e-05 -6859 0.00023108316801921566 -5.592465636960304e-05 0 0 0 0.0003726121534560502 -4783 0.0009217089951442539 0.0002934366459643647 0 0 0 -5.1880625997596185e-05 -9815 0.0006638599620235336 0.00029003156401929107 0 0 0 0.0005788484089645357 -857 0.00019863040358155065 0.0004027260076887004 0 0 0 -4.948440637292547e-06 -908 0.0007724912263140859 0.0008780971331940823 0 0 0 -1.887082078526797e-06 -919 0.0008393614166846106 0.0007358713507872936 0 0 0 -1.549733972002327e-05 -920 3.880011410547829e-05 -0.00017557496209820035 0 0 0 0.00024014253421403577 -1000 0.0006078865174912026 0.0003299248762261758 0 0 0 6.749774986434692e-05 -1011 0.0007260788191077053 0.0009659436704319929 0 0 0 4.811180089507529e-05 -1028 0.0008413465364110793 0.0008746614910081474 0 0 0 -2.194075753607064e-05 -1061 0.000720660748951475 0.0006235633049673205 0 0 0 9.576894349050858e-06 -1088 0.0005583795301957296 0.0007745731020882713 0 0 0 -3.2370915656548785e-06 -1111 0.0007747591372160859 0.0007695116545143191 0 0 0 2.1995812842379978e-05 -148 0.0008866729628146625 0.00043078914350437396 0 0 0 2.622804872576221e-05 -1128 0.0006329289384050482 0.0003905096862651653 0 0 0 -1.079157702913843e-06 -1132 0.0007127963688503158 0.000566129229000464 0 0 0 -1.6771983611147687e-05 -1147 0.0006299348618295828 0.000805622936894102 0 0 0 -6.124669353824397e-05 -1160 -9.15674433027935e-05 -0.00017072118359108096 0 0 0 -0.0003029484360871567 -6226 4.3648861583540054e-05 0.0002838562505845276 0 0 0 -2.935550810189033e-05 -1168 -0.00020374271009208317 -3.849868060583035e-06 0 0 0 -4.8861425159961855e-05 -6129 0.0010903257976265543 -0.0005609020753245362 0 0 0 -0.0007376305287463663 -1183 0.000869069019438541 0.0004080689475902016 0 0 0 -3.088194606423983e-05 -1208 0.0005707941782247453 0.00010338828229271395 0 0 0 -4.83627232737716e-05 -1259 0.0007312210823966084 0.0005790516208792501 0 0 0 -1.0900182113805589e-05 -1260 0.0007498362263177208 0.0002149499029637559 0 0 0 -4.922464108067623e-06 -1273 0.0006007906599164107 0.0004830922319564245 0 0 0 8.945594395424168e-05 -1284 0.00035480866246962047 3.731852806370907e-05 0 0 0 -1.322010343320413e-05 -1287 0.0006334925843791679 0.00023601121689676642 0 0 0 -4.602747867592309e-05 -1294 0.0007082068881357436 0.00031004865504967655 0 0 0 -1.835947246141646e-05 -1308 0.0006603583881897362 0.0008060451611906427 0 0 0 -1.4723586879399165e-05 -1354 0.0008378693078947224 0.000697670463154869 0 0 0 7.62508535758169e-05 -4042 0.000945439602705925 0.001163829753067005 0 0 0 5.9302171449192567e-05 -1366 0.0007840890957007454 0.0011014823769237266 0 0 0 1.930876094095053e-05 -1408 0.0007089879144450186 0.000520295582594777 0 0 0 -8.717734311640437e-06 -1416 0.0008343829020057502 0.0008463452614827616 0 0 0 -5.145679655532328e-06 -1426 0.00015269509195681887 -0.00012638579080050992 0 0 0 -0.0004109710232955405 -6780 0.0008487580874142644 0.0012563677842827813 0 0 0 -7.988208124855505e-07 -1468 0.0003659680628651344 0.0006947450560716979 0 0 0 4.07343350369444e-05 -486 0.0008963687984614924 0.0003185918961016704 0 0 0 1.71942441356823e-05 -4202 0.00047128455819577534 -0.00011372470605129219 0 0 0 2.9605545775219413e-05 -1480 0.000834099747119012 0.0007827796292855389 0 0 0 9.759018791484882e-06 -1536 0.0002395487331344354 3.669582264514372e-05 0 0 0 -3.4776794952447674e-05 -1539 0.0004866347686679509 0.0007300834986570867 0 0 0 1.3851775442693716e-05 -1546 0.00010244353664845374 5.162810791446896e-05 0 0 0 -6.961889896244087e-05 -1559 0.000831093297878296 0.0008171112563312205 0 0 0 -3.551007764473067e-05 -1566 0.0006988262852686853 0.0004989356343562785 0 0 0 1.0616828206464682e-05 -9424 0.0005293383368788455 0.00012528149077745796 0 0 0 -8.33516298880225e-06 -1583 0.0005815006418655854 0.00045414247597576205 0 0 0 -5.457030795292479e-05 -829 0.0010175725408292562 0.00047589971668220876 0 0 0 1.9370991491684466e-05 -7413 0.0008689180974235002 0.001281466219436769 0 0 0 6.293896776136601e-05 -1667 0.0006032924130422303 0.00017105660640117713 0 0 0 -8.465509774168153e-06 -1684 -0.00020428095262940973 -6.96700885839306e-05 0 0 0 2.048865995655094e-05 -1690 0.0007101950378637828 0.0008830023963567763 0 0 0 1.6920965762973384e-05 -1756 0.0001032932730939794 0.0001485079469433787 0 0 0 -0.0005528630879387345 -1759 0.0005445985309555729 0.00022390789897605576 0 0 0 6.15714820041166e-05 -1786 0.00031541319257193665 0.00011730136781127668 0 0 0 -0.00018979479790293144 -7538 0.00034182001072998174 0.00013110663510059118 0 0 0 -0.00016804923163463343 -1816 0.00020590876223991448 0.00025346365682107403 0 0 0 -2.5368809955560736e-05 -1824 0.000835054175821691 0.0007760903562133119 0 0 0 4.3285642401823193e-05 -1833 0.0005591544532007623 0.000695308493378666 0 0 0 -1.1802960493751823e-05 -1849 0.0007733526632476025 0.0007674642742727944 0 0 0 0.00012854139630377487 -1861 0.0007880679416613581 0.0007775392529751125 0 0 0 1.984339551827515e-05 -1862 0.00018237661359302607 9.60871160474423e-05 0 0 0 5.812765659089143e-05 -1873 0.0008356897615196124 0.0007972223225661779 0 0 0 -1.340090560041285e-05 -1875 0.000237261495628973 0.00025536903622120434 0 0 0 -0.00018731171084706747 -8963 0.0008345381409230995 0.001150228473877897 0 0 0 4.810937481763124e-05 -3068 0.0009652052217121521 0.00047913866918492947 0 0 0 1.2421320109578857e-05 -1918 0.0005345350140319068 0.0003385608628616951 0 0 0 -0.00011681188054994378 -1927 0.0005167971125975675 0.00024290822573330413 0 0 0 2.3680954710573622e-05 -1938 0.00021186563868136636 0.00029028666198032766 0 0 0 -1.9359396377216374e-05 -1965 4.260607172954268e-05 -4.80323951493316e-05 0 0 0 -0.00013387602561446395 -9079 0.000779885894956003 0.0009705521197024533 0 0 0 2.392134307675966e-05 -9787 0.0006025193904284303 0.0005086965554042974 0 0 0 -0.0002962850082006094 -2018 0.0005280319674379965 0.0004884881228246372 0 0 0 0.00014254220868449618 -5025 0.0009759628437248806 0.00043102559727317203 0 0 0 3.038195961496822e-05 -2049 0.0007756383408678902 0.0008413114188378512 0 0 0 -4.52005235319846e-05 -2089 0.0008007321119843533 0.0006139645194163147 0 0 0 0.00013918566788637143 -2097 0.0006629744623364498 0.0003814591694817173 0 0 0 1.8379360751671352e-05 -2120 0.00048215758826573895 0.0006571513171858499 0 0 0 -1.9623043527714644e-05 -2122 0.0005309686428749326 5.523982121939269e-06 0 0 0 -1.077795821162101e-05 -2415 0.000778022721645656 0.0010148192203115337 0 0 0 1.879752242765911e-05 -3605 0.0008285984490751265 0.00038659631057267127 0 0 0 -9.032341251901238e-06 -800 0.0003318689971667311 -1.527609861887399e-05 0 0 0 -3.0245919661278593e-06 -4037 0.0008164671231088372 0.0009191291749839225 0 0 0 1.4857930805014742e-05 -2245 0.0005201012958953688 0.0003457863080144332 0 0 0 7.686150664515323e-05 -4576 0.0009680790416268377 0.00047555400635493074 0 0 0 2.107558747443411e-05 -2262 0.0007745513868761525 0.0006884146709328101 0 0 0 -5.14834588204146e-06 -2984 0.00091559798445729 0.00032626061016198245 0 0 0 -8.94421914093989e-06 -2300 0.0008025462725809118 0.000810044130644252 0 0 0 5.2344442133878085e-05 -2373 0.0008440927910598592 0.0008135619859172045 0 0 0 3.007442765157831e-05 -2380 0.00020982208895696847 0.000358614114155954 0 0 0 -5.374197741847477e-06 -2391 -0.0002160007833389268 -4.7269328994839913e-05 0 0 0 6.033961711614871e-05 -9135 0.0009510711442505784 0.0011195765694480505 0 0 0 -0.00017070340427677928 -2411 0.0007384163791588754 0.0009196711837726712 0 0 0 1.67876890055026e-05 -9700 0.0007542195990089832 0.00021394766810444785 0 0 0 -1.1144510435285231e-05 -2416 0.0007290464428370929 0.00048675699539649534 0 0 0 -1.2726515481069893e-05 -9841 -8.417468045685557e-05 1.2461732217377396e-05 0 0 0 0.00016249344429920758 -2466 0.0005220717653598618 9.692022643955652e-05 0 0 0 -7.306551763791647e-06 -2506 0.0005489396193314724 0.0007649947378738602 0 0 0 -1.6722363893853456e-05 -2558 0.000788376218755826 0.0008982054526944402 0 0 0 5.766805004050183e-05 -2581 0.00043098002097386747 0.0003269297962147145 0 0 0 0.0001353161398009468 -2584 0.0007679985668773284 0.0008132896796009553 0 0 0 4.626275879720477e-06 -2599 0.0007598183623557238 0.0008508343484686828 0 0 0 2.966285610146103e-05 -2607 0.0008143582914949132 0.0008484923512987028 0 0 0 -3.7965207379121017e-05 -2633 0.0005600670159606071 0.0003212579933170687 0 0 0 -8.668398168468829e-06 -2662 0.0008027235734130876 0.0008985290305044588 0 0 0 -8.356978005947958e-06 -5090 5.0268828739801163e-05 -3.146308500745376e-05 0 0 0 -0.00012063368951450288 -1163 0.0003564810711706545 0.00019426168700046968 0 0 0 5.148877471838436e-05 -2703 0.0006212844398216814 0.00011429746902436033 0 0 0 -1.5831677124764348e-05 -2742 0.00026055273010022246 0.00044575679576573657 0 0 0 -1.2473052905344262e-05 -2750 0.0006874540428376105 0.00029218599212618306 0 0 0 -3.2711168793561735e-05 -3709 0.0002777330314364724 0.0005119651827637919 0 0 0 -3.7115456197921344e-05 -2785 0.0005761696779378531 0.00013582792367131452 0 0 0 -2.916827282942491e-05 -9356 0.0008063485651986498 0.0006751510465949295 0 0 0 3.0899963006420196e-05 -2867 0.00024123783100594035 0.0004895233374455308 0 0 0 -1.1404182308560434e-05 -2878 -0.00021891349114698037 -1.9207442995722324e-05 0 0 0 5.380480764521459e-06 -3403 0.0007983780819118306 0.0010182294670691657 0 0 0 1.4561726284141774e-05 -2951 0.0005267445564845172 0.00033199647686719817 0 0 0 0.00020804891731219586 -2989 0.0007197669618013436 0.00042979193456405365 0 0 0 3.699844878542615e-05 -3018 0.00044581434921200366 3.083424701745343e-05 0 0 0 -4.19213900941355e-08 -3029 0.0008302895496826081 0.001095084616651113 0 0 0 -1.2039131566839555e-05 -3035 0.0005721365636641753 0.0007038859511701742 0 0 0 3.623596655834126e-05 -4013 0.0005464490049801753 0.00020579208457439932 0 0 0 9.56808541559407e-06 -3371 0.0008884049483871267 0.0011175608654620409 0 0 0 0.00014639297254124439 -1266 0.0009744102992867241 0.0003552975335835054 0 0 0 -1.0895116054584859e-05 -3136 0.0008627865125492133 0.000414184455318507 0 0 0 4.5576143852367e-05 -3158 4.4972398452961945e-05 -0.00010263752135788833 0 0 0 0.00048069152031510106 -3230 0.0001742184747898058 -7.331364126016748e-06 0 0 0 3.4824611788965764e-05 -3279 -3.383850314789191e-05 -0.0005520188874778561 0 0 0 -0.0001868865458828171 -3337 -5.037278905159338e-05 1.2456546573937161e-05 0 0 0 6.318907185033756e-05 -3348 0.0002657440850271565 0.0006236699175414899 0 0 0 -1.7555943079587748e-05 -9639 0.0007070748083412503 0.0005353870039500364 0 0 0 -3.437203176107455e-05 -3373 0.0007240805809581324 0.0003564625058664527 0 0 0 1.0859174468257928e-05 -7417 0.0007855645755483566 0.0005875717695580832 0 0 0 2.3365140090557906e-05 -3499 8.573936362364849e-05 -0.00019213307798832563 0 0 0 -0.00042893126916363053 -3554 0.0006905978845529335 0.0004470770148451324 0 0 0 1.466483730530997e-05 -3557 0.0006247390923388458 0.00013923369226336596 0 0 0 -1.9768301200143082e-05 -9024 -0.00010542709008874085 -6.465605903405388e-05 0 0 0 0.000580133069043539 -3598 0.0004415879662764166 0.0008211496202511037 0 0 0 -0.00010362709171362536 -3624 0.00016917546654565032 0.0001344633019802661 0 0 0 -8.901535349948338e-05 -3632 0.0007787403270149561 0.0009667459349778451 0 0 0 1.589832563103408e-06 -3593 0.0007512992393047466 0.0004445370432495967 0 0 0 8.221176486730056e-05 -3653 0.0007300047657209062 0.0009159101672681661 0 0 0 4.845676811616472e-05 -3655 0.00022930910744727338 0.0003655935398971274 0 0 0 -2.2867744004009087e-05 -3673 -0.00012212627358126443 -9.297663298837393e-05 0 0 0 -0.00019826043592312585 -3681 0.0006695747241562791 0.00042438466068219063 0 0 0 -5.434976521254597e-05 -4179 0.0009674144355843972 0.0003462763917757557 0 0 0 -3.056074725626395e-05 -3727 0.0007764165652906929 0.0002606178134527816 0 0 0 -4.229357032694475e-06 -3729 0.0004264218254667474 0.0004074680677313793 0 0 0 0.0002315166485577725 -3746 0.0007056013075072467 0.00032842185801741365 0 0 0 0.00010137565979671491 -3759 0.00013667003548008814 0.00023003922204116434 0 0 0 -7.833179747975471e-05 -3765 -0.00020641720934943194 -0.00012561948589922186 0 0 0 8.672382814008522e-05 -3792 0.0007492293643935769 0.0007344142713103756 0 0 0 -4.6899949601879415e-05 -6224 0.0007857996828633187 0.0009981823166107494 0 0 0 1.1903138888358248e-05 -3830 0.0006084818210306703 0.00012252026006515866 0 0 0 0.00010272559465174015 -3849 0.0007393711162273606 0.0003452967951847164 0 0 0 2.1381847297206834e-05 -9730 0.0007023250035788357 0.0006099418770956526 0 0 0 -2.9227321231057084e-05 -3895 0.0005778812815184791 0.00023886857409322081 0 0 0 -0.00014517466023121218 -3910 0.0004551566550059432 -8.339328349163031e-05 0 0 0 1.5465279638101187e-05 -3945 0.00031940572605105585 6.341556861004818e-05 0 0 0 9.75432185607831e-05 -3953 0.000826739207326419 0.000912245998551611 0 0 0 -5.1030793671407994e-06 -3957 0.0006041886372639288 0.0008267750719905035 0 0 0 -4.149149983601833e-05 -3958 0.00081816445285144 0.000751980641584532 0 0 0 3.017391252578402e-06 -3422 0.0008861938957022059 0.0003715812810338751 0 0 0 1.3661322286371635e-05 -3978 0.0007118130141267872 0.0009040460370610622 0 0 0 1.2731724013563956e-05 -3981 0.0007906344428354976 0.0006465318949817258 0 0 0 -0.00019846494057889426 -4001 -0.0002301034037389278 -5.8866022961877715e-05 0 0 0 -6.183174106249094e-05 -2942 0.0007891637774657313 0.0010020013519918658 0 0 0 -2.5381900265579498e-05 -4015 0.0006939873556819873 0.0005454849370480072 0 0 0 7.243228512321513e-06 -4018 9.668825589989981e-05 0.00011318811069140269 0 0 0 0.0008325813953761078 -1969 0.000862467939219 0.00027489581142354255 0 0 0 -5.300522097471892e-06 -6689 0.0007443292181129561 0.0009797386909113697 0 0 0 1.009817875589865e-05 -4077 0.0008125536443684911 0.0008387401402333254 0 0 0 9.399540098207942e-06 -927 -0.00021977488859114413 -0.0001933448280854833 0 0 0 -0.00014358100322214363 -4104 0.0005479602468352896 0.00010843881896860519 0 0 0 -3.891898917930203e-05 -4122 0.0007205054441978214 0.0008945526039156482 0 0 0 1.6740199532057725e-05 -4130 0.0007539021963757477 0.0008762385995238227 0 0 0 -9.071622289065151e-05 -4219 0.0005841183157007859 0.0005361172712896261 0 0 0 0.00020198765637350832 -4226 0.0007194570681298712 0.000902697723807846 0 0 0 -1.58922955054205e-05 -4284 0.0006778299590452296 0.0002986196948550468 0 0 0 1.4796987420573485e-05 -4287 0.0008252824446026469 0.0009311836378775114 0 0 0 4.643867370259551e-07 -4297 0.000539000774821456 0.00012866028258236309 0 0 0 -8.818512981158194e-05 -2032 0.0008192657053010886 0.001071778071865387 0 0 0 6.811595826827246e-06 -4366 0.000758238901017656 0.0009401863397052654 0 0 0 3.7507751076376994e-05 -4391 0.0007548874163763544 0.00017803429087388223 0 0 0 -3.408239826608253e-05 -8639 0.0005407983547631481 0.00015541707723447075 0 0 0 0.00018725350389860805 -9357 0.000996437537553602 0.0003622295756271879 0 0 0 5.1054064125330645e-05 -4456 0.0009634377170316781 0.000787217716655603 0 0 0 4.792296972577412e-05 -4468 0.0002586202331571892 0.00041598862447295447 0 0 0 -5.590693625546257e-06 -4478 0.0007114065479467774 0.0004258718062257731 0 0 0 4.827251745119211e-05 -4492 0.00031023490639347216 0.000312116318386251 0 0 0 -0.00016134419201943652 -9759 0.0008044199407491768 0.0010165610482781454 0 0 0 -3.5221557572058714e-05 -7863 0.0009573193723930967 0.0006379785925699361 0 0 0 0.00011298475425451198 -4519 0.000855461917855409 0.0004422610380575775 0 0 0 3.5108351750583674e-05 -4533 0.0005851879234598535 0.00070446164070146 0 0 0 -4.309524917846441e-05 -4551 0.0007797776008774509 0.0006554627862285743 0 0 0 -7.572272302303087e-05 -4571 0.0008299348633399339 0.0008595485438935359 0 0 0 -6.0133484548226475e-05 -4584 0.0001766688380754909 0.00020072041064298393 0 0 0 0.00011437582085583144 -4602 0.00046909334158530915 -1.5089784933824899e-05 0 0 0 -7.06118788009464e-05 -9765 0.0006667900951364278 0.0003941899882796975 0 0 0 -0.00010675052717875042 -4627 0.0007368053912448475 0.0008872757157191162 0 0 0 2.9952001591454277e-05 -4646 0.0006153726697715176 9.524920576538849e-05 0 0 0 5.4532135886111905e-06 -4648 0.0006517620557281975 0.0009622346482341009 0 0 0 1.1096896380970084e-05 -4687 0.0007803739521634224 0.0008571190014631987 0 0 0 2.144762657418135e-05 -4694 0.0008182463085341092 0.0009550650129639517 0 0 0 -8.374429671627505e-05 -4697 0.0003654546514800678 7.35017733127082e-05 0 0 0 0.0002816292025387762 -4707 0.0002887618651997881 4.9313039652951496e-05 0 0 0 -0.00027545181719426426 -4738 0.0008530694111283334 0.0008761637830309143 0 0 0 -9.36586783600504e-05 -4768 0.0008687075340826577 0.0008474363162515783 0 0 0 0.00013679060355507744 -8436 0.0007960290062115457 0.0009271490788143989 0 0 0 4.571046660158339e-05 -4787 0.000709685418406863 0.00033157151804237784 0 0 0 -3.071403932416973e-05 -4794 0.0008242799395506807 0.0007997512811911597 0 0 0 -3.924543422781909e-05 -9272 0.0006980658434000944 0.00036384870301387216 0 0 0 -0.0001444603085470367 -4804 0.0004979622501560203 -4.7414941657420723e-05 0 0 0 -1.634490749546824e-06 -4934 0.0006923379091544717 0.00023756570856387245 0 0 0 9.41470698150465e-05 -4951 0.0025055765741254198 5.309050543310448e-05 0 0 0 -0.0010596752998978057 -8540 0.002085911448210376 -0.0006589959895277737 0 0 0 -0.0001754214937955215 -4969 4.89015051756679e-05 -2.1362841634757573e-05 0 0 0 -0.0006352422189093026 -2802 0.0009017936094067952 0.00026986991540479906 0 0 0 8.511031124070845e-06 -4992 0.0008115143859109957 0.0008944023199900063 0 0 0 -3.240567906802067e-05 -2176 0.0007792562581841142 0.0009533393252997504 0 0 0 -3.249119379272226e-05 -5018 0.0006973815676675166 0.00039904055848380307 0 0 0 -6.587160149683374e-05 -5065 0.0007127157345050104 0.0001810430464437572 0 0 0 -7.131034620847574e-08 -5070 0.0006896749476913703 0.0008462018207841705 0 0 0 -9.728937169740077e-05 -9594 0.0012133077500136 0.0015192977498922392 0 0 0 -0.00022728533735279265 -5102 -0.0001688372455111125 -2.6065379996529467e-05 0 0 0 -0.00012784286071644606 -1337 -2.8122174850412702e-05 4.811408127681142e-05 0 0 0 -5.991019565136672e-05 -5116 0.0008080749643474203 0.0009032989577693626 0 0 0 6.33975584543011e-05 -5157 0.0007168331179164062 0.000643870853800648 0 0 0 -3.0767671038956754e-05 -4089 0.0004438074312714904 -0.00013296264461118236 0 0 0 3.126508455988959e-05 -5163 0.00048523888684455106 0.00032011719546713274 0 0 0 9.759960162205075e-07 -7654 0.0008033283679431999 0.001054242699278641 0 0 0 3.826500801574623e-05 -5185 0.0007870110615676748 0.0010473179167803657 0 0 0 3.375946573141881e-05 -5189 0.0007633498495276016 0.00023942946405794337 0 0 0 5.104380520779039e-06 -5191 0.0007190606195614875 0.0004391621857442674 0 0 0 2.6815238862840616e-05 -4166 0.0009594126577560127 0.0011996804770478618 0 0 0 -0.0002871808269677819 -5202 9.124430059375817e-05 -0.0004137119116780414 0 0 0 0.0003248637430926072 -8278 0.0005389345803144441 0.0004402360425250358 0 0 0 0.001838367497967664 -5270 0.00010383929818063979 3.2985328445736805e-05 0 0 0 -0.00033643979370369506 -5292 0.0008175503402795584 0.0007118143946890614 0 0 0 -3.208852508114855e-05 -5297 0.0007202406272925941 0.00044402148721152856 0 0 0 -4.791440531420546e-05 -3221 0.00022382254499537737 1.945096155564017e-06 0 0 0 1.1311108142597061e-05 -5323 0.0008277432710390038 0.0006664967160440637 0 0 0 -2.2019768426973653e-05 -5349 0.0005518690593845616 0.00037144431545143886 0 0 0 -1.201556719526991e-05 -6267 0.0005635431892732558 0.0006078044349277362 0 0 0 5.166217527752432e-05 -5368 0.0007692483605609927 0.0007803454918757857 0 0 0 6.9927638026319645e-06 -1941 0.00024676902349305595 0.00028294254304937993 0 0 0 -1.2020205522906944e-05 -5407 0.0007089428568923894 0.00040982864512297245 0 0 0 -2.9534692725581492e-05 -5408 0.0006929819272944331 0.0008483728611955238 0 0 0 -5.286151461794101e-06 -5445 0.0005377967234193528 0.00013998434732031358 0 0 0 2.3379893980120394e-05 -5462 0.00060860321939597 0.00029641098056669055 0 0 0 4.5961232342575405e-05 -5468 0.000546436109657638 0.00012870578479007451 0 0 0 2.4651379935486716e-05 -5478 -0.00015554487196963156 -0.00013876546368519265 0 0 0 -0.0003590879823546525 -3120 0.0002659610516681193 9.484145686284235e-06 0 0 0 -0.0003174111611804838 -5490 0.0006061942158050177 0.0003527688953197424 0 0 0 3.928677587663941e-05 -5529 0.0008406791543359826 0.0008540337014501654 0 0 0 8.602783853046935e-05 -5646 0.0002528198227012862 0.00010008598813925849 0 0 0 -3.8918679377812426e-05 -5675 0.0007213124600833154 0.0008600459251572129 0 0 0 -1.8777467820250408e-07 -5704 0.000846214921456323 0.00026210142812355504 0 0 0 -2.1247851102540717e-05 -3686 2.0469126605313534e-05 -0.0001718252940198017 0 0 0 -6.85705600922898e-05 -5772 0.0007804140200059825 0.0007062578350612468 0 0 0 -0.00026356139430488827 -5794 0.0002100564675511283 -1.485629043441192e-05 0 0 0 -0.00032607474945446364 -5797 0.0018462238438930962 0.0001507753182505548 0 0 0 -0.0006665687166525853 -5825 0.0025011857033182244 -0.002022047692842115 0 0 0 -0.0014098240080500485 -5862 -5.9769219751878495e-05 0.0001669190804752206 0 0 0 -8.560143977747897e-05 -5899 0.0007374364981254109 0.0001776795968531369 0 0 0 -1.6497356740566664e-05 -5915 9.995595423913979e-05 -5.168196448776579e-05 0 0 0 5.911956067239321e-05 -5923 0.000652799162825102 0.00042831130402262534 0 0 0 -0.00010234234375236679 -5936 0.00024571457645628186 0.0004823928754781971 0 0 0 2.0761481696266557e-05 -5961 0.0009603736914007335 0.0004823677078554403 0 0 0 -8.339256905227391e-05 -8437 0.0007732244268258614 0.00022214990118630293 0 0 0 -4.034060526818921e-05 -5994 0.0005940195628361188 0.00037021886615397494 0 0 0 -0.00010801031163900969 -6003 0.0007281702323427587 0.00046204543474411984 0 0 0 -8.826752407853719e-05 -8616 0.0002929912469021568 0.00012861901497760735 0 0 0 -0.0003544169752324843 -6040 0.0007023675530108772 0.00048700461909242546 0 0 0 5.8894266849598695e-05 -6058 0.0006457431451184232 0.0007836097603586445 0 0 0 -5.651196251988433e-05 -9583 0.0014382420473930371 -0.00011182162123016192 0 0 0 0.0016213510394564035 -1991 0.0006894291502197015 0.0008528725845134078 0 0 0 2.8852118272807666e-06 -6169 0.0006082014897678227 0.0001704566417844783 0 0 0 4.056147215639234e-06 -101 0.0008146950507686845 0.001240313770639137 0 0 0 1.8861801672807596e-05 -9999 0.0006410527585183686 0.0007385143664659253 0 0 0 -5.654404316978776e-05 -329 0.0008603681977721655 0.00025132451908804147 0 0 0 -1.410889518947343e-05 -6234 0.0005637198978422806 0.00015334164818398788 0 0 0 -4.7765374224762e-05 -6246 0.00021570822854603697 -0.0002794764893339839 0 0 0 -0.001331096194656943 -4895 0.0006394388235495673 0.0008236386082988307 0 0 0 4.072739192072902e-05 -6300 -7.698924477034599e-05 -0.0006868696279279886 0 0 0 0.00042515626721068684 -6323 0.0005778917415036863 0.0007926795741353891 0 0 0 2.78078529514653e-05 -6328 0.0007396847994811045 0.0005651914324890927 0 0 0 6.940100423329818e-05 -6343 0.0007200899887068207 0.0005982505883849654 0 0 0 2.6956990013414222e-05 -6363 0.0007140491978317237 0.00018106138653057542 0 0 0 -6.310361304813555e-05 -6390 0.0002609012231812176 0.0004049886895093837 0 0 0 8.957619872456852e-06 -6423 0.0007773750678475203 0.0006670729879638896 0 0 0 1.0614921296091798e-05 -6426 0.0006898497747972244 0.000624821919568431 0 0 0 5.93346006470322e-05 -8758 0.000872487363021941 0.0002990873116807525 0 0 0 2.0765843618476534e-05 -9390 -0.00020391143783706425 -3.1868115059373636e-07 0 0 0 0.00011759159233520944 -6496 0.000730391537578904 0.0007122405329715881 0 0 0 -0.0005572039494139824 -6986 0.0005262164182090929 0.00020325448020349295 0 0 0 -0.00015001408225898884 -9904 0.0005966490777074497 0.0007662152408453404 0 0 0 2.0809892716102772e-05 -6527 6.191470174092008e-05 -0.00010203920985323592 0 0 0 -6.220918426742056e-05 -6561 0.0007411875015730541 0.00035141341825717923 0 0 0 -3.914033566929118e-05 -9915 0.0007113110871846455 0.0009043739693440998 0 0 0 -0.00010788963294388984 -9887 0.0008299443871355402 0.0007885253929676094 0 0 0 -2.7172543276163095e-06 -6623 2.247497890805559e-05 0.0002469486343830669 0 0 0 -0.000107395002038233 -6635 0.0007067843706255446 0.0005921061427247294 0 0 0 4.10291706756905e-06 -6690 9.200226362764945e-05 3.4486169791237285e-05 0 0 0 -0.0006580157875498159 -6710 0.0008088192284573443 0.0009276858459955537 0 0 0 2.374046615747426e-05 -6720 0.0006843724852206198 0.000790179842865193 0 0 0 -4.884374859089635e-05 -2367 0.0010963853073246725 0.001207615791277529 0 0 0 1.4362743257281365e-05 -6737 0.0007829975573288287 0.0006581391949760778 0 0 0 -5.870126580861022e-05 -6744 0.0005832893657749411 0.00023984836225708506 0 0 0 -0.000528142312715742 -6766 0.0005605286356459709 5.6346063440851184e-05 0 0 0 2.5820762452021437e-05 -6775 0.0008319276549336615 0.0009259145742786683 0 0 0 9.064431563266891e-05 -6797 0.0004102390750714254 0.0008190712791490189 0 0 0 0.00014099027081271594 -6809 0.00012534354512579182 0.00013660172276725203 0 0 0 0.000115310449125698 -7280 0.0003100453330076169 1.156708544061292e-05 0 0 0 0.0001895333560590234 -8814 0.0010005257176223942 0.0003632066371117005 0 0 0 2.2206534957052022e-05 -9360 0.0005116318386534441 0.0007967875420842101 0 0 0 -0.00011626433858789243 -6896 0.0006082585496843536 8.396306089535046e-05 0 0 0 -2.5136085428067955e-05 -6935 4.128909972321173e-05 6.32461011650323e-05 0 0 0 -0.0011517939141283244 -1984 0.0008605187136285634 0.0011720227513533949 0 0 0 -6.09322641165107e-06 -6970 0.0006182956124858006 0.00021090655327354782 0 0 0 -4.619651442040332e-05 -2734 0.00012183497312881466 -0.00032148791226902824 0 0 0 -5.7572298165289724e-05 -6993 0.0005770952525620658 0.00010810924002678011 0 0 0 9.285104416228438e-05 -7010 0.000435261162831763 0.0005726159621988524 0 0 0 6.49352411355557e-05 -7020 0.0007691988869786979 0.0003783594848859119 0 0 0 -5.06654749299683e-05 -7026 0.00022554534989182855 0.00045754321165924003 0 0 0 -5.0383205384941234e-05 -7037 0.000735655863744716 0.0006395083598948996 0 0 0 -1.4776944643169177e-05 -7039 -2.3124722596039595e-05 0.00013785441100809133 0 0 0 0.00043748533919087996 -7110 0.0007675536131909331 0.000886298226442868 0 0 0 8.571674048453335e-07 -7933 0.000788434580755152 0.0009939509442303783 0 0 0 -2.402283958323278e-05 -7146 0.00021786731920400915 0.0003472435307456475 0 0 0 3.978664798908959e-05 -9724 0.0009943613518596354 0.000998771042232595 0 0 0 -0.0016504023934961938 -7193 -0.0001626705460041548 3.342087808280316e-05 0 0 0 -0.00036283794105266046 -7226 0.0007922674354830975 0.0009588656449886518 0 0 0 -2.2379994016367864e-05 -9573 0.0005724722614861475 0.00012958608430837577 0 0 0 -2.5773008905119682e-05 -7304 0.0002695515826848687 0.0005502737507895454 0 0 0 -1.1461878454703398e-05 -7324 0.0005622991716850128 0.0006431752643894757 0 0 0 7.009769643666905e-05 -7349 0.00021153282221664452 0.00022875796750714935 0 0 0 1.1666550990500231e-05 -7355 0.0007508240143029712 0.00037804391723168665 0 0 0 -6.938963179172458e-05 -7395 0.0002772530745856303 -0.00019885445082623202 0 0 0 0.0013542128558038497 -7415 0.00019646466726260566 0.00019759593316161648 0 0 0 6.133550521548026e-05 -7433 0.0006933747957663563 0.0007859622453623723 0 0 0 -2.187189326562925e-06 -7134 0.000760482803156663 0.00023264806929817786 0 0 0 4.2131258361056785e-05 -1403 0.00026553115340474366 -7.997485936037362e-05 0 0 0 -0.00020541754251142015 -6581 0.001044270767369021 0.0005464402633476572 0 0 0 2.62938352460934e-05 -1430 0.0009511181022986071 0.0005366941736859617 0 0 0 2.2322802038287917e-05 -7573 0.0002701873037378078 0.0005100163202543432 0 0 0 -5.047747788234098e-05 -7583 0.0004966380619584493 0.0007637245153600686 0 0 0 1.6975244677772224e-05 -7594 0.0007529666999915012 0.0006305446701361306 0 0 0 -4.704548214493769e-05 -7635 0.0005686606195787639 0.0006281836722266308 0 0 0 -5.770617765942106e-06 -7642 0.0005579973187039091 1.5370595442378808e-05 0 0 0 -5.583844601789368e-06 -7672 0.0008571464299366056 0.0002874696999872634 0 0 0 -3.476240055840417e-05 -7682 0.0007418412703186472 0.0005462180756269034 0 0 0 4.4110656765210815e-06 -9693 6.261025074987412e-05 -0.00034159896345033143 0 0 0 -5.7094647619950145e-05 -7751 0.00042471895772447984 0.00015228603872689136 0 0 0 -1.953469310229641e-05 -2871 0.0004951181000750486 5.471569138578144e-05 0 0 0 -1.254700111907022e-05 -7777 0.0007552882360713208 0.0006393622610459535 0 0 0 -1.9034113919996193e-05 -7943 0.0009047819471745343 -0.0010961247389645928 0 0 0 0.0017791476893469428 -9515 0.0005528691666855341 0.0001682004095115658 0 0 0 9.658501577929164e-05 -7828 0.000400866558708124 8.957247516974653e-05 0 0 0 -0.00011049546633763774 -7832 0.0004586635358507112 5.9843596053579015e-05 0 0 0 -7.537321414415411e-05 -7869 0.0031000826850189848 -0.0009721241196619468 0 0 0 8.89818303661698e-05 -7870 0.0005176987474328001 0.0008572034736606924 0 0 0 0.0006334433573336221 -7871 0.0006885318080135609 0.0007759251704815071 0 0 0 -2.870785229275019e-05 -9989 0.0004864663249680185 0.000776336301236843 0 0 0 -4.158382335810729e-05 -7890 0.00012399905350219797 0.00018549325341056798 0 0 0 5.998426553057472e-05 -7899 -0.0002139327997070261 -1.6548314428184818e-05 0 0 0 -0.00025442713533269806 -7904 0.0007192211123012791 0.0008191438398997318 0 0 0 -7.304510228315635e-05 -7906 0.0007454190394309583 0.0009208691585728521 0 0 0 2.2160608446646742e-05 -7913 0.0008014529885616234 0.0007660241933260635 0 0 0 -6.167291248282128e-05 -7931 0.0007981481603412675 0.0009098852803310385 0 0 0 -1.7491405193692653e-06 -9019 0.0007460252225102995 0.0009275946578589962 0 0 0 -0.00010168948655766975 -7980 0.0008462315177095638 0.00037538360622658176 0 0 0 -3.075727610870607e-05 -9966 0.002572578557973171 0.0017366109634168636 0 0 0 0.0006311201520467118 -8018 0.0003157832385621575 0.00013115127983009882 0 0 0 -8.591983672320124e-05 -9930 0.0007444855843477412 0.0009468859103168574 0 0 0 -0.00010612291688725545 -8042 0.000561514638394183 0.00015708805187574634 0 0 0 -0.0001655638285324298 -8099 0.0005156137236082388 7.835584264783702e-05 0 0 0 4.300391392096646e-05 -8129 0.0006007951906107428 0.00035203678329470006 0 0 0 -3.822108019850171e-05 -8131 -0.0001201071874315652 6.486959648449577e-05 0 0 0 2.709731180768777e-05 -8142 0.0005850184667600364 0.00018163730574808433 0 0 0 0.00011343889479942708 -8143 0.0007947622961270932 0.0009027787549065053 0 0 0 -8.133805817631605e-05 -7723 0.0007327491881324228 0.0010749640558198276 0 0 0 3.5498991698570592e-06 -8225 0.0004328073358971872 0.0005158554381277016 0 0 0 -0.00017472756173873833 -8236 6.901166961898859e-05 0.0004901436236459581 0 0 0 -0.00041701119480235996 -8260 0.0006835113697007099 0.0002575284079209134 0 0 0 -2.6135474716115375e-05 -8276 0.0005662650030083667 8.787988386626309e-05 0 0 0 -0.00014232976359163582 -8295 0.00022739985573032057 0.0004552792118591262 0 0 0 2.9090701790984555e-05 -8316 0.0003847228007814777 0.0005565298015782349 0 0 0 0.00018003015358581295 -8326 0.0005739468474735913 0.00038848960933998635 0 0 0 -0.0001182244284681942 -8333 0.00015503939817453926 -0.0002238638761881367 0 0 0 0.0007712160958651073 -8346 0.0008633586003816547 0.0007928575731304971 0 0 0 2.199041067199086e-05 -8349 0.0008217445345038088 0.0008997651812669588 0 0 0 -0.00010283710729991164 -8394 0.0001115161025539893 0.00018440399120885477 0 0 0 -0.00013798692908501947 -1558 0.0008895297630089724 0.0011300462128607627 0 0 0 -2.7710899551572998e-05 -8427 0.00016412086197945856 0.00023394087477559113 0 0 0 -9.261781460983007e-06 -8429 0.00018444155531783965 0.000470286688182171 0 0 0 -4.9219879301960126e-05 -8431 0.0007811869398352221 0.0004580691810078183 0 0 0 0.00011116942466265372 -5470 0.0009450874380913088 0.000582747939077292 0 0 0 1.6405341973739616e-05 -9880 0.0008389878385035317 0.0008951010621475849 0 0 0 4.207143134989297e-05 -8446 0.0009553137750488502 0.000544079168787908 0 0 0 -0.00010154001862893197 -8450 0.0003175865792950065 0.0006893803196375169 0 0 0 -5.306612095514641e-06 -6945 0.0009403749252437934 0.00035218236180881477 0 0 0 2.0161564985608122e-05 -8500 0.00022690091320727785 -0.00011695606311883344 0 0 0 -0.000900624149633583 -8503 0.0006908953338001307 0.0004695195275279638 0 0 0 -4.256699446558533e-05 -5740 0.0010043022113598418 -0.0002463577075760601 0 0 0 -0.000305183177844758 -8544 0.000941670321016899 0.0005635550015800901 0 0 0 0.00010080406812107353 -8565 -0.00039598400164608994 0.00017831193374622661 0 0 0 -0.00010356256636954265 -8571 0.000655983308553337 0.0007298231610978416 0 0 0 7.906861670110266e-05 -8586 0.0008437527448001906 0.0010926284148490859 0 0 0 2.378786936327882e-05 -9036 0.0020298573308428994 0.00011817851884749529 0 0 0 -0.000467133401074421 -8594 0.0002196872853710755 -2.7802682418275425e-06 0 0 0 -0.0003772219717672222 -8618 0.0007326453400096825 0.00035247432750364245 0 0 0 2.090280389174025e-05 -8636 0.00017996527924442918 0.0003016456321231002 0 0 0 0.0001101769030371943 -9556 0.0008052918402616512 0.0013303717940864933 0 0 0 -5.31559341393589e-05 -8644 0.0007561366952299484 0.0009577014185734435 0 0 0 -1.7722761277967647e-05 -8687 0.0024343254753535757 0.002150064167509032 0 0 0 -0.0011512170156738736 -8704 0.0002621122218499417 -9.078925976711535e-06 0 0 0 -0.0007336481054080772 -8742 0.00025546722266057086 0.0004149975128675431 0 0 0 0.0008685165362771216 -8748 0.000234587292174179 0.00024250448507117997 0 0 0 9.972856233661712e-05 -8754 0.0006843810834590661 0.0002413840887942388 0 0 0 -1.9653892317017256e-05 -8771 0.0008755920839405568 0.000744791938104846 0 0 0 -3.6716280068991914e-06 -8783 0.00010699246860042598 -4.5618496385925e-05 0 0 0 0.00010096784320321824 -8800 0.00015728030011598015 0.00020125821488218917 0 0 0 -0.00012014517082875856 -8850 2.1346444163349375e-05 1.950468034853229e-05 0 0 0 5.734925559769446e-05 -8873 0.0007759593335030457 0.0009063212419050726 0 0 0 9.463393797151407e-05 -8906 0.0007445296176965935 0.0002229699936621796 0 0 0 -2.993685153826519e-05 -8943 0.0007912095612921459 0.0010603982462616904 0 0 0 1.3591930649268882e-05 -5781 0.0003426421715238741 -8.090863819485335e-05 0 0 0 0.0004575515773485455 -8952 0.0003354383053125139 4.166813434548685e-05 0 0 0 -0.00012335355363412223 -8969 0.0008012164773961083 0.000896800858082873 0 0 0 4.652092854046831e-05 -8986 0.0008333348231937159 0.0008310071989410929 0 0 0 3.096290419477115e-05 -9004 0.001246636347961345 -0.00010057648590667291 0 0 0 -1.0358849942549375e-06 -3553 0.0008682216417250578 0.0006725156926923336 0 0 0 6.313905437119111e-05 -9014 0.0012586797622158624 -0.0045042571595537515 0 0 0 0.004264061462025222 -5469 -0.0010066037940140507 -0.00017053668744001729 0 0 0 0.00042563146902298315 -448 0.0008967862853790161 0.0002858786245096837 0 0 0 5.274375461254516e-06 -9044 0.0005138099986465479 4.9295076366875376e-05 0 0 0 3.626766586520836e-05 -2928 0.0009652642316004721 0.00033751675206180834 0 0 0 1.554177737317556e-05 -9055 0.0008002081509012828 0.00104882040490872 0 0 0 1.1753049253632791e-05 -9069 0.00036173366928147355 9.418132161725029e-05 0 0 0 -0.00010431530816283379 -9075 0.0007923892222263167 0.00014238540768162611 0 0 0 -5.144022932397949e-05 -6026 0.0007775067704058378 0.0009834619796485259 0 0 0 1.423335262860051e-05 -9120 0.0008302241662557094 0.0005973751475844825 0 0 0 0.00012634398010766325 -9124 0.0006111993996726853 0.00037517459563293326 0 0 0 -0.000139714460154425 -9146 0.0007693392919823211 0.0004842141109402897 0 0 0 -0.0002886368725208044 -9147 0.0006937344463048344 0.0003043352944203564 0 0 0 1.2303422143858063e-05 -9175 0.00011279699446294919 0.00022240897453761229 0 0 0 -1.40116110475983e-05 -9230 0.00010637764744488723 0.0002047928268480446 0 0 0 -3.061068178421411e-05 -9236 0.00015794123123721607 0.0001722172627357123 0 0 0 -5.11169131309735e-05 -8516 0.0009248469278102311 0.0011132336014947365 0 0 0 7.35251143169976e-05 -9275 0.0002518871472807236 0.00042812208833301947 0 0 0 5.899964006627051e-05 -9870 0.0001625526984192042 0.001097237572470565 0 0 0 -0.0002281947681127771 -9393 0.00043946392231820257 -5.907547405701604e-05 0 0 0 -7.896582694420606e-05 -8572 0.000902759351570832 0.00029262776543946664 0 0 0 0.00011200882336772252 -2658 -0.00025659827505121853 -5.276384581306069e-05 0 0 0 -1.951921151256051e-05 -4721 0.0009048216818100923 0.0004058177347965402 0 0 0 0.00011626110799200239 -287 0.0007145822930091579 0.000880846964553807 0 0 0 -4.2355363914423454e-05 -2275 -0.00023145062927538328 -3.280529313001373e-05 0 0 0 -0.00010065254623141323 -1706 0.0009333507373021765 0.00028517783145756134 0 0 0 -1.744712985947877e-05 -6228 0.0007839768640238993 0.0009935652743256278 0 0 0 1.158082562537094e-06 -2377 0.0009700437379768162 0.00042236223360630793 0 0 0 9.843881706877586e-06 -7988 0.0008260577339298991 0.0009637182840633846 0 0 0 6.896752762871229e-05 -4999 0.0007992051304992901 0.001040301023745804 0 0 0 2.9104074491886053e-05 -6867 0.0009714897672396472 0.001120551909947335 0 0 0 0.00012025071990067653 -4549 0.0007849369234104297 0.0010057469571930818 0 0 0 6.296895235090439e-05 -8766 0.0009343761067799408 0.0012728170594134207 0 0 0 -9.053971385560325e-05 -7015 0.0009525653996425084 0.0005302085973585052 0 0 0 3.029847925337015e-05 -8691 1.8072772166798095e-05 -0.0004028496864477284 0 0 0 -1.9931184458732098e-05 -7079 0.0006899330176074478 0.0008821266244418673 0 0 0 3.20965055685323e-05 -7129 0.0008088264311029093 0.0011734429827531985 0 0 0 -0.00016185329048962364 -2792 0.0008053959245760483 0.00115426070336394 0 0 0 8.584053390173861e-05 -239 0.00011594931057703411 9.506393184980951e-05 0 0 0 -1.985555382932873e-05 -5365 2.7492083354334953e-05 -0.0002291470282233315 0 0 0 0.0009593949620982714 -8880 0.0002176338162571951 0.00019503636618326697 0 0 0 3.7699760240200815e-05 -5220 0.0008323601199449584 0.001099215418512365 0 0 0 -1.168192349975519e-05 -7017 0.0009639954965092336 0.0011520527420687207 0 0 0 0.00014093224374346763 -6000 0.0009350475544850088 0.000594008763376212 0 0 0 -1.3542680820645496e-05 -2013 0.0009047528237641835 0.0012692589725207513 0 0 0 3.129869382471869e-05 -2986 -5.330746097929679e-05 -0.0005091372669636348 0 0 0 -0.0001000106527691088 -8288 0.0009639341869449626 0.00040473012885346187 0 0 0 -2.5447065444902597e-06 -9646 0.0009755121726387116 0.00038847616075161 0 0 0 3.0537527048418976e-05 -2202 0.0009228342876642392 0.0006122946730996316 0 0 0 1.0399120065571522e-05 -3883 0.00019481872974020566 -5.250959141561963e-05 0 0 0 -0.00017504154560072906 -3961 0.0005909626626385261 0.00022232450822492014 0 0 0 -8.144613526857243e-05 -3570 0.0005635434108030304 0.000156796045219602 0 0 0 0.00018294965630644724 -7844 0.0008989137883120775 0.0003136822590553335 0 0 0 -1.5213108084059001e-05 -2241 0.0005490746796462555 0.0001484805411958035 0 0 0 4.918511415546834e-05 -218 0.0007547909450982521 0.00018091861123887792 0 0 0 3.5121456209266554e-06 -3105 0.0009002729827176758 0.0006021715739270192 0 0 0 5.169529982476093e-05 -9872 0.0008531708654634162 0.00024127516114641183 0 0 0 3.0586922951610214e-05 -5200 0.0002693082028783328 0.00014892857812888043 0 0 0 -6.508345726093566e-05 -9498 0.00031050187601361844 -5.764004101967096e-05 0 0 0 -0.00013539415060561318 -5244 0.0006941174279066676 0.0006084650591365328 0 0 0 9.690194919295664e-05 -665 0.0008224363312384115 0.0006461938830257136 0 0 0 1.7554789557016923e-05 -531 0.0008248943403018432 0.001260948547048894 0 0 0 2.00398203809022e-05 -5097 0.0007654478610953472 0.0007351883493293496 0 0 0 2.948999442750015e-05 -3127 0.0001071163786250115 -0.0002966227062311203 0 0 0 -0.00015508124808824532 -6282 7.278169235763735e-05 -0.0004544678010506439 0 0 0 -3.1517924359717706e-06 -4816 0.000709641048088575 0.00024588733710503727 0 0 0 -2.6705754702361973e-06 -8348 0.000893404318019044 0.00027720830166259836 0 0 0 -4.963810202133557e-06 -7022 0.0008291953908129939 0.00042485009507777557 0 0 0 -6.77186438331229e-05 -4222 0.000956524804706359 0.0003800457031768663 0 0 0 1.6044479370461584e-05 -7969 0.0009319514973748446 0.00034565061217627915 0 0 0 9.80184952052047e-06 -6504 0.000976448536052334 0.00036067383611022565 0 0 0 -3.7828538214907805e-06 -8304 0.000897941975449581 0.0002826972179434749 0 0 0 -8.881488960153915e-06 -97 0.0008708460813558437 0.0010194502673362442 0 0 0 -3.3207832236163545e-05 -2798 0.0007582718870876958 0.001070551014626973 0 0 0 4.211467267401078e-05 -7214 0.0008470325486374668 0.0012162867497933572 0 0 0 -4.644847611104983e-05 -1681 0.0008987724497791192 0.00025958929882421956 0 0 0 -7.2776133475005895e-06 -841 0.0008592581850131339 0.00023500504758185696 0 0 0 -3.540129048724498e-06 -3813 0.0007808101451695038 0.0009702821165419199 0 0 0 -8.856455922144047e-06 -3639 0.0009320813155046377 0.00032217350959792265 0 0 0 6.771946174258713e-06 -3395 0.0007800768993681943 0.0010165086177821075 0 0 0 -2.4343963193157673e-05 -8433 0.0008268429422584561 0.00023154099815312227 0 0 0 -6.681511145190737e-05 -6090 0.0009579712816128094 0.000361556627858339 0 0 0 3.0448712500988253e-05 -9157 0.0009392366835231901 0.00033110098461818416 0 0 0 1.7888682205648776e-05 -2533 0.0008735899153911333 0.00026392469652543755 0 0 0 -1.0209407097418479e-05 -5930 0.0008430468175831056 0.00035876389864911964 0 0 0 2.9516551013179928e-05 -4971 0.0008708955521315014 0.0010195446050287652 0 0 0 0.0002612866558552047 -7275 0.0001680890737674576 0.0001293566250966149 0 0 0 -0.0003246527985657672 -2364 0.0009033901142155448 0.00029270723794600195 0 0 0 -4.527997013075215e-06 -5004 0.000779783874307696 0.0010058829499956974 0 0 0 1.5011768735409876e-05 -5392 0.0007377608077815547 0.0011326348350153522 0 0 0 -1.1787729422104658e-05 -7459 0.0007557991733499795 0.0001891472844216777 0 0 0 -5.609537569364095e-05 -1974 0.0008115139169290118 0.0013641784596664104 0 0 0 8.390913243805373e-05 -9828 0.0007390841733172669 0.00111800271423295 0 0 0 -1.123584458190067e-05 -9009 0.0007466293308459061 0.0011027150538979974 0 0 0 3.4171068488620823e-06 -1492 0.0009606784715709473 0.00029778706966404297 0 0 0 1.5137518449175205e-05 -174 0.0005603745135351173 0.00015854660969707426 0 0 0 -4.445515618986671e-05 -3724 0.0007435186280521711 0.00017035009413454545 0 0 0 -6.0748660070736284e-06 -2623 0.0009222693823634937 0.0012065325522562936 0 0 0 -8.628216670877525e-05 -3086 0.0005916103225863305 0.0006795382821756977 0 0 0 1.448791934294569e-05 -4510 0.0007285668648558798 0.001002247845258102 0 0 0 -1.196105248886693e-05 -3358 0.0008667495599734288 0.00023098898494428304 0 0 0 -5.320326189587383e-06 -4 0.0009989363203809633 0.0008884996121464471 0 0 0 3.2199771271030394e-05 -9692 0.0012497886098006914 -0.0003804598415217523 0 0 0 -1.6154933678289185e-05 -2721 -0.0002883070201266361 0.0009212216014273933 0 0 0 -2.117739817412616e-05 -68 0.0010223033209229642 0.00021912105381322036 0 0 0 -1.3587622132493212e-05 -89 3.8716337019490406e-05 0.0004031390298182305 0 0 0 -1.2018706132434884e-05 -99 0.0008586767245562039 0.000414737908060301 0 0 0 -3.63394941486053e-05 -1573 -0.00017309364577991793 0.000920797689488033 0 0 0 -7.693049374039715e-06 -211 0.0011710904848434183 -0.00020028638879113228 0 0 0 1.6747436542318137e-05 -4415 0.0009271106018747891 -0.00014732282136068858 0 0 0 4.9867392535337455e-05 -232 7.651544646520046e-05 0.0005651257853469799 0 0 0 1.8459207517366843e-05 -267 0.000654643369188088 0.0003885792487855475 0 0 0 -2.6116574811306418e-05 -274 -8.439427885900294e-05 0.0006655435225015032 0 0 0 -4.0040861336222835e-05 -8004 -0.00027079490841669173 0.0010955257352103043 0 0 0 -1.7049038227092985e-05 -282 0.001083555636105404 0.0006201237596017755 0 0 0 -0.00018424266735124302 -324 0.0007606386444831478 0.0008184418574150673 0 0 0 -3.677905600818e-05 -331 0.0007489193129357011 0.0007937357519126796 0 0 0 -9.38152618864631e-06 -358 0.0009285970438283053 0.0001441761569430628 0 0 0 2.6080584106847896e-05 -453 0.0007510115011344896 0.0009086052556846626 0 0 0 -1.0260804571365393e-05 -1196 1.9124615616768214e-06 0.0005538783585299053 0 0 0 0.00011851728588156354 -509 0.00029726628144629457 0.0010057807303141745 0 0 0 -3.268293642090557e-05 -515 -7.181792497134235e-05 0.0006808995357035998 0 0 0 -6.729615635454119e-05 -526 0.0006857474338111409 7.459467334792563e-05 0 0 0 -4.197376135710165e-05 -538 -1.841695281657961e-06 0.0004483751326856529 0 0 0 1.4644350981046414e-05 -7309 -0.0002835021924841305 0.0009009668133425822 0 0 0 -7.408525632366286e-05 -614 0.0010649685696009757 0.0001603815164512698 0 0 0 -3.728559936199479e-05 -9777 0.0007775606660881579 -0.00033858752005992395 0 0 0 1.2076882194589786e-05 -650 0.0007939007611588988 -0.0003382482968409374 0 0 0 -1.2020422370828239e-05 -711 0.0006411694283992901 0.0006028621958571124 0 0 0 -2.4002618067716058e-05 -8207 0.0012324881261665532 -0.0003086655900882839 0 0 0 -3.695809101132888e-05 -793 0.0005253754489714351 0.0004397133578224637 0 0 0 -1.7698219567519977e-05 -832 -0.0001453592999377915 0.00031691563008549243 0 0 0 1.021614670487568e-05 -852 0.00042384174817154376 0.00036251984234682034 0 0 0 2.4035681437129634e-05 -3468 0.001233824588791943 -0.00017277057191719962 0 0 0 -3.9179257937553e-05 -922 0.00025136831417555354 -0.00011398132181223611 0 0 0 -1.757283865528706e-05 -928 0.00022090065263312276 0.00011412742204244086 0 0 0 -1.1019814369580611e-05 -827 -0.000182146855234472 0.0003594955007221942 0 0 0 -6.540474088451742e-05 -987 0.0012508000456577266 -0.00038107047110454053 0 0 0 2.1366728493872656e-05 -1003 0.0010350698862002495 -0.00023534906937319446 0 0 0 -1.3680501904802266e-05 -1050 -5.0056083845242554e-05 0.0005363339626870179 0 0 0 4.242520473149223e-05 -1855 0.0012667982175599286 -0.0003813920858982782 0 0 0 8.19201165383667e-06 -1056 0.0004851528926929385 0.0004765114293331311 0 0 0 -0.0001475094292033556 -2834 -0.00026466969915689176 0.00044694222259747255 0 0 0 0.0001617163469071934 -1113 0.000533671785043049 0.0010906847970513507 0 0 0 2.6332809654054333e-05 -1129 0.0007015926133895659 0.00044050946052679975 0 0 0 -7.061338012039726e-05 -1228 0.0008537084074345801 0.000679700359140724 0 0 0 -9.817943237027475e-05 -1248 0.00010740697074479566 -4.6987420229234476e-05 0 0 0 -7.162650539754907e-05 -1262 0.000713474434187124 -0.00029588891545479174 0 0 0 1.7119034936697867e-07 -1270 0.0005771435085342875 0.00021379930121769765 0 0 0 1.2859663041812962e-05 -1298 0.0012749541233317957 -0.00020876010803017132 0 0 0 -1.1606945357591878e-05 -1323 0.0004624697045984807 0.0002585487974619332 0 0 0 3.8291581093034425e-05 -1365 0.0006807672377265701 0.0005590062260190324 0 0 0 6.86415129808123e-05 -1371 0.0007339172569404022 0.00017609849174173264 0 0 0 1.628730214367078e-05 -1374 -6.4823113122574e-05 0.0004980527731928246 0 0 0 -2.9470758411118596e-05 -5507 -0.0002841843065806628 0.0008869634989707477 0 0 0 -0.00010418490273471889 -1520 0.0003320690301808933 0.0002120878395206571 0 0 0 -2.142595835424522e-05 -1548 0.00029948154328999523 0.0009252023954550445 0 0 0 -0.0005889900569472974 -1571 0.0006047518928311603 -0.00036341588912086836 0 0 0 4.632736863481914e-05 -1628 -0.00010660711515348191 0.0006007893642285454 0 0 0 -1.5664828654684267e-05 -1682 0.0010810593871982818 6.332957359700228e-05 0 0 0 -1.8142467119203852e-05 -2587 -0.0003001580009619437 0.0009174445295389889 0 0 0 -6.97282035691468e-09 -1734 0.00010525423476859286 0.0006399828256119458 0 0 0 6.216875609133652e-05 -1762 0.0006192723768495351 0.000818086822419271 0 0 0 -2.1639016864701768e-05 -1787 0.0006337560343600973 -0.00010453702287212901 0 0 0 0.00018049234146849273 -4359 -4.658420193313982e-05 0.0007524021246889318 0 0 0 0.00011009565413154263 -1841 0.0002170571228920964 0.00041033395863901146 0 0 0 -0.00014360843951136075 -1850 -7.577501944907631e-05 0.0004893263322642161 0 0 0 8.290818382988771e-05 -4328 0.0008337282730683781 -0.00042968400323759883 0 0 0 -0.00012572573455747228 -1878 -7.890820706207095e-05 0.0004947874264926104 0 0 0 -6.0322702321655405e-05 -1880 0.0006416472818387386 0.0010221084173752542 0 0 0 -0.00029538793193056975 -1923 0.0010595977292094888 0.0009861223107374853 0 0 0 -0.0004598535755725788 -1963 5.8970557342849586e-05 0.00047942920243049735 0 0 0 -1.2902170607152327e-05 -1988 0.00022045254926296188 0.0005018911569224523 0 0 0 1.927031592927808e-05 -1992 0.0009589313563002627 0.0006104938438221962 0 0 0 0.0002975462297142815 -2011 0.0005974273259842979 0.0010048148028113737 0 0 0 -0.00025766167587099856 -8654 0.0011546235089931996 -7.458419837612216e-05 0 0 0 -2.5318613901219966e-06 -2070 0.00023929295963105523 0.0005181326354694968 0 0 0 0.00044115733204372836 -2092 0.0009453921691827935 0.0007932370825512301 0 0 0 -0.00017119781785686976 -2094 0.0006944209338756952 0.0005916524407537314 0 0 0 -0.0002988710887752734 -2132 5.613449483288603e-05 0.0006389274204199394 0 0 0 -2.888897410776126e-05 -2161 0.0009105473377317243 0.00012494008190868983 0 0 0 7.167495994117277e-05 -9178 3.247632503510009e-05 0.000591744635940116 0 0 0 -2.9537343550339973e-05 -2200 0.0009041969243727469 0.0007971346751348136 0 0 0 8.242833614240848e-05 -2319 0.0009933812448570337 -0.0002941454175641356 0 0 0 5.469478233390795e-05 -2333 0.0010178310770723802 0.0004537319013112482 0 0 0 -7.371863427157617e-05 -2358 0.00114327782675654 -0.00015997753694885276 0 0 0 -1.3072874372967906e-05 -1710 0.0006458020040099635 -0.00033396476516872386 0 0 0 -3.42272317403337e-06 -1187 -0.0002207206335911737 0.0009423911806428974 0 0 0 2.4586957380337823e-05 -2467 -0.0001065116038664549 0.0006015717800771204 0 0 0 8.64480690954888e-06 -878 0.0009238242491918873 -0.00023148281946737891 0 0 0 -0.00011021886886938434 -2493 0.001052347980824732 -3.092565299755957e-05 0 0 0 -9.168217519262235e-05 -2503 0.00033189732945375957 0.0006511748902561731 0 0 0 6.767185277546237e-05 -8297 -0.00017749224006699502 0.0009872043190586887 0 0 0 0.0004903165548716234 -2512 0.0011727400432848185 -8.735912823534856e-05 0 0 0 1.2981750389679555e-05 -2514 -5.4425289589010866e-06 0.0003029729055757606 0 0 0 -0.00020572502287631277 -4162 -0.00016990419596483037 0.0007645645344573594 0 0 0 -2.1766229042798194e-05 -8393 0.0007890668438527828 -0.0003010897846143702 0 0 0 -4.693073101810096e-05 -2562 0.0004245018967554269 -0.00014625748189076512 0 0 0 -5.4075047251297676e-05 -4883 -0.00020230527440055074 0.0007004417804004988 0 0 0 0.0003629878034695002 -2605 0.0007226451973500284 0.0006363321684936829 0 0 0 1.119740513111918e-05 -2636 0.0002615028493520056 0.00019685277455010468 0 0 0 -3.0384089652892846e-05 -9852 0.001017538354893183 0.0003170342848382118 0 0 0 -4.372173857322655e-05 -9922 -9.125732218569521e-05 0.0007021683664540578 0 0 0 -4.381290849642568e-05 -2716 0.0005859363953424654 0.00038951723511326537 0 0 0 3.6983569270151704e-05 -2730 4.826150900423107e-05 0.00042901926385739263 0 0 0 -0.0003243541434782849 -2733 0.0005922729394514147 0.0004971465705138427 0 0 0 -2.5904611318597737e-05 -2739 0.0008099216648035189 0.0007933223367573212 0 0 0 -9.632207857258617e-06 -2763 0.0009803350238554622 -0.0005069330425211977 0 0 0 -1.3175786933178646e-05 -950 3.744335465297155e-05 0.0007333671708261215 0 0 0 -6.58509760147097e-05 -2800 6.491992440830493e-05 0.0008639511111298645 0 0 0 7.572882758070528e-05 -8480 0.0012554360336097473 -0.00031195674080998763 0 0 0 -4.683209224964709e-05 -2820 0.0007844710970449103 0.0007792408312082736 0 0 0 -0.00026052791527276587 -2823 0.0009483429592094234 -2.767630731510495e-05 0 0 0 -0.00010835284879917198 -8158 0.0009783100586931268 0.001068765025970041 0 0 0 -0.0009811972760042978 -2837 0.0007878788551715654 0.0009658752560660914 0 0 0 0.00011141733098592451 -2844 0.0003823171366179189 0.0005767355333857311 0 0 0 3.3683551037321874e-05 -2845 0.00070478262445774 -0.00026652564763068675 0 0 0 0.0002078421841505482 -2873 -7.054768123053418e-05 0.00023573825385784467 0 0 0 -0.0001879636903704927 -2882 0.0008855577268526928 -0.00045633562281211936 0 0 0 -5.9962993344544254e-05 -2884 0.001052694671340719 -0.00046790108809341007 0 0 0 9.102027723424877e-05 -2904 9.082901663132255e-05 0.0005682336620554537 0 0 0 -6.155492744047815e-06 -2935 0.0005250768367577373 0.0003344694818096988 0 0 0 -3.060893797869814e-05 -2777 -0.00020254505228373923 0.0010722053371656137 0 0 0 -1.2784396701078564e-05 -2992 0.0009046337141759862 -0.00023632314158838068 0 0 0 -4.164292567807321e-06 -2998 0.0002911636246651781 0.00037687439049037807 0 0 0 4.2008065019410166e-05 -3000 0.0009051236352832595 -0.00027652753369042436 0 0 0 9.775789988495149e-05 -3052 0.0006869785057861191 0.0004404037337991452 0 0 0 -0.0001666379216585976 -3076 0.0005622931310134358 0.0010517416378609521 0 0 0 0.00019100579867871117 -3077 0.0006844944294738904 0.0005926010303417124 0 0 0 0.00023573757502047852 -3078 0.0012424710576311002 -0.00016676930407763082 0 0 0 -3.791880067262967e-05 -3079 0.0005615057818910822 0.00040371019616803526 0 0 0 -0.0004886072948242796 -3115 0.00045277267550799177 0.0004283946130351139 0 0 0 0.00028663749045454483 -3124 -5.9802719135013124e-06 0.0005078908877834162 0 0 0 -2.098775870015203e-05 -3131 0.0008748420852961274 0.0001335640357002857 0 0 0 5.5176099685036594e-05 -3173 0.0008741366718225624 -0.00028512548236956183 0 0 0 -1.8947210558895714e-05 -3193 0.0008026869463298637 0.0007140378047865176 0 0 0 6.271184958619148e-05 -28 0.0007226901321501303 0.0001228174332315428 0 0 0 1.1118047242312504e-05 -3253 0.000577214501987984 -0.00016820827048852281 0 0 0 0.00010502362913394596 -3257 0.0008101081998369956 6.248663549359613e-05 0 0 0 0.0001630521686693749 -8550 -0.0003394594394721252 0.0008968239914573694 0 0 0 -1.8546247751923014e-06 -3388 0.0008148599178033105 0.0006662666797942083 0 0 0 -0.00011154295683278015 -3389 0.0011853907367758289 0.0006938732362491137 0 0 0 2.5800598195216316e-05 -3741 0.0009168696587254372 0.0001369510324039913 0 0 0 -7.076565185768174e-05 -7183 1.7441182146233725e-05 0.0009442525577703084 0 0 0 0.00018262049384611925 -3463 0.00033434863379226383 0.0012553448086601265 0 0 0 0.00028236969038097323 -9728 -2.489364507766082e-05 0.0007828876295861764 0 0 0 -0.0002084144445701699 -3473 0.0005806681805543026 0.0010829344586672231 0 0 0 -0.0007239393724235108 -5609 0.0010268773808890814 0.000683342966930005 0 0 0 0.00013299390879049179 -3498 0.0018719858610733043 4.521433554216791e-05 0 0 0 0.0009063425302239221 -3572 0.0007118428712537248 0.0007395671045563219 0 0 0 -2.3868671568267984e-06 -6365 0.0008808719105670819 0.00038163611558059997 0 0 0 -4.732521569809212e-05 -6336 0.001161252353293655 -0.0011102970481310043 0 0 0 3.289614872527792e-05 -3607 -7.662136987864023e-05 0.0005012066293195674 0 0 0 -1.5855615221823992e-05 -3630 0.0006997874709887037 0.000946788572508335 0 0 0 -0.00017387723617135771 -3631 0.0009392554325867911 -0.00022790469475482086 0 0 0 3.0289158738747536e-06 -3671 0.0003862945351100302 0.00010683623357199975 0 0 0 -7.981884189634391e-05 -3677 0.0007151502464512767 0.0004779808037461279 0 0 0 0.0001763089853288258 -3690 0.0003491439306167745 7.033073934705454e-05 0 0 0 5.00375550374416e-06 -3711 0.0003061703899642605 0.0004159761077877719 0 0 0 -0.000139948052668129 -3716 0.000139099029441374 0.0004161347282765102 0 0 0 -0.0001948668883138254 -3719 0.0007685784862441462 0.0001558006617328211 0 0 0 9.91222841031883e-05 -3756 0.00017592424121222182 0.000545250743361587 0 0 0 1.649484742207187e-05 -9 0.0005527726876416689 -0.00022715708085690496 0 0 0 -1.8566962720669787e-05 -9946 0.000712871605511277 0.000980875833256124 0 0 0 2.5072659782026593e-05 -3793 -0.00012352948689957336 0.0006089426343401151 0 0 0 -3.762550599786727e-05 -3853 0.0010337193101185192 6.785749724868289e-05 0 0 0 -0.00010179941304079127 -3860 0.00037612051336654553 0.0001197976814165827 0 0 0 0.00011156962285235556 -3880 0.0005965013934381395 0.00044069532117268963 0 0 0 8.931771988239615e-05 -3886 0.0007743987043429921 0.0005023468316412529 0 0 0 0.00035713519497860505 -3908 2.1360806655706003e-05 0.0005012499746050864 0 0 0 9.743457164761613e-05 -4051 0.0009678092809504266 0.0005082166012905186 0 0 0 0.0002834681389958453 -4123 -0.0004762187597078903 0.0005542507348388333 0 0 0 -0.0005227656502565843 -4170 1.2456686891558031e-05 0.000486054611261047 0 0 0 -1.8454626747801625e-06 -4176 0.0005800149695402966 -0.00040387581205116946 0 0 0 5.441018205097473e-05 -9993 -0.0002673404532458703 0.000388083732052849 0 0 0 3.0384453970745465e-05 -4279 0.0006831605434163512 0.000448995701380865 0 0 0 -0.0004719018350722737 -4298 0.0006054708327181844 -6.586055201039223e-05 0 0 0 6.379639321238016e-05 -2208 -0.00021385814498966536 0.0009703877634496796 0 0 0 -3.767444036399113e-05 -9328 9.34453363045697e-05 0.000607141720588031 0 0 0 -9.128305965415786e-05 -4344 0.000552093090489707 0.0009271950944666322 0 0 0 1.6001999983224235e-05 -3494 0.001174504372909246 -3.169468314501979e-05 0 0 0 -4.048690322510592e-05 -4385 0.0004220804005036556 0.0008810737779748481 0 0 0 -0.0002748027203483891 -9291 0.0012872275031555502 -0.0003999170771883811 0 0 0 5.641067436891228e-05 -4419 0.0001417601163785196 0.0008010277695239522 0 0 0 -0.00014432956767643514 -7918 0.0007564571303482681 -0.0003026686732200731 0 0 0 2.213228758148008e-05 -4521 -0.00010567370826492833 0.00040291261258408075 0 0 0 8.864066080874578e-05 -6874 0.00041729288352545266 0.001041202213949359 0 0 0 3.990666850272238e-05 -6907 0.0008067907155682492 0.0005102050714773116 0 0 0 -0.00014643425966325138 -4590 0.0006868199615522546 0.0009975690066435516 0 0 0 1.8879591305977198e-05 -4606 6.58471155579625e-06 0.000556975089175012 0 0 0 2.5743186168793357e-05 -3609 -0.00022603214224992813 0.000826484990048672 0 0 0 -3.4855328759153036e-05 -4689 -0.00010636150641325468 0.0005795931072553666 0 0 0 -0.00037691682604625926 -4725 0.00041031079042698173 0.00044432191615467926 0 0 0 -8.839612246768874e-05 -7612 0.0012498375911962243 -0.00014397336189969065 0 0 0 -1.0619756421755012e-05 -4773 0.0011556467998772376 0.0001241850484603826 0 0 0 3.4447686238675547e-06 -4801 0.002414150331928208 -0.0017980002033258222 0 0 0 -0.001056123293989686 -4819 0.0006155390381469377 0.00043178797295710214 0 0 0 0.00039122352944276286 -4833 0.00026369600995970223 0.000465013023266393 0 0 0 0.00016017758519126058 -4859 0.0008421639044078532 0.0007650179709811661 0 0 0 3.416993176397238e-05 -4881 0.000768619959235011 0.0002921113402564428 0 0 0 3.437788801328821e-05 -4886 0.0012459148660013237 -0.00013095775881523966 0 0 0 2.110896717660146e-05 -4683 -0.0001254053603276289 0.0006900607681341322 0 0 0 4.499097121368313e-05 -4977 0.000582908538581636 -0.00015862070238678407 0 0 0 6.248673477299795e-05 -5019 0.0002833524802620784 0.00014244501984297814 0 0 0 0.00012082341360484085 -5024 0.0001217694540798192 0.0004162235148560209 0 0 0 -0.00022517758530178004 -5109 -0.00020832430667419084 0.0007992103221038028 0 0 0 6.361781061726682e-06 -5120 -5.169519982464786e-05 0.0005157897939834739 0 0 0 6.89746142355054e-05 -5129 0.0011078570374518553 0.00047599775805580013 0 0 0 -8.661544050907833e-05 -5138 -0.00010681698435675563 0.00040520063440604477 0 0 0 -1.3559630424223861e-05 -5210 1.2685621669127985e-05 0.000603976415139361 0 0 0 0.00014521677515026826 -5192 0.0008455770931724513 -0.00033343101079678504 0 0 0 7.000406919234372e-06 -3998 0.0001743402752417438 0.001375289268500667 0 0 0 -0.00020021442086951878 -5247 -9.310045670741646e-05 0.0002770710342831559 0 0 0 -0.0001848586683204325 -5284 0.0010171754176072738 -0.00011552156887628957 0 0 0 5.496638569545889e-05 -5287 0.0009611175001592791 0.0007752972154644385 0 0 0 -0.000546117693762532 -6586 -0.0002568198254078171 0.0010444178051160972 0 0 0 -6.0769145093582725e-05 -5355 0.0006541839435535572 0.0011757538371487896 0 0 0 -0.000292753682421865 -2448 -4.329582688262225e-05 0.0006886723897220314 0 0 0 0.0001238063621639858 -5414 0.0007255314207832821 0.0009933356062138887 0 0 0 -0.0002573768436047075 -5423 0.0008938709976163581 -0.0002824387484935455 0 0 0 5.7868328662276006e-05 -5435 0.0007994926163810154 0.00011028389286135533 0 0 0 -0.00015298415049806052 -5451 0.0009266831419617907 0.0008653197727162777 0 0 0 0.0005770845274025366 -2433 -0.00022036401797902327 0.0009249340720675086 0 0 0 -4.696193078080274e-05 -5527 0.0008963525353412756 -0.0002425214170199768 0 0 0 -0.00014540812016838317 -8992 0.0010507112206701323 -0.0004512298880898116 0 0 0 7.78904270122668e-05 -1415 -0.00013477252176763847 0.0007290030469561653 0 0 0 -6.375091381250764e-05 -5584 6.759177142505271e-05 0.0008891340530428469 0 0 0 5.273888975178519e-05 -4839 -0.0002811899856993704 0.0010848273461226915 0 0 0 7.866333731218822e-06 -5610 0.0011716469929136724 -0.00012216333498543105 0 0 0 -0.00018037570498573988 -5636 0.0004775658590587946 0.000390709045061976 0 0 0 1.1237277695644367e-05 -5651 0.0013964997192588645 0.00018752118923593154 0 0 0 0.0002278453306215878 -5681 0.0005726446554563506 0.0002402490778170295 0 0 0 3.0000232343394464e-05 -1697 0.001188869801038397 -9.663550788596593e-05 0 0 0 -2.1217873732587427e-05 -5777 -0.00010706196568316617 0.0004476676996337862 0 0 0 0.00010895785420117208 -5788 0.00048378877956069407 0.0007397047129539113 0 0 0 -0.0014656439335159512 -5766 4.704700995618955e-05 0.0005465998536711189 0 0 0 -0.00018534396448063376 -5811 0.0012622299575905135 0.00047563615186367386 0 0 0 0.0001226699645529692 -5818 0.00045104863645516115 -4.555777569102298e-05 0 0 0 0.00015338319495832235 -7411 -0.00015872102828593443 0.00034367800276640433 0 0 0 -6.648849009098985e-05 -5830 0.0010829046947690886 -0.00048308691939720613 0 0 0 -6.916653043078708e-06 -5873 0.000341875203254992 0.0005496578056934313 0 0 0 -3.50301015187321e-06 -914 0.000772579433235192 8.433297784283624e-05 0 0 0 -4.08119582687637e-05 -5908 0.0005031416797192069 -0.00040260238453013 0 0 0 4.549777748506435e-05 -8035 -0.00033159475990780584 0.0008024539784723504 0 0 0 -2.607854358492266e-07 -5969 0.0005841410841573354 -0.0001255721986845683 0 0 0 3.0759898943174356e-05 -5971 0.00011060440457755836 -4.0889662037627364e-05 0 0 0 -5.485460962050855e-05 -5996 0.00011900212892339847 0.00036235716389398573 0 0 0 0.0001515947714554667 -6048 0.00042914993769454943 0.0008854642856597317 0 0 0 -5.686749407469653e-05 -7006 0.0001932194557880476 0.0011519245734815575 0 0 0 0.0003186882836313299 -6075 0.0009765175422385159 5.422765451875518e-05 0 0 0 -3.3439536741460315e-05 -9968 3.6353551613861e-05 0.0004057592461468181 0 0 0 0.0001225761060368403 -6113 0.0005188105529488331 0.0007822290099755676 0 0 0 -8.456519421134377e-05 -2106 2.453569803014928e-05 0.0005882367661411732 0 0 0 3.544339566531491e-05 -6193 9.782673112836649e-06 0.0007253229098425932 0 0 0 -0.00010865070674001074 -6210 0.002600914245372825 -0.00025938272052670916 0 0 0 -0.002880092169162441 -2091 -0.00026094651548348534 0.001116860412546211 0 0 0 -2.470073821449296e-05 -6672 -0.0001463693458370752 0.0010031391357314492 0 0 0 -7.325959686014765e-05 -6245 -1.4741279863166555e-05 0.0007832097541210501 0 0 0 -0.0003030169542228578 -6266 0.0015974059348897503 -0.0005150076528256101 0 0 0 -0.00031039180941032065 -626 0.001047713675096091 -0.00017684988228719193 0 0 0 -3.50273779653693e-05 -6369 0.0004190079846751143 0.0004798234327370374 0 0 0 -9.962519941437935e-05 -7194 -0.0002583184296818112 0.00035938709370567166 0 0 0 9.165686873914898e-05 -7603 0.0012775082472876935 -0.00038802328653362764 0 0 0 3.1358247585454214e-05 -6440 0.0007815395611967565 -0.00011937322371952371 0 0 0 0.00024570950980429984 -1494 -0.00027831531552297993 0.001097498994223318 0 0 0 -6.101265692792914e-05 -6518 0.0010129395884688457 -0.0005197757821030601 0 0 0 6.119412742081478e-05 -6530 0.00037396311179825294 0.00016646906618047655 0 0 0 -0.00010038579503059067 -6531 0.0001996277034502674 6.256459770008595e-05 0 0 0 -3.851558818624358e-05 -6544 0.000791246436348612 0.0001965822803110718 0 0 0 0.00017401830984104907 -6555 0.0023503337453763006 -9.983894823363816e-06 0 0 0 0.000776077531381268 -275 -1.7904901583729853e-05 0.001108275996776317 0 0 0 5.854744158621669e-06 -6596 0.0005574406635934192 -0.00016930185663996926 0 0 0 -1.0840369524523808e-05 -6642 -0.00020919934321972508 0.0005730081401680255 0 0 0 -0.00038240959822823085 -6649 0.0012922361353357192 -0.00374398438222766 0 0 0 -0.0016483028741112096 -6659 0.0003459785164908088 0.0009772717826645537 0 0 0 -0.0002547600966007303 -6677 0.0008346697960176293 0.0009050589764534101 0 0 0 0.00010253508289201302 -6681 0.0002362386667703509 -0.0001438508620153797 0 0 0 0.0006364804222335422 -6693 0.0007593688491965677 0.0009535436868456541 0 0 0 -0.0002700797869760973 -6718 0.0009388830665116539 0.0004974415828110554 0 0 0 0.00022815817285187602 -6732 -5.3437472990868955e-05 0.0004312470142274021 0 0 0 -9.87694973175812e-06 -6756 0.000654340433936732 -0.00014410036229451655 0 0 0 0.00020178457642973266 -6762 0.0011771193280201578 -0.00033116281131572486 0 0 0 5.9515274952226204e-05 -5156 -0.0003215346974895019 0.0009096002025863135 0 0 0 8.025628155907484e-05 -6801 0.0006033223249795934 -0.0001814281253322 0 0 0 5.895088440606756e-05 -6802 0.00012889563134350877 0.0005308576111814766 0 0 0 -6.882823711025496e-05 -6825 0.00023396033211452337 0.00012993765771989862 0 0 0 -0.0001222923996936888 -5979 -4.75230606143836e-05 0.0011168795093464642 0 0 0 5.926597133005893e-05 -6844 0.0006604293480919999 0.00032785376095797206 0 0 0 6.23663514106389e-05 -6857 0.00019093322508349116 0.0005483266894811459 0 0 0 -8.900395999041667e-05 -6919 4.3960411829304104e-05 0.0005033367370878039 0 0 0 0.0001124312196775273 -2808 0.001312605586982809 0.0001738828093866485 0 0 0 9.127214422570663e-05 -5251 -0.00028005687928692505 0.0007027780734008362 0 0 0 0.0001009808507910717 -6952 0.0005588065113619675 0.0004638461942698637 0 0 0 4.689649679555424e-05 -6953 0.0007226773022274764 -0.00029533535310864923 0 0 0 -7.236050169972047e-07 -6979 0.0006896383306123059 0.0010880786591800167 0 0 0 0.0001023240414612104 -6982 0.0008702612847484297 0.00013562244282665562 0 0 0 -6.248867105822848e-05 -7002 0.0008295598880958796 0.0006056999583236066 0 0 0 -0.00022916247715060086 -7004 0.000541279831836484 -0.00016140461689410633 0 0 0 0.0006274708517852054 -7051 4.5738498821924414e-05 0.0012982407179917151 0 0 0 7.2586515899189334e-06 -5967 0.0010629677875343714 -0.0004912630219789562 0 0 0 3.8393434317210746e-05 -7062 4.825406116396129e-05 0.00046261111757174534 0 0 0 3.174809970700757e-05 -7094 0.0031303630633292023 -0.0015131004404649769 0 0 0 -0.000783413209882534 -8310 -4.557568972584155e-05 0.0005003772744720975 0 0 0 -0.0008506541668919292 -7154 0.0012260322782391558 0.0005972308545214084 0 0 0 -0.0001372139742615225 -7169 0.0008378421198258361 -0.0002901572127154269 0 0 0 5.661703521304816e-05 -7170 0.0011547489871054054 0.0006784568615970747 0 0 0 -0.00034667551526189295 -5208 -0.0001354591056750776 0.0009578855347947632 0 0 0 3.568751771099083e-05 -1265 0.0011391577970418373 -0.0001196477911420135 0 0 0 -5.369148201763651e-05 -3167 0.0011938018862216546 -0.00038887102272630586 0 0 0 1.0049965951745757e-05 -7237 0.0007949840582898825 0.00012343019659156467 0 0 0 0.00017345000676201734 -7276 -0.0018273630245100735 0.0015696452987545486 0 0 0 0.0008090759662239708 -7306 0.0011068475798835266 -6.364156380714783e-05 0 0 0 -0.0001277176927074455 -7363 0.0005523545280848873 0.0004849991624675602 0 0 0 -2.6295019471161625e-06 -7365 -6.718449503999432e-05 0.0002595195012706706 0 0 0 0.00014339065737340313 -7366 0.00036488925599543397 0.00011800152901007068 0 0 0 -2.7160551248181167e-05 -7876 3.468974455241251e-05 0.0006693505389371494 0 0 0 6.713200110683955e-08 -4026 0.0011243718731693759 -0.00010268132057884755 0 0 0 2.9437865830592883e-06 -7457 0.0007574184111138814 7.056951110634953e-05 0 0 0 0.00016331495665196285 -7461 0.0004734398410085086 0.00027243530033304404 0 0 0 -2.6066646260823065e-05 -7487 4.68550421623059e-05 0.0008306110599709456 0 0 0 -0.0002795529038886618 -7535 0.00043271035358844595 0.0009694944096918491 0 0 0 -8.591392402463746e-05 -6478 0.0011204451227118494 0.0007083802728604905 0 0 0 0.0001222890292803286 -7607 0.0005403440609864489 0.0004108719401001751 0 0 0 0.0006648104759195493 -6375 0.00015938733967493188 0.0010495684291919733 0 0 0 0.00011542083345427772 -7634 0.0010723518149849817 0.0002976611711251712 0 0 0 1.949784720562214e-05 -7717 0.0006228475310173847 0.000588449591791412 0 0 0 -0.0004722407301150747 -73 -0.00015624288844065504 0.0006110351386887469 0 0 0 -3.409173729488036e-05 -7760 -0.00012351387197210125 0.0006155405955538579 0 0 0 4.340479275105531e-05 -9738 -0.00010059080612255598 0.0010496752027201693 0 0 0 6.981620945775996e-05 -7794 0.0007493772333363059 -0.0005764674181272323 0 0 0 0.0005966055895877362 -7833 0.0011749904701878408 -0.00025406976259594223 0 0 0 -5.867976041263924e-05 -9774 0.0008457168848898563 0.00019833355945074043 0 0 0 -0.00017852495427422404 -3423 0.0012245497054875687 -0.00023187720497536564 0 0 0 -5.0108318367264045e-05 -9770 -3.127900708758475e-05 0.0008418873911032717 0 0 0 0.00011685625389774625 -7923 0.0007395312999627543 0.000987960775784802 0 0 0 -5.785152896587969e-05 -7958 0.00028012915846773703 -0.0001615901177892917 0 0 0 -0.0004051788459548086 -7991 -0.0001113553951060545 0.000663516899480162 0 0 0 0.00038362885993846327 -7997 4.1708875343764555e-05 0.00047929047814695036 0 0 0 4.301658378529711e-05 -8007 -7.832785288134478e-05 0.0003052730540764454 0 0 0 9.97827826394725e-05 -4880 -1.0258287702957489e-05 0.000546617609147311 0 0 0 -0.00016114512186558733 -8031 0.00077188395034563 0.0007160138200800171 0 0 0 -0.00016582384378426972 -8033 0.0015933430943999654 0.0025656778057902797 0 0 0 -0.0025457082524229235 -8034 0.0005440659982555207 0.0008663184256995058 0 0 0 -0.0001680569122528402 -8040 0.0010226739251021036 -0.00020379991181612757 0 0 0 4.6933944687175865e-06 -8059 0.0008847860461604104 0.0004334665112996847 0 0 0 4.233708238125517e-05 -4933 7.146633502369928e-05 0.0006706922487436293 0 0 0 -0.000756803692837304 -8111 0.00030915004368079824 0.000940926742482195 0 0 0 0.00016946819238692403 -7905 -0.0002914477807067821 0.001117132855736953 0 0 0 -5.5840297649889606e-05 -8254 0.0009954020180963676 -8.354410370996726e-05 0 0 0 -0.00012817114559089975 -2505 0.0009738345169979975 0.0004618783451970089 0 0 0 1.3685625809201584e-05 -8301 0.00016457584418420095 -0.00014616793525056796 0 0 0 4.1935659158160255e-05 -8309 0.00046411485730899117 -0.0002560205092212544 0 0 0 0.00011353938176224584 -8356 0.0006362391275254696 0.0005035376780504796 0 0 0 -0.0006372905211007754 -8363 0.000983340180872925 0.00012975481650060247 0 0 0 8.969233460888825e-05 -8365 0.0006146621477771627 -0.00017735406201413806 0 0 0 0.0001268602187011859 -4028 0.0008819675542148516 0.00042847167479588045 0 0 0 -0.0002010284864744742 -8445 -6.42518426825519e-05 0.0006278859062093717 0 0 0 -1.4777985971069662e-05 -8448 4.7207076617872065e-05 0.0005017749001970921 0 0 0 0.00015474552613668042 -8459 0.0012349146327210892 -0.00018771509876785826 0 0 0 1.834274972977533e-05 -8463 0.0008133796417331474 0.000696078264104415 0 0 0 0.00015340598085628537 -8470 0.00030021154043008056 0.0006014023161542349 0 0 0 -4.31395095036473e-05 -3462 -0.0002423888863528937 0.0009316823815036837 0 0 0 -8.269950731867718e-05 -8621 -0.0009416244827299535 -0.0017379910260604953 0 0 0 -0.0036303352904609562 -8648 -8.965001172693587e-05 0.0005884091140639906 0 0 0 0.00011430624733065319 -8657 0.00024332992697314844 0.0002613836152484298 0 0 0 -9.688022814631929e-06 -8674 -4.5835425859672725e-05 0.00028548782350062757 0 0 0 3.755393277869669e-05 -8681 5.615325490753639e-06 0.0004936308142902885 0 0 0 0.00023419431008084743 -9804 0.0009035545203879719 0.0009002645602081513 0 0 0 -0.0014837396982792833 -8708 0.0012467494642128757 -0.00017251977215033612 0 0 0 -4.772711577517474e-05 -8809 0.0012413426298960224 -0.0003165380279219927 0 0 0 3.029559807474736e-06 -8811 -0.00010412187353901237 0.0003254890612991231 0 0 0 -7.707734891097567e-05 -8812 0.0008702578711114783 0.0008872401303445707 0 0 0 -0.00013909558584241987 -8826 -0.0001581900209295937 0.0003537365840875292 0 0 0 0.00010514444265855324 -8870 0.0006406042043573322 -0.00012992051779157847 0 0 0 8.741605665352419e-05 -6361 -0.000242820775951944 0.0010715649113410377 0 0 0 8.090336990756488e-07 -8980 0.0007360388958141103 0.0012434182395298788 0 0 0 9.895268525537322e-05 -8981 9.726732850239511e-06 0.0004368599314028013 0 0 0 -2.372712089136572e-05 -8994 6.908610014219332e-05 0.0005044245847924335 0 0 0 -5.1143042304227336e-05 -1180 -0.00017472775949071436 0.000601659857235407 0 0 0 -5.7885445216136424e-05 -8017 -9.39370977232032e-05 0.0004610126824290779 0 0 0 -0.00019226658072044758 -9100 -0.0002843082943937373 -0.000970596292149421 0 0 0 0.002503809043598185 -9143 0.00010533316004917342 0.0013519970429621277 0 0 0 -0.0004956371814660482 -9156 2.4819490358518416e-05 0.0004908133919340218 0 0 0 6.527042657995435e-05 -9162 0.00019609348321095443 -0.0001754826267491213 0 0 0 -2.0268599483376778e-05 -9240 0.00105444225520295 -0.0005138392952671167 0 0 0 4.4546479425607656e-05 -9271 0.0007800764479884961 -0.0003314755040077163 0 0 0 -4.99014599310964e-05 -5942 0.0012960130922248553 -0.0003327001506498549 0 0 0 -6.275115150854705e-05 -9297 0.00010816069773769906 0.00031916035571312836 0 0 0 -0.00019176366886475754 -6012 -0.0001231927488985374 0.0003086787252799995 0 0 0 7.384156667733484e-06 -9355 9.377530714780418e-06 0.0007376492136077153 0 0 0 0.00012281673648520617 -9398 0.0011954665699034526 -4.695933899487808e-05 0 0 0 -0.00016874828846538394 -9258 -0.00014705445251834835 0.0010819345229764615 0 0 0 -0.0001265534651351262 -9422 0.0004837946043586812 8.439380065258637e-05 0 0 0 0.0009504136986289633 -9518 0.00020713282809637943 -3.433120099105497e-05 0 0 0 -3.916267042190242e-05 -9570 0.00010645989143137486 1.8058524923521029e-06 0 0 0 -0.00032911221011327373 -9586 -0.00013687974035410898 0.0002798487929505646 0 0 0 0.0001291067380175889 -9589 0.00021585759103514613 -0.0001391032643898752 0 0 0 0.0001737475231319211 -9602 1.521302201652963e-05 0.00046102093457615315 0 0 0 -4.712514058745019e-05 -9609 0.0009284401027221509 0.00033707937084345187 0 0 0 -0.00018401036077751766 -9614 0.0009742559555305093 -0.0002532645543933939 0 0 0 3.965995965522904e-06 -3200 0.0012955526881162703 -0.00038067989521592123 0 0 0 -6.415274284134404e-05 -5763 0.001244677375196771 -0.00021749872726589263 0 0 0 -1.6424799988364656e-05 -6211 0.001154987453811869 0.00045049227781667573 0 0 0 -0.00018876104903691227 -6212 0.0007436035063482584 0.00011917271391365744 0 0 0 4.9272536293750536e-05 -9718 0.00042805419811660903 -0.00017130343601972026 0 0 0 0.00036501010716496763 -9729 0.0002234748616583294 0.0005378682010165532 0 0 0 -8.920004749803414e-05 -9756 0.0009462851385539969 0.0001309981270538961 0 0 0 -2.18753478813828e-05 -9768 0.0005656232157361785 0.0005334299775189579 0 0 0 0.00016680902301770018 -381 -5.0865087238162706e-05 0.0009817818686580718 0 0 0 -2.9932931484436822e-05 -9789 0.0012025889131000286 -9.387034532175365e-05 0 0 0 -1.925872147843044e-05 -2046 0.0005791259797191346 0.001112691234891403 0 0 0 -7.058999088383824e-05 -6235 0.0007177018976102492 0.00012860721333704856 0 0 0 -0.00012952654027066166 -1331 0.0009326747265202274 -8.421848111937348e-06 0 0 0 -7.73123783729451e-05 -4319 3.879361898762362e-05 0.0006162082293402845 0 0 0 -5.868667824374334e-05 -1775 4.374176949162573e-05 0.0005521176823601727 0 0 0 -0.0001917229794747974 -8692 0.0011513873779085443 -4.843473418307556e-05 0 0 0 4.079925300719506e-05 -7107 -0.00011279100622707437 0.0006369019835107416 0 0 0 0.00033790820020125856 -5938 -0.00010062192378679258 0.0008796805911959731 0 0 0 -0.0007269706442299505 -1291 -0.00011468618783693122 0.0005804392905895771 0 0 0 8.168037733528263e-05 -4394 -0.00024481426371187356 0.0009790439998155196 0 0 0 5.042547737971375e-05 -8490 -3.590848516204538e-05 0.0005101100664950543 0 0 0 0.0007275098229164558 -2413 0.0010286207928926216 0.0003471274179072853 0 0 0 7.633482132990817e-05 -6883 0.000940540050213462 0.0005158135196787557 0 0 0 0.00013045936636009326 -9781 -0.00011955823840021296 0.0007327716015147437 0 0 0 -5.5026722405451564e-05 -7174 0.0002612651398158594 0.0007859294722468618 0 0 0 -0.00022559468808198895 -5547 0.0007261172278888687 0.0001179609821791279 0 0 0 -0.00017397905257791072 -9255 -0.0002966356127840996 0.0008401242322883506 0 0 0 0.0002918563708611426 -523 -0.00017222335115069247 0.0009644397171778474 0 0 0 1.544780032596896e-05 -1212 -0.0002641408645754356 0.0009728188912316297 0 0 0 -1.6508943433429803e-05 -6233 0.0005799041056333182 -0.00037366203051047975 0 0 0 -8.469465453853376e-05 -3478 0.0012409622373429042 -0.00022317904070655046 0 0 0 -4.1303624525292864e-05 -2449 -0.0001657410917380211 0.0010681445963236105 0 0 0 -3.389473038639591e-05 -3805 0.00113287556872449 -0.0002302237731899655 0 0 0 -5.771934949465752e-05 -8886 -0.00027794910584782946 0.0010709016353985003 0 0 0 -4.012638150195127e-06 -2832 0.0010840329925996262 0.0004149008430166261 0 0 0 1.4031167351452556e-05 -2207 0.00031466227549106177 0.0011379155621842707 0 0 0 -1.173801856442127e-06 -279 -0.00022584408752572885 0.0008650905882229924 0 0 0 -2.9477453384829486e-05 -6840 0.0007474939757749319 -0.0003190613619511504 0 0 0 -9.421833360872608e-05 -6559 0.0005836886851394564 -0.0003732031447432628 0 0 0 0.00010273094527956685 -4703 -0.0002508807890671992 0.0011645167212929106 0 0 0 -1.1254029917304226e-06 -5575 0.0010772048798443185 0.0003775177214829307 0 0 0 -8.337464529703302e-05 -3587 0.0011605746414772424 -0.00023196253006174553 0 0 0 -4.1624772966455043e-05 -9034 0.0010313478949650265 0.000338334179276969 0 0 0 -0.00016656519678382313 -4305 0.0006740409881098681 -0.0003855659856629715 0 0 0 5.1498913498135514e-05 -3983 -0.00013317161547945895 0.0011052474510436256 0 0 0 5.168596655554956e-05 -2268 -0.00036731835756093783 0.000937016188442547 0 0 0 -7.204263578441398e-05 -8506 -0.00024325687867190888 0.0006766266257499807 0 0 0 -9.977586150829072e-05 -5194 -0.0002904124298997398 0.0011208702021562203 0 0 0 -5.544346498631807e-05 -3761 0.0005988355320021972 0.0006964520383936301 0 0 0 0.00025327519381982593 -3757 0.0010135257033413096 0.0012303975273634566 0 0 0 0.0004552586936800493 -20 0.0010379955686483974 -0.0005532266965877745 0 0 0 -1.0658738231900335e-05 -3574 0.00018215892145382408 0.0002707453235568003 0 0 0 -0.00026724984088847 -27 0.000996220664098232 -0.00023982971618829757 0 0 0 -1.3518705102020863e-05 -71 0.000976153841547888 -6.325075479377023e-05 0 0 0 -7.118109098484529e-06 -112 0.0007892877778155337 -9.259039940607419e-05 0 0 0 -1.7849529059204796e-05 -119 0.0009771619858374432 -0.00026022776469925544 0 0 0 -1.5670354817261995e-05 -120 0.0009840496171149727 -0.0002251192848332147 0 0 0 -1.7878643659133138e-05 -9949 0.000875498450267054 -0.0005956541867092282 0 0 0 3.7145191639729474e-05 -152 0.00039428751433822224 0.00012335681343600126 0 0 0 -4.050401753820874e-05 -164 0.000970416808124453 -0.00036711848050217493 0 0 0 -1.2406329197874651e-05 -181 0.0005794170261918078 -0.00023706565667504592 0 0 0 -3.141779475225978e-05 -226 0.001041366447865448 -0.0004285257513959941 0 0 0 8.367397257571482e-06 -1145 0.000489895249834158 0.000250862713469132 0 0 0 -3.584089058308742e-05 -255 0.0010018417939136818 -0.0003563074982703886 0 0 0 -1.2210363166671757e-05 -258 0.0010097126896126663 -0.000289590384832415 0 0 0 -2.001350410005117e-06 -9731 -0.00035480223340053087 -0.0017510532396206018 0 0 0 -0.001296655613348042 -291 0.001083458936567674 -0.00045876062615807483 0 0 0 3.6676544468010863e-06 -295 0.0009007140455443264 -0.00012195222555924924 0 0 0 -9.671652885884785e-06 -298 0.0009473095551166891 2.067305395752727e-05 0 0 0 -1.0882081273052482e-05 -1093 0.0010049567150837947 -0.0006246128778552503 0 0 0 2.4665786736254348e-05 -333 0.0010326056883489235 -0.00042391717777427886 0 0 0 -4.43113046136947e-06 -6070 0.0009722718165095252 1.0003853689865615e-05 0 0 0 1.5966033589959545e-05 -6661 0.0006850106646608198 -0.00010742672658945928 0 0 0 -0.00026302237556263407 -2026 0.0007264330210669822 -0.00022909109018724765 0 0 0 -6.619858763343255e-07 -7059 -0.0007474521677870181 0.0011733362242931959 0 0 0 -0.0017137718852363356 -390 0.0006193424345538847 -5.984012749664243e-05 0 0 0 -2.997608174322e-05 -1052 0.00045167874501337744 0.0001317581509122131 0 0 0 2.3097143005806367e-05 -428 0.0008362473545758278 -0.0001613494719440118 0 0 0 -7.850886973091378e-06 -429 0.001091008383097429 -0.0004906835146992348 0 0 0 -1.0962908188440812e-05 -435 0.000883045824467137 -0.00024217561519126278 0 0 0 -1.638617962069434e-05 -443 0.0009887328351782898 -0.00039383674916003035 0 0 0 8.466023142464231e-06 -455 0.0007514225987318681 -0.0006426763724353081 0 0 0 -1.969298878656728e-05 -467 0.0008201822455470321 -0.000609253860225094 0 0 0 -3.602120094399684e-05 -471 0.0009432248921463931 -0.00013860174059278862 0 0 0 -1.0278261191651407e-05 -7970 0.000920608487010052 -0.0004043678817278533 0 0 0 -9.300031385914093e-05 -9301 0.0005122834468522383 0.0002613732987671309 0 0 0 -5.396248896426186e-05 -3779 0.0007872763438636734 -0.00024186111391414123 0 0 0 7.724597874499327e-05 -537 0.0010592454657136032 -0.00042683810318825554 0 0 0 -5.595198331029933e-06 -551 0.00089593544961954 -0.0001726312077967031 0 0 0 -8.512688792802191e-06 -559 0.0011184563348773631 -0.0005887667846758385 0 0 0 -1.40895813156134e-05 -7442 0.0008762142093679818 0.00010688109830025561 0 0 0 8.570325323842206e-05 -607 0.000932230649619648 -0.0001882901209614541 0 0 0 -1.156071423881927e-05 -612 0.0010417903997760177 -0.0006131099138310363 0 0 0 -2.3649052261471108e-05 -8321 0.0006427456571350479 -0.00017553146789339854 0 0 0 -0.00010095663473328344 -641 0.0009143829748731944 -6.290518040267741e-05 0 0 0 -4.3251393247756715e-06 -648 0.0005035991763075009 -0.00024029377080656057 0 0 0 7.470260872968571e-05 -666 0.00095344409475122 -0.00015966037770584194 0 0 0 1.990341616062619e-05 -696 0.0004951981964298739 3.500848203290978e-05 0 0 0 -1.7925615062643353e-05 -9302 0.001047037764304878 -0.00044359279992118423 0 0 0 5.692102908850723e-05 -765 0.0011118855625008297 -0.000520075822361101 0 0 0 1.5650212551058105e-05 -7540 0.0006746395539050544 -0.00041753807814364386 0 0 0 0.00011194983353819678 -773 0.0008047956089127854 -0.00011605713924989878 0 0 0 -3.327651618353351e-05 -776 0.0009380845820920763 -0.0003960517051783183 0 0 0 -1.542878225695857e-05 -811 0.0010283447119717522 -0.0003665213414762258 0 0 0 -4.3247120098297777e-05 -866 0.0011453249068019119 -0.000598120206207262 0 0 0 1.5479375172466267e-05 -909 0.0007442854315369049 -0.0001083590765034529 0 0 0 -2.171735920741167e-05 -921 0.0008633811393570455 -0.00017578670286804232 0 0 0 -1.4513039492150711e-05 -9628 0.0008836828167331155 -0.0005936535172343573 0 0 0 6.10797736002775e-05 -952 0.0009642941293352161 -0.00014195047605704088 0 0 0 1.2909673767050447e-05 -955 0.0006840892052896276 -0.0005457186399121828 0 0 0 3.350122804593124e-05 -995 0.0006633311141541765 -0.0004387632091079644 0 0 0 -8.014645937359304e-05 -7201 0.0006275267805590838 0.0002150539102708246 0 0 0 -0.0002073133468386079 -5810 0.0005515399104685203 -7.058088639074149e-05 0 0 0 -0.00010490482093751825 -1027 0.0005272533472779824 -0.00012241273093061258 0 0 0 4.036736578250673e-05 -1034 0.0009659339534016376 -0.00010381342226485277 0 0 0 -1.727861790914452e-05 -9720 0.0010889866127272501 -0.0005149818255491085 0 0 0 0.0001460283622307801 -1047 0.0009005692281973975 -0.00026442869067218956 0 0 0 5.280036816591256e-05 -1069 0.000948254068658511 -0.00015825724654279773 0 0 0 -1.8340285629704168e-05 -9158 0.0009924012416602105 -0.00025739810280614456 0 0 0 1.3478582465777372e-05 -1199 0.0006543215482578789 -0.0004754979564276146 0 0 0 6.9099327326902e-05 -9827 0.000377808853179276 -0.0008621204605363514 0 0 0 0.0003691196134539592 -1235 0.0008399879340352298 -0.0003129292477221112 0 0 0 1.2411055366202019e-05 -1243 0.0009833697415871016 -0.00039750883965139635 0 0 0 0.00010913758463676007 -1263 0.0009447847145015921 -0.00054139554461914 0 0 0 -9.486800865163134e-06 -9228 0.0010196115529192236 -0.000376476611695503 0 0 0 -1.6816546129586466e-05 -9630 0.0010144340788499247 -0.000290234788841387 0 0 0 1.3245784103261684e-05 -1285 0.0009278552304641099 -4.897390034100296e-05 0 0 0 3.828238159912871e-05 -1334 0.0008586875249474061 -0.0001433868612675452 0 0 0 -7.029019298644893e-06 -1338 0.0010251946785034068 -0.000374670780409142 0 0 0 -6.425112672964437e-06 -1356 0.0005884692529996486 -0.00014750162669485445 0 0 0 -4.277822283494058e-05 -159 0.000633943677449373 -5.388367559511817e-05 0 0 0 4.37540893309574e-05 -9332 0.00091935634427929 -4.267074365417156e-05 0 0 0 -3.517779306775863e-05 -3518 0.0012301619678171205 -0.0007962719477950612 0 0 0 -7.635405193417652e-05 -1490 0.0010041003221709 -0.0003513996003127797 0 0 0 3.0759858476946948e-06 -1493 0.0008239333360748562 -0.00014630773071033966 0 0 0 2.4980417554920342e-06 -1500 0.000350880919905042 -0.00044166002813041333 0 0 0 8.12250272018123e-05 -1501 0.0010845105915132983 -0.0006688051779680798 0 0 0 2.1456972815420578e-05 -110 0.0009219128557085539 0.0001030863872373874 0 0 0 2.324605421264464e-06 -1542 0.0009919822432056973 -0.00010484331993126688 0 0 0 -3.663333195189009e-05 -1564 0.0010087157268789289 -0.0006295662505266712 0 0 0 3.1931217429419246e-05 -1576 0.0008581633959996906 -7.514068044031611e-05 0 0 0 -2.2967994243589265e-05 -1587 0.0011687268125346194 -0.0006010283505104007 0 0 0 -4.6438142810503145e-06 -1597 0.0008095995293765755 -0.00044499881205990185 0 0 0 1.7232818710459094e-05 -1411 0.0005726464480046221 0.00014874005776055563 0 0 0 -3.2287715927697033e-05 -2868 0.00014714114043532477 0.00032117286656418266 0 0 0 -6.636931687016804e-05 -1640 0.0009294487943418806 -0.00027317514606875736 0 0 0 0.00019033220806864007 -1645 0.000979574772355927 -0.0003454273571899678 0 0 0 -9.233261265591944e-06 -2108 0.0012011887675659777 -0.0007853658462197952 0 0 0 8.616151683512596e-06 -8350 0.000973543922222062 -0.0004225224392066431 0 0 0 3.2853897207157085e-05 -6141 0.0005642811449386294 0.0005687178760182488 0 0 0 -0.00013968214900649678 -1691 0.0011825540036236365 -0.0006298017061726795 0 0 0 -1.3613704918654964e-06 -4608 0.00041397778783317364 -6.356746258329454e-05 0 0 0 -0.00012412805479948045 -1711 0.0009586774148619228 -0.00018983613006534077 0 0 0 1.3765430736517903e-05 -1724 0.0006362402449772758 5.928707025343581e-05 0 0 0 -4.1618162753221694e-05 -1733 0.0005021895528140277 7.56739156513075e-06 0 0 0 3.8468938470453453e-05 -1747 0.0010022544015693528 -0.00010328856268934857 0 0 0 5.2919712545800265e-09 -9187 -0.0019260826677165628 -0.001571945858208394 0 0 0 -0.0022381117747730305 -1764 0.0009292619603996359 -0.00018187892930688205 0 0 0 -4.542808546582299e-06 -1798 0.0007718296138162337 -0.00013214726191591977 0 0 0 -2.8123911920800468e-05 -1799 0.0005240781654377134 -2.9944730617067067e-05 0 0 0 1.4024723512757747e-05 -9226 0.001083654240236951 -0.0005822335602989519 0 0 0 -9.46034355596867e-05 -1820 0.00038699715230954343 -0.0003730819829369555 0 0 0 6.4139633038032e-05 -1821 0.0010485545084002715 -0.00042122466883809926 0 0 0 6.923436556681969e-06 -1860 0.0010230081440633272 -0.0005949165254783788 0 0 0 -3.549120999766621e-05 -9560 0.0010810740785270599 -0.00046874742830207045 0 0 0 3.387160324904088e-05 -1885 0.0009123687627829869 -0.0006066002483579156 0 0 0 -5.909022002769e-06 -1913 0.0009090604384349302 -0.000449964750509408 0 0 0 -2.367884452255669e-06 -1924 0.0005053228382149836 -9.710105207273389e-05 0 0 0 3.482372777178805e-05 -1955 0.001051239981783363 -0.0005658835673802194 0 0 0 -2.0272319498394594e-05 -1957 0.0009343854832378341 -0.00038902431023048607 0 0 0 2.6159522946002356e-05 -5693 0.0008382026530899605 -0.00016734561700134162 0 0 0 -0.0003895804391173972 -1999 0.0011204462509426698 -0.0006997769247660532 0 0 0 6.383759455730877e-06 -2071 0.0010030489099821503 -0.00025467649605935886 0 0 0 4.022679163630076e-05 -2099 0.001151831327322846 -0.0005849536679261655 0 0 0 -2.387739324748004e-05 -9102 0.000973628895266749 -0.0003995159349704273 0 0 0 -3.0453438992377248e-05 -5970 0.0008931658363507072 0.00015521517990101476 0 0 0 -0.00014435434574789442 -1928 0.0009274740778274181 -0.00037859088849323926 0 0 0 -0.0002126784749862405 -2156 0.0011045682652918712 -0.000602461827440251 0 0 0 -7.893152076903371e-05 -2165 0.0008802338857606249 -0.0005361070156446673 0 0 0 -9.745802129992047e-06 -2190 0.0009943175502875176 -0.0004107610691382589 0 0 0 2.3870934168781003e-05 -9610 0.0011709759110164876 -0.000728035367688511 0 0 0 -0.00010114589477465837 -2260 0.0009169900021131055 1.4982483253663548e-05 0 0 0 0.00010261598861910636 -2280 0.001063158742769359 -0.0004902797067626534 0 0 0 -6.111353475669948e-05 -2306 0.0009541907969906702 -6.206847483091606e-05 0 0 0 -1.3855218381372143e-05 -2307 0.001039114625621182 -0.0003823186114174693 0 0 0 -1.4633453686612423e-05 -2326 0.0008439729293123473 -0.000538988985237466 0 0 0 -3.467267835110292e-05 -2334 0.0009001986863665107 -0.0005072713620817092 0 0 0 -1.4068893038963312e-05 -2410 0.0009317786325879626 -0.00020009687839178347 0 0 0 6.025020660178408e-05 -2486 0.0010904279166332488 -0.000584504522619226 0 0 0 5.096516970113817e-05 -2501 0.0010207780487065192 -0.0006293255059314581 0 0 0 4.167830732616663e-06 -2507 0.0009793533998444213 -0.0005839690343166151 0 0 0 -1.2322662368386576e-05 -2532 0.0010314746993518443 -0.0006188771215742822 0 0 0 -1.414668996815529e-05 -2107 0.00027739256830543944 -0.00035014552168442846 0 0 0 6.910557649097195e-05 -2614 0.0009675861046578623 -8.236272980422176e-05 0 0 0 -2.9108815522373824e-05 -2615 0.0010036567117938473 -0.0003410290466287052 0 0 0 -2.0870872918900685e-05 -7784 0.0007019317326144122 1.1256608135308455e-05 0 0 0 1.483134181451221e-05 -2641 0.0010503316646647716 -0.00043422279823550645 0 0 0 1.702165981243257e-05 -2648 0.0008586422752454967 -0.0001284601988215178 0 0 0 -3.416751932752165e-05 -4597 0.0007519560060419446 5.349310614186305e-05 0 0 0 -5.4436536915333684e-05 -2725 0.0007145865305235257 3.522696977010221e-05 0 0 0 -3.646366623523215e-05 -2749 0.0009975972657368 -0.0001236718325244274 0 0 0 -1.3578746956926764e-06 -1698 0.00011391531636786474 0.00023113787145147093 0 0 0 3.319719569204424e-05 -2818 0.0011505562585836827 -0.000607113575046375 0 0 0 3.8681333320849455e-05 -2876 0.00023180427418988396 -0.0016656373314660321 0 0 0 0.0007435288598102079 -356 0.0008798691240332209 -0.0006014688534604014 0 0 0 1.1718571177055567e-05 -2902 0.0009847399565945164 -0.0002746378708903437 0 0 0 4.320839068397012e-05 -2906 0.0008708827107162778 -0.000132091595530225 0 0 0 -0.00025299977187497014 -2914 0.0012029183134298304 -0.0007278156273490441 0 0 0 -6.569879122138663e-05 -2937 0.0009318417671188 -0.000199978290423459 0 0 0 1.11376493002288e-05 -2944 0.0010538936916688086 -0.0004869616983420887 0 0 0 5.038899430651033e-07 -2964 0.001113800300498969 -0.0005882250645228172 0 0 0 -4.99334317634832e-05 -2993 0.0008781296462144621 -0.000151902747322853 0 0 0 -1.4971865035887999e-05 -2995 0.003256225885606063 -0.002891409584774828 0 0 0 -0.0022438028559222147 -3006 0.0008712332434476814 -0.00019949153962548863 0 0 0 -2.306812251415962e-06 -317 0.00028385288305058206 0.0003690160393157116 0 0 0 -5.4171408206296036e-05 -3046 0.0010374690201030848 -0.0002619912013143667 0 0 0 3.885093212217995e-05 -3063 0.0010599118536587123 -0.0003978116445857745 0 0 0 -1.1837381309299833e-05 -3072 0.0008776765404330871 -0.0004774520985231465 0 0 0 -3.867892080743884e-05 -9689 0.0006786771394536364 0.0003438269966118897 0 0 0 -0.00011245700492352616 -3092 0.0012137021377772157 -0.000747449372603152 0 0 0 -2.9181766467622658e-05 -3107 0.0003724530204362902 -0.00033858905327157 0 0 0 -9.04076012098814e-05 -3138 0.0010027465018530696 -0.00033600970317786654 0 0 0 -1.199716564757779e-05 -9413 0.0012520793586560876 -0.0008067233614012544 0 0 0 3.951177973555654e-05 -9081 0.0007541320815715935 0.0001807577504678743 0 0 0 1.0575369480115983e-05 -3183 0.0010362739849079435 -0.00041236418661261666 0 0 0 1.2538836039726432e-05 -3187 0.0008983185980962008 -4.552355286750382e-05 0 0 0 3.727884741866689e-06 -7018 0.0005862437976601946 0.00011197677816298315 0 0 0 6.405039882853878e-07 -3227 0.0010153645307808944 -0.00015824282531555936 0 0 0 -4.672200109002094e-06 -3234 0.0008781845618616316 -0.00017896805572175878 0 0 0 -2.7658831057770586e-05 -3239 0.000977651848431152 -0.0001208516199801986 0 0 0 1.4152119085959162e-05 -3259 0.0009323097178828377 -0.00033872829508456627 0 0 0 8.080262640377632e-05 -3298 0.00043336786950590243 -0.0003331129902716956 0 0 0 0.0001648653143601321 -3314 0.0008614480629680059 -0.00012792923022706657 0 0 0 3.60015151883418e-05 -3317 0.00034600354069943103 -0.0003674127335545757 0 0 0 0.0002068417094981043 -3322 0.0010052039285992948 -0.00026311053832837774 0 0 0 -3.8112091588256995e-05 -3327 0.0009864389000539362 -0.0002585617661650711 0 0 0 2.0768169748676614e-05 -3357 0.0008676602568325418 -0.0005960866708911582 0 0 0 -2.1694363529070266e-05 -3369 0.0005345968581835526 -0.00037025550658733734 0 0 0 0.00038775388968084154 -1256 0.0008382834867950885 -0.00023677274583455972 0 0 0 5.986483667834706e-05 -9082 0.0009926316562169283 -0.00026452822674103826 0 0 0 0.00010021154245606323 -3431 0.001019718419962769 -0.0004071459130153787 0 0 0 -2.1229005921309852e-05 -9711 0.0008003408267032166 -1.964472923821994e-05 0 0 0 -2.2370277740059356e-05 -9166 0.0010618036853447983 -0.00045868149998499753 0 0 0 -1.9014294366301653e-05 -6711 0.0008720881026432242 -0.00029942014034782245 0 0 0 1.9405220871216134e-05 -8663 0.0009344225624225126 0.00014261940017201453 0 0 0 0.0001847396098692169 -3519 0.0009630629109995769 -6.962075459407527e-05 0 0 0 -1.4222409281062151e-06 -3540 0.0008852126858618261 -9.647856597423298e-05 0 0 0 0.00010395052418605224 -2197 0.0011749782144586142 -0.0007603911517724309 0 0 0 -6.044003779174423e-05 -3618 0.0006600970664401866 -0.0006324547183962724 0 0 0 3.633041322505969e-05 -3628 0.0008389890878381949 -0.00017155770092340119 0 0 0 -1.918013697079822e-07 -9988 0.0010664418519249408 -0.0003700411782519938 0 0 0 -0.0002049285944205398 -3642 0.0009667960894915535 -8.32473301908619e-05 0 0 0 1.895353682393044e-05 -3648 0.0008326474317078898 -0.0003875109837031662 0 0 0 0.0002433450826704702 -6434 0.0010596033758616713 -0.0007533224261342313 0 0 0 9.317925674332802e-06 -3698 0.0009963188197827041 -0.00028576914342396905 0 0 0 7.3972188271306285e-06 -3731 0.001212283063553981 -0.0007804656797629758 0 0 0 -6.87034650827467e-05 -3774 0.000851965716772213 -0.00019296352485171376 0 0 0 -8.492564264024861e-06 -3783 0.0009969364887800075 -0.00035952872304016763 0 0 0 1.348467082406892e-05 -1043 0.0012131056781320294 -0.0007432367546191141 0 0 0 8.769166043623633e-06 -3823 0.000972177688950605 -9.374667105679731e-05 0 0 0 -5.2335569534606914e-05 -3829 0.0009169182229999444 -7.26832845911627e-05 0 0 0 -1.7149782925443167e-05 -3833 0.0005365008587024504 -4.7129033655991184e-05 0 0 0 0.0001741531780647849 -277 3.0320502651751928e-05 0.000321070161518508 0 0 0 -3.646569669269172e-05 -3870 0.0010727832170611116 -0.0005696596593814117 0 0 0 -4.534136463664875e-05 -9873 0.0010522175704809175 -0.00045968833649411944 0 0 0 -0.00045294378155664875 -3881 0.0009463872711449777 7.279195018527955e-05 0 0 0 -1.2973976997797323e-05 -3899 0.0006276079405496543 -0.0005481107128232038 0 0 0 3.826027571002615e-05 -6172 0.0006068242899185158 0.00020345223544606338 0 0 0 -8.496331184322245e-05 -4201 0.0007414926653804602 -0.00022399533429424756 0 0 0 -1.0189728106187118e-05 -3940 0.0008958769392880564 -0.00019876604403208707 0 0 0 -1.830856203497225e-05 -5718 0.0009563786285037536 0.00012949733068238004 0 0 0 0.0001207568987307614 -4016 0.0008600878670677954 -0.0006098579384826694 0 0 0 -1.447784495985751e-05 -4023 0.0003517391339171986 -0.00036759593674217766 0 0 0 0.00044282864503587057 -3807 0.0005651309026627826 0.00014259474815930844 0 0 0 -5.1144620307770376e-05 -4039 0.001121632997997902 -0.0005608621087114658 0 0 0 8.393856039284e-05 -4046 0.0008336926738422401 -6.025172498853547e-05 0 0 0 -1.2559253967315829e-05 -4061 0.0011292879095113422 -0.0005340278854795311 0 0 0 2.3158655991840032e-05 -4116 0.00097697704814772 -0.00026043565576653504 0 0 0 7.82247620219723e-07 -4134 0.0009965543094662673 -0.0002584149602107585 0 0 0 -0.00015290533904354088 -9540 0.0008547141934879855 -0.0002071652523595738 0 0 0 1.4901845284906974e-05 -9207 0.001023987096528052 -0.000338713961962642 0 0 0 6.275150642408078e-05 -4158 0.0009174581097893792 -0.0002460870260703619 0 0 0 -1.8064589617660823e-05 -915 0.0011293949599593003 -0.0007284730406273568 0 0 0 -5.255412234998241e-06 -4204 0.0010452927549910278 -0.0006588337810635203 0 0 0 -4.6974617837941615e-06 -4208 0.0010880242759934299 -0.00046913763438431727 0 0 0 -1.8870802212499842e-05 -4220 0.0010459666448306034 -0.00044986173096846 0 0 0 5.7288936387253816e-06 -4224 0.0006392467006063446 -9.188374608388391e-05 0 0 0 8.019293296313654e-05 -9372 0.0007929727984028265 -0.0003264998384500178 0 0 0 -0.0001157983851166874 -4250 0.0008799230015113311 -0.0002016702180932188 0 0 0 -6.61701011706119e-06 -4278 0.0009160655102436176 -0.0005289920895713904 0 0 0 -1.9907591629046566e-05 -4304 0.0008878153702190096 -0.0005770464355431946 0 0 0 -5.8113272295911185e-05 -2889 0.0010998833863405265 -0.0008123075168541198 0 0 0 -6.821214949337199e-05 -4315 0.0005400321122457503 -0.00019860247039167633 0 0 0 -0.0001758989095624835 -9401 0.0013727923249565435 -0.0014740258721857317 0 0 0 0.00016031440707779532 -4322 0.0008580481361435834 -0.00016833615915505559 0 0 0 2.934011030970765e-06 -4380 0.0012090032599446313 -0.0007245893582400578 0 0 0 4.256983548662088e-05 -4389 0.0009119773761022735 -9.764428214028579e-05 0 0 0 -2.6003051879506226e-05 -96 0.00123031144620122 -0.0007301823630045484 0 0 0 1.409216608033899e-06 -4403 0.001065886784415743 -0.0005592465098973878 0 0 0 -2.78172535915686e-05 -6051 0.0006670482162652224 -0.0002108369376986235 0 0 0 0.0001499185702087286 -4417 0.0010838486939660098 -0.0005557004438366957 0 0 0 8.794451484589057e-05 -4435 0.0009163792585483783 -0.00014444763078346395 0 0 0 -2.3203366115192858e-05 -4467 0.0009798590576434382 -0.0001520004062190232 0 0 0 -2.1552889496828956e-05 -9284 0.0010392554894810082 -0.0003287365542113447 0 0 0 1.7819677864309985e-05 -4532 0.0009570656023572091 -4.1621807020683184e-05 0 0 0 -3.741599850119128e-05 -4540 0.0010747806177027629 -0.0004407199164260754 0 0 0 3.498677830488278e-05 -9672 0.001012299307875573 -0.0002856735892324547 0 0 0 2.1753979491776377e-05 -4569 0.0009816300179043991 -0.00010292449336468706 0 0 0 -5.513577596939218e-06 -2618 0.0009099716232542892 2.2922555839857416e-05 0 0 0 -0.00017212505139754206 -9460 0.00041470922197551347 0.00010883824463451955 0 0 0 5.9632814905598887e-05 -9468 0.0006677211318728437 -8.033576572643546e-05 0 0 0 -6.865069007107804e-05 -4617 0.0004833035660341364 -7.175973804737272e-05 0 0 0 -6.636431516799893e-05 -4625 0.000970752001085408 -0.00014026354506525433 0 0 0 2.266991289310936e-05 -4631 0.0008687019042487584 -0.0001561244918007288 0 0 0 -4.31717841608292e-06 -9588 0.00041473635874657473 -0.00031066092477169036 0 0 0 0.00012994837733858912 -7810 0.001035503802444532 -0.0003533764408587753 0 0 0 6.822443351223046e-05 -6079 0.0005786245124042176 0.00031154227428772447 0 0 0 -0.000259651160371699 -4715 0.0009654149277060763 -0.00015373979861076483 0 0 0 -4.1036058195344016e-05 -4719 0.0007005891775961655 -0.00015413530710293682 0 0 0 1.5345903399777907e-05 -4757 0.0006307131332163606 -0.00021386753587563203 0 0 0 -2.8858841529381082e-05 -4788 0.0011438054939727734 -0.0007316194627217364 0 0 0 2.522829925364877e-05 -9705 0.0008322329614913484 -0.00020821244701886872 0 0 0 4.7673554787222e-05 -4860 0.0011010790007148026 -0.0004793346956815076 0 0 0 3.9866712372778457e-05 -4875 0.000853210660766614 -0.00015540318363228714 0 0 0 -3.7249042898673837e-06 -4923 0.0009929125816667858 -0.0002846889879123241 0 0 0 9.778184244324697e-06 -9260 0.00032020985546446295 -0.00027624690973576037 0 0 0 -0.0003251700708299824 -4952 0.0011657590717397209 -0.0005972691355813829 0 0 0 7.253148881794227e-06 -4962 0.001084245958915511 -0.0004994431625688624 0 0 0 -0.00012735147877026637 -9743 0.0010173614910359264 -0.0002940648683497425 0 0 0 -3.3905438960860306e-06 -4968 0.0007836443318614876 -0.0001237320894219812 0 0 0 5.089121885898582e-05 -5035 0.0009299292475081838 -7.452139435486365e-06 0 0 0 4.220067137140584e-05 -1456 0.0008596966048894728 -0.0004038972865063316 0 0 0 0.000288588666965653 -4114 0.00024009491844796804 0.00027669379687888856 0 0 0 -4.544648297967834e-05 -4084 0.0012388073263052191 -0.000815431000927251 0 0 0 -1.2776268656407404e-05 -5078 0.0010976621369208149 -0.0004567885467996524 0 0 0 -3.842899294061279e-05 -5094 0.0006274974473513689 6.59328837485329e-05 0 0 0 -5.964529250808966e-05 -5166 0.0006510807098907905 -0.00016458226539507002 0 0 0 0.00018301558286129682 -5168 0.0010092183490471038 -0.0003341883414142007 0 0 0 -1.0600172512592402e-05 -5243 0.0010191184332170196 1.1142416322787802e-05 0 0 0 1.1142203987942068e-05 -5245 0.000983886044009934 -0.0001719507066344878 0 0 0 -4.875068705176267e-05 -5295 0.0008366660014809566 -0.0006287193932709831 0 0 0 2.444843051521943e-06 -5302 0.0009997473793318368 -0.0003068396562396722 0 0 0 -1.7866251219667663e-06 -5308 0.0009496758616532592 -0.00043414620051533426 0 0 0 -3.629287880612803e-05 -5316 0.0009594632285752205 -5.1165826435063865e-05 0 0 0 0.0003265818711342898 -5317 0.0006740273436376926 -0.00011912286670483343 0 0 0 -3.0680813501146774e-05 -5328 0.0005001554781296591 5.0578772740711455e-05 0 0 0 0.0002743388560196979 -5356 0.0008941391347027395 -7.030126571129137e-05 0 0 0 -5.3191762731575876e-06 -5402 0.0008830987268154912 -0.00018291893878491383 0 0 0 -4.970245888922238e-06 -5426 0.0009048270959633948 -0.00014687149800385457 0 0 0 5.99172201883237e-06 -5446 0.0010000918726099553 -0.0005893843710638232 0 0 0 1.6675766373177232e-05 -5449 0.001048186723273202 -0.000533903650297469 0 0 0 5.4236337242231124e-05 -5001 0.0009574010686128959 0.00013708329264487182 0 0 0 -3.339962820956194e-05 -39 0.0009514992971699232 -0.0005554859016872436 0 0 0 -7.737669286468448e-06 -5485 0.001146150297611025 -0.0006631281244071872 0 0 0 -8.08515636476011e-05 -3873 0.0007479139429807624 8.687625949388275e-05 0 0 0 2.54122428248371e-05 -5498 0.0009668955791403426 -0.0013996426089584156 0 0 0 -0.0006088618734622516 -9210 0.000999220851803218 -0.0003440682752124753 0 0 0 4.18598236652155e-06 -5503 0.000992279274958384 -0.0003386091346789592 0 0 0 2.954324205047747e-06 -5511 0.0010865609100287918 -0.00046398790661547693 0 0 0 -3.076636967055937e-05 -5521 0.0011113384229606393 -0.0005498847068422157 0 0 0 -8.690656927993085e-05 -5525 0.0008071613958307342 -0.0005754226698386184 0 0 0 0.00018263912436239293 -5567 0.00047344536339171745 -0.0002024544808476691 0 0 0 0.0009260413622113488 -5572 0.0011188229246181975 -0.00043189454523759254 0 0 0 2.4783249737311726e-05 -5597 0.0009146764772593478 -0.00015111721976269557 0 0 0 -2.258613292743092e-05 -5622 0.0007642339959049348 -8.905741013178685e-05 0 0 0 2.307853091937925e-05 -5623 0.0011096390479499994 -0.0007028776478319818 0 0 0 5.1539609348573634e-06 -5647 0.0006778483301766812 0.00011615353145391648 0 0 0 -4.664132561464348e-05 -5659 0.0008696995853498069 -0.0005325124615926376 0 0 0 -0.00017917551441624978 -2856 0.0008414608253365045 -4.353587306090213e-05 0 0 0 -7.614202934862612e-06 -5700 0.0008770983362845364 -0.00020482470503937415 0 0 0 -2.064311845696322e-05 -3626 0.0007614058025738276 -0.00013284472575160269 0 0 0 0.00012966531342542624 -5824 0.000958986623618886 0.00013096405910729443 0 0 0 -3.7214685234188517e-05 -9109 0.0007128812082803202 7.48819663859763e-05 0 0 0 -2.276616072669955e-05 -5795 0.0008996652918757495 0.00012019588351193616 0 0 0 6.467572150068678e-05 -5808 0.0010134313065402057 -0.0001549407739902701 0 0 0 1.1160766012365641e-05 -5816 0.0006546282903737736 2.846266064591208e-05 0 0 0 -3.944269406478917e-06 -5826 0.0009636369888178849 -0.00034234912789180477 0 0 0 1.2229466269157252e-05 -5849 0.0010220835998847857 -0.00040678253860823875 0 0 0 -6.150545292685314e-05 -5851 0.0004598296776872439 -8.195228589882777e-05 0 0 0 -0.00012387764401227235 -5868 0.0010839870616651261 -0.0005433719987830263 0 0 0 -3.46570694525575e-05 -5891 0.0009267852883074304 -0.00024692106243728304 0 0 0 6.831142440473323e-05 -5951 0.0008993437776346362 -0.00043415722713745604 0 0 0 -5.216347633388235e-05 -5984 0.0009449341501051725 -0.0003460528163294287 0 0 0 -7.933565490496579e-05 -5987 0.0009573133882430382 -0.00042277936316125505 0 0 0 -1.349099583431264e-05 -6041 0.000901833961581377 -0.0005129393294348608 0 0 0 0.0002612290034420164 -9879 0.0008581358909461686 -0.000127393831025728 0 0 0 -8.408289591300226e-06 -9928 0.0008300512327498026 -0.00011050094128364662 0 0 0 0.00038389874118651443 -6105 0.0006079100197040335 -6.713913319385857e-05 0 0 0 -6.0143023771421324e-05 -8802 0.001226511117311931 -0.0007694465396258619 0 0 0 5.0771492384724175e-06 -6146 0.0005322704933032139 -0.00011210701592770428 0 0 0 -3.9502888349277896e-05 -6151 0.0009341771024974105 2.4540078119007095e-05 0 0 0 3.594858902790926e-06 -1017 0.000432222672623173 0.0002552398550307609 0 0 0 -3.3864839837048455e-06 -6196 0.0011161757587705554 -0.0007014832398317733 0 0 0 -1.1490379605276387e-05 -6216 0.0018150094970312619 -0.0019523937566669049 0 0 0 -0.00027193882200064165 -6229 0.0010460507659802957 -0.0005486032058854547 0 0 0 -6.922819047817994e-05 -6258 0.001574969621772726 0.0010416881538050271 0 0 0 0.0007214097512301972 -6284 0.0008063547788664461 -0.00043523747748901723 0 0 0 -3.815770235784966e-05 -6305 0.001104916746138839 -0.0004244595191459077 0 0 0 -4.312391701549282e-05 -2770 0.0006180578689762176 0.00019859005312749547 0 0 0 6.077308841476938e-05 -6325 0.0009136286890056574 -0.00047479257473227645 0 0 0 -2.52297750733583e-05 -1646 0.000803808191718722 -2.233219184143656e-05 0 0 0 1.0713026198859987e-05 -6376 0.00091438805608839 -0.00015172405799935494 0 0 0 -1.0820522756124419e-05 -9896 0.0010703426124533076 -0.0005543018681208322 0 0 0 -1.6485377064582413e-05 -3352 0.0009657101889312423 9.690799316970799e-05 0 0 0 -2.032330421694953e-05 -6398 0.0011158975359384469 -0.000541551070067579 0 0 0 -0.00010921455838740122 -6416 0.0004638911457826581 -0.0007221793503539052 0 0 0 0.00022774222446053625 -224 0.0003849822418680344 0.0005092213445783954 0 0 0 -5.31036335069026e-05 -6439 0.0009439070400410498 -0.00033149443579943787 0 0 0 7.98258122823028e-05 -6447 0.0006722981684505401 -0.0001077655794274291 0 0 0 2.018425804474528e-05 -6451 0.0006878970915977357 -1.3261226237177576e-05 0 0 0 -5.6275880562547526e-05 -6460 0.0009875663316028505 -0.0002761602225327729 0 0 0 4.1125758097076e-05 -6466 0.0009616240604119939 -0.00018575925428591998 0 0 0 -3.5605455350531256e-05 -6473 0.0009800247276310601 -0.00031565969557089817 0 0 0 -5.33017777524902e-05 -6501 0.0007867731341986334 -0.00013424842229702266 0 0 0 1.2197556233396005e-05 -9354 0.001009940917876702 -0.0003719458229998786 0 0 0 -7.707598222376046e-06 -9451 0.0010518869219140635 -0.00013129985607168726 0 0 0 -2.1992418670197735e-05 -6569 0.0008569255943937477 -9.251506846257723e-05 0 0 0 3.0543701845989206e-05 -6611 0.000553122949632749 9.065282570791258e-05 0 0 0 -9.708266420655939e-06 -6634 0.000830048437254984 6.746032773258363e-05 0 0 0 9.51849435251212e-05 -6638 0.0010949645753326725 -6.96354872605823e-05 0 0 0 6.935861603063259e-05 -6656 0.0009988755077993084 -0.00034397190056195546 0 0 0 -5.635533747737104e-05 -6707 0.0010150080580384074 -0.0005915287022290993 0 0 0 6.938196990465178e-05 -6731 0.0009049510634276912 -0.0005675228186263624 0 0 0 -9.997069125418464e-06 -6734 0.0007578642150067145 -8.057782255386557e-05 0 0 0 6.897881816920345e-05 -6746 0.0010179078784138221 -0.0004248151774609951 0 0 0 -1.377563198581826e-06 -6764 0.0008988704064675115 -0.0002464267703438025 0 0 0 -1.1821311052819553e-05 -5682 0.0009246424082461735 -0.000436052115667927 0 0 0 -0.0004329313792631413 -6799 0.0010313865907244073 -0.0003363741344469173 0 0 0 -4.20508462733273e-05 -6822 0.0009899805457392076 -0.0007444423625660825 0 0 0 -0.0002994176000818506 -1987 0.0007500974969072496 5.0196785613236796e-05 0 0 0 -1.7034296257763354e-05 -6920 0.0008322297230379728 -0.00015840878693220808 0 0 0 0.000495691107310562 -6939 0.0006433034957743038 -0.00015053265312848645 0 0 0 -8.679834404508965e-05 -6940 0.0010840275736530164 -0.0004635741893711666 0 0 0 -5.711264545275555e-05 -9963 0.0010301493634821259 -0.00042485820521704184 0 0 0 4.307583225530581e-06 -7052 0.0008880468648753253 0.0001685452257378944 0 0 0 0.00011498993617465725 -7060 0.0009307387094729 -0.00035846435887133165 0 0 0 -5.637544515886769e-05 -7131 0.000511197507691142 -0.0014604359682255023 0 0 0 -0.00018855799518225649 -7179 0.0010702268559842623 -0.0004435859986496529 0 0 0 6.294142155385711e-05 -7188 0.001033838958183162 -0.0004450482568836661 0 0 0 5.289204198703448e-06 -269 0.00111733317159525 -0.0006858232164653849 0 0 0 8.685076600557561e-06 -7202 0.0011077106860444283 -0.0006324080339950618 0 0 0 -0.0001392187546657315 -3511 0.0005015443750215958 -0.0006230708633006837 0 0 0 -0.00029247651849497803 -7219 0.000909161289513804 -0.00026018670093531113 0 0 0 3.2023454680393506e-06 -7266 -0.0004776761815201555 -0.00046210042300590045 0 0 0 -0.0007342831474038485 -7274 0.0009773614228214015 -0.00012161849628453326 0 0 0 -3.8270968163652e-06 -7277 0.0011056976986843555 -0.0001392002406138742 0 0 0 0.00018349551555506155 -9323 0.001031129622475848 -0.0005518579866219001 0 0 0 -2.7678973675037852e-05 -7317 0.0009166055777076453 3.6506812170943345e-05 0 0 0 -8.040910178324407e-05 -9954 0.0007592945631943218 -0.0002524694893779593 0 0 0 7.26786249598505e-05 -7392 0.00041299847272725353 -0.0011043316177727232 0 0 0 0.0011250167595380231 -7352 0.0009955986278867295 -8.6038717936709e-06 0 0 0 -5.013357755450941e-05 -3425 0.0003711788286451484 0.00025837475751039335 0 0 0 -2.46184742976574e-05 -3088 0.0010241002516141497 -0.0004124812725109807 0 0 0 -6.500265165867198e-05 -7398 0.0010184284437053488 -0.00038030098293969917 0 0 0 2.1346496331997204e-06 -9283 0.0002543847516460285 -0.00040206105038767987 0 0 0 -0.00033746694801043504 -9839 0.0008477106639607471 -0.00030731773954803017 0 0 0 -0.00022405388339675325 -7450 0.0009509290496350453 -5.814780602578872e-05 0 0 0 -2.7610377228013954e-05 -6876 0.000689240371352493 -5.901191658121738e-05 0 0 0 2.4510278529725536e-05 -7504 0.0009117786083550587 -0.00025694024857566037 0 0 0 -0.00035367739461351054 -7512 0.0008793499141239135 -0.00018754440241785364 0 0 0 1.2265521111609144e-05 -7521 0.0010703291167483793 -0.0004606722557700633 0 0 0 -1.6686163622531888e-05 -7527 0.0010313734103924097 -0.0005927252294005314 0 0 0 -3.321327586467651e-05 -7541 0.0010200550271797903 -0.00013576947442577345 0 0 0 4.622566732272913e-07 -7551 0.0010823804781604442 -0.0005227438737868927 0 0 0 6.021825618615227e-05 -4949 0.0012426320525454981 -0.00078714665312476 0 0 0 -6.711258541659055e-06 -7576 0.0008807677806903151 -0.00039572213319625247 0 0 0 9.779714062528505e-06 -7578 0.0008928516561454217 -0.0002764692820226331 0 0 0 0.00021644837714346929 -4614 0.001172600269103655 -0.0008275983665758776 0 0 0 0.00011201405112623556 -7624 0.0009821926523576774 -0.00026089544836715295 0 0 0 5.02774251672365e-05 -7644 0.001140820363231827 -0.00072020259189283 0 0 0 4.279034739896491e-05 -7655 0.0003052255714229256 -0.00045202202323620046 0 0 0 -0.0006140852292895636 -7656 0.001073308097396279 -0.00047468156146704757 0 0 0 -0.00011057132826606179 -7658 0.0008744286994160203 -0.0004020615555060306 0 0 0 -0.0003308240008227234 -9514 0.001239784254261467 -0.0007947748482973466 0 0 0 -1.1933157481924774e-05 -7675 0.0010263374835704842 -0.00037027725860428866 0 0 0 0.00029304230547239817 -7686 0.0009592526406445958 -0.00041210870829899406 0 0 0 1.4038211945178849e-06 -7689 0.0006214901451996455 -0.00015768473493191378 0 0 0 0.00010545108783306149 -7696 0.001570153968326058 -0.0010929772753477441 0 0 0 0.00033992092907744373 -4352 0.0012336771090957627 -0.0007840604640830706 0 0 0 -3.5291437392897676e-05 -7724 0.0009191897533519008 -0.0001109665724041741 0 0 0 9.992508608805552e-06 -7772 0.0011002083477388862 -0.0003552507929653839 0 0 0 -3.687873443977204e-05 -7774 0.0011523243465840227 -0.0006286786595940037 0 0 0 -8.278460473020245e-05 -8274 0.0006884502864638085 8.596997938155284e-05 0 0 0 -1.4218005026269674e-05 -7791 0.0009466698181373106 -0.00011092779475784824 0 0 0 -5.938246343399304e-06 -9132 0.0010095026874280052 8.308695279836918e-06 0 0 0 0.000566576398751396 -7799 0.000722976680840325 -0.0006114695829212491 0 0 0 -3.08287213995989e-05 -7196 0.00030867702935729116 0.0005682027114205294 0 0 0 0.00043032870213284644 -7819 0.0010633472555739844 -0.0001410779560917936 0 0 0 -7.571159719988553e-05 -4674 0.0011785686142927485 -0.0006792318614396562 0 0 0 9.520560025120618e-05 -7826 0.0006158412305578466 -0.00010605052572249149 0 0 0 0.00013253068989201158 -853 0.0008499998829427785 -0.00013767929280760738 0 0 0 0.00013086637044188207 -7894 0.0009839080737664805 -0.00033281831778683284 0 0 0 -4.866501983064125e-06 -7907 0.0011403194090381832 -0.0007541123902009278 0 0 0 3.04167792361066e-05 -7915 0.0011174583269439157 -0.0005818399883126336 0 0 0 2.062664939275426e-05 -7954 0.0011017632340847281 -0.0004574964184561958 0 0 0 1.5483366899522666e-05 -5881 0.00010270380425366381 0.0003467302488874269 0 0 0 0.00030964891248218604 -7963 0.0010051584908861346 -0.0002829654389883426 0 0 0 4.0429767432234e-06 -3989 0.0005493940119279198 0.0001597101379028564 0 0 0 1.4075608798965338e-05 -7994 0.0010136237275989023 -0.000282196062064174 0 0 0 -3.167421033895297e-05 -8036 0.0007599956039334788 -0.00011129892302755378 0 0 0 4.8662506985315535e-05 -8039 0.0010422164247569463 -0.0005400474917723507 0 0 0 5.4947808010503694e-05 -8068 0.0010031787069724428 -0.000268793273299168 0 0 0 -0.0007751025591089359 -8078 0.0010896124860811868 -0.0005947774211523277 0 0 0 4.637535592124544e-05 -8087 0.0010676444578074464 -0.00044161805706291967 0 0 0 -3.381613353827634e-05 -8120 0.0009018651648696547 -0.00025841372309430625 0 0 0 0.00029472659270689326 -8122 0.00045091407114787764 4.732230235407593e-06 0 0 0 -0.0002075532389584289 -8153 0.0008195355395332453 -2.5576561544718206e-05 0 0 0 -3.0176634460539292e-05 -8154 0.0009927279377643478 -0.0003462167171608505 0 0 0 0.00030818729575623387 -8159 0.0008934467970750665 -0.0002431296603880108 0 0 0 -8.833598219214562e-06 -8174 -0.0020034090429496385 0.00014755741678438612 0 0 0 -0.001820894690416863 -8177 0.0008859782002568603 -0.0001979361488486941 0 0 0 1.424659564309311e-05 -8197 0.0009041180410618321 -0.000335323273985549 0 0 0 -0.0002839222910635709 -8211 0.0008590534154656088 -0.0001114104358978413 0 0 0 -4.67091450322973e-06 -9581 0.0010285743060553612 -0.0004236762293903044 0 0 0 -4.024455540887284e-06 -1444 0.0001362700163980972 0.0002740390209406788 0 0 0 7.280469455971439e-05 -109 0.0010621470942282034 -0.00033665270767272625 0 0 0 8.15217749924262e-06 -6329 0.0012074329967713992 -0.0007571056828902986 0 0 0 -6.800201772315785e-06 -8364 0.0009335333044982544 -0.00023598481142821803 0 0 0 -5.838079482112235e-05 -8374 0.0010037710935500849 -0.00028614448837324387 0 0 0 -2.5291501715852148e-05 -8397 0.0010045974050454745 -0.0002492451443283209 0 0 0 9.04550074863633e-05 -8461 0.00034091155656532763 -0.00010049275653217989 0 0 0 -5.411903270316338e-05 -9655 0.0009990607174040521 -0.00016570515639666327 0 0 0 3.7987022022932144e-05 -8498 0.0008644857069938237 -0.0006313766794865409 0 0 0 3.8142275652848246e-05 -8522 0.0009276778444300539 -9.243850119897026e-05 0 0 0 6.069323645847339e-06 -8527 0.0027805089296881365 -0.0008090623884817317 0 0 0 -0.002305780988122651 -8529 0.0010795483827507322 -0.0006709812524700285 0 0 0 5.7492845035956484e-05 -9431 0.001111422693782204 -0.000475554539461892 0 0 0 1.687797555371014e-05 -8560 0.0005005733265010374 3.882556248874498e-05 0 0 0 5.3094539430118836e-05 -3332 0.0006576916420678409 -0.00012481362133898326 0 0 0 -0.0001128930548264841 -5687 0.0009937416597566352 -0.0005392957710381799 0 0 0 3.0227500463981604e-05 -8602 0.0008973140181213382 -0.00022401975542338495 0 0 0 -2.8194991189425646e-05 -4589 0.0007900199745342026 -0.0004987803502048375 0 0 0 -9.867558566848059e-05 -8723 0.0009831349242342474 -0.0005890696245314865 0 0 0 -1.0002913078743033e-05 -8725 0.0005911779225756675 6.546309352822854e-05 0 0 0 -3.162669234547742e-05 -8726 0.0009740072486294937 -0.00031124931939168605 0 0 0 4.392723489422614e-05 -8751 0.0020187573525442364 -0.00037918607103132524 0 0 0 -0.0001623167384515033 -8753 0.0006190837384757999 -0.00013805269120950817 0 0 0 1.5425555162862952e-05 -8786 0.0009491530193154943 -0.00036512931458826365 0 0 0 2.097414174078803e-05 -8795 0.0010345911699943154 -0.00043552275572171473 0 0 0 2.3187567622462407e-05 -5488 0.001035960681367373 -0.0003819565643761478 0 0 0 -5.749404290764959e-05 -9289 0.0008669627795606287 -3.860760969990996e-05 0 0 0 -3.203732773560419e-05 -8865 0.0009360442368762999 -1.5087179699029076e-05 0 0 0 -4.2912413918975137e-05 -8874 0.0009130536679939703 -0.00014041551163885085 0 0 0 -5.345290115359493e-06 -8882 0.0006895268069699898 -0.0005686075208338365 0 0 0 0.00013262633481280059 -8883 0.0009691931862188611 -5.521182171474516e-05 0 0 0 -1.8851770048373678e-05 -8887 0.0010773387010093484 -0.0004390260550113206 0 0 0 -1.1218678708715646e-05 -8889 0.001015383879741349 -0.00029338520818601965 0 0 0 -1.7244011012327185e-05 -8903 0.0010785375335198519 -0.0004543427003690984 0 0 0 -9.520395160663575e-05 -8921 0.0010909722374822465 -0.0004168952676613466 0 0 0 1.1310664042893249e-05 -8931 -0.00034613009659108544 -0.0012314199961873042 0 0 0 0.0006601536717021098 -6499 0.0007394420244887523 -2.4193113065063385e-05 0 0 0 -2.3506713282949725e-05 -563 0.0007135188945106928 0.00011271137438492044 0 0 0 -1.530137392423584e-05 -9060 0.0008609562050910378 -0.0005883189420297532 0 0 0 -0.00019718981112557763 -9073 0.0010395184689075021 -0.0005935099256398586 0 0 0 9.82163599968626e-06 -7575 -0.0003002637900638973 0.00042148302140931324 0 0 0 -6.662054595659221e-07 -7456 0.0012530292632393462 -0.0008316978595123215 0 0 0 9.94540717650838e-06 -5806 0.0012143033535458043 -0.0008218786997092467 0 0 0 -7.438360897074268e-05 -413 0.000693692137637391 -0.00017371919732805198 0 0 0 5.461452981161166e-05 -8021 0.0009883027511357863 -0.00043778923998690514 0 0 0 -5.6480672040812175e-05 -3391 0.0004057822558923005 -0.000294582598456396 0 0 0 -0.00011503252838987715 -8537 0.00045625734344058094 -0.0006199764780617244 0 0 0 1.5401845063153915e-05 -3493 0.00019440847908082734 -0.0003727635225664712 0 0 0 -0.00012390478468818483 -8552 -0.0004345212208400672 -0.00011023272937885039 0 0 0 3.091508395924326e-05 -10 -0.00025214836484322773 -0.0003339076585531128 0 0 0 4.121925901612861e-06 -23 0.00023822475152072511 -0.0003830483138913912 0 0 0 6.3059448265802e-05 -8734 0.0008276639873386068 -0.0005818500768000045 0 0 0 0.00032192808403147695 -77 -0.0004998127625688718 -0.00020503719903439152 0 0 0 1.8110878412172517e-05 -7811 -0.0003880464952179722 6.57902769476674e-05 0 0 0 9.224637506213155e-05 -4943 -0.0005414402894122287 0.00015159629161608235 0 0 0 0.0002650946878479254 -7370 0.00026084904038189163 -0.000411139369145235 0 0 0 1.711523042734982e-05 -9850 -0.00031867722249944775 -3.025965636771865e-05 0 0 0 -5.561968037798151e-05 -172 -0.00041146768035456093 -0.00013105905193088157 0 0 0 3.8627898658187595e-06 -301 -0.00046208797545215576 3.9652516150655995e-05 0 0 0 9.029305054912722e-07 -354 -8.05127035759835e-05 -0.0009810493281739606 0 0 0 -5.5679316825810575e-05 -369 6.074050030291305e-07 -0.0007646861130252498 0 0 0 1.5828206188387814e-05 -3560 -0.00042070179655117305 -0.0005991974311688737 0 0 0 -0.0004938072675482477 -401 0.00024730118632805087 -0.0004892267381745156 0 0 0 0.00011101235656138652 -8643 0.00020603152828573928 -2.0568871682026368e-05 0 0 0 0.000466356916994522 -417 0.0006297902880647374 -0.00046858393634918055 0 0 0 -9.444277758736304e-06 -9373 -0.0007600782261670493 -0.0007072582780756102 0 0 0 -0.000567998323457424 -9709 4.187253250837962e-06 0.0003289075628982599 0 0 0 -0.0005709551021861025 -503 0.00037378942222058165 -0.00047046767693658444 0 0 0 -0.00016755116471012992 -547 -0.00030690197366030895 -5.4534534905203515e-05 0 0 0 -1.7301181790595212e-06 -578 -0.0007163855370763431 -0.0005706757309161902 0 0 0 -0.0001921264968658862 -619 0.00026665789984445964 -0.0005292989509463209 0 0 0 -0.00014961878037075528 -633 -0.00044626632557983616 -0.00021420986639191254 0 0 0 1.5799446596933543e-05 -9600 -0.0008404595485999732 0.00013450649945473872 0 0 0 -0.00031674283835924483 -673 -0.00041308471249403266 -4.135458124489518e-05 0 0 0 5.782663499027343e-05 -761 -0.0005215335965776352 -0.0001768329545919092 0 0 0 2.074067196891952e-05 -130 -0.00046984376726854916 -8.74909858884462e-05 0 0 0 1.0718260121474312e-05 -855 -0.00046374412400508033 -8.466184968453579e-05 0 0 0 5.885256711496669e-06 -1277 -0.00030956130041568904 -4.43717790125111e-05 0 0 0 -3.856500183989981e-06 -6521 0.00017312959386721203 -0.00037767330401666804 0 0 0 0.0001533278278382881 -910 0.0008346540228833328 -0.0004811686000901875 0 0 0 5.9969437840677195e-05 -970 -0.000255903576375761 -0.0006827807935567537 0 0 0 -9.68526753948682e-05 -9281 0.002748711058227359 -0.0023489382192921873 0 0 0 0.0030220877813659703 -1026 -0.0007208425541880218 -0.0005672567609007733 0 0 0 0.00014217968532221037 -1064 -0.000531138683143127 8.507531470233337e-05 0 0 0 1.5123886905330809e-05 -1085 -0.0003931442820171347 -2.763765124928694e-05 0 0 0 -3.266955271077163e-05 -9771 -0.00042672956438673644 0.0002042800965583429 0 0 0 -0.00021636514544875026 -2254 -0.0002764182945435159 -3.2136720874779264e-06 0 0 0 7.301874087728787e-06 -1165 -0.00040560931630863247 -2.0901756378353476e-05 0 0 0 1.8310973358837133e-05 -8646 -0.0005138772441900091 0.00011799951267130265 0 0 0 -3.2858113464922485e-05 -1176 -0.0004168983271500507 -7.343356097456269e-05 0 0 0 1.3524022590312115e-06 -1179 -0.0005499962088566251 -0.00011563075759695327 0 0 0 4.978213001762467e-05 -1226 -0.0005671897667490661 7.57592937329316e-05 0 0 0 1.7876640891831297e-07 -7003 -0.00035168573391644635 5.6563406056585756e-05 0 0 0 6.569753739070257e-05 -2582 -0.000928751365364999 -0.000684258041370958 0 0 0 -0.00014260805813289288 -1314 -0.000488046465698301 0.001099689147083355 0 0 0 0.0003309017141529266 -4189 0.0007770426905676775 -0.0006498444662622246 0 0 0 5.404094533383893e-05 -1322 -0.0006421242608055485 -0.0003330924966889672 0 0 0 4.1010714258693114e-05 -9264 -0.00041495480555991547 -4.6938667755493624e-05 0 0 0 8.671483535453578e-07 -8384 0.00028046009762227865 -0.0002783953969097566 0 0 0 -0.000300617797830447 -1521 -0.0002939788705560837 -0.0009587566323424997 0 0 0 -0.00022386828152112055 -410 -0.0003156076945865062 6.052788943339078e-05 0 0 0 8.361911324048741e-05 -1604 -0.0004890036947777696 3.3544683346651985e-05 0 0 0 -3.5617817816743526e-05 -9590 -0.000522456419610743 -0.00015112337754045771 0 0 0 -6.736667711653886e-05 -9058 -0.0003227040228622127 -3.2397976862950965e-05 0 0 0 -8.127755099931718e-05 -1719 -0.0007033603922408602 -0.0002771481584453294 0 0 0 -0.00022528440843778286 -1751 -0.0002927561369535291 -0.0002888715608553447 0 0 0 -8.51560102577531e-06 -8739 -0.0004231197065402941 -0.00029734678890102766 0 0 0 0.00010993170463968741 -1788 0.00016320558792517798 -0.000929101576278873 0 0 0 2.61889150878742e-05 -1823 -0.00039823380564851915 -0.00014915037535897168 0 0 0 -4.349274002735602e-05 -8242 -0.00053501729401525 8.298824258708742e-05 0 0 0 -0.0002778287113542395 -1856 -0.00021810381592488043 -0.0008304409836022482 0 0 0 -4.4905032941463296e-05 -9160 -0.00042641005197570597 1.5485851009447178e-05 0 0 0 0.0002405274830660187 -1881 -0.00020872294986041425 -7.728744354198333e-06 0 0 0 5.545390356367456e-05 -1898 -0.00012242505039505847 -0.0004547908941297412 0 0 0 0.0002535816593537306 -1925 0.0002948108314383293 -0.0006419488201694032 0 0 0 0.00026642956521894407 -2263 0.00022584529715940414 -0.0008803899615547588 0 0 0 1.1590648135530569e-05 -1966 -0.00030879212580017844 4.218844474237534e-05 0 0 0 1.2509836597431733e-05 -3931 0.00036071552006130474 -0.0005034782329664255 0 0 0 3.199965235888601e-05 -1979 -0.00021780140456809465 -0.0005974218511818564 0 0 0 -0.00017444114238956935 -1990 -0.0004617783362799146 -0.00013985754284786815 0 0 0 9.4528477131478e-06 -2014 -0.0003887840188905955 -5.532827833423603e-05 0 0 0 2.2184630775441102e-05 -9627 -0.0004123585243543612 -2.990761820043342e-05 0 0 0 -0.00021447440832975898 -2075 -0.0004697889768427825 4.70504106342329e-05 0 0 0 -0.0001284490787881388 -2061 -0.0002541254548044324 -0.0005276505700844694 0 0 0 -0.00012594502247981705 -2114 0.0004761101028687331 -0.0005534353788495922 0 0 0 0.00015126926784382594 -2121 0.0005440406311083647 -0.000534392397099564 0 0 0 -0.0004535927356190295 -2158 -0.00044994624613889145 -0.0003286637300268746 0 0 0 -5.614862382384624e-06 -2159 -0.00039234447071850013 -1.0704929662791608e-05 0 0 0 4.6090409379527443e-05 -2166 0.00047406565355988153 -0.0005682382203744826 0 0 0 4.7337974551301975e-06 -5430 -0.00037509897210368686 4.187833952463678e-06 0 0 0 3.250553623841958e-05 -700 0.0003372945616102759 -0.00023162287273889438 0 0 0 -4.00338660319762e-05 -2193 -0.00041719789522371765 -0.00020676652158007838 0 0 0 4.640966603983758e-05 -9537 -0.0002369129025269628 -0.00029317796504613647 0 0 0 6.88446930834452e-05 -5182 -0.0003289890950271116 0.0004111676723853838 0 0 0 -0.00033431892887440497 -4186 -0.0002888796668199577 0.00024289099187990075 0 0 0 0.00013057472983899428 -9252 -0.000464821490288458 -5.730725192076055e-05 0 0 0 -5.4687880812299745e-05 -5456 0.000322844194697355 -9.83627547652323e-05 0 0 0 -4.349218441478594e-05 -5730 -0.0003711719162902941 -4.526628235825347e-05 0 0 0 7.917350569576531e-05 -4825 0.00016613474200204227 -0.0008258128238360166 0 0 0 -0.000524870262125789 -2353 -0.0006374299774971803 -3.4633508704835775e-05 0 0 0 -5.078340001571138e-05 -2371 -0.0006353903603624556 -0.0003706376696865623 0 0 0 9.793329155410617e-05 -2395 -0.00041649531071042605 -4.492067553904468e-05 0 0 0 -0.00012666759289250585 -9605 -0.00042647578474207416 -0.00016762854499388177 0 0 0 -0.0005517759911910405 -2431 -0.0006365982725757747 -0.00010571854536912941 0 0 0 2.540083135012967e-05 -2465 -0.00026581083382761536 -0.00040153007354276686 0 0 0 9.160334963908359e-05 -2502 0.00012085262318868237 -0.0005495139488195638 0 0 0 0.00010396447715815341 -8622 -0.0001963485464260408 -0.0003834342093072193 0 0 0 0.00016172771626788427 -9534 0.0004188882411558964 7.279200913226403e-05 0 0 0 -0.00022382976388211307 -2548 -0.00035237135052564294 -0.00023232464039827624 0 0 0 7.488670620798082e-05 -2556 0.0005844594961576929 -0.0004921531923526665 0 0 0 -0.00010191552391082126 -9637 -0.0004458289386768893 -0.00020360581889188379 0 0 0 -6.620501427657415e-05 -9763 -0.0005191465812210024 -0.0005743419931266622 0 0 0 0.0004411182284475849 -2593 -0.0004155114478321194 -9.473419865416705e-05 0 0 0 -0.0002160504505631956 -2594 -3.690338613332578e-05 -0.0003953157628878941 0 0 0 0.00017073141546288648 -2608 0.0004901832893418311 -0.00042142512047630185 0 0 0 0.0007005808176059977 -2639 -0.0004448965419402054 -0.00015860809819834713 0 0 0 2.153497943804947e-05 -9439 -0.00032037427985386464 4.499943315706956e-05 0 0 0 0.00011671401419842495 -2751 -0.0004296834516224628 0.00016242554524431924 0 0 0 3.627198029892156e-05 -4924 0.00042644211560035787 -0.0005699825110463095 0 0 0 -0.0003187075348523904 -2699 -0.00032468741402798804 -0.0006908110270872264 0 0 0 -0.0005797505382916391 -2704 -0.0006128921827493817 -0.00012449458351477264 0 0 0 3.1212741373979206e-06 -2715 -0.00030419756416307094 -0.00023419673979456834 0 0 0 -0.00011305797247704603 -9192 -0.0002247692451999669 -0.0007576750989618559 0 0 0 6.693031306790443e-05 -1373 0.00022461273462931431 -0.0003955567533013051 0 0 0 0.00011074895877107043 -9631 -0.000978687358687389 -0.0006629278387995891 0 0 0 -0.0004955936955974594 -2732 0.0006786770530622435 -0.0003992794535389685 0 0 0 3.554822780153256e-05 -9404 -0.0005460111669771866 -0.0001272532889586703 0 0 0 4.118465657924772e-05 -8609 0.0001895305094445747 -0.0002661594310204702 0 0 0 -7.669952583030742e-05 -8822 -0.0006844964958317482 -0.0007241869507167006 0 0 0 -0.0014351106924483834 -2879 0.00010165459742641209 -0.0005360263715182864 0 0 0 -0.00014450064850242772 -3025 0.00032518641499473154 -0.00023159903208393265 0 0 0 -1.537264218492206e-05 -2888 -0.000566374640099475 -0.00012164162770007782 0 0 0 0.00010308860313136413 -7667 -0.000718425830077487 -0.0007061829272879591 0 0 0 0.0006187444536056101 -377 0.0002841901115793003 -0.0004968313143448794 0 0 0 -6.619566318751765e-05 -2940 -0.0002541584178301629 -0.0006581690242968277 0 0 0 -0.0001697342990747521 -9595 -0.0005094786658950523 -0.00016250037951462222 0 0 0 -4.250472065963408e-05 -403 -0.00035479639106561413 5.0239401175460586e-05 0 0 0 2.0264378575589904e-05 -2982 0.0002591184746934083 -0.0005527696525366582 0 0 0 -0.00013300608040091102 -2985 -0.0005831311719042752 -0.0005313684893331238 0 0 0 0.0007142286093950011 -3019 -0.0002557085901414839 -0.0011472974035056155 0 0 0 -0.00034114079589140836 -3026 -2.5351060252459392e-05 -0.00026486693187306 0 0 0 0.00032554145228840366 -8563 0.0003849610637347353 -0.0006856581576816649 0 0 0 -0.00027487418268112954 -3084 -0.00042672066277633426 -0.00043384513633935954 0 0 0 -6.499707937973603e-05 -3091 3.939205170783457e-05 -0.0009306350754116718 0 0 0 3.189916409756677e-06 -4139 9.962763413097859e-05 -1.710530785006656e-05 0 0 0 7.43307865318219e-05 -3116 -9.885954446337053e-05 -0.0009272674405748756 0 0 0 7.886906517724634e-05 -3145 -0.00042406719287605446 -0.0006342643797279578 0 0 0 0.0007526122435075448 -432 0.00037711862159687485 -0.0006663967602236882 0 0 0 -4.665147585031155e-05 -3147 -0.0004223282007635216 -0.000627579389572255 0 0 0 -0.000687579995540364 -8239 -0.0005916558169968594 -0.00026502394926505434 0 0 0 -0.00014505668294101788 -1547 -0.0004990978335582669 0.00017973937747127702 0 0 0 0.00011827056366568377 -3180 -0.0001563951084803389 -0.0004027610668576773 0 0 0 -0.00016070008822424548 -3224 -0.0002445078879837209 -0.0006993375044539855 0 0 0 3.747330100365541e-05 -3268 -0.00031410148230919823 -0.0005728075660176151 0 0 0 9.870653221213967e-06 -3273 -0.0004068702719415738 -8.92845338270707e-05 0 0 0 3.1128817079230926e-05 -3292 -0.00019120221821392487 -0.0003591641246163342 0 0 0 -4.0185886856304014e-05 -3531 0.000562736906134317 -0.0005983333536303439 0 0 0 5.768383078122167e-05 -3069 0.0006326631269914237 -0.0006016822824574308 0 0 0 -0.00018309665194638053 -6413 1.8830953560419364e-05 -0.00032994136317266007 0 0 0 0.000501848655904944 -3415 -0.0005138336944098345 8.103512913290465e-05 0 0 0 2.3732135940485027e-05 -3428 -0.00018640892378553797 -0.0008020536771796605 0 0 0 -2.948104584655939e-05 -3471 -0.0004561150916318839 -2.5876457514638155e-05 0 0 0 9.595298426422787e-05 -272 -0.0005271130563840535 -0.00014304619176161004 0 0 0 4.070153992931361e-06 -3485 -0.0002461977938953725 -0.0006822841436821085 0 0 0 -0.0003068016149429573 -2881 0.0008752993751692157 -0.0005677624804717222 0 0 0 0.0002226453886802786 -8689 0.00036963664545515255 -0.0004554254160509306 0 0 0 0.00045788632696961416 -3658 0.00045785111028531436 -0.00021528652965312304 0 0 0 -6.0145912089160805e-05 -3660 -0.00014125574285896606 -0.00036564612196013276 0 0 0 3.7100277893343937e-05 -3684 -0.00045723444472164714 -0.00014270419548772983 0 0 0 -2.6615385646848603e-07 -4053 -0.00036795642282314755 0.00023165138501634412 0 0 0 0.00037566296815527787 -8706 0.0003393081770595676 -0.0005125109322050369 0 0 0 -0.00032775682564749017 -3827 -0.00044438315029251174 -0.0001342969632056526 0 0 0 -1.1279735492931201e-06 -8604 0.00028432481364366733 0.0004868260058711565 0 0 0 -0.002121899416721902 -3916 -9.688712730804791e-06 -0.00023411316567536778 0 0 0 -0.00037409310203036645 -8440 -0.0006946866319882675 -0.0006684927732252186 0 0 0 -0.0006123298888729431 -3924 -0.0004493053471320413 -0.0004283788511493443 0 0 0 -2.731106677792822e-05 -3935 -0.00018530179592653217 -0.000828634418387661 0 0 0 -0.00021679931932140598 -1231 -0.000513773302275471 -0.00017572816478914562 0 0 0 -1.1056171036644535e-06 -8941 0.00038885376062264314 -0.0007148698032368256 0 0 0 -0.00011920945041248508 -4055 7.953340847884617e-05 -0.0003755207070978509 0 0 0 -0.00036464561954787554 -9083 -0.00026872685190514615 -0.0009589829939399718 0 0 0 0.00016797332711568794 -7287 0.0003299234961458281 -0.0002539146550188925 0 0 0 0.00010114318124787895 -9620 -0.0004259105608323022 2.1256365807878094e-06 0 0 0 -8.716563140282378e-05 -4127 -0.00020409275603853916 -0.0006731178644381881 0 0 0 -5.741026581554445e-06 -4135 -0.00035384539436538907 -0.0002494491365694686 0 0 0 -1.6152578317968564e-05 -4156 -0.0005587535190525291 -0.00012032807626586148 0 0 0 5.630622903595611e-05 -4164 -0.00030479936129125377 -0.0001458536710155326 0 0 0 -0.00019106771476196216 -3186 0.000621900785535995 -0.0004564520774963997 0 0 0 -2.9092338215204624e-05 -1634 -0.00030793191696862717 -5.683674624474974e-05 0 0 0 9.962016297186805e-05 -5726 0.00046811037760737494 5.37505388502417e-05 0 0 0 -0.00224011861961281 -1815 0.00028978581063017353 -0.00031209265525447354 0 0 0 -4.6946417548669876e-05 -4313 -0.00032654370011183254 -2.0379668464656643e-05 0 0 0 3.981584436528849e-05 -4317 -0.00013281861128328166 -0.0007180181132246034 0 0 0 0.00010284414171793538 -4346 -0.0006690969773570062 -0.00029418354500720457 0 0 0 0.00013428457280320388 -4358 -0.00046415823977112613 -0.00020009539408507963 0 0 0 0.00013392011939906932 -6845 0.00031774300076322347 -0.0007445610004775376 0 0 0 0.00013341583528796874 -4399 -0.0001883125024098417 -0.00010985470599735358 0 0 0 -2.1080823758378003e-05 -4425 -0.00026064416267128007 -0.00031358545020391404 0 0 0 -4.748564168030535e-05 -4459 -0.00013903508688122384 -0.0010905265216120431 0 0 0 -0.00040240457795131704 -4463 0.00020287331942899073 -0.00036842908334242083 0 0 0 0.0001473682808018442 -7391 0.0007257555802587911 -0.0005055351568456543 0 0 0 0.00010348206891596736 -7101 -0.0005309397484521285 4.766319010017153e-05 0 0 0 6.042915247254509e-05 -4575 0.00019511469768247012 -0.0008851715604478761 0 0 0 -7.243620243625937e-05 -5069 -0.00042929547502989417 -1.6483454656654452e-05 0 0 0 -2.669563126869371e-05 -4613 -0.00026832411856992364 -0.0009698419282150584 0 0 0 -3.096940639560043e-05 -4652 -0.00047652941688878055 -0.000178583314141267 0 0 0 5.555408082911202e-05 -7334 0.0008692710910599476 -0.0005078534622755171 0 0 0 4.518972414246607e-05 -4742 0.0003156532596192297 -0.0005626545464344452 0 0 0 0.00031983213050124727 -4779 -0.0005969409328505326 -7.083455173009791e-05 0 0 0 -6.958308185723228e-05 -9957 -0.0005676380627690261 -0.00020999216111428388 0 0 0 9.998396265800297e-06 -4791 -0.00010063721013596128 -0.0008335541241261723 0 0 0 0.0001555419989970886 -8570 -0.0002603420936258065 -0.00012146050952094778 0 0 0 -0.0003534897235607761 -4892 -0.0004297958991963806 1.4513967741164883e-06 0 0 0 4.593540844524388e-06 -2534 0.0008021983436427041 -0.00036984854071860296 0 0 0 -0.00021640197940778783 -9719 -0.00043485027626455304 5.140460377311499e-05 0 0 0 -1.7964411379398712e-05 -9206 -0.0005346008221860678 -0.00014942515710266916 0 0 0 -8.118429464867993e-05 -4978 -0.00043267652120568967 -0.00013320878471471321 0 0 0 8.184074654938976e-06 -3696 0.0003316986760011279 -0.00023652183452389425 0 0 0 3.248010389346514e-05 -5002 0.00017664311714095824 -0.0003172192730836798 0 0 0 -0.0005292962247304094 -5006 -0.0004267129864707253 -0.0004247893974207344 0 0 0 9.792597553483474e-05 -5016 -0.0005505116713246411 -0.00021198860476302729 0 0 0 0.0001233645645206842 -1672 0.0001645509293990623 2.438425493500247e-05 0 0 0 -0.00017696172761093215 -5098 -0.00044971892343380094 -0.00012266331024963418 0 0 0 3.0362457504880292e-05 -5132 -0.00040771708169101456 -0.00011953380657493348 0 0 0 6.789398948378022e-06 -5177 -0.0003324469857871412 5.536723253981987e-05 0 0 0 -1.784442515702116e-05 -2139 0.00022514383965889859 -0.0004061269803662533 0 0 0 -3.601712703349798e-05 -5186 -6.99421854759216e-05 -0.0009536684728300732 0 0 0 0.0002181126280165925 -3386 0.0007351059532778166 -0.0005675510429033458 0 0 0 -8.68876709565766e-05 -8909 -0.00027398586499413326 -0.0007349874328338699 0 0 0 4.0227649666716785e-05 -5252 -0.0005510223970989185 -0.00012145357968014265 0 0 0 -2.8283022073549613e-05 -5253 -0.0006318502674232576 -0.00015334208291746095 0 0 0 0.001399538634135613 -5279 0.0003254871904191412 8.21651183848765e-05 0 0 0 0.0001119227940003053 -3476 1.6801626413208624e-06 -9.359523865612844e-05 0 0 0 -3.6455630224432925e-05 -6327 9.512496102436685e-05 -0.0008957799345068826 0 0 0 -0.0003842984779158181 -766 0.000340416523419355 -0.0003364121588710272 0 0 0 6.371139581528979e-05 -7593 0.000560657792605458 -0.0005378999238418565 0 0 0 -0.00010345091025632399 -5387 -0.0004041439183190858 -0.00010974443429667866 0 0 0 -5.0097392876682296e-05 -5393 -0.00043278070718949735 6.83789421924482e-05 0 0 0 1.3493282534283762e-05 -5399 -0.00037076549338438104 -0.00018442968532029498 0 0 0 5.7556945264031785e-05 -5418 -0.0001850695325754916 -0.0009917908076010696 0 0 0 0.00011879813154210083 -5428 0.00039377159900834445 -0.00020439131122145616 0 0 0 -0.00029652224400105104 -9149 0.000901794764655291 -0.0005333092430374328 0 0 0 0.0002380161076673052 -176 -0.0004083015636250623 0.0001826355841179463 0 0 0 -6.44558190985861e-05 -118 -0.0004022904969125879 -4.969764858896899e-05 0 0 0 -2.374085850109998e-05 -5454 -0.0004854585478119496 -0.00014736234321658707 0 0 0 -5.6712851613539675e-06 -9375 0.00043641397970419887 -0.0004641069494730105 0 0 0 0.0004153689726067465 -5491 -0.00020379266035863749 0.00010016705729843675 0 0 0 0.00048213481391740787 -5504 -0.0005146023133660485 -0.00024881097583619524 0 0 0 0.00015377238228740916 -8997 -0.0004780083110384909 -0.0001582234720795265 0 0 0 7.896043192780934e-05 -5558 -0.00047836567037643743 -0.00013942710164566255 0 0 0 -5.6645999757992725e-05 -7711 0.000212195953196434 -0.0007439450244000035 0 0 0 -0.00013950039604325104 -5631 -3.1882454432973935e-05 -0.0004135219196949279 0 0 0 0.0005413188060981528 -5638 0.00018567019631652597 -0.0002537857126401944 0 0 0 -0.0003862461113759257 -5648 0.00027845457240200706 -0.0005389616106570276 0 0 0 0.00043013258735077057 -5656 -0.000437194100365929 1.0534305195140071e-05 0 0 0 6.489463817190118e-05 -596 0.0003323264690359721 -0.0006681629044624798 0 0 0 8.517295567468605e-05 -2365 0.00022657031499928232 -0.00079461062518366 0 0 0 0.00011531525179930064 -8438 -6.831672673185676e-05 -0.0002528320987925467 0 0 0 -0.0007363838639736672 -5770 -0.0006123657984701317 2.635405930089491e-05 0 0 0 3.489714507152464e-05 -5867 0.0003714695914619299 -0.00044979113987245103 0 0 0 -0.00038573547086396246 -9456 1.0081510514997129e-05 -0.000210103905768737 0 0 0 0.00036011151525829456 -5910 -0.0001395547282124776 -0.00037764359042737576 0 0 0 7.0410576777775965e-06 -5941 0.000777226872940751 -0.00042655217075629064 0 0 0 -0.0003891441823657578 -9797 -0.00016003868112411307 -0.0008268373152835057 0 0 0 0.000213142378292666 -5992 -0.00014059840006174686 -0.0010393349814627445 0 0 0 -0.0002583198739388164 -6031 -0.00021264922228810863 -0.0006788026176875405 0 0 0 -0.00029438272750062126 -4432 -0.0003511204873579906 5.618417543126312e-05 0 0 0 7.26644206607264e-05 -6114 -0.0003744645824964071 -0.0002894682459338912 0 0 0 4.891028773767506e-05 -1394 -0.000461980412961098 -4.132825485048151e-05 0 0 0 9.152042608742009e-05 -6154 0.00012860016445025412 -0.0009157452098342013 0 0 0 7.28228769904684e-05 -4423 0.00046003626246298606 -0.0005267886308445504 0 0 0 -7.971203503419872e-06 -6261 0.00032031782275734216 -0.0004639345941233685 0 0 0 -0.0010037610852544324 -6294 -0.00045789811833870785 1.140933576183181e-05 0 0 0 3.9224402161606726e-05 -6332 -0.0006601482700600697 1.4743804978222847e-05 0 0 0 0.00021750413027362084 -6339 0.000379984849061926 -0.0009194989405994125 0 0 0 0.0006932568252271867 -6347 0.00013746123627817987 -0.0007893795566751842 0 0 0 -0.00012595103028818162 -6354 -0.0005090002186893979 -5.228974602909907e-05 0 0 0 -0.0023796356804787915 -9863 -0.00020227179319978443 -0.0005929884173563188 0 0 0 -7.219426150624218e-05 -6754 0.0004116471893148183 -0.0007116737750066432 0 0 0 0.00011693162261562634 -925 -0.00011544585789351189 -0.0003667155422227223 0 0 0 -4.3661425810852664e-05 -3584 0.00034040792448536937 -0.00020490502016553324 0 0 0 -2.23041994399585e-05 -9426 -0.00035272491062700014 8.72539954918606e-06 0 0 0 -0.0001182523754006722 -6640 -0.0003930971334544384 -0.00018448961863891663 0 0 0 -1.0319666860291719e-05 -6643 -0.0005637796604175825 6.129318025749968e-05 0 0 0 0.00020969267525011 -8247 -0.00033585197480826977 -0.00015842456086604238 0 0 0 0.00010158075614415169 -6683 -0.00022812033301668227 -0.00026323844322483547 0 0 0 -0.00012207896106075766 -1264 0.00024984432675930217 -0.00043981896547484105 0 0 0 2.8735552626137576e-06 -8828 -1.4624037076086407e-05 -0.0007655550906995882 0 0 0 -2.1487045974945e-05 -6715 0.00043677631212037896 -0.00013705262602718284 0 0 0 -8.087014446804356e-05 -6735 -0.00024207908550058472 -0.0003879349849364945 0 0 0 -7.417770878892911e-05 -6804 -0.0004382697813011634 -0.00029715472526266643 0 0 0 -2.5289354960319097e-05 -8373 0.0004036598932803332 3.7880383336964666e-05 0 0 0 0.00010445583637445597 -6829 0.00023153198186031068 -0.00022221981499222646 0 0 0 0.0006634195651819275 -6835 -0.0002841819920838607 -0.00042401113603202334 0 0 0 -0.0002064488048617825 -2720 0.0004532147272546198 -0.00054624587346822 0 0 0 -0.00013452091898438984 -6855 -0.0004023391293758341 -0.00027360497925932434 0 0 0 -2.478633320552141e-05 -8817 0.0006206348890034119 -0.0003968292354477506 0 0 0 0.0005832193002018416 -6864 0.00036093471301187555 -0.0004790379166540392 0 0 0 0.0006798258881955613 -1203 0.00034195299641176215 -0.0003088743244976532 0 0 0 -5.4011566557562e-05 -4518 0.00023718333230707833 -0.0003776987195601456 0 0 0 -9.819757544824722e-05 -6881 -1.2421601836734991e-05 -0.0005057483852372452 0 0 0 0.00020792740105250008 -6902 -0.00045730282024066926 -0.00019964014400249806 0 0 0 0.00013086866962768823 -1836 -0.00042418082143747053 0.00011211044219740446 0 0 0 6.955741867285112e-05 -6924 0.0006472382758674834 -0.0003748376092053135 0 0 0 0.00012381988915716023 -2222 3.968781357787652e-05 -5.428674948133571e-05 0 0 0 -2.6849940352203755e-05 -8396 0.00026752418434346757 -0.0004174342785656628 0 0 0 0.0003272543796356279 -5907 -0.0009182682282283455 -0.0005264972878087825 0 0 0 -0.00044034029486973383 -6994 -0.0005205327382943189 -6.148555739450367e-05 0 0 0 -0.001306661778934405 -8985 0.00025664999097187803 -0.0006539914891222578 0 0 0 0.0006581646497576527 -7046 -0.0003130716437706773 -0.00040844521018975797 0 0 0 -0.00013652740862376729 -7049 0.00017300993144467043 -0.00028672510365816743 0 0 0 0.0006235354879861609 -7067 -0.00018316310719589595 -0.0008095106642474356 0 0 0 -0.00017340205313667848 -9611 -0.0002067505186991578 -0.0005766784179397484 0 0 0 -0.0005264719012920817 -7077 -0.00016836258336485151 -0.0009083999121343393 0 0 0 3.229830682950145e-05 -7090 -0.00042702076479124196 -0.001833866096679965 0 0 0 -0.0004211109378926986 -6882 -0.00034325915584264733 8.739094068734199e-05 0 0 0 -8.335796479951431e-05 -8743 -0.000311562430889488 -0.00010402678960830384 0 0 0 6.5961672032201966e-06 -5084 -0.0004806766349045559 -0.00014172923784994227 0 0 0 -0.0004318132087510151 -7126 -0.00042102604542021497 -0.0001256420584157923 0 0 0 5.0262831248411386e-05 -7127 -0.0004356348986773465 2.989475726953192e-05 0 0 0 7.46833133630874e-05 -7284 -0.0006505975411208965 -0.00015252216229908928 0 0 0 -0.00017164657867073824 -4259 0.00045122614971992634 -0.0005503621544993537 0 0 0 0.00014935326911048148 -5789 0.00038048327540398004 2.226953454091116e-05 0 0 0 0.00010952463629660993 -7422 -0.000388648933006765 -0.0004087944719735283 0 0 0 0.0001275568129985223 -5432 0.0002170382557420331 -0.0006017943454992115 0 0 0 -0.0005254809789240163 -7491 -0.00028387833978337407 -0.00044391071305371335 0 0 0 -2.9991006713712917e-05 -4378 -0.0003050336057881926 -2.437270451596206e-05 0 0 0 -6.132352215482764e-05 -7545 -0.000302578832059068 -0.0005050588882713129 0 0 0 -0.0003021907420093333 -7591 -1.559436782013791e-05 -0.000394620978642612 0 0 0 0.00029421283988809914 -9694 -0.0004900591687493899 -0.00013170113952088052 0 0 0 -5.076619228861962e-06 -7657 0.0005576500048161475 -0.0002937846634408999 0 0 0 0.0004427888525916803 -9138 0.00014700134037775288 -0.0009429812966363104 0 0 0 -0.00016146931819019584 -2341 -0.0003546325633544947 6.228086503268132e-05 0 0 0 -6.9652347756272e-05 -9358 -0.00017179117794177204 -0.0008474429753090614 0 0 0 4.789116036591924e-05 -7739 -0.00034085149887695 -0.000692793809803402 0 0 0 0.0006969616574783545 -7750 -0.0004296803538668441 -0.00014562434535277254 0 0 0 0.000457199507954499 -3387 -0.0003754821954313864 -9.453102303406825e-06 0 0 0 6.124237217526822e-05 -5502 0.0003766227039577979 -6.739377310636515e-05 0 0 0 1.6521975898555776e-05 -3911 0.00046338540501725955 -0.0005740924028254153 0 0 0 -3.1641099895161e-05 -9444 -0.00045069709541708755 -0.0002330052266282052 0 0 0 1.0951557037951209e-05 -7809 0.0007321079935488861 -0.0005064035311547752 0 0 0 -1.9927385679494977e-05 -7818 0.00014497965736827488 -0.0008798405316394191 0 0 0 0.0004958816829052188 -9695 -0.0002418666905133028 -7.694732346563536e-06 0 0 0 -0.00010529721999419547 -7806 -0.00015314472471003032 -0.00014151256056265236 0 0 0 0.0001632788660339825 -7848 0.000468030789961994 -0.00013122246256824647 0 0 0 -0.0001249946394796497 -7886 -0.0006203604946429718 -0.00017685991837011113 0 0 0 -0.0002055385219950493 -7950 0.00018228962104161863 -0.00028156739368005913 0 0 0 0.0006352843609583164 -9917 -0.0006000733841800132 -0.00010259343277315727 0 0 0 -0.001944397088914234 -7966 -0.0003934892698119401 -0.00016763678823544553 0 0 0 -0.0002489242444335152 -7983 -0.0005390740658330095 -3.482833773346129e-06 0 0 0 -8.297507976387205e-05 -7990 -0.0005353463023051121 0.00010680865624667423 0 0 0 -5.205475142804989e-05 -9176 0.0004552572315286761 -0.0003760018899671222 0 0 0 6.290847368034232e-05 -6133 0.00027024070204881794 -0.0003123956236181576 0 0 0 3.473712304706303e-05 -7564 -0.0006480259084588034 -0.0003247728674654809 0 0 0 1.630354487137367e-05 -8063 0.0002635302865390853 -0.0005422080331136071 0 0 0 -0.0007209689485758973 -9273 -0.0011108956980144021 -0.0007379008094735849 0 0 0 -0.0008421916968298516 -8118 -0.00023351124663946189 -0.0003857634119205573 0 0 0 5.554573537423228e-05 -8160 -0.0007071230510943626 -0.00031388666801703604 0 0 0 -0.00035189429686928615 -8185 -0.0003402405155922715 4.989275928132475e-05 0 0 0 -7.99510581026504e-07 -8210 -0.000485777818965408 8.447367502731064e-06 0 0 0 0.0010632088295120154 -8223 -0.0001637582600574805 -0.0008544200751539108 0 0 0 -0.00010473870361890115 -8238 -0.0003709586881389925 -0.00013809683765970022 0 0 0 3.116307665712827e-05 -4907 -0.000589057424178719 -0.00016380270987877588 0 0 0 -0.00039859755165276594 -5052 8.581629568909614e-05 -0.0001311116050482734 0 0 0 6.353118319995538e-05 -9621 0.0031588486650861148 -0.0014425403711781932 0 0 0 0.0006383119212075149 -8257 0.00031007977559155094 -0.0001988405119881353 0 0 0 -0.0007610448582344975 -8264 0.00028482408996337386 -0.00023640392282693278 0 0 0 0.0007437513718867397 -4765 0.000500224758819074 -0.00043125407663622786 0 0 0 1.9076277738755583e-05 -8323 1.3859348447870046e-05 -0.000630696908234931 0 0 0 -0.00020846531904117037 -7195 0.000331987613957267 -0.00023231698995498432 0 0 0 6.81960145737693e-05 -8598 -0.00041179956594780226 0.00023884837850378685 0 0 0 0.00020903358296740418 -6449 -0.0001951485951954261 0.0002950697967706942 0 0 0 8.711415284625529e-05 -8134 -0.00015842567412793237 5.148460165660225e-05 0 0 0 -4.6400349003501564e-05 -5330 -0.00042597667483424334 -9.812018410064105e-05 0 0 0 2.7794390797793166e-05 -1945 -0.00029931720216099054 0.0001737781006647682 0 0 0 -3.9922427206632396e-05 -7210 0.00018638696132686563 4.5204917121409764e-05 0 0 0 -0.00043926627030083207 -4238 -0.00024703109771641177 -4.44377718815847e-06 0 0 0 -4.783209286794317e-05 -7721 -0.0003403150390563648 4.4472291662473975e-05 0 0 0 -0.00012653973828193472 -7498 0.0005387700828682958 -0.0005456327855126279 0 0 0 -8.54663001952284e-05 -4414 -0.000589123238875047 -0.00020883034616039935 0 0 0 -2.8702201849160257e-05 -8352 0.0003809434070942536 2.2510651856228154e-05 0 0 0 -0.0001224028574794061 -49 0.0005611113094921496 -0.0004707631907301767 0 0 0 9.83087851760068e-06 -2722 0.0007793050047493575 -0.0005967260335684535 0 0 0 0.00014472732805127602 -1973 -0.0005709948733062082 -0.00019442687113358718 0 0 0 -1.319741316345478e-05 -881 -0.00038087667883173674 0.00021428558733563506 0 0 0 -2.947930845440307e-05 -9093 -0.0005178779072529911 -0.0001884892216498619 0 0 0 -1.6433424096349174e-05 -1351 -0.00026108805068525035 0.0002185416200762856 0 0 0 -0.00018596300300617512 -5441 -0.0005427811526642252 -0.0001798494330201478 0 0 0 7.115787648272229e-06 -2303 -0.0004920564812199116 -8.978231766886604e-05 0 0 0 1.2625314282530351e-05 -7340 -0.0011188155984978164 0.0011381799896881912 0 0 0 0.001798920793528004 -4890 0.0008796501163344213 -0.0006180288960472018 0 0 0 -0.00023526967067877153 -873 -0.0004307261960182538 -2.7483852432751838e-05 0 0 0 2.6156879976664258e-05 -1174 -0.000434836825933498 0.00030075530947997153 0 0 0 -0.00011363450150769269 -3633 0.00024156505049693257 -0.0005057478696074881 0 0 0 -0.00022430836462385896 -2683 -0.0002064459365754862 -4.7160150674936635e-05 0 0 0 0.00023237933907523383 -3400 -0.0005176791448500719 0.00024333924409953328 0 0 0 -0.00012766929441803077 -2905 -0.0005811726041295674 5.766587684545653e-05 0 0 0 7.467473934670788e-05 -5477 -0.00024414305463861676 -0.00011709765867882906 0 0 0 -2.2959111227946326e-05 -9181 -0.0005504215879131803 3.443858200630364e-05 0 0 0 8.784838324328071e-05 -2865 -0.0005622925147276991 -0.00017150743898883635 0 0 0 1.454944641305441e-05 -9706 -0.00039419979050936074 0.0001947884163334713 0 0 0 -0.0005650346367216914 -4598 -0.0005494374956988746 -0.00019018694332276494 0 0 0 -1.5374845711868753e-05 -249 0.0002029250974366295 -0.0002818369413741809 0 0 0 -1.4934434326755694e-05 -6873 -0.0005086597724512549 -0.0001529836850824441 0 0 0 -3.4200216041735353e-06 -3168 0.0003425932410532275 -0.00035803022836956296 0 0 0 -8.23107346783174e-05 -5014 -0.00046989628545709424 0.00010254090606236496 0 0 0 0.0002789403721901499 -8695 -0.0005214065289210793 -0.000174888334598801 0 0 0 4.866371331284148e-06 -3667 -0.0005067652815099299 -9.16789516093168e-05 0 0 0 2.951653475006944e-06 -9163 -0.00018675190044251772 -6.118726584395229e-05 0 0 0 -0.00010053236104971997 -6539 0.0001308500851830213 9.383866854537976e-05 0 0 0 0.0004712836517495428 -4247 -0.0005574001639924286 0.0001355956419661153 0 0 0 -4.831345662164217e-06 -9732 -0.00012285168485856997 -0.0003899683018058854 0 0 0 0.0009793661411852145 -4677 -0.0005403091650357033 -0.00014543202411385222 0 0 0 1.3938888927587868e-05 -4227 0.000173671618246162 5.030004684945455e-05 0 0 0 0.00036802390213739244 -7032 -0.0004824884939328635 -3.363534887103233e-05 0 0 0 -6.117439103228905e-05 -2728 -0.00028086034814047296 0.0001460249870236318 0 0 0 -7.300441173962996e-05 -5213 -0.00043349130038572534 -1.8539649662413275e-05 0 0 0 -3.756991392149863e-05 -3007 -0.0005687320982288239 -0.0001475203438095558 0 0 0 -1.4273467728431082e-05 -1478 0.00026640580505665247 -0.0004187912080827813 0 0 0 2.5663162307406235e-05 -2619 -0.00034073571173009456 3.8544412580687004e-05 0 0 0 2.1443807516100297e-05 -6771 -0.0005593429140911086 -0.00015316520353823323 0 0 0 -1.2080124032984624e-05 -2963 -0.00034487908292422546 0.00033745472073026166 0 0 0 0.00015977932499010693 -2179 -0.0005821262387215043 5.3415442338912206e-05 0 0 0 -9.47499302760584e-06 -8856 7.833376290464087e-05 -1.6653480469187597e-05 0 0 0 -0.00014694368520813423 -4231 -0.0004298448028002862 4.623472851785473e-05 0 0 0 3.819607691626745e-05 -373 -0.000217995926005495 -5.052236239320737e-05 0 0 0 -1.9458813531620917e-05 -2538 0.000292559381458886 -0.0002553071189542258 0 0 0 7.24750914078996e-05 -9311 0.0002879586598285026 -0.00022172211521271897 0 0 0 -2.641547459925251e-05 -1748 0.00030274721090833715 -0.0001707946652991371 0 0 0 9.16802520801689e-06 -8577 0.00036105494805000024 6.063636828924844e-05 0 0 0 -2.4600961882380785e-05 -4979 -0.0005975481882888791 5.468392085662047e-05 0 0 0 0.00013358282102319554 -4922 -0.0006174870484818988 1.3976145712945271e-06 0 0 0 6.380860715901767e-05 -8492 -0.0005507606006249217 5.793234432375187e-05 0 0 0 -3.071373711209856e-05 -4908 -0.0004937762375418928 -6.533382733627331e-05 0 0 0 -5.423413249017499e-06 -8332 -0.000742230157566699 -1.2840353934567627e-05 0 0 0 0.00022702363014567414 -8062 -0.0003356942753058082 9.628793392630194e-05 0 0 0 0.00011178214709258894 -31 0.0004033123127617784 -3.183296844077859e-05 0 0 0 9.96886440193343e-06 -5280 -0.0005518636558189109 -1.359234725838222e-05 0 0 0 4.311727896731841e-05 -1158 -0.00047586767004183434 4.335211207609703e-05 0 0 0 1.4088286536796109e-05 -6066 0.0003137024070782085 -0.0002417975786673775 0 0 0 2.2749859054153484e-05 -2895 -0.0006064204527342447 5.3753512545218736e-05 0 0 0 6.142942809284035e-05 -8250 0.0008835986509892863 -0.0005408213789795235 0 0 0 0.0003225096634978387 -4356 -0.00018100638234656578 0.00038760380120492297 0 0 0 -0.00016078707717807116 -8923 -0.0005985016212820539 -5.165192562963714e-06 0 0 0 5.6595346745386204e-05 -2894 3.923292587279789e-05 7.640095525331736e-06 0 0 0 2.542904519284062e-05 -9952 -0.0006343379857388574 6.616623042326484e-05 0 0 0 6.3237871820391e-05 -7825 0.00024181941215832429 -0.00026225284760572046 0 0 0 -7.080413975794446e-05 -4778 -0.0001005297054907568 0.0003272021520153393 0 0 0 -1.6541250849154467e-05 -30 -0.00030554151206135214 0.00036246207818378293 0 0 0 -1.0477535944478696e-05 -64 0.0004524977561435315 0.00034174752269720403 0 0 0 -1.0311067876250571e-05 -65 -0.0004566824897102096 0.00016787426640707773 0 0 0 -1.5934355842042617e-05 -74 -0.00024734393850627386 1.6707367621561276e-05 0 0 0 5.269952498983065e-05 -79 0.0003825198546677032 0.0003167504704157288 0 0 0 3.441288007147332e-05 -95 0.0006477422122885892 0.0003442061606156811 0 0 0 -1.4496626887183502e-05 -7887 0.001689786455058676 -0.0017398294315216934 0 0 0 0.00046394708646543657 -144 -0.0004979478564551168 -2.2033212219847575e-06 0 0 0 8.613891417557854e-06 -162 0.0002415390600477057 0.00029712641729753164 0 0 0 -1.5102289957681557e-05 -1578 0.0007253581551241978 0.0003353648121906517 0 0 0 1.4648318377393987e-05 -225 0.00014239996825754305 0.00023755024781313847 0 0 0 5.970783525313844e-06 -253 0.00028879801651053355 0.00031012812312191307 0 0 0 1.6276932935383475e-05 -3777 0.0008193354107229506 0.00024776293489635283 0 0 0 -3.885082018265331e-05 -302 0.0002011682465053322 -2.5745806335602307e-05 0 0 0 3.656968811540266e-05 -311 0.00045152047608353177 0.0003880050413532016 0 0 0 6.161454674986558e-06 -2421 6.932739261062453e-05 0.0003574015005850184 0 0 0 -0.00013501923598147636 -367 -0.0005120291601879709 -3.291121560535779e-05 0 0 0 1.5602579830665528e-05 -35 0.0002022732733867677 -0.0004671334549400515 0 0 0 8.196221606877032e-05 -6599 0.0002066414828605135 0.00011513825774704501 0 0 0 -4.946228765028318e-05 -415 -0.000390804768774024 6.19320209644882e-05 0 0 0 1.6790992863141715e-05 -445 -4.379609288238428e-05 0.00044900911237901413 0 0 0 3.399315889163592e-05 -7581 -0.0002119011516246116 -0.00022382644139347702 0 0 0 -0.0003485083497356897 -474 0.000279658102561272 4.851743623067783e-05 0 0 0 1.0558056756280422e-05 -479 0.00029167009308955717 0.000251870235290122 0 0 0 -1.5548559382742384e-05 -541 0.0002820580911280729 -4.099465615077738e-05 0 0 0 -6.490727536379913e-05 -5085 0.0002563731090408629 1.47701544407175e-05 0 0 0 0.00017474908481706074 -545 -0.0004514369466592823 -2.0220462642965763e-05 0 0 0 8.346365501964079e-06 -548 8.595056783085852e-05 0.00043120207176026277 0 0 0 -0.0003085245599904014 -576 0.0007866652315104888 4.843646036998678e-05 0 0 0 -4.8942845968848386e-05 -590 -0.00024312805322089176 0.00013973414525791372 0 0 0 -1.855440412916723e-05 -661 0.0006990191916794736 0.00018177402649594433 0 0 0 -4.2959167824440786e-05 -684 -0.00021336514565400587 0.0003723186216032697 0 0 0 -5.633649382748488e-05 -689 0.0005308751540952432 -0.0001886645789292298 0 0 0 -1.953784130451281e-05 -702 0.0005466529985340662 0.00022059392302240126 0 0 0 -3.350689657074486e-05 -706 0.0004817645384882224 0.0002519264013902779 0 0 0 -4.493980551987849e-05 -730 0.0004162603131712995 6.980350887677696e-05 0 0 0 4.823005282428007e-06 -755 0.0004400294145209158 2.494201141415639e-05 0 0 0 -3.673836103894809e-05 -758 -0.00039708669141664404 2.4946667215393203e-05 0 0 0 -8.296284278463663e-05 -778 6.415849627294459e-05 0.00020881954351358815 0 0 0 -9.416831331792726e-05 -831 0.0006391963509505027 6.77059746144717e-05 0 0 0 -3.247230194106596e-06 -5669 0.0002727042095198075 2.636677435263704e-05 0 0 0 -0.0008830170680845593 -870 -6.231772564827964e-05 0.0002482074779293369 0 0 0 -2.6888878897551255e-05 -2044 -3.023174243456017e-05 -2.7164496769629886e-07 0 0 0 -0.0004956998608458733 -752 0.00030050986944122883 -0.00036006854141256263 0 0 0 1.1198308293152243e-06 -902 -0.00015267283478579403 0.0005152882493345105 0 0 0 -9.978072123184352e-05 -903 4.8204304834883865e-05 -0.00038655550484791186 0 0 0 2.4524554260268105e-05 -906 -0.0005702910000913126 0.0001843576002714784 0 0 0 3.068563414216952e-05 -9304 4.774305974366831e-05 3.700539064275387e-05 0 0 0 -0.0004184985419632964 -930 0.0005819247957186052 7.125716877137182e-05 0 0 0 -3.2059838681298244e-05 -958 0.00013595700064709563 0.0001761974692372059 0 0 0 3.2221836062888004e-05 -972 0.0004593136729668007 0.00012492423109556795 0 0 0 -3.272038922004521e-05 -993 0.00018538210546796278 0.00027929454353443965 0 0 0 8.23967656356111e-05 -1010 0.0005738154248891268 0.0003676427800209652 0 0 0 2.382674743939006e-07 -1023 0.00023504874817636308 9.309984324585245e-05 0 0 0 -2.2932735452194123e-05 -1033 -0.0003362700622414309 0.0002203649612983916 0 0 0 9.20236610208651e-05 -1039 -0.0003643139073102972 6.886399731187025e-05 0 0 0 -1.2668092644492231e-05 -1041 0.0006626360403132901 -2.3984525048434437e-05 0 0 0 -2.832925158923123e-05 -1065 -0.00026740284136612995 9.206929873541363e-05 0 0 0 9.717494734994739e-05 -4985 0.0004291970098800742 -6.94511209136195e-05 0 0 0 -0.0004278473432435846 -1082 -0.0004562084873964488 3.0427883986075903e-05 0 0 0 3.812389162750237e-05 -1101 -0.0005396532172764842 -8.283131034413946e-05 0 0 0 3.08274792391942e-05 -1140 0.0006200113248698946 -6.022609154201994e-05 0 0 0 -7.273797375818653e-05 -7468 0.0002536139381672078 -0.00045405214310963816 0 0 0 -0.0010957585854900521 -1192 -5.62127327503642e-05 0.00025029786054509934 0 0 0 6.518404707122594e-05 -1214 -0.000529915373981969 -4.728825212161707e-05 0 0 0 2.47152187986893e-05 -1221 -0.0004226022262197454 2.14229809101673e-05 0 0 0 2.412940713843732e-05 -5464 0.0006943817157988513 0.0003698004698529225 0 0 0 3.81878111546687e-05 -1252 -0.0005060167020757778 -3.543439345421532e-05 0 0 0 -3.21338299714924e-05 -1278 -0.0005579550103032217 2.1547828423739044e-05 0 0 0 -1.975116201197527e-05 -1279 -0.0002358435321519455 0.0003828531436086596 0 0 0 0.00010847930933664411 -1326 0.000338181053522252 0.00011115014639166003 0 0 0 -6.58768707038751e-05 -3495 -0.00020302299159802003 0.00039847546778919667 0 0 0 0.00018695290277858154 -1392 0.00020158216407158386 0.0002471637605474056 0 0 0 -0.00019153208529384868 -2688 0.00038827218100225854 -0.00016121803485933298 0 0 0 0.0002681367158904761 -1420 -4.276951773157536e-05 0.00031091243172341645 0 0 0 -0.0003315066656299928 -1458 -1.7699291960873295e-05 0.0002449359187618587 0 0 0 -3.091056089594267e-05 -1460 0.000593453592230594 0.0003854082168751716 0 0 0 1.9036260506193826e-06 -1483 -0.00015712761837449426 0.00017375594225963194 0 0 0 7.323125112922949e-05 -1516 0.0006526730889491614 -1.6063399805013252e-05 0 0 0 -1.4335130514626846e-05 -1523 0.0005231858297479199 0.0004017450614229498 0 0 0 2.4101294452058224e-05 -1544 0.00039978533623952493 7.96509517221406e-09 0 0 0 -0.00025139987578528096 -9842 -0.0007170088058089338 0.0001932134044941522 0 0 0 -0.0004439481476589839 -1601 -0.00041070140904029943 0.000323617703429888 0 0 0 7.842342017869185e-05 -1625 -0.0003820906780429818 0.00025039371334505936 0 0 0 0.0001553721667885816 -1639 -0.0003669706501753367 0.0002940778472995694 0 0 0 8.338696995825968e-05 -1665 -0.0003621750950506709 0.00019943896736277725 0 0 0 1.6975922786398464e-05 -1669 -0.00033905288171881304 8.214015752948266e-05 0 0 0 4.023903807820703e-05 -1699 -0.00014061108450497738 0.0002364374513116576 0 0 0 3.2779887571952566e-05 -1738 0.0007446954512587942 4.986733183458982e-05 0 0 0 2.2770725914460003e-05 -1783 1.5383876590841203e-05 0.0003201146156772629 0 0 0 -2.2480014710671573e-05 -1785 -0.00032145984209459584 0.00021143220058600172 0 0 0 5.672536876253047e-05 -1808 0.00023661918821231472 0.00016170531859007085 0 0 0 -0.0001034857599728747 -1819 0.0004605754552533183 -9.03524137614337e-05 0 0 0 0.00011950326880456159 -1882 0.00035360370342384 9.182975465235773e-05 0 0 0 1.7862651819205804e-05 -1900 0.0005549866651244373 0.00031255506948561264 0 0 0 3.4004335031319434e-05 -1906 0.0006891103842400416 0.00039284617231499704 0 0 0 -1.740784843991689e-05 -1920 -0.00047861682183026504 4.835717505129638e-05 0 0 0 3.825464895863187e-05 -4255 0.000364726920974953 -0.0002245873615760081 0 0 0 0.00016328355743351104 -1948 0.00063709221437255 0.00015734482499785564 0 0 0 -7.981601307583966e-05 -1960 0.0006422157214090691 0.00021815645352519613 0 0 0 4.2499716565043325e-05 -1982 0.0005254944064430652 0.0003910206520472674 0 0 0 -2.2667829308003815e-05 -1997 -0.0002384500567725787 9.694800975280903e-05 0 0 0 2.123595725143476e-05 -2041 -2.5516359406277737e-05 0.00029252451591529535 0 0 0 2.569123230652144e-05 -2047 0.0002632150038040032 9.049147956239741e-05 0 0 0 7.438258482606032e-05 -460 0.00015736101797629917 -0.0004360277321989227 0 0 0 1.0841286856648959e-05 -9891 -0.0004805453576516492 0.00019464340284826385 0 0 0 -3.248417364364517e-05 -2146 0.0005345823311273974 0.00010631330953767609 0 0 0 2.3900598069638577e-06 -2168 0.000813112200586534 7.817765778851458e-05 0 0 0 -3.1711271326534205e-06 -2180 0.00021991907036975235 4.608322556925825e-05 0 0 0 -5.11628128009014e-05 -2191 0.0004865865087604918 0.00017496164067017046 0 0 0 -2.9126434879474898e-05 -2192 -0.0004980594864306635 -6.398498966272402e-05 0 0 0 2.996896264829968e-05 -2196 -0.00025123308218554365 0.0006328385247475748 0 0 0 -0.0004943332962939054 -2204 0.0005695368540769891 0.00012644957105175888 0 0 0 -1.434845004381855e-05 -2236 0.0007632565582284213 4.899538392730688e-05 0 0 0 -0.00012711812581888551 -2251 0.0006984873903496646 -8.93786702625045e-06 0 0 0 -2.9551837473964043e-05 -3636 -0.00014499361680347968 -0.0003285787542091499 0 0 0 -0.0003984105551026547 -2278 3.865159817871685e-05 0.0003390065152048275 0 0 0 -2.2266165481308147e-05 -2287 3.4940024539614163e-05 0.0002658807228320334 0 0 0 -2.4210815039961645e-05 -2289 0.0002822902894761204 0.0002303137748381802 0 0 0 -7.860916734157718e-05 -4327 -0.0006090766961678123 0.0002887006870719478 0 0 0 0.00020464049059481983 -2375 0.00041062475586937675 0.0002267344193161279 0 0 0 4.670511683332392e-05 -2401 -0.0004244693165110815 3.204715966698231e-05 0 0 0 -0.00010065802947936507 -2407 0.00045103938877162793 0.00024585920390185164 0 0 0 1.864646112811896e-05 -2409 -4.580181173194796e-06 0.00026119834760223473 0 0 0 1.5589716643643092e-06 -2412 -0.00017039341081192592 1.3982182987458839e-05 0 0 0 -0.0001315792905267276 -2417 -0.00021376350927954416 0.0008629202345296554 0 0 0 0.00036451584059060986 -2425 0.0005356974337597551 6.609300671193303e-05 0 0 0 -4.912420622667326e-05 -2436 -0.0001775419215773536 0.00034122723077905065 0 0 0 9.379693012760565e-05 -2440 5.82013444798887e-06 0.0005345749827404599 0 0 0 5.0903862340111486e-05 -2473 -0.00040817812893005953 6.90699296588975e-05 0 0 0 5.083551282352494e-06 -2481 -0.0005426514026304007 -1.6800667339562793e-05 0 0 0 9.590430251554924e-05 -2530 -9.014699531540141e-05 0.0004391299274948658 0 0 0 7.79623374164652e-05 -2531 -0.00017760207033771692 0.0003470969808462152 0 0 0 -0.00035401928660038276 -2537 0.00043515777463269445 1.0193614851471785e-05 0 0 0 -0.00016261259282926354 -847 -6.178326147896132e-06 0.0006142445244735711 0 0 0 0.00012732280641683522 -2544 0.000394170662088665 0.00038841647596208945 0 0 0 -6.500475450584505e-05 -9430 0.0002031801454154294 0.0004078791955660885 0 0 0 0.00039354781813831757 -2617 4.199690863601498e-06 0.0003069279686164624 0 0 0 0.00042063231622310894 -2625 -0.0005004043738911816 -5.302879555164506e-05 0 0 0 -2.8367607308365433e-05 -2657 5.808834373674861e-05 0.00049884045407808 0 0 0 0.00016391026107936962 -2706 0.0007662055477765901 -8.083888127653555e-06 0 0 0 -7.512910403927056e-05 -4003 -0.0007658232023960566 0.0003408660749457121 0 0 0 -0.0002659460194931791 -2755 0.000600966680028857 8.526499283334561e-05 0 0 0 -1.930740197790168e-05 -2779 -0.00041947466679989354 0.00010532789124583705 0 0 0 5.331185178494568e-05 -2781 0.0008140630719765935 1.015980893209253e-05 0 0 0 -9.512888464605549e-08 -5248 -2.7623957659024e-05 0.0003276058477991861 0 0 0 -9.506954357134659e-05 -2795 0.0006198504857988572 0.00020248952419512836 0 0 0 7.313462581346121e-05 -2702 -0.00010039006798069755 -0.0004342353703045472 0 0 0 -0.0007450847534121273 -2804 -0.00030260567321009326 0.0003692385581321937 0 0 0 -4.404803500276792e-05 -2828 0.0006285146247350104 0.00041064953513513414 0 0 0 1.733650178106186e-05 -2842 0.0004965008161593563 0.0003775065075918168 0 0 0 -4.488950197429095e-05 -2848 -0.000321629357494419 -8.242401894904175e-05 0 0 0 -0.00018168807756855358 -7881 -3.593902826147157e-05 0.00031479482600045686 0 0 0 0.00042385020563884366 -2897 0.00033065492817217876 0.00027628812963646017 0 0 0 -6.606224067192619e-05 -2909 -7.74080469871265e-05 0.0004770841133717695 0 0 0 -6.786507337993515e-05 -2910 6.9018118546185e-05 0.00033116668784367127 0 0 0 -4.415428146820421e-05 -2927 0.0008560049157857713 4.004696115890295e-05 0 0 0 1.3165989614063251e-05 -2934 -0.00041463513020762534 9.998999387514879e-05 0 0 0 4.665612801085878e-06 -2938 0.00010997035158618701 0.00033642912331351875 0 0 0 -0.0002935616336823496 -2948 4.132985038197978e-06 0.00039299983746405047 0 0 0 -0.00016196798681184806 -8113 0.0003192037610407609 5.018659314186126e-05 0 0 0 -8.119951251322807e-05 -2976 0.0004528235503338042 0.0004092483657496362 0 0 0 4.00994411229377e-06 -2994 0.00021494817592737628 0.0002802177675801693 0 0 0 -3.7387143852960054e-05 -3001 0.000864358635174394 5.966761322242012e-05 0 0 0 -3.189151943111155e-05 -4027 -0.0005489651500457649 -0.00011706743829367392 0 0 0 -9.723122903458823e-06 -3030 0.0006426052101334556 0.00023064905066549904 0 0 0 2.4136696140815393e-05 -3132 0.0003348982418713902 0.0003794019737819242 0 0 0 1.32566687057542e-05 -3134 -0.00044064592103156355 -2.1886304266262637e-05 0 0 0 4.533551804727551e-05 -3139 0.00021745928972456599 0.00039540575383936657 0 0 0 6.283007076851565e-05 -3192 0.00027694399479574066 0.00015780511951554745 0 0 0 -5.663015765316352e-05 -3216 0.00011473398699316047 0.000147396516867409 0 0 0 -0.00038976315452512555 -3264 -6.390671313112119e-07 0.0004963229289887042 0 0 0 -6.644743205404103e-05 -3290 -0.00019690462026924398 -1.1986034798704019e-05 0 0 0 0.0005557528685552787 -3294 0.0005036422553069575 0.00039924070046290614 0 0 0 4.0263088337705813e-05 -3306 0.00041322953961832955 0.00012037339853894023 0 0 0 1.7015642281823313e-05 -3311 -0.0003568381129744588 -0.00013573443307186264 0 0 0 0.00020725028426898094 -3313 0.0005030309161920672 0.00038614209371902675 0 0 0 -9.991124265072971e-06 -3340 -6.757593623975157e-05 0.0005685356831267403 0 0 0 0.00026071478937151243 -3359 -0.00021746252601957504 0.00038583385828282684 0 0 0 6.839730378083113e-05 -4398 -0.00041286650451193187 0.0011826972586092093 0 0 0 -6.220216773015363e-05 -3405 0.00043142723614615923 0.00022940967977034955 0 0 0 -3.8553624404317234e-05 -3435 0.0009649545612148941 6.016550404607866e-05 0 0 0 -9.658993594345073e-05 -3447 0.0008495547965383064 -0.00010157556932107081 0 0 0 -8.012477185982822e-05 -3449 0.00015125496196062712 -0.001174089866846702 0 0 0 0.00020446959540832465 -3469 -2.5449103212838984e-06 0.00047672024597577824 0 0 0 5.5027231683730035e-05 -3487 -0.0003548335470915311 0.00018374467228589005 0 0 0 -6.987522302871727e-05 -4080 0.0003715499157555255 4.9247767875287794e-05 0 0 0 -7.498191001024087e-06 -3536 0.0004325678498140465 0.00023142724632872145 0 0 0 -6.245056533854979e-05 -1001 0.0003639673531197407 0.0003371378715877182 0 0 0 7.383218945810339e-06 -3577 0.0005236498333214628 0.0003423140897701937 0 0 0 -3.0422552798587367e-05 -3615 0.00036931410284310175 0.00023101538456876184 0 0 0 -1.3190920268161718e-05 -3652 0.0008941071753579004 -6.336309812212164e-05 0 0 0 -5.4697375709801996e-05 -9387 -0.00022933552608772498 0.00017037757940654535 0 0 0 -0.001260421780754293 -3676 8.796080444245378e-05 0.00025083106934494604 0 0 0 -5.527932372216428e-05 -3707 -0.00020028709719552631 0.00022726829356622207 0 0 0 -0.00015427270552076646 -4301 0.0014363876134887118 -0.0012778843875477887 0 0 0 -0.00017790177345532732 -9980 -0.00037905952730911906 -0.0002574710307127445 0 0 0 -0.0003696194906939171 -3782 0.00043301714561133414 0.0002833945057238406 0 0 0 -0.00019526482550779502 -3844 0.0004940971188411173 0.00040264108582046914 0 0 0 -5.494388192549106e-06 -3923 -0.00038369595763236813 0.00019972163860098024 0 0 0 -0.00017990233030140614 -3932 6.24566261560267e-05 0.0001854900139088924 0 0 0 -0.0001469416806063571 -3937 -0.00042229519299183816 0.0002128423888218829 0 0 0 8.91782021287481e-05 -3967 0.0006893475834384247 6.166921296523438e-05 0 0 0 1.683417545054965e-05 -3992 0.00024971165880335807 8.592494703622886e-05 0 0 0 4.4350822107885274e-05 -3996 0.0005552156844629059 0.00019359524944662502 0 0 0 -6.496587507102313e-06 -2453 -5.209901193929012e-05 -0.0003427651344716515 0 0 0 0.0002868512968137164 -719 0.0002510812334329575 -0.0002447659706140212 0 0 0 4.695480132631839e-05 -4010 -0.00040032305546764535 0.0002729680588875349 0 0 0 3.664646474563542e-05 -4012 0.0006963393448911066 4.380419414010616e-06 0 0 0 -3.3247656930267626e-05 -3043 4.902038823685633e-05 -0.0003259146348115059 0 0 0 -7.872691741370652e-05 -1921 -0.0001522768727666386 -0.0003641136667618311 0 0 0 4.156984446245476e-05 -4035 -0.00021486984541429097 0.0002766366448658971 0 0 0 9.77034616269361e-05 -850 0.00031011629729583024 0.00013044916803201786 0 0 0 5.380236974126505e-05 -4074 -0.00031390063424164275 0.0001119274413519439 0 0 0 -3.2937875986956224e-05 -4079 0.00015561293314044755 -0.0001617788288045662 0 0 0 0.00024757099721662635 -4092 0.0005120575731854855 0.00042251823595733774 0 0 0 2.163860719514524e-05 -4117 -0.00040972166091935786 2.5371791362585462e-05 0 0 0 3.912287791227514e-06 -4151 -0.0005055046648898418 -4.136398814756023e-05 0 0 0 4.977876011498298e-05 -7804 0.00037765240310987574 7.748729168695554e-05 0 0 0 -0.0002123179374085118 -2076 0.00021074731266584106 0.0007053204492596852 0 0 0 0.00013822226661097298 -4203 4.029511183478537e-05 0.0004128803232376486 0 0 0 -3.15909942601698e-05 -4225 -0.0002727809310654841 0.0006690354459281429 0 0 0 9.797557555743714e-06 -4235 0.00043225980250354576 0.000268660950410824 0 0 0 1.2192644674815163e-05 -8951 0.0004014402040854199 -0.00015472650271655292 0 0 0 -1.4191353698056075e-05 -4253 0.00024160171684418826 0.0002688328184550137 0 0 0 7.002153027197859e-05 -4260 0.00026360945828109796 0.0008605271456379955 0 0 0 0.0002937575031079051 -9555 -0.00035763248555859017 -0.00012059273221121051 0 0 0 -0.00018150734408374063 -643 6.608461622434723e-06 0.00022587975956739676 0 0 0 7.175803809939519e-06 -1153 0.00022055995385742165 -3.55699436333759e-05 0 0 0 9.1154955477619e-05 -4336 -6.69224356553792e-05 0.00020133880086267708 0 0 0 -1.2400953165244144e-05 -5051 0.0001728643681749524 -0.00037359065894164255 0 0 0 -0.0002935905481397399 -4357 0.0006317294592762769 -0.00010225042680369585 0 0 0 -9.286029996518187e-05 -5964 -4.1100436375102925e-05 0.00026106637234207233 0 0 0 -0.0005583841110211597 -4392 -0.00023761299863224293 0.0007983803164569636 0 0 0 0.00031244129935367726 -4396 -0.0002593249064254871 6.216328618934849e-05 0 0 0 -0.00018008793251746497 -6727 0.00037034114781167457 0.00041416145265956556 0 0 0 -2.6832383314919417e-06 -9005 -0.0002486636456810048 -0.00035528902132732706 0 0 0 -0.00048820690566502874 -4429 0.0005811696176530599 0.00027569933206487084 0 0 0 -0.00012051311860967573 -5215 -0.0003514568448834566 -4.56704435879342e-05 0 0 0 0.00010101958653870709 -5055 0.00037300715619900795 -0.00012784374732694462 0 0 0 -0.00042626567901708903 -4466 0.0006570453774392184 0.00025833194385003127 0 0 0 -8.72081382859388e-05 -4470 -0.0005295343579067367 2.1878511678671557e-06 0 0 0 5.348213893272544e-05 -4477 0.00046965036628583695 -0.0001617475733505062 0 0 0 -0.00013940306607868123 -2255 -0.0002141465773183034 0.00030632348424104977 0 0 0 6.480522186198061e-06 -4524 0.0004079360893730233 -8.095649041228014e-05 0 0 0 -0.0004133641144093085 -4542 0.0006555981906388097 -5.2674096197696426e-05 0 0 0 -8.701988270018072e-05 -4547 -0.00036601479794734693 0.0004551073590381188 0 0 0 0.00029356200359707027 -4552 0.00010941256181864388 0.00027573148436485766 0 0 0 -5.199083458910939e-05 -4553 0.0001235627667382364 0.000186919597638751 0 0 0 8.299617487555574e-05 -3799 3.4137033247350404e-05 -0.00045260266498544895 0 0 0 -5.790934311532145e-05 -4599 -0.0004526642974987397 0.0005483285973229081 0 0 0 -0.0005225612882853721 -4626 0.0006706708763563944 0.0002193818872412958 0 0 0 -5.1096114756418716e-05 -4196 -0.0008500959901675569 0.0006190018021402905 0 0 0 8.036831945096796e-06 -4686 8.728869183194099e-05 0.0004624049811404944 0 0 0 -7.102353733066546e-05 -4702 -0.00021611865085467225 0.00011482265327817757 0 0 0 8.004492519236218e-05 -4716 -0.0005020142703576483 -4.6339685592576246e-05 0 0 0 -3.325440044670632e-05 -4739 0.000781174977894133 3.216870447070762e-05 0 0 0 -1.4057316705532699e-05 -4748 -0.00042665565804974524 0.0001485244625782354 0 0 0 8.742308698306216e-07 -9982 0.00017179270974884676 0.00025121214705012664 0 0 0 -7.146290955540753e-06 -1424 6.308173567977642e-05 0.0004522054259655566 0 0 0 -0.00021616541665721984 -4807 -0.0002183046795906903 0.0004814883251378584 0 0 0 0.00037657897430249347 -4842 4.749592982062092e-05 0.00043536451056877025 0 0 0 3.617964175716933e-05 -8016 -0.00043732589023244073 0.0012165072243457851 0 0 0 0.0013801659235969021 -4876 0.00033926259591537375 0.0002563214977226519 0 0 0 -1.0131398945307286e-05 -4905 0.00010769672894501937 0.0003560112719242532 0 0 0 2.1681924400374604e-05 -4853 -0.0001569268725788406 0.00013989026375336923 0 0 0 -0.0006194108083569358 -1181 0.00030855591537697844 -0.00012890050800696038 0 0 0 0.00020776675341749464 -4912 0.0007115607923522731 0.00013203000705944195 0 0 0 0.00010075817334957806 -4921 -0.0003979098931270592 2.8208474852424185e-05 0 0 0 -4.709344674170955e-05 -4954 -0.00020640546493889828 0.00036368799616024784 0 0 0 -0.00036106324411483003 -4976 0.0003663302418750463 0.0002809175231512051 0 0 0 -8.479175918675947e-05 -4981 -0.00031749779659956753 0.00011651375505882147 0 0 0 -5.0193670764080976e-05 -4986 -0.0002723509859024899 0.00011114461892676377 0 0 0 -0.00011113366664138551 -4993 -0.0005267262985370853 0.00038984503135097633 0 0 0 9.099993293310276e-05 -4997 -0.0005176535856593169 -4.382535810562113e-06 0 0 0 1.7266032464222578e-05 -5005 0.0005170150100049763 0.0004513480819550751 0 0 0 8.62982527743367e-06 -8195 0.0009127323141497208 2.3268622965768812e-05 0 0 0 -2.8380470725687294e-05 -5017 -0.0002372715764305074 0.00017700481847126163 0 0 0 -5.003438086161205e-05 -5031 0.00016482144015762682 0.0005037287571395157 0 0 0 0.0007263455021475997 -5032 -0.0005338895043719546 -7.991568942449306e-05 0 0 0 8.187034587666407e-05 -5045 0.00043212196696490294 0.00020257938732223357 0 0 0 3.267640849061424e-05 -5057 -2.7850201817622102e-05 0.00012834947064098158 0 0 0 -1.9185283568030714e-05 -5079 -3.281795380549369e-05 0.00026468424443618186 0 0 0 -8.354684953086132e-05 -7344 4.5055073892297556e-05 0.0006270645056220793 0 0 0 -0.001149247176382692 -5130 -0.00032632949148249276 0.00019057236182449695 0 0 0 -0.00013863419874525642 -5140 -0.0003387146930330288 4.568018576617148e-05 0 0 0 -8.621850287887136e-05 -5179 0.0007211285342801967 2.4251454252489375e-05 0 0 0 -2.333246762818412e-05 -5184 0.00026527404083235645 8.565427872920034e-05 0 0 0 -0.00011686226314521152 -5207 -0.0002794340640365507 0.00015232743274834742 0 0 0 0.00028893547520567503 -5105 0.00035147649460657714 0.0002793524261103922 0 0 0 -3.530847729890874e-05 -5232 0.00017539669359155967 8.993465986790099e-05 0 0 0 5.0595319762724565e-05 -911 -0.0003255147319346835 0.00015148531086738953 0 0 0 4.111035828617612e-05 -5255 0.0005357824795522157 0.0001200196685889803 0 0 0 3.436513149278986e-05 -5263 0.00036852242094315407 0.0002174331849172609 0 0 0 6.565062169350696e-05 -5278 0.0005538852482576412 4.3013178208591645e-05 0 0 0 9.589031896810704e-06 -5289 -0.00046638112912855483 7.624029857088542e-06 0 0 0 -2.43302011605616e-06 -5304 6.072955452279621e-05 0.0003261357622309385 0 0 0 -2.4000538685148013e-05 -5305 0.0007674600677148926 2.1351776363830624e-05 0 0 0 -0.00012688551395151557 -5337 0.000395871542072644 0.0002468441535211394 0 0 0 -2.1624625468997428e-05 -5361 -0.000510163398149536 -5.2132407412190845e-05 0 0 0 3.9554682449364185e-05 -5377 -0.00010447266110654532 0.0001342670811647532 0 0 0 -0.00013853152315731554 -5391 -0.0001999426999016184 0.00012632268797153014 0 0 0 -6.295868357194247e-05 -5394 3.204351431890358e-05 0.00026281730560433246 0 0 0 1.5233068446679717e-05 -5395 -0.0003569388445235491 0.0002458542988420222 0 0 0 0.00028123119265398397 -5416 6.976450535550953e-06 0.00018014942490354028 0 0 0 -0.0002442663813504543 -5436 -0.000482264380366212 1.4840526017160316e-05 0 0 0 0.00016002913543084634 -4766 -1.0039194030756043e-05 0.00021893002284018067 0 0 0 0.0005072754193383817 -5476 -9.086992743334898e-05 0.0003830590483212807 0 0 0 -7.812134226438013e-05 -5508 0.0004275884560498636 9.611208580751335e-05 0 0 0 -2.1936156774397644e-05 -5534 -0.00016685005944941164 -0.0001325747938330221 0 0 0 0.0002597336340824759 -7175 0.0003199357767124144 0.00024332528073383298 0 0 0 4.824664468690479e-05 -5555 -0.0003439906702429858 0.00024130601073343543 0 0 0 0.00010052237565349228 -5595 -2.2291664742697557e-05 0.0002666546651530365 0 0 0 -1.9223521200143674e-05 -5630 1.6013180783083935e-05 0.0002818037918963319 0 0 0 1.604325754939801e-05 -5635 -0.0003343891163597978 0.00018896186976098548 0 0 0 -6.050254841437532e-05 -5671 0.0005215156126296053 0.00032608041896630465 0 0 0 4.252031996625187e-05 -5684 -0.00043342770180316274 6.0647513689593463e-05 0 0 0 -4.478764854535836e-05 -5748 0.00015437181608142899 0.0006568512163871389 0 0 0 0.0011170270234374207 -5755 -0.0004844617787021049 -3.577928919168079e-05 0 0 0 1.0240084720115208e-05 -5837 -1.7334643786126843e-05 0.0002414697563327492 0 0 0 -1.5857991465844806e-05 -4195 5.9474539192172004e-05 0.00034748378082013245 0 0 0 0.001382691681717097 -5902 -0.00045208365502109925 0.00025219992151503777 0 0 0 5.306432983922147e-05 -5904 -8.731187020705459e-05 0.0002470480494522176 0 0 0 -0.00013473484721079123 -4367 0.0007399129973666003 0.00023081732580288483 0 0 0 -3.177448344904578e-05 -5912 -0.00045156651216327775 -6.5573936878074475e-06 0 0 0 1.8367367780215582e-06 -5913 -0.00042933694927270054 0.00019896232653526097 0 0 0 2.3031381793050027e-06 -5928 0.0007187319077377959 0.00024088514335885474 0 0 0 -3.420791627311002e-05 -5949 0.00023058388385732438 0.00019384683611478918 0 0 0 -7.978390621040823e-05 -5976 0.0008183541281393241 -0.00016525824828990735 0 0 0 -0.00010782695442718698 -6010 -0.0001015170354605244 0.00026590146645026077 0 0 0 0.00012756153613778024 -7883 0.0009301374754305445 -2.503529672384119e-05 0 0 0 -5.3536667611107487e-05 -6023 0.0006100230684539299 -0.00011926405955674008 0 0 0 0.00010691896498449385 -6047 -0.000515599578848813 -2.1989755748839343e-05 0 0 0 0.00014301670557724427 -6053 0.0007320532683880817 -7.927581660227948e-05 0 0 0 5.213926513825649e-05 -6109 0.0006101754101898975 0.00025801068099450236 0 0 0 -6.152798329122791e-05 -6128 0.00020156783893818787 0.00020488578616806633 0 0 0 -4.379288375992705e-05 -6131 1.3297048085037728e-05 0.0005700414081334365 0 0 0 -0.00014068535065026312 -6201 -0.00044364549778205565 3.500120234586507e-05 0 0 0 -0.00023921306579075647 -6205 0.0007414781601756586 1.7529924549155138e-05 0 0 0 -0.00010567577346236931 -4507 0.0005275207350661692 6.199613059836603e-05 0 0 0 0.0004297713920139973 -6221 0.0008962582740367372 -3.6102027117890806e-05 0 0 0 -7.820869689741119e-05 -6265 0.00033683887967695325 8.600048347243416e-05 0 0 0 -0.00015227953413676044 -6291 -0.0004684916208569635 3.269195893103134e-05 0 0 0 -4.568391282971827e-05 -6293 -0.0007213827380846849 0.00030730929404086454 0 0 0 -2.7266484790744166e-07 -6378 -0.00046218906034753307 -2.499327154035349e-05 0 0 0 -8.710119259746121e-06 -6404 -4.063177740549748e-05 0.0003109970578548134 0 0 0 -3.450157521670598e-05 -6415 0.00043747397918667886 8.163184469002561e-05 0 0 0 5.374173721162756e-05 -6421 0.000409858081365671 0.00040201150419228316 0 0 0 1.1699225020622983e-06 -6429 -0.0003361964887024883 0.000310023349313352 0 0 0 -6.68073425309922e-06 -6431 0.0008138708396432978 -0.00012777803514753283 0 0 0 4.701670518503251e-05 -6443 -0.0004928832142027585 -4.610962104261899e-06 0 0 0 -3.297403676598447e-06 -6584 -0.00022787248645980153 -0.0001791814137513108 0 0 0 0.0006219112200119926 -6481 -0.00016793574616352444 0.00011787848485625507 0 0 0 -5.065904150639345e-05 -6546 0.00027696247459237837 0.00010202269454361279 0 0 0 4.4215086166657295e-05 -6609 0.0004939929173609389 0.0003958650264769428 0 0 0 3.7361179330683147e-06 -6632 0.0008428344843521733 7.77102642252031e-05 0 0 0 1.1298173517133061e-05 -6663 0.0004793497475068958 0.00012589315110248677 0 0 0 4.85935996194694e-05 -6669 -0.00043701366457344455 -8.42325668700598e-06 0 0 0 -5.742912520250025e-05 -6684 0.0001958186361669856 0.0002356458840019486 0 0 0 -0.0004612919663362177 -6696 0.0005812766754592054 3.150868257748453e-05 0 0 0 5.8491865910471845e-05 -6755 -0.00012494433731511333 0.0004382696586908382 0 0 0 -5.2805734935096884e-05 -1951 0.00024532459800596636 -0.00044468024745284205 0 0 0 -0.00027868315917979456 -6777 0.00047507223828291775 0.0004594071658061723 0 0 0 -4.3471105208462965e-05 -6790 0.0004593767826574736 0.00012688756843776483 0 0 0 -7.881526099626584e-05 -6806 0.0003921764764171415 0.00038327975544061516 0 0 0 -0.0001076167362367571 -6817 9.84163978094282e-06 -0.0011377789206627733 0 0 0 0.0002510240636044049 -6866 -0.00041676540787798083 4.8860694336440174e-05 0 0 0 -8.408115060441258e-05 -8266 0.0008730119398864472 0.0001849664995651222 0 0 0 -8.714686817207794e-05 -6901 0.002527103291182902 0.0005155289201620153 0 0 0 0.00023538764338419953 -6922 -0.00033713118094836237 0.0003134905577677691 0 0 0 0.00026153995012519454 -6947 -0.0003644792035963507 0.0001898902915579186 0 0 0 -0.0005873838795137274 -7021 0.0008727121515727224 0.00023781060986514325 0 0 0 -0.00027875894332376626 -6792 -0.00029191433447820685 -0.0002962503203689052 0 0 0 8.558240173324684e-05 -359 -0.00027955325832240577 -0.00030873811268415473 0 0 0 -1.4616399002355916e-05 -8717 -2.3055067476310376e-05 0.00029059225205856136 0 0 0 4.3578023430221354e-05 -7041 0.00030421112962414565 0.00023824781500995606 0 0 0 1.0956712206552377e-05 -7042 0.00026262527618156205 6.283433983987711e-05 0 0 0 7.795479188713248e-05 -7050 -0.0002967419360390177 0.000616758513379784 0 0 0 -6.365276661168226e-05 -7065 0.0002792419598954598 8.664879372355455e-05 0 0 0 -0.00018732636195768648 -7142 -0.0003547920538808427 0.00015130188962461113 0 0 0 0.0001393075606769285 -7157 0.0006428737713028243 6.2894256266621365e-06 0 0 0 4.867059705906179e-05 -4163 2.9138414765599983e-05 -0.0004067349624187152 0 0 0 9.31178448622963e-05 -7233 -0.00012157581244493063 0.00020652391122840232 0 0 0 0.0004806812425095425 -7243 0.0006493257522213593 2.8646399441289032e-05 0 0 0 -1.692856326902545e-05 -7265 -0.00013520903998237574 0.0002928348813664598 0 0 0 -0.0001498656159311853 -7268 0.0006823016092733493 2.9524474590732277e-05 0 0 0 -3.267344298833859e-05 -7269 0.00021945828444772407 0.00014968141414446024 0 0 0 -2.067181023518315e-05 -7301 -0.00030583366973077836 0.00029203692583050186 0 0 0 -0.0004480872911265092 -7322 -0.0003942216642659126 -0.0002884614953756875 0 0 0 0.00019044568141378596 -7326 0.0007032343663652966 0.000213391890020934 0 0 0 -2.953988702168267e-05 -7358 -0.0003064067288851537 0.00021220914035932512 0 0 0 4.1569231588397095e-05 -7377 3.348570880638962e-05 0.0004562063951676764 0 0 0 6.790553673485347e-05 -7418 -0.0005792324932361095 -8.590254191647628e-05 0 0 0 2.190848225755607e-05 -7431 0.0003238201191323952 0.0005215298635479343 0 0 0 0.001576950717040152 -7511 0.0005281748523940845 -5.168436515423328e-05 0 0 0 -0.00029933843873398606 -7553 0.0005286122290348132 0.00035852368288747603 0 0 0 6.269869960306331e-06 -7025 -0.0005449224722927097 -7.93996162869714e-05 0 0 0 3.1705961938876246e-05 -5429 -0.00041568121662502596 -0.00011189088858261613 0 0 0 -0.0002513042390734465 -7614 -0.0004733653063630153 -1.347114033640142e-05 0 0 0 -0.00013992949037472478 -7617 0.0009235296395985372 -5.633202691791065e-05 0 0 0 1.9600160092222528e-05 -7625 0.0005488701048683192 0.0003091599535725086 0 0 0 -8.732146054909628e-05 -7662 3.0283211641550277e-07 -7.461475624590428e-05 0 0 0 -0.0007073290630610162 -7670 1.3556158332639995e-05 0.00035610064077559115 0 0 0 3.4745282359758784e-05 -8935 -0.00021053442244999183 -0.0008582576450822327 0 0 0 0.0007066625283679412 -2305 -0.00022858602206616738 -8.881588849490612e-05 0 0 0 0.00023045006376215104 -4443 -5.170565061102763e-05 0.000307367289642394 0 0 0 0.00011800225137127366 -7732 0.0003340423126346596 0.00028084147839969203 0 0 0 -4.2517239253187127e-05 -7740 0.00014958883068566007 0.00021072932393100633 0 0 0 -1.9863878767429663e-05 -7759 0.0005966468007727781 0.00017840979055368217 0 0 0 -0.00018736327109119863 -7764 -0.0005242765150185365 -6.0518109553064116e-05 0 0 0 4.9449539124852793e-05 -7780 0.00027434492417246624 6.036548649439863e-05 0 0 0 -0.0004134616935856541 -7164 0.0001629042319221967 5.9992991624459924e-05 0 0 0 -0.00012489329567629172 -7815 0.00012638785608122655 0.00022995834383451045 0 0 0 -2.60753995934213e-05 -7817 0.00027911652094850085 9.390900459131992e-05 0 0 0 -0.00017080787028767887 -7855 -0.00031662965721925007 -0.00023192404933337923 0 0 0 0.00036202826490252426 -7862 0.00023797420396598615 0.00019343153161305966 0 0 0 -2.0616929096226783e-05 -7873 0.0005621800964652454 0.0001348341736578803 0 0 0 -5.4164536822436464e-05 -1580 0.0008273648785969107 0.0001108207879383278 0 0 0 -5.088919249917523e-05 -7908 -0.0002299324779859032 0.00039637400386725744 0 0 0 0.0003237428576391458 -7912 0.0008693897870841199 7.255583401452845e-05 0 0 0 5.2519157811168155e-05 -7937 0.0008870688340102202 0.00014489416774381744 0 0 0 0.0008090053109062795 -7945 -0.00039930374941510825 0.00013228291119241596 0 0 0 6.0149596584256195e-05 -7951 -0.0005218973841724435 7.072751417582554e-07 0 0 0 -9.02693093857223e-05 -7972 -0.00033867528199294904 0.00019242128951679492 0 0 0 0.00012692438019480456 -7977 -6.793891048101924e-05 0.00013104608324071755 0 0 0 -5.0114706782775294e-06 -7986 0.0002853226642528011 0.00013093330232741255 0 0 0 -0.00016571518760951615 -7999 -0.0005090759911397691 -5.678168649606515e-05 0 0 0 -6.209376305973125e-05 -8044 -0.00042254779256198046 9.087453718679498e-05 0 0 0 6.334800790628635e-05 -8493 0.0003292322510719889 0.0017541929177069308 0 0 0 -0.00244884217078423 -8084 0.0003364659738496127 5.413356194014709e-05 0 0 0 0.00014117659814388546 -8106 -0.00039794231832337176 0.00010717152185583243 0 0 0 -9.482248881715672e-06 -6202 0.00010849687090852288 -0.00013357626020196072 0 0 0 -0.00021467940193542614 -8150 0.0005211770676739014 0.0004775401594933633 0 0 0 -4.299206527443368e-05 -8173 5.324695213635747e-05 0.0005080107895083558 0 0 0 -0.001622656850569516 -8298 0.00025548709284739507 0.0002977270621350449 0 0 0 7.385061919772904e-05 -2786 -0.00026410776869677574 -0.00027025845626533985 0 0 0 -4.511581823746502e-05 -8343 -0.00019203658588243895 -0.0003507145266880756 0 0 0 0.00017851002308134033 -8361 -0.00029235016985342514 0.0002678453461944743 0 0 0 -0.0001477032719620015 -4071 0.0007452785779082688 0.00021438960761062606 0 0 0 -8.696915595113886e-05 -8401 0.0006568952622376542 0.0001803840567525312 0 0 0 -5.63256523890254e-06 -8403 -0.0003820870661622491 0.00030737064759460013 0 0 0 -0.00017845718268656263 -8469 0.00033021194529560515 0.0002269776609179256 0 0 0 6.019736677183046e-05 -8489 0.0004076805946885719 0.00014450226445989741 0 0 0 -9.994156931480767e-05 -8505 -0.00018144143093780902 -1.4621770663168008e-05 0 0 0 -5.83953778772039e-05 -8518 -0.0003122434797380218 0.00041015280674978335 0 0 0 -0.00042737234319899367 -8543 -0.0004288307192197073 7.394682526727066e-05 0 0 0 0.00012564295624259105 -8549 0.0004861651362703556 0.00037996294612847 0 0 0 -2.0883650665143892e-05 -3772 0.0009031346690091181 4.795902784713131e-05 0 0 0 -2.6172015211011513e-05 -8600 -0.0005323445795376488 -4.310603612505885e-05 0 0 0 -5.83061059857694e-07 -8481 0.0003103575053125711 6.724256540959716e-05 0 0 0 -2.420828673764621e-05 -8628 -0.00047531696387193755 0.00026027151734182586 0 0 0 0.00014148061450393524 -8641 -0.00036443699615845145 0.00022855841010353042 0 0 0 0.0001628047704566156 -8647 -0.0003448655120042828 -0.00023632160414777126 0 0 0 -0.00026402569190205034 -8667 -0.0004691635230329629 4.069096466904704e-05 0 0 0 5.06344141131701e-05 -8673 0.0003227209150062917 0.000244640886621522 0 0 0 1.6835806678582843e-05 -8820 0.0009052190956785065 -4.231043134561576e-06 0 0 0 6.087522249423947e-06 -8697 0.0001975637977080281 -5.788585497089572e-05 0 0 0 -0.00030441888773308 -8710 -0.00016897184375382952 0.00021460662724629955 0 0 0 -0.00011416120091788116 -8716 0.0006972729851851785 0.0001923684728833391 0 0 0 1.6369105413057283e-05 -8727 0.0006154869151775456 0.0003034079245047389 0 0 0 6.231319451007073e-05 -8749 0.0009387426367744304 -8.053333124047373e-05 0 0 0 -5.009343019104922e-05 -8807 0.00027813094307536283 0.0002663153888881792 0 0 0 -1.1298262022932373e-05 -6274 -0.0003068880458896889 -0.00025622715213938945 0 0 0 0.00020705312189819332 -5914 -0.00019512781087464376 -0.00015890730405639713 0 0 0 -0.000434589424036958 -8843 0.00033782193999530325 8.075008100339286e-05 0 0 0 6.0342646253906386e-05 -8849 -0.00013325897511267163 -0.0003171199144125891 0 0 0 -0.00022537280606896575 -8855 0.0002444921595729399 0.0001173112461318865 0 0 0 0.0005423598147279938 -8876 -0.0005126155309419901 -3.163098567101927e-05 0 0 0 1.2424504339831221e-05 -8898 -0.0004654402427548682 -1.4240993960614015e-05 0 0 0 8.156655135249461e-05 -8916 0.0007372204286776716 3.707878905936681e-05 0 0 0 -0.0001357455823247157 -8934 0.0004087083752926346 0.00039019484870940404 0 0 0 5.355768381019671e-06 -8998 -0.00048121387996784916 -2.2040303349526534e-05 0 0 0 1.5375582579993227e-05 -8999 -0.00016142409460649507 0.00019892403000694426 0 0 0 -3.944289534500006e-05 -9049 -0.0005397792664947249 -1.624042161881127e-05 0 0 0 0.00023989970703387732 -9065 -0.0005314966982311268 -1.1044411099168861e-05 0 0 0 -0.00023293537245004398 -9087 -0.0012838841887191327 -0.0022962980538615064 0 0 0 0.0004279548933136145 -9092 -0.00033882283737381836 9.776787360631611e-05 0 0 0 4.609262770122201e-05 -9098 0.00039892022962218556 0.00014876813428568822 0 0 0 -0.0001065268408781882 -9111 0.00014636332957152106 0.0015024930709401742 0 0 0 -0.00029342485728176524 -9122 0.0004664052760657667 0.0001535401265436091 0 0 0 -4.8923037924669446e-05 -9151 -0.00033939397955569156 0.0003551510842946673 0 0 0 0.00011401898075114277 -7076 0.0004870247072353581 -1.301020612162491e-05 0 0 0 -4.866447392763217e-07 -9217 0.0006258407657690089 1.0690863799180636e-05 0 0 0 -1.5592662998123288e-06 -9261 -0.000299045037005359 0.0011808759855267375 0 0 0 0.0007078865811394408 -9265 0.000626934898716812 0.00012908233203603797 0 0 0 -0.00010721822341704597 -9293 -1.9019348112972824e-06 0.0002553525732978496 0 0 0 -0.00045482118700598795 -9364 -0.0001366439484437069 0.00011504326172863463 0 0 0 2.8420743931554064e-06 -4612 0.0007396488384603397 0.00030688012733921246 0 0 0 -5.392112859133251e-05 -2291 -0.0005199975118694084 -6.929870641865309e-05 0 0 0 2.0363771615630126e-05 -9433 0.0004781625328778149 0.0005242542486547499 0 0 0 6.392583337907449e-05 -9436 -1.3019538785846812e-06 0.0004392154811298469 0 0 0 0.00018339495396624988 -1092 -9.391913755397731e-06 -0.00041964845024470144 0 0 0 -3.481453182547947e-05 -9455 -0.00033316624237260384 -0.00013842292643725807 0 0 0 -0.00017348586518030012 -9484 -4.32211880933555e-05 0.00024343441787455262 0 0 0 -4.088211993105847e-06 -9488 -0.0027969917908967088 -0.0010548122053559645 0 0 0 -0.00425944501227667 -9931 -0.0011498775077921908 0.00099283304607922 0 0 0 0.00032910672410429526 -9526 0.0005007611157155003 0.0003333181322145124 0 0 0 5.1335537623096265e-05 -9532 1.759242365495977e-05 0.00025923481833430126 0 0 0 -1.7455347323765802e-05 -9585 -0.0004735911545838282 -4.747203291878721e-05 0 0 0 1.7696165286583426e-05 -6345 -0.0003887007015597901 -0.000276632154223755 0 0 0 -9.93039884400335e-05 -9608 -0.0004987234966067646 5.072621179319972e-06 0 0 0 7.121048555210554e-05 -9649 0.0005760365520059174 0.0003475204878511189 0 0 0 -0.00010123934412465843 -9657 0.0011687256868120235 0.0011492465910752105 0 0 0 -0.0004643468145022004 -9661 0.00039101315389571524 0.000400901197988183 0 0 0 -8.311608116802636e-05 -9667 0.0006636234390171227 0.0002096431215688644 0 0 0 -8.714783899529073e-05 -2737 6.79806747329423e-05 -0.0004624527708715596 0 0 0 6.738247743691719e-05 -3906 0.0002991570016044247 -0.0003227103096319449 0 0 0 -0.0002615911746738722 -4229 -0.00015866651469999594 -0.0003175670467715095 0 0 0 -0.000306933422573527 -8407 2.8753700310382707e-05 -0.00038856228716285953 0 0 0 0.00011865551095827421 -9757 0.0008607071017915008 1.6301970466558618e-05 0 0 0 0.00010862603249620557 -9760 0.0005425306490891191 0.00036166132403782884 0 0 0 0.00013731487363948154 -5725 0.00040706143179253777 7.801426108120363e-05 0 0 0 -0.0006554166070619733 -9796 0.0009034028084866634 -0.00010445643696644876 0 0 0 2.5072003208316764e-05 -9837 4.243057906152938e-05 0.0003650995280318204 0 0 0 -0.0004391638092868893 -9846 0.00030678248067340984 0.00015670012450713788 0 0 0 0.00012168262611553713 -9853 0.0003632475114544942 0.0002698376446344818 0 0 0 -2.2263305152760293e-05 -9883 -0.00037445545345737185 4.339436161166284e-05 0 0 0 3.138448420791788e-07 -9303 0.00066896049223534 0.0004065989858510746 0 0 0 -3.566548627969697e-05 -51 0.0006070696142965707 0.0007020342089683617 0 0 0 1.7353083787383334e-05 -57 0.0005075542873850947 0.0005024465808704185 0 0 0 -1.0874306376197442e-06 -6456 0.0009362374483455061 0.00029720322532168666 0 0 0 -9.865852373488053e-06 -2586 0.00047705108664969917 0.00041640231173784904 0 0 0 -5.17929579764991e-06 -9735 0.001136399108521301 0.00024694491546417113 0 0 0 0.00015590357514246077 -115 0.00033776655600737136 0.00036272829481077485 0 0 0 1.1511319338731564e-05 -8846 0.00013164240369563485 5.483750133270776e-05 0 0 0 7.859053103044974e-07 -228 0.0009288994489515034 0.0001257161371738778 0 0 0 -0.00012412881664384019 -8658 0.0009347806324210921 0.0008629579848041981 0 0 0 -0.00045241856972068405 -237 0.0010202328127274119 0.000838220426840084 0 0 0 -2.1395395336147385e-05 -8918 0.0017705082361269139 0.0018419720896068257 0 0 0 0.0004568398077608845 -242 0.0008524150559332292 0.0007723567969836233 0 0 0 -2.5084527382390586e-06 -281 0.00024506577422037156 0.0001427951694353302 0 0 0 -2.7186697084419304e-07 -6824 0.0009414917132796543 0.0005616205224921089 0 0 0 -5.588970680420407e-05 -6118 0.0007339802271364116 0.0008971447368821034 0 0 0 8.035874493121062e-05 -304 0.0007453721915007327 0.0008878709928316368 0 0 0 8.338499197178302e-06 -327 0.0011548097265022038 8.151135574425214e-05 0 0 0 -5.921860732198746e-05 -330 0.0007966312522574171 0.0005279265410264601 0 0 0 -1.2798679783183232e-05 -351 0.0005370811908332947 0.0005610582639449765 0 0 0 -1.969580464270923e-05 -1812 0.0006582371689987022 0.0007893873298025519 0 0 0 1.10823467714537e-05 -405 0.0012453060990418523 0.0007283940690570841 0 0 0 -5.3834535647069214e-05 -422 0.0013007194120120455 0.0008526353163331135 0 0 0 9.192365350760714e-05 -427 0.000984870447363825 0.00043826213987505894 0 0 0 -4.485150495176842e-06 -430 0.0003042179465383249 0.00026917106402017145 0 0 0 1.2947459819146448e-05 -446 0.0006984915918799313 0.0007100366173567318 0 0 0 -8.482476669698331e-06 -447 0.0011933869895377818 0.0002818293275351992 0 0 0 -8.095020928718722e-05 -2563 0.0009404826264488601 0.0005663755120028827 0 0 0 7.35044270166994e-05 -475 0.000938429199129614 0.0005649568708230996 0 0 0 -1.8817302791890712e-05 -8032 0.0006835227935900459 0.0007212029020905524 0 0 0 8.950581607227733e-06 -525 0.0004770345183433198 0.00051698717625976 0 0 0 -5.259687413231976e-05 -8411 0.00035975493431818223 0.0015705573855911259 0 0 0 0.0007387734717456259 -594 0.0011372753246407523 4.863006050002318e-05 0 0 0 2.4334396554319527e-05 -1293 0.0008288925195151488 0.0006584151311703766 0 0 0 -8.34874500336827e-06 -692 0.0011308737549651866 0.0007422898657294301 0 0 0 -1.1074842770410834e-05 -710 0.0005316090611578017 0.0005219414661279744 0 0 0 -8.452585258905373e-06 -3968 0.0013367740475450657 0.00018012686011077263 0 0 0 0.00017442952121302189 -774 0.001053147706549192 0.0006050230946355309 0 0 0 -1.66876838642602e-05 -783 0.0007384753655447813 0.0007506474071009498 0 0 0 4.3252761953617796e-07 -815 0.0007409587748561901 0.0008889222162978867 0 0 0 -2.948900438453596e-05 -822 0.0010403869889675209 -5.667059495979939e-05 0 0 0 -5.195688952432031e-05 -3712 0.0006129077852234173 0.000524083162700082 0 0 0 -2.8803358718961872e-05 -9032 0.0009752594002211212 0.0007794745133988887 0 0 0 -0.00031346327048348987 -860 0.0008060978075327956 0.0008073720911317439 0 0 0 -0.00028711923457274243 -862 0.0007794835946550352 0.0007033518932981235 0 0 0 -1.1715581498658296e-05 -901 0.0009888604864294024 0.0008325620523999092 0 0 0 9.643830474058863e-05 -9965 0.001016476383717588 0.0008730623562223863 0 0 0 -0.0009846469461792995 -944 0.0006373964385996922 0.0007354262179768481 0 0 0 -7.118431800708989e-05 -957 -3.92496240975133e-05 -3.9366441381841004e-06 0 0 0 -5.892599682373751e-06 -971 0.0005280676388627199 0.0005511296451894107 0 0 0 5.757916832409421e-06 -1488 0.0008385556814501904 0.0005880760228873676 0 0 0 1.7540261636396367e-05 -3939 0.0007732050717738215 0.0006455186915275868 0 0 0 -5.060208250136941e-05 -1029 0.00102044938663655 0.0006866832421212901 0 0 0 -2.1251478769216204e-05 -1048 9.003104284126219e-05 0.0002304251090795562 0 0 0 -4.8506569415668384e-05 -1074 0.0007458398376477673 0.0006860207250656937 0 0 0 1.2502453857472246e-05 -9018 0.0007568374787820223 0.0005631149004679428 0 0 0 -5.8917044364988095e-05 -4360 0.0006686270485986752 0.0007181181106869792 0 0 0 -1.3746441201024278e-05 -5732 0.0009076470054173559 0.0005692888483896126 0 0 0 3.067861431838491e-05 -1120 0.0011381552070586288 0.000496203765464395 0 0 0 -0.0001267619383139234 -1161 0.00039504566182769097 0.0005111879854837944 0 0 0 5.004842602986645e-05 -819 1.5443034858608243e-05 5.975757276492768e-06 0 0 0 -1.5769884159026464e-05 -4233 0.000910723930536654 0.0005593352944233623 0 0 0 -7.953635966006416e-06 -1224 0.0011442518230947352 -2.5780327227252928e-05 0 0 0 3.898580928474419e-05 -1229 0.0008964561281592626 0.0005870222506094109 0 0 0 -3.2027859849809884e-07 -1234 0.0011816233821070725 0.000797680262082719 0 0 0 -3.2296483419436165e-05 -1258 0.0007021015923436743 0.0007856059962839389 0 0 0 -1.1223587714977239e-06 -1305 0.0010842068485198508 -1.860637425003912e-05 0 0 0 -2.4892104486291956e-06 -5149 7.668296270144162e-05 -0.0002823258454776009 0 0 0 6.308052192783396e-05 -1357 0.0012507940003056084 0.0009367824705987243 0 0 0 -0.00023251744378687678 -1358 0.0011331435570550625 0.00017769417168425115 0 0 0 2.0442599547238374e-06 -4009 0.0003332017834178051 0.00043239890622831723 0 0 0 -0.00026700642555572474 -1440 0.00013056821135902762 0.00010705845812831812 0 0 0 -1.01946031270873e-05 -9104 0.0012247656754750928 0.00010554991907225488 0 0 0 0.0003045951316026527 -1472 0.0009537139431338156 0.0006680243594396911 0 0 0 5.0720603239074235e-05 -1474 0.0009373279536214651 8.752238602100062e-06 0 0 0 5.94226112732774e-05 -7124 0.0007215432527760345 0.0005696084097439509 0 0 0 3.317214766307772e-05 -5599 0.0008581586791765136 0.0003445188401126814 0 0 0 -1.8130174790830543e-07 -1495 0.000915077867810005 0.0008615172336698264 0 0 0 -0.00015295862201852268 -8662 -9.159811950934799e-05 -7.398953193481583e-05 0 0 0 6.262617150994529e-05 -7919 0.001074455403978028 0.0005560495470905163 0 0 0 3.312847385791254e-05 -2668 5.653755173750262e-05 3.43970601363512e-05 0 0 0 8.69664228031607e-07 -1633 0.0008824987459173819 0.0004246204452828032 0 0 0 -2.3608265761941237e-05 -1642 0.000757537537341849 0.0006367284973021474 0 0 0 -7.0510328216502675e-06 -1709 0.0006052557278346328 0.0006380557981108595 0 0 0 -3.064407703989822e-05 -1744 0.0009393596417125936 0.0003573516267257154 0 0 0 -5.128709559032848e-05 -1763 0.000646245495639921 0.0006973255678060648 0 0 0 2.429763738963635e-05 -9150 0.0007911927437560188 0.0008059269383131103 0 0 0 -0.0005865042374329077 -1832 0.0008534495562017947 0.001009157134510832 0 0 0 -1.5686835822413975e-05 -1837 0.0011122174405478753 0.000882563602756931 0 0 0 2.4477237914684515e-05 -1864 0.0013096586157277075 0.0010199226398839069 0 0 0 9.839155692339088e-05 -4276 0.0011215863940513375 -2.9328776134461453e-05 0 0 0 2.3381245332410923e-06 -2067 0.0010359125470167556 0.0001723932468681295 0 0 0 2.4352209535367688e-05 -268 0.0006146681765556943 0.000552107267896076 0 0 0 -1.2925971003316768e-05 -1909 0.0009347313229495653 0.0007175285605284645 0 0 0 -4.287174886003344e-06 -1922 0.0006550100380611344 0.0006545993837878257 0 0 0 4.111977155436165e-06 -8769 0.0007836449960073965 0.0007144762555417158 0 0 0 -0.000135866623705877 -1947 0.0004971885393660626 0.0005156731767472946 0 0 0 4.916418392184631e-06 -7161 0.000638175565683616 0.0007332869912431518 0 0 0 1.0506960603940704e-05 -3093 0.0007778402791450541 0.0006011329792850417 0 0 0 2.0065588455200087e-05 -1453 9.592363749255989e-05 6.211617266297986e-05 0 0 0 1.0140122267755004e-05 -9028 0.0006371866613194627 0.0006298334418778814 0 0 0 -4.8203447498688515e-05 -2065 0.0008635875093463444 0.0006001773186778518 0 0 0 -3.382462341849035e-06 -2073 0.0008092360237899494 0.0008657226034997908 0 0 0 0.0001703455511108547 -2074 0.00064652148783147 0.000608945267482443 0 0 0 -1.5698044864657668e-05 -2096 0.0006065797458591286 0.0005793057157680452 0 0 0 -2.4617143663614776e-05 -2100 0.0011220091843427054 0.000664724077788059 0 0 0 -5.169604602414376e-05 -2955 0.001049091784568726 0.000749311041601316 0 0 0 -0.00036159112111385877 -2153 0.00013923049469846658 8.815674690731761e-05 0 0 0 -7.779049620213694e-05 -2206 0.0005491393200273792 0.0006364201753252419 0 0 0 -4.000568760428837e-05 -5822 0.0007618094858504641 0.0005479581514658642 0 0 0 -7.27578529993304e-05 -8794 0.0004783183252332147 0.0005031767568707494 0 0 0 -4.3674962668774105e-05 -8792 0.0006938581822526217 0.0007727909484773343 0 0 0 0.00044788232454507856 -2302 0.0010271083677861818 0.0007575074639035206 0 0 0 -3.592205718643424e-06 -2309 0.0006406500212264179 0.0007007334038400955 0 0 0 -3.2987370110651505e-05 -2322 0.0005007970168142853 0.0006121011346676041 0 0 0 -3.0215078173081707e-05 -2349 0.0006618129809615238 0.0007463749961635262 0 0 0 -2.0124211534930715e-05 -4813 0.0011513190133246173 -2.9466917054006577e-05 0 0 0 5.912577984782293e-05 -2389 0.0009367578803525716 0.00045815988829217764 0 0 0 -1.878438858364202e-05 -2398 0.00040680268027625926 0.0005302213627193641 0 0 0 -6.051432898109522e-05 -2414 0.0007927228218239817 0.0008842834382846852 0 0 0 -6.540022928444124e-06 -2435 0.0007038105415404663 0.0007329314183333812 0 0 0 3.868323078800195e-06 -2437 0.0007932732776002605 0.0007559150337095556 0 0 0 2.649107412734385e-05 -2442 0.0008122798770601226 0.0007214579914514173 0 0 0 5.021281359558883e-05 -2444 0.0009546416722610085 0.00041461874898064514 0 0 0 2.3656836823381728e-06 -2447 0.001050398714354251 0.0003199937995496552 0 0 0 -0.00020711400548583569 -8583 0.0009715069148112571 0.00014408560478633377 0 0 0 -1.9676424876851464e-05 -2461 0.00044362594111911917 0.0004926987439424997 0 0 0 2.2531138402735495e-05 -2462 0.000885668846055785 0.00086453048007284 0 0 0 -1.7513507476829513e-05 -9773 0.0007605543386353936 0.0007497413858350508 0 0 0 0.0006011594326666652 -940 0.0008829811129090771 0.00048037213945408675 0 0 0 -2.1025844958405936e-05 -2555 0.0006418017851648082 0.0006228255065022799 0 0 0 3.198776403545095e-05 -2566 0.000910538886418491 0.0006381453427775683 0 0 0 -3.703507099544293e-05 -2569 0.000332166125131428 0.00023444429936421952 0 0 0 -9.595433351881745e-05 -2591 0.0009035869404762831 0.0009277862184534354 0 0 0 0.0002510959554432933 -191 0.0009167643556016717 0.00028429317082655784 0 0 0 -4.9926178343839855e-05 -6165 0.000844224154628138 0.0006004548581719946 0 0 0 -1.2629225470222815e-05 -8473 0.0024893663396842575 0.0003139845102113532 0 0 0 0.00017920900398510882 -1438 0.0009843346179005774 0.0007053078279305674 0 0 0 -0.00018081826669609475 -6819 0.0008662217583406522 0.0005161130999547619 0 0 0 -4.677087677174837e-05 -3842 -1.4065558458707702e-05 2.104178842837106e-05 0 0 0 -3.148420661774292e-05 -1891 0.001291215711615338 0.0002144816745355875 0 0 0 -6.161735627504907e-05 -2782 0.001016029102956752 0.0005025759440528764 0 0 0 -0.0001359787544330313 -8938 0.0008803349274047576 0.0006417252873908551 0 0 0 -0.00014385750734900618 -2833 0.000898729315867668 0.0009654867630338731 0 0 0 -1.2618556413297788e-05 -2872 0.000745416681233927 0.0007692882911031983 0 0 0 -1.2592835305639362e-05 -2892 0.0007113445445965215 0.0007352156772089435 0 0 0 -0.00014601528602558973 -2758 0.000730669204643506 0.0007801873566382372 0 0 0 -1.8901735553982924e-05 -2918 0.0004151889695335035 0.0010434406988126036 0 0 0 8.547017754947459e-05 -9523 6.950249520094997e-05 0.00014524522800280566 0 0 0 9.967308741719073e-05 -2954 0.0009267868173603579 0.0008757973358117571 0 0 0 -0.00019297145249023192 -542 0.0005355994113244891 0.00042660940360095414 0 0 0 6.878820400512811e-06 -3087 0.00011758792599917562 0.00010731578579731314 0 0 0 -8.155437395835784e-05 -7704 0.0001020581666813983 0.00023119000679914403 0 0 0 0.00012575186984510446 -5172 0.0009958494003049862 0.0004042373727999046 0 0 0 -2.2361277748392646e-05 -3065 0.0006954810612975311 0.0007557295353546297 0 0 0 5.959435572541213e-05 -3070 0.0009436271551083338 0.0007805327808754632 0 0 0 -4.13001987054279e-05 -3073 0.0014136722100425506 0.0006569618685981113 0 0 0 -6.888727808040458e-05 -3111 0.0004230202814972587 0.000540255107431165 0 0 0 4.749113499319864e-06 -3121 0.0010944498157146845 0.0005027829795833892 0 0 0 -0.0003957312226843952 -4495 0.0007132760508865113 0.00047604454274254157 0 0 0 8.192522886660554e-08 -2666 0.0006833023629573007 0.0005618923453721258 0 0 0 2.2689175182546992e-05 -3135 0.0008037382180547677 0.0005785007551407455 0 0 0 2.2571454551023663e-05 -7469 0.0006716585517875703 0.0006186759919441409 0 0 0 -2.452548836236985e-05 -3235 0.00020034910126965786 0.00023039618357410528 0 0 0 5.823986765808324e-05 -9168 0.0009365067665839389 0.0007987840792704285 0 0 0 -5.634176170283668e-05 -3254 5.237399755523474e-05 0.000165280055224282 0 0 0 -7.662570572548209e-05 -3265 0.001152762077868887 0.0008966479339474791 0 0 0 -5.0151520526818834e-05 -3275 0.0009501382573317271 0.00035747895483123133 0 0 0 0.0002680540343212628 -4465 0.0007133379056867835 0.000800583262160985 0 0 0 -2.1227715692122057e-05 -3297 0.0008563641817875299 0.000848132118274229 0 0 0 4.838144155539175e-06 -3308 0.0009264768843272713 0.00023303695078563696 0 0 0 -4.2776041010148534e-06 -3324 0.0014046960864893695 -2.4767373239141435e-05 0 0 0 -8.007864807295345e-06 -3349 0.0003798709843583312 0.00040859783290700754 0 0 0 4.514007527587738e-05 -8244 0.0004266359377274827 0.00013025239997835694 0 0 0 -2.7521304141709128e-05 -2474 0.0007368719814233034 0.0004970636451643582 0 0 0 -3.2327893217713115e-06 -3393 0.0010939540896613648 0.0004428256332421069 0 0 0 3.3432938051238995e-05 -3044 0.0006979016810581693 0.0008198376985378026 0 0 0 1.0112422775194999e-05 -3411 0.0005474961811828268 0.0005970314558580649 0 0 0 2.2772575138872618e-05 -3465 2.1601010204015047e-05 6.331182932935912e-05 0 0 0 2.630502707772088e-05 -3507 0.0011385826142722212 0.00039519012067835296 0 0 0 -0.00024222627482542545 -3508 0.0004311060706109061 0.0004219430770593977 0 0 0 0.00010631149466585169 -3548 0.0008711354003804835 5.0209333830307385e-05 0 0 0 0.00015412129913781156 -3551 0.0008464084110394015 0.0004208755276490233 0 0 0 2.5514400227905677e-05 -3573 0.0001511569313105147 7.720496916657973e-05 0 0 0 5.113312046769003e-05 -3576 0.0005049273403604991 0.0005436698584023767 0 0 0 1.0208093531324302e-05 -3612 0.000858928793938723 0.0005612848616652575 0 0 0 -3.3211144034839825e-05 -451 0.0004319594115638475 0.0004439325444460338 0 0 0 -8.853303297772185e-06 -3646 0.0004182487395589909 0.0005943715815580117 0 0 0 -6.868703990898642e-05 -3649 0.0013185421728109038 0.0007221022340290875 0 0 0 2.6268605831395213e-05 -3657 0.0008947812908352502 0.0006810739490174336 0 0 0 -8.313152455293807e-05 -3662 0.0013769312509274996 0.0005748269417253064 0 0 0 -0.00019655314489020094 -3670 0.00021515236162550399 0.00010146866491766558 0 0 0 -0.00010066204835422411 -2297 0.0006754088239773053 0.0005277948148174178 0 0 0 -1.8682903792682087e-05 -3687 0.000562788558956041 0.0006316983600374199 0 0 0 1.5452252135941537e-06 -3732 0.0005605720517288763 0.0004981320046412028 0 0 0 5.537366692329427e-05 -3751 0.0009127483734786525 0.0008930449909355397 0 0 0 0.00022090739848786773 -3770 1.8645730049873346e-05 7.064350385559903e-05 0 0 0 2.1495335470542404e-05 -9312 0.00028536925567122914 0.00016195474820812026 0 0 0 0.00015879979025961387 -3778 0.0010729535967379555 0.0004899337636572257 0 0 0 2.532610786172749e-05 -3797 0.0007068891812745856 0.0007375825048413512 0 0 0 5.805456149376129e-05 -7699 0.0005010458596434891 0.00040970259124432294 0 0 0 5.006125241067801e-06 -2810 0.0008026026254547251 0.000691365122318831 0 0 0 -4.534948397122537e-05 -3826 0.0004925247061815018 0.0005570090155507572 0 0 0 -1.4321892127319466e-05 -9727 -3.650844102905944e-05 -3.74308041725921e-06 0 0 0 -5.522676548307091e-05 -3857 0.0007833069616275684 0.0009357832950726303 0 0 0 5.1903102867958354e-05 -3862 0.0011714824944477574 0.0005379940266115865 0 0 0 1.2531048858371422e-05 -6060 0.001044843997028622 0.0005309263289346587 0 0 0 -0.0001884313779456799 -3884 0.0007377654814684461 0.0006335397196912075 0 0 0 -1.2538221668369642e-05 -2282 0.0008078891849824812 0.00028170502445851056 0 0 0 -4.919614096747216e-05 -3901 0.00038064991170159057 0.0005280768852832517 0 0 0 5.362821531930994e-05 -3915 0.0005709226614310826 0.0006908121056143459 0 0 0 1.081058325422442e-05 -3919 0.0009640336114613383 0.00026643186105077893 0 0 0 8.699053612312226e-05 -3943 0.0009906086453040498 0.0005207555624039049 0 0 0 -9.479951715144544e-05 -3956 0.0011829911059891792 0.000977705251108859 0 0 0 0.00021939314414628632 -3965 0.0006599923765102142 0.0007064793274963277 0 0 0 1.2567179401570819e-05 -4011 0.0007572290459368979 0.0008559141418159747 0 0 0 -3.74319772145896e-05 -1653 0.0006851235755337633 0.0008040334909118972 0 0 0 -6.2009194841534664e-06 -4044 0.0005889477073485826 0.0006695351822496691 0 0 0 -1.8250061408053495e-06 -4045 0.0012588088953746294 0.0011404585156972102 0 0 0 -0.00044202348376788344 -3291 0.0011035425110138227 -3.794509441975393e-05 0 0 0 -5.859857885331223e-09 -6014 0.00046003937383758586 0.0004861002376082605 0 0 0 1.762236207193008e-05 -4076 0.0009679538092315052 0.0008167757567866482 0 0 0 -1.5311998391048464e-05 -4113 0.0009630009092353081 0.000383489730009698 0 0 0 9.946257419305155e-06 -4141 0.0007271873085620964 0.0005661723904359773 0 0 0 -1.642128092247244e-05 -4148 0.0011172013800092445 0.00032810834141432365 0 0 0 -0.00015591878323008545 -4149 0.0006967358623751156 0.0007840332733109257 0 0 0 -0.00013825238925603052 -4808 0.001130916312657781 -6.368698020852885e-05 0 0 0 -0.00020427400916917223 -9733 0.0005758690674978762 0.000653832902517314 0 0 0 -4.1927286773479014e-05 -4187 0.0012326425460313583 0.0006279906603153349 0 0 0 -7.514455836975568e-05 -5968 0.0009366247258635002 0.00010900894418442358 0 0 0 -0.00016611546620739828 -6299 0.0011047142186339524 1.3246897938458585e-05 0 0 0 0.00018420188828364816 -4257 0.0007131484861011685 0.0008280465246347335 0 0 0 -2.8971867961159178e-05 -4263 0.0007606932411311683 0.0007337445907938786 0 0 0 6.640980580079292e-06 -7318 4.0693698466202205e-05 7.009277195478366e-05 0 0 0 -3.611269786321597e-05 -8760 0.0008962160106284817 0.0004907732739214716 0 0 0 -2.34620827590488e-05 -4283 0.0007907337935069283 0.0009424374092044114 0 0 0 -5.6291574941493e-05 -4290 0.0005045765684096441 0.0004183013170839901 0 0 0 0.00015899195304572218 -4362 0.0004305479760556769 0.0009579139169531615 0 0 0 0.00018943604783631653 -4379 0.0005620268332034654 0.000625005999330722 0 0 0 -5.760910870123984e-05 -4402 0.0011390349179821963 0.0008519197623218396 0 0 0 -1.806994358126486e-05 -6471 0.0006446566861467 0.000600268878532148 0 0 0 1.5484606090371314e-05 -4493 0.0008883070529680738 0.000904589136552546 0 0 0 -1.9823970478772478e-05 -4368 0.0009231868900294731 0.00025359545010812093 0 0 0 0.00022799364279725416 -4496 0.0008427201980044221 0.0009363416352939841 0 0 0 -4.345983063252852e-05 -4500 0.0012852241441978223 0.000529416817344209 0 0 0 -0.00015354579602563361 -4531 0.0011062105145160624 -1.864585986666931e-05 0 0 0 -9.35576918906593e-05 -4535 0.0007991301108533683 0.0007939627072426759 0 0 0 6.249692733998953e-05 -2595 0.0011906427396938422 5.488288358692713e-06 0 0 0 3.303781030691994e-05 -3242 2.024909910294534e-06 6.89472160630698e-05 0 0 0 8.27994690833166e-06 -4803 -0.0002031797032357635 -9.778175039057588e-05 0 0 0 -0.00021884680298542815 -4661 0.0012837510475659922 0.00013025080640860216 0 0 0 0.0002459331438701494 -4672 0.000993469295377631 0.0007369266634362628 0 0 0 -4.021878095760038e-05 -4692 0.0004368796091343277 0.00044246451113357166 0 0 0 -1.283601218567178e-05 -4731 0.0010119992168812007 0.000684887819012092 0 0 0 -2.546376991563811e-06 -4769 0.0007108755030705411 0.0007635514604150964 0 0 0 -5.5924053913721666e-06 -4854 0.0009087495775004724 0.0007947966179698003 0 0 0 -0.00109790668417118 -9990 0.0004763910743796866 0.0005149511675451371 0 0 0 -7.095870409149097e-05 -9805 0.0014145286737924155 0.0010635800513938243 0 0 0 -0.00073868335857752 -4906 0.0009071450612344789 0.0003823644824229978 0 0 0 0.00014608900779364376 -4931 0.0007492156032523877 0.0006060925206848166 0 0 0 1.1678534524889814e-05 -4946 0.0009613194463730976 0.0004604766994667552 0 0 0 4.8266305521717526e-05 -1091 0.0008887424319430343 0.0002022578855705266 0 0 0 -7.372358638409269e-05 -4987 0.0010317262573283467 0.00033329715283602766 0 0 0 0.0001764848580570793 -9227 0.0005652454613408094 0.0005868674082062511 0 0 0 -2.3488824898667307e-05 -9410 0.0009078933027020857 0.0005342499843336189 0 0 0 -3.319790899053927e-05 -5037 0.0008174973285027548 0.0008152900100256786 0 0 0 -2.4609323961536495e-05 -5050 0.0005888655137234644 0.0006651394894102717 0 0 0 -3.757693056584394e-05 -5060 0.0015653387183846635 0.0005779178992109781 0 0 0 -0.00024243906314723042 -5066 -0.00019847357144426166 -0.0034357944862846448 0 0 0 0.0020685935159961413 -8511 0.0009130974923428098 0.0005094659034064489 0 0 0 -2.7873328677145094e-05 -2456 0.0009195919121445733 0.00011269179013772697 0 0 0 6.256384845412323e-05 -4211 0.0009691120014073312 0.0004850138965657393 0 0 0 -0.0004221291285499362 -5158 0.0005968734792067907 0.0005001795777134383 0 0 0 -6.502501891161866e-05 -5169 0.0007699935402373765 0.000688377717284156 0 0 0 -4.8074205078761875e-05 -5188 0.001179862417445787 -1.3467118640540979e-06 0 0 0 1.3989869917133214e-05 -5217 0.000705917459674275 0.0008224671125554253 0 0 0 7.989074157306388e-05 -5237 0.00034960584420257326 0.0004817556101282256 0 0 0 6.816970526248431e-05 -9746 0.0006903366708076823 0.000800207777578775 0 0 0 -2.214662822342987e-05 -5294 0.00024303592371076015 0.0001687646614405779 0 0 0 0.00011177478173303645 -5315 0.00091939786347353 0.001001313774478041 0 0 0 -6.651676940585649e-05 -5331 0.0006457343422258708 0.0007167865479431693 0 0 0 -3.582697697175543e-05 -5354 0.0007656916640976329 0.0008639908252186179 0 0 0 -4.120195955617853e-05 -5379 0.0006905963989684282 0.0006907148963668701 0 0 0 -6.143088464627957e-05 -5389 0.0014090195038374994 6.837745694939934e-05 0 0 0 0.00010957089109851347 -5459 0.00011509939117341331 5.833286307328428e-05 0 0 0 2.4818647136665264e-05 -9970 0.0006947380791343643 0.0007849175828010365 0 0 0 0.00020984776511677526 -8718 0.00014428201654261556 2.4964302369702695e-05 0 0 0 1.5688247896628216e-05 -5516 0.001267134763358918 0.0006521266607035912 0 0 0 6.62649804456643e-05 -5535 0.0007293980556798361 0.0008298999293731622 0 0 0 3.1260905867705895e-05 -5542 0.0011325002729680083 0.00013767276018897005 0 0 0 -2.960817710900752e-05 -5562 0.0009931968168933488 0.0002052430505932548 0 0 0 6.802227338407346e-05 -5585 0.000908656325130077 0.0004241553750586806 0 0 0 2.1924427785026355e-05 -5592 0.0006746641767256884 0.0007479912135206033 0 0 0 -6.629369107795002e-05 -834 0.0007188050026043882 0.0006231305603977581 0 0 0 -8.706882466039185e-06 -5626 0.0007543738175143244 0.0008193410792864836 0 0 0 -1.496736528245262e-05 -6444 0.00043469144976467203 0.0004656411539226227 0 0 0 -6.357641701268834e-05 -5653 0.0009081741767161022 0.0006475491761411382 0 0 0 5.341867633610033e-05 -1996 0.0009309302368286858 0.0002706190905025606 0 0 0 -0.00010833214994642037 -5674 0.0006884492767139976 0.0008275658266736603 0 0 0 -7.085773849478502e-05 -9300 0.0007962307921916574 0.0007119052458344258 0 0 0 -2.7363974304139048e-05 -5686 0.0011602030419772431 0.0006772831917674034 0 0 0 -3.985987769512517e-05 -5689 0.0009209251798540001 0.0006179574390274803 0 0 0 -5.901723310396401e-05 -5828 0.0014902218016314094 0.00037781928686584694 0 0 0 0.00018206446135058345 -5848 0.000777224974149522 0.0006737234183613233 0 0 0 2.1442216011012648e-05 -5894 0.0006232272301386521 0.0007316052843527439 0 0 0 -0.00016065459323363 -9499 0.0007319578752729253 0.0005440393886755282 0 0 0 -3.112140715080836e-05 -5927 0.00021648897093010092 0.00016513917303464902 0 0 0 -5.774599877093817e-05 -1883 0.0007152916225364199 0.0008363232875945816 0 0 0 8.900629399134737e-07 -5983 0.0011606017439478034 0.0005940796870485725 0 0 0 -5.862792662759145e-05 -5989 0.0005378474938414036 0.0005483396250015929 0 0 0 7.400274067474265e-05 -9748 0.0005628854462450491 0.0005026274422516851 0 0 0 -0.00010092913142466864 -6024 0.0005344845497367813 0.0005275298813088496 0 0 0 -2.3892953392936183e-05 -6086 0.001767034380367703 0.0008119063756879282 0 0 0 -0.0001926455484378135 -6087 0.0009275110628678423 0.0004532612110048035 0 0 0 -6.4550375381800754e-06 -6106 0.0009129746232977227 0.000532856176022346 0 0 0 -2.2200605624312873e-05 -8592 0.0006984388199315142 0.0007671283718363274 0 0 0 0.0001308974277000764 -8781 0.00028123576151072054 0.0002885161455182153 0 0 0 -6.112964164838002e-05 -7364 0.0009269299864008401 0.0005051684877094015 0 0 0 1.3003401925852444e-05 -6313 0.0007015803442604807 0.0006539139944681225 0 0 0 -1.227133477223408e-05 -9782 0.0004598502599154921 0.0005750821231431749 0 0 0 2.9502402232736813e-05 -6167 0.0007358847992248536 0.000651337174814784 0 0 0 3.610196765757287e-05 -9697 0.0009409320709646906 0.00047840000956796944 0 0 0 -0.00010046499648504978 -6219 0.0007041067041792363 0.0008526725245707906 0 0 0 -4.847347507036968e-05 -6222 0.0006791490074461101 0.0006248440160957691 0 0 0 -3.985207766833492e-06 -6794 0.0010594097255405398 -8.928117372594864e-05 0 0 0 -8.397994175145386e-05 -7748 0.0011238953668646229 -2.951430543608863e-06 0 0 0 -0.00029400461527808776 -6250 0.0026204561234914915 -0.0020071475741078116 0 0 0 -0.0010626823004417892 -6255 0.0008963689673266257 0.0010123236675478229 0 0 0 0.00019729352291227793 -6263 0.0004795819801729623 0.000571604053352009 0 0 0 1.3849539597914017e-05 -3385 0.0007986148279648194 0.00046992889760358065 0 0 0 -5.0193982439700697e-05 -6289 0.0005587759828117548 0.0005483082357876232 0 0 0 -8.814387295188157e-06 -6290 -0.0012541420619827583 -0.0015629217442159073 0 0 0 0.001465469680216568 -6296 0.0008832279263079317 0.0006334071722917466 0 0 0 2.1058933550869063e-05 -6317 0.0005573720309305695 0.0006492566355359079 0 0 0 1.905103457794814e-07 -6319 0.0009949185189285276 0.0006710792045282456 0 0 0 -0.00011497143914137316 -6344 0.0006996006967777393 0.000753373551927687 0 0 0 4.505335151461745e-05 -6362 0.0006821329643390495 0.0007920259062771456 0 0 0 -7.058159206660312e-05 -6512 0.0006678772204052964 0.0005180076119633269 0 0 0 2.1532414023743308e-05 -6454 0.0004985820381586717 0.0005211391964317061 0 0 0 4.8707496330541275e-05 -6463 0.0011531079865797994 0.0005722072728861533 0 0 0 2.6983078774062145e-05 -6467 0.0010743477057605663 0.0002338559019044262 0 0 0 -4.269495618584307e-05 -6493 0.0008760212921040146 0.0006768449923452968 0 0 0 -8.869084147028437e-05 -6500 0.0010796500713733592 0.0007525920709045192 0 0 0 -2.366673761739995e-05 -6511 0.0007100530767610102 0.0007301234075226502 0 0 0 6.983002131594095e-06 -6534 0.0009046353017634691 0.0003009289402485897 0 0 0 -2.9680018928418786e-05 -8617 0.0003697416832933304 0.00037922393131086153 0 0 0 0.00011742825564083222 -6554 0.0006976205650310236 0.0006464002294132181 0 0 0 4.430220309827943e-06 -4956 0.0006155990147498375 0.0006867304844627161 0 0 0 -2.6643948731543764e-05 -4254 0.0008538200925158595 0.0004998855663307386 0 0 0 3.053653215835051e-05 -6606 0.0009285537022516759 0.000170394627709607 0 0 0 -0.00019920937564499796 -5493 0.0010349806136528304 0.0007112440581961669 0 0 0 -0.00048605256508936435 -6738 0.0008990665171187818 0.0010268589729343204 0 0 0 -2.4457087028350716e-05 -9396 0.0005624105824127955 0.0005682303062040665 0 0 0 3.3362341823512614e-05 -8626 0.0005612435265386654 0.0005156907162550986 0 0 0 9.438009355265017e-06 -6765 0.0013796793782901982 0.0007271357155429917 0 0 0 -2.4798805487017034e-05 -7992 0.0012584115036454483 -8.339138679388682e-05 0 0 0 8.757443729192889e-05 -2472 0.0008629661713696456 0.000303732230386498 0 0 0 1.697943742916582e-06 -6812 0.0005752015617677736 0.0006088550793102369 0 0 0 -1.5883961805947715e-05 -6161 0.0008825076681796471 0.0004434485887570697 0 0 0 -7.613961710023797e-05 -6877 0.0009246797093746044 0.0008535037761385116 0 0 0 -0.00012686543788991377 -6892 0.00080558469102179 0.0009429666863291994 0 0 0 2.356394489778627e-05 -3815 0.0009451952628866577 0.0004501536454129086 0 0 0 -4.986494656442697e-05 -9411 0.0008977351631814662 0.0009367866708856301 0 0 0 1.7255979120263335e-05 -6946 0.00018176652326265785 0.0002691890050724713 0 0 0 -1.9622744229026587e-05 -6955 0.0005623982310401226 0.0005231785843133478 0 0 0 1.083222530287192e-05 -7001 0.0006193937116932739 0.0006095788527665756 0 0 0 -5.735795118002888e-05 -4066 0.0005735076392768568 0.0005223975395923591 0 0 0 1.3420938158466492e-06 -7014 0.000640111899266178 0.0007262925308856786 0 0 0 -6.78725505932441e-05 -6814 0.0006725811413981815 0.0005347983612899475 0 0 0 2.4880064954740394e-05 -2893 0.00010550832072761526 0.00017999345042663093 0 0 0 8.951149113288517e-05 -7030 0.0005596896986887377 0.0005864457891579235 0 0 0 2.900576629337392e-05 -7040 0.0009075354064117695 0.0008971238734378718 0 0 0 0.00020312505517111612 -7057 0.0009164315229241239 0.0003492877062813423 0 0 0 1.5114106045420257e-06 -7075 0.0004794659338937143 0.0005853796601868613 0 0 0 -6.210612448487874e-05 -8954 0.0009708603245495076 0.0008008863096122555 0 0 0 3.279725115283245e-06 -7081 0.0005072127053911883 0.0003906593588201815 0 0 0 0.00019969276752781305 -8910 3.9750901095143405e-05 0.00012587002216474282 0 0 0 0.00012651377631474895 -8989 0.00023264641653383255 0.0002796806072237394 0 0 0 -9.730844222284872e-05 -7171 0.0010092408755705436 0.00040147681981315286 0 0 0 -0.00020155869964457517 -7182 0.003290606050429322 -0.0011644419847363554 0 0 0 0.0005375352952717682 -8541 0.0007115777802476252 0.0007715371478413667 0 0 0 0.0001559371484497471 -9701 0.0011928273712216264 0.0006968601315343479 0 0 0 7.050191693636366e-06 -7222 0.0012400814966124307 0.0008487202376334494 0 0 0 0.0002176501088698922 -9434 0.0007165904238916335 0.0008247997529584109 0 0 0 -8.389355423930292e-05 -7249 0.0008340522558362318 0.0008950675556795603 0 0 0 -4.462897169261876e-06 -7290 0.0014372797257941024 0.0007369948819710227 0 0 0 -0.00042908908132140356 -7315 0.0011936144253494418 0.0007811414959425046 0 0 0 -1.795305647049198e-05 -7567 2.808228377746958e-06 2.2887267230034013e-05 0 0 0 2.281482793966239e-05 -7338 0.0010544715457304957 0.00040840896254012684 0 0 0 1.3379101571664098e-05 -9249 0.0004759588539073934 0.00034314932372330565 0 0 0 5.7935378841069396e-05 -9584 0.0008367235104282488 0.0006950382325226112 0 0 0 -4.826411596003168e-05 -9067 0.0006240179116034504 0.0004977869087606121 0 0 0 8.29627824433869e-05 -7445 0.0003986383872449468 0.0005288816014025686 0 0 0 -6.884302925327648e-05 -3768 0.0009532500937000923 0.00042497691885592665 0 0 0 -3.416070868820427e-05 -1378 0.0008023056784692062 0.0006220940611748286 0 0 0 5.365630505821444e-07 -7506 0.0006600078026710159 0.0007192149458900417 0 0 0 -7.853606595421233e-05 -7525 0.0008387993422518475 0.0007436417436366953 0 0 0 -8.140319665449557e-06 -7547 0.0006864570572383775 0.0007263797613152228 0 0 0 -9.787801257366933e-05 -7620 0.0025823561706050627 0.000767248588530705 0 0 0 -0.0008170105452089659 -7645 0.0007126573779653325 0.0005365805347510176 0 0 0 -2.7628295725252792e-05 -7649 0.00013261000872852476 0.00024490098470266017 0 0 0 -3.5642343089866354e-05 -7650 0.0009554969676178978 0.002308020231978831 0 0 0 -0.0024883262599051143 -8447 0.00031753768141677474 0.0002349051599500491 0 0 0 -3.596720936183836e-05 -9563 0.0007874204334475845 0.0009121882160798559 0 0 0 0.0005734214449747205 -7700 0.0060089664245491685 -0.005594448811507953 0 0 0 -0.0009422968087497753 -8325 0.0015038465442488828 0.0009004322863503021 0 0 0 -6.308856612441388e-05 -7745 0.0010453153457925524 0.0008613495805583441 0 0 0 -0.00012414870669836243 -7823 0.0011194409706579672 0.00033887357750420885 0 0 0 -0.00041526603821857746 -7824 0.001581256301033927 0.000363803939579749 0 0 0 -0.00035531321278622576 -7831 0.00036500362223700164 0.0005122890907726076 0 0 0 0.00010015586630385502 -7856 0.0007124758342156157 0.0006683952321819778 0 0 0 -2.5055444343644856e-05 -6099 0.000710158812263354 0.0007873944975611242 0 0 0 5.4467410762330385e-05 -7922 0.0012365126953191267 0.00056614951009008 0 0 0 -9.959333292159732e-06 -9088 0.0005696138838348351 0.0005477305738902137 0 0 0 3.176818571010052e-05 -4615 0.0010473484954002358 -0.00011115921910047947 0 0 0 -0.00020666154694036585 -7947 0.0009373927669375825 0.00024906357457595815 0 0 0 -3.2889411173376565e-07 -8806 0.0007168742035030544 0.0007789406457245856 0 0 0 -0.00021262963340200463 -6115 7.55292597807282e-05 8.683352296239648e-05 0 0 0 0.00010142639517887121 -8002 0.000532548856269659 0.0006165646282774085 0 0 0 0.00012917679863822586 -9397 0.0007958689776466251 0.0007379622109710493 0 0 0 7.971887804159023e-06 -8090 0.0006850276333906254 0.0006770764191624416 0 0 0 -8.273403426599453e-05 -8100 0.0006763232126607581 0.0008015802075839257 0 0 0 0.00012755467439988649 -8115 0.0010917729896808715 0.00028310811624816107 0 0 0 -0.00022003421808627067 -8149 0.0015345115394898969 0.0007214058795193721 0 0 0 -0.0007071290154964358 -8161 0.0004520679424469892 0.0005569007494001791 0 0 0 5.016143640000686e-05 -9405 0.0008779727709998773 0.000704392836808925 0 0 0 -2.6073041260179124e-05 -4537 0.0009447780388221158 0.0002491235348763328 0 0 0 -1.30335189607561e-05 -8214 0.0012520542258222871 0.00048802749229638013 0 0 0 -0.00024202272817283526 -8928 0.0005846642074727953 0.0007186204990132236 0 0 0 -1.1516689550971165e-05 -6446 8.55080193599266e-06 -0.00023892273485222679 0 0 0 -0.00024228388264486674 -8268 0.0008527245169904839 0.0007168515793195215 0 0 0 -2.5018796597131432e-05 -4990 0.0011318942930279275 -4.629939942842037e-05 0 0 0 -0.00025667502712652454 -8275 0.000843602159075503 0.0007192146758765188 0 0 0 -7.930181181622327e-05 -7205 0.0011362637131227228 7.995226134361283e-06 0 0 0 -0.00015222504760483498 -8204 0.0007796934435526999 0.0004236773967904001 0 0 0 -4.440319816770667e-05 -8729 0.002494437372365155 0.00030234641765276187 0 0 0 -0.0018313368094386383 -125 0.0003620039111380764 0.000320872589628095 0 0 0 -2.6810298284600313e-05 -9647 0.0002061671148070388 0.0001437588938462298 0 0 0 0.00016544043274952481 -9308 0.0009118790976030887 0.0001071518256977993 0 0 0 0.00011534995636638002 -1081 0.0005994199311687089 0.0005081359213962047 0 0 0 5.1436096198448896e-06 -1582 0.0006639909344170839 0.0006658236985101747 0 0 0 2.5300624313145074e-05 -6238 0.0004955275744842481 0.00044798187551527054 0 0 0 -7.623611809122168e-06 -4420 0.0006287828835700955 0.000601937599991739 0 0 0 -7.095985122894525e-05 -7227 0.0003290495020108896 8.948191461307811e-05 0 0 0 0.0001774292505231603 -378 0.0007879517772733175 0.0004636725726893867 0 0 0 -1.965555072345015e-05 -507 0.0006312673683736642 0.00045408123289349003 0 0 0 -1.94431478658855e-05 -5655 0.0009735733779288935 0.0001276495214886057 0 0 0 0.00019972728605139264 -2140 0.0006415169829345407 0.0007264661434972957 0 0 0 4.929821740623308e-06 -2743 0.0003044171976948693 0.00034170140344178635 0 0 0 5.8795461144218957e-05 -8694 0.0011258955602205742 1.3048551416597687e-05 0 0 0 0.00014032906801597528 -7038 0.0004792068865350078 0.0004438386249966399 0 0 0 -1.5114759756425505e-05 -2540 0.0005438569638141772 0.0005103969198463872 0 0 0 -1.1958638599931959e-05 -5115 -6.5531367491382495e-06 -0.0002490072382836473 0 0 0 0.00032009801274307835 -5239 0.0009544012235797912 0.00041570776209417235 0 0 0 3.660206272675654e-05 -1448 0.0005066428842092252 0.00045969559257214287 0 0 0 -3.0542083199591036e-05 -4192 1.3293896195416343e-05 2.5426861733721466e-05 0 0 0 4.233845917102872e-05 -4975 0.0006411330654827208 0.0006269392446050747 0 0 0 -3.175221909274013e-05 -4550 0.00010479450912714248 -4.4740311870880536e-05 0 0 0 -0.00011887237450667041 -6900 0.0006898797857095077 0.0008119862452149331 0 0 0 5.480725912266728e-05 -7708 0.0007832016667871966 0.0009007861248862042 0 0 0 0.00013729384911789972 -6571 -1.240516851200333e-05 -3.922581073552743e-05 0 0 0 -6.570541308892359e-05 -5543 0.00046156881342403883 0.0004164403687727262 0 0 0 -4.482716103455683e-06 -5627 -3.4811007119264314e-05 -0.00033474727616878206 0 0 0 -0.0006558155785214214 -5484 0.0005119701006642131 0.0005241839772366324 0 0 0 1.935125874279062e-05 -4311 0.0005665712580451988 0.000488332122462277 0 0 0 4.3523959426372686e-06 -4491 0.0004901962482976033 0.00044349431886498564 0 0 0 -8.354001641890786e-06 -9472 0.0010300717449307853 -8.882581592709648e-05 0 0 0 -0.00017283990979955613 -2480 0.0006419577585296877 0.0007754771869542377 0 0 0 -3.704514241892905e-05 -4052 -0.00017024173741355295 1.0157053020145389e-05 0 0 0 -0.00010040378031383146 -7446 0.0003343915029902605 -1.7736154255433067e-05 0 0 0 -0.00015973429727006742 -5124 0.00018907531123469787 -9.089557241984613e-05 0 0 0 0.0002710652517158879 -2154 0.0006195612833963045 0.0007278970223896849 0 0 0 -4.655767744530129e-06 -7454 0.0009361790936229035 0.0005196046713063093 0 0 0 -1.6982464943319266e-07 -4264 0.0006855157962669475 0.000489152731896713 0 0 0 0.00011936567884123258 -2724 0.0012736130968293137 -3.5324180529588236e-05 0 0 0 -8.218056803402664e-06 -1116 0.0009249929713320363 0.0003526495244912877 0 0 0 -7.777202964436449e-05 -1895 0.0005581775127375319 0.000584947723335749 0 0 0 -3.3379337657793616e-06 -6784 0.001028065873901604 -4.101921582894038e-05 0 0 0 5.666530242059671e-06 -4175 0.00018006424444688628 8.802113913004523e-05 0 0 0 -7.228064889024703e-05 -3223 0.0006898015092127551 0.00044682975538458094 0 0 0 5.597152438034065e-05 -8585 6.725094624804885e-05 -0.0002867171561451518 0 0 0 -5.156849450810613e-06 -5889 0.0005346918631779745 0.0004671167678729537 0 0 0 1.7648730320339375e-05 -5241 0.0004829910975704326 0.0004068736540497911 0 0 0 -6.157154535714868e-06 -6011 0.0005181732599036001 0.00044435842968901793 0 0 0 1.0582677103499969e-05 -6214 0.0004644114560540609 0.00045732860402658175 0 0 0 -2.353511319539965e-05 -9557 3.08598786652832e-05 9.908863022912951e-05 0 0 0 -0.0001110203524711924 -9983 0.0006084090428124798 0.0006914995439803245 0 0 0 1.3232417480132715e-05 -7981 0.0005841585079821156 0.00046736259602023835 0 0 0 -2.6077424089855513e-05 -5015 0.0007807935340199187 0.0004816446151650812 0 0 0 -7.426735092348066e-05 -2971 -5.1664607438548136e-05 -0.00038985181203387393 0 0 0 -0.00015530344817469863 -8281 0.0010067120804462368 -6.706358003475873e-05 0 0 0 -0.00010008164037626842 -713 0.0005831627540194718 0.0006423948027011681 0 0 0 1.3526291485527928e-05 -1397 -1.035309378546515e-05 -0.0001473757192634984 0 0 0 9.688168774240904e-05 -9569 0.0006197094115957885 0.00044117734696012134 0 0 0 1.7950908497660686e-05 -235 0.00034847064956852107 0.0004173677975051793 0 0 0 3.6954455400463195e-05 -61 0.0009974815796674117 6.987091971067301e-05 0 0 0 -2.0341385553563567e-05 -835 0.0002706864184077286 0.00020426774056976564 0 0 0 -5.5599984808790674e-06 -2735 0.0006588774940959658 0.00043472253141411455 0 0 0 1.2510306384853962e-05 -9208 0.0007756710958285477 0.00034489007540338936 0 0 0 -5.331414790637006e-05 -5612 0.0008778863812600238 0.00029450392173466943 0 0 0 -9.120705622291735e-05 -4020 0.0005461203698139829 0.0004627282640784373 0 0 0 -8.180753937775461e-06 -8269 0.0017419261421026573 -0.00019198142595060034 0 0 0 -7.923534222446449e-05 -994 0.0006985091453569925 0.00044797708635401797 0 0 0 1.3292738438972353e-06 -2796 0.0004937799072808925 0.0004280655243919662 0 0 0 3.9850872101994737e-07 -9752 0.0005073071693577868 0.00042891265508431187 0 0 0 -3.0340376968748674e-05 -6763 0.00019905563907788242 0.00014301288990488912 0 0 0 -0.00012845466652830595 -7707 0.0006364514138497871 0.00040360365380044655 0 0 0 -3.823379052442313e-05 -7695 0.0007795807782723278 0.00032406626503274984 0 0 0 -3.0451746616947194e-06 -3130 0.0007248660320413792 0.0003787342086888145 0 0 0 -5.024416214198625e-05 -3885 0.0010683575232437836 -0.0001008030585858383 0 0 0 0.0001160796941461965 -3801 0.0011269225713810538 -0.00011522843222030495 0 0 0 -9.116082693205811e-05 -754 2.8956297569944975e-05 9.15787187525968e-05 0 0 0 -5.1381824595217495e-05 -1479 0.0002128283098577917 0.00016570580767181846 0 0 0 9.664766817104866e-06 -5161 0.00030355012608960786 0.00042418648081323374 0 0 0 -5.5083425319284594e-05 -7962 0.0012730312637714105 -0.0003945667731474425 0 0 0 -1.5190591396152151e-05 -78 0.0011970251597669408 -0.0004411043680263432 0 0 0 -2.0447818468137695e-05 -87 0.0012863438051945138 -0.0004770095894625339 0 0 0 -4.094153993728702e-05 -91 0.001157935461601928 -0.00032879131407026615 0 0 0 1.4123005691266414e-05 -98 0.0010766957238360244 -0.0004565593060501977 0 0 0 -1.1490602721168729e-05 -129 0.0010025518089947986 -0.0001992026764775477 0 0 0 -5.62920378950773e-06 -154 0.0010456262158322898 -0.00024210071757230445 0 0 0 -5.287676447395848e-06 -157 0.0012391026359007023 -0.00032178517350557096 0 0 0 -1.7650294489903717e-05 -175 0.0012232940164987496 -0.00028550301798206825 0 0 0 -5.200411203929259e-07 -3611 0.001034854629736794 -0.00025231056574481726 0 0 0 1.3664990976582764e-05 -192 0.0011066012640240912 -0.0003452694115525728 0 0 0 3.179473409803399e-07 -200 0.001105455177371732 -0.00025606579007714155 0 0 0 1.0542850568982926e-05 -221 0.0009860767294119217 -0.00046626759497036093 0 0 0 1.4544129029345071e-05 -9429 0.0008215051276460227 -0.0003579550248562814 0 0 0 -1.4666614916214273e-05 -259 0.0012453828817727893 -0.00049089605694023 0 0 0 -1.0090994371185864e-05 -265 0.001095782384899382 -0.00033158158741098786 0 0 0 -2.1203282777568868e-05 -305 0.0010121584520102413 -0.0002507775317428298 0 0 0 7.73571377524694e-06 -314 0.001101659163870381 -0.0004997522430065851 0 0 0 -2.303859932068339e-05 -315 0.0014941115999517064 -0.000593692111291004 0 0 0 -6.465500781011927e-05 -316 0.0011895910640813167 -0.00046520237893570216 0 0 0 -7.952381851852092e-07 -9233 0.0012765217608125613 -0.0005237037108562451 0 0 0 5.6707491992296964e-05 -328 0.0010654463267584394 -0.00022180500967564486 0 0 0 -1.1602742159952595e-05 -345 0.0011029925224552222 -0.00025338443685887394 0 0 0 -6.149941696424603e-06 -365 0.001247785801845637 -0.0004931717065966602 0 0 0 7.35202247744496e-06 -395 0.0008272479345778757 -0.00036029399127494166 0 0 0 -0.00011218756704038847 -504 0.001583215801750864 -0.000557560925425027 0 0 0 -4.815399584565568e-05 -556 0.0013067329157397528 -0.00048741815552047555 0 0 0 -2.1929114133324343e-05 -568 0.0011723416381358043 -8.340789228107506e-05 0 0 0 -2.213090310847623e-05 -256 0.0010541382084102641 -0.00031858527459819957 0 0 0 1.0317125640618341e-05 -582 0.0010668195588507089 -0.00029259421578250745 0 0 0 -7.022400303161907e-06 -583 0.0011681822923600748 -0.00018794451621908243 0 0 0 -1.400141282356844e-05 -586 0.0011985742431202316 -0.00023563611173432294 0 0 0 -1.700756925054859e-05 -598 0.0009826865789369465 -0.0002226523453567061 0 0 0 9.265323142430225e-06 -599 0.0010545649679364116 -0.0002611901104835182 0 0 0 1.574977408413073e-05 -613 0.0011230263304273392 -0.00029512536024553385 0 0 0 -1.410093414749236e-05 -7478 0.000873710115056649 -0.0004348156843289521 0 0 0 -2.5997979848653352e-05 -4457 0.0012053394296067143 0.00016433290553916806 0 0 0 -4.995724236986119e-05 -660 0.0010859638563391577 -0.00030469937875947584 0 0 0 2.3815233120775584e-05 -662 0.0012115126873123857 -0.0002466997792518413 0 0 0 -7.066778120251575e-08 -672 0.0010905762808516286 -0.0003033110572307274 0 0 0 1.907643609488467e-05 -680 0.0012930794017077458 -0.0003989871193881749 0 0 0 -3.350695907482657e-05 -705 0.0010685256194218951 -0.0004640018656873348 0 0 0 -5.894379589571521e-06 -746 0.0011575055125956088 -0.00048019354167846154 0 0 0 -1.4178622847746634e-05 -1540 0.0012143648156024292 -0.00042663524241778124 0 0 0 6.092264987373832e-06 -782 0.0007448270415045598 2.375863306312795e-05 0 0 0 1.93342562341914e-05 -4312 0.0011875706623775191 3.692138211274545e-05 0 0 0 -0.00010282485058179395 -843 0.0013660982187715218 -0.0005713495416917143 0 0 0 2.2709954413533233e-05 -882 0.0012636061308139992 -0.0005006194663397044 0 0 0 -3.0147106837204622e-05 -775 0.0010025973246509598 -0.0002548163239384245 0 0 0 -1.335051000565326e-05 -900 0.0011168825513604849 -0.0002832783071377799 0 0 0 -1.0721510134505738e-05 -907 0.0015256897589198228 -0.0005236790648087867 0 0 0 -0.00020646054342717853 -518 0.0008298339859794594 -0.00034631167961368 0 0 0 -3.3249144773602645e-05 -931 0.001231542514832845 -0.0004297055761827759 0 0 0 -3.856627347725453e-05 -933 0.0009608564171853828 -0.00020321601318466813 0 0 0 -3.410432429549554e-06 -7561 0.0008302018733353916 -0.0003149291972350247 0 0 0 1.3344257606604366e-05 -943 0.0011153823171460933 -0.00026041288348387673 0 0 0 -2.7827159137190087e-06 -954 0.0009523932420982462 -0.0004806601284387006 0 0 0 -9.07446243505511e-06 -6302 0.0011545319582813693 5.956814779244099e-06 0 0 0 -5.600738888791885e-05 -966 0.0010983383676841205 -0.00029876899309241905 0 0 0 1.1216376949681368e-05 -1004 0.0011554813157023198 -0.00011173977918651718 0 0 0 -7.892507000689975e-06 -1094 0.0010770328389043448 -0.0003217320751354234 0 0 0 2.1857496326965042e-05 -1106 0.0014028506904478655 -0.0004794215264474096 0 0 0 -7.081758918911585e-06 -1109 0.0009388711091471872 -0.00024670288931520867 0 0 0 -4.209144553650232e-07 -1124 0.001239380905234507 -0.00042555540496319724 0 0 0 -4.6102111588562047e-05 -1154 0.0008811626550396611 -0.0003005829117552937 0 0 0 -3.797927425030887e-06 -1175 0.001061480563455663 -0.00028206010967014714 0 0 0 -2.2601982268719714e-05 -1207 0.0013362209374621508 -0.00047793870980523576 0 0 0 4.146108682858278e-05 -1211 0.001116459843515514 -0.00021676567491521942 0 0 0 2.5002358217312972e-05 -3137 0.0009336635147663474 -0.00024019891521782043 0 0 0 6.723598322192554e-06 -1251 0.001172595900365263 -0.00045937297730591945 0 0 0 -2.1885656297751626e-05 -1007 0.0008382001028233091 -0.00047122832194797254 0 0 0 -3.8089438813396557e-07 -2552 0.001028809754921067 -0.0002954034785459947 0 0 0 -9.152316826488844e-05 -1299 0.0010507922641443052 -0.00023447976067255902 0 0 0 -2.4766691648243466e-05 -4696 0.001388253511764898 -0.0005384208912795371 0 0 0 4.164569791177774e-05 -1325 0.0010859726092563213 -0.0004601581985721306 0 0 0 7.980491592989399e-06 -1330 0.0009683862078838882 -0.0002672088257404564 0 0 0 3.234333850848746e-06 -9847 0.0010342754379131368 -0.0002544660220350743 0 0 0 1.5333754645324763e-05 -1359 0.00080908373658624 -0.0003513272758935859 0 0 0 0.00023513032489768586 -1363 0.0012871278173497845 -0.000504102833935496 0 0 0 1.682402802355267e-05 -979 0.0010826753771991716 -0.0002783880762589164 0 0 0 -7.81570262019721e-06 -1388 0.0010388233952159606 -0.0004426438219895773 0 0 0 -3.5834230599914e-05 -1406 0.001169444575569328 -0.0003089000988446425 0 0 0 -2.669642980558504e-05 -1407 0.0012698496984114274 -0.0005014004613272834 0 0 0 -1.3056643085581646e-05 -1437 0.0010226383666663745 -0.00042094576904626286 0 0 0 1.1765350109527146e-05 -7834 0.0009195363613348443 -0.00022571780640691402 0 0 0 1.4811568352868042e-06 -1451 0.0012636721257049638 0.0001071963012181252 0 0 0 -0.0001452695459874585 -1463 0.001087241763005941 -0.00025423159575056975 0 0 0 -7.4076163132767665e-06 -1497 0.0010449258776563095 -0.00020539312700358387 0 0 0 1.6609956243172397e-05 -1502 0.0010747798321709221 -0.00020049166045114436 0 0 0 0.00011830355147089653 -1508 0.001096542359645316 -0.0002423835850554852 0 0 0 9.803377076356624e-06 -1515 0.0011562587721801404 -0.0002802953550693907 0 0 0 -1.9015837882497078e-05 -1517 0.0010585359680896239 -0.0002846562725423027 0 0 0 -1.21097720138928e-05 -1553 0.0010511926362119482 -0.0003780358025169475 0 0 0 -1.315072155664279e-06 -1626 0.0017720769112733335 -0.00048551822645316145 0 0 0 -0.0001844859503258766 -1643 0.0010876636473530583 -0.0003856607641741792 0 0 0 1.2718055223429327e-05 -105 0.001365929489519644 -0.0005659211866432598 0 0 0 -9.505758840845214e-06 -1708 0.0011589206380071774 -0.00020171328748163137 0 0 0 3.947429990245429e-06 -1721 0.001039723117463936 -0.0002755799284408548 0 0 0 1.7444360467882795e-05 -1743 0.0012424467792566903 0.00019533480358095172 0 0 0 0.00011671780762507404 -1754 0.0009660544708674346 -0.000425075837533772 0 0 0 -4.298084301468066e-07 -1773 0.0012304793433994096 0.0001365533623369023 0 0 0 8.690584918939122e-06 -1781 0.0013550740499974584 -0.00042665889904159747 0 0 0 -8.186937892769716e-05 -1790 0.0009941602660536568 -0.00026179453932783536 0 0 0 -2.637052639092183e-05 -1818 0.0013724229342165076 -0.0005686364818947239 0 0 0 -5.7737528408877885e-05 -1843 0.000987179647522663 -0.0003954855178707194 0 0 0 3.278981977809322e-05 -1851 0.0011794527533122842 -0.0004000453747087997 0 0 0 -3.248060978478442e-06 -3831 0.0010876187686451547 -0.00027606081980686645 0 0 0 4.896446462060648e-06 -1884 0.0011322278150315574 -0.0002468795765162512 0 0 0 -5.9153553111870566e-06 -1889 0.0009404839759578408 -0.0003304333543046333 0 0 0 -6.25178059585328e-06 -1917 0.001224857368202881 -0.00040777865254729444 0 0 0 -7.426237975820283e-06 -1937 0.0012229759610155543 -0.00046894052207953774 0 0 0 7.843290330631182e-06 -1629 0.001066743899009866 -0.0003815718972507841 0 0 0 -1.4670796804021044e-05 -1998 0.0011239980248128356 -0.00010220588660098672 0 0 0 -2.049614981771093e-05 -2005 0.0013664812122735435 -0.0005000726501863913 0 0 0 -0.0004081569326119337 -2012 0.0012066107506592519 -0.0004912572590830481 0 0 0 -3.1215714369654806e-05 -2035 0.0010391249344431342 -0.0002840883876387508 0 0 0 -1.1326837744317503e-05 -2112 0.0015180144182816672 -0.0006278088116388588 0 0 0 -0.00020319723252784535 -2119 0.001221159206407084 -0.00014487298737384874 0 0 0 -3.662757615269163e-05 -2123 0.0010023952859359244 -0.00024431154269835727 0 0 0 -1.826578626868768e-05 -2129 0.0012216751837431914 -0.00038751360517688384 0 0 0 -3.5580184445413907e-05 -2172 0.0009211539578647293 -0.0003183380651351089 0 0 0 -0.00024564528552174027 -2173 0.0008027983116483826 -0.0003950082450576238 0 0 0 0.0001210523199253637 -2186 0.0012384853652391585 -0.0004939870432156379 0 0 0 2.026579158358411e-05 -2194 0.0009663801905502437 -0.0002480440232205599 0 0 0 -6.98444682419115e-06 -2210 0.0011154234529454827 -0.0005068578607293837 0 0 0 2.1857265299996897e-05 -2225 0.0015587008348490023 -0.0005144441783238793 0 0 0 4.3317784529994414e-05 -1283 0.0009863987749261364 -0.00023887273277890404 0 0 0 1.7320658526470865e-05 -2277 0.0011699682472740712 -0.00047472363158089617 0 0 0 -3.246776275151106e-06 -2339 0.0013563203166565886 -0.0005161050696668494 0 0 0 2.8492760128777522e-05 -2362 0.001083754392182871 -0.00024214999418032627 0 0 0 1.0797863883170082e-05 -2404 0.0012042611084824163 -0.00026132682066010556 0 0 0 4.4005558688780626e-05 -2428 0.0010532525934204302 -0.0003668948238042572 0 0 0 7.12338502819598e-07 -2432 0.001435009787080854 -0.0005648521169550085 0 0 0 6.165088921168849e-05 -3420 0.0008514054206231189 -0.00037864888890632895 0 0 0 -7.975408106580502e-06 -2454 0.0011132472333036834 -0.0004658219824004616 0 0 0 -1.3325308281058852e-05 -2521 0.0009985575930951587 -0.0003993810165898784 0 0 0 3.374359625958094e-05 -4937 0.0008343195269242954 -0.0004501120019605492 0 0 0 -6.149745717193574e-06 -2542 0.0009667050830255063 -0.0002752105821529169 0 0 0 -9.303004532155984e-06 -2554 0.0014819941308955083 -0.0005610197943817318 0 0 0 -0.00031673747166511586 -2559 0.0011553195220550174 -0.0005332026180708519 0 0 0 1.2801029421609678e-05 -2645 0.0010196790145493102 -0.0002688977138395587 0 0 0 -2.2009710701901e-05 -2663 0.001043772243360395 -0.0004405104256649007 0 0 0 -8.535653006754681e-06 -2665 0.0009754665034917334 -0.00029388934231038883 0 0 0 -7.996798246158983e-06 -610 0.0010250382989685392 -2.186813415308607e-05 0 0 0 -3.44572679788856e-05 -7930 0.0008305922093551098 -0.0003511243467902211 0 0 0 4.736876703008645e-05 -2747 0.001066867477125439 -0.0002425075215099883 0 0 0 -0.00010361935173333831 -2793 0.0010976211886264786 -0.000502445540644526 0 0 0 2.946629909720693e-07 -2822 0.0011878895927618569 -0.00023177180177635508 0 0 0 -3.1306077552001274e-05 -2890 0.0011870393016717652 0.00012119703357661982 0 0 0 1.3153661328935697e-06 -714 0.0009270297878518172 -0.00033753204848641636 0 0 0 -3.0167545279817268e-05 -2953 0.0015845230501926814 -0.0005550563995362617 0 0 0 -0.000359437456826124 -1579 0.0010633098724749685 -0.0003787718241803467 0 0 0 -2.2840857932028488e-05 -9276 0.0009116202409736745 -0.00023110868090381025 0 0 0 1.3184563712115313e-05 -2981 0.001065890590566947 -0.0004136553361451902 0 0 0 -2.036614666699541e-05 -3021 0.0011199759060188624 -2.939616310017039e-05 0 0 0 -2.0064194963667684e-05 -3028 0.0015974148610879916 -0.00028896492803624725 0 0 0 -1.3039654026407683e-05 -3051 0.0012052471130849487 -0.00029328324502326473 0 0 0 1.740145257054395e-05 -3053 0.0010721573021271475 -0.000449451792106661 0 0 0 1.9001396079123265e-05 -3054 0.0012127566760920885 -0.00025035614691502694 0 0 0 -4.084746150976256e-06 -3061 0.0011383874177623003 -0.0002414444227848278 0 0 0 -8.740742228410941e-06 -3080 0.0010908620378970878 -0.0003097204864412875 0 0 0 -1.0789187013306214e-05 -3099 0.0012122096570264965 -0.00019467452187329695 0 0 0 -7.672988438528779e-06 -3112 0.00103092390120595 -0.0003819313772744279 0 0 0 -5.508031176225411e-06 -3125 0.0017186823599659902 -0.002222724190362472 0 0 0 0.00030949133607927114 -3165 0.0007983405026128798 -0.00032841640896248225 0 0 0 3.2521118645636403e-06 -3198 0.0008544565417515029 -0.00043635952462257427 0 0 0 0.0001694102446860137 -3206 0.001264231989773669 -0.0004710840968389606 0 0 0 7.8561837692972e-06 -3208 0.0009554385442655402 -0.00023248828543722338 0 0 0 -2.2703519655822384e-05 -3231 0.0013249761111081351 -0.0004448365228637322 0 0 0 -6.002353818399783e-06 -3244 0.001068719130514912 -0.00025780483023064014 0 0 0 -2.8455335997087772e-05 -3249 0.0010214498342285857 -0.00024112465883994197 0 0 0 -1.2663395830535533e-05 -3260 0.0009845186713065878 -0.00045227723907885915 0 0 0 -0.0001390125313193273 -3277 0.0010609463041167016 -0.00025349103420463506 0 0 0 2.289390855614209e-05 -3304 0.0015309044680064136 -0.0006475017819532987 0 0 0 -0.00011544050874883515 -3319 0.0010702501400447276 -0.00037755440267644487 0 0 0 1.0653442865835983e-05 -3342 0.0012795863432101188 -0.0005729766657521114 0 0 0 -3.148450250112439e-05 -3345 0.0010548545408180976 -0.00045990615563410727 0 0 0 -4.0493008034538706e-05 -3346 0.0015293718803210017 -0.00045722520516912443 0 0 0 0.0002465663709146494 -3374 0.0011875538190937972 -0.00018125128004722684 0 0 0 -4.769901125334511e-05 -9051 0.0011329662821939477 -0.0006093879281428767 0 0 0 -6.437414337414153e-05 -3380 0.0012375690709313276 -0.00042389099521214393 0 0 0 -4.009828828547089e-05 -3402 0.00095856597690093 -0.00030749865945039703 0 0 0 -1.2381200889994857e-05 -2077 0.0010367243191713033 -0.0002521352444244673 0 0 0 -5.476954766566235e-06 -3483 0.0009235519547698506 -0.00023387216870399816 0 0 0 -1.4569053507167475e-05 -6236 0.0010921041687958607 -0.0002752602281889382 0 0 0 -1.4280848377667842e-05 -3500 0.0011522548814001268 -0.0002767674857929222 0 0 0 1.092401614630577e-06 -3510 0.0012035901044500307 -0.00047629211908824015 0 0 0 -8.800645031858999e-07 -3516 0.0010595326398887505 -0.00014770565284773194 0 0 0 -4.874357589652973e-05 -3524 0.0010131757118836105 -0.00019393805376965507 0 0 0 3.5611516773548092e-06 -3525 0.0012029446330465013 -0.0003165454736628212 0 0 0 3.908275529439584e-05 -3533 0.0012184220818701854 -0.00026860817368222674 0 0 0 -8.895073699708332e-06 -3546 0.0014016899502948426 -0.000398277042673767 0 0 0 -7.207340083276712e-05 -3559 0.0010909845445257528 -0.00025116137007022914 0 0 0 2.376808390849553e-06 -8588 0.0013622261589371332 -0.0005993306225626929 0 0 0 0.00012176972658394094 -6694 0.0008499180635100774 -0.000406410001060571 0 0 0 -1.685209883489746e-05 -4200 0.0018110448372501522 -0.0006498694456302793 0 0 0 0.0005756134174738257 -3708 0.001315024070438613 -0.00047923149691481186 0 0 0 4.192707083825687e-05 -3721 0.001190084709493042 -0.0004778834382882969 0 0 0 1.993183671774966e-05 -3401 0.0011672926056193306 4.6880031564146376e-05 0 0 0 -0.00010005640266933451 -3744 0.0011403527131288555 -0.00023337828101542863 0 0 0 2.7884456176595165e-05 -4512 0.0007598473351767189 -0.0003346617249458968 0 0 0 -0.00010325068827117931 -3333 0.0010891491889994036 -2.1476687922073505e-05 0 0 0 -1.6478480959359342e-05 -3794 0.0010968141273617448 -0.00030237509593628763 0 0 0 -6.266461190149953e-05 -1598 0.0012668612124475094 -0.00040247832226591686 0 0 0 7.026832607674528e-06 -3812 0.0013521069365771208 -0.0005588985690032754 0 0 0 -1.0484228261820139e-05 -3828 0.0012930362594626562 -0.0004642366579067056 0 0 0 -2.8034733971727888e-05 -3835 0.0013329403170085046 -0.0005321755914482377 0 0 0 -5.861701724046685e-05 -3865 0.0010610672154426361 -0.0002400275938793256 0 0 0 1.5746890422689677e-05 -3868 0.0013768675197852673 0.00010750159727823846 0 0 0 0.00033191985321005623 -8791 0.0009051555026864226 -0.00033506781103547026 0 0 0 1.9955678455722153e-05 -3951 0.0011028072691836065 -0.00031867668402555386 0 0 0 8.807315265238195e-06 -3952 0.001599511603442101 -0.0005680066074636456 0 0 0 -0.0007918232071213161 -3955 0.0010321540256430133 -0.00035331500684198893 0 0 0 2.302619693795128e-05 -7116 0.0008983189076672395 -0.00045321140712512693 0 0 0 -1.662569649905728e-05 -3974 0.0010902121668384221 -0.00030949299501033104 0 0 0 -4.528731869606294e-05 -3975 0.0010490878390941628 -0.0002661456599481226 0 0 0 1.9323239221276964e-06 -3977 0.0010809333975123664 -0.0002587792736167048 0 0 0 2.434764267490712e-07 -3991 0.0010732367358321057 -0.00046672221084928604 0 0 0 7.345609477761678e-06 -3994 0.0010438246868054613 -0.00023922328746960866 0 0 0 1.0527191860892534e-05 -4002 0.0007618957780981988 0.0001575515982039264 0 0 0 0.00017196073515378477 -4019 0.0010467995324478297 -0.00027585244845297185 0 0 0 1.906841640779082e-05 -2390 0.0007885244213541318 -0.00034505917801481707 0 0 0 -1.550216648159435e-05 -6392 0.0010651229486962615 0.00019820059995787878 0 0 0 -8.7452615143428e-06 -4047 0.0010662028983855177 -0.00039216956938653504 0 0 0 -3.8504219492828355e-05 -4054 0.0011107862033848605 -0.00035605746131302815 0 0 0 7.000635347705987e-06 -5738 0.0011171794970751088 -0.00010504174006923731 0 0 0 -1.8737346412337004e-05 -4060 0.001460766600431417 -0.0005283093798410803 0 0 0 -0.0004958876085148996 -4065 0.0009290824237867784 -0.00023958707109876266 0 0 0 -2.2102003047831108e-05 -4099 0.0009895075955113223 -0.0002551088421628086 0 0 0 -7.933719169418831e-06 -4118 0.0010518713751841028 -0.0003610232759605633 0 0 0 -0.0006878767080274295 -6435 0.0007757406951713813 -0.00040071015354395417 0 0 0 3.287785006328275e-05 -4132 0.0009547751329784229 -0.000235605697545413 0 0 0 -1.0105405665821675e-05 -4140 0.0011371069023367916 -0.000413831140774171 0 0 0 3.235351840963798e-05 -4142 0.0012761556992129017 -0.0003746676478977624 0 0 0 -2.4805427136543783e-05 -4188 0.0010491566905324202 -0.0003324733212089851 0 0 0 4.7915401694802026e-05 -4191 0.0009646502489233623 -0.0002408905977650923 0 0 0 -8.942955450462815e-06 -4209 0.0011878202010317232 -0.00040379878475864264 0 0 0 -3.600085886467128e-05 -4218 0.001027928795260565 -0.000299313612709636 0 0 0 8.500110344041131e-06 -9641 0.0008302031436256455 -0.00032860141665817756 0 0 0 -6.936707217018537e-06 -1647 0.0012649085055726338 -0.0003784280017544058 0 0 0 1.1557635541319808e-05 -4302 0.0012455119310648042 -0.0004199765871570584 0 0 0 -4.01052507703825e-05 -4316 0.0012129894749766854 -0.00023962696249913725 0 0 0 -1.764605848889895e-05 -4324 0.0033498402732584087 0.000914389758727115 0 0 0 0.0009391962183961226 -4331 0.0011089916986151082 -0.00044903878327354674 0 0 0 -7.97587702800685e-05 -4343 0.0010845679673173478 -0.000246850383104263 0 0 0 -1.2812558834321888e-05 -4082 0.000845765001159834 -0.000427422082244286 0 0 0 2.5584792651925526e-05 -4433 0.0012790580686844342 0.00023841739932507305 0 0 0 -0.0001574485351554614 -4442 0.0010977572816857778 -0.0002537951401438897 0 0 0 -1.7126225017589568e-05 -155 0.0011784651890104324 0.00016667416154231377 0 0 0 -1.4757916260300204e-05 -4446 0.002673385158764554 -0.0009738958553734184 0 0 0 -0.0006330463488719441 -4448 0.0012325946874577518 -0.0004871162809268842 0 0 0 -1.958345717662807e-05 -9723 0.0010114777629930546 -0.0005523600915438156 0 0 0 0.00011721975295335103 -4619 0.0011171001690619819 -0.0003035686213062349 0 0 0 -2.040324174657067e-06 -8196 0.0008691800472686892 -0.0003845669115617641 0 0 0 -1.469425387885665e-05 -4632 0.0013948174387868565 -0.0005183963255695154 0 0 0 0.0003984545349156957 -4637 0.0010926998890944616 -0.0002515762743513892 0 0 0 1.4985870667444567e-05 -4679 0.0011363668767708829 -0.00047122836132365575 0 0 0 1.6213405695988459e-06 -4730 0.00105486867008422 -0.0004282763268458205 0 0 0 -1.6403773369988235e-06 -4740 0.0011500204222130808 -0.000478869298288053 0 0 0 4.8413659571023624e-05 -4754 0.0011151123583376071 -0.00035563575044408343 0 0 0 3.4576441383128533e-06 -7138 0.0011205294876534778 9.379567505598193e-06 0 0 0 -6.630036621179442e-05 -3859 0.0009777609355518652 -0.0002869410787969071 0 0 0 -1.3574193756275475e-05 -4802 0.0010249007876891485 -0.00021621973422883772 0 0 0 1.3298065845446958e-05 -4826 0.0011585125095817923 -0.0002648008851358162 0 0 0 -7.977378544546164e-06 -4829 0.0011683029952861306 -0.0003979933148700431 0 0 0 -6.894667272998918e-06 -4836 0.0008988009834800787 -0.00029779404195576285 0 0 0 6.427522299823326e-05 -4846 0.001124283824394394 -0.00030073724187593245 0 0 0 -8.507257255454342e-06 -4857 0.0010647243413423944 -0.0003033830661708265 0 0 0 -2.21936873892283e-05 -4858 0.0009967793994039142 -0.0002585703384247787 0 0 0 6.275026788737425e-06 -4870 0.0010932949164735777 -0.00031613012858257197 0 0 0 1.543497782875491e-05 -8482 0.0011094671220320306 -0.0005518350597096207 0 0 0 -1.528642094392187e-05 -4903 0.001717549834728822 -0.0007198156436238387 0 0 0 -0.0007117241165974422 -4909 0.0014298896007403676 -0.000543751883403414 0 0 0 -0.00014993360518187766 -4910 0.001137798316605819 0.000532320760307201 0 0 0 0.0006232275737016396 -4915 0.0010588133355069302 -0.0002368211421835437 0 0 0 1.4997689070777111e-05 -4918 0.0009390483616453296 -0.0002250423638421942 0 0 0 -9.955460589513492e-06 -294 0.0012729549601187935 -0.0004642470798060062 0 0 0 -1.0463269583651019e-05 -4928 0.0014182559131069529 -0.00046633176501581123 0 0 0 -0.00019405579701144686 -4939 0.001040089933479969 -0.00034998672031558706 0 0 0 1.0982518369277662e-05 -5022 0.0010773924010500468 -0.0002814059106545096 0 0 0 -3.637038981261191e-05 -5027 0.001140869424909911 -0.00025151686727477947 0 0 0 8.049295307246435e-06 -738 0.0010204663214759139 -0.0005355586096762779 0 0 0 -2.230044081636125e-05 -5044 0.001269539704061036 -0.0003773279971616129 0 0 0 -2.7481045245723223e-06 -5056 0.0010420237927272831 -0.00023497308143019405 0 0 0 2.4656567352641358e-05 -5117 0.0014935346599440817 -0.0005356287573486825 0 0 0 0.0001089971424360016 -5137 0.001123049403400651 -0.0002489187413208015 0 0 0 -6.352727434682818e-05 -5143 0.0010643419391378043 -0.000454472248664105 0 0 0 8.107662619016785e-05 -5145 0.0011086425666779365 -0.0003342656126630648 0 0 0 -2.5998146744447683e-05 -5154 0.001373985850752444 -0.0005206030121545923 0 0 0 -2.8830697609335028e-05 -5214 0.0011726649263126738 -5.728852865515615e-05 0 0 0 9.201683291210897e-06 -5236 0.0011394102165563082 -0.00026069958459892627 0 0 0 4.299611963574644e-05 -5254 0.0010544339228435104 -0.0002847601700943008 0 0 0 0.0006114845343188235 -5306 0.0011689976627873703 -0.0002814211865678072 0 0 0 4.319596136021807e-06 -5324 0.001737785573315233 -0.0004960592592773586 0 0 0 5.354645509973046e-06 -5326 0.0013042244613216294 -0.000415238069473578 0 0 0 -1.99276768544575e-05 -5342 0.0013972900597811469 -0.0004357630379571952 0 0 0 8.026679786218934e-05 -5413 0.001077786064809101 -0.0003036122091096517 0 0 0 1.3849454303136194e-05 -5444 0.001279384338778456 -0.0005365731567058078 0 0 0 4.297493930489996e-06 -5452 0.001289804661702697 -0.0004050962100846812 0 0 0 -1.3990408867944057e-05 -5474 0.0010664318692557577 -0.00023173446745684663 0 0 0 -1.5860070007945906e-05 -6931 0.0015950430702654174 -0.0006688868001807715 0 0 0 5.530659939063483e-05 -5335 0.0008861955434886476 -0.00029655176657022764 0 0 0 -5.892576393041999e-05 -5495 0.0010662722302025314 -0.00028497402229192076 0 0 0 3.910235527516051e-05 -5496 0.0013900713935991334 -0.0006447840511423023 0 0 0 8.950347322552429e-05 -5512 0.0015021732567735856 -0.0004825894839739646 0 0 0 -7.110707907512486e-05 -5514 0.0011318591497203507 -4.1723462286905466e-05 0 0 0 -2.8869786764566918e-05 -5540 0.001149940449908607 -0.00030392693111355105 0 0 0 -5.267036304197781e-05 -1627 0.0009208896027819152 -0.00032054776133361444 0 0 0 -2.676313737384681e-05 -5568 0.0012894365898680415 -0.0004912524780156257 0 0 0 8.028185621286401e-06 -106 0.0008903138370183705 -0.00028699719694983355 0 0 0 -1.660229048123089e-05 -5665 0.0010871753574764923 -0.00048332728994353986 0 0 0 1.1958391868114685e-05 -7554 0.0011678473946539754 0.0002840746497023672 0 0 0 0.0004486172560267734 -5711 0.0010666694185355137 -0.0003451682192011373 0 0 0 1.4041855900348815e-06 -5716 0.0014879074623937402 -0.0006079900972789343 0 0 0 0.0005941908511610775 -5717 0.001057362086991716 -0.0003913169633333406 0 0 0 0.00017722067167892465 -6915 0.0009593215120931961 -0.00030878102022038396 0 0 0 -1.670760183846892e-05 -4755 0.0011129056009634094 -0.00025638353449525687 0 0 0 -1.0717497764535782e-05 -5741 0.0012075625554358047 -0.0004958829957753796 0 0 0 -1.8625958425766836e-05 -5743 0.0010805664569109633 -0.0005012066935646228 0 0 0 0.00010780288539709277 -5817 0.000978158274377257 -0.0002831571389105631 0 0 0 -1.0609200422531566e-05 -5832 0.0011298698098500754 -0.00045840539176910853 0 0 0 7.094658829119822e-05 -5834 0.001338917535468014 -0.00046162472942670306 0 0 0 -2.839950924391152e-05 -9908 0.0013010936830455196 -0.00037991871463040973 0 0 0 -1.2479442542583323e-06 -5850 0.001353962935320227 -0.0004710348531137753 0 0 0 -8.585175915158773e-05 -5869 0.001322244730167384 -0.0005525959483346116 0 0 0 -4.423510308935123e-05 -5885 0.0011478839650993868 -0.00047887469655732263 0 0 0 -3.542092811072593e-05 -3178 0.0011589575232846363 -0.00024635320103876234 0 0 0 -8.27094068317964e-06 -5980 0.0010021988433789324 -0.0003257563686276288 0 0 0 0.00028837551460738774 -5995 0.0014400729293360085 -0.0005486908738449657 0 0 0 -0.0006427720416458236 -5999 0.001140351982823903 -7.192276644403083e-05 0 0 0 -2.0127281660157314e-05 -6034 0.001020026721620897 -0.0004080799205462156 0 0 0 4.214275050768324e-05 -6050 0.001099360916565902 -0.0004566830993003283 0 0 0 8.273230704654884e-05 -1379 0.000835908942048995 -0.00042858774625364955 0 0 0 -1.849597330292545e-05 -6097 0.0009519080893820541 -0.00019839484662750748 0 0 0 -2.4559954187866432e-05 -6110 0.0010119112669550144 -0.00020036769554197025 0 0 0 2.040630896828716e-05 -6111 0.0011523893751179631 -0.0003789344868296685 0 0 0 -9.33707902832371e-05 -6112 0.001194112173485427 -0.00034625467098497916 0 0 0 -0.000105812330230894 -6126 0.0007465329489529695 -0.00021854786160260147 0 0 0 -0.0006821342952831949 -6127 0.001141694220019792 -0.0002923630787863711 0 0 0 -0.00016212473771999654 -6147 0.001061647759606624 -0.0002514359624999637 0 0 0 7.529710441982415e-05 -6184 0.0010489611577676908 -0.000297531301780404 0 0 0 7.2726608100725185e-06 -6186 0.0013404263643078437 -0.00047596083725218055 0 0 0 -0.0003388719684709119 -1237 0.0012943961223261297 -0.0004597642252241278 0 0 0 -3.367266721216117e-05 -6213 0.0010877811300644908 -0.00025434129303089295 0 0 0 4.431699889941196e-06 -6215 0.0011520956222835761 -0.000321707201753902 0 0 0 -2.772191698643708e-05 -9971 0.0012537156158625449 -0.0004125531591280253 0 0 0 2.192760488684104e-05 -4536 0.0012989285103735665 -0.0004144939087911373 0 0 0 -1.824401327203914e-05 -3718 0.0009777647167919946 -0.00026080317972105714 0 0 0 -1.7638678043149116e-05 -6241 0.0012452168409913765 -0.0004914289935957482 0 0 0 -1.6087338731625597e-05 -6270 0.0011508216851609172 -0.0003893611705903793 0 0 0 5.234266050416451e-05 -6298 0.0012479873493738442 -0.0003959927667049995 0 0 0 -4.440847119448772e-05 -6331 0.0009743436435199678 -0.0004589082092741952 0 0 0 -2.1121169230401058e-05 -1240 0.0013101840453440365 -0.000519490229109427 0 0 0 -7.836072849790173e-06 -6349 0.0013746792068771857 -0.000511513795301383 0 0 0 -1.2851919789574396e-05 -7796 0.0012893509688609779 -0.00038706069375772054 0 0 0 6.419843107588475e-06 -6367 0.001443167789459914 -0.00039755006248369583 0 0 0 0.00010183510593266346 -6377 0.0010375618769781498 -0.00021063477043831085 0 0 0 -2.6958613900791267e-06 -6388 0.0010456237595236756 -0.00027827945658968103 0 0 0 6.93810207748578e-06 -6405 0.00107611246515647 -0.0002646238385881774 0 0 0 -5.497971734773058e-06 -4947 0.0008019972366124724 -0.00033435962700528976 0 0 0 -3.733219827491246e-05 -6414 0.0011046515821513396 -0.00032527491460159267 0 0 0 2.7068816258530706e-05 -9379 0.0009837987584895647 -0.00021978641991050532 0 0 0 -1.414619448785352e-05 -6437 0.001507207275039136 -0.0005336827346212548 0 0 0 -5.6729657763657186e-05 -6450 0.0009873193982287366 -0.00041019013357131953 0 0 0 -9.48309848186223e-05 -6469 0.0019385242606206146 -0.0005057774738571051 0 0 0 -0.00036101871437143273 -6472 0.0011193220543213127 -6.807625065313631e-05 0 0 0 -2.7358492869165624e-05 -6475 0.0011333715131809368 -2.344119878094317e-05 0 0 0 -0.0009654109688122189 -6488 0.0011794011076394944 -0.0002798768341593888 0 0 0 -2.130508617208656e-06 -6513 0.0011827477606982813 -0.0003851886062992608 0 0 0 0.00017213541809037825 -6525 0.0010534984705993073 -0.00038402807607828784 0 0 0 3.760446085947642e-05 -6588 0.0013985443121758924 -0.0006012495125146557 0 0 0 -5.048667694387305e-05 -1961 0.000909689196157039 -0.0004161696312256046 0 0 0 -2.5367897622035802e-05 -2224 0.0008319082869356239 -0.0003843308518112728 0 0 0 -4.336293871708447e-06 -6617 0.0010180985673411652 -0.00021984331187020555 0 0 0 3.8518830648707274e-05 -6620 0.0010381677081077014 -0.00019869395248449807 0 0 0 1.0911169580512875e-05 -6648 0.0011732541974989789 -0.00021713495749015507 0 0 0 -0.00013067275718775444 -6668 0.0010396424597283159 -0.0002334259413535757 0 0 0 4.300607581221967e-06 -9309 0.0010678282111543276 -0.0005047014132658305 0 0 0 7.68435098567376e-05 -6701 0.001129074485003174 -0.00037068646701326986 0 0 0 0.00026330311239881096 -6708 0.0012159274096254515 -0.0003133740727311199 0 0 0 -9.60118751957633e-06 -7835 0.0008324403111379536 -0.0004487342235248227 0 0 0 -9.786421817749122e-06 -6726 0.001598706642063302 -0.000546571561416038 0 0 0 -0.00116362889919447 -6741 0.0016388894895582673 -0.0003758506674260686 0 0 0 0.0007052119276685911 -6870 0.0011832689678470383 -0.00018363744283002024 0 0 0 3.1134060265321105e-05 -1167 0.000852515909243714 -0.00039623277026353486 0 0 0 -9.655636169821429e-06 -6895 0.0011969746681802797 -0.00027493346293522823 0 0 0 5.324266636176936e-05 -2269 0.000890260004877872 -0.00029734268598127425 0 0 0 3.558695272917574e-05 -6917 0.0010621667418435502 -0.0004830278135682031 0 0 0 -2.7725572315415786e-07 -1413 0.001240254758581832 -0.00040783040521361313 0 0 0 2.5939422522139123e-05 -6933 0.0012907620972588375 -0.0004455580250537945 0 0 0 0.0002968414844107108 -6951 0.002786457106759537 -0.0015612612056533394 0 0 0 -0.00169830269969645 -6981 0.001308137631458496 -0.0004649168653816165 0 0 0 -3.3114291681534545e-06 -7007 0.0010207848357637488 -0.00026398061707957193 0 0 0 -9.767636216247711e-06 -1188 0.0008839146234084674 -0.00038514844252252343 0 0 0 -1.365772701099925e-05 -7044 0.0010482649444485616 -0.00022726167978196038 0 0 0 2.2392306445037543e-05 -7053 0.0010253027728185794 -0.00020545730903093692 0 0 0 3.220388928830216e-07 -7066 0.0010334749968178457 -0.00020507940807794326 0 0 0 2.356330436811359e-05 -7115 0.0012360956131592356 -2.8654877868748527e-05 0 0 0 1.5818229658691194e-05 -7133 0.0014782510816206051 -0.000449584740930549 0 0 0 -4.465552649823413e-05 -7136 0.0011535257272668866 -0.00026242080318475864 0 0 0 1.999288358882454e-05 -7143 0.0008580738142665046 -0.0002656121265620867 0 0 0 -9.089693784077313e-06 -7192 0.0009899959151155892 -0.00031868881907767474 0 0 0 -0.00034595007289249784 -7198 0.0010569766838461855 -0.0004656880693792911 0 0 0 -5.3284201080528476e-05 -7199 0.0010294738327871612 -0.00022950631217410287 0 0 0 -3.247018826172579e-05 -7208 0.000893474175051687 -0.00037319507480073466 0 0 0 -4.2414198955179335e-05 -2162 0.0009949934084667851 -0.0003076741383842043 0 0 0 8.893475828890165e-05 -7238 0.0011594965249444977 -0.0003236344981751875 0 0 0 0.0002935439476274382 -7256 0.0011920660670249898 -0.0002681622277012096 0 0 0 -1.526032567225619e-05 -7261 0.001342777103685696 -0.0005460643034221353 0 0 0 0.0004210423613197141 -7281 0.0015590882707737803 -0.0005020033993902509 0 0 0 -4.052475539889662e-05 -5722 0.0014627428746704994 -0.0007282167077205911 0 0 0 -0.00043584103936070514 -7314 0.0009508899584804805 -0.0004900831232005405 0 0 0 0.00011105291698403611 -7339 0.0010742395779762032 -0.0004923491437353472 0 0 0 3.977022874555927e-06 -7346 0.0012093923821716777 -0.0005098627790757335 0 0 0 6.789192511431985e-06 -7347 0.0010333605179285933 -0.00027270596324950244 0 0 0 3.46747147322855e-06 -7350 0.001169025446383687 -0.0005141856794675038 0 0 0 -5.112278582198877e-05 -7362 0.0009533343945442516 -0.00043826271723808156 0 0 0 -8.973395150084943e-05 -7390 0.001242961260821916 -0.0004641197512375892 0 0 0 -4.8837187568899784e-05 -7406 0.0010494058840914396 -0.00036009657556564383 0 0 0 1.672730331908733e-06 -7429 0.00101506581161755 -0.0003370820554165336 0 0 0 -0.000148950463353977 -7443 0.0010763127722911805 -0.0002825446894146139 0 0 0 1.8875457863425073e-05 -7451 0.0022063603023975567 2.995547970102155e-05 0 0 0 1.149462901123615e-05 -7462 0.0012812037403106948 -0.00044185817604001215 0 0 0 7.786466787979514e-05 -7482 0.0009978252148007043 -0.00045081360112261696 0 0 0 -8.355685470604534e-05 -7746 0.001274825056259761 0.00017979065129924168 0 0 0 4.286309393919405e-05 -7548 0.0007248114159520506 0.00014721032102078317 0 0 0 -0.00020237160514157646 -2430 0.0008377989192903689 -0.00031312834227728624 0 0 0 1.5078337420018804e-06 -7571 0.0009827289176585225 -0.0002820260753639946 0 0 0 -8.303608504269766e-06 -7598 0.0012358126357523403 -0.0004864698560847281 0 0 0 -3.4201047938951054e-05 -9956 0.0010346686120058198 -0.0002216100164144277 0 0 0 -1.3178280877074027e-05 -7640 0.0011372790967466143 -0.0003866324233905773 0 0 0 -2.4849975645279632e-05 -7678 0.0008863643170171439 -0.0003734402864245848 0 0 0 2.346664720672869e-06 -7681 0.0013262039183999095 -0.0005628949454295712 0 0 0 -4.496512978818148e-05 -7692 0.0011383009803427433 -0.00013107144466912042 0 0 0 -3.23662103272742e-05 -7720 0.0010651613927782938 -0.0004882954965814589 0 0 0 5.888266630012566e-06 -7790 0.0011434822292085691 -0.00039087496437396755 0 0 0 -3.736112150819981e-05 -7803 0.0011902002446858978 -0.0003183838878998383 0 0 0 -2.3818481422523524e-05 -7816 0.0011423840562976965 -0.00037765179374400244 0 0 0 -3.859059002718783e-05 -7822 0.0007078571772359799 0.0005971548095653942 0 0 0 0.0006813325285198312 -1791 0.001079367921382215 -0.00028769829520166544 0 0 0 -1.252422498531579e-05 -7858 0.001319872272454492 -0.0005132062517731169 0 0 0 -7.39471937758365e-05 -7861 0.0010014627575234084 -0.00047369849346593076 0 0 0 0.00012961159207158982 -7877 0.0010061164020132582 -0.00044268626851803726 0 0 0 3.638596764346663e-05 -7484 0.0013850116013663068 -0.0005631741687361165 0 0 0 6.477275227473718e-06 -4671 0.0009695295090711757 -0.0002838162453060174 0 0 0 -3.5254436364194076e-06 -7952 0.0011711328169337737 -0.0004731340105385802 0 0 0 -1.4343997576454915e-05 -7985 0.000979483987019711 -0.0002824727129489566 0 0 0 1.7347491404393043e-05 -7998 0.0013031786992722986 -0.0004942454607525204 0 0 0 -5.1486397944972806e-05 -8008 0.0013604683349133471 -0.000528326824302003 0 0 0 9.743974296050535e-05 -8012 0.0011794377926920147 -0.00019109880420239023 0 0 0 -3.5860743352710938e-06 -8038 0.0010216660581536773 -0.00020118553308321534 0 0 0 -1.5579856942348995e-05 -8060 0.0015616848368341328 -0.000640606405841295 0 0 0 -0.0007307365954880455 -8083 0.0011305201610551682 -0.00035065277750408896 0 0 0 -5.197105913815461e-05 -8085 0.0013907391123180119 -0.0005635743089242989 0 0 0 -4.432599968102034e-05 -8096 0.001138369218016952 -0.00024701348075168735 0 0 0 3.953440790598914e-06 -4185 0.0010822601079398353 -0.0004896207017434742 0 0 0 -9.008397830290137e-05 -8145 0.0009876312323680555 -0.0005108349562139661 0 0 0 3.991195229031809e-05 -8148 0.0013194404342014479 -0.0004925168381742131 0 0 0 -9.658468865532067e-05 -8184 0.0020381403667359284 6.165712550516668e-05 0 0 0 0.00035271578391058887 -8186 0.0010393299206833207 -0.00020657475566567056 0 0 0 -6.303655156792864e-05 -8194 0.0011483328386162795 -1.543753658320669e-05 0 0 0 -4.23491828217727e-06 -7857 0.0008247599122181322 -0.0003940511629798913 0 0 0 -2.8853018566252397e-05 -8208 0.0011198206014022595 -0.0001414444878449012 0 0 0 -0.0007378258406421941 -8277 0.0012502169962427877 -0.0004807220394733696 0 0 0 6.126635662114913e-06 -8284 0.0010167642944045106 -0.00021299910416281546 0 0 0 -1.6925743052432143e-05 -8307 0.0010119054741546504 -0.000189033985644089 0 0 0 -9.384349602049684e-06 -8318 0.00146307337595706 -0.0005875805541583012 0 0 0 8.066114697351198e-05 -8362 0.0009566534431411794 -0.0002482567330065857 0 0 0 -2.968679346997844e-05 -8367 0.0011433170007516817 -0.0002486431499843653 0 0 0 -1.9276626593350824e-05 -8368 0.0012593189485511425 -0.0005017907224357987 0 0 0 -5.93301442387615e-08 -8379 0.0011815388737003534 -0.0001629301973283348 0 0 0 -3.552222198555396e-05 -8388 0.001645557355229925 -0.0005592631146419362 0 0 0 -0.00037852531721365573 -8420 0.0013229603091499383 -0.0005773701338317485 0 0 0 -0.00022083050834539327 -6678 0.0009427130032775043 -0.0003125395734839141 0 0 0 2.9517395572188916e-05 -8453 0.0012724338212645333 -0.00040332521351571 0 0 0 -2.4331315259494394e-05 -8474 0.0008358184162079437 -0.00038376474582788343 0 0 0 1.811747661740736e-05 -8476 0.001127503279105337 -0.0002112778051758876 0 0 0 -7.41288160617755e-05 -8513 0.0012653502625960948 -0.00043850015627156267 0 0 0 6.518817829853352e-06 -8533 0.0009875496227218375 -0.0004756924836351344 0 0 0 -0.00012412906568151733 -5075 0.0009043507680908233 -0.00037456483893074917 0 0 0 -5.510742193652542e-06 -8603 0.0012276326643359614 0.0002554454510866757 0 0 0 -0.00026472144922564034 -8623 0.0009655000969667051 -0.00022371202776752842 0 0 0 -8.72081613209992e-06 -8624 0.0015418431916763235 -0.0005296945609377006 0 0 0 0.0003474933460657212 -8637 0.0014933317649611032 -0.0006570538035255228 0 0 0 -0.0007449364919195287 -9935 0.0007925914489337765 -0.0003469709247687393 0 0 0 4.139417788261129e-05 -8676 0.0010109043058710056 -0.0002635503403183962 0 0 0 -3.715742616636567e-06 -8678 0.0009910001269676403 -0.00030704033560050774 0 0 0 -4.7579401755934774e-05 -8731 0.0010226920144042959 -0.0002451212470007477 0 0 0 -2.3242365815428478e-05 -8777 0.0010866582094579168 -0.0002881470761545815 0 0 0 -5.784252974802849e-06 -8797 0.0013076342841873327 -0.0005491672464743643 0 0 0 -4.8202239595191374e-05 -8805 0.0010114406012982783 -0.0002485311913800387 0 0 0 -2.363565931811303e-05 -8847 0.0011019332492475567 -0.00031241120065773366 0 0 0 8.811679868911634e-06 -4136 0.001313083299900467 -0.0004249874279284138 0 0 0 1.7882828490573098e-05 -8926 0.001042801195456904 -0.00025778361053866957 0 0 0 4.886529128490487e-06 -8930 0.0004589528265065355 -0.0016113368959309417 0 0 0 0.0006367948929271721 -8946 0.0009976258718021938 -0.00039193472768181105 0 0 0 -2.0836335496195578e-05 -3520 0.0009518889017375488 -0.0005415560186503325 0 0 0 0.000542946757444055 -457 0.001085019553670571 -6.235812309560408e-05 0 0 0 2.855972337178815e-06 -8974 0.0010345799911430928 -0.00037690747954609343 0 0 0 -1.4768021160529717e-05 -8993 0.0022912095548185698 -0.0015771172281353158 0 0 0 0.0010381330388170354 -2624 0.001300732368319698 -0.0003998269482666837 0 0 0 -4.592631207941723e-06 -9012 0.00092110652690832 -0.00032201714214269596 0 0 0 -6.9794217166321755e-06 -9023 0.0009392873847656669 -0.00030149450161663557 0 0 0 -1.5650367817598456e-05 -9062 0.0011937460495000355 -0.0003091862190086174 0 0 0 -4.4811092715690026e-05 -9097 0.0012071086661198226 -0.0005155286448809359 0 0 0 -1.3432323754837256e-05 -9113 0.0011232587495331374 -0.0004113346215578867 0 0 0 -7.691431032756517e-05 -9117 0.001103006378612285 -0.0003233483645509741 0 0 0 1.2128603374645718e-06 -9204 0.0011751846367787722 -0.00019780443890675788 0 0 0 7.961084061156633e-06 -1210 0.000856668885140615 -0.0003484150233765279 0 0 0 3.423493549703585e-06 -7964 0.0008464665433173516 -0.0004121105436676576 0 0 0 -1.4404725143694872e-05 -750 0.000871959176817877 -0.0004970067608248249 0 0 0 -2.0868739787610874e-05 -9950 0.0009358906767394554 -0.0003344202592743184 0 0 0 1.956293961586101e-05 -9235 0.001071828947652754 -0.00024198398780054137 0 0 0 -2.5665496963037676e-05 -9932 0.0017581373390426402 0.00028270793127367085 0 0 0 0.00018462809903551917 -9286 0.0012566061962881825 -0.0003788448936925497 0 0 0 6.801373222905681e-05 -9287 0.001108616313728881 -0.00029267015905126714 0 0 0 -1.3360412146995967e-05 -9295 0.0010605841849219424 -0.0003806632328115335 0 0 0 -0.0001628280588582663 -9317 0.0014215616148134736 -0.001297705268051819 0 0 0 0.0008352982897543148 -9321 0.0017833173474089694 0.00016904039740192213 0 0 0 0.0004089116535810729 -9975 0.0012910054222574833 -0.0005170229363755303 0 0 0 -3.472106670158548e-05 -9335 0.0008845225640468407 -0.0003011199359296342 0 0 0 4.5933372926361574e-05 -9365 0.0012717855000720178 -0.00020038759082937444 0 0 0 2.4463426803535605e-05 -9409 0.0011883038640173396 -0.00026910936897830604 0 0 0 -3.224937652279291e-05 -9417 0.001123944357115694 -0.0002778803381300334 0 0 0 -2.3634170120342873e-05 -9473 0.0010125731727878844 -0.00019977273672654232 0 0 0 3.978106437651584e-05 -9475 0.0014437649724006163 -0.00045436413523509495 0 0 0 0.00015061655346178992 -9480 0.0012995599054985653 -0.0004977356328449328 0 0 0 -2.8195095063113784e-05 -9481 0.0010755600449596705 -0.0004499686331837269 0 0 0 4.043648741522133e-05 -9543 0.0011883600490985935 -0.0002887131106325356 0 0 0 2.177570015932714e-05 -3568 0.0011792920742314016 4.0249839022184235e-05 0 0 0 0.00015180940821722864 -9580 0.000987504682472629 -0.0005176252679931581 0 0 0 6.961709218982501e-05 -9587 0.0008739248879386624 -0.00037346710189334965 0 0 0 -5.383437562293176e-06 -9597 0.0011121627532577878 -0.00033840343550648936 0 0 0 -5.2250521835517976e-05 -3726 0.0008074229634292794 -0.0003176658483769286 0 0 0 4.493897880470802e-05 -9604 0.0013816096059162545 -0.0005527686727763069 0 0 0 1.643119764266905e-05 -9612 0.001047766264618691 -0.00024894941130003184 0 0 0 -7.420324511390349e-06 -9674 0.000925144686860219 -0.00042472719705006416 0 0 0 7.334934985616337e-05 -2709 0.0011658946072013467 -2.5515687288165648e-05 0 0 0 1.060135453659993e-06 -9749 0.0010568123510414193 -0.00048522464828434415 0 0 0 1.2807007895620918e-06 -9751 0.0024505921242462684 -0.0005632689337107226 0 0 0 -0.001678343018996478 -9772 0.0010769000327812046 -0.0002933243708529122 0 0 0 8.282932590422985e-06 -8233 0.0013178949338465468 -0.0006631682876627523 0 0 0 7.363209353972325e-05 -9788 0.0011431940402302475 -0.00013122087659784198 0 0 0 -8.560531822876264e-06 -2900 0.0009245700228018321 -0.000318213745895361 0 0 0 -7.50417997603849e-06 -3397 0.0013644190236082134 -0.0005455050468261813 0 0 0 -1.9999890100562236e-06 -9825 0.001138744898405291 -0.000260971473199502 0 0 0 -8.762687917056656e-06 -9856 0.0003920601354366586 0.0010963471397054715 0 0 0 0.001721967622177368 -9223 0.001271163297799256 -0.0005067578353535146 0 0 0 -1.9764553631416186e-05 -9688 0.0008794937146409778 -0.0002673542949325879 0 0 0 -1.8544357402171285e-05 -2679 0.000949224057503445 -0.000538101160900794 0 0 0 -2.9160198283496934e-05 -1401 0.0011376418208421221 -0.0002483579535385266 0 0 0 -9.080468395937626e-06 -8665 0.0011497312204420246 -0.0002070332860831625 0 0 0 -1.9576505162614654e-05 -7232 0.0008914479981647685 -0.0002955320650164365 0 0 0 -5.82662110883547e-05 -808 0.0009123162407713595 -0.0002608613750675604 0 0 0 4.956012462120068e-06 -9659 0.0009318393266073321 -0.00023613023331917486 0 0 0 -1.71824217522248e-05 -6597 0.0012841943652402244 -0.00039583013749472227 0 0 0 -4.312908259922947e-06 -865 0.0009235419615646984 -0.00026798112515899995 0 0 0 -4.793382731849348e-05 -9919 0.0007830185036169769 -0.0003368993605984021 0 0 0 3.434730130472142e-05 -3987 0.0008734334590413187 -0.00044914620575307055 0 0 0 -1.3218748182254023e-05 -8982 0.0012494981863036352 -0.0005138981521491313 0 0 0 -7.000670160742157e-06 -7485 0.0009278693597596538 -0.0002436033182797025 0 0 0 -1.1576935165550802e-05 -1386 0.0017558855253424254 -0.0005419047395231533 0 0 0 -0.00020263350932382384 -7622 0.0013007921053669082 -0.0003945036608020673 0 0 0 -3.090180786218426e-05 -963 0.0009176436011422833 -0.0002413307933253346 0 0 0 2.6108658001983754e-06 -2924 0.0010892671089596114 -0.000392459924815871 0 0 0 5.463946317198274e-07 -8720 0.0012921679994585059 -0.0005393665424727721 0 0 0 -3.956660715274806e-05 -3891 0.0013113661881453582 -0.0005127981450472861 0 0 0 -5.839958750143727e-05 -3739 0.0007975643030587311 -7.433647986671176e-05 0 0 0 -7.642059698114325e-05 -2118 0.001353915897020015 -0.0005514131462840339 0 0 0 -1.544658621220408e-05 -3840 0.0008226821493384785 -0.0003676454961449426 0 0 0 -2.76561639002624e-05 -9056 0.0014264523600926295 -7.404397153273223e-05 0 0 0 0.0003518187820653404 -1874 0.0012921565009696198 -0.00038277066230849797 0 0 0 1.0824931783761355e-05 -2402 0.0008367957282429589 -0.00040223254315719444 0 0 0 1.7548562442578326e-05 -4004 0.001056861414067614 -0.0005457691211717298 0 0 0 -4.1002587166922707e-05 -2649 0.0008208374781868958 -0.0003964495963254696 0 0 0 -1.703625921785361e-05 -4363 0.0008827576858751396 -0.00032617797796553915 0 0 0 -5.11016880484337e-05 -5347 0.001093355517064304 9.935586115326086e-05 0 0 0 -9.776627619064852e-05 -6937 0.0024961584231967537 0.0008260208874127236 0 0 0 -0.000762102523396601 -9767 0.0015570040196502294 -0.0006845140811366296 0 0 0 -0.0008445557070065432 -1008 0.0012200423374828088 -0.00045534987964644533 0 0 0 4.678567419743255e-05 -1455 0.0012512805899704807 0.00020723793671197492 0 0 0 1.1580885926704362e-05 -80 0.0010760180112306154 -0.00017690965994385789 0 0 0 -1.7923977984145874e-05 -4161 0.001087296014522605 -0.0003018587359838425 0 0 0 -2.5086923058839504e-05 -6422 0.0007184465880542108 -0.00022370876711530512 0 0 0 -0.0001728552235169241 -624 0.0008591316794268232 -0.00039734208320304105 0 0 0 -2.8156278674289773e-05 -3062 0.0007221974780403425 -0.0002885392169385283 0 0 0 -2.6892459994018906e-07 -9903 0.0008885596547438269 -0.000372414515674446 0 0 0 -1.383144256204117e-05 -9967 0.0009749396245654274 -0.0004575677322172261 0 0 0 -9.580421637005654e-05 -4710 0.0010644265300327638 -0.0004437750386746071 0 0 0 9.178719070024423e-05 -9353 0.0009039836942632538 -0.0003935135188276925 0 0 0 2.3606478766839813e-05 -7011 0.001373136872824562 -0.0005810853006679149 0 0 0 7.837346751816158e-05 -4098 0.0008108587763905174 -0.0004027819003028893 0 0 0 -2.749642399354623e-06 -5216 0.0009210966933412612 -0.0003763421249768354 0 0 0 -5.872652114986462e-06 -938 0.0013088373615917836 -0.000372505151024823 0 0 0 -1.253060830120575e-05 -1657 0.0009720700984923278 -0.0003817339789993624 0 0 0 -3.715338751549852e-05 -4031 0.0009844431602689999 -0.0005141289200198883 0 0 0 5.0795651871077744e-05 -247 0.0007996085240064435 -0.0004184137984482112 0 0 0 -1.2389800552658555e-05 -2585 0.0010138564023405496 -0.00042048306863064363 0 0 0 -2.712804306360934e-05 -2293 0.0012643251627438787 -0.0005688549729971168 0 0 0 4.433614588061013e-05 -9944 0.0012092907831584795 -0.0004681675904047426 0 0 0 -2.670209911605199e-05 -1418 0.0009490755457906888 -0.0004709426300432074 0 0 0 -3.632497567152626e-05 -6061 0.0008338147849950534 -0.0004173654164917158 0 0 0 -2.4636531499648173e-05 -4103 0.0022290074844731863 -0.00027911341426665917 0 0 0 -4.042432828034901e-05 -1814 0.00106186778389005 0.0001284781195506193 0 0 0 -0.0001153897325588964 -3408 0.001056155798233777 -0.0004636619380028206 0 0 0 7.725109944908247e-05 -5370 0.0010128298917016245 0.00024689061513166055 0 0 0 9.332415991958229e-05 -3771 0.001271945885592658 0.0002405377898825407 0 0 0 0.0002162891386104899 -7888 0.0010602310243245225 0.0002527777032426821 0 0 0 -0.0002396989511809456 -5480 0.0009959487604789036 -0.00025166004895668946 0 0 0 6.597812610131319e-05 -639 0.001284753691930881 0.00022246995716808886 0 0 0 -7.023846650981223e-05 -2 0.001453271346546148 -0.0005687861106214642 0 0 0 1.5152341906285353e-05 -4822 0.0014785365592708756 -0.0008558269800255305 0 0 0 -0.0002081353226969421 -1778 0.0008487742750050741 -0.0009747649767025787 0 0 0 5.464913260109559e-06 -6770 0.0012350471655923209 -0.0007384207896314803 0 0 0 -3.087609316120346e-05 -188 0.0012293712501138645 -0.0008516204138077991 0 0 0 -1.635195496034005e-05 -4318 0.001485456367642995 -0.0006787305109811958 0 0 0 -0.00027612213301849185 -248 0.0012663225809415241 -0.0008380953269772246 0 0 0 2.8270070306672615e-07 -251 0.0009361574485046766 -0.0009923185694148086 0 0 0 -1.626552492183322e-05 -3492 0.001387563982035739 -0.0008506897958377081 0 0 0 2.3405394693662116e-05 -8848 0.0012244396316144497 -0.0008170488836084696 0 0 0 -5.4806546707902395e-05 -1429 0.001236640502335925 -0.0008207670642038971 0 0 0 1.7658935170581265e-05 -442 0.001315374144055046 -0.0009444304429319921 0 0 0 -3.376100949917741e-05 -2768 0.001283421229304204 -0.0007013560560179492 0 0 0 -8.102486783319375e-07 -577 0.0011890971001765763 -0.000824089249103953 0 0 0 -3.839109134404759e-05 -595 0.0009570647993176343 -0.0008972591686345996 0 0 0 -2.014047707227823e-05 -3845 0.0012528343054456124 -0.0007774790727558426 0 0 0 -2.8696160699501948e-05 -770 0.001260487966252896 -0.0008466063821207482 0 0 0 1.025458656041893e-05 -9938 0.0013971087590676353 -0.0009923222316956264 0 0 0 -3.988776209531377e-05 -1042 0.0012554246614612029 -0.0008464249787971817 0 0 0 -3.1187752296177953e-06 -4409 0.0013957209899284912 -0.0005964919312107979 0 0 0 5.0523003097425295e-05 -312 0.0011554522026852461 -0.0006157167204120204 0 0 0 -3.202235639618666e-06 -6772 0.0013245873891275617 -0.0008753741422730932 0 0 0 -3.985062900281764e-05 -4320 0.0014518805321693466 -0.0008086948850473624 0 0 0 0.00011279957021641849 -1289 0.0012849605829919233 -0.0008843016747296802 0 0 0 1.458820699005938e-05 -6386 0.0014654494533098887 -0.0008866440441932016 0 0 0 -0.000285202886862118 -1654 0.0010389796304803524 -0.0007652808294453004 0 0 0 3.315774004622541e-05 -25 0.0009474156605413177 -0.0006035039184568522 0 0 0 -4.901373166065984e-06 -6174 0.0012405965008657073 -0.000751359998279378 0 0 0 -2.0800602465817114e-05 -4965 0.0012318331883496914 -0.0008030231092516333 0 0 0 2.0727747645082878e-05 -8728 0.001083099968768964 -0.0010934198296010933 0 0 0 7.686466997486113e-05 -9522 0.0013014097426051793 -0.0009440545279211102 0 0 0 1.9434248189881397e-06 -5049 0.0012139484237443227 -0.0006562427384190778 0 0 0 -0.0001490050944543659 -2110 0.001382478162158053 -0.0006480740842569879 0 0 0 -8.040358551561084e-06 -4397 0.0014002206481579362 -0.000843031804323888 0 0 0 9.526432197236516e-06 -2177 0.001409451102724284 -0.0009373443378555277 0 0 0 -0.0002207661825945161 -2214 0.0012536206215720041 -0.0007888196038984578 0 0 0 -1.4445607829610564e-05 -9726 0.0009526702225824584 -0.000989138514331158 0 0 0 -6.046971836626802e-05 -2252 0.0012802237330677437 -0.0008997448680994613 0 0 0 4.195001678780525e-05 -9895 0.0010398468112436097 -0.0029844884652051313 0 0 0 0.00047051481674006946 -6368 0.0010072629327418311 -0.0006433036096719385 0 0 0 -0.00012030874848742827 -2332 0.0013485906388523083 -0.0008991291502952359 0 0 0 9.720873756772164e-05 -4585 0.0009858638861068648 -0.0006117254411581745 0 0 0 0.00016079846335132413 -2393 0.000899352889997988 -0.000589141828708058 0 0 0 -0.0011068520788151152 -2450 0.0009509743811746625 -0.0010329204411386175 0 0 0 -3.6727990031791956e-05 -2508 0.0012998415852957482 -0.0008768801273654784 0 0 0 -6.703594162300667e-05 -2526 0.0008628735593057174 -0.0009881980006275764 0 0 0 -8.1647829195987e-06 -2573 0.000890173882321286 -0.0008218307518697985 0 0 0 -4.022348584606971e-05 -2577 0.001422810887262156 -0.0009149789367516069 0 0 0 1.1924307737836847e-05 -2814 0.0013270348135271223 -0.0008717118625322351 0 0 0 0.00015370762714675914 -2901 0.0013722846079530502 -0.0008910345095291387 0 0 0 -0.0002355430305604771 -9394 0.0011882913192703788 -0.0007647675630053116 0 0 0 -7.790007417543214e-05 -2926 0.001003484170474903 -0.0010263118205615747 0 0 0 -1.186242272506707e-05 -2933 0.0009600012349942735 -0.0009909480164056006 0 0 0 3.726127869157667e-05 -2957 0.0009687568913606924 -0.0008677255799237549 0 0 0 -0.00014090260521926388 -3160 0.0013325322423332737 -0.0008673475151262606 0 0 0 -0.00019305607036831858 -3271 0.0011944562609047542 -0.0008703079635234178 0 0 0 0.00020493515378973548 -3274 0.001363639290199695 -0.0008862031343046278 0 0 0 0.00015455911934524367 -1555 0.0012704180818199117 -0.0008731184357464418 0 0 0 -3.968796326670062e-06 -6395 0.0013630595935276186 -0.0008638909226753641 0 0 0 3.228931914679314e-06 -9663 0.001421887966386433 -0.0005519247787462898 0 0 0 0.0001038937594371472 -3427 0.0009334985650209349 -0.0008036427462467763 0 0 0 -0.00010473845561578127 -2693 0.0011737449082802828 -0.0007148664595912804 0 0 0 -7.281402270968343e-05 -8312 0.0014765014975586885 -0.0009679979500354853 0 0 0 -0.0004278833888418443 -8371 0.0012321680208355694 -0.0008534249559324988 0 0 0 4.9450623308660466e-05 -3583 0.0009239247329254623 -0.0006487533251587034 0 0 0 1.385720278398264e-06 -5076 0.0012338699188712016 -0.0007180118982824342 0 0 0 5.174012970553123e-06 -3839 0.001263851034845771 -0.0008105088759621007 0 0 0 7.626058346680419e-06 -6153 0.0013536522644854948 -0.0007717314865230962 0 0 0 -6.89052380807941e-05 -384 0.0012893502688893228 -0.0008459073506051802 0 0 0 -8.969194859431269e-06 -3959 0.0013253173568537257 -0.0009128733073438695 0 0 0 -6.898027536131407e-05 -123 0.0011467463408197215 -0.0007021675289727641 0 0 0 -7.863648297021763e-06 -8235 0.001316246228360004 -0.000669650926767416 0 0 0 0.00011168232993814609 -1962 0.0013057188946718498 -0.0008219080937972491 0 0 0 1.1580082600216632e-06 -7475 0.0010260972826203107 -0.000584784161476927 0 0 0 -0.00025151774501663295 -4215 0.0012977721806295653 -0.0009079073068563874 0 0 0 8.960898337910256e-06 -4925 0.0014796175877849357 -0.0006550583170131543 0 0 0 0.0003234411055785362 -6341 0.000888736163828952 -0.0009400912781712371 0 0 0 1.2115843109376017e-05 -4408 0.0011132997493081863 -0.0008183080457196778 0 0 0 -0.00021363994498841435 -572 0.0014256422705927264 -0.0008343080982557361 0 0 0 -1.3641527882136251e-05 -4665 0.001242423595406911 -0.000819516837262361 0 0 0 -5.039380558768539e-05 -8842 0.0011830549611353926 -0.0008275236813442558 0 0 0 6.635278934550719e-05 -516 0.0014139091489909442 -0.0006957375251936162 0 0 0 -7.893943561751114e-05 -4774 0.0013682640619994018 -0.0008510684320145416 0 0 0 -1.0182628017356716e-05 -3811 0.0014909055509896543 -0.000877349714637223 0 0 0 -0.00038456984264646554 -9561 0.0009008115103954775 -0.0008479396969825912 0 0 0 -0.00028153310787481985 -4898 0.0014910942406113883 -0.0001900837549644967 0 0 0 0.0005810860196229646 -9121 0.0013706734661266332 -0.0006267734398535517 0 0 0 0.0001725852953899411 -4974 0.0012717065666756414 -0.0008301985797282407 0 0 0 -1.323724110106809e-05 -5118 0.0013321214271059304 -0.0008989653674201777 0 0 0 -4.731223698868302e-05 -6256 0.0012600452218256056 -0.0008183661958451547 0 0 0 1.5765112578557983e-05 -5246 0.0012549259345953705 -0.0008355211894507167 0 0 0 1.1209737816281547e-05 -5264 0.0009936715164474345 -0.0009323979642860738 0 0 0 5.684339637127248e-05 -5290 0.0006237076289090009 -0.000812054556872025 0 0 0 0.00025995547539092603 -5301 0.0009488104373485718 -0.0010035862245388672 0 0 0 5.344795130002243e-05 -5378 0.0010248361365280591 -0.0010407205057447225 0 0 0 0.00010769683810786218 -1025 0.0013051704318740498 -0.0007897055142332172 0 0 0 -3.972490214438696e-05 -8803 0.0014038951233350076 -0.0008182670079675313 0 0 0 4.026500548887646e-05 -7718 0.0013417116416371683 -0.0008972995380012961 0 0 0 -0.00012722863807800334 -9503 0.0014137783176021287 -0.0008445246522415532 0 0 0 -5.8507110746684156e-05 -5956 0.0009986275402519668 -0.001052171597833378 0 0 0 -0.00018802659180735938 -5966 0.0023505176983639087 4.079859812432033e-05 0 0 0 0.0002061883302955008 -6082 0.0012747622712453914 -0.0008663803890679153 0 0 0 -1.969218182503319e-05 -6138 0.0008868608460550215 -0.0006537619601609751 0 0 0 -2.7649439073488582e-05 -7560 0.0015170534496471808 -0.0006767571820071985 0 0 0 -0.0002927950284951665 -8342 0.0009722912908472763 -0.0008369510278259908 0 0 0 0.00023790572113433818 -426 0.0012471420947452597 -0.0007548125956006971 0 0 0 1.5539634243804782e-05 -8442 0.0012787151658807162 -0.0009160065278487989 0 0 0 -8.895521553656243e-05 -9500 0.0014606057402293795 -0.0009397380917726569 0 0 0 0.00025281911689262166 -6285 0.0010889332633129952 -0.0011195679775637477 0 0 0 -0.00012514403889089495 -5759 0.0008815642519811028 -0.001486474267185933 0 0 0 -0.0005406535409233529 -7552 0.0011435871597037792 -0.000683797522498254 0 0 0 -2.6065851958272456e-05 -6356 5.2313750854668153e-05 0.0003372853670432918 0 0 0 0.0005561307842341138 -6526 0.0013519329919906994 -0.000978594776585656 0 0 0 -0.0004399628337106157 -6618 0.0014304749637704215 -0.0009141656148807307 0 0 0 0.00035605782926665394 -8329 0.0014503526406937448 -0.0009431312122677558 0 0 0 -0.000256235841476158 -483 0.0011461775743137547 -0.0006952177041788208 0 0 0 -2.6452927930093014e-05 -6805 0.001214866144090363 -0.0007614933728732627 0 0 0 9.122756526007938e-05 -6884 0.0009927957268072462 -0.0009335428008125374 0 0 0 1.2202074648628485e-05 -6888 0.0013352362445356648 -0.0009630544252418604 0 0 0 0.00023112143206997852 -9722 0.0015432239455906817 -0.0008662576418583304 0 0 0 0.0005086553482257036 -6891 0.0012471515268374124 -0.0009010488807780037 0 0 0 2.989226555877174e-05 -1177 0.0012534845569888537 -0.0007418500103055564 0 0 0 8.280569867156441e-05 -6934 0.0015469691375689769 -0.000697129384120097 0 0 0 -0.00032870089712724133 -6995 0.0012274919360139235 -0.0009062494022298615 0 0 0 -2.611025908810228e-05 -9486 0.001242769098086146 -0.0008352626177878501 0 0 0 1.598284463698158e-05 -7218 0.0012876287964635592 -0.0008864590603485005 0 0 0 -1.3001528469768671e-05 -7361 0.0009493019163414174 -0.0007810596008301287 0 0 0 -0.00023966999846534746 -7430 0.0010695081074858866 -0.0008228882807145785 0 0 0 0.00010708477328597068 -8306 0.0010320957240404116 -0.0006428788896205121 0 0 0 2.5354806416636702e-05 -6307 0.001137966992619002 -0.0006686386081993472 0 0 0 -2.5371114174275464e-05 -4650 0.0010566609018144036 -0.0006742647656183784 0 0 0 8.576468705867437e-05 -7492 0.0008526714751553045 -0.0009179408311602323 0 0 0 7.08108266180312e-05 -7494 0.0008639892750237266 -0.0009455718257353616 0 0 0 -6.60538907621441e-06 -2038 0.001185711880021759 -0.0008932948811300555 0 0 0 -5.548412859890714e-07 -7536 0.0013172500680014214 -0.0009500907776821314 0 0 0 0.0002452839625585395 -7570 0.001263570673998102 -0.0008674961785712906 0 0 0 -7.112777705632786e-05 -7843 -0.0013476588360316656 0.0015140003483534985 0 0 0 0.0016522837619719797 -7779 0.0011282032037884231 -0.0008096231751925797 0 0 0 0.00017946280594979385 -7788 0.0010539969488085035 -0.0010625781647270616 0 0 0 -0.00013013754264459793 -3914 0.00098635437971154 -0.000675809366595855 0 0 0 -4.5949594347892533e-05 -8187 0.0016054258586253559 -0.0006012376128155413 0 0 0 0.0006208914404886107 -2095 0.0011437901254867692 -0.0008493020835570934 0 0 0 7.699071281299704e-06 -2925 0.001215232843647195 -0.0007622606194815833 0 0 0 -1.9609245085868363e-05 -4567 0.0012509534716215562 -0.0007001252887525498 0 0 0 2.9575644952383513e-05 -3362 0.00046176494778425405 -0.0005583165227021356 0 0 0 6.307616513615032e-06 -38 -0.00013207419651534331 -0.000623012383926534 0 0 0 4.4025665760052955e-06 -44 -0.00026183483542445066 -0.0005350626595740385 0 0 0 -3.631314605221398e-05 -1123 -0.00024057787687503223 -0.001213164632842067 0 0 0 -1.3800198796451177e-05 -88 0.000598485405524559 -0.0008141264242594708 0 0 0 1.1393952871013407e-05 -90 -0.0005953434014896537 -8.283186931293017e-05 0 0 0 -4.284435412547492e-05 -150 0.0002059378535989364 -0.0007105739892339816 0 0 0 3.7639188110994944e-05 -169 -0.00035757233230800323 -0.00061172677832157 0 0 0 -4.3561519356256405e-08 -9753 0.0009302984266696852 -0.0007611498090248084 0 0 0 7.775300938201781e-05 -189 -0.00014600264640908208 -0.0008846029350133098 0 0 0 1.492642895625856e-05 -213 2.836061156582087e-05 -5.997138295758994e-05 0 0 0 -3.595565142587642e-05 -233 -0.00040423433778494596 -0.0007125671029677923 0 0 0 -1.55789028664225e-05 -262 -0.00036321789795063365 -0.00031623813798680145 0 0 0 -9.296966236979054e-07 -343 0.0004310504161611042 -8.20056312297856e-05 0 0 0 -4.1175748473955894e-05 -360 -0.0002978890375364583 -0.0010255820137559206 0 0 0 -3.1723790645276606e-05 -385 0.0003359999669185077 -0.0007642618736539412 0 0 0 6.0052757418574685e-05 -399 -0.0006216758803793424 0.00011591452185373724 0 0 0 -0.0001669611949946031 -416 -0.0002186657169046709 -0.000902945125680106 0 0 0 -3.1934740486280646e-05 -418 -2.355409738914663e-05 -0.00020327534351442922 0 0 0 -1.8313264225145973e-05 -425 -0.00012557230818999667 -0.0010087924645706928 0 0 0 -3.392837647905473e-05 -8130 0.0006449269356900717 -0.0013378611898925458 0 0 0 0.00029205866198484627 -440 -0.000395737454273309 -0.0009720459127290044 0 0 0 2.4656929489712878e-05 -449 -0.00036956939923498056 -0.0007631751737813439 0 0 0 -1.8121478471333285e-05 -508 -9.959309969539367e-05 -0.0008251749612761475 0 0 0 2.4125775771455654e-05 -520 -0.00010664508421704513 -0.00038879948074026937 0 0 0 1.2670208668442315e-05 -530 -0.00025966418349048333 -0.001148157046390351 0 0 0 -3.250484005218408e-05 -549 -0.000599713295472748 -0.0001602125785825046 0 0 0 -5.285068157170097e-05 -575 0.0003950728889090616 -0.0006358780433700594 0 0 0 8.592965100261649e-05 -3321 0.0003286654003264335 -0.00030523000703167345 0 0 0 -4.382615831086923e-06 -655 0.00016546986270400674 -0.0008323510396370442 0 0 0 4.4762227043817235e-05 -658 -8.284568567204354e-06 -0.0009123780477658048 0 0 0 1.612166448961241e-05 -663 -0.0003112743745810696 -0.0009530489998339134 0 0 0 1.4063765355292534e-05 -685 0.00013234372081700202 -0.0007122630141276953 0 0 0 2.0683928254296963e-05 -695 0.00032721246738894966 -0.0007795400963849489 0 0 0 6.31840257489755e-05 -701 -0.00037712491216188926 -0.00020952857017781496 0 0 0 -6.405102066113837e-05 -704 8.346498561543421e-05 -0.0007315671061950784 0 0 0 -9.188104633215481e-05 -2991 -0.00019179440060859124 -0.0010441038207968359 0 0 0 -4.713493606860158e-05 -722 0.00011835590309140498 0.00047254443086268546 0 0 0 -0.00017353063843107412 -727 -0.00017610803287294773 -0.0007816455791387513 0 0 0 -1.536177978986845e-05 -737 -2.7912881401639516e-05 -0.0004556750510314325 0 0 0 -0.00013175628209402432 -768 0.00032562368050466893 -0.0007499382372596149 0 0 0 1.4713962491958905e-05 -797 -0.00018945196982734228 -0.0006724940002969357 0 0 0 8.199175005644134e-06 -842 9.776704706712793e-05 -0.0006289551873351527 0 0 0 -0.00014166178571161958 -863 0.0004879820317123528 0.0002657165678237333 0 0 0 -7.010712054527774e-05 -899 0.00025315352406304913 -0.0006958674782142159 0 0 0 0.00011149326426753472 -913 -0.0001811552878099087 -0.0007461842050093162 0 0 0 3.5671304529071063e-06 -926 -0.00033356879532645087 -0.0010331666605678197 0 0 0 -8.572677693354734e-06 -946 -0.0004396486015490434 -0.0005790558117237001 0 0 0 -1.7987064709423474e-05 -978 -8.432561504431039e-05 -0.00014397111583316232 0 0 0 -0.0001440010079155822 -983 -3.5877002099872965e-05 -0.000877485578470579 0 0 0 -4.735085527562464e-05 -1016 -0.0004067333060915829 -0.0009126158783955271 0 0 0 -5.771798267893668e-05 -1032 -0.00032896665283935276 -0.0010147941030252022 0 0 0 -1.645442692050213e-05 -1063 0.0006166927593542954 -0.0008655769248638567 0 0 0 9.24788571620434e-06 -9812 -0.00021549147513515914 -0.0006800056161772932 0 0 0 -5.2389445609943336e-05 -1117 0.0002109347956412099 -0.0007430685094994458 0 0 0 4.016484313997485e-05 -2947 0.0008668470963203891 -0.0008587530870513485 0 0 0 7.693881171826567e-05 -1170 -0.0001557797636827835 -0.0008270783890234141 0 0 0 -2.971781772068914e-05 -1186 -0.00031760031565980165 1.098955103956036e-05 0 0 0 -0.00015114702546980494 -1201 -0.00021733685462576815 -0.0009524878625200592 0 0 0 -7.478649125925666e-06 -1216 -9.586299379675527e-05 -0.0005083405369155441 0 0 0 4.218735460055436e-05 -1217 -0.00035257072856552895 3.199883067469475e-05 0 0 0 0.00011651213840848606 -1241 0.00037801746202733205 -0.0007881957982159204 0 0 0 1.6690116698341757e-05 -1255 0.0005307329488240894 3.730516880827323e-05 0 0 0 5.091556632469731e-05 -1303 0.00010757702900584 -0.0009706791607742108 0 0 0 4.524138282592327e-05 -1307 -0.0004236397914259285 -5.827382936364737e-05 0 0 0 -0.00031427937401119635 -1346 0.0001441978971145317 -0.0007141527307237533 0 0 0 2.649866609332971e-06 -1353 -1.1459077496335732e-06 -0.0010172334542761202 0 0 0 -9.03579400008513e-05 -1377 -3.989612357422932e-05 -0.0007059667102756963 0 0 0 9.276099845506131e-06 -1393 0.00029480097221070486 -0.0005864123812386478 0 0 0 3.331022633731063e-05 -1399 -8.84096460371636e-05 -0.0007211232946703282 0 0 0 -0.00013869031407503656 -1435 -0.0001710046467368677 -0.0008484540364576674 0 0 0 -1.2288878832487933e-05 -1469 0.0002659531501426409 0.0004728775398868094 0 0 0 -0.00010044437567796164 -1476 -0.0001708458224487413 -0.0008754621888508901 0 0 0 3.920938494666477e-05 -9466 -0.0003894234036395715 -0.0010704832261919108 0 0 0 -5.5728001182520545e-05 -1506 8.711372204382728e-05 -0.0008213027145687545 0 0 0 2.24344363535692e-05 -6168 0.00034861198582581787 -0.0003267404351899372 0 0 0 4.653742098944705e-05 -1574 -4.552778452965478e-05 -0.0009825495431084296 0 0 0 1.7879893307080665e-06 -1609 -0.0007148763340853528 -2.87746700890591e-06 0 0 0 4.769275057643762e-06 -1637 -0.0008524415961864342 -0.0004199493219747587 0 0 0 -0.0002226471249033465 -1644 -0.000273939514385128 -0.0011367291216059293 0 0 0 -6.35196354308782e-06 -1689 0.0005425838645491196 -0.00018578958134882382 0 0 0 -2.7222035886431933e-05 -1702 0.0002998117469249425 -0.0006007820909560534 0 0 0 5.012161336419288e-05 -1722 -0.0003596917706877909 -0.0009964992228591258 0 0 0 -1.999134409775786e-05 -1725 -0.00043257453692611953 -3.6623605356666675e-05 0 0 0 1.4293667556068171e-05 -4871 0.0003902310012804358 -0.00012404420823444292 0 0 0 -3.085959612512773e-05 -1807 -0.00018157267581279317 -0.0010925521129225312 0 0 0 -4.4413579422121045e-05 -1825 8.478364690702837e-05 -0.0007401518197319426 0 0 0 8.733409737825504e-05 -1840 -0.0003801371493319979 -0.000886705395733722 0 0 0 -9.051471928911504e-06 -1857 -4.479560824768478e-05 -0.0006567077806564638 0 0 0 4.485759118817684e-05 -1876 -0.0005067536604235922 -0.0005303093414690896 0 0 0 5.116299284543745e-07 -1944 -0.0006395064052474696 -2.562097409609603e-05 0 0 0 -0.000760056394713954 -1953 0.00018904562398386584 -0.0006868488657766306 0 0 0 4.3885935755787375e-05 -1981 -0.00036190138086141215 -0.001019004066381758 0 0 0 -5.066436403829813e-05 -1994 0.0006015387847125471 -0.0009184672650623851 0 0 0 6.38138191226495e-05 -2008 -0.000373513853729183 0.0002475729778263579 0 0 0 0.0001823499001519127 -2027 -0.000222489990008283 -0.000610532436713504 0 0 0 4.2396578318977246e-05 -2031 -0.00010005451180883299 -0.0008058856941406705 0 0 0 -1.929225532034085e-05 -2054 -5.7810547265335924e-05 -0.00033058670679149004 0 0 0 0.0002790229133053857 -2056 -1.6416973799659545e-05 -0.0009224934418804999 0 0 0 -6.0841662043771214e-05 -2066 0.0003639591080602315 0.0004617030510896976 0 0 0 -1.0380215428137342e-05 -2151 -0.00043524060437005177 -0.0005935112005160011 0 0 0 3.3075636799340057e-05 -2163 -0.0006787156243241666 6.9155939422264e-06 0 0 0 -9.306771254268091e-05 -2188 -9.601254215566006e-05 -0.0008184782161659384 0 0 0 3.087903020756206e-05 -2189 0.0002965803712812213 -0.0007534038017706511 0 0 0 1.558840932415983e-05 -2198 0.0005060691041009498 -0.000632082338194483 0 0 0 7.121517176784756e-05 -2212 -0.00014632543139763408 -0.0005027427292784173 0 0 0 -6.469699675756819e-05 -2216 -0.00035354437105975645 0.0001585249286976824 0 0 0 -0.00010154790998362449 -2239 0.0004248712461924969 -0.0002829816001060031 0 0 0 4.726038017957197e-05 -9459 0.0002113168067563043 0.00036236550573272763 0 0 0 -0.00012717065347339661 -2274 -0.00014730828462368743 -0.00088811773406464 0 0 0 3.171844465867994e-05 -2283 -0.00042421863654357 -0.0006197862622345455 0 0 0 -1.956702266694133e-05 -9976 0.000826205290410939 -0.0009408883664417227 0 0 0 0.0001629141689866335 -2378 -0.0003439205233191652 -0.0009044832779843716 0 0 0 -6.615443006228012e-05 -2386 0.0003530631068839315 0.0003569632322416367 0 0 0 -8.20147026418449e-05 -2438 0.0005256681870555677 -0.0005314254579799742 0 0 0 5.269499583566762e-05 -2446 -0.0001118953435900894 -0.00047081063208549956 0 0 0 -6.7435186234191e-05 -2464 -0.00039734624907198165 -0.0006412157554428299 0 0 0 -1.7847710333871537e-05 -2469 -0.00028540252823222264 -0.0011353453511929901 0 0 0 2.066689608945671e-05 -2470 -6.245439322120772e-06 -0.0007789452004010258 0 0 0 1.645576450532817e-05 -2487 2.7600478445878016e-05 -0.0003404448655622807 0 0 0 -0.00021789903749256975 -2550 -0.000477289001583733 -0.0005474403892330221 0 0 0 3.662157204008944e-05 -2560 -0.0003987960203147907 0.00040631295436173323 0 0 0 -0.00024512646404282584 -2565 -2.349335007971574e-05 -0.0007444523901525935 0 0 0 -6.187064635416156e-05 -2590 0.00019461888893213244 -0.00020191025403416845 0 0 0 0.00018062822080198586 -2601 -0.00016803090039736921 -0.0007977402267886982 0 0 0 3.5139528463738088e-06 -2622 -0.00011862806000722661 -0.0007940109845909468 0 0 0 1.7282761377500657e-05 -2640 0.0004577476446723734 -0.0008747872838793193 0 0 0 7.31350740865861e-05 -2647 -5.9206265716522524e-05 -0.0008825046918208519 0 0 0 5.218657812107346e-05 -2651 -0.0003983025203063583 -0.0006855560841625845 0 0 0 -1.6709389010136765e-05 -2667 -0.0003437696397576415 -0.0009924895513548494 0 0 0 -1.806577822116592e-05 -2675 -0.00025000963598879547 -0.0009647121580140899 0 0 0 2.5595645014467535e-05 -2677 5.7998703338290125e-05 -0.0007686573013762995 0 0 0 3.7321803941274714e-05 -2687 -0.00021332742762708977 -0.0008147059442486853 0 0 0 -1.146764241776639e-05 -8737 0.0006170594695399178 -0.0008773999261773851 0 0 0 0.0003381195566977928 -2696 -8.913958056121962e-05 -0.0008465052924565579 0 0 0 -5.559017718645575e-06 -2726 0.0004903888820666721 3.6189214798787885e-06 0 0 0 1.9453931705708283e-05 -2741 -0.00018021238487957064 -0.000738223221432467 0 0 0 2.8146094228243157e-06 -2754 -0.0007916813834742302 -6.191421665528332e-05 0 0 0 -0.0002491791608241394 -2761 -0.00040149510184148124 -0.000642959990610016 0 0 0 -1.2358215855408734e-07 -2772 0.00039908118210060166 -0.0006988041898325893 0 0 0 1.9382612864709043e-06 -2776 -0.0005005277704776431 0.0003425537285010526 0 0 0 -0.0003079509671158232 -2813 -0.00034429052124876764 -0.0008823971594270471 0 0 0 -4.1105191545121785e-05 -2830 -0.0007319510734494415 0.0002623223318448819 0 0 0 -0.000135478492517603 -2847 -0.0003009520430765882 -0.000910935336750569 0 0 0 1.520790798364904e-05 -2849 0.0004257814434067583 -0.00010392261982642013 0 0 0 6.137281825252804e-05 -2854 -0.00017859059025085314 -0.0006020441673519107 0 0 0 -5.0772793289795345e-05 -2855 -0.00019986828241676051 -0.0006945705175529235 0 0 0 -1.6779922718005525e-05 -2866 -0.00023093493807366906 -0.00043462295892639533 0 0 0 3.441517193622143e-05 -2885 0.0006406781224716257 -0.00042063597517348584 0 0 0 -0.00010741011275066205 -2915 -0.00029997389009723125 -0.0009660224919981596 0 0 0 7.041032110659009e-05 -2930 -0.00015398784939979184 -0.0008203130100253583 0 0 0 -3.477890657844337e-05 -2936 0.000260841134920765 -0.0003597854725210476 0 0 0 -0.0003385429803675448 -4603 0.0007992115077137527 -0.0009103871876242356 0 0 0 -0.00011933801043834469 -2959 -0.0003204735052090242 -0.0009829005794777424 0 0 0 -2.0307555453939084e-05 -2968 0.0004557163147692233 -0.0007975581495782625 0 0 0 0.0001269775269840424 -2977 0.00014564448760379003 -0.0004920974804705902 0 0 0 -0.0003837825617298806 -2988 -0.0003865415413536387 -0.0009930119671505333 0 0 0 -5.1606096381670474e-05 -3008 -0.0005802833752977423 0.00045372252037599093 0 0 0 -0.00014039455458515727 -1166 0.0006169590993059295 -0.0006154820388486514 0 0 0 -7.432268717409608e-05 -3016 0.00012305670717745323 -0.00018655789280577515 0 0 0 2.3508379854132553e-05 -3024 -0.0003815557747932718 -0.0007317857881290309 0 0 0 -3.0290006008452006e-05 -3040 -0.0002089815817242479 -0.0007417958207019715 0 0 0 6.288514895762636e-05 -3045 0.0002396068639829822 -0.0006275220458062031 0 0 0 -7.327552306508887e-06 -3056 0.0005353894325825038 -0.0006992184232103402 0 0 0 -1.6008606332329742e-05 -4733 0.0007159955634667482 -0.0003322338843320818 0 0 0 -0.00011783422351528177 -3071 0.0004259849681243936 -0.00025963737598330613 0 0 0 0.00013189354126790098 -3074 -0.00018320060066366484 -0.0007453733048535229 0 0 0 -2.8331855884821847e-05 -3081 -0.00010474534466362002 0.0007810838581764232 0 0 0 -0.0005386396587857661 -3085 -2.217399741335696e-06 2.9529252006100894e-05 0 0 0 2.3275184806410023e-05 -9367 0.0004997523107512054 -0.0005363098064844882 0 0 0 8.454721637661029e-05 -3109 5.7739869644197695e-05 -0.00042083719726806486 0 0 0 9.704100317529227e-05 -3149 -0.00041715347002226457 -0.0005821160161741677 0 0 0 -2.2651764636935675e-05 -3153 -0.00035412248907119533 -0.0005044547487782944 0 0 0 5.123927685105501e-05 -3170 9.048574006776362e-05 -0.0008812708350557545 0 0 0 -6.824287048205142e-05 -9476 0.0005292510222306618 -0.0007103815787857313 0 0 0 0.00028520697629280575 -3212 -5.715539941074013e-05 -0.0003517728914066038 0 0 0 -0.00010912451567055257 -3276 -0.000441011137900664 -0.0006966980506822167 0 0 0 5.4440251938148024e-05 -9961 -0.000192496687698016 -0.001484513408321151 0 0 0 -0.000792720751200755 -3301 -0.0004162674581058812 -8.4467171109126e-05 0 0 0 2.1201694283483934e-05 -3414 0.0006300469009359844 -0.0007781796156875126 0 0 0 8.752201845921641e-05 -3454 0.0004850457172864307 -0.000677623214345284 0 0 0 3.1038483895716916e-05 -9441 -2.1895023502527743e-05 -0.000784453784797608 0 0 0 0.0002331485044403583 -9923 -0.0005844016809172477 -0.00016573710881678143 0 0 0 0.0014768134613932454 -3556 -0.00012720757697509306 -0.0008321865131931558 0 0 0 6.429843024554138e-05 -3582 -0.0003879561813737352 -0.0006173728052850225 0 0 0 -1.6903573996572184e-05 -3591 -0.00022533649991692242 -0.000417712473250048 0 0 0 -0.00023516658056662863 -3602 0.00014589364492123254 -0.0006083335377457326 0 0 0 0.0001793183420093102 -3603 -0.00036913708589022317 -0.0007746053718771282 0 0 0 9.79200780620363e-06 -3617 -2.2526916961784448e-05 1.8068217434191634e-05 0 0 0 -0.00010537867060913114 -3629 0.0005611866805730786 -0.000739085405223813 0 0 0 7.327075381947823e-05 -3659 0.00036675181845191644 -0.0001250178137701607 0 0 0 0.0007610988103307102 -3693 2.5574053260236376e-05 -0.0007644629450777667 0 0 0 9.992220920461495e-05 -3713 -0.0003617483120050424 -0.00034315730387500943 0 0 0 -3.514653504362448e-05 -3745 0.0005547401076748185 -0.0008684120910386646 0 0 0 -3.383408443717159e-05 -3748 -9.991126260172202e-05 -0.0007431652699165888 0 0 0 -4.9192073544883026e-05 -3749 -0.0004808509883167837 -0.00043362841226049205 0 0 0 -8.979398259239192e-05 -3750 -0.0003423611256178439 -0.0011699533521264197 0 0 0 -1.4465705346448091e-05 -3753 0.0005284608762346667 -0.0007080714255263579 0 0 0 -0.00010564107184310068 -3763 -0.00030885840905717145 -0.0006849824483736425 0 0 0 5.105158005129267e-05 -3766 -0.00015804769555600496 -0.0009170257335642552 0 0 0 5.416668077464418e-05 -3785 6.164102184634005e-05 -0.0007532999644817271 0 0 0 -2.1065788469347463e-05 -3810 0.0006254101293509181 -0.0008574607467796486 0 0 0 -3.838667430363709e-05 -3834 -0.0002699855760839414 -0.0009623789651209602 0 0 0 8.502080045087322e-05 -3836 0.00012207221710680037 -0.0007733945249948393 0 0 0 1.3076033379800216e-05 -3878 7.24586592783192e-05 -0.0007414575466934186 0 0 0 6.035699247525964e-05 -3550 0.0008279858682332916 -0.00035941875647179825 0 0 0 -0.00016511571280100788 -3925 -0.00014751636257563788 -0.0008514603963084313 0 0 0 -1.1332681584358058e-05 -3948 -0.00028663986371516497 -0.0008952911015997297 0 0 0 -4.864901629549795e-05 -3950 0.00048068615205187036 -0.0007170731020116217 0 0 0 0.00014256469585761667 -3971 0.00031091895222567454 0.00012179640812215375 0 0 0 -8.5995627147713e-05 -4006 1.1396102302427855e-05 -0.0008228509739646132 0 0 0 -2.6335737975532206e-05 -4021 0.00012645994504363378 0.0003587876407652494 0 0 0 2.0527686432196442e-05 -4025 -0.0004056298423553361 -0.0005472943008895587 0 0 0 -7.445542888503978e-05 -4073 -0.0004382629571101625 -0.000380937879752307 0 0 0 1.2700601051174903e-05 -4096 -3.5284886039831616e-05 -0.0009203150624597155 0 0 0 -0.00010328476486518857 -4097 0.00026501597290324815 0.0003475623590822105 0 0 0 3.521504540419097e-05 -9750 6.855259328132851e-05 -0.0007109711826126196 0 0 0 0.0001116725445280752 -4159 -0.0003381317672940081 -0.0010090605335506676 0 0 0 -3.3782026692514686e-07 -4167 -0.0004698930013139591 7.70884186016875e-05 0 0 0 -0.00012307962887754054 -4178 8.786114165039113e-05 -0.0007213924123502676 0 0 0 -5.7441212878606826e-05 -9914 -0.00036916092260488533 -0.0005103077522845301 0 0 0 -0.00012008799676989368 -4210 0.0005350457991030942 -0.000820497587715439 0 0 0 0.0001944149217165739 -4221 -0.0006999159475040756 0.00030053320941621973 0 0 0 -0.0005216063854355158 -4228 0.0005782684467756308 9.018223669270439e-05 0 0 0 -0.0001499776842750636 -6204 0.00033369227409150184 -0.000444754743091344 0 0 0 2.7447080735931714e-06 -4277 7.2344995952121e-06 -0.0004243643142170332 0 0 0 0.0003269295727521956 -4288 -0.00016205438153678355 -0.0006898199628917775 0 0 0 2.29266048671343e-05 -4299 -0.0002021365511608476 -0.0006902103508579514 0 0 0 -6.0789245844123674e-05 -4300 -0.00021755822594826413 -0.0007022798214020514 0 0 0 -1.9976745646572006e-06 -4303 0.00030429296411309243 -0.0006469771320657187 0 0 0 0.00013123047792103058 -9378 0.000551489650691627 -0.0005900533841831421 0 0 0 0.0001325521745332834 -4354 -0.0006411438495268819 0.00016005776780407706 0 0 0 0.0004469421764451879 -4388 -0.0008925084858951092 -0.00028494466488640985 0 0 0 -0.0004707200009676106 -4400 -0.00032317594347403304 1.749398919258604e-05 0 0 0 9.495365517409966e-05 -4406 -0.0001787867045777941 -0.0007666048762874034 0 0 0 5.984871651543952e-06 -4421 -0.0005384640762495854 0.00044061690984305296 0 0 0 -0.000417404202805376 -4422 0.00036812040153929156 -0.0006170349753808211 0 0 0 0.0004534611499467388 -5197 0.0008541847370557405 -0.0009545982017231247 0 0 0 -7.108073974578172e-05 -4434 -0.0001905666266151614 -0.0007478056758016454 0 0 0 -8.951398648699361e-06 -4441 0.0002282689222095225 -0.0006355965028243358 0 0 0 -3.972471386708789e-06 -4447 -3.853121730086337e-05 -0.0009919956430888934 0 0 0 1.340934607585061e-05 -5043 1.6699510536576174e-05 -0.0008654970875910997 0 0 0 0.00014374100720827891 -4474 0.0002513816375222062 -0.00036555982918922694 0 0 0 -0.0005796625228406912 -4476 -0.00022791753535543477 -0.0010732811737560837 0 0 0 -1.0248320098875448e-05 -4525 -0.00034882907634769427 -0.0009721952020483892 0 0 0 -1.927873581502568e-05 -4548 0.0006198337768963608 -0.0007986839166062669 0 0 0 -3.410302285132445e-05 -4554 -9.798766257388978e-05 -0.0007420767215037139 0 0 0 4.6119395100209836e-05 -4572 -0.0001254033382992789 -0.00042584437024712027 0 0 0 0.00023969513868129434 -9942 0.0004674052483750094 -0.0008214942789194931 0 0 0 -7.785954917773473e-05 -4605 -0.00041383741523537545 -0.0005906477082897846 0 0 0 2.8985356397610915e-05 -4673 -0.00037120452723884566 -6.845322784751309e-05 0 0 0 0.00027576925186482406 -4688 0.0001658822759062877 -0.0006838579544035789 0 0 0 -2.7838780504898224e-05 -4699 0.00014518151924366727 -0.0007721030352118738 0 0 0 6.492218624907011e-05 -4743 -0.0002720442021576656 0.00024899066909110916 0 0 0 1.8230642380459806e-06 -9823 -0.0005685599812524359 -0.00016537757748570582 0 0 0 -9.588521237802934e-05 -4784 0.0002251902632631822 -0.0007694389071808132 0 0 0 -3.712270935924302e-05 -4795 0.0005955451904200076 0.0001030224332026981 0 0 0 -1.4573369223697548e-05 -4805 0.00028652415003356567 -0.0006717143888641667 0 0 0 0.0003965372939675632 -4865 7.595128303566038e-05 -0.0008862712507682638 0 0 0 3.121840585589028e-05 -9940 0.0008733654832222699 0.0003008937367569626 0 0 0 0.002035501812763258 -4940 0.00018352645043024992 -0.0006628658988306619 0 0 0 1.1873991782494265e-05 -8878 0.0007443923338210785 -0.0008024679174542035 0 0 0 7.129232942471939e-05 -4961 0.00013397327365152097 -0.000823934784476436 0 0 0 -1.77721894979837e-05 -2257 0.0007056649218424782 -0.0006422946729875237 0 0 0 5.2965526813080544e-05 -5008 -0.00043202518660516676 -8.675860491802938e-05 0 0 0 -1.3668763480901076e-05 -6170 0.0006114278687128683 -0.0005932010307548346 0 0 0 -0.0004630742933461898 -9528 -0.00014390253253695757 -0.0006254117583405549 0 0 0 -6.698312344943745e-05 -5062 -0.0007232725602476987 -0.0003749470567743718 0 0 0 0.0005786064068885364 -9820 -0.0001111757994252428 -0.0007089372124662284 0 0 0 -2.5986728679741497e-05 -1510 0.000473650957248743 -0.0004954047996024477 0 0 0 2.7415206086312106e-05 -5089 0.0002731321489490719 -0.0007159605915374525 0 0 0 8.684516501990739e-06 -5146 -7.772510682005909e-07 -4.4930638972421264e-05 0 0 0 -2.2631412889762925e-05 -5178 0.00031576270196964824 -0.0005688005537390405 0 0 0 4.791543426822185e-05 -5212 -0.00047657541104725523 -0.00016248806508978113 0 0 0 -0.0002139561301254718 -9894 -0.0003491588834806487 0.0004299263926761257 0 0 0 -0.0011840513336332785 -5235 0.0002683477384954319 -0.0007013787640397215 0 0 0 8.9265343101642e-05 -5261 -0.00034944651564881304 -0.0009980166369466569 0 0 0 2.0273582824050198e-05 -5298 -0.0002032068503468956 -0.00042836896551113766 0 0 0 -0.00025062044675697203 -5346 -0.00036823312611439224 -0.0007747270322520454 0 0 0 -7.710422304818611e-05 -5357 -6.436909513578409e-05 -0.0008404343314773455 0 0 0 9.861747960396092e-05 -5380 0.00016087302968000446 -0.0006935488940769981 0 0 0 -6.488554842312342e-05 -5385 -0.0001462027024397394 -0.0010130529552532443 0 0 0 -1.8151419927197805e-05 -5386 -0.00039313060268922253 -0.0007146967541900637 0 0 0 1.2314455645510786e-05 -5433 0.0001334754896206605 -0.0009883563578080398 0 0 0 -9.247824538474657e-05 -5500 5.8694860949866965e-05 -0.000794396485375046 0 0 0 3.186280229054452e-05 -5565 -0.0003846718843111273 -0.000977521695653902 0 0 0 -4.751951973145105e-05 -5580 0.0004990417363801115 -0.000646742115113236 0 0 0 0.00015498155570157224 -5606 -0.00019573066255215767 -0.0004158524969156433 0 0 0 8.113790336858323e-05 -5624 -0.00027628004419192736 -0.0009293118787332888 0 0 0 6.754234344356342e-05 -5642 -0.00019411415891906452 -0.0011353127057924892 0 0 0 -7.464957311897557e-05 -499 0.0009224475229450432 -0.0007481090525483516 0 0 0 -2.4168769130647395e-05 -9524 -0.0009110587566085093 0.0006835227125258291 0 0 0 0.00045498514993844174 -5707 -0.0004481687210468847 -0.0005757250518497704 0 0 0 -5.6260929725729306e-05 -9508 -0.0003694211262706828 -0.0009199651998966131 0 0 0 5.217480622140014e-05 -5752 0.0004151293043772344 -9.860684752580974e-05 0 0 0 1.579310486945929e-05 -5756 0.00036229569252053414 7.345308081943505e-05 0 0 0 0.00020091602170148142 -5757 -8.126719506234053e-05 -0.0010565364779854085 0 0 0 -0.0001457618636549907 -2381 0.0004310174018063429 -0.0006790947032908672 0 0 0 -0.00014835046112999476 -5805 -0.0006181111996487923 -0.00013363335234654945 0 0 0 0.0001781512492841543 -5844 -2.2462766940714417e-06 -0.0005907979905485235 0 0 0 0.0001009776306882939 -5895 -0.0004009855437689844 -0.0001260436342248101 0 0 0 -9.786164486410187e-05 -5937 0.00015621223781908574 -0.0005255927808966651 0 0 0 -0.00051808416904478 -5946 -0.00014811187988673767 -0.000899166138677413 0 0 0 2.4011124278167944e-05 -5948 1.29232951252235e-05 -0.0008035473632682831 0 0 0 4.908873887322204e-05 -5955 0.00017824561518205715 -0.0007735655056328623 0 0 0 -6.378068250295497e-05 -5962 0.00035270984812658127 -0.00020236461141502285 0 0 0 2.146352329343504e-05 -9819 1.9268702677988342e-05 -0.0007505251560501091 0 0 0 7.385861754207212e-05 -5972 0.000336354687902884 -0.0007685612027384893 0 0 0 -5.133169580718456e-05 -6005 1.794907413623961e-05 -0.0004279537906831779 0 0 0 -0.0006625364556176686 -6019 1.4999960162090382e-05 -0.0009873069897581317 0 0 0 -3.5165861636922875e-05 -6038 -0.00016937717940152677 -0.0009080671925354136 0 0 0 -1.7653086566687926e-05 -6088 0.00040214922412842836 -0.000683680932744537 0 0 0 2.8333529048263678e-05 -6116 -0.0002960485100036101 -0.00018069486282188145 0 0 0 3.279717240495721e-05 -6134 0.00015237581804549265 -0.000695049777457023 0 0 0 1.66936902781957e-05 -6152 0.00019096289564609595 -0.0006540084027891203 0 0 0 5.37017621570618e-05 -6183 -0.00021457225989401262 -0.00024158139725701997 0 0 0 -7.275438346566702e-05 -6192 0.00014539577698631704 -0.0007552990773806465 0 0 0 -0.000377974679165759 -6217 -0.0003960346239486206 -0.0005776485167599134 0 0 0 0.00013383173390164792 -6252 0.00016674437527755052 -0.0005149804545492034 0 0 0 -0.0005328965087340975 -6259 0.00036550796558991797 -0.0007703508375869033 0 0 0 -7.480470905847033e-05 -6310 0.0005461215536208401 -0.0005495776842662878 0 0 0 4.54826351773476e-05 -6312 0.0005271338961270981 -0.000881895130548075 0 0 0 9.584872418080062e-05 -9889 -0.0004424283460265835 6.360083972974384e-05 0 0 0 0.00020102106293075353 -6346 -4.141855165003799e-05 -0.0007077292658909268 0 0 0 7.281478289451023e-05 -6351 -0.0007574716222537236 -0.0003910597498534646 0 0 0 0.0007002894878799337 -5692 0.00035613015898089287 -0.0001392587412371514 0 0 0 3.216050107211244e-05 -6452 0.00040280649102759187 -0.0006072340158148038 0 0 0 1.5526807102680357e-05 -6458 -0.00043549614140384036 -0.00015515023036395863 0 0 0 -4.9331682865597414e-05 -6464 -0.0003724873992679847 -0.0007657699879511475 0 0 0 4.3249333522275883e-05 -6468 -0.0005018486136715493 0.0003412170754780585 0 0 0 0.00010633804137326715 -6480 0.00011077187553026179 -0.000824151244933444 0 0 0 5.554201395446137e-05 -6485 -0.0003731904733169114 -0.0009963982932150628 0 0 0 -4.687036706510233e-05 -6490 -0.0002856227251530144 -0.0007650208228258041 0 0 0 -2.1214748812367175e-05 -6508 -0.0006822517970706582 0.0002941875132192595 0 0 0 0.0007294020110622968 -6520 -0.0002973637021944611 0.0001398515944024086 0 0 0 0.0003587878254950057 -7500 0.0009655098861759383 -0.000610148450292569 0 0 0 0.0001089991714741964 -6549 -0.0005788205586043528 -0.00013397267865748473 0 0 0 -0.0005713395687155621 -6558 -0.00027612163864852805 -0.0011478962382458597 0 0 0 3.966510126229358e-05 -6565 0.00013180643034486369 -0.0008998842292716083 0 0 0 -0.0010052256833528797 -6585 -0.00035731200017998156 -0.0009660991715272093 0 0 0 1.9319020354620132e-06 -6589 -0.00022143752133053473 -0.0011630474096503488 0 0 0 -0.00010240239184351796 -6595 -0.0004786664869018924 -0.0008223362308358815 0 0 0 2.0278592817427175e-05 -9925 -0.0022770170984713323 0.0010981007864134462 0 0 0 0.0003326177949645919 -6665 0.00041088031139310344 -7.547283077980674e-05 0 0 0 -0.00022468063904893375 -6674 -4.341031546405735e-05 0.0012458189903455977 0 0 0 -0.0007584099448975696 -6700 0.00021373476611921533 -0.0006658804397912058 0 0 0 0.0006913096195892856 -6721 0.00045396345096040334 0.0005200372597253851 0 0 0 6.451177389125957e-05 -207 0.0006065797625264942 -0.0003091684748566421 0 0 0 3.9503545501956294e-05 -6767 -8.606032945372164e-05 -0.00013155343159627705 0 0 0 0.00027533594387312016 -6769 0.0004280169661074503 -0.0005602610476143671 0 0 0 4.905671076895878e-05 -9427 0.00026775176404565654 -0.0001458711193564068 0 0 0 -0.00026757035064719635 -9844 0.0005457763839335803 -0.000579441176258537 0 0 0 5.3656149302350325e-05 -6887 -0.00017912499480707015 -0.0010309221549852316 0 0 0 -3.420490820077801e-05 -6889 -4.842629918090454e-05 -0.0010506087760761757 0 0 0 -0.00014721233212207564 -6941 -0.0003470724535257578 -0.0009043418405304348 0 0 0 -9.311573086677836e-05 -6960 8.024762798167997e-06 -0.0005481798364682448 0 0 0 0.00012860072562143494 -6983 -0.0003743076196151734 -0.001009342995629149 0 0 0 3.4664961975075856e-05 -8117 0.00033523373182800455 -0.0006429099717515588 0 0 0 4.3992323805576755e-05 -7064 2.573774095237759e-05 -0.0005510140297779281 0 0 0 0.00025036018719179725 -7078 9.454489651280259e-05 0.0006031518842706112 0 0 0 3.287788407997528e-05 -7088 -0.00028860743083946965 -0.001176961798404092 0 0 0 -7.051045807659552e-05 -7095 4.4727583315731675e-05 -0.00028933821407490227 0 0 0 0.00011658402470029965 -7099 0.00015158392049502393 -0.0007129047129350294 0 0 0 -6.281634347799563e-05 -7307 -0.00033661905664412377 -0.0009283123118937776 0 0 0 -0.00010723311853302744 -9551 0.000408617007289379 -0.00011674120333350188 0 0 0 -1.0443686120694287e-05 -7159 -0.00036898481393564907 -0.0007130481504541605 0 0 0 0.00010745627812705478 -7209 1.527377154039374e-05 -0.0008791218770562398 0 0 0 4.251168986482927e-05 -7259 -0.0004017179261118456 -0.0005466240704882667 0 0 0 -2.013506533478794e-05 -7270 -0.0003811891846309255 -0.0006762748600598978 0 0 0 -1.4974313606661254e-05 -7278 -0.0003341934733629059 -0.001027970892026957 0 0 0 1.223477136492551e-05 -9128 0.000819389428612549 -0.0008924272676086807 0 0 0 -6.361348524602827e-05 -7310 8.556135483401162e-05 0.00024609095503348326 0 0 0 -0.0016619794915468358 -7335 0.0006159225704903432 -0.0004491697042410459 0 0 0 7.165422095880506e-05 -7368 -0.0003489595680246742 -0.00038087629208776044 0 0 0 -0.0003277771107830839 -7414 -0.00016272919612589715 -0.001097093825631578 0 0 0 -9.807160657090007e-05 -7440 -0.00036924693328803143 0.0001576567468424757 0 0 0 0.00034145266141025915 -7453 0.00019068968837580584 -0.0008832949345146049 0 0 0 0.0003261484412791845 -7455 -0.00035896111850731137 -0.00022990447649357668 0 0 0 -5.559980212196403e-05 -7481 -0.0010700952884556668 -0.0013874114931056955 0 0 0 -0.00014027121813910915 -6832 0.0005080823891445148 -0.00028770414717155295 0 0 0 -7.312848557084145e-05 -3280 0.0007553402378519371 -0.0007527999540579857 0 0 0 8.407522386831937e-05 -7508 -0.0005286582455718582 0.0002447924512920414 0 0 0 1.1471507193995993e-05 -7544 -0.00011270822432432922 -0.000874789494049712 0 0 0 -8.876425890383247e-05 -7577 -4.568466514975591e-05 -0.0010507300848490912 0 0 0 -5.9363553684066844e-05 -9644 -0.000562362504713581 -8.574595232720952e-05 0 0 0 0.000839301124863229 -7595 -0.0006087568881529699 -0.00016839069874133978 0 0 0 6.43260256707494e-05 -7639 -0.00043166311846757786 -0.0006340701467269895 0 0 0 7.0638003527222095e-06 -7664 -0.00025251709111167957 -0.0011314673921983054 0 0 0 0.00018916233058846021 -7705 -0.00020769895035781464 -0.0008229278281390097 0 0 0 -1.8024191757082024e-05 -7709 -0.00023174121843761388 0.0004992646823104673 0 0 0 -0.001173746114764052 -6926 0.0007804625254276515 -0.000456415946610628 0 0 0 -0.0003886124377780811 -7743 0.00047881010784869935 -0.0006854759340355084 0 0 0 8.553999828919245e-05 -2655 0.0004532325727999309 -0.00010654590619507441 0 0 0 -0.00014283782794329055 -7778 -0.0004797038498202122 0.00010764591513143834 0 0 0 -8.288430715335799e-05 -7783 0.000374566358206529 -0.0006714937391974956 0 0 0 -2.6008370572209267e-05 -7797 0.00012649184129548337 -0.0008212261523098882 0 0 0 0.0009503765346132374 -3430 2.4114282642758414e-05 -0.00043602596759624774 0 0 0 0.00017218167391012894 -7849 -0.00036483002283942465 -0.0009999843277573785 0 0 0 -1.7523261064371748e-05 -7860 0.0001633296545168101 -0.0008172132475042013 0 0 0 -4.0333746868790976e-05 -7874 0.00034545510641598496 -0.0007930799127263598 0 0 0 0.0005588346975803767 -7879 0.0005357847437812062 -0.0002364161593346332 0 0 0 -7.811152845360665e-05 -7898 0.00019707358709147998 -0.0006980375835166251 0 0 0 -3.224141863714251e-05 -8006 -9.760114973340486e-05 -0.0007904447605282057 0 0 0 -0.0002182228591293486 -8024 -0.0003298687242740331 -0.0005789149979864771 0 0 0 -8.78200242214114e-06 -8045 0.0006069292095929388 -0.00044445135514695634 0 0 0 9.723672731643603e-05 -8047 0.0005090766246438442 -0.00027323604239680796 0 0 0 0.0001360788092890976 -8049 -0.00013330306709804382 -0.0007835368236895338 0 0 0 -0.00012337253325784276 -8051 -0.00025067041573675853 -0.0011493160323653349 0 0 0 -0.0002244338049077794 -8054 -1.6586739581849266e-06 -0.0008397051744159316 0 0 0 4.5042496132970834e-05 -8057 -0.0001529135426061113 -0.0010616167779867066 0 0 0 -2.446113037389563e-05 -8072 -0.00023440976517044782 -0.0010198316228531325 0 0 0 -3.381615643404043e-05 -8081 -0.0003864056214381319 -0.0010289578350888408 0 0 0 4.182374114445299e-05 -8082 -1.458803646805375e-05 -0.0007876252163251221 0 0 0 2.786459438886454e-05 -8107 -0.0004386777104281758 -0.0005647935708229712 0 0 0 1.361617294962309e-05 -7155 0.0005249690491719801 -0.0004769065778937145 0 0 0 -0.0001346578313639315 -2228 0.0005292127408050949 -0.00030402739093896665 0 0 0 3.956301011849084e-05 -8121 0.0001792309820675511 -0.0007738264915447247 0 0 0 -0.00013910607671867902 -8126 -0.0002129261093567947 -0.0008251580310977046 0 0 0 1.261871149177169e-05 -8180 0.000671451818972344 -0.000824435204192046 0 0 0 0.0002724804472534858 -5221 0.0004515126326421756 -0.00046539517010852824 0 0 0 0.00044575636931098436 -8228 1.0987719266550537e-05 -0.0005609596043192044 0 0 0 -0.0001598974447177674 -8230 -0.00012733219107686434 -0.000928039817297998 0 0 0 -1.601104333528628e-05 -8243 -0.0006357932661270521 -1.6228832802365563e-05 0 0 0 0.00020402432599740664 -8267 -0.00038295066622865255 -0.001029849351485343 0 0 0 -1.889460115039228e-05 -8270 -0.000176479455825971 -0.0007639328750949721 0 0 0 -3.746511222562836e-05 -8271 -0.00035670304203880824 -0.0010640762464447305 0 0 0 -8.749300629428794e-05 -8313 5.686144804850903e-06 -0.0005539674546819619 0 0 0 7.77521614180775e-05 -8330 -0.00012811741356621976 -0.0007243682810242967 0 0 0 -6.297691562650657e-05 -8472 0.00026462370942004177 -0.0006435594901600193 0 0 0 0.0001250794913793407 -8479 -0.00040235873177316714 -0.000628168734458154 0 0 0 -4.375132635643732e-05 -8515 -0.0004140830738802497 -0.0006297831918751733 0 0 0 8.961447545552925e-05 -8555 -0.0001397318418259844 -0.0008625332492823999 0 0 0 -5.408807911166281e-05 -406 0.0003748708791478539 -0.00029530291312910184 0 0 0 -2.5679647571009744e-05 -8607 6.282903326965694e-05 -0.0007979507145639548 0 0 0 4.279738195416764e-05 -8615 0.0007945512095057258 -0.000365898959046545 0 0 0 -0.00033269455198789715 -8629 3.81843738355046e-05 -0.0007576075045778406 0 0 0 -0.00010154248007873284 -8688 -0.0005757209345016671 0.0003972504127693221 0 0 0 -0.00043028901172564643 -8696 2.527424489492177e-06 -0.0009998428913007727 0 0 0 -0.00044853475056551 -8741 -0.0003187273728508019 -0.0007832000093090223 0 0 0 -7.059429893749394e-05 -8790 0.0005115600894046138 0.0002961779552089321 0 0 0 -5.004545839944342e-06 -8799 0.0005391730564531435 -0.0004936847491334084 0 0 0 0.00013625431452810388 -8813 -0.0005999844278715464 -0.00011564692464280966 0 0 0 -8.170933474131812e-05 -8819 0.00017627906118975338 -0.0007075035743076479 0 0 0 -0.00013955699570876768 -8827 -8.751379168840254e-05 -0.0006656769424778123 0 0 0 -1.5665968849825484e-05 -8836 -9.200327429984291e-05 -0.0006385038633377303 0 0 0 -0.00021511615945096928 -8859 -0.00039506036474730737 -0.0007219159223855156 0 0 0 1.5746555379737508e-05 -8867 -0.00013594481560523053 -0.0008072114169660295 0 0 0 6.075295489436963e-05 -8869 0.0006219417491731217 -0.0001956284645347038 0 0 0 0.000136616208072307 -8875 0.0003380346793956725 -0.0008044627073505914 0 0 0 -0.0002521782551789359 -8879 0.0003810113339379118 -0.000709811885057007 0 0 0 -1.475668304441345e-06 -8885 -0.0005690656829962129 -0.0004998057320084574 0 0 0 -1.9620975097519936e-05 -8944 -0.0001333303749897553 -0.0008910646985741332 0 0 0 -4.970047760540741e-05 -8947 -0.0003314420608898786 -0.000786597675389135 0 0 0 -5.098724032480123e-05 -9818 7.964255998904113e-05 -0.0007933539944029007 0 0 0 2.019302982431016e-06 -8996 -0.00035039669695325905 -0.0005288748464729303 0 0 0 -9.323560478884548e-05 -9020 -0.00026295496000473096 -0.0006117086930271673 0 0 0 0.00016950131385757227 -9021 -0.00031099409606618093 -0.0007858928318374118 0 0 0 0.00010720902852487576 -9063 0.00016284049123240705 -0.0008132972186657071 0 0 0 0.00010757271090496053 -7153 0.000864777452864831 -0.0009939287693118569 0 0 0 6.048868304315842e-05 -9086 0.00010735447274344202 -0.0008006607724439165 0 0 0 -0.00028445505976663074 -9101 0.0003418965463251571 -0.0007839106106997924 0 0 0 -0.0001997589883705889 -9134 0.00017606009624545718 -0.0007021253717332926 0 0 0 9.364247778886808e-06 -9136 -0.00015346936429824494 -0.00110463582141072 0 0 0 -6.0245668110560016e-05 -9137 -0.00019434035315757554 -0.0005845434520624405 0 0 0 0.0002028076379056636 -9145 -0.001566078504381943 0.00043093951715511585 0 0 0 0.0009468590991201203 -9153 -0.0005591723475498485 -0.00021397607499314543 0 0 0 -0.0015402060560747873 -9154 -0.0004952531916787358 -0.0008150809943734641 0 0 0 6.97250386128081e-06 -9198 5.671789732793157e-05 -0.0008038835448596069 0 0 0 4.081663877736472e-05 -9220 6.281344020515917e-05 -0.0008868539692388394 0 0 0 -2.575868817656304e-05 -9248 -0.0003174408526395946 -0.001022398784705884 0 0 0 -0.0008450886232535586 -9253 0.000489482776347277 -0.0007321513272494191 0 0 0 0.00011986221881817626 -276 0.0006317414739197165 -0.0006488767052704686 0 0 0 -7.371339684284236e-06 -9298 -0.00032874607231296626 -0.0009730038319088751 0 0 0 4.0170213702798414e-05 -9315 0.00022888316672580524 6.671988937788638e-06 0 0 0 2.5908363457559053e-05 -9330 -6.241548309659485e-05 -0.0008541185354617671 0 0 0 4.65202755133963e-05 -9347 -0.00035487259835132015 -0.0004141726427721706 0 0 0 -0.00016422695136707963 -9362 0.0003234548830256657 -0.0007814724358398658 0 0 0 -0.00037434816922737386 -5827 0.0004031138037203571 -0.00017379559433372836 0 0 0 8.715646993668384e-05 -8782 0.0003685303613564382 -0.0002938345324469224 0 0 0 -7.404549369418415e-05 -690 0.0003381255604092839 -0.00047593518053691623 0 0 0 -0.00012135434085007771 -3434 0.0007365420889659723 -0.0007891459060891986 0 0 0 -2.8351472747399184e-05 -9127 0.0003305287752090426 -0.0004126869533783281 0 0 0 0.00013120045479661648 -4815 0.0007262639833661229 -0.0008817773889831795 0 0 0 5.530149619405618e-05 -4212 0.0006763078475207267 -0.0005150926632153536 0 0 0 0.000171863560044607 -2053 0.0006480762010665825 -0.000419579033133284 0 0 0 2.033943764443844e-05 -647 0.00032122346178658107 -0.0006275080801910764 0 0 0 1.6194624784122348e-05 -1482 0.0005752489004048604 -0.0004821887227048888 0 0 0 0.00023097141091559203 -7204 0.0006067430250090188 -0.000885387150363742 0 0 0 -0.00028443667711146894 -4565 0.0006208999491795386 -0.00042120667308121677 0 0 0 -0.0004146884944512201 -6724 0.0005806101090047737 -0.0008814204247947061 0 0 0 2.6734106514273145e-05 -1086 0.0006486064928278992 -0.0008597718274714053 0 0 0 -6.640998894661546e-05 -3875 0.0007056846750278137 -0.0004041161692096214 0 0 0 -4.772283133599712e-05 -4049 0.0007122252764376212 -0.0004759288012159753 0 0 0 0.00010509854743149696 -6890 0.0007501473531589201 -0.0006733978977843772 0 0 0 0.000314591770471655 -8956 0.0004623567696935705 -0.00017146110015049952 0 0 0 -8.079033360788134e-05 -7725 0.0006238976103693088 -0.0007686376870719361 0 0 0 -0.0001579930639698225 -7034 0.0007600577076325435 -0.0009585822957779961 0 0 0 -0.0002168782743821114 -5697 0.0006971930577405716 -0.0004984649046201302 0 0 0 0.0001216869996548651 -8912 0.0007869552584175968 -0.00042361356776886305 0 0 0 0.0003367684152352844 -6851 0.0007472970996423194 -0.0009621844115329393 0 0 0 0.00022834219488202738 -3066 -0.0001924516484897834 -0.0011761192772327643 0 0 0 -1.5342990177240385e-05 -1701 0.00037727832930113556 -0.0004722246269603826 0 0 0 0.0001101733755172597 -137 0.000821231395651913 -0.0009409731571606497 0 0 0 6.261188113460747e-06 -9165 0.001331284853819938 -0.0005238464303929409 0 0 0 -6.525650268666073e-05 -871 0.0005118185687953894 -0.0004973840046650205 0 0 0 5.925787115065743e-05 -8767 0.0006857052250403108 -0.00031499400239166843 0 0 0 5.385989531518749e-05 -9234 0.0006204624233877472 -0.00035520952076933585 0 0 0 -4.161917049002227e-05 -6 -0.000617286665200557 -0.00020210681612686817 0 0 0 7.621218268545596e-05 -7464 0.0008190646958781737 -0.000968115078524265 0 0 0 7.299637285666742e-05 -197 -0.00012281225932921 -0.0008709820045600877 0 0 0 7.291296074835808e-06 -6604 0.0008589273630425467 -0.0009978751776295288 0 0 0 -6.221210895783369e-05 -5083 -0.00032532465634234776 -0.0008647849158952903 0 0 0 0.0001771171878195301 -3 0.0008084748200634228 -0.00035805114663557577 0 0 0 -4.7538054949905025e-06 -7756 4.9227033258044534e-05 -0.0005268709592180609 0 0 0 -0.0010924274078435011 -7246 0.00026546657020123915 -0.0009648843198213592 0 0 0 0.0005557846620361405 -4307 0.0002802418720537783 -0.0009377397815991111 0 0 0 -0.0006698759494718817 -2427 0.00030022389813118825 -0.0010310810256915516 0 0 0 -0.00023287996152558072 -4058 0.000264056538573511 -0.0009861120753925617 0 0 0 -0.0006543701281381868 -6410 0.0002858008877442087 -0.0009673989713968232 0 0 0 -0.0007199928418762768 -5712 0.0002645554755383097 -0.0009069758226537985 0 0 0 -0.0007879725762081287 -7144 9.311720419530928e-05 -0.0009389077498711706 0 0 0 -7.595492499770182e-05 -3015 0.00017509020866115097 -0.0009300171794594262 0 0 0 -0.0003887735442394142 -4960 0.00043995960162006726 -9.138329174176259e-05 0 0 0 -7.025378183072426e-05 -7 0.0013881873452272892 -0.00013728344383576939 0 0 0 -1.049885802222492e-05 -9099 0.0007035427804444368 -0.00044370160665334324 0 0 0 3.379405644910778e-05 -15 0.0009545954998099648 -0.0005579961520855843 0 0 0 1.314815260655498e-05 -5523 0.0010125345853905998 -9.673281249704341e-05 0 0 0 1.19550584595735e-05 -222 0.0008869984438371802 -0.00039562324699254144 0 0 0 1.091302829754955e-05 -236 0.0007791658866845597 -0.0004205661645441743 0 0 0 -1.4974503527432353e-05 -4444 0.0009764198336969732 -5.16991174111272e-05 0 0 0 7.920808193272653e-06 -7566 0.0008508819609766978 -0.0003883736836833566 0 0 0 2.020194973879974e-05 -6897 0.0009817753497804319 -1.1902523386757007e-05 0 0 0 3.452484896382478e-05 -270 0.0009144148131595939 -0.00040664307886271865 0 0 0 3.383953410121574e-06 -9744 0.0010814013600935427 -0.0006271433571047873 0 0 0 7.361907628763646e-06 -309 0.0010376148895258866 -0.00017483686879414924 0 0 0 -1.4093855131369671e-05 -313 0.001017420990061533 -0.0003697513943284089 0 0 0 -3.5058373225793826e-05 -350 0.0012392634457264009 -0.00016405550369930416 0 0 0 -3.2368428463854585e-05 -4786 0.0009765806162439106 2.8846514403050715e-05 0 0 0 -4.124939279075406e-05 -4828 0.0008949184109525209 -0.00043898152201878716 0 0 0 2.8374706850541647e-05 -469 0.001185950952716507 -0.00035639359292675217 0 0 0 -2.191071767946649e-05 -477 0.00104354040626586 -0.0004896404537177978 0 0 0 -1.0225241535602218e-05 -9840 0.0011306751106303894 6.566650903420773e-05 0 0 0 -0.0010133671246213877 -506 0.0006653378241716692 -0.00045829373133316197 0 0 0 -3.0418288619840832e-05 -521 0.0008123304874097846 -0.0005901074574992237 0 0 0 -7.173130497787625e-06 -552 0.0009500126484938736 -0.00044936655340153145 0 0 0 9.905810586794512e-06 -557 0.0008236887323502133 -0.00042995957565867036 0 0 0 3.92233472157373e-06 -602 0.0009076409812233487 -0.000419058708982369 0 0 0 8.570244085409488e-06 -620 0.0010390479722779352 -0.00048236024234713843 0 0 0 7.1705501121656744e-06 -627 0.0010939313626151315 -0.00025817619612732444 0 0 0 -8.067402981109385e-06 -644 0.0009189132854271518 -0.0004188020680642737 0 0 0 -4.804292156798281e-06 -674 0.0012452940838148323 -8.86226895866019e-05 0 0 0 6.649881312755043e-05 -707 0.001058700549521196 -0.0002347886482181024 0 0 0 -1.3411167628156919e-05 -716 0.0011588742120939809 -0.0005349744675354535 0 0 0 -2.2837716379584842e-05 -4623 0.001151479575858593 -0.0002904092818168375 0 0 0 3.198185672185418e-05 -795 0.0008646453327148102 -0.00040255255088986013 0 0 0 6.969774715408488e-06 -810 0.0006738662810649189 -0.0004432465712410034 0 0 0 -1.4567561594496564e-06 -9550 0.0012836525677962986 -0.00014454840969822656 0 0 0 0.00017802668388068116 -837 0.0010181341464342174 -3.243242421474203e-05 0 0 0 -4.015114835515556e-05 -9652 0.0009730046644917502 -0.0004590976704885114 0 0 0 4.478217984838246e-05 -888 0.0007174388729829416 -0.0003590156123331241 0 0 0 9.614292707334099e-06 -892 0.0011010054424431478 -0.0004668853844549375 0 0 0 6.6216957039501396e-06 -1852 0.000965901892286929 -6.499077283697416e-05 0 0 0 -1.7850327969628196e-06 -947 0.0010546078181622042 -0.0002726676607894291 0 0 0 -3.123927208327922e-06 -949 0.0010672172238636148 -0.0005910795401438553 0 0 0 1.8244840983102324e-05 -8282 0.0011965835619683447 -0.0001323842775012028 0 0 0 1.5744715739613045e-05 -1049 0.0012186508920187817 -0.00040917297770140087 0 0 0 -5.198581257887702e-05 -1107 0.0011195849118734108 -0.0005569228580066847 0 0 0 -1.2413427859920292e-05 -9501 0.002618521028646655 -0.0010558117039819958 0 0 0 0.0006096806109499234 -1200 0.0011311528589252801 -0.0004086152148642961 0 0 0 -2.703385192288292e-05 -1232 0.0012742943156486212 -0.0002588223794957649 0 0 0 5.92960917821406e-05 -1281 0.0009658645052433957 -0.00043705106923109155 0 0 0 -2.6685785546587667e-05 -2541 0.001030216854165612 -7.257505012759016e-05 0 0 0 -3.397926982838183e-05 -9713 0.0011529230421793396 -7.860176716604075e-05 0 0 0 0.0006414140399638922 -1300 0.0011447115120683273 -0.0002357392379672709 0 0 0 -8.765489915982413e-06 -5590 0.0007453505414676042 -0.00035594359588464805 0 0 0 1.854260225244396e-05 -1340 0.0007428167949453798 -0.00040798181921227486 0 0 0 -7.96776994424132e-06 -1345 0.0008201468081304171 -0.0006011587923349767 0 0 0 -6.843507967804428e-05 -9835 0.001110765585490176 -0.000539047718803277 0 0 0 -7.498815567510511e-05 -1369 0.0009117663847886261 -0.00042366023647615264 0 0 0 1.2668299996833247e-05 -1376 0.0008064127465580911 -0.000303010134169223 0 0 0 1.2655844945517355e-05 -1797 0.0008302094830610087 -0.00039999377416050357 0 0 0 2.6544869501635503e-06 -1382 0.0008816135092575034 -0.0004087996474678482 0 0 0 4.1764812219432094e-06 -6785 0.0008716252035736647 -0.00039841417829581825 0 0 0 -2.3128187084618528e-05 -1421 0.0011379781318054648 -0.00046386499558253625 0 0 0 -6.181565697375253e-05 -1422 0.0010004822792336356 -0.000491309302483314 0 0 0 8.036387827128311e-06 -1427 0.0009981831081844826 -0.0004836175042076529 0 0 0 -1.8021562013238874e-05 -1428 0.0010922835242152822 6.03714226626689e-05 0 0 0 -3.5774297422920616e-05 -1457 0.0009996411219869458 9.498251705993548e-06 0 0 0 -1.8763802204516915e-05 -1563 0.0007309078515162641 -0.0004480517271498161 0 0 0 -1.2508526515096814e-05 -1612 0.0009469755048152915 -0.0004449098875225191 0 0 0 1.762089364200648e-05 -1261 0.0008226899930007695 -0.0003799542855313785 0 0 0 -9.652748239726407e-06 -8950 0.0011169339561936619 0.00015194203610153755 0 0 0 5.0316878999024145e-05 -1652 0.0006974511541597388 -0.00038248754853281724 0 0 0 -1.0053741179511437e-05 -5821 0.0009552678571224443 -6.595675045109535e-07 0 0 0 4.777448335461482e-06 -1658 0.001125427736158531 -0.0005378803745165999 0 0 0 3.795678195887834e-05 -1673 0.0011359487765855872 -0.0005107805057505653 0 0 0 -2.0558870043626613e-05 -1695 0.001302350739928242 -0.0001282815148146252 0 0 0 0.00012283211261082536 -1704 0.0010031019439026546 -0.00040176980815779774 0 0 0 -2.004882187595403e-05 -1705 0.0008531094606019162 -0.0003960274774813159 0 0 0 -1.2469634296985718e-05 -5952 0.0008582776986055084 -0.00042829397774352037 0 0 0 4.355145166045783e-06 -9997 0.0010223193792421828 2.575328644243802e-05 0 0 0 -5.58761541754854e-05 -1888 0.001205250516775402 -0.0004248926014772709 0 0 0 1.0188153240351902e-05 -1907 0.0007029020752707596 -0.00042205203243480415 0 0 0 5.4817227578662906e-05 -1936 0.0007227627849579698 -0.00042210760543980996 0 0 0 -5.453418050488648e-05 -1949 0.001217006486438406 -0.0003108119482689721 0 0 0 0.0001859338185453197 -2057 0.0009058163444970566 -0.00041268605622120564 0 0 0 -5.931146742207501e-06 -9836 0.0009903066463635274 2.0943514270995546e-05 0 0 0 0.00010496960324100617 -2069 0.0011031968531046265 -0.0006317330836896723 0 0 0 1.170398951988148e-05 -6232 0.0009726226843318011 -0.0006126189315484828 0 0 0 0.0001495663382583453 -2184 0.0007425947736537671 -0.00044741612318660833 0 0 0 1.5790654097517665e-05 -2195 0.0007054974541629318 -0.00038783192894023663 0 0 0 1.7174340753071957e-05 -2217 0.0009870751230150693 -0.0004597078615028387 0 0 0 -1.724188924927643e-05 -2335 0.0011595025667472461 -0.0004639362749331383 0 0 0 -3.411417336781544e-05 -2352 0.0007404795407839674 -0.0004442793234097335 0 0 0 1.672488186412094e-05 -2376 0.0009735750248579944 -0.00012206130858924271 0 0 0 1.0868848621031951e-05 -2379 0.0011299169312612221 -0.0004257218549168393 0 0 0 3.2511708817155165e-05 -8591 0.001116142528740905 -0.00021527150636749072 0 0 0 -0.0006732821202246468 -2966 0.000917997473512903 -5.950530941994642e-05 0 0 0 7.3367241019314886e-06 -2516 0.0010193074857391064 -0.0005951473399033068 0 0 0 -8.613722728870909e-05 -3048 0.0011183275189522756 -5.073277112331344e-05 0 0 0 0.00020106900956397107 -2551 0.0008188913532816272 -0.0005666090818201974 0 0 0 -3.4764797585738816e-05 -2574 0.001262671802121998 -0.0001932755104440603 0 0 0 2.004523681531371e-05 -2589 0.000864299851667353 -0.00040146663618658216 0 0 0 1.1293977194208979e-05 -5211 0.0010126838210320764 0.00021449158023973896 0 0 0 -1.8540599801183847e-05 -2609 0.0009153276259714767 -0.0005561910523318331 0 0 0 -0.0001040814001574157 -2635 0.0008711125837026286 -0.00039194133814731433 0 0 0 3.145958916413332e-05 -2646 0.0009426172690355337 -0.0003908108478573648 0 0 0 -3.15392797524231e-05 -9095 0.000837455931795163 -0.00040440758124226837 0 0 0 2.0974167781330973e-05 -9348 0.0008135659507449302 -0.0003706393996892511 0 0 0 -3.3915863076468336e-05 -9183 0.0006880341293305722 -0.0003701728690675376 0 0 0 6.19770290907877e-06 -2673 0.001168882470902137 -0.00046458026821116245 0 0 0 -0.00014157279089197777 -2712 0.0010752660899022118 -0.0004803344298520293 0 0 0 1.6563952717768772e-05 -9225 0.0013651086279845423 -0.00024144790627340804 0 0 0 0.00016345647976164074 -2835 0.0010150577246804374 -0.0004643387382774029 0 0 0 -9.84954133926077e-06 -2857 0.0009480689785543194 -0.0004245700949716578 0 0 0 8.097543001674057e-06 -2886 0.0010626853048693128 -0.0001554860083744037 0 0 0 3.233272963297741e-05 -838 0.0008822946542109372 -0.00038943791467948105 0 0 0 4.376344609698305e-06 -2939 0.0008399570160237517 -0.0004436266029828139 0 0 0 -2.2510709700604863e-05 -2975 0.0013198911872610228 -0.0001663149858630816 0 0 0 2.155640978313073e-05 -2987 0.0009770399810165725 -2.4093934658946963e-05 0 0 0 -2.9729151857223454e-05 -2996 0.001131466185497881 -2.1617063361534606e-05 0 0 0 4.9368082584571525e-05 -3047 0.0011754603093057485 -0.00031315487903494336 0 0 0 -9.54737260928033e-05 -8780 0.001117896537420202 -0.0005067561351054721 0 0 0 -1.8657360891065344e-05 -3909 0.0008690296817646239 6.835590840578558e-05 0 0 0 0.00014602635945967 -3104 0.0010513725788674942 -0.0002314968344991315 0 0 0 1.5603282583539613e-05 -3917 0.0008673302175454108 -0.0003875038693988842 0 0 0 -1.1245963228870475e-05 -3184 0.0007807405523197163 -0.00043982619049433703 0 0 0 2.4142619373841e-05 -3225 0.0010237686254058707 -0.00047044410956378365 0 0 0 2.242072479913522e-05 -9862 0.001041691752083803 -0.00047838475299929095 0 0 0 6.5815570734095864e-06 -3261 0.0009974258044351929 -0.0004524530781616823 0 0 0 1.1700581273131777e-05 -3262 0.0011002391987071465 -0.00032981346611184057 0 0 0 -0.00032162019351508823 -3413 0.0011169542328286074 -0.00032062493794095145 0 0 0 -1.229081075158581e-05 -9485 0.0011638024314258718 -0.0001366901032630665 0 0 0 0.0007506796951370508 -5528 0.0009879938925250352 -7.53547936368539e-05 0 0 0 -3.5670951861616887e-05 -9536 0.0009686661411185577 -0.0004716003351345287 0 0 0 1.1234319803304279e-05 -3563 0.0009567026479991557 -0.0004928128953688412 0 0 0 2.719037681218557e-05 -3565 0.000806392863948848 -0.0003895922052789986 0 0 0 1.2485768126051316e-05 -3581 0.0008223551619308092 -0.00041872326244375924 0 0 0 5.012130432522615e-05 -3596 0.0011746534471458782 -8.419762440723744e-05 0 0 0 0.00041081370011765195 -3688 0.0011372319474905843 5.6437693681168864e-05 0 0 0 0.0005999168570267415 -3715 0.0008572230837417411 -0.0005915218918324893 0 0 0 0.00011243717216516779 -6613 0.0011033635896622095 -0.00027052715472451836 0 0 0 2.594007845197557e-05 -8932 0.0012697611688059973 -0.00010132755847521426 0 0 0 -8.01414154805164e-05 -3820 0.000804722182118965 -0.0004067210972852388 0 0 0 7.004790499206718e-06 -4486 0.0008566092158568373 -0.0004140232746399866 0 0 0 6.884645189434598e-05 -5359 0.0008579716383834972 -0.00026885873127692386 0 0 0 0.0003221065347542075 -3905 0.001093578683211543 2.754868484699574e-05 0 0 0 4.396380803576154e-05 -3928 0.001128594946297597 -0.00015904653444520013 0 0 0 7.523311644688457e-05 -9626 0.001219740707339603 -0.00039084370173954797 0 0 0 1.8887924216110507e-05 -3970 0.0008279465980182301 -0.00031928138074782637 0 0 0 -3.7071974777206095e-05 -3988 0.0010611729155867047 -0.0005991093622606414 0 0 0 -4.612174481038097e-05 -9747 0.0010813695456434816 -0.0004949372234704604 0 0 0 1.808731655503587e-05 -5041 0.0007571957194327121 -0.00042033455821154173 0 0 0 1.0200983196971462e-05 -1100 0.0009765685678656624 -7.281800579697171e-05 0 0 0 -5.7730923969666096e-05 -4183 0.001113003154484843 -0.0004669768773628675 0 0 0 -1.9004639820088962e-05 -4199 0.0009759031387015466 -0.000432945750589034 0 0 0 6.653973619059903e-06 -8682 0.0009851023359883776 -6.0601304844145334e-05 0 0 0 -4.193991845320317e-05 -4234 0.0008204577245045266 -0.0006028489060423326 0 0 0 2.6750903658475376e-05 -4244 0.001198204349121929 -0.00040891784442428366 0 0 0 1.3144699140113602e-05 -4245 0.0010625640799484702 -0.0002487824353170194 0 0 0 -2.165292749845473e-05 -4248 0.001083708416181683 -0.00022340196414541522 0 0 0 -2.6710376970635067e-05 -9981 0.000977830399799667 -2.5068810839023533e-05 0 0 0 -1.6327106328437216e-05 -4332 0.0013490913209967606 -0.0003223547432771652 0 0 0 -7.067812412162992e-06 -4334 0.0009748577055725055 -0.00010738287308052897 0 0 0 -1.9035252808660555e-05 -4348 0.0008157870541501546 -0.0005962919592164955 0 0 0 -1.712911582579984e-05 -8125 0.0007944026014980872 -0.0005709259028800569 0 0 0 -0.0003595115093415447 -4370 0.0007382964991156495 -0.0003905699604319016 0 0 0 6.300137168804107e-05 -796 0.001106895873196334 -0.0002891861686866826 0 0 0 -3.69987633566872e-06 -4798 0.0008678780058215222 -0.00037596328020252014 0 0 0 2.360941899329602e-05 -4426 0.0012591182399568077 -9.986027519025522e-05 0 0 0 7.09090688739966e-05 -4469 0.0011971487807838264 -0.0002918771681106197 0 0 0 0.0001768983354260323 -4471 0.0010882505048848841 -0.00047949401674132633 0 0 0 -2.845307558515183e-05 -4481 0.0007920854420962611 -0.00033090515406268155 0 0 0 2.9502613329797018e-05 -8501 0.0009776147829938288 -5.5188620318601296e-05 0 0 0 2.6367662028314727e-05 -1887 0.0010101703694241164 -4.104780789050517e-05 0 0 0 2.395929224977978e-05 -4539 0.001244028769063989 -0.00017279979086377834 0 0 0 -0.00013641167262539057 -4541 0.0006968121479592724 -0.0003877754740060614 0 0 0 3.8174520231476107e-05 -4560 0.0011308965033319364 -0.00046245874600333225 0 0 0 -9.137030664986549e-06 -4579 0.0009637735106430358 1.5080871759290872e-05 0 0 0 -3.199204259460742e-05 -4607 0.0011073142003911742 -0.0006346539109399391 0 0 0 -2.541105685253236e-05 -4638 0.0011445646715682715 -0.00046032631342079095 0 0 0 -4.4371624967996916e-05 -4639 0.001028919843353728 -0.00046302262576665464 0 0 0 1.866413824538021e-06 -4653 0.0007453239335562535 -0.0004480138960258275 0 0 0 -1.8751610786804052e-05 -4656 0.0012057138472771703 -0.00010430061335882678 0 0 0 6.882596607073572e-05 -8858 0.0009635291814572139 -2.4291120499704868e-05 0 0 0 3.3030998651501264e-05 -3375 0.0009700989232926774 4.133033947165264e-06 0 0 0 -1.930201046543577e-05 -4676 0.0012506902301476074 -0.0004120093376676535 0 0 0 5.6027581873396255e-06 -7483 0.00085083556301916 -0.0003745033113738543 0 0 0 -5.910653416827186e-05 -4729 0.001029919973509251 -0.0006387401736749745 0 0 0 -2.491859423843014e-06 -4744 0.0009707507104265712 -0.00015424529859769308 0 0 0 3.8848180583618586e-05 -4751 0.0010583380949909362 -0.00047077339859023863 0 0 0 -3.4820705534646096e-05 -851 0.0008006181568332907 -0.00037848197572142614 0 0 0 4.159255634120261e-06 -5835 0.0009642006245939319 4.532570586773114e-06 0 0 0 -1.1322326092740509e-05 -9174 0.0012389881786991372 -0.0001150200353140547 0 0 0 -2.4958116128900357e-05 -8421 0.0008228289433475668 0.0002042119214606223 0 0 0 -0.0004882851597886462 -4814 0.0010952188659553034 -0.0005954174672090981 0 0 0 -7.271181364195796e-05 -4845 0.0007524691166159429 -0.00040833061785333364 0 0 0 3.819589758805105e-05 -4851 0.0006899561608760543 -0.0004423455568501217 0 0 0 -6.20194756024597e-05 -4929 0.0011189090298608757 -0.0006364221000088046 0 0 0 -2.1533817906488348e-05 -4944 0.0007669007378194423 -0.00043082047706287374 0 0 0 -9.653312575088328e-06 -4945 0.0007893888598429123 -0.0005778169176613279 0 0 0 1.7487468447397023e-05 -4958 0.003790907004622131 0.0009130155003781231 0 0 0 -0.0003338880289362666 -8776 0.001086558698042765 -0.00022342922614378716 0 0 0 -1.668072932838709e-05 -3229 0.0008005315785231903 -0.00035980607907001383 0 0 0 4.5966414977215825e-05 -9909 0.0010406338086163455 -0.00016623119903280781 0 0 0 -1.0674240356214346e-05 -5088 0.0008658800656338403 -0.00042411975116538465 0 0 0 3.1755749968487584e-05 -5100 0.0008753117596577258 -0.0003663745297941286 0 0 0 3.0265870402526522e-05 -5155 0.0009356953772919667 -0.00041266991569333615 0 0 0 1.2785537586400473e-05 -8699 0.0009402386281298796 -0.0004154145219634691 0 0 0 -3.6363615486332836e-05 -5229 0.001199590478322568 -1.5592333871307045e-05 0 0 0 -1.854738506363002e-05 -5283 0.000661517008369695 -0.0005439799097972126 0 0 0 -0.0008699367142687597 -9578 0.0012962556093852951 -0.00040953509282739664 0 0 0 -2.775715164923976e-05 -8966 0.0011187716866055486 -0.0001249022403207291 0 0 0 -8.478466593230791e-05 -5373 0.0009351182764816065 -0.0004104320211432589 0 0 0 -3.597608730320598e-06 -5431 0.0007731442741328898 -0.0003050481824511806 0 0 0 2.6289657190410942e-05 -5455 0.0012482212125014866 -0.0004908504683494234 0 0 0 6.514901698365572e-05 -5506 0.001111400386548647 -0.0004883074832819388 0 0 0 -6.040683353133882e-06 -5532 0.0009905981006651898 -0.00046550845258202595 0 0 0 -3.095631950085114e-05 -5591 0.0011161120449654771 -0.000563321106655383 0 0 0 -6.898695550609613e-05 -5613 0.0009744202310424881 -0.0004747387628286404 0 0 0 -8.720812922902419e-05 -5640 0.0010715616064375679 -0.00023669342824079518 0 0 0 1.1842301122603047e-05 -5649 0.0007054823015180282 -0.00045098853705876995 0 0 0 3.60020860592708e-05 -5650 0.00114052541173553 -0.00042136297032946245 0 0 0 -0.0001163885388017318 -5664 0.0006782603702194653 -0.00045789852817622854 0 0 0 0.00012203764012044965 -362 0.0008154675186628689 -0.00037153119335988673 0 0 0 7.102699613904936e-06 -5736 0.0010606842822398978 -0.00035439208490783167 0 0 0 -2.5192486798042626e-05 -9897 -0.0011147019831631185 -0.0003045427879816271 0 0 0 0.0011376392355805362 -5799 0.001276214511895054 -2.50285898133053e-05 0 0 0 -4.383366800467914e-05 -4125 0.0009383242568781979 -2.589332524407554e-05 0 0 0 1.3758947421306795e-05 -2539 0.0008608886276198211 -0.0003880666844825708 0 0 0 -4.137697065532292e-06 -2980 0.001071486674107295 -0.00031073651285720466 0 0 0 -2.4724361708160818e-05 -5877 0.0010371764452198745 -5.2721301476443804e-05 0 0 0 5.958006302632016e-05 -5953 0.0011445177405984199 -0.00040848138536324206 0 0 0 0.00019859990030479685 -6136 0.001043071622529053 -0.0003265899167321563 0 0 0 0.0001490816061571388 -6139 0.0010845696416370329 -0.0005609242457239137 0 0 0 3.207712747327253e-05 -9766 0.0009253541942176645 -0.00046776655683761497 0 0 0 -1.428242757022757e-05 -2231 0.00114818509929384 5.413745320016513e-05 0 0 0 0.00016520404391932815 -6264 0.0011187807979609566 -0.0005534441891625659 0 0 0 -9.043709382762098e-05 -8892 0.0009737661632753877 0.0002057078691186819 0 0 0 -4.614567911857448e-05 -9721 0.0023175200142054363 -0.0003684133941754016 0 0 0 -0.0003388919030798042 -6330 0.0011173797677672557 -0.0004818332222622016 0 0 0 -7.262019943703548e-06 -6433 0.0007195243445953165 -0.00040420928862241486 0 0 0 -2.8208540955997026e-05 -3034 0.0007181696288311247 -0.0004278877228610089 0 0 0 1.633654100236309e-05 -7592 0.0005407358522443259 -0.0004852894730635071 0 0 0 -0.00045978571850519814 -9491 0.0009638195485083831 -1.6417265481245608e-05 0 0 0 1.1723098923275207e-05 -6494 0.0012722405131311277 -0.00036466693987887295 0 0 0 -1.8654229813022343e-06 -9516 0.001126250493040422 -0.0004802877387920629 0 0 0 3.777722675520979e-05 -6514 0.0013024859816055559 -3.638541565487834e-05 0 0 0 -1.8419036332553896e-05 -6538 0.0011211983510776929 -0.0005685171628747708 0 0 0 -3.7712324749075444e-05 -6545 0.0009265891991181099 -0.0004495652422067143 0 0 0 -2.7175449725328494e-05 -9366 0.0009505022702285099 -0.00044500879871237146 0 0 0 6.289884402886373e-05 -6576 0.0011390132909405166 -0.0005968445180121764 0 0 0 6.24573401578582e-05 -6580 0.001146417746140256 -0.000318488506300062 0 0 0 -0.00039218017957018056 -9708 0.0010043606952709525 -0.00044827408951169116 0 0 0 7.167258507304359e-05 -6615 0.0011978136834250254 -9.143438993756777e-05 0 0 0 0.0005373656461905424 -6652 0.0011829311009611 -0.00033740928326245624 0 0 0 -0.00044507946669772796 -6699 0.0009974259380490262 -1.7654179959928406e-05 0 0 0 -2.6536771462280344e-05 -7854 0.0008730304749245073 -0.00040175458483457713 0 0 0 4.970487861462725e-05 -9231 0.0009688315758854864 -5.999896675395583e-05 0 0 0 -2.3623330618247014e-05 -9237 0.0010461717245925065 -5.30478203473476e-05 0 0 0 -5.208535077043597e-05 -2052 0.0007970128536535269 -0.00032253324606162736 0 0 0 -0.0001661602048685399 -6826 0.0010858085961077074 -0.000541640880588298 0 0 0 0.00012930117755287116 -6836 0.0010941239346845997 -0.0006351362087385914 0 0 0 -3.1088047530938954e-05 -6846 0.0008117869364020122 -0.0006199580937396666 0 0 0 0.0009370485008904599 -7688 0.0010529184203485918 -0.00023871992354367071 0 0 0 -1.6167540113615772e-05 -6894 0.0010576601791328574 -0.0004978886588396476 0 0 0 -5.621509315187787e-05 -6899 0.003634011058089395 0.00048736918709617804 0 0 0 0.0011823177390369727 -6984 0.001103956633237682 -0.000262194137894866 0 0 0 2.6419293132446057e-05 -7023 0.0009950571037866415 -0.00034994397053494605 0 0 0 1.9928251107558805e-05 -7028 0.0009568345643635429 -0.00046013828400733004 0 0 0 2.27039468182331e-05 -7070 0.0010878235429435373 -2.344199373954407e-05 0 0 0 0.00016175356077066522 -7100 0.0008029977678258421 -0.0003434975933068104 0 0 0 9.87589261670886e-05 -7120 0.0009423210758461384 -0.00030316292485905273 0 0 0 -0.00023392647542754908 -2691 0.000903724839670113 7.205844549501346e-05 0 0 0 -8.78300402505782e-05 -2669 0.0008826801951926584 -0.0003518720304386433 0 0 0 1.586385739205752e-05 -7272 0.0008114209853696678 -0.0005529664029253492 0 0 0 -0.00010526592030011098 -7357 0.001112869971534948 -0.0003976562250742836 0 0 0 -0.00014515072145512273 -7381 0.001272770796616948 -0.0004537157595031754 0 0 0 6.410714391599368e-05 -7439 0.0007071427599037778 -0.00043295963915249597 0 0 0 4.9738339383364135e-05 -6008 0.0008614049011267895 -0.00034491229722233773 0 0 0 1.8021126148400627e-05 -7524 0.0010795427522032129 -0.000317947122727226 0 0 0 -0.00024075663617516573 -7530 0.0007422105842962192 -0.0004470492001086098 0 0 0 -1.28995615507182e-05 -2899 0.0009659966781738833 -6.45574665738492e-05 0 0 0 -1.296188239376947e-05 -7568 0.0012519933791749628 -0.0003514759575691564 0 0 0 -8.649772170768731e-05 -7584 0.0013260562479911935 -7.122939614844764e-05 0 0 0 1.7095299075930855e-05 -7590 0.0009123787418378096 -0.0004540372490499966 0 0 0 1.555149535152965e-05 -7628 0.0007035040459285245 -0.000446745954789714 0 0 0 2.5769063920301198e-05 -7666 0.0009374749338061789 -0.0003921521620157465 0 0 0 2.81797276469011e-05 -7669 0.0010893280811603678 -0.00029861765406024687 0 0 0 -0.00030480583019160026 -318 0.0011332391513280764 -0.0004278319172859008 0 0 0 -6.291529853010647e-05 -7693 0.0010679628699124762 -0.0006063175946514408 0 0 0 -2.600916815005688e-06 -7727 0.0009711993745656198 -0.00045797189348468635 0 0 0 -7.474574908025387e-05 -7736 0.0009954295561781488 -0.00043380538180792935 0 0 0 -6.901761605322664e-05 -5787 0.001056596435867615 -0.00029475898459372697 0 0 0 -9.863252540945397e-06 -7757 0.0009677533217695499 -0.0004730731731521916 0 0 0 2.9026657966046996e-05 -9141 0.0013107453714460494 -0.0004402510818108043 0 0 0 -7.177547916973714e-05 -7812 0.002100070996482686 -0.0006551084353071528 0 0 0 -0.007119420241781388 -9214 0.0008606476160885948 -0.0004436201804538659 0 0 0 6.530605342908414e-05 -7850 0.0007516537153433765 -0.00044192657427970396 0 0 0 2.874112699641776e-05 -7853 0.0012192940368201126 -0.00010317680032989227 0 0 0 -4.371921426900922e-05 -4057 0.001075888525148274 -0.0003187014887086538 0 0 0 1.0101998183817322e-05 -7921 0.0010868423977941986 -0.00035760577538689455 0 0 0 -0.0006311088169754526 -5038 0.0009710559881407546 -3.785395902983059e-05 0 0 0 0.00010043112847678436 -8019 0.0009557459784905125 -0.0004313469444218043 0 0 0 -3.4933514719825185e-06 -8050 0.0011251764140673465 -0.00014037357323612548 0 0 0 -6.349443682060436e-05 -8055 0.0009319374766597493 -0.00044743604553644875 0 0 0 4.363929642676407e-05 -8061 0.0011556172184652986 -0.00043279627080493 0 0 0 0.00010105188622719645 -9948 0.000882609730940216 -0.0004279082381819789 0 0 0 3.562550540466897e-05 -8804 0.0007064216959514532 -0.0003697340196004768 0 0 0 7.813498862132028e-06 -8176 0.0015596895553189258 0.00017431918840698206 0 0 0 -0.00034476456033437597 -9901 0.0009651914901491112 -0.00039431810344957036 0 0 0 2.8547022121823815e-05 -3033 0.0009341638846551499 -0.0004225453461487987 0 0 0 4.039904706954395e-06 -8226 0.001017434536378838 -0.0005005341972878582 0 0 0 8.539644119003689e-05 -8249 0.0011092593618419353 -0.0006122251574851424 0 0 0 -5.292193683011924e-05 -8258 0.0013802935207552526 -0.00011771274645146813 0 0 0 -0.0001541925802886418 -8272 0.0012023874834251418 -0.0003383949353925021 0 0 0 1.020559819376016e-05 -4727 0.000962227416541018 -9.205194092986395e-05 0 0 0 -2.4673545828446358e-05 -8796 0.0008163319278931194 -0.0005560631342961781 0 0 0 0.0001680871408958273 -8336 0.0008447325440751768 -0.0003846687610153849 0 0 0 -3.735425161197348e-05 -8456 0.0010289555890675055 -0.0005042584100759255 0 0 0 -8.966649895030999e-05 -8457 0.0008126161827088927 -0.000388741315559349 0 0 0 8.640650081173886e-06 -8466 0.002024999409795226 -0.00017417898465663914 0 0 0 0.01672280036972964 -9026 0.0007793153119448506 -0.0004234233218863395 0 0 0 3.5287634561612765e-05 -8509 0.0008429922008093828 -0.00038292618604977423 0 0 0 2.2937326674375634e-05 -8523 0.0010270513154844658 -0.0004967799789554116 0 0 0 2.7456105054378614e-05 -8538 0.0007217966667512787 -0.00047234684602555496 0 0 0 1.0605994323860335e-05 -1858 0.0008242205514058081 -0.00035780012337229434 0 0 0 1.7092806868526184e-05 -9568 0.0009154366713867073 -0.00040770654055345045 0 0 0 -6.440254740974587e-05 -8698 0.0007404759126913364 -0.00036799642075629 0 0 0 -9.991410068953103e-05 -8730 0.0010152026305243846 -3.300781355271508e-05 0 0 0 -1.4649677007882174e-05 -8738 0.0009821384242426749 -5.368648394981702e-07 0 0 0 1.4197036452079866e-05 -8747 0.0011222265320919827 -0.00014935765757092574 0 0 0 -1.4822608684397439e-05 -8773 0.0007359060563666328 -0.0003962469023757601 0 0 0 -5.714577490326208e-05 -616 0.0009324616710438032 -5.271267689488009e-05 0 0 0 -3.278396891122969e-06 -9331 0.0010376830909795743 0.000374684923881778 0 0 0 8.80876209015794e-05 -3240 0.0007852911924107674 -0.00033356161829678667 0 0 0 9.638993273038468e-06 -363 0.0008512366000918769 -0.0003752378550205518 0 0 0 4.901517371463547e-06 -2525 0.000975686697944607 3.699530972588562e-05 0 0 0 1.1193559254732669e-05 -4668 0.0011071173785019888 -0.00010683387947727384 0 0 0 -0.0001490099997450759 -1336 0.0008495136355353 -0.0004004547122735716 0 0 0 -8.394840138913434e-07 -8290 0.0008163998981940261 -0.0004176820733020147 0 0 0 6.970949288205393e-06 -3488 0.0008055122520267204 -0.0004127203028826434 0 0 0 2.0557110583483214e-05 -6852 0.0008544651849141657 -0.00040732735740242425 0 0 0 9.037057077667156e-06 -8124 0.0007382266798226222 -0.0004362392399016045 0 0 0 2.310931236981066e-05 -9076 0.0008933993672725092 -0.0003523021835755393 0 0 0 1.4940816583602233e-05 -6366 0.0007345125558957542 -0.00032203031848660537 0 0 0 -0.00011302718490957871 -8635 0.001192480371307862 -0.00012382858976606894 0 0 0 -3.0054248928217497e-05 -5729 0.000816194181972644 0.00018249162934383582 0 0 0 0.00041685072175834067 -2967 0.001193464077383961 -0.00012559492504081056 0 0 0 1.7779800208984436e-05 -9013 0.0008094585512492473 -0.0003974090019624382 0 0 0 -6.56347425740598e-06 -45 0.0007157323366838152 -0.0008195331707049031 0 0 0 -5.7813460419908054e-06 -48 0.0005754881267792497 -0.0010406024039561362 0 0 0 -4.944995703907793e-06 -7938 0.001368553575690343 -0.0005240996117302476 0 0 0 -2.174981068017177e-05 -94 0.0007446264390728035 -0.0008288084406419963 0 0 0 -1.4654975369456093e-05 -6722 0.0012851392494043436 -0.0005987234937252873 0 0 0 -7.192462253463715e-05 -127 0.0005335956923707829 -0.0009714499708189316 0 0 0 6.251614745089365e-06 -131 0.0004819042923321531 -0.0007796401953926594 0 0 0 2.918551411485714e-05 -160 0.0010433819824783336 -0.0006392653556385515 0 0 0 -1.7868834844509487e-05 -165 0.0006238073415260698 -0.0007514866466590095 0 0 0 2.9857301607207195e-05 -180 0.0006257670883728593 -0.0009009173746361791 0 0 0 1.2428646580805216e-05 -190 0.0008471105847958457 -0.0007985688870913006 0 0 0 7.986004412215955e-06 -198 0.0008205566759238254 -0.0008739745926332769 0 0 0 -2.435754672222566e-05 -8597 0.000669867959904737 -0.0009964676018131087 0 0 0 -3.657553883153989e-05 -201 0.0006886302274482965 -0.0009171936163697521 0 0 0 9.652240950461831e-06 -202 0.0004401713911938958 -0.0008827575078204587 0 0 0 1.7089700539549095e-05 -206 0.0009722980669451905 -0.0006818561901710352 0 0 0 -1.2719280158360259e-05 -273 0.000922670356593517 -0.0006282868468299988 0 0 0 -9.55886831447921e-06 -307 0.0011775863247730433 -0.0006335399765684031 0 0 0 -9.327944117903924e-05 -5765 0.0007528318448329268 -4.3350215481041617e-05 0 0 0 9.28858293749207e-05 -9912 0.0006462967330630239 -0.000767484080891164 0 0 0 -0.0002025693520112575 -4930 0.0008892442241454909 -0.0008633907006155935 0 0 0 -1.4858627346119125e-05 -438 0.0008919250892278357 -0.0006132158906047023 0 0 0 -1.897137513838735e-05 -441 0.0008069472392630497 -0.0008058255746816594 0 0 0 -7.216896802769194e-06 -473 0.0005759110232312504 -0.0009374945329997443 0 0 0 5.648556515151976e-06 -480 0.00036133374596990784 -0.0009850589325981626 0 0 0 4.095253880503116e-05 -493 0.0006620048384828852 -0.0009786323377681376 0 0 0 -3.6108775491616137e-06 -500 0.0006549349017952839 -0.0007503031483043072 0 0 0 5.006451150257261e-06 -512 0.0006429793928753547 -0.0009377881445127287 0 0 0 -2.1016342481428386e-06 -8968 0.0012216364713166503 -0.0005880032669757811 0 0 0 3.720322329524958e-05 -539 0.001055324984854899 -0.0007280637451019615 0 0 0 -2.158569851728658e-05 -579 0.0006210751851220862 -0.0009996302984085293 0 0 0 1.6589024708682788e-06 -603 4.3724345715146354e-05 -0.0008317653430132689 0 0 0 1.9527621692725886e-05 -604 0.0008120064945346507 -0.0007611780483586768 0 0 0 -1.5817677506691793e-06 -609 0.0003254085813949404 -0.001038634235200974 0 0 0 -1.2859113248034475e-07 -408 0.001020550151419264 -0.0007731281103405792 0 0 0 2.426135638164951e-05 -625 0.0008980019460861435 -0.0007660459132337142 0 0 0 7.158320463892622e-06 -676 0.0008709124082271615 -0.0006297676132210935 0 0 0 -1.139080475580747e-05 -703 0.0006223644621747407 -0.0007396917828504156 0 0 0 2.0540563189521376e-05 -708 0.0006410568935902434 -0.0008310327489387838 0 0 0 8.475701911363047e-06 -9854 0.0007246121722349659 -0.0009235607008001663 0 0 0 -8.675274267967852e-06 -724 0.0005688547157972715 -0.0009894286301158613 0 0 0 8.86932604210866e-06 -6411 0.0016608444068065289 -0.0004850032849630268 0 0 0 -0.0002864155523386122 -742 0.0006702979920251179 -0.0006820046808881003 0 0 0 3.116407115258785e-05 -5744 0.0009673214803488698 -0.0005322497373357911 0 0 0 0.00011179483846401859 -751 0.0005758219977355417 -0.0009110151357104606 0 0 0 1.0277167527874443e-05 -757 0.00028465048340077585 -0.0010281736647922994 0 0 0 -1.803165345988854e-05 -779 0.00140942790095069 -0.0005680056959808946 0 0 0 -0.00015538195047653093 -780 0.0008457124317886906 -0.0006885435039648819 0 0 0 -9.83880665205649e-06 -784 0.0009281005050344018 -0.0007426430227653497 0 0 0 -1.9776448888264387e-05 -790 0.000807580550363844 -0.0004926460727402556 0 0 0 -1.7087695035872295e-05 -792 0.0006106672434705162 -0.0009451540515712617 0 0 0 -8.774079356592093e-06 -9381 0.0007178294190629355 -0.0008909068975910659 0 0 0 -0.0001272779737358217 -825 0.0006902551139600923 -0.0009119264065133634 0 0 0 -1.3667388065218989e-05 -1767 0.0007530126682709678 -0.0007506028744582789 0 0 0 -2.1724694153248236e-05 -890 0.0006544444876437408 -0.0006287242701231377 0 0 0 -2.2650972886069298e-05 -923 0.0007877897872400079 -0.0009178438615532054 0 0 0 5.081958549759891e-06 -953 0.0009166973845312955 -0.0006692361913316106 0 0 0 -4.476042560597948e-06 -9477 0.0006165258926390299 -0.0007785220736450735 0 0 0 -4.352267234647892e-05 -9395 0.0014071735578109561 -0.0006306425609880249 0 0 0 0.0012919964991429463 -990 0.0009223520476619614 -0.0008660851721123338 0 0 0 -5.517005748514891e-05 -8559 0.00023615159711249965 -0.0009737727610397306 0 0 0 0.0001851761707276193 -1013 0.0005110549718668983 -0.0010275687135644562 0 0 0 -8.965164507917323e-06 -1019 0.00020355564500435568 -0.001000623772580123 0 0 0 8.968486017827686e-05 -7043 0.0003612644117792 -0.0009825063161911737 0 0 0 -8.445985630929214e-07 -5801 0.0003632995454336984 -0.0006308916949483003 0 0 0 0.00010755007965935797 -1038 0.0009538975958668844 -0.0007320963065357164 0 0 0 1.3103883103712056e-05 -1040 0.0007669660947447904 -0.0008225126307998865 0 0 0 -4.169323347523629e-06 -1046 0.0007013648667180345 -0.0008604681324984242 0 0 0 1.0380121807068528e-06 -1053 0.0006050725750616542 -0.0009733866336557042 0 0 0 6.268515722083196e-07 -1057 0.000651520449362741 -0.0008176473436173643 0 0 0 -5.398428867890367e-06 -1115 0.0011956822642797476 -0.0005911182497145059 0 0 0 -5.037709934446975e-05 -1134 0.0009010322397947886 -0.0007424237537681026 0 0 0 1.4511454306787552e-05 -1152 0.0006174168263458012 -0.0007748370121948607 0 0 0 3.7268508645050145e-06 -6156 0.0007242565624675081 -0.0007782281679645074 0 0 0 2.0393416634952046e-05 -9677 0.0007620874749813249 -0.0007361483669649498 0 0 0 -4.7204427766429873e-05 -1249 0.000773200063838369 -0.0006830821912377714 0 0 0 6.2179290576453214e-06 -1272 0.0005953017943257402 -0.0008337030698015497 0 0 0 -1.3184410453452193e-05 -1317 0.00044387491303836575 -0.001009150639790453 0 0 0 8.527880248594433e-06 -1329 0.0007781302215453172 -0.0007396235534810051 0 0 0 -7.386921710432943e-06 -1344 0.0009932414659168936 -0.0007050597394982127 0 0 0 -1.2075187912602647e-05 -1349 0.0006628125563514643 -0.0008396388719452273 0 0 0 5.931635141294222e-06 -1350 0.0006337915765976216 -0.0007823842293753019 0 0 0 3.8647159832230616e-06 -1372 0.0007354095664028014 -0.0006119743344385609 0 0 0 -4.818635680990421e-06 -7939 0.0007241883281133345 -0.0008042795592784351 0 0 0 3.038725344600061e-05 -1389 0.0005052461306829361 -0.0010288623695196139 0 0 0 -2.5068792801245407e-05 -1414 0.0007116136063363014 -0.0008447439926714467 0 0 0 -2.368993077607982e-05 -9882 0.0007162880291868532 -0.00074732957064562 0 0 0 3.039794590799419e-05 -1425 0.0006295696428972453 -0.0008116475131704769 0 0 0 1.536533495634517e-05 -6552 0.0006845878190849081 -0.0006720104908304636 0 0 0 3.100226466280368e-05 -4293 0.00047408146329824884 -0.001014763140167885 0 0 0 5.29920412355993e-05 -1499 0.000831928455532002 -0.0007739243694376765 0 0 0 -7.466784145172115e-06 -1509 0.0006038026726587375 -0.0008691645086810837 0 0 0 1.275858987301541e-05 -1526 0.0014532696297563411 -0.0005502245546573219 0 0 0 9.802235293471463e-05 -1557 0.00035556967323476944 -0.0006940210960921689 0 0 0 1.6956822978307716e-05 -5174 0.000848466002804059 -0.0008304625922820283 0 0 0 3.8204800413925076e-05 -1581 0.0009004067427432632 -0.0005494673550871221 0 0 0 -8.207030738828993e-06 -1596 0.0007805638111295527 -0.000710762721177119 0 0 0 -5.654049964861621e-06 -1606 0.0008488243752204114 -0.0006238390115596502 0 0 0 -2.3259024135477364e-05 -1617 0.0008484086317589819 -0.0004935529621762594 0 0 0 -9.403102668204623e-06 -1621 0.0007900587339472981 -0.0006347981613994207 0 0 0 -3.6410870159260136e-05 -1624 0.0008102070463490845 -0.0007018849737875335 0 0 0 -1.369476750346134e-05 -1135 0.0003460438876003999 -0.0010072845125409422 0 0 0 1.8722022023747144e-06 -1649 0.0006216671018886993 -0.0007364165662008221 0 0 0 -5.515408800124593e-05 -1656 0.0009394998721340804 -0.000632658120879622 0 0 0 -1.9545989704472266e-05 -9687 0.0008534484997431008 2.7021532310775507e-05 0 0 0 -0.0013748172412734556 -1694 0.0008391588399007698 -0.000731369951849116 0 0 0 -3.107049526806917e-05 -1729 0.0005591076304597687 -0.0008954700614742597 0 0 0 1.1274991840465996e-05 -1731 0.0005626799842878403 -0.0009673222053574718 0 0 0 7.2968808353972055e-06 -3702 0.0013981674573974108 -0.0005722825433915568 0 0 0 1.909619206114601e-05 -1782 0.0006599947071242666 -0.0009248220163656579 0 0 0 -2.3167155290579356e-05 -1811 0.0005966476681289923 -0.0010102792847152353 0 0 0 3.7161532838443505e-05 -1367 0.0004121921725788983 -0.001008254142006383 0 0 0 -2.184985942600774e-05 -1842 0.0009625410749687588 -0.0006476423752224327 0 0 0 -6.336823952457917e-06 -1847 0.0008379840900023428 -0.0005340354322622548 0 0 0 -6.616585525605465e-06 -1853 0.0006824907448640049 -0.0008766607757730895 0 0 0 9.985639581239277e-06 -1854 0.000858105832577049 -0.0007878138018595501 0 0 0 -4.8686521436296296e-05 -1902 0.0011339201797099894 -0.000605858186330921 0 0 0 -3.3590540847771756e-05 -1911 0.0007866129459718044 -0.0007945058524877093 0 0 0 -1.2486434170153052e-05 -1935 0.0007894942837286094 -0.00090213156227417 0 0 0 5.105306049104176e-05 -5187 0.0012552748466891884 -0.000602579830058273 0 0 0 -0.00047612143460612917 -1952 0.0008737962716130513 -0.0005934604857317234 0 0 0 -8.799127974836696e-06 -5473 0.0013979111176538532 -0.0006511400629530212 0 0 0 -0.000924693992167434 -1976 0.0012087700169359072 -0.000612963899025931 0 0 0 -3.293235087869127e-05 -969 0.0008206595420253587 -0.0007263600805411076 0 0 0 2.4306339979875118e-05 -6465 0.0007830571286623442 -0.0006652983592796529 0 0 0 -5.073985882607794e-05 -2078 0.0003303763054776691 -0.0008317718181757534 0 0 0 0.00011178684475053114 -2087 0.0005171635491934129 -0.001039289008249951 0 0 0 1.0040596577463781e-05 -2088 0.0006176599592240306 -0.000959728837149772 0 0 0 1.342111026225431e-06 -2098 0.0004182271733801073 -0.001041995983471119 0 0 0 8.00306112934028e-05 -2103 0.0005900345367263467 -0.0009262483839864655 0 0 0 -1.2204992343138313e-05 -2111 0.0009486717952633272 -0.0008353124728043011 0 0 0 7.479772139432685e-06 -5616 0.00015168603676733096 -0.0013349259559055579 0 0 0 -0.00013411353419763577 -2144 0.0008375833871679843 -0.0008191857081284992 0 0 0 -5.313390297789731e-05 -2145 0.0005997625343058371 -0.0009136910347359834 0 0 0 -2.6940467903533877e-06 -2150 0.0007730244649792427 -0.0008586459870371078 0 0 0 1.1384444321568418e-05 -2215 0.0010171851813621927 -0.000678196412828804 0 0 0 3.608515979425361e-06 -9224 0.0016876512102906246 -0.00042851908373392754 0 0 0 -0.0005137481252382375 -2264 0.0008817632705869702 -0.00073170292299582 0 0 0 -4.560090375410873e-05 -6717 0.0005589876511723072 -0.0008756011497408126 0 0 0 0.0001505312165126269 -9482 0.0008773335408560069 -0.0007488623267884656 0 0 0 -5.800300729767581e-05 -2285 0.0006062517650658929 -0.0008989109379976781 0 0 0 -1.3132603114196569e-06 -2288 0.0005966594993180921 -0.0007974627689444778 0 0 0 2.9917165399702467e-05 -2312 0.0008523807748046495 -0.0008046690956774369 0 0 0 5.733300961463029e-06 -2356 0.0008146925860044151 -0.0008460230852131283 0 0 0 -4.933173171134585e-05 -2387 0.00036068022806899934 -0.000898996757391411 0 0 0 -2.25765243534385e-05 -897 0.0014513684678167152 -0.0005008380897897349 0 0 0 -6.098136139629435e-05 -2423 0.0006407950197117164 -0.000923426530292008 0 0 0 -2.6934441891786994e-06 -2429 0.0005961820557671666 -0.0009817747469595406 0 0 0 2.425629619639217e-06 -9559 0.0007796277121635698 -0.0007247014050520105 0 0 0 3.548359242483637e-06 -1846 0.0007511735729077498 -0.0006792006505445243 0 0 0 1.607386516385046e-05 -6092 0.0016560724036610002 -0.0004962851854027913 0 0 0 -9.854391726972577e-05 -2499 0.0007731509204590584 -0.0007901964099909366 0 0 0 5.801606738185443e-05 -6628 0.0004666987108008807 -0.0011738418201632688 0 0 0 0.00011501792367136737 -2564 0.0008087730660900106 -0.000725149355204927 0 0 0 -2.5546446066290132e-05 -6660 0.0007583643052320446 -0.0009035620962777776 0 0 0 9.220503596608543e-05 -2578 0.001159181670114301 -0.0005737534332186372 0 0 0 -5.078445818441946e-06 -2478 0.0009093164351653733 -0.0008513837331593639 0 0 0 -1.1709647897268287e-05 -2604 0.0006571642022935374 -0.0007149722749788817 0 0 0 -1.2999990006691674e-05 -2612 0.0003693249077475628 -0.0007192383443518515 0 0 0 2.927217719119043e-05 -2643 0.0009318019926405198 -0.0007944982599198726 0 0 0 -0.00010085939239438096 -6397 5.62493138874689e-05 -0.0008108748308432278 0 0 0 9.394382568931167e-05 -2680 0.0006095951643117945 -0.0008703442866153599 0 0 0 6.128637341698065e-06 -2698 0.0005988648961124432 -0.0009632041313362841 0 0 0 -3.6398859032668788e-06 -2708 0.0005850379196289757 -0.0008957313324927293 0 0 0 6.235043089119445e-06 -2738 0.0008218695627785364 -0.0006163842798345549 0 0 0 -2.000423881195176e-05 -2774 0.00020307249114062337 -0.0008945674448704547 0 0 0 0.00016144183421505943 -2783 0.0007945932111956234 -0.00048355854637803064 0 0 0 7.146248827382482e-05 -2791 0.0010251351563380156 -0.0006854285384315747 0 0 0 5.283093466516e-05 -2811 0.0010845194868494587 -0.0005820170562588977 0 0 0 -3.086117091800604e-05 -2821 0.0008398108301555288 -0.0008859757574978284 0 0 0 -1.8721037088473235e-05 -2824 0.0005630327331761545 -0.0005958820829493898 0 0 0 3.604365638871206e-05 -2877 0.0013339768008344087 -0.0005537253276054516 0 0 0 -0.00010683006566363587 -9615 0.001279239352844205 -0.00056268834949926 0 0 0 0.000555576716054291 -2916 0.0006904557377366664 -0.0008630441023817594 0 0 0 1.3217769612088512e-06 -9458 0.0011154323236990402 -0.0006284194274221228 0 0 0 2.552480146922331e-05 -2960 0.0006374744769078307 -0.0009389932547954892 0 0 0 8.59444534612989e-08 -2965 0.0008450470010375193 -0.0007516127557403319 0 0 0 -1.3276343060479007e-05 -3009 0.0006292408721755131 -0.0009441997377224232 0 0 0 -5.846200533588127e-07 -3014 0.000627119024546029 -0.0009613798448941352 0 0 0 -1.145035524795117e-05 -3017 0.0006472835505464166 -0.0007775806286489853 0 0 0 -3.947278615356303e-05 -3064 0.0007163065783399363 -0.0008739802846050619 0 0 0 -3.186012321453033e-05 -6996 0.0015706359901757352 -0.0004808544617703665 0 0 0 -0.0006166146943111887 -3143 0.0005687771662847788 -0.0009110297128973005 0 0 0 -5.659243245538019e-06 -3156 0.0005786194748275267 -0.0010153238720720628 0 0 0 -7.063476025560821e-05 -3157 0.0008304887821943884 -0.0007359518681373901 0 0 0 -1.985737161262824e-05 -3172 0.0007310353353105736 -0.0006995459211928281 0 0 0 -3.0948959632350955e-05 -3181 0.0007842310266180428 -0.000856277595460047 0 0 0 -9.160281038630002e-06 -3190 0.001088372712849694 -0.0006588144235610002 0 0 0 1.020900064979663e-05 -3202 4.488659749019236e-05 -0.000905465812578035 0 0 0 5.707766928249106e-05 -3204 0.0007072527838198447 -0.0005917274740075401 0 0 0 -9.364621963511266e-06 -3213 0.00046740942289639033 -0.0008765627750508107 0 0 0 -1.522694919903731e-06 -3232 0.0007205572416750002 -0.00066026981709117 0 0 0 4.964635408929113e-06 -3247 0.0005819310801007871 -0.0009569034637733828 0 0 0 5.6013676250290185e-06 -3255 0.0011262221726196819 -0.0007021920627988084 0 0 0 -5.679546768793693e-06 -3269 0.0008230174728147907 -0.0007943587908397938 0 0 0 -1.0232143643015071e-05 -3325 0.0011628677005970942 -0.0006125649247891185 0 0 0 -1.246426343445848e-05 -3354 0.0008216396232087493 -0.0007535790686513569 0 0 0 9.685101391395186e-06 -9892 0.0006892627999388379 -0.0007197458709561295 0 0 0 -6.459090163758998e-05 -3377 0.000867101385435709 -0.0007182250236864795 0 0 0 -3.6214537491511276e-05 -3378 0.0003587812306333711 -0.0010426921209009928 0 0 0 3.5776507357861086e-06 -3399 0.0005378746647005038 -0.0010474910327405503 0 0 0 8.090300423124233e-05 -3426 0.0005234191120542259 -0.0009345816141303181 0 0 0 3.6837449153577456e-05 -7503 0.0005018557803136191 -0.0009886615050705746 0 0 0 6.829244114823321e-05 -3464 0.0006776133076716879 -0.0009487144949006451 0 0 0 -2.2892188617904824e-05 -3467 0.0012609415459271048 -0.0005847048274567248 0 0 0 -0.0001229076858236043 -3501 0.0006224677794239191 -0.0008766575388358692 0 0 0 2.8736442552610712e-06 -3513 0.0008837707854886549 -0.0005192246831250639 0 0 0 -6.606837600938006e-06 -3537 0.0007022068902860289 -0.0008806880770612775 0 0 0 1.4200322357853216e-06 -3571 0.001212238286925769 -0.000658786470774197 0 0 0 -8.915193201197157e-05 -3595 0.0008700944069693848 -0.00053258086801038 0 0 0 -1.4628724064498256e-05 -3623 0.0008046541537974025 -0.0004935096580870114 0 0 0 -0.00011834186083704861 -3625 0.0007227313671205708 -0.0008500652873753132 0 0 0 5.860502001967337e-06 -3645 0.0005921851132403009 -0.0009511554301596128 0 0 0 2.6557023978591027e-06 -3695 0.0006873238316935871 -0.0009085076659343557 0 0 0 -7.777127555799246e-05 -3703 0.0006883942027737967 -0.0008511149303138953 0 0 0 -6.528825866319164e-06 -5053 0.0006293014883253675 -0.0010231617388525595 0 0 0 -6.34060115473061e-05 -529 0.0005298536138454473 -0.0006058126636156824 0 0 0 2.1729781634458385e-05 -3738 0.00059895457679187 -0.000903545007398741 0 0 0 1.5225186640413185e-05 -3767 0.0008873531437366743 -0.0005849129306984621 0 0 0 1.489124405965704e-05 -3775 0.0010740626320685444 -0.0007924648999257455 0 0 0 2.302960395768416e-05 -7348 0.001314086823622306 -0.0009192979843419476 0 0 0 0.00043920510581370884 -3798 0.0006014640169289923 -0.0008756097021010307 0 0 0 1.3499988539976656e-06 -3800 0.0007370968993072085 -0.000848008075166166 0 0 0 1.2303681129996805e-05 -3808 0.0006598963119103915 -0.0008359328961532107 0 0 0 -2.107894210173883e-06 -6645 0.0004231088151046674 -0.0009914004074712537 0 0 0 1.8928959221501896e-05 -3843 0.0006114669627614003 -0.0008887629474513648 0 0 0 6.897385708103733e-06 -3858 0.000825480298292184 -0.0006851613273334567 0 0 0 3.946314793297907e-06 -6119 0.000724597524032254 -0.0006808804626991401 0 0 0 3.423740350109969e-05 -3913 0.0005448716860349226 -0.0009203823855032905 0 0 0 1.7276297978357065e-05 -3926 0.0011076042914652568 -0.000644353955112364 0 0 0 -0.00019102599651038833 -3944 0.0008887260896782575 -0.0005769743275647421 0 0 0 1.1259902149623241e-05 -1524 0.0007936264038695274 -0.0008338044449542092 0 0 0 -2.6040404899565456e-05 -4007 0.0006664555618845523 -0.0009335748819668001 0 0 0 4.1489393600053285e-06 -4030 0.0007093237983401895 -0.0008754736184407165 0 0 0 -1.6325678532378153e-05 -4081 0.0006560267391398973 -0.0009321255359402915 0 0 0 1.1726922706700272e-05 -581 0.0015385998197055065 -0.0005024111388379024 0 0 0 -6.916875466646773e-05 -4087 0.0007250103805269961 -0.0007332034711965657 0 0 0 -1.1556827738615608e-05 -4102 0.0005782570918991648 -0.0008432097723823155 0 0 0 3.435189123752391e-05 -3117 0.0007305602236714681 -0.0007929075942302727 0 0 0 1.7238196052367368e-05 -4111 0.0009094476670764449 -0.0007507359244613117 0 0 0 -7.765345816353095e-06 -4120 0.0008881745324716877 -0.0005867463674108707 0 0 0 -9.79087473652197e-06 -4129 0.0007488583517023928 -0.0007118677824337941 0 0 0 -2.5708467060720037e-05 -4157 0.00035680640935109077 -0.0007941130052124999 0 0 0 -5.482989717366697e-05 -4160 0.0007094301720253173 -0.0008136008109860413 0 0 0 2.3429750163791873e-05 -4193 0.00041201066334914545 -0.0010623459286877657 0 0 0 -3.8863477687456374e-05 -4198 0.0008812989729943754 -0.000567208172588359 0 0 0 -6.8879223980188785e-06 -4216 0.0007418762127553128 -0.0008581600602709007 0 0 0 -8.14726642165485e-05 -4223 0.0006584978465089016 -0.0009849055288606947 0 0 0 -4.290721792994376e-06 -4285 0.0007183908698224454 -0.0008711962185898228 0 0 0 7.3522471682209e-05 -4291 0.0005783531909906913 -0.0008994306146849411 0 0 0 -3.49034718740494e-05 -4330 0.0008795868473453531 -0.0006664869551487844 0 0 0 -2.013464629287079e-05 -4338 0.0008640347723585413 -0.0006975881537419983 0 0 0 6.261146829511028e-06 -9866 0.0006993374977336941 -0.0005172262919770972 0 0 0 1.4930954862462712e-05 -4393 0.0006903241285882456 -0.0009028757369084326 0 0 0 6.675530341404452e-06 -4405 0.0007956256565049049 -0.0009411769328841206 0 0 0 8.591655987100991e-05 -4455 0.0005393037300751855 -0.0010427103408732806 0 0 0 2.6905020728957915e-05 -4462 0.000596497406683191 -0.0008808162988207424 0 0 0 4.054231005407017e-06 -4546 0.00031636932509337225 -0.0010404023444647906 0 0 0 -7.509481114640278e-06 -4582 0.0008171157595516261 -0.000731944866140993 0 0 0 7.966674709250097e-06 -4593 0.0006612410535146173 -0.0008135923090760426 0 0 0 5.699384093190936e-07 -4635 5.870701629392242e-05 -0.000940353428002952 0 0 0 3.159978231907423e-05 -4645 0.00048147906454989694 -0.0010182663883959626 0 0 0 -1.1353261431450506e-05 -4655 0.0009158171593132615 -0.0005499941969061905 0 0 0 -3.2891994079150194e-05 -5603 0.0009155123222951178 -0.0007203546992911815 0 0 0 -1.0006521840854385e-05 -4712 0.0003718788654846531 -0.0009142575127098299 0 0 0 -0.00016226535599109474 -4763 0.0007284838365630423 -0.0006962761906353759 0 0 0 4.882045113720489e-05 -4775 0.0004728014055214679 -0.0009774177881124635 0 0 0 2.0885482517640654e-05 -4782 0.0008654561281301934 -0.0007597639079277902 0 0 0 -2.8977877695317084e-05 -4827 0.0009098846011977493 -0.0007487718802976275 0 0 0 -4.92056651561311e-05 -4889 0.0009997684974752737 -0.0007054629948610804 0 0 0 -5.433864353660431e-05 -4891 0.000778811242200006 -0.0009055408937382078 0 0 0 3.1824445021161973e-06 -4899 0.0006000978678709351 -0.0009159948769718565 0 0 0 3.688722443621475e-06 -4919 0.0006763170278321123 -0.0006827996874248244 0 0 0 -5.78897800404251e-05 -344 0.0007193595242180566 -0.0005622416389475551 0 0 0 2.8595176556838685e-05 -5598 0.0006431269660084739 -0.0009076350628127296 0 0 0 8.333725207307664e-05 -4941 0.0006531787574907882 -0.0008002639256951902 0 0 0 3.0844908320982765e-05 -9003 0.0013880995037824032 -0.0005140134431075149 0 0 0 -9.64421140983695e-06 -4966 -7.090730589894778e-06 -0.0008725295238475787 0 0 0 7.296133992184612e-05 -4984 0.001310854677069693 -0.0007091032578712226 0 0 0 0.00017654564103756655 -9679 0.0006454912527720885 -0.0009789795780497839 0 0 0 2.3925842173623614e-07 -4994 0.0007146487510806188 -0.0008464046609809243 0 0 0 3.791487465850361e-05 -5012 0.0009383213251130465 -0.0007141025546225096 0 0 0 1.2802813489156683e-05 -7013 0.0006197693893561044 -0.0009980054432580088 0 0 0 3.398397048907268e-05 -5077 0.0005458608968408509 -0.0009653468139169682 0 0 0 -7.869905036032649e-06 -9794 0.0006119308490720263 -0.0009869875435346118 0 0 0 9.85594236913493e-06 -5096 0.0006537825600188172 -0.0008491750940925704 0 0 0 1.3889534225145855e-05 -5112 0.0006048308142596023 -0.0008950594181270151 0 0 0 9.044853979109855e-06 -9793 0.0006082452478327138 -0.0007580391856360323 0 0 0 5.497361405658415e-05 -5152 0.0006685619407283926 -0.0007186452260175991 0 0 0 4.051276960721345e-05 -760 0.0013907527797201809 -0.0005215135717108303 0 0 0 -6.234190071480105e-05 -2315 0.0012686171826694994 -0.0006921386715355732 0 0 0 0.0001591864249095111 -6556 0.0003935398295734278 -0.0006386694848988932 0 0 0 1.2524169419334744e-06 -5181 0.0003852998946145048 -0.0009911693820323863 0 0 0 -1.9648613489023067e-05 -9108 0.0008353346008597569 -0.0007683552935435622 0 0 0 -7.844886806896142e-05 -421 0.0007369263383478463 -0.0009574546863020372 0 0 0 -8.175697592191839e-06 -5225 0.0007337623796217476 -0.0008426679239629425 0 0 0 -0.0001212652709638733 -7867 0.0009100156611074992 -0.0007113955994322613 0 0 0 0.00021482257641376742 -5274 0.0006077106596776705 -0.0008618693340435845 0 0 0 2.0051426915828496e-05 -5285 0.0007917461830947526 -0.0007827185333140751 0 0 0 1.80871703354931e-05 -8216 0.0007353785935689884 -0.000673888358075112 0 0 0 3.0993255674142325e-05 -5313 0.0007516109372133685 -0.0008598410922684112 0 0 0 1.3049134920841164e-05 -9779 0.0015633863732931218 -0.0005090207402237161 0 0 0 0.0001704360064450247 -5339 0.0007861169251492145 -0.0005948094048230619 0 0 0 5.138130626083406e-05 -5388 0.0008854459216394628 -0.0005784242285444439 0 0 0 -3.473687511122956e-05 -5398 0.0005701694406367348 -0.0009627143308930709 0 0 0 2.547746188389476e-06 -5404 0.0009385150400358604 -0.0005787849278896362 0 0 0 -4.49886507135455e-05 -5415 0.0007069451125471922 -0.000856981716087472 0 0 0 2.743693089719098e-06 -5465 0.0005970876712834166 -0.0009471365754945386 0 0 0 1.5133144792004022e-05 -5497 0.0007979262835941251 -0.0006901500732804035 0 0 0 -3.75344277421037e-05 -5501 0.0015577118546735362 -0.000705044649885385 0 0 0 -5.2733007571992077e-05 -5522 0.0005830197571004977 -0.0009759536274904014 0 0 0 -7.578517462493504e-06 -5524 0.0001694455190227297 -0.0008923546581810338 0 0 0 0.0003052192080081927 -5531 0.0007158918991577158 -0.0008620937230935972 0 0 0 4.361016689689592e-06 -4347 0.0013972542473437786 -0.000512166192468402 0 0 0 -0.0008153668228009753 -5625 0.0007248964562106709 -0.0006113422778970688 0 0 0 5.388527968239495e-05 -8441 0.000656211022163825 -0.0005785142537198278 0 0 0 2.8910567178457767e-05 -5663 0.0007981486487478446 -0.0007975362161699844 0 0 0 -6.567434895355198e-07 -5668 0.0007859713080392599 -0.0009093544600521673 0 0 0 4.2014533981369235e-05 -5678 0.0013205402468983774 -0.0006839371681572428 0 0 0 5.350939216571053e-05 -5691 0.0007892466527056754 -0.0004671007670146253 0 0 0 -7.096556814768697e-05 -5696 0.0006669447777537187 -0.0006954895622409475 0 0 0 -7.3549483296651555e-06 -5786 0.00026939351323345204 -0.0010119104047020251 0 0 0 -4.168240320855445e-05 -5796 0.0010347620210913106 -0.0006671872440233317 0 0 0 1.7218007272484403e-05 -2017 0.0007253970795021839 -0.0008485089932790217 0 0 0 2.4736121417463286e-06 -5803 0.0007815373450619319 -0.0008093264502527342 0 0 0 2.0233316662747123e-06 -5809 0.0007911338157759871 -0.0006614000522918361 0 0 0 -6.714335437936634e-07 -5853 0.0011857148920497282 -0.0005489586517950206 0 0 0 1.5978016469660215e-05 -5861 0.0006587221732587234 -0.0008322268108751313 0 0 0 3.252917495262048e-06 -9507 -0.0010289943295334267 -0.0012295580935736856 0 0 0 -0.0013486872718991949 -5879 0.0008104528069817344 -0.0007860207752965418 0 0 0 -9.73765787041164e-07 -5882 0.0009138105443326264 -0.0006942607979830391 0 0 0 -2.608125353276015e-05 -5906 0.0006009282647716711 -0.0008857605007271622 0 0 0 -3.4375033888709414e-06 -3902 0.0012981344281435493 -0.0008522514601977497 0 0 0 0.00031684264407470813 -5925 0.0008661316127021295 -0.0005717207050742867 0 0 0 -3.680566609118313e-05 -5939 0.0006788039415357111 -0.0008432855360870301 0 0 0 2.8629671445895506e-05 -5954 0.000810543455976298 -0.0009016858024883403 0 0 0 -5.891607934261376e-05 -5958 0.0007825704056998953 -0.00046706186326958825 0 0 0 7.071192289619985e-05 -5988 0.0010590315534253286 -0.0007616960287666919 0 0 0 -8.429941004669986e-05 -6004 0.0009946260876146959 -0.0006538258431754511 0 0 0 3.2052693808367207e-06 -6028 0.0005705940427905258 -0.0008763796876250211 0 0 0 2.713552417605031e-05 -6045 0.0015022788058418452 -0.0004148489883687765 0 0 0 -0.0003269185038338766 -6049 0.0011687141301705572 -0.0007233164813486453 0 0 0 -0.00011199629432375203 -6843 0.0006796455459026428 -0.0005563147688068762 0 0 0 0.00012641218064124465 -6057 0.0006145848667474311 -0.0009706019953417567 0 0 0 7.509888297125631e-07 -4350 0.00041516923127915334 -0.0006208914452259687 0 0 0 3.989201674139298e-05 -6064 0.0007725787891833014 -0.0008717552449011417 0 0 0 -0.00015264885860734778 -5265 0.0004528141014640924 -0.0010077841728071489 0 0 0 -1.663010456331224e-05 -6067 0.0012379553688763192 -0.0007031994361684975 0 0 0 -6.732635447826366e-05 -6137 0.0007529651018206435 -0.0006913008939973061 0 0 0 -1.556333039260098e-05 -8030 0.0006454401727133929 -0.0005872360830780652 0 0 0 5.1435472582610006e-05 -6176 0.0011788344318722941 -0.0005771733579212397 0 0 0 5.33230306501986e-06 -6178 0.0006612808536439909 -0.0008288751940610158 0 0 0 6.81027067607648e-06 -6179 0.0006647610668058982 -0.0009664380119394315 0 0 0 -5.293339215213817e-06 -6194 0.0007792986437928213 -0.0008284608959069302 0 0 0 -1.9362658754392193e-05 -6247 0.0007130542909510238 -0.0009591658129650062 0 0 0 -1.8434473119660596e-05 -6249 0.0010288601454026733 -0.0006956507067400782 0 0 0 9.42160243060561e-05 -6269 0.0009201007957736437 -0.0007198293697793293 0 0 0 -3.4959565648954375e-05 -6278 0.0009842640363587434 -0.0006961877689816014 0 0 0 1.2140025711440654e-05 -6283 0.0004867453253175543 -0.0008772933529483807 0 0 0 2.8600306460639316e-05 -6314 0.0011257999726872903 -0.0006395365159760375 0 0 0 -5.433461224179434e-05 -6321 0.0006800507339912832 -0.0009008205948798725 0 0 0 1.5313375991769634e-05 -6348 0.0008823543650265871 -0.0006811180031523809 0 0 0 -1.8424773630800296e-05 -6374 0.001029245389745579 -0.0006820018005509081 0 0 0 -6.735637013528195e-05 -6380 0.000685845850203257 -0.0008593685065661277 0 0 0 2.9911628963289574e-06 -6384 0.00038476703533682006 -0.0007128757290582126 0 0 0 -0.00011399533477976993 -6393 0.0009604352138452812 -0.0006573706864687307 0 0 0 -4.160880499309802e-06 -6396 0.0005973436538648308 -0.0008953542381269908 0 0 0 -3.901126999891845e-05 -8114 0.0016103784283637724 -0.0005341870643997931 0 0 0 -5.818647346167906e-05 -6403 0.0011711773747711284 -0.0006541911424309455 0 0 0 -6.640099711529718e-05 -1623 0.0007694079246642098 -0.0007688142837430973 0 0 0 2.950321984583476e-05 -6436 0.0004835111213771029 -0.0010435738832983768 0 0 0 8.753115691244024e-07 -6541 0.000824232609145298 -0.0006811388272760764 0 0 0 -4.457773758328105e-06 -9599 0.00157666565991726 -0.00046466595348976025 0 0 0 2.5883519379029804e-05 -9454 0.0009741543242208276 -0.0006649171881766117 0 0 0 -1.7406833445325462e-06 -1321 0.00021260782000907713 -0.0009079131472511494 0 0 0 7.61574206934433e-05 -6567 -0.0023434699020559117 -0.0009664460357913108 0 0 0 -0.0008557195499655881 -9806 0.001277257427662601 -0.0004623206270449513 0 0 0 4.447478866437432e-05 -2043 0.00041462979151616193 -0.0009754917750963576 0 0 0 3.6631704539090012e-06 -1607 0.0006582810351710525 -0.0006709353209508859 0 0 0 4.941576188209294e-05 -6666 8.885789329847988e-05 -0.0009477530122553598 0 0 0 -9.495689482095113e-05 -5173 0.0007351254288787304 -0.0007896734579772393 0 0 0 3.506863140127344e-05 -6673 0.0010406937696772567 -0.0008108540201643698 0 0 0 -6.45044785277531e-06 -6676 0.0006125862455301283 -0.0008958787107682878 0 0 0 -9.946474764787038e-06 -3477 0.0009569279163475455 -0.0007947351331414035 0 0 0 -4.369808438984989e-05 -6685 0.0007053333671466272 -0.0008616146929021562 0 0 0 1.359141998600665e-09 -6686 0.0007258247264099778 -0.000830330826099173 0 0 0 -2.8217693248643645e-05 -6705 -0.0005637149064931558 -0.002078135940586183 0 0 0 -0.0004513193834647727 -6743 0.0007115953053345238 -0.0008636818186827422 0 0 0 1.4692217305513552e-05 -6749 0.0007868019164810155 -0.0006867179934410984 0 0 0 1.944889935187197e-06 -6752 0.0008033267308782502 -0.0006904032577146763 0 0 0 2.7190566585018644e-05 -6757 0.0008384285485169569 -0.0004619078778072157 0 0 0 -3.618861710579293e-06 -9316 0.0005329300209597485 -0.0009807017669046887 0 0 0 4.955326578866035e-05 -9865 0.0010724203936066348 -0.0010453397680904404 0 0 0 -0.0015082237972145272 -7493 0.0015920045800152818 -0.0005225085385290666 0 0 0 -0.000756019072095477 -6856 0.0008762351256934258 -0.000537743523480421 0 0 0 -2.652868111949419e-05 -6868 0.000555838294048129 -0.0009214346385701635 0 0 0 8.233952183122873e-06 -6875 0.0005989601515127156 -0.000883663566536023 0 0 0 2.4261385384113643e-06 -6880 -0.0017381493938041052 0.002535716334535466 0 0 0 0.0010346348296614168 -6913 0.0002636005924107461 -0.0010106147840459087 0 0 0 1.826499809425128e-06 -6489 0.0007757661195890417 -0.000904479221829624 0 0 0 -0.00011974114614499617 -6921 0.000596224252835723 -0.0008886052257334399 0 0 0 1.84932654088853e-06 -6925 0.0008656085205162482 -0.0006232886201716553 0 0 0 2.9531430490296973e-05 -8136 0.0007636714106763889 -0.0006632132674346198 0 0 0 -1.3749997543838616e-05 -6932 0.0005693016778670801 -0.0009219222054319179 0 0 0 1.378618309383043e-05 -9442 0.0009925677329483441 -0.0005677528689373501 0 0 0 -4.237417413694389e-05 -113 0.0006886060054592583 -0.0007609686959028564 0 0 0 1.7586881401280494e-05 -962 0.0013377269455270102 -0.000724322150606922 0 0 0 -3.0372686906677385e-05 -4280 0.0015590107296660507 -0.0005070271472275778 0 0 0 0.00036899865126005803 -7083 0.0006744240184109797 -0.0007468463325170326 0 0 0 -0.00012118423968362821 -4700 0.0007227824242418542 -0.000766379557684775 0 0 0 4.971907786930037e-06 -5553 0.0007453149131619931 -0.0007701319301740914 0 0 0 5.419180132015236e-05 -7145 0.0009856770367698284 -0.0007749967888582475 0 0 0 -6.457014837605182e-06 -7167 -0.0006269598896355974 -0.001019779674986951 0 0 0 -0.00054643109943958 -7168 0.0007191205988360261 -0.0008667110801707072 0 0 0 -7.457328269177848e-05 -7185 0.000756363870776253 -0.0008456933913960669 0 0 0 -2.977943448385177e-05 -7186 0.00035105205924419546 -0.00070937453587099 0 0 0 9.877011134009004e-05 -7235 0.0013384326250967032 -0.00046162582252064823 0 0 0 1.763859292036216e-05 -7285 0.0004758687888985609 -0.001015531432787415 0 0 0 3.9196374208508604e-05 -7313 0.0008515188915228633 -0.0013020361992931888 0 0 0 -3.206676358532759e-05 -7323 0.0008535054909370401 -0.0008982244709181291 0 0 0 -3.5450376238064014e-05 -7382 0.0007266794527010018 -0.0008449426499191945 0 0 0 -2.1283020150374408e-06 -7393 -0.00022676507270514117 0.00055596631470051 0 0 0 0.000909133459219786 -9717 0.0004558838972191602 -0.0009028651635690002 0 0 0 -0.0001202790841176822 -7416 0.0008257263552422467 -0.0006591927612506856 0 0 0 -2.6768399424939377e-05 -7419 0.0009523539650743526 -0.0007025835834240217 0 0 0 -0.0001055269805696006 -7420 0.0001283123607440813 -0.0009110416859457823 0 0 0 8.858738550024232e-05 -7424 0.0006199857894126795 -0.000822074443405449 0 0 0 1.8756510391502853e-05 -1442 0.0007584959915916112 -0.0007729365995912946 0 0 0 2.1558480786600564e-05 -7435 0.0007257754354214014 -0.0008801719081809859 0 0 0 -4.543295416046271e-06 -1844 0.0007100219868289487 -0.0007907658580922283 0 0 0 -5.3814297467926075e-05 -1978 0.0011151606855444318 -0.0007840176832294779 0 0 0 -9.026669790627483e-06 -7477 0.0009407213773522895 -0.0007876297531999648 0 0 0 -2.1833601366055925e-06 -6861 0.0007143702846953443 -0.0008041528386040292 0 0 0 2.2702134021807284e-05 -7480 0.0006211415666241098 -0.0009876315044946996 0 0 0 -5.442770317105348e-06 -5685 0.001787035164442154 -0.0004966995623433729 0 0 0 -0.00047305050390892867 -8502 0.0014226294135816593 -0.0005727213690451536 0 0 0 0.00011540000289707563 -4963 0.0006632013140978621 -0.0008155561990966308 0 0 0 -8.429443311377854e-05 -9504 0.0006417622626124613 -0.0006988900007349785 0 0 0 -5.460035255308304e-05 -7563 0.00039803944144043985 -0.0007076146922576214 0 0 0 0.0001573990179614636 -7585 0.0009943981576883568 -0.0007947281570765629 0 0 0 -1.484796404059314e-05 -7586 0.0006872683745169845 -0.0008961222827569496 0 0 0 8.521282395041708e-06 -7600 0.0008225186675746773 -0.000614596700275591 0 0 0 -5.410449072374025e-05 -7611 0.0008176098268882282 -0.0006744216250178775 0 0 0 -1.7028017838948567e-05 -7615 0.0007815957583463597 -0.0008771210664859658 0 0 0 5.717997850093637e-05 -7621 0.0008316083472713013 -0.0007576824962088292 0 0 0 2.6797431727382564e-06 -7629 0.0006114184099166275 -0.0008329318258743139 0 0 0 2.7591037435843905e-05 -9916 -0.0004416519142103273 -0.0029297121332299905 0 0 0 -0.002450075505067791 -7636 0.0006722077737979123 -0.0005632852069435067 0 0 0 -5.877583873028824e-05 -7646 0.0007916078986510195 -0.0008744757721506444 0 0 0 2.252703127223987e-06 -7652 0.0006553352689838745 -0.001019339836735545 0 0 0 -9.211695337517229e-05 -7663 0.0009047545619639561 -0.0010021624400119973 0 0 0 0.0008043642537235343 -7673 0.0006678075979262158 -0.0007191460678138 0 0 0 -1.6991115248776435e-05 -3445 0.000718946963848799 -0.0007812582456715795 0 0 0 -9.12234393407518e-06 -7687 0.0009405667558762446 -0.0007114645268462852 0 0 0 -2.4253841810081765e-05 -7714 0.0009454001458328154 -0.0005523255659382872 0 0 0 -4.349818513767353e-06 -7716 0.00017293866581530532 -0.0009852016903613983 0 0 0 0.00026608583420041995 -7742 0.0004733322182330208 -0.0009449393543471015 0 0 0 1.25317508285325e-05 -7747 0.0011105752312428223 -0.0006692062899625813 0 0 0 4.2944953720718604e-05 -7765 0.000958456397979672 -0.0006738246928221608 0 0 0 -3.483300145402822e-05 -7795 0.0006615125202638282 -0.0009375432220448648 0 0 0 1.8936997878500957e-05 -7808 0.0011617205498849557 -0.0005614110601891237 0 0 0 -5.2424582782310445e-05 -7821 0.0007860372704738903 -0.0008356418373648976 0 0 0 0.0001311077090822124 -9345 0.00034245329404579997 -0.0010047379289349378 0 0 0 3.3134531041763086e-05 -9048 0.0007300493238814278 -0.000840781199366333 0 0 0 6.404557935700355e-05 -1302 0.0015679226553426465 -0.0005407880566196732 0 0 0 -0.0001156412013249506 -9370 0.0007723133483251059 -0.0007558477092484453 0 0 0 4.1345360808329806e-05 -7878 0.000747497616098205 -0.000833927378880772 0 0 0 -6.017436554455347e-06 -7909 0.000650996365696395 -0.000886956479838346 0 0 0 4.5077979627443105e-05 -7926 0.0007579764602972405 -0.0008087556416863604 0 0 0 -1.4454945034004623e-05 -7489 0.0006810934450640577 -0.0010272004084136606 0 0 0 -8.167412271218825e-05 -9996 0.0011057834411477465 -0.000819388437013731 0 0 0 -0.00010752344251095275 -7944 0.00043510174673800777 -0.0008102041643871193 0 0 0 1.1199430725213823e-05 -7968 0.0008731373277815747 -0.0005702899210367243 0 0 0 -4.326643360709969e-05 -7979 0.0009274662220206361 -0.0007043859571440604 0 0 0 -5.563700935729661e-05 -7677 0.0004466435920507868 -0.00113409437459416 0 0 0 -0.0003956889963111233 -8020 0.0006607614052502958 -0.0006103586691479411 0 0 0 7.826849472886729e-05 -9855 0.0007769402971584507 -0.0007655831720420578 0 0 0 -5.391117175361218e-05 -8052 0.0003629339720166848 -0.000985770293411438 0 0 0 1.276012368670952e-05 -9675 0.001379493035096763 -0.0006269412242218361 0 0 0 -0.00014481972600981097 -8073 0.0008233893700816884 -0.0007053534897654305 0 0 0 -1.4298607046158286e-05 -8079 0.0011082373750308815 -0.0006808899362431952 0 0 0 0.00024763511232029023 -524 0.0004914390217125732 -0.001026398733488979 0 0 0 -5.957458210656141e-07 -8092 0.0005717229903908105 -0.0008129503628995439 0 0 0 -3.744023288916811e-05 -8097 0.000838915459830342 -0.0007662453606505151 0 0 0 1.2787500362353479e-05 -8146 0.0006150423821873613 -0.000710430989141162 0 0 0 0.00014558227856297326 -8152 0.0008637685472162759 -0.0007641602761003612 0 0 0 -1.989065145636378e-06 -8179 0.0010355645398808146 -0.000682308448173385 0 0 0 -6.528703939768374e-05 -8205 0.001077902304777801 -0.0006184041655137448 0 0 0 -8.198490330352742e-05 -5256 0.0007147347902961427 -0.0009719442276133661 0 0 0 -4.605963433012536e-05 -8213 0.000820512139646616 -0.0007510030383269886 0 0 0 -2.182268053049131e-05 -687 0.0007628915431075031 -0.0006797405301736294 0 0 0 -1.7338645753165156e-05 -8219 -7.422296704419417e-06 -0.0008455360484962835 0 0 0 8.201067721620429e-06 -6837 0.0007680811172552025 -0.0007939344157753687 0 0 0 -3.574196482679851e-05 -4862 0.0007560587789043529 -0.0007980357984170211 0 0 0 0.00010130242264087788 -8291 0.0008701073493081811 -0.0005900516897884837 0 0 0 -8.354514792318547e-06 -8311 0.0006531780934231843 -0.0008242686262468372 0 0 0 1.3012222250614468e-05 -8340 0.0008128480809551251 -0.0006104106463262248 0 0 0 -2.0456523639799777e-05 -8353 0.0013844993851862568 -0.0006146555186948475 0 0 0 -0.00039456471851704054 -8355 0.0008610985726726521 -0.000526065274996174 0 0 0 -4.528078372574222e-05 -8357 0.000753857421771235 -0.0006927696384344729 0 0 0 6.197537605163542e-05 -8366 0.000984924373329503 -0.0006919202591009401 0 0 0 1.4757938429031773e-05 -8387 0.00177324111426389 -0.00020488965638771492 0 0 0 0.0005933523508276198 -8414 0.0031584733635865595 -0.0020184082751741536 0 0 0 -0.0015928369433213536 -8422 7.239034085249298e-05 -0.0008185053365820535 0 0 0 -6.102217715266916e-05 -8430 0.0008755018074041029 -0.0006884494610440848 0 0 0 -1.1411634796213302e-05 -9974 0.0009055080447811782 -0.0007594932488224707 0 0 0 -9.057743410467302e-05 -8471 0.0008084594030415023 -0.0006285393528167912 0 0 0 -3.1943242545891476e-06 -7036 0.002106984906423386 0.0004620926568860773 0 0 0 -0.00021763613217158203 -8546 0.0010091835641420812 -0.0007011444055552008 0 0 0 -9.018960193682806e-06 -4873 0.001500826284214568 -0.00040004072040434224 0 0 0 5.8376103049263206e-05 -9513 0.0004924160565127834 -0.0009738239138838907 0 0 0 3.755441936322617e-06 -8562 0.0010110799254173844 -0.000693877313425061 0 0 0 -3.2238725548418795e-05 -8576 0.0006036566014978187 -0.000955293743892727 0 0 0 -1.1786340826409391e-05 -8579 0.0005819729432656014 -0.0009299205308307595 0 0 0 1.2075249335627756e-05 -8593 0.00042563684870223893 -0.0010922326773176742 0 0 0 1.964008029766408e-05 -8596 0.0009346246472977179 -0.0007938865654064535 0 0 0 6.168652023919639e-05 -8677 0.0007191241982385786 -0.0008518279439396146 0 0 0 0.0001053437985969128 -4383 0.00048350773575616746 -0.0006199932042116435 0 0 0 3.981185310752637e-05 -8703 0.0006444878073523201 -0.0008494628857892574 0 0 0 1.0499325294679204e-05 -8705 0.000643382792040514 -0.0009497387493757717 0 0 0 8.626052066616603e-05 -8750 0.0008055698509485719 -0.0017377981983514202 0 0 0 0.0006996788647399862 -8763 0.0009601045525367779 -0.0006485659515651209 0 0 0 2.6165100394518925e-05 -8764 0.0007388910515928126 -0.0008279976241083862 0 0 0 5.757930469739908e-06 -8772 0.0006928302293748411 -0.000851523642073338 0 0 0 -1.9057339589669496e-05 -5299 0.000433067031144588 -0.000912697250065918 0 0 0 2.8540043793663083e-06 -8818 0.002477176955686585 -0.0004908941074561779 0 0 0 0.001470837919131951 -8821 0.0007232446734418833 -0.0008529903950811748 0 0 0 -2.8453054032415563e-06 -8840 0.0007689467819618539 -0.0009012038649953964 0 0 0 -0.00012220467442509948 -8844 0.0011926828348665154 -0.0007569896001501209 0 0 0 -0.0002003899642977047 -8897 0.0007060729676827005 -0.0008506350824510726 0 0 0 1.5786490394065156e-05 -8900 0.0009477412141488945 -0.0006336923088437297 0 0 0 1.5612056494990336e-05 -8913 0.0008601199528990028 -0.0007779695394938554 0 0 0 -2.667448871743931e-05 -8942 0.0005824356890923286 -0.001028463827371662 0 0 0 7.266178677585462e-06 -8959 0.0005557109261285528 -0.000879710447760495 0 0 0 0.00011555043654522918 -8978 0.0008020769425289195 -0.0007099207202115901 0 0 0 -2.432731747023924e-05 -9000 0.0012171527443262436 -0.0006005508292623756 0 0 0 -2.98918320081414e-05 -6542 0.00017963398271844666 -0.0010170271152028626 0 0 0 2.088417208869153e-05 -9027 0.0017675664048407338 0.002336797525518864 0 0 0 0.0014632691636760381 -5367 0.0007607193368100075 -0.0009196479227857875 0 0 0 -6.514445843316275e-05 -9933 0.0006814978964150028 -0.0008633982637103788 0 0 0 1.862525946300323e-05 -9066 0.0018798942315601625 -0.0018568566627448727 0 0 0 -0.0012525705584728753 -5863 0.0003767709370506739 -0.0005997758383914201 0 0 0 -3.485704789790398e-05 -9112 0.00033976311093902704 -0.0007565428570696462 0 0 0 0.00026940883584118306 -9139 0.0005526114891392052 -0.000981624414266578 0 0 0 -3.300073319072813e-05 -9144 0.0006130207970962305 -0.0008660288786267263 0 0 0 2.178017943053348e-05 -9164 0.0012408340350917473 -0.0007153233269843323 0 0 0 -4.168895565719484e-05 -9172 0.0005884709546274406 -0.0009710986953174984 0 0 0 8.507795451446487e-06 -9179 0.0009977053288714344 -0.0008300489351167656 0 0 0 -0.00018280506773849648 -9188 0.0008440949138769379 -0.0004899536323738446 0 0 0 -4.380806595935403e-05 -9202 0.001500669859695656 -0.0011893470487796128 0 0 0 0.0013626876675388359 -9288 0.0006414660984673699 -0.0008091300608906835 0 0 0 -7.842737906494062e-05 -9336 0.0009973078235449055 -0.0007780474028316661 0 0 0 -1.2074609979401846e-05 -1484 0.0007679564101555207 -0.0006141930939185706 0 0 0 3.9060789640908395e-05 -9368 0.0006834201199827321 -0.0008563740145391995 0 0 0 -1.4178991567552917e-05 -9715 0.005343050496633744 0.00017434448570747706 0 0 0 0.0009617167413879077 -2434 0.0010259256842499094 -0.0007000856070389423 0 0 0 -4.764840511921168e-05 -1155 0.00038642845880708886 -0.0009882574483750456 0 0 0 1.0710936184705595e-05 -6966 0.0005721321496622385 -0.0010636488684108935 0 0 0 9.624854804718355e-06 -5784 0.0014259831141397341 -0.0003919106905398136 0 0 0 -0.000554212644435447 -1766 0.0007144790407220817 -0.0006472848563750826 0 0 0 8.711358952670488e-06 -9043 0.000740683241316349 -0.0007964930022549715 0 0 0 5.644348811818347e-05 -4935 0.0006798973477467985 -0.0008977323306604332 0 0 0 6.091090642468626e-05 -60 0.0007571192446507993 -0.0004603520060823862 0 0 0 6.745425226396918e-06 -3762 0.0015714311350145662 -0.0006012544122398718 0 0 0 -0.00014268388622067947 -9864 0.000561545999887179 -0.0009763517383081553 0 0 0 -4.844606528799092e-05 -5901 0.0006821791588278015 -0.0008894766860551661 0 0 0 -7.019643552382732e-05 -8547 0.00039953186376497606 -0.0009642251767210902 0 0 0 -3.3157237546881296e-05 -388 0.0005961437481136977 -0.0008868136153551998 0 0 0 -2.7316347286443212e-05 -8201 0.0006426276125720126 -0.0010898711243980993 0 0 0 0.0004240645804601185 -532 0.0009701068827079901 -0.0008246876645301597 0 0 0 -9.039039755162932e-05 -7925 0.0008108137001953454 -0.0007637245587676203 0 0 0 6.875688185336116e-05 -8925 0.0010540036199275231 -0.0006102964199251529 0 0 0 0.00023865587305635266 -3969 0.0005136910467222422 -0.0008749341561813592 0 0 0 -7.188949935756061e-05 -9553 0.0004185026222439593 -0.000982156765280084 0 0 0 -4.1326699428955336e-05 -7294 0.0015123734532854268 -0.0005585879169719269 0 0 0 0.00017440950212320097 -3545 0.001359226967657914 -0.0005252324307882451 0 0 0 -0.0006619312208209065 -2394 0.000718893967408971 -0.0008421508122557414 0 0 0 -6.0113184656145143e-05 -7426 0.00020297055647789088 -0.0006937482759358592 0 0 0 4.8105559489411805e-05 -5159 -5.7931000599465605e-05 -0.0007442189716778593 0 0 0 2.6699603953289906e-05 -7111 0.00020479601758971935 -0.0008330565521795098 0 0 0 5.1016308322707434e-05 -6647 0.00074595030309603 -0.0007700898750826887 0 0 0 -8.45421451409118e-06 -4460 0.001754972997421696 -0.0005119402158241509 0 0 0 0.00023294901653203034 -8810 0.0015053899669746928 -0.0005158988737875458 0 0 0 0.0010082779506015193 -1464 0.0007944554265203984 -0.0008234002781798198 0 0 0 -5.6387974528044315e-05 -8209 -1.2819036511621385e-05 -0.0008962472084537105 0 0 0 -0.00021942247743090356 -8198 0.0005513322862921676 -0.0009123127808048482 0 0 0 7.384353287569893e-05 -1450 -0.00013331384512008172 -0.0007218664541078425 0 0 0 5.6915963037668525e-05 -404 0.0003629581639168561 -0.0009837294983264543 0 0 0 -2.636165858267731e-06 -9593 0.0009661380529830634 -0.0008014535612358376 0 0 0 -0.00034014160904518985 -5475 0.0007176065263183592 -0.000685793899326379 0 0 0 1.666067461052005e-06 -3586 0.0014254068589615197 -0.000475676280577158 0 0 0 -0.0003008768005941624 -6662 0.0008643165396097986 -0.0007089515004180758 0 0 0 -1.7931341496329775e-05 -3243 0.0009073041264454571 -0.0007448908047313428 0 0 0 2.4013209777877254e-05 -6671 0.0006089952992615143 -0.0005637862425214938 0 0 0 1.9824485738467134e-05 -2917 0.0008475772613361047 -0.0005034610473287579 0 0 0 3.1699519390431545e-05 -6523 0.0007238957947458645 -0.0006643774211790313 0 0 0 -0.00013722890419554107 -9826 0.000846446347891373 -0.00048169201118035973 0 0 0 4.0534025535654403e-05 -3700 0.0007818241672520653 -0.000367247485706271 0 0 0 6.938720741168234e-05 -4545 0.00045266345319062165 -0.00022040033295530977 0 0 0 6.857471267099982e-05 -82 0.0009275727604476303 -0.0003466454246916652 0 0 0 -3.232756396456987e-05 -117 0.0009920769278076091 -4.82041801996342e-05 0 0 0 -1.276931588553411e-05 -132 0.000978365928436632 -0.00026809114417053584 0 0 0 1.0521204635310638e-05 -135 0.001013615200449963 -3.6073460473357664e-05 0 0 0 -2.6296570697629154e-06 -217 0.0007641799870454368 -0.00013341930551165814 0 0 0 2.2331091897786547e-05 -241 0.000947772992510281 -3.785908211933377e-05 0 0 0 8.855978233684826e-06 -289 0.0008893963390012798 -8.464979209482869e-05 0 0 0 1.2501808799901169e-05 -3458 0.0006099676946934659 -0.00018049477153066893 0 0 0 6.376616619086799e-07 -349 0.001077541844385036 -0.0006466551679501005 0 0 0 -0.00012087980929121359 -370 0.0010935933180837264 -0.0001655157990001919 0 0 0 -1.3168125018340186e-05 -41 0.0003754260583874706 -8.265847353785953e-05 0 0 0 1.7285653051011557e-05 -400 0.0006013526789875936 -0.00011832692203808357 0 0 0 -5.5515192021791533e-05 -3776 0.0008205489132521573 -0.0002581070506588279 0 0 0 6.628458749645915e-06 -9786 0.0008598883721932235 -0.00027721811496213137 0 0 0 2.171333060551992e-05 -424 0.0011359007475805877 -0.0002662273012571313 0 0 0 2.9181795802775576e-05 -436 0.0008251082679407732 -0.00010415723513395363 0 0 0 -5.578350749212772e-06 -461 0.0010159365623593952 8.781418518253056e-06 0 0 0 -9.616700574105265e-06 -482 0.0009303179505969144 -0.0002028822343132858 0 0 0 -6.186597731252948e-06 -6281 7.818493826243451e-05 -0.00014045305078440014 0 0 0 -0.0003750228989222359 -510 0.0010982853232203097 3.0955397385066894e-05 0 0 0 -2.8046164137624332e-05 -805 0.0006756141086469534 -0.00022872306120435093 0 0 0 1.4282285154299822e-05 -9803 0.0009939234769362408 -2.280609559493816e-05 0 0 0 -2.037087252110608e-05 -558 0.0012530275851847163 -0.0005392807830208959 0 0 0 -3.917320752155774e-05 -593 0.0008726721660729824 -0.00021439113953841002 0 0 0 3.344966716056364e-05 -611 0.0005120325242446612 -0.00012376253177244837 0 0 0 1.604789479364736e-05 -615 0.0008052316660516693 -0.00020494286741468362 0 0 0 1.1571144678819953e-05 -638 0.0006847950999682368 -3.0819502607807306e-05 0 0 0 -1.94881267152659e-05 -679 0.000705805448941064 -0.00010510062410960782 0 0 0 2.9736783293210795e-08 -715 0.0008313894392077921 -3.5465718893316865e-05 0 0 0 -7.932627139965755e-06 -725 0.0005422773782400878 -0.00012043547844270392 0 0 0 -4.3841898969615995e-05 -893 0.0005734942319652626 -0.0005033724505912325 0 0 0 -3.5540811546868974e-05 -9577 0.001477777572624672 -0.0006838777134273168 0 0 0 0.00029429099233685874 -959 0.00029630824652090163 -0.0005545355131093917 0 0 0 0.0003296927194778894 -4375 0.0011460155998702659 -0.00041869973132466193 0 0 0 1.7647159830752947e-05 -9445 0.000981041598656211 -0.00022579576956807047 0 0 0 8.441441753035737e-06 -996 0.0009202799318171563 -4.791455424476219e-05 0 0 0 -2.9361468754992163e-06 -1002 0.0012597179981691995 0.00010491057961731044 0 0 0 3.074597581795921e-06 -1015 0.0012451887263271715 -4.185510061247997e-06 0 0 0 -6.807665038210859e-05 -9380 0.0007838974644239937 -2.830494895778664e-05 0 0 0 1.8267252554267812e-05 -6918 0.0004676849241916042 -0.00018829131601151965 0 0 0 0.00022197629457390856 -4834 0.00045053260591023536 -0.0001723338913839618 0 0 0 -0.0001289844565064474 -4145 0.0003452497180105307 -0.0006207827788822413 0 0 0 -4.929845120140641e-05 -9810 0.0006837859007469667 -4.453767728056992e-05 0 0 0 -2.9300176816613777e-05 -1209 0.0006107143270818767 -0.00014739603752195754 0 0 0 1.4423693572505344e-06 -1239 0.0013138366094054819 0.00010895198061129958 0 0 0 -1.2266205732789155e-05 -1290 0.000779336903328612 -7.650706757726791e-05 0 0 0 -1.940808190644372e-05 -4062 0.0007422995965026619 -0.00034035320278355443 0 0 0 0.00010573380732362393 -1361 0.0011241729997675774 -0.00016965507429992618 0 0 0 3.4482927315488245e-05 -6052 -0.0001515119546498832 -0.00019964239757372767 0 0 0 -0.00012669422451598553 -9351 0.0008606119233543355 -2.462966125409993e-05 0 0 0 -1.1935084670661545e-05 -1402 0.0007293232019990313 -0.0001228274108525115 0 0 0 -2.690839749127785e-05 -1433 0.001114162097988213 4.8032929056872616e-05 0 0 0 -5.4539675527472625e-06 -1446 0.0010816414070728784 1.2600051363346207e-05 0 0 0 -3.7486649219519544e-06 -3182 0.00012190083654673058 -0.00017810414607804967 0 0 0 -0.0003229034164846873 -1477 0.0006996738158244972 -0.00039704654868898706 0 0 0 -9.083123073267789e-05 -1522 0.0009114104038411442 -0.0007480027639139527 0 0 0 -0.00012237910471406092 -2511 0.001411404496024152 -0.00035331993544708746 0 0 0 -0.00043675927335852554 -7321 0.0005070608434782392 -0.00017830055311708224 0 0 0 -4.6040223688371965e-06 -1569 0.0006069706502151785 -0.00013330073390174993 0 0 0 -3.1540216554550245e-06 -1603 0.0008619014750836534 -5.794139175761319e-05 0 0 0 -2.1241627563152126e-05 -1622 0.0007551125840495709 -0.00022467687959207253 0 0 0 -1.9175995040891468e-05 -5231 0.0013271822769703261 -0.0004968756572711591 0 0 0 0.0007254061116394007 -1692 0.001235797930114717 0.0001072669260574422 0 0 0 1.784376955934384e-05 -1741 0.0009314233861690999 -3.952661551918851e-05 0 0 0 -1.7840325195398074e-05 -1750 0.0011625346277712072 9.185576668258487e-05 0 0 0 -2.5035973529786455e-06 -1772 0.00011549522012666202 -0.0003203006575775277 0 0 0 -0.00025152343292184304 -1793 0.0010769237038368523 -0.0003927360378236493 0 0 0 -2.597123574243437e-06 -8011 0.0004858499820354634 -6.948002283290555e-05 0 0 0 3.064595260286939e-05 -1897 0.0013044934244834897 -4.381417206531341e-05 0 0 0 -5.025414369525423e-05 -1908 0.0010489879026609962 -2.2265767924753183e-05 0 0 0 -1.151239538552085e-05 -1910 0.0007194663696673405 -4.1948651620497956e-05 0 0 0 -5.986033987350929e-05 -2030 0.0008500820489379225 -0.0007364865463413803 0 0 0 -8.949394483414588e-05 -6277 0.001013288608922271 -0.0004275708524496479 0 0 0 -3.824058003720741e-05 -2050 0.0012762877410203747 8.580608333927898e-05 0 0 0 1.8246192111257215e-05 -9502 7.440305927154366e-05 -0.00017588184734846908 0 0 0 -0.0003019883443610713 -4818 0.0006691663461937832 -0.0007696390589029312 0 0 0 0.00011977777354411532 -9939 0.0006743421188513631 -0.0002533576547711119 0 0 0 3.792924382811335e-05 -2130 0.0011393392042814703 7.79960782077749e-06 0 0 0 -1.2314452920064117e-05 -2138 0.0009842336357086957 -9.931018905187686e-05 0 0 0 -6.4999765025483455e-06 -2148 0.0009446467892240242 -5.6042602441231974e-05 0 0 0 -4.311890777590054e-06 -2164 0.0010848731762596302 3.712569792212665e-05 0 0 0 -2.393188004372761e-05 -2201 0.0007690990063917958 -0.00017592584976964797 0 0 0 -3.402011130478823e-05 -2242 0.0010749937519282662 -0.0002283762584098939 0 0 0 2.7359994190637287e-05 -2248 0.0012243554383432162 6.626966729742375e-05 0 0 0 -1.90697018107918e-05 -2261 0.0014468515161580365 3.4583460922943846e-05 0 0 0 -0.00014284966304515398 -2272 0.0008969732450169848 -0.00013739044265540762 0 0 0 1.5207659916262037e-05 -2276 0.0010936427593974396 -0.00025384866675712584 0 0 0 -3.7132291322759505e-05 -9022 0.0008866747762599421 -3.136808617429053e-05 0 0 0 -3.6154186736792275e-05 -3209 0.0008516295517865786 -0.0002412216769267951 0 0 0 2.0756750827485745e-05 -2383 0.001064293338228953 -9.864664453541914e-05 0 0 0 2.009033013560243e-05 -3728 0.0009738196917733077 -0.0003769434742655333 0 0 0 -1.1697676736559487e-05 -1079 0.0011538397124222714 -0.0003495333231457467 0 0 0 -6.8765606936916e-05 -743 0.0005164516504150375 -0.0002821485454031286 0 0 0 -3.5028324638820685e-05 -2115 0.0011451012730274125 -0.00041600260421203837 0 0 0 -9.318560187443787e-06 -3528 0.0008379861561259622 -0.00024150635183231987 0 0 0 5.188031373469697e-05 -2523 0.0011330432130038583 -0.0003510054142165311 0 0 0 -2.8360890363512234e-05 -2567 0.0012147429948106117 5.49643974147916e-05 0 0 0 -1.4399107446227822e-05 -2588 0.0010630344289020053 -3.338208282699867e-05 0 0 0 -4.964362940447488e-06 -9257 0.001207039487160709 3.940572297334965e-05 0 0 0 7.195430874450224e-05 -9831 0.0009428514716321238 -0.0003372352913731822 0 0 0 -1.9239401040860948e-05 -2627 1.7369782134113896e-05 -0.0006665371732656856 0 0 0 -0.00010006726902865835 -2670 0.0013014032014376355 -0.00018794275994044583 0 0 0 0.00021462135673349598 -2692 0.001157894281184448 -0.00019181634600128587 0 0 0 -0.0001300684293539924 -2789 0.0010682015652182823 -0.000277557006592152 0 0 0 -4.529875958894118e-05 -2815 0.0004746737667949675 -0.00017462214514204466 0 0 0 -0.00010255544975701525 -2896 0.0007262789493701182 -0.0002292379244104377 0 0 0 -8.663114031399476e-06 -2101 0.0010228520021174532 -0.00040755145506275427 0 0 0 3.6342232641810254e-05 -2973 0.0010280747095675565 -2.5065352095267128e-05 0 0 0 8.898154185918932e-06 -8995 0.0008799340396520528 -0.00022614691099477846 0 0 0 2.1949497184936975e-05 -3059 0.0008888916120304228 -2.7376654013052834e-05 0 0 0 -2.4893292708561515e-05 -3110 0.0008508206010638838 -4.5571838172274914e-05 0 0 0 -3.1873299071266997e-06 -8094 0.0007139706752856806 -0.00020305108971673062 0 0 0 -6.213488876192412e-05 -3164 0.0009635508362802747 -4.410990519627319e-05 0 0 0 -9.878433898483826e-06 -3220 0.0008433887198956839 -6.515683898588414e-05 0 0 0 4.350338529876902e-05 -8605 0.0005141936596015084 -0.00020712296275079118 0 0 0 -0.0017374990307000623 -3278 0.0007942857929243114 -0.0001271226609452072 0 0 0 -3.1547948179736364e-08 -3284 0.0003279752818474421 -0.00011718944707116011 0 0 0 3.0703193124179565e-05 -3316 0.0010024301535784927 -0.00019389922018393777 0 0 0 3.449878551019295e-05 -3323 0.0010716223359519344 -1.4548442642401986e-05 0 0 0 -1.4221139229944395e-05 -3341 0.0006277887903266363 -0.00013328834437575593 0 0 0 -9.201214602108604e-05 -3344 0.0009498602310839851 -0.00015286317301815914 0 0 0 2.0720589482503515e-05 -3360 0.0012228091340029496 0.0001055820051596368 0 0 0 -4.643641232661853e-06 -2009 0.0009499960169638366 -0.00018760421141489263 0 0 0 -0.00023431216958825994 -3398 0.0007199123686472724 -0.00021942508661257958 0 0 0 9.146999723652735e-05 -3429 0.0007735397009488072 -1.9598306014731194e-06 0 0 0 -8.03409337494481e-05 -3438 0.0010397556765377447 -0.00024548431111254997 0 0 0 4.579475537896175e-05 -1676 0.0004968793752945372 -0.00015287603650629032 0 0 0 -2.499106374629597e-05 -2477 0.00030180382687742386 -0.0009544711738592225 0 0 0 -0.00010080240984581815 -9979 0.001272335228982956 9.432796519980031e-05 0 0 0 -3.914129040694907e-06 -3515 0.0011591563429792636 -0.0002862588001587848 0 0 0 -0.00010002856443746549 -9339 0.0012691393823511588 8.267772603319089e-05 0 0 0 -3.4148788109510967e-05 -3023 0.0004758628122601005 -3.372517263985833e-05 0 0 0 2.0510238019289447e-05 -3578 0.000415585899120684 -0.00011853049506402602 0 0 0 -6.232046163787308e-05 -8965 0.0010565163054114537 -0.0001823648472470074 0 0 0 0.00016446358528877177 -3600 0.0015100723246186483 -3.7588762993748843e-06 0 0 0 -6.198516608889353e-05 -3601 0.0009079487984345482 -0.00011201587278047142 0 0 0 -2.5908938633672785e-06 -6318 0.00027408393176276487 -0.00020126769438646918 0 0 0 0.0002526555445926385 -3683 0.0010287215321474182 -6.037329284909677e-05 0 0 0 2.4932138797223258e-05 -3689 0.0010273541328709626 -0.00013035559458934263 0 0 0 2.258147717185465e-05 -3714 0.0008186388762240541 -4.3211173327226876e-05 0 0 0 5.650725382891358e-05 -3717 0.0009927137907280983 3.7796997418021747e-06 0 0 0 -2.4844812938292324e-05 -3795 0.0003376998217654753 -0.0002676869632352352 0 0 0 -0.0001675190199195799 -3822 0.001053385399737836 6.944079127656854e-06 0 0 0 5.4974664454782596e-05 -3892 0.0011783451995743032 4.277150982541008e-05 0 0 0 2.232455226938297e-05 -9432 0.00144586038730283 -4.160677703145108e-05 0 0 0 2.206522615284716e-05 -3930 0.0009563295353798708 -0.0007435860916492491 0 0 0 7.709604844313627e-05 -3936 0.0011909595096723108 5.984854772498201e-05 0 0 0 5.2620917088064465e-06 -5847 0.0006479998073635312 -6.392909473097827e-05 0 0 0 -8.010483767966919e-05 -4124 -0.00014046052505535167 -0.0005923068016777355 0 0 0 -8.783769005733859e-05 -4131 0.0011553359758413686 5.6539418273537275e-05 0 0 0 -3.882001865466591e-05 -5101 0.000538993011123001 -0.00014664088826697104 0 0 0 -9.719656550300862e-05 -4169 -0.00010603406749269593 -0.0006285899162713495 0 0 0 -0.00021772278863502783 -4182 0.0009580273180846197 -0.00021279715890166323 0 0 0 1.2928814171512887e-05 -4207 0.001108649067803485 6.405865107949125e-05 0 0 0 -1.5409839620171926e-05 -6610 0.00038109516039497185 -0.00016326632265130326 0 0 0 4.673338955427844e-05 -4325 0.0013443844919078696 0.00012444647321847117 0 0 0 -0.00022717575932439766 -9530 0.001290013805487661 0.00018186080389735626 0 0 0 -0.0007668909195558177 -4454 0.0007376634035837869 -6.123154795366437e-05 0 0 0 -3.7889016005880116e-07 -4483 0.0011239894402389843 4.1646023474384824e-05 0 0 0 -4.301757724195565e-05 -4511 0.0007544411252984585 2.8296401784269864e-05 0 0 0 -7.42557727538944e-05 -4517 0.0009292107466438744 -7.618303949097304e-05 0 0 0 -6.05751938838775e-05 -4520 0.0005536412570947683 -0.00017566742549922194 0 0 0 -4.699446770953697e-05 -4562 -0.00023763950642451102 -0.00043752604209318477 0 0 0 -0.00016009512245371188 -4611 0.0012803452591528374 -0.00023246284684951172 0 0 0 -0.00030170490205839003 -4618 0.0007509747395708388 -0.00020981866618218113 0 0 0 0.00030635363441489896 -4636 0.001021384097795613 -0.00026507309865284983 0 0 0 1.617062597091736e-05 -4643 0.0011560576047941612 1.5434153652164903e-05 0 0 0 1.2555350568392882e-05 -9341 0.0008185341345271224 -0.00018265243129716473 0 0 0 6.773000065106876e-05 -1172 0.00015892676525736007 -0.00025985932817705745 0 0 0 -8.191033784749947e-05 -4695 0.0008023790582784273 -3.813691109572267e-05 0 0 0 2.027241613527852e-05 -4709 0.000843400979123109 -0.00016209412586764887 0 0 0 1.5199951869409087e-06 -4764 0.000804445938959619 -5.36336269070059e-05 0 0 0 -1.1690691386810757e-05 -2664 0.0009004454515512398 -0.00029699871139759494 0 0 0 4.063848670223784e-05 -4821 0.0005025281398388996 -0.00046365688992260914 0 0 0 6.408244019142812e-05 -4824 0.000795832069658219 -0.0001888536113238678 0 0 0 0.00031512070629418287 -4274 0.00028570766867193825 -0.00015237660737504522 0 0 0 -4.726849122778233e-05 -9052 0.0012462382661732026 6.817458709588816e-05 0 0 0 -5.073053292220123e-05 -4878 0.001091239712438983 2.8689926265321492e-05 0 0 0 -0.00011715737848339727 -4879 0.001019925271382258 -8.017903642191672e-05 0 0 0 8.714417115283607e-06 -7086 0.0005835255844205192 -0.0002702052666935735 0 0 0 9.764248705905701e-05 -9029 0.0007106681175102079 -0.0001004529613627947 0 0 0 3.3746723067905354e-05 -9342 0.0008624056353404368 -9.777787412417795e-06 0 0 0 -5.315902964717793e-05 -6340 0.0005057612442393242 -0.00021603662343285356 0 0 0 6.818206962352323e-05 -4970 0.00047189531911063284 -0.0007512655098471419 0 0 0 0.0005142288642668482 -4982 0.0007638280144008365 -7.024398697165825e-05 0 0 0 1.4290583045719439e-05 -5023 0.0011212671293038441 -0.0003044368814925624 0 0 0 -1.9574786628469294e-06 -5036 0.0011777117092526537 -0.0002502308555135199 0 0 0 -0.00020699204398959696 -9544 0.0013257606371216565 0.00010486626348040715 0 0 0 -5.8174483498515085e-05 -5160 0.0012755745258869956 9.102461538691713e-05 0 0 0 1.3904814907618584e-05 -8784 8.383405143832354e-05 -0.00012992557934775328 0 0 0 -0.00031600576211383776 -9462 0.001171933232189035 9.88979612481894e-05 0 0 0 1.8147387972432475e-05 -5641 0.000525327200142429 -0.00019286812118401243 0 0 0 3.719810076231612e-05 -7371 0.00023089690830179304 -0.00010996070079178178 0 0 0 2.443869131408993e-05 -5557 0.0012490513111754454 0.00019977269457491744 0 0 0 0.00013602044482775996 -4600 0.0007576797463468481 -0.00016236419424084985 0 0 0 9.334492815938379e-05 -5312 0.0006360866392020503 -0.00010489444180263632 0 0 0 -5.7470313877215225e-05 -5327 0.0007235594798398564 -0.0002621519698536512 0 0 0 -0.00011867487832596686 -2498 -0.00026302828194194603 -0.0006450055449464195 0 0 0 -2.847122243272354e-05 -5410 0.0019155436424953443 0.00020548886412852292 0 0 0 0.0005844213702620929 -5427 0.0008944857604514558 -4.935851588548443e-05 0 0 0 3.6168747340927665e-05 -5442 0.0010082104174499419 -2.9420366824793353e-05 0 0 0 1.1696802878353292e-05 -5447 0.0014119390710684789 0.0001034150557814045 0 0 0 -4.7115394754591915e-05 -8322 0.0021377906840455286 -0.00020643503746022333 0 0 0 0.0005193709049233087 -9185 0.0010779312134132654 -2.168461714886124e-05 0 0 0 2.670320124043276e-05 -5482 0.0008707131244144547 -5.727442691923767e-05 0 0 0 -1.2043663218769305e-05 -5519 -0.0013835789119058864 -0.0009426264268512839 0 0 0 0.004108107030588861 -8399 0.0007508468123173682 -0.00010399005218467936 0 0 0 7.059267953777759e-06 -5588 0.0011168909917237515 4.5203155370221646e-05 0 0 0 -6.385681368944276e-05 -5596 7.239994368004084e-05 -0.0005379235446011927 0 0 0 0.0007868892685445473 -9758 0.0014321347023360327 7.54944392726242e-05 0 0 0 -3.335484126646305e-05 -5319 0.0001171585576822391 -0.00021156289140128077 0 0 0 -0.00014133473884662932 -1512 0.0015541490960242965 -0.0003297910633764641 0 0 0 0.0002882499050571154 -5619 0.000767620523421427 -3.881426827901082e-05 0 0 0 -2.1193952708230433e-05 -5633 -0.00019459679452561837 -0.0006620012701412791 0 0 0 -6.409077998577645e-05 -9994 0.0010665293159896638 -4.947022527523115e-05 0 0 0 -8.593341104122561e-05 -5721 0.0008942728062023446 -0.00017238018289528537 0 0 0 1.3245256547688729e-05 -5737 0.0011406996072002933 3.6310774379965984e-05 0 0 0 -1.1608685204427421e-05 -3641 0.0004463194901817591 -0.00015900999499835855 0 0 0 -1.8192910413641978e-05 -4365 0.000567255401118995 -0.00020155983657227792 0 0 0 4.163101680323411e-05 -5814 0.0010857079465911587 5.31213071921666e-05 0 0 0 -2.4719139341249735e-05 -5550 0.0009731450992051687 -0.0003184866934364515 0 0 0 1.281002664103394e-05 -5866 0.00069221451211152 -0.000231962491214179 0 0 0 7.834275365952342e-05 -4249 0.0002626702534036676 -0.00011728241433727671 0 0 0 -7.452379003447667e-05 -7311 0.0002218592803225883 -6.453023905409361e-05 0 0 0 -5.9120264960687346e-05 -5911 0.0006684606355895056 -0.0003049805788701999 0 0 0 0.00035104395178515264 -6018 0.0010688434861024318 4.9575893450222435e-05 0 0 0 2.6822921890055507e-06 -555 0.0002034423748872416 -0.00013830425186395939 0 0 0 1.751809293815653e-05 -6071 0.0011051544101010208 7.71389750161679e-05 0 0 0 6.9858629403397205e-06 -6162 0.0014491506324480184 -0.00014602180811461977 0 0 0 -0.00022936550282784383 -6189 0.0009733648796613882 -0.00020438261368469382 0 0 0 1.146343250708449e-05 -6199 0.0006342332673875502 -0.00022490053906987903 0 0 0 7.130350674500379e-05 -1068 0.0005625419311589801 -0.0001494666938666316 0 0 0 -9.762603633277765e-07 -6786 0.000571471992348763 -0.00016572491678020778 0 0 0 -0.00020482568479142146 -2281 5.997894937560891e-06 -0.0005893812451356694 0 0 0 0.0002845630041278499 -6407 0.0007230376364045537 -0.00010039704577274426 0 0 0 1.630613109022994e-05 -6408 0.0010729084762729861 5.9734202471602216e-05 0 0 0 3.1767722467918167e-06 -6419 0.0012157302071487013 -0.0005647925652310326 0 0 0 -0.000380166493480718 -6459 0.0010762771270107253 -0.00019647907302631901 0 0 0 -7.602750261575606e-05 -431 0.0009473537491422891 -0.00034566530784857974 0 0 0 8.95001443838456e-06 -7273 0.0009382382208436917 -0.0004043076792178847 0 0 0 2.9100634367329438e-05 -9624 0.0005016031467173882 -0.0001838010378484113 0 0 0 -6.046773988615984e-05 -6532 0.0010564818908959336 -0.00013794181943460205 0 0 0 -5.6124589731969245e-05 -6548 0.0006108309534812082 -5.590111651107801e-06 0 0 0 -0.0001265073772170244 -6551 0.0012845749854385902 0.0001019983279297311 0 0 0 -1.542444305211478e-05 -6587 0.0009217282372990249 -7.686293109536278e-05 0 0 0 -2.8188197832692036e-05 -9918 0.0007856239403281278 -6.419999116839767e-05 0 0 0 -1.7783551345300194e-05 -6651 0.0009953544317380237 -0.00022137934432862465 0 0 0 -9.0400430418612e-06 -7102 6.023213061012943e-05 -0.00015860506431501106 0 0 0 -0.0002797657780203509 -8556 0.0013360910764348916 -0.0002365413975514192 0 0 0 0.0014998503226362338 -36 0.001019473180187413 -0.000469630472100597 0 0 0 1.6831900314530175e-05 -6730 0.0009355772886189586 -4.9152670885833594e-05 0 0 0 1.5656899258690019e-06 -6787 0.0005564360378932726 -0.0007728009057599888 0 0 0 -0.0003753747208629912 -6818 0.001232075220051537 7.294844458711295e-05 0 0 0 2.894925599106786e-05 -6833 0.001153608028074445 -2.8036614834691996e-05 0 0 0 -1.5228194219068874e-05 -6954 0.0006878660770449593 -0.00022318578573141473 0 0 0 0.00020395591258955063 -5275 0.00010679033874860793 -0.00011481883736602068 0 0 0 8.746936824420997e-05 -8924 0.0011485927524641597 0.00033497064876876297 0 0 0 -0.0013916414331465775 -7024 0.0011759436621495403 0.00010728971565228388 0 0 0 -7.700114086935034e-06 -2345 0.00048567973719232187 -0.00016720663246170243 0 0 0 -3.322756752597004e-05 -7055 0.000734712238756779 -7.329516046227085e-05 0 0 0 0.00010964349280080084 -7263 0.0011391691199716582 -0.00030279853717947783 0 0 0 0.00015215099924636023 -7295 0.0008409877050081676 -6.879750536863183e-05 0 0 0 -0.00021859314353075626 -7303 0.0009129595779253386 -4.1377691281428774e-05 0 0 0 6.4347691439376614e-06 -7325 0.0008436556817299809 -4.7884553194482875e-05 0 0 0 -8.86694097963466e-06 -9054 0.0009886862209040881 -2.8565817338728574e-05 0 0 0 2.3836244816126197e-05 -4894 0.0005618269922803623 -0.00016769473877783887 0 0 0 3.704218920225329e-05 -7353 0.0005183109886882938 -0.0003400935756274369 0 0 0 -0.0008943784996220788 -2494 0.00020544479939558894 -0.00015191822592247294 0 0 0 2.2401383988868986e-05 -7384 0.0008835852323369047 -0.00020047948312941445 0 0 0 -5.097440159554946e-07 -7389 0.0018852583145872602 0.00019320191097133905 0 0 0 0.000979614074091421 -7423 0.000670952796850173 -9.21043018189562e-05 0 0 0 -0.00038005457733957556 -9871 0.0009581364227799938 -4.509676982133284e-05 0 0 0 8.56068571052062e-06 -2602 0.0004958613569759548 -0.0001578625206885143 0 0 0 -3.999808294614908e-05 -7509 0.0011627255190383094 -0.0001615092100901949 0 0 0 -1.3080199047462422e-05 -7528 0.0006900110670112845 -0.00015290405012055374 0 0 0 -1.1248495030496814e-05 -4866 0.0007160507094262074 -5.577108139302409e-05 0 0 0 7.114099028629303e-05 -7668 0.0009621781358160011 -0.0002397630030498854 0 0 0 8.339347545818213e-06 -7706 0.000884259374453159 -1.3467431642018501e-05 0 0 0 2.2395472690326618e-06 -7715 0.0008516291554634535 -0.00015035543002778798 0 0 0 -0.00017959010228667062 -7737 0.0013473494923194828 -0.00025307860831710974 0 0 0 -0.000339670084478405 -7738 0.0003632868965435698 -0.00016332910661107357 0 0 0 -0.00019119881654574528 -9030 0.0008398669094517109 -0.00013005969950630875 0 0 0 -8.113898351395872e-06 -7868 0.001150912456463655 -7.238877998927376e-05 0 0 0 7.021325688961112e-05 -7882 0.0013253174642145643 0.000106962707960648 0 0 0 -3.866672633502899e-06 -8970 0.0008474263091857593 -0.00022065001840272156 0 0 0 -8.047456151948777e-05 -7900 0.000585231625022616 -7.07378181313161e-05 0 0 0 0.00014504788810308557 -7911 0.0009862997901286129 -6.012275863239693e-05 0 0 0 5.71112846067443e-05 -9634 0.001240975481058997 7.185952084529879e-05 0 0 0 -3.469416970125672e-05 -9479 0.0012171817169210118 0.00010492246105453644 0 0 0 -1.0062768981874003e-05 -8010 0.0010351433279447225 1.3566169540188234e-05 0 0 0 -9.725021640770673e-05 -9682 0.0008068560736464311 -0.00023329224123803775 0 0 0 -2.664159666408871e-05 -8023 0.0014529031033734413 -0.0002084945064830401 0 0 0 -5.7494756169317695e-05 -8064 0.0008457780566883767 -0.0007757212690712958 0 0 0 0.00014378125872890259 -8088 0.000909426394073664 -2.7835807034922536e-05 0 0 0 3.4976964447651967e-06 -8132 0.0009747666121582268 -0.000571900604768715 0 0 0 0.00013594066560823655 -8133 0.001139900992442708 6.667588174943045e-05 0 0 0 7.306042715603539e-05 -8151 0.000976715655955772 -0.00014618352766131458 0 0 0 1.5135783181894354e-05 -8171 0.0005626076636071792 0.0003498364040201476 0 0 0 0.00022568395313096986 -7236 0.0006299854894610285 -0.00021052325993991812 0 0 0 -2.0259267882937916e-05 -9807 0.0011101710271817307 -0.00042174855450545924 0 0 0 9.391548484329971e-06 -8215 0.001215721236633315 5.6706997710503856e-05 0 0 0 1.6641284708686076e-05 -8232 0.000901857233624794 -0.0007106170113666759 0 0 0 0.00031417133839336565 -8283 0.0005835217246520486 -3.244890799665164e-05 0 0 0 0.00010372151562756967 -8344 0.0001523030846705939 -9.503676816168301e-05 0 0 0 -4.2333822846464e-06 -8370 0.00037154812245273933 -0.00023961421597268722 0 0 0 5.845735846910724e-05 -8391 0.0008267693097558585 -2.8723122155879695e-07 0 0 0 0.0001869616601789898 -8409 0.0015064256862252236 -0.0004936024738877266 0 0 0 -0.0006823216903714704 -8423 0.0010151767754880896 -2.5801419847610243e-05 0 0 0 -5.8832300821352825e-06 -8451 0.00023039563407334905 -0.00016858689726946812 0 0 0 0.00019807162645611105 -8485 0.0007502489228759297 -5.41597785490774e-05 0 0 0 -8.599753876045394e-05 -8824 0.0008040229455312436 -0.00013308535099354176 0 0 0 0.00010132341654378322 -8566 0.0012387099915254901 -0.00019683467668034002 0 0 0 0.0005239847833714826 -6621 0.00015230111467580794 -8.420587081517648e-05 0 0 0 2.4303045272044794e-05 -8612 0.0012331398526761134 0.00010986823196499173 0 0 0 9.642707720082308e-06 -8614 0.0011136820862159534 5.7599747031851155e-05 0 0 0 0.00013356101736403393 -8685 -0.00014192965453056812 -0.0006689946537201979 0 0 0 3.85990453139508e-05 -8775 0.0012478354544741075 0.000432808744876053 0 0 0 0.0008644116675721109 -9408 0.0009303643877832034 -3.5375307382825335e-05 0 0 0 2.86029544665347e-06 -8815 0.0006904050121193292 -8.974605225135943e-05 0 0 0 -0.0001957189725807921 -6697 0.0005293089006074975 -9.161216266805203e-05 0 0 0 0.0001360848444065623 -2805 0.0009051521046792635 -0.0003085995525611833 0 0 0 0.00010081982357843037 -8833 0.0025160088016761887 -1.3228813963399475e-05 0 0 0 -0.00021595424979025684 -7893 0.0005037287476329325 -0.00010996150710297319 0 0 0 -6.805129812204074e-05 -8991 -0.0007083595585325913 0.0008262485384775504 0 0 0 -0.0025773679495733996 -53 0.0004944328058558024 -0.0001782321219861772 0 0 0 1.4983867718223175e-05 -2483 0.0006349892474094668 -3.264714580019907e-05 0 0 0 5.307289590918411e-05 -2616 0.0007270057612118711 -0.00014628507085851536 0 0 0 4.18100801260543e-06 -5783 0.0005292586888664963 -4.878578760987014e-05 0 0 0 2.1901184039940137e-05 -4882 0.0005766951750938068 8.889782745594014e-05 0 0 0 0.002090592756604011 -3663 -0.0002936013292105049 -0.0016719527301891956 0 0 0 -0.0006332632581465064 -46 9.89742986115732e-05 -0.0008492902928575001 0 0 0 5.418552553661834e-05 -92 0.0006336322075058448 -0.0005334451568363077 0 0 0 -6.409353540148858e-06 -93 0.00047186285386591366 -0.0008222293134147146 0 0 0 2.458373367885293e-05 -139 -0.00020284739258013794 -0.0002580303984978142 0 0 0 6.654315790510744e-05 -140 0.0005940180771633986 -0.0004518758298307656 0 0 0 1.8442124398162253e-05 -145 0.0008060115129413832 -0.0004732727088340849 0 0 0 -2.2553436166383212e-05 -147 0.0003002831243020964 -0.001000472581786751 0 0 0 7.645325028486089e-06 -179 2.4840133959387538e-05 -4.415412250691993e-05 0 0 0 -4.4738140704543995e-05 -182 0.00011111678761049359 -0.00019062593516665542 0 0 0 7.18638563764622e-05 -184 0.00015387268308884227 -0.0010907271810975242 0 0 0 -8.469669804395427e-05 -7733 0.00024143110660075637 -0.0011392669749300934 0 0 0 5.8525004293834534e-05 -220 0.0004178366872469932 -0.00052540291564184 0 0 0 0.00012127145221966831 -243 -0.0001426076176555098 -4.6754683221924775e-05 0 0 0 5.723069547618034e-06 -261 6.024190669695889e-05 -2.534253514426879e-05 0 0 0 -5.3520723428636964e-05 -271 0.0004913210351296199 -0.000567395442048817 0 0 0 1.6066746627872367e-05 -283 0.0007810686715541552 -0.00034234835991934663 0 0 0 2.9895096364890007e-06 -285 -0.00014907800456204163 -9.982398546997099e-05 0 0 0 1.2131805620103504e-06 -320 0.0008270948685232645 -0.000664709116238443 0 0 0 4.467094082231004e-06 -321 0.00023005586644798034 -0.0009245775604145834 0 0 0 -1.7839848739200313e-05 -339 0.00035541067228443034 -0.0005655557220850665 0 0 0 1.8790344622242708e-05 -357 7.388966352756876e-05 -0.0006960163138913966 0 0 0 -3.630606322713466e-06 -368 -0.0002460943939361584 -0.00029654223416322864 0 0 0 -0.0002464519578055145 -387 0.00029429498064861224 -0.0009118178436094801 0 0 0 2.7376453700709065e-05 -389 0.00022853122139536444 -0.0007967722669505338 0 0 0 -1.3306473591764559e-05 -393 -0.00012474895852361236 -5.202296768429102e-05 0 0 0 -5.1576853621476546e-05 -402 -6.944688647238768e-05 -5.279189459582191e-06 0 0 0 2.720048148631838e-05 -423 0.0004300311980956052 -0.000746064341577075 0 0 0 -1.4883267067988957e-06 -6524 9.325179457074465e-05 -0.0017752980759737174 0 0 0 -0.0005412408790097118 -444 0.0001587341677363075 -0.0009372410003072145 0 0 0 0.00017444670895165314 -450 0.0006110541622055161 -0.0007456986623675984 0 0 0 -4.8707150760010995e-08 -458 0.0005115243083334295 5.44840978602518e-05 0 0 0 5.2802365343582766e-05 -463 0.0006252349314293621 -7.918045572320877e-05 0 0 0 1.7936841573426085e-05 -465 0.000280865625294937 -2.0122348239661867e-05 0 0 0 8.610560457858956e-05 -476 -0.00011105715353311415 -0.0002623320811101703 0 0 0 6.695823551346515e-06 -496 0.00018474653832753067 -0.001155902464831194 0 0 0 4.5314475489595336e-05 -540 0.00011968621057377844 -0.00014963650594185729 0 0 0 2.4675591541742127e-05 -566 0.000540033166630734 -0.0005993583249694577 0 0 0 0.00010998361742607901 -584 -0.0003949085073758142 -0.0006981377316807665 0 0 0 0.00016575636526161257 -588 7.301316181041999e-05 -0.0007579079525680034 0 0 0 0.0001584127073091921 -4105 1.3962020964164994e-05 -0.0007633449141632114 0 0 0 0.0001057947693787033 -1096 0.0003656879031808742 -0.0006674204674093111 0 0 0 2.6559725271370902e-05 -5227 -0.0011383364376957978 -0.0018625293111733132 0 0 0 -0.0009283726224222748 -9564 0.00036236203652585935 -0.0015278264298588448 0 0 0 0.0007304062568508529 -756 -0.00021828819496092115 -0.00039936828463837086 0 0 0 -5.222031007868986e-05 -798 0.00011760323726561913 -0.000875970267394673 0 0 0 -3.234286732336374e-07 -7674 -0.0016023299355485453 0.0008763159146069982 0 0 0 -0.0017720092947688016 -809 -2.4419391748151467e-05 -0.001195660833175361 0 0 0 -5.009825794135611e-06 -833 -3.449751200684388e-05 -8.136338362074915e-05 0 0 0 7.496899823264241e-05 -840 -0.0005715480755529486 -0.0004882692763470666 0 0 0 -0.00037675792856951997 -868 0.00021841981275373952 -0.00036030762827772935 0 0 0 4.4554318065660385e-05 -3312 -0.0013535256611626656 0.0007136909614302628 0 0 0 -0.00017579715663891416 -872 0.0007242223019634534 -0.0006290158632747909 0 0 0 -3.7171811597102245e-06 -879 -3.1086667989991744e-05 -0.0006390475463091 0 0 0 0.0002982611198230382 -889 0.0001722435305322517 -0.0007995137048829964 0 0 0 -5.1542445061552664e-05 -916 0.0004975365515551997 -0.0002991674281951174 0 0 0 5.195161938736873e-05 -942 -0.0007128761853968326 -0.00017029674603812473 0 0 0 -0.0002374032992516803 -1443 -1.6068036708579037e-05 -0.0009297304562394717 0 0 0 3.800609680964757e-05 -974 -0.00032721982139239205 -5.474587353061342e-05 0 0 0 0.00019748232416669088 -989 0.000179246449053605 -0.00015709572472836255 0 0 0 2.105257700307271e-05 -1054 -0.00021457503457313515 -0.0011642590564619466 0 0 0 -3.430204901450441e-05 -1055 -4.185757946265373e-06 -0.0006007835087674726 0 0 0 0.0002824130050572632 -9470 -0.0001775134290376876 -0.0006466581137761187 0 0 0 -0.0005225410942272607 -1075 0.0006794152997833158 -0.0004618289710493624 0 0 0 7.974316346862943e-06 -1077 0.00022250315865910257 -0.0006665922799174679 0 0 0 4.2488079357700665e-05 -9969 0.0004940653013307764 -0.0006468155871659323 0 0 0 -0.00047604671107353235 -1084 7.488630480599334e-05 -0.0001478787994168956 0 0 0 5.707062339720563e-05 -1089 0.00016890966056213444 -0.0011092514617661545 0 0 0 6.992570078284569e-06 -1097 0.0005999483350287212 -0.00015173956871346664 0 0 0 3.451289847213394e-05 -1126 0.0006137270393676975 -0.0006954244569039834 0 0 0 4.415377772568074e-05 -1127 0.00024192036015561897 -0.0006629752673699776 0 0 0 0.0001368957817019626 -1133 0.0006100494537811789 -0.0005769781207756382 0 0 0 -2.7828889932101785e-05 -1156 6.87294468499468e-05 -0.0003080468467443237 0 0 0 1.4781656515251176e-05 -1159 0.000100864599837348 -0.0005795261547446433 0 0 0 8.934495200813158e-05 -1173 -3.764202231079933e-05 -0.0002016627381671802 0 0 0 1.5859798376067458e-05 -1189 -9.14069048874393e-05 -0.00018427772686641 0 0 0 3.753760900626727e-05 -1193 0.0007578590255554389 -0.0002912958059650392 0 0 0 -1.4561083587449659e-05 -1197 -0.00012347454045126414 -0.00034306040566528436 0 0 0 0.0003347026199994168 -1215 0.0008336008190558834 -0.0009933003486386994 0 0 0 4.1529480041568225e-05 -1244 0.0006927184742049397 -9.524461172860368e-05 0 0 0 1.708784757640907e-05 -1245 0.0004778138743694808 -0.0005123580093236297 0 0 0 2.7602818317801187e-05 -1268 -9.175223755832674e-05 -0.00013815797028558148 0 0 0 0.00015526683712507175 -1271 3.990590544077538e-05 -0.0011288872122804116 0 0 0 1.8053543842833832e-05 -1274 -1.316079695680857e-05 -0.0008198444648088636 0 0 0 -1.3516042342136385e-05 -1313 0.00014066221070783302 -0.0011725931325274632 0 0 0 -5.798005018925061e-06 -1324 0.0006728846746883156 -0.0006670913309960247 0 0 0 2.968973963646543e-05 -1332 4.604165882290049e-05 -0.000957089504982701 0 0 0 6.300030745411785e-06 -1347 0.0005742632065762338 -0.0005076028020870125 0 0 0 -2.3385511547485078e-06 -1370 0.00019186308025560757 -0.000614530581866337 0 0 0 -1.7577224033300576e-05 -1432 0.00021265962584254272 -0.0010137834290686737 0 0 0 1.89037448682792e-05 -1436 0.0008065231884831942 -0.0008891289330825827 0 0 0 9.873942858012558e-05 -4640 -0.0009195468950075253 -0.0007887366098051778 0 0 0 0.0013315555474719713 -1459 0.0006752423678929905 -0.0003828253733106876 0 0 0 -1.2767484025109396e-05 -1461 0.0002947811063733035 -0.0004971237616331998 0 0 0 0.00016150055784272015 -1491 0.0005826252010511291 -0.00039495565292397634 0 0 0 8.380997818066823e-05 -1505 0.00017277527450200426 -0.0008370396997640486 0 0 0 -4.527771877884378e-05 -3150 -3.5871373579095924e-05 -0.0011468361417914096 0 0 0 -0.0001002806826735789 -1532 0.0003138000186622976 -0.0006076040534271368 0 0 0 -3.0974064316084866e-05 -1535 0.0005572384355082067 -0.0007487627777397884 0 0 0 6.146020183373342e-07 -1562 0.0004652222158449217 -0.0007682910851859333 0 0 0 -3.738609705511017e-05 -1568 0.0001927819484936629 -0.0004963877402666428 0 0 0 0.00010650424463552195 -1577 0.00032028182631593766 -0.0005893646405905012 0 0 0 3.9135918390158766e-05 -1650 0.0004368752004978057 -6.279834144564443e-05 0 0 0 -0.0002612028303464329 -1651 0.0002196845568427966 -0.0013431023795584835 0 0 0 -2.8341228853155385e-05 -1688 0.0002725419665760385 -0.0009701270151665431 0 0 0 6.793736838486411e-05 -1696 -7.836511735028652e-05 -0.000917492028269915 0 0 0 0.0005055215225230524 -9635 5.730563768439527e-07 -0.0008215408291833787 0 0 0 0.00022455109194715434 -1713 -0.00010169656443753577 -3.0994508339982835e-05 0 0 0 0.00010797795717666353 -1735 0.00048160375984097485 -0.0008893439783078881 0 0 0 -5.146171683183028e-06 -1740 0.00028496808817150186 -0.000701931267731494 0 0 0 1.0485265094511411e-05 -1771 0.00044146291463684613 -0.0005431975169639393 0 0 0 3.620463333038063e-06 -1779 0.0006280541895217225 -0.0004933972925635485 0 0 0 5.0591372757285404e-05 -1870 0.0003795334956703565 -0.00026127767638116833 0 0 0 -3.1346992644747595e-06 -1919 0.00016132622732978837 -0.0011347851183601979 0 0 0 -2.2316233615702617e-05 -1946 1.1972396417504703e-05 -4.38348453503976e-05 0 0 0 4.6060249785561344e-05 -1975 0.0005281131790626023 -0.0007885106105565943 0 0 0 -6.440692416434536e-05 -1986 0.0001366923270314675 -0.0006130829947995378 0 0 0 -5.724974836071855e-05 -2003 -4.5305371038124156e-05 -0.001069477220140626 0 0 0 -5.981531817388642e-05 -2004 0.00015386604402392863 -0.0010145145654220393 0 0 0 -0.00010204026073646042 -9686 8.208338858267104e-05 -0.0008783845548678581 0 0 0 -2.5505508586580782e-05 -2058 0.000594280007413551 -0.0005863297923815559 0 0 0 9.082586515491223e-06 -2080 0.00048698990496544997 -0.000417429887544947 0 0 0 2.1856059276197176e-05 -2093 -0.0006250374345100457 -0.000496762926328955 0 0 0 0.0004338081962337125 -7486 0.0003498195705317966 -0.0006873512633160496 0 0 0 8.950818138203092e-06 -2133 0.00023973676265311386 -0.00029048214487949143 0 0 0 0.00015346712232655897 -2134 -0.00015584010751505445 -0.0003592423668811291 0 0 0 0.00029480449528580924 -2137 -8.842196961988429e-05 -0.001019542719774369 0 0 0 -0.0003966447630983936 -2142 0.00021425703503772932 -0.0008925791299258041 0 0 0 2.7587696394936304e-05 -678 -2.4167587444205253e-05 -0.0011400642810144228 0 0 0 3.815893270277718e-05 -2219 0.000710569916795687 -0.0005077492408805249 0 0 0 -2.1526376358368627e-05 -2226 0.0003123646545005865 -0.0008254130416371132 0 0 0 -1.115319184283025e-05 -2308 5.451548702060932e-05 -0.0009718711746370298 0 0 0 -8.762284917072964e-06 -2317 0.0001700626231597101 -0.0007487278444856374 0 0 0 0.00013816122411547488 -2320 0.0007196121545939955 -0.0005391108399101113 0 0 0 7.746277918531055e-05 -2327 7.824992062424424e-05 -0.0008688587238637953 0 0 0 0.0001780624011307525 -9603 -0.0006622766587530925 -0.0013759446708212968 0 0 0 -0.00017805843394301713 -9412 -0.00045679970902823074 -0.0008062861786440731 0 0 0 0.0031941735283320485 -6286 0.000499713100085459 -0.0010079985854114899 0 0 0 0.0005514918176249041 -2397 -0.0003339863965442841 1.628613855687795e-05 0 0 0 0.000318021896709058 -2400 0.0007917606283824702 -0.0006029174254981277 0 0 0 1.7249906020708796e-05 -2441 0.0003192050802661152 -0.0007637408562916742 0 0 0 -0.00012115633437506513 -2476 1.1443774802564906e-05 -7.086900388547322e-05 0 0 0 -0.00010236401482151443 -2488 0.0007164742061604019 -0.0006735493950264104 0 0 0 -7.144701209277025e-06 -2495 -5.990736382525088e-05 -0.0011122371585668138 0 0 0 0.00016804494401472694 -9943 -0.00015792259261734328 -0.00017558465921206325 0 0 0 0.0004634997481709235 -2519 0.0004132827244748584 -0.0009027349299880358 0 0 0 3.798341594823435e-05 -2547 0.0005749930740483305 -0.0005835699865183755 0 0 0 9.59116324608609e-05 -2571 -0.0004975803577799469 -0.000525482026054737 0 0 0 0.0003487691211567399 -2576 0.00048000132928884047 -0.0007368979343718433 0 0 0 0.00018711513799292388 -2598 0.0001492126632199038 -0.0011141352860137568 0 0 0 5.1056780415128355e-05 -2603 -0.00010132116248772186 -0.00011139108687952753 0 0 0 -0.00012486162768283082 -2611 6.731901988799798e-05 -5.8847656813360415e-05 0 0 0 9.851619325302618e-06 -2620 0.00041752339593583885 -0.0005719585342535631 0 0 0 8.040710990172017e-06 -2626 -0.00030119682035198593 -0.00019271225829841756 0 0 0 -0.0001441032933938953 -2653 4.353370485819753e-05 -0.0007598025648703403 0 0 0 -1.1726908161423449e-06 -2654 0.00016306848038419802 -0.0001594334669874141 0 0 0 -4.49188986059991e-05 -494 -0.001186805865481742 -0.0007878698269953518 0 0 0 -0.0007053182977387395 -2672 -3.539737374116013e-05 -0.0009388591982448542 0 0 0 1.4922771774531878e-05 -2686 0.0004776356997698895 -0.0007375908856327025 0 0 0 0.00010783875130929572 -2701 -0.00044478708807833156 -0.0002352769167861525 0 0 0 0.00012051013978186898 -2714 0.0006602241126035667 -0.0004945164086557819 0 0 0 3.415224547714788e-05 -2719 -3.176266261914725e-05 -0.00015556498824581276 0 0 0 -7.150932548547177e-05 -2756 0.0005345515200144056 -0.0001390821526546476 0 0 0 0.00029152316482499477 -712 -0.00016913980660512686 -0.0012454523658166582 0 0 0 -1.6474033839242062e-05 -2784 0.00013618022936794203 -0.0006050355873395519 0 0 0 0.00012605109625472277 -9263 0.00010566562308313035 -0.0010179585595333125 0 0 0 5.5241385567275815e-05 -2809 2.3497328386739485e-05 -0.0009467494642242339 0 0 0 0.0008100499904332586 -2812 0.001054635469126518 -0.0003925303213414649 0 0 0 6.271392405209785e-05 -2838 0.0006465635328669719 -0.0014456081560140532 0 0 0 -0.00015351893029550852 -2861 -0.0008107826767329323 0.0002234450783414359 0 0 0 -1.8069800179627534e-05 -2874 -9.027991998329668e-05 -8.528594625639353e-05 0 0 0 9.546028199429233e-06 -2880 0.0005064248042701103 -0.0008007926789068427 0 0 0 -0.0004491635756580785 -2908 -0.0002467677882273792 -0.0002049036901059541 0 0 0 0.0002979042534627641 -2912 -0.00015540062205972102 -0.00024385574367327044 0 0 0 0.0001222324570686359 -2920 0.0005589972749116653 -0.0005680161363486231 0 0 0 0.000506579792845769 -2922 -7.855821759977253e-05 -0.00015469143609102434 0 0 0 -2.6082297086973256e-05 -2929 0.0007745694938158068 -0.00064698973948161 0 0 0 1.937139569334606e-05 -2931 0.0003615195821790509 -0.0008314168303407527 0 0 0 9.890025426381654e-05 -2956 0.0005418908143785365 -0.000740697838196899 0 0 0 0.0005440558200705605 -2974 0.0006482911410051345 -0.0006843645621861613 0 0 0 4.329977780759494e-06 -2983 0.00011355298600389917 -0.00011873337643988366 0 0 0 -9.653494725398596e-05 -981 0.0002929365592537502 -0.00116675081375834 0 0 0 -0.00010610124232178679 -3002 0.00019199278922044766 -0.0005015977368202549 0 0 0 0.0012332591440210967 -3004 0.0005337284343599953 -0.00046603729328127864 0 0 0 -0.0002388681283276439 -3013 -5.700850482990153e-06 -0.001102708171962712 0 0 0 2.1034949565734476e-05 -3027 0.00041672674427643776 -0.0008476083322257698 0 0 0 -4.346289843813581e-05 -3049 0.0002623384386413364 -0.000645037524492609 0 0 0 0.00011711255706858824 -3067 0.0001768450910473817 -0.00010085368710663197 0 0 0 3.3662610701503206e-05 -3075 0.0005249548653260889 -0.0006743378678454763 0 0 0 2.374672593932594e-05 -3100 0.0006919682181240361 -0.0006412838501804437 0 0 0 4.827820734726164e-05 -3113 -8.612921658204895e-05 -2.1717585163612843e-05 0 0 0 0.00010550821871845407 -3123 8.197500940894303e-05 -0.0011478871560408322 0 0 0 4.3704867097848404e-05 -3142 0.0005586052328966069 -0.0009592526145371465 0 0 0 -2.54877127975829e-05 -4449 -6.7515677184101095e-06 -0.0007702675602284038 0 0 0 5.6258167798081994e-06 -3161 0.0003035500829689864 -0.0010646281347816186 0 0 0 5.465520029709243e-06 -3166 0.00027388219412650706 -0.0005159374901156291 0 0 0 -0.00017976089637920917 -3169 -1.1965971719625302e-05 -0.0010262217305349514 0 0 0 0.00010635191543756474 -3189 0.0002719375086623071 -0.0006732444211485879 0 0 0 3.598280775561035e-05 -3191 0.00031248433207266887 -0.0008053375597134706 0 0 0 -4.533510875121547e-05 -3197 0.00025514345260893237 -0.0009348282780205848 0 0 0 4.163541607686404e-05 -9247 -0.0006145909591754996 -0.0008596847805424209 0 0 0 -0.0009395254311034685 -3222 0.0008740345662360135 -0.0006350250188555633 0 0 0 -1.949646876920063e-05 -3241 -5.602042772209043e-05 -0.00017901594611137285 0 0 0 0.0002919794882577848 -3248 0.00018278395772925165 -0.0006007334269561986 0 0 0 0.00011176264612964936 -3299 5.449335302515635e-05 -0.001171752165265458 0 0 0 -0.00010690850258675052 -3651 -0.0002377841378146511 -0.00019324686854599183 0 0 0 0.000411170054907721 -4601 0.00040256169018408573 -0.0006168235129506219 0 0 0 4.2340026133249554e-05 -3367 -5.40894225882652e-06 -2.5337452938835463e-06 0 0 0 6.850291875776434e-05 -3376 8.405212609915214e-05 -0.00101362077522776 0 0 0 -0.00013351964029367162 -3379 0.0004109631395947935 -0.0008770255775241852 0 0 0 2.6420452018647082e-05 -3419 -0.0007625514463489092 6.55483346923862e-06 0 0 0 0.0003292662059161736 -2033 -0.0005908619734390225 -0.0017113277054279562 0 0 0 0.001115078369845172 -3461 -0.0002626050733502277 -0.00030397365579850656 0 0 0 0.00026165350841676906 -3496 0.0001741394787407932 -0.0009164159051052758 0 0 0 -5.158794566624122e-05 -3506 0.00015982625187822423 -0.000789076473228901 0 0 0 1.876781834569514e-05 -3517 7.979873428569849e-05 -0.00013245253563933088 0 0 0 -0.00016627281346448487 -3539 0.00043629196806301484 -0.0009598769778351578 0 0 0 -8.76526394939366e-06 -3589 -1.9765849309409996e-05 -0.0008536354088555878 0 0 0 -0.00015302026155900904 -3592 0.0005026865686178652 -0.0008501780698335089 0 0 0 0.0002448280277199802 -9307 -0.00034747252615412654 -0.001443918501290226 0 0 0 0.0008823869440061382 -3644 -3.9848463722392945e-05 -0.0011654355558264214 0 0 0 5.391498898775952e-05 -8890 0.00041314121188493 0.0004945311228837655 0 0 0 0.00021697412511379057 -3654 0.000651014807849932 -0.0006499015837847628 0 0 0 -5.402048698582144e-05 -3656 0.0004103231203203803 -0.0009277049213962355 0 0 0 0.00011765175995730043 -3678 0.0001620966484445437 -0.00010527631346162824 0 0 0 -1.822789549853447e-05 -3682 0.0003489439009256965 -0.0003275178026418072 0 0 0 0.00014223646017099312 -3704 0.0007162623119058335 -0.0006637920864112095 0 0 0 -2.190900581310586e-05 -3722 5.9413635809941726e-05 -0.0009628472143155887 0 0 0 -0.0002560373600793402 -9074 -0.00018535181051089779 -0.001180090649056981 0 0 0 3.449313488981817e-05 -3737 0.00033368925665421396 -0.0006234557051557026 0 0 0 8.271270909596344e-06 -3743 5.0962645163105764e-05 -0.0007718097132276663 0 0 0 3.5173849281634585e-05 -3754 -0.0001377446821987888 -0.00020957844921497412 0 0 0 5.9090459055571386e-05 -3769 0.0004976823279073377 -0.0007000556851797027 0 0 0 -0.00010780373841200603 -1839 -0.0015225867881629872 -0.0002520459869675557 0 0 0 0.001903098735410272 -3781 0.0007837314274409407 -0.0005948336257935278 0 0 0 2.7968608219383956e-05 -3791 2.5540805473116844e-05 -8.203257605894024e-05 0 0 0 7.606911606807566e-05 -3821 0.0002659538826929938 -0.0001765174280073176 0 0 0 -8.209688150930185e-05 -3825 9.05782058893857e-05 0.0001525905096175701 0 0 0 -2.885944847205999e-05 -3832 0.0005287545519077226 -0.0007173719567834069 0 0 0 -6.720181681783046e-05 -3856 0.0004903595819649449 -0.0006903805260833294 0 0 0 3.67694817781798e-05 -5965 0.0001455846620419375 -0.0007271630182134128 0 0 0 4.214958547014797e-05 -3877 0.0002586269089508917 -0.0003267923454623706 0 0 0 0.00011380133196133779 -3894 0.0006250323276545251 -0.0006983202624275491 0 0 0 7.025172086946348e-06 -3922 0.0002597474831843798 -0.0003973538686121547 0 0 0 6.085626813768597e-05 -3946 0.00029276594252791277 -0.0005630181525167336 0 0 0 1.193038133696311e-06 -3963 0.0006127093066472602 -0.0003986144928305992 0 0 0 8.327315768734066e-05 -3982 -9.402604256922698e-05 -0.0011582074533082337 0 0 0 0.00010339033490024871 -4032 0.00020659892524470708 -0.0007156639474343422 0 0 0 8.68968290813904e-05 -697 -0.0002424945911681861 1.3022295578023071e-05 0 0 0 4.101813998675154e-05 -4094 4.76346465890676e-05 -0.0009380238875939472 0 0 0 -6.564632849581722e-05 -4095 -0.0005445852535618187 -0.0002956913474321904 0 0 0 -8.949495677677346e-05 -4126 -0.0001978839475160991 -0.00021051504473839933 0 0 0 -0.0002977886386778574 -4152 -0.0002534353502663036 -7.207548892839535e-06 0 0 0 0.00024256933555056066 -4177 0.0007118365388165259 -0.0006778975614971987 0 0 0 9.22994049998991e-06 -4194 0.000263909333533825 -0.00026907533803460727 0 0 0 -0.000584284681115321 -4206 0.000518055247117757 -0.0007070233196428309 0 0 0 5.855480760134192e-05 -4217 -0.00036574668838079965 -4.8119361665566925e-05 0 0 0 -0.00037265420376056754 -4241 0.0006575565490261736 -0.0006964879128765067 0 0 0 1.7039568502485e-06 -177 0.00018977682855582224 -0.0007514403455332461 0 0 0 2.1051924148462e-05 -4265 0.0004541102134923197 -0.000881858792923091 0 0 0 -1.4722797223084604e-06 -4292 8.562137000018061e-05 -0.0007764056981217975 0 0 0 -4.759059023959771e-06 -4306 0.0006696725147174663 -0.0004394156326089312 0 0 0 5.8883843845015245e-05 -4310 0.0007711056896402971 -0.0004911911180840408 0 0 0 -0.0002051041164763786 -4341 7.62164314118683e-05 -0.00018175874603003844 0 0 0 4.642572509445047e-05 -4355 4.552003095757764e-05 -0.0007640261943975043 0 0 0 2.5247367011473818e-05 -5959 -0.0008553425416099392 0.0001728453604314756 0 0 0 -0.0006244038394977446 -7820 3.741949838459451e-05 -0.0007396933454564796 0 0 0 5.5619963672529074e-05 -4387 0.00047924901162429084 -0.0008036591826188776 0 0 0 -2.194108618571378e-06 -4404 0.00011852095702516812 -0.000967428028403737 0 0 0 0.00026815825321780925 -7565 -0.001888908587107767 0.0012076257942675028 0 0 0 -0.002601026061905497 -4428 0.00010365332847124205 -0.00017734154496292268 0 0 0 1.667064242796484e-05 -4431 0.00066913225706145 -0.0005026986872550514 0 0 0 -1.9962957541072247e-05 -4436 -1.28751587383283e-06 -0.00010277632594711433 0 0 0 -1.3158814340497916e-05 -4438 0.001211676469740173 -0.0009235467586793465 0 0 0 -0.0009177617140961107 -4458 0.00012930025009935206 -0.001146625978019996 0 0 0 -6.11802519475383e-05 -4487 0.0005550089032986518 -0.00045324765257362246 0 0 0 0.0001193791262399965 -4489 0.0003316341781697547 -0.0004804160183196201 0 0 0 0.00022221829369491983 -4526 2.078417270119472e-05 -0.0011916621775347781 0 0 0 8.018963597179461e-05 -4528 -0.00030178585780699064 -0.00020823750801028939 0 0 0 0.0001749417394986038 -4530 0.0008393100095830094 -0.0006658942799340915 0 0 0 -1.2434425530133377e-05 -4544 -0.00026406087717099463 -0.00016810745702545193 0 0 0 7.439609619864289e-06 -5307 0.0002755989609218351 0.0002711594405065205 0 0 0 -0.0006419895402691491 -4555 0.0002599650137388939 -0.0001223336881515237 0 0 0 0.00010710599962407515 -4566 4.1235546458406826e-05 -0.0006642547864278994 0 0 0 -0.0010425320632034185 -4570 -0.00010790123062631736 -2.400095914478372e-06 0 0 0 0.00011046951018803062 -2290 -0.0012082767754504258 -0.0007868671789409439 0 0 0 0.0014203630907339737 -2803 -0.0013000236121991254 0.0004346344136222414 0 0 0 0.0003144157900666841 -5375 -0.0010156655455058642 0.00035276553572974404 0 0 0 0.00016796027384938432 -4620 -0.0005296803578137953 -0.0007298412719784749 0 0 0 0.0002431948900515389 -4621 0.00013804203016747142 -0.0009656326292751959 0 0 0 0.00033451326452101164 -4634 0.00022782276247206986 -0.0007800500623339367 0 0 0 -1.2371127911818835e-05 -6002 -0.00018092917817981306 -5.6943048957535854e-05 0 0 0 -6.34750023549491e-05 -4642 0.0005497031749937939 -0.0006722842388684617 0 0 0 -0.0008467544308298497 -4678 0.0005196823406584704 -0.000440643511665144 0 0 0 -6.938878904325651e-05 -4685 0.00011562267967154333 -0.0011595532363180747 0 0 0 0.00011330946598952391 -4691 0.0008293654715148146 -0.0005274320219787698 0 0 0 -0.00030165564750359643 -4745 1.1100287946349626e-06 -0.00023371176213525974 0 0 0 -0.00013032639192739624 -4772 6.674628854996635e-05 -0.0008182134997979007 0 0 0 6.710398080956723e-05 -4776 0.00020836617941497846 -0.0006466750192560825 0 0 0 -0.00011921736751120289 -4781 -0.0008817714005710686 6.023563390555746e-05 0 0 0 -0.0001398246343150008 -4797 0.0005402249032309836 -2.4909061081526716e-05 0 0 0 5.130796547663511e-05 -4817 0.0001166279194796269 -0.00023763883988916956 0 0 0 -0.00023917742519574933 -8217 -0.00016881176088806167 -0.0013119337543177245 0 0 0 -0.00012715806803975917 -4837 -0.00012267249367111657 -0.0005940241331605926 0 0 0 -0.0015992038665259996 -4841 0.0002084668417510067 5.86817502154433e-05 0 0 0 -0.00010921698051906256 -4844 -2.4677482975639782e-05 -1.40195782879995e-05 0 0 0 -9.303998225160635e-05 -4863 0.0006484185481806412 -0.0011323363831103107 0 0 0 0.00017491821231892287 -6304 -0.0008189035941070456 -0.001129220922168074 0 0 0 -0.00012898980925604895 -4884 0.00019306403188788245 -0.0008207840745201816 0 0 0 -1.8949588851564546e-05 -7515 -0.0006845625911142864 0.0004912006451895868 0 0 0 -0.0010245302873721637 -4916 0.0002920474781074776 -0.0007940296598539135 0 0 0 -0.0001029045819439543 -4942 0.0007306374262415227 -0.0006228662095657164 0 0 0 4.602103828558052e-05 -5003 0.0003528457981818625 -0.0009392424240003243 0 0 0 6.332679259827527e-05 -5010 0.0007594016703972924 -0.00023631019900167987 0 0 0 0.00047201591965707684 -5021 -0.00016854818449067228 -0.00021321336851991155 0 0 0 -0.00015240173592353826 -5030 0.00028001205994924484 -0.0009569820313299516 0 0 0 -3.0293521198804624e-05 -5058 -4.5095500514846096e-05 -0.0012057571830311488 0 0 0 7.124343171728403e-05 -5092 0.00058093715541986 -0.0007744009196084231 0 0 0 -5.5864025968823e-06 -5095 0.00023480475101615532 -0.00017585210521160136 0 0 0 0.00011057652964819815 -5111 0.000774379591428883 8.435895101111779e-05 0 0 0 -5.028861714590924e-05 -5119 -0.00017581984370417455 -0.000231554044789841 0 0 0 0.00040723293199880473 -5122 0.0032724471648769085 0.0008358601539335601 0 0 0 0.0005812152472760038 -5142 0.00047895499859408993 -0.0007817265725426694 0 0 0 5.451638313091867e-05 -5176 0.0006039541795702093 -0.00047934766109755694 0 0 0 8.712583358510515e-06 -5180 -8.578280084131428e-05 -0.0001417913047430747 0 0 0 9.729767493066809e-07 -5198 0.0003655701712333687 -0.0008543080939038496 0 0 0 -1.3303886799384606e-05 -5260 -3.292883339084233e-05 -0.0005812127686619472 0 0 0 -2.451303523905388e-07 -5296 0.0004114249730014334 -0.0004435611847858361 0 0 0 0.00022832505439616155 -3742 6.35668644257099e-05 -0.00036953352013931943 0 0 0 0.0008874658179428513 -5310 -0.0007695230131580853 0.00033726009038649476 0 0 0 -0.0006347228201042691 -5329 7.010191024922457e-05 -0.00020941239250193996 0 0 0 2.4976677117874285e-05 -7967 -0.00016481934960208263 2.4008123939459015e-05 0 0 0 -1.119601304990629e-05 -3874 0.0007862893721023114 -0.0003429111582751491 0 0 0 1.8992677080819019e-06 -5382 -0.00023426697393934268 -0.00034041308967311385 0 0 0 -0.00020559625253793504 -5397 0.000581356978784065 -0.0003476287461722307 0 0 0 -4.8891439345910974e-05 -5400 0.00016253364552417567 -0.001235437755149131 0 0 0 0.0001140045125751789 -5411 0.00048040236810085204 -0.0004044145886655918 0 0 0 2.8502627481228692e-05 -5425 0.0003306917753059995 -0.00013760943959568333 0 0 0 -7.065189930553904e-05 -5438 2.1840772512886997e-05 -0.0008885312326912256 0 0 0 -0.0001973958937248874 -5453 -0.0007119729836495063 0.0011638737585340218 0 0 0 -0.0007898240912372789 -5471 0.0008018751969793678 -0.0006545309677583453 0 0 0 4.610879855443617e-05 -5494 0.00034205122676451603 1.976735506811777e-06 0 0 0 0.00030314270760024934 -5509 3.4386364218404486e-05 -0.0006353884247266758 0 0 0 0.0020600462036573742 -5518 -5.721657476870417e-06 -0.0009684533568239776 0 0 0 0.00024097276628097175 -5526 -7.978295358285691e-05 -0.000263341028713279 0 0 0 -1.4979999264658717e-05 -5530 -0.002098970673365052 0.0009221620610847668 0 0 0 0.0015713034383836697 -5537 -0.0006715506409040147 3.513131936818645e-05 0 0 0 0.00014630906509227582 -338 0.00036819135609052997 -0.00144300371697975 0 0 0 -7.089129183366969e-06 -5560 0.00028165140471642834 -0.000566826273683916 0 0 0 -6.736989217842745e-05 -5579 0.0005426280230818732 -0.0007576969540130876 0 0 0 0.0001256403267356505 -5620 -0.00021854460712976816 -0.0009019049964844312 0 0 0 -9.069406303851772e-06 -5654 0.00045557031598538497 -6.436647416212182e-05 0 0 0 5.427838303288078e-05 -5660 6.771151691621022e-05 -0.0002805715382081043 0 0 0 0.0001584358130872331 -5672 -5.558640643031562e-05 -0.000799647343626735 0 0 0 -0.00046255615357781906 -5677 0.0005723362867428871 -0.0006877628891708369 0 0 0 -6.812550522505419e-05 -6046 0.00014046205729617673 -0.0012479990830350353 0 0 0 0.0002013491883710549 -5683 3.547576974431087e-05 -0.00025489016656676686 0 0 0 0.0007471964520198087 -5714 0.0007548023797388165 -0.00041587055627816257 0 0 0 2.9206971375329007e-05 -5715 0.0006910170279284635 -0.0005060328644609086 0 0 0 4.340078139466387e-05 -5723 0.00013213847845090556 -0.0006110175211765219 0 0 0 -3.567498223924979e-05 -5724 -0.00013115211364533955 -0.0008388957666453174 0 0 0 -7.832236266650295e-05 -5769 -3.4996738546293907e-05 -6.784555143602362e-05 0 0 0 0.00010751689811550523 -5813 -7.591199515925105e-06 -9.106145994089368e-05 0 0 0 -5.478256694723766e-06 -5815 0.00016771393806355874 -0.0008781340339424652 0 0 0 0.0006641365780947482 -5838 0.00036780451992322915 -0.0005477081659299574 0 0 0 -6.228584055882669e-05 -5852 -0.00011449126008888667 -6.96135259315115e-05 0 0 0 -0.00011229497082600724 -5860 0.0001533877087374838 -0.001009325811286448 0 0 0 -0.0001966809850327138 -5872 -0.0004883148584672253 -0.00040103887223923564 0 0 0 0.0012391822524393831 -5886 0.0006257631053332406 -0.00012095280984748527 0 0 0 -3.001828249056215e-06 -5944 -0.0004128965747636474 -0.00014802103868382795 0 0 0 0.0009094757175297799 -9991 0.0005253887304078925 -0.0005524283998912768 0 0 0 0.0009085067687616625 -5982 0.00035456217371636914 -0.0007137151183042078 0 0 0 5.1923720627885094e-05 -6015 2.619213873021749e-05 -0.0002517194817308715 0 0 0 0.00021663779154646706 -6016 -0.00022063774254159224 -0.0006334360981282825 0 0 0 -0.00020488232767634776 -6030 0.0003163516024387317 -0.00032562587133481535 0 0 0 0.00014389889911472576 -6032 0.00021740792668261422 -0.0008238744668366495 0 0 0 -5.554756365248228e-05 -6054 6.562833582346675e-05 -0.0006369462962600931 0 0 0 -0.0001795999836700057 -6055 0.0002921596803657334 -0.0008518650366542315 0 0 0 -0.00015703823364132753 -6076 5.851802006257494e-05 -0.0004742855132527478 0 0 0 -0.0002478928513924636 -6084 -0.00025073556463915285 -0.00023966712462504915 0 0 0 -0.00037213454372209674 -6091 0.0008985335324859226 -0.0005199870900797534 0 0 0 -0.0011063447343431418 -6101 -0.00014027718474758657 -0.00024342947361754067 0 0 0 -0.0002589570351013619 -6117 0.00028138059271824197 -0.0008455618114932511 0 0 0 -4.725388954465202e-06 -6149 -1.8718043393448712e-05 -0.0009276612346354635 0 0 0 -0.00021530416647246275 -6157 0.000597067299848074 -0.0008089720684108296 0 0 0 -0.0005754172653762454 -6164 -0.0004207861129049308 -0.0005514539600654878 0 0 0 0.0005903976373329584 -6166 -0.00021217939541815373 -0.00014598065823193305 0 0 0 -0.0002637202566016883 -6173 0.00036123651895045983 -0.000815153256567745 0 0 0 3.8554676983509437e-05 -6260 -0.0009918091729255178 -0.0006522115229561098 0 0 0 0.0005178089494945486 -8779 -0.0012828711373002598 -0.00112300070463555 0 0 0 0.00258377388340048 -6295 0.0003716175623004732 -0.0008437755858353395 0 0 0 -1.0037276176368666e-05 -6334 7.366704449190345e-05 0.00031410428678509545 0 0 0 6.555796333192356e-05 -6335 0.0002687980585787707 -0.000968685012115495 0 0 0 -3.0989910339457825e-05 -7135 0.00010790614734801685 -0.001039525617633327 0 0 0 0.00040496252520132273 -6381 0.0010645610592926623 -0.0018087707235290885 0 0 0 0.0012785035148920642 -6382 0.0006192612105027953 -0.00022151210295319498 0 0 0 -0.0003329485989935643 -6391 0.0002844898854288527 -0.0006677858765315868 0 0 0 -9.991096357090178e-05 -6402 -0.00021554492067467376 -1.1806764900143505e-06 0 0 0 -0.0001554871267021131 -6418 0.00046843594900016216 -0.0008514131840066385 0 0 0 -8.382987074799198e-05 -6425 2.8161517022658932e-05 -0.0008117164498141062 0 0 0 -9.793369392298073e-05 -6479 -2.4143478284071804e-05 -0.0009127538580714548 0 0 0 -7.509333721146227e-05 -6487 -0.00020961119578220047 -0.00019519875412263106 0 0 0 -4.000416944443821e-05 -6492 0.000457013378247209 -0.0009896520355727242 0 0 0 0.0007438213225446853 -6535 -8.521178717158452e-05 -0.00020518346284563267 0 0 0 -0.00018537707702364592 -6563 -0.00014192810453898827 -0.0001485055500969879 0 0 0 4.6146039076383366e-05 -6601 4.840008628571189e-05 -0.001111801977312084 0 0 0 0.00014149208028255898 -6602 0.0007336303205259521 -0.00037429765911739396 0 0 0 4.708720420156984e-06 -6625 0.0005668943651789881 -0.0004194203624688251 0 0 0 4.0665439716368403e-05 -6631 0.0005841788455568303 -0.0006112187065242988 0 0 0 -0.000706483653776897 -6636 0.00017131127732560587 -0.0012818937981872737 0 0 0 -1.0190772372108007e-05 -7341 -0.0003400687923268256 -0.0010325279084384335 0 0 0 0.00028681724453218717 -6682 0.00028547368655473137 -0.00037289032130618876 0 0 0 6.060102403589958e-05 -9474 -0.00020462430293707743 -0.0011758795311238564 0 0 0 7.108085603355906e-06 -6695 0.00015786148313573302 -5.8941339751740044e-05 0 0 0 -2.328955378225797e-05 -6223 0.00016598019212873377 -0.0010093927070746705 0 0 0 -0.0002988000779677269 -6723 -0.00011915906413593867 -6.660205861647589e-05 0 0 0 -0.0002464451771721653 -6810 -0.00028192676964398006 -0.00027637047754585205 0 0 0 -0.0003194622912262513 -6863 0.00019932087461098708 -0.0007642304023697111 0 0 0 1.4749461448283924e-05 -6869 0.00038221095891125727 -0.0003918356253630494 0 0 0 0.00011116360548630574 -6879 0.0005575092164692291 -0.0005564122620098079 0 0 0 0.0009261349433147023 -6911 0.0004826991106913757 -0.0005492790578908749 0 0 0 2.8535024718285724e-05 -6914 -0.00015334705821596985 -0.00023928688629977217 0 0 0 -0.0001307146308612062 -2875 -0.0004576606186490456 -1.7730756342567333e-05 0 0 0 -0.00010066899255545945 -6958 0.0003013487535009044 -0.0006400063070210754 0 0 0 3.0070236695302588e-05 -6967 -0.0001284838391515421 -0.0001910951416471394 0 0 0 -7.172249211667349e-06 -6972 -2.7862925863615585e-05 -0.001184798460555372 0 0 0 -6.748652108765944e-05 -6973 6.0279918420217614e-05 -0.0004720474254056135 0 0 0 -0.0023248736738925428 -7048 0.00048057673277491293 -0.0008767675907925219 0 0 0 1.0257552757826565e-05 -7058 0.0009083076282900796 -0.0005948227334035713 0 0 0 4.787467626576157e-05 -7061 0.00011194449299397076 -0.0012405242174983973 0 0 0 9.281413043471412e-05 -7063 -0.0003858577027508951 -0.00011680811528372787 0 0 0 0.001287412155259256 -7069 2.523292734770986e-05 0.0001209349935773487 0 0 0 0.0003559586108588018 -7084 0.0004795337510883961 -0.0008659608745717722 0 0 0 -0.00011007827430243259 -1903 0.0003976351632628018 -0.0010841042516458977 0 0 0 -0.00015120988221658046 -8531 -0.00029181025049362035 -0.0017734023224091665 0 0 0 0.0006713100039540736 -7109 9.643645353221384e-05 -0.00013562472127978534 0 0 0 1.6504866983765857e-06 -3098 0.0003368209947507751 -0.0007057089238875762 0 0 0 -1.9343742190378618e-05 -7123 0.00012883041348024125 -0.00111397751129334 0 0 0 0.00016913626663449445 -7132 0.0008468574150060599 -0.000644734101229831 0 0 0 -5.916729936267141e-05 -4780 -6.850715034160345e-05 -0.0007311079792509992 0 0 0 -2.5293321201554066e-05 -9684 -0.00017548597148942682 4.745266004714286e-05 0 0 0 -6.826922353252484e-05 -8200 0.00021560017283345996 -0.0013984939514612835 0 0 0 -1.2864168729982666e-05 -2249 -0.000234923789620662 -0.000341120735859873 0 0 0 0.00045892024393586026 -7165 0.00037069811128313915 -0.001035585577584341 0 0 0 -0.0008713504070592533 -7172 0.0007362925242278591 -0.0005982457985004293 0 0 0 9.275372340398919e-05 -7213 0.0004514773835434072 -0.0005600922614785072 0 0 0 -1.2959943067998257e-05 -7215 0.00025867208436044196 -0.0010721874946156605 0 0 0 -0.00013138359387304162 -7217 -5.2582464422819955e-06 -8.243766596970067e-05 0 0 0 0.00021101956793227806 -7231 0.0004608758648496206 -0.0005581088153802317 0 0 0 1.1741795563146223e-05 -2676 -3.467228073815561e-05 -0.0007747421322616852 0 0 0 0.00027691398727300087 -7240 -0.0002976691311155637 -0.0020470510295436885 0 0 0 0.0005067406959143548 -11 -9.038435247316843e-05 -0.0013179727651437326 0 0 0 -2.091433278980559e-06 -7373 -2.0421261221686917e-05 -0.0008466695270282889 0 0 0 7.193338736886771e-05 -7374 -0.00026262590269427594 -0.0003720462854737229 0 0 0 -9.310292428367107e-05 -7378 -0.0015725201721773774 -0.0013287504005186888 0 0 0 -0.0010666688698355569 -7383 0.0007640706616344436 -0.00031757509541640764 0 0 0 -1.721408560627967e-05 -7400 0.0002494438052097254 -0.00015893116720196155 0 0 0 -9.084470610548615e-05 -7407 0.0004689443228087025 -0.0005432396616488305 0 0 0 1.0440441680409835e-05 -7412 0.000402530025825365 -0.0006484588346845814 0 0 0 -0.0001721878295317346 -7488 0.0006397132537519051 -0.0006822356017245874 0 0 0 6.631440131278262e-05 -7501 -0.00019183085767662892 -0.00021000493911434574 0 0 0 2.9252833610976373e-05 -7647 0.0013359005774833954 -0.0009341756694817455 0 0 0 0.0011989745750247654 -7539 0.0006790175298075373 -0.0004916834214074544 0 0 0 9.808302743915012e-05 -7569 -0.0004987769120978459 5.08506672870049e-05 0 0 0 0.0006150575497453958 -7596 -0.00018008041198478263 -0.0003391923526269753 0 0 0 9.502002962307467e-06 -7623 0.0001596534912756493 0.0007907118447056256 0 0 0 -0.0015739279335844083 -7626 0.000609983203012735 -0.0007050883304059985 0 0 0 -2.1305174300281057e-05 -7665 0.00022002455671062303 -0.000939476097096674 0 0 0 0.0001628829381656199 -7680 0.00034612572745318 -0.0006677561906443645 0 0 0 1.3124151679329397e-05 -7691 -0.0001169120358543669 -0.0010378284655664072 0 0 0 -0.00012412519189381886 -7744 0.0004382639957706631 -0.0006669092808710382 0 0 0 -0.0006818966824904151 -7752 -0.00018079969087928798 -0.0001397466096840293 0 0 0 -2.716007385037084e-06 -6779 -0.000616511368785189 -0.0013732841639106748 0 0 0 0.0003506226650539991 -7800 -6.576628926707305e-06 -8.303504463967278e-05 0 0 0 0.00025571524774998193 -7802 4.703253034421791e-05 -0.00025497966055191244 0 0 0 -0.00015669362522040516 -7829 0.0004032333839208933 -0.0004810471085839668 0 0 0 -0.0005967456589176558 -7837 0.0009627862097866942 -0.000184667227566315 0 0 0 -0.000208677040798344 -7847 0.0005241439328540383 -0.0007361602573134155 0 0 0 0.00020330406526729406 -7942 -0.0006269922279930309 0.00016385287498022443 0 0 0 0.0003123088484654 -3457 9.350682936263149e-05 -0.0007243958555374451 0 0 0 3.049549429600408e-05 -7974 0.00022488618027637652 -0.0007551605975684557 0 0 0 -8.879739889181853e-06 -7987 -0.0001293661669293339 -0.00011429026160162425 0 0 0 1.3915966528620503e-05 -8001 -0.0006382866690986069 -4.013671698634837e-05 0 0 0 0.0004169750329483615 -8015 0.00025073351691620103 -0.00024934791768530255 0 0 0 5.413252596222878e-05 -8093 0.0006108009951192876 -0.0005290892165675027 0 0 0 2.8588857323572785e-05 -2689 -0.001672724711901098 0.0006999175101309272 0 0 0 0.000317910175961839 -8123 0.00021197872203602405 -0.001088958304605479 0 0 0 0.00014009927309218138 -8137 0.0004191653842817042 -0.0005846664675996191 0 0 0 8.44500028819834e-05 -8139 0.0006475336874981561 -0.0007236326982914456 0 0 0 9.104012616829984e-06 -8147 0.00037082261288479194 -0.0007822932537555823 0 0 0 0.00017757758395240054 -8221 -1.4890793973706984e-06 -0.0008483675788606419 0 0 0 0.00012041225791557656 -8256 0.0006558175889109832 -0.00043210387624917124 0 0 0 7.64910287243342e-06 -8262 -0.00014547784241700958 -5.0409445685940144e-05 0 0 0 -0.0004168749365561063 -4106 -0.0011588471434176438 -0.0011733088517105646 0 0 0 0.0019441243764381619 -8314 -0.0005041666562864799 -0.00013379460264175444 0 0 0 0.00034790145092458057 -8320 0.00011828558345269784 -0.00010031593005618654 0 0 0 -5.868077728133228e-06 -3720 0.00028895941564033127 -0.001357497179972803 0 0 0 3.5644331675503116e-05 -8351 0.0006247650101644126 -0.0006026133567634351 0 0 0 3.1245581893943244e-05 -8406 0.00012921558108273452 -4.768642646808867e-05 0 0 0 0.0002378892054712335 -8449 -9.852763739479664e-06 -2.1534246851347194e-06 0 0 0 -0.00017474241656015074 -8519 -0.0004640920305002442 -0.00020354763384102702 0 0 0 -0.0004828002384151029 -8526 -5.453681882326371e-05 -3.0278933097005902e-05 0 0 0 -3.199954391547681e-05 -8532 0.0005717160733134928 -0.0007451570294404285 0 0 0 1.021210861536271e-05 -8548 0.0001707598085145927 -0.00037255331343117795 0 0 0 -0.00025180391791116227 -9512 0.00034898141940497424 -0.0006698612381230805 0 0 0 -2.092080605382747e-05 -8557 -0.00018912495701800262 -0.0012633766404222238 0 0 0 0.0003415923233304881 -8568 6.665950558623434e-05 -0.00017594299350428053 0 0 0 -9.541418232966636e-06 -3900 0.0001759528635215875 -0.0009920128918701212 0 0 0 -0.0003751603220302099 -8587 -1.6219811067217147e-05 -8.890499950798929e-05 0 0 0 -5.327407194459772e-05 -3459 -0.0009041675550302666 0.0007082672228565118 0 0 0 0.0005517284088959413 -8620 0.0003289526013168252 -0.0008072091004967146 0 0 0 0.0014615834583985984 -8633 0.0006192212982319608 -0.0004906634879569958 0 0 0 9.470581301569453e-05 -8670 6.485721653918279e-05 -0.0006845280425914782 0 0 0 -0.0006962612459762997 -8702 -0.0005602911626613478 -2.1995931691728862e-05 0 0 0 0.0010526912355034532 -8709 0.0002693658295408089 -0.0009636415823983273 0 0 0 1.820717363096377e-05 -8713 0.0003592119288000852 -0.0005569584938864615 0 0 0 0.00016511680236617676 -8110 -0.0004800053301493455 0.000135068024337686 0 0 0 0.000458182700612031 -8744 -2.695294605866206e-05 -0.0010318306169010468 0 0 0 0.0002998520036364542 -8756 0.000690960388502337 -0.0004001513682225554 0 0 0 0.00014958644636498594 -8801 0.0005410292312593856 -0.0005483587342410614 0 0 0 5.8344580439977796e-05 -8830 0.0004951378670210356 -0.00041064388974990974 0 0 0 0.0001895100071982413 -8831 0.00048219241326514367 -0.0008148908174158999 0 0 0 0.00020599032856831684 -8837 0.00021721097013232822 -0.00038556563113076867 0 0 0 1.856927414386821e-05 -8841 0.0003248680261619078 -0.0012505398735296416 0 0 0 -0.0006410894336761593 -8872 0.0007292011568599244 -0.0001466562399649295 0 0 0 0.00023509989576634414 -8884 0.00011907901807417082 -0.00115396946485163 0 0 0 0.00020061953712244995 -8896 0.0006622417248000012 -0.00025106589561385074 0 0 0 0.0003068789113318379 -8908 0.0013664242987234659 0.0007784833167072463 0 0 0 -0.00017343458285022466 -9703 -0.0005347003598895267 0.0033376153205626757 0 0 0 0.0005089049838362685 -8937 0.0004177504433372597 -0.00029698057672689835 0 0 0 0.00010252118802001052 -8953 0.00014872730535897877 -0.0006976027086493002 0 0 0 -0.00013806863366831065 -8975 0.0010383658125319183 -0.0002483475689756771 0 0 0 -0.00026802399069999843 -9010 7.685371022975751e-05 -0.0011487470613060927 0 0 0 0.00032008336831245495 -9114 0.0016056438700532173 -0.0025737572061481266 0 0 0 -0.0024765680523446843 -5950 0.0003736487197177189 -0.0006828438584978096 0 0 0 2.965122331947028e-05 -9167 0.0001548097796491405 -0.000665425817558507 0 0 0 0.0001077372200707743 -9169 0.00015626969833438837 -0.0009953984920258471 0 0 0 0.00024831223072493936 -9171 0.0007056853388546205 -0.0006170084127884779 0 0 0 7.779504823771342e-05 -9186 0.00010653817058043003 -0.0006144695655769726 0 0 0 8.526010297995759e-05 -9196 -0.00027860923581100237 -0.0003048333255298445 0 0 0 0.0007128102507746343 -9197 -6.024859249976838e-06 -0.0011225474506580421 0 0 0 -0.0006203773239390008 -9213 -3.660014722820472e-05 -0.0009710830582556631 0 0 0 -3.155697219773987e-05 -9219 0.00032047826375178513 -0.0007390860927097465 0 0 0 -6.622640515579181e-05 -9239 0.00019825809074663765 -0.0007740755363627962 0 0 0 -6.707177216086782e-06 -3281 -0.00023195067718855176 -0.0009799454803529597 0 0 0 0.00031616491325502766 -9290 0.0001932292968480676 -0.0006856885977763137 0 0 0 0.0001457373451271565 -9327 0.00035467934478326677 -0.0006321941871155847 0 0 0 0.00010743189973958784 -9334 0.0006271148644685587 -0.0007207302735720795 0 0 0 4.5019789149525224e-05 -9369 -9.124679605232371e-06 -9.933103584195872e-05 0 0 0 9.846680388956231e-05 -9371 0.0005986017266941914 -0.0007361126039516843 0 0 0 -8.596580458010435e-06 -9376 0.00037983357753004304 -0.0004417877203276145 0 0 0 -0.0002856402557673105 -9406 0.00013190691746902447 -0.0008298891618483395 0 0 0 -0.00035325410892725903 -9467 0.0006801645272846414 -0.00047228279248107927 0 0 0 6.0863371725992405e-06 -9510 1.1682129539522266e-05 -0.0002211300878960564 0 0 0 -2.8009499237969286e-05 -9511 0.0006076883121892567 -0.0005276172417953154 0 0 0 2.082068170563514e-05 -9527 0.000425785728753985 -0.0009157730832427511 0 0 0 -8.663388067175759e-05 -9546 0.0014330645545780549 -0.000201463462963558 0 0 0 -0.0016470679407895096 -9554 0.00026341965249497334 -0.0009058528378131982 0 0 0 6.335525613120525e-05 -9567 0.0004386993557447846 6.018105312071334e-05 0 0 0 5.903473890058058e-05 -9574 0.0006919456102582473 -0.0005185255188055428 0 0 0 7.732671387846151e-05 -9579 0.0005043883266911921 -0.000847842258208296 0 0 0 -6.316899952073696e-05 -9591 -0.00034791822220944796 -4.937580834098738e-05 0 0 0 0.0008885894485503491 -9607 5.837701159559668e-05 -0.0007816979444879926 0 0 0 -9.56578215775871e-05 -9616 0.0008182618024157697 -0.0006174100836960933 0 0 0 0.0001079941380643491 -9622 0.0003288876107725601 -0.0008854071409168368 0 0 0 3.0438502892023792e-06 -3784 -0.0006135456173324806 7.78567485732249e-05 0 0 0 -3.854739307404949e-05 -9633 0.0009061689605953042 -0.001116907275166477 0 0 0 -0.0005831046325310604 -9653 -0.0009184618900015388 0.0005413798515247679 0 0 0 0.0006133580610647802 -9898 0.0008182120715223371 -0.0002923424235750095 0 0 0 -1.3852696537043306e-05 -9736 3.4744776614060313e-06 -0.0010041143679939042 0 0 0 0.00036753910462144584 -9764 0.00047652102069303435 -0.0005340922428466696 0 0 0 -6.768100273948059e-05 -9776 0.00039608418969093743 -0.0005746597448890022 0 0 0 -0.00012150920202956019 -9778 0.0009428088679116898 -0.00017094327370708554 0 0 0 0.00035641223907706697 -9785 0.00029760042024770125 -0.0009209227816195258 0 0 0 0.00017578110187528223 -4413 -4.4587430550099044e-05 -0.001235157805647073 0 0 0 -0.000119144821003564 -9821 0.0007857606929861149 -0.0003059013291027206 0 0 0 2.8828242523704545e-05 -9910 0.0007376559100085991 -0.00042733613552854314 0 0 0 6.231632439500656e-05 -9868 0.0004487934254243159 -0.0007286762839125285 0 0 0 0.000113914324458573 -1486 -4.0732074747340766e-05 -0.0007693017517439706 0 0 0 5.5967857380476594e-05 -9900 0.0004605621694920426 -0.0008399219478045573 0 0 0 -6.630206060477332e-05 -9902 0.0007431354408540369 -0.0003675882788918504 0 0 0 2.7802977364876235e-05 -6747 -0.0002024330563489079 3.51499910130313e-05 0 0 0 6.725139822034789e-05 -2152 0.0003938217524825433 -0.00016612062300816759 0 0 0 8.668083828069622e-05 -4616 0.001068460575283102 0.00013298684678497453 0 0 0 0.00014868734632783405 -5336 -0.0003313071897994924 5.657425894654591e-05 0 0 0 0.00033575424630252065 -14 -0.0005999712514464084 6.126092369400741e-05 0 0 0 -3.082779739777475e-05 -43 -0.00030705769307776744 -0.0005945517131585085 0 0 0 7.578664638769965e-05 -55 0.0003212304926659146 6.292804114491781e-05 0 0 0 -1.9790578618988377e-05 -81 0.0004689296010151903 5.065367870692698e-05 0 0 0 3.79555221040008e-05 -114 -2.162496511969252e-05 -0.0014070446626764524 0 0 0 -2.9603251047407793e-06 -156 0.0004147172281201167 0.0004676260740621309 0 0 0 -7.0710834097567225e-06 -161 -0.0003845536354778601 0.00018289641376512328 0 0 0 -1.330762020464716e-06 -215 -0.000929922478181104 2.4247247513213426e-05 0 0 0 6.321475975462528e-06 -8711 -0.0004728285222502341 0.0002495018127806364 0 0 0 -9.450943536104287e-06 -230 0.00034140919364747786 0.0002089147245597934 0 0 0 -9.300930361913468e-06 -240 -0.00016650727266399068 -0.00010708427238803988 0 0 0 -2.8148967112441945e-06 -280 -0.00011154311943562156 -0.0006553359301118349 0 0 0 0.0001882036292230399 -290 0.00043583131206510826 0.000299035104631588 0 0 0 -7.361728715886265e-06 -306 0.0004448580861511666 -0.001284629998210149 0 0 0 -7.255338933705636e-05 -319 -0.0002569309991953489 0.0001496196801049657 0 0 0 4.174566454777728e-06 -334 9.79321631028675e-05 -0.001516879634454235 0 0 0 -7.215896287782848e-05 -337 0.0008039664981179189 -0.0011850588499366906 0 0 0 -8.827987086219362e-05 -9268 0.0002785233836845049 -0.0008328935255107757 0 0 0 -0.000259659405107662 -366 -0.0007525940665984029 -3.38211534775519e-05 0 0 0 1.5850650168742645e-05 -376 -0.00021379849662839167 -0.0008583802864308661 0 0 0 -0.00034328754496300106 -409 0.001053943186142731 -0.0002701099282134517 0 0 0 -0.00029302369713722393 -481 0.0001330812627003759 -0.0012917749299459266 0 0 0 -2.5091056150712258e-05 -490 0.00016573753905503618 -0.0012852003860052727 0 0 0 -2.6486814807657933e-05 -3288 0.00031955000916493513 -0.0011242436671455413 0 0 0 0.0001359590789500255 -9059 0.0004442118156933823 -0.0010967433679620595 0 0 0 -3.949097251333221e-05 -580 -0.00026838104953333554 0.00013642269937205813 0 0 0 -0.00010014296078227613 -589 -0.0006315428089795017 0.0003469276347477757 0 0 0 2.5572314436759577e-05 -618 -0.00011880947187019977 -4.227252832373328e-05 0 0 0 1.0450505412942083e-05 -623 -0.0004656453365396823 -6.606178658065279e-05 0 0 0 8.671839499182837e-05 -4251 -5.800776396053033e-05 -0.00136497493432926 0 0 0 -2.3537557915192213e-05 -659 0.00041506880752091287 0.00018124120217159013 0 0 0 -2.2094509025923373e-05 -668 -0.0002475542600492791 -0.0009244201224468868 0 0 0 0.0007086905019496912 -677 0.00018672161075460161 0.0003064788909957728 0 0 0 0.00010459545554521914 -8964 0.0003823850770210118 0.0001440822984366908 0 0 0 5.086748259963345e-05 -7776 -0.00048567650082378743 -0.001066781410644293 0 0 0 -0.00021123424061529822 -813 0.00023141875852750407 -0.0011788420955107372 0 0 0 -1.3606282244192214e-05 -846 -0.0007673312997540377 -0.00026216332834119277 0 0 0 0.00011009413226471462 -849 0.0009458956455023254 -0.0019994448745292185 0 0 0 -0.00013575386393510524 -856 -0.0007360577272161906 -4.1379451400294617e-05 0 0 0 -6.088142042367865e-06 -905 -0.00019860890471862464 0.00010544553073871577 0 0 0 -4.150110201509316e-05 -2780 -0.00019968978825595253 -0.0014714550424001003 0 0 0 7.939161238064942e-05 -1009 0.0005219509017072563 0.0003013163737149629 0 0 0 9.238167207474345e-05 -1060 0.0005447228715125595 3.908203938513917e-05 0 0 0 -4.264111363253981e-06 -1062 -9.674679102169007e-05 -0.001459872265478608 0 0 0 -1.1572294839538867e-05 -1072 -0.0003659566188398652 -2.2024557589344676e-05 0 0 0 5.630283741668126e-05 -1076 -0.0008088340463886122 4.478104865195921e-05 0 0 0 0.0001804350735234325 -1105 -0.00038047586826101226 -0.00013138620813862457 0 0 0 -1.0928359013141494e-05 -1138 -0.00026057726118925025 -9.968494469519257e-05 0 0 0 0.0001154597317389587 -3933 0.00020764817640627907 -0.0012048228334447947 0 0 0 -0.0003833770416461846 -1151 -3.7763533655566356e-05 -0.001341266086331739 0 0 0 -3.5490517129328766e-05 -1219 4.878343866093782e-05 -0.0008570794482176927 0 0 0 -0.0009392969489727214 -1220 -2.1083984686294893e-05 -6.826380282160304e-05 0 0 0 6.915025184403532e-06 -7463 0.0004319961886389375 -0.0011048952478087345 0 0 0 0.0002093057819638723 -1236 -0.000794472268702711 -0.0006741028906151823 0 0 0 -6.975972094674826e-05 -1247 0.00030515034874426563 -0.0011621959970505983 0 0 0 -2.2868688210802398e-05 -1254 0.00033182353158527615 0.00023331187083130923 0 0 0 -3.586716246570949e-05 -1257 -2.432326590982623e-05 4.862524808920233e-06 0 0 0 -8.126959876890814e-05 -1319 -0.0003432205854573532 -0.0014302059363025862 0 0 0 3.159378269412498e-05 -1328 -0.0005628010639950581 -0.0007180977685435478 0 0 0 -0.00012167549056280312 -9937 7.388963665467955e-06 -0.0013732836347176848 0 0 0 0.00011336335865167748 -1368 0.00045367620937305527 0.0004638371169330856 0 0 0 -0.00011384251166747702 -1398 -0.0006773257792101178 -3.196519860938078e-05 0 0 0 -1.200030827052943e-05 -1423 0.0008489304299707569 -0.00030267728591236887 0 0 0 0.00039034154645097827 -1431 -0.00025940308236232124 -0.00012721835820157153 0 0 0 -4.194803222524355e-05 -1462 -0.0004543411573950765 0.00027120230339975124 0 0 0 2.216580613134813e-05 -1481 -6.40534936481887e-05 0.000649642219264395 0 0 0 6.846151226135018e-05 -1528 -0.0005431287602032699 0.0002451632045939748 0 0 0 7.430293585236507e-05 -1529 0.0005095587860345248 -0.001558635145882206 0 0 0 -0.00021190436700762466 -1533 0.0001723208601263644 6.30255377154711e-05 0 0 0 -5.8201068475760815e-05 -1541 -0.00021398154648508496 -0.0008455519952915687 0 0 0 0.0008643529712122223 -1549 -0.00024172583072600853 0.00010465232979773688 0 0 0 5.404841413264577e-06 -1567 0.00012289314286519366 5.0319516596107834e-05 0 0 0 -3.8703821757676776e-05 -1608 -1.921344314918697e-05 7.005635370979174e-07 0 0 0 -6.688220133057244e-05 -1618 -0.00039014582085119615 0.0002914670742614377 0 0 0 7.175756615914676e-05 -1631 -0.0005469621073903367 0.00018630372355123555 0 0 0 7.062690281072131e-07 -1662 1.1046592812789499e-05 0.0005296939338245515 0 0 0 -0.00025724982106708236 -1663 0.0004729804577493581 0.0003278040416075125 0 0 0 1.7326690594290595e-05 -1678 -6.746473738247858e-05 -0.0006298948969084269 0 0 0 -0.00031135103793729677 -1703 -3.842921857462246e-05 -0.0015357274807703781 0 0 0 0.00010106153098510444 -1717 -0.0003361598570314439 0.00016513521162255228 0 0 0 1.610049437790641e-05 -1736 -0.0001404849818069015 -1.3239927039143312e-05 0 0 0 5.240728650425034e-05 -1742 -0.0005093111107718992 -2.3006257458341494e-05 0 0 0 1.4654788313740243e-05 -1745 0.00027956307821712335 0.0002178324957744208 0 0 0 1.4069330209010655e-05 -1749 -0.0001474094356321331 -0.00035776197022904896 0 0 0 0.000534147018664189 -2471 0.0005380123691339797 4.516061607543958e-05 0 0 0 -0.000185772989329585 -9131 -0.00047113559073173856 0.00021070051743469416 0 0 0 8.789678232530899e-05 -1809 -0.0010438128990311129 -9.517188758150908e-05 0 0 0 -0.00470394556099684 -1822 -0.0008635364227655176 4.4193596124666715e-05 0 0 0 6.6390440341868e-05 -1834 -0.0005204416831741136 0.0002678674466239635 0 0 0 -0.00010606105990676005 -948 -0.0002953283998565622 -0.0014532273285103115 0 0 0 -2.864855855036524e-05 -1869 0.0009052717582339127 -0.0015390506601423138 0 0 0 -0.00014751944356308102 -2862 -0.00037425810803370056 0.00027190994569316676 0 0 0 -6.617923014981441e-07 -8601 0.00013862735873575077 -0.0011883972275443463 0 0 0 9.435082023503799e-05 -1914 0.00014754185668064407 -0.00068172475773781 0 0 0 0.0012602633667330636 -9254 0.0006686975807455634 5.3396507209029e-05 0 0 0 0.00015364991998908907 -9391 0.0005153347954303619 5.913419075458697e-05 0 0 0 2.1079022177118915e-05 -1964 -0.0007485666912700324 9.242082996032004e-06 0 0 0 5.955350175822742e-05 -1983 -0.0006209901078609232 0.00036283847616909605 0 0 0 0.00019497974177037298 -1995 -0.0005048522705725975 0.0002432249619449196 0 0 0 -1.4860469429967637e-05 -2001 -0.00045886622854513675 -0.00012064541138405653 0 0 0 6.061178359553495e-05 -2021 -0.0006769678228205478 -0.00016230542324679494 0 0 0 0.00011525668689236286 -2022 7.0101749937351505e-06 -0.0013949296010347682 0 0 0 -3.2054251750293946e-05 -7651 -0.0004437491379067131 -6.165782385738281e-05 0 0 0 -0.000980746665724819 -2024 -0.00012977138588757503 -1.866956377272041e-05 0 0 0 1.3855845057030122e-05 -9506 -0.0006618652031199652 -0.0007942832266737181 0 0 0 0.00026134670528294124 -2040 0.00036583417994826 0.00016552265902216977 0 0 0 -1.2579935905522338e-05 -8300 -8.180000482230329e-05 -0.0014017744759043113 0 0 0 4.284551040663709e-05 -2060 -0.0011404262150611463 -0.0002148898652918023 0 0 0 0.0005995513442954895 -8979 -0.00037761897832798343 -2.03058503756391e-05 0 0 0 0.00014301609552988325 -2127 0.00010627662881317198 -0.0013050349931581235 0 0 0 -4.5925057985150405e-05 -2131 -0.00020762347860224414 -0.0001162529297930963 0 0 0 -2.828980303663132e-05 -2155 -0.0006683955900317111 2.0560956093178332e-05 0 0 0 6.7029781812794e-05 -2157 0.00029941037218768536 0.00024143063869983656 0 0 0 -1.1156260051207108e-05 -2160 0.00024715038970621333 0.0016690911118552045 0 0 0 0.0018347145103869938 -2169 0.000379571576611988 0.0003240203101761685 0 0 0 -5.219005724880805e-05 -2171 -7.136364157086119e-05 -0.0014303467068529088 0 0 0 7.560748080039355e-06 -9025 -0.0004169464240705988 0.0002419126652362453 0 0 0 -1.0772542801808409e-05 -9851 -0.0006706531609513308 -3.2051091497622255e-06 0 0 0 -0.0001713678581322167 -2221 -0.0005979637522759018 6.316698319202894e-05 0 0 0 0.00037538488361639607 -8919 0.00045040097890546125 0.00027873024189734984 0 0 0 9.291902716695934e-05 -2259 -0.0003659743674027849 0.0002044352897411139 0 0 0 -2.0453384900606415e-05 -2284 -9.428182339895461e-05 -0.0008260851975735415 0 0 0 -0.00020144305700387343 -9385 -0.0009080590057073564 -9.955471240098108e-06 0 0 0 7.210388263614681e-05 -2299 0.0006716529285667323 0.0002808310528887581 0 0 0 -0.00013878431015244627 -9905 -0.0003129140837284434 0.0001540248458903522 0 0 0 -3.6440416549816196e-05 -2328 7.08989584708221e-05 -0.0013184071201011451 0 0 0 -1.981521766889396e-05 -2357 -0.0005746592480198838 -0.0010598066363015919 0 0 0 -1.77294297921945e-05 -8787 0.0007902627326969007 -0.0009363890428767804 0 0 0 -0.0007994669041411891 -2392 1.9062212905848453e-05 -0.001378251684168775 0 0 0 -8.343289118557756e-05 -2420 -0.0006062907286933886 5.444497170040724e-05 0 0 0 0.00043656395848689885 -2445 -0.00043677375684826115 0.0002467095753563954 0 0 0 7.348230286629758e-05 -2452 0.00030947185885144576 -0.001090835176473561 0 0 0 -8.323842023225972e-05 -8700 -9.330920696268856e-05 -0.0001261816477330199 0 0 0 -6.289696683365413e-05 -2496 0.0006736077879999379 -1.7962558257335028e-05 0 0 0 0.0002826703636244762 -2497 -0.00025574094375376255 0.00018445622358509892 0 0 0 -2.4030041844277824e-05 -2500 2.79710708839377e-06 -0.0013995715913173756 0 0 0 2.3863205380076913e-05 -2524 -0.0007872792394311435 0.00011218563395225744 0 0 0 -4.7671606281948284e-07 -2543 -0.00038396279231489426 0.00039318910612932436 0 0 0 0.00014737298573441705 -2553 0.00019220887026200032 -0.001209175848046999 0 0 0 4.3616579164265067e-05 -2638 -0.0001243474876467222 -0.0012329137135295664 0 0 0 0.0001401090320263407 -2660 -1.1912128356667374e-05 -0.0007832501898729373 0 0 0 -0.00012116320156251727 -9592 -0.00011514956893450251 -5.172641019046005e-05 0 0 0 -0.0001012673968418505 -2684 -0.00029816964639708444 0.00015909247002691377 0 0 0 -2.1199707275569913e-05 -9487 -0.00011904131500557088 0.0006414389684560458 0 0 0 4.850365292291519e-05 -2695 -0.0005360224146801414 0.0005315689113248443 0 0 0 -3.02599637234766e-05 -2711 -5.721335005240559e-05 -0.0007365428070193406 0 0 0 0.0003709761517931233 -2762 -0.0013572910007319944 8.313469506361766e-05 0 0 0 -0.0001594058776802531 -2769 0.00023661995916050707 0.00020615266292458727 0 0 0 -6.911042723460945e-05 -8655 -0.0013210300587542065 6.262354454116242e-05 0 0 0 -0.0002216621050356058 -2787 -7.95712409158649e-05 -2.9986441399219493e-05 0 0 0 -7.204615513064959e-05 -2788 0.00031171940704912505 0.00040234854127355876 0 0 0 -1.3957261457732277e-05 -9326 0.0006055490846598965 -0.0008916171155124982 0 0 0 -0.0002386856790324339 -9505 0.00039161290041533285 0.00018171763085620896 0 0 0 1.8724369724702804e-05 -2827 0.0011254338271096502 -0.0016808884416258621 0 0 0 -2.5812150380963646e-05 -2859 -0.00047523476252139785 -0.001122758713566441 0 0 0 -0.00041739774714253243 -2898 0.00047921763268538465 0.0003787729378151073 0 0 0 2.0691289685377844e-05 -2911 0.0009231028374393618 -0.0020870487194468213 0 0 0 -3.424732181127701e-05 -2950 -0.0006054449720674738 5.140200142816456e-05 0 0 0 0.0004798164279071133 -2952 0.0004604455045010667 0.00017792487010310498 0 0 0 -1.750063154676043e-05 -2958 0.00010334024411324406 -0.0012999560985226353 0 0 0 -6.502313556273692e-07 -3005 -0.0005214645335763891 0.0005607789487690069 0 0 0 -2.520243440681102e-05 -3057 0.00039192947849949904 0.0002598274473813705 0 0 0 -3.8288952793977766e-05 -3103 -0.0007968979542766065 7.831098970231945e-05 0 0 0 0.00014298539882858774 -3119 -0.0010011557733105372 -0.0006119531459774825 0 0 0 0.00019037827346982542 -3194 -0.00027850769070607095 0.0004697811441188031 0 0 0 -0.00013352130475645244 -3210 -0.0006247592366427376 4.4942189136612626e-05 0 0 0 0.00022116362796822508 -9211 0.00028230073635562896 0.00016036209163140965 0 0 0 0.0005426372018778661 -7260 0.0001929325029634341 -0.00131802375168995 0 0 0 0.0003420005858545716 -3329 7.939638435159001e-05 -0.0012940351803721595 0 0 0 3.2504260961127406e-06 -3338 0.0004431254222389796 0.0003827721928046487 0 0 0 1.2673344461412458e-05 -6988 2.235516963232336e-05 -0.0014451075330795017 0 0 0 -0.000836343165263416 -3394 -0.000743563695171701 -0.00108043257714553 0 0 0 0.00010930630266720736 -3404 0.00031164724865409245 -0.0008392249828626907 0 0 0 0.0008925238062889033 -3437 -0.00046686156205002013 -0.00011939291762932882 0 0 0 -0.00011601357226418212 -9849 -0.0001480147757684866 -9.391491499479969e-05 0 0 0 -5.366816626982595e-05 -3460 0.0005901711701172066 0.00019381870708624633 0 0 0 -5.419902568181711e-05 -9926 -0.0001673933162408693 -5.528363229478625e-05 0 0 0 -7.6023604457023e-05 -3484 0.00027528036179524083 -0.0011841023887145061 0 0 0 1.6834503130412104e-05 -3514 -0.000670527570808134 -7.506650188709524e-05 0 0 0 6.474140821495873e-05 -3530 -6.513532609364378e-05 0.0007859094914336689 0 0 0 -6.122163053284093e-05 -5472 0.0003501639525111949 0.00024341750989492715 0 0 0 -1.1304105209194644e-05 -3580 -0.00035826612912028937 9.409063352755049e-05 0 0 0 5.123167802739276e-05 -9126 0.0001681199507736716 -0.0012890723010257558 0 0 0 7.633391320687446e-05 -3650 -3.695950038297492e-05 0.00038075134086036085 0 0 0 -7.07322188323525e-05 -7158 -4.42620490994474e-05 -0.0013486423180577608 0 0 0 -1.4576790221292345e-05 -3668 -1.8806931305104265e-05 -0.0013986524343723645 0 0 0 -2.840229830001024e-05 -9739 0.0009535140219980949 -0.001553814946890919 0 0 0 -0.00014080928051602394 -3725 0.0008509977187822185 1.1762500463346017e-05 0 0 0 -0.0005358184786341357 -3736 6.547323853541794e-05 -0.0014157419638830514 0 0 0 -6.225156601640737e-05 -4340 0.000229526076990295 -0.0011777275931269082 0 0 0 1.9065120839608697e-06 -7119 -0.0001704452387770124 -0.0013620486240450084 0 0 0 0.0001340944772377978 -3786 -0.00022125261525183493 -0.00010358581955378938 0 0 0 4.705897881061994e-05 -3837 0.0008134313293681254 -0.0003061187888913554 0 0 0 0.0009539481961574509 -3867 -0.00040618189795029835 0.00019165232654826705 0 0 0 4.445418748272047e-05 -3898 -0.00021526540369255743 0.00043372686426391076 0 0 0 -0.0006616156498972576 -9428 -0.000336351284822687 0.00017315827822051997 0 0 0 -2.0038305210338618e-05 -3920 -0.0009902374719429456 9.843841483799571e-05 0 0 0 0.000214968417015287 -9130 0.00024945370768447673 -0.001200195980799429 0 0 0 0.00010586123990756234 -3960 7.240753245087382e-05 -0.0014014098430089998 0 0 0 -3.269623110499285e-05 -3964 -0.0004396330101580603 -0.001019954324048108 0 0 0 4.226306290615831e-06 -3972 -0.0005387109646958915 0.00046391193405998687 0 0 0 5.021489834117528e-05 -3984 0.0006466409414537851 -3.926592351520645e-05 0 0 0 0.0005032964898375391 -4029 -0.0006571249215492368 6.350702182491629e-05 0 0 0 0.0003109047352408911 -4068 0.00023046227832893077 -0.0011218406925894119 0 0 0 0.0010759945604926259 -4093 0.000456291482925107 -0.0011900363919541154 0 0 0 0.00016866058580477763 -9361 0.00014342547500275065 -0.001378072482897182 0 0 0 -4.710657360784544e-05 -4154 -0.0002793992263733292 -0.0014097372012665196 0 0 0 9.33843499264058e-05 -4171 0.0006588950056961715 -0.0009535681383127981 0 0 0 -0.0001487849698423744 -4172 -0.000539980233975636 0.00019841276229646897 0 0 0 0.00017514002609758845 -4205 -2.894193549653681e-05 -0.0013583877861796203 0 0 0 7.450394291244532e-06 -4232 -0.00013170526566954504 -0.0009899900339148848 0 0 0 8.525498721101468e-05 -4240 -0.0004558771813562639 0.0002452548629732819 0 0 0 1.1106038990937014e-05 -4258 0.00018875102960839616 -0.0014049824138657 0 0 0 -8.48916642484932e-06 -4339 -0.0007087756731967175 -3.5726046531220584e-05 0 0 0 9.872646790793987e-05 -8736 -0.0005517128931325678 0.0001252215830845341 0 0 0 -5.608341237856653e-05 -4364 0.0001307951462720351 0.0006378901638419876 0 0 0 6.039692998594219e-05 -4373 -0.0003109081898304988 -0.00014479752293441187 0 0 0 5.4958542532827215e-05 -4374 0.0002276680631994167 -0.0012044059962742837 0 0 0 -0.00014524880550615348 -4424 0.0007821282901563041 -0.0011596487421548056 0 0 0 0.00040815529374006737 -4430 0.0005320212281015982 0.0003483333573498869 0 0 0 5.198712514277809e-05 -4437 0.0004990003200114765 -0.001055775351600329 0 0 0 -8.352385913402741e-05 -4453 -0.0005140390406153714 6.706225737627504e-05 0 0 0 -0.0003048243533285524 -9985 -0.0009303793927142173 0.0001539624619049229 0 0 0 2.229467476625723e-05 -4499 0.0002823868776908059 0.0002112228304724478 0 0 0 -0.00024720023536404845 -6871 0.0003217183908910828 -0.0011639852568306652 0 0 0 -0.0002941520796166141 -4513 -0.0008619578418830495 -1.076038984022276e-05 0 0 0 -2.0254209102046624e-05 -9769 -0.0004102380129310326 0.0001530323315924361 0 0 0 4.048387948101978e-06 -4568 -0.00019450633818633101 0.00011017398994221265 0 0 0 5.406132725183118e-05 -4577 -0.00025301400076306634 0.0001347390647519019 0 0 0 -7.498717872502752e-06 -4595 0.0001326090961411547 0.0007766164451265526 0 0 0 0.00019130324134013292 -4630 -0.0001099178521031011 0.00035240320082977294 0 0 0 -7.683242606398323e-05 -4633 -0.0005014847427267017 0.0002536685889447424 0 0 0 -2.3930134418238248e-05 -4644 -0.0009594699546449603 -2.2696248042231273e-05 0 0 0 -1.5378119844591818e-05 -4647 -6.573716112247856e-05 -0.00011070937704493069 0 0 0 3.282584962142889e-05 -4654 -0.00017257006728089625 -0.0005251409000036824 0 0 0 0.0008493340150045999 -4667 -0.00048497651672076267 0.0002610151045372694 0 0 0 -2.259436718019058e-05 -4680 -3.0440610122659192e-05 -0.0013488889250437086 0 0 0 -3.24163284568839e-05 -4713 0.00038263942724467805 -0.0011631970283439482 0 0 0 -0.00011375846407348971 -4724 0.0003701042809550862 -0.0013627075083536273 0 0 0 1.0219247927598543e-05 -4767 -0.001243927214956453 -2.105623716321707e-06 0 0 0 -0.0004578625077526583 -4771 0.00038207414549356353 0.00013992282864251553 0 0 0 -2.901521172718469e-05 -9250 -0.0002739981579878956 0.00018078945600754072 0 0 0 -6.150629385858914e-05 -4790 -0.00017603880449996816 -0.00010197563683645064 0 0 0 1.2034614144436863e-05 -4793 -0.0004995162699328904 0.000294452276103472 0 0 0 8.686106696319842e-05 -4799 -0.000677773297736938 -0.001013388091955461 0 0 0 -8.367096817544166e-05 -4823 -0.0007751988247873985 3.887377125355921e-06 0 0 0 -0.00010039791444574746 -4847 0.0005202962876448361 -0.0008903726537766817 0 0 0 -0.00022327717851112713 -5892 0.00038593803466128497 0.0002458147196209394 0 0 0 -5.9659385773281306e-05 -4861 0.000390895525920153 0.0003966066721058776 0 0 0 9.14367254071241e-05 -4888 -6.740186939960748e-05 -0.0007446347864957606 0 0 0 0.001939996394574944 -4948 0.0006111558122146885 0.00014842661257558846 0 0 0 2.7543303553223607e-05 -4955 -0.00023328479504829082 -0.000139116920726194 0 0 0 -0.00036078173051576904 -4967 -0.000295137993873982 -5.7790285406524735e-05 0 0 0 -0.00011256949182391452 -9006 -0.00010089390969709308 -0.0012765513728379334 0 0 0 -0.0022100610035798774 -4983 -0.0001557932032388699 -0.0001182875578946495 0 0 0 -4.6520719754569796e-05 -4991 -0.00027256049375715694 0.00019926549870188885 0 0 0 5.7413747253566954e-05 -5071 -7.840493773478149e-06 -0.0014268474893176057 0 0 0 -2.3626105997925986e-05 -5072 -5.336581389387774e-05 -2.542756291407121e-05 0 0 0 5.27671784924698e-05 -6858 0.00022657816647886085 -0.0010913013382605888 0 0 0 0.00048666572086499774 -5103 -0.00036446823151650487 -0.0007931312418434317 0 0 0 0.0016038520345582055 -5134 -0.0005650536032274464 -8.40997037568703e-05 0 0 0 4.0008407564942645e-05 -5139 -0.000820935675529126 9.075296381340726e-06 0 0 0 -0.00010772983145540081 -8168 0.00046653548756973797 -0.0008885150664977203 0 0 0 0.0007058945962002847 -5195 -1.834471265824911e-06 0.0006381500597963513 0 0 0 9.36131224442001e-05 -5205 -0.0010135332870366436 -4.6992317180680585e-05 0 0 0 -4.1240513295818574e-05 -5218 0.00033934104248656055 -0.0006760908622070378 0 0 0 -0.00022708829574694952 -5222 -2.9845956448538875e-05 -0.001349510358305168 0 0 0 -9.767099704792792e-06 -6629 0.00031965618762348655 -0.001232550296708837 0 0 0 0.00019425942478305775 -5238 -0.0006468664035308527 0.00011016517566500906 0 0 0 -0.00036241974816789477 -5240 -0.0003913303820133468 0.0007418196540233319 0 0 0 -0.0008707742185097313 -5272 -0.0004695514201593224 0.00023908625085665338 0 0 0 3.7946615329076327e-06 -5281 -0.0005292609425556511 0.0002772804640430722 0 0 0 7.44742938861953e-06 -5322 -0.0007008985403314742 -0.0007312704057458944 0 0 0 0.001111864243852821 -1806 0.0002706053862187728 -0.0010790884829764878 0 0 0 -0.000275282612964031 -5350 -0.0007756414316946631 2.520442227450917e-05 0 0 0 6.760125459767319e-05 -5360 -0.00033798948010324223 -0.001055832300291763 0 0 0 -0.0002363849048104219 -5362 0.00042918557374267805 -0.0011564077897327878 0 0 0 -1.1004685221575168e-05 -5381 -0.0006052754142405881 -0.0007258477149667336 0 0 0 -4.903975382654669e-05 -5384 0.00033170620714791256 -0.0011481096648605514 0 0 0 -4.836425949779394e-05 -5424 0.0006328609552759987 4.799647326568831e-05 0 0 0 0.00022689022732146646 -5458 0.0004620375674027667 0.00044140905497199606 0 0 0 8.583774156587157e-05 -5466 0.0005081789151407419 -0.0010601760111137064 0 0 0 -4.003805045639954e-05 -5483 -0.00033996471807812805 -0.0014139002074705551 0 0 0 3.537114272311777e-05 -5533 -0.0006584071007521976 -0.0005881441724245965 0 0 0 0.00016929273886615788 -5548 0.00014917897429578023 0.00023611972049546648 0 0 0 -0.00014873802344812336 -5559 -3.607974713832962e-06 -0.001360173596062953 0 0 0 -5.2406798936681555e-05 -2382 -7.635279695347376e-05 -0.001375502623942335 0 0 0 -2.826815167578273e-06 -5570 0.00010522570354995523 -0.00011968027223436273 0 0 0 -8.837333276387166e-05 -5573 -0.0005599104230878599 -5.8715022843470696e-05 0 0 0 0.0005862959924769019 -5578 0.00020993299580879628 -0.001196653776287417 0 0 0 0.001346418393990978 -8611 0.0003435165004431329 -0.0011522024016797042 0 0 0 -0.0002662698797807434 -5605 0.0006702570852280061 -0.0016345103137906955 0 0 0 -0.00026687691144436625 -5607 -0.000135427137035564 -2.1603376109573925e-05 0 0 0 0.0001588075483713346 -5611 -0.0003238304169838582 0.0001759967628934479 0 0 0 1.0628640116886884e-05 -5652 0.00016272937962392162 -0.0013008001891152727 0 0 0 -0.00027571962906670986 -5666 0.0006871137518966502 0.00020274889335960346 0 0 0 0.00016217089106972005 -5670 2.1131899671091005e-05 0.0003613835992022929 0 0 0 -6.933426224542536e-05 -5703 0.0005240939628761377 0.0003076987396238811 0 0 0 2.991216843974656e-05 -5706 -0.0009980541482510412 0.0002274990974115739 0 0 0 -0.0003642214288505871 -5719 0.00019346584476581582 0.00021226285740449103 0 0 0 9.585069412883868e-05 -5742 -0.0005532036375228085 -0.00044682510331026516 0 0 0 -0.0011314393550057526 -5751 9.79692515249713e-05 0.00013667588299764172 0 0 0 3.0854978958917965e-06 -5760 -0.0009188747602944503 1.672017411763995e-05 0 0 0 -1.232058059323096e-05 -5764 -0.0004746263751957165 0.00025868361672995666 0 0 0 -0.00015464498718898798 -6630 0.0003588583074296571 -0.0010373585322822172 0 0 0 -2.7473703589642148e-05 -5793 0.0005393290326690465 -0.0010042854864011248 0 0 0 0.00031141543428921803 -5802 -0.0008145766427279436 -0.0006920739638406458 0 0 0 -0.00025329643546421446 -5845 -0.0006695979244057963 -3.689896632070539e-05 0 0 0 3.149291192057468e-05 -5858 7.723272153787397e-05 -0.0013018983923126018 0 0 0 -5.337604457428468e-05 -5918 -0.0005569898631958464 0.0005227158938152466 0 0 0 -0.00013282406981483303 -5920 -0.0007233295490433969 1.9903644795671743e-05 0 0 0 1.829736589138914e-05 -5945 0.00031292711162649175 -0.0012052452392420769 0 0 0 -5.030321112795599e-06 -7085 -9.540618521687354e-05 -0.001142478202629221 0 0 0 7.325899901123087e-05 -5977 0.0007289205016331557 -0.000437495800821867 0 0 0 0.0007431062301350461 -5991 0.00029862080117572313 0.0001367282971865242 0 0 0 0.00035453535273193893 -5998 -0.00046907197676544977 0.00029898956019328346 0 0 0 8.817014632177493e-05 -6044 0.000597346011576138 0.0002111390769839856 0 0 0 -0.0002651418394616904 -9105 -3.7759167423163273e-05 -0.001383406716271907 0 0 0 -3.500412730787585e-06 -6072 -0.0006830216802280695 3.0283308681718385e-05 0 0 0 0.00031422713496409105 -6074 -6.086409638039244e-06 -0.0014399380289230467 0 0 0 0.0008942621793459745 -6077 0.00027227798324246794 0.00038332235280968323 0 0 0 5.49629530509946e-05 -6093 -0.00011796665010933879 -0.001319877873972754 0 0 0 0.0001224486753122077 -6102 0.00037505303714614106 0.000295173019837727 0 0 0 -9.939780440518374e-06 -6103 2.9051994111715148e-05 0.0005707252717277259 0 0 0 -0.0005198695449651903 -6159 -0.0006102061461667348 2.7651926487825525e-05 0 0 0 -0.0003528088434225677 -7140 -0.00013833056645030153 -0.001367556137803276 0 0 0 2.6592382405587484e-05 -8854 0.0007828190224687787 -9.545747065508068e-05 0 0 0 0.0010797972642826242 -9951 -0.00033455740156557065 -9.700946867445006e-05 0 0 0 -0.00012509632786769263 -9858 0.00014744142544871125 0.0003286158456987133 0 0 0 0.00019924654554609483 -6240 0.00014047907539097457 -0.001322605284270856 0 0 0 7.474045495594163e-05 -6244 -0.0007358386737679588 -0.00023844148029693882 0 0 0 -0.0003958230367219395 -6248 0.00014978815212666766 5.0101542432600586e-05 0 0 0 -0.00022069678131026433 -6273 0.00027400288054423786 -0.0012398386151335082 0 0 0 6.444914767702173e-05 -9229 -0.00047637706424775837 0.00029744991405897345 0 0 0 8.233819831897472e-05 -9780 0.0005798375052320895 -0.0008932489516166409 0 0 0 9.180050876126087e-05 -6288 0.0004745512572312888 -0.0005490819595068933 0 0 0 0.00012398215697750586 -3482 0.0005034869314807878 0.0001465801130562436 0 0 0 -9.412952023288264e-05 -6316 0.0006535135416232032 6.605016875854526e-05 0 0 0 -0.0003160398984630327 -8477 -0.0004905474918878147 0.0005902476081171251 0 0 0 -1.3181393065170576e-05 -6371 -0.0001470462066427353 -0.0007974767500673985 0 0 0 -0.002001200630019979 -6373 0.00017785845484550255 0.0005475657609809858 0 0 0 -6.126182338433249e-05 -6379 0.0001200105654277251 0.0005702254845850568 0 0 0 0.0006568270367431148 -6400 -0.0005662049586419367 -0.0011874580172342977 0 0 0 0.0003790543138620902 -6401 0.0010031992042392605 -0.0007360604329732684 0 0 0 0.006164791872406598 -6417 -0.00030074519109063626 0.00017425595764105633 0 0 0 -1.7770114905630334e-05 -8619 1.0630438917336558e-06 -0.00035771088252550533 0 0 0 -4.336370335083325e-05 -6477 -1.1709303299687167e-06 -0.00046695022587523593 0 0 0 0.0004257054538773596 -6507 0.00018880592869629698 -0.0013403541660070902 0 0 0 -0.0001095490896889693 -6517 -0.0003620076583259295 0.00018696572254800259 0 0 0 -2.097515964565731e-05 -9899 0.00039822536272152696 0.00035957132978806696 0 0 0 0.0007194527475039922 -8752 0.0002550605740566132 0.00020163350926455015 0 0 0 -9.51157126021461e-05 -4416 0.00064116563857201 7.09703972012663e-05 0 0 0 0.0005163181085242753 -9885 0.00010609956223860367 -0.00037418458490264336 0 0 0 0.003100691367019298 -6654 -1.8838333864607772e-05 -3.087532981415454e-05 0 0 0 -0.0001383369698349843 -9314 0.0003097444598183467 7.90123502976304e-05 0 0 0 1.7879257903746734e-06 -6733 0.0005691353981344329 -0.0010261088909168754 0 0 0 -3.3103675678067585e-05 -6761 0.0005446208285604887 -0.0006524531479352519 0 0 0 0.000354311971126578 -9654 -0.00046783531476436144 0.0005425697945692161 0 0 0 2.519836909982046e-05 -6811 0.0003061116101756824 -0.0012472707489873088 0 0 0 -1.5698657210323263e-05 -8905 0.00018107877345834193 0.00042914555311415395 0 0 0 -0.00029631116198763327 -6847 7.3722346615914515e-06 -0.0007208512778728412 0 0 0 -0.0021768500147062143 -6904 -0.00042166087769911876 0.0005105152309634709 0 0 0 0.0006881696568066575 -6948 0.00029358116773780645 0.00012552487529183794 0 0 0 1.1046876693089629e-05 -6957 -0.0006670095531440482 -6.196700819148425e-05 0 0 0 -0.00022958880687414646 -9725 -0.0013748187589891052 5.112050231917176e-05 0 0 0 0.00026046885793930166 -6997 -0.0003902518474749518 5.715345398797924e-05 0 0 0 -0.00010165026942660424 -7005 0.00018585994451877116 0.00036920728482935485 0 0 0 -0.0003243283519474504 -7091 0.00015010542163312372 -0.001326852550582411 0 0 0 -8.618500445590312e-05 -7117 0.0005186986732600978 -0.0009972819117034905 0 0 0 -0.00040655481544961766 -9640 0.0009699830363118937 0.0018508124412779938 0 0 0 0.0010402580369094857 -8652 -0.0007859636448514768 0.00029339924910319083 0 0 0 9.413939336198052e-05 -7176 0.0007603473225893207 -0.00031991640402782953 0 0 0 0.0044749196892174235 -8721 -0.00011140248742364188 -0.0013592045160689366 0 0 0 -0.00012935488619387028 -7211 -0.0006825186772558916 0.0001289286790568632 0 0 0 0.0006136289174082337 -7254 0.00017075221166989952 0.00013234645924220113 0 0 0 -0.0002540872191233804 -1707 0.00032785814612395293 -0.0010897628085453027 0 0 0 -0.00018734813593003933 -7267 -0.00023654128781465565 -0.0010942080366688747 0 0 0 -0.0001212807526667045 -7271 -0.0003074802417545295 0.00014363816853480273 0 0 0 -4.863283945410001e-05 -7283 -0.0005452904992233158 0.0005167303756076272 0 0 0 0.00012190750085905509 -7288 0.0006267065562928319 -0.0009062980763154705 0 0 0 -0.00019804718962720925 -7300 -0.0003408728489410495 0.00017086065617808854 0 0 0 -3.607621075306296e-05 -7331 -0.0007174598637733603 -5.144322248815393e-05 0 0 0 6.610418346002778e-05 -7337 0.0003888814014951805 0.00016559819108345476 0 0 0 4.8755811589146416e-05 -6591 0.001145471819446889 -0.00016833278954859538 0 0 0 -0.0002502985353377193 -7375 -0.0007319945271146403 -0.0005600680986145411 0 0 0 -0.00047700917901921674 -7396 0.0003106090797210869 0.00028469706416686403 0 0 0 0.0005334986483223509 -7410 0.00032693936875909866 0.00015691899345005709 0 0 0 -6.590988732509011e-05 -7466 0.0005503188805578306 0.00020133998054608205 0 0 0 6.880254664934096e-05 -7495 0.0008016763127214694 -3.175526474150326e-05 0 0 0 0.0008175062721254992 -3361 -6.823582043652757e-05 -0.0013353057527173116 0 0 0 5.2665085269823644e-05 -7529 -0.00047015377045480554 0.0002260556017920193 0 0 0 0.00013261204579220444 -7532 -0.0007499279609033792 3.514920300372812e-05 0 0 0 5.76224803614961e-05 -7549 -0.0004980432004274164 0.00011245185286085493 0 0 0 0.0001811443503043313 -9453 0.0004923171558901241 -0.000861894347008672 0 0 0 -0.0007756223907567784 -7588 -0.008627717730969865 0.009993303734796857 0 0 0 0.0024054639806067074 -7597 0.00021715602967017369 -0.0012363056636220684 0 0 0 -4.9769060574842835e-05 -7605 0.0005871686150118216 0.00012891928860259524 0 0 0 -2.2624309977564073e-05 -7608 0.00013538865117599148 -0.0012714465458152418 0 0 0 -7.505891963994072e-05 -7610 -0.0007428841880502165 0.0004645656510676024 0 0 0 0.0005795341328057805 -7627 0.0004152376111383342 0.00018977104796433407 0 0 0 -3.601618774662287e-05 -7630 -0.00042730397210723225 0.0003311220872852753 0 0 0 -5.721191400017897e-06 -7671 -0.0007515099837131261 -6.377738437856966e-05 0 0 0 -0.00010880572253905468 -6687 -7.56873003600051e-05 -0.0013632834249580905 0 0 0 4.437097081663452e-06 -7698 0.0003215961516007474 0.0001937552234610595 0 0 0 -3.4324163327622015e-05 -7703 0.0002546552569441011 0.0005476839712903997 0 0 0 -0.00030216648077538286 -7728 -0.0010063493738954744 -2.2342741795754207e-05 0 0 0 -3.209830011558791e-05 -2240 0.0003033806222074145 -0.0010744661329933538 0 0 0 -0.00035300204345136706 -7734 0.0022164128326722663 -0.00012425513647154938 0 0 0 0.0040578693536088275 -7735 0.0006750720910828494 -0.00046666072740227473 0 0 0 0.00022013427306624532 -7775 0.0005869075363273469 -0.001108415567432031 0 0 0 -4.261743342869041e-05 -7781 -0.00018353815681693974 -0.000836060315462304 0 0 0 5.978066035029022e-05 -7793 -1.126151720139879e-05 0.0005431319520790635 0 0 0 0.00013758812659637576 -7891 2.3968694213019933e-05 -0.001393011130006869 0 0 0 8.478697783016811e-05 -7892 -0.0004104852101990348 9.882839921912862e-05 0 0 0 0.0003116183853554284 -7903 0.0009547321322667834 -0.001619666879301014 0 0 0 0.0002876011045721246 -7914 -0.00026614355261162697 -0.0009435370052701274 0 0 0 -0.00019309952452144802 -7928 -0.0004449438262079965 -0.00022324752217916995 0 0 0 -0.0005227038832046574 -7955 -0.0004383922757847248 0.0003619777877256655 0 0 0 -7.398681991177547e-05 -7957 -0.00020125062947710386 4.756623963277343e-05 0 0 0 0.00025044625465403417 -8065 -0.0003551436289793856 0.00015114585315767855 0 0 0 1.389251212529114e-05 -9619 -0.0004352240616887552 -0.00012836900791842907 0 0 0 0.00016506153679349164 -8112 -0.00011218117408891545 0.0006952135707162671 0 0 0 -0.0001979520102227832 -8119 -0.0006592603276054325 0.0002229204454832381 0 0 0 -0.0004285253224488654 -8128 -0.0004932084383013968 -6.110150507009006e-05 0 0 0 -6.849940160529022e-05 -8144 0.000523651724496764 -0.0016199888429603148 0 0 0 0.0001330944740528379 -8166 0.001267813525875355 0.0006479424008597968 0 0 0 -0.006280571516451281 -9958 -0.0005981191441374788 5.8441904849754814e-05 0 0 0 -0.0007887836175012329 -8212 -0.0006755707105881158 -3.551694323786442e-05 0 0 0 -0.00014140029586774482 -8229 3.300749011546049e-05 -0.0014196020068760454 0 0 0 -7.775130375167665e-05 -8245 -9.657161560995366e-05 -0.0001259039526634529 0 0 0 -0.0001897537033811207 -8279 0.0004131167313843122 0.0006701652605486631 0 0 0 -8.307672334875511e-05 -8289 -0.0012235710813016255 0.001374100589508302 0 0 0 0.0010650850664896334 -8305 0.0006353345720119019 0.000258878536955297 0 0 0 0.0001260434702003622 -8933 -0.00017997519075572775 -0.00019947346525398964 0 0 0 -5.572102897850642e-05 -8341 0.0003324195031124414 0.00018077486449955303 0 0 0 1.266428129217566e-05 -8378 -0.0005347607584829688 7.161725831672074e-05 0 0 0 0.0001982441761409051 -8395 -0.0003214259488831094 -7.730018568182982e-05 0 0 0 -2.702186158773217e-05 -8419 -0.00022067255295218116 0.0001163410808495726 0 0 0 -7.642837123704544e-05 -8452 -0.0009831313292838716 0.00011453627363760773 0 0 0 -0.00015516324202043065 -1700 -0.00011319214632430698 -0.001298177662971548 0 0 0 3.078414165999511e-05 -8495 0.00043167404775615016 0.0003489803428019015 0 0 0 -0.0001667676093211485 -8520 -0.0001573583601710589 1.8387999385586756e-05 0 0 0 -0.00021205759283202214 -9629 0.0002949998980458191 -0.0012522524135949965 0 0 0 -4.6434703988835884e-05 -8545 -0.0007806698222375289 -0.0002734571159963045 0 0 0 0.0007054144661841426 -536 -0.0003294613941177019 0.0004306306251410638 0 0 0 8.086060701742735e-05 -8581 0.0002358936123247077 6.038004000491784e-05 0 0 0 -0.00016700778990298763 -9947 -0.0008963216549218402 2.0733337702589346e-06 0 0 0 -0.0001236231432533596 -8606 -3.03196490554097e-05 -0.001652162644433974 0 0 0 0.0005181220499788362 -9201 -0.0005383338536856263 -2.199003871708704e-05 0 0 0 -7.451462581061706e-05 -6461 0.00039991497017694076 9.955288615864471e-05 0 0 0 -3.8589690450476875e-05 -5340 0.00012315411959898902 1.2931586838444575e-05 0 0 0 -9.609389996233561e-05 -2314 0.0005039179054228995 0.00020103683421120302 0 0 0 -2.354544285962409e-06 -22 0.000248822635589602 0.00013640908699004694 0 0 0 -4.4597526987209786e-06 -24 0.0008628045232020832 -0.0005846405315997823 0 0 0 7.239562605484623e-06 -33 0.0009844984778518055 -0.00025768681395331076 0 0 0 -1.262400391780488e-05 -47 0.0008622013814640502 -0.0006309708931823246 0 0 0 1.4132939914566547e-05 -67 0.0003735651955467414 -9.117716597373507e-05 0 0 0 5.020500133153744e-06 -72 0.0005662381663267955 -7.37240523141964e-06 0 0 0 -1.744945078728303e-05 -75 0.0005977373998060227 -1.0090598270002502e-05 0 0 0 -9.636207388102457e-06 -84 0.0007110991004219738 -0.00036130740567368757 0 0 0 -7.682186213430591e-07 -6218 0.0004859417344561621 8.211619746473492e-05 0 0 0 -3.262159743344404e-06 -102 0.0008346277073498105 -0.00038441745782117183 0 0 0 -1.5011309175742085e-05 -9734 0.0009041394533837272 -0.00027836323308134416 0 0 0 0.0002205794222093511 -122 0.0004796602345279546 1.1929827658833439e-05 0 0 0 -5.846822182290263e-06 -146 0.0008635674423500946 -0.00019283601965416748 0 0 0 3.3537151771966123e-05 -209 0.0007955984845324848 -0.00016400663893067154 0 0 0 4.0477009552501885e-06 -216 0.0007481940295654857 -0.0003663521332939486 0 0 0 -2.843371895315699e-06 -342 0.0006383598517668781 0.0002545517884417268 0 0 0 -0.00010685793315962705 -7244 0.0007693951927184987 -0.0003812875663021979 0 0 0 7.92354958423148e-06 -372 0.000885087988385921 -0.0005627368193203255 0 0 0 -1.1975490190270382e-05 -382 0.0007448332954209351 -0.00011104576114535153 0 0 0 -1.3166914571479639e-05 -407 0.0005908108834021287 -6.296167168739999e-06 0 0 0 -3.562918927620216e-06 -414 0.0010632306558125799 -0.00034267465576874465 0 0 0 1.1853647041818536e-05 -452 0.0009468619671824218 -0.00027286818018635076 0 0 0 1.9659780515434944e-05 -470 0.0007564832651676206 -0.0002443068216258707 0 0 0 3.794089277838327e-06 -491 0.0009495779320647014 -0.00045923046981471153 0 0 0 -6.486636555812207e-08 -492 0.00023033873409357436 0.0001455242676753818 0 0 0 4.3001420365611546e-05 -514 0.0007485699585870481 -0.00023037662708566336 0 0 0 7.825303635339245e-06 -522 0.0007985475554836889 -0.00042836842051649954 0 0 0 -3.051236187362468e-05 -8 0.0007427465082313845 -0.00046755036213998354 0 0 0 -5.3468423885667635e-06 -553 0.0010305419988737993 -0.0003523518106869831 0 0 0 8.754414273882775e-07 -560 0.0011692417882537478 -6.73904545122383e-05 0 0 0 -1.8555357157415247e-05 -587 0.0009314747643230902 -0.00021980318617454607 0 0 0 -5.949677424887003e-07 -646 0.0010203715358248228 -0.00037801433215160475 0 0 0 4.4474093582535555e-05 -651 0.0011101938385250146 -0.00032633473663323055 0 0 0 -3.2710778965005425e-06 -653 0.000591288249790321 -0.00010504076123047228 0 0 0 -5.157330839160215e-05 -656 0.0010913920902258596 -0.00029642832835015284 0 0 0 -3.367610483125019e-06 -667 0.001013494077800008 6.554357356279545e-05 0 0 0 4.531992473321088e-05 -4523 0.0004483942049487304 0.00012361711354486973 0 0 0 -2.234351051383414e-05 -709 0.000920910048337453 -0.0005520783113127785 0 0 0 1.672476494574823e-05 -718 0.000785185378473893 1.864260777883782e-05 0 0 0 -5.363953425800278e-05 -720 0.000928312891885074 -0.00046866148311428034 0 0 0 3.4842894549001316e-05 -199 0.0006834037106976074 -0.0007349581651434262 0 0 0 1.596705051202397e-05 -5171 0.00047820419794490274 0.00010149924906165095 0 0 0 1.5691671167846837e-05 -5080 0.0002622699412378441 2.065362160235361e-05 0 0 0 -3.4734808391584226e-05 -734 0.0005584055737383532 -5.6660976282924925e-06 0 0 0 -1.4548111042435513e-05 -747 0.0006660360201911956 -6.454006925135477e-05 0 0 0 -2.1231624743549973e-06 -801 0.0003053379969543003 -7.989852680156193e-06 0 0 0 -1.0714118395806232e-05 -804 0.001071995885585339 -0.00037774103005405735 0 0 0 5.195543060895461e-05 -812 0.00033573463407716964 -0.00017585475543673712 0 0 0 9.618687595213705e-06 -817 0.0007737037467089004 1.860093729799514e-05 0 0 0 1.1511292878045657e-05 -824 0.0005231081485243376 3.8339046828384066e-05 0 0 0 5.149094601648731e-06 -1360 0.0008024788252681391 -0.0003338960479867174 0 0 0 -4.6851435035785584e-06 -845 0.0006265428165060344 -0.0001570965323936051 0 0 0 -5.8578034460393666e-05 -6160 0.0004046764055922012 1.6174493088932117e-05 0 0 0 9.580121210237183e-06 -861 0.0009948751316129734 -0.00040395381327383567 0 0 0 1.6067729605282586e-05 -885 0.0008148552962940627 -0.00041886356150127723 0 0 0 2.2759981513057187e-05 -887 0.0010355138590087587 -0.0003077253670947983 0 0 0 2.5484626301718368e-05 -891 0.0010735820357639413 -7.18228388108449e-05 0 0 0 -1.7286775006873124e-05 -932 0.0007535359467104527 -8.762184551741049e-05 0 0 0 9.294555713542304e-06 -968 0.0005712526873899805 6.891848760817321e-06 0 0 0 6.4873723436227785e-06 -976 0.0011010039197888591 -0.0001885513655074161 0 0 0 -1.2271481300819684e-06 -984 0.0009432347362932531 -0.00019431884652369749 0 0 0 7.021901419283638e-06 -988 0.0004925677323937798 5.405084241280274e-05 0 0 0 -9.254519046603154e-06 -992 0.00048452658469520863 -0.00022323878958208004 0 0 0 -6.549448998361299e-05 -999 0.000923059055067411 -0.0002849603669619429 0 0 0 -2.5328693050624826e-05 -1051 0.0009795219717784662 -0.0002908987799554333 0 0 0 5.150416533283777e-05 -1066 0.0005871192040369536 -4.257912222308551e-05 0 0 0 5.434271272005438e-06 -1073 0.0006544316748894914 -1.7084272470820494e-05 0 0 0 -2.383346525932613e-05 -1102 0.0009396684299869943 -0.00042780653605630013 0 0 0 1.4564487131673818e-05 -1125 0.0008295119426379395 -0.00042517117898027267 0 0 0 4.536192278202949e-05 -1144 0.0007248858518141235 -0.00023103448734383824 0 0 0 1.2450030894748544e-05 -1148 0.0008475597105840262 -0.0006610348564744138 0 0 0 2.8042250157515403e-05 -1190 0.0009239102810442228 -0.0004578864276475703 0 0 0 1.6144683280017534e-05 -1213 0.0007226700339135531 -0.00029966871095125826 0 0 0 1.1157230770223032e-05 -1223 0.0008149886550933992 -0.00039287360043642347 0 0 0 -3.4731112145406256e-06 -1230 0.0007851257448303842 -0.00044622516018857927 0 0 0 2.2700781418208836e-05 -1242 0.000718801868031908 -5.435690103107786e-05 0 0 0 -1.9056639853950807e-05 -7782 0.0008129149876922694 -0.0003715704710788832 0 0 0 1.1151170419252451e-05 -1276 0.0011185007637323889 -0.00021387905252664204 0 0 0 5.267753381869608e-06 -1282 0.0007849327152049452 -0.0004509545506732463 0 0 0 -1.113964541278676e-05 -1306 0.00047794426422748625 -2.0955558562685872e-06 0 0 0 -4.050676486375267e-06 -1318 0.0008078055928751338 -0.00039033864820164915 0 0 0 7.372738944568911e-06 -1364 0.0007919148565590059 -0.00047010816630826214 0 0 0 2.7055884988854326e-05 -1396 0.0009882919634244247 -0.00039949121471696245 0 0 0 2.3700358951888975e-05 -9987 0.0008313728062852139 -0.00035857153172403255 0 0 0 -1.257019594191572e-06 -1449 0.0007304001036839042 -0.00021568466670947707 0 0 0 1.9894271481166408e-05 -1471 0.0008297821070102068 -0.0001844071972198645 0 0 0 -6.342377313088463e-06 -1950 0.00027703129119226833 7.214830313713397e-05 0 0 0 -3.2300290566931226e-05 -1487 0.0007481069630809665 -0.00033327584995272876 0 0 0 1.94368698036978e-05 -1498 0.0004792567722572809 -3.30732033482866e-05 0 0 0 -3.665706969093827e-05 -1514 0.0007605428690091047 -0.0002695855560088596 0 0 0 1.6734778870240557e-05 -1527 0.0010635313148729289 2.833120125197788e-06 0 0 0 -7.997581161003103e-05 -1561 0.0006209088792350589 -8.094868766356975e-05 0 0 0 -6.857402494216594e-06 -1584 0.000969249337402412 -7.183042247997922e-06 0 0 0 -3.545343554830038e-05 -1592 0.001052665248260411 -0.0003311505775709349 0 0 0 1.2078281192633732e-06 -1595 0.0007563479534106002 -0.0006955417528529542 0 0 0 -4.7780053731181346e-06 -1600 0.0007832070469566771 -0.00011646295383456434 0 0 0 -2.3495104391762258e-05 -8987 -6.744427214005824e-05 0.00019063099447796312 0 0 0 0.000437974300701701 -1610 0.000746418339355348 -0.00012192130635219387 0 0 0 1.3892001911478068e-05 -1616 0.0007935824731143667 -0.0004481442968466198 0 0 0 4.899770998659044e-06 -694 0.00028775232477934914 0.00013270371280155969 0 0 0 4.034296981710971e-05 -1630 0.0009368520205873771 -0.00013122037642996015 0 0 0 -7.678207932329125e-05 -1659 0.000869834920195535 -0.00023926237247851688 0 0 0 1.2801394262436023e-05 -1670 0.00027862730992196227 -0.00010492130165602226 0 0 0 6.644419613506675e-05 -1671 0.0006484409486941619 -6.210825129847245e-05 0 0 0 -6.768432362691356e-06 -1712 0.0005102281565601237 2.9583295966299155e-05 0 0 0 -1.6139507850545755e-05 -1730 0.0011464550791749158 -0.0002453500741609412 0 0 0 1.39511159760564e-05 -1737 0.0009267913676272551 -0.0004993428072629271 0 0 0 2.513685173272727e-05 -1761 0.0006374788350591229 -8.518562799495735e-05 0 0 0 -2.460467972075263e-05 -9001 0.0003942891624967764 3.7337443498336395e-05 0 0 0 -1.144788109221952e-06 -1774 0.0007941191051833217 -0.00045426803730000214 0 0 0 -2.6392235525421684e-07 -1777 0.0007476923311202074 -0.0005454257582601788 0 0 0 1.9331312957346292e-05 -1784 0.0003918762222706918 -8.502753678803499e-06 0 0 0 -4.509505341418897e-06 -1792 0.000587360707775218 -1.3408839207377011e-05 0 0 0 1.215638962649461e-05 -1795 0.0007798559751527142 -7.22176360909488e-05 0 0 0 -6.095157519466314e-05 -7262 0.0004237606717706558 -4.526871859524782e-05 0 0 0 -0.00010920158632991448 -2816 0.0003455017178144648 -2.181167057637344e-07 0 0 0 -4.7491457490655287e-05 -1867 0.0007678152422709532 -0.000245694436580377 0 0 0 -2.812320507873773e-05 -1893 0.0008712850557352111 -0.00042623022194306987 0 0 0 6.991565773277404e-06 -1896 0.0007946411979706632 -0.00014602237233782883 0 0 0 2.5833990626202018e-05 -1912 0.0007282576695447793 -0.0003106314998674945 0 0 0 -9.627469830348031e-05 -1933 0.0011666167128302543 -0.0001216703744769953 0 0 0 -3.631943340864294e-05 -1934 0.0008558474098537686 -0.0003302227813948155 0 0 0 2.267185609650421e-05 -1940 0.0007386309836669868 -0.0004450596754269531 0 0 0 3.0764404113026957e-06 -1993 0.000725136330596442 -0.0002836616312575914 0 0 0 1.0163626612381592e-05 -2020 0.0009514366850385858 -0.000553158126942659 0 0 0 2.673618476174444e-05 -2034 0.0011396681634343563 -0.00020464395063346275 0 0 0 8.356433060522673e-06 -2457 -0.00011059973509715218 0.00014769372798515435 0 0 0 -0.00023092265591222722 -2055 0.0007161194651094478 -9.544701168327513e-05 0 0 0 7.63260179193362e-06 -2063 0.0007962292676475023 -0.00028912373858146846 0 0 0 -1.803374216537946e-06 -2081 0.0007472545706815798 -0.0001603598007317179 0 0 0 1.2170959793905786e-05 -7035 0.0005083890860507386 3.490625969779575e-05 0 0 0 -0.00012480107710922497 -2105 0.0007053181010928989 -0.0007237887189181746 0 0 0 -4.424753080725769e-05 -2149 0.0010468364788965006 -8.083089556060283e-05 0 0 0 0.00015400442507774656 -2174 0.0009316890473172835 -0.00047566208023065845 0 0 0 2.0072351815113856e-05 -2185 0.0007633321090480596 -0.0002988267208681017 0 0 0 -7.92870767144022e-06 -2209 0.0008975043977024758 -0.00018095111826278438 0 0 0 -9.205020053564008e-05 -2229 0.0006714391215386036 -6.764191240123184e-05 0 0 0 -2.1020958202935704e-05 -2232 0.0007530969119822681 -0.000272534298497643 0 0 0 1.5000334143848802e-05 -5291 0.0007976960336079753 1.9495403285824923e-05 0 0 0 0.00010733307369369286 -2237 0.0006564235176294459 -8.156004558822102e-05 0 0 0 -1.888086264069299e-05 -2246 0.0006190538084440317 -2.1056278159648214e-05 0 0 0 -3.2272887480524677e-07 -1956 0.00031463460741375324 2.712943448205243e-05 0 0 0 1.758264061361698e-05 -2265 0.0007377388149111199 -0.00014199655128100855 0 0 0 -9.281389076605069e-06 -2266 0.0009383279493366076 -0.00045703906618556876 0 0 0 1.5320017801071637e-05 -2294 0.0007295478373409935 -0.00032428592488372554 0 0 0 -2.6704498522192952e-05 -2330 0.0007713533089792592 -0.0002751749218545677 0 0 0 1.1549296232762974e-05 -2351 0.0009240398273649102 -0.00021197300654752035 0 0 0 2.442173332212274e-05 -2424 0.0005939725955142793 -5.295123517488606e-05 0 0 0 2.974941864794761e-05 -9884 -3.002336468045495e-05 -7.167056248840538e-05 0 0 0 -0.0001593837513061436 -2492 0.0010900798081741369 -0.00031233881705320895 0 0 0 1.6813615075768305e-05 -2515 0.0007244469825301207 -6.285284908474414e-05 0 0 0 -7.565456445918641e-05 -2520 0.0010107370550385656 6.197073494528192e-05 0 0 0 -0.00016490267938835837 -2535 0.0008866219530128273 -0.00040544598566748073 0 0 0 2.9130189138249053e-05 -2579 0.0007498920567136478 -0.00011931840402217902 0 0 0 3.8556793478291686e-05 -2583 0.0007284716853036509 -0.0003427346676113598 0 0 0 0.00014820428131143338 -2592 0.0008040300207561052 -8.382696580550489e-05 0 0 0 -0.00015016701552962458 -2606 0.000820037534427521 -0.0005371137000043207 0 0 0 -2.827088859703342e-05 -2637 0.0007490632064548543 -0.0005031202646232388 0 0 0 -5.0344543332964514e-05 -2644 0.0009037404083254766 -0.0002799687512380951 0 0 0 5.158112645495955e-05 -2682 0.0010739541507365092 -0.0001731228565703935 0 0 0 -3.897319174646166e-05 -2707 0.0007663107044740648 -8.359662774159497e-05 0 0 0 -7.480684770698888e-05 -2757 0.0004135095467910966 8.657589863244995e-06 0 0 0 -3.672535813122794e-05 -2766 0.0009430993526409765 -0.0005169527616959096 0 0 0 1.5741683295248488e-05 -2794 0.0007935033147554729 -0.00044828764542481864 0 0 0 8.376201646573917e-06 -2801 0.0008612659822183217 -0.0006096150190172654 0 0 0 -7.871255766490289e-05 -9421 0.0002205914999068033 0.00010546099255182202 0 0 0 -7.159044915445607e-05 -2829 0.0008075413658834696 -0.00042369794173042916 0 0 0 0.00012977390192373355 -2839 0.0011343358160596645 -0.00010520363826419748 0 0 0 5.927999084176191e-05 -2840 0.000774383810345354 4.891232222557773e-07 0 0 0 2.619885901560037e-05 -2852 0.0007755950544998804 -0.00043731887424596085 0 0 0 -1.8625638259549212e-05 -2891 0.0008967944940626106 -0.00040397128497151447 0 0 0 3.3547932798482176e-05 -6748 0.00023421587867710454 6.189298047755984e-05 0 0 0 -5.236571981929889e-05 -2921 0.0008158565934792892 -0.0004049429590302088 0 0 0 0.00011463190988265915 -2941 0.0008624981992682516 -0.0004457461003140419 0 0 0 2.2310216386365025e-05 -3003 0.0009722585528244225 -0.0004294577975742637 0 0 0 7.735913166634e-05 -7534 0.0006965430228870333 -0.0006603008146249996 0 0 0 5.9595197273670484e-05 -8098 0.0008626153470662603 -0.0005054957764711742 0 0 0 8.653848831392001e-05 -3037 0.0009385902949910196 -0.0002285973250757063 0 0 0 2.557753793155904e-05 -3041 0.0008111748387038809 -0.0003785944346170139 0 0 0 -0.00011003128888916639 -3058 0.0008762907554901226 -0.00026481310828178884 0 0 0 -1.3252529142091378e-05 -3096 0.0008683639048590695 -0.00016126683835758512 0 0 0 -1.1015879455391121e-05 -3101 0.0009348500143592991 -0.000432771270384021 0 0 0 1.7839075132810184e-05 -6276 0.00028863738611216097 5.190801355951454e-05 0 0 0 0.00010240718908373215 -3133 0.0007725283493267103 -0.0004600869768676425 0 0 0 3.9776379842689384e-06 -1614 0.0008472284205088813 -0.0003586884914591873 0 0 0 3.2675056564324076e-06 -9921 0.000531070744548594 -0.00016777639085873222 0 0 0 3.6829001157752573e-05 -3155 0.0008221115910547946 -0.0004988259486558917 0 0 0 5.361664840250044e-05 -3162 0.0005319301505374584 4.1566359729831916e-06 0 0 0 -2.9241456949667846e-05 -3215 0.0007215578116409652 -0.0002596873394217861 0 0 0 9.661035511315652e-06 -8675 0.0007481113588607034 -0.00023217429250767125 0 0 0 -0.00032260141482102307 -4852 0.00028454508220482664 -6.116139595511717e-06 0 0 0 -4.052200879105546e-05 -3339 0.0008514812073497194 -0.00033841798934862254 0 0 0 1.3827822878267318e-05 -3343 0.0008543256973326668 -0.0006257332930834822 0 0 0 -1.332014358856396e-05 -3406 0.0007145706172331477 -0.00033861678020403004 0 0 0 6.278245356624183e-06 -3407 0.0008206168889809886 -0.0003849298128485366 0 0 0 6.159153876518176e-05 -3421 0.001001484808179204 4.239308615617681e-05 0 0 0 -2.6706735153911286e-05 -3452 0.0006840132367078363 -0.00010796234248211211 0 0 0 -2.979719472288889e-06 -3486 0.0011027567967936739 -0.0002519237708077208 0 0 0 8.974943524796107e-06 -3490 0.0009339738253197498 -0.0003458904722099903 0 0 0 -7.284342478873969e-06 -6536 0.0006965740612512298 -0.00019082171631078403 0 0 0 0.00016666249452861604 -3509 0.0009405248402604034 -0.0004240538905210268 0 0 0 9.696758448375197e-05 -3521 0.0007501489825189495 -0.00032296303888615087 0 0 0 -1.7506057157948576e-05 -3526 0.0008368396056476091 -0.0005820122201306518 0 0 0 6.112701400419493e-06 -3529 0.0007103859509114506 -0.0003397925970145115 0 0 0 -6.321740360014443e-06 -3552 0.0009535648099680609 -0.00034774501542141105 0 0 0 -7.605813142627557e-05 -3564 0.0011459678955661147 -0.0003166732306367707 0 0 0 1.2747172036799621e-05 -3567 0.0002357384130607154 0.00011770472036340148 0 0 0 6.822287917909621e-05 -3575 0.0010536206748591012 -0.0003209983143009831 0 0 0 3.062846021651612e-05 -3588 0.0008413457187062705 -0.00033075094582636367 0 0 0 1.9365535650744512e-05 -3599 0.0007190514625476655 -9.454192283238981e-05 0 0 0 -8.404417776244707e-05 -3620 0.0005438498312961938 -2.9047339109440007e-05 0 0 0 6.753526414267263e-06 -3637 0.0008426195754053095 -0.0005862741335489341 0 0 0 -8.384286075304688e-05 -3647 0.0006960181500490171 -9.961085974285829e-05 0 0 0 -3.828759390479965e-06 -3692 0.0005872755795204597 -3.25183820125194e-05 0 0 0 3.900087715574768e-05 -6849 0.0005178320008818497 1.6446280916458303e-05 0 0 0 -5.0154551488703514e-05 -3701 0.0005054852950847752 0.00010766520558388845 0 0 0 -0.00026863715300206757 -3735 0.0005567376980289249 -0.00020155057288848263 0 0 0 -0.0001261821950990457 -3755 0.000808035196786859 -0.00010663586404683646 0 0 0 6.757180292987311e-05 -3929 0.00048662500966915016 7.31189776880232e-05 0 0 0 6.841085301789176e-05 -3764 0.0008174325709580645 -0.00020732905171193312 0 0 0 -3.914306684813047e-05 -3787 0.0007434432588115515 -0.00044332832964871267 0 0 0 3.621485774867749e-05 -3819 0.0007408258167520071 -0.0003308119796742415 0 0 0 2.0690671578395597e-05 -4150 0.0009286972939161089 0.0001157126842598143 0 0 0 0.0004997576106206654 -3896 0.0011105084518049121 -0.00026514800085218165 0 0 0 3.080000864297847e-05 -3907 0.0007494582895079759 -0.0002955636292946514 0 0 0 4.527886136627781e-05 -6095 0.0007921643565904705 -0.00029686524085728865 0 0 0 -1.1885651261003243e-05 -3918 0.0008000178991384513 -0.00046406631345095195 0 0 0 -5.575144516490388e-05 -5564 0.00041894339546756626 5.439974798796868e-05 0 0 0 4.0064481260848686e-05 -3938 0.000790428200442225 -0.0001579416905155245 0 0 0 -2.3811054146006e-05 -3985 0.000990107953453109 -0.0001432043093979491 0 0 0 5.994487385681391e-05 -3995 0.000711520561923298 -0.00029726812009975474 0 0 0 -1.4322177891034198e-05 -4128 0.0004710309350419019 -0.00025850685072447696 0 0 0 -0.00037330599598306327 -4165 0.0007829281571245529 -0.00013318023342411329 0 0 0 -2.9081016768404348e-05 -4173 0.0009418839647525215 -0.00038052643357872393 0 0 0 3.2770205861721786e-05 -4230 0.0007146529338850065 -0.0005680607758949573 0 0 0 -2.4590682881695727e-05 -4242 0.0009219640168621913 -6.407292605477222e-05 0 0 0 -9.770631530545128e-06 -4256 0.0008404407770573917 -0.0005984024268002613 0 0 0 -7.708187057416967e-05 -4267 0.0008021924326017142 -0.0006356931512871704 0 0 0 -2.1848263597341923e-05 -4273 0.000865055841466458 -0.00025214979190379624 0 0 0 -4.1478655007730257e-05 -4295 0.0010751107920631787 -0.00028407728932115925 0 0 0 2.2876292900538326e-05 -4296 0.000981322612328397 -0.00036784379994455447 0 0 0 3.577882172930433e-05 -4308 0.001063896686562317 -0.0002532140027433626 0 0 0 -0.00014338483042734108 -4309 0.0010085097303412199 -0.0001234882665585908 0 0 0 -0.00033936675243908556 -4329 0.0007228842633284476 -0.0003190716109378249 0 0 0 -5.373765526726435e-06 -4349 0.0007100069690923532 -0.0004368469670394029 0 0 0 -1.082514637756778e-05 -4376 0.0007230848491469738 -0.0003075364070137569 0 0 0 1.707570701818854e-05 -4412 0.000785646242813097 -4.558031444212807e-05 0 0 0 1.3107109736371063e-06 -4445 0.000524423466511985 -1.6465226607191456e-05 0 0 0 -2.0260280918712475e-05 -4473 0.0009325365324543082 -0.00024231691577167883 0 0 0 -2.87213270296362e-05 -4475 0.0010981326330469078 0.0004125727013176569 0 0 0 -0.00023902887253076345 -4515 0.0009301687007403315 -0.000591734457112616 0 0 0 -3.066344966966906e-05 -4557 0.0010576013531362648 -0.00030153331200148247 0 0 0 1.4614575743189416e-05 -4564 0.00019912624246860855 0.0001342811986636605 0 0 0 0.00013534426430909327 -227 0.00047208358697158455 0.00012761194253314346 0 0 0 -4.7204945902834045e-06 -6529 0.0007456036801970898 -0.0007472303683037309 0 0 0 7.860782332949643e-05 -4592 0.0011136270920858633 -0.00032061660053005284 0 0 0 -1.0723471393652578e-05 -4609 0.0005647593595019063 2.746109540001504e-05 0 0 0 -3.363859723650472e-05 -4610 0.0005878747975623181 1.6560533838038557e-05 0 0 0 1.7443700413455264e-06 -4690 0.00033557770272936286 -5.82093122140658e-05 0 0 0 -8.15631123398198e-05 -6208 -9.976112046712912e-06 -4.7914069480225185e-05 0 0 0 -0.0001950632710578778 -4701 0.0010335544966761064 -0.0003852075412220547 0 0 0 6.027121858001973e-06 -4711 0.0005293877944172838 3.221298372878365e-05 0 0 0 -2.1419697153947733e-05 -4736 0.0009015986287508429 -0.00023692027220956595 0 0 0 -1.3205431345156602e-05 -4741 0.0008272512519269931 -0.000144134165357485 0 0 0 -6.087421821624453e-05 -4750 0.0007548553609724132 3.1550350758355745e-05 0 0 0 -5.748609200657958e-05 -4811 0.0009109622337896619 -0.00013756184809701017 0 0 0 -0.00020917670799590752 -4812 0.0006049690233814908 -5.161903371956243e-05 0 0 0 5.979214789513325e-06 -7632 0.0006809426836007149 -0.0006652862853409132 0 0 0 2.192006490395366e-05 -4843 0.000999957686112878 -0.0002776191307232844 0 0 0 6.138982744479048e-05 -4864 0.0011278752000553184 -7.333122946991627e-05 0 0 0 -0.0001705711270867247 -288 0.0008020178700329836 -0.00036009661177370734 0 0 0 1.1940245996153851e-05 -4900 0.0009745416036529149 -0.00026252317691018357 0 0 0 -3.7305254258889546e-05 -4914 0.00036025724423960294 -1.689641384495715e-05 0 0 0 0.00019706868530126293 -4927 0.0007387836240237794 -0.0003636564749262713 0 0 0 -0.00018492407612611176 -4932 0.0010642462341876404 -2.6365750050878664e-05 0 0 0 9.921361203471302e-05 -4959 0.0008477277450921173 -0.00043168723329348684 0 0 0 -1.8113435993296695e-06 -4964 0.000847351400867177 -0.0005150284003963917 0 0 0 -9.67385954429659e-05 -5009 0.0007783460995052658 0.00013364915486408576 0 0 0 -0.00010807589470303205 -5013 0.0007327041388324831 -0.000628443351744944 0 0 0 -1.1257082464102605e-05 -5040 0.0007809118662356689 -0.0004167269286489109 0 0 0 -1.6192132184640017e-05 -5059 0.0006850587033879041 -0.00013867159341176747 0 0 0 0.0001434190605210887 -5082 0.0008964548716792758 7.66900805031988e-06 0 0 0 9.454402368732399e-05 -5107 0.0005297639403012387 3.09854123568897e-05 0 0 0 -3.769068199684573e-05 -5127 0.0008166799699043371 -0.0002816103189586676 0 0 0 -1.874243099263513e-05 -5128 0.000793286530399182 -0.00045668933375434966 0 0 0 -4.287773250448483e-06 -5131 0.000939242516846185 -0.00019198670990658718 0 0 0 1.3471385258997217e-05 -5133 0.0007779329514508107 -0.0004289438958787534 0 0 0 -2.5513805477058687e-05 -8280 0.0002523204868124239 6.040548433315434e-05 0 0 0 1.1055803486912915e-06 -5175 0.0003424432484937645 -0.00019077357642702722 0 0 0 -4.778224569790801e-05 -5201 0.0009969833969641615 -0.00027517348301412417 0 0 0 0.00010931806649203613 -5224 0.0007890949998969804 -0.000442495772086724 0 0 0 -1.9041625193754808e-05 -5250 0.0005891335145501289 0.00019587073124788126 0 0 0 0.00023502835051165098 -8914 0.0004692159152572007 6.260341754538043e-05 0 0 0 -2.1933731381322914e-05 -5267 0.0007658892176265686 -0.0001258105589107871 0 0 0 -2.412374467329077e-05 -5269 0.0007483753820484676 -0.0004556616878260986 0 0 0 0.00010465053170860542 -5338 0.0008139472276875464 -0.0003332087212949169 0 0 0 1.2584698287623698e-05 -5293 0.0007898394323045721 -0.00029470410351299 0 0 0 -3.6597310106720926e-06 -5325 0.0011086080325649564 -0.000267260522818761 0 0 0 -3.5375404700976376e-06 -5334 0.0007569689806653107 -0.00033116580965085007 0 0 0 7.375353284408643e-07 -4353 0.00033953886022166177 4.305561536565518e-05 0 0 0 2.3991622039330084e-05 -5369 0.0009303916341966987 -0.0004888626439050026 0 0 0 -2.392757984145457e-05 -5450 0.0006182595638030814 -2.8733933503635585e-05 0 0 0 -2.4450387166156175e-05 -5457 0.0004837295580994851 7.306745674846092e-05 0 0 0 -1.5378818402299655e-05 -245 0.000810626433187741 -0.00036334753559065183 0 0 0 1.3808820167174987e-06 -5481 0.0011273617404063579 -0.000255745014356028 0 0 0 6.995600300168228e-05 -5487 0.0007218897436605083 -1.7501008998264974e-05 0 0 0 -7.64513063277623e-05 -5538 0.0009082891268918593 -0.0002119332919297074 0 0 0 2.6548432356726475e-05 -5539 0.0007205104776703022 -0.0002445289559312778 0 0 0 -1.3225611998794229e-06 -5552 0.0007936341965132573 -0.00014181412528145013 0 0 0 -4.767244283284479e-05 -9337 0.000572233863017749 -3.832232868992048e-05 0 0 0 -0.00020635065546017672 -5569 0.0004181094083295242 -7.006163400045986e-05 0 0 0 -9.641785054031904e-05 -5574 0.0009373985249931983 -0.00018042983503114944 0 0 0 1.0694944018220235e-05 -5602 0.0010454990892783166 -0.00035831495446809515 0 0 0 -3.95454149067383e-06 -5614 0.0011611750594961868 -0.0001654614349836207 0 0 0 -8.88401651095629e-06 -5628 0.0007035056133143943 -0.00011619458091026884 0 0 0 -1.9182202896350075e-05 -5634 -0.0005437561939961104 0.0010855512493422206 0 0 0 0.0006360332020063417 -5667 0.0008426152610317673 -0.0003083097059378917 0 0 0 6.957154474577594e-06 -5690 0.0005982416147005272 -8.411957789441167e-06 0 0 0 1.8207172379486052e-05 -5698 0.0006626845386707336 -4.6744287206357836e-05 0 0 0 -4.371591283771907e-05 -8105 0.0008691035310028839 -0.00036653008224162074 0 0 0 -3.5261210863128174e-05 -5702 0.0007671203130277666 -5.361235246106546e-05 0 0 0 -1.9639276531014432e-05 -5705 0.0007716772591966388 -7.724048038701127e-05 0 0 0 -2.025715299481232e-05 -5720 0.0005097257675493778 -0.00016891197440127887 0 0 0 -9.505055392062377e-05 -5735 0.0008551998447481449 -0.0002803692735973425 0 0 0 1.771679264134151e-05 -2059 0.0004810480744605531 0.0001378929340908317 0 0 0 1.399774133527188e-05 -5746 0.0008300617608912392 -0.00040999858000371586 0 0 0 -6.674340981707396e-05 -5747 0.0003565580730173362 -0.00015344106140751954 0 0 0 -3.849293488816561e-05 -5775 0.0008182797679447625 -2.7598247458185647e-06 0 0 0 3.667613252453044e-05 -5790 0.0009406321950887768 -0.0004560508407366706 0 0 0 1.5942147655377933e-05 -5804 0.0007245588326719587 -0.00011341379630261595 0 0 0 -0.00011649039964576179 -5820 0.0004605929103211846 2.721784061306755e-05 0 0 0 8.158749336353013e-05 -5823 0.0011533081758553292 -8.066839489592405e-05 0 0 0 -1.211980636466479e-05 -5829 0.002218207269105916 -0.00040875039901056194 0 0 0 -0.001294804732052884 -5840 0.0008160465996175777 -0.0004014417284642076 0 0 0 5.6196438671671466e-05 -5854 0.0005675286389215079 2.2572631783808324e-05 0 0 0 -6.416567702662487e-06 -5871 0.0007435675339395432 -0.00017696612919673897 0 0 0 0.0003485421923040397 -5874 0.0009518890424517183 -0.00020964781228137487 0 0 0 -4.815971265727357e-05 -7543 0.0007012887202578949 -0.0006478416158589703 0 0 0 9.692098072228192e-05 -5916 0.0008873292185361711 -0.0005631371299103888 0 0 0 -5.078354473607721e-05 -5919 0.0009948604052541356 -0.00027201095180414336 0 0 0 5.9105158500212816e-05 -5926 0.0009191431904503247 -0.0002699936645180768 0 0 0 4.738122052582028e-05 -4887 9.445316082979279e-05 9.481270345994943e-05 0 0 0 -0.0001793093076041755 -5997 0.001124075242345967 -0.0002722266181409327 0 0 0 9.707051733455273e-06 -6007 0.0006385536112331729 -6.230314511494635e-05 0 0 0 -1.6750410863439263e-05 -3355 0.00028348701553286993 5.835365337974984e-05 0 0 0 3.135390609904491e-05 -6013 0.000788039948201411 -0.00046759784399933086 0 0 0 -8.540989125088797e-05 -6029 0.0005715035370090334 3.717165930585648e-05 0 0 0 -1.9740198496951068e-05 -6042 0.000740871700504871 -0.0004691384359977805 0 0 0 5.5513161804438305e-05 -6056 0.0007908792199707804 -0.0004626702584796606 0 0 0 -1.3364590349301507e-05 -4973 0.00048805367512048107 0.00017918395826390602 0 0 0 -2.6048353318691765e-06 -6104 0.0008562313801621813 -0.00020396464891359647 0 0 0 1.2851675485403497e-05 -8296 0.0008108890086535213 -0.00038616850523835906 0 0 0 5.48984637933371e-05 -6125 0.0007504621632790151 -0.00021747475529814166 0 0 0 2.027632590882036e-06 -6142 0.0007481804228516356 -5.561054079134246e-05 0 0 0 1.6281021065111395e-05 -6148 0.0009159755993696006 -0.0002487651261724328 0 0 0 -1.6776260688032437e-05 -6175 0.0009355956763890341 -0.00030776927049653533 0 0 0 5.585083986977522e-05 -6187 0.000831538426724328 8.537925909198315e-05 0 0 0 -0.00012919157270431948 -6198 0.0009064453836341852 -0.0003288048717589687 0 0 0 7.939968063806421e-05 -6237 0.0009511949595046015 -0.00016432208448244944 0 0 0 6.894558870846682e-05 -6239 0.0009640227741992126 -0.0004187551204484797 0 0 0 4.923143450259842e-06 -6268 0.0010399108060280059 -0.0003321699460920826 0 0 0 -1.7493445420576077e-05 -6280 0.0008168956105757911 -0.00034964717991148574 0 0 0 -2.256732585564168e-05 -6324 0.0005239731742844297 -0.0002860486738578806 0 0 0 6.506193669632159e-05 -6337 0.0007831961257268473 -0.0004411660968651646 0 0 0 2.2697404348750906e-05 -6338 0.0011034137464271203 -0.0001811681272085998 0 0 0 -8.746469848470301e-06 -6355 0.001009093833724926 -0.00040610848997585543 0 0 0 -2.013221040542285e-05 -6359 0.000504892834657922 6.818359620758269e-05 0 0 0 2.3453087478160133e-05 -535 0.0004899349995151227 6.541085584776158e-05 0 0 0 2.9273828529501865e-06 -6383 0.0008516407850927732 -0.00016031188004807318 0 0 0 -2.053359727247812e-05 -6409 0.0008002488786530995 -0.0004242136582564066 0 0 0 -2.6977791818094487e-05 -6442 0.000748235016015231 -0.00011270667574828082 0 0 0 9.167275524589577e-05 -6448 0.0008759932218929598 -0.0006261753053076794 0 0 0 -8.310384458693883e-05 -6457 -5.7492699914703016e-05 -0.00017011826028769296 0 0 0 -0.0005030602557989022 -5812 0.0007707118506974925 -0.0002728525599595524 0 0 0 1.348641451945271e-05 -6470 0.0009521414438176816 -0.00022621542567071083 0 0 0 8.207356664736857e-05 -6474 0.000828245819969556 -0.00019440589251355027 0 0 0 -2.095578039578424e-05 -6482 0.0010031425843217286 -0.00037772285848774854 0 0 0 1.3986489854644953e-05 -6484 0.0009484233653165385 -0.00019814996190317536 0 0 0 -2.4213864865287615e-05 -6509 0.0009827512863716228 -0.00031097580985213247 0 0 0 -8.522247560106892e-05 -6639 0.0003999375982544616 5.289528554734406e-05 0 0 0 5.6583600753215535e-05 -6827 0.0006812041686179432 -0.0006614317045444399 0 0 0 -1.725035199288653e-05 -1142 0.0005239861626674513 3.34818742730838e-05 0 0 0 -5.362320392147169e-06 -6572 0.0008093134659707393 -0.00011028245012943222 0 0 0 -0.00011314072070666289 -6578 0.0007199306999151174 -0.0003428213848249847 0 0 0 -1.2391132122586016e-05 -7842 0.0008454703498084234 -0.0003552498793567697 0 0 0 4.5255998849474404e-05 -6612 0.0010555538777485916 0.00014522442831129784 0 0 0 -0.00012171673302646254 -6627 0.0008475478719047317 -0.000507241950082715 0 0 0 1.9362300689621567e-05 -6633 0.0011774030372859023 -5.1697090006595435e-05 0 0 0 -3.5368147127384e-05 -3140 0.00021168160714908545 0.00016437085312197622 0 0 0 -4.734728503777594e-05 -6653 0.0009396657418726218 -0.00019105462762324956 0 0 0 3.272510384220369e-05 -1770 0.0004665405875961332 0.00012317012714137894 0 0 0 1.1162885353059943e-05 -6667 0.0006176147700151188 0.0002310644148572366 0 0 0 -0.0008884192191516707 -6675 0.0007609572497911983 -7.061861516912497e-05 0 0 0 -7.2366052689539975e-06 -6680 0.0007265646843816056 -0.00034259787177883937 0 0 0 6.889978920717385e-05 -6703 0.0007118112567206598 -0.00010170732566270632 0 0 0 -8.223716238084912e-05 -6706 0.0009079492749461938 -0.0005684414873910365 0 0 0 -1.24558854446661e-05 -6740 0.0008660841150437118 -0.0003160130284605772 0 0 0 3.170229290072076e-05 -6742 0.0011898847960998243 -2.5945717330224686e-05 0 0 0 5.996905073323948e-05 -8917 0.0003113215051172085 0.0005775426239433452 0 0 0 0.0006669217700983348 -9877 0.0009258987533117094 -0.00011271648651488923 0 0 0 -7.507751606824708e-05 -6781 0.0009976929614087114 -8.63851829471174e-05 0 0 0 0.00013408246050717503 -9962 0.0007081000307229157 -0.0002818499355436245 0 0 0 5.690950061566047e-06 -6800 0.000751560615342311 -0.00047321155642283236 0 0 0 -2.2190988089851425e-06 -6823 0.00047636006378896706 5.6978690417408515e-05 0 0 0 -5.408827474672785e-06 -9941 0.003242452911397692 0.0012916094808513318 0 0 0 -0.0015669948424157345 -2116 0.0004523279630410483 9.121019249265257e-05 0 0 0 1.2383049239890602e-05 -6850 0.0005245323768747898 -0.00010670126252192151 0 0 0 -0.00010110299983807902 -1233 0.0005155472165212548 9.363832122989961e-05 0 0 0 3.5792997678941874e-05 -6950 0.0012682757807233572 0.0005475866948327519 0 0 0 -0.0007234886477007341 -6971 0.0005040934057958684 0.0001310337283238122 0 0 0 -0.0003501909925495377 -6998 0.0007949148410760899 -0.0004649492438712998 0 0 0 6.941576249076057e-05 -6841 0.0006950163933577447 -0.0007613578142451791 0 0 0 -6.442619809477902e-05 -2359 0.00048335422652088795 5.776306614500759e-05 0 0 0 -5.899876804022575e-07 -7098 0.000784885644431532 -0.000450683127100581 0 0 0 9.750433543884907e-07 -7105 0.0007654195564502994 -1.0273207400984797e-05 0 0 0 3.831816242762334e-05 -7151 0.0007369079920262134 -0.00043795931503255416 0 0 0 -0.00011482682951561099 -7166 0.0007696106224070832 -0.00026526462010745787 0 0 0 -4.926006783035377e-06 -7189 0.0007780274587855717 -6.74037491017778e-05 0 0 0 5.27876495137435e-05 -7216 0.0006133614536429674 9.09961674575328e-06 0 0 0 4.6270143247918555e-05 -7223 0.0007218527483966421 -0.0001969590153168671 0 0 0 -2.8454668170767537e-05 -9440 0.0008389642788582148 -0.0003578866521473437 0 0 0 5.0196924499077457e-05 -7245 0.0011721983695852378 6.527381548253948e-05 0 0 0 5.9677652863907566e-05 -7255 0.0006986026569690512 -0.00044684871201022765 0 0 0 8.842781290941129e-05 -7312 0.0007582419896907903 -7.34246616795454e-05 0 0 0 5.2441248134342366e-05 -7320 0.0006109166141723695 -7.649592659231493e-05 0 0 0 3.9739383271928314e-05 -7330 0.0010504555991031005 -0.0002998395648423471 0 0 0 7.84256094052968e-06 -2023 0.0004200076932617458 -6.908846988353914e-06 0 0 0 -0.00011727041160015493 -7360 0.0006004815560470416 -8.830901296896396e-07 0 0 0 -1.958924601601511e-05 -7394 0.0007361245915486409 -0.0006092168366548972 0 0 0 -6.343344933429911e-05 -7403 0.0008578566115383852 -0.0005086401072989968 0 0 0 -9.130453917050064e-05 -7470 0.0004778353229570544 -4.1676050285619864e-05 0 0 0 -6.046443910906514e-06 -7160 0.0004323570950011308 5.1749097702755475e-05 0 0 0 -1.933588215423875e-05 -7502 0.0006168147655976738 -4.708917382355099e-05 0 0 0 2.638545868713983e-06 -7507 0.0007423639990876427 -5.115481505025711e-05 0 0 0 1.4364125158037725e-05 -7517 0.0009738198157524597 -0.0002340598122565683 0 0 0 5.310583352309035e-05 -7550 0.0009243825125911276 -0.00046340044536139803 0 0 0 -1.6263509131859268e-05 -7556 0.0008349335540164761 -0.00012631856179616492 0 0 0 -6.337326525831305e-05 -7579 0.0007914376364547485 -0.0005613802735626804 0 0 0 4.656916043375824e-05 -6816 -6.299153821756285e-06 0.002246030835590555 0 0 0 -5.56905640972184e-05 -8690 0.0006810276358350071 -0.000672939642347611 0 0 0 3.5553490780422395e-05 -7599 0.0007392141025909014 -0.00038931551334447424 0 0 0 -0.00010398727861548449 -7601 0.0004993624343594606 3.980097657582632e-05 0 0 0 3.016975277342482e-06 -7616 0.0005491486787715705 2.076871675673072e-05 0 0 0 -3.1345204041961636e-05 -7618 0.0007302084877471889 -0.0006174162592466007 0 0 0 -2.6389572670472547e-05 -7638 0.0007249717580731685 -0.00031770364754325867 0 0 0 3.3819929405860348e-06 -5586 0.00046968987803395844 8.811727825573121e-05 0 0 0 9.055985355420676e-06 -7769 0.0005882245736268832 1.637964488298326e-05 0 0 0 9.99809232539221e-06 -7836 0.0007538018367139702 -1.471777327268019e-05 0 0 0 -4.721025167652474e-05 -7841 0.0007834496615005594 -0.0004441715166229721 0 0 0 -1.384306680274187e-05 -478 0.0007260682200799934 -0.0003022566371072423 0 0 0 1.026531851977018e-05 -7859 0.0009960596899962818 7.493965709357697e-05 0 0 0 -0.0004918638241765076 -7865 0.0010219577394128437 -0.00018193257263227628 0 0 0 6.428276674573977e-05 -7866 0.0009012750952531417 -0.00015911354743671825 0 0 0 -7.273921337813555e-05 -7880 0.0007815288442531352 -0.0006981527463192832 0 0 0 9.495836195224259e-06 -7885 0.0008676116845096464 -0.0005548590364461574 0 0 0 -0.00011790143644331538 -7910 0.0007046456069582073 -0.0002947387151443692 0 0 0 3.5750214315321654e-06 -7961 0.0009324306898981176 -0.0002142863323390811 0 0 0 -6.605175271626235e-06 -8005 0.0007140322452923758 -0.00031365142021242835 0 0 0 1.640153676648528e-06 -6716 0.00048231908287880927 0.00010833566423497895 0 0 0 -3.934487870485e-06 -8069 0.0012058352314097737 -0.001879439428908653 0 0 0 0.0008334829019415926 -8071 0.0024741313912784698 0.0026490803910037154 0 0 0 -0.00031797853509268474 -8076 0.0005312413964889234 -0.0002712074914869746 0 0 0 5.611735006833108e-05 -8077 0.0005822389963618586 -1.7781936127301197e-05 0 0 0 3.0328639811376546e-06 -5150 0.00039965155446871096 6.394239078625972e-05 0 0 0 -1.0085100871396955e-05 -1890 0.0005725652678451863 -7.9924930623728e-07 0 0 0 0.0002689714143736987 -8048 0.0020883818258195337 0.0005393966551380901 0 0 0 0.0019646072445304546 -8165 0.0006465565568444478 1.3342929359290881e-05 0 0 0 -1.3903170965708225e-06 -8169 0.00044502857645164367 1.7680695814809647e-06 0 0 0 6.454921997283881e-06 -8175 0.0009854559176661897 -0.00026177484814088954 0 0 0 2.1260357325324853e-05 -8190 0.0007819390905442538 -0.00013533439501342304 0 0 0 -3.849990392105848e-05 -8199 0.0007584615801261713 -0.0007142869505588038 0 0 0 3.259350342580286e-05 -8220 0.0007384376228533458 -0.00017955470840930836 0 0 0 3.397279212668312e-05 -8237 0.0008511576425963881 -0.0006469204088876805 0 0 0 -0.00010710215231461972 -8248 0.0009909291589546097 -0.0003994738064014983 0 0 0 1.2847144712519283e-05 -3504 0.0007195723953075067 -0.00025055975459925263 0 0 0 0.0004393313176596178 -8324 0.0009696394681388825 -0.000247084227802513 0 0 0 3.4418498439903936e-05 -8337 0.0009380486758027376 -0.0002909221708990206 0 0 0 0.00019259219740765194 -8338 0.0015762393642721638 -0.0010094239326977896 0 0 0 -0.000921865671195178 -8358 0.0006119219372281391 -6.19170235009946e-05 0 0 0 -2.8972120677271134e-05 -2778 0.00047985238575463165 7.875520407616306e-05 0 0 0 7.6170258168344635e-06 -8382 0.000664245885121204 0.0002800036854681931 0 0 0 0.0007114592905407997 -8386 0.0007622936787731323 -0.0002877810066642491 0 0 0 1.0797080031035532e-05 -8392 0.0009295665337100369 -0.0002421113666065462 0 0 0 0.00011217681250659781 -8404 0.0005221385531896104 4.45250013800556e-05 0 0 0 1.3695273166098711e-05 -8408 0.0007046750383838046 -7.213237370613137e-05 0 0 0 7.11114564760072e-05 -8418 0.00046416546872011404 5.9687934544937916e-05 0 0 0 -4.444637499770501e-05 -8425 0.0008084064069918348 -0.0004686213457291662 0 0 0 -0.00017683824884693025 -9998 0.0006252255690963873 0.00045107309110749413 0 0 0 3.6271396881708425e-05 -8464 0.0006241074639848373 -6.739788433190141e-05 0 0 0 1.483933316148116e-05 -8508 0.0008033829093090622 -0.00019798238630525707 0 0 0 3.647853454950853e-05 -8517 0.0006213075060931895 -3.383180851222942e-05 0 0 0 1.728127256410992e-05 -8539 0.0007752444241359965 -0.0004409825310346526 0 0 0 2.8372543914660316e-05 -8551 0.0015552253218180556 -0.0007842721590090553 0 0 0 0.0014769905380589603 -8554 0.00034204982135659616 -4.187499361790455e-05 0 0 0 -1.1616562693101373e-05 -8558 0.0011231071672881128 -0.00021935925743517314 0 0 0 2.3704551976469217e-05 -6791 0.0007682834000225236 -0.0003481118930463873 0 0 0 3.3875383009463294e-05 -8574 0.0004025055312258621 0.0002125917006353727 0 0 0 1.4649932615390477e-05 -8627 0.0011046585946082796 -0.000269887440005755 0 0 0 -2.792365687940868e-05 -8631 0.0009201035881151535 -0.00013587625224563196 0 0 0 -0.0002378068521202305 -8632 0.0010045415575019533 -0.0003713942551659029 0 0 0 1.3089134500297894e-05 -8634 0.00040052234609591755 0.00016332204596385848 0 0 0 -0.00010311865117770182 -8642 0.0007527516833741234 -0.00023535911040466003 0 0 0 8.851133550948968e-06 -8664 0.00278083477371322 -0.0009279787919379042 0 0 0 -5.920856710209026e-06 -8668 0.0009743401566119523 -0.0003260676296674395 0 0 0 5.517616260495255e-05 -8331 0.0004894382563774561 8.771352853024117e-05 0 0 0 1.2660433325748523e-05 -8714 0.0009903583423357366 -0.00029492497914430406 0 0 0 -1.8996640350806613e-06 -8722 0.0009236155964277605 -0.000524589839660303 0 0 0 -1.1064540297269555e-05 -8765 0.002406156331906295 -0.004651277592054663 0 0 0 0.0008523147312829719 -8798 0.0007881732824877301 -0.00022257205201037329 0 0 0 3.072650544898646e-05 -8839 -3.646771959591264e-05 -0.002110384218361694 0 0 0 0.002044046781201607 -8852 0.00040190507438672956 -0.0007385712320777474 0 0 0 0.00019436662438555177 -8899 0.00035254290040906384 -3.287882936553733e-05 0 0 0 -5.137439780693733e-05 -8573 0.0008260855771171866 -5.192620458957873e-05 0 0 0 7.140339084872262e-05 -8929 0.0004401995070344725 -8.114863056492882e-05 0 0 0 -0.0001142541350301864 -8936 0.0007514103199486817 -0.00046089914356699767 0 0 0 0.00022210684883470892 -8949 0.0010135212729378586 -0.0004011464343574215 0 0 0 2.7786187917552902e-05 -7200 0.00036814649965774814 -5.553932135896365e-05 0 0 0 2.8910094528649285e-05 -9037 0.0009462240170963397 -0.0004863553481001699 0 0 0 1.8804763296919304e-05 -5348 0.0005059725662845561 5.9801774057334735e-05 0 0 0 -3.9455931895727775e-05 -9046 0.0009422982650251206 -0.0003854579143054803 0 0 0 1.7752507322903104e-05 -9084 0.0010828452327502943 -0.0003189898635400283 0 0 0 1.840711148208296e-05 -7354 0.0004790075883208416 3.3691014778354084e-05 0 0 0 -0.00010243787539435382 -9107 0.00101685173461442 -0.00041002035525557375 0 0 0 -0.00012334386500241314 -9173 0.0008864529128285656 -0.0002054919110353391 0 0 0 -8.503970165957613e-05 -9184 0.0008783104546598545 -0.0005635120305307 0 0 0 3.200250768775807e-05 -9189 0.0011212013172008125 -0.00021516947345820225 0 0 0 -3.380957540856401e-05 -9244 0.0006945116378850963 -0.00031400344525239976 0 0 0 1.7657935697205048e-05 -9246 0.0005303080614545426 -8.982586653441249e-05 0 0 0 0.00016736787071302764 -9251 0.0007423867507682698 -0.0001995956665121519 0 0 0 2.8244395257230296e-06 -9256 0.0008550248028614212 -0.0006114345459122507 0 0 0 2.5783069406669262e-05 -9269 0.0009395186044044826 -0.0005210026018326436 0 0 0 -5.190419664849243e-05 -9274 0.0010858139727280634 -0.00030144611002700023 0 0 0 4.03469704028275e-05 -9278 0.002461559350571047 0.00035930432746304926 0 0 0 0.0011239122275591544 -9294 0.0007484126879001391 -0.0007161869671064453 0 0 0 6.17502397862217e-05 -4995 0.0007212205881901623 -0.0002609145863957148 0 0 0 8.908028133296155e-06 -9881 0.0007626250972514772 -0.00036358221366831155 0 0 0 5.254618528649443e-05 -8417 0.00162038123097504 0.0007271781549359202 0 0 0 0.0012057250950804252 -9843 0.0008545901869006907 -0.00028779235636224005 0 0 0 6.238714866014456e-05 -9465 0.0008880852539405495 -0.0004040310183058309 0 0 0 -2.871648538724539e-05 -9483 0.0009098010186676613 -0.00016936830232064092 0 0 0 0.00020977579992219978 -9521 0.0003624410119229493 -5.932760002120301e-05 0 0 0 -4.781919645772422e-05 -9535 0.0008771990302867444 -0.0005233653282397255 0 0 0 -1.4650094938746472e-05 -9547 0.0005015034947810277 4.165534470903667e-06 0 0 0 -5.905533481855468e-05 -9549 0.0011802610659039047 -0.00019702883059891386 0 0 0 -2.130496221791646e-05 -9572 0.0009446046319413877 -0.0003155219594958441 0 0 0 6.504863180278689e-05 -9596 0.002251466575558867 -0.000560217293552405 0 0 0 -0.001493638216352944 -9618 0.00048819253428024454 3.1247434863126026e-05 0 0 0 8.291239050947847e-06 -9651 0.0008184296612489694 -0.00048204445324419933 0 0 0 -0.00017514428182386377 -9665 0.0005838195194896516 1.959314998603462e-05 0 0 0 2.37078227422042e-05 -9669 0.00041165359219034363 -6.531481971476161e-05 0 0 0 -0.0001168174550734187 -9671 0.0007230420695321918 -0.0003593940777439311 0 0 0 1.2029191516595416e-06 -9685 0.000561578322012626 -0.00015544775202745853 0 0 0 3.929589847074261e-05 -721 0.0005166375416379607 4.11525345161962e-05 0 0 0 1.9367791972684823e-05 -9716 0.0005892502829780746 -4.3601998583884884e-05 0 0 0 -2.8230606990587777e-06 -9742 0.0006089746428969517 -5.39842976033606e-05 0 0 0 -4.9176008695565055e-06 -9761 0.0004650175444297899 0.00019204942656541802 0 0 0 0.00025253230844684063 -9762 0.00046059778195596014 -0.00011791823577760815 0 0 0 0.00046638255444445437 -9795 0.0010762082841481082 -0.00032930617759057085 0 0 0 4.980094285245811e-05 -9808 0.0007563227687282161 -0.00033905645009453105 0 0 0 -3.7364969489943016e-06 -9813 0.0007995808001752512 -0.000179384323468545 0 0 0 2.733350028680973e-05 -9814 0.0010402402018048094 -0.0003655477098534096 0 0 0 -8.909891290622411e-06 -3606 0.00016900506193442692 0.00019585806131229867 0 0 0 -0.0002460301161908759 -3141 0.0007345698780312756 -0.00032508575041916504 0 0 0 -2.2225732917003883e-05 -8178 0.000735774588048004 -0.0002583970076479378 0 0 0 6.036583760243707e-06 -8567 0.0002482774410838177 7.990330438553434e-05 0 0 0 8.182510401881973e-05 -6145 0.0007180372832737576 -0.00031245462256001405 0 0 0 4.22020438644559e-05 -9015 0.00016632499462159266 0.0001245306219879756 0 0 0 5.997329075325895e-05 -4386 0.0006631136670947457 -1.3260243695848112e-05 0 0 0 1.2157452913612926e-05 -2932 0.0007385378133931543 -0.00041365054864349614 0 0 0 2.534283125935272e-05 -6550 0.0008709796770996052 -0.00023577628322224412 0 0 0 -0.000142888863582654 -4503 0.00031993711625354993 7.83548313420379e-05 0 0 0 -4.3670560662381986e-05 -3904 0.0006453590649679798 -3.705009913697423e-05 0 0 0 0.0001564448192260029 -4717 0.0007750454903599851 -0.00034181154690419356 0 0 0 -7.282386524948415e-06 -5257 0.0002718181198070059 -2.9690591711268906e-05 0 0 0 3.395443237245046e-05 -7096 0.00016386753952992358 0.0001960244410350101 0 0 0 -1.7430487385580927e-05 -3256 0.0007375018768158342 -0.00026538745155207526 0 0 0 2.9762269019920603e-06 -1333 0.00037210898791092034 4.467109733937269e-05 0 0 0 -1.1012327722553805e-05 -3846 0.0008414072406970639 -0.00035458346190303167 0 0 0 3.429544489233906e-05 -5773 0.00024942984517624026 -2.7873678456129014e-05 0 0 0 -2.235247321317359e-05 -6603 0.0008315340095250634 -0.0003647525758271505 0 0 0 -7.409182200572651e-05 -4384 0.0007845204963803677 -0.00032119299272343095 0 0 0 -3.5417627423652716e-05 -2220 0.00024746217175723706 5.5562932257161795e-05 0 0 0 1.3754074416042432e-06 -9090 0.00048762069322560563 0.00010568130527693934 0 0 0 -1.8490288620338333e-05 -1315 0.0008578951521183869 -0.00026381216498998 0 0 0 -5.03280754689511e-05 -6594 3.541600478028999e-05 0.00013547007123118596 0 0 0 -0.0005440206202373246 -5164 0.0007813044528566372 -0.0003219984117909091 0 0 0 3.985531377462861e-05 -1286 0.0008502244522568076 -0.00027721234365183874 0 0 0 2.6088694641268207e-05 -4761 0.0006975854370649275 -0.0003050392917545538 0 0 0 0.0005961378980490035 -9377 0.0004929246925413406 5.611051096270155e-05 0 0 0 1.318406506838938e-05 -6573 0.0004456813005752615 3.10647368142668e-05 0 0 0 -4.13492665300345e-05 -433 0.0006836880362626396 5.024995567001619e-06 0 0 0 -3.0467620168779193e-05 -9094 0.000744625343311001 -0.00031967382357756246 0 0 0 2.526728571228735e-05 -2199 0.00042321437699091 2.592987440383578e-05 0 0 0 -8.18072673517025e-06 -1655 0.0007916395866808383 -0.00035457576070874246 0 0 0 -2.377735842840034e-05 -7207 0.0007452629981695557 -0.00015036527011953076 0 0 0 -0.00010872542216077849 -7875 0.0006585619246582422 3.7484154374812544e-05 0 0 0 0.00016718166745976926 -645 0.0006822356766865151 -0.00030148060339422317 0 0 0 9.296688489967334e-05 -9972 0.00036547266030541705 0.00014472173048552157 0 0 0 -3.0834187318466155e-05 -2113 0.0007081949702739137 -0.0007224063339711531 0 0 0 -3.8479080361991125e-05 -1412 -1.2039149567225154e-05 0.00010147738508380671 0 0 0 -0.00014286610388043424 -5701 0.0004761925580242084 5.147696238223329e-05 0 0 0 -0.00015663562454425414 -5800 0.0008450331921778463 -0.00033908595153051745 0 0 0 -3.0708573661039805e-05 +16 5.260666201267501e-05 -0.0009737884709042084 0 0 0 -2.7234396398140292e-05 +6528 0.00019571820982417236 -0.001110325959709673 0 0 0 -0.00011490010995966915 +8976 1.4090809428524827e-05 -0.0010226282861066226 0 0 0 -0.00015547741140055528 +168 0.00021675863166719647 -0.0011869014491254397 0 0 0 -1.1572223867577925e-05 +194 0.0001641151443668019 -0.001097586287646065 0 0 0 1.505868721039182e-06 +208 0.0005162024856164499 -0.0009303595463072028 0 0 0 -1.3440260412127087e-05 +336 0.0003849709779135179 -0.001065017561033697 0 0 0 -2.932519833171004e-05 +346 0.0006926848181723253 -0.0006294330140698434 0 0 0 -1.9139936967534756e-05 +364 0.00015505307535069334 -0.0011706005419170628 0 0 0 -9.640200937952352e-06 +412 0.00072186341813633 -0.0006760823041527376 0 0 0 -1.6352854520428083e-05 +439 0.0002737204102380885 -0.0011139295462731374 0 0 0 -1.8737452069264012e-05 +511 0.00022999952016798935 -0.0011071148908364916 0 0 0 -1.8615264430771876e-05 +527 -0.00010116115016313586 -0.0010066473223883333 0 0 0 -2.827228631850173e-05 +529 0.0008204070610662049 -0.00047554474459611935 0 0 0 -2.492656016060926e-05 +543 0.0005889373994365686 -0.0008379095701302459 0 0 0 -4.284927362499234e-05 +5300 0.0004390941768035999 -0.0005392641468062594 0 0 0 -3.907549779222174e-05 +569 0.0005667176135047981 -0.0005387722289699932 0 0 0 -4.298078413058237e-05 +4350 0.0008738156133875797 -0.00037626513614631067 0 0 0 -1.1875814586790355e-05 +629 0.0006453212595244072 -0.001126542527660624 0 0 0 -8.705535943637418e-05 +3990 -2.3676686807817543e-05 -0.0012014804017280035 0 0 0 -5.66002840376957e-05 +675 0.0005596261297357477 -0.0010188177144024948 0 0 0 -1.552895012476579e-05 +9041 -0.0003424868526883643 -0.0010999304307253786 0 0 0 1.3779279385797152e-05 +816 0.0006244784892988011 -0.0006767284132300886 0 0 0 -3.057674491970027e-05 +818 0.0005161186741222359 -0.001007323600092597 0 0 0 1.3722793540263083e-06 +826 0.0001828491286474793 -0.0010757751728556304 0 0 0 4.7686325983363374e-05 +839 0.0005606918356476915 -0.0009687350978425316 0 0 0 -1.863714906098011e-05 +2313 0.0011164754343111099 -0.0014153485766581477 0 0 0 7.581858915442339e-05 +8135 -0.0002666423348320579 -0.001084344993713134 0 0 0 1.404556696460057e-05 +8715 0.0005502682438415883 -0.0009293979122768383 0 0 0 -5.657722264796631e-06 +924 0.0006640868874371912 -0.001062905144133248 0 0 0 -3.410239356685334e-05 +936 0.0006862461427985465 -0.0005363548328029536 0 0 0 -2.760470686480755e-05 +1686 0.0008816113373023975 -0.00035210772103061856 0 0 0 -1.6407818994673824e-05 +8693 0.0007899227030517169 -0.00043095132517529343 0 0 0 -2.1121780543415322e-05 +9386 -0.00022393000491950266 -0.0010102911800340406 0 0 0 9.600084058613292e-05 +1098 -0.00016620287173294096 -0.001062661708312781 0 0 0 -4.500478948943344e-05 +7031 0.000344945480070324 -0.0006007905213091797 0 0 0 -0.00010719628996953159 +1146 0.0004593405875556538 -0.0010189660389991583 0 0 0 -3.490240960996041e-05 +1205 0.0006463187923864633 -0.0008330591772992501 0 0 0 -4.8338663317403334e-05 +1238 8.333418459152942e-05 -0.0009855505531073097 0 0 0 -7.974421904670588e-05 +1253 0.0005813408953650657 -0.0007951902476273679 0 0 0 -2.169226751116553e-05 +1292 0.0006773422078070226 -0.0010392328633965667 0 0 0 -1.383059655972834e-05 +1297 0.0008059290072023003 -0.0005369165635006548 0 0 0 -1.5963795669697432e-05 +1311 0.0006074995365258996 -0.0009080959045994098 0 0 0 -2.0810884384350985e-05 +1335 0.0007790864555844503 -0.001139842253710212 0 0 0 -5.9714038401470044e-05 +9282 0.0006937282407469968 -0.0007044834055314071 0 0 0 4.442045040172109e-05 +1020 -1.686906462290563e-05 -0.0011541993593339854 0 0 0 0.00010436049065448812 +6758 -9.450079657573074e-05 -0.0011299194716986461 0 0 0 0.00019996641962908996 +1475 0.0004535434184928422 -0.0010006914924383594 0 0 0 -5.419820628663541e-05 +7604 -3.2645459536491816e-05 -0.0009948341583718527 0 0 0 -0.00015340287842924638 +9200 0.0005322411434162163 -0.0009800860557582383 0 0 0 -4.798548763528776e-06 +2244 -0.00017139922158470716 -0.000984881282138165 0 0 0 -0.00013826532395795672 +4472 0.0004123678888043022 -0.0013694920549642295 0 0 0 -0.00016611980449318816 +2271 0.0004402634116055396 -0.0012311515779145773 0 0 0 -0.00043314497467424474 +2824 0.000870132893101487 -0.00039996529175226385 0 0 0 -5.108071119883511e-06 +5921 -0.00012057862809916798 -0.001001493846264318 0 0 0 -0.00013340528860949797 +1886 0.0001774103490599119 -0.0010890252339777915 0 0 0 -4.293601483494469e-06 +1932 5.5688093364711523e-05 -0.0011152385902916668 0 0 0 -8.777316973925895e-05 +1989 0.0003555505601308757 -0.000987528458743778 0 0 0 -4.556583491732661e-05 +1143 -0.00020056360823985465 -0.001008625529370378 0 0 0 1.0597689851413565e-05 +9159 -7.624307039457997e-05 -0.0009442555366014967 0 0 0 6.892094151723941e-05 +1246 -5.74608727409478e-05 -0.0009858139198466423 0 0 0 -3.1430527501531164e-06 +8536 0.0006104646957813753 -0.0010175302930613612 0 0 0 0.00017045080012012746 +5856 0.00026170570966213335 -0.001108778994396942 0 0 0 0.0002467110599496343 +9822 0.000107238527177807 -0.0014047350357938233 0 0 0 -0.00023268493585492818 +2405 0.0007345260546000645 -0.0005379616933588886 0 0 0 -2.7191973888398515e-05 +2408 0.0008116029924261863 -0.0011305668780190136 0 0 0 1.0028721051155337e-05 +8638 0.0011609969647352087 -0.001438507036026068 0 0 0 0.00010825776480023691 +2545 0.0005128790049286472 -0.0008760603347065103 0 0 0 1.1021844340029044e-05 +6729 0.0009009474387847207 -0.0014309735646262538 0 0 0 -6.815161182486279e-05 +2561 0.0004911025105173086 -0.0011042599770779372 0 0 0 -7.165512205246814e-05 +567 0.000737629555488592 -0.0004130313781541839 0 0 0 -2.6616536098924267e-05 +2629 0.0006517212812218326 -0.0009556206506858514 0 0 0 -3.943657801942823e-05 +2631 0.0005460741709019635 -0.0007760087967750046 0 0 0 -5.007316290519581e-05 +2671 0.0005806857643199057 -0.0009936619947800245 0 0 0 -1.780125690588041e-05 +6562 7.110994843991767e-05 -0.001045029669410604 0 0 0 -0.00024589053067737316 +8927 0.0005450044317287826 -0.0010145752540893145 0 0 0 -1.0210535253510263e-05 +2753 0.0003815748609361014 -0.0010846774419017216 0 0 0 -7.205599385953025e-05 +2797 0.00027383251269930223 -0.0010480653497154694 0 0 0 1.6070212359168004e-05 +2836 0.0005986455921908871 -0.0008628730345665432 0 0 0 3.831626418729631e-05 +2843 -0.0002513183944295039 -0.0010286495949539207 0 0 0 -8.3655689099792e-05 +2243 -3.47652760609164e-05 -0.0010269397712565436 0 0 0 0.0001162483177884395 +8984 6.542270274341202e-05 -0.0010483149125556663 0 0 0 0.0004447800787960479 +3020 0.0006321270717388173 -0.00047408425984554417 0 0 0 -2.6665236374342818e-05 +1803 0.0002526150357012737 -0.0011106902547617478 0 0 0 0.0001714171145948115 +3094 -6.266377526950498e-06 -0.0010104718900096348 0 0 0 0.00014632316587040418 +3114 0.0006643103200322092 -0.0009900592418189478 0 0 0 -4.196525593077896e-05 +3151 0.00013431729586349395 -0.0010942601269103038 0 0 0 -3.831141383172267e-05 +3218 0.0005374326310802249 -0.0006931716819448423 0 0 0 -2.102426737398406e-05 +3295 0.00017202969901436882 -0.0012059719910659664 0 0 0 7.4779225680755695e-06 +3315 0.0008380002559738165 -0.00047661890844174137 0 0 0 7.013001615308849e-06 +3336 0.0001299098324962057 -0.0011217269562313055 0 0 0 -4.8102725577265494e-05 +3351 0.0005546529722586963 -0.0011475286156838495 0 0 0 -2.3391632117849736e-05 +9959 0.000873655484763616 -0.001443131497499907 0 0 0 0.0004704500007709196 +3396 0.0007848828169512412 -0.0005706865504217039 0 0 0 -2.256811893195642e-05 +3409 0.0006764954098117352 -0.0004591814748964721 0 0 0 -2.3115030998933626e-05 +3418 0.00044865971390393907 -0.001319565682210028 0 0 0 -0.0004542482269346527 +3433 0.000433099403035054 -0.001021130926661477 0 0 0 -4.246115021286196e-05 +9495 0.0006066203430251525 -0.0008105404056152699 0 0 0 -3.8589589044933706e-05 +3439 0.0006125236456660533 -0.0011402795855105807 0 0 0 3.713003837508478e-05 +3440 0.00025166503946110884 -0.0011055388237445314 0 0 0 9.274885508791432e-05 +3453 0.00018335427888569508 -0.0010878775762909365 0 0 0 6.515534906867633e-06 +3472 0.00033172029933609695 -0.0011210725012470186 0 0 0 -3.555063943239292e-05 +4261 -7.598715718209165e-05 -0.0009812671070863776 0 0 0 -0.00018567007121504523 +5007 0.0009100421661890592 -0.0013347872443376808 0 0 0 0.00024149326199627693 +3549 0.0004663718327346011 -0.0011463805773265522 0 0 0 -0.00012127900030389058 +3590 0.0008560429069625773 -0.0011501663499067067 0 0 0 6.443411398721765e-05 +3604 0.0002312146277110305 -0.001125929578691738 0 0 0 4.3661640874012625e-05 +9545 0.0008816124981451111 -0.00036539223106424903 0 0 0 1.1785061597893256e-05 +3661 0.00019697051647567202 -0.0010681161013584954 0 0 0 -0.00014875942393308464 +3723 0.0006420171138794506 -0.0006940614019153478 0 0 0 2.5605594339371588e-05 +8580 0.00043470294139624175 -0.0009741919140884478 0 0 0 -5.807636754315451e-05 +3889 0.0006445949420247007 -0.001032034895276005 0 0 0 -2.7070019498105275e-05 +2760 0.0001786609482763063 -0.0013741592098438047 0 0 0 8.348721179093476e-05 +605 0.00014322700032729348 -0.0012276540237187766 0 0 0 1.7557628514001208e-05 +4000 0.0006418253009271481 -0.0005490374731628013 0 0 0 -1.7622839515121166e-05 +4024 0.0002807486752447257 -0.0011152509067736038 0 0 0 -4.150143053212365e-05 +4050 0.0008396206353819694 -0.0011467694232212154 0 0 0 1.2224639291307737e-05 +4056 0.0004371664088975271 -0.0006425819995548089 0 0 0 -4.562342564830324e-05 +1375 0.0003282687352266503 -0.0009983155759576076 0 0 0 1.1010058337713016e-06 +4119 0.0001118885584821738 -0.0010036602857942092 0 0 0 5.134832157089584e-05 +9783 0.0005449138791906215 -0.0011725730277465 0 0 0 0.0001091376597779741 +4138 0.0006176813297866427 -0.0007765885711059788 0 0 0 -1.8272851944423534e-05 +1030 0.000834575483272307 -0.00037051605339447324 0 0 0 -2.314058078719048e-05 +4180 0.0005851632756480686 -0.0008825765324622617 0 0 0 -0.00014695440539439747 +3303 0.0008719079264244533 -0.0014696387841517528 0 0 0 -0.0003071746394133042 +4252 0.0006858521755139744 -0.0007414209640688951 0 0 0 -2.767817740079911e-05 +6789 -0.0002345848278925385 -0.0007213347247361568 0 0 0 -1.1579967318999195e-05 +4323 0.00014756967111343095 -0.0011599909789803424 0 0 0 0.00013954960926316129 +8369 0.00018965899012420866 -0.0011736806719962773 0 0 0 -5.209719210980024e-05 +9343 -8.740148620884661e-05 -0.001008798686059665 0 0 0 5.685009939685943e-05 +4451 0.0004646921907332238 -0.0011041906617024117 0 0 0 6.088829327000842e-07 +2775 0.0010679315839980128 -0.0014209737799283503 0 0 0 -0.00024390107034034765 +4480 0.000683982468692989 -0.0010743044510191683 0 0 0 3.011103100463209e-05 +4497 0.0006334999689681687 -0.0010660713913046883 0 0 0 7.655018468257872e-06 +4143 -0.00025354367825999256 -0.0008789332267968127 0 0 0 2.8228125976581975e-05 +4522 0.0005138941153532038 -0.0006597646896768941 0 0 0 -2.7356686638615815e-05 +4527 0.0006175690889164757 -0.0009114525909057309 0 0 0 0.00018932605905101145 +9801 0.0007008395891051291 -0.0006847915043066633 0 0 0 -8.047275776898789e-06 +4624 0.00046276787514804707 -0.0006733403423949172 0 0 0 -5.259706004971785e-05 +4628 0.00018711416161266663 -0.001056114842053136 0 0 0 -2.6169235044583595e-05 +4381 0.0006229731816140658 -0.0014268976067724863 0 0 0 -0.0004120575957209171 +4271 0.000149460856587705 -0.0011798107247927058 0 0 0 -0.00026650906307809435 +6358 0.0008230900415663654 -0.0011296285892627073 0 0 0 -5.824317470310409e-05 +4762 0.0005604834306620633 -0.000850193947138421 0 0 0 -4.743960846745195e-05 +4796 6.918251710816906e-05 -0.0010963072457309832 0 0 0 3.135840122150083e-06 +4820 0.0005841103084763501 -0.0009916935087914156 0 0 0 -1.3393749008524258e-05 +4868 0.00012195233896746514 -0.0010670911123132473 0 0 0 3.7592652978967475e-05 +4872 -0.0006888467228305715 -0.00011608502131259702 0 0 0 -0.0010453750829494959 +4893 -0.0020269759761392873 -0.0013304347312193343 0 0 0 0.00016834379766501184 +4913 0.0001339775778796571 -0.0011774888132346278 0 0 0 -0.00015774018633993346 +4950 0.000632826515291389 -0.0007790479974659567 0 0 0 5.128101584621582e-06 +4998 0.00022080681011068777 -0.0011704423559928965 0 0 0 0.00015972248666986012 +4989 0.0007951259924195672 -0.00040190902766224857 0 0 0 -1.025759696299711e-05 +5063 0.0007715123377189301 -0.0004588501089446397 0 0 0 -2.6658456655256867e-05 +5068 0.0006744820579456636 -0.0007918377754984863 0 0 0 -6.329568894689969e-05 +5108 0.00036808863898389073 -0.001018089527477623 0 0 0 1.4877086713952393e-05 +5123 0.000810896877208807 -0.0005848133028981609 0 0 0 -1.2717491443340956e-05 +6628 0.000876611441575295 -0.00037102141700674876 0 0 0 -7.619148508758756e-06 +5190 0.00018969930141976877 -0.0011321366207418606 0 0 0 -3.403817357543042e-05 +9707 0.00033078573169291654 -0.0011762930619962876 0 0 0 -4.114144521747181e-05 +5266 0.0005699351037398053 -0.0006546856730111019 0 0 0 -3.234268987265199e-05 +6557 0.0008744904078156651 -0.00029733114769668357 0 0 0 -1.7702053484595348e-05 +9552 0.0007262123231962438 -0.0006383413651887656 0 0 0 3.773044553823018e-05 +5363 0.00036403210271021146 -0.0011152552875888708 0 0 0 -3.822048866894598e-05 +7372 0.001235007393235009 -0.0013192206218055485 0 0 0 -0.00010169601354580284 +5390 0.0005813226068218109 -0.0009669571364679156 0 0 0 -3.685018519122161e-05 +5437 0.0002235747705387632 -0.001250876406187135 0 0 0 0.00011966458972570425 +5510 0.0001858042885734854 -0.0010951256567272233 0 0 0 -1.4334359699456336e-05 +8020 0.00044667584748858945 -0.0005609957494597422 0 0 0 -2.9924874836870677e-05 +1746 8.541657579884273e-05 -0.0012264021097235377 0 0 0 -0.00012307858306658323 +5549 0.0007899422106364691 -0.0011323892121259244 0 0 0 4.133034387619308e-05 +5576 0.0005499525821082662 -0.0010249039424688963 0 0 0 -4.726514852832262e-05 +5587 0.0008987120437633096 -0.0011854178235893137 0 0 0 -0.00013379280259084983 +5601 0.0007956140540395531 -0.0011347455433816736 0 0 0 -5.384614369749362e-05 +5694 0.0005024384271158964 -0.001043321837498584 0 0 0 0.0007020918266225928 +5093 0.00017671404317514335 -0.0013629945959828804 0 0 0 -3.5175691433864904e-05 +5884 0.0005374675823162648 -0.0010544294390419278 0 0 0 -7.90168293149722e-06 +5932 0.00018217895502072831 -0.0009369381305845429 0 0 0 -0.0002629512475511914 +6035 0.00020163426365676446 -0.001166352953537445 0 0 0 -8.31826614216983e-06 +6036 0.0006644963856740894 -0.0006150439831426628 0 0 0 -1.9240938843999951e-07 +6063 0.0007957456345296035 -0.001130234441128115 0 0 0 1.0218814291224135e-05 +6094 -0.001627793092147218 -0.0003226449016310918 0 0 0 -0.0020248156938866475 +6180 0.000263072376665479 -0.0010959811477678904 0 0 0 -4.9606205251758026e-05 +6181 0.0008608126093608692 -0.00043246460081720157 0 0 0 -3.0286919740003956e-05 +9177 0.00030680206044326704 -0.0011537952129363105 0 0 0 0.00010323468386805716 +6432 0.00032453096386856706 -0.0011838334073191457 0 0 0 -8.65601071882027e-05 +5147 0.0008737539537278506 -0.000329264805057081 0 0 0 -3.44566717519364e-05 +6575 0.0012286066008026738 -0.001402645942970153 0 0 0 -0.0015606911836965724 +6626 -1.7759384516563982e-05 -0.0009417707486152259 0 0 0 2.9201604631251154e-05 +6637 0.0007573040268028973 -0.0005453574923277588 0 0 0 -3.686376974028015e-05 +6796 0.0004906293462966992 -0.0007094137075028713 0 0 0 -7.872457230056122e-05 +6803 0.0005770244921971017 -0.0010279694006364681 0 0 0 -2.4831461048053895e-05 +6839 0.0006158797543785261 -0.0005923195744199932 0 0 0 -2.652515728532464e-05 +8455 0.0008532300370429954 -0.0014498132027317829 0 0 0 -0.0002836140513927911 +7940 0.000465387274207153 -0.0006159468912509768 0 0 0 -4.03099135141036e-05 +7008 0.0005516871903039268 -0.001184966414660277 0 0 0 -0.00018246708903065897 +7112 0.00047169613309566266 -0.0012227450301128683 0 0 0 0.0007758754608675421 +7130 0.000511912414530185 -0.0010054006627460324 0 0 0 -1.3352298683736449e-05 +7162 0.0005419192222968462 -0.000981751109869095 0 0 0 6.586460316791586e-05 +7178 0.0006045325370002142 -0.0009394114244557035 0 0 0 -1.6397727868082357e-05 +17 0.0008142651777052075 -0.001439609993524636 0 0 0 1.61286620868881e-05 +7250 0.00019991001499839858 -0.0010725189117528726 0 0 0 -5.2033480111260984e-05 +3258 0.0005927260454288734 -0.0014107394111431092 0 0 0 0.00011872480088666773 +7264 0.0007677580661863441 -0.001124079466419896 0 0 0 1.212125935658422e-06 +6006 0.001214645883817594 -0.0012139938128262657 0 0 0 0.00014077572758645332 +8569 0.0006530393559069476 -0.0005045838145188712 0 0 0 -3.2110290166985006e-05 +2767 0.0010324046181696795 -0.0014059817781240291 0 0 0 -0.00018762493731912182 +7327 0.00042638924784855966 -0.0009453427210586716 0 0 0 -4.534974136811025e-05 +7333 0.00039228049757123796 -0.0006238861199694096 0 0 0 -7.80897539789019e-05 +7379 0.0006817511944290309 -0.0007543097294217896 0 0 0 -5.1991320082678025e-05 +2713 0.00016795570841809292 -0.0007661647517058796 0 0 0 1.2726782334548364e-05 +7460 0.0003459385770811265 -0.0011083391649810367 0 0 0 5.127407431660441e-06 +7473 0.0004983727482731581 -0.0012936650213105291 0 0 0 -0.05328136327054522 +9322 -3.2315061756636336e-05 -0.0010417772141210321 0 0 0 9.473028338658369e-05 +7537 0.0003754322326804708 -0.0011194659308679934 0 0 0 0.00010767280417681122 +7574 0.0006598118055180448 -0.000688598978375267 0 0 0 -6.146787974070875e-05 +7633 0.0003932585141956352 -0.0010882314503610677 0 0 0 -8.530998060436528e-05 +7648 0.0003913136836203237 -0.0009258758181939366 0 0 0 -2.048078370431494e-05 +7661 0.0003684818757913176 -0.0010464106965044604 0 0 0 0.00018912002983876455 +1729 0.0009119517916073438 -0.0002748939273598343 0 0 0 -1.5025783917183934e-05 +7697 0.0003596952120794115 -0.0009752599443044827 0 0 0 6.440472072699488e-05 +7770 0.0007026643465434369 -0.0007380971197751061 0 0 0 -8.272482395537046e-05 +7792 0.00024808291504827224 -0.0011067319817919196 0 0 0 -7.898897965776189e-06 +7814 0.0006553816263312948 -0.0006084327596401067 0 0 0 -4.588849040664379e-05 +7852 0.0007324271145502189 -0.0006282414261449781 0 0 0 -7.004247609737636e-05 +7895 0.0007340132006829059 -0.0010853927541980295 0 0 0 -3.299912781142432e-05 +4785 1.883083245672508e-05 -0.0010059440480689407 0 0 0 0.0001944135764743416 +7941 0.0005573136563861103 -0.0010583905014526784 0 0 0 -1.7822872384583385e-05 +8037 0.0007426005909848055 -0.000692838741803607 0 0 0 3.8946939773368265e-05 +8013 0.0007919220972537336 -0.00038906613399126375 0 0 0 -4.610440665335198e-06 +1904 0.0012611097352962137 -0.0014498651843367152 0 0 0 3.486397987440245e-05 +8182 0.0008193774530766499 -0.0011496928166338826 0 0 0 -2.5524786985730135e-05 +8871 0.000241778213264938 -0.001040617012371423 0 0 0 -2.9337965147227245e-05 +8206 5.0965849050610435e-05 -0.001101827299485236 0 0 0 -0.00021754172458165983 +8285 0.00016346350097430162 -0.001218994898501848 0 0 0 -4.593904063240757e-05 +8302 0.0005695770196621524 -0.0007930544650121129 0 0 0 -0.00010087710321039889 +8319 0.0003927523764757619 -0.0010174539877380983 0 0 0 -2.2235800996676057e-05 +5374 -0.00026520054871215383 -0.001032922376700339 0 0 0 -4.8067298021116966e-05 +5513 -0.00012685425360194937 -0.0011142160218257445 0 0 0 -0.00029374645489852315 +600 0.0011720888564426513 -0.0014323359051789807 0 0 0 1.217116740229445e-05 +4272 -0.0002760799432662459 -0.0010819418168349154 0 0 0 3.999766434208608e-05 +6865 -0.00030766001197879623 -0.00108793828334386 0 0 0 -0.00019463762714302753 +108 0.000255729822754604 -0.0011247780512366142 0 0 0 -4.499152608557396e-05 +7984 0.0012282871967809505 -0.0011962371731312695 0 0 0 -0.00018269239738526378 +2887 -0.00026357937205604705 -0.0010435776521111964 0 0 0 -3.276531879405868e-06 +632 -0.00011363685506252826 -0.001099733361229202 0 0 0 -8.17456865185901e-05 +1570 -0.0002637221981125704 -0.0010916678096815687 0 0 0 1.3354436554912174e-05 +781 0.0006091893921136316 -0.0014039358153910809 0 0 0 -0.00012728313414822574 +9419 0.0011827036701863175 -0.00142958223175878 0 0 0 -0.00011313843299655 +2529 0.000932358671233039 -0.00020893066764184976 0 0 0 -6.164456297120944e-05 +3544 0.00032556377791084003 -0.0012164278771306732 0 0 0 0.0002636050400399003 +9606 -0.0002521818930427298 -0.0010293503709871104 0 0 0 -0.00014091598719630154 +9140 -0.00033043903831204383 0.00016347964373286908 0 0 0 -0.0006837758673152772 +9350 0.0004649098396931777 -0.0011175034418256255 0 0 0 0.0002914535765193722 +1387 0.0012232920732210364 -0.0014450914006803274 0 0 0 3.089416920756813e-05 +5695 -0.0002606851963970851 -0.0010268857130038588 0 0 0 -4.5026482282211324e-05 +7758 0.00036826801345315145 -0.0012111132500332788 0 0 0 -0.0001566958140536454 +4461 0.0001478755279534315 -0.001006755600555852 0 0 0 -0.00011286029434332909 +6108 2.792662354834589e-05 -0.0012016374355519972 0 0 0 -3.0389761657462764e-05 +4222 0.0003175976771762506 -0.0013151844437752286 0 0 0 2.3485940412066554e-05 +9824 0.00021430757373393764 0.0007325877467919678 0 0 0 0.0009667813726309945 +5286 8.550001091467005e-05 -0.0008538106951765053 0 0 0 0.00015431979938829946 +3370 -0.00027243570845027107 -0.001037635608900779 0 0 0 -0.00010720920392019262 +7019 0.0005030319230995505 -0.0013789073748011584 0 0 0 -4.048185322271698e-05 +5774 0.00031553275155684555 -0.0005422606918488252 0 0 0 -7.75814266674714e-05 +4383 0.0008890998370068668 -0.00024528657484794355 0 0 0 -3.682237421255372e-05 +2504 0.0004496846824459885 -0.0004591801383521959 0 0 0 -3.6492253421823615e-05 +8740 0.0006636799653440635 -0.0004290934507327708 0 0 0 -4.534732072720348e-05 +5 0.0014224828198650188 -0.000881970929839604 0 0 0 -2.8502015424964138e-05 +6848 0.0013794998737873393 -0.0004903105114502119 0 0 0 4.3925453246485716e-05 +8029 0.0011904420081047598 -0.00045434172994604613 0 0 0 5.602740397788698e-05 +2135 0.001295320013195667 -0.0005498716153274892 0 0 0 -1.4795476623394338e-05 +9039 0.0013583988035167833 -0.00040743425251705775 0 0 0 -3.006232361859168e-05 +183 0.0013396679679250232 -0.0006795145075811763 0 0 0 3.5556243087967984e-05 +196 0.0015662993435895884 -0.0005965387046021104 0 0 0 -3.7578337782351975e-06 +210 0.0012169146418827238 -0.0007265626238954196 0 0 0 3.9549175035644125e-06 +19 0.0012860081100881818 -0.00046496579559649083 0 0 0 3.3116232470114616e-05 +264 0.0015266791070981521 -0.0008209140293507953 0 0 0 -1.320484737871739e-06 +286 0.001357440994587545 -0.0009345272142532768 0 0 0 2.8672273442948964e-05 +296 0.0013944129292125357 -0.0006153598449945149 0 0 0 3.7629312179159065e-06 +361 0.0017156839698434624 -0.0007349538344378376 0 0 0 2.2703671548122293e-05 +411 0.0009510099742580246 -0.0008920046339701376 0 0 0 3.9810078029391645e-06 +534 0.0015578150943340082 -0.0010942526924656267 0 0 0 6.406461946684565e-05 +546 0.0017668229995422644 -0.0008715021273642057 0 0 0 3.584243316756889e-05 +2384 0.0008949428524664651 -0.0007810631782614413 0 0 0 -1.67225065578378e-05 +574 0.001445225205462258 -0.0006720203155986734 0 0 0 -2.3589949399417058e-05 +4970 0.0014927170817597573 -0.0004912765298198545 0 0 0 -7.211974185797443e-05 +652 0.0014943285240544898 -0.0007462569420545378 0 0 0 2.143340221607753e-05 +1059 0.0014978606047697284 -0.0005296339187196793 0 0 0 7.178473463121678e-06 +2628 0.0011429654654665268 -0.0007872747632830803 0 0 0 1.1624461983439899e-05 +223 0.0011851902119154004 -0.00039670583240533863 0 0 0 -3.7833678143081688e-06 +867 0.0017003948379212467 -0.0005856790716548525 0 0 0 2.3542447803720214e-05 +875 0.0013791401815771021 -0.0012387575384742071 0 0 0 6.28222675630113e-05 +880 0.0014924039940475554 -0.0005073905149556514 0 0 0 5.3782500126753373e-05 +895 0.0013339210111898705 -0.00039729256556881627 0 0 0 -1.720636354502663e-05 +1012 0.0014707491756312141 -0.0006865241149780018 0 0 0 3.188711160090728e-05 +1014 0.0008579900697544825 -0.000801527056500936 0 0 0 -4.6711301275350595e-05 +1099 0.0014313848134430316 -0.0005985278782507152 0 0 0 1.3710918368480517e-05 +1131 0.001079048122478532 -0.0006881941785568544 0 0 0 3.188034767292762e-05 +1227 0.0010149513140975397 -0.0006646198973462565 0 0 0 2.66992134648597e-05 +1310 0.0014437107343303176 -0.0005429893596807293 0 0 0 4.8890677595123404e-05 +4936 0.0007606422536567889 -0.0008682135334652425 0 0 0 -4.291851845982543e-05 +3790 0.0014152573378400553 -0.00060494523660353 0 0 0 2.2628776204557522e-05 +1400 0.0016355393944580477 -0.0007041067611974969 0 0 0 9.700458312332279e-05 +7401 0.001192803563477527 -0.0004453330945568798 0 0 0 4.5276410749443544e-05 +1465 0.0010807611919031496 -0.0007412786197826187 0 0 0 -2.091667189964564e-05 +1466 0.0015394823411077083 -0.0010067547320583969 0 0 0 0.00017111456899941268 +1586 0.0013733489280689632 -0.0006918086917549523 0 0 0 -1.3623411585785029e-05 +1589 0.0014940886830804257 -0.0007873089027815267 0 0 0 4.3815827262846564e-05 +1613 0.0011552434787303514 -0.0006921742602230261 0 0 0 3.846705906918817e-05 +1632 0.0016678373315664797 -0.0006576033765927616 0 0 0 5.96136393654763e-05 +6352 0.0009022763826695968 -0.0009162059267284078 0 0 0 -1.0449312493249389e-05 +1661 0.0013575452445059553 -0.0005677421326266542 0 0 0 9.23965809370962e-06 +1668 0.001522922180988019 -0.0008865078652534535 0 0 0 0.00012484339815412666 +5153 0.0007950648167799854 -0.0008595488462086466 0 0 0 1.1911858918689685e-05 +1718 0.0014951528441979887 -0.0008103755773192022 0 0 0 5.6000348101495544e-05 +1776 0.001592117197577891 -0.0006543123963018084 0 0 0 3.113383572226228e-05 +1845 0.0017598787538938075 -0.0006889117991781111 0 0 0 4.659275937689294e-05 +1877 0.001806508316710344 -0.0009374135870621258 0 0 0 0.00019884623093490426 +4067 0.0012550251469649017 -0.001198609262204561 0 0 0 8.133009394768007e-06 +1931 0.0014330585620229855 -0.000647549145191439 0 0 0 3.1427728397697074e-06 +204 0.0012896371164663387 -0.0005278670022525467 0 0 0 2.3466537064262947e-05 +2016 0.0014513717992682463 -0.0011559854492014542 0 0 0 -5.604061595701209e-05 +2029 0.0016368944540278974 -0.0007704050856018246 0 0 0 0.00013221511726735358 +2048 0.0016122478236714416 -0.000638720641999736 0 0 0 7.4466947824604566e-06 +2085 0.00150999990691145 -0.0007805081114412723 0 0 0 -2.9043926744536847e-05 +2104 0.0015524863534072443 -0.0006521847944997277 0 0 0 -1.581935889912301e-05 +9625 0.0014899873610682301 -0.000697153929130568 0 0 0 4.991608311479827e-05 +9080 0.0011652517797902987 -0.0004258508582896425 0 0 0 1.5366181750160025e-05 +2298 0.0014728286924958944 -0.001203469469717423 0 0 0 0.0001330546201656803 +1031 0.0012195082693814145 -0.0002739938949562302 0 0 0 -6.746067646351825e-05 +2342 0.0015180905105342706 -0.0007747270293296283 0 0 0 8.128653673992918e-05 +2459 0.0017556016506860138 -0.0007390086792696346 0 0 0 -0.00012322691921573523 +2460 0.0016468081886444783 -0.0010161662346363663 0 0 0 0.00012495365017586315 +2479 0.0015053711709847888 -0.0006550248933826211 0 0 0 5.3155284332162234e-05 +969 0.001473507111683127 -0.0006667316116415991 0 0 0 1.1976334617759856e-06 +341 0.0011730482220876672 -0.0004951996121323205 0 0 0 1.5961907534225617e-05 +2509 0.0017000578199581186 -0.0006879876136879879 0 0 0 -0.0001359794421600285 +9538 0.0014192214042452512 -0.0012514093570237567 0 0 0 0.00011995328279873241 +9934 0.0010600557247017275 -0.0006892565616525627 0 0 0 -4.7404750377462656e-05 +2807 0.0010978841231075536 -0.0007476881818608544 0 0 0 -5.377425571339144e-06 +2817 0.001403755093442301 -0.0006722631170068314 0 0 0 -5.614806521698973e-05 +2903 0.0014949598427989408 -0.0006214827769138243 0 0 0 0.00010573828046179529 +2961 0.0014485499990690585 -0.0005175298675797059 0 0 0 -9.007182947974207e-07 +2972 0.0018408194844838784 -0.0006192751401066065 0 0 0 1.1183847266286869e-05 +3083 0.0015488982868246985 -0.0009119004432906634 0 0 0 0.0002975012021634715 +8566 0.0016328337002461883 -0.0006260390470604802 0 0 0 0.0004749246463111543 +3163 0.0016408902851508633 -0.0006432669648746738 0 0 0 3.4331307440048987e-06 +9929 0.0015437006166005825 -0.0012408211114779133 0 0 0 0.000333601765229081 +8789 0.0014085533945381438 -0.0006202440005262685 0 0 0 0.00011886086042216555 +3201 0.0013220389358484922 -0.0006722132405488755 0 0 0 8.094698029522066e-05 +3207 0.0014992818436757396 -0.0006028456354554541 0 0 0 3.796553365614636e-05 +3282 0.0012492894930427642 -0.0006653444033408036 0 0 0 -7.213852888799485e-05 +7242 0.0014112871001965737 -0.00047233354931336933 0 0 0 3.862928615626122e-05 +3328 0.0009551943393958591 -0.0008061132782039632 0 0 0 5.296856149368509e-05 +6100 0.0012385432505190106 -0.000540123935324262 0 0 0 -0.00011557663338127446 +3384 0.0011593040900203196 -0.0013365951355344438 0 0 0 -3.361504495499216e-05 +725 0.0012370197048575634 -0.0006738275600108567 0 0 0 1.2517745101693356e-05 +9924 0.004169926083215533 0.0003363257663480777 0 0 0 0.0016302705811248584 +3455 0.0011782597643712725 -0.0006350096460875864 0 0 0 4.8797668985899934e-05 +3489 0.0015774302463543103 -0.0009423410227803381 0 0 0 0.00011113634792528162 +3505 0.0015432912836350465 -0.0008122440599582276 0 0 0 -7.993924614022667e-05 +3558 0.0013798552782595102 -0.0004872571120098966 0 0 0 3.303189998928076e-05 +3561 0.0013731919253639072 -0.0007217588739240584 0 0 0 -5.41186799396414e-05 +3594 0.0010756169680163224 -0.0007958632332108016 0 0 0 -2.240444353509187e-05 +3616 0.0014832774783951148 -0.0006431283469991793 0 0 0 7.557237910321089e-06 +3619 0.0015223538682177626 -0.0011879767248620947 0 0 0 0.00012122976503666489 +3622 0.0013860017347291993 -0.0006335165967235375 0 0 0 -5.0550060376246715e-05 +3664 0.0013835194017005267 -0.0006219297464402612 0 0 0 5.4760559028199705e-06 +3685 0.0011220611881477228 -0.0007290850616961442 0 0 0 -3.106796421951581e-05 +3699 0.0014021942374410695 -0.0005199132773018279 0 0 0 -6.419783912807024e-06 +3809 0.0013699768953058106 -0.0007382374858714337 0 0 0 2.8507671903309215e-05 +3450 0.0009951464541817002 -0.0009091559997476203 0 0 0 6.006330294640934e-06 +3912 0.0013771765717594555 -0.001116040424713737 0 0 0 -4.0368997796988165e-05 +3947 0.0013702238286940431 -0.0005641389505377748 0 0 0 2.6861787094384924e-05 +3954 0.00160936878694855 -0.0011310855447175055 0 0 0 0.0001802729806023658 +4108 0.0008830761334121165 -0.0008822635900639511 0 0 0 8.270352089234694e-05 +4112 0.0014267851134749385 -0.0006697178233364634 0 0 0 7.207870956317499e-05 +4133 0.0013590758357101857 -0.0005867974761804803 0 0 0 -1.840624473736533e-05 +3999 0.00119038857194425 -0.00038420338366344466 0 0 0 -2.6741244653095953e-05 +4197 0.001261175748628152 -0.0007377299080290904 0 0 0 -2.758369923483248e-05 +4237 0.0014553248652160878 -0.0006652503076101074 0 0 0 -1.5336579519934592e-07 +4249 0.0014807778120174155 -0.0006029992084612485 0 0 0 4.7270691365612614e-05 +4262 0.0013290254868859389 -0.0006454842235296001 0 0 0 -1.3779504737197121e-05 +4269 0.0015100833206237543 -0.0005126942945008423 0 0 0 -4.2420889496465996e-05 +4274 0.0015820337083608553 -0.0006749103024505539 0 0 0 -8.427890359514129e-05 +4351 0.0013893926805645608 -0.0007647720642324567 0 0 0 0.00013738777395588505 +4574 0.001523233639838097 -0.000905328104060875 0 0 0 -0.0001647197600284383 +5406 0.0013571806046489383 -0.00047010473712187834 0 0 0 -3.4885261838975465e-05 +7555 0.0012532943995445076 -0.00031829181333825455 0 0 0 0.00011421990487898698 +4698 0.001394923781673012 -0.0006818525892979137 0 0 0 -6.073199531871643e-05 +4706 0.001638644989551553 -0.0008674957997928608 0 0 0 -0.0001450432091760838 +4734 0.0014072814973241866 -0.0006944235634910577 0 0 0 -1.3811987670860076e-05 +4749 0.0017815684681375006 -0.0006637326151554682 0 0 0 6.960851064238324e-05 +4800 0.0016667354165021517 -0.0006090368631859884 0 0 0 8.521214178473986e-06 +8344 0.0016570193842553732 -0.0006281291715641898 0 0 0 0.00029374496498306044 +4840 0.001315620310120987 -0.0004894049023976146 0 0 0 4.234057062429977e-05 +735 0.000855578680232782 -0.0009060242212274493 0 0 0 -3.751434546891103e-06 +5011 0.0016935100605693905 -0.0007165667871432796 0 0 0 -8.222751679070952e-05 +9446 0.0011620170060886207 -0.00042840154550777146 0 0 0 4.7662292565476306e-05 +5106 0.001595308181110087 -0.0010438266594874055 0 0 0 0.0001218958676365125 +5125 0.0014070264790014143 -0.0004165199110735438 0 0 0 -0.00019956990483495466 +5141 0.0015213982869726776 -0.0005872980051177672 0 0 0 -4.872621064810291e-05 +5144 0.0015021383506385983 -0.0006999372671864271 0 0 0 -3.860766109541228e-05 +5203 0.0017692882213503605 -0.000718614259841982 0 0 0 0.00018546433433147923 +7490 0.001377411908732476 -0.00048801822424215685 0 0 0 1.50882139390506e-05 +9953 -0.0020613284174636213 -0.0023809792825432497 0 0 0 0.0017710360768692316 +5319 0.0016166239346012603 -0.0006216542812112889 0 0 0 4.0251312100402154e-05 +5396 0.0014699091122418494 -0.0008146254211063729 0 0 0 5.348747136716278e-05 +5405 0.0014992048795685012 -0.0005569654810024446 0 0 0 6.0724764848516746e-05 +5419 0.0015791725533647256 -0.00054522517284867 0 0 0 9.580650980146155e-05 +3578 0.0012688094527606925 -0.0006801376043295163 0 0 0 7.776914928414753e-06 +5545 0.0012903035594568426 -0.0014424095003323528 0 0 0 0.0001548150799269235 +5836 0.0013808082841193171 -0.0004548207072005158 0 0 0 -3.002216150767036e-05 +5566 0.0018155836453111226 -0.0007184186467009685 0 0 0 -0.000219855559290285 +8866 0.0011801943477881564 -0.0004880600963181862 0 0 0 0.0001512705186734057 +5600 0.0014096114935379543 -0.0006923369825978112 0 0 0 -7.062003082355825e-05 +5608 0.0018030166919740028 -0.0007402768946917268 0 0 0 0.00023604281224098755 +5618 0.0013739799754646106 -0.0006143922109763397 0 0 0 5.013732914165471e-05 +5688 0.001722604610643137 -0.0006528365564054389 0 0 0 2.1606678738790828e-05 +5731 0.0012988075774418503 -0.0007084610718001822 0 0 0 -1.8472592114447285e-05 +5733 0.001425870521041999 -0.0006689902003325333 0 0 0 1.055494687350075e-05 +5753 0.0013186730115953783 -0.00043815643030384343 0 0 0 7.556888686624905e-05 +5843 0.0014005048999517465 -0.000805234643086988 0 0 0 -0.00019414596587142478 +5897 0.0016810398496758803 -0.0007294159565215743 0 0 0 -4.3468802915794376e-05 +5903 0.001498356889199315 -0.0008241460163653143 0 0 0 2.7998467473501974e-05 +5536 0.0011859589843815966 -0.0007892674566622067 0 0 0 -4.113625218035343e-05 +6022 0.001352316850484436 -0.0005690633168017415 0 0 0 -4.8847252120877996e-05 +400 0.0013517327319119276 -0.0005264692335295769 0 0 0 -2.438822947583716e-05 +6069 0.001499521190112953 -0.0007215724500510741 0 0 0 5.819306489060962e-05 +6083 0.0017461506381016162 -0.0008477841780109217 0 0 0 0.00018965326627754488 +6121 0.0015097889990939215 -0.001236440267891581 0 0 0 0.00014159288803867963 +7356 0.0012446271125737857 -0.0004720163625459574 0 0 0 -9.29695637450917e-06 +6188 0.0013812906062584645 -0.0012802021127877301 0 0 0 3.9760539759376855e-05 +6195 0.0014877154751715615 -0.0006855439462079983 0 0 0 -6.715062987987956e-05 +8774 0.0012603284925070623 -0.000549381839975065 0 0 0 4.063989755214713e-05 +6311 0.001504195997369132 -0.0008131415297709605 0 0 0 -4.8329202013940895e-06 +1967 0.0014003624600064514 -0.0005493126417558792 0 0 0 1.5998956383801982e-05 +9848 0.0017161453618639222 -0.0012719340111236397 0 0 0 0.00034422682640789117 +6412 0.0012529280406328855 -0.0007302724558592659 0 0 0 3.1661041754066934e-05 +6462 0.001430079901725422 -0.0006212040824628206 0 0 0 7.057435986454852e-06 +6502 0.0014537921333500424 -0.0011115074963628793 0 0 0 -0.0001175121698577215 +6537 0.0013985127546430455 -0.0009097851220272037 0 0 0 -0.00011762069007341943 +6608 0.0016343777128109665 -0.0009631693795737346 0 0 0 0.00033755642267350246 +7371 0.0015588481677003432 -0.0006599338687170061 0 0 0 -7.438686474561717e-05 +5544 0.0011686870911115684 -0.0003888876228579103 0 0 0 2.1774240093990606e-05 +6621 0.0012038019436941658 -0.0006453170127668825 0 0 0 9.222292061562984e-06 +6704 0.0019510813099300312 -0.0006268690689855199 0 0 0 -0.0013830900463247557 +9875 0.001730336926520314 -0.0007040717954694614 0 0 0 -0.00011416686542831159 +4174 0.0011073595973147457 -0.0007785811390966579 0 0 0 7.716967130271476e-05 +4369 0.0013463245422289164 -0.0004943231798692106 0 0 0 1.1097504760953855e-05 +1622 0.0011746952547883216 -0.0006287312938626762 0 0 0 -2.1948513560859746e-05 +3284 0.001193994212485993 -0.0006518568581803717 0 0 0 1.0921701353997764e-05 +9643 0.0013265801847364247 -0.0011109550775436187 0 0 0 1.933614297882628e-05 +1104 0.0012239058789601264 -0.00043264368640585644 0 0 0 2.3204004204090313e-05 +9125 0.0014161048462219235 -0.0006267798615714804 0 0 0 3.142649183080406e-05 +7000 0.0015731732097334881 -0.0007202789352662781 0 0 0 -2.952479936152809e-05 +7029 0.0014554331708780057 -0.000714224601806182 0 0 0 -8.133911294667118e-05 +7047 0.001419951143989629 -0.0006439580826453361 0 0 0 2.6562191720944734e-05 +7071 0.0015180530750347767 -0.0010957257063625339 0 0 0 6.35975082786039e-05 +10000 0.0017519363953161467 -0.0009630155092145488 0 0 0 0.0009122907902907662 +6944 0.0011364120757968062 -0.000763459708702225 0 0 0 4.4541068782932366e-05 +7139 0.0014927752310826604 -0.000744969243809552 0 0 0 -0.00026479219342727384 +7148 0.0010139623058371499 -0.0006278024020679694 0 0 0 6.073536713097974e-05 +7197 0.001610491218455059 -0.0008115385456335434 0 0 0 0.0002561935818332442 +7653 0.0013658255038843637 -0.0004224393046276255 0 0 0 8.745971330768639e-05 +7234 0.0015184532730881254 -0.0011748792394882448 0 0 0 0.0001738030975909807 +7279 0.0010742182224841913 -0.0007368459377266064 0 0 0 -8.5135630362802e-05 +7282 0.0014088157740444237 -0.0006202295794487979 0 0 0 1.1155165019687846e-05 +9593 0.0013349843972527919 -0.00047198410623347113 0 0 0 6.459338211034444e-06 +8451 0.0015677045210021278 -0.0005181172962475791 0 0 0 7.210867892848037e-05 +3802 0.0007493380732706547 -0.0007972211933099175 0 0 0 3.083310754646365e-05 +9313 0.001359435601487089 -0.0004509615002858854 0 0 0 7.176773435460106e-06 +5475 0.0015203133772388009 -0.0006948781650510479 0 0 0 -0.00013798872787526095 +8891 0.0014978854649569998 -0.0006442330830845281 0 0 0 2.680509823890105e-05 +7388 0.0010446609557540323 -0.0006544572092512896 0 0 0 6.291273814655729e-06 +7399 0.0014901266042909357 -0.0006131973933539359 0 0 0 9.258610111035789e-05 +7402 0.0014696267252620762 -0.0006732316398353914 0 0 0 6.122778152539506e-05 +7432 0.0028304598093706968 -0.0013093064426753372 0 0 0 -0.000515980584741853 +9340 0.0011855769102441913 -0.00043915243979078213 0 0 0 -6.106181383541305e-05 +7510 0.0017596281905958475 -0.0009524951887493094 0 0 0 -0.00016573283231042875 +7523 0.001495014769578003 -0.000596758377874778 0 0 0 1.98953669489402e-05 +7580 0.0015150816431253162 0.00018380325620159812 0 0 0 -0.00042333177832609736 +9755 0.0014330558098514135 -0.0007009876316866943 0 0 0 4.9550344189210056e-05 +7684 0.0014680511330851275 -0.0007286663093694794 0 0 0 -0.00017179924195682668 +6886 0.001299759709544701 -0.0011662430855275767 0 0 0 1.4646063742528139e-05 +7730 0.0017044845007419636 -0.0006627560279512174 0 0 0 1.219780921771096e-05 +7762 0.001145292097311504 -0.0003236930734481308 0 0 0 0.00015188174811937993 +7763 0.0017965582630274117 -0.0009872900003500091 0 0 0 -0.00048767001606870474 +7929 0.001365897551846543 -0.0004447581918337445 0 0 0 -0.0001596059197512374 +4286 0.0013273346321531713 -0.0004480869218278572 0 0 0 -5.8258963642855673e-05 +7993 0.0014710528654108895 -0.0007205164061419334 0 0 0 5.442135002118675e-05 +5148 0.0014783134920524203 -0.0006302575260104587 0 0 0 3.788694061419021e-05 +8041 0.0013708592240319355 -0.0006400275870344253 0 0 0 1.502956653856058e-05 +8046 0.0010886197107458661 -0.0006371539407496038 0 0 0 0.0002091479045047528 +8074 0.0013521390412579155 -0.0009208716504523521 0 0 0 3.4520202507458056e-05 +8091 0.0015107473665317305 -0.0009628046259083986 0 0 0 4.2533016358035417e-07 +9800 0.0015852378872959392 -0.0010859310051280556 0 0 0 9.41266732109169e-05 +8108 0.00180214885027748 -0.0009265425250383764 0 0 0 2.7399372860522317e-05 +8127 0.0015293579425021773 -0.0006811001736668578 0 0 0 0.00012539962856342293 +8141 0.0014979141831298743 -0.0006573284759903858 0 0 0 7.94152584665194e-05 +8181 0.0016290684390770226 -0.0007155548394530894 0 0 0 0.0001469939588612532 +8240 0.0018154445949935868 -0.0006287493225920777 0 0 0 -0.00015400563932138996 +8253 0.0011346970848152603 -0.0007013428256932881 0 0 0 7.448221604164128e-06 +8287 0.0008784518070618397 -0.0006566460265909029 0 0 0 -5.320477350445726e-05 +1496 0.00132660805175128 -0.000544183201544848 0 0 0 4.163616510819043e-05 +8317 0.001042788853535367 -0.0007676907305283559 0 0 0 -1.546616593404237e-05 +9845 0.0013557283105925196 -0.0011709083780604098 0 0 0 3.9622872484055395e-05 +8432 0.0014428912014296637 -0.0005227496233664707 0 0 0 4.574723677186379e-05 +8435 0.0018378229371947908 -0.000734227500238943 0 0 0 7.544448117792218e-05 +8439 0.0015170755835159032 -0.0008977277799044764 0 0 0 -4.804218421948282e-05 +8462 0.001214783248188181 -0.0007686460194847816 0 0 0 0.00012476463949169584 +8475 0.0011706523170810768 -0.0006798626444546301 0 0 0 -0.00012615656007913996 +8487 0.0014201410160037601 -0.001236041064540472 0 0 0 0.00015137275866270047 +8510 0.0015508271662163847 -0.0006784656591948768 0 0 0 2.640615179853619e-05 +6033 0.0011831897829184114 -0.00043304441942733997 0 0 0 2.865338611566719e-05 +8553 0.001527584595328524 -0.000872515856216031 0 0 0 -5.795811469752902e-05 +4821 0.00156732483187467 -0.000529973001540713 0 0 0 0.00021283376202747636 +8745 0.0013239505731606103 -0.000389914988129717 0 0 0 -0.00018018852591343792 +8784 0.0016955902781103282 -0.0006396708319325079 0 0 0 5.679806663209486e-05 +8816 0.001667715970497019 -0.001103073864561989 0 0 0 -7.107351626978025e-05 +8832 -0.0008967140133000656 0.0007443573988642285 0 0 0 0.0019830272751125847 +8857 -0.00010792974713269083 0.0006982564049013544 0 0 0 0.00221307804179487 +8862 0.00140532124996355 -0.00121199435570624 0 0 0 -0.0002550791984340752 +8863 0.0018277027975913416 -0.0008184650324862958 0 0 0 0.0003980030553836013 +5710 0.0014335022246681527 -0.0006309248169155572 0 0 0 2.4877777392909583e-05 +8955 0.0012481648237726351 -0.0006068822464298004 0 0 0 -3.360281474157903e-05 +8971 0.0013580436445030507 -0.00045695501126753014 0 0 0 -0.00011540685403657522 +8988 0.0015657973133007066 -0.0007117387447905951 0 0 0 -0.00010792274415129645 +7191 0.0006646476823894941 -0.0008344259921626171 0 0 0 9.647548884995898e-05 +9161 0.0016885825771760178 -0.0006389154662072943 0 0 0 0.00024102215862454497 +9215 0.001079457314852606 -0.0007550702910791927 0 0 0 0.0001154001036235058 +772 0.0014251617727839665 -0.00048214991054704414 0 0 0 1.5453388848415895e-05 +9222 0.0015008530121933396 -0.000565786213286813 0 0 0 1.6021534132924127e-05 +9279 -0.0003847530834518003 0.001682453877632102 0 0 0 0.008504886332577347 +9280 0.00185893258373483 -0.0006224615793323401 0 0 0 0.00031313309741037046 +7380 0.0013465612716088721 -0.0005907910224747592 0 0 0 4.440844049802567e-05 +9320 0.0027569390411008583 0.00037911326963637945 0 0 0 0.001622056400237978 +4618 0.0015309331280394583 -0.0006774780398084389 0 0 0 6.175797336158895e-05 +4581 0.001191795351874448 -0.00047318852971340046 0 0 0 -4.2910337332041235e-05 +9400 0.0014906896362278563 -0.0006075771598342279 0 0 0 -6.327113874006047e-05 +1209 0.0013892925942907007 -0.0006754769868784097 0 0 0 4.056178362346354e-05 +9420 0.000984489889501032 -0.0015544861364182481 0 0 0 0.0006102394666967811 +9650 0.001958116872762125 -0.0005302546094644818 0 0 0 0.001480535469961079 +9469 0.0016220176391628879 -0.001060610982578506 0 0 0 -0.00028513007725146583 +9502 0.0010364523516954987 -0.0006661190084716031 0 0 0 2.129295625232297e-05 +1121 0.0013481701799799213 -0.00045448865679061394 0 0 0 1.4802628195159906e-05 +9329 0.0011547771366464774 -0.00033654552983575323 0 0 0 -4.952287290627367e-05 +5275 0.0016399202945292098 -0.000682572151672369 0 0 0 3.603082340751343e-05 +7102 0.001462239572137624 -0.000714273001894324 0 0 0 0.0002864848683124055 +9038 0.0011694788770825809 -0.0004381619871425317 0 0 0 -6.329730314895917e-05 +2491 0.0008616189153969579 -0.0007466663628730294 0 0 0 -8.856166824014487e-06 +8823 0.0011735015118800774 -0.00044015145160988155 0 0 0 -1.3304187515254955e-05 +6155 0.0009792864031235142 -0.0008927240363494971 0 0 0 -3.6045835133029284e-05 +1648 0.001415950480117247 -0.0010287329462261893 0 0 0 3.962247249114587e-05 +7113 0.0012383426225902132 -0.00021649643765892619 0 0 0 -5.385499166277307e-06 +7754 0.0006767823836528064 -0.0009680654343402248 0 0 0 8.587844304472641e-05 +7369 0.0010131835770171333 -0.0006141504087644271 0 0 0 2.137608125917763e-05 +7225 0.0012286342942833906 -0.00028135461580220143 0 0 0 -3.1781003597576327e-06 +5960 0.0009396123999192594 -0.0009088539373620011 0 0 0 1.9529149423683125e-05 +7967 -0.0005338764240148161 -0.0022405910967720644 0 0 0 0.0015021694343035409 +9566 0.0010183715464815299 -0.00023343338144121784 0 0 0 0.0005035578994364207 +4746 0.001157360785512175 -0.0003802795461614248 0 0 0 6.9671195632903075e-06 +141 0.0007636289970988426 -0.00033684046281212514 0 0 0 2.3191109401529233e-05 +170 0.0011675488994569803 -0.00030943015939257593 0 0 0 -8.453255365406125e-06 +219 0.0009221022037375662 -0.000921838377920726 0 0 0 9.242722704999848e-06 +244 0.000813569652943914 -0.00044150369061390183 0 0 0 2.4196381090133446e-05 +353 0.0008288808437184423 -0.0007888758295050796 0 0 0 2.5456302000584274e-05 +7089 0.0010766649635423832 -0.0004419249349759837 0 0 0 4.363223201227721e-05 +8162 0.0007486066769645261 -0.0009340926263418213 0 0 0 -0.00012328664771366575 +489 0.0010543516832346085 -0.00022148364882799344 0 0 0 -1.1983131701261955e-05 +544 0.0009004016442882991 -0.00029894315150358585 0 0 0 1.0817817364867223e-05 +550 0.0008801822075609913 -0.00022706436508302582 0 0 0 0.00015134133695330295 +744 0.00045342424206383785 -0.00040000630712676505 0 0 0 0.0001803514878743685 +630 0.0007259054034785428 -0.0004156200204281808 0 0 0 1.165468456121899e-05 +637 0.0007069067936023122 -0.0007351557283827938 0 0 0 2.735078105836564e-05 +5779 0.0006098926927447875 -0.00011287270805272234 0 0 0 0.0006774301728660289 +664 0.0009498769251103941 -0.0001651520848882661 0 0 0 0.00014938509680636455 +699 0.0005296433591362656 -0.00030113614642837835 0 0 0 1.3243687034033468e-05 +7513 0.0006737917078484637 -0.0009268819056945188 0 0 0 3.1898267230534256e-05 +7328 0.0006428351961544268 -0.0008804535219181864 0 0 0 -4.4270410668302446e-05 +767 0.0007994551169743166 -0.0006454712708807102 0 0 0 1.9505920524929245e-05 +3760 0.0010388046710894377 -0.00026424027361228913 0 0 0 -5.876939182105482e-05 +791 0.0008650814979857924 -0.00029581989173227294 0 0 0 -6.571053487977069e-05 +836 0.000747924791154723 -0.0008478640540689551 0 0 0 1.4492547843473114e-05 +3318 0.0006630092084340941 -0.0008845454034057318 0 0 0 1.2580509589514672e-05 +898 0.0008749443065973538 -0.00030842230144331186 0 0 0 8.754741279914764e-05 +918 0.0007731406409347033 -0.0005079153728977831 0 0 0 4.060413432671336e-05 +975 0.0006451543224837536 -0.0006220370524592351 0 0 0 2.415892353059261e-05 +9658 0.0008568943436679752 -0.0002717984225804355 0 0 0 6.666509538748024e-05 +4464 0.0010145528229093803 -0.0002798890927837252 0 0 0 -6.403090416244871e-05 +1067 0.0008778144974053637 -0.0007064918728647652 0 0 0 2.496177047973352e-05 +1087 0.0007666206314804315 -0.0007426996371348663 0 0 0 1.5387658532940754e-05 +1118 0.0005906485116110298 -0.0004477901150540026 0 0 0 6.524621692842269e-05 +8308 0.0011693097967742936 -0.00020056207646487067 0 0 0 -5.6150407368680295e-05 +1139 0.0008079364630159977 -0.0008506436190900298 0 0 0 8.098709405717237e-06 +1295 0.0005965924178420331 -0.0006283797003590098 0 0 0 2.405448780152862e-05 +1327 0.001039545703729171 -0.0008453374401026082 0 0 0 3.6399619231045667e-05 +4217 0.0006235134619901517 -0.0005602951032863839 0 0 0 -4.7111984261271014e-05 +1551 0.0007336968875406388 -0.0002884126292669076 0 0 0 3.2077557793237785e-05 +1591 0.0005221952437789126 -0.00040834105073122136 0 0 0 0.00013130718886650056 +1605 0.0010331396529890033 -0.0007876397987511163 0 0 0 2.463435867590303e-05 +1720 0.0005882291692649165 -0.0006580694671161834 0 0 0 4.20791406002075e-05 +1739 0.0009704072911679712 -0.0007923121150937655 0 0 0 3.879807483565504e-06 +1760 0.000902158226974567 -0.0008847152833891096 0 0 0 2.0615356913938127e-05 +1892 0.0008472226838121589 -0.00029062233322397054 0 0 0 2.869173169892317e-05 +1926 0.0011245050113338167 -0.00019342250300813618 0 0 0 2.2737276887959856e-05 +1958 0.000748705364069834 -0.0009546859312458733 0 0 0 3.7310590290819886e-05 +4428 0.0007241514715935843 -0.0008493093377967583 0 0 0 4.036566827766025e-05 +2218 0.0010777100667305392 -0.0002718458727565549 0 0 0 4.9667619501012084e-05 +2292 0.0004952604796307963 -0.00044198660666827227 0 0 0 5.067487346422457e-06 +2301 0.0007796025958586625 -0.0009300699954463172 0 0 0 3.200516112274379e-05 +2348 0.000753940342550981 -0.0009214344591945459 0 0 0 -1.091985719709809e-05 +621 0.0010234050459216458 -0.00021525331218758578 0 0 0 -4.317069460695514e-05 +2396 0.0009654875212051537 -0.0007415567473916534 0 0 0 4.613555196518388e-05 +2419 0.0006362848591451983 -0.0007429248456458678 0 0 0 1.3356836021507736e-05 +2422 0.0008245987017955813 -0.0006493688450145586 0 0 0 -4.6931164843726007e-07 +2484 0.0010204691271986322 -0.00019619028067291653 0 0 0 7.8545348052414e-06 +2527 0.0008609182563664943 -0.0009499367661363526 0 0 0 1.5906245266119836e-05 +2572 0.0008537849768754349 -0.0006582737051191983 0 0 0 1.272446976345124e-05 +5679 0.0003978570925988231 -0.000410857613236761 0 0 0 0.00011451210621663689 +2650 0.0008171012718017166 -0.0002691635274862163 0 0 0 -1.7379094128730043e-05 +2825 0.0007033811169024992 -0.0004844756917890976 0 0 0 3.294382826657079e-05 +2870 0.0006367450370855276 -0.00039958645477056594 0 0 0 -2.107129672594081e-05 +2875 0.00026007762648995973 -0.0003812569053255337 0 0 0 0.0003731103727345125 +2978 0.0004926551564090429 -0.0002853734212355041 0 0 0 8.659200623726393e-05 +3097 0.0005874682659903548 -0.00045568579589706705 0 0 0 1.2984193451232768e-05 +1405 0.0010184528764932367 -0.0008963474781941851 0 0 0 2.3958579067535523e-05 +3171 0.0009465391466490308 -0.000686763032506241 0 0 0 6.869585342699663e-05 +3177 0.0009569985688328485 -0.0005113478260717573 0 0 0 3.1753635084157124e-05 +3217 0.0007342767440130369 -0.0006276525690483225 0 0 0 -1.5027575372081828e-05 +3233 0.0009703144600130666 -0.0005745241755484444 0 0 0 1.0930044476285773e-05 +3237 0.0009339020232216588 -0.000618234354335372 0 0 0 4.0811195981070185e-05 +3270 0.0006542145707639796 -0.0007166437455821291 0 0 0 1.6240636348894145e-05 +3283 0.000852913333255335 -0.00029041870272119934 0 0 0 -3.4430010709402265e-05 +3305 0.001102807759079396 -0.00026562078896465846 0 0 0 4.3345981613870035e-05 +3309 0.0005482512101084757 -0.00035592268465156954 0 0 0 3.3257148882015705e-06 +3448 0.0005900100352301002 -0.00011380590412164743 0 0 0 0.00031401271306980824 +3390 0.001167606964234235 -0.00025214148558461554 0 0 0 1.0573694467761472e-05 +3392 0.0005237226935635161 -0.0005391706534927551 0 0 0 2.4432303383931315e-05 +3410 0.000696044085683986 -0.0005134900609213177 0 0 0 4.011290053394514e-05 +3503 0.0008645654359582106 -0.0009096282679272453 0 0 0 3.4599639921063024e-05 +3614 0.0008836893397694097 -0.0003684997043427197 0 0 0 -9.898548738316444e-06 +3638 0.0007522368461465542 -0.00026967724253290615 0 0 0 9.400678430676635e-05 +3773 0.0009706365086821383 -0.0008893198264656027 0 0 0 6.660441796072141e-06 +7220 0.0010934118536983695 -0.0003266080083607881 0 0 0 -0.00010167038357565328 +3818 0.0007003270112018194 -0.0008192447934029923 0 0 0 8.687696574799401e-06 +3847 0.0006906337485146093 -0.0003145672764666404 0 0 0 -8.453305635996648e-05 +9645 0.001054745554420129 -0.0012277280550092571 0 0 0 6.78851729481628e-06 +4086 0.00096535911317136 -0.0008793448209537321 0 0 0 3.7926465137615574e-05 +4090 0.0010235383283457493 -0.0003202894069694097 0 0 0 -4.575772585986568e-05 +4570 8.939474097370095e-05 -7.6247817313605685e-06 0 0 0 -0.0015729439849525334 +4450 0.0007777412513970088 -0.0006317941363504457 0 0 0 -2.040478737824692e-05 +4452 0.0004685203431247056 -0.00029189718272995525 0 0 0 0.0002415637526809839 +726 0.0008558340660900284 -0.0009967442967970658 0 0 0 1.5139299856643642e-05 +4578 0.0007597397022792129 -0.00033523730832096793 0 0 0 -0.0001271114925701993 +4622 0.0008852912940080033 -0.0010260181349344482 0 0 0 -2.4711598251912898e-05 +9575 0.0008308328079156156 -0.0006046925957750863 0 0 0 3.912707820688605e-05 +4658 0.001005925228939942 -0.0007178676606015552 0 0 0 2.3275452455146235e-05 +4660 0.00053968588138908 -0.0003743205134357619 0 0 0 4.465816042417041e-05 +4669 0.0009891474260874937 -0.000632376834598553 0 0 0 2.123474426120326e-05 +4726 0.000861444014895519 -0.0002800956954202282 0 0 0 4.5886832523901116e-05 +4792 0.0010148798582176053 -0.00025966363669754233 0 0 0 -4.112603794647404e-05 +4809 0.001019981025890387 -0.0002518580770434472 0 0 0 5.8577251141327845e-05 +9680 0.0005510177287203045 -0.000433155777485803 0 0 0 -0.00027221412564378336 +1726 0.0010284475752306915 -0.00030752206567955426 0 0 0 2.7135762429746463e-05 +5048 0.0007137523638944099 -0.0004964871180771402 0 0 0 1.6710882107668513e-05 +5064 0.0009430977909744328 -0.0007862352662177764 0 0 0 3.459955549227458e-05 +5081 0.0008872165227821445 -0.0005759127392963119 0 0 0 8.33205926501422e-05 +7637 0.0010134161175552696 -0.0003875626260287942 0 0 0 -5.6835804914154176e-05 +5209 0.0007906233948496563 -0.0008205709466144893 0 0 0 1.3109640912304474e-05 +5277 0.0012420251544787444 -0.0002287065766613858 0 0 0 3.863255944239403e-06 +5353 0.0008060086733170804 -0.0006560604045928437 0 0 0 1.9050771898601622e-05 +5364 0.0007880700607018852 -0.000270605527665452 0 0 0 -2.4472579707834906e-05 +5376 0.0008876076236598574 -0.0010065355157298183 0 0 0 3.6189177068739725e-05 +5403 0.0007301000288452387 -0.0006561703974488575 0 0 0 -1.3417831218696145e-05 +9704 0.0009714827020748869 -0.00018429063586144446 0 0 0 -0.00020892371322538423 +9438 0.0007182247344060442 -0.0009034671587134886 0 0 0 -0.00013102602013063304 +1184 0.0010267938739308771 -0.00029859461942870587 0 0 0 -1.729633937795545e-05 +5645 0.0006329871330176488 -0.0002965612495009868 0 0 0 0.00015352238320204105 +5699 0.0010996607183081158 -0.000328282188302265 0 0 0 8.824680417218123e-05 +1879 0.0010551202432097452 -0.0003606206010016701 0 0 0 -1.3939470528005005e-05 +5776 0.0005126221642356354 -0.00022743731050428695 0 0 0 0.00037358922777532667 +2082 0.0011642039735920856 -0.00033325083792539205 0 0 0 4.622483400788198e-06 +2045 0.0009450155330304583 -0.00031462217001426495 0 0 0 -0.00033878791940052035 +5791 0.0007314739187890115 -0.0007976057239995119 0 0 0 4.170753554698961e-05 +6506 0.0011651564204608537 -0.00035558836328784533 0 0 0 -1.4739444434752281e-05 +6009 0.0011388924117018452 -0.00035012322047009474 0 0 0 -5.633227150268058e-05 +5709 0.0006627241762557946 -0.0009500275564556954 0 0 0 -1.2422475310267327e-05 +8778 0.0010727605364346795 -0.0003981762916440831 0 0 0 -4.332474632969309e-05 +5985 0.0008354600287090624 -0.00024367052428315918 0 0 0 -3.639867533659637e-06 +6002 0.0007056776156630386 -0.0008015574428248931 0 0 0 2.593487350872206e-05 +6078 0.00056968758689758 -0.00033339320706297313 0 0 0 -6.368029249700532e-05 +1534 0.0009928183241236666 -0.00036783539555409496 0 0 0 -1.2999630438972587e-05 +9571 0.0006376279221661583 -0.00023394849103779323 0 0 0 -0.00016415281248037455 +6135 0.0011491618269974509 -0.00030036019151371987 0 0 0 0.00016169751391510864 +149 0.0010599304728630835 -0.0003738734183966467 0 0 0 1.932476146043151e-05 +6185 0.0010239225012822503 -0.00017918699571965833 0 0 0 -5.391849027201869e-05 +6225 0.0008837081675402327 -0.0008944920927613397 0 0 0 1.9594669634639882e-05 +6257 0.0004766805007288666 -0.0002718807950999249 0 0 0 0.0004767183987835254 +6297 0.0007929177893688423 -0.0006226960510366637 0 0 0 -5.5240595476224644e-05 +6402 -0.0021955071427610696 -0.0006817096959139532 0 0 0 -0.0019010194928078155 +6353 0.0008483209475388594 -0.00045468532743123016 0 0 0 8.754708773706809e-05 +6498 0.0004879039787283389 -0.00028048185650816974 0 0 0 -9.234068327806716e-05 +8613 0.0006500556255629692 -7.735596100660395e-05 0 0 0 0.0011542458157609522 +6713 0.0008318177974043584 -0.00041058198211004415 0 0 0 -8.14663139965847e-05 +6747 0.0005893153599679694 -0.0006336082940593102 0 0 0 -5.27811123568594e-06 +6807 0.0004902205342212573 -0.00035658341067244624 0 0 0 -7.584377161142696e-05 +7531 0.0007124223962150332 -0.0008357481948597224 0 0 0 3.174835589311092e-05 +6862 0.0007421063043090296 -0.0003317912695759279 0 0 0 -5.9789038401831295e-05 +6909 0.0010089460262069833 -0.00022860390915500746 0 0 0 4.510142510876657e-05 +6910 0.0004926937165090372 -0.000317767894054096 0 0 0 3.3317652784476376e-05 +6916 0.000827277909556365 -0.0008600763142064913 0 0 0 6.010019958662036e-07 +6965 0.0010002528797717859 -0.0008030093606923699 0 0 0 3.6045284485897145e-05 +6968 -0.0019372216665382714 -0.002288779475038544 0 0 0 0.0029905966651586164 +1585 0.001098800785996717 -0.0003917090104006134 0 0 0 3.54068195698414e-05 +7128 0.0006403073332496086 -0.0006941122919415824 0 0 0 4.055571556506432e-05 +7150 0.000727926898514516 -0.0003662515277114072 0 0 0 6.454025626963712e-05 +7152 0.0011356465690402888 -0.00022594297285959155 0 0 0 0.00015644656006324003 +7177 0.000754367585964019 -0.0006900622172340766 0 0 0 5.9752999890626114e-05 +7184 0.000873203998851714 -0.00029342525047206035 0 0 0 0.00025612017321326305 +7959 0.001173721702411736 -0.00022039644092980618 0 0 0 -1.8224614794669716e-05 +7221 0.001030343352618889 -0.0007554835919519078 0 0 0 2.0425270382458107e-05 +7228 0.000904106167772854 -0.00036052317160860446 0 0 0 4.85581890681256e-05 +833 0.0006688008448754391 -0.0007969799521159313 0 0 0 5.06820404520326e-06 +2385 0.000331239556854283 -0.00038660819232341694 0 0 0 0.00022048761392261235 +7376 0.001133473198929752 -0.00036999143978934607 0 0 0 2.6908728024588623e-05 +7438 0.0003994679165536031 -0.00027120926588292566 0 0 0 0.00014481155270360037 +2654 0.0006659341297096641 -0.0008380370914107881 0 0 0 4.443386943688024e-05 +8530 0.001088751002510365 -0.0008030730801557461 0 0 0 3.63375772616792e-06 +7526 0.0004473320817759963 -0.00024174800613883116 0 0 0 -0.00025337729196280603 +7542 -0.0014497073648319513 0.0005963352603615944 0 0 0 -0.0010148788632137835 +7619 0.0004334651106977655 -0.0002586471658478381 0 0 0 0.0002867800753236652 +7722 0.0007629907927628923 -0.0008100807825098438 0 0 0 4.775480140726831e-05 +7726 0.00075917981299596 -0.000753384654181005 0 0 0 9.414752614485182e-06 +1191 0.0010177460646120231 -0.00034919991488365675 0 0 0 3.309961569281532e-05 +7771 0.0009267788063025304 -0.0005405261992286607 0 0 0 0.00010799450449797234 +7773 0.0008639430689734734 -0.00023985702312879386 0 0 0 -1.0220188067918132e-05 +7840 0.00113584917233392 -0.0001863368239400399 0 0 0 -7.03137052869476e-06 +7934 0.0006694650326654418 -0.0008237462758588559 0 0 0 -6.084197056877418e-05 +7948 0.0006670586917696739 -0.00035794709714972317 0 0 0 0.00014079012086664212 +4014 0.0011615006363815549 -0.0007901724239859626 0 0 0 2.741805520318064e-05 +7965 0.0009613920431776837 -0.0008016089257428593 0 0 0 2.7115009751080535e-05 +8000 0.0009228067633487732 -0.0008243971936295119 0 0 0 3.11574661496717e-05 +8043 0.0008120257147038854 -0.0008677733922263367 0 0 0 3.719030208123885e-05 +8116 -0.0011593142032603966 -0.002245308902528874 0 0 0 0.00043309746103962273 +9638 0.0005063042027221608 -0.00023352930916728878 0 0 0 -0.0006014430619546743 +8170 0.0007419004206292546 -0.0006048194037073865 0 0 0 0.00011007225366729995 +8192 0.0007556937497450826 -0.0009092333759917222 0 0 0 5.491862473317272e-05 +8251 0.0008320805580548626 -0.0009628051275015364 0 0 0 4.064733849843548e-05 +8273 0.0010655878411353168 -0.00026992898987317606 0 0 0 2.6462282709959198e-05 +8286 0.0006679634641447965 -0.00040860088052561787 0 0 0 0.00011918311523787624 +8303 0.0007931358967862666 -0.0007996070813799721 0 0 0 6.513038005217988e-06 +8335 0.0009262006001301783 -0.0008914304450228558 0 0 0 1.3361996496793439e-05 +8372 0.0008366787426101545 -0.0004417846948790812 0 0 0 -8.672112253401787e-05 +8377 0.0008500978370568773 -0.0002629832857999062 0 0 0 5.4880217545865365e-05 +8402 0.0004693791304691703 -0.0002633363691056216 0 0 0 -0.00021245031722867683 +8491 0.0009065709950036214 -0.00032484766733720515 0 0 0 0.00026746693114367524 +8504 0.0010933628191153628 -0.0002619996834220269 0 0 0 -0.00014772600663658838 +8584 0.001236309338476347 -0.00033011788139745876 0 0 0 -9.504073521301336e-06 +9775 0.0008431318664928332 -0.0004151537251769271 0 0 0 0.0001310559662443424 +8666 0.0009201916818788026 -0.0002806268611355729 0 0 0 0.00019817645775217608 +8701 0.000998503544671238 -0.0006695356926056979 0 0 0 5.489704062459745e-06 +8762 0.0005210468568603168 -0.0005168164902626446 0 0 0 -1.9797769320291595e-05 +8793 0.0005304917704645694 -0.0003997544488202721 0 0 0 -3.818270091285416e-05 +8845 0.0008769187990634403 -0.0003495884333223032 0 0 0 5.2638244639815146e-05 +8860 0.0004769891127176425 -0.0003413331875399692 0 0 0 3.120171153420872e-05 +8915 0.0009279873270588063 -0.0008355488611784732 0 0 0 4.108579005412729e-05 +8940 0.0007240171788016349 -0.0004179839482459772 0 0 0 -1.4405663968566443e-05 +8990 0.0008978966875746296 -0.0007206421365172647 0 0 0 0.0001353163776007396 +8578 0.0029774131214676857 -0.0018154498407950749 0 0 0 -0.0021288920507599963 +9050 0.0006630086507360868 -0.0007684392235099223 0 0 0 4.7745172764259913e-05 +2858 0.0011344497841081682 -0.0004336086825021512 0 0 0 -8.856608541697227e-06 +9182 0.0008562128791585811 -0.0008913690478360906 0 0 0 1.2217576940740364e-05 +9195 0.0007654809690248119 -0.0008839483355357327 0 0 0 5.819646150394421e-05 +9218 0.001019251324932022 -0.0007671644397781512 0 0 0 1.7867019802826574e-06 +9232 0.0008492313799448118 -0.0003074875059107274 0 0 0 -0.000206758257175331 +9266 0.0007768036075516137 -0.0005790096216277071 0 0 0 0.00016852043624708524 +9859 0.0011444918401455045 -0.0003719333576270536 0 0 0 -1.3824365947895612e-05 +9352 0.0008646829459362945 -0.0003229632966619099 0 0 0 -0.00018716993122934832 +9792 0.0004123201675904965 -0.0007763006687874249 0 0 0 -0.0023017950278497257 +9449 0.0007450392044673265 -0.00034868092710486025 0 0 0 5.1444366237271315e-05 +9464 0.0010071759136032078 -0.0008318323805764268 0 0 0 -2.8560181873783724e-05 +9471 0.0008914464319290007 -0.00020259652970418425 0 0 0 -0.0005153071462602324 +9509 0.0007609786829413452 -0.0005986310023464714 0 0 0 0.00020393422751392015 +9548 0.0009046300152255887 -0.0006749913128787173 0 0 0 -2.155057521368959e-06 +8224 0.0006080858947168563 -6.529263814337278e-05 0 0 0 -0.0006437799573514935 +5896 0.0008761475741728099 -0.0009944113671360927 0 0 0 -6.827311295794962e-05 +5515 0.0006942087868794314 -0.0008682743725103017 0 0 0 -4.676230005404283e-06 +657 0.0007407956397173926 -0.0009116263767949345 0 0 0 3.0288384379956326e-05 +41 0.0005644360575111453 -0.0008647316540014039 0 0 0 2.41431930128023e-05 +6510 0.0006423902225998258 -0.000857735336413859 0 0 0 -0.00011251788535269244 +939 -0.0001220723405615729 -0.00016128456880490244 0 0 0 -1.245595460378751e-05 +1769 -0.00016488706373484301 -0.00014404655417189714 0 0 0 0.00010307111141466823 +6417 -0.0006693528993917298 -0.000414557945926017 0 0 0 4.569159097786993e-05 +2684 -0.000521036331878519 -0.0004130154907818985 0 0 0 1.5649624169707465e-05 +2522 -0.0005932384129732309 -0.0003132756941438984 0 0 0 3.87878490242584e-05 +2862 -0.0003758910108660903 -0.00035931602074721237 0 0 0 0.000299333646861195 +7271 0.00017839363490329633 -0.0012594326209934593 0 0 0 0.001052508283477343 +2259 -0.0006505302999276674 -0.0003940558927337432 0 0 0 3.144016779147475e-05 +4720 -0.0004238450624075411 -0.00040678610442700477 0 0 0 -0.00013937593642017514 +1717 -0.0003116559320144583 -0.00027961116924881427 0 0 0 7.371092006786533e-05 +6977 -0.0001368859962567111 -0.00026460993773500565 0 0 0 0.0005926711680393466 +9428 -0.00015210138172846812 -0.0002504141226207979 0 0 0 0.00034527310165687145 +9905 -0.0004231999749939516 -0.00045150192464013793 0 0 0 3.340003202297911e-05 +6816 -0.0007688945708083098 -0.0004442892592163966 0 0 0 7.614652855979263e-05 +9926 -0.00022517944715664466 -0.0003210274150806769 0 0 0 0.00017336439332884894 +9193 -0.00037372030108468466 -0.00046310174121932517 0 0 0 0.0004794092355457917 +7444 -0.0004871030283790775 -0.0002720336941296588 0 0 0 9.050616614549065e-05 +5282 -0.0005882694241799113 -0.00040213947218401366 0 0 0 -1.06662952313635e-05 +2000 -0.0004760474335731818 -0.0004360894688179253 0 0 0 -8.103340301730582e-06 +6370 -0.000617231671511725 -0.0003968021343032497 0 0 0 8.528442895980345e-05 +580 -0.0007565210294237088 -0.00042850482413647647 0 0 0 -5.7010048018354905e-06 +6517 -0.00025466853989354127 -0.0003402352708554435 0 0 0 0.00030990053136777514 +3538 -0.0005108694308046138 -0.00035971376360919823 0 0 0 7.485018089662085e-05 +325 -0.0006379989782026159 -0.00046555560602287824 0 0 0 2.5463668202193914e-05 +6991 -0.0003054594679841408 -0.0003222393719068662 0 0 0 -0.0003889630093682196 +1765 -0.0003092706101197533 -0.000216335914009803 0 0 0 -3.764264046171469e-05 +1618 -0.00026827806253909786 -0.0003051173198120817 0 0 0 0.000127953588930806 +5434 -0.0002684665451154934 -0.0003215599256148376 0 0 0 0.00029329173985950954 +3412 -0.0007009815392674194 -0.0004106651979448859 0 0 0 3.744097356967416e-05 +12 -0.00029418033907173684 -0.0010396751301620447 0 0 0 5.091004335892161e-06 +18 -0.001024971093304573 -0.0006351666905149008 0 0 0 1.7101009954864543e-05 +50 -0.0006321924343151365 -0.0007144186920814156 0 0 0 -4.197242499500426e-05 +58 -0.00047000989213208237 -0.00033233019274499985 0 0 0 5.055297366014764e-05 +7257 -0.0002642803517008543 -0.00108877053498185 0 0 0 -2.097907564528953e-05 +116 -0.00039330650296058036 -0.001018772595422396 0 0 0 -4.125516956012109e-05 +143 -0.00016150551888168634 -0.0007769205400619956 0 0 0 -1.1347275104298278e-05 +7897 -0.0003264706527397118 -0.0010987071177417408 0 0 0 -0.00010456682446717087 +158 -0.0009128343316200104 -0.00037383864032443956 0 0 0 9.50433514917345e-08 +167 -0.0008069642075017333 -0.0007635308516976194 0 0 0 -3.896241619543677e-05 +205 -0.0006811308854469871 -0.000846760213343897 0 0 0 -1.148229244895607e-06 +234 -0.000749002859688227 -0.0007248680973487941 0 0 0 2.104342961257146e-05 +299 -0.00031292547557930345 -0.0003019821510058329 0 0 0 4.6411335121687785e-05 +322 -0.0005045439271312607 -0.0008549237820386109 0 0 0 -1.0395456756594173e-05 +3861 -0.0007209511216864332 -0.0005898652848044335 0 0 0 0.00018953489130288406 +386 -0.0005294674510056502 -0.0005171449047356673 0 0 0 4.31978340645282e-05 +4583 -0.00017839900973062596 -0.00098487007639338 0 0 0 0.00011028635441817697 +636 -0.0004800305758252144 -0.0005557211180152254 0 0 0 4.9342828039359135e-05 +788 -4.551873970913444e-05 -0.0005353115599811713 0 0 0 0.00014225169226807357 +799 -0.0006485662930052809 -0.0005059632388196044 0 0 0 4.3392761986594896e-05 +821 -9.647269611368404e-05 -0.0005496075540253264 0 0 0 -7.847371783536398e-05 +8494 -0.00019943872842630804 -0.0009439753763374199 0 0 0 0.0003549715622896802 +869 -0.0006077191545307793 -0.0007669986406580949 0 0 0 -8.94005133394298e-06 +874 -0.0006061216226877112 -0.0007823132327748831 0 0 0 -4.625386031314767e-07 +4722 -0.00031800777610301403 -0.0009320952535468399 0 0 0 2.981352978444036e-05 +945 -0.001021220170583901 -0.0006340884995977171 0 0 0 -7.667660323441383e-05 +1037 -0.0007308467886216059 -0.000785611100686829 0 0 0 2.5854700928251897e-06 +8410 -0.00034890351774528026 -0.0008700987347245062 0 0 0 -4.999141769504029e-05 +1112 -0.0007609278795812008 -0.0007844217499185758 0 0 0 3.226198373280128e-05 +1137 -0.0002429587696650122 -0.0007954830782932442 0 0 0 9.899113829203538e-05 +1222 -7.644156618300862e-05 -0.0008085017856135518 0 0 0 5.603004377301602e-05 +1202 -0.00029436651696587913 -0.0007747407808246108 0 0 0 -2.05213994508852e-05 +1206 -0.00045471075732075145 -0.0008401881169026616 0 0 0 -3.7573823972179814e-05 +9978 -0.0002800618272323188 -0.001055941008679942 0 0 0 0.00011920178379939933 +2989 -2.050428049126105e-05 -0.0006665339615638704 0 0 0 -0.00011956454287977404 +1296 -0.00043494861243623063 -0.0004792164390909803 0 0 0 4.488710375687455e-05 +6658 -0.0002871635573404653 -0.000247369953564942 0 0 0 0.00027538702044198885 +1312 -0.0008545505408376735 -0.000740236954023286 0 0 0 -3.5952402376505356e-05 +1315 -0.00065716252732993 -0.00053918191601825 0 0 0 -1.57170884403133e-05 +1341 -0.0003629626882473224 -0.0003172050849608548 0 0 0 5.234806101358754e-05 +1342 0.00032337632282017527 -0.0001237951147655364 0 0 0 6.822638647822032e-05 +6062 -0.00032456080356045694 -0.00020324713750836343 0 0 0 4.9393099337468514e-05 +1404 0.00038971347485736917 -0.0002709982793033564 0 0 0 0.000106383933117497 +3855 -0.00032432538106578985 -0.0008825541110238759 0 0 0 -5.6441977173063586e-05 +1445 -1.6347441339437877e-05 -0.0006617639094418509 0 0 0 0.0002354940713387277 +1530 -6.0753086934859904e-05 -0.0006278726530492896 0 0 0 6.501587647776348e-05 +1666 -0.0008282936316173923 -0.0004789843655948261 0 0 0 -4.7350286922357623e-05 +1677 0.0003534644412993311 2.6239843457845265e-05 0 0 0 4.554288504448074e-05 +1683 0.0002639380100685769 -7.436063175383792e-05 0 0 0 -0.00010781543727898625 +1752 -0.00013886301869170438 -0.0007172460475918808 0 0 0 -9.864215701040284e-05 +1789 -0.0003408311193650878 -0.0009323109411657285 0 0 0 -4.647171410501382e-05 +1828 -0.0006764867741892417 -0.00073336380231894 0 0 0 3.228538454826509e-05 +1835 -0.00023100532818813504 -0.0005453121629097086 0 0 0 8.277597685939862e-05 +9710 -0.0005425881016933952 -0.0004490677177535203 0 0 0 0.00019433640833142833 +9829 -0.000347154017402142 -0.0007552267409987838 0 0 0 8.19062350668762e-05 +2324 -0.000493039860525293 -0.00033885119583455337 0 0 0 -0.00012071358292175783 +1916 -0.0005464254975515613 -0.00046666665296711383 0 0 0 -0.00012784817632860174 +1929 -0.0002075902657808871 -0.0006539866221233106 0 0 0 -0.00013925383799973722 +1942 0.00023128778087669338 2.94176088322634e-05 0 0 0 -9.81391192593486e-05 +1959 -0.0003186241684464229 -0.0008364073760811502 0 0 0 -2.6911444441220534e-05 +1980 -0.0005355939991220148 -0.0008530177269957592 0 0 0 9.556857104116952e-06 +2007 -0.00048639883868879054 -0.0003810629533065871 0 0 0 -0.00012058790736223351 +2019 -0.00021176842506362236 -0.0006849339644909634 0 0 0 -7.259218893541186e-05 +2025 -0.00013779901758589886 -0.0007831509232883367 0 0 0 -5.073842564397835e-05 +2064 -0.0008053215994973021 -0.0008343441146742375 0 0 0 -8.036802242890522e-05 +2090 -0.00012268459662333208 -0.0007241253676581139 0 0 0 0.00013327665493444597 +2109 -0.0005923812097116069 -0.00042064310113888384 0 0 0 3.5765311775169115e-06 +9698 -0.0006954864116064035 -0.0004466502270633868 0 0 0 0.00010774283984896793 +2325 -0.00030160222420261073 -0.0007340563226927395 0 0 0 5.401360394486023e-05 +2600 -0.00027019324921472737 -0.0011437714942592575 0 0 0 4.423086437988312e-05 +2279 -0.000623519229942618 -0.0009278443603708297 0 0 0 -4.222580329409549e-05 +2321 -0.0006053400830803304 -0.0009103462521606808 0 0 0 3.9719759050512695e-05 +2329 -0.0007655643703577219 -9.968119644302746e-05 0 0 0 3.4025206976879524e-05 +2338 -0.000316756814019579 -0.0009800964919906949 0 0 0 -0.00015222599745760504 +2363 -0.00044262067367303 -0.0007963634882705257 0 0 0 -0.00014169246015896335 +2374 -0.0007666727556476942 -0.0008235930500112151 0 0 0 6.253748227081592e-05 +2439 -0.0004479265062891061 -0.0004532063699953097 0 0 0 0.00018590680867671335 +2455 -0.0004382719169283803 -0.00022885824068930358 0 0 0 -0.0002432582257838185 +2597 -0.0003784717580094749 -0.0005237293321228154 0 0 0 -1.8190480828466734e-05 +2613 -0.000882523786353524 -0.0006723022761661674 0 0 0 -3.3039294788412105e-05 +2746 -0.00031958109499040176 0.00014505694811471826 0 0 0 4.768930393734453e-05 +2765 -0.0006160252578139494 -0.0007543259019541325 0 0 0 -2.1580379564234444e-05 +2790 -0.00039142323844454797 -0.0004897525244778943 0 0 0 -2.9385687416490996e-05 +2826 -0.0003035490721841261 -0.00043992172230019136 0 0 0 2.005673895478886e-05 +8009 -0.00033422952438602653 -0.0007364604487551226 0 0 0 0.00015625110489852893 +2863 0.00030615689501288626 1.889298958612156e-05 0 0 0 -5.1142759637120174e-05 +2907 -0.001022981423822811 -0.00064361671767472 0 0 0 -0.00022328528605218114 +2945 -0.0006916101442915143 -0.000737885107146175 0 0 0 7.537993149798467e-05 +3095 -0.00030923372847982384 -0.0003778923080433555 0 0 0 -2.4998719952823788e-05 +9407 -0.00021568143928339854 -0.0007381165513508777 0 0 0 -3.5359921572447835e-05 +1513 -0.0003585166255930463 -0.0008671158757028403 0 0 0 2.6560376808902738e-05 +3246 -0.0007472857679652941 -0.0007875063363669976 0 0 0 7.015109994264075e-06 +3330 -0.0006070280797174386 -0.0009417222257811825 0 0 0 -7.196733181655111e-05 +3353 -9.228527399239049e-05 -0.0007356316247214057 0 0 0 -6.73233210934862e-06 +3372 -0.00019779724120540723 -0.000674748946046522 0 0 0 -0.00013745983002023653 +3424 -0.0006567478672996213 -0.0008662095452140088 0 0 0 -9.337181987710135e-05 +3441 -0.0009284541618182029 -0.00043260052365971737 0 0 0 9.996038226270664e-06 +3479 -0.0005428464251113964 -0.0007703542808024026 0 0 0 9.109349221846881e-05 +3491 -0.0007816054146247332 -0.0016618933495644531 0 0 0 -0.0005030220254875483 +3522 -0.0006132478455389591 -0.0009302184557402615 0 0 0 2.4312425149994927e-07 +3532 -0.00044881334145580065 -0.0004924500582138493 0 0 0 -4.2800408126177585e-05 +3543 -8.798704811150658e-05 -0.000565859078987421 0 0 0 -4.835178889756763e-05 +9310 -0.0006038613154833339 -0.00040470812240880135 0 0 0 4.3170000348041516e-05 +3613 -0.00036103375967909645 -0.0002247073778224401 0 0 0 0.00036620243746391176 +3621 -0.0009381090458009763 -0.00048729199900280663 0 0 0 -0.00012603102909605247 +7239 -0.0002924069311553779 -0.000906039575310892 0 0 0 2.5880645942389105e-05 +3710 -0.00020064948698189338 -0.000673521319874764 0 0 0 2.956150172840245e-05 +3730 -0.000507120073893689 -0.0008242877995736695 0 0 0 -0.00024312091917935924 +8759 -0.00026046273529116486 -0.0010582268429080055 0 0 0 6.077116694110906e-05 +3804 -0.0010004387201484415 -0.0005161480001553065 0 0 0 0.00014140296476300245 +3814 -0.0007178046038847073 -0.0007027411931416729 0 0 0 0.00014441491134185015 +9359 0.00027745617635198286 1.5167849462481685e-05 0 0 0 -3.3940165518800235e-05 +3854 -0.00017284699998391264 -0.0006800433795801608 0 0 0 0.00014883331751319249 +9346 -0.0008397214950073392 -0.0006616695735871852 0 0 0 -2.8507090659176516e-06 +3882 -0.0004097977563044123 -0.0003867919254552542 0 0 0 -9.774039307277182e-05 +3887 -0.0005656891779952385 -0.0006476583419083167 0 0 0 0.00011011104844644858 +3897 -0.0007213644874959214 -0.0002287632215768882 0 0 0 1.9045206557108326e-05 +8294 -8.120674200037168e-05 -0.0005491618058339151 0 0 0 0.0003462561752898254 +3949 -0.0004390335210448465 -0.0006172531285203775 0 0 0 -0.0004804108621937073 +3962 -0.0005553650243985654 -0.0008410615348533276 0 0 0 -3.595812746952655e-05 +3993 -6.409556996912535e-05 -0.0008498202273391103 0 0 0 4.286496177464395e-05 +4008 -0.000731234527889135 -0.0007711608971476793 0 0 0 -9.156487094152455e-05 +4033 -0.0005826318916579836 -0.0006753662673381549 0 0 0 0.00018599678345683986 +4083 -0.000507398481123352 -0.0005021698640148476 0 0 0 -0.00027600050163182396 +4085 -0.0009019743850757967 -0.00047753501378607673 0 0 0 4.6813453655228326e-05 +4121 -0.0004967862050367111 -0.0005760023028012193 0 0 0 -6.607190927675487e-06 +9601 -0.0006830226796866297 -0.0006062501550795492 0 0 0 -4.4983038538231064e-05 +3436 -0.00048073158390789396 -0.0008585908785082606 0 0 0 9.050037570349438e-06 +9180 -0.0002775867213463435 -0.0007449583642655153 0 0 0 0.000168703146280457 +4246 -9.345161567752846e-05 -0.0006825451777373687 0 0 0 -8.3841910434804e-05 +9670 -0.0005488134023953857 -0.000716114952785787 0 0 0 -0.000208310265697872 +4270 -0.0003246729553381649 -0.0008646334658361285 0 0 0 6.314280523332267e-06 +917 -0.0005357602616940215 -0.0009138247288698416 0 0 0 -1.7604391907854106e-05 +4282 -0.0006197508629390905 -0.0008319264668811266 0 0 0 -5.07871524790833e-05 +4321 -0.0005008119158227206 -0.0009113709996466317 0 0 0 -3.010464911353391e-05 +4342 -0.00037460601212869186 -0.0009745359426591397 0 0 0 1.8563050571785595e-05 +4371 0.0003047852813442712 -5.434603957534565e-05 0 0 0 0.00010553253515184443 +4411 -0.0004287475224949288 -0.0009568763656060464 0 0 0 -8.959051812186156e-05 +4418 -0.0005181427317525069 -0.0005604049785602232 0 0 0 0.000322681871943493 +4509 -0.0003963734747996176 -0.0009965940553903563 0 0 0 -1.5842809365098358e-05 +4580 -0.0005165962000607914 -0.00031979931253505085 0 0 0 -6.934153875676729e-05 +4759 -0.000563213420773818 -0.0010299655166025343 0 0 0 5.5549722699129666e-05 +6080 -0.0003755377386848708 -0.0008525218533216476 0 0 0 -2.43191313976483e-05 +1872 -0.00023344682489244838 -0.0007331272017773042 0 0 0 -6.057624777343618e-05 +4832 -0.0003658894559953807 -0.0008192946571289362 0 0 0 -2.404425290216498e-05 +4856 0.00039822265364188996 1.665420306465646e-05 0 0 0 2.2324673349502487e-05 +4957 -0.0003645890580678481 -0.0003974157086970062 0 0 0 5.7958714244034525e-05 +5000 -0.0008163975014899642 -0.0006621370576601 0 0 0 -8.742615275994005e-05 +5039 -0.0009002798322315336 -0.00040916697138805135 0 0 0 7.29619747781122e-05 +5047 -0.001049063653095246 -0.0005856789559195259 0 0 0 -0.0001739362868733985 +997 -0.0005417252452433117 -0.0008759240764756706 0 0 0 -2.7727584934144958e-05 +5113 2.4724614706973385e-05 -0.0007155757535435184 0 0 0 6.850871336350796e-05 +5121 -0.00027413898669040315 -0.0002851748072000201 0 0 0 -0.00018617297044556865 +5135 -0.0008214109948920002 -0.00035964255507865575 0 0 0 0.00018253946419344232 +5303 -0.0006228247606070513 -0.0006611806668437152 0 0 0 0.00017096222341097286 +5320 -0.0003477451014205714 -0.0002912648750803763 0 0 0 0.0006151675716755117 +5343 -0.000610295425265438 -0.0008412592855967936 0 0 0 -8.39360285325149e-05 +5358 -0.00037183429532808727 -0.0010297900702202498 0 0 0 -0.00021294992113711904 +5460 -0.0006799515415800864 -0.0009147447387782148 0 0 0 8.915788232939883e-05 +5492 -0.0003674005970209262 -0.001045611299303768 0 0 0 -0.00015566687581844882 +4268 -9.402845476354937e-05 -0.0006157422921118254 0 0 0 0.00013438134458889291 +5673 -0.00039195939384542675 -0.0009008479352283629 0 0 0 8.120269142822494e-05 +8488 -0.00040176920123790227 -0.000921395610295226 0 0 0 -1.2864993335615164e-05 +5728 -0.0005746230862282 -0.0007922243441916551 0 0 0 -0.0004196611721613076 +8894 -0.00031886644975781314 -0.0010939482985806027 0 0 0 9.668523499214302e-06 +8524 -3.011629949713403e-05 -0.0006680575503107781 0 0 0 0.000228966990972545 +5857 -0.0004089014937008513 -0.0010155318307711507 0 0 0 -0.00010836801215885852 +5865 -0.0008785168959098406 -0.00053854402475618 0 0 0 5.315311612358516e-05 +5870 -0.0006276407034054738 -0.00045277624900095864 0 0 0 1.6010181314301342e-05 +5890 0.00025155190315197875 -0.0001826448209389385 0 0 0 -0.00016045435458064233 +9452 -0.00027736207192734377 -0.0010540726917608915 0 0 0 2.9808244077455136e-05 +5934 -0.0003151942879052866 -0.0004384699288763691 0 0 0 -0.00021647199859804712 +5978 -0.0002931356012728248 -0.00022611855852074957 0 0 0 0.00024135311176748478 +5990 -0.0006171090353960268 -0.0008528871348762598 0 0 0 1.547775831393878e-05 +6073 -0.0003569643825326069 -0.0007065971636658594 0 0 0 2.80145866536714e-05 +2370 -0.00027765970206606526 -0.0010609461086949872 0 0 0 -4.996908091590572e-05 +6158 -0.0004355728898479484 -0.0005262005340355173 0 0 0 -7.143139990841946e-05 +6171 -0.0008134805037559458 -0.0006190069075413371 0 0 0 -9.69093110187765e-05 +2705 0.00033986730561028756 6.845847073645103e-05 0 0 0 4.123589391033259e-05 +6190 -0.00044701171177090814 -0.0010190147469734973 0 0 0 -5.688110698626097e-06 +6243 -0.0002609467419713795 -0.00022055012396917178 0 0 0 0.0002917098663469627 +6301 -0.000578822778785428 -0.00041025144845471383 0 0 0 -6.841863744268503e-05 +6309 0.00010740533383433586 0.0003487412320696679 0 0 0 -4.322034162393099e-06 +6406 -0.0009639821650014164 -0.0007278420951106689 0 0 0 -0.00011327996022027975 +2443 0.00016913150634167537 -0.00010952235981965027 0 0 0 0.0001504780854187824 +6533 -0.0001534188544181357 -0.000763998931995527 0 0 0 6.244171538596147e-05 +9955 -0.0003429880631161578 0.0008865317834682029 0 0 0 -0.001199671276090397 +9045 -0.0003194915437768634 -0.0010907995093900787 0 0 0 7.56470097779124e-05 +6644 -0.0007431163929366563 -0.0006970024424121246 0 0 0 -2.574868525300052e-05 +6646 -0.0006009482152227202 -0.0006165711077152946 0 0 0 0.0003475056510634518 +6650 -0.00057853218370189 -0.0009218843700506151 0 0 0 -2.5102352987422927e-06 +6670 -0.0002652749149105022 -0.0006846432421973062 0 0 0 -0.0008915177359560586 +6698 -0.0007538905350110214 -0.0007673678164379943 0 0 0 -8.963904199641209e-05 +6712 -0.0006003378059925222 -0.0008527018980312284 0 0 0 -3.827993486491577e-05 +6736 -0.0010234184217205505 -0.0004872404915042973 0 0 0 -3.202247359175149e-05 +9152 0.0018263458610307877 -0.001453424070822775 0 0 0 -0.0003833583447378747 +7920 0.0004066153837133917 -0.00042992306793684953 0 0 0 -0.0008046987279300321 +6773 -0.00035865855853512655 -0.001011851138809436 0 0 0 7.068556180036203e-05 +6788 -0.000489115554858189 -0.00023431851430997218 0 0 0 9.33510936056256e-05 +8089 -7.198800246923588e-05 -0.0008553686334381675 0 0 0 8.532657956886629e-05 +6793 -0.00025763083123896206 -0.0003362649841776872 0 0 0 5.944039431024011e-05 +9357 -0.00010293900362536461 -0.0007094746617588507 0 0 0 0.00022821581215240504 +1294 -1.0600386235029055e-05 -0.0006097007506122112 0 0 0 6.642356243875037e-05 +6872 0.00028734503782448003 1.6344745015083074e-05 0 0 0 -0.00010497054080511427 +6885 -0.0005489644361577075 -0.0010774106515908013 0 0 0 0.00023200063997183865 +6898 -0.0006466454667952734 -0.0008776555341220043 0 0 0 -9.629337612482642e-05 +6923 -0.0005150574605310435 -0.0003790528831044295 0 0 0 7.321836925802454e-05 +7033 -4.3904206918113135e-05 -0.0006313478780647721 0 0 0 -0.00015684335653888437 +8234 -0.0003261699257508075 -0.00031461533138525514 0 0 0 0.0005265819052375626 +7073 -0.0006808820230736597 -0.000614333672075554 0 0 0 0.00024209814988888478 +7087 -0.00024214943759387036 -0.0007188280478252074 0 0 0 -4.813143591595533e-05 +7093 -0.0005142944177282125 -0.0007907355064376807 0 0 0 -0.0001333033137456271 +7156 -0.0005776175492911833 -0.0004589093387180618 0 0 0 -0.00017103214617678882 +7190 -0.0004541801742937417 -0.0005605169467668915 0 0 0 0.0002630895492382161 +7292 -0.0006470289632931999 -0.0005077645434517801 0 0 0 -0.0002879314782834806 +7298 -0.00031652950708271617 -0.0009908515946501638 0 0 0 0.000165312507840549 +6936 -0.0002676029673548311 -0.0009771077339751754 0 0 0 5.802748578851887e-06 +7519 -0.0004279193685129696 -0.00051645132406275 0 0 0 -1.1876597456652702e-05 +7582 -0.0003025696146032377 -0.0007352284598776249 0 0 0 -2.1622819446876183e-05 +2841 -6.40746113402155e-06 -0.0005306875287985022 0 0 0 5.248767143210501e-05 +7631 -0.0006680448506424693 -0.000693595648006196 0 0 0 -3.398907772409494e-05 +7676 -0.0010362965423878763 -0.0006271704365331114 0 0 0 6.47895287536276e-05 +7710 -0.0006033769130003904 -0.000780591241288164 0 0 0 -8.659860479709809e-05 +7719 -0.0004955899605757815 -0.0003347833933553711 0 0 0 -0.000544068751980943 +7741 -0.0006026739454976248 -0.0007742808645946655 0 0 0 0.0003879808541012231 +7896 -0.00031096738524796313 -0.0013851660628952354 0 0 0 -0.0004768265086314111 +9874 -0.0004660383931228586 -0.0006356350931686109 0 0 0 -0.00018790630223584014 +7956 -0.00253986439939437 -0.0010246024370310824 0 0 0 0.0006090632433217274 +7976 -0.0004403059924179963 -0.0005443371631617967 0 0 0 5.8661532532157795e-05 +7982 -0.0009467505628093452 -0.0005291089807580071 0 0 0 9.004765657665989e-05 +9830 -0.0007485595266178736 -0.0008644955229288727 0 0 0 -8.74692538307206e-05 +8027 -4.5235783167596946e-05 -0.0006229827190954381 0 0 0 0.00040492444051133496 +7496 -0.0003315207910307325 -0.0011580955230229154 0 0 0 2.0483858771808907e-05 +2336 2.2429788030008257e-05 -0.000597434792314292 0 0 0 -4.723572548442552e-05 +9834 -0.00022841329569048667 -0.0010343861952877326 0 0 0 2.8960552545146045e-05 +6975 -0.0004918623809151703 -0.0008174347203076186 0 0 0 -3.7784036635269196e-05 +8227 -0.0006794016540989759 -0.0008491246239995602 0 0 0 -2.6121836028275162e-05 +622 -2.299142445219482e-05 -0.0005911886130992058 0 0 0 -8.419325948027742e-05 +8241 -8.337661642116404e-05 -0.0006932248394913941 0 0 0 0.0001358467028526619 +9325 -0.00027022530907837495 -0.0010021044830918736 0 0 0 0.00012818361530659065 +8334 -0.0007145658826309378 -0.0006470814067154679 0 0 0 6.749881927850819e-05 +8853 -0.0003883669026459895 -0.0008649853242020892 0 0 0 -7.91784385886107e-05 +8354 -0.00027919952019152554 -0.0009598919516074762 0 0 0 -3.237361264301151e-05 +8413 0.00040320291903222334 -0.0017347739617492282 0 0 0 0.0007165643937070856 +8417 -0.0006570081039358265 -0.0005502339677610525 0 0 0 6.950353393630033e-05 +7056 -0.00015314803564374767 -0.0009229251654878355 0 0 0 9.600961299878028e-05 +8468 -0.000530998468407084 -0.0007943118087585685 0 0 0 -0.00012229614098156977 +8486 -0.000460513893692636 -0.0005199223958306075 0 0 0 -6.021462003389477e-05 +9740 -0.00046485111348489895 -0.0004987527705567875 0 0 0 -0.00021041332444653453 +8339 -0.0002891460006384288 -0.0011679913232771103 0 0 0 1.56284749473634e-05 +8582 0.0003142947473637289 -0.0002293442098399593 0 0 0 -0.00015068544481340736 +8595 -0.0021484839047646903 -0.000655603989586468 0 0 0 0.0010416591079230545 +8649 -0.0004207153276390032 -0.0009028277018110025 0 0 0 -3.318373391391784e-05 +8653 -0.0006832883812540927 -0.0005662350673503168 0 0 0 6.875441134522303e-05 +8656 -0.0002393273087326993 -0.00047721593400507875 0 0 0 -0.00014265532953758144 +8669 -0.0009874169313340223 -0.0004179166850929887 0 0 0 -0.00010431093332999323 +9714 -0.00166244440549569 -0.0009232900554833692 0 0 0 0.0022002158875224745 +8712 -0.00043077770901680943 -0.00039060437764620035 0 0 0 0.00021145291431209594 +8755 -0.0006929914684604181 -0.00045250066377359885 0 0 0 -0.00017797770111364306 +8851 -0.0005866872482778844 -0.0006565159652267413 0 0 0 0.00020170248291740856 +8958 -0.0002014827563686432 -0.0006994636163259442 0 0 0 -6.195483541533783e-05 +9008 -0.0006442600562067511 -0.0007820404156828092 0 0 0 -0.00011980311450530298 +9011 -0.000720542145855502 -0.00077056711466893 0 0 0 -8.691266062261343e-05 +9129 -0.00041874545368973654 -0.0006264569905067623 0 0 0 9.343188773823516e-05 +9148 -0.0005520212679461209 -0.0009110142457706484 0 0 0 3.8629542386412834e-05 +1130 -0.00028267020117339733 -0.0011545175801448901 0 0 0 -4.985239372537781e-06 +9349 -0.00045308014940219213 -0.00037027855311017586 0 0 0 -0.0002294354866125079 +9199 -0.0005076605794360623 -0.0004001046156800554 0 0 0 -8.909075921494098e-06 +9212 0.00025986905230998943 -0.00016793779079173312 0 0 0 0.00022665336130225168 +9245 -0.0007848603002469931 -0.0007403909183276286 0 0 0 0.00010712243705663187 +1417 -0.0001234559354639461 -0.0006679242130000641 0 0 0 8.183382320624814e-05 +2497 -0.0008094514437500707 -0.00042735119448571824 0 0 0 -5.059376826706436e-05 +505 -0.0003908615443155702 -0.0007523180949683127 0 0 0 -3.21124283825162e-05 +6177 -0.0002520441516269898 -0.0006853821126509016 0 0 0 8.259322037866702e-05 +8507 0.0001769133337204284 -0.00015125831115026135 0 0 0 0.0006886011031690205 +4783 -0.00018986369100813767 -0.0006901987380177777 0 0 0 2.4317591195810153e-05 +7973 -0.0001246372373320043 -0.0006170299133501605 0 0 0 4.641336376747252e-06 +8564 -0.00017215435319823126 -0.0006989164357557657 0 0 0 7.809023880072145e-05 +8572 -1.5059472602763648e-05 -0.0006132665064644789 0 0 0 3.259240756861565e-05 +8902 -0.0006103419700122908 -0.0004378158758009734 0 0 0 0.0002409417476959834 +4281 -3.958855471583153e-06 -0.0005861391918739605 0 0 0 2.6591183438166746e-05 +5204 -0.000688812576890789 -0.0005614442867463356 0 0 0 -7.16196356113526e-05 +4787 -7.572435516087777e-05 -0.000655575350717482 0 0 0 9.508041823611863e-05 +5792 -0.00012440337343363756 -0.00064083901514003 0 0 0 -3.73665295980023e-05 +9118 -0.00023356941105043356 -0.000725136917786387 0 0 0 1.990712436068858e-05 +9632 -0.00027387356482062506 -0.0007297214163307349 0 0 0 -2.9531364733214824e-05 +3780 -0.0010600944761119575 -0.0006979204395919506 0 0 0 3.153832457275081e-05 +5905 -0.0004844153237901461 -0.0004091794016512262 0 0 0 -1.7405308428692075e-05 +1275 0.00036136121379188994 3.621199994975298e-05 0 0 0 7.95692083398462e-06 +3904 -0.0007060863191283266 -0.000499195748999762 0 0 0 -9.092701267765643e-05 +7518 0.00028881927597483776 -0.00025631603566884513 0 0 0 0.000978015718146044 +9888 -0.00025411042661778406 -0.0006413254454920197 0 0 0 3.845565313478331e-05 +2799 -0.0006665162535919695 -0.0004926177966550309 0 0 0 -5.631112433534082e-05 +3152 -0.00023259774879328418 -0.000620955979592333 0 0 0 2.5390217401259934e-05 +3669 0.00029500076211930995 -2.4118263357737626e-07 0 0 0 -9.682125652643664e-05 +1183 -9.703543360566724e-05 -0.00059870593849561 0 0 0 1.2511802251941564e-05 +4144 -0.0005813811812843133 -0.0003896912355979454 0 0 0 -4.780239764180724e-05 +1706 0.0001964911268889056 -0.00011241156156235297 0 0 0 0.0002793229883554741 +4488 6.923348159927934e-05 -0.00012600891865874057 0 0 0 -0.00030379794906605585 +6516 -0.0002460337807056436 -0.00011248311889331217 0 0 0 0.0003013948321166419 +434 0.0002899772119105556 0.0007990308072012588 0 0 0 -6.148161937248599e-06 +21 0.0014003153269916836 0.00045683435006070924 0 0 0 2.507540895007465e-06 +69 0.0007164435029051576 -0.0008405823378601168 0 0 0 -1.305787265157011e-06 +83 0.0008484787462773317 0.0005539365799518929 0 0 0 -2.0205278855555746e-05 +8095 0.0011924784724793008 -0.001199154313626079 0 0 0 -5.7809260235438784e-05 +121 0.0006627164305108836 0.00052046251648611 0 0 0 2.2491078716612417e-05 +133 0.0005877773405465398 0.000762876572491393 0 0 0 5.605975116007425e-06 +148 0.0006051999384493631 0.000237202756823364 0 0 0 4.299364543675555e-05 +250 0.0009226863529803667 0.0006073016026406144 0 0 0 -2.6456961000987297e-07 +257 0.0008224487173758738 0.0006851329128400396 0 0 0 -1.0204281602893967e-05 +284 0.000596907708793958 0.00048002507938838565 0 0 0 -7.475902002598364e-06 +332 0.0010455002360768933 0.0004020750991150196 0 0 0 -1.9764843329622243e-05 +8478 0.0006496317145154747 0.0008074629672113888 0 0 0 3.3340141135265905e-05 +355 0.0005214510257681481 0.0008208283261939269 0 0 0 -1.7521887486632145e-05 +374 0.0008168199426702134 -0.0004945611998093275 0 0 0 4.370614269643011e-05 +8920 0.00020083175992152312 -0.0007458238144480488 0 0 0 4.581066894753866e-05 +394 0.0009290920925848127 0.00028196286542507586 0 0 0 -1.949064177949458e-05 +419 0.0008716527071311239 0.0004655322533362956 0 0 0 -2.515487000574114e-06 +32 0.0002251095788879269 0.0007367157404208285 0 0 0 -3.1250067208863136e-05 +238 0.00027388559189703423 -0.0006823990570077234 0 0 0 -2.289127352051066e-05 +4048 0.00048327533148650363 0.0008545929664256767 0 0 0 -0.00013840828592643606 +4953 0.0009183078850495229 -0.0011730441966785225 0 0 0 3.0470043908416025e-05 +501 0.001139308310420097 0.0003113768194369272 0 0 0 2.9061811963097325e-05 +513 0.0012012723365998415 0.0005875157362740796 0 0 0 1.4573132279953866e-06 +528 0.0010320059141262646 0.0005674041156432416 0 0 0 -2.9265569041941916e-05 +608 0.0006439210579953036 -4.58665651492717e-05 0 0 0 2.400964241391485e-05 +665 0.0006256003307369317 0.0006023067038617346 0 0 0 2.4270673590374982e-05 +9737 0.001199107899243753 -0.000927872371144206 0 0 0 -3.0908634774652177e-05 +723 0.0009439421793686193 0.0005998284926304879 0 0 0 6.965695267375474e-06 +729 0.0009114742855532574 5.9823795971857083e-05 0 0 0 6.752602210669332e-05 +745 0.0010137118334167929 0.0005137400152370398 0 0 0 -7.441600184206994e-06 +753 0.001226195834046359 0.0005216123722330949 0 0 0 -1.928017782341748e-05 +876 0.0008819382555403545 0.0006670139182834765 0 0 0 -6.428204740834868e-06 +883 0.0006379670813918144 0.0007264585989590623 0 0 0 -1.862983843356113e-05 +935 0.0008674156035618952 0.0006303070654792366 0 0 0 -1.9112757976055615e-05 +9489 0.0004877955815698623 0.0008816526802740874 0 0 0 -8.121435045437415e-05 +960 0.0003811926855090246 0.0007024341717130297 0 0 0 -8.881316283202277e-06 +973 0.000635543622026036 0.000734219810001452 0 0 0 1.3065189366933729e-05 +982 0.000895444472979298 -0.00044001662275613854 0 0 0 4.176969870856071e-05 +1006 0.00037793668222971445 -7.246111906647011e-05 0 0 0 5.879750100451764e-07 +1018 0.0007719392791796753 0.000697008299954549 0 0 0 -9.961110764291944e-06 +1565 0.0009870084348927218 0.0006231362617434168 0 0 0 1.0899592924362252e-05 +3976 0.0009472489861941037 -0.0005766610043586747 0 0 0 0.00012263376569386603 +844 0.0006294869266999198 -0.001494939657212636 0 0 0 0.00022977780346625958 +1090 0.0012662738740849846 0.00011380784818883522 0 0 0 4.4554846239525835e-05 +1103 0.0013331432829958593 0.0005540157757976146 0 0 0 1.0688016320561662e-05 +1045 0.0005007215448877951 0.000503206076209061 0 0 0 -3.706703208664713e-05 +4382 0.001034236245255713 -0.0008786613271938794 0 0 0 -0.00017622286589988147 +1185 0.0007841477546127905 3.020855480121131e-06 0 0 0 -5.026256249753511e-05 +1194 0.0008055274459843641 0.0006235834503645694 0 0 0 3.072948697462807e-05 +1343 0.00033742311860913277 -0.000704656674723236 0 0 0 -1.8708830476543228e-05 +1352 0.0012577413906043752 -0.00033526573145894854 0 0 0 -3.7192238042416626e-06 +1355 0.0007360197806544537 0.00029307229344457876 0 0 0 3.827610245535096e-05 +1362 0.0013235274387692333 0.00012488554557210516 0 0 0 8.113466052879663e-05 +1395 0.0005923969042293172 0.0007526334184381544 0 0 0 7.651859782738848e-07 +1430 0.00017556946244957496 -0.0013539038350706108 0 0 0 -3.180719464255266e-05 +3980 0.0001849873251574219 -0.0006251349367311829 0 0 0 -1.9231594282096375e-05 +1467 0.0009360405402153502 0.0005564525731838191 0 0 0 -4.628301038300447e-06 +1518 0.001179974908384526 0.0005094206131257968 0 0 0 1.9835225621408698e-05 +4395 0.0011621508785727918 -0.00037026285104148864 0 0 0 1.6785439130872594e-05 +1550 0.001229788179898084 0.000623175458919515 0 0 0 2.6473892090193964e-05 +1560 0.0011640443871763404 -5.1289780452416035e-05 0 0 0 0.0001100863327172729 +7913 3.25761979448658e-05 -0.0006115186939205889 0 0 0 -0.00012968498604722862 +1575 0.0012794309518166314 0.0005145438683808415 0 0 0 2.5933334065249212e-05 +1593 0.0012338722397717229 -3.1646202946041315e-05 0 0 0 -1.1838072139252116e-05 +1620 0.0012573530320042219 -9.043302578569021e-05 0 0 0 0.00014388098639270746 +1660 0.0011552718807827417 0.0001980257225742553 0 0 0 0.00015581011542861376 +1674 0.0006085943707032178 0.0006841601105713214 0 0 0 1.951767842299243e-05 +1680 0.0012479493736096115 0.0006539260076060474 0 0 0 4.555811023803374e-05 +7768 0.0005069432136345143 0.0007110433865604973 0 0 0 -2.4033336944925498e-05 +1727 0.0010797075331340003 0.000533582242724111 0 0 0 -7.559267031578722e-05 +1728 0.0012035015493866439 0.0006562354350731623 0 0 0 -8.490546810395657e-06 +1732 0.0010847674975813615 0.0006571917342513447 0 0 0 1.1995417583954541e-05 +1753 0.0007654174818471715 -0.00022287242035658514 0 0 0 -6.336521278586444e-05 +1755 0.0005127431935679827 0.000472790028512007 0 0 0 -1.6867377671974125e-05 +1758 0.0010343880198011841 -0.0004368986979829466 0 0 0 -1.4105981690198615e-05 +1768 0.0009263182911150216 0.00045467672144558274 0 0 0 1.3674036377184795e-05 +3175 0.000861376994970322 -0.0012573095410247672 0 0 0 0.00016061419034209856 +1829 0.0006329202484235487 0.0003233148189877675 0 0 0 -4.026209738990743e-06 +7902 0.0011804174580876269 -0.0007897590124477557 0 0 0 -1.7455315590550964e-05 +1848 0.0011168267286807642 0.0006282147697403229 0 0 0 -1.5513628146154695e-05 +1894 0.0009318554892618706 -0.00020695091331826692 0 0 0 5.6533711410576216e-05 +1901 0.0009178969569871708 -0.0006131774179167396 0 0 0 6.593155925069167e-05 +1943 0.0011226941688212485 0.0005237271591559977 0 0 0 -9.106840119928789e-05 +1968 0.0010908562505478124 0.0006381605217502628 0 0 0 2.6481978501316268e-05 +2002 0.0012024413819657074 0.00053961744658189 0 0 0 -5.742918301450921e-06 +2006 0.0009949321613705235 5.047363536386453e-05 0 0 0 3.45205255152072e-05 +2015 0.0006183359685163975 0.0007079422751018024 0 0 0 -4.046794425298096e-05 +2028 0.0009789024527054985 0.0005025989325507363 0 0 0 1.7929712458861483e-05 +2042 0.000693697176012756 0.0006029978019726127 0 0 0 2.507260740075409e-05 +2068 0.000624473557470223 0.0002666301824662983 0 0 0 -6.68950329846928e-05 +2126 0.0012170491269788242 0.0005670371829270877 0 0 0 6.444282469727239e-05 +2143 0.0013110181197461218 0.0004998294229170228 0 0 0 1.9944002250722704e-05 +2167 0.0007119689863543628 -0.0001731501149521745 0 0 0 1.2338875645465433e-06 +2202 0.0006289616530120666 0.0005233100921340304 0 0 0 1.844142790535542e-05 +2205 0.0010021623710974937 -0.000844145524901554 0 0 0 6.474052235830167e-05 +8202 0.0007021824090602621 -0.001460897051559668 0 0 0 5.440204739858896e-05 +2258 0.0008233000328376401 0.0006751051413915329 0 0 0 -1.4719707252529836e-05 +2267 0.0008213622358989259 -0.00021941689362105972 0 0 0 5.55584841863564e-05 +4506 0.0006367345808143469 0.0008398831681293868 0 0 0 6.183491237216225e-06 +2311 0.0006127469699330738 0.0005517807331870156 0 0 0 0.0001398039506984467 +9277 0.0008292579957970323 -0.001232408517348689 0 0 0 -0.00021017811420996464 +5943 0.0008520857136589546 -0.0014475743347342877 0 0 0 0.00032225614441777514 +2347 0.0008762818999916666 0.00028057754153901264 0 0 0 -4.807130225092891e-05 +2361 0.0011120561925784256 0.0004938978395975996 0 0 0 -0.00010620916661445959 +2377 0.0004707419921394537 0.0002715614432955152 0 0 0 4.550511905178302e-06 +2403 0.0009296814160301378 4.543801685685945e-05 0 0 0 2.630120993906951e-05 +2458 0.000935089106826935 0.0005338193491343716 0 0 0 -2.362692451132141e-06 +2463 0.0009819731882321184 0.0005487411272486331 0 0 0 1.025566909853629e-05 +2482 0.0006163648781279421 0.0006250477850050928 0 0 0 -1.0839152578141959e-05 +2489 0.0012454053139699397 0.00022371325119091117 0 0 0 -1.577371553657205e-05 +2513 0.0012472765126913955 0.0003781746153030002 0 0 0 -5.679776138371524e-05 +2517 0.001133307164796599 0.0002904710649852903 0 0 0 0.00014793941995788765 +2528 0.0012545350127756204 0.0005829799191264292 0 0 0 5.497439846793002e-05 +2536 0.0011323779433366418 0.0004195368131035529 0 0 0 -5.43097368232649e-05 +2596 0.0006174307446661004 -0.0007441456746057989 0 0 0 6.355742330631359e-05 +6566 0.00033107460667163827 0.0007627669284542957 0 0 0 1.6532383063955597e-05 +2630 0.0011195665199118235 -0.00041296001983099744 0 0 0 0.00015993317570570605 +2089 0.000349326573754105 -0.0005182345588259011 0 0 0 0.00016836484837359878 +2656 0.0004746288189643956 0.000570496394640887 0 0 0 4.309046903399095e-06 +2659 0.0007849315464988493 -0.0003231633048418914 0 0 0 5.530739333654496e-05 +2685 0.0008388056117921205 0.0005972755946732265 0 0 0 -5.940848610226734e-06 +2690 0.0008844317067246113 -0.0005276738249456145 0 0 0 3.132457707845571e-05 +2740 0.0008414112779174735 -0.0003425392307066139 0 0 0 8.355531246840778e-06 +2773 0.00043358270583204874 0.0005997694284967705 0 0 0 3.432462355354064e-05 +2819 0.000953670884076528 -0.0002863920393382203 0 0 0 4.3856875661959645e-05 +8252 0.000477819563839219 0.0008372053290648093 0 0 0 0.00016329727144705775 +2850 0.0006933242959727812 -0.000234677139954561 0 0 0 0.00018989025075919332 +7932 0.0011367490370504428 0.0006418176600583588 0 0 0 2.9347334369527983e-06 +9415 0.0007471853094338001 -0.0007033772847776607 0 0 0 0.00030464816979059275 +2949 0.0008603193274824909 -0.0007771403970035661 0 0 0 0.00015510025882641297 +2990 0.0008265487498993609 0.0005899481214404592 0 0 0 -1.2493104021207343e-05 +2997 0.000711434217584935 -0.0008165979086207256 0 0 0 1.225596200840283e-05 +3038 0.0009055346033129061 0.0005336440902815929 0 0 0 4.3177184018423455e-05 +3039 0.00044448556231164554 -0.0014111500930514117 0 0 0 -0.00024936287002862867 +3068 0.0007593188714544499 -0.00031819025622109733 0 0 0 -1.794946368121482e-05 +3105 0.0006626715741123679 0.0005008854270263106 0 0 0 2.4777665949729318e-05 +5898 0.00077354583096836 0.0007155334885497775 0 0 0 2.920594685863639e-05 +128 0.0009651369175541852 -0.0006324470820660107 0 0 0 3.548567245901795e-05 +829 0.0005516775531981191 -0.0008112931147761565 0 0 0 -1.2434172837493544e-05 +5401 0.00024161823724326128 0.0007990667925062311 0 0 0 0.0001672968583054765 +3211 0.0003544640069477852 0.0007491260952305839 0 0 0 1.7720912983025127e-06 +3219 0.0008651115308653154 -1.796568012062304e-05 0 0 0 7.746686278784205e-05 +3226 0.0011644648635173772 -0.00019121297867346265 0 0 0 1.2912325514727514e-05 +3228 0.0006800434979485819 0.00041742478429938635 0 0 0 -7.450993170297869e-08 +3841 0.0010829678905878264 -0.0005366838548616761 0 0 0 2.6875832710651968e-05 +3266 0.0012060797718457424 0.00032258805854518797 0 0 0 8.116284020368211e-05 +3285 0.0009803025312725832 7.43295731922758e-05 0 0 0 -2.463359932518286e-05 +3286 0.0006877867678151874 -0.0008911098724712496 0 0 0 0.00020585490848281117 +8497 0.0005465629499869129 0.0008425971174766189 0 0 0 -6.10843929156812e-05 +3293 0.0008134967679710494 -0.00043215603352929864 0 0 0 5.019718496041747e-06 +1304 0.0007519719003189537 -0.0011486138456252887 0 0 0 -8.080407354238026e-05 +3365 0.0006241753306074102 0.0005890400706941017 0 0 0 2.7250960548145677e-05 +5372 0.0010748367653015795 -0.0005768462781652801 0 0 0 -6.45219046108993e-05 +3481 0.0011576777429431028 0.0005920923499922954 0 0 0 -7.494341414602977e-06 +5262 0.0006535539669418477 0.0007643009091122036 0 0 0 -8.153610457443482e-06 +3547 0.0010553347479338277 0.0005020912262948927 0 0 0 -1.75064971305006e-05 +3553 0.0006244132097833677 0.0007002879438726482 0 0 0 3.0724530357203e-05 +3555 0.0008946304781798678 -0.0007863887603714164 0 0 0 0.00013250536246580354 +3569 0.0006987111066579277 0.0006800158862779296 0 0 0 -5.05780767105462e-06 +3579 0.0007906486330178448 -8.545543357600377e-05 0 0 0 6.16759258905338e-05 +3605 0.000734195942142544 -0.0002968386851093385 0 0 0 0.0002982900227897277 +3610 0.0009988244439503389 0.0004933422938207438 0 0 0 6.853695291546345e-06 +3674 -0.00018425031501967718 -0.0016615410320402096 0 0 0 0.00038324548712263877 +562 0.0008393131136160965 -0.0012808252213807399 0 0 0 -4.281401992648992e-05 +3679 0.0009684331455512567 0.0001826266505110374 0 0 0 2.5944937304300653e-05 +3680 0.0012697871506673203 0.0006128153494924967 0 0 0 5.3969471654147004e-05 +3697 0.0005994721225980339 0.0006624459147915316 0 0 0 5.623361164373728e-05 +3747 0.0008844657422253922 -0.0005257127525977476 0 0 0 -2.107795035294856e-05 +3838 0.0005790009696912967 0.0005557766068972561 0 0 0 -0.00010654342906079895 +6945 0.0002528688417206778 -0.0007206872117392625 0 0 0 -5.349956265595386e-05 +9662 0.0007453185715374937 0.0007378868572433903 0 0 0 -7.484190979914184e-05 +3934 0.00112854599754855 0.0006532224783548984 0 0 0 -3.816337863980592e-05 +8757 0.0010196382589845144 -0.00118780396462692 0 0 0 0.00015904200231359094 +3966 0.0007612025356273474 -0.00047524044405011215 0 0 0 -3.979741421846692e-05 +3973 0.0011639905653653007 0.0006441893834922838 0 0 0 1.4518549531899004e-05 +3997 0.0007491559097638654 0.000680152271021586 0 0 0 6.143977666476248e-06 +6025 0.00016622156173675778 -0.0004770987867372441 0 0 0 -6.64708966646747e-05 +4034 0.0009819739478965073 -0.0001229731795878988 0 0 0 -9.287150735493476e-05 +4038 0.0007896351293454489 0.0006781652273967808 0 0 0 -1.508525508066987e-05 +4040 0.0011363158348355205 -0.00018611875597598123 0 0 0 9.610965062021567e-05 +4043 0.00025766333602042014 -0.0010818825660690071 0 0 0 0.00045865191256879334 +4072 0.000413163054231295 0.0007377506976638686 0 0 0 -1.1738241081613702e-05 +4075 0.0014341347943382997 0.0004398055168988169 0 0 0 2.978864062031892e-05 +347 0.000579682814513629 0.0007649932310473527 0 0 0 -2.6859309991663325e-05 +166 0.001219214403332594 -0.0011839205505589992 0 0 0 1.586528719424363e-05 +9259 0.0008053873369133937 0.0006823085971190107 0 0 0 0.00016161932232910622 +4243 0.0007684588310148771 0.0006989754874078504 0 0 0 -2.9633325554554847e-05 +4266 0.00040970318388744474 -0.0005796621196002264 0 0 0 -0.00016039051119756884 +4289 0.0013868092682744488 0.0005156951845957746 0 0 0 -7.337370466497463e-06 +4326 0.0011468389591088458 0.0006116089240761994 0 0 0 6.2259549184425564e-06 +4335 0.0009182009470957263 0.0006075659190897126 0 0 0 3.5107295981687253e-06 +4337 0.0012896346488611118 0.00010194428642525958 0 0 0 2.5316275916327905e-05 +4345 0.0008924222509678392 5.41062531683224e-05 0 0 0 -9.092031349570625e-05 +4372 0.0010468891011511606 0.0006410825174217863 0 0 0 1.52847074281386e-05 +4377 0.0009943156663675817 -0.0007392184468388112 0 0 0 6.108006098177836e-05 +5961 0.0004668601062045154 -0.000666368691168769 0 0 0 -5.71942163838699e-05 +4401 0.000599229540350583 -0.0011432027431554999 0 0 0 4.5671692833924316e-05 +4439 0.0006291149688485803 0.0007558981979113365 0 0 0 -2.2473808689143783e-05 +7224 0.0011698605213548174 -0.0007712549629175962 0 0 0 6.146982032673708e-06 +4482 0.000993817414745598 0.00010701104632212843 0 0 0 1.9614813759487985e-06 +4485 0.0008271120759238255 0.0006200357968535962 0 0 0 -8.691506539232511e-07 +4505 0.001194105033138369 -0.0002591546056453403 0 0 0 -0.00010552030418082677 +4538 0.0011872286820991586 0.0004846249234337742 0 0 0 -0.00013756567939889213 +487 0.00016019542144378522 -0.0002728575093262154 0 0 0 -1.7888842848484071e-06 +4576 0.0006192196223233234 0.0006239349655769947 0 0 0 4.015500755226051e-05 +4594 0.0010522916555960756 0.000486522820426595 0 0 0 -0.00012718314419449045 +4657 0.0011846237998906508 0.0005642051056042902 0 0 0 -9.235145840094029e-05 +4666 0.0006819893976806711 -0.00015510141668949277 0 0 0 -0.00014151121869666113 +4514 0.0007580278363530623 -0.0014552928602686748 0 0 0 0.000733143135295986 +4708 0.0012101781952424148 3.435008236731491e-05 0 0 0 -0.0001351986590738687 +5713 0.001072147766381324 -0.0003859836840772462 0 0 0 -6.397997237331095e-06 +4760 0.0007604643020887715 -0.00030117030467754477 0 0 0 -0.0001625414929922258 +4810 0.0009598962153170144 -0.0008322902655719088 0 0 0 0.0001261785761271129 +4816 0.0006303108257698679 0.00010551817647269484 0 0 0 0.0002240327003607106 +4835 0.000866036919816469 -0.0003666868434512058 0 0 0 2.1493327996382274e-05 +4838 0.000853740942878969 0.00012350030042969387 0 0 0 0.00030920133360678954 +4848 0.0011362783657203974 0.0004008218987561431 0 0 0 -0.00011668156672820503 +4849 0.0010672713994153945 0.0001289807303069966 0 0 0 3.9511718551858986e-05 +8058 0.0007645762467953093 -0.0011492934238156475 0 0 0 0.00010689711402693312 +8053 0.0007828159250882652 -0.000993262781380607 0 0 0 0.0005424775864940907 +4896 0.0005471342485049553 0.0006280646047637828 0 0 0 3.6458357712148147e-05 +4897 0.0009249569837217131 0.0005758836771419119 0 0 0 2.0413225584798182e-05 +8814 0.0006224974483919108 -0.000569425980621712 0 0 0 0.00025369045465629183 +4988 0.0006254509907571943 0.0006358875792448602 0 0 0 -1.4501504386953415e-05 +5026 0.001355764799189917 0.00036327388147506146 0 0 0 -0.00020542103800334722 +5029 0.0009376987584012064 0.0005667703348375927 0 0 0 1.0407381752639498e-05 +8528 0.00113246006295345 -0.0005459218447897057 0 0 0 -4.8331300581183284e-05 +8167 0.0005526984953134384 0.0007011607171826653 0 0 0 -2.1468877828330034e-05 +5067 0.0004639174041484237 0.0005068121792771845 0 0 0 3.1363482229132566e-05 +4920 0.0006445400002280744 0.000808805108049076 0 0 0 -4.3901163587051307e-05 +5091 0.0007451910523241373 0.0003508121506864414 0 0 0 -0.00010654532440859938 +7606 0.0008620203104598538 0.000711733975038899 0 0 0 0.0001364040428133004 +7203 0.0009757881175705724 0.00066864724528229 0 0 0 1.5596449691310713e-05 +5162 0.0006201770247082395 0.0005938030060317669 0 0 0 1.1635513213135891e-05 +5193 0.0013665488663908232 0.0004821076933070951 0 0 0 -1.4967816916035571e-05 +5196 0.0005238119732826972 0.0004814921978689419 0 0 0 -8.881299914150269e-05 +7975 0.0004255965273227019 0.0007448210526438511 0 0 0 -3.417016627202516e-05 +5219 0.0004615450264437196 0.000510110978548006 0 0 0 -9.671957225447806e-05 +5223 0.0008681183721201241 -0.0004775026761713069 0 0 0 0.00014030285400916634 +5234 0.0007106366714993252 0.00027776813942243975 0 0 0 2.5061164411723503e-05 +5244 0.0005984783086797259 0.0005177946415643234 0 0 0 5.417065985560858e-05 +5273 0.0011263264653956714 0.0006355169436473603 0 0 0 0.00010021529957833404 +5314 0.0006377100632445747 -0.0010454075616840562 0 0 0 0.00015977604891017098 +5333 0.0012756081870365329 -0.00020642821010081127 0 0 0 0.00011742336992233901 +5351 0.0005586542661716131 0.0007782742504902555 0 0 0 -6.335106595152698e-05 +8868 0.0011262819165011127 -0.00040177942979742525 0 0 0 0.00021476066747828622 +5412 0.000967127875124227 0.00027181373469744896 0 0 0 -4.3551876128224884e-05 +5470 0.0006165721210686521 0.0005012994455255619 0 0 0 9.337657242786574e-05 +5479 0.001213860693109473 0.0006421729382735612 0 0 0 3.452280817169563e-05 +495 0.0007601031027565043 0.0007559358649896945 0 0 0 -1.727162826548066e-05 +9146 0.0007730787554513646 -0.0005574801774840879 0 0 0 0.0003038039111053119 +7786 0.0010743599991224892 -0.0006492445792916938 0 0 0 -0.00016048780665628228 +5581 0.0006898246504416606 0.0006634167921553014 0 0 0 -2.2095636803167914e-05 +5582 0.0012070297693559078 0.000539161707475192 0 0 0 -6.379114105505218e-06 +5604 0.0013327448082513212 0.0005154473871285508 0 0 0 1.8977087186283417e-06 +5617 0.0013822369385656848 2.90827560558482e-05 0 0 0 0.00012865112243931693 +5662 0.0010013274464986028 5.824315409435042e-05 0 0 0 3.30022515542288e-05 +2610 0.0011035882082445216 -0.00018249513782255563 0 0 0 7.514486830123374e-08 +5740 0.0006585892040883156 -0.00024180486904773233 0 0 0 0.00014928509151466692 +5758 0.0008235220373832286 -0.00030054454416090235 0 0 0 0.00016914908650223046 +5762 0.0012352091483798541 0.000613636801038118 0 0 0 1.4233966249309338e-05 +5782 0.00048530983904891017 0.0005067401467218191 0 0 0 4.7483759125533544e-05 +5785 0.0010869215873760417 0.0001286243267306376 0 0 0 -6.639118268928253e-05 +2406 0.0003214732763121484 -0.0007319318245744095 0 0 0 -2.3780696678011307e-05 +5864 0.0011078457137723124 -0.00027663788660652256 0 0 0 1.8600124690536635e-05 +5876 0.0011649866464933643 -0.00028891565278732864 0 0 0 0.00025184019046547865 +5888 0.0012993167741416614 0.0005665889219229227 0 0 0 0.00019135791782878763 +9973 0.0008573882935895532 -0.000523210554244975 0 0 0 1.7850509582251054e-05 +5924 0.0008875131089397566 0.0006487158863145376 0 0 0 4.8510343517565726e-05 +5930 0.0004614971762084732 0.0002567779548776362 0 0 0 -9.479159160285964e-05 +6581 0.00046312892784044666 -0.0007771806067876405 0 0 0 -8.24528886352104e-05 +8972 0.0006369987885896325 0.0007976343321745892 0 0 0 1.2595316449957745e-05 +5963 0.0009335735021735478 0.00047228711991067275 0 0 0 7.060839984437935e-05 +5974 0.0013606451896230698 0.0005258365590261756 0 0 0 -5.9242916317363945e-05 +6000 0.0008382125569591131 -0.0003417171201907594 0 0 0 9.1365704771552e-05 +6017 0.0008296939724284538 -0.0007211832337790436 0 0 0 0.00024733598675309536 +5259 0.0011162796846575544 -0.0008581141919042774 0 0 0 2.85027181461853e-05 +6089 0.00034464642167636667 0.0008667717268294554 0 0 0 -4.937205023642099e-05 +6098 0.0003262991867646515 -0.00037246845139178906 0 0 0 -0.000482307483653662 +6163 -0.00012292889936365038 -0.00016727293626617423 0 0 0 0.0006454520308915679 +6197 0.0003997238369189023 -0.0015795727238100095 0 0 0 0.00011436067018022777 +6206 0.0012449331362975181 6.971550096716033e-05 0 0 0 0.00011991466709299616 +6231 0.0008426698842451375 -0.0007673992628878668 0 0 0 0.0001532335909760891 +2549 0.0005772772242306889 0.0008127667966009642 0 0 0 6.4820365715576456e-06 +6320 0.0011173132589460467 0.0006306339027324272 0 0 0 6.886210245131717e-05 +6326 0.0004765216738886135 0.0005374898022546952 0 0 0 -7.458356743229648e-05 +6350 0.0008643863513034623 0.0006648159287242312 0 0 0 0.00013362898250912706 +2286 9.446017571053161e-05 -0.0007934962359040976 0 0 0 -9.604595378998778e-05 +6430 0.0008237363106592321 0.0006538610733356122 0 0 0 -7.073939117979179e-06 +6543 0.0009417078407106649 -0.00048060915790580524 0 0 0 8.603613099402444e-05 +6574 0.00045378543559882584 0.000607677860754462 0 0 0 9.031402300514705e-06 +2203 0.001152432292756669 -0.0007395795171420855 0 0 0 3.199504462705533e-05 +6657 0.0009704303890597644 -0.00021105486011086465 0 0 0 6.011083714055039e-05 +6739 0.0010049551498154047 0.00011585703027315449 0 0 0 -2.9960575404084156e-05 +6745 0.0008727106182099962 -0.00026114789696155016 0 0 0 6.591591723361294e-05 +1452 4.917917901900311e-05 -0.0006766940835224059 0 0 0 -2.222949074796661e-05 +6782 0.0010195933334636665 -0.0009020509217513105 0 0 0 0.00022065232113975948 +6828 0.0006791130796044471 -6.743426486673619e-05 0 0 0 0.00041030356158230273 +6842 0.0009284810579517398 -9.05952956264269e-05 0 0 0 7.948902901710516e-05 +6905 0.0009282905798690049 -0.0007524840868858109 0 0 0 -0.0003986110044487642 +6930 0.0004459683145718242 0.00014796474898689263 0 0 0 0.00017779498523788382 +6942 0.0007795283395877404 -0.0005635264294490655 0 0 0 0.000845012083348738 +6943 0.0009004497127657246 0.000272603130839218 0 0 0 9.921400534896231e-05 +6956 0.0011164960060357067 -0.0007652436953529805 0 0 0 -2.2114558751591804e-06 +6959 0.0008558537390043941 -0.0005748499860568281 0 0 0 6.368437774644711e-05 +6985 0.0006432072375257361 0.0006966079100472371 0 0 0 -8.999726164036608e-05 +6989 0.0005701500681984955 0.0006168526102904836 0 0 0 7.720447542848701e-05 +6990 0.001021234276185123 0.0005902376513620003 0 0 0 -0.00013774261487391388 +7015 0.000632507497872097 0.0005642083015612515 0 0 0 -1.0674656175173572e-05 +1615 0.0011532078804138658 -0.0006058955705743433 0 0 0 1.490208657640192e-05 +7022 0.0006719717064982591 -0.00017594147464117848 0 0 0 -0.000235999655868135 +7054 0.0008627817462952111 0.0004907786444899503 0 0 0 0.0006420526661363465 +7141 0.0007466748403894659 0.000616874995475973 0 0 0 -3.5249823119384895e-05 +7149 0.0010636587555297053 0.0004189883790836758 0 0 0 -6.558125123451477e-05 +437 0.0003831209706786702 0.0007356729051776947 0 0 0 -2.5478414763434354e-05 +7229 0.0008901872170039887 0.000570729497668768 0 0 0 6.804035498350668e-05 +7230 0.0008736122121931637 0.0004580424262856165 0 0 0 -1.1647948372195387e-06 +7248 0.0009077333781748304 0.00031903883108418325 0 0 0 -4.073609365830834e-05 +7253 0.0006112281705099012 0.0005900048812418631 0 0 0 2.517903305538329e-05 +7308 0.001140186885139469 0.0005014560335019802 0 0 0 1.9765889095926366e-05 +7345 0.0010724523368598519 0.0002971884014729134 0 0 0 0.00044733159817073357 +965 0.0010627582960836897 -0.0005609047720133394 0 0 0 2.4416110764168245e-05 +7385 0.0008189697410649632 -0.00025876247961081856 0 0 0 0.00019088822157521822 +7386 0.0007778136019164737 0.0006601589021595747 0 0 0 -1.312760719073829e-05 +7417 0.0005919689408488137 0.0006205229341765221 0 0 0 -1.355210481672982e-05 +7427 0.0007933812615724043 0.0003235780358741355 0 0 0 -6.241708761863229e-05 +7441 0.0008817236574967507 7.71496095108867e-05 0 0 0 0.0001580089987208287 +7452 0.0006191705286549478 0.0007476881133116213 0 0 0 -3.284465342871351e-05 +7467 0.00103689017703617 -0.00016947024512596563 0 0 0 0.00012348936285448253 +7479 0.000993191015354585 -3.0331037730868155e-05 0 0 0 9.820153954900731e-05 +7520 0.0011141813157794157 -0.0009595156187563237 0 0 0 -0.000493272004479786 +7546 0.0011217640952261773 0.0006011119935330247 0 0 0 7.944640299658757e-05 +9319 0.0009675771586855498 -0.0011555753367072739 0 0 0 0.0001418920782801264 +5242 0.0004404796320373893 0.0009104494199078583 0 0 0 2.4330280123910868e-06 +682 0.0012213894880666266 -0.0011228462520576326 0 0 0 1.5741515385063603e-05 +7609 0.0013231737078186624 0.0006092947158163329 0 0 0 -4.8437075087002246e-05 +1225 0.0005482398829672255 0.000813912652919002 0 0 0 -2.9082182468640048e-05 +7729 0.0008900519730786919 -0.00015374646263137227 0 0 0 0.0001436543452587961 +7731 0.0007040575025078993 -0.00020797920823855786 0 0 0 2.957587104000714e-05 +7753 0.0013069322149747962 0.0005558674620806087 0 0 0 0.00014728215700266834 +9016 0.0009709230655305271 0.0005797650426569041 0 0 0 -3.5305512317416024e-05 +7801 0.00048610748955632137 0.0006361686472829724 0 0 0 4.448345665460209e-05 +7807 0.0007039569124653632 -0.0005059802639536388 0 0 0 0.00013314101258921974 +7838 0.0006661373635375698 0.0005827516286853749 0 0 0 -0.00013122663068822064 +7863 0.00037463185836789 -0.0004607780916228214 0 0 0 0.00014129370254830354 +7927 0.0014695741613762392 0.00032741876338624306 0 0 0 0.0001599095943421003 +4107 0.001133243463863566 -0.0007132626092017434 0 0 0 3.059743976875233e-05 +7949 0.0008725680996337789 -0.0004713069824233335 0 0 0 6.819507045866964e-05 +7969 0.0004687587144907586 0.00023946639196781067 0 0 0 -3.1232816494782926e-05 +8067 0.0009381228920967367 0.0006159392702998913 0 0 0 -1.6276553471565065e-05 +4100 0.0011111189444664067 -0.0008506926155978538 0 0 0 4.682596129744528e-05 +8625 0.00022877580179291848 -0.0010272042308610045 0 0 0 -0.000325133107927993 +2851 0.0006123221279012192 0.0008591965903666146 0 0 0 3.6302833794214295e-06 +8172 0.0005717916995714572 -0.00016821571855344728 0 0 0 -0.00038381933757274626 +4587 0.0006539962460588501 0.0007872915738706007 0 0 0 2.26075091644932e-05 +4101 0.0006727379544327898 0.0008108928478790349 0 0 0 -8.614118426363706e-06 +8246 0.0006476193695978407 0.000740452431288883 0 0 0 1.639744699144399e-05 +9123 0.0011069200473958708 0.0006471234379442597 0 0 0 4.6712226250216185e-06 +1801 0.0010121261234876714 -0.0006970844635013352 0 0 0 4.600271350174539e-05 +8292 0.0008175376698786847 7.174234163077538e-05 0 0 0 1.921255833424273e-06 +8293 0.000871939022869619 0.0006330686658322724 0 0 0 -7.399954051778067e-05 +8299 0.0006073319245741684 0.0006188151991782794 0 0 0 -2.212664632209124e-05 +8288 0.00031828869014464365 -0.0007546219702163156 0 0 0 0.00013318551231983743 +6122 0.0004887715456430278 0.0008360336786214146 0 0 0 -2.592459767113235e-05 +8390 0.0006038873479641773 0.00020034860276307344 0 0 0 0.0005717259053097264 +8398 0.0011754984973007978 0.0006151755670067471 0 0 0 4.165057066542742e-05 +8415 0.0007311647009928824 0.0006583709714218199 0 0 0 -5.693063538409527e-05 +8483 0.0009365206600467757 0.00046514986848382103 0 0 0 -9.232288090416591e-05 +8534 0.0013103203791819875 0.00046162216608578 0 0 0 -0.00028959464080522047 +8561 -0.0004717060851329466 -0.0002285401412135935 0 0 0 0.00029958684328349204 +8610 0.0009912820130437954 0.0005357014172118291 0 0 0 -3.548046150863886e-05 +9678 0.0006016869452194853 0.0007432411158362445 0 0 0 -2.0509219079485493e-05 +8651 0.00102253988981573 0.000280029501384076 0 0 0 8.43557476980136e-05 +8671 0.0006683504032538717 0.0006640007933475464 0 0 0 -1.7854107647904576e-05 +6003 0.0003348258519727741 -0.0006545169246284358 0 0 0 -9.49582122283451e-05 +6124 0.0011900795672772795 -0.0011355493089058573 0 0 0 6.043945732494571e-06 +379 0.0010336287688703677 0.0006405256782555356 0 0 0 -4.443730224283838e-06 +8893 0.000627303922882577 -0.00031094704310108607 0 0 0 0.0007576146866979644 +777 0.0004622484677641735 0.00087322747390002 0 0 0 1.4068345669176108e-05 +8945 0.001464394819958483 0.00042447502134480624 0 0 0 -6.775381424860773e-05 +8967 0.0011148510261835055 -0.0003488496261558187 0 0 0 -3.307058313664056e-06 +8973 0.001206090530645807 0.0006569407309934238 0 0 0 7.853317249107076e-05 +8907 1.4809029816622675e-05 -0.0007425738504879652 0 0 0 -0.00032613846203163145 +9035 0.00036715719581603494 0.0007351047661493811 0 0 0 7.484113016856756e-05 +7924 0.001113265293698971 -0.0006227337984326874 0 0 0 -3.994277301716122e-05 +9072 0.0008561889486513654 0.00048004106511752444 0 0 0 -2.16479345253239e-05 +9089 0.0009116686625788333 0.0005437675017557133 0 0 0 -8.912755064842087e-06 +9096 0.0009098158450163472 0.0005735174906085466 0 0 0 -8.047868169280728e-05 +1354 3.682140560716393e-05 -0.0006095525104778167 0 0 0 -4.289827212315811e-05 +9191 0.00043634310096631545 0.0005379248051441295 0 0 0 0.00020312725043913085 +9221 0.0009237087788980048 -0.0005074294420204939 0 0 0 -9.069816383249129e-05 +5940 0.0003467435253925243 -0.00015944381946365494 0 0 0 -0.00021937698922088337 +9241 0.0010229471872133344 4.571138950590943e-05 0 0 0 -5.673428933080491e-05 +3893 0.001149107629227006 -0.0007557000146026042 0 0 0 -3.03539548074016e-05 +9299 0.0011590592563784396 0.0006304698222022523 0 0 0 5.4716347270371756e-05 +9306 0.0009864447736608938 -0.00014617879315976663 0 0 0 0.00014237956029494777 +9318 0.0011023164991486175 0.0006231623924060141 0 0 0 -3.200851255430209e-05 +9333 0.0008443467285950532 0.0006883510674503986 0 0 0 -0.00013146296692757308 +7359 9.496389398291378e-05 -0.0007795695831797228 0 0 0 -0.00011140322447046906 +9356 0.00043534853478947264 0.0002404281204325556 0 0 0 6.057499362310026e-05 +4005 0.0007815927001108799 0.0006974109323777747 0 0 0 -2.087726081697961e-05 +9392 0.0006361341142438052 0.00047879767618624495 0 0 0 -1.3126648060059681e-05 +6333 0.0010033519433623687 -0.0006191108688290343 0 0 0 -0.0001793340718172149 +9435 0.001337470792037693 0.0005267341607720624 0 0 0 4.966519975913623e-05 +9461 0.0011451278633613808 0.000635447122544669 0 0 0 2.2045173309951795e-05 +6306 0.0006666322651851479 0.0006950244521551676 0 0 0 4.451088910565751e-05 +9520 0.0008079439354023355 -9.947782244848244e-05 0 0 0 0.0001227435573703576 +9558 0.0007885237352771814 0.0005310205727550951 0 0 0 -1.782455438444727e-05 +9565 0.0010287538103713452 -1.9004179913210675e-05 0 0 0 -6.357634269182037e-05 +4069 0.0011842567468936397 -0.0011354056691981471 0 0 0 0.00023434057897612232 +9582 0.0009519795731042977 0.0005785172478831083 0 0 0 -8.75323837422192e-06 +9648 0.0011876600111412386 0.0005401041916075395 0 0 0 -1.5180447914223456e-05 +980 0.0008603285073268778 -0.00047445452058315527 0 0 0 8.13899475940335e-05 +9660 0.0011306382922895478 -0.00023813029058521417 0 0 0 1.2176042653314537e-05 +4728 0.00029161963713028024 -0.0008926108363086651 0 0 0 0.0002385172838007595 +9681 0.001215308265902886 1.2331593199410966e-06 0 0 0 0.0003752037668922175 +9696 0.0005744481117122239 0.0005875940701235898 0 0 0 -3.0387160019013233e-05 +9699 0.0013681171763440234 0.0005012581449299075 0 0 0 -1.3775334388534135e-05 +9730 0.0005669969284594748 0.00046762316101213073 0 0 0 5.097638219236464e-05 +9741 0.0007657028520555864 0.0006260736617656027 0 0 0 1.5927025549491933e-05 +9798 0.0011824311051340894 0.00057843383795839 0 0 0 -6.474220742733755e-05 +9802 -0.00029588817476571244 -0.0012293214641562193 0 0 0 0.0013225925087247052 +9811 0.0009397262085550687 0.0005408898754652639 0 0 0 -5.186320822228484e-05 +5046 -0.0009273967788890185 -0.0009466688627539671 0 0 0 -0.0003225384114112174 +9832 0.0009052507644230388 0.000642515204784736 0 0 0 -4.850323413313716e-05 +9907 0.0006561524951524824 0.0007170890669230128 0 0 0 5.521891130344009e-06 +9920 0.000965845836534191 0.0005528327233090726 0 0 0 5.8242433720667246e-05 +9057 0.00042682695518256417 0.0007135142497710632 0 0 0 0.00012893455690966217 +7558 0.0006022460559998309 0.0008088082404458247 0 0 0 2.0179898262202523e-05 +7749 0.0007041630158756188 -0.0013227940077416276 0 0 0 0.0002296107580305148 +5778 0.0008987835688615658 -0.00039766484403558474 0 0 0 1.116473239413118e-05 +3534 0.0007659681320194938 0.0007308128859412967 0 0 0 -1.2415569123954004e-05 +186 0.0011076573661158713 -0.00028828760484700123 0 0 0 2.186119479798502e-05 +8375 0.00033431660329419816 -0.0009734484276184332 0 0 0 0.0005429259973321738 +9598 0.0012923399580144952 0.00019405184964636419 0 0 0 0.0003379830465692486 +85 0.0006648077713683276 -0.0003350635128354931 0 0 0 6.440635809749334e-06 +6750 0.00022044795673315865 -0.00029792931542753126 0 0 0 -0.00038190212008581395 +300 0.0006595012521635249 0.0007575050829413068 0 0 0 -8.806492333257143e-06 +2752 0.001256940269192469 -0.0004471278755635826 0 0 0 3.297634070694187e-05 +9042 0.0004895915565950625 -0.00037042908582275334 0 0 0 0.0007973424164842549 +2051 0.0010942050165462516 -0.0008529810662591057 0 0 0 2.5256614222122406e-05 +7679 0.0010210080355126101 -0.00025627998454867603 0 0 0 2.614000836555769e-05 +5727 0.0011321284012937452 -0.0003126243065836947 0 0 0 0.0001236853452098628 +9496 0.0008043034988064394 0.0006770425830324051 0 0 0 -1.036201430899156e-05 +7935 0.0008653451215904437 -0.0005433247192156455 0 0 0 -8.470559415325108e-05 +3502 0.0003361888870659513 0.0009108536691636638 0 0 0 4.619598977917087e-05 +5467 0.0006384192930736424 0.0007587062280786185 0 0 0 -1.049497553690717e-05 +2634 0.001034160806726117 -0.0004164452037433346 0 0 0 -2.360729049834457e-05 +5846 0.00046280604720300617 -0.00218739146103951 0 0 0 -0.0010275251711612783 +1802 0.0008528896920938676 -0.001185959442891535 0 0 0 0.00011533647318479287 +2181 0.0012050647323236146 -0.0011974592113920975 0 0 0 -5.929874943315045e-05 +2745 0.0003727714823060567 -0.0008904323919500549 0 0 0 -5.775871988856065e-05 +3497 0.0006507942794798484 0.0007266833099552661 0 0 0 -1.7047184428296888e-05 +6815 0.0006107170015400492 -0.0017137147562281828 0 0 0 -0.0004348353748554215 +617 0.0011812829067366054 -0.0012280872143122636 0 0 0 3.690528129341721e-05 +6962 0.001164159621740616 -0.0011340941703176892 0 0 0 -0.000368111441436273 +5206 0.00020809764022681538 -0.0004428112521607369 0 0 0 7.470138911039506e-05 +1971 0.0012179835229095177 -0.0010166712674695398 0 0 0 0.000104536573250929 +733 0.0011042921927577097 -0.0005487512764058763 0 0 0 3.0829030111537625e-05 +9238 -0.0007603171235332612 -0.002326362957840015 0 0 0 0.0004715050281540878 +3159 0.00011301644577252136 -0.00022473819421704833 0 0 0 7.33536192539787e-05 +7251 0.0006775298720058632 0.0006937812493122316 0 0 0 -8.880602626791519e-05 +1434 0.001067925135534584 -0.000613493538177955 0 0 0 -2.745683828633905e-05 +3176 0.001148150892357261 -0.0006542672095705326 0 0 0 2.8857980389156364e-05 +6813 0.0012232358079489554 -0.0009684378329427082 0 0 0 0.00014741866936882246 +1543 0.0006166652280443582 0.000692188813702845 0 0 0 -2.9252821503270704e-05 +4490 0.001106226843980399 -0.0005935403557915139 0 0 0 -1.092694704325488e-05 +1489 0.0011082874248403748 -0.0007382531486185666 0 0 0 2.439430185354131e-05 +6834 0.0005478279406617064 0.0006944991410746154 0 0 0 -1.863506119898485e-05 +6598 0.0006864881146061535 -0.0015439385298761077 0 0 0 -0.0005672985186417973 +1141 0.00045631556845836013 0.0004773322932602485 0 0 0 -3.6422498658067307e-06 +5561 0.0007761059755815987 0.00024570545710361595 0 0 0 -4.435355847472063e-05 +6664 0.001132722202885496 -0.0006374468873909214 0 0 0 3.2483727033391613e-05 +5042 0.0008298712811092389 0.0006985867364373432 0 0 0 2.8873224598681077e-05 +7247 0.0012061261920741477 -0.0008204125977922765 0 0 0 3.0652723368424755e-05 +4556 0.0011891077575846632 -0.0007569712400650973 0 0 0 2.9291623938303345e-05 +1716 0.0009971065351631941 0.0005996505533801167 0 0 0 -7.863611350677218e-06 +8278 0.0006935412377485138 -0.0013137550094672204 0 0 0 -0.00011256953808257646 +6679 0.0012427096193166826 0.00023160900804616088 0 0 0 1.1950255616457626e-05 +52 0.0013134794362078081 -0.00034845066619638906 0 0 0 3.222118096116543e-05 +66 0.0014108490014049738 -0.00028096572461825124 0 0 0 3.4476484391894765e-06 +103 0.0013485208637132754 -2.6043477935014764e-05 0 0 0 1.2389300924548771e-05 +107 0.0011968213234495348 -0.0005849703340388058 0 0 0 2.2934767989519355e-06 +9992 0.001251057526636732 -0.0008212467524751387 0 0 0 -1.8426029284598116e-05 +136 0.0011231715131718464 -0.0008501161244448614 0 0 0 3.191705884539392e-05 +142 0.0011492580116165886 5.848853298825681e-05 0 0 0 -6.268678216934912e-06 +171 0.0011491731655663478 -0.00029093106165669014 0 0 0 1.4283404308223098e-05 +456 0.0012979843208542816 0.0005273781614816489 0 0 0 7.741787473165661e-07 +193 0.0012453761746541205 4.350140486876261e-05 0 0 0 -4.721329482855431e-06 +203 0.0012407980687250471 0.00018038944919259475 0 0 0 1.8345386984448997e-05 +4440 0.0007707738430662997 0.00022228273074062792 0 0 0 -0.0010395801537434967 +212 0.0011410016541969917 2.776017719250265e-05 0 0 0 2.56302453867072e-05 +8957 0.0012893563498770494 0.00023679501454038353 0 0 0 -1.7418047969017974e-05 +231 0.0012549362983916557 0.00016114959070858412 0 0 0 1.1153496921564349e-05 +7659 0.0012756341990733304 0.0006512864247760815 0 0 0 0.00014995748891356666 +5661 0.0012146126666283264 0.0002447896350751698 0 0 0 7.055110449350273e-05 +348 0.0011002649834265274 -0.00033769504710927194 0 0 0 1.3524006578494996e-05 +392 0.0011132174329134957 -0.0005518384192473483 0 0 0 2.5281728882195808e-05 +396 0.001422333376475789 -0.0005087323101625361 0 0 0 3.2323586100310824e-05 +6605 0.0012080909373072856 0.0003410177727264769 0 0 0 -5.313474565121161e-05 +7472 0.001334731438351485 0.00019772892196862426 0 0 0 7.601936032365457e-06 +502 0.001147563314236847 0.00019789866331950065 0 0 0 9.877914595621455e-06 +533 0.0010872898838241718 -0.0006386006034165665 0 0 0 -6.550700743170083e-07 +554 0.0011322170159063449 1.0128056291984427e-05 0 0 0 4.5079431023705896e-05 +6560 0.0012496496907881004 0.0002373073296310318 0 0 0 -7.572121433135051e-06 +573 0.0012575866593162544 9.176391924612213e-05 0 0 0 2.0304356522487984e-06 +591 0.0012397970093013537 -0.00030951922717410544 0 0 0 -4.049970255830485e-05 +592 0.0014163424419257134 -0.00032967163821344034 0 0 0 4.7309332947834874e-05 +8861 0.00032477305312189 4.4719691138584145e-05 0 0 0 0.0006542740105703309 +635 0.001453499167868093 -0.00048425711387882134 0 0 0 4.7989775888874814e-05 +686 0.0013489331543295334 8.821065165582934e-05 0 0 0 1.4148483463078539e-05 +688 0.0012144887891545459 0.0001605095977913561 0 0 0 2.2799206128200188e-05 +7367 0.0012962087271909156 -0.0008395047336961525 0 0 0 4.511349687065955e-05 +785 0.0011698058905123812 0.00033142447264376194 0 0 0 2.3235657534784894e-05 +806 0.0012476173842530332 0.0003158884407453262 0 0 0 1.0753312643211545e-05 +807 0.0013925677425920277 -0.0001595427471641559 0 0 0 3.7551201024643326e-06 +828 0.0012731207199424015 0.00045821526704281363 0 0 0 1.8342670766373843e-05 +830 0.0012441790654640448 0.00034648752768680737 0 0 0 3.1206145536592406e-05 +8109 0.0015455416077490704 0.00045453485531562554 0 0 0 0.0001230554257162304 +864 0.0012436780156937384 -1.1692498164782016e-05 0 0 0 3.021273358022985e-05 +894 0.0013566385046245508 -0.0001151029531753626 0 0 0 2.612856416036548e-05 +7458 0.0013050303596459677 0.00044941306352548486 0 0 0 7.740760476411015e-05 +693 0.001324288243395991 9.278789547595813e-05 0 0 0 3.5247670756015956e-06 +934 0.0011696822174217048 -0.0004001933958577913 0 0 0 5.6735954921728617e-05 +937 0.0012453420051118278 -0.00024535767417377993 0 0 0 -0.0001152661876241013 +4064 0.001244021819910359 0.0003710179193378868 0 0 0 -4.804380444829167e-05 +991 0.0014767874303080214 -0.0005982167199390004 0 0 0 2.748341224239032e-05 +1022 0.0012689970846996603 -0.0001798626115944045 0 0 0 4.720312562623933e-05 +1390 0.0013576222498117676 -0.0007537538374227633 0 0 0 4.1333878843846545e-05 +1071 0.0013218748825289447 0.0001586031349613767 0 0 0 3.275476279580908e-05 +335 0.0013246556960111048 0.0002252236824340591 0 0 0 4.8537928127041225e-05 +1108 0.0012902246665649581 5.4428114113267326e-05 0 0 0 -1.592612978070184e-05 +1136 0.0013180405694666734 0.0005067374174207183 0 0 0 1.5020657041926441e-05 +1198 0.0010701935399062333 -0.0001412159043932786 0 0 0 3.6420513726078584e-05 +3627 0.0011178604954410313 -0.0004189614729118059 0 0 0 -3.649815035677344e-05 +5226 0.0013160690991660718 -0.0005944189056340335 0 0 0 -2.077722347531644e-05 +1320 0.0012647821930312623 7.80588323614077e-05 0 0 0 2.1864105140565565e-05 +1348 0.0013502021018992698 -0.0005632244950631916 0 0 0 -7.689477715369465e-05 +1381 0.0012032488285269676 -0.000761754210582507 0 0 0 2.775471074222857e-05 +1409 0.0014422669086456292 -0.0004715687634723856 0 0 0 7.839242828634515e-05 +1410 0.0012071176151856485 1.713350106067769e-05 0 0 0 3.800148772432667e-05 +9576 0.0012884214841058874 0.00055094088534996 0 0 0 5.616320473784058e-05 +1447 0.0011869771410679228 -3.88726135538767e-05 0 0 0 -3.9336599692943745e-05 +1485 0.0011701447557180549 0.00020002564975974083 0 0 0 -1.1305186119622041e-05 +2831 0.0012314114226039995 -0.0004187891895381242 0 0 0 6.243396563284197e-05 +3444 0.001274646813949185 0.00018371674843898207 0 0 0 2.769452685665627e-06 +1504 0.0012917821537841397 9.89219955367202e-05 0 0 0 1.496755714257189e-05 +4877 0.0012826108866500542 0.00024048907410921324 0 0 0 3.648508858075059e-05 +1537 0.0012791735501430901 0.0004609007769838177 0 0 0 8.405333906224789e-05 +1588 0.0012456352002357235 -9.111264184721144e-05 0 0 0 2.3595958782594026e-05 +4559 0.001461553813947291 0.0003755306572842634 0 0 0 7.959747188454186e-05 +1599 0.001272166043230247 0.0003801353953469773 0 0 0 2.014182560750575e-05 +8608 0.001300265534640062 -0.0004560280326982484 0 0 0 6.901406915182817e-05 +1635 0.0014343556935291126 -0.00028588847871536237 0 0 0 -1.0203650997748603e-05 +1636 0.0014549066091599481 -0.0004884633150493303 0 0 0 3.088256148788384e-05 +1664 0.0012364731611068294 0.00015963508126542423 0 0 0 -6.668343181942771e-06 +1685 0.0012889673845056782 6.521718660014047e-05 0 0 0 -2.6498653802952698e-05 +1714 0.001140815446038569 -0.0002104220865104481 0 0 0 -3.789566960841152e-05 +1780 0.0011446477992293732 -0.0005525588523792772 0 0 0 2.9699447235550736e-05 +912 0.0013447249625409441 -0.00102467658102638 0 0 0 1.0381869674456938e-05 +9860 0.0012390349477550487 0.000279533724366604 0 0 0 7.783055466584132e-06 +1804 0.0011005606753739733 -0.0005828951846378922 0 0 0 -2.217102881360554e-05 +1805 0.0012919735543000935 3.1820671844320896e-05 0 0 0 6.1418439638820575e-06 +1813 0.0011575821431861933 -0.0003518971064797709 0 0 0 5.920489273803469e-05 +1827 0.001191163925274301 -0.0003257126946896371 0 0 0 4.4318863637020175e-08 +4534 0.0012953601559581966 0.00045877581182281917 0 0 0 2.599514280974377e-05 +8881 0.0013372691682571728 -0.0007500039393560869 0 0 0 -4.475305962302409e-05 +1970 0.0012268482748415061 -0.00045665608521181926 0 0 0 -1.5746752293907526e-05 +9533 0.001337512239911562 -0.00047174582656815006 0 0 0 -4.841576220500384e-05 +2083 0.0013752460209136305 -0.00011030607687923709 0 0 0 1.3756816193884661e-05 +7173 0.00128830560934158 0.00022978158275336504 0 0 0 1.1615176684964022e-05 +2124 0.001246266887795027 0.00034038353077661676 0 0 0 4.623935622641648e-05 +2125 0.0010634923545195976 -0.00027284773961741186 0 0 0 1.673323019862479e-05 +6251 0.0024889017528153838 0.00028201883990734125 0 0 0 -0.0017439734465236518 +9876 0.0012456621025894459 0.00022388229603343456 0 0 0 0.00022322372094072957 +2723 0.0012056612783863854 0.00019649444602648264 0 0 0 5.8049658255222465e-05 +2182 0.0011843117676064272 -0.0002187683772839595 0 0 0 -7.254113004578948e-05 +2183 0.001287574571476176 -3.318587113976349e-05 0 0 0 -8.37771098404659e-06 +2187 0.0014553000130240604 -0.00047678624265102957 0 0 0 -6.254012940643854e-06 +1954 0.0012791853797719207 -0.0010495460494104603 0 0 0 6.759508967795722e-05 +2213 0.001258731076070826 0.00015783541725364233 0 0 0 1.9470931802600833e-05 +2223 0.0013994060739870166 -0.0005630329796617984 0 0 0 7.476474055021226e-05 +2230 0.0011805898257367697 -0.0010961677891979174 0 0 0 -7.983226242254067e-08 +7397 0.0012496517565046322 0.0003520654302874761 0 0 0 -1.2810608683130948e-05 +2343 0.0011524953175989607 0.00021145003033461643 0 0 0 2.0996775160939083e-05 +2344 0.0013134016308289365 -0.0004759601028073621 0 0 0 1.3789967071502298e-05 +2366 0.0012052324746905983 -0.00031466092735561545 0 0 0 1.2974424893775013e-05 +2369 0.001177737448119834 0.00035413159099835907 0 0 0 1.9459245549411748e-05 +2388 0.0012166743223223139 -0.00013932891780942165 0 0 0 4.451747191316808e-05 +2426 0.0011634205532109656 -9.339214193840943e-05 0 0 0 2.421043899126129e-05 +2580 0.001236599979595376 0.000373923525073198 0 0 0 6.244647758535022e-05 +9270 0.0012890535614420422 0.00024123733615649266 0 0 0 1.5523178504139076e-05 +6315 0.0013756887410539442 4.496566404476495e-05 0 0 0 -1.926342403320702e-06 +2674 0.001215350229630386 -0.0003215827695431811 0 0 0 4.6319769185257425e-06 +2718 0.0012207616919612824 1.301265625686614e-05 0 0 0 5.353008411747243e-05 +2727 0.0011557847596193591 -4.0043508182273425e-05 0 0 0 6.173019881089423e-06 +9416 0.0013052869455096284 0.0005391407877699551 0 0 0 3.7718101025772085e-05 +2759 0.0012468231335316705 7.97032547508229e-05 0 0 0 1.9458655989446925e-05 +2764 0.0013703315788276334 -0.00022857041972809632 0 0 0 7.544511207190485e-05 +2175 0.0013732338034878264 0.0005409961279168166 0 0 0 3.971567241701442e-05 +2806 0.001261936396398755 -0.0003126730936381103 0 0 0 -4.054942956886618e-05 +6043 0.0012833848671365007 -0.000822119403072701 0 0 0 -1.6073747396711327e-05 +2864 0.001367409390941587 -9.51307140896139e-05 0 0 0 9.270523674655571e-05 +2913 0.001315676397399095 0.0005791748731522875 0 0 0 8.76368621086467e-05 +2946 0.0012913664897859726 -7.943087208188978e-05 0 0 0 2.6042953955877998e-05 +2969 0.0012651614040601349 0.00017054057995133997 0 0 0 -9.134216952390045e-06 +195 0.0010895325499157772 0.000288554306050319 0 0 0 7.364384786191354e-06 +3042 0.0010708596774504718 -5.593546822305511e-05 0 0 0 1.7844945356467072e-05 +2418 0.001260448877632574 0.00029087509445401786 0 0 0 7.384940978011056e-06 +3126 0.001206384173919813 -0.000484554970660715 0 0 0 5.0603384598925986e-05 +3368 0.0013302896834138215 0.0004886525255706133 0 0 0 -7.237012499256133e-05 +3179 0.0013434690920920106 3.5618427586459604e-05 0 0 0 -4.5821925090330315e-06 +3245 0.0012930350982585594 2.276442036558495e-05 0 0 0 5.0772931635365364e-05 +3272 0.0012202810437546257 9.102136372321907e-05 0 0 0 3.999785422042011e-05 +3289 0.0014258533545952424 -0.00023759945767828352 0 0 0 3.489987622057889e-05 +3300 0.0013150833126097015 -5.537589664062996e-05 0 0 0 1.6328928398582702e-05 +3320 0.0012099533754425286 3.8336339877662933e-05 0 0 0 0.00017911811677600442 +3334 0.001159794223425429 -0.0003062062499094741 0 0 0 -1.1653918630477544e-05 +3350 0.0010933295942233694 -0.0003835878999357264 0 0 0 2.8887703128547027e-05 +3382 0.0011335342498034935 -0.00015919385942567726 0 0 0 6.934587047555842e-05 +3417 0.001223659430338692 6.008356959137749e-05 0 0 0 3.38748233585417e-05 +3466 0.001189481114437363 -0.000591513418788325 0 0 0 3.5311407550809664e-05 +6692 0.00132004579510772 6.49764925672619e-05 0 0 0 3.7994719736522086e-05 +3523 0.0013354644797787152 0.0005135569688293665 0 0 0 -1.872766413244828e-06 +3535 0.001329493013681439 -0.00023916302883132562 0 0 0 3.704289713349467e-05 +3562 0.0011981021742862408 -0.0007608559012860637 0 0 0 -2.3059438417350096e-05 +3585 0.0013352806245657488 0.00038854759231899116 0 0 0 -4.530430955936962e-06 +3608 0.0012351158805782088 0.0001841753915054424 0 0 0 3.420176623045547e-05 +3432 0.001096598797888956 -0.00039328614024907767 0 0 0 -4.830719339288783e-05 +3706 0.0010665832987545012 -0.0005411248379076205 0 0 0 5.223880826720911e-05 +3733 0.0012492452866758393 0.0004485946030694503 0 0 0 2.965903241699225e-05 +7522 0.0013707066097040266 0.000530577317274336 0 0 0 0.00017702755594230249 +3752 0.0012687520206250578 5.9472429053867924e-05 0 0 0 1.1138266936794298e-05 +3789 0.0012702249905554486 0.0003005380386283666 0 0 0 1.3428601144618197e-05 +6949 0.001295126379429293 0.000180709035313562 0 0 0 -2.7907378754584522e-05 +3817 0.0012705923622439066 -0.0004686203160549916 0 0 0 -2.9498034611908657e-05 +5556 0.0013561074741769551 -0.0009555782039718408 0 0 0 -8.345881949289921e-06 +2661 0.0013194931288308441 0.00014929541698792672 0 0 0 2.5559198089473773e-05 +3850 0.0014429200072254543 -0.0006389101438352407 0 0 0 -2.595320225516504e-05 +3872 0.0012457508726185233 0.00048433310517241097 0 0 0 6.385316545332263e-05 +3876 0.0014465122112524117 -0.00025587738595974155 0 0 0 -1.4569689488254804e-05 +5228 0.0012981346434271024 0.00016231463716130827 0 0 0 -5.803021821244823e-05 +3102 0.0011055660668896493 -0.0004180699376920875 0 0 0 1.93893376485045e-05 +9817 0.001243377320505657 0.0005303231058691147 0 0 0 -0.0005859108781187983 +4041 0.0012834864649644354 -0.0005233586381951831 0 0 0 -0.00010143123420218348 +9078 0.001306057037008353 0.00012017674087116807 0 0 0 1.5116744140088784e-05 +1439 0.0014527853081287914 0.0004331471231431742 0 0 0 -3.195129220816668e-07 +4088 0.0011350867270216295 -0.00037359596655980366 0 0 0 0.00046509575403548645 +2979 0.0012622440772842114 0.00030401122702781563 0 0 0 -3.788863402787387e-05 +4181 0.0011656989062782312 -0.000250231303834917 0 0 0 5.005489453319931e-05 +4314 0.00139097928607402 -0.0004904876323701349 0 0 0 -8.800136772928069e-05 +4361 0.0012750446748215477 -0.0002647016985945865 0 0 0 -0.000130926333316581 +1164 0.0011100121978510065 0.00017697187913037464 0 0 0 -2.8635151550711267e-05 +4390 0.001342300390954953 0.0004902889796437154 0 0 0 3.1419824713502675e-05 +8962 -0.0012056370468602777 -0.0010550439745844434 0 0 0 -0.0002956762190740946 +5749 0.001048890651072445 0.0001923613129112234 0 0 0 -3.716129812194623e-05 +8454 0.0012247328250597224 0.0002468072171919384 0 0 0 -3.217086115160129e-05 +4494 0.0012922811274406047 0.0005110402075848774 0 0 0 0.00010917760652483653 +4501 0.0012041975581031377 0.00015926120514315337 0 0 0 4.0825671291831004e-05 +4529 0.0011424306101475577 0.00018655209439852498 0 0 0 2.304223557243132e-05 +4110 0.001117952415551424 0.0002932736481805008 0 0 0 -0.0003098261103393201 +5947 0.001331230909417642 0.0003233537007168063 0 0 0 -0.00010207264737356164 +4604 0.0013118282997586295 0.0003661003788248467 0 0 0 7.697848771843941e-05 +4629 0.0010663563706390748 -0.00033575985649343947 0 0 0 -3.200449178683281e-07 +4641 0.0012457768257945765 0.0003703914244844593 0 0 0 1.717978653728469e-05 +4649 0.0011038482709099502 -0.0005850001754445244 0 0 0 3.6996701281369106e-05 +4682 0.0013148157338488504 0.00046300140806225585 0 0 0 3.6323259536556334e-05 +4684 0.0011727938259167312 -0.0005219723653312416 0 0 0 2.818419460260037e-05 +4732 0.0012834092927685318 -2.5955391594170117e-05 0 0 0 -3.132780187257658e-05 +4737 0.0012760187314088333 0.000516677212068777 0 0 0 9.717055145839847e-05 +4752 0.0014398210400023404 -0.0006902361357715183 0 0 0 -5.1336802977981715e-06 +4758 0.0011574423481161224 -0.0002397814841756905 0 0 0 -2.7701475783508e-06 +4831 0.001398837224668209 -0.00015836632545852553 0 0 0 -3.834862332913092e-05 +4855 0.0012565245230554399 0.00018989812230501456 0 0 0 3.29025925627804e-05 +4917 0.0011660953711961708 -0.0002532378021047126 0 0 0 9.112528772296316e-05 +1723 0.0012697964046185699 0.00029613722649870925 0 0 0 -1.0073991237890419e-06 +4996 0.0012566507061946464 -0.0007390242519221091 0 0 0 2.0614958499632538e-05 +5034 0.001133413312234016 -0.0003203940498468627 0 0 0 9.655854014054603e-05 +9945 0.001401708969903034 -0.00019427962636562788 0 0 0 1.7529119379064032e-05 +6322 0.0013321430335248923 -0.000846018360229769 0 0 0 2.9725228429581886e-06 +5074 0.001117649800993382 -0.0005596233959852488 0 0 0 3.466443677587537e-05 +5099 0.0014354774170080562 -0.00023724725791781628 0 0 0 8.307038228582125e-05 +5136 0.001266825613090722 0.0005081643496095005 0 0 0 3.268603495325367e-05 +7296 0.001328648270341969 0.00013167121536007822 0 0 0 -2.4674498130682364e-05 +5258 0.001125265294995565 -0.0001756739478263675 0 0 0 3.2404582091380613e-05 +5268 0.0012217781077387085 -0.0008230071340100844 0 0 0 5.0374453609907085e-05 +5271 0.0010293866054447926 -0.0004408897087238896 0 0 0 -0.0001071488546387186 +5288 0.0012836886689995852 0.0006066588818951723 0 0 0 0.00012625966604005534 +5993 0.0011704978336032844 0.0002859698957873337 0 0 0 -2.8331055870806293e-05 +5352 0.0011958686831642635 -0.00013205399160544674 0 0 0 4.3875035977427345e-05 +5366 0.0014199808243955255 -0.00030023386999829694 0 0 0 -8.410291952678851e-05 +5371 0.0013157713500719936 9.42917739056928e-06 0 0 0 2.35952963795131e-05 +5409 0.0012441016455829613 -0.0001968896976606301 0 0 0 0.0001212203984202902 +5420 0.00126563687933964 0.0006104750314919401 0 0 0 9.301208738490995e-05 +5421 0.0013641776563108996 4.025814368375671e-05 0 0 0 1.1401264358362196e-05 +5448 0.0012356146400837222 0.00015085692052233476 0 0 0 -3.4080511703028314e-06 +683 0.0012554719313780148 -0.0007583669206818892 0 0 0 4.222320652749016e-05 +5546 0.0011457794530512933 4.300892443325287e-05 0 0 0 7.073143960868328e-05 +5571 0.0012470036192826133 -2.3657727066628915e-05 0 0 0 0.00011342989613644054 +642 0.001277383992551631 0.0004068495196418474 0 0 0 4.2624599926433974e-05 +3879 0.00120700553247032 0.00021835898647962318 0 0 0 -3.4861097453584466e-06 +5739 0.0012901030787250238 0.0005988903543826708 0 0 0 3.94534036302174e-05 +5754 0.001371137297399284 -0.0006534497865458986 0 0 0 -2.102112876725695e-06 +5768 0.001300984744276342 -0.0002485043246013069 0 0 0 0.0002147790064807019 +5771 0.001235684485867598 0.0003340959578215973 0 0 0 0.00010430347244605886 +9425 0.0007285487236442095 0.0006369548980748206 0 0 0 -0.0008954346126582448 +5780 0.0013784925785606903 -0.0005635092672145449 0 0 0 4.045572502621135e-05 +5831 0.0011524745884002742 -0.00023736590461544377 0 0 0 9.791489813127811e-05 +5839 0.001263624285675304 6.725204186335995e-05 0 0 0 2.588919444610839e-05 +5842 0.001422135626105263 -0.0003530607093988553 0 0 0 -8.40741714352181e-05 +5855 0.0011744480056004646 -0.0001996926195622318 0 0 0 5.3000683183021535e-05 +5883 0.0012419779525879595 0.00031419773770039095 0 0 0 -3.763876619179965e-06 +5929 0.0013740399991385552 7.68574797077149e-06 0 0 0 -1.4831911813264603e-05 +5933 0.0012169168648739986 -0.0008663203959519294 0 0 0 2.2781420384264614e-05 +1288 0.0012829349578693235 0.00025711424421161324 0 0 0 -4.192127014773348e-06 +5957 0.001241155945813211 0.00011375031102674109 0 0 0 -7.507783308507945e-06 +5986 0.001076173394395119 -0.000832003459860787 0 0 0 -0.00021814596248450447 +6039 0.0010805398744380109 -2.983982997674853e-05 0 0 0 0.0003064714623474394 +6068 0.0013108122729270065 5.864362047753178e-05 0 0 0 0.00011169387810220812 +6081 0.0012769966882803538 0.0004298583590424412 0 0 0 4.324446894480457e-05 +2238 0.001220814918428894 0.00037426849678963593 0 0 0 2.207009715329476e-05 +6107 0.001295070947288764 0.00016229736538395976 0 0 0 6.601189526552658e-05 +859 0.0012482983822840112 0.00028696390484158084 0 0 0 1.2951607760695502e-06 +6182 0.001308707671550655 -7.986062977172389e-05 0 0 0 1.7431749305123065e-05 +6200 0.0011073381352433651 6.103387894764429e-05 0 0 0 9.172415643737132e-05 +6203 0.0014065820353309974 -0.00048616152452755717 0 0 0 3.1954338677382416e-05 +8383 0.001295899665100544 0.0002601747752678091 0 0 0 -4.023844972783526e-06 +6253 0.0011732525462015096 0.00017234211769216032 0 0 0 4.071557995490967e-05 +8327 0.0012344116672200322 0.0003472422794235767 0 0 0 -2.3104340998732866e-05 +7872 0.0011414243208814978 0.0003165925323028412 0 0 0 3.741709616385657e-05 +9712 0.0021478245788449546 0.0029911772915826107 0 0 0 -0.0023666603493748897 +6357 0.0012845506442861216 -0.0006353155047053249 0 0 0 -4.534399568027081e-05 +6364 0.0012451284590261741 0.00012100657980082442 0 0 0 2.421551982043891e-05 +6372 0.001166643801341585 9.961754671525037e-05 0 0 0 -3.189721193775996e-05 +6427 0.0014118938993658303 -0.0002730422765697393 0 0 0 -3.172773286019464e-05 +6445 0.0011818670761453124 -0.0005863713023118681 0 0 0 -8.187853670184249e-05 +8640 0.0013588305498842095 0.00010958713066351682 0 0 0 -1.0283504802291717e-06 +6547 0.001125870487019683 -0.00031494928053390375 0 0 0 -5.676584479005501e-05 +6564 0.0012862161486541818 0.0003926648598403471 0 0 0 -8.706157328300005e-06 +6568 0.0013028305954106078 0.0004177200909354207 0 0 0 2.4937185290904234e-06 +6583 0.0012327643645216081 -3.3644042056434566e-05 0 0 0 8.346793121199345e-05 +6593 0.0012044851291645093 -5.1334046874421405e-05 0 0 0 4.364250786692316e-05 +6616 0.001257493707358863 -5.460289188206788e-05 0 0 0 -3.4772217608598944e-06 +6655 0.0014039270574244954 -0.00023534880957926555 0 0 0 -2.975701273857336e-05 +7122 0.0022087306770805924 -0.0011380145861046337 0 0 0 -5.6178638287300635e-05 +6688 0.001293899098324145 0.0003942875494907564 0 0 0 3.185678444172928e-05 +6691 0.0011698471936494247 -0.0006340495905147842 0 0 0 2.1822701498420836e-06 +9913 0.0013776062000017218 6.309089829540961e-05 0 0 0 1.5764787641893924e-05 +6709 0.0012304982673694402 4.1513363150826834e-05 0 0 0 -4.130962122901056e-05 +6714 0.001241909780476236 0.00035792569904017404 0 0 0 -1.6491764379235605e-05 +6719 0.00129104814613837 -0.00034491221359900074 0 0 0 -9.436133525930946e-05 +6768 0.0014438297894942117 -0.0005537187216914159 0 0 0 -7.15959118317535e-05 +6774 0.0013034808709038953 0.0006164395470278293 0 0 0 9.918072827549711e-05 +6776 0.0012484304954672636 0.00012931676905721484 0 0 0 2.2423920529889966e-05 +3512 0.0012358459303719123 0.0006552143244273268 0 0 0 5.457186639096236e-05 +6831 0.0012206198286213853 -0.0008090422978809132 0 0 0 -0.00014213805224101695 +6838 0.0011316678701716021 -0.0001352667992674852 0 0 0 2.7537600803830495e-05 +6853 0.0014517223292046725 -0.00048499332096317604 0 0 0 -2.579229913602279e-06 +7103 0.001269657478791215 0.00048583259747234705 0 0 0 1.1317521503034713e-05 +6906 0.0011886762178300934 3.439792640564393e-05 0 0 0 6.415324245453465e-05 +6938 0.0019736471012093454 -0.0004285892715577505 0 0 0 0.0013279049836030469 +763 0.001267108476448353 -0.0006232576205260499 0 0 0 7.678619089861254e-06 +263 0.0013209935804432303 -0.000794724777210424 0 0 0 6.758291445821103e-06 +6963 0.0011083416533081388 -0.0002850384445795309 0 0 0 -9.99008454222832e-05 +6974 0.0010965515218444176 -0.0002968646860793641 0 0 0 9.735678446778932e-05 +2360 0.0011620715189065585 0.0002571846873321203 0 0 0 3.147860567524877e-05 +7016 0.001285358382905728 -2.2298458266710175e-05 0 0 0 4.4374354080357996e-05 +7080 0.0012439551613430816 0.0003199084568269668 0 0 0 -5.630503943430107e-05 +1972 0.001273237334851475 0.00024370465587807833 0 0 0 -1.8349825021909493e-05 +7108 0.0014659047318939422 -0.0004950276374007627 0 0 0 9.757844620536521e-05 +7118 0.0011573297510215764 2.390165970304312e-05 0 0 0 5.09444112674961e-05 +7163 0.0013346778519452854 3.2774001797654224e-05 0 0 0 1.4377576822471947e-05 +7180 0.0012362462212332772 -0.0005075024399292306 0 0 0 -3.2265689009433004e-06 +398 0.0010276597466058648 -0.00024629474268760395 0 0 0 3.289269133694246e-05 +8977 0.004425903147604433 0.0023857939037193548 0 0 0 0.0026784851125408824 +7293 0.0012545501578187083 0.00021185734235530424 0 0 0 4.0782512916078707e-05 +9936 0.0012644810548333005 8.449426196961635e-05 0 0 0 6.20311060853825e-05 +8746 0.0012475620461745772 0.00028263410501248144 0 0 0 -3.2685513962276043e-06 +6275 0.0012573194367710935 0.0006584001132025339 0 0 0 2.7120459927106692e-05 +2331 0.0013568591788840829 0.000399151377687822 0 0 0 5.504151792963739e-05 +254 0.001093376621013466 -0.0004131880328994291 0 0 0 1.3349082603779601e-05 +1800 0.0011502226137014373 0.00029313815123798164 0 0 0 9.150376122966642e-06 +7404 0.001059719616181026 -0.0002835602586472292 0 0 0 -0.00012215136207534725 +7425 0.0011050259524141878 -0.000602621327990287 0 0 0 2.9955654827655506e-05 +7428 0.001403562803247547 -0.0006614833476381773 0 0 0 7.121411251460836e-05 +5643 0.0012610068246789916 0.00025992228802234 0 0 0 2.795181594133526e-05 +7471 0.0012519911385383063 0.0003108153429427251 0 0 0 2.241598856064763e-05 +7516 0.001145790806824764 -0.00033021841230726484 0 0 0 3.144818388850599e-05 +7533 0.0011732723059632371 -0.0005855452673382982 0 0 0 1.1355528578072698e-05 +2270 0.0011083494446252266 -0.00088915646377467 0 0 0 -0.0001147246850071979 +7602 0.001233127534836203 -4.2500591662533396e-05 0 0 0 1.2500635548352275e-05 +7641 0.0010878908339442943 -0.0002166233970298029 0 0 0 7.183426418460683e-05 +7643 0.0012026024679293826 -0.0008329552787180256 0 0 0 -0.0001490827256315319 +7660 0.0014294442562296594 -0.00027713867927373076 0 0 0 2.1865590077602887e-05 +4213 0.0013176356286438286 0.00015591773445044227 0 0 0 1.7210246989952465e-06 +6854 0.0012490783216741407 -0.0008574868842578023 0 0 0 1.430138920468811e-06 +5708 0.0012212384455694203 0.0003564518595771167 0 0 0 2.7394125582683347e-05 +1195 0.0011031389342084955 0.00026810317537272123 0 0 0 -3.739635947495602e-05 +7805 0.0011946184910703302 -9.304256810512246e-05 0 0 0 5.8125725400999255e-05 +5276 0.0012392364328825717 0.0002747919416004001 0 0 0 2.4331117945639095e-06 +1507 0.0013240967938751332 -0.0004778304653516998 0 0 0 7.433555724786274e-06 +7917 0.0012535535020207814 4.3744252010459653e-05 0 0 0 6.0390229300632345e-05 +3890 0.0013094109797810206 -0.001071756898654188 0 0 0 -2.5323143644633553e-05 +4901 0.001353962401738555 -0.0007402226727485244 0 0 0 -5.770618835287723e-05 +7946 0.0014088451333629816 -0.0005189570283215562 0 0 0 -8.785110381102191e-05 +8025 0.0012563048900731681 0.00016006706431223662 0 0 0 4.9234001722343435e-05 +5931 0.0012316165193164814 0.0004048355213143685 0 0 0 1.846188993789271e-05 +8070 0.0011392734502692304 2.8364015665487613e-05 0 0 0 -0.00012487638774010733 +8086 0.0011239172645868868 -0.0005651124896079793 0 0 0 -4.0489531938606374e-05 +8104 0.0013432218320592237 -0.0004732476382263216 0 0 0 0.00012506419554487807 +6143 0.0011442347916186385 0.00026662054642356825 0 0 0 2.8645473848587088e-05 +8157 0.0012495635358412862 0.0003336673201417044 0 0 0 -7.365463062387354e-05 +7332 0.0013054741840582773 -0.0009542214776497548 0 0 0 8.986234675655286e-05 +8191 0.001320954011346384 -0.00012099848269903018 0 0 0 2.2934300067196514e-05 +8265 0.0013168035375109204 -0.0004618232936064079 0 0 0 -5.157363642002e-05 +8359 0.0014282294973076333 -0.00022670146599939816 0 0 0 -6.695894388600712e-05 +8360 0.0014801143693703703 -0.0006080120870663832 0 0 0 -3.5035106536161924e-05 +8400 0.0013333562411988235 -0.00046594372838206443 0 0 0 -8.881669672585629e-05 +8412 0.0012331129270984691 3.233839550115395e-05 0 0 0 -2.4641772155681168e-05 +8424 0.001159265510334557 -0.0001565912599430599 0 0 0 3.944903217684611e-05 +8203 0.002260896113480536 0.00017118474500960417 0 0 0 -0.00016098273781832306 +8458 0.001221080212743295 -1.57374684598365e-05 0 0 0 -1.2067674105021157e-05 +8525 0.0012359760533999036 0.00017004235422357787 0 0 0 -6.192431847724664e-06 +8645 0.0012823219726683815 0.0002477256010688458 0 0 0 -1.7952238914971794e-05 +8535 0.001361717565749422 -0.0003388495818833546 0 0 0 1.7478196392306312e-06 +8542 0.000602897644528327 0.0003051189884877295 0 0 0 -6.082667262193158e-05 +2010 0.0013410403181052719 -0.0008789110443013774 0 0 0 2.958142949601929e-05 +8672 0.0010810068749052678 -0.0008270249878468019 0 0 0 0.0003184497854967071 +8719 0.0013068896899732939 0.00036054941741625206 0 0 0 1.443415161663771e-05 +3446 0.0012600953818656497 0.00026323540142984483 0 0 0 6.86216709218894e-07 +2211 0.0012757919031932423 0.000257562735188376 0 0 0 -4.894236310882896e-07 +8785 0.0030576589266298223 -0.0005859866768983702 0 0 0 -0.001176245823820989 +1556 0.0012535763382588113 0.00026986435564990035 0 0 0 7.253178478824823e-08 +8808 0.0012221510377905854 5.857829452186416e-05 0 0 0 -0.00019543788694153803 +8834 0.0013246392783703652 0.00030390998452204494 0 0 0 7.991023069258371e-05 +8835 0.001090570784930183 -0.00024629011892965353 0 0 0 0.00011959915978558065 +5463 0.0012475613974850031 0.000309804000523182 0 0 0 -3.292499278108422e-06 +8864 0.0014871628736405956 -0.0004550344213921886 0 0 0 -2.386468833913774e-05 +4714 0.0012417634204215835 0.00020713250137044018 0 0 0 1.2208612981776609e-05 +9964 0.0010940800598880018 -0.0004851610631787254 0 0 0 0.00014225967267214514 +6969 0.001069179059532433 -0.0009581548272790185 0 0 0 0.00022537430163935239 +9002 0.0015197662272516902 -0.0005936178958005459 0 0 0 6.191072423639303e-05 +6622 0.0012998709658488938 0.00024431426003234454 0 0 0 -6.298603227624754e-06 +9064 0.001206240092305333 -0.0003198922047939118 0 0 0 4.542366409149267e-05 +397 0.0012079254057236065 -0.0008344249674738771 0 0 0 2.4018120784170954e-05 +7713 0.0012861523324289616 0.00025174072925561507 0 0 0 -1.5824842228354807e-05 +9103 0.001270374705221207 7.991818920619367e-05 0 0 0 -3.9977808482821535e-06 +9116 0.0013952334878413188 -0.0006292475950874767 0 0 0 4.273744957088466e-05 +4664 0.0013917358451005603 -0.0007437796046441194 0 0 0 9.05607515858905e-05 +9133 0.0014504375590280198 -0.0012854335827697223 0 0 0 -7.509353153033225e-05 +9194 0.0012975526258197012 -0.0002780027695550387 0 0 0 4.922456662186643e-05 +9203 0.0013745771999367233 -0.0007449568574281106 0 0 0 -0.00014498539609351553 +5734 0.0011101867684576315 0.00026412043994696 0 0 0 -2.5472822256127135e-05 +669 0.0012735736121371089 0.00024844931963470963 0 0 0 2.5247062216608812e-05 +3383 0.0012776284334651462 -0.0008123865484176078 0 0 0 -6.188500160563454e-06 +9399 0.0012917255994876011 0.0004079795274124385 0 0 0 2.3568462642833516e-05 +9414 0.0012405626276089433 0.0001111121152671214 0 0 0 3.1525813138274715e-06 +9423 0.0009624403012871811 0.0016469746456056738 0 0 0 -0.0003613483680983613 +6497 0.0013307059051188188 0.00020688291999201844 0 0 0 2.882827019002943e-05 +9450 0.0013275242749670336 0.0005131442965804808 0 0 0 2.1589543024946677e-05 +9493 0.0011873996241141404 -0.0002235188506513973 0 0 0 -1.8987381624566014e-05 +9519 0.0013060070033775835 -9.21164124653058e-05 0 0 0 0.0001592576834596514 +9525 0.0011913531095365361 -0.00030536819447836904 0 0 0 -2.7149714981823164e-05 +5841 0.0012604950213266984 0.0002971144629884547 0 0 0 8.67960716023656e-05 +9539 0.0010693618252823485 -0.0004223904583549711 0 0 0 0.00019021892117025057 +9541 0.00129175740590545 -0.0004153347709136892 0 0 0 -2.9499488970871646e-05 +3205 0.0012852290583657796 0.0004985067366720532 0 0 0 -8.611094337874616e-05 +9613 0.001289301305611274 -0.00011479198449573365 0 0 0 3.730849239136625e-05 +9623 0.0016408855973637747 -0.0001598637813507592 0 0 0 -0.0002378129842800624 +9642 0.0012388372074511587 -0.0002854395178746804 0 0 0 0.0002538233906294394 +9664 0.0012786387539307988 0.00046819713808329973 0 0 0 -4.8379241420205054e-05 +7106 0.0010559897513298703 -2.1667728804122298e-05 0 0 0 6.153642735952624e-05 +9745 0.0011636479667428631 -0.00022225830916814744 0 0 0 8.920505050706566e-05 +9816 0.0012294617794121618 -0.0007032375077873556 0 0 0 0.00010081711673911313 +9833 0.0010974705381863244 -0.0006151909899002321 0 0 0 -3.556873682134125e-05 +9906 0.00132647159486642 -0.0002760630202810337 0 0 0 0.0006794490068617789 +9911 0.0011865467371066703 -0.00013333297006926963 0 0 0 8.088325569264539e-05 +6020 0.001297866813292644 0.00023643827402556662 0 0 0 8.204341621989962e-06 +8347 0.0012124397303707802 0.00032250215882795167 0 0 0 0.00012557335201177213 +9492 0.0013682571343720808 0.00015698682373513085 0 0 0 3.2222279483249665e-05 +4904 0.001221937954317975 0.00030474171220660237 0 0 0 1.6236266115385812e-05 +2295 0.0012330939370292639 0.00017890342205112753 0 0 0 7.217687888944631e-06 +2717 0.0013572515191145021 0.00015212264398602293 0 0 0 -1.5885507075753546e-05 +8499 0.0012999434302208683 0.00016364616586878148 0 0 0 9.319090263822604e-05 +9562 0.001321939096272714 0.0001772211778440977 0 0 0 1.3677910766798098e-05 +5489 0.0012274951863296777 0.00023769522135747562 0 0 0 2.6633917751503574e-05 +7694 0.0013357006371191953 -0.0007380097995263351 0 0 0 2.462070189449401e-05 +352 0.0012451586906776994 0.000114778312406605 0 0 0 1.00739903736942e-05 +9216 0.001282862433700374 -0.0007987109559365633 0 0 0 8.977150131826315e-05 +173 0.0012200597880986672 0.0003842922201821535 0 0 0 3.3582623990344825e-06 +8888 0.0012606496474810163 0.00028526923780394233 0 0 0 -4.0643010899996695e-05 +986 0.0013041779485828183 0.00020382879760053575 0 0 0 4.545747335392112e-06 +7497 0.0013092033370836 0.00023112003077045462 0 0 0 -2.2729628471637743e-06 +3326 0.001162842588720632 7.750915839950912e-05 0 0 0 5.8690771507521554e-05 +2086 0.0012252630965630918 0.00031996208646901844 0 0 0 -6.406840689749334e-06 +9869 0.0013868800238037234 0.000560463414254051 0 0 0 0.00041900542048294454 +6272 0.001272057325547525 0.00029930764408792775 0 0 0 -1.1701278253446496e-05 +1005 0.0012915100617345346 0.00025163418975117195 0 0 0 4.152922852903525e-06 +3010 0.0012652338104852836 0.00028336212572381336 0 0 0 1.174459369076177e-05 +9457 0.0013056209633033912 0.00024373341647032014 0 0 0 5.932135345039591e-06 +5087 0.0013578742361548858 0.0001185671178456371 0 0 0 -5.469126365588773e-05 +904 0.0012394875575256338 0.00033526253279646755 0 0 0 1.1392862020629132e-05 +9838 0.0013468756590319286 0.0005800831422559473 0 0 0 -4.317577704465573e-05 +8426 0.0011357302522546533 0.00029573894868929274 0 0 0 -7.779184636523891e-05 +4184 0.0013195692490535684 0.0005755916869328276 0 0 0 0.00019369175507988958 +3154 0.0012990177887800664 -0.0008127641000413175 0 0 0 4.5067171011833443e-07 +6360 0.0010431828467940842 -0.0001942758206401797 0 0 0 0.0002080947873463905 +4777 0.0012559099106984521 0.00034902090862645746 0 0 0 -3.608469332571239e-05 +7589 0.005593544741295073 0.00035103808529560166 0 0 0 -0.0006404610000500208 +1169 0.0012720394248815783 0.0002474685895753144 0 0 0 -4.072098805551806e-06 +1679 0.0011549974896783262 0.00025986756792372654 0 0 0 -6.759561967280955e-07 +1525 0.0012294249171180514 0.0003712700889242523 0 0 0 -1.9074577263292935e-06 +1594 0.001363171283357589 -0.0004896793962265816 0 0 0 3.338434004189923e-05 +3640 0.0013978092013259375 0.0005174137409924242 0 0 0 5.676713831052998e-05 +9384 0.0012266491647322836 0.0003424820871317925 0 0 0 1.3671641769029587e-05 +498 0.0012676993816120774 0.0002733673452647256 0 0 0 -1.298717143539634e-06 +76 0.0013118326747909059 0.0002241289046013214 0 0 0 -7.340970485783364e-07 +2062 0.00128546953668544 0.0002488467297792391 0 0 0 9.09388074964586e-06 +1619 0.0012702790751017194 0.00026920142510412383 0 0 0 -2.0589118423145256e-06 +7449 0.0012293356078166382 -0.0011923352970970363 0 0 0 8.719352609954272e-05 +6759 0.001312601904987457 -0.000826350395996089 0 0 0 -5.8684594642202146e-05 +9077 0.0012492488321472267 -0.0009073799911850808 0 0 0 6.41167610979252e-05 +5593 0.0012997977977874877 0.00024176151269170393 0 0 0 2.34624439217646e-05 +3796 0.0012882140981652819 0.0005247316591914416 0 0 0 3.779485836348608e-05 +3082 0.0012663584551281205 0.0002933252149239391 0 0 0 8.879943696831391e-08 +7336 0.0019179014818396529 0.0003302883271855899 0 0 0 0.0007704481358253256 +7305 0.0012998156389717264 -0.00047452408897171626 0 0 0 3.061075949882653e-06 +3032 0.0012625369963659826 -0.00047313880745610004 0 0 0 1.2969684429414495e-05 +9960 0.0010128000287458986 -0.00016580928813331918 0 0 0 2.2103713513433922e-05 +5073 0.0010575527431641906 6.373379458170788e-05 0 0 0 3.684133454335359e-05 +4479 0.00105033935241813 8.824139999488603e-05 0 0 0 -0.00012555207912448514 +1301 0.0010345968149718537 2.5938574809823662e-05 0 0 0 2.229777716232541e-06 +5033 0.0012441429594681852 0.000564018064948942 0 0 0 -3.6622603293772404e-05 +2084 0.0008709438268428133 0.00026378964064975303 0 0 0 -9.132516924166913e-06 +340 0.0011040012589420627 0.000200636485194083 0 0 0 1.7687465330854814e-05 +42 0.0014939475128934584 -0.0006567152617282278 0 0 0 -1.0887952816557676e-05 +3443 0.0012781846925710581 -0.0012213243524845676 0 0 0 -0.00011062069614197392 +29 0.0010376734405521692 0.00016270794861946423 0 0 0 2.4986958800780495e-05 +124 0.0007876661329835461 -0.00021893858413032664 0 0 0 2.550203256702489e-05 +8155 0.0010308318807823492 6.2909008211624e-05 0 0 0 -1.6770388559811957e-05 +178 0.0007859241415557477 0.00027149150769938634 0 0 0 2.2918693981744043e-05 +6001 0.0010044773558097247 -0.000349133327600874 0 0 0 0.0003216560581920478 +9529 0.0009459256087261876 0.0002380995389432442 0 0 0 1.501016311589661e-05 +9676 0.0008599415896314288 -0.0002874708618375941 0 0 0 7.588389121609354e-05 +6903 0.000994679603758746 6.735909342750787e-05 0 0 0 4.6028722218985334e-05 +3036 0.0007779423881049814 0.00028193605014788513 0 0 0 -1.039088333080797e-05 +597 0.0005061222471473009 2.7755048545938575e-05 0 0 0 4.1213447815845956e-05 +606 0.0004992870639419561 4.9272209381569535e-05 0 0 0 4.0512056014316674e-05 +9061 0.0007531832930057949 -8.521280187763479e-05 0 0 0 0.00010421172990967642 +640 0.0007272014278339421 1.2585640299317974e-05 0 0 0 7.029045130279842e-05 +649 0.0008171368961297915 -0.000252492400401968 0 0 0 -4.907180200229399e-05 +691 0.0004602660350109387 0.0001389233182534818 0 0 0 3.457569796078683e-06 +941 0.0008447137845615849 -0.00013861147521409745 0 0 0 2.8169047439032155e-05 +961 0.0005010516898421427 4.840420719822119e-05 0 0 0 3.361043695312188e-06 +1024 0.0005121109549607337 0.00013467096483646749 0 0 0 3.170992023395494e-05 +1114 0.0004819480391492974 5.1733211598045896e-05 0 0 0 5.521653857867634e-05 +1182 0.0006274741903000937 -0.0001108889887763229 0 0 0 9.549435046847992e-05 +9383 0.00018584040873669515 0.0007444155697754647 0 0 0 0.0022195575475229966 +4558 0.0009808287824138505 -0.00037167854550951854 0 0 0 1.0271299027997693e-05 +1267 0.0009406380054890804 3.891009008281303e-05 0 0 0 -2.3578870575065616e-06 +3803 0.0009936518626722252 0.00027873050350624075 0 0 0 -7.207621391500196e-06 +1280 0.0006548066796678862 0.00026349742479464983 0 0 0 2.604886382788193e-05 +1419 0.0004430195045474951 0.00011090704471990584 0 0 0 6.0233433263102625e-05 +8261 0.001024392301043696 -0.0003645156578120416 0 0 0 -0.00017448510143335604 +1552 0.0004659436185465647 7.252250325715328e-06 0 0 0 6.710611315623033e-05 +7813 0.0010076595001672758 4.897107086797355e-05 0 0 0 3.991203245444025e-05 +1602 0.0006764277704720799 0.0002773016697220117 0 0 0 -3.3619559695048233e-05 +1611 0.0004480104224878936 -7.139192030116593e-05 0 0 0 0.0001331567225138825 +7252 0.0007146253985525804 0.00022047101584934278 0 0 0 7.837795943069728e-05 +1810 0.0007509827046710851 0.00026678844740107117 0 0 0 5.1877858672419286e-05 +1859 0.0004011628800171304 8.341331323778775e-05 0 0 0 -2.9624334839529936e-05 +2079 0.0008664020203445044 0.0003377737061611221 0 0 0 1.6394258140496798e-05 +375 0.0009416030808416699 0.0003155589855714663 0 0 0 9.413707767045161e-06 +5345 0.0003858757903371436 0.00014858481365911336 0 0 0 9.513637190748313e-05 +2117 0.0006898799523882661 0.00016673732997927635 0 0 0 9.482278350940529e-05 +2170 0.000344797543501041 0.0001785619781912775 0 0 0 -1.5133601774000793e-06 +2304 0.0007104605070766772 4.985212654915281e-05 0 0 0 2.0581485684209408e-05 +2354 0.0006039509250368003 0.0001605367743418846 0 0 0 3.29577705048016e-05 +2355 0.0006287563997716237 1.110864078357173e-05 0 0 0 0.00024226725848137544 +2372 0.0006341811940576664 2.4328246569060384e-05 0 0 0 -6.719476736990124e-06 +2451 0.0004949889323485133 4.8823113038380966e-05 0 0 0 -4.234861114127004e-05 +5344 0.0009032638102740418 8.944911773283364e-06 0 0 0 -1.839761643725082e-05 +2678 0.0005520691871076958 2.475166525856981e-05 0 0 0 5.2461604156300466e-05 +2694 0.0005766994320693126 4.737187311424381e-05 0 0 0 2.7741073268247607e-05 +6992 0.001021123678526809 7.608221415230636e-05 0 0 0 -8.74843031823782e-05 +2860 0.0003777992609076747 9.597626505362169e-05 0 0 0 0.00010419739552937677 +2869 0.0006619902321466138 6.996347609754365e-05 0 0 0 0.00015063373320797728 +2923 0.0009516231016174862 0.0002864461379114882 0 0 0 2.412679053464981e-05 +3031 0.0007644355542224119 -0.00018895033076155878 0 0 0 -0.00011185672429872378 +9984 0.0009098778323887371 5.13060794274342e-05 0 0 0 1.254893625167081e-05 +3055 0.0005279528932067904 -1.4322752979452852e-05 0 0 0 -1.949969143038799e-06 +3203 0.0009875161251493593 -0.0002998717148285144 0 0 0 5.149871829368715e-05 +3250 0.000707449518490597 1.4601972906600646e-05 0 0 0 6.399012410228097e-05 +3251 0.0004678550099844924 5.615092150729902e-05 0 0 0 7.344489042941901e-05 +3480 0.0007283214923072409 0.00031319110955830025 0 0 0 7.808975339867837e-06 +5104 0.0008167939016342353 0.000312888077123411 0 0 0 2.0472457992998577e-05 +3381 0.0009453437393964198 2.7466924511516338e-05 0 0 0 2.6775778465860496e-05 +3848 0.0008013184006666973 4.5882898487969916e-05 0 0 0 3.529282607029937e-05 +3442 0.00044386319754840273 0.0001045184777976696 0 0 0 -7.917340771894791e-06 +8428 0.000995809118409216 -0.0003229103876198631 0 0 0 0.00014588209221768272 +303 0.0009302912064422558 -6.905467017495487e-05 0 0 0 3.637427258857809e-05 +3666 0.0008624611616801775 -3.7887277825911435e-06 0 0 0 2.793769979227301e-05 +3694 0.0009757020827951869 0.0002826786746751443 0 0 0 -1.6312935271744643e-05 +3740 0.000361697663696346 8.145183307496825e-05 0 0 0 9.82653102656808e-05 +6021 0.0003913858245068695 0.0001255744894172883 0 0 0 9.915493858318657e-05 +3927 0.0007676328933550854 -0.00014338405899779833 0 0 0 -2.1780766455802422e-05 +3986 0.0005457924308341591 0.00017595440102612691 0 0 0 5.227586224503826e-05 +4022 0.0005526506882216902 0.00023436295155388536 0 0 0 5.248877255023421e-05 +9142 0.0005653210107050118 7.990653520281434e-05 0 0 0 -7.64161616438763e-05 +4147 0.0005501510042284981 0.00011632303752411919 0 0 0 7.182970455589945e-05 +4153 0.0009703371416642531 -0.00031160054947131294 0 0 0 4.915380620879344e-05 +4294 0.0009824399343679934 -0.0002948890694068986 0 0 0 1.7732570606950032e-05 +858 0.0010429616692301034 3.786655789778619e-05 0 0 0 3.1430885879256266e-05 +4502 0.0008945233978131829 5.580598346125137e-05 0 0 0 5.212697027077369e-05 +4516 0.0005078486243470066 2.41767829201373e-05 0 0 0 -6.307394876665721e-05 +1157 0.000470594651821371 0.00017079829604784333 0 0 0 -2.2425220185268157e-06 +9267 0.0008404176065150347 -0.0001660775556576337 0 0 0 0.00013831988291420431 +4588 0.00042629227444195326 -7.821820885590192e-06 0 0 0 7.687577099564748e-05 +4718 0.0007649757679122045 -0.00018984646593430557 0 0 0 0.00018874187990940017 +9691 0.0006117897649176302 -1.96738084017345e-05 0 0 0 0.0001024983625181846 +8680 0.0008885693812855523 0.00031490551490654344 0 0 0 1.5396739015717683e-05 +4911 0.0003246406473960243 9.373353486690466e-05 0 0 0 9.677440012404804e-05 +5028 0.0006889138795543836 -4.227588853556437e-06 0 0 0 3.738618352919118e-05 +2350 0.00101567005069546 0.0002772535736486441 0 0 0 -1.870531196629395e-05 +5114 0.0004148193430820321 -3.52546201222051e-07 0 0 0 8.852021395794068e-05 +6455 0.0009264684631186576 -0.0001539526829926107 0 0 0 4.1459377189176476e-05 +5311 0.0008071588571329607 0.00027645278130244706 0 0 0 -2.1070230547069963e-05 +5341 0.0007775536768004268 -0.00019351938246506156 0 0 0 -1.792168448773734e-05 +5417 0.000734621006756948 0.000220037698867048 0 0 0 0.00013451293541935487 +5439 0.000880551110017882 1.2871140477215177e-05 0 0 0 5.1591309036314606e-05 +7884 0.0009643718766996193 3.1106236451268873e-05 0 0 0 0.00012972908969308171 +2141 0.0008040224361101612 -6.668947866868737e-05 0 0 0 3.200486535997411e-05 +5563 0.00040772019652107874 0.000165768370995443 0 0 0 2.8547742435749387e-05 +5577 0.0008588084889106977 -0.00030568111718377297 0 0 0 5.2643096326019654e-05 +5594 0.0004983802359864938 -5.307207264439952e-06 0 0 0 2.8563950562434616e-06 +5629 0.0009871619186876599 -0.00040040499642098276 0 0 0 0.00012248732067346872 +5639 0.0006670560171810985 -0.00010982852961015347 0 0 0 -5.577671589143836e-05 +5644 0.0003303609341148014 0.00010217806884789377 0 0 0 0.00014280483864990824 +7989 0.0004353930008169901 0.00016080563387777314 0 0 0 -4.073617243850976e-05 +5745 0.0006760034387941312 -3.475499022681694e-05 0 0 0 0.00011666252065618901 +5767 0.0003323481056751904 0.00010673016142952599 0 0 0 9.983735030492308e-05 +5798 0.0007825015413994308 -0.0002032382926690979 0 0 0 0.00014719023828293232 +5807 0.00041098821197519514 0.00015329663753017023 0 0 0 5.2955467266039585e-05 +5887 0.0008205273657485188 -5.846928606258092e-05 0 0 0 9.813359791246153e-07 +5900 0.0005821471950311184 2.1652312366750398e-06 0 0 0 7.724675783499282e-05 +5973 -0.0010126626203679485 0.00029620230205783753 0 0 0 -0.0004908687322913499 +6287 0.0010331990915006693 8.162683325950653e-05 0 0 0 8.226068947838567e-05 +1058 0.0008968339078164678 5.855473670679323e-05 0 0 0 9.057075274290632e-06 +631 0.00045693156751427504 0.00022365376160622216 0 0 0 4.202234010693711e-05 +9190 0.0008358472708950449 -0.0001826504192399993 0 0 0 7.396821943093857e-05 +6059 0.0006132736519709885 -2.630965167993081e-05 0 0 0 0.00042392223081741626 +6279 0.00034315017226181627 7.992398771597676e-05 0 0 0 0.00013726998735887245 +6292 0.0007751990051419283 3.9650971968927235e-06 0 0 0 2.3147073217266736e-05 +6303 0.0006172013371308887 -3.500189222597906e-05 0 0 0 4.165721740375752e-05 +3238 0.0008981155861027738 0.0003157762529105073 0 0 0 2.9845992643947288e-05 +6385 0.0006805838518592144 0.00027889950437898713 0 0 0 3.965930723462405e-05 +6387 0.0005423571862966062 0.00017252046770738864 0 0 0 8.16170441526931e-05 +4146 0.0007038047941745669 0.000279932112230732 0 0 0 1.6064921982616474e-05 +8183 0.0009971083419397398 -1.631257810764527e-05 0 0 0 3.0458404608454084e-05 +6515 0.0006046701165465968 7.2603560233924196e-06 0 0 0 -0.0004011732553125622 +6553 0.00047137552831955884 -0.0002379148981432159 0 0 0 -1.2691740750404062e-05 +6577 0.0005465251604965317 -1.9644551146715307e-06 0 0 0 2.268172822814871e-06 +6579 0.000928940295121305 5.796213472765501e-05 0 0 0 -4.753674200253574e-06 +6624 0.00046503355096476703 3.723772125066817e-05 0 0 0 0.00022403475873423412 +6798 0.0008019930094702755 0.0002975029992494961 0 0 0 -7.701679057659033e-07 +9490 0.0006793406691840002 -1.2076413391283234e-05 0 0 0 -0.00027003859568117307 +7082 0.0003517756917186123 9.505052731682307e-05 0 0 0 7.206386538520613e-05 +5061 0.000543012372713222 0.000349820265715598 0 0 0 1.1867403037801792e-05 +7092 0.000516406800496782 0.00016635960067935883 0 0 0 9.826172321491405e-05 +7125 0.0007781676205495259 0.000311969755764869 0 0 0 7.857662524558909e-07 +9448 0.0009465259259946846 0.0003037591052034489 0 0 0 5.2040257107388585e-08 +3734 0.0009286178874138419 5.866949743526372e-05 0 0 0 1.4730299730032941e-05 +7405 0.001966502892528989 0.001891132222928687 0 0 0 0.002282647560457994 +7437 0.0003556455408011986 -2.880024280838472e-05 0 0 0 0.0004000769316210187 +7448 0.0007200475973080117 -1.7172398010164697e-05 0 0 0 9.015932117883195e-06 +7514 0.0008069517954406402 0.00022813080391917204 0 0 0 -3.795927644240145e-05 +6207 0.0010021302653091895 8.170884737393884e-05 0 0 0 4.1486016925142754e-05 +7683 0.0006191406784175795 0.0002833580167376553 0 0 0 0.0001163689878617226 +7690 0.00046027885070512467 2.7931856457638344e-05 0 0 0 0.00021392840022497412 +7761 0.0009489280659139564 4.526342236538278e-05 0 0 0 2.1950036754144604e-05 +7889 0.0008568981958048545 2.7779909131613636e-05 0 0 0 -1.0440882677879606e-05 +7916 0.0005769439408601728 4.811720644224307e-05 0 0 0 -0.00019143061616354773 +7971 0.000823534684947728 3.552286572741734e-05 0 0 0 6.782254794448674e-05 +7978 0.0006437701696485305 -5.7058428776527584e-05 0 0 0 0.00013661456403927507 +3356 0.0007863358979221107 0.00030567185293536365 0 0 0 -1.9672399916511315e-05 +8014 0.0003574923866851249 5.1625650764212416e-05 0 0 0 0.00018921462073691328 +8103 0.0005310242296153166 5.342844941138221e-06 0 0 0 -4.861147994588775e-05 +8189 0.0006533002182885644 0.00027336793255426954 0 0 0 6.0943400767838975e-05 +8911 0.00034196157044848126 7.446150368400731e-05 0 0 0 -0.00021878966898633456 +8255 0.0006647699989236654 0.00020780003884258291 0 0 0 6.717836444465364e-05 +8259 0.0005069461353678201 3.808055104856674e-05 0 0 0 0.00015998488278946022 +9033 0.00033702029111946897 3.0182753373999026e-05 0 0 0 0.00015660586644008156 +8380 0.0005078313592591118 0.00022840347599931978 0 0 0 -2.9463853137135575e-05 +8416 0.0006208396575341437 5.895078818550262e-05 0 0 0 6.951095456236122e-05 +9995 0.0005604158750684268 -1.6987590940527132e-05 0 0 0 4.036733606940979e-05 +5461 0.0009878706487886253 0.00027954734131950754 0 0 0 6.028769158834659e-05 +8484 0.0008878610974230942 -0.00024865935990653576 0 0 0 0.00012114589777207937 +8496 0.00047943682826391435 0.0001154681118738849 0 0 0 -1.2049412833292812e-05 +7302 0.0010280061076797554 -0.00043224882806317785 0 0 0 -8.539419714835956e-05 +8650 0.0005017548354510204 6.330233260307396e-05 0 0 0 -0.00021277027822257867 +8660 0.00046606452297934606 8.370880252167682e-05 0 0 0 6.666068109611629e-05 +8661 0.000813282776106578 -0.0002751944317990054 0 0 0 2.764054696221907e-05 +8838 0.0009830757793585338 5.02530740405363e-05 0 0 0 -4.21106926229126e-05 +7074 0.0008524231160298284 0.0003170335725504367 0 0 0 1.7603470220186272e-05 +7121 0.00035514330464115354 0.00022282616640756557 0 0 0 -7.1729340672904954e-06 +951 0.00041130253188252647 0.00016503149708329876 0 0 0 4.7909703897327705e-05 +1 0.0001189167942475993 -1.4383796177034472e-05 0 0 0 1.8614641077594802e-07 +8969 -0.00010887937194251445 0.0007121583282525824 0 0 0 -5.7163551834855184e-05 +40 7.389317530761648e-05 0.0005834389773873179 0 0 0 -5.585522536320873e-06 +56 -4.1455899783032474e-05 0.0007517130240574028 0 0 0 -8.870645154206279e-06 +62 0.00015439446271872697 0.0007389592060520039 0 0 0 2.628880284257564e-05 +9765 -9.79087575268932e-05 -0.00011321997596878965 0 0 0 0.0001921709600175071 +104 1.5172275124666011e-06 0.0001275703716719904 0 0 0 1.3182154894411444e-06 +174 0.0003943899218709551 -3.620036659094156e-05 0 0 0 -2.6442708472932933e-05 +2853 0.00038284269324739324 0.00047257914659638937 0 0 0 -1.3424213540601928e-05 +218 0.0002509117121243725 0.00027766652639783443 0 0 0 2.4307789212637563e-05 +2346 0.00031760336164768057 0.0008012775994078914 0 0 0 -6.797070679169795e-05 +252 -0.00016705640345261868 -0.0002695550898847612 0 0 0 -1.6012427973003785e-05 +260 0.000387984223729887 1.199441098682622e-05 0 0 0 -2.6998019037151207e-05 +266 1.0493455365259195e-05 0.000590294620345281 0 0 0 4.9928529095551606e-05 +297 -0.00024008393593969262 0.0005684521206678758 0 0 0 -1.85738701434989e-06 +329 0.00027020138710867527 0.0001228649252722185 0 0 0 1.664753106364208e-06 +383 -7.451040735180962e-05 -0.0005949183308072711 0 0 0 2.9190657073593154e-05 +391 8.933818748084437e-05 0.0006539427393645677 0 0 0 2.7080982590531392e-05 +448 0.0003094259059580683 3.596571895718028e-05 0 0 0 3.112853970016944e-05 +459 -4.6044681690392165e-05 0.00014748383243805505 0 0 0 2.2828836976028692e-05 +466 -0.00013395956340338106 0.0005381101196587013 0 0 0 -4.2153850811728166e-05 +472 0.00015424050279924632 0.00039472030490577217 0 0 0 1.2575620615724758e-05 +486 0.00023387589295782452 -0.0001993771553664067 0 0 0 7.824270535156649e-05 +561 -9.033470309250852e-05 0.0006240373150107361 0 0 0 -3.5139546575008433e-06 +564 7.589418388891128e-05 0.0004685025805352672 0 0 0 -2.4534866218374597e-06 +570 -0.00026970003342511955 0.000539824942242308 0 0 0 -2.3154128197337056e-05 +571 -0.00015898529231174222 0.00039875229422087097 0 0 0 6.397019783986336e-05 +585 -1.49384874932462e-05 -0.0005143825583113789 0 0 0 1.2723830159269633e-05 +601 0.00019690730131639964 5.3324234246193006e-05 0 0 0 1.677618259935373e-05 +4510 -0.0001409030447700297 0.0006029434472937471 0 0 0 -2.410271532371645e-05 +634 0.00047383874170707084 -2.519091277865208e-05 0 0 0 2.864753114461843e-05 +681 -9.149002647103541e-05 0.0006818199519881926 0 0 0 2.8499540100755575e-06 +740 0.00011545055154731041 -0.0003877199460551303 0 0 0 7.997615832633153e-05 +741 -6.391305763351379e-05 -0.0004768017070587822 0 0 0 3.2721600319220394e-05 +771 6.699196709699603e-05 0.00018363841512397257 0 0 0 5.340909484461318e-06 +786 -0.00016161715015769392 0.0006187976302979008 0 0 0 -1.8710249242014875e-06 +789 -0.00017175099156232015 0.0005318995594875439 0 0 0 -3.3379957502964476e-05 +1080 -0.0001728947705986477 -0.0006409843936810688 0 0 0 5.994627822984856e-06 +800 0.00018988036415855137 1.1419597027617658e-05 0 0 0 6.568300952882303e-05 +802 -0.000266019562763839 0.0004084372850360088 0 0 0 -2.339752498367815e-05 +9646 6.26620277429977e-05 -0.00017158096693393687 0 0 0 0.00020367122116045792 +841 2.146862555369755e-05 0.0004949228204846612 0 0 0 2.553561628010217e-06 +908 -3.7839933451272626e-05 0.0006635467124171202 0 0 0 -3.158851133284198e-05 +919 -6.346484097541051e-05 -0.0002460363735141607 0 0 0 0.0001022099395928555 +920 -0.00015768402720956704 0.00014911439896311376 0 0 0 7.008064485615295e-05 +1000 -0.00031319372281461607 0.0005000278536047671 0 0 0 -8.33913510165259e-06 +1028 0.00019976237371319142 0.000508839791666217 0 0 0 -9.643079209071037e-06 +1044 0.0001457050928210565 -5.623031412887557e-06 0 0 0 6.464718328521515e-05 +1061 -0.0001519926626643959 0.0007180330331491337 0 0 0 -6.973806847459896e-06 +956 0.0005105724633288524 0.0005977942079608933 0 0 0 -6.070760546089838e-05 +1111 -0.00013936350124565334 0.0006195485652527742 0 0 0 -8.800941475215732e-06 +1128 7.188173725477551e-05 0.0005173613279684967 0 0 0 1.1269186038109214e-05 +4036 -6.61600608223373e-05 0.0006656390586341831 0 0 0 1.3142462305892065e-05 +823 -2.0766450524265278e-05 0.0006433061351762156 0 0 0 -1.5169841663424077e-05 +1163 0.0001388394923944672 0.00030529049099548917 0 0 0 4.1827660672167846e-07 +2662 -8.546349697848992e-07 0.0007018052424474831 0 0 0 -1.9119683853182043e-05 +1208 -0.00011996231567890152 0.0006222032639719839 0 0 0 -2.968753347769622e-05 +1899 -7.016864348683895e-05 -0.0005863060769616139 0 0 0 7.472801269651292e-05 +1259 -0.000180482775003402 -0.0002924339918238425 0 0 0 2.975665420912559e-05 +1260 5.420275559666548e-06 0.0004235906897997907 0 0 0 3.1087204867385794e-05 +9639 -4.68474898316993e-05 0.0006780532132365217 0 0 0 -1.982380967898536e-05 +1273 -0.00019157385641458544 0.0005593642521759085 0 0 0 -1.217706146789882e-05 +1284 0.00017428890326063714 0.0002203759804696288 0 0 0 -3.8458990981600724e-05 +1287 0.00016125154444396653 0.0001597484169527947 0 0 0 5.361241858438136e-06 +8683 0.0003344783408405869 1.0428369599808808e-05 0 0 0 -0.00010346814315543955 +9656 5.104450001528315e-05 -0.0003003257492933922 0 0 0 -0.00018656245515010603 +1385 0.0004057835841338912 -0.00024287928509937552 0 0 0 -4.497400265719353e-05 +1403 0.0002505081700748969 -6.885278432003945e-05 0 0 0 -2.224726812758733e-05 +1408 0.00012646479241960415 -2.8098717666288784e-05 0 0 0 0.00011197778376427915 +1416 1.3279812074663775e-05 0.0007207788219981567 0 0 0 -4.769141861418218e-05 +1426 -0.00032959193002876365 0.00024157670904755504 0 0 0 1.2288551118986981e-05 +1468 -9.439422009906922e-05 0.0006024409365160064 0 0 0 -1.0155927918721716e-05 +1470 0.0002070338342141071 0.0005455395869248766 0 0 0 -2.2954963507991955e-06 +1480 -8.42264153157869e-05 0.0006986469445944118 0 0 0 -3.9487587640580895e-07 +1492 0.0002028231109602314 7.3533577505250326e-06 0 0 0 -0.00014945976103850395 +1536 7.749155969159418e-05 0.00020150635683961494 0 0 0 4.3267206575677216e-05 +1539 -0.0001270729642282626 0.0006417530842813044 0 0 0 -2.808777585601763e-05 +1559 2.533108563318718e-05 0.0005531543610694396 0 0 0 5.930123325218903e-06 +1566 -2.62654712748823e-06 0.0007385403503678452 0 0 0 2.1606740487234304e-05 +1583 -0.00017447803350302012 0.0005892902445918978 0 0 0 -2.2279008378819053e-05 +9497 -0.002788529201063627 -0.0008145687075862057 0 0 0 0.0013229039302866186 +1667 0.00022434683405368703 0.0004570265841718679 0 0 0 0.00015959874948726167 +1681 0.0004104560500921823 -1.0876369338536707e-05 0 0 0 -5.283181330338017e-05 +4168 0.00029580628588741007 -4.4372344965801475e-06 0 0 0 8.2465888179171e-05 +9515 0.0001677054835429262 0.00025947181487953245 0 0 0 2.415106533847129e-05 +9700 8.790605494219762e-05 -0.00016098665907910518 0 0 0 0.00045053673530853023 +9887 0.001598515196121568 -0.00041787716105030404 0 0 0 0.001393341836847954 +1759 -0.00026370418870016196 0.0003759092331019061 0 0 0 7.103921792509836e-05 +1786 0.00010667817390164642 0.00020070483788326232 0 0 0 -1.7345951953106384e-05 +1824 0.00013411468902570364 0.0006157399575787328 0 0 0 -3.6926819767414654e-05 +1849 -0.00022036291189485484 0.0004091129970672587 0 0 0 -2.8231933454728937e-05 +1873 0.00015543133277483407 0.0005527043820539794 0 0 0 -1.5474923930854161e-06 +1875 -0.0003339835439534603 0.00019437166782694724 0 0 0 0.00011010743706007756 +1918 -1.1770098327636768e-05 0.0002629208468793516 0 0 0 9.398029487073127e-05 +1927 3.439835430872204e-05 0.0005329775000341355 0 0 0 1.086510400650526e-05 +1969 1.7233837992877874e-05 0.000573419371521405 0 0 0 -2.169263613066245e-05 +1977 0.0003758464942475092 6.6747608054830375e-06 0 0 0 -1.1443001925823364e-05 +2018 -0.00025653029839890475 0.0005151782721773081 0 0 0 -1.0549237718910147e-05 +4037 5.9085274670919345e-05 0.0006697302607338916 0 0 0 -1.8937321871922217e-05 +5541 -5.9588860841088455e-05 -0.0007137420280968676 0 0 0 -2.219292304175447e-05 +2097 -0.00014641681789561163 -0.00013185518123944332 0 0 0 0.00011995387852386835 +2120 -0.0002703463113736227 0.0005290255498072767 0 0 0 -4.9307027787437343e-05 +2122 -7.505537750228436e-06 8.503066710342426e-05 0 0 0 3.0416426571951605e-05 +2241 0.00028643392162617766 0.0002746840357202928 0 0 0 5.563915970348024e-05 +2245 -0.0004344197950380007 0.0004231497964912529 0 0 0 -1.3004898093015552e-05 +2262 -9.173713408617018e-05 0.0006360348927845256 0 0 0 -1.8487590386337963e-05 +2300 -0.00015037569760699066 1.8000357804778075e-05 0 0 0 0.00036225062077540444 +1538 -6.897785720267686e-05 -0.0006341472509726817 0 0 0 1.968730555283533e-06 +4723 0.0003460042068378191 0.0004777132337228433 0 0 0 -7.770226854688572e-05 +2364 0.0001976028152339335 0.00042336081070976577 0 0 0 -7.468773253814986e-05 +2373 8.135954751750436e-05 0.0007260902061090773 0 0 0 -0.00010836200375506248 +4980 0.0003579247262123991 0.0005133989037905142 0 0 0 -0.00014054895778900498 +2415 0.0002008856747441699 0.0005472857680927684 0 0 0 -9.678280728595757e-07 +2416 7.788058514186665e-05 3.007886786878799e-05 0 0 0 0.0003337213417057091 +6820 0.0002532613253784725 1.5285033275773037e-05 0 0 0 2.4193256032890673e-05 +2466 -0.0001020690508676818 0.0006337267317923889 0 0 0 1.7097491791712592e-06 +7871 -0.00024185739544531224 0.00039950441623853107 0 0 0 4.290058980665474e-05 +2533 0.00038062824627426453 -0.00010452794009263439 0 0 0 4.765068093240893e-05 +2581 -0.0004364072138886477 0.0003455323634379229 0 0 0 9.421709944087593e-05 +2584 -0.00019638907654027026 0.0005701369119974164 0 0 0 2.254324128736614e-05 +8943 0.00011213825289685671 0.0007439704579148109 0 0 0 -3.708077014562764e-05 +2607 0.00017902600939815184 0.0006643451869186249 0 0 0 5.099822258378885e-05 +2633 4.549491529212363e-05 0.0005733917999466668 0 0 0 1.422331031253271e-05 +2700 0.00017204435378009888 5.967990129910475e-05 0 0 0 0.00011236998115695399 +2703 -3.7513930521206697e-05 0.0007118377028207187 0 0 0 4.447100858735986e-05 +7953 5.173717109005303e-05 -0.0001455990610095346 0 0 0 0.0005243364250863341 +2750 7.853881808444731e-05 -0.0002518099751398353 0 0 0 -5.578507755878241e-05 +9787 -0.00010873383015343104 0.0006779983788262051 0 0 0 -4.503882365022737e-05 +2785 1.0722091327040487e-05 0.0006027411062257416 0 0 0 8.566037169841073e-05 +2802 0.0004008656921441373 -2.809475560213133e-05 0 0 0 -3.120380523536601e-05 +9809 0.00012445405853169178 0.0005939718744374968 0 0 0 -3.6511355052113086e-05 +2871 0.00019734555344257714 0.00015625023353700492 0 0 0 -1.0983258008934004e-05 +2928 0.00013711844415812937 -0.00042752104242424173 0 0 0 0.0001241537338538104 +2951 -0.00035564883996878276 0.0004609039575134308 0 0 0 -2.5355131072839933e-05 +2984 -0.0002605824961519656 -0.0005461413492272423 0 0 0 -4.7180018917994e-05 +8156 0.0003541402541185091 0.00048632281543308696 0 0 0 -5.239844694109586e-05 +3018 0.00021307051177528954 0.00030674081408879974 0 0 0 -7.715283804622017e-05 +3120 0.00012152907667587165 -1.2580495177889247e-05 0 0 0 -0.00011864330852916533 +3136 -6.894928240063652e-05 -0.0003176352204395433 0 0 0 0.0002878978867219115 +3144 0.0001393209698623394 -0.0004017033551109376 0 0 0 -0.0001304627048312577 +3158 -3.6222837842871125e-05 0.00015766590802823103 0 0 0 8.564800851880107e-05 +3221 0.00022676648274479394 -2.2732004256601302e-05 0 0 0 -6.578341600386259e-05 +1861 -0.00018588605660158815 0.0005959027670149109 0 0 0 -2.2273603119827533e-05 +3348 -0.00040464734475660706 0.00046727303921634164 0 0 0 -2.6475172546017885e-05 +3358 0.0003193346465689003 2.6177915785691702e-05 0 0 0 7.768485093651133e-06 +3373 5.003511418712432e-05 -0.0004202847556052186 0 0 0 2.383897039862506e-05 +3422 5.640090315646546e-05 0.0004156778893390814 0 0 0 9.082620629376754e-05 +3541 0.000268847073408177 -1.9149228036551606e-05 0 0 0 -5.659213833401642e-05 +3554 0.0001399842307064042 0.0007805463718813009 0 0 0 1.3508028198885621e-05 +3557 -0.000130722905155215 0.0006568789971673385 0 0 0 -2.0566294516071693e-05 +3570 0.00013005123838271952 0.00024313760849471792 0 0 0 -7.891039986734311e-06 +3593 0.0001977460862420245 -1.6771581988520462e-05 0 0 0 -2.7821534650384014e-05 +3598 -0.00035583858678073623 0.0004675715556563532 0 0 0 -1.810464972417278e-05 +3624 -0.00035604279697350183 0.0004026210259346759 0 0 0 -6.338350036729934e-05 +3639 0.00016261729013331762 -2.9898005609483236e-05 0 0 0 0.00013369333575367415 +3681 -3.970486830718165e-05 0.0007315187689607412 0 0 0 -1.5366091073676085e-05 +3705 0.00024827456722048764 0.00012586756281090283 0 0 0 4.1826489209629426e-05 +3724 0.0002850152341430283 5.155280504809659e-05 0 0 0 0.00014304276079623563 +3727 0.00018472546404581358 8.570450747500782e-05 0 0 0 0.00011653268094096639 +3729 -3.9716089745812365e-06 0.0002197536696058349 0 0 0 -6.786747644039761e-05 +3746 0.00016042740551104162 0.00036039195592765626 0 0 0 2.5556473873479e-05 +3792 -3.3938846449444166e-05 -0.0002563649068348887 0 0 0 0.00011219517492016819 +3830 -2.1973522199186105e-05 0.0005872466873999268 0 0 0 7.31781959858665e-05 +3849 0.0002899904444537052 -0.00016216801153642868 0 0 0 0.00012080105546933648 +3895 -3.7184468099052386e-06 0.0006909877934194028 0 0 0 -8.70290368178069e-06 +3910 3.4268317323951415e-05 4.34084132203705e-05 0 0 0 -1.9634136776474033e-05 +3945 0.00013553736590896532 0.0002577300596140759 0 0 0 -2.9427509257872584e-05 +9880 0.0002759423823110729 0.0005102455058757511 0 0 0 -3.886391478133238e-05 +2546 -8.363370680267106e-05 -0.0006998000551934919 0 0 0 8.396830105909292e-06 +3958 -0.0001736515631343501 -0.0004622414501313812 0 0 0 -0.00011525273056101705 +3961 0.00015154290264693344 0.0003543173132972739 0 0 0 -2.6844458295630175e-06 +8436 0.000269019841969289 0.0006680949136067469 0 0 0 0.00010258815648007974 +3981 -8.594513367537528e-05 -0.0001511722542496768 0 0 0 5.4078070860187434e-05 +4013 0.00010009616071977546 0.000262929501666896 0 0 0 4.058637257531695e-05 +4015 -7.055376050241283e-05 -0.00022475031428834151 0 0 0 0.00014225891350836046 +4018 -0.0003932110722879713 0.0004091379059945839 0 0 0 5.354783579397356e-06 +4077 0.00012834763678850608 0.0005941610032812886 0 0 0 4.342716332938044e-05 +4089 0.0004236050913346712 0.00010794512398825559 0 0 0 -0.00040984261592317997 +4104 -0.00029774162681949824 -0.0008332380470870328 0 0 0 -0.00034723235134194214 +4130 -0.00012432447096903613 0.0006816559137260852 0 0 0 -2.1322301517999377e-05 +4179 -0.00010361706334195322 -0.0004996518918472817 0 0 0 2.8839670505389034e-05 +4202 0.00025710087776371584 -2.5068884361843286e-05 0 0 0 -5.2302754913115704e-05 +4219 -0.00011309068862835717 0.000622756729978177 0 0 0 -1.0147819913570402e-05 +9055 -0.0001359986377029971 0.0006430798615873858 0 0 0 -5.228257121715627e-05 +4239 0.00021493785156562198 0.00018788481932891237 0 0 0 0.00024459312415763814 +2883 0.0003191631218521326 0.0005078152636041454 0 0 0 -6.870042354777189e-05 +1266 3.389870100707432e-05 -0.0005481928967821313 0 0 0 -1.980071266046196e-07 +4284 0.00022746493174028579 0.00015837979654543022 0 0 0 4.3874572211830145e-05 +4287 0.00021731624400881064 0.0004932173197991943 0 0 0 -7.749151165892173e-06 +4297 6.8101152253459154e-06 0.0002001041029453461 0 0 0 2.3679047657627348e-05 +4391 3.972648475654859e-05 0.00045393089580757093 0 0 0 -7.077588357157705e-05 +4410 0.00023715962677806448 0.0004680815416172319 0 0 0 1.1585558878078175e-05 +4456 -2.069702039795405e-05 0.0007063885065409981 0 0 0 -3.657715837244762e-05 +4478 -0.00010767569199194289 -8.68972448404728e-05 0 0 0 -9.044363252701703e-05 +3302 7.573317253113341e-05 -0.0003492917332638267 0 0 0 -5.262342067759774e-05 +4492 -0.000286302968083527 0.00025509164186531355 0 0 0 0.0003541916238709807 +4498 0.00014529952797832338 -0.0005087994169573717 0 0 0 0.00016964118298783194 +4519 0.00028525555419425173 -0.00023870753036224387 0 0 0 -0.00015619011815230509 +4551 2.4583463611055733e-05 0.0005506527400260471 0 0 0 -3.562142588926917e-05 +4571 6.447263185237395e-05 0.0006150616358280558 0 0 0 -2.2816686790393744e-05 +4584 -0.0002056645513983291 0.0001092885865840827 0 0 0 0.0001370051800070406 +4602 0.0001683650427225969 0.00023713481173001432 0 0 0 -6.97861583434472e-05 +4627 5.395772297507366e-05 0.0007252759312425984 0 0 0 -0.00017561299576187675 +4646 -0.0001852314956309336 0.0005587915151387811 0 0 0 -5.221830460992173e-05 +6775 -3.8922204017670485e-05 0.000659012254680618 0 0 0 1.4532896788417432e-05 +4697 -0.00014707251028262173 0.000577477520979349 0 0 0 -7.226698298506669e-05 +4705 0.0003969094426876245 -8.183896314874009e-06 0 0 0 5.101828503973683e-05 +4707 9.810273071027879e-05 0.00018862486140972903 0 0 0 -4.67772112584536e-05 +4721 2.7102460918247053e-05 -0.000447112235768134 0 0 0 0.00013903854582448247 +4738 8.344455653166905e-05 0.0006789160697132058 0 0 0 -1.2232060646067547e-05 +4768 -0.00021557875199483745 4.692173945450895e-05 0 0 0 0.0001511090684004018 +9815 -0.0002763676880599885 0.0005542536348858548 0 0 0 -1.2073880853169076e-05 +9927 0.0003758099313123951 -0.00035347605415313567 0 0 0 -0.0003909586756673607 +4794 0.00012085563990782862 0.0005953144894466327 0 0 0 -6.142567836139841e-05 +4804 -0.00015242156812998262 0.0005830936956735456 0 0 0 4.489417522031332e-05 +4934 4.320493932212981e-05 0.0007006938615142647 0 0 0 -9.184771777433887e-05 +4969 -1.847480479174734e-05 3.908469447217306e-05 0 0 0 5.252881466029344e-05 +4992 0.00019250968244956425 0.0007016254803420115 0 0 0 -9.595047931883583e-05 +5018 0.00017584040636375783 -7.413062519189455e-05 0 0 0 3.4353633094758754e-05 +5025 -6.352440245377943e-05 -0.00017947712706039196 0 0 0 -0.0002135800995546683 +5065 -1.9789273961356855e-05 0.0007334263991707804 0 0 0 7.766515137814587e-06 +5116 0.0001919808263507542 0.0005675038667314016 0 0 0 -2.7602580193053748e-05 +5157 1.6795700856789113e-05 0.0005513109489517468 0 0 0 7.745585533474072e-05 +5163 1.222748192951088e-05 0.0002148783222067786 0 0 0 0.00017431555157131144 +5170 0.00031889190965452355 8.349223470423998e-05 0 0 0 2.0713605142843096e-05 +5189 0.00020653509391281832 0.000405496576823109 0 0 0 0.000125474840200729 +5191 0.0001407257702362454 0.0007190489201245351 0 0 0 -0.0001321198598091645 +5200 0.0001276152115758814 0.000270823093334142 0 0 0 2.990706782865087e-05 +5202 -0.0002346308589835047 0.0004281370873617174 0 0 0 5.383826563679827e-05 +5292 -6.627294440352388e-05 0.0007615182737689409 0 0 0 -6.316547087365301e-05 +5297 0.00018944561754132393 5.006450585179504e-05 0 0 0 -0.00014338895798050524 +5323 0.00015022976381196267 6.685491680374873e-05 0 0 0 -6.390511311286985e-05 +5349 2.3288710222090006e-05 0.0005649792441722996 0 0 0 6.159368988438087e-05 +5368 -0.00021859427349547002 0.000546332353499996 0 0 0 -6.953452065891235e-05 +5407 0.00022056433335967203 5.7986175372884465e-05 0 0 0 0.00012717965788244058 +1690 9.100438920416254e-05 0.0007414181092159694 0 0 0 -3.772490687342315e-05 +5445 4.47167786562076e-05 -2.4134117923073903e-05 0 0 0 0.00020606193155755614 +5462 -2.445044736906314e-05 0.00015949734136002172 0 0 0 -1.45120752340593e-06 +5468 -0.00020427340823248963 0.00046973240208051005 0 0 0 -0.00014242266973174856 +5490 -0.0001240769907815494 0.0006402146914681381 0 0 0 3.520996192077758e-05 +5499 -0.0010520112855687686 0.0013847347814309645 0 0 0 0.000622119963272833 +5529 -4.540885506193757e-05 0.0007000592629155531 0 0 0 1.9487002533156615e-05 +5646 -0.0002998108283645766 0.00021116099629868806 0 0 0 0.0003205754254640129 +7562 0.000494860585752901 0.0004821475980794969 0 0 0 4.81056821845786e-06 +5704 0.00025178166168939763 3.4669533357085015e-05 0 0 0 3.892685417228974e-05 +9498 0.00025823772103727874 0.00012759183174147453 0 0 0 1.3553695316526917e-06 +5781 0.00029406324752059685 0.000208860054426283 0 0 0 -0.00011730454931227237 +7465 0.00022148362667656437 0.0007300651718622557 0 0 0 5.4977344966427655e-06 +5794 0.00012421900785352172 0.0002389275458344534 0 0 0 -1.152499576549782e-05 +5797 -0.00019521624409350358 0.0005280043564384993 0 0 0 -1.9531946842452787e-05 +5825 -0.0003580853088683819 0.0004664758456142342 0 0 0 -6.824720584528225e-05 +5899 0.000139213757408264 0.00028309293040203854 0 0 0 7.31914032128048e-05 +5923 -5.970806753051322e-05 -8.328128878064918e-05 0 0 0 5.057623294680101e-05 +5097 7.990152960749366e-05 -0.00025706914685836104 0 0 0 -2.5998445873105507e-05 +2337 -0.00012567173346587297 -0.0005809668351922497 0 0 0 -3.2684720094935965e-05 +5994 -0.00011262074104046317 -7.292928633848841e-05 0 0 0 4.163129124375085e-06 +1796 0.00034650697252442054 0.0007695451140205723 0 0 0 6.455008020381326e-05 +6040 -7.888235134564752e-05 -0.0005340293235984845 0 0 0 6.87852722849857e-05 +6090 -0.0001082782432241165 -0.0005597938043718112 0 0 0 5.421630078079161e-05 +1868 0.00032352802716607566 -3.102931995153032e-06 0 0 0 1.3259818515575444e-05 +6169 -0.00014463862808839533 0.0005865591033459762 0 0 0 3.942904454949517e-08 +6227 0.0002302061661030062 0.00013875906188752756 0 0 0 1.953294262969424e-06 +6230 2.9151589918660215e-05 -0.0004990650147742844 0 0 0 -1.254150739790356e-05 +6234 -0.00032425431517679287 0.0010289863226608977 0 0 0 -0.00031379373884351386 +6262 0.0001259524918313399 -0.00046669574422129374 0 0 0 -2.5871104208683996e-05 +6300 8.125287130365238e-05 0.000182957964886314 0 0 0 -3.9473070491057944e-05 +6308 0.0002973601897170881 6.428074827570617e-05 0 0 0 -3.8316891540126416e-05 +9930 3.4008284652520403e-05 0.0007124450135369615 0 0 0 -0.0001718967611718583 +6328 -0.00013572857964694334 0.0006187580448973182 0 0 0 2.9908080967074512e-05 +6343 1.2404797887053474e-05 0.000696064930329365 0 0 0 7.796749459203167e-05 +6363 4.3196758203262094e-05 0.0005782474948119034 0 0 0 -7.469342293147407e-05 +6423 0.00012571092767810422 0.0007324227985017357 0 0 0 -3.508195486372872e-05 +6426 -8.438827100862524e-05 0.000647201728726495 0 0 0 1.058023343026127e-05 +6453 0.0003131339746019808 1.0546226619161249e-05 0 0 0 -2.4158230155554606e-05 +6486 -0.00044892303873798455 0.00037389393771704977 0 0 0 -0.0005500839449470492 +6504 0.0002470746206570152 -0.00010717876357703291 0 0 0 -0.0005083041604782826 +6505 0.00012888018740254582 0.00038095998431399635 0 0 0 -8.202851309807384e-05 +6561 3.693315529284525e-05 0.0005516818832762024 0 0 0 -2.455232926665863e-05 +6607 1.0145327341804857e-05 0.0007238677302508901 0 0 0 8.538547977558744e-06 +6635 -0.00013125243354218094 -0.00027083457476411913 0 0 0 7.156383558802342e-07 +6690 9.268303446941859e-05 -6.128781481726631e-05 0 0 0 9.105744975447313e-05 +2036 2.9819678655663896e-05 0.0007608883318785861 0 0 0 1.3236012146988717e-05 +6737 -0.0001059153996714669 0.000553044213030619 0 0 0 0.00012431907974815948 +6744 -0.0015285583304998345 -0.0005970481506053508 0 0 0 0.0009130283758395007 +6766 -0.00011466251077025208 0.0005821262606322618 0 0 0 5.283336497184816e-05 +6760 0.000329969824917637 -8.96952308353295e-06 0 0 0 5.815041362162218e-06 +6797 -0.0002677097192722928 0.0004797225462811169 0 0 0 -8.559772998373881e-05 +6859 0.00017170101317332505 0.0002445858208630515 0 0 0 -9.883777228184637e-05 +6896 -0.00020621694945293194 0.0004793805445773613 0 0 0 9.441909516161613e-05 +163 -0.00010401630679178695 -0.0007548879257654443 0 0 0 1.5806036987090767e-06 +9867 -3.322040328140069e-05 0.0007140019747689834 0 0 0 2.5590105371601744e-05 +6970 1.6314464730825085e-05 0.0006159747984632582 0 0 0 -9.874851638084187e-06 +6980 0.0004622782812689239 -1.9041262796987313e-05 0 0 0 6.520512063700121e-05 +6986 0.00015570136806838865 0.00025705873054834963 0 0 0 -4.134092310432958e-05 +6993 -9.485118493794312e-05 0.0006866275084837163 0 0 0 4.912344239820906e-06 +7009 0.0003621626177740338 -0.00033038982454665133 0 0 0 0.00042884838212587555 +7010 -0.00019799542745826105 0.0005971709953894114 0 0 0 -7.349191519309651e-07 +7020 -9.869761367666559e-05 -3.196370257917411e-05 0 0 0 4.4167508673375786e-05 +7037 -0.00023292792886773746 0.000687587171134385 0 0 0 5.3007614643546044e-05 +484 0.00027745250486915194 0.0005104043194204265 0 0 0 -2.858791271051952e-05 +7134 0.00014275479707475335 0.0002682355179851076 0 0 0 6.628403183575024e-05 +7275 0.00038032254132389255 7.68460700766228e-05 0 0 0 0.0005361428274832639 +7280 0.00024671251205183583 0.0002531212400048401 0 0 0 -5.257896121814446e-06 +7355 3.273969036561796e-05 -6.880552412092051e-05 0 0 0 1.705231682774838e-05 +854 0.00030002977995421997 1.0241795419663285e-06 0 0 0 -2.452600181897678e-05 +7459 0.00038842598802044884 -1.7593128663253495e-05 0 0 0 6.895409435990599e-05 +8188 0.00031325868995538814 0.0005050485859912104 0 0 0 4.5687554125658686e-05 +7538 6.690970767884412e-05 0.00018346821465260483 0 0 0 -5.243758232696859e-05 +7583 -0.00011720858495343096 0.0006066460975381465 0 0 0 -3.723573609046141e-05 +7594 -8.367498605250748e-05 0.0006456537734607517 0 0 0 4.8603137591941545e-05 +7642 -4.8533144029824135e-06 0.0001449796920258708 0 0 0 -2.001817771475667e-06 +7672 0.00010801498512644353 0.0005568002393192506 0 0 0 0.00014650372260864737 +9209 -0.00010089175145484473 -0.0006608076035495736 0 0 0 -4.329827438742652e-06 +7723 0.00014075450426421506 0.0005381074248146883 0 0 0 -4.55134166683896e-06 +7751 1.4196144862141963e-05 0.0005513006667471545 0 0 0 -0.00011783290255453639 +7767 0.0002651903291120952 0.00012545793820320131 0 0 0 6.6463423538492784e-06 +7777 -8.800447085113641e-05 0.0005851792487936309 0 0 0 1.8474585114580573e-05 +7828 -1.8534362279978283e-05 6.337713348719722e-05 0 0 0 4.059076750147531e-05 +7832 9.15533277051652e-05 7.00219585370318e-06 0 0 0 8.178953666565691e-05 +7844 0.00047806608264740777 -7.12454786165331e-05 0 0 0 -0.0001018144948369194 +7869 0.00036406056234126837 -0.00021864210420656732 0 0 0 0.00015354063138237433 +9573 -0.00019661714331069678 0.0005830729431298218 0 0 0 -9.529124624970903e-06 +326 -0.0002383532304973023 0.0006151798508671913 0 0 0 -2.921168464507704e-05 +7906 0.00014964704423670229 0.0006985447614680747 0 0 0 -0.00025663105367421514 +2942 1.4528410709831698e-05 0.0007472615651979167 0 0 0 -2.8736761665397267e-06 +1638 0.00023175046113647538 0.0005750355175808195 0 0 0 7.102047213782658e-05 +7931 0.0002026833166697997 0.00047964628007886534 0 0 0 -4.706477863585323e-05 +1132 -0.00025852752466661765 0.0005908266149580289 0 0 0 1.4773909998036074e-05 +7980 -0.0002719230406203495 0.000140875985056006 0 0 0 -0.0005181686544856809 +7988 0.0001539046188762857 0.0005962881125643421 0 0 0 -7.770757306823132e-05 +8018 -6.884121670272129e-05 0.0003649545952014265 0 0 0 -2.012999302177762e-05 +9437 -0.00012478317009727386 -0.0005562612541635501 0 0 0 3.518960651068787e-05 +8099 0.00011450758863378141 0.0002021630144157249 0 0 0 -2.6147517991212524e-05 +8129 2.7366475948656712e-05 -2.7741300555931057e-06 0 0 0 0.0001119887791231389 +8142 -0.00014016383344494826 0.0007018715721053408 0 0 0 -2.2871146030133784e-05 +3395 0.0002027558725667525 0.0007319787052843889 0 0 0 -0.00011169558952426328 +9872 0.0002877682582531669 0.00010504338634315768 0 0 0 1.9145622814281207e-05 +8225 -0.00025019307719511554 0.00044045932355059585 0 0 0 -8.284473955854453e-05 +8231 0.0003575475857657959 -1.6192370106049307e-05 0 0 0 -5.511766900080733e-05 +8236 -0.00043686635454174877 0.00028406806401209397 0 0 0 6.374326296154168e-05 +8260 0.00021596850717154999 0.00018735316811306957 0 0 0 -5.442373651329465e-05 +8276 -0.0003170115345731724 0.0005311242187726284 0 0 0 -2.4541848477472016e-05 +6689 0.0002554723859807868 0.0007819121072180925 0 0 0 -0.0002037320882860359 +151 -0.00013280204444157632 -0.0005778978744670953 0 0 0 4.538651543404525e-06 +8304 0.00045789587818185427 -0.00014240796475380207 0 0 0 0.00018957427647531765 +8316 -0.00022224419973362753 0.0003473828714871931 0 0 0 6.180859672293327e-05 +8326 -0.0002608490665908335 0.00046184373929540146 0 0 0 0.00017079689328695487 +8333 -0.00019206204263286415 0.00016271882986618693 0 0 0 0.0006809523239740667 +8346 -9.998476939356409e-05 0.0007005320019345099 0 0 0 -7.571077514692403e-05 +8348 0.0004990785544532967 -0.00012071165575176803 0 0 0 -7.589441726867213e-05 +8349 9.329667843030871e-05 0.0005234117131014431 0 0 0 -4.14369558590131e-05 +8431 -8.580881207050581e-05 -5.197460168463684e-05 0 0 0 -0.00021841021950449248 +8433 0.00014136499594598632 0.00038585994985391417 0 0 0 6.783171216591868e-05 +8437 0.00027921150895224354 2.9556429525972308e-05 0 0 0 -9.62780554969843e-05 +8446 3.6740144497153606e-05 0.0005643561569615196 0 0 0 -9.692183024689359e-06 +8450 -0.0003839093180985275 0.0004428666863883775 0 0 0 4.291620128690959e-05 +8500 9.834254740022473e-05 1.235675959627471e-05 0 0 0 2.2859870017416735e-05 +8503 0.00015278989672406988 5.6144665187116004e-05 0 0 0 2.9916745564206628e-05 +1035 -9.574354207107076e-05 2.9288216994735133e-05 0 0 0 -0.00021268342914655526 +8544 -0.00228573821704722 0.0012076977542830483 0 0 0 0.0016179513944286198 +8571 -0.0002058396125809929 0.0005635614830371957 0 0 0 2.6594665423006027e-05 +1826 -0.00010571866064948155 -0.0005475377714342936 0 0 0 -2.7534873582781638e-05 +8594 -5.8903034775618944e-05 0.0003622509799984154 0 0 0 0.00013707581046000446 +8616 0.00022232238485850382 -2.3683844562696844e-05 0 0 0 -5.4235777401375694e-05 +8618 0.00017578252201878804 6.424467067442502e-05 0 0 0 -0.00023190510792910014 +8639 0.00011265966503723894 0.0002352658793442595 0 0 0 -6.0592091020290926e-05 +8644 0.00013528652089474607 0.000713873890519624 0 0 0 -2.616609180381634e-05 +8460 0.0002867810232493825 3.5009972087346766e-06 0 0 0 -0.00017991311724911607 +8704 -5.568759655672714e-05 8.407795426138794e-05 0 0 0 5.431110082371428e-05 +2632 0.0005317693659445419 0.0005918039964201925 0 0 0 0.0001006176372687323 +6228 9.803933142751243e-05 0.0008156835816692065 0 0 0 -2.4181340976560773e-05 +8754 7.770370016876526e-05 0.0002978973872889694 0 0 0 3.474528486389159e-05 +8758 0.0002501447398567621 1.8867522057137233e-05 0 0 0 0.00016802189342564236 +8771 0.00014791158453321903 0.0007783797058658704 0 0 0 -4.273205285490118e-05 +8193 0.0015396754652721991 -0.0010236782029519522 0 0 0 -0.0020709400523511385 +8345 0.000329717264954173 8.820207323112219e-06 0 0 0 3.131669524947674e-05 +8906 -4.331321361764698e-05 0.0004939357282115984 0 0 0 -4.296427004645781e-05 +5004 1.981574612508481e-05 0.0006341569273000205 0 0 0 -2.172678556429185e-06 +8922 0.0003760828679242414 3.6523795725747982e-06 0 0 0 2.307074826988404e-05 +8948 0.0002977125590407787 -1.6392563884392855e-05 0 0 0 6.284197656664132e-05 +8952 -1.9707925231612377e-06 0.00036343346452211617 0 0 0 8.16992181078821e-05 +8684 0.0002618555162874044 -1.032791678638526e-05 0 0 0 -0.00012004811268520191 +9004 -0.00010642316029095703 6.070223831922409e-05 0 0 0 5.857573765358595e-06 +9036 0.00022745171343835433 0.00023713096379924723 0 0 0 0.0002471449962690542 +9044 -0.00010351923144807298 0.0006243880713840226 0 0 0 -5.102072416867147e-06 +9915 8.115457457775804e-05 0.0007500746757168976 0 0 0 2.5360689002355798e-05 +9069 0.00014485854705960886 0.00021030704637094145 0 0 0 3.590389576325447e-05 +9075 -4.790784272919669e-05 -0.00023484168675156172 0 0 0 -0.00026980403287786905 +9120 -0.0002555014081058892 0.00010687751576853366 0 0 0 0.0006859584937176317 +9124 -9.890983256258894e-05 0.00048277287576478124 0 0 0 -3.567043905318476e-07 +8986 5.793001784111964e-05 0.0006684582394055621 0 0 0 -4.177220803016713e-05 +9147 0.00012145728284834938 -0.00015764915463841193 0 0 0 -2.8161467537478524e-05 +9157 -0.0011234781989241892 -0.00015358808638745464 0 0 0 -0.0004065059508938356 +5675 -0.00015143404743743906 0.0005649681195395045 0 0 0 5.5461498117339276e-05 +9272 9.595460383331783e-07 -0.0004610000020470924 0 0 0 0.0001575591530425899 +8140 0.0002683558853257755 6.118799158528622e-07 0 0 0 -4.0549173680675853e-05 +9360 -0.00036738501284470996 0.0004855463306401477 0 0 0 -2.2112302820132133e-05 +9388 0.00034745763463576995 -1.1058722993349933e-05 0 0 0 3.101517435740444e-05 +9393 0.0002036500398256921 -0.000456202435951257 0 0 0 0.0005801101431124374 +9402 -1.6073797796799018e-05 0.00018686532508948144 0 0 0 -3.716779631636375e-05 +9424 -2.6562672466640404e-05 0.0007415735328528625 0 0 0 5.114213422037074e-05 +4109 0.0001716211220102411 -0.00011704916737200364 0 0 0 4.499070953391844e-05 +698 0.00013599885706399545 -2.5051544599708894e-05 0 0 0 7.158463312937468e-05 +4694 0.0018291558938100555 0.0005744845030388793 0 0 0 -0.0003647697089588765 +1880 0.000249529358312176 0.00031920347528406 0 0 0 -0.0003156340424094843 +54 0.0007900831534332075 0.0006800531533166371 0 0 0 -2.629468996238917e-05 +70 0.00031841616567174306 0.0004883842013332387 0 0 0 -7.2588950131863435e-06 +73 0.0009907811677334745 0.00044230360932154294 0 0 0 -2.5248877935020025e-05 +89 0.0004929164935991113 0.0006766399626066899 0 0 0 -1.570974618832221e-05 +232 0.0002695463165558398 0.0005631697124659844 0 0 0 -1.4869841441765676e-05 +267 0.0007036245022186889 9.521093165378346e-05 0 0 0 -3.1579470129368104e-05 +274 0.0008651941998571835 0.0004033156643198631 0 0 0 -3.3975293247610825e-05 +275 -3.677363051806513e-05 0.0008028836472715662 0 0 0 -2.1167418912868535e-05 +278 0.0002292616839101318 0.0005769523717227778 0 0 0 -3.728342747709507e-05 +8550 0.0008914215176173487 0.0006254318041713693 0 0 0 -3.24239112788186e-06 +1228 0.001120324244539719 -0.00019834118388177067 0 0 0 -6.0338671709423405e-05 +381 3.879441711678809e-06 0.0007959925678330607 0 0 0 3.5551947683994713e-05 +5935 0.0008938737975367462 0.0006115781924290367 0 0 0 5.777858022054459e-06 +453 -0.0003526800463065215 0.00019308400307777582 0 0 0 5.005898257312709e-05 +468 0.0005025565970671927 0.0005868327146653162 0 0 0 -2.8738045004696633e-05 +9781 0.0016870655868822609 0.0002709469734759303 0 0 0 -0.005324600916401736 +509 -0.00012094130498744038 0.0002198447369410381 0 0 0 -0.00012399731049499493 +515 0.00020078658998439223 0.0006237493179558654 0 0 0 -2.8582369543390932e-05 +523 0.0006419831971256944 0.0006891887584651736 0 0 0 -2.554513990495553e-05 +538 0.0005881808010439961 0.0006793262859587355 0 0 0 -4.209246655794233e-05 +670 0.0008412619896821415 0.0006273716512500077 0 0 0 3.2942567518377947e-06 +711 0.0005236637072499415 0.00026757220545830965 0 0 0 -7.480100635612113e-05 +3903 0.0009764695368616948 0.0006185727239159722 0 0 0 -1.0000655217753354e-05 +749 0.0007721301729350624 0.000596700999286677 0 0 0 1.3936819200674859e-05 +3185 0.0009210845490103565 0.0005474280537664779 0 0 0 -2.9294510678293396e-05 +793 0.0006693741769676049 0.00010808314453775072 0 0 0 -3.0349316465599694e-05 +814 0.0008574262538280377 0.0005009701656720702 0 0 0 -3.483797608692987e-05 +827 0.00015546732778063652 0.0006058921955109681 0 0 0 -0.0001691365914525506 +832 0.0003277862762319354 0.000634485114849403 0 0 0 -4.176632570948301e-05 +852 0.0007332249616738992 0.00020218243842997098 0 0 0 -5.265658119690191e-05 +922 0.0008003053883437768 0.00027334356774147807 0 0 0 -5.547651224627628e-05 +928 0.0005842012821486274 0.0006791184787401307 0 0 0 2.2330739350485202e-07 +1050 0.0006097705199493469 0.0005128851923423579 0 0 0 -3.2370262412675852e-06 +1056 0.00040278895635333063 0.000459207084448561 0 0 0 -6.998118593690996e-05 +1113 0.00012784028235220484 0.0004313857371905616 0 0 0 1.242734319687403e-05 +9893 -4.771152054472098e-05 0.0005964630055250411 0 0 0 0.00039706359969754186 +1162 0.00029023391309092496 0.0006581488276051898 0 0 0 3.930956304315948e-05 +1187 0.0006328957776139598 0.000663109174360419 0 0 0 -3.877676104482534e-05 +1196 0.0005893586993596368 0.000655016255479002 0 0 0 -1.6891345697790645e-06 +1212 0.0006301597714562608 0.000622152385543362 0 0 0 -2.4211531178362724e-05 +3677 0.0005507809466586614 0.00024565440121836397 0 0 0 -2.538344179869721e-05 +1248 0.0006211241173902398 0.0005441801282075505 0 0 0 4.811038551835125e-06 +1270 0.0010263455480172736 0.0001580999728856498 0 0 0 -5.327774556447117e-05 +1291 3.4548614559195256e-06 0.000674059913744413 0 0 0 0.0001319094750394523 +1323 0.0009640792956033595 8.08096587227316e-05 0 0 0 -4.539958601054837e-05 +1365 0.0002494588613601032 0.00037977450438488795 0 0 0 -3.5835152169068455e-05 +1371 0.0008416535896030496 1.781162003131682e-05 0 0 0 -3.6271888320375096e-05 +1374 0.0005413886645939244 0.0005454182598859807 0 0 0 -5.2180903413115324e-05 +1441 0.00034659019289046903 0.0006069997240466432 0 0 0 9.973862431557463e-06 +1494 0.0006851590556377847 0.0006468810259086542 0 0 0 1.6642491608861222e-05 +1520 0.0006303887182078408 0.0004382376290808058 0 0 0 -6.726230886079749e-05 +4670 0.0009069767290782758 0.0006164444212973296 0 0 0 -7.074464312917935e-06 +1548 -0.0002725160343244083 0.00026051270069545626 0 0 0 0.00010200936621354082 +1573 0.0008436786000370095 0.0005251056427678203 0 0 0 -4.1225857383511125e-05 +1628 6.384290254029699e-05 0.0006479804228352702 0 0 0 -8.076025223792458e-06 +1734 0.000606190535989386 0.00038209006063734613 0 0 0 -4.220077428741081e-05 +1762 0.0010339653844180766 -7.665835469963553e-05 0 0 0 -8.60350134193532e-06 +1775 -0.00014782044772697169 0.00041879157214219474 0 0 0 -0.00010085266398299042 +9977 0.0010142657313964478 0.00044639464503670593 0 0 0 -4.535233323657344e-05 +9768 0.0006584460836325639 0.0002771515664885851 0 0 0 0.0001712077086386613 +1850 0.00024091963404443737 0.000744485627933868 0 0 0 -5.070420583057354e-05 +1866 0.0001405791980198873 0.00047259283533997675 0 0 0 -6.285391064729398e-05 +1878 0.00027417629728647034 0.0006964686765008941 0 0 0 3.0449000661841383e-05 +1963 0.0003269844492891312 0.0004891218316899262 0 0 0 -2.7326774106244938e-05 +1988 0.0008901313358876522 4.774151244958665e-05 0 0 0 3.574324070228012e-06 +2011 5.5353218997082035e-05 0.0006645686183436056 0 0 0 -9.541835608466631e-05 +2070 0.0002576584813196431 0.0006042799961837104 0 0 0 -0.00023978328203149398 +2091 0.0007585917635918653 0.0006447073645611053 0 0 0 1.3883557312272322e-05 +8031 0.00048510906808234185 0.00013623455038510817 0 0 0 -1.093038845200777e-05 +1531 0.0010121832153405065 0.0005542319480411994 0 0 0 -7.709477637212954e-06 +2106 0.0001045368026562191 0.0007311128939204593 0 0 0 3.3364799852545546e-05 +9690 0.001009065017821491 0.0005142030131401109 0 0 0 -9.024398269504072e-06 +2161 0.000748466747489933 -4.321889982864793e-06 0 0 0 -8.714844571787789e-05 +2207 -2.277628194597098e-06 0.0002521682059912236 0 0 0 -0.0001751231045950265 +2208 0.0006018523547420906 0.0006719604236413683 0 0 0 1.6373148794235189e-07 +2475 0.0009486437042821903 0.0005170261158094644 0 0 0 -3.255682608268314e-05 +2323 0.0007155020938559752 0.0006064351523714008 0 0 0 -7.638080527215274e-07 +9791 -4.8684628827643036e-05 -0.0007330018582915328 0 0 0 -0.00012882934051917564 +2368 -2.811465615640655e-05 0.00035528286315154205 0 0 0 -0.00019237761183674092 +2433 0.000627060171329444 0.0006881162232178504 0 0 0 5.4637253790139334e-05 +2449 0.0002317163174333834 0.0006958812481887888 0 0 0 0.0003699523655872515 +2467 -1.9375547838718458e-05 0.000759151758038194 0 0 0 -0.00022344414121769238 +2919 -0.00012663309913757574 0.00040663765716045415 0 0 0 -0.0002120621987497711 +2485 5.396954788369355e-05 0.00050613643129143 0 0 0 -0.00020698095917282504 +2503 0.0005950297634167415 0.00024880764753818754 0 0 0 -4.18945290872645e-06 +2514 0.000627706315500506 0.0006619290998150294 0 0 0 -5.797668553555039e-05 +5551 0.0009210816748210525 0.0006262582627491965 0 0 0 -2.310965480761476e-05 +2562 0.0010716819559092637 0.0003111558107961886 0 0 0 2.845656312692502e-05 +2636 0.0002531702257252412 0.0006874666171424645 0 0 0 3.704970123155891e-05 +2710 0.0007425562273391836 0.0005401551160644686 0 0 0 3.933418324601143e-05 +2716 0.0009467378914738036 -2.1564213568987472e-05 0 0 0 -0.00012230431861410895 +2721 0.0006018320403567072 0.0006231224696440845 0 0 0 -3.0296662492848447e-06 +2730 0.0005711766994968296 0.0005583497354193978 0 0 0 -4.0713982198219405e-05 +2733 0.0005492212913817832 0.0003299828876257153 0 0 0 -0.0001617015844109506 +2777 0.0006926696291506392 0.0006935550217795631 0 0 0 6.940187248686513e-05 +2800 0.0005215900048118634 0.00030045912985960304 0 0 0 -0.00011226178058959009 +2834 0.0006149848879213722 0.0007775581470525939 0 0 0 -3.96797089229944e-05 +2837 0.00010438495594075633 0.0004843900396806736 0 0 0 -6.08795834273267e-05 +2844 0.0006449203466602316 0.00015426736336203583 0 0 0 -4.387477436385923e-05 +2273 0.0008852739205505622 0.0006428342890326742 0 0 0 8.758344321227393e-06 +6120 0.0007903218313396148 0.0007029624096209456 0 0 0 7.161885342888606e-05 +2904 0.000891692866309399 0.0003821742309767396 0 0 0 -4.599111744316231e-06 +2935 0.0010580278586551448 -0.00014937347207082263 0 0 0 -3.813493570262634e-05 +2998 0.0006692188056664993 0.00035818164200467485 0 0 0 -3.8832819121600874e-05 +3076 -0.00019186583182197997 0.0007559098724598496 0 0 0 -9.338174718486698e-05 +3079 2.944697135319436e-05 0.0006010863368717911 0 0 0 -0.0001676439132639928 +3089 0.00041816608901212296 0.0006248491781544961 0 0 0 -2.284595054630972e-05 +3115 0.0003030408773479441 0.0006312541103839957 0 0 0 -8.393603892678338e-05 +3124 0.0005641157949294447 0.0004961339989317803 0 0 0 -2.8522869104146658e-05 +3129 0.0006310253923541744 0.0006319111922956062 0 0 0 -6.897779450108883e-05 +3131 0.001014041561314968 -5.863452805744687e-05 0 0 0 -3.6511945836467975e-05 +3188 0.0007930585883469296 0.0006171635694247647 0 0 0 -3.186139980679465e-05 +3236 0.0007638288908235949 0.0005631788824537975 0 0 0 -4.700480866374952e-05 +3252 7.357560643782458e-06 5.604616907063316e-05 0 0 0 -2.4249022325321958e-05 +1590 0.0008794826346277179 0.0004775958033811228 0 0 0 7.766897718070373e-05 +3310 0.0006933891328096888 0.0007079239531971133 0 0 0 0.00017314984007044663 +3335 0.0003976678260937092 0.0005730155631612104 0 0 0 4.3019554650377286e-05 +3366 0.00039803920392577345 0.0005457132534339207 0 0 0 -5.422653113998474e-05 +3416 0.000708085136001276 0.0006409036677415326 0 0 0 -6.634823326382919e-05 +3462 0.0006584023767129821 0.0005987971212406363 0 0 0 -4.386237386423206e-05 +3463 -0.00035646409096353143 0.00029143645052793056 0 0 0 0.00013231609924855731 +8218 0.0008633078555257025 0.000616750446006591 0 0 0 1.9925172465276215e-05 +3869 0.0009109418694051165 0.0006227118552821167 0 0 0 -5.9409371922290415e-06 +2268 0.0009240171017802738 0.0005273678640172382 0 0 0 -3.1648508046185836e-05 +5414 0.001051295433804137 -0.0005910589445333197 0 0 0 0.0002795211266437643 +3607 0.00034376749495015484 0.0005467218401373024 0 0 0 -4.928325673761237e-05 +3609 0.0009486833558507404 0.0005851157896726171 0 0 0 3.74975384561571e-05 +3665 0.0007240053875520591 0.0006405908280007584 0 0 0 3.28244052648093e-05 +3671 0.001187340672820532 -0.00013047082934531125 0 0 0 9.858005007600066e-06 +3690 0.000984537107593983 0.00020310995405239653 0 0 0 -2.615318024369184e-05 +3716 0.0006812277420931128 0.0005136959804693578 0 0 0 1.35032428427821e-05 +358 0.0006132921165346438 0.00023966417864502006 0 0 0 -5.175429330443195e-05 +6681 0.0001720779773837469 0.00042110615673399604 0 0 0 -0.0002404207633337659 +3761 -0.00010427829741009662 0.00020989463689821791 0 0 0 0.0002866565701416459 +3793 0.00019664361425537593 0.0007324811934814099 0 0 0 -0.00013205418157059506 +3860 0.0007393307943953415 0.0003896599833243406 0 0 0 -3.5341292836147786e-05 +3863 0.0006973170887461909 0.000693488779506229 0 0 0 -3.6083576305779425e-05 +3880 0.0007515451750655852 -1.7440417688282767e-05 0 0 0 3.0086767370947387e-05 +3886 0.0001791893601570867 0.0004527490247784603 0 0 0 1.1713754641325262e-06 +3908 0.000242532180544851 0.0006750360070022561 0 0 0 2.548113789869208e-05 +3983 8.55957641525744e-05 0.00030482871431353035 0 0 0 -9.015495007569384e-05 +3998 -2.68983810869028e-06 0.0002665474325109274 0 0 0 0.00019014968981014311 +1838 0.0008865301350305522 0.000665054839919848 0 0 0 7.445311875186327e-07 +2587 0.0009833278023294583 0.0005642671733683062 0 0 0 4.9581073146379834e-05 +1149 0.0010299743051363334 0.0005205461796742606 0 0 0 -2.0234367801625375e-05 +4162 0.0009241332559178202 0.0005364321942324629 0 0 0 1.1505415470948422e-05 +4170 0.00046870736511671915 0.0007501149963621266 0 0 0 6.420521112012141e-05 +4279 -0.00033729183580203965 0.00022697119428742037 0 0 0 4.729194036368084e-05 +4298 0.0009990811119320985 -8.076345492919138e-05 0 0 0 -8.611243447975756e-05 +4319 4.7115818236309354e-05 0.0006167138849865211 0 0 0 0.0003218076180500203 +4344 0.0007561622431983906 0.0001772355327549502 0 0 0 0.00020338785374177597 +4385 8.214047592181235e-05 0.0005290674867767152 0 0 0 -6.884315911647316e-05 +6693 -0.0005436619062212684 0.0004946455770441653 0 0 0 -0.0011044352528029606 +3542 0.0008235314238403493 0.0006227982528348748 0 0 0 2.939508527788237e-06 +4419 0.0006699909271552381 0.0001395196844551752 0 0 0 7.944575284445435e-05 +4427 0.00020057142445147947 0.0004756699506729421 0 0 0 -3.4115267737074604e-06 +4504 0.000874983849751608 0.0006248277784048291 0 0 0 4.913743047344921e-06 +8059 0.0006871906339283823 5.752615296581804e-05 0 0 0 3.981097080643199e-05 +4521 0.0005876353550262598 0.0006477939396587531 0 0 0 1.600486109825764e-05 +4543 0.0003375349954575179 0.0005820717015357285 0 0 0 6.088901166656121e-06 +4561 0.00018121092695387846 0.00039152258992501194 0 0 0 -7.957552311407273e-05 +4850 0.0008764710958682726 0.0006350826536174123 0 0 0 -1.0858617349322398e-05 +4590 8.016449552193855e-05 0.00036820340348587297 0 0 0 0.00021405968327779288 +4606 0.0006959157210268156 0.000495562980916242 0 0 0 -6.766276087250799e-05 +4683 0.0010589540221013433 0.00024940108467695594 0 0 0 -3.1863952343398155e-05 +4689 2.9948828831423882e-05 0.0003603772956828358 0 0 0 6.344776929405916e-05 +4703 0.0008190457891633844 0.0006392458646205057 0 0 0 4.564126624938389e-05 +4819 0.0001639215544282877 0.0005928716051776677 0 0 0 -0.00019053826443576078 +4839 0.0006454764520483644 0.0006258414957753338 0 0 0 5.156482695273779e-05 +4859 0.00021979996568160528 0.0005145532530243719 0 0 0 6.810393810845555e-05 +4869 0.00017513633473170812 0.000629383457037679 0 0 0 -0.0003916674220081449 +4880 0.00047926012871171795 0.00045830551981827 0 0 0 7.648314260187189e-06 +4881 0.0007950965298864655 9.359343076495194e-05 0 0 0 -7.317511035747183e-05 +4883 -0.0011493879081428088 0.0004328075671287628 0 0 0 0.0007920008446406003 +6783 0.00020046017876622983 0.0005932823654295701 0 0 0 0.0007942055932559706 +7789 -6.285654719141307e-05 -1.07058075585672e-05 0 0 0 0.000772483260497933 +5019 0.0005761947862325167 0.0006440456699226565 0 0 0 0.00013628183693584472 +5024 0.0008884478849362354 0.0004240379858855324 0 0 0 -5.121621763818957e-05 +6756 0.0007022862708532796 3.6848897022881874e-05 0 0 0 2.759753799475499e-05 +5120 0.00045077269383908997 0.0006594081868644708 0 0 0 -7.631569704541434e-05 +5138 0.0005777762574525983 0.0006229629299974173 0 0 0 -7.897885235205186e-05 +5151 -0.00016958421417473493 0.0007288877393869476 0 0 0 -5.8948937203673004e-05 +5156 0.0008039035650826042 0.000634248454040639 0 0 0 -5.4307855656008626e-05 +5194 0.0007887574562510353 0.0006496318521555469 0 0 0 1.3877596264029558e-05 +5208 0.0009392437783773168 -0.000903676322116419 0 0 0 -0.0004984070575458654 +5210 0.0005149662432964352 0.0007669608069773881 0 0 0 -5.509228626283806e-06 +7794 0.0006404805327557246 0.00010982111730456743 0 0 0 1.0056113566670494e-05 +5247 0.0006116446218685736 0.0007038468594879487 0 0 0 -1.3501348273860421e-05 +3077 0.0001311914926570156 0.0003071876477944554 0 0 0 -0.00025779406665901614 +5321 0.0005019397168595213 0.0006869948131920611 0 0 0 -0.00025222293299393355 +9774 -0.0010773016398176248 0.0025688193018235505 0 0 0 0.005731121434344384 +9946 1.4365015818133076e-05 0.0001704080269878466 0 0 0 -9.618569414385745e-05 +9374 0.0009855833882816386 0.0005643918651088727 0 0 0 -2.3612772512524964e-05 +2235 0.0009902403607421337 0.0005320086617032986 0 0 0 -1.2108580874472471e-05 +5505 0.0009099660083026703 0.0005860077634925477 0 0 0 -7.691752396842843e-05 +5507 0.0007873648008575465 0.0005972019245599686 0 0 0 -3.637085975134531e-05 +5520 0.0006651910892024839 0.0006083723060103716 0 0 0 -7.135925911113606e-05 +5584 7.782115293166417e-05 0.0004735129458645669 0 0 0 -0.00013544491819371957 +5615 0.0004031537683250976 0.0005518226753241351 0 0 0 -6.367795903040101e-05 +5636 0.0009698989569416833 0.0001350681338233039 0 0 0 -4.534399404764098e-05 +5681 0.0010579992695674489 -0.00011065164341740813 0 0 0 -3.4417124641072256e-05 +5766 4.9935106980896413e-05 0.0008431582875739645 0 0 0 0.00018907144829274813 +5777 -7.895371841733531e-05 0.000679572710494357 0 0 0 -0.00011916735149523749 +3630 0.0004785548449767834 0.00011341553720224713 0 0 0 -2.7129187058835168e-05 +1415 0.001001895690129244 0.00045062798393810514 0 0 0 8.018417349872931e-06 +5873 0.0012112584381398887 -0.00016484506983879883 0 0 0 -6.124347271127404e-05 +5938 0.0007341353794803367 0.0006835152940371151 0 0 0 6.390758604902539e-05 +5969 0.0010131973441166043 8.392941874231045e-05 0 0 0 -4.662623163260967e-05 +5971 0.0006742167300791044 0.00032665546988822503 0 0 0 -2.4317525747056463e-05 +5979 0.0002556056776995744 0.0006863770218296241 0 0 0 0.00028179358417064655 +5996 0.0008734084695944896 9.489293769259661e-05 0 0 0 -8.514639676484625e-05 +6012 0.0013494178203248286 0.0007002503525556914 0 0 0 -0.00013632592961257493 +6048 0.00015335783034277407 0.0003751302096160108 0 0 0 4.006259090491106e-05 +6982 0.0007417444736332354 -2.0958047607180346e-05 0 0 0 -0.00014878295155965488 +9968 0.00028125436839185515 0.0006488743236352435 0 0 0 1.9592448615836304e-05 +3942 0.0009157980719244419 0.0006269780412577487 0 0 0 1.8592683336604923e-06 +6191 0.0008176868430089025 0.00061615521532361 0 0 0 -3.5523400146653786e-05 +6245 -0.0003753208900374157 0.0002752382705250316 0 0 0 5.3011345263117824e-05 +6254 0.0006425064255781082 0.0006572741209389789 0 0 0 -5.347411948678358e-05 +6266 0.0006901224645608396 0.0005632791813706488 0 0 0 -7.547037459457123e-05 +6271 0.0006450126186835707 0.0006259149032785289 0 0 0 0.00012311640066982047 +6361 0.0007495941723628784 0.0006282271403233386 0 0 0 -6.732240811808114e-05 +6369 0.0007157891413562284 0.00015710817692266132 0 0 0 -7.653715004058123e-06 +6375 0.00017796071213080453 0.0007568015838474177 0 0 0 -1.5112603826171562e-05 +6440 0.00014455423000237177 -0.00013543239588557964 0 0 0 -0.0007982820781874063 +6530 0.0006492549481620309 0.00046607119260284923 0 0 0 -8.09855035018841e-05 +6531 0.0008788284927986651 0.00014841412829421732 0 0 0 -4.2318093054044725e-05 +6718 0.0005030851929993533 0.00020142038799399173 0 0 0 0.00015709784535547158 +6582 0.0008462313089964506 0.0006179843603836741 0 0 0 -3.427671310798296e-07 +6586 0.0006552383135642698 0.0006748041450355665 0 0 0 5.461675766083439e-05 +6596 0.0006504735908560247 7.595938405470046e-05 0 0 0 -0.0003412508616855707 +6642 0.00013897152473506125 0.0006898484627745753 0 0 0 -0.00010603950196138026 +6649 0.00038174042859343005 0.0004322827945925609 0 0 0 -5.596389231839265e-05 +6659 0.00019960950306093225 0.0005191798692593363 0 0 0 -5.8685705495027454e-05 +6672 0.0006546651292211217 0.000482374856183888 0 0 0 -0.0001299213062562844 +7068 0.0009028492952392513 0.00045803301969883273 0 0 0 -9.995031109385944e-05 +6732 0.0005248413841266931 0.0006673550947834396 0 0 0 0.00010922146860915383 +3199 0.0009409840221130158 0.0005906141651934514 0 0 0 -2.6727616834660186e-05 +6778 0.0003557041317250257 0.0005593713423128652 0 0 0 2.5477029903448638e-06 +614 0.0008434078959595935 -0.00015301270171202123 0 0 0 -3.374972767427581e-05 +6825 0.0005535187126125868 0.0006876080686844323 0 0 0 3.632169940849567e-05 +3597 0.00048225634203564777 0.0006648181693040837 0 0 0 -2.3993398086739166e-05 +6844 0.0009851273066599513 3.932356239098267e-06 0 0 0 -0.00016401088783368967 +6857 0.000169944959291731 0.0005183918707505767 0 0 0 -4.954183410778095e-05 +6874 0.0022339368503992043 0.00028374515475512263 0 0 0 -0.001190621746319925 +6908 0.0005347887667664474 0.0003140182076803461 0 0 0 -5.715649596172436e-05 +6919 5.831225815927332e-05 0.0005345425803498639 0 0 0 -0.00019737923066908206 +3287 0.0009527184545757081 0.0006182600626846504 0 0 0 1.306174791883309e-05 +6952 0.00017987114263710396 0.0005834478246959792 0 0 0 6.704574187058167e-05 +464 -3.761711058462456e-05 0.0005903000997019986 0 0 0 0.00014926418541816818 +7006 0.000266571466273519 0.0004990556876935335 0 0 0 -3.0069605963345477e-05 +7051 -0.00010349629948323988 0.0008334153736889679 0 0 0 -2.0540201217796426e-05 +7062 -0.00010675324942473733 0.00015941176348618067 0 0 0 0.00034116901387434265 +7097 0.0003285770797553598 0.0005531555109951797 0 0 0 -1.7947223935797026e-05 +7107 0.0006061689383905142 0.0007451624736079085 0 0 0 0.00010160691811774366 +7183 -0.0002585783875650349 0.0007514358365117902 0 0 0 -0.00012050017182240617 +7194 -0.0004119707125351948 0.000600676654542791 0 0 0 0.00025956474806527265 +8829 0.0008601291317087339 0.0006989662477232669 0 0 0 6.183845070722637e-05 +7276 -7.693806845818453e-05 0.000859070594575172 0 0 0 0.0002396435145733256 +8506 0.0009736619505362179 0.0005050138090851777 0 0 0 -1.5709193046966235e-05 +7297 0.00017594290802780063 0.0006457811969527908 0 0 0 0.00017545898789391308 +7309 0.000670253947126447 0.0005684585418814713 0 0 0 -4.243007945482252e-06 +7363 0.0007839976062709985 0.00014923238430402514 0 0 0 -0.0004778500713007527 +7365 0.0009027580661517512 0.0004487298951523335 0 0 0 -6.41823636101804e-05 +7366 0.001036494513290936 0.00029980004430760335 0 0 0 -0.00012460267973336492 +7409 0.0002231504963034133 0.0008502579443123403 0 0 0 0.0002937705217284667 +7411 0.0006097315118327716 0.0005900394239488242 0 0 0 -7.035689558325914e-05 +7461 0.0006390416436324934 0.00029815656691814144 0 0 0 -7.078816835532237e-05 +7487 0.000635995818182132 0.0005117730245788051 0 0 0 -3.707850444364517e-05 +7535 0.0003654452288870877 0.0003310901690772036 0 0 0 3.0370212509236583e-05 +7559 0.0008455311862937011 0.000655549896645962 0 0 0 5.591565687068271e-05 +7607 0.00023009540371348147 0.0005197627273165907 0 0 0 -3.4653293580831095e-05 +7717 -0.00024367108073363925 0.00017086596588395468 0 0 0 -9.990754702015502e-05 +7760 0.0001232864070589447 0.000563211943355486 0 0 0 0.00045540963246452546 +7766 0.0004987285659205659 0.00042001615407705146 0 0 0 -0.0002457153338549254 +5355 0.0003742238991151135 0.00023076422806653127 0 0 0 -0.00039070023468713817 +6927 -9.931407335216912e-05 -0.0001620238859281368 0 0 0 -0.000327623454354301 +7851 0.0007341951125018628 0.0006246240839862913 0 0 0 1.1486502894228733e-05 +7905 0.000862626017743495 0.0006146550543127346 0 0 0 3.9017264062224936e-05 +7923 -0.000283632866387886 0.00048795350522985915 0 0 0 2.791790432634009e-05 +7958 0.0011436242186102137 -9.780115418108363e-05 0 0 0 -5.970131815685941e-05 +9738 0.0007312954848938115 0.0006821683714162787 0 0 0 -0.00014848062659992116 +7991 -0.0002625924864307048 0.00027096343500691313 0 0 0 -0.00025748534803201586 +7995 0.0004532676082472426 0.0006568344364576767 0 0 0 -1.7797444605852672e-05 +7997 -0.00023259016482018833 0.0006625892338972046 0 0 0 0.0004339968250924725 +8004 0.0006113594419653723 0.0006290191864929121 0 0 0 -2.224982396539496e-05 +8007 0.000648196279073714 0.00043756211946788096 0 0 0 -9.138195752486255e-05 +8017 0.0002104742150128341 0.0007493613551460738 0 0 0 -0.00040912765630536017 +8026 -4.337308457706554e-05 -3.775837846964555e-05 0 0 0 -0.0023161093267104016 +8033 0.0005987692885552991 0.0004431797101108568 0 0 0 -3.908659443211546e-05 +8034 0.0006294301205104742 0.00017555789171130957 0 0 0 2.3822025332913437e-05 +4017 0.0010104016273106726 0.000575869684357281 0 0 0 -4.8690157376599264e-05 +8102 -9.570084397369313e-06 0.0003098138016951034 0 0 0 -0.00018554476935651713 +8111 0.0006796411325059158 0.0001629580440924001 0 0 0 6.701748585531128e-05 +8164 0.0006010746859862575 0.000596964330045288 0 0 0 -2.628127318925949e-05 +331 0.0006273913865966681 0.00010205787314594766 0 0 0 -3.214605016513824e-05 +4 -0.00043136632797980307 0.0003344503011553649 0 0 0 -9.219938106589966e-06 +8297 0.00025874292724647704 0.0006555035355618571 0 0 0 -8.31252497135157e-05 +8301 0.0005578832995427764 0.0006904448950830558 0 0 0 -7.805255129637406e-06 +8309 0.0010270600783100726 6.801502630117744e-05 0 0 0 -9.027807438380802e-05 +8310 0.0007982326905402418 -0.0006625275873205848 0 0 0 -6.190260612691915e-05 +8356 -0.00025674480901203563 0.0002356325619824206 0 0 0 0.0001235034891045715 +8389 -0.0001810488495403225 0.00012125894938070939 0 0 0 -9.640506829792062e-05 +8575 0.0009996856775756073 0.0005007337526377645 0 0 0 -2.0233831838322654e-07 +8445 0.00048101940967762023 0.0006445946957344953 0 0 0 6.191091000096692e-05 +8448 0.0005500167595636992 0.0015175083680159008 0 0 0 -0.0003584663871395622 +8467 7.712801180833331e-05 0.00044703218128116097 0 0 0 7.807192787156226e-06 +8470 0.0008622201267606185 0.00016874392933095362 0 0 0 -3.5079750831472483e-05 +1129 0.0005749439273213395 0.00016838943643670203 0 0 0 1.6035539297353497e-05 +8490 0.0007309523790630038 0.000552489566764518 0 0 0 -0.00013734031168928672 +2846 0.0008495450960520452 0.0006065611728375405 0 0 0 -1.5981072027867366e-05 +8101 0.0008580156673708251 0.0006424341539023144 0 0 0 -4.1712377414225865e-05 +8648 -0.00016774431804292067 0.0007813369839383649 0 0 0 -0.00021134521816598277 +8657 0.00047465974149945363 0.0006164588447910099 0 0 0 2.4219320344524348e-05 +8674 0.0006990105995268586 0.0003778879297384982 0 0 0 -4.244111248840338e-05 +8681 -6.748956428002116e-05 0.0008453208462573117 0 0 0 -0.0003640098106218419 +8811 0.0005464333230080563 0.000752324814956068 0 0 0 6.151485892781343e-05 +8812 6.859526138543859e-05 0.0004311063204716185 0 0 0 -3.8862568303157824e-05 +8826 0.0005874923809750674 0.0006478373036187454 0 0 0 3.1661696581612135e-05 +9993 -0.0004775638396405429 0.0026741409279996313 0 0 0 -0.00021261728884246315 +9852 0.0010454556420041127 -2.7694717444007028e-05 0 0 0 -5.607295556758948e-05 +8886 0.0006567846057339284 0.0006319648401661803 0 0 0 -2.8948365573511805e-05 +8901 0.00014835291443694823 0.0003795426642725455 0 0 0 -0.0006491627341529241 +8961 0.0003849998946205204 0.0005467138485479618 0 0 0 1.1498530472621322e-05 +8707 0.003130228775845846 -0.0019225449252471948 0 0 0 0.0016377191472565795 +8981 0.0003981695632672313 0.0006613044684959559 0 0 0 -0.00010101912969433627 +8994 0.00026945456155477227 0.0007608217198432642 0 0 0 7.348074568488988e-07 +9070 0.00048450565724649294 0.0005541059343007874 0 0 0 8.271617854760938e-05 +9100 -4.913093723544937e-05 0.00016786880178755947 0 0 0 0.00012171642571377905 +9143 0.00018831619621549516 0.00044539352854418784 0 0 0 -8.144325606971453e-05 +9156 0.00023200513387592765 0.00047319470951393927 0 0 0 -6.078684578608151e-05 +9162 0.000418286102410419 0.00029639077717664915 0 0 0 0.000813954435019685 +9178 0.0006647984990039791 0.0008311742564139411 0 0 0 -0.00015128795153800185 +9258 0.00036318187172616035 0.0005424296017414215 0 0 0 0.00016630340467287835 +9297 0.0008117441790114357 6.976540494349389e-05 0 0 0 2.9009853473527445e-06 +3193 0.00024647968572670564 0.0003884875808077842 0 0 0 0.0004803161677524283 +9389 0.0005478369542303567 0.0007280743127987848 0 0 0 0.00015437238381553586 +3106 0.0008527291121582991 0.0006251827782303172 0 0 0 7.575677865670196e-06 +9422 0.001002148483382137 -8.547653297827893e-06 0 0 0 -5.179749224403858e-05 +4885 0.0009276233266493635 0.0006820888625709883 0 0 0 5.937422205343933e-05 +7289 0.001346254653924303 0.0012391008040783017 0 0 0 -0.0004273883298072668 +9570 0.0010433644384515899 0.00018058040181981536 0 0 0 -4.803066907704245e-07 +9586 7.457600030806717e-05 0.0007858736118475146 0 0 0 -0.00021496342014570488 +2605 0.00027016779312887814 -3.925320777246004e-05 0 0 0 -0.00014904721896424444 +9602 0.0002861724172971646 0.000691233134948778 0 0 0 -4.699453376041907e-06 +9636 0.0007395364274511555 0.0006146456711627903 0 0 0 3.6338487599924836e-05 +454 0.0009336867271312507 0.0006080639978413622 0 0 0 -8.20356119638718e-06 +9668 0.0002815889005134631 0.0006916514404544429 0 0 0 -4.434990126657807e-05 +9673 0.00034596090588784014 0.0005429610592558331 0 0 0 -3.388150946995498e-05 +8385 0.0008889203072210408 0.0006007551419281514 0 0 0 5.20416971250708e-06 +3756 0.0011049764486983091 0.00020603056606649734 0 0 0 -8.075511925251399e-05 +9702 -0.0003655123812295283 0.00023820353622046499 0 0 0 0.0002250261122688302 +9718 0.001073689398576644 0.00015071938688871288 0 0 0 -7.940943413407917e-05 +5435 0.0008831185749537172 -9.7581530561374e-05 0 0 0 -7.776891641177792e-05 +9242 0.002049055760597905 0.0008852524019562792 0 0 0 -0.001921824829425928 +3675 0.0008448932076111454 0.000605449237551202 0 0 0 3.441316299393211e-06 +8788 0.0009263754435741502 0.0006333105639159632 0 0 0 -5.9153233140823874e-05 +9 0.0014423916327998335 -8.254361816291799e-05 0 0 0 -1.4830084469102083e-05 +34 0.0012421392009734089 0.00025012023612751863 0 0 0 -3.7504968345727456e-06 +112 0.0011185874633733673 -0.0003059213236071884 0 0 0 -2.5408042699032277e-06 +119 0.0008801575103386655 -0.0004063255543214218 0 0 0 6.3365743504242965e-06 +13 0.0012871748889674015 0.0005350621545581108 0 0 0 -1.8353202337423548e-05 +152 0.0013602637838904493 0.000130405863234142 0 0 0 5.433892031000478e-06 +3829 0.0011898229800432157 9.673117582026677e-05 0 0 0 -1.9213366506485636e-05 +6802 0.0012337163890797445 0.0002538800067855986 0 0 0 -6.746055474930566e-05 +224 0.0014739376797257189 0.00017467225560429637 0 0 0 3.4226844324285497e-06 +258 0.0007193686591094904 -0.0003468088061479725 0 0 0 1.5796855424577197e-05 +277 0.0013822843023686463 0.0002580974229602179 0 0 0 -8.784244373904892e-06 +279 0.001277202324617548 0.00035995019443852295 0 0 0 -3.248554659120507e-05 +295 0.0010590070337448481 -0.0003505980550851359 0 0 0 1.6193873753294156e-05 +1501 0.0008507065011221687 -0.00031903625821244776 0 0 0 -1.767936953965563e-06 +317 0.0013824702362992783 0.0002725621464834729 0 0 0 -2.3377061710627236e-05 +390 0.0012025383270746878 -0.00020702404148539757 0 0 0 3.0254773092650578e-05 +428 0.0011453312735330583 -0.0002740672591462177 0 0 0 8.592622139407654e-06 +435 0.0010946334413332894 -0.0002128456474059516 0 0 0 2.4413265747313154e-05 +471 0.001116974590274824 -0.00021476523346384988 0 0 0 3.6581259985852455e-05 +4753 0.0011678257627124283 0.0002003700280740302 0 0 0 2.108653319590455e-05 +517 0.0011917469287043756 1.0848124306725747e-05 0 0 0 -3.805416379408552e-05 +537 0.0009792158747713806 -0.00025503281145521474 0 0 0 1.246164381500219e-05 +551 0.0012887810072543093 -0.00018557832722662274 0 0 0 7.855466491613762e-05 +563 0.0009137132455561879 -0.0002913014386598976 0 0 0 5.289632196802202e-05 +9531 0.0013419516408637202 0.0002983082511120717 0 0 0 5.5223499853550935e-05 +628 0.0011937182919398574 -0.00010453762457210872 0 0 0 -2.9159577602796785e-05 +3873 0.0009356831750677053 -0.0002379777164359866 0 0 0 -3.723013279727745e-06 +8733 0.0014662595790004883 0.00014222767014878424 0 0 0 5.571930177108233e-05 +9463 0.0012525237359627152 0.00015326529415358702 0 0 0 -5.3704337325956704e-05 +5849 0.0008561368726132349 -0.0003098573142453617 0 0 0 1.3587652351574199e-05 +759 0.001368722753672539 0.00036364714989830745 0 0 0 -3.37772513868137e-05 +773 0.0012914525688276753 -0.00015866803418127935 0 0 0 5.115309560583196e-05 +776 0.0012225807731880425 -0.0001642978433495691 0 0 0 -2.147920835992878e-07 +762 0.000986774532755413 0.0001942706581099815 0 0 0 1.5831025641535083e-05 +909 0.0013116240490063256 -0.00018121888303357334 0 0 0 -1.0405161551859519e-05 +921 0.0009392825216958658 -0.0003090111946974876 0 0 0 2.5746121643907855e-05 +950 0.0014593155263401278 0.00032394739169265503 0 0 0 -1.868915585685968e-05 +9338 0.0013984609004796139 0.00029319597836341535 0 0 0 4.014489946557709e-05 +1017 0.0011689116089786654 5.5970222533652185e-05 0 0 0 -7.605172417456133e-06 +1027 0.0014028758934741055 -0.00017302842163119058 0 0 0 5.090548812349478e-05 +9630 0.001121828875041995 -0.00020439048531617542 0 0 0 7.718482570639505e-05 +1052 0.0013571310328365897 -8.224465247262609e-05 0 0 0 -6.681846857565111e-05 +607 0.0008128440196546763 -0.00040575111549160373 0 0 0 -9.187957566798825e-06 +1070 0.0011625552347693854 -0.00025521261264212534 0 0 0 -1.1660830840890619e-05 +1095 0.0011013235637274473 -0.00021451860428437644 0 0 0 5.624523211708338e-05 +1145 0.0012439090486243388 0.00014722424656224095 0 0 0 -3.6009559454756234e-07 +3642 0.0009439903967487435 0.0001373411983411625 0 0 0 -1.0689909270696816e-05 +9289 0.0012078299044087186 -0.0001922393619747684 0 0 0 -4.80698043008442e-05 +1334 0.0009532567468679429 -0.00036659310766303676 0 0 0 -2.7660536970655816e-05 +1356 0.0013354441753554037 -0.00012259090038649835 0 0 0 5.230453932826572e-05 +1411 0.0012098393034774642 -0.00019367364715125056 0 0 0 -1.69558090525333e-05 +7954 0.0009180933148643042 -0.000247440959647794 0 0 0 1.619144126379732e-06 +1444 0.0014413671824737564 0.00031663801605160194 0 0 0 2.6523511032168588e-05 +1493 0.0010817528259459501 -0.00024318383578566142 0 0 0 2.2792197413227632e-06 +1503 0.0013713105265065718 0.0003999166232346333 0 0 0 1.0634686296427833e-05 +1519 0.0014558798603798444 0.0002869665035250489 0 0 0 -4.189604609683034e-06 +7206 0.001139092209211806 0.0001249977326902757 0 0 0 3.623495129460988e-05 +5788 0.001197626677413368 0.0002818738870898736 0 0 0 -4.871905336935877e-06 +8514 0.0009739559382948163 0.0002382094210119314 0 0 0 -7.383141678533314e-05 +4833 0.0014396120177427338 0.00021724671663045093 0 0 0 -2.086087991979968e-05 +6460 0.0008389319310716615 -0.00033104681614771906 0 0 0 2.419488909496649e-05 +1641 0.0011748560270220584 7.97454604163585e-05 0 0 0 4.1990074693102816e-06 +5676 0.0012375292935157642 0.00021405930716137078 0 0 0 -2.05068069931633e-05 +1646 0.0009202205885778018 3.818876790057601e-06 0 0 0 -5.935925197791509e-05 +1698 0.0014677369794982719 0.00024833053581415347 0 0 0 9.265446888848223e-07 +6151 0.0009385600643116133 2.833207782536546e-05 0 0 0 -4.3270456480031855e-06 +5987 0.0013436307816081074 -8.841837665411051e-05 0 0 0 7.169975579270779e-05 +1724 0.0010662054961003296 -0.0003729617551606225 0 0 0 -4.7956311668964826e-05 +8211 0.0010224516494079772 7.498885082568123e-07 0 0 0 0.00033205575256842727 +1794 0.0014301668639538575 0.0004132637947037199 0 0 0 -1.0916236169853623e-06 +1798 0.0011253216888553593 -0.00030492710123322116 0 0 0 -1.7797892729163439e-06 +3352 0.001018989037743016 0.00021038926809527887 0 0 0 -2.74661859657217e-05 +6929 0.0012197728365083377 0.00022550980596593737 0 0 0 7.865572153717911e-05 +1338 0.0009474368190223542 -0.00022265786563560388 0 0 0 1.908315644375306e-05 +9255 0.003015228671323893 -0.00019193867000327677 0 0 0 0.00024327492460604725 +8931 0.0013919535614307216 0.0008411979762475616 0 0 0 -0.0006826390178204965 +255 0.001265754111363759 -0.00012093522141442506 0 0 0 2.56403366155059e-05 +7241 0.0011775168217898603 0.00022568367393620864 0 0 0 0.0001256912416287644 +2448 0.001473284985317529 0.0002644323764378298 0 0 0 -2.828357743403504e-05 +2568 0.0010971306788941598 -0.00012984793259709638 0 0 0 -3.643093535686061e-05 +9711 0.0011629743202105495 -0.000176706910888369 0 0 0 -0.0002464416945393571 +2614 0.0012343301727037329 1.4079164114243662e-05 0 0 0 -3.562670480170716e-05 +2615 0.0009062974630101021 -0.0002986961143748083 0 0 0 4.399065911544842e-06 +2648 0.0009831031902103316 -0.00034985325904314697 0 0 0 8.786486611326695e-05 +2681 0.0012304805893475301 6.469033088931301e-05 0 0 0 -6.518183037776997e-05 +1542 0.0006910903194081702 -0.0004264375610665006 0 0 0 1.5540073663474365e-05 +8274 0.0011155426603441417 0.00011324358191999045 0 0 0 1.2748982899244133e-05 +3519 0.0009582233538381076 0.0001283688141567451 0 0 0 2.7386067615672855e-05 +2729 0.0014424295752223607 0.0002825694319664013 0 0 0 6.846828686691185e-05 +2642 0.001017942469816538 0.00025803859669746275 0 0 0 9.334744627057154e-05 +2770 0.0013901570539257481 -0.00012826912111996223 0 0 0 0.0001504813848946822 +8726 0.0008650368348575058 -0.0004327643557959066 0 0 0 -2.9468299296905263e-05 +2868 0.0014663432035744378 0.00034317350040978403 0 0 0 2.7317286582488612e-05 +2856 0.000951800161994771 7.807825694461272e-05 0 0 0 3.7378603737349624e-05 +4155 0.0009331708492639721 0.0002459585533344477 0 0 0 5.060793191689081e-05 +8877 0.0014472630823456792 0.0004323861501590959 0 0 0 8.964538187247773e-05 +2993 0.0009749993772322654 -0.00023821003549643634 0 0 0 1.749642287812646e-05 +2995 0.0013465527802978307 -8.855017942644339e-05 0 0 0 8.242857337726893e-05 +3006 0.0009477040003296568 -0.00034763556607085745 0 0 0 -3.404932915667481e-05 +9292 0.0011925611497252968 -3.937355927554332e-05 0 0 0 1.7809703651384554e-05 +3011 0.0014019241424805106 0.00035228232826432126 0 0 0 -1.5150255128791397e-05 +9040 0.001479173200233104 0.00043901392147088834 0 0 0 0.00011076274299937346 +3187 0.0012377006051638604 0.00014131552014275527 0 0 0 -3.370663837488489e-05 +8786 0.0013323618620955052 -0.00012768461601909558 0 0 0 0.00020267007187289783 +2280 0.0008889368069720764 -0.0002786970240694627 0 0 0 1.9800979967311248e-05 +3234 0.0009696012246025126 -0.00032045715178525625 0 0 0 1.56128731500017e-05 +3267 0.0012200450343886455 -0.00016728342589494724 0 0 0 3.368729728881561e-05 +3314 0.0014504295195957217 -8.135949231510729e-05 0 0 0 5.798716326763181e-05 +1576 0.0010154942589618353 -0.0002693596014991207 0 0 0 0.00013718728013058614 +9518 0.001214619099417691 0.00024778529899126126 0 0 0 -7.781047681638751e-05 +3331 0.0014011509917814398 0.0003044196436384829 0 0 0 8.508899650873662e-05 +1999 0.0008386384201292374 -0.00032264383205147715 0 0 0 2.8201486514039714e-05 +9922 0.001435711850254095 0.0002108412863328926 0 0 0 -3.993499801560742e-05 +3425 0.0011507490616024158 -0.0002633150972826767 0 0 0 5.692741171226245e-06 +8663 0.0012474925655506332 0.0002406922607704357 0 0 0 -2.669228171752124e-05 +8874 -0.003623237433491016 -0.00017194170697770744 0 0 0 -0.0008995905453075485 +4977 0.001214145675722813 -0.00014599041526089845 0 0 0 1.105825409075745e-06 +3574 0.0014511905996689068 0.00021991856759718208 0 0 0 -7.651335572603388e-05 +3628 0.0011190108780994165 -0.00012555982117282646 0 0 0 1.1586379836456734e-05 +3783 0.0012007686000669324 -0.00017858033547345792 0 0 0 3.361563738928018e-05 +9540 0.0011242324807338713 -0.00019189923469813662 0 0 0 -5.051361963628461e-05 +3698 0.0011487280828521751 -0.00015539685313756908 0 0 0 -1.8150642854730954e-06 +3711 0.001513777310853263 5.869565316373183e-05 0 0 0 3.862240722459076e-05 +3774 0.0012384547223759398 -0.00010127580970869795 0 0 0 1.2429672136993661e-05 +9081 0.0012801915733866459 -5.862365763090651e-05 0 0 0 -7.924448831395816e-05 +3807 0.0011782730862225728 -0.00025581092223518175 0 0 0 -1.6027500936636197e-05 +9324 0.001259100499675539 -0.00014370039644541024 0 0 0 -8.936420079793767e-06 +7351 0.0010464866539168127 0.000186198778209144 0 0 0 -3.7093761939283394e-05 +3296 0.000922424655766007 0.00018688805567816888 0 0 0 -1.1260620220422378e-05 +3940 0.0008895082802369347 -0.0003923307346977879 0 0 0 6.457241729240799e-05 +3989 0.0013926907458716483 0.00017699705165808216 0 0 0 2.7889509625692023e-05 +4046 0.0013278532330620112 -0.000317026933263754 0 0 0 -0.000293463745745061 +9720 0.001682451397390818 -0.0017507416227210042 0 0 0 0.008424052899997413 +4091 0.0012624262781378984 5.678959142668155e-05 0 0 0 -6.60574624178552e-05 +4114 0.0014259212072961086 0.0003093384532636017 0 0 0 -3.484792435519911e-05 +6070 0.0009508786074975429 0.00016484125063574362 0 0 0 -9.140838708447694e-06 +4158 0.0009131729767563008 -0.00035091796056525555 0 0 0 2.00396111791558e-05 +2873 0.0011309395214239757 0.00018322929013086804 0 0 0 -5.268319008672021e-05 +9468 0.0012093950265162634 -0.00017307465995886789 0 0 0 -9.926254058935499e-05 +4224 0.001456328244517588 -0.00011373410566654406 0 0 0 0.00015809150681071534 +4250 0.0010058091409254127 -0.0003473660104186689 0 0 0 5.691297335878055e-05 +4322 0.0011819737117867274 -0.0001293589961402688 0 0 0 4.114530344258563e-05 +4333 0.0012738609522444841 0.00031490410111308125 0 0 0 0.00012629076388283534 +4359 0.0014321561393205108 0.0002671935537565989 0 0 0 -1.3671587470602197e-05 +4389 0.0010904935265603597 -0.0003358051990987471 0 0 0 -5.581256719137525e-05 +8177 0.0012507949321703868 -0.00021798297147057323 0 0 0 -8.812018288208166e-05 +8602 0.0009507185192700795 -0.0003367985765982569 0 0 0 4.296484339154652e-05 +9770 0.0014553089471079552 0.00024384160929008335 0 0 0 -7.312743760277373e-05 +6193 0.0014687182508759983 0.0002565035932684017 0 0 0 4.5137386126420265e-05 +9963 0.0008533285546320356 -0.00041602042445312805 0 0 0 -3.0256033042877624e-05 +4597 0.0011973976948116826 8.261373291683349e-06 0 0 0 -2.166575714112008e-05 +4617 0.0014289952039364857 -3.8716647335842495e-05 0 0 0 -0.00016611317262794486 +4625 0.0008886178974158831 -0.00037590686517540014 0 0 0 -4.91903419113859e-06 +4631 0.000996618139471559 -0.0004121147578490766 0 0 0 7.749346727880065e-05 +7316 0.0012576516384428592 0.00021148201954111092 0 0 0 2.9879616613592376e-05 +4719 0.0013987664847820475 -0.0001451156281197893 0 0 0 1.9319476407280486e-05 +8035 0.001175917260206025 0.00043967428482128627 0 0 0 -5.752892945404945e-05 +9542 0.0011099836124021096 -0.0001590505956874028 0 0 0 -5.521148997540009e-05 +4540 0.001403073819535338 -0.00015474725069443318 0 0 0 4.3220027956432216e-05 +4875 0.0013365353136954015 -0.00014384372966201887 0 0 0 0.0003187672845919835 +9689 0.0010902813939279352 -0.0003595383626528874 0 0 0 5.854917009181445e-06 +4923 0.0007927153154880378 -0.0004196853713026062 0 0 0 -8.870136519910475e-06 +4933 0.0014734560256985958 0.00020365185085130841 0 0 0 -2.3651730995540328e-05 +4968 0.0012986220408941272 -0.00014529697732730944 0 0 0 -0.00029057335461540255 +8889 0.0008676824274260772 -0.00030412483010495723 0 0 0 4.019019835166811e-05 +5035 0.0011580786001848598 -6.17989485861816e-06 0 0 0 -9.130123619916914e-06 +5094 0.001185513088749214 -0.00026657377114445063 0 0 0 -2.7394009809742807e-05 +9743 0.0008559815933918683 -0.00044533595772000144 0 0 0 2.1020531929475594e-05 +5199 0.001234590745697053 3.3395321051413815e-05 0 0 0 -4.551507533515332e-06 +8725 0.0014063905380505696 -4.899948179132983e-05 0 0 0 0.00012918684428330038 +5251 0.0014031786700256994 0.00032617870419296343 0 0 0 3.0216718608520844e-05 +4938 0.001032330655724126 0.00018918825151347166 0 0 0 4.6919130302646246e-05 +5302 0.0007974623590192281 -0.0004368497390418213 0 0 0 1.4482283992258547e-05 +5317 0.0011421685817204444 -0.0001723091865710111 0 0 0 -9.182252642621224e-05 +5356 0.0012546631122414228 4.138863202853245e-05 0 0 0 1.73985117302678e-05 +5402 0.0009436562175723127 -0.00025525706607109174 0 0 0 -4.3480777987602574e-05 +5426 0.0010113114765910249 -0.00031843169386814717 0 0 0 -5.556964969611e-05 +5440 0.001168541730169104 -0.000231342647774965 0 0 0 -3.940949474625142e-07 +5503 0.000841761526663813 -0.0004224332035176161 0 0 0 1.1705299270026486e-05 +9109 0.0011498195001824695 -0.00013753177285228747 0 0 0 -3.054760697998745e-05 +5597 0.000919893057251657 -0.00033288125531852884 0 0 0 2.2685593118209322e-05 +5622 0.0014434499627146648 -6.407843717274991e-05 0 0 0 3.6276187367687707e-05 +5647 0.001477990057633364 -4.415136946829489e-05 0 0 0 0.0001283932431476464 +5658 0.0012284295314190872 6.176276906884714e-05 0 0 0 1.811387815778198e-05 +5700 0.0010625634064794565 -0.00029528281532629336 0 0 0 2.8845050762756353e-05 +9332 0.0012262450937045764 -0.00016729206194555498 0 0 0 -6.81087783954307e-05 +9729 0.0013629930296478472 0.00028924853454764484 0 0 0 -0.00012253078691695055 +5572 0.0010088147256944416 -0.0033402419554225873 0 0 0 -0.007147880936053204 +5810 0.0014472588471614717 0.0002772088821221938 0 0 0 1.0710615152435212e-05 +5816 0.0011880258826531588 -0.00025343742149016153 0 0 0 -7.88419104465161e-05 +9328 0.0014575691039106272 0.0002822204142484029 0 0 0 -4.6658072322933984e-05 +5826 0.0008599070022336525 -0.00040926364547107274 0 0 0 1.972515565728894e-05 +8753 0.000906246492605133 -0.00044851767152093467 0 0 0 4.284379209538896e-06 +5851 0.0013255497691567891 -0.00026069307612689574 0 0 0 -0.0002170905001823111 +5881 0.0014160801911885193 3.651928554053983e-06 0 0 0 -0.0001308667777956913 +4725 0.0014396587915324857 0.00023140363620625067 0 0 0 -2.527043702426463e-05 +3888 0.0012154755181983123 0.00017324729252560784 0 0 0 -6.46033717356958e-05 +8522 0.0011201645792099377 -0.000311494767864608 0 0 0 -9.729794409888293e-05 +1821 0.0008774233027923964 -0.00028745534439985953 0 0 0 1.1741370255725644e-05 +9886 0.001270450448781459 9.25643869869568e-05 0 0 0 -2.1832824169744604e-05 +1500 0.0008364466206043641 -0.000319450611447408 0 0 0 4.979990870531672e-06 +6079 0.0014321455216273005 0.00018918985817599802 0 0 0 2.813561507945862e-06 +6141 0.0014033796726316838 0.0002866755398515472 0 0 0 -8.925913241938391e-06 +6144 0.00115256420874671 4.927980673111292e-05 0 0 0 -7.36998453809405e-05 +6146 0.001352136849487645 -0.00014173882411819714 0 0 0 1.3131677391206533e-05 +6305 0.0013911974207145913 -0.0001082721003692943 0 0 0 0.00016124244788870304 +6172 0.0011782965793111556 -7.486236067618583e-06 0 0 0 0.00015778182762050667 +3138 0.0008855087523123167 -0.00032799694311214073 0 0 0 2.5014209495213777e-05 +6216 0.001157075636606103 -0.00031771709302209265 0 0 0 2.783641903756811e-06 +9460 0.001456925642790722 0.00031758767826724644 0 0 0 2.2739351044820247e-05 +9790 0.0008255592097983937 -0.0016487670263793876 0 0 0 0.0015391541325315765 +2132 0.00147842169389554 0.0001918749817772565 0 0 0 -6.793597897818253e-06 +6376 0.0011312059484442705 -0.000314902799270077 0 0 0 2.26178010796349e-05 +6394 0.001277834508084272 0.00029738916846166195 0 0 0 -0.00015304145088518908 +6447 0.001484261637618857 9.254915881448004e-06 0 0 0 0.0001913205568480351 +6451 0.0011637818524354443 -0.0002391377968062954 0 0 0 -4.35091290093384e-05 +9228 0.0012085935711849446 -0.00017467498278028192 0 0 0 -5.3506798925023616e-05 +6473 0.001296988967481721 -7.949186963207302e-05 0 0 0 -3.2177540306289856e-05 +6483 0.0012364058460771537 -5.215338053882962e-05 0 0 0 -1.7394953351834965e-05 +6501 0.0011834735582322055 -0.0002730051122883864 0 0 0 4.977748559370169e-05 +765 0.0008316146286924295 -0.00037456957924617733 0 0 0 2.3991668355455393e-05 +6569 0.0008888705267105422 -0.000419409013330569 0 0 0 -0.00018687331125311304 +7188 0.0008988581852036358 -0.00036921714483080064 0 0 0 8.996397168772005e-07 +6611 0.0014724183723031667 3.3477729628328772e-06 0 0 0 -0.00012797688442333296 +6734 0.0012877000460761972 -0.000286582628193369 0 0 0 6.32262983108609e-05 +6764 0.0011560555047668366 -0.00010419029146997706 0 0 0 6.057681561761863e-06 +6795 0.0021932140726017087 0.001843958310661127 0 0 0 -0.00040802094524323914 +7686 0.0013729606384858793 -0.00010681044954571125 0 0 0 0.0002657458629149111 +6939 0.0011613421727925304 -0.00028702734909081244 0 0 0 -1.9384742965221534e-05 +6961 0.001187724418828235 8.885474230953688e-05 0 0 0 -5.6011276012661114e-05 +7018 0.003071727090657335 -0.001502670933428816 0 0 0 -0.0015541760616877454 +9879 -0.004194151956623215 0.0006029996350759845 0 0 0 0.004811651530870785 +9210 0.0008151654028594597 -0.00035970353162324993 0 0 0 -6.574636274043588e-06 +5078 0.0014374963522339132 -8.379513418767256e-05 0 0 0 9.573651061662088e-05 +7174 0.0015351589039166126 1.0851722438370221e-05 0 0 0 9.504504671865132e-06 +7196 0.0014597910809652402 0.00026797342320200487 0 0 0 -7.815375527500346e-05 +7201 0.001466064369656826 -6.952355092873257e-05 0 0 0 0.00010746091641013154 +7219 0.0011596112047410048 -0.00020931117083714687 0 0 0 -2.1994262461458596e-05 +6746 0.0008827976702343024 -0.0002599147425259264 0 0 0 -7.3867571181053055e-06 +7266 0.0014103343093670483 -0.00014363253517793263 0 0 0 -0.00010708424409332167 +1180 0.0012019562132414908 0.00046624362535626566 0 0 0 -3.882108630408831e-06 +9672 -0.0004540729431052196 -0.00041476483311609404 0 0 0 6.95449578207808e-05 +9431 0.0008350708967940067 -0.00033098500820549293 0 0 0 9.089186953220665e-06 +5623 0.0011975888753590104 -0.00019219985959826374 0 0 0 -4.08490508991091e-05 +1490 0.0007800429814216432 -0.00037450690954133074 0 0 0 8.117482040044034e-06 +7450 0.0011834667861803996 -0.0002034476025319026 0 0 0 -0.0001083987760885044 +1987 0.0010033109870679845 0.00016539231192014148 0 0 0 1.9910221566992503e-05 +7512 0.0010777513839731957 -0.0003692985177630254 0 0 0 0.00010168905008470058 +8865 0.0008615618823645855 -0.00021946802346579903 0 0 0 -1.083537314371966e-05 +7572 0.001469618334018445 0.0003090157371935959 0 0 0 -1.2665521346994113e-05 +9301 0.0011490946680145712 -0.00020350445250061157 0 0 0 4.320458643500733e-06 +4394 0.0012596040060986195 0.0004521228124109042 0 0 0 6.492471062714257e-05 +7613 0.0010856740525518411 -4.823266098187522e-06 0 0 0 -9.793280364951022e-06 +5245 0.0011125160990087752 0.00021137614077388145 0 0 0 4.1350586059315764e-05 +7689 0.0011638343007599628 -0.00027976995225496225 0 0 0 2.5875350471795616e-05 +7045 0.0010452116170667795 0.00017304483591055949 0 0 0 0.00015728760619495755 +7712 0.0013560905480346668 0.00034186355977513643 0 0 0 5.232794719410562e-05 +7724 0.001175077682195694 -0.0008997092622386199 0 0 0 0.0003128625692294844 +7784 0.0009618791692556881 5.2745887197761163e-05 0 0 0 4.868404678207834e-05 +7791 0.0010238790814896164 -0.0002790337252499763 0 0 0 4.2350736350496175e-05 +7826 0.0014643750222093218 -7.557429176319994e-05 0 0 0 0.00020872274213491152 +7876 0.0014319910846789263 0.0002701158582494068 0 0 0 -2.572062372765428e-05 +9243 0.0009719317176139409 0.00017479957035088873 0 0 0 -1.3997591710780229e-05 +7994 0.0009160627285038974 -0.0003607415950710819 0 0 0 7.573754806806618e-07 +6638 0.0007298009320276808 -0.0004015863625368489 0 0 0 2.2539083053850288e-05 +8036 0.001186556432665691 -0.00020403736901491697 0 0 0 -0.00014856309410699354 +8153 0.0011697698080588173 -0.00019723315079728295 0 0 0 -2.699036365786325e-05 +8159 0.001086970958439923 -0.0005737255620965548 0 0 0 -0.00023873799496374344 +9589 0.0011157406042441957 0.00017771056606934792 0 0 0 -2.1974344679183124e-05 +5970 0.000991695543950083 0.00018452315784793096 0 0 0 5.524573177313694e-05 +4532 0.0011247652090796995 0.00019055500782797123 0 0 0 -3.612831824818369e-06 +5824 0.0009848317764352171 0.0001722842128815201 0 0 0 1.6496434775848322e-05 +8120 0.0008340333462017955 -0.00032456791585602996 0 0 0 -3.0660781522570056e-06 +3227 0.0007526184558394768 -0.0002993538949923799 0 0 0 -8.288199901664633e-05 +5718 0.0008592405443802804 0.0001970925172115303 0 0 0 8.240851787020947e-05 +9728 0.0012062695715213297 0.0003626291486481089 0 0 0 -8.202462613112712e-05 +9355 0.001186274843649762 0.00029131366897899234 0 0 0 -2.0212901389950696e-05 +298 0.0009051424886929687 0.00013914810060854771 0 0 0 1.1214926073460846e-05 +153 0.001342712540787735 0.00037349110385146935 0 0 0 2.8835968112284763e-05 +4569 0.0009372435807381542 -0.00024875060660679144 0 0 0 0.00014849676601541383 +5880 0.0009713098960121933 0.00018738088398171862 0 0 0 1.0389452031195349e-05 +1034 0.0008560490379473808 9.424193104794574e-05 0 0 0 -1.0584927751107713e-05 +3322 0.000788217917118354 -0.00036356901072561387 0 0 0 -2.170627435003494e-05 +1841 0.001180006142139436 0.0002778545937663129 0 0 0 -2.261720908473785e-05 +2902 0.0007554890478493038 -0.00040923454582762655 0 0 0 1.8306976575866642e-05 +8374 0.0008332323295098919 -0.00044409828524758643 0 0 0 5.053340969166553e-05 +8630 0.0009539588756441789 0.00026680856945462495 0 0 0 -2.1830493189822412e-05 +7329 0.000962045752096675 -0.0003551456940111285 0 0 0 2.7870666602883402e-05 +2306 0.0007797025057836156 -0.0002627921380396093 0 0 0 2.5151324695923804e-05 +6466 0.000755492492638539 -0.0003721160002585264 0 0 0 3.652459625692223e-05 +5818 0.0011679105278539874 0.00020355104162158837 0 0 0 -8.518122941108565e-05 +7258 0.0008574344956815474 -0.00028365468145391813 0 0 0 6.178803427443569e-05 +2575 0.000993249924981442 0.00024564435127765854 0 0 0 -5.6536432386037675e-06 +2725 0.0007703818679704426 -0.000294720451245972 0 0 0 2.1443132233812673e-05 +8870 -0.00039742756819381166 0.0010465086062528607 0 0 0 0.00010429546579952432 +1711 0.0007670166284073517 -0.0004406722683706368 0 0 0 8.866513338195432e-06 +3327 0.0007311699247713368 -0.0003903159727356688 0 0 0 -1.7690061281370717e-05 +2071 0.0007522779938160425 -0.00037613650312877053 0 0 0 -3.4414159798620435e-06 +7274 0.0006959044643531513 -0.00039734938969906807 0 0 0 5.807584868676104e-06 +3823 0.0006725682464896725 -0.00039897867040658195 0 0 0 1.7727597370452934e-05 +5109 0.0011213248365476735 0.00026394039439343257 0 0 0 -7.324532293512373e-05 +8122 0.0007234974653696409 -0.00040844537448511686 0 0 0 3.6407418815214935e-06 +7575 0.0011180509150495745 0.0004440440094022456 0 0 0 0.0001741230617570342 +7277 0.0008059808287763831 -0.0004588629480789525 0 0 0 4.610487314221692e-06 +2253 0.0009584313371792394 0.0002473974591252988 0 0 0 5.171693918388387e-05 +7131 0.0008032871678928241 -0.00046456900890934436 0 0 0 3.0148995300128766e-05 +641 0.0008396467244292659 -2.9900888357095498e-05 0 0 0 1.2231210120859072e-05 +4715 0.0007362073797449386 -0.0004305644696559061 0 0 0 7.869138159568059e-06 +371 -3.331820417868137e-05 -0.00034601942275470465 0 0 0 -2.723198836529862e-05 +31 0.0006445265503051626 -0.0007124136995781511 0 0 0 5.9670202731141715e-06 +71 0.0007202251594401291 -0.0003080997633460838 0 0 0 1.6839903010206775e-06 +3881 0.0008134683936798781 0.00011054058654872301 0 0 0 -1.813929934887541e-05 +110 0.000802137226938931 0.0001100905102236815 0 0 0 -5.6995275857144814e-06 +111 0.00035128171553149403 -0.00032976577628125253 0 0 0 -1.0034886788511368e-05 +159 0.0005623730520241983 -0.00032579006496809764 0 0 0 -3.334324094796811e-05 +181 0.0006402337238223259 -0.00043634850003554474 0 0 0 5.283836724813324e-06 +185 0.0006809649004991227 -9.988593826773272e-05 0 0 0 7.374846055023843e-06 +214 0.0004613628362516907 0.00014151589132780097 0 0 0 -2.7782830214506002e-06 +246 0.0003097061969857207 5.02601150844072e-05 0 0 0 -5.263892874903125e-06 +9187 0.0006643023662961862 -0.0007005063718681124 0 0 0 -0.00018743283427995398 +310 0.0007101058481114845 0.00019364323793064712 0 0 0 -2.4249941571244333e-06 +301 0.00020740527093748702 -0.0005645811111036736 0 0 0 -1.6045129633719306e-06 +373 0.0007169244056757783 -0.0005510730657650225 0 0 0 7.618562845582677e-06 +420 0.0005639247503001502 -0.0005825631116887456 0 0 0 -1.12207767692547e-05 +462 0.0004349714595688156 -0.0007513383818246749 0 0 0 1.90858737273944e-05 +519 0.0007531287906134045 -5.063433909376792e-05 0 0 0 -2.3026486918873764e-05 +547 0.00046862882280533896 -0.0006031462368604232 0 0 0 3.930168330287146e-05 +565 0.0006394946785978398 4.246624602236612e-05 0 0 0 3.686354290294119e-06 +648 0.0006495884335000187 -0.0006073275537210661 0 0 0 -3.8913686412129345e-06 +7317 0.0007165700777483408 -4.2317522081177574e-05 0 0 0 9.223358271928103e-05 +671 0.0008829766240941071 0.000236300125791244 0 0 0 -4.047049354469217e-05 +5891 0.000876050199353669 3.738115854046667e-05 0 0 0 -5.046502717252757e-05 +696 0.0006768056215464012 -0.0005500888313735405 0 0 0 -5.973436498265842e-05 +700 0.0007172910500286941 -0.0005874322293221968 0 0 0 1.454706248219333e-05 +717 0.00046393667332243993 4.763306688690684e-05 0 0 0 6.323550616587653e-06 +728 0.00017982751185345166 -0.00034937130542607377 0 0 0 7.255258489958928e-06 +1764 0.000831689848928048 -0.00047725031631117503 0 0 0 -9.28173463849291e-06 +787 0.0004930504803262321 2.6470214580012798e-05 0 0 0 -2.8698028499383144e-06 +820 0.00027803906328287834 -0.0007489170801640168 0 0 0 8.155619489256348e-06 +853 0.0006390130141297414 -0.00032063029911715446 0 0 0 4.28863504741994e-05 +896 0.0003248529487774917 -0.0006285484841615863 0 0 0 -4.776104020497447e-05 +925 0.0005998732740848815 -0.000633169833358831 0 0 0 1.1173777330744142e-05 +7624 0.000816704675780044 -0.00046124030450546655 0 0 0 3.258301723772992e-05 +955 0.0007157249016057038 -0.0005171406245342774 0 0 0 8.072539460111054e-06 +964 0.0005378199406009459 -0.00011017600429248378 0 0 0 1.060852190520212e-05 +8923 2.157327471150374e-05 -0.0003113872450320851 0 0 0 -5.684074179674303e-07 +995 0.0007259886288547133 -0.0004568509600900188 0 0 0 -4.1904034443913264e-07 +998 0.0001621619477898148 -0.0003583692501806555 0 0 0 -5.8104941085882275e-05 +9873 0.0007477526788612508 -0.0003986198832068882 0 0 0 -7.799839960064096e-05 +1021 0.00033789923489780196 -0.00018851819039967046 0 0 0 3.442879097297356e-05 +1064 0.0003429425572485317 -0.0005518715047347829 0 0 0 1.4332476481991943e-05 +9683 0.0003078674387783549 3.379637897396473e-05 0 0 0 -2.862117079289626e-05 +1085 0.0003862777838545065 -0.0006486356825913647 0 0 0 1.340512067713906e-05 +1150 0.0006957476801627086 9.777949704606412e-05 0 0 0 -2.506124786061205e-06 +4078 -6.551726329254154e-05 -0.0004933515573857215 0 0 0 0.0001653892873094023 +1158 0.0004883064965277822 -0.0003500914479192768 0 0 0 -8.209866894920652e-05 +9296 0.00044092602659393074 6.543744807106391e-05 0 0 0 6.867292540539618e-05 +9447 0.0005779512444467868 -0.00011368389528427644 0 0 0 2.192582586510251e-05 +1226 0.00043458957083492505 -0.0006606938289747178 0 0 0 3.591348706761379e-05 +1250 5.065137043091339e-05 -0.0006436271523144179 0 0 0 -3.689876650743488e-05 +1285 0.0006226511776009374 -0.0003035413933209816 0 0 0 -3.013061458625359e-05 +1277 0.0006386780539779113 -0.0004949014164039946 0 0 0 2.3074371365578354e-05 +1316 6.88760553945481e-05 -0.0002952421454786884 0 0 0 -3.719084057912767e-06 +1339 0.0005773437911439493 -8.520947300056e-05 0 0 0 -2.6661662929942503e-06 +1511 0.000520272135387296 -0.00019890492630567815 0 0 0 -1.3383837099374927e-05 +4573 0.0005701849019504791 0.00023809315926486056 0 0 0 -4.816657272503964e-05 +1572 0.0003923763928405066 -0.0007216864381699387 0 0 0 4.3338945596451466e-05 +1604 0.0003196327743228971 -0.0005994447112315891 0 0 0 3.201797028550698e-05 +1269 0.0007836531533763466 0.0002602521257250329 0 0 0 2.5970135009994792e-05 +1672 0.0005627282948164763 -0.0006339139180417363 0 0 0 2.5202551143766276e-05 +766 0.0005238253427291244 -0.0005626303613996633 0 0 0 1.3524405076346377e-05 +1715 0.00014985510210932377 -0.00028393137585200286 0 0 0 -1.0906285847786701e-05 +1733 0.0007061588559230819 -0.0005296816866415022 0 0 0 3.9997302369105973e-05 +1747 0.0007137089801849834 -0.0005465753699317187 0 0 0 3.042695799994706e-05 +1748 0.0006327488923702617 -0.0006428188269592745 0 0 0 1.3136605356723858e-05 +1757 0.0005737874781322308 -0.0007447706674360098 0 0 0 -4.76190387787407e-06 +1799 0.0006700484400271517 -0.0006472391519485195 0 0 0 -1.1607956545813575e-05 +7960 3.3149464815789332e-06 -0.0006189819821446523 0 0 0 -0.0003658808080914177 +1815 0.0006819029493202552 -0.0005204663481493214 0 0 0 7.240290882803594e-06 +1820 0.0006590107527661762 -0.0004784087462763565 0 0 0 8.7032645352273e-06 +1830 0.0004629351634934216 -0.00021810094467728934 0 0 0 -2.3957858022237036e-05 +1871 0.0005263270651986785 2.4114168169113963e-05 0 0 0 -1.2398206136064325e-06 +1881 0.00044997647952523966 -0.0005982086964099392 0 0 0 2.872516835375991e-05 +1915 0.00037597469794945686 0.0001260502486124964 0 0 0 9.045289357581821e-06 +1924 0.0006762528899411716 -0.0006677539049195757 0 0 0 -2.49586051072044e-05 +1930 0.0002827297323561934 -0.00019537734403769967 0 0 0 2.9689184381615207e-05 +1966 0.0004384306037573821 -0.0006661891479597533 0 0 0 -1.4250870422727066e-06 +5456 0.0005734072995752663 -0.0005299576517148672 0 0 0 1.859620579514999e-05 +1985 0.0005234853614693391 -6.96584066572547e-05 0 0 0 3.092278230965954e-05 +2037 0.0005026082871248834 -8.806577963725461e-05 0 0 0 -3.571738852029375e-05 +2039 0.00048427463193116964 -0.00010596209638372321 0 0 0 6.3235862265936825e-06 +4116 0.0007429569984722635 -0.000446912406988153 0 0 0 4.003879252101202e-06 +9952 3.196266758750977e-06 -0.0006306034475945979 0 0 0 6.178377706027119e-05 +2178 0.0004135200136608103 -0.0007671665143643972 0 0 0 4.1715474020247495e-05 +2179 0.00025746312769660767 -0.0007611411989731107 0 0 0 7.181757343350427e-05 +8537 0.0006362847333112788 -0.0004715629667685258 0 0 0 -2.1195930740129116e-05 +2222 0.0006594376219673745 -0.0004379003727511416 0 0 0 3.536836802835586e-06 +2227 0.00014166079046567712 -0.0007437126727303144 0 0 0 -3.637822083347073e-05 +9456 0.0004167447737291222 -0.0006052880216990941 0 0 0 -0.0001018688976813472 +2254 0.0006559615805672307 -0.0005503376590433915 0 0 0 -5.016704225313744e-05 +2260 0.0007865714065660651 -0.0001782794767558603 0 0 0 -5.8041124149397484e-05 +2310 0.0002886409853300658 -0.0005068336733977986 0 0 0 2.7293176879803635e-05 +2316 0.000130134255422851 -0.0007194571711876803 0 0 0 -4.064932908876171e-05 +9655 0.0007019941998798908 -4.33098842702882e-05 0 0 0 -8.242602140204146e-05 +9494 0.00023181475871775683 -0.0007235405007208589 0 0 0 -7.817532470528602e-05 +2538 0.0007085741512387289 -0.0005569053005499155 0 0 0 1.77013561937135e-05 +2557 0.00014356427960102823 -0.0006325725354649355 0 0 0 -1.6287744302964643e-06 +8659 -0.00022728513509253926 0.0015298604514245161 0 0 0 -0.0016156825045625027 +2771 -1.7798845476316349e-06 -0.0002593106928608333 0 0 0 -7.960202489513049e-05 +2618 0.0007052857759896676 4.166556466901495e-05 0 0 0 -5.520760480637296e-05 +2619 0.0005946749557103064 -7.505307454403502e-05 0 0 0 -2.3666167729460837e-05 +8770 0.00043177589303107283 7.45367070853886e-05 0 0 0 3.457091517574303e-05 +2652 0.00040175663238117696 -0.0007387477638804342 0 0 0 7.28831555858625e-05 +2683 0.000621430750902383 -0.0006547069367570954 0 0 0 7.864647640180884e-06 +2728 0.0005751412990705788 -0.0006776247479951911 0 0 0 -2.508759171818449e-05 +2744 0.00011180021159042298 -0.00036636764658770556 0 0 0 -2.6181391524971104e-05 +2748 2.929398129746286e-05 -0.0005183557206634695 0 0 0 -0.00012748035526378992 +1083 0.0008495806482294896 0.00028852819529961673 0 0 0 -5.1512853483463364e-06 +2894 0.0004721739992200968 4.145422776882697e-05 0 0 0 -2.220267222673868e-05 +2895 0.00013257944568120428 -0.0006366977699177001 0 0 0 -4.238610845848866e-06 +2905 0.0003490460651844045 -0.0007046081989834155 0 0 0 3.293215346131058e-06 +2906 0.0006335582254534853 -0.0003310429968634212 0 0 0 -6.543700124709911e-05 +2962 4.866967084109112e-05 -0.0003166878542795977 0 0 0 3.2243616589566395e-05 +2999 0.0007079061496913411 5.625543153705535e-05 0 0 0 -9.290360589148895e-06 +3022 0.0007478062651057132 -2.4318094246498812e-05 0 0 0 -7.680706919635887e-06 +3050 0.00034040692901894003 0.00010390751279386817 0 0 0 0.00015172235569851868 +3090 0.0006064232454981497 -1.7238891263046967e-05 0 0 0 5.030928706053254e-06 +3108 0.00037413783645584054 -0.0006182146815491443 0 0 0 -6.534607887889275e-05 +3146 0.0003413735834965281 -0.0007840317443336276 0 0 0 3.395157452225315e-05 +3195 0.00029933844880645333 0.00010636574829077898 0 0 0 5.118660620801664e-05 +3196 0.0007136778593365677 -0.00018911561052238125 0 0 0 -3.8556889715760445e-05 +3214 0.0004673497674807999 0.00014335604798033759 0 0 0 3.457982960076193e-05 +5808 0.0006846115005550844 -0.0003720692943104028 0 0 0 -9.379019674745505e-05 +2937 0.0007807533200346919 -0.00044940691814129597 0 0 0 1.3532510240925327e-06 +3263 0.0005126929385978537 6.585794996690522e-05 0 0 0 -1.8214047142081436e-05 +9205 0.0005982263200593187 -9.710616524314057e-05 0 0 0 -5.918233094856205e-05 +3307 -3.1449101239813327e-06 -0.0005916050826723033 0 0 0 6.501441913830738e-05 +3332 0.0005665920411763006 -0.0005085886972169657 0 0 0 -1.3863698973095157e-05 +3347 0.0001452426799443065 -0.0006486850883721114 0 0 0 2.004512562796689e-05 +3369 0.0007247718825832644 -0.0006133241371635619 0 0 0 -7.17625621464058e-06 +3387 3.720723325978516e-05 -0.0003592801409497823 0 0 0 2.3758136777833554e-05 +3391 0.0006405594692479395 -0.0004911590721622042 0 0 0 -5.713472065044609e-06 +1373 0.000585675626016259 -0.0005597033989166317 0 0 0 1.757452828407344e-05 +3451 0.00013089876603779275 -0.00028874612703368694 0 0 0 5.139363680633471e-05 +3476 0.0006496282734665154 -0.0005761625065737626 0 0 0 -9.027183506122934e-06 +3493 0.000667846500724395 -0.00046005882670119573 0 0 0 9.250659433131653e-06 +3527 0.00013659178720808106 -9.433290053368751e-05 0 0 0 -4.555793791544322e-05 +3540 0.0007765888059040004 9.047239391915193e-06 0 0 0 1.7066395137345192e-05 +3635 3.233804539281464e-05 -0.00027313700021824324 0 0 0 3.676204862288385e-06 +3691 0.0001216742333250152 -0.0003550904572494085 0 0 0 -4.751300048962953e-05 +3696 0.0017245717845018995 -0.0013609555918820012 0 0 0 0.00014304720443601514 +8118 0.0003280387762459606 -0.0006259280243398373 0 0 0 1.033004839213715e-06 +3816 0.0003863347285549046 2.7312815551210866e-05 0 0 0 -2.5713875322989844e-05 +9058 0.0005635046010880897 -0.0006196664587319781 0 0 0 -4.258997684473263e-06 +3833 0.0007060393658056033 -0.0006835936889418407 0 0 0 2.729237740230695e-06 +5443 -8.454599215123438e-05 -0.0004218767239612717 0 0 0 -0.00023495608580243672 +3852 0.0004382160736226268 4.1892923520291746e-05 0 0 0 4.7752383735275705e-05 +9181 0.00027016694052396764 -0.0006090648912912857 0 0 0 -3.538201780287355e-05 +3921 0.0005730222008327744 -0.00029101861063201667 0 0 0 -2.2474417643478386e-05 +3148 -5.441322514561588e-05 -0.0006002049077788719 0 0 0 -0.00015442554313994968 +4059 0.000377630938160892 3.554816311808069e-05 0 0 0 3.23424752021585e-05 +4063 0.0006502738246798522 0.0002015890296595778 0 0 0 -3.125464660319121e-05 +4070 9.415479006959405e-05 -0.00028254070662688365 0 0 0 4.3602876828421204e-05 +4115 0.0002206073345245936 -0.0006747974868722759 0 0 0 9.560052300221081e-05 +9588 0.0011181526390445834 0.001888579273695926 0 0 0 -0.0012570944413860853 +4518 0.0005658774428170018 -0.0005230269553899203 0 0 0 4.199805980833249e-06 +4164 0.00027234324543494643 -0.0007379891551985118 0 0 0 1.6413819837539206e-05 +4214 0.0006721183155554209 0.0007424473183120746 0 0 0 0.0003231498624863039 +4227 0.00069852765680225 -0.0005327016449778992 0 0 0 7.065942273133583e-06 +4231 0.000493802715382739 -0.00013966375222669784 0 0 0 -3.247546068046652e-05 +4247 0.0003477667412807228 -0.0006397177992753603 0 0 0 1.9814321794299385e-05 +4313 0.0004237105036368529 -0.0006737329154597064 0 0 0 -9.605118333809342e-06 +4315 0.0006183388653529736 -0.0004141525150444706 0 0 0 -0.00016668873604430882 +4399 0.0004325939980217668 -0.0006769030145536341 0 0 0 6.701238496467655e-05 +9372 0.0006533296620168048 -0.0006430850010109031 0 0 0 1.689487670379884e-05 +4484 0.00022580032777181255 -0.0006303877154520167 0 0 0 0.00013792080099280632 +4563 -2.1439907085639727e-05 -0.0002549768548259574 0 0 0 5.899807433917639e-05 +4608 0.000534927697946142 -0.0003957771463028974 0 0 0 8.09867575409851e-05 +4659 6.653316289310048e-05 8.517857894194705e-05 0 0 0 -0.00017457524185188672 +4662 0.00025621720410624535 1.8115586253282833e-05 0 0 0 -1.3602552464080437e-05 +4681 0.0008876699997658334 0.00010431556339146366 0 0 0 2.6292305909297346e-05 +4704 0.0007055885747488149 8.297591321384883e-05 0 0 0 -2.7127860699107614e-05 +10 5.716382797374356e-06 -0.000623508924349033 0 0 0 1.7314872297876242e-05 +4747 0.0005469829097653386 -8.528358963948767e-05 0 0 0 -2.117289722089367e-05 +4378 -2.929665229577277e-06 -0.0005227054359146399 0 0 0 -0.0002419703642128504 +4756 -0.00014654358931527557 0.0004563409428034888 0 0 0 -1.2461245026936883e-05 +7541 0.000661727467224777 -0.0004173481427212981 0 0 0 -2.3601853973956963e-06 +4789 3.191526227201999e-05 -0.00038778704053335456 0 0 0 2.639735946264734e-05 +4867 0.00037320649424845293 -0.00017394182566368293 0 0 0 -8.350627577887148e-05 +7072 0.0004568037384761099 0.00018442259091636885 0 0 0 -2.2521392116664883e-05 +4922 0.0003720044986780079 -0.0005891551588062492 0 0 0 6.460745466239108e-06 +5001 0.0008479837397988734 0.00013137015943753095 0 0 0 5.415771002006577e-05 +5020 0.0005851795227669199 0.00015710161891812805 0 0 0 6.954098335928369e-05 +5052 0.0005006337239877552 3.543808269016233e-06 0 0 0 -8.220030440240651e-05 +8882 0.000637663938019561 -0.00045536278186398405 0 0 0 1.759141850755284e-05 +120 0.0007621583564885145 -0.0004754062844725253 0 0 0 2.6390430325611173e-06 +5126 0.0005076746723304816 -0.0003439334787174893 0 0 0 6.550026646968548e-05 +5166 0.0005542519954951754 -0.000559212323932457 0 0 0 -7.676364087630817e-05 +5177 0.0004951934772721735 -0.0006008547738203855 0 0 0 8.764253753072487e-05 +5230 0.0005591140084973643 -0.0003494414730919026 0 0 0 -6.872257500130064e-05 +5243 0.00070616177038485 -0.0003967881339536286 0 0 0 3.3353161063708835e-05 +5249 0.0006902133585611305 0.00010611362668125084 0 0 0 2.5619650151854072e-05 +7657 0.0005198242502493161 -0.0005458950166653197 0 0 0 1.9372595991651563e-05 +5328 0.0006964619721118829 -0.000669744582756268 0 0 0 5.5111309488634036e-05 +5332 1.7998663604820223e-05 -0.000732970121606973 0 0 0 7.168152477644457e-05 +9262 0.0021417734134423346 -0.00019856542843336815 0 0 0 -0.000873248725127282 +5383 0.00021455004285365076 -0.0002751591825256172 0 0 0 1.9057917032807516e-05 +5393 0.0002972142175737881 -0.0005563294027460131 0 0 0 6.827993875093736e-06 +5422 0.0005564078502616494 6.938644585210414e-05 0 0 0 8.394241078738367e-05 +8257 0.0003333322525487761 -0.0005514895213600578 0 0 0 3.2690765139838085e-05 +5486 0.00043090268026275914 -0.00046506314542837755 0 0 0 -0.00018023520992013455 +5502 0.0007657284415892106 -0.00046792619358447713 0 0 0 5.532773841727351e-07 +5517 5.648494152665344e-05 -0.0002925674433817883 0 0 0 9.740426964196498e-05 +5583 0.00037295601996958574 -0.0007128710535391238 0 0 0 4.5045341297530907e-05 +9627 0.00024152812233930638 -0.0006321822187891473 0 0 0 6.270121898255092e-05 +9047 0.0004871888465805561 -0.0005381449387323523 0 0 0 4.1618696129797504e-05 +5656 0.0003812698104341239 -0.0005037811511364917 0 0 0 -1.8406722691843285e-06 +5657 0.0010538034099330034 -0.0001954886934315882 0 0 0 -0.0009761776912109649 +9451 0.0007614121908254158 -0.0005138364313014946 0 0 0 1.8810712106199482e-05 +6964 5.176650882389974e-05 -0.0003558110044194858 0 0 0 9.923013591070516e-05 +5693 0.0005952945083093802 -8.834029059780671e-05 0 0 0 4.591136317101063e-06 +9719 0.00046606089524833984 -0.0003139804663756038 0 0 0 0.000397473582192552 +5730 0.0006142661888363086 -0.0004384085054922307 0 0 0 1.235240104658605e-05 +9158 0.0007474840181605666 -0.00044977713452316913 0 0 0 -1.018668319298505e-05 +5761 3.986087602238985e-06 -0.0006372201913952251 0 0 0 -0.00027399995538470297 +5770 0.00045491594834063347 -0.0006091810420526941 0 0 0 -3.200145409240725e-05 +5795 0.0007273675596726756 -0.0003255526124547501 0 0 0 -5.312078007253372e-05 +5819 0.00028059279078804266 -0.00017588127723735944 0 0 0 -0.00013521323906873548 +5875 -0.0009001410822573279 -0.0009473881645883225 0 0 0 -0.0010357141441108806 +9260 0.0006605650444801 -0.0006909346083128565 0 0 0 6.067004242689665e-06 +5893 -0.0007934729893047612 -0.0008556600712304495 0 0 0 0.0008259812518321472 +5917 0.00017935641939352176 -0.0002834092960022316 0 0 0 0.00010978123532703307 +5975 0.0005199709792894893 -1.6065727325831855e-05 0 0 0 -9.468224279786032e-05 +952 0.0007437766499611548 -0.0005270269112622353 0 0 0 3.159448478930685e-05 +6027 0.0005633072311578369 -0.00033038985074994987 0 0 0 -5.2845987796887175e-06 +6066 0.0005915016700201675 -0.0003684390635849276 0 0 0 8.821725504809743e-05 +6105 0.0006639253409055847 -0.0002919882287725243 0 0 0 -3.1135244101859036e-06 +6130 0.0007047092290488973 0.00010012003359569159 0 0 0 1.0856070106163094e-05 +6132 9.46854668049558e-05 -0.000588071438806014 0 0 0 -8.123150535898356e-05 +2468 0.0005765006228857855 0.00016274182161768545 0 0 0 7.468348802717578e-06 +6209 0.0006197207885407236 -0.0006238199808501009 0 0 0 -6.913601327664032e-05 +6220 0.000749555582414254 -2.2210262299481345e-05 0 0 0 2.4130153905005803e-05 +6258 0.0005442794138685612 -0.0004543250318367932 0 0 0 -3.6139271189018196e-05 +6294 0.00040267536948071037 -0.0006431257186912281 0 0 0 1.1935573206823273e-05 +6332 -1.2182358943813772e-05 -0.0005830481404452367 0 0 0 -0.00027509390832520836 +6413 0.0006579291783206535 -0.0006639268433037218 0 0 0 -1.1681372749626037e-05 +6420 0.00037614210606083524 -0.0002965667841377332 0 0 0 0.00023528254137348208 +6441 0.0005134411097922547 -0.00024542314040069523 0 0 0 -0.00011250244105506221 +6476 0.0005812532335200109 -9.642384350124397e-05 0 0 0 4.646860869592117e-05 +9928 0.0007717247121015214 -4.891881379507984e-05 0 0 0 2.7127421900070493e-05 +6499 0.0008091908364763398 -0.00012429940790402872 0 0 0 -5.433284566217924e-05 +6519 0.00037677343359745385 -0.00015529486069928343 0 0 0 -9.711306801530117e-05 +6987 1.1777179515217169e-05 -0.00021422163904247343 0 0 0 -0.00023766797306846475 +2943 -9.111902083268339e-05 -0.0003241195362930923 0 0 0 -0.0002919624412196335 +6590 -0.0001940227916870477 -0.0001565040510624104 0 0 0 0.0003089924993009946 +6592 0.0006740118920929439 -0.0005311141868987274 0 0 0 2.5931405361364602e-05 +3851 0.0009442920335488585 0.0002826601812926455 0 0 0 1.9507283448212026e-05 +6634 0.0008061987413216449 -7.300853446180248e-05 0 0 0 7.352039570743148e-06 +3864 -0.00011238116952567528 -0.000414232004302236 0 0 0 -0.00014332619345523348 +6643 0.0003907618461358924 -0.0005048390396018368 0 0 0 5.5890692906859245e-05 +5069 0.0004175483505308996 -0.0005070369436991318 0 0 0 2.586897100215835e-05 +6702 0.000164622305864968 -0.0002744422141838602 0 0 0 7.299051257148991e-05 +6830 0.00028811581504033603 0.00010927711276761015 0 0 0 6.424019810469212e-05 +6878 0.00012013957805247374 -0.0006486591922254423 0 0 0 -1.3762553401847091e-05 +6882 0.0006219758991857749 -0.0006731610615150312 0 0 0 8.326689587079545e-05 +6893 1.9796627058789924e-05 -0.0006619493233885604 0 0 0 -3.1653050489966635e-05 +6912 0.00037798244065726986 -0.0007485045570797785 0 0 0 -4.4195661152458884e-05 +6920 0.0006131468783995988 -0.0003041135752720698 0 0 0 9.81646216147249e-05 +1687 9.38912827099388e-06 -0.00032579390303188197 0 0 0 -3.7773568394033257e-07 +9784 0.0006183916354523912 -1.6161745057943567e-05 0 0 0 1.893874721863524e-05 +6978 0.00033711457845047704 -0.0007055065697045407 0 0 0 4.620952544007379e-05 +6999 0.00015179516518768109 -0.0005049783848981942 0 0 0 -0.0002769000198655768 +7003 0.000598177446899271 -0.00027271897082057803 0 0 0 0.00014440027838307323 +9620 0.00032897662822867316 -0.0005543793998270681 0 0 0 4.4068203407650334e-05 +7052 0.0005367240464447567 -0.0005372866926994446 0 0 0 1.6955992664032204e-05 +9517 0.0004280489734717589 -0.00025746581135680424 0 0 0 0.00011412310128106005 +7101 0.0006671942203268622 -0.0006934836162805611 0 0 0 -2.9935723606088923e-06 +4979 -9.058861953041661e-05 -0.000324596510283852 0 0 0 0.0001735006123379059 +7137 0.0005309822062568244 -1.0231363334660883e-05 0 0 0 7.310726217769824e-05 +9861 0.00033408635621966443 -0.00016344068515299705 0 0 0 -0.0001282438244913208 +7181 0.0004778569762576134 3.351448983946369e-05 0 0 0 -4.749314656144432e-05 +7187 9.710866922929404e-05 -5.663854828295249e-05 0 0 0 6.339494369980115e-06 +8939 0.0008497737675832127 -0.00017726608711321934 0 0 0 -0.00041220896709676005 +2121 0.00045847018112258426 -0.0005339572431318189 0 0 0 5.990616692130743e-06 +7212 0.0004985385948087322 -0.00012780487532139756 0 0 0 -1.9781574418226586e-05 +8735 -0.0005720315420078818 0.00029014468443589283 0 0 0 0.002410432343523907 +9163 0.0002798701415414847 -0.0002567992185986809 0 0 0 4.414735771499919e-05 +9850 0.0005514031095910513 -0.0005722577003014517 0 0 0 6.299137002878956e-05 +9071 0.00010296674975920046 -0.00012889168122243072 0 0 0 9.572558630390166e-05 +7319 0.00037749334455756023 -0.0001392384986817266 0 0 0 3.1295605343148144e-05 +4435 0.0007595894368873125 -0.0004884341078074079 0 0 0 4.940949227092704e-06 +7352 0.0007329431087726082 -8.020110292750369e-07 0 0 0 -4.536865773823653e-05 +7387 0.00036156717706047384 0.00014639594019853246 0 0 0 -1.0044103041439814e-05 +7434 0.0006397849710723689 -0.0003709301364589091 0 0 0 6.981267775013229e-05 +7442 0.0008901730133890637 0.0001391029493123572 0 0 0 -4.015586356723e-05 +7476 0.0005284056774983836 -0.00029739581854457635 0 0 0 0.00010739565815282584 +8883 0.0008857180922739505 0.00011146682650284543 0 0 0 1.3096227689732092e-05 +7505 0.0005480536953146231 -1.5564178169919145e-05 0 0 0 0.00011598124732872311 +6342 0.0005838655462697753 0.00022839689210066365 0 0 0 4.210446037034434e-05 +6438 0.0007588412370905048 0.0002252659682620177 0 0 0 -1.3046608625781423e-05 +7701 0.00043834663338598526 -0.00037178391059781003 0 0 0 0.0001469755928150456 +7702 4.830048808525605e-05 -0.00031409920500704436 0 0 0 1.4011797204111361e-05 +3931 0.0005853552394974797 -0.0005237183005449331 0 0 0 9.278543436145349e-06 +7721 0.0004765924735460604 -0.00033944586497906343 0 0 0 0.00016782901048609648 +7750 0.00043610424720370096 -0.0005998422621671011 0 0 0 2.2339496361183056e-05 +7755 0.0006565984596992676 -0.0005124878022632873 0 0 0 -1.5119978978127404e-05 +7785 0.0006440384387565062 -0.0005586288876179501 0 0 0 -0.00010700273715169834 +7798 0.000526079048323703 -0.0005692516572295091 0 0 0 3.670509896461069e-05 +7806 0.00038353842460111745 -0.000625514394702464 0 0 0 2.695113162929036e-05 +6521 0.0006131577065358237 -0.0005434362380942262 0 0 0 1.3805440767201572e-05 +7825 0.0007387837393299588 -0.0006228606145521059 0 0 0 6.539785277790461e-06 +7827 0.0001450859071133436 -0.0005901404000794869 0 0 0 -5.4651629480699264e-05 +7830 0.0008032328586204098 -8.5382111711335e-05 0 0 0 7.732540199756965e-05 +7845 0.00036752197823945065 -0.0004947408899385671 0 0 0 -0.00015101230766422397 +7846 0.0005841851348579172 0.00018877909935539569 0 0 0 4.598592497726577e-05 +7340 0.0005664917761586277 -0.000488978677894615 0 0 0 4.679277254176124e-05 +7901 0.0005287730132425294 1.1409843181099635e-06 0 0 0 -1.8346271051440028e-05 +7983 0.00044519226194073567 -0.000539804328708291 0 0 0 1.4227519262499323e-05 +7990 0.0004676927874176198 -0.0005833028641937013 0 0 0 -7.550006194617552e-05 +7996 0.00021079184373798746 -0.00030985022399685424 0 0 0 0.00017720951321994493 +8022 4.332392096920043e-05 -0.0007118586552667495 0 0 0 -0.00014746065586809066 +8028 0.0004266222195670845 -0.0001111831281723961 0 0 0 -0.00017736361663209054 +8066 0.0005698013693111657 -0.0002517339234432989 0 0 0 -0.00013033725177788411 +8068 0.0007605669349219382 -0.0004529721417679178 0 0 0 -6.205585894989785e-06 +8075 0.0005719295154939537 0.0001179133459286912 0 0 0 4.219939641379617e-05 +666 0.000721927558620249 -0.00044458208003174973 0 0 0 -9.752060947301116e-06 +9091 0.0003846030916615925 -0.0007596819577956557 0 0 0 -3.5487310500451564e-05 +8163 0.0008316880737275641 0.00029420682648322434 0 0 0 -6.582512574605718e-05 +8185 0.0003551281135902872 -0.0007993119680851434 0 0 0 1.9800836408029256e-05 +8242 0.00030997110135901957 -0.0005937542831348624 0 0 0 9.787805455425186e-05 +8247 0.0006084725905004418 -0.000538765191517173 0 0 0 -0.00017899097522083393 +8321 0.0006254090174633945 -0.0005227221423095796 0 0 0 1.3173038754360451e-05 +8328 0.0004275999320010568 0.00015462889729571453 0 0 0 -1.0004172251273582e-05 +9155 0.0005689106685524946 0.00013964664095358155 0 0 0 0.00027773072942035556 +9311 0.0006431939278608599 -0.0006270631094629682 0 0 0 2.7222615189884407e-05 +8434 0.00025184358509839033 0.0008231116516778188 0 0 0 0.00018677957484125905 +3979 3.675357401557069e-05 -0.0005486480010433449 0 0 0 -5.4359056113688876e-05 +8461 0.000713995616605726 -6.670690453420816e-05 0 0 0 -0.00012352774214230417 +8465 0.0003370749582036875 -0.0006584240853630951 0 0 0 8.460825415807246e-05 +8492 0.0002614430816207005 -0.0005521033432847557 0 0 0 -2.7720219368764977e-05 +2749 0.0007261123854646173 -0.000498475368856056 0 0 0 4.990832693767398e-06 +8521 0.0005202588804361551 -2.6776388462445127e-06 0 0 0 -0.00014415088557464298 +8856 0.0003770998820743932 -0.0007749679773460217 0 0 0 2.5441351196411422e-05 +8570 0.0005674004573363046 -0.00059438348774479 0 0 0 4.575757733670384e-05 +8590 0.00035741927593181867 -0.0007032733877956813 0 0 0 5.3087340745012625e-05 +8599 0.0006551801093765459 -0.00027620386792177957 0 0 0 9.3319365839933e-05 +2139 0.0006212281622561811 -0.0005779954906411915 0 0 0 3.236456852900269e-05 +8643 -5.9006982434205294e-05 -0.0007922209180471551 0 0 0 0.0014378560381011795 +9695 0.0005038334996299769 -0.00043319925692833597 0 0 0 -7.277366648800067e-05 +8646 0.00042979929997352776 -0.0006422719636063605 0 0 0 -4.13874177888994e-05 +8732 0.0005724448077782673 -0.0007767017848071768 0 0 0 7.056738306169401e-05 +4467 0.0006799650599912624 -0.00033905954616409665 0 0 0 3.713301136645453e-05 +9418 0.0001934289060349404 -3.4492206910998034e-05 0 0 0 -0.00022528778355559482 +8560 0.0007201969143950012 -0.00043533444537729814 0 0 0 -3.230695932134775e-05 +4186 -0.0005907955121184044 -8.833846577621069e-05 0 0 0 -9.343315963037669e-05 +77 -2.2225939615395576e-05 -0.0004421940005840361 0 0 0 -3.704628595481736e-05 +403 -0.0002438853717009817 -0.0002565284567751871 0 0 0 6.573892065300126e-05 +130 -0.00010773121268485976 -0.000417075455211577 0 0 0 2.3414363675894588e-05 +6293 -0.0003022587508131887 0.0002258823594558395 0 0 0 -7.758779463767909e-05 +172 -9.702093448935886e-05 -0.00044360506538857386 0 0 0 1.6234554137288838e-05 +272 -0.0004809511943494968 -0.000103662587350315 0 0 0 3.6269045474029125e-05 +4997 5.681750451629705e-05 0.00011644026376738817 0 0 0 2.185757763086912e-05 +6114 -0.00018360643572604043 -0.0005884879071395766 0 0 0 -2.929087341553661e-05 +9694 -0.0004679873691916626 -0.0002361767261101175 0 0 0 0.00013354467873215355 +8552 -3.068067925646524e-05 -0.00047396431744784736 0 0 0 0.0001511540593673562 +873 -0.00011077837113002605 0.00012846136285115783 0 0 0 -7.306849330782997e-06 +6291 -0.0004466230271870942 0.00010724950492606731 0 0 0 2.3690987825590595e-06 +911 1.2415009714254616e-05 -0.00037465184180736274 0 0 0 -2.7941087394631e-05 +985 -5.9061825972959004e-05 -0.0004754433640596455 0 0 0 2.5674598533230946e-07 +9439 -0.0005439918883740436 0.00015328679927604212 0 0 0 -0.00012311563062159528 +3471 -0.00019918085771479426 -0.0005984498730112637 0 0 0 -2.1399530467871235e-05 +1101 -9.136670600482019e-05 -0.0003579252593457975 0 0 0 8.582619738964018e-05 +1165 -0.0001363164577844433 -0.0005123280525647366 0 0 0 7.617718005751029e-06 +1171 -0.00011054810194669268 -0.0005504516264895346 0 0 0 1.5562086935905778e-05 +9595 -5.015920439634346e-05 -0.00044550712782155005 0 0 0 0.0001495640260262788 +1179 -3.9742919716698206e-05 -0.0005746644390946466 0 0 0 -3.035942954750222e-05 +1231 -4.620171407855824e-05 -0.00037925981385413985 0 0 0 -1.1300645288818802e-05 +1252 -1.3727027771601485e-06 -0.00026950733057619976 0 0 0 -5.6316065759863234e-05 +2934 -0.00043940389952863045 0.00013138766305949135 0 0 0 -3.148824901308428e-05 +9883 -5.2591988673953406e-06 4.109831851205987e-05 0 0 0 -0.00011475808384205026 +1669 -0.00017192554777382087 0.0001069104148032864 0 0 0 3.156214559137902e-05 +9706 -0.0003260490739129722 0.00015537742328061252 0 0 0 -0.00010976936522153823 +1693 -1.3163153979912595e-05 -0.0004330057973906647 0 0 0 -3.264773258422924e-05 +1751 -1.730649242382218e-05 -0.0004000190600832805 0 0 0 -5.86732458878937e-05 +8628 -0.0006181693483522895 -0.00027162006847365674 0 0 0 0.00015586827525607494 +8600 5.9700639050915275e-05 0.00014731303039950539 0 0 0 5.350545135268645e-05 +1863 -0.0001343700007745783 -0.0004988416721203842 0 0 0 -2.0929481228142377e-06 +1945 -9.887448079259473e-05 -0.00022683002783438326 0 0 0 3.912752306689364e-05 +1973 3.8699104261206293e-05 -0.0003590202063778884 0 0 0 -7.332547850314937e-05 +1990 -0.00011932755639667535 -0.0005528784528617821 0 0 0 2.2433574805486026e-05 +2014 -0.00013842396063332973 -0.0004664864013651007 0 0 0 -6.637686747282574e-05 +8134 -0.0006922540342830005 -2.600364917508042e-05 0 0 0 -0.0003133460581731788 +9426 -0.00020788328782896833 0.0002007482406339635 0 0 0 0.0001645131360502307 +2193 -0.00012268431313038107 -0.0005740897142894109 0 0 0 -1.3369798429585639e-05 +2255 -0.0004861595323762281 -0.0002622104221008247 0 0 0 9.265083589161678e-05 +2291 1.1463028349040783e-05 -0.0002763727205645129 0 0 0 -4.409499652589305e-05 +2303 -8.698405796156173e-05 -0.00047582863313373367 0 0 0 -3.1994789246395424e-05 +8641 -6.571228872209423e-05 0.00011105300469003246 0 0 0 2.9597392193798327e-05 +2353 -0.0001271361627110675 -0.0005692096212264515 0 0 0 2.6040791971173264e-05 +2371 -0.00013734393337805925 -0.0005463873935966054 0 0 0 -3.55704911850503e-07 +2473 5.1794913737992746e-05 4.427324488006435e-05 0 0 0 0.00013200106382256046 +2518 -4.264231984880635e-05 -0.0004284612243852285 0 0 0 -0.00013888152687693784 +2625 9.411223497878198e-06 -0.0003424359466420059 0 0 0 -2.7775128528747233e-05 +8695 -0.00032718249517670126 8.79744151304336e-06 0 0 0 6.399135965682099e-05 +8724 0.00011042020549295275 -5.5094627492954486e-05 0 0 0 -0.0002992613044738782 +2715 -9.962116599930858e-05 -0.0005614392586271888 0 0 0 2.6179262073290975e-06 +2865 -0.00035862196081798306 -0.00012029130146792163 0 0 0 0.00017231977359666886 +2888 -0.00012171998816352126 -0.0005683115271876028 0 0 0 -2.4293413789024315e-05 +9160 -0.0002568084436038351 5.544587007360262e-05 0 0 0 -6.494993191326728e-05 +3007 -0.00013538247376758332 -0.00037425410571840763 0 0 0 7.401638136911879e-06 +3084 -0.00015048044355451344 -0.0005398367992896641 0 0 0 -1.2409058579136397e-05 +4470 -0.00041044159620862424 0.0002132626267545045 0 0 0 -2.5221405544074566e-06 +761 -0.0001664794666814314 -0.0005575076715888425 0 0 0 -8.937206096155253e-06 +3273 -0.00010687962224231839 -0.0005565743696247475 0 0 0 1.7540504949575403e-05 +8998 -0.0004451852909666826 0.0001273953019096761 0 0 0 6.3802932817747906e-06 +3487 -3.516131710717398e-05 -0.00016010567988505671 0 0 0 8.446634338484324e-05 +3667 5.1304524145156004e-05 -0.0002841625323886446 0 0 0 -5.181917726313953e-05 +3684 -0.00031785860184683264 -0.0003637185360574558 0 0 0 0.00019036827708666856 +9585 -1.152686836884209e-06 -0.0003675658487749748 0 0 0 0.00011543430582241108 +2192 -0.00027063153265502606 0.00022024477713242764 0 0 0 2.8982991823797233e-05 +3924 -0.00012713573814681785 -0.0004779319293314224 0 0 0 6.975974826365246e-06 +4196 -0.0001422668860825077 7.747389637213576e-05 0 0 0 9.90527569923145e-05 +9957 -0.00032747532596116467 -0.00035160655597171747 0 0 0 -0.00017463435688233744 +4010 -5.764021820405616e-05 0.0001597500093678297 0 0 0 1.9485566088437837e-06 +4027 -6.090546448747528e-05 -0.00042270818915506996 0 0 0 -6.010277054655762e-05 +9305 -0.00014351912320841119 -0.0005890879544976736 0 0 0 0.00017481218054076376 +8044 4.5649210373868726e-05 3.5734453815567516e-05 0 0 0 -0.00015909395710322528 +4238 -0.00039193437643796937 0.00017072997367297436 0 0 0 1.038051742985764e-05 +4135 -5.798517267481367e-05 -0.0004938931913317534 0 0 0 6.31335978677513e-05 +4151 -0.0004965027526935849 5.4207126931069386e-05 0 0 0 0.00011664793276263007 +1823 -0.00016130642670702234 -0.0005167083771182992 0 0 0 5.842293379701473e-05 +5289 -0.00042480507220110897 0.0001308524717861762 0 0 0 -2.4374498411595318e-05 +4414 7.548617096869992e-05 -0.0003223867194118668 0 0 0 -0.0001260238863465337 +4425 -0.00015321839014238224 -0.0005075777145379289 0 0 0 1.558132221095723e-05 +4432 -0.0005711110527333197 0.0001081727422914701 0 0 0 -0.00018398447023924912 +4598 2.0240649111424445e-05 -0.00041466182836461186 0 0 0 4.271999097917559e-05 +4677 -0.00040080166555603417 -0.00025752465462950053 0 0 0 -8.348717824989178e-05 +4716 -0.0003032654344778705 -0.00035242704582714345 0 0 0 3.945490453529135e-05 +1192 -0.00035792814394500493 0.00015862359207879765 0 0 0 -3.036113239427537e-05 +9484 -0.0003458319437838931 0.00014213256788517684 0 0 0 0.00014556953821528548 +2196 1.207683733165537e-05 0.00014499934460115863 0 0 0 7.456494691544675e-06 +4972 -9.67651633238702e-05 -0.00041759889702430996 0 0 0 4.2738150699588445e-05 +4978 -0.00012244088457178507 -0.000554816373088777 0 0 0 -4.1458053910736046e-06 +9065 8.856017926313348e-05 0.00012864989309073412 0 0 0 8.517974311042559e-05 +8743 -2.7059426334864855e-05 -0.0005972692755003526 0 0 0 -0.00020708623163599008 +4993 -0.00024965675014971904 -2.3654864578582505e-05 0 0 0 -0.0001283028793711295 +5006 -4.386358740748732e-05 -0.0005130232559796091 0 0 0 4.385146147825157e-05 +4003 -0.00020715417119719003 5.873528106079508e-05 0 0 0 6.925965091887586e-07 +5016 -0.00020698982193161953 -0.000608081681119631 0 0 0 -6.377819706873116e-05 +5032 6.574934648690564e-05 -0.0002723416513372656 0 0 0 -7.669188757054218e-05 +5054 -4.480188474042411e-05 -0.0006196125510435153 0 0 0 -9.281016083714586e-05 +5098 -5.044158142017272e-05 -0.0005170778609382271 0 0 0 -5.4879399279620225e-05 +8898 4.753442619723011e-05 -0.000271590154461273 0 0 0 -0.00019557847837614088 +8686 -0.00010922219858601054 -0.0006114883270647107 0 0 0 -0.00017317823160302697 +5140 -4.4806161293685017e-05 -0.0004296043916470801 0 0 0 -3.9571047013288944e-05 +5213 -0.0004115865871302181 -0.000139883994693228 0 0 0 -0.00021697850411449334 +5280 -4.411532444568712e-05 -0.0006166844000002039 0 0 0 -0.00017883895275684676 +367 -4.047628546794737e-05 0.00011309730593333732 0 0 0 -4.492489921827143e-08 +5361 -0.00015474187271241765 0.00013197617322596836 0 0 0 -4.6634426821829183e-05 +5387 -0.00015595764712652833 -0.0005893563913776651 0 0 0 1.0589667783759618e-05 +9709 4.7622998156701145e-05 0.00011150069973656243 0 0 0 0.0001130143557851817 +1394 -0.0006596659302638599 -2.052892065655584e-05 0 0 0 -1.6697109010062956e-05 +5441 -5.5571692208310535e-05 -0.0004245569071357134 0 0 0 2.8031888879661577e-06 +6902 -0.00013832516379036803 -0.0005457068188834515 0 0 0 -2.157056670358704e-05 +5454 -0.00026413860280056795 -0.00048570933557182003 0 0 0 -4.396011320120432e-05 +5504 -0.00013551078317820313 -0.0006054698809323717 0 0 0 -0.00011530528360624524 +9537 -3.6557791292169973e-06 -0.00037074017368043987 0 0 0 -0.00013314057350980566 +5558 -8.742230730759306e-05 -0.0004599976947344665 0 0 0 -8.200604816184886e-05 +5207 -4.0921083123992874e-05 9.146183780774127e-05 0 0 0 1.1814886403244208e-05 +4327 -0.00035096963914039975 0.00017763520502545952 0 0 0 0.0001969427357792056 +5755 0.00010537627145757398 2.028710566347365e-05 0 0 0 -0.00017769308993244626 +410 -0.0002128870150700562 5.144209719126913e-05 0 0 0 -3.021851305623288e-05 +5913 -0.00024291122359659136 6.325718740321015e-05 0 0 0 -0.00021170515266615147 +6449 -0.0001992837708251951 8.733077952562892e-05 0 0 0 8.302246760313733e-06 +6522 0.00010063702038732648 -0.0004871570874215893 0 0 0 0.00012074419756780635 +9273 0.0006728859099722194 -0.0003668888424077138 0 0 0 0.0011342332371151993 +6771 1.897679841237262e-05 -0.00040652664587243105 0 0 0 3.8841116364320845e-05 +5014 -0.00027026930814051875 -0.0002906080339749061 0 0 0 -1.6664168190348698e-05 +6855 -0.0001119189041936119 -0.0005223711322656744 0 0 0 5.496647779424602e-05 +6860 -0.0006427415629772366 -0.0006349575556585513 0 0 0 -0.00020056266601810075 +6866 -1.8424477240143226e-05 0.00016804150670011038 0 0 0 -3.2572617574678055e-05 +6873 -8.053277434000657e-05 -0.00039381909590217954 0 0 0 -4.8214713463864414e-05 +9455 -4.954937627673651e-05 -0.0004442294368242175 0 0 0 4.7814443922227015e-05 +9637 -0.0001517951764826863 -0.0005595496683744516 0 0 0 -5.4282943645039366e-05 +2481 4.716769366592252e-05 0.00013326539148003237 0 0 0 -2.0241244724701873e-05 +7025 -0.00014251080172990262 -0.000437732995112132 0 0 0 2.7532003206439356e-05 +8761 0.0006398879215594599 0.0012245923422769195 0 0 0 0.00020700897262671277 +7104 -9.844724218476839e-05 -0.0005355496678910554 0 0 0 -3.9648267473363334e-05 +7114 3.18837566239288e-05 -0.00039334967488865514 0 0 0 -0.0002897740520086526 +4392 -0.000402080112043136 0.00017463931891392164 0 0 0 -1.4976428398160006e-05 +7284 -3.051787004825051e-05 -0.0003868834370289522 0 0 0 -0.00016874110440154243 +7418 -6.580909457548128e-05 -0.0003827571537894087 0 0 0 6.050531746926867e-06 +7422 9.581302186000754e-06 -0.0005151322761136254 0 0 0 -0.00018815455418879612 +1278 -0.000482884374846006 0.0001988236619795945 0 0 0 -8.724371059133377e-05 +7564 6.173665061584774e-05 -0.0003351869551183783 0 0 0 -0.00010936836934762352 +7614 7.021715137395449e-05 -0.00023756386359788208 0 0 0 -0.00011100105621680125 +7764 -0.00038039795511117297 -0.0001427967667489267 0 0 0 0.00018868721516481057 +7811 -0.0003886280647708248 1.4573689005934308e-05 0 0 0 -0.00011069089707531378 +7951 -5.501501689504886e-06 -0.00030082217397234734 0 0 0 0.00012287718007969575 +2341 -0.00040950753346538215 -0.0003172698295563459 0 0 0 0.00011274743044459313 +7966 -0.00014513996339158774 -0.0006078399657605013 0 0 0 -0.000184642531629263 +7972 -0.00043530008091182494 0.00021094360366416152 0 0 0 -1.2750877273190301e-05 +2075 -0.0003945085676170902 0.00018888814044435565 0 0 0 2.765449034641347e-05 +8160 -0.00020539049898031557 -0.0006681351212460429 0 0 0 8.041437875100081e-05 +8239 -0.00031217862902633414 -0.000280889716646937 0 0 0 0.00022783206857743095 +9093 -4.84234741334503e-06 -0.00044621896916090514 0 0 0 -0.00016147801325752022 +3174 -6.96046696241249e-05 -0.0005007757925355492 0 0 0 -0.0001544302616007291 +2697 8.724609362087392e-06 -0.00047320584547283094 0 0 0 -5.985870820961749e-05 +1279 -0.0003692675506685581 0.00018938868161033894 0 0 0 -3.0513189112085154e-06 +9373 -0.0002515770928683546 -0.0002680106062464396 0 0 0 -3.900253506780551e-05 +4336 -0.00024008151631594934 0.00017045130643219726 0 0 0 2.9957465137615898e-05 +4398 -0.0005821597122352355 0.00015468563385475872 0 0 0 -0.00013026991570301547 +3941 -1.727860432145972e-05 -0.000551268686238714 0 0 0 -5.389133600667408e-05 +6640 -0.0016706293434237919 -0.0008926278674193655 0 0 0 -0.0013320807624785408 +9119 1.1606415787992354e-05 -0.0005644213944092893 0 0 0 -0.000150144025383301 +8667 -0.0003894775792871383 0.0001479953117855097 0 0 0 3.2789044017584005e-05 +7557 0.00011972817811847197 -2.0939477406569335e-05 0 0 0 -3.800070903360665e-05 +6378 -0.0005740613217657761 0.00016065114770945758 0 0 0 9.549343246902476e-05 +9264 -0.0002792152502736798 -0.00020491788899818647 0 0 0 9.751613864304304e-05 +6808 1.2158052142789441e-05 -0.0006103616750544864 0 0 0 -0.00028676822302514356 +7908 -0.00058004171580478 7.975616301648086e-05 0 0 0 -0.00014670440990775446 +225 -0.0002789829807189479 0.0002305259245843394 0 0 0 -1.6471426054320583e-05 +3030 -0.0004221174138025143 0.0005469363242835199 0 0 0 -8.971215719062451e-06 +57 -0.0006005447772814128 0.0005645063009374617 0 0 0 8.02156797959448e-07 +64 -0.0003731789201800723 0.0005462866222395082 0 0 0 4.882120958002988e-06 +65 -0.00010053562906596409 0.00020764618233807736 0 0 0 5.461436384705181e-05 +74 -0.00045172238581987854 0.0004559469459008756 0 0 0 -8.589405292902685e-07 +79 -0.0003364732465756423 0.0004168194917125803 0 0 0 1.448588127136136e-05 +162 -0.0005053598788627675 0.0005102218492173216 0 0 0 1.867837539012577e-07 +1081 -0.0005467029271658874 0.00048407385005525997 0 0 0 -1.6009227947655165e-05 +235 -0.0004655161372904911 0.0005654328316420423 0 0 0 -1.505945587691804e-05 +2540 -0.0005505427222959005 0.0005720228111258456 0 0 0 -1.3343207127082807e-06 +253 -0.0003023427368772802 0.0004781705692467896 0 0 0 1.970775340870777e-05 +302 -0.00013063001961130042 0.0004183669544778337 0 0 0 1.2795506709981437e-05 +311 -0.0003581787195746164 0.0005027618141636952 0 0 0 8.257312265707442e-06 +359 -0.0001645024297280997 0.0003931968740758466 0 0 0 1.466989998657307e-05 +3577 -0.0005532193206417118 0.0005174064361539218 0 0 0 2.608077574669293e-06 +4466 -0.0004855868200973921 0.0005239405894038029 0 0 0 -1.5800484574106394e-05 +2842 -0.0004952809930213672 0.0005579471976882422 0 0 0 3.1521775863750754e-05 +451 -0.0005095902860946575 0.0005026966042791903 0 0 0 1.3723973391022466e-05 +460 -0.00016370427147192383 0.0002384573204032955 0 0 0 3.4046584832558384e-05 +474 -0.00017324658426199062 0.00033472255449533476 0 0 0 2.2327748587366894e-05 +479 -0.0002531827347510438 0.00048698253515810577 0 0 0 2.082212141146617e-05 +3070 -0.0006140949208541413 0.000507143586020801 0 0 0 1.911229556224173e-05 +8565 -7.320840470654082e-05 0.0001148933683194807 0 0 0 0.00020701752433241287 +719 -0.0002457056744206046 0.0003391168607758177 0 0 0 -9.709355276129757e-06 +730 -0.00025319584207812035 0.0003334011250074503 0 0 0 -1.1881405170169126e-05 +752 -0.00012195098638759901 0.00017675529064647806 0 0 0 3.9225587166362675e-05 +755 -0.00014754090442226203 0.00024460514080349165 0 0 0 3.001779677847374e-05 +758 0.0006369601037798614 -0.0013331014994768737 0 0 0 0.0011836692871753092 +850 -8.494926580784935e-05 0.00029804771795741505 0 0 0 1.2560702802758493e-05 +870 -5.8064511621738605e-05 0.000293742793769088 0 0 0 -6.156585562359801e-05 +903 -8.047628530996048e-05 0.0002734258174300323 0 0 0 8.295623861809536e-06 +5627 -0.0006122436074144882 0.000501404914375786 0 0 0 5.394160187466972e-06 +993 -0.00017522723729310232 0.0003485460395642112 0 0 0 2.2109044979111403e-05 +1001 -0.00024061497260379877 0.000487174944087293 0 0 0 -4.848118027636668e-05 +1010 -0.0004384508486307432 0.0005026279423510146 0 0 0 -2.5004180048084965e-05 +9499 -0.000560286894980821 0.0005025797873842891 0 0 0 2.391937392817821e-05 +1065 -0.0003598171611003462 0.0002307022992483387 0 0 0 -0.00010578654503520698 +5904 -0.0003758554287876376 0.00034866106834339453 0 0 0 4.1430882857758384e-05 +1092 -0.00011223083698690703 0.00024146315440650362 0 0 0 2.7736821912195774e-05 +1181 -0.0002833872756631084 0.00045377062567400614 0 0 0 7.714712124675728e-05 +3134 -0.00048254197895767806 0.0002355127436349071 0 0 0 -3.715129346517982e-05 +1214 -4.2247303827358635e-05 0.00026242496335330325 0 0 0 5.3139177788014834e-05 +2398 -0.0006225909689180037 0.000495012214760077 0 0 0 -1.8488577837319104e-05 +1763 -0.0005643781956748897 0.0005577266588028237 0 0 0 8.366865877147722e-06 +1392 -0.00018386003425031902 0.0004230531378601564 0 0 0 8.492781644079744e-06 +9980 -5.1213897059002377e-05 0.00027714372803544734 0 0 0 3.628146562145137e-05 +1453 -0.0004263076571010818 0.0005703262042683357 0 0 0 1.3313620754486724e-05 +7699 -0.000572476252063521 0.0005875348151475774 0 0 0 -1.002344421497339e-05 +9532 -0.00029884467674095807 0.00046982893651795313 0 0 0 0.000141744803786894 +1483 -0.0001667508823738512 0.0003718741036031506 0 0 0 6.810553966943469e-06 +2407 -0.0004909723929219988 0.000576305720267441 0 0 0 3.6827151835619413e-05 +2437 -0.0005966073590638562 0.0004782148916039147 0 0 0 -6.049947346117579e-06 +1684 -0.00029224647798700677 0.00027226933066597014 0 0 0 3.777738425890407e-05 +1699 -0.00019578522886979312 0.000259185016261295 0 0 0 -2.3958875791559394e-05 +1783 -0.0003419020151919424 0.00041737900969488775 0 0 0 3.3665198566639555e-05 +7326 -0.0005182360320124183 0.0006009635431398723 0 0 0 -6.556555271287913e-05 +1921 -4.6099117207946365e-05 0.000144702368394064 0 0 0 6.627195198615968e-05 +1960 -0.0005147228803546221 0.0005500466742157873 0 0 0 2.1810110239314023e-06 +1951 -0.00025613497206767775 0.00047609787951041315 0 0 0 2.718113777579238e-05 +1997 -0.00048721346215424636 0.0004923014902039034 0 0 0 -9.554389664462484e-06 +661 -0.0004391531829957528 0.0005555104495393966 0 0 0 1.2098355818984103e-05 +2180 -0.00024957014694497275 0.0003681216835018061 0 0 0 4.0310205894184384e-05 +8161 -0.0005980882117596695 0.0004899080686132018 0 0 0 -1.1884003739676154e-05 +2278 -0.00020120992747871912 0.00047068278089031236 0 0 0 -5.239711285915586e-06 +2287 -9.278454122487577e-05 0.00019777283920517945 0 0 0 -1.0657869354101097e-05 +2289 -0.00037228867770792604 0.00046930134586452033 0 0 0 -1.0969479594959101e-05 +2305 -6.953226039579791e-05 0.00023488499000741037 0 0 0 8.660791963010113e-05 +7625 -0.0005410495038921213 0.0005447126415054466 0 0 0 -1.1808880266681085e-05 +2401 -0.0003676550569680863 0.0002548087746454354 0 0 0 6.25858748306897e-05 +7999 -0.0003242991116086482 0.00028510986735805823 0 0 0 -4.256478269012174e-05 +2412 -7.31375799859964e-05 0.0003129864197578677 0 0 0 5.3168380584186876e-05 +2453 -0.00023516682829536386 0.00037792430824007753 0 0 0 3.674399305997321e-05 +4491 -0.0006190852445002534 0.0005428109573954897 0 0 0 -1.566263976563188e-05 +3349 -0.0005978706041108529 0.00037996203071675815 0 0 0 1.0170729614133324e-05 +2544 -0.00044509725671052955 0.0005087930687571476 0 0 0 1.0610798742197961e-05 +542 -0.0005205915472831983 0.0005665204672574619 0 0 0 1.8587452884535146e-06 +2586 -0.00046572850360324943 0.000516706849687907 0 0 0 2.5894227149621446e-05 +2617 -0.0003130253041651243 0.0003904963229912849 0 0 0 -4.5813441981002185e-06 +2702 -0.00028462496912032206 0.00032820918805199074 0 0 0 -2.283897934676061e-06 +2737 -2.899236288865378e-05 0.00015466619456909827 0 0 0 6.340075426920258e-05 +9982 -0.0002537562380426589 0.00038410545512923056 0 0 0 -1.2725796874809538e-05 +2786 -0.00016097054525471724 0.0002330612277653972 0 0 0 -9.073143369419291e-05 +2796 -0.0003935074666622062 0.0005422501808857855 0 0 0 1.4238919812589976e-05 +2795 -0.0004899545493188036 0.000603817148210483 0 0 0 6.44130962869557e-05 +2848 -0.0001150423217748719 0.00038281089563092243 0 0 0 2.6204626380866773e-05 +2893 -0.0005156641156498629 0.0005041271505446168 0 0 0 2.19381278938814e-05 +2910 3.250708586117987e-05 0.0002158021464687721 0 0 0 7.346874234797852e-06 +5130 -0.00031866730389325904 0.00029801855187334666 0 0 0 4.309239020636519e-05 +1460 -0.0005500562568652943 0.0005565439072868903 0 0 0 -1.8191274554548017e-06 +2976 -0.0004840043811343096 0.0005724387935593107 0 0 0 -3.6212279254383586e-05 +2994 -0.00031766341583692055 0.0005519779446093526 0 0 0 6.833901191563758e-06 +3043 -0.00012744983618188994 0.0002370403904786976 0 0 0 7.35654146964177e-05 +3797 -0.0005706494931504918 0.0004972264867210981 0 0 0 1.5370564423866345e-05 +9433 -0.0004964997133817967 0.0004937517873239818 0 0 0 4.531543631890503e-06 +1922 -0.000644761969791855 0.00045772700539434074 0 0 0 -1.6720687254421963e-05 +3132 -0.00019931654834075648 0.0004664590367390651 0 0 0 2.9527404612012284e-05 +3576 -0.0005738846163113783 0.0005127026847448009 0 0 0 -1.7697233030201767e-05 +3139 -0.00036475002189805087 0.000520238003326015 0 0 0 2.375254497373319e-06 +3216 -0.00025638357204334607 0.0005063574746957844 0 0 0 2.4523512129160205e-06 +3242 -0.0002991029579274112 0.0004551085910248036 0 0 0 -6.604570693570409e-05 +7873 0.0011414662327878734 -0.0005659119570424776 0 0 0 -0.000543633443690589 +3290 -0.00010973562459099978 0.0003232804698743117 0 0 0 4.080297019698434e-05 +3311 -3.966040120789955e-05 0.00020659377028075114 0 0 0 6.269407862562006e-05 +6263 -0.0006453494565290157 0.0004653044492746178 0 0 0 3.1500838632036916e-05 +9227 -0.0005832486880161947 0.0005051500038638081 0 0 0 1.4559746639348576e-05 +3449 -0.00020723673737905942 0.0004528940710246872 0 0 0 -4.052844777608807e-05 +9312 -0.00030430901442338366 0.0004530610798193768 0 0 0 -8.470430326761357e-05 +9842 -0.003295544154356922 0.0025086319067607102 0 0 0 -0.003087013117586114 +3967 -0.0004117011183643487 0.000521844407011553 0 0 0 -4.579010675455333e-05 +3615 -0.00045867094079156965 0.00047201713934177887 0 0 0 1.7919228656946136e-05 +3636 -0.00019867463796762694 0.00012134518374619507 0 0 0 -2.668188135350409e-05 +1982 -0.0005349281475737506 0.0005746545234723918 0 0 0 1.3307432818893113e-05 +3676 -0.00021057583239236417 0.0003088223627886202 0 0 0 1.7648638415781873e-05 +3707 -0.0004653169435896229 0.00048646109938553506 0 0 0 2.4827078987807764e-05 +3770 -0.000432336685869777 0.00042013035021967656 0 0 0 8.528675847153572e-07 +3799 -4.706470664759863e-05 0.0001260874748334322 0 0 0 5.456732226712742e-05 +3842 -0.00020246563360304363 0.0003855360973508947 0 0 0 -2.235594369263998e-05 +3844 -0.00046206389130616605 0.0005521649277415871 0 0 0 6.076796744678238e-05 +3901 -0.0005360466879723968 0.0004913938188893385 0 0 0 1.3535774679530736e-05 +3906 -0.000301727021208984 0.00037360507593624633 0 0 0 2.3479819055684383e-05 +7817 -0.000512525052331756 0.0005376488675924708 0 0 0 1.521155956711633e-05 +5543 -0.0005478686817467588 0.0005713642162160973 0 0 0 -4.972111406414897e-06 +3992 -0.0003212434852397439 0.00045259815298732704 0 0 0 -1.3741436088064584e-05 +847 -0.000453147236040602 0.00038315382780998105 0 0 0 2.1651231663368877e-06 +4009 -0.0004157363168097479 0.0005019631172063875 0 0 0 3.438536079945045e-05 +2828 -0.0005350220014404027 0.0005584011159793095 0 0 0 -8.845999974132869e-06 +4080 -0.00015837044825266395 0.00030925124315780154 0 0 0 0.0001294139598908375 +4092 -0.0002699298483969497 0.0005077584467930599 0 0 0 1.6950223496148836e-06 +4163 2.148662786190836e-06 0.00015943696487835646 0 0 0 0.00012332612622742976 +4692 -0.0006093735483988133 0.0005136522582358589 0 0 0 -8.374095773740763e-06 +4229 -0.00016539709403644767 0.000165433882047412 0 0 0 5.661179174375323e-05 +4253 -0.00030459309229196804 0.0005384864245344747 0 0 0 3.7347375620568524e-05 +4255 -0.00023215411022731958 0.00028723189941895244 0 0 0 7.280076527295169e-05 +4301 -0.000184221294565545 0.00039243492478019534 0 0 0 2.961857898398676e-05 +8934 -0.0003680475904947973 0.000526970548707362 0 0 0 -3.94465739843977e-06 +4396 -0.0002623684078062686 0.000529722394622245 0 0 0 -5.479584067844533e-05 +4311 -0.0005549886070136874 0.0005129829781534854 0 0 0 6.43492487792021e-06 +4507 -0.0003804047984038295 0.0006030366093478451 0 0 0 -5.354369328558955e-05 +4552 -0.00024263090382308552 0.0003585594412829661 0 0 0 -1.7306867012034314e-05 +9846 -0.0002665589093616891 0.00043323763613936894 0 0 0 3.7264252792764384e-05 +9752 -0.0005351592114632004 0.0005706111123387809 0 0 0 -3.7326690671067145e-07 +4853 -8.484731980748814e-06 0.00022307401418202665 0 0 0 8.871695003142897e-05 +2872 -0.0005901683759153457 0.0005412290296260019 0 0 0 -1.2308483473517446e-05 +6454 -0.0006090434517777823 0.0005127739886562302 0 0 0 -2.059033235206048e-05 +8716 -0.0005028247398529822 0.0005911025574296347 0 0 0 7.822521287598005e-06 +5005 -0.00032302993285438533 0.0004742107983597366 0 0 0 2.654851802645091e-06 +5017 -0.00022250946374497866 0.0005560587640830427 0 0 0 0.00012796735660362512 +6205 -0.00041230843861939163 0.000517350344915342 0 0 0 -5.84865550788277e-06 +5051 -8.234108511248812e-05 0.00013096955972452537 0 0 0 4.864505936526244e-05 +5057 2.5252915861660035e-05 0.00023933202303221245 0 0 0 -3.819354104417521e-05 +5079 -0.0004360276740503882 0.0005230828975841318 0 0 0 3.522408230255148e-05 +5105 -0.0004941687627319119 0.0005789492630961446 0 0 0 -2.1142001260317583e-05 +5215 -8.864196514609505e-05 0.00025813618793936905 0 0 0 0.0001611259710818006 +5232 -0.0002835797000952527 0.00040917998022425595 0 0 0 -3.2276194989111745e-07 +5241 -0.0003987719820890097 0.0005452691150665584 0 0 0 2.153368163749202e-05 +5263 -0.00018942418739114068 0.0004810295019838451 0 0 0 2.589521550008543e-05 +1523 -0.00040259673854528864 0.0005313762807909512 0 0 0 2.3687607978899368e-05 +9087 -0.0005522006525490928 0.0005600099910293883 0 0 0 7.674310571538886e-06 +5304 -0.0002401198117375651 0.0003693854025230996 0 0 0 5.848149268577337e-05 +5309 -0.0003045058791131614 0.0002997336312556503 0 0 0 2.0314070162485362e-05 +8989 -0.00041988404659018124 0.0006213757017831207 0 0 0 -2.460648851539209e-05 +5377 3.5946433315490705e-05 0.0001821127930899042 0 0 0 -5.882464164780946e-05 +5391 -0.000265009337503364 0.000619560330568551 0 0 0 -0.00015950671783037746 +5394 -0.00027305119438257504 0.00022632440178468449 0 0 0 1.2724095483541125e-05 +5255 -0.00044929590752825567 0.0005206513605756373 0 0 0 -3.105682245927814e-05 +5429 -2.1617718717018303e-05 0.00014016509372860822 0 0 0 8.492893199492416e-05 +5436 -0.001019139151709049 -0.0017880243438793439 0 0 0 2.5044551448024035e-06 +5459 -0.0003702442889090066 0.00048348314618247584 0 0 0 6.869796554521234e-05 +5050 -0.0005683486011970604 0.0005459655073911836 0 0 0 2.701140557655879e-06 +5534 -9.632889853803975e-05 0.00031213764576982204 0 0 0 1.9350309491734628e-05 +5595 -0.0003342040848407829 0.0002023791802486382 0 0 0 9.056089929114672e-05 +9049 0.00010172502933751226 5.789986283693421e-05 0 0 0 6.240125195084036e-05 +8916 -0.0004511370975745786 0.0005280139120323445 0 0 0 1.197518920521317e-05 +8876 0.006871053176740692 0.0011451450834953749 0 0 0 -0.0035921523281478673 +1082 -0.0004702650850615502 0.00023282088458627433 0 0 0 -5.4837718852314436e-05 +3294 -0.0005078564039669579 0.0006022172631544789 0 0 0 -1.20627291756255e-05 +9649 -0.0005386702885309139 0.0005682315186777494 0 0 0 -1.1433743135908247e-05 +5914 -0.00022369861321818796 0.00024318355742676784 0 0 0 5.394778928466027e-05 +5915 -0.0002942167669047515 0.00031426812178733036 0 0 0 -2.6734110415521546e-05 +5949 -0.00041113152259180963 0.00027576709816737994 0 0 0 3.1188488134146826e-05 +9005 -4.397894670994598e-05 0.00015472749171584354 0 0 0 9.315124742335424e-05 +6014 -0.0005052603308895436 0.0005334577169574565 0 0 0 6.69086542672393e-05 +6047 -0.00026982796594014573 0.0004345181622249093 0 0 0 8.568064811167797e-05 +6201 -0.0004425223761569266 0.0003135590444165988 0 0 0 -0.0001173694760988879 +6202 -0.00035526072429558313 0.0005778733962062087 0 0 0 0.00013800603820853844 +6214 -0.0003813501009696841 0.0005261347734329606 0 0 0 -9.340652969368688e-06 +9853 -0.0005426422793385811 0.0005643278429584285 0 0 0 1.4523298645296431e-05 +6274 -0.0001381602403802204 0.00023086837210824256 0 0 0 1.7391317319611413e-05 +7050 -0.00021691277713067038 0.00035666141066800474 0 0 0 -5.1538209447280036e-05 +6345 -2.1724104452479273e-05 0.0002079307727015751 0 0 0 0.0001979831398014057 +3111 -0.0006056934875659588 0.00035460600336672344 0 0 0 -1.2370794364949921e-05 +6404 -0.0003416791428486314 0.00030444504865140477 0 0 0 3.6534918704010476e-05 +6421 -0.0004785001187457179 0.0005396737685937888 0 0 0 -4.006616042049479e-05 +9608 -1.323983600755316e-05 0.0002266396347000004 0 0 0 9.910796348579485e-05 +6443 -0.0009301521519766782 0.0011735006870620798 0 0 0 -0.006882208490228584 +6167 -0.0006093332398623991 0.0005145355510292651 0 0 0 -3.903454676437661e-05 +6481 -6.222068952608564e-06 0.0002512932332198158 0 0 0 1.3300038627004755e-05 +6584 -0.00010055199362031442 0.00023550554997477926 0 0 0 0.0002806849471762718 +6599 -0.00022182588540687885 0.0004018233744690107 0 0 0 0.00018070854450930683 +6609 -0.0004942168246994468 0.0005561680896315261 0 0 0 0.0001218939127979461 +6669 -0.0004066890832048639 0.00028566865177745876 0 0 0 0.00019120331002502107 +6684 -0.00018645152662229205 0.0003704650011825034 0 0 0 5.680871668510577e-05 +6727 -0.00048154840729723293 0.0005497817197459053 0 0 0 4.4916497206830695e-05 +6777 -0.0003225778015294511 0.00045009620048156183 0 0 0 6.45389560373188e-06 +3536 -0.0004659667089643534 0.00045613608467734695 0 0 0 -1.846333327723493e-05 +6792 -3.0445781186618e-05 0.00021707047472241246 0 0 0 2.0414612264493944e-05 +6806 -0.0003804745787112832 0.0005298065442755944 0 0 0 -2.6723669414370807e-06 +6817 -0.0005604909033271247 0.00015967330404056918 0 0 0 7.625733003902943e-05 +8935 -0.00013677117501898116 0.0003458818461605025 0 0 0 1.0399045342643982e-05 +8951 -7.532334161801562e-05 0.0002659492548333646 0 0 0 4.894292975577145e-05 +7042 -0.0002069426910719262 0.00036008308057603296 0 0 0 -5.6031112639136224e-05 +3499 -0.00018438382969136575 0.00023349265282662844 0 0 0 8.203325674356757e-05 +7065 -0.0001512319665534632 0.00040905532797238603 0 0 0 6.850096460931271e-06 +7164 -0.00030235358664463353 0.0005544740686325478 0 0 0 1.781495848069706e-05 +7175 0.00046378469270681396 -0.0016946980825041434 0 0 0 -0.004785512856215146 +7227 -0.0020949849337704735 0.0007006957236774608 0 0 0 4.392347374301876e-05 +9364 -0.00019807917561640964 0.0003270168348134003 0 0 0 4.257770134700463e-05 +7265 0.00011788022542073319 0.0001027774411837812 0 0 0 -9.209966455492925e-05 +7269 -0.00045315254139214055 0.0004684935022550455 0 0 0 6.853577678118399e-05 +7322 2.311007148765205e-06 0.00021586340851583322 0 0 0 9.816502702500676e-05 +5179 -0.0004011823361724653 0.0005582756555831856 0 0 0 2.048257441697897e-06 +7431 -9.118762614253094e-05 0.0003551732292238392 0 0 0 -0.00014070022060909675 +7446 -0.00013591845304551496 0.00022593198023805258 0 0 0 -8.17850879160955e-05 +7468 -0.0002556262298191627 0.00020255622345548621 0 0 0 3.8044219434291976e-05 +7581 -0.0001811334238265385 0.0002886641313802836 0 0 0 -7.461440546720657e-06 +7662 -0.00031453128136201203 0.0006441138628688892 0 0 0 1.8946861665951753e-05 +7670 -0.00012353536887349057 0.0002898235111698291 0 0 0 8.529692100964408e-05 +7704 -0.0004192751033302555 0.0005186380167410449 0 0 0 2.0971434572745305e-05 +7732 -0.00032411063429543314 0.0004800906416887169 0 0 0 -1.4319161953126279e-05 +7759 -0.00019697857225680715 0.00036850267166587764 0 0 0 9.959517489244011e-05 +7804 -0.00026258978732628325 0.00033952958221129554 0 0 0 5.8321163349175216e-05 +7815 -0.00024417672337980124 0.0005638199450423944 0 0 0 7.497835337290499e-05 +7855 -2.081577937449742e-05 0.0002078849816233868 0 0 0 9.381275630141914e-05 +7887 -0.00016949003511054043 0.0003356152418513049 0 0 0 3.329454168989571e-05 +7937 -0.00045769717851963085 0.0004620384094329891 0 0 0 -1.3022715737475249e-05 +8999 -0.0004983158068785262 0.00048675994208345787 0 0 0 5.1672603264328644e-05 +7977 0.0016988920503514346 -0.0014116844909774031 0 0 0 0.0022175114316327934 +5889 -0.0005055830885576487 0.0005841004751110169 0 0 0 6.309980684383468e-05 +8016 -0.00024711315203072197 0.0005145759290570113 0 0 0 4.076611769242086e-05 +8855 -0.0002851061416183175 0.00040575614071136916 0 0 0 8.236526199435874e-06 +8084 -0.0002468955090389833 0.0006057675284319306 0 0 0 0.00014095282975903152 +9661 -0.0003692915077705622 0.0004793593404676018 0 0 0 7.277823930461295e-06 +8150 -0.0003151206251368454 0.0004446270461022527 0 0 0 1.1309111385087756e-05 +3712 -0.0005598669214227824 0.0005781328919395242 0 0 0 3.0140516564737585e-05 +8298 -0.0002791412818352618 0.0005636598466501305 0 0 0 -0.00017774354619088224 +8343 -0.00022576040817280706 0.00038611050924561497 0 0 0 3.9430096172878926e-05 +8401 5.1145563625476646e-05 0.0002141875763962749 0 0 0 -7.90980729061918e-05 +9488 -0.00023259474554812863 0.0005034618294590651 0 0 0 -2.200268004123385e-06 +8407 -0.00016272033452417782 0.00030719189063666295 0 0 0 9.033471578712601e-06 +8469 -0.00020904706552432007 0.0004336456258631497 0 0 0 1.2235917274308638e-06 +8481 1.7131653670068952e-05 0.00018603266640039795 0 0 0 3.3073130770773306e-05 +8493 -0.00029813903665941986 0.0004494865897059065 0 0 0 0.00011808798544342824 +8505 -8.882181825690955e-06 0.00036260564756912446 0 0 0 -0.00029236604247362847 +5630 -0.00032589571168086624 0.00042731098154180115 0 0 0 -6.003550222309591e-06 +8549 -0.00042031828834470454 0.0005154921688711662 0 0 0 3.0376751018978643e-05 +8585 -0.00044813063427069687 0.0005321730203167574 0 0 0 7.557774621425323e-05 +9555 -3.398574209048509e-05 0.00014226729201492896 0 0 0 2.7521639795022486e-05 +8617 -0.0007265673741499378 5.047009123159078e-05 0 0 0 0.0031599030840734938 +8647 -4.80826473203317e-05 0.00028259315352698126 0 0 0 -5.2479943588808167e-05 +8662 0.001633977362077546 -0.0008184121344449374 0 0 0 0.0008325323221142552 +4235 -0.00048059487740196774 0.0004870884287335993 0 0 0 -2.212818838206346e-05 +6010 -0.0004378912328955438 0.0004807157853763117 0 0 0 5.176155219578772e-05 +8710 -0.0008999636348898899 -0.00027719768025172666 0 0 0 0.001854400507307018 +8781 -0.00034957440542168874 0.0004831867415033686 0 0 0 1.888225127647944e-05 +3313 -0.0005076733301008647 0.0005713898362231674 0 0 0 4.1615430665680696e-05 +8807 -0.00043970840429981517 0.000500650834076927 0 0 0 -1.517584768111314e-05 +8846 -0.0003957453681678337 0.0005923661240443177 0 0 0 -1.989444769452352e-06 +8849 -0.00019999487372347803 0.0003710651958683805 0 0 0 7.963555246835646e-07 +4986 -0.0003301738122755954 0.00029766871570825764 0 0 0 -8.297491656836208e-05 +2041 -0.0003568330499411371 0.0003891731840030617 0 0 0 9.432671140485714e-06 +7707 -0.0005583985564191715 0.000507855591780848 0 0 0 -3.4926263973864962e-06 +3686 -0.0005015407269437917 0.0005827463003230835 0 0 0 5.773001790409037e-05 +4044 -0.0005915759058299183 0.0003626692262181636 0 0 0 -1.0822266319166719e-05 +1900 -0.00047303903978617205 0.0005551067720304121 0 0 0 6.629539740161366e-06 +1458 -0.0005341529442108147 0.00048185820612282757 0 0 0 1.764008005051928e-05 +2409 -0.0002633075055118968 0.00034618552944649884 0 0 0 5.7302994631756326e-05 +706 -0.0005363506603938399 0.0005304154112986825 0 0 0 2.1862264252015866e-06 +5045 -0.0004489669277687025 0.0005542903037435943 0 0 0 -8.953431799867044e-07 +2706 -0.0004426221307704674 0.0005126331970061046 0 0 0 2.3145273449149754e-05 +6429 -0.000487548319247616 0.00044361026969482603 0 0 0 6.2041023136033965e-06 +8106 -0.00041408200537868624 0.0005073311095592588 0 0 0 4.769976356285978e-07 +5837 9.865082370540115e-05 0.00011591802923805697 0 0 0 4.035366357511155e-05 +1440 -0.0006183160995483347 0.00047767927554839964 0 0 0 -1.6382535925295353e-05 +1785 -0.000425892577352064 0.00024294214683657085 0 0 0 -5.013412634165137e-05 +5237 -0.0006102360222733858 0.00036028228205657234 0 0 0 3.696385721118871e-05 +9265 -0.0004871451616820168 0.0005085378424611377 0 0 0 -3.40043467528498e-05 +9647 -0.0006216831006347758 0.0004928209027008894 0 0 0 5.8447002075125495e-06 +4981 -0.00045775102778737765 0.00023777628190354202 0 0 0 1.9565355068887473e-05 +7081 -0.0006152993026669199 0.0005154359965815621 0 0 0 6.642973935394639e-08 +4429 -0.000459559479860912 0.0005525994630894685 0 0 0 -1.824319133984171e-05 +1709 -0.0005506246775665183 0.00037807616325469636 0 0 0 3.2579349247292825e-06 +1920 6.736139619229382e-05 0.00011664160544815381 0 0 0 5.0271302215590566e-05 +6790 -0.0003405708066051702 0.0004132201993540978 0 0 0 3.3737035949640003e-06 +2878 -0.00029665257148026004 0.0003873858037314322 0 0 0 4.498555738043945e-05 +2191 -0.0005142412707921664 0.0005498656036156409 0 0 0 -6.6202993620653486e-06 +8062 5.751902948791461e-05 0.00018631994615561824 0 0 0 9.012951734013115e-05 +590 -0.0004583692696722525 0.00046000998429870184 0 0 0 1.6547296179520474e-05 +8295 -0.00031318858978843364 0.00037874073501533947 0 0 0 0.00012140023170170526 +4020 -0.0005481796585083571 0.0005113310044757589 0 0 0 5.447044784615866e-06 +576 -0.00045115713593663515 0.0005258720239795489 0 0 0 -2.0182916198325732e-06 +8691 4.715939319846306e-05 0.00022833478740104325 0 0 0 -0.00018259659646351246 +4908 9.219410207282046e-05 0.0001614231441569011 0 0 0 -3.1233793093679825e-05 +4626 -0.00045760407660046346 0.0005241573412524494 0 0 0 1.9407326109815852e-06 +3400 -5.15626181540106e-05 0.0001704957565976239 0 0 0 3.552468867007876e-06 +51 -0.0006816470386555583 0.0003207947649356427 0 0 0 3.0490819959880868e-05 +59 -0.00029172425827566213 0.0004627479032712062 0 0 0 -1.1270046335601468e-05 +97 -0.0005455998684242794 0.00044387167731999407 0 0 0 -2.409721023216157e-06 +101 -0.0003237726502038426 0.0004111456639126306 0 0 0 -1.4727239874938638e-05 +3573 -0.0005181089306588226 0.0005841507337398692 0 0 0 1.4927311611949031e-05 +125 -0.0005815178159961301 0.0005615470399008843 0 0 0 -4.79020647987611e-06 +134 -5.53416160753257e-06 0.0005585709574296999 0 0 0 -2.490153410924937e-05 +281 -0.0005569023577209652 0.0003435352916459867 0 0 0 -8.735465036703607e-06 +287 -0.00042552956040329545 0.00040600147120827825 0 0 0 1.2545785045611013e-06 +292 -0.00036343686238742104 0.00035316086535547715 0 0 0 1.546607268572292e-05 +293 -0.00048198779238610613 0.00042745468115992124 0 0 0 -1.79550568372064e-06 +304 -0.0006031294716748302 0.00036627135406230854 0 0 0 -2.2720093759456297e-05 +8742 -0.00037997833826176094 0.00032930728995675824 0 0 0 4.198006642533563e-05 +351 -0.0005267959692301463 0.00036061349756503244 0 0 0 -2.4582525579636093e-05 +446 -0.0005988253358698873 0.0004783276137670222 0 0 0 -1.5875995184317396e-05 +6226 0.0002313112752885981 -0.0007223668520714406 0 0 0 0.00029615301435813584 +488 -0.000507116965859065 0.0005061813610494636 0 0 0 8.788020267496948e-06 +531 -0.0004936648151053752 0.0004234709514892684 0 0 0 -2.6690810818489496e-06 +8687 -0.0004726954916275842 0.00041236710696836176 0 0 0 -2.7746075071831535e-05 +710 -0.0005685337941842732 0.00048806310557238276 0 0 0 -1.2832386003943195e-05 +713 -0.0004642687188472397 0.0003788401294689384 0 0 0 2.6868822718921917e-05 +736 -0.0005086644969179447 0.0004950529819143361 0 0 0 -3.7598269851551834e-07 +748 -4.078925109305918e-05 0.000491450141263137 0 0 0 6.842685999321949e-07 +7222 -0.0006391696412202443 0.0003420617020138005 0 0 0 -9.709722075014289e-05 +764 -3.2320852615184166e-05 0.0006008529734530039 0 0 0 -2.3137826369413588e-05 +769 -1.6096026164388154e-05 0.00042767190867562386 0 0 0 1.9362787513561397e-05 +2049 -0.00037980459952005895 0.00037879087359869935 0 0 0 1.7375495306227685e-05 +783 -0.0006028754671154729 0.00038876113593507185 0 0 0 -1.4766720629837328e-05 +803 -0.00044708435511549126 0.00041150546686982275 0 0 0 -1.4012525443730222e-05 +815 -0.0005028767233662942 0.00043429011281767566 0 0 0 2.0001530949941967e-06 +819 -0.0005332559783657702 0.0005389645170178895 0 0 0 -8.858176361064774e-06 +2867 -0.00029582235842575614 0.00028622575068538276 0 0 0 3.948817209149717e-06 +835 -0.0005926869972294822 0.0005282845204097782 0 0 0 -1.1273320837293321e-05 +857 -0.000516489432759684 0.0005214028789520338 0 0 0 -2.5985215452626623e-06 +8880 -0.0005312075374525351 0.0005735008874106114 0 0 0 -2.7852366888868593e-06 +927 -0.0005248710402982889 0.0004767742949276807 0 0 0 -1.297986843848898e-05 +944 -0.0006163688886896575 0.00041582860179733395 0 0 0 1.1450024691625506e-05 +1011 -0.000506046527474492 0.00047297381043389725 0 0 0 6.537798727939989e-06 +9828 -1.5726341647385053e-05 0.0004883163823449934 0 0 0 -0.00011262916698238804 +1078 -0.00034042697206412267 0.0003059795481801476 0 0 0 -6.0581563670386125e-06 +1122 -3.160895460764864e-05 0.0004674417964715562 0 0 0 -1.0140076288684955e-05 +1160 -0.00048090074914215367 0.0004970465126448849 0 0 0 1.591173149430281e-05 +1161 -0.0005956812549452854 0.0004614838774813007 0 0 0 -2.844057060955242e-05 +1168 -0.0005506253431537272 0.0005338845068738398 0 0 0 -2.8262371185169554e-05 +1204 -0.00025912121076181725 0.00018101882120073954 0 0 0 3.1418466799557934e-05 +187 -0.0003565737316893115 0.000385333112471913 0 0 0 1.2348047498844531e-05 +9759 -0.0003263576533755566 0.0004078386301779792 0 0 0 -3.521138153123698e-05 +9746 -0.0005139309394390419 0.00044334803265137036 0 0 0 -1.0127692060819367e-05 +1308 -0.0004741039666708674 0.00043174341473316275 0 0 0 -6.111336225533221e-06 +1337 -0.0005118291178336155 0.0005945791120632013 0 0 0 3.5554836332475944e-07 +1366 -0.00036537548503358483 0.00041651780805119663 0 0 0 -1.4137284808384295e-05 +1380 -8.210564701327012e-05 0.0004868749777494811 0 0 0 -1.271954123211005e-05 +1397 -0.0005685089647382673 0.000395549466296165 0 0 0 -2.791609004403525e-05 +1448 -0.0004971774919285356 0.00045509421892528243 0 0 0 2.250834271308783e-06 +1473 -3.165349264355729e-05 0.0006624413659871486 0 0 0 -9.64240709439575e-06 +1546 -0.0005176772943903508 0.0004780656684341268 0 0 0 7.465026237842564e-07 +1558 -0.0004958065821962134 0.00043404765144493165 0 0 0 -9.711622898679633e-06 +1582 -0.0005041347477646406 0.0004844736085052613 0 0 0 -1.7061297343896452e-06 +1653 -0.0005055594368810287 0.0005237549123986962 0 0 0 -9.750585395887714e-06 +6728 -0.0002966035118441816 0.0004705389414663742 0 0 0 -2.7113874653043934e-05 +1812 -0.0005031032872272908 0.0004529867131654678 0 0 0 3.917752177095806e-06 +1816 -0.0005144120645021611 0.0004930789780806181 0 0 0 5.9630934153108866e-06 +1817 -0.0005877197620720436 0.0005587144429391291 0 0 0 4.421511213133959e-06 +1832 -0.00048216921089589874 0.0004445337415220812 0 0 0 -1.4935344657416539e-05 +1833 -0.0004835730092822834 0.0004061730491974055 0 0 0 1.2644677367639892e-05 +8873 -0.0003956184826407267 0.0003514942267264476 0 0 0 -4.343795955506353e-05 +6113 -7.180625636705879e-05 0.00024846716105729434 0 0 0 -0.00033899392254553524 +1862 -0.0005186621818182737 0.0005247126046804783 0 0 0 9.926558583034229e-06 +1883 -0.00052462210032784 0.00046340889344931394 0 0 0 -4.193725997087518e-06 +1895 -0.0004361296617656622 0.0004188521435238648 0 0 0 -6.277887057116698e-06 +1905 -0.00012394787830091405 0.0004386687368294574 0 0 0 6.204112292954755e-05 +4236 0.00014200597855198668 0.0006229593666679845 0 0 0 -6.720363300649476e-05 +1938 -0.0005097300698920392 0.0004972443433456373 0 0 0 -2.3014524907387183e-06 +1941 -0.0005293553991170946 0.000569521375032787 0 0 0 3.526215950097838e-06 +1965 -0.0004773041682006044 0.00036776537056814 0 0 0 4.25812477661489e-06 +1974 -0.0005099684666102425 0.00042867353732376645 0 0 0 9.674696084783344e-06 +1984 -0.00047818675617572893 0.0004324339046784385 0 0 0 5.8321469714639045e-06 +1991 -0.0005406574759974096 0.0004712503326740699 0 0 0 1.2310493469771309e-05 +2013 -0.00046788741638944707 0.0004393085188299032 0 0 0 -1.0187773003610058e-05 +2032 -0.0003338508382778605 0.00033840846188049214 0 0 0 -1.809805120435268e-06 +5772 -0.0004143470304152606 0.00035248741941115925 0 0 0 7.955571213321632e-06 +2140 -0.0004894463750536466 0.00048115831512761 0 0 0 -1.455654387041695e-06 +2147 -9.273768664430174e-05 0.000424785309330331 0 0 0 -3.3660350066311645e-05 +2153 -0.0005210001275657667 0.0004915609428917664 0 0 0 6.338545849408071e-06 +2154 -0.00039436399285724694 0.00042894630124318885 0 0 0 -6.840193641644119e-07 +2176 -0.0004822225717447481 0.0004248800538745624 0 0 0 -2.531663956219365e-05 +2206 -0.0005722152443176924 0.0004830469981878045 0 0 0 -6.607246256700937e-06 +2247 -0.00023845761791784685 0.000207660646157031 0 0 0 -0.00015210207049479112 +2256 -1.8528366160936125e-05 0.0005930692183390077 0 0 0 4.000817719444013e-06 +2275 -0.0005170424247669695 0.0004919714611116053 0 0 0 -4.414653362741905e-07 +6323 -0.0004581022917629347 0.00042724546836842643 0 0 0 -2.2456775276846783e-05 +2309 -0.0005370515296854975 0.0003049091473966908 0 0 0 -1.0784669011682768e-05 +2349 -0.000528355663853091 0.0004830176959671627 0 0 0 -1.7748307544826896e-05 +2367 -0.0003648408973832442 0.00037430644633027865 0 0 0 -2.0902827432341743e-05 +2380 -0.0004628239186257537 0.0004907336938697253 0 0 0 2.5489740907283645e-05 +2391 -0.0005295842330710605 0.00039456043317355894 0 0 0 3.733389442559932e-05 +1479 -0.0005204483615338065 0.0005842408368927465 0 0 0 -5.009875976183557e-06 +2399 -0.00020794236078046325 0.0004512996584710022 0 0 0 5.768602596355413e-05 +2411 -0.0004801129221123929 0.0004339366800234518 0 0 0 5.1637208116392985e-06 +2414 -0.000595820364977854 0.00043129121468584396 0 0 0 1.3993267282109619e-05 +3646 -0.0005885405668673797 0.0005501490116313993 0 0 0 -1.5307129975086555e-05 +2462 -0.0006253932359190222 0.00040372063136590535 0 0 0 -8.906106465823683e-06 +2480 -0.000397016077848519 0.00039786677568367097 0 0 0 -1.0979392530938698e-05 +2558 -0.000488963406686629 0.0004653538844692708 0 0 0 1.4834438379833582e-05 +2623 -0.0005200157733622749 0.00043170898396523166 0 0 0 7.024754021742776e-06 +2658 -0.0005421906186425133 0.000567055225608039 0 0 0 -4.908929326373313e-06 +8768 3.590840449623125e-05 0.0002928735506246815 0 0 0 -4.3591930914751186e-05 +2668 -0.0005428690438401828 0.0005386919840892402 0 0 0 1.0374059873776668e-05 +2731 -0.0006077558725034076 0.0003167180518014446 0 0 0 -7.417518020171795e-06 +2734 -0.0005941675761244143 0.0005574009971068884 0 0 0 -1.204240266145812e-05 +2736 -0.0005335051831156422 0.00043489390441710284 0 0 0 2.4180969858397175e-05 +2742 -0.0004886217536351851 0.0004156543021765682 0 0 0 -2.44833107991962e-05 +2743 -0.0006108864383428091 0.000516287186588661 0 0 0 -1.5427555020465635e-05 +2758 -0.0005275273126499504 0.0004678206503602892 0 0 0 -1.858553644500766e-06 +2792 -0.0004076854556951001 0.00038075895751194975 0 0 0 -5.8399018251058855e-05 +2798 -3.496727446220251e-05 0.00048684478509960886 0 0 0 2.0581761832246632e-05 +2833 -0.000565393685162952 0.0004442199766103516 0 0 0 1.707773950652122e-05 +430 -0.0005343034249620904 0.0005632999460579402 0 0 0 -5.4134292780787e-06 +8143 -0.00043735012550419355 0.000324606149007681 0 0 0 3.583192230247626e-05 +26 -0.00044224757120811813 0.00032679328040097195 0 0 0 -1.006672226430949e-05 +2918 -0.0005715974179321448 0.00044209301966365136 0 0 0 1.8852734901781006e-05 +4407 8.455022997407508e-05 0.00058051486090228 0 0 0 -2.012412895102036e-05 +2094 6.089889000916886e-05 -8.824450239499438e-05 0 0 0 0.00026239745963384925 +6571 -0.000607785195561231 0.00031505398550115776 0 0 0 -2.260308618293936e-05 +2986 -0.000519753923551941 0.0005363258345833868 0 0 0 -1.1860478274873767e-06 +9841 -0.0005024838523386472 0.0004615098553201527 0 0 0 1.409415042008852e-05 +3035 -0.00042831137130042553 0.00043310367692335147 0 0 0 -3.869454684586237e-06 +3044 -0.0005377666972554148 0.00047174375357275 0 0 0 4.4781825027542164e-05 +3065 -0.000530744000993286 0.0003289233517156559 0 0 0 -1.2642763494953946e-06 +3086 -0.00044949706858578965 0.00032796948987325904 0 0 0 2.6276425435625907e-05 +3235 -0.0005315813716999901 0.0004894025941239716 0 0 0 -1.2003499319140766e-05 +3279 -0.0005280932881614098 0.0005098000281951421 0 0 0 1.3743257629485784e-05 +3337 -0.0005025102805472344 0.0003970742327755997 0 0 0 2.9168433640384945e-05 +9724 -0.0005032327287673781 0.00043551943907777044 0 0 0 4.376630514518458e-06 +3371 -0.0005435312513088348 0.00040821752949769135 0 0 0 -9.98436479421306e-06 +3403 -0.00044550435602870093 0.0004216519212219293 0 0 0 -4.02116084555662e-06 +3411 -0.0006405632694951152 0.00036568578356441526 0 0 0 -8.242066633121584e-05 +3456 -0.0005354333534135595 0.000372221947160131 0 0 0 -1.004422642716766e-05 +3508 -0.000617602702853289 0.0005089846703009437 0 0 0 3.9106315470504184e-06 +3632 -0.00018330954936536244 0.0005998750557085887 0 0 0 -9.312345515770811e-05 +3634 -0.00023629925188662504 0.000408817605849918 0 0 0 5.6680682759400875e-05 +7014 -0.0005883706618791209 0.00035718790982065547 0 0 0 -0.00010176165395818704 +3653 -0.0005027397102353331 0.00044115754309759263 0 0 0 -1.3871377829034774e-06 +3655 -0.0005040416438990034 0.0004903932103676836 0 0 0 -1.7034085104226546e-05 +3673 -0.00047284832525618196 0.00032543264623347283 0 0 0 3.453758886782297e-05 +4687 -0.0004895624224918817 0.00044480316212422086 0 0 0 -1.974490058537062e-07 +3687 -0.0006525017751620685 0.0002907855713861797 0 0 0 -6.182470762086133e-05 +3709 -0.0005084049983919639 0.0004900794268284909 0 0 0 -2.8086712580390248e-05 +3732 -0.0005244103160099257 0.0003384417918131496 0 0 0 -4.0369582443126606e-05 +3759 -0.00048175078493686385 0.00047387330723495 0 0 0 -6.994338250261879e-07 +3765 -0.0004767121495321231 0.0005316180654428279 0 0 0 -1.4894397703225024e-05 +3813 -4.925927249965599e-05 0.0006453861172406536 0 0 0 -2.5920987293184177e-05 +3857 -0.0005362499275077336 0.0004172087240673644 0 0 0 -2.956332257127552e-06 +3871 -0.0002671492359661205 0.00037029164745413574 0 0 0 -9.856793810575763e-05 +3883 -0.0005707331669348878 0.0005717541599390935 0 0 0 3.2089958530944156e-05 +3915 -0.00063565109378082 0.000283815348932829 0 0 0 -8.030043809291854e-05 +3978 -0.0003709385083590489 0.0004137149831675823 0 0 0 1.167618257714473e-05 +4011 -0.0005839341498403854 0.0004140229618438454 0 0 0 -5.315732053564139e-06 +5451 1.6602808415110547e-05 0.00023011966864534337 0 0 0 0.000268842057596076 +5848 -0.0005693199225101977 0.0003396046936496938 0 0 0 7.705728759585304e-07 +4042 -0.0005628166013036441 0.00043619639270038964 0 0 0 1.7854109978465532e-05 +3465 -0.0005209113282634542 0.0005983731038563772 0 0 0 -2.3724167125871978e-05 +2599 -0.00028434991912888605 0.0004598836112094115 0 0 0 -6.712866216241614e-05 +4122 -0.0003519648420928967 0.00040939551544385254 0 0 0 -1.9448320404375003e-06 +4149 -0.0006309966211995851 0.0002917444829692371 0 0 0 1.4608421713824563e-05 +4166 -0.0004041240943913803 0.000377498597368631 0 0 0 4.0170694863961544e-06 +1088 -0.00039111072123298703 0.0003571986219196446 0 0 0 -1.1826203439421234e-05 +7415 -0.00031367378906444095 0.0003566079919768637 0 0 0 1.480627995891698e-05 +4257 -0.00047956613558582556 0.0004565334008584897 0 0 0 -2.2329600320353567e-05 +4275 -0.00037912961727197623 0.00030146711946903675 0 0 0 4.0904695645753695e-05 +4283 -0.0005816206766893443 0.0003634357353631849 0 0 0 4.812787429936071e-05 +4360 -0.0005136395662461309 0.00047094520272796046 0 0 0 -9.642724903768069e-06 +9870 -0.0005441456318565527 0.000470309092327223 0 0 0 1.0709247071021076e-05 +4366 -0.00039469654279071433 0.0004360195450916444 0 0 0 -7.760285810885584e-06 +4803 -0.000525755933502798 0.000589372572528961 0 0 0 -9.431451068862837e-06 +4420 -0.00041053096813337895 0.00039546668709008564 0 0 0 4.85130690918926e-07 +4465 -0.0005287809199177551 0.00046498386105113857 0 0 0 -4.91758928456356e-06 +4468 -0.0004709162943791949 0.0004225601369106721 0 0 0 -7.625641347408197e-06 +4493 -0.0006393724662229188 0.0003827479215065925 0 0 0 5.1178677283605024e-05 +4496 -0.0005772181201815126 0.00040605883446955936 0 0 0 2.7937267469995843e-06 +9557 -0.0005992458152795299 0.0005400851271177831 0 0 0 1.8875696503143956e-05 +4533 -0.0003790865909725292 0.0004234233771649715 0 0 0 -5.147221383606869e-06 +4549 -0.0004475374422394969 0.00039389586391586453 0 0 0 3.025940911064305e-05 +4550 -0.0005208030682188736 0.0005552796984759689 0 0 0 -7.1130825767537145e-06 +4615 -0.0005477620249613695 0.0005873558987592563 0 0 0 -4.681772881903043e-05 +239 -0.0005247769665923244 0.0005802008244186877 0 0 0 -1.463432320235947e-07 +4648 -0.0004353461548127122 0.0004536564352681903 0 0 0 -4.109403081640284e-05 +794 -0.0003051342974954392 0.00019992795652678825 0 0 0 3.5280637059918294e-05 +4769 -0.0005716750012495326 0.00040769510875236607 0 0 0 -7.20901958460124e-06 +115 -0.0006147066759495276 0.00034402493322573325 0 0 0 -1.052763096356424e-05 +4895 -0.0004045351257532086 0.00041592165380606563 0 0 0 -1.557555932698301e-05 +4902 -0.0001225889664353099 0.0003907346006106498 0 0 0 -6.542317841680984e-05 +4951 -0.0002601629280710865 0.00028810848303539204 0 0 0 -0.00014572310021458026 +4956 -0.00039629936049474345 0.0004202498621890003 0 0 0 -1.5349961455324475e-05 +4971 -0.0005482061510953868 0.00043010247826552237 0 0 0 -1.393170329845144e-05 +4975 -0.0005115849779549161 0.0005105947885789498 0 0 0 -7.423524729988266e-06 +4999 -0.00034293897628055086 0.00036888632039107583 0 0 0 -4.774727712997555e-05 +8541 -0.0005521138510209592 0.00034330238283834276 0 0 0 7.073809008331908e-06 +9748 -0.0004978049424254298 0.00030535923990770606 0 0 0 -3.781006042436982e-05 +5066 -0.0005659368526100285 0.00040447581439205765 0 0 0 6.673202546547472e-06 +5070 -0.0004649147820391403 0.0004148197499176907 0 0 0 4.36086895223948e-05 +5090 -0.0005164066101182452 0.00048600524090001247 0 0 0 3.285092987139143e-06 +5102 -0.0005628711212975932 0.0005278795451975504 0 0 0 3.0099415911797174e-05 +5115 -0.0005315727464784476 0.0005170277791935864 0 0 0 2.4916408674195635e-06 +5124 -0.0005220241321292272 0.0005284370958989309 0 0 0 1.473122213498885e-06 +3029 -0.000426169847952231 0.0003995702562419607 0 0 0 -3.560390026516715e-06 +5158 -0.0005431328174854953 0.000370860972252334 0 0 0 2.8233333132207016e-05 +5161 -0.0005472945340069662 0.0005123865482746689 0 0 0 -1.08740845026574e-07 +5936 -0.0003756211985598445 0.00034475112787184226 0 0 0 1.0819003070543934e-05 +5185 -0.0004954404572019183 0.00045408295718508816 0 0 0 6.55725347109303e-06 +5217 -0.0005298582765905128 0.0004564536232597221 0 0 0 1.4622118401210751e-05 +5220 -0.00025407879354891747 0.0005445868848123274 0 0 0 -8.889263733590542e-05 +4226 -0.00037982137706006413 0.00041659789028528706 0 0 0 4.452150908279088e-06 +5315 -0.0005472351473030115 0.00042120148819367365 0 0 0 -9.905766621748248e-06 +5354 -0.000660549301727993 0.0003479851009301064 0 0 0 -0.0001956361568675328 +9403 0.00014011617888005608 0.0005446916066429181 0 0 0 -0.00011998386115441231 +5392 -0.00011354559621564791 0.0004571252517318379 0 0 0 1.5221978105769203e-05 +5478 -0.0005009415786984947 0.0005419190320291334 0 0 0 1.5280282058332687e-05 +5484 -0.0004930767763517386 0.0005026296462522545 0 0 0 4.048670402164719e-07 +5535 -0.0005141091255422092 0.0002468746337903205 0 0 0 -3.277141527701816e-05 +5592 -0.0005064601260485142 0.00031486240773373686 0 0 0 2.694613438457879e-05 +5626 -0.0004924733781240569 0.00029966342161649837 0 0 0 3.871415092789562e-05 +5674 -0.0006434364734559632 0.0003639037700650226 0 0 0 -4.179966034261563e-05 +2971 -0.0005208860280791323 0.0005139119106591819 0 0 0 3.84651501303935e-07 +5750 -9.127249543547766e-06 0.0005409882513100721 0 0 0 -3.453547314492963e-05 +229 -0.0004417223111023983 0.0003278570637549117 0 0 0 3.818354494486399e-05 +5862 -0.0005670739920917802 0.0005283654254259112 0 0 0 -4.6937548231453644e-05 +5894 -0.0006276783646310438 0.0003702314547502281 0 0 0 1.5941637397494908e-05 +5909 -0.0002444141462299458 0.00017123935032000584 0 0 0 0.00013054345033549787 +5927 -0.0005783272603157086 0.00034728291692828154 0 0 0 -2.6562562332251196e-05 +5981 -6.403782050340942e-05 0.000619102213702038 0 0 0 -4.086441756577936e-05 +3254 -0.000537040648508107 0.0005806067862823155 0 0 0 1.379688129489781e-05 +4362 -0.0007075988546753215 0.0003270535213483678 0 0 0 -0.00010378923298082421 +6026 -6.517599099232139e-05 0.0006470285970981269 0 0 0 1.4873414761467065e-05 +6058 -0.0004920493149986872 0.0004031507542532912 0 0 0 2.2665455304638485e-05 +6099 -0.0005222225345913735 0.000513566254741842 0 0 0 -7.528989232581298e-06 +6115 -0.0005447415665129552 0.0005516653445616776 0 0 0 -1.7949167988727574e-05 +6118 -0.0005277152997918312 0.000476848705202897 0 0 0 -2.660974285435964e-07 +6123 -0.0003815672604053316 0.00035065793259312066 0 0 0 0.0001336630349657705 +6129 -0.000461145553621299 0.000414195534937276 0 0 0 -4.4353062317960546e-05 +5149 -0.000531584053360256 0.0005633449168056669 0 0 0 -5.309119002017877e-06 +6219 -0.0005665254827988139 0.00045310043592097776 0 0 0 -9.199829331379974e-05 +6224 -0.00010526580065033224 0.0005537245148518396 0 0 0 -5.732009872619107e-05 +1234 -0.0006120431094440488 0.00031975885874326347 0 0 0 2.998935395876409e-06 +5408 -0.0002908848616124794 0.000458642126222248 0 0 0 -2.4027716696907627e-05 +6250 -0.0005925972612607961 0.0004062676692434481 0 0 0 1.3251938432852435e-05 +6255 -0.0005185651732100768 0.0004209833382460066 0 0 0 -2.2434463879568678e-05 +1218 0.000219493891637755 0.0004014029538377982 0 0 0 -0.00014497044532314158 +6267 -0.00047390962663322616 0.000341577926213116 0 0 0 1.7726888047777603e-05 +6282 -0.0005295713063749223 0.0005134017380485782 0 0 0 3.024240718671387e-06 +6290 -0.0006665049916077029 0.0003748485910677452 0 0 0 2.7690819944221807e-05 +6317 -0.000568157413479958 0.0004912269020258795 0 0 0 2.4285588098609364e-05 +6344 -0.0005572575059335038 0.00038960379692464897 0 0 0 2.2485694309528052e-05 +6390 -0.000503883880389506 0.00040801660148658036 0 0 0 4.3982280724842643e-05 +6444 -0.0005094959921033004 0.000452178442932982 0 0 0 2.8154389083199793e-06 +6446 -0.0005307344844999106 0.0005714964613961673 0 0 0 -1.9156300068402987e-06 +6491 -0.0002404250356412071 0.0003474494379149444 0 0 0 8.877741988172248e-06 +6496 -0.0004879933153596006 0.0004938967298251907 0 0 0 -9.977486740492797e-06 +6511 -0.0005736831857594613 0.0004150437503485253 0 0 0 1.228962058329686e-05 +6527 -0.0003282535595627442 0.0004169973675799599 0 0 0 8.044157018490969e-06 +6540 -0.0003863668693266306 0.0003860998204628845 0 0 0 1.131923995314172e-05 +3757 -0.000108752624595839 0.0003007937850362355 0 0 0 -0.00014028960237114877 +2569 -0.0006130029467931174 0.0005276608104334956 0 0 0 -1.5900035995852065e-05 +6623 -0.00046128195799959433 0.00036439022408047116 0 0 0 5.557141709975552e-05 +6710 -0.0003158446252402653 0.000411375088873375 0 0 0 3.897097411430138e-05 +3230 -0.0003799219008305547 0.00033276315257435953 0 0 0 3.938196768221763e-06 +6738 -0.0005676190017255589 0.00040337981156191163 0 0 0 3.9448335251515214e-05 +6753 -0.0004681432034378312 0.00043943739381680543 0 0 0 5.349262894885297e-05 +6763 -0.0006204022047533364 0.00033649000505261756 0 0 0 7.073440710129268e-06 +6780 -0.0004922770086788822 0.0004430219190987313 0 0 0 -1.2175575727050933e-05 +6809 -0.00041061266095704493 0.00042877836882044147 0 0 0 -1.466506212972944e-05 +6814 -0.0005088212055898073 0.0004613474015733651 0 0 0 -1.106022863365463e-05 +6821 -5.681045000830363e-05 0.0005520348416964584 0 0 0 -8.128752633781274e-05 +6867 -0.0005095722096827453 0.00043017522073925276 0 0 0 2.2391355386531597e-05 +6877 -0.0006205059707830538 0.0004122404023165305 0 0 0 1.2938017779343785e-05 +6892 -0.000624928221259832 0.00036736060456840224 0 0 0 9.638938590856928e-05 +6900 -0.0006085884584871537 0.0004315198272067049 0 0 0 5.020555317753769e-05 +957 -0.0005313277207890103 0.0005353878962288023 0 0 0 -4.786312253687413e-06 +7012 -0.00040815885613597027 0.00032388177132783373 0 0 0 0.00016364082374386625 +2506 -0.00041289786124241063 0.0003409031185036637 0 0 0 -1.1289735117974866e-05 +7017 -0.0005006744192952581 0.00042332614634632283 0 0 0 1.4680492339166459e-05 +7026 -0.0004738664258645456 0.0003936924748932199 0 0 0 -1.7041242356050245e-05 +7027 -0.00012051513052952318 0.0004639797371819314 0 0 0 9.04353472441328e-06 +7030 -0.0005647074753049207 0.0004970881588543041 0 0 0 -1.0358385555041806e-05 +7904 -0.0004584752564476765 0.00034553749341713493 0 0 0 -1.2975538192848587e-05 +9666 8.987669708890748e-05 0.00022359112933224075 0 0 0 -0.0001790094195914496 +7075 0.0019615268297197724 0.000991929638965436 0 0 0 -0.0033230669177063393 +7079 -0.0005484401343724744 0.0003982420626674422 0 0 0 -1.532116192568055e-05 +9983 -0.0005449797400748597 0.000441805915794595 0 0 0 6.738731609666978e-06 +7129 -0.00038689178265661117 0.0003380559601146753 0 0 0 -8.162752249826764e-05 +7146 -0.0004314968948971959 0.00033276246540196166 0 0 0 5.547725025531429e-05 +7161 -0.0005205432286874215 0.0004479176120471915 0 0 0 3.6998468616422193e-06 +7193 -0.0004494481093537729 0.0003615965687413211 0 0 0 3.124999697742673e-05 +7214 -0.0003441988255999217 0.00034379357009879945 0 0 0 5.822164513609188e-06 +3957 -0.00043104478494223133 0.00034178749060051846 0 0 0 -3.146329684057793e-05 +7226 -0.0004983434504319048 0.00044558299272933106 0 0 0 -6.173149778460805e-06 +7249 0.0008078584591184111 0.0012061069500765285 0 0 0 -0.0005084314072664575 +7304 -0.0005069414450269495 0.0005091674012286987 0 0 0 -1.7998435489349232e-05 +7318 -0.000517491765107278 0.0004764362390511471 0 0 0 2.356062180765511e-05 +7324 -0.00046157537114079316 0.00044619770500412323 0 0 0 3.66559939921202e-05 +7342 0.00013273344045904294 -1.854339864271878e-05 0 0 0 0.00023944970537028887 +7349 -0.0005367530168227094 0.0004044618618174759 0 0 0 7.2096161941714476e-06 +7395 -0.0004524442843620901 0.000372179556462362 0 0 0 4.0027919110092445e-05 +7413 -0.0005129916681564206 0.00042397749201508294 0 0 0 5.78710814536474e-05 +7433 -0.00046598507268216577 0.000348601650839102 0 0 0 6.141374487748626e-05 +9989 -0.00043979469422941796 0.00033967643964020956 0 0 0 -2.5950107961599327e-05 +7447 -0.00012175953662897406 0.0005812796768711191 0 0 0 -0.0001344612219802116 +9733 -0.00047763191267984295 0.0004216131866393815 0 0 0 8.118537644519875e-06 +7567 -0.0004909527061139097 -0.0004674987572060409 0 0 0 0.0006595642796812143 +7573 -0.0005673028317045445 0.0005411700380858296 0 0 0 1.47369976050611e-05 +7635 -0.00048178213383858745 0.0004291706741680315 0 0 0 6.8238203020536265e-06 +7649 -0.0005476189774766743 0.0005743846437930218 0 0 0 1.8106024307117265e-05 +7654 -0.0005168094951081733 0.00043230769776047217 0 0 0 -9.716328130440628e-06 +7708 -0.0005752303566771147 0.00036878614985193567 0 0 0 -2.6008569198336887e-05 +7787 0.0008140270396586735 -0.0013320645342532844 0 0 0 -0.0004282213230847624 +7856 -0.0005543665787761134 0.00032245239035350016 0 0 0 2.6377759536092334e-05 +7870 -6.0400491756892e-05 0.0004862763520925061 0 0 0 -0.00013653193294895806 +7890 -0.00048274768266062725 0.00038595255693232156 0 0 0 -4.242452450812142e-05 +7933 -7.88658312411536e-05 0.0005241755448335097 0 0 0 3.300173746422341e-05 +7936 -0.0005042963505383049 0.0004233912437117475 0 0 0 8.278659503715262e-05 +7943 -0.0005038435934414841 0.0004316777578348918 0 0 0 1.9871647222389208e-05 +8032 -0.0005190450934087369 0.0004474575641458452 0 0 0 -3.955907257614197e-06 +8100 -0.0005741123691286934 0.00032003551696866485 0 0 0 3.41326660938932e-05 +8131 -0.0005344774234224992 0.0005134452738003077 0 0 0 4.5034829181311594e-05 +7039 -0.0005146790510643855 0.00039781427095966293 0 0 0 1.7021072324759488e-05 +5469 -0.0005078553484288467 0.0005979762813622927 0 0 0 -4.90647683614213e-05 +8376 -0.0004695576316839251 0.0004208670150612947 0 0 0 5.728517555353803e-05 +8394 -0.0005185432834317708 0.0005042507028881926 0 0 0 -2.7125809522410986e-06 +8405 -0.0010272236760133168 0.0011378781513290612 0 0 0 0.00024522572760511284 +2461 -0.0005869421369386083 0.000562891024465216 0 0 0 -1.691016129573688e-05 +8427 -0.0005106776102284158 0.00038743398404297684 0 0 0 -4.412520686720497e-05 +8429 -0.0005301388247930299 0.00047509083744699864 0 0 0 4.3381134633494e-06 +4192 -0.000513031725034671 0.0005888370817697435 0 0 0 -3.8069627699390623e-06 +8516 -0.0004942737096523187 0.00043013794257343335 0 0 0 7.235501005120932e-06 +8540 -0.00018835058632117767 0.00040236772668878737 0 0 0 -0.00014509641839270446 +9970 -0.0005093729785872546 0.00043389899022687093 0 0 0 1.2456601387972355e-05 +8586 -0.0003599362638178426 0.0003245962866464155 0 0 0 7.76795044295365e-06 +8589 -5.804062836329079e-05 0.0006453721724249143 0 0 0 6.556878555431355e-06 +8636 -0.0005018493819759024 0.0004217873869256947 0 0 0 6.624144774486785e-05 +9999 -0.00043681135438714767 0.0004090375157697411 0 0 0 -1.3157771589565172e-06 +8718 -0.0006210567802989651 0.0004564498350341893 0 0 0 -2.830059671888568e-05 +8766 -0.00036857363557064773 0.00025758111642088606 0 0 0 -9.724805559596022e-05 +7110 -0.0004257065657031292 -0.00047930772450003375 0 0 0 -0.0013778350693623078 +8792 -0.0005912667990793854 0.0003794735049171865 0 0 0 -1.729027534629852e-05 +8794 -0.0005443937811639446 0.0005786647957474327 0 0 0 -1.2344481330462654e-05 +8800 -0.0005059505565492541 0.0005068197634649402 0 0 0 1.254218393848447e-05 +1147 -0.0004176643810377124 0.000438795439002398 0 0 0 1.415314798989117e-07 +9727 -0.0005084490254923934 0.0005295145727882861 0 0 0 4.506215076982689e-06 +9966 -0.0003922897729503725 0.00040974005781503424 0 0 0 -7.757482806624504e-06 +8928 0.0018476763298593095 -0.0008863947268981999 0 0 0 0.00016630840411063015 +8275 -0.0005425690516679464 0.00033129526714244326 0 0 0 3.600857173573109e-05 +8963 -0.00032302364406610874 0.0003312238611037762 0 0 0 5.208845312419747e-05 +3127 -0.0005331626811615347 0.0005827251491629197 0 0 0 -7.0794181705694916e-06 +9009 -0.0004436600109042506 0.00040614685390473525 0 0 0 0.00017212982648037628 +9014 -0.00046355860709451163 0.0003866737614539066 0 0 0 9.298824952594847e-06 +9017 4.931250022839403e-05 0.00022393923000990534 0 0 0 -0.00011758550702587665 +9019 -0.0005162214240385773 0.0004560141094645971 0 0 0 -9.257372756609218e-06 +9024 -0.0005177945828800316 0.0004926837772218995 0 0 0 1.1119949085662069e-06 +9053 -0.0005260162199159107 0.0005032877994601355 0 0 0 -4.47597236861491e-05 +9079 -1.2660483699430338e-05 0.0005182008635375653 0 0 0 -1.074066351596733e-05 +9085 -0.0005520480051708368 0.00044396024446327707 0 0 0 5.060509354781852e-06 +9088 -0.0005772626219880231 0.0003817450113748108 0 0 0 -1.8325171698082948e-05 +9106 -0.00011407717464271552 0.00047734121952585924 0 0 0 -1.1211042154568791e-05 +9135 -0.0005205304932699214 0.0004488286443305321 0 0 0 -1.946663235850493e-05 +9693 -0.0006070583995959592 0.00047663966869758944 0 0 0 -3.312677455318098e-06 +9170 -0.00018782716129596433 0.00043592315675441685 0 0 0 -2.625869085401201e-05 +9175 -0.0005283673359024482 0.0005260375478169539 0 0 0 -1.0025129079531833e-05 +739 -0.0002323640015392135 0.00042410515694938766 0 0 0 -2.0279785206953277e-05 +9230 0.00075466924367217 0.0009855613686815142 0 0 0 -0.0009519893507955814 +9236 -0.0005636170281219093 0.0005429216458166568 0 0 0 -3.890625376882693e-05 +9249 -0.0005488646516130785 0.00044252041961409815 0 0 0 -1.4704240739758542e-05 +9275 -0.00048019220851543387 0.0003402740098355917 0 0 0 -4.076242098130656e-05 +9990 -0.0005405811113810142 0.0005113061018309385 0 0 0 -3.888877450323706e-05 +9904 -0.00042050744297807217 0.0004496384071678919 0 0 0 6.415929935985884e-06 +9390 -0.000504860869736349 0.0004923146166267784 0 0 0 -2.648850275631428e-05 +9396 -0.00027521168109996666 0.00225764695692707 0 0 0 -0.0022102724981302234 +9411 -0.0005452631283430169 0.0004333291089231719 0 0 0 1.1260335754266992e-06 +9434 -0.00044583777584966336 0.0004359588000055525 0 0 0 8.42150846098532e-06 +9523 -0.0005212645966721204 0.0005275951082547032 0 0 0 -2.436271236358027e-05 +9556 -0.00040614730730645024 0.00041037402942988363 0 0 0 -5.741699616089896e-06 +6246 -0.00029189074240143715 0.00031633243903348026 0 0 0 1.110821613268633e-05 +9563 -0.0006285674924430027 0.00038157659975907233 0 0 0 -3.353121056942738e-05 +9583 0.0007439910926660997 -0.0007736006023538067 0 0 0 -0.000846628220076189 +9594 -0.00028809087406334255 0.00043661789047739824 0 0 0 -3.316118616236095e-05 +8244 -0.0004933715325982045 0.0006209474233539373 0 0 0 -6.617541508513661e-05 +7682 -0.000303169955080314 0.00044402019865884897 0 0 0 -3.182834922473745e-05 +2322 -0.0005471066042756582 0.0005655818659509326 0 0 0 -2.356141222211964e-05 +9697 -0.000572063500876379 0.00030663289606194024 0 0 0 2.0045106463781793e-05 +35 -0.0004822730942627103 0.0005911611066481332 0 0 0 1.4071215982039055e-05 +2092 0.00021295230825942802 4.762873442407392e-05 0 0 0 -0.00023180982666982014 +8910 -0.0005521422127835144 0.0005855565448077343 0 0 0 -3.757553578749264e-05 +4052 -0.0005028636963209732 0.0006042455036739397 0 0 0 -6.0014205180412115e-05 +7899 -0.00032432542368225403 0.0003389469917807661 0 0 0 0.00016801036950979853 +5365 -0.0003860234194906681 0.00038804092840429147 0 0 0 8.009715849205358e-05 +1947 -0.0005096142046517942 0.000614881590050541 0 0 0 -2.359803717179939e-05 +8748 -0.00041580721041352886 0.00021326464132130643 0 0 0 -5.030919567096758e-05 +6720 -0.0003245101852126048 0.0004535338858049635 0 0 0 1.1676048478963724e-05 +654 -0.00031638876849782215 0.0002457084494645598 0 0 0 0.00010600252866885749 +9363 -0.00028706668256215945 0.00033482375121032744 0 0 0 -0.0002285351629915702 +5680 -0.00025585402441000784 0.00025215921486028945 0 0 0 7.275736496384876e-05 +8904 0.001654342143864198 0.000400493084783757 0 0 0 0.0001800927685758473 +3670 -0.0005280252677972894 0.0005983372634398599 0 0 0 -5.6119476607227166e-06 +8850 -0.0006810363671515054 0.0006047691688443534 0 0 0 0.0009514819412962896 +6946 -0.0005493148593940167 0.0005962685375456901 0 0 0 -2.6944326011335994e-05 +6140 6.63739412350831e-05 0.0003906760566569112 0 0 0 -0.0001790556101883059 +4076 -0.0006090778778098719 0.0003534538330577901 0 0 0 2.295601701864786e-05 +8783 -0.0002983322545230337 0.0002944443773201141 0 0 0 -1.1072252232767979e-05 +4001 -0.00031408311668293637 0.0003234703828885001 0 0 0 -1.7532497791340643e-05 +1258 -0.0005600700529522937 0.000322652197569091 0 0 0 -4.256190127794246e-06 +6024 -0.0005935150085977299 0.00032857543059878737 0 0 0 2.379568103665401e-05 +9168 -0.0006179775166933184 0.0003149625130642152 0 0 0 1.5293093817873177e-06 +3087 -0.0005103139769612785 0.000587594225153855 0 0 0 -3.353372579757509e-05 +754 -0.000634839471275794 0.00047165877508222753 0 0 0 -1.1102722475331373e-05 +6362 -0.0005697472012093662 0.00032758032592484473 0 0 0 -1.59707457084545e-05 +6935 -0.00024147951949249002 0.00024490306365935576 0 0 0 0.00031796421645309 +1048 -0.0005401706680161206 0.0006087306852644456 0 0 0 -5.133233351828594e-06 +5270 -0.0002446219307584485 0.00026153652626111117 0 0 0 -1.249726628263149e-05 +1756 -0.00023447391933309936 0.00023767617710322597 0 0 0 9.492578062926356e-05 +8042 -0.00030466632178110517 0.0002879664864662397 0 0 0 -6.002709490300158e-05 +3953 -3.862949500810876e-05 0.0006305232137677564 0 0 0 -2.7613934392133293e-05 +4679 5.285071078170695e-06 -3.5512694332513226e-05 0 0 0 -7.777119069110014e-05 +28 -0.00019381188817670845 -5.226878309664811e-05 0 0 0 -1.3994253775360964e-05 +3206 9.626679544057216e-05 7.526120139439611e-06 0 0 0 3.130376568966355e-05 +91 -0.0004369184995157536 1.5275194305203646e-05 0 0 0 2.6578705995357145e-05 +99 0.0007399754146210956 -0.0001248954214209656 0 0 0 -2.4668203850546884e-05 +155 0.0003480205149195415 -9.5551979295196e-05 0 0 0 -2.510235796135958e-05 +175 -0.0006968730874674676 0.00016823120690196265 0 0 0 -1.3818200542267505e-05 +191 -0.000572310423518266 4.3870736411632186e-05 0 0 0 -9.374435933912433e-06 +6349 0.00019391977719009017 -4.5920793270876945e-05 0 0 0 3.3918962296460747e-05 +211 0.0005758815160309365 -0.00020130961975429546 0 0 0 1.4845445756672186e-05 +282 0.00037578888149692054 -8.922934593977847e-05 0 0 0 -2.350812557039129e-05 +9485 -0.0005758634707479334 4.841151167234048e-05 0 0 0 -2.071442075194003e-05 +324 0.0004706147176753327 9.826484448821023e-05 0 0 0 -3.4336237144222544e-05 +5687 0.0002416022575790741 -0.00012941450605114237 0 0 0 1.031133826890435e-05 +9788 -0.0004071800004599517 8.056319113880142e-06 0 0 0 -0.00010069692729023349 +395 -0.0004970618531735065 1.48289572449267e-05 0 0 0 2.4220080881247775e-08 +457 -0.00022579976147619487 -8.071448203434828e-05 0 0 0 -3.237635975977188e-05 +3104 -0.0007632896757189309 9.950064170065703e-05 0 0 0 1.8701952275041644e-05 +568 -0.00011686754316613302 -0.00014299865116753239 0 0 0 -2.2720169093329565e-05 +583 -0.0007331919996697698 5.565100392028526e-05 0 0 0 4.935189056506473e-07 +586 3.431378291232765e-05 -0.00015638776992995933 0 0 0 -3.1581287359263454e-05 +610 -0.0005435648786448396 1.4075099365341747e-05 0 0 0 -7.753682764286323e-06 +5942 0.00018192499317029766 -4.199735617304355e-05 0 0 0 4.00106267377517e-06 +616 -0.00044221968206543076 3.217058954637364e-05 0 0 0 -1.2087760524343605e-05 +626 0.00020518303235709175 -8.654417587811179e-05 0 0 0 -3.454890806877388e-05 +639 0.000654239814108267 -0.0002671430957837465 0 0 0 -1.0903610505367049e-05 +3112 -2.6350173569397626e-07 -5.0161929631191955e-05 0 0 0 -9.504553641038395e-06 +662 -0.00047329154624381714 4.00387970543601e-05 0 0 0 -1.7863007731459107e-05 +705 -0.0004021951788280513 0.0001108304890672918 0 0 0 1.624914118858138e-05 +782 -0.0005560670545643701 -1.6575705752722457e-05 0 0 0 1.0884043756712036e-05 +2886 -0.0008725637338116093 0.00017996879346349068 0 0 0 7.147038490171588e-06 +914 0.00021935929467954595 -0.00016375623351914023 0 0 0 -3.012938765397777e-05 +966 -0.0005668645329058194 0.00019593204265608334 0 0 0 5.234672157316687e-06 +987 0.0004483354596829341 -0.00015177599886050667 0 0 0 7.680513439054621e-06 +4826 -0.0007774190990601685 0.0001438225785326263 0 0 0 -3.2302413960880796e-05 +1004 -0.00024207476305965466 -3.202235556773864e-05 0 0 0 4.628977544452086e-05 +6331 -0.0003349693388493083 0.00013403987759377404 0 0 0 -7.01015134097041e-05 +9692 0.00031820747047903435 -0.00017663940398400041 0 0 0 -3.280967165409901e-05 +8083 -0.00023114994149341756 -2.071200194580597e-05 0 0 0 0.00011799946897308893 +1265 -2.249565402360458e-05 -3.257113299282361e-05 0 0 0 -2.1876132861894645e-05 +1331 0.0003484391491120207 -0.00013362486465761587 0 0 0 -3.935410398231238e-05 +1359 -0.0004537732603504991 5.638878283788068e-05 0 0 0 5.829648867525689e-05 +7429 0.0002945204918072611 -0.00013926264487265787 0 0 0 -2.90917812293707e-05 +1437 3.611349838148471e-05 -3.9500395204094274e-05 0 0 0 -2.0601708585354226e-05 +1438 -0.0006126273015268785 6.0251050065754056e-05 0 0 0 -2.6459842218206734e-05 +1451 -8.595244974797263e-06 -9.129731253944562e-05 0 0 0 -3.0206728888780596e-05 +1455 0.0003952860623896994 -0.00012043831509912305 0 0 0 -2.817065619285154e-05 +1502 -0.00047870486970664003 -2.0887370374294532e-05 0 0 0 -7.286304400436039e-05 +5452 0.00019302467358768642 -9.653187878774432e-05 0 0 0 3.2724398982320823e-06 +1553 -0.0005189300367755804 -4.529409510136314e-05 0 0 0 3.561848594946332e-05 +1682 0.0007828355418671024 -0.00021517652379109383 0 0 0 -4.3205685660291325e-05 +1697 -3.6467622269953584e-05 -3.8276293875232496e-05 0 0 0 -9.431486998137294e-05 +1708 -0.00068259734942087 0.00013284154960522976 0 0 0 1.770658027285538e-05 +1743 8.66903843687406e-05 -9.872615198865682e-05 0 0 0 -2.540557047869419e-05 +1773 0.00013973275638359367 -6.160644402023214e-05 0 0 0 -1.8388863511615057e-05 +9291 0.0002705727457201881 -0.00011325427190579844 0 0 0 -0.00010188454636425198 +1814 -0.0006730431755834554 0.0001058918690798194 0 0 0 -8.299077685022531e-06 +192 -0.00015578395014295094 1.9354170058631146e-06 0 0 0 -1.5362980390282523e-05 +1852 -0.0005248991656857246 1.5156007383113901e-05 0 0 0 8.837609344034054e-06 +309 -0.000820481329332405 0.00017053506522844627 0 0 0 -6.854361899810019e-06 +1923 1.8570678698056496e-05 -5.697780082583003e-05 0 0 0 -8.304278723742113e-05 +1992 8.250430164226552e-05 -3.180304315201582e-05 0 0 0 -0.00012413186059484661 +1996 -0.0007023369342108078 0.00010245734911754524 0 0 0 2.4619286764882794e-05 +1998 -0.00015909271902386188 -5.371993028516349e-05 0 0 0 -5.080663156870428e-06 +4409 0.00022893679609888154 -0.00010242540405945501 0 0 0 3.37175401719914e-05 +2046 6.410004490934278e-05 -0.00017955451431940454 0 0 0 3.995477353228656e-05 +2119 -0.0002722590625561706 6.86211187356341e-05 0 0 0 5.537559973949915e-05 +2172 0.00018828308217842642 -0.0001218121817536144 0 0 0 -8.498250141334508e-05 +1325 -0.00023842330520169728 3.324160076855424e-05 0 0 0 3.091522206829201e-05 +2200 -0.00031119957229179426 4.537604887275323e-05 0 0 0 -8.403976731845769e-05 +2210 0.0001382718384813265 -2.256073143561867e-05 0 0 0 -1.0564586733340947e-05 +2231 -0.000676424248919924 2.9099423637094118e-05 0 0 0 -9.282516646862675e-06 +2319 0.0008952900143963395 -0.00021866867836992828 0 0 0 -3.237697707869686e-05 +2333 0.0001276807176765929 -7.554488763108932e-05 0 0 0 -6.484320768547642e-05 +2955 -0.0006391299791127224 4.388873204002325e-05 0 0 0 -6.3815396267367046e-06 +2413 -0.0005552452138023811 6.246323366630145e-05 0 0 0 -1.1147489180053905e-05 +2428 -0.0005343808080256667 0.00011812029865016654 0 0 0 -3.324196681930486e-05 +2493 0.0002443609857819203 -0.0001458701758651462 0 0 0 -3.139083876563609e-05 +2505 0.000157025165577414 -7.980345488330773e-05 0 0 0 -1.822996413076694e-05 +2512 0.0009571336534417023 -0.0002757630508780711 0 0 0 4.346004887518439e-05 +2525 -0.0004988806121148714 5.0762616473029904e-05 0 0 0 -1.1661935166360296e-05 +2541 -0.0004578649029318666 3.004023986581729e-05 0 0 0 -3.0097086226338966e-05 +2552 0.00043283836158959535 -0.00011113296225760989 0 0 0 -1.8245557669093615e-05 +9113 6.476379690019865e-05 -0.0001646193924781002 0 0 0 -5.8487510588201376e-05 +2624 0.00028255795541885586 -0.00011368507798655834 0 0 0 -4.827547456501153e-05 +2691 -0.00048032456252012013 1.1323264107634693e-05 0 0 0 1.9781809364516647e-05 +2709 0.00016642970755223013 -7.218973454891653e-05 0 0 0 -3.2823783735040707e-05 +7640 -0.00031253317451980983 0.0001263059423995054 0 0 0 4.5946538436976175e-05 +2739 0.0004050873341946655 -8.966924206734701e-05 0 0 0 -0.00017888662536997077 +2747 0.0009378932980984263 -0.0012761721734905187 0 0 0 -0.001088477283181804 +2763 0.0007139411113776359 -0.00023615770841185839 0 0 0 -4.449221327838381e-05 +2808 0.0005926721199323158 -0.0001969906386657202 0 0 0 -5.562439609869208e-05 +2820 0.0006597144237370385 -0.00025679365945997546 0 0 0 -4.585454235511951e-05 +2822 -0.0007659852282902085 0.00016958197215168842 0 0 0 -1.8533193397797394e-05 +9777 0.0004854780953327433 -0.00018716847796610626 0 0 0 6.98978090298059e-05 +2832 -5.790216799650171e-06 -6.16483978529181e-05 0 0 0 6.588402656917141e-06 +9674 0.00022324917173901772 -3.265449726143295e-05 0 0 0 -0.00010701917865166822 +1843 1.3637862315154557e-05 6.616795196057701e-05 0 0 0 1.879123113745488e-05 +2884 0.0009253356550094441 -0.0002662849360225045 0 0 0 -8.46612760271035e-05 +2890 0.0006100808903804895 0.0010065315522647784 0 0 0 0.0016936040337702657 +2899 -0.0005222090349087408 2.0146003563712473e-05 0 0 0 -9.539548806331168e-06 +2339 -0.0001710862217943395 0.00013724269245275162 0 0 0 1.6735197311340157e-05 +2966 -0.0006698587476191095 0.000143743139173745 0 0 0 7.302314924615876e-06 +4161 -0.0007871127077875607 0.00013298224179734795 0 0 0 4.1488142375134096e-05 +2992 0.0004921020510065166 -0.00017571759669733527 0 0 0 -3.2694847950387534e-05 +2162 0.00017604795487582463 -0.00011677821530991035 0 0 0 9.028804795186455e-06 +3021 -3.645426343315264e-05 -4.336790159455834e-05 0 0 0 2.7738031846821385e-05 +3051 -0.0005567666797087905 3.0263036832707065e-05 0 0 0 1.4476994787445108e-05 +3052 0.0008824568724771283 -0.0001983931098391331 0 0 0 -1.1152120771464221e-05 +4442 -0.00029910663763192376 0.0001300533696581552 0 0 0 -1.9985918243641625e-05 +5763 0.00026843958745390533 -0.00014763036348463691 0 0 0 -5.4989538133127914e-05 +9756 0.0006732616709990569 -0.00020605091800320326 0 0 0 1.2541723606950805e-05 +3099 -0.0003287256861152101 3.445347099935964e-05 0 0 0 -0.0001421636715947678 +5832 0.00015022043014941734 -9.328793148411978e-05 0 0 0 -0.00012090216574140713 +5877 -0.0008031598692124808 0.0001668458377988927 0 0 0 2.227251638332465e-05 +3198 0.00019975259714420586 -0.00012999827790787823 0 0 0 1.1975914873763066e-05 +3078 0.0003342391149041523 -0.0001828742365022158 0 0 0 -9.591217929004397e-06 +660 -0.0002686491958680677 6.972052837865857e-05 0 0 0 1.2850617346257328e-05 +3319 1.2252202672600984e-05 2.230805488583477e-05 0 0 0 5.1804791884288815e-05 +3333 -0.0005213146030392659 3.540542338195235e-05 0 0 0 -1.8545441077899563e-05 +3374 -0.0002397157406681029 4.9640462311849304e-05 0 0 0 -0.0001356793274932189 +3375 -0.0005887563725645605 1.3757352939259374e-05 0 0 0 -8.7973923666202e-06 +3388 0.0004617326172177991 -0.0001818695810943303 0 0 0 -0.00026197785804695813 +3389 0.00031796341353961254 -3.431666552261014e-05 0 0 0 6.343985161646622e-05 +3401 0.00019137455968180263 -0.00011318277501833299 0 0 0 3.621915063852802e-05 +3468 0.0005379435615468379 -0.00012903179626291462 0 0 0 -5.820799540581431e-06 +3473 0.000427090558920768 -2.8183363325514854e-05 0 0 0 -6.372918593133985e-05 +3478 0.00016655030894310112 -2.5789665975830753e-05 0 0 0 1.6775490126674724e-05 +3494 -0.00018668659913622716 -5.137781582454147e-05 0 0 0 -0.00010808193321381338 +3498 0.0004681472166641226 -9.262927014973237e-05 0 0 0 -4.919105656949497e-05 +98 -0.0004584420698438019 0.00015157517744372707 0 0 0 -9.908900228604903e-06 +3423 0.00022892726574926602 -6.115833347974484e-05 0 0 0 9.17409742205084e-06 +3516 -0.00046792246125636536 3.0404578966878097e-05 0 0 0 -8.34723564399305e-05 +3533 -0.0005221738446644128 4.415386567344009e-05 0 0 0 -2.5139988305283587e-05 +3568 0.00033491151752451485 -0.0001049196424497462 0 0 0 2.231000455502805e-05 +3572 0.0007505400714252767 -9.566224607350568e-05 0 0 0 -4.209752457329259e-05 +4328 0.000552331070301963 -0.0001863020258345888 0 0 0 -2.0804161537150643e-05 +1754 -0.0003195468464495788 0.00016017300596140682 0 0 0 -1.7177412893644393e-05 +1401 -0.0007830532009354879 0.00018224850990439684 0 0 0 -3.897691505443024e-06 +947 -0.0007397843778065321 8.70740129228204e-05 0 0 0 4.856910228968007e-06 +3741 0.00011103605359012397 -0.00012950002533184074 0 0 0 -1.1682688438376879e-05 +7339 5.381609117534659e-05 2.228432636767562e-05 0 0 0 1.9090723427426154e-05 +3771 0.00031204519504505617 -8.216284166848933e-05 0 0 0 -1.0670587612626117e-05 +3805 0.00033324789433106206 -0.0001783765115682536 0 0 0 -9.234159207961274e-06 +9997 -0.0006447647831130744 4.281938131434712e-05 0 0 0 1.4310836179647363e-06 +3868 0.00011390990939874244 -0.0001522856150611865 0 0 0 -4.32542798337823e-05 +3909 -0.0004894227460979026 3.1329324681515354e-05 0 0 0 2.5797232266879663e-05 +3955 -0.0004706918711901684 0.0002320972888140896 0 0 0 9.6826434185826e-06 +3968 -0.0004979536830031052 4.592376467706934e-06 0 0 0 -1.8292079078347915e-05 +1388 -0.0005654486386919581 0.00021449044802659538 0 0 0 -4.062108560303002e-05 +4002 -0.0004838834931637809 3.000013293797884e-05 0 0 0 7.206153773591153e-05 +4026 0.00020568145632207655 -0.00016562301579396281 0 0 0 4.107588072362394e-06 +4028 4.382247971649528e-05 -6.731880148665051e-05 0 0 0 -4.780003457542412e-05 +4047 8.834656690402387e-05 -0.00014056464396026 0 0 0 -3.467459529103746e-05 +4051 0.0003594687273663855 -0.00010636725049234505 0 0 0 0.00012555321014764251 +878 0.00024111290134012618 -0.0001252969074140572 0 0 0 -2.431323722171426e-05 +4118 -0.00034232462505331805 -0.0001045391926728971 0 0 0 -2.5556154247561152e-05 +4125 -0.00046052322900037954 3.3942637081403326e-05 0 0 0 -2.425958639127924e-05 +9503 0.0002394942669187329 -7.335521420996149e-05 0 0 0 9.656175178705427e-05 +4211 -0.0006171065049929355 2.664975130825513e-05 0 0 0 -2.5884410875421775e-05 +4254 -0.0005806014636215514 4.490237669360055e-05 0 0 0 5.52786955117866e-06 +4312 -6.54427600617551e-05 -5.2971451694422295e-05 0 0 0 -6.55179126425523e-05 +4316 -0.0007171802841842385 0.00019224632526805847 0 0 0 -5.3720282119463555e-06 +4324 -0.00047568102778706734 1.943765142250619e-05 0 0 0 -1.432095598420372e-05 +4368 -0.0005690058280270635 3.55332418160363e-05 0 0 0 -2.562753408487193e-05 +4415 0.00018071566952179103 -0.00010478008729560051 0 0 0 -0.00011076899127222464 +4433 -1.601059944257818e-05 -5.591425997064447e-05 0 0 0 -1.2493465376440487e-05 +4444 -0.0006179469191848219 0.00013566341922547438 0 0 0 -3.0984837691932815e-05 +4457 0.0006145365917930102 -0.00012557999860492313 0 0 0 -0.00010687655641780521 +9804 0.0003518727393184611 -8.662809986016938e-05 0 0 0 4.5912950546173935e-06 +4727 -0.0005350203773851003 4.3396137971269415e-05 0 0 0 -1.3602649827339843e-05 +4730 -0.0003850022507058239 6.817800593944437e-05 0 0 0 -9.75519273007584e-05 +9789 -0.00023357429517856706 -0.0009132057930067047 0 0 0 -0.00011110391786907902 +8476 -0.00023235857239510232 -5.786276125885033e-06 0 0 0 -0.00010012034754402971 +4786 -0.00045845140360790656 2.460071233325531e-05 0 0 0 9.79959548692305e-06 +4801 0.0003861059318908507 9.92873778161744e-05 0 0 0 -0.000497302431154541 +9056 0.00019675166515506034 -8.947171650626878e-05 0 0 0 1.792573121616603e-05 +1855 0.0002580404935361687 -0.00011701216488439795 0 0 0 1.444426347788853e-05 +4886 0.0007536322698676541 -0.0002690501822309849 0 0 0 -2.8818768879779395e-05 +4910 -0.0005283488813997975 -8.706289606084059e-05 0 0 0 -9.113659811940347e-05 +5038 -0.0006501959188409529 2.2391863934604398e-05 0 0 0 -2.3104379007054867e-05 +5129 0.0002598132869485801 -2.701230300582394e-05 0 0 0 3.298569569566926e-05 +5172 -0.0006951233264761371 9.528348416061049e-05 0 0 0 -3.0061789956036022e-05 +5192 0.0006533905013445119 -0.00014604117564077533 0 0 0 6.517590121577483e-05 +5211 -0.0005187472128380442 4.7958828326971105e-05 0 0 0 -1.1354177033263517e-05 +5214 -8.718711396350041e-05 -7.007835182085068e-05 0 0 0 -3.910075940810297e-05 +9825 -0.0007685528650810313 0.00015239930812045615 0 0 0 -2.779827273775185e-06 +5287 0.0004031432600750604 1.595427221791416e-05 0 0 0 0.00016768314219379085 +5306 -0.0004887020752441849 8.44240510452182e-05 0 0 0 -0.00014091247119144853 +5347 -0.0004815995521845293 6.667813179624228e-05 0 0 0 2.8206017392317302e-06 +7962 0.0003822243702674865 -0.00011186793652854859 0 0 0 -1.3553915489909327e-05 +5370 -0.0006025290251758607 3.106263243221099e-05 0 0 0 -1.2719545802259262e-05 +8207 0.0001968050299400779 -7.22824974929246e-05 0 0 0 6.840285860912615e-05 +5423 0.0008877232780348726 -0.0001088671846788491 0 0 0 -5.320393197125477e-05 +5480 0.0005377240128307506 -0.0001593493596937091 0 0 0 -7.478426392196819e-05 +5493 -0.0006696141660171366 4.5788158466791145e-05 0 0 0 -2.710791448644635e-05 +5514 -0.0001377009575912888 -1.3394907744003373e-05 0 0 0 6.399350161840302e-05 +5523 -0.00047184232705062957 6.425450960603827e-05 0 0 0 -1.3045906476943934e-05 +6395 0.0002458610542882899 -0.00011019701775812212 0 0 0 2.4313699726785268e-05 +5528 -0.0005918028930495073 4.7184797031435765e-05 0 0 0 -1.267192353086601e-05 +5547 -2.177133358433991e-05 1.4596205353609743e-05 0 0 0 2.5630753475946942e-05 +5575 -0.00017618295858492535 -2.2920132308368814e-06 0 0 0 -0.00012102377131019563 +5599 -0.0007037159545985583 4.488969669906979e-05 0 0 0 2.3845810537207575e-06 +5609 -0.0005449785610912476 3.646371813070789e-05 0 0 0 -2.01351084239746e-06 +8480 0.0002968533381737144 -0.00017594622730837046 0 0 0 -8.049217942865242e-05 +5651 0.000492422123148468 -4.150621814889163e-05 0 0 0 -7.623195103635532e-05 +5717 9.714850711202865e-05 1.4464258715072888e-06 0 0 0 3.577933421710815e-05 +5729 -0.0005027294577728464 2.299546757793815e-05 0 0 0 5.953809812071276e-06 +5738 -0.0004732525721584784 6.811619124245234e-05 0 0 0 -2.114562252005661e-06 +5811 0.00020430323953463206 -3.360222524641709e-05 0 0 0 -0.0003467399958904731 +3721 -1.4371876847129365e-05 8.347665507368686e-05 0 0 0 -5.2035481547231045e-05 +3991 -0.0005232171076026029 -9.235133537483001e-05 0 0 0 -7.340542619318855e-05 +5835 -0.0004959108520557556 1.4451299394893332e-05 0 0 0 -2.2032051899062923e-05 +5885 0.00015023308330422005 -2.738817424518178e-05 0 0 0 -5.439220722088043e-06 +5999 -9.997252096391286e-05 -0.0001873256542868563 0 0 0 -7.882352056711922e-05 +6060 -0.0004897047013619882 7.002138860652695e-05 0 0 0 -2.2989253467655877e-05 +6075 0.00083011573325388 -0.00021294443397091976 0 0 0 -6.704983966286521e-05 +6127 -0.0004559233464786852 3.931689973296207e-05 0 0 0 -6.487040459790327e-05 +6147 0.00013509470279976583 6.557205226047042e-05 0 0 0 3.360363391802042e-05 +6210 0.00014554897796933758 -9.026419179723387e-05 0 0 0 -3.1805640340198825e-05 +6211 0.00040099835818784897 -0.00014989017996771956 0 0 0 -7.081371072209473e-05 +6212 -5.85022759402947e-05 4.235581340163747e-06 0 0 0 5.959078846878754e-05 +6050 -0.00021647150818776887 3.353957865950203e-05 0 0 0 0.00012269798454619143 +6235 -0.00019745467069820063 -6.337869162950336e-05 0 0 0 0.0002569615863749835 +6236 -0.0007659197206488092 0.00012463577692534028 0 0 0 7.953003474637773e-06 +6241 6.640329813978511e-05 -7.292609114341406e-05 0 0 0 2.9805279889560124e-05 +6302 -5.728658942967522e-05 -2.8682596920011942e-05 0 0 0 -0.00018870375869321787 +6336 0.000327358460358049 -0.00014976949935758426 0 0 0 -5.739546108554564e-05 +6365 0.0003329381132343767 -0.00017506267609521654 0 0 0 4.716311119286946e-06 +6392 -0.0007092624647965519 0.00010547324159717931 0 0 0 -2.7260807204663046e-05 +8730 -0.0007416073138650356 6.825488958207135e-05 0 0 0 1.6997962526520035e-05 +6450 2.481794908581029e-05 -0.00013962804252009084 0 0 0 5.0523638720839115e-05 +6472 -0.00019165065298526248 -1.201981506305716e-05 0 0 0 4.3431050474585555e-05 +6475 0.00018246764824044614 -3.210599612142239e-05 0 0 0 -2.0294574335757307e-05 +6478 -0.0001336664860028644 -8.949211426709099e-06 0 0 0 -0.00019302660094805258 +6488 -0.0004423076005103333 2.446945465389055e-05 0 0 0 -4.2618187303901146e-05 +6518 0.0008123761834377257 -0.00020815525263051684 0 0 0 -1.755167556295879e-05 +6525 -0.0003400689280203422 6.284512173972053e-05 0 0 0 0.00019408847975297292 +3200 0.0003705814006280888 -0.00017422772766156436 0 0 0 1.6996421378647217e-05 +6555 0.0007562233457272092 -0.00012771217601960765 0 0 0 7.168731414168354e-05 +6677 0.0006755467078658656 -0.00014813711401152573 0 0 0 -0.00010318681415404988 +4754 -0.00023278914595224113 0.00012359399680460912 0 0 0 4.76829800200251e-05 +516 0.00026959386258992683 -0.0001431325875949818 0 0 0 2.867805252352888e-06 +6708 -0.0006702406071950868 0.0001613511537037393 0 0 0 0.00011412337917777656 +7853 -0.0008092445070408758 0.0001622188127958162 0 0 0 1.0316908000684372e-06 +6741 -0.0004803624903084119 2.623939040819105e-05 0 0 0 4.91750109804358e-06 +6762 0.0005402689459609473 -0.00019040452326834744 0 0 0 7.49777369485419e-05 +8930 -0.00040457946143344534 0.00017155450916852508 0 0 0 -6.319349346338196e-06 +6870 -0.00015811833319485648 -0.00022564501930296134 0 0 0 0.00011210207036108312 +6883 0.00016199708047505762 -0.00015399719348888974 0 0 0 -2.2356147554292045e-05 +1008 0.000296341992798516 -0.00015944021728806797 0 0 0 1.264428960105551e-05 +6907 0.0001715659566371211 -0.00012709380469714214 0 0 0 -4.029253500510309e-05 +6917 0.0004130054206660803 0.00039923036968971123 0 0 0 -0.0008144751715496808 +6937 -0.00042748020681275566 1.1649381338305671e-05 0 0 0 -3.854758348177868e-05 +1298 0.0003443349012541529 -0.00015739117413259666 0 0 0 -1.2885548914298414e-05 +6979 0.00044158031964638815 -0.00014976704527034076 0 0 0 -0.00010053919745297004 +7002 0.0006041359682543674 -0.00026380084744881285 0 0 0 2.7232242499737857e-06 +7094 0.0003118648625511492 6.1957157746685e-05 0 0 0 -0.0004496283955201102 +7115 0.00013870111007479154 -5.489542895613693e-05 0 0 0 8.497514023634366e-05 +7136 -0.0006451249354546778 0.00016514299566663807 0 0 0 -0.00010467740977755367 +7138 -0.0004908488564778919 6.483980962904266e-05 0 0 0 -2.0702566651638754e-05 +7154 0.0006147203527487509 -0.00021985803165263147 0 0 0 0.00011719536895310883 +7992 -0.0005137476413313414 7.825616295290038e-05 0 0 0 -5.1415256002341194e-05 +7170 0.00013638881946285373 -8.147568711695951e-05 0 0 0 1.4927923576421765e-05 +7192 -0.0001574315279541327 -3.435012532298503e-05 0 0 0 0.00022515004173236558 +7688 -0.0007471090008382923 0.00017568891679276845 0 0 0 -2.0594903353085318e-05 +7238 -0.0004559820518727953 5.239765757392235e-05 0 0 0 -0.00010812021976148423 +3275 -0.0005912632374595892 6.102273995999565e-05 0 0 0 -1.1596408603050756e-05 +7306 0.0006385396055631859 -0.00019889236753124293 0 0 0 2.822849995108058e-05 +78 0.00019312379176311177 -3.430077203681573e-05 0 0 0 2.6426518587465763e-06 +9751 -4.1365467171901595e-05 -0.00022155510131569183 0 0 0 -8.703008717012267e-05 +5665 -0.00023988109192564958 5.2065613888893126e-05 0 0 0 -6.020473510337457e-05 +7482 -0.0004938310657929783 8.630396087884907e-05 0 0 0 0.00017140886906293762 +7548 -0.00032912294071189716 -0.00010769434592728437 0 0 0 -0.00014143050214173448 +7554 0.0006528273653395133 -0.00027078675383618273 0 0 0 2.0910580911392203e-05 +7612 0.0004239892147300086 -0.00011964386973663772 0 0 0 -2.8641130967511856e-05 +7634 0.0007268141660556442 -0.000561647160391759 0 0 0 0.0004125597680843544 +7692 -0.0004677957295513593 3.678638495730898e-05 0 0 0 -5.3391328615574806e-05 +1251 9.567825450110971e-05 -1.9730861942029116e-05 0 0 0 6.837789880341631e-06 +7746 0.00032481276098923826 -0.00010114642595004524 0 0 0 -2.0411195371399802e-05 +39 0.0004517175132313039 -0.00012749128169705848 0 0 0 -8.779831579349689e-06 +7803 -0.00038016621108679255 5.3911962706393756e-05 0 0 0 -0.00016238589197468825 +7833 0.00026724931570990874 -7.131159155928598e-05 0 0 0 8.257222799003568e-06 +7861 -0.0005981089856173724 0.00018815250558458895 0 0 0 -3.880703694527362e-05 +7877 -0.0005574941968587598 0.00012097943341293797 0 0 0 0.00011583730736909567 +7888 0.00020113418558441863 -0.0001317865384267979 0 0 0 -9.34300864510869e-05 +7952 -0.0001652178863450826 -8.369564636140524e-05 0 0 0 0.0002920186947944629 +7919 -0.0004544529419037474 2.861155763409178e-05 0 0 0 -5.6504908765789535e-05 +8012 -0.00020014851252477114 -0.0004320748043961138 0 0 0 0.0006670218677317617 +7720 -0.0001779357444743878 -7.260144372439817e-05 0 0 0 -0.0003750361935922527 +4536 0.00036267188863648163 -0.00018799489194403965 0 0 0 -1.4521211695120027e-05 +8145 0.00030763361382650457 -0.00018089480963922848 0 0 0 1.0534570865387576e-05 +8158 -0.0005468442237211833 3.917728383168018e-05 0 0 0 -1.4839385797524108e-05 +8194 -1.5030924027352441e-05 -7.672298290899229e-05 0 0 0 -1.6235822886665244e-06 +8208 0.0001392059032352256 4.130356153360595e-05 0 0 0 5.779694900147763e-05 +1413 0.0003190583074405869 -0.0001792644105615833 0 0 0 7.436485339386929e-06 +6951 -5.154371314094062e-05 0.00010881136105171814 0 0 0 -2.969963376763143e-05 +3831 -0.0007284454203695397 5.4441226087923606e-05 0 0 0 6.6754751267750195e-06 +8367 -0.0006877404107981247 0.00018443157446091111 0 0 0 -8.779206815687637e-05 +8379 -0.0003375970582438784 5.896397091655955e-05 0 0 0 5.458321571876256e-05 +8421 -0.0006206314508713494 4.135870672467563e-05 0 0 0 -5.920563091804926e-05 +8459 0.00038311679988541156 -0.0001777792563365388 0 0 0 -2.922491649138062e-05 +8463 0.0011970880997904591 -0.0006091168753713497 0 0 0 -0.0004346850558625924 +8533 -0.0004985299072444166 -4.2648292735635695e-05 0 0 0 -7.045957192065336e-05 +8603 0.0002315048562236113 -0.00011500245188679504 0 0 0 -7.294390608825805e-05 +8621 0.0007409016421438465 -0.00022070186556858023 0 0 0 -6.126937416798021e-05 +8654 0.0005670445885893312 -0.0001802013647529532 0 0 0 4.479502028418963e-06 +8692 2.957791794910048e-05 -5.506163808034277e-05 0 0 0 3.4981565415124574e-05 +8708 0.0006260445471484158 -0.0002543599643502602 0 0 0 4.530994962746589e-05 +8777 -0.0005409688816313062 2.5233016534186875e-05 0 0 0 -4.9446428966424096e-05 +8809 0.00020730863763291195 -5.85308012051041e-05 0 0 0 -8.102740174975318e-05 +8858 -0.0006674440788786833 7.569397201365833e-05 0 0 0 3.982151813950971e-05 +3587 0.0002612798254100436 -0.0001292239301718659 0 0 0 -6.025656958948569e-06 +8950 -0.0005002881589330694 -2.549721926938335e-05 0 0 0 4.0151270615833476e-05 +8980 0.00041011474573892666 -8.461196582189564e-05 0 0 0 0.0002111088494081284 +9023 8.578864876504563e-05 -2.3904601837704205e-05 0 0 0 -0.00011273024813491585 +9034 0.0012957702606977463 -0.0001849996792805545 0 0 0 0.0009088840150138112 +9062 -0.000345390690325695 1.817634113806415e-05 0 0 0 -0.00023412749522430714 +9204 -0.000757816564652693 0.00011957032777758948 0 0 0 3.580465192473916e-05 +7169 0.0005791159904323927 -0.00014907875773162365 0 0 0 -4.8801447804028995e-05 +9240 0.00048528412064222315 -0.00014257031343293449 0 0 0 0.00011804598619732507 +5967 0.0003459188986608792 -0.00019000843860666423 0 0 0 1.3852000668154684e-06 +9295 -0.00042319117888372517 0.00011253789819433626 0 0 0 0.00010277185989312446 +9331 -0.0006632635956084586 3.900455840352182e-05 0 0 0 -4.8985766515327643e-05 +9398 0.0009608325182580383 -0.0002832512121826724 0 0 0 -4.998617770355488e-05 +5283 -0.0007852494076713879 0.00013836656349320417 0 0 0 4.561361515263012e-05 +9480 -0.00014930633676677046 -9.124513047360582e-05 0 0 0 -0.0003950750910829341 +9481 -0.0003053544239473897 -0.00014135822285922718 0 0 0 0.00012443891486114416 +9543 -0.00069513435081183 0.0001667780136719154 0 0 0 0.00016397846112677252 +9550 -0.0006208363331356628 -6.184333422724552e-06 0 0 0 3.868967227367664e-05 +9580 4.173273350222939e-05 -0.00014913459736774507 0 0 0 -0.00020822855821754638 +9609 0.001076448485604998 -0.0001859566078564761 0 0 0 -5.400499596375965e-05 +9614 0.0009333480899802321 -0.00023985682796809568 0 0 0 -8.760286555791526e-05 +5830 0.0001773117199362848 -0.00015695300455778434 0 0 0 -1.2840769562350521e-05 +7362 0.00033602366482930946 -0.00011578302456241104 0 0 0 8.702646744880468e-06 +4320 0.00022283955641066785 -0.0001113933900678103 0 0 0 5.155905197414686e-06 +384 0.00022258328754124314 -0.00013137502783274103 0 0 0 1.1149887407682664e-06 +1643 7.068119252630394e-05 3.852983854466044e-05 0 0 0 -2.4888741673475073e-05 +3510 0.00014796819117448274 -8.794782936923956e-05 0 0 0 6.714346224095132e-05 +9032 -0.0006121980866945176 6.510769235988126e-05 0 0 0 3.623925327530392e-06 +6153 0.00025079964927282556 -0.00016349212396789533 0 0 0 -3.6330276188740646e-05 +2012 0.0001262897577246373 6.253115119631785e-05 0 0 0 9.485966037100555e-06 +6215 0.00012870183217816798 -1.701703026268731e-05 0 0 0 -8.509754965192624e-06 +7796 0.0005043220404061923 -7.891114426030492e-05 0 0 0 6.643102305441558e-05 +9749 -0.00015441398941439915 0.00014046788620963497 0 0 0 -9.272735397144669e-05 +954 0.00016750486041449756 -4.31864603545752e-05 0 0 0 7.906089931072194e-06 +5821 -0.0006253471702833523 6.103136669238047e-05 0 0 0 -1.7565989493325145e-05 +4031 0.0006225391415122481 -0.00014221951034266658 0 0 0 -8.861184988280161e-05 +20 0.0007662548548288077 -0.00014951592325355013 0 0 0 6.651386353862147e-06 +1640 0.0008034687345115151 -0.00027171094864296983 0 0 0 8.61603114840929e-06 +3257 0.0013217903209251044 -0.0002755172436464839 0 0 0 2.546149347146074e-05 +96 0.00035354782339528144 5.776752938988099e-05 0 0 0 9.424163714596526e-06 +105 0.0004788805487422431 -0.00021330834471858584 0 0 0 -9.656227157900475e-06 +123 0.00034689572227912806 -4.801039700382408e-05 0 0 0 1.0076870870570573e-05 +164 0.0011894614201819007 -0.00026600084223589394 0 0 0 3.371087739180903e-05 +188 0.00018441729011599455 -9.442420173452691e-05 0 0 0 -1.8875037926224845e-05 +248 0.00015020321695132576 8.289812050392774e-05 0 0 0 1.3811902808531413e-05 +5984 0.0008180630412033756 -0.00022623852685912902 0 0 0 -3.4001590145965774e-06 +6544 0.0012256419770366699 -0.0002687156474025436 0 0 0 -2.4825970128904764e-05 +9663 0.00033927997010840783 -0.0002230325621201988 0 0 0 4.6229585072625677e-05 +294 0.0002043824570855208 -0.00019147956040674397 0 0 0 -8.671954415102064e-08 +312 0.0003304417838398006 -0.00017455959472764478 0 0 0 8.237031014258631e-06 +356 0.0008282693796866431 -0.00014734841663340245 0 0 0 -6.86676480873661e-08 +365 0.00018127061740626083 -8.041524171502005e-05 0 0 0 1.516351579553478e-05 +8363 0.0011415967505266492 -0.0002722734313194516 0 0 0 9.725602435455997e-05 +426 0.0005754532741625769 -0.0001406072485045207 0 0 0 9.413958762179879e-06 +442 0.00023855407480709705 -0.000117470242307655 0 0 0 2.2336560471659173e-05 +455 0.0007482069082179235 -0.00011807022116471869 0 0 0 -3.803463239190356e-06 +467 0.0008986003907634576 -0.00016503063169272833 0 0 0 2.44661210816179e-05 +483 0.0007253277768568726 -7.578466440809402e-05 0 0 0 -6.809687513323692e-06 +2957 -6.554155981433942e-05 0.00018809763086839038 0 0 0 6.667860823792978e-06 +559 0.0011654868173029947 -0.0001687830887559028 0 0 0 -3.733700391375999e-06 +572 0.00028222415650235196 -0.00020823225777528057 0 0 0 5.8283431785339995e-06 +8040 0.0009964211510662445 -0.00019478801197926179 0 0 0 -8.71406340956707e-05 +612 0.00038649229967310745 -0.00020836524500357338 0 0 0 -1.4449533637960658e-05 +7696 0.0011645361639695258 -0.00017775562949359525 0 0 0 4.28171153711319e-05 +770 0.0003390596837612581 1.993649030449606e-05 0 0 0 2.7318165325261693e-06 +866 0.000683407781481337 -0.00021589333967613432 0 0 0 1.2159332791138547e-05 +9271 0.0008892827076996456 -0.00012993712533524923 0 0 0 -6.951285933552214e-06 +915 0.0005926130823695081 -9.979502607240513e-05 0 0 0 3.887896526963045e-05 +938 0.0003168721321744525 -0.00023824735459859923 0 0 0 1.2853024822662965e-05 +7457 0.001260637271688741 -0.0002524444219723221 0 0 0 -7.29142091010314e-05 +9128 2.675748911967825e-05 0.00015449785783107594 0 0 0 1.5849409969087284e-05 +1025 0.0006432934447867285 -0.00014671897047782882 0 0 0 -6.964654125476426e-06 +1042 7.256265409312142e-05 0.00010970507229652301 0 0 0 5.040824771819074e-05 +1043 0.0007471135872827015 -0.00016366880144040054 0 0 0 -5.108758153379635e-05 +1093 0.0008130480808524407 -0.00017784492566124096 0 0 0 -1.538830001302921e-05 +7195 0.0008504960243700942 -0.0002704805655514362 0 0 0 -4.609835881540294e-05 +1177 0.0006276961587696524 -0.00028335723140520205 0 0 0 2.941276179444389e-05 +1237 0.00020087018253513725 -0.00016725623075856288 0 0 0 3.782873010966637e-05 +1240 0.0002901242682334715 -7.671515369540161e-05 0 0 0 -6.739364105969667e-07 +1262 0.0009147014326616723 -0.00016988968816788512 0 0 0 -1.914345994964485e-05 +1263 0.0008258403322753423 -0.00014610872941358725 0 0 0 1.2465583219737755e-05 +1289 0.00011227408479615105 2.214132142695147e-05 0 0 0 5.199681380684716e-05 +7237 0.00122362242926825 -0.00027039052268733424 0 0 0 -2.8913973709323802e-05 +6953 0.0011414731755438425 -0.00025016352310663296 0 0 0 -7.445420354898947e-05 +1407 3.7897810435129996e-05 -2.635426162632306e-05 0 0 0 7.59371809121355e-05 +6656 0.0008867475256907475 -0.000202059357465753 0 0 0 8.104002990340391e-05 +1429 0.0005750880746781389 -0.00020434772119280807 0 0 0 1.6318502515406262e-05 +3107 0.0009487418441900423 -0.0001422154674181806 0 0 0 3.5009361077540964e-05 +1540 0.0005079500175864327 -0.00016293043969148763 0 0 0 -2.9423125414933266e-05 +1555 0.0002969320730961804 -0.0001739031519751558 0 0 0 2.322302348413771e-06 +1571 0.0008429700163011363 -0.000146440655975377 0 0 0 -6.358572315932629e-06 +1587 0.0005726449936333559 -0.00021521500738123266 0 0 0 1.1471692327231078e-05 +1597 0.001016935567472245 -0.00029494797453418793 0 0 0 8.037880240234041e-06 +1598 0.0006188326574919421 -0.00013445601011170813 0 0 0 -3.8206162471920425e-05 +1647 0.0004866517537620564 -0.0001645789356035352 0 0 0 -2.5796177865817755e-05 +4134 0.0009483903712921239 -0.00011862539099740666 0 0 0 4.009193628510029e-06 +1691 0.0005973675315512155 -0.00018448019000749384 0 0 0 -5.704851695656376e-06 +1710 0.0011576184300374046 -0.00023188622355213917 0 0 0 -1.9112382448402828e-05 +5610 0.001115731051617233 -0.0003006133116458633 0 0 0 3.2185690647390194e-05 +526 0.001189195748391215 -0.00026325955156306124 0 0 0 -1.9039707758150874e-06 +8365 0.0013240964929858167 -0.0002837033124535544 0 0 0 -0.00011184271829176385 +1874 0.000403262263731259 -0.0001973367878488455 0 0 0 -1.178606955262913e-06 +1885 0.0008895729438644823 -0.00021446879828240998 0 0 0 1.0299698627536887e-05 +1913 0.0008904716740385933 -0.0002522229361403077 0 0 0 -5.9688642356138716e-06 +1955 0.0008006526673068657 -0.00017093454604830764 0 0 0 -1.0108119099909002e-05 +1962 0.0005631713625107292 -0.00016955734498831898 0 0 0 9.44967219871888e-07 +6133 0.0010831706982665464 -6.913747156367991e-05 0 0 0 3.576642580385709e-05 +2038 0.0003265878379410365 -0.00022467745770469807 0 0 0 -0.0001491884826728164 +2095 0.000402587241869363 -0.00017384680160501708 0 0 0 4.10575708595283e-05 +2099 0.000911842910746349 -0.00021169721199941672 0 0 0 4.124404925199424e-05 +2108 0.0002613408958986009 -6.87601030573598e-05 0 0 0 -4.269129779545234e-05 +5951 0.0013724829086214463 -6.640430263470825e-05 0 0 0 1.7093828826165768e-05 +2118 0.0003539591355714208 -6.400153774268947e-05 0 0 0 -2.2414739617494856e-05 +2156 0.0007436023180388167 -0.00011442799821112726 0 0 0 1.2032454608746143e-05 +3583 9.263620175639074e-05 1.467239816668874e-05 0 0 0 4.14730475272907e-06 +2165 0.0011795037772773813 -0.00027383368164662355 0 0 0 -8.052144033752214e-05 +2177 0.00013114504317745797 -7.136958471101691e-05 0 0 0 1.4008036230345027e-05 +2197 0.0003366084852153168 -0.000240571765557756 0 0 0 -6.186536134626981e-07 +3427 -6.631346783194965e-05 0.00016879930683952874 0 0 0 -2.0294660356181005e-05 +2252 0.0003718614589044506 -7.666547983428344e-05 0 0 0 -3.5719843905401365e-05 +4585 0.00027541650738447206 -7.068925873432609e-05 0 0 0 4.051282527561531e-05 +2293 0.00036899283811526806 -0.00026508730257959734 0 0 0 -3.1590204215550573e-06 +2307 0.0008884122040337168 -0.00022914696205984054 0 0 0 4.362326072880022e-05 +2326 0.0010710677220160674 -0.00024177174775966753 0 0 0 3.2881503219250516e-05 +2332 0.0002925628542291175 -0.00015908084793647424 0 0 0 9.227518100207762e-05 +2334 0.0008004157364561795 -0.00011088946770703887 0 0 0 3.5739993247433774e-06 +7551 0.0009289077268907716 -0.0002024009462593793 0 0 0 -7.770812667922577e-05 +2432 5.5679929514951364e-05 3.42358671539223e-05 0 0 0 9.727467855978427e-05 +2486 0.0006107658550215983 -0.00024989685692365556 0 0 0 -2.799186272848067e-06 +3063 0.0007825327812957751 -0.00019877532667987723 0 0 0 2.5461043504195152e-05 +2508 1.1879073767020645e-05 0.00018375867183925525 0 0 0 3.003947424372982e-08 +3899 0.0007167600313128858 -0.0003170918782087582 0 0 0 3.7566104764022624e-06 +2573 0.00022757198535633592 3.8797729254402404e-05 0 0 0 2.9786408344883615e-05 +2577 0.0005928221826595327 1.3492705500838079e-05 0 0 0 -2.1300921953482694e-05 +7060 0.0012564699731559238 -7.89107457836479e-05 0 0 0 -0.00014501615952788917 +2641 0.0013963774701785975 -0.00015938452511265238 0 0 0 9.60002871709184e-06 +2693 0.0005612670317803182 -0.00010374769244067261 0 0 0 -4.241112194885766e-05 +2768 0.0003160489639306191 -0.0002340510204095272 0 0 0 3.395947278843883e-06 +2814 0.00026295359852075505 2.236292461834779e-05 0 0 0 4.034446571982699e-05 +2818 0.0008657163727495931 -0.00017968553340271803 0 0 0 -4.278957751684803e-06 +2876 0.000672911386052189 -1.5091720096614304e-05 0 0 0 5.8218182437884384e-05 +2889 0.0004238059174711401 4.4679765681529995e-06 0 0 0 7.013807106879784e-05 +2901 6.214619469212456e-05 0.0001139379293167122 0 0 0 3.0832585485080115e-05 +2914 0.0003643200841489111 -1.2567984871660432e-05 0 0 0 4.509026131913349e-05 +2925 0.0006326049917038284 -0.0002021906068317015 0 0 0 -8.722404912856447e-05 +5521 0.0009001087299602656 -0.0001549910904042585 0 0 0 -1.5269212921315154e-05 +2964 0.0008122918440021015 -0.00020093467964474846 0 0 0 5.500558021018215e-05 +3072 0.0009526689609802136 -0.00022339158304342214 0 0 0 2.4949097012308412e-05 +3000 0.0008867646159080725 -0.00015342754979109002 0 0 0 -3.833108132499887e-06 +3092 0.0006443457556385753 -0.00015712243546868478 0 0 0 2.2484834230847844e-05 +3853 0.0010807058248580904 -0.0002589027889632211 0 0 0 4.388616315764376e-05 +3160 2.1594295966631472e-05 8.575649507554117e-05 0 0 0 -2.6491603064590562e-05 +3167 0.0006594162471904203 -0.00010017052897820726 0 0 0 -3.249786425794278e-05 +3719 0.0012763937585002993 -0.0002828413906851497 0 0 0 6.401632179254245e-06 +3274 0.00015160616884127507 5.376391529955719e-05 0 0 0 -6.8759233756741225e-06 +3357 0.000661232725280482 -0.00011770669704510344 0 0 0 -5.7675378596099125e-06 +3397 1.6753836002217082e-05 -0.00013982645004116377 0 0 0 -0.00021053237269724918 +3408 0.0005201484189857016 -0.00018337408564638287 0 0 0 4.89986433037252e-05 +5527 0.0011965374869926163 -0.0002950486646648855 0 0 0 -6.0308795057495404e-05 +3492 0.0006629481994382477 -0.0002471742178691799 0 0 0 -7.969703972230621e-05 +3518 0.000595674244091533 -0.00019563971106345196 0 0 0 -3.9508057186750325e-05 +9722 0.00037400955428764857 -0.0002767662557242431 0 0 0 -3.982719998448133e-05 +3618 0.001330229343564095 -0.000262105241899165 0 0 0 -2.2243341627611663e-06 +3731 0.0005481137446852266 -0.0002645924709012559 0 0 0 -3.556972929643418e-05 +2107 0.0008460492449505264 -0.00029318768047047644 0 0 0 1.4580596916649423e-05 +3811 0.0003068866866608897 -0.00011405938675140308 0 0 0 -8.863533064281614e-06 +8154 0.0007726919765532928 -0.0002893789255075191 0 0 0 -5.5449188094832145e-06 +650 0.0009515262823573666 -0.00020410067600588498 0 0 0 2.26918107154138e-05 +4123 0.0013616196077291059 -0.00029589715861745255 0 0 0 -1.275231096712987e-05 +3845 0.0004515693940241844 -0.00022115959904289207 0 0 0 0.00011756855224696074 +3891 0.00042051709669156505 -0.0001472156926525193 0 0 0 7.106218509840824e-05 +251 5.959156619656669e-05 5.712505354078428e-05 0 0 0 1.552075767285257e-05 +3959 0.0006115222608322951 -0.00025848908940320325 0 0 0 -7.133539779986874e-05 +4004 0.00037653766705733236 -0.00024895511134577904 0 0 0 -7.648920750397332e-06 +4016 0.0006584169897527109 -0.0001226148914349524 0 0 0 3.2552312623430164e-05 +3271 -1.2523966811455777e-05 0.00012311531490780245 0 0 0 2.29641710110151e-05 +4039 0.0010471469817542706 -0.00013229822457823916 0 0 0 -0.0002038222252116495 +4061 0.0008473119495289821 -0.00020107842533547863 0 0 0 -3.917471123996311e-05 +4084 0.00010839008460454037 6.573563887337935e-05 0 0 0 -7.198653781298798e-05 +4773 0.0010178349732420768 -0.0002238408782991188 0 0 0 5.4863164433410294e-05 +4136 0.00021941461474422663 -0.00011836296369893469 0 0 0 -6.096995491750069e-05 +4142 0.00013296515355695185 -5.832912548738414e-05 0 0 0 1.7346636312182723e-05 +4176 0.0008936074774921397 -0.00023955940091594435 0 0 0 -3.156744846047953e-06 +4185 0.00036214282960074154 -0.000227956755333822 0 0 0 -1.2006039595232839e-05 +4200 0.0003467586303454301 -0.00011800764682737359 0 0 0 2.703070873203688e-05 +7918 0.0011623393806140193 -0.00026532025560578967 0 0 0 0.00012958844471093212 +4215 0.0002866177071140655 -0.00012759095616615056 0 0 0 3.595027529039583e-05 +4278 0.0006886624842330607 -0.000138864038323102 0 0 0 2.8624799140552166e-05 +4304 0.0009362591646035973 -0.000262517487116666 0 0 0 -5.648892045210618e-05 +4305 0.0008473637289660253 -0.00011780288460833716 0 0 0 3.754182029097463e-07 +4318 0.00024869458773091064 -0.00014180606781431497 0 0 0 -9.013805652220857e-06 +5525 0.0006685678086043044 -0.0002672175484628914 0 0 0 1.0881543330248961e-05 +8887 0.0007776351406858553 -0.00032328680902470177 0 0 0 -1.8720922655758883e-05 +9938 0.00030212890042627535 -6.465732354852104e-05 0 0 0 0.0002880923578786785 +4352 -0.00011678527207151637 0.00018205961878512903 0 0 0 0.00012805007864972467 +4380 0.0012777644242645454 -0.00010369632561149183 0 0 0 -3.2246685236648086e-05 +4397 0.0003515523477102157 -0.0002325208193214153 0 0 0 2.3426755335625192e-05 +4403 0.0007735242607259661 -0.00011811902227544039 0 0 0 -6.538020950235871e-06 +4408 3.9927808262700754e-06 0.00016826889180191574 0 0 0 2.0863054390689272e-05 +7576 0.0006989016167334008 -0.0003299034192621146 0 0 0 3.351399668463511e-05 +4417 0.00047395537626105646 -0.0001769711855658295 0 0 0 1.2496061552415073e-05 +8174 0.0008102706126903143 -0.00025715274186308 0 0 0 3.931846276274149e-07 +5264 7.284727440007848e-05 0.0001013300496329442 0 0 0 2.5356706203775305e-06 +4567 0.0007980898087239651 -0.00013080246110828048 0 0 0 -9.475886800695866e-06 +7004 0.0013726286669653053 -0.00030203558593057997 0 0 0 0.00012814216374921808 +4614 0.0005309541357439537 -6.16975246742169e-05 0 0 0 3.898879854867116e-05 +4650 0.0006274519433097939 -0.0002697846233531208 0 0 0 1.8815373970798626e-05 +4665 0.0005126598836408343 -0.0002931077553150293 0 0 0 0.0002567240985071515 +4674 0.0006072151104083539 -0.00021790925418792737 0 0 0 2.286562700056615e-05 +4696 4.105324232040631e-05 2.1441683906157272e-05 0 0 0 6.795349327864248e-05 +1564 0.00033828848055130633 -9.398557071688865e-05 0 0 0 6.626521287431351e-06 +4740 0.00017379470728801704 -9.349004417179331e-05 0 0 0 -2.4577328028477114e-06 +4774 0.0004479404165577991 9.96983510488236e-05 0 0 0 4.483368027290048e-05 +4788 0.0007637374470293568 -0.00019801993952268937 0 0 0 2.6315220087784922e-06 +4822 0.0005966627973088978 -0.00018375584948667219 0 0 0 5.2680420973594536e-05 +4860 0.0009824062829823436 -0.0001831799881972071 0 0 0 7.602028112663764e-05 +4898 5.019056490802064e-05 0.00018083611411900838 0 0 0 3.800532743598945e-05 +4925 0.0003168126372606002 -0.00020612547680121774 0 0 0 -7.597528450718057e-05 +4949 0.0004768333548296817 5.152112076735582e-05 0 0 0 5.881608419180614e-05 +4952 0.0006128508315226866 -0.00017626676899308008 0 0 0 2.5112881647205372e-05 +7658 0.0006976113417436323 -0.00022884010932554404 0 0 0 9.435830144415595e-05 +4965 -0.00024721012620017985 -0.00043898097630843053 0 0 0 0.0003028650223841474 +4974 0.00012139847089263204 1.964155037111925e-05 0 0 0 -1.1626416892544727e-05 +3317 0.0009634007126853012 -0.0001419676253510794 0 0 0 1.0270181158071684e-05 +5049 0.0007149441224714794 -0.00021935882221186495 0 0 0 -3.459498681319029e-05 +5076 0.00012406558745831444 -0.002216358753119246 0 0 0 -0.0015932058395070078 +2823 0.0008658851909886544 -0.00021889807108568902 0 0 0 -3.93774500302694e-05 +5118 0.00027213307785185173 3.1256098824050976e-06 0 0 0 -6.108630742691469e-05 +8588 1.68327306517043e-05 2.284977322245857e-05 0 0 0 -0.00010684199852657046 +5246 0.00014051412811150716 -8.622520185260165e-05 0 0 0 2.101798143903901e-05 +6840 0.0008825723649804997 -0.00015198704948388478 0 0 0 2.436599813277339e-05 +5295 0.0010017778839110866 -0.00029864699641042846 0 0 0 3.9459551275385844e-05 +5308 0.00092058749598704 -0.00022646955477737148 0 0 0 4.8501618175220846e-05 +5326 0.00014689624603730298 -0.00016481207565242865 0 0 0 0.00026661896218597433 +9207 0.0007226326960041911 -0.00035665912238354004 0 0 0 -5.2499898666031146e-06 +5446 0.0008398169226153191 -0.0001641699371378496 0 0 0 2.568888558984891e-05 +3183 0.0007454631189270061 -0.00023762681232790986 0 0 0 7.435616558284541e-06 +5485 0.0006190112059704817 -0.00020914364623834378 0 0 0 -2.655208367746027e-05 +5498 0.0010114576289445767 -0.00032168669724844915 0 0 0 -2.3581987856753013e-05 +5284 0.001075104751279842 -0.00034522749746060665 0 0 0 -9.206556031849933e-05 +5568 3.223658496175951e-05 4.077074675597454e-05 0 0 0 0.00015520265366112597 +595 -5.2276502541973176e-05 0.00014141769764884583 0 0 0 8.876349869056138e-06 +5659 0.0007038727620704002 -0.00021226718704874038 0 0 0 2.6875935889373567e-05 +3828 2.229858046654513e-05 2.1903954735037207e-05 0 0 0 5.301866034738955e-05 +5722 1.3775456926870451e-05 -0.00010730054444459923 0 0 0 0.00041438680929968633 +5759 0.0005150948156143187 -0.0001839594579052824 0 0 0 3.483520812021419e-06 +3298 0.0009555506261882063 -0.00018383534612108097 0 0 0 -4.3672867236524155e-05 +5806 0.0014350321561013282 -0.0005104754668480685 0 0 0 -0.0005206166318264956 +3173 0.0009829523844145501 -0.00019567729339997356 0 0 0 7.323993110451663e-05 +5868 0.0009155858294884457 -0.00026500177497424423 0 0 0 3.592224011774036e-05 +2190 0.0010155639868965134 -0.00022426341534783313 0 0 0 -6.236478717386158e-05 +5908 0.0011248603224830113 -0.0002988541598065102 0 0 0 5.321630909602118e-05 +3812 0.00013539388995698689 -6.771778434651943e-05 0 0 0 7.2634864559446676e-06 +429 0.0009279011458674698 -0.00017479136024543576 0 0 0 -1.0804155016956864e-05 +9767 0.0002581268140794315 -0.0002308317012979544 0 0 0 6.151643817676718e-05 +5966 0.00023821416173817967 1.5201290196154593e-05 0 0 0 1.804464561576892e-05 +8254 0.0010338200906777999 -0.00029909970960499997 0 0 0 0.00017987826088378594 +6890 9.140080779443705e-05 7.586935331825042e-05 0 0 0 3.4568476073023837e-06 +9628 0.0007206991206189966 -0.0001314530603385516 0 0 0 4.598436761967871e-06 +6082 5.7152281091543336e-05 -0.00012860624271542932 0 0 0 0.00022479319742646416 +9522 3.1392762311008616e-05 0.00012630793619222903 0 0 0 3.802278952775856e-05 +6174 0.0011368991184617522 -0.0004194888038241131 0 0 0 0.00016108482345224024 +6196 0.0010322428700117838 -0.0001441321661693542 0 0 0 4.000542482213483e-05 +6229 0.0008626751019717246 -9.027820468424822e-05 0 0 0 -5.901509652829668e-05 +6233 0.0009747328274255273 -0.00019937173933046553 0 0 0 2.9123444472718978e-05 +6256 0.0005174896988315153 1.0988658888196858e-05 0 0 0 9.785957252210438e-05 +5869 0.00016791247253249223 -6.461817672470044e-05 0 0 0 -2.2777615155801385e-05 +6307 0.0006712249490769083 -0.00017545826411108646 0 0 0 3.55961174983549e-05 +6325 0.0009050047391372816 -0.00023297474536406715 0 0 0 4.6103102815741495e-06 +6329 0.00029650152322185843 -1.507186221005606e-05 0 0 0 -2.374687245038343e-05 +443 0.0007104718313976013 -0.0002596199331748944 0 0 0 4.202959898930074e-06 +6386 0.00026214615541336744 -0.0001382982961921583 0 0 0 7.577859485185625e-05 +6416 0.0008118995259329478 -0.00027978076896644595 0 0 0 2.6613930580891507e-06 +6398 0.0010767381041940595 -0.00016166587699603462 0 0 0 0.0002483340914772668 +6434 0.000297318917668492 -0.00022438735363199743 0 0 0 1.6977785920326933e-05 +6526 5.8430079194145126e-05 -0.00011452171604649881 0 0 0 0.00020066525694007955 +6559 0.000766251272881248 -0.00014818426016252582 0 0 0 -7.680467663587881e-06 +1003 0.0010492030035474614 -0.0002677930088834795 0 0 0 -5.814855065958812e-06 +6597 0.00038719941091141976 -0.00024330850956157425 0 0 0 2.9127459444587404e-05 +6618 0.0003785794286728746 -0.0001471769925305845 0 0 0 0.00012680884854225183 +6707 0.00031502902431364526 -0.00022148382411991735 0 0 0 -1.8379967211495416e-05 +6731 0.0011386422243928203 -0.00023360943540546637 0 0 0 -3.603444339294971e-05 +1787 0.0011521705479315698 -0.0002888573814693443 0 0 0 -1.5440191720557495e-05 +6770 0.0007870468646095555 -0.0001279748323814889 0 0 0 -1.8941564970981631e-06 +6772 0.0009849754025436747 0.00019467579615105055 0 0 0 -0.00046691758486380524 +6138 0.00011663162381808203 7.862300428918459e-05 0 0 0 1.8076134164782577e-05 +6822 0.0006149458181892802 -0.00017540900131722694 0 0 0 1.0187696821233741e-05 +3431 0.0008550121763018745 -0.0002559876758953509 0 0 0 5.23484954156977e-05 +6888 0.0007127173985569882 1.4097298310080784e-05 0 0 0 -3.202828793467358e-05 +6891 0.00011657616054832213 -0.00011156587324761112 0 0 0 -0.0002000591033032366 +6934 0.0003413883079786952 -3.0051515573435443e-05 0 0 0 -4.272070035955997e-05 +6940 0.0008680242940348293 -0.0001902531786321861 0 0 0 -1.7813008790169344e-05 +6995 0.0003518460321390638 -0.00018025743770140192 0 0 0 -4.657491680632333e-05 +2845 0.000940453359050268 -0.0002704099548140756 0 0 0 2.401259485845372e-06 +7011 0.0002039884641333301 -0.00017716316273227157 0 0 0 -0.00013245868282502928 +7059 0.0007586557674023404 -0.00011082723352648294 0 0 0 6.75650087867418e-05 +9610 0.001095499801369256 -5.4389993816339374e-05 0 0 0 -1.9324927666350146e-05 +7179 0.0010754524478944478 -0.00013037738731466473 0 0 0 0.00011484826251210996 +9753 -5.585006721372816e-05 0.0001979269918969475 0 0 0 -8.665738751079842e-06 +9896 0.0007368630946730905 -0.00012530853954657915 0 0 0 4.023547439837979e-05 +7218 0.000884541571682781 6.540526063257217e-06 0 0 0 0.00045389904873113443 +9731 0.0013918904567834076 -0.0003266997863283916 0 0 0 1.523477939405402e-05 +7398 0.0009681286893081238 -0.0002685581019871229 0 0 0 0.00011385325553206064 +9895 0.00038637401385790304 -0.00018626180074251807 0 0 0 9.071537188023791e-05 +7430 7.067839626692473e-06 0.0001736555531269993 0 0 0 -3.9580401538206246e-07 +7456 0.00025487274911476735 -6.564887610811066e-06 0 0 0 2.8205495985444635e-05 +7484 0.0003109086364498305 -7.497710200002794e-05 0 0 0 5.978843732125779e-05 +7521 0.001276346948250799 -4.989713452338359e-05 0 0 0 0.00021239631381458297 +7527 0.0008160355472475169 -0.0001795036972815409 0 0 0 1.2482616259991281e-05 +7536 0.0002901049409784057 -0.0002195347175457679 0 0 0 -7.5138650869149006e-06 +7552 0.0009417856357418543 -0.00021730755728858323 0 0 0 -2.808880459573429e-05 +7560 0.00019092921255195984 -0.00013327982530160517 0 0 0 -4.893337837038873e-05 +7570 0.000382905943259729 5.124563532647138e-05 0 0 0 2.6707963483710878e-05 +7603 0.0007947532380161121 -8.876719679431312e-05 0 0 0 -4.1783377244161016e-05 +7622 0.00029088444246642926 -0.00022713266224167692 0 0 0 2.7300980023962688e-05 +7644 0.0008497066437710093 -0.0001970284547361676 0 0 0 3.0107170260054785e-05 +7656 0.0010143674776201689 -7.704044579391744e-05 0 0 0 2.747148696868145e-05 +3259 0.0007426000865127403 -0.0003329736684165223 0 0 0 2.582646107764619e-05 +7718 0.00028711161601815207 -0.00013661375019401073 0 0 0 -2.840799643439643e-05 +7772 0.001063363400564369 -0.0003415456892072353 0 0 0 0.00012370665451806343 +7774 0.0004665953693359029 3.364719115890066e-05 0 0 0 -7.667380691564645e-06 +9967 0.0003413733136481427 -0.00024110911894696525 0 0 0 -3.437054959226661e-05 +9908 0.00015558962209280997 -7.127463993750832e-05 0 0 0 1.2259495557641132e-05 +8342 0.0004510900466643048 -0.00018888373025869928 0 0 0 0.00032525091329853534 +7799 0.0012526333793428557 -0.0002770650707196059 0 0 0 -3.937532510717331e-06 +7843 0.0003128515062230359 -0.00020876986519792996 0 0 0 1.0166602270574245e-05 +7907 0.0006290936307139065 -0.00013904230948491328 0 0 0 8.57901256587353e-05 +7915 0.0009099862589579509 -0.00022058412091298664 0 0 0 8.762268553370361e-05 +7504 0.0008000160188926838 -0.0003584223831858805 0 0 0 -1.4127504978072486e-06 +6285 5.457623780551658e-05 0.00010554438327979613 0 0 0 1.1060191404288346e-05 +7998 8.705414118603295e-05 -0.00010000755115085201 0 0 0 -3.6830060592445474e-05 +8039 0.0006790227123122177 -0.0001493706182761032 0 0 0 -1.7587891976744652e-05 +8078 0.0006373916571078632 -0.00020562714668748247 0 0 0 -4.3144697022888184e-05 +8187 0.0002511165225385458 -0.00010876514476735684 0 0 0 0.00011261195060892546 +6801 0.0012960153863505498 -0.00022959650449037302 0 0 0 -1.0882888302709342e-05 +8233 0.00023607888730657665 -0.00021461295066166791 0 0 0 -0.0001277921848063321 +8235 0.0002968087900909286 -0.00018639010780001662 0 0 0 1.1577303015892996e-05 +8277 0.00018963209555112866 -0.0001199109486736528 0 0 0 8.16479141297308e-05 +8306 0.0006851336356875127 -0.00024681862238230286 0 0 0 0.00010353471947787345 +8312 0.0006117678015406597 -0.0002505893948696389 0 0 0 -0.00026933405590276764 +8329 0.00012061735992955675 -0.0001415169070833156 0 0 0 -8.200593346732591e-05 +8368 0.00012818913793756 -1.4147262203770937e-05 0 0 0 8.24555288467228e-05 +8371 0.00039289676979678865 -0.0002450039306370363 0 0 0 -2.738175317267992e-05 +8393 0.0012913239732484738 -0.00025298667717404434 0 0 0 -3.170274511571881e-05 +8420 9.533459801399513e-05 -6.268405669319511e-05 0 0 0 3.4213289101980486e-05 +8442 0.0003157526786509242 -0.0001507298891171582 0 0 0 0.00015048437198758471 +8453 0.00025032007092274896 -0.00021682028738605368 0 0 0 -2.1730123027311473e-05 +1478 0.000782910239291943 -0.0002611509070189443 0 0 0 7.755712103712893e-06 +8482 0.00023849256463304725 0.0006717756981059628 0 0 0 2.044306616488062e-05 +8498 0.0007358385702936173 -0.00012985572059850034 0 0 0 -1.9129403089668587e-05 +8513 0.00013370810353726588 -1.0881826506317093e-05 0 0 0 -4.0124497403642916e-05 +8527 0.0005060196043827946 -0.00019342834467393164 0 0 0 -9.040423358329451e-05 +8720 -1.0416790072494505e-05 -0.0001423150821156108 0 0 0 0.00023700650155409833 +8723 0.000877346394694844 -0.0002184306902941225 0 0 0 -5.5814002837171725e-06 +8728 0.00016541317479537072 6.548745125706018e-05 0 0 0 9.834895219244439e-06 +4204 0.0005861043163931875 -0.00028213301743070635 0 0 0 3.138127023198665e-06 +8802 -4.170540851958986e-05 0.00013758603481105398 0 0 0 6.560976420812215e-05 +8803 0.0001478347768667637 -0.00023192149125272988 0 0 0 7.564717394899537e-05 +3870 0.0007470719414523506 -0.00029481044469230295 0 0 0 1.0956598928374382e-05 +8848 1.710041630425578e-05 0.000749178998170409 0 0 0 0.0001001488884638187 +8087 0.0007559519094612878 -0.000274601599313188 0 0 0 2.782454405745922e-05 +8921 0.0014091896656808476 -0.0002269855044428488 0 0 0 0.00027067060424707976 +8982 0.00013485009779715956 -7.940251165097949e-05 0 0 0 3.793495291845078e-05 +8992 0.0003714538998436651 -0.00017252444296371285 0 0 0 3.4793899488162316e-05 +9051 0.0005596484899580242 -0.0001668470076330638 0 0 0 -7.163838789762947e-05 +5511 0.0006884068595981574 -0.00020847275575485317 0 0 0 -5.1482146020205855e-05 +9073 0.00033169623159734176 -0.00011835803946143325 0 0 0 -5.288691289360292e-05 +9102 0.001181838160539664 -0.0002703070335831108 0 0 0 1.7522494099625258e-05 +9121 -0.0014763093881716022 0.00037391018173933146 0 0 0 0.0022728324159504423 +9132 0.0014181440497412188 -0.00036231230105359313 0 0 0 4.846192250522657e-05 +9223 4.199634836589434e-05 -5.863973077860853e-05 0 0 0 3.741340891054356e-07 +9226 0.0003624608082409235 -0.00020139757512644562 0 0 0 -7.273609535272762e-05 +9723 0.00042637169516225246 -0.00018369007540631558 0 0 0 7.807884541980805e-05 +9233 0.00018710283518929356 -0.00015260734895297337 0 0 0 -0.0005860957079485194 +9949 0.0007589129649901859 -7.254134988494077e-05 0 0 0 -9.87478293721224e-06 +9309 0.00029539992209174173 -0.00022018380927857665 0 0 0 3.6975107780534596e-05 +9323 0.0007439597171340806 -0.00011350523363212475 0 0 0 -1.730010540961785e-06 +9354 0.0011067717548123928 -0.00014382025767045142 0 0 0 1.5425489622274147e-05 +9394 0.0006043436048167806 -0.0001684420168132225 0 0 0 0.0001639833947159081 +9413 0.0006164997509411591 -5.654942954887848e-05 0 0 0 1.1639340121205138e-05 +9486 0.000925009659106635 -0.0009697435739063371 0 0 0 -9.426935945094639e-05 +9500 0.00019755933405395833 -0.00014003044150555396 0 0 0 -2.2434138404233704e-05 +7894 0.0007891982326746433 -0.0003107498509501577 0 0 0 4.3225264734230665e-05 +9514 -0.0005272496005597235 -0.000290225836943008 0 0 0 0.0005875352934867799 +9560 0.0008062170762812773 -0.0001741918210550794 0 0 0 -3.1388842887000415e-05 +5301 0.00012303767817190342 7.006204404605187e-05 0 0 0 -1.1052828199813482e-05 +9581 0.0014048915042234925 0.00016844694056802323 0 0 0 0.00012497016191802968 +4208 0.0007325362174573993 -0.0002690904177690911 0 0 0 2.1763001545720852e-05 +5254 0.00010000828821312326 -5.895671830453961e-05 0 0 0 2.9481083900874903e-05 +1106 6.469106945666845e-05 4.347224680253048e-05 0 0 0 3.1184780174536145e-05 +9082 0.0006951957689295548 -0.0003482849916415105 0 0 0 3.279287585047302e-05 +6341 -1.4124809687364889e-05 0.00017603699766067797 0 0 0 7.4831556078314605e-06 +7788 0.00018961804718241389 -7.638691166671519e-06 0 0 0 0.0001192656429119948 +9302 0.0006569839010862955 -0.0002869268834215587 0 0 0 -1.689276606438455e-05 +1645 0.0010884567815038454 -0.00019548844727446235 0 0 0 2.4831361333286192e-06 +8842 0.00023942148512871915 -3.612667516083914e-05 0 0 0 -1.231684626570788e-05 +1086 4.17402561684508e-06 0.00014927765841294576 0 0 0 9.869255762013092e-06 +291 0.0004907323253641021 -0.00021243463825137686 0 0 0 1.782329275369751e-05 +5044 0.00012243705470223713 -5.5703555796610516e-05 0 0 0 -1.1631360346957325e-05 +7963 0.0007197401639946451 -0.00031846413711761605 0 0 0 -4.084083417542017e-05 +68 0.0010890857440417677 -0.0002628549920261386 0 0 0 -1.2948792356405225e-05 +9839 0.00010700976317703958 -1.421133283070173e-06 0 0 0 -2.0126763677430016e-05 +8397 0.0007307363508747714 -0.00029961042014088753 0 0 0 9.345744941356028e-07 +8529 0.0007887634188544021 -0.00031630415734284654 0 0 0 4.2210364031736e-05 +2450 0.00013104256607281617 -1.5777883312126585e-06 0 0 0 3.870937685915293e-05 +2507 0.0003919018591900813 -0.00012753873279833065 0 0 0 2.524586641722602e-05 +2926 -5.0458638371167726e-05 0.00010140855051307186 0 0 0 8.150337258198507e-06 +9561 0.00023360551084184006 -4.746884654197565e-05 0 0 0 7.197791733052162e-05 +6284 0.00023751752358957442 -9.387342591153347e-05 0 0 0 1.8034430840031905e-05 +2882 0.0008202672258218268 -8.796119246282196e-05 0 0 0 -7.512930583616379e-05 +6041 0.00043230784893593624 -0.00020622870948330325 0 0 0 2.147026836110977e-05 +1860 0.00028293099455767464 -9.367047255760146e-05 0 0 0 -7.131687634860085e-06 +2532 0.0002011900003831976 -8.87082530169796e-05 0 0 0 4.3902354545050286e-07 +8903 0.0002402164870327527 -9.22097867802899e-05 0 0 0 4.568810787777196e-05 +6368 0.0003807414450100198 -0.00012507947986022385 0 0 0 4.133695887939456e-05 +2410 0.0006911932973062388 -0.00037707010905318973 0 0 0 4.3253293557782304e-05 +1957 0.00048277525605960116 -0.00023956099413621317 0 0 0 2.9590322607363977e-07 +5168 0.000805800879672301 -0.00032786228661036223 0 0 0 2.8709428394643912e-05 +7667 0.0008133141861768422 -0.00034278955823752524 0 0 0 2.4760979210073456e-05 +4220 0.0003948516038837329 -0.0002189130972598038 0 0 0 7.416880789483737e-05 +1264 0.0010777598765013767 -0.0001466187495442345 0 0 0 4.0288105104398734e-05 +4710 0.0006322884237214443 -0.00021559593141902167 0 0 0 -3.7013407135573064e-05 +333 0.0012262571270503682 -0.00012235443772470758 0 0 0 2.270857410909168e-05 +8364 0.000657196880495078 -0.0004133988071087315 0 0 0 -8.655639235657411e-05 +9166 0.00043792415933347265 -0.00021844646934957013 0 0 0 -1.4946748159947427e-05 +1069 0.0006321789622161231 -0.0003804815664840932 0 0 0 -4.07248902222593e-06 +2110 0.0004181240631680263 -0.00015595486485960372 0 0 0 9.528538503074171e-06 +7779 -6.82212203944729e-05 9.757373319937332e-05 0 0 0 3.931782132675234e-05 +3584 0.0008218044790623378 -0.0003021198252108345 0 0 0 -2.270950029516098e-05 +27 0.0005720801588766625 -0.0003482325198949463 0 0 0 1.1379200702013469e-05 +269 0.0008977920484130911 -0.00024541489112460933 0 0 0 1.7472059648521235e-05 +3631 0.0008975766405366546 -0.00021957134505913814 0 0 0 0.00011451824473532656 +2358 0.0009682944631692231 -0.0002542244915078553 0 0 0 -4.415239858239535e-05 +3839 4.027849883224701e-05 3.8852897174790785e-05 0 0 0 1.619303553537884e-05 +2393 -3.5966792760228076e-05 7.525359820248484e-05 0 0 0 1.1026230608189663e-05 +5449 0.0008217464403955224 -0.00030100642703170463 0 0 0 9.453696692874677e-06 +4962 0.0010854917497341114 -0.00021798936738358265 0 0 0 0.000105034739518526 +3253 0.0011280140050554555 -0.0003164576316626958 0 0 0 -1.319935026532478e-06 +3025 0.0008525768250551036 -0.00027639710211656786 0 0 0 9.502379622229705e-06 +8795 0.0014368010197546549 -0.0001261881431584963 0 0 0 0.00019864897942766506 +23 2.048954157270199e-05 -6.128677695023253e-05 0 0 0 1.8139402647415122e-05 +25 -0.00011377858899639333 -3.780708669759902e-05 0 0 0 9.564683835560518e-06 +49 -0.00023495437763923653 2.947094244276535e-05 0 0 0 -9.79068123827575e-06 +109 0.00046719372230762574 -0.00044680912958382853 0 0 0 2.187008222572327e-05 +207 -0.00027115073582138863 4.5954752354711463e-05 0 0 0 2.458322965143726e-05 +8323 -8.732452766320272e-05 0.0001923321943768216 0 0 0 6.934337714270517e-05 +226 0.00011709701058059461 -9.163709674388394e-05 0 0 0 2.586732584814481e-06 +5726 0.00038783500220796694 -0.00010069477830304394 0 0 0 0.00018693063997185993 +2386 -0.0001782186184331773 -1.6179123379272184e-05 0 0 0 -2.8339686019348483e-05 +7210 0.0006012711641101414 -0.0004216733978871309 0 0 0 4.7953379780159984e-05 +276 -0.0001352006049333108 0.00012152650265589691 0 0 0 5.449238086735349e-06 +9281 -6.665249373437306e-05 3.884551541994628e-05 0 0 0 -3.003526811237402e-05 +343 -0.00010464516299087775 3.759249922510532e-05 0 0 0 -1.4026941166624652e-05 +369 -9.936984019244653e-05 0.0001327023285231988 0 0 0 2.8479522431188675e-05 +377 0.00034333696323384687 -0.0002477329010922614 0 0 0 3.090865901295253e-05 +401 -5.580429247543291e-05 6.882113766240507e-05 0 0 0 -1.1789431324873894e-05 +8197 3.916355366133955e-05 -0.00014953258995098495 0 0 0 -3.597744713380197e-05 +413 8.130568465577467e-05 -7.217023207365708e-05 0 0 0 2.0120107577983858e-05 +417 -0.00020676697777406212 2.2452492113933996e-05 0 0 0 6.227688241077736e-06 +6168 -0.00021101124751437083 6.471514251896358e-05 0 0 0 1.668332818208867e-05 +8130 -0.000169262448385701 0.00010331269262748473 0 0 0 -4.028770090314842e-05 +432 -0.00016028214051374523 0.00023547960428410293 0 0 0 -1.3242914961530644e-05 +8223 -0.00010092081589130606 0.000149146743683433 0 0 0 1.6784995734508854e-05 +503 -4.118104973479119e-05 -1.1453572781498843e-06 0 0 0 2.1961603939375254e-05 +6154 2.8757129196241795e-05 9.66360933283478e-05 0 0 0 0.00015887235579641507 +406 -0.0002482450148330737 6.759196852206737e-05 0 0 0 4.0306294291628505e-06 +596 -0.0002111127546792386 0.00014902638856869598 0 0 0 -8.481589967317941e-06 +619 -0.00010882131377464167 9.189064414404072e-05 0 0 0 1.7777586132743725e-07 +690 -0.00014489522196890233 9.607544590305671e-05 0 0 0 -1.3587668073006513e-05 +722 -0.00017935815610103277 0.0001603639394745097 0 0 0 -9.871747124714511e-06 +6520 -0.00021836965777259447 -1.3945648134787206e-05 0 0 0 1.860064350348262e-05 +811 0.0004577525878345205 -0.0002583470738776863 0 0 0 7.828732435390945e-08 +7578 0.0005088343465962294 -0.0003799282340464724 0 0 0 2.874705359188316e-05 +910 5.549496336098108e-05 -7.935341132693696e-05 0 0 0 2.8600572413123873e-05 +577 5.66644169048455e-05 1.7031483786473423e-05 0 0 0 7.334863390928331e-06 +1047 6.19743554505211e-05 -9.51339514009452e-05 0 0 0 5.658611870739213e-05 +863 -2.8044261568280054e-05 -2.815031488408494e-05 0 0 0 -1.4450050211518815e-05 +1166 -0.0001559300491189537 7.568878151602332e-05 0 0 0 1.2657255334032217e-05 +8985 -4.545119139358465e-05 7.329898141171218e-05 0 0 0 -1.3600896614855253e-05 +1203 0.0003752657122853357 -0.00031627771880084367 0 0 0 5.488910488738274e-05 +5197 -0.00019462442594936604 0.0001166313651244163 0 0 0 9.353116729522843e-05 +1217 -0.00010703186340181795 1.2876094526974445e-05 0 0 0 -4.975696288374667e-06 +1235 0.0003327220833283556 -0.00020623645319909362 0 0 0 -2.0772776652426016e-05 +1243 0.00021080763594507037 -0.00017063734024050397 0 0 0 6.2590984172936e-05 +1255 -0.00021896130517216276 0.00012030603423545579 0 0 0 -1.394393747747359e-05 +1256 5.290648533781202e-06 -5.460168404989705e-05 0 0 0 2.186535986223332e-05 +8734 -0.00011714611787684756 -2.690888340753517e-06 0 0 0 6.700689258058629e-06 +8828 -2.2632494901342356e-05 0.00011979312946179851 0 0 0 -3.7737904256993126e-06 +4892 8.174998575112936e-05 -0.0004978659322490158 0 0 0 1.0159211665949317e-05 +1456 -9.159923261834131e-05 -3.623669413530332e-06 0 0 0 -3.37823217342839e-05 +1469 -2.2270463268780846e-05 1.4579976099092877e-05 0 0 0 -6.497171488900174e-06 +1979 0.00011205614105617373 9.61393303974634e-05 0 0 0 8.19170614281911e-05 +1482 -0.0003430494295997402 0.00026424961194949643 0 0 0 8.249408517563217e-06 +6805 2.6061855765282408e-05 2.2059160716117545e-05 0 0 0 2.0486838265113224e-05 +7818 -0.00013148008976333488 0.0002650180025163441 0 0 0 -9.173792268053985e-05 +249 0.0005963068471904847 -0.00044421289874799425 0 0 0 -1.080191107781668e-06 +9611 0.00011987688519166037 3.2042245098667845e-05 0 0 0 1.678393752552276e-05 +3056 -0.00018810378172560172 0.00010859186183910584 0 0 0 -5.103044489404581e-05 +1689 -0.00014182556064545833 0.00011539207153621237 0 0 0 -2.200318059732502e-05 +1701 -0.00017240630522080138 4.729704294232341e-05 0 0 0 7.386032638599727e-06 +1788 0.00011798181878349953 7.729217166118504e-05 0 0 0 1.0436250013753735e-05 +7475 0.00021725917581890856 -9.145805148487382e-05 0 0 0 5.8387614241922335e-05 +1898 7.185958781217826e-05 0.0002144996248814985 0 0 0 6.157564467795886e-05 +1925 -0.00023681656793680795 0.0001006185904797858 0 0 0 1.5329956779458187e-05 +1928 -4.837545381155276e-06 -4.174828656212558e-05 0 0 0 -2.1163495021100486e-05 +2395 0.00011112146878520516 -0.0005010991670431165 0 0 0 4.1632935712519536e-05 +7593 -0.0002731657483400696 7.555257495075265e-05 0 0 0 -6.070620045932169e-06 +2026 0.0002531852181972577 -0.00030997411749161 0 0 0 3.558889071358754e-05 +2053 -0.00025840937590464533 5.207824095900664e-05 0 0 0 4.469319301743671e-06 +5956 -2.951994500519615e-05 6.26889699049969e-05 0 0 0 -2.0461577341310846e-05 +2061 0.00014908081415679583 -4.444082863222316e-06 0 0 0 8.926485417395325e-05 +2066 -7.486446409516129e-05 1.318231940550805e-05 0 0 0 -8.293922287886484e-06 +8782 -0.00019665540568669182 6.663575440941202e-05 0 0 0 -2.1484574201440587e-06 +2114 -0.0002351149891133095 6.665261321095562e-05 0 0 0 1.9552467407653663e-05 +9954 -1.9386088255243757e-05 -9.443992152283227e-05 0 0 0 4.149133129667006e-05 +7202 2.3711991503139517e-05 -0.00010748411093980597 0 0 0 5.601487221812663e-05 +2166 -0.00015858076298157182 -2.7817094635173387e-05 0 0 0 -1.1750574327873323e-05 +3914 -4.297697458819402e-05 5.0488255296531204e-05 0 0 0 1.5986946381420386e-05 +4757 0.000511655796785719 -0.0003858935536514383 0 0 0 -1.2838507857357606e-05 +2228 -0.0002477198962742211 2.4980599052266632e-05 0 0 0 -1.6525063369214706e-06 +9358 0.00011219040306197309 0.0001602081084806908 0 0 0 0.0001492288580090966 +2257 -0.00011965195487064162 2.1180215617367985e-05 0 0 0 2.240635174744581e-05 +2263 -0.00012477269773060836 0.00025316532940027026 0 0 0 1.7678913514281245e-05 +2365 -4.6430610616424964e-05 1.4131439278450506e-05 0 0 0 -2.6571192165939252e-05 +2381 -0.00027186734810769606 2.949200734402626e-05 0 0 0 4.3071665192804384e-05 +8045 -0.00018825792054849317 0.00011336451359002635 0 0 0 -3.7654711474262686e-05 +8878 -0.00015710750695541897 9.905101474813056e-05 0 0 0 5.7432217851413995e-06 +9283 3.442673133055405e-05 -0.00011108358899237896 0 0 0 -4.838857311695411e-05 +2526 -0.00015753588606653564 9.894021063988464e-05 0 0 0 7.172886653876369e-06 +2465 0.00016298485737764823 3.425262950745109e-05 0 0 0 3.508514800004516e-05 +6539 0.0004574552193136294 -0.0003603623383543358 0 0 0 5.309832920848478e-05 +2501 8.257954602668804e-05 -7.938260373766906e-05 0 0 0 -6.048996888823574e-05 +2502 -1.1565061682212413e-05 0.00010367594344293235 0 0 0 -7.946336081630465e-06 +2534 2.680153660789888e-05 -4.020122055039853e-05 0 0 0 -4.5046604075855284e-05 +2556 -5.242362769273005e-05 -8.438843604335577e-05 0 0 0 7.886131140720062e-06 +8689 -0.0001255314276252204 -5.0996594504661955e-05 0 0 0 -2.686734270171826e-05 +9127 -0.0001656853079777666 7.749379589177733e-05 0 0 0 -1.9212442271973935e-05 +2593 9.524948202987038e-06 -0.0004738722636205545 0 0 0 3.182333129175186e-06 +499 -0.00015938499375408222 0.00010374346891100071 0 0 0 6.84913056303162e-06 +2720 -0.00017505704480625368 6.288655106303076e-05 0 0 0 1.0425319190063167e-05 +2722 -7.700516715913297e-05 -4.982930633343771e-05 0 0 0 -1.6621075033136794e-05 +2726 -0.00013248805080239766 7.436768633603157e-05 0 0 0 -1.8876325285201187e-05 +2732 1.7459030929236897e-05 -6.292831842018168e-05 0 0 0 -2.927159005140193e-05 +8063 0.00028001209307483495 -0.00043526412620317637 0 0 0 0.00010685625468739188 +2879 -4.165312909816031e-06 7.718172433094396e-05 0 0 0 3.291373261732017e-05 +2881 -0.00011991679811051864 1.3914050545571098e-05 0 0 0 -1.2270065926729133e-05 +2885 -4.4964955290936896e-05 3.7222913652438174e-05 0 0 0 6.467582895575027e-06 +2933 -0.0001601364163142848 0.00012299162195897253 0 0 0 4.6367971014274465e-06 +2944 0.0003468472612802228 -9.680966154058048e-05 0 0 0 0.00012335193564070828 +7809 -0.00010399495396228489 -4.3941790076613594e-05 0 0 0 1.4561081933478284e-05 +7711 -0.0002566101958297826 7.690006332699848e-05 0 0 0 -6.924001711211789e-06 +3008 -2.8268731277815223e-05 -7.710561723772065e-05 0 0 0 -1.4308048863260546e-05 +9060 8.730094581715918e-05 -7.609414810844782e-05 0 0 0 0.0001253401731581407 +7675 0.0002651840584832265 -4.729665554472344e-05 0 0 0 0.00020453505767370088 +3026 9.441267569729727e-05 0.00011057839852708931 0 0 0 -1.710098137771513e-05 +3046 0.0002676944772610693 -0.00024422536588382653 0 0 0 9.342253966881781e-05 +9234 -0.00014413980812423436 6.103750897593619e-05 0 0 0 9.616526193750604e-06 +3069 -4.646140681241333e-05 -5.197807476259419e-05 0 0 0 1.742545547882568e-05 +3071 -0.0002447136466168488 9.968544172664404e-05 0 0 0 -5.454152840341116e-06 +3081 -2.8153791711413293e-05 -6.609046300840026e-05 0 0 0 1.2132997613768988e-05 +3085 1.4008449323619304e-05 -2.8608675850960904e-05 0 0 0 -2.4484202383865486e-05 +3088 0.00016251336975945627 -8.591517557212894e-05 0 0 0 2.4028604753544938e-05 +7848 -6.058899444433059e-06 -5.2925908967926785e-05 0 0 0 -0.0001411025030754757 +7810 0.00041108944116292266 -0.0003182051055608645 0 0 0 1.3581607802733412e-05 +8869 -0.00012847851453615794 0.00011297935029095934 0 0 0 -2.8924575564546466e-05 +3168 0.0003896983519645021 -0.00029089180653015456 0 0 0 -5.558415790192138e-06 +3180 6.609614727116872e-05 4.293871554061688e-05 0 0 0 1.0083933630497291e-05 +8350 -0.0007491875251673932 -0.0008135765272194594 0 0 0 0.0011026093994473054 +3186 -7.792337707809288e-05 0.0001089301301083726 0 0 0 4.261410380785527e-05 +3414 -0.00019533185746368158 0.00011444257488466648 0 0 0 8.190170964615914e-05 +8438 8.362790893854588e-05 0.0002180535934767802 0 0 0 0.0001558975603147307 +3268 9.286602515745231e-05 -1.4045869776175984e-05 0 0 0 -9.826142143993586e-05 +7970 2.7706029758097108e-05 -0.00012286437749977952 0 0 0 -4.036432133888575e-05 +3280 -0.0003175659082469034 5.646344251184507e-06 0 0 0 0.00014315706188037158 +3292 8.995038692361651e-05 0.0001390360219068948 0 0 0 0.00011396083896971233 +9476 -0.0010020606225686693 1.5142095398757546e-05 0 0 0 -0.00046034034812953616 +8396 3.859193831717586e-05 -0.0003156679423122803 0 0 0 -5.0932811812039785e-05 +3321 -0.0002693251487004798 3.3461825413405225e-05 0 0 0 -8.222717906220798e-05 +3386 -9.714807058035574e-05 -8.89243280628898e-05 0 0 0 -2.881686867570585e-05 +9705 0.0004190174401316361 -0.00040937102562120704 0 0 0 -4.900903252991998e-05 +3428 -0.00013966622942361993 0.00018814998270456521 0 0 0 8.618194007771143e-05 +7540 5.7534506296865674e-05 -0.0004292838342830222 0 0 0 5.223164712401865e-05 +3617 -0.0002161896365621653 -1.7233669331518056e-05 0 0 0 -2.68030739882174e-06 +5692 -0.0002778185252612751 6.373622043764999e-05 0 0 0 1.3418927983680043e-05 +3511 0.0003660268821116388 -0.00022325899950136185 0 0 0 8.574586061497258e-06 +3531 -0.0002467157720858107 6.346138245035943e-05 0 0 0 8.939627069312402e-06 +3550 -0.00019679810126637791 5.857657293834319e-05 0 0 0 8.19633327056383e-06 +9551 0.0005940007817363972 0.00016736986305015622 0 0 0 0.0007824136457963663 +137 -0.00019985726578400655 9.475244786916924e-05 0 0 0 1.0750409529855222e-05 +8021 -0.0008327144888655279 0.001501670081048362 0 0 0 0.0012319629824109738 +3626 0.00017527183676110294 -0.00020911922104443142 0 0 0 2.7484459376897846e-05 +3633 0.00031710919192482704 -1.658745752957549e-05 0 0 0 -2.1200609300812007e-05 +3648 8.1773756790136e-05 -0.000117896226958121 0 0 0 9.179400851848614e-05 +3658 4.7322573511926275e-05 4.5192506138653555e-05 0 0 0 -7.963531498418522e-05 +8767 -0.00022124470622502027 1.0513237527452652e-05 0 0 0 2.483711959433644e-05 +3779 -3.8979692302839134e-05 -7.215555229233525e-05 0 0 0 6.787215068697242e-05 +9138 7.933334203298423e-05 -0.00013392662259932727 0 0 0 0.00039320211953865 +3875 -0.00022684717215147408 -6.6843639073024945e-06 0 0 0 -2.1363986389431213e-05 +7287 0.00045725740758837557 -0.00036049711443602754 0 0 0 4.128059989951939e-05 +3911 0.0004624907489154378 0.0023320993358936144 0 0 0 -0.001279705819256882 +3916 3.691903209928167e-05 0.00017202423681568564 0 0 0 5.624600903945547e-05 +9375 -9.224318212463154e-05 -1.4680284034196137e-05 0 0 0 -0.00011236992629204577 +3971 -8.949952398328041e-05 1.5481784909563323e-05 0 0 0 -1.1672387206253232e-05 +7545 0.00010380161614498358 7.576975748262576e-05 0 0 0 -5.110691986219177e-05 +3434 -0.000237390948218001 7.375825111751928e-05 0 0 0 -9.213624846589165e-06 +4049 -0.0001797580970892006 3.403385094911003e-05 0 0 0 1.0160176549197571e-05 +4055 -6.343790679037544e-05 5.071030930715223e-05 0 0 0 -9.304660866317615e-05 +4097 -0.00015936377885687126 0.0001485852605024161 0 0 0 -2.4056801974677268e-05 +7361 -5.1612858392516586e-05 7.931334704947002e-05 0 0 0 -2.602620976826261e-06 +4189 -0.0002713537295735933 3.838325642849418e-05 0 0 0 -2.7571461383196535e-05 +4201 1.1906071682252984e-05 -4.4519218464898866e-05 0 0 0 -8.66518595607441e-05 +7725 -0.0001593832097433294 0.00014093475480153297 0 0 0 -1.6245902588190235e-05 +4212 -0.00021428262161657892 1.5184518384385485e-05 0 0 0 -8.303858874011069e-06 +673 0.0002466038377650123 -0.0005180957136995459 0 0 0 2.153420035986376e-05 +4228 -0.00016232243590389906 0.00012375043292797006 0 0 0 -2.245480794788522e-05 +4259 -0.0002534186524778416 8.976046432961472e-05 0 0 0 -8.1898682847629e-06 +2214 2.6220410522606455e-06 5.20813625628837e-05 0 0 0 4.131118474314698e-06 +8609 -1.141107585761732e-05 -6.156391792424473e-05 0 0 0 -8.265530558292387e-05 +5290 -0.0002478473927554355 7.531501311973664e-05 0 0 0 1.4980155405566188e-05 +4423 -0.00019578014822754474 -1.383661934713024e-05 0 0 0 -4.050943087235994e-05 +4463 1.5071260559150567e-05 -0.0004560245860144147 0 0 0 8.710965436076013e-05 +1634 0.0004453332967314523 -0.000407635415831444 0 0 0 7.950632003790964e-06 +4565 -0.00017339177556039838 6.428458935458908e-05 0 0 0 1.3404479735331324e-05 +4575 -0.0001126363103639649 0.00010117863759822967 0 0 0 4.8751675090536805e-05 +4589 0.00040368167219583716 -0.0003304962389737525 0 0 0 9.10372223211466e-06 +4733 -0.00015375096978278917 5.780161181964269e-05 0 0 0 5.945750777274985e-06 +4742 0.0002939293611352317 -0.0002824817207250656 0 0 0 9.678104255266653e-05 +9165 -0.00013185149543332972 7.78809031551472e-05 0 0 0 3.474186506072854e-05 +4765 -0.000268133597167762 6.207690081049561e-05 0 0 0 -7.20209035647499e-07 +4795 -0.00017011039749085 0.00013873371653088504 0 0 0 -5.942553925027269e-06 +1654 5.878645483520904e-05 -5.618049837254186e-05 0 0 0 3.282685844133774e-05 +4825 -0.00011503633250774784 0.00018541182494655054 0 0 0 -4.830597299732978e-05 +8941 -0.0001832458161187171 4.388276031983703e-05 0 0 0 -7.13631004379009e-05 +4890 -0.00022296791522586823 3.137416400586203e-05 0 0 0 1.225286926738304e-05 +4924 0.0004414893111420799 -0.0003218802411297811 0 0 0 2.3414666890948978e-05 +5002 0.00018071378368433015 -0.00039114599389944053 0 0 0 9.530037874866854e-05 +8706 -0.00010831000494072328 5.484103922941138e-06 0 0 0 1.7939975097717837e-05 +5146 -6.93068857039161e-05 -1.7773749790557497e-06 0 0 0 3.3080881264379086e-05 +4317 3.210135876590394e-05 0.00021103352361539682 0 0 0 0.00011863073014825404 +7655 0.00017786413383069275 -9.958012738799694e-05 0 0 0 -3.417455368247937e-05 +8384 0.0001787364305821169 -0.001481735713382056 0 0 0 -0.0019927408874687927 +5279 -3.51757226525152e-05 -4.967036140519504e-05 0 0 0 5.411846443227006e-06 +9284 8.354560326461301e-05 0.00037355866698485213 0 0 0 -0.0003079362574930927 +5428 2.3435380515349653e-05 -5.013024422250817e-05 0 0 0 -5.711671302145074e-05 +5432 -0.00024432951283956275 9.70145820095744e-05 0 0 0 -9.744363435378352e-06 +3430 -0.00022443734672460673 0.00010223410389411473 0 0 0 4.143482698500806e-06 +3415 0.00017281266987757612 -0.0005074664511766858 0 0 0 5.076338018055234e-05 +5488 0.00014977394147032313 -8.715797779599194e-05 0 0 0 -4.466810212998281e-05 +5477 -0.001330689469791725 -0.001644131730752888 0 0 0 -0.0018800222242173073 +9401 0.0006182608157850282 -0.0004372162870556066 0 0 0 3.7840100990928026e-06 +5567 0.00048730002101319344 -0.0002630818011482903 0 0 0 7.879960161714554e-05 +5638 -4.254756850735905e-05 -0.0005946247759412472 0 0 0 4.594145188303728e-05 +5648 -0.00011730700624375281 0.00017172413820500324 0 0 0 -7.181364241253904e-05 +5682 0.00017491223478075462 -0.00011295496688578781 0 0 0 -2.7243053648002287e-05 +8563 -0.00021713738525254382 0.00020220931344966468 0 0 0 2.096511709747799e-05 +5697 -0.00019116947299557306 4.466634167762751e-05 0 0 0 7.385441510859721e-06 +5752 -0.00012969124518892778 -2.8049345040492484e-06 0 0 0 -1.3505919923675308e-05 +5756 -0.0001939592270440032 0.00012555519956616742 0 0 0 -1.1591339336765316e-05 +5827 -0.0002678978299899967 4.73863836649228e-05 0 0 0 -3.361955149102153e-05 +7500 -3.481613682794733e-07 3.189581848433633e-05 0 0 0 1.5313779743893907e-05 +5867 -0.00023586955833057395 0.00011411396035252366 0 0 0 -1.5503818226041802e-05 +5910 5.193344933757262e-05 -0.0009188021935262445 0 0 0 0.0002605359396655714 +5941 -9.093019479559896e-05 -8.513726884597827e-05 0 0 0 1.1070995775739422e-05 +3116 7.128432511773047e-05 0.00015295477736358047 0 0 0 -1.4200542665430664e-06 +9149 -0.00011021371088357096 -7.895410862244076e-05 0 0 0 -9.748787942633802e-05 +6051 0.0003506067441391429 -0.00024480452912529756 0 0 0 -0.00015943380803682316 +7879 -1.641963101443516e-05 -1.1862097076696138e-05 0 0 0 -2.6466176859086082e-05 +8250 -0.00021294884429806876 2.4430763915026646e-05 0 0 0 1.8035126557883303e-05 +6170 0.0023730384328434283 0.0009266839432304076 0 0 0 8.866786970797467e-05 +6204 -0.00015848062171539083 9.283591886566505e-05 0 0 0 2.7113624423158466e-05 +8264 0.0002759613256640238 0.00043475707350626637 0 0 0 0.0004989018720802602 +6261 -6.429064721517449e-05 4.6379195090122325e-05 0 0 0 9.216028266288508e-06 +2608 0.0001631746269314903 -0.0004202929037579589 0 0 0 6.124147400403126e-05 +8352 0.0004894605542529666 -0.0003829869510997586 0 0 0 -1.5146689758362425e-05 +6327 -3.345950177198885e-05 -0.0011110187826395461 0 0 0 -0.0004803804221033157 +8180 -0.00021139383752713563 0.00010142568499620543 0 0 0 -9.710821854051856e-05 +7950 0.0002527554695681886 -0.00033044673878987555 0 0 0 8.742878788696047e-05 +6347 5.6207556353924857e-05 5.837366062966721e-05 0 0 0 3.786478943684628e-05 +6356 -7.064438701386994e-05 5.9176922835684386e-05 0 0 0 1.320434993636552e-05 +6339 0.00010745033387713576 6.781202100291158e-05 0 0 0 -2.846265135884046e-05 +8622 9.209388768885916e-05 -3.056320711973538e-05 0 0 0 3.447456215008274e-05 +6439 0.00028319267570946227 -0.00022992262399900012 0 0 0 0.00016009134196361387 +9600 -0.00013181699962494924 3.4105176844587415e-05 0 0 0 -1.1666897814336297e-05 +8751 0.0002892111781497291 0.0007780482045059889 0 0 0 0.00047691854713428265 +6851 -0.0001919169100865066 0.00011942611995364007 0 0 0 -4.7754355989780396e-05 +9827 0.00027304640489929084 -0.0001988820763700296 0 0 0 5.86588464515385e-05 +3091 -2.1136905698680434e-05 0.00013524185420054355 0 0 0 0.0003002553370700811 +6661 0.00014264371419159177 -4.8591140306596144e-05 0 0 0 -8.540553111757174e-05 +2594 0.000261875806932373 -0.00035903387377783636 0 0 0 3.190391340238498e-05 +6711 3.612979795416624e-06 -9.714545680468074e-05 0 0 0 -9.654742780869955e-05 +6715 0.000164004570983305 -0.00012644472666716071 0 0 0 2.859129873777382e-06 +6721 -8.093734296124252e-05 -3.828236985636654e-06 0 0 0 -3.0073235259746202e-05 +6724 0.0003359922086282191 -0.0008831766724231002 0 0 0 -0.000999362119210212 +6735 0.00016089904091970428 -7.678164346729639e-06 0 0 0 -0.00022671308257219121 +6754 0.00024192899945014375 -0.00044891373382677295 0 0 0 -0.00029454683519919314 +8912 -0.00021650698436223502 1.301139151306766e-05 0 0 0 3.508611496867321e-05 +6799 0.00016067089561537973 -0.00010558451466530982 0 0 0 0.00020517584888276732 +6832 -0.0002756441945215715 7.03136614980749e-05 0 0 0 4.148021077964868e-06 +6835 0.0002028188126697878 -1.2350561286985603e-06 0 0 0 4.092909069682671e-05 +6845 -0.0001203291635735581 0.00029369048473326865 0 0 0 0.0001991860505196384 +6864 -0.00020149791265799624 3.287109424267109e-05 0 0 0 -1.2139213739640299e-05 +6876 0.00033072637700139044 -0.0002514792718820191 0 0 0 0.00010435555411960961 +6881 -1.6284082305443018e-05 0.00010538154947179893 0 0 0 9.289688104067778e-06 +6884 -0.00015474668534856779 0.0001488432703989636 0 0 0 2.7756458533099107e-05 +9726 -0.00015569106151835206 0.0001270147030657766 0 0 0 3.385509316993978e-05 +6924 -0.00026328378620726927 5.245951541551662e-05 0 0 0 7.92082320048911e-06 +6926 -0.00013354387903998736 6.744748207127948e-05 0 0 0 -9.453744724226901e-07 +7046 0.00019657385281282767 -6.51600413013394e-05 0 0 0 0.00016089109454304405 +7049 7.531811730502687e-05 -0.00041030472411383574 0 0 0 0.00010009012775180792 +7067 6.461783893477057e-05 -5.143896778563118e-05 0 0 0 -6.537592723185342e-05 +7078 -3.7691341864011657e-05 1.4595814996088913e-05 0 0 0 -3.799046134009672e-05 +4021 -0.0002016328403436303 -1.2585796437228294e-05 0 0 0 1.2225532466000356e-05 +7127 4.5448999488089694e-05 -0.00041543196701649456 0 0 0 7.43984682194717e-05 +6604 -0.00018947093256345301 0.00011359183884116746 0 0 0 5.9958514434536044e-05 +7204 -0.00025660789522303595 7.889916142044623e-05 0 0 0 -4.262186752514357e-05 +8790 0.0004258694610945049 -0.0023599495759381766 0 0 0 0.00034331971685995266 +7334 4.920144420868978e-06 -3.8224763476912786e-05 0 0 0 -5.088022504399781e-05 +7335 -0.00011542326715886919 8.896238096994964e-05 0 0 0 -3.4209493842985315e-05 +7709 -6.612613866358716e-05 5.5719696854163566e-05 0 0 0 -4.318897766442305e-05 +3485 -4.8306024414264137e-05 5.358748598053112e-05 0 0 0 0.0004267351255612087 +7370 0.00043060323530631745 -0.00034140966955237365 0 0 0 3.631077413899992e-05 +7391 -8.393267629001572e-05 -5.277946425599334e-05 0 0 0 -2.717292563702702e-05 +7392 0.00023811996093158426 -0.00017921987810129694 0 0 0 -3.365559661104122e-05 +9988 -9.753244604647989e-05 -0.00020014404081412148 0 0 0 -0.0003535262983074022 +7464 -0.00017097614998442867 9.978226810258125e-05 0 0 0 -1.5582317469087583e-05 +8737 -0.0001774106016146059 0.00011486841520672709 0 0 0 4.407075135635843e-05 +7491 6.25341484092717e-06 0.001095468120026343 0 0 0 0.00026803391914512984 +7494 -8.79836716816156e-06 6.755341446212904e-05 0 0 0 8.579640106761599e-06 +7498 -0.0002512776933258873 8.735548757065981e-05 0 0 0 -3.846694736121435e-06 +9176 -2.8891505680568046e-06 -5.284723138666547e-05 0 0 0 9.803049827508082e-05 +5316 0.0005606416112735285 -0.00038037294575508023 0 0 0 -3.7562021608071164e-05 +4815 -0.0001670593478666758 0.00010197980049750122 0 0 0 -2.018435533152054e-05 +4139 0.0005652739309371784 -0.0004061043097075361 0 0 0 -9.293807930978779e-07 +4023 0.0005264948107214975 -0.00038908293607474497 0 0 0 -6.243285052467344e-06 +7819 0.0005985926974392196 -0.0003974296109779101 0 0 0 -2.2460738924305375e-05 +2008 -2.674934367717382e-05 -0.00010222657008510578 0 0 0 4.998271291956819e-05 +7095 -0.0002273951628605629 4.858681139489455e-05 0 0 0 3.152737956690016e-05 +1199 0.0005208374317742135 -0.00040340529484151846 0 0 0 2.184822529640697e-05 +4421 -2.8239211323124945e-05 -1.0945124341163694e-05 0 0 0 -1.0504944958822554e-05 +7492 -0.00017470124706279406 0.00012287616611077033 0 0 0 -2.589737946915606e-05 +2982 6.297683784157811e-05 -0.0005125552206765218 0 0 0 -2.7451394555656767e-05 +3239 0.0005933460198101253 -0.0003983621125206307 0 0 0 -2.0307637620947676e-05 +5962 -0.0002518019275335853 5.339168881919525e-05 0 0 0 -6.284968620581231e-05 +4603 -0.00017658450185473868 0.0001149839510239045 0 0 0 4.9000931259145704e-05 +4871 -0.0002910867520191063 4.23488778923621e-05 0 0 0 -4.704001568602114e-05 +3660 0.00011317137908460535 -0.000534953000525269 0 0 0 -6.5373424671272846e-06 +5378 6.990284433029749e-05 -2.4695237860977713e-05 0 0 0 1.920587756950927e-05 +4400 3.844722436309006e-05 -9.21253952741303e-05 0 0 0 6.458750273826936e-06 +6 5.467485274232361e-05 0.0002582545230556759 0 0 0 -9.498447349558096e-06 +30 -0.0007186283048239549 4.5043811808320974e-05 0 0 0 2.2925320149157827e-05 +6755 -0.0008339198374255305 0.0002583908823061966 0 0 0 -0.00012609247110889935 +176 -0.0005937539630008826 0.00012805094695046376 0 0 0 3.1488975724355134e-05 +354 -0.00013432503973659143 -0.0004349040563474637 0 0 0 1.808277366431559e-05 +399 7.5598380013716765e-06 -7.348249360911815e-05 0 0 0 -6.623870591943577e-05 +7862 -0.000850280941182923 0.00011580222341819145 0 0 0 -6.858176102356617e-05 +445 -0.0008733891993756484 0.0001817853802097188 0 0 0 1.5592388236577824e-05 +541 -0.0008276539975879146 0.00020682526818809575 0 0 0 3.804183892041052e-06 +548 -0.0008704702236505305 0.0001514494209962133 0 0 0 5.5668648554007865e-05 +3827 -8.7889768843211e-05 -0.00031651227828434096 0 0 0 3.35324876599947e-05 +578 1.2100544774755207e-05 -8.183194730444201e-05 0 0 0 0.00010830106873798955 +643 -0.0004457176533793553 0.00019758342782034898 0 0 0 8.624179098300154e-05 +701 7.921030695104746e-05 -0.00011987064895520953 0 0 0 -2.8981296392228678e-05 +4905 -0.0006031529706013812 0.00018133005999835833 0 0 0 9.151969600166799e-05 +855 -4.475556234388293e-05 -0.00039725141912621024 0 0 0 1.4896063195007085e-05 +881 -0.000621038023997182 6.698542736819617e-05 0 0 0 -7.177051353392288e-06 +902 -0.0008882548765029763 0.000193862260687159 0 0 0 2.1306904290011493e-05 +970 -0.0002442575907687967 9.617026249605954e-05 0 0 0 2.3881725618349427e-05 +1026 -0.0004160743765605213 0.00017198811126497042 0 0 0 4.740798937865289e-05 +1153 -0.000344104201698057 0.0001370245762377751 0 0 0 8.536330706483665e-05 +1174 -0.0005059453285008028 4.183422240099608e-05 0 0 0 4.315746943120896e-05 +1307 -0.00015054910071265857 -0.00012898770057538053 0 0 0 0.0002672086189225835 +1314 -0.00028736608447758926 0.00012084318084865561 0 0 0 5.453910648430983e-05 +5631 -0.0001127251306445106 -0.00022586235116666176 0 0 0 6.835124781660773e-05 +1351 -0.0007892427399811518 0.00016717595038814485 0 0 0 3.274992780059642e-05 +4477 -0.00077980939441576 9.370123529086663e-05 0 0 0 -7.153864023082805e-05 +1420 -0.0009343852012571536 0.0002348505349160643 0 0 0 2.983210286046121e-05 +1424 -0.000519975411340111 0.00018180094412018107 0 0 0 2.755049494312417e-05 +1521 -2.2183147652814763e-05 0.0001281670627188854 0 0 0 7.714499662196553e-05 +1544 -0.0009597783335124003 0.00013107065769323614 0 0 0 5.943681819775837e-05 +1547 -0.0006844972213905044 7.23200601739166e-05 0 0 0 3.363008641341923e-05 +1601 -0.0008300699143050035 0.0002059627084962398 0 0 0 -2.721339049965433e-05 +1609 2.00306262888228e-05 -0.00016904462069654245 0 0 0 -7.014251930398786e-06 +1719 -0.0003505395310112787 6.169105368226723e-05 0 0 0 3.94382504580395e-05 +1836 -0.0007386981168552843 0.00011102292503344961 0 0 0 1.9336671006289292e-05 +1856 -9.136702004533205e-05 -8.396753596309669e-05 0 0 0 0.00025195553521175984 +1944 -6.003997311833464e-05 5.462417771051335e-05 0 0 0 8.947408960299934e-05 +1322 -0.00013866580894021717 -0.00011103883447651881 0 0 0 1.2067106890091994e-05 +2044 -0.0005780001779187307 1.673429163594542e-05 0 0 0 5.778204341978464e-05 +2158 -0.00014339422873171123 -0.0003836587555250658 0 0 0 -1.1106891033815304e-05 +4167 2.5784176045421126e-05 -0.000206040470654296 0 0 0 -3.454731930367714e-05 +2076 -0.0007988660775366965 0.00013500115020506032 0 0 0 1.9357498758061623e-05 +6023 -0.000743935257707814 0.00014311634155174768 0 0 0 3.0118535086044943e-05 +2417 -0.0007631001021852755 0.00031325506635341345 0 0 0 -5.428162169066927e-05 +2421 -0.0007502326381709839 0.00012118662626155199 0 0 0 0.00016356370208251992 +2431 -0.00013106434392099877 6.322675617616119e-05 0 0 0 3.1521479289316526e-05 +2440 -0.0006828234945603232 2.0406728209650435e-05 0 0 0 -5.959713412310057e-08 +2530 -0.0007340049625289757 8.96151554298095e-05 0 0 0 -2.6993496600200646e-05 +2548 -1.7683036520627058e-05 9.847902499410272e-05 0 0 0 9.143750474458861e-05 +2582 -0.0001906366502226553 1.3008786833185132e-06 0 0 0 5.975165148139664e-06 +2655 -0.0005641440509932331 0.0003688644513776935 0 0 0 0.0001588569953120356 +2657 -0.0009477054757570616 0.00022534973376832566 0 0 0 3.940717608676565e-05 +2688 -0.0005282876394150492 0.00014733748324507497 0 0 0 0.000531858014969106 +2699 -0.00013918390936733802 -3.2773592944661765e-06 0 0 0 6.25429738911835e-05 +2704 -2.6161908110424588e-05 6.922586186734145e-05 0 0 0 -2.0260728084653537e-05 +2751 -0.0006681962104265654 0.00021369380539051422 0 0 0 6.733913959650377e-06 +2754 0.00012839019824334368 -5.3241714690543326e-05 0 0 0 -1.21185739846461e-06 +2776 4.853264344980491e-05 -0.00013751701544099284 0 0 0 7.862710141814507e-05 +2830 4.955035534612411e-06 -0.00016043685885226567 0 0 0 -7.656577904745407e-05 +2909 -0.0008502083827510639 0.00019577845228944434 0 0 0 1.3978738114997446e-05 +2940 -9.951797598317668e-05 -0.00010708689491678385 0 0 0 4.962361274307959e-05 +2963 -0.0008915868904428424 0.0002446889575687921 0 0 0 4.086774078091332e-05 +2985 -6.988240559158542e-05 0.00023773985539880961 0 0 0 8.039042086490885e-05 +3019 -6.98110640105635e-05 -7.835059872562045e-05 0 0 0 6.066930178392825e-05 +3591 8.82796048245473e-05 -0.00019021344395452075 0 0 0 6.390262358227159e-05 +8739 -0.00010766695450827375 -0.00022713251215662406 0 0 0 -6.155634756182426e-06 +3145 -0.0002907629517091594 4.830112609279796e-05 0 0 0 2.1585025493149906e-05 +3147 -6.670575170117078e-05 -4.62596052647856e-05 0 0 0 -9.912574828733864e-06 +3224 -4.341614814596711e-05 -0.00015230495871371757 0 0 0 -0.0003096962364757056 +3264 -0.0008635946776750901 0.00013366359950686696 0 0 0 -2.9391163144176147e-05 +3340 -0.0008803861628727777 0.0002526688014101193 0 0 0 -0.000165842320239369 +3469 -0.0009671872838269492 0.00014820505785526975 0 0 0 0.00015394442448705327 +9823 8.497230996876383e-05 -0.00018609242402711939 0 0 0 -9.909607743382426e-05 +8543 -0.00046246240992174777 9.156704948268656e-05 0 0 0 0.00010021251807070428 +6005 -0.0001664101279909627 -0.0001358211105738923 0 0 0 -0.0004606069942572798 +3560 -0.0003253456727541669 -6.450644223665132e-05 0 0 0 7.583571792668066e-05 +3935 -0.0002620519777685768 -0.00018094810729343477 0 0 0 7.628739320781549e-05 +8361 -0.000644619654969481 0.0001320145061447866 0 0 0 -3.4728069722457825e-05 +4035 -0.0007780981678802925 0.00013536595346745142 0 0 0 4.493732432829938e-05 +4053 -0.00041800769733950176 -0.0001414497587333968 0 0 0 1.5063054175599382e-05 +4127 -0.0002097316292018677 5.734857247189072e-05 0 0 0 3.9638577884671846e-05 +4156 -7.199588046755263e-05 -1.2434405703531879e-05 0 0 0 9.102146382711782e-05 +9917 -0.00026687584161801906 2.978576647434736e-05 0 0 0 -5.7445731172763706e-06 +4673 -3.273984549538616e-05 -0.0001682120179940704 0 0 0 7.93555472988262e-06 +4195 -0.0007578965224444974 0.00014302131104755301 0 0 0 1.900978368077122e-05 +5184 -0.0008354586364569044 0.00025026385903821087 0 0 0 -0.00010545910619693839 +4203 -0.0007337065829636542 -2.7034072097038018e-05 0 0 0 -1.310967267585153e-05 +4221 0.00019151100727001673 -5.3063129365390995e-05 0 0 0 2.9146839786876264e-05 +4225 -0.0008567230543542249 0.00018618543167605583 0 0 0 3.0361599500770433e-05 +7032 -0.00028445526661781563 -0.00010438788669696012 0 0 0 -3.8684879001841865e-05 +4260 -0.0009161803674929853 0.00023194630287942363 0 0 0 -4.354040661666054e-05 +633 -0.00015078108543374757 -0.0002782697308811896 0 0 0 2.126737255531477e-05 +4346 -0.0005335443565337535 2.4168920450408424e-05 0 0 0 6.13839512710429e-05 +4354 -0.00016999270451852698 -0.00012006087319783155 0 0 0 0.00025995510182026953 +4356 -0.0006645104709697166 0.00022275052950395026 0 0 0 -7.018282068404471e-06 +4358 -0.0002472705883861652 3.160769209583629e-05 0 0 0 4.185825822463769e-05 +7511 -0.0007018345955960836 6.771580658812502e-05 0 0 0 -0.00021672627945186655 +4443 -0.0006429725276496242 0.0001665798187750463 0 0 0 -6.315131721910304e-05 +4459 1.4108163538276088e-06 0.00021963562866273296 0 0 0 6.888786401257312e-05 +9863 -3.433134111767506e-05 3.315093471494286e-05 0 0 0 6.111948278206742e-05 +4524 -0.0009703796414868046 0.00018083799974371253 0 0 0 0.00024078623651395127 +4547 -0.0009315053608425548 0.0002103603106668909 0 0 0 -5.9564536105412824e-05 +4599 -0.0005675043683586284 4.514399425455689e-05 0 0 0 -7.398229526659408e-06 +4613 -9.173148609460274e-05 -1.20054142367234e-05 0 0 0 3.997801361232024e-05 +4652 7.238201529647515e-05 -0.00010028993536976724 0 0 0 -0.0003168464863067221 +4686 -0.0006538098836327427 0.00019017001501066253 0 0 0 -8.364457785907902e-05 +4766 -0.0005524821123744808 0.00017042200872839888 0 0 0 0.00038857914348445203 +4778 -0.0006089793709162449 0.00010484739548515463 0 0 0 -1.3181438595668444e-05 +4791 -0.0001121518721786547 -0.00019968859416416676 0 0 0 -3.057734527524317e-05 +4807 -0.0008208156963436705 0.00021362974085345355 0 0 0 8.781871462291337e-06 +4842 -0.0007977447684338586 0.00018616934254175126 0 0 0 -2.4720637037025768e-05 +4907 -0.00037834655100271784 6.748904955805589e-05 0 0 0 3.225458193594022e-05 +4943 -0.0003168772567382154 0.000221594130827392 0 0 0 -7.456820325294821e-05 +4954 -0.000728755652833782 8.693370651187806e-05 0 0 0 -7.88358177877754e-06 +4960 -0.00025411151122414674 -2.183271284390753e-05 0 0 0 0.00025827958001612257 +4985 -0.0003849690650819263 -0.00010191671231361967 0 0 0 0.0003763500013521165 +5008 2.05621334084512e-05 -0.00015698846883775076 0 0 0 -3.336066408147646e-05 +5031 -0.0009462198831920654 0.0001519441429817439 0 0 0 0.0001422011573332903 +5055 -0.00010727260395131397 0.0002300464802066941 0 0 0 -5.723352830492262e-05 +5084 -0.0003760379319168026 6.31612535525966e-05 0 0 0 4.247054260916207e-05 +5085 -0.0008150902029798113 0.0001519174794742182 0 0 0 0.00013825279755169236 +5182 -0.0006194584371206818 0.0002045121642784934 0 0 0 -3.954866885694808e-05 +5186 -8.857267135711444e-05 -0.0003137553557264518 0 0 0 3.999383591051915e-05 +9923 -0.00010795064683776291 0.0001291426733632572 0 0 0 -0.00013219746214905055 +5248 -0.0005247759037404298 0.00023306634790905487 0 0 0 0.00046083087144133686 +5252 -0.0001624400700542464 -0.00038664203547244023 0 0 0 1.2591292060381853e-06 +5253 -7.123396115714231e-05 0.00014561027200923413 0 0 0 2.748016577882628e-05 +5399 0.0003530787437530695 -9.401109215708451e-06 0 0 0 0.0005453718102267952 +5418 -2.695493530696317e-05 0.00021954150646148502 0 0 0 7.793880351374436e-05 +5491 -0.0007168407554660818 0.00013909899584576242 0 0 0 -6.821414240240295e-05 +5669 -0.0004494677202806577 -0.00014109544777730023 0 0 0 0.00040021224262644053 +5725 -0.0005526769294172647 0.00019684239087755314 0 0 0 -0.00035707920100947366 +5748 0.0008759390482647681 -0.0006314118666372809 0 0 0 -0.0004289900686417864 +5789 -0.00023855361103984125 -0.00022796365018057187 0 0 0 -5.756960532092228e-05 +5907 -0.0003021162817348212 3.944424641107937e-05 0 0 0 3.9275496370523784e-05 +5964 -0.0002984208011168716 0.00012395987314274562 0 0 0 0.0002365669802811637 +5992 -5.67168506156877e-05 -2.2438668024629785e-05 0 0 0 -1.9877085708543987e-05 +6031 -0.0003317148759932181 0.00011340841773223602 0 0 0 7.52987443119383e-05 +8673 -0.0008200684014865607 0.00015470840547263356 0 0 0 -3.784464162483518e-05 +6131 -0.0005449167222269283 0.00022779821880962933 0 0 0 8.874353758073759e-05 +2531 -0.0005620005432638797 7.613118310462923e-05 0 0 0 -0.00010597355304501737 +6183 0.00013311326880534595 -8.445199036960716e-05 0 0 0 5.4331365583904445e-06 +9092 -0.000739639551853881 0.00011349139716736628 0 0 0 -9.702911142114192e-05 +6354 -0.0005417363933007237 0.00019169427037671221 0 0 0 3.431255615778479e-05 +6508 0.00017093789366946104 -1.596510943352029e-05 0 0 0 -7.294420269583326e-05 +6683 -6.108457977989913e-05 5.1361988204086145e-05 0 0 0 2.601561799451136e-05 +9797 9.926855785535483e-05 0.000760654474695202 0 0 0 -0.00025491021526951956 +6829 -5.2107425746867205e-05 0.0001869462987269345 0 0 0 0.00020683054250626926 +6901 -0.0009389560573329205 0.0003042385298074285 0 0 0 0.0002192269558352982 +5430 -0.0002841220364577709 -0.000147584180582574 0 0 0 -2.8412477462456482e-05 +6994 -0.0006669830224119703 0.0001459995708401818 0 0 0 6.971606795844891e-05 +7076 -0.000412385895626007 0.00020285514644826662 0 0 0 0.0004054370093128216 +7077 -0.00016870113964241078 0.00010292214558051978 0 0 0 7.91362743893974e-05 +7090 -0.0002491386182055549 0.00021768681177936067 0 0 0 3.1981971032786e-05 +7126 -0.00013512493094564458 -0.00020374790997848953 0 0 0 -1.233374070780008e-05 +7301 -0.0009091629727944483 0.00024640554326155276 0 0 0 -3.9312180432570115e-05 +7344 -0.0007179918497654496 0.00012972147539202467 0 0 0 3.099100111358215e-05 +7377 -0.00055649278994826 0.0001862940663394823 0 0 0 -5.1066800300461455e-05 +7455 9.003812080296917e-05 -0.00010534378793761798 0 0 0 0.00013185849796579148 +7508 6.879649090323555e-05 -0.0001093473782936276 0 0 0 -5.998479417687767e-05 +7591 -0.0005632060064099587 7.28277002623477e-05 0 0 0 7.013461864796474e-06 +7595 0.00011147051579391434 -6.758541673857709e-05 0 0 0 -0.00015340070601815357 +7739 -0.0003048049432237968 0.00010815111353953357 0 0 0 -1.9164280712998526e-05 +7778 2.1186660287939037e-05 -0.00016146275463423818 0 0 0 -4.6789018053470945e-05 +7780 -0.0008331361887289264 0.0002067358724448881 0 0 0 -7.343751087617201e-06 +7881 -0.0008391547130814691 0.00018046503398408387 0 0 0 0.00010171390816952345 +7886 -3.732155402145e-05 0.00011049137858743165 0 0 0 0.00011481649825529471 +689 -0.0008628698283619355 0.00023115577741835246 0 0 0 1.8925178006938504e-05 +8113 -0.0006773910754477892 -6.307728014242222e-05 0 0 0 -0.00012784477686942706 +1176 -7.810545715887625e-05 -0.0002827371890121212 0 0 0 3.563849715586594e-05 +8173 -0.0009504774404993949 0.0002306720219785261 0 0 0 0.0001921807314249577 +8210 0.00025183313845299226 -0.00015536661857665815 0 0 0 0.000308766358254479 +8238 -0.0009571066655189092 -5.402797983404539e-05 0 0 0 -0.000639961233516401 +8332 -0.0003678971593616228 -1.0049406923752354e-05 0 0 0 4.742295438525162e-05 +8373 -0.0005975945408728625 0.00021886096784895105 0 0 0 -0.00019167149124910243 +8440 6.328708807481779e-06 0.00020268615446889665 0 0 0 0.00013895362178966718 +8518 -0.0008410253241204227 0.00025742038868238555 0 0 0 -4.230618071679137e-05 +8577 -0.00046822188626069623 5.2928574795587706e-05 0 0 0 0.0008550236288600751 +8598 -0.0002792270814578914 -8.19339144275415e-05 0 0 0 -2.487955358275734e-05 +8604 -0.0008654395281530002 0.00026047594438340164 0 0 0 0.00024368988576113914 +2047 -0.000805198334340358 0.00015018915540857694 0 0 0 3.36100756652557e-05 +8697 -0.0009021793886168464 0.0003200706874938398 0 0 0 0.0002418756201250853 +8717 -0.00034321658400500877 0.00021715506743204738 0 0 0 4.9464630820185844e-06 +8817 -0.0005279455266384625 5.529809871225344e-05 0 0 0 3.727844930550977e-05 +8822 -0.0004245029109162146 0.0001462733357459009 0 0 0 4.145461419951684e-05 +8909 -3.922075139167995e-05 1.144244528775302e-05 0 0 0 -3.759467207691139e-05 +8956 -0.00011878931060744531 7.699664170050528e-05 0 0 0 0.0001668053167760888 +9083 6.316646828204584e-05 0.00023962705777234815 0 0 0 0.0003982128959470207 +9111 -0.0009193319541378384 0.00024169407328717037 0 0 0 4.88891493516628e-05 +9122 -0.0009539418607375183 0.00022929474796567624 0 0 0 0.00023662328906006979 +9145 9.032779799433705e-05 0.00014268332042851142 0 0 0 -5.2778958539392135e-05 +9153 5.639020270016656e-05 2.3860140294244607e-05 0 0 0 0.0002922448468875859 +8997 -6.567134963277919e-05 -0.0002448434942043926 0 0 0 -6.250270321674598e-05 +9192 -0.00010859755688343813 -0.0002733017755879771 0 0 0 0.0001111206318475558 +9206 -0.0010025817129214565 -0.00016205497406767902 0 0 0 -0.0016537113138798641 +9252 -1.9400916149643416e-05 5.6390358458343067e-05 0 0 0 0.0001593894916866585 +9304 -0.0005405695737415232 4.3406577443054274e-05 0 0 0 -8.920138080758566e-05 +4474 -0.00016226778790462485 -8.64080594088956e-05 0 0 0 0.0007501161137135971 +9387 -1.1752936537333023e-05 0.00019832316829953444 0 0 0 0.00013145367664544312 +9404 -9.703453493300985e-05 -0.0001174710234222858 0 0 0 0.00013682732079943238 +9430 -0.00034879214479315295 0.0003749083086408525 0 0 0 -0.0002555633385076209 +9436 -0.0005389165164142096 4.107051834098825e-05 0 0 0 5.078820771765599e-05 +9444 -7.645518836303788e-05 -0.00035304072185953064 0 0 0 3.3878824483759086e-06 +9534 -0.0001799250479135356 0.00021412191249981142 0 0 0 0.0003997568431163572 +9590 -0.00014968463178176473 0.00020073290287188228 0 0 0 6.176185794971147e-05 +9605 -0.0003407579214366459 6.369648309659767e-05 0 0 0 -6.335586531804507e-06 +2938 -0.0008103313270647121 0.00011657082818240036 0 0 0 -5.064609321605634e-05 +9621 -9.583609944929827e-05 0.00013767476796667784 0 0 0 3.8188935949957695e-05 +9631 -3.7405773028446354e-05 9.08173204582612e-05 0 0 0 0.00019304773833624843 +2159 -0.00010557584754973331 -0.00016297534108354085 0 0 0 3.13541180929457e-05 +9732 -0.0005393231705002677 -1.0813898517697592e-05 0 0 0 9.461927198702452e-05 +9763 -0.00022902849399116464 -0.0027271152569216415 0 0 0 -0.001669890635166723 +9771 -0.0006968088668459151 0.0002034443667491623 0 0 0 0.0001980948251834172 +6804 -0.00011618937544054848 -0.0003365238766269575 0 0 0 3.3025404167163788e-06 +4079 -0.0008743602382986867 0.00025094211795766125 0 0 0 9.660966879886354e-05 +9293 -0.0008207370192035049 0.00014852896785663217 0 0 0 9.253977662132685e-05 +144 -0.0005798639007199818 0.0001933105127687132 0 0 0 -5.854994766937176e-06 +4779 -3.973723845478746e-05 -0.00036230188687198843 0 0 0 -2.2148299735921798e-05 +118 -0.0002530355857324165 -0.00011806786499600171 0 0 0 3.4819107644691975e-05 +3932 -0.0008457282548230986 0.00023870512906669226 0 0 0 0.00015662388695449642 +684 -0.0007603140596371627 0.00011479567698713654 0 0 0 7.846200918634343e-06 +5330 -0.00027540780791367235 -0.0001250428746045913 0 0 0 5.626054498409934e-05 +3495 -0.00029741173850980596 -0.0001015970855802676 0 0 0 5.21978510198816e-05 +1808 -0.0008182734742280222 0.0002494285515798222 0 0 0 1.5599252195324717e-05 +2639 -6.046500039640553e-05 -0.00035541633346109587 0 0 0 1.201883007055512e-05 +5132 -0.0002710318604934342 -0.0001981976533536327 0 0 0 4.0141179393083654e-05 +7233 -0.0006630510546866435 0.00037507552181150085 0 0 0 -9.749737916927016e-06 +95 -0.0005158070681253506 0.00046353976623597946 0 0 0 -7.593576417815396e-07 +237 -0.0004411001543674828 0.0002656604442433909 0 0 0 -1.1601363443073415e-05 +507 -0.00047719408397062756 0.0003491689226354335 0 0 0 -1.0477755751873827e-05 +1639 -0.0005879105679141533 0.00048770696754946613 0 0 0 -4.696873018559699e-06 +3923 -0.0006901740887537096 0.00028383370687755117 0 0 0 1.5226891923680217e-05 +6319 -0.0004841017016506005 0.00037838605017143225 0 0 0 -8.545273522566008e-06 +4175 -0.0006263059828414735 0.000305416991664426 0 0 0 1.1554821253671242e-05 +7358 -0.0006103739906510468 0.000501400187350527 0 0 0 -1.9801262173039913e-05 +2804 -0.000538753564951997 0.0005012540363319807 0 0 0 -1.0806820705097528e-05 +9931 -0.0006738167647111306 0.0003912276668271985 0 0 0 -5.371901502668734e-05 +5684 -0.0006926146641875634 0.00039176044242669674 0 0 0 -2.3551670122816187e-05 +831 -0.00048273416593118005 0.0004996752449575412 0 0 0 -1.7679903611999386e-07 +930 -0.0005072266273577014 0.00048364430627380854 0 0 0 -6.53755720923087e-06 +5015 -0.00039517711396668817 0.00015849586231690628 0 0 0 4.542264488828902e-05 +972 -0.0006633697073745243 0.0003819499832923666 0 0 0 5.979095201841797e-06 +994 -0.00045372932987428446 0.0002912942203090107 0 0 0 1.1039493466303297e-05 +1023 -0.0005296365992484748 0.0004927906769857371 0 0 0 -7.064470140091316e-06 +1041 -0.0006107633025294616 0.00047875311307634375 0 0 0 -1.1944345597854426e-05 +1074 -0.0004479964588842715 0.0002194588443446167 0 0 0 -1.6457576474292095e-05 +1033 -0.0004733872822280243 0.00022463905313194202 0 0 0 2.577879793008001e-05 +1140 -0.0005689877224834908 0.00048392560087142126 0 0 0 -2.0689748737617098e-05 +330 -0.0005031556470528254 0.00033787116961217045 0 0 0 2.8962933955084213e-06 +1326 -0.0006236157700097887 0.0004738539791943155 0 0 0 -8.542798294055152e-06 +3919 -0.0005073623519105396 0.00036926736274320077 0 0 0 -1.6369183852374147e-05 +9569 -0.002173739780656489 0.0007721688931298326 0 0 0 0.0011745780928934593 +1516 -0.0004985848719833445 0.0004924678986003896 0 0 0 -1.2009134120482897e-06 +778 -0.0005115952549336037 0.0005013637974724356 0 0 0 1.8693854772861116e-06 +1578 -0.0004914085660230526 0.00041328561481881126 0 0 0 2.370069561142906e-06 +1580 -0.0004645664289224609 0.00035346155916297456 0 0 0 1.9650251255302994e-05 +1738 -0.0004999261566927681 0.0004931232924377817 0 0 0 2.937215280766845e-07 +4731 -0.00047112467394019674 0.0003564708475100885 0 0 0 -1.895432330354348e-07 +906 -0.0005672455849517807 0.00031211240652677077 0 0 0 2.6154723037824617e-05 +1819 -0.000508655612797312 0.00042846436420575825 0 0 0 -1.2885049397165856e-05 +1882 -0.0006806973868253092 0.0003251193473755333 0 0 0 2.62746771059073e-05 +4290 -0.0004920575083875013 0.00042534382848592847 0 0 0 -1.7335041896900648e-05 +1906 -0.0005461276986264031 0.0004972079853277237 0 0 0 -8.2243237798644e-06 +1948 -0.0004979554777233633 0.0004824307399086556 0 0 0 -3.6995915063992825e-06 +7547 -0.0005014679566107072 0.00036781088329969667 0 0 0 -3.448181259021933e-06 +8447 -0.0005189259885518535 0.0003900734899093859 0 0 0 -1.435327710629741e-06 +5902 -0.0006043531398600366 0.0004943751305933707 0 0 0 -8.232055702761197e-07 +2146 -0.00056816399022206 0.000491484159019125 0 0 0 7.768407957274368e-07 +2168 -0.0005048197788324955 0.0004421783194737384 0 0 0 -4.092419142024026e-06 +9657 -0.0008104038124063934 0.00033145183937782047 0 0 0 0.00012423054884181227 +2204 -0.0005083529189460089 0.0005051687540387755 0 0 0 4.178927812389917e-06 +2236 -0.0005007350675774128 0.0004362981952775678 0 0 0 -1.704919544333464e-05 +2251 -0.0005054619714205275 0.000496072605958715 0 0 0 -5.147788884302983e-06 +2375 -0.0007283507852928047 0.00033184367048013806 0 0 0 -1.3465935908982135e-05 +1909 -0.00048348147570924935 0.0003781232316344778 0 0 0 -8.882567153747476e-06 +2425 -0.0005203013687200831 0.0005035535613811996 0 0 0 -3.420694564804819e-06 +2436 -0.0007276554021832177 0.0004252324907565103 0 0 0 -3.5361285469919784e-06 +8411 -0.000601905049055216 0.00038816462069797477 0 0 0 -2.4877307994802807e-05 +2537 -0.0005277124414457016 0.0004670659901423935 0 0 0 -1.315533570744312e-05 +4117 -0.0004933240123355937 0.0002414757658669211 0 0 0 1.1323522237163268e-05 +1039 -0.0005676499561105925 0.00033727542084137455 0 0 0 -4.142229519886882e-06 +3937 -0.0006922174002376447 0.0004517734695846407 0 0 0 1.0181790013576004e-05 +2435 -0.0005324861349900442 0.0004470578262502861 0 0 0 6.968015860289546e-07 +2755 -0.0004903126510821798 0.000503904023502849 0 0 0 -4.842936530422925e-06 +2781 -0.0005140584417313728 0.00047677482441495206 0 0 0 -1.928438356931007e-06 +8806 -0.0004446212277708084 0.0002751017114083316 0 0 0 2.7653859792754785e-05 +2735 -0.0004947244579994259 0.00028619344997784135 0 0 0 -1.1682337057178062e-05 +4263 -0.0005431233738130986 0.0004554705654197767 0 0 0 2.1578568459815263e-06 +2897 -0.0007830738784914671 0.00028479941514409404 0 0 0 -4.501906806664129e-05 +2927 -0.0005200852214897074 0.0004368191041245539 0 0 0 -6.7068246959397045e-06 +4946 -0.0005223183704174746 0.0004419567453478813 0 0 0 4.3901156833466765e-05 +2948 -0.0006986285239712377 0.0003524766291093175 0 0 0 8.249676218727501e-06 +3001 -0.0004543936806625517 0.00021050278024333495 0 0 0 6.7583936314076e-05 +1029 -0.0006111537380433674 0.0003499356525760016 0 0 0 -1.1402687680681213e-06 +3130 -0.000369475139400347 0.00020486709164664168 0 0 0 -0.00010061960463135568 +9151 -0.0005133435911637772 0.0005033840575476364 0 0 0 2.3722299145986805e-05 +3192 -0.0008076510092218972 0.0002702446328752402 0 0 0 6.208441269575765e-05 +1625 -0.0005724000755883259 0.000499228165172866 0 0 0 2.646763614393622e-06 +545 -0.000617922258259611 0.000454489557923033 0 0 0 -9.344701429888857e-06 +3306 -0.000513240582481992 0.0005065886582705414 0 0 0 -1.4525401038890036e-05 +4748 -0.0006014887531306481 0.0005195076564986397 0 0 0 2.275065937945186e-06 +3435 -0.0004956604582094707 0.0004065633085189452 0 0 0 6.019453720990321e-07 +3447 -0.0005034589586387447 0.0004727641540603016 0 0 0 3.7864763338071382e-06 +5337 -0.0005949568896246842 0.0004838360325733403 0 0 0 -5.351927096925114e-07 +7986 -0.0005315016512771944 0.0004996334631520871 0 0 0 1.911621480932146e-06 +3652 -0.0005114064013535343 0.0004726689220421223 0 0 0 7.108358489602685e-06 +7001 -0.0006064776407867819 0.0003621247638811371 0 0 0 2.2881872100682455e-05 +3772 -0.00047184744047383884 0.00037312558625165814 0 0 0 4.211599202721344e-07 +3777 -0.0005206730082946846 0.00040080591079875007 0 0 0 -1.8395971511443534e-05 +3782 -0.0005105187630663338 0.00042413908199318776 0 0 0 4.494050697081865e-06 +415 -0.0006423523532404369 0.0004727628249233376 0 0 0 -5.5806962309076855e-06 +3884 -0.0005157700766827234 0.0004155992011428218 0 0 0 -1.99242001583505e-05 +5416 -0.0005970070984655031 0.00048550899614353956 0 0 0 -2.4332571730394924e-05 +5635 -0.0005035321763462904 0.0003281472038368694 0 0 0 4.0740799900006766e-05 +3996 -0.0005001410975851494 0.00047658721036229995 0 0 0 -5.5719897758968826e-06 +4012 -0.0004908877661893092 0.000498559753610457 0 0 0 1.6309172233880146e-06 +4921 -0.000652587540819 0.0004695104426532944 0 0 0 -2.4472515807912126e-06 +4071 -0.00047192325933794344 0.0003738053425869841 0 0 0 -3.944492518888854e-05 +958 -0.0007736397555338821 0.00026245975054615744 0 0 0 1.1080342918007044e-05 +9782 -0.0017272590712471858 -0.0002593318019750174 0 0 0 -0.0015934145835269505 +4264 -0.0004382959227257983 0.0001787168682497045 0 0 0 -8.580142665144907e-05 +5294 -0.0005462020498040978 0.0004231087085102211 0 0 0 -2.321354813990698e-05 +4357 -0.0004953997561477193 0.0005041957922950476 0 0 0 2.735369635379766e-06 +4367 -0.0003216791125598235 0.0001789906033804263 0 0 0 -0.00010606090322069534 +5395 -0.0005927412799334433 0.00045483008189945687 0 0 0 2.6453996771542613e-05 +9667 -0.0004752844494686851 0.0005129236785935175 0 0 0 1.1603148010726844e-05 +7695 -0.0004333783360633263 0.0002506675558208529 0 0 0 4.4408576279485393e-05 +2779 -0.0006017472945989141 0.00047971618322235356 0 0 0 5.729133203559202e-06 +4495 -0.00035145516713897175 0.00019210687520329947 0 0 0 -9.718353446417594e-05 +4535 -0.0004548830979247405 0.00028691057737103626 0 0 0 -2.9939125919966104e-06 +4542 -0.0008055957361115176 0.0003796468599052228 0 0 0 9.420109999377686e-05 +4553 -0.0007429709714901972 0.00043032712214474927 0 0 0 2.2770656571361844e-05 +4612 -0.0004867571305429392 0.00040453581040700553 0 0 0 -1.9482116545346332e-05 +8403 -0.0005603092120274409 0.000502650049751984 0 0 0 -3.558741039188394e-05 +9261 -0.0005608382869972548 0.00048165301042848454 0 0 0 -2.262306832538122e-05 +4702 -0.0005254034709696239 0.0005004689526820825 0 0 0 -1.8554322625556915e-05 +4739 -0.0005065468055299723 0.0005029431676767346 0 0 0 -9.08377731313748e-06 +6947 -0.0003938546458138136 9.125602338878919e-05 0 0 0 0.001789115301022202 +4912 -0.0004894298808526186 0.00046391392709713153 0 0 0 1.3266842133043902e-05 +9584 -0.0004910818941885192 0.0004271821701441882 0 0 0 -1.0489170088477145e-06 +4976 -0.0007895161518001481 0.00038046699033520467 0 0 0 -3.0349669652910804e-05 +7142 -0.0005299318153939344 0.0002821658772466343 0 0 0 4.4664921417313805e-05 +4379 -0.0005106174639681288 0.0004086197162690653 0 0 0 -2.3206549413202133e-05 +702 -0.0005589547544168716 0.0005047342556889285 0 0 0 -1.1047513642398213e-05 +2282 -0.0004427226512184441 0.00021574275341191575 0 0 0 -4.2676734463063084e-05 +7041 -0.0018811422468636308 -0.000672953164467151 0 0 0 -0.003366995933919242 +5278 -0.0005549824430057704 0.00048163309071648974 0 0 0 -2.2414493355515657e-05 +5305 -0.0004714991615834741 0.0005141764367024508 0 0 0 -1.8298147248472238e-05 +9837 -0.0006757302203698591 0.00026432136619984403 0 0 0 -5.4071141371717526e-05 +5464 -0.00047708710702423237 0.0003656204974473544 0 0 0 -1.0039025251295524e-05 +5476 -0.000671098672572426 0.00046294607786714036 0 0 0 9.690165485541198e-06 +5508 -0.0005398080729996791 0.0005055925416559492 0 0 0 2.5390777195620383e-06 +4931 -0.000468824072637698 0.0002580051481543316 0 0 0 -1.6574848139037735e-05 +9796 -0.0005021057184270002 0.00048173112698414173 0 0 0 -6.246843994936178e-06 +5671 -0.0004805870296100649 0.0004927258500055391 0 0 0 -3.4885935752320135e-05 +7700 -0.0005159658129809926 0.0004596776598416769 0 0 0 -3.7727038183056624e-05 +5928 -0.0004949397989275524 0.0004154515659551053 0 0 0 -1.1512308850179366e-05 +5976 -0.0005017201321432106 0.0004741427987290672 0 0 0 7.559756510958939e-06 +6011 -0.0005358279500956167 0.0004553771898542511 0 0 0 -4.869765552315046e-06 +1221 -0.0004891218953438803 0.0004140361045877363 0 0 0 -5.889694507867572e-05 +6053 -0.0005427262266443413 0.00046979849229849906 0 0 0 -1.562829835001114e-05 +6109 -0.0005072507383778267 0.0005058513070440922 0 0 0 -3.848705711787411e-05 +6128 -0.0004925489029601245 0.0005007989593295972 0 0 0 -1.0207474604085167e-05 +1665 -0.0007143124320476153 0.0004136284002255849 0 0 0 1.2722796723010041e-05 +8954 -0.0004999753050306863 0.00041588477397162365 0 0 0 4.771165273381887e-06 +6221 -0.0004935587921045283 0.0005005889870268463 0 0 0 1.4581643641841477e-06 +6222 -0.0004101862485022313 0.00027849937439382956 0 0 0 1.059194979059228e-06 +6238 -0.0004763063406162305 0.00037712155588058924 0 0 0 -1.5081539387961262e-05 +6265 -0.0007276202422606223 0.0003508079451326054 0 0 0 -1.855909008307638e-05 +6415 -0.0004987793168272881 0.0004966890403360856 0 0 0 -8.304030098685275e-06 +6431 -0.0004997032568240132 0.0004670185408888763 0 0 0 1.0128128073808115e-05 +6546 -0.0005087557568122597 0.0005004714240413232 0 0 0 2.4816236382782093e-06 +6554 -0.00047222913710673824 0.0003826991816219714 0 0 0 -5.9706036292873114e-06 +4074 -0.0006815972873622717 0.0003836672561744207 0 0 0 2.8502119818132544e-05 +6632 -0.0005157831462797265 0.0004281520227506986 0 0 0 -7.3593172125361636e-06 +6663 -0.0007195555888478662 0.00042534974742434594 0 0 0 -9.750427187229468e-07 +6696 -0.0006798956776787923 0.0004571081497754618 0 0 0 -6.3782860478051e-06 +9208 -0.0004801640196425118 0.0002945125555700336 0 0 0 -6.782485557015359e-05 +3405 -0.0005135654620523447 0.0005108104898076056 0 0 0 8.357647395482226e-06 +6955 0.00016423418031738575 -3.447734867988384e-05 0 0 0 0.00013297271386318913 +7021 -0.0005021022672976631 0.0004225993148884326 0 0 0 -3.1634813291444846e-05 +3965 -0.0005444311640593478 0.0004594085231561324 0 0 0 -2.5016405467332435e-05 +7157 -0.0006091360480994644 0.00047624811131203795 0 0 0 1.280637541072519e-06 +3657 -0.0005027644210633472 0.000342476544237328 0 0 0 1.6818201667331178e-05 +7243 -0.0004981817759013412 0.0005030236378078765 0 0 0 -9.61196172065716e-06 +7268 -0.0005058603050361139 0.00047592465322322103 0 0 0 1.1553808480114556e-05 +8489 -0.0005092570629109599 0.000509613429895115 0 0 0 -2.2784402214509522e-05 +9757 -0.0004986454586599611 0.0004136671214990616 0 0 0 1.0113689215942579e-05 +6922 -0.0006607344176089378 0.0004376805578971488 0 0 0 5.0681566491936285e-05 +7553 -0.0004905540920550152 0.00045816759861525756 0 0 0 -2.3873502313429095e-05 +7617 -0.0004323868370257367 0.00017364571175652497 0 0 0 0.00011811174203412088 +2444 -0.0005225220599733295 0.0003973977132066822 0 0 0 1.013852209223034e-05 +7445 -0.0005701639744897085 0.0004064208632610229 0 0 0 6.442279799828059e-05 +9526 -0.0004930378384980752 0.0005261377045600535 0 0 0 -3.674557355882729e-05 +7740 -0.000666207841647635 0.0004550359097944732 0 0 0 -9.106492923034223e-06 +6500 -0.000522809678077523 0.0003906845876874482 0 0 0 -1.4531481619285948e-06 +525 -0.0004702021787700881 0.000351743929280463 0 0 0 -1.0505464313652024e-05 +7945 -0.00038700969096448393 0.0006997191552297886 0 0 0 -0.00030395101811959914 +7883 -0.0003299968602721152 0.0001974914891513771 0 0 0 -2.956014246072822e-05 +2096 -0.000520239346527053 0.00038030399262523263 0 0 0 9.082597501767046e-06 +7912 -0.0005151735477740671 0.0004662141945039772 0 0 0 -1.280881548135665e-05 +7981 -0.00042744455179830125 0.00028669043342190387 0 0 0 3.781436462748438e-05 +8090 -0.0005408615138091252 0.00045610533534705367 0 0 0 -1.3204578941880998e-05 +8195 -0.0003227712828643971 0.00017300861473532693 0 0 0 -0.0001262018934680296 +8266 -0.0004151400679378304 0.0002495838139787629 0 0 0 -1.7783019944934487e-05 +8269 -0.0004509900878514643 0.0002921153900910937 0 0 0 -2.4813369152094842e-05 +8281 -0.0002838385094427105 0.0002298249229273734 0 0 0 -3.465174959851744e-05 +475 -0.0005062824771693308 0.0004057169686877384 0 0 0 -1.1724934304482372e-06 +2555 -0.00046372539685722797 0.0003539616301649663 0 0 0 -3.1174750426050404e-06 +8727 -0.0004978119819705457 0.0004948310368588551 0 0 0 9.403439933079703e-06 +8749 -0.00048559279291959817 0.0003883671261532495 0 0 0 9.849158153863342e-08 +8820 -0.0005027220872829099 0.0004749722175723096 0 0 0 -9.443300397953326e-07 +8843 -0.0006410156057111666 0.00047672792040646494 0 0 0 7.52598571531619e-06 +9018 -0.00043521886809754314 0.000296914512293278 0 0 0 -1.2459976155604943e-05 +4876 -0.0005320467748127311 0.0005019365059379808 0 0 0 -1.985619381975479e-06 +9067 -0.00048485632950440925 0.0003370556113473437 0 0 0 -4.50156481307408e-05 +3359 -0.0006741515491663799 0.00044469961044095604 0 0 0 -2.341771616942396e-05 +9098 -0.0007845933874565986 0.00032791258980820203 0 0 0 3.950206158282163e-05 +9217 -0.0005223060813908029 0.0005104378817635809 0 0 0 -2.95045384342349e-06 +5555 -0.0006969263356522197 0.0004354821109154269 0 0 0 -8.034162208217257e-06 +9891 -0.0006475051234251321 0.0003810041030696898 0 0 0 -1.1610567956486767e-05 +9303 4.1060564319970395e-05 -0.0006993877514942132 0 0 0 -0.00015611944440380268 +5912 -0.0005053352793260966 0.0002252613844357262 0 0 0 -6.011939666738135e-05 +9760 -0.00044778960573644004 0.0005224617061425149 0 0 0 -1.8661215782606416e-05 +7038 -0.0005371984785813729 0.0005077987620874439 0 0 0 2.933406873823106e-05 +7 -0.0007504953595413145 8.716716367891932e-05 0 0 0 2.393996912487003e-05 +80 -0.0007589770832063419 7.167194692241326e-05 0 0 0 -5.957108041727359e-06 +228 -0.0006813438244422356 0.00010438460665825619 0 0 0 -4.513535107732398e-05 +242 -0.0005521460919952724 8.54203852932509e-05 0 0 0 -3.968207497006528e-06 +268 -0.0003167306370707825 0.00014788685640295028 0 0 0 -5.409788909209042e-06 +8473 -0.00039031686370613193 -0.0006920014036390556 0 0 0 0.0007153177077996102 +5613 -0.0008167456000446885 0.00018621916786696127 0 0 0 -3.358188501790404e-06 +4066 -0.00026130572022782056 -3.216091372181415e-05 0 0 0 4.633457995416346e-05 +378 -0.0005477691970081867 -2.958085038086526e-06 0 0 0 1.4686360024690429e-05 +405 -0.000706097673646572 0.00022622983655193966 0 0 0 3.218387639616654e-05 +422 -0.0007283039748797261 0.0001668136920348887 0 0 0 -9.269577296521818e-05 +427 -0.0005959987901858557 0.00024217714001949488 0 0 0 -1.8230870553900326e-05 +327 -0.0006026063119005133 0.0002788643266115618 0 0 0 4.973822169265337e-06 +3093 -0.0003251611124011989 1.9076459644412577e-05 0 0 0 2.9289203665806463e-05 +5455 -0.0006246630720024311 0.0002257113042068613 0 0 0 -0.00018705174987386418 +594 -0.0002228289369021561 0.00017509358512036012 0 0 0 1.1613449706572427e-05 +7524 -0.0008203122180203984 0.00017383204661984683 0 0 0 1.2094467192906948e-05 +692 -0.0006037407010162166 0.0001969105094509926 0 0 0 -6.97264831205536e-06 +707 -0.0007675723493868155 0.00013260206842735794 0 0 0 2.0916074156867226e-05 +8966 -0.0007800571946015393 0.00014413838312718106 0 0 0 -5.789540475162176e-05 +822 -0.0005923981982888453 -0.00010901032279803934 0 0 0 5.6442341408998885e-06 +2516 -0.0005886577845752796 0.00019044025220803492 0 0 0 0.0001403445806428219 +837 -0.0008649996295387554 0.00010581057984037614 0 0 0 -3.645851458881284e-05 +862 -0.00025359385965489684 0.00016479151001978212 0 0 0 9.859116726999396e-06 +901 -0.0007018803436536262 0.0002359863616919023 0 0 0 -7.169744452003799e-06 +7040 -0.000689662097199166 0.00028345456538797037 0 0 0 1.723467652789e-05 +834 -0.000407840602661443 0.00015248326869463552 0 0 0 -2.3837449157293285e-06 +971 -0.0004502487720444844 0.00010765997623954035 0 0 0 1.5467865508007528e-05 +5169 -0.0005526059295407957 0.0002629837718225624 0 0 0 7.552845454766181e-08 +5799 -0.0008766948067679831 0.00023495454808969285 0 0 0 -5.707434446878787e-05 +1091 -0.0003081790943775277 0.00021772145228968193 0 0 0 2.506240732183735e-05 +5037 -0.0006540638789918712 0.00024816098075576234 0 0 0 4.072380754936044e-05 +1120 -0.0006256789581645847 5.956116155298635e-05 0 0 0 3.7858470749701705e-06 +1224 -0.0006282741831498801 1.8036881949931704e-05 0 0 0 -6.579184780124363e-07 +1229 -0.000599839201047107 2.164049635289049e-05 0 0 0 -6.702090998051137e-07 +1293 -0.00042527914050816357 0.00021597421255614712 0 0 0 2.9058335206922158e-05 +1357 -0.0006294186039702885 0.00010437274375912275 0 0 0 -2.9829569875308244e-05 +1358 -0.0004964270475829755 8.355816373048305e-06 0 0 0 7.94085640568604e-05 +1378 -0.0003873111481339102 0.0001410827551036468 0 0 0 2.018267930746305e-06 +7364 -0.00031256659527961403 4.297326968466628e-05 0 0 0 6.82752668611225e-05 +1428 -0.0008065853998231663 0.0001732832635806523 0 0 0 2.492741416969588e-05 +1457 -0.000839665206925467 7.264182679619744e-05 0 0 0 -6.253837826040048e-05 +1472 -0.00041287342280624587 0.00018413409679355768 0 0 0 1.1772519623610131e-05 +1474 -0.0006298352277744085 2.3119264996250017e-05 0 0 0 -3.4005269580797766e-05 +1495 -0.0006279810373880165 0.00021757385477914247 0 0 0 -3.3488419150178742e-06 +1633 -0.0005947880082548845 0.00023389252072653427 0 0 0 -2.7132098335345306e-05 +1642 -0.00034587790471550257 0.00026996299868126307 0 0 0 -2.326964879910677e-06 +9104 -0.0005876837691488562 8.287576182213558e-05 0 0 0 -2.049356487756783e-05 +1744 -0.00039695749880179926 0.0002336718920688226 0 0 0 1.8798663633372746e-07 +674 -0.0008340004335575934 0.00020890540272543444 0 0 0 -1.5047039185476095e-05 +1864 -0.0008178321319253524 7.789071545736309e-05 0 0 0 -5.9375530977077275e-05 +1887 -0.0007274565349321762 3.39966555531906e-05 0 0 0 3.16862132113119e-06 +1891 -0.0006917595384071525 5.030915977377694e-05 0 0 0 -3.2375331297076924e-05 +1488 -0.000268788880322731 0.0001618092662323346 0 0 0 -1.963532404872573e-05 +2065 -0.0005667199513984722 0.0001708070229418061 0 0 0 -4.297019038820474e-05 +2073 -0.0007086751605151696 0.00016593529316368997 0 0 0 -5.787456565244512e-06 +2074 -0.0003344159720067604 0.00022425640361929276 0 0 0 -1.7740244386258358e-06 +1888 -0.0006879364837210441 0.00023327271732623598 0 0 0 -0.00011391840721501307 +2100 -0.0005972321451725619 0.00023371908028123063 0 0 0 -1.2648796763884021e-05 +9965 -0.0005925800729650789 0.0001704264514360305 0 0 0 7.694391271107252e-05 +2297 -0.00046679196017654497 2.766259620178044e-05 0 0 0 -2.26195931174988e-05 +2376 -0.0008108287582942688 0.00010092227484079595 0 0 0 -2.2718277209742257e-05 +2389 -0.0005944608018081318 0.0002552702510648773 0 0 0 -5.487713462808195e-06 +4854 -0.0006720353023905834 0.00022325015522255367 0 0 0 2.352006502236414e-05 +9701 -0.0005817953179366677 0.00011661053469593995 0 0 0 -3.792864273155954e-05 +4656 -0.0008075569027882523 0.0001710922400325545 0 0 0 2.409236400232384e-06 +2447 -0.0007615651454693617 0.00015418614030511042 0 0 0 0.00018745165500761154 +2456 -0.0002550862334490316 0.00019022671657216195 0 0 0 2.4038078620232035e-05 +9721 -0.0007971552441972345 0.00020924024323684218 0 0 0 0.00014283978594334683 +2474 -0.0004828941827755475 6.810820040709154e-05 0 0 0 -0.00012533256685761467 +2566 -0.0005699903214127099 -0.00010778635711177272 0 0 0 -7.159049878344293e-05 +2591 -0.0005779284165936808 0.00015569338235608043 0 0 0 -1.2036964311739719e-05 +8698 -0.0008673125685299298 0.00018915990851329362 0 0 0 -8.025235097002144e-05 +2782 -0.0006249904931660418 0.00010154136873511779 0 0 0 -1.1657961142925659e-05 +3385 -0.00032982521153428044 0.00020516828653488112 0 0 0 8.305146281944739e-06 +9174 -0.0008237921872397939 0.00014932191688440193 0 0 0 1.8276225299785998e-05 +2967 -0.0005482417228336763 -9.068062603399201e-05 0 0 0 -7.186944504349098e-05 +2987 -0.000761324579960403 0.00010390243346504163 0 0 0 -5.243841917078332e-08 +2996 -0.0008795474533377616 0.00014852894365163747 0 0 0 -0.00018513261792528878 +3048 -0.0007590893805863097 7.034510303862438e-05 0 0 0 -2.3079393454403288e-05 +6784 -0.00030036064199824824 0.0002309323399168952 0 0 0 -6.805457643177348e-05 +3073 -0.0007060975081892437 3.672327127366693e-05 0 0 0 -3.621395385315646e-05 +4668 -0.00023026518691779624 0.00015912273573126485 0 0 0 5.579649355019718e-05 +8592 -0.0006148635823384377 0.0002710514391454469 0 0 0 -3.99552789425734e-05 +3121 -0.0007876895328659691 4.5173782595673394e-05 0 0 0 2.3522111840822586e-05 +447 -0.000591988876895503 6.423061057919261e-05 0 0 0 -6.093975909107482e-06 +3265 -0.0007420938868469227 -5.6012052058858206e-05 0 0 0 0.0008835925713811586 +5612 -0.0004219593952271101 0.00010820717495283416 0 0 0 -0.00025117591142922676 +3291 -0.000494296472286793 0.00023154841469656947 0 0 0 -2.135110018452103e-06 +3297 -0.0005955564730827397 -3.477673377530778e-05 0 0 0 -2.612419152025252e-06 +3308 -0.00027319638925855266 0.00015785028077728818 0 0 0 -2.4688038806332667e-05 +3324 -0.0006935271747635953 7.498627479155639e-05 0 0 0 -7.169531076910531e-05 +9237 -0.0007927906912656568 0.00010012177610821167 0 0 0 -2.024861636397442e-05 +3393 -0.00074449698869092 0.00011169690595506538 0 0 0 5.059822953860907e-05 +3507 0.0010465974417825075 -0.0013063501428404872 0 0 0 -0.0015153998725838873 +3548 -0.0006098943065008449 5.377938456819463e-05 0 0 0 -1.6971773622322088e-05 +3551 -0.0005736742013092445 0.00022045403040498476 0 0 0 -3.364800446158217e-05 +3596 -0.0008765697517923247 6.880329962417786e-05 0 0 0 0.00012523491976212389 +3612 -0.0003103266625358013 0.0002100481476998948 0 0 0 3.294261814285413e-05 +3649 -0.0007083473388626184 0.0001574518691662433 0 0 0 -1.5054602744272427e-05 +7381 -0.0007258397600847841 0.0002706949560991724 0 0 0 -0.0003109844923320826 +3662 -0.0007178109619929171 0.00023745873603306432 0 0 0 6.324742812146873e-06 +3751 -0.000600044567539997 0.00023882751967081126 0 0 0 1.4541624722998439e-05 +8258 -0.0008120207169360452 0.0001693567645189805 0 0 0 -1.0689835505302568e-05 +3778 -0.0006194454101906622 -0.00012461103207159126 0 0 0 -7.26091412096762e-05 +716 -0.00047540927302498553 0.00018204245065877504 0 0 0 2.40246282107262e-05 +3801 -0.0003235649066033403 0.00023775331088468128 0 0 0 -1.756720861717853e-05 +3826 -0.0005254626330894078 -5.0622806352328087e-05 0 0 0 -0.00016319928370071572 +6652 -0.0008102842499998873 0.00017735367731374366 0 0 0 6.826874222488401e-06 +3862 -0.0008006670632085486 0.00012455783506739384 0 0 0 0.00031484679421085726 +3885 -0.0005590052574567239 -0.00010721587439361362 0 0 0 -4.251315984280408e-05 +3905 -0.0008332087355013303 0.00018991779378884006 0 0 0 4.7909362270007e-05 +9578 -0.0006035240906100977 0.00017833194659776626 0 0 0 9.867546575324038e-05 +9981 -0.0006425320912378409 3.490266422097512e-05 0 0 0 -2.7479255640400408e-05 +3943 -0.0006154138225934562 0.00015635583756339237 0 0 0 4.760659163436123e-06 +3956 -0.0006589746396833741 0.00022041085565041555 0 0 0 1.6632146959761088e-05 +5188 -0.0002963127575751289 0.00020853542465820062 0 0 0 -7.870396894701643e-06 +4045 -0.0008011383117389292 6.912637037090924e-05 0 0 0 -0.00018301917789432067 +3688 -0.0008510319708394208 0.00018485004206646698 0 0 0 1.3887057884530852e-05 +4113 -0.0005906899383603031 0.00030113171486723073 0 0 0 -2.3355508873755934e-05 +4141 -0.00035854082366247413 0.0002658451374300568 0 0 0 -4.575895848379417e-05 +4148 -0.0006078172293634456 5.8483757714380906e-05 0 0 0 2.4654193486569182e-05 +8336 -0.0008522858133889631 0.00017358454757046985 0 0 0 0.00010427160226881299 +4187 -0.0007674795904661619 0.0001174616346080733 0 0 0 -0.00031625856947369317 +4233 -0.00047780760727034774 0.00021042393239566068 0 0 0 1.8747464236443208e-06 +2975 -0.0008361188439629523 0.00022916954648931099 0 0 0 7.794571666873698e-05 +4248 -0.0007546223006740007 9.552078137028414e-05 0 0 0 1.7673950507045947e-05 +5822 -0.0003530621416108713 6.855794714425407e-05 0 0 0 -4.7195005584156114e-05 +8176 -0.000694919891451837 0.00017673695440344035 0 0 0 -1.7940760948626884e-06 +860 -0.0006682610986619096 0.0002626309774321958 0 0 0 -3.726057538753103e-05 +4334 -0.0008538146983992712 0.0001552833105438306 0 0 0 2.839989065935318e-05 +1300 -0.000857275480426081 0.00012804796219756978 0 0 0 1.2032574958798126e-05 +4500 -0.0007637542525540858 0.00012563525579190429 0 0 0 0.0003193553556633447 +4531 -0.00022732142367422887 0.0001738922622959512 0 0 0 -1.3222521014537078e-05 +9231 -0.0006909906739234151 0.0002841550905600554 0 0 0 -4.379164940979803e-05 +4579 -0.0007654824548794341 0.00010799513034946558 0 0 0 2.292354197649999e-05 +4661 -0.0006809316275230963 2.9816222865174585e-05 0 0 0 -9.152757192322934e-05 +4672 -0.00044298105101846816 0.00027711555640110524 0 0 0 -2.663121848714251e-05 +3262 -0.0007843388773426824 0.00018853608899926732 0 0 0 2.2152735283117156e-06 +4744 -0.0007745452386295504 0.0001333000714962171 0 0 0 5.783818279167435e-06 +5379 -0.0008141680388619509 0.0006694983315342096 0 0 0 -0.0004766812218020037 +4245 -0.0007627621114179319 9.966082843057652e-05 0 0 0 -7.97565691561867e-06 +4906 -0.0006085086661408625 9.309782261862977e-05 0 0 0 -3.4874386848666155e-06 +9897 -0.000883598371011359 0.00021564469982811378 0 0 0 -0.00021982546975641374 +4987 -0.0006379157103051629 0.00012026538857489768 0 0 0 -4.116624686856034e-05 +4990 -0.00038418551773926194 0.00017251301326143398 0 0 0 6.567705914063177e-05 +5060 -0.0006191615876297132 8.213594553711568e-05 0 0 0 1.4049885921727297e-05 +9397 -0.0005056050257136226 -0.00014324725631158293 0 0 0 0.0003351055896863284 +5229 -0.000864229864805844 0.00023144423422508396 0 0 0 -5.7578819098863074e-05 +5239 -0.00035856981935499974 0.00011313369918841268 0 0 0 -7.878218524386382e-05 +3413 -0.000873372422180473 0.00020835807055431373 0 0 0 -3.545436828532631e-05 +2302 -0.0006823512588042969 0.0002983737185629137 0 0 0 -5.303263156791891e-05 +5331 -0.0005984814628614716 0.00022323311775969773 0 0 0 -5.299525399480171e-05 +5389 -0.0006164085320300775 9.391776573430234e-05 0 0 0 -1.3928720600281673e-07 +5516 -0.0007421829223035691 4.6318704140400887e-05 0 0 0 0.00013927918611819206 +5542 -0.0007210915859592725 -6.107506991604604e-05 0 0 0 -4.571731704955713e-05 +5562 -0.0006330807664467044 9.325037273488371e-06 0 0 0 -4.148278957211156e-05 +5585 -0.0006061074766685766 7.443302222074851e-05 0 0 0 -1.6679036220530235e-05 +3135 -0.00031584233177204505 0.0002162559666339816 0 0 0 -5.216281286950464e-05 +5653 -0.0006163041751902626 7.95007699349596e-05 0 0 0 1.3052574206713308e-05 +5655 -0.00039788176710160093 9.024919735974662e-05 0 0 0 0.00032203630202223577 +5686 -0.0005990090099843464 7.9201619395262e-05 0 0 0 3.202352566458393e-06 +5689 -0.00030886807888111476 0.00020597731557150345 0 0 0 1.532729080212331e-05 +4426 -0.0007869833902043661 0.0001603419982010338 0 0 0 -2.4467167643224967e-05 +8932 -0.001348701414335169 -0.00011923943100759427 0 0 0 0.0012000581706863712 +9836 -0.0008527744470934502 0.00011702451714913007 0 0 0 7.259160399846643e-05 +6136 -0.0008142645693740404 0.0001700674981875899 0 0 0 1.3375063341659771e-05 +5828 -0.0008105828087885152 7.675903224222082e-05 0 0 0 -9.55677486636802e-05 +9472 -0.00020784625286020413 0.00012840164876998567 0 0 0 -4.28132605799352e-05 +5968 -0.0004546893593804586 6.028712388611471e-05 0 0 0 -1.7364724861074655e-05 +5983 -0.0006997889540059286 -5.8569222913960424e-05 0 0 0 -0.00014790709749854796 +6086 -0.0006762316773712441 0.00011698469757393857 0 0 0 -4.8328614436037735e-06 +6087 -0.0006054730030604564 0.0002572920348090294 0 0 0 -8.938970566420634e-07 +6106 -0.00027325936930370267 0.0001691066492955669 0 0 0 -1.4472584904405154e-05 +9773 -0.000701470133611274 0.0002491608219546815 0 0 0 1.5543315530267638e-05 +6289 -0.0005264452930313486 -4.5181111085609346e-05 0 0 0 -9.848728450234594e-05 +6296 -0.0006143831822729748 5.927369093651892e-05 0 0 0 1.709761750197694e-05 +8204 -0.00030201894859706985 0.0001160689156580832 0 0 0 -0.00019367150800188055 +6313 -0.0002971945853733465 8.688426719392302e-05 0 0 0 4.494563356998692e-05 +6161 -0.00022897262394140172 0.00015558932020529067 0 0 0 -6.758439200523013e-06 +61 -0.0003198172220178988 0.00015774530186937906 0 0 0 3.669891914640106e-05 +6463 -0.0005534615674452333 0.0002168983001169154 0 0 0 -2.4996274621692986e-05 +6467 -0.0005889176982722112 7.14173580263368e-05 0 0 0 -2.0100585915386e-05 +6471 -0.0005088171405620074 0.000299144707031717 0 0 0 7.810194143317917e-05 +7921 -0.0007812804672529529 0.00016730555361660498 0 0 0 -3.305184048138308e-05 +9225 -0.0007755270948129121 0.00020820082735500156 0 0 0 -0.0003070507728758186 +6512 -0.000516072685949112 0.0002696440250773008 0 0 0 7.252326925934198e-05 +6534 -0.000506919308307034 0.0002374476636201867 0 0 0 7.171829638009589e-05 +6615 -0.0008882699761179251 0.00010853198448972322 0 0 0 -0.00013524779878918255 +6699 -0.0008043500806199515 7.171101166064546e-05 0 0 0 3.2156249221826006e-05 +6765 -0.0006782744637418258 0.00011344141622825558 0 0 0 9.475889074564587e-06 +6580 -0.0007170911894337177 0.00015288291787802556 0 0 0 -0.00022218763613047115 +6812 -0.00027681313915566507 0.00018388015969944468 0 0 0 4.062833692185394e-05 +8892 -0.0007226363036704706 7.690765353033202e-05 0 0 0 -7.144103145154876e-05 +6824 -0.0005273820525828583 0.0002815766197255842 0 0 0 -0.00015134793841245945 +6897 -0.0007928136461367166 7.61923532530464e-05 0 0 0 -2.47575325006015e-05 +9150 -0.0006670012746565996 0.00027005390438825176 0 0 0 -0.0002139571843462256 +7057 -0.0005933211989485831 0.0002076612707940139 0 0 0 2.4739542810005685e-05 +7070 -0.0007647105053156896 9.025692832092891e-05 0 0 0 1.6427326646187902e-05 +5989 -0.0006162060174363251 0.0002570821817438914 0 0 0 5.373448321878034e-06 +7171 -0.0005545325010255291 0.00023364865895297355 0 0 0 -1.368465829009299e-05 +7182 -0.0007194408776988836 0.0002359689929153607 0 0 0 -0.00011566824074221205 +7290 -0.000714197786340059 0.0002445036436273495 0 0 0 0.00018272242930896922 +7315 -0.0005905896207798136 0.0001075203495017894 0 0 0 -7.407162655440607e-05 +7338 -0.0006808092682413103 -6.6869316840766e-05 0 0 0 0.00011422004126307324 +2563 -0.0006505026565976611 5.475741177534864e-05 0 0 0 -2.787494501099773e-06 +3820 -0.0008666616685977265 0.00018642191622008774 0 0 0 -3.445801760831526e-05 +7506 -0.0005826394211250743 -4.406772917224356e-06 0 0 0 -5.407536707448485e-05 +7525 -0.0004641979687956211 3.148761389599748e-05 0 0 0 0.000290829230922942 +8682 -0.0006930496071526712 3.4743073531484655e-05 0 0 0 4.5822901072837035e-05 +7568 -0.00045756871191122793 0.00018264680883433817 0 0 0 -2.7555440877490836e-05 +7620 -0.0006793477384681073 -0.00010155012716860936 0 0 0 -0.00010043669056916041 +7645 -0.00033409580584165785 0.0002110526379636552 0 0 0 -6.859381840313154e-06 +7650 -0.0006826611579148832 -8.271515898888687e-05 0 0 0 -0.00010651757969978053 +9308 -0.0004634568657541521 5.056151276429936e-05 0 0 0 5.469797174540894e-05 +9405 -0.0005335582542288341 1.4668764868723054e-06 0 0 0 -2.975790694833113e-05 +6984 -0.0008453132724490027 0.0001786371996352583 0 0 0 3.417643952691284e-06 +7745 -0.000613568349943349 0.00018532898773241768 0 0 0 -5.627121120261365e-05 +7748 -0.0005025924507703054 0.00022133398774696217 0 0 0 -3.190289556091322e-05 +7823 -0.0005740927540846137 0.00021646398444808614 0 0 0 1.0819743574537054e-05 +7824 -0.0008906016854363184 9.389403562986553e-05 0 0 0 -0.00015752865026668906 +7831 -0.00045655543103344134 -0.0001146817648517671 0 0 0 -0.00031803208987299175 +4481 -0.0008318198613002412 0.0002132986973853993 0 0 0 6.992527377629407e-05 +7922 -0.0007227601572672643 0.00011340601437109506 0 0 0 6.154583733412216e-05 +7947 -0.00047308845377859834 0.0001419676123689658 0 0 0 6.94051165405981e-05 +4276 -0.00031312172511849885 0.00012634652531976246 0 0 0 1.584247443101523e-05 +8002 -0.000434778936513471 0.00014851545936009125 0 0 0 -5.517751889699839e-05 +3928 -0.0007992906879477883 0.00024132456438309674 0 0 0 -0.00014905852703267714 +8115 -0.0007476479287116166 0.0001513074295977743 0 0 0 -0.00037906492926434714 +8149 -0.0006157785036377466 -5.478927563125959e-07 0 0 0 0.00012467857295868422 +2442 -0.0005561425874568973 0.0002507025040078163 0 0 0 3.3437434844926904e-05 +8214 -0.0007313026284625867 4.9010959382185565e-05 0 0 0 -0.00035025630419028235 +8268 -0.0004363363307808222 -0.0002236104616433763 0 0 0 -5.620790133118802e-05 +8282 -0.000522749970983967 0.00027844764633178646 0 0 0 -0.00013669237492229587 +8325 -0.0006444729786980186 0.00011293509131459215 0 0 0 -2.5939336598324937e-05 +5650 -0.0006047990671451929 0.00022729242723434548 0 0 0 -0.00022883924285030263 +8501 -0.0008668903392262292 3.463248852504732e-05 0 0 0 -0.00021528879981794958 +8511 -0.0006136570011853528 3.336748462312199e-05 0 0 0 -4.311138937654634e-06 +8583 -0.0003206702956317817 0.0002045444185265362 0 0 0 -1.0714621055600627e-05 +8591 -0.0007987795310367182 7.36601162375043e-05 0 0 0 -5.4159055474173924e-06 +9491 -0.0008655522054766641 5.922839373664925e-05 0 0 0 -0.00014527652331573882 +8626 -0.0004818680116404993 9.733169412503747e-05 0 0 0 6.302157509901675e-05 +8635 -0.0005227878774189729 -2.3407594124588646e-05 0 0 0 -0.00014366641026011332 +8658 -0.0005757166991860335 0.00020063397893295738 0 0 0 -7.505361086907326e-05 +8665 -0.0008586063120445663 0.00010954135394545796 0 0 0 9.362800924040726e-05 +1949 -0.0007732326081206847 0.00016320477141839693 0 0 0 -1.1121231997854993e-05 +774 -0.0006010360345347203 0.00028199815017225955 0 0 0 -9.483062283849968e-06 +8729 -0.00031208543452722375 0.00020785165268252592 0 0 0 2.954105586176543e-05 +1695 -0.0007998210634816032 0.00016761688348852877 0 0 0 -1.7704830686279485e-06 +8738 -0.0007990093244166961 0.0001053196101790149 0 0 0 0.00017554436798832964 +8747 -0.000885456192946425 0.00014764229024924827 0 0 0 -0.00023586139931500966 +8760 -0.0005176274240316957 -5.060692856465936e-05 0 0 0 -0.0002719157163872968 +9713 2.7755602977820714e-05 -0.0003117768199409072 0 0 0 0.0004802859033597456 +8776 -0.0007593720316124192 0.00011727655359859861 0 0 0 -2.183532603199224e-05 +8769 -0.0006596545849181649 0.00031387964943685177 0 0 0 2.3459986184161508e-05 +8918 -0.0006749059452138106 3.609509340052703e-05 0 0 0 -0.00025374162467170513 +8938 -0.0005516812377370509 1.0548278621285846e-05 0 0 0 3.1728328736045464e-05 +350 -0.0008098423216323466 0.00017637494677966677 0 0 0 7.723464912836185e-07 +9028 -0.00021307343100153547 0.00018375973721121606 0 0 0 -6.552407897790513e-05 +2892 -0.0006537429335700862 0.00026133988177464465 0 0 0 -9.237843650173035e-05 +7669 -0.0007952108010621258 0.00020545114723959784 0 0 0 -7.354800758045691e-05 +3223 -0.00044030237532932497 4.264240886800198e-05 0 0 0 -2.6495203290193008e-05 +4945 -0.0008112491374560609 0.00019636258790590075 0 0 0 -2.943787647533753e-05 +2379 -0.0008272201171400472 0.0001503269070689607 0 0 0 -8.492963224515743e-06 +1232 -0.0008351664208742861 0.0001895971728768413 0 0 0 2.1837237650704215e-05 +4539 -0.0007975463714079117 0.00015500249753135314 0 0 0 1.5368025840780524e-05 +6494 -0.0007569168519910351 0.0002546730548416199 0 0 0 -0.00024925212127158814 +2954 -0.0006928298729936228 0.00026406368675196284 0 0 0 -8.484149792182754e-06 +6836 -0.0004923816283241457 0.00015100712070943286 0 0 0 -2.9151738711792195e-05 +4402 -0.0005616466784350283 0.00026425001099235167 0 0 0 -9.227062302604175e-06 +3815 -0.0006324139723908513 -4.323652317682072e-05 0 0 0 -0.00018870090066420457 +313 -0.0008230009820605615 0.00013896094544931875 0 0 0 2.7958275755933727e-07 +7023 -0.0008589244244274867 0.0001809729156751543 0 0 0 8.678340241632072e-05 +2666 -0.00036956322002385444 7.834959098096083e-05 0 0 0 1.071458497151156e-06 +4638 -0.0006504776520661171 0.00022177600607296047 0 0 0 -6.471229239375561e-05 +7584 -0.0008455426316773433 0.00023092418099361243 0 0 0 -0.0002010334411606423 +1116 -0.00039559854216442164 0.00015965089906478462 0 0 0 -3.64614565573991e-06 +8694 -0.00024636445286788545 0.00015124369868340628 0 0 0 3.562506278622868e-05 +1837 -0.0005884707687998976 0.00030695423044312895 0 0 0 -9.357410056414429e-06 +9805 -0.0005668734637535583 6.518275602885747e-05 0 0 0 -4.178996117615289e-05 +6514 -0.0008182686047829301 0.00015723968646779102 0 0 0 1.2746926181951904e-05 +6606 -0.0002932136231788516 0.0001796983926116318 0 0 0 3.2198403847592275e-05 +4676 -0.0006647656208855355 0.00020979645973457804 0 0 0 -0.0002954244500070754 +2724 -0.0007087039033312044 3.49676552248397e-05 0 0 0 3.35607797556748e-06 +1100 -0.0006414500867208664 6.098072968364216e-05 0 0 0 -3.8808435632391326e-06 +5591 -0.0006388359630620881 0.0002316618219705291 0 0 0 0.00026903974794283684 +4332 -0.0007208152736511401 0.00017735259431104307 0 0 0 -4.2407084497278006e-05 +2673 -0.0007437179471680102 0.00023236026017240812 0 0 0 -6.599179524742001e-05 +1305 -0.0002955175770967466 0.0002133481966812707 0 0 0 -1.578038630497841e-05 +2574 -0.0007407053231145515 0.00020533455176573843 0 0 0 0.00010347577304114587 +7812 -0.0008857374564474973 0.0001945138327952935 0 0 0 8.711111905269168e-05 +7693 -0.0005693445103800809 0.00018938957612538927 0 0 0 -0.00013764064987134938 +1345 -0.0008154535022123116 0.00017595646595828222 0 0 0 4.2527624117822725e-06 +949 -0.0005254899189162321 0.00018684590218394446 0 0 0 -1.1185912757046912e-05 +2472 -0.0004557058675165823 0.0001658625849210903 0 0 0 -1.5110753265205695e-05 +2067 -0.00029717685751554654 7.18934144086023e-05 0 0 0 -3.282870524408171e-05 +9909 -0.0008065584256820251 0.00015419674191642402 0 0 0 4.310643706692791e-05 +8780 -0.0004722576799843829 0.00016237332188280163 0 0 0 3.9584710788634465e-05 +7469 -0.0002900453986083505 -1.6586346309993377e-05 0 0 0 2.4043710257365217e-05 +4537 -0.00038359548708594263 8.479609913286197e-05 0 0 0 2.0833142296625406e-05 +3939 -0.00029364449575614883 -1.6707861047449745e-05 0 0 0 -4.188466326426976e-05 +9735 -0.0003432589508801088 5.468889731717433e-05 0 0 0 -1.8183751258243367e-05 +6493 -0.0004426354255459034 0.0002585345660863236 0 0 0 -6.699188796079106e-05 +7454 -0.0003565310412708759 0.0001341939202200018 0 0 0 -0.0001699380061024291 +7205 -0.00029067322694763085 0.000199538884554595 0 0 0 5.017300795988849e-05 +87 -0.00017236531405522907 0.0004516529795261938 0 0 0 -2.366874829889737e-05 +7323 2.8938131106814132e-05 0.0005422012404566369 0 0 0 1.271328761539416e-06 +129 -0.0009740663444162997 0.0009780317656523463 0 0 0 3.580439645192297e-05 +154 -0.0006095280742332322 0.0004755323229752493 0 0 0 -9.548709592919904e-06 +979 -0.0008528393444059907 0.0003027394758872538 0 0 0 2.798729777386941e-06 +5668 0.0002376211847189241 0.00037894253918806817 0 0 0 -6.144046677226699e-05 +221 -0.0005321252257121591 0.0003299771766366452 0 0 0 -8.677604284826107e-06 +7419 4.059029458107302e-06 0.0004008608365328884 0 0 0 2.822110263705967e-05 +259 7.190766252515239e-05 7.72962001081937e-05 0 0 0 3.8033621027882275e-06 +265 -0.0007712179350679061 0.0008898054553259623 0 0 0 -2.4926743459467385e-05 +6374 0.0002553958808938455 0.00036120703125779036 0 0 0 5.507206877561722e-05 +305 -0.0010494118204370472 0.0009317412206732882 0 0 0 1.48367662467054e-05 +314 -3.1123222955763396e-05 0.00012690643977478498 0 0 0 9.54068644698267e-06 +316 -0.0002658312738570586 0.000324123780463315 0 0 0 -1.9096905422164342e-05 +318 -0.0010118302572062607 0.0006712673622384101 0 0 0 3.797401466487212e-05 +328 -0.00028515652354766486 0.00018441881846576965 0 0 0 -8.289762615706726e-06 +315 5.5769317042322016e-05 7.91736950608378e-05 0 0 0 9.766109959989406e-06 +504 -0.0006539133028126689 0.0006610996461864126 0 0 0 -3.078493715445363e-05 +518 -3.761001987750105e-05 0.0007627947825470246 0 0 0 -7.12448733101909e-05 +539 0.00011706829844921846 0.0005664316502576212 0 0 0 6.0244652085166576e-06 +556 -0.0002314989037129109 0.0004019779331270687 0 0 0 1.3534224924292534e-05 +581 -0.00016706388646050454 0.0002774874043024614 0 0 0 -8.47469436859537e-06 +582 -0.0009628836877365333 0.000540854211797398 0 0 0 -9.998336188493893e-07 +598 -0.000577903879160141 0.0009839928210693466 0 0 0 -1.054401237560324e-05 +599 -0.00045045364239563416 0.00020945449702812485 0 0 0 -3.3352842193573786e-05 +613 -0.0003813689763231551 0.00039933033765569945 0 0 0 -1.7448704402181725e-05 +2077 -0.001010915357168848 0.0004046464332326641 0 0 0 -1.8698098808432027e-05 +672 -0.00024184252379976035 0.00033780063131633533 0 0 0 -2.7044421981467315e-07 +680 -0.000437478744310756 0.0004658904995877975 0 0 0 2.8584798285120373e-05 +738 -5.406143142676182e-05 0.00034706071185218164 0 0 0 -3.758490489559362e-06 +746 -9.960188824113158e-05 0.00020872609990059627 0 0 0 -1.655011205505041e-05 +760 -0.00020259252399314407 0.00033804147083748746 0 0 0 -7.723759979489049e-06 +796 -0.0009688906352657536 0.0005651437813867234 0 0 0 -1.9729141752252792e-05 +808 -0.000567903967489704 0.0007172767077870889 0 0 0 5.965819722611563e-05 +843 -5.5204185748090705e-05 0.00018096843405428068 0 0 0 -1.7090233847188758e-06 +882 -0.00010738358012881058 0.00021385186327164295 0 0 0 -1.0040479082378888e-05 +897 -8.398912133322504e-05 0.0003079779940804004 0 0 0 -3.247345910504312e-06 +907 -0.0006857832852120428 0.0006649380175099088 0 0 0 2.902230902195218e-05 +931 -0.0006505666461519623 0.0005641579312420003 0 0 0 -1.4110647362921819e-05 +933 -0.0006300754851525874 0.0007483551639924271 0 0 0 1.512206789802774e-05 +943 -0.0007744778005026001 0.0005443233982767282 0 0 0 -1.4626913504552303e-05 +962 -0.00012127658728987752 0.00038022194786278 0 0 0 8.474747405093396e-06 +963 -0.00015057110175700577 0.0006560690960518747 0 0 0 -3.0977708421707484e-05 +1094 -0.00041677667982197123 0.000386491623234346 0 0 0 -3.783748865729612e-06 +1109 -0.0005886373611654584 0.0005925835579066959 0 0 0 -4.611630805535342e-05 +1124 -0.00016587076639179094 0.0002702775525258082 0 0 0 3.4822905465515923e-07 +1154 -0.00047741119981851375 0.0009446656505139711 0 0 0 -3.23358525948891e-05 +1175 -0.0007295351826585762 0.0006711721112265006 0 0 0 3.1308562586085e-05 +1207 -0.0001673101707373902 0.0002656231255720713 0 0 0 6.5208160435239044e-06 +1210 -0.00038597392252770187 0.0007791522991504671 0 0 0 -2.255968957393947e-05 +1211 -0.00043686334620614563 0.000375280867776989 0 0 0 1.994058560215485e-05 +3744 -0.000797111632013945 0.0003133467696041077 0 0 0 4.7018500426121626e-05 +1283 -0.0009140099171716539 0.0004646253391027805 0 0 0 4.8538063678796816e-05 +1299 -0.0004170024937902872 0.00033244014832713327 0 0 0 4.5300732740826677e-05 +1302 -0.00012000789808971329 0.0002908135086029878 0 0 0 -2.5354406860602864e-05 +9336 8.414606228747575e-05 0.00034350592405807433 0 0 0 -0.00023820762244288499 +1330 -0.0008908801977291661 0.0009863763504071887 0 0 0 0.00010405881397975906 +1344 -0.00013517873067221814 0.0004304752101795973 0 0 0 4.2094094469121674e-05 +1363 -0.00025581667389883183 0.0002454938077574797 0 0 0 -2.4993688428237647e-05 +1386 -0.00020383455666320572 0.00033037728948578433 0 0 0 9.833567667670199e-06 +1406 -0.000943250017822479 0.0005290337157406214 0 0 0 -2.0247845930060593e-05 +1463 -0.00044819404680686666 0.00032687505717915216 0 0 0 3.7819299850241504e-05 +1497 -0.0006135685330461274 0.0007230017281817503 0 0 0 -1.6503842425037258e-05 +1508 -0.0010273769897521591 0.0006837674808650226 0 0 0 2.48133996415838e-05 +1517 -0.00023344893654937175 0.00017017696677893774 0 0 0 -9.639769057854106e-06 +1526 -3.28477053186142e-05 0.0003504559406773688 0 0 0 -4.764069084385827e-07 +4188 -0.0007845646526439214 0.000179180056455272 0 0 0 2.7676689343702072e-05 +1791 -0.0008241392281131356 0.00024017544471117785 0 0 0 3.3570835178812995e-05 +1626 -0.00019563928509837576 0.0002937787662881615 0 0 0 -3.415694226155158e-06 +1629 1.1723004847551796e-05 0.0006055589818686867 0 0 0 -3.735415700687244e-05 +1782 6.282322084717242e-05 0.000462910311294952 0 0 0 4.3478492803578204e-05 +1721 -0.0009923199708287605 0.0005770670564683176 0 0 0 -5.124700140793152e-06 +1854 8.902009935313542e-05 0.00042173401853195857 0 0 0 -3.2365349100835336e-05 +1781 -0.00020663102672895868 0.0003024307449052059 0 0 0 -9.292092135006598e-06 +1790 -0.0008476768223173887 0.0006265883059187167 0 0 0 -0.00010644089409241326 +1851 -0.0003939587309696249 0.0007131667824128006 0 0 0 7.706335766286128e-06 +1884 -0.0008341133959375591 0.0005099348064275831 0 0 0 3.166602045896475e-05 +3563 -0.0008523386792397557 0.00041225786321363563 0 0 0 -3.2479959120906007e-05 +1917 -0.0006903740996192513 0.0008687801562800257 0 0 0 4.872216231037605e-06 +1937 -0.00016066394487077598 0.00026555263260622105 0 0 0 4.618332340036031e-08 +2005 -0.0001666893736728873 0.0002545219422858633 0 0 0 -1.0735756025147723e-05 +2035 -0.0010130643747098367 0.0006834509509707331 0 0 0 9.76800281365246e-06 +2111 -2.684770922924616e-05 0.0003218316804807678 0 0 0 -7.48412039996912e-06 +2112 1.8047618120850774e-05 0.00013708280977937253 0 0 0 1.5731414562387523e-05 +2123 -0.000713348008795054 0.0010888982375071386 0 0 0 1.0108151884717679e-05 +2129 -0.00019231398427630873 0.00027461733695556957 0 0 0 -4.063835220386353e-06 +2186 -0.00010205259320208838 0.00022862403542840018 0 0 0 6.517395053661407e-07 +2194 -0.0005389352276970179 0.0009318838716836069 0 0 0 -6.530272645375691e-05 +2215 -2.3462907762448526e-05 0.00029737903984596134 0 0 0 3.2781554735037584e-06 +2224 -0.0004321624882496071 0.0006182462323996823 0 0 0 -0.0001304642420430589 +2225 -0.00025189735159492283 0.000338332743809806 0 0 0 1.3821032301912178e-05 +2269 -0.00033854717892045644 0.0004673775466668635 0 0 0 -5.430426280903727e-05 +2277 -0.0001915931843232686 0.00027487463550541645 0 0 0 -5.626527942197019e-05 +8978 -0.00043864240495668726 0.0007498945168391792 0 0 0 0.00023579522335299665 +2362 -0.0006758460158006901 0.0005890893865243517 0 0 0 2.931170822042747e-06 +2390 -0.00038697501860571225 0.0008239851605487629 0 0 0 -9.769043113717942e-05 +2404 -0.00020409258562615817 0.0002850944374545145 0 0 0 -1.5440103190934128e-05 +2430 -0.0004836423357310536 0.0009205107820418348 0 0 0 -8.094314490218055e-05 +2434 -9.077666261134002e-05 0.0002615372501020007 0 0 0 1.3263858800710948e-06 +7585 -1.9789755394202147e-06 0.0003732398063670738 0 0 0 -2.1398522143155753e-05 +2521 -0.00013327635912380463 0.00016389649393901465 0 0 0 -1.9481506881122482e-05 +2542 -0.0007017284530098835 0.0011274269092456906 0 0 0 -5.080749133368138e-05 +2554 -0.000141699116185776 0.00021137631069306187 0 0 0 -4.23340039086186e-06 +160 0.00015618621757297849 0.0005236601149542304 0 0 0 -8.477588393975553e-06 +2585 2.7739710285036306e-05 0.000580323419668297 0 0 0 -3.397033787901507e-05 +2643 -4.1504786190294765e-05 0.00026938780576363117 0 0 0 3.532835528628711e-05 +2645 -0.0005097811170369312 0.0006508549221798497 0 0 0 -0.00013769485222722819 +2663 -0.0001474442265906656 0.00017780013171834366 0 0 0 5.965722928888406e-06 +8318 -4.0118443530490675e-06 0.0001530292098733121 0 0 0 -3.6276029488990524e-05 +2791 -5.6376271021196144e-05 0.00039988267953315886 0 0 0 2.0872757508944517e-05 +2793 2.5671698465610584e-05 0.00013479870438273404 0 0 0 1.3417383856645578e-05 +7808 -0.00019943102806612264 0.0006932030310968045 0 0 0 0.0005992948499663935 +2924 0.00011333204032943293 0.0006515120336372646 0 0 0 4.248172920923936e-05 +2953 -0.00017533022165837513 0.00028086970040851574 0 0 0 -9.73824858894936e-06 +2981 -0.0006090792198484992 0.0007114292474929701 0 0 0 -2.7208899704235922e-05 +3028 -0.00020415811191209197 0.0003089335744780208 0 0 0 -1.0785850199188567e-05 +624 -0.00025587866432982137 0.0006597767581839403 0 0 0 -5.596921238031748e-05 +3061 -0.0009911039824183818 0.0006079713066870906 0 0 0 -3.822237832945995e-05 +6899 -0.0008475021857126738 0.0003337197168301542 0 0 0 -4.161337191970417e-05 +3125 -0.00014854204884392862 0.0002538326586554696 0 0 0 -2.5387499827423204e-06 +3137 -3.0995606252175906e-05 0.0005605231057723213 0 0 0 0.00011438363259345282 +4111 9.777373891659329e-05 0.0005088764374444969 0 0 0 -4.1691838417297e-06 +3190 -3.015890008431204e-05 0.0002758238967136768 0 0 0 5.930287218468456e-07 +3208 -0.00019536923220567253 0.0004959911416095562 0 0 0 -9.147623236761301e-05 +3231 -8.369141565623944e-05 0.0006485804309382067 0 0 0 0.00016337756372330011 +3244 -0.00045449322405490585 0.00045175893444360525 0 0 0 -7.760671473051654e-05 +3249 -0.0008155414426242212 0.0005342267783867979 0 0 0 1.1673908271474145e-05 +3260 -0.00043020052959858655 0.00015837561834229475 0 0 0 0.00033606127735403077 +3277 -0.00024378573576796668 0.00016819366798789738 0 0 0 -6.424708691828458e-06 +3342 -7.704973531969039e-05 0.00020379071320196322 0 0 0 1.559905160102609e-05 +3345 -0.00035852817225184847 0.00012057134571663835 0 0 0 2.1737158993393116e-05 +3346 -0.00043111221276878554 0.000474582053509202 0 0 0 -3.986847462221365e-05 +3380 -0.0001888415044686771 0.0002553889691857674 0 0 0 -2.7432283502072832e-05 +4098 -0.0010383250270362089 0.0007614411313047856 0 0 0 0.0001668995261304644 +3467 -9.042187819905044e-06 0.0003962615101895052 0 0 0 2.1819566899577288e-05 +3483 -6.707905983781213e-05 0.0006303306584077409 0 0 0 0.0003006701591553057 +3513 -0.0005040485251739858 0.0005184512548705511 0 0 0 -0.00017676009552759 +3524 -0.000822199237574235 0.0006557197118792882 0 0 0 -1.0516892131446712e-05 +7314 -0.000786870306220376 0.00023774970438076445 0 0 0 0.0002472779347151279 +3546 -0.00010300751871191985 9.668998022236666e-05 0 0 0 -3.5622525788781677e-06 +3559 -0.0007555929600520565 0.000281963831211616 0 0 0 2.0400479730264283e-05 +200 -0.0008117404386358774 0.0003710764501099334 0 0 0 -1.9798577101763132e-05 +900 -0.0008113288240797784 0.0001461659248621094 0 0 0 2.2187740265692023e-05 +3702 -0.00017323811310232306 0.00039487526168753383 0 0 0 3.8414642540150876e-05 +3708 -0.0001262482540955103 0.0002195478783156169 0 0 0 -1.9331113401020143e-05 +3718 0.0009655409950375666 0.0007280961108625307 0 0 0 0.00039139385348285045 +6895 -0.000731543911297352 0.00029313934921683523 0 0 0 -0.00012576458832700888 +3726 -0.00017013683479660978 0.0007038825115061692 0 0 0 -3.4092112059285955e-05 +3762 -0.00018787531361376476 0.00036005529663938734 0 0 0 -2.1950430627842973e-05 +3767 -0.00040701904942912984 0.0007953300258471673 0 0 0 -0.0001225403562047452 +3794 -0.0002810834352884227 0.0002563492578137401 0 0 0 1.4989758560675514e-05 +3835 -1.1986660681860332e-05 0.00017774153824164456 0 0 0 7.102096068452711e-06 +3840 -0.00031979373910409994 0.0008020878562429115 0 0 0 -3.918636329198053e-05 +3859 -2.603477392398782e-05 0.0006204742518737731 0 0 0 -3.866023593758796e-05 +3865 -0.0009291447495170844 0.000505478160846906 0 0 0 1.1168879568399625e-06 +3926 -5.4714721130129486e-05 0.00024583156147397664 0 0 0 6.030935556925961e-06 +3944 -0.00041249319341636723 0.0007075789577786348 0 0 0 -0.0001248226291283602 +3951 -0.00033608494517949777 0.0003558609662720575 0 0 0 -2.7134339124487354e-05 +3952 -0.00024436134906514394 0.00033577390959178366 0 0 0 -2.4963494605831936e-05 +3974 -0.00023544449652970753 0.00020021102897369407 0 0 0 -4.439035208332545e-05 +3975 -0.0004337671680404869 0.00044682320966163544 0 0 0 -4.8797802596213286e-05 +3977 -0.0009128963454315226 0.0007010146990303116 0 0 0 -1.727944480904329e-05 +3994 -0.0004297688750733979 0.0003907629609008811 0 0 0 7.301121799743263e-06 +4019 -0.0006613516944451888 0.0005481822554357832 0 0 0 -2.9698903208275484e-05 +4054 -0.0002424581726560443 0.0001980459495137314 0 0 0 6.589645252718502e-05 +4060 -0.00016279141509829568 0.00028241832025351164 0 0 0 2.4911210296944867e-06 +4065 -0.0006205548106148197 0.0006902512393247996 0 0 0 -2.873065999021421e-05 +4082 -0.00034701211381708526 0.0007094951334913928 0 0 0 2.3031913303631406e-05 +4099 -0.0005668315247378237 0.001007205918919878 0 0 0 -5.9444422745091356e-05 +4132 -0.000659056270479207 0.0006817044937565081 0 0 0 5.741206364506363e-06 +4140 -0.00023523049558561991 0.0003125321762550349 0 0 0 8.069377549074474e-06 +4191 -0.00017785951819478812 0.00047946965750051524 0 0 0 6.067429396915516e-05 +4198 -0.0005081927084467956 0.000531265264738453 0 0 0 -8.971360524989319e-05 +4209 -0.0007245837054755631 0.0008905765438595733 0 0 0 -6.187626752205768e-05 +1414 -7.893649997732669e-07 0.00032448228829589845 0 0 0 1.0764099175567704e-05 +4280 -0.00010688095638433854 0.00023955090412708022 0 0 0 -3.8486478323732874e-07 +4302 -0.0006215604064824379 0.0007800627616677218 0 0 0 -4.113433202824012e-06 +4343 -0.00023273984620807367 0.00029906237950634747 0 0 0 -3.499696961299996e-05 +1935 0.0002615821033212055 0.000362040785948028 0 0 0 1.2997737059253979e-05 +4446 -0.00021598017992946263 0.0002998133757545163 0 0 0 1.3100380083100077e-06 +4448 -0.00022845006144758129 0.0003031700364861771 0 0 0 2.7904105333585088e-05 +4460 -0.00016213440482481503 0.0002493056844900289 0 0 0 -2.77454021582404e-05 +4619 -0.0009185729714173447 0.000318415404991384 0 0 0 5.153718409409686e-05 +4632 -0.0001766441574771846 0.00020297154353104743 0 0 0 -2.2860661303071746e-05 +784 0.00014964108961882937 0.0004264316770897034 0 0 0 -2.9231337228294255e-05 +1704 -0.0008344249798321779 0.0002766486823012634 0 0 0 -6.452792245265542e-06 +5988 9.281305631312579e-05 0.0004726400821810425 0 0 0 -1.5884993973429455e-05 +4802 -0.0008145512583992831 0.0004950662075238492 0 0 0 -2.0107379295077475e-05 +4829 -0.00039411484695918707 0.0005317567155198775 0 0 0 -7.392521915711835e-05 +4836 -1.9959202545908346e-05 8.26807113158091e-05 0 0 0 2.8662589159812676e-05 +4857 -0.00032337244376462384 0.00024399719411584233 0 0 0 -2.030703968075528e-05 +8205 4.1292995443355746e-05 0.0004028422895561397 0 0 0 3.7010763283636545e-05 +4870 -0.0003288144262088157 0.00011832330789780882 0 0 0 -1.3169965067264508e-05 +4873 -0.00016540259011332814 0.0002942434387688755 0 0 0 1.284873411650499e-07 +4903 -0.0001877479162067655 0.0002763840510986824 0 0 0 2.4027323816919433e-06 +4909 -4.583189725241157e-05 0.00015252311095276407 0 0 0 -1.4094004395491642e-05 +4915 -0.0008816067124352741 0.0005609578278183475 0 0 0 -3.322730905201947e-05 +4918 -0.0005678866793960456 0.000660686581110164 0 0 0 1.5902055107417254e-05 +4928 -0.00019860140152305012 0.0003192418848338388 0 0 0 1.7157418585673253e-05 +4939 -0.00013148223428422216 9.449967319061417e-05 0 0 0 -2.888115030510373e-05 +4947 -7.359843696679236e-05 0.0006132298388797235 0 0 0 -8.531856302336999e-05 +4984 -7.615069758452923e-05 0.00033652822633475086 0 0 0 -6.0577984884473014e-06 +5022 -0.0004458176187576659 0.0003861112565881909 0 0 0 -8.216040842366556e-05 +5027 -0.000936910705313971 0.00036051051877611086 0 0 0 -3.1206267417382426e-05 +5056 -0.0008852163158659535 0.0004719799759548148 0 0 0 -2.5158256060222046e-05 +5117 -0.0002411864049463681 0.0003587516845811407 0 0 0 -2.0681152657612894e-05 +5137 -0.000761857416980554 0.0004846684063896248 0 0 0 -6.868392138446015e-05 +5143 -0.0001236669152742229 9.158373782235846e-05 0 0 0 -4.5948848891177364e-05 +5145 -0.0006156966345601715 0.0007258795413513348 0 0 0 6.112811046488819e-05 +5236 -0.0009762519263856976 0.000552252213557147 0 0 0 1.9611908145970448e-05 +5324 -0.0002186910069340251 0.0003284774765088712 0 0 0 -1.3378608197185541e-05 +5335 -0.0005730409058239934 0.0008501881602036982 0 0 0 0.00025410434239426437 +5342 -0.00015026457713660497 0.00016387935026319317 0 0 0 2.0185901649383947e-05 +4623 -0.0009410375987100812 0.0005379208455203997 0 0 0 8.069560339353231e-05 +6422 -0.0009273771254353388 0.0004436358835772731 0 0 0 3.1427767866328765e-05 +5444 -2.9327295230179688e-05 8.058312970918631e-05 0 0 0 1.3657112729292406e-05 +5474 -0.0006429888470951484 0.0005290067226547598 0 0 0 5.6446066374648976e-05 +5495 -0.0004800169666825156 0.00020084998714746537 0 0 0 4.0172784097447955e-05 +5496 -7.02145403118379e-05 0.00018654658914755886 0 0 0 5.154433452575981e-06 +5501 -0.00010049720201787055 0.00038484326399497795 0 0 0 -3.839178978616442e-05 +5512 -0.0013911649377076358 0.00031177176394337917 0 0 0 0.00032334493714323637 +5540 -0.000717722233055225 0.0008731713906965256 0 0 0 1.3725665419980656e-05 +6678 9.234545647109009e-05 0.0005129027929606504 0 0 0 -5.713652797382335e-05 +5685 -0.0002073866235703752 0.00031031139795290025 0 0 0 6.727959068877359e-06 +5711 -0.0004065386420592355 0.00015769804197566733 0 0 0 -0.00012231773221992162 +5716 -8.559732547319741e-05 0.00021177727205416608 0 0 0 3.6056183770014454e-06 +5741 -1.904541606495543e-05 7.196036339460359e-05 0 0 0 1.5680735133100043e-06 +5743 -4.225421779158223e-06 7.522397303123573e-05 0 0 0 7.599216726792393e-06 +9353 -0.00028310774518094256 0.00042180210696916636 0 0 0 -6.461846770031887e-05 +5834 -8.090221514370407e-05 0.00021415421491822708 0 0 0 -2.0933323810085602e-05 +5850 -0.00024363610491477436 0.00031204517544603335 0 0 0 2.145072830404047e-05 +5954 3.929376973452739e-05 0.0003727846403958129 0 0 0 2.0031722068842617e-05 +5980 -0.000353343258253545 0.0006103546035069278 0 0 0 -4.4069651426031655e-05 +5995 -0.00016006111316131156 0.0002421247329163754 0 0 0 2.4088013667232375e-05 +6034 -0.00017314070293544335 0.00024378955372511468 0 0 0 6.157712566188226e-05 +9708 -0.000912344651823996 0.00037318190646572354 0 0 0 -9.794372123506064e-05 +6061 -0.0001517789187165478 0.0006981065596063028 0 0 0 3.6278106895161235e-05 +6067 -7.086005503014318e-05 0.000366449681293276 0 0 0 -1.0928072720849761e-05 +6092 -0.0001659856073911298 0.00033338818128667914 0 0 0 2.545670820411887e-05 +6097 -0.0007687731941408745 0.0008804675578134964 0 0 0 0.00011068419694005568 +6110 -0.0007507904600048815 0.0008652125781687378 0 0 0 -6.976731146302831e-06 +6111 -0.0002056923676424476 0.00028572266333258593 0 0 0 1.23822690009968e-05 +6112 -7.763757404217033e-05 6.700237470804856e-05 0 0 0 -3.0165321352535348e-05 +6126 4.3613955568220584e-05 0.0001330008302264165 0 0 0 2.5870988560265038e-05 +6184 -0.0008893788227859082 0.0005553749227098298 0 0 0 3.6782633330152165e-05 +6186 -0.00012598511095602598 0.00023914678507264107 0 0 0 -7.788002802058948e-06 +6213 -0.0002525454787521065 0.00010059779031331422 0 0 0 0.0001583810902018588 +9458 6.597692109149411e-05 0.0005635695849432638 0 0 0 -4.156063852735975e-05 +6249 -0.00010482654121079553 0.0003680713132682094 0 0 0 -2.4909288864432376e-05 +6270 -0.00014319241188140943 0.00015900198531360114 0 0 0 -2.997043415480984e-05 +6298 -0.00016105554279740138 0.000277366820968998 0 0 0 -1.0364635460420227e-05 +8466 -0.0010362616702711774 0.0004565803986859822 0 0 0 8.181286297966277e-05 +6367 -6.984707850770614e-05 0.0001892146074922861 0 0 0 9.802695431179018e-06 +6377 -7.666591384894596e-05 -0.0013906112084300288 0 0 0 4.318723802164695e-06 +6388 -0.0009779189235769473 0.0005576900902967138 0 0 0 5.628354438794018e-05 +6405 -0.0004486926913914648 0.00040751672092759455 0 0 0 -8.033376011690336e-05 +6411 -0.0001251832532425389 0.0002506177314468837 0 0 0 -7.105069474635897e-05 +7256 -0.0010137645201941966 0.0005878866651203674 0 0 0 7.14535044162775e-05 +6437 -0.00040094918977951545 0.0003895293101713268 0 0 0 -7.452660741480225e-05 +6469 -0.00024262304842073522 0.00030808122820142714 0 0 0 -7.500099411247705e-06 +6513 -0.00013084025654487471 0.0001641832479283312 0 0 0 -8.898867238953697e-06 +6613 -0.0009188154479763556 0.0004898365897150907 0 0 0 5.6621952307521806e-05 +6617 -0.0007671494055553664 0.0004917210907661908 0 0 0 1.5539812594451974e-05 +6620 -0.001077751518361164 0.0008985704829334183 0 0 0 -0.00032547203874488555 +6648 -0.0006518471158882813 0.000506726163223611 0 0 0 -1.4351817128001629e-05 +6668 -0.0005022142944091913 0.0004435090296123348 0 0 0 -2.8125195244264355e-05 +7835 -0.0003343094219317054 0.0007183003555528653 0 0 0 -8.575667433990305e-05 +6701 -0.00022900098277892547 0.000323518912790189 0 0 0 -1.3039543069387327e-05 +6705 -5.059128240498932e-05 0.00022228382473158493 0 0 0 1.3882450587598864e-05 +6722 -0.00016700789067295932 0.0004161194972474649 0 0 0 9.444912670379046e-05 +6726 7.6013747168758456e-06 0.0008961211546631068 0 0 0 -0.00042908398482251035 +9840 -0.0009898654400050963 0.0007825305604855433 0 0 0 -0.00015370243117227947 +6915 1.4768903393926411e-05 0.0006299056796623676 0 0 0 2.3635000434975403e-05 +6931 -0.00017959843045537533 0.00041252629051334843 0 0 0 5.5953981517763635e-05 +6933 -0.00016370265951113337 0.0002651658447013809 0 0 0 7.236861016638606e-06 +198 0.00025796481881020043 0.0003960426854170328 0 0 0 -1.5269598677684605e-05 +6981 -0.0007348674218932966 0.0006730318580146443 0 0 0 3.698607217675833e-05 +6996 -8.341968067683404e-05 0.00022376134037163558 0 0 0 -5.54671727914776e-06 +5736 -0.0008794009615190748 0.0003105258911403298 0 0 0 -2.4456674673209357e-05 +7044 -0.0008956503099758152 0.0011021827064420793 0 0 0 -4.938577539958716e-05 +7053 -0.000602448257987754 0.0009264375190148325 0 0 0 5.903265620220532e-05 +7066 -0.0004613969032706755 0.0008595167712640457 0 0 0 -5.575325742349562e-05 +7133 -0.0002404458356754335 0.0003076867322872379 0 0 0 3.498417281418354e-05 +7143 -0.00047153289883050675 0.0009226710110506531 0 0 0 7.516275309348634e-05 +7198 -0.0006398328663645978 0.0006801086674272967 0 0 0 3.2742421127276097e-05 +7199 -0.0008510406308215749 0.0005223344136649013 0 0 0 -7.192395869764354e-05 +3304 -3.0091876287699453e-05 0.00015524021908134536 0 0 0 3.5380155411373776e-05 +7232 -0.0005346917165248665 0.0008903291222106184 0 0 0 -1.4499541591806687e-05 +7235 -5.0687707822542275e-05 0.00024226234129675004 0 0 0 2.3452568662281867e-05 +7261 -0.0001642508903560513 0.00026631327034221726 0 0 0 -1.6371123709745013e-05 +7281 -0.000741860198234471 0.0006676451684400094 0 0 0 -4.318225947261086e-05 +7294 -0.0002498875004462634 0.0004585834797773194 0 0 0 -4.813012072782025e-05 +7346 -5.622505312566493e-05 0.00019819554859659087 0 0 0 8.935579041604675e-06 +7347 -0.0006482321921542614 0.000715362605217517 0 0 0 -8.820661703031005e-05 +7350 -0.0002541400462549057 0.00033581961709313387 0 0 0 5.192515916448993e-05 +7390 -0.00022815111212133178 0.00030985479004656276 0 0 0 -3.737659193797114e-05 +5413 -0.0010465788824521106 0.000663397276297763 0 0 0 -5.7728627778320275e-05 +6414 -0.0007032980525891519 0.00022114969801225362 0 0 0 0.00020503026256387798 +7443 -0.0001343487386617856 0.00011815313653262264 0 0 0 4.572622036525682e-05 +7451 -0.0005000791569985422 0.0008782330937104374 0 0 0 3.389551653435593e-05 +7462 -0.00020306981986284485 0.0004768434138725165 0 0 0 8.461359019574227e-05 +7485 6.165073937385054e-05 0.0006239113252367352 0 0 0 -0.00010899328580116062 +7493 -6.92730129141605e-05 0.00027954740492869273 0 0 0 -3.012765878086788e-05 +7561 -0.00041036038391758183 0.0007071237318298661 0 0 0 -0.00011962787996850263 +8844 0.00013833474554418137 0.0002588179412771907 0 0 0 0.00024876749611892876 +7598 -0.00011760182686296017 0.0002253081011422695 0 0 0 1.0614312880647994e-05 +307 0.00021196652111019645 0.0003259428125760332 0 0 0 1.621050747433946e-05 +3420 -0.0010105296557820574 0.0006007121192252848 0 0 0 2.3244655697784093e-05 +7681 -0.00016064099653922048 0.00022928140824330747 0 0 0 6.627573389320131e-05 +7790 -0.0009251133509354189 0.0009011086264371752 0 0 0 -0.00021993622269690603 +7816 -0.00017275344719254403 0.00025501419589732627 0 0 0 3.337213715030089e-05 +7822 -0.0007725221844354328 0.0005134483071180212 0 0 0 -0.00016019506000792159 +7834 -0.00012296037579473276 0.0007002518352511412 0 0 0 -2.9887426345651366e-05 +106 -5.858063996229179e-05 0.00047053460698916476 0 0 0 -3.1917108918493534e-05 +7858 -2.3468120788469243e-05 5.949152169894064e-05 0 0 0 -1.4495334764406814e-05 +7930 -0.0001440217258093117 0.0006760075180547352 0 0 0 -3.413281981952965e-07 +7938 -0.00014202163103371415 0.00021938640407952558 0 0 0 -6.748341566252975e-05 +1818 4.230775054969665e-06 0.00013557234398575894 0 0 0 4.434934020787616e-05 +3054 -0.0008586314762399507 0.00030905547634564406 0 0 0 -4.4658281506602823e-05 +779 2.725968355506598e-05 0.000350521487720555 0 0 0 2.1735242350780057e-05 +8008 -0.00016535193536677706 0.00021485712923635604 0 0 0 6.455822251054449e-06 +8038 -0.0007297376573928466 0.0005985926989454013 0 0 0 3.407453374774656e-05 +3325 0.0001793715382046396 0.0004961111080775537 0 0 0 1.5580021323830495e-05 +8085 -2.627442221761414e-05 5.397293899635638e-05 0 0 0 3.9413329424144576e-05 +8096 -0.000805848789063219 0.0004919465242622123 0 0 0 0.0002195266547975443 +8114 -0.00014117168014934062 0.00023315310059470078 0 0 0 -3.107905010141509e-05 +8148 -0.0001805931233474628 0.00021866026507566655 0 0 0 -1.683792831147969e-05 +8179 -0.00013784785343596878 0.00039130099779519003 0 0 0 5.740079498413971e-06 +8184 -0.0005367726100720936 0.0009598253062354973 0 0 0 -5.011696745927052e-05 +8186 -0.0006900906805632829 0.0008343719743779521 0 0 0 -6.874200046780316e-05 +8284 -0.0004693534259866009 0.0003663813917321822 0 0 0 -1.4925666191633536e-05 +8307 -0.0006233167538129246 0.0010335874646124374 0 0 0 0.00014638758513875277 +627 -0.0010276059294282661 0.0005820430332196137 0 0 0 6.682725702013033e-06 +8362 -0.0006089614397513792 0.0011251659315825383 0 0 0 -9.347242264979232e-05 +8366 -9.231573348562117e-05 0.00037322009657424237 0 0 0 -1.573101660650158e-05 +8388 -0.0001759699253570677 0.00024225073805676114 0 0 0 -5.050417756980357e-07 +1038 8.31865213124002e-06 0.0003488168150347671 0 0 0 4.439214596626084e-06 +8474 -0.0009703807253712422 0.000949259905961045 0 0 0 -4.7614288141290086e-05 +1515 -0.000759132936094958 0.0002253125376678344 0 0 0 0.00011978865711353898 +8502 -4.085787329104127e-05 0.00034375551596194337 0 0 0 8.975274578664157e-06 +8546 -2.6047472821995325e-05 0.0006248711411833624 0 0 0 3.6792219417533224e-06 +8562 -0.0009473460143949243 0.0005786501986335417 0 0 0 0.000605470992332483 +8596 -2.2941575741796594e-05 0.0003044835356091024 0 0 0 -6.334256359324032e-06 +8623 -0.0005849542923983124 0.0007088818633741411 0 0 0 -7.442183794414289e-05 +8637 -4.226186483775374e-05 0.0001759143130024425 0 0 0 2.9904148639796913e-05 +8676 -0.0036633186319955983 0.0014017197398551256 0 0 0 0.0015166711606351283 +8678 -0.0004787774576067445 0.0007379424158446107 0 0 0 -3.474099456007809e-05 +8705 -1.1662859871134922e-05 0.0003196814050673323 0 0 0 1.3233965608823132e-05 +8731 -0.0007891469404859063 0.0006271321767715189 0 0 0 -1.996169527808243e-05 +8797 -0.00015528044791400183 0.00023120616984148882 0 0 0 1.522777133659796e-05 +8805 -0.000656451194462351 0.0007151319800133538 0 0 0 -9.488446950919863e-05 +8847 -0.0009168443039749584 0.0005091192749633531 0 0 0 -3.1032472397232616e-05 +8926 -0.00042626781668473067 0.00018932956184707227 0 0 0 -4.5413369054231186e-05 +2609 -0.0009974915890465705 0.0003656467196093323 0 0 0 7.968946393149172e-06 +8946 -0.00033714916165303153 0.0001266539193136243 0 0 0 -5.676619756404293e-05 +8968 -0.0001736781727150499 0.0004421435934058906 0 0 0 -5.344931509487948e-07 +8974 -0.00037314907755368806 0.0002833290618133247 0 0 0 3.510553715420863e-05 +8993 0.00044953742322444574 -1.566584375876393e-05 0 0 0 -0.0004961072200715838 +9003 -0.00013641584555713944 0.00023982457662167066 0 0 0 6.979520194095817e-05 +4846 -0.0008446676800290321 0.00017374400986916458 0 0 0 -5.836784403749318e-06 +9097 2.6174301615626525e-05 0.00012684171611653444 0 0 0 -7.746911227959167e-05 +4218 -0.0010534449398349034 0.0006320110714639538 0 0 0 3.147479494649664e-05 +9117 -0.0004428561727395339 0.0010456453542041749 0 0 0 0.0004556582940579766 +6396 0.00018022950816335657 0.0002725291763707651 0 0 0 -0.0001620493725112557 +9224 -0.00015236010138464402 0.00022873961969826847 0 0 0 -7.394898639790914e-05 +9235 -0.0004221695568673524 0.00024339031152649266 0 0 0 0.00029340660064967596 +9276 -2.3785856395447454e-05 0.0006614954009787419 0 0 0 -0.00022583996297841636 +9286 -0.00015522018232336826 0.00022921182234481605 0 0 0 4.086177450560084e-06 +9287 -0.000283039081461862 0.0001014112947065958 0 0 0 6.372028257267702e-05 +5787 -0.000895137270542675 0.00029893878965161087 0 0 0 3.2811426114008344e-05 +9321 -0.0006817596397032447 0.0005963223149762675 0 0 0 -2.0293278127478293e-05 +9335 0.00029833929517191 -0.00020044655109653682 0 0 0 -8.574561339176384e-05 +9365 -0.00021901992702396138 0.0003063776356177243 0 0 0 4.52185681308459e-05 +9379 -0.0005517119653059802 0.0009151938046494456 0 0 0 -8.305087236471311e-06 +9417 -0.00022856010834060376 0.00016820880018058565 0 0 0 -1.5627940462259492e-05 +9429 -0.00018736933286223867 0.0006624945015787702 0 0 0 -4.4825141213323484e-05 +9473 0.00014520076829087962 0.0005679904498653213 0 0 0 -0.0006590698213437061 +9475 -0.0002620469546116769 0.000252300135161499 0 0 0 3.6309636114664064e-05 +3520 -0.0009551682814217541 0.0002841023130009292 0 0 0 -6.613623780537681e-06 +9597 -5.3906074375314076e-05 0.00014436344757497163 0 0 0 -8.301314047494201e-05 +9599 -0.00016190160394647838 0.0003152604287278061 0 0 0 2.2155844928172198e-05 +9604 2.8527346062337664e-05 8.0644311104572e-05 0 0 0 -1.239843381012611e-05 +9612 -0.00032202018574869996 0.0001359327760250917 0 0 0 7.152209290900606e-05 +9641 -3.92329418765628e-05 0.0005680043889125273 0 0 0 -1.7311387565561845e-05 +9659 -4.802753940711457e-05 0.0005593244680988099 0 0 0 6.920842721044092e-06 +9688 -0.0006160785216070417 0.0007967875838327744 0 0 0 -0.00039678611568234813 +8387 0.00015973107642225208 0.0002669373888668494 0 0 0 0.00024608068033142637 +9772 -0.0006335740474760935 0.0005259818054707108 0 0 0 -6.368727703942001e-05 +9779 -0.00019094639949218328 0.00035379520276489126 0 0 0 2.557266577429188e-05 +9806 -0.00012235445344429928 0.00040196788062195365 0 0 0 -1.4843551370656114e-05 +9856 -0.000525271460469895 0.0002604068400923987 0 0 0 0.00015107393746568916 +9919 -0.0004312891181065502 0.000764304753467168 0 0 0 -0.00017281066591353202 +9932 -0.0007308165015399036 0.00056724871364709 0 0 0 6.219102799482589e-06 +9935 -0.0005701477189008804 0.0009748100504122543 0 0 0 -1.729677347383362e-05 +9950 -0.001101246673722191 0.0008846195058074279 0 0 0 0.0002476977785377159 +9956 -0.0007147813224822519 0.001143215392072491 0 0 0 6.7580173625932725e-06 +9971 -0.0006685709450182818 0.0005722213738322103 0 0 0 2.441112060300333e-05 +9975 4.9116108738552866e-05 7.741100698117938e-05 0 0 0 -3.0981716838679205e-06 +9996 -9.544002869310344e-05 0.00027204371613196647 0 0 0 2.308742860066249e-05 +2454 -2.254174650928365e-05 7.933591886979107e-05 0 0 0 -2.9395906988437492e-05 +6588 -0.0003931815753129092 0.00036215621899610866 0 0 0 -0.00017791903654275725 +8624 -4.607159233376612e-05 0.00019069306086624065 0 0 0 1.9472033637507912e-05 +1379 -0.0003675737162886858 0.0006635717254606426 0 0 0 -2.4925226980721588e-05 +3080 -0.0009501237700367925 0.0005456716936985563 0 0 0 -8.526424743317588e-07 +3571 5.1549072641960844e-05 0.0005494090360268763 0 0 0 -3.403967754354451e-05 +923 0.0002497899800422693 0.0003160317954175303 0 0 0 4.898564897969832e-05 +8060 5.2987246086664365e-05 8.517021012434986e-05 0 0 0 2.1674340133454082e-05 +4057 -0.0008775841000269533 0.0004495158646794224 0 0 0 -6.491325186370599e-06 +1976 3.065314578595928e-06 0.0005651034589641295 0 0 0 -2.181334209659859e-05 +8079 9.926793291918483e-05 0.0006658883293008826 0 0 0 -0.00029617596586078624 +3053 -0.0004552366758056744 0.00017303781658964447 0 0 0 -0.0004310831455330682 +8791 -8.535072553273338e-05 0.0005623625178972569 0 0 0 -2.4975128674366217e-05 +5796 7.132916916581008e-06 0.00038142163290880306 0 0 0 5.222632632293891e-06 +6045 1.2468891171038458e-05 0.00030868131414844954 0 0 0 -0.00011299591078801517 +3178 -0.0008583608170497159 0.0004505973236335428 0 0 0 1.4645334073097722e-05 +2173 -0.0007508105878736754 0.0001574295561116385 0 0 0 -0.00012690619950931313 +3255 4.287228666457112e-05 0.0005071257053923279 0 0 0 2.8084566877084503e-05 +7979 6.33902164042822e-05 0.00026470989834143836 0 0 0 0.00022246435484713067 +4755 -0.0010143972698737865 0.00043868501100233676 0 0 0 -2.4711422776772898e-05 +7272 -0.0008499689024274717 0.00033664429006895734 0 0 0 7.230090822498358e-05 +7477 0.00022279603177017033 0.0004998858520555647 0 0 0 -4.5534499124525735e-05 +9974 0.00012852375337831824 0.0005296190805718803 0 0 0 2.2030268311581402e-05 +256 -0.0008632503705592974 0.0003209489591118176 0 0 0 2.01777565027325e-05 +7714 -0.00023303946390198257 0.0006632252219679868 0 0 0 -2.7571356616700404e-05 +9000 0.00010155618146129787 0.0004331844687364713 0 0 0 4.992848230087035e-05 +2980 -0.0008718816893096962 0.0003816263138281415 0 0 0 4.850421799725289e-05 +9865 -0.001077836550344108 0.0004334097338621345 0 0 0 0.001392101868370531 +4782 6.94964407589116e-05 0.00043651418143522095 0 0 0 5.994045663845078e-05 +3775 0.00010783488267037344 0.0005823540277865419 0 0 0 -3.7980857831082067e-05 +7747 0.0001189241968775165 0.0004898356916921956 0 0 0 -3.614763554060664e-05 +4331 -1.6712186679603964e-05 0.00011178048453237931 0 0 0 -5.465507818849793e-06 +9409 6.62630243640239e-05 -0.0014848798119955439 0 0 0 0.0009730374512244737 +2559 -1.598161023670335e-05 8.383196481359686e-05 0 0 0 -1.5249006655653683e-05 +7120 -0.0008690087698630446 0.0002462995097848456 0 0 0 1.531617310344696e-05 +3500 -0.0007838327594308415 0.0001491282660756138 0 0 0 5.224450594861351e-06 +157 -0.0002456821701819359 0.00013447508623656653 0 0 0 -7.498347552120512e-06 +7406 -0.00034723145174391483 0.00013186220075452914 0 0 0 -4.0004974881668134e-05 +2 -0.00012349992366021527 0.00021618730104339186 0 0 0 6.684701147374103e-07 +5154 4.858240193842065e-05 6.788583956334664e-05 0 0 0 0.00010849897189407315 +38 7.685725211640613e-05 -0.00015712819068013935 0 0 0 6.759432643772625e-06 +88 -5.160484712759851e-05 0.00015043186602425277 0 0 0 1.4378106553115159e-06 +978 -0.00014789444075600714 2.7624715262936423e-05 0 0 0 9.760411326339134e-06 +8047 -0.00018695217500676282 0.00011805916710060182 0 0 0 -4.146916926315933e-06 +150 0.00027928304016628367 0.0003941768355541649 0 0 0 -9.034943476613244e-07 +177 0.0003839127636935987 0.0005303170103451205 0 0 0 -4.1875285213496185e-06 +189 0.000302383063749682 0.0005125573548655583 0 0 0 -4.737934281741177e-06 +197 0.000413254915781053 0.0006578299694438635 0 0 0 -1.183292401172815e-05 +233 0.00030619678736502903 0.0004594268061083172 0 0 0 1.603959076239961e-05 +271 0.00020582735820160236 0.00045119942231698726 0 0 0 -1.0478675619389917e-05 +357 0.00037311750978731757 0.000602868849778507 0 0 0 -6.2129737502363674e-06 +385 1.9044735411360863e-05 0.00019103699480379726 0 0 0 4.854818596103374e-07 +5714 0.00016384328220436689 0.0003753153752063654 0 0 0 -3.459090338504531e-05 +2495 0.0005514412931540334 0.0008298429729791031 0 0 0 -1.931604526332296e-05 +508 0.0001423264944344163 0.0003225516637332386 0 0 0 -2.1882156369837812e-05 +575 -0.00011392645703646639 0.00017970520645981688 0 0 0 -4.3455789332065245e-07 +647 0.0002029931439576872 0.0004114086117713685 0 0 0 9.662757370144128e-07 +655 0.00024465384815892667 0.00016612214016480277 0 0 0 -5.157158594424587e-07 +658 0.00020025326268895648 7.587729369882593e-05 0 0 0 -2.4435954285958992e-05 +663 0.00046191835636014215 0.0006963990153148843 0 0 0 -4.060429995375488e-06 +685 0.00020421857370131528 0.00036443249429682145 0 0 0 1.8314891937629686e-06 +695 0.00016519501056743653 0.0003474938719350707 0 0 0 -2.8270425516072907e-05 +5221 -0.0002004729789687849 0.00013072100372374723 0 0 0 7.256261550378022e-07 +7215 0.00031052777268014513 0.0005021297441910656 0 0 0 -2.3908225313409144e-05 +768 -0.00011214961286129666 -6.701084596477314e-05 0 0 0 -3.291984406257487e-05 +797 0.00024679115420073264 0.0001300254720739042 0 0 0 3.896445000983618e-05 +6468 5.0758400156390565e-05 -0.00015681442006310444 0 0 0 -6.184498185200604e-05 +871 -7.1121800520357e-06 0.00024839939872031014 0 0 0 -2.9172838722908695e-05 +899 -8.35443637160515e-05 9.385305457030576e-05 0 0 0 -1.3945231083702439e-05 +7368 1.3703418170110385e-05 -0.00019389281642545074 0 0 0 2.4040087034346002e-05 +2598 0.0004834187944324333 0.0008039736742622331 0 0 0 -4.6339451089879444e-05 +1063 -0.0002128810055890248 0.0001630552325600666 0 0 0 4.534207814574424e-05 +1077 0.00036073034154588524 0.0005764284224392404 0 0 0 1.4435507694596241e-05 +2378 0.00021356600082310783 9.317630496949533e-05 0 0 0 1.0629376614318371e-05 +1096 0.0002482505098813394 0.0004638667062744762 0 0 0 -1.4464973407325092e-05 +1117 0.00027139242228522146 0.00032494344358552753 0 0 0 -3.7322230151706815e-05 +2446 -0.00016945234771912276 3.297063421111776e-05 0 0 0 8.475249089210263e-06 +1241 0.00016454831632804726 0.0001642614573481567 0 0 0 -1.2202453605982661e-05 +1245 -4.5750586237382985e-06 0.00027473815688155236 0 0 0 -1.6383009236169767e-05 +7259 -0.00014764033185678577 1.0037435589075535e-07 0 0 0 -3.830715048249444e-05 +1346 7.224890110879155e-05 0.00025084067920502057 0 0 0 1.904710860936528e-05 +5565 0.00029042768439885546 0.000347056613937325 0 0 0 1.8478957871781812e-06 +1393 6.531189903933896e-05 0.0002903874015167074 0 0 0 -2.521516618920813e-05 +1399 -0.00010485534658444979 4.426854326095471e-06 0 0 0 2.2489843018730745e-05 +2487 -0.00020753075872766028 -2.709329864396129e-05 0 0 0 -1.2131910287902786e-05 +8996 0.0008960262265761456 0.0002313864272906385 0 0 0 0.0011346100312010702 +1476 0.0003682187339062902 0.00047884852420745645 0 0 0 1.6892937674766365e-05 +1486 0.0004585333777702387 0.0005993624156343254 0 0 0 6.0228283936374754e-06 +1505 4.983820368377898e-05 0.00033646057206137046 0 0 0 -3.5456177341454856e-05 +1506 0.0003358420804423033 0.0004171998200535493 0 0 0 6.620563228324756e-06 +1510 0.00010163596200442789 0.00035660088074925065 0 0 0 -4.295452716531923e-05 +7797 -0.00019028084399787078 6.745232197834956e-06 0 0 0 2.258116473699398e-05 +9315 -0.00018171607778888634 2.7917754859557606e-05 0 0 0 4.617778843804267e-05 +1702 2.973797485330287e-05 0.00023805912182138508 0 0 0 7.924038533023202e-06 +1771 -9.526623077044935e-06 0.000243912695525653 0 0 0 -1.5647109800190656e-05 +1778 -0.00019874663278486303 0.0001414750907255088 0 0 0 5.640385520968493e-06 +1857 0.00017066809481452945 0.00017736358705495902 0 0 0 -2.0890141989671436e-05 +1953 0.000361257803057224 0.0005508999416724965 0 0 0 -1.4860305387492404e-05 +9607 7.707445935550843e-05 0.00032295338675164407 0 0 0 -1.4980379718132485e-05 +1994 -4.749288628361814e-05 0.0002147316236186186 0 0 0 3.1984774162566927e-06 +9554 0.0005447129468954945 0.0007484420757221798 0 0 0 4.035418430879083e-05 +9818 0.00018488478049573904 0.0003241342932901575 0 0 0 -8.565393590327768e-05 +2188 0.0003274355362411321 0.0005007259897134497 0 0 0 -6.268246761453789e-06 +2189 0.00014048831074228157 0.0002359018467555589 0 0 0 1.0056033311377912e-05 +2198 3.8672551189314383e-05 0.00023885972437565477 0 0 0 -5.512211818093326e-06 +2212 -8.342896622769539e-05 9.080472399441298e-05 0 0 0 5.750808109427329e-05 +2274 0.00011158890935146841 -0.00011231792079444568 0 0 0 0.00013242939339033668 +9894 -0.00042699378460487724 0.0009038944622969712 0 0 0 0.00040553328138089864 +2438 0.00012192229184297473 0.00024204861470631466 0 0 0 1.5400391950870843e-05 +2470 0.00016029379278542102 0.00030800878287769374 0 0 0 -4.0629852246807685e-05 +2239 -0.0001922492940234663 0.0001183591986328283 0 0 0 -2.9718394805252783e-06 +6217 -0.00018838016690368272 -1.5217371213865816e-05 0 0 0 9.203174948718054e-06 +9925 -3.5441571039812314e-05 -7.029898576578611e-05 0 0 0 2.7424991036534514e-05 +2622 0.0003229115451463283 0.00046155341929126644 0 0 0 8.804779714759877e-06 +2640 0.00030463649508484335 0.00037642504062787764 0 0 0 4.562792911856669e-05 +2647 0.0002717764662591042 5.2779326114395495e-05 0 0 0 3.7910171509348595e-05 +1216 -0.0002416137504000611 0.00010815178753818491 0 0 0 -2.7462945487027167e-05 +2653 0.0002613213499677405 0.0005093909353635609 0 0 0 -3.5492205310150044e-05 +2667 0.00033763700612070107 0.0003838029434048122 0 0 0 1.2627210408610373e-05 +2675 0.0004577569533708783 0.0007192809524670836 0 0 0 -4.783534709129625e-06 +2677 4.0159430200436357e-05 0.00025777268400605316 0 0 0 -3.6253486660662696e-05 +2687 0.00027331931636668844 0.0004555896181958556 0 0 0 1.2022297217877095e-05 +2696 7.85341040065065e-05 0.0003196569936823064 0 0 0 4.01597546774762e-05 +2741 0.0003499384642435795 0.00044619538170459976 0 0 0 2.6839717843425945e-05 +2772 -8.359150347114386e-05 0.0001554475962305862 0 0 0 2.6383062994770306e-06 +2620 0.000216789281736854 0.00034453840991182044 0 0 0 -3.893084565685899e-05 +1186 4.012844404472377e-05 -0.00011855996078354451 0 0 0 -4.6672594578465276e-05 +2854 0.0003281145222717442 0.00038253705434922636 0 0 0 1.9940837501871824e-05 +6767 -0.0001509530829579067 -9.13158439315993e-06 0 0 0 -3.241744442760167e-05 +213 -0.00020753544503542622 -7.519132579193855e-06 0 0 0 -4.342881857890366e-06 +9622 0.0005159607218913121 0.000752268005684986 0 0 0 9.76956813297395e-06 +2947 -0.0001950709357507639 0.00013976332240050912 0 0 0 2.7020166967328397e-05 +2959 0.00048081697014227957 0.0006804706973988277 0 0 0 -9.408448614382374e-05 +2968 1.5057256495002153e-05 0.00012789035757197458 0 0 0 -3.58987938513074e-05 +2308 0.0004679459997847245 0.0006859529117638727 0 0 0 -1.5369595422958396e-05 +2216 -0.00017243776016560744 -5.187749806876464e-05 0 0 0 7.5711018357862e-06 +3045 7.71045556545352e-05 0.00030892682738915177 0 0 0 -1.866273376126237e-05 +7440 0.0005610077609802433 0.0001337775181831669 0 0 0 0.0011698309274195272 +3074 0.0003776289740624951 0.0005072089598656121 0 0 0 -8.76131401038982e-06 +3098 0.00032477136513654276 0.00048707618339436433 0 0 0 -1.0556086159961903e-05 +1054 0.000520365208168295 0.0007469984527055404 0 0 0 1.2433723096847576e-05 +3169 0.0004994531699045108 0.0007230402346679194 0 0 0 -3.085125712763422e-05 +3189 0.0003522697866800814 0.0006297499225934788 0 0 0 -2.2441097879859614e-05 +9686 0.000384519271718453 0.000618875874934974 0 0 0 2.7096121037399073e-05 +3362 0.0003694689717312254 0.0005531496751609397 0 0 0 -6.567363314475203e-06 +3016 -0.00023866124378001485 9.126319520848793e-05 0 0 0 1.3977931317878192e-05 +3454 -0.00021641384985196055 0.0001150113370852633 0 0 0 8.539024524388279e-05 +3457 0.0003773458371527532 0.0005568668889811291 0 0 0 4.6057649168458075e-06 +3556 0.0004694682681910654 0.0006303538630733227 0 0 0 8.795536157274719e-06 +3582 0.00023063474228935982 0.00021440072727483615 0 0 0 3.9663013385386125e-05 +3602 -0.00013879758601613345 -3.320647377443078e-05 0 0 0 2.943493168413151e-05 +3629 0.0001905441891008918 9.907775897262222e-05 0 0 0 -3.727381442689663e-05 +3659 -0.00016407293840770248 5.862229520822022e-05 0 0 0 1.2460334024422126e-05 +3693 0.00023758282430189913 0.0003515701592836684 0 0 0 -5.346094365959141e-05 +9764 0.0003687825325028782 0.0005397010174378906 0 0 0 -2.604629497935471e-05 +3745 -0.0005023330777913317 -0.0008655393122830316 0 0 0 0.0002141924460920608 +3753 -8.417828804287664e-05 0.00017189002629156963 0 0 0 1.3070644428263755e-05 +5062 -0.00016034371407320087 -3.331358872577462e-05 0 0 0 6.885557911499374e-06 +3766 0.00036838684002804556 0.0006347215045441837 0 0 0 1.2216375346305443e-06 +3810 -0.00010212900175693041 0.00017705443824029188 0 0 0 -4.914384582674134e-05 +4776 0.0003178243821959217 0.000530717934898502 0 0 0 8.478191589342883e-06 +3836 0.00013199182663796343 0.00032159830205866853 0 0 0 -4.3593128525338586e-05 +3878 4.258502906486389e-05 0.0002613967956262867 0 0 0 -0.00013637102429897138 +3925 0.000399549568303426 0.0006786501106272866 0 0 0 0.0001006674873876093 +3950 9.095627284160329e-05 0.000325161428373368 0 0 0 4.357032636865737e-05 +4006 0.00022095940774255644 0.00043947639280761424 0 0 0 1.601975852753147e-05 +4032 0.00030340320972412245 0.0006419219929690144 0 0 0 1.2687807631352221e-05 +5261 0.00019533512746291168 0.00032115868055083177 0 0 0 5.133348169440572e-05 +4096 0.00015974941322353345 0.00020431514215259566 0 0 0 7.610180511624477e-05 +4105 0.000433841693970105 0.0005629804522427637 0 0 0 -3.066014245872938e-05 +4178 0.00019487259802475915 0.0003622788538513152 0 0 0 -2.3683771555460682e-05 +4210 0.00012767625940795 0.0001720588608987489 0 0 0 -4.083877577878209e-05 +4288 0.0002175582172778306 0.00012243167297073247 0 0 0 -2.28213131079421e-05 +4292 0.0004063148053613652 0.0006282485023117893 0 0 0 -5.931229749507937e-06 +4299 0.00033475285538108097 0.0004454527340561777 0 0 0 1.072121928835342e-05 +3874 9.195238446229939e-05 0.0002990686471087416 0 0 0 -1.6081985385115227e-05 +4303 -0.00012591213242936023 8.358945434519072e-05 0 0 0 7.74200298513816e-06 +520 -0.00023414305192313978 0.00012003982716610722 0 0 0 1.3491258897920065e-05 +8709 0.0005328124784861011 0.0007210816935429696 0 0 0 -9.45167207925953e-05 +2590 -0.00021454067474129874 0.00010794417603381556 0 0 0 -6.4022324924317615e-06 +4025 -0.00015265336823821048 -1.1678045933008078e-05 0 0 0 4.925808600817755e-07 +9914 -0.00015744198345181345 -2.058745049892441e-05 0 0 0 1.304736551315463e-05 +4441 5.194416977005929e-05 0.0002690188088457725 0 0 0 1.6941452621291347e-06 +4449 0.00043894960703091815 0.0006649279807108961 0 0 0 -5.229126372938276e-05 +4487 2.7746473657433877e-05 0.00026745253417831383 0 0 0 -1.4296870640212474e-05 +3109 -8.465097759965203e-05 0.00011456855647004203 0 0 0 4.1799521526391094e-05 +4548 -2.5724579213215154e-05 0.00021825318194144174 0 0 0 1.2453487930248416e-05 +4554 0.0003391643174305401 0.0003784150887196955 0 0 0 1.7531013012508167e-05 +4601 0.0003528860676846239 0.0005189928495916284 0 0 0 1.401523502008716e-05 +496 0.0005986451795018574 0.0008331897392147472 0 0 0 -3.768198710793517e-05 +2849 -0.0002501070576432438 7.993075270138228e-05 0 0 0 4.260412343162698e-05 +4688 5.012617810300284e-06 0.00023576308992532145 0 0 0 2.5806832205861237e-05 +4772 0.00012840127498230686 0.00042402588192987437 0 0 0 -2.722516674260357e-05 +6346 -0.00010685286751802017 -4.216408047864443e-05 0 0 0 2.872803320419195e-05 +4784 0.00012833267515783723 0.00023542250247375948 0 0 0 -2.905421655264353e-05 +5212 -0.00010127306831509686 -5.4690320843911064e-05 0 0 0 -7.809613316595742e-05 +4884 0.000268487481632481 0.0005801284932669195 0 0 0 -7.349747244214684e-05 +4940 -1.2308590500574166e-05 0.00024806707846475556 0 0 0 -5.5389073909978596e-05 +4961 0.0003178965905798543 0.0003795885759802019 0 0 0 -2.2772970255284246e-05 +5043 0.00043894807183921414 0.0005831287267052129 0 0 0 3.728663488638467e-05 +5083 0.00046719182743663504 0.0007434285788608674 0 0 0 2.676951952375216e-05 +5089 0.00018744751807965726 0.000332469000907982 0 0 0 4.1040047101457985e-06 +2560 7.356314816039403e-05 -0.00015018598444312 0 0 0 -7.832017211053547e-07 +5178 1.9815132369476033e-05 0.0002759087705013763 0 0 0 -5.7231034380390714e-05 +1637 -6.414195747422609e-05 -4.236530824439629e-05 0 0 0 6.242679109601808e-06 +5235 -0.00014573782962933399 -1.2781070373242596e-05 0 0 0 -9.741141867206032e-06 +7639 0.00022591754521033593 0.000365133445984269 0 0 0 -8.076366283366552e-05 +5357 6.647895216065311e-05 0.00023538302524421664 0 0 0 -0.0001003884322628516 +5380 0.0003897860241638707 0.0005396713363130642 0 0 0 -1.7301816170549723e-05 +5500 0.000334299677558778 0.00046751192222040593 0 0 0 -1.541790366396356e-05 +5580 8.874193663485558e-05 0.0002471918090871103 0 0 0 0.0001000748240673747 +5624 0.0008188586519974879 0.0007438099162016791 0 0 0 3.834250666278245e-05 +5724 0.00032630302305099455 0.0006331045902481842 0 0 0 1.4960880918323981e-05 +5946 0.0003143725029242573 0.00048089799516734126 0 0 0 -6.296224741825075e-06 +5948 0.0003237089208209299 0.0004288350000516577 0 0 0 -1.0784322821377708e-05 +5950 0.00031712564139013775 0.0005212628439629529 0 0 0 1.6252941715333253e-05 +5955 0.00012392099444769806 0.00029916206013088276 0 0 0 -2.9520289192378814e-06 +5965 0.00033110119452489856 0.0005092382738440574 0 0 0 -2.4059361631788422e-06 +5972 0.00016463204655921612 0.0003791597774908406 0 0 0 -3.7565316317997623e-05 +6015 -0.0009953350906135579 0.00030416965760014406 0 0 0 -0.0009723754477876787 +6019 0.00045595300097984944 0.0006977832858460438 0 0 0 -2.8140789702841127e-06 +6032 0.0003971724293836595 0.0006182535238271585 0 0 0 -2.434110069840849e-05 +6088 0.00020733663948747645 9.896024427450831e-05 0 0 0 -7.133639867074963e-05 +6134 0.00022995442557088253 0.0004254053449570086 0 0 0 -2.7177194881542077e-05 +6152 0.00022629566494300685 0.0003511376724280531 0 0 0 2.754935318006329e-05 +4458 0.00048683869024809335 0.0007794075022580321 0 0 0 -1.724249257500825e-05 +6259 0.00020517845131560374 0.00015604783806570015 0 0 0 -5.5701630071913284e-06 +6310 -8.703236532982573e-06 0.0002343021471967189 0 0 0 -9.65968630934303e-05 +6312 0.00010429342677102985 0.0002768218994976076 0 0 0 -7.076829682329893e-05 +9819 0.00022439574474825372 0.00035558221060488077 0 0 0 -0.0001785454039085728 +8107 -0.00012229440497231025 0.000110462546056466 0 0 0 1.0060091058790269e-05 +6425 0.0003733975957192274 0.0005772621935010474 0 0 0 -2.543129224249783e-05 +6452 7.0645148326661985e-06 0.00025294312836913183 0 0 0 -0.00010976144862055521 +6480 0.0001596402035011312 0.00011929070196916746 0 0 0 -0.00010317051459695578 +6565 -0.001507875795158543 0.0005656648736299547 0 0 0 -0.002727302749635967 +339 0.00027512889610628317 0.0004884932406958295 0 0 0 -1.4606828408764745e-05 +6549 -6.024119251219823e-06 -0.00012853594796872298 0 0 0 -0.00015692072413446407 +6625 -6.262072006304368e-05 0.00023107579321634853 0 0 0 -4.2175592803229155e-05 +6700 -0.00024852002297668914 0.00012670290584194447 0 0 0 -9.670092326852131e-05 +6769 9.909249372456757e-05 0.00017954766009831637 0 0 0 2.9255500458495195e-05 +3149 -0.0001715007990102399 -2.3486890196773346e-05 0 0 0 -1.00729399858566e-05 +6911 9.66006991209754e-05 0.0003271388712420223 0 0 0 -4.1998912053209615e-05 +6958 3.595315560739276e-05 0.0002764061772780191 0 0 0 -8.171292230450064e-06 +169 0.00021473014999081333 0.00023327658160538569 0 0 0 3.498696577994546e-05 +7034 -0.0002034049245172617 0.00015879543462463374 0 0 0 6.41000618691988e-05 +8756 -6.161401053872535e-05 0.0002097028318519956 0 0 0 -6.915190396049629e-05 +7099 1.3710872974410251e-05 0.00025894811503636753 0 0 0 -5.711324760747309e-05 +7153 -0.0002237277304227136 0.00011729655282852475 0 0 0 -7.759900019692332e-05 +7155 3.2095687479827195e-06 0.00022929847461629723 0 0 0 -2.1155387677175775e-05 +7159 0.0003225398844150961 0.0003842191517018136 0 0 0 3.0687254429930574e-05 +7209 -0.00020853682274238285 1.1883649323092673e-05 0 0 0 0.0002680833273535225 +7213 0.00026196349056973613 0.0005285891912023068 0 0 0 4.9422194245776137e-05 +9644 1.919118448235287e-05 -0.00015373505271285825 0 0 0 0.0001527973658673672 +7231 -1.0449684919477692e-05 0.0002832428785984444 0 0 0 5.154078141181408e-05 +6334 0.00020025136366699623 0.0003718064214898786 0 0 0 -1.8927148138889637e-05 +5346 0.00022792172796985352 0.0003837972564078695 0 0 0 4.332673589484977e-05 +7373 0.0004401709887859789 0.0007188682639969206 0 0 0 -2.9725486986318917e-05 +7407 0.00035962547436662213 0.0005313008488904244 0 0 0 4.847703397168813e-06 +7481 0.00028596269748143254 0.00019820162323241526 0 0 0 -2.6416266586440452e-05 +7486 0.0003507118098638328 0.0005445853759258875 0 0 0 -4.930546233844927e-05 +8688 3.951200666012862e-05 -0.0001612322923956631 0 0 0 0.00010963360338839746 +7680 9.788274256885903e-05 0.00033906467879851146 0 0 0 -5.285808096293854e-05 +7743 2.2910313393756414e-05 0.00019957164586766087 0 0 0 -1.59761728457411e-05 +7783 -8.755462537894468e-05 0.00018467866943619926 0 0 0 -4.701812489632857e-05 +9820 9.524785370472431e-05 2.977859176048443e-05 0 0 0 -3.31210079896023e-05 +7820 0.0004083643300582584 0.0006216992609796535 0 0 0 3.2766709957867416e-05 +7860 0.00032394070260697146 0.00039520920550702453 0 0 0 -2.3155054998158305e-05 +7874 -5.6387646060313856e-05 0.00023259499664855142 0 0 0 -9.646144454459357e-05 +7898 -4.550729425628547e-05 0.0002554020627473716 0 0 0 -8.275336723912356e-05 +8006 -0.00010726012869458762 -1.4120519165027583e-05 0 0 0 -0.0005720811447223626 +8024 0.0003289888926122691 0.00042672829512770247 0 0 0 -3.173473869656784e-05 +5176 5.221001770384014e-05 0.00026345259276123545 0 0 0 -6.2575796729164684e-06 +8054 0.0003074326271462315 0.00047361176382385516 0 0 0 -3.004936395082132e-05 +8082 0.00022394829891664433 0.0004780048610801621 0 0 0 -6.342080354995531e-05 +8117 0.00020212088960713435 0.00036488016033673064 0 0 0 4.53555545547535e-05 +8121 0.00015718112252847218 0.0003757728909636794 0 0 0 -1.5952659086413005e-05 +8126 0.00034212003603648186 0.0005447748255688338 0 0 0 3.479916371081938e-05 +7665 0.0004331923086634586 0.0007294467643716121 0 0 0 -3.5087069103634197e-05 +2283 0.00013414139111780245 0.00011079849873888115 0 0 0 0.00015035546828686045 +8221 0.00034251631415267833 0.000580691669025007 0 0 0 -8.104174435058079e-05 +8230 0.0018764558864958181 4.575749821811003e-05 0 0 0 -0.000643149827779468 +9459 -0.00015315846444446422 6.238429155260093e-06 0 0 0 7.178001946017358e-05 +9844 1.452235129044462e-05 0.00023765611565787424 0 0 0 -7.604031982806323e-05 +8330 0.0003236320184517042 0.00040090997678819896 0 0 0 5.518910307673549e-05 +8472 0.00032524041995832796 0.00042912095710394364 0 0 0 1.0066730929455569e-05 +8555 0.0003250300225257845 0.0004922674319349309 0 0 0 -1.4239523537769832e-06 +8607 0.00025893082652314907 0.00036136894315565274 0 0 0 4.488567435017659e-05 +8615 -2.030959295376225e-05 -9.17245618427161e-05 0 0 0 -8.418689900831886e-05 +8629 8.31041816188818e-05 0.0002635314548271487 0 0 0 7.516839603800164e-06 +8633 -7.648858441349582e-05 0.0002358238913974215 0 0 0 -6.181396435770075e-05 +418 -0.0001619316861416913 -2.083380654859723e-05 0 0 0 -7.88166755503352e-06 +8799 -1.0453012095939393e-05 0.00031335005350412713 0 0 0 1.7805631283380015e-05 +8801 -7.247429427277197e-05 0.00025249741436150243 0 0 0 -9.51007668301945e-05 +8813 4.215688835333178e-05 -6.732097433162199e-05 0 0 0 -5.909502075412852e-05 +8819 -0.0015326080903554297 -0.0006427053341440564 0 0 0 -0.0001575932029232814 +9347 7.324615311545411e-06 -0.00020125105665875367 0 0 0 7.196846030562932e-05 +8836 7.149403345871559e-05 -0.00017878957322983556 0 0 0 -0.00017170690767322143 +1840 0.0002631945538863234 0.0002946844237231301 0 0 0 4.674345556446648e-05 +8867 0.0003412554789716584 0.00046991263372355276 0 0 0 5.055794048773239e-06 +8875 0.00012108318637801699 0.00020653067812888843 0 0 0 -9.125951979414169e-05 +8879 0.00018249786650443014 0.0003640961308637394 0 0 0 0.00015533140155561407 +9812 0.00035512779880244054 0.0004320954912088615 0 0 0 -2.2369837799671234e-05 +8944 0.00033807830383128984 0.0004984382670305484 0 0 0 7.535585460902508e-06 +9750 0.00023782031106136012 0.0004487798496394733 0 0 0 -9.896558293299425e-06 +9942 1.8618445035006592e-05 6.415133195628612e-05 0 0 0 -0.00010892836851906628 +9020 5.351127100782373e-05 7.87078439262802e-05 0 0 0 0.00030469334168926285 +9528 0.00026552155572041387 4.9162847570820014e-05 0 0 0 0.00012497883278356336 +9063 0.00028184801378948986 8.287310638250365e-05 0 0 0 -4.211931494342378e-05 +9101 -0.00014221546577990405 0.0010127084012797013 0 0 0 0.0005385603239622246 +9134 0.00036023177958776736 0.0005772082054784529 0 0 0 5.44904890453234e-05 +9137 0.0007247147029532723 -0.002000070290813886 0 0 0 -0.002556206566910575 +9154 0.00026203557240087326 0.0001720177637480187 0 0 0 -3.551278862958487e-05 +9198 0.00018479644894651292 0.0004213681695768876 0 0 0 -5.706799089360235e-06 +9220 0.00012468692904522865 0.00022919398760191896 0 0 0 6.706546439653853e-05 +9248 0.00021361504269073415 0.0001195122505101916 0 0 0 8.347277908801677e-05 +9253 -0.00011936665254242673 -4.336757012237114e-06 0 0 0 7.386320916240333e-05 +9327 8.667879753808794e-06 0.00030959135480671695 0 0 0 -3.470849774077842e-05 +6464 0.00012661807638800058 9.110543880516217e-05 0 0 0 0.0003929942012977927 +9362 0.0002468679244353883 0.0003922962710537523 0 0 0 0.00010451554776535422 +9367 2.5838151338081316e-06 0.0002065673873377416 0 0 0 -1.9495092271208326e-05 +9378 1.715733919021764e-05 0.0002532662088476948 0 0 0 -0.00011319802327523116 +9427 0.00020862255317689467 0.00035433205392971335 0 0 0 2.9684956941340018e-05 +9441 -5.783473362032646e-05 4.053464248344429e-05 0 0 0 2.0064296976224523e-05 +2054 -1.70219093237898e-05 -0.00012498963624396243 0 0 0 -1.4993491406170728e-05 +2761 0.0002593965621166321 0.00042610168218661787 0 0 0 -6.279017761556844e-06 +9512 0.00042149707842624234 0.0005529462138134037 0 0 0 4.056385305705512e-05 +4422 -0.0001330644687662267 7.272911054504918e-05 0 0 0 4.589603020974737e-05 +3212 -0.000228580636510771 0.00010246140033711996 0 0 0 2.7925098599625985e-06 +4805 -0.00020056637010332391 0.00011499102060825575 0 0 0 2.3278076048464614e-05 +262 -5.5641080602995434e-05 -5.152831503583771e-05 0 0 0 -3.1589909813525894e-05 +8515 8.662665336792943e-05 -6.540033467327476e-06 0 0 0 -9.578595946590918e-06 +4743 -0.00020045228408858366 -1.8638906778154424e-06 0 0 0 9.713908856767493e-06 +5386 0.00013242398308711616 0.00016894357604793641 0 0 0 -0.00018526814156271908 +3737 0.0002200078679871616 0.0004503332401585311 0 0 0 -3.896828400010064e-05 +4431 5.8444480991487374e-05 0.00028194128085503597 0 0 0 -2.1405311947906646e-05 +9508 0.0001657039596558867 0.00028494615867295466 0 0 0 -0.00010258958133681472 +7705 0.00021991773327389614 9.177322301025106e-05 0 0 0 0.00011550743208157866 +3603 0.0002724886234648557 0.0002615271013796519 0 0 0 -1.567136830798999e-05 +8137 0.00016590155053315762 0.0003770410218705016 0 0 0 -2.2198143130285283e-05 +9467 0.00013567349396423535 0.0003387774416564883 0 0 0 -7.230597750528073e-05 +7849 0.0002593059042780429 0.0003537065475146705 0 0 0 2.8662871622694808e-05 +9976 -0.0002171704809064922 0.00011168965280566164 0 0 0 1.504174466746088e-05 +8557 0.0005223040471818235 0.0008293749014234723 0 0 0 2.8644663631012928e-05 +3123 0.0005247281556802124 0.0007998704258770336 0 0 0 -1.6017145638900773e-05 +6585 0.000272744750849017 0.00031255213499015996 0 0 0 -1.0872301294173218e-06 +8885 4.917561116923701e-06 -0.00011202808227820152 0 0 0 -0.000157479793334869 +2151 0.00019775985482159135 8.125427536908617e-05 0 0 0 -0.00011836968787791764 +2988 0.00029695824906737425 0.0003644247303005279 0 0 0 -1.577027800179737e-05 +6665 -0.00020503390698316335 -9.533348563376432e-06 0 0 0 8.659967651043851e-07 +11 0.0004471718392787778 0.000908318416681483 0 0 0 2.745082298254277e-05 +44 -6.0114247064074786e-05 -0.0001453840454590869 0 0 0 3.722099122704893e-05 +9010 0.000645255507140354 0.0008883345196667057 0 0 0 -8.737244025228052e-05 +280 -0.00036650022908820925 0.0005063741559318215 0 0 0 3.9016604400011634e-05 +360 0.00020719609767696289 0.00018694400248650073 0 0 0 2.6213895647897906e-05 +416 0.00014398975904497783 -1.4811631792216694e-05 0 0 0 1.5907328922551832e-05 +425 -4.41812305260647e-05 0.0002443250802956925 0 0 0 0.00012238778895938394 +449 0.00023034510495903538 0.00013684997772476072 0 0 0 3.395656368582265e-05 +481 -5.771450967728166e-05 0.0009286367785559667 0 0 0 -8.255729975762623e-06 +490 -0.0006303726061159409 1.2244978775663583e-05 0 0 0 8.581309187113812e-05 +9635 0.0004866142439472374 0.000584702576250587 0 0 0 -8.76102522591872e-06 +530 3.028442064548305e-05 0.000422563596382447 0 0 0 -8.070238710820598e-06 +704 -0.00017362236921831053 0.00036809397629358656 0 0 0 9.955023381602533e-05 +737 -0.00020421428433507836 -0.00015704101247817742 0 0 0 0.00014570007570587648 +842 -0.0005857742420250004 5.6723339671432026e-05 0 0 0 0.0001878743036549335 +926 0.00021038147439541845 0.00030163647735057577 0 0 0 2.7100043002567464e-05 +946 8.878589521707538e-05 -0.00018076044906683667 0 0 0 -6.943665698476498e-06 +983 7.345472098719827e-05 0.00015360561486085382 0 0 0 -1.4819782262259526e-05 +1032 0.00025584817590412295 0.0002966301031535926 0 0 0 1.8076525092624988e-05 +9361 -0.00021046358022531558 0.00037086409094829495 0 0 0 -0.0001866396637044492 +2930 0.0005316460153020232 0.0005522425320564358 0 0 0 -5.451148698268405e-05 +1123 0.0004545366087329447 0.0005776591957805312 0 0 0 -1.927183199388221e-05 +9474 0.0005831124333250305 0.0007696904306035676 0 0 0 -0.00010885546900772636 +1170 -1.3786943645044467e-05 0.00035902744581673107 0 0 0 -1.2025827451133103e-05 +1247 -0.0006340394378271074 -4.073869287343778e-05 0 0 0 8.218343457435904e-05 +1303 -0.00013901446825272505 0.000204360567871054 0 0 0 0.00034624678416454133 +1313 0.0005998860048543182 0.000793612905573255 0 0 0 -7.803048094862051e-05 +1353 -6.914870357725843e-05 0.00020442999306015725 0 0 0 -0.00025437420047079304 +1377 -0.0005353988369515256 -4.340710267266628e-05 0 0 0 5.458198975157131e-06 +1574 5.359746190080406e-05 0.00019981675780402503 0 0 0 4.91662639480675e-05 +4406 0.000526609749741048 0.000599643933242868 0 0 0 -1.0027780349890196e-05 +1707 -0.0004851883214055574 0.0002527085543264046 0 0 0 0.00036800968074820323 +1722 0.0003788734736233129 0.0003250637522217812 0 0 0 3.005518050176946e-05 +8081 0.00042931894318711753 0.0005368996295972206 0 0 0 6.571335327941452e-05 +1806 -0.00041681113154145216 0.0002514385182377781 0 0 0 0.0005414782355291952 +1807 -2.7554213270212936e-05 0.00043051492393241886 0 0 0 -3.912998255020662e-05 +1825 -0.000287728237924895 -6.673457474647496e-06 0 0 0 -2.0688363553507634e-06 +913 0.0003976868047658064 0.0005072242834691357 0 0 0 1.9299373972075506e-06 +1876 9.163007969909737e-05 -0.00020429500630172434 0 0 0 -1.4951788344750368e-05 +2003 0.0005788521618424374 0.0007870709738869356 0 0 0 -4.006885960513745e-05 +2022 -0.00045405229043622036 0.0002906159213667897 0 0 0 0.0001108609555672345 +2031 -0.00010015454354122129 0.00029052431363475625 0 0 0 -0.0001255803194967098 +2056 -5.359553749939976e-05 0.00044205859951673324 0 0 0 -7.477700709002315e-07 +9940 -0.000567814131286585 -0.00027029903374586563 0 0 0 1.639795668526614e-05 +1201 0.0005468397384682894 0.0006233136338463167 0 0 0 -1.839232220811161e-06 +2847 0.00042048928351070544 0.00040656820361429985 0 0 0 1.1788294849397107e-06 +2240 -0.00030461629090130723 0.0007312545637421165 0 0 0 0.00013862611978117796 +8859 0.00033300350876346474 0.0003790521524940943 0 0 0 -1.225546026450714e-05 +4388 7.514508276952645e-05 -0.00022377475797305787 0 0 0 4.0277407819686564e-05 +1703 -0.00020346669657020432 0.00020857700420645915 0 0 0 7.534654931346855e-05 +4685 0.0006753395543095134 0.0008826070678918593 0 0 0 -6.36009616759651e-05 +2427 -0.00038734009549707917 0.00018833238663754293 0 0 0 0.0006346001471620373 +2464 0.00020749600575198474 -0.000142120760392414 0 0 0 -3.5295606353445766e-05 +2469 0.00029003917611838075 0.00034776485399191405 0 0 0 3.259781946025318e-05 +1435 0.0005550463602308467 0.0005717225303619745 0 0 0 2.0962794904961353e-05 +2550 0.00011347755924076192 -0.00017620544323309457 0 0 0 1.131238214217809e-06 +2553 -0.00046142488596553563 0.0005553454666925719 0 0 0 -0.00011253326796555816 +2565 -0.00047304728626826017 0.00021157191048280127 0 0 0 -0.00023673840683057835 +9169 0.0006866055412162035 0.0009228798697603768 0 0 0 -0.0002025360397004425 +2638 -0.00045373924502523457 0.00010563109926708108 0 0 0 -0.000220339720223849 +5805 8.533739463987437e-05 -0.0002387974658505523 0 0 0 3.57064488496607e-05 +2915 0.0005865404327803176 0.0007413265459957299 0 0 0 4.8525176273563136e-05 +6524 0.0006610362009889278 0.0006160566970106337 0 0 0 -0.0001819043261066806 +2958 -6.118248925268604e-05 0.0009085988466506788 0 0 0 0.00015136057983405259 +2977 -0.0007504620552689994 -0.00010441877001445059 0 0 0 0.00017584526456133984 +712 0.00053205676274546 0.0005899370422008452 0 0 0 1.6932418362034675e-05 +3015 0.00011755886538082847 0.00023858846526245194 0 0 0 -0.00032835422605351916 +3024 0.00015047108159504575 1.4798260225807372e-05 0 0 0 0.00017141198577939608 +3066 0.0005826808552627596 0.0006305736444188325 0 0 0 -3.225165297069694e-05 +9021 0.0004354940781857364 0.0005601809410269358 0 0 0 2.7313122852343625e-05 +3170 -1.8210104189531704e-05 0.0001646791700393237 0 0 0 0.00018301995176461686 +3276 0.0001416981067359188 -0.00014179828619915406 0 0 0 6.459802085866157e-05 +549 3.1379766942631696e-05 -0.00023275793078601892 0 0 0 6.181593108471812e-06 +3288 -0.00046363456119791587 0.00027646555591185815 0 0 0 0.0005697589816339405 +3301 8.455624253322196e-05 -0.00019731491821570595 0 0 0 8.123239675316688e-05 +1725 2.254358572346196e-05 -0.0002478312682363827 0 0 0 -9.147839812754656e-07 +7914 0.0015572496539984554 -0.0015419465899833328 0 0 0 0.0003167686390885242 +8606 -0.00019096774134574077 0.00024023207054149395 0 0 0 -0.0003233850686534827 +1981 0.00038188789235319744 0.0005283865542341494 0 0 0 1.3332741018176642e-05 +3736 -0.0005820515002876787 0.00011525478619274694 0 0 0 1.876096870928548e-05 +3748 0.0001699557948311447 3.2362700170430064e-05 0 0 0 2.054782772959767e-05 +3749 7.357201693066423e-05 -0.0002501402570221064 0 0 0 -1.0088103512749108e-05 +3750 0.0003579041593039217 0.0002548182322755862 0 0 0 -5.848207181629692e-05 +3785 -0.0005804397542034811 -3.560230560451107e-05 0 0 0 -0.00043263644011943414 +3933 -0.0005710572359565255 0.00037400466857728386 0 0 0 -0.00015089588123387823 +8049 0.0003979134071205104 0.0004047934524826622 0 0 0 2.0790528470049084e-06 +4058 -0.0004534376089577972 0.0004902627806279531 0 0 0 -5.7218128868603275e-05 +9961 -0.0005183256296512813 -7.914659928539173e-05 0 0 0 6.58204334363361e-05 +4159 0.00024060977881242145 0.00021505045966434586 0 0 0 1.4580167809808283e-05 +3281 0.0005923053520105147 0.0007938374175792887 0 0 0 2.0888653088384293e-05 +4232 -0.00028412029918484363 0.0004038554774076116 0 0 0 -0.00016624113518714113 +4277 -0.00048088394389826953 2.963038009970993e-05 0 0 0 4.131122996280742e-06 +4307 -0.00016634233349721892 0.00023595284140285981 0 0 0 0.000913633300362254 +4340 -0.00018752595766658933 0.0005257396994115695 0 0 0 0.0002316286651253207 +4374 -0.0004062510100013555 4.0969456157517114e-05 0 0 0 4.441952462542336e-05 +4447 2.667261522677149e-05 0.00018096170299457902 0 0 0 -1.185861536321442e-05 +8271 0.0003612822159959734 0.0003241076639740252 0 0 0 5.910893870483233e-05 +4476 0.0005765981731075668 0.0007583011588260778 0 0 0 -5.2660026552607214e-05 +4572 -0.00014980780719753926 -0.00017477582823755816 0 0 0 -8.978039000894385e-05 +4605 0.00012135781508896642 -0.00017113770362963136 0 0 0 -3.895913153423657e-06 +3964 -0.00017169566743732126 0.00029020400264761803 0 0 0 7.475411004590472e-05 +727 0.00046524007932104687 0.0005519347297227634 0 0 0 -1.2325387433678807e-05 +4699 -0.00013110593150102528 0.00018957693716618393 0 0 0 0.0008836121837830311 +3713 -9.288824524593866e-05 -0.00018991521759393 0 0 0 8.018069393132308e-05 +2855 0.00042900235496107344 0.0005116971200404039 0 0 0 4.11584414449955e-05 +4865 -0.0003855676083256796 2.229100113604589e-06 0 0 0 -0.0007710673377793575 +1644 0.0004687432645406441 0.0006075999700643493 0 0 0 8.82076132286611e-05 +5298 -0.0002481381203182636 -0.00020737874759154537 0 0 0 -0.00017068945020386943 +3834 7.290772296060303e-05 0.0011017479153668955 0 0 0 -5.5729781887962166e-05 +5385 4.619234140985408e-05 0.000140456660807645 0 0 0 -3.848147841565284e-05 +4073 -6.768125133799026e-05 -0.00018257490694838566 0 0 0 0.00018011415786846598 +5400 0.0006354483388760269 0.000858658218339545 0 0 0 -0.00027411663963689524 +5433 -0.0005013098593139966 0.00015361148282316923 0 0 0 0.0002995278094382517 +5559 -0.00036229437908666016 0.00016880476254035163 0 0 0 0.00013817638788325785 +1151 0.0001255500456198247 0.0006842305983834402 0 0 0 -6.66205078948348e-05 +5578 -0.00027561409390976607 0.0005943437911014655 0 0 0 -8.125489130445551e-05 +5606 -0.0007323210956346678 -0.00017668704703255683 0 0 0 0.0003349044194497257 +5642 0.0002995883687618564 0.00025291915964317476 0 0 0 0.00015241252673729329 +5652 -0.0002592826255149383 0.0006908083242701444 0 0 0 0.00012739132081966876 +5707 0.00017180044777714403 -0.0002010039891407859 0 0 0 -6.117748857765515e-05 +5712 -1.6828960211648441e-06 0.00028525000424451096 0 0 0 4.192442541371659e-05 +5757 -9.434394896995312e-07 0.0003880442002716349 0 0 0 5.0576272440688165e-05 +6595 0.0004105876061204002 0.0004169589682295424 0 0 0 3.755607681347365e-05 +5844 -0.00045264748185369993 -2.770264395562873e-05 0 0 0 0.00039760533169433024 +6687 1.7200657870985665e-05 0.00102553054994293 0 0 0 7.86921747346441e-05 +5895 6.127667500987428e-05 -0.00025959896014142886 0 0 0 -0.00011358792124061936 +5937 -0.0005636857697374635 -0.00013338545693672904 0 0 0 0.0005378784418688827 +5945 -0.000695711420395856 5.3543270932845954e-05 0 0 0 0.0004416877373250101 +9453 -0.0006588313492320396 -1.2568147331119556e-05 0 0 0 0.0006192239061358894 +6038 0.00012135680911129502 0.00017175772142682415 0 0 0 -0.00020828548703635084 +6116 -1.0286816178877358e-05 -0.0002656176701134457 0 0 0 -8.884009332806288e-05 +6192 -0.00039505490619441897 -9.135974004705904e-06 0 0 0 0.001065582306296109 +6983 0.0005102071513700114 0.0005994224611432387 0 0 0 5.7369075350694426e-05 +6252 -0.0007320391188606555 -0.00011878852586940987 0 0 0 0.00017154253500249394 +7891 -0.0002479885415848139 0.0005823829268689774 0 0 0 5.091082379246356e-05 +6410 -5.1568686721016015e-05 0.0003252804455946808 0 0 0 -0.0003052350728393268 +6458 6.5309036539319e-06 -0.0002390023024043531 0 0 0 -2.402283267469362e-05 +440 0.00028944315957705124 0.0004041737399914058 0 0 0 5.45312994730214e-05 +6485 0.00042842087632863655 0.0009687671369304279 0 0 0 0.00031831102253660794 +6490 -0.00021303808333357073 0.0004780100692789596 0 0 0 0.00010629675749603168 +3153 3.7039278073126404e-05 -0.00018230341416339323 0 0 0 2.3142306867668713e-05 +6558 0.0006028651941547693 0.000912772673957862 0 0 0 -0.00031440110664023393 +8947 0.000483299820200123 0.0005714538404180773 0 0 0 -3.060501029179437e-06 +6589 3.263096259771016e-05 0.0004491462189277791 0 0 0 5.728055780394876e-05 +6629 -0.0004912147297511892 0.0001415032289436842 0 0 0 0.00014243395282728145 +7278 0.0001601975500406324 -0.00026625516192715416 0 0 0 0.0005415564626820245 +6674 -0.00010587104449151722 -0.00021002108908682804 0 0 0 -0.00022082717549018165 +6858 -0.0005709414157847679 0.00032216145319055546 0 0 0 -0.00038500291570653703 +6871 -0.0004058498733568039 0.0002298729628369376 0 0 0 -0.0010100314818471856 +6887 4.5540802887741664e-05 0.0001625936918557166 0 0 0 5.413506148649324e-05 +6889 8.384429246309708e-05 0.000168876516634495 0 0 0 -0.00012757076179691727 +6941 0.00011910097591530208 -0.00014428807597125813 0 0 0 -2.991328257736203e-05 +6960 -0.0007060996475734759 -0.00012899031783196522 0 0 0 -9.708271859236804e-05 +7061 0.0006019037742853381 0.0008388958704884508 0 0 0 0.00015133912988200173 +7064 -0.0008593988153889048 -4.0485832579198804e-05 0 0 0 0.0009943462380967536 +7088 0.00027280947922194744 0.00025289532101990895 0 0 0 5.6469217336383114e-05 +3948 0.00031508593315493185 0.0003274853590030745 0 0 0 -3.342333575746172e-05 +7144 -4.70280537593787e-05 0.0001828760770881243 0 0 0 -0.00046272530257911155 +7246 -0.00026401695738206414 0.0001651196241043642 0 0 0 -0.0003262674907156354 +7260 -0.000583992535407501 0.0002281705377998981 0 0 0 0.0011270475275347784 +7270 0.00011405852275521554 -0.00011701238269817715 0 0 0 -1.131188946570837e-06 +2142 0.000522765872477503 0.0008097591569386914 0 0 0 -2.0170253055234877e-05 +7310 -0.0005644997938647496 -0.0001417507175473342 0 0 0 0.0004871235166756344 +7414 -2.4949128311968412e-05 0.00039284248772290445 0 0 0 -0.00011699964549992304 +7453 -0.00015859320898901476 0.0002034321819678594 0 0 0 0.0010255731337676305 +7463 -0.0007126385627185716 -0.00013020630440761934 0 0 0 0.0010205423464290364 +7544 7.882410123121267e-05 0.0001287256517862621 0 0 0 8.743681065040688e-05 +7577 -4.4801098077839226e-05 0.000398291188603706 0 0 0 -2.941356088825137e-05 +1016 0.0003319233065735574 0.0003975052964100381 0 0 0 2.1354128993602206e-05 +4525 1.1558344924207013e-05 0.0004018223819573205 0 0 0 9.594505178788431e-05 +7664 0.0002553978456724064 0.0001960473053832654 0 0 0 0.00021637235902307147 +7781 -0.0010427503668243498 -0.0007233041634678015 0 0 0 0.0018853005572318025 +7756 -0.00034416864922727215 0.00019303164179377858 0 0 0 0.0010140366107265846 +6351 8.715752487491533e-05 -0.0001647246964758144 0 0 0 -6.99889697825616e-05 +5071 -0.0003649520558113562 0.00041734167362286127 0 0 0 8.047022154675644e-05 +8051 0.00027248789458486535 0.0003401558569751896 0 0 0 -5.018844332480461e-05 +8057 0.00012961564825572267 6.516105625432406e-05 0 0 0 6.722023138252945e-05 +8072 3.24906514647515e-05 0.0001565322159120158 0 0 0 4.229185786407369e-06 +9629 -0.0005562714854312588 7.701506200697701e-05 0 0 0 8.141807800291428e-05 +8119 -0.00036649034327355874 0.0006003963093761356 0 0 0 0.00010445752100484866 +9466 0.0005507827833149375 0.0005843840048306478 0 0 0 6.160944206791818e-06 +8168 -0.0005918470273890688 0.00024521403195560575 0 0 0 0.000716385847235283 +8217 0.0005998076090974029 0.0006448238698305868 0 0 0 2.7148873519138802e-05 +8228 -9.60009616741823e-05 0.0004318029117529945 0 0 0 -7.650255473000087e-05 +8243 -9.526270278243232e-05 -0.00020269599490023248 0 0 0 -2.8213768917216122e-05 +5222 -0.00010307798343413547 0.00045144466911444615 0 0 0 0.00023866836068158024 +8313 -0.00024611145226440586 -0.00012215350119372067 0 0 0 1.5261854974897336e-05 +8479 0.00017719127211664879 -0.00019155835606784373 0 0 0 1.5621919931112933e-05 +9524 -9.290268307376563e-05 -0.00019405969987682488 0 0 0 -0.00019498262587825781 +4680 -0.0005394152931000125 0.00033424319836590044 0 0 0 1.2653223537640606e-05 +8601 -0.00010093816138723017 0.0012379919989040319 0 0 0 -0.0007171644408556212 +8611 -0.0002247784908642573 0.0006944086019266113 0 0 0 0.00011951440399236683 +8696 -0.0002697695925789073 0.0002652855963376051 0 0 0 -0.00036401010941282505 +8741 -0.000419484353462037 0.00037676203668995825 0 0 0 9.690169439951612e-05 +9074 0.0005522722904347534 0.0006387941367219704 0 0 0 -3.120652256360101e-05 +9086 0.00016693468135921797 0.00019298694266013872 0 0 0 0.00036351900932204165 +9126 -0.0001976228980683713 0.00020814363213072544 0 0 0 -0.00021661471914882405 +9130 -0.0006428957443894858 2.887934301312142e-05 0 0 0 0.0006119954632975702 +9136 -0.000301817111281095 -0.00043049613497095525 0 0 0 -0.0005285824153988407 +7307 0.0005595406779662063 0.0006191009840927505 0 0 0 1.7480072778222568e-05 +9298 0.0002251162849690962 0.00029409894411152113 0 0 0 1.963558119293914e-05 +9330 -0.0005992766928457377 -3.471922774461694e-05 0 0 0 0.0004268904796350744 +8267 0.00032829412327596027 0.0003523182189154544 0 0 0 -1.6234396781578543e-07 +2813 0.0003258304526234461 0.0003904355471873438 0 0 0 3.5473878294567985e-05 +2936 -0.00028316872459284155 -0.00011041313339070814 0 0 0 0.00024637379709713237 +3040 0.0003983653246393283 0.0005045028230782777 0 0 0 3.626524649169927e-05 +4434 0.0004297524616989879 0.0005191241179613366 0 0 0 3.9806025794157105e-05 +3763 0.00043870752464205955 0.000539141379921576 0 0 0 -7.886116088396885e-06 +2163 -6.536340912153719e-05 -0.00023079139887684295 0 0 0 -3.863577516146452e-06 +2651 0.00038487807690956076 0.00038931334554057545 0 0 0 -2.9145895471339684e-05 +2027 0.0003807801430331304 0.00038418692515332386 0 0 0 2.4239157332849727e-05 +5858 -0.000675840350922904 0.00013272066034464267 0 0 0 5.710916739764957e-05 +90 3.994629376081529e-05 -0.0001311662293121506 0 0 0 -3.5886690488087275e-05 +2991 0.0005395504932865935 0.0007259095805901902 0 0 0 5.4405627313281356e-05 +8827 0.00032141026909124137 0.00039836955509127674 0 0 0 -3.208946811314817e-06 +2601 0.00040830940365033216 0.0005180212884684244 0 0 0 1.6078904613168272e-05 +8270 -0.0008728780011995195 -0.00016905516040077763 0 0 0 0.002024974153593862 +4300 0.00037348210750714946 0.0003990271717881645 0 0 0 -6.312411633332272e-06 +2866 -8.713094812462273e-05 -0.0001794464896667028 0 0 0 8.192731209862894e-05 +9889 -0.0016893114424991755 -0.00023639546497711725 0 0 0 -0.0016953623105723245 +3 -0.0007301002172406056 -0.00010132069472551629 0 0 0 -1.2542307052596197e-05 +8229 -0.0005904872027483276 -0.00023098731931230104 0 0 0 -8.312951190726192e-05 +4364 -0.0006236472220080775 -0.00044899918815663296 0 0 0 9.388730188463264e-05 +409 -0.000588895102598985 -0.00024823115407537487 0 0 0 2.868170107823343e-05 +290 -0.0006509225592596561 -0.00030928115903765534 0 0 0 5.489318837151346e-05 +602 -0.0005895397807619695 -0.0001669422181668908 0 0 0 1.3087382468449712e-06 +6029 -0.0008560569563576721 0.00010248962660232504 0 0 0 0.0001172951745664852 +677 -0.0005890804437129318 -0.00042342667352029083 0 0 0 1.3998140678729302e-05 +2952 -0.000714658448613497 -0.0002572252538840269 0 0 0 -4.461240970891953e-05 +838 -0.0006668463904700856 -0.00011965146446037069 0 0 0 -1.3263919176755963e-05 +851 -0.0007443196809700177 -5.143331051737799e-05 0 0 0 -8.694398342541562e-07 +1060 -0.0006018004720114939 -0.0002614743130067642 0 0 0 -6.539787910012185e-05 +4424 -0.0007148678422792216 -0.0003222133296500463 0 0 0 -4.5781141225790096e-05 +1423 -0.0006638300923613257 -0.0001577353479279547 0 0 0 2.2587221765766665e-05 +8581 -0.0006702963732883465 -0.0001109745403523526 0 0 0 0.00012591978793029176 +1858 -0.0006891734902615848 -0.00015317100397310457 0 0 0 1.169840398825042e-05 +1869 -0.0007255757446356087 -0.0002720209567280617 0 0 0 -0.000129496249164346 +1890 -0.0006573166670365872 -0.00017839658512618447 0 0 0 1.479597941162094e-05 +9640 -0.0005810531375481447 -0.00035724929978402407 0 0 0 0.00023081679828793587 +2057 -0.0006518160418139254 -8.766332739396048e-05 0 0 0 7.65280023583966e-06 +2299 -0.0007150943298160355 -9.374686469555964e-05 0 0 0 1.5345914306231523e-06 +2452 -0.0007458646197431537 -0.000263416336487751 0 0 0 0.00010475481447932603 +2496 -0.0006116546528258122 -0.00019456774395041856 0 0 0 -1.2105639702110833e-05 +2769 -0.000631509451119901 -0.0002731172048982796 0 0 0 -3.870431430767225e-05 +2835 -0.0005455135415129122 -0.00024520660303634334 0 0 0 7.073377907844118e-05 +2857 -0.000603712922093202 -0.00016568232168212487 0 0 0 4.2932103740384936e-05 +3194 -0.0006893031990190442 -0.00017683793848495333 0 0 0 -4.7515396479705764e-05 +1261 -0.0007498206317219119 -4.9310406919321014e-05 0 0 0 1.4350987501302804e-06 +3329 -0.0006716615054877296 -0.0003013419128155998 0 0 0 0.00012558911105107896 +9739 -0.0007164900036304541 -0.0004489985906313246 0 0 0 0.00023367170484190892 +3404 -0.0007033969364692796 -0.00037925201792062175 0 0 0 0.0001230753988307373 +3460 -0.0006040051129184246 -0.0003979489994891729 0 0 0 4.608987786184979e-05 +3482 -0.0006300468582227564 -0.00019533790457123204 0 0 0 2.6130363544141926e-05 +3338 -0.000687571178858438 -0.0002899800654177453 0 0 0 6.497824927144992e-05 +7035 -0.000756662650764423 -3.32223179790325e-05 0 0 0 -1.1295278970119005e-05 +6102 -0.0005918040121360921 -0.00033484176034221416 0 0 0 -0.00019571191198107234 +3837 -0.0006906930254737344 -0.00018356117363765523 0 0 0 4.599493076665117e-05 +6630 -0.0007049220956386771 -0.00011470842303348762 0 0 0 0.0002447436550856432 +3960 -0.0005928890836392008 -0.00037817997946933894 0 0 0 -1.7833712979755127e-05 +3984 -0.0006413228489119007 -0.00023235592100539457 0 0 0 1.5985799958367702e-05 +4068 -0.0006749376540321509 -0.0004539584245264093 0 0 0 0.00013160128035654068 +4093 -0.000670532458233207 -0.0002632492673415912 0 0 0 6.936453021661406e-05 +4416 -0.0005723255843648611 -0.00018824740540258181 0 0 0 -2.708975795758131e-05 +813 -0.0006611487405006219 -0.00026105369131689985 0 0 0 2.9978002912244014e-05 +4430 -0.0006087893237736501 -0.0003587232590952987 0 0 0 0.00021587746014796542 +9780 -0.0006956406659568628 -0.000454363752079761 0 0 0 4.253327277393366e-05 +4486 -0.0007380071866221242 -6.759026864547598e-05 0 0 0 2.938387388364405e-06 +6461 -0.000638889155179494 -0.00013097224694324198 0 0 0 5.05678474808701e-06 +81 -0.0007179822967302097 -6.251815459946727e-05 0 0 0 9.230711209712156e-06 +9059 -0.0006014403728393308 -1.4301906701191534e-05 0 0 0 9.349291623282058e-05 +7288 -0.0005922157484670056 -0.0001387425240661364 0 0 0 0.0001193547902493419 +4847 -0.000671993242966908 -0.0002069731506136028 0 0 0 -6.15221884718569e-06 +4948 -0.0006050867473261225 -0.0002594588895150778 0 0 0 6.950417462426369e-05 +5100 -0.0005969663915846446 -0.00016138347079875057 0 0 0 -6.625053910015755e-06 +1062 -0.0006734661766063246 4.196817896208191e-05 0 0 0 -5.154266638841103e-06 +5362 -0.0005841284341018565 -0.00027745789708741244 0 0 0 0.00019563185360605299 +5424 -0.0006151901095936711 -0.00023873483954302347 0 0 0 -1.4304502548857892e-05 +5466 -0.0006455316093665863 -0.00017980865434645454 0 0 0 1.5972783834859008e-05 +7627 -0.0007029707693616118 -0.0002283185867585655 0 0 0 5.6083152461530154e-05 +5590 -0.0005371801074197455 -0.0002309928527449519 0 0 0 0.00014629110736542157 +5719 -0.0006911337738790301 -8.132058696731064e-05 0 0 0 2.6712426628238123e-05 +5793 -0.0006357753975965325 -0.0002692419574253473 0 0 0 5.537593363593936e-05 +668 -0.0007519204171419068 4.179476551296629e-05 0 0 0 3.654067359197333e-05 +5952 -0.0007590346163834597 -5.400682117196238e-05 0 0 0 -6.727186161873161e-07 +5977 -0.000657083250874894 -0.00020534845818461845 0 0 0 5.169812598302174e-06 +659 -0.0006760429055182174 -0.00011860197367055333 0 0 0 -7.475088079508234e-07 +5348 -0.0009060105716572322 -0.0006840960707566433 0 0 0 0.00036728670077966274 +9766 -0.0005252838241979928 -0.00026334476792915884 0 0 0 0.00024840045679503335 +6273 -0.0007277502415229288 -0.0003385834250946882 0 0 0 0.00012482936723764792 +6316 -0.0005932443125313452 -0.0002599118934185314 0 0 0 2.569601171396557e-05 +6477 -0.0007334531711094917 -6.833596505287648e-05 0 0 0 -1.890523475058489e-05 +9899 -0.0006626173312628508 -0.00030231713625390413 0 0 0 -0.00011884268608962854 +5666 -0.0006444087544436888 -0.00036036828971444657 0 0 0 0.00010574613145058436 +6733 -0.0005866740142119598 -0.00045302079856326656 0 0 0 1.5186340809846051e-05 +6761 -0.0005916997899364605 -0.00044024005242794393 0 0 0 0.0002020265042724603 +4205 -0.0006104320436644022 -1.1689180116825437e-05 0 0 0 0.00015913729094477948 +7028 -0.0005325731526111915 -0.0002216001570204137 0 0 0 6.155820397954117e-05 +7117 -0.0006731188391830918 -0.00046916435419723913 0 0 0 0.0001457539620286026 +3057 -0.000690294413460704 -0.00030596903334216595 0 0 0 -3.372309877680735e-05 +9948 -0.0006707290851004172 -0.00017775226351283277 0 0 0 5.369491773506826e-06 +7396 -0.0007049311210358556 -8.224997488852604e-05 0 0 0 1.4079043134935043e-05 +7466 -0.000698659482944253 -0.00030263852750112745 0 0 0 -0.00022944068925265197 +7483 -0.0007453693071311466 -5.943009202673579e-05 0 0 0 1.7619839676411455e-05 +7495 -0.0006637554379111891 -0.00019388242035097626 0 0 0 1.8729903197692123e-05 +337 -0.0005903671110738855 -0.00035945082235916696 0 0 0 1.2641976799331378e-05 +8854 -0.0005874718266229238 -0.0001766667209267844 0 0 0 -4.97885899765753e-06 +3725 -0.0005964941189754202 -0.0002870073222710723 0 0 0 4.446908575494417e-05 +7605 -0.0006194854354091302 -0.0003829919241466367 0 0 0 -0.00018133832772737385 +7703 -0.0005719108193540071 -0.000302926560779042 0 0 0 0.00024029851871299073 +6240 -0.0005890195828244967 -6.457079168631277e-05 0 0 0 0.00011031726986371945 +7735 -0.000678033061939253 -0.00016454894055444779 0 0 0 3.066202847134974e-05 +6044 -0.0006336143096926795 -0.00041713090001008576 0 0 0 -3.4499798225189224e-05 +7757 -0.0005577408041715496 -0.00020628385939215472 0 0 0 0.00028176231812573194 +7775 -0.0006591986214415254 -0.00036895537089940355 0 0 0 4.440678894139181e-05 +4654 -0.0006369258235030344 -0.00030870680964360634 0 0 0 4.927864310091503e-05 +2500 -0.0005613653177095827 -7.2382659957696855e-06 0 0 0 -2.0217823838480155e-05 +9268 -0.0007438546739312424 -0.00028225567869720583 0 0 0 0.00033179222695418404 +7005 -0.0006533527826185536 -0.0003118486966579893 0 0 0 0.00011579508298208816 +8279 -0.0006139802786711547 -0.00044571697380841794 0 0 0 6.239527706041931e-05 +8289 -0.0006028592259344654 -0.00028659805568907916 0 0 0 1.3710396978720347e-05 +8495 -0.0014735672309607898 -0.000938167572999945 0 0 0 -0.002234628843184652 +8699 -0.0005177927933666465 -0.0007753103605007874 0 0 0 -0.00032206686030856313 +6811 -0.000771021680749173 -0.00027373953702948295 0 0 0 0.00024526857485362486 +7091 -0.000749298878822835 -0.00013317861664649745 0 0 0 0.00019499107369979287 +9214 -0.000602104958769619 -0.00013319870275533624 0 0 0 0.00037044727209434514 +9254 -0.0006943150170415348 -9.21131181034477e-05 0 0 0 2.3384991883569276e-05 +2898 -0.0006055210650292713 -0.0003956734362224702 0 0 0 6.378171126838783e-05 +4171 -0.0005499002221963462 -0.0003625155071502344 0 0 0 -5.736705450345832e-05 +9366 -0.0005292229323264215 -0.0002627839163391144 0 0 0 0.00022090786190594874 +8 -0.0011771925158382572 0.000941035357066179 0 0 0 -2.4353627344210318e-05 +15 -0.0006297932803804414 0.00035728168177082164 0 0 0 2.3429911707710868e-05 +3225 -0.0005714914630555742 -1.909746125059303e-05 0 0 0 3.646790898948857e-05 +146 -0.0009332241860131586 0.0005641995472112343 0 0 0 5.888110008916753e-06 +216 -0.0008351831611274594 0.0006065787900456064 0 0 0 1.4112374211861584e-06 +236 -0.0009019168768397223 0.0002553733938567374 0 0 0 8.66315803448192e-06 +245 -0.0007566811332521641 6.617115039886274e-05 0 0 0 4.8140453887481985e-06 +247 -0.001119483969541091 0.0006279382654816287 0 0 0 2.9360171365664782e-05 +270 -0.0006323888330212628 6.853056961388112e-05 0 0 0 2.498927160720137e-05 +288 -0.0008349792882711018 0.0007181405114622796 0 0 0 3.205382885634996e-05 +9843 -0.0010099536032565888 0.0003051550722295461 0 0 0 -8.277950174420405e-06 +5155 -0.000960231743147457 -0.0008172296345559714 0 0 0 0.0005576393502160646 +363 -0.0007582529363674498 9.195159682398388e-05 0 0 0 1.183488942683274e-05 +433 -0.000873873062585321 0.00018145441255570038 0 0 0 1.9518550919217694e-05 +469 -0.00021473406830414747 0.00012273104733845062 0 0 0 1.7597133226400656e-05 +477 -0.0005675925882650355 0.0001222087317900811 0 0 0 1.8125815854323573e-05 +478 -0.0007436171073341892 0.00017759034679620431 0 0 0 1.3727938545680908e-06 +506 -0.0008498234154909644 0.0002451458385838787 0 0 0 1.8044518881984954e-05 +521 -0.000818330614235855 0.00019796855611056013 0 0 0 3.7350005758303145e-06 +557 -0.0005802900228392132 0.00043448743102059465 0 0 0 -1.6632878531649002e-05 +620 -0.0005286334126460593 -0.00014379898227133057 0 0 0 4.5540833411969246e-05 +644 -0.0007442008175960732 0.00018663584266346206 0 0 0 -3.9308754751829314e-07 +6819 -0.0003601699217627946 9.69249980485527e-05 0 0 0 -3.4131642566632735e-06 +5667 -0.0010307678489278702 0.00033025038634285466 0 0 0 -8.656043737826133e-05 +775 -0.0009827038503266432 0.00040752654580071947 0 0 0 4.735020957755303e-05 +795 -0.0005592593937832393 0.0003657458511944151 0 0 0 -3.063410275011127e-05 +810 -0.0008881455662870392 0.0003505767343947534 0 0 0 -6.146669838998296e-07 +3041 -0.0007916156040802786 0.0005510562303504727 0 0 0 3.943697948390505e-06 +865 -0.0009531649411223345 0.0005835951531841601 0 0 0 2.755350729959464e-05 +888 -0.0011128574528074461 0.0008128703594398433 0 0 0 1.3735507509618747e-05 +892 -0.00040898652026290233 0.00012894586387358903 0 0 0 3.308731394405593e-05 +4610 -0.0008231596984402638 -3.0194670663212105e-05 0 0 0 0.0001393688418221583 +2209 -0.0009888006536289684 0.000337368747550946 0 0 0 -1.364316045995938e-05 +1144 -0.0008999397359706671 0.0002112219621027042 0 0 0 -2.7115340071594634e-05 +1167 -0.0010526658335465796 0.0006174274062625163 0 0 0 -3.7501829781338705e-05 +1200 -0.00028778663364433134 9.997073217792332e-05 0 0 0 2.195685087185129e-05 +1792 -0.0007418519118182963 -4.210095569354754e-05 0 0 0 4.18173964849201e-06 +1281 -0.0005121553291704729 0.000360546688120887 0 0 0 -9.446487781203706e-07 +1286 -0.0006752440038921269 0.0002498793907712584 0 0 0 -2.3204154362886582e-05 +6694 -0.0009733796797377079 0.0006141940816741152 0 0 0 -1.7104459206543255e-05 +1318 -0.0006191976207560966 0.00034297397532501405 0 0 0 -2.7981431922930343e-05 +1336 -0.0006725220603815779 0.0005454600991149555 0 0 0 -5.443518815782082e-05 +1340 -0.0010363343202844178 0.0008654281329763823 0 0 0 0.00010147682627619994 +1659 -0.0009804381459471412 0.00021734886921010636 0 0 0 1.3293233531971825e-06 +1360 -0.0006118599657667885 0.00044143803141932905 0 0 0 -2.4963627212393542e-05 +1369 -0.0007254201716102301 0.00014784813751578 0 0 0 -1.779170597935071e-05 +8936 -0.0010946814516076815 0.0007595132927109329 0 0 0 0.0005179114146911482 +1382 -0.0007293894589566944 0.00020992508501356148 0 0 0 -1.1942647159763981e-06 +1421 -0.0003014710350470522 0.0001038377679189181 0 0 0 2.0319129796778197e-05 +6680 -0.0006644752371371529 0.0003505655631287547 0 0 0 0.00011383673559876561 +1427 -0.0006031610787280233 0.00023917570376037504 0 0 0 -6.65103460527423e-06 +1449 -0.0008248797632126884 0.0003280583715439392 0 0 0 -2.2845504367196502e-05 +1487 -0.0006956776358948956 0.00037098563434542813 0 0 0 -2.0275287636148364e-05 +1514 -0.0008749681590355121 0.0002415754106087275 0 0 0 -2.4027597289954372e-05 +1563 -0.0008922452071159453 0.0003520142863922439 0 0 0 2.34141408413892e-05 +1614 -0.0007283092312434656 0.0005779896222398948 0 0 0 4.517149900795015e-05 +1627 -0.000983614267284496 0.0006185219761886989 0 0 0 -1.5905925542352673e-05 +1652 -0.0008423473655946441 0.00030233425310037315 0 0 0 2.8355541451062312e-05 +1655 -0.0008046959178247881 0.00034397346995221285 0 0 0 1.901035454629207e-05 +1658 -0.0004137721169795738 0.0002093333908130161 0 0 0 5.305670899584098e-06 +3819 -0.0013820696995219296 0.000787353113515528 0 0 0 -2.030353097229759e-05 +1673 -0.0005109848821423954 4.275997794291423e-05 0 0 0 5.941387178915759e-06 +1213 -0.0009789214817021235 0.0008474147150528312 0 0 0 -4.0713732505070775e-05 +1705 -0.0006467965105583472 -6.846228310621822e-05 0 0 0 -1.3582669471910273e-05 +7964 -0.0009204104434487149 0.0006830440977573795 0 0 0 5.404877214589338e-05 +1797 -0.0007567134277857531 0.0006554327411630566 0 0 0 1.2091123526846422e-05 +7320 -0.000849449994809404 9.71110775078461e-05 0 0 0 0.00020096617846941493 +1907 -0.0010940261422345758 0.0007959296714124787 0 0 0 8.276628580576463e-05 +1936 -0.001147099828379013 0.0008920631918379818 0 0 0 0.00014566462473305144 +8798 -0.0013763358866389428 0.0007259110333380206 0 0 0 -0.0001571259010828319 +2063 -0.0008989912033027938 0.00021085479495193263 0 0 0 -5.477867608280946e-06 +2069 -0.00023611335983514365 -0.0001325924828932032 0 0 0 9.943070140712067e-06 +8050 -0.0010217106525567707 0.0006432285209244065 0 0 0 0.00010865041825512893 +2184 -0.001028551303199409 0.0008876543544936227 0 0 0 0.00012301597469721858 +2195 -0.0008294511866767302 0.00023409698661837756 0 0 0 7.427515257012219e-06 +2217 -0.0007301889510939588 0.0001964345300101614 0 0 0 2.3904821951582355e-05 +2294 -0.0008239324196314598 0.0003989826635029074 0 0 0 2.260236223315543e-06 +2335 -0.00045350304731331983 0.0002767597177413177 0 0 0 2.6183720619211076e-05 +2352 -0.0008783690003823939 0.00034393342028004323 0 0 0 5.083605792071896e-05 +940 -0.0002558643121145674 1.9116295671212588e-07 0 0 0 1.6506918395537148e-05 +2402 -0.0010329787914708534 0.0006566195196935088 0 0 0 -5.488963802930833e-05 +2840 -0.0010096918071958482 0.00024310912927580692 0 0 0 -2.481521518174956e-05 +2539 -0.0008089429123134401 0.00020303191084770615 0 0 0 -5.33682176114997e-05 +2551 -0.0008197048197694088 0.00020658321171657153 0 0 0 1.785017885789689e-05 +3929 -0.0008524009835869362 0.00010590800716471556 0 0 0 0.00010026477192305938 +2589 -0.0005950535066909151 0.00042752236699541773 0 0 0 3.371829290799113e-05 +2592 -0.0009093327392384224 0.00022764691370951885 0 0 0 -4.11604350809351e-06 +2595 -0.00022908670325789347 6.450871990506007e-05 0 0 0 -7.017957694339748e-05 +9734 -0.0007757835898431238 4.3786513594730645e-05 0 0 0 4.235052062945301e-05 +2635 -0.0006419924469599448 0.0005905485800693541 0 0 0 -3.557248097046251e-05 +2646 -0.0006456695259691032 0.00047160810860152246 0 0 0 0.00010585762239976367 +2649 -0.0009694406617980318 0.0006180811499550808 0 0 0 -1.5870730017646118e-05 +2669 -0.0006378373451358382 0.00026567837975793803 0 0 0 -3.65984138562098e-05 +9317 -0.0011369692640372472 0.0009680469801019501 0 0 0 9.705997848498151e-05 +2712 -0.00048468632227946523 -3.185939060281673e-05 0 0 0 5.152111479851743e-05 +3402 -0.0011593271823190459 0.0008207423459204443 0 0 0 0.0001472253215110598 +7638 -0.0012160770102667318 0.0005853248426511027 0 0 0 0.0004722792283553091 +2932 -0.0007849318678915224 0.0006001817614613595 0 0 0 1.2327783471293797e-05 +2939 -0.0006894058156416699 2.8392866143040477e-05 0 0 0 8.640833425525411e-05 +1940 -0.001410443608757252 0.0007829661733763771 0 0 0 6.190773904891289e-05 +3611 -0.001172153288871244 0.0007278715122439329 0 0 0 -4.016193722281571e-05 +3034 -0.0008282843351658759 0.0006604662527287083 0 0 0 -4.024772674675333e-05 +3047 -0.00020824256571966152 8.39386080641668e-06 0 0 0 8.6094243694629e-06 +3062 -0.0008613270007468683 0.0004118229980801907 0 0 0 8.889616998664581e-05 +3141 -0.0006858921273045354 0.00034477571685688897 0 0 0 1.9377250955099333e-05 +3184 -0.0008555823548766929 0.0008100667535768261 0 0 0 0.00011700808264008686 +6794 -0.00017608678775339512 6.625144577261047e-06 0 0 0 5.807529125142545e-05 +3256 -0.0007637854542574781 0.0005458524803788211 0 0 0 5.4213518771697804e-05 +3261 -0.00071542214550071 7.851185591361168e-05 0 0 0 1.6560054980984464e-05 +6740 -0.0005601713018114684 0.0006290139817607112 0 0 0 -0.0007949849911594378 +932 -0.0010062834787406664 0.00030751193447528996 0 0 0 2.67222769237091e-06 +7579 -0.0008449585218534198 0.0006642960499153616 0 0 0 0.0001888683547749964 +3488 -0.000768531891412223 0.0006755373463070201 0 0 0 7.3540681920995825e-06 +9568 -0.00047172643629270244 -0.0002338731825669116 0 0 0 -5.6612066606463705e-05 +9244 -0.0002494264086325703 0.0011157357677214473 0 0 0 0.00128075535055013 +3565 -0.0009449596324006665 0.0003786422046191732 0 0 0 0.00014540681739999683 +824 -0.0007469233273201531 -2.1219502465697492e-05 0 0 0 2.2587239715627433e-05 +3917 -0.0006325533560530958 -4.940236903378301e-05 0 0 0 6.031196993475191e-05 +2637 -0.001032117912023198 0.0008764339362911285 0 0 0 0.00010012620221743825 +3715 -0.0008861883176485593 0.0003668915708290285 0 0 0 -4.4904999047729414e-05 +3739 -0.0009445008643835509 0.00036705818505315007 0 0 0 5.676944339640532e-05 +8324 -0.0009996823993053188 0.0003038962218894737 0 0 0 -4.3778502999987595e-05 +3846 -0.0007455735010342392 0.0002025444269728722 0 0 0 9.01848934258784e-07 +470 -0.00136848142563313 0.0007990460915776291 0 0 0 1.883197463783042e-05 +4376 -0.0007225354867667099 0.00025241879277521984 0 0 0 -6.328735829244836e-05 +3970 -0.0010701453313196423 0.00038241617077663877 0 0 0 0.0001276152182537054 +3988 -0.00045622698747821953 0.00027970205166672884 0 0 0 5.548935067390544e-05 +3995 -0.0009004994572237898 0.00023784111316957915 0 0 0 1.1527391179968219e-05 +6474 -0.001304013295608572 0.0008863565391556484 0 0 0 9.942819033872132e-05 +9671 -0.001968749365858 -0.00023121761073790058 0 0 0 0.0021099854887249893 +4183 -0.000453395531401535 -0.00012363951171527276 0 0 0 2.1317802974944873e-05 +4199 -0.0006264440510767498 0.00028525613362572253 0 0 0 -9.90290264164112e-06 +4234 -0.000819843945479715 0.00019940993898545528 0 0 0 6.252003163016321e-06 +4244 -0.00024737274916770437 4.389998197060635e-05 0 0 0 2.625764076546036e-06 +4273 -0.0009100403872403087 0.00022824431879051716 0 0 0 6.859105211726438e-05 +4128 -0.0006942223387822172 9.385162178972987e-07 0 0 0 8.049950715974979e-05 +4348 -0.0008274143685390389 0.00019046658145860642 0 0 0 -2.1750799326059613e-05 +4349 -0.001065078719131359 0.0008955961091703168 0 0 0 0.00048752334481585465 +4363 -0.000925664458103273 0.00041007211477439207 0 0 0 -8.684430964257717e-05 +4370 -0.0008764782889250103 0.00036191195806282924 0 0 0 -7.482772928263584e-06 +4384 -0.000583756673756106 0.000507402007620441 0 0 0 1.6943104682249983e-05 +4386 -0.0008578915262776815 0.00035849984556143567 0 0 0 4.810093966309604e-05 +4813 -0.0002222666515889865 -4.049959309871418e-05 0 0 0 1.2677317428270166e-05 +4469 -0.0008169615286556356 0.0001677948514295948 0 0 0 -1.91802962282136e-05 +4471 -0.0006548626928877266 -7.24152861716547e-05 0 0 0 -7.961611910703893e-05 +721 -0.0007961760017244315 6.977541398610224e-06 0 0 0 1.548195955055088e-05 +4512 -0.000844568535298034 0.0002841268006304955 0 0 0 -1.85829896962004e-05 +9246 -0.001080656363352841 0.0005883919176365365 0 0 0 -3.5549430295576624e-05 +4541 -0.0008311066772159632 0.00024571356359986236 0 0 0 -2.8522072367522444e-06 +4560 -0.0005904097313064781 0.00012068435644070264 0 0 0 -7.668784182754244e-05 +4607 -0.00022091736140413652 -8.084496636908309e-05 0 0 0 0.0001048238856080876 +5133 -0.0010560825789721403 0.0008566567349347162 0 0 0 0.0005844249001482624 +4653 -0.0005103838955542791 -0.00029974059265602826 0 0 0 -0.000509444151021788 +3240 -0.0006487444375480893 -1.9693212535653786e-05 0 0 0 -2.741103103777071e-05 +4671 -0.001022185598518163 0.0006234165652849356 0 0 0 0.00015468026586044285 +9813 -0.0009914815914062282 0.00041141974750215945 0 0 0 -3.1664264251702694e-05 +4717 -0.0006099745547710158 0.00035055136743689195 0 0 0 7.629721249163501e-05 +4729 -0.00025683340235094443 0.0001395603849472936 0 0 0 3.209191205289857e-05 +4751 -0.000598769539851324 0.00019440537853632162 0 0 0 -0.00010374280990079196 +4761 -0.0008315823982919553 0.00020124953124553614 0 0 0 5.0514542651365225e-06 +4798 -0.0005598133471549102 0.00014551732298634338 0 0 0 -6.230713537312479e-06 +4811 -0.0010121702109414758 0.00033866839624093777 0 0 0 7.196678730596774e-05 +8642 -0.0008099728705679387 0.00038550668565577335 0 0 0 6.356123847214992e-05 +4814 -0.0004192348034838103 -2.1899852433002967e-05 0 0 0 -1.4110351454317952e-05 +4845 -0.0010022938982473188 0.0008395910682819721 0 0 0 -1.980052896892432e-05 +4851 -0.0008394149226368267 0.00027984900743851414 0 0 0 -5.456471679436854e-05 +4927 -0.0008839701485831265 0.0006764603637245658 0 0 0 -9.468849259479133e-06 +4929 -0.0005073126933572259 0.00029842034214212315 0 0 0 -9.32661301233656e-06 +4944 -0.0012030507142360952 0.0011052239506680404 0 0 0 0.00025272442812902514 +5817 -0.0011333751150210624 0.0007674323655311154 0 0 0 -8.168172074527417e-05 +4958 -0.0008450630718401771 0.00022914330417766581 0 0 0 -1.6191584579272204e-06 +4995 -0.0008614009968105858 0.0002030369889070201 0 0 0 -3.170726259367996e-05 +5041 -0.0009294562611265542 0.0007323561558559878 0 0 0 1.0787238090655878e-05 +5059 -0.0007924150513088844 0.00020145497739249498 0 0 0 7.450856530685019e-05 +1889 -0.0010249095870264893 0.0007081594777954618 0 0 0 4.4633887281092435e-05 +5088 -0.0008326339354382676 0.0007301638973316725 0 0 0 0.00012013978278279736 +5127 -0.0009033326645877476 0.00021993508279938436 0 0 0 -3.2389398547322383e-06 +3581 -0.0004338375535414799 5.667164665874146e-05 0 0 0 5.323162037579132e-05 +5164 -0.0008196661233089448 8.332217032173905e-05 0 0 0 6.0285089657840644e-05 +5269 -0.001078192835961623 0.0007633114595613638 0 0 0 7.687788688933187e-05 +5291 -0.0008363780747187048 0.0002013198220358697 0 0 0 7.545400605695873e-05 +5338 -0.0008296187666316544 0.0006791348125586115 0 0 0 8.950147933773938e-06 +5359 -0.0009004188055354244 0.0002842208063304413 0 0 0 2.6392798139016566e-05 +5373 -0.0007242145631862462 0.00023756387748720208 0 0 0 2.8078095167077863e-05 +5431 -0.0011418508344369848 0.0009671356425334439 0 0 0 0.0002798518006620388 +9587 -0.0011562399123297988 0.0005103585871098128 0 0 0 0.0007275255432635481 +5506 -0.0004524260650560161 6.972002197357655e-05 0 0 0 -8.784153683922137e-05 +5532 -0.00044442518369335114 -0.0001269902536643547 0 0 0 8.736948457644701e-05 +5539 -0.000889125500756641 0.00047299578798153184 0 0 0 -4.6153891235042e-05 +1422 -0.0004521321249622291 -0.00015356907326260257 0 0 0 8.7865804480899e-05 +1471 -0.0010313045488442396 0.0003059482698765876 0 0 0 -1.9218320611980955e-05 +5649 -0.0012833153371248865 0.001035488503752897 0 0 0 0.00023037430204956647 +3096 -0.001102203370795271 0.0003452322815336281 0 0 0 0.00024198378665836364 +5664 -0.0008330581860390698 0.00031953385433040643 0 0 0 -5.982745356253573e-06 +9847 -0.0009874099205592335 0.0006574973612552176 0 0 0 0.00012666520976160065 +5698 -0.0010002590212466818 0.0003437288869428221 0 0 0 4.6481606608761646e-05 +4637 -0.0011209015546404348 0.0009687894505257714 0 0 0 0.0002473861187680392 +5800 -0.0006178285808804744 7.160791728114395e-05 0 0 0 -0.00010869605565500876 +5804 -0.0008766327770507181 0.0005238019345961436 0 0 0 -3.264252849748926e-05 +5812 -0.0006761247271459273 0.00021592496287771212 0 0 0 -2.3689831868739782e-05 +5829 -0.0006698157554832729 0.0004326726501666998 0 0 0 4.183393871948613e-05 +5871 -0.0008624201555359179 0.00021557283958009452 0 0 0 6.563758720049668e-05 +5953 -0.0002720480023586269 -0.00011456364422374479 0 0 0 -2.3160619832846855e-05 +3692 -0.0007432698451707867 -3.2837529823069988e-06 0 0 0 -2.033774573129274e-05 +6125 -0.0008112651421785891 0.00032571368838609166 0 0 0 -6.001295443427175e-05 +8508 -0.0010825903608641264 0.0008854509311041599 0 0 0 0.0003913854165036785 +6139 -0.0004429959898295491 0.0003177850397922469 0 0 0 -9.410895808293601e-05 +6145 -0.0007936531527542924 0.0005759621975904223 0 0 0 -3.0471486806788728e-05 +6165 -0.00025839926749482157 -7.780697099174744e-05 0 0 0 -0.00011759731359630424 +2081 -0.0006945801253836341 0.0003266922133792375 0 0 0 4.0032974676049e-05 +6264 -0.00021874094432080044 5.697468779888957e-05 0 0 0 3.252276033610241e-05 +6330 -0.00025830411474213853 0.00010378802759597725 0 0 0 5.4362536231798776e-06 +6433 -0.0009489477444169912 0.0007664148668946303 0 0 0 0.00017639845961358764 +6435 -0.0011473094125094465 0.0006876747516410534 0 0 0 6.812469240709066e-05 +6442 -0.0008649761744488267 0.0001654451610759518 0 0 0 -1.621922881691259e-05 +6456 -0.00020517881205767683 -9.909785576343959e-05 0 0 0 -2.450281488671014e-05 +3215 -0.0009076941528358759 0.0004091334712557612 0 0 0 0.00012722583846102076 +2707 -0.0010186221523511485 0.0003849657105931128 0 0 0 -6.20013342093806e-05 +6538 -0.0005014444588057444 0.0003353573002406001 0 0 0 -6.95323096479311e-05 +6545 9.189982743349918e-05 0.0002920035081854452 0 0 0 -0.0005349279242682693 +6550 -0.0007901983992377741 0.0005625522742807263 0 0 0 0.0001133485312830747 +6576 -0.0003537955774637735 0.00011273695258929819 0 0 0 3.3633434028841935e-05 +8019 -0.0005779072432441755 3.671733103918638e-05 0 0 0 -0.0001519634095915625 +3033 -0.0007232198686580342 4.962781276256149e-05 0 0 0 -8.481975128121366e-06 +6603 -0.0006574771623173421 0.0002990434423814761 0 0 0 2.6854592606566386e-05 +222 -0.0006440980605012809 -8.88479817191006e-05 0 0 0 2.1069197492224307e-05 +6703 -0.0010100012392710743 0.00032189506596952606 0 0 0 0.00017715616376965047 +9410 -0.00017357484284348027 -6.94321203478162e-05 0 0 0 -9.424669818826835e-05 +6791 -0.0008219440518111376 0.00012333836202616197 0 0 0 1.7752226416706427e-05 +6826 -0.00017109375493453484 -0.00013353244616196253 0 0 0 0.00015498818287186565 +5640 -0.0010199233178058969 0.00045906984954600965 0 0 0 2.8933260967296952e-05 +6846 -0.001211923010327318 0.0010980342158168229 0 0 0 2.003830965057769e-05 +9987 -0.0006322792036260462 0.00026460185989922506 0 0 0 6.507833789360683e-05 +6852 -0.0006134559057856022 0.00043885138780915087 0 0 0 -0.00014367288597502356 +6894 -0.0005934467535801458 0.0002997137469841438 0 0 0 6.371365197197819e-05 +3768 -0.00017095918862393693 -5.102806404227857e-05 0 0 0 2.3244383267648992e-05 +7124 -0.00037095122044923846 0.00010024859518688988 0 0 0 3.581518701626663e-05 +2665 -0.0011631723544493163 0.0007831618444563169 0 0 0 -2.7554346382689344e-05 +7100 -0.0010756433416411423 0.0008817168151776795 0 0 0 0.00018452331375137424 +7857 -0.0012639118608017202 0.0007925060433311391 0 0 0 -7.584378350121981e-05 +7207 -0.0008241249515990495 0.00018740556397179008 0 0 0 3.483846084457104e-05 +7223 0.0006635619663220593 -0.001244487683699788 0 0 0 -0.00018786813754107597 +7255 -0.0006502878577113386 0.00027974886913302707 0 0 0 -6.650828022678735e-05 +1610 -0.0008458151782957153 0.0004647900245654354 0 0 0 1.956101979417461e-06 +3521 -0.0013691876838270208 0.0006239484434649423 0 0 0 -6.903282002144507e-05 +7357 -0.00038920912728901576 9.004367018803777e-05 0 0 0 0.0001277732148881709 +5538 -0.0014086195697556713 0.000764597049539909 0 0 0 2.483733896244966e-05 +7439 -0.0009898994855294144 0.000783297679431949 0 0 0 -0.00010149259876897026 +3529 -0.0008516953534656109 0.0004319569682628493 0 0 0 1.4077812602070437e-05 +7530 -0.0010151330034279947 0.0007980645861318862 0 0 0 0.00022083158235781063 +7566 -0.0005729127623289447 0.000442221454295894 0 0 0 -8.022458916842831e-05 +345 -0.0010036013663148585 0.0007824511552487186 0 0 0 2.353350584993104e-05 +7628 -0.0008255317088439901 0.0006834289045786422 0 0 0 0.00018365143175441229 +9901 -0.0005438930132423282 0.0003850921515631625 0 0 0 -0.00012414873021468584 +7666 -0.0005699153478738238 0.000338045139697322 0 0 0 0.00010188963441286251 +1896 -0.0010251484066473918 0.00026983368734610763 0 0 0 -8.01247785783032e-06 +5702 -0.0010053738188883238 0.0002367242297466038 0 0 0 1.8873362821158375e-05 +7782 -0.0007475469065751455 0.0001952889687117853 0 0 0 -2.873279222603307e-05 +9998 -0.0010197934393814815 0.0002423201018355438 0 0 0 9.777237307277625e-06 +7842 -0.0005820668495716793 0.0002988147456401525 0 0 0 -5.787698672349241e-05 +7850 -0.0011654081913405555 0.000417047294589179 0 0 0 -0.00011875508632949292 +7875 -0.0008291067406959816 5.854797327973487e-06 0 0 0 8.692624865604569e-05 +7910 -0.0008736212830261484 0.0004920628397662276 0 0 0 3.780570749748137e-05 +4812 -0.0008570768476615479 0.0001222326804145304 0 0 0 -2.5845734975013614e-05 +3406 -0.0007452293946482106 0.00032668765609353674 0 0 0 8.163268845856194e-05 +8048 -0.0009120563244239993 0.00012320952387015002 0 0 0 3.9071063604009496e-05 +8055 -0.001004121410910428 0.0008820237301695807 0 0 0 -0.00011160235451468984 +8061 -0.0005100039233559968 0.0003428411306076684 0 0 0 -5.5307918168717845e-05 +8105 -0.0006602409901775467 0.0002559355783230184 0 0 0 -3.471978586437494e-05 +8124 -0.0010488552809479522 0.0008828771531515593 0 0 0 0.0002966824391668552 +2055 -0.0014010558468061983 0.000739601006234385 0 0 0 -8.95208339883055e-05 +8178 0.0005097136803114803 -0.00020702267407923138 0 0 0 0.00039214480393679575 +8196 -0.0011731915222826352 0.0007820727749379737 0 0 0 9.3273621191739e-05 +8226 -0.0005962616913026824 5.3468562770523146e-05 0 0 0 0.00019651202430342505 +8249 -0.00028601673087117987 0.0003172221310098164 0 0 0 -0.0002216935978906244 +5552 -0.0010488906167109375 0.0003587581618745178 0 0 0 -3.5769557684092354e-06 +8272 -0.00038439797447029956 0.0001127013106892341 0 0 0 1.791902020407894e-05 +8290 -0.0010961147902172753 0.0007850984809658375 0 0 0 -0.00021642732870846615 +8296 -0.0008151234990809154 0.00029378219475877765 0 0 0 0.00016014194446771916 +6383 -0.000864865005522417 0.0005330250821666262 0 0 0 3.219245036423201e-05 +8408 -0.001049671579248237 0.0003026911025424169 0 0 0 8.752135144115083e-05 +8456 -0.0006153577505586896 0.00014474077410181338 0 0 0 4.048374900094357e-05 +8457 -0.0007856720687754691 0.0007027519349423814 0 0 0 -5.7821923669532286e-05 +7678 -0.0011444136538618088 0.0007068870316179249 0 0 0 0.0001512685399815387 +8509 -0.0007620716881382439 2.4048664206013328e-05 0 0 0 -2.5480822830274036e-05 +8523 -0.0006178814370971415 0.00015848306586778126 0 0 0 -6.0402125358248855e-05 +8538 -0.0008573127990124597 0.00020827652413244358 0 0 0 6.393638133384237e-05 +3165 -0.0010774101243700368 0.0006394455669250305 0 0 0 -9.630178050446741e-05 +8675 -0.0008002337393370683 0.00012769701697409554 0 0 0 7.460485050554604e-05 +8190 0.0011375933403605725 0.0014990752543560274 0 0 0 -0.002130194359297218 +8773 -0.000840253774873248 0.000310360240765363 0 0 0 -2.957556215296949e-05 +3101 -0.001414358067806969 0.0006464641506626873 0 0 0 4.974949898536198e-05 +8796 -0.0008383008377946382 0.00019173789649517317 0 0 0 2.762669899325533e-05 +8804 -0.0008427051241425789 0.00025223349466997266 0 0 0 2.9418349596893065e-07 +8917 -0.0008797563567306909 0.0004855848829711431 0 0 0 6.428256841358556e-05 +7208 -0.001023708192294026 0.0006965076251098922 0 0 0 -0.00012861372733393884 +4808 -0.0002458123660189978 9.502163817501005e-06 0 0 0 2.713738556343311e-06 +9013 -0.001110148433615616 0.0006648066773790309 0 0 0 -0.00023346079261932277 +9026 -0.0010004221712514685 0.00035224644748851745 0 0 0 4.797678705183464e-05 +9076 -0.000548548393178084 0.00040095490912057366 0 0 0 -0.00012950859982529454 +9094 -0.0009036859177521949 0.00020567788223942805 0 0 0 1.524006941490136e-05 +9095 -0.0005779958128529778 0.0002803606704409835 0 0 0 6.497228058727705e-05 +9099 -0.000825824508767972 0.0008136770946339523 0 0 0 -0.00010659905053163624 +9141 -0.0003942557126837688 0.00012445235363295375 0 0 0 -1.015612881283302e-05 +4858 -0.0011752896022855838 0.0007510237105457415 0 0 0 1.252070271894923e-05 +9183 -0.0016942756749703516 0.001003481812902065 0 0 0 -2.188636973977036e-05 +1376 -0.0009670275644120001 0.0006260318827746819 0 0 0 3.439544801933727e-05 +9251 -0.0008355168918239647 0.00022828933227908398 0 0 0 -7.923237948043632e-05 +9440 -0.0005586019314907006 0.0004123813384273176 0 0 0 -7.358496687453153e-05 +9501 -0.0008445893634530886 0.00019640037958017104 0 0 0 -1.9403973031440632e-05 +9516 -0.00043068780455577017 -0.00010019466200478995 0 0 0 8.222809009183745e-05 +9536 -0.000655319078376642 -6.497959115830748e-05 0 0 0 0.00012081786902735766 +9626 -0.0001960344296040186 -5.508555976358126e-05 0 0 0 1.650309194253645e-05 +9652 -0.0005058145724446618 0.00026170433423687605 0 0 0 -0.00010830468685405638 +1049 -0.00031720805074141853 6.841888546446436e-05 0 0 0 1.3296979519759245e-05 +1671 -0.001004975226277503 0.00033020519461220957 0 0 0 -2.1434075433771468e-05 +7556 -0.0009703148418390704 0.00031820094052707027 0 0 0 5.9026411374199184e-05 +7985 -0.0010595992532693615 0.0007747956699142364 0 0 0 -0.000172404607031835 +9744 -0.000290478540290243 0.0003150485154936073 0 0 0 0.0001928648126419885 +9747 -0.0007395786893628874 7.582896996154246e-05 0 0 0 -0.0001507430485503685 +9835 -0.00022348057444159682 -0.0001626882683691356 0 0 0 0.00019593952298016298 +1993 -0.0008558392875358423 0.00038625178417622726 0 0 0 -7.462276046698937e-06 +9962 -0.0006551033494402666 0.00035696594672264775 0 0 0 -0.00012715781822816388 +9862 -0.00048711726161619487 -0.0002039955571673361 0 0 0 0.00013403495608843124 +9881 -0.0006663105921074395 0.0005515096618563 0 0 0 0.00010802792546273915 +2829 -0.0010336819718692871 0.0008591601745548846 0 0 0 -0.0005058477312213171 +5732 -0.00022876487550868167 -1.511183725566491e-05 0 0 0 1.4719474934720284e-05 +4329 -0.0008854444561784852 0.0004715974586695924 0 0 0 2.1920789963449296e-05 +6578 -0.0008400240401963298 0.0005033493864610749 0 0 0 3.267288329435142e-05 +6299 -0.0002450426193392971 -4.534672573584021e-06 0 0 0 -4.643945572597333e-06 +1612 -0.0006525297409813424 6.742896021645824e-05 0 0 0 -2.4050733251509e-05 +7727 -0.0006426526259008451 5.892478125898817e-05 0 0 0 1.3143446464632279e-05 +522 -0.001070651265698213 0.0007051511354014209 0 0 0 -4.747716504884414e-06 +2810 -0.0002704924012245061 3.053236565102749e-05 0 0 0 -1.273900899940386e-06 +9300 -0.0002974408675963587 3.509017214589752e-05 0 0 0 1.295791139045912e-06 +7007 -0.0010916976166233856 0.0009435268447436394 0 0 0 -8.154652024178533e-05 +8237 -0.0008285671512523437 0.0004833974013522877 0 0 0 -5.0543386583301375e-05 +8220 -0.0011552029474191153 0.0007633113499446261 0 0 0 0.00026851155776352095 +8852 -0.0009075818578911063 0.0005460420016778727 0 0 0 -2.6370074647311952e-05 +9173 -0.0008611084878636975 0.0004792679311183105 0 0 0 1.3942480206025117e-06 +3525 -0.0011519617164090698 0.0008413936090885076 0 0 0 0.00012528178167350455 +3058 -0.0010585039900918446 0.0006177142391762568 0 0 0 0.00012572954656835987 +6800 -0.0013682988182459547 0.0008951410140123947 0 0 0 7.307728578038771e-05 +5293 -0.0014395438225045273 0.0008508056738023607 0 0 0 0.0004306533011789063 +3764 -0.0010099074046968385 0.0006283188861254123 0 0 0 5.4033720124759766e-05 +7571 -0.0011986002767391654 0.0008870187568304073 0 0 0 0.00035854604665304336 +6232 -0.0010150181487350238 0.0005634732321932985 0 0 0 5.299524398575447e-05 +9012 -0.0009932903325886146 0.0007808065908509254 0 0 0 -0.00015890147924096693 +8573 -0.0008095320797413471 1.1471322064672365e-05 0 0 0 -8.390398057743234e-05 +514 -0.0009839778095629642 0.00041401665869429346 0 0 0 2.2060446075474334e-05 +7590 -0.00046998995553339045 -0.0002467994520359771 0 0 0 0.0003464880453044118 +7312 -0.001033467196178503 0.00031911189662579706 0 0 0 -1.554898106872619e-05 +1600 -0.0010119353337824464 0.00031856379078612956 0 0 0 1.1119472766282763e-05 +2579 -0.0009294532891421414 0.0005219994815963657 0 0 0 -8.913018131748487e-05 +587 -0.0009850102025212885 0.00042205407306689617 0 0 0 -4.669307035986094e-05 +5735 -0.0010236491164275013 0.0003960355259184739 0 0 0 2.64394611803693e-05 +7517 -0.0010443066429336244 0.0007099953046207135 0 0 0 -0.00012653381924250022 +4639 -0.0005635810465572859 -6.995150523053722e-05 0 0 0 -0.0001282514717254429 +7736 -0.00035844188056060136 -6.676374605901941e-05 0 0 0 -4.183448043175216e-05 +3938 -0.0010420474981668126 0.00035606689470773747 0 0 0 -1.466262778412742e-05 +5487 -0.0010436872058205361 0.0003289925066455424 0 0 0 -2.4840412814733324e-05 +8175 -0.0014258824626894812 0.0006933416928586782 0 0 0 0.0002694310023340161 +3339 -0.0009267920784633291 0.0006223691332004413 0 0 0 4.839680895351845e-05 +7836 -0.001413868888125363 0.0007460108039530113 0 0 0 0.0001433529365952174 +552 -0.000615427993908948 -0.00015608527467270332 0 0 0 -4.053539668482777e-05 +1107 -0.0004376890615667326 0.00012776352644014793 0 0 0 1.0285473498662e-05 +9348 -0.0007343343134240574 -3.6764925730636545e-05 0 0 0 5.72824425935372e-05 +6785 -0.0006335604040348461 -8.414526518781932e-05 0 0 0 -5.474334122794769e-05 +45 0.0005146469934967286 0.0003485431714526927 0 0 0 -7.764918571715128e-06 +8430 -0.0009411181546322448 -8.665025262626101e-05 0 0 0 -0.0010757857229254434 +6843 -0.0001630756066352733 -0.0004129427591465044 0 0 0 -4.9746507486792675e-05 +7036 -0.0003489249536954647 0.00038566099079309407 0 0 0 -0.00014589037717932778 +127 0.0006344384797840177 0.00021342644815185518 0 0 0 -2.5365711432347174e-07 +131 0.0009306800539210529 -6.145541660464339e-05 0 0 0 -1.4868420072540763e-05 +6523 -0.00026471085878170637 0.00039408000630177566 0 0 0 -7.021280450916733e-06 +165 0.0008093398556559455 -8.598802912444181e-05 0 0 0 -2.032674360126916e-05 +180 0.00020245260512996197 3.6831949812647885e-05 0 0 0 -4.0227349955330596e-05 +190 0.00030825086353369576 0.00036761317852373814 0 0 0 3.8441035089256594e-05 +9066 0.0003899586615171869 0.000365707460610357 0 0 0 -2.7622643035786803e-07 +199 0.00023081627628624565 0.00031154951786773594 0 0 0 -1.3817058595466912e-05 +201 0.00064431878926425 0.00022411909515362576 0 0 0 -9.716029714509865e-06 +202 0.000710510633517503 0.00018240400440744912 0 0 0 1.6474290916987364e-05 +206 0.00020780664819392686 0.0003594994841217756 0 0 0 -1.1183735432456117e-05 +323 0.0004165491296074759 0.00020378719191278943 0 0 0 -1.8014815639075696e-05 +344 0.0007091511330684631 -0.00019317601119125325 0 0 0 -2.353683410432564e-05 +438 -0.00013542327275155555 0.0003070322335899133 0 0 0 -2.8668712182771043e-05 +441 0.0005407668684293161 0.0003337372440555032 0 0 0 -5.88207344874958e-06 +473 0.00046208493403328065 0.00025139248860295716 0 0 0 -2.1477648675400972e-05 +6662 -0.0002468465158823869 -0.000378224884670615 0 0 0 -4.320149736279845e-06 +493 0.0004957350530960558 0.00037163679497438944 0 0 0 1.2019081795306628e-05 +500 0.00030736368683550926 0.00020464603781464094 0 0 0 -1.77675715746447e-05 +512 0.0005936340483179423 0.00025831644052898083 0 0 0 5.907752718622887e-06 +6428 0.0007623970408721131 -0.00031348554808653 0 0 0 -5.9347392119467416e-05 +604 0.00036815189649628226 0.00042719583682965256 0 0 0 -2.5761430279569207e-05 +8355 -0.0004993357840551401 0.0004681823494582837 0 0 0 -0.00010375089011100159 +625 0.0003852131456550156 0.00038516041814254994 0 0 0 0.00013668983460353275 +676 -0.0004360956050700319 0.0003852710995386018 0 0 0 -8.264261543220867e-06 +703 8.563019021440382e-05 -0.000143916963606717 0 0 0 -2.783305921683602e-05 +708 -0.0001290238156584587 -0.00032871322085795666 0 0 0 -3.4619751301345675e-05 +714 -3.9220910357910326e-05 0.00037230931027637743 0 0 0 -1.2623374975941476e-05 +4926 0.0004890421370926111 -0.0002766024880591301 0 0 0 -5.13752425131403e-05 +742 0.00033576048730183327 0.0003214986561802134 0 0 0 -9.435367060462814e-06 +750 7.056546566676242e-05 0.00034356241817558997 0 0 0 -2.6880254602966622e-05 +751 0.0007244872316665026 6.974991629684828e-05 0 0 0 -3.3839523006940855e-05 +4190 0.0006550470088012584 -0.00012713131736175688 0 0 0 -2.863511281259942e-05 +6448 -5.1701529572130524e-05 -0.0005301320721474675 0 0 0 -6.340411232348765e-05 +780 -7.80626212678346e-05 0.0002823483084531595 0 0 0 2.6539601369805526e-06 +5922 -0.00024617804959312057 -0.0003955512501294404 0 0 0 -4.981884413597401e-06 +790 0.00030351668167774424 0.00024814173912059796 0 0 0 -2.8641083110666646e-05 +792 0.0005474243105946591 0.00025547403693992286 0 0 0 -6.535259116215526e-06 +825 0.00041849157258882916 0.00028489281457539067 0 0 0 -1.4012451698666571e-05 +884 -5.5119610174968766e-06 -8.165361654274116e-05 0 0 0 -3.719948513214376e-05 +890 0.0005582631931887662 0.00015120999797096002 0 0 0 -1.0537312238815226e-05 +9139 0.0006461529029650724 0.00019326358419557253 0 0 0 1.1516919419329224e-05 +953 0.0005646724302926963 0.00025591757518218767 0 0 0 -2.9809704435249236e-06 +9368 0.00022788580888311337 0.00031500325869431354 0 0 0 1.4199802897236373e-05 +1007 -0.000197266472711247 0.00033152048361208736 0 0 0 -0.00010339478009359029 +5075 -0.00267474544354232 0.0007271282810687008 0 0 0 -0.0006248845118503089 +9687 -0.00017978767672890107 -0.00015125075292702928 0 0 0 -3.027314618094903e-05 +2250 -0.00010758301079144695 -0.00042158591605759554 0 0 0 -3.312342011555396e-05 +1036 8.205818251915763e-05 -0.00033333729092093514 0 0 0 -3.181277140881202e-05 +7968 -0.00039172658911161307 0.00043234508317275384 0 0 0 -0.00010458770011454664 +1040 0.00012289257241562463 0.0002791165805638862 0 0 0 9.068581751878044e-05 +1046 0.00035851480343279576 0.00016702594703074073 0 0 0 -2.855889448104271e-05 +1053 0.0006728077136718161 0.00014307470315407658 0 0 0 -9.721856843292328e-06 +1057 0.00020445610411032645 0.00026837414652929325 0 0 0 -6.68572435515364e-06 +1115 6.29696729917045e-05 0.0003768511088515153 0 0 0 -1.0989571573786313e-05 +1134 0.00035607588343177594 0.0003951491715179738 0 0 0 -4.26274133147551e-05 +1152 0.00044136247877676275 0.00014224564865253838 0 0 0 -8.578819919753936e-06 +1188 -0.00030387258932914745 0.0003772319780049523 0 0 0 -4.214415421293803e-05 +1249 0.00017644503138758644 -0.00010102705203998248 0 0 0 -2.4862990285253658e-05 +1272 0.0005374947520710851 0.00017864040868581727 0 0 0 -1.711161432615429e-05 +1317 0.0008477243605790586 0.00012433824238038517 0 0 0 -8.22598510368659e-05 +1329 0.0005626112272953415 0.0002878032356339297 0 0 0 -2.812837646996936e-05 +1349 0.00028310754799481256 0.0002509466303025617 0 0 0 2.989591651085115e-06 +1350 0.0002314810554765405 9.30653308945318e-05 0 0 0 -6.637514732297325e-05 +1372 4.794713594071433e-05 -0.00025234140965043684 0 0 0 -3.570418821259104e-05 +37 0.0005669098432839913 4.1045761027172044e-05 0 0 0 -1.6233509153286578e-05 +1389 0.0008052780771736806 0.00013968873470820314 0 0 0 2.5998976571260718e-05 +9172 0.0005883479810979657 0.0001928246618485803 0 0 0 -4.2364273765198367e-05 +1418 0.00015672291337433684 0.00036464435750042397 0 0 0 -9.481428774567866e-06 +1425 -6.802336289649327e-05 -0.0003757202255846988 0 0 0 -2.956299478023801e-05 +1442 -0.00037024601745194356 0.00035776227226892623 0 0 0 -6.602159514492345e-05 +1499 0.0002918366366017603 0.0004122003599379943 0 0 0 -3.05885033732631e-05 +1509 0.0004226293972154158 -0.00028137225017660735 0 0 0 -2.8998784030546712e-05 +1579 -8.650231181687064e-05 0.00036137672346286026 0 0 0 -2.9752589748231386e-05 +9482 0.0004685910479562875 0.00038444668324505004 0 0 0 -2.9319985138163884e-05 +1596 -3.3142705488405713e-05 0.00027954508466583534 0 0 0 -2.2693999280866155e-05 +1606 -8.685848434994257e-06 0.0002949969879981061 0 0 0 -1.569104771986922e-05 +1621 6.0943304660299093e-05 0.0003172688354495727 0 0 0 -9.972745040393407e-06 +1624 0.00025930391688251203 0.000334996011422047 0 0 0 -1.1822201063221322e-05 +1649 0.0006339810666173642 0.00015488903289628461 0 0 0 -6.576733302716672e-06 +1656 0.0005167989187345141 0.0002539205395072641 0 0 0 -1.5735162367979474e-07 +1657 0.00017702196108191232 0.00039069496185877044 0 0 0 1.1620751935024005e-05 +1694 -0.0001292598788932662 0.00030396263809519454 0 0 0 3.3449153514570946e-05 +9288 0.0006614872662972152 0.00010615578847983229 0 0 0 -1.6613156941940377e-06 +1731 0.0007177485009391947 0.0001229609958528961 0 0 0 -4.080109223904844e-06 +1767 -0.0006389833227084459 0.0004102373044812397 0 0 0 -7.9741557492648e-05 +9793 0.000547824919695445 0.0004430841828607756 0 0 0 -0.0008225168579910004 +5637 0.0006476213936521908 -0.00021888498802059004 0 0 0 -4.553448819811914e-06 +1831 0.0002657100585734689 -5.011284698207076e-05 0 0 0 -9.606234952174663e-07 +1842 0.00027252820703336405 0.0004429123628032811 0 0 0 8.624324099168499e-05 +1847 8.726520421884787e-05 0.00033166902438577865 0 0 0 2.3377787306455374e-06 +1853 0.0002476566279875843 0.00024974139111826066 0 0 0 -6.664890432834661e-06 +3806 0.00067869736376136 -0.00010517905892267767 0 0 0 -2.9870444285008394e-05 +1902 0.00037680781079425763 0.0003644063932083767 0 0 0 -1.575362588965015e-05 +1911 0.00030011216025360976 0.00037397398799212105 0 0 0 1.2442702643338013e-05 +4591 -0.00017669759494722044 -0.00027695746812625405 0 0 0 -3.902171461224783e-05 +1939 0.00033040118526962096 -7.308433160760405e-05 0 0 0 -5.928636186967994e-05 +1952 -0.00041131888855306097 0.0003786728138906978 0 0 0 9.73290767351869e-06 +1961 5.401280569655794e-05 0.00034744537017538307 0 0 0 -1.8572653069341144e-06 +848 0.0005540578757435874 -0.00019438919081947928 0 0 0 -3.590835082145746e-05 +2017 -0.00012127123952760691 -0.00017332316677680278 0 0 0 -1.8095357534725942e-05 +9031 0.000468996093497079 -0.00023428798504004748 0 0 0 -2.0108442307027512e-05 +273 -0.0003122007371809281 0.0003726726096354554 0 0 0 -1.6203908978059204e-05 +2088 0.00043601315677085326 -0.0003920219147610393 0 0 0 -3.446323477938583e-05 +4735 0.00041365635073836753 -0.0002412425856935662 0 0 0 -2.697883177549999e-05 +2103 0.0005897665679414261 0.000228971601300599 0 0 0 -1.5208353113471469e-05 +2113 2.0111581741429945e-05 0.00030309612069815496 0 0 0 3.438107245943696e-05 +2145 0.0005971475208055988 0.0002479775771165898 0 0 0 1.4595522579127642e-05 +2150 0.00035779513836099497 0.00020333913006682198 0 0 0 3.8576801726257354e-05 +2264 0.00045752623209666246 0.0003931977560947362 0 0 0 -2.4043961740928886e-05 +2288 0.0005066676836666129 0.00019616023420092758 0 0 0 -1.2661126320811209e-05 +2312 0.00038740198562391587 0.0004567197799076066 0 0 0 2.408338631773196e-05 +2356 0.0003196178227974678 0.00038001806822320045 0 0 0 -1.7858812933124043e-05 +2387 0.0008372779385522318 0.00011258011741771768 0 0 0 -3.920295227920777e-05 +7421 0.0006420183064720651 -0.0003606394346868705 0 0 0 -6.454894133197452e-05 +9043 9.6672121224223e-05 -0.00032992197769405674 0 0 0 2.2309774900052944e-05 +2499 0.0004915647675012378 0.0005027198918034644 0 0 0 -7.701118046553553e-05 +687 -0.000821292874439097 0.00043481003576795164 0 0 0 -4.201725705681895e-05 +2564 -6.553844350817251e-05 0.00029274822164684157 0 0 0 -1.1668522674553541e-05 +9454 0.0005717683391993218 0.0002673109554797669 0 0 0 -1.8987817255518142e-05 +2578 0.0002168155366825251 0.00039336711586081946 0 0 0 -2.116860534364122e-05 +2604 9.248756004391823e-05 -3.501446031123058e-05 0 0 0 1.309963236092723e-06 +2612 0.0010129280118442892 -2.8610122287666415e-05 0 0 0 -2.620142886578091e-05 +2679 -3.979285436050152e-05 0.0003877179066796366 0 0 0 -1.446189365993338e-06 +1623 -0.0001329752119331426 -0.00012193689233317216 0 0 0 -2.568555041243415e-05 +2698 0.0005733107745498316 0.00016384782643570544 0 0 0 -7.503542788223967e-06 +2708 0.0007844219647876739 -0.00020474210532153323 0 0 0 -1.8261922454718446e-05 +9903 -0.0004172214597534199 0.0003215935706294201 0 0 0 -2.0996115512357583e-05 +1865 0.0006293096654754018 -0.00016352382306673995 0 0 0 -3.166173433707401e-05 +2783 -4.247823010490306e-05 -0.00021645563383397952 0 0 0 -2.8196262845071316e-05 +2811 0.0001733445102977661 0.0004798872039346913 0 0 0 0.00013717887292998774 +1595 -0.00025200385412971763 0.000394931664454255 0 0 0 2.489340524062837e-05 +2877 0.00015300354511801862 0.0003717036868421426 0 0 0 -2.5278982074505334e-05 +2916 -2.316367045509534e-05 -0.00014891512956172938 0 0 0 -1.874240737828041e-05 +2960 0.0005665612773205858 0.0003308336007239733 0 0 0 3.985711366351452e-05 +2965 0.0006338551082744384 0.0002751374912727983 0 0 0 -3.2590221774284136e-05 +3009 0.0005125035056985077 0.00020776649482307316 0 0 0 -9.326355632391605e-06 +3014 0.0006107776697083764 0.00015170631056948575 0 0 0 -1.0854294207640709e-05 +3017 0.00027142351506431365 0.00024976152790826233 0 0 0 -3.6975675999342127e-05 +3143 0.0008606438846424909 -0.00011730667643977147 0 0 0 -2.255155911559486e-06 +1607 -3.606457688942278e-05 -0.00041621507624682575 0 0 0 -5.2940252782539277e-05 +3157 0.00041520521245383163 0.0004022228177464249 0 0 0 -7.412650629599398e-05 +3172 0.00047857309376914283 0.0004095304274618348 0 0 0 3.083325790186346e-05 +3181 0.0005011558613319417 0.00028827531938101827 0 0 0 -2.225045824541468e-05 +24 -9.356689688456873e-05 0.00017823782236247324 0 0 0 -3.0223349934152607e-05 +3204 0.0001171606207797328 -0.0002386439434388272 0 0 0 -1.83069835618558e-05 +3213 0.001361754494893304 -0.00207880452268754 0 0 0 0.0008391881149185463 +3232 -0.00011414382101826064 -0.00024068925395589436 0 0 0 -2.8283320125683757e-05 +3247 0.0005626871466307047 0.0002382033646811923 0 0 0 -1.4630429269847144e-05 +6348 -0.0003767630636084988 0.0003974270217281547 0 0 0 -9.654360661814989e-05 +3269 0.0004615962872461864 0.00040313113341081954 0 0 0 -0.00010761727178642455 +7499 0.0003214844300208671 -0.0003877637945337711 0 0 0 -5.047502432667721e-05 +3354 0.00041127922808456986 0.00030651726203796215 0 0 0 -3.568769537697321e-06 +3363 0.0008087053859169963 -0.00024073333153586444 0 0 0 -4.4071664305636e-05 +3377 0.00029987649760288877 0.00045093225289585896 0 0 0 4.2747505096868115e-05 +3378 0.0008093478756860204 0.00016488379892233064 0 0 0 -1.9182875418758765e-05 +5621 0.00047950932501494067 -0.0003442739830867626 0 0 0 -4.381390405540266e-05 +3426 0.0006093847198613732 0.00020449114047515896 0 0 0 2.466943930319697e-05 +3445 -8.32736045132327e-05 -0.00045595606454305946 0 0 0 -4.414003023171956e-06 +3464 0.00026370478504041117 0.0004246837177129386 0 0 0 8.762335248110057e-05 +3501 -7.37989220694548e-05 -0.00021380164810615005 0 0 0 -3.629072271642477e-05 +3537 0.00013954664520324453 -0.00019125303311380597 0 0 0 -8.369832909088187e-06 +6137 -0.0008566877151112021 0.000477641065217581 0 0 0 -7.153968348380466e-05 +3623 -0.00022343536587872694 -0.00038508232382359687 0 0 0 -3.480703983532039e-05 +3625 0.00027670395859767075 0.00024308254535737134 0 0 0 -7.221823315567373e-06 +3645 0.0005447636902979533 0.0001667880594722459 0 0 0 1.0205455071709495e-05 +9944 0.00019831051488494432 0.00033458143620988877 0 0 0 -1.1432020150401897e-05 +3738 0.0004630425497211141 0.0003009697054701356 0 0 0 -1.0499475199515065e-05 +6529 -6.0983154132449576e-05 0.00029256979143781563 0 0 0 -8.438208671457426e-05 +3060 0.0006972716701595139 -3.740613154812396e-05 0 0 0 -2.4004233483484065e-05 +3798 0.00064932841449791 0.00015485537924383848 0 0 0 -4.323868254167176e-05 +3800 0.0003403675766784546 0.0001889952563828487 0 0 0 -4.0262562539497374e-05 +3808 -1.3573130044537376e-05 -3.4940279623841654e-05 0 0 0 5.3238442277996745e-05 +3843 0.00022087631480817733 -6.22758868204863e-05 0 0 0 -1.0448224317655057e-05 +3858 0.0003865153938227323 0.0003648488336977221 0 0 0 -3.5150618668982235e-05 +3913 0.0006229125813253985 0.00020997309972278032 0 0 0 3.7688412758084092e-06 +3987 0.00012277920384577424 0.00037592718585638396 0 0 0 -2.4027364858298493e-05 +4007 0.0005017522183444336 0.00042533630015282616 0 0 0 4.153512279008223e-05 +4030 0.0006161945546752655 0.00024460576467499716 0 0 0 -1.8836612238476236e-05 +4081 0.0005684551892442809 0.0002799280920434874 0 0 0 7.686096244788524e-06 +4087 0.0005084468173911484 0.0002455494021770584 0 0 0 -2.0307327806572936e-05 +4102 0.0008876048708213811 -0.00017888013555728916 0 0 0 -2.863405701920129e-05 +4103 2.5026865317654628e-05 0.0003165858952226666 0 0 0 -3.156908092915806e-05 +7286 0.0005961153543313247 -0.0003391721797249495 0 0 0 -2.982653450356569e-05 +4120 6.247980425326008e-05 0.00035310375318390333 0 0 0 -5.40539617358098e-06 +4129 0.0003094450535282095 0.0003190195302218083 0 0 0 -1.3760012862965898e-05 +8216 5.7009947144774885e-05 -0.0003259746712842032 0 0 0 -1.2243716978670366e-05 +4160 -0.0002976397619733879 0.0004310676393346639 0 0 0 7.200082865582838e-06 +9504 -0.0003817135429583235 -0.000151987432421442 0 0 0 0.0005573232564776825 +4216 0.00020583794975392717 0.0004607809901684943 0 0 0 -0.0001118893785062926 +4223 0.0006885152886756995 0.00018144276444725759 0 0 0 5.693452004030034e-05 +1383 0.0008516057686310018 -0.000219166959645095 0 0 0 -2.903374095284988e-05 +4291 0.0006379961926765291 0.00019407154690713883 0 0 0 2.798809966189227e-06 +4330 -0.0003690360621938544 0.0004363631238416279 0 0 0 1.3659365187970261e-05 +4338 -0.00011750561492037086 0.00031387602170076823 0 0 0 4.628197837171578e-05 +9477 0.0008169463821372156 0.00014288478462604634 0 0 0 7.265356450513537e-05 +4393 0.0003687354953264552 0.00010188508759605033 0 0 0 -3.352923247433425e-05 +8069 -0.0003091496161507176 -3.7155567334052295e-05 0 0 0 9.918296576645064e-06 +4462 0.0005191961153771829 9.404049223615672e-06 0 0 0 -0.0002067393993939732 +4582 0.00031294573089241643 0.00045334683939278437 0 0 0 -4.525300892739322e-06 +4593 -3.9367542865244224e-05 0.00031745221233198177 0 0 0 1.1909320924411846e-05 +7291 0.0006786658257114664 -7.419923541221008e-05 0 0 0 -2.503326915642544e-05 +4655 0.00015420635728520397 0.00038177039943937055 0 0 0 -4.51213307643743e-05 +4663 0.0003876387557734029 -0.00015365519551565224 0 0 0 -5.492283534565052e-05 +4712 0.00030727747377522446 0.00036635925189991203 0 0 0 -2.593011409735601e-05 +4763 -0.0005036488099836532 1.8199758669864046e-05 0 0 0 6.818844197781817e-05 +4775 0.0006915897087134793 0.00022564863443352354 0 0 0 -6.862585481882716e-05 +113 0.0002446769187082751 -0.000254940887042266 0 0 0 -2.8896377857115042e-05 +4827 0.00040045750391376765 0.00038404811032599265 0 0 0 6.189140067760708e-06 +4889 0.00042604348340313737 0.0004181001559748906 0 0 0 -3.46945624486028e-05 +4891 0.00040003284129638085 0.00016090755865628726 0 0 0 1.119503292876801e-05 +4899 0.0004118238791673159 0.0002709281398439836 0 0 0 -1.455559662988394e-05 +4919 -0.00010354031405159404 -0.00012588858047651402 0 0 0 -3.8255523396131874e-05 +9285 0.00042072557290021413 -0.00025330774977892664 0 0 0 -1.7882158213709024e-06 +4937 -9.360439753981292e-05 0.0006771672674913677 0 0 0 0.0003163164730078749 +4941 5.0357267330302825e-05 2.9100990554395495e-06 0 0 0 -0.00010623679065888745 +8443 0.0008064128981770745 -0.00019978233641291772 0 0 0 -3.1318029647395725e-05 +4994 0.0004176250553777879 0.0003082095169505057 0 0 0 -6.0204619204025146e-05 +5012 0.00032689844846832845 0.0004115451098443089 0 0 0 4.936784703569074e-06 +9027 0.0006998190358296884 0.00016015455728224232 0 0 0 -4.9778696075103193e-05 +5077 0.0004842729499645274 0.0002920171702996341 0 0 0 -1.4603946806759804e-06 +8338 -7.382208890929465e-05 -0.0004867237921663498 0 0 0 -3.5022115280269716e-05 +5096 0.00011676665890189207 -8.07767681554127e-05 0 0 0 -3.8892116618591506e-05 +5112 0.0002566704328150389 2.2009969768430312e-05 0 0 0 -2.6994326349021323e-05 +9112 0.0008176612771232318 -0.000603876580924055 0 0 0 -0.00012780474114726113 +5152 0.00012470624343579028 -0.00037305017355813 0 0 0 -0.00010967260024724028 +5167 0.0003701158147131443 -0.00011679477196958897 0 0 0 -5.732766115814436e-05 +5173 0.00015743716637767752 0.0009866398973549652 0 0 0 0.00038884099767812284 +5183 0.000384934698286667 0.00020841093292104366 0 0 0 2.7727723620412865e-05 +5216 -0.00023826994908339837 0.00039248653989450865 0 0 0 1.5832691121200535e-05 +5225 0.000679588225761219 0.00021192985158250907 0 0 0 6.303913463405568e-05 +5233 0.0006496399507266212 0.00016338609571202173 0 0 0 6.109816323471271e-06 +5274 0.0004553049709373396 -0.000229021731542956 0 0 0 -3.9802248695072114e-05 +8895 -9.638745349978429e-05 -0.0006083522993871132 0 0 0 -1.1942540943065422e-05 +1391 0.000625320225763576 -0.000268867277560111 0 0 0 -3.82994863941663e-05 +5313 0.0005357222290165115 0.0002655103144689526 0 0 0 -1.0836187044652938e-05 +8315 -0.0022319770701270825 0.00028910118332158664 0 0 0 -0.0016468614893499376 +5398 0.0006203808127037133 0.00021910566527923772 0 0 0 -2.4452806030941314e-05 +5404 0.0004502254525401889 0.0003782223452796566 0 0 0 0.00020469514821797182 +5415 -0.00014585624488661883 -0.0002060757643623694 0 0 0 -2.439924536058905e-05 +5465 0.0006052505820461192 0.00027432166060350143 0 0 0 6.866356880205572e-05 +9715 0.0003872994684280605 0.0002386164054850021 0 0 0 2.8575843461633196e-05 +6647 -0.00017473931463725067 -0.00011274203937027534 0 0 0 -3.040670949460921e-05 +9144 0.00037259709569715323 -0.00031325853322237415 0 0 0 -2.4885473447553297e-05 +5531 0.0002175895567018245 0.00028426099302145087 0 0 0 -2.494866315015882e-06 +5554 6.489999745033091e-05 -7.090961394040877e-05 0 0 0 -3.735224915147861e-05 +5625 -7.836602843459969e-05 -0.000274798913570718 0 0 0 -3.059753243676361e-05 +9933 0.0002892599395936122 0.00031666765133379427 0 0 0 -1.9851664291135646e-05 +5663 0.0005394748476004409 0.0003722202163541867 0 0 0 -7.298905431784146e-05 +5318 0.0006767043328821854 -0.0003182154327126847 0 0 0 -1.3371984679435447e-05 +5691 9.944649665266258e-05 -0.00020701451833634487 0 0 0 -3.056662262824116e-05 +5696 -0.0024990715308053687 -0.0017000706824405465 0 0 0 -0.0015774725246208272 +9799 0.0003848585612789692 -0.0002111984779173171 0 0 0 -2.2913277048725828e-05 +4267 -0.00040662480337567714 0.00039347158954275294 0 0 0 -0.00011736320564627608 +5803 0.0006031536454857689 0.00028119036084760745 0 0 0 8.149585493915338e-06 +5809 -0.00034478380749792934 0.0004581185803639386 0 0 0 -0.00011534044966522662 +5853 0.00020976934788539584 0.0003890883939634512 0 0 0 -1.957098452520732e-05 +5861 0.00039572866192211025 0.0003406591614286048 0 0 0 -4.1134479218613674e-05 +5863 0.001025415187619448 -4.816536046680847e-05 0 0 0 -3.135870168281139e-05 +5879 0.0009059897822289908 0.0005632609779657755 0 0 0 -0.0007003624788766434 +5882 4.527816059164235e-05 0.00024973971735508496 0 0 0 0.0004729927762496826 +5906 0.00041478589522241603 0.00013178863917879724 0 0 0 -8.633531206958257e-05 +1777 -0.0005551142545449684 0.00044557294364377145 0 0 0 -8.503512628925999e-05 +5925 -0.0004329991920596168 0.0003901279801732791 0 0 0 5.186577616755168e-05 +5939 0.00017516206650698582 2.817718938174282e-05 0 0 0 8.592978687121059e-05 +5958 0.0002065635878021063 -0.00011495115873771791 0 0 0 -2.960867834514521e-06 +1617 -0.0004716458817233361 0.0003565197750276096 0 0 0 -6.687141861982231e-05 +6004 0.0002080252493950254 0.00035860810345204295 0 0 0 -3.54735575583573e-05 +6028 0.0006808295900262625 0.00010525796100004279 0 0 0 -3.3964227559534064e-05 +4285 8.593604161908742e-05 0.00037573992022815116 0 0 0 0.00029976493831681417 +6049 0.00013097656570263864 0.00037442001058415224 0 0 0 -2.1773713151303422e-05 +6057 0.0007155247458415849 0.00013706665958832705 0 0 0 -1.9014641390962597e-05 +7394 -0.00042150923613847984 0.0004024552332972873 0 0 0 -0.00014674404947458353 +6065 2.8967417403585287e-05 -0.00020704428985475864 0 0 0 -3.586197637632659e-05 +3595 -0.00041976993510249214 0.0003674408785504765 0 0 0 -5.250495964821416e-05 +6156 -9.607265336802018e-05 -7.314256556320815e-05 0 0 0 1.0212901646072684e-05 +6176 0.0003378573519299474 0.0003930656464804324 0 0 0 2.7786390863860204e-05 +6178 0.00040045970611311246 0.0003620248377258622 0 0 0 5.013346952993344e-06 +6179 0.0006931419001953162 0.00014323594601380694 0 0 0 -1.5583626891634015e-05 +6194 -6.347666255678698e-05 -6.0493178297183805e-05 0 0 0 2.680129590273007e-05 +6247 0.00047977468184916066 0.0004360531272881249 0 0 0 -3.945439327528822e-05 +6269 0.00030880681782052366 0.000445170404956847 0 0 0 -5.903089731359857e-05 +6278 0.00032099737468128074 0.000362163369002024 0 0 0 -3.1658171437735347e-05 +6283 0.0008242160285940148 0.00019938192790989526 0 0 0 -7.183691342102821e-05 +6314 0.0003209748219309421 0.0004573727828326402 0 0 0 -5.636663296975695e-06 +6321 0.00036151020207731305 0.00021778952856111585 0 0 0 -7.292646495094115e-05 +3012 0.0007823879557395247 -0.0002609239729114802 0 0 0 -2.6535020628385477e-05 +9677 0.00011310024961115901 0.0004029739663007257 0 0 0 -4.052733030714499e-05 +6380 0.00036797220495924884 0.00031748415542502695 0 0 0 -2.1626611337719253e-05 +6552 -3.7265987124956174e-05 -0.00025854153412705133 0 0 0 -3.0974025026905135e-05 +6393 0.00044167227582372133 0.0004327924049737344 0 0 0 1.0228171551116008e-05 +3343 -0.0002519798652598323 -0.0003391738317447019 0 0 0 -3.053568238074638e-05 +7685 0.0006065850047025829 -0.0003988894123913897 0 0 0 -4.127901257896318e-05 +6424 0.0005709394950177345 0.00015949683547272176 0 0 0 1.2674866319375374e-05 +6436 0.0007291029822725027 0.00013196898255166502 0 0 0 -2.2270927983256663e-05 +6541 7.271365108666263e-05 0.000355177392210938 0 0 0 -5.0903386605439635e-05 +9442 -4.280042395840247e-05 0.0003217892287645988 0 0 0 -3.9418178042617346e-05 +9256 -0.00016248514428419204 -9.366334640808646e-05 0 0 0 5.210148063966056e-07 +2738 -0.0005559085175988497 0.00037184504484331834 0 0 0 -6.317679809165311e-05 +6600 0.000419263183296116 -0.00017378180079157066 0 0 0 -8.2980512496804e-05 +5497 -0.0004010794767110061 0.0003755081493306739 0 0 0 7.297688492147446e-05 +6861 -2.649600108643462e-05 -0.0002911288235103912 0 0 0 -4.877610881800944e-05 +1811 0.00021354507460441495 0.00045558144272776465 0 0 0 1.7621619463440043e-05 +6676 0.0003598388428400061 0.00019159888045201765 0 0 0 -4.571679423199567e-05 +6841 4.488467441229008e-05 0.00027979973196897725 0 0 0 -2.322575007987423e-05 +6685 0.00034084435366009386 0.00021134214323366058 0 0 0 -5.969484216464722e-05 +6686 0.00024147071822483492 0.0002948543493428666 0 0 0 -2.5857567467002282e-05 +6743 0.0004148778843148217 0.00036440810547350594 0 0 0 -1.567003846010814e-05 +6749 0.00030950634194407367 0.00032182652990604455 0 0 0 -4.49458246146139e-05 +6752 0.0002990732606421218 0.0003605393993278191 0 0 0 -3.196618364220538e-05 +6827 1.986030576248337e-05 0.00031409512271449993 0 0 0 -7.591197216060244e-07 +6837 7.833651452198041e-06 -0.0003273127667324175 0 0 0 -3.815846170947966e-05 +9892 0.000482366884562388 0.00056747501152022 0 0 0 -0.00022029920258902132 +6856 0.0002787158716014758 0.00035689783379105617 0 0 0 -1.4616654212235344e-05 +6868 0.0006267185448196338 0.00019441299654542014 0 0 0 7.828900397636392e-06 +6875 0.000292051664417515 0.0007193535525788067 0 0 0 -6.495169369855226e-05 +6880 0.000570107753730692 0.0002383603271992694 0 0 0 9.566478180537142e-06 +5388 -0.0002734796100280086 0.0005396620919639729 0 0 0 -3.03063769470342e-05 +6921 0.0006653111674223509 9.757546548825111e-05 0 0 0 6.8491565937059875e-06 +6925 0.00017918260414925323 0.0002613965428412634 0 0 0 -1.1735416290969471e-05 +6928 0.0008237947859595749 -0.00015640179669231864 0 0 0 -2.9446910285332e-05 +6932 0.0005940067454433017 0.00014380981822760083 0 0 0 -1.3609086949823675e-05 +8551 -0.00018855455843869265 -8.580113839547385e-05 0 0 0 -3.031534999967458e-06 +6465 -0.0006138411855428072 0.00040335359754118885 0 0 0 -0.00010644132133483184 +2570 -0.00027606821538770585 -0.00030498372048761417 0 0 0 -3.5114162442767804e-05 +7083 3.221522794195984e-05 2.299388747471166e-05 0 0 0 9.821619816684857e-05 +7116 0.00028110380242591325 0.0003703488717664074 0 0 0 -2.5581208694999214e-05 +7145 7.228428236221191e-05 0.0003998070949801472 0 0 0 6.849902719009925e-06 +7167 0.0009577956640944621 8.008026724436708e-05 0 0 0 4.261268022438874e-05 +7168 0.0006389422595483531 0.0002295051247939873 0 0 0 4.423688252792621e-06 +7185 0.00042963037129756243 0.0002763673274223346 0 0 0 8.010764774268966e-06 +9188 -0.0006254498329512693 0.0003248521418788904 0 0 0 -0.000264075061320652 +7299 0.0006205000796674148 -0.00019120903649976384 0 0 0 -7.375194047233709e-06 +9007 0.0005582785323276169 -0.0005380725141992175 0 0 0 -0.0003171777947258565 +8763 -0.0003253197697549811 0.00034958992409540374 0 0 0 0.0001557095620405984 +7382 0.0002896916615778593 0.00025220153325507234 0 0 0 1.4152213202360312e-07 +6384 0.0011917493028871567 -7.867574513219728e-05 0 0 0 -0.00010045564309199423 +7416 0.00010537111608350635 0.0003123900686566339 0 0 0 -6.786130407006494e-05 +6570 0.0004492660557784726 -0.0002441237573403051 0 0 0 7.940433393151415e-05 +7424 0.0007094175219542572 0.00012628220191230368 0 0 0 -8.95535850678959e-06 +7435 0.000546199052158155 0.00028292139483552294 0 0 0 -4.564485803186256e-06 +7436 0.00023390735267113204 -0.00010733621871307612 0 0 0 -4.272191558514445e-05 +4137 0.00028829791307834055 -0.0005383298851761851 0 0 0 -5.756262179152821e-05 +8138 0.0005823579013576368 -0.00016212028675732584 0 0 0 -3.5728424846824686e-05 +7478 6.24048167169945e-05 0.0003195654360233215 0 0 0 2.4266553443474815e-06 +7313 -0.0020304051477555056 -0.0008177996752583108 0 0 0 -0.0017244156610802745 +6757 -0.0005894279715067046 0.00040421797596278114 0 0 0 -5.2004267745881895e-05 +7543 -0.0001552461326926432 -0.0002438192765391928 0 0 0 -1.6943825233168398e-05 +7563 0.0009268159142238493 -3.2344060947710473e-07 0 0 0 -5.2458956628590563e-05 +9916 0.0009656279131249364 -1.276530745021493e-05 0 0 0 -7.361509648653227e-06 +7586 8.940491462727117e-06 -0.00031109314052219324 0 0 0 -2.0855772370754674e-05 +7600 -0.0012685484867695066 -0.0008822856196990464 0 0 0 0.0006358389143950473 +7611 -1.8007919512000814e-05 0.0003263598596799873 0 0 0 -3.809211441571095e-05 +7615 0.00028463463774256034 0.00036095931350435453 0 0 0 -6.705806762992105e-05 +7621 0.0003599144126684899 0.0004600742007088971 0 0 0 -7.401538991361932e-06 +7629 0.0004063401690070662 -0.00026997399495535244 0 0 0 -1.2455279736941866e-05 +7632 -0.00010079550043046852 -0.0005615560990010135 0 0 0 -6.425983949914472e-05 +7636 -6.543059076965858e-05 -0.00028730590471866545 0 0 0 9.17761022295236e-06 +8263 0.0005677317746638918 -0.001660372363885989 0 0 0 -0.0012725208934076038 +7663 0.0007593144555475835 -0.00017365189889272307 0 0 0 0.005806543654621545 +7673 0.00031345511676440644 0.00021103432633869744 0 0 0 -6.287613820624232e-05 +7677 0.0002697162201374836 0.000347906054784683 0 0 0 -7.229950820026383e-06 +7687 0.00044662521676235495 0.00045661068589544356 0 0 0 -4.195182085324494e-05 +9559 -1.3512058627176212e-05 0.0003120754420531915 0 0 0 -1.4901889072171571e-05 +1846 -0.0003634974995026798 0.0003854421953266467 0 0 0 -1.088947991464511e-05 +9294 -0.0006846242667630423 0.0004056994777075674 0 0 0 -2.384059523030486e-05 +7765 0.0006412915313180153 0.0002455140457365252 0 0 0 2.359859961642233e-05 +7795 -0.0007787424321165346 -0.0012480306101352282 0 0 0 0.0007691111207732149 +3475 0.0006547942330379806 -0.00029194746298109376 0 0 0 -4.0882069708518084e-05 +7821 0.00033796637516059365 0.00034468999539500293 0 0 0 0.00019123961365330976 +9202 0.00039342814999601954 0.0002776726036636875 0 0 0 -2.1653122338137055e-05 +7839 0.0005024532010125953 -0.0001419957679906139 0 0 0 -8.498510590657221e-05 +7864 7.850733988390944e-05 -0.00028210746613680784 0 0 0 -2.2036087807497297e-05 +7878 4.422953760878865e-06 -0.00016524895410942433 0 0 0 -4.9158773872036845e-05 +7534 -0.0005860617217969775 0.0003030996949815552 0 0 0 -2.06884018247425e-05 +7926 0.00042766529951743747 0.0003084332877370558 0 0 0 -8.088473054728226e-05 +2941 -0.0001569497298872092 -0.00016813539858784473 0 0 0 -1.4121357857215055e-05 +7944 0.000671682169878198 0.0001928673909555987 0 0 0 -1.2868562046376057e-05 +3064 0.000231643814136583 0.0004168518219377719 0 0 0 -0.00017934158588441937 +9866 0.00040546003740212367 0.0003406496842853432 0 0 0 -8.612711212953611e-05 +1554 0.0005603514472053655 -0.0003238033105352802 0 0 0 -3.321241214485188e-05 +8030 0.0008680504601535905 -0.00013798209855748453 0 0 0 -3.8764299051161035e-05 +9882 -0.0002344940542962379 -0.00035209313242152355 0 0 0 -3.105868162471799e-05 +8073 -0.00012754300942551612 0.00029754766354428896 0 0 0 -9.00002565708959e-05 +9068 0.0006603075688612091 1.3718832039893037e-05 0 0 0 -7.470971134005262e-06 +8080 0.00045758769955031055 0.0001646319809127921 0 0 0 -3.125570105918148e-05 +8092 0.0008788326721921054 -0.00014468066782402807 0 0 0 1.4574621899293018e-06 +8097 0.00018021062695914084 0.00037876034991675953 0 0 0 -2.6957947520458192e-05 +8146 0.0006929148893332471 6.979986524205328e-05 0 0 0 3.743273207363011e-05 +8152 0.00028794548849608273 0.0003773402760539175 0 0 0 2.6687612719907486e-05 +8840 0.00031336430855609675 0.000370725051558721 0 0 0 -8.214944736375714e-05 +8213 0.00044393264214896336 0.00041033012692688224 0 0 0 0.00011286132396172808 +8136 -0.00035282775817935605 0.0003978482847409391 0 0 0 5.938765962996698e-05 +9826 -6.694311644957836e-05 -0.00028553963953972594 0 0 0 -4.310775663503594e-05 +8222 0.0002831777932122482 -2.375435666505694e-05 0 0 0 -0.00012754168966709048 +9507 0.0005474154646845562 0.0003870238242354212 0 0 0 -3.935204771779486e-05 +8291 -4.345856347465146e-05 0.0003108882765667483 0 0 0 0.00011501592003042757 +8311 0.00031430158416271393 9.584568397920758e-05 0 0 0 4.183790852936024e-05 +8340 0.00011307621257610155 0.0006344816979434989 0 0 0 0.000375332530398258 +8357 -3.833488683376734e-06 0.00030774124834373234 0 0 0 -5.164178463040919e-05 +8199 -0.00033076887340186255 0.00040398307541941676 0 0 0 5.117045012523851e-06 +8414 0.0006012776138075362 0.0002223120660755437 0 0 0 -6.341605622194116e-05 +8444 0.0007096267455973538 -7.412342029405794e-06 0 0 0 -5.0789364598959156e-05 +8471 -1.8831822177737916e-05 0.00031804231546580695 0 0 0 -1.5447275256204622e-05 +8576 0.0005862769281065171 0.0002484003396447626 0 0 0 -9.039294096663722e-06 +8579 0.0003848760268179247 0.00029824109478938606 0 0 0 0.0005430917582877174 +8677 0.0006450954747998029 0.00016342451919729333 0 0 0 -2.5891817790432523e-05 +8690 -9.200857457499987e-05 -5.40418657137486e-05 0 0 0 -3.938849995171107e-05 +8703 0.00021965385356274042 -0.00010608870348825709 0 0 0 -1.4986359405597253e-05 +8750 0.0006381338164855595 0.0002111796077565415 0 0 0 -2.8285854604073317e-05 +6119 -0.0004692382725587321 0.0004383615075561457 0 0 0 2.6422813025596044e-05 +8764 0.00043944314184470756 0.00030477491178179406 0 0 0 -1.1692538755348132e-05 +8772 0.00020342472164134863 0.00027389495161575446 0 0 0 -3.544053091371854e-05 +9855 -7.026120289472707e-05 0.00029068547156967925 0 0 0 -2.174696032497287e-05 +8818 0.00019854007821216925 0.0003256688642898889 0 0 0 -4.943121526823399e-05 +8821 8.739283170924118e-05 0.00028147192204869357 0 0 0 -9.495115148350248e-05 +8098 -8.73281866512422e-05 -0.0005582942129167078 0 0 0 -1.385272739257194e-06 +1581 -0.0005181852699427864 0.00039397551329980616 0 0 0 7.723227775097605e-05 +8897 0.00018782752547075572 0.00027174636644047417 0 0 0 1.763624301078309e-05 +8900 0.00020848626301984654 0.00039042960211044464 0 0 0 5.9130966457037715e-05 +8913 2.2086796433177658e-06 0.0012026894030767654 0 0 0 -0.0013391149931759967 +8959 0.000633821127338789 0.00016296897673995572 0 0 0 4.2195963259314555e-05 +9179 0.00029705472541583845 0.00036325531631482583 0 0 0 7.196300269135381e-06 +372 -0.0002805034963519632 -0.00010942120935695165 0 0 0 -3.575232722353175e-05 +1148 -0.0001893421769234758 -0.00021691390538544297 0 0 0 -3.236656174783507e-05 +2234 0.0002050113712377673 -0.000496471343526434 0 0 0 -8.823909344375105e-05 +3643 0.00036306606699168867 -0.00037048930044980587 0 0 0 -4.176654170107632e-05 +2423 0.00047409475772847354 0.0002740777889948076 0 0 0 4.08907028783619e-05 +2105 -0.0006949247510584556 0.0004113519951549924 0 0 0 -6.991746283263076e-06 +7408 0.00026958025746225416 -0.00047797845604595816 0 0 0 -4.48472339134642e-05 +5801 0.0011298554695399524 -9.445728434370321e-05 0 0 0 -0.00010302599146030273 +877 4.6423261111283825e-05 -0.0005325084535469222 0 0 0 -4.6108201967483475e-05 +5524 0.0010994696789972528 -4.650766013657943e-05 0 0 0 1.093374004054152e-06 +7480 -0.0006043850456402976 2.8690896991556764e-06 0 0 0 -0.00030162351278571845 +5285 2.3238401998474e-05 0.0002633057670945076 0 0 0 0.00022809883427010096 +4635 0.0007421082621976292 0.00011754949600905446 0 0 0 -8.507406435778166e-05 +3399 0.0007321480711848868 0.00012567562103282185 0 0 0 5.931928189711907e-05 +9553 0.0007082345863624981 0.00013068439510394324 0 0 0 -5.560094653079788e-05 +2900 -0.000582174289014934 0.00042988666600287344 0 0 0 -0.0001919703439287218 +9754 -8.3415993231063e-05 -0.0006108184607994276 0 0 0 -1.8863323226646585e-05 +3788 -3.898239611040972e-05 -0.0005885618022434906 0 0 0 -3.996185583318658e-05 +9679 7.636746939496464e-05 0.0018583532761893688 0 0 0 -0.0011575573771024595 +3700 0.00010035436280032773 -0.0005537449642792388 0 0 0 -5.525346317138756e-05 +5339 -9.34747594737715e-05 -0.0006284783108938208 0 0 0 -1.3372725415256876e-05 +5522 0.000524771123467781 0.0002216203916599458 0 0 0 -1.884943472147811e-05 +480 0.0010208153523674993 6.202047799581191e-05 0 0 0 -3.458531614872133e-05 +5165 0.000705360069019878 -0.0004021302841816152 0 0 0 -3.963638816009377e-05 +6556 0.0010632222301083145 -4.0531640207431694e-05 0 0 0 -5.158826975162419e-05 +6403 0.00012652127710029994 0.0003836203019091634 0 0 0 -2.983598107458169e-07 +100 -0.0002473571204023381 -0.0005856278921536899 0 0 0 -3.1126619127741215e-05 +9344 0.001837244922442871 0.0003166438959806587 0 0 0 0.0015332565467100097 +3866 0.0005946216905053398 -0.0004108628246010336 0 0 0 -3.082351613595969e-05 +977 0.0003878669690597769 -0.0004611078961255511 0 0 0 -3.667835685043667e-05 +2644 0.0005260243035446711 -0.00039149571535065697 0 0 0 -5.4119991580385416e-05 +8056 0.0008148338850460103 -0.0003669249260437419 0 0 0 -5.472248886604411e-05 +6671 0.0009095108775803468 -0.0002075887882404641 0 0 0 -9.994469838902389e-05 +48 0.0006400339765023944 0.00013432796070132768 0 0 0 -2.4118361066711643e-05 +82 0.0009624055651223328 -0.0003619207291665393 0 0 0 1.053755266418445e-05 +135 0.0011155393593098976 -0.0006188184756925833 0 0 0 2.1889011446072138e-05 +2602 0.0007718637456283003 -0.0005474959002128187 0 0 0 -2.3066254300911972e-05 +2774 0.0011182734255046959 -4.421822535633405e-05 0 0 0 5.914414213872138e-05 +9864 0.0005206861998449397 -0.0006627336720498772 0 0 0 2.6978319822404777e-06 +349 -2.206491425358753e-05 -0.0005181497607614743 0 0 0 -2.512388723016687e-05 +388 0.00027177146770734694 5.5906430861168714e-05 0 0 0 2.4207622870918496e-05 +7311 0.0003934387274302487 -0.0008471257626121018 0 0 0 -3.336432565686099e-05 +404 0.0011105131538573254 -0.00014226658154266737 0 0 0 2.7884381081584535e-05 +408 0.0005768116990624265 -0.0006950143187814097 0 0 0 3.367404589063905e-05 +421 0.0008956522936496912 -0.0004480121399568633 0 0 0 -1.2927421138186187e-05 +461 0.0001352666389226421 -0.0002986991961594062 0 0 0 -6.510544697376397e-05 +524 0.0006084652324254752 -0.00031323944165013735 0 0 0 -6.6128659814413575e-06 +532 0.00035985828245791254 -0.000741244187117513 0 0 0 3.7745444416342416e-05 +558 5.146299642440225e-05 -0.00046784038505542837 0 0 0 5.6037548066790004e-06 +603 0.0007670786972157044 0.0001565150225110825 0 0 0 1.2070873204114631e-05 +609 0.0012815505329872516 -0.00011363667452048296 0 0 0 -1.3365691878909647e-05 +611 0.00029858819802068884 -0.0007682708255318882 0 0 0 -2.0893995423202976e-05 +7716 0.0004325350399478744 0.00032880597201593047 0 0 0 2.7922204401560095e-05 +2098 0.0007555826180855709 0.00015199016301976914 0 0 0 -4.188405348755953e-05 +8925 0.0007307665432352132 -0.0005426185305533641 0 0 0 -0.00020018374763752813 +9048 0.0009424293225040454 -0.0002293572361014913 0 0 0 0.00010208294833445296 +893 0.0013163159149066248 -0.0005703156408415782 0 0 0 3.689907872658125e-05 +959 0.0013694139811345541 -0.00026732871123378855 0 0 0 -3.124037435083502e-05 +8003 0.0005084110427086556 -0.0008239423537572719 0 0 0 9.04184233544318e-05 +9577 1.0302368874435152e-05 -0.0003210092711237857 0 0 0 0.0006455390586769549 +990 0.00017416223767825078 0.00048667962824235783 0 0 0 4.5385266054524e-05 +996 0.00018000934222021665 -0.0003197398793357587 0 0 0 -2.684443591502445e-05 +9617 0.0006483747636843644 -0.0007241805258230187 0 0 0 -4.0483174501437985e-06 +1015 0.0005086073851226795 -0.0006956874657059693 0 0 0 -1.671865530762948e-05 +1135 0.000752007233116419 2.1593816809039884e-05 0 0 0 -0.00011229055140496352 +1155 0.00018283668392736968 -0.00024331282522100763 0 0 0 -8.837582804006751e-05 +1172 0.0014777686994042328 -0.0004698489699503144 0 0 0 4.6811052854822735e-05 +4193 0.00030584300932491354 0.00043930294271633694 0 0 0 3.99463622058297e-05 +1239 0.0001159894968999317 -0.00047892123273254644 0 0 0 -0.00011148503439728878 +6064 0.0001712672883865712 0.00046090139398134863 0 0 0 7.14834694255953e-05 +1321 0.0009455127232734441 -0.0003029483074396148 0 0 0 -1.3858179639340643e-05 +1367 0.00027460458709267804 -0.0001357391806308036 0 0 0 7.73473219251855e-05 +1446 0.00027294049247731945 -0.000495805794631114 0 0 0 -0.00013022173761017075 +1450 0.0010385559853306314 -5.302822437717101e-05 0 0 0 0.00016341110563798715 +1464 0.0007895770282346611 -0.0005308768454114319 0 0 0 4.272528756200075e-05 +1477 0.0012607119407660582 -0.00024449356122144804 0 0 0 1.2658500323453987e-05 +1522 0.00020036507921708974 -0.0005901325853832497 0 0 0 -0.0001658423337430455 +1524 0.0009075875204836053 -0.0005422919792772056 0 0 0 5.068648428310436e-05 +8593 0.0010662685851825636 -7.225566687782589e-05 0 0 0 -0.0001269854631246597 +1603 0.00016851422261702776 -0.00027835789708076543 0 0 0 6.646342273779349e-05 +6150 0.0007856478895819003 -0.000708068575514681 0 0 0 -0.00012510709027876106 +8685 0.0012421045744652748 -0.000663257392914592 0 0 0 -0.00040870541100282974 +6614 0.0009449330674817752 -0.0006755844182208248 0 0 0 0.00012219716307162613 +1772 0.0011595945668455819 -0.00027214399458745637 0 0 0 8.15072019177128e-05 +1844 0.0012747229272156233 -0.00026077261706993474 0 0 0 -5.556422835364623e-05 +1897 6.463295412787819e-05 -0.00026630325320751535 0 0 0 -7.674423581568665e-05 +9381 -8.889287642945757e-05 0.00020683197564270187 0 0 0 -0.0001337814492768948 +1978 -3.109017142932622e-05 1.75808686561115e-05 0 0 0 -9.018120744110373e-05 +2030 0.0003214907321494686 -0.00039756831173001593 0 0 0 -0.00014932285542276695 +2043 9.373562610763336e-05 8.52642870057218e-05 0 0 0 -6.750692989424921e-05 +579 0.000332220136508297 0.00046453397628203833 0 0 0 -5.003659867932944e-05 +2130 0.00012994790791489113 -0.00031231145450710915 0 0 0 5.1351204212506114e-05 +2144 4.792149875690159e-06 0.00017634618921156384 0 0 0 0.00023905803741999676 +1019 0.001025107982211104 1.5782591875788234e-05 0 0 0 -8.3320884883938e-05 +94 0.00030954995116739544 0.0004059280354257804 0 0 0 4.7710982211625214e-05 +2201 0.0011542111923353237 -0.0006347939678161121 0 0 0 -6.408882401700144e-05 +7909 7.743591784274368e-05 0.0005617592792693723 0 0 0 0.0001831042701749752 +2261 0.0002957902397559044 -0.0006930292089615586 0 0 0 7.759770799911667e-06 +2281 0.0009196136702176484 8.89424051427885e-05 0 0 0 2.7954464882078952e-05 +2285 0.0005335514000999666 0.00043669059392876196 0 0 0 -8.706422018897189e-05 +2315 0.0012707588370121363 -0.0005871843435642514 0 0 0 7.717431372611626e-05 +2394 0.0007375027505590742 -0.000432650547408524 0 0 0 -6.0742161669010524e-05 +2477 0.0011663677814478168 -0.00019594786617720952 0 0 0 -4.267557609723166e-05 +2478 -0.00010852834763138607 -0.0003546409253883708 0 0 0 5.308768249290973e-05 +9351 0.00025217027146790796 -0.000628956524910182 0 0 0 -0.00033621525527144266 +2498 0.0013296723341173471 -0.0001713277005111304 0 0 0 -1.8620222960968493e-05 +4157 0.0012447619543235824 -0.00012284401805516974 0 0 0 2.7806275619302048e-05 +2627 0.001504615634015889 -0.00044599756717338823 0 0 0 0.0002132857883722708 +2670 0.0006157508357689446 -0.0006712530474297099 0 0 0 -7.786269632955398e-06 +2821 0.0002554395742342055 4.8714227071058935e-06 0 0 0 0.00017120230330159455 +3059 0.0006964855312583315 -0.0006492588209150362 0 0 0 8.865197831064068e-05 +9854 -0.00011462060079634392 -0.0002772982865791159 0 0 0 -0.0006153685760997294 +8597 -5.936360580738304e-05 -0.00011050417120861654 0 0 0 7.999056811885972e-05 +8547 0.0012125819290358965 -5.349076411174498e-05 0 0 0 -7.324813672535355e-06 +9717 0.0013164363922918434 -0.00012530943138708145 0 0 0 -0.0001456751926464718 +3243 0.0005785215599686698 -0.0001297737644878981 0 0 0 -0.00010633983250851108 +6567 0.0010697281423135828 -5.232487341380946e-05 0 0 0 0.00018425445003573675 +3323 0.0001273673723352719 -0.0005280208906619954 0 0 0 5.279230983147069e-05 +9675 0.0004950521073435025 0.000721010572204555 0 0 0 -0.0004685183414790114 +3429 0.00030396602979930736 -0.0006079173101289488 0 0 0 0.00012013864755206964 +3477 0.00030668434209562087 -0.00012072946609867146 0 0 0 -6.031691146478719e-05 +3545 0.0011637431971918209 -0.0004766299623807381 0 0 0 5.0791743698929726e-05 +8942 0.0008227174389347739 0.00035809362315471346 0 0 0 -0.00024101555546663492 +3586 0.00022532050842587035 -0.0003371413987142237 0 0 0 0.00012529227838052183 +3600 2.190992247526749e-06 -0.0002560150507983123 0 0 0 -0.00010848671915800587 +3703 -0.0001793781648648108 -4.723976455523323e-06 0 0 0 -0.0004276679892400212 +3714 0.0003971000168936645 -0.0007640709890675468 0 0 0 -1.2870892943997875e-06 +3717 0.00040445100088810644 -0.000600085618834231 0 0 0 -9.362174923338635e-05 +6610 0.0003499826843992757 -0.0007432089946961632 0 0 0 -5.028222638758029e-05 +3182 0.0009731297607752363 -0.0006402832725549421 0 0 0 -5.293106029078698e-05 +3902 0.0011868294550110342 -0.0006342718620322234 0 0 0 -5.461620798864101e-05 +3930 0.00021359811954379095 -0.0005654463316708278 0 0 0 -0.00013500436560027635 +3969 0.0008334708751617079 -0.0002577992805781915 0 0 0 -7.684277436251486e-05 +4124 0.0011584472516542384 -0.00041416437987659076 0 0 0 -0.00015020719193590962 +7186 0.0012224231491508293 -4.981554975244572e-05 0 0 0 -1.3061653397240297e-05 +4145 0.0013061806831562886 -0.00027381372757102673 0 0 0 -8.521208084564819e-05 +4169 0.0012307474450507254 -0.0005682323031520643 0 0 0 -5.8256226191683255e-05 +555 0.0008411559628879453 -0.000678921112799828 0 0 0 2.145780287127055e-05 +4293 0.0002140997248612301 -0.0001876731980471945 0 0 0 0.00013654814961119527 +4325 -1.0839446504916193e-05 -0.00047203105745207276 0 0 0 8.811786350264842e-05 +4347 2.7066044632409332e-05 -0.0002807836719464244 0 0 0 9.110684429917866e-05 +4405 0.00025726853283141105 0.00045375308049266987 0 0 0 7.070609065838971e-05 +6786 0.0007054803611471137 -0.0007091747740505376 0 0 0 0.00014494581578300883 +6913 0.0009104633996295571 5.610301178173256e-05 0 0 0 0.0001511190228539767 +4517 0.0009508997042343308 -0.0005880298135422086 0 0 0 3.106040780532167e-05 +4520 0.00044787479889868285 -0.0007714043500228941 0 0 0 -9.615252669214561e-05 +4546 0.0011462001201520916 -3.64412464342951e-05 0 0 0 -0.00017786599435913985 +4562 0.0015072356472979446 -0.0004275664098153867 0 0 0 -4.142670511483699e-05 +4611 0.000972284584552998 -0.00042850021665519124 0 0 0 -0.00013928183402602893 +9164 -0.0005084919900108419 -0.0010270376875561 0 0 0 0.00026097501345373367 +9395 0.0008421751714051664 -0.00045964384166017404 0 0 0 -0.00016223650964950447 +7742 0.00061686518484184 0.00018788176068448801 0 0 0 2.7261513303509732e-05 +9615 0.0012313718280567132 0.0012671802917919258 0 0 0 -0.00022825997672992738 +6281 0.0007529620962660779 -0.000690359272052973 0 0 0 -1.929549793627211e-05 +4824 0.0009815339007503987 -0.0004958705793934132 0 0 0 9.994055676789222e-05 +4862 0.0010230471161026596 -0.0005259134872849957 0 0 0 -0.00011886115164085299 +4930 0.0005520339659172978 -0.000572481676093387 0 0 0 6.359894033219074e-05 +4935 0.0004786042437885839 -0.0004296654340910259 0 0 0 -0.00010257675506152989 +4963 0.0007668164244377843 -0.0004912641859041563 0 0 0 -2.309130201377294e-05 +4966 0.0007716700090263818 0.000162928178473362 0 0 0 0.0001139370703857703 +4455 0.0008858020650723363 3.544954412874622e-05 0 0 0 5.0537614635365885e-05 +8559 0.0005880663099267579 -0.0001689797990082217 0 0 0 -5.999283113666872e-05 +5053 0.00010369523704559446 -0.00019581600721030201 0 0 0 -2.2410975715731403e-05 +5159 0.0008348093738233407 0.0001231528245845779 0 0 0 -4.483658286240195e-05 +5160 8.194339524170156e-05 -0.00031065622651473733 0 0 0 3.001952636528515e-05 +5174 0.0007844394963941038 -0.0005580345042953263 0 0 0 8.298760132801474e-05 +5181 0.0009604923076918168 6.59037091232842e-05 0 0 0 -6.323673403397806e-06 +5187 2.6976030547305026e-05 -0.0003454353784126845 0 0 0 7.553213889568378e-05 +5256 -6.609075735487545e-05 -0.00023223079557278757 0 0 0 -0.0003698951119637229 +5265 0.0005264966944711596 -0.0001255655715912069 0 0 0 -7.27111478370214e-05 +5299 0.00036907927647092517 -0.00021178953391053407 0 0 0 -0.00022801226954309998 +5367 1.3412223262887342e-05 -0.00029246679990322077 0 0 0 0.0001782602749759197 +5410 0.00020672208152287306 -0.00027040638030776477 0 0 0 -0.0001033524347311263 +5632 -0.000644046432442953 1.0712863180744823e-05 0 0 0 -0.0004694104257163277 +5442 0.00020572038452958607 -0.0007546182302028998 0 0 0 5.9093889121474916e-05 +5447 -9.639866928570828e-05 -0.00033343502845099425 0 0 0 0.0002020406113639047 +5473 0.000533290903527826 -0.0006955156862012621 0 0 0 -7.573384706320772e-05 +6666 0.0006563976377704058 0.00012973627974983352 0 0 0 4.154930509263669e-05 +5482 0.0004617885804053419 -0.0008098924126773519 0 0 0 2.6813004536003435e-05 +2087 0.0005322553524101157 0.00020357088664512308 0 0 0 2.8054001628749208e-05 +5596 0.001458727249129868 -0.00037602878232455305 0 0 0 4.141725046648458e-05 +5598 0.0006028474398449042 -0.0005059936504212361 0 0 0 0.00012120091570985293 +5603 0.00024118014946733723 -0.00048566845068082634 0 0 0 0.0004126186666873786 +5616 0.0009823217388847708 -0.00030616553071705874 0 0 0 -3.6709017393759464e-05 +9794 0.00023208880139229977 0.0004969880900717863 0 0 0 -0.00026753890091369916 +5633 0.0010531396733951095 -0.0003149062106476654 0 0 0 -8.4715666180859e-05 +5678 7.924050651891312e-05 0.00022226763906414506 0 0 0 -0.0003475033848453955 +5765 -5.087812443301628e-06 -0.0005953984627493577 0 0 0 0.00020455026301281136 +5784 0.00039626091105984904 -0.000780590662719314 0 0 0 3.34803748507815e-05 +1013 0.00034969922974838853 0.0003937065357388681 0 0 0 -2.555913977154244e-06 +1557 0.001176985953714997 -4.133573821829073e-05 0 0 0 -2.3970934316641106e-05 +5901 0.0009891830416392368 -0.0004995501897034743 0 0 0 -0.00017914649700844347 +5911 0.0009498069633538214 -0.0003352864729569298 0 0 0 9.394366888557163e-06 +9108 4.82050765264574e-05 -0.0004773256669527876 0 0 0 -8.874371115942e-05 +6052 0.0014366180243401477 -0.00023507933206313214 0 0 0 0.0003373696984947666 +8485 0.0006046499280847988 -0.0006663815321074451 0 0 0 0.00014583002346235657 +6162 0.00011986372988700633 -0.000507347641279405 0 0 0 2.700385724082042e-06 +6199 0.00024341464595897133 -0.0005908498922479991 0 0 0 -2.5770655839030384e-05 +53 0.00046557615072479944 -0.0008258618660788904 0 0 0 -4.358023978787766e-06 +6397 0.0014452593507542095 -0.00018452146243251745 0 0 0 2.639353472836587e-05 +6419 0.00032445392989776403 -0.0007064713523724423 0 0 0 1.1470822575018811e-06 +6489 7.098871433972482e-05 -0.0003174889355607549 0 0 0 -4.379649036554526e-05 +6542 0.0008179274259891187 -0.00025981087391596224 0 0 0 -0.00013081261553287045 +5786 0.0006570116906030448 0.00021770143538826718 0 0 0 -3.3048125108647596e-05 +9345 0.0005558490118804782 0.00023335411512925277 0 0 0 0.0002504970576783612 +6645 0.00019504450735151972 1.9276159900896235e-05 0 0 0 0.00015832802761133307 +6660 0.0005861660008455986 -0.0002673484423142026 0 0 0 -0.00021269578857521337 +6673 -7.634899848210176e-05 0.00020967869202937294 0 0 0 -0.00015900334718809856 +6717 0.00017385983925569145 4.791691576148748e-05 0 0 0 -0.00018003460454742696 +6730 0.00041689286145817046 -0.0005733800453100087 0 0 0 -6.743920002885247e-05 +6787 0.0012770931433661902 -0.00024997062631154887 0 0 0 -1.7081010200863057e-05 +6966 -0.0001846055014098456 -0.00023165328817038652 0 0 0 -0.00031687711344007555 +7013 0.00033611970684085013 -0.00044223096045972233 0 0 0 -2.865189831335772e-05 +7043 -1.8531766794133783e-05 0.00023946171304622154 0 0 0 0.0001849058964139777 +7393 0.0012258297665261758 -3.08531083284159e-05 0 0 0 -2.3780108309577564e-05 +7111 0.001038520985980447 -0.00019104445669790754 0 0 0 3.75568583479694e-05 +9544 2.5078018354537853e-05 -0.00030509766762730413 0 0 0 -0.0003653518962504873 +7303 0.0003938942611184813 -0.0006629550754725279 0 0 0 -0.00016059687913493894 +4645 0.0006061472993398895 0.00017121506549836385 0 0 0 8.130618570637952e-06 +1676 0.00034075963865528864 -0.0005946896473103382 0 0 0 -4.044798280395064e-05 +7348 0.0003875437144634212 -0.0007621835041909548 0 0 0 -9.240985963039084e-05 +7353 0.0012543874210728088 -0.00023839362263995838 0 0 0 0.0002981601061310676 +7738 0.00048059520438634905 -0.0007548909851692321 0 0 0 7.20502711417993e-05 +7389 -4.605891757418542e-05 -0.0003525553181695046 0 0 0 -0.000510958241828771 +3695 0.000700592783252984 0.0004435917409354342 0 0 0 0.0001161346873618935 +9316 -0.0019141759683079444 0.001746630892216385 0 0 0 -0.0007186867404184981 +7426 0.0008387100379231268 0.00012574832418199715 0 0 0 -2.7322187138251336e-06 +7489 0.0008022148957674219 -0.0004877555565602447 0 0 0 6.301148986851237e-05 +7503 0.0005525075741040825 -3.3326701217271746e-06 0 0 0 -8.557400091617755e-05 +7509 0.00010215298319227557 -0.0005501063008983365 0 0 0 -0.00016117042142630737 +7646 0.00026921021506850134 0.0005629511273845737 0 0 0 6.578102001906686e-05 +3202 0.0005739286405121088 0.00014040077854037951 0 0 0 1.5606013336416006e-05 +8810 -8.10338912166574e-05 -0.0002974802040969226 0 0 0 -0.0006796027972829924 +7737 0.00010918260118686692 -0.00031318669020549505 0 0 0 0.00013190428280581066 +724 0.00044828165567225865 0.0002853922030081231 0 0 0 -4.253562853465867e-05 +3156 0.0006200011329390902 0.00040898754789616944 0 0 0 -4.545580759891937e-05 +7867 0.0011750248688792739 -0.0005197905120127335 0 0 0 -0.00022153587359424683 +7868 8.644039611416413e-05 -0.0002794611763938474 0 0 0 -0.0003867566345718308 +86 0.0008076371729952591 -0.0007197242602649305 0 0 0 1.3820779970751908e-05 +8219 0.0005792400462633727 0.0001924248380418123 0 0 0 -1.574923827730729e-05 +7925 0.0007881145766376257 -0.0004572661200049001 0 0 0 0.0005507965684063246 +7939 0.0009293473212084466 -0.00030765778215835916 0 0 0 -0.0001731550573323543 +8010 0.00034611732145479855 -0.0007321868865079874 0 0 0 -9.161402236653421e-05 +8023 5.8215978798516045e-05 -0.00019630159981352932 0 0 0 -0.0003203259839188014 +8052 0.0006910214956943155 5.5932363897561375e-05 0 0 0 0.0003597669458270504 +8064 0.0008199128919034816 -0.0003921132139224179 0 0 0 7.953626051638709e-05 +8088 0.00024870211169018456 -0.0006095818221345371 0 0 0 -7.395400696575723e-05 +8132 -5.9640614929029346e-05 -0.0003192691745823088 0 0 0 -0.0003426713097364019 +8198 0.0010668015563085425 -0.00021182450022976977 0 0 0 6.008690527165015e-06 +8201 0.0006452433773281254 -0.0005944573380249042 0 0 0 0.00010724251807706245 +8209 0.0015473512623410861 -0.0002455628681544781 0 0 0 -0.00012229339455293486 +8232 0.0006926268512909194 -0.0005154964776331764 0 0 0 -0.0002827979358424662 +9530 0.0007592848040619026 -0.0005638595577852066 0 0 0 4.376738434818317e-05 +8353 6.188222876984769e-05 0.0004952668500499691 0 0 0 0.00011388098081149006 +8370 0.0013716426017502978 -0.0006056763422136326 0 0 0 0.0002507636053871654 +3474 0.0004991858624879492 -0.0008699490856081839 0 0 0 9.341030906610889e-05 +8409 -9.713164611493533e-05 -0.0003291991554832064 0 0 0 -0.0005993704792621309 +8422 0.00085181910776091 9.42918882807435e-05 0 0 0 -0.0002375093953988344 +9912 0.0020853002476433633 -0.0004903332536103243 0 0 0 0.00019767494485278076 +3470 0.0005672480420797676 -0.0009316235148588481 0 0 0 -0.00013008880827503668 +757 0.0004897436398729552 0.00022013516074499158 0 0 0 -3.604692181038922e-05 +7652 -0.0014726025294425301 -0.0003728104513134684 0 0 0 0.0020723692670693607 +2296 0.00046206308158680185 -0.000815144822665316 0 0 0 5.828930794124014e-06 +4834 0.0007630585850625081 -0.0006622436973899639 0 0 0 -0.0001374570527388301 +380 0.0006096053821556503 -0.0009030301180396092 0 0 0 -3.8176563273990075e-05 +9382 0.000542657096291546 -0.0006735066267551915 0 0 0 6.322148553300881e-05 +7285 0.00044802667827616394 0.00035700576834197183 0 0 0 1.9308113738166355e-05 +9513 0.0008757601128764321 4.055322003108496e-05 0 0 0 -0.0001004618372010873 +1454 0.0006457466184863967 -0.000649436190784174 0 0 0 -4.238628855900218e-06 +8399 0.000907923919523398 -0.0005926593097290532 0 0 0 9.190616375778196e-05 +5589 0.0007171865188362896 -0.0006641182527352459 0 0 0 -7.8366042822066e-05 +2078 0.0008570272773660106 0.00010920672555165491 0 0 0 -3.127777112706166e-05 +7420 -0.0007141950924942786 -0.00011962407479600536 0 0 0 -0.00013801307932268352 +2429 0.00040208905363217103 0.00037189471099940535 0 0 0 -7.854915521651337e-05 +5101 0.0007576863330874957 -0.0006685461609634175 0 0 0 0.0001413794410214693 +36 0.00028377798117076646 -1.1097212310009233e-05 0 0 0 -1.2193955101171202e-05 +1055 0.00025009142812123326 -2.211029320979153e-05 0 0 0 -3.181881856627597e-05 +92 0.0003165406346914168 -0.00023863650933779421 0 0 0 -7.497574778556843e-06 +2494 0.0003987486411798457 -0.0006998772923473521 0 0 0 -2.008601706057256e-05 +117 0.0002866437709581788 -0.00034494352040648674 0 0 0 -3.318003747175392e-05 +132 0.00046875299386741454 -0.00046081785622437843 0 0 0 -1.7391114579922244e-05 +140 9.729140553238712e-05 0.00013947816714504635 0 0 0 -1.835951325521831e-05 +145 0.0001996546481396893 0.00025468094115097955 0 0 0 -2.839394420555989e-05 +2164 0.00011562312149534322 -0.00028896776685094375 0 0 0 -5.186403467938491e-05 +182 0.00041651050821279166 -0.00040290322854810354 0 0 0 -4.647715595759126e-06 +217 0.00043233099658479925 -0.0004828465077685509 0 0 0 -4.0722690204620116e-05 +243 0.0004754558625037445 -0.000503170845229922 0 0 0 -4.529096466005996e-05 +283 0.00013210204789943685 1.942355396262014e-05 0 0 0 -1.492866665009129e-07 +285 0.00038115129022340866 -0.0004025212462900968 0 0 0 3.2649076764450804e-06 +289 0.00034406284439657806 -0.0005665047590413243 0 0 0 -2.8236484151374918e-05 +320 0.0002701340364035874 9.309540844499967e-05 0 0 0 -6.958269847708614e-06 +8833 8.360018176150572e-05 -0.00016648750750790638 0 0 0 -0.0008644596276935148 +370 0.00035682017524857806 -0.0002263666029672452 0 0 0 -1.1466982231139704e-05 +1577 0.00028339784194878756 0.0004669177076450217 0 0 0 -2.290948963922626e-05 +5427 0.0005577478239466858 -0.0006013088596848391 0 0 0 -0.0002203808839042084 +424 0.00022523795299594362 2.394404095227404e-06 0 0 0 1.3177233758905334e-05 +431 0.000367033821984743 -0.00026252323309211686 0 0 0 -7.999756730491516e-06 +436 0.000400139033933601 -0.0005158541814566073 0 0 0 -1.4317821911334792e-05 +450 0.00025150502869777594 5.2155555889925025e-05 0 0 0 -1.2674049445765278e-06 +458 0.00039506209154586595 -0.0004473751964347044 0 0 0 -5.603899805352887e-06 +463 0.0003493332962520559 -0.0003339198017638137 0 0 0 1.1819384964328364e-05 +465 0.00029400339417645264 -0.0003381164470118572 0 0 0 -1.1719850648373124e-05 +8423 0.0003829049073320101 -0.000610109278546365 0 0 0 1.5854404774212213e-05 +482 0.0004023551256971558 -0.000394665048881342 0 0 0 1.3700891242367161e-05 +497 0.0005204469350815207 -0.0009578251005493738 0 0 0 -1.358237403946015e-05 +510 0.00035701904719541997 -7.902480165426796e-05 0 0 0 -2.8681876484366838e-05 +3795 0.00031678702790792403 -0.00037425120260636705 0 0 0 6.768987232044827e-05 +593 0.0004361679850678255 -0.00047005637012388234 0 0 0 1.540683085185582e-05 +615 0.0003702838799900888 -0.0003306865170046518 0 0 0 -2.622106995592134e-05 +743 0.00032411771984092966 -0.00036016116844573 0 0 0 3.782671503786654e-06 +7325 0.0004319369210840851 -0.0003147627868174541 0 0 0 -1.2083886179334366e-05 +805 0.00037112925395020417 -0.00035358681195672134 0 0 0 -7.96329945687139e-07 +147 0.0004318932102647626 0.0005416707845273545 0 0 0 -1.9509479495885996e-05 +872 0.0003436673093910751 -4.049807190610613e-05 0 0 0 1.527117788071764e-06 +916 0.0002819302552332877 -0.0002198795572657611 0 0 0 -2.508040485621415e-05 +929 0.000638523292750657 -0.0009644385954260364 0 0 0 -3.3307540691886e-06 +974 0.00038270158516069377 -0.00045050313717640147 0 0 0 3.618811456358601e-05 +9591 -0.0025055559071195926 -0.000259866466755292 0 0 0 -0.0002081622295872929 +1068 0.0007140055444957805 -0.000586553117918366 0 0 0 9.832881056421595e-06 +1075 -4.372050683545026e-05 0.00021117449339506066 0 0 0 -1.8160167074346968e-05 +1079 3.059505629441468e-06 0.00017180802984423404 0 0 0 -1.6135106821631317e-05 +1097 0.0003437057251780176 -0.0002620522144265099 0 0 0 1.6721109985328026e-05 +2626 0.0002550664108014275 -0.00027934084411268664 0 0 0 0.0001366101866113228 +1126 0.0002585178531621596 -0.0001698673451488787 0 0 0 6.954368087045635e-06 +1133 0.00033446317374805567 0.0001442972151497482 0 0 0 -1.8793561771845664e-05 +1173 0.00039004314764556 -0.00039272005757951624 0 0 0 -3.177866088889917e-05 +1178 0.00038118696974941385 -0.0005140626122183853 0 0 0 -1.2574001248275994e-05 +4678 5.52485875815419e-05 0.00023288766108492767 0 0 0 -4.6860284286791396e-05 +1193 0.00014673310045342826 -2.647682452851017e-05 0 0 0 -3.193378359592583e-05 +1215 0.00026145447995211244 -0.00016541997851359354 0 0 0 -6.331928850405147e-06 +1244 0.0002950638449363082 -0.0003209418948579635 0 0 0 -3.171362667142597e-06 +1324 0.0002688459768665705 4.7620438862335495e-06 0 0 0 5.331264385338311e-06 +1361 0.00025863966487726535 -0.00015843139379007423 0 0 0 -1.735671406756708e-05 +1370 0.0004469911636141923 0.00029424767242157293 0 0 0 3.0653036462250782e-06 +1384 0.0006143868174273498 -0.0005301252321512373 0 0 0 -0.0006771672882090665 +1402 0.0003741819952348997 -0.0004896284549157725 0 0 0 4.333347028878467e-05 +1433 0.00026311355445660214 -0.00011322281429702635 0 0 0 -6.388944105402197e-05 +1491 0.00027500840027717364 -0.00019566300323389907 0 0 0 -4.905786057739164e-05 +1512 0.00021918133530568918 -9.975440257110421e-06 0 0 0 -3.771658207812921e-05 +1535 0.0002597601051252974 -3.0340400033429987e-05 0 0 0 -6.394819349284438e-06 +6096 0.0006003455511503041 -0.0008667650224432371 0 0 0 0.00028525733030246287 +1569 0.0006019393266686531 -0.0010115813166213395 0 0 0 4.592116845532339e-06 +1650 0.00037414530233597325 -0.0003532932369891333 0 0 0 3.7615157014559765e-06 +1675 0.0005982684341832463 -0.0010083359950526602 0 0 0 -3.231991002284011e-06 +8825 0.0005137020264879268 -0.000692404770555855 0 0 0 -0.00021008581897886505 +3220 0.0004296411772013387 -0.0005336208673890619 0 0 0 -1.3720496243746713e-05 +1779 0.0002982447957688256 -0.00020178213959713364 0 0 0 5.6501783783355706e-06 +1793 0.00015374849355881162 -1.2044402687533697e-05 0 0 0 -2.3464999547879823e-05 +1870 0.0003733569511008141 -0.00033032340349727437 0 0 0 -1.8079976162788153e-05 +1908 0.0003359897156290163 -0.0002003687877955848 0 0 0 -1.3921568948031733e-05 +3110 0.0006493606017627621 -0.00026131962140948326 0 0 0 0.00044033025054151555 +2009 0.00021935072145558423 -3.803915939704958e-05 0 0 0 8.22049668431812e-05 +2058 0.00032443334846100967 0.00026464311436549375 0 0 0 -1.7603136793272663e-05 +2072 0.00045122426996937955 -0.0009012728501224343 0 0 0 -0.00018671736089285386 +2080 0.00014416450479560577 0.00029106342166654585 0 0 0 -1.924842587827157e-05 +2101 0.0004057857427172226 -0.000401803348203318 0 0 0 4.138370503867189e-06 +2115 0.000324329120314664 -0.00020225836184042584 0 0 0 -3.3378783111908367e-05 +2128 0.0005660182470539979 -0.000361716495327165 0 0 0 0.0005817632720919525 +2138 0.00028554791308981435 -9.055157497415986e-05 0 0 0 -2.906460899322461e-05 +2152 0.000551376110631484 -0.0009553706198507897 0 0 0 1.7363982413134065e-05 +2219 0.0003500656685495951 0.00040336657999996955 0 0 0 2.9146220751772746e-05 +2242 0.000194483833307095 -0.00010347051495099532 0 0 0 -2.0774733358706933e-05 +2272 0.0003878460922669943 -0.00047030741491271133 0 0 0 -3.073013277852228e-05 +2276 0.00023641411675453557 -0.00014576561631390536 0 0 0 1.8799323965284948e-05 +2318 0.0007010095789047638 -0.0009549929664040787 0 0 0 1.1484085279012856e-05 +2320 0.00032148545066248876 -0.00013549235440111186 0 0 0 -4.6466810401148225e-05 +2345 0.0004673100752315932 -0.0004370750680847836 0 0 0 4.5503638308699965e-05 +2383 0.0003411900194245797 -0.0003128907725503854 0 0 0 7.80607363981543e-05 +1692 0.00027403770001570055 -0.00027844192415487577 0 0 0 0.00020165756053006103 +2397 0.000251316979012769 -0.0003793813424582988 0 0 0 -0.00017530868721822224 +2400 0.0002923971984307818 4.66625367540438e-05 0 0 0 2.581143642730745e-05 +2476 0.000446303097949764 -0.0005620446561573321 0 0 0 0.000150445137721848 +2483 0.0009193390666842342 -0.0004945218102442744 0 0 0 0.0006464058094532078 +2488 0.00024825412096816127 -8.161249537939583e-05 0 0 0 -1.7329816820642767e-05 +2510 0.0007115749691496038 -0.0009865374324313262 0 0 0 0.00012656254499213444 +2511 -3.769001050337623e-05 0.00020359612659823112 0 0 0 -2.015382342918653e-05 +2621 0.0005262400657362942 -0.0007870415982577422 0 0 0 -0.00015554960976415507 +2523 0.00016781077162337398 3.0662925130806386e-05 0 0 0 -0.00013446182282231777 +2567 0.000368649755113889 -0.0001812998178456508 0 0 0 -5.4810620080736316e-05 +2588 0.00037734278403380594 -0.0003041863527817398 0 0 0 -4.955110800310205e-07 +2616 0.0003746613348096869 -0.000543719187574384 0 0 0 2.4483347465207105e-05 +8775 0.0005065496137812312 -0.0008424947387368806 0 0 0 -4.057666639474607e-05 +9868 0.0014030089839478664 0.0014340566492607833 0 0 0 -0.0011112655096472438 +3822 0.0003353281359980324 -0.00047261399241782927 0 0 0 -3.9231910443452296e-05 +2664 0.00036140464000831795 -0.00033050950709802876 0 0 0 3.5293435145704445e-05 +2692 0.00010710713200620999 2.0593860753180416e-05 0 0 0 -0.00013746545348613295 +2714 0.00033636849334535657 0.00030494724984096093 0 0 0 1.0585686640037501e-05 +4131 0.0002670830464243175 -0.0003126674647091454 0 0 0 -0.0002228210900959887 +2756 0.0003320933009522566 -0.00036465600505443223 0 0 0 1.4221151910101504e-05 +2789 0.00030581613984432453 -5.6637616322877574e-05 0 0 0 -8.67083523572722e-05 +2805 0.00035249223087713413 -0.00034971493192004216 0 0 0 -4.917476239809922e-05 +2812 0.0003682027409529214 9.15809144506454e-05 0 0 0 -1.5586895150840547e-06 +2815 0.0006830598615999892 -0.0007994591646862724 0 0 0 -0.00016724378147362092 +1545 0.0004556534029487746 -0.0006115975597921968 0 0 0 -5.3879117575386124e-05 +2896 0.0003682350550549004 -0.0003362816839703602 0 0 0 -3.0323810531807732e-05 +2920 0.00039429022410048393 0.00010859183598519329 0 0 0 -0.0001369756869906844 +967 0.00032661795358172597 -0.0005969654872959751 0 0 0 -2.9635429627127765e-05 +2929 0.00027718638791596764 1.5561518243867005e-05 0 0 0 4.874974319662754e-05 +2973 0.00019995481754808602 -0.000409105167062924 0 0 0 0.00017172607475827425 +9115 0.0004380671445940045 -0.0005548384858524686 0 0 0 7.847720353339413e-05 +5588 0.0003153932073426274 -0.0005100247271403854 0 0 0 1.8153097916799096e-06 +2974 0.00033204338775961675 0.0001427181487853169 0 0 0 -3.0812256209821013e-06 +3004 0.0002902814894963454 -0.00026799835859335513 0 0 0 -2.650577250891828e-05 +3023 0.0003731649651814273 -0.0005538538503357372 0 0 0 1.2106262749436245e-05 +3049 0.000354688590231871 0.00043024466043586554 0 0 0 -1.8698492590659336e-05 +3075 0.0003102294286476182 0.0003320681366029709 0 0 0 -3.963781757868056e-05 +3100 0.00026945185373068167 1.5178701064413822e-06 0 0 0 2.6058498515270283e-06 +3118 0.0005239518175452838 -0.0010403319617051422 0 0 0 2.0985842141415908e-05 +3209 0.000455822877169646 -0.00045444580678623655 0 0 0 -8.164537594788363e-06 +3222 0.0002852239049078194 0.00018937004792694292 0 0 0 1.2433541272673978e-05 +3278 0.00039056236162305643 -0.0004666964096202858 0 0 0 4.04644226957958e-05 +3316 -4.8820955888137724e-05 -0.00025572938004687716 0 0 0 -0.0003552161273917986 +3341 0.00039593272261341045 -0.0005104562791020511 0 0 0 1.170680363566543e-05 +3344 0.00037280550631731195 -0.000359760961349938 0 0 0 6.220552592185386e-05 +3364 0.0006201657006952135 -0.0009686448098233381 0 0 0 3.0149242027858576e-05 +9821 0.00015150650860708463 6.285832359323573e-05 0 0 0 -5.0362629213187e-05 +3398 0.00039909496332831855 -0.0006490112909744407 0 0 0 -2.5733788666382478e-05 +3438 0.00018766309683919283 -1.900387199750375e-05 0 0 0 7.652964851705053e-05 +3458 0.00035469336587531014 -0.00033691284450564134 0 0 0 -3.6184597526339285e-05 +5847 0.0007240862990350599 -0.0009294580755191839 0 0 0 -1.048392735995382e-06 +9898 -1.3171228333840215e-05 0.00018021141809090958 0 0 0 -0.00011007757001013155 +1741 0.0003860810697138817 -0.00034535309026427746 0 0 0 0.00010704248729894137 +3515 9.467891080518803e-06 0.00015175860933807142 0 0 0 -3.0335192377301152e-05 +3528 0.0005711144538825807 -0.0009944045477653122 0 0 0 -3.44009415838893e-05 +3539 0.0004356331188239731 0.0005656439632111662 0 0 0 -1.8866341330377877e-05 +3592 0.0002688489468778365 -0.0002043355916885247 0 0 0 2.8865622301624672e-05 +3601 0.0003365254534252051 -0.0005384000625249493 0 0 0 4.76094532784373e-05 +3641 0.0003955129191890817 -0.0004353776474289563 0 0 0 -7.713026990259378e-05 +3654 0.00028300753820750466 0.00021270420670151588 0 0 0 -9.15456893527656e-06 +3656 0.00028096966529310414 0.0002786584042800696 0 0 0 -5.173105981298114e-06 +3672 0.0006980241713094894 -0.000990105731522093 0 0 0 -4.645204268020526e-05 +3678 0.0006565566893395954 -0.0006134618528498934 0 0 0 -0.0004427499684527801 +2490 0.0007370628683700641 -0.0005944612155344288 0 0 0 -0.00017676352896467176 +3683 0.0003547470717298612 -0.00024935099760666944 0 0 0 -6.286185711488783e-06 +3689 0.0004243938835821869 -0.00032039101578481226 0 0 0 -3.114350282827491e-05 +3704 0.0003205165979236396 -3.586438811017044e-05 0 0 0 6.854242178518962e-05 +3728 0.0003083164660824404 -0.0003431628887389147 0 0 0 -9.940307315114179e-06 +3743 0.0002882596733956295 0.0003316008275616266 0 0 0 -2.8886172446151293e-05 +3754 0.00043139312583762707 -0.0004915798890850047 0 0 0 3.098952553575008e-05 +3776 0.00039671338651549375 -0.0003710455165024567 0 0 0 -9.583529215213284e-06 +3781 0.00032602853006058474 -0.00016552434599933683 0 0 0 -4.771646276603198e-05 +3825 0.0005601654084729051 -0.0007316810408070987 0 0 0 -6.443857768493516e-05 +3832 0.00042343070538438597 0.0002570105507130792 0 0 0 -3.622942818300535e-05 +9110 0.0007164853078817465 -0.0008939888731387802 0 0 0 9.550291844269914e-05 +3892 0.00038653316508658795 -0.00020440643979312414 0 0 0 2.3417023151214808e-05 +3122 0.0007997478063254777 -0.0010179049300752822 0 0 0 8.867478359005432e-06 +3936 0.0003816826870481632 -0.00026671658100839126 0 0 0 -2.3270168633580193e-05 +3946 0.0003028172088373258 0.0004363247292733287 0 0 0 -1.4684658853038182e-05 +3963 0.00039880584407093187 -0.0003860039482239537 0 0 0 4.2940010529288886e-05 +4062 0.0003846538247011611 -0.0002591868922314012 0 0 0 -2.3777368001347454e-06 +9910 6.651204919861299e-05 0.00023657892036217854 0 0 0 -2.0356715648559548e-06 +4152 0.00042159758956540654 -0.0005174729884700795 0 0 0 -7.9670396607558e-05 +4177 0.0002674903139385204 -7.634441234357287e-05 0 0 0 -2.9365418147402243e-05 +4182 0.00038316341627162416 -0.0002502395790875163 0 0 0 1.6600029737602548e-05 +4194 0.0003827768670841509 -0.00034790221796677086 0 0 0 -6.746847392620152e-05 +2970 0.0006188308024855677 -0.0009440320639414917 0 0 0 -1.4506777794377895e-05 +7882 0.000259450946008991 -0.00026450263176425333 0 0 0 -0.000685731141192702 +2050 0.00011591150225381175 -4.981823683764361e-05 0 0 0 -0.0002140046578753216 +4306 -1.4097952130500105e-05 0.00020210100666425004 0 0 0 -3.254836948446804e-05 +4365 0.000329979521466971 -0.00037026477133869694 0 0 0 1.262838972318809e-05 +4375 0.0004143285323348136 -0.0001790627077566419 0 0 0 2.6594146430967754e-06 +8815 0.0005502243120950772 -0.0005166554198491739 0 0 0 0.0005289828019690042 +4413 0.00010989811811874697 9.443983430455926e-05 0 0 0 -4.687273177850615e-07 +1119 0.0006393262733267264 -0.0009273123497306103 0 0 0 6.598326949793868e-06 +1290 0.00023369866787237225 -0.0004702279600622114 0 0 0 2.206266511911349e-05 +4438 0.0001542997865727952 0.00014469842677633906 0 0 0 2.6271708063081386e-05 +4454 0.0003675280830162463 -0.0005556185692104846 0 0 0 1.8621154441802517e-05 +4489 0.00044512918708937855 -0.00040086846468551747 0 0 0 5.249935453395659e-05 +4528 0.00032965356342733653 -0.0003194689753613592 0 0 0 3.104041515861968e-05 +4530 0.00029989999725317355 -5.318710802085001e-05 0 0 0 -1.471205926436831e-05 +4544 0.00028547233488526784 -0.0003576022044966412 0 0 0 0.0003597605069832644 +4545 0.00043914978903072336 -0.0004568303108176854 0 0 0 0.0001422202124769092 +4555 0.0007411525442263197 -0.0006464081851800274 0 0 0 0.000307049861409017 +4764 0.0008172575297127082 -0.00036658995459282943 0 0 0 -0.000526224777398271 +4600 0.0004034330846891608 -0.00026440685225635345 0 0 0 -5.167428330958256e-05 +4616 0.00016309807411765134 0.00010199196094282562 0 0 0 -2.4375686503383308e-05 +9831 0.0002991877851836746 -0.0002822425221079429 0 0 0 3.632123898048806e-05 +4636 0.0003637478424632498 -9.953099806526455e-05 0 0 0 0.0001048667488353201 +4642 0.0004076502017664221 0.00011012957842788163 0 0 0 -5.149537901880216e-05 +4643 0.0003636738812507514 -0.00046026246370557667 0 0 0 -5.4843307681818855e-05 +4675 0.0004079146491547121 -0.0004597476885395426 0 0 0 -2.283161481558688e-05 +4355 0.00033849732249888745 0.0004482606144706213 0 0 0 -3.9343180301200876e-05 +4693 0.0005759548629659754 -0.0009833764903560424 0 0 0 2.641334947153526e-05 +4709 0.00043217928727379187 -0.0004655414217906659 0 0 0 -3.571432139183677e-05 +4770 0.0006228144803962718 -0.0008154944867545841 0 0 0 8.896237259827693e-05 +4797 0.000376070851293005 -0.0003437223012233512 0 0 0 1.009304331431159e-05 +4818 7.885647543737498e-05 9.5613728322249e-05 0 0 0 9.118811305844006e-05 +4830 0.0005870261545488009 -0.0009775769095736646 0 0 0 -9.140541548847985e-05 +4837 0.0002420561424981719 -0.00013239341481105637 0 0 0 2.6419391169100955e-05 +4841 0.00042866700323794673 -0.0005083725934104695 0 0 0 -0.00017296338935159303 +4866 0.00033771565824336003 -0.00034673584610532657 0 0 0 -4.385307645596396e-05 +4878 0.00029680861970580633 -9.563101104758683e-05 0 0 0 -0.00010810376854250998 +4879 0.00034436437148715034 -0.00018846052423551721 0 0 0 -1.3415140676044265e-05 +4882 -0.00018381526416726574 -0.0008475564120788636 0 0 0 -0.001127799038580822 +4894 0.00043782496062067053 -0.0004313549154305012 0 0 0 8.634872440546314e-05 +4942 0.00025544536853513544 5.5380705375036465e-05 0 0 0 -3.2848728625247513e-05 +9479 0.0002606663953444319 0.0020122854952876073 0 0 0 -0.0012687305502578055 +5010 0.0001589088268262603 7.644627606698783e-05 0 0 0 -1.880896493385459e-05 +5023 0.0001797093887660725 -6.645791922867861e-05 0 0 0 2.272301353328609e-05 +5036 0.0001991065179501919 -2.1339375486074437e-05 0 0 0 -9.554257833624062e-05 +5095 0.0006770926714082533 -0.0005993327955420881 0 0 0 -3.919702573833062e-05 +5111 0.0002026107488252537 6.91016973877797e-06 0 0 0 0.00014081543766918117 +1910 0.00030992276598832986 -0.0004838224766751995 0 0 0 3.048702909553541e-05 +5180 0.00039804720683630444 -0.00039589236716012875 0 0 0 1.4485128054858156e-05 +5231 0.0007041216376339577 -0.0013345424050322607 0 0 0 0.00038690480401958375 +9902 -1.8030405510718793e-05 0.00018361417005610203 0 0 0 8.223277954732659e-05 +5296 0.000274491619589631 -0.00018086964514139395 0 0 0 -8.86146000922418e-06 +5307 0.00038417075215728435 0.00014621291464037448 0 0 0 -0.00010258579746744436 +5312 0.00040976512637443704 -0.0004800671242312952 0 0 0 6.815414852488977e-05 +5327 0.0005151444164404385 -0.0008962682569833082 0 0 0 -4.242792175999355e-05 +9918 0.0006295666291245595 -0.0008515200649502458 0 0 0 0.0005051735708226569 +5397 0.000345780258597261 -0.000277549937819046 0 0 0 -0.00012945575980554308 +5411 0.00026636500294235037 -0.00019229297646626895 0 0 0 3.359098996546022e-05 +5425 0.0005931114365287122 -0.000844888516045869 0 0 0 -0.00011530759294441716 +5453 0.000302974193040155 -0.00033749521928522734 0 0 0 -3.3388958119048583e-05 +5471 0.0003543245340280068 -0.00013081771672417098 0 0 0 1.3022216441710786e-05 +5494 0.00034098233651278664 -0.00034801164781509634 0 0 0 -9.002226867373812e-05 +5509 0.0002384139881623892 -0.0001482955466041123 0 0 0 -4.6060578937172334e-05 +5519 0.00036915641241643356 -0.00030723079933185523 0 0 0 -6.772985777108147e-05 +9807 0.00019407141579722316 -2.1637073981588193e-05 0 0 0 -6.0252424221607046e-05 +5530 0.0002064631141864958 -3.5133073365780564e-05 0 0 0 1.2128749285793711e-05 +5550 0.0003655256476970477 -0.0003017140302196484 0 0 0 7.004778259573532e-05 +5557 0.00017583256657029104 4.320182468954651e-06 0 0 0 -9.825912427447824e-06 +5560 0.00040839341693114386 -0.0004142667210522656 0 0 0 -1.565933356585023e-05 +2340 0.0005390343415734335 -0.0007822800338391126 0 0 0 1.3689611219075867e-05 +5641 0.0006597460868800196 -0.0007931237911809545 0 0 0 0.00037496729166005665 +5654 0.00028975807112999375 -0.00028309116987612756 0 0 0 1.2832263868420104e-05 +4651 0.0008004105404640236 -0.0009935340049112363 0 0 0 -4.772358778736408e-05 +7706 0.0005373021430319325 -0.0006446405344779766 0 0 0 -9.213579998562216e-05 +9803 0.0004509479568818539 -0.001097625422271259 0 0 0 -0.000433343475307616 +5715 0.0004389660943958499 7.180947755517636e-05 0 0 0 -4.5957995146046616e-05 +5721 0.00044093204270984656 -0.00040704884130963776 0 0 0 -4.7585489666190604e-05 +5737 0.0003200464522582369 -8.266792873738841e-05 0 0 0 -7.845674097133015e-05 +5813 0.0004130147532801875 -0.00039578018253812235 0 0 0 -0.000134724200206758 +5814 0.000379505008915237 -0.00013355469854616013 0 0 0 -0.00012442465585229908 +5859 -0.00031395849764754506 -0.0011599385854340765 0 0 0 0.005258790936192548 +5866 0.0004928797687913577 -0.00045434269493655377 0 0 0 0.0001681607481456677 +5886 0.00039398701508687966 -0.00040362838770901925 0 0 0 1.5594537739019715e-05 +5982 0.00028500813809852145 0.00035896249084054057 0 0 0 -6.477654395926499e-05 +6030 0.0002550048858656296 -0.00020065555705804333 0 0 0 4.3900093468766164e-05 +6037 0.0004755371042699536 -0.0009220546264742377 0 0 0 0.00025209521238220685 +6055 0.00036226140410013937 0.00032801175896698937 0 0 0 -0.00011048390080273983 +6091 0.00026322054757903934 -0.0001723195957847438 0 0 0 2.1235818478310852e-05 +9871 0.0007130396499843306 -0.0013166303659429923 0 0 0 0.0009436762789760272 +6189 0.0004114947831779242 -0.00028746818806203755 0 0 0 8.634531716239658e-05 +6242 0.0005740181224474334 -0.0010441340246134339 0 0 0 3.7059177502047334e-05 +6260 0.0003394958279409058 -0.0002172706324961392 0 0 0 5.392711500468445e-05 +6277 0.0002156294839906487 -0.00011103022914071657 0 0 0 8.08997492502511e-05 +5619 0.00042517217140391583 -0.0006650560447447947 0 0 0 -3.367760806847907e-05 +3496 0.00033228383645079654 0.0006030730537317883 0 0 0 3.819520235147488e-05 +3360 0.0004146428468853787 -0.0004118992316782342 0 0 0 1.8945176947642573e-06 +6340 0.000388984202795645 -0.0003624490335324781 0 0 0 3.6655714412961305e-05 +9979 0.00031749613923962884 -9.962567521619114e-05 0 0 0 4.766746258595256e-05 +6382 0.0003493406687574703 -0.00035195606191178375 0 0 0 9.867635918563228e-05 +6399 2.1358929737182206e-05 -0.0006615837724377048 0 0 0 8.007488972482677e-06 +241 0.0005372890908124642 -0.000587620222798249 0 0 0 5.6961773807025244e-05 +6407 0.0005385756890006137 -0.0008605156973495935 0 0 0 -6.319090880904748e-05 +6408 0.00018429821709798304 -6.51923173030662e-05 0 0 0 4.1999115944121905e-06 +1002 0.0003445963384414668 -0.0005006181499749234 0 0 0 0.00018043421925918838 +6459 0.0004082462511014142 -0.0004087088707385961 0 0 0 -5.890796940996785e-05 +6487 0.00024264353601912228 -0.0003978828039343779 0 0 0 6.820828838511561e-05 +6492 0.0002613384036028417 -5.696859848419382e-06 0 0 0 -1.4457753705120748e-05 +6495 0.0014810282000946248 -0.0016486258399534398 0 0 0 -0.002394497291896432 +6503 -6.805488129237752e-05 -0.0015233039021506482 0 0 0 -0.0005808188639023609 +6532 0.00026257972028744545 -7.410057159495438e-05 0 0 0 0.00013131871155582962 +6563 0.0004263081909398469 -0.0005002192896174139 0 0 0 0.00010708011312358516 +6587 0.00026213898008136305 -0.0004341325165588176 0 0 0 -3.0642231760195754e-05 +6602 -2.6487951796291734e-05 0.00021301400123240638 0 0 0 -6.979028412658915e-07 +6619 0.0005742197502617121 -0.0010529339068162265 0 0 0 -1.690641038143069e-05 +6641 0.00046976149802769435 -0.0005049801003449474 0 0 0 -6.896784480082351e-06 +6651 0.0004534850562766781 -0.00042233246769072196 0 0 0 2.1383148468998487e-05 +6695 0.0005228620784085864 -0.0006888984141711837 0 0 0 3.484658301042565e-05 +6697 0.0005758275388642979 -0.0006797887102851217 0 0 0 -0.00019493697649643687 +6725 0.00038677972807144094 -0.0005307219987085601 0 0 0 -3.17601475566921e-05 +6818 0.00020208840876998382 -6.664670168758957e-05 0 0 0 2.081624389668341e-05 +6833 0.00026412827999803445 -2.729785689954282e-05 0 0 0 7.914104794981651e-06 +9462 0.00021196693678871548 -0.00023770031133630876 0 0 0 1.3112315396455562e-06 +6869 0.000152774815024636 0.00023232216655867614 0 0 0 -6.482138088826244e-05 +6879 0.0002647992512797794 -0.0002443904130023078 0 0 0 2.3230013996660808e-05 +6918 0.0005459304128393964 -0.0004178619977167962 0 0 0 0.00021416023080747656 +6954 0.0006892965854203308 -0.0009570348793822507 0 0 0 -1.584313739471949e-05 +7024 0.00027056819385686573 -0.00011715014203093825 0 0 0 7.442715147948985e-05 +9408 0.0002874348623174633 -0.0004803046881226724 0 0 0 -0.00011655674734270839 +7058 0.0003437225260358021 0.00021878344741392048 0 0 0 -6.517528283486711e-05 +4695 0.00038651107354735134 -0.00040274548711520075 0 0 0 -0.0004077363763459547 +7086 0.0003665049712446854 -0.0003358594808921724 0 0 0 -1.7872336897867678e-06 +7132 0.0003025231957175558 0.00018417544597853518 0 0 0 -7.121255681849936e-05 +7147 0.0004155725306536044 -0.000440115716728433 0 0 0 -1.6871781786710562e-05 +7172 0.00029831336260827975 -0.00019464687876648778 0 0 0 6.318211911314246e-06 +7236 0.00030641065122773863 -0.00023898427648475913 0 0 0 3.4770220248475546e-05 +7240 0.00025094712212389195 6.421592673987185e-05 0 0 0 -1.2483322586509907e-05 +7263 3.7327050999116914e-05 0.00015953280689406563 0 0 0 -0.00030516485968740245 +7273 0.0003939163145001749 -0.00025093604069325757 0 0 0 5.964598229680384e-05 +7383 0.00012510708132978569 9.184337554093787e-05 0 0 0 -0.00011543651073641214 +7384 0.00043036765407047716 -0.00045938971500538047 0 0 0 -2.248361589233371e-05 +7400 0.0003832107481905686 -0.00036278218082875846 0 0 0 -3.330036263521288e-05 +7488 0.0003275902477043794 0.00019227373779864856 0 0 0 -4.765165855543618e-05 +9994 0.00021175830780742269 -8.374953229970665e-05 0 0 0 -1.4451861096369503e-05 +7528 0.00039651669278184813 -0.0004098813966181217 0 0 0 7.944117278265815e-05 +5878 0.0005386016920448945 -0.0009457000138152297 0 0 0 -0.00012737980603999072 +7539 0.0003136649985356218 0.00028556276875215774 0 0 0 -5.469256152428081e-05 +7623 5.888246574392916e-05 0.00024396660149026363 0 0 0 -2.4928713038245296e-05 +7626 0.00025352429854416225 2.4339337327809635e-05 0 0 0 1.4401083728352908e-05 +7647 9.64666240655274e-05 4.544730618903035e-05 0 0 0 -0.0004369675843805287 +7668 0.00040410552506092576 -0.0004505341813704091 0 0 0 1.5544701112855346e-05 +7744 0.00045098861797266847 -0.0004460444757092583 0 0 0 3.0230120668592015e-05 +7752 0.00045264730243224817 -0.00045522890513604577 0 0 0 -0.00012109222822295351 +7802 0.00029269288089457126 -0.0003022679607816638 0 0 0 -7.4301139005133945e-06 +7829 0.0002868052579526774 -0.0003390542939615524 0 0 0 -1.9241391097642662e-05 +7837 0.001916889906436175 0.0014462186867853916 0 0 0 0.0027657992160427082 +7847 0.0002519317881021214 -5.690530980925323e-05 0 0 0 5.547877090176798e-06 +7893 3.5963101267029194e-05 -0.0006237895822100221 0 0 0 0.0007953063860207216 +7911 -4.335619740412783e-05 -0.0008317224610647254 0 0 0 0.00017394567122700687 +798 0.00034729161933272975 0.0005291808205957108 0 0 0 -1.933618430873486e-05 +7987 0.0004730954567791434 -0.0005373231423483842 0 0 0 0.00017902721077848373 +8011 0.0003170113029350827 -0.0011910743358062724 0 0 0 0.0004088064149547513 +6018 0.00023383252887873845 -0.0003049944859829315 0 0 0 -0.0006018780894874638 +8094 0.00037245122154912165 -0.0003615279999590797 0 0 0 -4.6580041098969833e-05 +6551 0.00031985689574207116 -0.000357681392967816 0 0 0 0.00026505402497933016 +8133 9.319330126124154e-05 1.0281435390100357e-05 0 0 0 -0.00011912470741443072 +6548 0.0003441962405856644 -0.0006294749737659794 0 0 0 -5.902800415720291e-06 +8139 0.0002574187677158712 2.341601049326415e-05 0 0 0 3.8017630743020556e-05 +8151 0.0003840855483388537 -0.0003860813081605043 0 0 0 -0.000104941397452659 +8171 0.0008935950731454476 -0.0010566688141892034 0 0 0 0.00019340901617295828 +8215 0.00048227807751548166 -0.0007896002713166295 0 0 0 0.00045436887450784594 +8256 9.126768861633544e-05 0.0002596606407548669 0 0 0 4.640770108378988e-05 +8283 0.00042889646656788194 -0.0004693849575556755 0 0 0 5.9301404208940814e-05 +8322 0.00022452322227507974 -2.550930916455658e-05 0 0 0 2.157690616576337e-05 +8351 0.000135420043247621 0.00026865764621019186 0 0 0 2.2315329058008105e-05 +8406 0.00033498893588329847 -0.0002392715814787823 0 0 0 0.0001064651195733414 +8612 0.00012709080132837806 -3.358045259468788e-05 0 0 0 0.000277039067668244 +7055 0.000989031342747518 0.0009140559412742852 0 0 0 -0.0004671934621561011 +8556 0.0001630913041712441 2.986552701267178e-05 0 0 0 -0.00021141849673754782 +2148 0.00014775818973496407 -0.00031512534235881445 0 0 0 4.169744479719626e-05 +8605 0.0001749150480455484 0.00014415739965250495 0 0 0 -8.084049647469297e-05 +8614 0.000388223087585459 -0.0003722233476427708 0 0 0 -0.0008938577652550471 +8620 0.00044554436524599884 0.0002428956382674589 0 0 0 -7.69465702089545e-05 +9786 0.00035717571546146036 -0.0002970569965544022 0 0 0 -9.228400433684905e-05 +9986 0.0005081998919943145 -0.0009200236424121643 0 0 0 0.00040943924203141655 +8824 7.484364321692872e-05 0.00010941153878908872 0 0 0 -0.0004384508335784497 +308 0.00048571733792937734 -0.0006945602065471207 0 0 0 -1.5616161102220215e-05 +8830 0.0003275752866582416 -0.00015395726178319403 0 0 0 3.09729492981308e-05 +7423 0.00041707060923924495 -0.0006013769075401907 0 0 0 0.00017217060859943447 +8841 0.00023627825027225293 -8.811643390888362e-05 0 0 0 -6.384955342297667e-05 +8872 0.0009330678037452369 -0.0005306244543788706 0 0 0 1.6386620112111775e-05 +8896 0.0003282569008161446 -0.00026821247471654113 0 0 0 9.985259178532072e-06 +8908 0.000379345609329976 0.00010934129335264221 0 0 0 0.0001331642800344836 +8924 6.237928532419753e-05 2.6290618165374565e-05 0 0 0 -4.2253853161057545e-05 +8937 0.0004006020215465736 -0.00038893130908185697 0 0 0 -3.038111407020969e-05 +8960 0.000678694875408346 -0.0009554513738496746 0 0 0 -5.4481075908926445e-05 +8965 0.00035888295023115877 -0.0003167361181115718 0 0 0 -0.00016625032639648046 +8970 0.000659042893019218 -0.0007790616930186812 0 0 0 -0.00041268645839710863 +8975 0.0002896020489787998 0.0001762154832742998 0 0 0 -4.2581277415284135e-05 +8983 0.0007428997142035129 -0.0003904036524349754 0 0 0 -6.622503849376965e-05 +8991 0.000777441850335347 -0.000885475751273988 0 0 0 -9.304613698032154e-05 +8995 0.00043404239130155826 -0.00046310629135025736 0 0 0 0.00010030075846397661 +9030 0.00031085328481958706 -0.0003468548941971345 0 0 0 -0.0002413666911368448 +9052 0.0003457533775950081 -0.00023837282828848168 0 0 0 4.782624164964731e-06 +9939 0.0003689737886456141 -0.0003464153085393679 0 0 0 6.077337025467061e-05 +9171 0.00033836684631751823 -0.00018993859633625903 0 0 0 -6.699060925933068e-05 +9257 0.00032201506880434524 -0.00010087514872052072 0 0 0 5.283176195572151e-05 +4511 0.0003777701984994841 -0.0004362126023822542 0 0 0 4.2363598052364176e-05 +9341 0.00034649463358072535 -0.0004511484481043529 0 0 0 -0.00011933587377313786 +9369 0.00030975196471075034 -0.0002705210663257348 0 0 0 -1.3092719208927828e-05 +9371 0.00024827198471651834 1.6587160210774764e-05 0 0 0 -3.114065420888341e-05 +9445 0.0004349514186746459 -0.00038499774704206773 0 0 0 -0.00011216589397615968 +4874 0.0003998509838465964 -0.0010076398631204747 0 0 0 7.665203529827225e-05 +9478 0.0008379184069389498 -0.000704332949710873 0 0 0 -0.0008549684294700538 +9511 0.0002877469235680373 -0.00022351536495492953 0 0 0 1.67785328233306e-05 +9527 0.0003435897335581277 0.0003158797185877576 0 0 0 -5.880370796294018e-05 +9546 0.0005456424780691036 -0.00014246317164834252 0 0 0 0.0001730829635752223 +9567 0.0003797934622672091 -0.00040110462335436997 0 0 0 -1.9054452600043738e-05 +9574 0.0002967452342901374 -0.00019511918113224248 0 0 0 -6.24592018780446e-05 +679 0.000319282759057835 -0.0004977276803184664 0 0 0 2.2170551740181777e-05 +6085 -0.0007709485374334942 -7.472408152057233e-05 0 0 0 -0.00028820605976962333 +9616 0.00029495259009225606 7.63264085860013e-05 0 0 0 -3.74966747519646e-05 +9624 0.00035600401843164346 -0.0002656273994915319 0 0 0 0.00016857492787908731 +9633 0.00026980422100193367 -0.00021879261524714277 0 0 0 -7.471667026438811e-05 +9634 0.00011615157000996106 -1.607259032060391e-05 0 0 0 8.620455311719307e-05 +9653 0.0004068143141366942 -0.0004430299896628348 0 0 0 0.0003906550662552055 +9682 0.0004464834328388682 -0.00045770500792964103 0 0 0 3.160600646881682e-05 +9684 0.0004716307057921126 -0.0005569201440052757 0 0 0 -0.00015510898437427704 +9776 0.00032176316530406056 0.000390852227209403 0 0 0 -3.641168119396321e-05 +9778 0.000327276977180043 -0.0003509597466281915 0 0 0 -9.232898655033787e-05 +1750 0.00012407987527740587 -3.016930529128527e-05 0 0 0 -5.133901553225732e-05 +4483 0.0004075544052945556 -0.00041895386372722295 0 0 0 4.7987261557920755e-05 +1459 8.16876061105616e-05 0.0002601490161903023 0 0 0 -2.6026599010557415e-05 +9022 0.0004464017088552226 -0.00039072393950269574 0 0 0 -0.00010015495949062767 +138 0.0005017447114786084 -0.0006196832050413824 0 0 0 1.5049777885898622e-06 +9339 0.00016390117628081868 -0.0001554521871462911 0 0 0 -0.00014491795696453506 +8512 0.0006815786466318252 -0.0009091358220918292 0 0 0 -0.00010987711560972384 +9810 0.0006668691270577836 -0.0005553482408861152 0 0 0 2.7111273971340774e-05 +9029 0.00023205436883591693 -0.0004898733762530818 0 0 0 -6.72106411985593e-05 +7715 0.000541692178786447 -0.0006451203885356039 0 0 0 0.00015783221399446302 +7069 0.0002886291547250979 0.00045590479242387855 0 0 0 1.2350331394275688e-05 +4982 0.000520792185895726 -0.0008185124932206509 0 0 0 -2.7353063805863893e-05 +7295 0.000258717494791426 -0.00047509099505473886 0 0 0 4.1936701853968864e-05 +485 0.0007483855052279697 -0.0009429082212238597 0 0 0 -2.3219706204156903e-05 +6071 0.0004369291501529735 -0.00036139845081850847 0 0 0 0.00012394818131549005 +8391 0.0004725485857694941 -0.0006059764100860958 0 0 0 -0.0002789132849746223 +9857 0.0005777796777425007 -0.0006191893864708242 0 0 0 -1.1887613696931077e-05 +9342 0.0005159658217001464 -0.0005256226988887507 0 0 0 -0.000584058034873376 +6318 0.00046407542604452045 -0.0006048438753419198 0 0 0 -6.796850324705118e-05 +126 0.0006519712166262539 -0.0009092331397486885 0 0 0 -3.110558894760957e-05 +2838 0.0002870807645165224 -0.00024643762377418683 0 0 0 -4.0305096735719086e-05 +2922 0.0002979344536803621 -0.00027473705885808013 0 0 0 -4.530586289795013e-05 +2248 0.0003641263314575802 -0.00044699510282928653 0 0 0 -5.74483412259562e-05 +5336 0.0004363477398743793 -0.0005256896680607856 0 0 0 0.0003722262648244029 +715 0.00045841363933646107 -0.0004272922635585631 0 0 0 -1.530582929498048e-05 +7321 4.8795516400870005e-05 -0.001173975177039295 0 0 0 0.00018891077676329028 +4596 0.0004970291758418069 -0.0007984839062670212 0 0 0 -2.4529163544229722e-05 +3164 0.00030456659841955136 -0.0005148120135508982 0 0 0 -0.00017903925672817345 +4126 -0.00013525561076971267 -0.00012785667160198404 0 0 0 0.0004400541000538461 +9185 0.00041585194665264734 -0.0002959897851144086 0 0 0 2.787807386425829e-06 +1347 4.193488395228484e-05 0.0002345405942016806 0 0 0 -4.643903686526664e-06 +9432 0.0003973991610778932 -0.0003276125486906668 0 0 0 -0.0001748200992047142 +4508 0.0007122972918696014 -0.0008882362891090693 0 0 0 7.849229918348149e-05 +638 0.00040310230706890716 -0.00043178457225832525 0 0 0 -5.147773935231484e-05 +9443 0.0005372361055956784 -0.0007978713995612918 0 0 0 -2.7819719715040724e-05 +6335 0.00040080324019052635 0.000543918835630697 0 0 0 6.0079229673622885e-05 +886 0.0007197155239601792 -0.0009199662239890423 0 0 0 4.542631066566513e-05 +7900 0.0003161777725945128 -0.000300954134458467 0 0 0 -0.00012126177020208966 +4207 0.00026356107842307884 -0.00020229382341663767 0 0 0 -1.5709900453729306e-05 +9890 0.00044643213714747114 -0.0007464485657129026 0 0 0 -5.6127670384594365e-06 +7343 0.0004670041065128217 -0.0007906610044676332 0 0 0 -5.714778239926926e-06 +9054 0.00020956161599611242 -0.0004937840301081237 0 0 0 -0.0012048772608556507 +3894 0.00031396237056331456 0.00023633685978991924 0 0 0 -4.265379806332115e-05 +5783 0.0005741890219792995 -0.0009284573461872434 0 0 0 0.0001535551982693757 +3161 0.0004271383129119699 0.0005936004116399462 0 0 0 4.275723442760277e-06 +179 0.0002820568252038776 -0.00016539017067138535 0 0 0 -1.6925770362011945e-05 +9380 0.0005055768788751666 -0.00221155883485158 0 0 0 -5.088140443634531e-05 +9758 0.0001294861980052633 -0.00015386329328040012 0 0 0 -0.0003747064489233612 +43 7.244106219077203e-05 0.00040129533648651435 0 0 0 7.560216601411902e-06 +46 0.0002242213514375712 0.0009555494442412627 0 0 0 -2.2686293786811694e-05 +114 -0.00032364353073983487 0.0005282537514781202 0 0 0 5.42187020676153e-05 +139 0.00012599505634080258 -8.319826032390985e-05 0 0 0 -5.256599647027089e-06 +184 0.00025249486749891805 0.00044622670576678717 0 0 0 -4.9914312027042415e-06 +220 0.00024910318523613077 0.0007022655003040248 0 0 0 -1.3979879536977105e-05 +261 0.0002328194858147668 0.0004312242146972299 0 0 0 -1.3543585719075264e-05 +6295 0.00024589071247023815 0.0006493847145145975 0 0 0 4.67563873981807e-05 +321 0.00038514360361298984 0.0008184097578218146 0 0 0 -4.36124351013783e-06 +8587 0.00017826234723876644 0.0002534683414417783 0 0 0 -6.38333480147876e-05 +8890 0.00022616478592217765 0.0004596750954949508 0 0 0 -7.759622187260784e-05 +368 0.00016400020590376954 0.00017022660183242043 0 0 0 -7.564883663218954e-06 +389 0.00034029926700254975 0.0007989062279529179 0 0 0 -1.1488474180131664e-05 +393 0.00019007159161282778 0.00018667120317509926 0 0 0 -4.494040522874385e-05 +402 0.0002877419670281378 0.00019853814957362104 0 0 0 1.0307877481548832e-05 +444 0.00017240956150356624 0.0001621725683569741 0 0 0 -3.1432023335258896e-05 +6863 0.00034922457531547915 0.0007373073771079048 0 0 0 -0.0003403370203162579 +536 0.00016353973018699069 0.00018499524930982062 0 0 0 -3.711279768424507e-05 +423 0.00037215575629665143 0.0004581644442693112 0 0 0 -4.786001648232471e-05 +584 0.00011747081697802851 1.6135427363340948e-05 0 0 0 -1.981460280514178e-05 +588 0.00018956063868243693 0.0002485218812908083 0 0 0 -2.9521039564707814e-05 +5260 0.00031794870923551653 -9.228343573558536e-05 0 0 0 -3.9727533379047534e-05 +678 0.00010633628083595479 0.0004025112348294323 0 0 0 -1.635471014330126e-05 +697 0.00019797228018603432 0.0002922431354163634 0 0 0 -1.1657589004753298e-05 +756 0.0002512479955974916 0.00018949390387456287 0 0 0 -7.900664187987957e-06 +809 0.0001644646469359743 0.0001987275929783765 0 0 0 -3.574694462003641e-05 +840 0.00018619432470450706 0.0007047427254448875 0 0 0 -1.961962724838899e-05 +3013 -2.1091764143492126e-05 0.000699290901732104 0 0 0 -4.4848589502940117e-05 +2519 0.0004775183635940114 0.0008603873657393534 0 0 0 -0.00010507254799215449 +868 0.00017946659807382474 0.0008234573806161389 0 0 0 1.4862679752068277e-05 +879 0.0002252816423817774 0.0006436451742241668 0 0 0 -2.391575485109481e-05 +889 0.00043470332227207636 0.0007922042394373539 0 0 0 -3.7154021659748583e-05 +942 0.00015041862479459433 0.00011317838584043175 0 0 0 -3.099530277446486e-05 +948 -0.0002841626451135713 0.0006094876832794746 0 0 0 5.176122444295261e-05 +981 0.00015010877169624264 0.00043120022369769743 0 0 0 1.6305523768610013e-05 +989 0.00023931526445089527 0.0004712308674852587 0 0 0 -1.647587715932109e-05 +8568 0.0002999164270360419 0.0007201335141175202 0 0 0 -9.699530382997164e-07 +1084 0.0002328270529135177 -0.00010516748939110619 0 0 0 -1.6890806782080998e-05 +1127 0.00020365285474653716 0.00031846548073261684 0 0 0 -5.51757157251807e-05 +1156 0.00017301796286282718 0.00038077889664721266 0 0 0 -3.575604451722845e-05 +1159 0.00022308038590616362 0.0008129286144188847 0 0 0 9.216375660140805e-06 +1197 0.00022985126827312053 0.0003121749900754529 0 0 0 7.767434205292896e-06 +1219 -0.00020773246803353342 0.0004281436662258347 0 0 0 5.885252027623085e-05 +9969 0.0002555671661837431 0.0004922769624558512 0 0 0 0.00045634712931059897 +1268 0.00011607255246806841 0.00041262132442631183 0 0 0 -9.78114876769959e-05 +1271 0.00033554464011401964 0.0010185033613049482 0 0 0 3.144181937870328e-05 +1319 0.00036101376431499636 0.0004880345088296756 0 0 0 4.2855688174701525e-05 +1332 0.00016327805555298316 0.0008576506702609415 0 0 0 7.320638640994357e-05 +1735 0.00040471211187580256 0.0006308750495058782 0 0 0 -2.8126439430117563e-05 +1432 0.00020554138489731826 0.0010407627000059946 0 0 0 -2.148730677391873e-05 +1436 0.00014816991842080672 0.0005837598027679814 0 0 0 -1.535691787717676e-05 +1443 0.00023561348627774617 0.0004732471511031906 0 0 0 2.336568668345782e-05 +1461 0.0002168504008158393 0.0004574182510488832 0 0 0 -3.2682854629255352e-06 +9376 0.0001714351216648034 0.0003471686466804884 0 0 0 -1.9054058483071394e-05 +1532 0.00027108895276812433 0.0003608534541804235 0 0 0 1.5325365926970948e-05 +1541 -0.00020677339575763697 0.0006022647387824 0 0 0 -8.102323057751657e-06 +1568 0.00018973529577213027 0.0006799689305526801 0 0 0 -6.383509029649537e-05 +1651 0.00032314194454632396 0.0005104047761665747 0 0 0 2.1411203521699837e-06 +1678 -6.658108363854094e-05 0.00024650579702944613 0 0 0 -2.540941932582592e-06 +8933 -0.001876658619607673 0.0013772611492258368 0 0 0 0.0015817956578135777 +1696 0.00011856843945019256 2.7456574884958207e-05 0 0 0 -3.1959334264584657e-05 +1700 0.0002497719140634188 0.0009694403879627585 0 0 0 -0.00013497533336557827 +1713 0.00022402509696230628 0.00010894857792827068 0 0 0 -6.599070961447692e-05 +1740 0.00025879174100910653 0.00041960781201882366 0 0 0 -3.5875747238782542e-06 +2908 -0.0008194125746826572 -0.0004477888430842233 0 0 0 -0.00037206707899313914 +387 0.00033503155972050016 0.0004557276093398086 0 0 0 -6.0463270135509434e-05 +8702 0.00012321219849244068 -3.297502082825891e-05 0 0 0 -6.534895671634047e-06 +1903 0.0002397448233043873 0.00028252853949633084 0 0 0 -1.5300295813046848e-05 +3191 0.0006030383382364389 0.0008355873649060733 0 0 0 -0.00018555522125861932 +1946 0.00025824331045081486 -0.0001046538194809195 0 0 0 4.1254332968561674e-05 +1562 0.00021646549288610394 0.0001541911012483326 0 0 0 2.5585032083461844e-06 +1975 0.0002471229964962253 0.00036441977863142295 0 0 0 -1.2206520012128689e-05 +9510 0.0001023807772904098 0.000646892401674734 0 0 0 -0.00022395962013795314 +1986 0.00039222843142341685 0.000653202739556179 0 0 0 5.1883670788396126e-05 +2004 0.0003184400669661153 0.000916684867110397 0 0 0 -2.2354581898010608e-05 +5677 0.000346285123805248 0.0002722313816772676 0 0 0 0.00012771922269330674 +8884 0.00026867446592838815 0.0005305744610958192 0 0 0 1.7045456366947406e-06 +6166 0.0003009210302827621 -0.00013515415672494957 0 0 0 0.00011653171331748041 +2093 0.00014115411602298516 8.737341727559901e-05 0 0 0 -1.7974728962567315e-05 +2133 0.0002871209435803872 0.00011630388400223697 0 0 0 -0.00012538912243520748 +2134 0.0001686940450679971 0.0006046561426607878 0 0 0 1.1907797688190005e-05 +2137 0.00012472588128472316 7.808188777094152e-05 0 0 0 -2.303683770349361e-05 +9991 0.000208119058160901 0.00038972104692260213 0 0 0 -6.596805668939855e-05 +9943 0.0001969947713584889 0.0003371295335142049 0 0 0 -2.0180491248805523e-05 +9196 0.00011307307530336506 1.4296497454153882e-05 0 0 0 1.5302364084503835e-05 +2249 0.00012775543667277594 0.0002445807124334888 0 0 0 1.7458599456102078e-05 +2284 -8.95186697665011e-05 0.0004938555550488346 0 0 0 -0.0001438056253592273 +9785 9.075880184119823e-05 0.0006389008443668098 0 0 0 0.00018906760852675008 +2317 0.00022564131900828545 0.0004163507152568194 0 0 0 1.6115250434169595e-05 +2327 0.00014217334629072385 0.000864501332641881 0 0 0 0.00012162759820806364 +566 0.00024694625552513485 6.85452317080256e-05 0 0 0 1.6821887230401123e-06 +2382 0.00011448022476166142 0.0008695396485286841 0 0 0 -1.6740269862148296e-06 +2441 0.0001410532239580753 0.00021013960081750678 0 0 0 2.7429726645179084e-05 +540 0.00018668375520932814 -0.00012508254174588125 0 0 0 3.655246991615345e-05 +2543 0.00015217117781783987 0.00023950141026784371 0 0 0 -6.744811902458587e-07 +2547 -0.0001306912596082467 0.0007506386013177919 0 0 0 -6.655720309653034e-05 +2571 0.0001041580119969007 -4.148294218762677e-05 0 0 0 2.2779169689854934e-05 +2576 0.00029659637745201695 -0.00010977105073269295 0 0 0 3.002060294312353e-05 +2603 0.00023897187131066098 0.0003809633717140889 0 0 0 -3.483113067863448e-05 +2611 0.00022080642712395915 0.0005426714172588623 0 0 0 -5.1062983128688695e-05 +8123 0.0004063957376661903 0.0005631335053166145 0 0 0 -2.786641597425438e-05 +2672 0.00020766714357670681 0.00042059676755312275 0 0 0 1.1453085469092822e-05 +2676 0.00017836371775795012 0.00033730361135073334 0 0 0 0.00011748069646219886 +2686 0.00036621040948535996 0.001038374613836126 0 0 0 -0.00014320291290249523 +6381 0.00043379488727727123 0.0008347697905154164 0 0 0 -0.0004194913050381863 +9105 0.00015894779135989818 0.0009346976115708384 0 0 0 6.0316892317492475e-05 +2701 8.756820859951638e-05 -5.057938373656354e-07 0 0 0 -3.419226978660774e-05 +8837 0.00023463881451307034 0.00046011265867781427 0 0 0 0.0001233635054689433 +6418 0.0003662351811832388 0.00020997714809034261 0 0 0 -0.0001229316333506609 +2780 0.00021446430384945082 0.0008717990002912107 0 0 0 1.721456265208573e-05 +2784 0.00029719363218733716 0.00034729225075153 0 0 0 -1.2388492964770849e-05 +8744 0.0002095172698125757 0.0008816315653200406 0 0 0 7.291213378186015e-05 +2809 0.00018176990738435418 0.0005210897314006078 0 0 0 -8.650581456075548e-05 +8831 0.00020998810602560045 0.00016522297379040028 0 0 0 -6.160791046093994e-05 +8093 0.0003932981402088484 0.0005391366269159929 0 0 0 0.00012576887639470708 +2874 0.00021789353253037216 0.0001522768918272949 0 0 0 5.8727826524653436e-05 +2880 0.00020524272055835345 0.000780315530350697 0 0 0 -4.8292674454617526e-05 +476 0.00016815647866355243 -0.00011765650034040832 0 0 0 2.087875995508765e-07 +2912 0.00013516469659872893 -9.310858370932032e-05 0 0 0 2.2583798981063172e-05 +2956 0.00016850723443060915 0.0002841493709232075 0 0 0 1.228322670098156e-05 +2983 0.0001812396144798037 0.00022137722529717868 0 0 0 -7.59097163289905e-05 +3002 0.00012717549215765237 0.0001848502667734169 0 0 0 -7.050666292187669e-05 +6400 -0.0002790293799782068 0.0004935842820873976 0 0 0 -0.00020553636292724404 +9736 4.731368313879179e-05 0.001070810590908736 0 0 0 -0.00010490225075391365 +3027 0.0004670921070824967 0.0006852215523987595 0 0 0 0.0002099297070123776 +3067 0.0002751408883664356 0.0004240517962117809 0 0 0 -6.464581962613088e-05 +4634 0.002181581460336193 -0.000349092373514821 0 0 0 0.001344217695531166 +3113 0.00010160809497836143 -6.726561659667107e-05 0 0 0 -4.747543285206174e-05 +3682 0.00015238238357489624 0.000996886870303507 0 0 0 0.0035781351906304633 +1089 0.00032172035021347557 0.0006002590039130648 0 0 0 -4.690740716495505e-06 +3142 0.00025382650512046067 0.00048030127320687193 0 0 0 -5.528879613778911e-06 +3150 0.0003428947224758909 0.0005624962363355488 0 0 0 -9.686869098134866e-05 +3166 0.00016659929943230287 0.0005865404839790218 0 0 0 -4.792468320886956e-05 +4387 0.000314959967162837 0.0006169277510582017 0 0 0 -6.934122121751365e-05 +3241 0.0002503329174921194 0.0001270643135075572 0 0 0 1.6877069114469503e-05 +3248 0.0002485697189188478 0.00027714443300467 0 0 0 -6.0871484972229544e-05 +3299 0.00014071685967886272 0.0005865977448317665 0 0 0 -1.2386147778704926e-06 +3312 0.0001127155579371486 0.00020479667660530725 0 0 0 4.62697439799044e-05 +3361 0.0002818089641818626 0.0010032128121967763 0 0 0 0.0001619505276230442 +3367 6.68268293579959e-05 -7.266323604387982e-06 0 0 0 0.0002138414692479436 +3376 -6.990508249424045e-05 0.0007914503745346318 0 0 0 0.00036308105562197986 +5579 0.00034998570036973555 0.0002681901852326332 0 0 0 -1.15565101773972e-05 +3419 0.00014554952128520754 7.688390613242313e-05 0 0 0 -2.2588002522649476e-05 +3459 0.00013793419119192252 0.00019494466930073596 0 0 0 -8.866386133168383e-05 +3461 8.861438919483817e-05 -2.7121219625124988e-05 0 0 0 -1.029196755255153e-05 +3506 0.0002860068266771277 0.0003915277604998239 0 0 0 1.9012580762147724e-05 +3517 0.00024605862514327873 0.0005017861943860037 0 0 0 -7.070531789276705e-05 +3589 0.0004108323328912275 0.0005380900272265318 0 0 0 8.195402062649403e-06 +3644 0.00039549656052804884 0.0009598035071919057 0 0 0 -6.602072649951324e-05 +3651 0.00015534385482778314 0.0001754948873783951 0 0 0 -5.350086658938361e-05 +3663 0.0001421172010846842 0.00038441553388928254 0 0 0 -1.7896521931802952e-05 +3720 0.0001300735052134714 0.00026504476146901727 0 0 0 1.2077618878492439e-05 +3722 0.00013746722783888527 0.00022363638485431152 0 0 0 -1.743407699930259e-06 +3742 0.00018756047567417404 0.00029769541652779495 0 0 0 -7.538988873920283e-05 +3769 0.000260185611442823 0.0008247060810802089 0 0 0 2.753914314988407e-06 +3784 0.00017067090814572194 0.0002501715479525907 0 0 0 1.954951953221883e-05 +3791 -0.0004285073389289958 0.0018059629408502874 0 0 0 -0.00040506482290061696 +3821 0.00024013020552474907 0.000675087382721997 0 0 0 -6.145073491393863e-05 +3856 -0.0009642003137106294 0.0016727972215272002 0 0 0 0.0012010059209908504 +3877 0.0001925620865791798 0.0005236076788621389 0 0 0 -6.821168460603267e-05 +3900 0.0001605559317196804 0.00044321152670446866 0 0 0 3.359409728494697e-05 +3922 0.0002553425774864599 0.0008450637744427666 0 0 0 1.0096693492461365e-06 +5142 0.00027220703046230234 0.0004861846292428078 0 0 0 5.0524527536389686e-05 +3972 0.00012838736960572072 0.0001631228827440938 0 0 0 -9.98343876413097e-05 +3982 2.937131643735204e-05 0.0011374197588985304 0 0 0 -0.00010615625711319042 +4095 0.00015448917452320522 0.00012670835326058464 0 0 0 1.5778594060493703e-05 +4106 0.0001531014118484407 0.0001539778453657573 0 0 0 -1.188020260189179e-05 +4154 8.343629170789493e-05 0.00044211543151834333 0 0 0 -3.787140297807361e-05 +6173 0.0004307298001845686 0.0005244826180097434 0 0 0 -4.943320981841742e-05 +4241 0.0003248312520767171 0.00031999241877349256 0 0 0 -4.36615422405527e-06 +8144 -0.00024798858001212116 0.000489561580880839 0 0 0 0.00027780330057845077 +8713 0.0002278777987399448 0.0006692230219771855 0 0 0 2.5786017648810544e-05 +4310 -4.137985095369953e-06 0.0010324661445263905 0 0 0 -0.00029946695715986745 +2931 0.000308274849511143 0.000699680080514986 0 0 0 -3.912903389223643e-05 +4341 9.436870325769341e-05 0.0004893488972395288 0 0 0 1.5525326032028623e-05 +4404 0.0002243310123227848 0.0004340607455043733 0 0 0 -3.166033873357043e-05 +4436 0.00016616875460758487 -9.532263841741563e-05 0 0 0 -2.14260934949881e-05 +4526 0.0008418409551680856 0.0012835744160896165 0 0 0 0.0005157524239624376 +4566 0.00012522419569025993 0.00015810380352791707 0 0 0 1.4420876400222868e-05 +4620 8.350122502881309e-05 -4.5748419829440563e-05 0 0 0 2.0248066747758877e-05 +4621 0.00012238229217160644 6.927482212617446e-05 0 0 0 -2.3431977135336823e-05 +4640 0.00016356477718590916 0.0003026047603423368 0 0 0 -1.2928509008404588e-06 +9290 0.0003556090337551267 0.0006670706432967838 0 0 0 -0.00034239499558568864 +5003 0.00033276182037125817 0.0005909605666900487 0 0 0 -2.37742403506031e-05 +4745 0.00029871431725138407 0.0005690084725723091 0 0 0 -2.5949678374586893e-05 +4780 0.00011472694555239788 0.00036609386126813733 0 0 0 -1.3187049759148735e-05 +4781 0.00010077540239267971 0.0003930881681632175 0 0 0 -8.144461697218931e-05 +9334 0.00022145992308902622 8.435569132241674e-05 0 0 0 -2.2477070971544507e-05 +4817 0.0002546204361999595 0.000828971975453595 0 0 0 5.5209240672695524e-05 +4823 -4.764065140131451e-05 0.0005462260530367569 0 0 0 -5.116917690620666e-05 +4844 0.00013135146441794975 -9.571315224245489e-05 0 0 0 3.425298688673823e-05 +4863 0.00017917293733287997 0.0004668343685195512 0 0 0 -1.6051487221415352e-05 +4916 0.0002031722230164015 0.000511845503304168 0 0 0 -0.00023709431302991956 +5021 0.00012770094969978533 -6.27813843450192e-05 0 0 0 5.152125715596774e-05 +5030 0.00044677372654385283 0.0009722077283618756 0 0 0 -0.00020874645491353194 +5058 0.00030640591399401637 0.0010434489895691935 0 0 0 -0.00013593595170346243 +9239 0.00030687533322850855 0.0005458984450769712 0 0 0 0.0001698189369723934 +5092 0.00021201218672378813 0.0001624571755465653 0 0 0 -3.454880637597441e-05 +5119 0.00019153964685604744 0.0003427861406637519 0 0 0 5.6038119291869495e-06 +5122 0.00038855871545705504 1.038917329871109e-05 0 0 0 -2.1631289933980124e-05 +3379 0.0002905480029787272 0.00038207642404140173 0 0 0 1.682451144747602e-05 +5198 0.00022432246660981857 0.0014692865823214356 0 0 0 7.208682022831162e-05 +9406 0.0002805522781790493 0.0005421403706197271 0 0 0 -1.2279342857061888e-05 +8449 0.00022689241953782266 -0.00017101175156587905 0 0 0 -0.00012156907258394627 +9213 0.00045795882432431433 0.0009150304508868121 0 0 0 -0.00015104651602057786 +5310 0.0003433156008916334 0.0009156190663985924 0 0 0 9.9816829122686e-05 +6117 0.0005263042685002762 0.0006672444716775152 0 0 0 0.00010344947064720906 +5329 0.00039117218825033406 0.0006589829464709859 0 0 0 -4.481343199957512e-05 +2719 4.9825891563947105e-05 -6.923637823569306e-05 0 0 0 7.070278267397595e-05 +5360 5.004209059668989e-05 0.0003643891528748792 0 0 0 -1.5101638601484447e-05 +5375 0.00011917401991273393 0.00017930442455594756 0 0 0 -5.438538032293117e-05 +9579 0.0002601740635825367 0.0005695398963444235 0 0 0 -6.289592818194824e-06 +5382 0.00010774534644018763 -6.00995503358866e-06 0 0 0 -9.724756440911959e-05 +5438 0.00025875293044535 0.0004912054129884905 0 0 0 -3.3455989297618534e-05 +5483 -0.00031315799816988935 0.0008418961298776782 0 0 0 -0.00027351248551957973 +5518 0.00046425027834281026 0.0008374443431543773 0 0 0 -0.0002864919692013611 +4691 0.0002264631481771269 0.00013751774161841268 0 0 0 5.471558004692921e-06 +5537 0.00015783876078497765 0.000169615886313126 0 0 0 8.378770776878392e-06 +9900 0.00043876883355377047 0.0008345037738407686 0 0 0 0.00010367244989841279 +5620 0.00013385553931988966 9.969875020034802e-05 0 0 0 -1.2666437450554191e-05 +5660 0.00020453849530077943 0.0004938092098802296 0 0 0 -4.6085318211342994e-05 +5672 0.0002529954857870138 0.0004003693335783666 0 0 0 -5.113572094073946e-05 +5683 0.00023738316276886135 0.00021572229135031898 0 0 0 -4.991935063502765e-05 +2226 0.00046893852804495625 0.0006493134015350293 0 0 0 -0.00010017853948032692 +5723 0.00027776197825469016 0.0007762155554242503 0 0 0 -7.850047767286323e-05 +4206 0.0004404321091917057 0.0005992252779506952 0 0 0 1.1202500017374943e-06 +1189 0.00028645039067303304 -0.00022200924520895436 0 0 0 4.57059639312845e-05 +5769 0.00028853376686962677 0.00014073668774179047 0 0 0 0.0002671000080024787 +9412 0.00015048780987044226 0.00027029101313511786 0 0 0 -0.0001492039226153041 +5815 0.00016960812959493303 0.00021881368336262362 0 0 0 -2.9868902863762543e-05 +5838 0.00011991081825299156 0.0007938910962972122 0 0 0 -2.131222318990754e-05 +5852 0.00011070509564185624 -8.551698174301131e-05 0 0 0 8.005841187311622e-05 +5860 0.00011065178835046668 0.0011456903995756137 0 0 0 -9.024760113837908e-05 +5872 0.00011058783872226103 -3.228239409675055e-05 0 0 0 -1.1966431916010434e-05 +9263 -0.0002152123791161728 0.000851215369804381 0 0 0 0.0003799204453698616 +5920 0.00013882921001786473 0.00014864823660555218 0 0 0 -0.0001239792593332131 +5944 0.00010294262314858383 -4.643347316163943e-05 0 0 0 9.124911903680824e-05 +5959 0.00022918931222807204 0.00023491028547759882 0 0 0 -3.921653844987951e-06 +6016 0.00011676679313718176 0.00011799944450036567 0 0 0 -9.45124105109229e-05 +6046 0.0001852308123838871 0.0003569146278098709 0 0 0 -0.00011749989374412545 +6054 0.0003122275494875282 0.0004212174263569987 0 0 0 6.444920030489538e-05 +6074 0.0002685082371075675 0.0005170443287110032 0 0 0 8.434403433259736e-05 +6076 0.00024937205987369404 0.0006039669388607109 0 0 0 -4.888149724356498e-06 +6084 0.00015826028186634512 -0.00010419924111953299 0 0 0 4.343989594276429e-05 +6093 -0.00017299546457310607 0.0007832604230627364 0 0 0 -0.0003192496165027348 +6101 5.571413955740659e-05 2.401957260245618e-05 0 0 0 -0.0002029956480501381 +4265 0.0003061552848597387 0.00036567915875702613 0 0 0 7.13943060340997e-05 +6149 0.00021655815595532065 0.0010291886655009871 0 0 0 0.00013729656430952619 +6157 0.00014507266616010976 0.00025000409445065873 0 0 0 4.0718018195615904e-05 +6164 0.00013970108630950736 8.150137649934797e-05 0 0 0 -7.224184929382136e-05 +93 0.00029151753651217717 0.00035573690362023067 0 0 0 -2.4362759035467673e-05 +6223 0.0002939917294076474 0.00047635699784396354 0 0 0 -4.343309062121018e-05 +9167 0.0004486351106921056 0.000694279485735757 0 0 0 5.112081083677223e-05 +6286 0.0001059484183485106 0.00021920699897614684 0 0 0 -1.3178851865161768e-05 +8953 0.0001704960717314973 0.0006959962458559241 0 0 0 1.848829046599748e-05 +6391 0.0003529054133631444 0.0007431033362685441 0 0 0 -0.00023262926761051243 +6479 0.0004096680332365735 0.0009354255556567598 0 0 0 -0.00020470118945468217 +6535 0.00020817098784628755 -0.00041898145750977466 0 0 0 -0.00022567549152751248 +6601 0.000392911123601021 0.0008863494307333912 0 0 0 -6.366980573783304e-05 +6631 0.0002729136959266476 0.0004695461244145611 0 0 0 -3.6926806878385604e-05 +6636 0.0002791212541560068 0.0005790401134868875 0 0 0 -8.436216501564122e-05 +6682 0.0001776633552948526 0.00010286605023754619 0 0 0 7.553023336183974e-05 +7501 0.00016645430096267618 -0.00011314745581615608 0 0 0 3.060537383507218e-06 +6723 0.00020103750971311267 0.00015952510764402514 0 0 0 -2.3271455988090797e-05 +9114 0.0002137450609658654 0.0003849790421470086 0 0 0 -8.862888259822e-05 +6810 0.00015506817464150207 -0.00010216976010907771 0 0 0 -1.7116439968346135e-05 +6914 0.00014570014244770504 -9.273875945114269e-05 0 0 0 4.2015114649930856e-05 +9197 0.00014427484239713022 0.0008503611321398896 0 0 0 1.7096233923801672e-05 +6967 0.0002355674083461852 0.00015786690219132102 0 0 0 -1.657971931625282e-05 +6972 0.00030594701834498925 0.0009659292839833006 0 0 0 0.00044914973674123744 +6973 0.00013827889468097447 0.00016906219527249204 0 0 0 2.773481351612952e-06 +6988 0.00010976150278760901 0.00043443966702499877 0 0 0 2.6682489266715663e-05 +7063 0.0001253172057602607 0.000145095812346361 0 0 0 1.645165390376942e-05 +7085 0.0001714746640390523 0.00042950369341387246 0 0 0 7.643449549753434e-05 +7109 0.00022065404443581912 0.0005084391336049359 0 0 0 -6.720847582855027e-05 +7119 0.00133518204218794 0.0003901985958287337 0 0 0 -0.00030380874818856614 +7123 0.00014645212572385354 0.00016566637702994358 0 0 0 -4.400403823632841e-05 +7135 0.00017099275512975914 0.00044474573342632767 0 0 0 -1.3556598936531801e-05 +7140 0.00022262875911188164 0.0008097911428251201 0 0 0 8.389150986081122e-05 +7158 0.00015251621504880838 0.0005578797367276353 0 0 0 6.572929934696317e-05 +7165 0.00028833555562692156 0.00017959293355752443 0 0 0 -5.368136739795716e-05 +1688 0.00035805094559659457 0.0006497424268294188 0 0 0 -2.9959008936159256e-05 +7217 0.00021079425781302046 0.00021350041198268588 0 0 0 2.9201132702544774e-05 +7267 -0.00031108779595134437 0.0006082453306135932 0 0 0 -0.0001947206688460171 +5526 0.00014308045433442164 -9.793215340320214e-05 0 0 0 -3.366329285192301e-05 +7341 7.817630037251109e-05 0.0002801805220435157 0 0 0 -0.0001193098653285076 +7374 0.00019182569052109987 0.00028176316962932716 0 0 0 -6.13865700538579e-05 +9186 0.0002837355970366069 0.00039022695353881564 0 0 0 -8.033611180498626e-05 +7378 0.0003849303221427301 0.0005665139549544946 0 0 0 -0.00014439268539323172 +7412 0.00022795973812218164 0.0007445589096861632 0 0 0 3.0620173252221775e-05 +7515 9.953100521021821e-05 0.00021471338330192482 0 0 0 -5.394613814323576e-05 +4251 1.3148361675608101e-05 0.0010297393423530437 0 0 0 -4.146953764838187e-05 +8721 0.00019902035923171732 0.0008411844752856554 0 0 0 9.162582003138177e-05 +7569 0.00032650064062249897 3.4047654640521477e-06 0 0 0 0.0004184078124853291 +7596 0.00012246863083894516 0.00021821300940348662 0 0 0 1.2165032262256864e-05 +7084 -0.0014055376230742572 -0.0004101518856590081 0 0 0 -0.0015322270231095483 +7674 0.00016532444054358504 0.0002999461303461054 0 0 0 -4.345359827013398e-05 +7691 6.145528654144973e-05 0.0006364138724998317 0 0 0 2.3575349790463684e-05 +1274 0.0004947927677674551 0.0006640106924679231 0 0 0 -4.5124158874577506e-05 +7733 0.00013690782590180937 0.0004244339293102432 0 0 0 2.013467089626353e-05 +7776 0.00013892368811921718 0.0006077479945230023 0 0 0 0.00017241866179684029 +7800 0.0001729141419883498 0.0002918877786923497 0 0 0 2.58721203958501e-05 +8670 0.00039010312063749396 0.0009178565956421945 0 0 0 0.00037512107254938763 +7048 0.0002652908038075887 0.0006074014729953897 0 0 0 -2.5979804549302936e-05 +9564 0.00015885553643344281 0.0002984259577091973 0 0 0 -6.537778649939728e-07 +7942 0.00021031454311553068 0.0002737858570877654 0 0 0 1.6009084556494417e-05 +9219 0.00015194572691342985 0.0004989142348360046 0 0 0 1.5070803963220763e-05 +7974 0.00030866574391988485 0.0003647443394261196 0 0 0 2.2302037959888035e-05 +8001 9.38244643108059e-05 0.0002656899948618671 0 0 0 7.696225813803025e-05 +8015 0.00022887233697011953 0.0004786002726740738 0 0 0 -2.097681143561588e-05 +8110 -0.0007059981959026479 -0.0011060845089163598 0 0 0 0.001634336863008336 +8147 0.00021739589395391445 0.00018034567848282816 0 0 0 -2.471079096456441e-06 +8200 0.00033427285459636024 0.0005453097553433711 0 0 0 -4.603004097659683e-05 +8262 0.0004934340928060365 0.00016039984931620762 0 0 0 -0.00038191660696817027 +8300 0.00010006897830774512 0.0009156502926373158 0 0 0 -3.959910294536001e-06 +8314 0.00023294592626852995 0.00023634157869396977 0 0 0 -2.141368202371658e-05 +8320 0.00023929127603481798 0.00046223211948459114 0 0 0 -2.072924814891928e-05 +9470 0.00012500975273368098 0.00043377889308697845 0 0 0 -3.0167860766633786e-05 +8477 0.00011589953934227906 0.00025827337157339537 0 0 0 -7.540587242504655e-05 +8519 0.00021624960247874962 0.00014503944751872232 0 0 0 -2.025254334642951e-05 +8526 0.0002050452649336917 9.914177675553352e-05 0 0 0 7.808896807992555e-05 +1919 0.00041162278307131444 0.0006686620400887103 0 0 0 7.871473219087268e-05 +8532 0.00028478852043325233 0.0002016399241582258 0 0 0 -3.22162340403245e-05 +3197 0.00038568817492746766 0.0007564376401457612 0 0 0 -0.00029275493715280674 +8548 0.00026252246927223815 0.00010024115139123686 0 0 0 -5.916810975820941e-05 +4094 0.00047571449548324847 0.0006123670122314351 0 0 0 -1.881288947839017e-05 +14 -0.0005787539525290441 1.4354102683172773e-05 0 0 0 1.2554102134086457e-05 +22 -0.0008970606509029946 -0.0006424332276308748 0 0 0 1.830600963275952e-05 +55 -0.0008373135451097079 3.964617575299669e-05 0 0 0 3.380437411279079e-06 +2524 -0.00031664106938523106 7.386886463756083e-05 0 0 0 -0.00017788608809417685 +3005 3.139546423914522e-05 0.00028816283361926916 0 0 0 -2.7914447004496534e-06 +5384 -0.00046979737132426516 -1.7487325142301243e-05 0 0 0 -8.224671935510678e-05 +3103 -0.000211762508379917 0.00019132231266272908 0 0 0 0.00013933238187198487 +156 -0.0007014856150322085 -0.00017658435603610766 0 0 0 1.3052173976676562e-05 +161 -0.000270577912577946 -0.0003830141737842833 0 0 0 5.6027479558214974e-05 +215 -0.00010971992423674276 -0.00018283616398336662 0 0 0 2.878633729634486e-07 +227 -0.0008360852741057992 9.20900133150557e-05 0 0 0 5.455261412258844e-07 +230 -0.0008304977059227784 6.664960822442733e-05 0 0 0 9.997255636984762e-06 +240 -0.0004010453814361526 -0.0004327705640041659 0 0 0 7.693665031979322e-06 +5605 -0.0004940409846362214 4.787754348613414e-05 0 0 0 -0.00010573814647709213 +319 -0.00036817511006454444 -0.0005933032393961901 0 0 0 3.53749516521488e-05 +9603 0.0001268623549248242 0.00024360750598429538 0 0 0 -3.947945608567629e-05 +366 -0.00040966720633713727 -0.00023084608505416078 0 0 0 -1.678328353145005e-05 +9951 -0.0003612576205319423 -0.0005792696425137 0 0 0 -4.1420209033283805e-05 +9885 -0.0004538381211034954 8.223877688435811e-05 0 0 0 0.00025804975698593617 +492 -0.0008248900275434235 -0.0003820059570260179 0 0 0 -5.078267419869935e-06 +2052 -0.0008709952545652394 8.660700354880771e-05 0 0 0 -3.070506728552944e-05 +5381 4.265609484046004e-05 0.00026112417659117674 0 0 0 -1.961190124894946e-07 +618 -0.0002552695290044112 -0.0005406359305292029 0 0 0 2.5134138222180846e-05 +623 -0.0003512054720580985 -0.0003689535477932516 0 0 0 -1.8930792326128453e-06 +9654 0.00016150694084533687 0.00011992723836182212 0 0 0 -0.0002415347690444334 +8545 9.952540470431847e-05 0.00025664335060134253 0 0 0 6.396128848453562e-05 +694 -0.0006546814978137358 -0.0003954145496918758 0 0 0 -2.3838947799944825e-05 +3668 -0.00024889755124154854 0.00018341931518517927 0 0 0 -4.549155934825751e-05 +2127 -0.00037549682912623594 0.00021160392580830032 0 0 0 -5.522268492311746e-05 +849 -0.00047254409572389786 1.7854101089023205e-05 0 0 0 7.39424053887057e-05 +905 -0.0007182833546673629 -0.0006667406594198127 0 0 0 -1.6151000469847135e-05 +8619 1.3698116487984631e-05 0.00032629271499478126 0 0 0 -5.018246629557089e-05 +4172 0.00016888169674533285 0.00013878746794056368 0 0 0 0.0001942311616061447 +1009 -0.000719844374484096 -3.609853086997751e-05 0 0 0 1.0795719429398546e-05 +1072 -0.00015950577406246015 -0.0004747376005285097 0 0 0 1.3026127022756874e-05 +1105 -0.0006654545846928784 -8.895683350246166e-06 0 0 0 -4.424843045021621e-05 +1138 -9.624441520174856e-05 -0.0002851977316495224 0 0 0 7.727950148702492e-05 +4713 -0.0006840283678702186 0.0001733583172259594 0 0 0 4.384705779277882e-05 +1220 -0.0005867379139560227 -0.0006375574137808938 0 0 0 5.295654125283879e-05 +5533 -6.627421274829764e-05 0.0002082589850270107 0 0 0 -7.108622508184952e-05 +1254 -0.0007497085703161891 -6.530820835808151e-05 0 0 0 2.03486679426706e-06 +1257 -0.000804496976281287 2.1988405794622606e-05 0 0 0 -1.7839226069285057e-05 +5918 0.00011434001589455633 0.0003030874067142335 0 0 0 1.0971440568043404e-05 +1236 2.6299353964626063e-05 0.000311061453700878 0 0 0 4.730933399590424e-06 +1333 -0.0008309504239173988 6.944091584612401e-05 0 0 0 -5.305506499068753e-06 +1368 -0.0007072424063757978 -8.431759307386235e-05 0 0 0 1.1808684498553263e-05 +1839 0.0001561260219753964 0.0001793530166220845 0 0 0 -5.987277653030413e-05 +1431 -0.0003218589410058902 -0.0005859226107145176 0 0 0 -3.421065654454576e-05 +1462 -0.00025442328279903813 -0.0003721335119727615 0 0 0 -3.767608017999778e-06 +1481 -0.0005456618165657433 -0.0003068067186643344 0 0 0 4.5574848192099585e-05 +1498 -0.0008550011500153514 -4.135092117682359e-06 0 0 0 3.2178783219856615e-05 +1528 -0.00016371289586477632 -0.0002589458440350984 0 0 0 -3.058758219940137e-05 +1533 -0.0007380175535839911 -4.1862851955382937e-05 0 0 0 1.79441148795113e-05 +1549 -0.0009459125721303805 -0.0003408609732413782 0 0 0 -6.33091823076721e-05 +9985 -4.316222734896542e-05 0.00026231620251193475 0 0 0 0.00021169231322694168 +1567 -0.0007826361108893015 2.0406470032916446e-05 0 0 0 -1.4704010860951454e-05 +1608 -0.000756678193185196 4.52024752860382e-05 0 0 0 1.2605712817477088e-05 +2171 -0.0005161183738564021 0.0002335430052859565 0 0 0 0.00017292474545796914 +1631 -0.0004860588826608938 -0.00018601720561925737 0 0 0 -7.94492271092569e-05 +1662 -0.0005629093468296626 -7.37110798560171e-05 0 0 0 2.3140254170158423e-05 +1663 -0.000852952517782037 0.00012097995832288874 0 0 0 -9.738055514229656e-06 +1670 -0.0009589425907028698 -0.000177085538517445 0 0 0 -9.670656366240879e-05 +2803 -0.00040107735475085983 0.0004772335905076296 0 0 0 -0.00023420634296316954 +5742 -0.00028172348446292464 5.318134354428175e-05 0 0 0 4.3851716155167026e-05 +1736 -0.000613692690915365 -0.00034465366887763784 0 0 0 1.2385317461657872e-05 +1742 -0.00043257542235956007 -0.00027789925362231956 0 0 0 -7.455808405469052e-05 +1745 -0.0007429784982784298 -6.404828487381918e-05 0 0 0 3.833452061690767e-06 +2695 0.0001706320663042823 0.00018981003474289153 0 0 0 5.5868454461883915e-06 +1770 -0.000834204135442545 6.864990190047315e-05 0 0 0 -1.894499814347963e-05 +1784 -0.0008367698824969976 7.390935407117086e-05 0 0 0 2.5608064674258376e-05 +9884 -0.0007684944109942571 -0.00026242217497079095 0 0 0 -4.305947164760918e-05 +1809 -0.0005611989244845386 -0.0001086408985763819 0 0 0 3.5543479108393606e-05 +1834 -0.000539882439214483 -0.00016269898813036688 0 0 0 -7.655762530072234e-05 +1950 -0.0006319802799369644 -0.0004934408442307062 0 0 0 6.859107903779367e-05 +1956 -0.000837820191113384 -2.1592895222452686e-05 0 0 0 -7.204109114952637e-05 +1995 -0.00022701979563015927 -0.0004318258196043096 0 0 0 4.980578107971415e-06 +2001 -0.00028664346495312033 -0.000457426345183743 0 0 0 -2.901962530783472e-05 +2023 -0.0007872143748697567 -0.00038875114096017155 0 0 0 -4.737456096027817e-06 +2024 -0.0005399764395258165 -0.0003590221691441464 0 0 0 7.344824121034345e-05 +2040 -0.000835051792900624 8.549004266024057e-05 0 0 0 2.1881796781557463e-06 +2059 -0.0007320366125831331 -6.844705719544902e-05 0 0 0 -1.4962327945447543e-05 +7283 0.0001594692294764761 0.0001596503615662542 0 0 0 -3.9415696353097676e-05 +2131 -0.0006654202967194751 3.878554675892516e-05 0 0 0 -5.765725768570253e-05 +2157 -0.0006914424504038114 -0.00022183823382362184 0 0 0 -1.257862765263258e-05 +2160 -0.0006629375158043026 -0.0002343272688409484 0 0 0 5.1881334417780184e-05 +2169 -0.0007409512268072632 -9.091725839018683e-05 0 0 0 1.1374402657890996e-05 +2155 0.00014688839341824576 0.0001917590851716568 0 0 0 -2.5185695217865522e-05 +2220 -0.0008669835584193215 -0.0001907869785263084 0 0 0 -8.056909095709673e-05 +2221 -0.00032435693478391914 -0.00029194095209330017 0 0 0 3.062814310973627e-05 +2660 -0.00018686583471918497 0.0002110080248373339 0 0 0 1.6405539272219415e-05 +2314 -0.0007256954310879148 -5.504826997533691e-06 0 0 0 3.89621648770427e-05 +9307 4.535052357065162e-05 0.0003984708321823312 0 0 0 -3.49244220491456e-05 +2420 -0.0004188661110364717 -0.00032887083553665054 0 0 0 -5.306159435668327e-05 +7601 -0.0008854838663670369 0.00016229135344741045 0 0 0 -2.76218756471729e-06 +2457 -0.0009372710637056157 -0.00041429599718610763 0 0 0 -0.00013515095923238713 +1076 -0.0002765927325822469 4.047882909546028e-05 0 0 0 1.436850019102647e-05 +5139 -0.0003981904187969998 0.00012923208606564857 0 0 0 0.00011679699824884507 +4799 -5.514444713459081e-05 9.571208417756187e-05 0 0 0 3.621495683635437e-05 +7928 1.74219419307565e-05 0.00027697663702931803 0 0 0 6.130401123859428e-06 +1398 -0.00023818050173718582 2.2282737536684758e-05 0 0 0 2.578669635085184e-05 +2757 -0.0008864091767106906 4.052470645017884e-05 0 0 0 -5.826569958593037e-06 +2778 -0.0008417738138890023 9.225685476522146e-05 0 0 0 4.1254903193336577e-05 +2787 -0.0005569036801825251 -0.0003579846285527117 0 0 0 -9.856543337529519e-05 +2788 -0.0007442234736575486 -0.00011997344179130596 0 0 0 -7.555545178413105e-06 +5227 -0.00031986903541178773 0.00044663393262902267 0 0 0 7.00776820076122e-05 +9506 -0.00012598284599553913 0.00038344438611675086 0 0 0 -0.0004853996377237995 +5706 -0.00023900206437739202 0.00029230555389206196 0 0 0 0.00022048883650126435 +4437 -0.0005569585091889883 -0.00013046134982107007 0 0 0 1.8353439153115425e-05 +2911 -0.0004765148193508924 3.381888251997649e-06 0 0 0 2.8764816501225675e-05 +2950 -0.00044374465768860457 -0.0003591215989130506 0 0 0 -1.2437843520991865e-05 +9937 -0.0002714986116084851 0.00017692993344119965 0 0 0 -0.00010852048939948391 +5760 5.162990072114578e-05 0.0003243959834600924 0 0 0 0.00013707301113172183 +7565 0.00014285233977234622 0.0002551177491076141 0 0 0 -2.475244915381099e-05 +2859 2.7861433164804393e-05 0.00027257861961596877 0 0 0 4.3064749774968646e-05 +2689 8.180450237819944e-05 0.00031806471231019657 0 0 0 1.9388575807106685e-05 +3210 -0.00036586050658896123 -0.00030793709098234827 0 0 0 1.2146824136949618e-05 +3355 -0.0004188380935855873 -0.0005643229741027913 0 0 0 6.0647546477498125e-06 +3437 -0.0005267231574936168 -9.640041912670182e-06 0 0 0 -4.770647674082408e-05 +3514 -0.00025385155092038015 -0.00035092022554760984 0 0 0 -2.483987901125122e-05 +3530 -0.000574805051863883 -8.036639929510277e-05 0 0 0 -9.001634579163092e-05 +8655 -0.0004997407347937512 0.00021691961572340416 0 0 0 0.00021218980818387784 +3567 -0.0007732133829742322 -0.00025587951325201314 0 0 0 -2.3156759854202135e-05 +3580 -0.0002672955341583636 -0.0003529134602919846 0 0 0 -7.350979878824755e-05 +3606 -0.0008908101860351192 -0.00022953142164231418 0 0 0 9.684320407529244e-05 +4724 -0.00029800910199603864 9.857625556605039e-05 0 0 0 -5.183772349325262e-05 +3650 -0.0005746245962098696 -7.111139211899881e-05 0 0 0 -5.974234015816844e-06 +3786 -0.0002943296887286519 -0.0005207162161936928 0 0 0 -1.9476839780460707e-05 +3867 -0.00034693706124918906 -0.0003250042731779579 0 0 0 -2.7149986227580556e-05 +3898 -0.000518514990198765 -6.487016646983676e-05 0 0 0 -0.00012512633276111118 +3920 -0.00018896495451621844 -0.0002600748320567701 0 0 0 3.228726391353497e-05 +4029 -5.1530361548481505e-05 -0.0002154407600040865 0 0 0 0.00018300084133935499 +7597 -0.00032044592268065355 0.00018860251252551905 0 0 0 8.615982022534734e-05 +4240 -9.332965912990696e-05 -0.00037221165598921884 0 0 0 -9.907120160585878e-05 +4353 -0.00020727572478926394 -0.0008923177014252549 0 0 0 -0.0003052620792128609 +856 -0.0003675152939425942 0.00022844032781622905 0 0 0 -1.380916072600923e-05 +4373 -0.0007638732641786347 7.813460407753095e-05 0 0 0 9.261755384174189e-06 +9858 -0.0007379744061904351 -0.00010778071754226356 0 0 0 3.653683010189942e-05 +4453 -0.0004868903521452307 -0.00031666755816731117 0 0 0 2.4476851257759334e-05 +4499 -0.000859213311064056 -8.298397099414483e-06 0 0 0 -5.719595125400012e-05 +4503 -0.0006018099380755529 -0.0006111941790375943 0 0 0 -7.064708571303413e-05 +4513 -2.1752675389735022e-05 -0.00022632899018573783 0 0 0 0.00010490017761669855 +4523 -0.0008460277577147342 0.00011469834849577256 0 0 0 1.8304356207589652e-05 +4564 -0.0009151008359029071 -0.0002109457831323196 0 0 0 -0.00025831116157191335 +4568 -0.0005886525237116926 -0.0004408900146476825 0 0 0 8.292407451928572e-06 +4577 -0.0007004022565519078 -0.0006748678967529149 0 0 0 6.835385851844854e-05 +4595 -0.0005341242955044381 -0.00030674765913318543 0 0 0 -0.00011212104351312047 +1983 0.00011947727918362044 0.0002804271243947322 0 0 0 -4.456745374463417e-06 +4630 -0.000715053138518109 -0.00011364606340872085 0 0 0 -1.771564352524467e-05 +4633 -7.893444205109848e-05 -0.0002804746518447182 0 0 0 0.00013047872049385897 +4647 -0.0004946724847548995 -0.0003226434021203159 0 0 0 -3.627157947386528e-05 +4667 -0.00011646334123657914 -0.00028229749309438963 0 0 0 6.445590574282596e-05 +4690 -0.0008828741933308119 7.357995623551851e-05 0 0 0 -9.073433524347149e-06 +645 -0.000871104333521293 0.00010171550770610288 0 0 0 1.7461977929907854e-05 +4767 -0.0005105100099818947 1.5651242779278096e-05 0 0 0 -5.531567598837507e-05 +4771 -0.0008208409562928669 8.264371331172336e-05 0 0 0 3.509901281128854e-05 +4790 -0.0006915447389638502 6.028334262688504e-05 0 0 0 3.837343329289037e-05 +4793 -0.0002225001667806665 -0.00040394556645175725 0 0 0 -2.3917789690130133e-05 +4852 -0.0006163611271454581 -0.0006087445012108042 0 0 0 -8.68058686841492e-05 +4861 -0.0007062330414948247 -6.240826893822984e-05 0 0 0 -1.1131452789001652e-05 +4887 -0.0008057763521414492 -0.0001819887439684985 0 0 0 -1.1205248237018945e-05 +7608 -0.000217172413534201 0.00017907785874518204 0 0 0 0.00018589804281264193 +9391 -0.0008606261939591819 9.376438573186646e-05 0 0 0 3.442686711491667e-05 +4955 -0.0003768105442488164 -0.00032415966834064967 0 0 0 1.9774715350407464e-05 +4967 -0.0002806753550798304 -0.0005236567857944718 0 0 0 -1.921807410072683e-05 +4973 -0.000728592388808359 -7.857165622331281e-05 0 0 0 2.057114645003745e-05 +4983 -0.0005126172996325028 -0.0005431819991083571 0 0 0 4.037810012687637e-05 +4991 -0.0005296072407014505 -0.00034193288136613755 0 0 0 0.00011102299396408691 +5072 -0.000829666170671166 -0.0006984370234431049 0 0 0 -0.00012650218817165563 +5080 -0.0005587794013664425 -0.00036783342945098186 0 0 0 0.00014443856966767145 +5103 -0.0005569293433844234 -4.886679900131697e-05 0 0 0 5.583409695297534e-06 +338 0.00013485859558908208 0.0003027989141094567 0 0 0 3.448631082791356e-06 +5134 -0.00037442484544590186 -0.0003189154930683205 0 0 0 1.5873884614759357e-06 +1529 -0.0002520717067459056 0.00018881996171538336 0 0 0 5.760211100473662e-05 +1328 -0.00024728060899707185 9.296139036593357e-05 0 0 0 3.834016400626173e-05 +5195 -0.0005241203397831184 -0.0002926153753803728 0 0 0 4.514866884970981e-05 +5205 -0.0005754960079878505 -6.986415688468585e-05 0 0 0 -0.00010265671995243102 +5238 -0.0002819958989173416 -0.0003305374812124258 0 0 0 5.9026783895684584e-05 +5240 -0.0005464016761733707 -0.00016754071563189176 0 0 0 3.5822778463644155e-06 +5257 -0.0006506340735502308 -0.0001771859771018742 0 0 0 -8.653344571901693e-05 +5272 -0.0003006327566200835 -0.0003659548341778931 0 0 0 1.6990783997727512e-05 +5281 -0.0001016367030948454 -0.00035435163563081386 0 0 0 0.00018519359397555058 +5340 -0.0007445973891236202 -0.0003852181503185372 0 0 0 0.00011489606469742411 +376 -0.0006039613623891573 -0.00017939457183554277 0 0 0 1.8358486685101917e-05 +846 -0.0002442397299791699 0.00024270445255494862 0 0 0 3.899372231356106e-05 +5458 -0.000735385512987584 -8.611002120736434e-05 0 0 0 -4.8884783404640255e-06 +1914 -0.00015028958689685006 0.00031759213915949806 0 0 0 0.00013067597054223823 +5564 -0.0008288862048334753 5.117236267605466e-05 0 0 0 2.2476646848882213e-05 +5569 0.00013191810464002776 -0.0009204619528147037 0 0 0 0.000591750257215142 +5570 -0.0004911261239810408 -0.00033183977227386644 0 0 0 -9.879190202751256e-05 +5573 -0.00021096531564622728 -0.00034683901304129357 0 0 0 8.045985326995882e-05 +5586 -0.0007242140499611741 -4.9832427298970716e-05 0 0 0 -2.176667526049213e-05 +5607 -0.00042374564263614076 -0.0006080553574145865 0 0 0 2.5586671772303687e-05 +5611 -0.0003082869905638257 -0.00037057456104933213 0 0 0 2.3927701977632957e-05 +2357 -0.00024374659537010717 0.00017612010362660102 0 0 0 4.037330529543585e-05 +5670 -0.0006688034836561807 -0.0005040646309329233 0 0 0 -5.1026696941992936e-05 +9972 -0.0008375018448170975 8.021676506752919e-05 0 0 0 -5.182829856082281e-05 +5703 -0.0007378846558974796 -8.702804282998815e-05 0 0 0 -1.655057767819766e-05 +5751 -0.0008000893550103391 -3.0548276418038164e-05 0 0 0 2.6226101443418498e-05 +5764 -7.365723712276918e-05 -0.00026750242942757615 0 0 0 3.629806057552527e-05 +5773 -0.0008276965716268234 -3.156679376163595e-05 0 0 0 4.955439946539059e-06 +3119 1.8559557671595683e-05 0.00029760564595634006 0 0 0 -0.00018804679459270303 +5845 -0.000503119216779405 -0.000205512068605492 0 0 0 -0.00012003155664243809 +7375 0.0001378987054042646 0.00016955098514655694 0 0 0 -8.343129207614348e-05 +5991 -0.0007212907588116167 3.939507582261345e-05 0 0 0 6.0688940748196796e-05 +5998 -4.505110646045857e-05 -0.00029733527641081684 0 0 0 0.00014025982220376015 +5322 -0.00026721894308090444 6.758187871714159e-05 0 0 0 3.618079906547688e-05 +6072 -0.00022591610423324755 -0.00021488294226951584 0 0 0 -5.385927492690047e-05 +6077 -0.0005497555809714635 -9.625703526260239e-05 0 0 0 5.339988514052361e-06 +6103 -0.00047542376878534695 -4.301329036093002e-06 0 0 0 -3.036689104552593e-06 +6159 -0.0001723986417374469 -0.0003445007003380124 0 0 0 8.264803328531961e-05 +4258 -0.0001833693140847117 0.00016752074849424927 0 0 0 7.057903606295952e-05 +8787 -6.058664044386593e-05 0.00045551200642688267 0 0 0 7.903971207936548e-05 +2711 -0.00010202014280284786 0.00021769098747182334 0 0 0 0.00010045174405548039 +6248 -0.0007384565215375852 -6.253258446651451e-05 0 0 0 4.744545388812658e-06 +6276 -0.0008725282939361336 -0.0004251837621441442 0 0 0 -3.0154679619286147e-05 +6288 -0.0006582360388811217 5.853504032213025e-05 0 0 0 -6.302797754507798e-06 +6507 -0.0006304622993884482 -9.135152519763256e-05 0 0 0 -7.176316732306098e-05 +2328 -0.00037748146315785494 0.00023596092490730524 0 0 0 -2.9628038701869632e-05 +9385 -0.0004987472677131423 0.0002081049302441705 0 0 0 -0.0003104487245806267 +6371 -0.0003379502920320059 1.1070540742729916e-05 0 0 0 -4.317925411948134e-05 +6373 -0.0007280560631272216 -0.00014877533883205654 0 0 0 3.709337563950783e-05 +6379 -0.0008063525846193727 4.318732265115423e-05 0 0 0 5.020307245549483e-05 +6401 -0.0005778499430823445 -0.0002907183077839237 0 0 0 6.772988760537755e-05 +8736 -0.00045517765909203797 0.00039969580329734475 0 0 0 0.00011424799255914767 +6457 -0.0007924600966118748 -4.62837912667916e-05 0 0 0 -8.195996518482294e-05 +9725 1.4366240537270011e-05 0.00031694951666234834 0 0 0 6.621598344428375e-05 +5218 -5.877481674377342e-05 0.00028100688529888155 0 0 0 -7.711513682754338e-05 +6573 -0.0008383038136993442 9.818820373166982e-05 0 0 0 -4.176291461953358e-07 +6594 -0.000870086515783567 -0.00028287785404486256 0 0 0 0.0004249665406192065 +6639 -0.0008300205591048859 5.992140359678304e-05 0 0 0 -3.810393200198874e-05 +6654 -0.0008377681862680067 4.2734678454998495e-05 0 0 0 -7.91905272020428e-06 +7728 1.9007721614954487e-05 0.00030931333315531326 0 0 0 -3.79280213056083e-05 +6716 -0.0008541078584092858 0.0001171266335602978 0 0 0 1.1352046359981035e-05 +6748 -0.0011617743063997747 0.0009164267792897657 0 0 0 0.0004428733199509284 +5802 -8.2901511051912e-05 0.00040859483212981766 0 0 0 -9.62019046389402e-05 +2290 -0.0001679788588723639 0.0004341214212994344 0 0 0 8.025917343848039e-05 +6847 -0.0005342672063384193 -0.00017068896479157606 0 0 0 8.612323316843061e-05 +6904 -0.0002741061473941362 -4.0234319128352665e-05 0 0 0 9.772227000144293e-05 +6948 -0.0008019725652232686 3.142822432186172e-06 0 0 0 4.102042722278553e-05 +6997 -0.0003213223513039978 -0.0004007158944877242 0 0 0 4.496682118164176e-05 +6779 0.00014711234960810692 0.0002854421689850843 0 0 0 -4.5820088548185974e-05 +7955 -1.795207973145276e-05 0.000338149001938264 0 0 0 6.57249663693717e-05 +7160 -0.0008458107958052257 0.00010788353258624241 0 0 0 -1.532468464947929e-05 +7176 -0.000610366606968755 -0.00023073473431032385 0 0 0 8.590950266061835e-05 +8779 0.0001345114055011897 0.00022112873900941618 0 0 0 2.5600962038861943e-05 +7254 -0.0008051966403923917 -9.568075946965773e-06 0 0 0 6.734230876772758e-06 +7262 -0.0008212226998055918 -0.0002331486651515022 0 0 0 -0.00023625702676339383 +6304 1.872276589329124e-05 0.00040032868612738677 0 0 0 -9.669106200051749e-06 +494 2.5486810229824662e-05 0.0003152709964671911 0 0 0 4.4613770235549835e-05 +7331 -1.742063848273706e-05 -0.00020831183719225593 0 0 0 0.0003008071068288442 +7337 -0.0008449633758698154 0.00011002447249339414 0 0 0 1.8271359527939167e-05 +7354 -0.0008709988810930062 0.00010554464884475168 0 0 0 1.6913843428389435e-05 +2861 0.00015104438545236897 0.00026291319650870426 0 0 0 -8.248457800970987e-06 +7410 -0.0007116583747195342 -3.243015562261521e-05 0 0 0 -1.2663229675118226e-05 +7529 -7.36885625531319e-05 -0.0003235734695232733 0 0 0 -0.000371363241161631 +7549 -0.0003434574907011754 -0.00022499329507899807 0 0 0 0.00015916734559396075 +7588 -0.0004946084233157937 -4.231079785049786e-05 0 0 0 -3.531057096324985e-05 +9851 6.562386117411239e-06 -0.0001780361743887854 0 0 0 -0.00023006864044661398 +7610 -0.0005505970227651858 -4.386660304843743e-05 0 0 0 -6.975124500031581e-05 +589 8.991170513825084e-05 0.00021674008061763652 0 0 0 -3.6275694994215336e-05 +5350 -0.0002512812016121781 0.00019925192209573918 0 0 0 -0.00011831530437329021 +7630 -0.00023509081144374268 -0.0002732334513724659 0 0 0 9.088542212573929e-05 +2021 4.848463957715402e-05 0.000256147796416978 0 0 0 1.6902413592800157e-05 +7671 -0.00010728216027545356 -0.000280721332610396 0 0 0 -1.1684869869678021e-05 +9703 0.00014333161076187086 0.00026656227912299476 0 0 0 -4.821841181669514e-07 +7734 -0.0005487694361809501 -5.5095193047052485e-05 0 0 0 -2.685764953149078e-05 +7793 -0.0006983730446571497 -9.837384254069135e-05 0 0 0 1.7116189049765867e-06 +7892 -0.00021954359768935812 -0.0005267096739369388 0 0 0 -9.114105127678313e-07 +7903 -0.0016557273574036603 0.0017995392132404725 0 0 0 -0.00037688358358954876 +7957 -0.000742945854261921 -0.0003656028583158787 0 0 0 -0.00012902178066156455 +8065 -0.00024167539661791582 -0.0005145637124852686 0 0 0 -1.4414441001586556e-05 +2060 -0.0008994508498635083 -0.00047512900388694564 0 0 0 0.0007171649768669154 +8112 -0.0005535136126708311 -2.9067665265752983e-05 0 0 0 9.366185239968603e-05 +8128 -0.00045715938922634414 -0.0003403342923695358 0 0 0 -8.502774046412176e-05 +9947 -0.00029998875570459054 -0.0001738459725776598 0 0 0 0.00020685758495806998 +8166 -0.0006261343328392996 -0.0002746347805845835 0 0 0 -7.843862626596244e-05 +2033 7.969659956553193e-06 0.00043888761020051165 0 0 0 0.00011200508741495484 +8212 -6.455585654440122e-05 -0.00027880948959623734 0 0 0 6.921463404868821e-07 +8245 -0.0006924199461313385 6.109440329578047e-05 0 0 0 -2.7351670735532724e-05 +8280 -0.0007225785020953525 -0.0003835292091514171 0 0 0 -0.00014201335160243998 +8305 -0.0007352826726725637 -0.00012080312281738162 0 0 0 2.181292341496693e-05 +8331 -0.0008276853988419367 8.791931472749526e-05 0 0 0 9.67254623515873e-05 +8341 -0.0008038672147911742 -4.509964267087259e-06 0 0 0 1.7461313665936114e-05 +8378 -0.00031626303687930154 -0.00043216125466570077 0 0 0 1.0894471529622313e-05 +8395 -0.0003789625308817967 -0.00038343084504381404 0 0 0 -5.6077078805471756e-05 +6244 -0.0002533556955323043 0.00024716710293566196 0 0 0 6.151842589548098e-05 +8419 -0.000868932029994447 -0.0003270523961182477 0 0 0 -4.1731743801729006e-07 +8520 -0.000158514551406365 -0.00046246186383160326 0 0 0 7.152669022799041e-05 +8554 -0.0007818619633021109 -0.00024254549605185532 0 0 0 -8.43681134302353e-05 +8567 -0.0006775911113417706 -0.0003144762748106439 0 0 0 0.0002630494707566234 +4888 -0.0004654061486246023 2.571308173282669e-05 0 0 0 3.144163484100976e-05 +8652 -0.00013889348996775432 -0.00027429330311385986 0 0 0 8.378253832461602e-05 +8700 -0.0006828040638476565 -0.0005345064527028549 0 0 0 -4.849867381566259e-05 +8711 -0.0004977278098747175 -0.0002278311352936216 0 0 0 -3.069748313972796e-05 +8752 -0.000764981587239715 -4.50162168551194e-05 0 0 0 7.485533349366701e-05 +8899 -0.0007034093818165314 -0.0004527091153214815 0 0 0 0.00010459100280536913 +8905 -0.0005516774455149489 -0.0001057366107396537 0 0 0 -2.0254407596031453e-05 +8914 -0.0008859620391925198 9.647224693704547e-05 0 0 0 -3.6576186845648667e-06 +9958 -0.0005146281228062163 -0.0002432379462275638 0 0 0 7.32102872497087e-05 +7532 0.00015806029382349832 -0.000419845841524697 0 0 0 -9.117533550778377e-06 +8964 -0.0008505925084220985 0.00012102347428525484 0 0 0 -4.930719640134718e-06 +8979 -0.00023387210184486933 -0.00040685378847673707 0 0 0 0.0001759694145960128 +8987 -0.0005926973640587171 -0.0007381583083841186 0 0 0 0.0001416996531722548 +2392 -0.00045436581628534653 0.00032467976334657836 0 0 0 1.804293318085503e-05 +9006 -0.0006176667122362253 -0.0001671622339724926 0 0 0 6.642724325566879e-05 +9015 -0.0008977165612306003 -0.00036334379774376283 0 0 0 -0.0007931529893889605 +9025 -0.0004973588001026186 -0.00020735918618748514 0 0 0 0.00044405936522647456 +9090 -0.0007077483117796032 -3.63024508256815e-05 0 0 0 -6.8556526958128885e-06 +9131 -0.00010486595105420012 -0.000312762118042347 0 0 0 0.0003913448981118928 +9201 -0.00046702230760308215 -0.000534709548100436 0 0 0 -8.50154538104984e-05 +9211 -0.0008078531404158826 -0.00038066694344665553 0 0 0 -5.014654632383104e-05 +9229 -0.00030830118909021183 -0.00034126294417911515 0 0 0 -2.23921398281578e-06 +9250 -0.0003546233782008608 -0.0007407498696570183 0 0 0 -0.0003511539980532068 +9314 -0.0007356990082078362 3.6002956312362697e-06 0 0 0 4.615342083963518e-06 +9326 -0.000599987043447741 -0.00018740736361721777 0 0 0 -7.655950305332641e-05 +7211 -0.0004021357015425931 0.0003526662570198712 0 0 0 -4.228739740050009e-05 +9421 -0.000743578283968885 -0.00040985495153110236 0 0 0 3.979502530542419e-05 +5548 -0.0008567609031049066 2.9113076032254132e-05 0 0 0 7.464523778071176e-05 +9487 -0.0005657923616236286 -0.0005529117373203935 0 0 0 -8.294702883831375e-05 +9505 -0.0008334719320401317 3.8326944662489724e-05 0 0 0 0.00011194667840382017 +9521 -0.0009456588008708404 1.1729737397113932e-05 0 0 0 -5.836603904829711e-05 +9247 -1.5367448822387096e-05 0.0002765885297421061 0 0 0 -0.00010337772179361454 +9592 -0.00037300667682687086 -0.0005790158258273013 0 0 0 3.897478289923298e-06 +306 -0.00028830545170960487 0.00013227928233833436 0 0 0 7.02457855681038e-06 +9619 -0.00034062774522524884 -0.00038063917515414867 0 0 0 -4.804444930645602e-06 +3394 -2.551543584778191e-06 0.0003267879592528811 0 0 0 1.2789485490534636e-05 +8452 -8.476250742928984e-05 0.0002816703959901263 0 0 0 0.00035958262020421107 +9769 -2.7192520386893157e-06 -0.0003464872826684776 0 0 0 0.00021485732606590967 +9849 -0.0006575338834915265 6.786977910883589e-05 0 0 0 -5.9210968112915454e-05 +4339 3.703058076858422e-05 -0.00015122764212082858 0 0 0 0.000190964943672776 +1964 -0.00013985171965911277 3.5897627636861766e-05 0 0 0 -0.00011878904020838272 +7244 -0.0008401321240115656 3.150976124401317e-05 0 0 0 2.3435974780078214e-05 +2762 2.9822593438156388e-06 0.0002171378843792193 0 0 0 0.00022753295647910918 +6957 -0.00035295301287966476 -3.6158814619312966e-05 0 0 0 -7.193424343262256e-05 +1749 -0.0002767990626011245 0.00023971574469183914 0 0 0 4.658592289998215e-05 +1822 -0.00033139812758690285 0.0002320778157972975 0 0 0 2.9505263846264914e-05 +3484 -0.0005255548071359009 8.28374054900186e-05 0 0 0 6.0756387756878485e-05 +7854 -0.0008349517608546238 9.651007797701231e-05 0 0 0 -2.125217173184229e-05 +2827 -0.0005851486608395368 -0.00012580856181722795 0 0 0 7.634057916143763e-07 +4644 6.609267040714766e-05 0.0002537863448882054 0 0 0 1.6283398002706212e-06 +8531 -1.1053355138178328e-05 0.0002513094122122591 0 0 0 1.7194442619928436e-05 +7300 -0.0005012197802316204 -0.00033869459012819615 0 0 0 0.0001735701260952048 +6591 -0.0008689988335275168 9.79455015756601e-05 0 0 0 -3.216769563207823e-05 +2445 -0.0001864772789596789 -0.0002772077683518813 0 0 0 1.7095704136383642e-05 +334 -0.00038371176029360337 0.0003759616756838957 0 0 0 -4.87555930360429e-06 +9377 -0.0006905070456747075 -7.942457451890771e-05 0 0 0 -4.586500257562594e-06 +7698 -0.0007166417548121752 -0.00017693591651295507 0 0 0 -5.710805964956041e-05 +6218 -0.0008697977700057719 0.0001413678151444548 0 0 0 1.6362947876974838e-05 +9547 -0.0010428176352477582 0.0002408871061287117 0 0 0 -1.5224798360798144e-05 +33 -0.0013261576102042477 0.00034905251810506794 0 0 0 -4.471476313525792e-06 +47 -0.0010818531912989903 -0.0002160321144453956 0 0 0 -3.551547300581748e-05 +84 -0.00121494022989266 0.0004978720808498729 0 0 0 -7.237686253795788e-06 +9685 -0.0012342703784716802 0.0002946539666074529 0 0 0 -0.00011474236842940806 +102 -0.001400407357234018 0.0005765718671126018 0 0 0 -8.593865425717758e-06 +9278 -0.0009801694711886195 -0.00032447995229745456 0 0 0 -9.020267680492016e-05 +209 -0.0010382790499436152 0.0002612859321055538 0 0 0 7.208687758847141e-06 +2136 -0.0007689793085039023 -0.0004763104146198824 0 0 0 -2.195340181649776e-05 +2583 -0.0009227285941991395 0.00014673332972144334 0 0 0 -1.5056077019555523e-05 +382 -0.0013726726162816612 0.000491951733344497 0 0 0 -8.085172797321783e-06 +414 -0.0011048856393929966 -0.0002861395383941028 0 0 0 -3.3271497630970245e-05 +452 -0.0013269404170150835 -1.0689325950565472e-05 0 0 0 -8.794681838331897e-05 +2471 -0.0009599444335921101 0.00021128312996821798 0 0 0 2.308448598073379e-05 +491 -0.0011227476377252395 -0.0006229585262694115 0 0 0 -1.119832243356755e-05 +8634 -0.0007921073435026812 -0.0005365179927502584 0 0 0 0.00010806892942490821 +4806 -0.0007428439584860662 -0.0005013009303894066 0 0 0 -3.2471507803603415e-05 +553 -0.0009263471226629793 0.00026704301918711084 0 0 0 -3.239711334347031e-05 +560 -0.0011736932559970078 -1.1597116252249646e-05 0 0 0 -1.213652411149952e-06 +63 -0.0006730116962401074 -0.0006981897646335899 0 0 0 -2.9899369980647047e-05 +646 -0.0008962623636393373 0.0003775037800737245 0 0 0 -4.187457372444578e-05 +651 -0.0009568850262216888 0.0001907228140066929 0 0 0 -2.4395046627094973e-05 +653 -0.001246351695201545 0.00014364231487681733 0 0 0 -2.3114553908101572e-05 +656 -0.0010735368467628184 8.60509998184377e-05 0 0 0 -2.753330669411903e-05 +667 -0.0010450710325845577 -2.4015183252629826e-05 0 0 0 2.7552914670148046e-05 +122 -0.0010068908567538019 4.021476686703364e-05 0 0 0 8.035871458149378e-07 +709 -0.0010954098741292253 0.0004072339394801863 0 0 0 -4.279373829053108e-05 +718 -0.0010733596345867341 -0.0003942009985479652 0 0 0 -2.187215276679013e-06 +720 -0.0011128517493429883 -0.0006630821687569437 0 0 0 -4.7537847600575585e-05 +731 -0.0008953161810339005 -5.557168081544296e-05 0 0 0 -6.526069688943746e-06 +732 -0.001029407722444016 -0.0005746449511711302 0 0 0 -1.545237278381098e-05 +734 -0.0012291040246415093 0.0003264616852143351 0 0 0 -2.8718077729886183e-06 +747 -0.0012006306132673725 0.0003053016458014481 0 0 0 4.491589475943421e-06 +804 -0.0011410289081601479 0.0003613262879947215 0 0 0 -4.8359228297937354e-05 +817 -0.0010218209043993658 0.00021684795639859657 0 0 0 5.569447533228865e-06 +845 -0.001088490560800673 -0.0006033464338985005 0 0 0 -5.047616580806928e-05 +861 -0.0006658384820784063 0.0001295486756240743 0 0 0 -3.938693498251951e-05 +885 -0.0013038327395228867 0.00048389450312417027 0 0 0 -1.8772946948223444e-05 +887 -0.0012825816277822516 -0.00023158205049191773 0 0 0 3.5691844238757144e-05 +891 -0.0010563000574022544 -0.0004910048602764234 0 0 0 -9.237186471123254e-05 +1110 -0.0010450420781773378 -0.0006100426802924959 0 0 0 -3.9781439783715356e-05 +976 -0.0010550655645213236 -0.00023372447546958887 0 0 0 -4.659832738996871e-06 +984 -0.0010355458753760684 -0.00028715820886059514 0 0 0 -1.04467812775096e-05 +5833 -0.0006980036581580928 -0.0004945657919632001 0 0 0 1.894369005834265e-05 +999 -0.0012580359011752928 0.0001103375020546727 0 0 0 -5.356050145311145e-05 +1051 -0.0010951572831924123 0.00021984165849349413 0 0 0 -5.074976082359584e-05 +1066 -0.001365151034021011 0.00035063055789074163 0 0 0 4.2650718716894816e-05 +1073 -0.0011798997185879338 0.0002877789774888845 0 0 0 -2.1192683004543632e-05 +1102 -0.000895719635979341 3.827296631025107e-05 0 0 0 -5.2497612632698324e-05 +1125 -0.0008102617569677878 0.00044419027275614234 0 0 0 -4.336545290471444e-05 +5457 -0.0009195082837129334 0.00018936903760141677 0 0 0 2.613241812305818e-05 +1190 -0.0004623886112488588 -0.00010424174169035603 0 0 0 -2.050395587842999e-05 +60 -0.0005390246823682558 -0.0003531673081981103 0 0 0 -4.858643866683542e-05 +1223 -0.0013712184743685958 0.0005781236448747402 0 0 0 -4.911875397345051e-06 +1230 -0.000833926054501875 0.0004376530161938681 0 0 0 -2.0976868854000167e-05 +1242 -0.0010804835541713175 0.00037107278952083295 0 0 0 4.5127704032223745e-05 +1276 -0.001147396409504084 -5.205792105702447e-05 0 0 0 -1.0416337357033607e-06 +1282 -0.0011900467786332925 0.00039743177598957095 0 0 0 -8.17733244356918e-06 +1364 -0.0009855618420008354 0.0005109328128322337 0 0 0 -4.9006567874718296e-05 +1396 -0.0009956328711897972 0.00025019200074399606 0 0 0 -1.9154273233162797e-05 +3620 -0.0009951646119463167 0.00023498626345331203 0 0 0 -6.638644459499271e-05 +1484 -0.0005241901093124935 -0.0001350531692082695 0 0 0 -4.3179557304732664e-05 +1527 -0.0010873978049114712 -0.0002676376676581402 0 0 0 -6.478279201356354e-05 +1584 -0.0010560147303824024 -0.0006474239399485168 0 0 0 -9.45120694401156e-05 +1592 -0.0008523122260667268 0.00014590672149615723 0 0 0 -4.460422204338052e-05 +9337 -0.0010679835590883054 -0.0005948864735426788 0 0 0 0.00015765794978306558 +5171 -0.0010123329305405868 0.0002483619241514777 0 0 0 7.104769299382919e-05 +4445 -0.0011488880007827023 0.00023434352094815238 0 0 0 0.00011429335223602224 +8929 -0.0010758970930865668 -0.00018808403695964738 0 0 0 -7.301804773101471e-05 +1616 -0.0009539261041023196 0.0004043226234824317 0 0 0 -7.094264036013377e-05 +5747 -0.0009647397731356367 -9.827961956648278e-05 0 0 0 -0.00013450310564002338 +1630 -0.000993425346661918 -0.0001272677521153074 0 0 0 -9.884043896881217e-05 +9669 -0.000918247403508863 -1.4518994358144009e-05 0 0 0 -3.247118639003016e-05 +1730 -0.001027734845332554 -0.0004918473335494479 0 0 0 -5.292830420440906e-05 +1737 -0.0006240903891812762 4.821538037371571e-06 0 0 0 -2.6151236003957948e-05 +8631 -0.0008886698265609204 -0.000144407746562304 0 0 0 -0.00027008874915989567 +1766 -0.0008463281422101966 -4.6139140245229336e-05 0 0 0 -5.356403673804463e-05 +1774 -0.0009262659720813352 0.00045154796902677425 0 0 0 -1.8779579264880837e-07 +5107 -0.0010447103725841607 0.00020820708877603548 0 0 0 -1.675898353106184e-05 +9716 -0.0008291801257774727 0.0005556216921986792 0 0 0 0.00019561381253810144 +1867 -0.0013770705302285364 0.0005889288700129371 0 0 0 -1.1718085290103005e-05 +1893 -0.0007377500340129552 -0.00011751449125090233 0 0 0 -7.575484193883887e-05 +9808 -0.0012808193392261644 0.0005929896361509001 0 0 0 4.3916651469754496e-05 +1912 -0.0008359661049102273 -0.00010714646791612548 0 0 0 -5.351671330223778e-05 +1933 -0.0010115520586821297 -0.0004284656888440355 0 0 0 1.4097538743870466e-05 +1934 -0.0014087990145337517 0.0005998696312594614 0 0 0 3.883048677602458e-06 +1309 -0.0011145581551583184 -0.0006100951510150208 0 0 0 1.7908946212730884e-07 +342 -0.000995708902703014 -0.0003280598902758959 0 0 0 -3.0486417366860456e-05 +2020 -0.000691293289190221 -2.553858320472979e-05 0 0 0 -6.349520754052964e-05 +2034 -0.0013693998882588173 0.00021605113013304243 0 0 0 -2.6409414050074162e-05 +6823 -0.001010983092043119 0.00016369240957159992 0 0 0 -9.344755100099783e-06 +9814 -0.0007953670262281146 0.00027691467518869457 0 0 0 -7.496911768921903e-05 +2102 -0.0011428092016011325 -0.0006633488882803421 0 0 0 2.693237443378539e-05 +9878 -0.0007912078936575785 -0.0006971119373901062 0 0 0 3.640521424258665e-05 +2149 -0.0010720666387099718 -0.0003541435046556959 0 0 0 -7.153114116944133e-06 +2174 -0.0006291157644199211 -9.842638376505761e-05 0 0 0 -1.8576917479139848e-05 +2185 -0.0013581258243572781 0.0004704376442677888 0 0 0 1.5217504521121617e-05 +9001 -0.0009740050197936527 2.3654601074001692e-05 0 0 0 -5.362356566854172e-05 +2229 -0.001212114656902197 0.0004018202638339309 0 0 0 6.752147656563885e-05 +3504 -0.000983729976298962 0.00024684410836900894 0 0 0 6.161638336885688e-05 +9761 -0.0010677323332489897 -0.0004339580795986633 0 0 0 -3.767978407301423e-05 +2237 -0.001028366691652043 0.00013209288112068043 0 0 0 8.279441351273199e-06 +2246 -0.0010551743098632265 0.0002610193346725578 0 0 0 5.559096098387102e-05 +5110 -0.0009950221642259342 -0.0005184691034534213 0 0 0 -4.8897572199327006e-05 +2265 -0.001325927861559419 0.00047511113037457584 0 0 0 -2.740239501642883e-05 +2266 -0.0006779442772583579 7.277398636076005e-05 0 0 0 -3.106885672153096e-05 +2330 -0.0013367171496623464 0.0005978655739637881 0 0 0 3.879769122928103e-06 +2351 -0.0007711455046063238 -0.0001472236400235244 0 0 0 -2.333427278353901e-05 +2424 -0.0010189638610835726 0.00022240454977626062 0 0 0 1.455321881765294e-05 +2492 -0.0014108305267219279 0.00015102719644583502 0 0 0 6.201834261399249e-05 +2520 -0.0010403161310647538 -0.00029533544204504426 0 0 0 -8.037311212098366e-06 +2535 -0.0009203457558687049 -0.00048110734804170926 0 0 0 -3.5610129338395e-05 +1761 -0.0009434584487748141 0.0001959192960324878 0 0 0 -1.1770147359107451e-05 +6627 -0.00033594809541284405 -2.250537367852348e-05 0 0 0 -0.00010854176760967162 +9572 -0.0009897422865949267 -0.0005531489616841555 0 0 0 -9.871513238478038e-05 +9596 -0.0014845726174902694 -0.0010275212759174618 0 0 0 0.001003943653524795 +2682 -0.0011883479188890245 0.00016012623375108787 0 0 0 -4.092449737697874e-06 +5746 -0.0010839865833475414 -0.00013729939105782803 0 0 0 3.193131533070426e-05 +2766 -0.0008079276128492124 4.240831404087754e-05 0 0 0 -2.998477101103467e-05 +2794 -0.00124973160096003 0.00040744387076593024 0 0 0 -2.863703908686015e-05 +2801 -0.0005944835942950117 3.763872304718991e-05 0 0 0 -7.818233432906593e-05 +2839 -0.00103928000158547 -0.00047906909994178064 0 0 0 -0.0001212264697087758 +2816 -0.0009810244417744127 1.3109461559937425e-05 0 0 0 4.021393345142085e-05 +2852 -0.0007931809255094238 0.0005050399593576107 0 0 0 -6.27255045641201e-05 +2891 -0.001010847601031585 -4.436852602295268e-05 0 0 0 -1.4212905817435982e-05 +2917 -0.000405133648425455 -0.0001697994865159486 0 0 0 -1.7898256110664252e-05 +2199 -0.0010065804805280013 0.00011506492194804355 0 0 0 -2.9093094299362973e-05 +3003 -0.0005913825540417457 1.4810618042317857e-05 0 0 0 4.295950712811043e-07 +3037 -0.0011504559886166836 -0.0005683061077787536 0 0 0 -0.00014416611164065813 +8664 -0.0011054141286077842 -0.0005457071875521679 0 0 0 -2.4877693172228447e-05 +9189 -0.0012733414275343065 6.765620506761625e-05 0 0 0 7.24609631984226e-05 +6008 -0.0010248052457701932 0.00021619987532861106 0 0 0 0.00010510706900990839 +5472 -0.0009435058299047989 0.000177098971985264 0 0 0 -2.8228796104742326e-06 +3117 -0.0005852494716740884 -9.74064991833975e-05 0 0 0 -2.287712142860645e-05 +3133 -0.0010374288473124927 0.0005268506611740964 0 0 0 1.5468956089858808e-05 +3155 -0.0011355800391683244 0.0002974390159245239 0 0 0 -4.378708816785651e-05 +4586 -0.0011475777708395535 -0.0006513912889776392 0 0 0 -4.343813601166367e-05 +3140 -0.0008642601108118462 -0.00037202329215720655 0 0 0 -2.65982189190522e-05 +4609 -0.001030466632460203 0.00018483148590536753 0 0 0 3.706297663292223e-06 +9795 -0.0018516799705771486 -0.0008863539213598711 0 0 0 -0.002293019666018331 +3407 -0.0010734028061452608 5.653091438898577e-05 0 0 0 -3.0091994947104817e-05 +3421 -0.0009612996889954839 -0.0004763924830965781 0 0 0 -1.5052020411682206e-05 +3452 -0.0011807109407431418 0.00014609649860469493 0 0 0 2.808468212115154e-05 +3486 -0.000979722102233529 9.216912028457098e-05 0 0 0 -3.181194791269409e-05 +3490 -0.001115125057834113 -0.0005690988953418875 0 0 0 -2.901755718046034e-05 +3509 -0.0007414156908215108 0.00010766004163695111 0 0 0 -6.655509564051638e-05 +8076 -0.001042733216888999 -0.00010085541880039921 0 0 0 -0.00012413628456490325 +3526 -0.00045496688293184716 -4.781743045179107e-05 0 0 0 -0.00011249588946220455 +407 -0.0010286335220628258 0.00018508191949197236 0 0 0 -1.9962465731735597e-05 +3552 -0.0013734072065609022 0.0005133321955643949 0 0 0 -2.1120417767324655e-05 +3564 -0.0012559046164561396 1.4286371856051876e-05 0 0 0 -8.586684284883053e-05 +3575 -0.0009647903237455477 1.7253449789602108e-05 0 0 0 -7.727815553748957e-05 +3588 -0.0013080708311301744 0.0005547254346234752 0 0 0 -4.8963858384586804e-05 +3599 -0.0013559879245267385 0.0004156669728778885 0 0 0 -2.2867394052675167e-05 +3637 -0.0004392741340743697 -0.0001557996347786733 0 0 0 -2.7506251614565857e-05 +3647 -0.001393800559183281 0.000459575941991307 0 0 0 -1.3013918855624806e-05 +9549 -0.0014493330901797392 3.400595867300463e-05 0 0 0 -0.0003710182129581548 +3701 -0.0010470929570486932 -0.0004382481253174893 0 0 0 -5.8759240509226566e-05 +3735 -0.001188050928400021 7.459430066229259e-05 0 0 0 3.214798496615425e-05 +3755 -0.001219436013464796 0.00012455417107298824 0 0 0 -1.7959124998192483e-05 +3758 -0.0011962688231681644 -0.0004116690109945014 0 0 0 3.752746588843528e-05 +8949 -0.0013315415549152681 0.0004919019905722002 0 0 0 -5.5494295805939043e-05 +3787 -0.0010572217334480767 0.0004503754975648354 0 0 0 -9.734811542492656e-05 +8404 -0.0010540643653805487 0.0002599441304254663 0 0 0 -5.2539472085995756e-05 +7651 -0.000986651175286661 0.0002628831404665836 0 0 0 -4.319525891374751e-05 +3896 -0.0011413090338739226 -9.560331398480326e-05 0 0 0 -0.00012592038563914327 +3907 -0.001304106644779701 0.0005184475335038343 0 0 0 -1.4762574405544702e-05 +3918 -0.0008382230633287282 0.0003769792981867061 0 0 0 2.8217874771179136e-05 +992 -0.000839346326566518 -0.00015432885003724433 0 0 0 8.971673232412986e-05 +3985 -0.0009212293258203429 -4.847814546111395e-05 0 0 0 7.356869309925999e-05 +4165 -0.0006359509137941108 -0.0038726607427572316 0 0 0 -0.0011159735021457357 +4173 -0.0008902937034342343 -0.0004467649925779594 0 0 0 -7.307492932015723e-05 +8169 -0.0008683965444294683 9.329226187347003e-05 0 0 0 -2.8395045846871118e-05 +4242 -0.0009793302494207196 -0.0004360891503421145 0 0 0 6.483568017538174e-05 +4256 -0.0009751974234060248 0.0005503485974628548 0 0 0 -4.475826165418278e-05 +362 -0.0009447555316917683 0.00017360232511577425 0 0 0 1.5296692178103212e-05 +4295 -0.0013355489476194404 0.00021772102528899945 0 0 0 -8.217645851629807e-05 +4296 -0.001111909444136753 -0.0002940853372948355 0 0 0 -2.235942107818431e-05 +4308 -0.001182641995150407 -6.374216762915041e-06 0 0 0 -0.00010723204875483454 +4309 -0.0010154403428102574 -0.0006737839667366322 0 0 0 -0.00025794202443884374 +1306 -0.0010884107319352198 9.457198739284854e-05 0 0 0 -9.444976369102585e-07 +75 -0.001043216656938662 0.00026823150666349893 0 0 0 5.245287420461813e-06 +4412 -0.00098261616440392 0.0002118503901581229 0 0 0 1.1602951679446354e-05 +4473 -0.0010550731841105247 -0.0005427045447650582 0 0 0 -5.258221504602461e-05 +4475 -0.0010419448388500428 -3.754858626824956e-05 0 0 0 2.2683554603048964e-05 +4515 -0.00038716657946070976 0.0005806303873735367 0 0 0 -0.0002760268228013765 +4557 -0.0011491762125530284 6.176860109988923e-05 0 0 0 -3.85345442333235e-05 +6850 -0.0012287273280061652 0.00020788907528139288 0 0 0 -6.218470641884474e-05 +6042 -0.0013751012428975277 0.0006106520575983986 0 0 0 2.420266394843293e-06 +4592 -0.000877058639763377 0.0001948361880210983 0 0 0 -4.262771789505742e-05 +4700 -0.0012114757206522595 0.00013554161929544195 0 0 0 -0.00010073003143144757 +4701 -0.0007614898267580026 5.559762709335923e-05 0 0 0 -6.505158456522832e-05 +4736 -0.0013654436895969909 0.00045986840323049505 0 0 0 -5.43107289790413e-05 +4741 -0.0013717423378957093 0.0003718746450400859 0 0 0 -3.6672095397936957e-05 +4750 -0.0010326663245537556 0.0002294996757495752 0 0 0 1.4515669084880156e-05 +4843 -0.0012698178894312857 0.00043001981389102534 0 0 0 -6.119372173792808e-05 +4864 -0.0010817070530095268 -0.00024158132578390543 0 0 0 3.230162713968141e-06 +4900 -0.0013402334841031687 0.00022272746631285252 0 0 0 -4.04799512860082e-05 +4932 -0.0009423028561283439 -0.0002635803190272505 0 0 0 1.6565152196445366e-05 +4959 -0.0013710999851830818 0.0005761860940071999 0 0 0 1.2816645974415081e-05 +5224 -0.0014413528631875639 0.0006131434423719057 0 0 0 3.969237994824319e-05 +5009 -0.001064898945308371 -0.0002481719947760629 0 0 0 -1.1616143516210133e-05 +5013 -0.001040767108658176 0.00046892710259035944 0 0 0 -3.8006506617410676e-05 +5040 -0.0007611667411463923 0.00042331920701818793 0 0 0 -1.7552124223736822e-06 +5128 -0.0008048311800425404 0.0004669627802792765 0 0 0 5.594092619105205e-06 +9651 -0.0006246435030251319 0.00032239480480651287 0 0 0 -7.172885959998597e-05 +8005 -0.0012834464607171879 0.0005820115725601161 0 0 0 -9.346534842080877e-05 +7096 -0.0007738713370932893 -0.00043259343662871457 0 0 0 -0.00013223606663340557 +5201 -0.0013855710473556922 0.0004965470716864913 0 0 0 -3.459800355906159e-05 +9269 -0.0006171204056975282 -4.985151634391587e-05 0 0 0 -4.4152799831511034e-05 +5250 -0.0010604709717356095 -0.0006349023817577929 0 0 0 6.691545890173053e-05 +5267 -0.0012849427223802184 0.00039381724766349244 0 0 0 4.523558088210586e-05 +9941 -0.0010784124692660214 -0.0006039879078989454 0 0 0 4.556713856180574e-05 +5325 -0.0012714133163814958 0.00044258085836010796 0 0 0 -3.228268578686452e-05 +5334 -0.00138364831183745 0.0005945515756073752 0 0 0 -1.9162916853144936e-06 +5369 -0.0007251084157475773 0.00025247538210733834 0 0 0 -3.436637767727755e-05 +5450 -0.0012785076474155694 0.00043896364635171207 0 0 0 0.0001246132517044183 +5481 -0.0012389545836291164 0.0002958752995702192 0 0 0 -4.1298670452829705e-05 +8382 -0.0008232748335495004 -0.00035393823292142015 0 0 0 -0.00043307574853942846 +1712 -0.0008999965686511294 0.00016370454008796537 0 0 0 1.469799763420103e-05 +968 -0.0010469188861040625 0.0001971489544228493 0 0 0 -1.539019190903606e-05 +5553 -0.001040154984052283 4.0707436865859584e-05 0 0 0 -2.822399248094137e-07 +5574 -0.0009365281627827443 -0.00033144183377692584 0 0 0 -3.444032933265099e-05 +5602 -0.0010031430707105426 0.00031337744416527654 0 0 0 -0.0001110292908625829 +5614 -0.0014237129660751747 -8.518222981803537e-05 0 0 0 0.0002819864548719597 +5628 -0.0013796196338415306 0.0004285774515503764 0 0 0 -1.4355726972126512e-05 +5634 -0.0006299829416730778 0.0003106129677627603 0 0 0 -0.00015003909863069327 +5690 -0.0009328930928262022 0.0001535601046851579 0 0 0 7.437862785770053e-06 +3162 -0.0008583498699358591 8.974580465340734e-05 0 0 0 -2.9546280540786553e-05 +5705 -0.0010479961419029155 0.00024505234537363843 0 0 0 -1.7035410934304195e-05 +5720 -0.0011083145804515603 7.499655938373784e-05 0 0 0 6.749491058877103e-07 +988 -0.0010215157918797605 0.0001472538278253174 0 0 0 -1.241935618551963e-05 +67 -0.0008658656775855266 1.857993507037469e-05 0 0 0 -2.2029714195245447e-06 +4150 -0.0010477070467506818 -0.000629311575145681 0 0 0 -0.0001686399219997062 +4711 -0.0010466457724195484 0.0002156513529944455 0 0 0 -2.780097045998911e-05 +5775 -0.00113647271031931 -0.0005742164034027112 0 0 0 -2.2700132508568343e-05 +5790 -0.0005604182318045618 -6.454490108964105e-05 0 0 0 -6.872627432054857e-05 +5823 -0.0010485701818130368 -0.00047392300105225096 0 0 0 4.0317862480441504e-05 +5840 -0.0013879378802410106 0.0005876507787770626 0 0 0 -1.0721267892175973e-05 +5874 -0.001163203352045269 -2.5108049860934084e-05 0 0 0 5.6776217592972835e-05 +5916 -0.0007617994981678311 0.0003231291959065147 0 0 0 -7.5282850988449e-05 +5919 -0.0012968158873421338 0.00010571441758233962 0 0 0 -4.2236548170907985e-05 +5926 -0.0008487106539064878 -9.583569867588008e-05 0 0 0 -3.447065737935651e-05 +5997 -0.0009670336857954857 0.00032472623416321064 0 0 0 3.685657179158856e-05 +6007 -0.001022984040802033 0.00025636360769510134 0 0 0 -4.5803059544674043e-05 +6013 -0.0009922409759551146 0.0004370840453080131 0 0 0 -2.262312725750113e-05 +6359 -0.0009278947366571719 0.00019882989071248018 0 0 0 -3.642418252253673e-05 +6056 -0.0008209067899271798 0.00047414654460182387 0 0 0 -3.186877888571039e-05 +6104 -0.0014089759776342232 0.0004992943090449648 0 0 0 -3.5464220917501165e-06 +9921 -0.0012532477056829046 0.0003453088846496615 0 0 0 0.00010623367143627313 +6142 -0.0009465302801502978 0.00020505158454257915 0 0 0 8.833485728739233e-06 +3566 -0.0004602934474678376 -0.0005302148754011969 0 0 0 1.7686758227241918e-05 +6175 -0.0011600875379107057 -0.0006254078806193997 0 0 0 2.00588919105726e-05 +6198 -0.0013016603192791212 0.0004691769900114473 0 0 0 -2.6775089298746146e-05 +6237 -0.00210532271401223 -0.000968928800925018 0 0 0 0.0012649799990843004 +6239 -0.0010326020203841857 -0.0005792601116744251 0 0 0 -0.00023773999297568163 +6268 -0.0009899066605151023 0.00032432488442562846 0 0 0 -2.6057274275319685e-05 +6280 -0.0013548428413736064 0.0005000310429074372 0 0 0 1.3003555373861871e-05 +6324 -0.0009330803505427886 -7.999395676471578e-05 0 0 0 0.00020380651402199322 +5086 -0.0002567432351355375 -0.00040519719466287994 0 0 0 4.16181804430627e-06 +6338 -0.001062193715328559 -0.0003582911930551957 0 0 0 -8.386453256061997e-05 +6355 -0.0012497982318129032 0.00037339670841821153 0 0 0 -5.146552188170215e-05 +9274 -0.001134975102525682 5.9350633002180796e-05 0 0 0 -4.8197329542615696e-05 +6409 -0.0013048483021712747 0.00047760398584352444 0 0 0 2.2901841028752923e-05 +3128 -0.00046305365899662187 -0.0005942162995111782 0 0 0 -7.461164258698881e-05 +8839 -0.0006091783445097893 0.00020981859774982844 0 0 0 -0.00020242993429976406 +6470 -0.001142221074691432 -0.0001859626443670326 0 0 0 3.7264851940753405e-05 +9107 -0.0008431609478312632 0.00030349879028321444 0 0 0 -1.2358651860983629e-05 +6482 -0.0009608350540183568 -0.00045569743968779553 0 0 0 -8.097759496486409e-05 +6484 -0.001443230951632984 5.023682719481915e-06 0 0 0 0.0002725600916732352 +6509 -0.0009564693108313148 0.00022090032640726095 0 0 0 1.4922606033315317e-06 +9046 -0.0010897411562545928 -0.0006960588805790235 0 0 0 -0.0001285869384252466 +9535 -0.0013530465067207475 0.0005640822154004589 0 0 0 -1.7978886751573042e-05 +5082 -0.0009817589156080897 0.00020114137592716066 0 0 0 2.0977767803348704e-05 +6572 -0.0010404087094700808 -0.000499693949197771 0 0 0 7.388420900801417e-05 +6612 -0.0007104099643808529 -0.00027900113748203636 0 0 0 -0.00024924908604376564 +1233 -0.0008932572429092386 0.00017635233873598868 0 0 0 -1.0343310586830528e-05 +6633 -0.0010342823987653526 -0.00026684235246050934 0 0 0 -5.208545628631671e-05 +8722 -0.0012481354122412158 0.00039395093955153706 0 0 0 -6.4262785064365925e-06 +6653 -0.0010887266895579573 -0.0005676931482426215 0 0 0 -3.3394818251727286e-05 +9665 -0.0010547756969126708 0.0001987312572005659 0 0 0 3.002929054033303e-05 +6675 -0.0010200203477368059 0.0003334355700958869 0 0 0 -2.2591382537377654e-05 +1795 -0.0010490082283958937 -4.891998982145437e-05 0 0 0 -5.4699679614737424e-05 +4828 -0.0009094587493344812 0.0001204596799017635 0 0 0 2.512117167152775e-05 +9742 -0.0011978832661024715 0.000320422438315148 0 0 0 0.0002784063446532124 +6742 -0.001043680122246867 -0.00040630999467314625 0 0 0 9.419636575554612e-05 +6751 -0.00045416294244429815 -0.00017121155171769185 0 0 0 2.7015237030970543e-05 +6781 -0.0009792971000337906 -0.0005011812169758555 0 0 0 -6.407682934928417e-05 +2921 -0.0011441012300314247 0.0005639982674188203 0 0 0 1.698748177482473e-05 +9877 -0.0011788159103937551 9.159295397134952e-05 0 0 0 -6.925877667440077e-05 +6536 -0.0010457966751795107 -0.00044026859237594724 0 0 0 -4.007590958582001e-05 +2515 -0.001183311212737415 7.2471830003192e-05 0 0 0 5.288408415576706e-05 +7474 -0.00029950502948650177 -0.0004919948060362983 0 0 0 -2.7760106381346317e-06 +6971 -0.0010744534805561194 -0.0006295314635068125 0 0 0 -1.0147992832087818e-05 +6998 -0.001097690013812013 0.0005631683584195035 0 0 0 -9.570096665116707e-05 +7098 -0.001256880460480298 0.00047547970133717465 0 0 0 -1.7045251293063002e-05 +7105 -0.0012371872667119946 0.00036769957895315634 0 0 0 2.9633659314663384e-05 +7151 -0.0013629502380428545 0.0005438325995852673 0 0 0 -1.83675546469545e-05 +5820 -0.0009220673330085974 0.00010319841176209992 0 0 0 5.21969837573946e-05 +2116 -0.0008637287042879568 0.00017080914805245575 0 0 0 9.898644007389265e-06 +7216 -0.0010358324572192945 0.0002247209783073251 0 0 0 7.766445121743627e-07 +7245 -0.0009161568335177406 -4.410309297076366e-05 0 0 0 -0.00014364075970404428 +7507 -0.001001533250844457 0.00020865321294165692 0 0 0 2.8366264508110804e-05 +7330 -0.0011456867097577774 0.00020064739534263494 0 0 0 -0.00013949650154403126 +5150 -0.0008885254045278237 0.00012778716029158862 0 0 0 3.6912313533017476e-05 +7403 -0.0012869122393067102 0.00046643773606705794 0 0 0 5.2529961581194666e-06 +7470 -0.00127916635176112 0.0003043608642017404 0 0 0 5.227645589347025e-05 +7502 -0.001265127105100231 0.00020303079413310505 0 0 0 1.2387439000362817e-05 +7616 -0.0010128789323422048 0.00020989695204334167 0 0 0 1.5753998302841983e-05 +2233 -0.0008648087482254103 -0.0007128587865584339 0 0 0 -4.9250525428294885e-05 +7550 -0.0007670516932522385 0.00023212408291324528 0 0 0 -7.854468044105578e-05 +1142 -0.0009986508286095946 0.0001626749493967696 0 0 0 3.095685863199401e-05 +8464 -0.0010670070677167496 3.963681450583143e-05 0 0 0 6.211208631668905e-06 +7587 -0.0007129486217917608 0.0001919052663121039 0 0 0 0.00045825805912354635 +7599 -0.001055563236496881 -3.744756369324841e-05 0 0 0 8.994344907758054e-05 +7618 -0.0010999126547450075 0.00046087715649036906 0 0 0 8.494351988376228e-06 +7769 -0.003567032634741619 0.0015808338061883338 0 0 0 0.004253910105126188 +8077 -0.0010351395543895664 0.000175190691812742 0 0 0 3.927308743080374e-06 +7841 -0.000993052274357991 0.0004730257058531205 0 0 0 -8.364056339273641e-05 +7859 -0.0009968317073416066 -6.776559025911231e-05 0 0 0 6.280496593125836e-05 +7865 -0.0013209542918813484 0.0001238486894506445 0 0 0 -2.550013566389694e-06 +7866 -0.001238735525919206 0.0003569903752686123 0 0 0 0.00010576489635585198 +7880 -0.0011206095345190304 0.0005773947606492357 0 0 0 -3.066279480951869e-05 +7885 -0.0009356460215896791 0.00020325998379364208 0 0 0 -1.7803294458208226e-05 +7961 -0.0011331689487777401 -0.0006715418490313368 0 0 0 -8.899673560131375e-05 +6187 -0.0009621245006511484 0.00020817254022069846 0 0 0 6.874419306361971e-06 +7200 -0.0008760872712509191 0.00012766667775732235 0 0 0 -2.20377891586563e-05 +8071 -0.0010546517281548587 0.00040917672137703875 0 0 0 4.0067320395630234e-05 +6148 -0.0011346622660460793 -0.0006767476381625165 0 0 0 -4.367516101613288e-05 +6950 -0.0014042639464351978 0.0006000677118277525 0 0 0 -2.005715352699511e-05 +3229 -0.0009277553513460479 0.00015162238275234698 0 0 0 -6.651733000204652e-06 +5854 -0.0009159938668490916 0.00015112453375079303 0 0 0 1.054857734238909e-05 +6667 -0.0008419738992533809 -0.00034028503722962424 0 0 0 0.0002862329318023876 +9370 -0.0008569645578854149 -8.471628423293434e-05 0 0 0 -2.6304936221872123e-05 +9084 -0.0012951128559107721 8.264547680787825e-05 0 0 0 -4.043299888609902e-05 +9618 -0.0009097078160535308 0.000179382370394683 0 0 0 6.666790634005839e-06 +8248 -0.0005667709595568003 -7.972464871469905e-05 0 0 0 -2.5341886014665786e-05 +9762 -0.0008967133784368852 -0.000583378360515487 0 0 0 -0.00039338299867038294 +8337 -0.0010798540378010217 -0.004497175199347589 0 0 0 0.004287690733642305 +9184 -0.0006110942219998905 2.9167016249578943e-05 0 0 0 1.0070905807775127e-05 +8358 -0.0013562632016660523 0.00036416982830529134 0 0 0 4.351233647659468e-05 +8381 -0.0005142713890869193 -0.00012106031890513743 0 0 0 5.131999445387383e-05 +1561 -0.0013263411720228207 0.0003668354808177635 0 0 0 -9.089732816578053e-06 +8386 -0.001369539387544941 0.0005772013237404369 0 0 0 -4.1100718796278544e-05 +8392 -0.0011651488723094313 -0.0005673807934721862 0 0 0 0.00019928081033841692 +8418 -0.0011409813151645474 1.2403965089448253e-06 0 0 0 -7.431870805267932e-05 +6208 -0.0008660324831662348 -0.00026221669800809036 0 0 0 0.00032418659406359233 +9483 -0.0009966184041404506 0.00016679520305090944 0 0 0 1.7892264071939846e-05 +8765 -0.0007487137451094 0.00031274997468871344 0 0 0 -8.703171307399274e-06 +9037 -0.0011896084344408043 0.00014401146796366626 0 0 0 -0.00021898643912301357 +8517 -0.0012765820305596382 0.00028809418612304777 0 0 0 -6.364714465501878e-06 +8539 -0.0012895177885609741 0.0004996896501795892 0 0 0 -1.8305799184582856e-05 +7360 -0.002037903990388009 -0.0007227424571090754 0 0 0 0.0007167871516987743 +8558 -0.0012400422284127718 -0.00017736646044289042 0 0 0 -2.3233652499379343e-05 +8574 -0.0006673254424565036 -0.0009462737486825492 0 0 0 -4.560256332930433e-05 +8627 -0.0034046720643677946 -0.000762821675645749 0 0 0 -0.0036136007849953047 +9465 -0.001131847046278324 -0.0003890373638549746 0 0 0 7.96734272568808e-05 +8632 -0.0011173309505806107 0.00010173989369772933 0 0 0 1.6054844477988215e-05 +5131 -0.001119221447925467 -0.0005990692274053262 0 0 0 -2.8048342782390864e-05 +3824 -0.0007829909208902664 -0.000520592083705975 0 0 0 -5.102161055786898e-05 +8165 -0.001085972112779275 7.947207783818279e-05 0 0 0 7.67854329432032e-05 +8668 -0.0011322977089746461 -0.0002599947177167567 0 0 0 4.829212252944448e-05 +8679 -0.0011414351219447521 9.532414403996351e-05 0 0 0 -9.73894647669391e-06 +8714 -0.0010406560973773586 -0.00037923326741732844 0 0 0 1.65816400084952e-05 +5701 -0.0009271690904041339 0.00016359386043164603 0 0 0 2.52838609278567e-05 +5175 -0.0008138196366132594 -0.0001245882968805323 0 0 0 -0.00011990448597305236 +812 -0.0008136999002096582 -0.00032793352272391974 0 0 0 -0.00011465393762998146 +6366 -0.0009225928433018489 0.00012281633743967574 0 0 0 2.3512139399119615e-05 +2359 -0.000851845164590352 0.00013670406898960903 0 0 0 -1.5656583914975637e-05 +5892 -0.0009292154524757727 0.00010987499809583548 0 0 0 -4.494971590096285e-06 +4914 -0.0008170718336393827 -0.0002694197948090762 0 0 0 4.855984716083199e-05 +2232 -0.0013962668408131758 0.0006100496749283238 0 0 0 2.4429236673886335e-06 +6849 -0.0009307674486236736 0.00014548193739797815 0 0 0 -3.382403357989851e-05 +6389 -0.0008276884913987117 -0.0006715424559836795 0 0 0 -0.00017229263836352125 +7592 -0.0008829184044931385 0.00010320778283078764 0 0 0 7.251548574276341e-05 +72 -0.0009328033481941555 0.00016169037482396788 0 0 0 5.611202530371956e-06 +6095 -0.0009074545749811463 0.00012699997222705476 0 0 0 3.797079172498021e-07 +4230 -0.0003945759264238711 0.000354641717450242 0 0 0 -0.000203591873846727 +2606 -0.0008299614938439482 0.00044376074287287397 0 0 0 -2.3080980932453262e-05 +801 -0.0008849997736873634 0.00011181647550225466 0 0 0 -9.806674088218455e-06 +4964 -0.0007701363964966764 0.0004493582278037278 0 0 0 -1.1639819837550187e-05 +6706 -0.000627510244325849 0.00037107718739488817 0 0 0 -0.0002045233207024528 +8919 -0.0008669103943182013 0.0001238206988024208 0 0 0 3.0004565505708964e-05 +5744 -0.00035081420995634844 -0.00019682849701139167 0 0 0 4.641181980210418e-06 +1412 -0.0008667102067001524 -0.00031258100964681994 0 0 0 -0.00021630116013899762 +7166 -0.0012295480431946774 0.0004821607704207658 0 0 0 0.0004508869875806334 +8125 -0.0008814707706954985 9.472619375360002e-05 0 0 0 -1.6727383622794183e-05 +8441 -0.0002449245374533217 -0.0004064470171835513 0 0 0 -5.438234289347048e-05 +6976 -0.00026782590492296373 -0.0003596810748548633 0 0 0 -7.725564834869343e-06 +6337 -0.0010501585618178401 3.1637071442245886e-05 0 0 0 0.0005189063800513128 +7189 -0.0010027915591139453 0.00023723368847990806 0 0 0 -2.1267115444176427e-05 +2680 -0.00030891216853277394 -0.00020457606529057616 0 0 0 -4.82731205087499e-05 +6160 -0.0007557869392639718 -0.00015627695707974944 0 0 0 -2.465884924693401e-05 +535 -0.0008767474296707425 0.00012151744175138143 0 0 0 1.245320689560073e-05 +8425 -0.0007512233785204506 0.0005405466387555643 0 0 0 -0.0001045579395697344 diff --git a/examples/multi/in.powerlaw b/examples/multi/in.powerlaw index 90fc7aae3c..213aa3544e 100755 --- a/examples/multi/in.powerlaw +++ b/examples/multi/in.powerlaw @@ -15,19 +15,19 @@ comm_modify mode multi vel yes reduce/multi # granular potential pair_style granular -pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity +pair_coeff * * hooke 20.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity # fixes fix 1 all nve/sphere fix 2 all enforce2d -fix 3 all deform 1 xy erate 2e-4 +fix 3 all deform 1 xy erate 1e-4 -# dump 1 all custom 2000 dump.granular id x y z radius +# dump 1 all custom 20000 dump.granular id x y z radius thermo_style custom step temp epair etotal press vol pxy thermo 1000 timestep 0.005 -run 100000 +run 200000 diff --git a/examples/multi/log.30Nov20.powerlaw.intel.1 b/examples/multi/log.30Nov20.powerlaw.intel.1 index 81b116ddd4..d0ed6e2685 100644 --- a/examples/multi/log.30Nov20.powerlaw.intel.1 +++ b/examples/multi/log.30Nov20.powerlaw.intel.1 @@ -1,12 +1,12 @@ LAMMPS (24 Dec 2020) OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task -# Big colloid particles and small LJ particles +# Shear power-law distributed granular particles units lj atom_style sphere dimension 2 -read_data data +read_data data.powerlaw Reading data file ... triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) 1 by 1 by 1 MPI processor grid @@ -28,22 +28,22 @@ comm_modify mode multi vel yes reduce/multi # granular potential pair_style granular -pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity +pair_coeff * * hooke 20.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity # fixes fix 1 all nve/sphere fix 2 all enforce2d -fix 3 all deform 1 xy erate 2e-4 +fix 3 all deform 1 xy erate 1e-4 -# dump 1 all custom 2000 dump.granular id x y z radius +# dump 1 all custom 20000 dump.granular id x y z radius thermo_style custom step temp epair etotal press vol pxy thermo 1000 timestep 0.005 -run 100000 +run 200000 Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -56,136 +56,236 @@ Neighbor list info ... pair build: half/size/multi/newton/tri stencil: half/multi/2d/tri bin: multi -Per MPI rank memory allocation (min/avg/max) = 14.76 | 14.76 | 14.76 Mbytes +Per MPI rank memory allocation (min/avg/max) = 14.77 | 14.77 | 14.77 Mbytes Step Temp E_pair TotEng Press Volume Pxy - 0 0.00014649953 0 0.00014648488 0.027643657 103595.49 -0.0014952693 - 1000 0.00014726802 0 0.00014725329 0.029388139 103595.49 -0.00172238 - 2000 0.00014880425 0 0.00014878937 0.029608995 103595.49 -0.0023614491 - 3000 0.00015154766 0 0.0001515325 0.029668747 103595.49 -0.0029243775 - 4000 0.00015547813 0 0.00015546258 0.029662951 103595.49 -0.0034433688 - 5000 0.00015919808 0 0.00015918216 0.02988062 103595.49 -0.0037443111 - 6000 0.00016272902 0 0.00016271275 0.029776943 103595.49 -0.0042445445 - 7000 0.00016666322 0 0.00016664655 0.029919286 103595.49 -0.0045231987 - 8000 0.00017137531 0 0.00017135817 0.029849078 103595.49 -0.0049023441 - 9000 0.00017774522 0 0.00017772744 0.029925275 103595.49 -0.0051437804 - 10000 0.00018294048 0 0.00018292219 0.030166956 103595.49 -0.0052769381 - 11000 0.00019030719 0 0.00019028816 0.02988594 103595.49 -0.0058095975 - 12000 0.00019806568 0 0.00019804587 0.029852302 103595.49 -0.0060925449 - 13000 0.00020800749 0 0.00020798669 0.029927995 103595.49 -0.0062667347 - 14000 0.00021854888 0 0.00021852703 0.029984135 103595.49 -0.0064949797 - 15000 0.00022975749 0 0.00022973451 0.030063358 103595.49 -0.0065788835 - 16000 0.00024074076 0 0.00024071668 0.03006058 103595.49 -0.006757928 - 17000 0.00025363768 0 0.00025361232 0.030138053 103595.49 -0.0068153904 - 18000 0.00026618156 0 0.00026615494 0.030621109 103595.49 -0.0067026865 - 19000 0.00028000661 0 0.00027997861 0.030520699 103595.49 -0.0067126187 - 20000 0.00029472369 0 0.00029469422 0.030182866 103595.49 -0.0071232374 - 21000 0.00031065822 0 0.00031062716 0.030417926 103595.49 -0.0070815254 - 22000 0.00032789694 0 0.00032786415 0.030434044 103595.49 -0.007044194 - 23000 0.00034491703 0 0.00034488253 0.031195478 103595.49 -0.006895101 - 24000 0.00036262497 0 0.00036258871 0.030348688 103595.49 -0.0073503964 - 25000 0.00038232332 0 0.00038228509 0.030429549 103595.49 -0.0073043833 - 26000 0.00040292952 0 0.00040288922 0.030277517 103595.49 -0.0074475354 - 27000 0.00042260162 0 0.00042255936 0.030270875 103595.49 -0.0074037511 - 28000 0.00044296255 0 0.00044291826 0.030568983 103595.49 -0.0070827585 - 29000 0.00046164594 0 0.00046159978 0.030392129 103595.49 -0.0070495682 - 30000 0.00048018966 0 0.00048014164 0.03027035 103595.49 -0.0071339757 - 31000 0.00049904958 0 0.00049899968 0.030278024 103595.49 -0.0070690708 - 32000 0.00051586592 0 0.00051581433 0.030105498 103595.49 -0.007134143 - 33000 0.000533257 0 0.00053320367 0.029788452 103595.49 -0.0072245811 - 34000 0.00054849405 0 0.0005484392 0.029873916 103595.49 -0.0069597013 - 35000 0.00056356221 0 0.00056350586 0.029706011 103595.49 -0.00704387 - 36000 0.00057701153 0 0.00057695383 0.029584377 103595.49 -0.006959137 - 37000 0.00058975804 0 0.00058969906 0.029510998 103595.49 -0.0069205813 - 38000 0.00060106815 0 0.00060100804 0.029866588 103595.49 -0.006493655 - 39000 0.00061178223 0 0.00061172105 0.0294686 103595.49 -0.0066809721 - 40000 0.00062087616 0 0.00062081407 0.029305512 103595.49 -0.0067040127 - 41000 0.00062938061 0 0.00062931767 0.029313523 103595.49 -0.0065943738 - 42000 0.0006366437 0 0.00063658004 0.029294719 103595.49 -0.0065039414 - 43000 0.00064403805 0 0.00064397364 0.029169615 103595.49 -0.0065453715 - 44000 0.00064990286 0 0.00064983787 0.029173689 103595.49 -0.0064757302 - 45000 0.00065485285 0 0.00065478736 0.02911295 103595.49 -0.0065336599 - 46000 0.00065918851 0 0.00065912259 0.029664657 103595.49 -0.0060618092 - 47000 0.00066143867 0 0.00066137253 0.029672077 103595.49 -0.0061605571 - 48000 0.00066260774 0 0.00066254148 0.029356515 103595.49 -0.0063944326 - 49000 0.0006641111 0 0.00066404469 0.029771162 103595.49 -0.0061440485 - 50000 0.00066562386 0 0.0006655573 0.02944773 103595.49 -0.0063912951 - 51000 0.00066744319 0 0.00066737645 0.029507067 103595.49 -0.00636767 - 52000 0.00066927675 0 0.00066920982 0.029773443 103595.49 -0.0062192673 - 53000 0.00066999455 0 0.00066992755 0.029626747 103595.49 -0.0062819185 - 54000 0.00067204697 0 0.00067197976 0.029608834 103595.49 -0.0063047897 - 55000 0.00067089926 0 0.00067083217 0.029778336 103595.49 -0.006198876 - 56000 0.00067044673 0 0.00067037969 0.029707087 103595.49 -0.0062920606 - 57000 0.00066987451 0 0.00066980752 0.029751879 103595.49 -0.0062887511 - 58000 0.00066781462 0 0.00066774784 0.029673932 103595.49 -0.0063301658 - 59000 0.00065347402 0 0.00065340867 0.029540521 103595.49 -0.0064527808 - 60000 0.00065304518 0 0.00065297988 0.029801357 103595.49 -0.0062633754 - 61000 0.00065183192 0 0.00065176673 0.029786145 103595.49 -0.0063152956 - 62000 0.00065242331 0 0.00065235807 0.030461931 103595.49 -0.0060591261 - 63000 0.00065491938 0 0.00065485389 0.029715839 103595.49 -0.0065344894 - 64000 0.00065769719 0 0.00065763142 0.02977148 103595.49 -0.0065105553 - 65000 0.00066125407 0 0.00066118795 0.029534462 103595.49 -0.0066901883 - 66000 0.00066433913 0 0.0006642727 0.029949304 103595.49 -0.0064367129 - 67000 0.00066819344 0 0.00066812662 0.029629692 103595.49 -0.0067136218 - 68000 0.00067300953 0 0.00067294223 0.029793673 103595.49 -0.0065898421 - 69000 0.00067875538 0 0.0006786875 0.029651968 103595.49 -0.0067198512 - 70000 0.00068416104 0 0.00068409262 0.030125821 103595.49 -0.0063225262 - 71000 0.00068728347 0 0.00068721475 0.02958142 103595.49 -0.0066417995 - 72000 0.00068926082 0 0.00068919189 0.02976018 103595.49 -0.0063898599 - 73000 0.00068953168 0 0.00068946272 0.029574927 103595.49 -0.0065193167 - 74000 0.00069104787 0 0.00069097876 0.030209247 103595.49 -0.0060666707 - 75000 0.00069606779 0 0.00069599818 0.029636657 103595.49 -0.006387635 - 76000 0.00070399158 0 0.00070392118 0.029585803 103595.49 -0.0063291939 - 77000 0.00070284473 0 0.00070277445 0.029936591 103595.49 -0.0060359763 - 78000 0.00070619015 0 0.00070611953 0.029554333 103595.49 -0.0062453302 - 79000 0.00070892936 0 0.00070885847 0.029853506 103595.49 -0.0060833753 - 80000 0.00071125368 0 0.00071118255 0.029625268 103595.49 -0.0062046031 - 81000 0.00070944317 0 0.00070937223 0.029629542 103595.49 -0.0062343125 - 82000 0.00070892851 0 0.00070885762 0.029664456 103595.49 -0.006250692 - 83000 0.00070946812 0 0.00070939718 0.029964177 103595.49 -0.006159583 - 84000 0.00071198659 0 0.00071191539 0.029813631 103595.49 -0.0062607732 - 85000 0.00071266579 0 0.00071259453 0.029645729 103595.49 -0.0064004319 - 86000 0.00071461592 0 0.00071454446 0.029700002 103595.49 -0.0063398759 - 87000 0.00071781454 0 0.00071774276 0.029748726 103595.49 -0.0063600357 - 88000 0.00072016268 0 0.00072009067 0.029772487 103595.49 -0.0063655529 - 89000 0.00072272254 0 0.00072265027 0.030006837 103595.49 -0.0063122612 - 90000 0.00072122914 0 0.00072115701 0.029982109 103595.49 -0.006439831 - 91000 0.00072443479 0 0.00072436235 0.029830121 103595.49 -0.0065202831 - 92000 0.00072738733 0 0.00072731459 0.030194727 103595.49 -0.0062808688 - 93000 0.00072899838 0 0.00072892548 0.030175295 103595.49 -0.0062914883 - 94000 0.00072984304 0 0.00072977006 0.029844017 103595.49 -0.0064737335 - 95000 0.00073206475 0 0.00073199154 0.029798899 103595.49 -0.0064644006 - 96000 0.00073374806 0 0.00073367468 0.030226823 103595.49 -0.0061626549 - 97000 0.00073388886 0 0.00073381547 0.029993629 103595.49 -0.0063710254 - 98000 0.00073534207 0 0.00073526854 0.030245848 103595.49 -0.0063407392 - 99000 0.00073805531 0 0.0007379815 0.030287955 103595.49 -0.0063646707 - 100000 0.0007385798 0 0.00073850594 0.030172948 103595.49 -0.0064654963 -Loop time of 233.709 on 1 procs for 100000 steps with 10000 atoms + 0 4.9204851e-05 0 4.9199931e-05 0.61204991 103595.49 -0.00083309917 + 1000 0.00038076464 0 0.00038072657 0.58694623 103595.49 -0.0066712806 + 2000 0.00027986478 0 0.00027983679 0.5845274 103595.49 -0.008880933 + 3000 0.00022105227 0 0.00022103017 0.58295464 103595.49 -0.011327442 + 4000 0.00020888366 0 0.00020886277 0.5826542 103595.49 -0.014147424 + 5000 0.00019912663 0 0.00019910672 0.58175837 103595.49 -0.015685634 + 6000 0.0001989441 0 0.00019892421 0.58170841 103595.49 -0.017379973 + 7000 0.00019307783 0 0.00019305852 0.58133913 103595.49 -0.019556709 + 8000 0.00018132444 0 0.00018130631 0.58134077 103595.49 -0.021609399 + 9000 0.00017909088 0 0.00017907297 0.58117179 103595.49 -0.023603514 + 10000 0.00018391928 0 0.00018390089 0.58070675 103595.49 -0.026026784 + 11000 0.00018985439 0 0.00018983541 0.58006086 103595.49 -0.028574238 + 12000 0.00018903569 0 0.00018901678 0.5794232 103595.49 -0.031151884 + 13000 0.00019070382 0 0.00019068475 0.57890243 103595.49 -0.033469404 + 14000 0.00019371625 0 0.00019369688 0.5787389 103595.49 -0.035646526 + 15000 0.00019833475 0 0.00019831492 0.57883166 103595.49 -0.037709788 + 16000 0.0002011729 0 0.00020115278 0.57875606 103595.49 -0.039452453 + 17000 0.00020285197 0 0.00020283169 0.5786311 103595.49 -0.040960671 + 18000 0.00020319174 0 0.00020317142 0.57842387 103595.49 -0.042257072 + 19000 0.00020290253 0 0.00020288224 0.57795042 103595.49 -0.043364149 + 20000 0.00020509848 0 0.00020507797 0.5771478 103595.49 -0.044392259 + 21000 0.00021803258 0 0.00021801078 0.57569003 103595.49 -0.044749043 + 22000 0.00020751217 0 0.00020749141 0.57477071 103595.49 -0.045719593 + 23000 0.00022053275 0 0.0002205107 0.57409228 103595.49 -0.047332146 + 24000 0.00022689646 0 0.00022687377 0.57325004 103595.49 -0.04871759 + 25000 0.00025224804 0 0.00025222282 0.57283712 103595.49 -0.050254871 + 26000 0.00025343198 0 0.00025340664 0.57238659 103595.49 -0.051604284 + 27000 0.00026689801 0 0.00026687132 0.57221042 103595.49 -0.052915257 + 28000 0.00027867954 0 0.00027865167 0.57197974 103595.49 -0.053832129 + 29000 0.00028697929 0 0.00028695059 0.57177264 103595.49 -0.054693121 + 30000 0.00028857612 0 0.00028854727 0.57145453 103595.49 -0.055559611 + 31000 0.00029228405 0 0.00029225482 0.5711044 103595.49 -0.056492699 + 32000 0.00029648627 0 0.00029645663 0.57060211 103595.49 -0.05729896 + 33000 0.00030524162 0 0.00030521109 0.57002519 103595.49 -0.058201322 + 34000 0.00031725644 0 0.00031722472 0.56920654 103595.49 -0.059128438 + 35000 0.00032273791 0 0.00032270564 0.56844677 103595.49 -0.060009671 + 36000 0.00033013013 0 0.00033009712 0.56795943 103595.49 -0.061074282 + 37000 0.00033942153 0 0.00033938759 0.56749208 103595.49 -0.062058531 + 38000 0.00035141528 0 0.00035138014 0.56682741 103595.49 -0.062953956 + 39000 0.00036126777 0 0.00036123164 0.56655193 103595.49 -0.063757684 + 40000 0.00037765934 0 0.00037762157 0.5661991 103595.49 -0.064535541 + 41000 0.00040834365 0 0.00040830281 0.56554085 103595.49 -0.064688281 + 42000 0.00042857233 0 0.00042852948 0.56474014 103595.49 -0.065262664 + 43000 0.00042692021 0 0.00042687752 0.56362013 103595.49 -0.065276794 + 44000 0.00040298912 0 0.00040294882 0.5631005 103595.49 -0.065626396 + 45000 0.00040947381 0 0.00040943286 0.56291946 103595.49 -0.066167734 + 46000 0.00040202686 0 0.00040198666 0.56273846 103595.49 -0.066543782 + 47000 0.00038914356 0 0.00038910465 0.56265937 103595.49 -0.067359923 + 48000 0.00038429737 0 0.00038425894 0.56274908 103595.49 -0.068231096 + 49000 0.00036912968 0 0.00036909277 0.56261623 103595.49 -0.068791569 + 50000 0.00035203094 0 0.00035199574 0.56257856 103595.49 -0.069298217 + 51000 0.00034403223 0 0.00034399783 0.56236537 103595.49 -0.070273225 + 52000 0.00034132431 0 0.00034129018 0.56220555 103595.49 -0.071740344 + 53000 0.000335692 0 0.00033565843 0.56194913 103595.49 -0.072834415 + 54000 0.00033048196 0 0.00033044891 0.56231491 103595.49 -0.073996938 + 55000 0.00032751145 0 0.00032747869 0.56225025 103595.49 -0.07506664 + 56000 0.00032696951 0 0.00032693682 0.56285506 103595.49 -0.076445354 + 57000 0.00033158698 0 0.00033155382 0.56354729 103595.49 -0.077682996 + 58000 0.00034300009 0 0.00034296579 0.56416964 103595.49 -0.078836604 + 59000 0.00034340257 0 0.00034336823 0.56490867 103595.49 -0.079658197 + 60000 0.00034736137 0 0.00034732663 0.56519398 103595.49 -0.080570223 + 61000 0.00034984523 0 0.00034981025 0.5651693 103595.49 -0.081115325 + 62000 0.00034995431 0 0.00034991932 0.56534549 103595.49 -0.081486038 + 63000 0.00033854269 0 0.00033850883 0.56582558 103595.49 -0.081892374 + 64000 0.00032621515 0 0.00032618253 0.5658388 103595.49 -0.082786608 + 65000 0.00031773942 0 0.00031770764 0.56576287 103595.49 -0.083706189 + 66000 0.00031772736 0 0.00031769558 0.56548117 103595.49 -0.084236463 + 67000 0.0003148631 0 0.00031483161 0.56483795 103595.49 -0.084506082 + 68000 0.00030359752 0 0.00030356716 0.56446443 103595.49 -0.084985509 + 69000 0.00030395128 0 0.00030392088 0.56437593 103595.49 -0.085548157 + 70000 0.00032811658 0 0.00032808376 0.56372411 103595.49 -0.085304154 + 71000 0.00035494531 0 0.00035490981 0.56326137 103595.49 -0.085047806 + 72000 0.0003253841 0 0.00032535156 0.56244462 103595.49 -0.085693663 + 73000 0.00032328895 0 0.00032325662 0.5629287 103595.49 -0.086119464 + 74000 0.00032650113 0 0.00032646848 0.56306166 103595.49 -0.087182721 + 75000 0.00034303222 0 0.00034299792 0.56219559 103595.49 -0.086604025 + 76000 0.00033786129 0 0.0003378275 0.56188071 103595.49 -0.086852177 + 77000 0.00033559735 0 0.00033556379 0.5619155 103595.49 -0.08689764 + 78000 0.00032579863 0 0.00032576605 0.56177059 103595.49 -0.087109469 + 79000 0.00031610815 0 0.00031607654 0.56160391 103595.49 -0.087250861 + 80000 0.00031246546 0 0.00031243422 0.56181676 103595.49 -0.087117648 + 81000 0.00029392131 0 0.00029389192 0.56205441 103595.49 -0.087601617 + 82000 0.00029624453 0 0.00029621491 0.56285229 103595.49 -0.08824145 + 83000 0.00030538821 0 0.00030535767 0.5627754 103595.49 -0.088318188 + 84000 0.00029587833 0 0.00029584874 0.56267246 103595.49 -0.08930338 + 85000 0.00030551128 0 0.00030548073 0.56251282 103595.49 -0.0897211 + 86000 0.00030000969 0 0.00029997969 0.56249642 103595.49 -0.089920789 + 87000 0.00030211667 0 0.00030208646 0.56256648 103595.49 -0.090315024 + 88000 0.00030524995 0 0.00030521943 0.5623007 103595.49 -0.090706456 + 89000 0.00031961257 0 0.00031958061 0.56210244 103595.49 -0.090852204 + 90000 0.0003195337 0 0.00031950175 0.56207472 103595.49 -0.090879606 + 91000 0.00033860446 0 0.0003385706 0.56197196 103595.49 -0.090891252 + 92000 0.0003327551 0 0.00033272183 0.56172473 103595.49 -0.090725694 + 93000 0.00032983619 0 0.00032980321 0.5619443 103595.49 -0.090626404 + 94000 0.00034024354 0 0.00034020952 0.56150371 103595.49 -0.090769983 + 95000 0.00033201405 0 0.00033198084 0.56145998 103595.49 -0.09102312 + 96000 0.00032851608 0 0.00032848323 0.56201045 103595.49 -0.09152522 + 97000 0.0003353172 0 0.00033528367 0.56256203 103595.49 -0.092443634 + 98000 0.00033453146 0 0.00033449801 0.5632537 103595.49 -0.093069693 + 99000 0.00034432742 0 0.00034429299 0.56355465 103595.49 -0.093332298 + 100000 0.00035299312 0 0.00035295782 0.56420115 103595.49 -0.093871701 + 101000 0.00042149444 0 0.00042145229 0.56424332 103595.49 -0.094001873 + 102000 0.0004580706 0 0.0004580248 0.56378535 103595.49 -0.093786943 + 103000 0.00046113464 0 0.00046108853 0.56428549 103595.49 -0.093463429 + 104000 0.00047583409 0 0.00047578651 0.5645355 103595.49 -0.093225615 + 105000 0.00048367276 0 0.00048362439 0.56469488 103595.49 -0.092935582 + 106000 0.00046931008 0 0.00046926315 0.56464923 103595.49 -0.09282958 + 107000 0.00046460766 0 0.00046456119 0.56502528 103595.49 -0.093077749 + 108000 0.00046398187 0 0.00046393547 0.56532911 103595.49 -0.09321949 + 109000 0.00047530523 0 0.0004752577 0.56561281 103595.49 -0.093217991 + 110000 0.00048531886 0 0.00048527033 0.56549262 103595.49 -0.092956034 + 111000 0.00049659003 0 0.00049654038 0.56507505 103595.49 -0.092554122 + 112000 0.00050113619 0 0.00050108607 0.56528891 103595.49 -0.092227508 + 113000 0.0005138896 0 0.00051383821 0.56550655 103595.49 -0.092096556 + 114000 0.00052560295 0 0.00052555039 0.56567551 103595.49 -0.09181586 + 115000 0.00054349317 0 0.00054343882 0.56530917 103595.49 -0.090961623 + 116000 0.00056022902 0 0.00056017299 0.56482302 103595.49 -0.090810658 + 117000 0.00055876064 0 0.00055870476 0.56488791 103595.49 -0.090329656 + 118000 0.00056191427 0 0.00056185808 0.56461166 103595.49 -0.090161067 + 119000 0.0005488829 0 0.00054882801 0.56437975 103595.49 -0.090328459 + 120000 0.00054084712 0 0.00054079303 0.564481 103595.49 -0.090602791 + 121000 0.00053717105 0 0.00053711733 0.56481743 103595.49 -0.090309102 + 122000 0.00053834163 0 0.00053828779 0.56385259 103595.49 -0.090433254 + 123000 0.00053319394 0 0.00053314062 0.56335613 103595.49 -0.090723928 + 124000 0.00053127439 0 0.00053122127 0.5631684 103595.49 -0.091178253 + 125000 0.00053624623 0 0.00053619261 0.56387166 103595.49 -0.091701174 + 126000 0.0005253773 0 0.00052532476 0.5639006 103595.49 -0.092033098 + 127000 0.00052459276 0 0.0005245403 0.56361298 103595.49 -0.092219098 + 128000 0.00054030806 0 0.00054025403 0.56307203 103595.49 -0.092196938 + 129000 0.00055474894 0 0.00055469346 0.5622815 103595.49 -0.09178309 + 130000 0.00057391115 0 0.00057385376 0.56244981 103595.49 -0.09170211 + 131000 0.00058650769 0 0.00058644904 0.56195859 103595.49 -0.090649841 + 132000 0.00058529163 0 0.0005852331 0.56162943 103595.49 -0.090167101 + 133000 0.00062544817 0 0.00062538563 0.5594761 103595.49 -0.088989624 + 134000 0.00063457749 0 0.00063451403 0.55917757 103595.49 -0.089702278 + 135000 0.00065371789 0 0.00065365252 0.55885043 103595.49 -0.090030252 + 136000 0.00070050714 0 0.00070043709 0.55854751 103595.49 -0.08960124 + 137000 0.0006750775 0 0.00067501 0.55809563 103595.49 -0.090252473 + 138000 0.00068827043 0 0.0006882016 0.55806674 103595.49 -0.090238994 + 139000 0.00069748073 0 0.00069741098 0.55734587 103595.49 -0.090118549 + 140000 0.00071065284 0 0.00071058177 0.55711669 103595.49 -0.090336074 + 141000 0.00070994204 0 0.00070987104 0.55638115 103595.49 -0.089917062 + 142000 0.00071514386 0 0.00071507235 0.55614391 103595.49 -0.090392071 + 143000 0.00071334667 0 0.00071327533 0.55640687 103595.49 -0.091256718 + 144000 0.00069553102 0 0.00069546147 0.55705702 103595.49 -0.091761396 + 145000 0.00068849503 0 0.00068842618 0.55692035 103595.49 -0.091895738 + 146000 0.00068407816 0 0.00068400975 0.55660026 103595.49 -0.092191588 + 147000 0.00069521557 0 0.00069514605 0.55556456 103595.49 -0.092354739 + 148000 0.00068349281 0 0.00068342446 0.55537498 103595.49 -0.092914636 + 149000 0.00067959644 0 0.00067952848 0.55537695 103595.49 -0.093738463 + 150000 0.00067100566 0 0.00067093856 0.55544851 103595.49 -0.094104003 + 151000 0.00068044722 0 0.00068037917 0.5554655 103595.49 -0.094943239 + 152000 0.00068109012 0 0.00068102201 0.55585405 103595.49 -0.095355111 + 153000 0.00068666181 0 0.00068659314 0.55501583 103595.49 -0.095234652 + 154000 0.00068283406 0 0.00068276578 0.55644996 103595.49 -0.095902623 + 155000 0.00069836346 0 0.00069829363 0.55747472 103595.49 -0.096978444 + 156000 0.00072807264 0 0.00072799984 0.55807332 103595.49 -0.097415305 + 157000 0.00077300609 0 0.00077292879 0.55871196 103595.49 -0.098034508 + 158000 0.00081631408 0 0.00081623245 0.558479 103595.49 -0.09825722 + 159000 0.00079291984 0 0.00079284054 0.55784788 103595.49 -0.097758094 + 160000 0.0008203256 0 0.00082024357 0.55700259 103595.49 -0.097519328 + 161000 0.00081471235 0 0.00081463087 0.556622 103595.49 -0.097787992 + 162000 0.00080692462 0 0.00080684393 0.5566795 103595.49 -0.097210216 + 163000 0.00081149678 0 0.00081141564 0.55596697 103595.49 -0.097517476 + 164000 0.00081577795 0 0.00081569637 0.55569684 103595.49 -0.096908869 + 165000 0.00084604988 0 0.00084596528 0.55492052 103595.49 -0.095481627 + 166000 0.00082198923 0 0.00082190703 0.5552628 103595.49 -0.09477531 + 167000 0.00084903108 0 0.00084894618 0.55477991 103595.49 -0.094758799 + 168000 0.00081613582 0 0.00081605421 0.55508416 103595.49 -0.094804088 + 169000 0.00083341061 0 0.00083332727 0.55476794 103595.49 -0.094519882 + 170000 0.00077835092 0 0.00077827308 0.55516626 103595.49 -0.094843673 + 171000 0.00074843733 0 0.00074836249 0.55417469 103595.49 -0.094731356 + 172000 0.0007425125 0 0.00074243825 0.55431854 103595.49 -0.095174333 + 173000 0.00074144093 0 0.00074136678 0.55429464 103595.49 -0.094982598 + 174000 0.00072375323 0 0.00072368086 0.55421045 103595.49 -0.09489531 + 175000 0.0007270779 0 0.00072700519 0.55413607 103595.49 -0.094197685 + 176000 0.00071114682 0 0.00071107571 0.55342226 103595.49 -0.093083865 + 177000 0.00069325125 0 0.00069318193 0.55441386 103595.49 -0.093289572 + 178000 0.00067686202 0 0.00067679434 0.55504892 103595.49 -0.093512587 + 179000 0.00068326039 0 0.00068319206 0.55519365 103595.49 -0.093974329 + 180000 0.00075070045 0 0.00075062538 0.55415541 103595.49 -0.09327459 + 181000 0.00077670344 0 0.00077662577 0.55328725 103595.49 -0.092373689 + 182000 0.00077422781 0 0.00077415038 0.553131 103595.49 -0.092353979 + 183000 0.00080250542 0 0.00080242517 0.5519122 103595.49 -0.091897169 + 184000 0.00081235214 0 0.00081227091 0.55172769 103595.49 -0.091906209 + 185000 0.00078879443 0 0.00078871555 0.55145488 103595.49 -0.091198506 + 186000 0.00078497746 0 0.00078489896 0.55202944 103595.49 -0.091674987 + 187000 0.00079483049 0 0.000794751 0.55278073 103595.49 -0.092508295 + 188000 0.00079056756 0 0.0007904885 0.55362903 103595.49 -0.092801369 + 189000 0.00079162262 0 0.00079154346 0.55429061 103595.49 -0.092964781 + 190000 0.00078121133 0 0.00078113321 0.55386716 103595.49 -0.092689851 + 191000 0.00076574893 0 0.00076567235 0.5546533 103595.49 -0.093414672 + 192000 0.00076215201 0 0.0007620758 0.55503049 103595.49 -0.093986391 + 193000 0.00075652635 0 0.0007564507 0.55477696 103595.49 -0.094417347 + 194000 0.00075725781 0 0.00075718208 0.55457687 103595.49 -0.094241721 + 195000 0.0007434693 0 0.00074339496 0.55471575 103595.49 -0.094102015 + 196000 0.00073792493 0 0.00073785114 0.55463671 103595.49 -0.094452279 + 197000 0.00074673445 0 0.00074665978 0.55459327 103595.49 -0.09463863 + 198000 0.00072734835 0 0.00072727561 0.55514628 103595.49 -0.094622434 + 199000 0.00071846919 0 0.00071839734 0.55501969 103595.49 -0.094414887 + 200000 0.00072384651 0 0.00072377412 0.55533335 103595.49 -0.094159469 +Loop time of 443.321 on 1 procs for 200000 steps with 10000 atoms -Performance: 184845.371 tau/day, 427.883 timesteps/s +Performance: 194892.839 tau/day, 451.141 timesteps/s 100.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 193.18 | 193.18 | 193.18 | 0.0 | 82.66 -Neigh | 1.1138 | 1.1138 | 1.1138 | 0.0 | 0.48 -Comm | 2.3652 | 2.3652 | 2.3652 | 0.0 | 1.01 -Output | 0.0092981 | 0.0092981 | 0.0092981 | 0.0 | 0.00 -Modify | 32.407 | 32.407 | 32.407 | 0.0 | 13.87 -Other | | 4.628 | | | 1.98 +Pair | 362.28 | 362.28 | 362.28 | 0.0 | 81.72 +Neigh | 1.737 | 1.737 | 1.737 | 0.0 | 0.39 +Comm | 5.0082 | 5.0082 | 5.0082 | 0.0 | 1.13 +Output | 0.01774 | 0.01774 | 0.01774 | 0.0 | 0.00 +Modify | 64.992 | 64.992 | 64.992 | 0.0 | 14.66 +Other | | 9.286 | | | 2.09 Nlocal: 10000.0 ave 10000 max 10000 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 446.000 ave 446 max 446 min +Nghost: 487.000 ave 487 max 487 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 34464.0 ave 34464 max 34464 min +Neighs: 34427.0 ave 34427 max 34427 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 34464 -Ave neighs/atom = 3.4464000 -Neighbor list builds = 153 +Total # of neighbors = 34427 +Ave neighs/atom = 3.4427000 +Neighbor list builds = 244 Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:03:53 +Total wall time: 0:07:23 diff --git a/examples/multi/log.30Nov20.powerlaw.intel.4 b/examples/multi/log.30Nov20.powerlaw.intel.4 index 34d3b85c1b..109b4582db 100644 --- a/examples/multi/log.30Nov20.powerlaw.intel.4 +++ b/examples/multi/log.30Nov20.powerlaw.intel.4 @@ -1,12 +1,12 @@ LAMMPS (24 Dec 2020) OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:97) using 1 OpenMP thread(s) per MPI task -# Big colloid particles and small LJ particles +# Shear power-law distributed granular particles units lj atom_style sphere dimension 2 -read_data data +read_data data.powerlaw Reading data file ... triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) 2 by 2 by 1 MPI processor grid @@ -14,7 +14,7 @@ Reading data file ... 10000 atoms reading velocities ... 10000 velocities - read_data CPU = 0.024 seconds + read_data CPU = 0.114 seconds change_box all triclinic Changing box ... triclinic box = (9.9514336 9.9514336 0.0000000) to (331.81396 331.81396 1.0000000) with tilt (0.0000000 0.0000000 0.0000000) @@ -28,22 +28,22 @@ comm_modify mode multi vel yes reduce/multi # granular potential pair_style granular -pair_coeff * * hooke 1.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity +pair_coeff * * hooke 20.0 0.5 tangential linear_history 1.0 0.5 0.1 damping mass_velocity # fixes fix 1 all nve/sphere fix 2 all enforce2d -fix 3 all deform 1 xy erate 2e-4 +fix 3 all deform 1 xy erate 1e-4 -# dump 1 all custom 2000 dump.granular id x y z radius +# dump 1 all custom 20000 dump.granular id x y z radius thermo_style custom step temp epair etotal press vol pxy thermo 1000 timestep 0.005 -run 100000 +run 200000 Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -58,134 +58,234 @@ Neighbor list info ... bin: multi Per MPI rank memory allocation (min/avg/max) = 12.65 | 12.67 | 12.68 Mbytes Step Temp E_pair TotEng Press Volume Pxy - 0 0.00014649953 0 0.00014648488 0.027643657 103595.49 -0.0014952693 - 1000 0.00014726802 0 0.00014725329 0.029388139 103595.49 -0.00172238 - 2000 0.00014880425 0 0.00014878937 0.029608995 103595.49 -0.0023614491 - 3000 0.00015154766 0 0.0001515325 0.029668747 103595.49 -0.0029243775 - 4000 0.00015547813 0 0.00015546258 0.029662951 103595.49 -0.0034433688 - 5000 0.00015919808 0 0.00015918216 0.02988062 103595.49 -0.0037443111 - 6000 0.00016272902 0 0.00016271275 0.029776943 103595.49 -0.0042445445 - 7000 0.00016666322 0 0.00016664655 0.029919286 103595.49 -0.0045231987 - 8000 0.00017137531 0 0.00017135817 0.029849078 103595.49 -0.0049023441 - 9000 0.00017774522 0 0.00017772744 0.029925275 103595.49 -0.0051437804 - 10000 0.00018294048 0 0.00018292219 0.030166956 103595.49 -0.0052769381 - 11000 0.00019030719 0 0.00019028816 0.02988594 103595.49 -0.0058095975 - 12000 0.00019806568 0 0.00019804587 0.029852302 103595.49 -0.0060925449 - 13000 0.00020800749 0 0.00020798669 0.029927995 103595.49 -0.0062667347 - 14000 0.00021854888 0 0.00021852703 0.029984135 103595.49 -0.0064949797 - 15000 0.00022975749 0 0.00022973451 0.030063358 103595.49 -0.0065788835 - 16000 0.00024074076 0 0.00024071668 0.03006058 103595.49 -0.006757928 - 17000 0.00025363768 0 0.00025361232 0.030138053 103595.49 -0.0068153904 - 18000 0.00026618156 0 0.00026615494 0.030621109 103595.49 -0.0067026865 - 19000 0.00028000661 0 0.00027997861 0.030520699 103595.49 -0.0067126187 - 20000 0.00029472369 0 0.00029469422 0.030182866 103595.49 -0.0071232374 - 21000 0.00031065822 0 0.00031062716 0.030417926 103595.49 -0.0070815254 - 22000 0.00032789694 0 0.00032786415 0.030434044 103595.49 -0.007044194 - 23000 0.00034491703 0 0.00034488253 0.031195478 103595.49 -0.006895101 - 24000 0.00036262497 0 0.00036258871 0.030348688 103595.49 -0.0073503964 - 25000 0.00038232332 0 0.00038228509 0.030429549 103595.49 -0.0073043833 - 26000 0.00040292952 0 0.00040288922 0.030277517 103595.49 -0.0074475354 - 27000 0.00042260162 0 0.00042255936 0.030270875 103595.49 -0.0074037511 - 28000 0.00044296255 0 0.00044291826 0.030568983 103595.49 -0.0070827585 - 29000 0.00046164594 0 0.00046159978 0.030392129 103595.49 -0.0070495682 - 30000 0.00048018966 0 0.00048014164 0.03027035 103595.49 -0.0071339757 - 31000 0.00049904958 0 0.00049899968 0.030278024 103595.49 -0.0070690709 - 32000 0.00051586592 0 0.00051581433 0.030105498 103595.49 -0.007134143 - 33000 0.000533257 0 0.00053320367 0.029788452 103595.49 -0.0072245811 - 34000 0.00054849405 0 0.0005484392 0.029873916 103595.49 -0.0069597013 - 35000 0.00056356221 0 0.00056350586 0.029706011 103595.49 -0.00704387 - 36000 0.00057701153 0 0.00057695383 0.029584377 103595.49 -0.006959137 - 37000 0.00058975804 0 0.00058969906 0.029510998 103595.49 -0.0069205813 - 38000 0.00060106815 0 0.00060100804 0.029866588 103595.49 -0.006493655 - 39000 0.0006117822 0 0.00061172102 0.029468049 103595.49 -0.0066810094 - 40000 0.00062087615 0 0.00062081406 0.02930398 103595.49 -0.0067044715 - 41000 0.00062938044 0 0.0006293175 0.029314381 103595.49 -0.0065941361 - 42000 0.00063664289 0 0.00063657923 0.029294787 103595.49 -0.0065039202 - 43000 0.00064404027 0 0.00064397587 0.029224232 103595.49 -0.0065035306 - 44000 0.00064990723 0 0.00064984224 0.029142324 103595.49 -0.0065034116 - 45000 0.00065485343 0 0.00065478795 0.029121173 103595.49 -0.0065214973 - 46000 0.00065918796 0 0.00065912204 0.029651005 103595.49 -0.0060509446 - 47000 0.00066144517 0 0.00066137903 0.029234729 103595.49 -0.0064672274 - 48000 0.00066261185 0 0.00066254559 0.029229845 103595.49 -0.0065053596 - 49000 0.00066414215 0 0.00066407574 0.029562705 103595.49 -0.0062441985 - 50000 0.0006656453 0 0.00066557874 0.029728174 103595.49 -0.0062147051 - 51000 0.00066738973 0 0.00066732299 0.029928822 103595.49 -0.0060118516 - 52000 0.00066929756 0 0.00066923063 0.029886551 103595.49 -0.0061374389 - 53000 0.00067003172 0 0.00066996472 0.029567015 103595.49 -0.0063482821 - 54000 0.00067198511 0 0.00067191791 0.029833698 103595.49 -0.0061879264 - 55000 0.00067091193 0 0.00067084484 0.029711467 103595.49 -0.006233379 - 56000 0.00067046578 0 0.00067039873 0.030035238 103595.49 -0.0060959401 - 57000 0.00066988234 0 0.00066981535 0.030055225 103595.49 -0.0060935858 - 58000 0.00066786916 0 0.00066780238 0.029282172 103595.49 -0.0066021495 - 59000 0.00065350543 0 0.00065344008 0.029343567 103595.49 -0.0065364678 - 60000 0.0006530936 0 0.0006530283 0.02940862 103595.49 -0.0065558353 - 61000 0.00065187483 0 0.00065180964 0.02929946 103595.49 -0.0066840857 - 62000 0.00065245428 0 0.00065238904 0.030084765 103595.49 -0.0063065368 - 63000 0.0006549311 0 0.00065486561 0.029725525 103595.49 -0.0065305296 - 64000 0.00065774123 0 0.00065767546 0.029562667 103595.49 -0.0066194535 - 65000 0.00066126698 0 0.00066120085 0.029524987 103595.49 -0.0067008104 - 66000 0.0006643846 0 0.00066431816 0.029589813 103595.49 -0.0066689844 - 67000 0.00066823073 0 0.00066816391 0.029613668 103595.49 -0.0067372273 - 68000 0.00067301835 0 0.00067295104 0.029568568 103595.49 -0.0067808311 - 69000 0.00067876831 0 0.00067870043 0.029948152 103595.49 -0.0065107568 - 70000 0.00068419902 0 0.0006841306 0.029572996 103595.49 -0.0067066975 - 71000 0.00068730343 0 0.0006872347 0.029970497 103595.49 -0.0063646358 - 72000 0.00068930016 0 0.00068923123 0.029602044 103595.49 -0.0064953597 - 73000 0.00068953092 0 0.00068946197 0.029671751 103595.49 -0.0064422021 - 74000 0.00069106659 0 0.00069099748 0.029918321 103595.49 -0.0062634576 - 75000 0.00069609345 0 0.00069602384 0.029666179 103595.49 -0.0063552778 - 76000 0.00070399534 0 0.00070392494 0.029599912 103595.49 -0.0063251165 - 77000 0.00070284669 0 0.00070277641 0.029658992 103595.49 -0.0061988379 - 78000 0.00070619715 0 0.00070612653 0.029578035 103595.49 -0.0062153063 - 79000 0.00070895477 0 0.00070888388 0.029617734 103595.49 -0.0062090554 - 80000 0.00071127424 0 0.00071120311 0.029539347 103595.49 -0.0062883775 - 81000 0.00070945256 0 0.00070938162 0.029515493 103595.49 -0.0063350852 - 82000 0.00070895167 0 0.00070888078 0.029537389 103595.49 -0.0063819074 - 83000 0.00070948858 0 0.00070941763 0.02998589 103595.49 -0.0061284544 - 84000 0.00071197606 0 0.00071190486 0.030005566 103595.49 -0.0061829926 - 85000 0.00071266684 0 0.00071259557 0.029675137 103595.49 -0.0063804963 - 86000 0.00071465352 0 0.00071458205 0.029762675 103595.49 -0.0062924985 - 87000 0.00071779428 0 0.0007177225 0.029712831 103595.49 -0.0063812951 - 88000 0.00072016431 0 0.0007200923 0.029932619 103595.49 -0.0063145709 - 89000 0.00072271727 0 0.000722645 0.029818327 103595.49 -0.0064025621 - 90000 0.00072122834 0 0.00072115622 0.029829495 103595.49 -0.0065870713 - 91000 0.00072441206 0 0.00072433962 0.029939415 103595.49 -0.0064224045 - 92000 0.00072735846 0 0.00072728572 0.02991447 103595.49 -0.0064256019 - 93000 0.00072898882 0 0.00072891592 0.030230938 103595.49 -0.0061929729 - 94000 0.00072985209 0 0.00072977911 0.030145973 103595.49 -0.0062797016 - 95000 0.0007320685 0 0.0007319953 0.030113809 103595.49 -0.0062765142 - 96000 0.0007337917 0 0.00073371832 0.029919191 103595.49 -0.0063350801 - 97000 0.00073385417 0 0.00073378078 0.030184207 103595.49 -0.0062855982 - 98000 0.00073531629 0 0.00073524276 0.029974905 103595.49 -0.0064826333 - 99000 0.0007380024 0 0.0007379286 0.030678507 103595.49 -0.0060867823 - 100000 0.00073858055 0 0.00073850669 0.030048209 103595.49 -0.0065772058 -Loop time of 77.8133 on 4 procs for 100000 steps with 10000 atoms + 0 4.9204851e-05 0 4.9199931e-05 0.61204991 103595.49 -0.00083309917 + 1000 0.00038076464 0 0.00038072657 0.58694623 103595.49 -0.0066712806 + 2000 0.00027986478 0 0.00027983679 0.5845274 103595.49 -0.008880933 + 3000 0.00022105227 0 0.00022103017 0.58295464 103595.49 -0.011327442 + 4000 0.00020888366 0 0.00020886277 0.5826542 103595.49 -0.014147424 + 5000 0.00019912663 0 0.00019910672 0.58175837 103595.49 -0.015685634 + 6000 0.0001989441 0 0.00019892421 0.58170841 103595.49 -0.017379973 + 7000 0.00019307783 0 0.00019305852 0.58133913 103595.49 -0.019556709 + 8000 0.00018132444 0 0.00018130631 0.58134077 103595.49 -0.021609399 + 9000 0.00017909088 0 0.00017907297 0.58117179 103595.49 -0.023603514 + 10000 0.00018391928 0 0.00018390089 0.58070675 103595.49 -0.026026784 + 11000 0.00018985439 0 0.00018983541 0.58006086 103595.49 -0.028574238 + 12000 0.00018903569 0 0.00018901678 0.5794232 103595.49 -0.031151884 + 13000 0.00019070382 0 0.00019068475 0.57890243 103595.49 -0.033469404 + 14000 0.00019371625 0 0.00019369688 0.5787389 103595.49 -0.035646526 + 15000 0.00019833475 0 0.00019831492 0.57883166 103595.49 -0.037709788 + 16000 0.0002011729 0 0.00020115278 0.57875606 103595.49 -0.039452453 + 17000 0.00020285197 0 0.00020283168 0.5786311 103595.49 -0.040960671 + 18000 0.00020319173 0 0.00020317141 0.57842387 103595.49 -0.042257076 + 19000 0.00020290253 0 0.00020288224 0.57795043 103595.49 -0.043364149 + 20000 0.00020509847 0 0.00020507796 0.57714779 103595.49 -0.04439226 + 21000 0.0002180326 0 0.0002180108 0.57569003 103595.49 -0.044749042 + 22000 0.00020751218 0 0.00020749143 0.57477071 103595.49 -0.045719595 + 23000 0.0002205328 0 0.00022051075 0.57409228 103595.49 -0.047332145 + 24000 0.00022689643 0 0.00022687374 0.57325004 103595.49 -0.048717593 + 25000 0.00025224797 0 0.00025222275 0.57283728 103595.49 -0.050255013 + 26000 0.00025343192 0 0.00025340657 0.5723866 103595.49 -0.051604294 + 27000 0.0002668981 0 0.00026687141 0.57221051 103595.49 -0.052915314 + 28000 0.00027867942 0 0.00027865155 0.57197889 103595.49 -0.053831415 + 29000 0.00028697868 0 0.00028694998 0.57177287 103595.49 -0.054693262 + 30000 0.00028857623 0 0.00028854737 0.5714545 103595.49 -0.055559583 + 31000 0.00029228526 0 0.00029225603 0.57110328 103595.49 -0.056491646 + 32000 0.00029648479 0 0.00029645514 0.57060242 103595.49 -0.057299367 + 33000 0.00030524226 0 0.00030521174 0.57003089 103595.49 -0.058207205 + 34000 0.00031725278 0 0.00031722106 0.56920179 103595.49 -0.059123522 + 35000 0.00032273715 0 0.00032270488 0.56844806 103595.49 -0.06001074 + 36000 0.00033013214 0 0.00033009912 0.56795631 103595.49 -0.06107304 + 37000 0.00033942364 0 0.00033938969 0.56749308 103595.49 -0.062060209 + 38000 0.00035140856 0 0.00035137342 0.56682754 103595.49 -0.062954063 + 39000 0.00036125739 0 0.00036122126 0.56654839 103595.49 -0.063755554 + 40000 0.00037765404 0 0.00037761628 0.56619876 103595.49 -0.064535888 + 41000 0.00040833154 0 0.00040829071 0.56554179 103595.49 -0.064688901 + 42000 0.0004285629 0 0.00042852004 0.56474124 103595.49 -0.06526276 + 43000 0.00042691211 0 0.00042686942 0.56362219 103595.49 -0.065275494 + 44000 0.00040296803 0 0.00040292773 0.56310053 103595.49 -0.065625772 + 45000 0.00040933842 0 0.00040929749 0.56291338 103595.49 -0.066164396 + 46000 0.00040202229 0 0.00040198209 0.56273845 103595.49 -0.066541045 + 47000 0.00038914157 0 0.00038910266 0.562658 103595.49 -0.067357923 + 48000 0.00038428678 0 0.00038424835 0.5627468 103595.49 -0.068230972 + 49000 0.00036912501 0 0.0003690881 0.56261857 103595.49 -0.068794933 + 50000 0.00035203987 0 0.00035200467 0.56258099 103595.49 -0.069290362 + 51000 0.00034400774 0 0.00034397334 0.56237066 103595.49 -0.070274303 + 52000 0.00034126666 0 0.00034123253 0.56221436 103595.49 -0.071744779 + 53000 0.00033563205 0 0.00033559849 0.56195218 103595.49 -0.072836324 + 54000 0.0003304406 0 0.00033040756 0.5623187 103595.49 -0.073999087 + 55000 0.00032742828 0 0.00032739553 0.56225383 103595.49 -0.075066978 + 56000 0.00032696921 0 0.00032693651 0.56285643 103595.49 -0.076445225 + 57000 0.0003316388 0 0.00033160564 0.56354513 103595.49 -0.077683955 + 58000 0.00034325202 0 0.0003432177 0.56416895 103595.49 -0.078839054 + 59000 0.0003433584 0 0.00034332406 0.56490343 103595.49 -0.079658776 + 60000 0.00034732721 0 0.00034729247 0.5651932 103595.49 -0.080573609 + 61000 0.00034978913 0 0.00034975415 0.56517379 103595.49 -0.081109788 + 62000 0.00034995232 0 0.00034991733 0.56534537 103595.49 -0.081491908 + 63000 0.00033854315 0 0.00033850929 0.56582246 103595.49 -0.081894953 + 64000 0.0003260452 0 0.00032601259 0.56583259 103595.49 -0.082790811 + 65000 0.00031763096 0 0.0003175992 0.56576947 103595.49 -0.083707224 + 66000 0.00031761371 0 0.00031758194 0.56548785 103595.49 -0.084243042 + 67000 0.00031503681 0 0.0003150053 0.56483862 103595.49 -0.08451056 + 68000 0.0003036386 0 0.00030360824 0.56444755 103595.49 -0.084967521 + 69000 0.00030398979 0 0.00030395939 0.56436362 103595.49 -0.085541879 + 70000 0.0003281569 0 0.00032812409 0.56372598 103595.49 -0.085287975 + 71000 0.00035614631 0 0.0003561107 0.56322133 103595.49 -0.084970215 + 72000 0.00032709207 0 0.00032705936 0.56231837 103595.49 -0.085540239 + 73000 0.00032545048 0 0.00032541793 0.56278947 103595.49 -0.085940822 + 74000 0.00033285331 0 0.00033282002 0.56288405 103595.49 -0.08695227 + 75000 0.00034622589 0 0.00034619127 0.56198219 103595.49 -0.086349357 + 76000 0.00033654825 0 0.0003365146 0.56183659 103595.49 -0.086892729 + 77000 0.00033550364 0 0.00033547009 0.56197292 103595.49 -0.087018641 + 78000 0.00032680247 0 0.00032676979 0.56183307 103595.49 -0.087097072 + 79000 0.00031624495 0 0.00031621333 0.56161689 103595.49 -0.087358849 + 80000 0.0003124879 0 0.00031245665 0.5618608 103595.49 -0.087165611 + 81000 0.00029451552 0 0.00029448606 0.56211081 103595.49 -0.087652479 + 82000 0.00029588468 0 0.00029585509 0.5628096 103595.49 -0.08832193 + 83000 0.00030483225 0 0.00030480177 0.56261673 103595.49 -0.088586937 + 84000 0.00029556003 0 0.00029553047 0.56272654 103595.49 -0.089434209 + 85000 0.00030506369 0 0.00030503319 0.5627918 103595.49 -0.089830152 + 86000 0.00030015302 0 0.00030012301 0.56240656 103595.49 -0.090100219 + 87000 0.00030322942 0 0.0003031991 0.56243997 103595.49 -0.090327187 + 88000 0.00030569181 0 0.00030566124 0.56236256 103595.49 -0.090734148 + 89000 0.00031220625 0 0.00031217503 0.5621542 103595.49 -0.090898044 + 90000 0.00032214966 0 0.00032211744 0.56209534 103595.49 -0.090909986 + 91000 0.00033884101 0 0.00033880712 0.56191673 103595.49 -0.090818046 + 92000 0.00033260559 0 0.00033257233 0.56172194 103595.49 -0.090647169 + 93000 0.00032732547 0 0.00032729274 0.5619652 103595.49 -0.090575176 + 94000 0.00033817734 0 0.00033814352 0.56155436 103595.49 -0.090700379 + 95000 0.00033009649 0 0.00033006348 0.56147407 103595.49 -0.090940641 + 96000 0.00032882782 0 0.00032879494 0.56191577 103595.49 -0.091469188 + 97000 0.00032856078 0 0.00032852793 0.56271585 103595.49 -0.092256803 + 98000 0.00033030749 0 0.00033027446 0.56340097 103595.49 -0.093188128 + 99000 0.00033611507 0 0.00033608146 0.56375754 103595.49 -0.093539699 + 100000 0.00034990568 0 0.00034987069 0.56450225 103595.49 -0.093951624 + 101000 0.00044441478 0 0.00044437034 0.56437908 103595.49 -0.094161976 + 102000 0.00045403284 0 0.00045398743 0.56433013 103595.49 -0.093900071 + 103000 0.00045412317 0 0.00045407776 0.56468095 103595.49 -0.093670567 + 104000 0.00046494637 0 0.00046489988 0.56478442 103595.49 -0.093397211 + 105000 0.00047962271 0 0.00047957475 0.56482329 103595.49 -0.093141318 + 106000 0.00046840864 0 0.0004683618 0.56494359 103595.49 -0.092994704 + 107000 0.00046432422 0 0.00046427779 0.56543377 103595.49 -0.093135897 + 108000 0.0004655443 0 0.00046549774 0.5656898 103595.49 -0.093383926 + 109000 0.0004863785 0 0.00048632986 0.5657434 103595.49 -0.093328929 + 110000 0.00048804324 0 0.00048799443 0.5656147 103595.49 -0.09302382 + 111000 0.00050352097 0 0.00050347062 0.56529279 103595.49 -0.092461373 + 112000 0.00050474509 0 0.00050469461 0.56537494 103595.49 -0.092212501 + 113000 0.0005125299 0 0.00051247865 0.56547326 103595.49 -0.092304578 + 114000 0.00052700168 0 0.00052694898 0.56568076 103595.49 -0.092013613 + 115000 0.00054217865 0 0.00054212444 0.56526328 103595.49 -0.091011537 + 116000 0.00055122699 0 0.00055117186 0.56489606 103595.49 -0.090688925 + 117000 0.00055802701 0 0.00055797121 0.56458767 103595.49 -0.090385903 + 118000 0.00055416633 0 0.00055411091 0.56433528 103595.49 -0.090454192 + 119000 0.00055519395 0 0.00055513843 0.56411926 103595.49 -0.090495063 + 120000 0.0005535194 0 0.00055346405 0.56424847 103595.49 -0.090915789 + 121000 0.00054781097 0 0.00054775619 0.56443756 103595.49 -0.090687173 + 122000 0.00054528815 0 0.00054523362 0.56401103 103595.49 -0.090443168 + 123000 0.0005456223 0 0.00054556773 0.56376875 103595.49 -0.090277114 + 124000 0.00054080131 0 0.00054074723 0.563306 103595.49 -0.091297668 + 125000 0.00054597 0 0.0005459154 0.56387718 103595.49 -0.091522394 + 126000 0.000544669 0 0.00054461453 0.56318185 103595.49 -0.091100523 + 127000 0.00054592361 0 0.00054586902 0.56328758 103595.49 -0.091299714 + 128000 0.00056246325 0 0.000562407 0.56296852 103595.49 -0.091491356 + 129000 0.00057655488 0 0.00057649723 0.56242057 103595.49 -0.091474584 + 130000 0.00060363901 0 0.00060357864 0.56182729 103595.49 -0.091367782 + 131000 0.00060590757 0 0.00060584698 0.56115572 103595.49 -0.090594163 + 132000 0.00061689139 0 0.0006168297 0.56029248 103595.49 -0.089857939 + 133000 0.00063288773 0 0.00063282444 0.55971427 103595.49 -0.08954619 + 134000 0.00064153654 0 0.00064147238 0.55929877 103595.49 -0.089860563 + 135000 0.00065473169 0 0.00065466622 0.5590797 103595.49 -0.089932375 + 136000 0.0006814182 0 0.00068135006 0.55797116 103595.49 -0.08929097 + 137000 0.00068344911 0 0.00068338077 0.55796657 103595.49 -0.089644888 + 138000 0.00071510067 0 0.00071502916 0.55752379 103595.49 -0.089734088 + 139000 0.00074772787 0 0.0007476531 0.55740054 103595.49 -0.089968295 + 140000 0.00072706311 0 0.0007269904 0.55659113 103595.49 -0.090370844 + 141000 0.0007179286 0 0.00071785681 0.55659012 103595.49 -0.089976688 + 142000 0.00072587657 0 0.00072580399 0.55589037 103595.49 -0.090532153 + 143000 0.00074470967 0 0.0007446352 0.55553128 103595.49 -0.091019969 + 144000 0.00071737422 0 0.00071730248 0.55555994 103595.49 -0.090926005 + 145000 0.00070363824 0 0.00070356787 0.55548936 103595.49 -0.0912353 + 146000 0.00069604487 0 0.00069597527 0.55540516 103595.49 -0.091656715 + 147000 0.00070047196 0 0.00070040191 0.55466746 103595.49 -0.092101291 + 148000 0.00069764904 0 0.00069757927 0.55460283 103595.49 -0.092334573 + 149000 0.00068884707 0 0.00068877819 0.55462796 103595.49 -0.0928736 + 150000 0.00067704593 0 0.00067697823 0.55520015 103595.49 -0.093512131 + 151000 0.00067702275 0 0.00067695505 0.55530068 103595.49 -0.094127311 + 152000 0.000690717 0 0.00069064792 0.55432538 103595.49 -0.094248615 + 153000 0.00067758953 0 0.00067752177 0.55460446 103595.49 -0.094839924 + 154000 0.00067748542 0 0.00067741767 0.55532529 103595.49 -0.095832411 + 155000 0.00068723442 0 0.0006871657 0.55637763 103595.49 -0.096838207 + 156000 0.00071590663 0 0.00071583504 0.5569485 103595.49 -0.097686166 + 157000 0.00078378647 0 0.0007837081 0.55755381 103595.49 -0.097968527 + 158000 0.00080144334 0 0.00080136319 0.55741023 103595.49 -0.098119361 + 159000 0.00079183165 0 0.00079175247 0.55756142 103595.49 -0.097925888 + 160000 0.00081212358 0 0.00081204237 0.55669124 103595.49 -0.098171108 + 161000 0.00082903843 0 0.00082895553 0.55608918 103595.49 -0.097827206 + 162000 0.00084257416 0 0.0008424899 0.5560239 103595.49 -0.096775743 + 163000 0.00086279615 0 0.00086270987 0.55550215 103595.49 -0.095981927 + 164000 0.00092139657 0 0.00092130443 0.55395137 103595.49 -0.095215338 + 165000 0.00095519936 0 0.00095510384 0.55376787 103595.49 -0.0945666 + 166000 0.00092201276 0 0.00092192056 0.55373794 103595.49 -0.093531233 + 167000 0.0008525194 0 0.00085243415 0.55375862 103595.49 -0.09389901 + 168000 0.00081977785 0 0.00081969587 0.5536646 103595.49 -0.093829746 + 169000 0.00079692467 0 0.00079684497 0.55416599 103595.49 -0.094433271 + 170000 0.00077787798 0 0.0007778002 0.55416629 103595.49 -0.095043413 + 171000 0.0007651362 0 0.00076505969 0.55418872 103595.49 -0.095212376 + 172000 0.00074631438 0 0.00074623975 0.55403881 103595.49 -0.095463949 + 173000 0.00074431288 0 0.00074423845 0.55415801 103595.49 -0.095319615 + 174000 0.00073924649 0 0.00073917257 0.55373682 103595.49 -0.094724272 + 175000 0.00070973165 0 0.00070966068 0.55393569 103595.49 -0.094201112 + 176000 0.00069820766 0 0.00069813784 0.55341229 103595.49 -0.093530469 + 177000 0.00070922657 0 0.00070915564 0.55282781 103595.49 -0.093282587 + 178000 0.00073688566 0 0.00073681197 0.55223248 103595.49 -0.092190554 + 179000 0.00072455886 0 0.0007244864 0.55244288 103595.49 -0.09182393 + 180000 0.00071894558 0 0.00071887369 0.55281517 103595.49 -0.092177032 + 181000 0.00071752475 0 0.000717453 0.55297293 103595.49 -0.09230934 + 182000 0.00072247421 0 0.00072240196 0.55287294 103595.49 -0.092465908 + 183000 0.00070596821 0 0.00070589761 0.5526242 103595.49 -0.092013313 + 184000 0.00072460909 0 0.00072453663 0.55230817 103595.49 -0.092211243 + 185000 0.00072499917 0 0.00072492667 0.55273387 103595.49 -0.092920761 + 186000 0.00072852698 0 0.00072845413 0.55358929 103595.49 -0.093428623 + 187000 0.00072515668 0 0.00072508417 0.55336733 103595.49 -0.093440126 + 188000 0.00071355728 0 0.00071348593 0.55408468 103595.49 -0.094819333 + 189000 0.00071703212 0 0.00071696042 0.55424355 103595.49 -0.096198144 + 190000 0.00071808849 0 0.00071801668 0.55504118 103595.49 -0.097199842 + 191000 0.00072458142 0 0.00072450896 0.55493515 103595.49 -0.097564772 + 192000 0.00071472504 0 0.00071465357 0.55572657 103595.49 -0.097663072 + 193000 0.00070803966 0 0.00070796886 0.55546116 103595.49 -0.097306162 + 194000 0.00068236077 0 0.00068229254 0.55581155 103595.49 -0.097141594 + 195000 0.00067304613 0 0.00067297882 0.55559507 103595.49 -0.096646489 + 196000 0.00066680808 0 0.0006667414 0.55512029 103595.49 -0.096241456 + 197000 0.00065829161 0 0.00065822578 0.55545375 103595.49 -0.095808778 + 198000 0.0006617611 0 0.00066169492 0.55551074 103595.49 -0.095423531 + 199000 0.00066805655 0 0.00066798975 0.55581298 103595.49 -0.095287337 + 200000 0.00067263902 0 0.00067257175 0.55601669 103595.49 -0.095551006 +Loop time of 145.127 on 4 procs for 200000 steps with 10000 atoms -Performance: 555175.163 tau/day, 1285.128 timesteps/s +Performance: 595339.507 tau/day, 1378.101 timesteps/s 100.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 28.939 | 48.992 | 61.808 | 189.4 | 62.96 -Neigh | 0.22765 | 0.31872 | 0.38751 | 10.9 | 0.41 -Comm | 3.53 | 16.362 | 36.515 | 328.8 | 21.03 -Output | 0.0046275 | 0.0064601 | 0.008626 | 1.8 | 0.01 -Modify | 5.0862 | 8.3128 | 10.255 | 74.1 | 10.68 -Other | | 3.821 | | | 4.91 +Pair | 57.89 | 91.946 | 113.82 | 229.7 | 63.36 +Neigh | 0.34276 | 0.48607 | 0.56708 | 13.1 | 0.33 +Comm | 6.569 | 28.916 | 63.505 | 417.0 | 19.92 +Output | 0.0087178 | 0.011935 | 0.01563 | 2.3 | 0.01 +Modify | 10.432 | 16.495 | 20.378 | 97.7 | 11.37 +Other | | 7.272 | | | 5.01 -Nlocal: 2500.00 ave 3016 max 1605 min +Nlocal: 2500.00 ave 2990 max 1652 min Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 221.500 ave 273 max 176 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 8616.00 ave 10377 max 5447 min +Nghost: 228.000 ave 254 max 198 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 8611.25 ave 10364 max 5676 min Histogram: 1 0 0 0 0 1 0 0 0 2 -Total # of neighbors = 34464 -Ave neighs/atom = 3.4464000 -Neighbor list builds = 153 +Total # of neighbors = 34445 +Ave neighs/atom = 3.4445000 +Neighbor list builds = 241 Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:01:17 +Total wall time: 0:02:25 From 880b40e10465d7292d4987302b7a49ab86042a64 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 7 Feb 2021 10:44:51 -0700 Subject: [PATCH 071/542] Adding setup_bins() method to nbin_intel.cpp --- src/USER-INTEL/nbin_intel.cpp | 161 ++++++++++++++++++++++++++++++++++ src/USER-INTEL/nbin_intel.h | 1 + 2 files changed, 162 insertions(+) diff --git a/src/USER-INTEL/nbin_intel.cpp b/src/USER-INTEL/nbin_intel.cpp index 31b53e3462..848ac6edd8 100644 --- a/src/USER-INTEL/nbin_intel.cpp +++ b/src/USER-INTEL/nbin_intel.cpp @@ -21,11 +21,15 @@ #include "comm.h" #include "error.h" #include "group.h" +#include "domain.h" #include "modify.h" #include "update.h" using namespace LAMMPS_NS; +#define SMALL 1.0e-6 +#define CUT2BIN_RATIO 100 + /* ---------------------------------------------------------------------- */ NBinIntel::NBinIntel(LAMMPS *lmp) : NBinStandard(lmp) { @@ -132,6 +136,163 @@ void NBinIntel::bin_atoms_setup(int nall) } } + +/* ---------------------------------------------------------------------- + setup neighbor binning geometry + bin numbering in each dimension is global: + 0 = 0.0 to binsize, 1 = binsize to 2*binsize, etc + nbin-1,nbin,etc = bbox-binsize to bbox, bbox to bbox+binsize, etc + -1,-2,etc = -binsize to 0.0, -2*binsize to -binsize, etc + code will work for any binsize + since next(xyz) and stencil extend as far as necessary + binsize = 1/2 of cutoff is roughly optimal + for orthogonal boxes: + a dim must be filled exactly by integer # of bins + in periodic, procs on both sides of PBC must see same bin boundary + in non-periodic, coord2bin() still assumes this by use of nbin xyz + for triclinic boxes: + tilted simulation box cannot contain integer # of bins + stencil & neigh list built differently to account for this + mbinlo = lowest global bin any of my ghost atoms could fall into + mbinhi = highest global bin any of my ghost atoms could fall into + mbin = number of bins I need in a dimension +------------------------------------------------------------------------- */ + +void NBinIntel::setup_bins(int style) +{ + // bbox = size of bbox of entire domain + // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost + // for triclinic: + // bbox bounds all 8 corners of tilted box + // subdomain is in lamda coords + // include dimension-dependent extension via comm->cutghost + // domain->bbox() converts lamda extent to box coords and computes bbox + + double bbox[3],bsubboxlo[3],bsubboxhi[3]; + double *cutghost = comm->cutghost; + + if (triclinic == 0) { + bsubboxlo[0] = domain->sublo[0] - cutghost[0]; + bsubboxlo[1] = domain->sublo[1] - cutghost[1]; + bsubboxlo[2] = domain->sublo[2] - cutghost[2]; + bsubboxhi[0] = domain->subhi[0] + cutghost[0]; + bsubboxhi[1] = domain->subhi[1] + cutghost[1]; + bsubboxhi[2] = domain->subhi[2] + cutghost[2]; + } else { + double lo[3],hi[3]; + lo[0] = domain->sublo_lamda[0] - cutghost[0]; + lo[1] = domain->sublo_lamda[1] - cutghost[1]; + lo[2] = domain->sublo_lamda[2] - cutghost[2]; + hi[0] = domain->subhi_lamda[0] + cutghost[0]; + hi[1] = domain->subhi_lamda[1] + cutghost[1]; + hi[2] = domain->subhi_lamda[2] + cutghost[2]; + domain->bbox(lo,hi,bsubboxlo,bsubboxhi); + } + + bbox[0] = bboxhi[0] - bboxlo[0]; + bbox[1] = bboxhi[1] - bboxlo[1]; + bbox[2] = bboxhi[2] - bboxlo[2]; + + // optimal bin size is roughly 1/2 the cutoff + // for BIN style, binsize = 1/2 of max neighbor cutoff + // for MULTI_OLD style, binsize = 1/2 of min neighbor cutoff + // special case of all cutoffs = 0.0, binsize = box size + + double binsize_optimal; + if (binsizeflag) binsize_optimal = binsize_user; + else if (style == Neighbor::BIN) binsize_optimal = 0.5*cutneighmax; + else binsize_optimal = 0.5*cutneighmin; + if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; + double binsizeinv = 1.0/binsize_optimal; + + // test for too many global bins in any dimension due to huge global domain + + if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || + bbox[2]*binsizeinv > MAXSMALLINT) + error->all(FLERR,"Domain too large for neighbor bins"); + + // create actual bins + // always have one bin even if cutoff > bbox + // for 2d, nbinz = 1 + + nbinx = static_cast (bbox[0]*binsizeinv); + nbiny = static_cast (bbox[1]*binsizeinv); + if (dimension == 3) nbinz = static_cast (bbox[2]*binsizeinv); + else nbinz = 1; + + if (nbinx == 0) nbinx = 1; + if (nbiny == 0) nbiny = 1; + if (nbinz == 0) nbinz = 1; + + // compute actual bin size for nbins to fit into box exactly + // error if actual bin size << cutoff, since will create a zillion bins + // this happens when nbin = 1 and box size << cutoff + // typically due to non-periodic, flat system in a particular dim + // in that extreme case, should use NSQ not BIN neighbor style + + binsizex = bbox[0]/nbinx; + binsizey = bbox[1]/nbiny; + binsizez = bbox[2]/nbinz; + + bininvx = 1.0 / binsizex; + bininvy = 1.0 / binsizey; + bininvz = 1.0 / binsizez; + + if (binsize_optimal*bininvx > CUT2BIN_RATIO || + binsize_optimal*bininvy > CUT2BIN_RATIO || + binsize_optimal*bininvz > CUT2BIN_RATIO) + error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); + + // mbinlo/hi = lowest and highest global bins my ghost atoms could be in + // coord = lowest and highest values of coords for my ghost atoms + // static_cast(-1.5) = -1, so subract additional -1 + // add in SMALL for round-off safety + + int mbinxhi,mbinyhi,mbinzhi; + double coord; + + coord = bsubboxlo[0] - SMALL*bbox[0]; + mbinxlo = static_cast ((coord-bboxlo[0])*bininvx); + if (coord < bboxlo[0]) mbinxlo = mbinxlo - 1; + coord = bsubboxhi[0] + SMALL*bbox[0]; + mbinxhi = static_cast ((coord-bboxlo[0])*bininvx); + + coord = bsubboxlo[1] - SMALL*bbox[1]; + mbinylo = static_cast ((coord-bboxlo[1])*bininvy); + if (coord < bboxlo[1]) mbinylo = mbinylo - 1; + coord = bsubboxhi[1] + SMALL*bbox[1]; + mbinyhi = static_cast ((coord-bboxlo[1])*bininvy); + + if (dimension == 3) { + coord = bsubboxlo[2] - SMALL*bbox[2]; + mbinzlo = static_cast ((coord-bboxlo[2])*bininvz); + if (coord < bboxlo[2]) mbinzlo = mbinzlo - 1; + coord = bsubboxhi[2] + SMALL*bbox[2]; + mbinzhi = static_cast ((coord-bboxlo[2])*bininvz); + } + + // extend bins by 1 to insure stencil extent is included + // for 2d, only 1 bin in z + + mbinxlo = mbinxlo - 1; + mbinxhi = mbinxhi + 1; + mbinx = mbinxhi - mbinxlo + 1; + + mbinylo = mbinylo - 1; + mbinyhi = mbinyhi + 1; + mbiny = mbinyhi - mbinylo + 1; + + if (dimension == 3) { + mbinzlo = mbinzlo - 1; + mbinzhi = mbinzhi + 1; + } else mbinzlo = mbinzhi = 0; + mbinz = mbinzhi - mbinzlo + 1; + + bigint bbin = ((bigint) mbinx) * ((bigint) mbiny) * ((bigint) mbinz) + 1; + if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); + mbins = bbin; +} + /* ---------------------------------------------------------------------- bin owned and ghost atoms ------------------------------------------------------------------------- */ diff --git a/src/USER-INTEL/nbin_intel.h b/src/USER-INTEL/nbin_intel.h index a7a28010ba..e49f332392 100644 --- a/src/USER-INTEL/nbin_intel.h +++ b/src/USER-INTEL/nbin_intel.h @@ -33,6 +33,7 @@ class NBinIntel : public NBinStandard { NBinIntel(class LAMMPS *); ~NBinIntel(); void bin_atoms_setup(int); + void setup_bins(int); void bin_atoms(); int * get_binpacked() { return _binpacked; } From 05f02fbc32230222900853b675be015fd77de018 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 7 Feb 2021 12:40:59 -0700 Subject: [PATCH 072/542] Removing setup method and adding correct nbin bitmask --- src/USER-INTEL/nbin_intel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-INTEL/nbin_intel.h b/src/USER-INTEL/nbin_intel.h index e49f332392..b2b3d5d0ca 100644 --- a/src/USER-INTEL/nbin_intel.h +++ b/src/USER-INTEL/nbin_intel.h @@ -15,7 +15,7 @@ NBinStyle(intel, NBinIntel, - NB_INTEL) + NB_STANDARD | NB_INTEL) #else From 5a4c45f2ea98867af95ac1dc90a600f48ee2c2d6 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 7 Feb 2021 13:02:45 -0700 Subject: [PATCH 073/542] Fixing bitmasks and removing method again --- src/USER-INTEL/nbin_intel.cpp | 161 ---------------------------------- src/USER-INTEL/nbin_intel.h | 1 - 2 files changed, 162 deletions(-) diff --git a/src/USER-INTEL/nbin_intel.cpp b/src/USER-INTEL/nbin_intel.cpp index 848ac6edd8..31b53e3462 100644 --- a/src/USER-INTEL/nbin_intel.cpp +++ b/src/USER-INTEL/nbin_intel.cpp @@ -21,15 +21,11 @@ #include "comm.h" #include "error.h" #include "group.h" -#include "domain.h" #include "modify.h" #include "update.h" using namespace LAMMPS_NS; -#define SMALL 1.0e-6 -#define CUT2BIN_RATIO 100 - /* ---------------------------------------------------------------------- */ NBinIntel::NBinIntel(LAMMPS *lmp) : NBinStandard(lmp) { @@ -136,163 +132,6 @@ void NBinIntel::bin_atoms_setup(int nall) } } - -/* ---------------------------------------------------------------------- - setup neighbor binning geometry - bin numbering in each dimension is global: - 0 = 0.0 to binsize, 1 = binsize to 2*binsize, etc - nbin-1,nbin,etc = bbox-binsize to bbox, bbox to bbox+binsize, etc - -1,-2,etc = -binsize to 0.0, -2*binsize to -binsize, etc - code will work for any binsize - since next(xyz) and stencil extend as far as necessary - binsize = 1/2 of cutoff is roughly optimal - for orthogonal boxes: - a dim must be filled exactly by integer # of bins - in periodic, procs on both sides of PBC must see same bin boundary - in non-periodic, coord2bin() still assumes this by use of nbin xyz - for triclinic boxes: - tilted simulation box cannot contain integer # of bins - stencil & neigh list built differently to account for this - mbinlo = lowest global bin any of my ghost atoms could fall into - mbinhi = highest global bin any of my ghost atoms could fall into - mbin = number of bins I need in a dimension -------------------------------------------------------------------------- */ - -void NBinIntel::setup_bins(int style) -{ - // bbox = size of bbox of entire domain - // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost - // for triclinic: - // bbox bounds all 8 corners of tilted box - // subdomain is in lamda coords - // include dimension-dependent extension via comm->cutghost - // domain->bbox() converts lamda extent to box coords and computes bbox - - double bbox[3],bsubboxlo[3],bsubboxhi[3]; - double *cutghost = comm->cutghost; - - if (triclinic == 0) { - bsubboxlo[0] = domain->sublo[0] - cutghost[0]; - bsubboxlo[1] = domain->sublo[1] - cutghost[1]; - bsubboxlo[2] = domain->sublo[2] - cutghost[2]; - bsubboxhi[0] = domain->subhi[0] + cutghost[0]; - bsubboxhi[1] = domain->subhi[1] + cutghost[1]; - bsubboxhi[2] = domain->subhi[2] + cutghost[2]; - } else { - double lo[3],hi[3]; - lo[0] = domain->sublo_lamda[0] - cutghost[0]; - lo[1] = domain->sublo_lamda[1] - cutghost[1]; - lo[2] = domain->sublo_lamda[2] - cutghost[2]; - hi[0] = domain->subhi_lamda[0] + cutghost[0]; - hi[1] = domain->subhi_lamda[1] + cutghost[1]; - hi[2] = domain->subhi_lamda[2] + cutghost[2]; - domain->bbox(lo,hi,bsubboxlo,bsubboxhi); - } - - bbox[0] = bboxhi[0] - bboxlo[0]; - bbox[1] = bboxhi[1] - bboxlo[1]; - bbox[2] = bboxhi[2] - bboxlo[2]; - - // optimal bin size is roughly 1/2 the cutoff - // for BIN style, binsize = 1/2 of max neighbor cutoff - // for MULTI_OLD style, binsize = 1/2 of min neighbor cutoff - // special case of all cutoffs = 0.0, binsize = box size - - double binsize_optimal; - if (binsizeflag) binsize_optimal = binsize_user; - else if (style == Neighbor::BIN) binsize_optimal = 0.5*cutneighmax; - else binsize_optimal = 0.5*cutneighmin; - if (binsize_optimal == 0.0) binsize_optimal = bbox[0]; - double binsizeinv = 1.0/binsize_optimal; - - // test for too many global bins in any dimension due to huge global domain - - if (bbox[0]*binsizeinv > MAXSMALLINT || bbox[1]*binsizeinv > MAXSMALLINT || - bbox[2]*binsizeinv > MAXSMALLINT) - error->all(FLERR,"Domain too large for neighbor bins"); - - // create actual bins - // always have one bin even if cutoff > bbox - // for 2d, nbinz = 1 - - nbinx = static_cast (bbox[0]*binsizeinv); - nbiny = static_cast (bbox[1]*binsizeinv); - if (dimension == 3) nbinz = static_cast (bbox[2]*binsizeinv); - else nbinz = 1; - - if (nbinx == 0) nbinx = 1; - if (nbiny == 0) nbiny = 1; - if (nbinz == 0) nbinz = 1; - - // compute actual bin size for nbins to fit into box exactly - // error if actual bin size << cutoff, since will create a zillion bins - // this happens when nbin = 1 and box size << cutoff - // typically due to non-periodic, flat system in a particular dim - // in that extreme case, should use NSQ not BIN neighbor style - - binsizex = bbox[0]/nbinx; - binsizey = bbox[1]/nbiny; - binsizez = bbox[2]/nbinz; - - bininvx = 1.0 / binsizex; - bininvy = 1.0 / binsizey; - bininvz = 1.0 / binsizez; - - if (binsize_optimal*bininvx > CUT2BIN_RATIO || - binsize_optimal*bininvy > CUT2BIN_RATIO || - binsize_optimal*bininvz > CUT2BIN_RATIO) - error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); - - // mbinlo/hi = lowest and highest global bins my ghost atoms could be in - // coord = lowest and highest values of coords for my ghost atoms - // static_cast(-1.5) = -1, so subract additional -1 - // add in SMALL for round-off safety - - int mbinxhi,mbinyhi,mbinzhi; - double coord; - - coord = bsubboxlo[0] - SMALL*bbox[0]; - mbinxlo = static_cast ((coord-bboxlo[0])*bininvx); - if (coord < bboxlo[0]) mbinxlo = mbinxlo - 1; - coord = bsubboxhi[0] + SMALL*bbox[0]; - mbinxhi = static_cast ((coord-bboxlo[0])*bininvx); - - coord = bsubboxlo[1] - SMALL*bbox[1]; - mbinylo = static_cast ((coord-bboxlo[1])*bininvy); - if (coord < bboxlo[1]) mbinylo = mbinylo - 1; - coord = bsubboxhi[1] + SMALL*bbox[1]; - mbinyhi = static_cast ((coord-bboxlo[1])*bininvy); - - if (dimension == 3) { - coord = bsubboxlo[2] - SMALL*bbox[2]; - mbinzlo = static_cast ((coord-bboxlo[2])*bininvz); - if (coord < bboxlo[2]) mbinzlo = mbinzlo - 1; - coord = bsubboxhi[2] + SMALL*bbox[2]; - mbinzhi = static_cast ((coord-bboxlo[2])*bininvz); - } - - // extend bins by 1 to insure stencil extent is included - // for 2d, only 1 bin in z - - mbinxlo = mbinxlo - 1; - mbinxhi = mbinxhi + 1; - mbinx = mbinxhi - mbinxlo + 1; - - mbinylo = mbinylo - 1; - mbinyhi = mbinyhi + 1; - mbiny = mbinyhi - mbinylo + 1; - - if (dimension == 3) { - mbinzlo = mbinzlo - 1; - mbinzhi = mbinzhi + 1; - } else mbinzlo = mbinzhi = 0; - mbinz = mbinzhi - mbinzlo + 1; - - bigint bbin = ((bigint) mbinx) * ((bigint) mbiny) * ((bigint) mbinz) + 1; - if (bbin > MAXSMALLINT) error->one(FLERR,"Too many neighbor bins"); - mbins = bbin; -} - /* ---------------------------------------------------------------------- bin owned and ghost atoms ------------------------------------------------------------------------- */ diff --git a/src/USER-INTEL/nbin_intel.h b/src/USER-INTEL/nbin_intel.h index b2b3d5d0ca..fef1bf0f26 100644 --- a/src/USER-INTEL/nbin_intel.h +++ b/src/USER-INTEL/nbin_intel.h @@ -33,7 +33,6 @@ class NBinIntel : public NBinStandard { NBinIntel(class LAMMPS *); ~NBinIntel(); void bin_atoms_setup(int); - void setup_bins(int); void bin_atoms(); int * get_binpacked() { return _binpacked; } From 952216033ee551769611e0d31cfe059856405baf Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 7 Feb 2021 13:33:11 -0700 Subject: [PATCH 074/542] Adding correct masks to kokks/user-dpd nbin classes --- src/KOKKOS/nbin_kokkos.h | 4 ++-- src/KOKKOS/nbin_ssa_kokkos.h | 4 ++-- src/USER-DPD/nbin_ssa.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/nbin_kokkos.h b/src/KOKKOS/nbin_kokkos.h index bf2ccc5908..7297489d4a 100644 --- a/src/KOKKOS/nbin_kokkos.h +++ b/src/KOKKOS/nbin_kokkos.h @@ -15,11 +15,11 @@ NBinStyle(kk/host, NBinKokkos, - NB_KOKKOS_HOST) + NB_STANDARD | NB_KOKKOS_HOST) NBinStyle(kk/device, NBinKokkos, - NB_KOKKOS_DEVICE) + NB_STANDARD | NB_KOKKOS_DEVICE) #else diff --git a/src/KOKKOS/nbin_ssa_kokkos.h b/src/KOKKOS/nbin_ssa_kokkos.h index c9a389bed4..b094bf8ae6 100644 --- a/src/KOKKOS/nbin_ssa_kokkos.h +++ b/src/KOKKOS/nbin_ssa_kokkos.h @@ -15,11 +15,11 @@ NBinStyle(ssa/kk/host, NBinSSAKokkos, - NB_SSA | NB_KOKKOS_HOST) + NB_STANDARD | NB_SSA | NB_KOKKOS_HOST) NBinStyle(ssa/kk/device, NBinSSAKokkos, - NB_SSA | NB_KOKKOS_DEVICE) + NB_STANDARD | NB_SSA | NB_KOKKOS_DEVICE) #else diff --git a/src/USER-DPD/nbin_ssa.h b/src/USER-DPD/nbin_ssa.h index eb4b2db24c..7c6bf4325b 100644 --- a/src/USER-DPD/nbin_ssa.h +++ b/src/USER-DPD/nbin_ssa.h @@ -15,7 +15,7 @@ NBinStyle(ssa, NBinSSA, - NB_SSA) + NB_STANDARD | NB_SSA) #else From de1205c5a9e3aa80e6958135169902d22f9afbac Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Sun, 7 Feb 2021 20:38:24 -0700 Subject: [PATCH 075/542] Fixing misc valgrind issues, particularly with resizing ncollections --- src/comm.cpp | 2 + src/comm.h | 1 + src/comm_brick.cpp | 11 +-- src/comm_tiled.cpp | 15 ++-- src/nbin_multi.cpp | 6 +- src/neighbor.cpp | 9 ++- src/nstencil.cpp | 121 ++++++++++++++++++++------------- src/nstencil.h | 3 +- src/nstencil_half_multi_2d.cpp | 2 +- 9 files changed, 105 insertions(+), 65 deletions(-) diff --git a/src/comm.cpp b/src/comm.cpp index 33e4b894d5..d729545dba 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -58,6 +58,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) bordergroup = 0; cutghostuser = 0.0; cutusermulti = nullptr; + cutusermultiflag = 0; cutusermultiold = nullptr; ncollections_prior = 0; ghost_velocity = 0; @@ -348,6 +349,7 @@ void Comm::modify_params(int narg, char **arg) // ncollections can be changed by neigh_modify commands cut = utils::numeric(FLERR,arg[iarg+2],false,lmp); cutghostuser = MAX(cutghostuser,cut); + cutusermultiflag = 1; if (cut < 0.0) error->all(FLERR,"Invalid cutoff in comm_modify command"); usermultiargs.emplace_back(arg[iarg+1], cut); diff --git a/src/comm.h b/src/comm.h index 2afdfd8765..418983b6e6 100644 --- a/src/comm.h +++ b/src/comm.h @@ -33,6 +33,7 @@ class Comm : protected Pointers { double cutghost[3]; // cutoffs used for acquiring ghost atoms double cutghostuser; // user-specified ghost cutoff (mode == 0) double *cutusermulti; // per collection user ghost cutoff (mode == 1) + int cutusermultiflag; std::vector> usermultiargs; // collection args for custom ghost cutoffs double *cutusermultiold; // per type user ghost cutoff (mode == 2) diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 58c6a65837..160ecf2c3d 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -142,6 +142,7 @@ void CommBrick::init() // allocate in setup if (mode == Comm::MULTI && multilo == nullptr) { + ncollections = neighbor->ncollections; allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); ncollections_prior = ncollections; @@ -205,10 +206,12 @@ void CommBrick::setup() allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); - memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); - for(i = ncollections_prior; i < ncollections; i++) - cutusermulti[i] = -1.0; - + if(cutusermultiflag) { + memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); + for(i = ncollections_prior; i < ncollections; i++) + cutusermulti[i] = -1.0; + } + ncollections_prior = ncollections; } diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index c06ad52d6c..0a09dc830d 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -104,6 +104,11 @@ void CommTiled::init_buffers() cutghostmultiold = nullptr; sendbox_multi = nullptr; sendbox_multiold = nullptr; + + // initialize ncollections so grow_swap_send_multi() will not + // construct arrays in init() but will wait for setup() + ncollections = 0; + ncollections_prior = 0; maxswap = 6; allocate_swap(maxswap); @@ -194,10 +199,12 @@ void CommTiled::setup() for(i = 0; i < maxswap; i ++) grow_swap_send_multi(i,DELTA_PROCS); - memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); - for(i = ncollections_prior; i < ncollections; i++) - cutusermulti[i] = -1.0; - + if(cutusermultiflag){ + memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); + for(i = ncollections_prior; i < ncollections; i++) + cutusermulti[i] = -1.0; + } + ncollections_prior = ncollections; } diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index bbc69dc2d6..a39f10d074 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -146,7 +146,7 @@ void NBinMulti::setup_bins(int /*style*/) // Identify smallest collection int icollectionmin = 0; - for (n = 0; n < maxcollections; n++) + for (n = 0; n < ncollections; n++) if (cutcollectionsq[n][n] < cutcollectionsq[icollectionmin][icollectionmin]) icollectionmin = n; @@ -188,7 +188,7 @@ void NBinMulti::setup_bins(int /*style*/) double binsize_optimal, binsizeinv, coord; int mbinxhi,mbinyhi,mbinzhi; - for (n = 0; n < maxcollections; n++) { + for (n = 0; n < ncollections; n++) { // binsize_user only relates to smallest collection // optimal bin size is roughly 1/2 the collection-collection cutoff // special case of all cutoffs = 0.0, binsize = box size @@ -296,7 +296,7 @@ void NBinMulti::bin_atoms() int i,ibin,n; last_bin = update->ntimestep; - for (n = 0; n < maxcollections; n++) { + for (n = 0; n < ncollections; n++) { for (i = 0; i < mbins_multi[n]; i++) binhead_multi[n][i] = -1; } // bin in reverse order so linked list will be in forward order diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 2671553a07..e8f9798df8 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -426,7 +426,7 @@ void Neighbor::init() for(i = 1; i <= n; i++){ cuttmp = sqrt(cutneighsq[i][i]); for(icollection = 0; icollection < ncollections; icollection ++){ - if(collection2cut[icollection] > cuttmp) { + if(collection2cut[icollection] >= cuttmp) { type2collection[i] = icollection; break; } @@ -2503,6 +2503,8 @@ void Neighbor::modify_params(int narg, char **arg) if(iarg+2 > narg) error->all(FLERR,"Invalid collection/interval command"); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if(ncollections < 1) + error->all(FLERR,"Invalid collection/interval command"); if(iarg+1+ncollections > narg) error->all(FLERR,"Invalid collection/interval command"); @@ -2511,8 +2513,7 @@ void Neighbor::modify_params(int narg, char **arg) interval_collection_flag = 1; custom_collection_flag = 1; - if(not collection2cut) - memory->create(collection2cut,ncollections,"neigh:collection2cut"); + memory->grow(collection2cut,ncollections,"neigh:collection2cut"); // Set upper cutoff for each collection char *id; @@ -2534,6 +2535,8 @@ void Neighbor::modify_params(int narg, char **arg) if(iarg+2 > narg) error->all(FLERR,"Invalid collection/type command"); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if(ncollections < 1) + error->all(FLERR,"Invalid collection/interval command"); if(iarg+1+ncollections > narg) error->all(FLERR,"Invalid collection/type command"); diff --git a/src/nstencil.cpp b/src/nstencil.cpp index 3cf75d8d68..ba7259a9fc 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -82,6 +82,8 @@ NStencil::NStencil(LAMMPS *lmp) : Pointers(lmp) flag_half_multi = nullptr; flag_skip_multi = nullptr; bin_collection_multi = nullptr; + + maxcollections = 0; dimension = domain->dimension; } @@ -105,15 +107,12 @@ NStencil::~NStencil() delete [] distsq_multi_old; } - if (stencil_multi) { + if (maxstencil_multi) { - int n = ncollections; memory->destroy(nstencil_multi); - for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { - if (! flag_skip_multi[i][j]) - memory->destroy(stencil_multi[i][j]); - } + for (int i = 0; i < maxcollections; i++) { + for (int j = 0; j < maxcollections; j++) + memory->destroy(stencil_multi[i][j]); delete [] stencil_multi[i]; } delete [] stencil_multi; @@ -275,47 +274,60 @@ void NStencil::create_setup() if(nb) copy_bin_info_multi(); - // Allocate arrays to store stencil information - memory->create(flag_half_multi, n, n, - "neighstencil:flag_half_multi"); - memory->create(flag_skip_multi, n, n, - "neighstencil:flag_skip_multi"); - memory->create(bin_collection_multi, n, n, - "neighstencil:bin_collection_multi"); - - memory->create(stencil_sx_multi, n, n, - "neighstencil:stencil_sx_multi"); - memory->create(stencil_sy_multi, n, n, - "neighstencil:stencil_sy_multi"); - memory->create(stencil_sz_multi, n, n, - "neighstencil:stencil_sz_multi"); - - memory->create(stencil_binsizex_multi, n, n, - "neighstencil:stencil_binsizex_multi"); - memory->create(stencil_binsizey_multi, n, n, - "neighstencil:stencil_binsizey_multi"); - memory->create(stencil_binsizez_multi, n, n, - "neighstencil:stencil_binsizez_multi"); - - memory->create(stencil_mbinx_multi, n, n, - "neighstencil:stencil_mbinx_multi"); - memory->create(stencil_mbiny_multi, n, n, - "neighstencil:stencil_mbiny_multi"); - memory->create(stencil_mbinz_multi, n, n, - "neighstencil:stencil_mbinz_multi"); - - // Skip all stencils by default, initialize smax - for (i = 0; i < n; i++) { - for (j = 0; j < n; j++) { - flag_skip_multi[i][j] = 1; + // Deallocate arrays if previously allocated + if(n > maxcollections and stencil_multi){ + memory->destroy(nstencil_multi); + for (i = 0; i < maxcollections; i++) { + for (j = 0; j < maxcollections; j++) + memory->destroy(stencil_multi[i][j]); + delete [] stencil_multi[i]; } - } + delete [] stencil_multi; + memory->destroy(maxstencil_multi); + memory->destroy(flag_half_multi); + memory->destroy(flag_skip_multi); + memory->destroy(bin_collection_multi); + memory->destroy(stencil_sx_multi); + memory->destroy(stencil_sy_multi); + memory->destroy(stencil_sz_multi); + memory->destroy(stencil_binsizex_multi); + memory->destroy(stencil_binsizey_multi); + memory->destroy(stencil_binsizez_multi); + memory->destroy(stencil_mbinx_multi); + memory->destroy(stencil_mbiny_multi); + memory->destroy(stencil_mbinz_multi); + } - // Determine which stencils need to be built - set_stencil_properties(); - - // Allocate arrays to store stencils - if (!maxstencil_multi) { + // Allocate arrays + if(!maxstencil_multi) { + memory->create(flag_half_multi, n, n, + "neighstencil:flag_half_multi"); + memory->create(flag_skip_multi, n, n, + "neighstencil:flag_skip_multi"); + memory->create(bin_collection_multi, n, n, + "neighstencil:bin_collection_multi"); + + memory->create(stencil_sx_multi, n, n, + "neighstencil:stencil_sx_multi"); + memory->create(stencil_sy_multi, n, n, + "neighstencil:stencil_sy_multi"); + memory->create(stencil_sz_multi, n, n, + "neighstencil:stencil_sz_multi"); + + memory->create(stencil_binsizex_multi, n, n, + "neighstencil:stencil_binsizex_multi"); + memory->create(stencil_binsizey_multi, n, n, + "neighstencil:stencil_binsizey_multi"); + memory->create(stencil_binsizez_multi, n, n, + "neighstencil:stencil_binsizez_multi"); + + memory->create(stencil_mbinx_multi, n, n, + "neighstencil:stencil_mbinx_multi"); + memory->create(stencil_mbiny_multi, n, n, + "neighstencil:stencil_mbiny_multi"); + memory->create(stencil_mbinz_multi, n, n, + "neighstencil:stencil_mbinz_multi"); + memory->create(maxstencil_multi, n, n, "neighstencil::maxstencil_multi"); memory->create(nstencil_multi, n, n, "neighstencil::nstencil_multi"); stencil_multi = new int**[n](); @@ -326,12 +338,22 @@ void NStencil::create_setup() nstencil_multi[i][j] = 0; stencil_multi[i][j] = nullptr; } + } + maxcollections = n; + } + + // Skip all stencils by default, initialize smax + for (i = 0; i < n; i++) { + for (j = 0; j < n; j++) { + flag_skip_multi[i][j] = 1; } - } + } + + // Determine which stencils need to be built + set_stencil_properties(); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - // Skip creation of unused stencils if (flag_skip_multi[i][j]) continue; @@ -364,7 +386,8 @@ void NStencil::create_setup() if (smax > maxstencil_multi[i][j]) { maxstencil_multi[i][j] = smax; - memory->destroy(stencil_multi[i][j]); + if(stencil_multi[i][j]) + memory->destroy(stencil_multi[i][j]); memory->create(stencil_multi[i][j], smax, "neighstencil::stencil_multi"); } diff --git a/src/nstencil.h b/src/nstencil.h index 37cedec045..6e8c2da97c 100644 --- a/src/nstencil.h +++ b/src/nstencil.h @@ -33,6 +33,7 @@ class NStencil : protected Pointers { int ** nstencil_multi; // # bins bins in each igroup-jgroup multi stencil int *** stencil_multi; // list of bin offsets in each multi stencil int ** maxstencil_multi; // max stencil size for each multi stencil + int maxcollections; // size of multi arrays int sx,sy,sz; // extent of stencil in each dim int **stencil_sx_multi; // analogs for each multi stencil @@ -42,7 +43,7 @@ class NStencil : protected Pointers { double cutoff_custom; // cutoff set by requestor // Arrays to store options for multi itype-jtype stencils - bool **flag_half_multi; // flag creation of a half stencil for igroup-jgroup + bool **flag_half_multi; // flag creation of a half stencil for icollection-jcollection bool **flag_skip_multi; // skip creation of icollection-jcollection stencils (for newton on) int **bin_collection_multi; // what collection to use for bin information diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index 57352c7c6f..32ee0297ff 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -71,7 +71,7 @@ void NStencilHalfMulti2d::create() if (flag_skip_multi[icollection][jcollection]) continue; ns = 0; - + sx = stencil_sx_multi[icollection][jcollection]; sy = stencil_sy_multi[icollection][jcollection]; From 58e4938b0f5e6c1006404f0bf9c8718bb87ce371 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Mon, 8 Feb 2021 10:50:57 -0700 Subject: [PATCH 076/542] Updating examples, updating multi in info, fixing memory issues in comm/neighbor --- src/comm.cpp | 18 ++++++++++++++++-- src/comm_brick.cpp | 24 +++++++++++++++++++++++- src/comm_tiled.cpp | 6 +++--- src/info.cpp | 17 ++++++++++++++++- src/neighbor.cpp | 3 ++- 5 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/comm.cpp b/src/comm.cpp index d729545dba..f41f046e63 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -298,18 +298,32 @@ void Comm::modify_params(int narg, char **arg) // need to reset cutghostuser when switching comm mode if (mode == Comm::MULTI) cutghostuser = 0.0; if (mode == Comm::MULTIOLD) cutghostuser = 0.0; - memory->destroy(cutusermulti); - cutusermulti = nullptr; + if(cutusermulti){ + memory->destroy(cutusermulti); + cutusermulti = nullptr; + } + if(cutusermultiold){ + memory->destroy(cutusermultiold); + cutusermultiold = nullptr; + } mode = Comm::SINGLE; } else if (strcmp(arg[iarg+1],"multi") == 0) { // need to reset cutghostuser when switching comm mode if (mode == Comm::SINGLE) cutghostuser = 0.0; if (mode == Comm::MULTIOLD) cutghostuser = 0.0; + if(cutusermultiold){ + memory->destroy(cutusermultiold); + cutusermultiold = nullptr; + } mode = Comm::MULTI; } else if (strcmp(arg[iarg+1],"multi/old") == 0) { // need to reset cutghostuser when switching comm mode if (mode == Comm::SINGLE) cutghostuser = 0.0; if (mode == Comm::MULTI) cutghostuser = 0.0; + if(cutusermulti){ + memory->destroy(cutusermulti); + cutusermulti = nullptr; + } mode = Comm::MULTIOLD; } else error->all(FLERR,"Illegal comm_modify command"); iarg += 2; diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 160ecf2c3d..50c18e5fe7 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -145,6 +145,12 @@ void CommBrick::init() ncollections = neighbor->ncollections; allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); + if(cutusermultiflag) { + memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); + for(int i = ncollections_prior; i < ncollections; i++) + cutusermulti[i] = -1.0; + } + ncollections_prior = ncollections; } if ((mode == Comm::SINGLE or mode == Comm::MULTIOLD) && multilo) { @@ -218,7 +224,7 @@ void CommBrick::setup() // parse any cutoff/multi commands int nhi, nlo; for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { - utils::bounds(FLERR,it->first,1,ncollections,nlo,nhi,error); + utils::bounds(FLERR,it->first,0,ncollections,nlo,nhi,error); if(nhi >= ncollections) error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); for (j=nlo; j<=nhi; ++j) @@ -898,6 +904,22 @@ void CommBrick::borders() if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend); sendlist[iswap][nsend++] = i; } + } else if (mode == Comm::MULTI) { + ngroup = atom->nfirst; + for (i = 0; i < ngroup; i++) { + icollection = collection[i]; + if (x[i][dim] >= mlo[icollection] && x[i][dim] <= mhi[icollection]) { + if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend); + sendlist[iswap][nsend++] = i; + } + } + for (i = atom->nlocal; i < nlast; i++) { + icollection = collection[i]; + if (x[i][dim] >= mlo[icollection] && x[i][dim] <= mhi[icollection]) { + if (nsend == maxsendlist[iswap]) grow_list(iswap,nsend); + sendlist[iswap][nsend++] = i; + } + } } else { ngroup = atom->nfirst; for (i = 0; i < ngroup; i++) { diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 0a09dc830d..27f630f720 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -198,7 +198,6 @@ void CommTiled::setup() for(i = 0; i < maxswap; i ++) grow_swap_send_multi(i,DELTA_PROCS); - if(cutusermultiflag){ memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); for(i = ncollections_prior; i < ncollections; i++) @@ -211,10 +210,10 @@ void CommTiled::setup() // parse any cutoff/multi commands int nhi, nlo; for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { - utils::bounds(FLERR,it->first,1,ncollections,nlo,nhi,error); + utils::bounds(FLERR,it->first,0,ncollections,nlo,nhi,error); if(nhi >= ncollections) error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); - + for (j=nlo; j<=nhi; ++j) cutusermulti[j] = it->second; } @@ -224,6 +223,7 @@ void CommTiled::setup() // If using multi/reduce, communicate particles a distance equal // to the max cutoff with equally sized or smaller collections // If not, communicate the maximum cutoff of the entire collection + for (i = 0; i < ncollections; i++) { if (cutusermulti) { cutghostmulti[i][0] = cutusermulti[i]; diff --git a/src/info.cpp b/src/info.cpp index bf6f14a48a..0d3c47efa8 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -414,9 +414,24 @@ void Info::command(int narg, char **arg) if (comm->mode == 1) { fputs("Communication mode = multi\n",out); double cut; + for (int i=0; i < neighbor->ncollections; ++i) { + if (comm->cutusermulti) cut = comm->cutusermulti[i]; + else cut = 0.0; + for (int j=0; j < neighbor->ncollections; ++j) { + cut = MAX(cut,sqrt(neighbor->cutcollectionsq[i][j])); + } + + if (comm->cutusermulti) cut = MAX(cut,comm->cutusermulti[i]); + fmt::print(out,"Communication cutoff for collection {} = {:.8}\n", i, cut); + } + } + + if (comm->mode == 2) { + fputs("Communication mode = multi/old\n",out); + double cut; for (int i=1; i <= atom->ntypes && neighbor->cuttype; ++i) { cut = neighbor->cuttype[i]; - if (comm->cutusermulti) cut = MAX(cut,comm->cutusermulti[i]); + if (comm->cutusermultiold) cut = MAX(cut,comm->cutusermultiold[i]); fmt::print(out,"Communication cutoff for type {} = {:.8}\n", i, cut); } } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index e8f9798df8..c33345f88d 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -366,7 +366,8 @@ void Neighbor::init() if(not custom_collection_flag) { ncollections = n; interval_collection_flag = 0; - memory->create(type2collection,n+1,"neigh:type2collection"); + if(not type2collection) + memory->create(type2collection,n+1,"neigh:type2collection"); for(i = 1; i <= n; i++) type2collection[i] = i-1; } From 417e92bc2db164283e13fe068dbd9d7ea23d9e3a Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Thu, 11 Feb 2021 08:43:04 -0600 Subject: [PATCH 077/542] Axels requested revisions --- cmake/CMakeLists.txt | 2 +- src/Makefile | 2 +- src/USER-RANN/pair_rann.cpp | 1261 +++++++++++++++++ src/USER-RANN/pair_rann.h | 174 +++ src/USER-RANN/rann_activation.h | 73 + src/USER-RANN/rann_activation_linear.h | 77 + src/USER-RANN/rann_activation_sig_i.h | 77 + src/USER-RANN/rann_fingerprint.cpp | 116 ++ src/USER-RANN/rann_fingerprint.h | 72 + src/USER-RANN/rann_fingerprint_bond.cpp | 808 +++++++++++ src/USER-RANN/rann_fingerprint_bond.h | 80 ++ .../rann_fingerprint_bondscreened.cpp | 762 ++++++++++ src/USER-RANN/rann_fingerprint_bondscreened.h | 80 ++ .../rann_fingerprint_bondscreenedspin.cpp | 814 +++++++++++ .../rann_fingerprint_bondscreenedspin.h | 80 ++ src/USER-RANN/rann_fingerprint_bondspin.cpp | 887 ++++++++++++ src/USER-RANN/rann_fingerprint_bondspin.h | 79 ++ src/USER-RANN/rann_fingerprint_radial.cpp | 239 ++++ src/USER-RANN/rann_fingerprint_radial.h | 70 + .../rann_fingerprint_radialscreened.cpp | 253 ++++ .../rann_fingerprint_radialscreened.h | 72 + .../rann_fingerprint_radialscreenedspin.cpp | 264 ++++ .../rann_fingerprint_radialscreenedspin.h | 72 + src/USER-RANN/rann_fingerprint_radialspin.cpp | 252 ++++ src/USER-RANN/rann_fingerprint_radialspin.h | 69 + src/USER-RANN/rann_list_activation.h | 2 + src/USER-RANN/rann_list_fingerprint.h | 8 + 27 files changed, 6743 insertions(+), 2 deletions(-) create mode 100644 src/USER-RANN/pair_rann.cpp create mode 100644 src/USER-RANN/pair_rann.h create mode 100644 src/USER-RANN/rann_activation.h create mode 100644 src/USER-RANN/rann_activation_linear.h create mode 100644 src/USER-RANN/rann_activation_sig_i.h create mode 100644 src/USER-RANN/rann_fingerprint.cpp create mode 100644 src/USER-RANN/rann_fingerprint.h create mode 100644 src/USER-RANN/rann_fingerprint_bond.cpp create mode 100644 src/USER-RANN/rann_fingerprint_bond.h create mode 100644 src/USER-RANN/rann_fingerprint_bondscreened.cpp create mode 100644 src/USER-RANN/rann_fingerprint_bondscreened.h create mode 100644 src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp create mode 100644 src/USER-RANN/rann_fingerprint_bondscreenedspin.h create mode 100644 src/USER-RANN/rann_fingerprint_bondspin.cpp create mode 100644 src/USER-RANN/rann_fingerprint_bondspin.h create mode 100644 src/USER-RANN/rann_fingerprint_radial.cpp create mode 100644 src/USER-RANN/rann_fingerprint_radial.h create mode 100644 src/USER-RANN/rann_fingerprint_radialscreened.cpp create mode 100644 src/USER-RANN/rann_fingerprint_radialscreened.h create mode 100644 src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp create mode 100644 src/USER-RANN/rann_fingerprint_radialscreenedspin.h create mode 100644 src/USER-RANN/rann_fingerprint_radialspin.cpp create mode 100644 src/USER-RANN/rann_fingerprint_radialspin.h create mode 100644 src/USER-RANN/rann_list_activation.h create mode 100644 src/USER-RANN/rann_list_fingerprint.h diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c29fba5957..b125556c73 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -110,7 +110,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE - USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION + USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS) set(SUFFIX_PACKAGES CORESHELL USER-OMP KOKKOS OPT USER-INTEL GPU) diff --git a/src/Makefile b/src/Makefile index 7a5e1aa728..f77e127264 100644 --- a/src/Makefile +++ b/src/Makefile @@ -56,7 +56,7 @@ PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-c user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ user-mgpt user-misc user-mofff user-molfile \ user-netcdf user-omp user-phonon user-plumed user-ptm user-qmmm \ - user-qtb user-quip user-reaction user-reaxc user-scafacos user-smd user-smtbq \ + user-qtb user-quip user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp new file mode 100644 index 0000000000..3207b76934 --- /dev/null +++ b/src/USER-RANN/pair_rann.cpp @@ -0,0 +1,1261 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#define MAXLINE 1024 +#include "pair_rann.h" +#include "rann_list_activation.h" +#include "rann_list_fingerprint.h" +#include "tokenizer.h" +#include +#include +#include +#include +#include "atom.h" +#include "force.h" +#include "comm.h" +#include "memory.h" +#include "neigh_request.h" +#include "memory.h" +#include "error.h" +#include "update.h" +#include "math_special.h" + +using namespace LAMMPS_NS; + +static const char cite_user_rann_package[] = + "USER-RANN package:\n\n" + "@Article{Nitol2021,\n" + " author = {Nitol, Mashroor S and Dickel, Doyl E and Barrett, Christopher D},\n" + " title = {Artificial neural network potential for pure zinc},\n" + " journal = {Computational Materials Science},\n" + " year = 2021,\n" + " volume = 188,\n" + " pages = {110207}\n" + "}\n\n"; + + +PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; + allocated = 0; + nelements = -1; + elements = NULL; + mass = NULL; + + // set comm size needed by this Pair + // comm unused for now. + + comm_forward = 38; + comm_reverse = 30; + res = 10000; + cutmax = 0; + //at least one of the following will change during fingerprint definition: + doscreen = false; + allscreen = true; + + dospin = false; + fingerprint_map = new FingerprintCreatorMap(); + #define FINGERPRINT_CLASS + #define FingerprintStyle(key,Class) \ + (*fingerprint_map)[#key] = &fingerprint_creator; + + #include "rann_list_fingerprint.h" + #undef FingerprintStyle + #undef FINGERPRINT_CLASS + activation_map = new ActivationCreatorMap(); + #define ACTIVATION_CLASS + #define ActivationStyle(key,Class) \ + (*activation_map)[#key] = &activation_creator; + + #include "rann_list_activation.h" + #undef ActivationStyle + #undef ACTIVATION_CLASS +} + +PairRANN::~PairRANN() +{ + //clear memory + delete [] mass; + for (int i=0;i0) { + for (int j=0;j0) { + delete [] fingerprints[i]; + delete [] activation[i]; + } + } + delete [] fingerprints; + delete [] activation; + delete [] fingerprintcount; + delete [] fingerprintperelement; + delete [] fingerprintlength; + delete [] screening_min; + delete [] screening_max; + memory->destroy(xn); + memory->destroy(yn); + memory->destroy(zn); + memory->destroy(tn); + memory->destroy(jl); + memory->destroy(features); + memory->destroy(dfeaturesx); + memory->destroy(dfeaturesy); + memory->destroy(dfeaturesz); + memory->destroy(layer); + memory->destroy(sum); + memory->destroy(sum1); + memory->destroy(dlayerx); + memory->destroy(dlayery); + memory->destroy(dlayerz); + memory->destroy(dlayersumx); + memory->destroy(dlayersumy); + memory->destroy(dlayersumz); + if (doscreen) { + memory->destroy(Sik); + memory->destroy(Bij); + memory->destroy(dSikx); + memory->destroy(dSiky); + memory->destroy(dSikz); + memory->destroy(dSijkx); + memory->destroy(dSijky); + memory->destroy(dSijkz); + memory->destroy(dSijkxc); + memory->destroy(dSijkyc); + memory->destroy(dSijkzc); + } + if (dospin) { + memory->destroy(sx); + memory->destroy(sy); + memory->destroy(sz); + memory->destroy(dlayerx); + memory->destroy(dlayery); + memory->destroy(dlayerz); + memory->destroy(dlayersumx); + memory->destroy(dlayersumy); + memory->destroy(dlayersumz); + } +} + + + +void PairRANN::allocate(std::vector elementwords) +{ + int i,j,k,l,n; + n = atom->ntypes; + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + cutmax = 0; + nmax1 = 100; + nmax2 = 20; + fmax = 0; + fnmax = 0; + nelementsp=nelements+1; + //initialize arrays + elements = new char *[nelements]; + elementsp = new char *[nelementsp];//elements + 'all' + mass = new double[nelements]; + net = new NNarchitecture[nelementsp]; + weightdefined = new bool*[nelementsp]; + biasdefined = new bool *[nelementsp]; + activation = new RANN::Activation**[nelementsp]; + fingerprints = new RANN::Fingerprint**[nelementsp]; + fingerprintlength = new int[nelementsp]; + fingerprintperelement = new int [nelementsp]; + fingerprintcount = new int[nelementsp]; + screening_min = new double [nelements*nelements*nelements]; + screening_max = new double [nelements*nelements*nelements]; + for (i=0;i 0) error->one(FLERR,"Illegal pair_style command"); +} + +void PairRANN::coeff(int narg, char **arg) +{ + int i,j; + map = new int [atom->ntypes+1]; + if (narg != 3 + atom->ntypes) error->one(FLERR,"Incorrect args for pair coefficients"); + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) error->one(FLERR,"Incorrect args for pair coefficients"); + nelements = -1; + read_file(arg[2]); + // read args that map atom types to elements in potential file + // map[i] = which element the Ith atom type is, -1 if NULL + for (i = 3; i < narg; i++) { + if (strcmp(arg[i],"NULL") == 0) { + map[i-2] = -1; + continue; + } + for (j = 0; j < nelements; j++) { + if (strcmp(arg[i],elements[j]) == 0) break; + } + if (j < nelements) map[i-2] = j; + else error->one(FLERR,"No matching element in NN potential file"); + } + // clear setflag since coeff() called once with I,J = * * + int n = atom->ntypes; + for (i = 1; i <= n; i++) { + for (j = i; j <= n; j++) { + setflag[i][j] = 0; + } + } + // set setflag i,j for type pairs where both are mapped to elements + // set mass of atom type if i = j + int count = 0; + for (i = 1; i <= n; i++) { + for (j = i; j <= n; j++) { + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + if (i == j) atom->set_mass(FLERR,i,mass[map[i]]); + count++; + } + } + } + if (count == 0) error->one(FLERR,"Incorrect args for pair coefficients"); + for (i=0;iallocate(); + } + } + allocated=1; +} + +void PairRANN::read_file(char *filename) +{ + FILE *fp; + int eof = 0,i,j,k,l; + int n,nwords; + std::string line,line1; + int longline = 4096; + char linetemp[longline]; + char *ptr; + bool comment; + char str[128]; + std::vector linev,line1v; + fp = utils::open_potential(filename,lmp,nullptr); + if (fp == nullptr) {error->one(FLERR,"Cannot open RANN potential file");} + ptr=fgets(linetemp,longline,fp); + strip_comments(linetemp,fp); + line=linetemp; + while (eof == 0) { + ptr=fgets(linetemp,longline,fp); + if (ptr == NULL) { + if (check_potential()) { + error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); + } + else { + eof = 1; + break; + } + } + strip_comments(linetemp,fp); + line1=linetemp; + Tokenizer values = Tokenizer(line,": ,\t_\n"); + Tokenizer values1 = Tokenizer(line1,": ,\t_\n"); + linev = values.as_vector(); + line1v = values1.as_vector(); + if (linev[0].compare("atomtypes")==0)read_atom_types(linev,line1v); + else if (linev[0].compare("mass")==0)read_mass(linev,line1v); + else if (linev[0].compare("fingerprintsperelement")==0)read_fpe(linev,line1v); + else if (linev[0].compare("fingerprints")==0)read_fingerprints(linev,line1v); + else if (linev[0].compare("fingerprintconstants")==0)read_fingerprint_constants(linev,line1v); + else if (linev[0].compare("networklayers")==0)read_network_layers(linev,line1v); + else if (linev[0].compare("layersize")==0)read_layer_size(linev,line1v); + else if (linev[0].compare("weight")==0)read_weight(linev,line1v,fp); + else if (linev[0].compare("bias")==0)read_bias(linev,line1v,fp); + else if (linev[0].compare("activationfunctions")==0)read_activation_functions(linev,line1v); + else if (linev[0].compare("calibrationparameters")==0)continue;//information on how the network was trained + else if (linev[0].compare("screening")==0)read_screening(linev,line1v); + else error->one(FLERR,"Could not understand file syntax: unknown keyword"); + ptr=fgets(linetemp,longline,fp); + strip_comments(linetemp,fp); + if (ptr == NULL) { + if (check_potential()) { + error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); + } + else { + eof = 1; + break; + } + } + line=linetemp; + } +} + +void PairRANN::strip_comments(char * line,FILE* fp) { + char *ptr; + bool comment; + utils::trim_comment(line); + if (strlen(line)==0) { + comment = true; + while (comment==true) { + ptr = fgets(line,4096,fp); + if (ptr==NULL) error->one(FLERR,"Unexpected end of RANN file"); + utils::trim_comment(line); + if (strlen(line) == 0) continue; + comment = false; + } + } +} + +void PairRANN::read_atom_types(std::vector line,std::vector line1) { + int nwords = line1.size(); + if (nwords < 1) error->one(FLERR,"Incorrect syntax for atom types"); + nelements = nwords; + line1.resize(nwords+1); + line1[nwords] = "all"; + allocate(line1); +} + +void PairRANN::read_mass(std::vector line,std::vector line1) { + if (nelements == -1)error->one(FLERR,"atom types must be defined before mass in potential file."); + int nwords = 0,i; + for (i=0;ione(FLERR,"mass element not found in atom types."); +} + +void PairRANN::read_fpe(std::vector line,std::vector line1) { + int i,j; + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints per element in potential file."); + for (i=0;ione(FLERR,"fingerprint-per-element element not found in atom types"); +} + +void PairRANN::read_fingerprints(std::vector line,std::vector line1) { + int nwords1,nwords,i,j,k,l,m,i1; + bool found; + char str[MAXLINE]; + nwords1 = line1.size(); + nwords = line.size(); + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + int atomtypes[nwords-1]; + for (i=1;ione(FLERR,"fingerprint element not found in atom types");} + } + i = atomtypes[0]; + k = 0; + if (fingerprintperelement[i]==-1) {error->one(FLERR,"fingerprint per element must be defined before fingerprints");} + while (kn_body_type!=nwords-1) {error->one(FLERR,"invalid fingerprint for element combination");} + k++; + fingerprints[i][i1]->init(atomtypes,strtol(line1[k++].c_str(),NULL,10)); + fingerprintcount[i]++; + } +} + + +void PairRANN::read_fingerprint_constants(std::vector line,std::vector line1) { + int i,j,k,l,m,i1; + bool found; + char str [128]; + int nwords = line.size(); + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + int n_body_type = nwords-4; + int atomtypes[n_body_type]; + for (i=1;i<=n_body_type;i++) { + found = false; + for (j=0;jone(FLERR,"fingerprint element not found in atom types");} + } + i = atomtypes[0]; + found = false; + for (k=0;kempty) {continue;} + if (n_body_type!=fingerprints[i][k]->n_body_type) {continue;} + for (j=0;jatomtypes[j]!=atomtypes[j]) {break;} + if (j==n_body_type-1) { + if (line[nwords-3].compare(fingerprints[i][k]->style)==0 && strtol(line[nwords-2].c_str(),NULL,10)==fingerprints[i][k]->id) { + found=true; + i1 = k; + break; + } + } + } + if (found) {break;} + } + if (!found) {error->one(FLERR,"cannot define constants for unknown fingerprint");} + fingerprints[i][i1]->fullydefined=fingerprints[i][i1]->parse_values(line[nwords-1],line1); +} + +void PairRANN::read_network_layers(std::vector line,std::vector line1) { + int i,j; + if (nelements == -1)error->one(FLERR,"atom types must be defined before network layers in potential file."); + for (i=0;ione(FLERR,"invalid number of network layers"); + delete [] net[i].dimensions; + weightdefined[i] = new bool [net[i].layers]; + biasdefined[i] = new bool [net[i].layers]; + net[i].dimensions = new int [net[i].layers]; + net[i].Weights = new double * [net[i].layers-1]; + net[i].Biases = new double * [net[i].layers-1]; + net[i].activations = new int [net[i].layers-1]; + for (j=0;jone(FLERR,"network layers element not found in atom types"); +} + +void PairRANN::read_layer_size(std::vector line,std::vector line1) { + int i; + for (i=0;ione(FLERR,"networklayers for each atom type must be defined before the corresponding layer sizes."); + int j = strtol(line[2].c_str(),NULL,10); + if (j>=net[i].layers || j<0) {error->one(FLERR,"invalid layer in layer size definition");}; + net[i].dimensions[j]= strtol(line1[0].c_str(),NULL,10); + return; + } + } + error->one(FLERR,"layer size element not found in atom types"); +} + +void PairRANN::read_weight(std::vector line,std::vector line1,FILE* fp) { + int i,j,k,l,nwords; + char *ptr; + int longline = 4096; + char linetemp [longline]; + for (l=0;lone(FLERR,"networklayers must be defined before weights."); + i=strtol(line[2].c_str(),NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid weight layer"); + if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(FLERR,"network layer sizes must be defined before corresponding weight"); + net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; + weightdefined[l][i] = true; + nwords = line1.size(); + if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); + for (k=0;kone(FLERR,"unexpected end of potential file!"); + nwords = line1.size(); + if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); + for (k=0;kone(FLERR,"weight element not found in atom types"); +} + +void PairRANN::read_bias(std::vector line,std::vector line1,FILE* fp) { + int i,j,l,nwords; + char *ptr; + char linetemp[MAXLINE]; + for (l=0;lone(FLERR,"networklayers must be defined before biases."); + i=strtol(line[2].c_str(),NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid bias layer"); + if (net[l].dimensions[i]==0) error->one(FLERR,"network layer sizes must be defined before corresponding bias"); + biasdefined[l][i] = true; + net[l].Biases[i] = new double [net[l].dimensions[i+1]]; + net[l].Biases[i][0] = strtod(line1[0].c_str(),NULL); + for (j=1;jone(FLERR,"bias element not found in atom types"); +} + +void PairRANN::read_activation_functions(std::vector line,std::vector line1) { + int i,j,l,nwords; + int *ptr; + for (l=0;lone(FLERR,"networklayers must be defined before activation functions."); + i = strtol(line[2].c_str(),NULL,10); + if (i>=net[l].layers || i<0)error->one(FLERR,"invalid activation layer"); + delete activation[l][i]; + activation[l][i]=create_activation(line1[0].c_str()); + return; + } + } + error->one(FLERR,"activation function element not found in atom types"); +} + +void PairRANN::read_screening(std::vector line,std::vector line1) { + int i,j,k; + bool found; + int nwords = line.size(); + if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + if (nwords!=5)error->one(FLERR,"invalid screening command"); + int n_body_type = 3; + int atomtypes[n_body_type]; + for (i=1;i<=n_body_type;i++) { + found = false; + for (j=0;jone(FLERR,"fingerprint element not found in atom types");} + } + i = atomtypes[0]; + j = atomtypes[1]; + k = atomtypes[2]; + int index = i*nelements*nelements+j*nelements+k; + int index1 = i*nelements*nelements+k*nelements+j; + if (line[4].compare("Cmin")==0) { + screening_min[index] = strtod(line1[0].c_str(),NULL); + screening_min[index1] = screening_min[index]; + } + else if (line[4].compare("Cmax")==0) { + screening_max[index] = strtod(line1[0].c_str(),NULL); + screening_max[index1] = screening_max[index]; + } + else error->one(FLERR,"unrecognized screening keyword"); +} + +//Called after finishing reading the potential file to make sure it is complete. True is bad. +//also does the rest of the memory allocation. +bool PairRANN::check_potential() { + int i,j,k,l; + if (nelements==-1) {return true;} + for (i=0;i<=nelements;i++) { + if (inet[i].maxlayer)net[i].maxlayer = net[i].dimensions[j]; + } + if (net[i].maxlayer>fnmax) {fnmax = net[i].maxlayer;} + if (net[i].dimensions[net[i].layers-1]!=1)return true;//output layer must have single neuron (the energy) + if (net[i].dimensions[0]>fmax)fmax=net[i].dimensions[0]; + for (j=0;jempty)return true;//undefined activations + for (k=0;kfullydefined==false)return true; + fingerprints[i][j]->startingneuron = fingerprintlength[i]; + fingerprintlength[i] +=fingerprints[i][j]->get_length(); + if (fingerprints[i][j]->rc>cutmax) {cutmax = fingerprints[i][j]->rc;} + } + if (net[i].dimensions[0]!=fingerprintlength[i])return true; + } + memory->create(xn,nmax1,"pair:xn"); + memory->create(yn,nmax1,"pair:yn"); + memory->create(zn,nmax1,"pair:zn"); + memory->create(tn,nmax1,"pair:tn"); + memory->create(jl,nmax1,"pair:jl"); + memory->create(features,fmax,"pair:features"); + memory->create(dfeaturesx,fmax*nmax2,"pair:dfeaturesx"); + memory->create(dfeaturesy,fmax*nmax2,"pair:dfeaturesy"); + memory->create(dfeaturesz,fmax*nmax2,"pair:dfeaturesz"); + memory->create(layer,fnmax,"pair:layer"); + memory->create(sum,fnmax,"pair:sum"); + memory->create(sum1,fnmax,"pair:sum1"); + memory->create(dlayerx,nmax2,fnmax,"pair:dlayerx"); + memory->create(dlayery,nmax2,fnmax,"pair:dlayery"); + memory->create(dlayerz,nmax2,fnmax,"pair:dlayerz"); + memory->create(dlayersumx,nmax2,fnmax,"pair:dlayersumx"); + memory->create(dlayersumy,nmax2,fnmax,"pair:dlayersumy"); + memory->create(dlayersumz,nmax2,fnmax,"pair:dlayersumz"); + if (doscreen) { + memory->create(Sik,nmax2,"pair:Sik"); + memory->create(Bij,nmax2,"pair:Bij"); + memory->create(dSikx,nmax2,"pair:dSikx"); + memory->create(dSiky,nmax2,"pair:dSiky"); + memory->create(dSikz,nmax2,"pair:dSikz"); + memory->create(dSijkx,nmax2*nmax2,"pair:dSijkx"); + memory->create(dSijky,nmax2*nmax2,"pair:dSijky"); + memory->create(dSijkz,nmax2*nmax2,"pair:dSijkz"); + memory->create(dSijkxc,nmax2,nmax2,"pair:dSijkxc"); + memory->create(dSijkyc,nmax2,nmax2,"pair:dSijkyc"); + memory->create(dSijkzc,nmax2,nmax2,"pair:dSijkzc"); + } + if (dospin) { + memory->create(sx,fmax*nmax2,"pair:sx"); + memory->create(sy,fmax*nmax2,"pair:sy"); + memory->create(sz,fmax*nmax2,"pair:sz"); + memory->create(dlayerx,nmax2,fnmax,"pair:dsx"); + memory->create(dlayery,nmax2,fnmax,"pair:dsy"); + memory->create(dlayerz,nmax2,fnmax,"pair:dsz"); + memory->create(dlayersumx,nmax2,fnmax,"pair:dssumx"); + memory->create(dlayersumy,nmax2,fnmax,"pair:dssumy"); + memory->create(dlayersumz,nmax2,fnmax,"pair:dssumz"); + } + return false;//everything looks good +} + +void PairRANN::compute(int eflag, int vflag) +{ + //perform force/energy computation_ + if (dospin) { + if (strcmp(update->unit_style,"metal") != 0) + error->one(FLERR,"Spin pair styles require metal units"); + if (!atom->sp_flag) + error->one(FLERR,"Spin pair styles requires atom/spin style"); + } + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = vflag_atom = 0; + int ii,i,j; + int nn = 0; + sims = new Simulation[1]; + sims->inum = listfull->inum; + sims->ilist=listfull->ilist; + sims->id = listfull->ilist; + sims->type = atom->type; + sims->x = atom->x; + sims->numneigh = listfull->numneigh; + sims->firstneigh = listfull->firstneigh; + if (dospin) { + sims->s = atom->sp; + } + int itype,f,jnum,len; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + if (eflag_global) {eng_vdwl=0;eng_coul=0;} + double energy=0; + double **force = atom->f; + double **fm = atom->fm; + double **virial = vatom; + //loop over atoms + for (ii=0;iiinum;ii++) { + i = sims->ilist[ii]; + itype = map[sims->type[i]]; + f = net[itype].dimensions[0]; + jnum = sims->numneigh[i]; + if (jnum>nmax1) { + nmax1 = jnum; + memory->grow(xn,nmax1,"pair:xn"); + memory->grow(yn,nmax1,"pair:yn"); + memory->grow(zn,nmax1,"pair:zn"); + memory->grow(tn,nmax1,"pair:tn"); + memory->grow(jl,nmax1,"pair:jl"); + } + cull_neighbor_list(&jnum,i,0); + if (jnum>nmax2) { + nmax2=jnum; + memory->grow(dfeaturesx,fmax*nmax2,"pair:dfeaturesx"); + memory->grow(dfeaturesy,fmax*nmax2,"pair:dfeaturesy"); + memory->grow(dfeaturesz,fmax*nmax2,"pair:dfeaturesz"); + memory->grow(layer,fnmax,"pair:layer"); + memory->grow(sum,fnmax,"pair:sum"); + memory->grow(sum1,fnmax,"pair:sum1"); + memory->grow(dlayerx,nmax2,fnmax,"pair:dlayerx"); + memory->grow(dlayery,nmax2,fnmax,"pair:dlayery"); + memory->grow(dlayerz,nmax2,fnmax,"pair:dlayerz"); + memory->grow(dlayersumx,nmax2,fnmax,"pair:dlayersumx"); + memory->grow(dlayersumy,nmax2,fnmax,"pair:dlayersumy"); + memory->grow(dlayersumz,nmax2,fnmax,"pair:dlayersumz"); + if (doscreen) { + memory->grow(Sik,nmax2,"pair:Sik"); + memory->grow(Bij,nmax2,"pair:Bij"); + memory->grow(dSikx,nmax2,"pair:dSikx"); + memory->grow(dSiky,nmax2,"pair:dSiky"); + memory->grow(dSikz,nmax2,"pair:dSikz"); + memory->grow(dSijkx,nmax2*nmax2,"pair:dSijkx"); + memory->grow(dSijky,nmax2*nmax2,"pair:dSijky"); + memory->grow(dSijkz,nmax2*nmax2,"pair:dSijkz"); + memory->destroy(dSijkxc); + memory->destroy(dSijkyc); + memory->destroy(dSijkzc); + memory->create(dSijkxc,nmax2,nmax2,"pair:dSijkxc"); + memory->create(dSijkyc,nmax2,nmax2,"pair:dSijkyc"); + memory->create(dSijkzc,nmax2,nmax2,"pair:dSijkzc"); + } + if (dospin) { + memory->grow(sx,fmax*nmax2,"pair:sx"); + memory->grow(sy,fmax*nmax2,"pair:sy"); + memory->grow(sz,fmax*nmax2,"pair:sz"); + memory->grow(dsx,nmax2,fnmax,"pair:dsx"); + memory->grow(dsy,nmax2,fnmax,"pair:dsy"); + memory->grow(dsz,nmax2,fnmax,"pair:dsz"); + memory->grow(dssumx,nmax2,fnmax,"pair:dssumx"); + memory->grow(dssumy,nmax2,fnmax,"pair:dssumy"); + memory->grow(dssumz,nmax2,fnmax,"pair:dssumz"); + } + } + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + itype = nelements; + //do fingerprints for type "all" + len = fingerprintperelement[itype]; + for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); + else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); + } + //run fingerprints through network + if (dospin) { + propagateforwardspin(&energy,force,fm,virial,ii,jnum); + } + else { + propagateforward(&energy,force,virial,ii,jnum); + } + } + if (vflag_fdotr) virial_fdotr_compute(); +} + +void PairRANN::cull_neighbor_list(int* jnum,int i,int sn) { + int *jlist,j,count,jj,*type,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double **x = sims[sn].x; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + type = sims[sn].type; + jlist = sims[sn].firstneigh[i]; + count = 0; + for (jj=0;jjcutmax*cutmax) { + continue; + } + xn[count]=delx; + yn[count]=dely; + zn[count]=delz; + tn[count]=jtype; + jl[count]=j; + count++; + } + jnum[0]=count+1; +} + +void PairRANN::screen_neighbor_list(int *jnum, int i,int sn) { + int jj,kk,count,count1; + count = 0; + for (jj=0;jjilist[ii]; + itype = map[sim->type[i]]; + for (int jj=0;jjcutmax*cutmax) { + Bij[kk]= false; + continue; + } + for (jj=0;jjcutmax*cutmax) { + Bij[jj] = false; + continue; + } + delx3 = delx2-delx; + dely3 = dely2-dely; + delz3 = delz2-delz; + rjk = delx3*delx3+dely3*dely3+delz3*delz3; + if (rik+rjk<=rij) {continue;}//bond angle > 90 degrees + if (rik+rij<=rjk) {continue;}//bond angle > 90 degrees + double Cmax = screening_max[itype*nelements*nelements+jtype*nelements+ktype]; + double Cmin = screening_min[itype*nelements*nelements+jtype*nelements+ktype]; + double temp1 = rij-rik+rjk; + Cn = temp1*temp1-4*rij*rjk; + //a few expanded computations provided for clarity: + //Cn = (rij-rik+rjk)*(rij-rik+rjk)-4*rij*rjk; + //Cd = (rij-rjk)*(rij-rjk)-rik*rik; + //Cijk = 1+2*(rik*rij+rik*rjk-rik*rik)/(rik*rik-(rij-rjk)*(rij-rjk)); + temp1 = rij-rjk; + Cd = temp1*temp1-rik*rik; + Cijk = Cn/Cd; + C = (Cijk-Cmin)/(Cmax-Cmin); + if (C>=1) {continue;} + else if (C<=0) { + Bij[kk]=false; + break; + } + dC = Cmax-Cmin; + dC *= dC; + dC *= dC; + temp1 = 1-C; + temp1 *= temp1; + temp1 *= temp1; + Sijk = 1-temp1; + Sijk *= Sijk; + Dij = 4*rik*(Cn+4*rjk*(rij+rik-rjk))/Cd/Cd; + Dik = -4*(rij*Cn+rjk*Cn+8*rij*rik*rjk)/Cd/Cd; + Djk = 4*rik*(Cn+4*rij*(rik-rij+rjk))/Cd/Cd; + temp1 = Cijk-Cmax; + double temp2 = temp1*temp1; + dfc = 8*temp1*temp2/(temp2*temp2-dC); + Sik[kk] *= Sijk; + dSijkx[kk*jnum+jj] = dfc*(delx*Dij-delx3*Djk); + dSikx[kk] += dfc*(delx2*Dik+delx3*Djk); + dSijky[kk*jnum+jj] = dfc*(dely*Dij-dely3*Djk); + dSiky[kk] += dfc*(dely2*Dik+dely3*Djk); + dSijkz[kk*jnum+jj] = dfc*(delz*Dij-delz3*Djk); + dSikz[kk] += dfc*(delz2*Dik+delz3*Djk); + } + } +} + + +//Called by getproperties. Propagate features and dfeatures through network. Updates force and energy +void PairRANN::propagateforward(double * energy,double **force,double **virial, int ii,int jnum) { + int i,j,k,jj,j1,itype,i1; + int *ilist,*numneigh; + ilist = listfull->ilist; + int inum = listfull->inum; + int *type = atom->type; + i1=ilist[ii]; + itype = map[type[i1]]; + NNarchitecture net1 = net[itype]; + int L = net1.layers-1; + //energy output with forces from analytical derivatives + double dsum1; + int f = net1.dimensions[0]; + for (i=0;idactivation_function(sum[j]); + sum[j] = activation[itype][i]->activation_function(sum[j]); + if (i==L-1) { + energy[j] = sum[j]; + if (eflag_atom)eatom[i1]=sum[j]; + if (eflag_global) {eng_vdwl +=sum[j];} + } + //force propagation + for (jj=0;jjilist; + int inum = listfull->inum; + int *type = atom->type; + i1=ilist[ii]; + itype = map[type[i1]]; + NNarchitecture net1 = net[itype]; + int L = net1.layers-1; + //energy output with forces from analytical derivatives + double dsum1; + int f = net1.dimensions[0]; + for (i=0;idactivation_function(sum[j]); + sum[j] = activation[itype][i]->activation_function(sum[j]); + if (i==L-1) { + energy[j] = sum[j]; + if (eflag_atom)eatom[i1]=sum[j]; + if (eflag_global) {eng_vdwl +=sum[j];} + } + //force propagation + for (jj=0;jjrequest(this,instance_me); + neighbor->requests[irequest_full]->id = 1; + neighbor->requests[irequest_full]->half = 0; + neighbor->requests[irequest_full]->full = 1; +} + + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairRANN::init_one(int i, int j) +{ + return cutmax; +} + +void PairRANN::errorf(const char *file, int line, const char * message) { + error->one(file,line,message); +} + +int PairRANN::factorial(int n) { + return round(MathSpecial::factorial(n)); +} + +template +RANN::Fingerprint *PairRANN::fingerprint_creator(PairRANN* pair) +{ + return new T(pair); +} + +RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) +{ + if (fingerprint_map->find(style) != fingerprint_map->end()) { + FingerprintCreator fingerprint_creator = (*fingerprint_map)[style]; + return fingerprint_creator(this); + } + char str[128]; + sprintf(str,"Unknown fingerprint style %s",style); + error->one(FLERR,str); + return NULL; +} + +template +RANN::Activation *PairRANN::activation_creator(PairRANN* pair) +{ + return new T(pair); +} + +RANN::Activation *PairRANN::create_activation(const char *style) +{ + if (activation_map->find(style) != activation_map->end()) { + ActivationCreator activation_creator = (*activation_map)[style]; + return activation_creator(this); + } + char str[128]; + sprintf(str,"Unknown activation style %s",style); + error->one(FLERR,str); + return NULL; +} + diff --git a/src/USER-RANN/pair_rann.h b/src/USER-RANN/pair_rann.h new file mode 100644 index 0000000000..9f1dbe9212 --- /dev/null +++ b/src/USER-RANN/pair_rann.h @@ -0,0 +1,174 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#ifdef PAIR_CLASS + +PairStyle(rann,PairRANN) + +#else + +#ifndef LMP_PAIR_RANN +#define LMP_PAIR_RANN + + +#include "neighbor.h" +#include "neigh_list.h" +#include "pair.h" +#include + + +namespace LAMMPS_NS { + + namespace RANN { + //forward declarations + class Activation; + class Fingerprint; + } + + class PairRANN : public Pair { + public: + //inherited functions + PairRANN(class LAMMPS *); + ~PairRANN(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + void init_list(int , NeighList *); + void errorf(const char*,int,const char*); + int factorial(int); + //black magic for modular fingerprints and activations + class RANN::Activation ***activation; + class RANN::Fingerprint ***fingerprints; + typedef RANN::Fingerprint *(*FingerprintCreator)(PairRANN *); + typedef RANN::Activation *(*ActivationCreator)(PairRANN *); + typedef std::map FingerprintCreatorMap; + typedef std::map ActivationCreatorMap; + FingerprintCreatorMap *fingerprint_map; + ActivationCreatorMap *activation_map; + RANN::Fingerprint * create_fingerprint(const char *); + RANN::Activation * create_activation(const char *); + + //global variables + int nelements; // # of elements (distinct from LAMMPS atom types since multiple atom types can be mapped to one element) + int nelementsp; // nelements+1 + char **elements; // names of elements + char **elementsp; // names of elements with "all" appended as the last "element" + double *mass; // mass of each element + double cutmax; // max radial distance for neighbor lists + int *map; // mapping from atom types to elements + int *fingerprintcount; // static variable used in initialization + int *fingerprintlength; // # of input neurons defined by fingerprints of each element. + int *fingerprintperelement; // # of fingerprints for each element + bool doscreen;//screening is calculated if any defined fingerprint uses it + bool allscreen;//all fingerprints use screening so screened neighbors can be completely ignored + bool dospin; + int res;//Resolution of function tables for cubic interpolation. + int memguess; + double *screening_min; + double *screening_max; + bool **weightdefined; + bool **biasdefined; + int nmax1; + int nmax2; + int fmax; + int fnmax; + //memory actively written to during each compute: + double *xn,*yn,*zn,*Sik,*dSikx,*dSiky,*dSikz,*dSijkx,*dSijky,*dSijkz,*sx,*sy,*sz,**dSijkxc,**dSijkyc,**dSijkzc,*dfeaturesx,*dfeaturesy,*dfeaturesz,*features; + double *layer,*sum,*sum1,**dlayerx,**dlayery,**dlayerz,**dlayersumx,**dlayersumy,**dlayersumz; + double **dsx,**dsy,**dsz,**dssumx,**dssumy,**dssumz; + int *tn,*jl; + bool *Bij; + + struct Simulation{ + int *id; + bool forces; + bool spins; + double **x; + double **f; + double **s; + double box[3][3]; + double origin[3]; + double **features; + double **dfx; + double **dfy; + double **dfz; + double **dsx; + double **dsy; + double **dsz; + int *ilist,*numneigh,**firstneigh,*type,inum,gnum; + }; + + struct NNarchitecture{ + int layers; + int *dimensions;//vector of length layers with entries for neurons per layer + double **Weights; + double **Biases; + int *activations;//unused + int maxlayer;//longest layer (for memory allocation) + }; + + Simulation *sims; + NNarchitecture *net;//array of networks, 1 for each element. + + private: + template static RANN::Fingerprint *fingerprint_creator(PairRANN *); + template static RANN::Activation *activation_creator(PairRANN *); + //new functions + void allocate(std::vector);//called after reading element list, but before reading the rest of the potential + void read_file(char *);//read potential file + void strip_comments(char *,FILE *fp); + void read_atom_types(std::vector,std::vector); + void read_mass(std::vector,std::vector); + void read_fpe(std::vector,std::vector);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations + void read_fingerprints(std::vector,std::vector); + void read_fingerprint_constants(std::vector,std::vector); + void read_network_layers(std::vector,std::vector);//include input and output layer (hidden layers + 2) + void read_layer_size(std::vector,std::vector); + void read_weight(std::vector,std::vector,FILE*);//weights should be formatted as properly shaped matrices + void read_bias(std::vector,std::vector,FILE*);//biases should be formatted as properly shaped vectors + void read_activation_functions(std::vector,std::vector); + void read_screening(std::vector,std::vector); + bool check_potential();//after finishing reading potential file + void propagateforward(double *,double **,double **,int,int);//called by compute to get force and energy + void propagateforwardspin(double *,double **,double **,double**,int,int);//called by compute to get force and energy + void screen(int,int,int); + void cull_neighbor_list(int *,int,int); + void screen_neighbor_list(int *,int,int); + }; + +} + +#endif +#endif + + + diff --git a/src/USER-RANN/rann_activation.h b/src/USER-RANN/rann_activation.h new file mode 100644 index 0000000000..d8d2940228 --- /dev/null +++ b/src/USER-RANN/rann_activation.h @@ -0,0 +1,73 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#ifndef LMP_RANN_ACTIVATION_H +#define LMP_RANN_ACTIVATION_H + + +namespace LAMMPS_NS { + namespace RANN { + class Activation { + public: + Activation(class PairRANN *); + virtual ~Activation(); + virtual double activation_function(double); + virtual double dactivation_function(double); + virtual double ddactivation_function(double); + bool empty; + const char *style; + }; + + Activation::Activation(PairRANN *_pair) { + empty = true; + style = "empty"; + } + + Activation::~Activation() { + + } + + //default is linear activation (no change). + double Activation::activation_function(double A) { + return A; + } + + double Activation::dactivation_function(double A) { + return 1.0; + } + + double Activation::ddactivation_function(double A) { + return 0.0; + } + } +} + + +#endif /* RANN_ACTIVATION_H_ */ diff --git a/src/USER-RANN/rann_activation_linear.h b/src/USER-RANN/rann_activation_linear.h new file mode 100644 index 0000000000..812c570d3a --- /dev/null +++ b/src/USER-RANN/rann_activation_linear.h @@ -0,0 +1,77 @@ + +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#ifdef ACTIVATION_CLASS + +ActivationStyle(linear,Activation_linear) + +#else + +#ifndef LMP_RANN_ACTIVATION_LINEAR_H +#define LMP_RANN_ACTIVATION_LINEAR_H + +#include "rann_activation.h" + +namespace LAMMPS_NS { + namespace RANN { + + class Activation_linear : public Activation { + public: + Activation_linear(class PairRANN *); + double activation_function(double); + double dactivation_function(double); + double ddactivation_function(double); + }; + + Activation_linear::Activation_linear(PairRANN *_pair) : Activation(_pair) { + empty = false; + style = "linear"; + } + + double Activation_linear::activation_function(double A) + { + return A; + } + + double Activation_linear::dactivation_function(double A) + { + return 1.0; + } + + double Activation_linear::ddactivation_function(double) { + return 0.0; + } + + + } +} + +#endif +#endif /* ACTIVATION_LINEAR_H_ */ diff --git a/src/USER-RANN/rann_activation_sig_i.h b/src/USER-RANN/rann_activation_sig_i.h new file mode 100644 index 0000000000..9ca9c55d3d --- /dev/null +++ b/src/USER-RANN/rann_activation_sig_i.h @@ -0,0 +1,77 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#ifdef ACTIVATION_CLASS + +ActivationStyle(sigI,Activation_sigI) + +#else + +#ifndef LMP_RANN_ACTIVATION_SIGI_H +#define LMP_RANN_ACTIVATION_SIGI_H + +#include "rann_activation.h" + +namespace LAMMPS_NS { + namespace RANN { + + class Activation_sigI : public Activation { + public: + Activation_sigI(class PairRANN *); + double activation_function(double); + double dactivation_function(double); + double ddactivation_function(double); + }; + + Activation_sigI::Activation_sigI(PairRANN *_pair) : Activation(_pair) { + empty = false; + style = "sigI"; + } + + double Activation_sigI::activation_function(double in) { + if (in>34)return in; + return 0.1*in + 0.9*log(exp(in) + 1); + } + + double Activation_sigI::dactivation_function(double in) { + if (in>34)return 1; + return 0.1 + 0.9/(exp(in)+1)*exp(in); + } + + double Activation_sigI::ddactivation_function(double in) { + if (in>34)return 0; + return 0.9*exp(in)/(exp(in)+1)/(exp(in)+1);; + } + + } +} + +#endif +#endif /* ACTIVATION_SIGI_H_ */ diff --git a/src/USER-RANN/rann_fingerprint.cpp b/src/USER-RANN/rann_fingerprint.cpp new file mode 100644 index 0000000000..f0bf62ed62 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint.cpp @@ -0,0 +1,116 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#include "rann_fingerprint.h" + +using namespace LAMMPS_NS::RANN; + +Fingerprint::Fingerprint(PairRANN *_pair) +{ + spin = false; + screen = false; + empty = true; + fullydefined = false; + n_body_type = 0; + style = "empty"; + pair = _pair; +} + +Fingerprint::~Fingerprint() { + +} + +bool Fingerprint::parse_values(std::string line,std::vector line1) { + return false; +} + +void Fingerprint::init(int *i,int id) { + +} + +void Fingerprint::allocate() { + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + +} + +void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + +} + +void Fingerprint::write_values(FILE *fid) { + +} + +int Fingerprint::get_length() { + return 0; +} + +//Smooth cutoff, goes from 1 to zero over the interval rc-dr to rc. Same as MEAM uses. Used by generateradialtable and generatexpcuttable. +double Fingerprint::cutofffunction(double r,double rc, double dr) { + double out; + if (r < (rc -dr))out=1; + else if (r>rc)out=0; + else { + out = 1-(rc-r)/dr; + out *= out; + out *= out; + out = 1-out; + out *= out; + } + return out; +} + +void Fingerprint::generate_rinvssqrttable() { + int buf = 5; + int m; + double r1; + double cutmax = pair->cutmax; + int res = pair->res; + rinvsqrttable = new double[res+buf]; + for (m=0;m<(res+buf);m++) { + r1 = cutmax*cutmax*(double)(m)/(double)(res); + rinvsqrttable[m] = 1/sqrt(r1); + } +} + + + + diff --git a/src/USER-RANN/rann_fingerprint.h b/src/USER-RANN/rann_fingerprint.h new file mode 100644 index 0000000000..8b777ce398 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint.h @@ -0,0 +1,72 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + +----------------*/ + +#ifndef LMP_RANN_FINGERPRINT_H +#define LMP_RANN_FINGERPRINT_H + +#include "pair_rann.h" + +namespace LAMMPS_NS { + namespace RANN { + class Fingerprint { + public: + Fingerprint(PairRANN *); + virtual ~Fingerprint(); + virtual bool parse_values(std::string,std::vector); + virtual void write_values(FILE *); + virtual void init(int*,int); + virtual void allocate(); + void init_screen(int); + virtual void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//no screen,no spin + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//screen + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//spin + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//spin,screen + virtual int get_length(); + virtual double cutofffunction(double,double, double); + virtual void generate_rinvssqrttable(); + bool spin; + bool screen; + int n_body_type;//i-j vs. i-j-k vs. i-j-k-l, etc. + bool empty; + bool fullydefined; + int startingneuron; + int id;//based on ordering of fingerprints listed for i-j in potential file + const char *style; + int* atomtypes; + double *rinvsqrttable; + double rc; + PairRANN *pair; + }; + } +} + + +#endif /* RANN_FINGERPRINT_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_bond.cpp b/src/USER-RANN/rann_fingerprint_bond.cpp new file mode 100644 index 0000000000..672cea718d --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_bond.cpp @@ -0,0 +1,808 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#include "rann_fingerprint_bond.h" + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_bond::Fingerprint_bond(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + kmax = 0; + mlength = 0; + id = -1; + style = "bond"; + atomtypes = new int [n_body_type]; + empty = true; + _pair->allscreen = false; +} + +Fingerprint_bond::~Fingerprint_bond() { + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(mlength*(mlength+1))>>1;i++) { + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bond::parse_values(std::string constant,std::vector line1) { + int nwords,l; + nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alphak")==0) { + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for bond power"); + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && mlength!=0 && kmax!=0)return true; + return false; +} + +void Fingerprint_bond::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",kmax); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",mlength); +} + +void Fingerprint_bond::init(int *i,int _id) { + for (int j=0;jres; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(kmax)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++) { + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(kmax);n++) { + expcuttable[n+m*(kmax)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bond::generate_coefficients() { //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = mlength; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pfactorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); + } + } +} + + +//Called by getproperties. Gets 3-body features and dfeatures +void Fingerprint_bond::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i; + int *ilist,*numneigh; + PairRANN::Simulation *sim = &pair->sims[sid]; + ilist = sim->ilist; + numneigh = sim->numneigh; + i = ilist[ii]; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(mlength+1)*mlength*20) { + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax+12]; + int p = kmax; + int countmb=((mlength)*(mlength+1))>>1; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kksims[sid]; + double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = kmax; + int mb = mlength; + double c41[kmax]; + double c51[kmax]; + double c61[kmax]; + double ct[kmax]; + for (jj = 0; jj < jnum; jj++) { + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf(FLERR,"Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kk); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,int,int,double *,double *,double *,int *,int,int *); + void do3bodyfeatureset_doubleneighborloop(double *,double *,double *,double *,int,int,double *,double *,double *,int *,int,int *); + void do3bodyfeatureset_singleneighborloop(double *,double *,double *,double *,int,int,double *,double *,double *,int *,int,int *); + void generate_exp_cut_table(); + void generate_coefficients(); + int get_length(); + + double *expcuttable; + double *dfctable; + double dr; + double *alpha_k; + double re; + int **coeff; + int **coeffx; + int **coeffy; + int **coeffz; + int kmax; + int mlength; + int **Mf; + + }; + + } +} + + +#endif +#endif /* FINGERPRINT_BOND_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_bondscreened.cpp b/src/USER-RANN/rann_fingerprint_bondscreened.cpp new file mode 100644 index 0000000000..5a9a9b7a4c --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_bondscreened.cpp @@ -0,0 +1,762 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#include "rann_fingerprint_bondscreened.h" + +using namespace LAMMPS_NS::RANN; + +Fingerprint_bondscreened::Fingerprint_bondscreened(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + kmax = 0; + mlength = 0; + id = -1; + style = "bondscreened"; + atomtypes = new int [n_body_type]; + empty = true; + _pair->doscreen = true; + screen = true; +} + +Fingerprint_bondscreened::~Fingerprint_bondscreened() { + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(mlength*(mlength+1))>>1;i++) { + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondscreened::parse_values(std::string constant,std::vector line1) { + int nwords,l; + nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alphak")==0) { + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for bond power"); + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && mlength!=0 && kmax!=0)return true; + return false; +} + +void Fingerprint_bondscreened::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",kmax); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",mlength); +} + +void Fingerprint_bondscreened::init(int *i,int _id) { + for (int j=0;jres; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(kmax)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++) { + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(kmax);n++) { + expcuttable[n+m*(kmax)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondscreened::generate_coefficients() { //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = mlength; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pfactorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); + } + } +} + + +//Called by getproperties. Gets 3-body features and dfeatures +void Fingerprint_bondscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(mlength+1)*mlength*20) { + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax+12]; + int p = kmax; + int countmb=((mlength)*(mlength+1))>>1; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype) { + expr[jj][0]=0; + continue; + } + delx=xn[jj]; + dely=yn[jj]; + delz=zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kksims[sid]; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = kmax; + int mb = mlength; + double Bijk[kb][mb]; + double c41[kmax]; + double c51[kmax]; + double c61[kmax]; + double ct[kmax]; + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf(FLERR,"Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kk); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + void do3bodyfeatureset_doubleneighborloop(double *,double *,double *,double *,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + void do3bodyfeatureset_singleneighborloop(double *,double *,double *,double *,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + void generate_exp_cut_table(); + void generate_coefficients(); + int get_length(); + + double *expcuttable; + double *dfctable; + double dr; + double *alpha_k; + double re; + int **coeff; + int **coeffx; + int **coeffy; + int **coeffz; + int kmax; + int mlength; + int **Mf; + + }; + } + +} + + +#endif +#endif /* FINGERPRINT_BOND_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp b/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp new file mode 100644 index 0000000000..f41dde883d --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_bondscreenedspin.cpp @@ -0,0 +1,814 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#include "rann_fingerprint_bondscreenedspin.h" + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_bondscreenedspin::Fingerprint_bondscreenedspin(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + kmax = 0; + mlength = 0; + id = -1; + style = "bondscreenedspin"; + atomtypes = new int [n_body_type]; + empty = true; + _pair->doscreen = true; + screen = true; + _pair->dospin = true; + spin = true; +} + +Fingerprint_bondscreenedspin::~Fingerprint_bondscreenedspin() { + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(mlength*(mlength+1))>>1;i++) { + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondscreenedspin::parse_values(std::string constant,std::vector line1) { + int nwords,l; + nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alphak")==0) { + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for bond power"); + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && mlength!=0 && kmax!=0)return true; + return false; +} + +void Fingerprint_bondscreenedspin::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",kmax); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",mlength); +} + +void Fingerprint_bondscreenedspin::init(int *i,int _id) { + for (int j=0;jres; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(kmax)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++) { + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(kmax);n++) { + expcuttable[n+m*(kmax)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondscreenedspin::generate_coefficients() { //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = mlength; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pfactorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); + } + } +} + + +//Called by getproperties. Gets 3-body features and dfeatures +void Fingerprint_bondscreenedspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(mlength+1)*mlength*20) { + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); + + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondscreenedspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax+12]; + int p = kmax; + int countmb=((mlength)*(mlength+1))>>1; + double *si = sim->s[i]; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype) { + expr[jj][0]=0; + continue; + } + delx=xn[jj]; + dely=yn[jj]; + delz=zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kks[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = kmax; + int mb = mlength; + double Bijk[kb][mb]; + double c41[kmax]; + double c51[kmax]; + double c61[kmax]; + double ct[kmax]; + double *si = sim->s[i]; + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf(FLERR,"Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kks[j]; + double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + for (n = 0;ns[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); + for (n=0;n); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + void do3bodyfeatureset_doubleneighborloop(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int *); + void do3bodyfeatureset_singleneighborloop(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + void generate_exp_cut_table(); + void generate_coefficients(); + int get_length(); + + double *expcuttable; + double *dfctable; + double dr; + double *alpha_k; + double re; + int **coeff; + int **coeffx; + int **coeffy; + int **coeffz; + int kmax; + int mlength; + int **Mf; + + }; + + } +} + + +#endif +#endif /* FINGERPRINT_BOND_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_bondspin.cpp b/src/USER-RANN/rann_fingerprint_bondspin.cpp new file mode 100644 index 0000000000..6aadbada86 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_bondspin.cpp @@ -0,0 +1,887 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#include "rann_fingerprint_bondspin.h" + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_bondspin::Fingerprint_bondspin(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 3; + dr = 0; + re = 0; + rc = 0; + alpha_k = new double [1]; + alpha_k[0] = -1; + kmax = 0; + mlength = 0; + id = -1; + style = "bondspin"; + atomtypes = new int [n_body_type]; + empty = true; + _pair->allscreen = false; + _pair->dospin = true; + spin = true; +} + +Fingerprint_bondspin::~Fingerprint_bondspin() { + delete [] alpha_k; + delete [] atomtypes; + delete [] expcuttable; + delete [] dfctable; + for (int i=0;i<(mlength*(mlength+1))>>1;i++) { + delete [] coeff[i]; + delete [] coeffx[i]; + delete [] coeffy[i]; + delete [] coeffz[i]; + delete [] Mf[i]; + } + delete [] coeff; + delete [] coeffx; + delete [] coeffy; + delete [] coeffz; + delete [] Mf; + delete [] rinvsqrttable; +} + +bool Fingerprint_bondspin::parse_values(std::string constant,std::vector line1) { + int nwords,l; + nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alphak")==0) { + delete [] alpha_k; + alpha_k = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for bond power"); + if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && mlength!=0 && kmax!=0)return true; + return false; +} + +void Fingerprint_bondspin::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alphak:\n",style,id); + for (i=0;ielementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:k:\n",style,id); + fprintf(fid,"%d\n",kmax); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:m:\n",style,id); + fprintf(fid,"%d\n",mlength); +} + +void Fingerprint_bondspin::init(int *i,int _id) { + for (int j=0;jres; + double cutmax = pair->cutmax; + expcuttable = new double [(res+buf)*(kmax)]; + dfctable = new double [res+buf]; + for (m=0;m<(res+buf);m++) { + r1 = cutmax*cutmax*(double)(m)/(double)(res); + for (n=0;n<(kmax);n++) { + expcuttable[n+m*(kmax)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[m]=0; + } + else{ + dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } +} + +//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. +void Fingerprint_bondspin::generate_coefficients() { //calculates multinomial coefficient for each term + int p,mb,mc; + int n,p1,i1; + mb = mlength; + mc=(mb*(mb+1))>>1; + coeff = new int *[mc]; + coeffx = new int *[mc]; + coeffy = new int *[mc]; + coeffz = new int *[mc]; + for (p=0;pfactorial(p)/pair->factorial(coeffx[p1][p])/pair->factorial(coeffy[p1][p])/pair->factorial(coeffz[p1][p]); + } + } +} + + +//Called by getproperties. Gets 3-body features and dfeatures +void Fingerprint_bondspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i; + int *ilist,*numneigh; + PairRANN::Simulation *sim = &pair->sims[sid]; + ilist = sim->ilist; + numneigh = sim->numneigh; + i = ilist[ii]; + //select the more efficient algorithm for this particular potential and environment. + if (jnum*2>(mlength+1)*mlength*20) { + do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); + } + else{ + do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); + } +} + +//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers +void Fingerprint_bondspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) { + int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int count=0; + PairRANN::Simulation *sim = &pair->sims[sid]; + int *type = sim->type; + double cutmax = pair->cutmax; + int res = pair->res; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + int nelements=pair->nelements; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax+12]; + int p = kmax; + int countmb=((mlength)*(mlength+1))>>1; + double *si = sim->s[i]; + // calculate interpolation expr, rinvs and dfc, for each neighbor + for (jj = 0; jj < jnum; jj++) { + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kks[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double yprod = expr[jj][ai]; + double *y4 = &expr[jj][p]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + double *y3 = &expr[jj][p+3]; + double *y4 = &expr[jj][p]; + ai = n; + yprod = expr[jj][ai]; + for (a2=0;a2sims[sid]; + double **x = sim->x; + int *type = sim->type; + int nelements = pair->nelements; + int res = pair->res; + double cutmax = pair->cutmax; + double cutinv2 = 1/cutmax/cutmax; + ilist = sim->ilist; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double expr[jnum][kmax]; + double y[jnum][3]; + double ri[jnum]; + double dfc[jnum]; + int kb = kmax; + int mb = mlength; + double c41[kmax]; + double c51[kmax]; + double c61[kmax]; + double ct[kmax]; + double *si = sim->s[i]; + for (jj = 0; jj < jnum; jj++) { + jtype = tn[jj]; + if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype) { + expr[jj][0]=0; + continue; + } + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq>rc*rc) { + expr[jj][0]=0; + continue; + } + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (!(m1>=1 && m1 <= res))pair->errorf(FLERR,"Neighbor list is invalid.");//usually results from nan somewhere. + r1 = r1-trunc(r1); + double *p0 = &expcuttable[(m1-1)*kmax]; + double *p1 = &expcuttable[m1*kmax]; + double *p2 = &expcuttable[(m1+1)*kmax]; + double *p3 = &expcuttable[(m1+2)*kmax]; + for (kk=0;kks[j]; + double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + for (n = 0;ns[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = 2*ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = 2*ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = 2*ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = 2*ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = 2*ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = 2*ri[kk]*(y[jj][2]-dot*y[kk][2]); + for (n=0;ns[j]; + double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; + count = startingneuron; + double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); + double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); + double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); + double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); + double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); + double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); + double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); + for (n=0;n); + void write_values(FILE *); + void init(int*,int); + void allocate(); + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//spin + void do3bodyfeatureset_doubleneighborloop(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + void do3bodyfeatureset_singleneighborloop(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + void generate_exp_cut_table(); + void generate_coefficients(); + int get_length(); + + double *expcuttable; + double *dfctable; + double dr; + double *alpha_k; + double re; + int **coeff; + int **coeffx; + int **coeffy; + int **coeffz; + int kmax; + int mlength; + int **Mf; + + }; + + } +} + + +#endif +#endif /* FINGERPRINT_BOND_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_radial.cpp b/src/USER-RANN/rann_fingerprint_radial.cpp new file mode 100644 index 0000000000..5df13aa094 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radial.cpp @@ -0,0 +1,239 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#include "rann_fingerprint_radial.h" + + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_radial::Fingerprint_radial(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + nmax = 0; + omin = 0; + id = -1; + style = "radial"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + _pair->allscreen = false; +} + +Fingerprint_radial::~Fingerprint_radial() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radial::parse_values(std::string constant,std::vector line1) { + int l; + int nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alpha")==0) { + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && nmax!=0)return true; + return false; +} + +void Fingerprint_radial::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(nmax-omin+1);i++) { + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",omin); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",nmax); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radial::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++) { + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(nmax-omin);m++) { + radialtable[k*(nmax-omin+1)+m]=pow(sqrt(r1)/re,m+omin)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radial::init(int *i,int _id) +{ + empty = false; + for (int j=0;jnelements; + int res = pair->res; + int i,j,jj,itype,jtype,l; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; +// double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + jtype =tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype)continue; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1) {pair->errorf(FLERR,"invalid neighbor radius!");} + if (radialtable[m1]==0) {continue;} + //cubic interpolation from tables + double *p1 = &radialtable[m1*(nmax-omin+1)]; + double *p2 = &radialtable[(m1+1)*(nmax-omin+1)]; + double *p3 = &radialtable[(m1+2)*(nmax-omin+1)]; + double *p0 = &radialtable[(m1-1)*(nmax-omin+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(nmax-omin);l++) { + double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); + features[count]+=rt; + rt *= (l+omin)/rsq+(-alpha[l]/re+dfc)*ri; + //update neighbor's features + dfeaturesx[jj*f+count]+=rt*delx; + dfeaturesy[jj*f+count]+=rt*dely; + dfeaturesz[jj*f+count]+=rt*delz; + //update atom's features + dfeaturesx[jnum*f+count]-=rt*delx; + dfeaturesy[jnum*f+count]-=rt*dely; + dfeaturesz[jnum*f+count]-=rt*delz; + count++; + } + } +} + +int Fingerprint_radial::get_length() +{ + return nmax-omin+1; +} diff --git a/src/USER-RANN/rann_fingerprint_radial.h b/src/USER-RANN/rann_fingerprint_radial.h new file mode 100644 index 0000000000..5f9876f493 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radial.h @@ -0,0 +1,70 @@ + +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#ifdef FINGERPRINT_CLASS + +FingerprintStyle(radial,Fingerprint_radial) + +#else + +#ifndef LMP_RANN_FINGERPRINT_RADIAL_H +#define LMP_RANN_FINGERPRINT_RADIAL_H + +#include "rann_fingerprint.h" + +namespace LAMMPS_NS { + namespace RANN { + + class Fingerprint_radial : public Fingerprint { + public: + Fingerprint_radial(PairRANN *); + ~Fingerprint_radial(); + bool parse_values(std::string,std::vector); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int nmax;//highest term + int omin;//lowest term + + }; + + } +} + +#endif +#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_radialscreened.cpp b/src/USER-RANN/rann_fingerprint_radialscreened.cpp new file mode 100644 index 0000000000..79333a4e3a --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radialscreened.cpp @@ -0,0 +1,253 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#include "rann_fingerprint_radialscreened.h" + + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_radialscreened::Fingerprint_radialscreened(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + nmax = 0; + omin = 0; + id = -1; + style = "radialscreened"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + _pair->doscreen = true; + screen = true; +} + +Fingerprint_radialscreened::~Fingerprint_radialscreened() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialscreened::parse_values(std::string constant,std::vector line1) { + int l; + int nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alpha")==0) { + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && nmax!=0)return true; + return false; +} + +void Fingerprint_radialscreened::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(nmax-omin+1);i++) { + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",omin); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",nmax); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialscreened::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++) { + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(nmax-omin);m++) { + radialtable[k*(nmax-omin+1)+m]=pow(sqrt(r1)/re,m+omin)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialscreened::init(int *i,int _id) +{ + empty = false; + for (int j=0;jnelements; + int res = pair->res; + int i,j,jj,itype,jtype,l,kk; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; + double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype)continue; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1) {pair->errorf(FLERR,"invalid neighbor radius!");} + if (radialtable[m1]==0) {continue;} + //cubic interpolation from tables + double *p1 = &radialtable[m1*(nmax-omin+1)]; + double *p2 = &radialtable[(m1+1)*(nmax-omin+1)]; + double *p3 = &radialtable[(m1+2)*(nmax-omin+1)]; + double *p0 = &radialtable[(m1-1)*(nmax-omin+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(nmax-omin);l++) { + double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); + features[count]+=rt; + double rt1 = rt*((l+omin)/rsq+(-alpha[l]/re+dfc)*ri); + //update neighbor's features + dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; + dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; + dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; + for (kk=0;kk); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*); + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int nmax;//highest term + int omin;//lowest term + + }; +} + +} + +#endif + + + +#endif /* FINGERPRINT_RADIALSCREENED_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp b/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp new file mode 100644 index 0000000000..f594e92077 --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radialscreenedspin.cpp @@ -0,0 +1,264 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#include "rann_fingerprint_radialscreenedspin.h" + + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_radialscreenedspin::Fingerprint_radialscreenedspin(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + nmax = 0; + omin = 0; + id = -1; + style = "radialscreenedspin"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + _pair->doscreen = true; + screen = true; + _pair->dospin = true; + spin = true; +} + +Fingerprint_radialscreenedspin::~Fingerprint_radialscreenedspin() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialscreenedspin::parse_values(std::string constant,std::vector line1) { + int l; + int nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alpha")==0) { + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && nmax!=0)return true; + return false; +} + +void Fingerprint_radialscreenedspin::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(nmax-omin+1);i++) { + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",omin); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",nmax); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialscreenedspin::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++) { + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(nmax-omin);m++) { + radialtable[k*(nmax-omin+1)+m]=pow(sqrt(r1)/re,m+omin)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialscreenedspin::init(int *i,int _id) +{ + empty = false; + for (int j=0;jnelements; + int res = pair->res; + int i,j,jj,itype,jtype,l,kk; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; + double **x = sim->x; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + double *si = sim->s[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + if (Bij[jj]==false) {continue;} + jtype = tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype)continue; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1) {pair->errorf(FLERR,"invalid neighbor radius!");} + if (radialtable[m1]==0) {continue;} + j=jl[jj]; + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + //cubic interpolation from tables + double *p1 = &radialtable[m1*(nmax-omin+1)]; + double *p2 = &radialtable[(m1+1)*(nmax-omin+1)]; + double *p3 = &radialtable[(m1+2)*(nmax-omin+1)]; + double *p0 = &radialtable[(m1-1)*(nmax-omin+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(nmax-omin);l++) { + double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); + //update neighbor's features + dspinx[jj*f+count]+=rt*si[0]; + dspiny[jj*f+count]+=rt*si[1]; + dspinz[jj*f+count]+=rt*si[2]; + dspinx[jnum*f+count]+=rt*sj[0]; + dspiny[jnum*f+count]+=rt*sj[1]; + dspinz[jnum*f+count]+=rt*sj[2]; + rt *= sp; + features[count]+=rt; + double rt1 = rt*((l+omin)/rsq+(-alpha[l]/re+dfc)*ri); + dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; + dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; + dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; + for (kk=0;kk); + void write_values(FILE *); + void init(int*,int); + void allocate(); + virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//spin,screen + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int nmax;//highest term + int omin;//lowest term + + }; + } + +} + +#endif + + + +#endif /* FINGERPRINT_RADIALSCREENED_H_ */ diff --git a/src/USER-RANN/rann_fingerprint_radialspin.cpp b/src/USER-RANN/rann_fingerprint_radialspin.cpp new file mode 100644 index 0000000000..9d61fc08ed --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radialspin.cpp @@ -0,0 +1,252 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ +#include "rann_fingerprint_radialspin.h" + + + +using namespace LAMMPS_NS::RANN; + +Fingerprint_radialspin::Fingerprint_radialspin(PairRANN *_pair) : Fingerprint(_pair) +{ + n_body_type = 2; + dr = 0; + re = 0; + rc = 0; + alpha = new double [1]; + alpha[0] = -1; + nmax = 0; + omin = 0; + id = -1; + style = "radialspin"; + atomtypes = new int [n_body_type]; + empty = true; + fullydefined = false; + _pair->allscreen = false; + _pair->dospin = true; + spin = true; +} + +Fingerprint_radialspin::~Fingerprint_radialspin() +{ + delete [] atomtypes; + delete [] radialtable; + delete [] alpha; + delete [] dfctable; + delete [] rinvsqrttable; +} + +bool Fingerprint_radialspin::parse_values(std::string constant,std::vector line1) { + int l; + int nwords=line1.size(); + if (constant.compare("re")==0) { + re = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("rc")==0) { + rc = strtod(line1[0].c_str(),NULL); + } + else if (constant.compare("alpha")==0) { + delete [] alpha; + alpha = new double [nwords]; + for (l=0;lerrorf(FLERR,"Undefined value for radial power"); + //code will run with default o=0 if o is never specified. All other values must be defined in potential file. + if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && nmax!=0)return true; + return false; +} + +void Fingerprint_radialspin::write_values(FILE *fid) { + int i; + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:re:\n",style,id); + fprintf(fid,"%f\n",re); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:rc:\n",style,id); + fprintf(fid,"%f\n",rc); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:alpha:\n",style,id); + for (i=0;i<(nmax-omin+1);i++) { + fprintf(fid,"%f ",alpha[i]); + } + fprintf(fid,"\n"); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:dr:\n",style,id); + fprintf(fid,"%f\n",dr); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:o:\n",style,id); + fprintf(fid,"%d\n",omin); + fprintf(fid,"fingerprintconstants:"); + fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); + for (i=1;ielementsp[atomtypes[i]]); + } + fprintf(fid,":%s_%d:n:\n",style,id); + fprintf(fid,"%d\n",nmax); +} + +//called after fingerprint is fully defined and tables can be computed. +void Fingerprint_radialspin::allocate() +{ + int k,m; + double r1; + int buf = 5; + int res = pair->res; + double cutmax = pair->cutmax; + radialtable = new double [(res+buf)*get_length()]; + dfctable = new double [res+buf]; + for (k=0;k<(res+buf);k++) { + r1 = cutmax*cutmax*(double)(k)/(double)(res); + for (m=0;m<=(nmax-omin);m++) { + radialtable[k*(nmax-omin+1)+m]=pow(sqrt(r1)/re,m+omin)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); + } + if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)) { + dfctable[k]=0; + } + else{ + dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); + } + } + generate_rinvssqrttable(); +} + +//called after fingerprint is declared for i-j type, but before its parameters are read. +void Fingerprint_radialspin::init(int *i,int _id) +{ + empty = false; + for (int j=0;jnelements; + int res = pair->res; + int i,j,jj,itype,jtype,l; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + // + PairRANN::Simulation *sim = &pair->sims[sid]; + int count=0; + int *type = sim->type; + ilist = sim->ilist; + double cutmax = pair->cutmax; + i = ilist[ii]; + itype = pair->map[type[i]]; + int f = pair->net[itype].dimensions[0]; + double cutinv2 = 1/cutmax/cutmax; + double *si = sim->s[i]; + firstneigh = sim->firstneigh; + jlist = firstneigh[i]; + //loop over neighbors + for (jj = 0; jj < jnum; jj++) { + j = jl[jj]; + jtype =tn[jj]; + if (atomtypes[1] != nelements && atomtypes[1] != jtype)continue; + delx = xn[jj]; + dely = yn[jj]; + delz = zn[jj]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq > rc*rc)continue; + count = startingneuron; + double r1 = (rsq*((double)res)*cutinv2); + int m1 = (int)r1; + if (m1>res || m1<1) {pair->errorf(FLERR,"invalid neighbor radius!");} + if (radialtable[m1]==0) {continue;} + double *sj = sim->s[j]; + double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; + //cubic interpolation from tables + double *p1 = &radialtable[m1*(nmax-omin+1)]; + double *p2 = &radialtable[(m1+1)*(nmax-omin+1)]; + double *p3 = &radialtable[(m1+2)*(nmax-omin+1)]; + double *p0 = &radialtable[(m1-1)*(nmax-omin+1)]; + double *q = &dfctable[m1-1]; + double *rinvs = &rinvsqrttable[m1-1]; + r1 = r1-trunc(r1); + double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); + double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); + for (l=0;l<=(nmax-omin);l++) { + double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); + dspinx[jj*f+count]+=rt*si[0]; + dspiny[jj*f+count]+=rt*si[1]; + dspinz[jj*f+count]+=rt*si[2]; + dspinx[jnum*f+count]+=rt*sj[0]; + dspiny[jnum*f+count]+=rt*sj[1]; + dspinz[jnum*f+count]+=rt*sj[2]; + rt *= sp; + features[count]+=rt; + rt *= (l+omin)/rsq+(-alpha[l]/re+dfc)*ri; + //update neighbor's features + dfeaturesx[jj*f+count]+=rt*delx; + dfeaturesy[jj*f+count]+=rt*dely; + dfeaturesz[jj*f+count]+=rt*delz; + //update atom's features + dfeaturesx[jnum*f+count]-=rt*delx; + dfeaturesy[jnum*f+count]-=rt*dely; + dfeaturesz[jnum*f+count]-=rt*delz; + count++; + } + } +} + +int Fingerprint_radialspin::get_length() +{ + return nmax-omin+1; +} diff --git a/src/USER-RANN/rann_fingerprint_radialspin.h b/src/USER-RANN/rann_fingerprint_radialspin.h new file mode 100644 index 0000000000..6abddd910d --- /dev/null +++ b/src/USER-RANN/rann_fingerprint_radialspin.h @@ -0,0 +1,69 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu + Doyl Dickel (MSU) doyl@me.msstate.edu + ----------------------------------------------------------------------*/ +/* +“The research described and the resulting data presented herein, unless +otherwise noted, was funded under PE 0602784A, Project T53 "Military +Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, +managed by the U.S. Army Combat Capabilities Development Command (CCDC) and +the Engineer Research and Development Center (ERDC). The work described in +this document was conducted at CAVS, MSU. Permission was granted by ERDC +to publish this information. Any opinions, findings and conclusions or +recommendations expressed in this material are those of the author(s) and +do not necessarily reflect the views of the United States Army.​” + +DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 + */ + +#ifdef FINGERPRINT_CLASS + +FingerprintStyle(radialspin,Fingerprint_radialspin) + +#else + +#ifndef LMP_RANN_FINGERPRINT_RADIALSPIN_H +#define LMP_RANN_FINGERPRINT_RADIALSPIN_H + +#include "rann_fingerprint.h" + +namespace LAMMPS_NS { + namespace RANN { + class Fingerprint_radialspin : public Fingerprint { + public: + Fingerprint_radialspin(PairRANN *); + ~Fingerprint_radialspin(); + bool parse_values(std::string,std::vector); + void write_values(FILE *); + void init(int*,int); + void allocate(); + void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); + int get_length(); + + double *radialtable; + double *dfctable; + double dr; + double *alpha; + double re; + int nmax;//highest term + int omin;//lowest term + + }; + } + +} + +#endif +#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/USER-RANN/rann_list_activation.h b/src/USER-RANN/rann_list_activation.h new file mode 100644 index 0000000000..a140b92c65 --- /dev/null +++ b/src/USER-RANN/rann_list_activation.h @@ -0,0 +1,2 @@ +#include "rann_activation_linear.h" +#include "rann_activation_sig_i.h" diff --git a/src/USER-RANN/rann_list_fingerprint.h b/src/USER-RANN/rann_list_fingerprint.h new file mode 100644 index 0000000000..005c7f1b04 --- /dev/null +++ b/src/USER-RANN/rann_list_fingerprint.h @@ -0,0 +1,8 @@ +#include "rann_fingerprint_bond.h" +#include "rann_fingerprint_bondscreened.h" +#include "rann_fingerprint_bondscreenedspin.h" +#include "rann_fingerprint_bondspin.h" +#include "rann_fingerprint_radial.h" +#include "rann_fingerprint_radialscreened.h" +#include "rann_fingerprint_radialscreenedspin.h" +#include "rann_fingerprint_radialspin.h" From f165fdb61deac367ea8a81dd3e9a67a3c3caea94 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Thu, 11 Feb 2021 08:48:00 -0600 Subject: [PATCH 078/542] remove all files from src that are in src/USER-RANN --- src/activation.cpp | 57 -- src/activation.h | 52 - src/activation_linear.cpp | 54 - src/activation_linear.h | 54 - src/activation_sigI.cpp | 52 - src/activation_sigI.h | 55 -- src/fingerprint.cpp | 113 --- src/fingerprint.h | 72 -- src/fingerprint_bond.cpp | 917 ----------------- src/fingerprint_bond.h | 80 -- src/fingerprint_bondscreened.cpp | 950 ------------------ src/fingerprint_bondscreened.h | 79 -- src/fingerprint_bondscreenedspin.cpp | 1023 ------------------- src/fingerprint_bondscreenedspin.h | 79 -- src/fingerprint_bondspin.cpp | 1019 ------------------- src/fingerprint_bondspin.h | 79 -- src/fingerprint_radial.cpp | 259 ----- src/fingerprint_radial.h | 68 -- src/fingerprint_radialscreened.cpp | 273 ------ src/fingerprint_radialscreened.h | 71 -- src/fingerprint_radialscreenedspin.cpp | 285 ------ src/fingerprint_radialscreenedspin.h | 71 -- src/fingerprint_radialspin.cpp | 269 ----- src/fingerprint_radialspin.h | 69 -- src/pair_rann.cpp | 1247 ------------------------ src/pair_rann.h | 171 ---- 26 files changed, 7518 deletions(-) delete mode 100644 src/activation.cpp delete mode 100644 src/activation.h delete mode 100644 src/activation_linear.cpp delete mode 100644 src/activation_linear.h delete mode 100644 src/activation_sigI.cpp delete mode 100644 src/activation_sigI.h delete mode 100644 src/fingerprint.cpp delete mode 100644 src/fingerprint.h delete mode 100644 src/fingerprint_bond.cpp delete mode 100644 src/fingerprint_bond.h delete mode 100644 src/fingerprint_bondscreened.cpp delete mode 100644 src/fingerprint_bondscreened.h delete mode 100644 src/fingerprint_bondscreenedspin.cpp delete mode 100644 src/fingerprint_bondscreenedspin.h delete mode 100644 src/fingerprint_bondspin.cpp delete mode 100644 src/fingerprint_bondspin.h delete mode 100644 src/fingerprint_radial.cpp delete mode 100644 src/fingerprint_radial.h delete mode 100644 src/fingerprint_radialscreened.cpp delete mode 100644 src/fingerprint_radialscreened.h delete mode 100644 src/fingerprint_radialscreenedspin.cpp delete mode 100644 src/fingerprint_radialscreenedspin.h delete mode 100644 src/fingerprint_radialspin.cpp delete mode 100644 src/fingerprint_radialspin.h delete mode 100644 src/pair_rann.cpp delete mode 100644 src/pair_rann.h diff --git a/src/activation.cpp b/src/activation.cpp deleted file mode 100644 index 5286eb4730..0000000000 --- a/src/activation.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - - -#include "activation.h" - - -using namespace LAMMPS_NS; - -Activation::Activation(PairRANN *pair) { - empty = true; - style = "empty"; -} - -Activation::~Activation(){ - -} - -//default is linear activation (no change). -double Activation::activation_function(double A){ - return A; -} - -double Activation::dactivation_function(double A){ - return 1.0; -} - -double Activation::ddactivation_function(double A){ - return 0.0; -} diff --git a/src/activation.h b/src/activation.h deleted file mode 100644 index 0188f80bff..0000000000 --- a/src/activation.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#ifndef ACTIVATION_H_ -#define ACTIVATION_H_ - -#include "pair_rann.h" - -namespace LAMMPS_NS { - - class Activation { - public: - Activation(class PairRANN *); - virtual ~Activation(); - virtual double activation_function(double); - virtual double dactivation_function(double); - virtual double ddactivation_function(double); - bool empty; - const char *style; - }; -} - - - -#endif /* ACTIVATION_H_ */ diff --git a/src/activation_linear.cpp b/src/activation_linear.cpp deleted file mode 100644 index ddb9ae54c9..0000000000 --- a/src/activation_linear.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#include "activation_linear.h" - - - -using namespace LAMMPS_NS; - -Activation_linear::Activation_linear(PairRANN *pair) : Activation(pair){ - empty = false; - style = "linear"; -} - -double Activation_linear::activation_function(double A) -{ - return A; -} - -double Activation_linear::dactivation_function(double A) -{ - return 1.0; -} - -double Activation_linear::ddactivation_function(double){ - return 0.0; -} diff --git a/src/activation_linear.h b/src/activation_linear.h deleted file mode 100644 index 2ea0f55729..0000000000 --- a/src/activation_linear.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ -#ifdef ACTIVATION_CLASS - -ActivationStyle(linear,Activation_linear) - -#else - -#ifndef ACTIVATION_LINEAR_H_ -#define ACTIVATION_LINEAR_H_ - -#include "activation.h" - -namespace LAMMPS_NS { - -class Activation_linear : public Activation { -public: - Activation_linear(class PairRANN *); - double activation_function(double); - double dactivation_function(double); - double ddactivation_function(double); -}; - -} - -#endif -#endif /* ACTIVATION_LINEAR_H_ */ diff --git a/src/activation_sigI.cpp b/src/activation_sigI.cpp deleted file mode 100644 index b14f1c503d..0000000000 --- a/src/activation_sigI.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ -#include "activation_sigI.h" - -using namespace LAMMPS_NS; - -Activation_sigI::Activation_sigI(PairRANN *pair) : Activation(pair){ - empty = false; - style = "sigI"; -} - -double Activation_sigI::activation_function(double in){ - if (in>34)return in; - return 0.1*in + 0.9*log(exp(in) + 1); -} - -double Activation_sigI::dactivation_function(double in){ - if (in>34)return 1; - return 0.1 + 0.9/(exp(in)+1)*exp(in); -} - -double Activation_sigI::ddactivation_function(double in){ - if (in>34)return 0; - return 0.9*exp(in)/(exp(in)+1)/(exp(in)+1);; -} diff --git a/src/activation_sigI.h b/src/activation_sigI.h deleted file mode 100644 index 404af35cfd..0000000000 --- a/src/activation_sigI.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#ifdef ACTIVATION_CLASS - -ActivationStyle(sigI,Activation_sigI) - -#else - -#ifndef ACTIVATION_SIGI_H_ -#define ACTIVATION_SIGI_H_ - -#include "activation.h" - -namespace LAMMPS_NS { - - class Activation_sigI : public Activation { - public: - Activation_sigI(class PairRANN *); - double activation_function(double); - double dactivation_function(double); - double ddactivation_function(double); - }; -} - - -#endif -#endif /* ACTIVATION_SIGI_H_ */ diff --git a/src/fingerprint.cpp b/src/fingerprint.cpp deleted file mode 100644 index 89786b632a..0000000000 --- a/src/fingerprint.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#include "fingerprint.h" - - -using namespace LAMMPS_NS; - -Fingerprint::Fingerprint(PairRANN *pair) -{ - spin = false; - screen = false; - empty = true; - fullydefined = false; - n_body_type = 0; - style = "empty"; - this->pair = pair; -} - -Fingerprint::~Fingerprint(){ - -} - -bool Fingerprint::parse_values(char *word,char *line1){ - return false; -} - -void Fingerprint::init(int *i,int id){ - -} - -void Fingerprint::allocate(){ - -} - -void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - -} - -void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - -} - -void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - -} - -void Fingerprint::compute_fingerprint(double *features,double *dfeaturesx,double *dfeaturesy,double * dfeaturesz,double *sx, double *sy, double *sz, double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - -} - -void Fingerprint::write_values(FILE *fid){ - -} - -int Fingerprint::get_length(){ - return 0; -} - -//Smooth cutoff, goes from 1 to zero over the interval rc-dr to rc. Same as MEAM uses. Used by generateradialtable and generatexpcuttable. -double Fingerprint::cutofffunction(double r,double rc, double dr){ - double out; - if (r < (rc -dr))out=1; - else if (r>rc)out=0; - else { - out = pow(1-pow(1-(rc-r)/dr,4.0),2.0); - } - return out; -} - -void Fingerprint::generate_rinvssqrttable(){ - int buf = 5; - int m; - double r1; - double cutmax = pair->cutmax; - int res = pair->res; - rinvsqrttable = new double[res+buf]; - for (m=0;m<(res+buf);m++){ - r1 = cutmax*cutmax*(double)(m)/(double)(res); - rinvsqrttable[m] = 1/sqrt(r1); - } -} - - - - diff --git a/src/fingerprint.h b/src/fingerprint.h deleted file mode 100644 index 35645742f4..0000000000 --- a/src/fingerprint.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - -----------------*/ - -#ifndef FINGERPRINT_H_ -#define FINGERPRINT_H_ - -#include "pair_rann.h" - -namespace LAMMPS_NS { - - class Fingerprint { - public: - Fingerprint(PairRANN *); - virtual ~Fingerprint(); - virtual bool parse_values(char*,char*); - virtual void write_values(FILE *); - virtual void init(int*,int); - virtual void allocate(); - void init_screen(int); - virtual void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//no screen,no spin - virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//screen - virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*);//spin - virtual void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int*,int,int*);//spin,screen - virtual int get_length(); - virtual double cutofffunction(double,double, double); - virtual void generate_rinvssqrttable(); - bool spin; - bool screen; - int n_body_type;//i-j vs. i-j-k vs. i-j-k-l, etc. - bool empty; - bool fullydefined; - int startingneuron; - int id;//based on ordering of fingerprints listed for i-j in potential file - const char *style; - int* atomtypes; - double *rinvsqrttable; - double rc; - PairRANN *pair; - }; - -} - - -#endif /* FINGERPRINT_H_ */ diff --git a/src/fingerprint_bond.cpp b/src/fingerprint_bond.cpp deleted file mode 100644 index 1f8630ccb2..0000000000 --- a/src/fingerprint_bond.cpp +++ /dev/null @@ -1,917 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#include "fingerprint_bond.h" - - -using namespace LAMMPS_NS; - -Fingerprint_bond::Fingerprint_bond(PairRANN *pair) : Fingerprint(pair) -{ - n_body_type = 3; - dr = 0; - re = 0; - rc = 0; - alpha_k = new double [1]; - alpha_k[0] = -1; - k = 0; - m = 0; - id = -1; - style = "bond"; - atomtypes = new int [n_body_type]; - empty = true; - pair->allscreen = false; -} - -Fingerprint_bond::~Fingerprint_bond(){ - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; - for (int i=0;i<(m*(m+1))>>1;i++){ - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; - } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; -} - -bool Fingerprint_bond::parse_values(char * constant, char * line1){ - char **words=new char *[MAXLINE]; - int nwords,l; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(words[0],NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(words[0],NULL); - } - else if (strcmp(constant,"alphak")==0){ - delete [] alpha_k; - alpha_k = new double [nwords]; - for (l=0;lerrorf("Undefined value for bond power"); - delete [] words; - if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; - return false; -} - -void Fingerprint_bond::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alphak:\n",style,id); - for (i=0;ielementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:k:\n",style,id); - fprintf(fid,"%d\n",k); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:m:\n",style,id); - fprintf(fid,"%d\n",m); -} - -void Fingerprint_bond::init(int *i,int id){ - for (int j=0;jk = 0; - alpha_k = new double [1]; - alpha_k[0]=-1; - empty = false; - this->id = id; -} - -//number of neurons defined by this fingerprint -int Fingerprint_bond::get_length(){ - return m*k; -} - -void Fingerprint_bond::allocate(){ - generate_exp_cut_table(); - generate_coefficients(); - generate_rinvssqrttable(); -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. -void Fingerprint_bond::generate_exp_cut_table(){ - int m,n; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(this->k)]; - dfctable = new double [res+buf]; - for (m=0;m<(res+buf);m++){ - r1 = cutmax*cutmax*(double)(m)/(double)(res); - for (n=0;n<(this->k);n++){ - expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[m]=0; - } - else{ - dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. -void Fingerprint_bond::generate_coefficients(){ //calculates multinomial coefficient for each term - int p,mb,mc; - int n,p1,i1; - mb = this->m; - mc=(mb*(mb+1))>>1; - coeff = new int *[mc]; - coeffx = new int *[mc]; - coeffy = new int *[mc]; - coeffz = new int *[mc]; - for (p=0;pm+1]; - for (p=0;pm+1;p++){ - M[p]=0; - } - for (p1=0;p1sims[sid]; - ilist = sim->ilist; - numneigh = sim->numneigh; - i = ilist[ii]; -// jnum = numneigh[i]; - //select the more efficient algorithm for this particular potential and environment. - if (jnum*2>(m+1)*m*20){ - do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); - } - else{ - do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,sid,xn,yn,zn,tn,jnum,jl); - - } -} - -//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bond::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int count=0; - PairRANN::Simulation *sim = &pair->sims[sid]; -// double **x = sim->x; - int *type = sim->type; - double cutmax = pair->cutmax; - int res = pair->res; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - int nelements=pair->nelements; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k+12]; - int p = this->k; - int countmb=((this->m)*(this->m+1))>>1; - // calculate interpolation expr, rinvs and dfc, for each neighbor - for (jj = 0; jj < jnum; jj++) { -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - } - double* q = &dfctable[m1-1]; - double* ri = &rinvsqrttable[m1-1]; - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); - - expr[jj][p]=delx*rinvs; - expr[jj][p+1]=dely*rinvs; - expr[jj][p+2]=delz*rinvs; - //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. - if (expr[jj][p]*expr[jj][p]<0.000000000001){ - expr[jj][p] = 0.000001; - } - if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ - expr[jj][p+1] = 0.000001; - } - if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ - expr[jj][p+2] = 0.000001; - } - expr[jj][p+3] = -dfc*expr[jj][p]; - expr[jj][p+4] = rinvs/expr[jj][p]; - expr[jj][p+5] = rinvs*expr[jj][p]; - expr[jj][p+6] = -dfc*expr[jj][p+1]; - expr[jj][p+7] = rinvs/expr[jj][p+1]; - expr[jj][p+8] = rinvs*expr[jj][p+1]; - expr[jj][p+9] = -dfc*expr[jj][p+2]; - expr[jj][p+10] = rinvs/expr[jj][p+2]; - expr[jj][p+11] = rinvs*expr[jj][p+2]; - } - - int kb = this->k; - int mb = this->m; - count = startingneuron; - double Bb[mb]; - double dBbx; - double dBby; - double dBbz; -// double dBbx1[mb]; -// double dBby1[mb]; -// double dBbz1[mb]; - double yprod; - for (mcount=0;mcountcoeffx[mcount]; - int *coeffy = this->coeffy[mcount]; - int *coeffz = this->coeffz[mcount]; - int *coeff = this->coeff[mcount]; - a = mb+1; - for (a1=0;a1map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2sims[sid]; - double **x = sim->x; - int *type = sim->type; - int nelements = pair->nelements; - int res = pair->res; - double cutmax = pair->cutmax; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k]; - double y[jnum][3]; - double ri[jnum]; - double dfc[jnum]; - int kb = this->k; - int mb = this->m; - double c41[this->k]; - double c51[this->k]; - double c61[this->k]; - double ct[this->k]; - for (jj = 0; jj < jnum; jj++) { -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - } - double* q = &dfctable[m1-1]; - double* r2 = &rinvsqrttable[m1-1]; - dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); - y[jj][0]=delx*ri[jj]; - y[jj][1]=dely*ri[jj]; - y[jj][2]=delz*ri[jj]; - } -// if (i==5){ -// for (jj=0;jjmap[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype){ - continue; - } - for (n = 0;nk;n++){ - ct[n] = 2*alpha_k[n]/re; - c41[n]=(-ct[n]+2*dfc[jj])*y[jj][0]; - c51[n]=(-ct[n]+2*dfc[jj])*y[jj][1]; - c61[n]= (-ct[n]+2*dfc[jj])*y[jj][2]; - } - if (jtypes==ktypes){ - for (kk=jj+1;kk< jnum; kk++){ - if (expr[kk][0]==0)continue; -// int k1 = jlist[kk]; -// k1 &= NEIGHMASK; -// ktype = pair->map[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = 2*ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = 2*ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = 2*ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = 2*ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = 2*ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = 2*ri[kk]*(y[jj][2]-dot*y[kk][2]); -// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); -// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); -// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); -// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); -// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); -// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); - for (n=0;nmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); -// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); -// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); -// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); -// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); -// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); -// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); - for (n=0;ndoscreen = true; - screen = true; -} - -Fingerprint_bondscreened::~Fingerprint_bondscreened(){ - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; - for (int i=0;i<(m*(m+1))>>1;i++){ - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; - } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; -} - -bool Fingerprint_bondscreened::parse_values(char * constant, char * line1){ - char **words=new char *[MAXLINE]; - int nwords,l; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(words[0],NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(words[0],NULL); - } - else if (strcmp(constant,"alphak")==0){ - delete [] alpha_k; - alpha_k = new double [nwords]; - for (l=0;lerrorf("Undefined value for bond power"); - delete [] words; - if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; - return false; -} - -void Fingerprint_bondscreened::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alphak:\n",style,id); - for (i=0;ielementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:k:\n",style,id); - fprintf(fid,"%d\n",k); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:m:\n",style,id); - fprintf(fid,"%d\n",m); -} - -void Fingerprint_bondscreened::init(int *i,int id){ - for (int j=0;jk = 0; - alpha_k = new double [1]; - alpha_k[0]=-1; - empty = false; - this->id = id; -} - -//number of neurons defined by this fingerprint -int Fingerprint_bondscreened::get_length(){ - return m*k; -} - -void Fingerprint_bondscreened::allocate(){ - generate_exp_cut_table(); - generate_coefficients(); - generate_rinvssqrttable(); -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. -void Fingerprint_bondscreened::generate_exp_cut_table(){ - int m,n; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(this->k)]; - dfctable = new double [res+buf]; - for (m=0;m<(res+buf);m++){ - r1 = cutmax*cutmax*(double)(m)/(double)(res); - for (n=0;n<(this->k);n++){ - expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[m]=0; - } - else{ - dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } -} - - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. -void Fingerprint_bondscreened::generate_coefficients(){ //calculates multinomial coefficient for each term - int p,mb,mc; - int n,p1,i1; - mb = this->m; - mc=(mb*(mb+1))>>1; - coeff = new int *[mc]; - coeffx = new int *[mc]; - coeffy = new int *[mc]; - coeffz = new int *[mc]; - for (p=0;pm+1]; - for (p=0;pm+1;p++){ - M[p]=0; - } - for (p1=0;p1sims[sid]; -// ilist = sim->ilist; -// numneigh = sim->numneigh; -// i = ilist[ii]; -// jnum = numneigh[i]; - //select the more efficient algorithm for this particular potential and environment. - if (jnum*2>(m+1)*m*20){ - do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); - } - else{ - do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); - - } -} - -//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bondscreened::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int count=0; - PairRANN::Simulation *sim = &pair->sims[sid]; -// double **x = sim->x; - //double **f = atom->f; - int *type = sim->type; - double cutmax = pair->cutmax; - int res = pair->res; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - int nelements=pair->nelements; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k+12]; - int p = this->k; - int countmb=((this->m)*(this->m+1))>>1; - // calculate interpolation expr, rinvs and dfc, for each neighbor - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx=xn[jj]; - dely=yn[jj]; - delz=zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - expr[jj][kk] *= Sik[jj]; - } - double* q = &dfctable[m1-1]; - double* ri = &rinvsqrttable[m1-1]; - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); - - expr[jj][p]=delx*rinvs; - expr[jj][p+1]=dely*rinvs; - expr[jj][p+2]=delz*rinvs; - //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. - if (expr[jj][p]*expr[jj][p]<0.000000000001){ - expr[jj][p] = 0.000001; - } - if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ - expr[jj][p+1] = 0.000001; - } - if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ - expr[jj][p+2] = 0.000001; - } - expr[jj][p+3] = -dfc*expr[jj][p]-dSikx[jj]; - expr[jj][p+4] = rinvs/expr[jj][p]; - expr[jj][p+5] = rinvs*expr[jj][p]; - expr[jj][p+6] = -dfc*expr[jj][p+1]-dSiky[jj]; - expr[jj][p+7] = rinvs/expr[jj][p+1]; - expr[jj][p+8] = rinvs*expr[jj][p+1]; - expr[jj][p+9] = -dfc*expr[jj][p+2]-dSikz[jj]; - expr[jj][p+10] = rinvs/expr[jj][p+2]; - expr[jj][p+11] = rinvs*expr[jj][p+2]; - } - - int kb = this->k; - int mb = this->m; -// int ind = kb+mb*kb; - count = startingneuron; - double Bb[mb]; - double dBbx; - double dBby; - double dBbz; - double dBbx1[mb]; - double dBby1[mb]; - double dBbz1[mb]; - double yprod; - for (mcount=0;mcountcoeffx[mcount]; - int *coeffy = this->coeffy[mcount]; - int *coeffz = this->coeffz[mcount]; - int *coeff = this->coeff[mcount]; - a = mb+1; - for (a1=0;a1map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2sims[sid]; -// double **x = sim->x; - int *type = sim->type; - int nelements = pair->nelements; - int res = pair->res; - double cutmax = pair->cutmax; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k]; - double y[jnum][3]; - double ri[jnum]; - double dfc[jnum]; - int kb = this->k; - int mb = this->m; - double Bijk[kb][mb]; - double c41[this->k]; - double c51[this->k]; - double c61[this->k]; - double ct[this->k]; - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - expr[jj][kk] *= Sik[jj]; - } - double* q = &dfctable[m1-1]; - double* r2 = &rinvsqrttable[m1-1]; - dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); - y[jj][0]=delx*ri[jj]; - y[jj][1]=dely*ri[jj]; - y[jj][2]=delz*ri[jj]; - } - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} - if (expr[jj][0]==0)continue; -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype =tn[jj]; - if (jtypes != nelements && jtypes != jtype){ - continue; - } - for (n = 0;nk;n++){ - ct[n] = alpha_k[n]/re; - c41[n]=(-ct[n]+dfc[jj])*y[jj][0]+dSikx[jj]; - c51[n]=(-ct[n]+dfc[jj])*y[jj][1]+dSiky[jj]; - c61[n]=(-ct[n]+dfc[jj])*y[jj][2]+dSikz[jj]; - } - for (n=0;nmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); - for (n=0;nSik[kk]*pair->Sik[jj]; -// double c4 = c41[n]+4*pair->dSikx[kk]; -// double c5 = c51[n]+4*pair->dSiky[kk]; -// double c6 = c61[n]+4*pair->dSikz[kk]; -// //m=0 -// features[count]+=dot1; -// Bijk[n][0]+=dot1; -// dfeaturesx[jj*f+count]+=dot1*c4; -// dfeaturesy[jj*f+count]+=dot1*c5; -// dfeaturesz[jj*f+count]+=dot1*c6; -// c4*=dot; -// c5*=dot; -// c6*=dot; -// count++; -// for (m=1;mmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - count = startingneuron; - for (n=0;nBij[kk]==false){continue;} -// if (expr[kk][0]==0)continue; -// int k1 = jlist[kk]; -// k1 &= NEIGHMASK; -// ktype = pair->map[type[k1]]; -// if (ktypes != nelements && ktypes != ktype){ -// continue; -// } -// count = startingneuron; -// double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); -// double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); -// double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); -// double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); -// double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); -// double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); -// double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); -// for (n=0;nSik[kk]*pair->Sik[jj]; -// double c4 = c41[n]/2; -// double c5 = c51[n]/2; -// double c6 = c61[n]/2; -// double ct2 = -ct[n]/2+dfc[kk]; -// double c42 = ct2*y[kk][0]+pair->dSikx[kk]; -// double c52 = ct2*y[kk][1]+pair->dSiky[kk]; -// double c62 = ct2*y[kk][2]+pair->dSikz[kk]; -// //m=0 -// features[count]+=dot1; -// dfeaturesx[jj*f+count]+=dot1*c4; -// dfeaturesy[jj*f+count]+=dot1*c5; -// dfeaturesz[jj*f+count]+=dot1*c6; -// dfeaturesx[kk*f+count]+=dot1*c42; -// dfeaturesy[kk*f+count]+=dot1*c52; -// dfeaturesz[kk*f+count]+=dot1*c62; -// c4*=dot; -// c5*=dot; -// c6*=dot; -// c42*=dot; -// c52*=dot; -// c62*=dot; -// count++; -// for (m=1;mdoscreen = true; - screen = true; - pair->dospin = true; - spin = true; -} - -Fingerprint_bondscreenedspin::~Fingerprint_bondscreenedspin(){ - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; - for (int i=0;i<(m*(m+1))>>1;i++){ - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; - } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; -} - -bool Fingerprint_bondscreenedspin::parse_values(char * constant, char * line1){ - char **words=new char *[MAXLINE]; - int nwords,l; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(words[0],NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(words[0],NULL); - } - else if (strcmp(constant,"alphak")==0){ - delete [] alpha_k; - alpha_k = new double [nwords]; - for (l=0;lerrorf("Undefined value for bond power"); - delete [] words; - if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; - return false; -} - -void Fingerprint_bondscreenedspin::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alphak:\n",style,id); - for (i=0;ielementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:k:\n",style,id); - fprintf(fid,"%d\n",k); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:m:\n",style,id); - fprintf(fid,"%d\n",m); -} - -void Fingerprint_bondscreenedspin::init(int *i,int id){ - for (int j=0;jk = 0; - alpha_k = new double [1]; - alpha_k[0]=-1; - empty = false; - this->id = id; -} - -//number of neurons defined by this fingerprint -int Fingerprint_bondscreenedspin::get_length(){ - return m*k; -} - -void Fingerprint_bondscreenedspin::allocate(){ - generate_exp_cut_table(); - generate_coefficients(); - generate_rinvssqrttable(); -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. -void Fingerprint_bondscreenedspin::generate_exp_cut_table(){ - int m,n; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(this->k)]; - dfctable = new double [res+buf]; - for (m=0;m<(res+buf);m++){ - r1 = cutmax*cutmax*(double)(m)/(double)(res); - for (n=0;n<(this->k);n++){ - expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[m]=0; - } - else{ - dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } -} - - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. -void Fingerprint_bondscreenedspin::generate_coefficients(){ //calculates multinomial coefficient for each term - int p,mb,mc; - int n,p1,i1; - mb = this->m; - mc=(mb*(mb+1))>>1; - coeff = new int *[mc]; - coeffx = new int *[mc]; - coeffy = new int *[mc]; - coeffz = new int *[mc]; - for (p=0;pm+1]; - for (p=0;pm+1;p++){ - M[p]=0; - } - for (p1=0;p1sims[sid]; -// ilist = sim->ilist; -// numneigh = sim->numneigh; -// i = ilist[ii]; -// jnum = numneigh[i]; - //select the more efficient algorithm for this particular potential and environment. - if (jnum*2>(m+1)*m*20){ - do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); - } - else{ - do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,sid,xn,yn,zn,tn,jnum,jl); - - } -} - -//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bondscreenedspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz, double *dspinx, double *dspiny, double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij, int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int count=0; - PairRANN::Simulation *sim = &pair->sims[sid]; -// double **x = sim->x; - //double **f = atom->f; - int *type = sim->type; - double cutmax = pair->cutmax; - int res = pair->res; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - int nelements=pair->nelements; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k+12]; - int p = this->k; - int countmb=((this->m)*(this->m+1))>>1; - double *si = sim->s[i]; - // calculate interpolation expr, rinvs and dfc, for each neighbor - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx=xn[jj]; - dely=yn[jj]; - delz=zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - expr[jj][kk] *= Sik[jj]; - } - double* q = &dfctable[m1-1]; - double* ri = &rinvsqrttable[m1-1]; - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); - - expr[jj][p]=delx*rinvs; - expr[jj][p+1]=dely*rinvs; - expr[jj][p+2]=delz*rinvs; - //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. - if (expr[jj][p]*expr[jj][p]<0.000000000001){ - expr[jj][p] = 0.000001; - } - if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ - expr[jj][p+1] = 0.000001; - } - if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ - expr[jj][p+2] = 0.000001; - } - expr[jj][p+3] = -dfc*expr[jj][p]-dSikx[jj]; - expr[jj][p+4] = rinvs/expr[jj][p]; - expr[jj][p+5] = rinvs*expr[jj][p]; - expr[jj][p+6] = -dfc*expr[jj][p+1]-dSiky[jj]; - expr[jj][p+7] = rinvs/expr[jj][p+1]; - expr[jj][p+8] = rinvs*expr[jj][p+1]; - expr[jj][p+9] = -dfc*expr[jj][p+2]-dSikz[jj]; - expr[jj][p+10] = rinvs/expr[jj][p+2]; - expr[jj][p+11] = rinvs*expr[jj][p+2]; - } - - int kb = this->k; - int mb = this->m; -// int ind = kb+mb*kb; - count = startingneuron; - double Bb[mb]; - double Bbs[mb]; - double dBbx; - double dBby; - double dBbz; -// double dBbx1[mb]; -// double dBby1[mb]; -// double dBbz1[mb]; - double yprod; - for (mcount=0;mcountcoeffx[mcount]; - int *coeffy = this->coeffy[mcount]; - int *coeffz = this->coeffz[mcount]; - int *coeff = this->coeff[mcount]; - a = mb+1; - for (a1=0;a1map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2sims[sid]; -// double **x = sim->x; - int *type = sim->type; - int nelements = pair->nelements; - int res = pair->res; - double cutmax = pair->cutmax; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k]; - double y[jnum][3]; - double ri[jnum]; - double dfc[jnum]; - int kb = this->k; - int mb = this->m; - double Bijk[kb][mb]; - double c41[this->k]; - double c51[this->k]; - double c61[this->k]; - double ct[this->k]; - double *si = sim->s[i]; - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - expr[jj][kk] *= Sik[jj]; - } - double* q = &dfctable[m1-1]; - double* r2 = &rinvsqrttable[m1-1]; - dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); - y[jj][0]=delx*ri[jj]; - y[jj][1]=dely*ri[jj]; - y[jj][2]=delz*ri[jj]; - } - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} - if (expr[jj][0]==0)continue; -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype =tn[jj]; - if (jtypes != nelements && jtypes != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - for (n = 0;nk;n++){ - ct[n] = alpha_k[n]/re; - c41[n]=(-ct[n]+dfc[jj])*y[jj][0]+dSikx[jj]; - c51[n]=(-ct[n]+dfc[jj])*y[jj][1]+dSiky[jj]; - c61[n]=(-ct[n]+dfc[jj])*y[jj][2]+dSikz[jj]; - } - for (n=0;nmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - j = jl[kk]; - double *sk = sim->s[j]; - double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); - for (n=0;nSik[kk]*pair->Sik[jj]; -// double c4 = c41[n]+4*pair->dSikx[kk]; -// double c5 = c51[n]+4*pair->dSiky[kk]; -// double c6 = c61[n]+4*pair->dSikz[kk]; -// //m=0 -// features[count]+=dot1; -// Bijk[n][0]+=dot1; -// dfeaturesx[jj*f+count]+=dot1*c4; -// dfeaturesy[jj*f+count]+=dot1*c5; -// dfeaturesz[jj*f+count]+=dot1*c6; -// c4*=dot; -// c5*=dot; -// c6*=dot; -// count++; -// for (m=1;mmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - count = startingneuron; - for (n=0;nBij[kk]==false){continue;} -// if (expr[kk][0]==0)continue; -// int k1 = jlist[kk]; -// k1 &= NEIGHMASK; -// ktype = pair->map[type[k1]]; -// if (ktypes != nelements && ktypes != ktype){ -// continue; -// } -// count = startingneuron; -// double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); -// double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); -// double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); -// double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); -// double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); -// double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); -// double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); -// for (n=0;nSik[kk]*pair->Sik[jj]; -// double c4 = c41[n]/2; -// double c5 = c51[n]/2; -// double c6 = c61[n]/2; -// double ct2 = -ct[n]/2+dfc[kk]; -// double c42 = ct2*y[kk][0]+pair->dSikx[kk]; -// double c52 = ct2*y[kk][1]+pair->dSiky[kk]; -// double c62 = ct2*y[kk][2]+pair->dSikz[kk]; -// //m=0 -// features[count]+=dot1; -// dfeaturesx[jj*f+count]+=dot1*c4; -// dfeaturesy[jj*f+count]+=dot1*c5; -// dfeaturesz[jj*f+count]+=dot1*c6; -// dfeaturesx[kk*f+count]+=dot1*c42; -// dfeaturesy[kk*f+count]+=dot1*c52; -// dfeaturesz[kk*f+count]+=dot1*c62; -// c4*=dot; -// c5*=dot; -// c6*=dot; -// c42*=dot; -// c52*=dot; -// c62*=dot; -// count++; -// for (m=1;mallscreen = false; - pair->dospin = true; - spin = true; -} - -Fingerprint_bondspin::~Fingerprint_bondspin(){ - delete [] alpha_k; - delete [] atomtypes; - delete [] expcuttable; - delete [] dfctable; - for (int i=0;i<(m*(m+1))>>1;i++){ - delete [] coeff[i]; - delete [] coeffx[i]; - delete [] coeffy[i]; - delete [] coeffz[i]; - delete [] Mf[i]; - } - delete [] coeff; - delete [] coeffx; - delete [] coeffy; - delete [] coeffz; - delete [] Mf; - delete [] rinvsqrttable; -} - -bool Fingerprint_bondspin::parse_values(char * constant, char * line1){ - char **words=new char *[MAXLINE]; - int nwords,l; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(words[0],NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(words[0],NULL); - } - else if (strcmp(constant,"alphak")==0){ - delete [] alpha_k; - alpha_k = new double [nwords]; - for (l=0;lerrorf("Undefined value for bond power"); - delete [] words; - if (re!=0.0 && rc!=0.0 && alpha_k[0]!=-1 && dr!=0.0 && m!=0 && k!=0)return true; - return false; -} - -void Fingerprint_bondspin::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alphak:\n",style,id); - for (i=0;ielementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:k:\n",style,id); - fprintf(fid,"%d\n",k); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:m:\n",style,id); - fprintf(fid,"%d\n",m); -} - -void Fingerprint_bondspin::init(int *i,int id){ - for (int j=0;jk = 0; - alpha_k = new double [1]; - alpha_k[0]=-1; - empty = false; - this->id = id; -} - -//number of neurons defined by this fingerprint -int Fingerprint_bondspin::get_length(){ - return m*k; -} - -void Fingerprint_bondspin::allocate(){ - generate_exp_cut_table(); - generate_coefficients(); - generate_rinvssqrttable(); -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop and do3bodyfeatureset_doubleneighborloop. -void Fingerprint_bondspin::generate_exp_cut_table(){ - int m,n; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - expcuttable = new double [(res+buf)*(this->k)]; - dfctable = new double [res+buf]; - for (m=0;m<(res+buf);m++){ - r1 = cutmax*cutmax*(double)(m)/(double)(res); - for (n=0;n<(this->k);n++){ - expcuttable[n+m*(this->k)] = exp(-alpha_k[n]/re*sqrt(r1))*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[m]=0; - } - else{ - dfctable[m]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } -} - -//Generate table of complex functions for quick reference during compute. Used by do3bodyfeatureset_singleneighborloop. -void Fingerprint_bondspin::generate_coefficients(){ //calculates multinomial coefficient for each term - int p,mb,mc; - int n,p1,i1; - mb = this->m; - mc=(mb*(mb+1))>>1; - coeff = new int *[mc]; - coeffx = new int *[mc]; - coeffy = new int *[mc]; - coeffz = new int *[mc]; - for (p=0;pm+1]; - for (p=0;pm+1;p++){ - M[p]=0; - } - for (p1=0;p1sims[sid]; - ilist = sim->ilist; - numneigh = sim->numneigh; - i = ilist[ii]; -// jnum = numneigh[i]; - //select the more efficient algorithm for this particular potential and environment. - - if (jnum*2>(m+1)*m*20){ - do3bodyfeatureset_singleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); - } - else{ - do3bodyfeatureset_doubleneighborloop(features,dfeaturesx,dfeaturesy,dfeaturesz,dspinx,dspiny,dspinz,ii,sid,xn,yn,zn,tn,jnum,jl); - } -} - -//Called by do3bodyfeatureset. Algorithm for high neighbor numbers and small series of bond angle powers -void Fingerprint_bondspin::do3bodyfeatureset_singleneighborloop(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl){ - int i,j,jj,itype,jtype,kk,m,n,mcount,a,a1,a2,ai; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int count=0; - PairRANN::Simulation *sim = &pair->sims[sid]; -// double **x = sim->x; - int *type = sim->type; - double cutmax = pair->cutmax; - int res = pair->res; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - int nelements=pair->nelements; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k+12]; - int p = this->k; - int countmb=((this->m)*(this->m+1))>>1; - double *si = sim->s[i]; - // calculate interpolation expr, rinvs and dfc, for each neighbor - for (jj = 0; jj < jnum; jj++) { -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype && atomtypes[2] != nelements && atomtypes[2] != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); - } - double* q = &dfctable[m1-1]; - double* ri = &rinvsqrttable[m1-1]; - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double rinvs = ri[1] + 0.5 * r1*(ri[2] - ri[0] + r1*(2.0*ri[0] - 5.0*ri[1] + 4.0*ri[2] - ri[3] + r1*(3.0*(ri[1] - ri[2]) + ri[3] - ri[0]))); - - expr[jj][p]=delx*rinvs; - expr[jj][p+1]=dely*rinvs; - expr[jj][p+2]=delz*rinvs; - //Hack to avoid nan when x y or z component of radial vector is exactly 0. Shouldn't affect accuracy. - if (expr[jj][p]*expr[jj][p]<0.000000000001){ - expr[jj][p] = 0.000001; - } - if (expr[jj][p+1]*expr[jj][p+1]<0.000000000001){ - expr[jj][p+1] = 0.000001; - } - if (expr[jj][p+2]*expr[jj][p+2]<0.000000000001){ - expr[jj][p+2] = 0.000001; - } - expr[jj][p+3] = -dfc*expr[jj][p]; - expr[jj][p+4] = rinvs/expr[jj][p]; - expr[jj][p+5] = rinvs*expr[jj][p]; - expr[jj][p+6] = -dfc*expr[jj][p+1]; - expr[jj][p+7] = rinvs/expr[jj][p+1]; - expr[jj][p+8] = rinvs*expr[jj][p+1]; - expr[jj][p+9] = -dfc*expr[jj][p+2]; - expr[jj][p+10] = rinvs/expr[jj][p+2]; - expr[jj][p+11] = rinvs*expr[jj][p+2]; - } - - int kb = this->k; - int mb = this->m; - count = startingneuron; - double Bb[mb]; - double Bbs[mb]; - double dBbx; - double dBby; - double dBbz; -// double dBbx1[mb]; -// double dBby1[mb]; -// double dBbz1[mb]; - double yprod; - for (mcount=0;mcountcoeffx[mcount]; - int *coeffy = this->coeffy[mcount]; - int *coeffz = this->coeffz[mcount]; - int *coeff = this->coeff[mcount]; - a = mb+1; - for (a1=0;a1map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double yprod = expr[jj][ai]; - double *y4 = &expr[jj][p]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[2] != nelements && atomtypes[2] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2map[type[j]]; - jtype = tn[jj]; - if (atomtypes[1] != nelements && atomtypes[1] != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double *y3 = &expr[jj][p+3]; - double *y4 = &expr[jj][p]; - ai = n; - yprod = expr[jj][ai]; - for (a2=0;a2sims[sid]; - double **x = sim->x; - int *type = sim->type; - int nelements = pair->nelements; - int res = pair->res; - double cutmax = pair->cutmax; - double cutinv2 = 1/cutmax/cutmax; - ilist = sim->ilist; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - double expr[jnum][this->k]; - double y[jnum][3]; - double ri[jnum]; - double dfc[jnum]; - int kb = this->k; - int mb = this->m; - double c41[this->k]; - double c51[this->k]; - double c61[this->k]; - double ct[this->k]; - double *si = sim->s[i]; - for (jj = 0; jj < jnum; jj++) { -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype && ktypes != nelements && ktypes != jtype){ - expr[jj][0]=0; - continue; - } -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq>rc*rc){ - expr[jj][0]=0; - continue; - } -// j = jl[jj]; -// double *sj = sim->s[j]; -// double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (!(m1>=1 && m1 <= res))pair->errorf("Neighbor list is invalid.");//usually results from nan somewhere. - r1 = r1-trunc(r1); - double *p0 = &expcuttable[(m1-1)*this->k]; - double *p1 = &expcuttable[m1*this->k]; - double *p2 = &expcuttable[(m1+1)*this->k]; - double *p3 = &expcuttable[(m1+2)*this->k]; - for (kk=0;kkk;kk++){ - expr[jj][kk] = p1[kk]+0.5*r1*(p2[kk]-p0[kk]+r1*(2.0*p0[kk]-5.0*p1[kk]+4.0*p2[kk]-p3[kk]+r1*(3.0*(p1[kk]-p2[kk])+p3[kk]-p0[kk]))); -// expr[jj][kk]*= sp; - } - double* q = &dfctable[m1-1]; - double* r2 = &rinvsqrttable[m1-1]; - dfc[jj] = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - ri[jj] = r2[1] + 0.5 * r1*(r2[2] - r2[0] + r1*(2.0*r2[0] - 5.0*r2[1] + 4.0*r2[2] - r2[3] + r1*(3.0*(r2[1] - r2[2]) + r2[3] - r2[0]))); - y[jj][0]=delx*ri[jj]; - y[jj][1]=dely*ri[jj]; - y[jj][2]=delz*ri[jj]; - } -// if (i==5){ -// for (jj=0;jjmap[type[j]]; - jtype = tn[jj]; - if (jtypes != nelements && jtypes != jtype){ - continue; - } - j = jl[jj]; - double *sj = sim->s[j]; - double spj = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - for (n = 0;nk;n++){ - ct[n] = 2*alpha_k[n]/re; - c41[n]=(-ct[n]+2*dfc[jj])*y[jj][0]; - c51[n]=(-ct[n]+2*dfc[jj])*y[jj][1]; - c61[n]= (-ct[n]+2*dfc[jj])*y[jj][2]; - } - if (jtypes==ktypes){ - for (kk=jj+1;kk< jnum; kk++){ - if (expr[kk][0]==0)continue; -// int k1 = jlist[kk]; -// k1 &= NEIGHMASK; -// ktype = pair->map[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - j = jl[kk]; - double *sk = sim->s[j]; - double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = 2*ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = 2*ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = 2*ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = 2*ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = 2*ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = 2*ri[kk]*(y[jj][2]-dot*y[kk][2]); -// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); -// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); -// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); -// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); -// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); -// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); - for (n=0;nmap[type[k1]]; - ktype = tn[kk]; - if (ktypes != nelements && ktypes != ktype){ - continue; - } - j = jl[kk]; - double *sk = sim->s[j]; - double spk = si[0]*sk[0]+si[1]*sk[1]+si[2]*sk[2]; - count = startingneuron; - double dot = (y[jj][0]*y[kk][0]+y[jj][1]*y[kk][1]+y[jj][2]*y[kk][2]); - double c1 = ri[jj]*(y[kk][0]-dot*y[jj][0]); - double c2 = ri[jj]*(y[kk][1]-dot*y[jj][1]); - double c3 = ri[jj]*(y[kk][2]-dot*y[jj][2]); - double c10 = ri[kk]*(y[jj][0]-dot*y[kk][0]); - double c11 = ri[kk]*(y[jj][1]-dot*y[kk][1]); - double c12 = ri[kk]*(y[jj][2]-dot*y[kk][2]); -// double c1 = 2*ri[jj]*y[kk][0]*(1-y[jj][0]*y[jj][0]); -// double c2 = 2*ri[jj]*y[kk][1]*(1-y[jj][1]*y[jj][1]); -// double c3 = 2*ri[jj]*y[kk][2]*(1-y[jj][2]*y[jj][2]); -// double c10 = 2*ri[kk]*y[jj][0]*(1-y[kk][0]*y[kk][0]); -// double c11 = 2*ri[kk]*y[jj][1]*(1-y[kk][1]*y[kk][1]); -// double c12 = 2*ri[kk]*y[jj][2]*(1-y[kk][2]*y[kk][2]); - for (n=0;nallscreen = false; -} - -Fingerprint_radial::~Fingerprint_radial() -{ - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; -} - -bool Fingerprint_radial::parse_values(char* constant,char * line1){ - int l; - char **words=new char *[MAXLINE]; - int nwords; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(line1,NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(line1,NULL); - } - else if (strcmp(constant,"alpha")==0){ - delete [] alpha; - alpha = new double [nwords]; - for (l=0;lerrorf("Undefined value for radial power"); - //code will run with default o=0 if o is never specified. All other values must be defined in potential file. - delete [] words; - if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; - return false; -} - -void Fingerprint_radial::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alpha:\n",style,id); - for (i=0;i<(n-o+1);i++){ - fprintf(fid,"%f ",alpha[i]); - } - fprintf(fid,"\n"); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:o:\n",style,id); - fprintf(fid,"%d\n",o); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:n:\n",style,id); - fprintf(fid,"%d\n",n); -} - -//called after fingerprint is fully defined and tables can be computed. -void Fingerprint_radial::allocate() -{ - int k,m; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; - for (k=0;k<(res+buf);k++){ - r1 = cutmax*cutmax*(double)(k)/(double)(res); - for (m=0;m<=(n-o);m++){ - radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[k]=0; - } - else{ - dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } - generate_rinvssqrttable(); -} - -//called after fingerprint is declared for i-j type, but before its parameters are read. -void Fingerprint_radial::init(int *i,int id) -{ - empty = false; - for (int j=0;jid = id; -} - -void Fingerprint_radial::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) -{ - int nelements = pair->nelements; - int res = pair->res; - int i,j,jj,itype,jtype,l; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - // - PairRANN::Simulation *sim = &pair->sims[sid]; - int count=0; -// double **x = sim->x; - int *type = sim->type; - ilist = sim->ilist; - double cutmax = pair->cutmax; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; - double cutinv2 = 1/cutmax/cutmax; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - //loop over neighbors - for (jj = 0; jj < jnum; jj++) { -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype =tn[jj]; - if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq > rc*rc)continue; - count = startingneuron; - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} - if (radialtable[m1]==0){continue;} - //cubic interpolation from tables - double *p1 = &radialtable[m1*(n-o+1)]; - double *p2 = &radialtable[(m1+1)*(n-o+1)]; - double *p3 = &radialtable[(m1+2)*(n-o+1)]; - double *p0 = &radialtable[(m1-1)*(n-o+1)]; - double *q = &dfctable[m1-1]; - double *rinvs = &rinvsqrttable[m1-1]; - r1 = r1-trunc(r1); - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); - for (l=0;l<=(n-o);l++){ - double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); - features[count]+=rt; - rt *= (l+o)/rsq+(-alpha[l]/re+dfc)*ri; - //update neighbor's features - dfeaturesx[jj*f+count]+=rt*delx; - dfeaturesy[jj*f+count]+=rt*dely; - dfeaturesz[jj*f+count]+=rt*delz; - //update atom's features - dfeaturesx[jnum*f+count]-=rt*delx; - dfeaturesy[jnum*f+count]-=rt*dely; - dfeaturesz[jnum*f+count]-=rt*delz; - count++; - } - } - -} - -int Fingerprint_radial::get_length() -{ - return n-o+1; -} diff --git a/src/fingerprint_radial.h b/src/fingerprint_radial.h deleted file mode 100644 index aeb1c2eca3..0000000000 --- a/src/fingerprint_radial.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ -#ifdef FINGERPRINT_CLASS - -FingerprintStyle(radial,Fingerprint_radial) - -#else - -#ifndef FINGERPRINT_RADIAL_H_ -#define FINGERPRINT_RADIAL_H_ - -#include "fingerprint.h" - -namespace LAMMPS_NS { - -class Fingerprint_radial : public Fingerprint { - public: - Fingerprint_radial(PairRANN *); - ~Fingerprint_radial(); - bool parse_values(char*,char*); - void write_values(FILE *); - void init(int*,int); - void allocate(); - void compute_fingerprint(double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); - int get_length(); - - double *radialtable; - double *dfctable; - double dr; - double *alpha; - double re; - int n;//highest term - int o;//lowest term - -}; - - -} - -#endif -#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/fingerprint_radialscreened.cpp b/src/fingerprint_radialscreened.cpp deleted file mode 100644 index 3101ca0ab0..0000000000 --- a/src/fingerprint_radialscreened.cpp +++ /dev/null @@ -1,273 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#include "fingerprint_radialscreened.h" - - - -using namespace LAMMPS_NS; - -Fingerprint_radialscreened::Fingerprint_radialscreened(PairRANN *pair) : Fingerprint(pair) -{ - n_body_type = 2; - dr = 0; - re = 0; - rc = 0; - alpha = new double [1]; - alpha[0] = -1; - n = 0; - o = 0; - id = -1; - style = "radialscreened"; - atomtypes = new int [n_body_type]; - empty = true; - fullydefined = false; - pair->doscreen = true; - screen = true; -} - -Fingerprint_radialscreened::~Fingerprint_radialscreened() -{ - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; -} - -bool Fingerprint_radialscreened::parse_values(char* constant,char * line1){ - int l; - char **words=new char *[MAXLINE]; - int nwords; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(line1,NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(line1,NULL); - } - else if (strcmp(constant,"alpha")==0){ - delete [] alpha; - alpha = new double [nwords]; - for (l=0;lerrorf("Undefined value for radial power"); - //code will run with default o=0 if o is never specified. All other values must be defined in potential file. - delete [] words; - if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; - return false; -} - -void Fingerprint_radialscreened::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alpha:\n",style,id); - for (i=0;i<(n-o+1);i++){ - fprintf(fid,"%f ",alpha[i]); - } - fprintf(fid,"\n"); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:o:\n",style,id); - fprintf(fid,"%d\n",o); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:n:\n",style,id); - fprintf(fid,"%d\n",n); -} - -//called after fingerprint is fully defined and tables can be computed. -void Fingerprint_radialscreened::allocate() -{ - int k,m; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; - for (k=0;k<(res+buf);k++){ - r1 = cutmax*cutmax*(double)(k)/(double)(res); - for (m=0;m<=(n-o);m++){ - radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[k]=0; - } - else{ - dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } - generate_rinvssqrttable(); -} - -//called after fingerprint is declared for i-j type, but before its parameters are read. -void Fingerprint_radialscreened::init(int *i,int id) -{ - empty = false; - for (int j=0;jid = id; -} - -void Fingerprint_radialscreened::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) -{ - int nelements = pair->nelements; - int res = pair->res; - int i,j,jj,itype,jtype,l,kk; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - // - PairRANN::Simulation *sim = &pair->sims[sid]; - int count=0; - double **x = sim->x; - int *type = sim->type; - ilist = sim->ilist; - double cutmax = pair->cutmax; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; - double cutinv2 = 1/cutmax/cutmax; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - //loop over neighbors - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq > rc*rc)continue; - count = startingneuron; - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} - if (radialtable[m1]==0){continue;} - //cubic interpolation from tables - double *p1 = &radialtable[m1*(n-o+1)]; - double *p2 = &radialtable[(m1+1)*(n-o+1)]; - double *p3 = &radialtable[(m1+2)*(n-o+1)]; - double *p0 = &radialtable[(m1-1)*(n-o+1)]; - double *q = &dfctable[m1-1]; - double *rinvs = &rinvsqrttable[m1-1]; - r1 = r1-trunc(r1); - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); - for (l=0;l<=(n-o);l++){ - double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); - features[count]+=rt; - double rt1 = rt*((l+o)/rsq+(-alpha[l]/re+dfc)*ri); - //update neighbor's features - dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; - dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; - dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; - for (kk=0;kkdoscreen = true; - screen = true; - pair->dospin = true; - spin = true; -} - -Fingerprint_radialscreenedspin::~Fingerprint_radialscreenedspin() -{ - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; -} - -bool Fingerprint_radialscreenedspin::parse_values(char* constant,char * line1){ - int l; - char **words=new char *[MAXLINE]; - int nwords; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(line1,NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(line1,NULL); - } - else if (strcmp(constant,"alpha")==0){ - delete [] alpha; - alpha = new double [nwords]; - for (l=0;lerrorf("Undefined value for radial power"); - //code will run with default o=0 if o is never specified. All other values must be defined in potential file. - delete [] words; - if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; - return false; -} - -void Fingerprint_radialscreenedspin::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alpha:\n",style,id); - for (i=0;i<(n-o+1);i++){ - fprintf(fid,"%f ",alpha[i]); - } - fprintf(fid,"\n"); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:o:\n",style,id); - fprintf(fid,"%d\n",o); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:n:\n",style,id); - fprintf(fid,"%d\n",n); -} - -//called after fingerprint is fully defined and tables can be computed. -void Fingerprint_radialscreenedspin::allocate() -{ - int k,m; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; - for (k=0;k<(res+buf);k++){ - r1 = cutmax*cutmax*(double)(k)/(double)(res); - for (m=0;m<=(n-o);m++){ - radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[k]=0; - } - else{ - dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } - generate_rinvssqrttable(); -} - -//called after fingerprint is declared for i-j type, but before its parameters are read. -void Fingerprint_radialscreenedspin::init(int *i,int id) -{ - empty = false; - for (int j=0;jid = id; -} - -void Fingerprint_radialscreenedspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz, bool *Bij,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) -{ - int nelements = pair->nelements; - int res = pair->res; - int i,j,jj,itype,jtype,l,kk; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - // - PairRANN::Simulation *sim = &pair->sims[sid]; - int count=0; - double **x = sim->x; - int *type = sim->type; - ilist = sim->ilist; - double cutmax = pair->cutmax; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; - double cutinv2 = 1/cutmax/cutmax; - double *si = sim->s[i]; -// numneigh = sim->numneigh; -// firstneigh = sim->firstneigh; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; -// jlist = firstneigh[i]; -// jnum = numneigh[i]; - //loop over neighbors - for (jj = 0; jj < jnum; jj++) { - if (Bij[jj]==false){continue;} -// j = jlist[jj]; -// j &= NEIGHMASK; -// jtype = pair->map[type[j]]; - jtype = tn[jj]; - if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq > rc*rc)continue; - count = startingneuron; - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} - if (radialtable[m1]==0){continue;} - j=jl[jj]; - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - //cubic interpolation from tables - double *p1 = &radialtable[m1*(n-o+1)]; - double *p2 = &radialtable[(m1+1)*(n-o+1)]; - double *p3 = &radialtable[(m1+2)*(n-o+1)]; - double *p0 = &radialtable[(m1-1)*(n-o+1)]; - double *q = &dfctable[m1-1]; - double *rinvs = &rinvsqrttable[m1-1]; - r1 = r1-trunc(r1); - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); - for (l=0;l<=(n-o);l++){ - double rt = Sik[jj]*(p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l])))); - //update neighbor's features - dspinx[jj*f+count]+=rt*si[0]; - dspiny[jj*f+count]+=rt*si[1]; - dspinz[jj*f+count]+=rt*si[2]; - dspinx[jnum*f+count]+=rt*sj[0]; - dspiny[jnum*f+count]+=rt*sj[1]; - dspinz[jnum*f+count]+=rt*sj[2]; - rt *= sp; - features[count]+=rt; - double rt1 = rt*((l+o)/rsq+(-alpha[l]/re+dfc)*ri); - dfeaturesx[jj*f+count]+=rt1*delx+rt*dSikx[jj]; - dfeaturesy[jj*f+count]+=rt1*dely+rt*dSiky[jj]; - dfeaturesz[jj*f+count]+=rt1*delz+rt*dSikz[jj]; - for (kk=0;kkallscreen = false; - pair->dospin = true; - spin = true; -} - -Fingerprint_radialspin::~Fingerprint_radialspin() -{ - delete [] atomtypes; - delete [] radialtable; - delete [] alpha; - delete [] dfctable; - delete [] rinvsqrttable; -} - -bool Fingerprint_radialspin::parse_values(char* constant,char * line1){ - int l; - char **words=new char *[MAXLINE]; - int nwords; - nwords=0; - words[nwords++] = strtok(line1,": ,\t\n"); - while ((words[nwords++] = strtok(NULL,": ,\t\n"))) continue; - nwords -= 1; - if (strcmp(constant,"re")==0){ - re = strtod(line1,NULL); - } - else if (strcmp(constant,"rc")==0){ - rc = strtod(line1,NULL); - } - else if (strcmp(constant,"alpha")==0){ - delete [] alpha; - alpha = new double [nwords]; - for (l=0;lerrorf("Undefined value for radial power"); - //code will run with default o=0 if o is never specified. All other values must be defined in potential file. - delete [] words; - if (re!=0 && rc!=0 && alpha!=0 && dr!=0 && n!=0)return true; - return false; -} - -void Fingerprint_radialspin::write_values(FILE *fid){ - int i; - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:re:\n",style,id); - fprintf(fid,"%f\n",re); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:rc:\n",style,id); - fprintf(fid,"%f\n",rc); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:alpha:\n",style,id); - for (i=0;i<(n-o+1);i++){ - fprintf(fid,"%f ",alpha[i]); - } - fprintf(fid,"\n"); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:dr:\n",style,id); - fprintf(fid,"%f\n",dr); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:o:\n",style,id); - fprintf(fid,"%d\n",o); - fprintf(fid,"fingerprintconstants:"); - fprintf(fid,"%s",pair->elementsp[atomtypes[0]]); - for (i=1;ielementsp[atomtypes[i]]); - } - fprintf(fid,":%s_%d:n:\n",style,id); - fprintf(fid,"%d\n",n); -} - -//called after fingerprint is fully defined and tables can be computed. -void Fingerprint_radialspin::allocate() -{ - int k,m; - double r1; - int buf = 5; - int res = pair->res; - double cutmax = pair->cutmax; - radialtable = new double [(res+buf)*get_length()]; - dfctable = new double [res+buf]; - for (k=0;k<(res+buf);k++){ - r1 = cutmax*cutmax*(double)(k)/(double)(res); - for (m=0;m<=(n-o);m++){ - radialtable[k*(n-o+1)+m]=pow(sqrt(r1)/re,m+o)*exp(-alpha[m]*sqrt(r1)/re)*cutofffunction(sqrt(r1),rc,dr); - } - if (sqrt(r1)>=rc || sqrt(r1) <= (rc-dr)){ - dfctable[k]=0; - } - else{ - dfctable[k]=-8*pow(1-(rc-sqrt(r1))/dr,3)/dr/(1-pow(1-(rc-sqrt(r1))/dr,4)); - } - } - generate_rinvssqrttable(); -} - -//called after fingerprint is declared for i-j type, but before its parameters are read. -void Fingerprint_radialspin::init(int *i,int id) -{ - empty = false; - for (int j=0;jid = id; -} - -void Fingerprint_radialspin::compute_fingerprint(double * features,double * dfeaturesx,double *dfeaturesy,double *dfeaturesz,double * dspinx,double *dspiny,double *dspinz,int ii,int sid,double *xn,double *yn,double*zn,int *tn,int jnum,int *jl) -{ - int nelements = pair->nelements; - int res = pair->res; - int i,j,jj,itype,jtype,l; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - // - PairRANN::Simulation *sim = &pair->sims[sid]; - int count=0; -// double **x = sim->x; - int *type = sim->type; - ilist = sim->ilist; - double cutmax = pair->cutmax; - i = ilist[ii]; - itype = pair->map[type[i]]; - int f = pair->net[itype].dimensions[0]; - double cutinv2 = 1/cutmax/cutmax; - double *si = sim->s[i]; -// numneigh = sim->numneigh; - firstneigh = sim->firstneigh; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; - jlist = firstneigh[i]; -// jnum = numneigh[i]; - //loop over neighbors - for (jj = 0; jj < jnum; jj++) { - j = jl[jj]; - // jtype = pair->map[type[j]]; - jtype =tn[jj]; - if (this->atomtypes[1] != nelements && this->atomtypes[1] != jtype)continue; - // delx = xtmp - x[j][0]; - // dely = ytmp - x[j][1]; - // delz = ztmp - x[j][2]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rsq = delx*delx + dely*dely + delz*delz; - if (rsq > rc*rc)continue; - count = startingneuron; - double r1 = (rsq*((double)res)*cutinv2); - int m1 = (int)r1; - if (m1>res || m1<1){pair->errorf("invalid neighbor radius!");} - if (radialtable[m1]==0){continue;} - double *sj = sim->s[j]; - double sp = si[0]*sj[0]+si[1]*sj[1]+si[2]*sj[2]; - //cubic interpolation from tables - double *p1 = &radialtable[m1*(n-o+1)]; - double *p2 = &radialtable[(m1+1)*(n-o+1)]; - double *p3 = &radialtable[(m1+2)*(n-o+1)]; - double *p0 = &radialtable[(m1-1)*(n-o+1)]; - double *q = &dfctable[m1-1]; - double *rinvs = &rinvsqrttable[m1-1]; - r1 = r1-trunc(r1); - double dfc = q[1] + 0.5 * r1*(q[2] - q[0] + r1*(2.0*q[0] - 5.0*q[1] + 4.0*q[2] - q[3] + r1*(3.0*(q[1] - q[2]) + q[3] - q[0]))); - double ri = rinvs[1] + 0.5 * r1*(rinvs[2] - rinvs[0] + r1*(2.0*rinvs[0] - 5.0*rinvs[1] + 4.0*rinvs[2] - rinvs[3] + r1*(3.0*(rinvs[1] - rinvs[2]) + rinvs[3] - rinvs[0]))); - for (l=0;l<=(n-o);l++){ - double rt = p1[l]+0.5*r1*(p2[l]-p0[l]+r1*(2.0*p0[l]-5.0*p1[l]+4.0*p2[l]-p3[l]+r1*(3.0*(p1[l]-p2[l])+p3[l]-p0[l]))); - dspinx[jj*f+count]+=rt*si[0]; - dspiny[jj*f+count]+=rt*si[1]; - dspinz[jj*f+count]+=rt*si[2]; - dspinx[jnum*f+count]+=rt*sj[0]; - dspiny[jnum*f+count]+=rt*sj[1]; - dspinz[jnum*f+count]+=rt*sj[2]; - rt *= sp; - features[count]+=rt; - rt *= (l+o)/rsq+(-alpha[l]/re+dfc)*ri; - //update neighbor's features - dfeaturesx[jj*f+count]+=rt*delx; - dfeaturesy[jj*f+count]+=rt*dely; - dfeaturesz[jj*f+count]+=rt*delz; - //update atom's features - dfeaturesx[jnum*f+count]-=rt*delx; - dfeaturesy[jnum*f+count]-=rt*dely; - dfeaturesz[jnum*f+count]-=rt*delz; - count++; - } - } - -} - -int Fingerprint_radialspin::get_length() -{ - return n-o+1; -} diff --git a/src/fingerprint_radialspin.h b/src/fingerprint_radialspin.h deleted file mode 100644 index 428c0e74e4..0000000000 --- a/src/fingerprint_radialspin.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#ifdef FINGERPRINT_CLASS - -FingerprintStyle(radialspin,Fingerprint_radialspin) - -#else - -#ifndef FINGERPRINT_RADIALspin_H_ -#define FINGERPRINT_RADIALspin_H_ - -#include "fingerprint.h" - -namespace LAMMPS_NS { - -class Fingerprint_radialspin : public Fingerprint { - public: - Fingerprint_radialspin(PairRANN *); - ~Fingerprint_radialspin(); - bool parse_values(char*,char*); - void write_values(FILE *); - void init(int*,int); - void allocate(); - void compute_fingerprint(double*,double*,double*,double*,double*,double*,double*,int,int,double*,double*,double*,int*,int,int*); - int get_length(); - - double *radialtable; - double *dfctable; - double dr; - double *alpha; - double re; - int n;//highest term - int o;//lowest term - -}; - - -} - -#endif -#endif /* FINGERPRINT_RADIAL_H_ */ diff --git a/src/pair_rann.cpp b/src/pair_rann.cpp deleted file mode 100644 index 3507c931dc..0000000000 --- a/src/pair_rann.cpp +++ /dev/null @@ -1,1247 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#include "style_fingerprint.h" -#include "style_activation.h" - -#include "pair_rann.h" - -using namespace LAMMPS_NS; - -static const char cite_user_rann_package[] = - "USER-RANN package:\n\n" - "@Article{Nitol2021,\n" - " author = {Nitol, Mashroor S and Dickel, Doyl E and Barrett, Christopher D},\n" - " title = {Artificial neural network potential for pure zinc},\n" - " journal = {Computational Materials Science},\n" - " year = 2021,\n" - " volume = 188,\n" - " pages = {110207}\n" - "}\n\n"; - -PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) -{ - single_enable = 0; - restartinfo = 0; - one_coeff = 1; - manybody_flag = 1; - - allocated = 0; - - nelements = -1; - elements = NULL; - mass = NULL; - - // set comm size needed by this Pair - // comm unused for now. - - comm_forward = 38; - comm_reverse = 30; - res = 10000; - cutmax = 0; - //at least one of the following will change during fingerprint definition: - doscreen = false; - allscreen = true; - dospin = false; - - fingerprint_map = new FingerprintCreatorMap(); - - #define FINGERPRINT_CLASS - #define FingerprintStyle(key,Class) \ - (*fingerprint_map)[#key] = &fingerprint_creator; - #include "style_fingerprint.h" - #undef FingerprintStyle - #undef FINGERPRINT_CLASS - - activation_map = new ActivationCreatorMap(); - - #define ACTIVATION_CLASS - #define ActivationStyle(key,Class) \ - (*activation_map)[#key] = &activation_creator; - #include "style_activation.h" - #undef ActivationStyle - #undef ACTIVATION_CLASS -} - -PairRANN::~PairRANN() -{ - //clear memory - delete [] mass; - for (int i=0;i0){ - for (int j=0;j0){ - delete [] fingerprints[i]; - delete [] activation[i]; - } - } - delete [] fingerprints; - delete [] activation; - delete [] fingerprintcount; - delete [] fingerprintperelement; - delete [] fingerprintlength; - delete [] screening_min; - delete [] screening_max; -} - - - -void PairRANN::allocate(char **elementword) -{ - int i,j,k,l,n; - n = atom->ntypes; - memory->create(setflag,n+1,n+1,"pair:setflag"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - cutmax = 0; - nelementsp=nelements+1; - //initialize arrays - elements = new char *[nelements]; - elementsp = new char *[nelementsp];//elements + 'all' - mass = new double[nelements]; - net = new NNarchitecture[nelementsp]; - weightdefined = new bool*[nelementsp]; - biasdefined = new bool *[nelementsp]; - activation = new Activation**[nelementsp]; - fingerprints = new Fingerprint**[nelementsp]; - fingerprintlength = new int[nelementsp]; - fingerprintperelement = new int [nelementsp]; - fingerprintcount = new int[nelementsp]; - screening_min = new double [nelements*nelements*nelements]; - screening_max = new double [nelements*nelements*nelements]; - for (i=0;i 0) error->all(FLERR,"Illegal pair_style command"); -} - -void PairRANN::coeff(int narg, char **arg) -{ - int i,j; - map = new int [atom->ntypes+1]; - - - if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); - nelements = -1; - read_file(arg[2]); - - // read args that map atom types to elements in potential file - // map[i] = which element the Ith atom type is, -1 if NULL - - for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; - continue; - } - for (j = 0; j < nelements; j++) - { - if (strcmp(arg[i],elements[j]) == 0) break; - } - if (j < nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in NN potential file"); - } - // clear setflag since coeff() called once with I,J = * * - - int n = atom->ntypes; - for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; - - // set setflag i,j for type pairs where both are mapped to elements - // set mass of atom type if i = j - - int count = 0; - for (i = 1; i <= n; i++) { - for (j = i; j <= n; j++) { - if (map[i] >= 0 && map[j] >= 0) { - setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,mass[map[i]]); - count++; - } - } - } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); - for (i=0;iallocate(); - } - } - allocated=1; -} - -void PairRANN::read_file(char *filename) -{ - FILE *fp; - int eof = 0,i,j,k,l; - int n,nwords; - int longline = 4096; - char line [longline],line1[longline]; - char *ptr; - bool comment; - char str[128]; - fp = utils::open_potential(filename,lmp,nullptr); - if (fp == NULL) { - sprintf(str,"Cannot open rann potential file %s",filename); - error->one(FLERR,str); - } - while (eof == 0){ - ptr = fgets(line,longline,fp); - if (ptr == NULL) { - if (check_potential()) {//looks to see if everything needed appears to be defined - error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); - } - else{ - fclose(fp); - eof = 1; - break; - } - } - else n = strlen(line) + 1; - if ((ptr = strchr(line,'#'))) *ptr = '\0';//strip comments from end of lines - if (count_words(line)==0){continue;}//skip comment line - comment = true; - while (comment==true){ - ptr = fgets(line1,longline,fp); - if (ptr==NULL)errorf("Unexpected end of parameter file (keyword given with no value)"); - if ((ptr = strchr(line1,'#'))) *ptr = '\0'; - nwords = count_words(line1); - if (nwords == 0) continue; - comment = false; - } - line1[strlen(line1)-1] = '\0';//replace \n with \0 - nwords = count_words(line); - char **words=new char *[nwords+1]; - nwords = 0; - words[nwords++] = strtok(line,": ,\t_\n"); - while ((words[nwords++] = strtok(NULL,": ,\t_\n"))) continue; - if (strcmp(words[0],"atomtypes")==0)read_atom_types(words,line1); - else if (strcmp(words[0],"mass")==0)read_mass(words,line1); - else if (strcmp(words[0],"fingerprintsperelement")==0)read_fpe(words,line1); - else if (strcmp(words[0],"fingerprints")==0)read_fingerprints(words,nwords-1,line1); - else if (strcmp(words[0],"fingerprintconstants")==0)read_fingerprint_constants(words,nwords-1,line1); - else if (strcmp(words[0],"networklayers")==0)read_network_layers(words,line1); - else if (strcmp(words[0],"layersize")==0)read_layer_size(words,line1); - else if (strcmp(words[0],"weight")==0)read_weight(words,line1,fp); - else if (strcmp(words[0],"bias")==0)read_bias(words,line1,fp); - else if (strcmp(words[0],"activationfunctions")==0)read_activation_functions(words,line1); - else if (strcmp(words[0],"calibrationparameters")==0)continue;//information on how the network was trained - else if (strcmp(words[0],"screening")==0)read_screening(words,nwords-1,line1); - else error->one(FLERR,"Could not understand file syntax: unknown keyword"); - delete [] words; - } -} - -void PairRANN::read_atom_types(char **words,char * line1){ - int nwords = 0; - int t = count_words(line1)+1; - char **elementword = new char *[t]; - elementword[nwords++] = strtok(line1," ,\t:_\n"); - while ((elementword[nwords++] = strtok(NULL," ,\t:_\n"))) continue; - if (nwords < 1) errorf("Incorrect syntax for atom types"); - elementword[nwords-1] = new char [strlen("all")+1]; - char elt [] = "all"; - strcpy(elementword[nwords-1],elt); - nelements = nwords-1; - allocate(elementword); -} - -void PairRANN::read_mass(char **words,char * line1){ - if (nelements == -1)error->one(FLERR,"atom types must be defined before mass in potential file."); - int nwords = 0,i; - for (i=0;ione(FLERR,"mass element not found in atom types."); -} - -void PairRANN::read_fpe(char **words,char * line1){ - int i,j; - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints per element in potential file."); - for (i=0;ione(FLERR,"fingerprint-per-element element not found in atom types"); -} - -void PairRANN::read_fingerprints(char **words,int nwords,char * line1){ - int nwords1=0,i,j,k,l,m,i1; - bool found; - char str[MAXLINE]; - char **words1 = new char * [count_words(line1)+1]; - words1[nwords1++] = strtok(line1," ,\t:_\n"); - while ((words1[nwords1++] = strtok(NULL," ,\t:_\n"))) continue; - nwords1 -= 1; - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); - int atomtypes[nwords-1]; - for (i=1;ione(FLERR,"fingerprint element not found in atom types");} - } - i = atomtypes[0]; - k = 0; - if (fingerprintperelement[i]==-1){error->one(FLERR,"fingerprint per element must be defined before fingerprints");} - while (kn_body_type!=nwords-1){error->one(FLERR,"invalid fingerprint for element combination");} - k++; - fingerprints[i][i1]->init(atomtypes,strtol(words1[k++],NULL,10)); - fingerprintcount[i]++; - } - delete [] words1; -} - - -void PairRANN::read_fingerprint_constants(char **words,int nwords,char * line1){ - int i,j,k,l,m,i1; - bool found; - char str [128]; - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); - int n_body_type = nwords-4; - int atomtypes[n_body_type]; - for (i=1;i<=n_body_type;i++){ - found = false; - for (j=0;jone(FLERR,"fingerprint element not found in atom types");} - } - i = atomtypes[0]; - found = false; - for (k=0;kempty){continue;} - if (n_body_type!=fingerprints[i][k]->n_body_type){continue;} - for (j=0;jatomtypes[j]!=atomtypes[j]){break;} - if (j==n_body_type-1){ - if (strcmp(words[nwords-3],fingerprints[i][k]->style)==0 && strtol(words[nwords-2],NULL,10)==fingerprints[i][k]->id){ - found=true; - i1 = k; - break; - } - } - } - if (found){break;} - } - if (!found){error->one(FLERR,"cannot define constants for unknown fingerprint");} - fingerprints[i][i1]->fullydefined=fingerprints[i][i1]->parse_values(words[nwords-1],line1); -} - -void PairRANN::read_network_layers(char **words,char *line1){ - int i,j; - if (nelements == -1)error->one(FLERR,"atom types must be defined before network layers in potential file."); - for (i=0;ione(FLERR,"network layers element not found in atom types"); -} - -void PairRANN::read_layer_size(char **words,char* line1){ - int i; - for (i=0;ione(FLERR,"networklayers for each atom type must be defined before the corresponding layer sizes."); - int j = strtol(words[2],NULL,10); - if (j>=net[i].layers || j<0){error->one(FLERR,"invalid layer in layer size definition");}; - net[i].dimensions[j]= strtol(line1,NULL,10); - return; - } - } - errorf("layer size element not found in atom types"); -} - -void PairRANN::read_weight(char **words,char* line1,FILE* fp){ - int i,j,k,l,nwords; - char *ptr; - int longline = 4096; - char **words1; - for (l=0;l=net[l].layers || i<0)error->one(FLERR,"invalid weight layer"); - if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) errorf("network layer sizes must be defined before corresponding weight"); - net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; - weightdefined[l][i] = true; - int n = count_words(line1)+1; - words1 = new char* [n]; - nwords=0; - words1[nwords++] = strtok(line1," ,\t:_\n"); - while ((words1[nwords++] = strtok(NULL," ,\t:_\n"))) continue; - nwords -= 1; - if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); - for (k=0;kone(FLERR,"invalid weights per line"); - for (k=0;kone(FLERR,"networklayers must be defined before biases."); - i=strtol(words[2],NULL,10); - if (i>=net[l].layers || i<0)error->one(FLERR,"invalid bias layer"); - if (net[l].dimensions[i]==0) error->one(FLERR,"network layer sizes must be defined before corresponding bias"); -// delete [] net[l].Biases[i]; - biasdefined[l][i] = true; - net[l].Biases[i] = new double [net[l].dimensions[i+1]]; - words[0] = strtok(line1," ,\t:_\n"); - net[l].Biases[i][0] = strtod(words[0],NULL); - for (j=1;jone(FLERR,"bias element not found in atom types"); -} - -void PairRANN::read_activation_functions(char** words,char * line1){ - int i,j,l,nwords; - int *ptr; - for (l=0;lone(FLERR,"networklayers must be defined before activation functions."); - i = strtol(words[2],NULL,10); - if (i>=net[l].layers || i<0)error->one(FLERR,"invalid activation layer"); - nwords=0; - words[nwords++] = strtok(line1," ,\t:_\n"); - delete activation[l][i]; - activation[l][i]=create_activation(line1); - return; - } - } - error->one(FLERR,"activation function element not found in atom types"); -} - -void PairRANN::read_screening(char** words,int nwords,char *line1){ - int i,j,k; - bool found; - if (nelements == -1)errorf("atom types must be defined before fingerprints in potential file."); - if (nwords!=5)errorf("invalid screening command"); - int n_body_type = 3; - int atomtypes[n_body_type]; - for (i=1;i<=n_body_type;i++){ - found = false; - for (j=0;jnet[i].maxlayer)net[i].maxlayer = net[i].dimensions[j]; - } - if (net[i].dimensions[net[i].layers-1]!=1)return true;//output layer must have single neuron (the energy) - for (j=0;jempty)return true;//undefined activations - for (k=0;kfullydefined==false)return true; - fingerprints[i][j]->startingneuron = fingerprintlength[i]; - fingerprintlength[i] +=fingerprints[i][j]->get_length(); - if (fingerprints[i][j]->rc>cutmax){cutmax = fingerprints[i][j]->rc;} - } - if (net[i].dimensions[0]!=fingerprintlength[i])return true; - } - return false;//everything looks good -} - -void PairRANN::compute(int eflag, int vflag) -{ - //perform force/energy computation_ - if (dospin){ - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin pair styles require metal units"); - if (!atom->sp_flag) - error->all(FLERR,"Spin pair styles requires atom/spin style"); - } - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = vflag_atom = 0; - int ii,i,j; - int nn = 0; - sims = new Simulation[1]; - sims->inum = listfull->inum; - sims->ilist=listfull->ilist; - sims->id = listfull->ilist; - sims->type = atom->type; - sims->x = atom->x; - sims->numneigh = listfull->numneigh; - sims->firstneigh = listfull->firstneigh; - if (dospin){ - sims->s = atom->sp; - } - int itype,f,jnum,len; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; - if (eflag_global){eng_vdwl=0;eng_coul=0;} - double energy=0; - double **force = atom->f; - double **fm = atom->fm; - double **virial = vatom; - char str[MAXLINE]; - //loop over atoms - for (ii=0;iiinum;ii++){ - i = sims->ilist[ii]; - itype = map[sims->type[i]]; - f = net[itype].dimensions[0]; - jnum = sims->numneigh[i]; - double *xn = new double[jnum]; - double *yn = new double[jnum]; - double *zn = new double[jnum]; - int *tn = new int[jnum]; - int *jl = new int[jnum]; - cull_neighbor_list(xn,yn,zn,tn,&jnum,jl,i,0); - double features [f]; - double *dfeaturesx = new double[f*jnum]; - double *dfeaturesy = new double[f*jnum]; - double *dfeaturesz = new double[f*jnum]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - itype = nelements; - //do fingerprints for type "all" - len = fingerprintperelement[itype]; - for (j=0;jspin==false && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==false && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==false)fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,ii,nn,xn,yn,zn,tn,jnum-1,jl); - else if (fingerprints[itype][j]->spin==true && fingerprints[itype][j]->screen==true) fingerprints[itype][j]->compute_fingerprint(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,Sik,dSikx,dSiky,dSikz,dSijkx,dSijky,dSijkz,Bij,ii,nn,xn,yn,zn,tn,jnum-1,jl); - } - //run fingerprints through network - if (dospin){ - propagateforwardspin(features,dfeaturesx,dfeaturesy,dfeaturesz,sx,sy,sz,&energy,force,fm,virial,ii,jnum,jl); - } - else { - propagateforward(features,dfeaturesx,dfeaturesy,dfeaturesz,&energy,force,virial,ii,jnum,jl); - } - delete [] xn; - delete [] yn; - delete [] zn; - delete [] tn; - delete [] jl; - delete [] dfeaturesx; - delete [] dfeaturesy; - delete [] dfeaturesz; - delete [] Sik; - delete [] dSikx; - delete [] dSiky; - delete [] dSikz; - delete [] dSijkx; - delete [] dSijky; - delete [] dSijkz; - delete [] Bij; - delete [] sx; - delete [] sy; - delete [] sz; - } - if (vflag_fdotr) virial_fdotr_compute(); -} - -void PairRANN::cull_neighbor_list(double *xn,double *yn, double *zn,int *tn, int* jnum,int *jl,int i,int sn){ - int *jlist,j,count,jj,*type,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - double **x = sims[sn].x; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - type = sims[sn].type; - jlist = sims[sn].firstneigh[i]; - count = 0; - for (jj=0;jjcutmax*cutmax){ - continue; - } - xn[count]=delx; - yn[count]=dely; - zn[count]=delz; - tn[count]=jtype; - jl[count]=j; - count++; - } - jnum[0]=count+1; -} - -void PairRANN::screen_neighbor_list(double *xn,double *yn, double *zn,int *tn, int* jnum,int *jl,int i,int sn,bool *Bij,double *Sik, double *dSikx, double*dSiky, double *dSikz, double *dSijkx, double *dSijky, double *dSijkz){ - double xnc[jnum[0]],ync[jnum[0]],znc[jnum[0]]; - double Sikc[jnum[0]]; - double dSikxc[jnum[0]]; - double dSikyc[jnum[0]]; - double dSikzc[jnum[0]]; - double dSijkxc[jnum[0]][jnum[0]]; - double dSijkyc[jnum[0]][jnum[0]]; - double dSijkzc[jnum[0]][jnum[0]]; - int jj,kk,count,count1,tnc[jnum[0]],jlc[jnum[0]]; - count = 0; - for (jj=0;jjx; - double xtmp,ytmp,ztmp,delx,dely,delz,rij,delx2,dely2,delz2,rik,delx3,dely3,delz3,rjk; - i = sim->ilist[ii]; - itype = map[sim->type[i]]; -// jnum = sim->numneigh[i]; -// jlist = sim->firstneigh[i]; -// xtmp = x[i][0]; -// ytmp = x[i][1]; -// ztmp = x[i][2]; - for (int jj=0;jjtype[k]]; - ktype = tn[kk]; -// delx2 = xtmp - x[k][0]; -// dely2 = ytmp - x[k][1]; -// delz2 = ztmp - x[k][2]; - delx2 = xn[kk]; - dely2 = yn[kk]; - delz2 = zn[kk]; - rik = delx2*delx2+dely2*dely2+delz2*delz2; - if (rik>cutmax*cutmax){ - Bij[kk]= false; - continue; - } - for (jj=0;jjtype[j]]; -// delx = xtmp - x[j][0]; -// dely = ytmp - x[j][1]; -// delz = ztmp - x[j][2]; - jtype = tn[jj]; - delx = xn[jj]; - dely = yn[jj]; - delz = zn[jj]; - rij = delx*delx+dely*dely+delz*delz; - if (rij>cutmax*cutmax){ - Bij[jj] = false; - continue; - } -// delx3 = x[j][0]-x[k][0]; -// dely3 = x[j][1]-x[k][1]; -// delz3 = x[j][2]-x[k][2]; - delx3 = delx2-delx; - dely3 = dely2-dely; - delz3 = delz2-delz; - rjk = delx3*delx3+dely3*dely3+delz3*delz3; - if (rik+rjk<=rij){continue;}//bond angle > 90 degrees - if (rik+rij<=rjk){continue;}//bond angle > 90 degrees - double Cmax = screening_max[itype*nelements*nelements+jtype*nelements+ktype]; - double Cmin = screening_min[itype*nelements*nelements+jtype*nelements+ktype]; - double temp1 = rij-rik+rjk; - Cn = temp1*temp1-4*rij*rjk; - //Cn = (rij-rik+rjk)*(rij-rik+rjk)-4*rij*rjk; - temp1 = rij-rjk; - Cd = temp1*temp1-rik*rik; - //Cd = (rij-rjk)*(rij-rjk)-rik*rik; - Cijk = Cn/Cd; - //Cijk = 1+2*(rik*rij+rik*rjk-rik*rik)/(rik*rik-(rij-rjk)*(rij-rjk)); - C = (Cijk-Cmin)/(Cmax-Cmin); - if (C>=1){continue;} - else if (C<=0){ - Bij[kk]=false; - break; - } - dC = Cmax-Cmin; - dC *= dC; - dC *= dC; - temp1 = 1-C; - temp1 *= temp1; - temp1 *= temp1; - Sijk = 1-temp1; - Sijk *= Sijk; - Dij = 4*rik*(Cn+4*rjk*(rij+rik-rjk))/Cd/Cd; - Dik = -4*(rij*Cn+rjk*Cn+8*rij*rik*rjk)/Cd/Cd; - Djk = 4*rik*(Cn+4*rij*(rik-rij+rjk))/Cd/Cd; - temp1 = Cijk-Cmax; - double temp2 = temp1*temp1; - dfc = 8*temp1*temp2/(temp2*temp2-dC); - Sik[kk] *= Sijk; - dSijkx[kk*jnum+jj] = dfc*(delx*Dij-delx3*Djk); - dSikx[kk] += dfc*(delx2*Dik+delx3*Djk); - dSijky[kk*jnum+jj] = dfc*(dely*Dij-dely3*Djk); - dSiky[kk] += dfc*(dely2*Dik+dely3*Djk); - dSijkz[kk*jnum+jj] = dfc*(delz*Dij-delz3*Djk); - dSikz[kk] += dfc*(delz2*Dik+delz3*Djk); - } - } -} - - -//Called by getproperties. Propagate features and dfeatures through network. Updates force and energy -void PairRANN::propagateforward(double *features,double *dfeaturesx,double *dfeaturesy,double *dfeaturesz, double * energy,double **force,double **virial, int ii,int jnum,int *jl){ - int i,j,k,jj,j1,itype,i1; - int *ilist,*numneigh; - ilist = listfull->ilist; - int inum = listfull->inum; - int *type = atom->type; - i1=ilist[ii]; - itype = map[type[i1]]; - NNarchitecture net1 = net[itype]; -// numneigh = listfull->numneigh; -// jnum = numneigh[ilist[ii]]+1;//extra value on the end of the array is the self term. -// firstneigh = listfull->firstneigh; -// jlist = firstneigh[i1]; - int L = net1.layers-1; - double layer[net1.maxlayer]; - double sum[net1.maxlayer]; - double sum1[net1.maxlayer]; - double dlayerx[jnum][net1.maxlayer]; - double dlayersumx[jnum][net1.maxlayer]; - double dlayery[jnum][net1.maxlayer]; - double dlayersumy[jnum][net1.maxlayer]; - double dlayerz[jnum][net1.maxlayer]; - double dlayersumz[jnum][net1.maxlayer]; - //energy output with forces from analytical derivatives - double dsum1; - int f = net1.dimensions[0]; - for (i=0;idactivation_function(sum[j]); - sum[j] = activation[itype][i]->activation_function(sum[j]); - if (i==L-1){ - energy[j] = sum[j]; - if (eflag_atom)eatom[i1]=sum[j]; - if (eflag_global){eng_vdwl +=sum[j];} - } - //force propagation - for (jj=0;jjilist; - int inum = listfull->inum; - int *type = atom->type; - i1=ilist[ii]; - itype = map[type[i1]]; - NNarchitecture net1 = net[itype]; -// numneigh = listfull->numneigh; -// jnum = numneigh[ilist[ii]]+1;//extra value on the end of the array is the self term. -// firstneigh = listfull->firstneigh; -// jlist = firstneigh[i1]; - int L = net1.layers-1; - double layer[net1.maxlayer]; - double sum[net1.maxlayer]; - double sum1[net1.maxlayer]; - double dlayerx[jnum][net1.maxlayer]; - double dlayersumx[jnum][net1.maxlayer]; - double dlayery[jnum][net1.maxlayer]; - double dlayersumy[jnum][net1.maxlayer]; - double dlayerz[jnum][net1.maxlayer]; - double dlayersumz[jnum][net1.maxlayer]; - double dsx[jnum][net1.maxlayer]; - double dssumx[jnum][net1.maxlayer]; - double dsy[jnum][net1.maxlayer]; - double dssumy[jnum][net1.maxlayer]; - double dsz[jnum][net1.maxlayer]; - double dssumz[jnum][net1.maxlayer]; - //energy output with forces from analytical derivatives - double dsum1; - int f = net1.dimensions[0]; - for (i=0;idactivation_function(sum[j]); - sum[j] = activation[itype][i]->activation_function(sum[j]); - if (i==L-1){ - energy[j] = sum[j]; - if (eflag_atom)eatom[i1]=sum[j]; - if (eflag_global){eng_vdwl +=sum[j];} - } - //force propagation - for (jj=0;jjrequest(this,instance_me); - neighbor->requests[irequest_full]->id = 1; - neighbor->requests[irequest_full]->half = 0; - neighbor->requests[irequest_full]->full = 1; -} - - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairRANN::init_one(int i, int j) -{ - return cutmax; -} - -void PairRANN::errorf(const char * message){ - this->error->all(FLERR,message); -} - -template -Fingerprint *PairRANN::fingerprint_creator(PairRANN* pair) -{ - return new T(pair); -} - -Fingerprint *PairRANN::create_fingerprint(const char *style) -{ - if (fingerprint_map->find(style) != fingerprint_map->end()) { - FingerprintCreator fingerprint_creator = (*fingerprint_map)[style]; - return fingerprint_creator(this); - } - char str[128]; - sprintf(str,"Unknown fingerprint style %s",style); - error->all(FLERR,str); - return NULL; -} - -template -Activation *PairRANN::activation_creator(PairRANN* pair) -{ - return new T(pair); -} - -Activation *PairRANN::create_activation(const char *style) -{ - if (activation_map->find(style) != activation_map->end()) { - ActivationCreator activation_creator = (*activation_map)[style]; - return activation_creator(this); - } - char str[128]; - sprintf(str,"Unknown activation style %s",style); - error->all(FLERR,str); - return NULL; -} - diff --git a/src/pair_rann.h b/src/pair_rann.h deleted file mode 100644 index 1358c67fb0..0000000000 --- a/src/pair_rann.h +++ /dev/null @@ -1,171 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing authors: Christopher Barrett (MSU) barrett@me.msstate.edu - Doyl Dickel (MSU) doyl@me.msstate.edu - ----------------------------------------------------------------------*/ -/* -“The research described and the resulting data presented herein, unless -otherwise noted, was funded under PE 0602784A, Project T53 "Military -Engineering Applied Research", Task 002 under Contract No. W56HZV-17-C-0095, -managed by the U.S. Army Combat Capabilities Development Command (CCDC) and -the Engineer Research and Development Center (ERDC). The work described in -this document was conducted at CAVS, MSU. Permission was granted by ERDC -to publish this information. Any opinions, findings and conclusions or -recommendations expressed in this material are those of the author(s) and -do not necessarily reflect the views of the United States Army.​” - -DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 - */ - -#ifdef PAIR_CLASS - -PairStyle(rann,PairRANN) - -#else - -#ifndef LMP_PAIR_RANN -#define LMP_PAIR_RANN - -#define MAXLINE 1024 - -#include -#include -#include -#include -#include -#include "atom.h" -#include "force.h" -#include "comm.h" -#include "memory.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "memory.h" -#include "error.h" -#include "update.h" -#include "pair.h" -#include -#include - -namespace LAMMPS_NS { - -class PairRANN : public Pair { - public: - - //inherited functions - PairRANN(class LAMMPS *); - ~PairRANN(); - void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - void init_list(int , NeighList *); - void errorf(const char*); - int count_words(char *); - //black magic for modular fingerprints and activations - class Activation ***activation; - class Fingerprint ***fingerprints; - typedef Fingerprint *(*FingerprintCreator)(PairRANN *); - typedef Activation *(*ActivationCreator)(PairRANN *); - typedef std::map FingerprintCreatorMap; - typedef std::map ActivationCreatorMap; - FingerprintCreatorMap *fingerprint_map; - ActivationCreatorMap *activation_map; - Fingerprint * create_fingerprint(const char *); - Activation * create_activation(const char *); - - //global variables - int nelements; // # of elements (distinct from LAMMPS atom types since multiple atom types can be mapped to one element) - int nelementsp; // nelements+1 - char **elements; // names of elements - char **elementsp; // names of elements with "all" appended as the last "element" - double *mass; // mass of each element - double cutmax; // max radial distance for neighbor lists - int *map; // mapping from atom types to elements - int *fingerprintcount; // static variable used in initialization - int *fingerprintlength; // # of input neurons defined by fingerprints of each element. - int *fingerprintperelement; // # of fingerprints for each element - bool doscreen;//screening is calculated if any defined fingerprint uses it - bool allscreen;//all fingerprints use screening so screened neighbors can be completely ignored - bool dospin; - int res;//Resolution of function tables for cubic interpolation. - int memguess; - double *screening_min; - double *screening_max; - bool **weightdefined; - bool **biasdefined; - - struct Simulation{ - int *id; - bool forces; - bool spins; - double **x; - double **f; - double **s; - double box[3][3]; - double origin[3]; - double **features; - double **dfx; - double **dfy; - double **dfz; - double **dsx; - double **dsy; - double **dsz; - int *ilist,*numneigh,**firstneigh,*type,inum,gnum; - }; - Simulation *sims; - - struct NNarchitecture{ - int layers; - int *dimensions;//vector of length layers with entries for neurons per layer - double **Weights; - double **Biases; - int *activations;//unused - int maxlayer;//longest layer (for memory allocation) - }; - NNarchitecture *net;//array of networks, 1 for each element. - - private: - template static Fingerprint *fingerprint_creator(PairRANN *); - template static Activation *activation_creator(PairRANN *); - //new functions - void allocate(char **);//called after reading element list, but before reading the rest of the potential - void read_file(char *);//read potential file - void read_atom_types(char **,char *); - void read_mass(char **,char *); - void read_fpe(char**,char *);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations - void read_fingerprints(char **,int,char *); - void read_fingerprint_constants(char **,int,char *); - void read_network_layers(char**,char*);//include input and output layer (hidden layers + 2) - void read_layer_size(char**,char*); - void read_weight(char**,char*,FILE*);//weights should be formatted as properly shaped matrices - void read_bias(char**,char*,FILE*);//biases should be formatted as properly shaped vectors - void read_activation_functions(char**,char*); - void read_screening(char**,int, char*); - bool check_potential();//after finishing reading potential file - void propagateforward(double *,double *,double *,double *,double *,double **,double **,int,int,int*);//called by compute to get force and energy - void propagateforwardspin(double *,double *,double *,double *,double *,double *,double *,double *,double **,double **,double**,int,int,int*);//called by compute to get force and energy - void screen(double*,double*,double*,double*,double*,double*,double*,bool*,int,int,double*,double*,double*,int *,int); - void cull_neighbor_list(double *,double *,double *,int *,int *,int *,int,int); - void screen_neighbor_list(double *,double *,double *,int *,int *,int *,int,int,bool*,double*,double*,double*,double*,double*,double*,double*); -}; - -} - -#endif -#endif - - - From 8dee6cee8d0535de6ea897554d2c115d13c3a756 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Thu, 11 Feb 2021 09:25:42 -0600 Subject: [PATCH 079/542] remove style files from src --- src/style_activation.h | 2 -- src/style_fingerprint.h | 8 -------- 2 files changed, 10 deletions(-) delete mode 100644 src/style_activation.h delete mode 100644 src/style_fingerprint.h diff --git a/src/style_activation.h b/src/style_activation.h deleted file mode 100644 index 4cdd4ff031..0000000000 --- a/src/style_activation.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "activation_linear.h" -#include "activation_sigI.h" diff --git a/src/style_fingerprint.h b/src/style_fingerprint.h deleted file mode 100644 index 2647d31274..0000000000 --- a/src/style_fingerprint.h +++ /dev/null @@ -1,8 +0,0 @@ -#include "fingerprint_bond.h" -#include "fingerprint_bondscreened.h" -#include "fingerprint_bondscreenedspin.h" -#include "fingerprint_bondspin.h" -#include "fingerprint_radial.h" -#include "fingerprint_radialscreened.h" -#include "fingerprint_radialscreenedspin.h" -#include "fingerprint_radialspin.h" From 039ed4c7503858bd93ecb091f83e804597d2c9b6 Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Tue, 16 Feb 2021 10:24:15 -0700 Subject: [PATCH 080/542] Fixing example input scripts with mode multi --- doc/src/comm_modify.rst | 3 ++- examples/granregion/in.granregion.funnel | 2 +- examples/granregion/in.granregion.mixer | 2 +- examples/srd/in.srd.mixture | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 489ab407ee..06087bd9a2 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -34,7 +34,7 @@ Examples comm_modify mode multi reduce/multi comm_modify mode multi group solvent - comm_modift mode multi cutoff/multi 1 10.0 cutoff/multi 2*4 15.0 + comm_modift mode multi cutoff/multi 0 10.0 cutoff/multi 2*4 15.0 comm_modify vel yes comm_modify mode single cutoff 5.0 vel yes comm_modify cutoff/multi * 0.0 @@ -101,6 +101,7 @@ communication mode *multi* instead. Since the communication cutoffs are determined per atom collections, a collection specifier is needed and cutoff for one or multiple collections can be extended. Also ranges of collections using the usual asterisk notation can be given. +Collections are indexed from 0 to N-1 where N is the total number of collections. Note that the arguments for *cutoff/multi* are parsed right before each simulation to account for potential changes in the number of collections. Custom cutoffs are preserved between runs but if collections are redefined, diff --git a/examples/granregion/in.granregion.funnel b/examples/granregion/in.granregion.funnel index 63e79a7114..ef74ce5109 100644 --- a/examples/granregion/in.granregion.funnel +++ b/examples/granregion/in.granregion.funnel @@ -86,7 +86,7 @@ pair_style gran/hertz/history & ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 pair_coeff * * -neighbor ${skin} bin +neighbor ${skin} multi thermo ${logfreq} comm_style brick diff --git a/examples/granregion/in.granregion.mixer b/examples/granregion/in.granregion.mixer index f9a9d04cbe..383f51f074 100644 --- a/examples/granregion/in.granregion.mixer +++ b/examples/granregion/in.granregion.mixer @@ -49,7 +49,7 @@ pair_style gran/hertz/history & ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 pair_coeff * * -neighbor ${skin} bin +neighbor ${skin} multi thermo ${logfreq} comm_style brick diff --git a/examples/srd/in.srd.mixture b/examples/srd/in.srd.mixture index ff6e6f5b72..6a0100d800 100644 --- a/examples/srd/in.srd.mixture +++ b/examples/srd/in.srd.mixture @@ -62,7 +62,7 @@ delete_atoms overlap 0.5 small big reset_timestep 0 -neighbor 0.3 bin +neighbor 0.3 multi neigh_modify delay 0 every 1 check yes comm_modify mode multi group big vel yes From 0a06b90b53ed4a5a10df7e873fed845c344ad006 Mon Sep 17 00:00:00 2001 From: Gurgen Date: Wed, 17 Feb 2021 15:33:28 +0300 Subject: [PATCH 081/542] template for smooth/spu --- src/GPU/Install.sh | 2 + src/GPU/pair_lj_smooth_gpu.cpp | 255 +++++++++++++++++++++++++++++++++ src/GPU/pair_lj_smooth_gpu.h | 60 ++++++++ 3 files changed, 317 insertions(+) create mode 100644 src/GPU/pair_lj_smooth_gpu.cpp create mode 100644 src/GPU/pair_lj_smooth_gpu.h diff --git a/src/GPU/Install.sh b/src/GPU/Install.sh index 1fefb01d42..536d687e18 100755 --- a/src/GPU/Install.sh +++ b/src/GPU/Install.sh @@ -101,6 +101,8 @@ action pair_lj_cut_coul_msm_gpu.cpp pair_lj_cut_coul_msm.cpp action pair_lj_cut_coul_msm_gpu.h pair_lj_cut_coul_msm.h action pair_lj_cut_gpu.cpp action pair_lj_cut_gpu.h +action pair_lj_smooth_gpu.cpp +action pair_lj_smooth_gpu.h action pair_lj_expand_gpu.cpp action pair_lj_expand_gpu.h action pair_lj_expand_coul_long_gpu.cpp pair_lj_expand_coul_long.cpp diff --git a/src/GPU/pair_lj_smooth_gpu.cpp b/src/GPU/pair_lj_smooth_gpu.cpp new file mode 100644 index 0000000000..4ea5cce92e --- /dev/null +++ b/src/GPU/pair_lj_smooth_gpu.cpp @@ -0,0 +1,255 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://lammps.sandia.gov/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Mike Brown (SNL) +------------------------------------------------------------------------- */ + +#include "pair_lj_smooth_gpu.h" +#include +#include + +#include +#include "atom.h" +#include "atom_vec.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "integrate.h" +#include "memory.h" +#include "error.h" +#include "neigh_request.h" +#include "universe.h" +#include "update.h" +#include "domain.h" +#include "gpu_extra.h" +#include "suffix.h" + +using namespace LAMMPS_NS; + +// External functions from cuda library for atom decomposition + +int ljl_gpu_init(const int ntypes, double **cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, double **host_lj4, + double **offset, double *special_lj, const int nlocal, + const int nall, const int max_nbors, const int maxspecial, + const double cell_size, int &gpu_mode, FILE *screen); + +void ljl_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, double **host_lj4, + double **offset); + +void ljl_gpu_clear(); +int ** ljl_gpu_compute_n(const int ago, const int inum, + const int nall, double **host_x, int *host_type, + double *sublo, double *subhi, tagint *tag, int **nspecial, + tagint **special, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + int **ilist, int **jnum, + const double cpu_time, bool &success); +void ljl_gpu_compute(const int ago, const int inum, const int nall, + double **host_x, int *host_type, int *ilist, int *numj, + int **firstneigh, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + const double cpu_time, bool &success); +double ljl_gpu_bytes(); + +/* ---------------------------------------------------------------------- */ + +PairLJSmoothGPU::PairLJSmoothGPU(LAMMPS *lmp) : PairLJCut(lmp), gpu_mode(GPU_FORCE) +{ + respa_enable = 0; + cpu_time = 0.0; + suffix_flag |= Suffix::GPU; + GPU_EXTRA::gpu_ready(lmp->modify, lmp->error); +} + +/* ---------------------------------------------------------------------- + free all arrays +------------------------------------------------------------------------- */ + +PairLJSmoothGPU::~PairLJSmoothGPU() +{ + ljl_gpu_clear(); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJSmoothGPU::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + int nall = atom->nlocal + atom->nghost; + int inum, host_start; + + bool success = true; + int *ilist, *numneigh, **firstneigh; + if (gpu_mode != GPU_FORCE) { + double sublo[3],subhi[3]; + if (domain->triclinic == 0) { + sublo[0] = domain->sublo[0]; + sublo[1] = domain->sublo[1]; + sublo[2] = domain->sublo[2]; + subhi[0] = domain->subhi[0]; + subhi[1] = domain->subhi[1]; + subhi[2] = domain->subhi[2]; + } else { + domain->bbox(domain->sublo_lamda,domain->subhi_lamda,sublo,subhi); + } + inum = atom->nlocal; + firstneigh = ljl_gpu_compute_n(neighbor->ago, inum, nall, + atom->x, atom->type, sublo, + subhi, atom->tag, atom->nspecial, + atom->special, eflag, vflag, eflag_atom, + vflag_atom, host_start, + &ilist, &numneigh, cpu_time, success); + } else { + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + ljl_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, + ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, + vflag_atom, host_start, cpu_time, success); + } + if (!success) + error->one(FLERR,"Insufficient memory on accelerator"); + + if (host_startnewton_pair) + error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); + + // Repeat cutsq calculation because done after call to init_style + double maxcut = -1.0; + double cut; + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = i; j <= atom->ntypes; j++) { + if (setflag[i][j] != 0 || (setflag[i][i] != 0 && setflag[j][j] != 0)) { + cut = init_one(i,j); + cut *= cut; + if (cut > maxcut) + maxcut = cut; + cutsq[i][j] = cutsq[j][i] = cut; + } else + cutsq[i][j] = cutsq[j][i] = 0.0; + } + } + double cell_size = sqrt(maxcut) + neighbor->skin; + + int maxspecial=0; + if (atom->molecular) + maxspecial=atom->maxspecial; + int success = ljl_gpu_init(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, + offset, force->special_lj, atom->nlocal, + atom->nlocal+atom->nghost, 300, maxspecial, + cell_size, gpu_mode, screen); + GPU_EXTRA::check_flag(success,error,world); + + if (gpu_mode == GPU_FORCE) { + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + } +} + +/* ---------------------------------------------------------------------- */ + +void PairLJSmoothGPU::reinit() +{ + Pair::reinit(); + + ljl_gpu_reinit(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset); +} + +/* ---------------------------------------------------------------------- */ + +double PairLJSmoothGPU::memory_usage() +{ + double bytes = Pair::memory_usage(); + return bytes + ljl_gpu_bytes(); +} + +/* ---------------------------------------------------------------------- */ + +void PairLJSmoothGPU::cpu_compute(int start, int inum, int eflag, int /* vflag */, + int *ilist, int *numneigh, int **firstneigh) { + int i,j,ii,jj,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; + double rsq,r2inv,r6inv,forcelj,factor_lj; + int *jlist; + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + double *special_lj = force->special_lj; + + // loop over neighbors of my atoms + + for (ii = start; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0/rsq; + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + fpair = factor_lj*forcelj*r2inv; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + + if (eflag) { + evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (evflag) ev_tally_full(i,evdwl,0.0,fpair,delx,dely,delz); + } + } + } +} + diff --git a/src/GPU/pair_lj_smooth_gpu.h b/src/GPU/pair_lj_smooth_gpu.h new file mode 100644 index 0000000000..fc245918d0 --- /dev/null +++ b/src/GPU/pair_lj_smooth_gpu.h @@ -0,0 +1,60 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(lj/smooth/gpu,PairLJSmoothGPU) + +#else + +#ifndef LMP_PAIR_LJ_SMOOTH_GPU_H +#define LMP_PAIR_LJ_SMOOTH_GPU_H + +#include "pair_lj_cut.h" + +namespace LAMMPS_NS { + +class PairLJSmoothGPU : public PairLJCut { + public: + PairLJSmoothGPU(LAMMPS *lmp); + ~PairLJSmoothGPU(); + void cpu_compute(int, int, int, int, int *, int *, int **); + void compute(int, int); + void init_style(); + void reinit(); + double memory_usage(); + + enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; + + private: + int gpu_mode; + double cpu_time; +}; + +} +#endif +#endif + +/* ERROR/WARNING messages: + +E: Insufficient memory on accelerator + +There is insufficient memory on one of the devices specified for the gpu +package + +E: Cannot use newton pair with lj/cut/gpu pair style + +Self-explanatory. + +*/ + From 4442f38bed112ccf8dabe31428021b8b998a363a Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Sat, 20 Feb 2021 23:04:13 +0100 Subject: [PATCH 082/542] Inclusion of n2p2 interface files - github.com/CompPhysVienna/n2p2 commit 2f05836 - example modified (less atoms) --- examples/USER/nnp/data.H2O-360mol | 1096 ++++++++++++++ examples/USER/nnp/in.nnp | 47 + examples/USER/nnp/nnp-data/input.nn | 120 ++ examples/USER/nnp/nnp-data/scaling.data | 72 + examples/USER/nnp/nnp-data/weights.001.data | 1392 ++++++++++++++++++ examples/USER/nnp/nnp-data/weights.008.data | 1467 +++++++++++++++++++ src/USER-NNP/Install.sh | 68 + src/USER-NNP/README | 0 src/USER-NNP/pair_nnp.cpp | 419 ++++++ src/USER-NNP/pair_nnp.h | 70 + 10 files changed, 4751 insertions(+) create mode 100644 examples/USER/nnp/data.H2O-360mol create mode 100644 examples/USER/nnp/in.nnp create mode 100644 examples/USER/nnp/nnp-data/input.nn create mode 100644 examples/USER/nnp/nnp-data/scaling.data create mode 100644 examples/USER/nnp/nnp-data/weights.001.data create mode 100644 examples/USER/nnp/nnp-data/weights.008.data create mode 100644 src/USER-NNP/Install.sh create mode 100644 src/USER-NNP/README create mode 100644 src/USER-NNP/pair_nnp.cpp create mode 100644 src/USER-NNP/pair_nnp.h diff --git a/examples/USER/nnp/data.H2O-360mol b/examples/USER/nnp/data.H2O-360mol new file mode 100644 index 0000000000..3791f07585 --- /dev/null +++ b/examples/USER/nnp/data.H2O-360mol @@ -0,0 +1,1096 @@ +LAMMPS data file, 360 water molecules + +1080 atoms +2 atom types + +0.0 2.2695686722465727E+01 xlo xhi +0.0 2.3586033624598713E+01 ylo yhi +0.0 2.2237130028217017E+01 zlo zhi + +Masses + +1 1.00794 +2 15.9994 + +Atoms # atomic + +1 2 1.7548118361224624E+01 7.3699168122955889E+00 5.5591101411055377E-01 +2 1 1.7052018361224619E+01 7.5604368122955892E+00 1.3882600141105546E+00 +3 1 1.8473918361224619E+01 7.4162968122955890E+00 8.4111101411055411E-01 +4 2 9.1706683612246138E+00 1.2915816812295594E+01 2.5107200141105555E+00 +5 1 9.7830883612246140E+00 1.2151816812295593E+01 2.3347500141105550E+00 +6 1 9.1892283612246164E+00 1.3443216812295594E+01 1.6591000141105545E+00 +7 2 1.8399218361224623E+01 1.7424016812295601E+01 6.5473300141105586E+00 +8 1 1.8345918361224623E+01 1.8268716812295594E+01 7.0339200141105591E+00 +9 1 1.9026818361224624E+01 1.6834816812295600E+01 7.0045500141105599E+00 +10 2 5.7216883612246123E+00 1.6305516812295600E+01 1.0104620014110562E+01 +11 1 6.2668083612246122E+00 1.5517116812295598E+01 9.8182400141105628E+00 +12 1 6.2385083612246124E+00 1.6937316812295599E+01 1.0608050014110562E+01 +13 2 1.1317118361224615E+01 1.1227616812295592E+01 1.5996300141105546E+00 +14 1 1.1296018361224618E+01 1.0203716812295591E+01 1.7394500141105549E+00 +15 1 1.1304118361224615E+01 1.1323916812295593E+01 6.1680301411055383E-01 +16 2 7.8280183612246139E+00 2.2671316812295601E+01 4.2759600141105567E+00 +17 1 7.1177183612246129E+00 2.2216116812295603E+01 3.7208400141105566E+00 +18 1 8.3989583612246133E+00 2.2791416812295601E+01 3.4672900141105565E+00 +19 2 4.3278983612246105E+00 8.5704868122955897E+00 1.9742050014110571E+01 +20 1 5.3082183612246112E+00 8.2615268122955889E+00 1.9662550014110568E+01 +21 1 4.0620583612246106E+00 8.0321368122955903E+00 2.0571250014110571E+01 +22 2 1.7732618361224624E+01 1.5933416812295597E+01 1.9881550014110569E+01 +23 1 1.8279418361224621E+01 1.5600716812295596E+01 2.0596350014110573E+01 +24 1 1.6762718361224621E+01 1.5919016812295597E+01 2.0129250014110571E+01 +25 2 8.8204883612246157E+00 2.0042116812295600E+01 1.5762450014110566E+01 +26 1 7.9101683612246143E+00 1.9947516812295600E+01 1.6194150014110569E+01 +27 1 9.2758283612246135E+00 1.9487716812295599E+01 1.6447350014110569E+01 +28 2 1.1361918361224616E+01 1.2958816812295595E+01 1.5721550014110568E+01 +29 1 1.0710518361224615E+01 1.3138916812295594E+01 1.6487150014110568E+01 +30 1 1.1182418361224618E+01 1.2046616812295593E+01 1.5544250014110565E+01 +31 2 9.0853583612246158E+00 1.8028316812295600E+01 1.3540150014110566E+01 +32 1 9.0982483612246146E+00 1.8864216812295595E+01 1.4036250014110564E+01 +33 1 9.8956783612246166E+00 1.8073516812295594E+01 1.3050750014110566E+01 +34 2 3.3490983612246099E+00 1.3145316812295595E+01 2.1514250014110569E+01 +35 1 3.9414483612246105E+00 1.3751716812295594E+01 2.2021150014110574E+01 +36 1 3.6130383612246102E+00 1.3223816812295594E+01 2.0535850014110569E+01 +37 2 6.4411883612246124E+00 7.5546068122955887E+00 1.2406250014110563E+01 +38 1 6.4110583612246135E+00 7.3084268122955889E+00 1.1455550014110564E+01 +39 1 5.9502783612246120E+00 6.8079868122955887E+00 1.2882150014110564E+01 +40 2 3.1816283612246097E+00 1.3743768122955837E+00 1.8410650014110569E+01 +41 1 2.7456683612246096E+00 1.9753168122955844E+00 1.7761550014110568E+01 +42 1 3.3321183612246101E+00 6.4900681229558332E-01 1.7765450014110570E+01 +43 2 1.1615018361224617E+01 8.3421868122955907E+00 9.3717400141105607E+00 +44 1 1.1505118361224616E+01 9.2703268122955897E+00 8.9617500141105602E+00 +45 1 1.1720018361224618E+01 8.5827868122955895E+00 1.0287050014110562E+01 +46 2 1.6212718361224624E+01 1.6780668122955840E+00 1.1987450014110564E+01 +47 1 1.6817418361224618E+01 9.2842081229558349E-01 1.2089350014110565E+01 +48 1 1.6302618361224624E+01 1.6888668122955843E+00 1.0949350014110564E+01 +49 2 5.7806183612246125E+00 2.3120416812295598E+01 5.7535201411055370E-01 +50 1 6.0597183612246122E+00 2.2879416812295602E+01 2.1923350014110571E+01 +51 1 6.1737883612246121E+00 3.7587181229558303E-01 7.5628401411055390E-01 +52 2 6.9870736122460764E-01 4.4018468122955863E+00 2.0745450014110574E+01 +53 1 1.0849233612246079E+00 5.0078768122955868E+00 2.1326650014110573E+01 +54 1 1.1343483612246081E+00 3.5552568122955859E+00 2.0739850014110569E+01 +55 2 1.2474018361224617E+01 1.8462716812295600E+01 4.2626300141105569E+00 +56 1 1.2631218361224617E+01 1.9451616812295601E+01 4.1598600141105573E+00 +57 1 1.1535518361224616E+01 1.8339216812295600E+01 3.8941600141105570E+00 +58 2 1.4727518361224622E+01 1.1649916812295594E+01 1.2720850014110564E+01 +59 1 1.4211718361224619E+01 1.2472216812295594E+01 1.2857350014110564E+01 +60 1 1.4256618361224620E+01 1.1143516812295591E+01 1.1963750014110564E+01 +61 2 1.8643018361224620E+01 3.1526568122955854E+00 3.3192500141105561E+00 +62 1 1.8497618361224625E+01 2.1786668122955843E+00 3.1363400141105560E+00 +63 1 1.8226818361224623E+01 3.7471968122955857E+00 2.7182100141105558E+00 +64 2 5.9526383612246123E+00 9.9064868122955918E+00 1.3675050014110566E+01 +65 1 5.8703483612246119E+00 9.1964268122955914E+00 1.2998350014110564E+01 +66 1 5.6200083612246123E+00 9.5717168122955893E+00 1.4553850014110566E+01 +67 2 2.0547618361224622E+01 1.4953616812295596E+01 7.4909000141105597E+00 +68 1 1.9810418361224624E+01 1.4276716812295595E+01 7.7369400141105604E+00 +69 1 2.0538518361224622E+01 1.4842716812295595E+01 6.5215100141105582E+00 +70 2 5.6182883612246117E+00 1.0935616812295592E+01 2.1309550014110577E+01 +71 1 5.1210983612246110E+00 1.0201616812295592E+01 2.0927650014110572E+01 +72 1 5.0231983612246101E+00 1.1682816812295593E+01 2.1195250014110574E+01 +73 2 7.3994883612246127E+00 1.6590716812295597E+01 1.6644200141105545E+00 +74 1 7.4832983612246133E+00 1.5764316812295597E+01 1.1037010141105541E+00 +75 1 6.4615483612246125E+00 1.6884716812295594E+01 1.5901700141105546E+00 +76 2 1.6481618361224619E+01 6.8669468122955886E+00 8.1942200141105612E+00 +77 1 1.6842218361224624E+01 6.6571868122955893E+00 7.3171500141105605E+00 +78 1 1.6662118361224621E+01 7.9103168122955898E+00 8.3926300141105603E+00 +79 2 3.8240283612246104E+00 7.4557268122955893E+00 2.2081450014110569E+01 +80 1 3.9996383612246107E+00 8.2127468122955900E+00 4.4258201411055370E-01 +81 1 4.3794783612246118E+00 6.7752768122955889E+00 3.0601401411055357E-01 +82 2 1.8206818361224624E+01 1.8675116812295599E+01 2.2143550014110573E+01 +83 1 1.9050418361224622E+01 1.8625316812295598E+01 3.1911901411055360E-01 +84 1 1.7785918361224624E+01 1.7838316812295595E+01 3.0735001411055357E-01 +85 2 4.7481983612246115E+00 2.2139016812295598E+01 1.2766950014110565E+01 +86 1 4.8718083612246117E+00 2.1795616812295602E+01 1.1856350014110564E+01 +87 1 3.9089883612246101E+00 2.2636316812295600E+01 1.2895850014110565E+01 +88 2 1.5071218361224622E+01 1.5644016812295597E+01 2.1116550014110569E+01 +89 1 1.5525518361224620E+01 1.5499516812295598E+01 2.1939550014110573E+01 +90 1 1.4560118361224619E+01 1.4829216812295597E+01 2.0911550014110574E+01 +91 2 3.5850483612246102E+00 2.0238968122955843E+00 1.4329950014110565E+01 +92 1 4.5822683612246102E+00 2.0182468122955846E+00 1.4489350014110565E+01 +93 1 3.3075483612246099E+00 1.7417468122955844E+00 1.3412850014110566E+01 +94 2 9.3287883612246159E+00 1.0948916812295593E+01 1.7445050014110571E+01 +95 1 9.1849283612246140E+00 1.0964816812295592E+01 1.6497450014110569E+01 +96 1 1.0208518361224616E+01 1.0560116812295592E+01 1.7467750014110571E+01 +97 2 1.6917518361224623E+01 1.6216116812295596E+01 1.2336000141105543E+00 +98 1 1.7640918361224621E+01 1.5569416812295596E+01 1.1444600141105543E+00 +99 1 1.6626918361224618E+01 1.6336716812295599E+01 2.2021100141105552E+00 +100 2 1.3679818361224619E+01 1.7129816812295594E+01 1.1430150014110563E+01 +101 1 1.3887318361224619E+01 1.7170416812295599E+01 1.0468250014110565E+01 +102 1 1.4096718361224619E+01 1.7968216812295598E+01 1.1805550014110564E+01 +103 2 1.3326318361224619E+01 2.0612716812295599E+01 1.9289650014110574E+01 +104 1 1.3880018361224620E+01 2.1380416812295604E+01 1.9637050014110574E+01 +105 1 1.3969718361224619E+01 2.0031816812295599E+01 1.8864850014110566E+01 +106 2 1.3102818361224617E+01 9.7449768122955920E+00 4.8646700141105574E+00 +107 1 1.3259018361224618E+01 8.7793068122955891E+00 4.8787300141105581E+00 +108 1 1.2297018361224618E+01 1.0037396812295592E+01 5.2867800141105574E+00 +109 2 1.3561218361224620E+01 1.0125528122955836E+00 1.7365550014110568E+01 +110 1 1.4132118361224620E+01 1.2935668122955839E+00 1.6589150014110565E+01 +111 1 1.3566118361224619E+01 1.3040812295582734E-02 1.7411450014110571E+01 +112 2 2.5471083612246090E+00 7.7398068122955896E+00 1.1637550014110564E+01 +113 1 2.9179683612246090E+00 8.1217068122955887E+00 1.2434250014110564E+01 +114 1 1.6739383612246084E+00 7.2966168122955892E+00 1.1887150014110563E+01 +115 2 1.1800218361224616E+01 4.8194781229558314E-01 2.1326750014110569E+01 +116 1 1.2170218361224618E+01 2.3460816812295601E+01 2.1940950014110573E+01 +117 1 1.0818818361224615E+01 3.7687481229558306E-01 2.1407550014110573E+01 +118 2 1.7245383612246086E+00 2.0642416812295608E+01 1.5474450014110568E+01 +119 1 7.5602036122460758E-01 2.0577716812295602E+01 1.5232950014110566E+01 +120 1 2.0120183612246088E+00 1.9757816812295598E+01 1.5778550014110568E+01 +121 2 2.1498018361224627E+01 2.3493416812295607E+01 1.3820250014110565E+01 +122 1 2.1494718361224624E+01 2.2471216812295598E+01 1.3868050014110564E+01 +123 1 2.1258518361224628E+01 8.0412312295582794E-02 1.2930450014110564E+01 +124 2 6.7655083612246134E+00 2.2767416812295608E+01 1.4699650014110565E+01 +125 1 6.0001183612246125E+00 2.2567816812295604E+01 1.4021650014110564E+01 +126 1 7.6516483612246144E+00 2.2636816812295606E+01 1.4157950014110565E+01 +127 2 3.3906536122460723E-01 1.0326888122955835E+00 1.6208950014110570E+01 +128 1 2.2390518361224629E+01 1.6853768122955841E+00 1.6668350014110565E+01 +129 1 2.2469018361224627E+01 7.4193681229558339E-01 1.5376250014110568E+01 +130 2 1.9926618361224623E+01 1.0603116812295591E+01 6.2471900141105587E+00 +131 1 1.9651418361224625E+01 1.0742616812295591E+01 7.1974200141105591E+00 +132 1 2.0326818361224621E+01 9.7091568122955891E+00 6.2972500141105590E+00 +133 2 1.4065418361224619E+01 9.6032968122955911E+00 1.0851650014110565E+01 +134 1 1.4888018361224619E+01 9.4829868122955894E+00 1.0347850014110563E+01 +135 1 1.3995918361224620E+01 8.8324168122955911E+00 1.1424350014110564E+01 +136 2 1.9120918361224621E+01 9.2330968122955923E+00 1.4397850014110565E+01 +137 1 1.9273018361224622E+01 9.3574668122955913E+00 1.5329650014110568E+01 +138 1 1.8336218361224628E+01 9.7577868122955902E+00 1.4209550014110565E+01 +139 2 9.2747583612246132E+00 3.3802168122955858E+00 2.1921150014110570E+01 +140 1 9.7027183612246155E+00 4.2624668122955862E+00 2.1965550014110573E+01 +141 1 9.9842883612246158E+00 2.9253568122955849E+00 2.1379850014110570E+01 +142 2 9.0611683612246132E+00 2.2742216812295599E+01 1.2904350014110564E+01 +143 1 8.4974083612246147E+00 2.2879016812295600E+01 1.2165450014110563E+01 +144 1 9.7257783612246165E+00 2.2033816812295601E+01 1.2587850014110565E+01 +145 2 1.5256683612246082E+00 2.1530416812295606E+01 7.1578800141105594E+00 +146 1 8.7799836122460773E-01 2.2234616812295606E+01 7.2577600141105592E+00 +147 1 2.3075883612246093E+00 2.2010816812295598E+01 6.8841200141105583E+00 +148 2 1.6081118361224622E+01 1.6021916812295597E+01 1.6166550014110570E+01 +149 1 1.6522018361224625E+01 1.5180316812295597E+01 1.6454250014110571E+01 +150 1 1.5401218361224620E+01 1.5769416812295598E+01 1.5483250014110567E+01 +151 2 1.7749018361224625E+01 1.3835416812295595E+01 1.7934850014110566E+01 +152 1 1.7619418361224618E+01 1.2996016812295593E+01 1.8357350014110569E+01 +153 1 1.7710318361224626E+01 1.4526716812295595E+01 1.8693350014110564E+01 +154 2 1.0784218361224616E+01 2.0789668122955844E+00 3.1584400141105560E+00 +155 1 1.0978818361224617E+01 1.9034768122955845E+00 4.0827400141105574E+00 +156 1 1.0457118361224616E+01 3.0216968122955854E+00 3.1455400141105558E+00 +157 2 9.4666183612246151E+00 1.3795016812295595E+01 1.8255150014110573E+01 +158 1 9.2739483612246154E+00 1.2816116812295595E+01 1.8237050014110565E+01 +159 1 1.0024898361224613E+01 1.3849816812295595E+01 1.9041350014110570E+01 +160 2 1.6607718361224620E+01 9.5926568122955906E+00 8.3610000141105605E+00 +161 1 1.7489618361224622E+01 1.0033886812295592E+01 8.5949700141105598E+00 +162 1 1.6081218361224622E+01 1.0086916812295589E+01 7.6766200141105605E+00 +163 2 2.4720583612246085E+00 9.5096768122955897E+00 7.5596600141105599E+00 +164 1 3.3352983612246097E+00 1.0003256812295591E+01 7.6921700141105598E+00 +165 1 1.8756683612246088E+00 9.8285368122955923E+00 8.2621300141105607E+00 +166 2 1.3606518361224618E+01 4.4837168122955875E+00 1.9624350014110568E+01 +167 1 1.4283518361224617E+01 3.7681568122955857E+00 1.9538550014110569E+01 +168 1 1.2702218361224618E+01 4.1496568122955866E+00 1.9708550014110568E+01 +169 2 1.1041018361224618E+01 1.7860416812295597E+01 1.1277550014110563E+01 +170 1 1.1982418361224617E+01 1.7497016812295602E+01 1.1127350014110561E+01 +171 1 1.0792418361224616E+01 1.8262616812295597E+01 1.0475950014110563E+01 +172 2 7.0982883612246130E+00 2.3566768122955843E+00 1.2506050014110563E+01 +173 1 6.3155683612246118E+00 2.7857868122955849E+00 1.2136750014110564E+01 +174 1 6.9544283612246129E+00 1.4878268122955838E+00 1.2027550014110563E+01 +175 2 2.2461118361224624E+01 1.7223816812295595E+01 3.7853700141105566E+00 +176 1 3.8035736122460728E-01 1.6541216812295595E+01 4.1282300141105566E+00 +177 1 2.2170218361224627E+01 1.7718916812295596E+01 4.5884800141105577E+00 +178 2 2.1524918361224625E+01 2.3278416812295603E+01 6.0502000141105574E+00 +179 1 2.2344918361224625E+01 1.9910411229558292E-01 5.7837700141105577E+00 +180 1 2.1146818361224621E+01 6.2103512295582780E-02 6.8814600141105586E+00 +181 2 1.1647418361224618E+01 6.9274068122955876E+00 1.9202350014110564E+01 +182 1 1.1682918361224617E+01 6.7232468122955886E+00 1.8281250014110572E+01 +183 1 1.2452418361224618E+01 6.5915368122955877E+00 1.9630250014110569E+01 +184 2 1.2980118361224617E+01 1.5656916812295595E+01 1.8521550014110570E+01 +185 1 1.2468118361224617E+01 1.6152716812295594E+01 1.7788550014110569E+01 +186 1 1.3643618361224618E+01 1.6261516812295596E+01 1.8848950014110571E+01 +187 2 9.4894083612246138E+00 4.1912368122955863E+00 1.7762350014110567E+01 +188 1 9.4709683612246156E+00 5.0998768122955873E+00 1.7391550014110571E+01 +189 1 9.2232883612246166E+00 3.6788768122955857E+00 1.6979950014110571E+01 +190 2 1.0881918361224615E+01 1.3244068122955841E+00 1.2479050014110564E+01 +191 1 1.0745218361224616E+01 2.0666368122955845E+00 1.3140050014110566E+01 +192 1 1.0165418361224615E+01 6.0247381229558317E-01 1.2629050014110565E+01 +193 2 7.4984083612246133E+00 3.3828168122955855E+00 3.9904000141105569E+00 +194 1 8.1749683612246145E+00 3.8193668122955864E+00 3.4147100141105557E+00 +195 1 6.8737483612246129E+00 4.0983668122955859E+00 4.1438600141105573E+00 +196 2 1.4126718361224619E+01 1.5892816812295598E+01 1.4166950014110565E+01 +197 1 1.3539718361224617E+01 1.5189216812295596E+01 1.3845850014110566E+01 +198 1 1.4026418361224620E+01 1.6423616812295599E+01 1.3361150014110565E+01 +199 2 1.4372418361224620E+01 7.0926268122955891E+00 2.0220450014110572E+01 +200 1 1.4315818361224620E+01 6.0986968122955885E+00 2.0182150014110572E+01 +201 1 1.5239118361224619E+01 7.2175968122955894E+00 1.9768250014110574E+01 +202 2 1.5588318361224621E+01 2.2037616812295600E+01 1.5235750014110568E+01 +203 1 1.5829418361224620E+01 2.2941816812295606E+01 1.5099350014110568E+01 +204 1 1.4999218361224621E+01 2.2049116812295598E+01 1.5987150014110565E+01 +205 2 1.4421618361224619E+01 2.1336416812295599E+01 3.5083700141105565E+00 +206 1 1.4400318361224619E+01 2.1871716812295599E+01 4.3014500141105581E+00 +207 1 1.3664518361224617E+01 2.1559716812295605E+01 2.9277000141105560E+00 +208 2 9.1273183612246136E+00 1.5723216812295597E+01 1.5417350014110566E+01 +209 1 8.8226183612246150E+00 1.6523616812295600E+01 1.4958650014110566E+01 +210 1 1.0089618361224616E+01 1.5748616812295596E+01 1.5115450014110568E+01 +211 2 9.6441083612246139E+00 1.7782116812295598E+01 1.7539750014110567E+01 +212 1 9.3256883612246160E+00 1.7082316812295598E+01 1.6893750014110566E+01 +213 1 1.0581918361224616E+01 1.7599016812295595E+01 1.7467150014110565E+01 +214 2 7.1293383612246135E+00 9.3145968122955924E+00 7.9714000141105608E+00 +215 1 7.4179783612246135E+00 9.2406068122955904E+00 7.0637200141105598E+00 +216 1 6.3589583612246123E+00 9.9272468122955910E+00 8.0110800141105614E+00 +217 2 1.7449618361224623E+01 3.8352581229558308E-01 2.6529300141105554E+00 +218 1 1.7216018361224620E+01 7.3571681229558328E-01 3.4988700141105564E+00 +219 1 1.6795318361224624E+01 7.8186081229558335E-01 2.0029300141105550E+00 +220 2 2.7238683612246093E+00 1.3575516812295593E+01 9.1347500141105620E+00 +221 1 3.0097983612246093E+00 1.4302416812295595E+01 9.7420200141105617E+00 +222 1 2.2133483612246088E+00 1.2933116812295594E+01 9.6944700141105624E+00 +223 2 4.9860783612246111E+00 1.2665616812295593E+01 1.5609150014110568E+01 +224 1 4.9965483612246109E+00 1.1861316812295593E+01 1.6114350014110567E+01 +225 1 5.9271583612246124E+00 1.2606916812295593E+01 1.5351750014110568E+01 +226 2 1.1435483612246080E+00 1.3539068122955837E+00 7.7349200141105596E+00 +227 1 1.5793183612246082E+00 1.6381468122955842E+00 6.9259100141105590E+00 +228 1 4.3584436122460729E-01 7.9355981229558337E-01 7.3642800141105598E+00 +229 2 2.0810918361224626E+01 1.1051988122955836E+00 8.5077500141105595E+00 +230 1 2.0203618361224624E+01 1.8570068122955843E+00 8.6209600141105600E+00 +231 1 2.0219618361224619E+01 3.4726481229558298E-01 8.7549200141105601E+00 +232 2 6.5894683612246130E+00 1.1921716812295593E+01 4.0921200141105567E+00 +233 1 6.3531783612246127E+00 1.1335416812295593E+01 3.4139200141105559E+00 +234 1 7.1131683612246128E+00 1.2611116812295593E+01 3.5863600141105563E+00 +235 2 9.0237636122460774E-01 1.0768116812295593E+01 1.6422550014110570E+01 +236 1 1.4161883612246080E+00 1.0641416812295592E+01 1.7232550014110565E+01 +237 1 2.2616918361224624E+01 1.0771016812295592E+01 1.6694350014110569E+01 +238 2 8.2755683612246145E+00 1.8576368122955842E+00 1.6580950014110570E+01 +239 1 7.6744983612246136E+00 1.9758868122955846E+00 1.5821950014110568E+01 +240 1 9.2312783612246143E+00 1.6032768122955843E+00 1.6367750014110570E+01 +241 2 1.1704118361224616E+01 9.4753668122955919E+00 1.7018450014110570E+01 +242 1 1.2234418361224618E+01 9.6674568122955904E+00 1.7812650014110567E+01 +243 1 1.2171818361224618E+01 9.7638768122955923E+00 1.6142250014110566E+01 +244 2 2.0875418361224622E+01 7.6334468122955901E+00 1.7202250014110568E+01 +245 1 2.1311318361224629E+01 7.7807768122955903E+00 1.6383650014110565E+01 +246 1 2.0672118361224623E+01 6.6749568122955889E+00 1.7034250014110569E+01 +247 2 2.0937583612246087E+00 2.3730568122955851E+00 1.1627350014110563E+01 +248 1 2.2551183612246088E+00 1.6816668122955840E+00 1.0954050014110564E+01 +249 1 1.1885983612246080E+00 2.7517268122955856E+00 1.1554250014110563E+01 +250 2 7.2603583612246139E+00 4.2773768122955875E+00 8.8049500141105597E+00 +251 1 7.4533183612246132E+00 4.0471168122955863E+00 7.8469900141105597E+00 +252 1 6.7938183612246119E+00 5.1467568122955871E+00 8.7676000141105614E+00 +253 2 1.3927383612246080E+00 1.9629816812295598E+01 4.1623901411055370E-01 +254 1 2.0677783612246090E+00 1.9987416812295599E+01 2.2001250014110575E+01 +255 1 7.1310236122460757E-01 2.0389716812295600E+01 4.3255901411055364E-01 +256 2 1.5805183612246083E+00 1.5056116812295596E+01 1.8649450014110570E+01 +257 1 1.3038183612246081E+00 1.4243616812295594E+01 1.8143150014110567E+01 +258 1 2.5451183612246093E+00 1.4987816812295595E+01 1.8770950014110568E+01 +259 2 1.9252918361224623E+01 2.1857416812295604E+01 4.9588600141105577E+00 +260 1 2.0035018361224626E+01 2.2392516812295604E+01 5.2176700141105581E+00 +261 1 1.8564818361224628E+01 2.2523016812295602E+01 4.9610500141105573E+00 +262 2 9.5099883612246163E+00 6.7496568122955889E+00 1.3032950014110567E+01 +263 1 8.5549183612246136E+00 6.9968568122955883E+00 1.3139650014110567E+01 +264 1 9.4325783612246141E+00 5.9435868122955871E+00 1.2409150014110564E+01 +265 2 1.8775718361224619E+01 1.8512116812295595E+01 1.1178550014110563E+01 +266 1 1.9375018361224623E+01 1.7842316812295600E+01 1.0824850014110563E+01 +267 1 1.8301818361224623E+01 1.8175016812295599E+01 1.1968450014110564E+01 +268 2 2.0758818361224623E+01 1.6814216812295598E+01 9.5641100141105628E+00 +269 1 2.1492818361224625E+01 1.6432216812295600E+01 1.0074140014110561E+01 +270 1 2.0737418361224623E+01 1.6298516812295595E+01 8.7849400141105605E+00 +271 2 9.0843183612246161E+00 1.4295916812295594E+01 2.2017750014110572E+01 +272 1 9.8806483612246154E+00 1.4254216812295596E+01 2.1449850014110570E+01 +273 1 8.2492183612246137E+00 1.4102616812295595E+01 2.1457750014110569E+01 +274 2 1.6252683612246084E+00 2.2325916812295599E+01 1.0071610014110561E+01 +275 1 1.8163983612246084E+00 2.1904516812295604E+01 9.2056800141105608E+00 +276 1 2.1963983612246087E+00 2.3161816812295601E+01 1.0022530014110561E+01 +277 2 1.9690018361224627E+01 1.5367316812295597E+01 2.2023250014110573E+01 +278 1 1.9792918361224626E+01 1.6162216812295597E+01 3.6804301411055362E-01 +279 1 2.0360218361224621E+01 1.4874616812295598E+01 1.7995231411055346E-01 +280 2 2.0582018361224623E+01 1.2211516812295594E+01 2.0851150014110569E+01 +281 1 2.0381118361224626E+01 1.1261816812295594E+01 2.0826950014110572E+01 +282 1 2.0674818361224627E+01 1.2419816812295593E+01 2.1734650014110574E+01 +283 2 1.5688818361224621E+01 1.1403716812295594E+01 1.9054550014110571E+01 +284 1 1.6024118361224623E+01 1.0872816812295591E+01 1.8344950014110569E+01 +285 1 1.4931218361224621E+01 1.1950816812295594E+01 1.8644050014110572E+01 +286 2 1.0725583612246079E+00 6.3569368122955883E+00 3.0266401411055360E-01 +287 1 4.6673736122460735E-01 7.0986268122955893E+00 2.2192650014110576E+01 +288 1 1.9070783612246087E+00 6.8754168122955877E+00 3.7071301411055363E-01 +289 2 4.7548083612246117E+00 2.1465716812295604E+01 7.0663800141105595E+00 +290 1 4.3146783612246118E+00 2.1161816812295601E+01 6.2923200141105582E+00 +291 1 5.6301983612246120E+00 2.1084816812295603E+01 7.0544500141105599E+00 +292 2 1.3509118361224619E+01 4.8757368122955871E+00 1.6648950014110568E+01 +293 1 1.4180418361224620E+01 4.1934568122955866E+00 1.6293850014110568E+01 +294 1 1.3492318361224619E+01 4.7198868122955870E+00 1.7573650014110569E+01 +295 2 1.9289718361224622E+01 1.0733116812295593E+01 9.1081600141105614E+00 +296 1 1.9808118361224626E+01 1.0005626812295592E+01 9.5612800141105616E+00 +297 1 1.9248918361224618E+01 1.1572916812295592E+01 9.6944600141105628E+00 +298 2 2.1876818361224625E+01 3.9526081229558307E-01 1.0871450014110563E+01 +299 1 2.1553418361224626E+01 6.8666181229558332E-01 9.9923100141105614E+00 +300 1 2.2626618361224629E+01 2.3447416812295607E+01 1.0608250014110563E+01 +301 2 9.8606183612246152E+00 6.6352668122955887E+00 1.6612050014110565E+01 +302 1 9.5310983612246165E+00 7.5706868122955902E+00 1.6474650014110566E+01 +303 1 1.0524818361224618E+01 6.5101368122955892E+00 1.5946350014110568E+01 +304 2 1.2186518361224618E+01 1.3789916812295596E+01 8.7496700141105599E+00 +305 1 1.1890718361224618E+01 1.2891816812295593E+01 8.4995700141105619E+00 +306 1 1.1614018361224618E+01 1.4372516812295595E+01 8.2094300141105609E+00 +307 2 1.9512018361224623E+01 9.5948968122955911E+00 2.1519650014110574E+01 +308 1 1.8609418361224620E+01 9.2378768122955890E+00 2.1589650014110575E+01 +309 1 1.9834518361224628E+01 9.3800568122955905E+00 1.5962161411055339E-01 +310 2 1.8450418361224624E+01 1.3554216812295595E+01 1.4053150014110566E+01 +311 1 1.7896118361224623E+01 1.4209516812295595E+01 1.4480050014110565E+01 +312 1 1.9045218361224620E+01 1.4116116812295594E+01 1.3480350014110565E+01 +313 2 5.9608036122460750E-01 3.0962568122955854E+00 4.0104500141105568E+00 +314 1 5.0918536122460734E-01 2.6044668122955850E+00 3.1592400141105559E+00 +315 1 3.2660836122460718E-01 3.9779868122955859E+00 3.6244600141105563E+00 +316 2 1.6709218361224622E+01 7.5030268122955892E+00 1.9032650014110569E+01 +317 1 1.7344118361224623E+01 6.8040368122955890E+00 1.9414250014110568E+01 +318 1 1.7245318361224619E+01 8.3102568122955898E+00 1.8926950014110570E+01 +319 2 4.0470283612246103E+00 7.2508468122955891E+00 8.1440200141105610E+00 +320 1 3.6216883612246100E+00 6.4829968122955890E+00 8.5846100141105612E+00 +321 1 3.3669983612246099E+00 7.9566968122955890E+00 8.0139600141105607E+00 +322 2 1.1552318361224618E+01 2.2031116812295608E+01 4.7262300141105573E+00 +323 1 1.1247918361224617E+01 2.2941516812295600E+01 4.8992000141105576E+00 +324 1 1.0996918361224616E+01 2.1524116812295599E+01 5.3949600141105583E+00 +325 2 1.1565818361224618E+01 3.0461968122955856E+00 6.5562400141105588E+00 +326 1 1.1633318361224617E+01 2.1371568122955846E+00 6.8306200141105595E+00 +327 1 1.2214518361224616E+01 3.2326968122955853E+00 5.8648800141105584E+00 +328 2 1.9688783612246086E+00 3.2526968122955853E+00 1.6120850014110566E+01 +329 1 2.5916283612246094E+00 3.0423368122955852E+00 1.5306050014110566E+01 +330 1 1.4524983612246081E+00 2.3877468122955845E+00 1.6220950014110571E+01 +331 2 7.6774983612246137E+00 7.9097668122955902E+00 2.4107900141105549E+00 +332 1 7.4992283612246133E+00 6.9473868122955889E+00 2.2584400141105556E+00 +333 1 6.7466083612246122E+00 8.2655268122955903E+00 2.3244700141105552E+00 +334 2 1.2130318361224617E+01 1.7223616812295596E+01 1.5700650014110568E+01 +335 1 1.2407018361224617E+01 1.8112016812295600E+01 1.5365250014110568E+01 +336 1 1.2742518361224617E+01 1.6577616812295595E+01 1.5263350014110568E+01 +337 2 1.7728718361224622E+01 2.2896216812295606E+01 1.2365950014110563E+01 +338 1 1.7984818361224619E+01 2.2452816812295598E+01 1.3213050014110564E+01 +339 1 1.8595118361224621E+01 2.2969216812295606E+01 1.1892750014110565E+01 +340 2 1.5281918361224621E+01 1.6689116812295595E+01 3.5126800141105563E+00 +341 1 1.4492318361224619E+01 1.6669216812295595E+01 2.9194400141105561E+00 +342 1 1.5646618361224620E+01 1.7600516812295599E+01 3.6025000141105563E+00 +343 2 4.2794683612246107E+00 1.4200416812295595E+01 1.8525450014110568E+01 +344 1 4.8127283612246110E+00 1.4764216812295595E+01 1.7954950014110565E+01 +345 1 4.1127983612246108E+00 1.3370716812295594E+01 1.8049050014110570E+01 +346 2 1.8236918361224628E+01 4.0448668122955862E+00 1.2482750014110565E+01 +347 1 1.7464118361224621E+01 3.4157768122955861E+00 1.2577050014110563E+01 +348 1 1.8888418361224623E+01 3.9472868122955864E+00 1.3187850014110564E+01 +349 2 1.5210083612246084E+00 2.0760116812295603E+01 1.8568050014110568E+01 +350 1 9.3233636122460772E-01 2.1579116812295599E+01 1.8623250014110567E+01 +351 1 1.8655283612246085E+00 2.0705116812295607E+01 1.7674350014110569E+01 +352 2 9.6988983612246145E+00 2.3227116812295606E+01 2.1607600141105552E+00 +353 1 1.0575218361224616E+01 2.2801816812295606E+01 2.1157200141105550E+00 +354 1 9.6457883612246160E+00 5.8366581229558323E-01 2.5761700141105557E+00 +355 2 1.2286583612246080E+00 1.2357416812295593E+01 1.1163150014110563E+01 +356 1 1.9847783612246088E+00 1.2235016812295594E+01 1.1737750014110564E+01 +357 1 4.3310836122460727E-01 1.2623516812295593E+01 1.1706550014110563E+01 +358 2 5.7105283612246112E+00 5.5146568122955868E+00 7.4986001411055381E-01 +359 1 5.1383683612246109E+00 5.0091168122955869E+00 1.2348700141105544E+00 +360 1 5.9350183612246123E+00 5.1514468122955872E+00 2.2081450014110569E+01 +361 2 1.6902636122460707E-01 8.6971668122955901E+00 2.1557650014110568E+01 +362 1 3.4063136122460719E-01 8.7598168122955897E+00 2.0593550014110573E+01 +363 1 2.1925618361224629E+01 8.9990868122955909E+00 2.1607650014110572E+01 +364 2 8.6913636122460769E-01 8.8201268122955891E+00 5.4724900141105577E+00 +365 1 1.5336683612246083E+00 9.1958268122955911E+00 6.0289400141105585E+00 +366 1 7.1340936122460763E-01 9.3141568122955896E+00 4.6938600141105580E+00 +367 2 1.3454018361224618E+01 7.4528968122955890E+00 7.3303201411055385E-01 +368 1 1.4008018361224620E+01 8.1713668122955898E+00 1.1380300141105542E+00 +369 1 1.3948018361224619E+01 7.1647468122955891E+00 2.2144050014110572E+01 +370 2 1.4760018361224619E+01 2.6916281229558298E-01 9.0334400141105622E+00 +371 1 1.4965818361224621E+01 2.3011416812295604E+01 8.5814700141105611E+00 +372 1 1.5281218361224621E+01 1.0313128122955835E+00 8.7280900141105597E+00 +373 2 1.5996618361224622E+01 6.7192268122955880E+00 1.3612250014110566E+01 +374 1 1.6689418361224618E+01 6.1040868122955878E+00 1.3229850014110566E+01 +375 1 1.6289118361224624E+01 6.8069768122955878E+00 1.4580350014110566E+01 +376 2 1.3938518361224620E+01 7.1240868122955883E+00 7.8282900141105607E+00 +377 1 1.3458318361224620E+01 7.7448768122955887E+00 8.4299200141105608E+00 +378 1 1.4907218361224620E+01 7.2224168122955890E+00 7.9304800141105600E+00 +379 2 6.3733783612246127E+00 1.3909616812295596E+01 2.0698150014110571E+01 +380 1 6.1473783612246127E+00 1.3695216812295595E+01 1.9772050014110572E+01 +381 1 5.9173383612246120E+00 1.4826916812295595E+01 2.0753850014110572E+01 +382 2 9.5430283612246161E+00 8.4577568122955906E+00 2.0184450014110567E+01 +383 1 9.4536783612246165E+00 9.3522568122955914E+00 2.0526350014110573E+01 +384 1 1.0501918361224616E+01 8.3154368122955891E+00 2.0022150014110569E+01 +385 2 1.2160218361224615E+01 1.0407516812295592E+01 1.4318750014110567E+01 +386 1 1.2949918361224618E+01 1.0903916812295593E+01 1.4035950014110565E+01 +387 1 1.1935518361224618E+01 9.8213668122955919E+00 1.3578750014110566E+01 +388 2 2.0025918361224623E+01 1.5810416812295596E+01 1.7455050014110569E+01 +389 1 1.9661218361224623E+01 1.6625316812295594E+01 1.7836250014110572E+01 +390 1 1.9333318361224624E+01 1.5188516812295598E+01 1.7664150014110568E+01 +391 2 1.8051118361224628E+01 2.2063016812295597E+01 1.9074050014110572E+01 +392 1 1.8655718361224626E+01 2.2102816812295604E+01 1.9868250014110568E+01 +393 1 1.7144018361224628E+01 2.1891216812295600E+01 1.9420850014110574E+01 +394 2 3.0120983612246097E+00 2.1345416812295600E+01 2.0773650014110572E+01 +395 1 3.9162983612246101E+00 2.1439816812295600E+01 2.0437450014110571E+01 +396 1 2.4240183612246091E+00 2.1265716812295597E+01 2.0021050014110568E+01 +397 2 2.0624318361224628E+01 9.7298468122955910E+00 2.0169200141105552E+00 +398 1 1.9778418361224627E+01 1.0107856812295591E+01 2.4375500141105553E+00 +399 1 2.1336218361224628E+01 1.0252916812295592E+01 2.5367800141105556E+00 +400 2 2.0006018361224623E+01 6.9037568122955886E+00 1.5526600141105547E+00 +401 1 1.9805618361224628E+01 6.6414668122955893E+00 2.4620700141105556E+00 +402 1 2.0325318361224628E+01 7.8380068122955899E+00 1.4922600141105546E+00 +403 2 5.4018383612246117E+00 1.9474316812295598E+01 2.2200250014110569E+01 +404 1 5.0341983612246111E+00 1.8621916812295595E+01 1.6070811411055344E-01 +405 1 5.2441583612246125E+00 1.9687916812295601E+01 2.1292150014110572E+01 +406 2 1.6808618361224624E+01 9.9598268122955922E+00 1.6578350014110569E+01 +407 1 1.6452218361224624E+01 9.0927968122955907E+00 1.6176550014110568E+01 +408 1 1.6535318361224618E+01 1.0551116812295591E+01 1.5827350014110566E+01 +409 2 1.8737418361224623E+01 3.3791968122955858E+00 8.0368800141105616E+00 +410 1 1.9240818361224623E+01 3.6184668122955856E+00 7.1997000141105598E+00 +411 1 1.8951318361224622E+01 4.1148768122955861E+00 8.6361100141105602E+00 +412 2 1.0984518361224618E+01 3.3476268122955859E+00 1.9834550014110572E+01 +413 1 1.1261418361224617E+01 2.4906068122955851E+00 1.9667750014110570E+01 +414 1 1.0335618361224617E+01 3.6599468122955860E+00 1.9138750014110574E+01 +415 2 1.3486718361224620E+01 7.1281268122955890E+00 1.2548450014110564E+01 +416 1 1.3375118361224617E+01 6.2400668122955887E+00 1.2168050014110564E+01 +417 1 1.4278818361224618E+01 6.9285468122955889E+00 1.3044050014110566E+01 +418 2 4.1399383612246101E+00 1.3400216812295595E+01 6.6748000141105592E+00 +419 1 4.2258583612246108E+00 1.4213816812295594E+01 6.0988400141105590E+00 +420 1 3.7224483612246102E+00 1.3636116812295594E+01 7.5017100141105599E+00 +421 2 6.1604783612246123E+00 1.7802516812295600E+01 1.5614150014110566E+01 +422 1 6.1112883612246121E+00 1.8550316812295602E+01 1.6198250014110570E+01 +423 1 5.7070283612246122E+00 1.8167816812295602E+01 1.4813150014110565E+01 +424 2 4.9667683612246103E+00 2.1178116812295603E+01 9.9783900141105626E+00 +425 1 5.8989783612246125E+00 2.1439716812295607E+01 1.0207850014110562E+01 +426 1 4.7733183612246117E+00 2.1828716812295600E+01 9.2650800141105609E+00 +427 2 2.1486818361224628E+01 1.2449816812295593E+01 1.2441450014110563E+01 +428 1 2.1382418361224630E+01 1.2868516812295594E+01 1.3319050014110564E+01 +429 1 2.1533218361224623E+01 1.1465716812295591E+01 1.2567350014110565E+01 +430 2 9.6968683612246149E+00 2.2429716812295599E+01 9.3939100141105616E+00 +431 1 1.0564418361224616E+01 2.2921816812295599E+01 9.7174900141105613E+00 +432 1 9.8708783612246158E+00 2.1471716812295600E+01 9.4367700141105626E+00 +433 2 7.0573683612246132E+00 7.8768068122955901E+00 1.8640050014110571E+01 +434 1 7.9716983612246137E+00 7.8784468122955902E+00 1.9068550014110571E+01 +435 1 6.8567983612246124E+00 6.8707368122955881E+00 1.8636950014110568E+01 +436 2 1.0804918361224617E+01 1.5849616812295597E+01 8.1474200141105602E+00 +437 1 9.9178083612246137E+00 1.6041716812295597E+01 7.7177700141105596E+00 +438 1 1.1229218361224616E+01 1.6721716812295597E+01 8.1598100141105601E+00 +439 2 1.5967118361224621E+01 1.9108816812295593E+01 6.2691000141105597E+00 +440 1 1.6267618361224621E+01 1.8937416812295595E+01 5.3670100141105586E+00 +441 1 1.5101318361224619E+01 1.8671116812295594E+01 6.4161100141105587E+00 +442 2 9.0110183612246146E+00 9.6738812295582802E-02 2.1602450014110570E+01 +443 1 8.7336983612246133E+00 2.2789216812295603E+01 2.1450250014110569E+01 +444 1 9.1353583612246148E+00 7.4132012295582778E-02 3.5428501411055363E-01 +445 2 1.1627418361224615E+01 1.4821516812295595E+01 4.6037900141105572E+00 +446 1 1.2437218361224618E+01 1.5201916812295595E+01 5.1070800141105579E+00 +447 1 1.1999518361224618E+01 1.4381616812295595E+01 3.8450600141105569E+00 +448 2 2.1504318361224623E+01 2.9446768122955853E+00 1.7629450014110571E+01 +449 1 2.1341518361224630E+01 2.5326668122955849E+00 1.8501950014110573E+01 +450 1 2.2183818361224631E+01 3.6079568122955856E+00 1.7822250014110566E+01 +451 2 5.9414783612246120E+00 7.2850781229558337E-01 6.4519900141105584E+00 +452 1 6.6209283612246121E+00 7.2068381229558331E-01 5.7444200141105588E+00 +453 1 5.6007183612246125E+00 2.3454516812295598E+01 6.5296500141105582E+00 +454 2 2.1185418361224624E+01 1.9734616812295599E+01 8.2853600141105606E+00 +455 1 2.1272318361224624E+01 1.8804616812295599E+01 8.4246300141105603E+00 +456 1 2.1763918361224626E+01 1.9804516812295596E+01 7.5059200141105595E+00 +457 2 2.0132718361224622E+01 1.9211216812295596E+01 1.5411950014110566E+01 +458 1 2.0127818361224623E+01 1.9434116812295603E+01 1.6377750014110568E+01 +459 1 2.0202918361224619E+01 1.8217216812295597E+01 1.5455650014110567E+01 +460 2 1.0566018361224616E+01 2.2302416812295601E+01 1.5841350014110565E+01 +461 1 1.0019628361224616E+01 2.2817316812295598E+01 1.6479950014110571E+01 +462 1 1.0078978361224616E+01 2.1478416812295603E+01 1.5676450014110568E+01 +463 2 1.7630518361224624E+01 5.3009781229558317E-01 5.8523400141105588E+00 +464 1 1.7373118361224620E+01 1.4591068122955841E+00 6.0723000141105583E+00 +465 1 1.6882118361224620E+01 2.3533916812295598E+01 6.1115000141105584E+00 +466 2 1.8487218361224620E+01 1.3215416812295594E+01 7.3134000141105595E+00 +467 1 1.8309318361224623E+01 1.3057816812295593E+01 8.2898500141105611E+00 +468 1 1.7704918361224621E+01 1.3598616812295596E+01 6.9310500141105598E+00 +469 2 1.4781718361224620E+01 1.3829716812295596E+01 7.6721300141105608E+00 +470 1 1.3884518361224620E+01 1.3814216812295593E+01 8.0509100141105598E+00 +471 1 1.5422718361224620E+01 1.3411216812295596E+01 8.2784100141105608E+00 +472 2 1.7536618361224619E+01 1.8757616812295595E+01 3.8240500141105565E+00 +473 1 1.7526218361224622E+01 1.9719116812295599E+01 3.6717500141105566E+00 +474 1 1.7939718361224621E+01 1.8506216812295602E+01 4.6869200141105569E+00 +475 2 1.6499283612246083E+00 1.5922616812295598E+01 1.2556450014110563E+01 +476 1 1.4605983612246083E+00 1.5892216812295597E+01 1.3488050014110566E+01 +477 1 1.7367083612246084E+00 1.6854216812295597E+01 1.2297050014110564E+01 +478 2 8.5479383612246149E+00 1.7069216812295593E+01 6.6048200141105582E+00 +479 1 9.1172583612246161E+00 1.7389716812295596E+01 5.8334600141105586E+00 +480 1 8.0002083612246153E+00 1.6273316812295597E+01 6.3223600141105596E+00 +481 2 1.8300218361224623E+01 5.4397168122955870E+00 1.9669150014110571E+01 +482 1 1.8588418361224619E+01 5.0788468122955868E+00 1.8796550014110569E+01 +483 1 1.9167418361224620E+01 5.5363368122955876E+00 2.0168550014110568E+01 +484 2 9.6411583612246154E+00 1.9548316812295599E+01 9.1323900141105607E+00 +485 1 8.7657383612246136E+00 1.9418716812295603E+01 8.6627500141105607E+00 +486 1 1.0212118361224617E+01 1.9305216812295598E+01 8.4322600141105610E+00 +487 2 1.7252718361224627E+01 2.9657868122955855E+00 2.1072250014110569E+01 +488 1 1.7114218361224623E+01 3.3986168122955855E+00 2.1924450014110572E+01 +489 1 1.7486918361224628E+01 3.8158168122955858E+00 2.0536350014110571E+01 +490 2 1.3509618361224620E+01 4.2382668122955867E+00 8.5228200141105610E+00 +491 1 1.2871018361224618E+01 3.7328468122955858E+00 8.0116300141105601E+00 +492 1 1.3551218361224617E+01 5.1304868122955876E+00 8.2299600141105600E+00 +493 2 3.7165083612246099E+00 1.1043216812295592E+01 1.8106350014110568E+01 +494 1 3.3814183612246098E+00 1.0634016812295592E+01 1.8946450014110567E+01 +495 1 4.3546383612246116E+00 1.0460016812295592E+01 1.7688950014110571E+01 +496 2 1.9337518361224625E+01 1.3009316812295593E+01 1.0465850014110563E+01 +497 1 1.8363918361224620E+01 1.3170216812295594E+01 1.0699650014110563E+01 +498 1 1.9930418361224621E+01 1.2794116812295593E+01 1.1218450014110564E+01 +499 2 1.6762418361224618E+01 2.0973416812295600E+01 3.5264301411055360E-01 +500 1 1.7173618361224619E+01 2.0111516812295601E+01 4.6120514110553332E-02 +501 1 1.6779018361224622E+01 2.0989816812295597E+01 1.3258900141105545E+00 +502 2 1.1931818361224618E+01 1.4381416812295596E+01 2.0707350014110570E+01 +503 1 1.2349318361224617E+01 1.4804916812295595E+01 1.9910850014110569E+01 +504 1 1.2073118361224617E+01 1.3449616812295593E+01 2.0569950014110571E+01 +505 2 1.9313818361224619E+01 2.1998916812295601E+01 2.1621950014110574E+01 +506 1 1.8558218361224618E+01 2.1692916812295604E+01 2.2158750014110570E+01 +507 1 2.0141018361224628E+01 2.2013716812295602E+01 2.2183250014110577E+01 +508 2 4.8118283612246113E+00 1.6027216812295599E+01 5.1367500141105573E+00 +509 1 4.7114183612246112E+00 1.6680516812295600E+01 5.8867900141105585E+00 +510 1 5.6999883612246123E+00 1.5655316812295595E+01 5.3399400141105575E+00 +511 2 3.0168783612246095E+00 4.2171668122955861E+00 1.7722100141105546E+00 +512 1 3.6195383612246101E+00 4.2962768122955861E+00 2.5523000141105556E+00 +513 1 2.3344183612246088E+00 4.8954268122955868E+00 1.8625700141105548E+00 +514 2 2.7633736122460723E-01 1.0676716812295593E+01 3.5942400141105564E+00 +515 1 1.0712683612246081E+00 1.0960316812295593E+01 3.1070800141105561E+00 +516 1 1.0373826122460703E-01 1.1435316812295593E+01 4.1642300141105570E+00 +517 2 9.1994883612246134E+00 4.0727868122955861E+00 1.1368050014110562E+01 +518 1 8.7127183612246135E+00 4.2128868122955865E+00 1.0525150014110562E+01 +519 1 8.6573983612246135E+00 3.3873568122955855E+00 1.1823150014110562E+01 +520 2 2.0263418361224623E+01 2.1143416812295602E+01 1.1035650014110564E+01 +521 1 1.9921318361224625E+01 2.0267016812295598E+01 1.0719350014110562E+01 +522 1 2.1204718361224629E+01 2.1089116812295604E+01 1.0955550014110562E+01 +523 2 1.1007218361224616E+01 1.3591268122955837E+00 1.5968850014110565E+01 +524 1 1.1211018361224616E+01 6.5994881229558333E-01 1.5295150014110568E+01 +525 1 1.1753218361224615E+01 1.3373368122955840E+00 1.6625250014110570E+01 +526 2 1.6449818361224622E+01 1.2905916812295594E+01 3.6495200141105570E+00 +527 1 1.6082418361224619E+01 1.2483716812295594E+01 4.4336400141105576E+00 +528 1 1.5806618361224618E+01 1.2963816812295594E+01 2.8968400141105559E+00 +529 2 2.2074518361224623E+01 2.0854516812295607E+01 1.4183150014110566E+01 +530 1 2.2370418361224626E+01 2.0606616812295602E+01 1.3236150014110565E+01 +531 1 2.1440218361224627E+01 2.0205616812295599E+01 1.4456050014110566E+01 +532 2 1.4895818361224620E+01 1.2429616812295594E+01 1.3207400141105543E+00 +533 1 1.4688418361224619E+01 1.1509816812295593E+01 1.6770700141105546E+00 +534 1 1.5765818361224619E+01 1.2279316812295594E+01 8.8910301411055404E-01 +535 2 1.9407218361224626E+01 1.3763168122955840E+00 2.2218750014110576E+01 +536 1 1.8759418361224622E+01 2.1012168122955845E+00 4.1577314110553328E-02 +537 1 1.9006318361224622E+01 4.6337681229558308E-01 2.2161650014110574E+01 +538 2 3.1159183612246095E+00 1.0503216812295593E+01 3.7342600141105562E+00 +539 1 3.5257783612246101E+00 1.0603616812295591E+01 4.5978500141105565E+00 +540 1 3.0560883612246097E+00 1.1428916812295594E+01 3.4365700141105564E+00 +541 2 1.9692018361224619E+01 5.1407868122955884E+00 1.6997250014110573E+01 +542 1 2.0186318361224625E+01 4.2853168122955863E+00 1.7210250014110574E+01 +543 1 1.8891118361224624E+01 4.7808468122955858E+00 1.6618950014110567E+01 +544 2 2.1602118361224623E+01 1.4555668122955838E+00 2.0066750014110571E+01 +545 1 2.2463518361224629E+01 1.6138468122955842E+00 2.0492150014110575E+01 +546 1 2.0840918361224627E+01 1.6176868122955841E+00 2.0669850014110569E+01 +547 2 7.3226583612246134E+00 1.9934716812295601E+01 7.4756100141105595E+00 +548 1 7.9283583612246131E+00 2.0344416812295602E+01 6.8527200141105586E+00 +549 1 7.2070483612246132E+00 1.9070116812295595E+01 7.2305400141105594E+00 +550 2 3.9547983612246100E+00 1.1847716812295593E+01 1.2663250014110565E+01 +551 1 4.4899783612246118E+00 1.1062416812295591E+01 1.3033650014110563E+01 +552 1 4.2127683612246107E+00 1.2490616812295594E+01 1.3347950014110566E+01 +553 2 8.1293783612246138E+00 9.4570168122955920E+00 5.2861500141105573E+00 +554 1 7.6605083612246139E+00 1.0236216812295591E+01 5.0121200141105575E+00 +555 1 7.9363683612246136E+00 8.7722168122955910E+00 4.5964500141105571E+00 +556 2 9.3475483612246162E+00 2.1280216812295603E+01 6.2993900141105597E+00 +557 1 9.5035083612246147E+00 2.1868316812295600E+01 7.0895100141105596E+00 +558 1 8.8697783612246148E+00 2.1923516812295603E+01 5.6055700141105582E+00 +559 2 1.7983818361224621E+01 1.4849916812295595E+01 4.9301300141105573E+00 +560 1 1.7204518361224622E+01 1.4659516812295594E+01 4.3545100141105575E+00 +561 1 1.7659818361224623E+01 1.5665516812295596E+01 5.4217000141105576E+00 +562 2 9.6836561224607015E-02 1.5075216812295597E+01 2.0962750014110576E+01 +563 1 6.8562536122460760E-01 1.4955116812295596E+01 2.0225550014110571E+01 +564 1 2.2019518361224623E+01 1.5532816812295597E+01 2.0594650014110574E+01 +565 2 1.6342518361224620E+01 1.5432016812295597E+01 1.0873150014110564E+01 +566 1 1.7127118361224618E+01 1.5478216812295596E+01 1.1505850014110564E+01 +567 1 1.5569918361224619E+01 1.5972316812295597E+01 1.1191450014110561E+01 +568 2 1.6951918361224624E+01 6.0532268122955877E+00 5.5473500141105578E+00 +569 1 1.6151518361224625E+01 6.1052968122955882E+00 4.9436200141105564E+00 +570 1 1.7749718361224623E+01 6.2910268122955877E+00 5.0466100141105574E+00 +571 2 2.1836118361224624E+01 1.3553116812295595E+01 1.0449310141105541E+00 +572 1 2.2123218361224630E+01 1.3254016812295594E+01 1.8775300141105549E+00 +573 1 2.2417418361224623E+01 1.4109316812295594E+01 5.5758201411055375E-01 +574 2 8.4074136122460763E-01 6.1482668122955877E+00 2.9828400141105558E+00 +575 1 5.1720036122460744E-01 6.3728168122955884E+00 2.0990600141105551E+00 +576 1 4.8378436122460733E-01 6.7351768122955882E+00 3.6881100141105563E+00 +577 2 1.2418218361224618E+01 1.3616416812295595E+01 2.4339600141105553E+00 +578 1 1.3224418361224620E+01 1.3621516812295594E+01 1.9017600141105551E+00 +579 1 1.1971418361224618E+01 1.2767616812295595E+01 2.2269100141105551E+00 +580 2 1.7797118361224623E+01 8.1219568122955899E+00 1.1360950014110564E+01 +581 1 1.8396118361224623E+01 7.3622368122955892E+00 1.1442350014110563E+01 +582 1 1.7152218361224620E+01 8.0405268122955889E+00 1.2006350014110565E+01 +583 2 8.8939083612246144E+00 2.3108716812295601E+01 1.8181650014110566E+01 +584 1 9.2305583612246167E+00 2.3316416812295607E+01 1.9080550014110568E+01 +585 1 8.4347783612246143E+00 2.3124881229558295E-01 1.7772650014110567E+01 +586 2 1.5396018361224620E+01 1.3244268122955838E+00 5.1743401411055379E-01 +587 1 1.4653018361224619E+01 1.9680468122955843E+00 6.9262601411055380E-01 +588 1 1.5532018361224621E+01 1.7464868122955843E+00 2.1842250014110572E+01 +589 2 1.3294418361224619E+01 1.9828716812295600E+01 1.4370950014110566E+01 +590 1 1.3322318361224617E+01 2.0573116812295599E+01 1.4994650014110565E+01 +591 1 1.4224718361224619E+01 1.9664216812295603E+01 1.3987250014110566E+01 +592 2 1.4256818361224619E+01 4.6850068122955859E+00 1.1203250014110564E+01 +593 1 1.4016218361224619E+01 4.5584368122955867E+00 1.0245650014110563E+01 +594 1 1.4053918361224619E+01 3.9259368122955864E+00 1.1760150014110565E+01 +595 2 1.3999318361224617E+01 1.6148616812295600E+01 6.1724300141105584E+00 +596 1 1.4407918361224619E+01 1.5335316812295597E+01 6.4938100141105588E+00 +597 1 1.4547818361224621E+01 1.6217216812295597E+01 5.3465500141105577E+00 +598 2 6.2701183612246121E+00 1.8580268122955843E+00 1.4993850014110567E+01 +599 1 6.7382683612246126E+00 2.1158368122955844E+00 1.4195450014110566E+01 +600 1 6.4212983612246122E+00 8.0371781229558348E-01 1.4948350014110568E+01 +601 2 5.0636283612246116E+00 6.9233968122955893E+00 5.4102500141105576E+00 +602 1 4.6672883612246112E+00 7.2741768122955888E+00 6.2332700141105590E+00 +603 1 4.4853583612246108E+00 7.2936368122955892E+00 4.6888200141105578E+00 +604 2 1.3806418361224619E+01 2.0406768122955845E+00 1.3072150014110566E+01 +605 1 1.2988118361224620E+01 1.7322068122955840E+00 1.2623650014110565E+01 +606 1 1.4615718361224621E+01 1.7489368122955842E+00 1.2542650014110563E+01 +607 2 1.3843018361224619E+01 3.9814368122955863E+00 4.6247200141105571E+00 +608 1 1.4526818361224619E+01 3.4392068122955854E+00 4.9166200141105580E+00 +609 1 1.3853818361224619E+01 3.9579668122955862E+00 3.6463900141105570E+00 +610 2 9.4309083612246134E+00 1.3427316812295595E+01 5.1648900141105578E+00 +611 1 1.0247318361224616E+01 1.4005616812295596E+01 5.1406700141105581E+00 +612 1 9.3575083612246157E+00 1.3384116812295595E+01 4.2070800141105567E+00 +613 2 1.0562718361224615E+01 6.7748668122955884E+00 4.3452500141105572E+00 +614 1 1.0946418361224618E+01 7.5677368122955890E+00 4.0347300141105569E+00 +615 1 1.0484318361224616E+01 6.8870868122955891E+00 5.2654700141105577E+00 +616 2 3.2897283612246095E+00 2.8341368122955855E+00 5.6201600141105583E+00 +617 1 3.9257683612246104E+00 2.1488168122955851E+00 5.6116300141105580E+00 +618 1 2.5742283612246091E+00 2.5372068122955849E+00 5.0057300141105578E+00 +619 2 1.2820218361224617E+01 2.1842316812295604E+01 9.5506601411055403E-01 +620 1 1.3808618361224617E+01 2.1739316812295602E+01 6.9112901411055383E-01 +621 1 1.2307218361224617E+01 2.0939316812295598E+01 8.0405301411055397E-01 +622 2 1.1302618361224617E+01 8.5081868122955893E+00 2.1612200141105551E+00 +623 1 1.0551618361224616E+01 7.9513068122955897E+00 1.8471100141105550E+00 +624 1 1.2086818361224617E+01 8.3030068122955907E+00 1.5894400141105547E+00 +625 2 1.3064318361224618E+01 9.7817168122955920E+00 1.9603050014110568E+01 +626 1 1.4016218361224619E+01 1.0101066812295592E+01 1.9784350014110565E+01 +627 1 1.3103218361224620E+01 8.7856768122955895E+00 1.9541550014110573E+01 +628 2 2.1159818361224630E+01 1.6396216812295599E+01 1.5054750014110565E+01 +629 1 2.0573718361224628E+01 1.6344316812295595E+01 1.5842950014110565E+01 +630 1 2.2067718361224628E+01 1.6574816812295595E+01 1.5292350014110566E+01 +631 2 1.3879318361224620E+01 4.8421968122955867E+00 1.8640600141105548E+00 +632 1 1.3469718361224617E+01 4.2868668122955862E+00 1.1226700141105541E+00 +633 1 1.3694518361224619E+01 5.7738868122955882E+00 1.5846200141105546E+00 +634 2 1.4947018361224620E+01 2.7098168122955855E+00 1.5532050014110565E+01 +635 1 1.5934218361224621E+01 2.8021868122955849E+00 1.5440750014110566E+01 +636 1 1.4677718361224619E+01 2.7345868122955848E+00 1.4610250014110566E+01 +637 2 2.0729818361224627E+01 5.7312368122955872E+00 2.1185650014110568E+01 +638 1 2.0630218361224625E+01 5.9060168122955874E+00 2.2128750014110572E+01 +639 1 2.1585318361224626E+01 5.3040468122955877E+00 2.0998350014110574E+01 +640 2 5.6033083612246122E+00 2.1860416812295600E+01 1.9937450014110571E+01 +641 1 5.7436183612246126E+00 2.2266616812295599E+01 1.9066350014110569E+01 +642 1 6.4010583612246119E+00 2.1500316812295601E+01 2.0373250014110571E+01 +643 2 2.0179418361224624E+01 2.0852916812295600E+01 1.7821650014110570E+01 +644 1 2.0858718361224621E+01 2.1513716812295606E+01 1.7852550014110570E+01 +645 1 1.9363318361224625E+01 2.1218016812295598E+01 1.8319950014110571E+01 +646 2 1.2740018361224617E+01 2.4392468122955848E+00 7.3348101411055400E-01 +647 1 1.2380118361224618E+01 1.9173868122955846E+00 2.2193350014110568E+01 +648 1 1.2131918361224617E+01 2.2979968122955845E+00 1.5109500141105545E+00 +649 2 1.8538983612246085E+00 2.3240416812295603E+01 1.3249450014110565E+01 +650 1 9.9075536122460772E-01 4.8385112295582761E-02 1.2954450014110565E+01 +651 1 1.5242983612246084E+00 2.2450416812295604E+01 1.3624150014110564E+01 +652 2 1.9402283612246085E+00 1.3091216812295594E+01 1.6099150014110567E+01 +653 1 1.7522183612246085E+00 1.2100916812295594E+01 1.5990650014110567E+01 +654 1 2.8148183612246092E+00 1.3257816812295593E+01 1.5762050014110565E+01 +655 2 1.8906418361224627E+01 5.6939868122955879E+00 1.0209650014110562E+01 +656 1 1.8658518361224623E+01 4.9537468122955870E+00 1.0828250014110564E+01 +657 1 1.8126218361224627E+01 5.9810968122955881E+00 9.6716600141105609E+00 +658 2 2.0730418361224629E+01 2.0111816812295594E+01 3.0276000141105559E+00 +659 1 2.0083418361224627E+01 2.0718416812295597E+01 3.5772300141105564E+00 +660 1 2.0308118361224626E+01 1.9248316812295602E+01 2.9605200141105561E+00 +661 2 6.7800283612246126E+00 1.9581868122955843E+00 1.2529200141105543E+00 +662 1 6.6681183612246135E+00 1.9993368122955846E+00 2.2166600141105555E+00 +663 1 7.4722083612246140E+00 2.5849268122955849E+00 8.9707101411055412E-01 +664 2 2.3540083612246088E+00 1.8082316812295598E+01 1.9283350014110571E+01 +665 1 2.4751683612246094E+00 1.8959016812295598E+01 1.9614250014110571E+01 +666 1 2.5936883612246091E+00 1.7471616812295593E+01 2.0038650014110569E+01 +667 2 3.1560583612246100E+00 1.9210816812295601E+01 8.7267100141105605E+00 +668 1 2.3874383612246088E+00 1.9584616812295604E+01 8.2639400141105597E+00 +669 1 3.8515983612246103E+00 1.9868216812295600E+01 8.7027900141105619E+00 +670 2 7.7807483612246138E+00 4.9313968122955876E+00 1.5174650014110567E+01 +671 1 8.4770983612246145E+00 4.3107868122955866E+00 1.4986250014110565E+01 +672 1 8.0583083612246149E+00 5.7556468122955877E+00 1.4779050014110565E+01 +673 2 1.9177718361224620E+01 2.2875416812295605E+01 9.3490100141105614E+00 +674 1 1.9592518361224624E+01 2.2209116812295601E+01 9.9987800141105616E+00 +675 1 1.8679418361224620E+01 2.2283216812295603E+01 8.7353900141105605E+00 +676 2 1.8012018361224619E+01 1.8154616812295600E+01 1.8383350014110569E+01 +677 1 1.7922118361224619E+01 1.7591716812295594E+01 1.9166150014110574E+01 +678 1 1.8400518361224620E+01 1.8974616812295597E+01 1.8716850014110573E+01 +679 2 2.7366683612246092E+00 7.3820868122955892E+00 1.4720150014110565E+01 +680 1 2.5492483612246093E+00 7.2696668122955890E+00 1.5722350014110566E+01 +681 1 1.8582683612246085E+00 7.2180568122955888E+00 1.4390450014110565E+01 +682 2 1.6942818361224624E+01 2.1371016812295597E+01 2.8358300141105555E+00 +683 1 1.7240118361224624E+01 2.2373816812295601E+01 2.8742300141105557E+00 +684 1 1.6027218361224620E+01 2.1363416812295604E+01 3.1069800141105559E+00 +685 2 9.1179583612246144E+00 6.2138168122955877E+00 2.2219750014110573E+01 +686 1 8.3846483612246132E+00 5.9380568122955877E+00 2.1536650014110574E+01 +687 1 9.5800483612246161E+00 6.8463868122955889E+00 2.1669550014110573E+01 +688 2 5.4860483612246123E+00 8.9824068122955900E+00 1.6397250014110568E+01 +689 1 4.8388683612246117E+00 8.3071768122955891E+00 1.6753150014110567E+01 +690 1 6.3129783612246122E+00 8.7215068122955923E+00 1.6837250014110566E+01 +691 2 1.9397518361224623E+01 6.4039668122955877E+00 4.1723200141105572E+00 +692 1 1.9833118361224624E+01 5.6290968122955869E+00 4.5721100141105575E+00 +693 1 1.9909118361224625E+01 7.1074668122955886E+00 4.6817100141105579E+00 +694 2 2.2149918361224625E+01 1.5137616812295596E+01 1.1073650014110564E+01 +695 1 2.1644718361224626E+01 1.4414316812295596E+01 1.1388550014110562E+01 +696 1 3.3839636122460720E-01 1.5094216812295596E+01 1.1602450014110564E+01 +697 2 6.7006983612246129E+00 1.7846516812295597E+01 1.9423350014110571E+01 +698 1 6.7740883612246128E+00 1.7086616812295595E+01 1.8821150014110565E+01 +699 1 7.5541583612246130E+00 1.7899016812295599E+01 1.9838150014110571E+01 +700 2 1.2971418361224620E+01 1.3561316812295594E+01 1.3508050014110564E+01 +701 1 1.2196618361224617E+01 1.3371616812295594E+01 1.4061450014110566E+01 +702 1 1.2505018361224618E+01 1.4103916812295596E+01 1.2745850014110564E+01 +703 2 4.7960083612246116E+00 5.7432768122955871E+00 1.3801750014110564E+01 +704 1 3.9892083612246103E+00 6.2086268122955879E+00 1.4170750014110565E+01 +705 1 5.3519383612246116E+00 5.4034268122955869E+00 1.4557650014110566E+01 +706 2 2.2336418361224631E+01 2.2801916812295602E+01 1.8451050014110571E+01 +707 1 2.2630218361224625E+01 2.3325116812295601E+01 1.7639550014110569E+01 +708 1 2.1978618361224623E+01 2.3427216812295605E+01 1.9110550014110565E+01 +709 2 2.0573218361224622E+01 1.4971016812295595E+01 4.3811100141105577E+00 +710 1 1.9643418361224622E+01 1.4730216812295595E+01 4.5453500141105572E+00 +711 1 2.0937618361224626E+01 1.4057916812295595E+01 4.2688900141105570E+00 +712 2 7.7804483612246145E+00 1.3035216812295593E+01 1.4300350014110565E+01 +713 1 8.1008183612246150E+00 1.3944516812295594E+01 1.4331350014110566E+01 +714 1 8.4620383612246144E+00 1.2628716812295593E+01 1.4867950014110567E+01 +715 2 1.0622918361224615E+01 1.0599816812295591E+01 5.5017600141105580E+00 +716 1 9.7272483612246159E+00 1.0126416812295592E+01 5.3859600141105579E+00 +717 1 1.0419418361224615E+01 1.1555016812295591E+01 5.4937200141105587E+00 +718 2 2.2674218361224622E+01 7.9755568122955900E+00 1.5187350014110566E+01 +719 1 4.0453536122460731E-01 8.8244968122955925E+00 1.5574650014110567E+01 +720 1 2.2362018361224624E+01 8.3706068122955894E+00 1.4341350014110564E+01 +721 2 1.8493518361224623E+01 2.1616416812295601E+01 1.4710250014110565E+01 +722 1 1.8843618361224621E+01 2.0710916812295597E+01 1.4603650014110565E+01 +723 1 1.7634018361224619E+01 2.1576616812295605E+01 1.5137250014110565E+01 +724 2 1.1378418361224618E+01 1.4445116812295595E+01 1.1403250014110563E+01 +725 1 1.0995318361224616E+01 1.5305216812295598E+01 1.1198250014110561E+01 +726 1 1.1720018361224618E+01 1.4047516812295596E+01 1.0555650014110562E+01 +727 2 6.3533183612246136E+00 6.9787868122955885E+00 9.8536300141105624E+00 +728 1 6.7505583612246118E+00 7.7080468122955885E+00 9.3304300141105596E+00 +729 1 5.4737783612246123E+00 6.9120368122955878E+00 9.4394800141105630E+00 +730 2 1.5737818361224621E+01 2.2047816812295601E+01 6.4073100141105588E+00 +731 1 1.4775218361224619E+01 2.1950116812295601E+01 6.8043800141105590E+00 +732 1 1.5981718361224621E+01 2.1102316812295602E+01 6.4195600141105595E+00 +733 2 2.1908218361224623E+01 3.1963968122955855E+00 1.1819950014110562E+01 +734 1 2.1958618361224627E+01 2.3112868122955850E+00 1.1382550014110564E+01 +735 1 2.2134518361224629E+01 3.8718968122955864E+00 1.1119850014110563E+01 +736 2 8.6119383612246132E+00 1.0139616812295591E+01 1.4826850014110565E+01 +737 1 7.7579283612246144E+00 1.0276216812295592E+01 1.4258250014110565E+01 +738 1 9.2724783612246160E+00 9.8187868122955919E+00 1.4195350014110566E+01 +739 2 1.1345118361224618E+01 1.1297916812295593E+01 8.1698500141105601E+00 +740 1 1.0600818361224615E+01 1.1038116812295593E+01 8.8206100141105601E+00 +741 1 1.0895318361224616E+01 1.1056516812295593E+01 7.3332000141105596E+00 +742 2 1.6404218361224622E+01 1.2816116812295595E+01 9.8149700141105622E+00 +743 1 1.6384718361224621E+01 1.3680716812295595E+01 1.0229050014110562E+01 +744 1 1.5882618361224621E+01 1.2241916812295594E+01 1.0424350014110562E+01 +745 2 7.0450583612246129E+00 4.5583868122955860E+00 2.0630050014110569E+01 +746 1 6.7311483612246121E+00 3.8493468122955856E+00 2.0041050014110571E+01 +747 1 7.8719283612246134E+00 4.1726668122955859E+00 2.0972550014110571E+01 +748 2 4.5216936122460732E-01 5.2293868122955871E+00 1.7943850014110570E+01 +749 1 1.3595683612246081E+00 5.1362568122955867E+00 1.7567550014110566E+01 +750 1 6.2522236122460750E-01 5.0603668122955874E+00 1.8910650014110566E+01 +751 2 5.8833983612246126E+00 2.2704616812295601E+01 1.7222950014110570E+01 +752 1 6.6531783612246134E+00 2.2887316812295598E+01 1.6598150014110566E+01 +753 1 5.1237883612246113E+00 2.2770416812295597E+01 1.6648350014110569E+01 +754 2 3.7333083612246099E+00 1.4932116812295597E+01 1.1034650014110563E+01 +755 1 4.5010083612246108E+00 1.5522216812295595E+01 1.0780950014110562E+01 +756 1 3.0122283612246097E+00 1.5275216812295595E+01 1.1539250014110564E+01 +757 2 4.8142083612246109E+00 1.7312616812295595E+01 7.6168500141105593E+00 +758 1 5.6746983612246114E+00 1.7043716812295600E+01 7.9740100141105605E+00 +759 1 4.2047983612246105E+00 1.7741816812295596E+01 8.2626200141105599E+00 +760 2 2.0873783612246086E+00 1.9135116812295603E+01 3.2233100141105564E+00 +761 1 1.9561483612246084E+00 1.9499116812295600E+01 2.2827400141105554E+00 +762 1 1.2347883612246080E+00 1.8596416812295598E+01 3.3088800141105561E+00 +763 2 1.4911918361224622E+01 1.9709868122955843E+00 1.9684550014110574E+01 +764 1 1.5687618361224621E+01 1.7298868122955844E+00 1.9127750014110571E+01 +765 1 1.4141418361224618E+01 1.5762868122955840E+00 1.9072150014110573E+01 +766 2 3.3485683612246100E+00 7.6905068122955891E+00 2.9143900141105559E+00 +767 1 3.1750683612246098E+00 8.6999368122955900E+00 3.1419300141105562E+00 +768 1 2.4588583612246087E+00 7.2293568122955891E+00 3.0353300141105559E+00 +769 2 1.5376218361224620E+01 7.2208068122955886E+00 1.6409350014110565E+01 +770 1 1.5698618361224622E+01 7.3093368122955891E+00 1.7329150014110567E+01 +771 1 1.4617018361224620E+01 6.5961168122955893E+00 1.6369550014110565E+01 +772 2 1.2057918361224617E+01 1.8745516812295602E+01 7.1432100141105588E+00 +773 1 1.2982318361224618E+01 1.8671616812295600E+01 7.4512500141105598E+00 +774 1 1.2137018361224618E+01 1.8506416812295601E+01 6.1578800141105585E+00 +775 2 8.4451783612246132E+00 1.1127316812295591E+01 2.0240650014110575E+01 +776 1 7.5919783612246130E+00 1.1108516812295592E+01 2.0757250014110571E+01 +777 1 8.3318483612246137E+00 1.0743616812295592E+01 1.9332450014110574E+01 +778 2 8.8588083612246145E+00 1.8392716812295600E+01 2.1852750014110576E+01 +779 1 9.6183883612246159E+00 1.8649216812295599E+01 1.6906151411055342E-01 +780 1 8.1750083612246147E+00 1.8151316812295601E+01 2.4326601411055351E-01 +781 2 1.6594918361224622E+01 1.9308516812295597E+01 9.3116700141105611E+00 +782 1 1.7289718361224622E+01 1.8896216812295602E+01 9.8447800141105617E+00 +783 1 1.7017118361224618E+01 1.9665516812295600E+01 8.5442900141105600E+00 +784 2 1.0836718361224618E+01 2.0667916812295598E+01 1.2465050014110563E+01 +785 1 1.1691118361224616E+01 2.0846216812295602E+01 1.2909050014110564E+01 +786 1 1.1023718361224617E+01 2.0026216812295598E+01 1.1730150014110562E+01 +787 2 2.7428583612246094E+00 5.1075968122955873E+00 9.6994600141105618E+00 +788 1 2.3306783612246091E+00 5.8412468122955872E+00 1.0267850014110563E+01 +789 1 3.4207383612246094E+00 4.6728268122955869E+00 1.0347450014110562E+01 +790 2 2.0893618361224622E+01 1.0995916812295594E+01 1.6591750014110566E+01 +791 1 2.0486618361224625E+01 1.0708116812295591E+01 1.7468950014110568E+01 +792 1 2.0950418361224624E+01 1.1981716812295593E+01 1.6662350014110565E+01 +793 2 1.4258318361224619E+01 9.6005868122955906E+00 2.2811000141105549E+00 +794 1 1.5159118361224621E+01 9.2223268122955897E+00 2.6394700141105556E+00 +795 1 1.3717518361224620E+01 9.8489868122955908E+00 3.0755800141105558E+00 +796 2 2.0014218361224625E+01 1.7280016812295599E+01 2.0502000141105547E+00 +797 1 2.0871818361224623E+01 1.7000216812295598E+01 2.4059500141105552E+00 +798 1 1.9335718361224622E+01 1.7285916812295596E+01 2.7446400141105554E+00 +799 2 3.3185983612246095E+00 6.9930268122955885E+00 1.7280050014110564E+01 +800 1 4.0416483612246106E+00 6.2816368122955879E+00 1.7475250014110564E+01 +801 1 3.4355683612246102E+00 7.5264568122955886E+00 1.8075450014110569E+01 +802 2 3.2416883612246097E+00 9.3445081229558347E-01 9.5519700141105606E+00 +803 1 4.1155383612246101E+00 1.3519068122955840E+00 9.2823000141105609E+00 +804 1 2.6383583612246091E+00 1.3109868122955839E+00 8.8572000141105605E+00 +805 2 1.7062018361224624E+01 1.2768716812295594E+01 2.1161550014110571E+01 +806 1 1.6768118361224623E+01 1.2250016812295593E+01 2.0390050014110574E+01 +807 1 1.7986718361224618E+01 1.2515116812295593E+01 2.1229250014110573E+01 +808 2 8.1055383612246139E+00 2.0825616812295603E+01 2.1111250014110571E+01 +809 1 8.7095783612246134E+00 2.0690216812295599E+01 2.0345150014110569E+01 +810 1 8.2010683612246140E+00 1.9998916812295597E+01 2.1634150014110570E+01 +811 2 5.4594583612246117E+00 9.8012368122955920E+00 2.0394200141105552E+00 +812 1 4.5290683612246108E+00 1.0011996812295592E+01 2.1289100141105552E+00 +813 1 5.7622383612246111E+00 1.0308316812295592E+01 1.3018200141105545E+00 +814 2 1.0634018361224618E+01 1.9739416812295598E+01 1.9840950014110572E+01 +815 1 1.1508518361224617E+01 2.0147716812295602E+01 1.9570750014110569E+01 +816 1 1.0410918361224615E+01 1.9014116812295601E+01 1.9205950014110574E+01 +817 2 5.9581483612246116E+00 5.1829968122955874E+00 1.7651250014110570E+01 +818 1 6.5261583612246126E+00 5.2274868122955871E+00 1.6879250014110568E+01 +819 1 6.1311683612246126E+00 4.2705768122955865E+00 1.8003650014110569E+01 +820 2 1.8679218361224624E+01 2.0555816812295600E+01 7.6304600141105592E+00 +821 1 1.9626918361224622E+01 2.0349516812295601E+01 7.9015300141105600E+00 +822 1 1.8765318361224622E+01 2.0778416812295600E+01 6.6803200141105590E+00 +823 2 1.1391818361224615E+01 3.4690981229558299E-01 7.0224500141105599E+00 +824 1 1.2156118361224618E+01 2.3323716812295601E+01 6.9679600141105587E+00 +825 1 1.1109918361224617E+01 2.4475681229558294E-01 7.9797400141105603E+00 +826 2 5.2214183612246110E+00 1.6468716812295597E+01 2.1430250014110573E+01 +827 1 4.2659983612246108E+00 1.6374416812295600E+01 2.1503150014110570E+01 +828 1 5.4061183612246122E+00 1.6980316812295598E+01 2.0611350014110574E+01 +829 2 4.5379483612246103E+00 1.7655416812295599E+01 2.7038000141105556E+00 +830 1 4.6046683612246113E+00 1.7219016812295600E+01 3.5716200141105565E+00 +831 1 3.6864483612246102E+00 1.8199016812295600E+01 2.7877000141105559E+00 +832 2 1.4194518361224619E+01 7.0039368122955876E+00 4.9995500141105564E+00 +833 1 1.4081718361224619E+01 6.9318468122955883E+00 6.0609900141105584E+00 +834 1 1.3818718361224619E+01 6.1472368122955885E+00 4.7269800141105573E+00 +835 2 3.9268336122460729E-01 8.4716068122955903E+00 1.8901850014110568E+01 +836 1 7.9955836122460755E-01 7.6585568122955898E+00 1.8617350014110571E+01 +837 1 2.2171118361224629E+01 8.3282968122955907E+00 1.8651850014110565E+01 +838 2 2.4838936122460717E-01 6.2890368122955884E+00 1.2532750014110563E+01 +839 1 2.2151718361224628E+01 6.7236468122955877E+00 1.2806450014110563E+01 +840 1 4.0596236122460727E-01 5.6141068122955877E+00 1.3214150014110563E+01 +841 2 5.8126883612246116E+00 2.1600616812295605E+01 2.6828700141105557E+00 +842 1 5.9221783612246126E+00 2.0682916812295598E+01 2.5334100141105553E+00 +843 1 5.7186483612246111E+00 2.2077116812295607E+01 1.8412100141105547E+00 +844 2 1.0414118361224617E+01 3.5165468122955859E+00 1.4313850014110566E+01 +845 1 1.0934518361224615E+01 4.3932668122955860E+00 1.4337450014110566E+01 +846 1 1.0698918361224615E+01 3.0229268122955850E+00 1.5084250014110568E+01 +847 2 2.0972718361224626E+01 6.3349768122955883E+00 8.7079400141105605E+00 +848 1 2.1638518361224627E+01 5.6279268122955877E+00 8.4843200141105601E+00 +849 1 2.0270218361224625E+01 5.8386568122955884E+00 9.1862800141105598E+00 +850 2 1.6020218361224622E+01 2.5943768122955850E+00 8.7423300141105607E+00 +851 1 1.6822218361224621E+01 2.8382068122955855E+00 8.2676800141105602E+00 +852 1 1.5245818361224622E+01 3.1831168122955855E+00 8.5670300141105624E+00 +853 2 6.7617983612246135E+00 2.0127216812295604E+01 1.7508650014110565E+01 +854 1 6.3031883612246133E+00 2.1039816812295602E+01 1.7498150014110564E+01 +855 1 6.6545083612246128E+00 1.9685916812295599E+01 1.8362950014110570E+01 +856 2 4.5251983612246116E+00 3.7882568122955860E+00 1.1749150014110564E+01 +857 1 4.4469683612246103E+00 4.4163968122955870E+00 1.2498250014110564E+01 +858 1 3.6901883612246102E+00 3.2009068122955853E+00 1.1796650014110565E+01 +859 2 2.0867218361224630E+01 7.8766668122955901E+00 6.1878300141105589E+00 +860 1 2.1797418361224626E+01 8.0918668122955886E+00 6.0222300141105585E+00 +861 1 2.0945318361224626E+01 7.4042768122955893E+00 7.0022600141105595E+00 +862 2 1.1136618361224617E+01 1.1528916812295591E+01 2.0915050014110573E+01 +863 1 1.0235718361224615E+01 1.1394216812295591E+01 2.0532750014110572E+01 +864 1 1.1765618361224618E+01 1.1157416812295592E+01 2.0298450014110568E+01 +865 2 7.2498883612246132E+00 1.8310716812295595E+01 1.1327950014110563E+01 +866 1 7.7925683612246130E+00 1.8105516812295598E+01 1.2080050014110563E+01 +867 1 7.6908583612246142E+00 1.8937216812295596E+01 1.0751850014110563E+01 +868 2 2.9142836122460719E-01 3.7014568122955862E+00 9.2391100141105600E+00 +869 1 2.2597536122460712E-01 2.8717168122955847E+00 8.6890000141105599E+00 +870 1 1.1700883612246078E+00 4.1064868122955858E+00 8.9782300141105615E+00 +871 2 2.0879183612246086E+00 1.7140468122955841E+00 1.9702900141105548E+00 +872 1 2.5113483612246092E+00 2.5985968122955851E+00 1.8586100141105550E+00 +873 1 2.4379983612246092E+00 1.0297258122955837E+00 1.3778200141105543E+00 +874 2 1.4482918361224620E+01 1.7600516812295599E+01 8.6490700141105616E+00 +875 1 1.4683818361224619E+01 1.6970416812295596E+01 7.9368000141105606E+00 +876 1 1.5304918361224621E+01 1.8067116812295595E+01 8.8419800141105611E+00 +877 2 2.6348883612246090E+00 1.8547616812295594E+01 1.1550250014110564E+01 +878 1 2.9299583612246094E+00 1.8607716812295603E+01 1.0612050014110562E+01 +879 1 3.4380483612246100E+00 1.8771216812295599E+01 1.2079050014110564E+01 +880 2 1.5320318361224619E+01 1.8967416812295600E+01 1.2844450014110565E+01 +881 1 1.6158718361224622E+01 1.8577516812295602E+01 1.3179350014110566E+01 +882 1 1.5572118361224621E+01 1.9693016812295600E+01 1.2248850014110564E+01 +883 2 2.0271918361224625E+01 3.1915068122955854E+00 1.4231950014110566E+01 +884 1 2.0649118361224627E+01 3.1652068122955854E+00 1.3329750014110566E+01 +885 1 2.0867518361224622E+01 3.8349268122955862E+00 1.4562350014110566E+01 +886 2 1.2196618361224617E+01 9.4481112295582800E-02 1.0284850014110562E+01 +887 1 1.1794418361224617E+01 7.9741781229558339E-01 1.0881250014110563E+01 +888 1 1.3049918361224620E+01 3.5661181229558303E-01 9.9193300141105620E+00 +889 2 4.9615883612246110E+00 1.1012516812295594E+01 8.1670700141105605E+00 +890 1 5.0973783612246102E+00 1.1781316812295591E+01 7.5455800141105591E+00 +891 1 5.1053583612246110E+00 1.1503716812295593E+01 9.0357500141105600E+00 +892 2 8.4216883612246143E+00 2.7787568122955855E+00 6.6549600141105589E+00 +893 1 9.3412583612246163E+00 3.1393168122955855E+00 6.4705300141105591E+00 +894 1 7.8937783612246140E+00 3.0404768122955854E+00 5.8494800141105587E+00 +895 2 2.1752918361224626E+01 2.1698716812295601E+01 7.1130301411055397E-01 +896 1 2.2118018361224628E+01 2.2438616812295606E+01 1.1928300141105543E+00 +897 1 2.1470218361224632E+01 2.1155416812295606E+01 1.4231800141105546E+00 +898 2 1.6239083612246086E+00 1.5205616812295595E+01 4.7850800141105569E+00 +899 1 2.6059283612246094E+00 1.5427116812295596E+01 4.8756100141105581E+00 +900 1 1.3540583612246082E+00 1.4957616812295596E+01 5.6927200141105585E+00 +901 2 2.9020883612246098E+00 2.3349916812295604E+01 2.8199801411055347E-01 +902 1 2.7000083612246093E+00 2.2586716812295606E+01 2.1869550014110573E+01 +903 1 3.8302083612246101E+00 2.3494616812295604E+01 2.2047101411055350E-01 +904 2 2.1908618361224622E+01 1.3276616812295593E+01 1.5070550014110568E+01 +905 1 2.1687018361224627E+01 1.4231216812295596E+01 1.5232850014110566E+01 +906 1 2.3290736122460712E-01 1.3430416812295595E+01 1.5234350014110566E+01 +907 2 2.9991036122460718E-01 2.0712916812295600E+01 1.1767850014110564E+01 +908 1 9.2104636122460770E-01 1.9969716812295594E+01 1.1682050014110562E+01 +909 1 8.5675136122460771E-01 2.1528316812295607E+01 1.1606050014110563E+01 +910 2 1.9430418361224621E+01 1.5744016812295596E+01 1.2590050014110563E+01 +911 1 1.9803518361224622E+01 1.6104616812295596E+01 1.3361550014110566E+01 +912 1 2.0117718361224622E+01 1.6001816812295598E+01 1.1951750014110564E+01 +913 2 1.7422018361224627E+01 1.3148868122955839E+00 1.8381250014110570E+01 +914 1 1.7611918361224625E+01 4.0549381229558307E-01 1.8601050014110573E+01 +915 1 1.7649018361224620E+01 1.8855468122955843E+00 1.9214150014110569E+01 +916 2 7.3219683612246129E+00 2.3359916812295602E+01 1.0478850014110563E+01 +917 1 6.7304383612246124E+00 4.9139581229558316E-01 1.0098420014110561E+01 +918 1 7.9852183612246144E+00 2.3135316812295606E+01 9.7958800141105620E+00 +919 2 1.4813283612246082E+00 1.6038116812295598E+01 1.5387150014110567E+01 +920 1 1.7866483612246085E+00 1.6755316812295597E+01 1.5949450014110568E+01 +921 1 1.5762983612246084E+00 1.5189516812295595E+01 1.5884550014110568E+01 +922 2 1.3328218361224620E+01 2.0481916812295598E+01 1.0434150014110562E+01 +923 1 1.2731218361224620E+01 2.1166316812295602E+01 1.0839550014110563E+01 +924 1 1.4196518361224619E+01 2.0779516812295601E+01 1.0846550014110564E+01 +925 2 3.4523583612246100E+00 2.3101116812295601E+01 1.6194450014110565E+01 +926 1 3.3625483612246101E+00 2.3549416812295604E+01 1.5315250014110566E+01 +927 1 2.8549383612246095E+00 2.2313916812295599E+01 1.6089950014110567E+01 +928 2 1.1771918361224618E+01 5.9822168122955883E+00 1.4925950014110567E+01 +929 1 1.2089418361224618E+01 6.2430868122955880E+00 1.4046750014110565E+01 +930 1 1.2451618361224618E+01 5.6287968122955876E+00 1.5519350014110568E+01 +931 2 2.1928918361224625E+01 8.3044881229558354E-01 1.8634200141105548E+00 +932 1 2.1160118361224622E+01 1.1193598122955837E+00 1.3423800141105544E+00 +933 1 2.2660418361224629E+01 1.1505168122955836E+00 1.3417800141105545E+00 +934 2 8.6684783612246150E+00 1.2891816812295593E+01 1.1429750014110562E+01 +935 1 8.3469783612246147E+00 1.2853116812295593E+01 1.2391850014110563E+01 +936 1 9.5748983612246157E+00 1.3288716812295593E+01 1.1538350014110563E+01 +937 2 1.1419418361224615E+01 1.9688216812295604E+01 4.8636701411055366E-01 +938 1 1.1843818361224617E+01 1.8896016812295603E+01 8.9452001411055404E-01 +939 1 1.1374518361224617E+01 1.9542916812295598E+01 2.1760250014110571E+01 +940 2 6.0835536122460743E-01 1.4294516812295596E+01 7.3090800141105596E+00 +941 1 2.2428518361224622E+01 1.4589816812295595E+01 7.6250200141105591E+00 +942 1 1.1659883612246078E+00 1.3973816812295595E+01 8.0434300141105606E+00 +943 2 1.4468483612246084E+00 2.6090181229558296E-01 4.8608900141105575E+00 +944 1 1.9632583612246084E+00 2.2972016812295603E+01 4.8895100141105576E+00 +945 1 1.4630183612246084E+00 6.5719081229558329E-01 3.9632200141105569E+00 +946 2 2.2165818361224630E+01 1.2494016812295593E+01 5.7048900141105578E+00 +947 1 2.1415918361224627E+01 1.2034716812295594E+01 6.0970400141105587E+00 +948 1 2.2572718361224627E+01 1.3010916812295592E+01 6.4368500141105587E+00 +949 2 2.2597183612246088E+00 1.6705116812295600E+01 2.2081850014110572E+01 +950 1 1.5018383612246082E+00 1.6125516812295594E+01 2.1771450014110577E+01 +951 1 1.8151983612246088E+00 1.7561816812295600E+01 5.3735914110553340E-02 +952 2 2.2233118361224623E+01 1.9711416812295599E+01 5.7401500141105579E+00 +953 1 2.1684618361224626E+01 1.9914416812295602E+01 4.9632100141105573E+00 +954 1 4.9607836122460736E-01 1.9939916812295603E+01 5.6048200141105573E+00 +955 2 1.0306618361224615E+01 7.4286868122955889E+00 6.9618600141105595E+00 +956 1 1.0826018361224616E+01 7.2084768122955891E+00 7.7325500141105596E+00 +957 1 9.4512483612246143E+00 6.9988468122955894E+00 7.0915000141105597E+00 +958 2 2.3321283612246093E+00 1.0272816812295591E+01 7.0962601411055382E-01 +959 1 1.6357183612246085E+00 9.7891268122955903E+00 2.6732801411055351E-01 +960 1 2.6030683612246093E+00 1.0971516812295592E+01 1.6145881411055343E-01 +961 2 1.8914418361224620E+01 9.7109968122955923E+00 1.8548150014110568E+01 +962 1 1.9185818361224623E+01 8.7546968122955899E+00 1.8445250014110574E+01 +963 1 1.8295618361224623E+01 9.8362168122955911E+00 1.7799550014110569E+01 +964 2 2.0591618361224622E+01 3.9875968122955863E+00 5.0523600141105574E+00 +965 1 2.0156918361224619E+01 3.5433668122955857E+00 4.2804100141105570E+00 +966 1 2.1495418361224626E+01 3.6523868122955858E+00 5.0718000141105577E+00 +967 2 1.8444118361224621E+01 1.0718816812295591E+01 3.6094800141105563E+00 +968 1 1.7778818361224623E+01 1.1435816812295593E+01 3.3615700141105558E+00 +969 1 1.8888418361224623E+01 1.1052616812295591E+01 4.4177400141105574E+00 +970 2 3.3331683612246099E+00 2.1413516812295605E+01 4.4091100141105581E+00 +971 1 4.0140083612246107E+00 2.1587916812295603E+01 3.7370700141105564E+00 +972 1 2.8152483612246098E+00 2.0647116812295604E+01 4.0949500141105570E+00 +973 2 2.1485418361224628E+01 1.3439616812295593E+01 1.8515050014110574E+01 +974 1 2.1232118361224625E+01 1.4409816812295595E+01 1.8622950014110568E+01 +975 1 2.1260918361224622E+01 1.2943316812295594E+01 1.9423250014110568E+01 +976 2 1.5327218361224622E+01 1.1235016812295594E+01 6.0592500141105585E+00 +977 1 1.5020018361224619E+01 1.1987616812295592E+01 6.6193700141105598E+00 +978 1 1.4456518361224619E+01 1.0828416812295591E+01 5.8021100141105579E+00 +979 2 5.3565983612246111E+00 1.2563016812295594E+01 1.0383550014110563E+01 +980 1 4.9874383612246111E+00 1.2201516812295594E+01 1.1265250014110562E+01 +981 1 4.7115983612246106E+00 1.3306916812295594E+01 1.0272250014110563E+01 +982 2 1.3327818361224619E+01 1.2646816812295594E+01 1.7977550014110570E+01 +983 1 1.2756818361224619E+01 1.2533216812295594E+01 1.7175350014110570E+01 +984 1 1.3294018361224618E+01 1.3648916812295596E+01 1.8078250014110566E+01 +985 2 1.5733518361224622E+01 2.1126216812295603E+01 1.1279650014110564E+01 +986 1 1.6342018361224618E+01 2.1831616812295604E+01 1.1643150014110564E+01 +987 1 1.6056418361224623E+01 2.0797916812295600E+01 1.0400750014110562E+01 +988 2 2.1141518361224623E+01 8.9665468122955918E+00 1.0216150014110562E+01 +989 1 2.2048618361224623E+01 9.3445468122955901E+00 1.0211250014110561E+01 +990 1 2.1131918361224624E+01 7.9982568122955895E+00 1.0070990014110562E+01 +991 2 1.6952918361224619E+01 4.4809168122955869E+00 1.3603400141105544E+00 +992 1 1.5977218361224621E+01 4.3960468122955865E+00 1.5795100141105547E+00 +993 1 1.7075618361224620E+01 5.3891468122955875E+00 9.8821101411055423E-01 +994 2 2.8147983612246090E+00 1.8335016812295603E+01 1.6687450014110567E+01 +995 1 3.7292383612246098E+00 1.8106316812295599E+01 1.6439150014110567E+01 +996 1 2.7120783612246098E+00 1.8060816812295599E+01 1.7634450014110573E+01 +997 2 1.3160118361224619E+01 2.1854116812295597E+01 1.6869250014110570E+01 +998 1 1.2921818361224620E+01 2.1262016812295606E+01 1.7604050014110570E+01 +999 1 1.2290218361224618E+01 2.2004216812295599E+01 1.6409850014110567E+01 +1000 2 1.6654118361224619E+01 3.4356068122955858E+00 5.3268000141105585E+00 +1001 1 1.6763518361224619E+01 4.2442668122955860E+00 5.8470000141105576E+00 +1002 1 1.7299318361224621E+01 3.4167768122955859E+00 4.6252900141105568E+00 +1003 2 1.5613183612246082E+00 1.2986316812295593E+01 2.9923100141105561E+00 +1004 1 2.1672183612246085E+00 1.3322516812295593E+01 2.3411500141105552E+00 +1005 1 1.5863483612246085E+00 1.3709516812295595E+01 3.6513500141105570E+00 +1006 2 6.4849083612246119E+00 2.5271168122955849E+00 1.8568450014110571E+01 +1007 1 7.2879383612246134E+00 2.2592968122955850E+00 1.8045950014110566E+01 +1008 1 5.7505583612246109E+00 1.9684868122955843E+00 1.8264250014110566E+01 +1009 2 9.5758483612246152E+00 4.7315968122955869E+00 2.9483000141105560E+00 +1010 1 9.8447783612246162E+00 5.4277568122955868E+00 3.6224300141105563E+00 +1011 1 9.3913583612246132E+00 5.2471068122955877E+00 2.0968400141105548E+00 +1012 2 1.7459518361224628E+01 1.7394616812295595E+01 1.4136050014110564E+01 +1013 1 1.6997518361224621E+01 1.7001616812295595E+01 1.4929850014110565E+01 +1014 1 1.8159518361224624E+01 1.7939816812295597E+01 1.4466550014110565E+01 +1015 2 1.6523918361224624E+01 8.6581968122955892E+00 3.4612500141105564E+00 +1016 1 1.7039518361224623E+01 9.3233368122955920E+00 3.9480000141105562E+00 +1017 1 1.6204518361224622E+01 8.0607768122955896E+00 4.1706000141105566E+00 +1018 2 1.4959218361224620E+01 1.7963316812295599E+01 1.8420150014110572E+01 +1019 1 1.5072318361224621E+01 1.7841916812295597E+01 1.7480050014110571E+01 +1020 1 1.5863718361224620E+01 1.8256416812295598E+01 1.8736850014110569E+01 +1021 2 5.9458283612246126E+00 1.7655468122955842E+00 8.9552400141105615E+00 +1022 1 5.9930583612246124E+00 1.3992668122955838E+00 8.0434000141105599E+00 +1023 1 6.3955783612246124E+00 2.6705268122955848E+00 8.9781900141105631E+00 +1024 2 7.9905683612246134E+00 6.3206668122955882E+00 5.7878000141105588E+00 +1025 1 7.0232783612246132E+00 6.5650168122955890E+00 5.6352000141105574E+00 +1026 1 8.2871683612246141E+00 6.2234468122955882E+00 4.8348300141105574E+00 +1027 2 2.2485118361224625E+01 4.6162468122955866E+00 1.4926050014110565E+01 +1028 1 3.6750636122460728E-01 4.0303968122955869E+00 1.5442850014110565E+01 +1029 1 2.2359918361224626E+01 5.3321768122955868E+00 1.5558650014110567E+01 +1030 2 1.6688383612246085E+00 1.4309368122955839E+00 2.0618750014110571E+01 +1031 1 2.2194783612246085E+00 1.2521468122955839E+00 1.9815950014110573E+01 +1032 1 2.0103483612246089E+00 9.2743081229558355E-01 2.1390350014110570E+01 +1033 2 1.0209818361224615E+01 1.7122116812295598E+01 3.8888100141105570E+00 +1034 1 9.3379483612246137E+00 1.7204816812295597E+01 3.4425700141105562E+00 +1035 1 1.0487818361224615E+01 1.6168916812295599E+01 4.0591700141105562E+00 +1036 2 1.7009718361224621E+01 1.1077816812295593E+01 1.3982750014110566E+01 +1037 1 1.7416618361224621E+01 1.1915716812295594E+01 1.4114250014110565E+01 +1038 1 1.6152518361224622E+01 1.1296216812295594E+01 1.3498650014110565E+01 +1039 2 1.5292118361224619E+01 2.2286916812295601E+01 2.0549250014110573E+01 +1040 1 1.5719918361224620E+01 2.1812016812295600E+01 2.1274150014110575E+01 +1041 1 1.5371618361224622E+01 2.3218716812295604E+01 2.0712450014110569E+01 +1042 2 7.0554283612246129E+00 1.6077516812295599E+01 1.7628950014110565E+01 +1043 1 6.9981783612246131E+00 1.6403416812295596E+01 1.6704450014110570E+01 +1044 1 7.7722083612246129E+00 1.5403516812295596E+01 1.7707550014110570E+01 +1045 2 9.1948983612246149E+00 1.0623516812295591E+01 9.8707000141105627E+00 +1046 1 8.5664583612246137E+00 1.0414716812295591E+01 9.1563400141105618E+00 +1047 1 8.9125783612246146E+00 1.1463416812295593E+01 1.0255350014110562E+01 +1048 2 3.4275083612246098E+00 1.4718216812295594E+01 1.7487000141105546E+00 +1049 1 2.7882983612246091E+00 1.5297516812295596E+01 1.3626300141105543E+00 +1050 1 3.7876783612246099E+00 1.5291116812295597E+01 2.4465400141105555E+00 +1051 2 1.3184418361224617E+01 1.6254416812295595E+01 1.6217400141105547E+00 +1052 1 1.2358318361224617E+01 1.5655016812295598E+01 1.4601300141105547E+00 +1053 1 1.3636118361224620E+01 1.6118716812295595E+01 7.4275201411055392E-01 +1054 2 2.1478318361224627E+01 9.3499668122955910E+00 1.3041450014110564E+01 +1055 1 2.0571518361224623E+01 9.4989368122955913E+00 1.3473650014110564E+01 +1056 1 2.1367718361224625E+01 9.0415068122955891E+00 1.2126950014110564E+01 +1057 2 1.3240818361224617E+01 2.1513516812295602E+01 7.6613400141105599E+00 +1058 1 1.3173218361224619E+01 2.0794016812295602E+01 8.3871300141105607E+00 +1059 1 1.2721018361224617E+01 2.1148516812295600E+01 6.8687800141105599E+00 +1060 2 1.0706218361224616E+01 9.0730668122955915E+00 1.2194050014110564E+01 +1061 1 1.0209918361224616E+01 9.5840168122955909E+00 1.1511850014110562E+01 +1062 1 1.0127718361224616E+01 8.2990868122955899E+00 1.2386250014110566E+01 +1063 2 9.8246936122460771E-01 9.5211468122955907E+00 1.0116250014110562E+01 +1064 1 1.2453883612246077E+00 1.0440616812295591E+01 1.0422250014110562E+01 +1065 1 1.6324283612246082E+00 8.8711068122955901E+00 1.0428050014110564E+01 +1066 2 2.1805418361224621E+01 1.8063116812295597E+01 1.9102050014110567E+01 +1067 1 2.1618318361224627E+01 1.8993216812295604E+01 1.8788850014110569E+01 +1068 1 8.4032061224607005E-02 1.8152616812295598E+01 1.9376750014110570E+01 +1069 2 4.9490783612246112E+00 4.5899568122955863E+00 4.0229100141105567E+00 +1070 1 4.9939883612246110E+00 5.4655868122955873E+00 4.4890400141105573E+00 +1071 1 4.2701383612246104E+00 4.0452668122955862E+00 4.5228100141105569E+00 +1072 2 1.8242218361224626E+01 2.9008968122955854E+00 1.5903950014110567E+01 +1073 1 1.8887118361224626E+01 2.5084568122955848E+00 1.5204150014110565E+01 +1074 1 1.8162418361224624E+01 2.1789868122955851E+00 1.6617050014110568E+01 +1075 2 3.9899383612246102E+00 1.9364416812295598E+01 1.3871050014110565E+01 +1076 1 4.3833283612246108E+00 2.0252516812295600E+01 1.3695350014110566E+01 +1077 1 3.1540783612246095E+00 1.9562116812295599E+01 1.4347050014110566E+01 +1078 2 7.0537683612246127E+00 1.4620616812295594E+01 6.4024900141105583E+00 +1079 1 7.6585583612246131E+00 1.3942216812295593E+01 6.0279100141105584E+00 +1080 1 6.2108683612246125E+00 1.4238816812295596E+01 6.6619400141105594E+00 diff --git a/examples/USER/nnp/in.nnp b/examples/USER/nnp/in.nnp new file mode 100644 index 0000000000..d4664d1c83 --- /dev/null +++ b/examples/USER/nnp/in.nnp @@ -0,0 +1,47 @@ +############################################################################### +# MD simulation for NN water +############################################################################### + +############################################################################### +# VARIABLES +############################################################################### +clear +# Configuration files +variable cfgFile string "data.H2O-360mol" +# Timesteps +variable numSteps equal 10 +variable dt equal 0.0005 +# NN +variable nnpCutoff equal 6.36 +variable nnpDir string "nnp-data" + +############################################################################### +# GENERAL SETUP +############################################################################### +units metal +boundary p p p +atom_style atomic +read_data ${cfgFile} +timestep ${dt} +thermo 1 + +############################################################################### +# NN +############################################################################### +pair_style nnp dir ${nnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" +pair_coeff * * ${nnpCutoff} + +############################################################################### +# INTEGRATOR +############################################################################### +fix INT all nve + +############################################################################### +# OUTPUT +############################################################################### +dump 1 all atom 1 dump.nnp + +############################################################################### +# SIMULATION +############################################################################### +run ${numSteps} diff --git a/examples/USER/nnp/nnp-data/input.nn b/examples/USER/nnp/nnp-data/input.nn new file mode 100644 index 0000000000..885ec0ec70 --- /dev/null +++ b/examples/USER/nnp/nnp-data/input.nn @@ -0,0 +1,120 @@ +############################################################################### +# HDNNP for water H2O +############################################################################### +# Length unit : Bohr +# Energy unit : Ha +# Reference method: RPBE-D3 +############################################################################### + +############################################################################### +# DATA SET NORMALIZATION +############################################################################### +# This section was automatically added by nnp-norm. +mean_energy -2.5521343547039809E+01 +conv_energy 2.4265748255366972E+02 +conv_length 5.8038448995319847E+00 +############################################################################### + +############################################################################### +# GENERAL NNP SETTINGS +############################################################################### +# These keywords are (almost) always required. +number_of_elements 2 # Number of elements. +elements H O # Specification of elements. +#atom_energy H -0.45890771 # Free atom reference energy (H). +#atom_energy O -74.94518524 # Free atom reference energy (O). +cutoff_type 2 # Cutoff type. +scale_symmetry_functions # Scale all symmetry functions with min/max values. +#scale_symmetry_functions_sigma # Scale all symmetry functions with sigma. +scale_min_short 0.0 # Minimum value for scaling. +scale_max_short 1.0 # Maximum value for scaling. +center_symmetry_functions # Center all symmetry functions, i.e. subtract mean value. +global_hidden_layers_short 2 # Number of hidden layers. +global_nodes_short 25 25 # Number of nodes in each hidden layer. +global_activation_short t t l # Activation function for each hidden layer and output layer. +#normalize_nodes # Normalize input of nodes. + +############################################################################### +# SYMMETRY FUNCTIONS +############################################################################### + +# Radial symmetry function (type 2): +#symfunction_short 2 + +# Narrow Angular symmetry function (type 3): +#symfunction_short 3 + +# Wide Angular symmetry function (type 9): +#symfunction_short 9 + +# radial H H +symfunction_short H 2 H 0.001 0.0 12.00 +symfunction_short H 2 H 0.01 0.0 12.00 +symfunction_short H 2 H 0.03 0.0 12.00 +symfunction_short H 2 H 0.06 0.0 12.00 +symfunction_short H 2 H 0.15 1.9 12.00 +symfunction_short H 2 H 0.30 1.9 12.00 +symfunction_short H 2 H 0.60 1.9 12.00 +symfunction_short H 2 H 1.50 1.9 12.00 + +# radial H O / O H +symfunction_short H 2 O 0.001 0.0 12.00 +symfunction_short H 2 O 0.01 0.0 12.00 +symfunction_short H 2 O 0.03 0.0 12.00 +symfunction_short H 2 O 0.06 0.0 12.00 +symfunction_short H 2 O 0.15 0.9 12.00 +symfunction_short H 2 O 0.30 0.9 12.00 +symfunction_short H 2 O 0.60 0.9 12.00 +symfunction_short H 2 O 1.50 0.9 12.00 + +symfunction_short O 2 H 0.001 0.0 12.00 +symfunction_short O 2 H 0.01 0.0 12.00 +symfunction_short O 2 H 0.03 0.0 12.00 +symfunction_short O 2 H 0.06 0.0 12.00 +symfunction_short O 2 H 0.15 0.9 12.00 +symfunction_short O 2 H 0.30 0.9 12.00 +symfunction_short O 2 H 0.60 0.9 12.00 +symfunction_short O 2 H 1.50 0.9 12.00 + +# radial O O +symfunction_short O 2 O 0.001 0.0 12.00 +symfunction_short O 2 O 0.01 0.0 12.00 +symfunction_short O 2 O 0.03 0.0 12.00 +symfunction_short O 2 O 0.06 0.0 12.00 +symfunction_short O 2 O 0.15 4.0 12.00 +symfunction_short O 2 O 0.30 4.0 12.00 +symfunction_short O 2 O 0.60 4.0 12.00 +symfunction_short O 2 O 1.50 4.0 12.00 + +# angular +symfunction_short H 3 O H 0.2 1.0 1.0 12.00000 + +symfunction_short O 3 H H 0.07 1.0 1.0 12.00000 +symfunction_short H 3 O H 0.07 1.0 1.0 12.00000 +symfunction_short O 3 H H 0.07 -1.0 1.0 12.00000 +symfunction_short H 3 O H 0.07 -1.0 1.0 12.00000 + +symfunction_short O 3 H H 0.03 1.0 1.0 12.00000 +symfunction_short H 3 O H 0.03 1.0 1.0 12.00000 +symfunction_short O 3 H H 0.03 -1.0 1.0 12.00000 +symfunction_short H 3 O H 0.03 -1.0 1.0 12.00000 + +symfunction_short O 3 H H 0.01 1.0 4.0 12.00000 +symfunction_short H 3 O H 0.01 1.0 4.0 12.00000 +symfunction_short O 3 H H 0.01 -1.0 4.0 12.00000 +symfunction_short H 3 O H 0.01 -1.0 4.0 12.00000 + +symfunction_short O 3 O H 0.03 1.0 1.0 12.00000 +symfunction_short O 3 O H 0.03 -1.0 1.0 12.00000 +symfunction_short O 3 O H 0.001 1.0 4.0 12.00000 +symfunction_short O 3 O H 0.001 -1.0 4.0 12.00000 + +symfunction_short H 3 O O 0.03 1.0 1.0 12.00000 +symfunction_short H 3 O O 0.03 -1.0 1.0 12.00000 +symfunction_short H 3 O O 0.001 1.0 4.0 12.00000 +symfunction_short H 3 O O 0.001 -1.0 4.0 12.00000 + +symfunction_short O 3 O O 0.03 1.0 1.0 12.00000 +symfunction_short O 3 O O 0.03 -1.0 1.0 12.00000 +symfunction_short O 3 O O 0.001 1.0 4.0 12.00000 +symfunction_short O 3 O O 0.001 -1.0 4.0 12.00000 diff --git a/examples/USER/nnp/nnp-data/scaling.data b/examples/USER/nnp/nnp-data/scaling.data new file mode 100644 index 0000000000..2a9e0ad7a6 --- /dev/null +++ b/examples/USER/nnp/nnp-data/scaling.data @@ -0,0 +1,72 @@ +################################################################################ +# Symmetry function scaling data. +################################################################################ +# Col Name Description +################################################################################ +# 1 e_index Element index. +# 2 sf_index Symmetry function index. +# 3 sf_min Symmetry function minimum. +# 4 sf_max Symmetry function maximum. +# 5 sf_mean Symmetry function mean. +# 6 sf_sigma Symmetry function sigma. +######################################################################################################################### +# 1 2 3 4 5 6 +# e_index sf_index sf_min sf_max sf_mean sf_sigma +######################################################################################################################### + 1 1 1.0882016636170764E+00 9.6166419119419064E+00 2.2691752247542194E+00 6.7883526611658462E-01 + 1 2 7.3274438904180561E-01 5.0028559321574191E+00 1.3272332317543580E+00 3.3936750181780473E-01 + 1 3 7.6010783783215696E-01 7.1427942966219815E+00 1.6470726712825305E+00 5.0771115927383836E-01 + 1 4 5.4842285884800812E-01 3.7661771168267726E+00 1.0163698211361718E+00 2.5362958053787776E-01 + 1 5 4.0080665126604625E-01 4.1469832401668629E+00 9.0925040981537897E-01 2.9758019277508319E-01 + 1 6 3.6209352253798227E-01 2.2678239402766054E+00 6.4931154122889623E-01 1.4835420345383032E-01 + 1 7 1.8919103878435897E-01 2.2292652677252804E+00 4.5693857051003817E-01 1.5976079618578123E-01 + 1 8 2.6704178695764313E-01 1.3208742362468955E+00 4.2395636902644862E-01 8.0492394978461931E-02 + 1 9 2.4513099752055156E-01 9.4751160662053002E-01 3.6244199023263673E-01 5.2993540556109331E-02 + 1 10 2.2248910067848982E-01 2.7596216013647377E+00 5.3891576898130766E-01 2.0137334230483950E-01 + 1 11 1.4743601726548086E-01 5.5599270746969276E-01 2.6773972195910817E-01 2.6188094566404998E-02 + 1 12 9.9110926426029380E-02 1.7265405335201480E+00 2.9553976311554875E-01 1.1619768775752932E-01 + 1 13 6.5093699123904267E-02 3.4521757733971170E-01 1.8521249136783141E-01 1.9741155185936318E-02 + 1 14 3.1653527247865069E-02 9.1293170125596168E-01 1.5025164684953513E-01 5.3480187368038674E-02 + 1 15 2.9202821602466694E-03 2.6453981776124141E-01 7.6525296616004684E-02 1.8780956137549487E-02 + 1 16 3.2145385719803329E-04 2.8696425565429240E-01 4.5792284631233672E-02 2.3263495133568998E-02 + 1 17 2.4693757528509622E-04 1.3848731138266304E-01 1.7693289653297604E-02 9.7460303038080908E-03 + 1 18 5.0992836797990751E-03 5.8319173651547385E-01 2.3851656540978389E-02 3.7790771891778152E-02 + 1 19 3.2282960174310170E-04 2.1613962298381925E-01 1.7072560754702336E-02 1.4026518665786077E-02 + 1 20 4.9647513277769700E-02 1.6851617426880194E+00 1.4541325969622534E-01 1.0954306125703028E-01 + 1 21 3.4073471604482227E-03 3.1637071808861689E-01 1.8422597685566724E-02 2.0125274191649719E-02 + 1 22 1.3121382132811807E-04 1.0258348935693713E-01 6.3684016949344113E-03 6.6071626858835051E-03 + 1 23 3.3813162813665906E-02 9.1618560879938926E-01 8.1266384503339575E-02 5.7918502576695730E-02 + 1 24 4.1708500446352870E-04 1.5785966980407021E-01 4.6646981268568697E-03 9.8630700614506465E-03 + 1 25 7.3528900917695290E-04 5.9225627251013026E-02 3.7042174075139758E-03 3.3118079036492621E-03 + 1 26 8.9828333062972592E-03 1.9426085555380754E-01 2.4093377110646338E-02 1.0980657457661532E-02 + 1 27 2.1228022180417653E-04 8.7777813240869640E-03 2.0550705761547970E-03 5.8802103858137246E-04 + 2 1 1.5142595331454245E+00 1.0005711988559998E+01 2.6544664635087183E+00 6.7806617585688911E-01 + 2 2 4.4366445360926199E-01 4.6195409357987076E+00 9.6587051599896101E-01 3.3688559575009042E-01 + 2 3 1.1907810568758714E+00 7.5323544094345003E+00 2.0327396422723472E+00 5.0607867531004169E-01 + 2 4 2.7576036468694687E-01 3.3862131032504492E+00 6.5929732667024776E-01 2.5004687333979903E-01 + 2 5 8.0580777590695674E-01 4.5356481255168557E+00 1.2986230824577940E+00 2.9449908325462404E-01 + 2 6 1.0517053799863604E-01 1.8909877539194515E+00 3.0673921331641835E-01 1.4198497108573313E-01 + 2 7 5.6949141690859706E-01 2.6154328621607852E+00 8.4791273805289546E-01 1.5714071578589769E-01 + 2 8 2.3251646720171416E-02 9.3641034200657891E-01 1.1140979781150941E-01 6.9796654369842781E-02 + 2 9 5.1354161698115419E-01 1.8545341781448565E+00 7.2488398046527269E-01 9.8011511620611044E-02 + 2 10 1.1057465545812291E-01 2.9121456897811342E+00 4.7474421797982730E-01 2.3441807910092233E-01 + 2 11 3.5269317308496489E-01 1.0714592032613128E+00 5.3547944391821678E-01 4.5179661104166338E-02 + 2 12 3.0424313539726355E-02 2.5277642768509305E+00 3.1652845366685045E-01 2.1026891409654727E-01 + 2 13 1.5980022688828247E-01 6.6348817066386512E-01 3.7042498273566293E-01 3.0753700953611234E-02 + 2 14 2.7781847150922931E-03 2.3030057819082539E+00 1.7737800292869690E-01 1.8600239464755819E-01 + 2 15 9.5641036809349829E-03 3.9085233064570807E-01 1.5305059323200970E-01 2.7862233984302390E-02 + 2 16 3.7500170432292374E-06 2.0367068825281995E+00 5.4144316535640342E-02 1.4305857218443538E-01 + 2 17 2.4726232100491033E-03 3.4335400617385042E-01 1.6684597803376652E-02 2.1902951351570905E-02 + 2 18 1.7405672406959600E-05 5.6319316766205302E-02 9.5478184601751693E-04 3.3588039002222358E-03 + 2 19 5.4785372164647961E-02 3.0182597583971442E+00 2.0392031625072374E-01 2.0088721011517138E-01 + 2 20 1.3795234987637416E-03 4.9878800454061323E-01 1.2788265359933434E-02 3.1829452602194934E-02 + 2 21 6.6852772684814245E-03 2.6739582842775905E-01 3.0851859894574358E-02 1.7089886758420030E-02 + 2 22 1.7021399438214336E-02 1.4167796508898451E+00 7.6274174813506748E-02 9.2852504206357669E-02 + 2 23 1.9759831791959857E-02 4.0756378297923890E-01 4.8843503112397949E-02 2.5474332458885439E-02 + 2 24 5.2768632746659245E-04 2.3324050667069166E-01 7.2057238727819412E-03 1.4495435261027742E-02 + 2 25 1.1144879740881719E-05 3.5285772934088612E-02 4.2545240948261025E-04 2.0471375111485984E-03 + 2 26 1.6013752685265073E-02 8.2245409953473059E-01 5.0845479076508403E-02 5.2802834522172923E-02 + 2 27 3.9898424495541764E-03 7.8557031440100300E-01 3.6926675414383096E-02 5.0474458307624794E-02 + 2 28 4.0523818189746699E-05 9.8448068666705968E-02 1.2119235889230262E-03 5.7945700128174639E-03 + 2 29 6.0374649986214514E-03 9.9251766407842473E-02 1.6156539248049700E-02 5.5245068674135743E-03 + 2 30 2.9595491075765732E-03 1.5478537567691833E-01 1.1641055270110553E-02 8.9415193910804703E-03 diff --git a/examples/USER/nnp/nnp-data/weights.001.data b/examples/USER/nnp/nnp-data/weights.001.data new file mode 100644 index 0000000000..deb5012acb --- /dev/null +++ b/examples/USER/nnp/nnp-data/weights.001.data @@ -0,0 +1,1392 @@ +################################################################################ +# Neural network connection values (weights and biases). +################################################################################ +# Col Name Description +################################################################################ +# 1 connection Neural network connection value. +# 2 t Connection type (a = weight, b = bias). +# 3 index Index enumerating weights. +# 4 l_s Starting point layer (end point layer for biases). +# 5 n_s Starting point neuron in starting layer (end point neuron for biases). +# 6 l_e End point layer. +# 7 n_e End point neuron in end layer. +################################################################################ +# 1 2 3 4 5 6 7 +# connection t index l_s n_s l_e n_e +############################################################ + 1.2539155865352127E+00 a 1 0 1 1 1 + 2.2490365890661286E+00 a 2 0 1 1 2 + 4.9361851928374572E+00 a 3 0 1 1 3 + -2.3971991574908125E+00 a 4 0 1 1 4 + -1.8596992303156465E+00 a 5 0 1 1 5 + 3.8287764168815897E+00 a 6 0 1 1 6 + 7.4523181738636106E+00 a 7 0 1 1 7 + 6.0971861116881998E+00 a 8 0 1 1 8 + -8.7239359226117639E+00 a 9 0 1 1 9 + -1.8255232070184267E+01 a 10 0 1 1 10 + -7.8065643887610179E+00 a 11 0 1 1 11 + 1.4247237398130265E+01 a 12 0 1 1 12 + -3.2217879518334338E+00 a 13 0 1 1 13 + -5.7395252086520712E+00 a 14 0 1 1 14 + 2.0353040522911576E+00 a 15 0 1 1 15 + 7.7520578160630560E+00 a 16 0 1 1 16 + 2.9357257867412252E+00 a 17 0 1 1 17 + -2.9719860930100790E+00 a 18 0 1 1 18 + 8.9245382590288980E+00 a 19 0 1 1 19 + 6.6848134049442169E+00 a 20 0 1 1 20 + -2.2992719903495891E+00 a 21 0 1 1 21 + -1.4401533482181721E+01 a 22 0 1 1 22 + -2.0574070545285186E+00 a 23 0 1 1 23 + -6.3544667277888678E+00 a 24 0 1 1 24 + 3.9668360525851707E+00 a 25 0 1 1 25 + 1.0930597297534963E+01 a 26 0 2 1 1 + 3.0058866618169424E+00 a 27 0 2 1 2 + -4.9950943102999927E+00 a 28 0 2 1 3 + -1.9930957240687266E+00 a 29 0 2 1 4 + 1.6790893133342006E+00 a 30 0 2 1 5 + -4.5254006136507128E+00 a 31 0 2 1 6 + -9.6165021729265252E+00 a 32 0 2 1 7 + -8.7465722730176285E+00 a 33 0 2 1 8 + 1.5506950040431201E+01 a 34 0 2 1 9 + 2.1903342918227118E+01 a 35 0 2 1 10 + -1.0685216745153280E+01 a 36 0 2 1 11 + -2.5859690636594280E+01 a 37 0 2 1 12 + -3.2423603491405122E+00 a 38 0 2 1 13 + 5.3753900550878555E+00 a 39 0 2 1 14 + -3.0291935617567991E+00 a 40 0 2 1 15 + -1.3534893178408465E+01 a 41 0 2 1 16 + -5.7625138055631471E+00 a 42 0 2 1 17 + 1.0216765318459601E+01 a 43 0 2 1 18 + -1.4416012930050949E+01 a 44 0 2 1 19 + -4.7226757471872144E-01 a 45 0 2 1 20 + 7.8981385188798026E+00 a 46 0 2 1 21 + 1.2202710023744410E+00 a 47 0 2 1 22 + 8.0560891210932120E+00 a 48 0 2 1 23 + 4.5972445013263297E-01 a 49 0 2 1 24 + 1.3374237019728858E+01 a 50 0 2 1 25 + -1.0644910441621166E+01 a 51 0 3 1 1 + -5.6098794516515920E+00 a 52 0 3 1 2 + -1.0236653403367724E+01 a 53 0 3 1 3 + 1.3552139405799508E+00 a 54 0 3 1 4 + 1.3201025058567883E+00 a 55 0 3 1 5 + 1.6531266759009673E+00 a 56 0 3 1 6 + -1.0303768926395865E+01 a 57 0 3 1 7 + 1.9927521303470008E-01 a 58 0 3 1 8 + 8.1216226663758366E+00 a 59 0 3 1 9 + 2.1349555016157687E+01 a 60 0 3 1 10 + 1.0105416692705148E+01 a 61 0 3 1 11 + -1.1444993918278378E+01 a 62 0 3 1 12 + 2.9861675555209538E-01 a 63 0 3 1 13 + 9.3552992513120543E+00 a 64 0 3 1 14 + -2.2844869025933630E+00 a 65 0 3 1 15 + -3.8047300595857316E+00 a 66 0 3 1 16 + -3.0512161452147448E+00 a 67 0 3 1 17 + 2.7887340590896472E+00 a 68 0 3 1 18 + -1.5988439945122812E+01 a 69 0 3 1 19 + -1.6917164763280326E+01 a 70 0 3 1 20 + 3.2170907488709326E+00 a 71 0 3 1 21 + 2.1641888770160929E+01 a 72 0 3 1 22 + 3.2604671723420497E+00 a 73 0 3 1 23 + 1.5230689068493776E+01 a 74 0 3 1 24 + -1.4713830039823366E+01 a 75 0 3 1 25 + -2.3544214523969775E+00 a 76 0 4 1 1 + -5.8299691629399382E+00 a 77 0 4 1 2 + 1.7168784391956539E+01 a 78 0 4 1 3 + 1.0050003860864617E+01 a 79 0 4 1 4 + 3.5168903759752812E+00 a 80 0 4 1 5 + -4.4828111046589010E+00 a 81 0 4 1 6 + 1.8299193380051442E+01 a 82 0 4 1 7 + 6.9717289110204188E+00 a 83 0 4 1 8 + -2.0364082994445859E+01 a 84 0 4 1 9 + -3.5062338388300589E+01 a 85 0 4 1 10 + 1.8010375764887119E+01 a 86 0 4 1 11 + 4.2133659287179640E+01 a 87 0 4 1 12 + 1.1988736553417061E+01 a 88 0 4 1 13 + -1.2351529706885179E+01 a 89 0 4 1 14 + 5.4139212296285057E+00 a 90 0 4 1 15 + 1.6705967069968899E+01 a 91 0 4 1 16 + 8.3219076874511639E+00 a 92 0 4 1 17 + -1.8555777504879448E+01 a 93 0 4 1 18 + 3.1433889377775369E+01 a 94 0 4 1 19 + 6.7043459658252780E-01 a 95 0 4 1 20 + -1.3837570456349678E+01 a 96 0 4 1 21 + 5.0298368971353791E-01 a 97 0 4 1 22 + -2.2656240789613065E+01 a 98 0 4 1 23 + -2.4243684644962626E+00 a 99 0 4 1 24 + -2.8280330035212309E+01 a 100 0 4 1 25 + 4.2306100814115322E+00 a 101 0 5 1 1 + 9.9770374716830084E+00 a 102 0 5 1 2 + 2.0487048112933808E+00 a 103 0 5 1 3 + -1.3702212470739978E+00 a 104 0 5 1 4 + 2.8131124422603837E+00 a 105 0 5 1 5 + 3.2845640151619522E-03 a 106 0 5 1 6 + 2.4065616021196026E+00 a 107 0 5 1 7 + -1.0461000723401572E+01 a 108 0 5 1 8 + -1.0180720750329515E+01 a 109 0 5 1 9 + -8.8668996772076660E+00 a 110 0 5 1 10 + 6.5256092481271502E+00 a 111 0 5 1 11 + -6.9831054240027211E+00 a 112 0 5 1 12 + 4.0892074148312876E+00 a 113 0 5 1 13 + -5.1951354450201128E+00 a 114 0 5 1 14 + 1.6657989141753051E+00 a 115 0 5 1 15 + -7.3542511663155619E+00 a 116 0 5 1 16 + 5.1573102842565115E+00 a 117 0 5 1 17 + 3.4929930175122172E+00 a 118 0 5 1 18 + 2.5382184218789963E+00 a 119 0 5 1 19 + 2.0045179007481050E+01 a 120 0 5 1 20 + -1.6165269676512768E+00 a 121 0 5 1 21 + 2.4869117790922393E+00 a 122 0 5 1 22 + 6.0131560843540068E+00 a 123 0 5 1 23 + -1.2231651850388728E+01 a 124 0 5 1 24 + 3.5372450187997345E+01 a 125 0 5 1 25 + -1.0433252604911765E+01 a 126 0 6 1 1 + -2.3715834640656657E+00 a 127 0 6 1 2 + -1.8239608965373137E+01 a 128 0 6 1 3 + -3.6510816169583777E+00 a 129 0 6 1 4 + -1.7632327653119535E+01 a 130 0 6 1 5 + 1.0040509177650593E+01 a 131 0 6 1 6 + -1.5407385349225459E+01 a 132 0 6 1 7 + -7.0553605774310779E-01 a 133 0 6 1 8 + 1.3204892207903583E+01 a 134 0 6 1 9 + 2.9596389655595953E+01 a 135 0 6 1 10 + -2.0620173259628203E+01 a 136 0 6 1 11 + -3.0803380363815094E+01 a 137 0 6 1 12 + -1.4917676387082279E+01 a 138 0 6 1 13 + 9.6935054799166185E+00 a 139 0 6 1 14 + 4.6937319413252743E+00 a 140 0 6 1 15 + -5.0263591258131060E+00 a 141 0 6 1 16 + -9.7243575590712439E+00 a 142 0 6 1 17 + 1.5625340951727363E+01 a 143 0 6 1 18 + -2.8266776356585389E+01 a 144 0 6 1 19 + 2.5386057418612946E+00 a 145 0 6 1 20 + 1.6302330128073283E+01 a 146 0 6 1 21 + -8.5166226512297030E+00 a 147 0 6 1 22 + 2.5040570504752605E+01 a 148 0 6 1 23 + -8.5008658358878897E-01 a 149 0 6 1 24 + 2.0458930574550632E+01 a 150 0 6 1 25 + 7.8529627796707677E+00 a 151 0 7 1 1 + -4.5279242985866821E+00 a 152 0 7 1 2 + 4.7942839133231594E+00 a 153 0 7 1 3 + -6.2431002330064649E+00 a 154 0 7 1 4 + 4.3358077462982054E+00 a 155 0 7 1 5 + -6.8037589596444281E+00 a 156 0 7 1 6 + 1.8980667946224101E+00 a 157 0 7 1 7 + 1.9802532239433695E+01 a 158 0 7 1 8 + 8.4826746941006572E+00 a 159 0 7 1 9 + 4.3614399548619884E+00 a 160 0 7 1 10 + -1.6073795583709572E+01 a 161 0 7 1 11 + 1.6345358363876109E+01 a 162 0 7 1 12 + -8.4662611499242502E+00 a 163 0 7 1 13 + 8.0952183951712298E-01 a 164 0 7 1 14 + -1.1658877435292819E+01 a 165 0 7 1 15 + 1.3236001648494756E+01 a 166 0 7 1 16 + -1.2875720369407999E+01 a 167 0 7 1 17 + -2.0324369268053388E+00 a 168 0 7 1 18 + 1.0874203669721311E+01 a 169 0 7 1 19 + -1.7284078771261807E+01 a 170 0 7 1 20 + -2.9714643625232693E+00 a 171 0 7 1 21 + -1.9329510057793893E+01 a 172 0 7 1 22 + -1.0307360045133033E+01 a 173 0 7 1 23 + 4.2080100442235366E+00 a 174 0 7 1 24 + -3.8428801618815640E+01 a 175 0 7 1 25 + -5.7115809702208011E+00 a 176 0 8 1 1 + 3.7056719936859976E+00 a 177 0 8 1 2 + 1.3966886453850773E+01 a 178 0 8 1 3 + 1.4914576601367306E+00 a 179 0 8 1 4 + 2.3064842131482180E+01 a 180 0 8 1 5 + -7.9541458640647837E+00 a 181 0 8 1 6 + 1.1404558568383607E+01 a 182 0 8 1 7 + -3.6573585449246653E+00 a 183 0 8 1 8 + -4.9561031023561952E+00 a 184 0 8 1 9 + -1.2066502127308031E+01 a 185 0 8 1 10 + 1.1843534640137769E+01 a 186 0 8 1 11 + 1.9616511468009570E+01 a 187 0 8 1 12 + 1.3417323502712899E+01 a 188 0 8 1 13 + -4.0678344152400447E-01 a 189 0 8 1 14 + -1.9507569881192218E+01 a 190 0 8 1 15 + -6.5169441798944456E+00 a 191 0 8 1 16 + 5.2178654198561141E+00 a 192 0 8 1 17 + -1.4240290695317738E+01 a 193 0 8 1 18 + 2.1343226894748700E+01 a 194 0 8 1 19 + -2.7623196634808984E+00 a 195 0 8 1 20 + -9.2884558848667620E+00 a 196 0 8 1 21 + 6.0789935054152480E+00 a 197 0 8 1 22 + -1.6374423786268370E+01 a 198 0 8 1 23 + 2.1963692862828306E+00 a 199 0 8 1 24 + -1.6477619048440658E+01 a 200 0 8 1 25 + -5.4652541826246170E-01 a 201 0 9 1 1 + 2.9686567892883864E+00 a 202 0 9 1 2 + -6.5132434460788122E+00 a 203 0 9 1 3 + -4.8064981499516870E+00 a 204 0 9 1 4 + -6.9010601385214585E+00 a 205 0 9 1 5 + 6.0243408819244291E+00 a 206 0 9 1 6 + -4.7253212010125401E+00 a 207 0 9 1 7 + 4.4892697548578031E+00 a 208 0 9 1 8 + 2.8691390395969503E+00 a 209 0 9 1 9 + 4.8905119819707235E+00 a 210 0 9 1 10 + 8.0125760629983089E-01 a 211 0 9 1 11 + -7.1577963461867160E+00 a 212 0 9 1 12 + -7.1141706979801747E+00 a 213 0 9 1 13 + -9.2736585757849166E-01 a 214 0 9 1 14 + 1.4028916807873271E+01 a 215 0 9 1 15 + -3.6974926166345901E-01 a 216 0 9 1 16 + 1.1388278367792175E+00 a 217 0 9 1 17 + -6.0994976654902651E+00 a 218 0 9 1 18 + -8.0444468725663523E+00 a 219 0 9 1 19 + 1.0211480086068931E+00 a 220 0 9 1 20 + 8.7528435866785532E+00 a 221 0 9 1 21 + -5.2843722120300427E+00 a 222 0 9 1 22 + 8.0008339624272278E+00 a 223 0 9 1 23 + -1.5207898046701156E+00 a 224 0 9 1 24 + 2.7661111317119200E+00 a 225 0 9 1 25 + -7.8044247731064234E+00 a 226 0 10 1 1 + 1.3132447209010347E+00 a 227 0 10 1 2 + -4.7278121268044551E+00 a 228 0 10 1 3 + 3.6601689040473118E+00 a 229 0 10 1 4 + -9.6267150529386480E+00 a 230 0 10 1 5 + 2.6091275381190444E+00 a 231 0 10 1 6 + -3.1848404329162414E+00 a 232 0 10 1 7 + -9.5389607349646521E+00 a 233 0 10 1 8 + -2.6987985247358575E+00 a 234 0 10 1 9 + -6.2833399930784530E+00 a 235 0 10 1 10 + 1.6489253885816758E+01 a 236 0 10 1 11 + -1.7107772306689530E+01 a 237 0 10 1 12 + 3.4088466354687279E+00 a 238 0 10 1 13 + -1.2348801832413381E+00 a 239 0 10 1 14 + 1.0154267479292665E+01 a 240 0 10 1 15 + -6.0502934471257728E+00 a 241 0 10 1 16 + 1.0160696494987546E+01 a 242 0 10 1 17 + 2.4492206768318772E+00 a 243 0 10 1 18 + -7.3188978315096689E+00 a 244 0 10 1 19 + 8.8753153140216963E+00 a 245 0 10 1 20 + -3.1414578717572117E+00 a 246 0 10 1 21 + 1.1781935452921802E+01 a 247 0 10 1 22 + 4.2162781958159847E+00 a 248 0 10 1 23 + 6.3461905733038693E+00 a 249 0 10 1 24 + 1.8925601045188980E+01 a 250 0 10 1 25 + 4.6477877749677310E+00 a 251 0 11 1 1 + -1.6344868480777182E+00 a 252 0 11 1 2 + 3.2048890105307217E+00 a 253 0 11 1 3 + 3.0235679638931630E+00 a 254 0 11 1 4 + 4.2225303889491732E+00 a 255 0 11 1 5 + -3.7068606308347563E+00 a 256 0 11 1 6 + 1.9942469773127267E+00 a 257 0 11 1 7 + -7.5618287055529032E-02 a 258 0 11 1 8 + -4.3483903145704721E+00 a 259 0 11 1 9 + -6.4188170693407043E-01 a 260 0 11 1 10 + -1.7151247607053004E+00 a 261 0 11 1 11 + 1.1831911154836730E+00 a 262 0 11 1 12 + 8.5390777529689998E+00 a 263 0 11 1 13 + -1.2567544621838858E+00 a 264 0 11 1 14 + -6.5836237830818582E+00 a 265 0 11 1 15 + 1.0147377375097664E+00 a 266 0 11 1 16 + -4.1323735892759546E+00 a 267 0 11 1 17 + -2.6316384615004618E-01 a 268 0 11 1 18 + 2.4143335868624547E+00 a 269 0 11 1 19 + 2.6061142983025900E+00 a 270 0 11 1 20 + -4.4998702636369865E+00 a 271 0 11 1 21 + 1.3890302621242303E-02 a 272 0 11 1 22 + -7.8084731995076311E+00 a 273 0 11 1 23 + -1.2474549203322676E+00 a 274 0 11 1 24 + 4.4163797527377591E-02 a 275 0 11 1 25 + 2.8407201242614737E+00 a 276 0 12 1 1 + 1.3632905709235899E-01 a 277 0 12 1 2 + 1.2685237989280235E-01 a 278 0 12 1 3 + 2.2654235227594675E+00 a 279 0 12 1 4 + 2.5395548140674755E+00 a 280 0 12 1 5 + -9.3520481583438890E+00 a 281 0 12 1 6 + -1.9669962665207585E-01 a 282 0 12 1 7 + 5.7045527454931977E-01 a 283 0 12 1 8 + -2.9864201174461678E+00 a 284 0 12 1 9 + 3.9052149431886622E+00 a 285 0 12 1 10 + -9.0833042649786648E+00 a 286 0 12 1 11 + 5.0812751299215018E+00 a 287 0 12 1 12 + -1.6164442006858799E+00 a 288 0 12 1 13 + -5.6075225833495623E-01 a 289 0 12 1 14 + -2.3615673680840406E+00 a 290 0 12 1 15 + 3.0947011553478285E+00 a 291 0 12 1 16 + -8.3551823427496270E+00 a 292 0 12 1 17 + 5.9941345197218849E+00 a 293 0 12 1 18 + -1.8953925485822552E-02 a 294 0 12 1 19 + -2.7547195481515581E+00 a 295 0 12 1 20 + -1.9804726751840331E+00 a 296 0 12 1 21 + -3.8317244940395995E-01 a 297 0 12 1 22 + 4.8745188041841092E-01 a 298 0 12 1 23 + -8.4590760980141351E+00 a 299 0 12 1 24 + 1.0766033918315021E+00 a 300 0 12 1 25 + -2.2091804164374422E+00 a 301 0 13 1 1 + -5.5101800091867448E-01 a 302 0 13 1 2 + -1.0329728270730296E+00 a 303 0 13 1 3 + 3.9513433270607795E-01 a 304 0 13 1 4 + 8.1753415524151574E-01 a 305 0 13 1 5 + 1.0617142014915946E+00 a 306 0 13 1 6 + 7.6430260193959443E-01 a 307 0 13 1 7 + -1.1879548313844361E+00 a 308 0 13 1 8 + 3.8965303928245874E+00 a 309 0 13 1 9 + -1.9243989741788450E-01 a 310 0 13 1 10 + 6.6899630526626697E-01 a 311 0 13 1 11 + -3.0409636682424569E-02 a 312 0 13 1 12 + -3.6696456050264934E+00 a 313 0 13 1 13 + 6.4476959289475333E-01 a 314 0 13 1 14 + 1.0941826410717908E+00 a 315 0 13 1 15 + 9.1233922902211828E-01 a 316 0 13 1 16 + 2.3380607653989314E+00 a 317 0 13 1 17 + 1.4900790223732949E+00 a 318 0 13 1 18 + 1.0175935823188792E-01 a 319 0 13 1 19 + -3.2833166264125635E-01 a 320 0 13 1 20 + 2.2404532929727599E+00 a 321 0 13 1 21 + 2.3015461275183751E+00 a 322 0 13 1 22 + 2.9701302578874191E+00 a 323 0 13 1 23 + 1.4884592608001286E+00 a 324 0 13 1 24 + 6.5739654827696281E-01 a 325 0 13 1 25 + -4.0844724724706225E-02 a 326 0 14 1 1 + 2.1132913535189823E+00 a 327 0 14 1 2 + 1.6984674033189348E-01 a 328 0 14 1 3 + 2.3602668915812313E+00 a 329 0 14 1 4 + -5.4150131953500802E-01 a 330 0 14 1 5 + 7.1929135468647432E-01 a 331 0 14 1 6 + -8.6276394520437083E-01 a 332 0 14 1 7 + -3.0269268442401148E-01 a 333 0 14 1 8 + 7.2004767041031992E-01 a 334 0 14 1 9 + -8.3403359555685590E+00 a 335 0 14 1 10 + 2.5733568297832323E+00 a 336 0 14 1 11 + -6.6315509197147655E+00 a 337 0 14 1 12 + -5.5978389284457852E-01 a 338 0 14 1 13 + -1.6614855167111382E+00 a 339 0 14 1 14 + 2.4806900600279209E+00 a 340 0 14 1 15 + -2.7654255445642080E+00 a 341 0 14 1 16 + 5.9807541004471867E+00 a 342 0 14 1 17 + -1.4129213744863609E+00 a 343 0 14 1 18 + -1.2144347425099116E+00 a 344 0 14 1 19 + 1.2585251121614049E+00 a 345 0 14 1 20 + -2.7494266150484548E-02 a 346 0 14 1 21 + 1.6454999809576432E+00 a 347 0 14 1 22 + -2.8137449649914903E-01 a 348 0 14 1 23 + 9.9245394839698200E+00 a 349 0 14 1 24 + 2.5577330219319609E+00 a 350 0 14 1 25 + 1.2522691243854331E+00 a 351 0 15 1 1 + 7.8313784660978394E-02 a 352 0 15 1 2 + 3.1763922073800611E-02 a 353 0 15 1 3 + 3.4188945294744338E-02 a 354 0 15 1 4 + -8.6622970928039988E-01 a 355 0 15 1 5 + 3.6860164239730122E+00 a 356 0 15 1 6 + -3.3949083435068763E+00 a 357 0 15 1 7 + 6.0646320100112794E-01 a 358 0 15 1 8 + -1.7673251834962784E+00 a 359 0 15 1 9 + -5.3925118752606260E-01 a 360 0 15 1 10 + -1.0331348489132786E+00 a 361 0 15 1 11 + -2.0698850918329875E-01 a 362 0 15 1 12 + -1.2621725468122078E+00 a 363 0 15 1 13 + -2.0464390969411825E+00 a 364 0 15 1 14 + 3.5254308731162348E-01 a 365 0 15 1 15 + 3.9124440442557923E-01 a 366 0 15 1 16 + -7.7012371240908117E-01 a 367 0 15 1 17 + 1.3359296738897253E-01 a 368 0 15 1 18 + -5.3020609669352542E-02 a 369 0 15 1 19 + 1.7815933485647952E+00 a 370 0 15 1 20 + -1.8140219360009939E+00 a 371 0 15 1 21 + -2.4031367892025959E-01 a 372 0 15 1 22 + -1.0331886247762312E+00 a 373 0 15 1 23 + -4.0371034107321985E-01 a 374 0 15 1 24 + 4.6695095033369494E-01 a 375 0 15 1 25 + -4.0996434431182510E-01 a 376 0 16 1 1 + -6.3274791882318870E-01 a 377 0 16 1 2 + -5.2519480263023562E-02 a 378 0 16 1 3 + 2.7887880136245935E-01 a 379 0 16 1 4 + 4.9317366216865666E-01 a 380 0 16 1 5 + 5.9424828755867471E+00 a 381 0 16 1 6 + -2.2488215509134257E-01 a 382 0 16 1 7 + 7.0605801275715885E-01 a 383 0 16 1 8 + -8.2163540811135860E-02 a 384 0 16 1 9 + 2.0787775446114583E+00 a 385 0 16 1 10 + -2.1721897437058210E-01 a 386 0 16 1 11 + 7.4402228127749348E-01 a 387 0 16 1 12 + -1.9304485045119268E-01 a 388 0 16 1 13 + -1.2399500754393407E-01 a 389 0 16 1 14 + -4.3737873376184684E-02 a 390 0 16 1 15 + 4.6291172363105998E-01 a 391 0 16 1 16 + -4.2151918315290882E-01 a 392 0 16 1 17 + 8.8573061946292186E-01 a 393 0 16 1 18 + -4.9018291809706446E-03 a 394 0 16 1 19 + 2.1600118766284740E-01 a 395 0 16 1 20 + -6.0921360921956091E-01 a 396 0 16 1 21 + 3.7680398153138250E-01 a 397 0 16 1 22 + 3.9538220416849512E-01 a 398 0 16 1 23 + 7.1514131111918777E+00 a 399 0 16 1 24 + 1.8273026350401467E+00 a 400 0 16 1 25 + 3.7215329658563528E-01 a 401 0 17 1 1 + -4.6179059447012316E-01 a 402 0 17 1 2 + 1.5899087171699287E+00 a 403 0 17 1 3 + 1.7518250015346359E+00 a 404 0 17 1 4 + -3.3536813319312186E-01 a 405 0 17 1 5 + -4.2278010405207027E+00 a 406 0 17 1 6 + -8.5243820518804692E-01 a 407 0 17 1 7 + 9.0881598247646100E-01 a 408 0 17 1 8 + 3.8965208905715447E+00 a 409 0 17 1 9 + 5.6011288360587919E-01 a 410 0 17 1 10 + -5.2836813948608186E-01 a 411 0 17 1 11 + -3.0140016204698079E+00 a 412 0 17 1 12 + -1.9797293270131460E+00 a 413 0 17 1 13 + 6.0697489937941917E-01 a 414 0 17 1 14 + -2.1005255233620201E+00 a 415 0 17 1 15 + 2.9763262730586608E+00 a 416 0 17 1 16 + 4.9371027939296888E-02 a 417 0 17 1 17 + 7.7947575427479343E-01 a 418 0 17 1 18 + -1.6149233512425079E+00 a 419 0 17 1 19 + -7.3629998317838286E-01 a 420 0 17 1 20 + 5.8782288151755957E-01 a 421 0 17 1 21 + 2.9962120057051194E+00 a 422 0 17 1 22 + -6.0090267757936966E-01 a 423 0 17 1 23 + 1.7409609229829246E+00 a 424 0 17 1 24 + 3.3020654831076395E+00 a 425 0 17 1 25 + -1.2816721217899969E+01 a 426 0 18 1 1 + 1.0436514261209778E+01 a 427 0 18 1 2 + -1.0151319671000456E+01 a 428 0 18 1 3 + -3.6976525545097716E+00 a 429 0 18 1 4 + 2.7730233584286434E+00 a 430 0 18 1 5 + 1.2077948655368917E+01 a 431 0 18 1 6 + 2.9310682735219878E-01 a 432 0 18 1 7 + 9.1301886461102555E+00 a 433 0 18 1 8 + -6.9113821449959776E+00 a 434 0 18 1 9 + 5.1395229852384059E+00 a 435 0 18 1 10 + 1.9015703072700905E+01 a 436 0 18 1 11 + 6.2782884794967897E-01 a 437 0 18 1 12 + -1.1199030114408972E+00 a 438 0 18 1 13 + 8.4078245944942065E+00 a 439 0 18 1 14 + -2.1970214523819944E+01 a 440 0 18 1 15 + -2.9639951656713857E+00 a 441 0 18 1 16 + -2.1307855911438480E+00 a 442 0 18 1 17 + -3.4033873099977683E+00 a 443 0 18 1 18 + 7.7473570074768299E+00 a 444 0 18 1 19 + 4.2436938561983428E+00 a 445 0 18 1 20 + -2.2299485919721440E+00 a 446 0 18 1 21 + -5.4685838991617004E+00 a 447 0 18 1 22 + 4.1596479567520044E+00 a 448 0 18 1 23 + 5.7827395639070400E-01 a 449 0 18 1 24 + -1.3238378482288077E+01 a 450 0 18 1 25 + -1.5376889656330761E+00 a 451 0 19 1 1 + -5.1783057661781051E-01 a 452 0 19 1 2 + -9.6241029842402326E-01 a 453 0 19 1 3 + -3.0836536522411823E-01 a 454 0 19 1 4 + 4.4745903320325719E-01 a 455 0 19 1 5 + 5.3498170837630878E+00 a 456 0 19 1 6 + 1.8463477451296126E+00 a 457 0 19 1 7 + -3.0028303108002357E+00 a 458 0 19 1 8 + -7.6522954243804211E+00 a 459 0 19 1 9 + 4.3455658713814698E+00 a 460 0 19 1 10 + -3.2051687848902133E+00 a 461 0 19 1 11 + 5.9031887582745117E+00 a 462 0 19 1 12 + 1.7182826335134822E+00 a 463 0 19 1 13 + -1.1087850989792540E+00 a 464 0 19 1 14 + 6.5459467139243510E-01 a 465 0 19 1 15 + -8.6846968032549032E-01 a 466 0 19 1 16 + 7.7880149625881245E-01 a 467 0 19 1 17 + 3.7923435729638755E-01 a 468 0 19 1 18 + -4.1156418175788360E-03 a 469 0 19 1 19 + 1.5121918856212993E-01 a 470 0 19 1 20 + 5.3975394808394794E-01 a 471 0 19 1 21 + -1.0682250482164672E+00 a 472 0 19 1 22 + -1.3751142356632712E-02 a 473 0 19 1 23 + -4.4286268574519063E+00 a 474 0 19 1 24 + -3.8680702159397593E+00 a 475 0 19 1 25 + 1.2333171905058354E+01 a 476 0 20 1 1 + -1.2248288905309629E+01 a 477 0 20 1 2 + 1.1695817130234104E+01 a 478 0 20 1 3 + -7.8785015084941037E+00 a 479 0 20 1 4 + -1.4385700790662661E+01 a 480 0 20 1 5 + -6.3617417012959558E+00 a 481 0 20 1 6 + -1.1937360895545199E+00 a 482 0 20 1 7 + -9.1684602521855272E+00 a 483 0 20 1 8 + 1.9669228421457884E+01 a 484 0 20 1 9 + -1.5792577099561850E+01 a 485 0 20 1 10 + -7.6432398066341323E+00 a 486 0 20 1 11 + -1.0108096567461985E+01 a 487 0 20 1 12 + 8.8060728526554204E+00 a 488 0 20 1 13 + -1.0427209148169657E+01 a 489 0 20 1 14 + 3.1308828557374330E+01 a 490 0 20 1 15 + 6.1661737865740118E-01 a 491 0 20 1 16 + 1.2939893767446456E+01 a 492 0 20 1 17 + -1.5461694126933636E+00 a 493 0 20 1 18 + -1.2038322196001923E+01 a 494 0 20 1 19 + -1.1053447086628237E+01 a 495 0 20 1 20 + -3.6646931967187752E+00 a 496 0 20 1 21 + 4.3536703302367634E+00 a 497 0 20 1 22 + -9.5740042206319895E+00 a 498 0 20 1 23 + 6.5506713146493221E+00 a 499 0 20 1 24 + 1.7996563040005302E+01 a 500 0 20 1 25 + -6.2233520157604687E+00 a 501 0 21 1 1 + 1.2582110687675435E+01 a 502 0 21 1 2 + 9.2384881293313938E+00 a 503 0 21 1 3 + 1.7728059851918401E+00 a 504 0 21 1 4 + 3.6362985878777967E+00 a 505 0 21 1 5 + 3.2556969315744624E+01 a 506 0 21 1 6 + -3.1199993872880469E+00 a 507 0 21 1 7 + -9.8648099790168031E-01 a 508 0 21 1 8 + 3.0415184443561860E+00 a 509 0 21 1 9 + 9.0132436362301132E+00 a 510 0 21 1 10 + 1.2467154046410556E+01 a 511 0 21 1 11 + -1.0022834816628277E+01 a 512 0 21 1 12 + 1.2841138513527113E+01 a 513 0 21 1 13 + -1.7792021756823460E+00 a 514 0 21 1 14 + 7.3091411430574293E-01 a 515 0 21 1 15 + -1.0724499121880873E+01 a 516 0 21 1 16 + 1.6112171497612238E+01 a 517 0 21 1 17 + -1.7406158632935846E+01 a 518 0 21 1 18 + 5.3916736388765214E+00 a 519 0 21 1 19 + -7.7225460422381653E+00 a 520 0 21 1 20 + 2.3021534467146760E+00 a 521 0 21 1 21 + 1.3406099145213464E+01 a 522 0 21 1 22 + -1.2054205801151265E+00 a 523 0 21 1 23 + 9.7306420210947220E+00 a 524 0 21 1 24 + -4.6445749018946547E-01 a 525 0 21 1 25 + 8.7918872659331615E-01 a 526 0 22 1 1 + -7.6117540134922406E+00 a 527 0 22 1 2 + -4.8478661221876749E+00 a 528 0 22 1 3 + 1.4617626439797988E+00 a 529 0 22 1 4 + -1.5455882316982803E+01 a 530 0 22 1 5 + -4.6137715289223786E+00 a 531 0 22 1 6 + 2.3546419033386115E-01 a 532 0 22 1 7 + 2.1761110510614574E+00 a 533 0 22 1 8 + -5.1677977620532154E+00 a 534 0 22 1 9 + -1.4882285697135211E+01 a 535 0 22 1 10 + 1.0301372492313179E-01 a 536 0 22 1 11 + 4.7250270523796614E+00 a 537 0 22 1 12 + -3.9540977630973981E+00 a 538 0 22 1 13 + 3.7572869870669962E-02 a 539 0 22 1 14 + 5.7824523539218378E+00 a 540 0 22 1 15 + 1.5920937063840029E+01 a 541 0 22 1 16 + -6.4457401331127953E+00 a 542 0 22 1 17 + 1.4760098673939730E+01 a 543 0 22 1 18 + -3.1851966722140621E+00 a 544 0 22 1 19 + -6.5612349589638175E-01 a 545 0 22 1 20 + -6.0605595342603724E+00 a 546 0 22 1 21 + 2.4885037228656932E+00 a 547 0 22 1 22 + 7.1329940025026239E+00 a 548 0 22 1 23 + 4.1374739319645739E+00 a 549 0 22 1 24 + 3.6029016264835967E+00 a 550 0 22 1 25 + 1.2363607231182684E+01 a 551 0 23 1 1 + -7.3434070317286881E+00 a 552 0 23 1 2 + -2.5771398444943060E+01 a 553 0 23 1 3 + 7.9447100884094723E+00 a 554 0 23 1 4 + 1.1236370652932257E+01 a 555 0 23 1 5 + -3.2693616781814541E+00 a 556 0 23 1 6 + 5.1726287293391264E+00 a 557 0 23 1 7 + -4.3839166070810434E+00 a 558 0 23 1 8 + -1.2567878212324985E+01 a 559 0 23 1 9 + 7.6963978006043920E-01 a 560 0 23 1 10 + -9.6823335725588286E+00 a 561 0 23 1 11 + 2.6373675368069843E+01 a 562 0 23 1 12 + -1.9268994406736752E+01 a 563 0 23 1 13 + 9.9570415954549052E+00 a 564 0 23 1 14 + -8.3061207224239642E-01 a 565 0 23 1 15 + 2.2416229924934652E+00 a 566 0 23 1 16 + -1.8618841390677670E+01 a 567 0 23 1 17 + 1.1285982635789344E+01 a 568 0 23 1 18 + -9.1025674570559403E+00 a 569 0 23 1 19 + 1.0247105434841757E+01 a 570 0 23 1 20 + 1.1883653296768234E+01 a 571 0 23 1 21 + -9.7582716153093809E+00 a 572 0 23 1 22 + 1.5602371016441694E+00 a 573 0 23 1 23 + -2.9851501138691745E+01 a 574 0 23 1 24 + -1.8903447907877968E+01 a 575 0 23 1 25 + 4.7794864082498059E+00 a 576 0 24 1 1 + 7.9854265208273789E+00 a 577 0 24 1 2 + 9.9574318123278225E+00 a 578 0 24 1 3 + 5.6224088183628771E+00 a 579 0 24 1 4 + 6.8665727047098404E+00 a 580 0 24 1 5 + -1.8965069809691805E+01 a 581 0 24 1 6 + -2.6421877330866237E+00 a 582 0 24 1 7 + 2.4625070145486490E-02 a 583 0 24 1 8 + -2.6693235701328684E+00 a 584 0 24 1 9 + 5.4728246982445574E+00 a 585 0 24 1 10 + -1.2171367932487710E+01 a 586 0 24 1 11 + -6.8682042213632037E+00 a 587 0 24 1 12 + 2.6512863194146683E+00 a 588 0 24 1 13 + -3.9973556043849836E+00 a 589 0 24 1 14 + -9.3205728660463871E-01 a 590 0 24 1 15 + 3.2324916643329225E+00 a 591 0 24 1 16 + -6.8039737193603345E-01 a 592 0 24 1 17 + -4.6642556009879454E+00 a 593 0 24 1 18 + 5.4630234415035872E+00 a 594 0 24 1 19 + -7.7295749341472297E-01 a 595 0 24 1 20 + -1.8620645226195232E+00 a 596 0 24 1 21 + 3.0871020003395331E+00 a 597 0 24 1 22 + -2.9531926287649015E+00 a 598 0 24 1 23 + 3.3257855485405221E+00 a 599 0 24 1 24 + 1.2804435513171249E+01 a 600 0 24 1 25 + 2.3360099536244165E+00 a 601 0 25 1 1 + -6.9215341802863772E+00 a 602 0 25 1 2 + -5.9116329105078513E+00 a 603 0 25 1 3 + -9.3715628057287557E+00 a 604 0 25 1 4 + 7.8009930032983343E-02 a 605 0 25 1 5 + -1.3948874121311254E+01 a 606 0 25 1 6 + 3.6551397861519712E+00 a 607 0 25 1 7 + -2.7007034003519794E+00 a 608 0 25 1 8 + 7.1402704530469387E+00 a 609 0 25 1 9 + 5.4591337137198448E-01 a 610 0 25 1 10 + 2.5018603182300429E-02 a 611 0 25 1 11 + 1.1202938490196342E+01 a 612 0 25 1 12 + -1.2762286571383612E+00 a 613 0 25 1 13 + 5.4150263035162389E+00 a 614 0 25 1 14 + -2.3878760919535877E+00 a 615 0 25 1 15 + -2.3641671060547437E-01 a 616 0 25 1 16 + -3.5238751019043510E+00 a 617 0 25 1 17 + -2.5320654329006342E+00 a 618 0 25 1 18 + -3.6122736073834485E+00 a 619 0 25 1 19 + 2.0131984362076700E+00 a 620 0 25 1 20 + 3.4236490202245986E+00 a 621 0 25 1 21 + -7.6747580583977593E+00 a 622 0 25 1 22 + -1.0435428931415499E+01 a 623 0 25 1 23 + -1.0695841064866968E+01 a 624 0 25 1 24 + 3.3551318979354909E+00 a 625 0 25 1 25 + -1.0344973684340230E+01 a 626 0 26 1 1 + -7.4350553321899893E-01 a 627 0 26 1 2 + 1.7667157429228766E+01 a 628 0 26 1 3 + -4.6108734048138764E+00 a 629 0 26 1 4 + 6.3937736609746221E-02 a 630 0 26 1 5 + 1.5342947379458792E+01 a 631 0 26 1 6 + -6.4528006594361675E-01 a 632 0 26 1 7 + 6.9773139084411318E+00 a 633 0 26 1 8 + -7.3289379808937494E-01 a 634 0 26 1 9 + 5.7548454383600136E+00 a 635 0 26 1 10 + 5.9179774109252632E+00 a 636 0 26 1 11 + -1.3770375900939747E+01 a 637 0 26 1 12 + 2.0873585599320990E+00 a 638 0 26 1 13 + -6.0076166857094950E+00 a 639 0 26 1 14 + -8.2130419178172858E+00 a 640 0 26 1 15 + -4.0870535570606474E+00 a 641 0 26 1 16 + 1.1579926878779212E+01 a 642 0 26 1 17 + -4.0595881715985254E+00 a 643 0 26 1 18 + 5.8540332988673871E+00 a 644 0 26 1 19 + 1.0918878759932484E+00 a 645 0 26 1 20 + -3.3956586079707054E+00 a 646 0 26 1 21 + -1.1479956194037473E+00 a 647 0 26 1 22 + 7.6447151060018284E+00 a 648 0 26 1 23 + 2.0459888519812747E+01 a 649 0 26 1 24 + -2.9646390066955242E+00 a 650 0 26 1 25 + 1.0557201353673278E+00 a 651 0 27 1 1 + -2.2274450808972343E-01 a 652 0 27 1 2 + -9.3455755804614160E+00 a 653 0 27 1 3 + -1.6792256036928275E+00 a 654 0 27 1 4 + -4.1816350915661706E+00 a 655 0 27 1 5 + -5.2575727529046663E+00 a 656 0 27 1 6 + -5.2935609414405560E-02 a 657 0 27 1 7 + 1.8810690832899990E-02 a 658 0 27 1 8 + 4.9348443482277904E-01 a 659 0 27 1 9 + -5.5944159034279317E-01 a 660 0 27 1 10 + -1.7015569047901284E+00 a 661 0 27 1 11 + 1.6778904609860019E+00 a 662 0 27 1 12 + 1.4268720505875450E+00 a 663 0 27 1 13 + 2.1077918072718194E+00 a 664 0 27 1 14 + 7.5801210894464177E-01 a 665 0 27 1 15 + 5.2788372995446597E-01 a 666 0 27 1 16 + -1.3410214813750436E+00 a 667 0 27 1 17 + 2.6525490052949818E-01 a 668 0 27 1 18 + -2.8085051830257679E-01 a 669 0 27 1 19 + -1.4748033138608601E+00 a 670 0 27 1 20 + 3.0529767339710134E-01 a 671 0 27 1 21 + 3.6363122015631755E-01 a 672 0 27 1 22 + -7.7594432932094759E-01 a 673 0 27 1 23 + -6.6321818395459555E+00 a 674 0 27 1 24 + -1.5617564927377026E+00 a 675 0 27 1 25 + 1.2543603121613276E+00 b 676 1 1 + -2.2927495150883226E-01 b 677 1 2 + -2.3252649348551384E+00 b 678 1 3 + -2.6486346266611743E-01 b 679 1 4 + -1.6538110208437689E+00 b 680 1 5 + 2.9346000949301749E+00 b 681 1 6 + 1.7805506387833985E+00 b 682 1 7 + -5.6690103732543140E-01 b 683 1 8 + -6.2486173701798398E-01 b 684 1 9 + -3.7240900824290957E-01 b 685 1 10 + -6.3073178569822352E-01 b 686 1 11 + -8.0598419230069648E-02 b 687 1 12 + -1.1892095206974624E+00 b 688 1 13 + 1.3725453632853692E+00 b 689 1 14 + 4.4831989249466692E-01 b 690 1 15 + 1.1778820954688429E+00 b 691 1 16 + 1.2073919524857220E+00 b 692 1 17 + 5.6253191592422314E-01 b 693 1 18 + 6.4941608158776098E-01 b 694 1 19 + 1.2347905502178109E+00 b 695 1 20 + 5.9346048557423536E-01 b 696 1 21 + 6.4646182813960484E-01 b 697 1 22 + -7.6370495763210078E-01 b 698 1 23 + 1.9686378017108441E+00 b 699 1 24 + 1.0680673044425653E+00 b 700 1 25 + 1.4594180881055727E+00 a 701 1 1 2 1 + 1.5365534415590593E-01 a 702 1 1 2 2 + 1.2716222275391131E+00 a 703 1 1 2 3 + 7.7880702831611026E-02 a 704 1 1 2 4 + -1.3595126555752171E+00 a 705 1 1 2 5 + 1.8577989345148338E+00 a 706 1 1 2 6 + -2.4288315949473169E+00 a 707 1 1 2 7 + 8.9220943694387922E-01 a 708 1 1 2 8 + -1.2790242633099080E+00 a 709 1 1 2 9 + 8.9816215033932290E-01 a 710 1 1 2 10 + 1.0437682789133405E+00 a 711 1 1 2 11 + -2.1841360825100695E-01 a 712 1 1 2 12 + -1.0322042495993708E+00 a 713 1 1 2 13 + -5.5696429548906812E-01 a 714 1 1 2 14 + -1.5593064259737546E+00 a 715 1 1 2 15 + -3.1077239299477250E-01 a 716 1 1 2 16 + -5.1662487915245203E-01 a 717 1 1 2 17 + -4.4080355765868079E-01 a 718 1 1 2 18 + 2.8554382665336435E+00 a 719 1 1 2 19 + 1.2965885840799994E-02 a 720 1 1 2 20 + -8.2522237906046214E-01 a 721 1 1 2 21 + 3.5901971403443272E-01 a 722 1 1 2 22 + 2.6936242508953034E+00 a 723 1 1 2 23 + -1.2849019754079158E+00 a 724 1 1 2 24 + 8.2861779580995576E-01 a 725 1 1 2 25 + 1.0719197982105746E+00 a 726 1 2 2 1 + 6.4368553162443476E-01 a 727 1 2 2 2 + -1.0015886909820451E+00 a 728 1 2 2 3 + -6.8191613195651618E-02 a 729 1 2 2 4 + 7.2674228322735146E-01 a 730 1 2 2 5 + -1.7573496877427459E+00 a 731 1 2 2 6 + 2.6450957568279948E-01 a 732 1 2 2 7 + -6.0959728011597525E-01 a 733 1 2 2 8 + -3.1772594457996151E-01 a 734 1 2 2 9 + -1.2773013338753241E+00 a 735 1 2 2 10 + 6.8736118082422348E-01 a 736 1 2 2 11 + 4.4110197874618340E-01 a 737 1 2 2 12 + 1.0323670003842877E+00 a 738 1 2 2 13 + -1.0286975902661349E-01 a 739 1 2 2 14 + -2.6792225965340805E-01 a 740 1 2 2 15 + -7.3839775332694924E-01 a 741 1 2 2 16 + 1.6185767840077056E-01 a 742 1 2 2 17 + -5.0013229655885350E-01 a 743 1 2 2 18 + -5.6099349730305503E-01 a 744 1 2 2 19 + 1.9552145303074811E-01 a 745 1 2 2 20 + 1.7846161993800158E+00 a 746 1 2 2 21 + -4.8130848458800529E-01 a 747 1 2 2 22 + -1.8375371441275692E+00 a 748 1 2 2 23 + 2.2280937013746720E+00 a 749 1 2 2 24 + -6.4075230693965046E-01 a 750 1 2 2 25 + 1.0241851444185640E+01 a 751 1 3 2 1 + 1.7030840528329511E-01 a 752 1 3 2 2 + 8.7386754821063384E-01 a 753 1 3 2 3 + 1.2474534163745070E+00 a 754 1 3 2 4 + 8.8318954368994584E-01 a 755 1 3 2 5 + -1.4672120275811322E+00 a 756 1 3 2 6 + 1.3096477208958901E+00 a 757 1 3 2 7 + 3.0312337023215772E+00 a 758 1 3 2 8 + 1.3470610254760440E+00 a 759 1 3 2 9 + -3.3809547115308263E+00 a 760 1 3 2 10 + -3.6964777922845643E-01 a 761 1 3 2 11 + -5.1137005263470792E-01 a 762 1 3 2 12 + -8.6703927818536952E-01 a 763 1 3 2 13 + -1.4428190046837878E-03 a 764 1 3 2 14 + -1.9661789504315588E+00 a 765 1 3 2 15 + 1.0507109233530159E+00 a 766 1 3 2 16 + -1.3276179729772277E+00 a 767 1 3 2 17 + 4.4516146444556357E+00 a 768 1 3 2 18 + 1.1536944375048062E+00 a 769 1 3 2 19 + -2.2217977618823750E+00 a 770 1 3 2 20 + 9.4271790445219139E-01 a 771 1 3 2 21 + 2.5744616980454099E-01 a 772 1 3 2 22 + -9.9691709890058755E-01 a 773 1 3 2 23 + -1.3771566894481431E+00 a 774 1 3 2 24 + -2.2445703137500894E+00 a 775 1 3 2 25 + 1.5699777139804288E-01 a 776 1 4 2 1 + -2.4739909713406422E-01 a 777 1 4 2 2 + 6.0945334029172793E-01 a 778 1 4 2 3 + 1.1991732305097107E+00 a 779 1 4 2 4 + 7.6752737798279991E-01 a 780 1 4 2 5 + -1.2176036327912749E+00 a 781 1 4 2 6 + 9.0286393495899153E-01 a 782 1 4 2 7 + -5.6395546613738842E-02 a 783 1 4 2 8 + 5.0557753137815109E-01 a 784 1 4 2 9 + -4.4495088550260570E-01 a 785 1 4 2 10 + 6.2104957984648756E-01 a 786 1 4 2 11 + 3.3501389647440200E-01 a 787 1 4 2 12 + -2.7325439440571269E+00 a 788 1 4 2 13 + 5.2584673556777350E-01 a 789 1 4 2 14 + 1.3429005280378536E+00 a 790 1 4 2 15 + -4.5937498220629874E-01 a 791 1 4 2 16 + 1.7266119501505457E+00 a 792 1 4 2 17 + 1.4851537385892768E+00 a 793 1 4 2 18 + 4.9230003793123539E-01 a 794 1 4 2 19 + 8.1632865980176739E-01 a 795 1 4 2 20 + -1.9154967284098789E-01 a 796 1 4 2 21 + -3.6956160611354422E-01 a 797 1 4 2 22 + -3.6482742790056100E-01 a 798 1 4 2 23 + 1.0484022012860530E+00 a 799 1 4 2 24 + -1.7235438271765644E+00 a 800 1 4 2 25 + -3.2907844786243623E+00 a 801 1 5 2 1 + 4.4558341037111998E-01 a 802 1 5 2 2 + -8.8865795206574982E-01 a 803 1 5 2 3 + -3.4703449096997305E+00 a 804 1 5 2 4 + 1.9569540374092412E-01 a 805 1 5 2 5 + 2.2160747636990812E+00 a 806 1 5 2 6 + 3.4472185629168250E-01 a 807 1 5 2 7 + -1.1074312927207139E+00 a 808 1 5 2 8 + 5.1827475014688007E-01 a 809 1 5 2 9 + -3.1128520969656615E-01 a 810 1 5 2 10 + 6.5563850101225896E-01 a 811 1 5 2 11 + 3.3247399064015698E-01 a 812 1 5 2 12 + -4.8120090829752646E+00 a 813 1 5 2 13 + 9.1367243408463188E-03 a 814 1 5 2 14 + -1.8390860323325349E+00 a 815 1 5 2 15 + -9.6722898424964884E-02 a 816 1 5 2 16 + 2.1623044756649634E-01 a 817 1 5 2 17 + 1.8139812909720721E+00 a 818 1 5 2 18 + 1.0079084840050438E+00 a 819 1 5 2 19 + -1.3705717763671377E+00 a 820 1 5 2 20 + 1.1484147924904438E+00 a 821 1 5 2 21 + -1.9124900049764464E+00 a 822 1 5 2 22 + 1.7189138910264795E-01 a 823 1 5 2 23 + -7.9392910771154301E-01 a 824 1 5 2 24 + -2.6489999419262034E-01 a 825 1 5 2 25 + 2.5624626562468347E+00 a 826 1 6 2 1 + 5.9614548067315298E-01 a 827 1 6 2 2 + -3.8659659575111305E+00 a 828 1 6 2 3 + 3.8531737061864785E-01 a 829 1 6 2 4 + -8.9178684714629375E-01 a 830 1 6 2 5 + -1.6785558855996455E-01 a 831 1 6 2 6 + 6.6144468012911251E+00 a 832 1 6 2 7 + 4.4105923912480209E+00 a 833 1 6 2 8 + 2.8949831912596469E-01 a 834 1 6 2 9 + -3.4638367622465811E+00 a 835 1 6 2 10 + 6.6971866926592594E-01 a 836 1 6 2 11 + -7.2609240976252198E-01 a 837 1 6 2 12 + -1.2843323189569352E+01 a 838 1 6 2 13 + 6.5115740114962435E+00 a 839 1 6 2 14 + -3.2365006495624264E+00 a 840 1 6 2 15 + 2.8998337472602964E+00 a 841 1 6 2 16 + -9.5426565968503108E-01 a 842 1 6 2 17 + 1.0389933132676583E+00 a 843 1 6 2 18 + -2.1163523577693755E+00 a 844 1 6 2 19 + -5.8155364801805209E+00 a 845 1 6 2 20 + -5.3697305253077579E+00 a 846 1 6 2 21 + -5.1144158102132380E+00 a 847 1 6 2 22 + 1.2829874426509228E+01 a 848 1 6 2 23 + -4.0867590632246316E+00 a 849 1 6 2 24 + 1.0933434381899787E+00 a 850 1 6 2 25 + 2.3849997033672132E-01 a 851 1 7 2 1 + -1.8082506184158031E+00 a 852 1 7 2 2 + 2.4732602405911406E+00 a 853 1 7 2 3 + -6.0103114538066793E-01 a 854 1 7 2 4 + -5.9954681389645592E-01 a 855 1 7 2 5 + 9.9404987635228947E-01 a 856 1 7 2 6 + -6.2460704842682724E-01 a 857 1 7 2 7 + 1.6778574135726465E-01 a 858 1 7 2 8 + -1.4512109685582537E+00 a 859 1 7 2 9 + 7.7781274745649254E-01 a 860 1 7 2 10 + -2.5497093273765997E-01 a 861 1 7 2 11 + -1.2727575841297214E+00 a 862 1 7 2 12 + 1.3737145640255147E+01 a 863 1 7 2 13 + -1.5987658112798067E+00 a 864 1 7 2 14 + 2.2042361569677089E+00 a 865 1 7 2 15 + 1.6482308479126571E+00 a 866 1 7 2 16 + 8.7348319506398864E-01 a 867 1 7 2 17 + 1.9155767755628972E+00 a 868 1 7 2 18 + -3.0984705789198412E+00 a 869 1 7 2 19 + -3.6288105134109871E+00 a 870 1 7 2 20 + 5.4544741067093439E-01 a 871 1 7 2 21 + 1.2017875224188410E+00 a 872 1 7 2 22 + -3.6732061900246443E-02 a 873 1 7 2 23 + -2.2864417011641551E+00 a 874 1 7 2 24 + 2.0751547378295272E+00 a 875 1 7 2 25 + -3.6897542583690122E+00 a 876 1 8 2 1 + 1.6464794875188755E+00 a 877 1 8 2 2 + -1.6903294317427878E-02 a 878 1 8 2 3 + 8.5805116085044186E-01 a 879 1 8 2 4 + -8.9161757768590463E-02 a 880 1 8 2 5 + -9.9903928778618412E-01 a 881 1 8 2 6 + -9.2064685980338812E-01 a 882 1 8 2 7 + -1.4158341774041960E+00 a 883 1 8 2 8 + 3.2248026254955575E-01 a 884 1 8 2 9 + -4.1800568471559668E-01 a 885 1 8 2 10 + -4.8805338095729628E-01 a 886 1 8 2 11 + 1.1345294762503340E+00 a 887 1 8 2 12 + -1.1250934435189197E+00 a 888 1 8 2 13 + 3.8511063123301570E-01 a 889 1 8 2 14 + -1.7044641353433568E-01 a 890 1 8 2 15 + -4.2752195209991600E-01 a 891 1 8 2 16 + 1.3488187511243652E+00 a 892 1 8 2 17 + 2.4403269163386748E-01 a 893 1 8 2 18 + 2.0216642016194366E+00 a 894 1 8 2 19 + 1.7161607920915306E-01 a 895 1 8 2 20 + 3.6198240781392976E-01 a 896 1 8 2 21 + 1.4857296400216574E-01 a 897 1 8 2 22 + 1.3968573132893052E+00 a 898 1 8 2 23 + -1.9910303315289435E-01 a 899 1 8 2 24 + -9.7784609888672214E-01 a 900 1 8 2 25 + -1.2223242756379911E+00 a 901 1 9 2 1 + -4.3744831594928774E-01 a 902 1 9 2 2 + 1.2923487913089118E-01 a 903 1 9 2 3 + 2.9999366538684252E-01 a 904 1 9 2 4 + -4.9043153145672658E-01 a 905 1 9 2 5 + 5.1991585092732140E-01 a 906 1 9 2 6 + -1.1717880708144914E+00 a 907 1 9 2 7 + -2.2108376178152582E+00 a 908 1 9 2 8 + 5.4803528300841009E-01 a 909 1 9 2 9 + 1.0290876298048343E-01 a 910 1 9 2 10 + -1.0050755109926608E-01 a 911 1 9 2 11 + -3.9677228369118622E-01 a 912 1 9 2 12 + 9.1792155137618836E-01 a 913 1 9 2 13 + 5.5399142138025503E-01 a 914 1 9 2 14 + 9.3235909340364431E-01 a 915 1 9 2 15 + -1.6998626249329271E-01 a 916 1 9 2 16 + 4.9047739617055502E-01 a 917 1 9 2 17 + 1.5834153544337162E+00 a 918 1 9 2 18 + -1.4504208512124137E+00 a 919 1 9 2 19 + -1.1259681872097431E+00 a 920 1 9 2 20 + 5.4971916278346833E-01 a 921 1 9 2 21 + -1.1681625755494254E+00 a 922 1 9 2 22 + -1.1666857377466462E+00 a 923 1 9 2 23 + 9.4391324801943433E-01 a 924 1 9 2 24 + 1.6460412821505890E+00 a 925 1 9 2 25 + -4.8241268097711805E+00 a 926 1 10 2 1 + 7.7608088169675027E-01 a 927 1 10 2 2 + 3.0725533373558985E-02 a 928 1 10 2 3 + 1.7273040602998582E-01 a 929 1 10 2 4 + -8.3453052201133593E-01 a 930 1 10 2 5 + 5.1887336147197549E-01 a 931 1 10 2 6 + -2.5442355116425284E+00 a 932 1 10 2 7 + 1.6465683049142426E+00 a 933 1 10 2 8 + 4.9557149622005192E-01 a 934 1 10 2 9 + -3.7235188885947218E-01 a 935 1 10 2 10 + 5.4373948650342019E-01 a 936 1 10 2 11 + -7.0523807658120752E-01 a 937 1 10 2 12 + 3.0421859521740662E+00 a 938 1 10 2 13 + 3.1072482452082176E-02 a 939 1 10 2 14 + -1.7388083760523441E+00 a 940 1 10 2 15 + -5.0488919326784720E-01 a 941 1 10 2 16 + -4.1556771389004238E-01 a 942 1 10 2 17 + 1.9599004921872892E-01 a 943 1 10 2 18 + 4.0621964972672647E-01 a 944 1 10 2 19 + 5.9422166296562096E-01 a 945 1 10 2 20 + -7.3709462934982051E-01 a 946 1 10 2 21 + 6.7060322689935292E-01 a 947 1 10 2 22 + -1.2368437174276945E+00 a 948 1 10 2 23 + 4.1715534262026482E-01 a 949 1 10 2 24 + 7.6425832217227860E-02 a 950 1 10 2 25 + 7.6204316569401270E-02 a 951 1 11 2 1 + 5.1923891653008980E-01 a 952 1 11 2 2 + -2.3323035736153178E-01 a 953 1 11 2 3 + 8.0786247674397216E-01 a 954 1 11 2 4 + 5.4915827837479130E-03 a 955 1 11 2 5 + 1.8949430899753919E-01 a 956 1 11 2 6 + 9.8280844566622061E-01 a 957 1 11 2 7 + -6.4980124973270256E-02 a 958 1 11 2 8 + 5.5829152803291393E-01 a 959 1 11 2 9 + -1.1213619664096590E+00 a 960 1 11 2 10 + 7.0457921824782610E-01 a 961 1 11 2 11 + 1.0235201243188761E+00 a 962 1 11 2 12 + -4.9329358100127163E-01 a 963 1 11 2 13 + -4.0014319272414542E-02 a 964 1 11 2 14 + 3.7179242325207895E-01 a 965 1 11 2 15 + 7.8373685085132305E-01 a 966 1 11 2 16 + 9.2903895087770283E-01 a 967 1 11 2 17 + 7.8090953411929565E-01 a 968 1 11 2 18 + 1.2145534685538030E-01 a 969 1 11 2 19 + 7.4100895285851753E-01 a 970 1 11 2 20 + -7.9996191597108024E-01 a 971 1 11 2 21 + -1.0336034984202382E+00 a 972 1 11 2 22 + 3.7785839967778578E-01 a 973 1 11 2 23 + -1.5501982605341513E+00 a 974 1 11 2 24 + -1.5638876377168576E-01 a 975 1 11 2 25 + -4.0862357357947632E+00 a 976 1 12 2 1 + -4.5447860937015583E-01 a 977 1 12 2 2 + 6.0978896114190961E-01 a 978 1 12 2 3 + -3.1234430855068102E-01 a 979 1 12 2 4 + 7.1238475556186009E-01 a 980 1 12 2 5 + -5.0806809158602861E-01 a 981 1 12 2 6 + 1.6975884201542528E+00 a 982 1 12 2 7 + 5.9503629303958183E-01 a 983 1 12 2 8 + -1.1318629144078489E+00 a 984 1 12 2 9 + -9.5319931360502086E-01 a 985 1 12 2 10 + -4.1720127614679248E-01 a 986 1 12 2 11 + -1.9870221259422775E-02 a 987 1 12 2 12 + -1.1554153636616458E+00 a 988 1 12 2 13 + 2.9172179472727477E-01 a 989 1 12 2 14 + 1.2962080417528923E+00 a 990 1 12 2 15 + 6.3120710248883072E-01 a 991 1 12 2 16 + 4.6124525587351189E-01 a 992 1 12 2 17 + -3.2638990170430632E-01 a 993 1 12 2 18 + -8.5578386009581864E-01 a 994 1 12 2 19 + 4.5034494849101464E-01 a 995 1 12 2 20 + -5.7009794317633844E-01 a 996 1 12 2 21 + -3.6296376055770369E-01 a 997 1 12 2 22 + -7.7180235088913951E-01 a 998 1 12 2 23 + 2.9906825459554837E-01 a 999 1 12 2 24 + 5.1547081854237442E-01 a 1000 1 12 2 25 + -7.1147171866038650E-01 a 1001 1 13 2 1 + 2.5533616472015780E-01 a 1002 1 13 2 2 + -1.6805084143769664E+00 a 1003 1 13 2 3 + -1.4360279577151556E+00 a 1004 1 13 2 4 + 1.6236981624756913E-01 a 1005 1 13 2 5 + -2.9986730480763552E-01 a 1006 1 13 2 6 + 8.9644368547201847E-01 a 1007 1 13 2 7 + -3.1600174326085384E-01 a 1008 1 13 2 8 + 6.6229418070725221E-01 a 1009 1 13 2 9 + 8.8828349481781288E-01 a 1010 1 13 2 10 + 1.4958089634861331E+00 a 1011 1 13 2 11 + 4.2909779495412720E-01 a 1012 1 13 2 12 + 3.2104451593420507E+00 a 1013 1 13 2 13 + -3.6430395248485636E-01 a 1014 1 13 2 14 + -1.5397347367606027E+00 a 1015 1 13 2 15 + -2.8540653890450796E-01 a 1016 1 13 2 16 + -9.4744403066936911E-01 a 1017 1 13 2 17 + -9.3063775358513945E-01 a 1018 1 13 2 18 + -1.1740757703838556E+00 a 1019 1 13 2 19 + 3.0877516607240953E+00 a 1020 1 13 2 20 + 4.1925229503721850E-01 a 1021 1 13 2 21 + 8.6435718774619341E-01 a 1022 1 13 2 22 + 6.1556706608264777E+00 a 1023 1 13 2 23 + 9.3836879003947971E-01 a 1024 1 13 2 24 + -9.8383407514817875E-02 a 1025 1 13 2 25 + -1.6301594805577007E+00 a 1026 1 14 2 1 + -1.5668841832682863E+00 a 1027 1 14 2 2 + 1.0864774409649187E+00 a 1028 1 14 2 3 + 5.4679221520765209E-01 a 1029 1 14 2 4 + -2.5595346119405066E-01 a 1030 1 14 2 5 + 2.5753638271899253E+00 a 1031 1 14 2 6 + -1.2060987925979026E-01 a 1032 1 14 2 7 + 2.1872813485361081E-01 a 1033 1 14 2 8 + 3.2146195516530540E-01 a 1034 1 14 2 9 + 1.1328609031214638E+00 a 1035 1 14 2 10 + 6.1533394331348246E-01 a 1036 1 14 2 11 + -5.4737671046525105E-01 a 1037 1 14 2 12 + 1.1053993063535703E+00 a 1038 1 14 2 13 + -8.5533217578150822E-01 a 1039 1 14 2 14 + 1.0442995577946410E+00 a 1040 1 14 2 15 + 3.4775232765691383E-01 a 1041 1 14 2 16 + 1.4598545739773818E+00 a 1042 1 14 2 17 + -6.1993931948399261E-01 a 1043 1 14 2 18 + 7.3852685191309575E-01 a 1044 1 14 2 19 + 4.5902009626552193E-01 a 1045 1 14 2 20 + 1.2464402173099479E-01 a 1046 1 14 2 21 + -6.7358191994639882E-01 a 1047 1 14 2 22 + 2.1039506751744477E+00 a 1048 1 14 2 23 + 5.4851288860040280E-02 a 1049 1 14 2 24 + 9.7489591141143539E-01 a 1050 1 14 2 25 + -2.1631968448494212E+00 a 1051 1 15 2 1 + -1.2727129430492068E-01 a 1052 1 15 2 2 + 5.1091627066580747E-01 a 1053 1 15 2 3 + 5.7534648199758043E-01 a 1054 1 15 2 4 + -1.2037493386091171E-01 a 1055 1 15 2 5 + 7.5399155374626403E-01 a 1056 1 15 2 6 + -7.7261380985978678E-02 a 1057 1 15 2 7 + -6.7025079504583596E-01 a 1058 1 15 2 8 + -7.8883860754795421E-01 a 1059 1 15 2 9 + 3.3888713523272701E-01 a 1060 1 15 2 10 + 2.6385317181624623E-01 a 1061 1 15 2 11 + -1.2070172511181789E+00 a 1062 1 15 2 12 + -2.4873336888385603E-01 a 1063 1 15 2 13 + -3.8721462941389916E-02 a 1064 1 15 2 14 + 3.0335144276674625E-01 a 1065 1 15 2 15 + -7.7679943247249666E-02 a 1066 1 15 2 16 + 1.9243207289568867E+00 a 1067 1 15 2 17 + 8.5144075649928463E-01 a 1068 1 15 2 18 + 1.1835117649913056E+00 a 1069 1 15 2 19 + 1.0314075791319242E+00 a 1070 1 15 2 20 + 4.7979249547225589E-01 a 1071 1 15 2 21 + -5.4753258863123311E-01 a 1072 1 15 2 22 + 4.2043672983497160E-01 a 1073 1 15 2 23 + -2.2100361146596743E+00 a 1074 1 15 2 24 + 4.8022559923156283E-01 a 1075 1 15 2 25 + 6.1043577181395725E-01 a 1076 1 16 2 1 + -2.2995879551535903E+00 a 1077 1 16 2 2 + -2.4125695056542629E+00 a 1078 1 16 2 3 + 1.6401971344031188E+00 a 1079 1 16 2 4 + 2.7596304155826910E+00 a 1080 1 16 2 5 + -1.7012960702445470E+00 a 1081 1 16 2 6 + 5.8020616848999120E+00 a 1082 1 16 2 7 + -1.5987839635103624E+00 a 1083 1 16 2 8 + 1.9202596834934125E+00 a 1084 1 16 2 9 + 1.3609406382198073E+00 a 1085 1 16 2 10 + 3.4521770240453185E+00 a 1086 1 16 2 11 + 9.7625903603901429E-02 a 1087 1 16 2 12 + -3.0007838094883166E+00 a 1088 1 16 2 13 + 5.8195191348921516E-01 a 1089 1 16 2 14 + 1.8956029574690589E+00 a 1090 1 16 2 15 + 2.3234817041452124E-01 a 1091 1 16 2 16 + 1.1632750419735625E+00 a 1092 1 16 2 17 + 3.4156738519131671E+00 a 1093 1 16 2 18 + -3.2336496919934206E+00 a 1094 1 16 2 19 + -7.3798227198293331E-01 a 1095 1 16 2 20 + 3.3624363552486471E+00 a 1096 1 16 2 21 + -1.0132468162040502E+00 a 1097 1 16 2 22 + 3.7056369669165354E-02 a 1098 1 16 2 23 + -1.8312393074518960E+00 a 1099 1 16 2 24 + 4.5500578248263041E-01 a 1100 1 16 2 25 + 2.2302269048313073E+00 a 1101 1 17 2 1 + 1.6214906410771059E+00 a 1102 1 17 2 2 + 1.6349509659918811E+00 a 1103 1 17 2 3 + 5.4145408574619934E-02 a 1104 1 17 2 4 + 4.3252906684142584E-01 a 1105 1 17 2 5 + -1.3736969218541635E+00 a 1106 1 17 2 6 + 2.8184234047867172E+00 a 1107 1 17 2 7 + 2.8896867628176515E+00 a 1108 1 17 2 8 + 1.4299248969157874E-01 a 1109 1 17 2 9 + 1.9927781151509179E+00 a 1110 1 17 2 10 + 2.3711262701763500E+00 a 1111 1 17 2 11 + 1.3223116695652687E-01 a 1112 1 17 2 12 + -3.4794814095323376E+00 a 1113 1 17 2 13 + 1.1510988640273812E+00 a 1114 1 17 2 14 + -3.3985921784982023E+00 a 1115 1 17 2 15 + 1.0076465563953010E+00 a 1116 1 17 2 16 + -8.3104650289513449E-01 a 1117 1 17 2 17 + 1.3398030994767187E+00 a 1118 1 17 2 18 + 3.8575481988101741E+00 a 1119 1 17 2 19 + -8.6313597613197934E-01 a 1120 1 17 2 20 + 1.0420089629653122E+00 a 1121 1 17 2 21 + -8.3635927268506283E-01 a 1122 1 17 2 22 + 2.9149953695805464E+00 a 1123 1 17 2 23 + 2.4188178674036467E-01 a 1124 1 17 2 24 + -1.0422371721462642E+00 a 1125 1 17 2 25 + -9.8074696676452633E-01 a 1126 1 18 2 1 + -7.0261356217276538E-01 a 1127 1 18 2 2 + -1.5539162592863331E+00 a 1128 1 18 2 3 + 2.5663709887311525E-01 a 1129 1 18 2 4 + 1.1790597159349452E+00 a 1130 1 18 2 5 + -5.1283413704919667E-01 a 1131 1 18 2 6 + 2.8209081194780357E+00 a 1132 1 18 2 7 + -2.9530441812628777E-01 a 1133 1 18 2 8 + 1.1911675111813969E+00 a 1134 1 18 2 9 + -7.1781562917361630E-01 a 1135 1 18 2 10 + 7.5615420324814075E-01 a 1136 1 18 2 11 + 1.0383917710970614E+00 a 1137 1 18 2 12 + -7.4096563311439467E-01 a 1138 1 18 2 13 + -2.7861243720701795E-01 a 1139 1 18 2 14 + 6.9344913926308305E-01 a 1140 1 18 2 15 + 7.2770779951192111E-01 a 1141 1 18 2 16 + 1.7348650121938709E+00 a 1142 1 18 2 17 + 7.2380729647406006E-01 a 1143 1 18 2 18 + -2.1671682060080908E+00 a 1144 1 18 2 19 + -1.8448084445689281E-01 a 1145 1 18 2 20 + 1.3024719111160912E+00 a 1146 1 18 2 21 + -1.2909789979215052E+00 a 1147 1 18 2 22 + -2.0330008356136617E+00 a 1148 1 18 2 23 + -3.5287322032224533E-01 a 1149 1 18 2 24 + -4.4414575257293076E-01 a 1150 1 18 2 25 + -2.7258373164925753E-02 a 1151 1 19 2 1 + 1.7786409180863971E+00 a 1152 1 19 2 2 + -6.2433485311638581E-01 a 1153 1 19 2 3 + -7.0729056795105427E-01 a 1154 1 19 2 4 + 5.1264534381277294E-01 a 1155 1 19 2 5 + -8.6616294143739847E-01 a 1156 1 19 2 6 + 8.0698814912956451E-01 a 1157 1 19 2 7 + -1.8175081356783283E+00 a 1158 1 19 2 8 + -3.2026939775244762E-01 a 1159 1 19 2 9 + -6.7288331966478787E-01 a 1160 1 19 2 10 + 1.7148578091095124E-01 a 1161 1 19 2 11 + 3.2140265958315151E-01 a 1162 1 19 2 12 + -8.1210044120660096E-01 a 1163 1 19 2 13 + -7.6231158138043847E-02 a 1164 1 19 2 14 + -1.5851767882039058E+00 a 1165 1 19 2 15 + 1.2557130027742122E-01 a 1166 1 19 2 16 + 4.8654065981248962E-01 a 1167 1 19 2 17 + 9.1550158332637088E-01 a 1168 1 19 2 18 + 1.7945138007319117E+00 a 1169 1 19 2 19 + -6.2793744117252037E-01 a 1170 1 19 2 20 + 4.9770901971481168E-01 a 1171 1 19 2 21 + 7.9199978603495880E-01 a 1172 1 19 2 22 + 1.3566279316779111E+00 a 1173 1 19 2 23 + -6.4989908124401896E-01 a 1174 1 19 2 24 + -1.2130061691278531E+00 a 1175 1 19 2 25 + 2.1718589739533791E+00 a 1176 1 20 2 1 + 2.9938291414473661E-01 a 1177 1 20 2 2 + 9.2914772861453521E-01 a 1178 1 20 2 3 + 1.7565171250248528E+00 a 1179 1 20 2 4 + -1.7171376009305626E+00 a 1180 1 20 2 5 + 2.8704512164424800E+00 a 1181 1 20 2 6 + -4.0609063853165461E-01 a 1182 1 20 2 7 + -8.8956304852711987E-01 a 1183 1 20 2 8 + 1.5588822278177381E+00 a 1184 1 20 2 9 + -5.3859945323628011E-01 a 1185 1 20 2 10 + -8.9087250387841876E-01 a 1186 1 20 2 11 + -8.9835382331213787E-01 a 1187 1 20 2 12 + -1.1369908152037626E-01 a 1188 1 20 2 13 + -5.7966570046060373E-01 a 1189 1 20 2 14 + 1.1066980646243854E+00 a 1190 1 20 2 15 + 3.1244375834572546E-01 a 1191 1 20 2 16 + 2.1974097139332476E+00 a 1192 1 20 2 17 + -7.6349397720541767E-01 a 1193 1 20 2 18 + -3.6503418073743810E-01 a 1194 1 20 2 19 + -6.0642338824938813E-01 a 1195 1 20 2 20 + 2.2802643907348267E-02 a 1196 1 20 2 21 + 8.3743733952396715E-01 a 1197 1 20 2 22 + -3.9872923910188316E+00 a 1198 1 20 2 23 + -3.3066587159099775E-01 a 1199 1 20 2 24 + -3.3827603813335005E-01 a 1200 1 20 2 25 + 2.0707890624068246E+00 a 1201 1 21 2 1 + 8.1792094222389677E-01 a 1202 1 21 2 2 + 1.0420587694448914E-01 a 1203 1 21 2 3 + 3.8654442605274053E-01 a 1204 1 21 2 4 + -1.0273245523110555E+00 a 1205 1 21 2 5 + 4.8026156110006928E-02 a 1206 1 21 2 6 + -1.2317220364565722E+00 a 1207 1 21 2 7 + -9.2171220979112878E-01 a 1208 1 21 2 8 + -8.3293051813215280E-01 a 1209 1 21 2 9 + 3.7826002267822101E-01 a 1210 1 21 2 10 + -1.2566916573054130E+00 a 1211 1 21 2 11 + -1.4542331491456711E-01 a 1212 1 21 2 12 + -1.0890378021893508E+00 a 1213 1 21 2 13 + -5.8298836953764355E-01 a 1214 1 21 2 14 + -1.9020824106971643E+00 a 1215 1 21 2 15 + 4.4353810152599149E-01 a 1216 1 21 2 16 + -2.9928311527046703E-01 a 1217 1 21 2 17 + -7.7527928990984052E-01 a 1218 1 21 2 18 + 2.6159175407438195E-01 a 1219 1 21 2 19 + -2.6604337400489050E-02 a 1220 1 21 2 20 + -4.6552795168897604E-01 a 1221 1 21 2 21 + 1.1611386377657384E+00 a 1222 1 21 2 22 + -1.2972265245341139E+00 a 1223 1 21 2 23 + 1.8117173751313085E+00 a 1224 1 21 2 24 + 1.0433495561237927E+00 a 1225 1 21 2 25 + 1.5410314634266913E+00 a 1226 1 22 2 1 + 6.6201420998527072E-01 a 1227 1 22 2 2 + 1.1189293597068475E+00 a 1228 1 22 2 3 + -1.1536147566508355E+00 a 1229 1 22 2 4 + -8.4859080711662893E-01 a 1230 1 22 2 5 + 3.7903158089014494E-01 a 1231 1 22 2 6 + -2.6461659405296234E+00 a 1232 1 22 2 7 + 2.2472472042954434E+00 a 1233 1 22 2 8 + -9.2281733258289744E-01 a 1234 1 22 2 9 + 8.7312141982063785E-01 a 1235 1 22 2 10 + -4.3593190134289528E-01 a 1236 1 22 2 11 + 5.1912574126564559E-01 a 1237 1 22 2 12 + -5.9029854481930821E-01 a 1238 1 22 2 13 + -7.2255183403800793E-01 a 1239 1 22 2 14 + 4.1024670935059383E-02 a 1240 1 22 2 15 + 2.0425371936604741E-01 a 1241 1 22 2 16 + -1.0394832812330597E+00 a 1242 1 22 2 17 + 4.7202219372950349E-01 a 1243 1 22 2 18 + -1.9958648332222221E-03 a 1244 1 22 2 19 + -1.4664186611455649E-02 a 1245 1 22 2 20 + 1.0689476163444707E+00 a 1246 1 22 2 21 + 8.4484833020425232E-01 a 1247 1 22 2 22 + -1.4147373614558330E+00 a 1248 1 22 2 23 + 1.9187324467269602E+00 a 1249 1 22 2 24 + 1.5330124676330812E+00 a 1250 1 22 2 25 + 2.3019050197742894E+00 a 1251 1 23 2 1 + -1.3828322911066271E-01 a 1252 1 23 2 2 + -2.3555430378419923E-01 a 1253 1 23 2 3 + -1.3434989779696097E-01 a 1254 1 23 2 4 + 3.7852663531566189E-01 a 1255 1 23 2 5 + 9.8266847359694973E-02 a 1256 1 23 2 6 + 3.2721968443206462E-01 a 1257 1 23 2 7 + -3.7061171550241617E-01 a 1258 1 23 2 8 + 2.2862436245090851E+00 a 1259 1 23 2 9 + 1.7674065728047832E+00 a 1260 1 23 2 10 + -5.2627257197444939E-02 a 1261 1 23 2 11 + 9.4094481148145870E-01 a 1262 1 23 2 12 + 1.0616552648143298E+00 a 1263 1 23 2 13 + -1.6065739188681796E-01 a 1264 1 23 2 14 + 1.6833160475834315E+00 a 1265 1 23 2 15 + -5.5679530352182072E-01 a 1266 1 23 2 16 + 4.2170082515325280E-01 a 1267 1 23 2 17 + 1.8142946234467967E+00 a 1268 1 23 2 18 + -6.0004075552166369E-01 a 1269 1 23 2 19 + 8.6767695096505049E-01 a 1270 1 23 2 20 + 1.7471709925670367E-01 a 1271 1 23 2 21 + 6.3494817986861019E-01 a 1272 1 23 2 22 + 7.9839233743975266E-02 a 1273 1 23 2 23 + -8.7497499907984810E-01 a 1274 1 23 2 24 + -2.1279336414401262E-01 a 1275 1 23 2 25 + -1.0628518357816100E+01 a 1276 1 24 2 1 + -3.4149879843865938E-01 a 1277 1 24 2 2 + -4.0534872173827868E-01 a 1278 1 24 2 3 + 1.0980204380257913E-01 a 1279 1 24 2 4 + 1.8376924276804879E-01 a 1280 1 24 2 5 + 8.5047887536146360E-01 a 1281 1 24 2 6 + 4.3913590571042438E-01 a 1282 1 24 2 7 + 2.7167430357232609E+00 a 1283 1 24 2 8 + 2.9682659556600960E-01 a 1284 1 24 2 9 + -1.6032245851281013E+00 a 1285 1 24 2 10 + -6.7567048640865046E-01 a 1286 1 24 2 11 + -1.5253382251900995E+00 a 1287 1 24 2 12 + -6.7540631566041298E-01 a 1288 1 24 2 13 + -1.4565321192168545E+00 a 1289 1 24 2 14 + -1.3315414628143039E+00 a 1290 1 24 2 15 + 1.2552098425264056E+00 a 1291 1 24 2 16 + -1.1701558601459501E+00 a 1292 1 24 2 17 + 2.1967564647703792E+00 a 1293 1 24 2 18 + 3.6767594091430167E-01 a 1294 1 24 2 19 + 1.4791781996464841E+00 a 1295 1 24 2 20 + -2.4597335939693896E+00 a 1296 1 24 2 21 + 1.8222789722776007E+00 a 1297 1 24 2 22 + -2.4818384588216302E+00 a 1298 1 24 2 23 + -1.3359962912345340E+00 a 1299 1 24 2 24 + -1.6060924344568878E-02 a 1300 1 24 2 25 + -1.1558703878945702E+00 a 1301 1 25 2 1 + 5.5859771317693908E-02 a 1302 1 25 2 2 + -1.9275021348316721E+00 a 1303 1 25 2 3 + 4.2881321046205173E-01 a 1304 1 25 2 4 + 6.6308764508018558E-01 a 1305 1 25 2 5 + -2.5357661809360188E-01 a 1306 1 25 2 6 + 7.7965409617466697E-01 a 1307 1 25 2 7 + -1.9470416731652336E+00 a 1308 1 25 2 8 + 2.0923659915641873E-01 a 1309 1 25 2 9 + 8.9211452410465542E-01 a 1310 1 25 2 10 + -1.9807939822570442E-01 a 1311 1 25 2 11 + -5.0922943173038127E-01 a 1312 1 25 2 12 + 1.3378430979044107E+00 a 1313 1 25 2 13 + -6.8964614083753073E-01 a 1314 1 25 2 14 + 7.6939619343191556E-01 a 1315 1 25 2 15 + -1.5783243312480257E+00 a 1316 1 25 2 16 + 2.3586020281744577E+00 a 1317 1 25 2 17 + -5.1641666185758928E-01 a 1318 1 25 2 18 + 1.0291540870545792E+00 a 1319 1 25 2 19 + 1.5269830348487650E+00 a 1320 1 25 2 20 + -2.8987700591417855E+00 a 1321 1 25 2 21 + 9.0207337792476916E-01 a 1322 1 25 2 22 + 1.9890049402284911E+00 a 1323 1 25 2 23 + 3.9387622927433424E-01 a 1324 1 25 2 24 + 9.9397126232482103E-01 a 1325 1 25 2 25 + 2.5306467041996967E+00 b 1326 2 1 + 3.1633393474977245E+00 b 1327 2 2 + -1.1644295509710691E+00 b 1328 2 3 + -5.7686722641223600E+00 b 1329 2 4 + 2.0065022303893989E+00 b 1330 2 5 + -5.9106057000795840E+00 b 1331 2 6 + -1.1326093285804056E+01 b 1332 2 7 + -3.9025063397327071E+00 b 1333 2 8 + 4.4520505166676267E+00 b 1334 2 9 + -1.7352681951318241E+00 b 1335 2 10 + -2.1518912430432668E+00 b 1336 2 11 + 5.0463376560082969E+00 b 1337 2 12 + -2.2614514173852837E-01 b 1338 2 13 + -4.1454590614747211E+00 b 1339 2 14 + 1.6688417293495756E+00 b 1340 2 15 + -5.8649976938793378E+00 b 1341 2 16 + -3.8350084459541849E+00 b 1342 2 17 + 1.3730477223722950E+00 b 1343 2 18 + 1.8506935712854127E+00 b 1344 2 19 + 5.7362757779153428E+00 b 1345 2 20 + 7.2901484895568780E+00 b 1346 2 21 + 3.9773783666446022E-01 b 1347 2 22 + -6.1298011242151409E+00 b 1348 2 23 + 9.9698755072742991E+00 b 1349 2 24 + 1.1801564149295556E+00 b 1350 2 25 + 1.2704098997067026E+01 a 1351 2 1 3 1 + 1.5947733940307620E+00 a 1352 2 2 3 1 + -1.6022927057878529E+00 a 1353 2 3 3 1 + -1.5507258540777733E+00 a 1354 2 4 3 1 + 1.8696884022727636E+00 a 1355 2 5 3 1 + -8.2051908880071633E-01 a 1356 2 6 3 1 + 9.4325719092522542E-01 a 1357 2 7 3 1 + 2.4098435369626174E+00 a 1358 2 8 3 1 + 1.4100759633042474E+00 a 1359 2 9 3 1 + -1.4613034838529613E+00 a 1360 2 10 3 1 + 1.0296574685193380E+00 a 1361 2 11 3 1 + 1.2413851904356363E+00 a 1362 2 12 3 1 + -6.3168181712211169E-01 a 1363 2 13 3 1 + 7.6424175125347729E+00 a 1364 2 14 3 1 + -1.3477038299214714E+00 a 1365 2 15 3 1 + -1.6064659765754943E+00 a 1366 2 16 3 1 + -8.9624380518145874E-01 a 1367 2 17 3 1 + -1.0509865792522375E+00 a 1368 2 18 3 1 + 8.1847872933853638E-01 a 1369 2 19 3 1 + 1.2845504810303034E+00 a 1370 2 20 3 1 + -5.1879822944368881E-01 a 1371 2 21 3 1 + -7.2018714033119180E-01 a 1372 2 22 3 1 + 5.9870832883780798E+00 a 1373 2 23 3 1 + -6.0589155387470683E-01 a 1374 2 24 3 1 + 5.0177609140285355E+00 a 1375 2 25 3 1 + 9.7386086372975722E+00 b 1376 3 1 diff --git a/examples/USER/nnp/nnp-data/weights.008.data b/examples/USER/nnp/nnp-data/weights.008.data new file mode 100644 index 0000000000..fbdbaa1411 --- /dev/null +++ b/examples/USER/nnp/nnp-data/weights.008.data @@ -0,0 +1,1467 @@ +################################################################################ +# Neural network connection values (weights and biases). +################################################################################ +# Col Name Description +################################################################################ +# 1 connection Neural network connection value. +# 2 t Connection type (a = weight, b = bias). +# 3 index Index enumerating weights. +# 4 l_s Starting point layer (end point layer for biases). +# 5 n_s Starting point neuron in starting layer (end point neuron for biases). +# 6 l_e End point layer. +# 7 n_e End point neuron in end layer. +################################################################################ +# 1 2 3 4 5 6 7 +# connection t index l_s n_s l_e n_e +############################################################ + -4.2252995889643252E-01 a 1 0 1 1 1 + -6.0555645962054347E+00 a 2 0 1 1 2 + 1.4040722027928377E+01 a 3 0 1 1 3 + -2.7041370011942618E+00 a 4 0 1 1 4 + -3.8202743208058858E+00 a 5 0 1 1 5 + -3.3612643261393358E+00 a 6 0 1 1 6 + -2.0418101025905258E+00 a 7 0 1 1 7 + 7.5707237340996727E+00 a 8 0 1 1 8 + -5.8098755815926548E+00 a 9 0 1 1 9 + -6.0966886893925210E-01 a 10 0 1 1 10 + 5.8061564015115206E+00 a 11 0 1 1 11 + -1.5509339733099867E+00 a 12 0 1 1 12 + 1.9747395485200818E+00 a 13 0 1 1 13 + 4.5260782279680539E-01 a 14 0 1 1 14 + 9.9210415760283279E+00 a 15 0 1 1 15 + -6.5078831481547121E+00 a 16 0 1 1 16 + -3.4768832871318085E+00 a 17 0 1 1 17 + -1.9463994340943838E+00 a 18 0 1 1 18 + -3.4186058699290269E+00 a 19 0 1 1 19 + 1.2263643166698479E+00 a 20 0 1 1 20 + -5.9171161834436594E+00 a 21 0 1 1 21 + 1.8436267358458363E+00 a 22 0 1 1 22 + -2.3139530616378448E+00 a 23 0 1 1 23 + -1.7228542411478951E+01 a 24 0 1 1 24 + 2.2888610253215895E+00 a 25 0 1 1 25 + 8.0819405565169262E+00 a 26 0 2 1 1 + 8.0066409422078735E+00 a 27 0 2 1 2 + -2.8439251469462398E+01 a 28 0 2 1 3 + -1.1146087290797917E+01 a 29 0 2 1 4 + -7.5292172093563314E+00 a 30 0 2 1 5 + -4.0783685663337641E+00 a 31 0 2 1 6 + -4.4130406528599337E+00 a 32 0 2 1 7 + 1.0563249167508673E+01 a 33 0 2 1 8 + 1.0933105521974941E+01 a 34 0 2 1 9 + -1.1646509907117448E+01 a 35 0 2 1 10 + -7.5007478428041727E+00 a 36 0 2 1 11 + 7.7790182254249176E+00 a 37 0 2 1 12 + 1.1567034492555623E+01 a 38 0 2 1 13 + -4.2051741520233508E+00 a 39 0 2 1 14 + 3.1165306119132130E+00 a 40 0 2 1 15 + 1.6385645103485370E+01 a 41 0 2 1 16 + 2.6440539124381655E+00 a 42 0 2 1 17 + -3.9524518111687827E+00 a 43 0 2 1 18 + -8.7912410635652076E+00 a 44 0 2 1 19 + 4.3903318583813933E+00 a 45 0 2 1 20 + 3.3748047065442632E-01 a 46 0 2 1 21 + -6.6858946327311741E-01 a 47 0 2 1 22 + 5.4447187026310928E+00 a 48 0 2 1 23 + 1.9966018946508100E+01 a 49 0 2 1 24 + -1.7414420670154115E+01 a 50 0 2 1 25 + -3.9418657694849879E-01 a 51 0 3 1 1 + 9.1804829174186846E+00 a 52 0 3 1 2 + -1.0485089041850278E+01 a 53 0 3 1 3 + 8.9380499555048889E+00 a 54 0 3 1 4 + 1.0758607876097068E+01 a 55 0 3 1 5 + 7.2881492125393788E+00 a 56 0 3 1 6 + 8.2627077997774609E+00 a 57 0 3 1 7 + -1.2523613158520124E+01 a 58 0 3 1 8 + 4.5963999046141870E+00 a 59 0 3 1 9 + 8.2776469521184293E+00 a 60 0 3 1 10 + -2.1354371687617113E+00 a 61 0 3 1 11 + -9.0381751821938234E+00 a 62 0 3 1 12 + -1.2209592338152297E+00 a 63 0 3 1 13 + 4.7653671372245672E+00 a 64 0 3 1 14 + -1.7909124818088952E+01 a 65 0 3 1 15 + 3.2182917515973237E+00 a 66 0 3 1 16 + -2.3712750109800793E+00 a 67 0 3 1 17 + 4.6394007836500366E+00 a 68 0 3 1 18 + 2.3761984937954490E+00 a 69 0 3 1 19 + -1.0484832585147684E+01 a 70 0 3 1 20 + 1.2317970755621140E+01 a 71 0 3 1 21 + -1.5014054499447769E+00 a 72 0 3 1 22 + -1.1215435083480425E+00 a 73 0 3 1 23 + 8.9428653321614355E+00 a 74 0 3 1 24 + 1.2636165742848842E+00 a 75 0 3 1 25 + -1.3406492086741725E+01 a 76 0 4 1 1 + -1.0241053204283523E+01 a 77 0 4 1 2 + 4.3016369326050899E+01 a 78 0 4 1 3 + 2.0170433813810671E+01 a 79 0 4 1 4 + 1.3209328101408278E+01 a 80 0 4 1 5 + 1.2456789467161695E+01 a 81 0 4 1 6 + 4.3498515722861573E+00 a 82 0 4 1 7 + -2.1948185511490657E+01 a 83 0 4 1 8 + -1.5329558038416376E+01 a 84 0 4 1 9 + 1.4173337432869845E+01 a 85 0 4 1 10 + 5.6040631650516088E+00 a 86 0 4 1 11 + -9.7646834958548663E+00 a 87 0 4 1 12 + -1.3810669587629080E+01 a 88 0 4 1 13 + -1.5274915717855073E+00 a 89 0 4 1 14 + -1.3662043326477198E+01 a 90 0 4 1 15 + -2.5095635769057225E+01 a 91 0 4 1 16 + 5.4033548590960638E+00 a 92 0 4 1 17 + 1.1047593171711565E+01 a 93 0 4 1 18 + 1.9404912122904062E+01 a 94 0 4 1 19 + 2.4043652449872512E+00 a 95 0 4 1 20 + -3.3818087825635010E+00 a 96 0 4 1 21 + -4.9505657938825802E+00 a 97 0 4 1 22 + 6.2159614529590854E+00 a 98 0 4 1 23 + -1.9315299866781363E+01 a 99 0 4 1 24 + 2.4149549923763363E+01 a 100 0 4 1 25 + 2.2633190213689671E+00 a 101 0 5 1 1 + -1.1275056403465689E+01 a 102 0 5 1 2 + 1.2588751117785917E+00 a 103 0 5 1 3 + -1.7399288116611554E+01 a 104 0 5 1 4 + -1.8915392010979964E+01 a 105 0 5 1 5 + -6.5088880348621911E+00 a 106 0 5 1 6 + -8.7022768117985532E+00 a 107 0 5 1 7 + 9.5716939158219958E+00 a 108 0 5 1 8 + 6.7173652175539926E+00 a 109 0 5 1 9 + -1.0675975211687946E+01 a 110 0 5 1 10 + -9.8676303718126039E+00 a 111 0 5 1 11 + 2.2213929552875065E+01 a 112 0 5 1 12 + -3.9036053816020080E+00 a 113 0 5 1 13 + -1.0319098765495239E+01 a 114 0 5 1 14 + 2.0443220229254024E+01 a 115 0 5 1 15 + -1.4108663925115768E+00 a 116 0 5 1 16 + 8.2741724462704607E+00 a 117 0 5 1 17 + -5.3497533478370061E+00 a 118 0 5 1 18 + 1.0188467515179238E+00 a 119 0 5 1 19 + 3.3447636806848529E+00 a 120 0 5 1 20 + -6.3209134939668381E+00 a 121 0 5 1 21 + 7.0841649292282804E+00 a 122 0 5 1 22 + -1.3545092924552248E+01 a 123 0 5 1 23 + -1.0559922896741500E+00 a 124 0 5 1 24 + -1.6720809451360648E+00 a 125 0 5 1 25 + 2.8772403595811382E+00 a 126 0 6 1 1 + 6.6056181351338488E+00 a 127 0 6 1 2 + -2.1395393088585266E+01 a 128 0 6 1 3 + -1.6735909985964671E+01 a 129 0 6 1 4 + -4.4466039540570526E+00 a 130 0 6 1 5 + -1.9134274750411421E+01 a 131 0 6 1 6 + 7.4840405517853625E+00 a 132 0 6 1 7 + 1.5375004378912831E+01 a 133 0 6 1 8 + -3.2781218210557539E-01 a 134 0 6 1 9 + 5.1424696656729978E+00 a 135 0 6 1 10 + 2.4028588442306344E+00 a 136 0 6 1 11 + 1.6576032835324068E+00 a 137 0 6 1 12 + -1.8331489599850683E+00 a 138 0 6 1 13 + 1.5714883034771246E+01 a 139 0 6 1 14 + 1.3932522318533026E+01 a 140 0 6 1 15 + 3.0252340531342401E+01 a 141 0 6 1 16 + -2.0172838001093005E+01 a 142 0 6 1 17 + -1.3208548828817202E+01 a 143 0 6 1 18 + -1.1333313633908213E+01 a 144 0 6 1 19 + -2.2075367220543007E-01 a 145 0 6 1 20 + 5.4183716265511874E+00 a 146 0 6 1 21 + 4.4469214579975294E+00 a 147 0 6 1 22 + -1.7974421141420628E+01 a 148 0 6 1 23 + 1.3331466657294333E+01 a 149 0 6 1 24 + -1.0273470133062483E+01 a 150 0 6 1 25 + -1.3893961251032516E+00 a 151 0 7 1 1 + 4.8442398001659086E+00 a 152 0 7 1 2 + -1.4036072623897150E+01 a 153 0 7 1 3 + 1.9115742411572878E+01 a 154 0 7 1 4 + 1.7609386484170951E+01 a 155 0 7 1 5 + 7.6541742060341660E+00 a 156 0 7 1 6 + 2.6652782695389745E+00 a 157 0 7 1 7 + -4.1794554937287582E+00 a 158 0 7 1 8 + -1.1905203283691870E+01 a 159 0 7 1 9 + 9.5475237719776391E+00 a 160 0 7 1 10 + 7.7121176720610016E+00 a 161 0 7 1 11 + -1.6773486202682584E+01 a 162 0 7 1 12 + 8.6676731368122528E+00 a 163 0 7 1 13 + -1.2293039810028539E+00 a 164 0 7 1 14 + -2.2811823974655120E+01 a 165 0 7 1 15 + -7.1906975038556888E+00 a 166 0 7 1 16 + -1.1100936660627136E+01 a 167 0 7 1 17 + 2.5096456515549410E+00 a 168 0 7 1 18 + -8.2830054125661903E+00 a 169 0 7 1 19 + 1.4308990630020320E+01 a 170 0 7 1 20 + -1.4211125648871650E+00 a 171 0 7 1 21 + -7.1030788471181472E-01 a 172 0 7 1 22 + 1.9855633135275369E+01 a 173 0 7 1 23 + -5.0222825995011018E+00 a 174 0 7 1 24 + 2.8336876309217565E+00 a 175 0 7 1 25 + 1.2989870863882689E+00 a 176 0 8 1 1 + 1.6317155326554985E+01 a 177 0 8 1 2 + 1.1299807220875589E+01 a 178 0 8 1 3 + 1.6662446968000719E+01 a 179 0 8 1 4 + -2.1148958055015852E+00 a 180 0 8 1 5 + 8.0807820713485157E+00 a 181 0 8 1 6 + 1.4756928529491644E+00 a 182 0 8 1 7 + -1.8576498548437503E+00 a 183 0 8 1 8 + -6.5803763266761752E+00 a 184 0 8 1 9 + -1.4617321665219620E+01 a 185 0 8 1 10 + 2.5420127922121498E+00 a 186 0 8 1 11 + -1.1459546725077542E+01 a 187 0 8 1 12 + -5.7279252792377344E-01 a 188 0 8 1 13 + 6.6995479956870465E+00 a 189 0 8 1 14 + 6.5026121098595775E+00 a 190 0 8 1 15 + -2.4146992911321604E+01 a 191 0 8 1 16 + 1.7592777430005096E+01 a 192 0 8 1 17 + -4.4088079834404530E+00 a 193 0 8 1 18 + 2.6619475322128787E+00 a 194 0 8 1 19 + -2.7620162813322896E+01 a 195 0 8 1 20 + 1.1312775745303194E+01 a 196 0 8 1 21 + 7.8960900397005016E+00 a 197 0 8 1 22 + -9.2584890220611644E+00 a 198 0 8 1 23 + -7.5829075251590856E+00 a 199 0 8 1 24 + -1.5702889381396949E+01 a 200 0 8 1 25 + -6.0639703911359019E-02 a 201 0 9 1 1 + -4.9247565651287832E+00 a 202 0 9 1 2 + 1.2106355466042226E+01 a 203 0 9 1 3 + -8.5040672154593562E+00 a 204 0 9 1 4 + -1.9730634072023652E+00 a 205 0 9 1 5 + 1.3338172438762994E+00 a 206 0 9 1 6 + 1.0403848598882854E+00 a 207 0 9 1 7 + 3.1716127040577504E+00 a 208 0 9 1 8 + 4.8548323846115409E+00 a 209 0 9 1 9 + 2.8285159512886676E-01 a 210 0 9 1 10 + -7.2538963241095287E+00 a 211 0 9 1 11 + 5.6605292741969135E+00 a 212 0 9 1 12 + -7.3281447205805028E+00 a 213 0 9 1 13 + -7.2323271523996810E+00 a 214 0 9 1 14 + 2.7162165549305191E+00 a 215 0 9 1 15 + 4.7371512123906303E+00 a 216 0 9 1 16 + -1.2795462595586067E+00 a 217 0 9 1 17 + -1.2479842668197239E+00 a 218 0 9 1 18 + 8.2517482868477465E+00 a 219 0 9 1 19 + 1.5771106219004059E+00 a 220 0 9 1 20 + 1.1199186705905022E+00 a 221 0 9 1 21 + -2.3206003597031788E-01 a 222 0 9 1 22 + -1.8081347949376255E+01 a 223 0 9 1 23 + 6.4100804204621458E+00 a 224 0 9 1 24 + 2.0638413110708587E-01 a 225 0 9 1 25 + 5.4946010011519562E+00 a 226 0 10 1 1 + -1.0007883449351111E+01 a 227 0 10 1 2 + -4.2092466490417992E+00 a 228 0 10 1 3 + -5.1484334386740827E+00 a 229 0 10 1 4 + 3.8492140234244099E+00 a 230 0 10 1 5 + 3.7806988156875683E+00 a 231 0 10 1 6 + -3.3355303672289521E-01 a 232 0 10 1 7 + 8.5957281207011293E-01 a 233 0 10 1 8 + 2.6318043159412694E+00 a 234 0 10 1 9 + -2.0370256057905092E+00 a 235 0 10 1 10 + -6.0705410865883813E+00 a 236 0 10 1 11 + 7.7663948435164212E+00 a 237 0 10 1 12 + 5.2575997574986886E+00 a 238 0 10 1 13 + -1.0970226410597640E+01 a 239 0 10 1 14 + -8.2022944757991745E+00 a 240 0 10 1 15 + 1.4611135167439018E+00 a 241 0 10 1 16 + -9.6067700839357795E-01 a 242 0 10 1 17 + 2.8969685517227264E+00 a 243 0 10 1 18 + 5.1871728208292078E-01 a 244 0 10 1 19 + 5.9723981759776086E+00 a 245 0 10 1 20 + -5.6526426853755227E+00 a 246 0 10 1 21 + -5.7012415503934060E+00 a 247 0 10 1 22 + 1.3226673860538469E+01 a 248 0 10 1 23 + -1.1596542017869393E+00 a 249 0 10 1 24 + 4.5181717464756330E+00 a 250 0 10 1 25 + 2.9081108390343352E-01 a 251 0 11 1 1 + 7.0173519357555021E+00 a 252 0 11 1 2 + -2.7343225639603612E+00 a 253 0 11 1 3 + 6.7125648985634467E-01 a 254 0 11 1 4 + -1.4389607300831309E+00 a 255 0 11 1 5 + 2.0863810552553317E+00 a 256 0 11 1 6 + -2.8278441217480297E+00 a 257 0 11 1 7 + -1.8684390261232542E+00 a 258 0 11 1 8 + 1.5173228455949850E+00 a 259 0 11 1 9 + -1.7720802500487582E+00 a 260 0 11 1 10 + 2.9615007040584400E+00 a 261 0 11 1 11 + 5.5888676956090788E-01 a 262 0 11 1 12 + -4.1893717343842518E-01 a 263 0 11 1 13 + -4.5555017384864960E-01 a 264 0 11 1 14 + -1.2004787116771394E+00 a 265 0 11 1 15 + -4.3671713173561306E+00 a 266 0 11 1 16 + 2.6268170207311425E+00 a 267 0 11 1 17 + 2.0861374981960101E+00 a 268 0 11 1 18 + -3.9467976641769651E+00 a 269 0 11 1 19 + -2.8568852978075676E+00 a 270 0 11 1 20 + -3.6298673422613743E+00 a 271 0 11 1 21 + -2.3751659557584084E+00 a 272 0 11 1 22 + 9.6961030126275300E+00 a 273 0 11 1 23 + -3.8360345397984514E+00 a 274 0 11 1 24 + 7.4917832681719021E-01 a 275 0 11 1 25 + -3.8601565331430994E+00 a 276 0 12 1 1 + 1.2334085724542578E+00 a 277 0 12 1 2 + 1.3883137264471166E+00 a 278 0 12 1 3 + 3.5605774607307024E+00 a 279 0 12 1 4 + -5.7819414222489574E+00 a 280 0 12 1 5 + -1.2501210997170223E-01 a 281 0 12 1 6 + -4.2808961405835779E+00 a 282 0 12 1 7 + -7.3252216114344915E+00 a 283 0 12 1 8 + 6.0219945070033543E-01 a 284 0 12 1 9 + 3.1395849109967169E+00 a 285 0 12 1 10 + 3.0305896266861554E+00 a 286 0 12 1 11 + -1.4143455695905820E+00 a 287 0 12 1 12 + -5.4638828890258671E+00 a 288 0 12 1 13 + 6.4792557797350705E+00 a 289 0 12 1 14 + 4.5371436871747193E+00 a 290 0 12 1 15 + -1.1533461552353546E+00 a 291 0 12 1 16 + -2.3558298927391648E+00 a 292 0 12 1 17 + 1.7399171589274749E+00 a 293 0 12 1 18 + -4.8487063398429440E+00 a 294 0 12 1 19 + -5.7033421532043960E-01 a 295 0 12 1 20 + -1.4257707367342978E+00 a 296 0 12 1 21 + -2.6397293314995309E+00 a 297 0 12 1 22 + -2.2627535308920042E+00 a 298 0 12 1 23 + -2.7717009651755204E+00 a 299 0 12 1 24 + 2.7387478336632087E+00 a 300 0 12 1 25 + 2.4186741478605520E+00 a 301 0 13 1 1 + -3.4944840306430418E+00 a 302 0 13 1 2 + 2.1030004854108602E+00 a 303 0 13 1 3 + 1.4374186253345995E+00 a 304 0 13 1 4 + 1.1617439780972767E+00 a 305 0 13 1 5 + -2.6439447388124258E+00 a 306 0 13 1 6 + 2.4329755420814574E+00 a 307 0 13 1 7 + -8.5717844737500770E-01 a 308 0 13 1 8 + -2.3888368245484140E+00 a 309 0 13 1 9 + 7.8077425868699946E-01 a 310 0 13 1 10 + -1.6080862934589075E+00 a 311 0 13 1 11 + 1.2697401381575075E+00 a 312 0 13 1 12 + 1.3337003897559968E-01 a 313 0 13 1 13 + -1.0390225034430518E+00 a 314 0 13 1 14 + 1.1220960772378719E+00 a 315 0 13 1 15 + 2.1672672073943278E+00 a 316 0 13 1 16 + -7.6556432522471796E-02 a 317 0 13 1 17 + -1.4492561882008852E+00 a 318 0 13 1 18 + 3.3180900339831249E-01 a 319 0 13 1 19 + 3.1763960484138609E+00 a 320 0 13 1 20 + 5.8361392577657190E-01 a 321 0 13 1 21 + 9.6511368793992280E-01 a 322 0 13 1 22 + -4.3642051047376942E+00 a 323 0 13 1 23 + 2.4130612852273967E+00 a 324 0 13 1 24 + 1.0958958229814106E+00 a 325 0 13 1 25 + 2.1192597160887914E+00 a 326 0 14 1 1 + -5.0692375773713882E+00 a 327 0 14 1 2 + -2.4507817466810016E+00 a 328 0 14 1 3 + 5.8024848653758093E-02 a 329 0 14 1 4 + 4.8594499142475156E+00 a 330 0 14 1 5 + 3.4489650784571051E+00 a 331 0 14 1 6 + 8.5777967991056789E-02 a 332 0 14 1 7 + 1.1531915319250103E+00 a 333 0 14 1 8 + -7.9405775334483342E-01 a 334 0 14 1 9 + 1.8147497054993594E-01 a 335 0 14 1 10 + 2.3750920638956341E-01 a 336 0 14 1 11 + 2.6614731814111616E+00 a 337 0 14 1 12 + 4.0677517220565420E+00 a 338 0 14 1 13 + -3.9421246902004270E-01 a 339 0 14 1 14 + -2.6358211134625926E+00 a 340 0 14 1 15 + 1.1720175187126387E+00 a 341 0 14 1 16 + 5.0750718124526617E-01 a 342 0 14 1 17 + -1.3756710203592946E+00 a 343 0 14 1 18 + 4.9977012202457938E-01 a 344 0 14 1 19 + 1.2218668685289211E+00 a 345 0 14 1 20 + 3.1076725758015700E-01 a 346 0 14 1 21 + -1.0132494852704739E+00 a 347 0 14 1 22 + 2.4214858213320172E+00 a 348 0 14 1 23 + 2.9887204648229995E+00 a 349 0 14 1 24 + 3.7431348583028434E-01 a 350 0 14 1 25 + -1.0977916798947627E+00 a 351 0 15 1 1 + 1.0701397562333292E+00 a 352 0 15 1 2 + -5.9035817224644660E-01 a 353 0 15 1 3 + -9.0748114915258671E-01 a 354 0 15 1 4 + -1.3253508128910669E+00 a 355 0 15 1 5 + 7.8765245831574060E-01 a 356 0 15 1 6 + 2.7327135863692200E-02 a 357 0 15 1 7 + 4.6463720795787411E-01 a 358 0 15 1 8 + 4.9974432422740439E-01 a 359 0 15 1 9 + 4.2798717717048357E-01 a 360 0 15 1 10 + 6.8710860008055796E-01 a 361 0 15 1 11 + 1.7139879331687053E+00 a 362 0 15 1 12 + 5.6268488724491939E-01 a 363 0 15 1 13 + 6.6750989111862047E-01 a 364 0 15 1 14 + 1.4397221680585286E+00 a 365 0 15 1 15 + 4.5279750008423403E-01 a 366 0 15 1 16 + 5.0866419627153892E-01 a 367 0 15 1 17 + 7.3963180657667227E-01 a 368 0 15 1 18 + 1.1521887951551322E+00 a 369 0 15 1 19 + -1.4866183272524940E+00 a 370 0 15 1 20 + -1.3616398521253987E+00 a 371 0 15 1 21 + 2.6202790834594486E-01 a 372 0 15 1 22 + 1.5074957279738481E+00 a 373 0 15 1 23 + -1.6205035893428665E+00 a 374 0 15 1 24 + -1.2998391238039100E+00 a 375 0 15 1 25 + -9.3641853880742010E-01 a 376 0 16 1 1 + -2.7376928409123931E+00 a 377 0 16 1 2 + 7.9332155487453226E-01 a 378 0 16 1 3 + -2.8525664756125607E-01 a 379 0 16 1 4 + 7.4751196527836983E-01 a 380 0 16 1 5 + 1.0249289098173713E+00 a 381 0 16 1 6 + -1.8546442663400537E+00 a 382 0 16 1 7 + -1.0549897952608451E+00 a 383 0 16 1 8 + -6.3630120361611320E-01 a 384 0 16 1 9 + 6.6237612981615623E-01 a 385 0 16 1 10 + -5.5448950463878743E-01 a 386 0 16 1 11 + 1.2050106911060470E+00 a 387 0 16 1 12 + 3.9737497458180110E-01 a 388 0 16 1 13 + 5.0109748335825777E-01 a 389 0 16 1 14 + 4.0327652547372667E-01 a 390 0 16 1 15 + 8.8643064796620796E-01 a 391 0 16 1 16 + 4.6304323223345301E-01 a 392 0 16 1 17 + -2.4505895284404668E+00 a 393 0 16 1 18 + -8.4133364692195267E-01 a 394 0 16 1 19 + -1.5110010117067827E+00 a 395 0 16 1 20 + 3.4085891522501455E-01 a 396 0 16 1 21 + 3.1268038879440385E-01 a 397 0 16 1 22 + 7.4003041706355299E-01 a 398 0 16 1 23 + 1.2178938914740584E-01 a 399 0 16 1 24 + 4.7293074933049455E-02 a 400 0 16 1 25 + 3.1553509583631771E+00 a 401 0 17 1 1 + -5.5802418178018307E+00 a 402 0 17 1 2 + -2.6820887513703795E+00 a 403 0 17 1 3 + 1.3611233633822425E-02 a 404 0 17 1 4 + 4.4816951705937047E+00 a 405 0 17 1 5 + -5.3273421864243655E+00 a 406 0 17 1 6 + -2.8604686865391171E+00 a 407 0 17 1 7 + -6.2409056428356209E+00 a 408 0 17 1 8 + -2.7294113313893482E+00 a 409 0 17 1 9 + 8.0447889701632587E+00 a 410 0 17 1 10 + 3.7968250901451115E+00 a 411 0 17 1 11 + 6.1053141270653644E+00 a 412 0 17 1 12 + 7.9575953043010985E+00 a 413 0 17 1 13 + -8.3646321867855189E-01 a 414 0 17 1 14 + -9.8343457754445236E+00 a 415 0 17 1 15 + 4.9972748246782395E+00 a 416 0 17 1 16 + -1.4965816328493091E+00 a 417 0 17 1 17 + -1.0029228324415648E+01 a 418 0 17 1 18 + 5.2568130437764782E-01 a 419 0 17 1 19 + 3.2629819296919251E+00 a 420 0 17 1 20 + -9.4864262172354721E+00 a 421 0 17 1 21 + 2.0133320481661512E+00 a 422 0 17 1 22 + -2.5824165220386761E+00 a 423 0 17 1 23 + -3.0623541276912514E+00 a 424 0 17 1 24 + 3.6881204417292737E+00 a 425 0 17 1 25 + -3.3612109899887197E+00 a 426 0 18 1 1 + 5.3333455077526706E+00 a 427 0 18 1 2 + 7.0017063538187496E-01 a 428 0 18 1 3 + -4.6596829239008164E+00 a 429 0 18 1 4 + 6.8209756898225093E-01 a 430 0 18 1 5 + -6.5260543610279917E+00 a 431 0 18 1 6 + 1.3123829389003430E+00 a 432 0 18 1 7 + 2.7715931711063098E+00 a 433 0 18 1 8 + 3.5186591355105641E+00 a 434 0 18 1 9 + -4.2634531039835357E+00 a 435 0 18 1 10 + -9.5854201044583798E-01 a 436 0 18 1 11 + -2.0978686052914943E+00 a 437 0 18 1 12 + -8.9772662763029789E+00 a 438 0 18 1 13 + 1.9768645811850407E+00 a 439 0 18 1 14 + 7.3670408489508361E+00 a 440 0 18 1 15 + -4.5370304619720505E+00 a 441 0 18 1 16 + 1.0315059285612109E+00 a 442 0 18 1 17 + 3.1023107845720395E+00 a 443 0 18 1 18 + 2.7011350909821794E+00 a 444 0 18 1 19 + 2.0894755387847144E+00 a 445 0 18 1 20 + 6.4298219839784458E+00 a 446 0 18 1 21 + -3.6389216657484109E+00 a 447 0 18 1 22 + -1.9585064481704217E+00 a 448 0 18 1 23 + 4.3796564928038269E+00 a 449 0 18 1 24 + -1.5242269046632566E+00 a 450 0 18 1 25 + -1.1444499511491067E+01 a 451 0 19 1 1 + -1.2789689392745718E+01 a 452 0 19 1 2 + 3.4789124800619677E+00 a 453 0 19 1 3 + 2.2398697525721655E+01 a 454 0 19 1 4 + -2.9517807553388176E+00 a 455 0 19 1 5 + 1.0456899770851461E+01 a 456 0 19 1 6 + -2.1774384553060873E+01 a 457 0 19 1 7 + -1.4740422142098448E+00 a 458 0 19 1 8 + 2.6104661970128717E+01 a 459 0 19 1 9 + -2.4081133455512077E+01 a 460 0 19 1 10 + 1.3007894745410247E+00 a 461 0 19 1 11 + -5.1546596841336223E+00 a 462 0 19 1 12 + -7.0571054726823768E+00 a 463 0 19 1 13 + 1.3042438116729291E+00 a 464 0 19 1 14 + 1.6928559591291155E+01 a 465 0 19 1 15 + -6.7364772527228753E+00 a 466 0 19 1 16 + 2.9369764139126438E+01 a 467 0 19 1 17 + -5.6164540957105666E+00 a 468 0 19 1 18 + 2.6381479720783041E-01 a 469 0 19 1 19 + 1.1648801072168056E+00 a 470 0 19 1 20 + -9.7621028440308972E+00 a 471 0 19 1 21 + -2.4495819053323867E+01 a 472 0 19 1 22 + 2.0487735845785913E+01 a 473 0 19 1 23 + 1.5613183880507096E+01 a 474 0 19 1 24 + 2.2952898686623944E+00 a 475 0 19 1 25 + 6.7784245511731287E+00 a 476 0 20 1 1 + 3.7512926040238188E+00 a 477 0 20 1 2 + -1.4090584942884933E+01 a 478 0 20 1 3 + -1.7276730895098403E+01 a 479 0 20 1 4 + -1.2210325416588912E+00 a 480 0 20 1 5 + -1.0767095565801567E+01 a 481 0 20 1 6 + 6.5252375427728433E+00 a 482 0 20 1 7 + 2.8116557648596285E+00 a 483 0 20 1 8 + -1.0983036930646623E+01 a 484 0 20 1 9 + 1.0172907238701352E+01 a 485 0 20 1 10 + 8.0436693936395942E-01 a 486 0 20 1 11 + 2.6160210876528285E+00 a 487 0 20 1 12 + 8.0905039578636317E-01 a 488 0 20 1 13 + 3.5280353020086892E+00 a 489 0 20 1 14 + -4.3134519502596707E+00 a 490 0 20 1 15 + -2.7849447275673991E+00 a 491 0 20 1 16 + -7.6081258895571393E+00 a 492 0 20 1 17 + 6.8533490599734781E-01 a 493 0 20 1 18 + -8.6739359281855699E-01 a 494 0 20 1 19 + -1.1561786164848851E+01 a 495 0 20 1 20 + 4.0807329692500307E+00 a 496 0 20 1 21 + 1.5887197851126649E+01 a 497 0 20 1 22 + -1.5862637598212434E+01 a 498 0 20 1 23 + -1.3227492727080636E+01 a 499 0 20 1 24 + -9.6316212012535274E-01 a 500 0 20 1 25 + -2.3311076886477737E+00 a 501 0 21 1 1 + 1.6187410207560906E+00 a 502 0 21 1 2 + 1.5355275536101967E+00 a 503 0 21 1 3 + -3.2576721366136963E+00 a 504 0 21 1 4 + -3.4761287579904248E+00 a 505 0 21 1 5 + 1.1110427672521253E+00 a 506 0 21 1 6 + 1.0503832339541006E+00 a 507 0 21 1 7 + 2.0002973548997698E+00 a 508 0 21 1 8 + 3.2182923729080808E+00 a 509 0 21 1 9 + -2.2459858393943724E+00 a 510 0 21 1 10 + 1.2810707973140767E-02 a 511 0 21 1 11 + -8.1563534776190103E+00 a 512 0 21 1 12 + -2.6664870484279217E+00 a 513 0 21 1 13 + -5.2008558789696768E-01 a 514 0 21 1 14 + 5.9263359598324783E+00 a 515 0 21 1 15 + -1.4747654590104164E+00 a 516 0 21 1 16 + 2.3730444562368276E+00 a 517 0 21 1 17 + 5.4231657477361450E+00 a 518 0 21 1 18 + -1.0028220015349436E+00 a 519 0 21 1 19 + 3.0119511489549000E-01 a 520 0 21 1 20 + 3.2360403670895908E+00 a 521 0 21 1 21 + -3.2353491692288996E+00 a 522 0 21 1 22 + -8.0879941504115449E-01 a 523 0 21 1 23 + 9.9370207571285840E-01 a 524 0 21 1 24 + -7.2681059092628819E-01 a 525 0 21 1 25 + 8.3413635618117183E+00 a 526 0 22 1 1 + 7.3895796140513355E+00 a 527 0 22 1 2 + 2.1756697250124180E-01 a 528 0 22 1 3 + 2.6543860348781723E-01 a 529 0 22 1 4 + -1.8498516872975808E+00 a 530 0 22 1 5 + 1.0502428199989866E+00 a 531 0 22 1 6 + 3.7175285159663547E+00 a 532 0 22 1 7 + 2.1251281160031460E-01 a 533 0 22 1 8 + -1.2749425329558013E+01 a 534 0 22 1 9 + 6.9618741113140565E+00 a 535 0 22 1 10 + -2.9375551290531909E+00 a 536 0 22 1 11 + 9.8578039422085730E+00 a 537 0 22 1 12 + 6.8815773902668811E+00 a 538 0 22 1 13 + 9.2998663834751194E-01 a 539 0 22 1 14 + -1.0389879627527502E+01 a 540 0 22 1 15 + 4.6364264921059863E+00 a 541 0 22 1 16 + -7.6740409341129512E+00 a 542 0 22 1 17 + -4.6479447064519261E+00 a 543 0 22 1 18 + -2.5620100958898320E+00 a 544 0 22 1 19 + 1.5457991948477597E+01 a 545 0 22 1 20 + 7.9493145992034386E-01 a 546 0 22 1 21 + 4.7958967347059449E+00 a 547 0 22 1 22 + 2.1504739859079320E+00 a 548 0 22 1 23 + -5.9214542019936145E+00 a 549 0 22 1 24 + -9.1462629199010259E-01 a 550 0 22 1 25 + 3.0540319266805307E+00 a 551 0 23 1 1 + 4.3754634467797500E+00 a 552 0 23 1 2 + 4.5096649173446322E+00 a 553 0 23 1 3 + -2.2503614840266177E+00 a 554 0 23 1 4 + -1.1334803434549245E+01 a 555 0 23 1 5 + -8.8364348468747647E+00 a 556 0 23 1 6 + 2.9144444511093819E+00 a 557 0 23 1 7 + -1.0877090021950451E+01 a 558 0 23 1 8 + -1.4517389759591161E+01 a 559 0 23 1 9 + -7.2829358977248519E+00 a 560 0 23 1 10 + 2.4988119761586502E+00 a 561 0 23 1 11 + 8.7981693718640113E+00 a 562 0 23 1 12 + 2.4786452563791270E+00 a 563 0 23 1 13 + 1.8364237892475522E+01 a 564 0 23 1 14 + 7.4574092693097054E+00 a 565 0 23 1 15 + -9.7034978508326741E-01 a 566 0 23 1 16 + 7.1658789330581296E+00 a 567 0 23 1 17 + -4.4872661883061777E+00 a 568 0 23 1 18 + 2.8476771569427584E-01 a 569 0 23 1 19 + -9.1645272571282668E+00 a 570 0 23 1 20 + 3.8750578448497071E+00 a 571 0 23 1 21 + 4.1609715214369847E-01 a 572 0 23 1 22 + 1.2357730756189335E+01 a 573 0 23 1 23 + -5.0519285605730913E+00 a 574 0 23 1 24 + -2.7632893038424542E+00 a 575 0 23 1 25 + 9.4738463213928661E+00 a 576 0 24 1 1 + -2.5362311432334366E+00 a 577 0 24 1 2 + -1.2268242324939161E+01 a 578 0 24 1 3 + 7.9061421619290835E+00 a 579 0 24 1 4 + 1.0539726569903403E+01 a 580 0 24 1 5 + -6.3797783653087219E+00 a 581 0 24 1 6 + -1.4177696835725733E+01 a 582 0 24 1 7 + -4.6156928580692194E+00 a 583 0 24 1 8 + 6.3132537211598283E+00 a 584 0 24 1 9 + 1.8887507892262903E+01 a 585 0 24 1 10 + -1.2069885050832546E+01 a 586 0 24 1 11 + 1.1183530607261476E+01 a 587 0 24 1 12 + 7.2056821334149852E+00 a 588 0 24 1 13 + -2.3159371120509263E+01 a 589 0 24 1 14 + -1.1985643844839746E+01 a 590 0 24 1 15 + 1.4710265220567070E+01 a 591 0 24 1 16 + 1.8562745129096871E+01 a 592 0 24 1 17 + 1.4826330637921812E+01 a 593 0 24 1 18 + -9.1706291234673415E-02 a 594 0 24 1 19 + 9.5599325376791793E+00 a 595 0 24 1 20 + -1.5500522506766247E+01 a 596 0 24 1 21 + -4.0279973687131365E+00 a 597 0 24 1 22 + -1.2843351980761906E+01 a 598 0 24 1 23 + 5.2577722042990276E+00 a 599 0 24 1 24 + 2.8387805562348317E-01 a 600 0 24 1 25 + -6.9653745866283661E+00 a 601 0 25 1 1 + 3.7596708302846271E+00 a 602 0 25 1 2 + -7.1099755958673025E+00 a 603 0 25 1 3 + -9.8020092564683203E+00 a 604 0 25 1 4 + -3.6625395621794459E+00 a 605 0 25 1 5 + -5.6976255658621309E+00 a 606 0 25 1 6 + 5.1232693844759114E-01 a 607 0 25 1 7 + -5.3562910792605818E+00 a 608 0 25 1 8 + 2.9928736892583383E+00 a 609 0 25 1 9 + -1.1986788486974794E+01 a 610 0 25 1 10 + 1.2541751950335534E+01 a 611 0 25 1 11 + -4.8904744399762130E+00 a 612 0 25 1 12 + -1.2517871717311579E+01 a 613 0 25 1 13 + 1.7601311789244992E-01 a 614 0 25 1 14 + 1.5019784962869869E+00 a 615 0 25 1 15 + -1.5883570419800751E+01 a 616 0 25 1 16 + -1.7079612401530986E+00 a 617 0 25 1 17 + -2.2295323617615281E+01 a 618 0 25 1 18 + -3.4012905404893741E+00 a 619 0 25 1 19 + 2.3478187378832476E+00 a 620 0 25 1 20 + 2.2370096735428082E+00 a 621 0 25 1 21 + 4.0230075176576188E+00 a 622 0 25 1 22 + -1.1800482820069632E+01 a 623 0 25 1 23 + -2.3371127007862893E+00 a 624 0 25 1 24 + -9.9302820949974571E+00 a 625 0 25 1 25 + -6.8423838128641412E-01 a 626 0 26 1 1 + 6.6007117238438306E-01 a 627 0 26 1 2 + 1.2241360846408888E+01 a 628 0 26 1 3 + -2.6072490206067482E+00 a 629 0 26 1 4 + 9.0133570382689001E+00 a 630 0 26 1 5 + -2.3816390555211381E-01 a 631 0 26 1 6 + -2.5608849082596756E+00 a 632 0 26 1 7 + -6.9567191275983573E+00 a 633 0 26 1 8 + 1.6298741229214230E+01 a 634 0 26 1 9 + 1.1995489889077917E+00 a 635 0 26 1 10 + 5.6011858028801900E+00 a 636 0 26 1 11 + -1.5325613074264185E+01 a 637 0 26 1 12 + -6.9730599534962456E+00 a 638 0 26 1 13 + 2.5515519038766659E+00 a 639 0 26 1 14 + 1.1055188524595701E+01 a 640 0 26 1 15 + -6.1595005277379027E+00 a 641 0 26 1 16 + 6.0445381734594816E+00 a 642 0 26 1 17 + 3.2669248960650630E+00 a 643 0 26 1 18 + -3.9830019591555021E-01 a 644 0 26 1 19 + -2.1318606744100656E+01 a 645 0 26 1 20 + 4.3346628815838901E+00 a 646 0 26 1 21 + 6.0196973388144448E-01 a 647 0 26 1 22 + -8.7412565128199127E+00 a 648 0 26 1 23 + 1.0633295223681274E+00 a 649 0 26 1 24 + -9.1807249233618418E+00 a 650 0 26 1 25 + -1.0451420579109527E+00 a 651 0 27 1 1 + -4.4007271651498421E+00 a 652 0 27 1 2 + -8.5170686557145081E-01 a 653 0 27 1 3 + -2.9322607483930767E+01 a 654 0 27 1 4 + -1.4846515678259935E+01 a 655 0 27 1 5 + -1.2996972006209198E+01 a 656 0 27 1 6 + 2.4054788307415940E+01 a 657 0 27 1 7 + 2.2100434386347196E+01 a 658 0 27 1 8 + -1.5431680098175649E+01 a 659 0 27 1 9 + -1.4795094690014339E+00 a 660 0 27 1 10 + 4.0590355375820080E+00 a 661 0 27 1 11 + 1.4611551096642559E+00 a 662 0 27 1 12 + 1.3447290665751375E+01 a 663 0 27 1 13 + -1.5113355237296055E+01 a 664 0 27 1 14 + -8.8923926466996335E+00 a 665 0 27 1 15 + 2.8423571082912019E+01 a 666 0 27 1 16 + -3.3655638889384839E+01 a 667 0 27 1 17 + 2.0981315151387143E+01 a 668 0 27 1 18 + 1.2141485242989217E+01 a 669 0 27 1 19 + 3.5623729786245297E+00 a 670 0 27 1 20 + 5.1477354131777986E+00 a 671 0 27 1 21 + 1.4270823659451633E+01 a 672 0 27 1 22 + 1.2787104919911693E+01 a 673 0 27 1 23 + -4.8134459786202699E+00 a 674 0 27 1 24 + 1.4748193881878693E+01 a 675 0 27 1 25 + -3.9942795143561942E+00 a 676 0 28 1 1 + -1.4300128651749875E+00 a 677 0 28 1 2 + 2.0184937203419938E+01 a 678 0 28 1 3 + 3.0638004021493149E+01 a 679 0 28 1 4 + 1.0508032441016294E+01 a 680 0 28 1 5 + 1.1991074001401975E+01 a 681 0 28 1 6 + -5.9255249272426413E-01 a 682 0 28 1 7 + -3.2121074351766699E-01 a 683 0 28 1 8 + 2.7631342550566136E+00 a 684 0 28 1 9 + 7.6030801584642091E+00 a 685 0 28 1 10 + -8.4700934597413511E+00 a 686 0 28 1 11 + -1.1517050029424707E+00 a 687 0 28 1 12 + 3.1245547505835773E+00 a 688 0 28 1 13 + 5.4101925016776331E+00 a 689 0 28 1 14 + 3.6300196404522261E-01 a 690 0 28 1 15 + -2.6794776609732893E+00 a 691 0 28 1 16 + -1.9862428783577193E+00 a 692 0 28 1 17 + 6.4565675235263340E+00 a 693 0 28 1 18 + -2.6392662819652473E+00 a 694 0 28 1 19 + 5.8059745610477496E+00 a 695 0 28 1 20 + -5.7983237104606407E-02 a 696 0 28 1 21 + -9.0319282861973207E+00 a 697 0 28 1 22 + 8.0435409634585380E+00 a 698 0 28 1 23 + 7.3441688856650078E+00 a 699 0 28 1 24 + 3.5511710166611383E+00 a 700 0 28 1 25 + -2.6047061214427081E+00 a 701 0 29 1 1 + -2.4405103638746337E+00 a 702 0 29 1 2 + -3.3878614805280107E+00 a 703 0 29 1 3 + 1.0549212555681551E+00 a 704 0 29 1 4 + -1.2161742369441815E-01 a 705 0 29 1 5 + 3.4173092472933281E-01 a 706 0 29 1 6 + -1.3463191076558927E+00 a 707 0 29 1 7 + 4.4190813185882583E+00 a 708 0 29 1 8 + 6.7290373717602980E+00 a 709 0 29 1 9 + 4.4708500446680262E+00 a 710 0 29 1 10 + -1.0313889394571119E+00 a 711 0 29 1 11 + -9.9475035905133371E+00 a 712 0 29 1 12 + -6.6192834107379972E-01 a 713 0 29 1 13 + -2.0556548078687700E-01 a 714 0 29 1 14 + -3.9637318313418941E+00 a 715 0 29 1 15 + -1.2289869131131610E+00 a 716 0 29 1 16 + -5.4511723021114493E+00 a 717 0 29 1 17 + -8.0689509567176265E-01 a 718 0 29 1 18 + -3.1158306238821110E-01 a 719 0 29 1 19 + 7.2639618766221525E-01 a 720 0 29 1 20 + 5.1989489465562333E-01 a 721 0 29 1 21 + 6.9303936820388694E+00 a 722 0 29 1 22 + -6.6201324352418949E+00 a 723 0 29 1 23 + 4.0689424396497271E+00 a 724 0 29 1 24 + -1.1850066807578159E+00 a 725 0 29 1 25 + 8.7614445974677557E-01 a 726 0 30 1 1 + -1.8048466064097568E+00 a 727 0 30 1 2 + -6.2221362133518614E+00 a 728 0 30 1 3 + 5.7783559624093062E-01 a 729 0 30 1 4 + -3.4207102956426043E+00 a 730 0 30 1 5 + 1.2680110199797543E+00 a 731 0 30 1 6 + -8.3685669057456086E-02 a 732 0 30 1 7 + 3.2237039030594392E+00 a 733 0 30 1 8 + -3.7780540307154324E+00 a 734 0 30 1 9 + -7.0185057779406739E+00 a 735 0 30 1 10 + 1.4317327703855180E+00 a 736 0 30 1 11 + 5.8177953018665303E+00 a 737 0 30 1 12 + 2.1837521288246124E+00 a 738 0 30 1 13 + 3.5986915962468458E+00 a 739 0 30 1 14 + 3.4754000595955024E+00 a 740 0 30 1 15 + -3.0663829893214753E+00 a 741 0 30 1 16 + -1.3822434976633107E+00 a 742 0 30 1 17 + 1.5349468899146498E-01 a 743 0 30 1 18 + 1.1569157833000427E+00 a 744 0 30 1 19 + 1.2017528497041774E+00 a 745 0 30 1 20 + -1.2414711274636983E+00 a 746 0 30 1 21 + -4.5639218383633091E+00 a 747 0 30 1 22 + 5.6494694171092759E+00 a 748 0 30 1 23 + -8.3048125390498895E-01 a 749 0 30 1 24 + 4.3788743933084788E+00 a 750 0 30 1 25 + 3.2976996036876777E-01 b 751 1 1 + -7.6753162149878262E-02 b 752 1 2 + 5.2957291514779481E-01 b 753 1 3 + 8.9967694000543574E-01 b 754 1 4 + -1.4669108620710516E+00 b 755 1 5 + -6.1441883725006319E-01 b 756 1 6 + 5.3729477719502683E-01 b 757 1 7 + -2.2852808313159043E-01 b 758 1 8 + 7.5683246092701884E-01 b 759 1 9 + 9.2951180705933067E-01 b 760 1 10 + -1.6607837000359041E-01 b 761 1 11 + 1.2855421885955671E+00 b 762 1 12 + -6.6351549790167119E-01 b 763 1 13 + -2.4554153398558296E-02 b 764 1 14 + -3.4339980484561178E-01 b 765 1 15 + -9.2553047933610888E-01 b 766 1 16 + 9.7450171250037332E-01 b 767 1 17 + 1.4835452165946514E-01 b 768 1 18 + 9.7192598438043926E-02 b 769 1 19 + 1.4752059506491437E+00 b 770 1 20 + -8.7661106403226696E-01 b 771 1 21 + 1.0990160690790944E+00 b 772 1 22 + 3.3964360560284529E-01 b 773 1 23 + -4.9161612149966977E-01 b 774 1 24 + -2.2839286644766421E-01 b 775 1 25 + -5.8908517584542821E+00 a 776 1 1 2 1 + -2.0913621285206658E+00 a 777 1 1 2 2 + 4.5287721099327355E-01 a 778 1 1 2 3 + -9.8235822185197019E-01 a 779 1 1 2 4 + 1.8679455781046309E-01 a 780 1 1 2 5 + 7.2236409862688788E-01 a 781 1 1 2 6 + -1.0952128305447486E+00 a 782 1 1 2 7 + -1.2715812546640866E+00 a 783 1 1 2 8 + 9.0926661808726572E-01 a 784 1 1 2 9 + -1.5287299627512634E+00 a 785 1 1 2 10 + 7.9162623494062245E-01 a 786 1 1 2 11 + 5.7949940694732494E-01 a 787 1 1 2 12 + 1.6580990153167480E-01 a 788 1 1 2 13 + 2.8397342861358628E-03 a 789 1 1 2 14 + 1.8858318363343674E+00 a 790 1 1 2 15 + -3.7573668924575816E-03 a 791 1 1 2 16 + 3.5872324603467060E-01 a 792 1 1 2 17 + -5.8854175207138615E-01 a 793 1 1 2 18 + -8.2185472978130292E-01 a 794 1 1 2 19 + -9.3392308437142760E-02 a 795 1 1 2 20 + -1.7781556156150089E+00 a 796 1 1 2 21 + 2.4333445248996122E+00 a 797 1 1 2 22 + 2.6159528101662080E+00 a 798 1 1 2 23 + 7.7034620197358794E-01 a 799 1 1 2 24 + 1.3112817938798338E-01 a 800 1 1 2 25 + -3.0547902668053291E+00 a 801 1 2 2 1 + 7.1640054602300507E-01 a 802 1 2 2 2 + -6.8418235379502890E-01 a 803 1 2 2 3 + 1.1963916155337171E+00 a 804 1 2 2 4 + 8.3175164904418164E-01 a 805 1 2 2 5 + -1.2910667768601369E+00 a 806 1 2 2 6 + 1.3940397843320076E-01 a 807 1 2 2 7 + 8.9802293884228140E-02 a 808 1 2 2 8 + -5.3283620455482994E-01 a 809 1 2 2 9 + -4.5886266868700822E+00 a 810 1 2 2 10 + 3.2591366420787798E-01 a 811 1 2 2 11 + -4.8808011861401129E-01 a 812 1 2 2 12 + 6.6408389981572347E-01 a 813 1 2 2 13 + -1.3564016278739624E-01 a 814 1 2 2 14 + 2.0093325565763637E-01 a 815 1 2 2 15 + -3.9414016160087695E-01 a 816 1 2 2 16 + -5.3456526125245230E-01 a 817 1 2 2 17 + -5.8961622120501145E-01 a 818 1 2 2 18 + 4.2905576802589285E-01 a 819 1 2 2 19 + -7.4948646256489643E-02 a 820 1 2 2 20 + 1.0795855120984683E+00 a 821 1 2 2 21 + 5.1660712066031622E-01 a 822 1 2 2 22 + -2.1777845392686599E+00 a 823 1 2 2 23 + 9.0219112100596155E-01 a 824 1 2 2 24 + 1.4498455224726376E+00 a 825 1 2 2 25 + 2.3760457370500982E+00 a 826 1 3 2 1 + 2.4470575747650514E-01 a 827 1 3 2 2 + -2.3864404106650594E-01 a 828 1 3 2 3 + 1.1607228558257655E-01 a 829 1 3 2 4 + 9.2638823972992057E-02 a 830 1 3 2 5 + -1.2387124056627918E+00 a 831 1 3 2 6 + -1.1166384060830491E-02 a 832 1 3 2 7 + 6.1419808757107369E-02 a 833 1 3 2 8 + -4.3598488389972007E-01 a 834 1 3 2 9 + 6.9151515632030325E-01 a 835 1 3 2 10 + -4.1343329719297200E-01 a 836 1 3 2 11 + -6.7619125900519594E-01 a 837 1 3 2 12 + 1.5110867240178822E+00 a 838 1 3 2 13 + -2.7782516058360712E-01 a 839 1 3 2 14 + -1.2798402235047135E+00 a 840 1 3 2 15 + 5.9712559458208447E-01 a 841 1 3 2 16 + 7.5894819511398548E-01 a 842 1 3 2 17 + -1.8361922269708919E+00 a 843 1 3 2 18 + 6.4980046402745906E-01 a 844 1 3 2 19 + 1.1060205746807641E+00 a 845 1 3 2 20 + -1.5634514153069341E+00 a 846 1 3 2 21 + -1.2680044537576531E+00 a 847 1 3 2 22 + 4.1126675848448695E+00 a 848 1 3 2 23 + -8.0565419159902618E-02 a 849 1 3 2 24 + 1.0713632203888714E+00 a 850 1 3 2 25 + -1.2782989695001217E+00 a 851 1 4 2 1 + -5.1972465317304858E-02 a 852 1 4 2 2 + -1.0867649641411736E+00 a 853 1 4 2 3 + -1.3135398025848977E+00 a 854 1 4 2 4 + -5.1982871921816276E-02 a 855 1 4 2 5 + -3.5935593906530818E+00 a 856 1 4 2 6 + 1.3144262819841284E+00 a 857 1 4 2 7 + 7.0754388470252050E-01 a 858 1 4 2 8 + 7.2880068937171250E-01 a 859 1 4 2 9 + -3.4140141545172598E+00 a 860 1 4 2 10 + -2.0331589823022944E+00 a 861 1 4 2 11 + -2.1154137563026238E+00 a 862 1 4 2 12 + 5.0853142281523345E-01 a 863 1 4 2 13 + -1.3920134415494716E+00 a 864 1 4 2 14 + -3.5999944432031787E+00 a 865 1 4 2 15 + -4.9781147829027450E-01 a 866 1 4 2 16 + 8.7792449496928038E-01 a 867 1 4 2 17 + -2.0639856068607902E+00 a 868 1 4 2 18 + 1.1797226213420740E+00 a 869 1 4 2 19 + 1.0792638675226118E+00 a 870 1 4 2 20 + 5.2451968596647465E+00 a 871 1 4 2 21 + -2.8460338700873771E+00 a 872 1 4 2 22 + -1.5909179246912686E+00 a 873 1 4 2 23 + 3.0889771958836948E-01 a 874 1 4 2 24 + 4.7602587778402219E+00 a 875 1 4 2 25 + 7.2668111958270765E-01 a 876 1 5 2 1 + 1.1911879823978331E+00 a 877 1 5 2 2 + -1.0408627662174885E+00 a 878 1 5 2 3 + 8.5476990321248669E-02 a 879 1 5 2 4 + -3.1987869639473487E-01 a 880 1 5 2 5 + -5.7487550396295206E-01 a 881 1 5 2 6 + -4.4902054021672533E-01 a 882 1 5 2 7 + 2.4758588717099797E-01 a 883 1 5 2 8 + 5.0875967706178988E+00 a 884 1 5 2 9 + -2.9337180039564692E+00 a 885 1 5 2 10 + 4.5817918171118122E-01 a 886 1 5 2 11 + 1.6927135293597100E+00 a 887 1 5 2 12 + 2.3370693642361644E+00 a 888 1 5 2 13 + -2.0461663341165151E-01 a 889 1 5 2 14 + 5.4776988163510315E-02 a 890 1 5 2 15 + 6.1130290019012101E-01 a 891 1 5 2 16 + 4.7031353324201630E-01 a 892 1 5 2 17 + 5.5245719372345892E-01 a 893 1 5 2 18 + 8.0378467679470091E+00 a 894 1 5 2 19 + 1.9855400588647576E+00 a 895 1 5 2 20 + -8.1174159093989473E-01 a 896 1 5 2 21 + -2.8573856916569711E+00 a 897 1 5 2 22 + 5.2670966553870233E+00 a 898 1 5 2 23 + 1.5132999882210110E+00 a 899 1 5 2 24 + 6.0542148570792911E+00 a 900 1 5 2 25 + -1.4078538701918921E+00 a 901 1 6 2 1 + -5.4799218584955611E-01 a 902 1 6 2 2 + 1.5587272154176429E-01 a 903 1 6 2 3 + 1.0839285667757406E+00 a 904 1 6 2 4 + 2.1666525286428695E-01 a 905 1 6 2 5 + 9.3263653513548525E-02 a 906 1 6 2 6 + -3.0612026016294772E-02 a 907 1 6 2 7 + -8.7154566460998506E-01 a 908 1 6 2 8 + 1.3934441214317003E-01 a 909 1 6 2 9 + 1.2878210442412805E+00 a 910 1 6 2 10 + -2.7822735486696848E-01 a 911 1 6 2 11 + -7.5794386701777761E-01 a 912 1 6 2 12 + 4.0882378268145902E-01 a 913 1 6 2 13 + -4.6927306197597152E-01 a 914 1 6 2 14 + -1.2104091784344238E-01 a 915 1 6 2 15 + 6.2503336594907910E-01 a 916 1 6 2 16 + -1.0721041807888161E+00 a 917 1 6 2 17 + 7.8054931552807061E-01 a 918 1 6 2 18 + 1.3613210727055469E+00 a 919 1 6 2 19 + -3.8704580176559972E-01 a 920 1 6 2 20 + 4.9902818068767845E+00 a 921 1 6 2 21 + -2.3891867347766267E+00 a 922 1 6 2 22 + -1.8975665325495361E+00 a 923 1 6 2 23 + 3.2082333815764796E-01 a 924 1 6 2 24 + 1.6689374070079854E+00 a 925 1 6 2 25 + 2.5996153141520773E+00 a 926 1 7 2 1 + 8.7456136199693657E-01 a 927 1 7 2 2 + 1.0858574435313284E+00 a 928 1 7 2 3 + 2.3238142594746511E+00 a 929 1 7 2 4 + 4.6614993198518140E-02 a 930 1 7 2 5 + 4.3578502615682385E-01 a 931 1 7 2 6 + -1.1934807282410993E+00 a 932 1 7 2 7 + 1.9347162211198241E+00 a 933 1 7 2 8 + -3.2308052341130344E-01 a 934 1 7 2 9 + -6.8693735717626436E-01 a 935 1 7 2 10 + -7.9325244471182077E-01 a 936 1 7 2 11 + -2.4755980474403381E+00 a 937 1 7 2 12 + 1.0374435667251840E+00 a 938 1 7 2 13 + -6.6933035812808361E-01 a 939 1 7 2 14 + 7.6783735630117733E-01 a 940 1 7 2 15 + -5.6926278400607662E-02 a 941 1 7 2 16 + -6.0353094278885144E-01 a 942 1 7 2 17 + -2.8544930280127563E+00 a 943 1 7 2 18 + -1.6087185839159248E+00 a 944 1 7 2 19 + -7.2381157085884262E-01 a 945 1 7 2 20 + 2.9692034321769820E+00 a 946 1 7 2 21 + 5.3839692138927281E-02 a 947 1 7 2 22 + 4.8009468375976933E-01 a 948 1 7 2 23 + 9.3810228749111518E-02 a 949 1 7 2 24 + -2.0955410160597516E+00 a 950 1 7 2 25 + 2.3233186848891507E+00 a 951 1 8 2 1 + -8.2584989282428289E-01 a 952 1 8 2 2 + -8.1754672367345493E-01 a 953 1 8 2 3 + -2.1133392997602232E-01 a 954 1 8 2 4 + 1.9541221474908031E-02 a 955 1 8 2 5 + 1.1594444917573479E+00 a 956 1 8 2 6 + 1.4601096001802396E+00 a 957 1 8 2 7 + 9.1372803255810364E-01 a 958 1 8 2 8 + 6.9509920756625398E-01 a 959 1 8 2 9 + 6.2456655930282923E-01 a 960 1 8 2 10 + 6.4855725702015166E-01 a 961 1 8 2 11 + -4.2022514962350010E-01 a 962 1 8 2 12 + -9.0811240657766301E-01 a 963 1 8 2 13 + 3.3680368840187608E-01 a 964 1 8 2 14 + 1.1169015908325419E+00 a 965 1 8 2 15 + -5.1233337412587643E-01 a 966 1 8 2 16 + -5.5320793121008494E-01 a 967 1 8 2 17 + 9.3599914839600240E-01 a 968 1 8 2 18 + 6.7433707322522685E-01 a 969 1 8 2 19 + -3.7849030588103488E-01 a 970 1 8 2 20 + -2.2028781865460831E+00 a 971 1 8 2 21 + 1.5877219737008674E-01 a 972 1 8 2 22 + -3.7995590172594129E+00 a 973 1 8 2 23 + -8.2371018469596335E-01 a 974 1 8 2 24 + -1.1712057969362175E+00 a 975 1 8 2 25 + 8.7628361974167535E-01 a 976 1 9 2 1 + -4.4867754760753260E-03 a 977 1 9 2 2 + -4.3776904492820717E-01 a 978 1 9 2 3 + -1.2037943289398929E+00 a 979 1 9 2 4 + -9.2914350101498666E-01 a 980 1 9 2 5 + 6.1632279153346614E-01 a 981 1 9 2 6 + -2.0213177543706768E+00 a 982 1 9 2 7 + -1.0932389301778918E-01 a 983 1 9 2 8 + 4.6518784673679747E-01 a 984 1 9 2 9 + -6.7264757872727210E-01 a 985 1 9 2 10 + -5.0875443521893260E-01 a 986 1 9 2 11 + 6.5349517467521345E-01 a 987 1 9 2 12 + -8.3081751299065498E-01 a 988 1 9 2 13 + 7.0248658360915539E-01 a 989 1 9 2 14 + 1.0186346926327829E+00 a 990 1 9 2 15 + -1.0485541318597176E-01 a 991 1 9 2 16 + 1.1837504354702677E+00 a 992 1 9 2 17 + -3.5120636878869715E-01 a 993 1 9 2 18 + -1.0967549030845767E+00 a 994 1 9 2 19 + -1.2917485866769735E-01 a 995 1 9 2 20 + -8.4559789268034355E-02 a 996 1 9 2 21 + 6.9852268936768247E-01 a 997 1 9 2 22 + 7.6071829029337419E+00 a 998 1 9 2 23 + -1.7657150367306729E-01 a 999 1 9 2 24 + -2.0449130003488878E+00 a 1000 1 9 2 25 + -8.0747549884968048E+00 a 1001 1 10 2 1 + -8.8634792958566799E-01 a 1002 1 10 2 2 + -4.6127086081764407E-01 a 1003 1 10 2 3 + -3.7334467540371374E-01 a 1004 1 10 2 4 + -4.3054004910279492E-01 a 1005 1 10 2 5 + 2.6993881584011410E+00 a 1006 1 10 2 6 + -9.8429735845119781E-01 a 1007 1 10 2 7 + -1.2241382307669315E+00 a 1008 1 10 2 8 + 2.9216483281734784E-01 a 1009 1 10 2 9 + -1.5861713358593083E-01 a 1010 1 10 2 10 + 7.3302611207510793E-01 a 1011 1 10 2 11 + 1.0063211918156738E+00 a 1012 1 10 2 12 + 8.5455170321334495E-01 a 1013 1 10 2 13 + 2.7292552730774866E-01 a 1014 1 10 2 14 + -7.8320852806125885E-01 a 1015 1 10 2 15 + -6.2618073244068029E-01 a 1016 1 10 2 16 + -4.9591262807377240E-01 a 1017 1 10 2 17 + 2.4541963783544118E+00 a 1018 1 10 2 18 + -6.2156991881826251E-01 a 1019 1 10 2 19 + 1.0571473302241088E+00 a 1020 1 10 2 20 + -3.1732621807636856E+00 a 1021 1 10 2 21 + 7.7456805368502890E-01 a 1022 1 10 2 22 + -8.3119329317008683E-01 a 1023 1 10 2 23 + 1.2193713320805999E+00 a 1024 1 10 2 24 + 3.6491994693939334E+00 a 1025 1 10 2 25 + -2.6856055178254272E+00 a 1026 1 11 2 1 + -1.0116949528231027E+00 a 1027 1 11 2 2 + -9.9540352829095990E-01 a 1028 1 11 2 3 + 4.3004342763359571E-02 a 1029 1 11 2 4 + 2.7933117755600650E-01 a 1030 1 11 2 5 + 9.0396270304770243E-01 a 1031 1 11 2 6 + 3.9679555730976862E-01 a 1032 1 11 2 7 + -5.5973501509742940E-01 a 1033 1 11 2 8 + -4.1504891491253493E-01 a 1034 1 11 2 9 + -3.5262777924993982E-01 a 1035 1 11 2 10 + -1.0411176788136034E+00 a 1036 1 11 2 11 + -9.0297716220909041E-01 a 1037 1 11 2 12 + -6.2427433518956917E-03 a 1038 1 11 2 13 + -1.6812412098279322E-01 a 1039 1 11 2 14 + -1.8167103149720734E+00 a 1040 1 11 2 15 + -6.6199797506103031E-01 a 1041 1 11 2 16 + 4.0884104981586794E-01 a 1042 1 11 2 17 + 4.9067363709609785E-01 a 1043 1 11 2 18 + 2.5534477378097088E-02 a 1044 1 11 2 19 + 8.6068474736695688E-01 a 1045 1 11 2 20 + 1.8371584280919242E+00 a 1046 1 11 2 21 + -1.0803190520545298E+00 a 1047 1 11 2 22 + -2.5371231215621144E+00 a 1048 1 11 2 23 + -1.5358385770601988E+00 a 1049 1 11 2 24 + -3.1907792770247383E+00 a 1050 1 11 2 25 + 4.6030306883078792E-01 a 1051 1 12 2 1 + -3.0963499876239947E-01 a 1052 1 12 2 2 + -1.0940004983246108E+00 a 1053 1 12 2 3 + -4.1750065497929228E-01 a 1054 1 12 2 4 + 2.5736770603218386E+00 a 1055 1 12 2 5 + -9.8062961761113654E-01 a 1056 1 12 2 6 + -1.0532218410010987E+00 a 1057 1 12 2 7 + -3.5725645436127675E+00 a 1058 1 12 2 8 + 1.4096393935559531E-01 a 1059 1 12 2 9 + 1.9946976601289310E+00 a 1060 1 12 2 10 + 1.8435722699276744E+00 a 1061 1 12 2 11 + -2.0438788102041411E-01 a 1062 1 12 2 12 + -2.5425038881685696E-01 a 1063 1 12 2 13 + 9.5772099909966525E-03 a 1064 1 12 2 14 + 1.2217328473820388E+00 a 1065 1 12 2 15 + 2.0820408515687849E+00 a 1066 1 12 2 16 + 8.8699528862869104E-01 a 1067 1 12 2 17 + 2.4678094032754410E+00 a 1068 1 12 2 18 + -1.4687085911859508E+00 a 1069 1 12 2 19 + -4.2093073660998417E-02 a 1070 1 12 2 20 + -3.2697025479251804E+00 a 1071 1 12 2 21 + 4.4495952247262833E+00 a 1072 1 12 2 22 + -2.5500477175213829E+00 a 1073 1 12 2 23 + 1.5426557479411622E+00 a 1074 1 12 2 24 + -4.3415918398091247E+00 a 1075 1 12 2 25 + -1.7837709723341921E+00 a 1076 1 13 2 1 + 6.1765521974326089E-02 a 1077 1 13 2 2 + 1.4270144943346930E-01 a 1078 1 13 2 3 + 9.6877797086914308E-01 a 1079 1 13 2 4 + -3.8646359298400235E-01 a 1080 1 13 2 5 + -6.0257789082689994E-01 a 1081 1 13 2 6 + -6.1333483983045078E-01 a 1082 1 13 2 7 + -6.5924706654526399E-01 a 1083 1 13 2 8 + 1.3577887408597951E+00 a 1084 1 13 2 9 + 5.5233747012811663E-01 a 1085 1 13 2 10 + 3.0399128682584076E-01 a 1086 1 13 2 11 + 1.2571290273194094E-01 a 1087 1 13 2 12 + 3.0141690728843917E-01 a 1088 1 13 2 13 + 1.5586546563560341E-01 a 1089 1 13 2 14 + 2.0214921383231643E+00 a 1090 1 13 2 15 + 3.3127896825896652E-01 a 1091 1 13 2 16 + -4.4476447583914724E-01 a 1092 1 13 2 17 + -6.2761412512460968E-01 a 1093 1 13 2 18 + -4.9427182431196892E-01 a 1094 1 13 2 19 + 1.3983388512561243E-01 a 1095 1 13 2 20 + 2.3002496577740685E+00 a 1096 1 13 2 21 + 1.6701239103859009E+00 a 1097 1 13 2 22 + 1.4994823080328907E+00 a 1098 1 13 2 23 + 3.9537178110787974E-01 a 1099 1 13 2 24 + 5.8398220926075173E-01 a 1100 1 13 2 25 + 8.5295201345779237E-01 a 1101 1 14 2 1 + -5.2839167849903323E-01 a 1102 1 14 2 2 + 1.2118820764567373E+00 a 1103 1 14 2 3 + 1.7954759082816425E+00 a 1104 1 14 2 4 + 1.8747124299625395E-01 a 1105 1 14 2 5 + 5.6017574192285047E-01 a 1106 1 14 2 6 + -1.7110522199101674E-01 a 1107 1 14 2 7 + 8.3896462942648653E-01 a 1108 1 14 2 8 + -1.4616181471345491E+00 a 1109 1 14 2 9 + 8.5959907109993361E-01 a 1110 1 14 2 10 + -1.4403152519951887E-01 a 1111 1 14 2 11 + -5.0813687652801176E-01 a 1112 1 14 2 12 + -9.7981782688599128E-01 a 1113 1 14 2 13 + 7.7753224886522421E-01 a 1114 1 14 2 14 + -5.9844735095640156E-01 a 1115 1 14 2 15 + 3.4650752103169025E-01 a 1116 1 14 2 16 + -5.8711794319937194E-01 a 1117 1 14 2 17 + -1.3706594054270902E+00 a 1118 1 14 2 18 + -1.1422652077233137E+00 a 1119 1 14 2 19 + 8.0707171356885204E-04 a 1120 1 14 2 20 + 1.4089178119149774E+00 a 1121 1 14 2 21 + -2.0868443512620523E-02 a 1122 1 14 2 22 + 2.4765810938521640E-01 a 1123 1 14 2 23 + -4.5822482418987104E-01 a 1124 1 14 2 24 + -6.2760190470460109E-02 a 1125 1 14 2 25 + -6.3051316449413697E-01 a 1126 1 15 2 1 + -8.5568766828554729E-02 a 1127 1 15 2 2 + 1.2623012829197652E-01 a 1128 1 15 2 3 + -2.6333284380527960E-01 a 1129 1 15 2 4 + -1.6789499972196012E-01 a 1130 1 15 2 5 + -1.6739915035010851E+00 a 1131 1 15 2 6 + 7.5150164741418890E-01 a 1132 1 15 2 7 + 1.4850802285946663E+00 a 1133 1 15 2 8 + 1.3679527143714523E+00 a 1134 1 15 2 9 + 2.2702130106994698E+00 a 1135 1 15 2 10 + -9.0423742617082359E-01 a 1136 1 15 2 11 + -4.0104658105606300E-01 a 1137 1 15 2 12 + 3.8900726826654108E-01 a 1138 1 15 2 13 + -5.4951242988164040E-01 a 1139 1 15 2 14 + -1.7241979783027172E-02 a 1140 1 15 2 15 + -2.5629230309678513E-01 a 1141 1 15 2 16 + -1.6129459175130396E+00 a 1142 1 15 2 17 + -1.4034841005534375E+00 a 1143 1 15 2 18 + 1.1341665130800804E+00 a 1144 1 15 2 19 + 1.1213024535918692E-01 a 1145 1 15 2 20 + 3.7656367590986606E+00 a 1146 1 15 2 21 + 7.3019329240980635E-01 a 1147 1 15 2 22 + -2.5611761254488857E-01 a 1148 1 15 2 23 + -4.8540953698913802E-01 a 1149 1 15 2 24 + 1.3692262226307499E+00 a 1150 1 15 2 25 + 1.6494141683657493E+00 a 1151 1 16 2 1 + -9.6390345736239269E-01 a 1152 1 16 2 2 + 2.0793522726329236E-01 a 1153 1 16 2 3 + -5.7374450018525558E-01 a 1154 1 16 2 4 + -9.8733160966737721E-01 a 1155 1 16 2 5 + 6.5807844696554119E-01 a 1156 1 16 2 6 + 3.2247433911740793E-02 a 1157 1 16 2 7 + -2.4521651144191488E+00 a 1158 1 16 2 8 + -3.0303442815675607E+00 a 1159 1 16 2 9 + 2.2159579109757380E-01 a 1160 1 16 2 10 + -7.4309660254871501E-01 a 1161 1 16 2 11 + -2.9049753431162834E-01 a 1162 1 16 2 12 + 3.1668098555699156E+00 a 1163 1 16 2 13 + -1.2261594986593347E+00 a 1164 1 16 2 14 + 1.0349812541428842E+00 a 1165 1 16 2 15 + 1.7121815269407428E+00 a 1166 1 16 2 16 + 8.0358012812129054E-01 a 1167 1 16 2 17 + -1.3675359756343288E+00 a 1168 1 16 2 18 + -4.6006123916898067E-01 a 1169 1 16 2 19 + -2.5878505755147092E+00 a 1170 1 16 2 20 + -2.9512006713160228E+00 a 1171 1 16 2 21 + -1.1058407528187431E+00 a 1172 1 16 2 22 + 8.9298442903850317E-01 a 1173 1 16 2 23 + -9.9725253604444308E-01 a 1174 1 16 2 24 + -1.8425500935308365E+00 a 1175 1 16 2 25 + -1.8570790778452546E+00 a 1176 1 17 2 1 + -6.3973968207352483E-01 a 1177 1 17 2 2 + 2.0052987685530210E-01 a 1178 1 17 2 3 + 2.2185837483654831E+00 a 1179 1 17 2 4 + -6.0198667595147914E-01 a 1180 1 17 2 5 + 2.3405835273964992E-01 a 1181 1 17 2 6 + 3.3196570543138565E-01 a 1182 1 17 2 7 + 1.2991668836547232E+00 a 1183 1 17 2 8 + 1.5143648879673921E+00 a 1184 1 17 2 9 + 1.7917556495597248E-01 a 1185 1 17 2 10 + 6.5534517793332372E-02 a 1186 1 17 2 11 + -5.9191948460177024E-01 a 1187 1 17 2 12 + 1.2750933232410862E+00 a 1188 1 17 2 13 + -1.5608383187707420E+00 a 1189 1 17 2 14 + -4.8452426559440576E-01 a 1190 1 17 2 15 + 5.6869904306512328E-02 a 1191 1 17 2 16 + -1.3745314092035921E+00 a 1192 1 17 2 17 + -9.3363971641325649E-01 a 1193 1 17 2 18 + 1.2301554196497246E+00 a 1194 1 17 2 19 + -2.4104104828665646E-01 a 1195 1 17 2 20 + 6.6198296290777559E-01 a 1196 1 17 2 21 + -1.5152727297809043E+00 a 1197 1 17 2 22 + -5.6537663778771396E-01 a 1198 1 17 2 23 + -4.0752023749644689E-01 a 1199 1 17 2 24 + -9.0608531726854380E-01 a 1200 1 17 2 25 + 2.8033128399492440E+00 a 1201 1 18 2 1 + -8.3666510516204506E-01 a 1202 1 18 2 2 + 4.7953835552796820E-01 a 1203 1 18 2 3 + 2.9366893922704856E-01 a 1204 1 18 2 4 + -1.3407438479056275E+00 a 1205 1 18 2 5 + 2.0149219645963756E-01 a 1206 1 18 2 6 + -7.1078447275601489E-02 a 1207 1 18 2 7 + 6.8753704488081457E-01 a 1208 1 18 2 8 + 1.0614745034105677E+00 a 1209 1 18 2 9 + -5.1972296801419360E-01 a 1210 1 18 2 10 + 4.2568809194098922E-01 a 1211 1 18 2 11 + 1.1283129901890967E+00 a 1212 1 18 2 12 + 3.2368449527546245E-01 a 1213 1 18 2 13 + -4.8104595431142377E-01 a 1214 1 18 2 14 + -4.4478850619894661E-01 a 1215 1 18 2 15 + 7.5342013209859982E-01 a 1216 1 18 2 16 + -7.5251058833923024E-01 a 1217 1 18 2 17 + -3.2851254846358019E-01 a 1218 1 18 2 18 + -5.8774560188315617E-01 a 1219 1 18 2 19 + -1.1508334029793323E+00 a 1220 1 18 2 20 + -1.1354296884739232E+00 a 1221 1 18 2 21 + -2.7200286001651858E-01 a 1222 1 18 2 22 + -3.8397527569339713E+00 a 1223 1 18 2 23 + 2.2605209148377950E-01 a 1224 1 18 2 24 + 1.1365846684759007E+00 a 1225 1 18 2 25 + -5.3912432672650032E+00 a 1226 1 19 2 1 + 4.5845696130825303E-01 a 1227 1 19 2 2 + 7.0709208368568310E-01 a 1228 1 19 2 3 + -1.3973599899226747E+00 a 1229 1 19 2 4 + 3.0071504252034847E-01 a 1230 1 19 2 5 + -5.4197295981474947E-01 a 1231 1 19 2 6 + 7.4376471223405460E-01 a 1232 1 19 2 7 + -2.5079217516979186E+00 a 1233 1 19 2 8 + 2.0592046605772945E+00 a 1234 1 19 2 9 + 6.5654373849726466E-01 a 1235 1 19 2 10 + -9.0407721196091848E-02 a 1236 1 19 2 11 + 1.5566506128138184E+00 a 1237 1 19 2 12 + -9.4986537106149321E-02 a 1238 1 19 2 13 + -2.3530503270088396E-01 a 1239 1 19 2 14 + 3.6439425212581661E-01 a 1240 1 19 2 15 + 1.2871636736138770E+00 a 1241 1 19 2 16 + -8.4712787652121069E-01 a 1242 1 19 2 17 + -1.0234220464653516E+00 a 1243 1 19 2 18 + -1.3802013894870373E+00 a 1244 1 19 2 19 + 4.6238544527464259E-01 a 1245 1 19 2 20 + -3.1736140472371468E+00 a 1246 1 19 2 21 + 1.7897235482645921E+00 a 1247 1 19 2 22 + -1.2075712900497950E+00 a 1248 1 19 2 23 + -3.1032297572767770E-01 a 1249 1 19 2 24 + 2.1706205401676661E+00 a 1250 1 19 2 25 + 6.9973782486580109E+00 a 1251 1 20 2 1 + 2.9325190821916197E-01 a 1252 1 20 2 2 + -1.2648655109330131E+00 a 1253 1 20 2 3 + -4.3905910522706337E-01 a 1254 1 20 2 4 + 4.2887555555714030E-01 a 1255 1 20 2 5 + 1.3300944280643934E+00 a 1256 1 20 2 6 + 1.0988390404457922E+00 a 1257 1 20 2 7 + 2.3801051936039075E+00 a 1258 1 20 2 8 + 1.1789379212300943E-01 a 1259 1 20 2 9 + 3.9144297908957699E+00 a 1260 1 20 2 10 + 5.5000952527940228E-01 a 1261 1 20 2 11 + 2.4087943927489916E-01 a 1262 1 20 2 12 + -3.7997171313505251E-01 a 1263 1 20 2 13 + -5.4744714104500347E-01 a 1264 1 20 2 14 + 8.9095280999944937E-01 a 1265 1 20 2 15 + -8.7130940035564164E-01 a 1266 1 20 2 16 + 3.7900358553306007E-01 a 1267 1 20 2 17 + 2.1342515402584987E+00 a 1268 1 20 2 18 + 1.2475880574414706E+00 a 1269 1 20 2 19 + 7.8956439485340524E-01 a 1270 1 20 2 20 + 4.6968348528891219E+00 a 1271 1 20 2 21 + 2.4464240930319816E+00 a 1272 1 20 2 22 + -5.7785142905302376E+00 a 1273 1 20 2 23 + -2.3074149497856417E-01 a 1274 1 20 2 24 + -2.6800082940155296E+00 a 1275 1 20 2 25 + -3.2729577955630704E+00 a 1276 1 21 2 1 + -1.2928637501931926E+00 a 1277 1 21 2 2 + -2.2664219916515152E-01 a 1278 1 21 2 3 + 6.8197406796553048E-02 a 1279 1 21 2 4 + 2.2800043902454539E-01 a 1280 1 21 2 5 + -1.4547709606717896E+00 a 1281 1 21 2 6 + -8.9797316703694119E-02 a 1282 1 21 2 7 + -7.9615421262219899E-01 a 1283 1 21 2 8 + -2.5074736863647562E-01 a 1284 1 21 2 9 + -3.2383137185187805E-01 a 1285 1 21 2 10 + -7.7486670060442631E-01 a 1286 1 21 2 11 + -1.7378145875987788E-01 a 1287 1 21 2 12 + 1.7001762592878558E+00 a 1288 1 21 2 13 + -1.7033999809142997E+00 a 1289 1 21 2 14 + 3.7961258225336264E-01 a 1290 1 21 2 15 + 6.0929689839357426E-01 a 1291 1 21 2 16 + -1.9171250145280534E+00 a 1292 1 21 2 17 + -1.6594854242769004E+00 a 1293 1 21 2 18 + -2.8219229087100910E+00 a 1294 1 21 2 19 + -4.3902463688638738E-01 a 1295 1 21 2 20 + -1.1744026035352828E+00 a 1296 1 21 2 21 + 3.9648025457334164E+00 a 1297 1 21 2 22 + -1.3587513635268793E+00 a 1298 1 21 2 23 + 3.9463311556495906E-02 a 1299 1 21 2 24 + -4.6280624473662763E-01 a 1300 1 21 2 25 + 8.3725910272757709E+00 a 1301 1 22 2 1 + 1.2030400911595496E+00 a 1302 1 22 2 2 + 5.2723639396495003E-01 a 1303 1 22 2 3 + 2.4863416823271995E+00 a 1304 1 22 2 4 + 5.0656775645932173E-01 a 1305 1 22 2 5 + 7.8889662692367113E-01 a 1306 1 22 2 6 + 2.7467021112668549E-01 a 1307 1 22 2 7 + 3.5551997281423904E+00 a 1308 1 22 2 8 + -6.9074567194666425E-01 a 1309 1 22 2 9 + 9.2831069742658789E-01 a 1310 1 22 2 10 + -2.7305664188353734E-01 a 1311 1 22 2 11 + -1.6732686793215996E+00 a 1312 1 22 2 12 + -1.2508123463191103E+00 a 1313 1 22 2 13 + 1.4253551144285490E+00 a 1314 1 22 2 14 + -1.2730453204508483E+00 a 1315 1 22 2 15 + -5.6234386233504563E-01 a 1316 1 22 2 16 + 4.7348930208036427E-01 a 1317 1 22 2 17 + 1.4228359329011722E+00 a 1318 1 22 2 18 + -3.0896237212805277E-02 a 1319 1 22 2 19 + -7.7625773033108136E-01 a 1320 1 22 2 20 + 5.1571228251110171E-02 a 1321 1 22 2 21 + -1.5781774955827834E+00 a 1322 1 22 2 22 + -1.7313703986673430E+00 a 1323 1 22 2 23 + -1.3316987118953665E+00 a 1324 1 22 2 24 + -7.0760527312605037E-01 a 1325 1 22 2 25 + -8.1466385165616928E-01 a 1326 1 23 2 1 + 6.8912340727205368E-01 a 1327 1 23 2 2 + 8.4582890184800619E-01 a 1328 1 23 2 3 + 3.8163700575566650E-01 a 1329 1 23 2 4 + -6.6556600373886232E-01 a 1330 1 23 2 5 + -1.3399458536680564E+00 a 1331 1 23 2 6 + -1.7425009694107033E-01 a 1332 1 23 2 7 + -2.6104662248332646E+00 a 1333 1 23 2 8 + -1.9788280313555501E-01 a 1334 1 23 2 9 + -4.6341960827595043E+00 a 1335 1 23 2 10 + -4.1560774205921192E-01 a 1336 1 23 2 11 + -1.3453315295733928E-01 a 1337 1 23 2 12 + 5.9251987079212687E-01 a 1338 1 23 2 13 + 1.3014540212114664E-01 a 1339 1 23 2 14 + 2.4962768316839337E-01 a 1340 1 23 2 15 + 3.3868458734074913E-01 a 1341 1 23 2 16 + -2.1103970517135956E-01 a 1342 1 23 2 17 + -2.7311756320323316E-01 a 1343 1 23 2 18 + 7.7825779463422798E-02 a 1344 1 23 2 19 + -1.5510879185574573E+00 a 1345 1 23 2 20 + -3.3731285186903501E+00 a 1346 1 23 2 21 + 1.5012690395440691E+00 a 1347 1 23 2 22 + -1.4938786629136067E+00 a 1348 1 23 2 23 + 1.5155834326942672E-01 a 1349 1 23 2 24 + 2.2135367884980521E+00 a 1350 1 23 2 25 + 7.6092107307961931E-01 a 1351 1 24 2 1 + 2.5019321183393825E-02 a 1352 1 24 2 2 + 2.4714648764760871E-01 a 1353 1 24 2 3 + -4.2700090187223255E-01 a 1354 1 24 2 4 + 1.9684439924637190E-01 a 1355 1 24 2 5 + -1.6150658390090172E-01 a 1356 1 24 2 6 + -8.4941771549071021E-01 a 1357 1 24 2 7 + 3.2616941337700417E-01 a 1358 1 24 2 8 + -6.0235251095177200E-01 a 1359 1 24 2 9 + 2.0073315297316108E+00 a 1360 1 24 2 10 + 6.8678637919958119E-01 a 1361 1 24 2 11 + -1.4709309602563259E+00 a 1362 1 24 2 12 + -7.3119546383323997E-01 a 1363 1 24 2 13 + 5.9624465461749732E-01 a 1364 1 24 2 14 + 1.1965703107989687E+00 a 1365 1 24 2 15 + -4.8078015734066326E-01 a 1366 1 24 2 16 + 2.8731897539798784E-01 a 1367 1 24 2 17 + 2.8943049077679879E+00 a 1368 1 24 2 18 + 4.4309374097560666E-01 a 1369 1 24 2 19 + -5.2571668466848664E-01 a 1370 1 24 2 20 + 2.6293009755349539E+00 a 1371 1 24 2 21 + 1.1166360248787797E+00 a 1372 1 24 2 22 + 1.4367909042068954E+00 a 1373 1 24 2 23 + 1.2263949730702137E+00 a 1374 1 24 2 24 + -1.5658327417588482E+00 a 1375 1 24 2 25 + -3.0524380712257440E+00 a 1376 1 25 2 1 + -1.6248402538917406E-01 a 1377 1 25 2 2 + 5.3725239557723847E-01 a 1378 1 25 2 3 + -3.1435543583372311E-01 a 1379 1 25 2 4 + 8.0294309812719877E-01 a 1380 1 25 2 5 + -3.3745709161028831E-01 a 1381 1 25 2 6 + 2.9618139473335392E-01 a 1382 1 25 2 7 + -1.3606606680314999E+00 a 1383 1 25 2 8 + 2.9886863438452965E-01 a 1384 1 25 2 9 + 3.4365095196288835E+00 a 1385 1 25 2 10 + 2.8778063903425566E-01 a 1386 1 25 2 11 + -5.2312889094867954E-01 a 1387 1 25 2 12 + 4.5730896273705224E-01 a 1388 1 25 2 13 + -8.8949447500584955E-01 a 1389 1 25 2 14 + -8.1389897744929640E-01 a 1390 1 25 2 15 + -4.0077086298379117E-01 a 1391 1 25 2 16 + 7.2544627916775950E-01 a 1392 1 25 2 17 + -9.8029709488119798E-01 a 1393 1 25 2 18 + 8.5017837869712165E-01 a 1394 1 25 2 19 + -2.9795775527520296E-01 a 1395 1 25 2 20 + 1.1940911570260535E+00 a 1396 1 25 2 21 + -4.1259772504588357E-02 a 1397 1 25 2 22 + 1.0619824936744515E+00 a 1398 1 25 2 23 + -6.5325825341918264E-01 a 1399 1 25 2 24 + 3.7575240210802421E+00 a 1400 1 25 2 25 + -1.0787018434494783E+01 b 1401 2 1 + -8.4067078142086771E-01 b 1402 2 2 + 9.3201271110229211E-01 b 1403 2 3 + -1.8318272256547821E+00 b 1404 2 4 + -2.1732436845179119E+00 b 1405 2 5 + -2.6390929073478930E+00 b 1406 2 6 + 3.7489748853957300E-01 b 1407 2 7 + -2.3789675524866163E+00 b 1408 2 8 + 2.7252644932624959E+00 b 1409 2 9 + 2.5100559841854970E+00 b 1410 2 10 + -2.4897033671113025E-01 b 1411 2 11 + 2.6913296692082476E+00 b 1412 2 12 + 5.8162695990329221E+00 b 1413 2 13 + -1.5170700889568940E+00 b 1414 2 14 + 4.2121259244130220E+00 b 1415 2 15 + 2.2987725066596130E+00 b 1416 2 16 + -7.1493650128731911E-01 b 1417 2 17 + -3.9961443472349811E-01 b 1418 2 18 + 7.8083705485664430E+00 b 1419 2 19 + -4.0462773256448170E-01 b 1420 2 20 + -1.4333029489891109E+00 b 1421 2 21 + -4.9517224038431467E+00 b 1422 2 22 + 1.0702867307710989E+01 b 1423 2 23 + -9.7535853921453985E-01 b 1424 2 24 + 5.3161969295054172E+00 b 1425 2 25 + -5.1941647295982207E-01 a 1426 2 1 3 1 + -7.7346657642095373E-01 a 1427 2 2 3 1 + 1.4003893583106508E+00 a 1428 2 3 3 1 + 8.9188080044914464E-01 a 1429 2 4 3 1 + -2.0147808233792022E+00 a 1430 2 5 3 1 + -1.8131831735812174E+00 a 1431 2 6 3 1 + 3.3217884596641700E+00 a 1432 2 7 3 1 + -1.2675289031787327E+00 a 1433 2 8 3 1 + -1.2791140359120716E+00 a 1434 2 9 3 1 + 1.9731828075446340E+00 a 1435 2 10 3 1 + -2.3928332883234411E+00 a 1436 2 11 3 1 + -1.1755085043375486E+00 a 1437 2 12 3 1 + 2.6525670286472951E+00 a 1438 2 13 3 1 + -2.4861988521743901E+00 a 1439 2 14 3 1 + 1.2534500349238071E+00 a 1440 2 15 3 1 + 2.8804282010183990E+00 a 1441 2 16 3 1 + -2.0327745898215275E+00 a 1442 2 17 3 1 + -1.1760164122204946E+00 a 1443 2 18 3 1 + -9.9841804355412322E-01 a 1444 2 19 3 1 + -1.8663330516323837E+00 a 1445 2 20 3 1 + 6.3266049836286531E-01 a 1446 2 21 3 1 + 1.2025500357718348E+00 a 1447 2 22 3 1 + 1.1367820678861495E-01 a 1448 2 23 3 1 + -2.6481374255863193E+00 a 1449 2 24 3 1 + 5.2166795947347921E-01 a 1450 2 25 3 1 + 4.8693043186011655E+00 b 1451 3 1 diff --git a/src/USER-NNP/Install.sh b/src/USER-NNP/Install.sh new file mode 100644 index 0000000000..e17603df76 --- /dev/null +++ b/src/USER-NNP/Install.sh @@ -0,0 +1,68 @@ +# Install/unInstall package files in LAMMPS +# mode = 0/1/2 for uninstall/install/update + +mode=$1 + +# enforce using portable C locale +LC_ALL=C +export LC_ALL + +# arg1 = file, arg2 = file it depends on + +action () { + if (test $mode = 0) then + rm -f ../$1 + elif (! cmp -s $1 ../$1) then + if (test -z "$2" || test -e ../$2) then + cp $1 .. + if (test $mode = 2) then + echo " updating src/$1" + fi + fi + elif (test -n "$2") then + if (test ! -e ../$2) then + rm -f ../$1 + fi + fi +} + +# all package files with no dependencies + +for file in *.cpp *.h; do + test -f ${file} && action $file +done + +# edit 2 Makefile.package files to include/exclude package info + +if (test $1 = 1) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*nnp[^ \t]* //g' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-I..\/..\/lib\/nnp\/include |' ../Makefile.package + sed -i -e 's|^PKG_PATH =[ \t]*|&-L..\/..\/lib\/nnp\/lib |' ../Makefile.package + sed -i -e 's|^PKG_LIB =[ \t]*|&-lnnpif -lnnp |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(nnp_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(nnp_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(nnp_SYSPATH) |' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*nnp.*$/d' ../Makefile.package.settings + # multiline form needed for BSD sed on Macs + sed -i -e '4 i \ +include ..\/..\/lib\/nnp\/src\/libnnpif\/LAMMPS\/Makefile.lammps +' ../Makefile.package.settings + + fi + +elif (test $1 = 0) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*nnp[^ \t]* //g' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*nnp.*$/d' ../Makefile.package.settings + fi + +fi diff --git a/src/USER-NNP/README b/src/USER-NNP/README new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp new file mode 100644 index 0000000000..2ccde4418d --- /dev/null +++ b/src/USER-NNP/pair_nnp.cpp @@ -0,0 +1,419 @@ +// n2p2 - A neural network potential package +// Copyright (C) 2018 Andreas Singraber (University of Vienna) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include +#include "pair_nnp.h" +#include "atom.h" +#include "comm.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "memory.h" +#include "error.h" +#include "update.h" +#include "utils.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairNNP::PairNNP(LAMMPS *lmp) : Pair(lmp) +{ +} + +/* ---------------------------------------------------------------------- + check if allocated, since class can be destructed when incomplete +------------------------------------------------------------------------- */ + +PairNNP::~PairNNP() +{ +} + +/* ---------------------------------------------------------------------- */ + +void PairNNP::compute(int eflag, int vflag) +{ + if(eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + + // Set number of local atoms and add index and element. + interface.setLocalAtoms(atom->nlocal,atom->tag,atom->type); + + // Transfer local neighbor list to NNP interface. + transferNeighborList(); + + // Compute symmetry functions, atomic neural networks and add up energy. + interface.process(); + + // Do all stuff related to extrapolation warnings. + if(showew == true || showewsum > 0 || maxew >= 0) { + handleExtrapolationWarnings(); + } + + // Calculate forces of local and ghost atoms. + interface.getForces(atom->f); + + // Add energy contribution to total energy. + if (eflag_global) + ev_tally(0,0,atom->nlocal,1,interface.getEnergy(),0.0,0.0,0.0,0.0,0.0); + + // Add atomic energy if requested (CAUTION: no physical meaning!). + if (eflag_atom) + for (int i = 0; i < atom->nlocal; ++i) + eatom[i] = interface.getAtomicEnergy(i); + + // If virial needed calculate via F dot r. + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairNNP::settings(int narg, char **arg) +{ + int iarg = 0; + + if (narg == 0) error->all(FLERR,"Illegal pair_style command"); + + // default settings + int len = strlen("nnp/") + 1; + directory = new char[len]; + strcpy(directory,"nnp/"); + showew = true; + showewsum = 0; + maxew = 0; + resetew = false; + cflength = 1.0; + cfenergy = 1.0; + len = strlen("") + 1; + emap = new char[len]; + strcpy(emap,""); + numExtrapolationWarningsTotal = 0; + numExtrapolationWarningsSummary = 0; + + while(iarg < narg) { + // set NNP directory + if (strcmp(arg[iarg],"dir") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + delete[] directory; + len = strlen(arg[iarg+1]) + 2; + directory = new char[len]; + sprintf(directory, "%s/", arg[iarg+1]); + iarg += 2; + // element mapping + } else if (strcmp(arg[iarg],"emap") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + delete[] emap; + len = strlen(arg[iarg+1]) + 1; + emap = new char[len]; + sprintf(emap, "%s", arg[iarg+1]); + iarg += 2; + // show extrapolation warnings + } else if (strcmp(arg[iarg],"showew") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + if (strcmp(arg[iarg+1],"yes") == 0) + showew = true; + else if (strcmp(arg[iarg+1],"no") == 0) + showew = false; + else + error->all(FLERR,"Illegal pair_style command"); + iarg += 2; + // show extrapolation warning summary + } else if (strcmp(arg[iarg],"showewsum") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + showewsum = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + // maximum allowed extrapolation warnings + } else if (strcmp(arg[iarg],"maxew") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + maxew = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + // reset extrapolation warning counter + } else if (strcmp(arg[iarg],"resetew") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + if (strcmp(arg[iarg+1],"yes") == 0) + resetew = true; + else if (strcmp(arg[iarg+1],"no") == 0) + resetew = false; + else + error->all(FLERR,"Illegal pair_style command"); + iarg += 2; + // length unit conversion factor + } else if (strcmp(arg[iarg],"cflength") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + cflength = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + // energy unit conversion factor + } else if (strcmp(arg[iarg],"cfenergy") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal pair_style command"); + cfenergy = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + } else error->all(FLERR,"Illegal pair_style command"); + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairNNP::coeff(int narg, char **arg) +{ + if (!allocated) allocate(); + + if (narg != 3) error->all(FLERR,"Incorrect args for pair coefficients"); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + maxCutoffRadius = utils::numeric(FLERR,arg[2],false,lmp); + + // TODO: Check how this flag is set. + int count = 0; + for(int i=ilo; i<=ihi; i++) { + for(int j=MAX(jlo,i); j<=jhi; j++) { + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairNNP::init_style() +{ + int irequest = neighbor->request((void *) this); + neighbor->requests[irequest]->pair = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + // Return immediately if NNP setup is already completed. + if (interface.isInitialized()) return; + + // Activate screen and logfile output only for rank 0. + if (comm->me == 0) { + if (lmp->screen != NULL) + interface.log.registerCFilePointer(&(lmp->screen)); + if (lmp->logfile != NULL) + interface.log.registerCFilePointer(&(lmp->logfile)); + } + + // Initialize interface on all processors. + interface.initialize(directory, + emap, + showew, + resetew, + showewsum, + maxew, + cflength, + cfenergy, + maxCutoffRadius, + atom->ntypes, + comm->me); + + // LAMMPS cutoff radius (given via pair_coeff) should not be smaller than + // maximum symmetry function cutoff radius. + if (maxCutoffRadius < interface.getMaxCutoffRadius()) + error->all(FLERR,"Inconsistent cutoff radius"); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairNNP::init_one(int i, int j) +{ + // TODO: Check how this actually works for different cutoffs. + return maxCutoffRadius; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairNNP::write_restart(FILE *fp) +{ + return; +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairNNP::read_restart(FILE *fp) +{ + return; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairNNP::write_restart_settings(FILE *fp) +{ + return; +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairNNP::read_restart_settings(FILE *fp) +{ + return; +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairNNP::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); +} + +void PairNNP::transferNeighborList() +{ + // Transfer neighbor list to NNP. + double rc2 = maxCutoffRadius * maxCutoffRadius; + for (int ii = 0; ii < list->inum; ++ii) { + int i = list->ilist[ii]; + for (int jj = 0; jj < list->numneigh[i]; ++jj) { + int j = list->firstneigh[i][jj]; + j &= NEIGHMASK; + double dx = atom->x[i][0] - atom->x[j][0]; + double dy = atom->x[i][1] - atom->x[j][1]; + double dz = atom->x[i][2] - atom->x[j][2]; + double d2 = dx * dx + dy * dy + dz * dz; + if (d2 <= rc2) { + interface.addNeighbor(i,j,atom->tag[j],atom->type[j],dx,dy,dz,d2); + } + } + } +} + +void PairNNP::handleExtrapolationWarnings() +{ + // Get number of extrapolation warnings for local atoms. + // TODO: Is the conversion from std::size_t to long ok? + long numCurrentEW = (long)interface.getNumExtrapolationWarnings(); + + // Update (or set, resetew == true) total warnings counter. + if (resetew) numExtrapolationWarningsTotal = numCurrentEW; + else numExtrapolationWarningsTotal += numCurrentEW; + + // Update warnings summary counter. + if(showewsum > 0) { + numExtrapolationWarningsSummary += numCurrentEW; + } + + // If requested write extrapolation warnings. + // Requires communication of all symmetry functions statistics entries to + // rank 0. + if(showew > 0) { + // First collect an overview of extrapolation warnings per process. + long* numEWPerProc = NULL; + if(comm->me == 0) numEWPerProc = new long[comm->nprocs]; + MPI_Gather(&numCurrentEW, 1, MPI_LONG, numEWPerProc, 1, MPI_LONG, 0, world); + + if(comm->me == 0) { + for(int i=1;inprocs;i++) { + if(numEWPerProc[i] > 0) { + long bs = 0; + MPI_Status ms; + // Get buffer size. + MPI_Recv(&bs, 1, MPI_LONG, i, 0, world, &ms); + char* buf = new char[bs]; + // Receive buffer. + MPI_Recv(buf, bs, MPI_BYTE, i, 0, world, &ms); + interface.extractEWBuffer(buf, bs); + delete[] buf; + } + } + interface.writeExtrapolationWarnings(); + } + else if(numCurrentEW > 0) { + // Get desired buffer length for all extrapolation warning entries. + long bs = interface.getEWBufferSize(); + // Allocate and fill buffer. + char* buf = new char[bs]; + interface.fillEWBuffer(buf, bs); + // Send buffer size and buffer. + MPI_Send(&bs, 1, MPI_LONG, 0, 0, world); + MPI_Send(buf, bs, MPI_BYTE, 0, 0, world); + delete[] buf; + } + + if(comm->me == 0) delete[] numEWPerProc; + } + + // If requested gather number of warnings to display summary. + if(showewsum > 0 && update->ntimestep % showewsum == 0) { + long globalEW = 0; + // Communicate the sum over all processors to proc 0. + MPI_Reduce(&numExtrapolationWarningsSummary, + &globalEW, 1, MPI_LONG, MPI_SUM, 0, world); + // Write to screen or logfile. + if(comm->me == 0) { + if(screen) { + fprintf(screen, + "### NNP EW SUMMARY ### TS: %10ld EW %10ld EWPERSTEP %10.3E\n", + update->ntimestep, + globalEW, + double(globalEW) / showewsum); + } + if(logfile) { + fprintf(logfile, + "### NNP EW SUMMARY ### TS: %10ld EW %10ld EWPERSTEP %10.3E\n", + update->ntimestep, + globalEW, + double(globalEW) / showewsum); + } + } + // Reset summary counter. + numExtrapolationWarningsSummary = 0; + } + + // Stop if maximum number of extrapolation warnings is exceeded. + if (numExtrapolationWarningsTotal > maxew) { + error->one(FLERR,"Too many extrapolation warnings"); + } + + // Reset internal extrapolation warnings counters. + interface.clearExtrapolationWarnings(); +} diff --git a/src/USER-NNP/pair_nnp.h b/src/USER-NNP/pair_nnp.h new file mode 100644 index 0000000000..c067118131 --- /dev/null +++ b/src/USER-NNP/pair_nnp.h @@ -0,0 +1,70 @@ +// n2p2 - A neural network potential package +// Copyright (C) 2018 Andreas Singraber (University of Vienna) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifdef PAIR_CLASS + +PairStyle(nnp,PairNNP) + +#else + +#ifndef LMP_PAIR_NNP_H +#define LMP_PAIR_NNP_H + +#include "pair.h" +#include "InterfaceLammps.h" + +namespace LAMMPS_NS { + +class PairNNP : public Pair { + + public: + + PairNNP(class LAMMPS *); + virtual ~PairNNP(); + virtual void compute(int, int); + virtual void settings(int, char **); + virtual void coeff(int, char **); + virtual void init_style(); + virtual double init_one(int, int); + virtual void write_restart(FILE *); + virtual void read_restart(FILE *); + virtual void write_restart_settings(FILE *); + virtual void read_restart_settings(FILE *); + + protected: + + virtual void allocate(); + void transferNeighborList(); + void handleExtrapolationWarnings(); + + bool showew; + bool resetew; + int showewsum; + int maxew; + long numExtrapolationWarningsTotal; + long numExtrapolationWarningsSummary; + double cflength; + double cfenergy; + double maxCutoffRadius; + char* directory; + char* emap; + nnp::InterfaceLammps interface; +}; + +} + +#endif +#endif From 28207f15b83a0acda9e583ce0300d0ea336cef7d Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Sun, 21 Feb 2021 00:13:52 +0100 Subject: [PATCH 083/542] Switch to forward declaration in header pair_nnp.h --- src/USER-NNP/pair_nnp.cpp | 63 ++++++++++++++++++++------------------- src/USER-NNP/pair_nnp.h | 7 +++-- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp index 2ccde4418d..64043a78bb 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-NNP/pair_nnp.cpp @@ -26,6 +26,7 @@ #include "error.h" #include "update.h" #include "utils.h" +#include "InterfaceLammps.h" using namespace LAMMPS_NS; @@ -33,6 +34,7 @@ using namespace LAMMPS_NS; PairNNP::PairNNP(LAMMPS *lmp) : Pair(lmp) { + interface = new nnp::InterfaceLammps(); } /* ---------------------------------------------------------------------- @@ -41,6 +43,7 @@ PairNNP::PairNNP(LAMMPS *lmp) : Pair(lmp) PairNNP::~PairNNP() { + delete interface; } /* ---------------------------------------------------------------------- */ @@ -51,13 +54,13 @@ void PairNNP::compute(int eflag, int vflag) else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; // Set number of local atoms and add index and element. - interface.setLocalAtoms(atom->nlocal,atom->tag,atom->type); + interface->setLocalAtoms(atom->nlocal,atom->tag,atom->type); // Transfer local neighbor list to NNP interface. transferNeighborList(); // Compute symmetry functions, atomic neural networks and add up energy. - interface.process(); + interface->process(); // Do all stuff related to extrapolation warnings. if(showew == true || showewsum > 0 || maxew >= 0) { @@ -65,16 +68,16 @@ void PairNNP::compute(int eflag, int vflag) } // Calculate forces of local and ghost atoms. - interface.getForces(atom->f); + interface->getForces(atom->f); // Add energy contribution to total energy. if (eflag_global) - ev_tally(0,0,atom->nlocal,1,interface.getEnergy(),0.0,0.0,0.0,0.0,0.0); + ev_tally(0,0,atom->nlocal,1,interface->getEnergy(),0.0,0.0,0.0,0.0,0.0); // Add atomic energy if requested (CAUTION: no physical meaning!). if (eflag_atom) for (int i = 0; i < atom->nlocal; ++i) - eatom[i] = interface.getAtomicEnergy(i); + eatom[i] = interface->getAtomicEnergy(i); // If virial needed calculate via F dot r. if (vflag_fdotr) virial_fdotr_compute(); @@ -215,32 +218,32 @@ void PairNNP::init_style() neighbor->requests[irequest]->full = 1; // Return immediately if NNP setup is already completed. - if (interface.isInitialized()) return; + if (interface->isInitialized()) return; // Activate screen and logfile output only for rank 0. if (comm->me == 0) { - if (lmp->screen != NULL) - interface.log.registerCFilePointer(&(lmp->screen)); - if (lmp->logfile != NULL) - interface.log.registerCFilePointer(&(lmp->logfile)); + if (lmp->screen != nullptr) + interface->log.registerCFilePointer(&(lmp->screen)); + if (lmp->logfile != nullptr) + interface->log.registerCFilePointer(&(lmp->logfile)); } // Initialize interface on all processors. - interface.initialize(directory, - emap, - showew, - resetew, - showewsum, - maxew, - cflength, - cfenergy, - maxCutoffRadius, - atom->ntypes, - comm->me); + interface->initialize(directory, + emap, + showew, + resetew, + showewsum, + maxew, + cflength, + cfenergy, + maxCutoffRadius, + atom->ntypes, + comm->me); // LAMMPS cutoff radius (given via pair_coeff) should not be smaller than // maximum symmetry function cutoff radius. - if (maxCutoffRadius < interface.getMaxCutoffRadius()) + if (maxCutoffRadius < interface->getMaxCutoffRadius()) error->all(FLERR,"Inconsistent cutoff radius"); } @@ -321,7 +324,7 @@ void PairNNP::transferNeighborList() double dz = atom->x[i][2] - atom->x[j][2]; double d2 = dx * dx + dy * dy + dz * dz; if (d2 <= rc2) { - interface.addNeighbor(i,j,atom->tag[j],atom->type[j],dx,dy,dz,d2); + interface->addNeighbor(i,j,atom->tag[j],atom->type[j],dx,dy,dz,d2); } } } @@ -331,7 +334,7 @@ void PairNNP::handleExtrapolationWarnings() { // Get number of extrapolation warnings for local atoms. // TODO: Is the conversion from std::size_t to long ok? - long numCurrentEW = (long)interface.getNumExtrapolationWarnings(); + long numCurrentEW = (long)interface->getNumExtrapolationWarnings(); // Update (or set, resetew == true) total warnings counter. if (resetew) numExtrapolationWarningsTotal = numCurrentEW; @@ -347,7 +350,7 @@ void PairNNP::handleExtrapolationWarnings() // rank 0. if(showew > 0) { // First collect an overview of extrapolation warnings per process. - long* numEWPerProc = NULL; + long* numEWPerProc = nullptr; if(comm->me == 0) numEWPerProc = new long[comm->nprocs]; MPI_Gather(&numCurrentEW, 1, MPI_LONG, numEWPerProc, 1, MPI_LONG, 0, world); @@ -361,18 +364,18 @@ void PairNNP::handleExtrapolationWarnings() char* buf = new char[bs]; // Receive buffer. MPI_Recv(buf, bs, MPI_BYTE, i, 0, world, &ms); - interface.extractEWBuffer(buf, bs); + interface->extractEWBuffer(buf, bs); delete[] buf; } } - interface.writeExtrapolationWarnings(); + interface->writeExtrapolationWarnings(); } else if(numCurrentEW > 0) { // Get desired buffer length for all extrapolation warning entries. - long bs = interface.getEWBufferSize(); + long bs = interface->getEWBufferSize(); // Allocate and fill buffer. char* buf = new char[bs]; - interface.fillEWBuffer(buf, bs); + interface->fillEWBuffer(buf, bs); // Send buffer size and buffer. MPI_Send(&bs, 1, MPI_LONG, 0, 0, world); MPI_Send(buf, bs, MPI_BYTE, 0, 0, world); @@ -415,5 +418,5 @@ void PairNNP::handleExtrapolationWarnings() } // Reset internal extrapolation warnings counters. - interface.clearExtrapolationWarnings(); + interface->clearExtrapolationWarnings(); } diff --git a/src/USER-NNP/pair_nnp.h b/src/USER-NNP/pair_nnp.h index c067118131..ab86abbc0e 100644 --- a/src/USER-NNP/pair_nnp.h +++ b/src/USER-NNP/pair_nnp.h @@ -24,7 +24,10 @@ PairStyle(nnp,PairNNP) #define LMP_PAIR_NNP_H #include "pair.h" -#include "InterfaceLammps.h" + +namespace nnp { + class InterfaceLammps; +} namespace LAMMPS_NS { @@ -61,7 +64,7 @@ class PairNNP : public Pair { double maxCutoffRadius; char* directory; char* emap; - nnp::InterfaceLammps interface; + nnp::InterfaceLammps* interface; }; } From af974c2aba3d9d110e2b5d4f8fc15168e67660aa Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Mon, 22 Feb 2021 00:29:10 +0100 Subject: [PATCH 084/542] Added pair_nnp documentation --- doc/src/Build_extras.rst | 20 ++++ doc/src/Commands_pair.rst | 1 + doc/src/Packages_details.rst | 30 +++++ doc/src/Packages_user.rst | 2 + doc/src/pair_nnp.rst | 222 +++++++++++++++++++++++++++++++++++ doc/src/pair_style.rst | 1 + 6 files changed, 276 insertions(+) create mode 100644 doc/src/pair_nnp.rst diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index cf15de74bd..99aaf69f8f 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -52,6 +52,7 @@ This is the list of packages that may require additional steps. * :ref:`USER-MESONT ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` + * :ref:`USER-NNP ` * :ref:`USER-PLUMED ` * :ref:`USER-OMP ` * :ref:`USER-QMMM ` @@ -1586,6 +1587,25 @@ on your system. ---------- +.. _user-nnp: + +USER-NNP package +--------------------------------- + +.. tabs:: + + .. tab:: CMake build + + .. code-block:: bash + + ADD STUFF HERE + + .. tab:: Traditional make + + ADD STUFF HERE + +---------- + .. _user-omp: USER-OMP package diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index e7277e2bbb..7aa27860b1 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -197,6 +197,7 @@ OPT. * :doc:`nm/cut (o) ` * :doc:`nm/cut/coul/cut (o) ` * :doc:`nm/cut/coul/long (o) ` + * :doc:`nnp ` * :doc:`oxdna/coaxstk ` * :doc:`oxdna/excv ` * :doc:`oxdna/hbond ` diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 455df083e4..ea27bd3abf 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -88,6 +88,7 @@ page gives those details. * :ref:`USER-MOFFF ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` + * :ref:`USER-NNP ` * :ref:`USER-OMP ` * :ref:`USER-PHONON ` * :ref:`USER-PLUMED ` @@ -1921,6 +1922,35 @@ This package has :ref:`specific installation instructions ` on the ---------- +.. _PKG-USER-NNP: + +USER-NNP package +---------------- + +**Contents:** + +:doc:`pair_style nnp ` command + +.. _n2p2: https://github.com/CompPhysVienna/n2p2 + +To use this package you must have the n2p2 core and interface library +(``libnnp``, ``libnnpif``) available on your system. + +**Author:** Andreas Singraber + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/USER-NNP: filenames -> commands +* src/USER-NNP/README +* :doc:`pair_style nnp ` +* examples/USER/nnp + +---------- + .. _PKG-USER-OMP: USER-OMP package diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index a3efaf15c8..8f7e955924 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -79,6 +79,8 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-NNP ` | High-dimensional neural network potenials | :doc:`pair_style nnp ` | USER/nnp | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | diff --git a/doc/src/pair_nnp.rst b/doc/src/pair_nnp.rst new file mode 100644 index 0000000000..56ea8bf575 --- /dev/null +++ b/doc/src/pair_nnp.rst @@ -0,0 +1,222 @@ +.. index:: pair_style nnp + +pair_style nnp command +====================== + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style nnp keyword value ... + +* zero or more keyword/value pairs may be appended +* keyword = *dir* or *showew* or *showewsum* or *maxew* or *resetew* or *cflength* or *cfenergy* +* value depends on the preceding keyword: + +.. parsed-literal:: + + *emap* value = mapping + mapping = Element mapping from LAMMPS atom types to n2p2 elements + *dir* value = directory + directory = Path to NNP configuration files + *showew* value = *yes* or *no* + *showewsum* value = summary + summary = Write EW summary every this many timesteps (*0* turns summary off) + *maxew* value = threshold + threshold = Maximum number of EWs allowed + *resetew* value = *yes* or *no* + *cflength* value = length + length = Length unit conversion factor + *cfenergy* value = energy + energy = Energy unit conversion factor + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style nnp showew yes showewsum 100 maxew 1000 resetew yes cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" + pair_coeff * * 6.35 + + pair_style nnp dir "./" showewsum 10000 + pair_coeff * * 6.01 + +Description +""""""""""" + +This pair style adds an interaction based on the high-dimensional neural network +potential method [1]_. These potentials must be carefully trained to reproduce +the potential energy surface in the desired phase-space region prior to their +usage in an MD simulation. This pair style uses an interface to the NNP library +[2]_ [3]_, see the documentation there for more information. + +The maximum cutoff radius of all symmetry functions is the only argument of the +*pair_coeff* command which should be invoked with asterisk wild-cards only: + +.. code-block:: LAMMPS + + pair_coeff * * cutoff + +.. note:: + + The cutoff must be given in LAMMPS length units, even if the neural network + potential has been trained using a different unit system (see remarks about the + *cflength* and *cfenergy* keywords below for details). + +The numeric value may be slightly larger than the actual maximum symmetry +function cutoff radius (to account for rounding errors when converting units), +but must not be smaller. + +---- + +If provided, the keyword *emap* determines the mapping from LAMMPS atom types to +n2p2 elements. The format is a comma-separated list of ``atom type:element`` +pairs, e.g. ``"1:Cu,2:Zn"`` will map atom types 1 and 2 to elements Cu and Zn, +respectively. Atom types not present in the list will be completely ignored by +the NNP. The keyword *emap* is mandatory in a "hybrid" setup (see +:doc:`pair_hybrid `) with "extra" atom types in the simulation +which are not handled by the NNP. + +.. warning:: + + Without an explicit mapping it is by default assumed that the atom type + specifications in LAMMPS configuration files are consistent with the ordering + of elements in the NNP library. Thus, without the *emap* keyword present + atom types must be sorted in order of ascending atomic number, e.g. the only + correct mapping for a configuration containing hydrogen, oxygen and zinc + atoms would be: + + +---------+---------------+-------------+ + | Element | Atomic number | LAMMPS type | + +=========+===============+=============+ + | H | 1 | 1 | + +---------+---------------+-------------+ + | O | 8 | 2 | + +---------+---------------+-------------+ + | Zn | 30 | 3 | + +---------+---------------+-------------+ + +Use the *dir* keyword to specify the directory containing the NNP configuration +files. The directory must contain ``input.nn`` with neural network and symmetry +function setup, ``scaling.data`` with symmetry function scaling data and +``weights.???.data`` with weight parameters for each element. + +The keyword *showew* can be used to turn on/off the display of extrapolation +warnings (EWs) which are issued whenever a symmetry function value is out of +bounds defined by minimum/maximum values in "scaling.data". An extrapolation +warning may look like this: + +.. code-block:: LAMMPS + + ### NNP EXTRAPOLATION WARNING ### STRUCTURE: 0 ATOM: 119 ELEMENT: Cu SYMFUNC: 32 TYPE: 3 VALUE: 2.166E-02 MIN: 2.003E-05 MAX: 1.756E-02 + +stating that the value 2.166E-02 of symmetry function 32 of type 3 (angular +narrow), element Cu (see the log file for a symmetry function listing) was out +of bounds (maximum in ``scaling.data`` is 1.756E-02) for atom 119. Here, the +atom index refers to the LAMMPS tag (global index) and the structure index is +used to print out the MPI rank the atom belongs to. + +.. note:: + + The *showew* keyword should only be set to *yes* for debugging purposes. + Extrapolation warnings may add lots of overhead as they are communicated each + timestep. Also, if the simulation is run in a region where the NNP was not + correctly trained, lots of extrapolation warnings may clog log files and the + console. In a production run use *showewsum* instead. + +The keyword *showewsum* can be used to get an overview of extrapolation warnings +occurring during an MD simulation. The argument specifies the interval at which +extrapolation warning summaries are displayed and logged. An EW summary may look +like this: + +.. code-block:: LAMMPS + + ### NNP EW SUMMARY ### TS: 100 EW 11 EWPERSTEP 1.100E-01 + +Here, at timestep 100 the occurrence of 11 extrapolation warnings since the last +summary is reported, which corresponds to an EW rate of 0.11 per timestep. +Setting *showewsum* to 0 deactivates the EW summaries. + +A maximum number of allowed extrapolation warnings can be specified with the +*maxew* keyword. If the number of EWs exceeds the *maxew* argument the +simulation is stopped. Note however that this is merely an approximate threshold +since the check is only performed at the end of each timestep and each MPI +process counts individually to minimize communication overhead. + +The keyword *resetew* alters the behavior of the above mentioned *maxew* +threshold. If *resetew* is set to *yes* the threshold is applied on a +per-timestep basis and the internal EW counters are reset at the beginning of +each timestep. With *resetew* set to *no* the counters accumulate EWs along the +whole trajectory. + +If the training of a neural network potential has been performed with different +physical units for length and energy than those set in LAMMPS, it is still +possible to use the potential when the unit conversion factors are provided via +the *cflength* and *cfenergy* keywords. If for example, the NNP was +parameterized with Bohr and Hartree training data and symmetry function +parameters (i.e. distances and energies in "input.nn" are given in Bohr and +Hartree) but LAMMPS is set to use *metal* units (Angstrom and eV) the correct +conversion factors are: + +.. code-block:: LAMMPS + + cflength 1.8897261328 + + cfenergy 0.0367493254 + +Thus, arguments of *cflength* and *cfenergy* are the multiplicative factors +required to convert lengths and energies given in LAMMPS units to respective +quantities in native NNP units (1 Angstrom = 1.8897261328 Bohr, 1 eV = +0.0367493254 Hartree). + +---- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This style does not support mixing. The :doc:`pair_coeff ` command +should only be invoked with asterisk wild cards (see above). + +This style does not support the :doc:`pair_modify ` +shift, table, and tail options. + +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , +*middle*\ , *outer* keywords. + +Restrictions +"""""""""""" + +This pair style is part of the USER-NNP package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. + +Please report bugs and feature requests to the `n2p2 GitHub issue page +`__. + +Related commands +^^^^^^^^^^^^^^^^ + +:doc:`pair_coeff `, :doc:`pair_hybrid `, :doc:`units ` + +Default +^^^^^^^ + +The default options are *dir* = "nnp/", *showew* = yes, *showewsum* = 0, *maxew* += 0, *resetew* = no, *cflength* = 1.0, *cfenergy* = 1.0. The default atom type +mapping is determined automatically according to ascending atomic number of +present elements (see above). + +---- + +.. [1] Behler, J.; Parrinello, M. Generalized Neural-Network Representation of + High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14), + 146401. https://doi.org/10.1103/PhysRevLett.98.146401 + +.. [2] https://github.com/CompPhysVienna/n2p2 + +.. [3] Singraber, A.; Morawietz, T.; Behler, J.; Dellago, C. Parallel + Multistream Training of High-Dimensional Neural Network Potentials. J. Chem. + Theory Comput. 2019, 15 (5), 3075–3092. https://doi.org/10.1021/acs.jctc.8b01092 diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 524581d2c4..b164e9f828 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -260,6 +260,7 @@ accelerated styles exist. * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb +* :doc:`nnp ` - High-dimensional neural network potential * :doc:`oxdna/coaxstk ` - * :doc:`oxdna/excv ` - * :doc:`oxdna/hbond ` - From 6dbb0230c23ef75673fb5bab552274c08f71df7d Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Mon, 22 Feb 2021 22:57:45 +0100 Subject: [PATCH 085/542] Updated documentation, cleaned source --- cmake/CMakeLists.txt | 2 +- cmake/presets/all_off.cmake | 4 ++-- cmake/presets/all_on.cmake | 4 ++-- cmake/presets/nolib.cmake | 4 ++-- doc/src/Build_package.rst | 22 ++++++++++----------- doc/src/pair_nnp.rst | 38 ++++++++++++++++++++++++------------- src/USER-NNP/pair_nnp.cpp | 38 ------------------------------------- src/USER-NNP/pair_nnp.h | 4 ---- 8 files changed, 43 insertions(+), 73 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index aefa9cd597..850d32714e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -110,7 +110,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF - USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-MOLFILE USER-NETCDF USER-NNP USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index bd94b9dbe5..d567b141bf 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -8,8 +8,8 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP + USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP + USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 438c119c4c..2b879e9ecf 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -10,8 +10,8 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP - USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP + USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP + USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index 0245b58cc7..c0236347cb 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -3,8 +3,8 @@ set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB - USER-MOLFILE USER-MESONT USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP - USER-SCAFACOS USER-SMD USER-VTK) + USER-MOLFILE USER-MESONT USER-NETCDF USER-NNP USER-PLUMED USER-QMMM + USER-QUIP USER-SCAFACOS USER-SMD USER-VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index f9fc52f8db..36a7bce482 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -30,17 +30,17 @@ steps, as explained on the :doc:`Build extras ` page. These links take you to the extra instructions for those select packages: -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`COMPRESS ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-INTEL ` | :ref:`USER-MOLFILE ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-NETCDF ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | :ref:`USER-QUIP ` | :ref:`USER-SCAFACOS ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | | | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ +| :ref:`COMPRESS ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ +| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ +| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-INTEL ` | :ref:`USER-MOLFILE ` | ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ +| :ref:`USER-NETCDF ` | :ref:`USER-NNP ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | :ref:`USER-QUIP ` | ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ +| :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | | ++--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ The mechanism for including packages is simple but different for CMake versus make. diff --git a/doc/src/pair_nnp.rst b/doc/src/pair_nnp.rst index 56ea8bf575..78fa635c1f 100644 --- a/doc/src/pair_nnp.rst +++ b/doc/src/pair_nnp.rst @@ -46,13 +46,21 @@ Description """"""""""" This pair style adds an interaction based on the high-dimensional neural network -potential method [1]_. These potentials must be carefully trained to reproduce -the potential energy surface in the desired phase-space region prior to their -usage in an MD simulation. This pair style uses an interface to the NNP library -[2]_ [3]_, see the documentation there for more information. +potential (HDNNP) method as presented in :ref:`(Behler and Parrinello 2007) +`. HDNNPs are machine learning potentials which require +careful training of neural networks prior to application in MD simulations. The +pair style uses an interface to the *n2p2* library :ref:`(Singraber et al 2019) +` which is available on Github `here +`__. Please see the *n2p2* +`documentation `__ for further details. +*n2p2* (and hence this pair style) is compatible with neural network potentials +trained with its own tools and with `RuNNer +`__. However, at this point only +short-range HDNNPs are supported. -The maximum cutoff radius of all symmetry functions is the only argument of the -*pair_coeff* command which should be invoked with asterisk wild-cards only: +The maximum cutoff radius of all symmetry functions (the atomic environment +descriptors of HDNNPs) is the only argument of the *pair_coeff* command which +should be invoked with asterisk wild-cards only: .. code-block:: LAMMPS @@ -211,12 +219,16 @@ present elements (see above). ---- -.. [1] Behler, J.; Parrinello, M. Generalized Neural-Network Representation of - High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14), - 146401. https://doi.org/10.1103/PhysRevLett.98.146401 +.. _Behler_Parrinello_2007: -.. [2] https://github.com/CompPhysVienna/n2p2 +**(Behler and Parrinello 2007)** Behler, J.; Parrinello, M. Generalized +Neural-Network Representation of High-Dimensional Potential-Energy Surfaces. +Phys. Rev. Lett. 2007, 98 (14), 146401. +https://doi.org/10.1103/PhysRevLett.98.146401 -.. [3] Singraber, A.; Morawietz, T.; Behler, J.; Dellago, C. Parallel - Multistream Training of High-Dimensional Neural Network Potentials. J. Chem. - Theory Comput. 2019, 15 (5), 3075–3092. https://doi.org/10.1021/acs.jctc.8b01092 +.. _Singraber_et_al_2019: + +**(Singraber et al 2019)** Singraber, A.; Behler, J.; Dellago, C. Library-Based +LAMMPS Implementation of High-Dimensional Neural Network Potentials. J. Chem. +Theory Comput. 2019, 15 (3), 1827–1840. +https://doi.org/10.1021/acs.jctc.8b00770. diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp index 64043a78bb..c7ac600e45 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-NNP/pair_nnp.cpp @@ -253,46 +253,9 @@ void PairNNP::init_style() double PairNNP::init_one(int i, int j) { - // TODO: Check how this actually works for different cutoffs. return maxCutoffRadius; } -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairNNP::write_restart(FILE *fp) -{ - return; -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairNNP::read_restart(FILE *fp) -{ - return; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairNNP::write_restart_settings(FILE *fp) -{ - return; -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairNNP::read_restart_settings(FILE *fp) -{ - return; -} - /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ @@ -333,7 +296,6 @@ void PairNNP::transferNeighborList() void PairNNP::handleExtrapolationWarnings() { // Get number of extrapolation warnings for local atoms. - // TODO: Is the conversion from std::size_t to long ok? long numCurrentEW = (long)interface->getNumExtrapolationWarnings(); // Update (or set, resetew == true) total warnings counter. diff --git a/src/USER-NNP/pair_nnp.h b/src/USER-NNP/pair_nnp.h index ab86abbc0e..0b76739d77 100644 --- a/src/USER-NNP/pair_nnp.h +++ b/src/USER-NNP/pair_nnp.h @@ -42,10 +42,6 @@ class PairNNP : public Pair { virtual void coeff(int, char **); virtual void init_style(); virtual double init_one(int, int); - virtual void write_restart(FILE *); - virtual void read_restart(FILE *); - virtual void write_restart_settings(FILE *); - virtual void read_restart_settings(FILE *); protected: From 7e411f2b1251eadc6f59b6a25bd350574c7a2ac2 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Tue, 23 Feb 2021 14:05:06 +0100 Subject: [PATCH 086/542] New makefile in lib/nnp/ dir, updated Install.sh --- lib/nnp/README | 1 + src/USER-NNP/Install.sh | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 lib/nnp/README diff --git a/lib/nnp/README b/lib/nnp/README new file mode 100644 index 0000000000..a5cfd5cd23 --- /dev/null +++ b/lib/nnp/README @@ -0,0 +1 @@ +WRITE STUFF HERE diff --git a/src/USER-NNP/Install.sh b/src/USER-NNP/Install.sh index e17603df76..cd60ba1598 100644 --- a/src/USER-NNP/Install.sh +++ b/src/USER-NNP/Install.sh @@ -38,9 +38,6 @@ if (test $1 = 1) then if (test -e ../Makefile.package) then sed -i -e 's/[^ \t]*nnp[^ \t]* //g' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-I..\/..\/lib\/nnp\/include |' ../Makefile.package - sed -i -e 's|^PKG_PATH =[ \t]*|&-L..\/..\/lib\/nnp\/lib |' ../Makefile.package - sed -i -e 's|^PKG_LIB =[ \t]*|&-lnnpif -lnnp |' ../Makefile.package sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(nnp_SYSINC) |' ../Makefile.package sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(nnp_SYSLIB) |' ../Makefile.package sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(nnp_SYSPATH) |' ../Makefile.package @@ -50,7 +47,7 @@ if (test $1 = 1) then sed -i -e '/^include.*nnp.*$/d' ../Makefile.package.settings # multiline form needed for BSD sed on Macs sed -i -e '4 i \ -include ..\/..\/lib\/nnp\/src\/libnnpif\/LAMMPS\/Makefile.lammps +include ..\/..\/lib\/nnp\/Makefile.lammps\ ' ../Makefile.package.settings fi From c56f665c5baab0acd6c0291b580da1918688d3a1 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Tue, 23 Feb 2021 23:35:18 +0100 Subject: [PATCH 087/542] CMake files for finding n2p2 --- cmake/CMakeLists.txt | 3 ++- cmake/Modules/FindN2P2.cmake | 25 +++++++++++++++++++++++++ cmake/Modules/Packages/USER-NNP.cmake | 3 +++ src/Makefile | 8 ++++---- 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 cmake/Modules/FindN2P2.cmake create mode 100644 cmake/Modules/Packages/USER-NNP.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 850d32714e..bb982085e7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -374,7 +374,8 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-MOLFILE + USER-NETCDF USER-NNP USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake new file mode 100644 index 0000000000..f1a9058f33 --- /dev/null +++ b/cmake/Modules/FindN2P2.cmake @@ -0,0 +1,25 @@ +include(FindPackageHandleStandardArgs) + +if (DEFINED ENV{N2P2_DIR}) + set(N2P2_DIR "${N2P2_DIR}") +endif() +message(STATUS "N2P2_DIR=${N2P2_DIR}") + +find_path(N2P2_INCLUDE_DIR InterfaceLammps.h PATHS "${N2P2_DIR}/include") +find_library(N2P2_LIBNNP NAMES nnp PATHS "${N2P2_DIR}/lib") +find_library(N2P2_LIBNNPIF NAMES nnpif PATHS "${N2P2_DIR}/lib") + +find_package_handle_standard_args(N2P2 DEFAULT_MSG N2P2_INCLUDE_DIR N2P2_LIBNNP) + +if(N2P2_FOUND) + set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) + set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) + + mark_as_advanced( + N2P2_DIR + N2P2_INCLUDE_DIR + N2P2_LIBNNP + N2P2_LIBNNPIF + ) +endif() + diff --git a/cmake/Modules/Packages/USER-NNP.cmake b/cmake/Modules/Packages/USER-NNP.cmake new file mode 100644 index 0000000000..57eae791d2 --- /dev/null +++ b/cmake/Modules/Packages/USER-NNP.cmake @@ -0,0 +1,3 @@ +find_package(N2P2 REQUIRED) +target_include_directories(lammps PRIVATE ${N2P2_INCLUDE_DIRS}) +target_link_libraries(lammps PRIVATE ${N2P2_LIBRARIES}) diff --git a/src/Makefile b/src/Makefile index 679cbe7b97..3afe821db7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -55,14 +55,14 @@ PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-c user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ user-mgpt user-misc user-mofff user-molfile \ - user-netcdf user-omp user-phonon user-plumed user-ptm user-qmmm \ + user-netcdf user-nnp user-omp user-phonon user-plumed user-ptm user-qmmm \ user-qtb user-quip user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ python voronoi \ user-adios user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ - user-netcdf user-plumed user-qmmm user-quip user-scafacos \ + user-netcdf user-nnp user-plumed user-qmmm user-quip user-scafacos \ user-smd user-vtk user-mesont PACKSYS = compress mpiio python user-lb @@ -70,8 +70,8 @@ PACKSYS = compress mpiio python user-lb PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md user-molfile user-netcdf user-plumed user-qmmm user-quip \ - user-smd user-vtk + user-adios user-h5md user-molfile user-netcdf user-nnp user-plumed user-qmmm \ + user-quip user-smd user-vtk PACKALL = $(PACKAGE) $(PACKUSER) From e713a931d3563788db369100662a3a2a01fa5f4f Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Wed, 24 Feb 2021 17:57:24 +0100 Subject: [PATCH 088/542] Added lots of docs, finished CMake script --- cmake/Modules/FindN2P2.cmake | 28 ++++++- cmake/Modules/Packages/USER-NNP.cmake | 1 + doc/src/Build_extras.rst | 25 +++++- doc/src/Packages_user.rst | 2 +- doc/src/pair_nnp.rst | 12 +-- doc/utils/sphinx-config/false_positives.txt | 2 + lib/README | 2 + lib/nnp/README | 91 ++++++++++++++++++++- src/.gitignore | 2 + src/USER-NNP/README | 26 ++++++ src/USER-NNP/pair_nnp.cpp | 61 ++++++++------ src/USER-NNP/pair_nnp.h | 40 +++++---- 12 files changed, 238 insertions(+), 54 deletions(-) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index f1a9058f33..a06850f07f 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -1,25 +1,47 @@ include(FindPackageHandleStandardArgs) +# Check if N2P2_DIR is set manually. if (DEFINED ENV{N2P2_DIR}) set(N2P2_DIR "${N2P2_DIR}") +# If not, try if directory "lib/nnp/n2p2" exists. +else() + get_filename_component(_fullpath "${LAMMPS_LIB_SOURCE_DIR}/nnp/n2p2" REALPATH) + if (EXISTS ${_fullpath}) + set(N2P2_DIR "${_fullpath}") + endif() endif() -message(STATUS "N2P2_DIR=${N2P2_DIR}") +# Set path to include directory. find_path(N2P2_INCLUDE_DIR InterfaceLammps.h PATHS "${N2P2_DIR}/include") +# Two libraries need to be linked: libnnp and libnnpif. find_library(N2P2_LIBNNP NAMES nnp PATHS "${N2P2_DIR}/lib") find_library(N2P2_LIBNNPIF NAMES nnpif PATHS "${N2P2_DIR}/lib") +# Users could compile n2p2 with extra flags which are then also required for +# pair_nnp.cpp compilation. To forward them to the LAMMPS build process n2p2 +# writes a file with cmake commands, e.g. +# +# target_compile_definitions(lammps PRIVATE -DNNP_NO_SF_GROUPS) +# +# to "lib/lammps-extra.cmake" which is then included by USER-NNP.cmake. +find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake PATHS "${N2P2_DIR}/lib") -find_package_handle_standard_args(N2P2 DEFAULT_MSG N2P2_INCLUDE_DIR N2P2_LIBNNP) +find_package_handle_standard_args(N2P2 DEFAULT_MSG + N2P2_DIR + N2P2_INCLUDE_DIR + N2P2_LIBNNP + N2P2_LIBNNPIF + N2P2_CMAKE_EXTRA) if(N2P2_FOUND) set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) + set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA}) mark_as_advanced( N2P2_DIR N2P2_INCLUDE_DIR N2P2_LIBNNP N2P2_LIBNNPIF + N2P2_CMAKE_EXTRA ) endif() - diff --git a/cmake/Modules/Packages/USER-NNP.cmake b/cmake/Modules/Packages/USER-NNP.cmake index 57eae791d2..2ebc1f6e36 100644 --- a/cmake/Modules/Packages/USER-NNP.cmake +++ b/cmake/Modules/Packages/USER-NNP.cmake @@ -1,3 +1,4 @@ find_package(N2P2 REQUIRED) target_include_directories(lammps PRIVATE ${N2P2_INCLUDE_DIRS}) target_link_libraries(lammps PRIVATE ${N2P2_LIBRARIES}) +include(${N2P2_CMAKE_EXTRAS}) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 99aaf69f8f..f40972b544 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -1592,17 +1592,38 @@ on your system. USER-NNP package --------------------------------- +To build with the USER-NNP package it is required to download and build the +external `n2p2 `__ library ``v2.2.0`` +(or higher) before starting the LAMMPS build process. More specifically, only +the *n2p2* core library ``libnnp`` and interface library ``libnnpif`` are +actually needed: when using GCC it should suffice to execute ``make libnnpif`` +in the *n2p2* ``src`` directory. For more details please see the `n2p2 build +documentation `__. If +*n2p2* is downloaded and compiled in the LAMMPS directory ``lib/nnp/n2p2`` no +special flags need to be set besides the usual package activation. If you prefer +to install *n2p2* somewhere else on your system you must specify the path via +the ``N2P2_DIR`` variable. + .. tabs:: .. tab:: CMake build + There is one additional setting besides ``-D PKG_USER-NNP=yes`` in case + *n2p2* is not installed in the ``lib/nnp/n2p2`` directory: + .. code-block:: bash - ADD STUFF HERE + -D N2P2_DIR=path # path ... n2p2 installation path .. tab:: Traditional make - ADD STUFF HERE + There is one additional variable that needs to be set besides ``make + yes-user-nnp`` in case *n2p2* is not installed in the ``lib/nnp/n2p2`` + directory: + + .. code-block:: bash + + make N2P2_DIR=path ... ---------- diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 8f7e955924..77bf13cde6 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -79,7 +79,7 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-NNP ` | High-dimensional neural network potenials | :doc:`pair_style nnp ` | USER/nnp | ext | +| :ref:`USER-NNP ` | High-dimensional neural network potentials | :doc:`pair_style nnp ` | USER/nnp | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/pair_nnp.rst b/doc/src/pair_nnp.rst index 78fa635c1f..fe60ef175e 100644 --- a/doc/src/pair_nnp.rst +++ b/doc/src/pair_nnp.rst @@ -112,7 +112,7 @@ function setup, ``scaling.data`` with symmetry function scaling data and The keyword *showew* can be used to turn on/off the display of extrapolation warnings (EWs) which are issued whenever a symmetry function value is out of -bounds defined by minimum/maximum values in "scaling.data". An extrapolation +bounds defined by minimum/maximum values in ``scaling.data``. An extrapolation warning may look like this: .. code-block:: LAMMPS @@ -221,14 +221,14 @@ present elements (see above). .. _Behler_Parrinello_2007: -**(Behler and Parrinello 2007)** Behler, J.; Parrinello, M. Generalized +**(Behler and Parrinello 2007)** `Behler, J.; Parrinello, M. Generalized Neural-Network Representation of High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14), 146401. -https://doi.org/10.1103/PhysRevLett.98.146401 +`__ .. _Singraber_et_al_2019: -**(Singraber et al 2019)** Singraber, A.; Behler, J.; Dellago, C. Library-Based +**(Singraber et al 2019)** `Singraber, A.; Behler, J.; Dellago, C. Library-Based LAMMPS Implementation of High-Dimensional Neural Network Potentials. J. Chem. -Theory Comput. 2019, 15 (3), 1827–1840. -https://doi.org/10.1021/acs.jctc.8b00770. +Theory Comput. 2019, 15 (3), 1827-1840 +`__ diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 982e1fde2a..60eb142e20 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2171,6 +2171,8 @@ Nmin nmin Nmols nn +nnp +NNP Nocedal nocite nocoeff diff --git a/lib/README b/lib/README index d89490e202..535f2b228e 100644 --- a/lib/README +++ b/lib/README @@ -41,6 +41,8 @@ mscg hooks to the MSCG library, used by fix_mscg command from Jacob Wagner and Greg Voth group (U Chicago) netcdf hooks to a NetCDF library installed on your system from Lars Pastewka (Karlsruhe Institute of Technology) +nnp hooks to n2p2, neural network potential package, used by USER-NNP + from Andreas Singraber poems POEMS rigid-body integration package, POEMS package from Rudranarayan Mukherjee (RPI) python hooks to the system Python library, used by the PYTHON package diff --git a/lib/nnp/README b/lib/nnp/README index a5cfd5cd23..9aba16606c 100644 --- a/lib/nnp/README +++ b/lib/nnp/README @@ -1 +1,90 @@ -WRITE STUFF HERE +The USER-NNP package requires access to pre-compiled libraries of the n2p2 +package (https://github.com/CompPhysVienna/n2p2). More precisely, the n2p2 core +library ("libnnp"), the interface library ("libnnpif"), some headers and extra +build helper files are needed. These files will be created automatically during +the n2p2 build process. + +Basic build instructions for n2p2 +================================= + +The n2p2 software package comes with lots of useful tools for creating and +applying neural network potentials (NNPs). In order to use n2p2 together with +LAMMPS only a portion of the n2p2 code needs to be compiled. As an example, +everything related to NNP training is not required and would only add unwanted +library dependencies. Hence, the build infrastructure of n2p2 is designed to allow +a separate build of the LAMMPS interface. + +After downloading n2p2, change to the "src" directory and simply execute + + make libnnpif + +which should create the following files needed by the USER-NNP package: + + * "n2p2/lib/libnnp.a" + * "n2p2/lib/libnnpif.a" + * "n2p2/lib/lammps-extra.cmake" + * "n2p2/lib/Makefile.lammps-extra" + * "n2p2/include/InterfaceLammps.h" and many other header files. + +If you prefer dynamically linked libraries use + + make MODE=shared libnnpif + +instead (by default MODE=static) which will create *.so versions of the +libraries. By default, n2p2 uses the GNU C++ compiler and the corresponding +settings can be found in "n2p2/src/makefile.gnu". Other makefile presets are +also available (e.g. "makefile.intel") and can be activated by supplying the +"COMP" argument: + + make COMP=intel libnnpif + +Please make sure that your compiler settings for n2p2 and LAMMPS are compatible +(avoid mixing different compilers). For more information about the n2p2 build +process please visit https://compphysvienna.github.io/n2p2/topics/build.html or +ask questions on the Github issue page +(https://github.com/CompPhysVienna/n2p2/issues). + +Installation directory of n2p2 +============================== + +You can install n2p2 either in this folder (1) or somewhere else on your system (2): + +(1) If n2p2 is installed here, please make sure that the directory is also named + "n2p2", i.e. within "lib/nnp/n2p2" you can see the n2p2 folder structure, in + particular "lib" and "include": + + lib + | + nnp + | + n2p2 + | + ------------------ ... + | | | + include lib src ... + + In this case LAMMPS will automatically find n2p2 during the build process + and you only need to enable the USER-NNP package via CMake (-D + PKG_USER-NNP=yes) or the traditional makefile approach (make yes-user-nnp). + It is also valid to create a link here named "n2p2" which points to the n2p2 + installation directory. + +(2) If n2p2 is installed somewhere else the path must be given as an additional + setting (variable N2P2_DIR) to the build tool. For example, with CMake use + + cmake -D PKG_USER-NNP=yes -D N2P2_DIR= ../cmake/ + + and for the traditional makefiles use + + make yes-user-nnp + make N2P2_DIR= mpi + +Testing a successful build of LAMMPS with USER-NNP +================================================== + +An example is provided in the LAMMPS directory "examples/USER/nnp" which runs +10 timesteps with 360 water molecules. The neural network potential is defined +via files in the "nnp-data" subdirectory. Use the "in.nnp" LAMMPS script file +to run the simulation. You should see a large output of the n2p2 library when +the pair style "nnp" is initialized, followed by the LAMMPS per-timestep +output. diff --git a/src/.gitignore b/src/.gitignore index 45ec71e485..9e37dc316c 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1079,6 +1079,8 @@ /pair_nm_cut_coul_cut.h /pair_nm_cut_coul_long.cpp /pair_nm_cut_coul_long.h +/pair_nnp.cpp +/pair_nnp.h /pair_oxdna_*.cpp /pair_oxdna_*.h /pair_oxdna2_*.cpp diff --git a/src/USER-NNP/README b/src/USER-NNP/README index e69de29bb2..811498f448 100644 --- a/src/USER-NNP/README +++ b/src/USER-NNP/README @@ -0,0 +1,26 @@ +This package implements the "pair_style nnp" command which can be used in a +LAMMPS input script. This pair style allows to use pre-trained high-dimensional +neural network potentials[1] via an interface to the n2p2 library +(https://github.com/CompPhysVienna/n2p2)[2]. + +Please see the main documentation for the "pair_style nnp" command for further +details on how the pair style is used. An example is provided in the +"examples/USER/nnp" directory of LAMMPS. + +The USER-NNP package requires the external library n2p2 which must be +downloaded and compiled before starting the build process of LAMMPS. A rough +guideline on how to build n2p2 is presented in "lib/nnp/README". This package +supports the LAMMPS build process via CMake and traditional makefiles, please +see the LAMMPS manual section on building with external libraries for more +details. + +This package was created by Andreas Singraber, please ask questions/report bugs +on the n2p2 Github issues page (https://github.com/CompPhysVienna/n2p2/issues). + +[1] Behler, J.; Parrinello, M. Generalized Neural-Network Representation of +High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14), +146401. https://doi.org/10.1103/PhysRevLett.98.146401 + +[2] Singraber, A.; Behler, J.; Dellago, C. Library-Based +LAMMPS Implementation of High-Dimensional Neural Network Potentials. J. Chem. +Theory Comput. 2019, 15 (3), 1827-1840. https://doi.org/10.1021/acs.jctc.8b00770 diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp index c7ac600e45..39217c605d 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-NNP/pair_nnp.cpp @@ -1,32 +1,35 @@ -// n2p2 - A neural network potential package -// Copyright (C) 2018 Andreas Singraber (University of Vienna) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + This file initially came from n2p2 (https://github.com/CompPhysVienna/n2p2) + Copyright (2018) Andreas Singraber (University of Vienna) + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Andreas Singraber +------------------------------------------------------------------------- */ -#include -#include #include "pair_nnp.h" +#include #include "atom.h" #include "comm.h" +#include "error.h" +#include "memory.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" -#include "memory.h" -#include "error.h" #include "update.h" #include "utils.h" -#include "InterfaceLammps.h" +#include "InterfaceLammps.h" // n2p2 interface header using namespace LAMMPS_NS; @@ -89,6 +92,18 @@ void PairNNP::compute(int eflag, int vflag) void PairNNP::settings(int narg, char **arg) { + single_enable = 0; // 1 if single() routine exists + single_hessian_enable = 0; // 1 if single_hessian() routine exists + restartinfo = 0; // 1 if pair style writes restart info + respa_enable = 0; // 1 if inner/middle/outer rRESPA routines + one_coeff = 1; // 1 if allows only one coeff * * call + manybody_flag = 1; // 1 if a manybody potential + unit_convert_flag = 0; // value != 0 indicates support for unit conversion. + no_virial_fdotr_compute = 0; // 1 if does not invoke virial_fdotr_compute() + writedata = 0; // 1 if writes coeffs to data file + ghostneigh = 0; // 1 if pair style needs neighbors of ghosts + reinitflag = 0; // 1 if compatible with fix adapt and alike + int iarg = 0; if (narg == 0) error->all(FLERR,"Illegal pair_style command"); @@ -312,7 +327,7 @@ void PairNNP::handleExtrapolationWarnings() // rank 0. if(showew > 0) { // First collect an overview of extrapolation warnings per process. - long* numEWPerProc = nullptr; + long *numEWPerProc = nullptr; if(comm->me == 0) numEWPerProc = new long[comm->nprocs]; MPI_Gather(&numCurrentEW, 1, MPI_LONG, numEWPerProc, 1, MPI_LONG, 0, world); @@ -323,7 +338,7 @@ void PairNNP::handleExtrapolationWarnings() MPI_Status ms; // Get buffer size. MPI_Recv(&bs, 1, MPI_LONG, i, 0, world, &ms); - char* buf = new char[bs]; + char *buf = new char[bs]; // Receive buffer. MPI_Recv(buf, bs, MPI_BYTE, i, 0, world, &ms); interface->extractEWBuffer(buf, bs); @@ -336,7 +351,7 @@ void PairNNP::handleExtrapolationWarnings() // Get desired buffer length for all extrapolation warning entries. long bs = interface->getEWBufferSize(); // Allocate and fill buffer. - char* buf = new char[bs]; + char *buf = new char[bs]; interface->fillEWBuffer(buf, bs); // Send buffer size and buffer. MPI_Send(&bs, 1, MPI_LONG, 0, 0, world); diff --git a/src/USER-NNP/pair_nnp.h b/src/USER-NNP/pair_nnp.h index 0b76739d77..8a41d1a5d6 100644 --- a/src/USER-NNP/pair_nnp.h +++ b/src/USER-NNP/pair_nnp.h @@ -1,18 +1,22 @@ -// n2p2 - A neural network potential package -// Copyright (C) 2018 Andreas Singraber (University of Vienna) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + This file initially came from n2p2 (https://github.com/CompPhysVienna/n2p2) + Copyright (2018) Andreas Singraber (University of Vienna) + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Andreas Singraber +------------------------------------------------------------------------- */ #ifdef PAIR_CLASS @@ -58,9 +62,9 @@ class PairNNP : public Pair { double cflength; double cfenergy; double maxCutoffRadius; - char* directory; - char* emap; - nnp::InterfaceLammps* interface; + char *directory; + char *emap; + nnp::InterfaceLammps *interface; }; } From 037441b502b8cd5e6877e37c765303844873d899 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Wed, 24 Feb 2021 23:35:21 +0100 Subject: [PATCH 089/542] More documentation, added citation in source --- doc/src/Build_extras.rst | 13 ++++++------ doc/src/Packages_details.rst | 10 ++++++--- doc/src/pair_nnp.rst | 41 ++++++++++++++++++++++-------------- lib/nnp/README | 33 +++++++++++++++++++++-------- src/USER-NNP/README | 2 +- src/USER-NNP/pair_nnp.cpp | 25 +++++++++++++++++----- 6 files changed, 84 insertions(+), 40 deletions(-) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index f40972b544..6451de9ea5 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -1597,12 +1597,13 @@ external `n2p2 `__ library ``v2.2.0`` (or higher) before starting the LAMMPS build process. More specifically, only the *n2p2* core library ``libnnp`` and interface library ``libnnpif`` are actually needed: when using GCC it should suffice to execute ``make libnnpif`` -in the *n2p2* ``src`` directory. For more details please see the `n2p2 build -documentation `__. If -*n2p2* is downloaded and compiled in the LAMMPS directory ``lib/nnp/n2p2`` no -special flags need to be set besides the usual package activation. If you prefer -to install *n2p2* somewhere else on your system you must specify the path via -the ``N2P2_DIR`` variable. +in the *n2p2* ``src`` directory. For more details please see ``lib/nnp/README`` +and the `n2p2 build documentation +`__. If *n2p2* is +downloaded and compiled in the LAMMPS directory ``lib/nnp/n2p2`` no special +flags need to be set besides the usual package activation. If you prefer to +install *n2p2* somewhere else on your system you must specify the path via the +``N2P2_DIR`` variable. .. tabs:: diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index ea27bd3abf..d1bb18a405 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1929,12 +1929,15 @@ USER-NNP package **Contents:** -:doc:`pair_style nnp ` command +A :doc:`pair_style nnp ` command which allows to use high-dimensional +neural network potentials (HDNNPs), a form of machine learning potentials. +HDNNPs must be carefully trained prior to their application in a molecular +dynamics simulation. .. _n2p2: https://github.com/CompPhysVienna/n2p2 -To use this package you must have the n2p2 core and interface library -(``libnnp``, ``libnnpif``) available on your system. +To use this package you must have the `n2p2 `_ library installed and +compiled on your system. **Author:** Andreas Singraber @@ -1946,6 +1949,7 @@ This package has :ref:`specific installation instructions ` on the :do * src/USER-NNP: filenames -> commands * src/USER-NNP/README +* lib/nnp/README * :doc:`pair_style nnp ` * examples/USER/nnp diff --git a/doc/src/pair_nnp.rst b/doc/src/pair_nnp.rst index fe60ef175e..3141dce317 100644 --- a/doc/src/pair_nnp.rst +++ b/doc/src/pair_nnp.rst @@ -49,14 +49,13 @@ This pair style adds an interaction based on the high-dimensional neural network potential (HDNNP) method as presented in :ref:`(Behler and Parrinello 2007) `. HDNNPs are machine learning potentials which require careful training of neural networks prior to application in MD simulations. The -pair style uses an interface to the *n2p2* library :ref:`(Singraber et al 2019) -` which is available on Github `here -`__. Please see the *n2p2* +pair style uses an interface to the *n2p2* library :ref:`(Singraber, Behler and +Dellago 2019) ` which is available on Github +`here `__. Please see the *n2p2* `documentation `__ for further details. *n2p2* (and hence this pair style) is compatible with neural network potentials -trained with its own tools and with `RuNNer -`__. However, at this point only -short-range HDNNPs are supported. +trained with its own tools :ref:`(Singraber et al 2019) ` +and with `RuNNer `__. The maximum cutoff radius of all symmetry functions (the atomic environment descriptors of HDNNPs) is the only argument of the *pair_coeff* command which @@ -189,17 +188,20 @@ should only be invoked with asterisk wild cards (see above). This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. +Thus, you need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , -*middle*\ , *outer* keywords. +This style can only be used via the *pair* keyword of the :doc:`run_style respa +` command. It does not support the *inner*\ , *middle*\ , *outer* +keywords. Restrictions """""""""""" -This pair style is part of the USER-NNP package. It is only enabled -if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This pair style is part of the USER-NNP package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package ` doc +page for more info. Please report bugs and feature requests to the `n2p2 GitHub issue page `__. @@ -226,9 +228,16 @@ Neural-Network Representation of High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14), 146401. `__ +.. _Singraber_Behler_Dellago_2019: + +**(Singraber, Behler and Dellago 2019)** `Singraber, A.; Behler, J.; Dellago, C. +Library-Based LAMMPS Implementation of High-Dimensional Neural Network +Potentials. J. Chem. Theory Comput. 2019, 15 (3), 1827-1840 +`__ + .. _Singraber_et_al_2019: -**(Singraber et al 2019)** `Singraber, A.; Behler, J.; Dellago, C. Library-Based -LAMMPS Implementation of High-Dimensional Neural Network Potentials. J. Chem. -Theory Comput. 2019, 15 (3), 1827-1840 -`__ +**(Singraber et al 2019)** `Singraber, A.; Morawietz, T.; Behler, J.; Dellago, +C. Parallel Multistream Training of High-Dimensional Neural Network Potentials. +J. Chem. Theory Comput. 2019, 15 (5), 3075-3092. +`__ diff --git a/lib/nnp/README b/lib/nnp/README index 9aba16606c..3d6d1cacbd 100644 --- a/lib/nnp/README +++ b/lib/nnp/README @@ -4,12 +4,14 @@ library ("libnnp"), the interface library ("libnnpif"), some headers and extra build helper files are needed. These files will be created automatically during the n2p2 build process. +IMPORTANT: The n2p2 version must be "v2.2.0" or higher. + Basic build instructions for n2p2 ================================= The n2p2 software package comes with lots of useful tools for creating and applying neural network potentials (NNPs). In order to use n2p2 together with -LAMMPS only a portion of the n2p2 code needs to be compiled. As an example, +LAMMPS only some parts of the n2p2 code need to be compiled. As an example, everything related to NNP training is not required and would only add unwanted library dependencies. Hence, the build infrastructure of n2p2 is designed to allow a separate build of the LAMMPS interface. @@ -39,10 +41,23 @@ also available (e.g. "makefile.intel") and can be activated by supplying the make COMP=intel libnnpif Please make sure that your compiler settings for n2p2 and LAMMPS are compatible -(avoid mixing different compilers). For more information about the n2p2 build -process please visit https://compphysvienna.github.io/n2p2/topics/build.html or -ask questions on the Github issue page -(https://github.com/CompPhysVienna/n2p2/issues). +(avoid mixing different compilers). + +If you want to build a serial version of LAMMPS with USER-NNP package n2p2 must +also be built without MPI enabled. This can be achieved with a preprocessor +flag (-DN2P2_NO_MPI) which is (among others) prepared, but commented out, in +the provided compiler-specific settings makefiles. For example, if you use the +GNU compiler simply remove the comment character '#' in front of the +corresponding line in "makefile.gnu". It should then look like this: + + PROJECT_OPTIONS+= -DN2P2_NO_MPI + +After compiling n2p2 with this flag turned on you can build a serial LAMMPS +version with "-D BUILD_MPI=off" (CMake) or "make serial" (traditional). + +For more information about the n2p2 build process please visit +https://compphysvienna.github.io/n2p2/topics/build.html or ask questions on the +Github issue page (https://github.com/CompPhysVienna/n2p2/issues). Installation directory of n2p2 ============================== @@ -64,10 +79,10 @@ You can install n2p2 either in this folder (1) or somewhere else on your system include lib src ... In this case LAMMPS will automatically find n2p2 during the build process - and you only need to enable the USER-NNP package via CMake (-D - PKG_USER-NNP=yes) or the traditional makefile approach (make yes-user-nnp). - It is also valid to create a link here named "n2p2" which points to the n2p2 - installation directory. + and you only need to enable the USER-NNP package via CMake (-D PKG_USER-NNP=yes) + or the traditional makefile approach (make yes-user-nnp). It is also valid to + create a link here named "n2p2" which points to the n2p2 installation + directory. (2) If n2p2 is installed somewhere else the path must be given as an additional setting (variable N2P2_DIR) to the build tool. For example, with CMake use diff --git a/src/USER-NNP/README b/src/USER-NNP/README index 811498f448..a8eae3d865 100644 --- a/src/USER-NNP/README +++ b/src/USER-NNP/README @@ -8,7 +8,7 @@ details on how the pair style is used. An example is provided in the "examples/USER/nnp" directory of LAMMPS. The USER-NNP package requires the external library n2p2 which must be -downloaded and compiled before starting the build process of LAMMPS. A rough +downloaded and compiled before starting the build process of LAMMPS. A guideline on how to build n2p2 is presented in "lib/nnp/README". This package supports the LAMMPS build process via CMake and traditional makefiles, please see the LAMMPS manual section on building with external libraries for more diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp index 39217c605d..a6b06fb66c 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-NNP/pair_nnp.cpp @@ -21,6 +21,7 @@ #include "pair_nnp.h" #include #include "atom.h" +#include "citeme.h" #include "comm.h" #include "error.h" #include "memory.h" @@ -33,20 +34,34 @@ using namespace LAMMPS_NS; +static const char cite_user_nnp_package[] = + "USER-NNP package:\n\n" + "@Article{Singraber19,\n" + " author = {Singraber, Andreas and Behler, J{\"o}rg and Dellago, Christoph},\n" + " title = {Library-{{Based LAMMPS Implementation}} of {{High}}-{{Dimensional Neural Network Potentials}}},\n" + " year = {2019},\n" + " month = mar,\n" + " volume = {15},\n" + " pages = {1827--1840},\n" + " doi = {10.1021/acs.jctc.8b00770},\n" + " journal = {J.~Chem.~Theory~Comput.},\n" + " number = {3}\n" + "}\n\n"; + /* ---------------------------------------------------------------------- */ PairNNP::PairNNP(LAMMPS *lmp) : Pair(lmp) { - interface = new nnp::InterfaceLammps(); + if (lmp->citeme) lmp->citeme->add(cite_user_nnp_package); + + interface = new nnp::InterfaceLammps(); } -/* ---------------------------------------------------------------------- - check if allocated, since class can be destructed when incomplete -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ PairNNP::~PairNNP() { - delete interface; + delete interface; } /* ---------------------------------------------------------------------- */ From 0c583fff7dd8fdcb657fdf7c9f5ca1c356681516 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Thu, 25 Feb 2021 11:54:37 +0100 Subject: [PATCH 090/542] Allow for -DLAMMPS_BIGBIG compilation --- lib/nnp/README | 10 +++++----- src/USER-NNP/pair_nnp.cpp | 8 ++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/nnp/README b/lib/nnp/README index 3d6d1cacbd..004d60df0b 100644 --- a/lib/nnp/README +++ b/lib/nnp/README @@ -44,11 +44,11 @@ Please make sure that your compiler settings for n2p2 and LAMMPS are compatible (avoid mixing different compilers). If you want to build a serial version of LAMMPS with USER-NNP package n2p2 must -also be built without MPI enabled. This can be achieved with a preprocessor -flag (-DN2P2_NO_MPI) which is (among others) prepared, but commented out, in -the provided compiler-specific settings makefiles. For example, if you use the -GNU compiler simply remove the comment character '#' in front of the -corresponding line in "makefile.gnu". It should then look like this: +also be built with MPI disabled. This can be achieved with a preprocessor flag +(-DN2P2_NO_MPI) which is (among others) prepared, but commented out, in the +provided compiler-specific settings makefiles. For example, if you use the GNU +compiler simply remove the comment character '#' in front of the corresponding +line (around line 49) in "makefile.gnu". It should then look like this: PROJECT_OPTIONS+= -DN2P2_NO_MPI diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-NNP/pair_nnp.cpp index a6b06fb66c..b2dae5a969 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-NNP/pair_nnp.cpp @@ -71,8 +71,12 @@ void PairNNP::compute(int eflag, int vflag) if(eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; - // Set number of local atoms and add index and element. - interface->setLocalAtoms(atom->nlocal,atom->tag,atom->type); + // Set number of local atoms and add element. + interface->setLocalAtoms(atom->nlocal,atom->type); + // Transfer tags separately. Interface::setLocalTags is overloaded internally + // to work with both -DLAMMPS_SMALLBIG (tagint = int) and -DLAMMPS_BIGBIG + // (tagint = int64_t) + interface->setLocalTags(atom->tag); // Transfer local neighbor list to NNP interface. transferNeighborList(); From ed53e2bbff2465dd05ba015a05843b2bb328360c Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Thu, 25 Feb 2021 14:02:00 +0100 Subject: [PATCH 091/542] Add ignored Makefile.lammps in lib/nnp --- lib/nnp/Makefile.lammps | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/nnp/Makefile.lammps diff --git a/lib/nnp/Makefile.lammps b/lib/nnp/Makefile.lammps new file mode 100644 index 0000000000..fb5b939541 --- /dev/null +++ b/lib/nnp/Makefile.lammps @@ -0,0 +1,24 @@ +# Settings that the LAMMPS build will import when this package library is used +# Normally, you do NOT need to edit this file! + +# Check out if n2p2 or a link is right here. +N2P2_LOCALDIR=$(realpath ../../lib/nnp/n2p2) +ifeq ($(N2P2_DIR),) + N2P2_DIR=$(shell test -d $(N2P2_LOCALDIR) && echo $(N2P2_LOCALDIR)) +else +# If n2p2 is not found in this directory then use environment variable or set manually here: +# N2P2_DIR= +endif + +# Give up if n2p2 not found yet. +ifeq ($(N2P2_DIR),) +$(error Cannot find library for USER-NNP package, please set environment or make variable N2P2_DIR manually.) +endif + +# Read extra NNP_ compilation flags from makefile provided by n2p2: +include $(N2P2_DIR)/lib/Makefile.lammps-extra + +# Next, add general info to include/lib/path variables. +nnp_SYSINC += -I$(N2P2_DIR)/include +nnp_SYSLIB += -L$(N2P2_DIR)/lib -lnnpif -lnnp +nnp_SYSPATH += From d5c3e1786adfb046e55f5bc0d3d27f195f3a5725 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 2 Mar 2021 12:57:32 -0600 Subject: [PATCH 092/542] Fixing bugs on eam*/gpu for pair hybrid with neigh yes, where the gpu pair style eam is used for only a subset of the pair types. eam being the first substyle works correctly, but otherwise will give incorrect forces --- lib/gpu/lal_eam.cpp | 20 ++++++++++++++------ lib/gpu/lal_eam.cu | 13 ++++++++++--- lib/gpu/lal_eam.h | 6 ++++-- lib/gpu/lal_eam_alloy_ext.cpp | 6 +++--- lib/gpu/lal_eam_ext.cpp | 6 +++--- lib/gpu/lal_eam_fs_ext.cpp | 6 +++--- src/GPU/pair_eam_alloy_gpu.cpp | 4 ++-- src/GPU/pair_eam_fs_gpu.cpp | 4 ++-- src/GPU/pair_eam_gpu.cpp | 4 ++-- 9 files changed, 43 insertions(+), 26 deletions(-) diff --git a/lib/gpu/lal_eam.cpp b/lib/gpu/lal_eam.cpp index cdafe72898..2c0d63f7bf 100644 --- a/lib/gpu/lal_eam.cpp +++ b/lib/gpu/lal_eam.cpp @@ -46,7 +46,7 @@ template int EAMT::init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, - double ***host_frho_spline, double rdr, double rdrho, + double ***host_frho_spline, double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, @@ -243,6 +243,12 @@ int EAMT::init(const int ntypes, double host_cutforcesq, int **host_type2rhor, z2r_spline2_tex.get_texture(*(this->pair_program),"z2r_sp2_tex"); z2r_spline2_tex.bind_float(z2r_spline2,4); + UCL_H_Vec host_write(lj_types*lj_types,*(this->ucl_device), + UCL_WRITE_ONLY); + host_write.zero(); + cutsq.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); + this->atom->type_pack1(ntypes,lj_types,cutsq,host_write,host_cutsq); + _allocated=true; this->_max_bytes=type2rhor_z2r.row_bytes() + type2frho.row_bytes() @@ -252,6 +258,7 @@ int EAMT::init(const int ntypes, double host_cutforcesq, int **host_type2rhor, + frho_spline2.row_bytes() + z2r_spline1.row_bytes() + z2r_spline2.row_bytes() + + cutsq.row_bytes() + _fp.device.row_bytes(); return 0; } @@ -270,6 +277,7 @@ void EAMT::clear() { frho_spline2.clear(); z2r_spline1.clear(); z2r_spline2.clear(); + cutsq.clear(); _fp.clear(); @@ -477,7 +485,7 @@ void EAMT::compute2(int *ilist, const bool eflag, const bool vflag, } // --------------------------------------------------------------------------- -// Calculate per-atom energies and forces +// Calculate per-atom fp // --------------------------------------------------------------------------- template int EAMT::loop(const int eflag, const int vflag) { @@ -498,7 +506,7 @@ int EAMT::loop(const int eflag, const int vflag) { k_energy_sel->set_size(GX,BX); k_energy_sel->run(&this->atom->x, &type2rhor_z2r, &type2frho, - &rhor_spline2, &frho_spline1,&frho_spline2, + &rhor_spline2, &frho_spline1, &frho_spline2, &cutsq, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &_fp, &this->ans->engv, &eflag, &ainum, &nbor_pitch, &_ntypes, &_cutforcesq, &_rdr, &_rdrho, @@ -506,7 +514,7 @@ int EAMT::loop(const int eflag, const int vflag) { } else { this->k_energy.set_size(GX,BX); this->k_energy.run(&this->atom->x, &type2rhor_z2r, &type2frho, - &rhor_spline2, &frho_spline1, &frho_spline2, + &rhor_spline2, &frho_spline1, &frho_spline2, &cutsq, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &_fp, &this->ans->engv,&eflag, &ainum, &nbor_pitch, &_ntypes, &_cutforcesq, &_rdr, &_rdrho, &_rhomax, &_nrho, @@ -545,7 +553,7 @@ void EAMT::loop2(const bool _eflag, const bool _vflag) { if (shared_types) { this->k_pair_sel->set_size(GX,BX); this->k_pair_sel->run(&this->atom->x, &_fp, &type2rhor_z2r, - &rhor_spline1, &z2r_spline1, &z2r_spline2, + &rhor_spline1, &z2r_spline1, &z2r_spline2, &cutsq, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->ans->force, &this->ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &_cutforcesq, &_rdr, @@ -553,7 +561,7 @@ void EAMT::loop2(const bool _eflag, const bool _vflag) { } else { this->k_pair.set_size(GX,BX); this->k_pair.run(&this->atom->x, &_fp, &type2rhor_z2r, &rhor_spline1, - &z2r_spline1, &z2r_spline2, &this->nbor->dev_nbor, + &z2r_spline1, &z2r_spline2, &cutsq, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->ans->force, &this->ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &_ntypes, &_cutforcesq, &_rdr, &_nr, diff --git a/lib/gpu/lal_eam.cu b/lib/gpu/lal_eam.cu index 3955f3cc8a..4c6aa2f6b2 100644 --- a/lib/gpu/lal_eam.cu +++ b/lib/gpu/lal_eam.cu @@ -216,6 +216,7 @@ __kernel void k_energy(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict rhor_spline2, const __global numtyp4 *restrict frho_spline1, const __global numtyp4 *restrict frho_spline2, + const __global numtyp *restrict cutsq, const __global int *dev_nbor, const __global int *dev_packed, __global numtyp *restrict fp_, @@ -256,7 +257,8 @@ __kernel void k_energy(const __global numtyp4 *restrict x_, numtyp delz = ix.z-jx.z; numtyp rsq = delx*delx+dely*dely+delz*delz; - if (rsq(numtyp)0) { numtyp p = ucl_sqrt(rsq)*rdr + (numtyp)1.0; int m=p; m = MIN(m,nr-1); @@ -281,6 +283,7 @@ __kernel void k_energy_fast(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict rhor_spline2, const __global numtyp4 *restrict frho_spline1, const __global numtyp4 *restrict frho_spline2, + const __global numtyp *restrict cutsq, const __global int *dev_nbor, const __global int *dev_packed, __global numtyp *restrict fp_, @@ -371,6 +374,7 @@ __kernel void k_eam(const __global numtyp4 *restrict x_, const __global numtyp4 *rhor_spline1, const __global numtyp4 *z2r_spline1, const __global numtyp4 *z2r_spline2, + const __global numtyp *cutsq, const __global int *dev_nbor, const __global int *dev_packed, __global acctyp4 *ans, @@ -416,7 +420,8 @@ __kernel void k_eam(const __global numtyp4 *restrict x_, numtyp delz = ix.z-jx.z; numtyp rsq = delx*delx+dely*dely+delz*delz; - if (rsq(numtyp)0) { numtyp r = ucl_sqrt(rsq); numtyp p = r*rdr + (numtyp)1.0; int m=p; @@ -480,6 +485,7 @@ __kernel void k_eam_fast(const __global numtyp4 *x_, const __global numtyp4 *rhor_spline1, const __global numtyp4 *z2r_spline1, const __global numtyp4 *z2r_spline2, + const __global numtyp *cutsq, const __global int *dev_nbor, const __global int *dev_packed, __global acctyp4 *ans, @@ -542,7 +548,8 @@ __kernel void k_eam_fast(const __global numtyp4 *x_, numtyp delz = ix.z-jx.z; numtyp rsq = delx*delx+dely*dely+delz*delz; - if (rsq(numtyp)0) { numtyp r = ucl_sqrt(rsq); numtyp p = r*rdr + (numtyp)1.0; int m=p; diff --git a/lib/gpu/lal_eam.h b/lib/gpu/lal_eam.h index 3cbaeac0b8..efc38537d6 100644 --- a/lib/gpu/lal_eam.h +++ b/lib/gpu/lal_eam.h @@ -40,8 +40,8 @@ class EAM : public BaseAtomic { * - -5 Double precision is not supported on card **/ int init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, - double ***host_z2r_spline, double ***host_frho_spline, double rdr, - double rdrho, double rhomax, int nrhor, int nrho, int nz2r, + double ***host_z2r_spline, double ***host_frho_spline, double** host_cutsq, + double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, const double gpu_split, FILE *_screen); @@ -112,6 +112,8 @@ class EAM : public BaseAtomic { UCL_D_Vec frho_spline1, frho_spline2; UCL_D_Vec rhor_spline1, rhor_spline2; + UCL_D_Vec cutsq; + numtyp _cutforcesq,_rdr,_rdrho, _rhomax; int _nfrho,_nrhor,_nrho,_nz2r,_nr; diff --git a/lib/gpu/lal_eam_alloy_ext.cpp b/lib/gpu/lal_eam_alloy_ext.cpp index f7c4986e68..5a3dfb9d6d 100644 --- a/lib/gpu/lal_eam_alloy_ext.cpp +++ b/lib/gpu/lal_eam_alloy_ext.cpp @@ -30,7 +30,7 @@ static EAM EAMALMF; int eam_alloy_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, - double ***host_frho_spline, + double ***host_frho_spline, double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, @@ -66,7 +66,7 @@ int eam_alloy_gpu_init(const int ntypes, double host_cutforcesq, if (world_me==0) init_ok=EAMALMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, nz2r, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); @@ -86,7 +86,7 @@ int eam_alloy_gpu_init(const int ntypes, double host_cutforcesq, if (gpu_rank==i && world_me!=0) init_ok=EAMALMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); diff --git a/lib/gpu/lal_eam_ext.cpp b/lib/gpu/lal_eam_ext.cpp index 3010e0ea7f..a884335bd9 100644 --- a/lib/gpu/lal_eam_ext.cpp +++ b/lib/gpu/lal_eam_ext.cpp @@ -30,7 +30,7 @@ static EAM EAMMF; int eam_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, - double ***host_frho_spline, + double ***host_frho_spline, double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, @@ -66,7 +66,7 @@ int eam_gpu_init(const int ntypes, double host_cutforcesq, if (world_me==0) init_ok=EAMMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, nz2r, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); @@ -86,7 +86,7 @@ int eam_gpu_init(const int ntypes, double host_cutforcesq, if (gpu_rank==i && world_me!=0) init_ok=EAMMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); diff --git a/lib/gpu/lal_eam_fs_ext.cpp b/lib/gpu/lal_eam_fs_ext.cpp index 205b601562..5aad871237 100644 --- a/lib/gpu/lal_eam_fs_ext.cpp +++ b/lib/gpu/lal_eam_fs_ext.cpp @@ -30,7 +30,7 @@ static EAM EAMFSMF; int eam_fs_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, - double ***host_frho_spline, + double ***host_frho_spline, double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, @@ -66,7 +66,7 @@ int eam_fs_gpu_init(const int ntypes, double host_cutforcesq, if (world_me==0) init_ok=EAMFSMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, nz2r, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); @@ -86,7 +86,7 @@ int eam_fs_gpu_init(const int ntypes, double host_cutforcesq, if (gpu_rank==i && world_me!=0) init_ok=EAMFSMF.init(ntypes, host_cutforcesq, host_type2rhor, host_type2z2r, host_type2frho, host_rhor_spline, host_z2r_spline, - host_frho_spline, rdr, rdrho, rhomax, nrhor, nrho, + host_frho_spline, host_cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, nlocal, nall, max_nbors, maxspecial, cell_size, gpu_split, screen); diff --git a/src/GPU/pair_eam_alloy_gpu.cpp b/src/GPU/pair_eam_alloy_gpu.cpp index 4678a6f669..56ca8c6f69 100644 --- a/src/GPU/pair_eam_alloy_gpu.cpp +++ b/src/GPU/pair_eam_alloy_gpu.cpp @@ -42,7 +42,7 @@ int eam_alloy_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, double ***host_frho_spline, - double rdr, double rdrho, double rhomax, + double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, @@ -187,7 +187,7 @@ void PairEAMAlloyGPU::init_style() int mnf = 5e-2 * neighbor->oneatom; int success = eam_alloy_gpu_init(atom->ntypes+1, cutforcesq, type2rhor, type2z2r, type2frho, rhor_spline, z2r_spline, frho_spline, - rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, + cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, atom->nlocal, atom->nlocal+atom->nghost, mnf, maxspecial, cell_size, gpu_mode, screen, fp_size); GPU_EXTRA::check_flag(success,error,world); diff --git a/src/GPU/pair_eam_fs_gpu.cpp b/src/GPU/pair_eam_fs_gpu.cpp index 390bb93987..5cf5c9180a 100644 --- a/src/GPU/pair_eam_fs_gpu.cpp +++ b/src/GPU/pair_eam_fs_gpu.cpp @@ -42,7 +42,7 @@ int eam_fs_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, double ***host_frho_spline, - double rdr, double rdrho, double rhomax, + double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, int &gpu_mode, @@ -186,7 +186,7 @@ void PairEAMFSGPU::init_style() int mnf = 5e-2 * neighbor->oneatom; int success = eam_fs_gpu_init(atom->ntypes+1, cutforcesq, type2rhor, type2z2r, type2frho, rhor_spline, z2r_spline, frho_spline, - rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, + cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, atom->nlocal, atom->nlocal+atom->nghost, mnf, maxspecial, cell_size, gpu_mode, screen, fp_size); GPU_EXTRA::check_flag(success,error,world); diff --git a/src/GPU/pair_eam_gpu.cpp b/src/GPU/pair_eam_gpu.cpp index e458ea2020..724f71b312 100644 --- a/src/GPU/pair_eam_gpu.cpp +++ b/src/GPU/pair_eam_gpu.cpp @@ -42,7 +42,7 @@ int eam_gpu_init(const int ntypes, double host_cutforcesq, int **host_type2rhor, int **host_type2z2r, int *host_type2frho, double ***host_rhor_spline, double ***host_z2r_spline, double ***host_frho_spline, - double rdr, double rdrho, double rhomax, + double** host_cutsq, double rdr, double rdrho, double rhomax, int nrhor, int nrho, int nz2r, int nfrho, int nr, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, int &gpu_mode, @@ -188,7 +188,7 @@ void PairEAMGPU::init_style() int mnf = 5e-2 * neighbor->oneatom; int success = eam_gpu_init(atom->ntypes+1, cutforcesq, type2rhor, type2z2r, type2frho, rhor_spline, z2r_spline, frho_spline, - rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, + cutsq, rdr, rdrho, rhomax, nrhor, nrho, nz2r, nfrho, nr, atom->nlocal, atom->nlocal+atom->nghost, mnf, maxspecial, cell_size, gpu_mode, screen, fp_size); GPU_EXTRA::check_flag(success,error,world); From b5e1851e5da47f0dc1ab57cf16c7aec357491f2b Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 5 Mar 2021 16:47:13 -0600 Subject: [PATCH 093/542] removed factory creation --- src/USER-RANN/rann_list_activation.h | 2 -- src/USER-RANN/rann_list_fingerprint.h | 8 -------- 2 files changed, 10 deletions(-) delete mode 100644 src/USER-RANN/rann_list_activation.h delete mode 100644 src/USER-RANN/rann_list_fingerprint.h diff --git a/src/USER-RANN/rann_list_activation.h b/src/USER-RANN/rann_list_activation.h deleted file mode 100644 index a140b92c65..0000000000 --- a/src/USER-RANN/rann_list_activation.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "rann_activation_linear.h" -#include "rann_activation_sig_i.h" diff --git a/src/USER-RANN/rann_list_fingerprint.h b/src/USER-RANN/rann_list_fingerprint.h deleted file mode 100644 index 005c7f1b04..0000000000 --- a/src/USER-RANN/rann_list_fingerprint.h +++ /dev/null @@ -1,8 +0,0 @@ -#include "rann_fingerprint_bond.h" -#include "rann_fingerprint_bondscreened.h" -#include "rann_fingerprint_bondscreenedspin.h" -#include "rann_fingerprint_bondspin.h" -#include "rann_fingerprint_radial.h" -#include "rann_fingerprint_radialscreened.h" -#include "rann_fingerprint_radialscreenedspin.h" -#include "rann_fingerprint_radialspin.h" From 02021eb3302654c0851e5c5250575a1e5ddbc768 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 5 Mar 2021 16:49:04 -0600 Subject: [PATCH 094/542] removed factory creation --- src/USER-RANN/pair_rann.cpp | 274 +++++++++++++++++++----------------- src/USER-RANN/pair_rann.h | 90 ++++++------ 2 files changed, 186 insertions(+), 178 deletions(-) diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp index 3207b76934..0dcf3740a6 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/USER-RANN/pair_rann.cpp @@ -29,8 +29,6 @@ DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 */ #define MAXLINE 1024 #include "pair_rann.h" -#include "rann_list_activation.h" -#include "rann_list_fingerprint.h" #include "tokenizer.h" #include #include @@ -45,6 +43,17 @@ DISTRIBUTION A. Approved for public release; distribution unlimited. OPSEC#4918 #include "error.h" #include "update.h" #include "math_special.h" +#include "rann_fingerprint_bond.h" +#include "rann_fingerprint_bondscreened.h" +#include "rann_fingerprint_bondscreenedspin.h" +#include "rann_fingerprint_bondspin.h" +#include "rann_fingerprint_radial.h" +#include "rann_fingerprint_radialscreened.h" +#include "rann_fingerprint_radialscreenedspin.h" +#include "rann_fingerprint_radialspin.h" +#include "rann_activation_linear.h" +#include "rann_activation_sig_i.h" + using namespace LAMMPS_NS; @@ -83,22 +92,7 @@ PairRANN::PairRANN(LAMMPS *lmp) : Pair(lmp) allscreen = true; dospin = false; - fingerprint_map = new FingerprintCreatorMap(); - #define FINGERPRINT_CLASS - #define FingerprintStyle(key,Class) \ - (*fingerprint_map)[#key] = &fingerprint_creator; - #include "rann_list_fingerprint.h" - #undef FingerprintStyle - #undef FINGERPRINT_CLASS - activation_map = new ActivationCreatorMap(); - #define ACTIVATION_CLASS - #define ActivationStyle(key,Class) \ - (*activation_map)[#key] = &activation_creator; - - #include "rann_list_activation.h" - #undef ActivationStyle - #undef ACTIVATION_CLASS } PairRANN::~PairRANN() @@ -181,7 +175,7 @@ PairRANN::~PairRANN() -void PairRANN::allocate(std::vector elementwords) +void PairRANN::allocate(const std::vector elementwords) { int i,j,k,l,n; n = atom->ntypes; @@ -295,7 +289,9 @@ void PairRANN::read_file(char *filename) int n,nwords; std::string line,line1; int longline = 4096; + int linenum; char linetemp[longline]; + std::string strtemp; char *ptr; bool comment; char str[128]; @@ -303,10 +299,17 @@ void PairRANN::read_file(char *filename) fp = utils::open_potential(filename,lmp,nullptr); if (fp == nullptr) {error->one(FLERR,"Cannot open RANN potential file");} ptr=fgets(linetemp,longline,fp); - strip_comments(linetemp,fp); - line=linetemp; + linenum++; + strtemp=utils::trim_comment(linetemp); + while (strtemp.empty()) { + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; + } + line=strtemp; while (eof == 0) { ptr=fgets(linetemp,longline,fp); + linenum++; if (ptr == NULL) { if (check_potential()) { error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); @@ -316,27 +319,38 @@ void PairRANN::read_file(char *filename) break; } } - strip_comments(linetemp,fp); + strtemp=utils::trim_comment(linetemp); + while (strtemp.empty()) { + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; + } line1=linetemp; Tokenizer values = Tokenizer(line,": ,\t_\n"); Tokenizer values1 = Tokenizer(line1,": ,\t_\n"); linev = values.as_vector(); line1v = values1.as_vector(); - if (linev[0].compare("atomtypes")==0)read_atom_types(linev,line1v); - else if (linev[0].compare("mass")==0)read_mass(linev,line1v); - else if (linev[0].compare("fingerprintsperelement")==0)read_fpe(linev,line1v); - else if (linev[0].compare("fingerprints")==0)read_fingerprints(linev,line1v); - else if (linev[0].compare("fingerprintconstants")==0)read_fingerprint_constants(linev,line1v); - else if (linev[0].compare("networklayers")==0)read_network_layers(linev,line1v); - else if (linev[0].compare("layersize")==0)read_layer_size(linev,line1v); - else if (linev[0].compare("weight")==0)read_weight(linev,line1v,fp); - else if (linev[0].compare("bias")==0)read_bias(linev,line1v,fp); - else if (linev[0].compare("activationfunctions")==0)read_activation_functions(linev,line1v); - else if (linev[0].compare("calibrationparameters")==0)continue;//information on how the network was trained - else if (linev[0].compare("screening")==0)read_screening(linev,line1v); + if (linev[0]=="atomtypes") read_atom_types(linev,line1v,filename,linenum); + else if (linev[0]=="mass") read_mass(linev,line1v,filename,linenum); + else if (linev[0]=="fingerprintsperelement") read_fpe(linev,line1v,filename,linenum); + else if (linev[0]=="fingerprints") read_fingerprints(linev,line1v,filename,linenum); + else if (linev[0]=="fingerprintconstants") read_fingerprint_constants(linev,line1v,filename,linenum); + else if (linev[0]=="networklayers") read_network_layers(linev,line1v,filename,linenum); + else if (linev[0]=="layersize") read_layer_size(linev,line1v,filename,linenum); + else if (linev[0]=="weight") read_weight(linev,line1v,fp,filename,&linenum); + else if (linev[0]=="bias") read_bias(linev,line1v,fp,filename,&linenum); + else if (linev[0]=="activationfunctions") read_activation_functions(linev,line1v,filename,linenum); + else if (linev[0]=="screening") read_screening(linev,line1v,filename,linenum); + else if (linev[0]=="calibrationparameters") continue;//information on how the network was trained else error->one(FLERR,"Could not understand file syntax: unknown keyword"); ptr=fgets(linetemp,longline,fp); - strip_comments(linetemp,fp); + linenum++; + strtemp=utils::trim_comment(linetemp); + while (strtemp.empty()) { + ptr=fgets(linetemp,longline,fp); + strtemp=utils::trim_comment(linetemp); + linenum++; + } if (ptr == NULL) { if (check_potential()) { error->one(FLERR,"Invalid syntax in potential file, values are inconsistent or missing"); @@ -350,49 +364,32 @@ void PairRANN::read_file(char *filename) } } -void PairRANN::strip_comments(char * line,FILE* fp) { - char *ptr; - bool comment; - utils::trim_comment(line); - if (strlen(line)==0) { - comment = true; - while (comment==true) { - ptr = fgets(line,4096,fp); - if (ptr==NULL) error->one(FLERR,"Unexpected end of RANN file"); - utils::trim_comment(line); - if (strlen(line) == 0) continue; - comment = false; - } - } -} - -void PairRANN::read_atom_types(std::vector line,std::vector line1) { +void PairRANN::read_atom_types(std::vector line,std::vector line1,char *filename,int linenum) { int nwords = line1.size(); - if (nwords < 1) error->one(FLERR,"Incorrect syntax for atom types"); + if (nwords < 1) error->one(filename,linenum,"Incorrect syntax for atom types"); nelements = nwords; - line1.resize(nwords+1); - line1[nwords] = "all"; + line1.push_back("all"); allocate(line1); } -void PairRANN::read_mass(std::vector line,std::vector line1) { - if (nelements == -1)error->one(FLERR,"atom types must be defined before mass in potential file."); +void PairRANN::read_mass(std::vector line,std::vector line1,char *filename,int linenum) { + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before mass in potential file."); int nwords = 0,i; for (i=0;ione(FLERR,"mass element not found in atom types."); + error->one(filename,linenum-1,"mass element not found in atom types."); } -void PairRANN::read_fpe(std::vector line,std::vector line1) { +void PairRANN::read_fpe(std::vector line,std::vector line1,char *filename,int linenum) { int i,j; - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints per element in potential file."); + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints per element in potential file."); for (i=0;i line,std::vector l return; } } - error->one(FLERR,"fingerprint-per-element element not found in atom types"); + error->one(filename,linenum-1,"fingerprint-per-element element not found in atom types"); } -void PairRANN::read_fingerprints(std::vector line,std::vector line1) { +void PairRANN::read_fingerprints(std::vector line,std::vector line1,char *filename,int linenum) { int nwords1,nwords,i,j,k,l,m,i1; bool found; char str[MAXLINE]; nwords1 = line1.size(); nwords = line.size(); - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); int atomtypes[nwords-1]; for (i=1;i line,std::vectorone(FLERR,"fingerprint element not found in atom types");} + if (!found) {error->one(filename,linenum-1,"fingerprint element not found in atom types");} } i = atomtypes[0]; k = 0; - if (fingerprintperelement[i]==-1) {error->one(FLERR,"fingerprint per element must be defined before fingerprints");} + if (fingerprintperelement[i]==-1) {error->one(filename,linenum-1,"fingerprint per element must be defined before fingerprints");} while (k=fingerprintperelement[i]) {error->one(filename,linenum,"more fingerprints defined than fingerprint per element");} delete fingerprints[i][i1]; fingerprints[i][i1] = create_fingerprint(line1[k].c_str()); - if (fingerprints[i][i1]->n_body_type!=nwords-1) {error->one(FLERR,"invalid fingerprint for element combination");} + if (fingerprints[i][i1]->n_body_type!=nwords-1) {error->one(filename,linenum,"invalid fingerprint for element combination");} k++; - fingerprints[i][i1]->init(atomtypes,strtol(line1[k++].c_str(),NULL,10)); + fingerprints[i][i1]->init(atomtypes,utils::inumeric(filename,linenum,line1[k++].c_str(),1,lmp)); fingerprintcount[i]++; } } - -void PairRANN::read_fingerprint_constants(std::vector line,std::vector line1) { +void PairRANN::read_fingerprint_constants(std::vector line,std::vector line1,char *filename,int linenum) { int i,j,k,l,m,i1; bool found; char str [128]; int nwords = line.size(); - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); int n_body_type = nwords-4; int atomtypes[n_body_type]; for (i=1;i<=n_body_type;i++) { @@ -454,7 +451,7 @@ void PairRANN::read_fingerprint_constants(std::vector line,std::vec break; } } - if (!found) {error->one(FLERR,"fingerprint element not found in atom types");} + if (!found) {error->one(filename,linenum-1,"fingerprint element not found in atom types");} } i = atomtypes[0]; found = false; @@ -464,7 +461,7 @@ void PairRANN::read_fingerprint_constants(std::vector line,std::vec for (j=0;jatomtypes[j]!=atomtypes[j]) {break;} if (j==n_body_type-1) { - if (line[nwords-3].compare(fingerprints[i][k]->style)==0 && strtol(line[nwords-2].c_str(),NULL,10)==fingerprints[i][k]->id) { + if (line[nwords-3].compare(fingerprints[i][k]->style)==0 && utils::inumeric(filename,linenum,line[nwords-2].c_str(),1,lmp)==fingerprints[i][k]->id) { found=true; i1 = k; break; @@ -473,17 +470,17 @@ void PairRANN::read_fingerprint_constants(std::vector line,std::vec } if (found) {break;} } - if (!found) {error->one(FLERR,"cannot define constants for unknown fingerprint");} + if (!found) {error->one(filename,linenum-1,"cannot define constants for unknown fingerprint");} fingerprints[i][i1]->fullydefined=fingerprints[i][i1]->parse_values(line[nwords-1],line1); } -void PairRANN::read_network_layers(std::vector line,std::vector line1) { +void PairRANN::read_network_layers(std::vector line,std::vector line1,char *filename,int linenum) { int i,j; - if (nelements == -1)error->one(FLERR,"atom types must be defined before network layers in potential file."); + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before network layers in potential file."); for (i=0;ione(FLERR,"invalid number of network layers"); + net[i].layers = utils::inumeric(filename,linenum,line1[0].c_str(),1,lmp); + if (net[i].layers < 1)error->one(filename,linenum,"invalid number of network layers"); delete [] net[i].dimensions; weightdefined[i] = new bool [net[i].layers]; biasdefined[i] = new bool [net[i].layers]; @@ -504,105 +501,107 @@ void PairRANN::read_network_layers(std::vector line,std::vectorone(FLERR,"network layers element not found in atom types"); + error->one(filename,linenum-1,"network layers element not found in atom types"); } -void PairRANN::read_layer_size(std::vector line,std::vector line1) { +void PairRANN::read_layer_size(std::vector line,std::vector line1,char *filename,int linenum) { int i; for (i=0;ione(FLERR,"networklayers for each atom type must be defined before the corresponding layer sizes."); - int j = strtol(line[2].c_str(),NULL,10); - if (j>=net[i].layers || j<0) {error->one(FLERR,"invalid layer in layer size definition");}; - net[i].dimensions[j]= strtol(line1[0].c_str(),NULL,10); + if (net[i].layers==0)error->one(filename,linenum-1,"networklayers for each atom type must be defined before the corresponding layer sizes."); + int j = utils::inumeric(filename,linenum,line[2].c_str(),1,lmp); + if (j>=net[i].layers || j<0) {error->one(filename,linenum,"invalid layer in layer size definition");}; + net[i].dimensions[j]= utils::inumeric(filename,linenum,line1[0].c_str(),1,lmp); return; } } - error->one(FLERR,"layer size element not found in atom types"); + error->one(filename,linenum-1,"layer size element not found in atom types"); } -void PairRANN::read_weight(std::vector line,std::vector line1,FILE* fp) { +void PairRANN::read_weight(std::vector line,std::vector line1,FILE* fp,char *filename,int *linenum) { int i,j,k,l,nwords; char *ptr; int longline = 4096; char linetemp [longline]; for (l=0;lone(FLERR,"networklayers must be defined before weights."); - i=strtol(line[2].c_str(),NULL,10); - if (i>=net[l].layers || i<0)error->one(FLERR,"invalid weight layer"); - if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(FLERR,"network layer sizes must be defined before corresponding weight"); + if (net[l].layers==0)error->one(filename,*linenum-1,"networklayers must be defined before weights."); + i=utils::inumeric(filename,*linenum,line[2].c_str(),1,lmp); + if (i>=net[l].layers || i<0)error->one(filename,*linenum-1,"invalid weight layer"); + if (net[l].dimensions[i]==0 || net[l].dimensions[i+1]==0) error->one(filename,*linenum-1,"network layer sizes must be defined before corresponding weight"); net[l].Weights[i] = new double [net[l].dimensions[i]*net[l].dimensions[i+1]]; weightdefined[l][i] = true; nwords = line1.size(); - if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); + if (nwords != net[l].dimensions[i])error->one(filename,*linenum,"invalid weights per line"); for (k=0;kone(FLERR,"unexpected end of potential file!"); + if (ptr==NULL)error->one(filename,*linenum,"unexpected end of potential file!"); nwords = line1.size(); - if (nwords != net[l].dimensions[i])error->one(FLERR,"invalid weights per line"); + if (nwords != net[l].dimensions[i])error->one(filename,*linenum,"invalid weights per line"); for (k=0;kone(FLERR,"weight element not found in atom types"); + error->one(filename,*linenum-1,"weight element not found in atom types"); } -void PairRANN::read_bias(std::vector line,std::vector line1,FILE* fp) { +void PairRANN::read_bias(std::vector line,std::vector line1,FILE* fp,char *filename,int *linenum) { int i,j,l,nwords; char *ptr; char linetemp[MAXLINE]; for (l=0;lone(FLERR,"networklayers must be defined before biases."); - i=strtol(line[2].c_str(),NULL,10); - if (i>=net[l].layers || i<0)error->one(FLERR,"invalid bias layer"); - if (net[l].dimensions[i]==0) error->one(FLERR,"network layer sizes must be defined before corresponding bias"); + if (net[l].layers==0)error->one(filename,*linenum-1,"networklayers must be defined before biases."); + i=utils::inumeric(filename,*linenum,line[2].c_str(),1,lmp); + if (i>=net[l].layers || i<0)error->one(filename,*linenum-1,"invalid bias layer"); + if (net[l].dimensions[i]==0) error->one(filename,*linenum-1,"network layer sizes must be defined before corresponding bias"); biasdefined[l][i] = true; net[l].Biases[i] = new double [net[l].dimensions[i+1]]; - net[l].Biases[i][0] = strtod(line1[0].c_str(),NULL); + net[l].Biases[i][0] = utils::numeric(filename,*linenum,line1[0].c_str(),1,lmp); for (j=1;jone(FLERR,"bias element not found in atom types"); + error->one(filename,*linenum-1,"bias element not found in atom types"); } -void PairRANN::read_activation_functions(std::vector line,std::vector line1) { +void PairRANN::read_activation_functions(std::vector line,std::vector line1,char *filename,int linenum) { int i,j,l,nwords; int *ptr; for (l=0;lone(FLERR,"networklayers must be defined before activation functions."); + if (net[l].layers==0)error->one(filename,linenum-1,"networklayers must be defined before activation functions."); i = strtol(line[2].c_str(),NULL,10); - if (i>=net[l].layers || i<0)error->one(FLERR,"invalid activation layer"); + if (i>=net[l].layers || i<0)error->one(filename,linenum-1,"invalid activation layer"); delete activation[l][i]; activation[l][i]=create_activation(line1[0].c_str()); return; } } - error->one(FLERR,"activation function element not found in atom types"); + error->one(filename,linenum-1,"activation function element not found in atom types"); } -void PairRANN::read_screening(std::vector line,std::vector line1) { +void PairRANN::read_screening(std::vector line,std::vector line1,char *filename,int linenum) { int i,j,k; bool found; int nwords = line.size(); - if (nelements == -1)error->one(FLERR,"atom types must be defined before fingerprints in potential file."); - if (nwords!=5)error->one(FLERR,"invalid screening command"); + if (nelements == -1)error->one(filename,linenum-1,"atom types must be defined before fingerprints in potential file."); + if (nwords!=5)error->one(filename,linenum-1,"invalid screening command"); int n_body_type = 3; int atomtypes[n_body_type]; for (i=1;i<=n_body_type;i++) { @@ -614,7 +613,7 @@ void PairRANN::read_screening(std::vector line,std::vectorone(FLERR,"fingerprint element not found in atom types");} + if (!found) {error->one(filename,linenum-1,"fingerprint element not found in atom types");} } i = atomtypes[0]; j = atomtypes[1]; @@ -622,14 +621,14 @@ void PairRANN::read_screening(std::vector line,std::vectorone(FLERR,"unrecognized screening keyword"); + else error->one(filename,linenum-1,"unrecognized screening keyword"); } //Called after finishing reading the potential file to make sure it is complete. True is bad. @@ -1223,17 +1222,31 @@ int PairRANN::factorial(int n) { return round(MathSpecial::factorial(n)); } -template -RANN::Fingerprint *PairRANN::fingerprint_creator(PairRANN* pair) -{ - return new T(pair); -} - RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) { - if (fingerprint_map->find(style) != fingerprint_map->end()) { - FingerprintCreator fingerprint_creator = (*fingerprint_map)[style]; - return fingerprint_creator(this); + if (strcmp(style,"radial")==0) { + return new RANN::Fingerprint_radial(this); + } + else if (strcmp(style,"radialscreened")==0) { + return new RANN::Fingerprint_radialscreened(this); + } + else if (strcmp(style,"radialscreenedspin")==0) { + return new RANN::Fingerprint_radialscreenedspin(this); + } + else if (strcmp(style,"radialspin")==0) { + return new RANN::Fingerprint_radialspin(this); + } + else if (strcmp(style,"bond")==0) { + return new RANN::Fingerprint_bond(this); + } + else if (strcmp(style,"bondscreened")==0) { + return new RANN::Fingerprint_bondscreened(this); + } + else if (strcmp(style,"bondscreenedspin")==0) { + return new RANN::Fingerprint_bondscreenedspin(this); + } + else if (strcmp(style,"bondspin")==0) { + return new RANN::Fingerprint_bondspin(this); } char str[128]; sprintf(str,"Unknown fingerprint style %s",style); @@ -1241,17 +1254,14 @@ RANN::Fingerprint *PairRANN::create_fingerprint(const char *style) return NULL; } -template -RANN::Activation *PairRANN::activation_creator(PairRANN* pair) -{ - return new T(pair); -} RANN::Activation *PairRANN::create_activation(const char *style) { - if (activation_map->find(style) != activation_map->end()) { - ActivationCreator activation_creator = (*activation_map)[style]; - return activation_creator(this); + if (strcmp(style,"linear")==0) { + return new RANN::Activation_linear(this); + } + else if (strcmp(style,"sigI")==0) { + return new RANN::Activation_sigI(this); } char str[128]; sprintf(str,"Unknown activation style %s",style); diff --git a/src/USER-RANN/pair_rann.h b/src/USER-RANN/pair_rann.h index 9f1dbe9212..a50a46f8a2 100644 --- a/src/USER-RANN/pair_rann.h +++ b/src/USER-RANN/pair_rann.h @@ -41,7 +41,6 @@ PairStyle(rann,PairRANN) #include "neighbor.h" #include "neigh_list.h" #include "pair.h" -#include namespace LAMMPS_NS { @@ -65,15 +64,13 @@ namespace LAMMPS_NS { void init_list(int , NeighList *); void errorf(const char*,int,const char*); int factorial(int); - //black magic for modular fingerprints and activations - class RANN::Activation ***activation; - class RANN::Fingerprint ***fingerprints; - typedef RANN::Fingerprint *(*FingerprintCreator)(PairRANN *); - typedef RANN::Activation *(*ActivationCreator)(PairRANN *); - typedef std::map FingerprintCreatorMap; - typedef std::map ActivationCreatorMap; - FingerprintCreatorMap *fingerprint_map; - ActivationCreatorMap *activation_map; + +// typedef RANN::Fingerprint *(*FingerprintCreator)(PairRANN *); +// typedef RANN::Activation *(*ActivationCreator)(PairRANN *); +// typedef std::map FingerprintCreatorMap; +// typedef std::map ActivationCreatorMap; +// FingerprintCreatorMap *fingerprint_map; +// ActivationCreatorMap *activation_map; RANN::Fingerprint * create_fingerprint(const char *); RANN::Activation * create_activation(const char *); @@ -110,53 +107,54 @@ namespace LAMMPS_NS { struct Simulation{ int *id; - bool forces; - bool spins; - double **x; - double **f; - double **s; - double box[3][3]; - double origin[3]; - double **features; - double **dfx; - double **dfy; - double **dfz; - double **dsx; - double **dsy; - double **dsz; - int *ilist,*numneigh,**firstneigh,*type,inum,gnum; + bool forces; + bool spins; + double **x; + double **f; + double **s; + double box[3][3]; + double origin[3]; + double **features; + double **dfx; + double **dfy; + double **dfz; + double **dsx; + double **dsy; + double **dsz; + int *ilist,*numneigh,**firstneigh,*type,inum,gnum; }; struct NNarchitecture{ - int layers; - int *dimensions;//vector of length layers with entries for neurons per layer - double **Weights; - double **Biases; - int *activations;//unused - int maxlayer;//longest layer (for memory allocation) + int layers; + int *dimensions;//vector of length layers with entries for neurons per layer + double **Weights; + double **Biases; + int *activations;//unused + int maxlayer;//longest layer (for memory allocation) }; Simulation *sims; NNarchitecture *net;//array of networks, 1 for each element. + protected: + RANN::Activation ***activation; + RANN::Fingerprint ***fingerprints; + private: - template static RANN::Fingerprint *fingerprint_creator(PairRANN *); - template static RANN::Activation *activation_creator(PairRANN *); //new functions - void allocate(std::vector);//called after reading element list, but before reading the rest of the potential + void allocate(const std::vector);//called after reading element list, but before reading the rest of the potential void read_file(char *);//read potential file - void strip_comments(char *,FILE *fp); - void read_atom_types(std::vector,std::vector); - void read_mass(std::vector,std::vector); - void read_fpe(std::vector,std::vector);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations - void read_fingerprints(std::vector,std::vector); - void read_fingerprint_constants(std::vector,std::vector); - void read_network_layers(std::vector,std::vector);//include input and output layer (hidden layers + 2) - void read_layer_size(std::vector,std::vector); - void read_weight(std::vector,std::vector,FILE*);//weights should be formatted as properly shaped matrices - void read_bias(std::vector,std::vector,FILE*);//biases should be formatted as properly shaped vectors - void read_activation_functions(std::vector,std::vector); - void read_screening(std::vector,std::vector); + void read_atom_types(std::vector,std::vector,char*,int); + void read_mass(std::vector,std::vector,char*,int); + void read_fpe(std::vector,std::vector,char*,int);//fingerprints per element. Count total fingerprints defined for each 1st element in element combinations + void read_fingerprints(std::vector,std::vector,char*,int); + void read_fingerprint_constants(std::vector,std::vector,char*,int); + void read_network_layers(std::vector,std::vector,char*,int);//include input and output layer (hidden layers + 2) + void read_layer_size(std::vector,std::vector,char*,int); + void read_weight(std::vector,std::vector,FILE*,char*,int*);//weights should be formatted as properly shaped matrices + void read_bias(std::vector,std::vector,FILE*,char*,int*);//biases should be formatted as properly shaped vectors + void read_activation_functions(std::vector,std::vector,char*,int); + void read_screening(std::vector,std::vector,char*,int); bool check_potential();//after finishing reading potential file void propagateforward(double *,double **,double **,int,int);//called by compute to get force and energy void propagateforwardspin(double *,double **,double **,double**,int,int);//called by compute to get force and energy From fdf06e48b2cfc0b8ec6264c73c3dfafbb05261ec Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 5 Mar 2021 16:53:49 -0600 Subject: [PATCH 095/542] removed factory creation --- src/USER-RANN/pair_rann.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/USER-RANN/pair_rann.h b/src/USER-RANN/pair_rann.h index a50a46f8a2..23bea7a800 100644 --- a/src/USER-RANN/pair_rann.h +++ b/src/USER-RANN/pair_rann.h @@ -65,12 +65,6 @@ namespace LAMMPS_NS { void errorf(const char*,int,const char*); int factorial(int); -// typedef RANN::Fingerprint *(*FingerprintCreator)(PairRANN *); -// typedef RANN::Activation *(*ActivationCreator)(PairRANN *); -// typedef std::map FingerprintCreatorMap; -// typedef std::map ActivationCreatorMap; -// FingerprintCreatorMap *fingerprint_map; -// ActivationCreatorMap *activation_map; RANN::Fingerprint * create_fingerprint(const char *); RANN::Activation * create_activation(const char *); From 4960aeb3c825b831e4bad060a848cb0e7c8d4dfc Mon Sep 17 00:00:00 2001 From: Gurgen Date: Sat, 6 Mar 2021 23:39:37 +0300 Subject: [PATCH 096/542] error on line 194 --- lib/gpu/lal_lj_smooth.cu | 233 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 lib/gpu/lal_lj_smooth.cu diff --git a/lib/gpu/lal_lj_smooth.cu b/lib/gpu/lal_lj_smooth.cu new file mode 100644 index 0000000000..b69f8b9388 --- /dev/null +++ b/lib/gpu/lal_lj_smooth.cu @@ -0,0 +1,233 @@ +// ************************************************************************** +// lj_smooth.cu +// ------------------- +// W. Michael Brown (ORNL) +// +// Device code for acceleration of the lj/smooth pair style +// +// __________________________________________________________________________ +// This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) +// __________________________________________________________________________ +// +// begin : +// email : brownw@ornl.gov +// *************************************************************************** + +#if defined(NV_KERNEL) || defined(USE_HIP) +#include "lal_aux_fun1.h" +#ifndef _DOUBLE_DOUBLE +_texture( pos_tex,float4); +#else +_texture_2d( pos_tex,int4); +#endif +#else +#define pos_tex x_ +#endif + +__kernel void k_lj_smooth(const __global numtyp4 *restrict x_, + const __global numtyp4 *restrict lj1, + const __global numtyp4 *restrict lj3, + const __global numtyp4 *restrict ljsw, + const int lj_types, + const __global numtyp *restrict sp_lj, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, + const int eflag, const int vflag, const int inum, + const int nbor_pitch, const int t_per_atom) { + int tid, ii, offset; + atom_info(t_per_atom,ii,tid,offset); + + acctyp energy=(acctyp)0; + acctyp4 f; + f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; + acctyp virial[6]; + for (int i=0; i<6; i++) + virial[i]=(acctyp)0; + + if (ii0) { + numtyp e; + if (rsq < lj1[mtype].w) + e = r6inv * (lj3[mtype].x*r6inv - lj3[mtype].y) - lj3[mtype].z; + else + e = ljsw[mtype].x - ljsw[mtype].x*t - + ljsw[mtype].y*tsq/2.0 - ljsw[mtype].z*tsq*t/3.0 - + ljsw[mtype].z*tsq*tsq/4.0 - lj3[mtype].z; + + //numtyp e=r6inv*(lj3[mtype].x*r6inv-lj3[mtype].y); + energy+=factor_lj*e; + } + if (vflag>0) { + virial[0] += delx*delx*force; + virial[1] += dely*dely*force; + virial[2] += delz*delz*force; + virial[3] += delx*dely*force; + virial[4] += delx*delz*force; + virial[5] += dely*delz*force; + } + } + + } // for nbor + store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, + ans,engv); + } // if ii +} + +__kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, + const __global numtyp4 *restrict lj1_in, + const __global numtyp4 *restrict lj3_in, + const __global numtyp4 *restrict ljsw, + const __global numtyp *restrict sp_lj_in, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, + const int eflag, const int vflag, const int inum, + const int nbor_pitch, const int t_per_atom) { + int tid, ii, offset; + atom_info(t_per_atom,ii,tid,offset); + + __local numtyp4 lj1[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp4 lj3[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp sp_lj[4]; + if (tid<4) + sp_lj[tid]=sp_lj_in[tid]; + if (tid0) + lj3[tid]=lj3_in[tid]; + } + + acctyp energy=(acctyp)0; + acctyp4 f; + f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; + acctyp virial[6]; + for (int i=0; i<6; i++) + virial[i]=(acctyp)0; + + __syncthreads(); + + if (ii0) { + numtyp e; + if (rsq < lj1[mtype].w) + e = r6inv * (lj3[mtype].x*r6inv - lj3[mtype].y) - lj3[mtype].z; + else + e = ljsw[mtype].x - ljsw[mtype].x*t - + ljsw[mtype].y*tsq/2.0 - ljsw[mtype].z*tsq*t/3.0 - + ljsw[mtype].z*tsq*tsq/4.0 - lj3[mtype].z; //??? + + //numtyp e=r6inv*(lj3[mtype].x*r6inv-lj3[mtype].y); + energy+=factor_lj*e; + } + if (vflag>0) { + virial[0] += delx*delx*force; + virial[1] += dely*dely*force; + virial[2] += delz*delz*force; + virial[3] += delx*dely*force; + virial[4] += delx*delz*force; + virial[5] += dely*delz*force; + } + } + + } // for nbor + store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, + ans,engv); + } // if ii +} + From e32d059d268bb019dfad141f61a2a72e41d87c73 Mon Sep 17 00:00:00 2001 From: Gurgen Date: Sat, 6 Mar 2021 23:43:25 +0300 Subject: [PATCH 097/542] lj/smooth/gpu --- lib/gpu/lal_lj_smooth.cpp | 184 +++++++++++++++++++++++++++++++++ lib/gpu/lal_lj_smooth.h | 92 +++++++++++++++++ lib/gpu/lal_lj_smooth_ext.cpp | 146 ++++++++++++++++++++++++++ src/GPU/pair_lj_smooth_gpu.cpp | 67 ++++++++---- src/GPU/pair_lj_smooth_gpu.h | 6 +- 5 files changed, 470 insertions(+), 25 deletions(-) create mode 100644 lib/gpu/lal_lj_smooth.cpp create mode 100644 lib/gpu/lal_lj_smooth.h create mode 100644 lib/gpu/lal_lj_smooth_ext.cpp diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp new file mode 100644 index 0000000000..5c75539660 --- /dev/null +++ b/lib/gpu/lal_lj_smooth.cpp @@ -0,0 +1,184 @@ +/*************************************************************************** + lj_smooth.cpp + ------------------- + W. Michael Brown (ORNL) + + Class for acceleration of the lj/smooth pair style. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : brownw@ornl.gov + ***************************************************************************/ + +#if defined(USE_OPENCL) +#include "lj_smooth_cl.h" +#elif defined(USE_CUDART) +const char *lj=0; +#else +#include "lj_smooth_cubin.h" +#endif + +#include "lal_lj_smooth.h" +#include +namespace LAMMPS_AL { +#define LJSMOOTHT LJSMOOTH + +extern Device device; + +template +LJSMOOTHT::LJSMOOTH() : BaseAtomic(), _allocated(false) { +} + +template +LJSMOOTHT::~LJSMOOTH() { + clear(); +} + +template +int LJSMOOTHT::bytes_per_atom(const int max_nbors) const { + return this->bytes_per_atom_atomic(max_nbors); +} + +template +int LJSMOOTHT::init(const int ntypes, + double **host_cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, + double **host_lj4, double **host_offset, + double *host_special_lj, const int nlocal, + const int nall, const int max_nbors, + const int maxspecial, const double cell_size, + const double gpu_split, FILE *_screen, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_inner_sq) { + int success; + success=this->init_atomic(nlocal,nall,max_nbors,maxspecial,cell_size,gpu_split, + _screen,lj_smooth,"k_lj_smooth"); + if (success!=0) + return success; + + // If atom type constants fit in shared memory use fast kernel + int lj_types=ntypes; + shared_types=false; + int max_shared_types=this->device->max_shared_types(); + if (lj_types<=max_shared_types && this->_block_size>=max_shared_types) { + lj_types=max_shared_types; + shared_types=true; + } + _lj_types=lj_types; + + // Allocate a host write buffer for data initialization + UCL_H_Vec host_write(lj_types*lj_types*32,*(this->ucl_device), + UCL_WRITE_ONLY); + + for (int i=0; iucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,lj1,host_write,host_lj1,host_lj2, + host_cutsq, cut_inner_sq); + + lj3.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,lj3,host_write,host_lj3,host_lj4, + host_offset, cut_inner); + + ljsw.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, + host_ljsw3,host_ljsw4); + + UCL_H_Vec dview; + sp_lj.alloc(4,*(this->ucl_device),UCL_READ_ONLY); + dview.view(host_special_lj,4,*(this->ucl_device)); + ucl_copy(sp_lj,dview,false); + + _allocated=true; + this->_max_bytes=lj1.row_bytes()+lj3.row_bytes()+ljsw.row_bytes()+sp_lj.row_bytes(); + return 0; +} + +template +void LJSMOOTHT::reinit(const int ntypes, double **host_cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, + double **host_lj4, double **host_offset, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_inner_sq) { + // Allocate a host write buffer for data initialization + UCL_H_Vec host_write(_lj_types*_lj_types*32,*(this->ucl_device), + UCL_WRITE_ONLY); + + for (int i=0; i<_lj_types*_lj_types; i++) + host_write[i]=0.0; + + this->atom->type_pack4(ntypes,_lj_types,lj1,host_write,host_lj1,host_lj2, + host_cutsq, cut_inner_sq); + this->atom->type_pack4(ntypes,_lj_types,lj3,host_write,host_lj3,host_lj4, + host_offset, cut_inner); + this->atom->type_pack4(ntypes,_lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, + host_ljsw3,host_ljsw4); +} + +template +void LJSMOOTHT::clear() { + if (!_allocated) + return; + _allocated=false; + + lj1.clear(); + lj3.clear(); + ljsw.clear(); + sp_lj.clear(); + this->clear_atomic(); +} + +template +double LJSMOOTHT::host_memory_usage() const { + return this->host_memory_usage_atomic()+sizeof(LJSMOOTH); +} + +// --------------------------------------------------------------------------- +// Calculate energies, forces, and torques +// --------------------------------------------------------------------------- +template +void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { + // Compute the block size and grid size to keep all cores busy + const int BX=this->block_size(); + int eflag, vflag; + if (_eflag) + eflag=1; + else + eflag=0; + + if (_vflag) + vflag=1; + else + vflag=0; + + int GX=static_cast(ceil(static_cast(this->ans->inum())/ + (BX/this->_threads_per_atom))); + + int ainum=this->ans->inum(); + int nbor_pitch=this->nbor->nbor_pitch(); + this->time_pair.start(); + if (shared_types) { + this->k_pair_fast.set_size(GX,BX); + this->k_pair_fast.run(&this->atom->x, &lj1, &lj3, &ljsw, &sp_lj, + &this->nbor->dev_nbor, &this->_nbor_data->begin(), + &this->ans->force, &this->ans->engv, &eflag, + &vflag, &ainum, &nbor_pitch, + &this->_threads_per_atom); + } else { + this->k_pair.set_size(GX,BX); + this->k_pair.run(&this->atom->x, &lj1, &lj3, &ljsw, &_lj_types, &sp_lj, + &this->nbor->dev_nbor, &this->_nbor_data->begin(), + &this->ans->force, &this->ans->engv, &eflag, &vflag, + &ainum, &nbor_pitch, &this->_threads_per_atom); + } + this->time_pair.stop(); +} + +template class LJSMOOTH; +} diff --git a/lib/gpu/lal_lj_smooth.h b/lib/gpu/lal_lj_smooth.h new file mode 100644 index 0000000000..98dbad87b7 --- /dev/null +++ b/lib/gpu/lal_lj_smooth.h @@ -0,0 +1,92 @@ +/*************************************************************************** + lj_smooth.h + ------------------- + W. Michael Brown (ORNL) + + Class for acceleration of the lj/smooth pair style. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : brownw@ornl.gov + ***************************************************************************/ + +#ifndef LAL_LJ_SMOOTH_H +#define LAL_LJ_SMOOTH_H + +#include "lal_base_atomic.h" + +namespace LAMMPS_AL { + +template +class LJSMOOTH : public BaseAtomic { + public: + LJSMOOTH(); + ~LJSMOOTH(); + + /// Clear any previous data and set up for a new LAMMPS run + /** \param max_nbors initial number of rows in the neighbor matrix + * \param cell_size cutoff + skin + * \param gpu_split fraction of particles handled by device + * + * Returns: + * - 0 if successful + * - -1 if fix gpu not found + * - -3 if there is an out of memory error + * - -4 if the GPU library was not compiled for GPU + * - -5 Double precision is not supported on card **/ + int init(const int ntypes, double **host_cutsq, + double **host_lj1, double **host_lj2, double **host_lj3, + double **host_lj4, double **host_offset, double *host_special_lj, + const int nlocal, const int nall, const int max_nbors, + const int maxspecial, const double cell_size, + const double gpu_split, FILE *screen, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_inner_sq); + + /// Send updated coeffs from host to device (to be compatible with fix adapt) + void reinit(const int ntypes, double **host_cutsq, + double **host_lj1, double **host_lj2, double **host_lj3, + double **host_lj4, double **host_offset, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_inner_sq); + + /// Clear all host and device data + /** \note This is called at the beginning of the init() routine **/ + void clear(); + + /// Returns memory usage on device per atom + int bytes_per_atom(const int max_nbors) const; + + /// Total host memory used by library for pair style + double host_memory_usage() const; + + // --------------------------- TYPE DATA -------------------------- + + /// lj1.x = lj1, lj1.y = lj2, lj1.z = cutsq, lj1.w = cut_inner_sq + UCL_D_Vec lj1; + /// lj3.x = lj3, lj3.y = lj4, lj3.z = offset, lj3.w = cut_inner + UCL_D_Vec lj3; + /// ljsw.x = ljsw1, ljsw.y = ljsw2, ljsw.z = ljsw3, ljsw.w = ljsw4 + UCL_D_Vec ljsw; + /// Special LJ values + UCL_D_Vec sp_lj; + + /// If atom type constants fit in shared memory, use fast kernels + bool shared_types; + + /// Number of atom types + int _lj_types; + + private: + bool _allocated; + void loop(const bool _eflag, const bool _vflag); +}; + +} + +#endif diff --git a/lib/gpu/lal_lj_smooth_ext.cpp b/lib/gpu/lal_lj_smooth_ext.cpp new file mode 100644 index 0000000000..92624bf7fa --- /dev/null +++ b/lib/gpu/lal_lj_smooth_ext.cpp @@ -0,0 +1,146 @@ +/*************************************************************************** + lj_smooth_ext.cpp + ------------------- + W. Michael Brown (ORNL) + + Functions for LAMMPS access to lj/smooth acceleration routines. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : brownw@ornl.gov + ***************************************************************************/ + +#include +#include +#include + +#include "lal_lj_smooth.h" + +using namespace std; +using namespace LAMMPS_AL; + +static LJSMOOTH LJSMTMF; + +// --------------------------------------------------------------------------- +// Allocate memory on host and device and copy constants to device +// --------------------------------------------------------------------------- +int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, double **host_lj4, + double **offset, double *special_lj, const int inum, + const int nall, const int max_nbors, const int maxspecial, + const double cell_size, int &gpu_mode, FILE *screen, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { + LJSMTMF.clear(); + gpu_mode=LJSMTMF.device->gpu_mode(); + double gpu_split=LJSMTMF.device->particle_split(); + int first_gpu=LJSMTMF.device->first_device(); + int last_gpu=LJSMTMF.device->last_device(); + int world_me=LJSMTMF.device->world_me(); + int gpu_rank=LJSMTMF.device->gpu_rank(); + int procs_per_gpu=LJSMTMF.device->procs_per_gpu(); + + LJSMTMF.device->init_message(screen,"lj/smooth",first_gpu,last_gpu); + + bool message=false; + if (LJSMTMF.device->replica_me()==0 && screen) + message=true; + + if (message) { + fprintf(screen,"Initializing Device and compiling on process 0..."); + fflush(screen); + } + + int init_ok=0; + if (world_me==0) + init_ok=LJSMTMF.init(ntypes, cutsq, host_lj1, host_lj2, host_lj3, + host_lj4, offset, special_lj, inum, nall, 300, + maxspecial, cell_size, gpu_split, screen, + host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); + + LJSMTMF.device->world_barrier(); + if (message) + fprintf(screen,"Done.\n"); + + for (int i=0; igpu_barrier(); + if (message) + fprintf(screen,"Done.\n"); + } + if (message) + fprintf(screen,"\n"); + + if (init_ok==0) + LJSMTMF.estimate_gpu_overhead(); + return init_ok; +} + +// --------------------------------------------------------------------------- +// Copy updated coeffs from host to device +// --------------------------------------------------------------------------- +void ljsmt_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, + double **host_lj2, double **host_lj3, double **host_lj4, + double **offset, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { + int world_me=LJSMTMF.device->world_me(); + int gpu_rank=LJSMTMF.device->gpu_rank(); + int procs_per_gpu=LJSMTMF.device->procs_per_gpu(); + + if (world_me==0) + LJSMTMF.reinit(ntypes, cutsq, host_lj1, host_lj2, host_lj3, host_lj4, offset, host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); + LJSMTMF.device->world_barrier(); + + for (int i=0; igpu_barrier(); + } +} + +void ljsmt_gpu_clear() { + LJSMTMF.clear(); +} + +int ** ljsmt_gpu_compute_n(const int ago, const int inum_full, + const int nall, double **host_x, int *host_type, + double *sublo, double *subhi, tagint *tag, int **nspecial, + tagint **special, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + int **ilist, int **jnum, const double cpu_time, + bool &success) { + return LJSMTMF.compute(ago, inum_full, nall, host_x, host_type, sublo, + subhi, tag, nspecial, special, eflag, vflag, eatom, + vatom, host_start, ilist, jnum, cpu_time, success); +} + +void ljsmt_gpu_compute(const int ago, const int inum_full, const int nall, + double **host_x, int *host_type, int *ilist, int *numj, + int **firstneigh, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + const double cpu_time, bool &success) { + LJSMTMF.compute(ago,inum_full,nall,host_x,host_type,ilist,numj, + firstneigh,eflag,vflag,eatom,vatom,host_start,cpu_time,success); +} + +double ljsmt_gpu_bytes() { + return LJSMTMF.host_memory_usage(); +} + + diff --git a/src/GPU/pair_lj_smooth_gpu.cpp b/src/GPU/pair_lj_smooth_gpu.cpp index 4ea5cce92e..882055e84d 100644 --- a/src/GPU/pair_lj_smooth_gpu.cpp +++ b/src/GPU/pair_lj_smooth_gpu.cpp @@ -40,34 +40,40 @@ using namespace LAMMPS_NS; // External functions from cuda library for atom decomposition -int ljl_gpu_init(const int ntypes, double **cutsq, double **host_lj1, +int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, double **offset, double *special_lj, const int nlocal, const int nall, const int max_nbors, const int maxspecial, - const double cell_size, int &gpu_mode, FILE *screen); + const double cell_size, int &gpu_mode, FILE *screen, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_innersq); -void ljl_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, +void ljsmt_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, - double **offset); + double **offset, + double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw4, + double **cut_inner, double **cut_innersq); -void ljl_gpu_clear(); -int ** ljl_gpu_compute_n(const int ago, const int inum, +void ljsmt_gpu_clear(); +int ** ljsmt_gpu_compute_n(const int ago, const int inum, const int nall, double **host_x, int *host_type, double *sublo, double *subhi, tagint *tag, int **nspecial, tagint **special, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, int **ilist, int **jnum, const double cpu_time, bool &success); -void ljl_gpu_compute(const int ago, const int inum, const int nall, +void ljsmt_gpu_compute(const int ago, const int inum, const int nall, double **host_x, int *host_type, int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, const double cpu_time, bool &success); -double ljl_gpu_bytes(); +double ljsmt_gpu_bytes(); /* ---------------------------------------------------------------------- */ -PairLJSmoothGPU::PairLJSmoothGPU(LAMMPS *lmp) : PairLJCut(lmp), gpu_mode(GPU_FORCE) +PairLJSmoothGPU::PairLJSmoothGPU(LAMMPS *lmp) : PairLJSmooth(lmp), gpu_mode(GPU_FORCE) { respa_enable = 0; cpu_time = 0.0; @@ -81,7 +87,7 @@ PairLJSmoothGPU::PairLJSmoothGPU(LAMMPS *lmp) : PairLJCut(lmp), gpu_mode(GPU_FOR PairLJSmoothGPU::~PairLJSmoothGPU() { - ljl_gpu_clear(); + ljsmt_gpu_clear(); } /* ---------------------------------------------------------------------- */ @@ -108,7 +114,7 @@ void PairLJSmoothGPU::compute(int eflag, int vflag) domain->bbox(domain->sublo_lamda,domain->subhi_lamda,sublo,subhi); } inum = atom->nlocal; - firstneigh = ljl_gpu_compute_n(neighbor->ago, inum, nall, + firstneigh = ljsmt_gpu_compute_n(neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, @@ -119,7 +125,7 @@ void PairLJSmoothGPU::compute(int eflag, int vflag) ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; - ljl_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, + ljsmt_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success); } @@ -140,10 +146,10 @@ void PairLJSmoothGPU::compute(int eflag, int vflag) void PairLJSmoothGPU::init_style() { - cut_respa = nullptr; + //cut_respa = nullptr; if (force->newton_pair) - error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style"); + error->all(FLERR,"Cannot use newton pair with lj/smooth/gpu pair style"); // Repeat cutsq calculation because done after call to init_style double maxcut = -1.0; @@ -165,10 +171,11 @@ void PairLJSmoothGPU::init_style() int maxspecial=0; if (atom->molecular) maxspecial=atom->maxspecial; - int success = ljl_gpu_init(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, + int success = ljsmt_gpu_init(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset, force->special_lj, atom->nlocal, atom->nlocal+atom->nghost, 300, maxspecial, - cell_size, gpu_mode, screen); + cell_size, gpu_mode, screen, ljsw1, ljsw2, + ljsw3, ljsw4, cut_inner, cut_inner_sq); GPU_EXTRA::check_flag(success,error,world); if (gpu_mode == GPU_FORCE) { @@ -184,7 +191,7 @@ void PairLJSmoothGPU::reinit() { Pair::reinit(); - ljl_gpu_reinit(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset); + ljsmt_gpu_reinit(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset, ljsw1, ljsw2, ljsw3, ljsw4, cut_inner, cut_inner_sq); } /* ---------------------------------------------------------------------- */ @@ -192,7 +199,7 @@ void PairLJSmoothGPU::reinit() double PairLJSmoothGPU::memory_usage() { double bytes = Pair::memory_usage(); - return bytes + ljl_gpu_bytes(); + return bytes + ljsmt_gpu_bytes(); } /* ---------------------------------------------------------------------- */ @@ -202,6 +209,7 @@ void PairLJSmoothGPU::cpu_compute(int start, int inum, int eflag, int /* vflag * int i,j,ii,jj,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; double rsq,r2inv,r6inv,forcelj,factor_lj; + double r,t,tsq,fskin; int *jlist; double **x = atom->x; @@ -233,8 +241,18 @@ void PairLJSmoothGPU::cpu_compute(int start, int inum, int eflag, int /* vflag * if (rsq < cutsq[itype][jtype]) { r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); + if (rsq < cut_inner_sq[itype][jtype]) { + r6inv = r2inv*r2inv*r2inv; + forcelj = r6inv * (lj1[itype][jtype]*r6inv-lj2[itype][jtype]); + } else { + r = sqrt(rsq); + t = r - cut_inner[itype][jtype]; + tsq = t*t; + fskin = ljsw1[itype][jtype] + ljsw2[itype][jtype]*t + + ljsw3[itype][jtype]*tsq + ljsw4[itype][jtype]*tsq*t; + forcelj = fskin*r; + } + fpair = factor_lj*forcelj*r2inv; f[i][0] += delx*fpair; @@ -242,8 +260,13 @@ void PairLJSmoothGPU::cpu_compute(int start, int inum, int eflag, int /* vflag * f[i][2] += delz*fpair; if (eflag) { - evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) - - offset[itype][jtype]; + if (rsq < cut_inner_sq[itype][jtype]) + evdwl = r6inv * (lj3[itype][jtype]*r6inv - + lj4[itype][jtype]) - offset[itype][jtype]; + else + evdwl = ljsw0[itype][jtype] - ljsw1[itype][jtype]*t - + ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 - + ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype]; evdwl *= factor_lj; } diff --git a/src/GPU/pair_lj_smooth_gpu.h b/src/GPU/pair_lj_smooth_gpu.h index fc245918d0..414ce4c2d2 100644 --- a/src/GPU/pair_lj_smooth_gpu.h +++ b/src/GPU/pair_lj_smooth_gpu.h @@ -20,11 +20,11 @@ PairStyle(lj/smooth/gpu,PairLJSmoothGPU) #ifndef LMP_PAIR_LJ_SMOOTH_GPU_H #define LMP_PAIR_LJ_SMOOTH_GPU_H -#include "pair_lj_cut.h" +#include "pair_lj_smooth.h" namespace LAMMPS_NS { -class PairLJSmoothGPU : public PairLJCut { +class PairLJSmoothGPU : public PairLJSmooth { public: PairLJSmoothGPU(LAMMPS *lmp); ~PairLJSmoothGPU(); @@ -52,7 +52,7 @@ E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package -E: Cannot use newton pair with lj/cut/gpu pair style +E: Cannot use newton pair with lj/smooth/gpu pair style Self-explanatory. From ca88f97a4bf6eec438c8719751aca705c131819c Mon Sep 17 00:00:00 2001 From: Gurgen Date: Fri, 12 Mar 2021 01:40:52 +0300 Subject: [PATCH 098/542] added acceleration of lj/smooth on gpu --- lib/gpu/lal_lj_smooth.cpp | 19 +++++++++++++------ lib/gpu/lal_lj_smooth.cu | 10 ++++++---- lib/gpu/lal_lj_smooth.h | 10 ++++++---- lib/gpu/lal_lj_smooth_ext.cpp | 12 ++++++------ src/GPU/pair_lj_smooth_gpu.cpp | 12 ++++++------ 5 files changed, 37 insertions(+), 26 deletions(-) diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp index 5c75539660..d2ab63549d 100644 --- a/lib/gpu/lal_lj_smooth.cpp +++ b/lib/gpu/lal_lj_smooth.cpp @@ -16,7 +16,7 @@ #if defined(USE_OPENCL) #include "lj_smooth_cl.h" #elif defined(USE_CUDART) -const char *lj=0; +const char *lj_smooth=0; #else #include "lj_smooth_cubin.h" #endif @@ -51,7 +51,7 @@ int LJSMOOTHT::init(const int ntypes, const int nall, const int max_nbors, const int maxspecial, const double cell_size, const double gpu_split, FILE *_screen, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { int success; @@ -88,6 +88,10 @@ int LJSMOOTHT::init(const int ntypes, ljsw.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); this->atom->type_pack4(ntypes,lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, host_ljsw3,host_ljsw4); + + ljsw0.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,ljsw0,host_write,host_ljsw0,cut_inner,host_ljsw2, + host_ljsw3); UCL_H_Vec dview; sp_lj.alloc(4,*(this->ucl_device),UCL_READ_ONLY); @@ -95,7 +99,7 @@ int LJSMOOTHT::init(const int ntypes, ucl_copy(sp_lj,dview,false); _allocated=true; - this->_max_bytes=lj1.row_bytes()+lj3.row_bytes()+ljsw.row_bytes()+sp_lj.row_bytes(); + this->_max_bytes=lj1.row_bytes()+lj3.row_bytes()+ljsw.row_bytes()+ljsw0.row_bytes()+sp_lj.row_bytes(); return 0; } @@ -103,7 +107,7 @@ template void LJSMOOTHT::reinit(const int ntypes, double **host_cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, double **host_offset, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { // Allocate a host write buffer for data initialization @@ -119,6 +123,8 @@ void LJSMOOTHT::reinit(const int ntypes, double **host_cutsq, double **host_lj1, host_offset, cut_inner); this->atom->type_pack4(ntypes,_lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, host_ljsw3,host_ljsw4); + this->atom->type_pack4(ntypes,_lj_types,ljsw0,host_write,host_ljsw0, cut_inner, host_ljsw2, + host_ljsw3); } template @@ -130,6 +136,7 @@ void LJSMOOTHT::clear() { lj1.clear(); lj3.clear(); ljsw.clear(); + ljsw0.clear(); sp_lj.clear(); this->clear_atomic(); } @@ -165,14 +172,14 @@ void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { this->time_pair.start(); if (shared_types) { this->k_pair_fast.set_size(GX,BX); - this->k_pair_fast.run(&this->atom->x, &lj1, &lj3, &ljsw, &sp_lj, + this->k_pair_fast.run(&this->atom->x, &lj1, &lj3, &ljsw, &ljsw0, &sp_lj, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->ans->force, &this->ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom); } else { this->k_pair.set_size(GX,BX); - this->k_pair.run(&this->atom->x, &lj1, &lj3, &ljsw, &_lj_types, &sp_lj, + this->k_pair.run(&this->atom->x, &lj1, &lj3, &ljsw, &ljsw0, &_lj_types, &sp_lj, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->ans->force, &this->ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom); diff --git a/lib/gpu/lal_lj_smooth.cu b/lib/gpu/lal_lj_smooth.cu index b69f8b9388..345da1c702 100644 --- a/lib/gpu/lal_lj_smooth.cu +++ b/lib/gpu/lal_lj_smooth.cu @@ -28,6 +28,7 @@ __kernel void k_lj_smooth(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict lj1, const __global numtyp4 *restrict lj3, const __global numtyp4 *restrict ljsw, + const __global numtyp4 *restrict ljsw0, const int lj_types, const __global numtyp *restrict sp_lj, const __global int * dev_nbor, @@ -82,7 +83,7 @@ __kernel void k_lj_smooth(const __global numtyp4 *restrict x_, } else { r = sqrt(rsq); - t = r - lj3[mtype].w; + t = r - ljsw0[mtype].y; tsq = t*t; fskin = ljsw[mtype].x + ljsw[mtype].y*t + ljsw[mtype].z*tsq + ljsw[mtype].w*tsq*t; @@ -98,7 +99,7 @@ __kernel void k_lj_smooth(const __global numtyp4 *restrict x_, if (rsq < lj1[mtype].w) e = r6inv * (lj3[mtype].x*r6inv - lj3[mtype].y) - lj3[mtype].z; else - e = ljsw[mtype].x - ljsw[mtype].x*t - + e = ljsw0[mtype].x - ljsw[mtype].x*t - ljsw[mtype].y*tsq/2.0 - ljsw[mtype].z*tsq*t/3.0 - ljsw[mtype].z*tsq*tsq/4.0 - lj3[mtype].z; @@ -125,6 +126,7 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict lj1_in, const __global numtyp4 *restrict lj3_in, const __global numtyp4 *restrict ljsw, + const __global numtyp4 *restrict ljsw0, const __global numtyp *restrict sp_lj_in, const __global int * dev_nbor, const __global int * dev_packed, @@ -191,7 +193,7 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, } else { r = sqrt(rsq); - t = r - lj3[mtype].w; + t = r - ljsw0[mtype].y; //? //printf("%f\n", r - lj3[mtype].w); tsq = t*t; fskin = ljsw[mtype].x + ljsw[mtype].y*t + @@ -208,7 +210,7 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, if (rsq < lj1[mtype].w) e = r6inv * (lj3[mtype].x*r6inv - lj3[mtype].y) - lj3[mtype].z; else - e = ljsw[mtype].x - ljsw[mtype].x*t - + e = ljsw0[mtype].x - ljsw[mtype].x*t - ljsw[mtype].y*tsq/2.0 - ljsw[mtype].z*tsq*t/3.0 - ljsw[mtype].z*tsq*tsq/4.0 - lj3[mtype].z; //??? diff --git a/lib/gpu/lal_lj_smooth.h b/lib/gpu/lal_lj_smooth.h index 98dbad87b7..0a4cdf78eb 100644 --- a/lib/gpu/lal_lj_smooth.h +++ b/lib/gpu/lal_lj_smooth.h @@ -43,16 +43,16 @@ class LJSMOOTH : public BaseAtomic { const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, const double gpu_split, FILE *screen, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, - double **host_ljsw4, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, + double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq); /// Send updated coeffs from host to device (to be compatible with fix adapt) void reinit(const int ntypes, double **host_cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, double **host_offset, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, - double **host_ljsw4, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, + double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq); /// Clear all host and device data @@ -73,6 +73,8 @@ class LJSMOOTH : public BaseAtomic { UCL_D_Vec lj3; /// ljsw.x = ljsw1, ljsw.y = ljsw2, ljsw.z = ljsw3, ljsw.w = ljsw4 UCL_D_Vec ljsw; + /// ljsw0 + UCL_D_Vec ljsw0; /// Special LJ values UCL_D_Vec sp_lj; diff --git a/lib/gpu/lal_lj_smooth_ext.cpp b/lib/gpu/lal_lj_smooth_ext.cpp index 92624bf7fa..fd4dfd46be 100644 --- a/lib/gpu/lal_lj_smooth_ext.cpp +++ b/lib/gpu/lal_lj_smooth_ext.cpp @@ -32,7 +32,7 @@ int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, double **offset, double *special_lj, const int inum, const int nall, const int max_nbors, const int maxspecial, const double cell_size, int &gpu_mode, FILE *screen, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { LJSMTMF.clear(); gpu_mode=LJSMTMF.device->gpu_mode(); @@ -59,7 +59,7 @@ int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, init_ok=LJSMTMF.init(ntypes, cutsq, host_lj1, host_lj2, host_lj3, host_lj4, offset, special_lj, inum, nall, 300, maxspecial, cell_size, gpu_split, screen, - host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); + host_ljsw0, host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); LJSMTMF.device->world_barrier(); if (message) @@ -77,7 +77,7 @@ int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, if (gpu_rank==i && world_me!=0) init_ok=LJSMTMF.init(ntypes, cutsq, host_lj1, host_lj2, host_lj3, host_lj4, offset, special_lj, inum, nall, 300, maxspecial, - cell_size, gpu_split, screen, host_ljsw1, host_ljsw2, host_ljsw3, + cell_size, gpu_split, screen, host_ljsw0, host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); LJSMTMF.device->gpu_barrier(); @@ -97,19 +97,19 @@ int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, // --------------------------------------------------------------------------- void ljsmt_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, - double **offset, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, + double **offset, double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_inner_sq) { int world_me=LJSMTMF.device->world_me(); int gpu_rank=LJSMTMF.device->gpu_rank(); int procs_per_gpu=LJSMTMF.device->procs_per_gpu(); if (world_me==0) - LJSMTMF.reinit(ntypes, cutsq, host_lj1, host_lj2, host_lj3, host_lj4, offset, host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); + LJSMTMF.reinit(ntypes, cutsq, host_lj1, host_lj2, host_lj3, host_lj4, offset, host_ljsw0, host_ljsw1, host_ljsw2, host_ljsw3, host_ljsw4, cut_inner, cut_inner_sq); LJSMTMF.device->world_barrier(); for (int i=0; igpu_barrier(); } } diff --git a/src/GPU/pair_lj_smooth_gpu.cpp b/src/GPU/pair_lj_smooth_gpu.cpp index 882055e84d..0203350507 100644 --- a/src/GPU/pair_lj_smooth_gpu.cpp +++ b/src/GPU/pair_lj_smooth_gpu.cpp @@ -45,15 +45,15 @@ int ljsmt_gpu_init(const int ntypes, double **cutsq, double **host_lj1, double **offset, double *special_lj, const int nlocal, const int nall, const int max_nbors, const int maxspecial, const double cell_size, int &gpu_mode, FILE *screen, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, - double **host_ljsw4, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, + double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_innersq); void ljsmt_gpu_reinit(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, double **host_lj3, double **host_lj4, double **offset, - double **host_ljsw1, double **host_ljsw2, double **host_ljsw3, - double **host_ljsw4, + double **host_ljsw0, double **host_ljsw1, double **host_ljsw2, + double **host_ljsw3, double **host_ljsw4, double **cut_inner, double **cut_innersq); void ljsmt_gpu_clear(); @@ -174,7 +174,7 @@ void PairLJSmoothGPU::init_style() int success = ljsmt_gpu_init(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset, force->special_lj, atom->nlocal, atom->nlocal+atom->nghost, 300, maxspecial, - cell_size, gpu_mode, screen, ljsw1, ljsw2, + cell_size, gpu_mode, screen, ljsw0, ljsw1, ljsw2, ljsw3, ljsw4, cut_inner, cut_inner_sq); GPU_EXTRA::check_flag(success,error,world); @@ -191,7 +191,7 @@ void PairLJSmoothGPU::reinit() { Pair::reinit(); - ljsmt_gpu_reinit(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset, ljsw1, ljsw2, ljsw3, ljsw4, cut_inner, cut_inner_sq); + ljsmt_gpu_reinit(atom->ntypes+1, cutsq, lj1, lj2, lj3, lj4, offset, ljsw0, ljsw1, ljsw2, ljsw3, ljsw4, cut_inner, cut_inner_sq); } /* ---------------------------------------------------------------------- */ From 8d18051232ecde32e3abc0679086aa26e7a42e0f Mon Sep 17 00:00:00 2001 From: Gurgen Date: Thu, 18 Mar 2021 20:48:57 +0300 Subject: [PATCH 099/542] acceleration for pair_style lj/smooth --- lib/gpu/lal_lj_smooth.cpp | 17 ++++++----------- lib/gpu/lal_lj_smooth.cu | 32 ++++++++++++++++---------------- lib/gpu/lal_lj_smooth.h | 11 ++++------- 3 files changed, 26 insertions(+), 34 deletions(-) diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp index d2ab63549d..5e4785230b 100644 --- a/lib/gpu/lal_lj_smooth.cpp +++ b/lib/gpu/lal_lj_smooth.cpp @@ -2,13 +2,10 @@ lj_smooth.cpp ------------------- W. Michael Brown (ORNL) - Class for acceleration of the lj/smooth pair style. - __________________________________________________________________________ This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) __________________________________________________________________________ - begin : email : brownw@ornl.gov ***************************************************************************/ @@ -83,15 +80,14 @@ int LJSMOOTHT::init(const int ntypes, lj3.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); this->atom->type_pack4(ntypes,lj_types,lj3,host_write,host_lj3,host_lj4, - host_offset, cut_inner); + host_offset); ljsw.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); this->atom->type_pack4(ntypes,lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, host_ljsw3,host_ljsw4); ljsw0.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); - this->atom->type_pack4(ntypes,lj_types,ljsw0,host_write,host_ljsw0,cut_inner,host_ljsw2, - host_ljsw3); + this->atom->type_pack2(ntypes,lj_types,ljsw0,host_write,host_ljsw0,cut_inner); UCL_H_Vec dview; sp_lj.alloc(4,*(this->ucl_device),UCL_READ_ONLY); @@ -118,13 +114,12 @@ void LJSMOOTHT::reinit(const int ntypes, double **host_cutsq, double **host_lj1, host_write[i]=0.0; this->atom->type_pack4(ntypes,_lj_types,lj1,host_write,host_lj1,host_lj2, - host_cutsq, cut_inner_sq); + host_cutsq,cut_inner_sq); this->atom->type_pack4(ntypes,_lj_types,lj3,host_write,host_lj3,host_lj4, - host_offset, cut_inner); + host_offset); this->atom->type_pack4(ntypes,_lj_types,ljsw,host_write,host_ljsw1,host_ljsw2, host_ljsw3,host_ljsw4); - this->atom->type_pack4(ntypes,_lj_types,ljsw0,host_write,host_ljsw0, cut_inner, host_ljsw2, - host_ljsw3); + this->atom->type_pack2(ntypes,_lj_types,ljsw0,host_write,host_ljsw0,cut_inner); } template @@ -188,4 +183,4 @@ void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { } template class LJSMOOTH; -} +} \ No newline at end of file diff --git a/lib/gpu/lal_lj_smooth.cu b/lib/gpu/lal_lj_smooth.cu index 345da1c702..c02e1b5ae0 100644 --- a/lib/gpu/lal_lj_smooth.cu +++ b/lib/gpu/lal_lj_smooth.cu @@ -28,7 +28,7 @@ __kernel void k_lj_smooth(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict lj1, const __global numtyp4 *restrict lj3, const __global numtyp4 *restrict ljsw, - const __global numtyp4 *restrict ljsw0, + const __global numtyp2 *restrict ljsw0, const int lj_types, const __global numtyp *restrict sp_lj, const __global int * dev_nbor, @@ -56,8 +56,9 @@ __kernel void k_lj_smooth(const __global numtyp4 *restrict x_, numtyp4 ix; fetch4(ix,i,pos_tex); //x_[i]; int itype=ix.w; - numtyp factor_lj; + numtyp force, r6inv, factor_lj, forcelj; numtyp r, t, tsq, fskin; + for ( ; nbor0) { @@ -231,5 +232,4 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, ans,engv); } // if ii -} - +} \ No newline at end of file diff --git a/lib/gpu/lal_lj_smooth.h b/lib/gpu/lal_lj_smooth.h index 0a4cdf78eb..f869977c58 100644 --- a/lib/gpu/lal_lj_smooth.h +++ b/lib/gpu/lal_lj_smooth.h @@ -2,13 +2,10 @@ lj_smooth.h ------------------- W. Michael Brown (ORNL) - Class for acceleration of the lj/smooth pair style. - __________________________________________________________________________ This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) __________________________________________________________________________ - begin : email : brownw@ornl.gov ***************************************************************************/ @@ -69,12 +66,12 @@ class LJSMOOTH : public BaseAtomic { /// lj1.x = lj1, lj1.y = lj2, lj1.z = cutsq, lj1.w = cut_inner_sq UCL_D_Vec lj1; - /// lj3.x = lj3, lj3.y = lj4, lj3.z = offset, lj3.w = cut_inner + /// lj3.x = lj3, lj3.y = lj4, lj3.z = offset UCL_D_Vec lj3; /// ljsw.x = ljsw1, ljsw.y = ljsw2, ljsw.z = ljsw3, ljsw.w = ljsw4 UCL_D_Vec ljsw; - /// ljsw0 - UCL_D_Vec ljsw0; + /// ljsw0.x = ljsw0 ljsw0.y = cut_inner + UCL_D_Vec ljsw0; /// Special LJ values UCL_D_Vec sp_lj; @@ -91,4 +88,4 @@ class LJSMOOTH : public BaseAtomic { } -#endif +#endif \ No newline at end of file From d9d5d3a36a175a492c4c617a4d67a4fa5b7ab68a Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Fri, 19 Mar 2021 09:29:47 -0600 Subject: [PATCH 100/542] Correcting skin distance calculation for collection/interval --- src/neighbor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/neighbor.cpp b/src/neighbor.cpp index c33345f88d..13f5c9f958 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -409,7 +409,7 @@ void Neighbor::init() ri = collection2cut[i]*0.5; for(j = 0; j < ncollections; j++){ rj = collection2cut[j]*0.5; - tmp = force->pair->radii2cut(ri, rj); + tmp = force->pair->radii2cut(ri, rj) + skin; cutcollectionsq[i][j] = tmp*tmp; } } @@ -425,7 +425,8 @@ void Neighbor::init() double cuttmp; for(i = 1; i <= n; i++){ - cuttmp = sqrt(cutneighsq[i][i]); + // Remove skin added to cutneighsq + cuttmp = sqrt(cutneighsq[i][i]) - skin; for(icollection = 0; icollection < ncollections; icollection ++){ if(collection2cut[icollection] >= cuttmp) { type2collection[i] = icollection; From dca9cd9c1c8118db7c928a532182f58fca6d7680 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 29 Mar 2021 13:46:16 -0500 Subject: [PATCH 101/542] Kept the .cubin files so that they are only rebuilt whenever changes are made to the relevant source files --- lib/gpu/Makefile.cuda | 3 +-- lib/gpu/Makefile.cuda_mps | 3 +-- lib/gpu/Nvidia.makefile | 5 +---- lib/gpu/Nvidia.makefile_multi | 3 +-- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/gpu/Makefile.cuda b/lib/gpu/Makefile.cuda index 7020f18cf3..e02501d080 100644 --- a/lib/gpu/Makefile.cuda +++ b/lib/gpu/Makefile.cuda @@ -45,7 +45,7 @@ CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDA_LINK = $(CUDA_LIB) -lcudart -CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) -Icudpp_mini $(CUDA_ARCH) \ +CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) $(CUDA_ARCH) \ $(CUDA_PRECISION) BIN2C = $(CUDA_HOME)/bin/bin2c @@ -103,7 +103,6 @@ $(OBJ_DIR)/pppm_d_cubin.h: $(OBJ_DIR)/pppm_d.cubin $(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) $(CUDA) --fatbin -DNV_KERNEL -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/lal_$*.cu $(BIN2C) -c -n $* $(OBJ_DIR)/$*.cubin > $@ - @rm $(OBJ_DIR)/$*.cubin # host code compilation diff --git a/lib/gpu/Makefile.cuda_mps b/lib/gpu/Makefile.cuda_mps index 21aac89151..f52bd07fcf 100644 --- a/lib/gpu/Makefile.cuda_mps +++ b/lib/gpu/Makefile.cuda_mps @@ -44,7 +44,7 @@ CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDA_LINK = $(CUDA_LIB) -lcudart -CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) -Icudpp_mini $(CUDA_ARCH) \ +CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) $(CUDA_ARCH) \ $(CUDA_PRECISION) BIN2C = $(CUDA_HOME)/bin/bin2c @@ -102,7 +102,6 @@ $(OBJ_DIR)/pppm_d_cubin.h: $(OBJ_DIR)/pppm_d.cubin $(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) $(CUDA) --fatbin -DNV_KERNEL -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/lal_$*.cu $(BIN2C) -c -n $* $(OBJ_DIR)/$*.cubin > $@ - @rm $(OBJ_DIR)/$*.cubin # host code compilation diff --git a/lib/gpu/Nvidia.makefile b/lib/gpu/Nvidia.makefile index d3275b890f..56942d3f3c 100644 --- a/lib/gpu/Nvidia.makefile +++ b/lib/gpu/Nvidia.makefile @@ -30,7 +30,7 @@ $(OBJ_DIR): # Compilers and linkers -CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) -Icudpp_mini $(CUDA_ARCH) \ +CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) $(CUDA_ARCH) \ $(CUDA_PRECISION) CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ $(CUDPP_OPT) @@ -46,7 +46,6 @@ $(OBJ_DIR)/pppm_f.cubin: lal_pppm.cu lal_precision.h lal_preprocessor.h \ $(OBJ_DIR)/pppm_f_cubin.h: $(OBJ_DIR)/pppm_f.cubin $(BIN2C) -c -n pppm_f $(OBJ_DIR)/pppm_f.cubin > $(OBJ_DIR)/pppm_f_cubin.h - rm $(OBJ_DIR)/pppm_f.cubin $(OBJ_DIR)/pppm_d.cubin: lal_pppm.cu lal_precision.h lal_preprocessor.h \ lal_pre_cuda_hip.h @@ -54,12 +53,10 @@ $(OBJ_DIR)/pppm_d.cubin: lal_pppm.cu lal_precision.h lal_preprocessor.h \ $(OBJ_DIR)/pppm_d_cubin.h: $(OBJ_DIR)/pppm_d.cubin $(BIN2C) -c -n pppm_d $(OBJ_DIR)/pppm_d.cubin > $(OBJ_DIR)/pppm_d_cubin.h - rm $(OBJ_DIR)/pppm_d.cubin $(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) $(CUDA) --fatbin -DNV_KERNEL -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/lal_$*.cu $(BIN2C) -c -n $* $(OBJ_DIR)/$*.cubin > $@ - @rm $(OBJ_DIR)/$*.cubin # host code compilation diff --git a/lib/gpu/Nvidia.makefile_multi b/lib/gpu/Nvidia.makefile_multi index 6716388562..ddbee4f2a1 100644 --- a/lib/gpu/Nvidia.makefile_multi +++ b/lib/gpu/Nvidia.makefile_multi @@ -29,7 +29,7 @@ $(OBJ_DIR): # Compilers and linkers -CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) -Icudpp_mini $(CUDA_ARCH) \ +CUDA = $(NVCC) $(CUDA_INCLUDE) $(CUDA_OPTS) $(CUDA_ARCH) \ $(CUDA_PRECISION) CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ $(CUDPP_OPT) @@ -54,7 +54,6 @@ $(OBJ_DIR)/pppm_d_cubin.h: $(OBJ_DIR)/pppm_d.cubin $(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) $(CUDA) --fatbin -DNV_KERNEL -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/lal_$*.cu $(BIN2C) -c -n $* $(OBJ_DIR)/$*.cubin > $@ - @rm $(OBJ_DIR)/$*.cubin # host code compilation From 4ea9a9bf049e7185b949a5f52d83ddb14563e071 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Mon, 29 Mar 2021 15:23:22 -0500 Subject: [PATCH 102/542] Removed screening symmetry and added rann example --- examples/USER/rann/TiZr_2.nn | 277 +++++++++++++++++++++++++++++++++++ examples/USER/rann/in.lammps | 45 ++++++ src/USER-RANN/pair_rann.cpp | 3 - 3 files changed, 322 insertions(+), 3 deletions(-) create mode 100644 examples/USER/rann/TiZr_2.nn create mode 100644 examples/USER/rann/in.lammps diff --git a/examples/USER/rann/TiZr_2.nn b/examples/USER/rann/TiZr_2.nn new file mode 100644 index 0000000000..7ebdebf320 --- /dev/null +++ b/examples/USER/rann/TiZr_2.nn @@ -0,0 +1,277 @@ +#iter: 3957, evals: 6770, e_err: 1.2959304580e-05, e1: 1.2959304580e-05, ev_err 1.4570936792e-05, r_err: 1.0147937957e-06, lambda: 1.4986245485e+50 +atomtypes: +Ti Zr +mass:Ti: +47.867000 +mass:Zr: +91.224000 +fingerprintsperelement:Ti: +3 +fingerprintsperelement:Zr: +3 +fingerprints:Ti_Ti: +radialscreened_0 +fingerprints:Ti_all_all: +bondscreened_0 +fingerprints:Ti_Zr: +radialscreened_0 +fingerprints:Zr_Zr: +radialscreened_0 +fingerprints:Zr_all_all: +bondscreened_0 +fingerprints:Zr_Ti: +radialscreened_0 +fingerprintconstants:Ti_Ti:radialscreened_0:re: +2.943843 +fingerprintconstants:Ti_Ti:radialscreened_0:rc: +8.000000 +fingerprintconstants:Ti_Ti:radialscreened_0:alpha: +4.720000 4.720000 4.720000 4.720000 4.720000 +fingerprintconstants:Ti_Ti:radialscreened_0:dr: +5.056157 +fingerprintconstants:Ti_Ti:radialscreened_0:o: +-1 +fingerprintconstants:Ti_Ti:radialscreened_0:n: +3 +fingerprintconstants:Ti_all_all:bondscreened_0:re: +2.943843 +fingerprintconstants:Ti_all_all:bondscreened_0:rc: +8.000000 +fingerprintconstants:Ti_all_all:bondscreened_0:alphak: +1.000000 2.000000 4.000000 6.000000 9.000000 +fingerprintconstants:Ti_all_all:bondscreened_0:dr: +5.056157 +fingerprintconstants:Ti_all_all:bondscreened_0:k: +5 +fingerprintconstants:Ti_all_all:bondscreened_0:m: +8 +fingerprintconstants:Ti_Zr:radialscreened_0:re: +2.943843 +fingerprintconstants:Ti_Zr:radialscreened_0:rc: +8.000000 +fingerprintconstants:Ti_Zr:radialscreened_0:alpha: +4.720000 4.720000 4.720000 4.720000 4.720000 +fingerprintconstants:Ti_Zr:radialscreened_0:dr: +5.056157 +fingerprintconstants:Ti_Zr:radialscreened_0:o: +-1 +fingerprintconstants:Ti_Zr:radialscreened_0:n: +3 +fingerprintconstants:Zr_Zr:radialscreened_0:re: +3.234381 +fingerprintconstants:Zr_Zr:radialscreened_0:rc: +8.000000 +fingerprintconstants:Zr_Zr:radialscreened_0:alpha: +4.450000 4.450000 4.450000 4.450000 4.450000 +fingerprintconstants:Zr_Zr:radialscreened_0:dr: +4.765619 +fingerprintconstants:Zr_Zr:radialscreened_0:o: +-1 +fingerprintconstants:Zr_Zr:radialscreened_0:n: +3 +fingerprintconstants:Zr_all_all:bondscreened_0:re: +3.234381 +fingerprintconstants:Zr_all_all:bondscreened_0:rc: +8.000000 +fingerprintconstants:Zr_all_all:bondscreened_0:alphak: +1.000000 2.000000 6.000000 9.000000 +fingerprintconstants:Zr_all_all:bondscreened_0:dr: +4.765619 +fingerprintconstants:Zr_all_all:bondscreened_0:k: +4 +fingerprintconstants:Zr_all_all:bondscreened_0:m: +8 +fingerprintconstants:Zr_Ti:radialscreened_0:re: +3.234381 +fingerprintconstants:Zr_Ti:radialscreened_0:rc: +8.000000 +fingerprintconstants:Zr_Ti:radialscreened_0:alpha: +4.450000 4.450000 4.450000 4.450000 4.450000 +fingerprintconstants:Zr_Ti:radialscreened_0:dr: +4.765619 +fingerprintconstants:Zr_Ti:radialscreened_0:o: +-1 +fingerprintconstants:Zr_Ti:radialscreened_0:n: +3 +screening:Ti_Ti_Ti:Cmax: +0.900000 +screening:Ti_Ti_Ti:Cmin: +0.490000 +screening:Ti_Ti_Zr:Cmax: +0.850000 +screening:Ti_Ti_Zr:Cmin: +0.440000 +screening:Ti_Zr_Ti:Cmax: +1.500000 +screening:Ti_Zr_Ti:Cmin: +0.700000 +screening:Ti_Zr_Zr:Cmax: +0.950000 +screening:Ti_Zr_Zr:Cmin: +0.470000 +screening:Zr_Ti_Ti:Cmax: +2.700000 +screening:Zr_Ti_Ti:Cmin: +0.470000 +screening:Zr_Ti_Zr:Cmax: +1.900000 +screening:Zr_Ti_Zr:Cmin: +0.440000 +screening:Zr_Zr_Ti:Cmax: +2.950000 +screening:Zr_Zr_Ti:Cmin: +1.200000 +screening:Zr_Zr_Zr:Cmax: +2.900000 +screening:Zr_Zr_Zr:Cmin: +0.490000 +networklayers:Ti: +3 +networklayers:Zr: +3 +layersize:Ti:0: +50 +layersize:Ti:1: +20 +layersize:Ti:2: +1 +layersize:Zr:0: +42 +layersize:Zr:1: +20 +layersize:Zr:2: +1 +weight:Ti:0: +2.959065631457990e+01 8.820178365370960e+00 3.567479250699050e+01 -9.520944737974550e+01 5.810216841766590e+01 9.002124484009080e-03 1.229243737965220e-01 8.308975217587410e-01 6.823375462445510e-01 -2.120116364747350e+00 -5.042944013969450e+00 8.888536859810211e-01 4.730113767902510e+00 -3.561046029798420e-01 -5.268119595319890e+00 -5.022196630576951e+00 1.408878320391390e+01 1.468387176035110e+01 3.760997999097570e+01 -6.917447867710290e+00 -5.365770859257360e+01 2.298166523864800e+01 3.868330833699280e+02 -1.716548340302800e+02 -1.893938251864540e+03 7.087497678108080e+01 6.758413925648071e+02 -1.879116886681510e+01 1.086082362821260e+03 -2.582591099463280e+03 -6.919949629103320e+03 6.653492220309850e+03 3.910779971401370e+04 -7.590339154383870e+03 -2.022471894606200e+04 5.146509910417540e+03 -1.785463453281940e+04 4.562627218960931e+04 1.101701455067090e+05 -3.084309856150380e+05 -9.971094440845660e+05 6.441995235572750e+05 6.416524220576230e+05 -5.569111763100200e+05 4.328915131668910e+05 5.428524342952564e+01 -4.807139553935529e+01 3.674056463489699e+01 -1.977223569852695e+01 1.398466060959636e+01 +1.115693858967680e+02 -5.209779939312010e+00 -1.092385668269330e+01 -7.571784442383159e+01 -1.662179555544060e+01 6.916594544622801e-02 3.413942491148800e+00 4.480188413646630e-01 -2.802071362110940e+00 4.856749991432370e-01 3.705116153321830e+00 -2.506064444643240e-01 4.559599774503270e-01 -1.221308069065120e+00 -1.641607115739850e+01 3.587904146265880e+00 -2.383416507477550e+01 -9.053907553863560e-01 -2.345767274757610e+00 2.209763752910380e+00 -2.673114428269780e+01 8.868866584244550e+00 -9.266724447503009e+02 1.276638625895970e+02 7.168919250618770e+02 3.363071672846350e+02 1.444136022401220e+03 3.037219474351350e+02 6.597654623185430e+02 -3.584719368857490e+03 1.436854292524340e+04 1.250649758704310e+02 -1.134443963945180e+04 -9.877927968886390e+03 -7.232548546930680e+03 -1.764631584481190e+01 -1.378082415237150e+04 5.896464207004850e+04 -9.422840447102470e+04 2.948993551487030e+04 2.008982788928040e+03 7.562262912574749e+04 -4.983163988565260e+04 -8.575889316913020e+04 2.236873807148270e+05 1.354471135914414e+02 -3.150983530345522e+01 -6.539829926937760e+00 -3.528134551545980e+01 -3.035896296858233e+01 +8.785785932652220e+01 -4.720301334844530e+01 -2.020078576639370e+01 -8.255733692970909e+01 1.178751057600940e+02 9.264406483588231e-02 -8.591966416908700e-01 -2.857387389805440e-01 3.015871584381770e+00 1.521919611154890e-01 -2.855075022109020e+00 -2.903254706936460e-01 -3.875576775518040e-01 -1.502710449510660e+00 1.520339443967300e+01 1.731954001149110e+00 -5.593960128660860e+01 -2.295786748665170e+00 5.184952484874350e+01 1.592105947138620e+01 1.044288938102470e+01 1.080112064482300e+02 -6.503242958941140e+02 5.126387212054780e+01 1.597542448224040e+03 5.525892218471130e+00 -2.044692134406340e+02 -4.378343406176560e+02 -1.365572260486900e+03 5.425057742978480e+02 1.300810235708670e+04 -4.023490852286060e+03 -1.988158982819950e+04 6.967310910979560e+03 -2.024171606454450e+04 -3.946519618937470e+03 3.272873458153340e+04 -6.329517027391020e+04 -6.758621346995250e+05 -8.901399431816940e+04 5.802311652874351e+05 2.469897516161080e+05 -2.953675934297680e+05 2.508985896982250e+05 3.461023887148230e+04 1.352813198749896e+02 -1.630380500385758e+02 -1.059726795027444e+02 -4.718842231531175e+01 2.097108477308344e+02 +-5.983315673949120e+01 -5.919307194682480e+01 -2.313899936627500e+01 -1.379967160974440e+01 -5.689633174295660e+00 2.558411500579730e-02 4.966535582181171e-01 -1.127104896784800e-01 6.616245113484800e-01 1.512024678970050e+00 1.261340306063010e-01 -8.939209739253280e-01 3.836435145531750e-01 -9.152933589729160e-01 -2.819515446321520e+00 2.370269820057920e-02 -3.518535110763860e+00 -5.912237597981070e+00 -4.743613153004790e+00 -9.646383685996600e+00 -1.251890320875510e+01 1.196420918486560e+02 -3.106534430102290e+01 1.234735282275300e+02 3.222034272429480e+02 -8.517391382048750e+01 -1.336644870819130e+02 2.301334896952550e+02 2.795984833086180e+02 -7.564031065509090e+02 4.407754317028220e+03 -7.773963274447460e+01 -1.013680532461270e+04 -2.137688884394740e+03 1.854556641011860e+03 4.584784172458900e+03 3.070062887959150e+03 -1.650713622650290e+04 -1.690054624853500e+05 -9.892176689015090e+04 4.202313825462020e+05 1.823855045104630e+05 -3.431732355464990e+05 -1.288820654713850e+05 1.153329116697660e+05 -9.512788431741470e+01 -1.083147074683482e+02 -1.401980252358567e+01 5.077341232589099e+01 1.611760202769135e+01 +6.043868296995040e+01 4.953730803784700e+01 7.444491996599690e+01 2.069602350040530e+01 2.885023876509890e+01 -1.819594904018430e-02 -3.848784799773810e-01 -1.481217043109310e-01 1.376200375927920e+00 -1.047720682285890e-02 -3.575729995777320e+00 -1.600916160440440e+00 1.794687661779280e-01 7.996111823895621e-01 -1.099747849865890e+01 8.461579059755990e-01 1.912020946657630e+01 -2.330922291393970e+00 -3.201760021603340e+00 5.967674495276551e+00 7.202403588231940e+00 -3.963009841931790e+01 1.232746458298290e+02 7.293629493154040e+01 9.070915000036319e+01 7.821017738799991e+01 1.030456292377630e+02 2.367832546260190e+01 7.465984980998800e+02 -2.222946622172020e+03 2.365811170850490e+03 -4.316665836652120e+03 -5.681650496185500e+03 -4.705610717173330e+03 -2.463533711738170e+03 4.277433987676700e+02 -1.340783803475190e+04 8.114394517862870e+04 -1.371771041031440e+05 7.645477649479060e+04 1.381604663006290e+05 -9.358182445605620e+04 1.497249059051430e+05 3.740090050028630e+04 -2.951225783430170e+04 7.899947268818528e+01 1.744184194432216e+01 7.251446838854935e+01 5.429577897804942e+01 7.807542695718272e+00 +7.336413357703550e+01 5.385735724250819e+01 -1.013025042673250e+02 -3.775215413344070e+01 3.856228680957000e+01 -2.774006629323010e-01 3.529706536044520e+00 1.051024631506050e+00 -9.126702013427540e+00 -3.036141107572870e-01 6.965836125304440e+00 2.370710254085180e-01 -2.453818030419200e+00 3.584431481868390e+00 -3.955211197897520e+01 -2.946319634169590e+01 1.075342223305780e+02 3.106469607072350e+01 -5.639364892412801e+01 -1.608059058708440e-01 5.568683573148920e+00 1.095331213085640e+02 7.356684893782630e+02 -1.953531461722100e+02 -2.290279364852280e+03 -7.626123846589050e+01 -1.093150014594480e+03 -4.785211317880390e+02 1.823212591707460e+03 -7.110275609460000e+03 -8.718444264025210e+02 2.761255219512280e+04 4.288711262044300e+04 7.873341657826530e+03 2.101411900064320e+04 -2.549447846479280e+04 -4.781367612174040e+04 3.798098289652220e+03 -1.231616040097590e+06 -1.636924466717420e+06 -8.535898658236240e+05 -1.069993108285150e+06 7.918258980567560e+04 2.785945734799830e+06 1.341027760457690e+06 3.999352207637106e+01 -2.084141902956322e+01 -5.860760267787311e+00 8.807230220822389e+01 -7.620161545548299e+01 +-5.454503514021350e+01 3.022937868044680e+00 1.036302323371130e+02 1.935381124326150e+01 -4.612595619827530e+01 8.792376998749740e-02 3.958336360908130e-01 -3.611972157525290e-01 -7.637152495511270e-01 3.653562740495300e-01 3.067551830757980e-01 -3.161256031699760e-01 4.744168004022800e-02 1.328386675030670e-02 -2.283213430935990e+00 -7.905546692629679e-02 -8.415206885898829e+00 3.763465287005150e+00 1.822358427888100e+01 -2.102569135625870e+00 -8.119986083501260e+00 -4.299383232184290e+01 -6.319797969630640e+01 1.364977306635730e+01 1.116474530878040e+03 6.481020621915920e+01 -1.135738338453160e+03 -1.755614422178900e+02 6.704888124888900e+01 8.115636002388160e+02 2.229292409804530e+03 4.152068637760440e+02 -2.300186571663850e+04 -8.991813724806230e+03 9.833563087692790e+03 1.007435440408350e+04 1.268059452291430e+04 -6.100360643113080e+04 -7.679226754674291e+04 -4.324234891085850e+04 5.104133002498230e+05 5.100622558505500e+05 5.687417836825640e+05 -4.065563558156510e+05 -1.061487530145130e+06 -5.003180676080586e+01 4.052841198873614e+01 7.087821421181067e+01 -4.393348440683287e+01 7.746042081722949e+00 +-1.716350791787660e+01 7.669125478653530e+01 3.361398252746390e+00 -1.823274223785960e+02 1.680571316955560e+02 5.044485048795341e-02 -1.554309491130320e+00 -1.040567622332270e-01 5.403793929246860e+00 -9.332473544329940e-01 -3.328691452127940e+00 7.276367356846971e-01 -1.466253850993270e+00 -2.049238235100090e+00 1.890511806957930e+01 -1.365603915317670e-01 -7.306887579902040e+01 1.804106245632960e+01 4.985504986813700e+01 -1.387868082177220e+01 1.509060210160700e+01 -4.283272769576120e+01 -5.638949573162710e+02 -1.147260037690820e+01 1.990318793808500e+03 -1.291052217409060e+02 -7.864632802727400e+02 1.714942131555120e+02 -9.047631218077070e+02 1.594135040047940e+03 5.057802021444400e+03 2.765903434357460e+03 -5.421551955012629e+03 -1.460714485552360e+04 -2.242060556352510e+04 9.175879529415230e+03 2.631222640155590e+04 -1.290337306291940e+05 3.174622597120970e+05 -3.531368075740880e+05 -9.863082748151441e+05 1.052808298304350e+06 2.019305533585840e+05 -5.362818651229400e+05 4.057391172423450e+05 6.166117974861679e+01 -1.733823613019336e+01 -3.276018836488415e+01 -1.102900890440716e+02 1.431606844789580e+02 +4.277587614028520e+01 -5.541473137759560e+01 -1.102024827305630e+01 5.257858445795200e+01 -3.425341040033230e+01 -5.103011537222040e-02 1.131369327308280e-01 -2.892417383021370e-01 -3.408892711180270e-01 4.987019733292620e-01 5.930401521399159e+00 3.573649251910180e-01 -6.196824517342410e+00 3.493614018252210e-02 4.466306254045950e+00 -2.141513647484160e+00 -1.643052132619940e+01 7.878931556659919e+00 -5.834432405562180e+01 -6.326641211588000e+00 7.387894467468740e+01 6.867106305603799e+01 -2.651950831795120e+02 -4.817891301084070e+01 1.714170745131860e+03 -1.662565378656220e+02 5.075078770601480e+02 3.532164567001380e+02 -1.688617047555710e+03 -2.348133577164790e+03 -3.835231374568170e+03 5.031215766012700e+03 -2.913252889346310e+04 -1.018714388790040e+04 1.131417862036770e+04 7.321582219471570e+03 2.002936335361840e+04 2.917068634474880e+05 1.116083541827690e+06 1.198457175470130e+05 -5.669370558466420e+05 -3.745999354981260e+05 7.447029070304430e+04 -1.889247408188940e+05 -2.017056816322920e+05 8.475147542077808e+01 -1.769890954110007e+02 5.862177082179904e+00 1.923396463667033e+02 -1.132367725685456e+02 +2.127944540103450e+01 -2.877490844198130e+01 5.903642848966370e+01 3.205853304780400e+00 6.690385675269400e+01 -1.550046529349520e-01 8.612501177660180e-01 2.451744371445420e-02 -2.418332147292460e+00 2.130934772577300e-01 3.602492255934550e-01 -6.336639965844749e-02 7.128735584523610e-01 5.204016397389720e-01 -1.428851379175280e-01 -1.098637221879920e+00 -1.514115944100120e+01 -3.997867152468980e+00 1.926736020692510e+01 3.182059523652050e+00 -1.878696122769460e+01 -2.037225647171810e+01 -2.525319448922870e+02 -6.541187163682530e+01 5.997373834256399e+02 2.676468877629580e+02 -2.162646066318250e+02 -4.122274734310440e+02 -3.584287388298700e+02 -6.287776493875820e+02 3.234653603322630e+03 1.708512593874380e+03 -2.727209058828810e+03 1.033810889939680e+03 -7.805596568289660e+03 -6.217798368030160e+03 5.313748576584260e+03 3.782843343209730e+04 -6.327484327593841e+04 -1.061552540069060e+05 -2.166129924583750e+04 1.334816983273110e+05 2.349340167555280e+05 -1.858449942928970e+03 -1.503039371950090e+05 3.974641964015988e+01 -6.098888036471162e+01 5.695862343246636e+01 3.662466881845616e+01 4.564119577544508e+01 +-1.809019814601920e+01 -6.318546075726380e+01 3.502313213382470e+01 2.537223513907520e+01 2.139592943381480e+01 6.497971721711360e-02 -2.541186757927500e-01 1.331003658270460e-01 -1.149611183868250e+00 7.191503838203580e-01 -7.984961611912481e-02 -3.034047471169860e-01 -3.752559589532610e-01 -1.459226938296720e+00 -8.074197858798611e+00 -1.749726257636480e+00 5.068428107922120e+01 1.870829404153490e+00 1.189599350957090e+01 1.056999138261870e+01 1.815394425479030e+01 -8.770611613711820e+01 4.766163355057220e+02 -5.835197574323640e+01 -6.412462403239050e+02 -5.534327678560210e+01 -5.714475346906891e+02 -1.916294922174240e+02 -2.059172424432570e+02 2.152982801219270e+03 -3.197765552742720e+03 1.214725535748060e+03 2.979752928144600e+03 -1.059319412352340e+03 4.010636576154850e+03 8.730065384619330e+01 1.416071470392590e+03 -2.480004127031560e+04 4.130113532056310e+03 2.696725909732280e+04 1.350230086967440e+05 -2.104408453509880e+04 -1.870080707984100e+05 9.258425664851280e+03 2.270199436544050e+04 3.874358737148040e-01 -9.538899256479260e+01 3.295543854351155e+01 5.880075690806045e+01 1.425146633849586e-01 +-6.287562290750431e+01 -1.256743566101110e+01 1.186515639771760e+02 4.448885777059110e+01 -8.655564354879640e+01 1.595312781983040e-01 1.110252834715520e+00 -6.728476391469840e-01 -4.767156094912900e+00 -5.684009350323000e-01 4.579771722243120e+00 -2.456192762060000e-01 -2.776347381266540e+00 2.020337937589390e+00 1.243352952853730e+01 -4.866495322917700e-01 -6.829757251604780e+00 3.109726419700340e+00 1.639409904201660e+00 5.336533994115300e+00 -3.830578054157360e+00 -1.581757722751310e+01 -1.395663345783050e+02 -9.372283713117540e+01 1.346416062603650e+02 5.310234552809910e+01 1.764352528448100e+02 -5.583382655188281e+02 -1.671614656241800e+02 -1.155396041321240e+03 4.943126679254260e+02 1.027179627044370e+03 1.635112143739060e+02 4.849942865254680e+03 -6.899574251683660e+03 6.643786277678040e+02 4.566027778907500e+03 5.214306944633080e+04 3.540346669080600e+04 7.892295323196100e+04 8.273562649930600e+04 -2.596956367011940e+05 -1.488814354406500e+05 9.783358918515230e+04 4.433509034746130e+04 -4.441209222489129e+01 -4.478147672621296e+01 1.165766141987243e+02 7.791327490368327e+01 -1.078098706882099e+02 +-1.129050987598760e+01 -1.064541855473100e+02 -7.128503516512480e+00 -6.453299364158001e+01 -1.211842272514140e+02 -1.432994958956060e-01 -4.920505992800340e-01 6.006413098366169e-01 3.461329088596560e+00 -2.998490277733280e+00 -7.466558029079150e+00 1.444037214220510e+00 2.664068255392900e+00 6.349796872002090e+00 -4.233220413417680e+00 1.174955929427830e+01 -1.296278332359900e+01 -1.212974652006810e+01 4.615816393256650e+01 1.222731370360360e+01 2.199633528849840e+00 1.197655633479170e+02 4.185118414251960e+02 -5.410074419928320e+02 -8.011246407469890e+02 6.864786471573329e+02 -6.262561405889981e+02 9.465933235349200e+01 9.927815158125890e+01 3.610725123550870e+03 -1.046068383906190e+04 -2.462571483744750e+03 3.209910271331160e+04 1.012499832057500e+04 4.447909159349940e+03 -1.430989259072110e+04 -1.323291979818500e+04 1.316261475411740e+04 2.834634933114450e+05 2.630501465736330e+05 -8.645569870102340e+04 -2.053856359685850e+04 -2.369991590369040e+05 -2.965843834083010e+05 -4.409599532396930e+04 1.347335082570862e+02 -1.666426990810843e+02 -8.727053995175037e+01 -7.345910633318029e+01 -1.069741498356160e+02 +1.320973530791700e+02 1.133744177141020e+02 6.187724893682460e+01 -1.036257536830240e+02 -6.711739425491170e+01 -2.361802771282950e-02 2.852818677612850e+00 -5.763113597522780e-02 -5.754645017157180e+00 1.040226353964420e+00 -7.188164230414800e+00 8.884067862570069e-01 -3.338922522957300e+00 -1.830898005699390e+00 6.420876673786810e+01 -4.093058268227900e+00 -2.624123626170260e+01 -6.070285210535170e+00 -4.136775103420210e+01 -3.106575523655030e+00 -1.170680617250370e+01 -8.932374517039530e+01 -8.795441283927320e+02 -1.694005532298300e+02 7.289997970841830e+01 1.274307640624960e+02 1.039711213416940e+03 5.500505833839030e+02 1.011388720913690e+03 -3.338045408785700e+03 1.459457972380790e+02 -1.093001969648530e+03 8.346012452448140e+03 3.942859030732620e+03 7.209887485535430e+03 2.063913337114790e+04 1.726277649630800e+04 -4.375686580512670e+05 -4.334965941900989e+05 2.520663302832980e+04 -1.975121234131820e+05 -6.972869237695930e+04 -3.958293518819950e+04 3.157469424712080e+05 1.469868050563580e+05 1.510297172571374e+02 8.174083334624558e+01 6.050773979909467e+01 -6.935968739127078e+01 -8.738587281474005e+01 +-7.680083713548920e+01 -2.885579283049770e+01 8.230918168172470e+01 -2.879211280721080e+00 -1.502918483015010e+02 1.724684493190230e-02 2.405636998267920e-01 -5.191089978005340e-01 -3.908004839649150e+00 -1.149104213600200e+00 5.623119733181780e+00 3.202891744101100e+00 -4.198194201255600e+00 3.434108485139931e+00 1.669727873396220e+01 1.843422989710170e+00 -1.778376425248270e+01 -8.848918908776380e+00 -2.820847151335140e+01 -5.555859896695160e+00 5.906172198123640e+01 -8.815749977758810e+01 -7.073641353278190e+02 1.361368756288440e+02 2.161766946802510e+03 4.319482649640560e+02 -1.345860454878010e+03 -1.651617448977750e+02 -7.951328420274290e+02 2.064063700098160e+03 5.963440573047770e+03 8.486607123360481e+02 -2.151883495306340e+04 -1.547872222331930e+04 -5.826866815020149e+02 8.289831536661310e+03 2.767385574431240e+04 -3.130380986270620e+04 1.432236375805380e+05 2.662252894939030e+05 -2.028384328729530e+05 -8.671824378835870e+05 3.489184006508940e+05 7.166138082697390e+05 -4.161462700086611e+05 -9.509749589540242e+01 -6.239116927882034e+01 1.355811944826567e+02 1.045509318465184e+02 -2.542652647320133e+02 +2.092015377584270e+01 -6.818146651595410e+01 -3.962051090650320e+01 6.298697276595180e+00 4.978455687558160e+01 -2.133167764421440e-03 -4.228408643390770e+00 -1.574679657025820e-01 4.652489412972160e+00 1.733331459289110e-01 9.950307502565490e+00 -1.837649610790410e-01 1.670753494312190e+00 -5.452686146305620e-01 -9.939087460650070e+00 -2.288461945407100e+00 5.371501324556300e+00 -1.030098894662700e+01 1.110409318938780e+01 -3.379978051391610e+00 -2.077708918933370e+01 -1.740409212661940e+01 6.179426972594830e+02 1.202112107144330e+01 -1.272542035621630e+03 -1.693409267633910e+02 -1.215662561898050e+03 -3.769491663120790e+02 -2.471368250515080e+02 2.460931072666510e+03 -6.112302974891570e+03 5.576028754777240e+03 1.494463766585660e+04 -5.844549337907069e+02 -4.023838198942170e+03 1.828075889404760e+03 -6.856904185154880e+01 1.472734042646860e+04 -2.422000894715169e+04 -1.750059740610240e+05 1.824411937467380e+05 -1.162243993332650e+05 -1.546180026284920e+05 1.457903320438880e+05 7.260952292331720e+04 3.943660694116207e+01 -1.003457748667055e+02 -4.164853601174104e+01 3.976746887667212e+01 2.857221230025209e+01 +5.549236330002110e+00 8.510464271612239e+00 1.499915930872850e+00 -5.718076776176819e+01 -1.073400737021230e+02 1.913734210571670e-02 -1.897976106885310e+00 9.474353027541720e-02 6.559895938589190e+00 3.847861539699660e-01 -1.197530597842370e+01 -2.502985321272610e-01 1.021236923490620e+01 2.075785921157220e+00 -6.506928209049970e+00 6.234279325535130e+00 1.752790175510280e+01 -9.361615516391020e-02 -3.637988402046640e+01 -1.035563439659020e+01 -2.104567867330320e+01 1.590829936726210e+02 1.463762464824570e+03 4.385982942807070e+02 -1.722479327485010e+03 -6.585308438558330e-01 1.139079783125020e+03 -8.350487082617450e+02 -7.343631692232960e+01 -4.728152000583490e+01 -9.143160143408950e+03 4.266010242928260e+03 -1.001379527078610e+04 -3.570221809676630e+03 2.321762918844290e+04 -1.378614329552220e+03 -1.252462675350270e+04 -9.977546699884468e+04 -2.165451322108980e+05 -1.244428306954970e+05 1.647110199826280e+05 -6.868788643158780e+04 5.939294657377000e+05 3.361439704050320e+05 -5.152691654531129e+05 7.005560538924354e-03 -2.994889224868999e+01 1.379153078197083e+01 -5.778826551302973e+00 -1.509172064436118e+02 +-7.916671728129339e+00 4.492823948998120e+01 -2.321361896168350e+00 -1.307990846578830e+02 8.765869130093630e+01 -9.432882458046210e-02 1.611005810242830e+00 -1.492405431125900e-02 -4.882611306436191e+00 1.355693318261030e+00 7.347697810758220e+00 -1.005947608673520e+00 -4.361056799092970e+00 9.247886198515159e-02 -2.009908475018450e+01 -8.766169433333260e+00 6.434501739699240e+01 5.061307399216700e+00 -8.580659555328150e+01 8.467487932199029e+00 4.795338088214070e+01 1.223215802782500e+02 2.099492630433860e+02 -1.899923297323580e+02 -8.744126753927590e+02 1.763805850118000e+02 1.138206840449200e+03 -5.264380804364580e+02 -9.034346921159790e+02 -4.059105563840720e+03 6.875493804896340e+03 1.735011124704730e+04 -4.579734146321170e+03 -9.297778126741820e+03 -2.341425160868980e+03 -1.554197660004220e+03 8.525873364765690e+03 1.618272281833870e+04 -1.029347626249580e+06 -1.377874758793990e+06 1.133230497940440e+06 1.535001290882850e+06 4.483416847289580e+05 -1.249958276970500e+05 -9.474144957910458e+05 -9.177308441563005e+01 1.716609154039195e+02 1.202551244452341e+00 -2.251239259883857e+02 1.329545258333232e+02 +-7.802632807816740e+01 -6.845340364662910e+01 1.356713670586950e+01 6.429559291889871e+01 5.969112686840559e+01 -1.476459646859460e-01 -9.014179718702729e-01 2.539243605349720e-01 6.578331994696370e-01 6.567788654511670e-01 2.672971790084560e+00 -4.045417196641020e-01 -2.480889831451430e+00 -2.173085187939530e+00 -6.149384313374290e-01 1.237555532875510e+00 3.398910583700700e+00 3.748468846399340e+00 -1.356194023597960e+01 3.576828207684910e-01 1.028514022166650e+01 -2.452974645090860e+01 1.472219899103320e+02 3.531820910869280e+01 -1.830872227158560e+02 -7.121290468102021e+01 -3.227075248363260e+02 -1.353082919292390e+02 2.733126427158990e+02 2.841383806359940e+03 -3.265593290646150e+03 -4.267522007397480e+02 1.466201562416410e+03 -2.517201653687010e+03 1.254021916995560e+04 1.578186339790410e+03 -1.196054098260550e+04 -5.449534436381410e+03 6.576862020272011e+04 -8.695350896731610e+04 -8.814270606378430e+04 4.587074072723950e+05 7.623642768318400e+04 -3.517609551203240e+05 -4.378004867922440e+04 -5.681797561372628e+01 -9.779539200282534e+01 1.443245457550560e+01 1.006885844130784e+02 4.141105727390936e+01 +-8.073601889023701e+01 -1.294665120866080e+02 5.945805590714150e+01 -2.898290131951680e+01 -1.137372595027620e+01 1.219346386197720e-01 -3.839491851396980e-02 -3.595476170701780e-01 8.224162070888551e-01 3.344070630946880e-01 -1.361143505206730e-01 6.625530309825680e-01 2.537011728158460e-01 -4.266564294031260e-01 -1.194978121256970e+01 1.737482385185800e+00 2.043919378151330e+01 -4.788563396789360e+00 -3.474946133830100e+01 -4.220943925467510e+00 2.517221961878410e+01 1.060184179513230e+01 1.781504656839610e+02 1.365399582956040e+01 -3.400000871925320e+02 4.642900563873431e+01 3.718217200852840e+02 1.563519292553870e+02 -4.059289015912770e+02 1.917350342938080e+03 -2.168254395331960e+03 -5.048353631651640e+02 7.841144679334910e+02 -1.920899103395900e+02 7.535043890794460e+03 -9.790152729192910e+02 -3.407548179745761e+03 -2.289116277601350e+04 2.424830526185240e+04 -1.711510685927520e+04 -3.676143854672500e+04 7.968742284328659e+04 -3.199123493424850e+04 -3.494703283466890e+04 3.043202096109460e+04 -6.209159849717116e+01 -1.614908073286566e+02 5.757761883838479e+01 4.637524166135631e+00 -3.243304600499138e+01 +weight:Ti:1: +-1.900909743994830e+01 -7.578770479490130e+00 -3.218496428548700e+00 -4.236167744297790e+00 -1.186749689073690e+01 5.376081602840550e+00 -6.790956567542070e+00 -1.773830000868000e+01 -5.501967698076490e+00 -1.126457217402020e+01 -9.679843884554650e+00 -4.136760185943520e+00 -5.854885706629030e+00 -6.673888840718900e+00 -2.988839238536750e+00 -9.253564488744130e+00 -2.641721529732370e+00 -8.536185712280711e+00 -5.034707016809750e+00 -7.113274560516300e+00 +weight:Zr:0: +2.533572249648930e+01 -3.104581412524160e+01 8.841104450754280e+01 -7.985007792792420e+01 1.105808295039840e+02 -2.253538179994260e-01 -1.217589435913240e+00 -3.123739899897850e-01 9.157750022278430e+00 -6.194932975999620e-01 1.805558285462210e+00 9.357252380200199e-01 -8.814314612982440e-01 -5.372602165349510e-01 -1.992290532411720e+00 -3.180677179120500e+00 -7.224133471766901e+01 1.155030255834780e+00 2.075891577317090e+01 -5.232664886315670e+00 1.524105164832800e+00 -1.458171074797400e+03 6.080706785724720e+03 2.667380590374640e+03 -2.816532409598860e+03 -2.266503801594660e+03 -3.497749759328590e+03 -1.121776586769620e+04 -7.879967440006579e+03 1.386491948216740e+05 -3.193806071289290e+05 3.308221046077160e+04 6.743087983549030e+05 1.806390176571200e+05 -3.207206812968620e+05 -1.175492428241280e+05 -2.019157932932850e+04 1.339548490080990e+01 -1.551532847085550e+01 9.935243320837451e+01 -9.381032226564771e+01 1.259985684965357e+02 +8.641356211895409e+01 2.926871756471990e+01 1.137002479624610e+02 -6.088770796726430e+01 6.856146552249691e+00 5.032351871125780e-01 8.187734713481200e+00 -3.476244749478940e-02 -7.683172824505160e+00 -8.962907555979780e-01 5.163687504426310e-01 -5.533027836530370e+00 5.380657254803910e+00 1.863276616282680e+00 -8.995095022460541e+01 -7.288066972238700e+00 8.405780166521951e+01 5.110412820173250e+00 -4.475402613800050e+01 3.056775458291590e-01 -1.966026700692910e+01 -6.044195576037370e+03 1.094040144482330e+03 3.434070247275919e+03 -4.324493055396300e+02 2.396835704792020e+03 -4.786326256678370e+03 -5.413992175022420e+03 -2.702704511838280e+03 1.394418979423900e+05 3.944325141044279e+04 -7.188166063628149e+04 1.418586533975730e+05 2.230081550297510e+05 -7.428337596593521e+04 -2.675348378012910e+05 -4.628800797585280e+04 1.130323785646560e+02 3.502541884152883e+01 8.823797097404974e+01 -1.180913281083844e+02 -1.029789795456498e+01 +8.182902023347150e+01 -8.502416465112761e+01 -2.763321450364950e+01 -1.313909805815120e+02 5.463117835242790e+01 -3.782161893922071e-01 3.335583887237500e+00 2.888202736469640e+00 -7.193511304589880e+00 -1.240613513989550e+00 -2.525794255058170e+00 -6.080916633394290e+00 3.079661108116500e+00 5.082544529122120e+00 -2.845369664618080e+01 -5.691066249022370e+00 5.831268688342400e+01 1.650423069905090e+00 4.340558836334050e+01 4.057624699330630e+01 -4.956388161707650e+01 2.471787602550810e+03 1.440741355003530e+04 2.241189533780660e+03 -2.903320384580420e+04 -7.600180707459649e+03 2.684462629754650e+04 -1.419309127842040e+03 -5.611970822069090e+03 -1.583688341174910e+05 -4.652870961930530e+05 -4.888759958784170e+05 3.488465566479620e+05 5.842197530580350e+05 -1.513214383617390e+05 9.028378709143749e+04 1.572594959847890e+05 1.317973513728643e+02 -3.183767987119257e+01 -1.043035336997356e+01 -1.788886889820495e+02 -1.339410350013497e+01 +-5.652441775088680e+02 -3.129914392467210e+01 5.776487271895490e+02 6.648560055409160e+01 -1.439142742809110e+03 7.303517222923140e-01 -1.986755880395500e+01 6.181443845570690e+00 3.085984797843680e+01 -8.283096136717610e+00 -3.660476730408280e+01 -2.524588834830200e+01 1.318575482677720e+01 4.176612923056790e+01 9.283533384778779e+01 -7.182594840793200e+01 -2.254176428654160e+02 -1.025976171903940e+02 1.611287027554690e+02 3.895800750604409e+02 6.426095247283079e+01 4.498850293159150e+03 -1.462349405161030e+04 -2.518915996673100e+04 -7.265862062220550e+04 4.172752544042370e+04 2.987993108002130e+05 -5.736070620427340e+04 -1.589440191723990e+05 -1.399372096816560e+06 -4.839223894563860e+04 2.825626450509210e+06 -1.687356257140730e+06 8.277560578207459e+06 -2.062383216276100e+06 -9.599817498706000e+06 3.392792196540230e+06 -3.264002378786422e+01 -6.629362463611876e+02 -1.919215048310130e+01 1.738528692222605e+02 -8.100975145711094e+02 +-5.431631319817260e+01 -3.628324047087360e+01 1.022210382717950e+02 -1.074838507269040e+02 -2.831943351413090e+00 -1.988238481861890e-01 -8.861289582437939e-01 -2.659934829782150e-01 -2.500791955145240e+00 -4.659806866606560e-01 3.926169295504710e+00 2.669166718326410e-01 -1.514094441740170e+00 1.034511626848980e+00 6.820065074437121e+00 7.932716071919410e+00 2.180195590260740e+01 1.978786508820320e+01 -2.732010728150630e+01 -9.474679834058371e+00 1.360591611527890e+01 -1.035706138546610e+03 7.017440123881720e+02 -6.953359657419940e+02 -5.295377159648910e+02 1.137939133817210e+03 -3.485970789141290e+02 -3.210992515023680e+03 -5.762571673570000e+01 2.747991946789470e+04 -5.128063482846500e+04 3.520300450792160e+04 4.437774556615860e+04 -1.709565787239910e+05 -1.757127494146750e+05 1.822865848646780e+05 1.322706507800000e+05 -6.823778558801978e+01 -2.250810945077585e+01 1.119819809206000e+02 -1.217369676067614e+02 1.346314014865552e+01 +-3.669941545939720e+01 -8.405586768963340e+01 8.692672852590420e+01 3.985890209828150e+01 8.319750257128629e+01 -7.887057799613520e-01 -5.520154317958050e+00 3.762045115966520e-01 2.773079096577780e+00 3.369996096451810e+00 9.292037353957291e+00 -5.032923222293260e-01 -6.373844844165419e+00 2.334757531809900e+00 5.619931100129070e+01 -4.453094727354520e+00 -2.306287892302360e+01 -2.595764677221580e+01 -9.529921264066989e+01 3.852844185321880e-01 5.783284185778750e+01 3.986431492895560e+03 -1.532710219721710e+04 -2.227510481912310e+04 2.046059979317870e+03 1.353745934057660e+04 -1.092753370052650e+03 5.584268784963220e+04 3.919881477473020e+04 -6.221728732152170e+05 -2.133437162841550e+05 -3.634587471619811e+05 1.106570454775120e+05 1.617775128979920e+05 -7.156897525130800e+05 2.336653838425920e+05 5.313218262254350e+05 -1.570427171455060e+02 -3.300252397580416e+01 2.032969299259227e+02 9.261314953642727e+01 -1.656667663289629e+01 +4.071084977766680e+01 -3.225883971466690e+02 -2.375031277591230e+02 -1.144178314279990e+02 3.949278167358970e+02 -2.327326862841910e+00 -1.997338673727920e+01 1.175739111677390e+01 4.996803588453490e+01 -2.194751719287660e+01 -5.309675785043421e+01 2.778685283616090e+00 1.911111627596840e+01 1.744384392108320e+01 1.322852126122420e+02 -1.391581651419830e+01 -1.950757677292500e+02 -1.134007478261480e+02 -9.985415441581139e+01 2.464424565825630e+02 2.542236329797270e+02 -1.110434420152410e+03 -3.040151344108270e+04 6.801164885510380e+03 -2.810289094479380e+03 8.192168112080690e+04 1.627059952332300e+05 -5.848126177715840e+04 -1.170526778773960e+05 -2.924793255307260e+05 5.657072556399970e+05 -1.160747035645160e+06 -1.037995892636170e+06 1.324813413756760e+06 5.914431119804890e+05 -5.122684826753260e+05 -2.212069483141570e+04 1.310701958000760e+02 -2.236101109794340e+02 -1.896886828639565e+02 -1.791410593088798e+02 2.135917914953256e+02 +-8.305346344791120e+01 -3.235620238557810e+01 1.540280898552070e+02 -8.505069184329680e+01 -8.864670528524121e+00 4.186669782715560e-01 2.167213368682270e+00 -3.963222117224930e-01 -4.180821628950010e+00 9.786501790988951e-01 2.759223243589140e+00 -2.376728776775800e+00 -2.207928709370440e+00 1.370561494773690e+00 -6.812936025730320e+00 -9.797735484929360e+00 4.795569195576270e+00 8.433143089998490e-01 1.755956390953760e+01 6.235057554831759e+00 -4.915300325225690e+00 4.386018681689310e+02 8.742558615017920e+02 -7.459525176599220e+02 -3.482673795419380e+03 9.701066633749530e+03 8.927499699024700e+03 -1.007378842613340e+04 -1.248205754978190e+04 2.137476925711530e+04 -3.846197532195120e+04 2.350862940428050e+04 1.889340182611190e+05 -1.613308006095720e+05 1.565764464358310e+04 1.305963361619490e+05 -5.881336805585201e+04 -7.360400305758367e+01 -2.839923413629685e+01 1.390331604361033e+02 -1.166881156667366e+02 2.122752542365443e+01 +8.510909239982939e+01 -1.050260911362220e+02 6.030975416867520e+00 -8.419401053125510e+01 7.324867679391581e+01 5.088133446817030e-01 -2.144620786387980e-01 1.505617320863300e-01 3.870175605355199e+00 -4.128049110812650e+00 -8.503334831034071e+00 -4.076570262352580e-01 8.337258283742670e-01 -1.656775376069380e+00 -4.081917850165220e+00 2.066031539450400e+01 -1.682683308594650e+01 1.213477846358850e+01 4.235722023829860e+01 8.311850485217191e+00 1.225552817962400e+01 -1.670858301911210e+03 1.548132226476110e+04 -2.792768805516890e+03 -2.310328624289540e+04 -1.229076194298200e+04 8.893642787684799e+03 3.620671322443900e+03 -6.958421306423869e+03 1.414849008530630e+05 -5.864480519843830e+05 4.968700870485260e+04 7.832729249462371e+05 3.148801691625880e+04 -2.353638238153300e+05 1.608464356260650e+05 -3.508851526595750e+04 6.689888434954611e+01 -9.563488361383232e+01 1.116335860897162e+01 -1.034659998054885e+02 8.399127754279677e+01 +-1.114570099991160e+01 -6.926243212951100e+01 9.386496431939491e+01 -2.295510931757380e+00 -6.046763404444400e+00 2.898642905444560e-01 -1.625310241796620e+00 -1.218170412307850e+00 7.489729742415911e+00 8.361561362691129e-01 -1.115938591585690e+01 6.679754821153540e-02 5.785064857006460e+00 -4.044742253368670e+00 1.073715686572580e+01 1.033453524594790e+01 -5.877278601248240e+01 -3.356635731688480e+00 8.570736512869060e+01 -1.239987551502300e+00 -4.267012445092090e+01 1.384890831540650e+03 -5.063147634513090e+03 -1.569683963456500e+03 2.129101312565610e+04 5.159650055402110e+01 -1.413253003623380e+04 -8.469153207531510e+02 -3.104436472061270e+02 -1.274776881436820e+05 2.958284670480920e+05 8.592025056220101e+04 -8.455860485870300e+05 -3.204900083786110e+05 -1.026291950041460e+06 3.318209425356080e+05 1.522454093638370e+06 -3.778296971893572e+01 -3.995218818506164e+01 1.081103567856049e+02 -8.891857970473525e+00 -1.566634417513517e+01 +-1.352697655693660e+02 -7.553260847079370e+01 1.786105945396520e+02 1.636313459349920e+00 -9.732920165993470e+01 -3.806781170792960e-01 -6.335260275640000e-01 1.096623130060620e+00 -8.604275384802211e+00 1.507234884406940e+00 1.212456310573770e+01 -3.268968127116560e+00 -5.992761003730370e+00 2.723683218198630e+00 6.223975209537880e+00 6.504645083849810e+00 7.333398035742310e+01 -2.631914631181600e+01 -1.147578612525850e+02 3.036217850565730e+01 5.857762112134800e+01 1.500014061192680e+03 -2.823171430138920e+03 4.200336833759470e+03 -8.499746884217300e+03 -7.399598459308570e+03 9.185462737591170e+03 1.140137183175320e+04 5.753186452408380e+03 2.023196157306570e+04 2.985571779456290e+05 -6.056963200121589e+05 -2.751624275131960e+04 7.414814251577060e+05 3.856959782321730e+05 -5.443630306958930e+05 -4.367232882232639e+05 -1.050676134248258e+02 -8.984025763253389e+01 9.379297081568865e+01 -7.472614286653091e+01 6.220076959430686e+01 +-3.615132092490310e+01 -3.858340262737140e+01 1.634387171920810e+02 -5.680771453886280e+01 2.380907581661240e+01 -7.055083207411091e-02 2.116798575043050e+00 -5.757518389320500e-02 2.062120025660740e+00 -4.427217969752861e-01 -4.587169063560870e+00 8.569009610394041e-01 5.586321813120700e+00 -5.247797129652870e-01 -1.963974356071750e+01 -8.708569850782829e-01 6.928543384793290e+00 -5.185002494593450e-01 -1.373621411619710e+01 -5.705775320716000e+00 -8.306890053043070e+00 -2.245413685718130e+02 2.755077502611750e+03 2.575808566495810e+03 -3.094664279216610e+03 -5.039940922691360e+03 4.097637156460780e+03 6.865879737984740e+02 -3.332723417658070e+03 1.047610726556520e+04 -5.811147047617920e+04 -1.266588731691560e+05 -1.061037605449640e+05 -2.815624151483800e+04 -6.291924571268640e+04 1.600516630465110e+05 1.994397826501680e+05 -5.240050768041203e+01 -2.732329896989961e+01 1.704830869255617e+02 -7.399627421789091e+01 3.693020881236266e+01 +7.226963234590970e+01 -1.131292657040380e+02 3.268696250613230e+00 5.627277170054580e+01 -3.427120227200370e+01 2.734003672029740e-03 -2.906310742205300e-01 -2.225861856268850e-01 6.586741206415870e-01 5.848937088477630e-01 -6.548934844319469e-01 -6.519043364624360e-01 9.562630677798431e-02 2.193083987055510e-01 2.315122669410550e+00 3.125822581201339e+00 -5.885061699930230e+00 -6.350385021559251e+00 4.197115414215730e+00 6.290329062273900e+00 6.565397925628610e-01 8.739910288604840e+02 -1.895228713772440e+03 -1.677744955179130e+03 7.062956153365851e+03 3.664908560289650e+03 -4.256519163487670e+03 -2.283625686598360e+03 -3.144907367753580e+02 -3.667040237896290e+04 1.673278305812640e+05 1.429250380308550e+05 -6.902302039536190e+05 -2.801116064591860e+05 5.949695690657950e+05 1.443847666529710e+05 -5.736033864491480e+04 4.653755433477311e+01 -6.274448840552078e+01 1.107281049566416e+01 -1.853146365973967e+01 8.876760616316000e+00 +-4.080642934953081e+01 -6.516640400179880e+01 2.484641241756290e+01 -7.823170980354840e+01 3.925038674887500e+01 -1.199200598880390e-01 -1.189389535467320e+00 -3.630313211277510e-01 6.026203559571330e+00 6.953669584012189e-03 -1.211331625001940e+01 -8.283560399191811e-01 5.862229443015400e+00 1.238628474245990e+00 9.194561117202550e+00 6.274293734474210e+00 -4.597991044277630e+01 -1.057632295744130e+01 8.567261031292701e+01 1.567821971324760e+01 -3.697704388358490e+01 2.702141318098890e+03 -4.013475832320740e+03 -1.823300815517460e+02 1.217734350465610e+04 2.903060891279720e+03 -1.450507323096950e+04 -1.677469333268600e+03 6.117578165518090e+03 4.462250140329540e+04 2.790494985020640e+05 -3.475435798661080e+05 -2.533266658411400e+05 4.209619921241840e+05 -2.367655556436450e+05 -1.996473301191440e+05 3.429295831952530e+05 -2.698119327323881e+01 -1.226503290831413e+02 4.004529089926289e+01 -9.204578406853539e+00 2.413184289179218e+00 +1.873285799630320e+01 -1.167334386914860e+02 2.206341383109620e+02 1.993026904498310e+02 -2.600559688160810e+02 2.507809313862140e-01 1.371977059217770e+00 -2.589674095079710e+00 -5.137241402607950e+00 7.102121862890379e+00 1.432424381160370e+01 2.358434606006580e-01 -7.431225192281209e+00 2.536280585420020e+00 -1.099315868597960e+01 -2.221065250728070e+00 3.639816831869160e+01 -1.087726459647240e+01 -9.234935903671770e+01 -3.548875423462670e+01 3.340327938565450e+01 -1.030326299001860e+03 -2.034101980394670e+03 4.992000555709520e+03 -2.296303896406780e+04 -1.162606232588940e+04 6.234539324912170e+04 1.529673701716010e+04 -3.617092876033260e+04 9.557403397150971e+04 3.038216250263159e+05 -2.176382559912470e+05 2.564076797401850e+05 -1.222746193955690e+05 6.685876473124009e+04 7.879165108633500e+04 -4.744603439128560e+05 3.291428128845545e+01 -8.585287104530059e+01 2.339440544796711e+02 1.725094379192837e+02 -2.748862509561272e+02 +9.845444206406150e+00 -2.415750770672310e+01 5.034391247360530e+01 -4.425497839507670e+01 2.735250906830970e+01 -8.370945088175161e-02 -2.471574962532890e+00 6.966916358946820e-01 6.756892242329070e-01 2.608941732570010e+00 4.265807029744230e+00 4.808373016046690e+00 -4.109588936109370e+00 -3.073745527963980e+00 3.039293463313370e+01 -9.337351059041030e+00 -1.023622691494740e+01 -4.466709596864100e-01 3.153921890443010e+01 -8.168954600867051e-01 -1.836802651802990e+01 -7.937674266264991e+02 -1.163123022283180e+04 -4.325923038500940e+03 -5.224164902633120e+03 -2.961725474125090e+03 -8.304411116361360e+03 -1.124142827178260e+03 1.642841535246150e+04 1.132620837658520e+05 3.368271807678040e+05 3.071118192248400e+05 4.628944159999200e+05 5.246782046822310e+04 -4.960772198359710e+05 -3.095590715698010e+05 -2.433691743004140e+05 -4.577295045811584e+00 -1.021606321873773e+01 6.093166505971111e+01 -5.700796564855787e+01 4.584992629845553e+01 +-6.675084179059741e+01 -5.319611005507720e+00 7.491875537438330e+01 -5.237096066083861e+01 3.717211864140010e+01 -1.409763988324450e-01 -1.521419828704840e+00 2.130185158959690e-01 -4.156290734829960e+00 -2.727335324009150e+00 6.699849182115780e+00 2.051772232537070e+00 -3.868040913321810e+00 3.463354324343020e-01 2.740797373496460e+00 2.860277490234231e+00 3.262103918360760e+01 5.009000163850530e+00 -3.901916736240690e+01 -7.145170617094230e+00 1.542786044384030e+01 7.154011856241409e+01 1.299020043306170e+03 -2.029247496088070e+02 -9.094679091607150e+03 -1.309859707266300e+03 7.295831527249220e+03 -1.406740322771730e+03 -3.634412782314169e+03 2.799416361678240e+04 -6.686518973624610e+04 -5.325166001392089e+04 2.057682253131430e+05 1.596981733699540e+04 -2.558655388800600e+05 5.472623514840820e+04 1.509683891199390e+05 -7.955180069688193e+01 9.319937153787935e+00 8.528410039045046e+01 -6.628391842334683e+01 5.353816593201972e+01 +1.552251191146970e+02 2.926168344795230e+01 -1.975963221781200e+01 -1.767123937750160e+02 -4.064599841989800e+01 -4.061069620099700e-02 3.102679823058760e+00 1.562394981650100e-01 -8.991948619788200e+00 3.036354312209300e+00 -4.560676602938530e+00 -2.121975314751200e-01 4.260683318184590e-01 -2.284711567035990e+00 2.630899015700080e+01 -1.377247327115220e+01 4.121986751814490e+01 1.555293878059420e+01 -1.526606696261670e+01 -2.150435607700940e+00 2.034345473156460e+01 -1.314812987963530e+03 -6.655539714447120e+03 5.876087935861181e+03 5.460882669941640e+03 6.319618759495910e+03 8.953514047677760e+03 9.670636612518680e+03 1.501097343014040e+04 -3.197182430829710e+05 -4.059529176635650e+04 2.069408059291140e+05 5.714902553126360e+05 -2.165961111026020e+05 -3.394478504822790e+05 -2.206524231481800e+05 -3.721550556458730e+05 1.484236100637929e+02 4.837861034425413e+01 -1.034516753470562e+01 -2.021774280076698e+02 -5.296186530802704e+01 +-1.296586666798590e+01 -9.126528123641710e+01 1.114857831083380e+01 -6.728714614183200e+01 8.612466627553160e+01 1.889118996778360e-01 2.258019271133150e+00 3.929291837353300e-01 -2.467956398573290e+00 -8.006567452709210e-01 3.878406343686240e+00 3.512346206158590e+00 -4.753836015830060e-01 -2.161700050088120e+00 8.009353797204399e+00 -1.225645636759810e+01 -5.899202175307560e+00 -2.130163905959490e+00 1.453550632648960e+01 4.167032623664090e+00 -1.450518723354680e+01 2.572283568219910e+03 -4.272923240955890e+02 2.832332706192290e+03 9.810424981300040e+02 1.836452288374570e+03 -1.869428532828810e+02 -3.878513276928310e+03 1.427922634890410e+03 -9.326818311252800e+04 3.157656622121350e+03 -2.687783976236190e+04 8.793991398604171e+04 8.123241501170451e+04 -6.418348147866150e+04 -2.985051950682400e+04 -2.920583833894430e+04 -3.228022285917200e+01 -7.906163904779172e+01 2.073573536270432e+01 -8.040165986006356e+01 1.061998645840528e+02 +9.959709062534900e+01 1.087502667955940e+01 6.436094130202110e+01 -3.606892523904480e+01 5.290601532225030e+01 -4.193056943169590e-02 -3.898885751261870e+00 3.949896656482370e-01 3.662370941675750e+00 -1.778355788278790e+00 2.930598927783389e+00 5.714011717804970e-01 -2.466140683777800e+00 -4.174264058702390e-01 -3.039258956469940e+00 -8.248792926836001e-01 -1.852127217208240e+01 3.803546859375490e+00 -1.847726641274240e+01 -2.560674697863870e+01 9.995432341534119e+00 -2.340208868175690e+03 5.297835251929640e+03 4.320759148084090e+03 1.167588258688800e+04 -5.817161570754710e+03 -1.725326860015780e+04 -7.965064390236350e+03 -7.323066834087200e+03 9.620006625259769e+04 -9.591248324384430e+04 7.421213722488130e+04 1.119510461026150e+05 2.931552681902420e+04 -2.000404269113050e+05 -5.578042521727410e+04 1.908442441085770e+05 8.322641687128646e+01 2.198679825560096e+01 7.123296439417778e+01 -5.345105172984309e+01 6.581547611099977e+01 +weight:Zr:1: +-8.449402603952080e+00 -6.338794008660490e+00 -3.646475639589930e+00 -4.568817240756670e-02 -7.486395335332810e+00 -3.785050765188870e+00 -3.485773491732340e-01 -5.538686152537460e+00 -7.433810976865260e+00 -5.821849208003560e+00 -3.395190456952280e+00 -8.333672632254331e+00 -3.029331386730920e+01 -8.956537722110630e+00 -3.920136298332350e+00 -6.736243977919150e+00 -9.649168312913330e+00 -8.048165313887120e+00 -6.960447300715590e+00 -9.643037059291860e+00 +bias:Ti:0: +-1.956139686368849e+00 +2.316102584868799e+00 +-5.873577280820660e+00 +2.540633238613090e+01 +2.169586324610206e+00 +-6.132550222727400e-01 +6.490063401842909e-01 +-2.951927218533048e+00 +-8.218012457375847e-01 +1.774990864410230e+01 +1.988342296137330e+01 +1.990921933487670e+01 +1.131818275713660e+01 +1.317146636683290e+01 +1.234521162759310e+01 +4.176334634524130e+01 +7.732436210630709e+00 +2.952926382581680e+00 +1.848343983326470e+01 +3.602895726219770e+01 +bias:Ti:1: +-2.511965921735320e+01 +bias:Zr:0: +1.370501580095990e+01 +2.772761128809670e+00 +5.124080364684149e+00 +9.604164800454713e+01 +2.052952479827250e+01 +-3.172235149688250e+00 +-5.149625266581623e+00 +1.816107898644540e+01 +1.763964253937473e-01 +4.436246684052568e+00 +1.092585291778570e+01 +1.491088913020820e+01 +-2.483576459966645e-01 +1.297333763833140e+01 +-3.864339565119073e+00 +4.631895807524710e+00 +2.375195292636960e+01 +1.209498628860100e+01 +2.227387923911460e+01 +8.401986227903949e+00 +bias:Zr:1: +-1.947972075332220e+01 +activationfunctions:Ti:0: +sigI +activationfunctions:Ti:1: +linear +activationfunctions:Zr:0: +sigI +activationfunctions:Zr:1: +linear +calibrationparameters:algorithm: +LM_ch +calibrationparameters:dumpdirectory: +. +calibrationparameters:doforces: +0 +calibrationparameters:normalizeinput: +1 +calibrationparameters:tolerance: +1.0000000000e-07 +calibrationparameters:regularizer: +1.0000000000e-04 +calibrationparameters:logfile: +TiZr.log +calibrationparameters:potentialoutputfile: +TiZr_output_2.nn +calibrationparameters:potentialoutputfreq: +10 +calibrationparameters:maxepochs: +10000000 +calibrationparameters:dimsreserved:Ti:0: +45 +calibrationparameters:dimsreserved:Ti:1: +20 +calibrationparameters:dimsreserved:Ti:2: +0 +calibrationparameters:dimsreserved:Zr:0: +37 +calibrationparameters:dimsreserved:Zr:1: +20 +calibrationparameters:dimsreserved:Zr:2: +0 +calibrationparameters:validation: +0.100000 diff --git a/examples/USER/rann/in.lammps b/examples/USER/rann/in.lammps new file mode 100644 index 0000000000..3f831fca21 --- /dev/null +++ b/examples/USER/rann/in.lammps @@ -0,0 +1,45 @@ +units metal +dimension 3 +boundary p p p +atom_style atomic + + +lattice hcp 2.9962594 +region whole block 0 10 0 10 0 10 units lattice +create_box 2 whole +create_atoms 2 box +timestep 0.001 +set group all type 1 +set group all type/fraction 2 0.10 486 + +pair_style rann +pair_coeff * * TiZr_2.nn Ti Zr + + + +compute peratom all pe/atom +shell mkdir ovito_files2 +dump 1 all custom 10 ovito_files2/dump.*.gz id type x y z c_peratom +dump_modify 1 element Ti Zr + +thermo 1 +thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp + +variable etol equal 1.0e-32 +variable ftol equal 1.0e-32 +variable maxiter equal 1.0e+9 +variable maxeval equal 1.0e+9 +variable dmax equal 1.0e-2 + +fix 1 all box/relax aniso 0.0 +min_style cg +minimize ${etol} ${ftol} ${maxiter} ${maxeval} +unfix 1 +write_restart TiZr.min + +#-------------------------EQUILIBRATION-------------------------------- + +velocity all create 300 12345 mom yes rot no +fix 1 all npt temp 300 300 0.1 aniso 0 0 1 +run 100 +unfix 1 diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp index 0dcf3740a6..6a100db244 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/USER-RANN/pair_rann.cpp @@ -619,14 +619,11 @@ void PairRANN::read_screening(std::vector line,std::vectorone(filename,linenum-1,"unrecognized screening keyword"); } From 7b9dfb296daf7e4147d6bb2c5e12fcd798ab1422 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Thu, 1 Apr 2021 00:35:17 +0200 Subject: [PATCH 103/542] Renamed pair style, user package: nnp => hdnnp --- cmake/CMakeLists.txt | 7 +- cmake/Modules/FindN2P2.cmake | 10 +-- cmake/presets/all_off.cmake | 10 +-- cmake/presets/all_on.cmake | 10 +-- cmake/presets/nolib.cmake | 6 +- doc/src/Build_extras.rst | 84 +++++++++---------- doc/src/Build_package.rst | 4 +- doc/src/Commands_pair.rst | 2 +- doc/src/Packages_details.rst | 68 +++++++-------- doc/src/Packages_user.rst | 4 +- doc/src/{pair_nnp.rst => pair_hdnnp.rst} | 32 +++---- doc/src/pair_style.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 4 +- examples/USER/{nnp => hdnnp}/data.H2O-360mol | 0 .../nnp-data => hdnnp/hdnnp-data}/input.nn | 0 .../hdnnp-data}/scaling.data | 0 .../hdnnp-data}/weights.001.data | 0 .../hdnnp-data}/weights.008.data | 0 examples/USER/{nnp/in.nnp => hdnnp/in.hdnnp} | 16 ++-- lib/README | 4 +- lib/{nnp => hdnnp}/Makefile.lammps | 12 +-- lib/{nnp => hdnnp}/README | 42 +++++----- src/.gitignore | 4 +- src/Makefile | 10 +-- src/{USER-NNP => USER-HDNNP}/Install.sh | 16 ++-- src/{USER-NNP => USER-HDNNP}/README | 10 +-- .../pair_hdnnp.cpp} | 40 ++++----- .../pair_nnp.h => USER-HDNNP/pair_hdnnp.h} | 12 +-- 28 files changed, 204 insertions(+), 205 deletions(-) rename doc/src/{pair_nnp.rst => pair_hdnnp.rst} (90%) rename examples/USER/{nnp => hdnnp}/data.H2O-360mol (100%) rename examples/USER/{nnp/nnp-data => hdnnp/hdnnp-data}/input.nn (100%) rename examples/USER/{nnp/nnp-data => hdnnp/hdnnp-data}/scaling.data (100%) rename examples/USER/{nnp/nnp-data => hdnnp/hdnnp-data}/weights.001.data (100%) rename examples/USER/{nnp/nnp-data => hdnnp/hdnnp-data}/weights.008.data (100%) rename examples/USER/{nnp/in.nnp => hdnnp/in.hdnnp} (81%) rename lib/{nnp => hdnnp}/Makefile.lammps (62%) rename lib/{nnp => hdnnp}/README (68%) rename src/{USER-NNP => USER-HDNNP}/Install.sh (66%) rename src/{USER-NNP => USER-HDNNP}/README (75%) rename src/{USER-NNP/pair_nnp.cpp => USER-HDNNP/pair_hdnnp.cpp} (94%) rename src/{USER-NNP/pair_nnp.h => USER-HDNNP/pair_hdnnp.h} (91%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2efd36b1f4..94f419bd37 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -116,8 +116,8 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF - USER-MOLFILE USER-NETCDF USER-NNP USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-HDNNP USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC + USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF) @@ -381,8 +381,7 @@ else() set(CUDA_REQUEST_PIC) endif() -foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-MOLFILE - USER-NETCDF USER-NNP USER-PLUMED USER-QMMM +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS) if(PKG_${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL}) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index a06850f07f..cae5de5342 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -3,9 +3,9 @@ include(FindPackageHandleStandardArgs) # Check if N2P2_DIR is set manually. if (DEFINED ENV{N2P2_DIR}) set(N2P2_DIR "${N2P2_DIR}") -# If not, try if directory "lib/nnp/n2p2" exists. +# If not, try if directory "lib/hdnnp/n2p2" exists. else() - get_filename_component(_fullpath "${LAMMPS_LIB_SOURCE_DIR}/nnp/n2p2" REALPATH) + get_filename_component(_fullpath "${LAMMPS_LIB_SOURCE_DIR}/hdnnp/n2p2" REALPATH) if (EXISTS ${_fullpath}) set(N2P2_DIR "${_fullpath}") endif() @@ -17,12 +17,12 @@ find_path(N2P2_INCLUDE_DIR InterfaceLammps.h PATHS "${N2P2_DIR}/include") find_library(N2P2_LIBNNP NAMES nnp PATHS "${N2P2_DIR}/lib") find_library(N2P2_LIBNNPIF NAMES nnpif PATHS "${N2P2_DIR}/lib") # Users could compile n2p2 with extra flags which are then also required for -# pair_nnp.cpp compilation. To forward them to the LAMMPS build process n2p2 +# pair_hdnnp.cpp compilation. To forward them to the LAMMPS build process n2p2 # writes a file with cmake commands, e.g. # -# target_compile_definitions(lammps PRIVATE -DNNP_NO_SF_GROUPS) +# target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS) # -# to "lib/lammps-extra.cmake" which is then included by USER-NNP.cmake. +# to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake. find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake PATHS "${N2P2_DIR}/lib") find_package_handle_standard_args(N2P2 DEFAULT_MSG diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index d567b141bf..7f3caebf8c 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,11 +7,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP - USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ - USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-H5MD USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC + USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB + USER-QUIP USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD + USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 2b879e9ecf..fbc78ededf 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,11 +9,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SNAP SPIN SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD - USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP - USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ - USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-H5MD USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC + USER-MESODPD USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB + USER-QUIP USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD + USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index c0236347cb..a819e6a347 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -2,9 +2,9 @@ # library or special compiler (fortran or cuda) or equivalent. set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON - VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB - USER-MOLFILE USER-MESONT USER-NETCDF USER-NNP USER-PLUMED USER-QMMM - USER-QUIP USER-SCAFACOS USER-SMD USER-VTK) + VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-HDNNP USER-LB + USER-MOLFILE USER-MESONT USER-NETCDF USER-PLUMED USER-QMMM + USER-QUIP USER-SCAFACOS USER-SMD USER-VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 545a86c04e..30f4bb711d 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -48,11 +48,11 @@ This is the list of packages that may require additional steps. * :ref:`USER-AWPMD ` * :ref:`USER-COLVARS ` * :ref:`USER-H5MD ` + * :ref:`USER-HDNNP ` * :ref:`USER-INTEL ` * :ref:`USER-MESONT ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` - * :ref:`USER-NNP ` * :ref:`USER-PLUMED ` * :ref:`USER-OMP ` * :ref:`USER-QMMM ` @@ -1416,6 +1416,47 @@ the HDF5 library. ---------- +.. _user-hdnnp: + +USER-HDNNP package +--------------------------------- + +To build with the USER-HDNNP package it is required to download and build the +external `n2p2 `__ library ``v2.2.0`` +(or higher) before starting the LAMMPS build process. More specifically, only +the *n2p2* core library ``libnnp`` and interface library ``libnnpif`` are +actually needed: when using GCC it should suffice to execute ``make libnnpif`` +in the *n2p2* ``src`` directory. For more details please see +``lib/hdnnp/README`` and the `n2p2 build documentation +`__. If *n2p2* is +downloaded and compiled in the LAMMPS directory ``lib/hdnnp/n2p2`` no special +flags need to be set besides the usual package activation. If you prefer to +install *n2p2* somewhere else on your system you must specify the path via the +``N2P2_DIR`` variable. + +.. tabs:: + + .. tab:: CMake build + + There is one additional setting besides ``-D PKG_USER-HDNNP=yes`` in case + *n2p2* is not installed in the ``lib/hdnnp/n2p2`` directory: + + .. code-block:: bash + + -D N2P2_DIR=path # path ... n2p2 installation path + + .. tab:: Traditional make + + There is one additional variable that needs to be set besides ``make + yes-user-hdnnp`` in case *n2p2* is not installed in the ``lib/hdnnp/n2p2`` + directory: + + .. code-block:: bash + + make N2P2_DIR=path ... + +---------- + .. _user-intel: USER-INTEL package @@ -1597,47 +1638,6 @@ on your system. ---------- -.. _user-nnp: - -USER-NNP package ---------------------------------- - -To build with the USER-NNP package it is required to download and build the -external `n2p2 `__ library ``v2.2.0`` -(or higher) before starting the LAMMPS build process. More specifically, only -the *n2p2* core library ``libnnp`` and interface library ``libnnpif`` are -actually needed: when using GCC it should suffice to execute ``make libnnpif`` -in the *n2p2* ``src`` directory. For more details please see ``lib/nnp/README`` -and the `n2p2 build documentation -`__. If *n2p2* is -downloaded and compiled in the LAMMPS directory ``lib/nnp/n2p2`` no special -flags need to be set besides the usual package activation. If you prefer to -install *n2p2* somewhere else on your system you must specify the path via the -``N2P2_DIR`` variable. - -.. tabs:: - - .. tab:: CMake build - - There is one additional setting besides ``-D PKG_USER-NNP=yes`` in case - *n2p2* is not installed in the ``lib/nnp/n2p2`` directory: - - .. code-block:: bash - - -D N2P2_DIR=path # path ... n2p2 installation path - - .. tab:: Traditional make - - There is one additional variable that needs to be set besides ``make - yes-user-nnp`` in case *n2p2* is not installed in the ``lib/nnp/n2p2`` - directory: - - .. code-block:: bash - - make N2P2_DIR=path ... - ----------- - .. _user-omp: USER-OMP package diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 36a7bce482..d069dc8a84 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -35,9 +35,9 @@ packages: +--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ | :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | +--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-INTEL ` | :ref:`USER-MOLFILE ` | +| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-HDNNP ` | :ref:`USER-INTEL ` | +--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-NETCDF ` | :ref:`USER-NNP ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | :ref:`USER-QUIP ` | +| :ref:`USER-MOLFILE ` | :ref:`USER-NETCDF ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | :ref:`USER-QUIP ` | +--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ | :ref:`USER-SCAFACOS ` | :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | | +--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index b074c2f8c3..d17f81f411 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -115,6 +115,7 @@ OPT. * :doc:`gw/zbl ` * :doc:`hbond/dreiding/lj (o) ` * :doc:`hbond/dreiding/morse (o) ` + * :doc:`hdnnp ` * :doc:`ilp/graphene/hbn ` * :doc:`kolmogorov/crespi/full ` * :doc:`kolmogorov/crespi/z ` @@ -198,7 +199,6 @@ OPT. * :doc:`nm/cut (o) ` * :doc:`nm/cut/coul/cut (o) ` * :doc:`nm/cut/coul/long (o) ` - * :doc:`nnp ` * :doc:`oxdna/coaxstk ` * :doc:`oxdna/excv ` * :doc:`oxdna/hbond ` diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index ed89341d0c..df57ff63a0 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -77,6 +77,7 @@ page gives those details. * :ref:`USER-EFF ` * :ref:`USER-FEP ` * :ref:`USER-H5MD ` + * :ref:`USER-HDNNP ` * :ref:`USER-INTEL ` * :ref:`USER-LB ` * :ref:`USER-MANIFOLD ` @@ -88,7 +89,6 @@ page gives those details. * :ref:`USER-MOFFF ` * :ref:`USER-MOLFILE ` * :ref:`USER-NETCDF ` - * :ref:`USER-NNP ` * :ref:`USER-OMP ` * :ref:`USER-PHONON ` * :ref:`USER-PLUMED ` @@ -1550,6 +1550,39 @@ This package has :ref:`specific installation instructions ` on the :d ---------- +.. _PKG-USER-HDNNP: + +USER-HDNNP package +------------------ + +**Contents:** + +A :doc:`pair_style hdnnp ` command which allows to use +high-dimensional neural network potentials (HDNNPs), a form of machine learning +potentials. HDNNPs must be carefully trained prior to their application in a +molecular dynamics simulation. + +.. _n2p2: https://github.com/CompPhysVienna/n2p2 + +To use this package you must have the `n2p2 `_ library installed and +compiled on your system. + +**Author:** Andreas Singraber + +**Install:** + +This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. + +**Supporting info:** + +* src/USER-HDNNP: filenames -> commands +* src/USER-HDNNP/README +* lib/hdnnp/README +* :doc:`pair_style hdnnp ` +* examples/USER/hdnnp + +---------- + .. _PKG-USER-INTEL: USER-INTEL package @@ -1924,39 +1957,6 @@ This package has :ref:`specific installation instructions ` on the ---------- -.. _PKG-USER-NNP: - -USER-NNP package ----------------- - -**Contents:** - -A :doc:`pair_style nnp ` command which allows to use high-dimensional -neural network potentials (HDNNPs), a form of machine learning potentials. -HDNNPs must be carefully trained prior to their application in a molecular -dynamics simulation. - -.. _n2p2: https://github.com/CompPhysVienna/n2p2 - -To use this package you must have the `n2p2 `_ library installed and -compiled on your system. - -**Author:** Andreas Singraber - -**Install:** - -This package has :ref:`specific installation instructions ` on the :doc:`Build extras ` page. - -**Supporting info:** - -* src/USER-NNP: filenames -> commands -* src/USER-NNP/README -* lib/nnp/README -* :doc:`pair_style nnp ` -* examples/USER/nnp - ----------- - .. _PKG-USER-OMP: USER-OMP package diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 77bf13cde6..0b25389032 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -57,6 +57,8 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-HDNNP ` | High-dimensional neural network potentials | :doc:`pair_style hdnnp ` | USER/hdnnp | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-LB ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | @@ -79,8 +81,6 @@ package: +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ -| :ref:`USER-NNP ` | High-dimensional neural network potentials | :doc:`pair_style nnp ` | USER/nnp | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | +------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ | :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | diff --git a/doc/src/pair_nnp.rst b/doc/src/pair_hdnnp.rst similarity index 90% rename from doc/src/pair_nnp.rst rename to doc/src/pair_hdnnp.rst index 3141dce317..b34c00f982 100644 --- a/doc/src/pair_nnp.rst +++ b/doc/src/pair_hdnnp.rst @@ -1,14 +1,14 @@ -.. index:: pair_style nnp +.. index:: pair_style hdnnp -pair_style nnp command -====================== +pair_style hdnnp command +======================== Syntax """""" .. code-block:: LAMMPS - pair_style nnp keyword value ... + pair_style hdnnp keyword value ... * zero or more keyword/value pairs may be appended * keyword = *dir* or *showew* or *showewsum* or *maxew* or *resetew* or *cflength* or *cfenergy* @@ -19,7 +19,7 @@ Syntax *emap* value = mapping mapping = Element mapping from LAMMPS atom types to n2p2 elements *dir* value = directory - directory = Path to NNP configuration files + directory = Path to HDNNP configuration files *showew* value = *yes* or *no* *showewsum* value = summary summary = Write EW summary every this many timesteps (*0* turns summary off) @@ -36,10 +36,10 @@ Examples .. code-block:: LAMMPS - pair_style nnp showew yes showewsum 100 maxew 1000 resetew yes cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" + pair_style hdnnp showew yes showewsum 100 maxew 1000 resetew yes cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" pair_coeff * * 6.35 - pair_style nnp dir "./" showewsum 10000 + pair_style hdnnp dir "./" showewsum 10000 pair_coeff * * 6.01 Description @@ -81,15 +81,15 @@ If provided, the keyword *emap* determines the mapping from LAMMPS atom types to n2p2 elements. The format is a comma-separated list of ``atom type:element`` pairs, e.g. ``"1:Cu,2:Zn"`` will map atom types 1 and 2 to elements Cu and Zn, respectively. Atom types not present in the list will be completely ignored by -the NNP. The keyword *emap* is mandatory in a "hybrid" setup (see +the HDNNP. The keyword *emap* is mandatory in a "hybrid" setup (see :doc:`pair_hybrid `) with "extra" atom types in the simulation -which are not handled by the NNP. +which are not handled by the HDNNP. .. warning:: Without an explicit mapping it is by default assumed that the atom type specifications in LAMMPS configuration files are consistent with the ordering - of elements in the NNP library. Thus, without the *emap* keyword present + of elements in the *n2p2* library. Thus, without the *emap* keyword present atom types must be sorted in order of ascending atomic number, e.g. the only correct mapping for a configuration containing hydrogen, oxygen and zinc atoms would be: @@ -104,7 +104,7 @@ which are not handled by the NNP. | Zn | 30 | 3 | +---------+---------------+-------------+ -Use the *dir* keyword to specify the directory containing the NNP configuration +Use the *dir* keyword to specify the directory containing the HDNNP configuration files. The directory must contain ``input.nn`` with neural network and symmetry function setup, ``scaling.data`` with symmetry function scaling data and ``weights.???.data`` with weight parameters for each element. @@ -128,7 +128,7 @@ used to print out the MPI rank the atom belongs to. The *showew* keyword should only be set to *yes* for debugging purposes. Extrapolation warnings may add lots of overhead as they are communicated each - timestep. Also, if the simulation is run in a region where the NNP was not + timestep. Also, if the simulation is run in a region where the HDNNP was not correctly trained, lots of extrapolation warnings may clog log files and the console. In a production run use *showewsum* instead. @@ -160,7 +160,7 @@ whole trajectory. If the training of a neural network potential has been performed with different physical units for length and energy than those set in LAMMPS, it is still possible to use the potential when the unit conversion factors are provided via -the *cflength* and *cfenergy* keywords. If for example, the NNP was +the *cflength* and *cfenergy* keywords. If for example, the HDNNP was parameterized with Bohr and Hartree training data and symmetry function parameters (i.e. distances and energies in "input.nn" are given in Bohr and Hartree) but LAMMPS is set to use *metal* units (Angstrom and eV) the correct @@ -174,7 +174,7 @@ conversion factors are: Thus, arguments of *cflength* and *cfenergy* are the multiplicative factors required to convert lengths and energies given in LAMMPS units to respective -quantities in native NNP units (1 Angstrom = 1.8897261328 Bohr, 1 eV = +quantities in native HDNNP units (1 Angstrom = 1.8897261328 Bohr, 1 eV = 0.0367493254 Hartree). ---- @@ -199,7 +199,7 @@ keywords. Restrictions """""""""""" -This pair style is part of the USER-NNP package. It is only enabled if LAMMPS +This pair style is part of the USER-HDNNP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -214,7 +214,7 @@ Related commands Default ^^^^^^^ -The default options are *dir* = "nnp/", *showew* = yes, *showewsum* = 0, *maxew* +The default options are *dir* = "hdnnp/", *showew* = yes, *showewsum* = 0, *maxew* = 0, *resetew* = no, *cflength* = 1.0, *cfenergy* = 1.0. The default atom type mapping is determined automatically according to ascending atomic number of present elements (see above). diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 4872f2328a..f3a59fd8bc 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -178,6 +178,7 @@ accelerated styles exist. * :doc:`gw/zbl ` - Gao-Weber potential with a repulsive ZBL core * :doc:`hbond/dreiding/lj ` - DREIDING hydrogen bonding LJ potential * :doc:`hbond/dreiding/morse ` - DREIDING hydrogen bonding Morse potential +* :doc:`hdnnp ` - High-dimensional neural network potential * :doc:`ilp/graphene/hbn ` - registry-dependent interlayer potential (ILP) * :doc:`kim ` - interface to potentials provided by KIM project * :doc:`kolmogorov/crespi/full ` - Kolmogorov-Crespi (KC) potential with no simplifications @@ -261,7 +262,6 @@ accelerated styles exist. * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb -* :doc:`nnp ` - High-dimensional neural network potential * :doc:`oxdna/coaxstk ` - * :doc:`oxdna/excv ` - * :doc:`oxdna/hbond ` - diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e2900468fa..7d49568c55 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1211,6 +1211,8 @@ hbn hbnewflag hbond hcp +hdnnp +HDNNP heatconduction Hebenstreit Hecht @@ -2178,8 +2180,6 @@ nmin Nmols nn nnodes -nnp -NNP Nocedal nocite nocoeff diff --git a/examples/USER/nnp/data.H2O-360mol b/examples/USER/hdnnp/data.H2O-360mol similarity index 100% rename from examples/USER/nnp/data.H2O-360mol rename to examples/USER/hdnnp/data.H2O-360mol diff --git a/examples/USER/nnp/nnp-data/input.nn b/examples/USER/hdnnp/hdnnp-data/input.nn similarity index 100% rename from examples/USER/nnp/nnp-data/input.nn rename to examples/USER/hdnnp/hdnnp-data/input.nn diff --git a/examples/USER/nnp/nnp-data/scaling.data b/examples/USER/hdnnp/hdnnp-data/scaling.data similarity index 100% rename from examples/USER/nnp/nnp-data/scaling.data rename to examples/USER/hdnnp/hdnnp-data/scaling.data diff --git a/examples/USER/nnp/nnp-data/weights.001.data b/examples/USER/hdnnp/hdnnp-data/weights.001.data similarity index 100% rename from examples/USER/nnp/nnp-data/weights.001.data rename to examples/USER/hdnnp/hdnnp-data/weights.001.data diff --git a/examples/USER/nnp/nnp-data/weights.008.data b/examples/USER/hdnnp/hdnnp-data/weights.008.data similarity index 100% rename from examples/USER/nnp/nnp-data/weights.008.data rename to examples/USER/hdnnp/hdnnp-data/weights.008.data diff --git a/examples/USER/nnp/in.nnp b/examples/USER/hdnnp/in.hdnnp similarity index 81% rename from examples/USER/nnp/in.nnp rename to examples/USER/hdnnp/in.hdnnp index d4664d1c83..112fb24515 100644 --- a/examples/USER/nnp/in.nnp +++ b/examples/USER/hdnnp/in.hdnnp @@ -1,5 +1,5 @@ ############################################################################### -# MD simulation for NN water +# MD simulation for HDNNP water ############################################################################### ############################################################################### @@ -11,9 +11,9 @@ variable cfgFile string "data.H2O-360mol" # Timesteps variable numSteps equal 10 variable dt equal 0.0005 -# NN -variable nnpCutoff equal 6.36 -variable nnpDir string "nnp-data" +# HDNNP +variable hdnnpCutoff equal 6.36 +variable hdnnpDir string "hdnnp-data" ############################################################################### # GENERAL SETUP @@ -26,10 +26,10 @@ timestep ${dt} thermo 1 ############################################################################### -# NN +# HDNNP ############################################################################### -pair_style nnp dir ${nnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" -pair_coeff * * ${nnpCutoff} +pair_style hdnnp dir ${hdnnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" +pair_coeff * * ${hdnnpCutoff} ############################################################################### # INTEGRATOR @@ -39,7 +39,7 @@ fix INT all nve ############################################################################### # OUTPUT ############################################################################### -dump 1 all atom 1 dump.nnp +dump 1 all atom 1 dump.hdnnp ############################################################################### # SIMULATION diff --git a/lib/README b/lib/README index 535f2b228e..8709c7784c 100644 --- a/lib/README +++ b/lib/README @@ -27,6 +27,8 @@ gpu general GPU routines, GPU package from Mike Brown (ORNL) h5md ch5md library for output of MD data in HDF5 format from Pierre de Buyl (KU Leuven) +hdnnp hooks to n2p2, neural network potential package, used by USER-HDNNP + from Andreas Singraber kim hooks to the KIM library, used by KIM package from Ryan Elliott and Ellad Tadmor (U Minn) kokkos Kokkos package for GPU and many-core acceleration @@ -41,8 +43,6 @@ mscg hooks to the MSCG library, used by fix_mscg command from Jacob Wagner and Greg Voth group (U Chicago) netcdf hooks to a NetCDF library installed on your system from Lars Pastewka (Karlsruhe Institute of Technology) -nnp hooks to n2p2, neural network potential package, used by USER-NNP - from Andreas Singraber poems POEMS rigid-body integration package, POEMS package from Rudranarayan Mukherjee (RPI) python hooks to the system Python library, used by the PYTHON package diff --git a/lib/nnp/Makefile.lammps b/lib/hdnnp/Makefile.lammps similarity index 62% rename from lib/nnp/Makefile.lammps rename to lib/hdnnp/Makefile.lammps index fb5b939541..3b5ce3ab42 100644 --- a/lib/nnp/Makefile.lammps +++ b/lib/hdnnp/Makefile.lammps @@ -2,7 +2,7 @@ # Normally, you do NOT need to edit this file! # Check out if n2p2 or a link is right here. -N2P2_LOCALDIR=$(realpath ../../lib/nnp/n2p2) +N2P2_LOCALDIR=$(realpath ../../lib/hdnnp/n2p2) ifeq ($(N2P2_DIR),) N2P2_DIR=$(shell test -d $(N2P2_LOCALDIR) && echo $(N2P2_LOCALDIR)) else @@ -12,13 +12,13 @@ endif # Give up if n2p2 not found yet. ifeq ($(N2P2_DIR),) -$(error Cannot find library for USER-NNP package, please set environment or make variable N2P2_DIR manually.) +$(error Cannot find library for USER-HDNNP package, please set environment or make variable N2P2_DIR manually.) endif -# Read extra NNP_ compilation flags from makefile provided by n2p2: +# Read extra N2P2_ compilation flags from makefile provided by n2p2: include $(N2P2_DIR)/lib/Makefile.lammps-extra # Next, add general info to include/lib/path variables. -nnp_SYSINC += -I$(N2P2_DIR)/include -nnp_SYSLIB += -L$(N2P2_DIR)/lib -lnnpif -lnnp -nnp_SYSPATH += +hdnnp_SYSINC += -I$(N2P2_DIR)/include +hdnnp_SYSLIB += -L$(N2P2_DIR)/lib -lnnpif -lnnp +hdnnp_SYSPATH += diff --git a/lib/nnp/README b/lib/hdnnp/README similarity index 68% rename from lib/nnp/README rename to lib/hdnnp/README index 004d60df0b..d92fac5301 100644 --- a/lib/nnp/README +++ b/lib/hdnnp/README @@ -1,4 +1,4 @@ -The USER-NNP package requires access to pre-compiled libraries of the n2p2 +The USER-HDNNP package requires access to pre-compiled libraries of the n2p2 package (https://github.com/CompPhysVienna/n2p2). More precisely, the n2p2 core library ("libnnp"), the interface library ("libnnpif"), some headers and extra build helper files are needed. These files will be created automatically during @@ -10,17 +10,17 @@ Basic build instructions for n2p2 ================================= The n2p2 software package comes with lots of useful tools for creating and -applying neural network potentials (NNPs). In order to use n2p2 together with -LAMMPS only some parts of the n2p2 code need to be compiled. As an example, -everything related to NNP training is not required and would only add unwanted -library dependencies. Hence, the build infrastructure of n2p2 is designed to allow -a separate build of the LAMMPS interface. +applying high-dimensional neural network potentials (HDNNPs). In order to use +n2p2 together with LAMMPS only some parts of the n2p2 code need to be compiled. +As an example, everything related to HDNNP training is not required and would +only add unwanted library dependencies. Hence, the build infrastructure of n2p2 +is designed to allow a separate build of the LAMMPS interface. After downloading n2p2, change to the "src" directory and simply execute make libnnpif -which should create the following files needed by the USER-NNP package: +which should create the following files needed by the USER-HDNNP package: * "n2p2/lib/libnnp.a" * "n2p2/lib/libnnpif.a" @@ -43,7 +43,7 @@ also available (e.g. "makefile.intel") and can be activated by supplying the Please make sure that your compiler settings for n2p2 and LAMMPS are compatible (avoid mixing different compilers). -If you want to build a serial version of LAMMPS with USER-NNP package n2p2 must +If you want to build a serial version of LAMMPS with USER-HDNNP package n2p2 must also be built with MPI disabled. This can be achieved with a preprocessor flag (-DN2P2_NO_MPI) which is (among others) prepared, but commented out, in the provided compiler-specific settings makefiles. For example, if you use the GNU @@ -65,12 +65,12 @@ Installation directory of n2p2 You can install n2p2 either in this folder (1) or somewhere else on your system (2): (1) If n2p2 is installed here, please make sure that the directory is also named - "n2p2", i.e. within "lib/nnp/n2p2" you can see the n2p2 folder structure, in + "n2p2", i.e. within "lib/hdnnp/n2p2" you can see the n2p2 folder structure, in particular "lib" and "include": lib | - nnp + hdnnp | n2p2 | @@ -79,27 +79,27 @@ You can install n2p2 either in this folder (1) or somewhere else on your system include lib src ... In this case LAMMPS will automatically find n2p2 during the build process - and you only need to enable the USER-NNP package via CMake (-D PKG_USER-NNP=yes) - or the traditional makefile approach (make yes-user-nnp). It is also valid to - create a link here named "n2p2" which points to the n2p2 installation - directory. + and you only need to enable the USER-HDNNP package via CMake (-D + PKG_USER-HDNNP=yes) or the traditional makefile approach (make yes-user-hdnnp). + It is also valid to create a link here named "n2p2" which points to the n2p2 + installation directory. (2) If n2p2 is installed somewhere else the path must be given as an additional setting (variable N2P2_DIR) to the build tool. For example, with CMake use - cmake -D PKG_USER-NNP=yes -D N2P2_DIR= ../cmake/ + cmake -D PKG_USER-HDNNP=yes -D N2P2_DIR= ../cmake/ and for the traditional makefiles use - make yes-user-nnp + make yes-user-hdnnp make N2P2_DIR= mpi -Testing a successful build of LAMMPS with USER-NNP -================================================== +Testing a successful build of LAMMPS with USER-HDNNP +==================================================== -An example is provided in the LAMMPS directory "examples/USER/nnp" which runs +An example is provided in the LAMMPS directory "examples/USER/hdnnp" which runs 10 timesteps with 360 water molecules. The neural network potential is defined -via files in the "nnp-data" subdirectory. Use the "in.nnp" LAMMPS script file +via files in the "hdnnp-data" subdirectory. Use the "in.hdnnp" LAMMPS script file to run the simulation. You should see a large output of the n2p2 library when -the pair style "nnp" is initialized, followed by the LAMMPS per-timestep +the pair style "hdnnp" is initialized, followed by the LAMMPS per-timestep output. diff --git a/src/.gitignore b/src/.gitignore index 9e37dc316c..b02a44705c 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -971,6 +971,8 @@ /pair_hbond_dreiding_lj.h /pair_hbond_dreiding_morse.cpp /pair_hbond_dreiding_morse.h +/pair_hdnnp.cpp +/pair_hdnnp.h /pair_ilp_graphene_hbn.cpp /pair_ilp_graphene_hbn.h /pair_kolmogorov_crespi_full.cpp @@ -1079,8 +1081,6 @@ /pair_nm_cut_coul_cut.h /pair_nm_cut_coul_long.cpp /pair_nm_cut_coul_long.h -/pair_nnp.cpp -/pair_nnp.h /pair_oxdna_*.cpp /pair_oxdna_*.h /pair_oxdna2_*.cpp diff --git a/src/Makefile b/src/Makefile index 3afe821db7..7fce8e5354 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,17 +52,17 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ python qeq replica rigid shock snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ - user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ + user-diffraction user-dpd user-drude user-eff user-fep user-h5md user-hdnnp \ user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ user-mgpt user-misc user-mofff user-molfile \ - user-netcdf user-nnp user-omp user-phonon user-plumed user-ptm user-qmmm \ + user-netcdf user-omp user-phonon user-plumed user-ptm user-qmmm \ user-qtb user-quip user-reaction user-reaxc user-scafacos user-smd user-smtbq \ user-sdpd user-sph user-tally user-uef user-vtk user-yaff PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ python voronoi \ - user-adios user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ - user-netcdf user-nnp user-plumed user-qmmm user-quip user-scafacos \ + user-adios user-atc user-awpmd user-colvars user-h5md user-hdnnp user-lb user-molfile \ + user-netcdf user-plumed user-qmmm user-quip user-scafacos \ user-smd user-vtk user-mesont PACKSYS = compress mpiio python user-lb @@ -70,7 +70,7 @@ PACKSYS = compress mpiio python user-lb PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont PACKEXT = kim latte mscg voronoi \ - user-adios user-h5md user-molfile user-netcdf user-nnp user-plumed user-qmmm \ + user-adios user-h5md user-hdnnp user-molfile user-netcdf user-plumed user-qmmm \ user-quip user-smd user-vtk PACKALL = $(PACKAGE) $(PACKUSER) diff --git a/src/USER-NNP/Install.sh b/src/USER-HDNNP/Install.sh similarity index 66% rename from src/USER-NNP/Install.sh rename to src/USER-HDNNP/Install.sh index cd60ba1598..8ee16c53ca 100644 --- a/src/USER-NNP/Install.sh +++ b/src/USER-HDNNP/Install.sh @@ -37,17 +37,17 @@ done if (test $1 = 1) then if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*nnp[^ \t]* //g' ../Makefile.package - sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(nnp_SYSINC) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(nnp_SYSLIB) |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(nnp_SYSPATH) |' ../Makefile.package + sed -i -e 's/[^ \t]*hdnnp[^ \t]* //g' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(hdnnp_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(hdnnp_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(hdnnp_SYSPATH) |' ../Makefile.package fi if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*nnp.*$/d' ../Makefile.package.settings + sed -i -e '/^include.*hdnnp.*$/d' ../Makefile.package.settings # multiline form needed for BSD sed on Macs sed -i -e '4 i \ -include ..\/..\/lib\/nnp\/Makefile.lammps\ +include ..\/..\/lib\/hdnnp\/Makefile.lammps\ ' ../Makefile.package.settings fi @@ -55,11 +55,11 @@ include ..\/..\/lib\/nnp\/Makefile.lammps\ elif (test $1 = 0) then if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*nnp[^ \t]* //g' ../Makefile.package + sed -i -e 's/[^ \t]*hdnnp[^ \t]* //g' ../Makefile.package fi if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*nnp.*$/d' ../Makefile.package.settings + sed -i -e '/^include.*hdnnp.*$/d' ../Makefile.package.settings fi fi diff --git a/src/USER-NNP/README b/src/USER-HDNNP/README similarity index 75% rename from src/USER-NNP/README rename to src/USER-HDNNP/README index a8eae3d865..690db8a714 100644 --- a/src/USER-NNP/README +++ b/src/USER-HDNNP/README @@ -1,15 +1,15 @@ -This package implements the "pair_style nnp" command which can be used in a +This package implements the "pair_style hdnnp" command which can be used in a LAMMPS input script. This pair style allows to use pre-trained high-dimensional neural network potentials[1] via an interface to the n2p2 library (https://github.com/CompPhysVienna/n2p2)[2]. -Please see the main documentation for the "pair_style nnp" command for further +Please see the main documentation for the "pair_style hdnnp" command for further details on how the pair style is used. An example is provided in the -"examples/USER/nnp" directory of LAMMPS. +"examples/USER/hdnnp" directory of LAMMPS. -The USER-NNP package requires the external library n2p2 which must be +The USER-HDNNP package requires the external library n2p2 which must be downloaded and compiled before starting the build process of LAMMPS. A -guideline on how to build n2p2 is presented in "lib/nnp/README". This package +guideline on how to build n2p2 is presented in "lib/hdnnp/README". This package supports the LAMMPS build process via CMake and traditional makefiles, please see the LAMMPS manual section on building with external libraries for more details. diff --git a/src/USER-NNP/pair_nnp.cpp b/src/USER-HDNNP/pair_hdnnp.cpp similarity index 94% rename from src/USER-NNP/pair_nnp.cpp rename to src/USER-HDNNP/pair_hdnnp.cpp index b2dae5a969..213574327c 100644 --- a/src/USER-NNP/pair_nnp.cpp +++ b/src/USER-HDNNP/pair_hdnnp.cpp @@ -18,7 +18,7 @@ Contributing author: Andreas Singraber ------------------------------------------------------------------------- */ -#include "pair_nnp.h" +#include "pair_hdnnp.h" #include #include "atom.h" #include "citeme.h" @@ -34,8 +34,8 @@ using namespace LAMMPS_NS; -static const char cite_user_nnp_package[] = - "USER-NNP package:\n\n" +static const char cite_user_hdnnp_package[] = + "USER-HDNNP package:\n\n" "@Article{Singraber19,\n" " author = {Singraber, Andreas and Behler, J{\"o}rg and Dellago, Christoph},\n" " title = {Library-{{Based LAMMPS Implementation}} of {{High}}-{{Dimensional Neural Network Potentials}}},\n" @@ -50,23 +50,23 @@ static const char cite_user_nnp_package[] = /* ---------------------------------------------------------------------- */ -PairNNP::PairNNP(LAMMPS *lmp) : Pair(lmp) +PairHDNNP::PairHDNNP(LAMMPS *lmp) : Pair(lmp) { - if (lmp->citeme) lmp->citeme->add(cite_user_nnp_package); + if (lmp->citeme) lmp->citeme->add(cite_user_hdnnp_package); interface = new nnp::InterfaceLammps(); } /* ---------------------------------------------------------------------- */ -PairNNP::~PairNNP() +PairHDNNP::~PairHDNNP() { delete interface; } /* ---------------------------------------------------------------------- */ -void PairNNP::compute(int eflag, int vflag) +void PairHDNNP::compute(int eflag, int vflag) { if(eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; @@ -78,7 +78,7 @@ void PairNNP::compute(int eflag, int vflag) // (tagint = int64_t) interface->setLocalTags(atom->tag); - // Transfer local neighbor list to NNP interface. + // Transfer local neighbor list to n2p2 interface. transferNeighborList(); // Compute symmetry functions, atomic neural networks and add up energy. @@ -109,7 +109,7 @@ void PairNNP::compute(int eflag, int vflag) global settings ------------------------------------------------------------------------- */ -void PairNNP::settings(int narg, char **arg) +void PairHDNNP::settings(int narg, char **arg) { single_enable = 0; // 1 if single() routine exists single_hessian_enable = 0; // 1 if single_hessian() routine exists @@ -128,9 +128,9 @@ void PairNNP::settings(int narg, char **arg) if (narg == 0) error->all(FLERR,"Illegal pair_style command"); // default settings - int len = strlen("nnp/") + 1; + int len = strlen("hdnnp/") + 1; directory = new char[len]; - strcpy(directory,"nnp/"); + strcpy(directory,"hdnnp/"); showew = true; showewsum = 0; maxew = 0; @@ -144,7 +144,7 @@ void PairNNP::settings(int narg, char **arg) numExtrapolationWarningsSummary = 0; while(iarg < narg) { - // set NNP directory + // set HDNNP directory if (strcmp(arg[iarg],"dir") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style command"); @@ -216,7 +216,7 @@ void PairNNP::settings(int narg, char **arg) set coeffs for one or more type pairs ------------------------------------------------------------------------- */ -void PairNNP::coeff(int narg, char **arg) +void PairHDNNP::coeff(int narg, char **arg) { if (!allocated) allocate(); @@ -244,14 +244,14 @@ void PairNNP::coeff(int narg, char **arg) init specific to this pair style ------------------------------------------------------------------------- */ -void PairNNP::init_style() +void PairHDNNP::init_style() { int irequest = neighbor->request((void *) this); neighbor->requests[irequest]->pair = 1; neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; - // Return immediately if NNP setup is already completed. + // Return immediately if HDNNP setup is already completed. if (interface->isInitialized()) return; // Activate screen and logfile output only for rank 0. @@ -285,7 +285,7 @@ void PairNNP::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairNNP::init_one(int i, int j) +double PairHDNNP::init_one(int i, int j) { return maxCutoffRadius; } @@ -294,7 +294,7 @@ double PairNNP::init_one(int i, int j) allocate all arrays ------------------------------------------------------------------------- */ -void PairNNP::allocate() +void PairHDNNP::allocate() { allocated = 1; int n = atom->ntypes; @@ -307,9 +307,9 @@ void PairNNP::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); } -void PairNNP::transferNeighborList() +void PairHDNNP::transferNeighborList() { - // Transfer neighbor list to NNP. + // Transfer neighbor list to n2p2. double rc2 = maxCutoffRadius * maxCutoffRadius; for (int ii = 0; ii < list->inum; ++ii) { int i = list->ilist[ii]; @@ -327,7 +327,7 @@ void PairNNP::transferNeighborList() } } -void PairNNP::handleExtrapolationWarnings() +void PairHDNNP::handleExtrapolationWarnings() { // Get number of extrapolation warnings for local atoms. long numCurrentEW = (long)interface->getNumExtrapolationWarnings(); diff --git a/src/USER-NNP/pair_nnp.h b/src/USER-HDNNP/pair_hdnnp.h similarity index 91% rename from src/USER-NNP/pair_nnp.h rename to src/USER-HDNNP/pair_hdnnp.h index 8a41d1a5d6..a3488bbad4 100644 --- a/src/USER-NNP/pair_nnp.h +++ b/src/USER-HDNNP/pair_hdnnp.h @@ -20,12 +20,12 @@ #ifdef PAIR_CLASS -PairStyle(nnp,PairNNP) +PairStyle(hdnnp,PairHDNNP) #else -#ifndef LMP_PAIR_NNP_H -#define LMP_PAIR_NNP_H +#ifndef LMP_PAIR_HDNNP_H +#define LMP_PAIR_HDNNP_H #include "pair.h" @@ -35,12 +35,12 @@ namespace nnp { namespace LAMMPS_NS { -class PairNNP : public Pair { +class PairHDNNP : public Pair { public: - PairNNP(class LAMMPS *); - virtual ~PairNNP(); + PairHDNNP(class LAMMPS *); + virtual ~PairHDNNP(); virtual void compute(int, int); virtual void settings(int, char **); virtual void coeff(int, char **); From 8e4a2e4c7bbc23b74be0c13339bcc768fc94007f Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Thu, 1 Apr 2021 00:41:27 +0200 Subject: [PATCH 104/542] Renamed a missing cmake file, NNP => HDNNP --- cmake/Modules/Packages/{USER-NNP.cmake => USER-HDNNP.cmake} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cmake/Modules/Packages/{USER-NNP.cmake => USER-HDNNP.cmake} (100%) diff --git a/cmake/Modules/Packages/USER-NNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake similarity index 100% rename from cmake/Modules/Packages/USER-NNP.cmake rename to cmake/Modules/Packages/USER-HDNNP.cmake From f0e3786ded9641ca0a911e374cae587a5de8a06e Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Sun, 4 Apr 2021 22:48:25 +0200 Subject: [PATCH 105/542] Minor changes to conform with coding standards --- src/USER-HDNNP/pair_hdnnp.cpp | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/src/USER-HDNNP/pair_hdnnp.cpp b/src/USER-HDNNP/pair_hdnnp.cpp index 213574327c..c7318ec0b5 100644 --- a/src/USER-HDNNP/pair_hdnnp.cpp +++ b/src/USER-HDNNP/pair_hdnnp.cpp @@ -19,7 +19,7 @@ ------------------------------------------------------------------------- */ #include "pair_hdnnp.h" -#include + #include "atom.h" #include "citeme.h" #include "comm.h" @@ -29,7 +29,7 @@ #include "neigh_list.h" #include "neigh_request.h" #include "update.h" -#include "utils.h" + #include "InterfaceLammps.h" // n2p2 interface header using namespace LAMMPS_NS; @@ -54,6 +54,13 @@ PairHDNNP::PairHDNNP(LAMMPS *lmp) : Pair(lmp) { if (lmp->citeme) lmp->citeme->add(cite_user_hdnnp_package); + single_enable = 0; // 1 if single() routine exists + restartinfo = 0; // 1 if pair style writes restart info + one_coeff = 1; // 1 if allows only one coeff * * call + manybody_flag = 1; // 1 if a manybody potential + unit_convert_flag = 0; // TODO: Check possible values. value != 0 indicates support for unit conversion. + reinitflag = 0; // 1 if compatible with fix adapt and alike + interface = new nnp::InterfaceLammps(); } @@ -68,8 +75,7 @@ PairHDNNP::~PairHDNNP() void PairHDNNP::compute(int eflag, int vflag) { - if(eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + ev_init(eflag,vflag); // Set number of local atoms and add element. interface->setLocalAtoms(atom->nlocal,atom->type); @@ -111,35 +117,19 @@ void PairHDNNP::compute(int eflag, int vflag) void PairHDNNP::settings(int narg, char **arg) { - single_enable = 0; // 1 if single() routine exists - single_hessian_enable = 0; // 1 if single_hessian() routine exists - restartinfo = 0; // 1 if pair style writes restart info - respa_enable = 0; // 1 if inner/middle/outer rRESPA routines - one_coeff = 1; // 1 if allows only one coeff * * call - manybody_flag = 1; // 1 if a manybody potential - unit_convert_flag = 0; // value != 0 indicates support for unit conversion. - no_virial_fdotr_compute = 0; // 1 if does not invoke virial_fdotr_compute() - writedata = 0; // 1 if writes coeffs to data file - ghostneigh = 0; // 1 if pair style needs neighbors of ghosts - reinitflag = 0; // 1 if compatible with fix adapt and alike - int iarg = 0; if (narg == 0) error->all(FLERR,"Illegal pair_style command"); // default settings - int len = strlen("hdnnp/") + 1; - directory = new char[len]; - strcpy(directory,"hdnnp/"); + directory = utils::strdup("hdnnp/"); showew = true; showewsum = 0; maxew = 0; resetew = false; cflength = 1.0; cfenergy = 1.0; - len = strlen("") + 1; - emap = new char[len]; - strcpy(emap,""); + emap = utils::strdup(""); numExtrapolationWarningsTotal = 0; numExtrapolationWarningsSummary = 0; From bd6dd658d6b037c03203d413fdff71f358cbc15b Mon Sep 17 00:00:00 2001 From: Joel Clemmer Date: Wed, 7 Apr 2021 17:21:16 -0600 Subject: [PATCH 106/542] Updating to master, misc style changes --- src/USER-OMP/npair_full_multi_omp.cpp | 2 +- src/USER-OMP/npair_half_multi_newtoff_omp.cpp | 4 +- src/USER-OMP/npair_half_multi_newton_omp.cpp | 8 +- .../npair_half_multi_newton_tri_omp.cpp | 4 +- src/comm.cpp | 18 ++-- src/comm_brick.cpp | 26 ++--- src/comm_tiled.cpp | 22 ++--- src/nbin_multi.cpp | 2 +- src/neighbor.cpp | 98 +++++++++---------- src/npair_half_multi_newtoff.cpp | 4 +- src/npair_half_multi_newton.cpp | 4 +- src/npair_half_multi_newton_tri.cpp | 2 +- src/npair_half_size_multi_newtoff.cpp | 4 +- src/npair_half_size_multi_newton.cpp | 8 +- src/npair_half_size_multi_newton_tri.cpp | 4 +- src/nstencil.cpp | 6 +- src/pair_hybrid.cpp | 8 +- 17 files changed, 112 insertions(+), 112 deletions(-) diff --git a/src/USER-OMP/npair_full_multi_omp.cpp b/src/USER-OMP/npair_full_multi_omp.cpp index 4fc6fb4a68..a6df0c6dbe 100755 --- a/src/USER-OMP/npair_full_multi_omp.cpp +++ b/src/USER-OMP/npair_full_multi_omp.cpp @@ -98,7 +98,7 @@ void NPairFullMultiOmp::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in surrounding bins in stencil including self diff --git a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp index ed0e770b2f..bf5d5efa69 100755 --- a/src/USER-OMP/npair_half_multi_newtoff_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newtoff_omp.cpp @@ -100,7 +100,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self @@ -114,7 +114,7 @@ void NPairHalfMultiNewtoffOmp::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >=0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/USER-OMP/npair_half_multi_newton_omp.cpp b/src/USER-OMP/npair_half_multi_newton_omp.cpp index 13d286ab5b..00e4b6c624 100755 --- a/src/USER-OMP/npair_half_multi_newton_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_omp.cpp @@ -99,13 +99,13 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ + if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(icollection == jcollection) js = bins[i]; + if (icollection == jcollection) js = bins[i]; else js = binhead_multi[jcollection][jbin]; // if same collection, @@ -117,7 +117,7 @@ void NPairHalfMultiNewtonOmp::build(NeighList *list) // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(icollection != jcollection and j < i) continue; + if ((icollection != jcollection) && (j < i)) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; diff --git a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp index cb758673d4..31e7635414 100755 --- a/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp +++ b/src/USER-OMP/npair_half_multi_newton_tri_omp.cpp @@ -100,7 +100,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil @@ -120,7 +120,7 @@ void NPairHalfMultiNewtonTriOmp::build(NeighList *list) for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil - if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ + if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/comm.cpp b/src/comm.cpp index 7e3d6d839b..dc6d75dd79 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -246,15 +246,15 @@ void Comm::init() for (int i = 0; i < nfix; i++) if (fix[i]->maxexchange_dynamic) maxexchange_fix_dynamic = 1; - if(mode == Comm::MULTI and neighbor->style != Neighbor::MULTI) + if ((mode == Comm::MULTI) && (neighbor->style != Neighbor::MULTI)) error->all(FLERR,"Cannot use comm mode multi without multi-style neighbor lists"); - if(multi_reduce){ + if (multi_reduce) { if (force->newton == 0) error->all(FLERR,"Cannot use multi/reduce communication with Newton off"); if (neighbor->any_full()) error->all(FLERR,"Cannot use multi/reduce communication with a full neighbor list"); - if(mode != Comm::MULTI) + if (mode != Comm::MULTI) error->all(FLERR,"Cannot use multi/reduce communication without mode multi"); } } @@ -293,11 +293,11 @@ void Comm::modify_params(int narg, char **arg) // need to reset cutghostuser when switching comm mode if (mode == Comm::MULTI) cutghostuser = 0.0; if (mode == Comm::MULTIOLD) cutghostuser = 0.0; - if(cutusermulti){ + if (cutusermulti) { memory->destroy(cutusermulti); cutusermulti = nullptr; } - if(cutusermultiold){ + if (cutusermultiold) { memory->destroy(cutusermultiold); cutusermultiold = nullptr; } @@ -306,7 +306,7 @@ void Comm::modify_params(int narg, char **arg) // need to reset cutghostuser when switching comm mode if (mode == Comm::SINGLE) cutghostuser = 0.0; if (mode == Comm::MULTIOLD) cutghostuser = 0.0; - if(cutusermultiold){ + if (cutusermultiold) { memory->destroy(cutusermultiold); cutusermultiold = nullptr; } @@ -315,7 +315,7 @@ void Comm::modify_params(int narg, char **arg) // need to reset cutghostuser when switching comm mode if (mode == Comm::SINGLE) cutghostuser = 0.0; if (mode == Comm::MULTI) cutghostuser = 0.0; - if(cutusermulti){ + if (cutusermulti) { memory->destroy(cutusermulti); cutusermulti = nullptr; } @@ -743,8 +743,8 @@ double Comm::get_comm_cutoff() } // Check maximum interval size for neighbor multi - if(neighbor->interval_collection_flag){ - for(int i = 0; i < neighbor->ncollections; i++){ + if (neighbor->interval_collection_flag) { + for (int i = 0; i < neighbor->ncollections; i++){ maxcommcutoff = MAX(maxcommcutoff, neighbor->collection2cut[i]); } } diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 50c18e5fe7..b6306eb042 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -145,9 +145,9 @@ void CommBrick::init() ncollections = neighbor->ncollections; allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); - if(cutusermultiflag) { + if (cutusermultiflag) { memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); - for(int i = ncollections_prior; i < ncollections; i++) + for (int i = ncollections_prior; i < ncollections; i++) cutusermulti[i] = -1.0; } @@ -206,15 +206,15 @@ void CommBrick::setup() ncollections = neighbor->ncollections; // reallocate memory for multi-style communication at setup if ncollections change - if(ncollections_prior != ncollections){ - if(multilo) free_multi(); - if(cutghostmulti) memory->destroy(cutghostmulti); + if (ncollections_prior != ncollections) { + if (multilo) free_multi(); + if (cutghostmulti) memory->destroy(cutghostmulti); allocate_multi(maxswap); memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); - if(cutusermultiflag) { + if (cutusermultiflag) { memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); - for(i = ncollections_prior; i < ncollections; i++) + for (i = ncollections_prior; i < ncollections; i++) cutusermulti[i] = -1.0; } @@ -223,11 +223,11 @@ void CommBrick::setup() // parse any cutoff/multi commands int nhi, nlo; - for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { + for (auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { utils::bounds(FLERR,it->first,0,ncollections,nlo,nhi,error); - if(nhi >= ncollections) + if (nhi >= ncollections) error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); - for (j=nlo; j<=nhi; ++j) + for (j = nlo; j<=nhi; ++j) cutusermulti[j] = it->second; } usermultiargs.clear(); @@ -249,7 +249,7 @@ void CommBrick::setup() } for (j = 0; j < ncollections; j++){ - if(multi_reduce and cutcollectionsq[j][j] > cutcollectionsq[i][i]) continue; + if (multi_reduce && (cutcollectionsq[j][j] > cutcollectionsq[i][i])) continue; cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutcollectionsq[i][j])); cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutcollectionsq[i][j])); cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutcollectionsq[i][j])); @@ -815,7 +815,7 @@ void CommBrick::borders() AtomVec *avec = atom->avec; // After exchanging/sorting, need to reconstruct collection array for border communication - if(mode == Comm::MULTI) neighbor->build_collection(0); + if (mode == Comm::MULTI) neighbor->build_collection(0); // do swaps over all 3 dimensions @@ -989,7 +989,7 @@ void CommBrick::borders() firstrecv[iswap] = atom->nlocal + atom->nghost; nprior = atom->nlocal + atom->nghost; atom->nghost += nrecv; - if(neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); + if (neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); iswap++; } diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 27f630f720..da3bb3a65f 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -191,16 +191,16 @@ void CommTiled::setup() ncollections = neighbor->ncollections; // allocate memory for multi-style communication at setup as ncollections can change - if(ncollections_prior != ncollections){ + if (ncollections_prior != ncollections) { memory->destroy(cutghostmulti); if (mode == Comm::MULTI) memory->create(cutghostmulti,ncollections,3,"comm:cutghostmulti"); - for(i = 0; i < maxswap; i ++) + for (i = 0; i < maxswap; i ++) grow_swap_send_multi(i,DELTA_PROCS); - if(cutusermultiflag){ + if (cutusermultiflag) { memory->grow(cutusermulti,ncollections,"comm:cutusermulti"); - for(i = ncollections_prior; i < ncollections; i++) + for (i = ncollections_prior; i < ncollections; i++) cutusermulti[i] = -1.0; } @@ -209,12 +209,12 @@ void CommTiled::setup() // parse any cutoff/multi commands int nhi, nlo; - for(auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { + for (auto it = usermultiargs.begin(); it != usermultiargs.end(); it ++) { utils::bounds(FLERR,it->first,0,ncollections,nlo,nhi,error); - if(nhi >= ncollections) + if (nhi >= ncollections) error->all(FLERR, "Unused collection id in comm_modify cutoff/multi command"); - for (j=nlo; j<=nhi; ++j) + for (j = nlo; j <= nhi; ++j) cutusermulti[j] = it->second; } usermultiargs.clear(); @@ -236,7 +236,7 @@ void CommTiled::setup() } for (j = 0; j < ncollections; j++){ - if(multi_reduce and cutcollectionsq[j][j] > cutcollectionsq[i][i]) continue; + if (multi_reduce && (cutcollectionsq[j][j] > cutcollectionsq[i][i])) continue; cutghostmulti[i][0] = MAX(cutghostmulti[i][0],sqrt(cutcollectionsq[i][j])); cutghostmulti[i][1] = MAX(cutghostmulti[i][1],sqrt(cutcollectionsq[i][j])); cutghostmulti[i][2] = MAX(cutghostmulti[i][2],sqrt(cutcollectionsq[i][j])); @@ -1066,7 +1066,7 @@ void CommTiled::borders() AtomVec *avec = atom->avec; // After exchanging, need to reconstruct collection array for border communication - if(mode == Comm::MULTI) neighbor->build_collection(0); + if (mode == Comm::MULTI) neighbor->build_collection(0); // send/recv max one = max # of atoms in single send/recv for any swap // send/recv max all = max # of atoms in all sends/recvs within any swap @@ -1357,7 +1357,7 @@ void CommTiled::borders() if (n) { nprior = atom->nghost + atom->nlocal; atom->nghost += forward_recv_offset[iswap][n-1] + recvnum[iswap][n-1]; - if(neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); + if (neighbor->style == Neighbor::MULTI) neighbor->build_collection(nprior); } } @@ -2405,7 +2405,7 @@ void CommTiled::grow_swap_send_multi(int i, int n) { memory->destroy(sendbox_multi[i]); - if(ncollections > 0) + if (ncollections > 0) memory->create(sendbox_multi[i],n,ncollections,6,"comm:sendbox_multi"); } diff --git a/src/nbin_multi.cpp b/src/nbin_multi.cpp index a39f10d074..3bfe26239b 100644 --- a/src/nbin_multi.cpp +++ b/src/nbin_multi.cpp @@ -234,7 +234,7 @@ void NBinMulti::setup_bins(int /*style*/) if (binsize_optimal*bininvx_multi[n] > CUT2BIN_RATIO || binsize_optimal*bininvy_multi[n] > CUT2BIN_RATIO) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); - if(dimension == 3 and binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO) + if ((dimension == 3) && (binsize_optimal*bininvz_multi[n] > CUT2BIN_RATIO)) error->all(FLERR,"Cannot use neighbor bins - box size << cutoff"); // mbinlo/hi = lowest and highest global bins my ghost atoms could be in diff --git a/src/neighbor.cpp b/src/neighbor.cpp index def4cbd228..5a4c574ce9 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -359,16 +359,16 @@ void Neighbor::init() cutneighmaxsq = cutneighmax * cutneighmax; // Define cutoffs for multi - if(style == Neighbor::MULTI){ + if (style == Neighbor::MULTI) { int icollection, jcollection; // If collections not yet defined, create default map using types - if(not custom_collection_flag) { + if (not custom_collection_flag) { ncollections = n; interval_collection_flag = 0; - if(not type2collection) + if (not type2collection) memory->create(type2collection,n+1,"neigh:type2collection"); - for(i = 1; i <= n; i++) + for (i = 1; i <= n; i++) type2collection[i] = i-1; } @@ -384,30 +384,30 @@ void Neighbor::init() // // Define collection cutoffs - for(i = 0; i < ncollections; i++) - for(j = 0; j < ncollections; j++) + for (i = 0; i < ncollections; i++) + for (j = 0; j < ncollections; j++) cutcollectionsq[i][j] = 0.0; - if(not interval_collection_flag){ + if (not interval_collection_flag) { finite_cut_flag = 0; - for(i = 1; i <= n; i++){ + for (i = 1; i <= n; i++){ icollection = type2collection[i]; - for(j = 1; j <= n; j++){ + for (j = 1; j <= n; j++){ jcollection = type2collection[j]; - if(cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { + if (cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { cutcollectionsq[icollection][jcollection] = cutneighsq[i][j]; cutcollectionsq[jcollection][icollection] = cutneighsq[i][j]; } } } } else { - if(force->pair->finitecutflag){ + if (force->pair->finitecutflag) { finite_cut_flag = 1; // If cutoffs depend on finite atom sizes, use radii of intervals to find cutoffs double ri, rj, tmp; - for(i = 0; i < ncollections; i++){ + for (i = 0; i < ncollections; i++){ ri = collection2cut[i]*0.5; - for(j = 0; j < ncollections; j++){ + for (j = 0; j < ncollections; j++){ rj = collection2cut[j]*0.5; tmp = force->pair->radii2cut(ri, rj) + skin; cutcollectionsq[i][j] = tmp*tmp; @@ -417,33 +417,33 @@ void Neighbor::init() finite_cut_flag = 0; // Map types to collections - if(not type2collection) + if (not type2collection) memory->create(type2collection,n+1,"neigh:type2collection"); - for(i = 1; i <= n; i++) + for (i = 1; i <= n; i++) type2collection[i] = -1; double cuttmp; - for(i = 1; i <= n; i++){ + for (i = 1; i <= n; i++){ // Remove skin added to cutneighsq cuttmp = sqrt(cutneighsq[i][i]) - skin; - for(icollection = 0; icollection < ncollections; icollection ++){ - if(collection2cut[icollection] >= cuttmp) { + for (icollection = 0; icollection < ncollections; icollection ++){ + if (collection2cut[icollection] >= cuttmp) { type2collection[i] = icollection; break; } } - if(type2collection[i] == -1) + if (type2collection[i] == -1) error->all(FLERR, "Pair cutoff exceeds interval cutoffs for multi"); } // Define cutoffs - for(i = 1; i <= n; i++){ + for (i = 1; i <= n; i++){ icollection = type2collection[i]; - for(j = 1; j <= n; j++){ + for (j = 1; j <= n; j++){ jcollection = type2collection[j]; - if(cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { + if (cutneighsq[i][j] > cutcollectionsq[icollection][jcollection]) { cutcollectionsq[icollection][jcollection] = cutneighsq[i][j]; cutcollectionsq[jcollection][icollection] = cutneighsq[i][j]; } @@ -2175,7 +2175,7 @@ void Neighbor::build(int topoflag) int nlocal = atom->nlocal; int nall = nlocal + atom->nghost; // rebuild collection array from scratch - if(style == Neighbor::MULTI) build_collection(0); + if (style == Neighbor::MULTI) build_collection(0); // check that using special bond flags will not overflow neigh lists @@ -2500,15 +2500,15 @@ void Neighbor::modify_params(int narg, char **arg) } else error->all(FLERR,"Illegal neigh_modify command"); } else if (strcmp(arg[iarg],"collection/interval") == 0) { - if(style != Neighbor::MULTI) + if (style != Neighbor::MULTI) error->all(FLERR,"Cannot use collection/interval command without multi setting"); - if(iarg+2 > narg) + if (iarg+2 > narg) error->all(FLERR,"Invalid collection/interval command"); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if(ncollections < 1) + if (ncollections < 1) error->all(FLERR,"Invalid collection/interval command"); - if(iarg+1+ncollections > narg) + if (iarg+1+ncollections > narg) error->all(FLERR,"Invalid collection/interval command"); int ntypes = atom->ntypes; @@ -2521,26 +2521,26 @@ void Neighbor::modify_params(int narg, char **arg) // Set upper cutoff for each collection char *id; double cut_interval; - for(i = 0; i < ncollections; i++){ + for (i = 0; i < ncollections; i++){ cut_interval = utils::numeric(FLERR,arg[iarg+2+i],false,lmp); collection2cut[i] = cut_interval; - if(i != 0) - if(collection2cut[i-1] >= collection2cut[i]) + if (i != 0) + if (collection2cut[i-1] >= collection2cut[i]) error->all(FLERR,"Nonsequential interval cutoffs in collection/interval setting"); } iarg += 2 + ncollections; } else if (strcmp(arg[iarg],"collection/type") == 0) { - if(style != Neighbor::MULTI) + if (style != Neighbor::MULTI) error->all(FLERR,"Cannot use collection/type command without multi setting"); - if(iarg+2 > narg) + if (iarg+2 > narg) error->all(FLERR,"Invalid collection/type command"); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if(ncollections < 1) + if (ncollections < 1) error->all(FLERR,"Invalid collection/interval command"); - if(iarg+1+ncollections > narg) + if (iarg+1+ncollections > narg) error->all(FLERR,"Invalid collection/type command"); int ntypes = atom->ntypes; @@ -2548,17 +2548,17 @@ void Neighbor::modify_params(int narg, char **arg) interval_collection_flag = 0; custom_collection_flag = 1; - if(not type2collection) + if (not type2collection) memory->create(type2collection,ntypes+1,"neigh:type2collection"); // Erase previous mapping - for(i = 1; i <= ntypes; i++) + for (i = 1; i <= ntypes; i++) type2collection[i] = -1; // For each custom range, define mapping for types in interval int nfield; char *str; - for(i = 0; i < ncollections; i++){ + for (i = 0; i < ncollections; i++){ n = strlen(arg[iarg+2+i]) + 1; str = new char[n]; strcpy(str,arg[iarg+2+i]); @@ -2570,7 +2570,7 @@ void Neighbor::modify_params(int narg, char **arg) utils::bounds(FLERR,field,1,ntypes,nlo,nhi,error); for (k = nlo; k <= nhi; k++) { - if(type2collection[k] != -1) + if (type2collection[k] != -1) error->all(FLERR,"Type specified more than once in collection/type commnd"); type2collection[k] = i; } @@ -2580,8 +2580,8 @@ void Neighbor::modify_params(int narg, char **arg) } // Check for undefined atom type - for(i = 1; i <= ntypes; i++){ - if(type2collection[i] == -1){ + for (i = 1; i <= ntypes; i++){ + if (type2collection[i] == -1) { error->all(FLERR,"Type missing in collection/type commnd"); } } @@ -2632,8 +2632,8 @@ int Neighbor::exclude_setting() int Neighbor::any_full() { int any_full = 0; - for(int i = 0; i < old_nrequest; i++) { - if(old_requests[i]->full) any_full = 1; + for (int i = 0; i < old_nrequest; i++) { + if (old_requests[i]->full) any_full = 1; } return any_full; } @@ -2648,31 +2648,31 @@ void Neighbor::build_collection(int istart) error->all(FLERR, "Cannot define atom collections without neighbor style multi"); int nmax = atom->nlocal+atom->nghost; - if(nmax > nmax_collection){ + if (nmax > nmax_collection) { nmax_collection = nmax+DELTA_PERATOM; memory->grow(collection, nmax_collection, "neigh:collection"); } - if(finite_cut_flag){ + if (finite_cut_flag) { double cut; int icollection; - for(int i = istart; i < nmax; i++){ + for (int i = istart; i < nmax; i++){ cut = force->pair->atom2cut(i); collection[i] = -1; - for(icollection = 0; icollection < ncollections; icollection++){ - if(collection2cut[icollection] >= cut) { + for (icollection = 0; icollection < ncollections; icollection++){ + if (collection2cut[icollection] >= cut) { collection[i] = icollection; break; } } - if(collection[i] == -1) + if (collection[i] == -1) error->one(FLERR, "Atom cutoff exceeds interval cutoffs for multi"); } } else { int *type = atom->type; - for(int i = istart; i < nmax; i++){ + for (int i = istart; i < nmax; i++){ collection[i] = type2collection[type[i]]; } } diff --git a/src/npair_half_multi_newtoff.cpp b/src/npair_half_multi_newtoff.cpp index 5f050429ac..e1f66800dc 100755 --- a/src/npair_half_multi_newtoff.cpp +++ b/src/npair_half_multi_newtoff.cpp @@ -88,7 +88,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self @@ -102,7 +102,7 @@ void NPairHalfMultiNewtoff::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >=0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/npair_half_multi_newton.cpp b/src/npair_half_multi_newton.cpp index 18e66d4adb..4cf30f0ce5 100755 --- a/src/npair_half_multi_newton.cpp +++ b/src/npair_half_multi_newton.cpp @@ -93,7 +93,7 @@ void NPairHalfMultiNewton::build(NeighList *list) // if same size: uses half stencil so check central bin if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(icollection == jcollection) js = bins[i]; + if (icollection == jcollection) js = bins[i]; else js = binhead_multi[jcollection][jbin]; // if same collection, @@ -105,7 +105,7 @@ void NPairHalfMultiNewton::build(NeighList *list) // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(icollection != jcollection and j < i) continue; + if((icollection != jcollection) && (j < i)) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; diff --git a/src/npair_half_multi_newton_tri.cpp b/src/npair_half_multi_newton_tri.cpp index 90c6cf714d..556529eba6 100755 --- a/src/npair_half_multi_newton_tri.cpp +++ b/src/npair_half_multi_newton_tri.cpp @@ -87,7 +87,7 @@ void NPairHalfMultiNewtonTri::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil diff --git a/src/npair_half_size_multi_newtoff.cpp b/src/npair_half_size_multi_newtoff.cpp index 77aa4f746b..23ea27b209 100644 --- a/src/npair_half_size_multi_newtoff.cpp +++ b/src/npair_half_size_multi_newtoff.cpp @@ -79,7 +79,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in other bins in stencil including self @@ -93,7 +93,7 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list) for (k = 0; k < ns; k++) { js = binhead_multi[jcollection][jbin + s[k]]; - for (j = js; j >=0; j = bins[j]) { + for (j = js; j >= 0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; diff --git a/src/npair_half_size_multi_newton.cpp b/src/npair_half_size_multi_newton.cpp index 67715ebe68..50db6c19ec 100755 --- a/src/npair_half_size_multi_newton.cpp +++ b/src/npair_half_size_multi_newton.cpp @@ -76,13 +76,13 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // if same size: uses half stencil so check central bin - if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ + if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ - if(icollection == jcollection) js = bins[i]; + if (icollection == jcollection) js = bins[i]; else js = binhead_multi[jcollection][jbin]; // if same collection, @@ -94,7 +94,7 @@ void NPairHalfSizeMultiNewton::build(NeighList *list) // if j is ghost, only store if j coords are "above and to the right" of i for (j = js; j >= 0; j = bins[j]) { - if(icollection != jcollection and j < i) continue; + if ((icollection != jcollection) && (j < i)) continue; if (j >= nlocal) { if (x[j][2] < ztmp) continue; diff --git a/src/npair_half_size_multi_newton_tri.cpp b/src/npair_half_size_multi_newton_tri.cpp index 2bf033781e..290c8c76f4 100755 --- a/src/npair_half_size_multi_newton_tri.cpp +++ b/src/npair_half_size_multi_newton_tri.cpp @@ -76,7 +76,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) for (jcollection = 0; jcollection < ncollections; jcollection++) { // if same collection use own bin - if(icollection == jcollection) jbin = ibin; + if (icollection == jcollection) jbin = ibin; else jbin = coord2bin(x[i], jcollection); // loop over all atoms in bins in stencil @@ -96,7 +96,7 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list) for (j = js; j >= 0; j = bins[j]) { // if same size (same collection), use half stencil - if(cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ + if (cutcollectionsq[icollection][icollection] == cutcollectionsq[jcollection][jcollection]){ if (x[j][2] < ztmp) continue; if (x[j][2] == ztmp) { if (x[j][1] < ytmp) continue; diff --git a/src/nstencil.cpp b/src/nstencil.cpp index ba7259a9fc..729b690ba1 100644 --- a/src/nstencil.cpp +++ b/src/nstencil.cpp @@ -272,10 +272,10 @@ void NStencil::create_setup() double stencil_range; int n = ncollections; - if(nb) copy_bin_info_multi(); + if (nb) copy_bin_info_multi(); // Deallocate arrays if previously allocated - if(n > maxcollections and stencil_multi){ + if((n > maxcollections) && stencil_multi){ memory->destroy(nstencil_multi); for (i = 0; i < maxcollections; i++) { for (j = 0; j < maxcollections; j++) @@ -299,7 +299,7 @@ void NStencil::create_setup() } // Allocate arrays - if(!maxstencil_multi) { + if (!maxstencil_multi) { memory->create(flag_half_multi, n, n, "neighstencil:flag_half_multi"); memory->create(flag_skip_multi, n, n, diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 6e8b55fd67..075290ef38 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -1083,9 +1083,9 @@ double PairHybrid::atom2cut(int i) cut = 0.0; for (int m = 0; m < nstyles; m++) { - if (styles[m]->finitecutflag){ + if (styles[m]->finitecutflag) { temp = styles[m]->atom2cut(i); - if(temp > cut) cut = temp; + if (temp > cut) cut = temp; } } return cut; @@ -1101,9 +1101,9 @@ double PairHybrid::radii2cut(double r1, double r2) cut = 0.0; for (int m = 0; m < nstyles; m++) { - if (styles[m]->finitecutflag){ + if (styles[m]->finitecutflag) { temp = styles[m]->radii2cut(r1,r2); - if(temp > cut) cut = temp; + if (temp > cut) cut = temp; } } return cut; From ee240f93d935a087ef9313ea87143b6fdc2a482b Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Thu, 8 Apr 2021 23:54:26 +0200 Subject: [PATCH 107/542] Rearranged cutoff and element map user input Cutoff radius is now mandatory argument of pair_style. "emap" keyword is removed and replaced by additional pair_coeff arguments (similar to pair_airebo.cpp). Changes in docs are still missing. --- examples/USER/hdnnp/in.hdnnp | 4 +-- src/USER-HDNNP/pair_hdnnp.cpp | 59 ++++++++++++++++++----------------- src/USER-HDNNP/pair_hdnnp.h | 2 +- 3 files changed, 34 insertions(+), 31 deletions(-) diff --git a/examples/USER/hdnnp/in.hdnnp b/examples/USER/hdnnp/in.hdnnp index 112fb24515..79edc605be 100644 --- a/examples/USER/hdnnp/in.hdnnp +++ b/examples/USER/hdnnp/in.hdnnp @@ -28,8 +28,8 @@ thermo 1 ############################################################################### # HDNNP ############################################################################### -pair_style hdnnp dir ${hdnnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254 emap "1:H,2:O" -pair_coeff * * ${hdnnpCutoff} +pair_style hdnnp ${hdnnpCutoff} dir ${hdnnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254 +pair_coeff * * H O ############################################################################### # INTEGRATOR diff --git a/src/USER-HDNNP/pair_hdnnp.cpp b/src/USER-HDNNP/pair_hdnnp.cpp index c7318ec0b5..598189b1f1 100644 --- a/src/USER-HDNNP/pair_hdnnp.cpp +++ b/src/USER-HDNNP/pair_hdnnp.cpp @@ -119,7 +119,10 @@ void PairHDNNP::settings(int narg, char **arg) { int iarg = 0; - if (narg == 0) error->all(FLERR,"Illegal pair_style command"); + if (narg < 1) error->all(FLERR,"Illegal pair_style command"); + + maxCutoffRadius = utils::numeric(FLERR,arg[0],false,lmp); + iarg++; // default settings directory = utils::strdup("hdnnp/"); @@ -129,7 +132,6 @@ void PairHDNNP::settings(int narg, char **arg) resetew = false; cflength = 1.0; cfenergy = 1.0; - emap = utils::strdup(""); numExtrapolationWarningsTotal = 0; numExtrapolationWarningsSummary = 0; @@ -139,18 +141,7 @@ void PairHDNNP::settings(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style command"); delete[] directory; - len = strlen(arg[iarg+1]) + 2; - directory = new char[len]; - sprintf(directory, "%s/", arg[iarg+1]); - iarg += 2; - // element mapping - } else if (strcmp(arg[iarg],"emap") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal pair_style command"); - delete[] emap; - len = strlen(arg[iarg+1]) + 1; - emap = new char[len]; - sprintf(emap, "%s", arg[iarg+1]); + directory = utils::strdup(arg[iarg+1]); iarg += 2; // show extrapolation warnings } else if (strcmp(arg[iarg],"showew") == 0) { @@ -208,26 +199,39 @@ void PairHDNNP::settings(int narg, char **arg) void PairHDNNP::coeff(int narg, char **arg) { + int n = atom->ntypes; + if (!allocated) allocate(); - if (narg != 3) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 2 + n) + error->all(FLERR,"Incorrect args for pair coefficients"); - int ilo,ihi,jlo,jhi; - utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); - utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); - maxCutoffRadius = utils::numeric(FLERR,arg[2],false,lmp); + int *map = new int[n+1]; + for (int i = 0; i < n; i++) map[i] = 0; - // TODO: Check how this flag is set. - int count = 0; - for(int i=ilo; i<=ihi; i++) { - for(int j=MAX(jlo,i); j<=jhi; j++) { - setflag[i][j] = 1; - count++; + emap = ""; + for (int i = 2; i < narg; i++) { + if (strcmp(arg[i],"NULL") != 0) { + if (i != 2) emap += ","; + emap += std::to_string(i-1) + ":" + arg[i]; + map[i-1] = 1; } } + int count = 0; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] > 0 && map[j] > 0) { + setflag[i][j] = 1; + count++; + } + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + + delete[] map; } /* ---------------------------------------------------------------------- @@ -237,7 +241,6 @@ void PairHDNNP::coeff(int narg, char **arg) void PairHDNNP::init_style() { int irequest = neighbor->request((void *) this); - neighbor->requests[irequest]->pair = 1; neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -254,7 +257,7 @@ void PairHDNNP::init_style() // Initialize interface on all processors. interface->initialize(directory, - emap, + emap.c_str(), showew, resetew, showewsum, @@ -294,7 +297,7 @@ void PairHDNNP::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); // TODO: Is this required? } void PairHDNNP::transferNeighborList() diff --git a/src/USER-HDNNP/pair_hdnnp.h b/src/USER-HDNNP/pair_hdnnp.h index a3488bbad4..913da97933 100644 --- a/src/USER-HDNNP/pair_hdnnp.h +++ b/src/USER-HDNNP/pair_hdnnp.h @@ -63,7 +63,7 @@ class PairHDNNP : public Pair { double cfenergy; double maxCutoffRadius; char *directory; - char *emap; + std::string emap; nnp::InterfaceLammps *interface; }; From 9168f949e6b84e356533c0ac5efd0c755af639cb Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 15 Apr 2021 16:06:47 -0400 Subject: [PATCH 108/542] bond/react: custom constraint --- src/USER-REACTION/fix_bond_react.cpp | 138 +++++++++++++++++++++++++-- src/USER-REACTION/fix_bond_react.h | 7 ++ 2 files changed, 139 insertions(+), 6 deletions(-) mode change 100644 => 100755 src/USER-REACTION/fix_bond_react.cpp mode change 100644 => 100755 src/USER-REACTION/fix_bond_react.h diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp old mode 100644 new mode 100755 index 2b88a8a264..ebaeaa6a7e --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -80,7 +80,7 @@ static const char cite_fix_bond_react[] = enum{ACCEPT,REJECT,PROCEED,CONTINUE,GUESSFAIL,RESTORE}; // types of available reaction constraints -enum{DISTANCE,ANGLE,DIHEDRAL,ARRHENIUS,RMSD}; +enum{DISTANCE,ANGLE,DIHEDRAL,ARRHENIUS,RMSD,CUSTOM}; // ID type used by constraint enum{ATOM,FRAG}; @@ -125,6 +125,14 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : narrhenius = 0; status = PROCEED; + // reaction functions used by 'custom' constraint + nrxnfunction = 2; + rxnfunclist.resize(nrxnfunction); + rxnfunclist[0] = "rxnsum"; + rxnfunclist[1] = "rxnave"; + nvvec = 0; + vvec = nullptr; + nxspecial = nullptr; onemol_nxspecial = nullptr; twomol_nxspecial = nullptr; @@ -582,6 +590,7 @@ FixBondReact::~FixBondReact() memory->destroy(delete_atoms); memory->destroy(create_atoms); memory->destroy(chiral_atoms); + if (vvec != nullptr) memory->destroy(vvec); memory->destroy(rxn_name); memory->destroy(nevery); @@ -1971,6 +1980,8 @@ int FixBondReact::check_constraints() memory->destroy(xfrozen); memory->destroy(xmobile); if (rmsd > constraints[i][rxnID].par[0]) satisfied[i] = 0; + } else if (constraints[i][rxnID].type == CUSTOM) { + satisfied[i] = custom_constraint(constraints[i][rxnID].str); } } @@ -2085,6 +2096,118 @@ double FixBondReact::get_temperature(tagint **myglove, int row_offset, int col) return t; } +/* ---------------------------------------------------------------------- +evaulate expression for variable constraint +------------------------------------------------------------------------- */ + +double FixBondReact::custom_constraint(std::string varstr) +{ + int pos,pos1,pos2,pos3,irxnfunc; + int prev3 = -1; + double val; + std::string argstr,varid,fragid,evlcat; + std::vector evlstr; + + // search varstr for special 'rxn' functions + while (true) { + // find next reaction special function occurrence + pos1 = INT_MAX; + for (int i = 0; i < nrxnfunction; i++) { + pos = varstr.find(rxnfunclist[i],prev3+1); + if (pos == std::string::npos) continue; + if (pos < pos1) { + pos1 = pos; + irxnfunc = i; + } + } + if (pos1 == INT_MAX) break; + + fragid = "all"; // operate over entire reaction site by default + pos2 = varstr.find("(",pos1); + pos3 = varstr.find(")",pos2); + if (pos2 == std::string::npos || pos3 == std::string::npos) + error->one(FLERR,"Bond/react: Illegal rxn function syntax\n"); + evlstr.push_back(varstr.substr(prev3+1,pos1-(prev3+1))); + prev3 = pos3; + argstr = varstr.substr(pos2+1,pos3-pos2-1); + pos2 = argstr.find(","); + if (pos2 != std::string::npos) { + varid = argstr.substr(0,pos2); + fragid = argstr.substr(pos2+1); + } else varid = argstr; + evlstr.push_back(std::to_string(rxnfunction(rxnfunclist[irxnfunc], varid, fragid))); + } + evlstr.push_back(varstr.substr(prev3+1)); + + for (int i = 0; i < evlstr.size(); i++) + evlcat += evlstr[i]; + + char *cstr = new char[evlcat.length() + 1]; + strcpy(cstr, evlcat.c_str()); + + val = input->variable->compute_equal(cstr); + delete [] cstr; + return val; +} + +/* ---------------------------------------------------------------------- +current two 'rxn' functions: rxnsum and rxnave +------------------------------------------------------------------------- */ + +double FixBondReact::rxnfunction(std::string rxnfunc, std::string varid, + std::string fragid) +{ + if (varid.substr(0,2) != "v_") error->one(FLERR,"Bond/react: Reaction special function variable " + "name should begin with 'v_'"); + varid = varid.substr(2); + int ivar = input->variable->find(varid.c_str()); + if (ivar < 0) + error->one(FLERR,"Bond/react: Reaction special function variable " + "name does not exist"); + if (!input->variable->atomstyle(ivar)) + error->one(FLERR,"Bond/react: Reaction special function must " + "reference an atom-style variable"); + if (vvec == nullptr) { + memory->create(vvec,atom->nlocal,"bond/react:vvec"); + nvvec = atom->nlocal; + } + if (nvvec < atom->nlocal) { + memory->grow(vvec,atom->nlocal,"bond/react:vvec"); + nvvec = atom->nlocal; + } + input->variable->compute_atom(ivar,igroup,vvec,1,0); + int ifrag = -1; + if (fragid != "all") { + ifrag = onemol->findfragment(fragid.c_str()); + if (ifrag < 0) error->one(FLERR,"Bond/react: Molecule fragment " + "in reaction special function does not exist"); + } + + int iatom; + int nsum = 0; + double sumvvec = 0; + if (rxnfunc == "rxnsum" || rxnfunc == "rxnave") { + if (fragid == "all") { + for (int i = 0; i < onemol->natoms; i++) { + iatom = atom->map(glove[i][1]); + sumvvec += vvec[iatom]; + } + nsum = onemol->natoms; + } else { + for (int i = 0; i < onemol->natoms; i++) { + if (onemol->fragmentmask[ifrag][i]) { + iatom = atom->map(glove[i][1]); + sumvvec += vvec[iatom]; + nsum++; + } + } + } + } + + if (rxnfunc == "rxnsum") return sumvvec; + if (rxnfunc == "rxnave") return sumvvec/nsum; +} + /* ---------------------------------------------------------------------- return handedness (1 or -1) of a chiral center, given ordered set of coordinates ------------------------------------------------------------------------- */ @@ -3705,13 +3828,13 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) strcpy(constraintstr[myrxn],"("); // string for boolean constraint logic for (int i = 0; i < nconstraints[myrxn]; i++) { readline(line); - if ((ptr = strrchr(line,'('))) { // reverse char search + if ((ptr = strrchr(line,'{'))) { // reverse char search strncat(constraintstr[myrxn],line,ptr-line+1); line = ptr + 1; } // 'C' indicates where to sub in next constraint strcat(constraintstr[myrxn],"C"); - if ((ptr = strchr(line,')'))) { + if ((ptr = strchr(line,'}'))) { strncat(constraintstr[myrxn],ptr,strrchr(line,')')-ptr+1); } if ((ptr = strstr(line,"&&"))) { @@ -3723,7 +3846,7 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) } else if (i+1 < nconstraints[myrxn]) { strcat(constraintstr[myrxn],"&&"); } - if ((ptr = strchr(line,')'))) + if ((ptr = strchr(line,'}'))) *ptr = '\0'; sscanf(line,"%s",constraint_type); if (strcmp(constraint_type,"distance") == 0) { @@ -3775,8 +3898,11 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) if (ifragment < 0) error->one(FLERR,"Bond/react: Molecule fragment does not exist"); else constraints[i][myrxn].id[0] = ifragment; } - } else - error->one(FLERR,"Bond/react: Illegal constraint type in 'Constraints' section of map file"); + } else if (strcmp(constraint_type,"custom") == 0) { + constraints[i][myrxn].type = CUSTOM; + strtok(line," \t\n\r\f"); + constraints[i][myrxn].str = strtok(nullptr,"\"\t\n\r\f"); + } else error->one(FLERR,"Bond/react: Illegal constraint type in 'Constraints' section of map file"); } strcat(constraintstr[myrxn],")"); // close boolean constraint logic string delete [] constraint_type; diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h old mode 100644 new mode 100755 index 67788df217..b54e5b6b24 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -74,6 +74,8 @@ class FixBondReact : public Fix { int maxnconstraints; int *nconstraints; char **constraintstr; + int nrxnfunction; + std::vector rxnfunclist; int narrhenius; int **var_flag,**var_id; // for keyword values with variable inputs int status; @@ -138,6 +140,8 @@ class FixBondReact : public Fix { int **delete_atoms; // atoms in pre-reacted templates to delete int **create_atoms; // atoms in post-reacted templates to create int ***chiral_atoms; // pre-react chiral atoms. 1) flag 2) orientation 3-4) ordered atom types + int nvvec; + double *vvec; // per-atom vector to store variable constraint atom-style variable values int **nxspecial,**onemol_nxspecial,**twomol_nxspecial; // full number of 1-4 neighbors tagint **xspecial,**onemol_xspecial,**twomol_xspecial; // full 1-4 neighbor list @@ -175,6 +179,8 @@ class FixBondReact : public Fix { int check_constraints(); void get_IDcoords(int, int, double *); double get_temperature(tagint **, int, int); + double custom_constraint(std::string); + double rxnfunction(std::string, std::string, std::string); int get_chirality(double[12]); // get handedness given an ordered set of coordinates void open(char *); @@ -209,6 +215,7 @@ class FixBondReact : public Fix { int id[MAXCONIDS]; int idtype[MAXCONIDS]; double par[MAXCONPAR]; + std::string str; }; Constraint **constraints; From 21a38c203a893a8aa3b87b2b1b596b0300542968 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 15 Apr 2021 16:11:39 -0400 Subject: [PATCH 109/542] bond/react: custom constraint docs --- doc/src/fix_bond_react.rst | 43 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 5291aff81b..f42952ecdc 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -328,8 +328,8 @@ keyword 'ChiralIDs' lists the atom IDs of chiral atoms whose handedness should be enforced. The fifth optional section begins with the keyword 'Constraints' and lists additional criteria that must be satisfied in order for the reaction to occur. Currently, there are -five types of constraints available, as discussed below: 'distance', -'angle', 'dihedral', 'arrhenius', and 'rmsd'. +six types of constraints available, as discussed below: 'distance', +'angle', 'dihedral', 'arrhenius', 'rmsd', and 'custom'. A sample map file is given below: @@ -500,6 +500,45 @@ example, the molecule fragment could consist of only the backbone atoms of a polymer chain. This constraint can be used to enforce a specific relative position and orientation between reacting molecules. +The constraint of type 'custom' has the following syntax: + +.. parsed-literal:: + + custom *varstring* + +where 'custom' is the required keyword, and *varstring* is a +variable expression. The expression must be a valid equal-style +variable formula that can be read by the :doc:`variable ` command, +after any special reaction functions are evaluated. If the resulting +expression is zero, the reaction is prevented from occurring; +otherwise, it is permitted to occur. There are two special reaction +functions available, 'rxnsum' and 'rxnave'. These functions operate +over the atoms in a given reaction site, and have one mandatory +argument and one optional argument. The mandatory argument is the +identifier for an atom-style variable. The second, optional argument +is the name of a molecule fragment in the pre-reaction template, and +can be used to operate over a subset of atoms in the reaction site. +The 'rxnsum' function sums the atom-style variable over the reaction +site, while the 'rxnave' returns the average value. For example, a +constraint on the total potential energy of atoms involved in the +reaction can be imposed as follows: + +.. code-block:: LAMMPS + +compute 1 all pe/atom # in LAMMPS input script +variable my_pe atom c_1 # in LAMMPS input script + +.. code-block:: LAMMPS + +custom "rxnsum(v_my_pe) > 100" # in Constraints section of map file + +The above example prevents the reaction from occurring unless the +total potential energy of the reaction site is above 100. The variable +expression can be interpreted as the probability of the reaction +occurring by using an inequality and the 'random(x,y,z)' function +available as an equal-style variable input, similar to the 'arrhenius' +constraint above. + By default, all constraints must be satisfied for the reaction to occur. In other words, constraints are evaluated as a series of logical values using the logical AND operator "&&". More complex logic From 024725c3e0667ac1ed9db86f8bce21d62d9582d0 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 15 Apr 2021 16:19:09 -0400 Subject: [PATCH 110/542] notation update constraints can be grouped logically with curly brackets now, instead of parentheses --- doc/src/fix_bond_react.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index f42952ecdc..ec6123f0f1 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -546,15 +546,15 @@ can be achieved by explicitly adding the logical AND operator "&&" or the logical OR operator "||" after a given constraint command. If a logical operator is specified after a constraint, it must be placed after all constraint parameters, on the same line as the constraint -(one per line). Similarly, parentheses can be used to group +(one per line). Similarly, curly brackets can be used to group constraints. The expression that results from concatenating all constraints should be a valid logical expression that can be read by the :doc:`variable ` command after converting each constraint to a logical value. Because exactly one constraint is allowed per line, having a valid logical expression implies that left -parentheses "(" should only appear before a constraint, and right -parentheses ")" should only appear after a constraint and before any -logical operator. +curly brackets "{" should only appear before a constraint, and right +curly brackets "}" should only appear after a constraint and before +any logical operator. Once a reaction site has been successfully identified, data structures within LAMMPS that store bond topology are updated to reflect the From 9031c230801cc60fca3445134224337880466fca Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 16 Apr 2021 14:14:18 +0200 Subject: [PATCH 111/542] add extended dpd (dpdext & dpdext_tstat) --- doc/src/pair_dpdext.rst | 137 + examples/USER/dpdext/README | 10 + examples/USER/dpdext/dpdext/dpdext.data | 2196 +++++++++++++++++ examples/USER/dpdext/dpdext/in.dpdext | 44 + .../dpdext/dpdext/log.10Mar21.dpdext.g++.1 | 201 ++ .../dpdext/dpdext/log.10Mar21.dpdext.g++.4 | 201 ++ .../USER/dpdext/dpdext_tstat/cg_spce.data | 2196 +++++++++++++++++ .../dpdext/dpdext_tstat/cg_spce_table.pot | 354 +++ examples/USER/dpdext/dpdext_tstat/in.cg_spce | 31 + .../dpdext_tstat/log.10Mar21.dpdext.g++.1 | 293 +++ .../dpdext_tstat/log.10Mar21.dpdext.g++.4 | 293 +++ src/Makefile | 2 +- src/USER-DPDEXT/README | 10 + src/USER-DPDEXT/pair_dpd_ext.cpp | 496 ++++ src/USER-DPDEXT/pair_dpd_ext.h | 86 + src/USER-DPDEXT/pair_dpd_tstat_ext.cpp | 376 +++ src/USER-DPDEXT/pair_dpd_tstat_ext.h | 62 + 17 files changed, 6987 insertions(+), 1 deletion(-) create mode 100644 doc/src/pair_dpdext.rst create mode 100644 examples/USER/dpdext/README create mode 100755 examples/USER/dpdext/dpdext/dpdext.data create mode 100755 examples/USER/dpdext/dpdext/in.dpdext create mode 100644 examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 create mode 100644 examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 create mode 100755 examples/USER/dpdext/dpdext_tstat/cg_spce.data create mode 100755 examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot create mode 100755 examples/USER/dpdext/dpdext_tstat/in.cg_spce create mode 100644 examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 create mode 100644 examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 create mode 100644 src/USER-DPDEXT/README create mode 100644 src/USER-DPDEXT/pair_dpd_ext.cpp create mode 100644 src/USER-DPDEXT/pair_dpd_ext.h create mode 100644 src/USER-DPDEXT/pair_dpd_tstat_ext.cpp create mode 100644 src/USER-DPDEXT/pair_dpd_tstat_ext.h diff --git a/doc/src/pair_dpdext.rst b/doc/src/pair_dpdext.rst new file mode 100644 index 0000000000..301f9f3ea0 --- /dev/null +++ b/doc/src/pair_dpdext.rst @@ -0,0 +1,137 @@ +.. index:: pair_style dpdext + +pair_style dpdext command +========================== + +pair_style dpdext/tstat command +================================ + +Syntax +"""""" + + +.. code-block:: LAMMPS + + pair_style dpdext T cutoff seed + pair_style dpdext/tstat Tstart Tstop cutoff seed + +* T = temperature (temperature units) +* Tstart,Tstop = desired temperature at start/end of run (temperature units) +* cutoff = global cutoff for DPD interactions (distance units) +* seed = random # seed (positive integer) + +Examples +"""""""" + + +.. code-block:: LAMMPS + + pair_style dpdext 1.0 2.5 34387 + pair_coeff 1 1 25.0 4.5 4.5 0.5 0.5 1.2 + pair_coeff 1 2 40.0 4.5 4.5 0.5 0.5 1.2 + + pair_style dpdext/tstat 1.0 1.0 2.5 34387 + pair_coeff 1 1 4.5 4.5 0.5 0.5 1.2 + pair_coeff 1 2 4.5 4.5 0.5 0.5 1.2 + +Description +""""""""""" + +The style *dpdext* computes an extended force field for dissipative particle dynamics (DPD) following the exposition in :ref:`(Groot) `, :ref:`(Junghans) `. + +Style *dpdext/tstat* invokes an extended DPD thermostat on pairwise interactions, which is equivalent to the non-conservative portion of the extended DPD force field. To use *dpdext/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. + +For the style *dpdext*\ , the force on atom I due to atom J is given as a sum +of 3 terms + +.. math:: + + \mathbf{f} = & f^C + f^D + f^R \qquad \qquad r < r_c \\ + f^C = & A_{ij} w(r) \hat{\mathbf{r}}_{ij} \\ + f^D = & - \gamma_{\parallel} w_{\parallel}^2(r) (\hat{\mathbf{r}}_{ij} \cdot \mathbf{v}_{ij}) \hat{\mathbf{r}}_{ij} - \gamma_{\perp} w_{\perp}^2 (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \mathbf{v}_{ij} \\ + f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\ + w(r) = & 1 - r/r_c \\ + +where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\a` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. + +For the style *dpdext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. + +For the style *dpdext*\ , the pairwise energy associated with style *dpdext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. For style *dpdext/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. + +For the style *dpdext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. + +For the style *dpdext*\ , the pairwise energy associated with style *dpdext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. For style *dpdext/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. + +For the style *dpdext*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above: + +* A (force units) +* :math:`\gamma_{\perp}` (force/velocity units) +* :math:`\gamma_{\parallel}` (force/velocity units) +* :math:`s_{\perp}` (unitless) +* :math:`s_{\parallel}` (unitless) +* :math:`r_c` (distance units) + +The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that :math:`\sigma`'s are set equal to :math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by the :doc:`pair_style ` command so it does not need to be specified. + + +For the style *dpdext/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. + +.. note:: + + If you are modeling DPD polymer chains, you may want to use the :doc:`pair_style srp ` command in conjunction with these pair styles. It is a soft segmental repulsive potential (SRP) that can prevent DPD polymer chains from crossing each other. + +.. note:: + + The virial calculation for pressure when using this pair style includes all the components of force listed above, including the random force. + +---------- + + +**Mixing, shift, table, tail correction, restart, rRESPA info**\ : + +The style *dpdext* does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. + +The pair styles do not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative :math:`\mathbf{f}^C` term is already shifted to be zero at the cutoff distance :math:`r_c`. + +The :doc:`pair_modify ` table option is not relevant for the style *dpdext*. + +The style *dpdext* does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. + +The pair styles can only be used via the pair keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , and *outer*\ keywords. + +The style *dpdext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. + +---------- + + +Restrictions +"""""""""""" + +The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too infrequent for style *dpdext* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of \say{dangerous} reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. + +The pair styles require to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. + +The pair styles will not restart exactly when using the :doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the :doc:`read_restart ` command for more details. + +Related commands +"""""""""""""""" + +:doc:`pair_style dpd `, :doc:`pair_coeff `, :doc:`fix nvt `, :doc:`fix langevin `, :doc:`pair_style srp ` + +**Default:** none + + +---------- + + +.. _Groot: + + + +**(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997). + +.. _Junghans: + + + +**(Junghans)** Junghans, Praprotnik and Kremer, Soft Matter 4, 156, 1119-1128 (2008). diff --git a/examples/USER/dpdext/README b/examples/USER/dpdext/README new file mode 100644 index 0000000000..43d66c4bd3 --- /dev/null +++ b/examples/USER/dpdext/README @@ -0,0 +1,10 @@ +Examples for Extended Dissipative Particle Dynamics (DPD) +--------------------------------------------------------- +This directory contains examples for extended DPD simulations + +1) 'dpdext' - test case (DPD fluid) for 'dpdext' pair style (in.dpdext) and an initial + configuration (dpdext.data) + +2) 'dpdext_tstat' - test case (coarse-grained SPC/E water) for 'dpdext/tstat' pair style + (in.cg_spce), an initial configuration (dpdext.data) and tabulated potential + (cg_spce_table.pot) obtained by bottom-up coarse-graining of the atomistic SPC/E water. diff --git a/examples/USER/dpdext/dpdext/dpdext.data b/examples/USER/dpdext/dpdext/dpdext.data new file mode 100755 index 0000000000..dddbf6ad6c --- /dev/null +++ b/examples/USER/dpdext/dpdext/dpdext.data @@ -0,0 +1,2196 @@ + DPD Fluid + + 2180 atoms + + 1 atom types + + 0.0000000E+00 40.310000000000 xlo xhi + 0.0000000E+00 40.310000000000 ylo yhi + 0.0000000E+00 40.310000000000 zlo zhi + + Masses + +1 18.01540 + + Atoms + +1 1 2.815000E+01 5.430000E+00 2.370000E+00 +2 1 1.890000E+00 2.957000E+01 1.761000E+01 +3 1 8.920000E+00 3.556000E+01 8.240000E+00 +4 1 2.307000E+01 9.600000E+00 4.710000E+00 +5 1 1.688000E+01 8.940000E+00 3.880000E+00 +6 1 2.571000E+01 1.277000E+01 1.056000E+01 +7 1 2.788000E+01 3.328000E+01 1.300000E-01 +8 1 3.287000E+01 2.050000E+00 1.368000E+01 +9 1 4.900000E+00 2.183000E+01 1.751000E+01 +10 1 9.670000E+00 3.108000E+01 1.843000E+01 +11 1 1.233000E+01 3.490000E+00 1.091000E+01 +12 1 6.630000E+00 1.581000E+01 3.455000E+01 +13 1 3.951000E+01 2.047000E+01 2.288000E+01 +14 1 3.977000E+01 3.173000E+01 9.060000E+00 +15 1 5.370000E+00 8.940000E+00 3.646000E+01 +16 1 2.129000E+01 3.853000E+01 3.468000E+01 +17 1 1.987000E+01 2.677000E+01 3.762000E+01 +18 1 2.658000E+01 3.167000E+01 2.280000E+00 +19 1 1.231000E+01 3.336000E+01 1.098000E+01 +20 1 7.310000E+00 1.410000E+01 1.654000E+01 +21 1 3.388000E+01 2.584000E+01 1.677000E+01 +22 1 1.115000E+01 3.070000E+00 3.992000E+01 +23 1 3.171000E+01 3.195000E+01 2.267000E+01 +24 1 5.960000E+00 3.507000E+01 1.230000E+01 +25 1 2.904000E+01 1.740000E+00 9.460000E+00 +26 1 1.539000E+01 2.686000E+01 2.030000E+00 +27 1 3.890000E+00 2.148000E+01 2.877000E+01 +28 1 4.550000E+00 2.800000E+01 2.431000E+01 +29 1 9.680000E+00 3.992000E+01 2.964000E+01 +30 1 2.560000E+00 3.939000E+01 2.987000E+01 +31 1 4.960000E+00 2.280000E+01 6.230000E+00 +32 1 2.795000E+01 3.511000E+01 9.810000E+00 +33 1 3.254000E+01 3.032000E+01 3.025000E+01 +34 1 2.292000E+01 3.033000E+01 1.730000E+01 +35 1 2.190000E+00 2.025000E+01 3.929000E+01 +36 1 9.460000E+00 3.815000E+01 6.950000E+00 +37 1 2.409000E+01 2.885000E+01 7.730000E+00 +38 1 3.711000E+01 3.888000E+01 3.314000E+01 +39 1 3.492000E+01 1.987000E+01 8.240000E+00 +40 1 1.350000E+00 3.799000E+01 3.885000E+01 +41 1 3.289000E+01 3.289000E+01 1.859000E+01 +42 1 3.337000E+01 1.603000E+01 3.141000E+01 +43 1 5.120000E+00 6.540000E+00 3.231000E+01 +44 1 5.080000E+00 3.640000E+00 2.178000E+01 +45 1 7.090000E+00 1.072000E+01 1.911000E+01 +46 1 2.804000E+01 1.444000E+01 2.027000E+01 +47 1 2.972000E+01 3.928000E+01 2.997000E+01 +48 1 2.170000E+01 3.263000E+01 3.100000E+01 +49 1 3.063000E+01 8.940000E+00 3.410000E+00 +50 1 2.400000E+00 1.484000E+01 2.534000E+01 +51 1 2.128000E+01 3.944000E+01 1.892000E+01 +52 1 3.616000E+01 3.993000E+01 1.443000E+01 +53 1 2.416000E+01 2.414000E+01 1.280000E+01 +54 1 3.177000E+01 1.047000E+01 1.568000E+01 +55 1 4.024000E+01 1.188000E+01 3.343000E+01 +56 1 6.040000E+00 1.367000E+01 4.028000E+01 +57 1 1.537000E+01 3.589000E+01 6.930000E+00 +58 1 1.231000E+01 2.220000E+00 1.471000E+01 +59 1 3.450000E+00 4.810000E+00 2.487000E+01 +60 1 1.589000E+01 2.520000E+00 1.705000E+01 +61 1 3.705000E+01 3.620000E+01 6.730000E+00 +62 1 3.777000E+01 2.710000E+01 4.029000E+01 +63 1 8.260000E+00 2.033000E+01 4.030000E+01 +64 1 8.210000E+00 3.558000E+01 1.717000E+01 +65 1 3.338000E+01 1.389000E+01 2.210000E+01 +66 1 1.454000E+01 1.650000E+00 1.300000E+01 +67 1 1.977000E+01 3.489000E+01 1.751000E+01 +68 1 5.630000E+00 4.220000E+00 3.875000E+01 +69 1 7.570000E+00 2.576000E+01 1.371000E+01 +70 1 9.340000E+00 3.392000E+01 3.538000E+01 +71 1 2.116000E+01 8.590000E+00 1.475000E+01 +72 1 2.328000E+01 4.022000E+01 1.138000E+01 +73 1 1.298000E+01 3.479000E+01 2.338000E+01 +74 1 2.232000E+01 3.339000E+01 5.320000E+00 +75 1 3.290000E+00 3.240000E+01 2.024000E+01 +76 1 3.794000E+01 3.982000E+01 1.790000E+00 +77 1 1.111000E+01 1.440000E+01 2.301000E+01 +78 1 2.556000E+01 1.714000E+01 1.684000E+01 +79 1 2.500000E+00 2.474000E+01 2.028000E+01 +80 1 1.692000E+01 3.837000E+01 1.303000E+01 +81 1 6.310000E+00 2.551000E+01 3.960000E+01 +82 1 2.402000E+01 1.966000E+01 2.905000E+01 +83 1 2.216000E+01 9.500000E+00 2.543000E+01 +84 1 2.006000E+01 3.431000E+01 4.260000E+00 +85 1 2.198000E+01 8.670000E+00 2.806000E+01 +86 1 1.465000E+01 2.763000E+01 8.340000E+00 +87 1 3.975000E+01 3.870000E+00 3.701000E+01 +88 1 2.952000E+01 7.340000E+00 5.310000E+00 +89 1 2.759000E+01 1.589000E+01 3.402000E+01 +90 1 3.746000E+01 3.945000E+01 2.486000E+01 +91 1 2.370000E+01 2.429000E+01 2.803000E+01 +92 1 1.270000E+01 1.653000E+01 2.314000E+01 +93 1 1.653000E+01 2.786000E+01 2.885000E+01 +94 1 3.146000E+01 2.340000E+00 8.320000E+00 +95 1 3.406000E+01 2.124000E+01 2.389000E+01 +96 1 5.130000E+00 1.574000E+01 8.360000E+00 +97 1 3.087000E+01 6.020000E+00 2.295000E+01 +98 1 3.607000E+01 3.674000E+01 9.200000E+00 +99 1 2.507000E+01 2.107000E+01 3.778000E+01 +100 1 3.351000E+01 4.870000E+00 1.301000E+01 +101 1 2.978000E+01 1.879000E+01 1.277000E+01 +102 1 2.496000E+01 1.400000E-01 3.900000E+01 +103 1 3.761000E+01 3.179000E+01 2.540000E+00 +104 1 2.600000E+00 6.800000E+00 3.347000E+01 +105 1 2.570000E+01 3.173000E+01 1.831000E+01 +106 1 9.460000E+00 1.524000E+01 2.542000E+01 +107 1 2.255000E+01 2.515000E+01 2.190000E+00 +108 1 1.902000E+01 1.988000E+01 3.138000E+01 +109 1 9.450000E+00 3.164000E+01 2.652000E+01 +110 1 6.810000E+00 9.420000E+00 1.463000E+01 +111 1 1.651000E+01 5.200000E+00 2.836000E+01 +112 1 2.234000E+01 2.475000E+01 3.956000E+01 +113 1 3.805000E+01 2.946000E+01 9.080000E+00 +114 1 3.553000E+01 1.590000E+01 1.032000E+01 +115 1 2.565000E+01 3.402000E+01 1.062000E+01 +116 1 1.554000E+01 5.410000E+00 3.926000E+01 +117 1 2.449000E+01 1.282000E+01 1.305000E+01 +118 1 1.590000E+00 3.743000E+01 3.398000E+01 +119 1 1.954000E+01 9.570000E+00 1.179000E+01 +120 1 9.870000E+00 1.497000E+01 1.872000E+01 +121 1 2.925000E+01 3.397000E+01 7.650000E+00 +122 1 2.738000E+01 3.514000E+01 2.980000E+01 +123 1 3.704000E+01 2.310000E+00 2.189000E+01 +124 1 1.988000E+01 1.471000E+01 1.600000E-01 +125 1 1.118000E+01 1.476000E+01 3.354000E+01 +126 1 3.100000E-01 2.588000E+01 3.313000E+01 +127 1 3.437000E+01 2.586000E+01 2.337000E+01 +128 1 3.931000E+01 3.398000E+01 3.424000E+01 +129 1 7.070000E+00 3.063000E+01 2.188000E+01 +130 1 1.840000E+00 1.104000E+01 1.974000E+01 +131 1 1.924000E+01 3.244000E+01 3.670000E+01 +132 1 1.675000E+01 3.463000E+01 1.524000E+01 +133 1 1.670000E+01 3.557000E+01 2.765000E+01 +134 1 3.999000E+01 3.970000E+01 2.385000E+01 +135 1 3.096000E+01 5.990000E+00 1.962000E+01 +136 1 2.357000E+01 1.297000E+01 2.012000E+01 +137 1 5.010000E+00 1.524000E+01 3.843000E+01 +138 1 6.180000E+00 1.152000E+01 2.331000E+01 +139 1 1.200000E+00 2.550000E+01 2.334000E+01 +140 1 4.210000E+00 2.882000E+01 1.460000E+00 +141 1 5.750000E+00 2.729000E+01 7.300000E+00 +142 1 2.792000E+01 6.980000E+00 2.345000E+01 +143 1 9.150000E+00 1.540000E+00 3.415000E+01 +144 1 3.475000E+01 3.229000E+01 2.751000E+01 +145 1 2.668000E+01 2.350000E+00 2.394000E+01 +146 1 3.942000E+01 8.270000E+00 2.016000E+01 +147 1 7.790000E+00 9.330000E+00 2.277000E+01 +148 1 3.106000E+01 3.520000E+01 1.946000E+01 +149 1 1.154000E+01 4.670000E+00 2.609000E+01 +150 1 3.318000E+01 3.935000E+01 3.181000E+01 +151 1 3.033000E+01 3.290000E+00 1.594000E+01 +152 1 2.314000E+01 1.230000E+00 6.300000E-01 +153 1 2.688000E+01 1.040000E+01 1.937000E+01 +154 1 2.805000E+01 3.313000E+01 1.849000E+01 +155 1 3.801000E+01 1.582000E+01 2.545000E+01 +156 1 2.225000E+01 3.680000E+00 9.400000E-01 +157 1 3.259000E+01 2.797000E+01 1.170000E+01 +158 1 1.934000E+01 1.035000E+01 4.000000E-02 +159 1 2.211000E+01 1.586000E+01 4.280000E+00 +160 1 2.636000E+01 2.283000E+01 3.116000E+01 +161 1 3.060000E+00 1.832000E+01 3.778000E+01 +162 1 4.009000E+01 3.503000E+01 8.480000E+00 +163 1 2.116000E+01 3.349000E+01 2.047000E+01 +164 1 2.972000E+01 2.068000E+01 8.160000E+00 +165 1 2.669000E+01 9.500000E-01 7.660000E+00 +166 1 4.360000E+00 6.290000E+00 2.123000E+01 +167 1 3.325000E+01 3.367000E+01 1.095000E+01 +168 1 3.761000E+01 3.190000E+00 1.278000E+01 +169 1 3.670000E+00 2.074000E+01 1.536000E+01 +170 1 1.508000E+01 1.371000E+01 3.257000E+01 +171 1 3.460000E+00 2.393000E+01 2.349000E+01 +172 1 1.095000E+01 1.959000E+01 1.153000E+01 +173 1 2.578000E+01 2.144000E+01 3.342000E+01 +174 1 1.847000E+01 6.670000E+00 6.450000E+00 +175 1 3.564000E+01 3.459000E+01 1.988000E+01 +176 1 1.759000E+01 1.536000E+01 2.579000E+01 +177 1 1.543000E+01 4.010000E+00 1.133000E+01 +178 1 5.270000E+00 8.170000E+00 2.305000E+01 +179 1 7.670000E+00 2.964000E+01 3.700000E-01 +180 1 8.700000E-01 2.032000E+01 3.475000E+01 +181 1 6.880000E+00 3.688000E+01 5.760000E+00 +182 1 2.034000E+01 2.438000E+01 7.170000E+00 +183 1 2.680000E+01 2.198000E+01 1.000000E-02 +184 1 1.444000E+01 2.689000E+01 1.594000E+01 +185 1 3.904000E+01 2.121000E+01 9.920000E+00 +186 1 9.170000E+00 3.546000E+01 4.400000E-01 +187 1 1.350000E+01 1.685000E+01 5.530000E+00 +188 1 7.110000E+00 2.915000E+01 1.820000E+01 +189 1 3.826000E+01 1.259000E+01 2.531000E+01 +190 1 1.024000E+01 1.480000E+00 1.877000E+01 +191 1 3.318000E+01 2.380000E+00 1.160000E+00 +192 1 1.620000E+01 2.425000E+01 2.638000E+01 +193 1 3.329000E+01 1.363000E+01 1.299000E+01 +194 1 2.751000E+01 2.008000E+01 1.454000E+01 +195 1 6.290000E+00 2.970000E+01 6.260000E+00 +196 1 2.577000E+01 1.073000E+01 1.675000E+01 +197 1 1.178000E+01 2.553000E+01 2.947000E+01 +198 1 1.227000E+01 2.341000E+01 1.374000E+01 +199 1 3.420000E+00 3.994000E+01 3.429000E+01 +200 1 7.020000E+00 3.270000E+00 1.405000E+01 +201 1 3.130000E+01 8.500000E-01 3.230000E+01 +202 1 3.793000E+01 6.070000E+00 2.987000E+01 +203 1 5.770000E+00 2.558000E+01 2.327000E+01 +204 1 3.144000E+01 3.996000E+01 2.539000E+01 +205 1 2.692000E+01 2.118000E+01 2.730000E+00 +206 1 1.698000E+01 1.947000E+01 3.821000E+01 +207 1 2.264000E+01 3.201000E+01 3.543000E+01 +208 1 3.579000E+01 8.900000E-01 2.210000E+00 +209 1 2.386000E+01 9.300000E-01 7.290000E+00 +210 1 1.831000E+01 2.571000E+01 8.400000E-01 +211 1 1.325000E+01 1.549000E+01 1.296000E+01 +212 1 2.693000E+01 3.916000E+01 3.400000E-01 +213 1 2.757000E+01 1.330000E+01 1.579000E+01 +214 1 3.146000E+01 2.151000E+01 2.460000E+01 +215 1 5.010000E+00 2.472000E+01 1.316000E+01 +216 1 3.586000E+01 7.470000E+00 1.382000E+01 +217 1 2.176000E+01 1.877000E+01 1.732000E+01 +218 1 7.300000E+00 1.480000E+01 7.050000E+00 +219 1 8.680000E+00 2.746000E+01 7.610000E+00 +220 1 3.326000E+01 3.281000E+01 1.580000E+01 +221 1 2.980000E+00 1.509000E+01 2.820000E+01 +222 1 3.621000E+01 1.533000E+01 1.612000E+01 +223 1 8.640000E+00 9.260000E+00 1.227000E+01 +224 1 2.920000E+01 1.315000E+01 2.229000E+01 +225 1 1.842000E+01 3.040000E+00 2.652000E+01 +226 1 6.990000E+00 1.572000E+01 3.156000E+01 +227 1 9.330000E+00 4.450000E+00 3.682000E+01 +228 1 3.521000E+01 1.321000E+01 9.970000E+00 +229 1 1.032000E+01 1.774000E+01 3.277000E+01 +230 1 3.870000E+01 2.491000E+01 3.721000E+01 +231 1 2.480000E+00 3.320000E+01 3.706000E+01 +232 1 3.795000E+01 5.200000E+00 2.095000E+01 +233 1 1.240000E+00 1.685000E+01 1.170000E+01 +234 1 2.528000E+01 3.293000E+01 3.957000E+01 +235 1 3.658000E+01 3.679000E+01 1.689000E+01 +236 1 1.325000E+01 2.419000E+01 4.700000E+00 +237 1 1.819000E+01 4.320000E+00 0.000000E+00 +238 1 3.282000E+01 7.330000E+00 3.172000E+01 +239 1 5.030000E+00 3.222000E+01 1.552000E+01 +240 1 6.640000E+00 3.435000E+01 1.538000E+01 +241 1 7.250000E+00 8.860000E+00 3.137000E+01 +242 1 2.514000E+01 5.190000E+00 5.740000E+00 +243 1 1.975000E+01 2.949000E+01 2.054000E+01 +244 1 2.737000E+01 2.537000E+01 9.950000E+00 +245 1 1.586000E+01 1.974000E+01 9.550000E+00 +246 1 3.506000E+01 2.875000E+01 3.141000E+01 +247 1 2.802000E+01 2.129000E+01 1.900000E+01 +248 1 3.022000E+01 2.140000E+01 3.370000E+01 +249 1 7.530000E+00 1.148000E+01 1.661000E+01 +250 1 2.137000E+01 2.405000E+01 1.341000E+01 +251 1 8.940000E+00 1.907000E+01 2.363000E+01 +252 1 2.814000E+01 3.540000E+01 1.704000E+01 +253 1 2.201000E+01 1.323000E+01 5.790000E+00 +254 1 3.282000E+01 1.123000E+01 2.798000E+01 +255 1 3.007000E+01 3.075000E+01 3.564000E+01 +256 1 2.144000E+01 2.451000E+01 3.577000E+01 +257 1 2.238000E+01 2.254000E+01 6.560000E+00 +258 1 2.965000E+01 3.416000E+01 2.582000E+01 +259 1 3.839000E+01 3.504000E+01 3.685000E+01 +260 1 3.415000E+01 1.119000E+01 3.936000E+01 +261 1 3.310000E+01 1.422000E+01 2.646000E+01 +262 1 1.370000E+01 3.952000E+01 1.585000E+01 +263 1 1.279000E+01 2.395000E+01 2.746000E+01 +264 1 1.760000E+00 3.403000E+01 1.054000E+01 +265 1 1.049000E+01 7.180000E+00 2.963000E+01 +266 1 1.886000E+01 4.200000E+00 1.764000E+01 +267 1 7.570000E+00 1.001000E+01 8.850000E+00 +268 1 2.180000E+01 2.746000E+01 3.128000E+01 +269 1 3.308000E+01 2.905000E+01 1.539000E+01 +270 1 3.186000E+01 2.445000E+01 6.800000E+00 +271 1 3.047000E+01 2.204000E+01 6.050000E+00 +272 1 1.734000E+01 2.366000E+01 3.421000E+01 +273 1 1.277000E+01 2.862000E+01 2.138000E+01 +274 1 9.830000E+00 2.602000E+01 1.516000E+01 +275 1 3.661000E+01 1.411000E+01 2.375000E+01 +276 1 1.343000E+01 1.414000E+01 2.735000E+01 +277 1 1.653000E+01 2.172000E+01 2.870000E+00 +278 1 2.107000E+01 2.185000E+01 3.690000E+01 +279 1 3.664000E+01 3.410000E+01 2.809000E+01 +280 1 3.016000E+01 2.572000E+01 2.045000E+01 +281 1 1.800000E+00 1.859000E+01 6.690000E+00 +282 1 9.300000E-01 2.920000E+00 3.291000E+01 +283 1 1.215000E+01 2.864000E+01 5.550000E+00 +284 1 1.697000E+01 3.419000E+01 1.006000E+01 +285 1 1.210000E+00 4.930000E+00 4.830000E+00 +286 1 1.177000E+01 4.940000E+00 1.829000E+01 +287 1 2.625000E+01 7.380000E+00 2.798000E+01 +288 1 9.000000E-01 9.530000E+00 2.272000E+01 +289 1 1.592000E+01 1.530000E+01 1.692000E+01 +290 1 2.390000E+00 1.613000E+01 6.940000E+00 +291 1 3.898000E+01 7.710000E+00 8.020000E+00 +292 1 3.644000E+01 2.475000E+01 3.385000E+01 +293 1 2.802000E+01 3.480000E+00 4.028000E+01 +294 1 3.279000E+01 2.458000E+01 2.784000E+01 +295 1 1.913000E+01 3.837000E+01 2.331000E+01 +296 1 2.613000E+01 3.081000E+01 2.674000E+01 +297 1 2.532000E+01 3.771000E+01 1.013000E+01 +298 1 1.711000E+01 2.262000E+01 1.300000E+01 +299 1 2.871000E+01 1.246000E+01 1.832000E+01 +300 1 1.272000E+01 4.620000E+00 1.570000E+01 +301 1 2.197000E+01 2.425000E+01 2.139000E+01 +302 1 8.500000E+00 3.999000E+01 2.546000E+01 +303 1 4.070000E+00 3.246000E+01 4.270000E+00 +304 1 4.013000E+01 2.952000E+01 1.460000E+01 +305 1 5.930000E+00 3.346000E+01 2.326000E+01 +306 1 1.439000E+01 9.140000E+00 2.484000E+01 +307 1 9.330000E+00 6.640000E+00 2.131000E+01 +308 1 1.420000E+00 3.616000E+01 1.303000E+01 +309 1 2.305000E+01 2.713000E+01 1.359000E+01 +310 1 1.925000E+01 2.965000E+01 3.961000E+01 +311 1 2.497000E+01 6.660000E+00 1.485000E+01 +312 1 2.556000E+01 2.865000E+01 2.880000E+01 +313 1 7.550000E+00 2.085000E+01 3.045000E+01 +314 1 1.802000E+01 2.925000E+01 3.721000E+01 +315 1 1.246000E+01 3.098000E+01 2.556000E+01 +316 1 2.276000E+01 1.251000E+01 2.868000E+01 +317 1 3.486000E+01 2.344000E+01 3.855000E+01 +318 1 6.280000E+00 3.151000E+01 3.906000E+01 +319 1 3.735000E+01 2.264000E+01 3.812000E+01 +320 1 1.332000E+01 8.980000E+00 7.770000E+00 +321 1 7.600000E+00 3.136000E+01 7.920000E+00 +322 1 3.200000E+00 2.920000E+00 5.280000E+00 +323 1 8.170000E+00 3.254000E+01 2.026000E+01 +324 1 3.333000E+01 1.170000E+00 1.636000E+01 +325 1 6.700000E+00 2.234000E+01 2.669000E+01 +326 1 6.900000E+00 1.025000E+01 1.160000E+00 +327 1 2.358000E+01 5.690000E+00 2.170000E+01 +328 1 6.430000E+00 2.517000E+01 1.905000E+01 +329 1 2.326000E+01 8.260000E+00 2.295000E+01 +330 1 2.460000E+01 5.410000E+00 4.700000E-01 +331 1 1.027000E+01 3.768000E+01 9.570000E+00 +332 1 9.450000E+00 1.871000E+01 3.017000E+01 +333 1 2.388000E+01 3.240000E+01 3.140000E+00 +334 1 1.889000E+01 2.567000E+01 1.466000E+01 +335 1 2.108000E+01 3.427000E+01 3.588000E+01 +336 1 3.488000E+01 3.803000E+01 2.242000E+01 +337 1 3.365000E+01 1.929000E+01 1.290000E+01 +338 1 1.810000E+01 3.344000E+01 1.303000E+01 +339 1 2.758000E+01 1.885000E+01 3.407000E+01 +340 1 3.829000E+01 2.758000E+01 7.120000E+00 +341 1 2.168000E+01 3.619000E+01 2.075000E+01 +342 1 5.040000E+00 2.573000E+01 5.050000E+00 +343 1 1.410000E+00 3.445000E+01 2.788000E+01 +344 1 2.773000E+01 1.125000E+01 3.333000E+01 +345 1 2.771000E+01 2.476000E+01 3.514000E+01 +346 1 2.428000E+01 1.029000E+01 2.774000E+01 +347 1 3.090000E+00 2.826000E+01 2.660000E+01 +348 1 3.362000E+01 1.246000E+01 1.582000E+01 +349 1 3.486000E+01 7.960000E+00 2.133000E+01 +350 1 8.200000E-01 3.203000E+01 2.350000E+01 +351 1 3.545000E+01 3.597000E+01 2.943000E+01 +352 1 8.600000E-01 1.621000E+01 1.422000E+01 +353 1 3.739000E+01 3.666000E+01 1.962000E+01 +354 1 2.228000E+01 2.954000E+01 3.150000E+00 +355 1 2.835000E+01 5.820000E+00 7.670000E+00 +356 1 9.200000E-01 2.790000E+00 3.912000E+01 +357 1 3.029000E+01 1.368000E+01 1.318000E+01 +358 1 9.330000E+00 2.945000E+01 3.619000E+01 +359 1 2.842000E+01 4.110000E+00 2.477000E+01 +360 1 3.226000E+01 3.613000E+01 3.814000E+01 +361 1 1.100000E+01 1.278000E+01 1.770000E+00 +362 1 4.630000E+00 2.791000E+01 1.784000E+01 +363 1 1.707000E+01 6.750000E+00 2.289000E+01 +364 1 1.461000E+01 2.572000E+01 2.945000E+01 +365 1 3.159000E+01 2.440000E+01 3.511000E+01 +366 1 3.020000E+01 1.310000E+00 1.446000E+01 +367 1 3.759000E+01 2.400000E+00 6.600000E+00 +368 1 2.129000E+01 3.053000E+01 3.711000E+01 +369 1 3.927000E+01 3.698000E+01 3.886000E+01 +370 1 2.680000E+01 1.916000E+01 2.140000E+01 +371 1 1.641000E+01 3.931000E+01 2.595000E+01 +372 1 9.690000E+00 2.920000E+01 1.350000E+01 +373 1 2.753000E+01 3.731000E+01 1.496000E+01 +374 1 3.919000E+01 3.481000E+01 2.686000E+01 +375 1 4.580000E+00 3.495000E+01 3.575000E+01 +376 1 1.669000E+01 3.878000E+01 1.774000E+01 +377 1 3.577000E+01 2.542000E+01 8.300000E-01 +378 1 2.120000E+00 7.530000E+00 1.505000E+01 +379 1 2.696000E+01 1.639000E+01 2.185000E+01 +380 1 1.869000E+01 2.578000E+01 3.481000E+01 +381 1 3.108000E+01 2.050000E+00 1.130000E+01 +382 1 2.538000E+01 2.567000E+01 1.472000E+01 +383 1 1.538000E+01 3.608000E+01 4.100000E+00 +384 1 1.799000E+01 1.564000E+01 7.600000E+00 +385 1 1.348000E+01 2.671000E+01 3.384000E+01 +386 1 2.680000E+01 1.150000E+01 2.732000E+01 +387 1 1.540000E+00 1.068000E+01 6.000000E+00 +388 1 4.023000E+01 1.474000E+01 5.400000E+00 +389 1 3.603000E+01 1.044000E+01 1.040000E+00 +390 1 4.027000E+01 2.082000E+01 1.968000E+01 +391 1 8.140000E+00 7.470000E+00 1.017000E+01 +392 1 2.301000E+01 2.329000E+01 2.513000E+01 +393 1 2.445000E+01 3.558000E+01 3.913000E+01 +394 1 1.612000E+01 7.370000E+00 3.142000E+01 +395 1 5.760000E+00 3.391000E+01 1.460000E+00 +396 1 3.129000E+01 8.290000E+00 2.114000E+01 +397 1 2.631000E+01 3.050000E+00 2.120000E+00 +398 1 9.910000E+00 1.148000E+01 4.270000E+00 +399 1 3.146000E+01 1.048000E+01 9.000000E-02 +400 1 3.029000E+01 2.582000E+01 3.696000E+01 +401 1 9.700000E-01 3.600000E-01 6.090000E+00 +402 1 3.565000E+01 1.051000E+01 3.233000E+01 +403 1 1.931000E+01 3.769000E+01 1.438000E+01 +404 1 3.355000E+01 3.627000E+01 1.898000E+01 +405 1 1.822000E+01 3.092000E+01 1.960000E+00 +406 1 2.619000E+01 2.340000E+01 4.470000E+00 +407 1 3.452000E+01 1.894000E+01 1.873000E+01 +408 1 1.800000E+01 1.734000E+01 2.255000E+01 +409 1 2.946000E+01 3.888000E+01 3.664000E+01 +410 1 2.969000E+01 3.251000E+01 2.916000E+01 +411 1 3.049000E+01 3.154000E+01 1.894000E+01 +412 1 9.580000E+00 2.081000E+01 1.784000E+01 +413 1 6.710000E+00 3.164000E+01 1.056000E+01 +414 1 2.241000E+01 2.598000E+01 2.520000E+01 +415 1 9.400000E-01 3.714000E+01 7.120000E+00 +416 1 1.092000E+01 3.565000E+01 1.807000E+01 +417 1 3.221000E+01 3.286000E+01 2.858000E+01 +418 1 1.093000E+01 2.681000E+01 2.706000E+01 +419 1 3.190000E+00 3.247000E+01 3.307000E+01 +420 1 3.676000E+01 3.171000E+01 1.952000E+01 +421 1 2.035000E+01 1.811000E+01 2.446000E+01 +422 1 2.091000E+01 6.640000E+00 2.509000E+01 +423 1 1.010000E+01 1.037000E+01 1.606000E+01 +424 1 2.802000E+01 5.650000E+00 3.563000E+01 +425 1 3.514000E+01 3.759000E+01 3.460000E+01 +426 1 1.331000E+01 6.790000E+00 2.066000E+01 +427 1 3.670000E+01 3.280000E+00 1.023000E+01 +428 1 2.502000E+01 1.631000E+01 4.016000E+01 +429 1 3.680000E+01 3.883000E+01 3.693000E+01 +430 1 2.102000E+01 2.652000E+01 2.284000E+01 +431 1 3.128000E+01 1.447000E+01 3.730000E+01 +432 1 3.794000E+01 2.310000E+01 8.370000E+00 +433 1 5.030000E+00 3.022000E+01 2.741000E+01 +434 1 2.962000E+01 1.390000E+00 2.630000E+00 +435 1 7.470000E+00 1.300000E-01 8.060000E+00 +436 1 3.823000E+01 5.110000E+00 4.540000E+00 +437 1 3.993000E+01 2.487000E+01 2.555000E+01 +438 1 3.419000E+01 2.951000E+01 2.442000E+01 +439 1 2.047000E+01 2.120000E+00 1.372000E+01 +440 1 3.523000E+01 2.256000E+01 8.270000E+00 +441 1 2.551000E+01 3.081000E+01 9.110000E+00 +442 1 1.465000E+01 2.800000E+00 2.347000E+01 +443 1 2.903000E+01 1.144000E+01 1.204000E+01 +444 1 2.534000E+01 9.610000E+00 6.210000E+00 +445 1 3.062000E+01 7.070000E+00 2.967000E+01 +446 1 2.014000E+01 2.659000E+01 1.931000E+01 +447 1 2.399000E+01 1.880000E+01 3.480000E+01 +448 1 5.950000E+00 4.015000E+01 2.619000E+01 +449 1 1.404000E+01 3.854000E+01 3.780000E+00 +450 1 2.456000E+01 3.041000E+01 1.332000E+01 +451 1 2.196000E+01 1.540000E+01 3.747000E+01 +452 1 1.775000E+01 2.995000E+01 1.391000E+01 +453 1 3.000000E+01 2.423000E+01 1.001000E+01 +454 1 2.089000E+01 1.681000E+01 1.216000E+01 +455 1 1.788000E+01 2.556000E+01 7.570000E+00 +456 1 4.270000E+00 3.488000E+01 2.894000E+01 +457 1 2.754000E+01 3.101000E+01 2.264000E+01 +458 1 3.745000E+01 1.266000E+01 1.446000E+01 +459 1 1.948000E+01 8.000000E-02 3.541000E+01 +460 1 2.737000E+01 1.305000E+01 7.530000E+00 +461 1 3.302000E+01 2.540000E+01 2.041000E+01 +462 1 1.480000E+00 1.862000E+01 3.188000E+01 +463 1 7.900000E+00 1.395000E+01 1.408000E+01 +464 1 2.880000E+00 2.228000E+01 2.579000E+01 +465 1 3.848000E+01 3.161000E+01 2.994000E+01 +466 1 2.209000E+01 5.990000E+00 3.548000E+01 +467 1 2.863000E+01 3.632000E+01 3.624000E+01 +468 1 3.886000E+01 6.300000E+00 5.500000E-01 +469 1 3.331000E+01 1.047000E+01 4.380000E+00 +470 1 1.915000E+01 3.204000E+01 1.581000E+01 +471 1 8.850000E+00 2.500000E+01 2.963000E+01 +472 1 8.900000E+00 2.761000E+01 2.023000E+01 +473 1 1.218000E+01 1.500000E+01 2.970000E+00 +474 1 3.538000E+01 2.514000E+01 2.735000E+01 +475 1 3.498000E+01 3.620000E+00 1.695000E+01 +476 1 2.180000E+00 2.672000E+01 3.022000E+01 +477 1 2.349000E+01 3.983000E+01 1.417000E+01 +478 1 2.961000E+01 2.362000E+01 1.624000E+01 +479 1 1.777000E+01 4.920000E+00 3.195000E+01 +480 1 2.344000E+01 3.231000E+01 2.207000E+01 +481 1 3.998000E+01 9.400000E+00 3.494000E+01 +482 1 2.316000E+01 2.077000E+01 2.094000E+01 +483 1 3.072000E+01 3.947000E+01 1.320000E+00 +484 1 3.821000E+01 3.383000E+01 6.130000E+00 +485 1 2.503000E+01 2.028000E+01 5.030000E+00 +486 1 8.130000E+00 2.060000E+00 2.800000E-01 +487 1 2.430000E+01 2.911000E+01 4.990000E+00 +488 1 2.613000E+01 2.770000E+00 2.049000E+01 +489 1 3.885000E+01 2.315000E+01 1.970000E+01 +490 1 3.372000E+01 2.897000E+01 3.922000E+01 +491 1 1.540000E+01 3.012000E+01 2.314000E+01 +492 1 2.695000E+01 2.389000E+01 1.219000E+01 +493 1 3.379000E+01 3.924000E+01 2.480000E+00 +494 1 3.960000E+00 2.416000E+01 3.545000E+01 +495 1 1.618000E+01 2.350000E+01 3.071000E+01 +496 1 2.070000E+00 1.474000E+01 3.868000E+01 +497 1 3.018000E+01 2.268000E+01 1.230000E+01 +498 1 2.320000E+01 2.918000E+01 2.774000E+01 +499 1 1.001000E+01 3.753000E+01 2.846000E+01 +500 1 2.132000E+01 2.645000E+01 1.565000E+01 +501 1 2.124000E+01 4.000000E-01 1.562000E+01 +502 1 2.089000E+01 3.840000E+00 3.390000E+00 +503 1 9.170000E+00 2.348000E+01 1.682000E+01 +504 1 3.598000E+01 1.163000E+01 1.901000E+01 +505 1 6.180000E+00 2.294000E+01 3.150000E+01 +506 1 2.943000E+01 2.030000E+01 1.530000E+00 +507 1 3.094000E+01 1.106000E+01 1.918000E+01 +508 1 7.800000E-01 2.906000E+01 2.530000E+01 +509 1 2.225000E+01 3.673000E+01 1.809000E+01 +510 1 2.905000E+01 3.090000E+01 4.890000E+00 +511 1 2.936000E+01 2.555000E+01 1.342000E+01 +512 1 3.532000E+01 3.460000E+00 3.339000E+01 +513 1 1.160000E+00 1.028000E+01 3.751000E+01 +514 1 2.057000E+01 3.865000E+01 2.644000E+01 +515 1 3.607000E+01 2.724000E+01 2.521000E+01 +516 1 2.070000E+00 2.438000E+01 1.330000E+01 +517 1 3.426000E+01 1.288000E+01 3.510000E+00 +518 1 1.031000E+01 1.441000E+01 1.237000E+01 +519 1 9.380000E+00 3.884000E+01 1.909000E+01 +520 1 1.407000E+01 8.440000E+00 4.290000E+00 +521 1 1.541000E+01 2.054000E+01 1.640000E+01 +522 1 2.758000E+01 1.626000E+01 1.016000E+01 +523 1 2.593000E+01 1.352000E+01 3.500000E+01 +524 1 1.201000E+01 2.840000E+00 2.228000E+01 +525 1 2.295000E+01 1.030000E+00 2.891000E+01 +526 1 1.343000E+01 3.535000E+01 1.220000E+00 +527 1 1.510000E+00 1.070000E+01 3.078000E+01 +528 1 1.510000E+00 3.334000E+01 1.352000E+01 +529 1 1.523000E+01 2.434000E+01 1.679000E+01 +530 1 7.270000E+00 1.314000E+01 3.473000E+01 +531 1 7.970000E+00 3.660000E+00 2.739000E+01 +532 1 1.714000E+01 3.790000E+01 3.372000E+01 +533 1 1.506000E+01 3.911000E+01 2.845000E+01 +534 1 1.887000E+01 1.030000E+01 1.960000E+01 +535 1 1.438000E+01 2.701000E+01 1.312000E+01 +536 1 8.390000E+00 3.570000E+00 2.481000E+01 +537 1 3.839000E+01 2.238000E+01 2.579000E+01 +538 1 1.575000E+01 1.470000E+00 2.340000E+00 +539 1 3.519000E+01 5.500000E-01 2.541000E+01 +540 1 2.842000E+01 2.741000E+01 3.819000E+01 +541 1 5.460000E+00 1.297000E+01 6.280000E+00 +542 1 8.890000E+00 2.460000E+00 8.160000E+00 +543 1 2.594000E+01 3.498000E+01 2.231000E+01 +544 1 1.479000E+01 2.808000E+01 5.580000E+00 +545 1 6.030000E+00 1.235000E+01 2.913000E+01 +546 1 3.869000E+01 3.718000E+01 1.300000E+01 +547 1 1.380000E+00 3.164000E+01 3.510000E+00 +548 1 3.547000E+01 2.438000E+01 6.340000E+00 +549 1 3.259000E+01 5.000000E-01 2.295000E+01 +550 1 1.518000E+01 6.600000E-01 1.028000E+01 +551 1 3.941000E+01 9.710000E+00 6.370000E+00 +552 1 2.449000E+01 2.411000E+01 2.216000E+01 +553 1 2.358000E+01 3.512000E+01 2.349000E+01 +554 1 2.868000E+01 2.597000E+01 2.906000E+01 +555 1 1.977000E+01 3.606000E+01 3.134000E+01 +556 1 1.723000E+01 2.773000E+01 1.903000E+01 +557 1 9.900000E+00 7.220000E+00 4.900000E-01 +558 1 3.167000E+01 3.729000E+01 1.212000E+01 +559 1 1.327000E+01 1.870000E+01 3.987000E+01 +560 1 7.720000E+00 2.210000E+01 1.457000E+01 +561 1 3.201000E+01 3.360000E+01 4.220000E+00 +562 1 2.924000E+01 1.310000E+00 2.747000E+01 +563 1 3.574000E+01 3.101000E+01 1.548000E+01 +564 1 2.924000E+01 3.047000E+01 3.831000E+01 +565 1 1.850000E+00 8.130000E+00 3.932000E+01 +566 1 1.161000E+01 2.185000E+01 8.210000E+00 +567 1 3.442000E+01 6.840000E+00 2.270000E+00 +568 1 3.389000E+01 1.524000E+01 3.643000E+01 +569 1 1.774000E+01 1.401000E+01 1.280000E+01 +570 1 1.943000E+01 2.805000E+01 8.920000E+00 +571 1 3.791000E+01 3.482000E+01 3.156000E+01 +572 1 9.810000E+00 6.760000E+00 1.259000E+01 +573 1 1.101000E+01 1.849000E+01 2.777000E+01 +574 1 3.854000E+01 2.472000E+01 2.208000E+01 +575 1 5.050000E+00 1.827000E+01 1.847000E+01 +576 1 3.709000E+01 3.437000E+01 2.310000E+00 +577 1 1.735000E+01 3.308000E+01 9.600000E-01 +578 1 2.036000E+01 1.672000E+01 8.720000E+00 +579 1 2.025000E+01 1.720000E+00 3.060000E+01 +580 1 2.330000E+01 3.287000E+01 1.820000E+01 +581 1 2.037000E+01 1.620000E+01 2.636000E+01 +582 1 2.366000E+01 3.854000E+01 3.295000E+01 +583 1 1.795000E+01 3.777000E+01 2.290000E+00 +584 1 3.894000E+01 1.893000E+01 3.680000E+01 +585 1 1.733000E+01 1.950000E+00 1.934000E+01 +586 1 2.097000E+01 2.876000E+01 1.299000E+01 +587 1 1.085000E+01 1.202000E+01 2.193000E+01 +588 1 1.420000E+01 1.297000E+01 7.240000E+00 +589 1 3.595000E+01 3.720000E+01 2.476000E+01 +590 1 2.613000E+01 3.840000E+00 3.338000E+01 +591 1 2.638000E+01 1.730000E+01 1.315000E+01 +592 1 3.991000E+01 3.899000E+01 3.256000E+01 +593 1 3.695000E+01 3.579000E+01 4.020000E+01 +594 1 1.289000E+01 3.423000E+01 2.926000E+01 +595 1 2.269000E+01 2.160000E+01 3.927000E+01 +596 1 9.350000E+00 1.344000E+01 3.833000E+01 +597 1 1.540000E+01 5.170000E+00 2.454000E+01 +598 1 2.038000E+01 2.065000E+01 2.232000E+01 +599 1 1.578000E+01 3.991000E+01 2.335000E+01 +600 1 5.790000E+00 1.380000E+00 3.840000E+00 +601 1 3.080000E+00 8.560000E+00 3.132000E+01 +602 1 1.149000E+01 3.351000E+01 3.040000E+00 +603 1 2.710000E+00 6.500000E-01 2.371000E+01 +604 1 1.380000E+00 1.240000E+00 2.604000E+01 +605 1 2.461000E+01 1.463000E+01 2.216000E+01 +606 1 3.489000E+01 3.560000E+01 1.214000E+01 +607 1 2.110000E+01 1.130000E+01 3.203000E+01 +608 1 2.710000E+00 2.171000E+01 1.921000E+01 +609 1 2.371000E+01 2.064000E+01 1.711000E+01 +610 1 2.608000E+01 3.770000E+01 2.926000E+01 +611 1 9.100000E-01 3.790000E+00 2.455000E+01 +612 1 1.232000E+01 3.946000E+01 2.822000E+01 +613 1 7.920000E+00 3.155000E+01 3.494000E+01 +614 1 8.640000E+00 1.228000E+01 3.600000E-01 +615 1 1.209000E+01 1.765000E+01 1.449000E+01 +616 1 9.430000E+00 3.682000E+01 2.133000E+01 +617 1 3.655000E+01 3.211000E+01 1.296000E+01 +618 1 8.400000E+00 3.299000E+01 2.640000E+00 +619 1 3.150000E+01 1.270000E+00 2.872000E+01 +620 1 2.434000E+01 2.294000E+01 9.930000E+00 +621 1 7.010000E+00 3.645000E+01 2.206000E+01 +622 1 2.411000E+01 7.500000E+00 7.340000E+00 +623 1 3.769000E+01 2.512000E+01 1.061000E+01 +624 1 2.642000E+01 2.827000E+01 1.392000E+01 +625 1 1.534000E+01 2.490000E+00 3.676000E+01 +626 1 3.848000E+01 1.350000E+00 9.000000E+00 +627 1 2.170000E+01 3.500000E+01 9.420000E+00 +628 1 3.720000E+00 3.177000E+01 2.306000E+01 +629 1 1.584000E+01 9.150000E+00 2.081000E+01 +630 1 3.619000E+01 2.571000E+01 3.644000E+01 +631 1 5.290000E+00 4.017000E+01 3.818000E+01 +632 1 2.045000E+01 3.980000E+00 3.903000E+01 +633 1 2.976000E+01 1.756000E+01 6.560000E+00 +634 1 2.771000E+01 2.528000E+01 1.758000E+01 +635 1 2.285000E+01 2.420000E+00 3.632000E+01 +636 1 3.797000E+01 1.128000E+01 8.220000E+00 +637 1 1.619000E+01 3.179000E+01 2.109000E+01 +638 1 1.248000E+01 2.994000E+01 1.643000E+01 +639 1 3.304000E+01 1.518000E+01 4.690000E+00 +640 1 1.678000E+01 2.830000E+01 1.621000E+01 +641 1 1.230000E+01 3.206000E+01 1.360000E+01 +642 1 3.749000E+01 1.930000E+01 8.980000E+00 +643 1 3.385000E+01 2.638000E+01 1.406000E+01 +644 1 1.365000E+01 3.490000E+00 3.058000E+01 +645 1 6.730000E+00 2.010000E+01 1.255000E+01 +646 1 3.550000E+01 3.928000E+01 1.700000E+01 +647 1 3.594000E+01 6.490000E+00 4.005000E+01 +648 1 3.877000E+01 3.043000E+01 1.877000E+01 +649 1 9.340000E+00 2.314000E+01 3.499000E+01 +650 1 3.007000E+01 2.930000E+01 1.071000E+01 +651 1 3.420000E+01 1.243000E+01 3.417000E+01 +652 1 6.270000E+00 3.567000E+01 3.941000E+01 +653 1 3.647000E+01 2.536000E+01 2.990000E+01 +654 1 3.468000E+01 8.800000E-01 3.509000E+01 +655 1 3.280000E+01 2.184000E+01 1.227000E+01 +656 1 1.615000E+01 1.291000E+01 1.584000E+01 +657 1 3.990000E+01 3.177000E+01 1.626000E+01 +658 1 5.200000E+00 2.090000E+01 3.293000E+01 +659 1 3.609000E+01 7.970000E+00 3.355000E+01 +660 1 2.126000E+01 1.560000E+00 1.093000E+01 +661 1 3.862000E+01 1.842000E+01 1.982000E+01 +662 1 1.861000E+01 1.123000E+01 2.674000E+01 +663 1 2.391000E+01 1.732000E+01 3.061000E+01 +664 1 6.350000E+00 1.859000E+01 2.796000E+01 +665 1 3.644000E+01 6.380000E+00 1.109000E+01 +666 1 1.520000E+00 2.203000E+01 1.682000E+01 +667 1 3.213000E+01 1.863000E+01 5.570000E+00 +668 1 3.212000E+01 2.800000E+01 8.050000E+00 +669 1 3.344000E+01 1.076000E+01 1.339000E+01 +670 1 1.797000E+01 3.840000E+00 3.663000E+01 +671 1 7.730000E+00 5.790000E+00 3.015000E+01 +672 1 2.891000E+01 2.616000E+01 2.630000E+01 +673 1 1.781000E+01 1.785000E+01 4.280000E+00 +674 1 2.327000E+01 2.643000E+01 3.553000E+01 +675 1 8.190000E+00 3.984000E+01 3.549000E+01 +676 1 3.472000E+01 2.874000E+01 2.162000E+01 +677 1 2.685000E+01 2.769000E+01 8.010000E+00 +678 1 1.593000E+01 1.886000E+01 3.164000E+01 +679 1 1.452000E+01 6.930000E+00 1.527000E+01 +680 1 1.704000E+01 2.665000E+01 2.424000E+01 +681 1 3.051000E+01 2.600000E-01 2.126000E+01 +682 1 3.610000E+00 1.666000E+01 4.260000E+00 +683 1 1.560000E+00 2.023000E+01 2.785000E+01 +684 1 7.960000E+00 6.270000E+00 1.879000E+01 +685 1 1.494000E+01 2.269000E+01 2.395000E+01 +686 1 3.239000E+01 3.789000E+01 1.615000E+01 +687 1 2.933000E+01 3.430000E+01 1.219000E+01 +688 1 3.053000E+01 3.060000E+01 1.596000E+01 +689 1 3.924000E+01 4.960000E+00 1.373000E+01 +690 1 3.640000E+00 7.120000E+00 3.330000E+00 +691 1 1.567000E+01 3.612000E+01 4.030000E+01 +692 1 1.589000E+01 1.675000E+01 1.275000E+01 +693 1 2.139000E+01 2.311000E+01 1.618000E+01 +694 1 2.488000E+01 2.183000E+01 1.498000E+01 +695 1 3.215000E+01 3.492000E+01 2.542000E+01 +696 1 2.819000E+01 1.378000E+01 3.237000E+01 +697 1 3.815000E+01 1.373000E+01 3.633000E+01 +698 1 4.340000E+00 3.811000E+01 5.780000E+00 +699 1 4.390000E+00 3.276000E+01 3.068000E+01 +700 1 2.930000E+01 4.008000E+01 1.894000E+01 +701 1 1.313000E+01 1.999000E+01 9.970000E+00 +702 1 3.142000E+01 3.774000E+01 2.725000E+01 +703 1 2.779000E+01 3.169000E+01 8.130000E+00 +704 1 5.340000E+00 3.398000E+01 9.790000E+00 +705 1 2.602000E+01 6.270000E+00 9.090000E+00 +706 1 2.247000E+01 2.886000E+01 1.950000E+01 +707 1 4.650000E+00 3.260000E+00 8.180000E+00 +708 1 3.039000E+01 3.515000E+01 2.966000E+01 +709 1 2.434000E+01 7.210000E+00 3.155000E+01 +710 1 1.250000E+00 5.230000E+00 3.544000E+01 +711 1 1.390000E+01 2.491000E+01 2.517000E+01 +712 1 3.581000E+01 1.145000E+01 2.867000E+01 +713 1 5.800000E-01 1.696000E+01 3.703000E+01 +714 1 2.303000E+01 3.198000E+01 1.486000E+01 +715 1 2.135000E+01 1.115000E+01 1.687000E+01 +716 1 3.806000E+01 3.995000E+01 1.678000E+01 +717 1 4.140000E+00 3.313000E+01 1.790000E+01 +718 1 3.480000E+01 3.762000E+01 6.200000E-01 +719 1 3.188000E+01 1.792000E+01 2.097000E+01 +720 1 2.350000E+00 1.273000E+01 2.318000E+01 +721 1 2.728000E+01 1.889000E+01 9.160000E+00 +722 1 3.408000E+01 3.084000E+01 3.294000E+01 +723 1 3.240000E+00 1.244000E+01 2.943000E+01 +724 1 2.051000E+01 1.324000E+01 1.061000E+01 +725 1 3.179000E+01 2.032000E+01 3.777000E+01 +726 1 1.300000E+00 3.036000E+01 3.260000E+01 +727 1 5.810000E+00 3.539000E+01 2.529000E+01 +728 1 1.356000E+01 4.050000E+00 7.980000E+00 +729 1 1.280000E+00 1.406000E+01 3.084000E+01 +730 1 3.751000E+01 9.910000E+00 1.419000E+01 +731 1 3.560000E+00 2.043000E+01 3.572000E+01 +732 1 2.807000E+01 1.272000E+01 2.957000E+01 +733 1 1.030000E+01 3.771000E+01 3.320000E+00 +734 1 2.519000E+01 3.108000E+01 3.485000E+01 +735 1 4.210000E+00 1.015000E+01 1.481000E+01 +736 1 3.297000E+01 3.553000E+01 3.800000E-01 +737 1 1.391000E+01 4.250000E+00 2.798000E+01 +738 1 3.163000E+01 3.147000E+01 2.522000E+01 +739 1 6.800000E-01 9.000000E+00 9.580000E+00 +740 1 3.693000E+01 1.269000E+01 2.138000E+01 +741 1 3.779000E+01 1.676000E+01 2.900000E+00 +742 1 3.409000E+01 3.193000E+01 3.230000E+00 +743 1 2.104000E+01 1.530000E+00 3.802000E+01 +744 1 3.698000E+01 8.310000E+00 2.317000E+01 +745 1 1.636000E+01 3.968000E+01 2.039000E+01 +746 1 1.718000E+01 2.280000E+01 1.567000E+01 +747 1 2.872000E+01 3.545000E+01 2.363000E+01 +748 1 1.478000E+01 2.706000E+01 1.992000E+01 +749 1 2.920000E+00 2.723000E+01 4.320000E+00 +750 1 9.980000E+00 3.424000E+01 2.143000E+01 +751 1 3.957000E+01 3.017000E+01 3.709000E+01 +752 1 4.000000E+00 3.655000E+01 7.970000E+00 +753 1 3.551000E+01 4.002000E+01 2.020000E+01 +754 1 3.830000E+00 3.087000E+01 6.520000E+00 +755 1 2.354000E+01 2.238000E+01 4.140000E+00 +756 1 1.044000E+01 3.541000E+01 5.160000E+00 +757 1 2.194000E+01 3.613000E+01 3.780000E+01 +758 1 2.092000E+01 2.245000E+01 1.115000E+01 +759 1 3.496000E+01 1.040000E+00 1.250000E+01 +760 1 3.112000E+01 2.356000E+01 2.265000E+01 +761 1 4.018000E+01 2.631000E+01 1.422000E+01 +762 1 3.725000E+01 2.257000E+01 4.990000E+00 +763 1 4.260000E+00 7.250000E+00 5.800000E-01 +764 1 1.535000E+01 2.568000E+01 4.500000E+00 +765 1 2.280000E+00 7.200000E+00 2.548000E+01 +766 1 1.892000E+01 2.767000E+01 3.048000E+01 +767 1 3.965000E+01 2.569000E+01 8.820000E+00 +768 1 3.997000E+01 2.795000E+01 1.922000E+01 +769 1 3.916000E+01 2.240000E+01 1.647000E+01 +770 1 2.000000E-02 1.028000E+01 2.766000E+01 +771 1 8.010000E+00 6.310000E+00 2.720000E+00 +772 1 1.906000E+01 3.198000E+01 2.144000E+01 +773 1 2.095000E+01 2.715000E+01 3.392000E+01 +774 1 3.462000E+01 2.642000E+01 3.263000E+01 +775 1 1.301000E+01 2.714000E+01 1.069000E+01 +776 1 1.523000E+01 2.320000E+00 6.840000E+00 +777 1 5.620000E+00 1.000000E-01 2.002000E+01 +778 1 5.430000E+00 8.100000E+00 8.940000E+00 +779 1 1.961000E+01 2.385000E+01 4.008000E+01 +780 1 1.642000E+01 1.774000E+01 3.617000E+01 +781 1 1.140000E+00 2.459000E+01 3.976000E+01 +782 1 6.360000E+00 7.020000E+00 3.485000E+01 +783 1 3.050000E+00 3.680000E+01 3.114000E+01 +784 1 3.819000E+01 3.930000E+01 1.971000E+01 +785 1 3.449000E+01 5.310000E+00 7.490000E+00 +786 1 2.447000E+01 2.977000E+01 2.104000E+01 +787 1 1.216000E+01 2.083000E+01 1.964000E+01 +788 1 3.000000E-02 1.740000E+01 3.406000E+01 +789 1 1.061000E+01 6.600000E-01 1.321000E+01 +790 1 6.150000E+00 1.853000E+01 3.426000E+01 +791 1 3.316000E+01 1.856000E+01 3.208000E+01 +792 1 9.170000E+00 1.165000E+01 1.375000E+01 +793 1 7.100000E+00 2.260000E+00 3.753000E+01 +794 1 3.203000E+01 8.540000E+00 2.772000E+01 +795 1 3.570000E+01 1.662000E+01 1.270000E+00 +796 1 1.294000E+01 1.035000E+01 2.984000E+01 +797 1 2.190000E+00 3.980000E+01 7.100000E-01 +798 1 3.700000E+01 1.581000E+01 3.798000E+01 +799 1 7.490000E+00 1.611000E+01 2.699000E+01 +800 1 1.770000E+01 3.511000E+01 2.850000E+00 +801 1 3.115000E+01 2.188000E+01 1.933000E+01 +802 1 1.725000E+01 7.210000E+00 2.589000E+01 +803 1 2.056000E+01 2.099000E+01 4.240000E+00 +804 1 9.800000E+00 8.470000E+00 4.960000E+00 +805 1 3.926000E+01 1.310000E+00 3.630000E+01 +806 1 1.438000E+01 1.603000E+01 3.682000E+01 +807 1 3.647000E+01 2.067000E+01 3.631000E+01 +808 1 6.610000E+00 2.971000E+01 3.295000E+01 +809 1 2.104000E+01 7.710000E+00 3.731000E+01 +810 1 1.582000E+01 3.212000E+01 1.447000E+01 +811 1 1.030000E+00 1.449000E+01 2.940000E+00 +812 1 9.300000E-01 5.000000E-01 3.422000E+01 +813 1 2.733000E+01 3.544000E+01 2.021000E+01 +814 1 1.997000E+01 8.780000E+00 3.361000E+01 +815 1 1.831000E+01 1.683000E+01 1.128000E+01 +816 1 4.900000E+00 9.750000E+00 2.688000E+01 +817 1 2.096000E+01 9.670000E+00 6.390000E+00 +818 1 8.240000E+00 2.498000E+01 3.239000E+01 +819 1 2.763000E+01 1.116000E+01 9.470000E+00 +820 1 3.852000E+01 3.052000E+01 1.193000E+01 +821 1 3.237000E+01 2.209000E+01 1.608000E+01 +822 1 3.000000E+01 2.932000E+01 2.511000E+01 +823 1 3.354000E+01 3.845000E+01 1.356000E+01 +824 1 1.186000E+01 2.160000E+00 3.527000E+01 +825 1 3.336000E+01 2.013000E+01 2.136000E+01 +826 1 3.470000E+01 1.719000E+01 3.890000E+00 +827 1 3.460000E+00 3.257000E+01 9.700000E-01 +828 1 1.512000E+01 3.043000E+01 1.635000E+01 +829 1 1.564000E+01 1.436000E+01 3.110000E+00 +830 1 1.960000E+00 3.510000E+00 2.854000E+01 +831 1 3.933000E+01 1.727000E+01 2.233000E+01 +832 1 6.770000E+00 2.061000E+01 1.888000E+01 +833 1 1.690000E+01 3.100000E+00 8.990000E+00 +834 1 7.920000E+00 1.209000E+01 2.119000E+01 +835 1 8.140000E+00 1.669000E+01 1.654000E+01 +836 1 1.356000E+01 3.261000E+01 1.777000E+01 +837 1 1.916000E+01 2.254000E+01 2.240000E+00 +838 1 8.200000E-01 1.630000E+00 9.600000E+00 +839 1 4.230000E+00 7.800000E-01 1.595000E+01 +840 1 3.256000E+01 3.110000E+01 1.334000E+01 +841 1 2.620000E+00 3.921000E+01 1.443000E+01 +842 1 2.916000E+01 2.898000E+01 2.530000E+00 +843 1 4.006000E+01 2.917000E+01 3.966000E+01 +844 1 9.600000E+00 3.287000E+01 1.425000E+01 +845 1 7.700000E+00 4.030000E+01 2.270000E+00 +846 1 2.284000E+01 1.328000E+01 3.290000E+01 +847 1 1.866000E+01 2.900000E-01 2.668000E+01 +848 1 5.620000E+00 1.563000E+01 2.383000E+01 +849 1 2.584000E+01 1.075000E+01 1.414000E+01 +850 1 3.147000E+01 3.050000E+00 5.580000E+00 +851 1 2.520000E+01 3.040000E+01 1.900000E-01 +852 1 2.617000E+01 2.138000E+01 2.898000E+01 +853 1 3.771000E+01 1.780000E+01 4.010000E+01 +854 1 1.203000E+01 3.870000E+01 1.346000E+01 +855 1 6.580000E+00 2.261000E+01 4.900000E-01 +856 1 2.727000E+01 3.260000E+00 1.314000E+01 +857 1 3.430000E+00 1.018000E+01 2.242000E+01 +858 1 1.162000E+01 2.183000E+01 2.590000E+00 +859 1 2.840000E+01 2.584000E+01 4.910000E+00 +860 1 2.730000E+00 1.896000E+01 1.988000E+01 +861 1 2.209000E+01 3.577000E+01 1.290000E+01 +862 1 2.057000E+01 6.120000E+00 1.587000E+01 +863 1 2.596000E+01 9.010000E+00 9.880000E+00 +864 1 1.852000E+01 1.698000E+01 1.500000E+01 +865 1 7.580000E+00 9.280000E+00 2.879000E+01 +866 1 2.592000E+01 1.074000E+01 1.900000E-01 +867 1 1.295000E+01 5.200000E+00 4.022000E+01 +868 1 2.274000E+01 1.780000E+01 2.731000E+01 +869 1 3.434000E+01 4.240000E+00 2.660000E+01 +870 1 1.378000E+01 3.530000E+01 2.066000E+01 +871 1 3.765000E+01 9.920000E+00 2.705000E+01 +872 1 3.754000E+01 2.837000E+01 3.605000E+01 +873 1 5.760000E+00 3.360000E+00 3.454000E+01 +874 1 3.029000E+01 2.226000E+01 2.898000E+01 +875 1 3.327000E+01 1.732000E+01 7.840000E+00 +876 1 3.632000E+01 1.310000E+01 6.250000E+00 +877 1 3.194000E+01 2.590000E+01 2.524000E+01 +878 1 1.028000E+01 1.960000E+00 4.490000E+00 +879 1 3.579000E+01 2.290000E+00 2.966000E+01 +880 1 3.942000E+01 3.196000E+01 6.600000E-01 +881 1 3.678000E+01 3.858000E+01 5.240000E+00 +882 1 1.144000E+01 3.168000E+01 3.634000E+01 +883 1 1.450000E+01 2.814000E+01 3.868000E+01 +884 1 3.402000E+01 1.046000E+01 2.060000E+01 +885 1 1.743000E+01 3.810000E+01 3.998000E+01 +886 1 3.809000E+01 3.529000E+01 2.441000E+01 +887 1 3.648000E+01 2.244000E+01 1.856000E+01 +888 1 3.363000E+01 1.148000E+01 2.301000E+01 +889 1 1.700000E+00 2.129000E+01 9.050000E+00 +890 1 7.440000E+00 2.906000E+01 2.745000E+01 +891 1 2.516000E+01 1.413000E+01 3.209000E+01 +892 1 1.770000E+00 1.710000E+00 2.115000E+01 +893 1 3.475000E+01 4.018000E+01 3.987000E+01 +894 1 3.282000E+01 3.888000E+01 3.845000E+01 +895 1 2.771000E+01 2.233000E+01 2.152000E+01 +896 1 1.500000E-01 3.264000E+01 6.430000E+00 +897 1 3.724000E+01 1.184000E+01 3.794000E+01 +898 1 1.817000E+01 3.143000E+01 2.934000E+01 +899 1 3.997000E+01 7.000000E+00 2.259000E+01 +900 1 1.854000E+01 1.541000E+01 1.812000E+01 +901 1 1.820000E+00 2.583000E+01 3.519000E+01 +902 1 3.299000E+01 2.158000E+01 2.852000E+01 +903 1 3.254000E+01 2.840000E+01 2.650000E+01 +904 1 2.985000E+01 1.900000E+01 1.933000E+01 +905 1 3.170000E+00 1.346000E+01 8.600000E+00 +906 1 1.997000E+01 3.786000E+01 8.920000E+00 +907 1 3.431000E+01 1.089000E+01 7.990000E+00 +908 1 2.038000E+01 7.980000E+00 3.979000E+01 +909 1 4.080000E+00 2.395000E+01 3.035000E+01 +910 1 3.444000E+01 9.670000E+00 3.008000E+01 +911 1 1.583000E+01 1.467000E+01 2.227000E+01 +912 1 1.431000E+01 1.500000E+01 3.947000E+01 +913 1 4.670000E+00 2.058000E+01 3.000000E-01 +914 1 9.300000E+00 2.344000E+01 5.290000E+00 +915 1 2.399000E+01 2.950000E+01 2.521000E+01 +916 1 2.265000E+01 5.580000E+00 3.851000E+01 +917 1 2.574000E+01 2.662000E+01 3.447000E+01 +918 1 2.933000E+01 2.029000E+01 2.288000E+01 +919 1 2.541000E+01 9.850000E+00 2.358000E+01 +920 1 5.910000E+00 3.300000E+00 5.750000E+00 +921 1 1.326000E+01 7.000000E-02 2.430000E+01 +922 1 3.950000E+00 2.194000E+01 2.171000E+01 +923 1 3.333000E+01 3.333000E+01 3.166000E+01 +924 1 1.750000E+00 1.349000E+01 1.146000E+01 +925 1 3.112000E+01 2.539000E+01 1.787000E+01 +926 1 1.868000E+01 1.020000E+00 1.011000E+01 +927 1 1.286000E+01 2.967000E+01 1.190000E+01 +928 1 7.900000E+00 3.319000E+01 5.760000E+00 +929 1 3.152000E+01 1.395000E+01 1.066000E+01 +930 1 1.509000E+01 3.071000E+01 1.065000E+01 +931 1 2.109000E+01 1.130000E+01 8.650000E+00 +932 1 3.999000E+01 2.953000E+01 2.270000E+01 +933 1 1.099000E+01 3.969000E+01 2.321000E+01 +934 1 1.117000E+01 3.025000E+01 3.283000E+01 +935 1 3.573000E+01 2.144000E+01 3.377000E+01 +936 1 3.968000E+01 2.056000E+01 3.883000E+01 +937 1 3.883000E+01 2.733000E+01 2.522000E+01 +938 1 3.058000E+01 3.023000E+01 3.197000E+01 +939 1 1.682000E+01 3.112000E+01 3.195000E+01 +940 1 5.210000E+00 1.511000E+01 2.270000E+00 +941 1 2.484000E+01 3.855000E+01 1.900000E+01 +942 1 1.251000E+01 8.200000E-01 6.010000E+00 +943 1 1.945000E+01 2.246000E+01 2.716000E+01 +944 1 3.236000E+01 2.477000E+01 4.090000E+00 +945 1 3.575000E+01 2.625000E+01 2.092000E+01 +946 1 3.212000E+01 3.182000E+01 8.550000E+00 +947 1 8.700000E+00 3.527000E+01 2.976000E+01 +948 1 3.505000E+01 1.031000E+01 3.573000E+01 +949 1 1.260000E+00 1.847000E+01 3.270000E+00 +950 1 2.692000E+01 3.179000E+01 3.059000E+01 +951 1 1.983000E+01 3.155000E+01 1.247000E+01 +952 1 2.251000E+01 2.447000E+01 3.282000E+01 +953 1 3.023000E+01 1.924000E+01 3.172000E+01 +954 1 1.474000E+01 3.618000E+01 2.940000E+01 +955 1 5.110000E+00 5.140000E+00 1.415000E+01 +956 1 1.730000E+01 2.116000E+01 1.800000E-01 +957 1 1.817000E+01 3.470000E+00 2.967000E+01 +958 1 1.196000E+01 3.108000E+01 2.941000E+01 +959 1 3.782000E+01 2.364000E+01 1.930000E+00 +960 1 1.775000E+01 1.363000E+01 2.943000E+01 +961 1 1.126000E+01 4.530000E+00 1.315000E+01 +962 1 1.827000E+01 3.255000E+01 2.395000E+01 +963 1 1.220000E+01 9.900000E-01 2.410000E+00 +964 1 2.614000E+01 3.974000E+01 1.483000E+01 +965 1 1.964000E+01 3.425000E+01 2.586000E+01 +966 1 2.316000E+01 5.030000E+00 2.602000E+01 +967 1 2.478000E+01 3.461000E+01 2.617000E+01 +968 1 3.113000E+01 1.817000E+01 2.240000E+00 +969 1 8.710000E+00 3.614000E+01 1.418000E+01 +970 1 1.900000E-01 3.677000E+01 3.071000E+01 +971 1 3.538000E+01 5.140000E+00 2.318000E+01 +972 1 9.790000E+00 2.135000E+01 2.544000E+01 +973 1 1.234000E+01 3.592000E+01 1.006000E+01 +974 1 2.808000E+01 2.346000E+01 6.350000E+00 +975 1 1.086000E+01 3.276000E+01 2.368000E+01 +976 1 3.010000E+01 1.223000E+01 2.699000E+01 +977 1 1.798000E+01 3.060000E+00 4.020000E+00 +978 1 9.390000E+00 1.377000E+01 5.800000E+00 +979 1 9.450000E+00 9.490000E+00 2.509000E+01 +980 1 1.634000E+01 2.181000E+01 2.177000E+01 +981 1 2.499000E+01 2.674000E+01 4.900000E-01 +982 1 7.580000E+00 1.520000E+01 3.701000E+01 +983 1 3.193000E+01 1.752000E+01 1.411000E+01 +984 1 3.935000E+01 5.860000E+00 1.126000E+01 +985 1 4.690000E+00 2.804000E+01 1.205000E+01 +986 1 1.666000E+01 4.480000E+00 5.880000E+00 +987 1 1.574000E+01 1.277000E+01 2.425000E+01 +988 1 3.410000E+00 5.510000E+00 9.080000E+00 +989 1 3.154000E+01 1.890000E+00 1.838000E+01 +990 1 9.200000E-01 1.946000E+01 1.111000E+01 +991 1 1.300000E-01 3.681000E+01 1.547000E+01 +992 1 2.851000E+01 3.912000E+01 2.277000E+01 +993 1 1.302000E+01 3.893000E+01 3.916000E+01 +994 1 2.523000E+01 2.550000E+01 2.880000E+00 +995 1 1.403000E+01 2.277000E+01 1.031000E+01 +996 1 9.250000E+00 3.892000E+01 1.171000E+01 +997 1 2.110000E+00 4.720000E+00 1.958000E+01 +998 1 3.144000E+01 3.505000E+01 3.586000E+01 +999 1 8.950000E+00 3.743000E+01 3.477000E+01 +1000 1 3.336000E+01 2.864000E+01 3.608000E+01 +1001 1 8.380000E+00 6.150000E+00 3.305000E+01 +1002 1 4.015000E+01 3.770000E+01 4.670000E+00 +1003 1 2.169000E+01 8.000000E+00 8.710000E+00 +1004 1 3.218000E+01 8.590000E+00 3.414000E+01 +1005 1 1.451000E+01 1.921000E+01 2.655000E+01 +1006 1 3.070000E+01 5.380000E+00 1.411000E+01 +1007 1 1.231000E+01 1.584000E+01 1.988000E+01 +1008 1 1.339000E+01 1.660000E+00 2.670000E+01 +1009 1 1.676000E+01 3.086000E+01 5.210000E+00 +1010 1 1.886000E+01 4.200000E+00 1.443000E+01 +1011 1 4.390000E+00 2.058000E+01 7.710000E+00 +1012 1 1.980000E+00 1.848000E+01 1.524000E+01 +1013 1 8.270000E+00 4.710000E+00 1.614000E+01 +1014 1 3.172000E+01 1.239000E+01 2.488000E+01 +1015 1 5.750000E+00 1.411000E+01 1.242000E+01 +1016 1 3.544000E+01 3.200000E+01 9.300000E-01 +1017 1 3.444000E+01 2.616000E+01 3.838000E+01 +1018 1 2.259000E+01 3.158000E+01 7.330000E+00 +1019 1 1.400000E+01 3.055000E+01 3.491000E+01 +1020 1 2.852000E+01 2.002000E+01 2.953000E+01 +1021 1 3.060000E+01 1.624000E+01 9.080000E+00 +1022 1 1.561000E+01 1.068000E+01 1.044000E+01 +1023 1 2.138000E+01 2.543000E+01 2.883000E+01 +1024 1 1.760000E+00 2.414000E+01 4.110000E+00 +1025 1 1.033000E+01 2.356000E+01 3.815000E+01 +1026 1 1.698000E+01 1.150000E+01 2.182000E+01 +1027 1 1.922000E+01 1.262000E+01 3.896000E+01 +1028 1 3.953000E+01 1.910000E+00 2.334000E+01 +1029 1 9.940000E+00 2.793000E+01 3.256000E+01 +1030 1 4.600000E-01 1.283000E+01 3.671000E+01 +1031 1 1.190000E+00 7.660000E+00 1.186000E+01 +1032 1 1.931000E+01 1.312000E+01 4.800000E+00 +1033 1 3.352000E+01 2.255000E+01 3.626000E+01 +1034 1 1.631000E+01 7.100000E+00 8.830000E+00 +1035 1 1.934000E+01 7.420000E+00 2.788000E+01 +1036 1 2.025000E+01 2.075000E+01 4.015000E+01 +1037 1 2.824000E+01 9.520000E+00 1.630000E+01 +1038 1 3.989000E+01 3.390000E+01 2.986000E+01 +1039 1 2.294000E+01 4.790000E+00 1.448000E+01 +1040 1 4.019000E+01 2.327000E+01 3.411000E+01 +1041 1 3.940000E+00 2.697000E+01 2.054000E+01 +1042 1 1.789000E+01 9.490000E+00 6.520000E+00 +1043 1 2.719000E+01 3.389000E+01 3.250000E+01 +1044 1 2.649000E+01 2.743000E+01 4.230000E+00 +1045 1 1.330000E+00 2.940000E+01 3.013000E+01 +1046 1 3.535000E+01 7.110000E+00 2.989000E+01 +1047 1 2.787000E+01 2.802000E+01 1.162000E+01 +1048 1 1.347000E+01 1.450000E+00 2.050000E+01 +1049 1 3.466000E+01 4.150000E+00 2.072000E+01 +1050 1 2.759000E+01 3.805000E+01 1.863000E+01 +1051 1 2.095000E+01 6.790000E+00 3.055000E+01 +1052 1 2.306000E+01 4.640000E+00 2.881000E+01 +1053 1 1.007000E+01 4.480000E+00 9.390000E+00 +1054 1 1.015000E+01 1.046000E+01 3.502000E+01 +1055 1 3.088000E+01 3.307000E+01 3.856000E+01 +1056 1 2.231000E+01 1.040000E+01 1.146000E+01 +1057 1 2.929000E+01 3.853000E+01 3.949000E+01 +1058 1 1.854000E+01 1.947000E+01 6.520000E+00 +1059 1 2.403000E+01 2.653000E+01 1.121000E+01 +1060 1 3.800000E+01 2.400000E+00 3.421000E+01 +1061 1 6.580000E+00 2.857000E+01 9.530000E+00 +1062 1 4.490000E+00 3.065000E+01 3.451000E+01 +1063 1 3.653000E+01 3.394000E+01 1.567000E+01 +1064 1 2.440000E+00 9.340000E+00 3.483000E+01 +1065 1 3.460000E+00 1.150000E+01 3.806000E+01 +1066 1 2.549000E+01 2.264000E+01 2.415000E+01 +1067 1 1.379000E+01 1.752000E+01 9.020000E+00 +1068 1 2.549000E+01 5.930000E+00 3.170000E+00 +1069 1 2.217000E+01 2.260000E+01 1.850000E+00 +1070 1 6.090000E+00 2.440000E+00 1.047000E+01 +1071 1 1.302000E+01 5.270000E+00 4.540000E+00 +1072 1 5.730000E+00 3.967000E+01 3.079000E+01 +1073 1 3.165000E+01 3.579000E+01 7.390000E+00 +1074 1 1.633000E+01 3.326000E+01 2.629000E+01 +1075 1 2.980000E+01 1.057000E+01 2.904000E+01 +1076 1 3.549000E+01 3.290000E+00 1.411000E+01 +1077 1 8.450000E+00 1.779000E+01 1.943000E+01 +1078 1 1.337000E+01 3.361000E+01 3.931000E+01 +1079 1 2.140000E+01 1.651000E+01 3.171000E+01 +1080 1 1.546000E+01 1.432000E+01 1.942000E+01 +1081 1 2.476000E+01 6.300000E+00 1.785000E+01 +1082 1 4.200000E+00 1.800000E+01 2.192000E+01 +1083 1 1.934000E+01 3.368000E+01 9.130000E+00 +1084 1 3.580000E+00 1.281000E+01 1.377000E+01 +1085 1 3.595000E+01 1.280000E+00 3.766000E+01 +1086 1 2.502000E+01 3.406000E+01 3.411000E+01 +1087 1 3.642000E+01 2.752000E+01 1.059000E+01 +1088 1 2.228000E+01 3.248000E+01 1.165000E+01 +1089 1 1.361000E+01 1.065000E+01 2.154000E+01 +1090 1 4.050000E+00 2.082000E+01 2.820000E+00 +1091 1 3.283000E+01 7.500000E+00 3.904000E+01 +1092 1 3.332000E+01 3.896000E+01 2.900000E+01 +1093 1 1.987000E+01 1.390000E+00 1.983000E+01 +1094 1 2.039000E+01 3.180000E+01 3.345000E+01 +1095 1 1.746000E+01 6.920000E+00 2.017000E+01 +1096 1 1.084000E+01 2.573000E+01 2.256000E+01 +1097 1 2.710000E+01 2.340000E+01 1.489000E+01 +1098 1 1.000000E-01 4.290000E+00 2.696000E+01 +1099 1 6.400000E+00 1.850000E+01 4.014000E+01 +1100 1 2.334000E+01 2.521000E+01 1.682000E+01 +1101 1 2.029000E+01 1.331000E+01 2.654000E+01 +1102 1 3.414000E+01 1.391000E+01 1.841000E+01 +1103 1 2.984000E+01 3.839000E+01 4.600000E+00 +1104 1 2.570000E+01 1.898000E+01 2.920000E+00 +1105 1 3.812000E+01 3.690000E+01 2.990000E+00 +1106 1 3.477000E+01 1.278000E+01 3.741000E+01 +1107 1 2.619000E+01 8.990000E+00 3.811000E+01 +1108 1 2.288000E+01 3.753000E+01 1.554000E+01 +1109 1 9.580000E+00 1.119000E+01 2.883000E+01 +1110 1 2.885000E+01 3.501000E+01 3.864000E+01 +1111 1 3.804000E+01 2.327000E+01 1.392000E+01 +1112 1 3.221000E+01 1.475000E+01 4.019000E+01 +1113 1 2.298000E+01 3.750000E+00 2.336000E+01 +1114 1 3.079000E+01 2.918000E+01 2.843000E+01 +1115 1 2.192000E+01 3.333000E+01 2.466000E+01 +1116 1 3.105000E+01 1.491000E+01 2.302000E+01 +1117 1 1.463000E+01 1.740000E+01 1.902000E+01 +1118 1 5.160000E+00 1.431000E+01 1.833000E+01 +1119 1 3.748000E+01 3.474000E+01 1.228000E+01 +1120 1 1.928000E+01 2.761000E+01 1.711000E+01 +1121 1 3.456000E+01 2.111000E+01 1.480000E+01 +1122 1 3.947000E+01 1.284000E+01 2.774000E+01 +1123 1 3.109000E+01 1.864000E+01 1.692000E+01 +1124 1 1.101000E+01 3.502000E+01 2.637000E+01 +1125 1 6.450000E+00 8.300000E+00 3.935000E+01 +1126 1 1.102000E+01 3.965000E+01 3.741000E+01 +1127 1 3.034000E+01 2.946000E+01 1.600000E-01 +1128 1 5.820000E+00 2.265000E+01 3.620000E+00 +1129 1 1.668000E+01 3.081000E+01 2.721000E+01 +1130 1 3.337000E+01 3.333000E+01 3.704000E+01 +1131 1 8.670000E+00 1.893000E+01 3.462000E+01 +1132 1 5.250000E+00 2.861000E+01 3.655000E+01 +1133 1 3.401000E+01 2.099000E+01 3.105000E+01 +1134 1 1.878000E+01 6.930000E+00 3.430000E+00 +1135 1 1.820000E+01 2.042000E+01 1.970000E+01 +1136 1 3.604000E+01 1.869000E+01 2.686000E+01 +1137 1 7.900000E-01 2.344000E+01 7.790000E+00 +1138 1 1.429000E+01 2.965000E+01 2.851000E+01 +1139 1 2.285000E+01 2.852000E+01 6.800000E-01 +1140 1 1.117000E+01 3.682000E+01 2.353000E+01 +1141 1 2.882000E+01 3.799000E+01 9.160000E+00 +1142 1 4.028000E+01 9.430000E+00 1.387000E+01 +1143 1 5.200000E+00 2.358000E+01 3.807000E+01 +1144 1 1.787000E+01 1.770000E+00 3.866000E+01 +1145 1 5.650000E+00 3.737000E+01 2.922000E+01 +1146 1 2.560000E+00 3.544000E+01 1.994000E+01 +1147 1 3.677000E+01 2.009000E+01 2.316000E+01 +1148 1 1.355000E+01 1.968000E+01 5.330000E+00 +1149 1 1.637000E+01 2.384000E+01 9.270000E+00 +1150 1 3.193000E+01 4.010000E+01 3.606000E+01 +1151 1 3.170000E+01 3.120000E+01 5.860000E+00 +1152 1 2.779000E+01 1.944000E+01 6.280000E+00 +1153 1 2.472000E+01 3.992000E+01 2.727000E+01 +1154 1 2.030000E+01 2.963000E+01 2.512000E+01 +1155 1 3.187000E+01 3.400000E+00 3.720000E+01 +1156 1 2.517000E+01 8.650000E+00 1.247000E+01 +1157 1 1.124000E+01 1.631000E+01 3.400000E-01 +1158 1 1.664000E+01 1.285000E+01 2.707000E+01 +1159 1 4.510000E+00 2.920000E+01 2.199000E+01 +1160 1 5.080000E+00 3.390000E+00 3.060000E+01 +1161 1 2.670000E+01 2.982000E+01 3.829000E+01 +1162 1 2.712000E+01 2.265000E+01 9.090000E+00 +1163 1 3.638000E+01 3.170000E+01 5.510000E+00 +1164 1 2.496000E+01 1.438000E+01 1.584000E+01 +1165 1 1.659000E+01 3.052000E+01 1.874000E+01 +1166 1 1.083000E+01 2.998000E+01 2.351000E+01 +1167 1 3.754000E+01 3.751000E+01 3.049000E+01 +1168 1 3.229000E+01 2.187000E+01 3.982000E+01 +1169 1 3.652000E+01 2.556000E+01 1.345000E+01 +1170 1 3.551000E+01 4.010000E+01 1.011000E+01 +1171 1 2.740000E+00 1.585000E+01 3.276000E+01 +1172 1 3.376000E+01 2.291000E+01 1.852000E+01 +1173 1 2.598000E+01 3.266000E+01 2.092000E+01 +1174 1 3.882000E+01 1.360000E+00 1.439000E+01 +1175 1 2.282000E+01 1.660000E+01 2.088000E+01 +1176 1 1.938000E+01 7.990000E+00 2.275000E+01 +1177 1 1.095000E+01 1.666000E+01 4.800000E+00 +1178 1 3.468000E+01 1.184000E+01 2.623000E+01 +1179 1 3.108000E+01 2.838000E+01 1.891000E+01 +1180 1 3.415000E+01 7.750000E+00 1.679000E+01 +1181 1 3.713000E+01 1.988000E+01 5.110000E+00 +1182 1 2.110000E+00 3.913000E+01 3.360000E+00 +1183 1 2.311000E+01 3.560000E+01 6.700000E+00 +1184 1 2.552000E+01 3.364000E+01 7.380000E+00 +1185 1 1.535000E+01 1.344000E+01 1.084000E+01 +1186 1 6.340000E+00 1.187000E+01 1.055000E+01 +1187 1 1.725000E+01 1.950000E+01 1.471000E+01 +1188 1 4.015000E+01 1.317000E+01 1.957000E+01 +1189 1 3.513000E+01 3.980000E+00 3.989000E+01 +1190 1 2.488000E+01 2.747000E+01 3.122000E+01 +1191 1 9.150000E+00 2.214000E+01 3.258000E+01 +1192 1 2.424000E+01 1.200000E+01 6.930000E+00 +1193 1 3.965000E+01 1.413000E+01 1.342000E+01 +1194 1 3.927000E+01 1.600000E-01 4.270000E+00 +1195 1 2.271000E+01 3.680000E+00 1.178000E+01 +1196 1 2.294000E+01 7.560000E+00 1.360000E+00 +1197 1 1.907000E+01 1.235000E+01 1.466000E+01 +1198 1 1.544000E+01 5.110000E+00 1.966000E+01 +1199 1 2.580000E+01 2.601000E+01 2.841000E+01 +1200 1 4.280000E+00 3.770000E+01 2.640000E+01 +1201 1 2.765000E+01 2.761000E+01 5.000000E-01 +1202 1 3.100000E+01 2.392000E+01 3.257000E+01 +1203 1 3.931000E+01 2.020000E+01 2.697000E+01 +1204 1 2.428000E+01 2.482000E+01 3.084000E+01 +1205 1 1.408000E+01 1.666000E+01 1.350000E+00 +1206 1 1.547000E+01 3.540000E+01 3.676000E+01 +1207 1 3.507000E+01 2.395000E+01 1.057000E+01 +1208 1 3.648000E+01 8.430000E+00 9.010000E+00 +1209 1 2.923000E+01 1.604000E+01 1.253000E+01 +1210 1 1.365000E+01 9.500000E-01 1.787000E+01 +1211 1 1.272000E+01 2.981000E+01 7.750000E+00 +1212 1 1.840000E+00 2.728000E+01 3.907000E+01 +1213 1 1.120000E+00 1.518000E+01 1.694000E+01 +1214 1 3.563000E+01 9.240000E+00 3.370000E+00 +1215 1 1.424000E+01 2.757000E+01 2.428000E+01 +1216 1 5.890000E+00 1.033000E+01 5.660000E+00 +1217 1 9.570000E+00 3.371000E+01 3.266000E+01 +1218 1 2.773000E+01 1.012000E+01 2.509000E+01 +1219 1 3.792000E+01 3.945000E+01 2.844000E+01 +1220 1 5.150000E+00 1.463000E+01 2.636000E+01 +1221 1 3.328000E+01 3.381000E+01 2.108000E+01 +1222 1 8.140000E+00 2.831000E+01 2.295000E+01 +1223 1 1.308000E+01 3.189000E+01 3.179000E+01 +1224 1 4.870000E+00 3.625000E+01 1.928000E+01 +1225 1 1.535000E+01 3.519000E+01 1.842000E+01 +1226 1 1.529000E+01 1.635000E+01 2.662000E+01 +1227 1 1.112000E+01 2.849000E+01 1.917000E+01 +1228 1 1.693000E+01 8.820000E+00 3.693000E+01 +1229 1 3.550000E+00 8.000000E-02 4.940000E+00 +1230 1 1.206000E+01 3.431000E+01 3.570000E+01 +1231 1 5.870000E+00 5.960000E+00 4.430000E+00 +1232 1 3.294000E+01 1.180000E+00 3.710000E+00 +1233 1 2.256000E+01 7.940000E+00 1.246000E+01 +1234 1 1.547000E+01 2.903000E+01 3.290000E+01 +1235 1 7.720000E+00 1.020000E+00 2.322000E+01 +1236 1 2.902000E+01 2.914000E+01 8.300000E+00 +1237 1 1.436000E+01 3.453000E+01 3.256000E+01 +1238 1 2.781000E+01 3.972000E+01 3.000000E+00 +1239 1 2.858000E+01 2.193000E+01 3.591000E+01 +1240 1 2.391000E+01 2.270000E+01 1.922000E+01 +1241 1 1.600000E-01 2.370000E+00 3.034000E+01 +1242 1 2.127000E+01 3.586000E+01 3.348000E+01 +1243 1 2.298000E+01 1.863000E+01 2.466000E+01 +1244 1 2.380000E+00 1.022000E+01 2.573000E+01 +1245 1 2.251000E+01 1.543000E+01 1.045000E+01 +1246 1 1.938000E+01 3.690000E+00 7.760000E+00 +1247 1 1.976000E+01 6.120000E+00 3.336000E+01 +1248 1 2.334000E+01 3.926000E+01 2.133000E+01 +1249 1 3.026000E+01 2.779000E+01 5.850000E+00 +1250 1 2.347000E+01 8.300000E-01 3.432000E+01 +1251 1 3.707000E+01 4.440000E+00 2.697000E+01 +1252 1 1.840000E+01 2.950000E+00 2.370000E+01 +1253 1 2.758000E+01 3.078000E+01 1.500000E+01 +1254 1 3.211000E+01 1.728000E+01 2.356000E+01 +1255 1 1.314000E+01 1.152000E+01 2.412000E+01 +1256 1 5.890000E+00 2.665000E+01 3.327000E+01 +1257 1 1.501000E+01 2.282000E+01 2.825000E+01 +1258 1 1.249000E+01 3.631000E+01 7.180000E+00 +1259 1 5.500000E+00 2.406000E+01 9.120000E+00 +1260 1 1.059000E+01 4.300000E-01 3.199000E+01 +1261 1 3.132000E+01 3.683000E+01 2.740000E+00 +1262 1 1.165000E+01 2.439000E+01 1.650000E+00 +1263 1 1.434000E+01 6.550000E+00 6.850000E+00 +1264 1 7.480000E+00 2.303000E+01 7.160000E+00 +1265 1 3.002000E+01 2.488000E+01 2.780000E+00 +1266 1 4.010000E+01 2.802000E+01 3.485000E+01 +1267 1 1.400000E+00 2.684000E+01 1.046000E+01 +1268 1 2.590000E+01 2.991000E+01 3.237000E+01 +1269 1 2.170000E+01 3.797000E+01 2.319000E+01 +1270 1 3.904000E+01 1.949000E+01 2.990000E+00 +1271 1 2.555000E+01 4.360000E+00 1.111000E+01 +1272 1 2.977000E+01 2.702000E+01 1.584000E+01 +1273 1 1.501000E+01 3.299000E+01 2.369000E+01 +1274 1 1.219000E+01 2.916000E+01 3.926000E+01 +1275 1 2.820000E+01 3.847000E+01 2.768000E+01 +1276 1 2.101000E+01 1.450000E+01 2.000000E+01 +1277 1 5.330000E+00 1.646000E+01 2.920000E+01 +1278 1 3.312000E+01 3.543000E+01 2.790000E+01 +1279 1 1.800000E+01 1.098000E+01 1.700000E+01 +1280 1 7.030000E+00 3.831000E+01 1.719000E+01 +1281 1 1.319000E+01 9.240000E+00 1.075000E+01 +1282 1 3.920000E+00 7.200000E+00 1.115000E+01 +1283 1 3.650000E+00 2.979000E+01 1.546000E+01 +1284 1 3.500000E+00 3.072000E+01 3.912000E+01 +1285 1 3.430000E+00 1.000000E+00 2.804000E+01 +1286 1 3.679000E+01 8.930000E+00 1.675000E+01 +1287 1 3.414000E+01 7.190000E+00 2.456000E+01 +1288 1 6.710000E+00 1.730000E+01 1.122000E+01 +1289 1 1.709000E+01 2.770000E+01 1.262000E+01 +1290 1 3.694000E+01 1.546000E+01 1.331000E+01 +1291 1 2.718000E+01 2.792000E+01 1.645000E+01 +1292 1 2.908000E+01 3.329000E+01 3.528000E+01 +1293 1 3.268000E+01 2.537000E+01 3.058000E+01 +1294 1 1.485000E+01 1.259000E+01 1.325000E+01 +1295 1 8.820000E+00 3.261000E+01 4.007000E+01 +1296 1 3.998000E+01 1.613000E+01 2.972000E+01 +1297 1 3.139000E+01 2.758000E+01 3.560000E+00 +1298 1 3.836000E+01 3.975000E+01 3.901000E+01 +1299 1 1.090000E+00 4.980000E+00 1.548000E+01 +1300 1 1.421000E+01 3.173000E+01 5.250000E+00 +1301 1 3.944000E+01 1.907000E+01 6.630000E+00 +1302 1 1.319000E+01 2.388000E+01 3.310000E+01 +1303 1 1.448000E+01 2.150000E+01 1.276000E+01 +1304 1 2.870000E+01 1.075000E+01 3.650000E+00 +1305 1 6.410000E+00 1.970000E+01 9.590000E+00 +1306 1 1.254000E+01 3.653000E+01 3.732000E+01 +1307 1 3.622000E+01 3.267000E+01 3.146000E+01 +1308 1 3.814000E+01 3.510000E+00 2.927000E+01 +1309 1 3.172000E+01 1.006000E+01 3.114000E+01 +1310 1 4.270000E+00 3.802000E+01 1.210000E+01 +1311 1 2.905000E+01 3.354000E+01 4.750000E+00 +1312 1 2.541000E+01 1.406000E+01 2.628000E+01 +1313 1 1.076000E+01 4.920000E+00 3.349000E+01 +1314 1 2.420000E+01 1.290000E+00 3.290000E+00 +1315 1 2.271000E+01 3.960000E+01 2.526000E+01 +1316 1 2.240000E+00 3.942000E+01 8.460000E+00 +1317 1 2.018000E+01 1.189000E+01 2.936000E+01 +1318 1 6.670000E+00 3.647000E+01 3.150000E+00 +1319 1 1.217000E+01 3.813000E+01 1.310000E+00 +1320 1 2.958000E+01 8.560000E+00 2.654000E+01 +1321 1 6.460000E+00 1.124000E+01 3.265000E+01 +1322 1 3.173000E+01 4.810000E+00 3.261000E+01 +1323 1 1.022000E+01 7.550000E+00 2.677000E+01 +1324 1 1.739000E+01 1.514000E+01 4.980000E+00 +1325 1 1.226000E+01 2.119000E+01 2.735000E+01 +1326 1 3.404000E+01 6.900000E+00 3.635000E+01 +1327 1 2.650000E+01 3.732000E+01 5.370000E+00 +1328 1 3.277000E+01 4.990000E+00 1.680000E+01 +1329 1 1.502000E+01 1.545000E+01 7.820000E+00 +1330 1 7.740000E+00 2.527000E+01 3.585000E+01 +1331 1 1.992000E+01 3.187000E+01 1.825000E+01 +1332 1 3.401000E+01 6.910000E+00 2.720000E+01 +1333 1 2.875000E+01 2.100000E+00 2.223000E+01 +1334 1 2.556000E+01 2.718000E+01 2.141000E+01 +1335 1 4.860000E+00 3.796000E+01 4.027000E+01 +1336 1 4.010000E+00 2.570000E+01 1.649000E+01 +1337 1 2.580000E+00 2.737000E+01 1.471000E+01 +1338 1 2.040000E+01 4.770000E+00 2.774000E+01 +1339 1 2.217000E+01 2.430000E+01 8.960000E+00 +1340 1 2.120000E+01 1.712000E+01 1.479000E+01 +1341 1 2.385000E+01 1.226000E+01 1.738000E+01 +1342 1 2.168000E+01 3.595000E+01 2.633000E+01 +1343 1 3.779000E+01 2.744000E+01 2.254000E+01 +1344 1 3.197000E+01 8.010000E+00 1.350000E+00 +1345 1 1.345000E+01 1.666000E+01 2.972000E+01 +1346 1 2.106000E+01 1.860000E+01 5.840000E+00 +1347 1 2.651000E+01 1.600000E-01 3.379000E+01 +1348 1 1.457000E+01 4.990000E+00 3.677000E+01 +1349 1 2.559000E+01 1.070000E+01 3.575000E+01 +1350 1 3.456000E+01 3.082000E+01 1.151000E+01 +1351 1 2.127000E+01 6.240000E+00 6.000000E+00 +1352 1 6.170000E+00 3.078000E+01 3.640000E+00 +1353 1 1.606000E+01 2.608000E+01 3.980000E+01 +1354 1 2.043000E+01 3.960000E+00 2.226000E+01 +1355 1 3.570000E+00 1.118000E+01 1.740000E+01 +1356 1 2.415000E+01 3.418000E+01 1.358000E+01 +1357 1 2.250000E+01 1.542000E+01 7.510000E+00 +1358 1 2.400000E-01 2.390000E+00 1.615000E+01 +1359 1 1.864000E+01 3.642000E+01 2.140000E+01 +1360 1 3.561000E+01 2.350000E+00 1.924000E+01 +1361 1 1.393000E+01 2.400000E+01 4.011000E+01 +1362 1 2.980000E+01 5.650000E+00 3.999000E+01 +1363 1 6.930000E+00 2.818000E+01 2.740000E+00 +1364 1 2.728000E+01 8.100000E-01 3.012000E+01 +1365 1 2.297000E+01 3.893000E+01 3.844000E+01 +1366 1 1.987000E+01 3.658000E+01 5.510000E+00 +1367 1 1.177000E+01 2.127000E+01 3.189000E+01 +1368 1 3.160000E+01 1.245000E+01 3.217000E+01 +1369 1 3.270000E+01 1.684000E+01 1.796000E+01 +1370 1 2.535000E+01 2.905000E+01 1.800000E+01 +1371 1 2.630000E+00 4.370000E+00 1.343000E+01 +1372 1 1.124000E+01 1.275000E+01 1.044000E+01 +1373 1 1.947000E+01 1.880000E+01 2.250000E+00 +1374 1 3.409000E+01 4.040000E+00 5.220000E+00 +1375 1 1.379000E+01 1.329000E+01 4.620000E+00 +1376 1 1.963000E+01 1.086000E+01 3.570000E+00 +1377 1 1.305000E+01 1.861000E+01 3.700000E+01 +1378 1 5.910000E+00 3.479000E+01 7.090000E+00 +1379 1 2.664000E+01 3.274000E+01 1.313000E+01 +1380 1 3.940000E+00 3.429000E+01 3.908000E+01 +1381 1 4.960000E+00 1.359000E+01 3.255000E+01 +1382 1 2.380000E+01 1.574000E+01 3.517000E+01 +1383 1 9.930000E+00 1.304000E+01 3.540000E+01 +1384 1 8.350000E+00 2.658000E+01 1.746000E+01 +1385 1 2.680000E+01 1.073000E+01 3.069000E+01 +1386 1 2.992000E+01 1.538000E+01 2.555000E+01 +1387 1 2.805000E+01 1.774000E+01 3.190000E+00 +1388 1 3.191000E+01 3.929000E+01 6.120000E+00 +1389 1 3.335000E+01 1.971000E+01 1.050000E+00 +1390 1 2.216000E+01 1.137000E+01 2.750000E+00 +1391 1 2.882000E+01 1.110000E+01 7.400000E-01 +1392 1 7.640000E+00 3.850000E+01 3.779000E+01 +1393 1 3.707000E+01 2.949000E+01 3.358000E+01 +1394 1 2.828000E+01 9.070000E+00 1.356000E+01 +1395 1 1.108000E+01 6.850000E+00 8.000000E+00 +1396 1 1.787000E+01 1.364000E+01 9.840000E+00 +1397 1 2.900000E+01 3.620000E+01 1.090000E+00 +1398 1 9.170000E+00 3.214000E+01 1.168000E+01 +1399 1 1.810000E+01 9.150000E+00 9.360000E+00 +1400 1 2.430000E+00 2.545000E+01 1.760000E+00 +1401 1 2.090000E+00 3.653000E+01 1.733000E+01 +1402 1 9.260000E+00 2.339000E+01 4.100000E-01 +1403 1 3.103000E+01 5.880000E+00 8.890000E+00 +1404 1 3.511000E+01 2.325000E+01 1.322000E+01 +1405 1 1.774000E+01 2.442000E+01 4.870000E+00 +1406 1 3.054000E+01 1.328000E+01 1.581000E+01 +1407 1 3.084000E+01 2.721000E+01 3.022000E+01 +1408 1 3.960000E+00 3.703000E+01 3.776000E+01 +1409 1 2.184000E+01 1.208000E+01 3.655000E+01 +1410 1 2.615000E+01 1.950000E+01 1.868000E+01 +1411 1 3.420000E+00 7.500000E-01 3.176000E+01 +1412 1 3.223000E+01 2.681000E+01 3.401000E+01 +1413 1 2.986000E+01 2.995000E+01 2.098000E+01 +1414 1 2.076000E+01 2.310000E+01 2.351000E+01 +1415 1 2.757000E+01 1.960000E+00 1.832000E+01 +1416 1 2.290000E+01 1.656000E+01 1.825000E+01 +1417 1 3.730000E+00 3.849000E+01 2.385000E+01 +1418 1 2.070000E+00 3.006000E+01 3.690000E+01 +1419 1 2.486000E+01 3.901000E+01 3.640000E+00 +1420 1 6.690000E+00 1.080000E+00 1.762000E+01 +1421 1 2.810000E+01 3.061000E+01 2.849000E+01 +1422 1 1.667000E+01 2.217000E+01 3.643000E+01 +1423 1 1.246000E+01 3.921000E+01 3.348000E+01 +1424 1 1.620000E+00 1.527000E+01 2.182000E+01 +1425 1 8.390000E+00 2.229000E+01 2.910000E+00 +1426 1 4.960000E+00 1.722000E+01 3.227000E+01 +1427 1 1.097000E+01 3.120000E+00 3.136000E+01 +1428 1 1.470000E+00 3.810000E+01 2.636000E+01 +1429 1 9.630000E+00 1.670000E+00 3.791000E+01 +1430 1 1.733000E+01 9.980000E+00 3.389000E+01 +1431 1 1.300000E-01 1.829000E+01 5.300000E-01 +1432 1 1.720000E+01 2.888000E+01 3.760000E+00 +1433 1 3.608000E+01 1.331000E+01 1.390000E+00 +1434 1 3.466000E+01 2.952000E+01 2.841000E+01 +1435 1 2.257000E+01 9.070000E+00 3.054000E+01 +1436 1 8.100000E+00 2.772000E+01 3.451000E+01 +1437 1 1.917000E+01 2.970000E+01 3.244000E+01 +1438 1 2.160000E+00 9.940000E+00 1.380000E+00 +1439 1 1.853000E+01 1.426000E+01 2.321000E+01 +1440 1 2.528000E+01 3.675000E+01 3.157000E+01 +1441 1 2.960000E+00 2.813000E+01 3.537000E+01 +1442 1 5.020000E+00 4.000000E-01 1.215000E+01 +1443 1 1.564000E+01 3.659000E+01 2.433000E+01 +1444 1 3.000000E+00 3.658000E+01 1.670000E+00 +1445 1 3.501000E+01 1.470000E+01 3.992000E+01 +1446 1 2.720000E+01 3.610000E+00 6.250000E+00 +1447 1 3.294000E+01 3.124000E+01 3.537000E+01 +1448 1 5.810000E+00 2.759000E+01 1.464000E+01 +1449 1 3.810000E+01 3.890000E+01 8.600000E+00 +1450 1 4.022000E+01 5.010000E+00 7.200000E+00 +1451 1 2.377000E+01 3.116000E+01 3.824000E+01 +1452 1 3.817000E+01 1.637000E+01 5.570000E+00 +1453 1 3.050000E+00 2.772000E+01 3.266000E+01 +1454 1 3.022000E+01 3.328000E+01 1.495000E+01 +1455 1 6.080000E+00 1.196000E+01 2.602000E+01 +1456 1 2.198000E+01 3.821000E+01 6.410000E+00 +1457 1 3.644000E+01 7.460000E+00 3.733000E+01 +1458 1 1.589000E+01 3.311000E+01 3.883000E+01 +1459 1 3.532000E+01 1.931000E+01 2.946000E+01 +1460 1 2.519000E+01 1.542000E+01 1.105000E+01 +1461 1 7.320000E+00 1.694000E+01 1.880000E+00 +1462 1 1.205000E+01 2.463000E+01 1.075000E+01 +1463 1 1.325000E+01 2.868000E+01 1.600000E+00 +1464 1 2.294000E+01 2.149000E+01 3.254000E+01 +1465 1 1.392000E+01 7.080000E+00 2.761000E+01 +1466 1 3.159000E+01 3.295000E+01 3.362000E+01 +1467 1 1.675000E+01 6.980000E+00 1.550000E+00 +1468 1 4.680000E+00 4.700000E-01 8.310000E+00 +1469 1 2.746000E+01 3.543000E+01 3.680000E+00 +1470 1 2.042000E+01 2.320000E+01 3.005000E+01 +1471 1 3.860000E+01 1.418000E+01 1.530000E+00 +1472 1 2.749000E+01 3.548000E+01 2.641000E+01 +1473 1 1.658000E+01 2.845000E+01 1.001000E+01 +1474 1 2.232000E+01 3.803000E+01 2.870000E+00 +1475 1 2.061000E+01 3.710000E+00 3.526000E+01 +1476 1 9.570000E+00 1.493000E+01 3.136000E+01 +1477 1 4.630000E+00 1.600000E+00 1.140000E+00 +1478 1 3.290000E+00 7.150000E+00 3.688000E+01 +1479 1 5.330000E+00 3.326000E+01 2.706000E+01 +1480 1 1.874000E+01 2.017000E+01 3.637000E+01 +1481 1 1.154000E+01 1.770000E+00 8.630000E+00 +1482 1 2.200000E-01 1.175000E+01 9.020000E+00 +1483 1 1.778000E+01 1.796000E+01 8.780000E+00 +1484 1 8.550000E+00 1.950000E+01 1.572000E+01 +1485 1 1.368000E+01 9.410000E+00 3.781000E+01 +1486 1 5.060000E+00 2.528000E+01 1.760000E+00 +1487 1 1.348000E+01 7.750000E+00 3.034000E+01 +1488 1 1.100000E-01 3.838000E+01 1.051000E+01 +1489 1 7.400000E-01 2.262000E+01 2.198000E+01 +1490 1 1.359000E+01 1.589000E+01 3.418000E+01 +1491 1 2.760000E+01 5.130000E+00 3.155000E+01 +1492 1 8.070000E+00 3.178000E+01 1.642000E+01 +1493 1 3.561000E+01 2.099000E+01 4.011000E+01 +1494 1 1.933000E+01 1.870000E+00 3.318000E+01 +1495 1 3.815000E+01 2.150000E+01 5.100000E-01 +1496 1 1.389000E+01 3.694000E+01 1.196000E+01 +1497 1 9.190000E+00 2.380000E+01 1.214000E+01 +1498 1 1.472000E+01 2.570000E+01 2.248000E+01 +1499 1 9.430000E+00 6.980000E+00 1.543000E+01 +1500 1 3.500000E+01 1.781000E+01 3.705000E+01 +1501 1 3.357000E+01 1.549000E+01 1.559000E+01 +1502 1 1.196000E+01 3.850000E+01 5.740000E+00 +1503 1 9.320000E+00 2.848000E+01 2.568000E+01 +1504 1 1.820000E+00 8.920000E+00 3.910000E+00 +1505 1 6.640000E+00 1.783000E+01 4.430000E+00 +1506 1 1.285000E+01 3.971000E+01 9.180000E+00 +1507 1 8.750000E+00 3.740000E+00 5.670000E+00 +1508 1 1.418000E+01 1.894000E+01 1.328000E+01 +1509 1 3.084000E+01 1.262000E+01 3.479000E+01 +1510 1 3.272000E+01 2.918000E+01 1.780000E+00 +1511 1 2.370000E+00 1.336000E+01 5.600000E+00 +1512 1 2.893000E+01 6.660000E+00 1.092000E+01 +1513 1 4.600000E-01 1.000000E-01 1.299000E+01 +1514 1 1.375000E+01 2.610000E+00 4.080000E+00 +1515 1 2.833000E+01 3.156000E+01 2.518000E+01 +1516 1 1.641000E+01 2.219000E+01 5.640000E+00 +1517 1 3.764000E+01 9.750000E+00 3.632000E+01 +1518 1 1.009000E+01 3.697000E+01 3.843000E+01 +1519 1 1.439000E+01 3.326000E+01 3.508000E+01 +1520 1 4.320000E+00 4.370000E+00 2.500000E+00 +1521 1 9.200000E+00 2.266000E+01 9.410000E+00 +1522 1 8.290000E+00 2.166000E+01 3.791000E+01 +1523 1 2.775000E+01 1.574000E+01 7.580000E+00 +1524 1 3.112000E+01 1.926000E+01 1.035000E+01 +1525 1 2.905000E+01 1.047000E+01 2.138000E+01 +1526 1 2.190000E+01 9.510000E+00 3.525000E+01 +1527 1 3.581000E+01 2.896000E+01 1.660000E+00 +1528 1 9.700000E-01 3.178000E+01 1.872000E+01 +1529 1 7.040000E+00 5.100000E+00 9.470000E+00 +1530 1 3.515000E+01 1.636000E+01 2.275000E+01 +1531 1 1.136000E+01 2.126000E+01 3.580000E+01 +1532 1 2.387000E+01 1.600000E+00 2.197000E+01 +1533 1 1.347000E+01 8.830000E+00 5.600000E-01 +1534 1 3.177000E+01 1.369000E+01 2.890000E+01 +1535 1 1.407000E+01 2.034000E+01 2.640000E+00 +1536 1 3.052000E+01 1.010000E+01 8.730000E+00 +1537 1 3.484000E+01 1.526000E+01 3.368000E+01 +1538 1 2.878000E+01 1.497000E+01 3.620000E+01 +1539 1 1.971000E+01 2.704000E+01 1.131000E+01 +1540 1 6.930000E+00 3.917000E+01 1.046000E+01 +1541 1 2.469000E+01 1.259000E+01 2.390000E+01 +1542 1 1.780000E+00 2.473000E+01 1.754000E+01 +1543 1 3.880000E+01 5.180000E+00 1.822000E+01 +1544 1 1.251000E+01 3.104000E+01 3.040000E+00 +1545 1 2.450000E+01 2.044000E+01 2.614000E+01 +1546 1 1.047000E+01 3.333000E+01 7.610000E+00 +1547 1 7.280000E+00 7.750000E+00 5.920000E+00 +1548 1 2.830000E+00 2.413000E+01 3.270000E+01 +1549 1 1.217000E+01 2.309000E+01 2.254000E+01 +1550 1 2.141000E+01 3.446000E+01 2.861000E+01 +1551 1 3.979000E+01 1.027000E+01 2.290000E+00 +1552 1 7.000000E-01 2.459000E+01 2.969000E+01 +1553 1 1.352000E+01 1.136000E+01 2.727000E+01 +1554 1 3.741000E+01 3.061000E+01 2.193000E+01 +1555 1 2.734000E+01 2.234000E+01 2.685000E+01 +1556 1 2.172000E+01 2.230000E+00 8.240000E+00 +1557 1 3.788000E+01 1.843000E+01 2.492000E+01 +1558 1 6.350000E+00 3.578000E+01 3.374000E+01 +1559 1 2.286000E+01 2.200000E+00 3.186000E+01 +1560 1 3.322000E+01 4.590000E+00 2.710000E+00 +1561 1 1.315000E+01 1.466000E+01 1.008000E+01 +1562 1 2.883000E+01 2.383000E+01 3.093000E+01 +1563 1 1.278000E+01 1.185000E+01 3.666000E+01 +1564 1 4.220000E+00 1.916000E+01 5.310000E+00 +1565 1 2.612000E+01 6.230000E+00 2.050000E+01 +1566 1 1.400000E+00 1.401000E+01 3.426000E+01 +1567 1 5.210000E+00 2.573000E+01 2.616000E+01 +1568 1 1.423000E+01 1.097000E+01 3.458000E+01 +1569 1 1.777000E+01 2.522000E+01 1.154000E+01 +1570 1 3.381000E+01 6.400000E+00 1.077000E+01 +1571 1 1.508000E+01 4.400000E-01 3.908000E+01 +1572 1 6.730000E+00 3.688000E+01 9.070000E+00 +1573 1 2.040000E+01 2.065000E+01 1.584000E+01 +1574 1 1.844000E+01 9.810000E+00 2.893000E+01 +1575 1 1.950000E+00 6.940000E+00 2.815000E+01 +1576 1 9.500000E+00 2.587000E+01 9.680000E+00 +1577 1 3.990000E+00 2.400000E+00 1.982000E+01 +1578 1 2.900000E+01 3.571000E+01 3.371000E+01 +1579 1 3.817000E+01 1.882000E+01 2.905000E+01 +1580 1 1.229000E+01 1.288000E+01 1.493000E+01 +1581 1 2.226000E+01 1.038000E+01 2.000000E-01 +1582 1 8.750000E+00 1.312000E+01 2.703000E+01 +1583 1 9.670000E+00 3.071000E+01 1.930000E+00 +1584 1 1.697000E+01 2.436000E+01 2.133000E+01 +1585 1 3.249000E+01 3.746000E+01 3.428000E+01 +1586 1 2.899000E+01 3.809000E+01 1.194000E+01 +1587 1 3.445000E+01 2.889000E+01 9.390000E+00 +1588 1 1.401000E+01 2.116000E+01 3.661000E+01 +1589 1 8.700000E-01 2.382000E+01 3.668000E+01 +1590 1 3.915000E+01 7.480000E+00 1.593000E+01 +1591 1 1.036000E+01 1.030000E+01 3.190000E+01 +1592 1 4.220000E+00 1.625000E+01 1.119000E+01 +1593 1 3.389000E+01 1.780000E+00 2.755000E+01 +1594 1 1.246000E+01 8.160000E+00 3.565000E+01 +1595 1 3.811000E+01 1.320000E+01 4.170000E+00 +1596 1 2.947000E+01 6.310000E+00 3.321000E+01 +1597 1 1.444000E+01 2.160000E+01 7.480000E+00 +1598 1 3.360000E+01 2.825000E+01 1.814000E+01 +1599 1 6.400000E-01 3.160000E+01 2.619000E+01 +1600 1 2.477000E+01 2.643000E+01 1.880000E+01 +1601 1 1.755000E+01 2.823000E+01 3.460000E+01 +1602 1 3.945000E+01 2.520000E+01 1.824000E+01 +1603 1 3.013000E+01 2.077000E+01 1.514000E+01 +1604 1 2.459000E+01 3.660000E+01 3.478000E+01 +1605 1 2.318000E+01 9.770000E+00 3.799000E+01 +1606 1 3.523000E+01 9.760000E+00 1.120000E+01 +1607 1 3.625000E+01 3.149000E+01 8.750000E+00 +1608 1 3.202000E+01 7.500000E+00 7.090000E+00 +1609 1 1.357000E+01 3.376000E+01 2.663000E+01 +1610 1 2.101000E+01 1.504000E+01 1.717000E+01 +1611 1 2.895000E+01 4.980000E+00 2.930000E+01 +1612 1 3.817000E+01 2.899000E+01 3.097000E+01 +1613 1 3.765000E+01 3.460000E+00 3.898000E+01 +1614 1 2.575000E+01 4.890000E+00 2.528000E+01 +1615 1 3.599000E+01 1.568000E+01 1.927000E+01 +1616 1 2.431000E+01 5.700000E+00 3.397000E+01 +1617 1 2.130000E+00 2.891000E+01 6.330000E+00 +1618 1 3.190000E+00 5.440000E+00 3.909000E+01 +1619 1 2.340000E+00 3.554000E+01 2.575000E+01 +1620 1 1.124000E+01 7.820000E+00 3.241000E+01 +1621 1 5.200000E-01 5.850000E+00 3.887000E+01 +1622 1 8.370000E+00 6.440000E+00 3.862000E+01 +1623 1 1.790000E+00 3.708000E+01 2.244000E+01 +1624 1 1.278000E+01 2.651000E+01 1.812000E+01 +1625 1 2.391000E+01 2.164000E+01 1.222000E+01 +1626 1 2.356000E+01 1.921000E+01 7.060000E+00 +1627 1 3.853000E+01 3.246000E+01 3.819000E+01 +1628 1 6.430000E+00 2.372000E+01 3.407000E+01 +1629 1 1.055000E+01 2.012000E+01 5.500000E+00 +1630 1 2.635000E+01 1.908000E+01 3.655000E+01 +1631 1 1.615000E+01 5.330000E+00 1.680000E+01 +1632 1 2.050000E+01 2.713000E+01 2.675000E+01 +1633 1 2.450000E+00 1.850000E+00 1.185000E+01 +1634 1 3.842000E+01 1.927000E+01 1.340000E+01 +1635 1 3.560000E+01 2.991000E+01 3.746000E+01 +1636 1 1.205000E+01 1.955000E+01 3.382000E+01 +1637 1 3.346000E+01 1.793000E+01 3.918000E+01 +1638 1 1.804000E+01 1.845000E+01 2.919000E+01 +1639 1 2.013000E+01 3.484000E+01 1.485000E+01 +1640 1 1.857000E+01 2.674000E+01 2.141000E+01 +1641 1 1.780000E+00 3.457000E+01 3.455000E+01 +1642 1 1.133000E+01 5.160000E+00 2.104000E+01 +1643 1 8.710000E+00 2.148000E+01 2.817000E+01 +1644 1 2.564000E+01 2.289000E+01 3.583000E+01 +1645 1 1.795000E+01 2.480000E+01 3.808000E+01 +1646 1 2.110000E+00 2.141000E+01 3.274000E+01 +1647 1 3.600000E+01 1.830000E+01 2.078000E+01 +1648 1 1.551000E+01 4.011000E+01 5.650000E+00 +1649 1 3.445000E+01 3.825000E+01 6.640000E+00 +1650 1 2.430000E+00 3.178000E+01 2.884000E+01 +1651 1 3.040000E+01 1.860000E+00 3.503000E+01 +1652 1 2.811000E+01 8.440000E+00 2.985000E+01 +1653 1 1.467000E+01 1.845000E+01 3.386000E+01 +1654 1 3.925000E+01 6.950000E+00 3.398000E+01 +1655 1 3.377000E+01 2.648000E+01 6.800000E+00 +1656 1 4.520000E+00 2.755000E+01 3.924000E+01 +1657 1 2.454000E+01 3.519000E+01 2.140000E+00 +1658 1 3.307000E+01 3.625000E+01 4.980000E+00 +1659 1 3.070000E+00 3.100000E+00 1.713000E+01 +1660 1 3.759000E+01 1.688000E+01 3.333000E+01 +1661 1 9.100000E+00 3.988000E+01 4.560000E+00 +1662 1 2.423000E+01 8.630000E+00 3.409000E+01 +1663 1 3.720000E+01 2.865000E+01 2.818000E+01 +1664 1 9.920000E+00 1.170000E+00 2.153000E+01 +1665 1 5.900000E+00 1.950000E+00 2.841000E+01 +1666 1 3.709000E+01 1.570000E+01 2.824000E+01 +1667 1 3.722000E+01 7.380000E+00 2.617000E+01 +1668 1 3.050000E+00 2.716000E+01 8.050000E+00 +1669 1 1.669000E+01 3.698000E+01 1.056000E+01 +1670 1 3.190000E+00 9.160000E+00 7.780000E+00 +1671 1 2.651000E+01 2.454000E+01 1.986000E+01 +1672 1 2.637000E+01 1.740000E+00 2.675000E+01 +1673 1 2.998000E+01 3.964000E+01 1.620000E+01 +1674 1 1.909000E+01 1.974000E+01 2.647000E+01 +1675 1 1.444000E+01 2.134000E+01 3.925000E+01 +1676 1 6.450000E+00 3.316000E+01 3.692000E+01 +1677 1 1.319000E+01 2.623000E+01 3.686000E+01 +1678 1 2.803000E+01 2.920000E+01 3.413000E+01 +1679 1 2.336000E+01 1.011000E+01 1.954000E+01 +1680 1 2.556000E+01 1.220000E+01 3.832000E+01 +1681 1 2.229000E+01 2.916000E+01 2.311000E+01 +1682 1 3.942000E+01 3.332000E+01 1.121000E+01 +1683 1 2.733000E+01 1.537000E+01 2.445000E+01 +1684 1 1.812000E+01 3.589000E+01 3.707000E+01 +1685 1 1.044000E+01 2.163000E+01 1.333000E+01 +1686 1 2.497000E+01 1.248000E+01 2.150000E+00 +1687 1 2.822000E+01 2.474000E+01 8.800000E-01 +1688 1 2.875000E+01 1.143000E+01 3.599000E+01 +1689 1 1.142000E+01 2.230000E+00 2.508000E+01 +1690 1 2.919000E+01 1.269000E+01 5.180000E+00 +1691 1 3.500000E+00 2.240000E+00 3.905000E+01 +1692 1 2.187000E+01 1.219000E+01 2.446000E+01 +1693 1 1.705000E+01 5.650000E+00 1.264000E+01 +1694 1 1.888000E+01 3.955000E+01 2.936000E+01 +1695 1 1.288000E+01 8.860000E+00 1.602000E+01 +1696 1 1.724000E+01 1.053000E+01 1.660000E+00 +1697 1 2.829000E+01 6.300000E-01 1.257000E+01 +1698 1 2.346000E+01 1.376000E+01 3.924000E+01 +1699 1 2.246000E+01 3.885000E+01 3.055000E+01 +1700 1 9.180000E+00 2.009000E+01 9.260000E+00 +1701 1 3.654000E+01 2.511000E+01 1.799000E+01 +1702 1 1.297000E+01 2.850000E+01 2.644000E+01 +1703 1 2.678000E+01 8.660000E+00 2.131000E+01 +1704 1 1.525000E+01 1.230000E+01 6.700000E-01 +1705 1 4.003000E+01 6.860000E+00 2.565000E+01 +1706 1 2.540000E+00 2.277000E+01 3.831000E+01 +1707 1 3.055000E+01 4.690000E+00 1.134000E+01 +1708 1 9.390000E+00 8.790000E+00 1.818000E+01 +1709 1 2.059000E+01 4.900000E-01 1.360000E+00 +1710 1 2.695000E+01 3.643000E+01 1.245000E+01 +1711 1 2.780000E+00 2.471000E+01 6.670000E+00 +1712 1 3.233000E+01 4.870000E+00 3.930000E+01 +1713 1 3.906000E+01 1.200000E+00 2.692000E+01 +1714 1 2.170000E+01 1.590000E+00 2.602000E+01 +1715 1 1.250000E+01 6.840000E+00 2.030000E+00 +1716 1 2.013000E+01 2.539000E+01 3.270000E+00 +1717 1 2.575000E+01 2.447000E+01 3.931000E+01 +1718 1 2.806000E+01 3.913000E+01 6.600000E+00 +1719 1 3.321000E+01 1.275000E+01 6.310000E+00 +1720 1 1.335000E+01 1.245000E+01 1.926000E+01 +1721 1 2.568000E+01 3.640000E+01 7.660000E+00 +1722 1 9.700000E-01 1.674000E+01 2.402000E+01 +1723 1 3.637000E+01 1.364000E+01 3.056000E+01 +1724 1 1.406000E+01 3.772000E+01 3.148000E+01 +1725 1 3.019000E+01 2.769000E+01 3.261000E+01 +1726 1 3.516000E+01 3.715000E+01 3.827000E+01 +1727 1 1.748000E+01 1.960000E+01 1.160000E+01 +1728 1 1.846000E+01 2.165000E+01 9.830000E+00 +1729 1 2.400000E+01 1.108000E+01 9.510000E+00 +1730 1 2.802000E+01 2.607000E+01 2.209000E+01 +1731 1 1.259000E+01 1.397000E+01 3.003000E+01 +1732 1 2.862000E+01 4.430000E+00 2.085000E+01 +1733 1 4.460000E+00 3.632000E+01 1.409000E+01 +1734 1 3.450000E+01 2.260000E+00 2.344000E+01 +1735 1 1.382000E+01 1.144000E+01 1.661000E+01 +1736 1 5.300000E-01 2.182000E+01 3.018000E+01 +1737 1 4.340000E+00 3.899000E+01 1.785000E+01 +1738 1 1.810000E+00 3.137000E+01 1.155000E+01 +1739 1 1.918000E+01 1.017000E+01 3.683000E+01 +1740 1 9.850000E+00 1.740000E+01 2.490000E+00 +1741 1 1.590000E+01 2.014000E+01 2.892000E+01 +1742 1 3.247000E+01 3.502000E+01 1.348000E+01 +1743 1 4.860000E+00 2.190000E+00 2.418000E+01 +1744 1 3.659000E+01 7.050000E+00 5.770000E+00 +1745 1 2.973000E+01 3.784000E+01 2.522000E+01 +1746 1 2.486000E+01 1.655000E+01 6.790000E+00 +1747 1 6.670000E+00 4.340000E+00 9.500000E-01 +1748 1 1.712000E+01 1.086000E+01 1.260000E+01 +1749 1 6.540000E+00 3.900000E-01 1.445000E+01 +1750 1 3.619000E+01 1.766000E+01 1.223000E+01 +1751 1 1.913000E+01 1.603000E+01 2.980000E+01 +1752 1 1.849000E+01 3.419000E+01 2.948000E+01 +1753 1 2.348000E+01 3.249000E+01 2.717000E+01 +1754 1 2.548000E+01 5.370000E+00 2.971000E+01 +1755 1 2.172000E+01 3.547000E+01 2.350000E+00 +1756 1 1.574000E+01 8.970000E+00 2.768000E+01 +1757 1 2.262000E+01 1.982000E+01 9.520000E+00 +1758 1 2.746000E+01 1.683000E+01 1.884000E+01 +1759 1 1.144000E+01 3.645000E+01 3.426000E+01 +1760 1 3.298000E+01 2.106000E+01 3.349000E+01 +1761 1 5.250000E+00 1.928000E+01 3.035000E+01 +1762 1 6.300000E-01 1.250000E+01 2.530000E+01 +1763 1 9.400000E-01 1.665000E+01 1.941000E+01 +1764 1 1.082000E+01 2.477000E+01 2.503000E+01 +1765 1 2.280000E+00 2.330000E+00 2.390000E+00 +1766 1 4.002000E+01 4.001000E+01 2.991000E+01 +1767 1 1.660000E+01 3.330000E+00 2.148000E+01 +1768 1 1.935000E+01 6.840000E+00 1.167000E+01 +1769 1 1.072000E+01 1.611000E+01 2.903000E+01 +1770 1 2.711000E+01 3.258000E+01 3.736000E+01 +1771 1 2.850000E+01 7.330000E+00 3.782000E+01 +1772 1 2.094000E+01 3.183000E+01 2.010000E+00 +1773 1 1.675000E+01 1.975000E+01 2.478000E+01 +1774 1 7.740000E+00 1.220000E+00 3.048000E+01 +1775 1 1.595000E+01 4.029000E+01 1.457000E+01 +1776 1 3.644000E+01 1.568000E+01 7.500000E+00 +1777 1 3.895000E+01 2.472000E+01 4.001000E+01 +1778 1 1.380000E+00 1.794000E+01 2.928000E+01 +1779 1 3.220000E+00 3.290000E+01 8.260000E+00 +1780 1 3.617000E+01 3.785000E+01 1.173000E+01 +1781 1 1.069000E+01 1.774000E+01 2.524000E+01 +1782 1 1.614000E+01 1.690000E+00 2.742000E+01 +1783 1 2.514000E+01 1.900000E+01 3.252000E+01 +1784 1 1.745000E+01 2.930000E+01 2.496000E+01 +1785 1 3.321000E+01 4.022000E+01 8.670000E+00 +1786 1 2.966000E+01 3.301000E+01 3.181000E+01 +1787 1 1.331000E+01 1.131000E+01 2.400000E+00 +1788 1 8.890000E+00 1.479000E+01 2.137000E+01 +1789 1 3.566000E+01 3.528000E+01 3.652000E+01 +1790 1 3.735000E+01 1.192000E+01 1.096000E+01 +1791 1 3.360000E+01 2.954000E+01 4.820000E+00 +1792 1 1.115000E+01 2.559000E+01 3.225000E+01 +1793 1 3.132000E+01 2.833000E+01 3.790000E+01 +1794 1 1.190000E+00 1.581000E+01 7.000000E-01 +1795 1 1.856000E+01 2.268000E+01 1.798000E+01 +1796 1 3.294000E+01 4.810000E+00 3.516000E+01 +1797 1 3.802000E+01 1.726000E+01 1.693000E+01 +1798 1 2.040000E+01 3.594000E+01 4.023000E+01 +1799 1 9.300000E+00 2.855000E+01 3.863000E+01 +1800 1 9.360000E+00 1.686000E+01 3.854000E+01 +1801 1 1.280000E+01 6.540000E+00 2.445000E+01 +1802 1 2.370000E+00 4.027000E+01 1.901000E+01 +1803 1 2.906000E+01 1.402000E+01 5.900000E-01 +1804 1 1.776000E+01 1.308000E+01 1.941000E+01 +1805 1 2.507000E+01 2.350000E+00 3.028000E+01 +1806 1 3.982000E+01 2.348000E+01 1.195000E+01 +1807 1 3.519000E+01 2.357000E+01 2.474000E+01 +1808 1 3.429000E+01 8.730000E+00 6.230000E+00 +1809 1 1.530000E+00 2.867000E+01 1.236000E+01 +1810 1 6.780000E+00 3.438000E+01 3.128000E+01 +1811 1 2.726000E+01 1.453000E+01 3.880000E+01 +1812 1 1.550000E+01 1.497000E+01 3.016000E+01 +1813 1 8.100000E+00 1.239000E+01 3.094000E+01 +1814 1 2.568000E+01 3.996000E+01 2.365000E+01 +1815 1 1.689000E+01 3.979000E+01 3.122000E+01 +1816 1 5.090000E+00 1.760000E+01 1.576000E+01 +1817 1 1.208000E+01 7.970000E+00 1.855000E+01 +1818 1 3.058000E+01 1.607000E+01 3.210000E+01 +1819 1 2.125000E+01 1.535000E+01 3.423000E+01 +1820 1 3.765000E+01 2.319000E+01 3.189000E+01 +1821 1 3.334000E+01 8.090000E+00 1.414000E+01 +1822 1 1.188000E+01 2.877000E+01 3.491000E+01 +1823 1 3.550000E+01 3.490000E+01 4.560000E+00 +1824 1 3.913000E+01 3.114000E+01 3.342000E+01 +1825 1 1.413000E+01 6.370000E+00 1.086000E+01 +1826 1 3.283000E+01 3.270000E+01 2.100000E-01 +1827 1 1.939000E+01 3.919000E+01 1.671000E+01 +1828 1 2.796000E+01 7.160000E+00 1.817000E+01 +1829 1 3.993000E+01 7.720000E+00 2.884000E+01 +1830 1 2.421000E+01 1.850000E+01 2.216000E+01 +1831 1 2.020000E+01 2.950000E+01 6.580000E+00 +1832 1 2.442000E+01 1.847000E+01 1.490000E+01 +1833 1 1.147000E+01 3.184000E+01 3.898000E+01 +1834 1 4.028000E+01 8.290000E+00 3.143000E+01 +1835 1 2.108000E+01 2.404000E+01 1.882000E+01 +1836 1 3.810000E+01 1.056000E+01 4.260000E+00 +1837 1 3.573000E+01 1.000000E+00 5.380000E+00 +1838 1 2.222000E+01 2.716000E+01 9.020000E+00 +1839 1 3.159000E+01 3.808000E+01 9.170000E+00 +1840 1 3.800000E-01 3.962000E+01 1.735000E+01 +1841 1 1.787000E+01 3.647000E+01 1.850000E+01 +1842 1 2.036000E+01 3.717000E+01 2.874000E+01 +1843 1 2.341000E+01 8.270000E+00 1.640000E+01 +1844 1 3.000000E-02 3.900000E+00 1.260000E+00 +1845 1 2.710000E+01 8.220000E+00 4.250000E+00 +1846 1 2.366000E+01 1.866000E+01 8.300000E-01 +1847 1 1.576000E+01 8.180000E+00 3.938000E+01 +1848 1 3.188000E+01 3.540000E+00 2.061000E+01 +1849 1 1.290000E+01 1.954000E+01 3.000000E+01 +1850 1 1.485000E+01 1.040000E+00 2.991000E+01 +1851 1 1.851000E+01 3.678000E+01 2.594000E+01 +1852 1 2.624000E+01 3.060000E+00 1.558000E+01 +1853 1 3.924000E+01 3.449000E+01 1.527000E+01 +1854 1 3.210000E+00 6.620000E+00 6.430000E+00 +1855 1 5.410000E+00 1.136000E+01 3.553000E+01 +1856 1 3.661000E+01 3.311000E+01 2.536000E+01 +1857 1 5.570000E+00 8.200000E-01 3.565000E+01 +1858 1 1.049000E+01 3.328000E+01 3.019000E+01 +1859 1 7.730000E+00 1.702000E+01 2.246000E+01 +1860 1 3.585000E+01 1.798000E+01 6.350000E+00 +1861 1 2.886000E+01 3.490000E+00 4.270000E+00 +1862 1 2.747000E+01 3.870000E+01 3.198000E+01 +1863 1 1.700000E+00 3.540000E+01 4.007000E+01 +1864 1 5.500000E-01 1.921000E+01 1.775000E+01 +1865 1 2.096000E+01 3.016000E+01 1.527000E+01 +1866 1 1.844000E+01 1.621000E+01 3.494000E+01 +1867 1 3.465000E+01 3.493000E+01 2.428000E+01 +1868 1 1.211000E+01 2.377000E+01 1.886000E+01 +1869 1 3.870000E+01 3.101000E+01 2.706000E+01 +1870 1 3.814000E+01 1.502000E+01 2.090000E+01 +1871 1 2.744000E+01 6.160000E+00 1.375000E+01 +1872 1 3.002000E+01 3.709000E+01 3.162000E+01 +1873 1 1.150000E+00 2.778000E+01 2.136000E+01 +1874 1 3.644000E+01 1.673000E+01 3.066000E+01 +1875 1 1.287000E+01 2.362000E+01 3.770000E+01 +1876 1 1.185000E+01 3.817000E+01 1.808000E+01 +1877 1 2.347000E+01 3.306000E+01 9.350000E+00 +1878 1 1.964000E+01 9.700000E-01 4.610000E+00 +1879 1 7.420000E+00 3.815000E+01 3.236000E+01 +1880 1 2.014000E+01 3.887000E+01 1.179000E+01 +1881 1 3.820000E+00 5.500000E+00 2.936000E+01 +1882 1 9.780000E+00 1.925000E+01 3.726000E+01 +1883 1 3.490000E+00 2.258000E+01 1.048000E+01 +1884 1 2.490000E+00 4.002000E+01 3.716000E+01 +1885 1 2.331000E+01 3.465000E+01 3.216000E+01 +1886 1 3.424000E+01 3.044000E+01 7.240000E+00 +1887 1 3.263000E+01 2.463000E+01 9.450000E+00 +1888 1 1.900000E+01 3.387000E+01 3.913000E+01 +1889 1 1.298000E+01 2.100000E+01 2.478000E+01 +1890 1 4.660000E+00 1.164000E+01 2.001000E+01 +1891 1 8.660000E+00 1.968000E+01 3.490000E+00 +1892 1 3.391000E+01 3.492000E+01 8.690000E+00 +1893 1 1.517000E+01 3.302000E+01 1.216000E+01 +1894 1 6.180000E+00 3.916000E+01 2.259000E+01 +1895 1 1.852000E+01 2.288000E+01 3.203000E+01 +1896 1 1.905000E+01 3.223000E+01 6.490000E+00 +1897 1 9.770000E+00 1.761000E+01 1.277000E+01 +1898 1 2.610000E+01 3.758000E+01 2.540000E+01 +1899 1 2.390000E+00 3.675000E+01 1.053000E+01 +1900 1 8.360000E+00 1.743000E+01 6.530000E+00 +1901 1 2.823000E+01 1.711000E+01 2.806000E+01 +1902 1 5.350000E+00 6.730000E+00 2.541000E+01 +1903 1 3.550000E+01 1.965000E+01 2.970000E+00 +1904 1 3.121000E+01 2.204000E+01 1.890000E+00 +1905 1 1.863000E+01 9.320000E+00 1.485000E+01 +1906 1 2.233000E+01 3.000000E-02 4.780000E+00 +1907 1 2.608000E+01 3.149000E+01 5.060000E+00 +1908 1 3.112000E+01 1.725000E+01 2.705000E+01 +1909 1 1.776000E+01 3.282000E+01 3.413000E+01 +1910 1 2.572000E+01 7.650000E+00 2.505000E+01 +1911 1 6.210000E+00 6.950000E+00 2.819000E+01 +1912 1 4.017000E+01 1.496000E+01 1.018000E+01 +1913 1 1.221000E+01 1.925000E+01 1.672000E+01 +1914 1 2.248000E+01 3.717000E+01 1.079000E+01 +1915 1 1.144000E+01 3.481000E+01 1.522000E+01 +1916 1 1.109000E+01 3.150000E+01 9.400000E+00 +1917 1 7.050000E+00 1.754000E+01 1.385000E+01 +1918 1 1.539000E+01 3.066000E+01 3.746000E+01 +1919 1 9.780000E+00 2.493000E+01 1.945000E+01 +1920 1 2.155000E+01 2.014000E+01 3.036000E+01 +1921 1 2.627000E+01 1.994000E+01 1.207000E+01 +1922 1 1.927000E+01 7.270000E+00 1.826000E+01 +1923 1 1.879000E+01 3.570000E+01 3.430000E+01 +1924 1 2.097000E+01 1.404000E+01 2.410000E+00 +1925 1 7.430000E+00 3.211000E+01 2.874000E+01 +1926 1 3.223000E+01 2.498000E+01 1.243000E+01 +1927 1 3.034000E+01 2.710000E+01 2.332000E+01 +1928 1 2.535000E+01 2.886000E+01 1.108000E+01 +1929 1 2.469000E+01 1.790000E+01 9.410000E+00 +1930 1 2.729000E+01 1.739000E+01 3.872000E+01 +1931 1 1.462000E+01 1.766000E+01 1.618000E+01 +1932 1 2.636000E+01 2.520000E+00 3.791000E+01 +1933 1 3.723000E+01 1.258000E+01 3.390000E+01 +1934 1 2.390000E+00 3.449000E+01 6.190000E+00 +1935 1 3.512000E+01 2.505000E+01 3.450000E+00 +1936 1 1.540000E+01 1.715000E+01 3.580000E+00 +1937 1 2.794000E+01 4.620000E+00 1.701000E+01 +1938 1 3.736000E+01 2.940000E+01 4.100000E+00 +1939 1 8.540000E+00 3.099000E+01 3.167000E+01 +1940 1 3.295000E+01 9.760000E+00 3.737000E+01 +1941 1 3.131000E+01 1.453000E+01 2.660000E+00 +1942 1 3.097000E+01 2.230000E+00 4.007000E+01 +1943 1 2.284000E+01 1.487000E+01 1.404000E+01 +1944 1 1.652000E+01 7.380000E+00 3.470000E+01 +1945 1 3.885000E+01 1.276000E+01 3.047000E+01 +1946 1 2.190000E+01 3.253000E+01 3.989000E+01 +1947 1 9.730000E+00 2.930000E+01 2.916000E+01 +1948 1 9.940000E+00 2.907000E+01 4.120000E+00 +1949 1 1.190000E+00 1.979000E+01 2.460000E+01 +1950 1 9.110000E+00 3.736000E+01 2.585000E+01 +1951 1 1.398000E+01 3.498000E+01 1.410000E+01 +1952 1 2.461000E+01 4.540000E+00 3.690000E+01 +1953 1 2.442000E+01 1.181000E+01 3.066000E+01 +1954 1 1.450000E+01 3.678000E+01 1.617000E+01 +1955 1 4.290000E+00 3.034000E+01 1.083000E+01 +1956 1 3.091000E+01 3.558000E+01 1.665000E+01 +1957 1 3.978000E+01 2.183000E+01 5.820000E+00 +1958 1 2.088000E+01 1.798000E+01 6.000000E-02 +1959 1 1.122000E+01 1.952000E+01 1.430000E+00 +1960 1 2.802000E+01 7.800000E-01 3.607000E+01 +1961 1 4.170000E+00 1.698000E+01 5.000000E-02 +1962 1 2.842000E+01 1.480000E+01 3.340000E+00 +1963 1 2.181000E+01 7.510000E+00 3.770000E+00 +1964 1 3.611000E+01 2.040000E+01 1.695000E+01 +1965 1 3.023000E+01 3.286000E+01 1.530000E+00 +1966 1 4.480000E+00 2.643000E+01 2.905000E+01 +1967 1 1.683000E+01 3.526000E+01 3.156000E+01 +1968 1 1.940000E+00 5.440000E+00 2.230000E+01 +1969 1 9.040000E+00 3.510000E+01 1.158000E+01 +1970 1 1.770000E+01 2.642000E+01 2.703000E+01 +1971 1 3.857000E+01 2.051000E+01 3.124000E+01 +1972 1 7.100000E+00 2.992000E+01 1.491000E+01 +1973 1 5.650000E+00 3.046000E+01 2.999000E+01 +1974 1 1.350000E+01 5.300000E-01 3.686000E+01 +1975 1 3.550000E+01 9.410000E+00 2.492000E+01 +1976 1 3.505000E+01 2.131000E+01 2.675000E+01 +1977 1 1.567000E+01 1.046000E+01 3.034000E+01 +1978 1 1.478000E+01 3.745000E+01 2.196000E+01 +1979 1 3.800000E-01 3.909000E+01 2.115000E+01 +1980 1 2.131000E+01 9.730000E+00 2.169000E+01 +1981 1 1.924000E+01 2.112000E+01 1.348000E+01 +1982 1 1.861000E+01 3.049000E+01 1.008000E+01 +1983 1 3.514000E+01 5.950000E+00 1.891000E+01 +1984 1 3.828000E+01 1.015000E+01 3.113000E+01 +1985 1 2.987000E+01 9.100000E+00 3.284000E+01 +1986 1 3.806000E+01 1.669000E+01 9.930000E+00 +1987 1 3.625000E+01 3.150000E+00 3.690000E+00 +1988 1 1.120000E+01 1.831000E+01 1.908000E+01 +1989 1 1.729000E+01 1.204000E+01 3.186000E+01 +1990 1 2.065000E+01 1.251000E+01 2.196000E+01 +1991 1 3.660000E+00 1.325000E+01 3.220000E+00 +1992 1 3.760000E+01 4.830000E+00 8.060000E+00 +1993 1 3.707000E+01 5.360000E+00 3.269000E+01 +1994 1 2.071000E+01 2.979000E+01 2.930000E+01 +1995 1 5.900000E-01 3.394000E+01 1.640000E+00 +1996 1 3.053000E+01 7.920000E+00 1.475000E+01 +1997 1 1.812000E+01 1.180000E+00 1.559000E+01 +1998 1 1.635000E+01 2.170000E+00 3.428000E+01 +1999 1 3.770000E+01 1.321000E+01 1.713000E+01 +2000 1 1.345000E+01 3.422000E+01 4.590000E+00 +2001 1 6.390000E+00 7.100000E+00 1.604000E+01 +2002 1 2.936000E+01 2.284000E+01 3.840000E+01 +2003 1 2.132000E+01 1.267000E+01 1.311000E+01 +2004 1 3.830000E+00 1.482000E+01 3.601000E+01 +2005 1 3.017000E+01 3.080000E+00 3.063000E+01 +2006 1 5.670000E+00 2.356000E+01 1.549000E+01 +2007 1 2.568000E+01 1.509000E+01 2.150000E+00 +2008 1 3.750000E+01 5.240000E+00 3.576000E+01 +2009 1 4.020000E+01 6.800000E+00 3.420000E+00 +2010 1 7.520000E+00 4.850000E+00 2.242000E+01 +2011 1 9.120000E+00 1.100000E+00 1.607000E+01 +2012 1 3.420000E+01 3.660000E+00 9.460000E+00 +2013 1 1.500000E+00 4.630000E+00 1.097000E+01 +2014 1 8.710000E+00 3.340000E+00 1.196000E+01 +2015 1 1.524000E+01 4.090000E+00 3.273000E+01 +2016 1 3.619000E+01 2.718000E+01 5.430000E+00 +2017 1 3.464000E+01 3.084000E+01 1.802000E+01 +2018 1 3.812000E+01 2.797000E+01 1.283000E+01 +2019 1 1.100000E+01 3.628000E+01 3.115000E+01 +2020 1 1.196000E+01 4.770000E+00 3.605000E+01 +2021 1 2.456000E+01 1.463000E+01 2.922000E+01 +2022 1 3.370000E+00 1.203000E+01 3.398000E+01 +2023 1 2.095000E+01 1.951000E+01 1.167000E+01 +2024 1 7.290000E+00 3.550000E+00 3.223000E+01 +2025 1 1.255000E+01 2.448000E+01 7.530000E+00 +2026 1 8.020000E+00 3.410000E+00 1.872000E+01 +2027 1 1.272000E+01 2.208000E+01 1.634000E+01 +2028 1 2.495000E+01 7.100000E-01 1.731000E+01 +2029 1 1.877000E+01 6.440000E+00 3.718000E+01 +2030 1 1.307000E+01 3.171000E+01 2.130000E+01 +2031 1 7.780000E+00 2.693000E+01 4.990000E+00 +2032 1 2.468000E+01 1.657000E+01 4.060000E+00 +2033 1 1.011000E+01 2.092000E+01 2.196000E+01 +2034 1 1.853000E+01 2.212000E+01 7.060000E+00 +2035 1 1.012000E+01 5.650000E+00 4.570000E+00 +2036 1 3.418000E+01 1.482000E+01 2.907000E+01 +2037 1 3.052000E+01 1.917000E+01 2.514000E+01 +2038 1 3.050000E+01 8.230000E+00 1.743000E+01 +2039 1 3.790000E+00 1.501000E+01 1.572000E+01 +2040 1 6.640000E+00 4.770000E+00 3.640000E+01 +2041 1 7.250000E+00 1.136000E+01 3.650000E+00 +2042 1 3.843000E+01 1.134000E+01 2.400000E-01 +2043 1 1.824000E+01 2.348000E+01 2.447000E+01 +2044 1 3.782000E+01 4.890000E+00 2.427000E+01 +2045 1 1.455000E+01 3.351000E+01 8.510000E+00 +2046 1 1.213000E+01 1.013000E+01 5.290000E+00 +2047 1 1.491000E+01 3.854000E+01 7.660000E+00 +2048 1 3.424000E+01 1.661000E+01 2.545000E+01 +2049 1 6.710000E+00 3.793000E+01 1.432000E+01 +2050 1 3.840000E+00 1.933000E+01 2.429000E+01 +2051 1 5.700000E-01 3.471000E+01 2.379000E+01 +2052 1 3.556000E+01 3.795000E+01 2.740000E+01 +2053 1 6.480000E+00 1.991000E+01 2.495000E+01 +2054 1 3.000000E+01 2.298000E+01 2.647000E+01 +2055 1 1.057000E+01 1.534000E+01 1.510000E+01 +2056 1 6.830000E+00 1.818000E+01 3.757000E+01 +2057 1 1.961000E+01 2.792000E+01 4.360000E+00 +2058 1 1.999000E+01 1.749000E+01 3.711000E+01 +2059 1 6.520000E+00 3.406000E+01 1.856000E+01 +2060 1 2.003000E+01 4.008000E+01 7.370000E+00 +2061 1 1.647000E+01 1.287000E+01 3.846000E+01 +2062 1 1.188000E+01 2.675000E+01 3.140000E+00 +2063 1 3.070000E+01 8.620000E+00 1.174000E+01 +2064 1 7.650000E+00 2.423000E+01 2.152000E+01 +2065 1 3.066000E+01 1.515000E+01 1.777000E+01 +2066 1 9.030000E+00 2.920000E+01 1.074000E+01 +2067 1 2.170000E+01 5.990000E+00 1.078000E+01 +2068 1 2.112000E+01 6.610000E+00 2.084000E+01 +2069 1 1.844000E+01 1.560000E+01 3.228000E+01 +2070 1 8.050000E+00 2.401000E+01 2.487000E+01 +2071 1 1.931000E+01 1.304000E+01 3.612000E+01 +2072 1 3.055000E+01 3.181000E+01 1.144000E+01 +2073 1 2.670000E+01 3.999000E+01 1.013000E+01 +2074 1 3.010000E+00 3.455000E+01 1.576000E+01 +2075 1 1.197000E+01 3.352000E+01 1.999000E+01 +2076 1 7.530000E+00 3.550000E+01 2.745000E+01 +2077 1 6.260000E+00 2.133000E+01 3.595000E+01 +2078 1 3.640000E+00 1.123000E+01 1.010000E+01 +2079 1 3.208000E+01 3.646000E+01 2.263000E+01 +2080 1 2.974000E+01 3.693000E+01 2.101000E+01 +2081 1 3.843000E+01 1.063000E+01 1.834000E+01 +2082 1 1.259000E+01 1.919000E+01 2.240000E+01 +2083 1 1.861000E+01 3.866000E+01 3.746000E+01 +2084 1 3.072000E+01 2.510000E+00 2.531000E+01 +2085 1 1.811000E+01 3.599000E+01 7.630000E+00 +2086 1 1.513000E+01 4.009000E+01 3.336000E+01 +2087 1 1.111000E+01 1.203000E+01 7.930000E+00 +2088 1 1.400000E+01 2.710000E+00 4.600000E-01 +2089 1 8.820000E+00 7.960000E+00 3.614000E+01 +2090 1 2.054000E+01 3.935000E+01 3.947000E+01 +2091 1 4.016000E+01 3.491000E+01 4.170000E+00 +2092 1 5.450000E+00 7.670000E+00 1.850000E+01 +2093 1 2.836000E+01 1.260000E+01 2.475000E+01 +2094 1 3.201000E+01 2.872000E+01 2.179000E+01 +2095 1 3.032000E+01 1.611000E+01 2.945000E+01 +2096 1 2.493000E+01 2.700000E+01 2.410000E+01 +2097 1 2.096000E+01 3.122000E+01 2.710000E+01 +2098 1 1.995000E+01 1.826000E+01 3.333000E+01 +2099 1 1.625000E+01 3.130000E+01 8.000000E+00 +2100 1 1.063000E+01 1.206000E+01 1.804000E+01 +2101 1 1.247000E+01 1.196000E+01 3.214000E+01 +2102 1 3.433000E+01 3.517000E+01 1.640000E+01 +2103 1 2.322000E+01 3.050000E+00 1.655000E+01 +2104 1 3.519000E+01 8.700000E-01 3.234000E+01 +2105 1 1.722000E+01 1.723000E+01 1.978000E+01 +2106 1 2.480000E+01 3.750000E+01 6.700000E-01 +2107 1 3.973000E+01 3.731000E+01 2.819000E+01 +2108 1 1.546000E+01 1.690000E+01 2.411000E+01 +2109 1 1.067000E+01 1.007000E+01 1.075000E+01 +2110 1 3.864000E+01 1.058000E+01 2.272000E+01 +2111 1 3.115000E+01 9.980000E+00 2.317000E+01 +2112 1 2.253000E+01 1.992000E+01 1.380000E+01 +2113 1 1.176000E+01 1.405000E+01 3.903000E+01 +2114 1 1.018000E+01 9.280000E+00 8.030000E+00 +2115 1 1.445000E+01 2.184000E+01 3.200000E+01 +2116 1 1.692000E+01 2.470000E+01 1.871000E+01 +2117 1 2.841000E+01 2.090000E+01 1.081000E+01 +2118 1 1.582000E+01 9.670000E+00 1.823000E+01 +2119 1 3.260000E+00 4.080000E+00 3.358000E+01 +2120 1 3.262000E+01 2.107000E+01 3.990000E+00 +2121 1 1.652000E+01 1.218000E+01 3.564000E+01 +2122 1 2.648000E+01 2.505000E+01 2.501000E+01 +2123 1 3.168000E+01 8.160000E+00 2.482000E+01 +2124 1 1.468000E+01 1.968000E+01 2.087000E+01 +2125 1 1.103000E+01 2.608000E+01 6.010000E+00 +2126 1 1.102000E+01 1.184000E+01 2.603000E+01 +2127 1 3.776000E+01 3.770000E+00 1.490000E+00 +2128 1 2.031000E+01 2.734000E+01 6.700000E-01 +2129 1 3.770000E+00 3.563000E+01 4.170000E+00 +2130 1 4.490000E+00 2.167000E+01 1.302000E+01 +2131 1 3.730000E+00 2.565000E+01 1.098000E+01 +2132 1 3.893000E+01 2.628000E+01 3.085000E+01 +2133 1 1.716000E+01 7.780000E+00 1.678000E+01 +2134 1 3.330000E+01 3.916000E+01 1.899000E+01 +2135 1 3.264000E+01 4.210000E+00 2.427000E+01 +2136 1 1.114000E+01 8.100000E+00 2.329000E+01 +2137 1 1.026000E+01 8.900000E-01 2.724000E+01 +2138 1 2.257000E+01 2.754000E+01 3.789000E+01 +2139 1 2.495000E+01 2.840000E+01 3.687000E+01 +2140 1 3.977000E+01 2.981000E+01 5.800000E+00 +2141 1 2.256000E+01 3.840000E+00 6.270000E+00 +2142 1 7.580000E+00 1.410000E+01 3.520000E+00 +2143 1 1.702000E+01 3.918000E+01 9.200000E+00 +2144 1 2.898000E+01 1.973000E+01 3.924000E+01 +2145 1 4.020000E+01 1.529000E+01 2.723000E+01 +2146 1 7.220000E+00 2.652000E+01 2.819000E+01 +2147 1 1.020000E+01 4.510000E+00 2.913000E+01 +2148 1 1.075000E+01 1.786000E+01 8.600000E+00 +2149 1 2.851000E+01 6.170000E+00 2.682000E+01 +2150 1 1.450000E+00 2.132000E+01 4.020000E+00 +2151 1 4.360000E+00 1.142000E+01 4.500000E-01 +2152 1 6.800000E+00 2.136000E+01 2.166000E+01 +2153 1 1.803000E+01 3.907000E+01 4.900000E+00 +2154 1 3.187000E+01 1.368000E+01 1.983000E+01 +2155 1 3.040000E+01 9.820000E+00 3.786000E+01 +2156 1 3.694000E+01 5.550000E+00 1.614000E+01 +2157 1 1.520000E+00 2.840000E+00 7.180000E+00 +2158 1 7.550000E+00 3.788000E+01 1.150000E+00 +2159 1 3.262000E+01 8.680000E+00 1.004000E+01 +2160 1 9.400000E+00 1.616000E+01 1.029000E+01 +2161 1 5.980000E+00 1.628000E+01 2.001000E+01 +2162 1 1.590000E+00 2.898000E+01 2.510000E+00 +2163 1 2.260000E+00 2.503000E+01 2.702000E+01 +2164 1 3.725000E+01 2.886000E+01 1.681000E+01 +2165 1 1.751000E+01 3.490000E+01 2.327000E+01 +2166 1 2.729000E+01 1.952000E+01 2.661000E+01 +2167 1 8.190000E+00 3.201000E+01 2.417000E+01 +2168 1 7.080000E+00 2.577000E+01 1.091000E+01 +2169 1 3.065000E+01 6.030000E+00 2.910000E+00 +2170 1 2.078000E+01 1.994000E+01 1.970000E+01 +2171 1 7.100000E-01 7.250000E+00 1.784000E+01 +2172 1 3.287000E+01 8.740000E+00 1.891000E+01 +2173 1 1.178000E+01 2.800000E+01 1.470000E+01 +2174 1 2.178000E+01 2.015000E+01 3.462000E+01 +2175 1 3.874000E+01 1.992000E+01 1.613000E+01 +2176 1 3.554000E+01 3.239000E+01 3.856000E+01 +2177 1 1.772000E+01 4.020000E+01 1.210000E+00 +2178 1 2.093000E+01 1.558000E+01 2.323000E+01 +2179 1 8.900000E+00 2.592000E+01 3.849000E+01 +2180 1 1.428000E+01 6.460000E+00 3.351000E+01 diff --git a/examples/USER/dpdext/dpdext/in.dpdext b/examples/USER/dpdext/dpdext/in.dpdext new file mode 100755 index 0000000000..3101be9a1c --- /dev/null +++ b/examples/USER/dpdext/dpdext/in.dpdext @@ -0,0 +1,44 @@ +# DPD Fluid + +variable T equal 1.0 +variable rc equal 1.0 +variable rcD equal 1.2 + +units lj +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +### create box and configuration +variable L equal 5.0 +lattice fcc 3.0 +region simBox block 0 ${L} 0 ${L} 0 ${L} +create_box 2 simBox +#create_atoms 1 region simBox +create_atoms 1 random 100 132456 simBox +create_atoms 2 random 100 132456 simBox +mass 1 1.0 +mass 2 2.0 +### + +pair_style dpdext ${T} ${rc} 3854262 + +pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} +pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} +pair_coeff 2 2 25.2 4.52 4.55 0.52 0.55 1.22 #${rcD} + +timestep 0.01 +run_style verlet + +velocity all create ${T} 68768932 + +thermo_style custom step time temp press +thermo 500 + +fix 1 all nve + +run 50000 + +write_data final.data pair ij \ No newline at end of file diff --git a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 b/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 new file mode 100644 index 0000000000..ef61ed11b8 --- /dev/null +++ b/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 @@ -0,0 +1,201 @@ +LAMMPS (10 Mar 2021) +# DPD Fluid + +variable T equal 1.0 +variable rc equal 1.0 +variable rcD equal 1.2 + +units lj +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +### create box and configuration +variable L equal 5.0 +lattice fcc 3.0 +Lattice spacing in x,y,z = 1.1006424 1.1006424 1.1006424 +region simBox block 0 ${L} 0 ${L} 0 ${L} +region simBox block 0 5 0 ${L} 0 ${L} +region simBox block 0 5 0 5 0 ${L} +region simBox block 0 5 0 5 0 5 +create_box 2 simBox +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.5032121 5.5032121 5.5032121) + 1 by 1 by 1 MPI processor grid +#create_atoms 1 region simBox +create_atoms 1 random 100 132456 simBox +Created 100 atoms + create_atoms CPU = 0.001 seconds +create_atoms 2 random 100 132456 simBox +Created 100 atoms + create_atoms CPU = 0.000 seconds +mass 1 1.0 +mass 2 2.0 +### + +pair_style dpdext ${T} ${rc} 3854262 +pair_style dpdext 1 ${rc} 3854262 +pair_style dpdext 1 1 3854262 + +pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} +pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} +pair_coeff 2 2 25.2 4.52 4.55 0.52 0.55 1.22 #${rcD} + +timestep 0.01 +run_style verlet + +velocity all create ${T} 68768932 +velocity all create 1 68768932 + +thermo_style custom step time temp press +thermo 500 + +fix 1 all nve + +run 50000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.52 + ghost atom cutoff = 1.52 + binsize = 0.76, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair dpdext, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.087 | 3.087 | 3.087 Mbytes +Step Time Temp Press + 0 0 1 8.8992215 + 500 5 0.93699892 8.1219621 + 1000 10 0.99211009 7.4709658 + 1500 15 0.91190984 8.828742 + 2000 20 0.90749036 9.1258378 + 2500 25 0.97960404 7.085574 + 3000 30 1.0314836 6.8400202 + 3500 35 1.0137019 7.2346862 + 4000 40 0.98189616 6.7265624 + 4500 45 1.0127497 6.6718402 + 5000 50 0.90659787 7.4911309 + 5500 55 1.0257891 6.8163777 + 6000 60 1.0596209 7.8511522 + 6500 65 0.95679865 8.4091947 + 7000 70 1.012617 7.4162991 + 7500 75 1.0990412 7.160905 + 8000 80 0.91085269 7.6861008 + 8500 85 1.1000209 6.4818934 + 9000 90 0.99982282 8.1312206 + 9500 95 1.1330979 7.7167159 + 10000 100 0.98147521 8.4394218 + 10500 105 1.0254021 7.23574 + 11000 110 0.94064194 7.9766833 + 11500 115 1.012364 8.4285752 + 12000 120 0.94787277 7.0819132 + 12500 125 1.13729 7.9636837 + 13000 130 1.1200519 7.1570016 + 13500 135 0.96797085 8.9794827 + 14000 140 1.0271217 7.4193307 + 14500 145 1.0154843 7.3495938 + 15000 150 1.0408558 7.3047404 + 15500 155 1.0801685 6.8072764 + 16000 160 0.9921089 7.3200563 + 16500 165 0.92952943 7.281934 + 17000 170 0.87149276 7.6508951 + 17500 175 0.92808338 6.4774803 + 18000 180 1.008898 7.1954708 + 18500 185 0.95962238 8.0257166 + 19000 190 0.99501354 8.5364854 + 19500 195 0.97420657 8.3140832 + 20000 200 0.99926953 7.7840117 + 20500 205 1.0503096 7.9214552 + 21000 210 0.97782558 7.4084605 + 21500 215 0.90363877 7.2867997 + 22000 220 1.0045369 7.7341956 + 22500 225 1.0319487 8.4140146 + 23000 230 1.006863 7.6023442 + 23500 235 0.90302749 8.0230562 + 24000 240 1.0768463 7.7315652 + 24500 245 1.0529241 7.9835388 + 25000 250 0.96057288 6.9591339 + 25500 255 0.98941425 7.4287206 + 26000 260 0.99120107 7.0440907 + 26500 265 0.94017831 7.9499345 + 27000 270 0.93766339 8.118634 + 27500 275 0.98309918 7.9865412 + 28000 280 1.0191736 8.3330592 + 28500 285 0.99546328 8.3419405 + 29000 290 0.95703084 7.313665 + 29500 295 1.0122694 8.1900103 + 30000 300 1.0758207 8.2876755 + 30500 305 1.0981472 6.4742286 + 31000 310 1.0356215 6.4857599 + 31500 315 0.95584989 8.4446078 + 32000 320 1.0591455 8.3936647 + 32500 325 0.92674627 7.0391747 + 33000 330 0.93486399 7.6892746 + 33500 335 1.0772579 7.1395468 + 34000 340 1.1029975 7.4249835 + 34500 345 0.9845352 6.3478805 + 35000 350 1.1004884 8.0179815 + 35500 355 0.97596833 8.1652441 + 36000 360 1.0026086 7.8100907 + 36500 365 1.0242946 7.4683685 + 37000 370 0.98485255 7.9021959 + 37500 375 1.078371 8.726722 + 38000 380 0.99139516 7.3585787 + 38500 385 1.0531594 8.5221732 + 39000 390 1.0290073 7.0905003 + 39500 395 1.0368491 8.0293456 + 40000 400 1.0520724 7.6372283 + 40500 405 0.94925657 8.9578914 + 41000 410 0.99919726 7.7207005 + 41500 415 1.0507736 6.9924906 + 42000 420 1.0442899 7.8115665 + 42500 425 1.0192672 8.5123404 + 43000 430 0.9784861 8.0556966 + 43500 435 0.99592222 8.0665153 + 44000 440 0.95621235 8.4132911 + 44500 445 0.93400296 7.3266133 + 45000 450 1.0389454 7.2458003 + 45500 455 1.1076673 6.5868539 + 46000 460 1.0826918 7.9286381 + 46500 465 0.93589963 8.5310745 + 47000 470 1.0352143 6.6366463 + 47500 475 1.0497186 8.5074329 + 48000 480 0.96107226 7.7505527 + 48500 485 1.1061337 8.2753596 + 49000 490 1.0337198 7.5777833 + 49500 495 0.94052507 7.3661443 + 50000 500 0.98527818 7.1746325 +Loop time of 10.2559 on 1 procs for 50000 steps with 200 atoms + +Performance: 4212216.548 tau/day, 4875.251 timesteps/s +99.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.9888 | 8.9888 | 8.9888 | 0.0 | 87.65 +Neigh | 0.832 | 0.832 | 0.832 | 0.0 | 8.11 +Comm | 0.30913 | 0.30913 | 0.30913 | 0.0 | 3.01 +Output | 0.0021966 | 0.0021966 | 0.0021966 | 0.0 | 0.02 +Modify | 0.084161 | 0.084161 | 0.084161 | 0.0 | 0.82 +Other | | 0.03957 | | | 0.39 + +Nlocal: 200.000 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 547.000 ave 547 max 547 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1651.00 ave 1651 max 1651 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1651 +Ave neighs/atom = 8.2550000 +Neighbor list builds = 5000 +Dangerous builds = 5000 + +write_data final.data pair ij +System init for write_data ... +Total wall time: 0:00:10 diff --git a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 b/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 new file mode 100644 index 0000000000..bbbf47a46c --- /dev/null +++ b/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 @@ -0,0 +1,201 @@ +LAMMPS (10 Mar 2021) +# DPD Fluid + +variable T equal 1.0 +variable rc equal 1.0 +variable rcD equal 1.2 + +units lj +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +### create box and configuration +variable L equal 5.0 +lattice fcc 3.0 +Lattice spacing in x,y,z = 1.1006424 1.1006424 1.1006424 +region simBox block 0 ${L} 0 ${L} 0 ${L} +region simBox block 0 5 0 ${L} 0 ${L} +region simBox block 0 5 0 5 0 ${L} +region simBox block 0 5 0 5 0 5 +create_box 2 simBox +Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (5.5032121 5.5032121 5.5032121) + 1 by 2 by 2 MPI processor grid +#create_atoms 1 region simBox +create_atoms 1 random 100 132456 simBox +Created 100 atoms + create_atoms CPU = 0.001 seconds +create_atoms 2 random 100 132456 simBox +Created 100 atoms + create_atoms CPU = 0.000 seconds +mass 1 1.0 +mass 2 2.0 +### + +pair_style dpdext ${T} ${rc} 3854262 +pair_style dpdext 1 ${rc} 3854262 +pair_style dpdext 1 1 3854262 + +pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} +pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} +pair_coeff 2 2 25.2 4.52 4.55 0.52 0.55 1.22 #${rcD} + +timestep 0.01 +run_style verlet + +velocity all create ${T} 68768932 +velocity all create 1 68768932 + +thermo_style custom step time temp press +thermo 500 + +fix 1 all nve + +run 50000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.52 + ghost atom cutoff = 1.52 + binsize = 0.76, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair dpdext, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.064 | 3.064 | 3.064 Mbytes +Step Time Temp Press + 0 0 1 7.9021356 + 500 5 0.937908 7.0735774 + 1000 10 0.89467862 7.7074585 + 1500 15 1.0197239 8.6662041 + 2000 20 1.0306203 8.0831978 + 2500 25 0.94106312 7.4609953 + 3000 30 1.0217162 7.7000536 + 3500 35 0.9694633 6.9496101 + 4000 40 0.89886564 7.5844291 + 4500 45 0.9914389 6.5459858 + 5000 50 1.0503316 7.1639528 + 5500 55 0.95397384 7.2900451 + 6000 60 0.91097079 7.4484481 + 6500 65 1.0212125 8.6396803 + 7000 70 0.84788375 9.2247619 + 7500 75 1.0477577 7.9631111 + 8000 80 1.0473514 7.2904431 + 8500 85 1.0482936 7.9668363 + 9000 90 1.0239558 7.1715815 + 9500 95 1.0727305 8.2075133 + 10000 100 0.96755536 7.8062307 + 10500 105 1.0357222 8.2249507 + 11000 110 1.053488 6.8283393 + 11500 115 0.89283913 8.9044509 + 12000 120 1.0085932 8.1844316 + 12500 125 0.84259725 6.9608932 + 13000 130 1.0559908 7.5907714 + 13500 135 0.95175487 8.8486631 + 14000 140 0.954129 8.2199072 + 14500 145 1.0034836 8.6956618 + 15000 150 0.99411864 7.3723436 + 15500 155 1.0876662 8.5906664 + 16000 160 0.98613154 7.6599681 + 16500 165 1.0355659 6.7243908 + 17000 170 1.0838802 7.5905171 + 17500 175 0.95966717 7.3268842 + 18000 180 0.91267962 8.1126836 + 18500 185 0.9625394 8.0889468 + 19000 190 1.0209688 7.2104928 + 19500 195 0.93315956 8.3484128 + 20000 200 1.0430989 6.4154856 + 20500 205 1.037892 7.3727084 + 21000 210 1.0551654 8.3732908 + 21500 215 0.97922101 8.0403654 + 22000 220 1.0480356 9.2304431 + 22500 225 1.0009668 8.0807868 + 23000 230 1.0808549 7.9128664 + 23500 235 0.99282487 7.550466 + 24000 240 0.96893196 8.0123396 + 24500 245 0.96945612 6.9129899 + 25000 250 0.9373397 6.2942852 + 25500 255 0.98958822 7.8259805 + 26000 260 0.97971277 7.3263113 + 26500 265 0.91588062 8.284996 + 27000 270 1.0045677 7.490418 + 27500 275 0.92664827 7.2434156 + 28000 280 0.98527367 7.1695053 + 28500 285 0.97862372 8.2272887 + 29000 290 1.067876 8.3157621 + 29500 295 1.0688998 7.5106281 + 30000 300 1.117583 8.8135518 + 30500 305 1.035452 7.3572033 + 31000 310 1.03275 8.1486503 + 31500 315 0.96000074 7.6740792 + 32000 320 0.91763282 7.6603754 + 32500 325 0.99394287 8.8127132 + 33000 330 1.0021499 7.9881263 + 33500 335 0.97639399 8.2361021 + 34000 340 1.0309313 8.2918535 + 34500 345 1.0214124 7.3886765 + 35000 350 1.0029326 8.2745874 + 35500 355 1.0634485 6.4161924 + 36000 360 1.0242523 7.4099968 + 36500 365 1.0302234 8.0604043 + 37000 370 1.0143945 7.34914 + 37500 375 0.99553421 6.8818266 + 38000 380 1.0073546 7.6254332 + 38500 385 1.0068118 7.4673312 + 39000 390 0.95181135 6.1644033 + 39500 395 0.98964849 8.501371 + 40000 400 0.99441011 8.1515808 + 40500 405 1.0339683 7.6747037 + 41000 410 0.99467835 7.8743708 + 41500 415 1.0231331 7.3169584 + 42000 420 0.94617359 8.0079888 + 42500 425 1.0163237 7.7949198 + 43000 430 0.97039825 8.8842702 + 43500 435 1.0326956 7.6700965 + 44000 440 1.1106283 8.2900664 + 44500 445 0.96697428 7.0408563 + 45000 450 1.0137186 6.8316108 + 45500 455 1.0531692 8.0051631 + 46000 460 1.0382619 7.2937333 + 46500 465 0.90277459 7.9676952 + 47000 470 1.00751 8.7594948 + 47500 475 0.95565907 8.320444 + 48000 480 1.0396091 7.9262425 + 48500 485 1.0349892 8.333501 + 49000 490 0.9759139 7.4839858 + 49500 495 0.91538068 7.1780491 + 50000 500 1.0310634 7.1522794 +Loop time of 9.14414 on 4 procs for 50000 steps with 200 atoms + +Performance: 4724338.550 tau/day, 5467.984 timesteps/s +96.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.0824 | 5.212 | 5.3376 | 5.1 | 57.00 +Neigh | 0.49498 | 0.50029 | 0.505 | 0.6 | 5.47 +Comm | 3.1637 | 3.2822 | 3.4143 | 6.3 | 35.89 +Output | 0.0025831 | 0.003088 | 0.004569 | 1.5 | 0.03 +Modify | 0.067261 | 0.068927 | 0.070535 | 0.5 | 0.75 +Other | | 0.07762 | | | 0.85 + +Nlocal: 50.0000 ave 53 max 46 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 296.000 ave 301 max 290 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 410.750 ave 431 max 357 min +Histogram: 1 0 0 0 0 0 0 0 0 3 + +Total # of neighbors = 1643 +Ave neighs/atom = 8.2150000 +Neighbor list builds = 5000 +Dangerous builds = 5000 + +write_data final.data pair ij +System init for write_data ... +Total wall time: 0:00:09 diff --git a/examples/USER/dpdext/dpdext_tstat/cg_spce.data b/examples/USER/dpdext/dpdext_tstat/cg_spce.data new file mode 100755 index 0000000000..d487e2c73c --- /dev/null +++ b/examples/USER/dpdext/dpdext_tstat/cg_spce.data @@ -0,0 +1,2196 @@ + Coarse-Grained SPC/E Water + + 2180 atoms + + 1 atom types + + 0.0000000E+00 40.310000000000 xlo xhi + 0.0000000E+00 40.310000000000 ylo yhi + 0.0000000E+00 40.310000000000 zlo zhi + + Masses + +1 18.01540 + + Atoms + +1 1 2.815000E+01 5.430000E+00 2.370000E+00 +2 1 1.890000E+00 2.957000E+01 1.761000E+01 +3 1 8.920000E+00 3.556000E+01 8.240000E+00 +4 1 2.307000E+01 9.600000E+00 4.710000E+00 +5 1 1.688000E+01 8.940000E+00 3.880000E+00 +6 1 2.571000E+01 1.277000E+01 1.056000E+01 +7 1 2.788000E+01 3.328000E+01 1.300000E-01 +8 1 3.287000E+01 2.050000E+00 1.368000E+01 +9 1 4.900000E+00 2.183000E+01 1.751000E+01 +10 1 9.670000E+00 3.108000E+01 1.843000E+01 +11 1 1.233000E+01 3.490000E+00 1.091000E+01 +12 1 6.630000E+00 1.581000E+01 3.455000E+01 +13 1 3.951000E+01 2.047000E+01 2.288000E+01 +14 1 3.977000E+01 3.173000E+01 9.060000E+00 +15 1 5.370000E+00 8.940000E+00 3.646000E+01 +16 1 2.129000E+01 3.853000E+01 3.468000E+01 +17 1 1.987000E+01 2.677000E+01 3.762000E+01 +18 1 2.658000E+01 3.167000E+01 2.280000E+00 +19 1 1.231000E+01 3.336000E+01 1.098000E+01 +20 1 7.310000E+00 1.410000E+01 1.654000E+01 +21 1 3.388000E+01 2.584000E+01 1.677000E+01 +22 1 1.115000E+01 3.070000E+00 3.992000E+01 +23 1 3.171000E+01 3.195000E+01 2.267000E+01 +24 1 5.960000E+00 3.507000E+01 1.230000E+01 +25 1 2.904000E+01 1.740000E+00 9.460000E+00 +26 1 1.539000E+01 2.686000E+01 2.030000E+00 +27 1 3.890000E+00 2.148000E+01 2.877000E+01 +28 1 4.550000E+00 2.800000E+01 2.431000E+01 +29 1 9.680000E+00 3.992000E+01 2.964000E+01 +30 1 2.560000E+00 3.939000E+01 2.987000E+01 +31 1 4.960000E+00 2.280000E+01 6.230000E+00 +32 1 2.795000E+01 3.511000E+01 9.810000E+00 +33 1 3.254000E+01 3.032000E+01 3.025000E+01 +34 1 2.292000E+01 3.033000E+01 1.730000E+01 +35 1 2.190000E+00 2.025000E+01 3.929000E+01 +36 1 9.460000E+00 3.815000E+01 6.950000E+00 +37 1 2.409000E+01 2.885000E+01 7.730000E+00 +38 1 3.711000E+01 3.888000E+01 3.314000E+01 +39 1 3.492000E+01 1.987000E+01 8.240000E+00 +40 1 1.350000E+00 3.799000E+01 3.885000E+01 +41 1 3.289000E+01 3.289000E+01 1.859000E+01 +42 1 3.337000E+01 1.603000E+01 3.141000E+01 +43 1 5.120000E+00 6.540000E+00 3.231000E+01 +44 1 5.080000E+00 3.640000E+00 2.178000E+01 +45 1 7.090000E+00 1.072000E+01 1.911000E+01 +46 1 2.804000E+01 1.444000E+01 2.027000E+01 +47 1 2.972000E+01 3.928000E+01 2.997000E+01 +48 1 2.170000E+01 3.263000E+01 3.100000E+01 +49 1 3.063000E+01 8.940000E+00 3.410000E+00 +50 1 2.400000E+00 1.484000E+01 2.534000E+01 +51 1 2.128000E+01 3.944000E+01 1.892000E+01 +52 1 3.616000E+01 3.993000E+01 1.443000E+01 +53 1 2.416000E+01 2.414000E+01 1.280000E+01 +54 1 3.177000E+01 1.047000E+01 1.568000E+01 +55 1 4.024000E+01 1.188000E+01 3.343000E+01 +56 1 6.040000E+00 1.367000E+01 4.028000E+01 +57 1 1.537000E+01 3.589000E+01 6.930000E+00 +58 1 1.231000E+01 2.220000E+00 1.471000E+01 +59 1 3.450000E+00 4.810000E+00 2.487000E+01 +60 1 1.589000E+01 2.520000E+00 1.705000E+01 +61 1 3.705000E+01 3.620000E+01 6.730000E+00 +62 1 3.777000E+01 2.710000E+01 4.029000E+01 +63 1 8.260000E+00 2.033000E+01 4.030000E+01 +64 1 8.210000E+00 3.558000E+01 1.717000E+01 +65 1 3.338000E+01 1.389000E+01 2.210000E+01 +66 1 1.454000E+01 1.650000E+00 1.300000E+01 +67 1 1.977000E+01 3.489000E+01 1.751000E+01 +68 1 5.630000E+00 4.220000E+00 3.875000E+01 +69 1 7.570000E+00 2.576000E+01 1.371000E+01 +70 1 9.340000E+00 3.392000E+01 3.538000E+01 +71 1 2.116000E+01 8.590000E+00 1.475000E+01 +72 1 2.328000E+01 4.022000E+01 1.138000E+01 +73 1 1.298000E+01 3.479000E+01 2.338000E+01 +74 1 2.232000E+01 3.339000E+01 5.320000E+00 +75 1 3.290000E+00 3.240000E+01 2.024000E+01 +76 1 3.794000E+01 3.982000E+01 1.790000E+00 +77 1 1.111000E+01 1.440000E+01 2.301000E+01 +78 1 2.556000E+01 1.714000E+01 1.684000E+01 +79 1 2.500000E+00 2.474000E+01 2.028000E+01 +80 1 1.692000E+01 3.837000E+01 1.303000E+01 +81 1 6.310000E+00 2.551000E+01 3.960000E+01 +82 1 2.402000E+01 1.966000E+01 2.905000E+01 +83 1 2.216000E+01 9.500000E+00 2.543000E+01 +84 1 2.006000E+01 3.431000E+01 4.260000E+00 +85 1 2.198000E+01 8.670000E+00 2.806000E+01 +86 1 1.465000E+01 2.763000E+01 8.340000E+00 +87 1 3.975000E+01 3.870000E+00 3.701000E+01 +88 1 2.952000E+01 7.340000E+00 5.310000E+00 +89 1 2.759000E+01 1.589000E+01 3.402000E+01 +90 1 3.746000E+01 3.945000E+01 2.486000E+01 +91 1 2.370000E+01 2.429000E+01 2.803000E+01 +92 1 1.270000E+01 1.653000E+01 2.314000E+01 +93 1 1.653000E+01 2.786000E+01 2.885000E+01 +94 1 3.146000E+01 2.340000E+00 8.320000E+00 +95 1 3.406000E+01 2.124000E+01 2.389000E+01 +96 1 5.130000E+00 1.574000E+01 8.360000E+00 +97 1 3.087000E+01 6.020000E+00 2.295000E+01 +98 1 3.607000E+01 3.674000E+01 9.200000E+00 +99 1 2.507000E+01 2.107000E+01 3.778000E+01 +100 1 3.351000E+01 4.870000E+00 1.301000E+01 +101 1 2.978000E+01 1.879000E+01 1.277000E+01 +102 1 2.496000E+01 1.400000E-01 3.900000E+01 +103 1 3.761000E+01 3.179000E+01 2.540000E+00 +104 1 2.600000E+00 6.800000E+00 3.347000E+01 +105 1 2.570000E+01 3.173000E+01 1.831000E+01 +106 1 9.460000E+00 1.524000E+01 2.542000E+01 +107 1 2.255000E+01 2.515000E+01 2.190000E+00 +108 1 1.902000E+01 1.988000E+01 3.138000E+01 +109 1 9.450000E+00 3.164000E+01 2.652000E+01 +110 1 6.810000E+00 9.420000E+00 1.463000E+01 +111 1 1.651000E+01 5.200000E+00 2.836000E+01 +112 1 2.234000E+01 2.475000E+01 3.956000E+01 +113 1 3.805000E+01 2.946000E+01 9.080000E+00 +114 1 3.553000E+01 1.590000E+01 1.032000E+01 +115 1 2.565000E+01 3.402000E+01 1.062000E+01 +116 1 1.554000E+01 5.410000E+00 3.926000E+01 +117 1 2.449000E+01 1.282000E+01 1.305000E+01 +118 1 1.590000E+00 3.743000E+01 3.398000E+01 +119 1 1.954000E+01 9.570000E+00 1.179000E+01 +120 1 9.870000E+00 1.497000E+01 1.872000E+01 +121 1 2.925000E+01 3.397000E+01 7.650000E+00 +122 1 2.738000E+01 3.514000E+01 2.980000E+01 +123 1 3.704000E+01 2.310000E+00 2.189000E+01 +124 1 1.988000E+01 1.471000E+01 1.600000E-01 +125 1 1.118000E+01 1.476000E+01 3.354000E+01 +126 1 3.100000E-01 2.588000E+01 3.313000E+01 +127 1 3.437000E+01 2.586000E+01 2.337000E+01 +128 1 3.931000E+01 3.398000E+01 3.424000E+01 +129 1 7.070000E+00 3.063000E+01 2.188000E+01 +130 1 1.840000E+00 1.104000E+01 1.974000E+01 +131 1 1.924000E+01 3.244000E+01 3.670000E+01 +132 1 1.675000E+01 3.463000E+01 1.524000E+01 +133 1 1.670000E+01 3.557000E+01 2.765000E+01 +134 1 3.999000E+01 3.970000E+01 2.385000E+01 +135 1 3.096000E+01 5.990000E+00 1.962000E+01 +136 1 2.357000E+01 1.297000E+01 2.012000E+01 +137 1 5.010000E+00 1.524000E+01 3.843000E+01 +138 1 6.180000E+00 1.152000E+01 2.331000E+01 +139 1 1.200000E+00 2.550000E+01 2.334000E+01 +140 1 4.210000E+00 2.882000E+01 1.460000E+00 +141 1 5.750000E+00 2.729000E+01 7.300000E+00 +142 1 2.792000E+01 6.980000E+00 2.345000E+01 +143 1 9.150000E+00 1.540000E+00 3.415000E+01 +144 1 3.475000E+01 3.229000E+01 2.751000E+01 +145 1 2.668000E+01 2.350000E+00 2.394000E+01 +146 1 3.942000E+01 8.270000E+00 2.016000E+01 +147 1 7.790000E+00 9.330000E+00 2.277000E+01 +148 1 3.106000E+01 3.520000E+01 1.946000E+01 +149 1 1.154000E+01 4.670000E+00 2.609000E+01 +150 1 3.318000E+01 3.935000E+01 3.181000E+01 +151 1 3.033000E+01 3.290000E+00 1.594000E+01 +152 1 2.314000E+01 1.230000E+00 6.300000E-01 +153 1 2.688000E+01 1.040000E+01 1.937000E+01 +154 1 2.805000E+01 3.313000E+01 1.849000E+01 +155 1 3.801000E+01 1.582000E+01 2.545000E+01 +156 1 2.225000E+01 3.680000E+00 9.400000E-01 +157 1 3.259000E+01 2.797000E+01 1.170000E+01 +158 1 1.934000E+01 1.035000E+01 4.000000E-02 +159 1 2.211000E+01 1.586000E+01 4.280000E+00 +160 1 2.636000E+01 2.283000E+01 3.116000E+01 +161 1 3.060000E+00 1.832000E+01 3.778000E+01 +162 1 4.009000E+01 3.503000E+01 8.480000E+00 +163 1 2.116000E+01 3.349000E+01 2.047000E+01 +164 1 2.972000E+01 2.068000E+01 8.160000E+00 +165 1 2.669000E+01 9.500000E-01 7.660000E+00 +166 1 4.360000E+00 6.290000E+00 2.123000E+01 +167 1 3.325000E+01 3.367000E+01 1.095000E+01 +168 1 3.761000E+01 3.190000E+00 1.278000E+01 +169 1 3.670000E+00 2.074000E+01 1.536000E+01 +170 1 1.508000E+01 1.371000E+01 3.257000E+01 +171 1 3.460000E+00 2.393000E+01 2.349000E+01 +172 1 1.095000E+01 1.959000E+01 1.153000E+01 +173 1 2.578000E+01 2.144000E+01 3.342000E+01 +174 1 1.847000E+01 6.670000E+00 6.450000E+00 +175 1 3.564000E+01 3.459000E+01 1.988000E+01 +176 1 1.759000E+01 1.536000E+01 2.579000E+01 +177 1 1.543000E+01 4.010000E+00 1.133000E+01 +178 1 5.270000E+00 8.170000E+00 2.305000E+01 +179 1 7.670000E+00 2.964000E+01 3.700000E-01 +180 1 8.700000E-01 2.032000E+01 3.475000E+01 +181 1 6.880000E+00 3.688000E+01 5.760000E+00 +182 1 2.034000E+01 2.438000E+01 7.170000E+00 +183 1 2.680000E+01 2.198000E+01 1.000000E-02 +184 1 1.444000E+01 2.689000E+01 1.594000E+01 +185 1 3.904000E+01 2.121000E+01 9.920000E+00 +186 1 9.170000E+00 3.546000E+01 4.400000E-01 +187 1 1.350000E+01 1.685000E+01 5.530000E+00 +188 1 7.110000E+00 2.915000E+01 1.820000E+01 +189 1 3.826000E+01 1.259000E+01 2.531000E+01 +190 1 1.024000E+01 1.480000E+00 1.877000E+01 +191 1 3.318000E+01 2.380000E+00 1.160000E+00 +192 1 1.620000E+01 2.425000E+01 2.638000E+01 +193 1 3.329000E+01 1.363000E+01 1.299000E+01 +194 1 2.751000E+01 2.008000E+01 1.454000E+01 +195 1 6.290000E+00 2.970000E+01 6.260000E+00 +196 1 2.577000E+01 1.073000E+01 1.675000E+01 +197 1 1.178000E+01 2.553000E+01 2.947000E+01 +198 1 1.227000E+01 2.341000E+01 1.374000E+01 +199 1 3.420000E+00 3.994000E+01 3.429000E+01 +200 1 7.020000E+00 3.270000E+00 1.405000E+01 +201 1 3.130000E+01 8.500000E-01 3.230000E+01 +202 1 3.793000E+01 6.070000E+00 2.987000E+01 +203 1 5.770000E+00 2.558000E+01 2.327000E+01 +204 1 3.144000E+01 3.996000E+01 2.539000E+01 +205 1 2.692000E+01 2.118000E+01 2.730000E+00 +206 1 1.698000E+01 1.947000E+01 3.821000E+01 +207 1 2.264000E+01 3.201000E+01 3.543000E+01 +208 1 3.579000E+01 8.900000E-01 2.210000E+00 +209 1 2.386000E+01 9.300000E-01 7.290000E+00 +210 1 1.831000E+01 2.571000E+01 8.400000E-01 +211 1 1.325000E+01 1.549000E+01 1.296000E+01 +212 1 2.693000E+01 3.916000E+01 3.400000E-01 +213 1 2.757000E+01 1.330000E+01 1.579000E+01 +214 1 3.146000E+01 2.151000E+01 2.460000E+01 +215 1 5.010000E+00 2.472000E+01 1.316000E+01 +216 1 3.586000E+01 7.470000E+00 1.382000E+01 +217 1 2.176000E+01 1.877000E+01 1.732000E+01 +218 1 7.300000E+00 1.480000E+01 7.050000E+00 +219 1 8.680000E+00 2.746000E+01 7.610000E+00 +220 1 3.326000E+01 3.281000E+01 1.580000E+01 +221 1 2.980000E+00 1.509000E+01 2.820000E+01 +222 1 3.621000E+01 1.533000E+01 1.612000E+01 +223 1 8.640000E+00 9.260000E+00 1.227000E+01 +224 1 2.920000E+01 1.315000E+01 2.229000E+01 +225 1 1.842000E+01 3.040000E+00 2.652000E+01 +226 1 6.990000E+00 1.572000E+01 3.156000E+01 +227 1 9.330000E+00 4.450000E+00 3.682000E+01 +228 1 3.521000E+01 1.321000E+01 9.970000E+00 +229 1 1.032000E+01 1.774000E+01 3.277000E+01 +230 1 3.870000E+01 2.491000E+01 3.721000E+01 +231 1 2.480000E+00 3.320000E+01 3.706000E+01 +232 1 3.795000E+01 5.200000E+00 2.095000E+01 +233 1 1.240000E+00 1.685000E+01 1.170000E+01 +234 1 2.528000E+01 3.293000E+01 3.957000E+01 +235 1 3.658000E+01 3.679000E+01 1.689000E+01 +236 1 1.325000E+01 2.419000E+01 4.700000E+00 +237 1 1.819000E+01 4.320000E+00 0.000000E+00 +238 1 3.282000E+01 7.330000E+00 3.172000E+01 +239 1 5.030000E+00 3.222000E+01 1.552000E+01 +240 1 6.640000E+00 3.435000E+01 1.538000E+01 +241 1 7.250000E+00 8.860000E+00 3.137000E+01 +242 1 2.514000E+01 5.190000E+00 5.740000E+00 +243 1 1.975000E+01 2.949000E+01 2.054000E+01 +244 1 2.737000E+01 2.537000E+01 9.950000E+00 +245 1 1.586000E+01 1.974000E+01 9.550000E+00 +246 1 3.506000E+01 2.875000E+01 3.141000E+01 +247 1 2.802000E+01 2.129000E+01 1.900000E+01 +248 1 3.022000E+01 2.140000E+01 3.370000E+01 +249 1 7.530000E+00 1.148000E+01 1.661000E+01 +250 1 2.137000E+01 2.405000E+01 1.341000E+01 +251 1 8.940000E+00 1.907000E+01 2.363000E+01 +252 1 2.814000E+01 3.540000E+01 1.704000E+01 +253 1 2.201000E+01 1.323000E+01 5.790000E+00 +254 1 3.282000E+01 1.123000E+01 2.798000E+01 +255 1 3.007000E+01 3.075000E+01 3.564000E+01 +256 1 2.144000E+01 2.451000E+01 3.577000E+01 +257 1 2.238000E+01 2.254000E+01 6.560000E+00 +258 1 2.965000E+01 3.416000E+01 2.582000E+01 +259 1 3.839000E+01 3.504000E+01 3.685000E+01 +260 1 3.415000E+01 1.119000E+01 3.936000E+01 +261 1 3.310000E+01 1.422000E+01 2.646000E+01 +262 1 1.370000E+01 3.952000E+01 1.585000E+01 +263 1 1.279000E+01 2.395000E+01 2.746000E+01 +264 1 1.760000E+00 3.403000E+01 1.054000E+01 +265 1 1.049000E+01 7.180000E+00 2.963000E+01 +266 1 1.886000E+01 4.200000E+00 1.764000E+01 +267 1 7.570000E+00 1.001000E+01 8.850000E+00 +268 1 2.180000E+01 2.746000E+01 3.128000E+01 +269 1 3.308000E+01 2.905000E+01 1.539000E+01 +270 1 3.186000E+01 2.445000E+01 6.800000E+00 +271 1 3.047000E+01 2.204000E+01 6.050000E+00 +272 1 1.734000E+01 2.366000E+01 3.421000E+01 +273 1 1.277000E+01 2.862000E+01 2.138000E+01 +274 1 9.830000E+00 2.602000E+01 1.516000E+01 +275 1 3.661000E+01 1.411000E+01 2.375000E+01 +276 1 1.343000E+01 1.414000E+01 2.735000E+01 +277 1 1.653000E+01 2.172000E+01 2.870000E+00 +278 1 2.107000E+01 2.185000E+01 3.690000E+01 +279 1 3.664000E+01 3.410000E+01 2.809000E+01 +280 1 3.016000E+01 2.572000E+01 2.045000E+01 +281 1 1.800000E+00 1.859000E+01 6.690000E+00 +282 1 9.300000E-01 2.920000E+00 3.291000E+01 +283 1 1.215000E+01 2.864000E+01 5.550000E+00 +284 1 1.697000E+01 3.419000E+01 1.006000E+01 +285 1 1.210000E+00 4.930000E+00 4.830000E+00 +286 1 1.177000E+01 4.940000E+00 1.829000E+01 +287 1 2.625000E+01 7.380000E+00 2.798000E+01 +288 1 9.000000E-01 9.530000E+00 2.272000E+01 +289 1 1.592000E+01 1.530000E+01 1.692000E+01 +290 1 2.390000E+00 1.613000E+01 6.940000E+00 +291 1 3.898000E+01 7.710000E+00 8.020000E+00 +292 1 3.644000E+01 2.475000E+01 3.385000E+01 +293 1 2.802000E+01 3.480000E+00 4.028000E+01 +294 1 3.279000E+01 2.458000E+01 2.784000E+01 +295 1 1.913000E+01 3.837000E+01 2.331000E+01 +296 1 2.613000E+01 3.081000E+01 2.674000E+01 +297 1 2.532000E+01 3.771000E+01 1.013000E+01 +298 1 1.711000E+01 2.262000E+01 1.300000E+01 +299 1 2.871000E+01 1.246000E+01 1.832000E+01 +300 1 1.272000E+01 4.620000E+00 1.570000E+01 +301 1 2.197000E+01 2.425000E+01 2.139000E+01 +302 1 8.500000E+00 3.999000E+01 2.546000E+01 +303 1 4.070000E+00 3.246000E+01 4.270000E+00 +304 1 4.013000E+01 2.952000E+01 1.460000E+01 +305 1 5.930000E+00 3.346000E+01 2.326000E+01 +306 1 1.439000E+01 9.140000E+00 2.484000E+01 +307 1 9.330000E+00 6.640000E+00 2.131000E+01 +308 1 1.420000E+00 3.616000E+01 1.303000E+01 +309 1 2.305000E+01 2.713000E+01 1.359000E+01 +310 1 1.925000E+01 2.965000E+01 3.961000E+01 +311 1 2.497000E+01 6.660000E+00 1.485000E+01 +312 1 2.556000E+01 2.865000E+01 2.880000E+01 +313 1 7.550000E+00 2.085000E+01 3.045000E+01 +314 1 1.802000E+01 2.925000E+01 3.721000E+01 +315 1 1.246000E+01 3.098000E+01 2.556000E+01 +316 1 2.276000E+01 1.251000E+01 2.868000E+01 +317 1 3.486000E+01 2.344000E+01 3.855000E+01 +318 1 6.280000E+00 3.151000E+01 3.906000E+01 +319 1 3.735000E+01 2.264000E+01 3.812000E+01 +320 1 1.332000E+01 8.980000E+00 7.770000E+00 +321 1 7.600000E+00 3.136000E+01 7.920000E+00 +322 1 3.200000E+00 2.920000E+00 5.280000E+00 +323 1 8.170000E+00 3.254000E+01 2.026000E+01 +324 1 3.333000E+01 1.170000E+00 1.636000E+01 +325 1 6.700000E+00 2.234000E+01 2.669000E+01 +326 1 6.900000E+00 1.025000E+01 1.160000E+00 +327 1 2.358000E+01 5.690000E+00 2.170000E+01 +328 1 6.430000E+00 2.517000E+01 1.905000E+01 +329 1 2.326000E+01 8.260000E+00 2.295000E+01 +330 1 2.460000E+01 5.410000E+00 4.700000E-01 +331 1 1.027000E+01 3.768000E+01 9.570000E+00 +332 1 9.450000E+00 1.871000E+01 3.017000E+01 +333 1 2.388000E+01 3.240000E+01 3.140000E+00 +334 1 1.889000E+01 2.567000E+01 1.466000E+01 +335 1 2.108000E+01 3.427000E+01 3.588000E+01 +336 1 3.488000E+01 3.803000E+01 2.242000E+01 +337 1 3.365000E+01 1.929000E+01 1.290000E+01 +338 1 1.810000E+01 3.344000E+01 1.303000E+01 +339 1 2.758000E+01 1.885000E+01 3.407000E+01 +340 1 3.829000E+01 2.758000E+01 7.120000E+00 +341 1 2.168000E+01 3.619000E+01 2.075000E+01 +342 1 5.040000E+00 2.573000E+01 5.050000E+00 +343 1 1.410000E+00 3.445000E+01 2.788000E+01 +344 1 2.773000E+01 1.125000E+01 3.333000E+01 +345 1 2.771000E+01 2.476000E+01 3.514000E+01 +346 1 2.428000E+01 1.029000E+01 2.774000E+01 +347 1 3.090000E+00 2.826000E+01 2.660000E+01 +348 1 3.362000E+01 1.246000E+01 1.582000E+01 +349 1 3.486000E+01 7.960000E+00 2.133000E+01 +350 1 8.200000E-01 3.203000E+01 2.350000E+01 +351 1 3.545000E+01 3.597000E+01 2.943000E+01 +352 1 8.600000E-01 1.621000E+01 1.422000E+01 +353 1 3.739000E+01 3.666000E+01 1.962000E+01 +354 1 2.228000E+01 2.954000E+01 3.150000E+00 +355 1 2.835000E+01 5.820000E+00 7.670000E+00 +356 1 9.200000E-01 2.790000E+00 3.912000E+01 +357 1 3.029000E+01 1.368000E+01 1.318000E+01 +358 1 9.330000E+00 2.945000E+01 3.619000E+01 +359 1 2.842000E+01 4.110000E+00 2.477000E+01 +360 1 3.226000E+01 3.613000E+01 3.814000E+01 +361 1 1.100000E+01 1.278000E+01 1.770000E+00 +362 1 4.630000E+00 2.791000E+01 1.784000E+01 +363 1 1.707000E+01 6.750000E+00 2.289000E+01 +364 1 1.461000E+01 2.572000E+01 2.945000E+01 +365 1 3.159000E+01 2.440000E+01 3.511000E+01 +366 1 3.020000E+01 1.310000E+00 1.446000E+01 +367 1 3.759000E+01 2.400000E+00 6.600000E+00 +368 1 2.129000E+01 3.053000E+01 3.711000E+01 +369 1 3.927000E+01 3.698000E+01 3.886000E+01 +370 1 2.680000E+01 1.916000E+01 2.140000E+01 +371 1 1.641000E+01 3.931000E+01 2.595000E+01 +372 1 9.690000E+00 2.920000E+01 1.350000E+01 +373 1 2.753000E+01 3.731000E+01 1.496000E+01 +374 1 3.919000E+01 3.481000E+01 2.686000E+01 +375 1 4.580000E+00 3.495000E+01 3.575000E+01 +376 1 1.669000E+01 3.878000E+01 1.774000E+01 +377 1 3.577000E+01 2.542000E+01 8.300000E-01 +378 1 2.120000E+00 7.530000E+00 1.505000E+01 +379 1 2.696000E+01 1.639000E+01 2.185000E+01 +380 1 1.869000E+01 2.578000E+01 3.481000E+01 +381 1 3.108000E+01 2.050000E+00 1.130000E+01 +382 1 2.538000E+01 2.567000E+01 1.472000E+01 +383 1 1.538000E+01 3.608000E+01 4.100000E+00 +384 1 1.799000E+01 1.564000E+01 7.600000E+00 +385 1 1.348000E+01 2.671000E+01 3.384000E+01 +386 1 2.680000E+01 1.150000E+01 2.732000E+01 +387 1 1.540000E+00 1.068000E+01 6.000000E+00 +388 1 4.023000E+01 1.474000E+01 5.400000E+00 +389 1 3.603000E+01 1.044000E+01 1.040000E+00 +390 1 4.027000E+01 2.082000E+01 1.968000E+01 +391 1 8.140000E+00 7.470000E+00 1.017000E+01 +392 1 2.301000E+01 2.329000E+01 2.513000E+01 +393 1 2.445000E+01 3.558000E+01 3.913000E+01 +394 1 1.612000E+01 7.370000E+00 3.142000E+01 +395 1 5.760000E+00 3.391000E+01 1.460000E+00 +396 1 3.129000E+01 8.290000E+00 2.114000E+01 +397 1 2.631000E+01 3.050000E+00 2.120000E+00 +398 1 9.910000E+00 1.148000E+01 4.270000E+00 +399 1 3.146000E+01 1.048000E+01 9.000000E-02 +400 1 3.029000E+01 2.582000E+01 3.696000E+01 +401 1 9.700000E-01 3.600000E-01 6.090000E+00 +402 1 3.565000E+01 1.051000E+01 3.233000E+01 +403 1 1.931000E+01 3.769000E+01 1.438000E+01 +404 1 3.355000E+01 3.627000E+01 1.898000E+01 +405 1 1.822000E+01 3.092000E+01 1.960000E+00 +406 1 2.619000E+01 2.340000E+01 4.470000E+00 +407 1 3.452000E+01 1.894000E+01 1.873000E+01 +408 1 1.800000E+01 1.734000E+01 2.255000E+01 +409 1 2.946000E+01 3.888000E+01 3.664000E+01 +410 1 2.969000E+01 3.251000E+01 2.916000E+01 +411 1 3.049000E+01 3.154000E+01 1.894000E+01 +412 1 9.580000E+00 2.081000E+01 1.784000E+01 +413 1 6.710000E+00 3.164000E+01 1.056000E+01 +414 1 2.241000E+01 2.598000E+01 2.520000E+01 +415 1 9.400000E-01 3.714000E+01 7.120000E+00 +416 1 1.092000E+01 3.565000E+01 1.807000E+01 +417 1 3.221000E+01 3.286000E+01 2.858000E+01 +418 1 1.093000E+01 2.681000E+01 2.706000E+01 +419 1 3.190000E+00 3.247000E+01 3.307000E+01 +420 1 3.676000E+01 3.171000E+01 1.952000E+01 +421 1 2.035000E+01 1.811000E+01 2.446000E+01 +422 1 2.091000E+01 6.640000E+00 2.509000E+01 +423 1 1.010000E+01 1.037000E+01 1.606000E+01 +424 1 2.802000E+01 5.650000E+00 3.563000E+01 +425 1 3.514000E+01 3.759000E+01 3.460000E+01 +426 1 1.331000E+01 6.790000E+00 2.066000E+01 +427 1 3.670000E+01 3.280000E+00 1.023000E+01 +428 1 2.502000E+01 1.631000E+01 4.016000E+01 +429 1 3.680000E+01 3.883000E+01 3.693000E+01 +430 1 2.102000E+01 2.652000E+01 2.284000E+01 +431 1 3.128000E+01 1.447000E+01 3.730000E+01 +432 1 3.794000E+01 2.310000E+01 8.370000E+00 +433 1 5.030000E+00 3.022000E+01 2.741000E+01 +434 1 2.962000E+01 1.390000E+00 2.630000E+00 +435 1 7.470000E+00 1.300000E-01 8.060000E+00 +436 1 3.823000E+01 5.110000E+00 4.540000E+00 +437 1 3.993000E+01 2.487000E+01 2.555000E+01 +438 1 3.419000E+01 2.951000E+01 2.442000E+01 +439 1 2.047000E+01 2.120000E+00 1.372000E+01 +440 1 3.523000E+01 2.256000E+01 8.270000E+00 +441 1 2.551000E+01 3.081000E+01 9.110000E+00 +442 1 1.465000E+01 2.800000E+00 2.347000E+01 +443 1 2.903000E+01 1.144000E+01 1.204000E+01 +444 1 2.534000E+01 9.610000E+00 6.210000E+00 +445 1 3.062000E+01 7.070000E+00 2.967000E+01 +446 1 2.014000E+01 2.659000E+01 1.931000E+01 +447 1 2.399000E+01 1.880000E+01 3.480000E+01 +448 1 5.950000E+00 4.015000E+01 2.619000E+01 +449 1 1.404000E+01 3.854000E+01 3.780000E+00 +450 1 2.456000E+01 3.041000E+01 1.332000E+01 +451 1 2.196000E+01 1.540000E+01 3.747000E+01 +452 1 1.775000E+01 2.995000E+01 1.391000E+01 +453 1 3.000000E+01 2.423000E+01 1.001000E+01 +454 1 2.089000E+01 1.681000E+01 1.216000E+01 +455 1 1.788000E+01 2.556000E+01 7.570000E+00 +456 1 4.270000E+00 3.488000E+01 2.894000E+01 +457 1 2.754000E+01 3.101000E+01 2.264000E+01 +458 1 3.745000E+01 1.266000E+01 1.446000E+01 +459 1 1.948000E+01 8.000000E-02 3.541000E+01 +460 1 2.737000E+01 1.305000E+01 7.530000E+00 +461 1 3.302000E+01 2.540000E+01 2.041000E+01 +462 1 1.480000E+00 1.862000E+01 3.188000E+01 +463 1 7.900000E+00 1.395000E+01 1.408000E+01 +464 1 2.880000E+00 2.228000E+01 2.579000E+01 +465 1 3.848000E+01 3.161000E+01 2.994000E+01 +466 1 2.209000E+01 5.990000E+00 3.548000E+01 +467 1 2.863000E+01 3.632000E+01 3.624000E+01 +468 1 3.886000E+01 6.300000E+00 5.500000E-01 +469 1 3.331000E+01 1.047000E+01 4.380000E+00 +470 1 1.915000E+01 3.204000E+01 1.581000E+01 +471 1 8.850000E+00 2.500000E+01 2.963000E+01 +472 1 8.900000E+00 2.761000E+01 2.023000E+01 +473 1 1.218000E+01 1.500000E+01 2.970000E+00 +474 1 3.538000E+01 2.514000E+01 2.735000E+01 +475 1 3.498000E+01 3.620000E+00 1.695000E+01 +476 1 2.180000E+00 2.672000E+01 3.022000E+01 +477 1 2.349000E+01 3.983000E+01 1.417000E+01 +478 1 2.961000E+01 2.362000E+01 1.624000E+01 +479 1 1.777000E+01 4.920000E+00 3.195000E+01 +480 1 2.344000E+01 3.231000E+01 2.207000E+01 +481 1 3.998000E+01 9.400000E+00 3.494000E+01 +482 1 2.316000E+01 2.077000E+01 2.094000E+01 +483 1 3.072000E+01 3.947000E+01 1.320000E+00 +484 1 3.821000E+01 3.383000E+01 6.130000E+00 +485 1 2.503000E+01 2.028000E+01 5.030000E+00 +486 1 8.130000E+00 2.060000E+00 2.800000E-01 +487 1 2.430000E+01 2.911000E+01 4.990000E+00 +488 1 2.613000E+01 2.770000E+00 2.049000E+01 +489 1 3.885000E+01 2.315000E+01 1.970000E+01 +490 1 3.372000E+01 2.897000E+01 3.922000E+01 +491 1 1.540000E+01 3.012000E+01 2.314000E+01 +492 1 2.695000E+01 2.389000E+01 1.219000E+01 +493 1 3.379000E+01 3.924000E+01 2.480000E+00 +494 1 3.960000E+00 2.416000E+01 3.545000E+01 +495 1 1.618000E+01 2.350000E+01 3.071000E+01 +496 1 2.070000E+00 1.474000E+01 3.868000E+01 +497 1 3.018000E+01 2.268000E+01 1.230000E+01 +498 1 2.320000E+01 2.918000E+01 2.774000E+01 +499 1 1.001000E+01 3.753000E+01 2.846000E+01 +500 1 2.132000E+01 2.645000E+01 1.565000E+01 +501 1 2.124000E+01 4.000000E-01 1.562000E+01 +502 1 2.089000E+01 3.840000E+00 3.390000E+00 +503 1 9.170000E+00 2.348000E+01 1.682000E+01 +504 1 3.598000E+01 1.163000E+01 1.901000E+01 +505 1 6.180000E+00 2.294000E+01 3.150000E+01 +506 1 2.943000E+01 2.030000E+01 1.530000E+00 +507 1 3.094000E+01 1.106000E+01 1.918000E+01 +508 1 7.800000E-01 2.906000E+01 2.530000E+01 +509 1 2.225000E+01 3.673000E+01 1.809000E+01 +510 1 2.905000E+01 3.090000E+01 4.890000E+00 +511 1 2.936000E+01 2.555000E+01 1.342000E+01 +512 1 3.532000E+01 3.460000E+00 3.339000E+01 +513 1 1.160000E+00 1.028000E+01 3.751000E+01 +514 1 2.057000E+01 3.865000E+01 2.644000E+01 +515 1 3.607000E+01 2.724000E+01 2.521000E+01 +516 1 2.070000E+00 2.438000E+01 1.330000E+01 +517 1 3.426000E+01 1.288000E+01 3.510000E+00 +518 1 1.031000E+01 1.441000E+01 1.237000E+01 +519 1 9.380000E+00 3.884000E+01 1.909000E+01 +520 1 1.407000E+01 8.440000E+00 4.290000E+00 +521 1 1.541000E+01 2.054000E+01 1.640000E+01 +522 1 2.758000E+01 1.626000E+01 1.016000E+01 +523 1 2.593000E+01 1.352000E+01 3.500000E+01 +524 1 1.201000E+01 2.840000E+00 2.228000E+01 +525 1 2.295000E+01 1.030000E+00 2.891000E+01 +526 1 1.343000E+01 3.535000E+01 1.220000E+00 +527 1 1.510000E+00 1.070000E+01 3.078000E+01 +528 1 1.510000E+00 3.334000E+01 1.352000E+01 +529 1 1.523000E+01 2.434000E+01 1.679000E+01 +530 1 7.270000E+00 1.314000E+01 3.473000E+01 +531 1 7.970000E+00 3.660000E+00 2.739000E+01 +532 1 1.714000E+01 3.790000E+01 3.372000E+01 +533 1 1.506000E+01 3.911000E+01 2.845000E+01 +534 1 1.887000E+01 1.030000E+01 1.960000E+01 +535 1 1.438000E+01 2.701000E+01 1.312000E+01 +536 1 8.390000E+00 3.570000E+00 2.481000E+01 +537 1 3.839000E+01 2.238000E+01 2.579000E+01 +538 1 1.575000E+01 1.470000E+00 2.340000E+00 +539 1 3.519000E+01 5.500000E-01 2.541000E+01 +540 1 2.842000E+01 2.741000E+01 3.819000E+01 +541 1 5.460000E+00 1.297000E+01 6.280000E+00 +542 1 8.890000E+00 2.460000E+00 8.160000E+00 +543 1 2.594000E+01 3.498000E+01 2.231000E+01 +544 1 1.479000E+01 2.808000E+01 5.580000E+00 +545 1 6.030000E+00 1.235000E+01 2.913000E+01 +546 1 3.869000E+01 3.718000E+01 1.300000E+01 +547 1 1.380000E+00 3.164000E+01 3.510000E+00 +548 1 3.547000E+01 2.438000E+01 6.340000E+00 +549 1 3.259000E+01 5.000000E-01 2.295000E+01 +550 1 1.518000E+01 6.600000E-01 1.028000E+01 +551 1 3.941000E+01 9.710000E+00 6.370000E+00 +552 1 2.449000E+01 2.411000E+01 2.216000E+01 +553 1 2.358000E+01 3.512000E+01 2.349000E+01 +554 1 2.868000E+01 2.597000E+01 2.906000E+01 +555 1 1.977000E+01 3.606000E+01 3.134000E+01 +556 1 1.723000E+01 2.773000E+01 1.903000E+01 +557 1 9.900000E+00 7.220000E+00 4.900000E-01 +558 1 3.167000E+01 3.729000E+01 1.212000E+01 +559 1 1.327000E+01 1.870000E+01 3.987000E+01 +560 1 7.720000E+00 2.210000E+01 1.457000E+01 +561 1 3.201000E+01 3.360000E+01 4.220000E+00 +562 1 2.924000E+01 1.310000E+00 2.747000E+01 +563 1 3.574000E+01 3.101000E+01 1.548000E+01 +564 1 2.924000E+01 3.047000E+01 3.831000E+01 +565 1 1.850000E+00 8.130000E+00 3.932000E+01 +566 1 1.161000E+01 2.185000E+01 8.210000E+00 +567 1 3.442000E+01 6.840000E+00 2.270000E+00 +568 1 3.389000E+01 1.524000E+01 3.643000E+01 +569 1 1.774000E+01 1.401000E+01 1.280000E+01 +570 1 1.943000E+01 2.805000E+01 8.920000E+00 +571 1 3.791000E+01 3.482000E+01 3.156000E+01 +572 1 9.810000E+00 6.760000E+00 1.259000E+01 +573 1 1.101000E+01 1.849000E+01 2.777000E+01 +574 1 3.854000E+01 2.472000E+01 2.208000E+01 +575 1 5.050000E+00 1.827000E+01 1.847000E+01 +576 1 3.709000E+01 3.437000E+01 2.310000E+00 +577 1 1.735000E+01 3.308000E+01 9.600000E-01 +578 1 2.036000E+01 1.672000E+01 8.720000E+00 +579 1 2.025000E+01 1.720000E+00 3.060000E+01 +580 1 2.330000E+01 3.287000E+01 1.820000E+01 +581 1 2.037000E+01 1.620000E+01 2.636000E+01 +582 1 2.366000E+01 3.854000E+01 3.295000E+01 +583 1 1.795000E+01 3.777000E+01 2.290000E+00 +584 1 3.894000E+01 1.893000E+01 3.680000E+01 +585 1 1.733000E+01 1.950000E+00 1.934000E+01 +586 1 2.097000E+01 2.876000E+01 1.299000E+01 +587 1 1.085000E+01 1.202000E+01 2.193000E+01 +588 1 1.420000E+01 1.297000E+01 7.240000E+00 +589 1 3.595000E+01 3.720000E+01 2.476000E+01 +590 1 2.613000E+01 3.840000E+00 3.338000E+01 +591 1 2.638000E+01 1.730000E+01 1.315000E+01 +592 1 3.991000E+01 3.899000E+01 3.256000E+01 +593 1 3.695000E+01 3.579000E+01 4.020000E+01 +594 1 1.289000E+01 3.423000E+01 2.926000E+01 +595 1 2.269000E+01 2.160000E+01 3.927000E+01 +596 1 9.350000E+00 1.344000E+01 3.833000E+01 +597 1 1.540000E+01 5.170000E+00 2.454000E+01 +598 1 2.038000E+01 2.065000E+01 2.232000E+01 +599 1 1.578000E+01 3.991000E+01 2.335000E+01 +600 1 5.790000E+00 1.380000E+00 3.840000E+00 +601 1 3.080000E+00 8.560000E+00 3.132000E+01 +602 1 1.149000E+01 3.351000E+01 3.040000E+00 +603 1 2.710000E+00 6.500000E-01 2.371000E+01 +604 1 1.380000E+00 1.240000E+00 2.604000E+01 +605 1 2.461000E+01 1.463000E+01 2.216000E+01 +606 1 3.489000E+01 3.560000E+01 1.214000E+01 +607 1 2.110000E+01 1.130000E+01 3.203000E+01 +608 1 2.710000E+00 2.171000E+01 1.921000E+01 +609 1 2.371000E+01 2.064000E+01 1.711000E+01 +610 1 2.608000E+01 3.770000E+01 2.926000E+01 +611 1 9.100000E-01 3.790000E+00 2.455000E+01 +612 1 1.232000E+01 3.946000E+01 2.822000E+01 +613 1 7.920000E+00 3.155000E+01 3.494000E+01 +614 1 8.640000E+00 1.228000E+01 3.600000E-01 +615 1 1.209000E+01 1.765000E+01 1.449000E+01 +616 1 9.430000E+00 3.682000E+01 2.133000E+01 +617 1 3.655000E+01 3.211000E+01 1.296000E+01 +618 1 8.400000E+00 3.299000E+01 2.640000E+00 +619 1 3.150000E+01 1.270000E+00 2.872000E+01 +620 1 2.434000E+01 2.294000E+01 9.930000E+00 +621 1 7.010000E+00 3.645000E+01 2.206000E+01 +622 1 2.411000E+01 7.500000E+00 7.340000E+00 +623 1 3.769000E+01 2.512000E+01 1.061000E+01 +624 1 2.642000E+01 2.827000E+01 1.392000E+01 +625 1 1.534000E+01 2.490000E+00 3.676000E+01 +626 1 3.848000E+01 1.350000E+00 9.000000E+00 +627 1 2.170000E+01 3.500000E+01 9.420000E+00 +628 1 3.720000E+00 3.177000E+01 2.306000E+01 +629 1 1.584000E+01 9.150000E+00 2.081000E+01 +630 1 3.619000E+01 2.571000E+01 3.644000E+01 +631 1 5.290000E+00 4.017000E+01 3.818000E+01 +632 1 2.045000E+01 3.980000E+00 3.903000E+01 +633 1 2.976000E+01 1.756000E+01 6.560000E+00 +634 1 2.771000E+01 2.528000E+01 1.758000E+01 +635 1 2.285000E+01 2.420000E+00 3.632000E+01 +636 1 3.797000E+01 1.128000E+01 8.220000E+00 +637 1 1.619000E+01 3.179000E+01 2.109000E+01 +638 1 1.248000E+01 2.994000E+01 1.643000E+01 +639 1 3.304000E+01 1.518000E+01 4.690000E+00 +640 1 1.678000E+01 2.830000E+01 1.621000E+01 +641 1 1.230000E+01 3.206000E+01 1.360000E+01 +642 1 3.749000E+01 1.930000E+01 8.980000E+00 +643 1 3.385000E+01 2.638000E+01 1.406000E+01 +644 1 1.365000E+01 3.490000E+00 3.058000E+01 +645 1 6.730000E+00 2.010000E+01 1.255000E+01 +646 1 3.550000E+01 3.928000E+01 1.700000E+01 +647 1 3.594000E+01 6.490000E+00 4.005000E+01 +648 1 3.877000E+01 3.043000E+01 1.877000E+01 +649 1 9.340000E+00 2.314000E+01 3.499000E+01 +650 1 3.007000E+01 2.930000E+01 1.071000E+01 +651 1 3.420000E+01 1.243000E+01 3.417000E+01 +652 1 6.270000E+00 3.567000E+01 3.941000E+01 +653 1 3.647000E+01 2.536000E+01 2.990000E+01 +654 1 3.468000E+01 8.800000E-01 3.509000E+01 +655 1 3.280000E+01 2.184000E+01 1.227000E+01 +656 1 1.615000E+01 1.291000E+01 1.584000E+01 +657 1 3.990000E+01 3.177000E+01 1.626000E+01 +658 1 5.200000E+00 2.090000E+01 3.293000E+01 +659 1 3.609000E+01 7.970000E+00 3.355000E+01 +660 1 2.126000E+01 1.560000E+00 1.093000E+01 +661 1 3.862000E+01 1.842000E+01 1.982000E+01 +662 1 1.861000E+01 1.123000E+01 2.674000E+01 +663 1 2.391000E+01 1.732000E+01 3.061000E+01 +664 1 6.350000E+00 1.859000E+01 2.796000E+01 +665 1 3.644000E+01 6.380000E+00 1.109000E+01 +666 1 1.520000E+00 2.203000E+01 1.682000E+01 +667 1 3.213000E+01 1.863000E+01 5.570000E+00 +668 1 3.212000E+01 2.800000E+01 8.050000E+00 +669 1 3.344000E+01 1.076000E+01 1.339000E+01 +670 1 1.797000E+01 3.840000E+00 3.663000E+01 +671 1 7.730000E+00 5.790000E+00 3.015000E+01 +672 1 2.891000E+01 2.616000E+01 2.630000E+01 +673 1 1.781000E+01 1.785000E+01 4.280000E+00 +674 1 2.327000E+01 2.643000E+01 3.553000E+01 +675 1 8.190000E+00 3.984000E+01 3.549000E+01 +676 1 3.472000E+01 2.874000E+01 2.162000E+01 +677 1 2.685000E+01 2.769000E+01 8.010000E+00 +678 1 1.593000E+01 1.886000E+01 3.164000E+01 +679 1 1.452000E+01 6.930000E+00 1.527000E+01 +680 1 1.704000E+01 2.665000E+01 2.424000E+01 +681 1 3.051000E+01 2.600000E-01 2.126000E+01 +682 1 3.610000E+00 1.666000E+01 4.260000E+00 +683 1 1.560000E+00 2.023000E+01 2.785000E+01 +684 1 7.960000E+00 6.270000E+00 1.879000E+01 +685 1 1.494000E+01 2.269000E+01 2.395000E+01 +686 1 3.239000E+01 3.789000E+01 1.615000E+01 +687 1 2.933000E+01 3.430000E+01 1.219000E+01 +688 1 3.053000E+01 3.060000E+01 1.596000E+01 +689 1 3.924000E+01 4.960000E+00 1.373000E+01 +690 1 3.640000E+00 7.120000E+00 3.330000E+00 +691 1 1.567000E+01 3.612000E+01 4.030000E+01 +692 1 1.589000E+01 1.675000E+01 1.275000E+01 +693 1 2.139000E+01 2.311000E+01 1.618000E+01 +694 1 2.488000E+01 2.183000E+01 1.498000E+01 +695 1 3.215000E+01 3.492000E+01 2.542000E+01 +696 1 2.819000E+01 1.378000E+01 3.237000E+01 +697 1 3.815000E+01 1.373000E+01 3.633000E+01 +698 1 4.340000E+00 3.811000E+01 5.780000E+00 +699 1 4.390000E+00 3.276000E+01 3.068000E+01 +700 1 2.930000E+01 4.008000E+01 1.894000E+01 +701 1 1.313000E+01 1.999000E+01 9.970000E+00 +702 1 3.142000E+01 3.774000E+01 2.725000E+01 +703 1 2.779000E+01 3.169000E+01 8.130000E+00 +704 1 5.340000E+00 3.398000E+01 9.790000E+00 +705 1 2.602000E+01 6.270000E+00 9.090000E+00 +706 1 2.247000E+01 2.886000E+01 1.950000E+01 +707 1 4.650000E+00 3.260000E+00 8.180000E+00 +708 1 3.039000E+01 3.515000E+01 2.966000E+01 +709 1 2.434000E+01 7.210000E+00 3.155000E+01 +710 1 1.250000E+00 5.230000E+00 3.544000E+01 +711 1 1.390000E+01 2.491000E+01 2.517000E+01 +712 1 3.581000E+01 1.145000E+01 2.867000E+01 +713 1 5.800000E-01 1.696000E+01 3.703000E+01 +714 1 2.303000E+01 3.198000E+01 1.486000E+01 +715 1 2.135000E+01 1.115000E+01 1.687000E+01 +716 1 3.806000E+01 3.995000E+01 1.678000E+01 +717 1 4.140000E+00 3.313000E+01 1.790000E+01 +718 1 3.480000E+01 3.762000E+01 6.200000E-01 +719 1 3.188000E+01 1.792000E+01 2.097000E+01 +720 1 2.350000E+00 1.273000E+01 2.318000E+01 +721 1 2.728000E+01 1.889000E+01 9.160000E+00 +722 1 3.408000E+01 3.084000E+01 3.294000E+01 +723 1 3.240000E+00 1.244000E+01 2.943000E+01 +724 1 2.051000E+01 1.324000E+01 1.061000E+01 +725 1 3.179000E+01 2.032000E+01 3.777000E+01 +726 1 1.300000E+00 3.036000E+01 3.260000E+01 +727 1 5.810000E+00 3.539000E+01 2.529000E+01 +728 1 1.356000E+01 4.050000E+00 7.980000E+00 +729 1 1.280000E+00 1.406000E+01 3.084000E+01 +730 1 3.751000E+01 9.910000E+00 1.419000E+01 +731 1 3.560000E+00 2.043000E+01 3.572000E+01 +732 1 2.807000E+01 1.272000E+01 2.957000E+01 +733 1 1.030000E+01 3.771000E+01 3.320000E+00 +734 1 2.519000E+01 3.108000E+01 3.485000E+01 +735 1 4.210000E+00 1.015000E+01 1.481000E+01 +736 1 3.297000E+01 3.553000E+01 3.800000E-01 +737 1 1.391000E+01 4.250000E+00 2.798000E+01 +738 1 3.163000E+01 3.147000E+01 2.522000E+01 +739 1 6.800000E-01 9.000000E+00 9.580000E+00 +740 1 3.693000E+01 1.269000E+01 2.138000E+01 +741 1 3.779000E+01 1.676000E+01 2.900000E+00 +742 1 3.409000E+01 3.193000E+01 3.230000E+00 +743 1 2.104000E+01 1.530000E+00 3.802000E+01 +744 1 3.698000E+01 8.310000E+00 2.317000E+01 +745 1 1.636000E+01 3.968000E+01 2.039000E+01 +746 1 1.718000E+01 2.280000E+01 1.567000E+01 +747 1 2.872000E+01 3.545000E+01 2.363000E+01 +748 1 1.478000E+01 2.706000E+01 1.992000E+01 +749 1 2.920000E+00 2.723000E+01 4.320000E+00 +750 1 9.980000E+00 3.424000E+01 2.143000E+01 +751 1 3.957000E+01 3.017000E+01 3.709000E+01 +752 1 4.000000E+00 3.655000E+01 7.970000E+00 +753 1 3.551000E+01 4.002000E+01 2.020000E+01 +754 1 3.830000E+00 3.087000E+01 6.520000E+00 +755 1 2.354000E+01 2.238000E+01 4.140000E+00 +756 1 1.044000E+01 3.541000E+01 5.160000E+00 +757 1 2.194000E+01 3.613000E+01 3.780000E+01 +758 1 2.092000E+01 2.245000E+01 1.115000E+01 +759 1 3.496000E+01 1.040000E+00 1.250000E+01 +760 1 3.112000E+01 2.356000E+01 2.265000E+01 +761 1 4.018000E+01 2.631000E+01 1.422000E+01 +762 1 3.725000E+01 2.257000E+01 4.990000E+00 +763 1 4.260000E+00 7.250000E+00 5.800000E-01 +764 1 1.535000E+01 2.568000E+01 4.500000E+00 +765 1 2.280000E+00 7.200000E+00 2.548000E+01 +766 1 1.892000E+01 2.767000E+01 3.048000E+01 +767 1 3.965000E+01 2.569000E+01 8.820000E+00 +768 1 3.997000E+01 2.795000E+01 1.922000E+01 +769 1 3.916000E+01 2.240000E+01 1.647000E+01 +770 1 2.000000E-02 1.028000E+01 2.766000E+01 +771 1 8.010000E+00 6.310000E+00 2.720000E+00 +772 1 1.906000E+01 3.198000E+01 2.144000E+01 +773 1 2.095000E+01 2.715000E+01 3.392000E+01 +774 1 3.462000E+01 2.642000E+01 3.263000E+01 +775 1 1.301000E+01 2.714000E+01 1.069000E+01 +776 1 1.523000E+01 2.320000E+00 6.840000E+00 +777 1 5.620000E+00 1.000000E-01 2.002000E+01 +778 1 5.430000E+00 8.100000E+00 8.940000E+00 +779 1 1.961000E+01 2.385000E+01 4.008000E+01 +780 1 1.642000E+01 1.774000E+01 3.617000E+01 +781 1 1.140000E+00 2.459000E+01 3.976000E+01 +782 1 6.360000E+00 7.020000E+00 3.485000E+01 +783 1 3.050000E+00 3.680000E+01 3.114000E+01 +784 1 3.819000E+01 3.930000E+01 1.971000E+01 +785 1 3.449000E+01 5.310000E+00 7.490000E+00 +786 1 2.447000E+01 2.977000E+01 2.104000E+01 +787 1 1.216000E+01 2.083000E+01 1.964000E+01 +788 1 3.000000E-02 1.740000E+01 3.406000E+01 +789 1 1.061000E+01 6.600000E-01 1.321000E+01 +790 1 6.150000E+00 1.853000E+01 3.426000E+01 +791 1 3.316000E+01 1.856000E+01 3.208000E+01 +792 1 9.170000E+00 1.165000E+01 1.375000E+01 +793 1 7.100000E+00 2.260000E+00 3.753000E+01 +794 1 3.203000E+01 8.540000E+00 2.772000E+01 +795 1 3.570000E+01 1.662000E+01 1.270000E+00 +796 1 1.294000E+01 1.035000E+01 2.984000E+01 +797 1 2.190000E+00 3.980000E+01 7.100000E-01 +798 1 3.700000E+01 1.581000E+01 3.798000E+01 +799 1 7.490000E+00 1.611000E+01 2.699000E+01 +800 1 1.770000E+01 3.511000E+01 2.850000E+00 +801 1 3.115000E+01 2.188000E+01 1.933000E+01 +802 1 1.725000E+01 7.210000E+00 2.589000E+01 +803 1 2.056000E+01 2.099000E+01 4.240000E+00 +804 1 9.800000E+00 8.470000E+00 4.960000E+00 +805 1 3.926000E+01 1.310000E+00 3.630000E+01 +806 1 1.438000E+01 1.603000E+01 3.682000E+01 +807 1 3.647000E+01 2.067000E+01 3.631000E+01 +808 1 6.610000E+00 2.971000E+01 3.295000E+01 +809 1 2.104000E+01 7.710000E+00 3.731000E+01 +810 1 1.582000E+01 3.212000E+01 1.447000E+01 +811 1 1.030000E+00 1.449000E+01 2.940000E+00 +812 1 9.300000E-01 5.000000E-01 3.422000E+01 +813 1 2.733000E+01 3.544000E+01 2.021000E+01 +814 1 1.997000E+01 8.780000E+00 3.361000E+01 +815 1 1.831000E+01 1.683000E+01 1.128000E+01 +816 1 4.900000E+00 9.750000E+00 2.688000E+01 +817 1 2.096000E+01 9.670000E+00 6.390000E+00 +818 1 8.240000E+00 2.498000E+01 3.239000E+01 +819 1 2.763000E+01 1.116000E+01 9.470000E+00 +820 1 3.852000E+01 3.052000E+01 1.193000E+01 +821 1 3.237000E+01 2.209000E+01 1.608000E+01 +822 1 3.000000E+01 2.932000E+01 2.511000E+01 +823 1 3.354000E+01 3.845000E+01 1.356000E+01 +824 1 1.186000E+01 2.160000E+00 3.527000E+01 +825 1 3.336000E+01 2.013000E+01 2.136000E+01 +826 1 3.470000E+01 1.719000E+01 3.890000E+00 +827 1 3.460000E+00 3.257000E+01 9.700000E-01 +828 1 1.512000E+01 3.043000E+01 1.635000E+01 +829 1 1.564000E+01 1.436000E+01 3.110000E+00 +830 1 1.960000E+00 3.510000E+00 2.854000E+01 +831 1 3.933000E+01 1.727000E+01 2.233000E+01 +832 1 6.770000E+00 2.061000E+01 1.888000E+01 +833 1 1.690000E+01 3.100000E+00 8.990000E+00 +834 1 7.920000E+00 1.209000E+01 2.119000E+01 +835 1 8.140000E+00 1.669000E+01 1.654000E+01 +836 1 1.356000E+01 3.261000E+01 1.777000E+01 +837 1 1.916000E+01 2.254000E+01 2.240000E+00 +838 1 8.200000E-01 1.630000E+00 9.600000E+00 +839 1 4.230000E+00 7.800000E-01 1.595000E+01 +840 1 3.256000E+01 3.110000E+01 1.334000E+01 +841 1 2.620000E+00 3.921000E+01 1.443000E+01 +842 1 2.916000E+01 2.898000E+01 2.530000E+00 +843 1 4.006000E+01 2.917000E+01 3.966000E+01 +844 1 9.600000E+00 3.287000E+01 1.425000E+01 +845 1 7.700000E+00 4.030000E+01 2.270000E+00 +846 1 2.284000E+01 1.328000E+01 3.290000E+01 +847 1 1.866000E+01 2.900000E-01 2.668000E+01 +848 1 5.620000E+00 1.563000E+01 2.383000E+01 +849 1 2.584000E+01 1.075000E+01 1.414000E+01 +850 1 3.147000E+01 3.050000E+00 5.580000E+00 +851 1 2.520000E+01 3.040000E+01 1.900000E-01 +852 1 2.617000E+01 2.138000E+01 2.898000E+01 +853 1 3.771000E+01 1.780000E+01 4.010000E+01 +854 1 1.203000E+01 3.870000E+01 1.346000E+01 +855 1 6.580000E+00 2.261000E+01 4.900000E-01 +856 1 2.727000E+01 3.260000E+00 1.314000E+01 +857 1 3.430000E+00 1.018000E+01 2.242000E+01 +858 1 1.162000E+01 2.183000E+01 2.590000E+00 +859 1 2.840000E+01 2.584000E+01 4.910000E+00 +860 1 2.730000E+00 1.896000E+01 1.988000E+01 +861 1 2.209000E+01 3.577000E+01 1.290000E+01 +862 1 2.057000E+01 6.120000E+00 1.587000E+01 +863 1 2.596000E+01 9.010000E+00 9.880000E+00 +864 1 1.852000E+01 1.698000E+01 1.500000E+01 +865 1 7.580000E+00 9.280000E+00 2.879000E+01 +866 1 2.592000E+01 1.074000E+01 1.900000E-01 +867 1 1.295000E+01 5.200000E+00 4.022000E+01 +868 1 2.274000E+01 1.780000E+01 2.731000E+01 +869 1 3.434000E+01 4.240000E+00 2.660000E+01 +870 1 1.378000E+01 3.530000E+01 2.066000E+01 +871 1 3.765000E+01 9.920000E+00 2.705000E+01 +872 1 3.754000E+01 2.837000E+01 3.605000E+01 +873 1 5.760000E+00 3.360000E+00 3.454000E+01 +874 1 3.029000E+01 2.226000E+01 2.898000E+01 +875 1 3.327000E+01 1.732000E+01 7.840000E+00 +876 1 3.632000E+01 1.310000E+01 6.250000E+00 +877 1 3.194000E+01 2.590000E+01 2.524000E+01 +878 1 1.028000E+01 1.960000E+00 4.490000E+00 +879 1 3.579000E+01 2.290000E+00 2.966000E+01 +880 1 3.942000E+01 3.196000E+01 6.600000E-01 +881 1 3.678000E+01 3.858000E+01 5.240000E+00 +882 1 1.144000E+01 3.168000E+01 3.634000E+01 +883 1 1.450000E+01 2.814000E+01 3.868000E+01 +884 1 3.402000E+01 1.046000E+01 2.060000E+01 +885 1 1.743000E+01 3.810000E+01 3.998000E+01 +886 1 3.809000E+01 3.529000E+01 2.441000E+01 +887 1 3.648000E+01 2.244000E+01 1.856000E+01 +888 1 3.363000E+01 1.148000E+01 2.301000E+01 +889 1 1.700000E+00 2.129000E+01 9.050000E+00 +890 1 7.440000E+00 2.906000E+01 2.745000E+01 +891 1 2.516000E+01 1.413000E+01 3.209000E+01 +892 1 1.770000E+00 1.710000E+00 2.115000E+01 +893 1 3.475000E+01 4.018000E+01 3.987000E+01 +894 1 3.282000E+01 3.888000E+01 3.845000E+01 +895 1 2.771000E+01 2.233000E+01 2.152000E+01 +896 1 1.500000E-01 3.264000E+01 6.430000E+00 +897 1 3.724000E+01 1.184000E+01 3.794000E+01 +898 1 1.817000E+01 3.143000E+01 2.934000E+01 +899 1 3.997000E+01 7.000000E+00 2.259000E+01 +900 1 1.854000E+01 1.541000E+01 1.812000E+01 +901 1 1.820000E+00 2.583000E+01 3.519000E+01 +902 1 3.299000E+01 2.158000E+01 2.852000E+01 +903 1 3.254000E+01 2.840000E+01 2.650000E+01 +904 1 2.985000E+01 1.900000E+01 1.933000E+01 +905 1 3.170000E+00 1.346000E+01 8.600000E+00 +906 1 1.997000E+01 3.786000E+01 8.920000E+00 +907 1 3.431000E+01 1.089000E+01 7.990000E+00 +908 1 2.038000E+01 7.980000E+00 3.979000E+01 +909 1 4.080000E+00 2.395000E+01 3.035000E+01 +910 1 3.444000E+01 9.670000E+00 3.008000E+01 +911 1 1.583000E+01 1.467000E+01 2.227000E+01 +912 1 1.431000E+01 1.500000E+01 3.947000E+01 +913 1 4.670000E+00 2.058000E+01 3.000000E-01 +914 1 9.300000E+00 2.344000E+01 5.290000E+00 +915 1 2.399000E+01 2.950000E+01 2.521000E+01 +916 1 2.265000E+01 5.580000E+00 3.851000E+01 +917 1 2.574000E+01 2.662000E+01 3.447000E+01 +918 1 2.933000E+01 2.029000E+01 2.288000E+01 +919 1 2.541000E+01 9.850000E+00 2.358000E+01 +920 1 5.910000E+00 3.300000E+00 5.750000E+00 +921 1 1.326000E+01 7.000000E-02 2.430000E+01 +922 1 3.950000E+00 2.194000E+01 2.171000E+01 +923 1 3.333000E+01 3.333000E+01 3.166000E+01 +924 1 1.750000E+00 1.349000E+01 1.146000E+01 +925 1 3.112000E+01 2.539000E+01 1.787000E+01 +926 1 1.868000E+01 1.020000E+00 1.011000E+01 +927 1 1.286000E+01 2.967000E+01 1.190000E+01 +928 1 7.900000E+00 3.319000E+01 5.760000E+00 +929 1 3.152000E+01 1.395000E+01 1.066000E+01 +930 1 1.509000E+01 3.071000E+01 1.065000E+01 +931 1 2.109000E+01 1.130000E+01 8.650000E+00 +932 1 3.999000E+01 2.953000E+01 2.270000E+01 +933 1 1.099000E+01 3.969000E+01 2.321000E+01 +934 1 1.117000E+01 3.025000E+01 3.283000E+01 +935 1 3.573000E+01 2.144000E+01 3.377000E+01 +936 1 3.968000E+01 2.056000E+01 3.883000E+01 +937 1 3.883000E+01 2.733000E+01 2.522000E+01 +938 1 3.058000E+01 3.023000E+01 3.197000E+01 +939 1 1.682000E+01 3.112000E+01 3.195000E+01 +940 1 5.210000E+00 1.511000E+01 2.270000E+00 +941 1 2.484000E+01 3.855000E+01 1.900000E+01 +942 1 1.251000E+01 8.200000E-01 6.010000E+00 +943 1 1.945000E+01 2.246000E+01 2.716000E+01 +944 1 3.236000E+01 2.477000E+01 4.090000E+00 +945 1 3.575000E+01 2.625000E+01 2.092000E+01 +946 1 3.212000E+01 3.182000E+01 8.550000E+00 +947 1 8.700000E+00 3.527000E+01 2.976000E+01 +948 1 3.505000E+01 1.031000E+01 3.573000E+01 +949 1 1.260000E+00 1.847000E+01 3.270000E+00 +950 1 2.692000E+01 3.179000E+01 3.059000E+01 +951 1 1.983000E+01 3.155000E+01 1.247000E+01 +952 1 2.251000E+01 2.447000E+01 3.282000E+01 +953 1 3.023000E+01 1.924000E+01 3.172000E+01 +954 1 1.474000E+01 3.618000E+01 2.940000E+01 +955 1 5.110000E+00 5.140000E+00 1.415000E+01 +956 1 1.730000E+01 2.116000E+01 1.800000E-01 +957 1 1.817000E+01 3.470000E+00 2.967000E+01 +958 1 1.196000E+01 3.108000E+01 2.941000E+01 +959 1 3.782000E+01 2.364000E+01 1.930000E+00 +960 1 1.775000E+01 1.363000E+01 2.943000E+01 +961 1 1.126000E+01 4.530000E+00 1.315000E+01 +962 1 1.827000E+01 3.255000E+01 2.395000E+01 +963 1 1.220000E+01 9.900000E-01 2.410000E+00 +964 1 2.614000E+01 3.974000E+01 1.483000E+01 +965 1 1.964000E+01 3.425000E+01 2.586000E+01 +966 1 2.316000E+01 5.030000E+00 2.602000E+01 +967 1 2.478000E+01 3.461000E+01 2.617000E+01 +968 1 3.113000E+01 1.817000E+01 2.240000E+00 +969 1 8.710000E+00 3.614000E+01 1.418000E+01 +970 1 1.900000E-01 3.677000E+01 3.071000E+01 +971 1 3.538000E+01 5.140000E+00 2.318000E+01 +972 1 9.790000E+00 2.135000E+01 2.544000E+01 +973 1 1.234000E+01 3.592000E+01 1.006000E+01 +974 1 2.808000E+01 2.346000E+01 6.350000E+00 +975 1 1.086000E+01 3.276000E+01 2.368000E+01 +976 1 3.010000E+01 1.223000E+01 2.699000E+01 +977 1 1.798000E+01 3.060000E+00 4.020000E+00 +978 1 9.390000E+00 1.377000E+01 5.800000E+00 +979 1 9.450000E+00 9.490000E+00 2.509000E+01 +980 1 1.634000E+01 2.181000E+01 2.177000E+01 +981 1 2.499000E+01 2.674000E+01 4.900000E-01 +982 1 7.580000E+00 1.520000E+01 3.701000E+01 +983 1 3.193000E+01 1.752000E+01 1.411000E+01 +984 1 3.935000E+01 5.860000E+00 1.126000E+01 +985 1 4.690000E+00 2.804000E+01 1.205000E+01 +986 1 1.666000E+01 4.480000E+00 5.880000E+00 +987 1 1.574000E+01 1.277000E+01 2.425000E+01 +988 1 3.410000E+00 5.510000E+00 9.080000E+00 +989 1 3.154000E+01 1.890000E+00 1.838000E+01 +990 1 9.200000E-01 1.946000E+01 1.111000E+01 +991 1 1.300000E-01 3.681000E+01 1.547000E+01 +992 1 2.851000E+01 3.912000E+01 2.277000E+01 +993 1 1.302000E+01 3.893000E+01 3.916000E+01 +994 1 2.523000E+01 2.550000E+01 2.880000E+00 +995 1 1.403000E+01 2.277000E+01 1.031000E+01 +996 1 9.250000E+00 3.892000E+01 1.171000E+01 +997 1 2.110000E+00 4.720000E+00 1.958000E+01 +998 1 3.144000E+01 3.505000E+01 3.586000E+01 +999 1 8.950000E+00 3.743000E+01 3.477000E+01 +1000 1 3.336000E+01 2.864000E+01 3.608000E+01 +1001 1 8.380000E+00 6.150000E+00 3.305000E+01 +1002 1 4.015000E+01 3.770000E+01 4.670000E+00 +1003 1 2.169000E+01 8.000000E+00 8.710000E+00 +1004 1 3.218000E+01 8.590000E+00 3.414000E+01 +1005 1 1.451000E+01 1.921000E+01 2.655000E+01 +1006 1 3.070000E+01 5.380000E+00 1.411000E+01 +1007 1 1.231000E+01 1.584000E+01 1.988000E+01 +1008 1 1.339000E+01 1.660000E+00 2.670000E+01 +1009 1 1.676000E+01 3.086000E+01 5.210000E+00 +1010 1 1.886000E+01 4.200000E+00 1.443000E+01 +1011 1 4.390000E+00 2.058000E+01 7.710000E+00 +1012 1 1.980000E+00 1.848000E+01 1.524000E+01 +1013 1 8.270000E+00 4.710000E+00 1.614000E+01 +1014 1 3.172000E+01 1.239000E+01 2.488000E+01 +1015 1 5.750000E+00 1.411000E+01 1.242000E+01 +1016 1 3.544000E+01 3.200000E+01 9.300000E-01 +1017 1 3.444000E+01 2.616000E+01 3.838000E+01 +1018 1 2.259000E+01 3.158000E+01 7.330000E+00 +1019 1 1.400000E+01 3.055000E+01 3.491000E+01 +1020 1 2.852000E+01 2.002000E+01 2.953000E+01 +1021 1 3.060000E+01 1.624000E+01 9.080000E+00 +1022 1 1.561000E+01 1.068000E+01 1.044000E+01 +1023 1 2.138000E+01 2.543000E+01 2.883000E+01 +1024 1 1.760000E+00 2.414000E+01 4.110000E+00 +1025 1 1.033000E+01 2.356000E+01 3.815000E+01 +1026 1 1.698000E+01 1.150000E+01 2.182000E+01 +1027 1 1.922000E+01 1.262000E+01 3.896000E+01 +1028 1 3.953000E+01 1.910000E+00 2.334000E+01 +1029 1 9.940000E+00 2.793000E+01 3.256000E+01 +1030 1 4.600000E-01 1.283000E+01 3.671000E+01 +1031 1 1.190000E+00 7.660000E+00 1.186000E+01 +1032 1 1.931000E+01 1.312000E+01 4.800000E+00 +1033 1 3.352000E+01 2.255000E+01 3.626000E+01 +1034 1 1.631000E+01 7.100000E+00 8.830000E+00 +1035 1 1.934000E+01 7.420000E+00 2.788000E+01 +1036 1 2.025000E+01 2.075000E+01 4.015000E+01 +1037 1 2.824000E+01 9.520000E+00 1.630000E+01 +1038 1 3.989000E+01 3.390000E+01 2.986000E+01 +1039 1 2.294000E+01 4.790000E+00 1.448000E+01 +1040 1 4.019000E+01 2.327000E+01 3.411000E+01 +1041 1 3.940000E+00 2.697000E+01 2.054000E+01 +1042 1 1.789000E+01 9.490000E+00 6.520000E+00 +1043 1 2.719000E+01 3.389000E+01 3.250000E+01 +1044 1 2.649000E+01 2.743000E+01 4.230000E+00 +1045 1 1.330000E+00 2.940000E+01 3.013000E+01 +1046 1 3.535000E+01 7.110000E+00 2.989000E+01 +1047 1 2.787000E+01 2.802000E+01 1.162000E+01 +1048 1 1.347000E+01 1.450000E+00 2.050000E+01 +1049 1 3.466000E+01 4.150000E+00 2.072000E+01 +1050 1 2.759000E+01 3.805000E+01 1.863000E+01 +1051 1 2.095000E+01 6.790000E+00 3.055000E+01 +1052 1 2.306000E+01 4.640000E+00 2.881000E+01 +1053 1 1.007000E+01 4.480000E+00 9.390000E+00 +1054 1 1.015000E+01 1.046000E+01 3.502000E+01 +1055 1 3.088000E+01 3.307000E+01 3.856000E+01 +1056 1 2.231000E+01 1.040000E+01 1.146000E+01 +1057 1 2.929000E+01 3.853000E+01 3.949000E+01 +1058 1 1.854000E+01 1.947000E+01 6.520000E+00 +1059 1 2.403000E+01 2.653000E+01 1.121000E+01 +1060 1 3.800000E+01 2.400000E+00 3.421000E+01 +1061 1 6.580000E+00 2.857000E+01 9.530000E+00 +1062 1 4.490000E+00 3.065000E+01 3.451000E+01 +1063 1 3.653000E+01 3.394000E+01 1.567000E+01 +1064 1 2.440000E+00 9.340000E+00 3.483000E+01 +1065 1 3.460000E+00 1.150000E+01 3.806000E+01 +1066 1 2.549000E+01 2.264000E+01 2.415000E+01 +1067 1 1.379000E+01 1.752000E+01 9.020000E+00 +1068 1 2.549000E+01 5.930000E+00 3.170000E+00 +1069 1 2.217000E+01 2.260000E+01 1.850000E+00 +1070 1 6.090000E+00 2.440000E+00 1.047000E+01 +1071 1 1.302000E+01 5.270000E+00 4.540000E+00 +1072 1 5.730000E+00 3.967000E+01 3.079000E+01 +1073 1 3.165000E+01 3.579000E+01 7.390000E+00 +1074 1 1.633000E+01 3.326000E+01 2.629000E+01 +1075 1 2.980000E+01 1.057000E+01 2.904000E+01 +1076 1 3.549000E+01 3.290000E+00 1.411000E+01 +1077 1 8.450000E+00 1.779000E+01 1.943000E+01 +1078 1 1.337000E+01 3.361000E+01 3.931000E+01 +1079 1 2.140000E+01 1.651000E+01 3.171000E+01 +1080 1 1.546000E+01 1.432000E+01 1.942000E+01 +1081 1 2.476000E+01 6.300000E+00 1.785000E+01 +1082 1 4.200000E+00 1.800000E+01 2.192000E+01 +1083 1 1.934000E+01 3.368000E+01 9.130000E+00 +1084 1 3.580000E+00 1.281000E+01 1.377000E+01 +1085 1 3.595000E+01 1.280000E+00 3.766000E+01 +1086 1 2.502000E+01 3.406000E+01 3.411000E+01 +1087 1 3.642000E+01 2.752000E+01 1.059000E+01 +1088 1 2.228000E+01 3.248000E+01 1.165000E+01 +1089 1 1.361000E+01 1.065000E+01 2.154000E+01 +1090 1 4.050000E+00 2.082000E+01 2.820000E+00 +1091 1 3.283000E+01 7.500000E+00 3.904000E+01 +1092 1 3.332000E+01 3.896000E+01 2.900000E+01 +1093 1 1.987000E+01 1.390000E+00 1.983000E+01 +1094 1 2.039000E+01 3.180000E+01 3.345000E+01 +1095 1 1.746000E+01 6.920000E+00 2.017000E+01 +1096 1 1.084000E+01 2.573000E+01 2.256000E+01 +1097 1 2.710000E+01 2.340000E+01 1.489000E+01 +1098 1 1.000000E-01 4.290000E+00 2.696000E+01 +1099 1 6.400000E+00 1.850000E+01 4.014000E+01 +1100 1 2.334000E+01 2.521000E+01 1.682000E+01 +1101 1 2.029000E+01 1.331000E+01 2.654000E+01 +1102 1 3.414000E+01 1.391000E+01 1.841000E+01 +1103 1 2.984000E+01 3.839000E+01 4.600000E+00 +1104 1 2.570000E+01 1.898000E+01 2.920000E+00 +1105 1 3.812000E+01 3.690000E+01 2.990000E+00 +1106 1 3.477000E+01 1.278000E+01 3.741000E+01 +1107 1 2.619000E+01 8.990000E+00 3.811000E+01 +1108 1 2.288000E+01 3.753000E+01 1.554000E+01 +1109 1 9.580000E+00 1.119000E+01 2.883000E+01 +1110 1 2.885000E+01 3.501000E+01 3.864000E+01 +1111 1 3.804000E+01 2.327000E+01 1.392000E+01 +1112 1 3.221000E+01 1.475000E+01 4.019000E+01 +1113 1 2.298000E+01 3.750000E+00 2.336000E+01 +1114 1 3.079000E+01 2.918000E+01 2.843000E+01 +1115 1 2.192000E+01 3.333000E+01 2.466000E+01 +1116 1 3.105000E+01 1.491000E+01 2.302000E+01 +1117 1 1.463000E+01 1.740000E+01 1.902000E+01 +1118 1 5.160000E+00 1.431000E+01 1.833000E+01 +1119 1 3.748000E+01 3.474000E+01 1.228000E+01 +1120 1 1.928000E+01 2.761000E+01 1.711000E+01 +1121 1 3.456000E+01 2.111000E+01 1.480000E+01 +1122 1 3.947000E+01 1.284000E+01 2.774000E+01 +1123 1 3.109000E+01 1.864000E+01 1.692000E+01 +1124 1 1.101000E+01 3.502000E+01 2.637000E+01 +1125 1 6.450000E+00 8.300000E+00 3.935000E+01 +1126 1 1.102000E+01 3.965000E+01 3.741000E+01 +1127 1 3.034000E+01 2.946000E+01 1.600000E-01 +1128 1 5.820000E+00 2.265000E+01 3.620000E+00 +1129 1 1.668000E+01 3.081000E+01 2.721000E+01 +1130 1 3.337000E+01 3.333000E+01 3.704000E+01 +1131 1 8.670000E+00 1.893000E+01 3.462000E+01 +1132 1 5.250000E+00 2.861000E+01 3.655000E+01 +1133 1 3.401000E+01 2.099000E+01 3.105000E+01 +1134 1 1.878000E+01 6.930000E+00 3.430000E+00 +1135 1 1.820000E+01 2.042000E+01 1.970000E+01 +1136 1 3.604000E+01 1.869000E+01 2.686000E+01 +1137 1 7.900000E-01 2.344000E+01 7.790000E+00 +1138 1 1.429000E+01 2.965000E+01 2.851000E+01 +1139 1 2.285000E+01 2.852000E+01 6.800000E-01 +1140 1 1.117000E+01 3.682000E+01 2.353000E+01 +1141 1 2.882000E+01 3.799000E+01 9.160000E+00 +1142 1 4.028000E+01 9.430000E+00 1.387000E+01 +1143 1 5.200000E+00 2.358000E+01 3.807000E+01 +1144 1 1.787000E+01 1.770000E+00 3.866000E+01 +1145 1 5.650000E+00 3.737000E+01 2.922000E+01 +1146 1 2.560000E+00 3.544000E+01 1.994000E+01 +1147 1 3.677000E+01 2.009000E+01 2.316000E+01 +1148 1 1.355000E+01 1.968000E+01 5.330000E+00 +1149 1 1.637000E+01 2.384000E+01 9.270000E+00 +1150 1 3.193000E+01 4.010000E+01 3.606000E+01 +1151 1 3.170000E+01 3.120000E+01 5.860000E+00 +1152 1 2.779000E+01 1.944000E+01 6.280000E+00 +1153 1 2.472000E+01 3.992000E+01 2.727000E+01 +1154 1 2.030000E+01 2.963000E+01 2.512000E+01 +1155 1 3.187000E+01 3.400000E+00 3.720000E+01 +1156 1 2.517000E+01 8.650000E+00 1.247000E+01 +1157 1 1.124000E+01 1.631000E+01 3.400000E-01 +1158 1 1.664000E+01 1.285000E+01 2.707000E+01 +1159 1 4.510000E+00 2.920000E+01 2.199000E+01 +1160 1 5.080000E+00 3.390000E+00 3.060000E+01 +1161 1 2.670000E+01 2.982000E+01 3.829000E+01 +1162 1 2.712000E+01 2.265000E+01 9.090000E+00 +1163 1 3.638000E+01 3.170000E+01 5.510000E+00 +1164 1 2.496000E+01 1.438000E+01 1.584000E+01 +1165 1 1.659000E+01 3.052000E+01 1.874000E+01 +1166 1 1.083000E+01 2.998000E+01 2.351000E+01 +1167 1 3.754000E+01 3.751000E+01 3.049000E+01 +1168 1 3.229000E+01 2.187000E+01 3.982000E+01 +1169 1 3.652000E+01 2.556000E+01 1.345000E+01 +1170 1 3.551000E+01 4.010000E+01 1.011000E+01 +1171 1 2.740000E+00 1.585000E+01 3.276000E+01 +1172 1 3.376000E+01 2.291000E+01 1.852000E+01 +1173 1 2.598000E+01 3.266000E+01 2.092000E+01 +1174 1 3.882000E+01 1.360000E+00 1.439000E+01 +1175 1 2.282000E+01 1.660000E+01 2.088000E+01 +1176 1 1.938000E+01 7.990000E+00 2.275000E+01 +1177 1 1.095000E+01 1.666000E+01 4.800000E+00 +1178 1 3.468000E+01 1.184000E+01 2.623000E+01 +1179 1 3.108000E+01 2.838000E+01 1.891000E+01 +1180 1 3.415000E+01 7.750000E+00 1.679000E+01 +1181 1 3.713000E+01 1.988000E+01 5.110000E+00 +1182 1 2.110000E+00 3.913000E+01 3.360000E+00 +1183 1 2.311000E+01 3.560000E+01 6.700000E+00 +1184 1 2.552000E+01 3.364000E+01 7.380000E+00 +1185 1 1.535000E+01 1.344000E+01 1.084000E+01 +1186 1 6.340000E+00 1.187000E+01 1.055000E+01 +1187 1 1.725000E+01 1.950000E+01 1.471000E+01 +1188 1 4.015000E+01 1.317000E+01 1.957000E+01 +1189 1 3.513000E+01 3.980000E+00 3.989000E+01 +1190 1 2.488000E+01 2.747000E+01 3.122000E+01 +1191 1 9.150000E+00 2.214000E+01 3.258000E+01 +1192 1 2.424000E+01 1.200000E+01 6.930000E+00 +1193 1 3.965000E+01 1.413000E+01 1.342000E+01 +1194 1 3.927000E+01 1.600000E-01 4.270000E+00 +1195 1 2.271000E+01 3.680000E+00 1.178000E+01 +1196 1 2.294000E+01 7.560000E+00 1.360000E+00 +1197 1 1.907000E+01 1.235000E+01 1.466000E+01 +1198 1 1.544000E+01 5.110000E+00 1.966000E+01 +1199 1 2.580000E+01 2.601000E+01 2.841000E+01 +1200 1 4.280000E+00 3.770000E+01 2.640000E+01 +1201 1 2.765000E+01 2.761000E+01 5.000000E-01 +1202 1 3.100000E+01 2.392000E+01 3.257000E+01 +1203 1 3.931000E+01 2.020000E+01 2.697000E+01 +1204 1 2.428000E+01 2.482000E+01 3.084000E+01 +1205 1 1.408000E+01 1.666000E+01 1.350000E+00 +1206 1 1.547000E+01 3.540000E+01 3.676000E+01 +1207 1 3.507000E+01 2.395000E+01 1.057000E+01 +1208 1 3.648000E+01 8.430000E+00 9.010000E+00 +1209 1 2.923000E+01 1.604000E+01 1.253000E+01 +1210 1 1.365000E+01 9.500000E-01 1.787000E+01 +1211 1 1.272000E+01 2.981000E+01 7.750000E+00 +1212 1 1.840000E+00 2.728000E+01 3.907000E+01 +1213 1 1.120000E+00 1.518000E+01 1.694000E+01 +1214 1 3.563000E+01 9.240000E+00 3.370000E+00 +1215 1 1.424000E+01 2.757000E+01 2.428000E+01 +1216 1 5.890000E+00 1.033000E+01 5.660000E+00 +1217 1 9.570000E+00 3.371000E+01 3.266000E+01 +1218 1 2.773000E+01 1.012000E+01 2.509000E+01 +1219 1 3.792000E+01 3.945000E+01 2.844000E+01 +1220 1 5.150000E+00 1.463000E+01 2.636000E+01 +1221 1 3.328000E+01 3.381000E+01 2.108000E+01 +1222 1 8.140000E+00 2.831000E+01 2.295000E+01 +1223 1 1.308000E+01 3.189000E+01 3.179000E+01 +1224 1 4.870000E+00 3.625000E+01 1.928000E+01 +1225 1 1.535000E+01 3.519000E+01 1.842000E+01 +1226 1 1.529000E+01 1.635000E+01 2.662000E+01 +1227 1 1.112000E+01 2.849000E+01 1.917000E+01 +1228 1 1.693000E+01 8.820000E+00 3.693000E+01 +1229 1 3.550000E+00 8.000000E-02 4.940000E+00 +1230 1 1.206000E+01 3.431000E+01 3.570000E+01 +1231 1 5.870000E+00 5.960000E+00 4.430000E+00 +1232 1 3.294000E+01 1.180000E+00 3.710000E+00 +1233 1 2.256000E+01 7.940000E+00 1.246000E+01 +1234 1 1.547000E+01 2.903000E+01 3.290000E+01 +1235 1 7.720000E+00 1.020000E+00 2.322000E+01 +1236 1 2.902000E+01 2.914000E+01 8.300000E+00 +1237 1 1.436000E+01 3.453000E+01 3.256000E+01 +1238 1 2.781000E+01 3.972000E+01 3.000000E+00 +1239 1 2.858000E+01 2.193000E+01 3.591000E+01 +1240 1 2.391000E+01 2.270000E+01 1.922000E+01 +1241 1 1.600000E-01 2.370000E+00 3.034000E+01 +1242 1 2.127000E+01 3.586000E+01 3.348000E+01 +1243 1 2.298000E+01 1.863000E+01 2.466000E+01 +1244 1 2.380000E+00 1.022000E+01 2.573000E+01 +1245 1 2.251000E+01 1.543000E+01 1.045000E+01 +1246 1 1.938000E+01 3.690000E+00 7.760000E+00 +1247 1 1.976000E+01 6.120000E+00 3.336000E+01 +1248 1 2.334000E+01 3.926000E+01 2.133000E+01 +1249 1 3.026000E+01 2.779000E+01 5.850000E+00 +1250 1 2.347000E+01 8.300000E-01 3.432000E+01 +1251 1 3.707000E+01 4.440000E+00 2.697000E+01 +1252 1 1.840000E+01 2.950000E+00 2.370000E+01 +1253 1 2.758000E+01 3.078000E+01 1.500000E+01 +1254 1 3.211000E+01 1.728000E+01 2.356000E+01 +1255 1 1.314000E+01 1.152000E+01 2.412000E+01 +1256 1 5.890000E+00 2.665000E+01 3.327000E+01 +1257 1 1.501000E+01 2.282000E+01 2.825000E+01 +1258 1 1.249000E+01 3.631000E+01 7.180000E+00 +1259 1 5.500000E+00 2.406000E+01 9.120000E+00 +1260 1 1.059000E+01 4.300000E-01 3.199000E+01 +1261 1 3.132000E+01 3.683000E+01 2.740000E+00 +1262 1 1.165000E+01 2.439000E+01 1.650000E+00 +1263 1 1.434000E+01 6.550000E+00 6.850000E+00 +1264 1 7.480000E+00 2.303000E+01 7.160000E+00 +1265 1 3.002000E+01 2.488000E+01 2.780000E+00 +1266 1 4.010000E+01 2.802000E+01 3.485000E+01 +1267 1 1.400000E+00 2.684000E+01 1.046000E+01 +1268 1 2.590000E+01 2.991000E+01 3.237000E+01 +1269 1 2.170000E+01 3.797000E+01 2.319000E+01 +1270 1 3.904000E+01 1.949000E+01 2.990000E+00 +1271 1 2.555000E+01 4.360000E+00 1.111000E+01 +1272 1 2.977000E+01 2.702000E+01 1.584000E+01 +1273 1 1.501000E+01 3.299000E+01 2.369000E+01 +1274 1 1.219000E+01 2.916000E+01 3.926000E+01 +1275 1 2.820000E+01 3.847000E+01 2.768000E+01 +1276 1 2.101000E+01 1.450000E+01 2.000000E+01 +1277 1 5.330000E+00 1.646000E+01 2.920000E+01 +1278 1 3.312000E+01 3.543000E+01 2.790000E+01 +1279 1 1.800000E+01 1.098000E+01 1.700000E+01 +1280 1 7.030000E+00 3.831000E+01 1.719000E+01 +1281 1 1.319000E+01 9.240000E+00 1.075000E+01 +1282 1 3.920000E+00 7.200000E+00 1.115000E+01 +1283 1 3.650000E+00 2.979000E+01 1.546000E+01 +1284 1 3.500000E+00 3.072000E+01 3.912000E+01 +1285 1 3.430000E+00 1.000000E+00 2.804000E+01 +1286 1 3.679000E+01 8.930000E+00 1.675000E+01 +1287 1 3.414000E+01 7.190000E+00 2.456000E+01 +1288 1 6.710000E+00 1.730000E+01 1.122000E+01 +1289 1 1.709000E+01 2.770000E+01 1.262000E+01 +1290 1 3.694000E+01 1.546000E+01 1.331000E+01 +1291 1 2.718000E+01 2.792000E+01 1.645000E+01 +1292 1 2.908000E+01 3.329000E+01 3.528000E+01 +1293 1 3.268000E+01 2.537000E+01 3.058000E+01 +1294 1 1.485000E+01 1.259000E+01 1.325000E+01 +1295 1 8.820000E+00 3.261000E+01 4.007000E+01 +1296 1 3.998000E+01 1.613000E+01 2.972000E+01 +1297 1 3.139000E+01 2.758000E+01 3.560000E+00 +1298 1 3.836000E+01 3.975000E+01 3.901000E+01 +1299 1 1.090000E+00 4.980000E+00 1.548000E+01 +1300 1 1.421000E+01 3.173000E+01 5.250000E+00 +1301 1 3.944000E+01 1.907000E+01 6.630000E+00 +1302 1 1.319000E+01 2.388000E+01 3.310000E+01 +1303 1 1.448000E+01 2.150000E+01 1.276000E+01 +1304 1 2.870000E+01 1.075000E+01 3.650000E+00 +1305 1 6.410000E+00 1.970000E+01 9.590000E+00 +1306 1 1.254000E+01 3.653000E+01 3.732000E+01 +1307 1 3.622000E+01 3.267000E+01 3.146000E+01 +1308 1 3.814000E+01 3.510000E+00 2.927000E+01 +1309 1 3.172000E+01 1.006000E+01 3.114000E+01 +1310 1 4.270000E+00 3.802000E+01 1.210000E+01 +1311 1 2.905000E+01 3.354000E+01 4.750000E+00 +1312 1 2.541000E+01 1.406000E+01 2.628000E+01 +1313 1 1.076000E+01 4.920000E+00 3.349000E+01 +1314 1 2.420000E+01 1.290000E+00 3.290000E+00 +1315 1 2.271000E+01 3.960000E+01 2.526000E+01 +1316 1 2.240000E+00 3.942000E+01 8.460000E+00 +1317 1 2.018000E+01 1.189000E+01 2.936000E+01 +1318 1 6.670000E+00 3.647000E+01 3.150000E+00 +1319 1 1.217000E+01 3.813000E+01 1.310000E+00 +1320 1 2.958000E+01 8.560000E+00 2.654000E+01 +1321 1 6.460000E+00 1.124000E+01 3.265000E+01 +1322 1 3.173000E+01 4.810000E+00 3.261000E+01 +1323 1 1.022000E+01 7.550000E+00 2.677000E+01 +1324 1 1.739000E+01 1.514000E+01 4.980000E+00 +1325 1 1.226000E+01 2.119000E+01 2.735000E+01 +1326 1 3.404000E+01 6.900000E+00 3.635000E+01 +1327 1 2.650000E+01 3.732000E+01 5.370000E+00 +1328 1 3.277000E+01 4.990000E+00 1.680000E+01 +1329 1 1.502000E+01 1.545000E+01 7.820000E+00 +1330 1 7.740000E+00 2.527000E+01 3.585000E+01 +1331 1 1.992000E+01 3.187000E+01 1.825000E+01 +1332 1 3.401000E+01 6.910000E+00 2.720000E+01 +1333 1 2.875000E+01 2.100000E+00 2.223000E+01 +1334 1 2.556000E+01 2.718000E+01 2.141000E+01 +1335 1 4.860000E+00 3.796000E+01 4.027000E+01 +1336 1 4.010000E+00 2.570000E+01 1.649000E+01 +1337 1 2.580000E+00 2.737000E+01 1.471000E+01 +1338 1 2.040000E+01 4.770000E+00 2.774000E+01 +1339 1 2.217000E+01 2.430000E+01 8.960000E+00 +1340 1 2.120000E+01 1.712000E+01 1.479000E+01 +1341 1 2.385000E+01 1.226000E+01 1.738000E+01 +1342 1 2.168000E+01 3.595000E+01 2.633000E+01 +1343 1 3.779000E+01 2.744000E+01 2.254000E+01 +1344 1 3.197000E+01 8.010000E+00 1.350000E+00 +1345 1 1.345000E+01 1.666000E+01 2.972000E+01 +1346 1 2.106000E+01 1.860000E+01 5.840000E+00 +1347 1 2.651000E+01 1.600000E-01 3.379000E+01 +1348 1 1.457000E+01 4.990000E+00 3.677000E+01 +1349 1 2.559000E+01 1.070000E+01 3.575000E+01 +1350 1 3.456000E+01 3.082000E+01 1.151000E+01 +1351 1 2.127000E+01 6.240000E+00 6.000000E+00 +1352 1 6.170000E+00 3.078000E+01 3.640000E+00 +1353 1 1.606000E+01 2.608000E+01 3.980000E+01 +1354 1 2.043000E+01 3.960000E+00 2.226000E+01 +1355 1 3.570000E+00 1.118000E+01 1.740000E+01 +1356 1 2.415000E+01 3.418000E+01 1.358000E+01 +1357 1 2.250000E+01 1.542000E+01 7.510000E+00 +1358 1 2.400000E-01 2.390000E+00 1.615000E+01 +1359 1 1.864000E+01 3.642000E+01 2.140000E+01 +1360 1 3.561000E+01 2.350000E+00 1.924000E+01 +1361 1 1.393000E+01 2.400000E+01 4.011000E+01 +1362 1 2.980000E+01 5.650000E+00 3.999000E+01 +1363 1 6.930000E+00 2.818000E+01 2.740000E+00 +1364 1 2.728000E+01 8.100000E-01 3.012000E+01 +1365 1 2.297000E+01 3.893000E+01 3.844000E+01 +1366 1 1.987000E+01 3.658000E+01 5.510000E+00 +1367 1 1.177000E+01 2.127000E+01 3.189000E+01 +1368 1 3.160000E+01 1.245000E+01 3.217000E+01 +1369 1 3.270000E+01 1.684000E+01 1.796000E+01 +1370 1 2.535000E+01 2.905000E+01 1.800000E+01 +1371 1 2.630000E+00 4.370000E+00 1.343000E+01 +1372 1 1.124000E+01 1.275000E+01 1.044000E+01 +1373 1 1.947000E+01 1.880000E+01 2.250000E+00 +1374 1 3.409000E+01 4.040000E+00 5.220000E+00 +1375 1 1.379000E+01 1.329000E+01 4.620000E+00 +1376 1 1.963000E+01 1.086000E+01 3.570000E+00 +1377 1 1.305000E+01 1.861000E+01 3.700000E+01 +1378 1 5.910000E+00 3.479000E+01 7.090000E+00 +1379 1 2.664000E+01 3.274000E+01 1.313000E+01 +1380 1 3.940000E+00 3.429000E+01 3.908000E+01 +1381 1 4.960000E+00 1.359000E+01 3.255000E+01 +1382 1 2.380000E+01 1.574000E+01 3.517000E+01 +1383 1 9.930000E+00 1.304000E+01 3.540000E+01 +1384 1 8.350000E+00 2.658000E+01 1.746000E+01 +1385 1 2.680000E+01 1.073000E+01 3.069000E+01 +1386 1 2.992000E+01 1.538000E+01 2.555000E+01 +1387 1 2.805000E+01 1.774000E+01 3.190000E+00 +1388 1 3.191000E+01 3.929000E+01 6.120000E+00 +1389 1 3.335000E+01 1.971000E+01 1.050000E+00 +1390 1 2.216000E+01 1.137000E+01 2.750000E+00 +1391 1 2.882000E+01 1.110000E+01 7.400000E-01 +1392 1 7.640000E+00 3.850000E+01 3.779000E+01 +1393 1 3.707000E+01 2.949000E+01 3.358000E+01 +1394 1 2.828000E+01 9.070000E+00 1.356000E+01 +1395 1 1.108000E+01 6.850000E+00 8.000000E+00 +1396 1 1.787000E+01 1.364000E+01 9.840000E+00 +1397 1 2.900000E+01 3.620000E+01 1.090000E+00 +1398 1 9.170000E+00 3.214000E+01 1.168000E+01 +1399 1 1.810000E+01 9.150000E+00 9.360000E+00 +1400 1 2.430000E+00 2.545000E+01 1.760000E+00 +1401 1 2.090000E+00 3.653000E+01 1.733000E+01 +1402 1 9.260000E+00 2.339000E+01 4.100000E-01 +1403 1 3.103000E+01 5.880000E+00 8.890000E+00 +1404 1 3.511000E+01 2.325000E+01 1.322000E+01 +1405 1 1.774000E+01 2.442000E+01 4.870000E+00 +1406 1 3.054000E+01 1.328000E+01 1.581000E+01 +1407 1 3.084000E+01 2.721000E+01 3.022000E+01 +1408 1 3.960000E+00 3.703000E+01 3.776000E+01 +1409 1 2.184000E+01 1.208000E+01 3.655000E+01 +1410 1 2.615000E+01 1.950000E+01 1.868000E+01 +1411 1 3.420000E+00 7.500000E-01 3.176000E+01 +1412 1 3.223000E+01 2.681000E+01 3.401000E+01 +1413 1 2.986000E+01 2.995000E+01 2.098000E+01 +1414 1 2.076000E+01 2.310000E+01 2.351000E+01 +1415 1 2.757000E+01 1.960000E+00 1.832000E+01 +1416 1 2.290000E+01 1.656000E+01 1.825000E+01 +1417 1 3.730000E+00 3.849000E+01 2.385000E+01 +1418 1 2.070000E+00 3.006000E+01 3.690000E+01 +1419 1 2.486000E+01 3.901000E+01 3.640000E+00 +1420 1 6.690000E+00 1.080000E+00 1.762000E+01 +1421 1 2.810000E+01 3.061000E+01 2.849000E+01 +1422 1 1.667000E+01 2.217000E+01 3.643000E+01 +1423 1 1.246000E+01 3.921000E+01 3.348000E+01 +1424 1 1.620000E+00 1.527000E+01 2.182000E+01 +1425 1 8.390000E+00 2.229000E+01 2.910000E+00 +1426 1 4.960000E+00 1.722000E+01 3.227000E+01 +1427 1 1.097000E+01 3.120000E+00 3.136000E+01 +1428 1 1.470000E+00 3.810000E+01 2.636000E+01 +1429 1 9.630000E+00 1.670000E+00 3.791000E+01 +1430 1 1.733000E+01 9.980000E+00 3.389000E+01 +1431 1 1.300000E-01 1.829000E+01 5.300000E-01 +1432 1 1.720000E+01 2.888000E+01 3.760000E+00 +1433 1 3.608000E+01 1.331000E+01 1.390000E+00 +1434 1 3.466000E+01 2.952000E+01 2.841000E+01 +1435 1 2.257000E+01 9.070000E+00 3.054000E+01 +1436 1 8.100000E+00 2.772000E+01 3.451000E+01 +1437 1 1.917000E+01 2.970000E+01 3.244000E+01 +1438 1 2.160000E+00 9.940000E+00 1.380000E+00 +1439 1 1.853000E+01 1.426000E+01 2.321000E+01 +1440 1 2.528000E+01 3.675000E+01 3.157000E+01 +1441 1 2.960000E+00 2.813000E+01 3.537000E+01 +1442 1 5.020000E+00 4.000000E-01 1.215000E+01 +1443 1 1.564000E+01 3.659000E+01 2.433000E+01 +1444 1 3.000000E+00 3.658000E+01 1.670000E+00 +1445 1 3.501000E+01 1.470000E+01 3.992000E+01 +1446 1 2.720000E+01 3.610000E+00 6.250000E+00 +1447 1 3.294000E+01 3.124000E+01 3.537000E+01 +1448 1 5.810000E+00 2.759000E+01 1.464000E+01 +1449 1 3.810000E+01 3.890000E+01 8.600000E+00 +1450 1 4.022000E+01 5.010000E+00 7.200000E+00 +1451 1 2.377000E+01 3.116000E+01 3.824000E+01 +1452 1 3.817000E+01 1.637000E+01 5.570000E+00 +1453 1 3.050000E+00 2.772000E+01 3.266000E+01 +1454 1 3.022000E+01 3.328000E+01 1.495000E+01 +1455 1 6.080000E+00 1.196000E+01 2.602000E+01 +1456 1 2.198000E+01 3.821000E+01 6.410000E+00 +1457 1 3.644000E+01 7.460000E+00 3.733000E+01 +1458 1 1.589000E+01 3.311000E+01 3.883000E+01 +1459 1 3.532000E+01 1.931000E+01 2.946000E+01 +1460 1 2.519000E+01 1.542000E+01 1.105000E+01 +1461 1 7.320000E+00 1.694000E+01 1.880000E+00 +1462 1 1.205000E+01 2.463000E+01 1.075000E+01 +1463 1 1.325000E+01 2.868000E+01 1.600000E+00 +1464 1 2.294000E+01 2.149000E+01 3.254000E+01 +1465 1 1.392000E+01 7.080000E+00 2.761000E+01 +1466 1 3.159000E+01 3.295000E+01 3.362000E+01 +1467 1 1.675000E+01 6.980000E+00 1.550000E+00 +1468 1 4.680000E+00 4.700000E-01 8.310000E+00 +1469 1 2.746000E+01 3.543000E+01 3.680000E+00 +1470 1 2.042000E+01 2.320000E+01 3.005000E+01 +1471 1 3.860000E+01 1.418000E+01 1.530000E+00 +1472 1 2.749000E+01 3.548000E+01 2.641000E+01 +1473 1 1.658000E+01 2.845000E+01 1.001000E+01 +1474 1 2.232000E+01 3.803000E+01 2.870000E+00 +1475 1 2.061000E+01 3.710000E+00 3.526000E+01 +1476 1 9.570000E+00 1.493000E+01 3.136000E+01 +1477 1 4.630000E+00 1.600000E+00 1.140000E+00 +1478 1 3.290000E+00 7.150000E+00 3.688000E+01 +1479 1 5.330000E+00 3.326000E+01 2.706000E+01 +1480 1 1.874000E+01 2.017000E+01 3.637000E+01 +1481 1 1.154000E+01 1.770000E+00 8.630000E+00 +1482 1 2.200000E-01 1.175000E+01 9.020000E+00 +1483 1 1.778000E+01 1.796000E+01 8.780000E+00 +1484 1 8.550000E+00 1.950000E+01 1.572000E+01 +1485 1 1.368000E+01 9.410000E+00 3.781000E+01 +1486 1 5.060000E+00 2.528000E+01 1.760000E+00 +1487 1 1.348000E+01 7.750000E+00 3.034000E+01 +1488 1 1.100000E-01 3.838000E+01 1.051000E+01 +1489 1 7.400000E-01 2.262000E+01 2.198000E+01 +1490 1 1.359000E+01 1.589000E+01 3.418000E+01 +1491 1 2.760000E+01 5.130000E+00 3.155000E+01 +1492 1 8.070000E+00 3.178000E+01 1.642000E+01 +1493 1 3.561000E+01 2.099000E+01 4.011000E+01 +1494 1 1.933000E+01 1.870000E+00 3.318000E+01 +1495 1 3.815000E+01 2.150000E+01 5.100000E-01 +1496 1 1.389000E+01 3.694000E+01 1.196000E+01 +1497 1 9.190000E+00 2.380000E+01 1.214000E+01 +1498 1 1.472000E+01 2.570000E+01 2.248000E+01 +1499 1 9.430000E+00 6.980000E+00 1.543000E+01 +1500 1 3.500000E+01 1.781000E+01 3.705000E+01 +1501 1 3.357000E+01 1.549000E+01 1.559000E+01 +1502 1 1.196000E+01 3.850000E+01 5.740000E+00 +1503 1 9.320000E+00 2.848000E+01 2.568000E+01 +1504 1 1.820000E+00 8.920000E+00 3.910000E+00 +1505 1 6.640000E+00 1.783000E+01 4.430000E+00 +1506 1 1.285000E+01 3.971000E+01 9.180000E+00 +1507 1 8.750000E+00 3.740000E+00 5.670000E+00 +1508 1 1.418000E+01 1.894000E+01 1.328000E+01 +1509 1 3.084000E+01 1.262000E+01 3.479000E+01 +1510 1 3.272000E+01 2.918000E+01 1.780000E+00 +1511 1 2.370000E+00 1.336000E+01 5.600000E+00 +1512 1 2.893000E+01 6.660000E+00 1.092000E+01 +1513 1 4.600000E-01 1.000000E-01 1.299000E+01 +1514 1 1.375000E+01 2.610000E+00 4.080000E+00 +1515 1 2.833000E+01 3.156000E+01 2.518000E+01 +1516 1 1.641000E+01 2.219000E+01 5.640000E+00 +1517 1 3.764000E+01 9.750000E+00 3.632000E+01 +1518 1 1.009000E+01 3.697000E+01 3.843000E+01 +1519 1 1.439000E+01 3.326000E+01 3.508000E+01 +1520 1 4.320000E+00 4.370000E+00 2.500000E+00 +1521 1 9.200000E+00 2.266000E+01 9.410000E+00 +1522 1 8.290000E+00 2.166000E+01 3.791000E+01 +1523 1 2.775000E+01 1.574000E+01 7.580000E+00 +1524 1 3.112000E+01 1.926000E+01 1.035000E+01 +1525 1 2.905000E+01 1.047000E+01 2.138000E+01 +1526 1 2.190000E+01 9.510000E+00 3.525000E+01 +1527 1 3.581000E+01 2.896000E+01 1.660000E+00 +1528 1 9.700000E-01 3.178000E+01 1.872000E+01 +1529 1 7.040000E+00 5.100000E+00 9.470000E+00 +1530 1 3.515000E+01 1.636000E+01 2.275000E+01 +1531 1 1.136000E+01 2.126000E+01 3.580000E+01 +1532 1 2.387000E+01 1.600000E+00 2.197000E+01 +1533 1 1.347000E+01 8.830000E+00 5.600000E-01 +1534 1 3.177000E+01 1.369000E+01 2.890000E+01 +1535 1 1.407000E+01 2.034000E+01 2.640000E+00 +1536 1 3.052000E+01 1.010000E+01 8.730000E+00 +1537 1 3.484000E+01 1.526000E+01 3.368000E+01 +1538 1 2.878000E+01 1.497000E+01 3.620000E+01 +1539 1 1.971000E+01 2.704000E+01 1.131000E+01 +1540 1 6.930000E+00 3.917000E+01 1.046000E+01 +1541 1 2.469000E+01 1.259000E+01 2.390000E+01 +1542 1 1.780000E+00 2.473000E+01 1.754000E+01 +1543 1 3.880000E+01 5.180000E+00 1.822000E+01 +1544 1 1.251000E+01 3.104000E+01 3.040000E+00 +1545 1 2.450000E+01 2.044000E+01 2.614000E+01 +1546 1 1.047000E+01 3.333000E+01 7.610000E+00 +1547 1 7.280000E+00 7.750000E+00 5.920000E+00 +1548 1 2.830000E+00 2.413000E+01 3.270000E+01 +1549 1 1.217000E+01 2.309000E+01 2.254000E+01 +1550 1 2.141000E+01 3.446000E+01 2.861000E+01 +1551 1 3.979000E+01 1.027000E+01 2.290000E+00 +1552 1 7.000000E-01 2.459000E+01 2.969000E+01 +1553 1 1.352000E+01 1.136000E+01 2.727000E+01 +1554 1 3.741000E+01 3.061000E+01 2.193000E+01 +1555 1 2.734000E+01 2.234000E+01 2.685000E+01 +1556 1 2.172000E+01 2.230000E+00 8.240000E+00 +1557 1 3.788000E+01 1.843000E+01 2.492000E+01 +1558 1 6.350000E+00 3.578000E+01 3.374000E+01 +1559 1 2.286000E+01 2.200000E+00 3.186000E+01 +1560 1 3.322000E+01 4.590000E+00 2.710000E+00 +1561 1 1.315000E+01 1.466000E+01 1.008000E+01 +1562 1 2.883000E+01 2.383000E+01 3.093000E+01 +1563 1 1.278000E+01 1.185000E+01 3.666000E+01 +1564 1 4.220000E+00 1.916000E+01 5.310000E+00 +1565 1 2.612000E+01 6.230000E+00 2.050000E+01 +1566 1 1.400000E+00 1.401000E+01 3.426000E+01 +1567 1 5.210000E+00 2.573000E+01 2.616000E+01 +1568 1 1.423000E+01 1.097000E+01 3.458000E+01 +1569 1 1.777000E+01 2.522000E+01 1.154000E+01 +1570 1 3.381000E+01 6.400000E+00 1.077000E+01 +1571 1 1.508000E+01 4.400000E-01 3.908000E+01 +1572 1 6.730000E+00 3.688000E+01 9.070000E+00 +1573 1 2.040000E+01 2.065000E+01 1.584000E+01 +1574 1 1.844000E+01 9.810000E+00 2.893000E+01 +1575 1 1.950000E+00 6.940000E+00 2.815000E+01 +1576 1 9.500000E+00 2.587000E+01 9.680000E+00 +1577 1 3.990000E+00 2.400000E+00 1.982000E+01 +1578 1 2.900000E+01 3.571000E+01 3.371000E+01 +1579 1 3.817000E+01 1.882000E+01 2.905000E+01 +1580 1 1.229000E+01 1.288000E+01 1.493000E+01 +1581 1 2.226000E+01 1.038000E+01 2.000000E-01 +1582 1 8.750000E+00 1.312000E+01 2.703000E+01 +1583 1 9.670000E+00 3.071000E+01 1.930000E+00 +1584 1 1.697000E+01 2.436000E+01 2.133000E+01 +1585 1 3.249000E+01 3.746000E+01 3.428000E+01 +1586 1 2.899000E+01 3.809000E+01 1.194000E+01 +1587 1 3.445000E+01 2.889000E+01 9.390000E+00 +1588 1 1.401000E+01 2.116000E+01 3.661000E+01 +1589 1 8.700000E-01 2.382000E+01 3.668000E+01 +1590 1 3.915000E+01 7.480000E+00 1.593000E+01 +1591 1 1.036000E+01 1.030000E+01 3.190000E+01 +1592 1 4.220000E+00 1.625000E+01 1.119000E+01 +1593 1 3.389000E+01 1.780000E+00 2.755000E+01 +1594 1 1.246000E+01 8.160000E+00 3.565000E+01 +1595 1 3.811000E+01 1.320000E+01 4.170000E+00 +1596 1 2.947000E+01 6.310000E+00 3.321000E+01 +1597 1 1.444000E+01 2.160000E+01 7.480000E+00 +1598 1 3.360000E+01 2.825000E+01 1.814000E+01 +1599 1 6.400000E-01 3.160000E+01 2.619000E+01 +1600 1 2.477000E+01 2.643000E+01 1.880000E+01 +1601 1 1.755000E+01 2.823000E+01 3.460000E+01 +1602 1 3.945000E+01 2.520000E+01 1.824000E+01 +1603 1 3.013000E+01 2.077000E+01 1.514000E+01 +1604 1 2.459000E+01 3.660000E+01 3.478000E+01 +1605 1 2.318000E+01 9.770000E+00 3.799000E+01 +1606 1 3.523000E+01 9.760000E+00 1.120000E+01 +1607 1 3.625000E+01 3.149000E+01 8.750000E+00 +1608 1 3.202000E+01 7.500000E+00 7.090000E+00 +1609 1 1.357000E+01 3.376000E+01 2.663000E+01 +1610 1 2.101000E+01 1.504000E+01 1.717000E+01 +1611 1 2.895000E+01 4.980000E+00 2.930000E+01 +1612 1 3.817000E+01 2.899000E+01 3.097000E+01 +1613 1 3.765000E+01 3.460000E+00 3.898000E+01 +1614 1 2.575000E+01 4.890000E+00 2.528000E+01 +1615 1 3.599000E+01 1.568000E+01 1.927000E+01 +1616 1 2.431000E+01 5.700000E+00 3.397000E+01 +1617 1 2.130000E+00 2.891000E+01 6.330000E+00 +1618 1 3.190000E+00 5.440000E+00 3.909000E+01 +1619 1 2.340000E+00 3.554000E+01 2.575000E+01 +1620 1 1.124000E+01 7.820000E+00 3.241000E+01 +1621 1 5.200000E-01 5.850000E+00 3.887000E+01 +1622 1 8.370000E+00 6.440000E+00 3.862000E+01 +1623 1 1.790000E+00 3.708000E+01 2.244000E+01 +1624 1 1.278000E+01 2.651000E+01 1.812000E+01 +1625 1 2.391000E+01 2.164000E+01 1.222000E+01 +1626 1 2.356000E+01 1.921000E+01 7.060000E+00 +1627 1 3.853000E+01 3.246000E+01 3.819000E+01 +1628 1 6.430000E+00 2.372000E+01 3.407000E+01 +1629 1 1.055000E+01 2.012000E+01 5.500000E+00 +1630 1 2.635000E+01 1.908000E+01 3.655000E+01 +1631 1 1.615000E+01 5.330000E+00 1.680000E+01 +1632 1 2.050000E+01 2.713000E+01 2.675000E+01 +1633 1 2.450000E+00 1.850000E+00 1.185000E+01 +1634 1 3.842000E+01 1.927000E+01 1.340000E+01 +1635 1 3.560000E+01 2.991000E+01 3.746000E+01 +1636 1 1.205000E+01 1.955000E+01 3.382000E+01 +1637 1 3.346000E+01 1.793000E+01 3.918000E+01 +1638 1 1.804000E+01 1.845000E+01 2.919000E+01 +1639 1 2.013000E+01 3.484000E+01 1.485000E+01 +1640 1 1.857000E+01 2.674000E+01 2.141000E+01 +1641 1 1.780000E+00 3.457000E+01 3.455000E+01 +1642 1 1.133000E+01 5.160000E+00 2.104000E+01 +1643 1 8.710000E+00 2.148000E+01 2.817000E+01 +1644 1 2.564000E+01 2.289000E+01 3.583000E+01 +1645 1 1.795000E+01 2.480000E+01 3.808000E+01 +1646 1 2.110000E+00 2.141000E+01 3.274000E+01 +1647 1 3.600000E+01 1.830000E+01 2.078000E+01 +1648 1 1.551000E+01 4.011000E+01 5.650000E+00 +1649 1 3.445000E+01 3.825000E+01 6.640000E+00 +1650 1 2.430000E+00 3.178000E+01 2.884000E+01 +1651 1 3.040000E+01 1.860000E+00 3.503000E+01 +1652 1 2.811000E+01 8.440000E+00 2.985000E+01 +1653 1 1.467000E+01 1.845000E+01 3.386000E+01 +1654 1 3.925000E+01 6.950000E+00 3.398000E+01 +1655 1 3.377000E+01 2.648000E+01 6.800000E+00 +1656 1 4.520000E+00 2.755000E+01 3.924000E+01 +1657 1 2.454000E+01 3.519000E+01 2.140000E+00 +1658 1 3.307000E+01 3.625000E+01 4.980000E+00 +1659 1 3.070000E+00 3.100000E+00 1.713000E+01 +1660 1 3.759000E+01 1.688000E+01 3.333000E+01 +1661 1 9.100000E+00 3.988000E+01 4.560000E+00 +1662 1 2.423000E+01 8.630000E+00 3.409000E+01 +1663 1 3.720000E+01 2.865000E+01 2.818000E+01 +1664 1 9.920000E+00 1.170000E+00 2.153000E+01 +1665 1 5.900000E+00 1.950000E+00 2.841000E+01 +1666 1 3.709000E+01 1.570000E+01 2.824000E+01 +1667 1 3.722000E+01 7.380000E+00 2.617000E+01 +1668 1 3.050000E+00 2.716000E+01 8.050000E+00 +1669 1 1.669000E+01 3.698000E+01 1.056000E+01 +1670 1 3.190000E+00 9.160000E+00 7.780000E+00 +1671 1 2.651000E+01 2.454000E+01 1.986000E+01 +1672 1 2.637000E+01 1.740000E+00 2.675000E+01 +1673 1 2.998000E+01 3.964000E+01 1.620000E+01 +1674 1 1.909000E+01 1.974000E+01 2.647000E+01 +1675 1 1.444000E+01 2.134000E+01 3.925000E+01 +1676 1 6.450000E+00 3.316000E+01 3.692000E+01 +1677 1 1.319000E+01 2.623000E+01 3.686000E+01 +1678 1 2.803000E+01 2.920000E+01 3.413000E+01 +1679 1 2.336000E+01 1.011000E+01 1.954000E+01 +1680 1 2.556000E+01 1.220000E+01 3.832000E+01 +1681 1 2.229000E+01 2.916000E+01 2.311000E+01 +1682 1 3.942000E+01 3.332000E+01 1.121000E+01 +1683 1 2.733000E+01 1.537000E+01 2.445000E+01 +1684 1 1.812000E+01 3.589000E+01 3.707000E+01 +1685 1 1.044000E+01 2.163000E+01 1.333000E+01 +1686 1 2.497000E+01 1.248000E+01 2.150000E+00 +1687 1 2.822000E+01 2.474000E+01 8.800000E-01 +1688 1 2.875000E+01 1.143000E+01 3.599000E+01 +1689 1 1.142000E+01 2.230000E+00 2.508000E+01 +1690 1 2.919000E+01 1.269000E+01 5.180000E+00 +1691 1 3.500000E+00 2.240000E+00 3.905000E+01 +1692 1 2.187000E+01 1.219000E+01 2.446000E+01 +1693 1 1.705000E+01 5.650000E+00 1.264000E+01 +1694 1 1.888000E+01 3.955000E+01 2.936000E+01 +1695 1 1.288000E+01 8.860000E+00 1.602000E+01 +1696 1 1.724000E+01 1.053000E+01 1.660000E+00 +1697 1 2.829000E+01 6.300000E-01 1.257000E+01 +1698 1 2.346000E+01 1.376000E+01 3.924000E+01 +1699 1 2.246000E+01 3.885000E+01 3.055000E+01 +1700 1 9.180000E+00 2.009000E+01 9.260000E+00 +1701 1 3.654000E+01 2.511000E+01 1.799000E+01 +1702 1 1.297000E+01 2.850000E+01 2.644000E+01 +1703 1 2.678000E+01 8.660000E+00 2.131000E+01 +1704 1 1.525000E+01 1.230000E+01 6.700000E-01 +1705 1 4.003000E+01 6.860000E+00 2.565000E+01 +1706 1 2.540000E+00 2.277000E+01 3.831000E+01 +1707 1 3.055000E+01 4.690000E+00 1.134000E+01 +1708 1 9.390000E+00 8.790000E+00 1.818000E+01 +1709 1 2.059000E+01 4.900000E-01 1.360000E+00 +1710 1 2.695000E+01 3.643000E+01 1.245000E+01 +1711 1 2.780000E+00 2.471000E+01 6.670000E+00 +1712 1 3.233000E+01 4.870000E+00 3.930000E+01 +1713 1 3.906000E+01 1.200000E+00 2.692000E+01 +1714 1 2.170000E+01 1.590000E+00 2.602000E+01 +1715 1 1.250000E+01 6.840000E+00 2.030000E+00 +1716 1 2.013000E+01 2.539000E+01 3.270000E+00 +1717 1 2.575000E+01 2.447000E+01 3.931000E+01 +1718 1 2.806000E+01 3.913000E+01 6.600000E+00 +1719 1 3.321000E+01 1.275000E+01 6.310000E+00 +1720 1 1.335000E+01 1.245000E+01 1.926000E+01 +1721 1 2.568000E+01 3.640000E+01 7.660000E+00 +1722 1 9.700000E-01 1.674000E+01 2.402000E+01 +1723 1 3.637000E+01 1.364000E+01 3.056000E+01 +1724 1 1.406000E+01 3.772000E+01 3.148000E+01 +1725 1 3.019000E+01 2.769000E+01 3.261000E+01 +1726 1 3.516000E+01 3.715000E+01 3.827000E+01 +1727 1 1.748000E+01 1.960000E+01 1.160000E+01 +1728 1 1.846000E+01 2.165000E+01 9.830000E+00 +1729 1 2.400000E+01 1.108000E+01 9.510000E+00 +1730 1 2.802000E+01 2.607000E+01 2.209000E+01 +1731 1 1.259000E+01 1.397000E+01 3.003000E+01 +1732 1 2.862000E+01 4.430000E+00 2.085000E+01 +1733 1 4.460000E+00 3.632000E+01 1.409000E+01 +1734 1 3.450000E+01 2.260000E+00 2.344000E+01 +1735 1 1.382000E+01 1.144000E+01 1.661000E+01 +1736 1 5.300000E-01 2.182000E+01 3.018000E+01 +1737 1 4.340000E+00 3.899000E+01 1.785000E+01 +1738 1 1.810000E+00 3.137000E+01 1.155000E+01 +1739 1 1.918000E+01 1.017000E+01 3.683000E+01 +1740 1 9.850000E+00 1.740000E+01 2.490000E+00 +1741 1 1.590000E+01 2.014000E+01 2.892000E+01 +1742 1 3.247000E+01 3.502000E+01 1.348000E+01 +1743 1 4.860000E+00 2.190000E+00 2.418000E+01 +1744 1 3.659000E+01 7.050000E+00 5.770000E+00 +1745 1 2.973000E+01 3.784000E+01 2.522000E+01 +1746 1 2.486000E+01 1.655000E+01 6.790000E+00 +1747 1 6.670000E+00 4.340000E+00 9.500000E-01 +1748 1 1.712000E+01 1.086000E+01 1.260000E+01 +1749 1 6.540000E+00 3.900000E-01 1.445000E+01 +1750 1 3.619000E+01 1.766000E+01 1.223000E+01 +1751 1 1.913000E+01 1.603000E+01 2.980000E+01 +1752 1 1.849000E+01 3.419000E+01 2.948000E+01 +1753 1 2.348000E+01 3.249000E+01 2.717000E+01 +1754 1 2.548000E+01 5.370000E+00 2.971000E+01 +1755 1 2.172000E+01 3.547000E+01 2.350000E+00 +1756 1 1.574000E+01 8.970000E+00 2.768000E+01 +1757 1 2.262000E+01 1.982000E+01 9.520000E+00 +1758 1 2.746000E+01 1.683000E+01 1.884000E+01 +1759 1 1.144000E+01 3.645000E+01 3.426000E+01 +1760 1 3.298000E+01 2.106000E+01 3.349000E+01 +1761 1 5.250000E+00 1.928000E+01 3.035000E+01 +1762 1 6.300000E-01 1.250000E+01 2.530000E+01 +1763 1 9.400000E-01 1.665000E+01 1.941000E+01 +1764 1 1.082000E+01 2.477000E+01 2.503000E+01 +1765 1 2.280000E+00 2.330000E+00 2.390000E+00 +1766 1 4.002000E+01 4.001000E+01 2.991000E+01 +1767 1 1.660000E+01 3.330000E+00 2.148000E+01 +1768 1 1.935000E+01 6.840000E+00 1.167000E+01 +1769 1 1.072000E+01 1.611000E+01 2.903000E+01 +1770 1 2.711000E+01 3.258000E+01 3.736000E+01 +1771 1 2.850000E+01 7.330000E+00 3.782000E+01 +1772 1 2.094000E+01 3.183000E+01 2.010000E+00 +1773 1 1.675000E+01 1.975000E+01 2.478000E+01 +1774 1 7.740000E+00 1.220000E+00 3.048000E+01 +1775 1 1.595000E+01 4.029000E+01 1.457000E+01 +1776 1 3.644000E+01 1.568000E+01 7.500000E+00 +1777 1 3.895000E+01 2.472000E+01 4.001000E+01 +1778 1 1.380000E+00 1.794000E+01 2.928000E+01 +1779 1 3.220000E+00 3.290000E+01 8.260000E+00 +1780 1 3.617000E+01 3.785000E+01 1.173000E+01 +1781 1 1.069000E+01 1.774000E+01 2.524000E+01 +1782 1 1.614000E+01 1.690000E+00 2.742000E+01 +1783 1 2.514000E+01 1.900000E+01 3.252000E+01 +1784 1 1.745000E+01 2.930000E+01 2.496000E+01 +1785 1 3.321000E+01 4.022000E+01 8.670000E+00 +1786 1 2.966000E+01 3.301000E+01 3.181000E+01 +1787 1 1.331000E+01 1.131000E+01 2.400000E+00 +1788 1 8.890000E+00 1.479000E+01 2.137000E+01 +1789 1 3.566000E+01 3.528000E+01 3.652000E+01 +1790 1 3.735000E+01 1.192000E+01 1.096000E+01 +1791 1 3.360000E+01 2.954000E+01 4.820000E+00 +1792 1 1.115000E+01 2.559000E+01 3.225000E+01 +1793 1 3.132000E+01 2.833000E+01 3.790000E+01 +1794 1 1.190000E+00 1.581000E+01 7.000000E-01 +1795 1 1.856000E+01 2.268000E+01 1.798000E+01 +1796 1 3.294000E+01 4.810000E+00 3.516000E+01 +1797 1 3.802000E+01 1.726000E+01 1.693000E+01 +1798 1 2.040000E+01 3.594000E+01 4.023000E+01 +1799 1 9.300000E+00 2.855000E+01 3.863000E+01 +1800 1 9.360000E+00 1.686000E+01 3.854000E+01 +1801 1 1.280000E+01 6.540000E+00 2.445000E+01 +1802 1 2.370000E+00 4.027000E+01 1.901000E+01 +1803 1 2.906000E+01 1.402000E+01 5.900000E-01 +1804 1 1.776000E+01 1.308000E+01 1.941000E+01 +1805 1 2.507000E+01 2.350000E+00 3.028000E+01 +1806 1 3.982000E+01 2.348000E+01 1.195000E+01 +1807 1 3.519000E+01 2.357000E+01 2.474000E+01 +1808 1 3.429000E+01 8.730000E+00 6.230000E+00 +1809 1 1.530000E+00 2.867000E+01 1.236000E+01 +1810 1 6.780000E+00 3.438000E+01 3.128000E+01 +1811 1 2.726000E+01 1.453000E+01 3.880000E+01 +1812 1 1.550000E+01 1.497000E+01 3.016000E+01 +1813 1 8.100000E+00 1.239000E+01 3.094000E+01 +1814 1 2.568000E+01 3.996000E+01 2.365000E+01 +1815 1 1.689000E+01 3.979000E+01 3.122000E+01 +1816 1 5.090000E+00 1.760000E+01 1.576000E+01 +1817 1 1.208000E+01 7.970000E+00 1.855000E+01 +1818 1 3.058000E+01 1.607000E+01 3.210000E+01 +1819 1 2.125000E+01 1.535000E+01 3.423000E+01 +1820 1 3.765000E+01 2.319000E+01 3.189000E+01 +1821 1 3.334000E+01 8.090000E+00 1.414000E+01 +1822 1 1.188000E+01 2.877000E+01 3.491000E+01 +1823 1 3.550000E+01 3.490000E+01 4.560000E+00 +1824 1 3.913000E+01 3.114000E+01 3.342000E+01 +1825 1 1.413000E+01 6.370000E+00 1.086000E+01 +1826 1 3.283000E+01 3.270000E+01 2.100000E-01 +1827 1 1.939000E+01 3.919000E+01 1.671000E+01 +1828 1 2.796000E+01 7.160000E+00 1.817000E+01 +1829 1 3.993000E+01 7.720000E+00 2.884000E+01 +1830 1 2.421000E+01 1.850000E+01 2.216000E+01 +1831 1 2.020000E+01 2.950000E+01 6.580000E+00 +1832 1 2.442000E+01 1.847000E+01 1.490000E+01 +1833 1 1.147000E+01 3.184000E+01 3.898000E+01 +1834 1 4.028000E+01 8.290000E+00 3.143000E+01 +1835 1 2.108000E+01 2.404000E+01 1.882000E+01 +1836 1 3.810000E+01 1.056000E+01 4.260000E+00 +1837 1 3.573000E+01 1.000000E+00 5.380000E+00 +1838 1 2.222000E+01 2.716000E+01 9.020000E+00 +1839 1 3.159000E+01 3.808000E+01 9.170000E+00 +1840 1 3.800000E-01 3.962000E+01 1.735000E+01 +1841 1 1.787000E+01 3.647000E+01 1.850000E+01 +1842 1 2.036000E+01 3.717000E+01 2.874000E+01 +1843 1 2.341000E+01 8.270000E+00 1.640000E+01 +1844 1 3.000000E-02 3.900000E+00 1.260000E+00 +1845 1 2.710000E+01 8.220000E+00 4.250000E+00 +1846 1 2.366000E+01 1.866000E+01 8.300000E-01 +1847 1 1.576000E+01 8.180000E+00 3.938000E+01 +1848 1 3.188000E+01 3.540000E+00 2.061000E+01 +1849 1 1.290000E+01 1.954000E+01 3.000000E+01 +1850 1 1.485000E+01 1.040000E+00 2.991000E+01 +1851 1 1.851000E+01 3.678000E+01 2.594000E+01 +1852 1 2.624000E+01 3.060000E+00 1.558000E+01 +1853 1 3.924000E+01 3.449000E+01 1.527000E+01 +1854 1 3.210000E+00 6.620000E+00 6.430000E+00 +1855 1 5.410000E+00 1.136000E+01 3.553000E+01 +1856 1 3.661000E+01 3.311000E+01 2.536000E+01 +1857 1 5.570000E+00 8.200000E-01 3.565000E+01 +1858 1 1.049000E+01 3.328000E+01 3.019000E+01 +1859 1 7.730000E+00 1.702000E+01 2.246000E+01 +1860 1 3.585000E+01 1.798000E+01 6.350000E+00 +1861 1 2.886000E+01 3.490000E+00 4.270000E+00 +1862 1 2.747000E+01 3.870000E+01 3.198000E+01 +1863 1 1.700000E+00 3.540000E+01 4.007000E+01 +1864 1 5.500000E-01 1.921000E+01 1.775000E+01 +1865 1 2.096000E+01 3.016000E+01 1.527000E+01 +1866 1 1.844000E+01 1.621000E+01 3.494000E+01 +1867 1 3.465000E+01 3.493000E+01 2.428000E+01 +1868 1 1.211000E+01 2.377000E+01 1.886000E+01 +1869 1 3.870000E+01 3.101000E+01 2.706000E+01 +1870 1 3.814000E+01 1.502000E+01 2.090000E+01 +1871 1 2.744000E+01 6.160000E+00 1.375000E+01 +1872 1 3.002000E+01 3.709000E+01 3.162000E+01 +1873 1 1.150000E+00 2.778000E+01 2.136000E+01 +1874 1 3.644000E+01 1.673000E+01 3.066000E+01 +1875 1 1.287000E+01 2.362000E+01 3.770000E+01 +1876 1 1.185000E+01 3.817000E+01 1.808000E+01 +1877 1 2.347000E+01 3.306000E+01 9.350000E+00 +1878 1 1.964000E+01 9.700000E-01 4.610000E+00 +1879 1 7.420000E+00 3.815000E+01 3.236000E+01 +1880 1 2.014000E+01 3.887000E+01 1.179000E+01 +1881 1 3.820000E+00 5.500000E+00 2.936000E+01 +1882 1 9.780000E+00 1.925000E+01 3.726000E+01 +1883 1 3.490000E+00 2.258000E+01 1.048000E+01 +1884 1 2.490000E+00 4.002000E+01 3.716000E+01 +1885 1 2.331000E+01 3.465000E+01 3.216000E+01 +1886 1 3.424000E+01 3.044000E+01 7.240000E+00 +1887 1 3.263000E+01 2.463000E+01 9.450000E+00 +1888 1 1.900000E+01 3.387000E+01 3.913000E+01 +1889 1 1.298000E+01 2.100000E+01 2.478000E+01 +1890 1 4.660000E+00 1.164000E+01 2.001000E+01 +1891 1 8.660000E+00 1.968000E+01 3.490000E+00 +1892 1 3.391000E+01 3.492000E+01 8.690000E+00 +1893 1 1.517000E+01 3.302000E+01 1.216000E+01 +1894 1 6.180000E+00 3.916000E+01 2.259000E+01 +1895 1 1.852000E+01 2.288000E+01 3.203000E+01 +1896 1 1.905000E+01 3.223000E+01 6.490000E+00 +1897 1 9.770000E+00 1.761000E+01 1.277000E+01 +1898 1 2.610000E+01 3.758000E+01 2.540000E+01 +1899 1 2.390000E+00 3.675000E+01 1.053000E+01 +1900 1 8.360000E+00 1.743000E+01 6.530000E+00 +1901 1 2.823000E+01 1.711000E+01 2.806000E+01 +1902 1 5.350000E+00 6.730000E+00 2.541000E+01 +1903 1 3.550000E+01 1.965000E+01 2.970000E+00 +1904 1 3.121000E+01 2.204000E+01 1.890000E+00 +1905 1 1.863000E+01 9.320000E+00 1.485000E+01 +1906 1 2.233000E+01 3.000000E-02 4.780000E+00 +1907 1 2.608000E+01 3.149000E+01 5.060000E+00 +1908 1 3.112000E+01 1.725000E+01 2.705000E+01 +1909 1 1.776000E+01 3.282000E+01 3.413000E+01 +1910 1 2.572000E+01 7.650000E+00 2.505000E+01 +1911 1 6.210000E+00 6.950000E+00 2.819000E+01 +1912 1 4.017000E+01 1.496000E+01 1.018000E+01 +1913 1 1.221000E+01 1.925000E+01 1.672000E+01 +1914 1 2.248000E+01 3.717000E+01 1.079000E+01 +1915 1 1.144000E+01 3.481000E+01 1.522000E+01 +1916 1 1.109000E+01 3.150000E+01 9.400000E+00 +1917 1 7.050000E+00 1.754000E+01 1.385000E+01 +1918 1 1.539000E+01 3.066000E+01 3.746000E+01 +1919 1 9.780000E+00 2.493000E+01 1.945000E+01 +1920 1 2.155000E+01 2.014000E+01 3.036000E+01 +1921 1 2.627000E+01 1.994000E+01 1.207000E+01 +1922 1 1.927000E+01 7.270000E+00 1.826000E+01 +1923 1 1.879000E+01 3.570000E+01 3.430000E+01 +1924 1 2.097000E+01 1.404000E+01 2.410000E+00 +1925 1 7.430000E+00 3.211000E+01 2.874000E+01 +1926 1 3.223000E+01 2.498000E+01 1.243000E+01 +1927 1 3.034000E+01 2.710000E+01 2.332000E+01 +1928 1 2.535000E+01 2.886000E+01 1.108000E+01 +1929 1 2.469000E+01 1.790000E+01 9.410000E+00 +1930 1 2.729000E+01 1.739000E+01 3.872000E+01 +1931 1 1.462000E+01 1.766000E+01 1.618000E+01 +1932 1 2.636000E+01 2.520000E+00 3.791000E+01 +1933 1 3.723000E+01 1.258000E+01 3.390000E+01 +1934 1 2.390000E+00 3.449000E+01 6.190000E+00 +1935 1 3.512000E+01 2.505000E+01 3.450000E+00 +1936 1 1.540000E+01 1.715000E+01 3.580000E+00 +1937 1 2.794000E+01 4.620000E+00 1.701000E+01 +1938 1 3.736000E+01 2.940000E+01 4.100000E+00 +1939 1 8.540000E+00 3.099000E+01 3.167000E+01 +1940 1 3.295000E+01 9.760000E+00 3.737000E+01 +1941 1 3.131000E+01 1.453000E+01 2.660000E+00 +1942 1 3.097000E+01 2.230000E+00 4.007000E+01 +1943 1 2.284000E+01 1.487000E+01 1.404000E+01 +1944 1 1.652000E+01 7.380000E+00 3.470000E+01 +1945 1 3.885000E+01 1.276000E+01 3.047000E+01 +1946 1 2.190000E+01 3.253000E+01 3.989000E+01 +1947 1 9.730000E+00 2.930000E+01 2.916000E+01 +1948 1 9.940000E+00 2.907000E+01 4.120000E+00 +1949 1 1.190000E+00 1.979000E+01 2.460000E+01 +1950 1 9.110000E+00 3.736000E+01 2.585000E+01 +1951 1 1.398000E+01 3.498000E+01 1.410000E+01 +1952 1 2.461000E+01 4.540000E+00 3.690000E+01 +1953 1 2.442000E+01 1.181000E+01 3.066000E+01 +1954 1 1.450000E+01 3.678000E+01 1.617000E+01 +1955 1 4.290000E+00 3.034000E+01 1.083000E+01 +1956 1 3.091000E+01 3.558000E+01 1.665000E+01 +1957 1 3.978000E+01 2.183000E+01 5.820000E+00 +1958 1 2.088000E+01 1.798000E+01 6.000000E-02 +1959 1 1.122000E+01 1.952000E+01 1.430000E+00 +1960 1 2.802000E+01 7.800000E-01 3.607000E+01 +1961 1 4.170000E+00 1.698000E+01 5.000000E-02 +1962 1 2.842000E+01 1.480000E+01 3.340000E+00 +1963 1 2.181000E+01 7.510000E+00 3.770000E+00 +1964 1 3.611000E+01 2.040000E+01 1.695000E+01 +1965 1 3.023000E+01 3.286000E+01 1.530000E+00 +1966 1 4.480000E+00 2.643000E+01 2.905000E+01 +1967 1 1.683000E+01 3.526000E+01 3.156000E+01 +1968 1 1.940000E+00 5.440000E+00 2.230000E+01 +1969 1 9.040000E+00 3.510000E+01 1.158000E+01 +1970 1 1.770000E+01 2.642000E+01 2.703000E+01 +1971 1 3.857000E+01 2.051000E+01 3.124000E+01 +1972 1 7.100000E+00 2.992000E+01 1.491000E+01 +1973 1 5.650000E+00 3.046000E+01 2.999000E+01 +1974 1 1.350000E+01 5.300000E-01 3.686000E+01 +1975 1 3.550000E+01 9.410000E+00 2.492000E+01 +1976 1 3.505000E+01 2.131000E+01 2.675000E+01 +1977 1 1.567000E+01 1.046000E+01 3.034000E+01 +1978 1 1.478000E+01 3.745000E+01 2.196000E+01 +1979 1 3.800000E-01 3.909000E+01 2.115000E+01 +1980 1 2.131000E+01 9.730000E+00 2.169000E+01 +1981 1 1.924000E+01 2.112000E+01 1.348000E+01 +1982 1 1.861000E+01 3.049000E+01 1.008000E+01 +1983 1 3.514000E+01 5.950000E+00 1.891000E+01 +1984 1 3.828000E+01 1.015000E+01 3.113000E+01 +1985 1 2.987000E+01 9.100000E+00 3.284000E+01 +1986 1 3.806000E+01 1.669000E+01 9.930000E+00 +1987 1 3.625000E+01 3.150000E+00 3.690000E+00 +1988 1 1.120000E+01 1.831000E+01 1.908000E+01 +1989 1 1.729000E+01 1.204000E+01 3.186000E+01 +1990 1 2.065000E+01 1.251000E+01 2.196000E+01 +1991 1 3.660000E+00 1.325000E+01 3.220000E+00 +1992 1 3.760000E+01 4.830000E+00 8.060000E+00 +1993 1 3.707000E+01 5.360000E+00 3.269000E+01 +1994 1 2.071000E+01 2.979000E+01 2.930000E+01 +1995 1 5.900000E-01 3.394000E+01 1.640000E+00 +1996 1 3.053000E+01 7.920000E+00 1.475000E+01 +1997 1 1.812000E+01 1.180000E+00 1.559000E+01 +1998 1 1.635000E+01 2.170000E+00 3.428000E+01 +1999 1 3.770000E+01 1.321000E+01 1.713000E+01 +2000 1 1.345000E+01 3.422000E+01 4.590000E+00 +2001 1 6.390000E+00 7.100000E+00 1.604000E+01 +2002 1 2.936000E+01 2.284000E+01 3.840000E+01 +2003 1 2.132000E+01 1.267000E+01 1.311000E+01 +2004 1 3.830000E+00 1.482000E+01 3.601000E+01 +2005 1 3.017000E+01 3.080000E+00 3.063000E+01 +2006 1 5.670000E+00 2.356000E+01 1.549000E+01 +2007 1 2.568000E+01 1.509000E+01 2.150000E+00 +2008 1 3.750000E+01 5.240000E+00 3.576000E+01 +2009 1 4.020000E+01 6.800000E+00 3.420000E+00 +2010 1 7.520000E+00 4.850000E+00 2.242000E+01 +2011 1 9.120000E+00 1.100000E+00 1.607000E+01 +2012 1 3.420000E+01 3.660000E+00 9.460000E+00 +2013 1 1.500000E+00 4.630000E+00 1.097000E+01 +2014 1 8.710000E+00 3.340000E+00 1.196000E+01 +2015 1 1.524000E+01 4.090000E+00 3.273000E+01 +2016 1 3.619000E+01 2.718000E+01 5.430000E+00 +2017 1 3.464000E+01 3.084000E+01 1.802000E+01 +2018 1 3.812000E+01 2.797000E+01 1.283000E+01 +2019 1 1.100000E+01 3.628000E+01 3.115000E+01 +2020 1 1.196000E+01 4.770000E+00 3.605000E+01 +2021 1 2.456000E+01 1.463000E+01 2.922000E+01 +2022 1 3.370000E+00 1.203000E+01 3.398000E+01 +2023 1 2.095000E+01 1.951000E+01 1.167000E+01 +2024 1 7.290000E+00 3.550000E+00 3.223000E+01 +2025 1 1.255000E+01 2.448000E+01 7.530000E+00 +2026 1 8.020000E+00 3.410000E+00 1.872000E+01 +2027 1 1.272000E+01 2.208000E+01 1.634000E+01 +2028 1 2.495000E+01 7.100000E-01 1.731000E+01 +2029 1 1.877000E+01 6.440000E+00 3.718000E+01 +2030 1 1.307000E+01 3.171000E+01 2.130000E+01 +2031 1 7.780000E+00 2.693000E+01 4.990000E+00 +2032 1 2.468000E+01 1.657000E+01 4.060000E+00 +2033 1 1.011000E+01 2.092000E+01 2.196000E+01 +2034 1 1.853000E+01 2.212000E+01 7.060000E+00 +2035 1 1.012000E+01 5.650000E+00 4.570000E+00 +2036 1 3.418000E+01 1.482000E+01 2.907000E+01 +2037 1 3.052000E+01 1.917000E+01 2.514000E+01 +2038 1 3.050000E+01 8.230000E+00 1.743000E+01 +2039 1 3.790000E+00 1.501000E+01 1.572000E+01 +2040 1 6.640000E+00 4.770000E+00 3.640000E+01 +2041 1 7.250000E+00 1.136000E+01 3.650000E+00 +2042 1 3.843000E+01 1.134000E+01 2.400000E-01 +2043 1 1.824000E+01 2.348000E+01 2.447000E+01 +2044 1 3.782000E+01 4.890000E+00 2.427000E+01 +2045 1 1.455000E+01 3.351000E+01 8.510000E+00 +2046 1 1.213000E+01 1.013000E+01 5.290000E+00 +2047 1 1.491000E+01 3.854000E+01 7.660000E+00 +2048 1 3.424000E+01 1.661000E+01 2.545000E+01 +2049 1 6.710000E+00 3.793000E+01 1.432000E+01 +2050 1 3.840000E+00 1.933000E+01 2.429000E+01 +2051 1 5.700000E-01 3.471000E+01 2.379000E+01 +2052 1 3.556000E+01 3.795000E+01 2.740000E+01 +2053 1 6.480000E+00 1.991000E+01 2.495000E+01 +2054 1 3.000000E+01 2.298000E+01 2.647000E+01 +2055 1 1.057000E+01 1.534000E+01 1.510000E+01 +2056 1 6.830000E+00 1.818000E+01 3.757000E+01 +2057 1 1.961000E+01 2.792000E+01 4.360000E+00 +2058 1 1.999000E+01 1.749000E+01 3.711000E+01 +2059 1 6.520000E+00 3.406000E+01 1.856000E+01 +2060 1 2.003000E+01 4.008000E+01 7.370000E+00 +2061 1 1.647000E+01 1.287000E+01 3.846000E+01 +2062 1 1.188000E+01 2.675000E+01 3.140000E+00 +2063 1 3.070000E+01 8.620000E+00 1.174000E+01 +2064 1 7.650000E+00 2.423000E+01 2.152000E+01 +2065 1 3.066000E+01 1.515000E+01 1.777000E+01 +2066 1 9.030000E+00 2.920000E+01 1.074000E+01 +2067 1 2.170000E+01 5.990000E+00 1.078000E+01 +2068 1 2.112000E+01 6.610000E+00 2.084000E+01 +2069 1 1.844000E+01 1.560000E+01 3.228000E+01 +2070 1 8.050000E+00 2.401000E+01 2.487000E+01 +2071 1 1.931000E+01 1.304000E+01 3.612000E+01 +2072 1 3.055000E+01 3.181000E+01 1.144000E+01 +2073 1 2.670000E+01 3.999000E+01 1.013000E+01 +2074 1 3.010000E+00 3.455000E+01 1.576000E+01 +2075 1 1.197000E+01 3.352000E+01 1.999000E+01 +2076 1 7.530000E+00 3.550000E+01 2.745000E+01 +2077 1 6.260000E+00 2.133000E+01 3.595000E+01 +2078 1 3.640000E+00 1.123000E+01 1.010000E+01 +2079 1 3.208000E+01 3.646000E+01 2.263000E+01 +2080 1 2.974000E+01 3.693000E+01 2.101000E+01 +2081 1 3.843000E+01 1.063000E+01 1.834000E+01 +2082 1 1.259000E+01 1.919000E+01 2.240000E+01 +2083 1 1.861000E+01 3.866000E+01 3.746000E+01 +2084 1 3.072000E+01 2.510000E+00 2.531000E+01 +2085 1 1.811000E+01 3.599000E+01 7.630000E+00 +2086 1 1.513000E+01 4.009000E+01 3.336000E+01 +2087 1 1.111000E+01 1.203000E+01 7.930000E+00 +2088 1 1.400000E+01 2.710000E+00 4.600000E-01 +2089 1 8.820000E+00 7.960000E+00 3.614000E+01 +2090 1 2.054000E+01 3.935000E+01 3.947000E+01 +2091 1 4.016000E+01 3.491000E+01 4.170000E+00 +2092 1 5.450000E+00 7.670000E+00 1.850000E+01 +2093 1 2.836000E+01 1.260000E+01 2.475000E+01 +2094 1 3.201000E+01 2.872000E+01 2.179000E+01 +2095 1 3.032000E+01 1.611000E+01 2.945000E+01 +2096 1 2.493000E+01 2.700000E+01 2.410000E+01 +2097 1 2.096000E+01 3.122000E+01 2.710000E+01 +2098 1 1.995000E+01 1.826000E+01 3.333000E+01 +2099 1 1.625000E+01 3.130000E+01 8.000000E+00 +2100 1 1.063000E+01 1.206000E+01 1.804000E+01 +2101 1 1.247000E+01 1.196000E+01 3.214000E+01 +2102 1 3.433000E+01 3.517000E+01 1.640000E+01 +2103 1 2.322000E+01 3.050000E+00 1.655000E+01 +2104 1 3.519000E+01 8.700000E-01 3.234000E+01 +2105 1 1.722000E+01 1.723000E+01 1.978000E+01 +2106 1 2.480000E+01 3.750000E+01 6.700000E-01 +2107 1 3.973000E+01 3.731000E+01 2.819000E+01 +2108 1 1.546000E+01 1.690000E+01 2.411000E+01 +2109 1 1.067000E+01 1.007000E+01 1.075000E+01 +2110 1 3.864000E+01 1.058000E+01 2.272000E+01 +2111 1 3.115000E+01 9.980000E+00 2.317000E+01 +2112 1 2.253000E+01 1.992000E+01 1.380000E+01 +2113 1 1.176000E+01 1.405000E+01 3.903000E+01 +2114 1 1.018000E+01 9.280000E+00 8.030000E+00 +2115 1 1.445000E+01 2.184000E+01 3.200000E+01 +2116 1 1.692000E+01 2.470000E+01 1.871000E+01 +2117 1 2.841000E+01 2.090000E+01 1.081000E+01 +2118 1 1.582000E+01 9.670000E+00 1.823000E+01 +2119 1 3.260000E+00 4.080000E+00 3.358000E+01 +2120 1 3.262000E+01 2.107000E+01 3.990000E+00 +2121 1 1.652000E+01 1.218000E+01 3.564000E+01 +2122 1 2.648000E+01 2.505000E+01 2.501000E+01 +2123 1 3.168000E+01 8.160000E+00 2.482000E+01 +2124 1 1.468000E+01 1.968000E+01 2.087000E+01 +2125 1 1.103000E+01 2.608000E+01 6.010000E+00 +2126 1 1.102000E+01 1.184000E+01 2.603000E+01 +2127 1 3.776000E+01 3.770000E+00 1.490000E+00 +2128 1 2.031000E+01 2.734000E+01 6.700000E-01 +2129 1 3.770000E+00 3.563000E+01 4.170000E+00 +2130 1 4.490000E+00 2.167000E+01 1.302000E+01 +2131 1 3.730000E+00 2.565000E+01 1.098000E+01 +2132 1 3.893000E+01 2.628000E+01 3.085000E+01 +2133 1 1.716000E+01 7.780000E+00 1.678000E+01 +2134 1 3.330000E+01 3.916000E+01 1.899000E+01 +2135 1 3.264000E+01 4.210000E+00 2.427000E+01 +2136 1 1.114000E+01 8.100000E+00 2.329000E+01 +2137 1 1.026000E+01 8.900000E-01 2.724000E+01 +2138 1 2.257000E+01 2.754000E+01 3.789000E+01 +2139 1 2.495000E+01 2.840000E+01 3.687000E+01 +2140 1 3.977000E+01 2.981000E+01 5.800000E+00 +2141 1 2.256000E+01 3.840000E+00 6.270000E+00 +2142 1 7.580000E+00 1.410000E+01 3.520000E+00 +2143 1 1.702000E+01 3.918000E+01 9.200000E+00 +2144 1 2.898000E+01 1.973000E+01 3.924000E+01 +2145 1 4.020000E+01 1.529000E+01 2.723000E+01 +2146 1 7.220000E+00 2.652000E+01 2.819000E+01 +2147 1 1.020000E+01 4.510000E+00 2.913000E+01 +2148 1 1.075000E+01 1.786000E+01 8.600000E+00 +2149 1 2.851000E+01 6.170000E+00 2.682000E+01 +2150 1 1.450000E+00 2.132000E+01 4.020000E+00 +2151 1 4.360000E+00 1.142000E+01 4.500000E-01 +2152 1 6.800000E+00 2.136000E+01 2.166000E+01 +2153 1 1.803000E+01 3.907000E+01 4.900000E+00 +2154 1 3.187000E+01 1.368000E+01 1.983000E+01 +2155 1 3.040000E+01 9.820000E+00 3.786000E+01 +2156 1 3.694000E+01 5.550000E+00 1.614000E+01 +2157 1 1.520000E+00 2.840000E+00 7.180000E+00 +2158 1 7.550000E+00 3.788000E+01 1.150000E+00 +2159 1 3.262000E+01 8.680000E+00 1.004000E+01 +2160 1 9.400000E+00 1.616000E+01 1.029000E+01 +2161 1 5.980000E+00 1.628000E+01 2.001000E+01 +2162 1 1.590000E+00 2.898000E+01 2.510000E+00 +2163 1 2.260000E+00 2.503000E+01 2.702000E+01 +2164 1 3.725000E+01 2.886000E+01 1.681000E+01 +2165 1 1.751000E+01 3.490000E+01 2.327000E+01 +2166 1 2.729000E+01 1.952000E+01 2.661000E+01 +2167 1 8.190000E+00 3.201000E+01 2.417000E+01 +2168 1 7.080000E+00 2.577000E+01 1.091000E+01 +2169 1 3.065000E+01 6.030000E+00 2.910000E+00 +2170 1 2.078000E+01 1.994000E+01 1.970000E+01 +2171 1 7.100000E-01 7.250000E+00 1.784000E+01 +2172 1 3.287000E+01 8.740000E+00 1.891000E+01 +2173 1 1.178000E+01 2.800000E+01 1.470000E+01 +2174 1 2.178000E+01 2.015000E+01 3.462000E+01 +2175 1 3.874000E+01 1.992000E+01 1.613000E+01 +2176 1 3.554000E+01 3.239000E+01 3.856000E+01 +2177 1 1.772000E+01 4.020000E+01 1.210000E+00 +2178 1 2.093000E+01 1.558000E+01 2.323000E+01 +2179 1 8.900000E+00 2.592000E+01 3.849000E+01 +2180 1 1.428000E+01 6.460000E+00 3.351000E+01 diff --git a/examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot b/examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot new file mode 100755 index 0000000000..853ff4bec0 --- /dev/null +++ b/examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot @@ -0,0 +1,354 @@ +VOTCA +N 351 R 2.0 9.0 + +1 2.000000E+00 2.190202E+01 7.229762E+01 +2 2.020000E+00 2.048957E+01 6.887333E+01 +3 2.040000E+00 1.915004E+01 6.500604E+01 +4 2.060000E+00 1.789228E+01 6.069573E+01 +5 2.080000E+00 1.672516E+01 5.594242E+01 +6 2.100000E+00 1.565754E+01 5.074609E+01 +7 2.120000E+00 1.467088E+01 4.787307E+01 +8 2.140000E+00 1.374450E+01 4.471740E+01 +9 2.160000E+00 1.288407E+01 4.127908E+01 +10 2.180000E+00 1.209522E+01 3.755811E+01 +11 2.200000E+00 1.138363E+01 3.355449E+01 +12 2.220000E+00 1.072913E+01 3.188695E+01 +13 2.240000E+00 1.010845E+01 3.017359E+01 +14 2.260000E+00 9.522496E+00 2.841440E+01 +15 2.280000E+00 8.972182E+00 2.660938E+01 +16 2.300000E+00 8.458426E+00 2.475854E+01 +17 2.320000E+00 8.014166E+00 2.006698E+01 +18 2.340000E+00 7.639767E+00 1.777244E+01 +19 2.360000E+00 7.287288E+00 1.787493E+01 +20 2.380000E+00 6.908790E+00 2.037445E+01 +21 2.400000E+00 6.456330E+00 2.527099E+01 +22 2.420000E+00 5.858025E+00 3.384695E+01 +23 2.440000E+00 5.130955E+00 3.814748E+01 +24 2.460000E+00 4.360629E+00 3.817257E+01 +25 2.480000E+00 3.632555E+00 3.392224E+01 +26 2.500000E+00 3.032242E+00 2.539647E+01 +27 2.520000E+00 2.547993E+00 2.297813E+01 +28 2.540000E+00 2.115131E+00 2.025763E+01 +29 2.560000E+00 1.739702E+00 1.723497E+01 +30 2.580000E+00 1.427747E+00 1.391013E+01 +31 2.600000E+00 1.185311E+00 1.028314E+01 +32 2.620000E+00 9.860176E-01 9.578245E+00 +33 2.640000E+00 8.048986E-01 8.465708E+00 +34 2.660000E+00 6.501069E-01 6.945526E+00 +35 2.680000E+00 5.297952E-01 5.017699E+00 +36 2.700000E+00 4.521166E-01 2.682227E+00 +37 2.720000E+00 3.986447E-01 2.615311E+00 +38 2.740000E+00 3.494900E-01 2.250522E+00 +39 2.760000E+00 3.106097E-01 1.587859E+00 +40 2.780000E+00 2.879614E-01 6.273237E-01 +41 2.800000E+00 2.875026E-01 -6.310851E-01 +42 2.820000E+00 3.002733E-01 -6.543549E-01 +43 2.840000E+00 3.140112E-01 -7.277911E-01 +44 2.860000E+00 3.297194E-01 -8.513935E-01 +45 2.880000E+00 3.484014E-01 -1.025162E+00 +46 2.900000E+00 3.710604E-01 -1.249097E+00 +47 2.920000E+00 3.974884E-01 -1.380483E+00 +48 2.940000E+00 4.257507E-01 -1.432530E+00 +49 2.960000E+00 4.542607E-01 -1.405240E+00 +50 2.980000E+00 4.814314E-01 -1.298611E+00 +51 3.000000E+00 5.056762E-01 -1.112645E+00 +52 3.020000E+00 5.266502E-01 -9.832894E-01 +53 3.040000E+00 5.449492E-01 -8.451544E-01 +54 3.060000E+00 5.603978E-01 -6.982396E-01 +55 3.080000E+00 5.728203E-01 -5.425450E-01 +56 3.100000E+00 5.820411E-01 -3.780706E-01 +57 3.120000E+00 5.882509E-01 -2.409307E-01 +58 3.140000E+00 5.915991E-01 -9.190908E-02 +59 3.160000E+00 5.918481E-01 6.899430E-02 +60 3.180000E+00 5.887601E-01 2.417794E-01 +61 3.200000E+00 5.820977E-01 4.264463E-01 +62 3.220000E+00 5.733491E-01 4.528343E-01 +63 3.240000E+00 5.638075E-01 5.057356E-01 +64 3.260000E+00 5.529429E-01 5.851503E-01 +65 3.280000E+00 5.402248E-01 6.910784E-01 +66 3.300000E+00 5.251230E-01 8.235199E-01 +67 3.320000E+00 5.086524E-01 8.236482E-01 +68 3.340000E+00 4.921725E-01 8.244583E-01 +69 3.360000E+00 4.756696E-01 8.259503E-01 +70 3.380000E+00 4.591299E-01 8.281240E-01 +71 3.400000E+00 4.425400E-01 8.309796E-01 +72 3.420000E+00 4.259181E-01 8.311861E-01 +73 3.440000E+00 4.092937E-01 8.312292E-01 +74 3.460000E+00 3.926700E-01 8.311089E-01 +75 3.480000E+00 3.760504E-01 8.308252E-01 +76 3.500000E+00 3.594381E-01 8.303781E-01 +77 3.520000E+00 3.428394E-01 8.295412E-01 +78 3.540000E+00 3.262547E-01 8.289646E-01 +79 3.560000E+00 3.096790E-01 8.286483E-01 +80 3.580000E+00 2.931071E-01 8.285923E-01 +81 3.600000E+00 2.765336E-01 8.287966E-01 +82 3.620000E+00 2.599901E-01 8.254306E-01 +83 3.640000E+00 2.435212E-01 8.213359E-01 +84 3.660000E+00 2.271415E-01 8.165124E-01 +85 3.680000E+00 2.108656E-01 8.109603E-01 +86 3.700000E+00 1.947080E-01 8.046794E-01 +87 3.720000E+00 1.790243E-01 7.653050E-01 +88 3.740000E+00 1.640312E-01 7.356166E-01 +89 3.760000E+00 1.495351E-01 7.156143E-01 +90 3.780000E+00 1.353421E-01 7.052980E-01 +91 3.800000E+00 1.212586E-01 7.046676E-01 +92 3.820000E+00 1.072429E-01 6.965706E-01 +93 3.840000E+00 9.340878E-02 6.865180E-01 +94 3.860000E+00 7.979524E-02 6.745098E-01 +95 3.880000E+00 6.644142E-02 6.605462E-01 +96 3.900000E+00 5.338643E-02 6.446270E-01 +97 3.920000E+00 4.067486E-02 6.268536E-01 +98 3.940000E+00 2.829935E-02 6.110218E-01 +99 3.960000E+00 1.622105E-02 5.971317E-01 +100 3.980000E+00 4.401131E-03 5.851833E-01 +101 4.000000E+00 -7.199230E-03 5.751764E-01 +102 4.020000E+00 -1.856170E-02 5.611971E-01 +103 4.040000E+00 -2.965216E-02 5.479743E-01 +104 4.060000E+00 -4.048572E-02 5.355079E-01 +105 4.080000E+00 -5.107752E-02 5.237981E-01 +106 4.100000E+00 -6.144268E-02 5.128447E-01 +107 4.120000E+00 -7.151117E-02 4.939504E-01 +108 4.140000E+00 -8.119856E-02 4.747353E-01 +109 4.160000E+00 -9.049845E-02 4.551994E-01 +110 4.180000E+00 -9.940440E-02 4.353427E-01 +111 4.200000E+00 -1.079100E-01 4.151651E-01 +112 4.220000E+00 -1.159565E-01 3.900062E-01 +113 4.240000E+00 -1.235312E-01 3.679865E-01 +114 4.260000E+00 -1.306969E-01 3.491061E-01 +115 4.280000E+00 -1.375164E-01 3.333651E-01 +116 4.300000E+00 -1.440524E-01 3.207633E-01 +117 4.320000E+00 -1.503014E-01 3.040292E-01 +118 4.340000E+00 -1.562092E-01 2.866389E-01 +119 4.360000E+00 -1.617626E-01 2.685925E-01 +120 4.380000E+00 -1.669485E-01 2.498899E-01 +121 4.400000E+00 -1.717538E-01 2.305311E-01 +122 4.420000E+00 -1.760941E-01 2.036400E-01 +123 4.440000E+00 -1.799054E-01 1.776469E-01 +124 4.460000E+00 -1.832059E-01 1.525518E-01 +125 4.480000E+00 -1.860135E-01 1.283546E-01 +126 4.500000E+00 -1.883461E-01 1.050554E-01 +127 4.520000E+00 -1.902569E-01 8.558005E-02 +128 4.540000E+00 -1.917515E-01 6.344105E-02 +129 4.560000E+00 -1.927768E-01 3.863842E-02 +130 4.580000E+00 -1.932793E-01 1.117216E-02 +131 4.600000E+00 -1.932059E-01 -1.895774E-02 +132 4.620000E+00 -1.926829E-01 -3.331832E-02 +133 4.640000E+00 -1.918741E-01 -4.753697E-02 +134 4.660000E+00 -1.907824E-01 -6.161370E-02 +135 4.680000E+00 -1.894105E-01 -7.554851E-02 +136 4.700000E+00 -1.877614E-01 -8.934140E-02 +137 4.720000E+00 -1.859159E-01 -9.580751E-02 +138 4.740000E+00 -1.839049E-01 -1.058976E-01 +139 4.760000E+00 -1.816559E-01 -1.196116E-01 +140 4.780000E+00 -1.790963E-01 -1.369495E-01 +141 4.800000E+00 -1.761537E-01 -1.579114E-01 +142 4.820000E+00 -1.728280E-01 -1.744216E-01 +143 4.840000E+00 -1.691864E-01 -1.895036E-01 +144 4.860000E+00 -1.652574E-01 -2.031575E-01 +145 4.880000E+00 -1.610696E-01 -2.153832E-01 +146 4.900000E+00 -1.566516E-01 -2.261808E-01 +147 4.920000E+00 -1.521084E-01 -2.290714E-01 +148 4.940000E+00 -1.474515E-01 -2.375453E-01 +149 4.960000E+00 -1.425693E-01 -2.516026E-01 +150 4.980000E+00 -1.373502E-01 -2.712432E-01 +151 5.000000E+00 -1.316824E-01 -2.964672E-01 +152 5.020000E+00 -1.257009E-01 -3.016666E-01 +153 5.040000E+00 -1.196162E-01 -3.067953E-01 +154 5.060000E+00 -1.134296E-01 -3.118535E-01 +155 5.080000E+00 -1.071425E-01 -3.168409E-01 +156 5.100000E+00 -1.007564E-01 -3.217577E-01 +157 5.120000E+00 -9.430843E-02 -3.230025E-01 +158 5.140000E+00 -8.783782E-02 -3.240216E-01 +159 5.160000E+00 -8.134907E-02 -3.248150E-01 +160 5.180000E+00 -7.484672E-02 -3.253827E-01 +161 5.200000E+00 -6.833527E-02 -3.257248E-01 +162 5.220000E+00 -6.171989E-02 -3.350608E-01 +163 5.240000E+00 -5.496291E-02 -3.398853E-01 +164 5.260000E+00 -4.815456E-02 -3.401983E-01 +165 5.280000E+00 -4.138506E-02 -3.359997E-01 +166 5.300000E+00 -3.474465E-02 -3.272895E-01 +167 5.320000E+00 -2.866480E-02 -2.819209E-01 +168 5.340000E+00 -2.341879E-02 -2.439062E-01 +169 5.360000E+00 -1.885953E-02 -2.132454E-01 +170 5.380000E+00 -1.483994E-02 -1.899386E-01 +171 5.400000E+00 -1.121296E-02 -1.739857E-01 +172 5.420000E+00 -7.974056E-03 -1.497398E-01 +173 5.440000E+00 -5.229953E-03 -1.245058E-01 +174 5.460000E+00 -3.000413E-03 -9.828350E-02 +175 5.480000E+00 -1.305201E-03 -7.107305E-02 +176 5.500000E+00 -1.640790E-04 -4.287441E-02 +177 5.520000E+00 6.371635E-04 -3.612657E-02 +178 5.540000E+00 1.236053E-03 -2.263906E-02 +179 5.560000E+00 1.497795E-03 -2.411882E-03 +180 5.580000E+00 1.287597E-03 2.455496E-02 +181 5.600000E+00 4.706651E-04 5.826147E-02 +182 5.620000E+00 -7.026386E-04 5.910929E-02 +183 5.640000E+00 -1.895322E-03 6.019943E-02 +184 5.660000E+00 -3.112231E-03 6.153190E-02 +185 5.680000E+00 -4.358213E-03 6.310668E-02 +186 5.700000E+00 -5.638114E-03 6.492378E-02 +187 5.720000E+00 -6.949688E-03 6.610584E-02 +188 5.740000E+00 -8.277238E-03 6.652145E-02 +189 5.760000E+00 -9.605436E-03 6.617062E-02 +190 5.780000E+00 -1.091895E-02 6.505335E-02 +191 5.800000E+00 -1.220246E-02 6.316963E-02 +192 5.820000E+00 -1.341489E-02 5.820182E-02 +193 5.840000E+00 -1.453566E-02 5.400257E-02 +194 5.860000E+00 -1.558012E-02 5.057189E-02 +195 5.880000E+00 -1.656366E-02 4.790978E-02 +196 5.900000E+00 -1.750164E-02 4.601622E-02 +197 5.920000E+00 -1.840088E-02 4.358369E-02 +198 5.940000E+00 -1.923199E-02 3.920163E-02 +199 5.960000E+00 -1.995595E-02 3.287003E-02 +200 5.980000E+00 -2.053379E-02 2.458889E-02 +201 6.000000E+00 -2.092651E-02 1.435822E-02 +202 6.020000E+00 -2.120502E-02 1.352840E-02 +203 6.040000E+00 -2.146907E-02 1.291186E-02 +204 6.060000E+00 -2.172292E-02 1.250861E-02 +205 6.080000E+00 -2.197084E-02 1.231865E-02 +206 6.100000E+00 -2.221709E-02 1.234198E-02 +207 6.120000E+00 -2.246474E-02 1.237271E-02 +208 6.140000E+00 -2.270998E-02 1.210114E-02 +209 6.160000E+00 -2.294677E-02 1.152726E-02 +210 6.180000E+00 -2.316905E-02 1.065107E-02 +211 6.200000E+00 -2.337079E-02 9.472569E-03 +212 6.220000E+00 -2.332237E-02 -1.276224E-02 +213 6.240000E+00 -2.292243E-02 -2.567822E-02 +214 6.260000E+00 -2.235736E-02 -2.927535E-02 +215 6.280000E+00 -2.181354E-02 -2.355364E-02 +216 6.300000E+00 -2.147734E-02 -8.513096E-03 +217 6.320000E+00 -2.141633E-02 1.466366E-03 +218 6.340000E+00 -2.149820E-02 5.775798E-03 +219 6.360000E+00 -2.160956E-02 4.415202E-03 +220 6.380000E+00 -2.163701E-02 -2.615423E-03 +221 6.400000E+00 -2.146714E-02 -1.531608E-02 +222 6.420000E+00 -2.107402E-02 -2.337955E-02 +223 6.440000E+00 -2.055660E-02 -2.774728E-02 +224 6.460000E+00 -1.998877E-02 -2.841924E-02 +225 6.480000E+00 -1.944446E-02 -2.539546E-02 +226 6.500000E+00 -1.899759E-02 -1.867591E-02 +227 6.520000E+00 -1.869042E-02 -1.259095E-02 +228 6.540000E+00 -1.847196E-02 -9.804901E-03 +229 6.560000E+00 -1.827623E-02 -1.031775E-02 +230 6.580000E+00 -1.803726E-02 -1.412951E-02 +231 6.600000E+00 -1.768906E-02 -2.124018E-02 +232 6.620000E+00 -1.710949E-02 -3.551655E-02 +233 6.640000E+00 -1.631641E-02 -4.259122E-02 +234 6.660000E+00 -1.545385E-02 -4.246419E-02 +235 6.680000E+00 -1.466585E-02 -3.513545E-02 +236 6.700000E+00 -1.409644E-02 -2.060502E-02 +237 6.720000E+00 -1.374966E-02 -1.461056E-02 +238 6.740000E+00 -1.349054E-02 -1.183851E-02 +239 6.760000E+00 -1.325464E-02 -1.228886E-02 +240 6.780000E+00 -1.297750E-02 -1.596163E-02 +241 6.800000E+00 -1.259469E-02 -2.285680E-02 +242 6.820000E+00 -1.213049E-02 -2.349903E-02 +243 6.840000E+00 -1.165728E-02 -2.375897E-02 +244 6.860000E+00 -1.118268E-02 -2.363664E-02 +245 6.880000E+00 -1.071436E-02 -2.313203E-02 +246 6.900000E+00 -1.025995E-02 -2.224514E-02 +247 6.920000E+00 -9.817276E-03 -2.203990E-02 +248 6.940000E+00 -9.377653E-03 -2.193988E-02 +249 6.960000E+00 -8.938979E-03 -2.194508E-02 +250 6.980000E+00 -8.499148E-03 -2.205550E-02 +251 7.000000E+00 -8.056057E-03 -2.227113E-02 +252 7.020000E+00 -7.597830E-03 -2.345789E-02 +253 7.040000E+00 -7.121492E-03 -2.408210E-02 +254 7.060000E+00 -6.638296E-03 -2.414376E-02 +255 7.080000E+00 -6.159492E-03 -2.364288E-02 +256 7.100000E+00 -5.696331E-03 -2.257946E-02 +257 7.120000E+00 -5.301441E-03 -1.729553E-02 +258 7.140000E+00 -4.989070E-03 -1.432759E-02 +259 7.160000E+00 -4.712898E-03 -1.367562E-02 +260 7.180000E+00 -4.426605E-03 -1.533964E-02 +261 7.200000E+00 -4.083872E-03 -1.931964E-02 +262 7.220000E+00 -3.631995E-03 -2.538390E-02 +263 7.240000E+00 -3.087883E-03 -2.854317E-02 +264 7.260000E+00 -2.509635E-03 -2.879748E-02 +265 7.280000E+00 -1.955351E-03 -2.614680E-02 +266 7.300000E+00 -1.483130E-03 -2.059115E-02 +267 7.320000E+00 -1.113389E-03 -1.639767E-02 +268 7.340000E+00 -8.266321E-04 -1.229279E-02 +269 7.360000E+00 -6.210869E-04 -8.276492E-03 +270 7.380000E+00 -4.949818E-04 -4.348786E-03 +271 7.400000E+00 -4.465449E-04 -5.096684E-04 +272 7.420000E+00 -5.304321E-04 8.162452E-03 +273 7.440000E+00 -7.436056E-04 1.241897E-02 +274 7.460000E+00 -9.977534E-04 1.225988E-02 +275 7.480000E+00 -1.204563E-03 7.685191E-03 +276 7.500000E+00 -1.275724E-03 -1.305104E-03 +277 7.520000E+00 -1.199415E-03 -5.916706E-03 +278 7.540000E+00 -1.055417E-03 -8.074089E-03 +279 7.560000E+00 -8.928131E-04 -7.777253E-03 +280 7.580000E+00 -7.606883E-04 -5.026198E-03 +281 7.600000E+00 -7.081267E-04 1.790768E-04 +282 7.620000E+00 -7.213835E-04 1.157786E-03 +283 7.640000E+00 -7.548855E-04 2.203601E-03 +284 7.660000E+00 -8.099749E-04 3.316523E-03 +285 7.680000E+00 -8.879938E-04 4.496550E-03 +286 7.700000E+00 -9.902843E-04 5.743685E-03 +287 7.720000E+00 -1.122403E-03 7.421734E-03 +288 7.740000E+00 -1.285295E-03 8.820936E-03 +289 7.760000E+00 -1.473382E-03 9.941291E-03 +290 7.780000E+00 -1.681087E-03 1.078280E-02 +291 7.800000E+00 -1.902835E-03 1.134546E-02 +292 7.820000E+00 -2.225281E-03 2.008573E-02 +293 7.840000E+00 -2.673724E-03 2.394500E-02 +294 7.860000E+00 -3.150542E-03 2.292328E-02 +295 7.880000E+00 -3.558115E-03 1.702056E-02 +296 7.900000E+00 -3.798824E-03 6.236836E-03 +297 7.920000E+00 -3.844315E-03 -1.142168E-03 +298 7.940000E+00 -3.774961E-03 -5.247538E-03 +299 7.960000E+00 -3.656237E-03 -6.079274E-03 +300 7.980000E+00 -3.553615E-03 -3.637376E-03 +301 8.000000E+00 -3.532566E-03 2.078155E-03 +302 8.020000E+00 -3.611956E-03 5.494873E-03 +303 8.040000E+00 -3.737724E-03 6.716053E-03 +304 8.060000E+00 -3.865961E-03 5.741694E-03 +305 8.080000E+00 -3.952755E-03 2.571796E-03 +306 8.100000E+00 -3.954196E-03 -2.793640E-03 +307 8.120000E+00 -3.873685E-03 -5.086591E-03 +308 8.140000E+00 -3.757567E-03 -6.354313E-03 +309 8.160000E+00 -3.626347E-03 -6.596805E-03 +310 8.180000E+00 -3.500530E-03 -5.814068E-03 +311 8.200000E+00 -3.400620E-03 -4.006101E-03 +312 8.220000E+00 -3.334411E-03 -2.730570E-03 +313 8.240000E+00 -3.286762E-03 -2.150229E-03 +314 8.260000E+00 -3.243768E-03 -2.265076E-03 +315 8.280000E+00 -3.191524E-03 -3.075114E-03 +316 8.300000E+00 -3.116129E-03 -4.580340E-03 +317 8.320000E+00 -2.964210E-03 -1.014102E-02 +318 8.340000E+00 -2.729309E-03 -1.287854E-02 +319 8.360000E+00 -2.467889E-03 -1.279292E-02 +320 8.380000E+00 -2.236413E-03 -9.884157E-03 +321 8.400000E+00 -2.091344E-03 -4.152240E-03 +322 8.420000E+00 -2.034875E-03 -1.692189E-03 +323 8.440000E+00 -2.015752E-03 -4.177491E-04 +324 8.460000E+00 -2.010261E-03 -3.289192E-04 +325 8.480000E+00 -1.994691E-03 -1.425700E-03 +326 8.500000E+00 -1.945329E-03 -3.708091E-03 +327 8.520000E+00 -1.867098E-03 -4.115259E-03 +328 8.540000E+00 -1.780711E-03 -4.523663E-03 +329 8.560000E+00 -1.686143E-03 -4.933304E-03 +330 8.580000E+00 -1.583370E-03 -5.344181E-03 +331 8.600000E+00 -1.472368E-03 -5.756296E-03 +332 8.620000E+00 -1.328792E-03 -8.394009E-03 +333 8.640000E+00 -1.144899E-03 -9.787974E-03 +334 8.660000E+00 -9.455644E-04 -9.938189E-03 +335 8.680000E+00 -7.556630E-04 -8.844656E-03 +336 8.700000E+00 -6.000698E-04 -6.507373E-03 +337 8.720000E+00 -5.364035E-04 -3.286769E-04 +338 8.740000E+00 -5.681458E-04 3.033482E-03 +339 8.760000E+00 -6.389659E-04 3.579102E-03 +340 8.780000E+00 -6.925330E-04 1.308185E-03 +341 8.800000E+00 -6.725164E-04 -3.779270E-03 +342 8.820000E+00 -5.113768E-04 -1.169180E-02 +343 8.840000E+00 -2.305599E-04 -1.574700E-02 +344 8.860000E+00 9.278768E-05 -1.594487E-02 +345 8.880000E+00 3.815195E-04 -1.228542E-02 +346 8.900000E+00 5.584889E-04 -4.768636E-03 +347 8.920000E+00 6.079481E-04 -2.335309E-04 +348 8.940000E+00 5.700798E-04 3.964121E-03 +349 8.960000E+00 4.516330E-04 7.824320E-03 +350 8.980000E+00 2.593567E-04 1.134707E-02 +351 9.000000E+00 0.000000E+00 1.453236E-02 diff --git a/examples/USER/dpdext/dpdext_tstat/in.cg_spce b/examples/USER/dpdext/dpdext_tstat/in.cg_spce new file mode 100755 index 0000000000..ea1a3dfcba --- /dev/null +++ b/examples/USER/dpdext/dpdext_tstat/in.cg_spce @@ -0,0 +1,31 @@ +# Coarse-Grained SPC/E Water + +variable T equal 300.0 +variable rc equal 9.0 +variable rcD equal 10.0 + +units real +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +read_data cg_spce.data + +pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 + +pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} +pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} + +timestep 1.0 +run_style verlet + +velocity all create ${T} 68768932 + +thermo_style custom step time temp press +thermo 10 + +fix 1 all nve + +run 2000 diff --git a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 b/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 new file mode 100644 index 0000000000..6916a5dd6e --- /dev/null +++ b/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 @@ -0,0 +1,293 @@ +LAMMPS (10 Mar 2021) +# Coarse-Grained SPC/E Water + +variable T equal 300.0 +variable rc equal 9.0 +variable rcD equal 10.0 + +units real +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +read_data cg_spce.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (40.310000 40.310000 40.310000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2180 atoms + read_data CPU = 0.037 seconds + +pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 9 385262 + +pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} +pair_coeff 1 1 table cg_spce_table.pot VOTCA 9 +WARNING: 16 of 351 force values in table VOTCA are inconsistent with -dE/dr. + Should only be flagged at inflection points (../pair_table.cpp:461) +pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} +pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 10 + +timestep 1.0 +run_style verlet + +velocity all create ${T} 68768932 +velocity all create 300 68768932 + +thermo_style custom step time temp press +thermo 10 + +fix 1 all nve + +run 2000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 7 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) pair dpdext/tstat, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 5.380 | 5.380 | 5.380 Mbytes +Step Time Temp Press + 0 0 300 7368.7186 + 10 10 298.34842 6443.6033 + 20 20 303.36187 9303.0158 + 30 30 301.59356 7533.7912 + 40 40 300.97217 5623.9089 + 50 50 300.31652 9105.8093 + 60 60 296.92173 9213.304 + 70 70 294.36593 12701.327 + 80 80 295.30077 6098.4732 + 90 90 296.35396 8051.719 + 100 100 293.72532 5555.983 + 110 110 290.95711 9001.8346 + 120 120 290.91972 10264.241 + 130 130 294.14911 11450.959 + 140 140 299.11994 7244.1639 + 150 150 301.20082 7675.7516 + 160 160 300.71883 9718.1901 + 170 170 295.47176 8931.1414 + 180 180 290.45284 7381.7674 + 190 190 291.66922 11028.436 + 200 200 294.0543 11897.269 + 210 210 299.17955 8939.2171 + 220 220 298.45193 8047.038 + 230 230 300.48548 10033.64 + 240 240 299.24752 6310.7247 + 250 250 304.51487 8710.5626 + 260 260 303.6513 5230.8162 + 270 270 300.76074 12164.773 + 280 280 302.60275 11145.98 + 290 290 297.22957 9521.4384 + 300 300 297.1365 7446.9006 + 310 310 292.18323 8021.8344 + 320 320 295.03958 9130.8594 + 330 330 293.9622 4647.512 + 340 340 290.77751 8001.486 + 350 350 292.34687 11887.668 + 360 360 295.95968 9262.148 + 370 370 293.50476 4181.549 + 380 380 288.69498 7632.071 + 390 390 289.63957 5130.0205 + 400 400 295.02212 5643.5024 + 410 410 296.3944 7267.235 + 420 420 299.22019 7149.9305 + 430 430 298.36689 8384.595 + 440 440 295.33149 10515.75 + 450 450 294.76959 11569.389 + 460 460 300.141 7272.4453 + 470 470 299.14431 7792.5419 + 480 480 302.3697 5837.8675 + 490 490 301.94692 6999.1059 + 500 500 300.25929 4885.3948 + 510 510 302.50013 8231.0438 + 520 520 300.76412 8445.0349 + 530 530 298.5016 9110.432 + 540 540 301.14513 9348.6421 + 550 550 297.36425 10753.314 + 560 560 296.50046 10476.823 + 570 570 300.57267 9889.7968 + 580 580 300.4868 8377.423 + 590 590 296.65103 6859.32 + 600 600 298.50013 7080.5995 + 610 610 300.28274 9502.5438 + 620 620 298.45508 8819.7846 + 630 630 300.24859 6291.4944 + 640 640 299.38719 7430.2366 + 650 650 297.91915 9435.3218 + 660 660 300.61208 6287.9931 + 670 670 303.59291 8357.7639 + 680 680 301.85511 1697.3038 + 690 690 298.96873 5210.2286 + 700 700 298.09035 7510.4359 + 710 710 303.11692 10129.526 + 720 720 302.65473 10488.388 + 730 730 300.15444 7118.5953 + 740 740 300.19245 10582.032 + 750 750 296.73618 6538.0363 + 760 760 299.72857 7588.9487 + 770 770 299.00347 6633.9983 + 780 780 301.38129 8053.5347 + 790 790 298.54819 8711.4965 + 800 800 305.54197 9717.9727 + 810 810 302.96497 7582.0444 + 820 820 306.81537 9433.6446 + 830 830 309.16373 10088.582 + 840 840 313.53881 9509.8624 + 850 850 310.82992 5366.015 + 860 860 306.49798 8499.9157 + 870 870 308.93421 5690.3242 + 880 880 302.56668 5526.3636 + 890 890 306.72501 7380.8469 + 900 900 308.87199 10388.13 + 910 910 312.7367 6613.0734 + 920 920 308.34508 5903.4291 + 930 930 306.39924 8615.6622 + 940 940 310.37544 6849.4694 + 950 950 310.13051 6188.7605 + 960 960 308.68049 7637.532 + 970 970 302.85465 6448.7926 + 980 980 307.40719 8763.0959 + 990 990 304.02815 8373.6518 + 1000 1000 300.69539 5682.6678 + 1010 1010 299.16385 6012.246 + 1020 1020 305.118 7913.4144 + 1030 1030 304.20382 10580.788 + 1040 1040 302.91134 7698.4548 + 1050 1050 298.08593 8952.6724 + 1060 1060 302.56196 10602.997 + 1070 1070 305.98211 12174.358 + 1080 1080 305.70253 12288.219 + 1090 1090 303.22805 7922.7166 + 1100 1100 301.54879 5031.3836 + 1110 1110 302.57611 8547.4189 + 1120 1120 302.00845 12966.595 + 1130 1130 296.10912 4514.1707 + 1140 1140 295.11601 6543.7239 + 1150 1150 287.29188 6453.3386 + 1160 1160 284.83881 7168.9427 + 1170 1170 289.77871 7895.7434 + 1180 1180 293.48011 7680.6885 + 1190 1190 295.69035 8609.6593 + 1200 1200 296.0653 7343.68 + 1210 1210 302.72922 6973.6048 + 1220 1220 304.11805 7322.7664 + 1230 1230 300.24647 6418.2612 + 1240 1240 293.24074 9039.1214 + 1250 1250 300.56214 7877.4055 + 1260 1260 308.03086 5644.2135 + 1270 1270 311.12289 6875.5126 + 1280 1280 307.83182 7204.9894 + 1290 1290 309.58491 9993.2255 + 1300 1300 305.36536 8626.859 + 1310 1310 304.35084 3471.1205 + 1320 1320 304.40125 2149.2701 + 1330 1330 295.74547 6252.9592 + 1340 1340 293.16034 3407.4408 + 1350 1350 298.6302 10139.977 + 1360 1360 300.46627 7312.9011 + 1370 1370 298.00367 2780.8886 + 1380 1380 300.97807 9403.3451 + 1390 1390 294.32612 12005.453 + 1400 1400 296.13403 5569.4907 + 1410 1410 297.86152 9558.6064 + 1420 1420 303.01992 8678.345 + 1430 1430 298.53849 5544.6316 + 1440 1440 293.60633 12879.765 + 1450 1450 296.28813 9312.4229 + 1460 1460 292.64466 8344.5877 + 1470 1470 295.28975 7689.9396 + 1480 1480 300.10761 7436.7346 + 1490 1490 291.6152 8909.6757 + 1500 1500 286.644 9756.5014 + 1510 1510 294.52064 10383.164 + 1520 1520 297.49618 4972.89 + 1530 1530 295.63379 6192.5729 + 1540 1540 295.04528 4987.7191 + 1550 1550 290.41403 7013.6076 + 1560 1560 295.62326 7222.5009 + 1570 1570 299.90584 4282.5688 + 1580 1580 299.04532 7885.433 + 1590 1590 300.03907 5508.0652 + 1600 1600 298.05683 9262.3744 + 1610 1610 297.50015 9544.6913 + 1620 1620 303.21217 6393.6756 + 1630 1630 304.44383 9674.6583 + 1640 1640 302.68977 9065.4408 + 1650 1650 303.62415 6851.1575 + 1660 1660 306.11103 8592.0481 + 1670 1670 300.84566 8483.551 + 1680 1680 303.92882 10113.096 + 1690 1690 305.02534 7389.9402 + 1700 1700 303.52902 5541.9256 + 1710 1710 299.27905 9547.7344 + 1720 1720 294.14366 7269.2402 + 1730 1730 299.49977 8086.0601 + 1740 1740 298.66942 7026.6067 + 1750 1750 296.94428 9595.2435 + 1760 1760 297.36921 6268.7436 + 1770 1770 299.88423 10598.189 + 1780 1780 293.76868 7405.7641 + 1790 1790 297.19444 10837.102 + 1800 1800 296.46054 8345.699 + 1810 1810 299.06801 5256.5992 + 1820 1820 294.17725 5510.7529 + 1830 1830 286.78527 6310.8881 + 1840 1840 284.89686 8249.1144 + 1850 1850 293.79389 4578.9263 + 1860 1860 298.31279 8752.305 + 1870 1870 295.31087 8401.2736 + 1880 1880 298.13297 4354.8694 + 1890 1890 298.90786 11454.088 + 1900 1900 299.1416 9121.4138 + 1910 1910 296.43134 12157.884 + 1920 1920 292.05445 8613.1522 + 1930 1930 300.3421 7898.3626 + 1940 1940 304.55746 6311.259 + 1950 1950 304.03899 8789.3537 + 1960 1960 305.08259 7243.5622 + 1970 1970 304.0858 8712.4796 + 1980 1980 299.14574 5166.3501 + 1990 1990 300.07254 10019.769 + 2000 2000 301.78176 8789.7968 +Loop time of 79.8698 on 1 procs for 2000 steps with 2180 atoms + +Performance: 2.164 ns/day, 11.093 hours/ns, 25.041 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 79.378 | 79.378 | 79.378 | 0.0 | 99.38 +Neigh | 0.22454 | 0.22454 | 0.22454 | 0.0 | 0.28 +Comm | 0.17969 | 0.17969 | 0.17969 | 0.0 | 0.22 +Output | 0.0063846 | 0.0063846 | 0.0063846 | 0.0 | 0.01 +Modify | 0.044496 | 0.044496 | 0.044496 | 0.0 | 0.06 +Other | | 0.03671 | | | 0.05 + +Nlocal: 2180.00 ave 2180 max 2180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6693.00 ave 6693 max 6693 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 261496.0 ave 261496 max 261496 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 261496 +Ave neighs/atom = 119.95229 +Neighbor list builds = 25 +Dangerous builds = 0 +Total wall time: 0:01:20 diff --git a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 b/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 new file mode 100644 index 0000000000..890414d580 --- /dev/null +++ b/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 @@ -0,0 +1,293 @@ +LAMMPS (10 Mar 2021) +# Coarse-Grained SPC/E Water + +variable T equal 300.0 +variable rc equal 9.0 +variable rcD equal 10.0 + +units real +boundary p p p +atom_style atomic +dimension 3 +newton on +comm_modify vel yes + +read_data cg_spce.data +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (40.310000 40.310000 40.310000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 2180 atoms + read_data CPU = 0.012 seconds + +pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 9 385262 + +pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} +pair_coeff 1 1 table cg_spce_table.pot VOTCA 9 +WARNING: 16 of 351 force values in table VOTCA are inconsistent with -dE/dr. + Should only be flagged at inflection points (../pair_table.cpp:461) +pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} +pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 10 + +timestep 1.0 +run_style verlet + +velocity all create ${T} 68768932 +velocity all create 300 68768932 + +thermo_style custom step time temp press +thermo 10 + +fix 1 all nve + +run 2000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 7 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) pair dpdext/tstat, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 3.695 | 3.696 | 3.697 Mbytes +Step Time Temp Press + 0 0 300 5965.5396 + 10 10 303.16391 8779.1574 + 20 20 306.9014 8268.573 + 30 30 305.84291 9976.0547 + 40 40 301.20527 8832.3902 + 50 50 305.72012 8041.0146 + 60 60 305.1676 7118.8042 + 70 70 305.01132 9423.9307 + 80 80 308.10236 10781.423 + 90 90 309.18703 3637.9961 + 100 100 305.11814 7726.7672 + 110 110 298.37346 8575.1602 + 120 120 304.79786 8910.8048 + 130 130 309.05401 6351.4839 + 140 140 304.28367 4805.137 + 150 150 300.28903 7412.6411 + 160 160 299.39358 10183.593 + 170 170 296.80729 5437.1054 + 180 180 295.2755 8317.0414 + 190 190 303.25949 8338.3453 + 200 200 303.24607 9636.5224 + 210 210 298.56684 10288.264 + 220 220 293.42999 9001.0482 + 230 230 293.12497 9083.5194 + 240 240 291.92847 9659.3388 + 250 250 299.2202 6328.759 + 260 260 297.45209 10405.677 + 270 270 292.12257 7273.9369 + 280 280 289.81113 8957.8747 + 290 290 299.06683 6695.3776 + 300 300 300.75468 6298.5705 + 310 310 296.26524 7432.4815 + 320 320 294.21403 9941.7038 + 330 330 293.01776 4750.2993 + 340 340 295.22553 4968.3595 + 350 350 293.95589 9224.5496 + 360 360 297.94278 8792.0395 + 370 370 298.99075 5453.7814 + 380 380 302.1188 6229.2283 + 390 390 298.48943 8517.5273 + 400 400 295.3701 11328.394 + 410 410 287.74238 4058.0382 + 420 420 288.83732 5706.6773 + 430 430 298.8242 6178.7142 + 440 440 304.42682 10138.321 + 450 450 300.28695 9731.3417 + 460 460 300.34539 9249.4691 + 470 470 303.32231 11638.718 + 480 480 301.46777 4186.402 + 490 490 292.56069 9184.8386 + 500 500 297.26162 11766.733 + 510 510 295.34018 6436.33 + 520 520 300.16314 9325.3669 + 530 530 305.00513 5947.6408 + 540 540 300.88805 5222.7384 + 550 550 301.56707 6669.1808 + 560 560 304.89854 10730.053 + 570 570 299.50424 7956.1042 + 580 580 301.23382 10192.246 + 590 590 298.81222 6017.2125 + 600 600 300.57891 4575.433 + 610 610 301.95936 6309.7515 + 620 620 301.09393 5993.6489 + 630 630 300.47565 4388.7137 + 640 640 299.31886 9535.6093 + 650 650 295.06025 7954.5811 + 660 660 298.72666 8630.7466 + 670 670 302.53833 5636.1305 + 680 680 306.32833 12539.149 + 690 690 296.1951 11345.293 + 700 700 297.00325 6352.1448 + 710 710 298.51181 6922.4379 + 720 720 293.80125 4849.4922 + 730 730 296.52677 11141.583 + 740 740 294.15306 3527.8677 + 750 750 294.74737 8454.0815 + 760 760 292.53913 8187.9032 + 770 770 294.37078 7487.5703 + 780 780 297.50085 9198.7697 + 790 790 298.37773 8969.0024 + 800 800 293.29879 6506.6479 + 810 810 296.58266 8805.7872 + 820 820 290.85616 5248.8123 + 830 830 292.29488 5123.8203 + 840 840 292.77623 8263.5675 + 850 850 297.88225 6777.7444 + 860 860 300.01913 10439.087 + 870 870 295.79578 7318.1322 + 880 880 301.5994 8242.4774 + 890 890 306.63208 8090.6106 + 900 900 303.53759 6831.2666 + 910 910 300.70481 3811.0498 + 920 920 299.96274 8351.1573 + 930 930 299.67435 7046.0534 + 940 940 310.81742 6887.6925 + 950 950 305.09984 4811.088 + 960 960 301.33039 4184.851 + 970 970 301.19205 6417.6542 + 980 980 299.6491 7738.2233 + 990 990 297.33655 9264.0874 + 1000 1000 302.33418 7166.2751 + 1010 1010 300.08402 9121.0882 + 1020 1020 302.82225 6405.7109 + 1030 1030 304.01683 6944.0839 + 1040 1040 305.82618 6160.3838 + 1050 1050 308.12518 4356.0931 + 1060 1060 307.64811 6954.7245 + 1070 1070 313.70509 5558.9804 + 1080 1080 316.09239 7250.6147 + 1090 1090 310.2845 5441.3722 + 1100 1100 300.18899 4417.8774 + 1110 1110 304.02471 5609.1668 + 1120 1120 303.46016 10355.031 + 1130 1130 305.68165 6400.913 + 1140 1140 308.78348 7235.1894 + 1150 1150 299.30025 9246.4856 + 1160 1160 302.70799 9866.9536 + 1170 1170 302.0977 8643.5532 + 1180 1180 307.15407 8866.4664 + 1190 1190 305.78146 7562.4911 + 1200 1200 302.54605 7974.9973 + 1210 1210 306.14264 9554.2381 + 1220 1220 308.89843 6219.5361 + 1230 1230 305.71844 7633.9105 + 1240 1240 306.51911 7705.4795 + 1250 1250 304.78473 8590.5595 + 1260 1260 300.82969 9281.5964 + 1270 1270 305.9271 4951.1323 + 1280 1280 310.32728 9446.3989 + 1290 1290 318.27879 9102.5544 + 1300 1300 310.45777 5931.5457 + 1310 1310 304.81268 1214.4291 + 1320 1320 307.08811 10315.961 + 1330 1330 306.86917 8584.9658 + 1340 1340 307.26912 7254.864 + 1350 1350 310.02754 8508.6256 + 1360 1360 306.12763 4912.6641 + 1370 1370 301.67924 6715.8196 + 1380 1380 298.37239 6149.8821 + 1390 1390 299.62894 8181.4761 + 1400 1400 301.60395 6714.4244 + 1410 1410 297.65752 7035.6575 + 1420 1420 297.02817 7510.2637 + 1430 1430 303.59177 10361.937 + 1440 1440 300.10771 8473.2311 + 1450 1450 291.21837 6097.9954 + 1460 1460 291.58663 7729.0841 + 1470 1470 292.52447 6555.8661 + 1480 1480 294.48264 6960.0201 + 1490 1490 298.34869 8044.2321 + 1500 1500 296.8193 11731.289 + 1510 1510 296.52073 5452.8935 + 1520 1520 294.54819 9591.7969 + 1530 1530 297.36394 5148.5383 + 1540 1540 289.08137 6057.0981 + 1550 1550 288.27007 8965.1965 + 1560 1560 294.84398 8316.9487 + 1570 1570 299.79573 8760.7322 + 1580 1580 295.66745 5045.5322 + 1590 1590 298.14356 7161.1834 + 1600 1600 297.10402 6529.9938 + 1610 1610 299.69137 7741.6027 + 1620 1620 304.93043 11222.109 + 1630 1630 302.01322 10893.107 + 1640 1640 295.47422 8400.3124 + 1650 1650 301.93122 7190.2609 + 1660 1660 305.02639 6140.5552 + 1670 1670 302.86047 8651.5366 + 1680 1680 304.82151 9909.407 + 1690 1690 300.48426 8428.8845 + 1700 1700 293.06643 5333.8144 + 1710 1710 295.43687 9103.4353 + 1720 1720 298.77208 8162.1053 + 1730 1730 300.08189 9603.4371 + 1740 1740 303.16004 10693.291 + 1750 1750 303.54199 9151.023 + 1760 1760 300.99281 4641.2985 + 1770 1770 297.36657 3888.5753 + 1780 1780 298.32969 7286.2299 + 1790 1790 297.34183 8975.8956 + 1800 1800 295.83042 6366.7607 + 1810 1810 295.92044 9308.4953 + 1820 1820 298.10087 7117.2369 + 1830 1830 296.13936 4849.3739 + 1840 1840 296.5869 8321.4011 + 1850 1850 296.74513 9530.6806 + 1860 1860 298.57398 8788.0603 + 1870 1870 299.12825 6015.4777 + 1880 1880 301.91639 11706.441 + 1890 1890 309.85968 10909.493 + 1900 1900 302.64998 8779.8967 + 1910 1910 301.62919 9176.3902 + 1920 1920 300.66238 5369.8681 + 1930 1930 297.64499 8185.09 + 1940 1940 296.47852 10188.803 + 1950 1950 297.802 6679.4466 + 1960 1960 299.78754 7316.8198 + 1970 1970 300.09083 6008.9414 + 1980 1980 297.94119 5615.6403 + 1990 1990 298.37687 9727.308 + 2000 2000 296.08394 6400.2746 +Loop time of 40.5503 on 4 procs for 2000 steps with 2180 atoms + +Performance: 4.261 ns/day, 5.632 hours/ns, 49.321 timesteps/s +99.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 37.953 | 38.022 | 38.132 | 1.1 | 93.77 +Neigh | 0.10585 | 0.10835 | 0.10994 | 0.5 | 0.27 +Comm | 2.2287 | 2.3368 | 2.405 | 4.6 | 5.76 +Output | 0.0072037 | 0.0081832 | 0.011022 | 1.8 | 0.02 +Modify | 0.023132 | 0.024188 | 0.025948 | 0.7 | 0.06 +Other | | 0.05032 | | | 0.12 + +Nlocal: 545.000 ave 559 max 531 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Nghost: 3619.00 ave 3655 max 3594 min +Histogram: 1 1 0 0 1 0 0 0 0 1 +Neighs: 65415.5 ave 66835 max 64310 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 261662 +Ave neighs/atom = 120.02844 +Neighbor list builds = 26 +Dangerous builds = 0 +Total wall time: 0:00:40 diff --git a/src/Makefile b/src/Makefile index 679cbe7b97..41d2a91c31 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,7 +52,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ python qeq replica rigid shock snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ - user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ + user-diffraction user-dpd user-dpdext user-drude user-eff user-fep user-h5md \ user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ user-mgpt user-misc user-mofff user-molfile \ user-netcdf user-omp user-phonon user-plumed user-ptm user-qmmm \ diff --git a/src/USER-DPDEXT/README b/src/USER-DPDEXT/README new file mode 100644 index 0000000000..73f8d047f8 --- /dev/null +++ b/src/USER-DPDEXT/README @@ -0,0 +1,10 @@ +Martin Svoboda (ICPF, UJEP) - svobod.martin@gmail.com +Karel Sindelka (ICPF) - sindelka@icpf.cas.cz +Martin Lisal (ICPF, UJEP) - lisal@icpf.cas.cz + +This package implements a generalised force field for dissipative +particle dynamics (DPD). The extension divides contributions +of dissipative and random forces to parrallel and perpendicular parts. +See the doc pages for "pair_style dpdext" and "pair_style dpdext/tstat". + +There are example scripts for using this package in examples/USER/dpdext. diff --git a/src/USER-DPDEXT/pair_dpd_ext.cpp b/src/USER-DPDEXT/pair_dpd_ext.cpp new file mode 100644 index 0000000000..e5405cf071 --- /dev/null +++ b/src/USER-DPDEXT/pair_dpd_ext.cpp @@ -0,0 +1,496 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Kurt Smith (U Pittsburgh) +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lísal (ICPF, UJEP) +------------------------------------------------------------------------- */ +#include "pair_dpd_ext.h" + +#include +#include "atom.h" +#include "comm.h" +#include "update.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" + + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-10 + +/* ---------------------------------------------------------------------- */ + +PairDPDExt::PairDPDExt(LAMMPS *lmp) : Pair(lmp) +{ + writedata = 1; + random = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +PairDPDExt::~PairDPDExt() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(cut); + memory->destroy(a0); + memory->destroy(gamma); + memory->destroy(gammaT); + memory->destroy(sigma); + memory->destroy(sigmaT); + memory->destroy(ws); + memory->destroy(wsT); + } + + if (random) delete random; +} + +/* ---------------------------------------------------------------------- */ + +void PairDPDExt::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpairx,fpairy,fpairz,fpair; + double vxtmp,vytmp,vztmp,delvx,delvy,delvz; + double rsq,r,rinv,dot,wd,wdPar,wdPerp,randnum,randnumx,randnumy,randnumz,factor_dpd; + double P[3][3]; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double dtinvsqrt = 1.0/sqrt(update->dt); + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + vxtmp = v[i][0]; + vytmp = v[i][1]; + vztmp = v[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_dpd = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r = sqrt(rsq); + if (r < EPSILON) continue; // r can be 0.0 in DPD systems + rinv = 1.0/r; + delvx = vxtmp - v[j][0]; + delvy = vytmp - v[j][1]; + delvz = vztmp - v[j][2]; + dot = delx*delvx + dely*delvy + delz*delvz; + + P[0][0] = 1.0 - delx*delx*rinv*rinv; + P[0][1] = - delx*dely*rinv*rinv; + P[0][2] = - delx*delz*rinv*rinv; + + P[1][0] = P[0][1]; + P[1][1] = 1.0 - dely*dely*rinv*rinv; + P[1][2] = - dely*delz*rinv*rinv; + + P[2][0] = P[0][2]; + P[2][1] = P[1][2]; + P[2][2] = 1.0 - delz*delz*rinv*rinv; + + wd = 1.0 - r/cut[itype][jtype]; + wdPar = pow(wd,ws[itype][jtype]); + wdPerp = pow(wd,wsT[itype][jtype]); + + randnum = random->gaussian(); + randnumx = random->gaussian(); + randnumy = random->gaussian(); + randnumz = random->gaussian(); + + // conservative force + fpair = a0[itype][jtype]*wd; + + // drag force - parallel + fpair -= gamma[itype][jtype]*wdPar*wdPar*dot*rinv; + + // random force - parallel + fpair += sigma[itype][jtype]*wdPar*randnum*dtinvsqrt; + + fpairx = fpair*rinv*delx; + fpairy = fpair*rinv*dely; + fpairz = fpair*rinv*delz; + + // drag force - perpendicular + fpairx -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[0][0]*delvx + P[0][1]*delvy + P[0][2]*delvz); + fpairy -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[1][0]*delvx + P[1][1]*delvy + P[1][2]*delvz); + fpairz -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[2][0]*delvx + P[2][1]*delvy + P[2][2]*delvz); + + // random force - perpendicular + fpairx += sigmaT[itype][jtype]*wdPerp* + (P[0][0]*randnumx + P[0][1]*randnumy + P[0][2]*randnumz)*dtinvsqrt; + fpairy += sigmaT[itype][jtype]*wdPerp* + (P[1][0]*randnumx + P[1][1]*randnumy + P[1][2]*randnumz)*dtinvsqrt; + fpairz += sigmaT[itype][jtype]*wdPerp* + (P[2][0]*randnumx + P[2][1]*randnumy + P[2][2]*randnumz)*dtinvsqrt; + + fpairx *= factor_dpd; + fpairy *= factor_dpd; + fpairz *= factor_dpd; + + f[i][0] += fpairx; + f[i][1] += fpairy; + f[i][2] += fpairz; + if (newton_pair || j < nlocal) { + f[j][0] -= fpairx; + f[j][1] -= fpairy; + f[j][2] -= fpairz; + } + + if (eflag) { + // unshifted eng of conservative term: + // evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]); + // eng shifted to 0.0 at cutoff + evdwl = 0.5*a0[itype][jtype]*cut[itype][jtype] * wd*wd; + evdwl *= factor_dpd; + } + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,0.0, + fpairx, fpairy, fpairz, + delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairDPDExt::allocate() +{ + int i,j; + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (i = 1; i <= n; i++) + for (j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(cut,n+1,n+1,"pair:cut"); + memory->create(a0,n+1,n+1,"pair:a0"); + memory->create(gamma,n+1,n+1,"pair:gamma"); + memory->create(gammaT,n+1,n+1,"pair:gammaT"); + memory->create(sigma,n+1,n+1,"pair:sigma"); + memory->create(sigmaT,n+1,n+1,"pair:sigmaT"); + memory->create(ws,n+1,n+1,"pair:ws"); + memory->create(wsT,n+1,n+1,"pair:wsT"); + for (i = 0; i <= atom->ntypes; i++) + { + for (j = 0; j <= atom->ntypes; j++) + { + sigma[i][j] = gamma[i][j] =sigmaT[i][j] = gammaT[i][j] = 0.0; + ws[i][j] = wsT[i][j] = 1.0; + } + } +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairDPDExt::settings(int narg, char **arg) +{ + if (narg != 3) error->all(FLERR,"Illegal pair_style command"); + + temperature = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); + seed = utils::inumeric(FLERR,arg[2],false,lmp); + + // initialize Marsaglia RNG with processor-unique seed + + if (seed <= 0) error->all(FLERR,"Illegal pair_style command"); + delete random; + random = new RanMars(lmp,seed + comm->me); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut[i][j] = cut_global; + cutsq[i][j] = cut_global*cut_global; + } + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairDPDExt::coeff(int narg, char **arg) +{ + if (narg < 7 || narg > 8) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); + double gammaT_one = utils::numeric(FLERR,arg[4],false,lmp); + double ws_one = utils::numeric(FLERR,arg[5],false,lmp); + double wsT_one = utils::numeric(FLERR,arg[6],false,lmp); + + double cut_one = cut_global; + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + a0[i][j] = a0_one; + gamma[i][j] = gamma_one; + gammaT[i][j] = gammaT_one; + ws[i][j] = ws_one; + wsT[i][j] = wsT_one; + cut[i][j] = cut_one; + cutsq[i][j] = cut_one*cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairDPDExt::init_style() +{ + if (comm->ghost_velocity == 0) + error->all(FLERR,"Pair dpd requires ghost atoms store velocity"); + + // if newton off, forces between atoms ij will be double computed + // using different random numbers + + if (force->newton_pair == 0 && comm->me == 0) error->warning(FLERR, + "Pair dpd needs newton pair on for momentum conservation"); + + neighbor->request(this,instance_me); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairDPDExt::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + sigma[i][j] = sqrt(2.0*force->boltz*temperature*gamma[i][j]); + sigmaT[i][j] = sqrt(2.0*force->boltz*temperature*gammaT[i][j]); + + cut[j][i] = cut[i][j]; + cutsq[j][i] = cutsq[i][j]; + a0[j][i] = a0[i][j]; + gamma[j][i] = gamma[i][j]; + gammaT[j][i] = gammaT[i][j]; + sigma[j][i] = sigma[i][j]; + sigmaT[j][i] = sigmaT[i][j]; + ws[j][i] = ws[i][j]; + wsT[j][i] = wsT[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairDPDExt::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&a0[i][j],sizeof(double),1,fp); + fwrite(&gamma[i][j],sizeof(double),1,fp); + fwrite(&gammaT[i][j],sizeof(double),1,fp); + fwrite(&ws[i][j],sizeof(double),1,fp); + fwrite(&wsT[i][j],sizeof(double),1,fp); + fwrite(&cut[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairDPDExt::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR,&a0[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&gamma[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&gammaT[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&ws[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&wsT[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + } + MPI_Bcast(&a0[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&gamma[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&gammaT[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&ws[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&wsT[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairDPDExt::write_restart_settings(FILE *fp) +{ + fwrite(&temperature,sizeof(double),1,fp); + fwrite(&cut_global,sizeof(double),1,fp); + fwrite(&seed,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairDPDExt::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&temperature,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&seed,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&temperature,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&seed,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + + // initialize Marsaglia RNG with processor-unique seed + // same seed that pair_style command initially specified + + if (random) delete random; + random = new RanMars(lmp,seed + comm->me); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairDPDExt::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g %g %g %g\n",i, + a0[i][i],gamma[i][i],gammaT[i][i],ws[i][i],wsT[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairDPDExt::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g %g %g %g\n",i,j, + a0[i][j],gamma[i][j],gammaT[i][j],ws[i][j],wsT[i][j],cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairDPDExt::single(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_dpd, double &fforce) +{ + double r,rinv,wd,phi; + + r = sqrt(rsq); + if (r < EPSILON) { + fforce = 0.0; + return 0.0; + } + + rinv = 1.0/r; + wd = 1.0 - r/cut[itype][jtype]; + fforce = a0[itype][jtype]*wd * factor_dpd*rinv; + + phi = 0.5*a0[itype][jtype]*cut[itype][jtype] * wd*wd; + return factor_dpd*phi; +} diff --git a/src/USER-DPDEXT/pair_dpd_ext.h b/src/USER-DPDEXT/pair_dpd_ext.h new file mode 100644 index 0000000000..e85c3451c5 --- /dev/null +++ b/src/USER-DPDEXT/pair_dpd_ext.h @@ -0,0 +1,86 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(dpdext,PairDPDExt) + +#else + +#ifndef LMP_PAIR_DPD_EXT_H +#define LMP_PAIR_DPD_EXT_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairDPDExt : public Pair { + public: + PairDPDExt(class LAMMPS *); + virtual ~PairDPDExt(); + virtual void compute(int, int); + virtual void settings(int, char **); + virtual void coeff(int, char **); + void init_style(); + double init_one(int, int); + virtual void write_restart(FILE *); + virtual void read_restart(FILE *); + virtual void write_restart_settings(FILE *); + virtual void read_restart_settings(FILE *); + virtual void write_data(FILE *); + virtual void write_data_all(FILE *); + double single(int, int, int, int, double, double, double, double &); + + protected: + double cut_global,temperature; + int seed; + double **cut; + double **a0,**gamma,**gammaII,**gammaT; + double **sigma,**sigmaT; + double **ws,**wsT; + class RanMars *random; + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair dpd requires ghost atoms store velocity + +Use the comm_modify vel yes command to enable this. + +W: Pair dpd needs newton pair on for momentum conservation + +Self-explanatory. + +E: All pair coeffs are not set + +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +*/ diff --git a/src/USER-DPDEXT/pair_dpd_tstat_ext.cpp b/src/USER-DPDEXT/pair_dpd_tstat_ext.cpp new file mode 100644 index 0000000000..bfd10c1374 --- /dev/null +++ b/src/USER-DPDEXT/pair_dpd_tstat_ext.cpp @@ -0,0 +1,376 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lísal (ICPF, UJEP) +------------------------------------------------------------------------- */ + +#include "pair_dpd_tstat_ext.h" + +#include +#include "atom.h" +#include "update.h" +#include "force.h" +#include "neigh_list.h" +#include "comm.h" +#include "random_mars.h" +#include "error.h" + + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-10 + +/* ---------------------------------------------------------------------- */ + +PairDPDTstatExt::PairDPDTstatExt(LAMMPS *lmp) : PairDPDExt(lmp) +{ + single_enable = 0; + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +void PairDPDTstatExt::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,fpairx,fpairy,fpairz,fpair; + double vxtmp,vytmp,vztmp,delvx,delvy,delvz; + double rsq,r,rinv,dot,wd,wdPar,wdPerp,randnum,randnumx,randnumy,randnumz,factor_dpd; + double P[3][3]; + int *ilist,*jlist,*numneigh,**firstneigh; + + ev_init(eflag,vflag); + + // adjust sigma if target T is changing + + if (t_start != t_stop) { + double delta = update->ntimestep - update->beginstep; + if (delta != 0.0) delta /= update->endstep - update->beginstep; + temperature = t_start + delta * (t_stop-t_start); + double boltz = force->boltz; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + sigma[i][j] = sigma[j][i] = sqrt(2.0*boltz*temperature*gamma[i][j]); + sigmaT[i][j] = sigmaT[j][i] = sqrt(2.0*boltz*temperature*gammaT[i][j]); + } + } + } + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + double dtinvsqrt = 1.0/sqrt(update->dt); + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + vxtmp = v[i][0]; + vytmp = v[i][1]; + vztmp = v[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_dpd = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r = sqrt(rsq); + if (r < EPSILON) continue; // r can be 0.0 in DPD systems + rinv = 1.0/r; + delvx = vxtmp - v[j][0]; + delvy = vytmp - v[j][1]; + delvz = vztmp - v[j][2]; + dot = delx*delvx + dely*delvy + delz*delvz; + + P[0][0] = 1.0 - delx*delx*rinv*rinv; + P[0][1] = - delx*dely*rinv*rinv; + P[0][2] = - delx*delz*rinv*rinv; + + P[1][0] = P[0][1]; + P[1][1] = 1.0 - dely*dely*rinv*rinv; + P[1][2] = - dely*delz*rinv*rinv; + + P[2][0] = P[0][2]; + P[2][1] = P[1][2]; + P[2][2] = 1.0 - delz*delz*rinv*rinv; + + wd = 1.0 - r/cut[itype][jtype]; + wdPar = pow(wd,ws[itype][jtype]); + wdPerp = pow(wd,wsT[itype][jtype]); + + randnum = random->gaussian(); + randnumx = random->gaussian(); + randnumy = random->gaussian(); + randnumz = random->gaussian(); + + // drag force - parallel + fpair = -gamma[itype][jtype]*wdPar*wdPar*dot*rinv; + + // random force - parallel + fpair += sigma[itype][jtype]*wdPar*randnum*dtinvsqrt; + + fpairx = fpair*rinv*delx; + fpairy = fpair*rinv*dely; + fpairz = fpair*rinv*delz; + + // drag force - perpendicular + fpairx -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[0][0]*delvx + P[0][1]*delvy + P[0][2]*delvz); + fpairy -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[1][0]*delvx + P[1][1]*delvy + P[1][2]*delvz); + fpairz -= gammaT[itype][jtype]*wdPerp*wdPerp* + (P[2][0]*delvx + P[2][1]*delvy + P[2][2]*delvz); + + // random force - perpendicular + fpairx += sigmaT[itype][jtype]*wdPerp* + (P[0][0]*randnumx + P[0][1]*randnumy + P[0][2]*randnumz)*dtinvsqrt; + fpairy += sigmaT[itype][jtype]*wdPerp* + (P[1][0]*randnumx + P[1][1]*randnumy + P[1][2]*randnumz)*dtinvsqrt; + fpairz += sigmaT[itype][jtype]*wdPerp* + (P[2][0]*randnumx + P[2][1]*randnumy + P[2][2]*randnumz)*dtinvsqrt; + + fpairx *= factor_dpd; + fpairy *= factor_dpd; + fpairz *= factor_dpd; + + f[i][0] += fpairx; + f[i][1] += fpairy; + f[i][2] += fpairz; + if (newton_pair || j < nlocal) { + f[j][0] -= fpairx; + f[j][1] -= fpairy; + f[j][2] -= fpairz; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + 0.0,0.0, + fpairx, fpairy, fpairz, + delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::settings(int narg, char **arg) +{ + if (narg != 4) error->all(FLERR,"Illegal pair_style command"); + + t_start = utils::numeric(FLERR,arg[0],false,lmp); + t_stop = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); + seed = utils::inumeric(FLERR,arg[3],false,lmp); + + temperature = t_start; + + // initialize Marsaglia RNG with processor-unique seed + + if (seed <= 0) error->all(FLERR,"Illegal pair_style command"); + delete random; + random = new RanMars(lmp,seed + comm->me); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::coeff(int narg, char **arg) +{ + if (narg < 6 || narg > 7) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double a0_one = 0.0; + double gamma_one = utils::numeric(FLERR,arg[2],false,lmp); + double gammaT_one = utils::numeric(FLERR,arg[3],false,lmp); + double ws_one = utils::numeric(FLERR,arg[4],false,lmp); + double wsT_one = utils::numeric(FLERR,arg[5],false,lmp); + + double cut_one = cut_global; + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + a0[i][j] = a0_one; + gamma[i][j] = gamma_one; + gammaT[i][j] = gammaT_one; + ws[i][j] = ws_one; + wsT[i][j] = wsT_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&gamma[i][j],sizeof(double),1,fp); + fwrite(&gammaT[i][j],sizeof(double),1,fp); + fwrite(&ws[i][j],sizeof(double),1,fp); + fwrite(&wsT[i][j],sizeof(double),1,fp); + fwrite(&cut[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR,&gamma[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&gammaT[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&ws[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&wsT[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&cut[i][j],sizeof(double),1,fp,nullptr,error); + } + MPI_Bcast(&gamma[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&gammaT[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&ws[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&wsT[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::write_restart_settings(FILE *fp) +{ + fwrite(&t_start,sizeof(double),1,fp); + fwrite(&t_stop,sizeof(double),1,fp); + fwrite(&cut_global,sizeof(double),1,fp); + fwrite(&seed,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR,&t_start,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&t_stop,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&seed,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&t_start,1,MPI_DOUBLE,0,world); + MPI_Bcast(&t_stop,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&seed,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + + temperature = t_start; + + // initialize Marsaglia RNG with processor-unique seed + // same seed that pair_style command initially specified + + if (random) delete random; + random = new RanMars(lmp,seed + comm->me); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g %g %g\n",i,gamma[i][i],gammaT[i][i],ws[i][i],wsT[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairDPDTstatExt::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g %g %g\n",i,j, + gamma[i][j],gammaT[i][j],ws[i][j],wsT[i][j],cut[i][j]); +} diff --git a/src/USER-DPDEXT/pair_dpd_tstat_ext.h b/src/USER-DPDEXT/pair_dpd_tstat_ext.h new file mode 100644 index 0000000000..c8441f90bd --- /dev/null +++ b/src/USER-DPDEXT/pair_dpd_tstat_ext.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(dpdext/tstat,PairDPDTstatExt) + +#else + +#ifndef LMP_PAIR_DPD_TSTAT_EXT_H +#define LMP_PAIR_DPD_TSTAT_EXT_H + +#include "pair_dpd_ext.h" + +namespace LAMMPS_NS { + +class PairDPDTstatExt : public PairDPDExt { + public: + PairDPDTstatExt(class LAMMPS *); + ~PairDPDTstatExt() {} + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); + + protected: + double t_start,t_stop; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +*/ From 4041a07e6670ba1dbd089665e5252e3fcb36dc35 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 16 Apr 2021 15:43:03 +0200 Subject: [PATCH 112/542] add USER-DPDEXT to CMakeLists.txt --- cmake/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f567a15d25..d840dedf6c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -120,9 +120,9 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD - USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF - USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-COLVARS USER-DIFFRACTION USER-DPD USER-DPDEXT USER-DRUDE USER-EFF USER-FEP + USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC + USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE) From ce51305b2d0559b3d31c67fc9fa8e8541721a224 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 16 Apr 2021 15:44:20 +0200 Subject: [PATCH 113/542] fix typing error in doc file --- doc/src/pair_dpdext.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_dpdext.rst b/doc/src/pair_dpdext.rst index 301f9f3ea0..4b6855774d 100644 --- a/doc/src/pair_dpdext.rst +++ b/doc/src/pair_dpdext.rst @@ -52,7 +52,7 @@ of 3 terms f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\ w(r) = & 1 - r/r_c \\ -where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\a` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. +where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. For the style *dpdext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. From e4e20b67a8afe7471c56c01203eadbf45cc0d7af Mon Sep 17 00:00:00 2001 From: gugmelik <72472448+gugmelik@users.noreply.github.com> Date: Fri, 16 Apr 2021 20:02:32 +0300 Subject: [PATCH 114/542] Update lal_lj_smooth.cpp Added new line at the end of file. --- lib/gpu/lal_lj_smooth.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp index 5e4785230b..c936b7ca31 100644 --- a/lib/gpu/lal_lj_smooth.cpp +++ b/lib/gpu/lal_lj_smooth.cpp @@ -183,4 +183,4 @@ void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { } template class LJSMOOTH; -} \ No newline at end of file +} From 5b9c0ff6432ca1c209a157e8fc7db4ccaec17f95 Mon Sep 17 00:00:00 2001 From: gugmelik <72472448+gugmelik@users.noreply.github.com> Date: Fri, 16 Apr 2021 20:03:30 +0300 Subject: [PATCH 115/542] Update lal_lj_smooth.cu Added new line at the end of file. --- lib/gpu/lal_lj_smooth.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gpu/lal_lj_smooth.cu b/lib/gpu/lal_lj_smooth.cu index c02e1b5ae0..fa87e6fcee 100644 --- a/lib/gpu/lal_lj_smooth.cu +++ b/lib/gpu/lal_lj_smooth.cu @@ -232,4 +232,4 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, ans,engv); } // if ii -} \ No newline at end of file +} From 87a60da150c25ff87ac65d66dd3a52385be68fc8 Mon Sep 17 00:00:00 2001 From: gugmelik <72472448+gugmelik@users.noreply.github.com> Date: Fri, 16 Apr 2021 20:05:58 +0300 Subject: [PATCH 116/542] Update lal_lj_smooth.h Added new line at the end of file. --- lib/gpu/lal_lj_smooth.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gpu/lal_lj_smooth.h b/lib/gpu/lal_lj_smooth.h index f869977c58..ae7d628b3b 100644 --- a/lib/gpu/lal_lj_smooth.h +++ b/lib/gpu/lal_lj_smooth.h @@ -88,4 +88,4 @@ class LJSMOOTH : public BaseAtomic { } -#endif \ No newline at end of file +#endif From a91e904f349d49b7015345a5e5d00aeeed6649f7 Mon Sep 17 00:00:00 2001 From: Gurgen Date: Sat, 17 Apr 2021 14:56:16 +0300 Subject: [PATCH 117/542] minor changes --- lib/gpu/lal_lj_smooth.cpp | 4 ++-- lib/gpu/lal_lj_smooth.cu | 2 +- lib/gpu/lal_lj_smooth.h | 8 ++++---- lib/gpu/lal_lj_smooth_ext.cpp | 2 -- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp index 5e4785230b..47ca4ab6fa 100644 --- a/lib/gpu/lal_lj_smooth.cpp +++ b/lib/gpu/lal_lj_smooth.cpp @@ -145,7 +145,7 @@ double LJSMOOTHT::host_memory_usage() const { // Calculate energies, forces, and torques // --------------------------------------------------------------------------- template -void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { +int LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { // Compute the block size and grid size to keep all cores busy const int BX=this->block_size(); int eflag, vflag; @@ -183,4 +183,4 @@ void LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { } template class LJSMOOTH; -} \ No newline at end of file +} diff --git a/lib/gpu/lal_lj_smooth.cu b/lib/gpu/lal_lj_smooth.cu index c02e1b5ae0..fa87e6fcee 100644 --- a/lib/gpu/lal_lj_smooth.cu +++ b/lib/gpu/lal_lj_smooth.cu @@ -232,4 +232,4 @@ __kernel void k_lj_smooth_fast(const __global numtyp4 *restrict x_, store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, ans,engv); } // if ii -} \ No newline at end of file +} diff --git a/lib/gpu/lal_lj_smooth.h b/lib/gpu/lal_lj_smooth.h index f869977c58..fec39c95c6 100644 --- a/lib/gpu/lal_lj_smooth.h +++ b/lib/gpu/lal_lj_smooth.h @@ -1,13 +1,13 @@ /*************************************************************************** lj_smooth.h ------------------- - W. Michael Brown (ORNL) + G. Melikyan Class for acceleration of the lj/smooth pair style. __________________________________________________________________________ This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) __________________________________________________________________________ begin : - email : brownw@ornl.gov + email : gkmelikyan@edu.hse.ru ***************************************************************************/ #ifndef LAL_LJ_SMOOTH_H @@ -83,9 +83,9 @@ class LJSMOOTH : public BaseAtomic { private: bool _allocated; - void loop(const bool _eflag, const bool _vflag); + int loop(const int _eflag, const int _vflag); }; } -#endif \ No newline at end of file +#endif diff --git a/lib/gpu/lal_lj_smooth_ext.cpp b/lib/gpu/lal_lj_smooth_ext.cpp index fd4dfd46be..aaebbe1493 100644 --- a/lib/gpu/lal_lj_smooth_ext.cpp +++ b/lib/gpu/lal_lj_smooth_ext.cpp @@ -142,5 +142,3 @@ void ljsmt_gpu_compute(const int ago, const int inum_full, const int nall, double ljsmt_gpu_bytes() { return LJSMTMF.host_memory_usage(); } - - From 18e5e42ce3f91d58cb425310ec16e52f14e7fc4d Mon Sep 17 00:00:00 2001 From: Gurgen Date: Sun, 18 Apr 2021 04:30:59 +0300 Subject: [PATCH 118/542] minor change --- lib/gpu/lal_lj_smooth.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gpu/lal_lj_smooth.cpp b/lib/gpu/lal_lj_smooth.cpp index 47ca4ab6fa..59ebd0f636 100644 --- a/lib/gpu/lal_lj_smooth.cpp +++ b/lib/gpu/lal_lj_smooth.cpp @@ -145,7 +145,7 @@ double LJSMOOTHT::host_memory_usage() const { // Calculate energies, forces, and torques // --------------------------------------------------------------------------- template -int LJSMOOTHT::loop(const bool _eflag, const bool _vflag) { +int LJSMOOTHT::loop(const int _eflag, const int _vflag) { // Compute the block size and grid size to keep all cores busy const int BX=this->block_size(); int eflag, vflag; From cf62dbf96aeabd0be34ccd979d295921de7aa28a Mon Sep 17 00:00:00 2001 From: Agilio Padua Date: Mon, 19 Apr 2021 18:23:33 +0200 Subject: [PATCH 119/542] In manual pages point to examples --- doc/src/Howto_drude2.rst | 2 ++ doc/src/compute_fep.rst | 2 ++ doc/src/compute_temp_drude.rst | 2 ++ doc/src/fix_adapt_fep.rst | 3 +++ doc/src/fix_drude.rst | 2 ++ doc/src/fix_drude_transform.rst | 2 ++ doc/src/fix_langevin_drude.rst | 2 ++ doc/src/fix_tgnh_drude.rst | 2 ++ doc/src/pair_coul_tt.rst | 1 + doc/src/pair_fep_soft.rst | 2 ++ doc/src/pair_thole.rst | 2 ++ 11 files changed, 22 insertions(+) diff --git a/doc/src/Howto_drude2.rst b/doc/src/Howto_drude2.rst index d95f5c02aa..24c21f27b1 100644 --- a/doc/src/Howto_drude2.rst +++ b/doc/src/Howto_drude2.rst @@ -9,6 +9,8 @@ USER-DRUDE package activated. Then, the data file and input scripts have to be modified to include the Drude dipoles and how to handle them. +Example input scripts available: examples/USER/drude + ---------- **Overview of Drude induced dipoles** diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index 279148a55d..ef908acfc0 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -48,6 +48,8 @@ Examples compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes compute 1 all fep 300 atom charge 2 v_delta +Example input scripts available: examples/USER/fep + Description """"""""""" diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index 418f2e1e5d..7e0f5f6555 100644 --- a/doc/src/compute_temp_drude.rst +++ b/doc/src/compute_temp_drude.rst @@ -20,6 +20,8 @@ Examples compute TDRUDE all temp/drude +Example input scripts available: examples/USER/drude + Description """"""""""" diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index b45ac80429..81a34ab75e 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -56,6 +56,9 @@ Examples fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt/fep 10 atom diameter 1 v_size + +Example input scripts available: examples/USER/fep + Description """"""""""" diff --git a/doc/src/fix_drude.rst b/doc/src/fix_drude.rst index 385a847749..a879f1594b 100644 --- a/doc/src/fix_drude.rst +++ b/doc/src/fix_drude.rst @@ -22,6 +22,8 @@ Examples fix 1 all drude 1 1 0 1 0 2 2 2 fix 1 all drude C C N C N D D D +Example input scripts available: examples/USER/drude + Description """"""""""" diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index 792b041576..28d57306ea 100644 --- a/doc/src/fix_drude_transform.rst +++ b/doc/src/fix_drude_transform.rst @@ -25,6 +25,8 @@ Examples fix 3 all drude/transform/direct fix 1 all drude/transform/inverse +Example input scripts available: examples/USER/drude + Description """"""""""" diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index ad5a876712..c075a56549 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -35,6 +35,8 @@ Examples fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes +Example input scripts available: examples/USER/drude + Description """"""""""" diff --git a/doc/src/fix_tgnh_drude.rst b/doc/src/fix_tgnh_drude.rst index 1854655a82..a6e9832833 100644 --- a/doc/src/fix_tgnh_drude.rst +++ b/doc/src/fix_tgnh_drude.rst @@ -62,6 +62,8 @@ Examples fix 2 jello tgnpt/drude temp 300.0 300.0 100.0 1.0 20.0 tri 5.0 5.0 1000.0 fix 2 ice tgnpt/drude temp 250.0 250.0 100.0 1.0 20.0 x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 +Example input scripts available: examples/USER/drude + Description """"""""""" diff --git a/doc/src/pair_coul_tt.rst b/doc/src/pair_coul_tt.rst index 11b4e72a60..b01d46d7ae 100644 --- a/doc/src/pair_coul_tt.rst +++ b/doc/src/pair_coul_tt.rst @@ -29,6 +29,7 @@ Examples pair_coeff 1 2 coul/tt 4.0 1.0 4 12.0 pair_coeff 1 3* coul/tt 4.5 1.0 4 +Example input scripts available: examples/USER/drude Description """"""""""" diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index 109ddfdf21..f3000a47a1 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -182,6 +182,8 @@ Examples pair_coeff * * 100.0 2.0 1.5 1.0 pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 +Example input scripts available: examples/USER/fep + Description """"""""""" diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index a8cf8ee044..183bab48c9 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -42,6 +42,8 @@ Examples pair_style lj/cut/thole/long 2.6 12.0 +Example input scripts available: examples/USER/drude + Description """"""""""" From 92abca3910137e02845d563185edece6661d9cd1 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Mon, 19 Apr 2021 13:40:19 -0500 Subject: [PATCH 120/542] bug fixes --- src/USER-RANN/pair_rann.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/USER-RANN/pair_rann.cpp b/src/USER-RANN/pair_rann.cpp index 6a100db244..d2b9535b56 100644 --- a/src/USER-RANN/pair_rann.cpp +++ b/src/USER-RANN/pair_rann.cpp @@ -164,12 +164,12 @@ PairRANN::~PairRANN() memory->destroy(sx); memory->destroy(sy); memory->destroy(sz); - memory->destroy(dlayerx); - memory->destroy(dlayery); - memory->destroy(dlayerz); - memory->destroy(dlayersumx); - memory->destroy(dlayersumy); - memory->destroy(dlayersumz); + memory->destroy(dsx); + memory->destroy(dsy); + memory->destroy(dsz); + memory->destroy(dssumx); + memory->destroy(dssumy); + memory->destroy(dssumz); } } @@ -538,7 +538,7 @@ void PairRANN::read_weight(std::vector line,std::vectorone(filename,*linenum,"unexpected end of potential file!"); @@ -569,7 +569,7 @@ void PairRANN::read_bias(std::vector line,std::vector net[l].Biases[i][0] = utils::numeric(filename,*linenum,line1[0].c_str(),1,lmp); for (j=1;jcreate(sx,fmax*nmax2,"pair:sx"); memory->create(sy,fmax*nmax2,"pair:sy"); memory->create(sz,fmax*nmax2,"pair:sz"); - memory->create(dlayerx,nmax2,fnmax,"pair:dsx"); - memory->create(dlayery,nmax2,fnmax,"pair:dsy"); - memory->create(dlayerz,nmax2,fnmax,"pair:dsz"); - memory->create(dlayersumx,nmax2,fnmax,"pair:dssumx"); - memory->create(dlayersumy,nmax2,fnmax,"pair:dssumy"); - memory->create(dlayersumz,nmax2,fnmax,"pair:dssumz"); + memory->create(dsx,nmax2,fnmax,"pair:dsx"); + memory->create(dsy,nmax2,fnmax,"pair:dsy"); + memory->create(dsz,nmax2,fnmax,"pair:dsz"); + memory->create(dssumx,nmax2,fnmax,"pair:dssumx"); + memory->create(dssumy,nmax2,fnmax,"pair:dssumy"); + memory->create(dssumz,nmax2,fnmax,"pair:dssumz"); } return false;//everything looks good } From 90d3b65691dc10c213dbbb5c136352b5ebe930e4 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Tue, 20 Apr 2021 22:55:26 +0200 Subject: [PATCH 121/542] Minor changes for CMake build tested --- cmake/Modules/FindN2P2.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index cae5de5342..95413edfb1 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -12,10 +12,10 @@ else() endif() # Set path to include directory. -find_path(N2P2_INCLUDE_DIR InterfaceLammps.h PATHS "${N2P2_DIR}/include") +find_path(N2P2_INCLUDE_DIR InterfaceLammps.h HINTS "${N2P2_DIR}/include") # Two libraries need to be linked: libnnp and libnnpif. -find_library(N2P2_LIBNNP NAMES nnp PATHS "${N2P2_DIR}/lib") -find_library(N2P2_LIBNNPIF NAMES nnpif PATHS "${N2P2_DIR}/lib") +find_library(N2P2_LIBNNP NAMES nnp HINTS "${N2P2_DIR}/lib") +find_library(N2P2_LIBNNPIF NAMES nnpif HINTS "${N2P2_DIR}/lib") # Users could compile n2p2 with extra flags which are then also required for # pair_hdnnp.cpp compilation. To forward them to the LAMMPS build process n2p2 # writes a file with cmake commands, e.g. @@ -23,7 +23,7 @@ find_library(N2P2_LIBNNPIF NAMES nnpif PATHS "${N2P2_DIR}/lib") # target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS) # # to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake. -find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake PATHS "${N2P2_DIR}/lib") +find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib") find_package_handle_standard_args(N2P2 DEFAULT_MSG N2P2_DIR From 0cf1252f1fbf56bfb74d0b8f143547b54ed0c65f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 22:52:32 -0400 Subject: [PATCH 122/542] add overload to utils::logmesg() that handles format strings and variable arguments this reduces utils::logmesg(lmp,fmt::format(...)) to utils::logmesg(lmp,...) while still allowing just a single string argument. --- src/utils.cpp | 14 ++++++++------ src/utils.h | 28 +++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index e733d7eaae..4071b7b61b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -123,12 +123,7 @@ std::string utils::strfind(const std::string &text, const std::string &pattern) return ""; } -/** This function simplifies the repetitive task of outputting some - * message to both the screen and/or the log file. In combination - * with using fmt::format(), which returns the formatted text - * in a std::string() instance, this can be used to reduce - * operations previously requiring several lines of code to - * a single statement. */ +/* specialization for the case of just a single string argument */ void utils::logmesg(LAMMPS *lmp, const std::string &mesg) { @@ -136,6 +131,13 @@ void utils::logmesg(LAMMPS *lmp, const std::string &mesg) if (lmp->logfile) fputs(mesg.c_str(), lmp->logfile); } +void utils::_internal_logmesg(LAMMPS *lmp, fmt::string_view format, + fmt::format_args args) +{ + if (lmp->screen) fmt::vprint(lmp->screen, format, args); + if (lmp->logfile) fmt::vprint(lmp->logfile, format, args); +} + /* define this here, so we won't have to include the headers everywhere and utils.h will more likely be included anyway. */ diff --git a/src/utils.h b/src/utils.h index ec4dd6ae85..6eed8fd3bc 100644 --- a/src/utils.h +++ b/src/utils.h @@ -17,6 +17,8 @@ /*! \file utils.h */ #include "lmptype.h" +#include "fmt/format.h" + #include #include #include @@ -45,10 +47,30 @@ namespace LAMMPS_NS { std::string strfind(const std::string &text, const std::string &pattern); - /** Send message to screen and logfile, if available + /* Internal function handling the argument list for logmesg(). */ + + void _internal_logmesg(LAMMPS *lmp, fmt::string_view format, + fmt::format_args args); + + /** Send formatted message to screen and logfile, if available * - * \param lmp pointer to LAMMPS class instance - * \param mesg message to be printed */ + * This function simplifies the repetitive task of outputting some + * message to both the screen and/or the log file. The template + * wrapper with fmtlib format and argument processing allows + * this function to work similar to fmt::print(). + * The specialization overload handles the case of no arguments. + * + * \param lmp pointer to LAMMPS class instance + * \param format format string of message to be printed + * \param args arguments to format string */ + + template + void logmesg(LAMMPS *lmp, const S &format, Args&&... args) { + _internal_logmesg(lmp, format, + fmt::make_args_checked(format, args...)); + } + + /** \overload */ void logmesg(LAMMPS *lmp, const std::string &mesg); From d2cdb318aba4058e0458bf5fe4973654217c9228 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 22:53:41 -0400 Subject: [PATCH 123/542] apply new logmesg() overload to a bunch of cases. --- src/KSPACE/ewald_disp.cpp | 7 +- src/KSPACE/fix_tune_kspace.cpp | 16 ++-- src/KSPACE/msm_cg.cpp | 9 +-- src/KSPACE/pppm_cg.cpp | 9 +-- src/KSPACE/pppm_disp.cpp | 6 +- src/MC/pair_dsmc.cpp | 3 +- src/MLIAP/mliap_descriptor_snap.cpp | 5 +- src/PLUGIN/plugin.cpp | 40 +++++----- src/POEMS/fix_poems.cpp | 4 +- src/RIGID/fix_rigid.cpp | 3 +- src/RIGID/fix_rigid_small.cpp | 11 ++- src/RIGID/fix_shake.cpp | 14 ++-- src/SHOCK/fix_msst.cpp | 13 ++-- src/SNAP/pair_snap.cpp | 6 +- src/USER-COLVARS/group_ndx.cpp | 4 +- src/USER-COLVARS/ndx_group.cpp | 8 +- src/USER-MISC/fix_orient_eco.cpp | 4 +- src/USER-MISC/fix_pafi.cpp | 2 +- src/USER-PACE/pair_pace.cpp | 12 +-- src/USER-QTB/fix_qbmsst.cpp | 12 +-- src/bond.cpp | 8 +- src/comm.cpp | 2 +- src/create_atoms.cpp | 7 +- src/create_bonds.cpp | 4 +- src/delete_bonds.cpp | 20 ++--- src/finish.cpp | 112 +++++++++++++--------------- src/group.cpp | 4 +- src/lattice.cpp | 5 +- src/modify.cpp | 20 ++--- src/molecule.cpp | 18 ++--- src/output.cpp | 5 +- src/pair.cpp | 8 +- src/potential_file_reader.cpp | 4 +- src/read_data.cpp | 27 ++++--- src/read_dump.cpp | 15 ++-- src/read_restart.cpp | 35 +++++---- src/replicate.cpp | 18 ++--- src/reset_mol_ids.cpp | 8 +- src/set.cpp | 8 +- src/special.cpp | 29 ++++--- src/timer.cpp | 5 +- src/utils.cpp | 6 +- 42 files changed, 259 insertions(+), 297 deletions(-) diff --git a/src/KSPACE/ewald_disp.cpp b/src/KSPACE/ewald_disp.cpp index 89eeb4b3eb..927485ef84 100644 --- a/src/KSPACE/ewald_disp.cpp +++ b/src/KSPACE/ewald_disp.cpp @@ -274,8 +274,8 @@ void EwaldDisp::init() } if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" G vector = {:.8g}, accuracy = {:.8g}\n", - g_ewald,accuracy)); + utils::logmesg(lmp," G vector = {:.8g}, accuracy = {:.8g}\n", + g_ewald,accuracy); // apply coulomb g_ewald to dispersion unless it is explicitly set @@ -339,8 +339,7 @@ void EwaldDisp::setup() if (!(first_output||comm->me)) { first_output = 1; - utils::logmesg(lmp,fmt::format(" vectors: nbox = {}, nkvec = {}\n", - nbox, nkvec)); + utils::logmesg(lmp," vectors: nbox = {}, nkvec = {}\n", nbox, nkvec); } } diff --git a/src/KSPACE/fix_tune_kspace.cpp b/src/KSPACE/fix_tune_kspace.cpp index 5f53561e20..55960f1c33 100644 --- a/src/KSPACE/fix_tune_kspace.cpp +++ b/src/KSPACE/fix_tune_kspace.cpp @@ -151,10 +151,8 @@ void FixTuneKspace::pre_exchange() } else if (niter == 4) { store_old_kspace_settings(); if (comm->me == 0) - utils::logmesg(lmp,fmt::format("ewald_time = {}\n" - "pppm_time = {}\n" - "msm_time = {}\n", - ewald_time, pppm_time, msm_time)); + utils::logmesg(lmp,"ewald_time = {}\npppm_time = {}\nmsm_time = {}\n", + ewald_time, pppm_time, msm_time); // switch to fastest one if (msm_time == 0.0) msm_time = 1.0e300; kspace_style = "ewald"; @@ -243,7 +241,7 @@ void FixTuneKspace::update_pair_style(const std::string &new_pair_style, force->pair->write_restart(p_pair_settings_file); rewind(p_pair_settings_file); if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Creating new pair style: {}\n",new_pair_style)); + utils::logmesg(lmp,"Creating new pair style: {}\n",new_pair_style); // delete old pair style and create new one force->create_pair(new_pair_style.c_str(),1); @@ -254,8 +252,7 @@ void FixTuneKspace::update_pair_style(const std::string &new_pair_style, double *pcutoff = (double *) force->pair->extract("cut_coul",itmp); double current_cutoff = *pcutoff; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Coulomb cutoff for real space: {}\n", - current_cutoff)); + utils::logmesg(lmp,"Coulomb cutoff for real space: {}\n",current_cutoff); // close temporary file fclose(p_pair_settings_file); @@ -310,8 +307,7 @@ void FixTuneKspace::adjust_rcut(double time) double *p_cutoff = (double *) force->pair->extract("cut_coul",itmp); double current_cutoff = *p_cutoff; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Old Coulomb cutoff for real space: {}\n", - current_cutoff)); + utils::logmesg(lmp,"Old Coulomb cutoff for real space: {}\n",current_cutoff); // use Brent's method from Numerical Recipes to find optimal real space cutoff @@ -382,7 +378,7 @@ void FixTuneKspace::adjust_rcut(double time) double *new_cutoff = (double *) force->pair->extract("cut_coul",itmp); current_cutoff = *new_cutoff; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Adjusted Coulomb cutoff for real space: {}\n", current_cutoff)); + utils::logmesg(lmp,"Adjusted Coulomb cutoff for real space: {}\n", current_cutoff); store_old_kspace_settings(); update_pair_style(pair_style,pair_cut_coul); diff --git a/src/KSPACE/msm_cg.cpp b/src/KSPACE/msm_cg.cpp index 4c9384f13e..9781dee2ea 100644 --- a/src/KSPACE/msm_cg.cpp +++ b/src/KSPACE/msm_cg.cpp @@ -132,11 +132,10 @@ void MSMCG::compute(int eflag, int vflag) / static_cast(atom->natoms); if (me == 0) - utils::logmesg(lmp,fmt::format(" MSM/cg optimization cutoff: {:.8}\n" - " Total charged atoms: {:.1f}%\n" - " Min/max charged atoms/proc: {:.1f}%" - " {:.1f}%\n",smallq, - charged_frac,charged_fmin,charged_fmax)); + utils::logmesg(lmp," MSM/cg optimization cutoff: {:.8}\n" + " Total charged atoms: {:.1f}%\n" + " Min/max charged atoms/proc: {:.1f}% {:.1f}%\n", + smallq,charged_frac,charged_fmin,charged_fmax); } // only need to rebuild this list after a neighbor list update diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index a96e112393..b31919f767 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -148,11 +148,10 @@ void PPPMCG::compute(int eflag, int vflag) / static_cast(atom->natoms); if (me == 0) - utils::logmesg(lmp,fmt::format(" PPPM/cg optimization cutoff: {:.8g}\n" - " Total charged atoms: {:.1f}%\n" - " Min/max charged atoms/proc: {:.1f}%" - " {:.1f}%\n",smallq, - charged_frac,charged_fmin,charged_fmax)); + utils::logmesg(lmp," PPPM/cg optimization cutoff: {:.8g}\n" + " Total charged atoms: {:.1f}%\n" + " Min/max charged atoms/proc: {:.1f}% {:.1f}%\n", + smallq,charged_frac,charged_fmin,charged_fmax); } // only need to rebuild this list after a neighbor list update diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 58db6e51fc..1844301ac5 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -1392,8 +1392,7 @@ void PPPMDisp::init_coeffs() if (function[2] && nsplit <= 6) { if (me == 0) - utils::logmesg(lmp,fmt::format(" Using {} instead of 7 structure " - "factors\n",nsplit)); + utils::logmesg(lmp," Using {} instead of 7 structure factors\n",nsplit); //function[3] = 1; //function[2] = 0; if (B) delete [] B; // remove this when un-comment previous 2 lines @@ -1406,8 +1405,7 @@ void PPPMDisp::init_coeffs() if (function[3]) { if (me == 0) - utils::logmesg(lmp,fmt::format(" Using {} structure factors\n", - nsplit)); + utils::logmesg(lmp," Using {} structure factors\n",nsplit); if (nsplit > 9) error->warning(FLERR,"Simulations might be very slow " "because of large number of structure factors"); diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index 1bcb9f6493..7064a500d2 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -283,8 +283,7 @@ void PairDSMC::init_style() cellz = (domain->boxhi[2] - domain->boxlo[2])/ncellsz; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("DSMC cell size = {} x {} x {}\n", - cellx,celly,cellz)); + utils::logmesg(lmp,"DSMC cell size = {} x {} x {}\n",cellx,celly,cellz); total_ncells = ncellsx*ncellsy*ncellsz; vol = cellx*celly*cellz; diff --git a/src/MLIAP/mliap_descriptor_snap.cpp b/src/MLIAP/mliap_descriptor_snap.cpp index 0fdc548fc1..5c73cb64df 100644 --- a/src/MLIAP/mliap_descriptor_snap.cpp +++ b/src/MLIAP/mliap_descriptor_snap.cpp @@ -412,9 +412,8 @@ void MLIAPDescriptorSNAP::read_paramfile(char *paramfilename) char* keywd = strtok(line,"' \t\n\r\f"); char* keyval = strtok(nullptr,"' \t\n\r\f"); - if (comm->me == 0) { - utils::logmesg(lmp, fmt::format("SNAP keyword {} {} \n", keywd, keyval)); - } + if (comm->me == 0) + utils::logmesg(lmp,"SNAP keyword {} {} \n", keywd, keyval); // check for keywords with one value per element diff --git a/src/PLUGIN/plugin.cpp b/src/PLUGIN/plugin.cpp index d311b64520..4434b28d16 100644 --- a/src/PLUGIN/plugin.cpp +++ b/src/PLUGIN/plugin.cpp @@ -69,8 +69,8 @@ namespace LAMMPS_NS utils::logmesg(lmp,"Currently loaded plugins\n"); for (int i=0; i < num; ++i) { auto entry = plugin_get_info(i); - utils::logmesg(lmp,fmt::format("{:4}: {} style plugin {}\n", - i+1,entry->style,entry->name)); + utils::logmesg(lmp,"{:4}: {} style plugin {}\n", + i+1,entry->style,entry->name); } } } else error->all(FLERR,"Illegal plugin command"); @@ -96,8 +96,7 @@ namespace LAMMPS_NS void *dso = dlopen(file,RTLD_NOW|RTLD_GLOBAL); if (dso == nullptr) { if (me == 0) - utils::logmesg(lmp,fmt::format("Open of file {} failed: {}\n", - file,dlerror())); + utils::logmesg(lmp,"Open of file {} failed: {}\n",file,dlerror()); return; } @@ -110,8 +109,8 @@ namespace LAMMPS_NS dlclose(dso); if (me == 0) - utils::logmesg(lmp,fmt::format("Plugin symbol lookup failure in " - "file {}: {}\n",file,dlerror())); + utils::logmesg(lmp,"Plugin symbol lookup failure in file {}: {}\n", + file,dlerror()); return; } @@ -144,20 +143,19 @@ namespace LAMMPS_NS int idx = plugin_find(plugin->style,plugin->name); if (idx >= 0) { if (me == 0) - utils::logmesg(lmp,fmt::format("Ignoring load of {} style {}: must " - "unload existing {} plugin first\n", - plugin->style,plugin->name,plugin->name)); + utils::logmesg(lmp,"Ignoring load of {} style {}: must " + "unload existing {} plugin first\n", + plugin->style,plugin->name,plugin->name); return; } if (me == 0) { - utils::logmesg(lmp,fmt::format("Loading plugin: {} by {}\n", - plugin->info,plugin->author)); + utils::logmesg(lmp,"Loading plugin: {} by {}\n", + plugin->info,plugin->author); // print version info only if the versions of host and plugin don't match if ((plugin->version) && (strcmp(plugin->version,lmp->version) != 0)) - utils::logmesg(lmp,fmt::format(" compiled for LAMMPS version {} " - "loaded into LAMMPS version {}\n", - plugin->version,lmp->version)); + utils::logmesg(lmp," compiled for LAMMPS version {}, loaded into " + "LAMMPS version {}\n",plugin->version,lmp->version); } pluginlist.push_back(*plugin); @@ -260,8 +258,8 @@ namespace LAMMPS_NS (*command_map)[plugin->name] = (Input::CommandCreator)plugin->creator.v1; } else { - utils::logmesg(lmp,fmt::format("Loading plugin for {} styles not " - "yet implemented\n",pstyle)); + utils::logmesg(lmp,"Loading plugins for {} styles not " + "yet implemented\n",pstyle); pluginlist.pop_back(); } #endif @@ -285,8 +283,8 @@ namespace LAMMPS_NS && (strcmp(style,"fix") != 0) && (strcmp(style,"region") != 0) && (strcmp(style,"command") != 0)) { if (me == 0) - utils::logmesg(lmp,fmt::format("Ignoring unload: {} is not a " - "supported plugin style\n",style)); + utils::logmesg(lmp,"Ignoring unload: {} is not a " + "supported plugin style\n",style); return; } @@ -294,8 +292,8 @@ namespace LAMMPS_NS int idx = plugin_find(style,name); if (idx < 0) { if (me == 0) - utils::logmesg(lmp,fmt::format("Ignoring unload of {} style {}: not " - "loaded from a plugin\n",style,name)); + utils::logmesg(lmp,"Ignoring unload of {} style {}: not " + "loaded from a plugin\n",style,name); return; } @@ -305,7 +303,7 @@ namespace LAMMPS_NS // remove selected plugin from list of plugins if (me == 0) - utils::logmesg(lmp,fmt::format("Unloading {} style {}\n",style,name)); + utils::logmesg(lmp,"Unloading {} style {}\n",style,name); plugin_erase(style,name); // remove style of given name from corresponding map diff --git a/src/POEMS/fix_poems.cpp b/src/POEMS/fix_poems.cpp index 3d5b3697f7..d185523537 100644 --- a/src/POEMS/fix_poems.cpp +++ b/src/POEMS/fix_poems.cpp @@ -277,8 +277,8 @@ FixPOEMS::FixPOEMS(LAMMPS *lmp, int narg, char **arg) : nsum -= njoint; if (me == 0) - utils::logmesg(lmp,fmt::format("{} clusters, {} bodies, {} joints, {} atoms\n", - ncluster,nbody,njoint,nsum)); + utils::logmesg(lmp,"{} clusters, {} bodies, {} joints, {} atoms\n", + ncluster,nbody,njoint,nsum); } /* ---------------------------------------------------------------------- diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 3cd4f5dbc8..91cb0ce82c 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -602,8 +602,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : for (ibody = 0; ibody < nbody; ibody++) nsum += nrigid[ibody]; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} rigid bodies with {} atoms\n", - nbody,nsum)); + utils::logmesg(lmp," {} rigid bodies with {} atoms\n",nbody,nsum); } /* ---------------------------------------------------------------------- */ diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 14bd9f7a55..c1c956f08e 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -401,8 +401,8 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (customflag) delete [] bodyID; if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" create bodies CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," create bodies CPU = {:.3f} seconds\n", + MPI_Wtime()-time1); // set nlocal_body and allocate bodies I own @@ -460,10 +460,9 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : MPI_Allreduce(&atomone,&atomall,1,MPI_LMP_BIGINT,MPI_SUM,world); if (me == 0) { - auto msg = fmt::format(" {} rigid bodies with {} atoms\n",nbody,atomall); - msg += fmt::format(" {:.8} = max distance from body owner to body atom\n", - maxextent); - utils::logmesg(lmp,msg); + utils::logmesg(lmp," {} rigid bodies with {} atoms\n" + " {:.8} = max distance from body owner to body atom\n", + nbody,atomall,maxextent); } // initialize Marsaglia RNG with processor-unique seed diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 5662e63c88..957898d361 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -226,8 +226,8 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : find_clusters(); if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" find clusters CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," find clusters CPU = {:.3f} seconds\n", + MPI_Wtime()-time1); // initialize list of SHAKE clusters to constrain @@ -1007,11 +1007,11 @@ void FixShake::find_clusters() MPI_Allreduce(&tmp,&count4,1,MPI_INT,MPI_SUM,world); if (me == 0) { - auto mesg = fmt::format("{:>8} = # of size 2 clusters\n",count2/2); - mesg += fmt::format("{:>8} = # of size 3 clusters\n",count3/3); - mesg += fmt::format("{:>8} = # of size 4 clusters\n",count4/4); - mesg += fmt::format("{:>8} = # of frozen angles\n",count1/3); - utils::logmesg(lmp,mesg); + utils::logmesg(lmp,"{:>8} = # of size 2 clusters\n" + "{:>8} = # of size 3 clusters\n" + "{:>8} = # of size 4 clusters\n" + "{:>8} = # of frozen angles\n", + count2/2,count3/3,count4/4,count1/3); } } diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index 7a1efa064f..9e6ef32f5a 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -327,7 +327,7 @@ void FixMSST::setup(int /*vflag*/) v0 = compute_vol(); v0_set = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix MSST v0 = {:.8g}\n", v0)); + utils::logmesg(lmp,"Fix MSST v0 = {:.8g}\n", v0); } if (p0_set == 0) { @@ -335,7 +335,7 @@ void FixMSST::setup(int /*vflag*/) p0_set = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix MSST p0 = {:.8g}\n", p0)); + utils::logmesg(lmp,"Fix MSST p0 = {:.8g}\n", p0); } if (e0_set == 0) { @@ -343,7 +343,7 @@ void FixMSST::setup(int /*vflag*/) e0_set = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix MSST e0 = {:.8g}\n", e0)); + utils::logmesg(lmp,"Fix MSST e0 = {:.8g}\n", e0); } temperature->compute_vector(); @@ -364,10 +364,9 @@ void FixMSST::setup(int /*vflag*/) double fac2 = omega[direction]/v0; if ( comm->me == 0 && tscale != 1.0) - utils::logmesg(lmp,fmt::format("Fix MSST initial strain rate of " - "{:.8g} established by reducing " - "temperature by factor of {:.8g}\n", - fac2,tscale)); + utils::logmesg(lmp,"Fix MSST initial strain rate of {:.8g} " + "established by reducing temperature by factor " + "of {:.8g}\n",fac2,tscale); for (int i = 0; i < atom->nlocal; i++) { if (mask[i] & groupbit) { for (int k = 0; k < 3; k++) { diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index ae0023ddec..b4ee3c870a 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -565,8 +565,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) wjelem[jelem] = utils::numeric(FLERR,words[2].c_str(),false,lmp); if (comm->me == 0) - utils::logmesg(lmp,fmt::format("SNAP Element = {}, Radius {}, Weight {}\n", - elements[jelem], radelem[jelem], wjelem[jelem])); + utils::logmesg(lmp,"SNAP Element = {}, Radius {}, Weight {}\n", + elements[jelem], radelem[jelem], wjelem[jelem]); for (int icoeff = 0; icoeff < ncoeffall; icoeff++) { if (comm->me == 0) { @@ -660,7 +660,7 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) auto keyval = words[1]; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("SNAP keyword {} {}\n",keywd,keyval)); + utils::logmesg(lmp,"SNAP keyword {} {}\n",keywd,keyval); if (keywd == "rcutfac") { rcutfac = utils::numeric(FLERR,keyval.c_str(),false,lmp); diff --git a/src/USER-COLVARS/group_ndx.cpp b/src/USER-COLVARS/group_ndx.cpp index 995f60ac85..26711026e8 100644 --- a/src/USER-COLVARS/group_ndx.cpp +++ b/src/USER-COLVARS/group_ndx.cpp @@ -58,7 +58,7 @@ void Group2Ndx::command(int narg, char **arg) if (fp == nullptr) error->one(FLERR,fmt::format("Cannot open index file for writing: {}", utils::getsyserror())); - utils::logmesg(lmp,fmt::format("Writing groups to index file {}:\n",arg[0])); + utils::logmesg(lmp,"Writing groups to index file {}:\n",arg[0]); } if (narg == 1) { // write out all groups @@ -86,7 +86,7 @@ void Group2Ndx::write_group(FILE *fp, int gid) int lnum, width, cols; if (comm->me == 0) { - utils::logmesg(lmp,fmt::format(" writing group {}...",group->names[gid])); + utils::logmesg(lmp," writing group {}...",group->names[gid]); // the "all" group in LAMMPS is called "System" in Gromacs if (gid == 0) { diff --git a/src/USER-COLVARS/ndx_group.cpp b/src/USER-COLVARS/ndx_group.cpp index d8d5632b06..6b9a69ccd3 100644 --- a/src/USER-COLVARS/ndx_group.cpp +++ b/src/USER-COLVARS/ndx_group.cpp @@ -88,7 +88,7 @@ void Ndx2Group::command(int narg, char **arg) if (fp == nullptr) error->one(FLERR,fmt::format("Cannot open index file for reading: {}", utils::getsyserror())); - utils::logmesg(lmp,fmt::format("Reading groups from index file {}:\n",arg[0])); + utils::logmesg(lmp,"Reading groups from index file {}:\n",arg[0]); } if (narg == 1) { // restore all groups @@ -103,7 +103,7 @@ void Ndx2Group::command(int narg, char **arg) continue; } - utils::logmesg(lmp,fmt::format(" Processing group '{}'\n",name)); + utils::logmesg(lmp," Processing group '{}'\n",name); len = name.size()+1; MPI_Bcast(&len,1,MPI_INT,0,world); if (len > 1) { @@ -147,8 +147,8 @@ void Ndx2Group::command(int narg, char **arg) // find named section, search from beginning of file rewind(fp); name = find_section(fp,arg[idx]); - utils::logmesg(lmp,fmt::format(" {} group '{}'\n", name.size() - ? "Processing" : "Skipping",arg[idx])); + utils::logmesg(lmp," {} group '{}'\n", name.size() + ? "Processing" : "Skipping",arg[idx]); len = name.size()+1; MPI_Bcast(&len,1,MPI_INT,0,world); if (len > 1) { diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/USER-MISC/fix_orient_eco.cpp index 56da3cd6a1..b8b3a00354 100644 --- a/src/USER-MISC/fix_orient_eco.cpp +++ b/src/USER-MISC/fix_orient_eco.cpp @@ -162,8 +162,8 @@ void FixOrientECO::init() { // compute normalization factor int neigh = get_norm(); if (me == 0) { - utils::logmesg(lmp,fmt::format(" fix orient/eco: cutoff={} norm_fac={} " - "neighbors={}\n", r_cut, norm_fac, neigh)); + utils::logmesg(lmp," fix orient/eco: cutoff={} norm_fac={} " + "neighbors={}\n", r_cut, norm_fac, neigh); } inv_norm_fac = 1.0 / norm_fac; diff --git a/src/USER-MISC/fix_pafi.cpp b/src/USER-MISC/fix_pafi.cpp index 7d5216f540..472bb8498f 100644 --- a/src/USER-MISC/fix_pafi.cpp +++ b/src/USER-MISC/fix_pafi.cpp @@ -86,7 +86,7 @@ FixPAFI::FixPAFI(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute for fix pafi must have 9 fields per atom"); if (comm->me==0) - utils::logmesg(lmp,fmt::format("fix pafi compute name,style: {},{}\n",computename,PathCompute->style)); + utils::logmesg(lmp,"fix pafi compute name,style: {},{}\n",computename,PathCompute->style); respa_level_support = 1; ilevel_respa = nlevels_respa = 0; diff --git a/src/USER-PACE/pair_pace.cpp b/src/USER-PACE/pair_pace.cpp index d6eda0f511..ae13859968 100644 --- a/src/USER-PACE/pair_pace.cpp +++ b/src/USER-PACE/pair_pace.cpp @@ -280,8 +280,8 @@ void PairPACE::settings(int narg, char **arg) { } if (comm->me == 0) { - utils::logmesg(lmp,fmt::format("ACE version: {}.{}.{}\n", - VERSION_YEAR, VERSION_MONTH, VERSION_DAY)); + utils::logmesg(lmp,"ACE version: {}.{}.{}\n", + VERSION_YEAR, VERSION_MONTH, VERSION_DAY); if (recursive) utils::logmesg(lmp,"Recursive evaluator is used\n"); else utils::logmesg(lmp,"Product evaluator is used\n"); } @@ -303,7 +303,7 @@ void PairPACE::coeff(int narg, char **arg) { //load potential file aceimpl->basis_set = new ACECTildeBasisSet(); if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Loading {}\n", potential_file_name)); + utils::logmesg(lmp,"Loading {}\n", potential_file_name); aceimpl->basis_set->load(potential_file_name); if (comm->me == 0) { @@ -312,7 +312,7 @@ void PairPACE::coeff(int narg, char **arg) { for (SPECIES_TYPE mu = 0; mu < aceimpl->basis_set->nelements; mu++) { int n_r1 = aceimpl->basis_set->total_basis_size_rank1[mu]; int n = aceimpl->basis_set->total_basis_size[mu]; - utils::logmesg(lmp,fmt::format("\t{}: {} (r=1) {} (r>1)\n", aceimpl->basis_set->elements_name[mu], n_r1, n)); + utils::logmesg(lmp,"\t{}: {} (r=1) {} (r>1)\n", aceimpl->basis_set->elements_name[mu], n_r1, n); } } @@ -334,8 +334,8 @@ void PairPACE::coeff(int narg, char **arg) { SPECIES_TYPE mu = aceimpl->basis_set->get_species_index_by_name(elemname); if (mu != -1) { if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Mapping LAMMPS atom type #{}({}) -> " - "ACE species type #{}\n", i, elemname, mu)); + utils::logmesg(lmp,"Mapping LAMMPS atom type #{}({}) -> " + "ACE species type #{}\n", i, elemname, mu); map[i] = mu; aceimpl->ace->element_type_mapping(i) = mu; // set up LAMMPS atom type to ACE species mapping for ace evaluator } else { diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index a9dfb83f06..a21f5a59f0 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -415,7 +415,7 @@ void FixQBMSST::setup(int /*vflag*/) v0 = compute_vol(); v0_set = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix QBMSST v0 = {:12.5e}\n", v0)); + utils::logmesg(lmp,"Fix QBMSST v0 = {:12.5e}\n", v0); } if (p0_set == 0) { @@ -423,7 +423,7 @@ void FixQBMSST::setup(int /*vflag*/) p0_set = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix QBMSST p0 = {:12.5e}\n", p0)); + utils::logmesg(lmp,"Fix QBMSST p0 = {:12.5e}\n", p0); } if (e0_set == 0) { @@ -432,7 +432,7 @@ void FixQBMSST::setup(int /*vflag*/) old_eavg = e0; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Fix QBMSST e0 = to be {:12.5e}\n",e0)); + utils::logmesg(lmp,"Fix QBMSST e0 = to be {:12.5e}\n",e0); } temperature->compute_vector(); @@ -452,9 +452,9 @@ void FixQBMSST::setup(int /*vflag*/) double fac2 = omega[direction]/v0; if ( comm->me == 0 && tscale != 1.0) - utils::logmesg(lmp,fmt::format("Fix QBMSST initial strain rate of {:12.5e} " - "established by reducing temperature by " - "factor of {:12.5e}\n",fac2,tscale)); + utils::logmesg(lmp,"Fix QBMSST initial strain rate of {:12.5e} " + "established by reducing temperature by " + "factor of {:12.5e}\n",fac2,tscale); for (int i = 0; i < atom->nlocal; i++) { if (mask[i] & groupbit) { for (int k = 0; k < 3; k++) { diff --git a/src/bond.cpp b/src/bond.cpp index 1db4681c71..570d921abb 100644 --- a/src/bond.cpp +++ b/src/bond.cpp @@ -279,15 +279,15 @@ void Bond::write_file(int narg, char **arg) units, update->unit_style)); } std::string date = utils::get_potential_date(table_file,"table"); - utils::logmesg(lmp,fmt::format("Appending to table file {} with " - "DATE: {}\n", table_file, date)); + utils::logmesg(lmp,"Appending to table file {} with " + "DATE: {}\n", table_file, date); fp = fopen(table_file.c_str(),"a"); } else { char datebuf[16]; time_t tv = time(nullptr); strftime(datebuf,15,"%Y-%m-%d",localtime(&tv)); - utils::logmesg(lmp,fmt::format("Creating table file {} with " - "DATE: {}\n", table_file, datebuf)); + utils::logmesg(lmp,"Creating table file {} with " + "DATE: {}\n", table_file, datebuf); fp = fopen(table_file.c_str(),"w"); if (fp) fmt::print(fp,"# DATE: {} UNITS: {} Created by bond_write\n", datebuf, update->unit_style); diff --git a/src/comm.cpp b/src/comm.cpp index 6d3f72d9c0..85b6669d86 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -103,7 +103,7 @@ Comm::Comm(LAMMPS *lmp) : Pointers(lmp) if (!lmp->kokkos) omp_set_num_threads(nthreads); if (me == 0) - utils::logmesg(lmp,fmt::format(" using {} OpenMP thread(s) per MPI task\n",nthreads)); + utils::logmesg(lmp," using {} OpenMP thread(s) per MPI task\n",nthreads); #endif } diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 7591ae7587..0cec1eba33 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -596,10 +596,9 @@ void CreateAtoms::command(int narg, char **arg) MPI_Barrier(world); if (me == 0) - utils::logmesg(lmp, fmt::format("Created {} atoms\n" - " create_atoms CPU = {:.3f} seconds\n", - atom->natoms - natoms_previous, - MPI_Wtime() - time1)); + utils::logmesg(lmp,"Created {} atoms\n" + " create_atoms CPU = {:.3f} seconds\n", + atom->natoms - natoms_previous, MPI_Wtime() - time1); } /* ---------------------------------------------------------------------- diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index bedbe4b436..aba0178368 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -320,8 +320,8 @@ void CreateBonds::many() bigint nadd_bonds = atom->nbonds - nbonds_previous; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Added {} bonds, new total = {}\n", - nadd_bonds,atom->nbonds)); + utils::logmesg(lmp,"Added {} bonds, new total = {}\n", + nadd_bonds,atom->nbonds); } /* ---------------------------------------------------------------------- */ diff --git a/src/delete_bonds.cpp b/src/delete_bonds.cpp index 2bb46e7564..74029c8d5b 100644 --- a/src/delete_bonds.cpp +++ b/src/delete_bonds.cpp @@ -535,24 +535,20 @@ void DeleteBonds::command(int narg, char **arg) if (comm->me == 0) { if (atom->avec->bonds_allow) - utils::logmesg(lmp,fmt::format(" {} total bonds, " - "{} turned on, {} turned off\n", - atom->nbonds,bond_on,bond_off)); + utils::logmesg(lmp," {} total bonds, {} turned on, {} turned off\n", + atom->nbonds,bond_on,bond_off); if (atom->avec->angles_allow) - utils::logmesg(lmp,fmt::format(" {} total angles, " - "{} turned on, {} turned off\n", - atom->nangles,angle_on,angle_off)); + utils::logmesg(lmp," {} total angles, {} turned on, {} turned off\n", + atom->nangles,angle_on,angle_off); if (atom->avec->dihedrals_allow) - utils::logmesg(lmp,fmt::format(" {} total dihedrals, " - "{} turned on, {} turned off\n", - atom->ndihedrals,dihedral_on,dihedral_off)); + utils::logmesg(lmp," {} total dihedrals, {} turned on, {} turned off\n", + atom->ndihedrals,dihedral_on,dihedral_off); if (atom->avec->impropers_allow) - utils::logmesg(lmp,fmt::format(" {} total impropers, " - "{} turned on, {} turned off\n", - atom->nimpropers,improper_on,improper_off)); + utils::logmesg(lmp," {} total impropers, {} turned on, {} turned off\n", + atom->nimpropers,improper_on,improper_off); } // re-compute special list if requested diff --git a/src/finish.cpp b/src/finish.cpp index 28596e3a72..42dc163e13 100644 --- a/src/finish.cpp +++ b/src/finish.cpp @@ -121,9 +121,9 @@ void Finish::end(int flag) if (me == 0) { int ntasks = nprocs * nthreads; - utils::logmesg(lmp,fmt::format("Loop time of {:.6g} on {} procs for " - "{} steps with {} atoms\n\n",time_loop, - ntasks,update->nsteps,atom->natoms)); + utils::logmesg(lmp,"Loop time of {:.6g} on {} procs for " + "{} steps with {} atoms\n\n",time_loop, + ntasks,update->nsteps,atom->natoms); // Gromacs/NAMD-style performance metric for suitable unit settings @@ -141,20 +141,18 @@ void Finish::end(int flag) if (strcmp(update->unit_style,"lj") == 0) { double tau_day = 24.0*3600.0 / t_step * update->dt / one_fs; - utils::logmesg(lmp,fmt::format("Performance: {:.3f} tau/day, {:.3f} " - "timesteps/s\n",tau_day,step_t)); + utils::logmesg(lmp,"Performance: {:.3f} tau/day, {:.3f} " + "timesteps/s\n",tau_day,step_t); } else if (strcmp(update->unit_style,"electron") == 0) { double hrs_fs = t_step / update->dt * one_fs / 3600.0; double fs_day = 24.0*3600.0 / t_step * update->dt / one_fs; - utils::logmesg(lmp,fmt::format("Performance: {:.3f} fs/day, {:.3f} " - "hours/fs, {:.3f} timesteps/s\n", - fs_day,hrs_fs,step_t)); + utils::logmesg(lmp,"Performance: {:.3f} fs/day, {:.3f} hours/fs, " + "{:.3f} timesteps/s\n",fs_day,hrs_fs,step_t); } else { double hrs_ns = t_step / update->dt * 1000000.0 * one_fs / 3600.0; double ns_day = 24.0*3600.0 / t_step * update->dt / one_fs/1000000.0; - utils::logmesg(lmp,fmt::format("Performance: {:.3f} ns/day, {:.3f} " - "hours/ns, {:.3f} timesteps/s\n", - ns_day,hrs_ns,step_t)); + utils::logmesg(lmp,"Performance: {:.3f} ns/day, {:.3f} hours/ns, " + "{:.3f} timesteps/s\n",ns_day,hrs_ns,step_t); } } @@ -162,17 +160,15 @@ void Finish::end(int flag) if (timeflag) { if (lmp->kokkos) { - utils::logmesg(lmp,fmt::format("{:.1f}% CPU use with {} MPI tasks " - "x {} OpenMP threads\n",cpu_loop,nprocs, - lmp->kokkos->nthreads)); + utils::logmesg(lmp,"{:.1f}% CPU use with {} MPI tasks x {} OpenMP " + "threads\n",cpu_loop,nprocs,lmp->kokkos->nthreads); } else { #if defined(_OPENMP) - utils::logmesg(lmp,fmt::format("{:.1f}% CPU use with {} MPI tasks " - "x {} OpenMP threads\n", - cpu_loop,nprocs,nthreads)); + utils::logmesg(lmp,"{:.1f}% CPU use with {} MPI tasks x {} OpenMP " + "threads\n",cpu_loop,nprocs,nthreads); #else - utils::logmesg(lmp,fmt::format("{:.1f}% CPU use with {} MPI tasks " - "x no OpenMP threads\n",cpu_loop,nprocs)); + utils::logmesg(lmp,"{:.1f}% CPU use with {} MPI tasks " + "x no OpenMP threads\n",cpu_loop,nprocs); #endif } } @@ -225,33 +221,33 @@ void Finish::end(int flag) time = timer->get_wall(Timer::DEPHASE); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Dephase time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Dephase time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::DYNAMICS); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Dynamics time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Dynamics time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::QUENCH); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Quench time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Quench time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::REPCOMM); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Comm time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Comm time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::REPOUT); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Output time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Output time (%) = {} ({})\n", + time,time/time_loop*100.0); time = time_other; MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Other time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Other time (%) = {} ({})\n", + time,time/time_loop*100.0); } // TAD stats @@ -262,33 +258,33 @@ void Finish::end(int flag) time = timer->get_wall(Timer::NEB); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" NEB time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," NEB time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::DYNAMICS); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Dynamics time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Dynamics time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::QUENCH); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Quench time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Quench time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::REPCOMM); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Comm time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Comm time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::REPOUT); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Output time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Output time (%) = {} ({})\n", + time,time/time_loop*100.0); time = time_other; MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Other time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Other time (%) = {} ({})\n", + time,time/time_loop*100.0); } // HYPER stats @@ -299,18 +295,18 @@ void Finish::end(int flag) time = timer->get_wall(Timer::DYNAMICS); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Dynamics time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Dynamics time (%) = {} ({})\n", + time,time/time_loop*100.0); time = timer->get_wall(Timer::QUENCH); MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Quench time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Quench time (%) = {} ({})\n", + time,time/time_loop*100.0); time = time_other; MPI_Allreduce(&time,&tmp,1,MPI_DOUBLE,MPI_SUM,world); time = tmp/nprocs; - if (me == 0) utils::logmesg(lmp,fmt::format(" Other time (%) = {} ({})\n", - time,time/time_loop*100.0)); + if (me == 0) utils::logmesg(lmp," Other time (%) = {} ({})\n", + time,time/time_loop*100.0); } // further timing breakdowns @@ -358,13 +354,11 @@ void Finish::end(int flag) if (me == 0) { if (timer->has_full()) - utils::logmesg(lmp,fmt::format("Other | | {:<10.4g} | " - " | | |{:6.2f}\n", - time,time/time_loop*100.0)); + utils::logmesg(lmp,"Other | | {:<10.4g} | | " + " | |{:6.2f}\n",time,time/time_loop*100.0); else - utils::logmesg(lmp,fmt::format("Other | | {:<10.4g} | " - " | |{:6.2f}\n", - time,time/time_loop*100.0)); + utils::logmesg(lmp,"Other | | {:<10.4g} | | " + " |{:6.2f}\n",time,time/time_loop*100.0); } } @@ -388,7 +382,7 @@ void Finish::end(int flag) "\nThread timing breakdown (MPI rank {}):\nTotal threaded time {:.4g} / {:.1f}%\n" "Section | min time | avg time | max time |%varavg| %total\n" "---------------------------------------------------------------\n"; - utils::logmesg(lmp,fmt::format(thr_fmt,me,thr_total,thr_total/time_loop*100.0)); + utils::logmesg(lmp,thr_fmt,me,thr_total,thr_total/time_loop*100.0); omp_times(fixomp,"Pair",Timer::PAIR,nthreads,screen,logfile); if (atom->molecular != Atom::ATOMIC) @@ -460,9 +454,9 @@ void Finish::end(int flag) } else fraction = flop3 = flop1 = 0.0; if (me == 0) - utils::logmesg(lmp,fmt::format("FFT time (% of Kspce) = {:.6} ({:.4})\n" - "FFT Gflps 3d (1d only) = {:.8} {:.8}\n", - time3d,fraction,flop3,flop1)); + utils::logmesg(lmp,"FFT time (% of Kspce) = {:.6} ({:.4})\n" + "FFT Gflps 3d (1d only) = {:.8} {:.8}\n", + time3d,fraction,flop3,flop1); } if (histoflag) { diff --git a/src/group.cpp b/src/group.cpp index 9e140779ef..997214cbc7 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -535,9 +535,9 @@ void Group::assign(int narg, char **arg) if (me == 0) { if (dynamic[igroup]) - utils::logmesg(lmp,fmt::format("dynamic group {} defined\n",names[igroup])); + utils::logmesg(lmp,"dynamic group {} defined\n",names[igroup]); else - utils::logmesg(lmp,fmt::format("{:.15g} atoms in group {}\n",all,names[igroup])); + utils::logmesg(lmp,"{:.15g} atoms in group {}\n",all,names[igroup]); } } diff --git a/src/lattice.cpp b/src/lattice.cpp index 3a0deb72db..bfc0b5b9ef 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -300,9 +300,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // print lattice spacings if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Lattice spacing in x,y,z = " - "{:.8} {:.8} {:.8}\n", - xlattice,ylattice,zlattice)); + utils::logmesg(lmp,"Lattice spacing in x,y,z = {:.8} {:.8} {:.8}\n", + xlattice,ylattice,zlattice); } /* ---------------------------------------------------------------------- */ diff --git a/src/modify.cpp b/src/modify.cpp index 246b855913..f8a75ca908 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -925,9 +925,9 @@ void Modify::add_fix(int narg, char **arg, int trysuffix) used_restart_global[i] = 1; fix[ifix]->restart_reset = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Resetting global fix info from restart file:\n" - " fix style: {}, fix ID: {}\n", - fix[ifix]->style,fix[ifix]->id)); + utils::logmesg(lmp,"Resetting global fix info from restart file:\n" + " fix style: {}, fix ID: {}\n", + fix[ifix]->style,fix[ifix]->id); } // check if Fix is in restart_peratom list @@ -941,9 +941,9 @@ void Modify::add_fix(int narg, char **arg, int trysuffix) fix[ifix]->unpack_restart(j,index_restart_peratom[i]); fix[ifix]->restart_reset = 1; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Resetting peratom fix info from restart file:\n" - " fix style: {}, fix ID: {}\n", - fix[ifix]->style,fix[ifix]->id)); + utils::logmesg(lmp,"Resetting peratom fix info from restart file:\n" + " fix style: {}, fix ID: {}\n", + fix[ifix]->style,fix[ifix]->id); } // increment nfix (if new) @@ -1574,8 +1574,8 @@ void Modify::restart_deallocate(int flag) utils::logmesg(lmp,"Unused restart file global fix info:\n"); for (i = 0; i < nfix_restart_global; i++) { if (used_restart_global[i]) continue; - utils::logmesg(lmp,fmt::format(" fix style: {}, fix ID: {}\n", - style_restart_global[i],id_restart_global[i])); + utils::logmesg(lmp," fix style: {}, fix ID: {}\n", + style_restart_global[i],id_restart_global[i]); } } } @@ -1602,8 +1602,8 @@ void Modify::restart_deallocate(int flag) utils::logmesg(lmp,"Unused restart file peratom fix info:\n"); for (i = 0; i < nfix_restart_peratom; i++) { if (used_restart_peratom[i]) continue; - utils::logmesg(lmp,fmt::format(" fix style: {}, fix ID: {}\n", - style_restart_peratom[i],id_restart_peratom[i])); + utils::logmesg(lmp," fix style: {}, fix ID: {}\n", + style_restart_peratom[i],id_restart_peratom[i]); } } } diff --git a/src/molecule.cpp b/src/molecule.cpp index 644e3ff79c..9aca15820d 100644 --- a/src/molecule.cpp +++ b/src/molecule.cpp @@ -146,16 +146,14 @@ Molecule::Molecule(LAMMPS *lmp, int narg, char **arg, int &index) : // stats if (me == 0) - utils::logmesg(lmp,fmt::format("Read molecule template {}:\n" - " {} molecules\n" - " {} atoms with max type {}\n" - " {} bonds with max type {}\n" - " {} angles with max type {}\n" - " {} dihedrals with max type {}\n" - " {} impropers with max type {}\n", - id,nmolecules,natoms,ntypes, - nbonds,nbondtypes,nangles,nangletypes, - ndihedrals,ndihedraltypes,nimpropers,nimpropertypes)); + utils::logmesg(lmp,"Read molecule template {}:\n {} molecules\n" + " {} atoms with max type {}\n" + " {} bonds with max type {}\n" + " {} angles with max type {}\n" + " {} dihedrals with max type {}\n" + " {} impropers with max type {}\n", id,nmolecules, + natoms,ntypes,nbonds,nbondtypes,nangles,nangletypes, + ndihedrals,ndihedraltypes,nimpropers,nimpropertypes); } /* ---------------------------------------------------------------------- */ diff --git a/src/output.cpp b/src/output.cpp index d7be9b8cd6..6f11079a75 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -817,7 +817,6 @@ void Output::memory_usage() mbavg /= comm->nprocs; if (comm->me == 0) - utils::logmesg(lmp,fmt::format("Per MPI rank memory allocation (min/avg/" - "max) = {:.4} | {:.4} | {:.4} Mbytes\n", - mbmin,mbavg,mbmax)); + utils::logmesg(lmp,"Per MPI rank memory allocation (min/avg/max) = " + "{:.4} | {:.4} | {:.4} Mbytes\n",mbmin,mbavg,mbmax); } diff --git a/src/pair.cpp b/src/pair.cpp index 0d90b0ce39..015129dc5d 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1734,15 +1734,15 @@ void Pair::write_file(int narg, char **arg) units, update->unit_style)); } std::string date = utils::get_potential_date(table_file,"table"); - utils::logmesg(lmp,fmt::format("Appending to table file {} with " - "DATE: {}\n", table_file, date)); + utils::logmesg(lmp,"Appending to table file {} with DATE: {}\n", + table_file, date); fp = fopen(table_file.c_str(),"a"); } else { char datebuf[16]; time_t tv = time(nullptr); strftime(datebuf,15,"%Y-%m-%d",localtime(&tv)); - utils::logmesg(lmp,fmt::format("Creating table file {} with " - "DATE: {}\n", table_file, datebuf)); + utils::logmesg(lmp,"Creating table file {} with DATE: {}\n", + table_file, datebuf); fp = fopen(table_file.c_str(),"w"); if (fp) fmt::print(fp,"# DATE: {} UNITS: {} Created by pair_write\n", datebuf, update->unit_style); diff --git a/src/potential_file_reader.cpp b/src/potential_file_reader.cpp index bddfca9bce..ce369253cf 100644 --- a/src/potential_file_reader.cpp +++ b/src/potential_file_reader.cpp @@ -254,8 +254,8 @@ TextFileReader *PotentialFileReader::open_potential(const std::string &path) { std::string units = utils::get_potential_units(filepath, filetype); if (!date.empty()) - utils::logmesg(lmp, fmt::format("Reading {} file {} with DATE: {}\n", - filetype, filename, date)); + utils::logmesg(lmp,"Reading {} file {} with DATE: {}\n", + filetype, filename, date); if (units.empty()) { unit_convert = utils::NOCONVERT; diff --git a/src/read_data.cpp b/src/read_data.cpp index c0085f19d1..57d5d898a9 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -907,8 +907,7 @@ void ReadData::command(int narg, char **arg) MPI_Barrier(world); if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" read_data CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," read_data CPU = {:.3f} seconds\n",MPI_Wtime()-time1); } /* ---------------------------------------------------------------------- @@ -1239,7 +1238,7 @@ void ReadData::atoms() MPI_Allreduce(&n,&sum,1,MPI_LMP_BIGINT,MPI_SUM,world); bigint nassign = sum - (atom->natoms - natoms); - if (me == 0) utils::logmesg(lmp,fmt::format(" {} atoms\n",nassign)); + if (me == 0) utils::logmesg(lmp," {} atoms\n",nassign); if (sum != atom->natoms) error->all(FLERR,"Did not assign all atoms correctly"); @@ -1293,7 +1292,7 @@ void ReadData::velocities() atom->map_style = Atom::MAP_NONE; } - if (me == 0) utils::logmesg(lmp,fmt::format(" {} velocities\n",natoms)); + if (me == 0) utils::logmesg(lmp," {} velocities\n",natoms); } /* ---------------------------------------------------------------------- @@ -1342,7 +1341,7 @@ void ReadData::bonds(int firstpass) if (addflag == NONE) maxall += atom->extra_bond_per_atom; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = max bonds/atom\n",maxall)); + utils::logmesg(lmp," {} = max bonds/atom\n",maxall); if (addflag != NONE) { if (maxall > atom->bond_per_atom) @@ -1364,7 +1363,7 @@ void ReadData::bonds(int firstpass) if (!force->newton_bond) factor = 2; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} bonds\n",sum/factor)); + utils::logmesg(lmp," {} bonds\n",sum/factor); if (sum != factor*nbonds) error->all(FLERR,"Bonds assigned incorrectly"); @@ -1416,7 +1415,7 @@ void ReadData::angles(int firstpass) if (addflag == NONE) maxall += atom->extra_angle_per_atom; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = max angles/atom\n",maxall)); + utils::logmesg(lmp," {} = max angles/atom\n",maxall); if (addflag != NONE) { if (maxall > atom->angle_per_atom) @@ -1438,7 +1437,7 @@ void ReadData::angles(int firstpass) if (!force->newton_bond) factor = 3; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} angles\n",sum/factor)); + utils::logmesg(lmp," {} angles\n",sum/factor); if (sum != factor*nangles) error->all(FLERR,"Angles assigned incorrectly"); @@ -1490,7 +1489,7 @@ void ReadData::dihedrals(int firstpass) if (addflag == NONE) maxall += atom->extra_dihedral_per_atom; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = max dihedrals/atom\n",maxall)); + utils::logmesg(lmp," {} = max dihedrals/atom\n",maxall); if (addflag != NONE) { if (maxall > atom->dihedral_per_atom) @@ -1512,7 +1511,7 @@ void ReadData::dihedrals(int firstpass) if (!force->newton_bond) factor = 4; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} dihedrals\n",sum/factor)); + utils::logmesg(lmp," {} dihedrals\n",sum/factor); if (sum != factor*ndihedrals) error->all(FLERR,"Dihedrals assigned incorrectly"); @@ -1564,7 +1563,7 @@ void ReadData::impropers(int firstpass) if (addflag == NONE) maxall += atom->extra_improper_per_atom; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = max impropers/atom\n",maxall)); + utils::logmesg(lmp," {} = max impropers/atom\n",maxall); if (addflag != NONE) { if (maxall > atom->improper_per_atom) @@ -1586,7 +1585,7 @@ void ReadData::impropers(int firstpass) if (!force->newton_bond) factor = 4; if (me == 0) - utils::logmesg(lmp,fmt::format(" {} impropers\n",sum/factor)); + utils::logmesg(lmp," {} impropers\n",sum/factor); if (sum != factor*nimpropers) error->all(FLERR,"Impropers assigned incorrectly"); @@ -1625,7 +1624,7 @@ void ReadData::bonus(bigint nbonus, AtomVec *ptr, const char *type) } if (me == 0) - utils::logmesg(lmp,fmt::format(" {} {}\n",natoms,type)); + utils::logmesg(lmp," {} {}\n",natoms,type); } /* ---------------------------------------------------------------------- @@ -1729,7 +1728,7 @@ void ReadData::bodies(int firstpass, AtomVec *ptr) } if (me == 0 && firstpass) - utils::logmesg(lmp,fmt::format(" {} bodies\n",natoms)); + utils::logmesg(lmp," {} bodies\n",natoms); } /* ---------------------------------------------------------------------- */ diff --git a/src/read_dump.cpp b/src/read_dump.cpp index ddb793c629..370752f698 100644 --- a/src/read_dump.cpp +++ b/src/read_dump.cpp @@ -157,13 +157,14 @@ void ReadDump::command(int narg, char **arg) domain->print_box(" "); if (me == 0) - utils::logmesg(lmp, fmt::format(" {} atoms before read\n",natoms_prev) - + fmt::format(" {} atoms in snapshot\n",nsnap_all) - + fmt::format(" {} atoms purged\n",npurge_all) - + fmt::format(" {} atoms replaced\n",nreplace_all) - + fmt::format(" {} atoms trimmed\n",ntrim_all) - + fmt::format(" {} atoms added\n",nadd_all) - + fmt::format(" {} atoms after read\n",atom->natoms)); + utils::logmesg(lmp," {} atoms before read\n" + " {} atoms in snapshot\n" + " {} atoms purged\n" + " {} atoms replaced\n" + " {} atoms trimmed\n" + " {} atoms added\n" + " {} atoms after read\n",natoms_prev,nsnap_all, + npurge_all,nreplace_all,ntrim_all,nadd_all,atom->natoms); } /* ---------------------------------------------------------------------- */ diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 2742dc5e4e..40e4414543 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -467,7 +467,7 @@ void ReadRestart::command(int narg, char **arg) MPI_Allreduce(&nblocal,&natoms,1,MPI_LMP_BIGINT,MPI_SUM,world); if (me == 0) - utils::logmesg(lmp,fmt::format(" {} atoms\n",natoms)); + utils::logmesg(lmp," {} atoms\n",natoms); if (natoms != atom->natoms) error->all(FLERR,"Did not assign all restart atoms correctly"); @@ -524,8 +524,8 @@ void ReadRestart::command(int narg, char **arg) MPI_Barrier(world); if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" read_restart CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," read_restart CPU = {:.3f} seconds\n", + MPI_Wtime()-time1); } /* ---------------------------------------------------------------------- @@ -634,8 +634,8 @@ void ReadRestart::header() if (flag == VERSION) { char *version = read_string(); if (me == 0) - utils::logmesg(lmp,fmt::format(" restart file = {}, LAMMPS = {}\n", - version,lmp->version)); + utils::logmesg(lmp," restart file = {}, LAMMPS = {}\n", + version,lmp->version); delete [] version; // we have no forward compatibility, thus exit with error @@ -809,7 +809,7 @@ void ReadRestart::header() argcopy[i] = read_string(); atom->create_avec(style,nargcopy,argcopy,1); if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring atom style {} from restart\n",style)); + utils::logmesg(lmp," restoring atom style {} from restart\n",style); for (int i = 0; i < nargcopy; i++) delete [] argcopy[i]; delete [] argcopy; delete [] style; @@ -950,15 +950,14 @@ void ReadRestart::force_fields() force->create_pair(style,1); delete [] style; if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring pair style {} from " - "restart\n", force->pair_style)); + utils::logmesg(lmp," restoring pair style {} from restart\n", + force->pair_style); force->pair->read_restart(fp); } else if (flag == NO_PAIR) { style = read_string(); if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" pair style {} stores no " - "restart info\n", style)); + utils::logmesg(lmp," pair style {} stores no restart info\n", style); force->create_pair("none",0); force->pair_restart = style; @@ -967,8 +966,8 @@ void ReadRestart::force_fields() force->create_bond(style,1); delete [] style; if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring bond style {} from " - "restart\n", force->bond_style)); + utils::logmesg(lmp," restoring bond style {} from restart\n", + force->bond_style); force->bond->read_restart(fp); } else if (flag == ANGLE) { @@ -976,8 +975,8 @@ void ReadRestart::force_fields() force->create_angle(style,1); delete [] style; if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring angle style {} from " - "restart\n", force->angle_style)); + utils::logmesg(lmp," restoring angle style {} from restart\n", + force->angle_style); force->angle->read_restart(fp); } else if (flag == DIHEDRAL) { @@ -985,8 +984,8 @@ void ReadRestart::force_fields() force->create_dihedral(style,1); delete [] style; if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring dihedral style {} from " - "restart\n", force->dihedral_style)); + utils::logmesg(lmp," restoring dihedral style {} from restart\n", + force->dihedral_style); force->dihedral->read_restart(fp); } else if (flag == IMPROPER) { @@ -994,8 +993,8 @@ void ReadRestart::force_fields() force->create_improper(style,1); delete [] style; if (comm->me ==0) - utils::logmesg(lmp,fmt::format(" restoring improper style {} from " - "restart\n", force->improper_style)); + utils::logmesg(lmp," restoring improper style {} from restart\n", + force->improper_style); force->improper->read_restart(fp); } else error->all(FLERR, diff --git a/src/replicate.cpp b/src/replicate.cpp index 95bf615d04..5a596c524c 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -647,9 +647,8 @@ void Replicate::command(int narg, char **arg) MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); double avg = (double) sum / nprocs; if (me == 0) - utils::logmesg(lmp,fmt::format(" average # of replicas added to proc =" - " {:.2f} out of {} ({:.2f}%)\n", - avg,nx*ny*nz,avg/(nx*ny*nz)*100.0)); + utils::logmesg(lmp," average # of replicas added to proc = {:.2f} out " + "of {} ({:.2f}%)\n",avg,nx*ny*nz,avg/(nx*ny*nz)*100.0); } else { for (int iproc = 0; iproc < nprocs; iproc++) { @@ -753,7 +752,7 @@ void Replicate::command(int narg, char **arg) MPI_Allreduce(&nblocal,&natoms,1,MPI_LMP_BIGINT,MPI_SUM,world); if (me == 0) { - utils::logmesg(lmp,fmt::format(" {} atoms\n",natoms)); + utils::logmesg(lmp," {} atoms\n",natoms); } if (natoms != atom->natoms) @@ -763,16 +762,16 @@ void Replicate::command(int narg, char **arg) const char *molstyle = ""; if (atom->molecular == Atom::TEMPLATE) molstyle = "template "; if (atom->nbonds) { - utils::logmesg(lmp,fmt::format(" {} {}bonds\n",atom->nbonds,molstyle)); + utils::logmesg(lmp," {} {}bonds\n",atom->nbonds,molstyle); } if (atom->nangles) { - utils::logmesg(lmp,fmt::format(" {} {}angles\n",atom->nangles,molstyle)); + utils::logmesg(lmp," {} {}angles\n",atom->nangles,molstyle); } if (atom->ndihedrals) { - utils::logmesg(lmp,fmt::format(" {} {}dihedrals\n",atom->ndihedrals,molstyle)); + utils::logmesg(lmp," {} {}dihedrals\n",atom->ndihedrals,molstyle); } if (atom->nimpropers) { - utils::logmesg(lmp,fmt::format(" {} {}impropers\n",atom->nimpropers,molstyle)); + utils::logmesg(lmp," {} {}impropers\n",atom->nimpropers,molstyle); } } @@ -799,6 +798,5 @@ void Replicate::command(int narg, char **arg) MPI_Barrier(world); if (me == 0) - utils::logmesg(lmp,fmt::format(" replicate CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," replicate CPU = {:.3f} seconds\n",MPI_Wtime()-time1); } diff --git a/src/reset_mol_ids.cpp b/src/reset_mol_ids.cpp index 39f7307ca1..9501c19861 100644 --- a/src/reset_mol_ids.cpp +++ b/src/reset_mol_ids.cpp @@ -131,11 +131,11 @@ void ResetMolIDs::command(int narg, char **arg) if (comm->me == 0) { if (nchunk < 0) - utils::logmesg(lmp,fmt::format(" number of new molecule IDs = unknown\n")); + utils::logmesg(lmp," number of new molecule IDs = unknown\n"); else - utils::logmesg(lmp,fmt::format(" number of new molecule IDs = {}\n",nchunk)); - utils::logmesg(lmp,fmt::format(" reset_mol_ids CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," number of new molecule IDs = {}\n",nchunk); + utils::logmesg(lmp," reset_mol_ids CPU = {:.3f} seconds\n", + MPI_Wtime()-time1); } } diff --git a/src/set.cpp b/src/set.cpp index fdc0c37bfd..c36df7f1c7 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -600,11 +600,11 @@ void Set::command(int narg, char **arg) if (comm->me == 0) { if (strcmp(arg[origarg],"cc") == 0) - utils::logmesg(lmp,fmt::format(" {} settings made for {} index {}\n", - allcount,arg[origarg],arg[origarg+1])); + utils::logmesg(lmp," {} settings made for {} index {}\n", + allcount,arg[origarg],arg[origarg+1]); else - utils::logmesg(lmp,fmt::format(" {} settings made for {}\n", - allcount,arg[origarg])); + utils::logmesg(lmp," {} settings made for {}\n", + allcount,arg[origarg]); } } diff --git a/src/special.cpp b/src/special.cpp index d263112756..2d90f377a2 100644 --- a/src/special.cpp +++ b/src/special.cpp @@ -92,7 +92,7 @@ void Special::build() // print max # of 1-2 neighbors if (me == 0) - utils::logmesg(lmp,fmt::format("{:>6} = max # of 1-2 neighbors\n",maxall)); + utils::logmesg(lmp,"{:>6} = max # of 1-2 neighbors\n",maxall); // done if special_bond weights for 1-3, 1-4 are set to 1.0 @@ -115,7 +115,7 @@ void Special::build() // print max # of 1-3 neighbors if (me == 0) - utils::logmesg(lmp,fmt::format("{:>6} = max # of 1-3 neighbors\n",maxall)); + utils::logmesg(lmp,"{:>6} = max # of 1-3 neighbors\n",maxall); // done if special_bond weights for 1-4 are set to 1.0 @@ -138,7 +138,7 @@ void Special::build() // print max # of 1-4 neighbors if (me == 0) - utils::logmesg(lmp,fmt::format("{:>6} = max # of 1-4 neighbors\n",maxall)); + utils::logmesg(lmp,"{:>6} = max # of 1-4 neighbors\n",maxall); // finish processing the onetwo, onethree, onefour lists @@ -690,8 +690,7 @@ void Special::combine() force->special_extra = 0; if (me == 0) - utils::logmesg(lmp,fmt::format("{:>6} = max # of special " - "neighbors\n",atom->maxspecial)); + utils::logmesg(lmp,"{:>6} = max # of special neighbors\n",atom->maxspecial); if (lmp->kokkos) { AtomKokkos* atomKK = (AtomKokkos*) atom; @@ -793,8 +792,8 @@ void Special::angle_trim() MPI_Allreduce(&onethreecount,&allcount,1,MPI_DOUBLE,MPI_SUM,world); if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = # of 1-3 neighbors " - "before angle trim\n",allcount)); + utils::logmesg(lmp," {} = # of 1-3 neighbors before angle trim\n", + allcount); // if angles or dihedrals are defined // rendezvous angle 1-3 and dihedral 1-3,2-4 pairs @@ -1023,8 +1022,8 @@ void Special::angle_trim() MPI_Allreduce(&onethreecount,&allcount,1,MPI_DOUBLE,MPI_SUM,world); if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = # of 1-3 neighbors " - "after angle trim\n",allcount)); + utils::logmesg(lmp," {} = # of 1-3 neighbors after angle trim\n", + allcount); } /* ---------------------------------------------------------------------- @@ -1053,8 +1052,8 @@ void Special::dihedral_trim() MPI_Allreduce(&onefourcount,&allcount,1,MPI_DOUBLE,MPI_SUM,world); if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = # of 1-4 neighbors " - "before dihedral trim\n",allcount)); + utils::logmesg(lmp," {} = # of 1-4 neighbors before dihedral trim\n", + allcount); // if dihedrals are defined, rendezvous the dihedral 1-4 pairs @@ -1197,8 +1196,8 @@ void Special::dihedral_trim() MPI_Allreduce(&onefourcount,&allcount,1,MPI_DOUBLE,MPI_SUM,world); if (me == 0) - utils::logmesg(lmp,fmt::format(" {} = # of 1-4 neighbors " - "after dihedral trim\n",allcount)); + utils::logmesg(lmp," {} = # of 1-4 neighbors after dihedral trim\n", + allcount); } /* ---------------------------------------------------------------------- @@ -1313,6 +1312,6 @@ void Special::fix_alteration() void Special::timer_output(double time1) { if (comm->me == 0) - utils::logmesg(lmp,fmt::format(" special bonds CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); + utils::logmesg(lmp," special bonds CPU = {:.3f} seconds\n", + MPI_Wtime()-time1); } diff --git a/src/timer.cpp b/src/timer.cpp index 9c8cf5db8c..79fb63e7b5 100644 --- a/src/timer.cpp +++ b/src/timer.cpp @@ -294,8 +294,7 @@ void Timer::modify_params(int narg, char **arg) strftime(timebuf,32,"%H:%M:%S",tm); } - utils::logmesg(lmp,fmt::format("New timer settings: style={} mode={} " - "timeout={}\n",timer_style[_level], - timer_mode[_sync],timebuf)); + utils::logmesg(lmp,"New timer settings: style={} mode={} timeout={}\n", + timer_style[_level],timer_mode[_sync],timebuf); } } diff --git a/src/utils.cpp b/src/utils.cpp index 4071b7b61b..fedf86149e 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -1099,10 +1099,8 @@ FILE *utils::open_potential(const std::string &name, LAMMPS *lmp, std::string date = get_potential_date(filepath, "potential"); std::string units = get_potential_units(filepath, "potential"); - if (!date.empty() && (me == 0)) { - logmesg(lmp, fmt::format("Reading potential file {} " - "with DATE: {}\n", name, date)); - } + if (!date.empty() && (me == 0)) + logmesg(lmp,"Reading potential file {} with DATE: {}\n", name, date); if (auto_convert == nullptr) { if (!units.empty() && (units != unit_style) && (me == 0)) { From 3aec5c64849ee925c20735dc71fa64899040c09e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Apr 2021 23:50:13 -0400 Subject: [PATCH 124/542] tweak docs for logmesg() overload --- doc/src/Developer_utils.rst | 5 ++++- src/utils.h | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 17b4715dc7..7adaffa67c 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -164,7 +164,10 @@ Argument processing Convenience functions ^^^^^^^^^^^^^^^^^^^^^ -.. doxygenfunction:: logmesg +.. doxygenfunction:: logmesg(LAMMPS *lmp, const S &format, Args&&... args) + :project: progguide + +.. doxygenfunction:: logmesg(LAMMPS *lmp, const std::string &mesg) :project: progguide .. doxygenfunction:: getsyserror diff --git a/src/utils.h b/src/utils.h index 6eed8fd3bc..e0ab413e59 100644 --- a/src/utils.h +++ b/src/utils.h @@ -57,8 +57,7 @@ namespace LAMMPS_NS { * This function simplifies the repetitive task of outputting some * message to both the screen and/or the log file. The template * wrapper with fmtlib format and argument processing allows - * this function to work similar to fmt::print(). - * The specialization overload handles the case of no arguments. + * this function to work similar to ``fmt::print()``. * * \param lmp pointer to LAMMPS class instance * \param format format string of message to be printed @@ -70,7 +69,10 @@ namespace LAMMPS_NS { fmt::make_args_checked(format, args...)); } - /** \overload */ + /** \overload + * + * \param lmp pointer to LAMMPS class instance + * \param mesg string with message to be printed */ void logmesg(LAMMPS *lmp, const std::string &mesg); From a49d783e16111172d75b2e3de265838d16634214 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Apr 2021 05:44:35 -0400 Subject: [PATCH 125/542] check formatting and multiple arguments when using utils::logmesg() --- unittest/formats/test_file_operations.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 700990fb72..fe2bf2d2f6 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -126,7 +126,7 @@ TEST_F(FileOperationsTest, safe_fread) TEST_F(FileOperationsTest, logmesg) { - char buf[8]; + char buf[16]; BEGIN_HIDE_OUTPUT(); command("echo none"); END_HIDE_OUTPUT(); @@ -134,14 +134,15 @@ TEST_F(FileOperationsTest, logmesg) utils::logmesg(lmp, "one\n"); command("log test_logmesg.log"); utils::logmesg(lmp, "two\n"); + utils::logmesg(lmp, "three={}\n",3); command("log none"); std::string out = END_CAPTURE_OUTPUT(); - memset(buf, 0, 8); + memset(buf, 0, 16); FILE *fp = fopen("test_logmesg.log", "r"); - fread(buf, 1, 8, fp); + fread(buf, 1, 16, fp); fclose(fp); - ASSERT_THAT(out, StrEq("one\ntwo\n")); - ASSERT_THAT(buf, StrEq("two\n")); + ASSERT_THAT(out, StrEq("one\ntwo\nthree=3\n")); + ASSERT_THAT(buf, StrEq("two\nthree=3\n")); remove("test_logmesg.log"); } From ad02e9df69ae77cacea95424a9f6523479e18b67 Mon Sep 17 00:00:00 2001 From: Agilio Padua Date: Thu, 22 Apr 2021 18:40:45 +0200 Subject: [PATCH 126/542] Added example of SPCE hydration, LJ + q --- examples/USER/fep/README.md | 3 + examples/USER/fep/SPCEhyd/README.md | 45 + examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep | 22 + examples/USER/fep/SPCEhyd/fep01/fep01-lj.out | 592 +++ examples/USER/fep/SPCEhyd/fep01/fep01-q.fep | 22 + examples/USER/fep/SPCEhyd/fep01/fep01-q.out | 561 +++ .../USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp | 72 + .../USER/fep/SPCEhyd/fep01/in-fep01-q.lmp | 78 + examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep | 22 + examples/USER/fep/SPCEhyd/fep10/fep10-lj.out | 592 +++ examples/USER/fep/SPCEhyd/fep10/fep10-q.fep | 22 + examples/USER/fep/SPCEhyd/fep10/fep10-q.out | 559 +++ .../USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp | 72 + .../USER/fep/SPCEhyd/fep10/in-fep10-q.lmp | 76 + examples/USER/fep/SPCEhyd/mols/data.lmp | 3635 +++++++++++++++++ examples/USER/fep/SPCEhyd/mols/spce.ff | 14 + examples/USER/fep/SPCEhyd/mols/spce.zmat | 7 + examples/USER/fep/SPCEhyd/mols/spce_h.ff | 14 + examples/USER/fep/SPCEhyd/mols/spce_h.zmat | 7 + 19 files changed, 6415 insertions(+) create mode 100644 examples/USER/fep/SPCEhyd/README.md create mode 100644 examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep create mode 100644 examples/USER/fep/SPCEhyd/fep01/fep01-lj.out create mode 100644 examples/USER/fep/SPCEhyd/fep01/fep01-q.fep create mode 100644 examples/USER/fep/SPCEhyd/fep01/fep01-q.out create mode 100644 examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp create mode 100644 examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp create mode 100644 examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep create mode 100644 examples/USER/fep/SPCEhyd/fep10/fep10-lj.out create mode 100644 examples/USER/fep/SPCEhyd/fep10/fep10-q.fep create mode 100644 examples/USER/fep/SPCEhyd/fep10/fep10-q.out create mode 100644 examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp create mode 100644 examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp create mode 100644 examples/USER/fep/SPCEhyd/mols/data.lmp create mode 100644 examples/USER/fep/SPCEhyd/mols/spce.ff create mode 100644 examples/USER/fep/SPCEhyd/mols/spce.zmat create mode 100644 examples/USER/fep/SPCEhyd/mols/spce_h.ff create mode 100644 examples/USER/fep/SPCEhyd/mols/spce_h.zmat diff --git a/examples/USER/fep/README.md b/examples/USER/fep/README.md index 416af526e7..d8f0935115 100644 --- a/examples/USER/fep/README.md +++ b/examples/USER/fep/README.md @@ -9,6 +9,9 @@ to the final states. * `CH4hyd` -- free energy of hydration of methane (simple). FEP and FDTI methods. +* `SPCEhyd` -- free energy of hydration of SPCE water (simple). FEP + in separate steps for the LJ sites and the atomic charges. + * `CH4-CF4` -- free energy difference of transforming methane into perfluoromethane, in water (quite simple). FEP and BAR methods. diff --git a/examples/USER/fep/SPCEhyd/README.md b/examples/USER/fep/SPCEhyd/README.md new file mode 100644 index 0000000000..de30f0c19b --- /dev/null +++ b/examples/USER/fep/SPCEhyd/README.md @@ -0,0 +1,45 @@ +Free Energy of Hydration of SPCE Water +====================================== + +Example calculation of the free energy of hydration of water with +LAMMPS using *compute fep*, *fix adapt/fep* and *pair lj/cut/soft*. + +The Lennard-Jones sites and the electrostatic charges are +created/annihilated in separate runs, which simplifies the use of +*fix adapt/fep* and *compute fep*. The Lennard-Jones sites are handled +using soft core potentials (*pair lj/cut/soft*). Trajectories are at +constant NpT, so corrections for the fluctuating volume are included. + +The following directories contain input files and results for +calculations using free-energy perturbation (FEP): + +* `mols` -- molecule description files and force field database used + to create the initial configuration used for the simulations + `data.lmp` + +* `fep01` -- Calculation using FEP, multi-stage creation of one SPC/E + molecule, LJ and q. Results in `fep01-lj.fep` and `fep01-lj.fep` + +* `fep10` -- Calculation using FEP, multi-stage deletion of one SPC/E + molecule, q and LJ. Results in `fep10-q.fep` and `fep10-lj.fep` + +The Python script `fep.py` found in the +`tools` directory can be used to calculate the free-energy differences +corresponding to the transformations above: + + fep.py 300 < fep01-lj.fep + + fep.py 300 < fep01-q.fep + + fep.py 300 < fep10-q.fep + + fep.py 300 < fep10-lj.fep + +The outputs are in kcal/mol and can be compared with the experimental +value of -6.3 kcal/mol, or with a simulation value from the literature +of -6.7 kcal/mol +[Gonçalves, Stassen, Pure Appl Chem 76 (2004) 231](https://doi.org/10.1351/pac200476010231). + +These example calculations are for tutorial purposes only. The results +may not be of research quality (not enough sampling, size of the step +in lambda not optimized, etc.) diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep b/examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep new file mode 100644 index 0000000000..67dc4bfd8d --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/fep01-lj.fep @@ -0,0 +1,22 @@ +# Time-averaged data for fix FEP +# TimeStep c_FEP[1] c_FEP[2] c_FEP[3] +100000 0.00203701 17656.7 17717 +200000 0.0148799 17235.9 17669.1 +300000 0.0478517 16378 17736.4 +400000 0.100195 15034.8 17725.7 +500000 0.218866 12390.7 17698.7 +600000 0.371395 9907.37 17731.1 +700000 0.613593 7317.6 17750.5 +800000 0.895639 5984.39 17714.3 +900000 0.638838 8921.42 17726.2 +1000000 0.372214 11782.7 17728.6 +1100000 0.295555 12613 17730.3 +1200000 0.152975 15013.7 17792.5 +1300000 0.106403 15927.4 17737.2 +1400000 0.0570002 16875.1 17725.9 +1500000 0.0182185 17924.9 17790.8 +1600000 -0.0319612 19263.7 17775.1 +1700000 -0.0684472 20338.7 17786.9 +1800000 -0.0941487 21136.1 17764.8 +1900000 -0.132444 22374 17750.6 +2000000 -0.153928 23156.8 17744.8 diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-lj.out b/examples/USER/fep/SPCEhyd/fep01/fep01-lj.out new file mode 100644 index 0000000000..3eaf2fd98c --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/fep01-lj.out @@ -0,0 +1,592 @@ +LAMMPS (29 Oct 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/lammps/src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (29.204526 29.204526 29.204526) + 2 by 2 by 3 MPI processor grid + reading atoms ... + 1800 atoms + scanning bonds ... + 1 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 1200 bonds + reading angles ... + 600 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0.5 + special bond factors coul: 0 0 0.5 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.018 seconds +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 600 = # of size 3 clusters + 0 = # of size 4 clusters + 0 = # of frozen angles + find clusters CPU = 0.001 seconds +Setting atom values ... + 3 settings made for charge +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25066829 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0030719151 + estimated relative force accuracy = 9.250981e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 3757 800 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair lj/cut/coul/long, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/soft, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 9.477 | 9.489 | 9.507 Mbytes +Step CPU TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Volume Density + 0 0 1344.7207 1251.046 93.67475 54.469999 30049.554 -30010.349 300 10284.691 24908.667 0.72058313 + 5000 28.694564 -5486.1043 1288.3881 -6774.4924 1379.4864 21688.643 -30296.277 308.95461 54.310852 17485.125 1.0265163 + 10000 60.154999 -5445.984 1289.4468 -6735.4308 1414.0583 21715.025 -30296.898 309.2085 479.66554 17890.87 1.003236 + 15000 93.146023 -5513.8313 1247.6759 -6761.5072 1299.4795 21790.371 -30301.687 299.19185 -508.0062 17325.35 1.0359828 + 20000 125.27418 -5449.2886 1284.4959 -6733.7844 1413.7763 21713.785 -30296.156 308.02126 590.93324 17813.863 1.0075729 + 25000 159.91521 -5488.9702 1263.558 -6752.5282 1419.1433 21691.575 -30298.164 303.00038 745.03072 17529.113 1.0239403 + 30000 192.99516 -5560.7692 1261.1821 -6821.9512 1417.204 21619.369 -30296.506 302.43062 247.03569 17579.175 1.0210243 + 35000 226.31455 -5475.9339 1217.5826 -6693.5164 1416.6051 21740.37 -30296.23 291.97549 585.78922 17897.211 1.0028805 + 40000 257.38113 -5547.1985 1242.3037 -6789.5022 1368.836 21696.099 -30299.114 297.90361 -308.25384 17644.122 1.017266 + 45000 290.1833 -5546.482 1247.5586 -6794.0405 1478.3456 21579.538 -30298.856 299.16372 1088.2882 17592.834 1.0202316 + 50000 323.27342 -5587.1305 1245.2866 -6832.4171 1494.5555 21518.708 -30301.175 298.6189 1294.6268 17477.389 1.0269707 + 55000 357.01676 -5579.512 1240.4584 -6819.9704 1395.6861 21642.898 -30295.857 297.46109 -99.93318 17770.807 1.0100141 + 60000 388.82447 -5489.9387 1234.3341 -6724.2728 1285.7293 21870.543 -30295.028 295.99251 -1147.8529 17885.706 1.0035257 + 65000 422.87575 -5552.7156 1212.0793 -6764.7949 1333.565 21754.173 -30298.11 290.65582 -712.18036 17669.638 1.015797 + 70000 457.6093 -5497.6045 1258.538 -6756.1425 1322.4574 21754.169 -30297.784 301.79659 -688.38797 17616.532 1.0188592 + 75000 491.97196 -5625.4891 1179.169 -6804.6581 1390.1744 21637.212 -30297.753 282.76395 42.978393 17500.681 1.0256038 + 80000 525.96216 -5522.0997 1232.6571 -6754.7568 1341.1534 21770.924 -30301.663 295.59035 -265.75148 17495.977 1.0258796 + 85000 559.772 -5429.8519 1249.9284 -6679.7803 1347.2093 21813.241 -30297.861 299.732 -111.81756 17957.604 0.9995078 + 90000 593.75975 -5560.9592 1265.0979 -6826.0571 1463.6326 21567.748 -30297.643 303.36965 599.30412 17830.144 1.0066528 + 95000 627.953 -5544.2442 1277.7084 -6821.9526 1407.1904 21633.729 -30299.133 306.39364 192.51289 17668.067 1.0158873 + 100000 662.08715 -5474.8467 1286.3434 -6761.1902 1377.3305 21690.898 -30299.316 308.46431 -161.00615 17888.012 1.0033963 +Loop time of 662.087 on 12 procs for 100000 steps with 1800 atoms + +Performance: 13.050 ns/day, 1.839 hours/ns, 151.038 timesteps/s +94.9% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 345.52 | 374.93 | 410.41 | 88.0 | 56.63 +Bond | 1.2655 | 1.3414 | 1.443 | 5.2 | 0.20 +Kspace | 99.52 | 135.77 | 165.42 | 148.0 | 20.51 +Neigh | 28.904 | 28.95 | 28.997 | 0.6 | 4.37 +Comm | 41.498 | 45.503 | 50.663 | 51.8 | 6.87 +Output | 0.0013665 | 0.0014183 | 0.0018614 | 0.4 | 0.00 +Modify | 49.685 | 64.033 | 72.601 | 117.1 | 9.67 +Other | | 11.56 | | | 1.75 + +Nlocal: 150.000 ave 169 max 133 min +Histogram: 1 2 1 1 2 1 0 3 0 1 +Nghost: 6036.17 ave 6092 max 5976 min +Histogram: 3 1 0 0 0 1 3 2 0 2 +Neighs: 86433.7 ave 96904 max 78425 min +Histogram: 3 1 1 0 2 1 1 0 1 2 + +Total # of neighbors = 1037204 +Ave neighs/atom = 576.22444 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 4498 +Dangerous builds = 9 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25099061 + grid = 18 18 18 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0035434233 + estimated relative force accuracy = 1.0670914e-05 + using double precision FFTW3 + 3d grid and FFT values/proc = 3328 648 +FEP settings ... + temperature = 300.000000 + tail no + lj/cut/soft lambda 1-2 3-4 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair lj/cut/coul/long, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/soft, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 9.473 | 9.524 | 9.885 Mbytes +Step TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Density v_lambda + 0 -5474.8313 1286.3434 -6761.1748 1377.3305 21729.814 -30338.216 308.46431 -145.89091 1.0033963 0 + 5000 -5501.3742 1227.5839 -6728.9581 1383.6091 21832.227 -30338.792 294.37381 197.29783 1.0066092 0.0025 + 10000 -5464.6748 1299.6003 -6764.2751 1422.869 21700.714 -30339.338 311.64329 911.1393 1.0308533 0.005 + 15000 -5570.8381 1254.6639 -6825.502 1432.6295 21661.321 -30337.889 300.86757 606.08029 1.0232505 0.0075 + 20000 -5517.9977 1279.1 -6797.0976 1408.873 21713.571 -30334.986 306.72733 71.014518 1.00536 0.01 + 25000 -5502.8662 1256.1509 -6759.0171 1354.4185 21819.904 -30335.966 301.22416 -280.3804 1.0121715 0.0125 + 30000 -5479.0987 1247.8675 -6726.9662 1413.5362 21734.153 -30338.534 299.23779 347.7292 1.0037264 0.015 + 35000 -5507.6469 1301.4131 -6809.06 1460.033 21614.564 -30336.109 312.07801 771.56011 1.0011707 0.0175 + 40000 -5487.2955 1295.7159 -6783.0113 1321.8494 21814.192 -30340.297 310.71181 -399.68468 1.0295009 0.02 + 45000 -5582.7908 1203.9957 -6786.7865 1428.232 21690.272 -30335.2 288.71737 516.0938 1.0238261 0.0225 + 50000 -5543.0112 1239.5077 -6782.5189 1442.8695 21660.077 -30336.998 297.23314 966.89878 1.0234172 0.025 + 55000 -5590.3604 1232.4497 -6822.8101 1322.5893 21772.961 -30338.359 295.54062 -790.54432 1.0210518 0.0275 + 60000 -5479.6266 1218.6941 -6698.3207 1363.233 21839.328 -30336.264 292.24204 102.67075 1.0069364 0.03 + 65000 -5492.8433 1277.3976 -6770.2409 1361.2794 21754.915 -30335.072 306.31909 -345.94035 1.0111736 0.0325 + 70000 -5564.9632 1256.2689 -6821.2322 1418.089 21663.812 -30334.208 301.25246 -235.62062 1.0000081 0.035 + 75000 -5431.4667 1233.6963 -6665.163 1385.2972 21867.508 -30337.413 295.83957 605.68584 1.015264 0.0375 + 80000 -5560.6719 1236.9415 -6797.6134 1374.1241 21748.636 -30335.156 296.61776 -202.53528 1.015924 0.04 + 85000 -5636.8905 1233.835 -6870.7255 1480.1666 21576.608 -30340.174 295.87281 827.4631 1.0212177 0.0425 + 90000 -5551.2917 1222.5755 -6773.8672 1452.5674 21638.206 -30335.595 293.1728 661.99097 1.0090475 0.045 + 95000 -5543.8224 1249.9355 -6793.758 1396.082 21724.933 -30339.764 299.73372 201.87719 1.0163116 0.0475 + 100000 -5558.5664 1227.1814 -6785.7479 1463.1907 21666.038 -30337.879 294.2773 955.6758 1.0158894 0.05 + 105000 -5507.0698 1233.0098 -6740.0796 1356.1635 21774.574 -30334.594 295.67493 -359.01022 1.0056685 0.0525 + 110000 -5561.0676 1221.0774 -6782.145 1403.5966 21692.913 -30337.463 292.81355 -87.113696 1.0133037 0.055 + 115000 -5526.6141 1243.9541 -6770.5682 1475.7194 21626.703 -30337.179 298.29937 855.85038 1.0118327 0.0575 + 120000 -5555.6741 1253.3796 -6809.0538 1346.5604 21755.315 -30340.743 300.55961 -1079.5856 0.98312027 0.06 + 125000 -5620.4084 1221.0146 -6841.423 1406.8142 21677.116 -30335.053 292.7985 -61.600379 1.0173627 0.0625 + 130000 -5586.4001 1204.2423 -6790.6425 1352.9098 21770.892 -30339.505 288.77651 -460.92375 1.0164837 0.065 + 135000 -5568.5186 1239.2748 -6807.7934 1401.8615 21748.687 -30340.555 297.17728 371.66677 1.0241473 0.0675 + 140000 -5526.4808 1249.0145 -6775.4953 1424.2185 21664.576 -30340.16 299.51285 520.63161 1.0238118 0.07 + 145000 -5532.8733 1254.9515 -6787.8248 1379.0629 21737.241 -30337.358 300.93654 -64.517937 1.0105756 0.0725 + 150000 -5549.4332 1228.3832 -6777.8163 1428.5036 21702.196 -30337.055 294.56547 363.42307 1.0052127 0.075 + 155000 -5547.9284 1256.6973 -6804.6257 1379.9059 21727.03 -30338.382 301.35519 35.503942 1.0222903 0.0775 + 160000 -5481.1383 1320.4344 -6801.5727 1390.3369 21729.299 -30337.062 316.63929 50.667563 1.0171266 0.08 + 165000 -5560.7321 1247.5004 -6808.2325 1422.2771 21662.917 -30341.024 299.14978 56.116137 1.0020068 0.0825 + 170000 -5541.3469 1257.9624 -6799.3094 1381.0133 21739.612 -30336.303 301.65856 -176.83515 1.0084433 0.085 + 175000 -5481.784 1239.9656 -6721.7496 1366.9952 21834.266 -30335.454 297.34293 377.28019 1.0297034 0.0875 + 180000 -5609.1447 1180.414 -6789.5587 1410.9273 21683.391 -30338.821 283.06249 203.46781 1.013427 0.09 + 185000 -5508.6637 1237.4229 -6746.0866 1401.5929 21736.318 -30334.806 296.7332 287.44715 1.0114427 0.0925 + 190000 -5524.666 1249.3421 -6774.008 1414.6887 21711.574 -30338.223 299.5914 108.63857 0.99681381 0.095 + 195000 -5613.4475 1179.1603 -6792.6078 1415.5702 21704.669 -30335.058 282.76187 -4.252137 1.0025742 0.0975 + 200000 -5577.1744 1219.3392 -6796.5136 1358.774 21688.932 -30339.219 292.39674 -339.31655 1.0272643 0.1 + 205000 -5473.5241 1291.8332 -6765.3573 1364.0148 21747.958 -30335.578 309.78075 -140.98482 1.0134706 0.1025 + 210000 -5412.6987 1304.0334 -6716.7321 1399.175 21790.687 -30338.388 312.70635 475.62089 1.0077929 0.105 + 215000 -5498.5445 1272.4319 -6770.9765 1305.2038 21853.899 -30334.099 305.12834 -964.41064 1.0117303 0.1075 + 220000 -5552.46 1236.8433 -6789.3033 1413.5383 21633.766 -30337.007 296.59421 126.59413 1.0135386 0.11 + 225000 -5463.5199 1281.9539 -6745.4738 1391.2426 21760.978 -30337.489 307.41171 372.98508 1.0154691 0.1125 + 230000 -5556.2415 1213.9742 -6770.2157 1373.9439 21746.355 -30331.29 291.11021 310.03784 1.0411894 0.115 + 235000 -5468.6139 1256.2727 -6724.8866 1419.9068 21755.903 -30337.057 301.25335 446.80106 1.008653 0.1175 + 240000 -5505.2272 1297.8543 -6803.0815 1389.9299 21721.555 -30336.374 311.22461 -216.33356 1.0007317 0.12 + 245000 -5556.4175 1231.9791 -6788.3966 1385.1734 21697.589 -30334.804 295.42778 -115.65689 1.0127289 0.1225 + 250000 -5570.5583 1261.1376 -6831.6959 1404.3069 21667.366 -30337.205 302.41997 -90.154201 1.0161797 0.125 + 255000 -5581.0101 1222.6213 -6803.6314 1393.6905 21687.538 -30336.542 293.18377 -58.781363 1.013542 0.1275 + 260000 -5552.6506 1225.5794 -6778.2299 1446.9969 21648.822 -30336.275 293.89312 749.70391 1.0136121 0.13 + 265000 -5527.9133 1245.5123 -6773.4255 1328.166 21792.912 -30336.854 298.67302 -825.99884 1.0063806 0.1325 + 270000 -5565.2798 1266.7326 -6832.0124 1488.6605 21582.46 -30339.347 303.76165 1592.7435 1.0374567 0.135 + 275000 -5567.4599 1211.9673 -6779.4272 1306.1895 21846.2 -30334.296 290.62895 -1062.6911 1.0107451 0.1375 + 280000 -5456.1965 1291.476 -6747.6725 1324.4174 21839.645 -30339.854 309.69509 -531.26163 1.0140474 0.14 + 285000 -5561.638 1229.3427 -6790.9808 1353.7161 21794.932 -30334.258 294.79557 -269.97414 1.0110394 0.1425 + 290000 -5486.1623 1276.1413 -6762.3036 1380.4775 21777.115 -30336.678 306.01784 -56.691362 1.0105051 0.145 + 295000 -5531.2556 1253.1859 -6784.4415 1354.9857 21750.76 -30338.549 300.51314 -555.4993 1.0159961 0.1475 + 300000 -5583.1864 1250.0209 -6833.2073 1431.4702 21654.547 -30337.557 299.75419 360.48799 1.0226237 0.15 + 305000 -5492.9399 1263.2527 -6756.1925 1385.9115 21749.132 -30337.333 302.92716 -94.633279 1.0008411 0.1525 + 310000 -5583.9951 1217.2631 -6801.2582 1439.2175 21660.614 -30332.833 291.89889 575.48041 1.0264848 0.155 + 315000 -5554.3025 1247.1517 -6801.4542 1305.5379 21807.382 -30337.478 299.06616 -1206.257 1.0085908 0.1575 + 320000 -5596.1914 1233.0393 -6829.2307 1431.9073 21667.612 -30337.859 295.682 745.35002 1.0291 0.16 + 325000 -5532.0063 1245.6006 -6777.6069 1479.6102 21640.94 -30338.346 298.69419 1390.0859 1.0311996 0.1625 + 330000 -5511.0183 1236.8356 -6747.854 1332.4766 21826.148 -30335.853 296.59237 -346.80349 1.020578 0.165 + 335000 -5512.3188 1238.1769 -6750.4957 1324.5201 21836.682 -30338.607 296.91401 -457.67242 1.0274241 0.1675 + 340000 -5504.0924 1242.6354 -6746.7278 1432.7958 21708.299 -30333.659 297.98314 674.26615 1.0055018 0.17 + 345000 -5522.5796 1265.0266 -6787.6062 1382.0078 21743.218 -30338.398 303.35254 -151.81029 1.0067371 0.1725 + 350000 -5545.7535 1267.9089 -6813.6624 1404.8847 21674.34 -30337.099 304.04372 128.71982 1.0135501 0.175 + 355000 -5499.0073 1275.2358 -6774.2431 1484.721 21658.719 -30337.688 305.80071 1468.7411 1.0346991 0.1775 + 360000 -5540.4144 1242.034 -6782.4484 1440.0683 21684.985 -30338.578 297.83892 662.99982 1.0085045 0.18 + 365000 -5472.9692 1267.5044 -6740.4736 1350.7945 21806.742 -30338.576 303.94672 -303.53857 1.0149794 0.1825 + 370000 -5563.7998 1257.4972 -6821.297 1363.9578 21745.681 -30339.039 301.54699 -616.39894 1.0015708 0.185 + 375000 -5494.3434 1204.4931 -6698.8365 1308.4989 21883.359 -30336.609 288.83665 -1009.8181 0.99179087 0.1875 + 380000 -5516.3392 1223.7518 -6740.0911 1355.9449 21816.149 -30337.588 293.45488 36.407556 1.02042 0.19 + 385000 -5534.8879 1226.8136 -6761.7015 1433.131 21698.233 -30336.201 294.18909 1224.3283 1.0416014 0.1925 + 390000 -5506.0676 1262.1264 -6768.194 1449.4667 21692.815 -30334.182 302.65707 932.23514 1.0216439 0.195 + 395000 -5601.9693 1234.2373 -6836.2066 1425.5787 21658.64 -30337.816 295.96929 254.00155 1.0148905 0.1975 + 400000 -5523.9324 1254.811 -6778.7434 1371.5302 21763.333 -30334.914 300.90286 -41.512594 1.0129399 0.2 + 405000 -5615.7822 1209.5514 -6825.3336 1431.7105 21604.804 -30336.544 290.04963 385.86176 1.02069 0.2025 + 410000 -5564.9317 1238.9308 -6803.8625 1334.6011 21725.649 -30342.03 297.09479 -668.14712 1.0114204 0.205 + 415000 -5565.723 1201.4165 -6767.1395 1407.6153 21731.714 -30339.794 288.09888 284.39352 1.0181526 0.2075 + 420000 -5514.1574 1259.6967 -6773.8542 1397.8555 21765.77 -30335.098 302.07445 -93.583513 1.003494 0.21 + 425000 -5566.4826 1233.6609 -6800.1435 1354.6757 21745.391 -30337.658 295.83106 -543.91774 1.0113019 0.2125 + 430000 -5544.9786 1227.5367 -6772.5153 1391.971 21756.332 -30337.075 294.36248 -52.853646 1.0029339 0.215 + 435000 -5457.9703 1243.8289 -6701.7992 1355.8144 21842.63 -30336.263 298.26936 96.07031 1.0162599 0.2175 + 440000 -5444.1352 1261.5679 -6705.7031 1327.5589 21849.174 -30337.667 302.52315 -159.33457 1.0201548 0.22 + 445000 -5569.3089 1253.1592 -6822.4681 1450.3256 21615.072 -30333.867 300.50675 497.07257 1.0162108 0.2225 + 450000 -5499.4632 1276.3744 -6775.8376 1436.3419 21681.852 -30337.613 306.07374 416.13585 1.0087874 0.225 + 455000 -5527.7917 1199.0123 -6726.804 1371.2866 21773.376 -30335.146 287.52235 -330.60298 0.99153512 0.2275 + 460000 -5634.9316 1214.1147 -6849.0463 1471.6124 21618.634 -30339.723 291.14391 831.79551 1.0154836 0.23 + 465000 -5492.5994 1247.2074 -6739.8067 1425.1188 21720.998 -30333.086 299.0795 782.63379 1.0210767 0.2325 + 470000 -5528.6598 1242.3825 -6771.0422 1413.2305 21674.806 -30339.41 297.9225 371.75935 1.018354 0.235 + 475000 -5570.6679 1274.1035 -6844.7714 1423.8596 21624.648 -30335.904 305.52919 243.67178 1.0157084 0.2375 + 480000 -5487.1119 1241.0548 -6728.1667 1421.7563 21732.588 -30338.933 297.60413 814.07568 1.0255732 0.24 + 485000 -5575.4172 1242.9613 -6818.3785 1402.7921 21677.417 -30338.336 298.0613 20.597793 1.0229831 0.2425 + 490000 -5578.303 1221.4158 -6799.7188 1430.5395 21694.761 -30336.572 292.89469 430.02647 1.0131845 0.245 + 495000 -5573.1773 1222.1238 -6795.3011 1502.7203 21609.264 -30338.892 293.06448 1494.9905 1.0226527 0.2475 + 500000 -5470.7153 1208.6593 -6679.3745 1401.9799 21819.612 -30335.747 289.83569 552.82762 1.003873 0.25 + 505000 -5626.3096 1246.8303 -6873.1399 1504.3826 21517.763 -30336.928 298.98909 1008.6542 1.0255205 0.2525 + 510000 -5562.1313 1242.0291 -6804.1604 1360.6445 21745.689 -30334.283 297.83775 -300.55499 1.021938 0.255 + 515000 -5558.6681 1241.9812 -6800.6493 1399.186 21683.627 -30339.266 297.82628 -293.22181 1.0035268 0.2575 + 520000 -5450.6773 1276.8169 -6727.4943 1246.5956 21918.914 -30335.226 306.17986 -1527.0713 1.0017384 0.26 + 525000 -5495.0769 1260.1524 -6755.2294 1413.8065 21708.663 -30338.153 302.18372 193.49778 1.0090792 0.2625 + 530000 -5519.0236 1258.9944 -6778.018 1423.1288 21726.251 -30338.72 301.90602 402.81349 1.0058563 0.265 + 535000 -5523.3166 1265.8203 -6789.1369 1403.2616 21669.617 -30333.964 303.54286 -212.90176 1.0022662 0.2675 + 540000 -5469.6354 1267.2634 -6736.8988 1354.6136 21815.059 -30334.909 303.88893 -143.78705 1.0102562 0.27 + 545000 -5475.0926 1332.0416 -6807.1342 1362.668 21728.374 -30335.495 319.42269 -408.94813 1.008036 0.2725 + 550000 -5604.8235 1220.5785 -6825.4021 1466.9259 21609.628 -30340.185 292.69392 562.0671 0.99832249 0.275 + 555000 -5546.9498 1194.3285 -6741.2783 1324.6404 21805.776 -30334.506 286.39919 -831.67066 1.0068815 0.2775 + 560000 -5505.8852 1231.4127 -6737.2978 1403.1199 21743.566 -30336.518 295.29195 134.18023 1.0068652 0.28 + 565000 -5620.5688 1225.712 -6846.2808 1418.5638 21624.884 -30336.305 293.92493 -45.194557 1.0148173 0.2825 + 570000 -5522.2261 1265.1646 -6787.3907 1431.1348 21666.003 -30337.479 303.38564 470.11582 1.0164271 0.285 + 575000 -5586.7521 1277.3002 -6864.0523 1411.585 21610.013 -30338.867 306.29575 3.3115648 1.0213675 0.2875 + 580000 -5612.9476 1236.9792 -6849.9268 1385.7307 21698.533 -30334.246 296.62679 -180.75952 1.0145947 0.29 + 585000 -5564.6816 1225.6381 -6790.3197 1333.2129 21796.701 -30335.104 293.90721 -690.26993 1.0116307 0.2925 + 590000 -5505.6734 1225.965 -6731.6383 1388.9635 21758.959 -30333.889 293.98559 227.32836 1.0145465 0.295 + 595000 -5547.8043 1248.8277 -6796.632 1360.0327 21712.026 -30336.566 299.46806 -375.66988 1.0129675 0.2975 + 600000 -5531.1317 1226.5624 -6757.6941 1288.9733 21854.05 -30334.778 294.12886 -869.81336 1.0198957 0.3 + 605000 -5491.3585 1261.835 -6753.1935 1362.4507 21774.232 -30332.849 302.58721 -165.60547 1.0153308 0.3025 + 610000 -5614.7624 1197.5896 -6812.352 1337.5281 21753.381 -30338.757 287.1812 -750.69767 1.0108767 0.305 + 615000 -5576.4304 1197.4926 -6773.9229 1360.9065 21756.815 -30335.31 287.15793 -693.56508 0.99901143 0.3075 + 620000 -5548.9351 1231.926 -6780.861 1367.5138 21765.942 -30335.526 295.41503 -447.87437 1.0071454 0.31 + 625000 -5478.0177 1304.9593 -6782.9771 1472.1656 21630.028 -30337.864 312.92838 902.38662 1.0047677 0.3125 + 630000 -5488.216 1246.0606 -6734.2767 1409.7407 21771.095 -30336.403 298.80451 480.81355 1.0089233 0.315 + 635000 -5539.378 1232.3758 -6771.7538 1370.1156 21731.482 -30335.377 295.52291 -713.31325 0.98843736 0.3175 + 640000 -5432.8862 1296.4151 -6729.3012 1343.8929 21825.715 -30336.397 310.87948 -397.39803 1.0014659 0.32 + 645000 -5588.6649 1238.8032 -6827.4681 1428.9906 21666.562 -30335.249 297.06419 599.51702 1.0293674 0.3225 + 650000 -5519.3466 1230.0381 -6749.3847 1453.0003 21705.846 -30339.941 294.96233 1124.8857 1.026394 0.325 + 655000 -5533.8266 1258.3233 -6792.1499 1371.5049 21733.113 -30338.134 301.74509 -435.07103 0.99919968 0.3275 + 660000 -5528.4015 1269.4116 -6797.8131 1338.761 21729.189 -30334.098 304.40406 -562.90491 1.0192565 0.33 + 665000 -5545.4581 1249.7274 -6795.1854 1412.241 21718.149 -30338.751 299.6838 275.8861 1.0143558 0.3325 + 670000 -5565.5948 1226.9318 -6792.5266 1315.7564 21812.516 -30339.437 294.21745 -830.3758 1.0195327 0.335 + 675000 -5517.0516 1226.7374 -6743.789 1415.6314 21750.702 -30335.553 294.17081 527.33474 1.0176545 0.3375 + 680000 -5545.2799 1223.2674 -6768.5473 1384.1095 21790.646 -30337.184 293.33872 -129.6713 1.0060356 0.34 + 685000 -5498.7222 1275.9994 -6774.7216 1415.2483 21718.812 -30334.721 305.98383 159.13649 1.0044781 0.3425 + 690000 -5566.4304 1231.9604 -6798.3908 1457.3283 21668.417 -30337.919 295.42329 287.07228 0.98982439 0.345 + 695000 -5507.4527 1265.2566 -6772.7094 1366.7935 21778.418 -30340.407 303.4077 -166.79718 1.0097878 0.3475 + 700000 -5621.3066 1277.4101 -6898.7167 1529.2337 21477.58 -30339.84 306.32209 1244.9468 1.0235434 0.35 + 705000 -5503.7028 1288.0097 -6791.7124 1430.0691 21713.551 -30338.914 308.86387 480.01323 1.0067532 0.3525 + 710000 -5483.2647 1299.6448 -6782.9095 1336.3828 21780.796 -30336.31 311.65398 -744.40786 0.9955777 0.355 + 715000 -5552.0795 1213.1147 -6765.1942 1367.5913 21780.545 -30334.566 290.90411 -182.26292 1.0179523 0.3575 + 720000 -5560.2543 1223.8905 -6784.1448 1469.5204 21612.085 -30334.718 293.48814 686.798 1.0061298 0.36 + 725000 -5352.2877 1277.7298 -6630.0175 1247.1535 21984.591 -30332.503 306.39876 -1113.3988 1.0031932 0.3625 + 730000 -5460.2162 1294.0163 -6754.2324 1328.4251 21812.669 -30338.962 310.30425 -703.10487 1.0076915 0.365 + 735000 -5484.3003 1263.9561 -6748.2564 1391.8724 21763.598 -30333.325 303.09585 358.57571 1.0159982 0.3675 + 740000 -5561.5146 1232.365 -6793.8795 1417.041 21689.319 -30337.153 295.52031 292.49943 1.0148461 0.37 + 745000 -5630.3272 1239.8819 -6870.2091 1474.7847 21577.482 -30336.129 297.32287 691.90387 1.0121157 0.3725 + 750000 -5568.5982 1252.3637 -6820.9619 1394.8143 21677.258 -30335.92 300.31599 -119.75657 1.0137126 0.375 + 755000 -5612.0848 1219.7512 -6831.8361 1443.772 21640.182 -30334.138 292.49554 419.10212 1.0092041 0.3775 + 760000 -5558.6692 1246.8503 -6805.5195 1383.8773 21739.076 -30332.761 298.99389 -360.94924 1.0057415 0.38 + 765000 -5549.313 1264.7175 -6814.0305 1361.0876 21760.857 -30334.954 303.27841 -657.15125 0.99708711 0.3825 + 770000 -5529.7814 1271.3249 -6801.1063 1515.765 21530.178 -30335.782 304.86287 1252.2865 1.0144338 0.385 + 775000 -5590.0803 1229.8806 -6819.9609 1497.7379 21574.205 -30337.017 294.92455 875.72015 1.0034086 0.3875 + 780000 -5453.0919 1304.4967 -6757.5885 1382.0095 21780.373 -30336.825 312.81744 94.669052 1.0004685 0.39 + 785000 -5534.5816 1224.2253 -6758.8069 1434.4738 21697.922 -30337.941 293.56842 992.15486 1.0337883 0.3925 + 790000 -5502.6322 1265.271 -6767.9032 1398.8135 21757.098 -30337.587 303.41116 116.52301 1.0001157 0.395 + 795000 -5493.1146 1274.5478 -6767.6624 1388.2754 21742.779 -30337.47 305.63572 140.01039 1.0236842 0.3975 + 800000 -5588.998 1225.6585 -6814.6564 1330.7321 21731.986 -30338.455 293.91209 -865.99206 1.0138727 0.4 + 805000 -5544.0626 1266.7916 -6810.8542 1362.8312 21718.168 -30338.846 303.77579 -337.37636 1.0105636 0.4025 + 810000 -5562.8317 1225.0571 -6787.8888 1387.1409 21714.016 -30338.516 293.76787 -132.30834 1.0033838 0.405 + 815000 -5450.6822 1281.7205 -6732.4027 1384.0948 21802.411 -30334.816 307.35573 457.40601 1.0295805 0.4075 + 820000 -5517.3791 1253.0874 -6770.4665 1342.5725 21767.666 -30338.348 300.48953 -677.2962 1.0045618 0.41 + 825000 -5521.6442 1253.7177 -6775.3619 1356.0902 21761.083 -30338.876 300.64068 -148.29882 1.0214802 0.4125 + 830000 -5480.2275 1296.3533 -6776.5808 1364.7623 21737.884 -30340.245 310.86468 -335.51468 1.0183724 0.415 + 835000 -5553.6513 1255.3646 -6809.0158 1422.3832 21678.078 -30336.06 301.03559 240.25343 1.0133683 0.4175 + 840000 -5487.5608 1239.6145 -6727.1753 1346.503 21835.502 -30338.024 297.25873 -317.28429 1.0034118 0.42 + 845000 -5515.8021 1255.1208 -6770.9229 1514.9877 21605.011 -30337.481 300.97715 1627.3413 1.0134437 0.4225 + 850000 -5540.0383 1285.5034 -6825.5417 1428.3295 21672.551 -30335.853 308.26287 466.86907 1.0199088 0.425 + 855000 -5597.4828 1214.2794 -6811.7622 1316.2636 21742.131 -30335.968 291.18339 -850.89507 1.0272315 0.4275 + 860000 -5442.4541 1274.0556 -6716.5098 1338.0091 21820.114 -30337.949 305.51769 -629.60481 1.0007525 0.43 + 865000 -5532.6042 1268.7742 -6801.3783 1434.2572 21700.789 -30338.172 304.25121 492.79858 1.0070617 0.4325 + 870000 -5512.1578 1258.0877 -6770.2455 1454.9091 21687.255 -30336.232 301.68859 683.83531 1.0116145 0.435 + 875000 -5446.697 1264.9331 -6711.6301 1418.0271 21789.48 -30337.979 303.33012 746.51851 1.0077359 0.4375 + 880000 -5570.2405 1227.4141 -6797.6546 1442.7982 21657.832 -30339.523 294.3331 547.05287 1.0204637 0.44 + 885000 -5499.5832 1300.6877 -6800.2708 1467.889 21621.607 -30336.081 311.90404 1203.3728 1.0232175 0.4425 + 890000 -5519.9378 1221.4368 -6741.3746 1334.4295 21836.44 -30334.429 292.89974 -571.0912 1.0183523 0.445 + 895000 -5548.714 1235.0959 -6783.81 1335.7422 21783.359 -30339.641 296.17519 -1231.4103 0.97545271 0.4475 + 900000 -5509.0007 1255.7581 -6764.7588 1387.4098 21730.996 -30336.325 301.12995 100.61482 1.0157715 0.45 + 905000 -5502.2972 1203.2327 -6705.5298 1412.9802 21806.928 -30335.359 288.5344 380.80789 0.99980077 0.4525 + 910000 -5485.3884 1248.0555 -6733.4439 1324.7849 21816.875 -30334.132 299.28288 -875.85577 1.0005401 0.455 + 915000 -5570.7334 1227.7102 -6798.4436 1414.6961 21676.719 -30333.844 294.40409 387.60411 1.0183984 0.4575 + 920000 -5506.8684 1250.8936 -6757.762 1403.8787 21724.014 -30338.2 299.96345 268.40619 1.0039537 0.46 + 925000 -5499.5513 1267.5801 -6767.1314 1384.0561 21746.132 -30334.877 303.96486 -87.373383 1.0135168 0.4625 + 930000 -5526.6263 1248.6532 -6775.2794 1422.5927 21727.532 -30335.327 299.42621 402.99079 1.0166018 0.465 + 935000 -5431.7671 1287.9484 -6719.7154 1372.6887 21797.491 -30339.576 308.84917 -73.380785 1.0086899 0.4675 + 940000 -5523.2347 1238.0317 -6761.2664 1472.3922 21690.931 -30338.509 296.87919 934.24131 1.0034105 0.47 + 945000 -5492.1094 1287.7201 -6779.8294 1409.131 21722.941 -30338.562 308.79442 393.63885 1.0121904 0.4725 + 950000 -5511.4769 1269.7709 -6781.2477 1399.8709 21719.432 -30338.344 304.49021 548.56247 1.0269619 0.475 + 955000 -5522.0084 1210.1211 -6732.1295 1354.1734 21827.644 -30337.824 290.18625 -328.52346 1.0035058 0.4775 + 960000 -5503.1738 1294.651 -6797.8248 1457.7604 21658.337 -30336.945 310.45646 920.37836 1.0242902 0.48 + 965000 -5574.7316 1224.5025 -6799.234 1341.877 21730.147 -30339.647 293.63489 -630.41891 1.020801 0.4825 + 970000 -5465.502 1254.5251 -6720.0271 1369.3231 21814.519 -30334.836 300.8343 412.848 1.018357 0.485 + 975000 -5429.0617 1314.1038 -6743.1655 1370.3831 21794.845 -30335.871 315.12122 -22.569108 1.0125271 0.4875 + 980000 -5509.8072 1268.7786 -6778.5858 1416.9817 21666.164 -30336.733 304.25227 605.68124 1.027029 0.49 + 985000 -5553.4756 1250.0201 -6803.4957 1399.3561 21680.727 -30336.562 299.754 -204.2377 1.0018705 0.4925 + 990000 -5509.8976 1209.5413 -6719.4389 1387.6207 21819.75 -30335.66 290.0472 71.030235 1.001716 0.495 + 995000 -5477.6146 1307.6601 -6785.2746 1376.1635 21750.915 -30337.489 313.57602 190.04886 1.0238268 0.4975 + 1000000 -5565.6634 1225.3286 -6790.992 1324.6248 21756.234 -30339.456 293.83299 -1026.1772 1.0132391 0.5 + 1005000 -5521.1329 1240.5003 -6761.6332 1339.8715 21795.557 -30333.404 297.47116 -764.80467 0.99627553 0.5025 + 1010000 -5533.5215 1234.4615 -6767.983 1467.6615 21687.246 -30339.234 296.02306 1106.3598 1.0156178 0.505 + 1015000 -5520.4449 1273.906 -6794.3509 1418.9447 21652.099 -30339.308 305.48182 508.55548 1.0227299 0.5075 + 1020000 -5553.6528 1269.5526 -6823.2054 1438.6041 21621.622 -30336.816 304.43788 356.09604 1.0009266 0.51 + 1025000 -5540.9284 1252.3914 -6793.3197 1384.0812 21720.397 -30333.925 300.32262 -137.53514 1.0150782 0.5125 + 1030000 -5512.2551 1266.8676 -6779.1227 1325.0473 21775.04 -30335.967 303.794 -785.84041 1.0128966 0.515 + 1035000 -5496.6909 1240.9291 -6737.62 1437.7445 21714.713 -30333.336 297.57398 639.06592 1.0104672 0.5175 + 1040000 -5500.8602 1277.8725 -6778.7327 1415.4978 21718.412 -30339.752 306.43298 398.08262 1.0150888 0.52 + 1045000 -5557.4463 1221.9391 -6779.3854 1415.6692 21681.767 -30337.275 293.02019 225.82498 1.0202672 0.5225 + 1050000 -5529.7555 1258.6892 -6788.4447 1422.0929 21704.679 -30338.539 301.83284 524.89602 1.0134303 0.525 + 1055000 -5518.6662 1299.6689 -6818.3351 1372.5056 21708.14 -30339.378 311.65974 -452.91496 1.0046315 0.5275 + 1060000 -5540.9771 1210.2217 -6751.1987 1373.9164 21768.116 -30336.924 290.21036 -395.70437 1.0015571 0.53 + 1065000 -5518.9029 1251.169 -6770.0719 1340.1507 21808.131 -30336.104 300.02949 -450.07574 1.0129813 0.5325 + 1070000 -5463.4785 1293.1208 -6756.5994 1332.4554 21823.853 -30339.89 310.08952 -322.88053 1.0120798 0.535 + 1075000 -5515.696 1249.2852 -6764.9812 1330.0946 21799.218 -30334.329 299.57777 -715.46839 1.0121899 0.5375 + 1080000 -5504.3342 1276.1607 -6780.4949 1300.5086 21805.677 -30337.953 306.02248 -1428.0385 0.99943418 0.54 + 1085000 -5509.2646 1255.0718 -6764.3364 1371.5075 21811.728 -30336.843 300.96538 73.910297 1.0082101 0.5425 + 1090000 -5412.182 1249.5709 -6661.753 1328.4884 21934.293 -30335.494 299.64628 -338.59758 0.99997407 0.545 + 1095000 -5473.6992 1287.1358 -6760.835 1347.4996 21804.548 -30337.264 308.65431 -369.832 1.0081179 0.5475 + 1100000 -5516.2354 1272.7455 -6788.9809 1377.2139 21731.758 -30339.241 305.20352 -33.679902 1.016951 0.55 + 1105000 -5501.6136 1255.1998 -6756.8134 1345.4796 21794.16 -30333.339 300.99608 -267.7936 1.0171513 0.5525 + 1110000 -5490.4441 1286.0141 -6776.4582 1389.8357 21706.333 -30336.453 308.38533 239.72552 1.017338 0.555 + 1115000 -5508.2867 1224.7333 -6733.02 1416.9404 21736.456 -30336.779 293.69023 411.88891 1.0061343 0.5575 + 1120000 -5536.5054 1242.9899 -6779.4953 1457.1964 21629.489 -30339.119 298.06817 856.72217 1.0160345 0.56 + 1125000 -5486.6942 1294.0843 -6780.7786 1358.1577 21782.945 -30339.37 310.32057 -202.18969 1.0178261 0.5625 + 1130000 -5436.8131 1262.4873 -6699.3004 1386.0247 21826.27 -30335.282 302.74362 322.86538 0.99696282 0.565 + 1135000 -5565.1777 1207.4654 -6772.643 1336.6359 21809.289 -30337.777 289.54939 -972.29994 0.98448542 0.5675 + 1140000 -5492.0308 1247.1935 -6739.2243 1402.2517 21754.689 -30337.029 299.07618 479.30775 1.0200599 0.57 + 1145000 -5594.1678 1257.8479 -6852.0157 1434.3633 21605.553 -30337.373 301.6311 164.16272 1.0163196 0.5725 + 1150000 -5595.7162 1204.3256 -6800.0418 1360.4415 21756.387 -30337.378 288.79648 -673.65939 0.99447246 0.575 + 1155000 -5560.4788 1255.9123 -6816.3911 1370.1918 21717.925 -30336.419 301.16694 -321.48858 1.0102569 0.5775 + 1160000 -5543.9624 1256.0273 -6799.9897 1361.3625 21729.13 -30336.145 301.19451 -500.9834 1.0075609 0.58 + 1165000 -5542.3677 1259.1894 -6801.5571 1392.601 21712.586 -30336.732 301.95279 269.67035 1.028619 0.5825 + 1170000 -5507.6711 1265.0503 -6772.7214 1392.4757 21734.407 -30337.47 303.35823 -1.1384906 1.0009475 0.585 + 1175000 -5616.4108 1190.6661 -6807.0769 1485.5233 21602.259 -30336.566 285.52095 797.79093 1.004332 0.5875 + 1180000 -5452.7462 1270.5601 -6723.3063 1380.6407 21772.422 -30339.576 304.67948 224.518 1.0138518 0.59 + 1185000 -5551.9378 1288.6384 -6840.5761 1409.257 21663.998 -30334.605 309.01463 201.047 1.0216943 0.5925 + 1190000 -5401.6296 1286.2182 -6687.8478 1413.7575 21821.846 -30335.244 308.43426 792.08684 1.0158526 0.595 + 1195000 -5595.7083 1241.8942 -6837.6025 1344.7629 21737.232 -30336.445 297.80541 -775.15064 1.0117893 0.5975 + 1200000 -5514.8805 1263.3084 -6778.1889 1427.3516 21696.321 -30339.4 302.94052 485.34384 1.0109195 0.6 + 1205000 -5540.2706 1219.5591 -6759.8297 1339.7958 21822.653 -30337.629 292.44947 -429.03962 1.0085747 0.6025 + 1210000 -5490.2376 1291.785 -6782.0226 1468.9881 21640.937 -30335.388 309.76919 1374.7882 1.0248876 0.605 + 1215000 -5556.2871 1242.1303 -6798.4174 1355.9924 21726.062 -30334.653 297.86202 -392.05916 1.0151509 0.6075 + 1220000 -5511.0713 1246.1099 -6757.1812 1438.275 21704.752 -30334.819 298.81633 866.53777 1.0152101 0.61 + 1225000 -5425.1538 1241.4366 -6666.5904 1407.8381 21815.403 -30338.21 297.69567 781.0192 1.0077519 0.6125 + 1230000 -5566.9066 1231.8806 -6798.7872 1414.1772 21716.877 -30339.764 295.40416 581.48996 1.022715 0.615 + 1235000 -5477.752 1240.0569 -6717.8089 1368.5535 21803.025 -30337.639 297.36483 257.90729 1.0209426 0.6175 + 1240000 -5518.2359 1241.8471 -6760.083 1357.7485 21769.434 -30333.502 297.79412 -403.71101 1.0002981 0.62 + 1245000 -5505.2401 1253.7734 -6759.0135 1356.1495 21781.172 -30338.614 300.65403 -238.83176 1.019027 0.6225 + 1250000 -5481.0309 1269.2078 -6750.2387 1422.4459 21736.094 -30334.948 304.35519 389.35305 0.99684561 0.625 + 1255000 -5591.0366 1268.5978 -6859.6344 1440.4456 21599.606 -30339.235 304.20892 479.16928 1.0279113 0.6275 + 1260000 -5458.4807 1274.8262 -6733.3069 1350.7336 21797.841 -30336.376 305.70248 -272.75408 1.0075811 0.63 + 1265000 -5575.7251 1215.4896 -6791.2147 1393.8174 21695.141 -30338.69 291.47361 -440.69662 0.9946576 0.6325 + 1270000 -5506.6538 1247.2498 -6753.9037 1426.4163 21735.083 -30339.604 299.08968 638.29292 1.006986 0.635 + 1275000 -5555.7487 1260.8981 -6816.6467 1402.9042 21687.407 -30338.211 302.36252 -37.621691 1.004614 0.6375 + 1280000 -5523.0115 1281.4484 -6804.46 1410.3618 21683.821 -30338.245 307.29049 74.776331 1.0067829 0.64 + 1285000 -5495.0391 1269.3944 -6764.4336 1438.0896 21688.271 -30338.328 304.39995 589.55661 1.0114896 0.6425 + 1290000 -5540.9271 1240.5911 -6781.5182 1328.7135 21747.08 -30332.671 297.49292 -1009.5288 0.99417236 0.645 + 1295000 -5523.5629 1221.2216 -6744.7846 1386.738 21787.399 -30341.525 292.84814 152.73721 1.020105 0.6475 + 1300000 -5551.0533 1209.1809 -6760.2342 1283.6253 21834.417 -30338.537 289.96078 -1463.7036 0.99836441 0.65 + 1305000 -5482.2712 1243.9505 -6726.2216 1443.3829 21700.095 -30334.574 298.2985 937.35283 1.0133398 0.6525 + 1310000 -5497.8833 1275.4343 -6773.3175 1331.5717 21786.443 -30338.584 305.84829 -568.49832 1.0153372 0.655 + 1315000 -5553.0213 1263.5103 -6816.5316 1328.3328 21741.571 -30339.561 302.98894 -899.43861 1.0107628 0.6575 + 1320000 -5497.4183 1275.5116 -6772.93 1334.6287 21757.028 -30335.101 305.86685 -750.04561 1.0127122 0.66 + 1325000 -5509.5201 1280.9643 -6790.4845 1417.3333 21664.023 -30335.168 307.1744 -157.6594 0.99319825 0.6625 + 1330000 -5617.2597 1224.5019 -6841.7616 1443.6235 21625.123 -30339.1 293.63475 717.99095 1.0298596 0.665 + 1335000 -5592.8391 1248.1956 -6841.0347 1387.7561 21696.521 -30337.925 299.31648 -247.91846 1.0135438 0.6675 + 1340000 -5460.2548 1288.4813 -6748.7361 1360.0244 21811.949 -30338.096 308.97696 -153.69598 1.015044 0.67 + 1345000 -5489.1678 1281.692 -6770.8598 1431.0453 21663.894 -30338.844 307.3489 669.39702 1.0172647 0.6725 + 1350000 -5529.2523 1270.9326 -6800.1849 1363.1373 21733.208 -30339.456 304.7688 -597.14779 1.0042186 0.675 + 1355000 -5534.9568 1265.7444 -6800.7012 1409.764 21689.237 -30334.88 303.52466 183.99575 1.0031237 0.6775 + 1360000 -5570.4522 1226.0935 -6796.5457 1409.4114 21697.645 -30337.424 294.01641 486.08744 1.0257807 0.68 + 1365000 -5491.4382 1268.1819 -6759.6201 1338.2699 21793.974 -30334.116 304.10918 -642.86253 1.0062663 0.6825 + 1370000 -5490.238 1223.206 -6713.4439 1291.9792 21860.632 -30336.796 293.32398 -1031.6635 0.99972319 0.685 + 1375000 -5533.2447 1274.0075 -6807.2521 1352.1474 21702.877 -30337.44 305.50615 -487.37416 1.0147896 0.6875 + 1380000 -5473.8114 1276.8204 -6750.6318 1407.4579 21700.787 -30335.345 306.18068 249.06913 1.0069428 0.69 + 1385000 -5543.9666 1262.8767 -6806.8434 1420.4958 21674.581 -30335.208 302.83701 250.9923 1.0125827 0.6925 + 1390000 -5502.5865 1244.5168 -6747.1034 1404.518 21737.859 -30331.637 298.43431 272.2078 1.0080372 0.695 + 1395000 -5485.4502 1277.3217 -6762.7719 1328.4992 21816.677 -30335.548 306.3009 -482.56908 1.0234689 0.6975 + 1400000 -5588.9107 1238.0105 -6826.9212 1441.2329 21623.183 -30339.033 296.8741 219.31408 1.0059101 0.7 + 1405000 -5550.2667 1211.9058 -6762.1725 1365.9796 21743.769 -30331.304 290.61421 -173.3426 1.0210828 0.7025 + 1410000 -5486.1246 1271.3405 -6757.4651 1425.326 21739.7 -30337.946 304.86661 874.21456 1.0139115 0.705 + 1415000 -5537.3934 1269.7516 -6807.1451 1449.2446 21658.871 -30335.68 304.4856 569.30023 1.0046679 0.7075 + 1420000 -5560.5616 1245.2367 -6805.7983 1402.5678 21708.73 -30335.385 298.60694 -104.6055 1.0091745 0.71 + 1425000 -5528.1555 1294.6881 -6822.8437 1514.7057 21531.479 -30337.473 310.46536 1522.6101 1.0126646 0.7125 + 1430000 -5497.5001 1287.4796 -6784.9798 1392.3932 21699.849 -30339.103 308.73677 61.912759 1.00971 0.715 + 1435000 -5510.8749 1237.5563 -6748.4312 1358.3772 21788.933 -30340.288 296.76518 -306.88924 1.0018599 0.7175 + 1440000 -5499.3556 1270.3888 -6769.7443 1370.7823 21727.629 -30339.175 304.63839 -53.340447 1.0200557 0.72 + 1445000 -5546.7228 1232.4352 -6779.1579 1373.6312 21729.152 -30336.67 295.53714 -213.61291 1.0138642 0.7225 + 1450000 -5449.6319 1267.9184 -6717.5503 1369.4309 21793.674 -30334.448 304.04599 184.06979 1.0177429 0.725 + 1455000 -5605.5581 1205.3164 -6810.8745 1379.1631 21695.098 -30340.184 289.03407 -396.85833 1.0020238 0.7275 + 1460000 -5624.6928 1228.0852 -6852.778 1404.3538 21660.898 -30340.227 294.49403 -103.24316 1.0176862 0.73 + 1465000 -5517.9353 1237.1764 -6755.1117 1376.5763 21773.353 -30337.713 296.67409 -143.30329 1.0091248 0.7325 + 1470000 -5531.193 1192.152 -6723.345 1469.0677 21691.379 -30335.647 285.87727 1394.3946 1.0169307 0.735 + 1475000 -5469.5125 1278.1335 -6747.6459 1374.8894 21790.652 -30336.291 306.49556 -320.76133 0.99923276 0.7375 + 1480000 -5569.7546 1225.3414 -6795.096 1369.5149 21704.23 -30339.752 293.83607 -295.5674 1.0086 0.74 + 1485000 -5570.7676 1229.0249 -6799.7924 1358.7067 21754.36 -30339.644 294.71935 -446.59245 1.0146734 0.7425 + 1490000 -5578.5093 1213.6038 -6792.1131 1361.3024 21746.493 -30339.324 291.0214 -279.50424 1.0188708 0.745 + 1495000 -5574.1959 1286.4102 -6860.6061 1391.1258 21669.913 -30338.466 308.48032 -404.60846 1.0074475 0.7475 + 1500000 -5499.0758 1257.807 -6756.8828 1293.9978 21854.746 -30334.433 301.62128 -995.33111 1.0061023 0.75 + 1505000 -5555.8386 1224.7451 -6780.5837 1398.2158 21721.994 -30333.807 293.69307 -108.77374 1.0017368 0.7525 + 1510000 -5516.6813 1232.9495 -6749.6308 1375.2615 21790.724 -30334.453 295.66048 -254.2256 0.99292399 0.755 + 1515000 -5506.9453 1232.1963 -6739.1416 1398.9195 21765.1 -30337.448 295.47987 280.5709 1.0059619 0.7575 + 1520000 -5572.2466 1203.9157 -6776.1623 1358.6224 21732.12 -30335.917 288.69819 -423.60315 1.013085 0.76 + 1525000 -5479.3423 1275.6547 -6754.997 1348.5224 21788.359 -30339.133 305.90116 -332.75562 1.0119609 0.7625 + 1530000 -5518.4409 1217.0162 -6735.4571 1369.8978 21790.403 -30338.036 291.83967 -211.5446 0.99823021 0.765 + 1535000 -5517.1315 1253.9634 -6771.0948 1424.4081 21690.09 -30337.668 300.69959 341.83304 1.0041481 0.7675 + 1540000 -5528.0888 1233.7041 -6761.7929 1405.9083 21710.981 -30336.39 295.84144 -32.35231 0.99593709 0.77 + 1545000 -5539.0412 1238.631 -6777.6723 1311.2439 21794.343 -30337.582 297.0229 -1311.3664 0.9961313 0.7725 + 1550000 -5595.0349 1240.5672 -6835.602 1441.0277 21670.814 -30338.678 297.48719 536.63002 1.015083 0.775 + 1555000 -5560.1434 1270.6028 -6830.7462 1443.7953 21637.472 -30333.488 304.68972 470.00368 1.0055598 0.7775 + 1560000 -5496.2344 1234.9637 -6731.1981 1330.1568 21821.108 -30335.645 296.14347 -757.48104 0.99041343 0.78 + 1565000 -5556.0238 1248.445 -6804.4688 1397.6434 21692.421 -30338.719 299.37629 -10.691405 1.0182037 0.7825 + 1570000 -5552.3079 1243.8513 -6796.1592 1397.511 21703.363 -30336.571 298.27472 32.033113 1.0089905 0.785 + 1575000 -5468.3273 1283.6822 -6752.0094 1361.1407 21787.216 -30336.574 307.82614 -164.38813 1.0083064 0.7875 + 1580000 -5488.0146 1232.0833 -6720.0979 1320.826 21829.873 -30335.918 295.45277 -417.97233 1.018807 0.79 + 1585000 -5535.136 1231.2656 -6766.4015 1440.3397 21691.223 -30338.944 295.25667 686.24285 1.0137355 0.7925 + 1590000 -5507.2274 1257.8264 -6765.0537 1388.9839 21718.772 -30335.685 301.62593 -138.69824 1.003965 0.795 + 1595000 -5493.0812 1223.4504 -6716.5316 1396.9927 21762.807 -30334.042 293.38261 250.04963 1.0085422 0.7975 + 1600000 -5542.7694 1256.563 -6799.3324 1383.1567 21709.773 -30338.003 301.32298 -51.465013 1.0131684 0.8 + 1605000 -5453.3692 1285.3523 -6738.7215 1362.5454 21803.391 -30335.547 308.22664 -321.46323 1.0029343 0.8025 + 1610000 -5503.9352 1259.2527 -6763.188 1421.5945 21696.436 -30334.944 301.96798 625.60637 1.0255178 0.805 + 1615000 -5476.5761 1246.0171 -6722.5932 1347.6694 21806.697 -30336.05 298.79408 -91.329161 1.0116498 0.8075 + 1620000 -5507.707 1237.031 -6744.738 1371.7693 21775.289 -30334.991 296.63921 -213.66643 1.0063229 0.81 + 1625000 -5456.168 1228.6159 -6684.7839 1372.1719 21806.244 -30336.186 294.62128 293.33707 1.0094967 0.8125 + 1630000 -5650.3002 1225.7447 -6876.0449 1465.0474 21543.498 -30336.757 293.93277 417.30626 1.0158098 0.815 + 1635000 -5450.49 1275.0111 -6725.5011 1481.2268 21684.726 -30337.105 305.74683 1426.6931 1.0094353 0.8175 + 1640000 -5617.7996 1227.1912 -6844.9908 1412.9007 21647.959 -30339.808 294.27965 -64.670241 1.0184979 0.82 + 1645000 -5479.4668 1286.8935 -6766.3603 1430.311 21716.402 -30338.791 308.59622 613.1652 1.002358 0.8225 + 1650000 -5500.2183 1280.3487 -6780.567 1385.4426 21748.104 -30337.348 307.02677 -65.179279 1.0098634 0.825 + 1655000 -5560.2962 1223.2516 -6783.5478 1311.1561 21783.296 -30335.262 293.33493 -1444.809 0.98862533 0.8275 + 1660000 -5560.1654 1221.3779 -6781.5433 1384.641 21766.196 -30337.4 292.88562 -30.809802 1.0055892 0.83 + 1665000 -5459.1135 1261.4358 -6720.5493 1334.6877 21855.177 -30336.221 302.49147 -691.93836 0.98631443 0.8325 + 1670000 -5426.4876 1277.2456 -6703.7331 1301.4361 21883.289 -30338.807 306.28264 -769.6473 1.0029395 0.835 + 1675000 -5560.3658 1228.1155 -6788.4813 1421.5285 21710.575 -30339.538 294.50128 134.14929 0.99950546 0.8375 + 1680000 -5533.0079 1239.2308 -6772.2386 1466.9684 21661.29 -30336.838 297.16672 1000.7926 1.0093582 0.84 + 1685000 -5532.7803 1282.6992 -6815.4795 1387.5896 21673.135 -30336.269 307.59043 -293.90054 1.0036548 0.8425 + 1690000 -5533.8573 1242.0398 -6775.8971 1295.4859 21813.204 -30335.918 297.84032 -1072.3783 1.0103958 0.845 + 1695000 -5569.1131 1236.3099 -6805.423 1391.4947 21734.459 -30337.665 296.46629 -42.852437 1.0020314 0.8475 + 1700000 -5514.6926 1236.9596 -6751.6522 1297.2083 21861.079 -30337.966 296.6221 -1035.3111 1.0148487 0.85 + 1705000 -5481.7854 1264.9348 -6746.7202 1394.4051 21765.618 -30334.989 303.33053 68.230386 0.99805471 0.8525 + 1710000 -5628.7652 1218.5732 -6847.3385 1424.8975 21629.726 -30339.018 292.21306 -18.822494 1.0061359 0.855 + 1715000 -5535.4768 1269.0696 -6804.5464 1310.4991 21778.662 -30338.107 304.32206 -1128.3429 1.0076215 0.8575 + 1720000 -5612.6083 1193.1968 -6805.8051 1383.4907 21742.438 -30339.657 286.12782 -186.2314 1.0077134 0.86 + 1725000 -5483.1527 1278.2192 -6761.3719 1414.7937 21718.362 -30332.789 306.51613 275.89425 0.99757317 0.8625 + 1730000 -5507.2292 1239.3969 -6746.626 1349.4125 21760.595 -30336.33 297.20655 -160.96278 1.0175868 0.865 + 1735000 -5471.6725 1274.6169 -6746.2893 1353.4867 21778.13 -30334.321 305.65228 -455.73375 0.99473861 0.8675 + 1740000 -5457.1173 1292.0777 -6749.195 1354.1425 21798.549 -30337.698 309.83938 105.28166 1.013856 0.87 + 1745000 -5526.7699 1217.2299 -6743.9998 1374.1349 21775.087 -30335.943 291.89093 21.249651 1.0097813 0.8725 + 1750000 -5558.9441 1238.0218 -6796.966 1398.6419 21742.403 -30337.165 296.87681 258.79723 1.0189989 0.875 + 1755000 -5510.581 1278.8181 -6789.3991 1388.2658 21710.876 -30337.981 306.65974 475.10366 1.0315721 0.8775 + 1760000 -5530.9869 1295.8685 -6826.8554 1479.5118 21573.341 -30338.944 310.74841 748.89788 1.0132734 0.88 + 1765000 -5533.3839 1317.0507 -6850.4347 1435.6808 21644.207 -30333.746 315.8279 594.0529 1.0192713 0.8825 + 1770000 -5465.8084 1240.5045 -6706.3129 1292.0385 21900.378 -30339.129 297.47215 -1025.2013 1.0024888 0.885 + 1775000 -5599.0359 1221.6792 -6820.7151 1462.1624 21619.581 -30339.425 292.95787 626.3862 1.0091902 0.8875 + 1780000 -5538.0385 1264.6729 -6802.7114 1372.7663 21730.471 -30338.894 303.26773 -192.55416 1.0065058 0.89 + 1785000 -5428.1822 1333.9892 -6762.1715 1389.1017 21728.7 -30336.27 319.88974 104.29655 1.0139352 0.8925 + 1790000 -5508.9545 1287.0739 -6796.0284 1445.185 21652.743 -30336.902 308.63947 391.87637 1.0000323 0.895 + 1795000 -5523.6516 1235.1646 -6758.8162 1418.1244 21721.296 -30337.575 296.19166 666.61502 1.0229146 0.8975 + 1800000 -5572.6377 1214.1205 -6786.7582 1392.4223 21722.483 -30335.66 291.14528 -97.658277 1.0013673 0.9 + 1805000 -5546.2419 1219.6808 -6765.9227 1366.9631 21762.107 -30337.944 292.47866 -57.351578 1.0188349 0.9025 + 1810000 -5570.7715 1247.1279 -6817.8994 1386.5773 21707.994 -30338.467 299.06045 128.40982 1.018309 0.905 + 1815000 -5527.1768 1236.8139 -6763.9907 1370.0226 21756.947 -30337.433 296.58716 -58.429002 1.0156077 0.9075 + 1820000 -5392.8702 1296.598 -6689.4682 1422.7107 21835.725 -30339.535 310.92334 1096.9698 1.0098001 0.91 + 1825000 -5403.1407 1273.2353 -6676.3761 1398.7473 21821.771 -30338.272 305.32099 575.09164 1.009625 0.9125 + 1830000 -5533.275 1223.962 -6757.237 1302.4782 21879.688 -30335.303 293.50528 -794.93635 1.0164392 0.915 + 1835000 -5537.9594 1230.3716 -6768.331 1359.2088 21780.105 -30337.746 295.04229 -301.96771 1.012533 0.9175 + 1840000 -5496.5607 1259.4196 -6755.9803 1392.4138 21810.816 -30335.129 302.00799 308.79809 1.0087261 0.92 + 1845000 -5516.8276 1233.6195 -6750.4471 1356.0628 21770.257 -30336.985 295.82114 -563.13925 0.99534053 0.9225 + 1850000 -5551.2862 1216.2779 -6767.5641 1315.4137 21779.186 -30338.525 291.66263 -1234.4928 0.9977088 0.925 + 1855000 -5514.4008 1278.8525 -6793.2533 1477.9866 21661.793 -30338.935 306.668 1192.9778 1.0126178 0.9275 + 1860000 -5445.2459 1262.0113 -6707.2573 1295.8277 21920.956 -30333.967 302.62948 -1093.2105 0.98876382 0.93 + 1865000 -5479.9894 1263.9698 -6743.9592 1342.5201 21812.688 -30335.4 303.09913 -141.70262 1.018338 0.9325 + 1870000 -5526.4829 1205.3702 -6731.8531 1376.0037 21811.821 -30332.663 289.04698 186.81383 1.0172778 0.935 + 1875000 -5566.9793 1221.657 -6788.6363 1352.419 21753.184 -30332.134 292.95254 -421.96475 1.0091425 0.9375 + 1880000 -5497.1676 1282.0374 -6779.205 1398.213 21722.715 -30339.838 307.43173 37.827778 1.0039977 0.94 + 1885000 -5557.4404 1233.9174 -6791.3578 1449.936 21642.09 -30339.056 295.89259 883.49759 1.0130214 0.9425 + 1890000 -5506.733 1295.1267 -6801.8597 1297.6178 21817.614 -30338.332 310.57052 -1073.8778 1.0180788 0.945 + 1895000 -5533.7516 1257.448 -6791.1996 1345.2106 21764.458 -30338.571 301.53521 -526.55649 1.0121615 0.9475 + 1900000 -5541.0051 1258.9341 -6799.9391 1381.6398 21733.321 -30338.593 301.89155 -252.04317 1.008764 0.95 + 1905000 -5609.2146 1182.6597 -6791.8743 1350.4308 21757.084 -30338.743 283.60101 -97.157492 1.0309631 0.9525 + 1910000 -5571.9982 1254.2855 -6826.2837 1389.361 21684.388 -30336.514 300.77683 -350.37238 1.0002085 0.955 + 1915000 -5504.046 1277.8838 -6781.9299 1392.3191 21732.799 -30339.549 306.43569 295.58866 1.0234965 0.9575 + 1920000 -5500.6241 1311.1129 -6811.737 1384.3734 21674.326 -30341.238 314.40401 84.788637 1.0209565 0.96 + 1925000 -5529.7992 1229.6795 -6759.4787 1408.9276 21763.324 -30339.966 294.87632 215.06361 1.0061547 0.9625 + 1930000 -5444.6302 1282.6892 -6727.3194 1334.5948 21864.664 -30333.059 307.58803 -76.344233 1.0195039 0.965 + 1935000 -5506.5314 1250.2755 -6756.8069 1346.0266 21804.791 -30335.384 299.81524 -400.10311 1.009444 0.9675 + 1940000 -5595.6735 1257.0187 -6852.6922 1445.275 21568.516 -30337.62 301.43225 543.8544 1.0288045 0.97 + 1945000 -5555.7495 1224.7877 -6780.5372 1333.6985 21795.754 -30338.445 293.70329 -560.62987 1.0145559 0.9725 + 1950000 -5481.8697 1239.3038 -6721.1735 1436.353 21745.545 -30335.269 297.18424 1090.0854 1.024844 0.975 + 1955000 -5586.7772 1263.8812 -6850.6584 1479.012 21594.084 -30335.219 303.07787 1031.8973 1.018222 0.9775 + 1960000 -5495.753 1254.4979 -6750.2508 1386.5525 21763.46 -30336.981 300.82776 72.271681 1.0073177 0.98 + 1965000 -5532.6074 1226.085 -6758.6924 1373.4537 21763.717 -30335.48 294.01437 49.27447 1.0207726 0.9825 + 1970000 -5592.2371 1226.5746 -6818.8117 1393.679 21701.959 -30338.233 294.13177 150.06013 1.0325882 0.985 + 1975000 -5564.1305 1237.5805 -6801.711 1398.2423 21736.76 -30338.459 296.77099 278.42773 1.0180523 0.9875 + 1980000 -5482.7493 1267.38 -6750.1292 1354.4265 21816.978 -30337.136 303.91688 -264.92549 1.0116111 0.99 + 1985000 -5486.0145 1244.3436 -6730.358 1338.1288 21844.074 -30336.86 298.39277 76.865939 1.0287137 0.9925 + 1990000 -5518.5592 1251.3748 -6769.9341 1251.2427 21885.87 -30337.966 300.07886 -1536.5189 1.0130877 0.995 + 1995000 -5487.626 1271.8163 -6759.4423 1356.5853 21769.656 -30337.831 304.9807 -374.70018 1.0071102 0.9975 + 2000000 -5510.6051 1219.5403 -6730.1454 1414.2091 21757.343 -30335.348 292.44495 576.54022 1.0102751 1 +Loop time of 13908.6 on 12 procs for 2000000 steps with 1800 atoms + +Performance: 12.424 ns/day, 1.932 hours/ns, 143.796 timesteps/s +95.4% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7652.9 | 8199.2 | 8886.6 | 354.2 | 58.95 +Bond | 25.21 | 26.012 | 27.096 | 14.0 | 0.19 +Kspace | 2159 | 2762 | 3232.9 | 533.0 | 19.86 +Neigh | 571.65 | 572.66 | 573.54 | 2.5 | 4.12 +Comm | 806.99 | 869.79 | 940.86 | 190.9 | 6.25 +Output | 0.032536 | 0.034245 | 0.041095 | 1.2 | 0.00 +Modify | 959.22 | 1140.3 | 1306.8 | 448.8 | 8.20 +Other | | 338.6 | | | 2.43 + +Nlocal: 150.000 ave 159 max 140 min +Histogram: 1 0 2 2 0 2 2 1 0 2 +Nghost: 6121.33 ave 6236 max 6003 min +Histogram: 2 0 0 3 0 2 2 2 0 1 +Neighs: 87038.7 ave 96826 max 77686 min +Histogram: 2 0 1 3 0 1 2 1 1 1 + +Total # of neighbors = 1044464 +Ave neighs/atom = 580.25778 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 89191 +Dangerous builds = 0 +Total wall time: 4:02:50 diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-q.fep b/examples/USER/fep/SPCEhyd/fep01/fep01-q.fep new file mode 100644 index 0000000000..553c231860 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/fep01-q.fep @@ -0,0 +1,22 @@ +# Time-averaged data for fix FEP +# TimeStep c_FEP[1] c_FEP[2] c_FEP[3] +100000 -0.00130466 18193.2 17742.3 +200000 -0.027526 18951.4 17742.7 +300000 -0.0459414 19629.2 17752.3 +400000 -0.0857092 21019.8 17772.6 +500000 -0.0982497 21457.5 17731.3 +600000 -0.137334 23057.4 17808.5 +700000 -0.170804 24395.7 17801 +800000 -0.223064 26797.3 17738.8 +900000 -0.261826 28800 17791.7 +1000000 -0.286374 30143.5 17783.4 +1100000 -0.349306 33728.2 17757.7 +1200000 -0.408164 37435.9 17787.7 +1300000 -0.496871 43896.5 17766.2 +1400000 -0.602917 53115.7 17749.9 +1500000 -0.72768 65474.3 17765 +1600000 -0.793802 73873.7 17785.7 +1700000 -0.912421 92487.7 17754.8 +1800000 -1.02249 109518 17762.7 +1900000 -1.12599 130115 17752.5 +2000000 -1.2899 174891 17768.3 diff --git a/examples/USER/fep/SPCEhyd/fep01/fep01-q.out b/examples/USER/fep/SPCEhyd/fep01/fep01-q.out new file mode 100644 index 0000000000..4d597f88b3 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/fep01-q.out @@ -0,0 +1,561 @@ +LAMMPS (29 Oct 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/lammps/src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (29.204526 29.204526 29.204526) + 2 by 2 by 3 MPI processor grid + reading atoms ... + 1800 atoms + scanning bonds ... + 1 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 1200 bonds + reading angles ... + 600 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0.5 + special bond factors coul: 0 0 0.5 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.019 seconds +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 600 = # of size 3 clusters + 0 = # of size 4 clusters + 0 = # of frozen angles + find clusters CPU = 0.001 seconds +Setting atom values ... + 3 settings made for charge +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25066829 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0030719151 + estimated relative force accuracy = 9.250981e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 3757 800 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 8.214 | 8.226 | 8.244 Mbytes +Step CPU TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Volume Density + 0 0 1344.0739 1251.046 93.027896 53.823145 30049.554 -30010.349 300 10284.878 24908.667 0.72058313 + 5000 26.813 -5450.5713 1282.0681 -6732.6394 1325.6489 21834.91 -30297.994 307.43909 -699.90679 18234.717 0.98431826 + 10000 55.604067 -5588.263 1217.9162 -6806.1792 1414.4085 21633.044 -30301.477 292.05551 23.383255 17964.154 0.99914336 + 15000 85.625894 -5502.4932 1306.1963 -6808.6896 1448.9698 21589.863 -30300.506 313.22502 674.44388 17764.828 1.010354 + 20000 119.30994 -5551.8753 1255.7906 -6807.6659 1438.0508 21600.534 -30296.631 301.13775 626.57778 17521.241 1.0244003 + 25000 153.36332 -5513.3214 1262.2974 -6775.6188 1448.1692 21624.738 -30300.649 302.69809 1082.1686 17539.064 1.0233594 + 30000 185.73754 -5517.07 1232.0851 -6749.1552 1351.1278 21743.778 -30297.746 295.45321 -345.74832 17641.782 1.0174009 + 35000 219.88466 -5461.9885 1261.1109 -6723.0993 1320.5321 21811.17 -30298.154 302.41356 -633.99545 17793.771 1.0087106 + 40000 250.59178 -5478.4688 1259.9078 -6738.3767 1361.0965 21772.195 -30298.632 302.12507 251.40827 17555.015 1.0224295 + 45000 284.497 -5586.9018 1253.0148 -6839.9166 1368.2811 21661.619 -30296.221 300.47212 -485.67054 17692.537 1.0144823 + 50000 318.07759 -5566.6473 1284.4686 -6851.116 1421.3632 21574.213 -30298.299 308.01473 123.81461 17666.827 1.0159586 + 55000 342.2475 -5571.8668 1241.516 -6813.3827 1320.1575 21745.617 -30297.514 297.71471 -757.9971 17553.891 1.0224949 + 60000 369.92714 -5405.9904 1244.2976 -6650.288 1321.6833 21864.494 -30297.613 298.38174 -252.7118 17729.038 1.0123936 + 65000 400.90471 -5536.8199 1222.3639 -6759.1838 1335.2142 21756.337 -30299.402 293.12205 -425.71516 17495.348 1.0259165 + 70000 421.35603 -5552.3284 1260.2509 -6812.5793 1340.624 21697.664 -30296.839 302.20732 -845.04229 17882.237 1.0037204 + 75000 441.98615 -5494.066 1286.3299 -6780.3959 1404.289 21683.326 -30293.835 308.46107 382.75947 17905.291 1.002428 + 80000 462.4957 -5550.6324 1269.8456 -6820.4779 1356.8274 21698.112 -30298.489 304.50813 -534.46185 17874.446 1.0041579 + 85000 483.079 -5656.6158 1200.4648 -6857.0807 1457.2846 21562.254 -30300.6 287.87068 686.28181 17521.518 1.0243841 + 90000 510.58296 -5480.2188 1242.2417 -6722.4605 1325.1999 21772.005 -30296.2 297.88874 -353.59603 17662.908 1.016184 + 95000 531.29699 -5537.8929 1265.7042 -6803.5971 1376.1449 21683.369 -30297.657 303.51504 -263.8525 17673.753 1.0155605 + 100000 563.33023 -5538.2683 1254.8684 -6793.1367 1343.4731 21751.843 -30299.503 300.91662 -623.47098 17857.853 1.0050909 +Loop time of 563.33 on 12 procs for 100000 steps with 1800 atoms + +Performance: 15.337 ns/day, 1.565 hours/ns, 177.516 timesteps/s +94.5% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 284.09 | 305.4 | 330.52 | 90.7 | 54.21 +Bond | 1.0744 | 1.1159 | 1.1633 | 3.1 | 0.20 +Kspace | 101.59 | 125.93 | 147.73 | 141.3 | 22.35 +Neigh | 22.44 | 22.466 | 22.486 | 0.3 | 3.99 +Comm | 39.278 | 41.789 | 46.639 | 43.5 | 7.42 +Output | 0.0012299 | 0.0012852 | 0.0017706 | 0.4 | 0.00 +Modify | 42.543 | 55.366 | 62.194 | 102.3 | 9.83 +Other | | 11.26 | | | 2.00 + +Nlocal: 150.000 ave 163 max 133 min +Histogram: 1 1 0 0 1 3 3 0 1 2 +Nghost: 6108.25 ave 6187 max 6048 min +Histogram: 3 0 2 1 1 1 1 1 1 1 +Neighs: 86944.1 ave 96258 max 75267 min +Histogram: 2 0 1 0 1 0 3 3 1 1 + +Total # of neighbors = 1043329 +Ave neighs/atom = 579.62722 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 4470 +Dangerous builds = 9 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25102555 + grid = 18 18 18 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0035374557 + estimated relative force accuracy = 1.0652943e-05 + using double precision FFTW3 + 3d grid and FFT values/proc = 3328 648 +FEP settings ... + temperature = 300.000000 + tail no + 1-1 charge + 2-2 charge +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 8.592 | 8.613 | 8.629 Mbytes +Step TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Density v_lambda v_qO v_qH + 0 -5538.2733 1254.8684 -6793.1417 1343.4731 21794.974 -30342.64 300.91662 -475.71492 1.0050909 0 -0 0 + 5000 -5579.9374 1246.75 -6826.6874 1443.8973 21614.133 -30343.039 298.96983 785.16037 1.0322471 0.0025 -0.002119 0.0010595 + 10000 -5528.9995 1276.273 -6805.2725 1375.6345 21734.24 -30343.779 306.04943 -41.209531 1.0207823 0.005 -0.004238 0.002119 + 15000 -5506.4227 1270.5724 -6776.9951 1356.298 21760.893 -30339.74 304.68242 -483.58254 1.0055775 0.0075 -0.006357 0.0031785 + 20000 -5520.1985 1271.766 -6791.9645 1413.5454 21705.741 -30340.672 304.96864 -25.849632 0.9997261 0.01 -0.008476 0.004238 + 25000 -5538.0793 1260.547 -6798.6264 1362.2032 21772.012 -30341.973 302.27834 -32.008776 1.0238659 0.0125 -0.010595 0.0052975 + 30000 -5519.1594 1267.066 -6786.2254 1327.6996 21784.187 -30341.191 303.84159 -919.77668 0.99978921 0.015 -0.012714 0.006357 + 35000 -5565.8849 1244.6201 -6810.505 1384.6297 21700.099 -30337.317 298.45908 -41.645325 1.0154185 0.0175 -0.014833 0.0074165 + 40000 -5610.4882 1225.8647 -6836.3529 1416.9133 21661.893 -30343.456 293.96154 86.229199 1.0091158 0.02 -0.016952 0.008476 + 45000 -5609.3562 1208.1008 -6817.457 1387.4135 21711.193 -30343.791 289.70178 -101.30213 1.0155204 0.0225 -0.019071 0.0095355 + 50000 -5512.9435 1272.9818 -6785.9253 1379.4084 21746.829 -30342.184 305.2602 -12.658236 1.0143328 0.025 -0.02119 0.010595 + 55000 -5568.845 1249.4227 -6818.2677 1397.4685 21704.581 -30340.419 299.61074 -409.12372 0.99849506 0.0275 -0.023309 0.0116545 + 60000 -5519.3972 1216.5292 -6735.9264 1369.8115 21830.467 -30342.642 291.72291 117.70437 1.0138535 0.03 -0.025428 0.012714 + 65000 -5525.0539 1229.5034 -6754.5573 1354.6275 21755.174 -30340.101 294.8341 -462.0909 1.0102225 0.0325 -0.027547 0.0137735 + 70000 -5472.0836 1237.9936 -6710.0772 1352.7747 21872.795 -30340.246 296.87006 -5.9707079 1.010185 0.035 -0.029666 0.014833 + 75000 -5514.8966 1241.7822 -6756.6788 1369.2902 21788.901 -30344.123 297.77855 -36.505421 1.0055449 0.0375 -0.031785 0.0158925 + 80000 -5501.5809 1244.4839 -6746.0648 1406.1414 21762.858 -30338.116 298.42642 356.6391 1.0044866 0.04 -0.033904 0.016952 + 85000 -5522.8846 1243.4435 -6766.3281 1277.631 21834.13 -30341.071 298.17693 -1501.0557 1.0030405 0.0425 -0.036023 0.0180115 + 90000 -5521.2512 1226.9606 -6748.2118 1426.6301 21707.584 -30342.842 294.22434 431.61937 1.0037325 0.045 -0.038142 0.019071 + 95000 -5606.4261 1239.7565 -6846.1826 1458.2919 21603.577 -30341.265 297.2928 452.3491 1.0064454 0.0475 -0.040261 0.0201305 + 100000 -5526.6029 1244.4811 -6771.084 1442.7891 21665.95 -30338.28 298.42575 499.20413 1.0045851 0.05 -0.04238 0.02119 + 105000 -5589.4951 1234.4407 -6823.9358 1418.2214 21663.025 -30341.483 296.01807 101.88725 1.0139383 0.0525 -0.044499 0.0222495 + 110000 -5511.859 1262.1425 -6774.0015 1353.5279 21783.245 -30339.283 302.66093 -199.18931 1.0257755 0.055 -0.046618 0.023309 + 115000 -5647.3449 1229.413 -6876.758 1408.5179 21641.362 -30341.598 294.81243 -298.02921 1.0020969 0.0575 -0.048737 0.0243685 + 120000 -5449.7674 1281.3875 -6731.155 1304.5518 21888.494 -30341.641 307.27589 -694.089 1.0046108 0.06 -0.050856 0.025428 + 125000 -5430.3553 1247.5854 -6677.9407 1342.5284 21899.097 -30343.376 299.17016 125.17161 1.0091105 0.0625 -0.052975 0.0264875 + 130000 -5604.2229 1198.864 -6803.0869 1343.9437 21741.913 -30342.105 287.4868 -1029.1103 0.99252488 0.065 -0.055094 0.027547 + 135000 -5550.2149 1233.8869 -6784.1018 1298.4466 21844.496 -30341.697 295.88527 -1083.9932 1.0128891 0.0675 -0.057213 0.0286065 + 140000 -5526.9114 1246.4353 -6773.3466 1346.6874 21790.011 -30343.164 298.89435 -384.65885 1.0089922 0.07 -0.059332 0.029666 + 145000 -5594.7954 1213.2963 -6808.0917 1391.4251 21671.653 -30341.641 290.94766 -59.474002 1.0195886 0.0725 -0.061451 0.0307255 + 150000 -5580.5229 1259.8574 -6840.3803 1384.5548 21703.974 -30342.483 302.11297 -91.974674 1.0257584 0.075 -0.06357 0.031785 + 155000 -5566.2712 1230.138 -6796.4093 1366.5696 21707.576 -30336.313 294.98629 -482.01244 1.0070735 0.0775 -0.065689 0.0328445 + 160000 -5491.8647 1293.2326 -6785.0974 1386.5259 21718.735 -30343.487 310.11633 -89.376893 1.0093767 0.08 -0.067808 0.033904 + 165000 -5531.3681 1279.7729 -6811.1409 1354.4198 21753.203 -30342.651 306.88869 -392.95774 1.0134907 0.0825 -0.069927 0.0349635 + 170000 -5594.2308 1213.4715 -6807.7023 1482.6412 21600.249 -30341.895 290.98966 928.50126 1.0132201 0.085 -0.072046 0.036023 + 175000 -5519.3482 1257.2925 -6776.6407 1420.4909 21726.753 -30340.213 301.49792 254.94623 0.98901793 0.0875 -0.074165 0.0370825 + 180000 -5426.929 1250.4297 -6677.3587 1356.866 21886.349 -30343.3 299.85221 -245.8457 0.98302571 0.09 -0.076284 0.038142 + 185000 -5512.2746 1245.7072 -6757.9817 1380.9844 21794.2 -30342.884 298.71976 149.05128 1.0150091 0.0925 -0.078403 0.0392015 + 190000 -5449.1514 1266.5892 -6715.7406 1324.6562 21889.348 -30342.468 303.72725 -620.02591 1.0004189 0.095 -0.080522 0.040261 + 195000 -5479.3945 1315.5655 -6794.96 1485.0588 21649.278 -30344.957 315.47174 1314.4492 1.0231026 0.0975 -0.082641 0.0413205 + 200000 -5563.7047 1217.2005 -6780.9051 1358.0191 21745.737 -30342.731 291.88386 -588.88047 1.0064764 0.1 -0.08476 0.04238 + 205000 -5580.3808 1230.1745 -6810.5553 1411.4424 21686.461 -30344.166 294.99504 214.77057 1.0029345 0.1025 -0.086879 0.0434395 + 210000 -5498.3534 1242.7043 -6741.0576 1370.6141 21796.013 -30341.015 297.99966 -26.716679 1.0117516 0.105 -0.088998 0.044499 + 215000 -5458.5956 1250.9454 -6709.541 1395.6557 21783.461 -30338.225 299.97588 406.41699 1.0137518 0.1075 -0.091117 0.0455585 + 220000 -5626.602 1214.9754 -6841.5774 1473.3289 21571.914 -30341.748 291.3503 599.47976 1.0096167 0.11 -0.093236 0.046618 + 225000 -5600.5356 1224.9039 -6825.4395 1342.4891 21754.804 -30341.025 293.73115 -626.27228 1.0198862 0.1125 -0.095355 0.0476775 + 230000 -5454.9477 1275.1464 -6730.0941 1372.8993 21798.515 -30340.963 305.77926 154.34847 1.0029435 0.115 -0.097474 0.048737 + 235000 -5481.9555 1227.4931 -6709.4486 1352.587 21840.233 -30343.313 294.35203 -208.20676 1.0008406 0.1175 -0.099593 0.0497965 + 240000 -5558.573 1218.8864 -6777.4595 1385.8452 21752.45 -30343.537 292.28816 162.10969 1.0215047 0.12 -0.101712 0.050856 + 245000 -5520.9207 1225.4691 -6746.3898 1338.4141 21841.905 -30342.557 293.86667 -587.07136 0.99909027 0.1225 -0.103831 0.0519155 + 250000 -5469.8293 1274.8021 -6744.6315 1384.4128 21775.904 -30342.629 305.69671 64.465989 1.0105027 0.125 -0.10595 0.052975 + 255000 -5583.4632 1209.565 -6793.0282 1426.1758 21667.168 -30342.466 290.0529 515.82984 1.0156235 0.1275 -0.108069 0.0540345 + 260000 -5536.1405 1237.073 -6773.2135 1357.8241 21771.52 -30340.823 296.64929 -438.57147 1.0071049 0.13 -0.110188 0.055094 + 265000 -5611.0013 1237.3831 -6848.3844 1417.6236 21598.469 -30339.452 296.72365 -367.70672 0.99925355 0.1325 -0.112307 0.0561535 + 270000 -5551.1345 1227.3483 -6778.4827 1430.3281 21692.104 -30340.818 294.31731 287.00159 1.0010721 0.135 -0.114426 0.057213 + 275000 -5602.2651 1241.1358 -6843.4009 1391.9031 21673.697 -30343.58 297.62355 -264.79926 1.014186 0.1375 -0.116545 0.0582725 + 280000 -5505.2292 1277.7478 -6782.9769 1380.5349 21747.333 -30343.992 306.40307 39.871379 1.0224709 0.14 -0.118664 0.059332 + 285000 -5527.7736 1230.4336 -6758.2072 1397.1892 21732.299 -30342.417 295.05716 276.95418 1.0126839 0.1425 -0.120783 0.0603915 + 290000 -5450.4061 1265.2269 -6715.6329 1360.3141 21842.086 -30344 303.40057 207.59349 1.0147077 0.145 -0.122902 0.061451 + 295000 -5617.5993 1217.4105 -6835.0098 1487.1573 21606.767 -30340.365 291.93424 808.20982 1.0058589 0.1475 -0.125021 0.0625105 + 300000 -5543.8664 1236.4411 -6780.3075 1377.4792 21755.298 -30344.078 296.49776 -182.45633 1.0097782 0.15 -0.12714 0.06357 + 305000 -5609.1426 1227.6292 -6836.7719 1437.6073 21603.923 -30343.337 294.38468 575.20852 1.0196556 0.1525 -0.129259 0.0646295 + 310000 -5549.1828 1228.5889 -6777.7717 1394.6395 21691.45 -30340.369 294.61482 348.39727 1.0352996 0.155 -0.131378 0.065689 + 315000 -5535.243 1248.2444 -6783.4874 1342.2366 21792.192 -30343.483 299.32819 -625.73677 1.0050826 0.1575 -0.133497 0.0667485 + 320000 -5534.3687 1255.4471 -6789.8158 1391.0816 21739.717 -30344.081 301.05539 302.16436 1.0216155 0.16 -0.135616 0.067808 + 325000 -5471.3922 1279.3669 -6750.759 1350.9981 21795.148 -30342.392 306.79133 -197.30703 1.0143436 0.1625 -0.137735 0.0688675 + 330000 -5598.8232 1226.4651 -6825.2883 1398.7718 21677.079 -30344.7 294.10553 -213.61646 1.0148836 0.165 -0.139854 0.069927 + 335000 -5551.2529 1259.6937 -6810.9465 1387.3662 21685.187 -30344.308 302.07371 138.36812 1.0229544 0.1675 -0.141973 0.0709865 + 340000 -5614.9057 1204.9401 -6819.8458 1400.0625 21668.036 -30343.31 288.94385 -386.78257 0.99685483 0.17 -0.144092 0.072046 + 345000 -5520.3252 1245.9691 -6766.2942 1428.7502 21696.415 -30345.482 298.78256 768.45616 1.0192108 0.1725 -0.146211 0.0731055 + 350000 -5513.6753 1249.7279 -6763.4032 1284.3535 21864.411 -30343.729 299.68392 -1040.9933 1.0093189 0.175 -0.14833 0.074165 + 355000 -5547.2549 1244.5392 -6791.7941 1428.3735 21662.08 -30340.69 298.43968 593.10891 1.0193921 0.1775 -0.150449 0.0752245 + 360000 -5589.7133 1245.8181 -6835.5314 1358.8909 21676.184 -30346.212 298.74637 -615.61801 1.0169406 0.18 -0.152568 0.076284 + 365000 -5487.1246 1223.3024 -6710.427 1333.6832 21894.405 -30339.2 293.34711 -385.63992 0.99614598 0.1825 -0.154687 0.0773435 + 370000 -5557.3434 1261.7301 -6819.0735 1430.6594 21657.49 -30341.935 302.56204 256.97472 1.0130616 0.185 -0.156806 0.078403 + 375000 -5453.0587 1250.9921 -6704.0508 1417.9533 21782.943 -30342.475 299.98708 759.88581 1.005535 0.1875 -0.158925 0.0794625 + 380000 -5556.3547 1222.266 -6778.6207 1358.5536 21812.006 -30343.775 293.09858 -190.9931 1.0101874 0.19 -0.161044 0.080522 + 385000 -5501.4025 1265.3304 -6766.7328 1424.8468 21722.251 -30342.613 303.42538 676.19284 1.0082991 0.1925 -0.163163 0.0815815 + 390000 -5553.0922 1226.1248 -6779.217 1386.2701 21755.237 -30343.024 294.02392 -55.846714 1.0141611 0.195 -0.165282 0.082641 + 395000 -5464.7179 1292.5065 -6757.2245 1391.9142 21755.809 -30342.569 309.94221 143.63086 1.001399 0.1975 -0.167401 0.0837005 + 400000 -5552.2274 1226.6092 -6778.8365 1437.5354 21706.283 -30344.844 294.14007 383.64397 0.99717814 0.2 -0.16952 0.08476 + 405000 -5465.9964 1302.7208 -6768.7172 1272.3678 21868.849 -30344.642 312.39159 -1291.0003 1.0128426 0.2025 -0.171639 0.0858195 + 410000 -5502.6819 1234.6487 -6737.3307 1351.0308 21789.612 -30344.433 296.06795 -265.76646 1.0210657 0.205 -0.173758 0.086879 + 415000 -5633.7475 1231.4568 -6865.2043 1369.0122 21700.285 -30343.991 295.30253 -446.38607 1.0197817 0.2075 -0.175877 0.0879385 + 420000 -5501.9642 1301.7275 -6803.6917 1383.0254 21739.249 -30343.668 312.1534 167.94828 1.0154563 0.21 -0.177996 0.088998 + 425000 -5532.9109 1273.6513 -6806.5622 1353.034 21735.703 -30341.962 305.42074 -386.7674 1.0176249 0.2125 -0.180115 0.0900575 + 430000 -5610.4928 1229.6066 -6840.0994 1384.0534 21685.85 -30340.003 294.85885 -392.26296 1.0166946 0.215 -0.182234 0.091117 + 435000 -5485.4138 1292.946 -6778.3598 1331.4915 21809.953 -30343.379 310.04759 -684.00607 0.99728831 0.2175 -0.184353 0.0921765 + 440000 -5423.494 1275.8582 -6699.3523 1355.0802 21885.761 -30344.38 305.94996 -61.348045 1.0030785 0.22 -0.186472 0.093236 + 445000 -5543.7469 1262.7456 -6806.4925 1292.6629 21801.211 -30345.175 302.80557 -942.29675 1.019957 0.2225 -0.188591 0.0942955 + 450000 -5508.6756 1254.0646 -6762.7401 1336.3483 21793.153 -30345.515 300.72385 -424.30387 1.0135307 0.225 -0.19071 0.095355 + 455000 -5536.23 1241.0621 -6777.2921 1356.0154 21765.992 -30341.02 297.60588 -415.44019 1.013923 0.2275 -0.192829 0.0964145 + 460000 -5519.3214 1227.2661 -6746.5875 1350.5669 21793.876 -30345.691 294.2976 -838.27228 0.98835279 0.23 -0.194948 0.097474 + 465000 -5569.5398 1206.1409 -6775.6808 1341.3479 21779.493 -30347.065 289.2318 -1009.2997 0.98862235 0.2325 -0.197067 0.0985335 + 470000 -5477.9533 1252.9751 -6730.9284 1332.4765 21850.802 -30347.395 300.46261 -434.01812 1.0083102 0.235 -0.199186 0.099593 + 475000 -5454.9313 1285.8036 -6740.7349 1455.9404 21718.761 -30341.504 308.33485 1197.5128 1.018547 0.2375 -0.201305 0.1006525 + 480000 -5500.6228 1264.0646 -6764.6874 1416.1687 21720.5 -30344.339 303.12185 658.63999 1.0148714 0.24 -0.203424 0.101712 + 485000 -5487.2301 1267.1551 -6754.3852 1393.3235 21727.438 -30344.266 303.86296 203.85856 1.0140199 0.2425 -0.205543 0.1027715 + 490000 -5542.8719 1257.8965 -6800.7685 1425.7521 21626.135 -30342.879 301.64276 372.74667 1.0129528 0.245 -0.207662 0.103831 + 495000 -5528.489 1239.5803 -6768.0694 1497.5941 21586.069 -30343.329 297.25054 1242.1701 1.0035294 0.2475 -0.209781 0.1048905 + 500000 -5537.0419 1260.1365 -6797.1784 1368.6229 21717.765 -30341.664 302.17989 -282.78916 1.0246698 0.25 -0.2119 0.10595 + 505000 -5476.9332 1287.4238 -6764.357 1473.5981 21665.477 -30346.513 308.72338 1132.7688 1.0122147 0.2525 -0.214019 0.1070095 + 510000 -5467.851 1267.0655 -6734.9165 1378.6348 21778.869 -30344.441 303.84146 69.208146 1.0140451 0.255 -0.216138 0.108069 + 515000 -5551.9713 1245.7115 -6797.6828 1403.6528 21721.547 -30342.376 298.72079 364.60527 1.0219092 0.2575 -0.218257 0.1091285 + 520000 -5611.3897 1244.7924 -6856.1821 1408.031 21638.811 -30344.364 298.5004 190.73446 1.0278442 0.26 -0.220376 0.110188 + 525000 -5572.5188 1247.1919 -6819.7107 1379.85 21691.92 -30343.696 299.0758 -203.52852 1.0154091 0.2625 -0.222495 0.1112475 + 530000 -5490.5915 1254.3538 -6744.9453 1387.0893 21799.214 -30343.112 300.79321 143.30552 1.0061614 0.265 -0.224614 0.112307 + 535000 -5625.8769 1218.1946 -6844.0715 1520.0402 21545.685 -30344.513 292.12226 1447.1785 1.0166808 0.2675 -0.226733 0.1133665 + 540000 -5469.8413 1287.4258 -6757.2671 1334.5626 21829.046 -30343.092 308.72386 -673.21682 1.0017181 0.27 -0.228852 0.114426 + 545000 -5512.6863 1236.8449 -6749.5313 1318.7318 21858.112 -30344.481 296.5946 -863.71117 0.99129185 0.2725 -0.230971 0.1154855 + 550000 -5639.1715 1217.2608 -6856.4322 1434.9176 21593.482 -30346.132 291.89833 253.12123 1.0171626 0.275 -0.23309 0.116545 + 555000 -5519.0565 1267.6791 -6786.7356 1405.1048 21738.951 -30344.793 303.98862 48.101225 0.99694182 0.2775 -0.235209 0.1176045 + 560000 -5652.7174 1173.1335 -6825.851 1439.7187 21641.222 -30344.805 281.31664 253.14906 1.0090928 0.28 -0.237328 0.118664 + 565000 -5669.4656 1195.4457 -6864.9113 1456.9433 21573.732 -30345.136 286.66708 192.38017 1.0032964 0.2825 -0.239447 0.1197235 + 570000 -5497.9803 1237.3935 -6735.3738 1357.9081 21789.301 -30345.378 296.72614 -251.982 1.0069437 0.285 -0.241566 0.120783 + 575000 -5499.6888 1271.8265 -6771.5154 1443.195 21717.024 -30345.292 304.98316 940.92536 1.012527 0.2875 -0.243685 0.1218425 + 580000 -5490.5569 1271.9789 -6762.5359 1373.9183 21766.793 -30344.227 305.01971 17.578848 1.0172064 0.29 -0.245804 0.122902 + 585000 -5530.2852 1261.3697 -6791.6549 1423.9039 21686.202 -30347.296 302.47562 -11.504613 0.99116915 0.2925 -0.247923 0.1239615 + 590000 -5488.4278 1288.5886 -6777.0164 1468.0208 21640.734 -30343.206 309.00269 759.61005 1.0084625 0.295 -0.250042 0.125021 + 595000 -5588.7416 1194.6582 -6783.3998 1372.9575 21791.426 -30342.728 286.47825 -143.90808 1.0132126 0.2975 -0.252161 0.1260805 + 600000 -5563.6701 1271.4938 -6835.1639 1449.6769 21642.784 -30343.735 304.90337 625.81539 1.011506 0.3 -0.25428 0.12714 + 605000 -5488.2233 1258.2868 -6746.5101 1407.7504 21741.629 -30343.159 301.73634 510.16631 1.0132228 0.3025 -0.256399 0.1281995 + 610000 -5549.338 1238.8653 -6788.2032 1429.9285 21684.29 -30344.283 297.07907 123.93393 0.98486733 0.305 -0.258518 0.129259 + 615000 -5490.009 1293.1302 -6783.1393 1394.1407 21736.673 -30344.121 310.09178 15.132265 1.0008809 0.3075 -0.260637 0.1303185 + 620000 -5557.3108 1229.2075 -6786.5184 1428.7497 21675.082 -30342.962 294.76316 221.88021 0.99717009 0.31 -0.262756 0.131378 + 625000 -5471.4619 1265.6593 -6737.1212 1435.6918 21726.949 -30346.08 303.50427 1082.3293 1.0296014 0.3125 -0.264875 0.1324375 + 630000 -5596.2646 1223.2613 -6819.5259 1310.3452 21748.215 -30349.483 293.33726 -956.30387 1.0193588 0.315 -0.266994 0.133497 + 635000 -5562.8009 1236.4073 -6799.2082 1435.0639 21648.724 -30348.81 296.48966 760.70171 1.0231151 0.3175 -0.269113 0.1345565 + 640000 -5546.5984 1245.5875 -6792.1859 1391.0829 21720.571 -30344.208 298.69107 84.132969 1.0139372 0.32 -0.271232 0.135616 + 645000 -5527.7237 1239.7635 -6767.4873 1469.2669 21670.472 -30347.702 297.29448 905.19045 1.004227 0.3225 -0.273351 0.1366755 + 650000 -5486.0101 1261.5972 -6747.6073 1428.0768 21719.918 -30346.814 302.53018 872.03447 1.0211175 0.325 -0.27547 0.137735 + 655000 -5512.6624 1274.7595 -6787.4218 1407.8255 21738.349 -30345.234 305.68648 315.34392 1.0159005 0.3275 -0.277589 0.1387945 + 660000 -5530.8232 1277.0139 -6807.8371 1411.9654 21724.952 -30344.558 306.22709 228.19739 1.0073576 0.33 -0.279708 0.139854 + 665000 -5584.6646 1210.7846 -6795.4492 1315.201 21842.284 -30345.244 290.34534 -1036.0503 0.99766647 0.3325 -0.281827 0.1409135 + 670000 -5613.7042 1216.7094 -6830.4135 1469.5492 21569.502 -30344.552 291.7661 569.55799 1.0191265 0.335 -0.283946 0.141973 + 675000 -5403.7426 1262.8723 -6666.6149 1452.6942 21769.922 -30345.597 302.83594 882.59425 0.99095227 0.3375 -0.286065 0.1430325 + 680000 -5621.8921 1220.9976 -6842.8897 1408.834 21654.021 -30346.563 292.79442 -296.23945 1.0015159 0.34 -0.288184 0.144092 + 685000 -5488.859 1304.9527 -6793.8117 1364.554 21763.427 -30348.59 312.92679 -211.30923 1.0149918 0.3425 -0.290303 0.1451515 + 690000 -5504.5878 1248.5637 -6753.1515 1384.0982 21716.14 -30343.281 299.40474 -82.795916 1.0093095 0.345 -0.292422 0.146211 + 695000 -5596.2796 1229.4773 -6825.7569 1344.4706 21742.04 -30345.718 294.82784 -1005.4356 1.0046317 0.3475 -0.294541 0.1472705 + 700000 -5532.1829 1295.7513 -6827.9341 1347.6545 21694.469 -30347.727 310.7203 -803.09684 1.0085103 0.35 -0.29666 0.14833 + 705000 -5556.5407 1230.5343 -6787.075 1344.8187 21812.434 -30348.843 295.08131 -201.00712 1.010319 0.3525 -0.298779 0.1493895 + 710000 -5633.8136 1234.4193 -6868.2329 1333.0942 21730.242 -30348.833 296.01293 -1368.0288 1.0000966 0.355 -0.300898 0.150449 + 715000 -5631.0856 1227.5912 -6858.6768 1395.4568 21681.852 -30346.637 294.37556 -255.61879 1.0144939 0.3575 -0.303017 0.1515085 + 720000 -5549.3688 1210.7798 -6760.1486 1418.7021 21758.926 -30350.326 290.3442 536.38975 1.0085621 0.36 -0.305136 0.152568 + 725000 -5628.8043 1231.3533 -6860.1576 1458.785 21573.579 -30350.207 295.27771 707.01861 1.0187202 0.3625 -0.307255 0.1536275 + 730000 -5548.9622 1251.7202 -6800.6824 1421.0395 21671.018 -30346.928 300.16167 167.64307 1.0191958 0.365 -0.309374 0.154687 + 735000 -5500.5941 1264.5064 -6765.1005 1364.4388 21811.902 -30349.578 303.22781 -108.03631 1.0186648 0.3675 -0.311493 0.1557465 + 740000 -5558.7077 1258.2914 -6816.9991 1409.4089 21709.041 -30348.945 301.73744 275.48329 1.0184094 0.37 -0.313612 0.156806 + 745000 -5482.8834 1276.9878 -6759.8711 1311.3195 21878.96 -30349.341 306.22082 -437.5413 1.0200645 0.3725 -0.315731 0.1578655 + 750000 -5535.8763 1236.3636 -6772.2398 1319.5529 21810.776 -30344.948 296.47917 -956.45661 1.0011678 0.375 -0.31785 0.158925 + 755000 -5533.7191 1213.8761 -6747.5953 1306.0985 21808.043 -30348.582 291.08669 -683.27383 1.0227604 0.3775 -0.319969 0.1599845 + 760000 -5429.3835 1303.7005 -6733.084 1333.5357 21913.252 -30348.286 312.62653 -151.87516 1.0091534 0.38 -0.322088 0.161044 + 765000 -5667.794 1212.9659 -6880.7599 1506.7874 21503.139 -30348.871 290.86842 891.10492 1.0215444 0.3825 -0.324207 0.1621035 + 770000 -5484.9356 1311.0182 -6795.9538 1435.0311 21677.068 -30348.949 314.3813 620.96832 1.0136132 0.385 -0.326326 0.163163 + 775000 -5518.6285 1232.7734 -6751.4018 1411.338 21740.98 -30346.257 295.61824 753.30258 1.0333129 0.3875 -0.328445 0.1642225 + 780000 -5537.1259 1217.4396 -6754.5655 1316.3755 21845.361 -30345.727 291.94122 -662.73038 1.0188948 0.39 -0.330564 0.165282 + 785000 -5604.5939 1277.8467 -6882.4407 1444.6878 21553.248 -30348.7 306.4268 227.68388 1.0209541 0.3925 -0.332683 0.1663415 + 790000 -5462.4478 1319.1458 -6781.5936 1327.6125 21815.004 -30349.006 316.33029 -750.24035 1.003079 0.395 -0.334802 0.167401 + 795000 -5487.7929 1318.8959 -6806.6888 1389.8939 21723.298 -30346.719 316.27037 -264.12282 0.99738096 0.3975 -0.336921 0.1684605 + 800000 -5523.8042 1255.7477 -6779.5519 1396.5496 21737.296 -30349.897 301.12747 178.89364 1.007163 0.4 -0.33904 0.16952 + 805000 -5538.132 1228.7841 -6766.9161 1453.7899 21669.265 -30350.684 294.66162 1049.0776 1.0297174 0.4025 -0.341159 0.1705795 + 810000 -5627.0669 1252.1172 -6879.1841 1502.1084 21549.483 -30350.675 300.25688 983.16188 1.0119201 0.405 -0.343278 0.171639 + 815000 -5573.0687 1226.8854 -6799.9541 1394.9184 21727.977 -30347.963 294.20631 -195.24823 0.99836901 0.4075 -0.345397 0.1726985 + 820000 -5621.5966 1294.197 -6915.7936 1463.2446 21542.129 -30349.926 310.3476 619.5463 1.0271072 0.41 -0.347516 0.173758 + 825000 -5616.7109 1249.8626 -6866.5734 1421.5256 21635.884 -30349.527 299.71622 -263.11411 0.99748321 0.4125 -0.349635 0.1748175 + 830000 -5471.708 1265.0891 -6736.7971 1353.2361 21810.332 -30347.83 303.36753 -108.71402 1.0163163 0.415 -0.351754 0.175877 + 835000 -5593.3653 1226.0643 -6819.4296 1488.2202 21624.762 -30347.972 294.0094 1267.159 1.0140919 0.4175 -0.353873 0.1769365 + 840000 -5436.1751 1245.9424 -6682.1175 1341.7719 21874.67 -30349.816 298.77616 37.078091 1.0076819 0.42 -0.355992 0.177996 + 845000 -5557.2162 1246.2846 -6803.5008 1365.7244 21760.327 -30351.424 298.85822 -504.55518 0.9986108 0.4225 -0.358111 0.1790555 + 850000 -5500.2978 1263.3648 -6763.6626 1345.3152 21797.277 -30346.719 302.95405 -493.77227 1.0071264 0.425 -0.36023 0.180115 + 855000 -5532.9745 1235.4096 -6768.3841 1356.9198 21790.77 -30352.767 296.25042 -221.24996 1.0158146 0.4275 -0.362349 0.1811745 + 860000 -5473.4178 1255.0438 -6728.4615 1383.6228 21792.167 -30348.034 300.95866 280.22925 1.0186752 0.43 -0.364468 0.182234 + 865000 -5603.437 1240.4488 -6843.8858 1465.1006 21616.501 -30349.222 297.45881 654.55077 1.007261 0.4325 -0.366587 0.1832935 + 870000 -5499.3395 1276.346 -6775.6855 1440.1417 21672.034 -30350.435 306.06692 628.16253 1.0139482 0.435 -0.368706 0.184353 + 875000 -5513.1545 1243.4424 -6756.5968 1375.4559 21786.838 -30347.817 298.17666 -219.76957 0.99017833 0.4375 -0.370825 0.1854125 + 880000 -5472.5421 1280.3435 -6752.8857 1389.4586 21788.568 -30351.891 307.02554 154.88101 1.0054199 0.44 -0.372944 0.186472 + 885000 -5450.9797 1258.2665 -6709.2462 1459.3097 21782.134 -30350.183 301.73147 980.80415 0.98845289 0.4425 -0.375063 0.1875315 + 890000 -5484.1944 1269.9087 -6754.1031 1387.4264 21765.016 -30349.116 304.52326 204.84716 1.0246385 0.445 -0.377182 0.188591 + 895000 -5581.7831 1248.4268 -6830.2099 1369.3871 21724.547 -30352.181 299.37193 -414.06005 1.0149078 0.4475 -0.379301 0.1896505 + 900000 -5458.4222 1232.2813 -6690.7035 1346.4094 21839.134 -30347.541 295.50024 -50.890974 1.0146972 0.45 -0.38142 0.19071 + 905000 -5513.276 1295.0801 -6808.3561 1376.4555 21731.514 -30351.543 310.55936 311.8453 1.0351056 0.4525 -0.383539 0.1917695 + 910000 -5573.436 1223.655 -6797.091 1400.1726 21683.422 -30350.684 293.43167 236.51663 1.0328044 0.455 -0.385658 0.192829 + 915000 -5533.4538 1223.4571 -6756.9109 1289.5678 21854.813 -30350.499 293.38421 -1263.7914 1.0023563 0.4575 -0.387777 0.1938885 + 920000 -5460.2089 1299.6804 -6759.8892 1426.0806 21734.807 -30345.969 311.6625 660.70504 1.0188703 0.46 -0.389896 0.194948 + 925000 -5586.3754 1190.3746 -6776.75 1370.4255 21793.33 -30353.014 285.45105 -349.07473 1.0001717 0.4625 -0.392015 0.1960075 + 930000 -5495.2747 1270.1927 -6765.4674 1366.3034 21771.462 -30352.631 304.59137 -253.14407 1.0062704 0.465 -0.394134 0.197067 + 935000 -5611.8812 1230.765 -6842.6462 1391.1109 21660.135 -30351.536 295.13663 -220.68043 1.0218857 0.4675 -0.396253 0.1981265 + 940000 -5573.1587 1243.9588 -6817.1176 1382.0507 21706.984 -30350.576 298.30051 -180.40488 1.0138507 0.47 -0.398372 0.199186 + 945000 -5443.1533 1293.3755 -6736.5288 1382.9147 21798.711 -30351.85 310.15058 147.36979 1.0066036 0.4725 -0.400491 0.2002455 + 950000 -5592.1333 1210.312 -6802.4453 1418.411 21688.66 -30351.52 290.23203 428.64993 1.0142914 0.475 -0.40261 0.201305 + 955000 -5470.1207 1296.1018 -6766.2225 1384.9375 21787.214 -30352.361 310.80436 433.7878 1.0216208 0.4775 -0.404729 0.2023645 + 960000 -5526.56 1277.3546 -6803.9145 1435.0129 21692.393 -30354.825 306.30878 456.96466 1.0098621 0.48 -0.406848 0.203424 + 965000 -5547.3226 1267.7833 -6815.1059 1336.807 21754.287 -30354.401 304.01361 -806.5152 1.0089205 0.4825 -0.408967 0.2044835 + 970000 -5590.3411 1253.2629 -6843.604 1436.0627 21619.623 -30354.576 300.53161 744.58683 1.0362403 0.485 -0.411086 0.205543 + 975000 -5495.8789 1288.8517 -6784.7306 1379.6531 21754.168 -30353.143 309.0658 56.414932 1.0194472 0.4875 -0.413205 0.2066025 + 980000 -5626.672 1235.0454 -6861.7174 1422.039 21639.365 -30353.345 296.16306 266.29939 1.0212144 0.49 -0.415324 0.207662 + 985000 -5517.2302 1266.6674 -6783.8976 1419.6659 21739.847 -30353.802 303.746 170.35635 1.0008605 0.4925 -0.417443 0.2087215 + 990000 -5615.6311 1235.67 -6851.301 1498.5618 21566.364 -30353.27 296.31284 929.92737 1.003868 0.495 -0.419562 0.209781 + 995000 -5579.2851 1215.2415 -6794.5265 1446.7531 21659.857 -30349.867 291.4141 803.74446 1.0190058 0.4975 -0.421681 0.2108405 + 1000000 -5581.9464 1263.6254 -6845.5718 1438.0232 21619.891 -30351.248 303.01654 385.93353 1.0173448 0.5 -0.4238 0.2119 + 1005000 -5587.1547 1249.0387 -6836.1934 1366.6385 21760.49 -30352.889 299.51867 -349.59036 1.0129845 0.5025 -0.425919 0.2129595 + 1010000 -5492.8452 1249.3309 -6742.1761 1343.9605 21845.845 -30357.274 299.58872 -278.05905 1.0062862 0.505 -0.428038 0.214019 + 1015000 -5502.1939 1259.7886 -6761.9825 1450.3663 21691.043 -30355.864 302.09648 884.22091 1.0091653 0.5075 -0.430157 0.2150785 + 1020000 -5519.7794 1263.3012 -6783.0806 1348.5309 21772.103 -30355.053 302.93879 -485.09205 1.0162589 0.51 -0.432276 0.216138 + 1025000 -5492.2145 1240.7923 -6733.0068 1347.9912 21829.98 -30355.146 297.54118 -129.21819 1.0122922 0.5125 -0.434395 0.2171975 + 1030000 -5481.098 1251.514 -6732.612 1349.3618 21805.918 -30351.771 300.11222 -294.39997 1.015786 0.515 -0.436514 0.218257 + 1035000 -5540.7907 1274.0244 -6814.8151 1422.1127 21668.122 -30353.396 305.51021 -9.7807193 0.99517879 0.5175 -0.438633 0.2193165 + 1040000 -5511.938 1311.5237 -6823.4617 1415.7285 21685.767 -30355.446 314.50251 557.98532 1.0269334 0.52 -0.440752 0.220376 + 1045000 -5482.845 1244.1463 -6726.9913 1334.7343 21892.686 -30356.188 298.34546 -188.18213 1.008059 0.5225 -0.442871 0.2214355 + 1050000 -5527.147 1257.8916 -6785.0386 1365.7652 21734.325 -30350.269 301.64158 -259.9832 1.0161046 0.525 -0.44499 0.222495 + 1055000 -5539.8717 1252.0619 -6791.9335 1333.1576 21792.877 -30357.118 300.24361 -478.89657 1.0214282 0.5275 -0.447109 0.2235545 + 1060000 -5495.1427 1262.1608 -6757.3034 1324.8343 21817.102 -30350.41 302.66532 -759.6781 1.0013723 0.53 -0.449228 0.224614 + 1065000 -5521.9323 1269.1474 -6791.0797 1383.5193 21729.979 -30354.504 304.3407 -62.142854 1.0143611 0.5325 -0.451347 0.2256735 + 1070000 -5561.1075 1234.4671 -6795.5746 1444.645 21667.151 -30353.573 296.0244 539.71717 1.0090477 0.535 -0.453466 0.226733 + 1075000 -5456.2884 1263.0452 -6719.3336 1372.1813 21849.919 -30353.173 302.8774 136.37572 1.0050362 0.5375 -0.455585 0.2277925 + 1080000 -5454.7662 1277.8421 -6732.6083 1390.7236 21772.189 -30355.181 306.42569 290.51564 1.0135088 0.54 -0.457704 0.228852 + 1085000 -5520.75 1250.6045 -6771.3545 1425.3072 21768.597 -30353.777 299.89414 798.65189 1.0159181 0.5425 -0.459823 0.2299115 + 1090000 -5572.3388 1291.5598 -6863.8986 1367.7168 21667.215 -30354.683 309.71518 -450.87566 1.0262859 0.545 -0.461942 0.230971 + 1095000 -5529.6535 1255.2347 -6784.8882 1403.3219 21741.696 -30353.889 301.00445 -92.495589 0.99150484 0.5475 -0.464061 0.2320305 + 1100000 -5579.3489 1256.7239 -6836.0728 1453.5027 21616.876 -30355.538 301.36157 720.78396 1.0267204 0.55 -0.46618 0.23309 + 1105000 -5567.3822 1242.176 -6809.5582 1421.8053 21697.289 -30354.084 297.87299 289.72195 1.0148833 0.5525 -0.468299 0.2341495 + 1110000 -5547.6002 1257.4285 -6805.0287 1346.2645 21768.848 -30359.105 301.53052 -635.42562 1.0119993 0.555 -0.470418 0.235209 + 1115000 -5605.4545 1236.2432 -6841.6976 1429.3813 21606.101 -30358.883 296.45029 40.119249 1.0046973 0.5575 -0.472537 0.2362685 + 1120000 -5611.5649 1169.0166 -6780.5815 1332.8494 21815.405 -30357.613 280.3294 -562.91711 1.0167305 0.56 -0.474656 0.237328 + 1125000 -5640.062 1211.8843 -6851.9464 1418.7199 21673.242 -30357.067 290.60906 -62.63663 0.999031 0.5625 -0.476775 0.2383875 + 1130000 -5513.3831 1261.9318 -6775.315 1417.1438 21719.904 -30352.493 302.61042 310.56176 1.0135707 0.565 -0.478894 0.239447 + 1135000 -5549.8659 1301.5049 -6851.3708 1396.8697 21686.613 -30356.008 312.10001 31.758375 1.0173007 0.5675 -0.481013 0.2405065 + 1140000 -5523.4602 1224.9938 -6748.454 1343.5247 21842.717 -30354.173 293.75272 -528.56467 1.0040317 0.57 -0.483132 0.241566 + 1145000 -5557.8153 1233.2598 -6791.0752 1354.164 21797.958 -30358.703 295.73489 -493.27153 1.0032311 0.5725 -0.485251 0.2426255 + 1150000 -5534.5822 1243.3356 -6777.9177 1394.6839 21739.915 -30355.185 298.15105 152.31618 1.0071009 0.575 -0.48737 0.243685 + 1155000 -5534.8189 1242.3492 -6777.1682 1373.8187 21793.555 -30357.857 297.91453 37.731508 1.0083807 0.5775 -0.489489 0.2447445 + 1160000 -5479.2448 1282.7579 -6762.0027 1384.5519 21809.073 -30358.289 307.6045 -216.01178 0.99242248 0.58 -0.491608 0.245804 + 1165000 -5523.2438 1251.4259 -6774.6697 1415.3042 21701.997 -30352.822 300.0911 432.84941 1.0114966 0.5825 -0.493727 0.2468635 + 1170000 -5481.1255 1250.2894 -6731.4149 1365.5166 21830.221 -30359.589 299.81856 91.910339 1.0132882 0.585 -0.495846 0.247923 + 1175000 -5495.7532 1253.5429 -6749.2961 1424.9266 21793.408 -30356.209 300.59876 523.05665 1.0001084 0.5875 -0.497965 0.2489825 + 1180000 -5559.8569 1275.3404 -6835.1973 1409.3754 21651.571 -30355.789 305.82578 227.26668 1.022457 0.59 -0.500084 0.250042 + 1185000 -5542.5567 1221.3997 -6763.9563 1364.9044 21800.061 -30356.771 292.89083 -219.95244 1.0177023 0.5925 -0.502203 0.2511015 + 1190000 -5539.2712 1222.6707 -6761.9418 1388.3455 21753.974 -30354.881 293.19562 98.025711 1.0101339 0.595 -0.504322 0.252161 + 1195000 -5592.3472 1219.7396 -6812.0868 1415.1952 21710.597 -30354.347 292.49275 216.23076 1.0044744 0.5975 -0.506441 0.2532205 + 1200000 -5578.5334 1216.6352 -6795.1686 1303.7768 21836.822 -30356.422 291.74831 -732.00281 1.0186318 0.6 -0.50856 0.25428 + 1205000 -5487.1214 1272.9249 -6760.0463 1430.2949 21760.198 -30361.194 305.24654 976.44234 1.0227788 0.6025 -0.510679 0.2553395 + 1210000 -5535.2065 1305.0213 -6840.2278 1427.2627 21661.686 -30358.861 312.94326 552.57394 1.0203432 0.605 -0.512798 0.256399 + 1215000 -5603.1868 1222.0704 -6825.2571 1424.8423 21663.067 -30360.771 293.05167 43.886877 1.0009903 0.6075 -0.514917 0.2574585 + 1220000 -5592.1952 1236.0907 -6828.286 1409.2149 21703.364 -30359.131 296.41374 -65.380785 0.99854282 0.61 -0.517036 0.258518 + 1225000 -5568.7119 1244.7205 -6813.4324 1399.4565 21706.513 -30362.046 298.48315 270.33966 1.0281978 0.6125 -0.519155 0.2595775 + 1230000 -5477.0467 1241.6279 -6718.6746 1308.0744 21899.276 -30355.205 297.74155 -810.43376 1.0001488 0.615 -0.521274 0.260637 + 1235000 -5514.9454 1219.9538 -6734.8992 1367.2379 21833.29 -30355.096 292.54411 -112.9674 1.0106137 0.6175 -0.523393 0.2616965 + 1240000 -5521.6055 1224.654 -6746.2595 1359.0484 21804.839 -30358.991 293.67122 -103.13203 1.0121451 0.62 -0.525512 0.262756 + 1245000 -5521.627 1203.8833 -6725.5103 1345.4748 21859.062 -30356.508 288.69043 -551.04569 0.99671631 0.6225 -0.527631 0.2638155 + 1250000 -5500.3647 1258.1202 -6758.4849 1419.8081 21749.943 -30357.318 301.69639 266.72902 0.98901247 0.625 -0.52975 0.264875 + 1255000 -5552.125 1243.7071 -6795.8321 1455.2991 21666.462 -30358.89 298.24014 599.97186 1.0064842 0.6275 -0.531869 0.2659345 + 1260000 -5578.793 1204.3943 -6783.1873 1379.1701 21781.6 -30362.903 288.81297 -21.534061 1.0251033 0.63 -0.533988 0.266994 + 1265000 -5465.6374 1276.5741 -6742.2115 1336.784 21844.446 -30358.502 306.12162 -410.74102 1.0115187 0.6325 -0.536107 0.2680535 + 1270000 -5520.3861 1231.6592 -6752.0453 1394.2067 21774.812 -30362.74 295.35107 352.62523 1.014927 0.635 -0.538226 0.269113 + 1275000 -5616.2092 1265.908 -6882.1172 1384.7822 21664.341 -30360.472 303.56391 -682.5968 1.0081338 0.6375 -0.540345 0.2701725 + 1280000 -5532.4186 1237.2775 -6769.6961 1397.704 21760.205 -30359.579 296.69834 209.80411 1.0168583 0.64 -0.542464 0.271232 + 1285000 -5496.3981 1253.4279 -6749.826 1391.0922 21757.065 -30360.207 300.57117 342.16946 1.0226223 0.6425 -0.544583 0.2722915 + 1290000 -5611.5982 1256.0653 -6867.6635 1395.2492 21671.891 -30359.421 301.20364 -118.2094 1.0185165 0.645 -0.546702 0.273351 + 1295000 -5568.4527 1218.3517 -6786.8043 1384.42 21730.535 -30358.386 292.15993 -5.9864557 1.0110819 0.6475 -0.548821 0.2744105 + 1300000 -5549.8143 1285.6459 -6835.4602 1387.4514 21693.531 -30362.59 308.29704 -161.52516 1.0112493 0.65 -0.55094 0.27547 + 1305000 -5516.7616 1271.5601 -6788.3217 1334.904 21812.758 -30361.82 304.91926 -887.65758 0.99294523 0.6525 -0.553059 0.2765295 + 1310000 -5541.1764 1247.0758 -6788.2523 1358.4634 21773.518 -30361.438 299.04796 -277.80074 1.015369 0.655 -0.555178 0.277589 + 1315000 -5559.5242 1227.118 -6786.6423 1424.8735 21749.242 -30361.297 294.26209 365.81548 1.0090832 0.6575 -0.557297 0.2786485 + 1320000 -5500.4878 1275.2925 -6775.7803 1378.9646 21774.694 -30364.402 305.81431 90.139393 1.0119212 0.66 -0.559416 0.279708 + 1325000 -5621.0444 1209.1452 -6830.1896 1404.2928 21691.047 -30364.044 289.95221 -116.04384 1.0138418 0.6625 -0.561535 0.2807675 + 1330000 -5585.3052 1256.8226 -6842.1277 1303.2839 21785.369 -30364.807 301.38523 -1350.6305 1.0072541 0.665 -0.563654 0.281827 + 1335000 -5595.6814 1228.0426 -6823.724 1326.3132 21774.063 -30364.35 294.48382 -853.10172 1.0189157 0.6675 -0.565773 0.2828865 + 1340000 -5535.3184 1240.3856 -6775.704 1444.9762 21724.661 -30365.799 297.44365 769.15382 1.0062411 0.67 -0.567892 0.283946 + 1345000 -5561.2416 1262.5784 -6823.82 1384.9167 21733.829 -30364.316 302.76547 342.6146 1.0354454 0.6725 -0.570011 0.2850055 + 1350000 -5542.1497 1254.5753 -6796.725 1434.2699 21729.395 -30364.302 300.84634 419.79647 0.99912169 0.675 -0.57213 0.286065 + 1355000 -5595.989 1217.3701 -6813.3591 1387.8286 21699.818 -30361.622 291.92454 -89.640329 1.016903 0.6775 -0.574249 0.2871245 + 1360000 -5489.52 1276.1569 -6765.6769 1369.4965 21808.278 -30360.429 306.02157 161.97718 1.0232691 0.68 -0.576368 0.288184 + 1365000 -5469.7144 1225.7769 -6695.4914 1326.3513 21902.018 -30363.808 293.9405 -693.83304 0.99124467 0.6825 -0.578487 0.2892435 + 1370000 -5521.5216 1239.8048 -6761.3264 1430.0627 21735.529 -30363.095 297.30438 329.41994 0.98996333 0.685 -0.580606 0.290303 + 1375000 -5596.948 1213.5383 -6810.4863 1483.4218 21571.534 -30357.305 291.00568 558.04104 0.99161295 0.6875 -0.582725 0.2913625 + 1380000 -5514.9435 1280.2938 -6795.2372 1340.7447 21792.544 -30361.88 307.0136 -293.2026 1.0241366 0.69 -0.584844 0.292422 + 1385000 -5573.106 1248.5767 -6821.6826 1393.7875 21722.652 -30364.587 299.40787 -241.85628 1.0070126 0.6925 -0.586963 0.2934815 + 1390000 -5583.7305 1220.9377 -6804.6682 1386.3088 21744.845 -30364.846 292.78005 -167.94814 0.99821704 0.695 -0.589082 0.294541 + 1395000 -5469.5824 1236.0582 -6705.6406 1361.2754 21845.151 -30361.887 296.40594 -104.21347 0.99776431 0.6975 -0.591201 0.2956005 + 1400000 -5500.7115 1233.2318 -6733.9433 1333.948 21873.313 -30362.934 295.72817 -125.0822 1.0263809 0.7 -0.59332 0.29666 + 1405000 -5419.1812 1321.0256 -6740.2068 1354.0297 21833.304 -30367.647 316.78106 -233.8297 1.009048 0.7025 -0.595439 0.2977195 + 1410000 -5527.8617 1249.276 -6777.1377 1393.035 21770.812 -30366.621 299.57557 167.07416 1.0156062 0.705 -0.597558 0.298779 + 1415000 -5481.1169 1252.3487 -6733.4656 1344.2947 21829.773 -30368.721 300.31238 -461.85938 1.0036389 0.7075 -0.599677 0.2998385 + 1420000 -5532.8156 1260.4335 -6793.2491 1421.7199 21704.917 -30367.338 302.25113 343.60928 1.0162706 0.71 -0.601796 0.300898 + 1425000 -5547.9732 1268.0648 -6816.038 1421.7341 21700.228 -30367.368 304.08111 271.4221 1.0128974 0.7125 -0.603915 0.3019575 + 1430000 -5536.9027 1243.6801 -6780.5828 1325.1833 21856.026 -30368.533 298.23368 -388.7135 1.0267827 0.715 -0.606034 0.303017 + 1435000 -5570.6543 1244.2756 -6814.9299 1374.1183 21711.381 -30367.694 298.37647 25.769415 1.0319664 0.7175 -0.608153 0.3040765 + 1440000 -5503.2808 1262.2145 -6765.4953 1424.7984 21726.029 -30366.421 302.67821 576.10782 1.0091121 0.72 -0.610272 0.305136 + 1445000 -5462.886 1270.7887 -6733.6747 1318.6859 21898.228 -30366.918 304.7343 -387.50044 1.0149824 0.7225 -0.612391 0.3061955 + 1450000 -5470.7571 1281.4135 -6752.1705 1425.3723 21732.871 -30366.098 307.2821 620.59705 1.0146359 0.725 -0.61451 0.307255 + 1455000 -5527.4601 1291.9524 -6819.4125 1360.2258 21771.527 -30363.755 309.80933 -502.25523 0.99718998 0.7275 -0.616629 0.3083145 + 1460000 -5514.1742 1247.8209 -6761.9951 1358.6541 21820.8 -30366.742 299.22664 -380.01478 1.0041344 0.73 -0.618748 0.309374 + 1465000 -5514.7862 1253.7836 -6768.5698 1365.8682 21811.261 -30362.79 300.65649 -368.26563 1.0008437 0.7325 -0.620867 0.3104335 + 1470000 -5551.171 1264.5229 -6815.694 1397.4282 21740.047 -30368.185 303.23177 288.1239 1.0256045 0.735 -0.622986 0.311493 + 1475000 -5529.159 1251.168 -6780.327 1398.811 21758.549 -30367.782 300.02927 160.29449 1.0114735 0.7375 -0.625105 0.3125525 + 1480000 -5487.0134 1283.588 -6770.6014 1365.85 21759.173 -30366.624 307.80355 -416.12696 1.0020989 0.74 -0.627224 0.313612 + 1485000 -5577.8776 1228.4499 -6806.3275 1450.1943 21661.771 -30368.442 294.58148 789.14519 1.0270287 0.7425 -0.629343 0.3146715 + 1490000 -5579.8432 1242.7181 -6822.5612 1373.2235 21710.845 -30368.691 298.00297 -429.78923 1.0167997 0.745 -0.631462 0.315731 + 1495000 -5604.0722 1240.0278 -6844.1 1398.7081 21667.622 -30366.025 297.35784 -50.192922 1.0151605 0.7475 -0.633581 0.3167905 + 1500000 -5570.8776 1262.8638 -6833.7414 1422.788 21689.484 -30369.581 302.8339 322.73206 1.0163727 0.75 -0.6357 0.31785 + 1505000 -5470.0341 1254.1779 -6724.212 1340.4518 21833.054 -30370 300.75103 -533.26569 1.0015798 0.7525 -0.637819 0.3189095 + 1510000 -5533.0307 1269.7134 -6802.7441 1420.8678 21723.006 -30366.979 304.47642 744.80635 1.031796 0.755 -0.639938 0.319969 + 1515000 -5525.4081 1275.2107 -6800.6188 1359.3204 21747.642 -30370.363 305.7947 -613.78881 1.0095566 0.7575 -0.642057 0.3210285 + 1520000 -5545.6601 1227.8235 -6773.4836 1408.0411 21740.939 -30370.107 294.43126 125.8317 1.0064814 0.76 -0.644176 0.322088 + 1525000 -5594.124 1256.3887 -6850.5127 1394.7089 21672.392 -30369.461 301.28118 -327.86845 1.0067392 0.7625 -0.646295 0.3231475 + 1530000 -5658.6676 1272.6607 -6931.3282 1495.4729 21500.185 -30372.43 305.18319 248.65409 0.98959859 0.765 -0.648414 0.324207 + 1535000 -5577.6076 1216.0351 -6793.6428 1376.0471 21752.612 -30371.553 291.60442 -330.81608 0.9975352 0.7675 -0.650533 0.3252665 + 1540000 -5550.0025 1218.5844 -6768.5869 1384.3771 21773.165 -30370.531 292.21573 42.712468 1.0056433 0.77 -0.652652 0.326326 + 1545000 -5600.0577 1225.9997 -6826.0574 1428.3352 21661.528 -30369.738 293.99391 813.57834 1.0479661 0.7725 -0.654771 0.3273855 + 1550000 -5468.4914 1242.477 -6710.9684 1334.3582 21918.607 -30369.067 297.94517 -396.37556 1.0001104 0.775 -0.65689 0.328445 + 1555000 -5513.1271 1227.7497 -6740.8768 1382.337 21787.791 -30366.523 294.41357 83.122435 1.0076956 0.7775 -0.659009 0.3295045 + 1560000 -5612.1024 1202.1818 -6814.2841 1387.0642 21764.028 -30367.929 288.28239 -258.78553 1.0064708 0.78 -0.661128 0.330564 + 1565000 -5590.9616 1206.59 -6797.5517 1411.8792 21677.549 -30369.916 289.33949 239.57892 1.011968 0.7825 -0.663247 0.3316235 + 1570000 -5510.954 1275.3855 -6786.3395 1375.3033 21763.279 -30370.61 305.8366 -189.55593 1.0102055 0.785 -0.665366 0.332683 + 1575000 -5554.726 1215.8818 -6770.6078 1456.4645 21711.707 -30369.754 291.56766 837.90544 1.0133372 0.7875 -0.667485 0.3337425 + 1580000 -5484.0735 1274.8343 -6758.9078 1407.2972 21780.536 -30370.2 305.70443 -7.4418979 0.98152191 0.79 -0.669604 0.334802 + 1585000 -5591.9223 1219.6327 -6811.555 1360.9446 21785.502 -30369.385 292.46711 -301.66012 1.0180482 0.7925 -0.671723 0.3358615 + 1590000 -5514.2903 1237.4873 -6751.7776 1345.8443 21817.054 -30372.767 296.74864 -500.35329 1.0070005 0.795 -0.673842 0.336921 + 1595000 -5610.6145 1230.3441 -6840.9586 1511.4929 21579.699 -30370.822 295.0357 1400.7717 1.0243843 0.7975 -0.675961 0.3379805 + 1600000 -5491.408 1268.4415 -6759.8495 1321.4258 21860.885 -30367.203 304.17145 -684.17812 1.0109371 0.8 -0.67808 0.33904 + 1605000 -5605.9376 1229.4973 -6835.4349 1358.4846 21752.878 -30376.308 294.83264 -415.45398 1.0211259 0.8025 -0.680199 0.3400995 + 1610000 -5460.3646 1272.2569 -6732.6215 1287.6367 21919.033 -30377.556 305.08636 -1142.3466 1.0015738 0.805 -0.682318 0.341159 + 1615000 -5526.5568 1289.8001 -6816.3569 1429.3397 21650.996 -30374.701 309.29322 -24.570161 0.99788407 0.8075 -0.684437 0.3422185 + 1620000 -5535.2137 1227.5421 -6762.7558 1398.9652 21806.783 -30374.667 294.36379 27.416625 0.99409746 0.81 -0.686556 0.343278 + 1625000 -5561.6432 1218.8583 -6780.5015 1405.1751 21715.111 -30372.575 292.28141 18.274766 1.0106948 0.8125 -0.688675 0.3443375 + 1630000 -5489.0281 1289.6971 -6778.7251 1344.2314 21847.424 -30375.392 309.2685 -428.65338 1.0104018 0.815 -0.690794 0.345397 + 1635000 -5583.1919 1258.7285 -6841.9204 1364.5536 21720.023 -30373.909 301.84226 -558.27346 1.0230546 0.8175 -0.692913 0.3464565 + 1640000 -5569.4234 1276.2864 -6845.7098 1511.2486 21602.351 -30376.345 306.05264 598.06785 0.98381579 0.82 -0.695032 0.347516 + 1645000 -5542.9848 1213.5702 -6756.5551 1373.3517 21798.358 -30369.633 291.01334 -254.12194 1.0019034 0.8225 -0.697151 0.3485755 + 1650000 -5482.0112 1245.3133 -6727.3245 1334.5937 21862.137 -30375.083 298.6253 -577.0133 1.0037952 0.825 -0.69927 0.349635 + 1655000 -5512.6207 1273.3548 -6785.9755 1416.6802 21724.769 -30370.223 305.34964 601.75776 1.0281521 0.8275 -0.701389 0.3506945 + 1660000 -5550.057 1251.0976 -6801.1546 1395.4686 21699.418 -30372.345 300.01237 -129.12786 1.0148586 0.83 -0.703508 0.351754 + 1665000 -5460.2178 1235.1935 -6695.4113 1384.7074 21833.611 -30369.508 296.19859 197.73924 0.9919328 0.8325 -0.705627 0.3528135 + 1670000 -5577.3307 1185.7465 -6763.0772 1310.7085 21842.338 -30371.235 284.34123 -1255.4953 0.98878939 0.835 -0.707746 0.353873 + 1675000 -5561.8847 1224.9469 -6786.8316 1430.0792 21692.395 -30375.915 293.74146 119.11524 0.99573454 0.8375 -0.709865 0.3549325 + 1680000 -5653.7552 1260.9531 -6914.7083 1519.8378 21487.885 -30376.356 302.37573 809.64185 1.015909 0.84 -0.711984 0.355992 + 1685000 -5512.3473 1274.3359 -6786.6832 1417.2785 21701.118 -30376.61 305.58491 445.91621 1.0312005 0.8425 -0.714103 0.3570515 + 1690000 -5508.29 1269.2138 -6777.5038 1366.728 21782.662 -30375.482 304.35663 14.172211 1.0249747 0.845 -0.716222 0.358111 + 1695000 -5591.9917 1161.3619 -6753.3536 1403.8396 21761.545 -30371.687 278.49382 339.64543 1.0133803 0.8475 -0.718341 0.3591705 + 1700000 -5466.9507 1266.1673 -6733.118 1372.2532 21825.493 -30372.223 303.62608 82.443385 1.0170363 0.85 -0.72046 0.36023 + 1705000 -5565.484 1255.6155 -6821.0995 1404.2864 21697.72 -30377.201 301.09577 115.4614 1.0224858 0.8525 -0.722579 0.3612895 + 1710000 -5468.4747 1242.5333 -6711.008 1261.827 21976.931 -30377.884 297.95866 -1282.3719 1.0025311 0.855 -0.724698 0.362349 + 1715000 -5506.6405 1286.9184 -6793.5589 1333.9602 21778.671 -30374.791 308.60219 -870.86182 0.99767742 0.8575 -0.726817 0.3634085 + 1720000 -5565.6601 1243.2447 -6808.9048 1453.7071 21688.169 -30376.668 298.12926 837.91968 1.0193803 0.86 -0.728936 0.364468 + 1725000 -5466.8293 1256.0749 -6722.9042 1322.9564 21895.211 -30378.325 301.20593 -717.52415 0.99658437 0.8625 -0.731055 0.3655275 + 1730000 -5558.3242 1213.4742 -6771.7984 1337.7732 21800.919 -30378.895 290.99031 -210.06727 1.0310242 0.865 -0.733174 0.366587 + 1735000 -5502.8243 1261.8071 -6764.6314 1382.0545 21775.488 -30375.951 302.58051 -0.31427925 1.0034826 0.8675 -0.735293 0.3676465 + 1740000 -5406.8705 1274.6358 -6681.5063 1334.7641 21893.52 -30376.72 305.65682 -231.76275 1.0050648 0.87 -0.737412 0.368706 + 1745000 -5469.6519 1259.7569 -6729.4088 1437.2403 21699.918 -30375.369 302.08887 487.94198 1.0000255 0.8725 -0.739531 0.3697655 + 1750000 -5510.7038 1273.4592 -6784.163 1346.9061 21834.988 -30377.095 305.37468 -381.44532 0.9990362 0.875 -0.74165 0.370825 + 1755000 -5498.5771 1291.9682 -6790.5453 1416.649 21698.465 -30377.922 309.81311 434.97184 1.020573 0.8775 -0.743769 0.3718845 + 1760000 -5518.5384 1277.985 -6796.5234 1361.2079 21765.884 -30377.646 306.45996 -37.746266 1.0246582 0.88 -0.745888 0.372944 + 1765000 -5507.052 1273.8365 -6780.8885 1421.9667 21726.518 -30377.959 305.46515 410.30385 1.0112394 0.8825 -0.748007 0.3740035 + 1770000 -5596.6543 1216.1185 -6812.7727 1416.069 21695.778 -30380.248 291.6244 1.5263758 1.0080966 0.885 -0.750126 0.375063 + 1775000 -5623.4083 1285.876 -6909.2843 1440.2387 21582.885 -30381.001 308.35222 -35.250138 1.0049289 0.8875 -0.752245 0.3761225 + 1780000 -5573.4547 1219.3235 -6792.7782 1442.9632 21676.665 -30377.304 292.39298 471.41075 1.0053462 0.89 -0.754364 0.377182 + 1785000 -5602.6194 1217.9746 -6820.594 1410.7105 21746.864 -30378.721 292.0695 188.14379 1.0190973 0.8925 -0.756483 0.3782415 + 1790000 -5545.0248 1232.4378 -6777.4626 1420.0285 21741.196 -30377.214 295.53778 756.19164 1.0274418 0.895 -0.758602 0.379301 + 1795000 -5518.8988 1253.2508 -6772.1496 1346.248 21846.81 -30376.809 300.52871 -133.93703 1.0242741 0.8975 -0.760721 0.3803605 + 1800000 -5440.5825 1267.2474 -6707.8299 1236.5895 21971.421 -30375.638 303.88509 -1636.0141 0.99063571 0.9 -0.76284 0.38142 + 1805000 -5447.8315 1288.0343 -6735.8658 1315.8015 21891.886 -30383.047 308.86977 -729.116 1.0031825 0.9025 -0.764959 0.3824795 + 1810000 -5612.711 1242.5543 -6855.2653 1383.4906 21692.082 -30384.343 297.96369 -319.45292 1.0215442 0.905 -0.767078 0.383539 + 1815000 -5557.273 1220.1604 -6777.4334 1421.1515 21742.938 -30384.256 292.59367 520.03095 1.0215411 0.9075 -0.769197 0.3845985 + 1820000 -5530.2316 1228.8432 -6759.0748 1332.6717 21862.178 -30382.059 294.67578 -655.51399 1.0042955 0.91 -0.771316 0.385658 + 1825000 -5602.3037 1229.7047 -6832.0084 1468.9012 21615.952 -30382.906 294.88237 421.71792 1.0045724 0.9125 -0.773435 0.3867175 + 1830000 -5547.6226 1200.4018 -6748.0244 1330.1166 21900.521 -30384.116 287.85555 -636.22865 1.0018051 0.915 -0.775554 0.387777 + 1835000 -5653.9568 1210.6899 -6864.6467 1386.2577 21734.456 -30383.944 290.32264 -127.89376 1.023499 0.9175 -0.777673 0.3888365 + 1840000 -5547.0916 1252.5655 -6799.6571 1419.6833 21720.231 -30379.345 300.36437 501.3533 1.0256074 0.92 -0.779792 0.389896 + 1845000 -5515.4901 1289.6285 -6805.1187 1364.8493 21767.014 -30383.713 309.25207 -436.33388 1.0012885 0.9225 -0.781911 0.3909555 + 1850000 -5486.8798 1292.9914 -6779.8712 1380.8937 21790.721 -30383.253 310.05848 22.6166 1.0096908 0.925 -0.78403 0.392015 + 1855000 -5533.7045 1263.0308 -6796.7353 1395.9678 21748.064 -30382.076 302.87396 -284.93741 0.9863725 0.9275 -0.786149 0.3930745 + 1860000 -5484.2708 1261.0621 -6745.3329 1439.0946 21765.649 -30381.058 302.40186 615.26529 0.9985027 0.93 -0.788268 0.394134 + 1865000 -5599.3124 1260.6731 -6859.9855 1381.0638 21741.092 -30385.213 302.30858 -582.58143 1.0024906 0.9325 -0.790387 0.3951935 + 1870000 -5529.7237 1260.0702 -6789.7939 1384.0683 21758.475 -30383.423 302.16399 53.835245 1.0113827 0.935 -0.792506 0.396253 + 1875000 -5455.8429 1269.0311 -6724.8739 1395.2702 21814.233 -30381.4 304.31281 191.35208 0.99331435 0.9375 -0.794625 0.3973125 + 1880000 -5522.3775 1257.2498 -6779.6273 1422.2951 21728.811 -30385.222 301.48766 210.15712 1.0034809 0.94 -0.796744 0.398372 + 1885000 -5581.928 1248.1059 -6830.0339 1353.7983 21777.194 -30384.398 299.29497 -685.33819 1.0064471 0.9425 -0.798863 0.3994315 + 1890000 -5504.863 1257.5766 -6762.4396 1382.3075 21802.301 -30382.745 301.56605 233.93301 1.0136359 0.945 -0.800982 0.400491 + 1895000 -5519.8568 1258.7721 -6778.629 1381.0637 21801.818 -30381.149 301.85273 157.33428 1.0106136 0.9475 -0.803101 0.4015505 + 1900000 -5415.1036 1245.1225 -6660.2261 1321.1611 21968.266 -30378.535 298.57955 -87.316091 1.0149157 0.95 -0.80522 0.40261 + 1905000 -5486.4216 1290.1083 -6776.5299 1344.556 21824.3 -30385.345 309.36712 -170.76911 1.0220988 0.9525 -0.807339 0.4036695 + 1910000 -5612.2769 1206.579 -6818.8559 1361.0857 21798.985 -30389.316 289.33686 -679.6889 1.0021422 0.955 -0.809458 0.404729 + 1915000 -5587.0108 1277.8116 -6864.8224 1390.9876 21720.193 -30387.546 306.41838 -88.421087 1.026429 0.9575 -0.811577 0.4057885 + 1920000 -5536.6115 1211.5465 -6748.1579 1346.0005 21869.713 -30386.249 290.52804 -614.6848 0.99432544 0.96 -0.813696 0.406848 + 1925000 -5475.7378 1270.4733 -6746.2111 1363.7746 21799.571 -30386.112 304.65867 263.14406 1.0338166 0.9625 -0.815815 0.4079075 + 1930000 -5509.1127 1248.2489 -6757.3616 1334.6571 21873.781 -30385.968 299.32926 -529.83539 1.0071671 0.965 -0.817934 0.408967 + 1935000 -5548.4157 1253.3639 -6801.7796 1361.0982 21797.539 -30389.563 300.55583 -390.63414 1.0119705 0.9675 -0.820053 0.4100265 + 1940000 -5585.3752 1257.0833 -6842.4584 1341.862 21777.004 -30390.791 301.44773 -588.69504 1.0234228 0.97 -0.822172 0.411086 + 1945000 -5553.1361 1239.7945 -6792.9307 1392.65 21775.612 -30388.808 297.30191 401.98554 1.0324973 0.9725 -0.824291 0.4121455 + 1950000 -5608.302 1257.6453 -6865.9473 1385.8155 21666.265 -30389.484 301.58252 -258.45732 1.0221941 0.975 -0.82641 0.413205 + 1955000 -5597.8019 1196.2504 -6794.0523 1368.6962 21798.614 -30384.841 286.86006 -187.46622 1.015951 0.9775 -0.828529 0.4142645 + 1960000 -5558.9543 1259.8231 -6818.7774 1402.0765 21687.027 -30386.699 302.10476 -130.60372 1.0087181 0.98 -0.830648 0.415324 + 1965000 -5522.1401 1225.1335 -6747.2736 1385.1221 21794.241 -30386.219 293.78621 59.455921 1.0156338 0.9825 -0.832767 0.4163835 + 1970000 -5460.8469 1294.812 -6755.6589 1403.377 21789.971 -30387.038 310.49507 67.767671 0.99695881 0.985 -0.834886 0.417443 + 1975000 -5562.7016 1276.5904 -6839.292 1381.4683 21781.499 -30385.8 306.12554 -104.19545 1.0255706 0.9875 -0.837005 0.4185025 + 1980000 -5519.6646 1253.4527 -6773.1173 1464.4023 21698.419 -30387.375 300.57712 1035.4507 1.0129337 0.99 -0.839124 0.419562 + 1985000 -5465.34 1288.7347 -6754.0747 1312.8409 21917.192 -30385.618 309.03772 -632.51392 1.0142034 0.9925 -0.841243 0.4206215 + 1990000 -5579.8472 1232.0079 -6811.8551 1325.3706 21848.546 -30387.507 295.43468 -736.79929 1.0087938 0.995 -0.843362 0.421681 + 1995000 -5474.4313 1277.8474 -6752.2787 1377.0964 21856.577 -30388.53 306.42697 -223.13166 0.99592342 0.9975 -0.845481 0.4227405 + 2000000 -5530.4657 1243.1127 -6773.5784 1448.1254 21758.477 -30388.792 298.09761 750.74861 1.0102049 1 -0.8476 0.4238 +Loop time of 13807.9 on 12 procs for 2000000 steps with 1800 atoms + +Performance: 12.515 ns/day, 1.918 hours/ns, 144.845 timesteps/s +95.3% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7308.6 | 8043.1 | 8855.3 | 457.7 | 58.25 +Bond | 24.229 | 25.717 | 27.246 | 21.9 | 0.19 +Kspace | 2227.1 | 3047.3 | 3772.6 | 744.0 | 22.07 +Neigh | 525.14 | 526.08 | 527.05 | 2.6 | 3.81 +Comm | 809.43 | 867.32 | 940.11 | 181.0 | 6.28 +Output | 0.033333 | 0.034507 | 0.043203 | 1.4 | 0.00 +Modify | 880.49 | 1047.6 | 1183.6 | 402.0 | 7.59 +Other | | 250.7 | | | 1.82 + +Nlocal: 150.000 ave 167 max 140 min +Histogram: 2 3 2 0 2 0 0 1 1 1 +Nghost: 6112.58 ave 6193 max 6037 min +Histogram: 3 0 2 0 0 3 1 1 0 2 +Neighs: 87266.4 ave 94192 max 79682 min +Histogram: 2 0 1 0 1 4 2 0 0 2 + +Total # of neighbors = 1047197 +Ave neighs/atom = 581.77611 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 89139 +Dangerous builds = 0 +Total wall time: 3:59:31 diff --git a/examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp b/examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp new file mode 100644 index 0000000000..2f9bdbb7c5 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/in-fep01-lj.lmp @@ -0,0 +1,72 @@ +# created by fftool + +units real +boundary p p p + +atom_style full +bond_style harmonic +angle_style harmonic + +special_bonds lj/coul 0.0 0.0 0.5 + +# remove hybrid if not necessary +pair_style hybrid lj/cut/coul/long 12.0 12.0 lj/cut/soft 2 0.5 12.0 +pair_modify tail no +kspace_style pppm 1.0e-5 + +read_data data.lmp + +pair_coeff 1 1 lj/cut/soft 0.000000 1.000000 0.0 # Hwh Hwh +pair_coeff 1 2 lj/cut/soft 0.000000 1.000000 0.0 # Hwh Owh +pair_coeff 1 3 lj/cut/soft 0.000000 1.000000 0.0 # Hwh Hw +pair_coeff 1 4 lj/cut/soft 0.000000 1.000000 0.0 # Hwh Ow +pair_coeff 2 2 lj/cut/soft 0.155425 3.165500 0.0 # Owh Owh +pair_coeff 2 3 lj/cut/soft 0.000000 1.000000 0.0 # Owh Hw +pair_coeff 2 4 lj/cut/soft 0.155425 3.165500 0.0 # Owh Ow +pair_coeff 3 3 lj/cut/coul/long 0.000000 0.000000 # Hw Hw +pair_coeff 3 4 lj/cut/coul/long 0.000000 0.000000 # Hw Ow +pair_coeff 4 4 lj/cut/coul/long 0.155425 3.165500 # Ow Ow + +# minimize 1.0e-4 1.0e-6 100 1000 +# reset_timestep 0 + +fix SHAKE all shake 0.0001 20 0 b 1 + +neighbor 2.0 bin +# neigh_modify delay 0 every 1 check yes + +timestep 1.0 + +variable TK equal 300.0 +variable PBAR equal 1.0 + +velocity all create ${TK} 12345 + +fix TPSTAT all npt temp ${TK} ${TK} 100 iso ${PBAR} ${PBAR} 1000 + +thermo_style custom step cpu etotal ke pe evdwl ecoul elong temp press vol density +thermo 5000 + +set type 1*2 charge 0.0 + +run 100000 + +reset_timestep 0 + +variable lambda equal ramp(0.0,1.0) + +fix ADAPT all adapt/fep 100000 & + pair lj/cut/soft lambda 1*2 3*4 v_lambda & + after yes + +thermo_style custom step etotal ke pe evdwl ecoul elong temp press density v_lambda + +variable dlambda equal 0.05 + +compute FEP all fep ${TK} & + pair lj/cut/soft lambda 1*2 3*4 v_dlambda & + volume yes + +fix FEP all ave/time 20 4000 100000 c_FEP[*] file fep01-lj.fep + +run 2000000 diff --git a/examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp b/examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp new file mode 100644 index 0000000000..19efe3a9b1 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep01/in-fep01-q.lmp @@ -0,0 +1,78 @@ +# created by fftool + +units real +boundary p p p + +atom_style full +bond_style harmonic +angle_style harmonic + +special_bonds lj/coul 0.0 0.0 0.5 + +# remove hybrid if not necessary +pair_style lj/cut/coul/long 12.0 12.0 +pair_modify tail no +kspace_style pppm 1.0e-5 + +read_data data.lmp + +pair_coeff 1 1 0.000000 1.000000 # Hwh Hwh +pair_coeff 1 2 0.000000 1.000000 # Hwh Owh +pair_coeff 1 3 0.000000 1.000000 # Hwh Hw +pair_coeff 1 4 0.000000 1.000000 # Hwh Ow +pair_coeff 2 2 0.155425 3.165500 # Owh Owh +pair_coeff 2 3 0.000000 1.000000 # Owh Hw +pair_coeff 2 4 0.155425 3.165500 # Owh Ow +pair_coeff 3 3 0.000000 1.000000 # Hw Hw +pair_coeff 3 4 0.000000 1.000000 # Hw Ow +pair_coeff 4 4 0.155425 3.165500 # Ow Ow + +# minimize 1.0e-4 1.0e-6 100 1000 +# reset_timestep 0 + +fix SHAKE all shake 0.0001 20 0 b 1 + +neighbor 2.0 bin +# neigh_modify delay 0 every 1 check yes + +timestep 1.0 + +variable TK equal 300.0 +variable PBAR equal 1.0 + +velocity all create ${TK} 12345 + +fix TPSTAT all npt temp ${TK} ${TK} 100 iso ${PBAR} ${PBAR} 1000 + +thermo_style custom step cpu etotal ke pe evdwl ecoul elong temp press vol density +thermo 5000 + +set type 1*2 charge 0.0 + +run 100000 + +reset_timestep 0 + +variable lambda equal ramp(0.0,1.0) +variable qH equal 0.4238*v_lambda +variable qO equal -0.8476*v_lambda + +fix ADAPT all adapt/fep 100000 & + atom charge 1 v_qH & + atom charge 2 v_qO & + after yes + +thermo_style custom step etotal ke pe evdwl ecoul elong temp press density v_lambda v_qO v_qH + +variable dlambda equal 0.05 +variable dqH equal 0.4238*v_dlambda +variable dqO equal -0.8476*v_dlambda + +compute FEP all fep ${TK} & + atom charge 1 v_dqH & + atom charge 2 v_dqO & + volume yes + +fix FEP all ave/time 20 4000 100000 c_FEP[*] file fep01-q.fep + +run 2000000 diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep b/examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep new file mode 100644 index 0000000000..e08c143542 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/fep10-lj.fep @@ -0,0 +1,22 @@ +# Time-averaged data for fix FEP +# TimeStep c_FEP[1] c_FEP[2] c_FEP[3] +100000 0.164332 13580.8 17770.4 +200000 0.129134 14470.4 17769.5 +300000 0.113694 14856.5 17741.9 +400000 0.0945078 15445.3 17780.8 +500000 0.0562545 16508.6 17735.1 +600000 0.0490523 16733.2 17757.8 +700000 -0.0236465 19372.6 17801.7 +800000 -0.0387399 19901 17785.3 +900000 -0.0718098 21703.2 17802.6 +1000000 -0.118193 24005.7 17774.1 +1100000 -0.170254 26527.3 17789.9 +1200000 -0.297445 41864.5 17773.6 +1300000 -0.431516 50576.8 17744 +1400000 -0.467669 44025.5 17719.1 +1500000 -0.317884 31440.4 17731.3 +1600000 -0.218939 25792.6 17718.6 +1700000 -0.107798 21322.2 17753.1 +1800000 -0.0458874 19135.5 17706.5 +1900000 -0.015392 18211.1 17744.9 +2000000 -0.00224303 17811.3 17744.3 diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-lj.out b/examples/USER/fep/SPCEhyd/fep10/fep10-lj.out new file mode 100644 index 0000000000..bc93b1637e --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/fep10-lj.out @@ -0,0 +1,592 @@ +LAMMPS (29 Oct 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/lammps/src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (29.204526 29.204526 29.204526) + 2 by 2 by 3 MPI processor grid + reading atoms ... + 1800 atoms + scanning bonds ... + 1 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 1200 bonds + reading angles ... + 600 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0.5 + special bond factors coul: 0 0 0.5 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.033 seconds +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 600 = # of size 3 clusters + 0 = # of size 4 clusters + 0 = # of frozen angles + find clusters CPU = 0.001 seconds +Setting atom values ... + 3 settings made for charge +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25066829 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0030719151 + estimated relative force accuracy = 9.250981e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 3757 800 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair lj/cut/coul/long, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/soft, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 9.477 | 9.489 | 9.507 Mbytes +Step CPU TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Volume Density + 0 0 1344.0739 1251.046 93.027896 53.823145 30049.554 -30010.349 300 10284.878 24908.667 0.72058313 + 5000 26.829054 -5531.3966 1246.7673 -6778.164 1430.5662 21645.326 -30297.767 298.97398 343.00879 17939.671 1.0005069 + 10000 60.375331 -5491.2737 1280.0525 -6771.3262 1384.6297 21688.032 -30298.393 306.95574 -300.16806 18083.581 0.99254483 + 15000 94.076576 -5632.0108 1185.0761 -6817.0868 1373.1572 21657.834 -30299.165 284.18046 -509.30462 17853.507 1.0053356 + 20000 126.53271 -5557.9837 1273.3985 -6831.3822 1276.3348 21807.204 -30296.619 305.36012 -1423.8804 17810.87 1.0077422 + 25000 159.26926 -5561.3614 1271.5975 -6832.9588 1454.6816 21523.277 -30299.954 304.92823 245.53675 17839.133 1.0061456 + 30000 191.17362 -5569.1628 1224.4664 -6793.6292 1459.7735 21613.44 -30298.475 293.62623 1166.8411 17466.628 1.0276033 + 35000 225.54672 -5505.5765 1289.9333 -6795.5098 1374.8138 21675.444 -30297.568 309.32515 -277.00241 17845.641 1.0057787 + 40000 259.24748 -5529.8329 1222.5071 -6752.34 1368.482 21714.343 -30299.714 293.15639 -48.777351 17595.097 1.0201004 + 45000 292.69855 -5541.3772 1261.5499 -6802.9272 1371.5857 21681.912 -30295.814 302.51884 -335.65528 17817.714 1.0073551 + 50000 326.91392 -5573.7012 1222.2121 -6795.9133 1327.6979 21746.391 -30299.712 293.08565 -955.31142 17840.793 1.006052 + 55000 361.16613 -5449.164 1267.4384 -6716.6024 1412.1093 21720 -30299.63 303.9309 428.04385 18036.511 0.99513513 + 60000 393.91884 -5546.8912 1190.623 -6737.5143 1330.3252 21806.541 -30300.582 285.51061 -430.37809 17636.451 1.0177085 + 65000 428.22428 -5622.5584 1259.3301 -6881.8885 1509.1614 21478.163 -30299.496 301.98652 975.06072 17605.779 1.0194815 + 70000 462.45487 -5570.183 1218.0018 -6788.1847 1354.4694 21727.024 -30300.976 292.07602 -258.76822 17759.422 1.0106616 + 75000 496.90314 -5627.876 1230.7285 -6858.6045 1476.5693 21530.846 -30297.953 295.12788 553.50896 17749.215 1.0112428 + 80000 531.33879 -5494.2101 1259.607 -6753.8171 1380.283 21711.161 -30298.881 302.05292 211.62464 17627.074 1.0182499 + 85000 564.97941 -5519.5052 1245.7068 -6765.212 1413.8079 21662.496 -30297.084 298.71966 464.57065 17574.97 1.0212686 + 90000 597.70815 -5541.7394 1221.3799 -6763.1193 1438.245 21673.718 -30296.608 292.8861 594.92053 17785.328 1.0091894 + 95000 630.00979 -5506.2477 1292.8624 -6799.1101 1435.7457 21640.887 -30297.759 310.02754 746.74628 17535.628 1.0235599 + 100000 664.4401 -5517.294 1249.4101 -6766.7041 1435.9513 21681.832 -30299.249 299.60772 863.4493 17594.707 1.020123 +Loop time of 664.44 on 12 procs for 100000 steps with 1800 atoms + +Performance: 13.003 ns/day, 1.846 hours/ns, 150.503 timesteps/s +95.1% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 354.67 | 370.51 | 389.45 | 60.8 | 55.76 +Bond | 1.2832 | 1.3258 | 1.3684 | 2.3 | 0.20 +Kspace | 122.53 | 141.54 | 156.98 | 99.1 | 21.30 +Neigh | 28.973 | 29.038 | 29.092 | 0.6 | 4.37 +Comm | 42.452 | 45.845 | 51.532 | 54.0 | 6.90 +Output | 0.0013313 | 0.0013703 | 0.0017405 | 0.3 | 0.00 +Modify | 48.441 | 63.192 | 71.445 | 115.5 | 9.51 +Other | | 12.99 | | | 1.95 + +Nlocal: 150.000 ave 163 max 141 min +Histogram: 2 3 2 0 1 0 1 0 2 1 +Nghost: 6146.42 ave 6218 max 6094 min +Histogram: 3 3 0 0 0 0 4 0 1 1 +Neighs: 87791.7 ave 98973 max 80440 min +Histogram: 2 0 3 3 0 2 0 1 0 1 + +Total # of neighbors = 1053500 +Ave neighs/atom = 585.27778 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 4499 +Dangerous builds = 9 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.2513327 + grid = 18 18 18 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0034853969 + estimated relative force accuracy = 1.0496169e-05 + using double precision FFTW3 + 3d grid and FFT values/proc = 3328 648 +FEP settings ... + temperature = 300.000000 + tail no + lj/cut/soft lambda 1-2 3-4 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair lj/cut/coul/long, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/soft, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 9.472 | 9.556 | 10.27 Mbytes +Step TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Density v_lambda + 0 -5517.3031 1249.4101 -6766.7132 1435.9513 21762.036 -30379.462 299.60772 824.0149 1.020123 1 + 5000 -5558.3835 1278.7173 -6837.1007 1334.2641 21745.448 -30378.941 306.63556 -767.88312 1.0259151 0.9975 + 10000 -5536.0094 1281.998 -6818.0074 1400.7848 21722.638 -30382.662 307.42228 286.89597 1.0190965 0.995 + 15000 -5481.3474 1257.9731 -6739.3206 1399.5036 21761.099 -30377.92 301.66113 181.6173 1.0045157 0.9925 + 20000 -5576.3444 1286.5841 -6862.9285 1415.5303 21648.92 -30380.138 308.52201 -153.48635 1.0085717 0.99 + 25000 -5514.2625 1300.4887 -6814.7513 1407.9812 21728.21 -30379.084 311.85634 425.39113 1.018525 0.9875 + 30000 -5547.7134 1261.8317 -6809.5451 1380.2714 21733.843 -30375.593 302.58642 -17.777892 1.0150161 0.985 + 35000 -5477.5978 1281.4333 -6759.0311 1368.0059 21793.139 -30378.187 307.28686 -71.109919 1.0111779 0.9825 + 40000 -5508.6633 1240.2261 -6748.8893 1315.5039 21866.643 -30379.36 297.40539 -903.80351 1.0010855 0.98 + 45000 -5549.0382 1255.1907 -6804.2289 1427.4722 21710.804 -30378.942 300.9939 585.69847 1.0195923 0.9775 + 50000 -5475.0264 1312.3734 -6787.3998 1297.1559 21838.086 -30379.004 314.70627 -1273.035 1.0008054 0.975 + 55000 -5491.7123 1248.8257 -6740.538 1363.4371 21862.536 -30380.311 299.46758 99.128465 1.0180508 0.9725 + 60000 -5609.488 1190.986 -6800.474 1436.0545 21719.642 -30378.046 285.59765 701.33839 1.0113551 0.97 + 65000 -5518.7824 1259.5561 -6778.3385 1358.5984 21791.343 -30380.334 302.04072 -321.61092 1.023541 0.9675 + 70000 -5494.8931 1242.4517 -6737.3448 1305.9749 21912.178 -30379.338 297.9391 -630.02692 1.0139124 0.965 + 75000 -5546.698 1230.9889 -6777.6869 1335.3375 21837.661 -30375.416 295.19033 -852.37291 0.9905341 0.9625 + 80000 -5539.855 1242.8348 -6782.6898 1419.4903 21739.313 -30377.932 298.03096 412.87427 1.01156 0.96 + 85000 -5539.3458 1252.4243 -6791.7701 1324.7893 21793.186 -30381.357 300.33052 -863.18781 1.008687 0.9575 + 90000 -5481.581 1307.2598 -6788.8408 1346.6475 21844.712 -30381.327 313.48005 -408.54122 1.0084955 0.955 + 95000 -5529.9471 1250.3938 -6780.3409 1375.6186 21766.839 -30380.379 299.84361 -208.47283 1.0041284 0.9525 + 100000 -5611.8507 1205.3447 -6817.1954 1432.4671 21667.619 -30379.262 289.04087 575.38545 1.0196531 0.95 + 105000 -5516.1732 1249.0519 -6765.2251 1510.0799 21652.904 -30376.319 299.52182 1595.0527 1.0142387 0.9475 + 110000 -5465.4173 1258.6931 -6724.1103 1349.0925 21850.539 -30376.601 301.83377 -603.2308 0.98281583 0.945 + 115000 -5551.5788 1260.591 -6812.1698 1512.1661 21629.589 -30379.324 302.28889 1408.8013 1.0119216 0.9425 + 120000 -5507.219 1271.1602 -6778.3792 1287.9978 21860.629 -30381.307 304.82338 -1063.0529 1.0271704 0.94 + 125000 -5537.13 1258.8105 -6795.9405 1382.8613 21762.733 -30377.383 301.86193 -158.02523 1.0108426 0.9375 + 130000 -5549.0946 1266.6866 -6815.7812 1372.5433 21748.74 -30377.189 303.75061 -643.27667 0.99432531 0.935 + 135000 -5573.4448 1286.5394 -6859.9842 1446.9417 21606.202 -30379.095 308.51131 579.59371 1.0183103 0.9325 + 140000 -5486.2607 1218.2948 -6704.5555 1391.8317 21866.056 -30379.705 292.14629 239.66325 1.0017938 0.93 + 145000 -5528.1392 1237.3437 -6765.4829 1343.2831 21851.228 -30378.61 296.71421 -443.27605 1.0094072 0.9275 + 150000 -5524.9227 1258.9283 -6783.851 1371.8204 21782.513 -30377.396 301.89018 -100.72793 1.0162581 0.925 + 155000 -5559.5874 1249.0683 -6808.6557 1298.8221 21822.678 -30380.108 299.52576 -1283.9404 1.0098295 0.9225 + 160000 -5574.1599 1259.0423 -6833.2022 1386.5012 21768.271 -30378.898 301.91751 -274.81981 1.0036715 0.92 + 165000 -5558.2274 1268.7313 -6826.9587 1366.6284 21720.826 -30379.54 304.24093 -723.57468 1.0031713 0.9175 + 170000 -5558.0458 1243.1304 -6801.1762 1359.415 21794.026 -30377.538 298.10185 -284.08503 1.0125849 0.915 + 175000 -5557.9939 1250.5207 -6808.5146 1344.1211 21819.765 -30375.934 299.87403 -742.04372 1.008519 0.9125 + 180000 -5562.2438 1245.4126 -6807.6564 1442.5917 21688.098 -30381.444 298.64912 834.40431 1.0283372 0.91 + 185000 -5494.5329 1238.0904 -6732.6233 1374.4489 21815.526 -30379.394 296.89325 -127.96552 1.0129962 0.9075 + 190000 -5512.3632 1282.3603 -6794.7235 1331.0347 21826.906 -30381.177 307.50916 -975.48387 0.99030439 0.905 + 195000 -5555.5139 1268.6099 -6824.1238 1579.0357 21509.544 -30380.501 304.21181 2298.8088 1.0238224 0.9025 + 200000 -5561.6068 1235.0747 -6796.6815 1341.7814 21791.238 -30377.819 296.1701 -569.19717 1.0181737 0.9 + 205000 -5408.9255 1277.421 -6686.3465 1384.0288 21847.016 -30376.919 306.3247 306.84932 1.0058379 0.8975 + 210000 -5574.4209 1249.0534 -6823.4743 1390.0917 21708.289 -30375.252 299.52217 -137.92578 1.020659 0.895 + 215000 -5533.5343 1256.0469 -6789.5812 1397.7965 21759.307 -30379.639 301.19922 -167.33553 0.99448086 0.8925 + 220000 -5525.1497 1272.4337 -6797.5834 1349.1947 21798.064 -30375.86 305.12875 -636.29714 1.0040906 0.89 + 225000 -5504.1279 1280.7318 -6784.8598 1373.0777 21811.329 -30381.594 307.11864 -109.03674 1.0126578 0.8875 + 230000 -5556.0721 1227.0604 -6783.1325 1460.4513 21700.918 -30378.062 294.24828 1031.1913 1.0144785 0.885 + 235000 -5579.4548 1223.0151 -6802.47 1383.0244 21742.747 -30378.065 293.27823 -444.73244 0.99883895 0.8825 + 240000 -5478.8969 1256.3704 -6735.2673 1379.5164 21844.649 -30379.291 301.2768 134.8168 1.0086341 0.88 + 245000 -5473.7115 1247.7991 -6721.5106 1377.2785 21845.407 -30379.554 299.22139 152.12047 1.0028516 0.8775 + 250000 -5511.3331 1252.6671 -6764.0002 1391.242 21767.929 -30377.767 300.38874 42.815705 1.0071501 0.875 + 255000 -5527.2234 1305.1549 -6832.3783 1450.6004 21675.372 -30380.236 312.97529 568.31787 1.0194011 0.8725 + 260000 -5599.9408 1267.0163 -6866.9571 1414.5319 21681.001 -30380.447 303.82967 -296.86382 0.99844118 0.87 + 265000 -5609.1575 1202.8066 -6811.9641 1422.9683 21708.562 -30377.312 288.43224 396.28769 1.0282155 0.8675 + 270000 -5514.4973 1238.2917 -6752.789 1478.2795 21711.681 -30377.388 296.94154 987.01375 0.99825963 0.865 + 275000 -5511.4623 1255.7444 -6767.2068 1360.2011 21806.795 -30378.728 301.12669 -323.15359 1.0062462 0.8625 + 280000 -5552.1793 1259.5205 -6811.6998 1349.3495 21816.208 -30382.584 302.03219 -349.89702 1.0176732 0.86 + 285000 -5533.2625 1244.4885 -6777.751 1329.1246 21846.62 -30381.164 298.42752 -459.22534 1.0226658 0.8575 + 290000 -5567.8243 1241.1772 -6809.0015 1399.9451 21749.571 -30379.349 297.63346 22.543027 1.0110614 0.855 + 295000 -5557.5037 1238.0302 -6795.5339 1338.4732 21820.049 -30378.884 296.87882 -618.59847 1.0068859 0.8525 + 300000 -5489.886 1256.7172 -6746.6033 1363.8733 21840.359 -30378.014 301.35996 -70.896612 1.0126564 0.85 + 305000 -5572.9241 1240.321 -6813.245 1460.9673 21642.12 -30380.518 297.42815 481.8838 1.0057691 0.8475 + 310000 -5488.162 1258.2317 -6746.3936 1445.6895 21758.579 -30378.851 301.72313 872.39978 1.0085289 0.845 + 315000 -5522.8931 1237.6936 -6760.5868 1394.4464 21761.506 -30375.489 296.79811 209.47881 1.0172465 0.8425 + 320000 -5536.6098 1282.2086 -6818.8184 1354.2609 21746.18 -30376.821 307.47278 -800.05482 1.001315 0.84 + 325000 -5531.7735 1280.9795 -6812.753 1415.0442 21718.513 -30376.752 307.17804 140.19074 1.0033268 0.8375 + 330000 -5610.5654 1255.9186 -6866.4839 1439.716 21627.111 -30376.917 301.16845 217.00726 1.0106958 0.835 + 335000 -5544.1968 1262.8047 -6807.0015 1411.1851 21727.544 -30379.348 302.81973 -110.66815 0.99018265 0.8325 + 340000 -5475.3641 1226.3203 -6701.6844 1319.0089 21921.241 -30376.884 294.07079 -282.11126 1.0213371 0.83 + 345000 -5553.4383 1194.8379 -6748.2762 1355.9404 21856.676 -30381.74 286.52133 -362.738 1.0061755 0.8275 + 350000 -5584.6493 1235.7595 -6820.4088 1352.8128 21761.048 -30380.806 296.33432 -874.17129 0.9931264 0.825 + 355000 -5621.2604 1217.1919 -6838.4523 1372.941 21733.863 -30375.651 291.88181 -584.44984 0.99879817 0.8225 + 360000 -5615.0717 1231.0617 -6846.1334 1429.3525 21680.466 -30380.519 295.20778 330.32191 1.0138088 0.82 + 365000 -5589.4166 1229.8012 -6819.2178 1445.1399 21656.389 -30379.255 294.90552 421.5138 1.0090829 0.8175 + 370000 -5651.5079 1193.437 -6844.9449 1435.9396 21645.199 -30380.798 286.18541 256.92768 1.0192016 0.815 + 375000 -5552.4603 1258.4199 -6810.8802 1378.5865 21748.986 -30378.675 301.76827 -383.52078 0.99353397 0.8125 + 380000 -5504.5385 1251.8059 -6756.3444 1356.5769 21819.021 -30380.364 300.18223 -269.24879 1.0038731 0.81 + 385000 -5555.4347 1224.5956 -6780.0303 1375.7528 21743.978 -30382.275 293.65722 150.61285 1.033997 0.8075 + 390000 -5476.7978 1301.5154 -6778.3132 1470.6852 21684.408 -30378.178 312.10253 1146.8841 1.0219575 0.805 + 395000 -5396.8713 1298.4198 -6695.2912 1317.1078 21924.316 -30374.204 311.36022 -823.77541 0.98553613 0.8025 + 400000 -5629.6891 1238.2653 -6867.9544 1428.4096 21673.519 -30377.557 296.9352 206.26016 1.0115683 0.8 + 405000 -5428.7589 1278.424 -6707.1828 1331.4932 21893.287 -30377.714 306.56523 -353.63082 1.0124706 0.7975 + 410000 -5507.5696 1237.8639 -6745.4335 1298.4114 21901.188 -30379.626 296.83895 -973.92318 1.0037112 0.795 + 415000 -5484.2415 1270.2855 -6754.527 1441.5793 21749.552 -30375.284 304.61361 840.14191 1.0121738 0.7925 + 420000 -5495.6378 1258.7861 -6754.4239 1353.3243 21849.806 -30381.941 301.85607 59.331351 1.0246191 0.79 + 425000 -5552.4141 1228.8708 -6781.2849 1317.4814 21842.189 -30380.175 294.68241 -836.50476 1.0135725 0.7875 + 430000 -5477.5725 1254.5002 -6732.0727 1367.7274 21841.064 -30380.543 300.82831 88.637178 1.011139 0.785 + 435000 -5476.7143 1264.4344 -6741.1487 1375.6575 21790.072 -30378.636 303.21053 2.6220187 1.0159663 0.7825 + 440000 -5565.7547 1202.2639 -6768.0186 1376.2632 21836.685 -30377.795 288.30208 -159.4843 1.0101374 0.78 + 445000 -5482.073 1263.9755 -6746.0485 1298.6972 21912.114 -30380.1 303.10049 -837.55689 1.009925 0.7775 + 450000 -5471.1641 1270.7405 -6741.9046 1327.0686 21843.353 -30380.6 304.72273 -812.71837 1.0073281 0.775 + 455000 -5575.8919 1237.6557 -6813.5477 1403.2693 21726.183 -30378.18 296.78902 -58.778086 1.0052848 0.7725 + 460000 -5483.7083 1255.8916 -6739.5999 1386.2234 21823.459 -30378.531 301.16198 150.3882 1.0047493 0.77 + 465000 -5605.7393 1229.0621 -6834.8014 1326.0846 21768.021 -30377.81 294.72828 -577.61705 1.038623 0.7675 + 470000 -5550.9894 1229.8014 -6780.7909 1437.1655 21776.095 -30380.267 294.90557 774.11419 1.0140737 0.765 + 475000 -5523.3444 1300.4873 -6823.8318 1327.0338 21792.331 -30381.352 311.856 -970.02145 1.0142989 0.7625 + 480000 -5531.1145 1240.4904 -6771.6049 1371.1764 21817.322 -30375.833 297.46877 232.38091 1.0354183 0.76 + 485000 -5586.0909 1228.566 -6814.6569 1331.4521 21783.37 -30375.359 294.60932 -830.78206 1.0182576 0.7575 + 490000 -5529.1137 1267.8457 -6796.9594 1413.3701 21752.62 -30377.127 304.02856 442.05038 1.0159886 0.755 + 495000 -5555.6588 1216.5915 -6772.2503 1419.8591 21749.535 -30380.057 291.73784 304.69606 1.0095655 0.7525 + 500000 -5621.0389 1231.8288 -6852.8678 1474.6487 21612.415 -30378.168 295.39174 323.36029 1.0077507 0.75 + 505000 -5546.0577 1251.7571 -6797.8148 1367.67 21795.98 -30376.544 300.17053 -455.53831 1.0072369 0.7475 + 510000 -5582.9058 1221.373 -6804.2787 1350.5321 21782.21 -30381.612 292.88444 -772.87812 1.0034727 0.745 + 515000 -5541.3247 1255.4485 -6796.7732 1414.1242 21706.658 -30381.741 301.05573 2.928327 0.99672686 0.7425 + 520000 -5508.7799 1259.6743 -6768.4541 1380.3991 21741.143 -30380.532 302.06906 -203.6546 1.0136344 0.74 + 525000 -5539.6518 1197.3021 -6736.9538 1404.1918 21779.603 -30380.69 287.11225 145.06485 1.003219 0.7375 + 530000 -5624.3435 1217.1528 -6841.4963 1452.7693 21662.529 -30380.236 291.87243 638.82307 1.0215612 0.735 + 535000 -5529.8222 1254.4932 -6784.3155 1406.2098 21740.849 -30378.658 300.82665 94.641198 1.0065968 0.7325 + 540000 -5568.7637 1261.6812 -6830.4449 1387.5129 21733.157 -30379.551 302.55032 -405.87495 1.0104021 0.73 + 545000 -5524.6427 1291.6553 -6816.298 1444.7739 21695.48 -30380.734 309.73809 823.06856 1.0215824 0.7275 + 550000 -5545.8811 1294.844 -6840.725 1393.6405 21689.154 -30381.254 310.50273 -155.25174 1.0231418 0.725 + 555000 -5524.836 1234.4479 -6759.2838 1356.4213 21802.616 -30369.49 296.01978 -368.99982 1.0143158 0.7225 + 560000 -5604.2588 1246.9449 -6851.2037 1434.9571 21646.273 -30381.555 299.01658 256.97524 1.0137294 0.72 + 565000 -5568.3972 1224.1467 -6792.5439 1448.4206 21684.449 -30378.954 293.54958 556.78887 1.0032844 0.7175 + 570000 -5594.4587 1230.6686 -6825.1274 1435.707 21681.561 -30379.685 295.11353 473.82707 1.0198226 0.715 + 575000 -5488.4667 1277.4643 -6765.931 1404.5892 21784.485 -30376.117 306.3351 362.86154 1.0003658 0.7125 + 580000 -5547.1998 1264.7062 -6811.906 1393.9582 21720.572 -30378.614 303.27571 -137.91377 1.0172504 0.71 + 585000 -5606.6441 1252.6018 -6859.2459 1419.0008 21663.205 -30378.365 300.37309 66.460552 1.021903 0.7075 + 590000 -5512.7176 1269.3615 -6782.0791 1408.1893 21757.063 -30379.393 304.39205 644.37249 1.0364827 0.705 + 595000 -5608.6134 1228.9868 -6837.6002 1433.5598 21649.995 -30378.63 294.71023 32.723185 1.0054794 0.7025 + 600000 -5552.3005 1223.3003 -6775.6008 1369.5223 21840.904 -30379.11 293.34662 -395.91281 0.99377694 0.7 + 605000 -5536.8925 1270.6202 -6807.5127 1323.5731 21800.775 -30378.632 304.69388 -977.46567 1.0071163 0.6975 + 610000 -5464.7705 1275.0987 -6739.8692 1367.5489 21824.895 -30377.252 305.76782 -387.65672 0.99109537 0.695 + 615000 -5609.4125 1262.2387 -6871.6513 1408.4333 21658.685 -30377.411 302.68401 22.836181 1.0270818 0.6925 + 620000 -5531.8104 1274.3728 -6806.1831 1377.4975 21766.69 -30379.63 305.59376 -285.65697 1.0117261 0.69 + 625000 -5474.4189 1278.1649 -6752.5838 1333.798 21868.283 -30379.65 306.5031 -521.91598 1.0102571 0.6875 + 630000 -5538.9642 1225.28 -6764.2442 1389.7032 21773.906 -30378.718 293.82133 254.50002 1.0208426 0.685 + 635000 -5508.4261 1280.6282 -6789.0543 1401.0525 21750.972 -30379.98 307.09381 234.86257 1.0110397 0.6825 + 640000 -5540.8089 1244.3064 -6785.1153 1417.4663 21726.439 -30376.915 298.38384 150.36017 1.0001641 0.68 + 645000 -5515.8042 1236.468 -6752.2723 1402.2548 21790.109 -30379.114 296.50422 531.96132 1.020622 0.6775 + 650000 -5462.1993 1257.9462 -6720.1454 1268.863 21936.688 -30379.734 301.65466 -1017.4425 1.0216886 0.675 + 655000 -5486.7934 1301.7279 -6788.5213 1355.2019 21810.937 -30378.882 312.1535 -617.30085 0.99817188 0.6725 + 660000 -5534.9148 1263.11 -6798.0248 1378.272 21775.106 -30376.702 302.89295 -223.77151 1.0075378 0.67 + 665000 -5581.7219 1234.0612 -6815.7831 1428.1581 21716.123 -30378.571 295.92706 44.290152 0.99842109 0.6675 + 670000 -5488.6526 1269.5454 -6758.198 1367.3963 21828.425 -30380.546 304.43615 -348.95619 1.0000298 0.665 + 675000 -5465.914 1263.3905 -6729.3045 1336.7565 21880.293 -30376.633 302.96021 -485.33842 1.003274 0.6625 + 680000 -5472.168 1264.3649 -6736.533 1448.9293 21749.791 -30379.242 303.19388 831.6918 1.0029436 0.66 + 685000 -5520.395 1250.1857 -6770.5807 1401.6986 21805.009 -30376.553 299.79371 -41.384636 0.99397705 0.6575 + 690000 -5480.0792 1289.9138 -6769.993 1420.5975 21783.734 -30378.473 309.32048 460.10945 1.0106925 0.655 + 695000 -5589.3538 1224.5521 -6813.9059 1451.0824 21702.734 -30376.351 293.64678 738.57116 1.0153307 0.6525 + 700000 -5472.8453 1308.7177 -6781.563 1423.187 21741.303 -30378.197 313.82963 612.6714 1.0166905 0.65 + 705000 -5569.7342 1255.2584 -6824.9926 1389.4201 21710.248 -30380.297 301.01013 -172.7884 1.0148878 0.6475 + 710000 -5596.1426 1238.2633 -6834.4059 1357.9019 21745.397 -30380.137 296.93471 -538.38313 1.0209937 0.645 + 715000 -5507.4206 1239.2393 -6746.6599 1403.4807 21781.313 -30378.667 297.16877 248.26197 1.0116725 0.6425 + 720000 -5497.1275 1287.2767 -6784.4042 1414.7207 21756.731 -30379.238 308.68811 341.59938 1.0131454 0.64 + 725000 -5496.5836 1286.0241 -6782.6077 1399.7439 21764.503 -30379.835 308.38773 -62.342241 0.99678722 0.6375 + 730000 -5536.977 1243.2012 -6780.1782 1317.0319 21827.887 -30379.541 298.11883 -1280.4499 0.99058396 0.635 + 735000 -5549.9255 1278.5327 -6828.4582 1466.7074 21634.42 -30377.429 306.5913 700.98665 1.0145657 0.6325 + 740000 -5496.3831 1282.2407 -6778.6238 1324.4366 21812.16 -30377.5 307.48047 -793.87783 1.0141821 0.63 + 745000 -5500.4874 1275.7087 -6776.1962 1310.7145 21869.953 -30378.837 305.91411 -886.8993 1.0111339 0.6275 + 750000 -5500.9475 1276.7305 -6777.678 1395.7077 21776.63 -30380.09 306.15913 192.19564 1.0108423 0.625 + 755000 -5551.394 1240.5899 -6791.9839 1454.451 21659.096 -30378.918 297.49265 498.47384 1.0007052 0.6225 + 760000 -5528.5295 1245.9619 -6774.4915 1447.3278 21723.641 -30377.888 298.78085 515.39703 1.005014 0.62 + 765000 -5475.7763 1268.2993 -6744.0756 1335.9202 21904.289 -30375.821 304.13733 -285.98001 1.0140331 0.6175 + 770000 -5571.7813 1239.3782 -6811.1595 1445.9375 21665.43 -30380.469 297.20208 428.18308 1.0025023 0.615 + 775000 -5501.6766 1254.1992 -6755.8758 1320.6755 21872.392 -30377.78 300.75613 -619.04607 1.0168732 0.6125 + 780000 -5546.2901 1244.0883 -6790.3785 1387.3647 21762.273 -30378.875 298.33156 -132.28122 1.0042433 0.61 + 785000 -5472.3472 1281.5277 -6753.8748 1347.5012 21865.731 -30381.351 307.30949 -155.27002 1.0077831 0.6075 + 790000 -5537.4018 1231.8299 -6769.2317 1348.3549 21856.185 -30381.91 295.392 -210.503 1.0194699 0.605 + 795000 -5566.3088 1261.8098 -6828.1186 1449.2851 21688.44 -30377.026 302.58115 1001.4476 1.0322702 0.6025 + 800000 -5471.8234 1303.4049 -6775.2283 1398.6426 21772.653 -30379.166 312.55564 217.87426 1.0135949 0.6 + 805000 -5586.6474 1220.6453 -6807.2927 1409.1848 21676.401 -30378.777 292.70993 241.46493 1.0243302 0.5975 + 810000 -5612.0552 1215.6221 -6827.6773 1363.5428 21759.362 -30378.853 291.50537 -711.05271 1.0076206 0.595 + 815000 -5584.3197 1224.7552 -6809.0749 1469.9794 21677.26 -30382.578 293.69549 789.61759 1.0091541 0.5925 + 820000 -5552.9536 1270.928 -6823.8816 1395.5282 21729.655 -30380.525 304.76769 132.06866 1.0153299 0.59 + 825000 -5524.6445 1255.7384 -6780.3829 1467.1114 21702.335 -30380.146 301.12523 1094.8403 1.0124363 0.5875 + 830000 -5519.9763 1283.1177 -6803.094 1359.1241 21781.756 -30378.661 307.69078 -269.55156 1.011247 0.585 + 835000 -5574.5608 1268.1186 -6842.6794 1453.1708 21651.026 -30378.923 304.09401 440.04367 1.0063498 0.5825 + 840000 -5593.1298 1263.5752 -6856.705 1437.8518 21679.6 -30380.449 303.00449 786.15751 1.0315038 0.58 + 845000 -5474.6027 1278.2525 -6752.8552 1345.4766 21857.636 -30379.511 306.52411 -375.02983 1.0081416 0.5775 + 850000 -5421.5672 1307.2683 -6728.8355 1354.7412 21860.822 -30377.514 313.48207 -176.84475 1.0001495 0.575 + 855000 -5523.8453 1251.0854 -6774.9307 1424.8602 21729.911 -30380.62 300.00944 567.62922 1.0185387 0.5725 + 860000 -5540.1719 1247.9292 -6788.1011 1338.1786 21819.946 -30380.808 299.25259 -980.8771 0.98328196 0.57 + 865000 -5500.9874 1294.2799 -6795.2673 1365.5005 21798.964 -30380.394 310.36746 -312.14623 1.0038906 0.5675 + 870000 -5513.3883 1253.1896 -6766.5779 1403.6774 21770.72 -30379.858 300.51403 -249.64253 0.98661096 0.565 + 875000 -5577.3005 1213.9579 -6791.2584 1373.5687 21767.892 -30379.213 291.10631 -32.675529 1.0214726 0.5625 + 880000 -5520.6187 1235.4014 -6756.0201 1414.0406 21755.825 -30377.065 296.24843 539.88708 1.0112853 0.56 + 885000 -5506.5962 1242.8121 -6749.4082 1313.1296 21895.863 -30377.787 298.02552 -810.01171 1.0046804 0.5575 + 890000 -5574.2541 1264.4641 -6838.7182 1462.9071 21672.919 -30379.655 303.21767 725.59742 1.0127452 0.555 + 895000 -5552.393 1266.4737 -6818.8667 1451.4529 21687.174 -30377.823 303.69956 515.3533 1.0046976 0.5525 + 900000 -5493.546 1268.8835 -6762.4295 1390.089 21773.231 -30379.297 304.27743 323.6865 1.0191801 0.55 + 905000 -5568.8411 1251.4696 -6820.3107 1415.2346 21698.664 -30379.466 300.10159 142.08451 1.0164587 0.5475 + 910000 -5472.0573 1255.734 -6727.7913 1371.5728 21814.959 -30376.67 301.12419 71.603808 1.0152894 0.545 + 915000 -5546.7758 1266.2377 -6813.0135 1394.2902 21729.23 -30378.982 303.64295 -277.04292 0.99838613 0.5425 + 920000 -5485.1925 1260.6795 -6745.8719 1335.4147 21840.054 -30376.213 302.3101 -706.48845 0.99982968 0.54 + 925000 -5569.2581 1268.7997 -6838.0578 1425.5561 21688.585 -30376.69 304.25734 440.61245 1.0276647 0.5375 + 930000 -5436.2 1309.4362 -6745.6361 1360.6477 21779.291 -30375.596 314.00193 -153.76175 1.0060773 0.535 + 935000 -5511.9611 1283.1051 -6795.0662 1472.8015 21686.056 -30378.591 307.68775 830.7404 1.0035227 0.5325 + 940000 -5525.2952 1250.2261 -6775.5212 1382.7242 21797.489 -30378.43 299.80339 411.53116 1.0379394 0.53 + 945000 -5479.6309 1302.2216 -6781.8525 1392.5574 21734.537 -30380.406 312.27189 -109.18487 1.0077314 0.5275 + 950000 -5432.2038 1264.9369 -6697.1407 1350.3293 21930.966 -30376.591 303.33102 181.11895 1.0110981 0.525 + 955000 -5560.8112 1217.4105 -6778.2217 1444.1975 21748.915 -30379.038 291.93423 713.37875 1.0089567 0.5225 + 960000 -5522.7277 1295.5111 -6818.2388 1463.1361 21672.625 -30375.593 310.66272 497.12398 0.99359159 0.52 + 965000 -5476.6514 1255.7119 -6732.3633 1454.9215 21761.733 -30377.381 301.11888 891.7686 1.0003201 0.5175 + 970000 -5554.9486 1260.713 -6815.6616 1444.2112 21699.023 -30376.601 302.31814 734.59668 1.0255112 0.515 + 975000 -5537.0867 1297.5833 -6834.6701 1454.7241 21625.665 -30378.948 311.15963 884.84024 1.026448 0.5125 + 980000 -5546.2148 1224.275 -6770.4898 1333.2213 21873.175 -30378.024 293.58034 -493.4515 1.012591 0.51 + 985000 -5520.9359 1217.3655 -6738.3014 1343.6097 21870.6 -30375.709 291.92345 -263.92883 1.0149279 0.5075 + 990000 -5592.7447 1215.8757 -6808.6205 1440.2464 21666.537 -30374.994 291.5662 587.54768 1.0234674 0.505 + 995000 -5533.0301 1262.5102 -6795.5404 1279.6793 21920.053 -30380.017 302.74912 -1341.8752 1.0002809 0.5025 + 1000000 -5551.0164 1238.3305 -6789.3469 1391.9315 21798.137 -30377.817 296.95085 -113.77494 1.0094761 0.5 + 1005000 -5549.2261 1237.9081 -6787.1342 1320.049 21844.294 -30382.381 296.84955 -634.07433 1.0208379 0.4975 + 1010000 -5529.9238 1239.8968 -6769.8205 1389.9921 21747.565 -30379.146 297.32642 -0.90599205 0.99978793 0.495 + 1015000 -5489.9865 1252.1385 -6742.1251 1398.0166 21799.294 -30379.371 300.262 241.56608 1.0076692 0.4925 + 1020000 -5576.0301 1272.5378 -6848.5679 1416.7164 21667.174 -30378.805 305.15372 -33.86377 0.99969748 0.49 + 1025000 -5591.0562 1246.2942 -6837.3504 1438.919 21638.67 -30378.781 298.86053 482.55574 1.0162828 0.4875 + 1030000 -5548.1877 1217.7539 -6765.9416 1362.9837 21806.283 -30381.163 292.01659 -427.99018 0.99163938 0.485 + 1035000 -5522.7032 1310.9673 -6833.6704 1454.9127 21653.869 -30379.885 314.36908 738.25531 1.0236085 0.4825 + 1040000 -5589.4653 1211.212 -6800.6774 1396.8117 21735.372 -30375.228 290.44785 -167.16934 1.0043731 0.48 + 1045000 -5584.8632 1213.0589 -6797.9222 1345.4118 21771.193 -30380.486 290.89073 -797.43246 1.0092941 0.4775 + 1050000 -5507.4502 1224.5435 -6731.9938 1326.4546 21912.141 -30377.193 293.64473 -497.19203 1.0032709 0.475 + 1055000 -5493.9189 1230.8729 -6724.7919 1385.1499 21849.807 -30375.98 295.16252 218.46916 0.99861109 0.4725 + 1060000 -5555.3241 1241.6789 -6797.003 1384.3354 21771.345 -30377.318 297.75379 -237.59628 0.99873701 0.47 + 1065000 -5550.2811 1282.7371 -6833.0182 1548.4595 21554.165 -30376.611 307.59951 1670.18 1.0096302 0.4675 + 1070000 -5535.527 1254.4489 -6789.9759 1438.3778 21690.349 -30376.448 300.81601 491.9271 1.0179693 0.465 + 1075000 -5537.4925 1273.5683 -6811.0609 1437.8103 21688.987 -30379.423 305.40085 802.67013 1.0289308 0.4625 + 1080000 -5570.3365 1249.4877 -6819.8242 1420.2567 21697.63 -30374.946 299.62632 180.96347 1.0118406 0.46 + 1085000 -5585.0345 1210.3922 -6795.4267 1467.9551 21664.251 -30378.174 290.25124 794.72418 1.0055281 0.4575 + 1090000 -5508.2604 1219.7555 -6728.0159 1352.4211 21869.903 -30377.463 292.49657 -357.12347 1.0108237 0.455 + 1095000 -5518.5734 1279.9107 -6798.4841 1448.7068 21686.898 -30379.086 306.92175 722.82217 1.0109523 0.4525 + 1100000 -5525.8416 1250.687 -6776.5287 1414.8834 21735.488 -30379.591 299.91393 197.94954 1.0154492 0.45 + 1105000 -5521.8723 1246.6246 -6768.497 1401.1347 21814.8 -30376.034 298.93976 117.88115 0.99889954 0.4475 + 1110000 -5554.5946 1270.4005 -6824.9951 1365.948 21741.545 -30380.13 304.64121 -662.90851 0.99998764 0.445 + 1115000 -5545.4198 1250.2667 -6795.6866 1348.0742 21791.444 -30381.204 299.81314 -724.2404 1.0103995 0.4425 + 1120000 -5559.3322 1197.8416 -6757.1738 1355.7143 21850.726 -30380.054 287.24162 -181.20192 1.0173846 0.44 + 1125000 -5542.1037 1234.4106 -6776.5142 1379.6262 21797.166 -30380.781 296.01084 -507.86039 0.99365362 0.4375 + 1130000 -5437.0102 1287.5891 -6724.5993 1282.7916 21954.329 -30381.096 308.76302 -1126.2965 0.99901743 0.435 + 1135000 -5538.9176 1238.9073 -6777.8249 1364.7683 21805.703 -30379.16 297.08916 -680.37057 0.9996137 0.4325 + 1140000 -5570.4962 1213.8459 -6784.3421 1340.606 21805.103 -30379.425 291.07945 -596.29765 1.0134925 0.43 + 1145000 -5547.5904 1230.6761 -6778.2665 1420.8752 21738.324 -30378.751 295.11533 246.41006 1.006487 0.4275 + 1150000 -5548.2808 1213.8732 -6762.154 1421.7664 21766.257 -30379.185 291.08599 570.07885 1.0218796 0.425 + 1155000 -5521.4144 1267.3636 -6788.778 1398.1887 21770.241 -30379.549 303.91295 2.9983687 1.0076686 0.4225 + 1160000 -5534.9879 1244.8652 -6779.8532 1440.4749 21715.397 -30378.941 298.51786 679.4149 1.0207784 0.42 + 1165000 -5484.3721 1244.6856 -6729.0577 1417.7678 21735.834 -30377.46 298.4748 629.57345 1.0215953 0.4175 + 1170000 -5524.3406 1277.2058 -6801.5464 1389.395 21753.644 -30381.276 306.27312 85.448076 1.0175567 0.415 + 1175000 -5573.4085 1245.0919 -6818.5004 1464.992 21672.608 -30376.328 298.57221 727.70962 1.0151094 0.4125 + 1180000 -5567.9892 1220.0499 -6788.039 1355.1799 21757.217 -30379.53 292.56716 -589.39342 1.0129301 0.41 + 1185000 -5493.5883 1254.9729 -6748.5612 1378.5484 21787.909 -30376.087 300.94166 75.165141 1.0184138 0.4075 + 1190000 -5479.2948 1260.2407 -6739.5356 1356.4075 21814.922 -30377.304 302.2049 -460.01063 1.0009331 0.405 + 1195000 -5457.6359 1238.4178 -6696.0537 1364.6441 21884.995 -30379.875 296.97177 3.5756347 1.0001974 0.4025 + 1200000 -5469.0842 1241.7112 -6710.7954 1406.1586 21802.207 -30379.157 297.76153 438.48868 1.0195469 0.4 + 1205000 -5549.5458 1240.8355 -6790.3813 1358.959 21808.604 -30379.225 297.55153 -594.51594 1.0074724 0.3975 + 1210000 -5585.1155 1238.9458 -6824.0613 1456.1794 21691.63 -30379.186 297.09838 1167.2584 1.0397342 0.395 + 1215000 -5533.2061 1246.371 -6779.5771 1439.4805 21720.932 -30378.201 298.87894 526.47308 1.0105713 0.3925 + 1220000 -5543.7123 1246.3605 -6790.0728 1445.4823 21714.058 -30379.216 298.87643 677.38399 1.0072857 0.39 + 1225000 -5474.7986 1269.4558 -6744.2544 1364.5803 21848.038 -30377.16 304.41467 -87.090524 1.0086417 0.3875 + 1230000 -5541.2817 1308.326 -6849.6077 1415.265 21695.861 -30381.038 313.73572 71.444446 1.0192522 0.385 + 1235000 -5542.6225 1244.4364 -6787.0589 1381.0607 21784.705 -30380.057 298.41502 214.57658 1.0258239 0.3825 + 1240000 -5555.7484 1274.2793 -6830.0277 1489.2232 21617.829 -30378.278 305.57134 876.45857 1.008025 0.38 + 1245000 -5512.6649 1274.3059 -6786.9708 1382.4273 21743.608 -30378.966 305.57772 -122.08537 1.020499 0.3775 + 1250000 -5589.2861 1219.0535 -6808.3396 1360.303 21791.212 -30380.132 292.32822 -128.28745 1.0295553 0.375 + 1255000 -5535.2523 1239.0819 -6774.3342 1352.7449 21789.218 -30378.876 297.13101 -679.25947 0.99401271 0.3725 + 1260000 -5570.865 1227.2408 -6798.1058 1427.1345 21699.292 -30378.045 294.29153 327.24356 1.006499 0.37 + 1265000 -5471.9137 1290.8466 -6762.7604 1381.3429 21818.652 -30379.538 309.54417 14.98415 1.0111953 0.3675 + 1270000 -5450.4791 1305.5008 -6755.98 1370.0496 21830.174 -30379.524 313.05824 -293.10433 0.99617081 0.365 + 1275000 -5471.3926 1284.8849 -6756.2775 1367.9952 21845.798 -30374.717 308.11454 -307.10586 0.99444636 0.3625 + 1280000 -5520.0507 1269.7599 -6789.8106 1386.8953 21790.683 -30379.921 304.48759 10.244879 1.0094059 0.36 + 1285000 -5595.952 1204.1409 -6800.0929 1398.6057 21718.538 -30379.702 288.7522 -276.8686 1.006966 0.3575 + 1290000 -5486.8122 1246.1647 -6732.9769 1363.6203 21823.272 -30379.685 298.82947 -464.78674 0.99243587 0.355 + 1295000 -5497.4179 1237.867 -6735.2849 1346.8425 21891.759 -30377.608 296.83969 -140.11806 1.0151073 0.3525 + 1300000 -5639.1001 1243.6172 -6882.7173 1457.7891 21616.148 -30378.09 298.21857 342.48703 1.009843 0.35 + 1305000 -5556.8881 1221.543 -6778.431 1335.1406 21849.077 -30378.112 292.9252 -716.76985 1.0013082 0.3475 + 1310000 -5442.7105 1258.3829 -6701.0934 1285.9237 21964.62 -30375.49 301.7594 -1058.1451 1.000375 0.345 + 1315000 -5547.5333 1248.6602 -6796.1935 1434.312 21690.442 -30376.481 299.42789 417.77084 1.0108828 0.3425 + 1320000 -5556.5722 1245.995 -6802.5672 1406.0367 21716.81 -30378.518 298.78879 -44.59583 1.0029205 0.34 + 1325000 -5492.2298 1210.0413 -6702.271 1306.7266 21930.848 -30379.189 290.1671 -360.17536 1.0193503 0.3375 + 1330000 -5529.1732 1201.8706 -6731.0438 1320.2689 21891.221 -30378.853 288.20777 -823.47174 1.0023972 0.335 + 1335000 -5516.1513 1284.0936 -6800.2449 1456.3194 21648.152 -30382.511 307.9248 816.27591 1.0172669 0.3325 + 1340000 -5524.1288 1244.1823 -6768.3111 1437.1822 21726.149 -30377.547 298.3541 659.0745 1.018629 0.33 + 1345000 -5508.6037 1238.7015 -6747.3052 1400.1328 21792.993 -30375.67 297.0398 319.94593 1.0148916 0.3275 + 1350000 -5527.1475 1258.9192 -6786.0666 1356.8947 21794.455 -30379.738 301.88799 -335.38354 1.0081011 0.325 + 1355000 -5538.0487 1250.8881 -6788.9368 1453.457 21678.809 -30378.902 299.96214 769.52717 1.0229997 0.3225 + 1360000 -5476.898 1309.4028 -6786.3009 1427.2196 21697.827 -30381.824 313.99394 803.67442 1.0294179 0.32 + 1365000 -5509.3513 1232.51 -6741.8613 1307.4439 21886.932 -30380.5 295.55508 -1043.7167 1.0072445 0.3175 + 1370000 -5540.0675 1251.3688 -6791.4363 1379.1587 21758.664 -30378.636 300.07741 -156.99758 1.0200723 0.315 + 1375000 -5578.6206 1239.6891 -6818.3097 1350.1415 21780.413 -30376.511 297.27662 -854.76394 1.001508 0.3125 + 1380000 -5463.107 1290.9919 -6754.0989 1444.3422 21730.857 -30378.895 309.579 772.67327 1.0122494 0.31 + 1385000 -5499.3844 1239.3068 -6738.6912 1462.7244 21771.34 -30375.733 297.18495 1283.3351 1.0145078 0.3075 + 1390000 -5636.4741 1214.4694 -6850.9434 1383.584 21682.318 -30380.751 291.22895 -240.05624 1.0213867 0.305 + 1395000 -5537.6011 1252.6604 -6790.2615 1420.8477 21717.595 -30379.56 300.38714 182.01588 1.0064129 0.3025 + 1400000 -5548.9864 1240.0253 -6789.0117 1387.3366 21714.14 -30378.119 297.35725 -395.53785 0.99660636 0.3 + 1405000 -5631.6836 1213.3931 -6845.0766 1394.0426 21727.204 -30380.58 290.97086 -140.02628 1.0191589 0.2975 + 1410000 -5570.2405 1202.1725 -6772.413 1446.4137 21746.694 -30376.362 288.28018 565.38216 0.99852339 0.295 + 1415000 -5513.6068 1260.5019 -6774.1087 1317.293 21880.318 -30377.852 302.26752 -425.54191 1.0260955 0.2925 + 1420000 -5571.7578 1268.6051 -6840.3629 1403.6298 21714.791 -30378.169 304.21066 54.465307 1.0173764 0.29 + 1425000 -5638.9053 1227.4178 -6866.3231 1369.4019 21716.414 -30381.21 294.33398 -489.07663 1.0231539 0.2875 + 1430000 -5484.9163 1258.5341 -6743.4504 1417.5799 21781.385 -30379.25 301.79564 495.28585 1.0123172 0.285 + 1435000 -5513.5471 1284.6685 -6798.2156 1407.8452 21711.668 -30376.834 308.06266 295.19088 1.0173205 0.2825 + 1440000 -5580.8299 1250.3744 -6831.2043 1479.6654 21646.68 -30378.997 299.83895 761.0399 1.0106045 0.28 + 1445000 -5635.3122 1252.8496 -6888.1618 1504.565 21532.223 -30380.129 300.43251 513.57698 1.0076633 0.2775 + 1450000 -5486.7362 1308.6032 -6795.3394 1397.0887 21765.068 -30376.175 313.80218 -99.824485 1.0020521 0.275 + 1455000 -5561.0636 1264.4229 -6825.4865 1399.449 21674.063 -30381.988 303.20778 -415.08661 1.0044893 0.2725 + 1460000 -5602.6724 1237.4201 -6840.0926 1360.0506 21713.944 -30376.542 296.73254 -569.29884 1.0196217 0.27 + 1465000 -5557.9048 1243.4073 -6801.3121 1419.2761 21696.901 -30378.642 298.16825 94.910341 1.0027966 0.2675 + 1470000 -5578.3575 1264.4044 -6842.762 1474.4303 21627.06 -30379.312 303.20335 942.68042 1.0250842 0.265 + 1475000 -5548.4324 1227.8513 -6776.2837 1424.1369 21760.42 -30377.249 294.43793 474.1116 1.0105851 0.2625 + 1480000 -5546.8794 1248.7847 -6795.6641 1341.2731 21811.099 -30381.049 299.45774 -537.89777 1.0220907 0.26 + 1485000 -5469.9253 1303.2112 -6773.1365 1372.6674 21770.592 -30375.734 312.50919 -79.452797 1.0087945 0.2575 + 1490000 -5509.538 1255.0642 -6764.6022 1327.3994 21822.784 -30377.213 300.96356 -808.75259 1.0229172 0.255 + 1495000 -5590.1476 1245.1426 -6835.2902 1380.5927 21711.336 -30377.291 298.58436 -454.99232 1.0007932 0.2525 + 1500000 -5503.2146 1243.1634 -6746.378 1336.568 21869.966 -30374.521 298.10976 -673.77429 1.005844 0.25 + 1505000 -5515.316 1210.9868 -6726.3028 1360.9575 21896.046 -30377.596 290.39383 -117.70175 1.0026611 0.2475 + 1510000 -5466.2688 1291.4793 -6757.7481 1432.113 21744.77 -30378.609 309.69588 559.59585 1.0094784 0.245 + 1515000 -5515.4116 1280.3987 -6795.8103 1454.1004 21725.579 -30379.794 307.03876 976.71744 1.0146273 0.2425 + 1520000 -5566.844 1258.7589 -6825.6029 1328.5982 21795.623 -30380.868 301.84957 -1235.7229 0.99399834 0.24 + 1525000 -5502.8424 1233.1097 -6735.9521 1375.339 21854.059 -30380.66 295.6989 80.767849 1.0122901 0.2375 + 1530000 -5611.7566 1233.4818 -6845.2384 1381.3109 21681.348 -30379.585 295.78811 -497.77083 1.0061235 0.235 + 1535000 -5561.4562 1276.04 -6837.4963 1405.3468 21730.358 -30379.422 305.99356 125.46821 1.0175592 0.2325 + 1540000 -5672.2966 1217.9014 -6890.198 1401.5066 21670.118 -30381.384 292.05195 -243.55974 1.0176228 0.23 + 1545000 -5548.9594 1241.3504 -6790.3098 1322.6254 21791.955 -30377.275 297.67501 -897.01748 1.0094888 0.2275 + 1550000 -5525.9751 1264.4516 -6790.4267 1400.0967 21769.593 -30378.747 303.21467 299.75833 1.0203862 0.225 + 1555000 -5563.0098 1263.0206 -6826.0304 1351.2173 21793.229 -30380.937 302.8715 -578.02252 1.0116829 0.2225 + 1560000 -5485.253 1266.3745 -6751.6275 1368.2641 21821.234 -30376.163 303.67577 -108.52063 1.0065978 0.22 + 1565000 -5536.2445 1243.8651 -6780.1096 1399.694 21773.453 -30381.063 298.27802 155.48476 1.0078165 0.2175 + 1570000 -5571.4171 1246.4551 -6817.8722 1490.8638 21645.287 -30377.619 298.89911 1260.7223 1.0285327 0.215 + 1575000 -5507.1892 1262.1705 -6769.3597 1379.3818 21800.029 -30379.196 302.66766 219.90904 1.0190579 0.2125 + 1580000 -5475.5755 1214.2346 -6689.8101 1360.6564 21878.095 -30381.808 291.17266 162.20674 1.0197691 0.21 + 1585000 -5549.8015 1219.9274 -6769.7289 1406.4392 21759.735 -30380.967 292.53778 283.79685 1.0216043 0.2075 + 1590000 -5469.2857 1251.6933 -6720.9791 1296.634 21940.466 -30375.947 300.15524 -679.87352 1.0116393 0.205 + 1595000 -5551.6405 1237.1996 -6788.8401 1368.9711 21784.35 -30379.239 296.67965 -24.5855 1.0261732 0.2025 + 1600000 -5535.5989 1244.5073 -6780.1062 1458.1539 21706.069 -30377.198 298.43204 755.64074 1.0032465 0.2 + 1605000 -5491.9754 1260.0285 -6752.0039 1392.3315 21805.533 -30375.962 302.15401 223.68891 1.0102672 0.1975 + 1610000 -5502.4313 1282.3536 -6784.7849 1378.1879 21791.234 -30378.942 307.50754 72.219761 1.0226788 0.195 + 1615000 -5434.7653 1258.9645 -6693.7297 1326.2408 21939.287 -30377.143 301.89885 -186.32112 1.0130596 0.1925 + 1620000 -5585.2504 1257.3165 -6842.5669 1345.5246 21744.374 -30378.94 301.50366 -588.30621 1.0274457 0.19 + 1625000 -5528.9293 1241.3212 -6770.2505 1385.8564 21799.552 -30378.87 297.668 -27.78124 1.0087198 0.1875 + 1630000 -5512.0803 1249.7669 -6761.8472 1409.4021 21756.949 -30379.03 299.69328 598.07578 1.0209223 0.185 + 1635000 -5554.4113 1257.7462 -6812.1575 1429.7636 21689.998 -30381.983 301.6067 637.58768 1.0296191 0.1825 + 1640000 -5528.3295 1282.7202 -6811.0497 1425.6194 21721.951 -30382.144 307.59546 201.65193 1.0054558 0.18 + 1645000 -5415.0306 1296.1562 -6711.1868 1359.5794 21836.685 -30373.985 310.8174 -122.49014 1.0025163 0.1775 + 1650000 -5472.535 1279.0671 -6751.6021 1334.4733 21816.614 -30381.683 306.71945 -1149.2916 0.98751404 0.175 + 1655000 -5501.82 1268.5575 -6770.3775 1377.245 21798.047 -30376.936 304.19926 1.7461216 1.0198116 0.1725 + 1660000 -5574.8853 1242.4084 -6817.2937 1402.801 21721.393 -30374.675 297.9287 -368.176 0.98829371 0.17 + 1665000 -5573.5235 1222.8083 -6796.3318 1398.8053 21724.515 -30373.998 293.22863 -34.053733 1.0103876 0.1675 + 1670000 -5465.9501 1315.885 -6781.8351 1342.4906 21789.764 -30380.929 315.54835 -711.01584 1.0050507 0.165 + 1675000 -5587.4957 1204.8035 -6792.2993 1411.9342 21755.712 -30382.222 288.91109 512.51181 1.0285941 0.1625 + 1680000 -5505.6492 1268.1162 -6773.7654 1373.3072 21795.716 -30381.924 304.09344 -65.28487 1.0177793 0.16 + 1685000 -5570.1242 1234.0295 -6804.1537 1333.3621 21779.517 -30377.13 295.91945 -832.3622 1.0233325 0.1575 + 1690000 -5491.4354 1286.9136 -6778.349 1302.901 21867.464 -30379.461 308.60103 -1091.2681 1.0076038 0.155 + 1695000 -5557.2902 1233.4916 -6790.7818 1475.5133 21645.505 -30381.225 295.79047 467.6176 0.98611211 0.1525 + 1700000 -5529.5608 1273.3267 -6802.8875 1385.957 21733.221 -30380.457 305.34291 -234.85874 1.0141094 0.15 + 1705000 -5598.2612 1252.9529 -6851.2142 1368.7434 21746.044 -30380.367 300.45729 -357.4882 1.0229005 0.1475 + 1710000 -5606.2821 1252.1505 -6858.4326 1441.0675 21619.641 -30382.217 300.26485 291.84925 1.0172756 0.145 + 1715000 -5470.884 1270.4438 -6741.3278 1314.3499 21888.17 -30382.544 304.65158 -536.78432 1.0181209 0.1425 + 1720000 -5458.4566 1270.3827 -6728.8393 1414.9094 21772.276 -30379.283 304.63694 383.28792 1.0017567 0.14 + 1725000 -5542.1103 1245.834 -6787.9443 1406.8781 21710.67 -30381.427 298.75018 -196.66899 0.99533902 0.1375 + 1730000 -5546.8538 1225.5416 -6772.3954 1414.5675 21764.375 -30378.796 293.88406 292.19762 1.0062057 0.135 + 1735000 -5533.254 1230.492 -6763.7459 1356.4861 21781.616 -30381.207 295.07116 -279.51002 1.0177131 0.1325 + 1740000 -5516.3203 1269.3866 -6785.7069 1382.6887 21778.338 -30380.038 304.39806 -41.211787 1.0184863 0.13 + 1745000 -5601.6102 1211.6668 -6813.2769 1457.856 21646.431 -30379.268 290.55689 321.57165 1.0044935 0.1275 + 1750000 -5464.07 1262.7335 -6726.8035 1388.3238 21807.797 -30381.51 302.80266 347.94977 1.0199363 0.125 + 1755000 -5609.8158 1220.0117 -6829.8275 1449.8857 21660.858 -30381.398 292.55801 423.13734 1.0091913 0.1225 + 1760000 -5403.3906 1295.0506 -6698.4412 1376.6218 21890.749 -30379.696 310.55227 307.40852 1.0147058 0.12 + 1765000 -5516.242 1249.2409 -6765.4828 1382.647 21758.198 -30377.246 299.56714 167.93234 1.0231885 0.1175 + 1770000 -5582.0367 1264.8589 -6846.8955 1451.9857 21613.33 -30377.524 303.31232 595.73197 1.0185845 0.115 + 1775000 -5537.7575 1229.4186 -6767.1761 1369.0153 21805.496 -30381.159 294.81376 13.517698 1.0260482 0.1125 + 1780000 -5494.5434 1303.1737 -6797.7171 1436.2813 21746.59 -30380.854 312.50019 737.63948 1.019697 0.11 + 1785000 -5506.8968 1245.4135 -6752.3103 1381.9664 21814.635 -30377.185 298.64934 53.072035 1.0092991 0.1075 + 1790000 -5570.6629 1257.0357 -6827.6986 1389.5682 21752.819 -30378.813 301.43633 -254.1322 1.0049075 0.105 + 1795000 -5403.0983 1313.5161 -6716.6144 1299.9894 21921.198 -30378.568 314.98029 -534.90063 1.0142742 0.1025 + 1800000 -5571.5716 1221.6883 -6793.2599 1459.5581 21671.077 -30379.985 292.96006 1199.0646 1.0291174 0.1 + 1805000 -5576.3609 1224.1212 -6800.4821 1353.5425 21807.985 -30380.553 293.54345 -387.59054 1.0179841 0.0975 + 1810000 -5606.1276 1268.2463 -6874.3738 1461.2712 21629.806 -30377.587 304.12462 705.686 1.032963 0.095 + 1815000 -5528.0175 1213.0379 -6741.0554 1404.3111 21772.221 -30376.182 290.88569 360.59394 1.0146256 0.0925 + 1820000 -5519.9749 1246.5714 -6766.5463 1333.2785 21832.117 -30376.792 298.927 -490.34561 1.0222947 0.09 + 1825000 -5445.4758 1293.818 -6739.2938 1310.9077 21908.662 -30376.428 310.25669 -505.90791 1.0175154 0.0875 + 1830000 -5541.7133 1258.3353 -6800.0486 1342.3151 21835.187 -30378.672 301.74797 -431.49631 1.0112617 0.085 + 1835000 -5455.3051 1261.9795 -6717.2846 1352.0659 21888.34 -30378.24 302.62186 -278.9793 1.0005135 0.0825 + 1840000 -5550.1255 1264.0761 -6814.2015 1457.0559 21643.406 -30381.124 303.12461 732.70062 1.0158677 0.08 + 1845000 -5534.0588 1215.4174 -6749.4762 1393.3056 21800.212 -30376.843 291.45629 318.75691 1.0144019 0.0775 + 1850000 -5470.5935 1240.7072 -6711.3007 1398.1611 21825.075 -30377.387 297.52076 246.47011 0.99682722 0.075 + 1855000 -5562.2126 1269.9488 -6832.1614 1405.7155 21717.318 -30382.767 304.5329 158.21904 1.0206821 0.0725 + 1860000 -5593.1478 1212.5719 -6805.7197 1431.8435 21688.522 -30377.259 290.77394 490.69887 1.0155469 0.07 + 1865000 -5547.7314 1230.6551 -6778.3865 1415.4128 21748.348 -30378.118 295.11029 184.13907 0.99833163 0.0675 + 1870000 -5530.8677 1219.9933 -6750.861 1379.1571 21831.652 -30375.929 292.55359 34.766398 1.0094217 0.065 + 1875000 -5568.1541 1254.3638 -6822.5179 1355.1579 21740.634 -30379.983 300.7956 -705.50446 1.0143892 0.0625 + 1880000 -5653.4584 1235.3915 -6888.8499 1430.7173 21633.442 -30379.735 296.24606 102.70794 1.0154835 0.06 + 1885000 -5465.2275 1218.1694 -6683.3969 1239.8122 21974.299 -30378.879 292.11621 -1526.9501 1.00297 0.0575 + 1890000 -5596.8191 1179.0514 -6775.8705 1375.6822 21763.894 -30376.484 282.73574 -135.80694 1.0180663 0.055 + 1895000 -5465.5228 1216.5423 -6682.0651 1399.7408 21824.803 -30381.567 291.72604 189.86203 0.9918745 0.0525 + 1900000 -5525.4584 1268.983 -6794.4415 1386.5598 21763.346 -30379.48 304.30129 -147.74084 1.0101088 0.05 + 1905000 -5629.8529 1254.2275 -6884.0804 1455.3465 21571.828 -30380.574 300.76293 536.16177 1.0309795 0.0475 + 1910000 -5498.7043 1240.937 -6739.6413 1343.971 21867.501 -30378.531 297.57587 -307.05181 1.00532 0.045 + 1915000 -5489.6666 1266.2052 -6755.8718 1356.677 21815.921 -30373.873 303.63517 41.753289 1.0289101 0.0425 + 1920000 -5534.4011 1264.7423 -6799.1433 1414.4972 21675.646 -30381.358 303.28436 307.25885 1.030805 0.04 + 1925000 -5504.0398 1249.1105 -6753.1503 1407.4242 21780.765 -30377.439 299.53588 416.81022 1.0112989 0.0375 + 1930000 -5486.5931 1291.1596 -6777.7527 1380.6453 21793.976 -30378.396 309.61922 -167.68264 1.0083434 0.035 + 1935000 -5482.2055 1242.0698 -6724.2753 1296.2668 21881.772 -30378.102 297.84751 -1240.512 1.0083689 0.0325 + 1940000 -5413.7616 1287.0265 -6700.788 1300.618 21943.573 -30379.549 308.6281 -822.10018 0.9947525 0.03 + 1945000 -5618.7196 1214.3524 -6833.072 1410.8621 21689.242 -30381.323 291.2009 177.78285 1.0261522 0.0275 + 1950000 -5559.1869 1277.5888 -6836.7757 1384.1924 21715.907 -30380.281 306.36495 -269.07872 1.01053 0.025 + 1955000 -5556.8805 1290.1761 -6847.0566 1420.3306 21702.458 -30379.354 309.38338 63.181765 1.0037638 0.0225 + 1960000 -5536.3473 1288.352 -6824.6993 1333.2341 21766.427 -30380.118 308.94596 -956.94729 1.0098248 0.02 + 1965000 -5560.7629 1271.8239 -6832.5868 1394.6008 21745.026 -30375.628 304.98253 27.022116 1.014722 0.0175 + 1970000 -5571.8348 1246.9662 -6818.801 1368.7901 21728.521 -30376.246 299.02167 -642.85981 1.0038267 0.015 + 1975000 -5448.1873 1277.5391 -6725.7263 1376.1799 21855.417 -30379.445 306.35302 158.55616 1.010898 0.0125 + 1980000 -5569.4362 1227.1456 -6796.5818 1384.1163 21747.316 -30379.52 294.26871 -224.4952 1.0128917 0.01 + 1985000 -5490.1779 1256.3196 -6746.4975 1376.0987 21800.479 -30378.853 301.26461 -23.927186 1.0117616 0.0075 + 1990000 -5568.4743 1216.0821 -6784.5564 1365.6444 21804.572 -30380.078 291.61568 -40.531986 1.024747 0.005 + 1995000 -5623.9072 1244.7555 -6868.6627 1444.7105 21613.58 -30377.599 298.49155 401.54781 1.0221617 0.0025 + 2000000 -5564.5636 1253.8102 -6818.3738 1394.5734 21742.16 -30376.703 300.66286 -89.748646 1.0114229 0 +Loop time of 13852.8 on 12 procs for 2000000 steps with 1800 atoms + +Performance: 12.474 ns/day, 1.924 hours/ns, 144.375 timesteps/s +95.5% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7431.1 | 8143.6 | 8773.3 | 379.5 | 58.79 +Bond | 24.35 | 26.055 | 27.801 | 23.2 | 0.19 +Kspace | 2212.7 | 2764.8 | 3391.2 | 573.6 | 19.96 +Neigh | 568.42 | 569.87 | 570.75 | 2.7 | 4.11 +Comm | 806.14 | 866.5 | 930.63 | 180.1 | 6.26 +Output | 0.032719 | 0.034078 | 0.041882 | 1.3 | 0.00 +Modify | 964.98 | 1144.9 | 1300.5 | 428.3 | 8.26 +Other | | 337 | | | 2.43 + +Nlocal: 150.000 ave 166 max 139 min +Histogram: 3 0 2 0 2 3 0 0 1 1 +Nghost: 6125.92 ave 6158 max 6091 min +Histogram: 1 1 0 2 1 2 2 1 1 1 +Neighs: 87012.7 ave 102741 max 79216 min +Histogram: 2 1 2 3 3 0 0 0 0 1 + +Total # of neighbors = 1044152 +Ave neighs/atom = 580.08444 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 89145 +Dangerous builds = 0 +Total wall time: 4:01:57 diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-q.fep b/examples/USER/fep/SPCEhyd/fep10/fep10-q.fep new file mode 100644 index 0000000000..fd49769ec2 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/fep10-q.fep @@ -0,0 +1,22 @@ +# Time-averaged data for fix FEP +# TimeStep c_FEP[1] c_FEP[2] c_FEP[3] +100000 1.45025 1741.09 17759.6 +200000 1.34275 2079.09 17751.2 +300000 1.11463 3077.67 17744.5 +400000 1.05072 3418.61 17752.1 +500000 0.861524 4545.87 17736.9 +600000 0.752417 5411.55 17755.8 +700000 0.677848 6201.52 17715.7 +800000 0.594413 7014.15 17718.2 +900000 0.482601 8441.94 17738.8 +1000000 0.44748 8942.75 17761.6 +1100000 0.374076 9984.65 17731.4 +1200000 0.310756 11050 17774.3 +1300000 0.246639 12186.7 17783.6 +1400000 0.201753 13117.8 17825.2 +1500000 0.166052 13843.8 17784.7 +1600000 0.136584 14486.5 17742.2 +1700000 0.102778 15331.6 17778.7 +1800000 0.0716746 16103 17743.1 +1900000 0.0513218 16698.6 17801.1 +2000000 0.0250996 17424.1 17780.5 diff --git a/examples/USER/fep/SPCEhyd/fep10/fep10-q.out b/examples/USER/fep/SPCEhyd/fep10/fep10-q.out new file mode 100644 index 0000000000..36fc89e567 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/fep10-q.out @@ -0,0 +1,559 @@ +LAMMPS (24 Dec 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/lammps/src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +Reading data file ... + orthogonal box = (0.0000000 0.0000000 0.0000000) to (29.204526 29.204526 29.204526) + 2 by 2 by 3 MPI processor grid + reading atoms ... + 1800 atoms + scanning bonds ... + 1 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 1200 bonds + reading angles ... + 600 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0.5 + special bond factors coul: 0 0 0.5 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.002 seconds + read_data CPU = 0.020 seconds +Finding SHAKE clusters ... + 0 = # of size 2 clusters + 600 = # of size 3 clusters + 0 = # of size 4 clusters + 0 = # of frozen angles + find clusters CPU = 0.001 seconds +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.2506685 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0030770287 + estimated relative force accuracy = 9.2663804e-06 + using double precision FFTW3 + 3d grid and FFT values/proc = 3757 800 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 8.214 | 8.226 | 8.244 Mbytes +Step CPU TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Volume Density + 0 0 1343.8082 1251.046 92.762256 53.823145 30098.377 -30059.438 300 10285.006 24908.667 0.72058313 + 5000 27.484029 -5481.5313 1291.2507 -6772.7821 1417.9265 21710.404 -30351.578 309.64107 573.94807 17792.658 1.0087737 + 10000 51.222479 -5557.9174 1247.8414 -6805.7588 1463.5652 21652.169 -30349.483 299.23155 1155.9001 17391.932 1.0320167 + 15000 81.534825 -5547.6429 1255.8047 -6803.4476 1434.9211 21679.801 -30351.564 301.14114 414.89266 17774.479 1.0098054 + 20000 108.19472 -5520.4365 1226.2567 -6746.6933 1363.6958 21763.102 -30350.115 294.05555 -159.5117 17640.377 1.017482 + 25000 139.47439 -5523.2547 1214.4617 -6737.7163 1403.2241 21727.256 -30347.421 291.2271 682.49951 17446.971 1.0287611 + 30000 173.52324 -5633.4887 1209.4695 -6842.9582 1384.9611 21696.903 -30350.921 290.02999 -439.40705 17870.41 1.0043846 + 35000 207.46148 -5609.1629 1202.7623 -6811.9252 1459.4041 21642.871 -30348.683 288.4216 870.04629 17620.845 1.0186098 + 40000 240.785 -5613.2727 1218.043 -6831.3157 1458.2338 21629.898 -30351.078 292.08591 578.74278 17728.011 1.0124523 + 45000 274.86574 -5567.9001 1234.3625 -6802.2626 1499.8464 21612.157 -30349.505 295.9993 1143.6708 17911.841 1.0020614 + 50000 308.33717 -5534.5804 1253.1529 -6787.7333 1383.4124 21740.111 -30349.237 300.50525 -236.43099 17808.85 1.0078565 + 55000 340.35767 -5558.5567 1237.2613 -6795.818 1472.1262 21640.69 -30349.9 296.69444 1169.6084 17518.859 1.0245396 + 60000 371.42788 -5620.3085 1217.3007 -6837.6091 1335.6617 21764.982 -30350.897 291.9079 -730.47206 17652.428 1.0167873 + 65000 400.4258 -5523.4332 1219.0927 -6742.5258 1377.9207 21790.846 -30351.438 292.33762 -67.377992 18008.535 0.99668103 + 70000 433.12056 -5549.9652 1278.9899 -6828.9551 1405.3901 21680.053 -30344.054 306.70094 -24.208971 17740.923 1.0117154 + 75000 465.43309 -5468.4134 1328.8758 -6797.2892 1404.3997 21721.55 -30346.155 318.66353 422.45424 17600.531 1.0197854 + 80000 498.33654 -5561.5506 1262.2191 -6823.7698 1375.8895 21728.477 -30350.941 302.67932 -480.08789 17936.63 1.0006765 + 85000 531.18843 -5561.7498 1243.7135 -6805.4633 1411.6336 21707.72 -30349.917 298.24169 31.756571 17844.951 1.0058176 + 90000 565.37172 -5548.2883 1305.5336 -6853.8219 1376.838 21698.95 -30345.634 313.06609 -580.39211 18032.442 0.99535964 + 95000 599.1335 -5491.6607 1249.0766 -6740.7373 1327.508 21805.341 -30346.173 299.52775 -747.34141 17928.72 1.001118 + 100000 632.97763 -5504.9781 1270.9776 -6775.9557 1348.4638 21759.337 -30349.51 304.7796 -112.23793 17469.352 1.0274431 +Loop time of 632.978 on 12 procs for 100000 steps with 1800 atoms + +Performance: 13.650 ns/day, 1.758 hours/ns, 157.983 timesteps/s +95.0% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 307.42 | 344.2 | 378.91 | 110.2 | 54.38 +Bond | 1.1476 | 1.2339 | 1.3345 | 6.3 | 0.19 +Kspace | 109.33 | 144.47 | 180.71 | 170.1 | 22.82 +Neigh | 25.619 | 25.671 | 25.708 | 0.6 | 4.06 +Comm | 41.234 | 45.135 | 50.464 | 52.8 | 7.13 +Output | 0.0012664 | 0.001324 | 0.0018066 | 0.4 | 0.00 +Modify | 46.059 | 59.064 | 69.016 | 114.7 | 9.33 +Other | | 13.2 | | | 2.09 + +Nlocal: 150.000 ave 160 max 138 min +Histogram: 2 0 0 2 1 1 3 0 0 3 +Nghost: 6169.08 ave 6215 max 6126 min +Histogram: 1 1 2 2 0 1 3 0 1 1 +Neighs: 88745.0 ave 98807 max 82382 min +Histogram: 3 0 1 3 0 3 1 0 0 1 + +Total # of neighbors = 1064940 +Ave neighs/atom = 591.63333 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 4480 +Dangerous builds = 8 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/lammps/src/kspace.cpp:339) + G vector (1/distance) = 0.25148052 + grid = 18 18 18 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0034663752 + estimated relative force accuracy = 1.0438886e-05 + using double precision FFTW3 + 3d grid and FFT values/proc = 3328 648 +FEP settings ... + temperature = 300.000000 + tail no + 1-1 charge + 2-2 charge +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 8.210 | 8.549 | 8.629 Mbytes +Step TotEng KinEng PotEng E_vdwl E_coul E_long Temp Press Density v_lambda v_qO v_qH + 0 -5504.9889 1270.9776 -6775.9665 1348.4638 21857.535 -30447.719 304.7796 -83.574867 1.0274431 1 -0.8476 0.4238 + 5000 -5524.9498 1270.0815 -6795.0313 1351.1305 21827.149 -30444.933 304.5647 -593.70775 1.005159 0.9975 -0.845481 0.4227405 + 10000 -5540.3394 1230.4582 -6770.7976 1419.9827 21833.217 -30447.512 295.06306 390.92433 1.0060179 0.995 -0.843362 0.421681 + 15000 -5552.7887 1238.4753 -6791.264 1335.4158 21841.316 -30448.525 296.98555 -977.57176 1.0018216 0.9925 -0.841243 0.4206215 + 20000 -5571.4362 1242.7492 -6814.1854 1430.7811 21758.542 -30446.37 298.01044 389.91739 1.0176182 0.99 -0.839124 0.419562 + 25000 -5460.6807 1271.7643 -6732.445 1445.8579 21824.91 -30444.435 304.96824 662.28347 0.99362968 0.9875 -0.837005 0.4185025 + 30000 -5454.6572 1289.2653 -6743.9226 1383.6837 21875.483 -30446.254 309.16498 76.696731 1.0117008 0.985 -0.834886 0.417443 + 35000 -5460.3689 1262.5044 -6722.8733 1424.7799 21854.486 -30444.887 302.74772 469.28759 0.99223648 0.9825 -0.832767 0.4163835 + 40000 -5617.7692 1259.5855 -6877.3547 1466.8238 21653.475 -30448.558 302.04777 518.56945 1.0149626 0.98 -0.830648 0.415324 + 45000 -5498.7892 1260.7599 -6759.5491 1354.8241 21911.823 -30445.433 302.32939 36.724958 1.0199193 0.9775 -0.828529 0.4142645 + 50000 -5556.2521 1276.3605 -6832.6126 1408.5453 21757.203 -30447.43 306.0704 38.976819 1.012915 0.975 -0.82641 0.413205 + 55000 -5513.8511 1239.4864 -6753.3375 1378.8961 21910.688 -30446.837 297.22802 -155.09229 0.99684598 0.9725 -0.824291 0.4121455 + 60000 -5482.86 1287.2484 -6770.1084 1383.4644 21876.85 -30446.035 308.68131 -23.984269 1.002056 0.97 -0.822172 0.411086 + 65000 -5556.4674 1243.4649 -6799.9323 1374.1364 21841.845 -30449.652 298.18207 13.80546 1.0185986 0.9675 -0.820053 0.4100265 + 70000 -5509.3689 1255.8787 -6765.2476 1342.6439 21905.378 -30448.437 301.15889 -636.57169 1.0013923 0.965 -0.817934 0.408967 + 75000 -5599.5463 1235.6343 -6835.1807 1391.5344 21779.525 -30444.409 296.3043 -272.25195 1.0096277 0.9625 -0.815815 0.4079075 + 80000 -5505.7102 1228.1399 -6733.8502 1402.1931 21862.826 -30444.663 294.50714 287.56695 1.007265 0.96 -0.813696 0.406848 + 85000 -5615.9836 1228.8806 -6844.8643 1412.2136 21728.301 -30447.357 294.68477 88.808898 1.0201101 0.9575 -0.811577 0.4057885 + 90000 -5445.8525 1286.0493 -6731.9017 1365.0964 21944.508 -30446.123 308.39376 -159.5813 0.99818678 0.955 -0.809458 0.404729 + 95000 -5555.6599 1255.1923 -6810.8522 1487.4112 21697.426 -30446.382 300.99428 1056.7026 1.0047794 0.9525 -0.807339 0.4036695 + 100000 -5423.2205 1299.4514 -6722.6719 1340.3931 21969.252 -30445.58 311.60759 -104.22862 1.0205672 0.95 -0.80522 0.40261 + 105000 -5510.0668 1219.7044 -6729.7712 1422.1714 21857.811 -30444.935 292.48431 965.21304 1.0267571 0.9475 -0.803101 0.4015505 + 110000 -5487.6062 1264.3775 -6751.9838 1383.7805 21872.105 -30438.176 303.19689 5.0812841 1.0038721 0.945 -0.800982 0.400491 + 115000 -5584.4825 1223.5314 -6808.0139 1305.413 21904.363 -30442.927 293.40202 -578.05444 1.0328242 0.9425 -0.798863 0.3994315 + 120000 -5523.0074 1287.4784 -6810.4858 1458.6493 21678.215 -30441.67 308.73646 671.54744 1.0055922 0.94 -0.796744 0.398372 + 125000 -5523.9631 1261.6061 -6785.5692 1451.4065 21774.541 -30440.463 302.5323 943.71106 1.023251 0.9375 -0.794625 0.3973125 + 130000 -5480.6587 1228.3138 -6708.9725 1318.5357 22013.43 -30444.357 294.54883 -484.16808 1.0024483 0.935 -0.792506 0.396253 + 135000 -5515.4922 1236.63 -6752.1222 1405.2286 21838.239 -30444.636 296.54306 -33.044871 0.99099073 0.9325 -0.790387 0.3951935 + 140000 -5636.9585 1190.5857 -6827.5442 1401.0211 21837.041 -30443.664 285.50167 -131.26918 1.0073498 0.93 -0.788268 0.394134 + 145000 -5520.4299 1242.8162 -6763.246 1425.5354 21801.806 -30441.82 298.02649 375.70839 1.0055963 0.9275 -0.786149 0.3930745 + 150000 -5466.2108 1221.5587 -6687.7695 1315.243 22002.492 -30445.561 292.92898 -458.87734 1.0111682 0.925 -0.78403 0.392015 + 155000 -5461.822 1239.1272 -6700.9492 1371.2953 21931.804 -30440.608 297.14189 404.63471 1.02125 0.9225 -0.781911 0.3909555 + 160000 -5581.5531 1235.5332 -6817.0862 1387.24 21799.458 -30439.508 296.28004 -313.78406 1.005984 0.92 -0.779792 0.389896 + 165000 -5518.8078 1273.6502 -6792.4581 1375.9673 21862.55 -30442.152 305.42049 -35.844433 1.0122448 0.9175 -0.777673 0.3888365 + 170000 -5515.2831 1285.6763 -6800.9594 1404.6207 21813.634 -30442.455 308.30433 -58.986086 1.010512 0.915 -0.775554 0.387777 + 175000 -5547.8632 1237.0346 -6784.8979 1371.988 21866.075 -30441.096 296.64009 8.7538748 1.0204871 0.9125 -0.773435 0.3867175 + 180000 -5550.9154 1284.8683 -6835.7837 1386.3915 21803.513 -30444.858 308.11056 107.40069 1.0274352 0.91 -0.771316 0.385658 + 185000 -5536.9233 1270.2304 -6807.1538 1398.1504 21809.601 -30443.002 304.60042 -174.16652 0.99755738 0.9075 -0.769197 0.3845985 + 190000 -5518.9253 1280.5079 -6799.4332 1373.9909 21862.478 -30442.723 307.06496 9.6282943 1.0156746 0.905 -0.767078 0.383539 + 195000 -5574.7502 1214.359 -6789.1092 1411.3746 21807.743 -30442.797 291.20249 459.43071 1.0173851 0.9025 -0.764959 0.3824795 + 200000 -5586.1746 1230.4227 -6816.5973 1532.8087 21640.232 -30440.345 295.05456 1663.9344 1.0127589 0.9 -0.76284 0.38142 + 205000 -5530.762 1262.3017 -6793.0637 1421.2001 21765.141 -30437.136 302.69912 362.504 1.0112973 0.8975 -0.760721 0.3803605 + 210000 -5482.179 1264.6727 -6746.8517 1332.5039 21878.405 -30436.424 303.26767 -518.59319 1.0144674 0.895 -0.758602 0.379301 + 215000 -5548.4664 1254.2078 -6802.6742 1439.71 21751.539 -30437.604 300.7582 936.14316 1.0295052 0.8925 -0.756483 0.3782415 + 220000 -5566.4852 1224.3179 -6790.8031 1366.173 21833.016 -30437.139 293.59062 -368.10245 1.0080289 0.89 -0.754364 0.377182 + 225000 -5607.3792 1195.1042 -6802.4834 1434.8209 21716.922 -30436.88 286.58521 313.99343 1.0126994 0.8875 -0.752245 0.3761225 + 230000 -5685.3593 1214.5576 -6899.9169 1452.8971 21628.537 -30433.937 291.2501 -34.04353 1.0037164 0.885 -0.750126 0.375063 + 235000 -5458.1208 1277.1379 -6735.2588 1388.7878 21861.855 -30438.247 306.25684 26.373018 1.0027032 0.8825 -0.748007 0.3740035 + 240000 -5471.8252 1281.8041 -6753.6293 1442.5812 21792.96 -30437.921 307.37578 706.48275 1.0008045 0.88 -0.745888 0.372944 + 245000 -5459.3621 1258.1055 -6717.4676 1394.4965 21879.415 -30435.773 301.69286 446.21806 1.0155238 0.8775 -0.743769 0.3718845 + 250000 -5614.6519 1198.1053 -6812.7572 1397.7454 21767.081 -30436.857 287.30486 146.62072 1.0273533 0.875 -0.74165 0.370825 + 255000 -5573.1837 1250.4489 -6823.6325 1354.8074 21829.39 -30434.368 299.85681 -608.07208 1.0009113 0.8725 -0.739531 0.3697655 + 260000 -5630.451 1202.8398 -6833.2907 1380.657 21778.541 -30440.821 288.44019 -195.24451 1.019413 0.87 -0.737412 0.368706 + 265000 -5533.5948 1273.5591 -6807.1539 1419.8611 21794.887 -30438.706 305.39863 339.13963 1.0138164 0.8675 -0.735293 0.3676465 + 270000 -5640.803 1204.5526 -6845.3556 1495.5078 21652.609 -30438.707 288.85092 1463.7932 1.0356466 0.865 -0.733174 0.366587 + 275000 -5514.7021 1283.4057 -6798.1078 1340.6427 21864.301 -30436.815 307.75984 -449.32236 1.0128657 0.8625 -0.731055 0.3655275 + 280000 -5610.2442 1259.5217 -6869.7659 1411.1009 21686.723 -30440.226 302.03248 -123.59673 1.0128803 0.86 -0.728936 0.364468 + 285000 -5550.4897 1281.3066 -6831.7963 1373.2421 21810.977 -30438.399 307.25647 -248.99043 1.0185983 0.8575 -0.726817 0.3634085 + 290000 -5553.4882 1240.2591 -6793.7473 1391.9459 21802.734 -30437.51 297.4133 -158.86961 1.0031364 0.855 -0.724698 0.362349 + 295000 -5524.2791 1255.0193 -6779.2984 1449.4799 21776.57 -30434.687 300.95281 952.9175 1.0131377 0.8525 -0.722579 0.3612895 + 300000 -5476.0212 1284.8796 -6760.9008 1324.2729 21929.73 -30436.686 308.11327 -465.3353 1.0043923 0.85 -0.72046 0.36023 + 305000 -5438.0362 1298.3446 -6736.3809 1407.4391 21826.292 -30430.432 311.34219 517.43655 1.0077139 0.8475 -0.718341 0.3591705 + 310000 -5535.7453 1264.3612 -6800.1065 1343.2269 21832.58 -30432.621 303.19298 -745.84969 1.0074616 0.845 -0.716222 0.358111 + 315000 -5502.0889 1225.373 -6727.4619 1408.6878 21868.726 -30430.42 293.84363 391.97607 1.0057154 0.8425 -0.714103 0.3570515 + 320000 -5551.1885 1247.6582 -6798.8467 1441.5698 21745.518 -30434.212 299.18761 602.66464 1.0106275 0.84 -0.711984 0.355992 + 325000 -5472.7566 1268.0116 -6740.7682 1396.6033 21874.12 -30434.532 304.06836 68.811265 0.9970358 0.8375 -0.709865 0.3549325 + 330000 -5572.2981 1246.5687 -6818.8668 1407.6183 21773.909 -30431.719 298.92634 224.12439 1.0246504 0.835 -0.707746 0.353873 + 335000 -5499.3422 1205.6434 -6704.9856 1285.2624 21998.798 -30434.913 289.11249 -817.85014 1.0147781 0.8325 -0.705627 0.3528135 + 340000 -5562.2169 1219.1939 -6781.4108 1417.0604 21795.894 -30433.607 292.36189 174.41821 1.0058188 0.83 -0.703508 0.351754 + 345000 -5520.3776 1219.9601 -6740.3377 1367.4757 21877.315 -30431.491 292.54563 -222.24612 1.0043509 0.8275 -0.701389 0.3506945 + 350000 -5552.9644 1291.4697 -6844.4341 1376.2399 21787.524 -30434.036 309.69358 -160.81114 1.0193989 0.825 -0.69927 0.349635 + 355000 -5592.6369 1199.1021 -6791.739 1447.0154 21758.057 -30432.531 287.54389 514.62059 1.0124065 0.8225 -0.697151 0.3485755 + 360000 -5529.6905 1251.9083 -6781.5988 1413.2964 21787.146 -30433.685 300.20679 176.70328 1.0073792 0.82 -0.695032 0.347516 + 365000 -5555.2054 1274.6375 -6829.8429 1394.8131 21789.095 -30432.379 305.65724 -24.957537 1.0152213 0.8175 -0.692913 0.3464565 + 370000 -5549.5587 1233.5667 -6783.1253 1413.7135 21800.689 -30434.305 295.80847 536.16714 1.0185709 0.815 -0.690794 0.345397 + 375000 -5600.3525 1246.9961 -6847.3486 1429.7166 21731.282 -30431.632 299.02885 153.53182 1.0080114 0.8125 -0.688675 0.3443375 + 380000 -5546.5526 1248.9012 -6795.4538 1492.7679 21715.426 -30433.665 299.48569 1426.4389 1.0177045 0.81 -0.686556 0.343278 + 385000 -5526.007 1233.736 -6759.7429 1424.1481 21831.876 -30433.42 295.84907 794.1626 1.0185785 0.8075 -0.684437 0.3422185 + 390000 -5596.7029 1243.227 -6839.9299 1421.1174 21693.364 -30433.154 298.12502 108.87841 1.0093018 0.805 -0.682318 0.341159 + 395000 -5546.0663 1265.2707 -6811.337 1447.5582 21710.518 -30434.09 303.41109 435.10835 1.0032239 0.8025 -0.680199 0.3400995 + 400000 -5512.3512 1228.2014 -6740.5526 1323.056 21887.642 -30435.079 294.52189 -597.96971 1.0128567 0.8 -0.67808 0.33904 + 405000 -5452.0555 1256.5329 -6708.5884 1343.4033 21932.615 -30422.632 301.31577 -151.04994 1.0109662 0.7975 -0.675961 0.3379805 + 410000 -5564.1544 1254.1139 -6818.2683 1392.8911 21749.311 -30425.522 300.73568 -588.71236 0.99221624 0.795 -0.673842 0.336921 + 415000 -5492.9731 1270.5302 -6763.5033 1406.1534 21801.397 -30431.784 304.6723 283.61097 1.0125944 0.7925 -0.671723 0.3358615 + 420000 -5595.3267 1203.6829 -6799.0097 1342.6073 21860.776 -30429.796 288.64237 -326.4097 1.0197083 0.79 -0.669604 0.334802 + 425000 -5526.916 1270.6811 -6797.5971 1386.3023 21838.644 -30429.504 304.70849 59.964397 1.0107947 0.7875 -0.667485 0.3337425 + 430000 -5463.4519 1253.2065 -6716.6584 1368.6563 21900.489 -30429.468 300.51809 163.25845 1.0046663 0.785 -0.665366 0.332683 + 435000 -5587.8678 1212.7905 -6800.6583 1357.107 21806.156 -30427.795 290.82636 -669.59026 1.0055054 0.7825 -0.663247 0.3316235 + 440000 -5579.1616 1230.2594 -6809.421 1367.4502 21836.582 -30425.594 295.01539 -322.05693 1.0101379 0.78 -0.661128 0.330564 + 445000 -5532.555 1201.8734 -6734.4284 1386.7876 21878.725 -30427.156 288.20845 -45.792864 1.0052685 0.7775 -0.659009 0.3295045 + 450000 -5569.8426 1278.6957 -6848.5383 1414.4583 21749.442 -30430.096 306.63038 236.64985 1.0219043 0.775 -0.65689 0.328445 + 455000 -5449.1927 1264.9233 -6714.116 1326.8274 21933.446 -30429.11 303.32777 -442.03731 0.99413577 0.7725 -0.654771 0.3273855 + 460000 -5554.4541 1270.3142 -6824.7683 1333.1464 21840.149 -30429.094 304.6205 -747.1109 1.0160003 0.77 -0.652652 0.326326 + 465000 -5528.8036 1284.1598 -6812.9634 1380.0206 21775.39 -30428.738 307.94068 -20.995822 1.0245304 0.7675 -0.650533 0.3252665 + 470000 -5512.8124 1236.1415 -6748.9539 1406.7843 21790.482 -30429.605 296.42591 302.60013 1.0139043 0.765 -0.648414 0.324207 + 475000 -5498.2571 1273.8167 -6772.0739 1435.6038 21790.464 -30429.5 305.46041 483.68473 1.0001103 0.7625 -0.646295 0.3231475 + 480000 -5559.1482 1225.6395 -6784.7878 1384.7454 21844.676 -30428.007 293.90755 30.99406 1.0121504 0.76 -0.644176 0.322088 + 485000 -5496.7804 1282.5658 -6779.3462 1415.6133 21800.486 -30429.421 307.55843 530.11667 1.0187969 0.7575 -0.642057 0.3210285 + 490000 -5537.517 1233.6775 -6771.1945 1371.616 21849.424 -30427.207 295.83505 -358.41182 0.99575692 0.755 -0.639938 0.319969 + 495000 -5554.5243 1212.6181 -6767.1424 1404.0842 21816.065 -30425.237 290.78503 209.62449 1.0112618 0.7525 -0.637819 0.3189095 + 500000 -5622.7664 1199.6165 -6822.3829 1327.3169 21871.075 -30428.955 287.66724 -1311.6743 0.99857938 0.75 -0.6357 0.31785 + 505000 -5480.3266 1256.8007 -6737.1273 1299.6547 21957.857 -30425.971 301.37997 -899.16025 1.0089969 0.7475 -0.633581 0.3167905 + 510000 -5498.9495 1225.5254 -6724.4749 1348.4413 21919.082 -30425.115 293.88018 -394.00866 1.006416 0.745 -0.631462 0.315731 + 515000 -5551.2688 1235.3365 -6786.6053 1382.192 21812.545 -30425.295 296.23288 -234.82847 1.000347 0.7425 -0.629343 0.3146715 + 520000 -5580.0926 1192.4884 -6772.581 1455.062 21751.768 -30422.995 285.95793 899.21376 1.0184475 0.74 -0.627224 0.313612 + 525000 -5536.1025 1254.7959 -6790.8984 1402.6731 21772.842 -30423.645 300.89923 -179.78368 1.0012739 0.7375 -0.625105 0.3125525 + 530000 -5475.5649 1274.227 -6749.7919 1422.191 21806.648 -30423.468 305.5588 412.66908 1.0021064 0.735 -0.622986 0.311493 + 535000 -5535.7717 1220.4498 -6756.2215 1277.0625 21937.566 -30422.661 292.66305 -1373.8334 1.0012496 0.7325 -0.620867 0.3104335 + 540000 -5559.6489 1229.0591 -6788.708 1373.477 21802.469 -30424.781 294.72757 -356.60453 1.0077789 0.73 -0.618748 0.309374 + 545000 -5550.6131 1217.3371 -6767.9502 1356.1731 21855.265 -30426.343 291.91664 -410.40203 1.0164552 0.7275 -0.616629 0.3083145 + 550000 -5552.1925 1225.9662 -6778.1588 1407.9503 21859.108 -30426.047 293.98589 371.95292 1.0041485 0.725 -0.61451 0.307255 + 555000 -5474.3141 1269.9785 -6744.2926 1380.6756 21869.918 -30423.625 304.54001 479.97718 1.0348696 0.7225 -0.612391 0.3061955 + 560000 -5529.7258 1228.0526 -6757.7784 1371.1262 21873.308 -30423.612 294.4862 10.021913 1.0178349 0.72 -0.610272 0.305136 + 565000 -5578.7184 1238.3238 -6817.0421 1364.6801 21831.12 -30424.526 296.94922 -210.96144 1.0145779 0.7175 -0.608153 0.3040765 + 570000 -5590.3739 1178.8219 -6769.1958 1342.169 21850.785 -30426.607 282.68072 -726.65935 1.0040162 0.715 -0.606034 0.303017 + 575000 -5538.2977 1301.251 -6839.5488 1351.7057 21811.514 -30423.38 312.03914 -697.06828 1.0043954 0.7125 -0.603915 0.3019575 + 580000 -5489.5408 1264.601 -6754.1418 1361.3606 21879.773 -30427.021 303.25049 0.8028479 1.0182595 0.71 -0.601796 0.300898 + 585000 -5564.4144 1237.0831 -6801.4975 1372.1667 21823.237 -30425.788 296.6517 -219.05406 0.99937042 0.7075 -0.599677 0.2998385 + 590000 -5642.7568 1231.4142 -6874.171 1428.0404 21658.491 -30425.167 295.29231 186.19832 1.0221448 0.705 -0.597558 0.298779 + 595000 -5623.2882 1246.7224 -6870.0106 1396.3321 21739.583 -30424.594 298.96321 -90.586397 1.0254105 0.7025 -0.595439 0.2977195 + 600000 -5543.5677 1248.7682 -6792.3359 1346.9267 21827.244 -30425.377 299.45379 -291.40394 1.0195264 0.7 -0.59332 0.29666 + 605000 -5474.4972 1249.0604 -6723.5576 1386.9424 21886.849 -30420.093 299.52387 320.72375 1.0078262 0.6975 -0.591201 0.2956005 + 610000 -5444.4392 1268.064 -6712.5032 1336.2434 21909.556 -30420.625 304.08091 -498.11374 1.003753 0.695 -0.589082 0.294541 + 615000 -5576.1847 1305.9815 -6882.1662 1436.2497 21635.143 -30423.656 313.1735 278.60539 1.0176729 0.6925 -0.586963 0.2934815 + 620000 -5527.0897 1239.3078 -6766.3976 1371.3853 21850.583 -30424.469 297.1852 -80.897508 1.007611 0.69 -0.584844 0.292422 + 625000 -5552.9285 1232.0128 -6784.9412 1359.8043 21819.102 -30422.799 295.43585 -417.82041 1.0072509 0.6875 -0.582725 0.2913625 + 630000 -5532.1703 1252.0392 -6784.2094 1416.1466 21807.096 -30422.422 300.23817 369.4296 1.0039576 0.685 -0.580606 0.290303 + 635000 -5571.3255 1249.4908 -6820.8163 1369.6703 21808.738 -30421.932 299.62706 -297.44918 1.0196309 0.6825 -0.578487 0.2892435 + 640000 -5525.2478 1199.2506 -6724.4984 1369.7668 21894.477 -30421.099 287.5795 -72.546596 1.0007716 0.68 -0.576368 0.288184 + 645000 -5542.8568 1255.2316 -6798.0884 1331.6921 21842.315 -30419.358 301.0037 -814.5638 1.0097587 0.6775 -0.574249 0.2871245 + 650000 -5516.7418 1289.6956 -6806.4374 1400.2031 21783.51 -30421.477 309.26815 246.24345 1.0195846 0.675 -0.57213 0.286065 + 655000 -5524.8554 1265.5421 -6790.3975 1416.5196 21786.917 -30421.834 303.47617 529.12757 1.021072 0.6725 -0.570011 0.2850055 + 660000 -5460.2238 1295.8973 -6756.1212 1381.0945 21874.034 -30423.779 310.75533 569.85093 1.0270172 0.67 -0.567892 0.283946 + 665000 -5466.9896 1224.4909 -6691.4805 1377.5505 21903.453 -30415.905 293.63212 415.21587 1.0210181 0.6675 -0.565773 0.2828865 + 670000 -5508.3465 1292.0903 -6800.4368 1402.8444 21826.305 -30419.345 309.8424 362.60575 1.0200837 0.665 -0.563654 0.281827 + 675000 -5529.9825 1270.4695 -6800.452 1392.861 21763.662 -30422.666 304.65774 16.761021 1.0167408 0.6625 -0.561535 0.2807675 + 680000 -5589.5488 1256.7076 -6846.2564 1389.8603 21765.396 -30421.726 301.35765 -118.83353 1.0212456 0.66 -0.559416 0.279708 + 685000 -5461.9707 1282.6044 -6744.5751 1346.0454 21890.857 -30417.827 307.56769 -213.07775 1.0049252 0.6575 -0.557297 0.2786485 + 690000 -5591.4518 1229.1635 -6820.6153 1420.1767 21731.473 -30421.278 294.75259 194.31079 1.0204392 0.655 -0.555178 0.277589 + 695000 -5558.442 1216.2827 -6774.7247 1334.5019 21858.035 -30423.287 291.66379 -603.48558 1.0061448 0.6525 -0.553059 0.2765295 + 700000 -5492.653 1235.4799 -6728.1329 1391.2365 21871.21 -30420.123 296.26726 -41.586711 0.99217704 0.65 -0.55094 0.27547 + 705000 -5481.7595 1269.4684 -6751.2279 1323.5824 21897.228 -30413.262 304.4177 -459.11823 1.0141534 0.6475 -0.548821 0.2744105 + 710000 -5599.7613 1259.4323 -6859.1936 1383.1749 21741.135 -30418.84 302.01104 -358.23129 1.0156425 0.645 -0.546702 0.273351 + 715000 -5532.5713 1228.4966 -6761.0679 1396.4462 21859.914 -30416.53 294.59266 101.27196 1.0038296 0.6425 -0.544583 0.2722915 + 720000 -5584.0626 1229.4865 -6813.549 1388.5647 21769.406 -30418.339 294.83004 -792.67304 0.97380809 0.64 -0.542464 0.271232 + 725000 -5534.3566 1268.5686 -6802.9252 1423.0724 21758.618 -30416.045 304.20193 890.82213 1.0379062 0.6375 -0.540345 0.2701725 + 730000 -5578.7464 1212.5455 -6791.2919 1336.9104 21848.801 -30419.787 290.76761 -553.70126 1.0148611 0.635 -0.538226 0.269113 + 735000 -5618.1113 1206.2457 -6824.357 1375.0888 21801.81 -30417.694 289.25693 -427.22774 0.99982113 0.6325 -0.536107 0.2680535 + 740000 -5465.2032 1230.0118 -6695.215 1379.8548 21895.413 -30416.747 294.95602 315.63989 1.008153 0.63 -0.533988 0.266994 + 745000 -5578.5259 1240.851 -6819.3769 1426.7154 21759.96 -30418.763 297.55525 92.359506 0.99991361 0.6275 -0.531869 0.2659345 + 750000 -5534.8877 1256.4642 -6791.3518 1421.6831 21739.034 -30413.197 301.29928 158.88605 1.0081156 0.625 -0.52975 0.264875 + 755000 -5592.2413 1257.2462 -6849.4875 1366.9032 21783.562 -30418.46 301.48681 -581.61417 1.0056237 0.6225 -0.527631 0.2638155 + 760000 -5588.4063 1228.2425 -6816.6488 1410.3305 21756.183 -30416.341 294.53174 176.20865 1.011915 0.62 -0.525512 0.262756 + 765000 -5474.386 1218.7547 -6693.1407 1352.12 21939.502 -30416.343 292.25658 -320.6219 0.99100601 0.6175 -0.523393 0.2616965 + 770000 -5599.397 1242.7375 -6842.1345 1434.302 21734.26 -30418.21 298.00763 586.02998 1.0211757 0.615 -0.521274 0.260637 + 775000 -5508.8091 1258.5638 -6767.3729 1400.6493 21823.313 -30417.849 301.80278 178.09524 0.99995792 0.6125 -0.519155 0.2595775 + 780000 -5455.2192 1320.084 -6775.3032 1366.0858 21855.521 -30419.279 316.55527 160.2504 1.0264157 0.61 -0.517036 0.258518 + 785000 -5541.1905 1242.1565 -6783.347 1363.1625 21827.702 -30417.255 297.86832 -394.6575 1.0087294 0.6075 -0.514917 0.2574585 + 790000 -5569.3567 1256.7441 -6826.1008 1410.0504 21767.374 -30420.811 301.36641 -96.271799 0.99839497 0.605 -0.512798 0.256399 + 795000 -5537.502 1288.0636 -6825.5656 1435.9958 21711.599 -30417.456 308.8768 221.61169 1.0095005 0.6025 -0.510679 0.2553395 + 800000 -5560.8018 1240.0106 -6800.8124 1438.3265 21719.004 -30418.763 297.35373 775.89511 1.0301028 0.6 -0.50856 0.25428 + 805000 -5565.4599 1257.3617 -6822.8216 1394.5641 21770.009 -30412.251 301.5145 -173.96353 1.005747 0.5975 -0.506441 0.2532205 + 810000 -5497.4553 1284.5004 -6781.9556 1376.4375 21814.087 -30416.038 308.02234 188.25994 1.0214966 0.595 -0.504322 0.252161 + 815000 -5535.8991 1240.611 -6776.5101 1409.3101 21787.935 -30417.071 297.4977 262.65044 1.0117069 0.5925 -0.502203 0.2511015 + 820000 -5517.0729 1299.475 -6816.5479 1327.7472 21854.691 -30412.417 311.61325 -784.1981 1.0122843 0.59 -0.500084 0.250042 + 825000 -5632.9653 1192.4397 -6825.405 1360.7386 21778.67 -30413.486 285.94624 -388.42674 1.0232857 0.5875 -0.497965 0.2489825 + 830000 -5574.662 1257.8343 -6832.4962 1407.1117 21747.991 -30412.959 301.62783 -178.94106 1.0050031 0.585 -0.495846 0.247923 + 835000 -5517.9029 1249.5464 -6767.4493 1434.0858 21785.24 -30413.924 299.64041 516.05215 1.0102407 0.5825 -0.493727 0.2468635 + 840000 -5485.6365 1270.3474 -6755.9839 1335.1605 21840.353 -30411.626 304.62848 -421.00228 1.0133415 0.58 -0.491608 0.245804 + 845000 -5435.7784 1276.5836 -6712.362 1385.5475 21848.907 -30414.112 306.12391 556.14871 1.0239928 0.5775 -0.489489 0.2447445 + 850000 -5564.9093 1250.3893 -6815.2987 1376.9527 21812.84 -30414.994 299.84254 -103.38162 1.0245668 0.575 -0.48737 0.243685 + 855000 -5452.5901 1262.6663 -6715.2564 1378.7612 21881.921 -30415.305 302.78654 34.86207 0.99556351 0.5725 -0.485251 0.2426255 + 860000 -5515.222 1248.0439 -6763.2659 1305.4039 21931.869 -30415.835 299.28011 -908.54473 1.0020125 0.57 -0.483132 0.241566 + 865000 -5460.554 1245.0116 -6705.5656 1376.9247 21872.285 -30415.226 298.55297 -233.80476 0.98431622 0.5675 -0.481013 0.2405065 + 870000 -5476.9636 1272.0524 -6749.016 1362.2558 21845.497 -30416.364 305.03732 -99.216354 1.0114633 0.565 -0.478894 0.239447 + 875000 -5507.2163 1297.9312 -6805.1475 1404.1772 21725.275 -30415.229 311.24305 -162.72463 1.0065653 0.5625 -0.476775 0.2383875 + 880000 -5618.916 1185.2711 -6804.1871 1427.7925 21743.213 -30415.522 284.22724 324.75619 1.0135333 0.56 -0.474656 0.237328 + 885000 -5525.3698 1218.8864 -6744.2562 1360.4312 21880.194 -30413.898 292.28816 -244.38329 1.0135275 0.5575 -0.472537 0.2362685 + 890000 -5505.6369 1238.1666 -6743.8034 1412.5727 21840.193 -30413.202 296.91152 485.94408 1.0063342 0.555 -0.470418 0.235209 + 895000 -5602.1542 1221.0463 -6823.2005 1454.4394 21713.82 -30416.858 292.8061 268.08086 0.99556757 0.5525 -0.468299 0.2341495 + 900000 -5603.8654 1303.5628 -6907.4282 1499.2346 21573.659 -30417.214 312.59349 905.77809 1.0203813 0.55 -0.46618 0.23309 + 905000 -5561.5364 1235.1607 -6796.697 1317.7926 21863.665 -30411.262 296.19071 -899.61575 1.0112152 0.5475 -0.464061 0.2320305 + 910000 -5498.8354 1208.5542 -6707.3895 1394.7617 21874.374 -30410.334 289.81049 474.25045 1.0127648 0.545 -0.461942 0.230971 + 915000 -5592.5796 1194.943 -6787.5226 1393.8431 21788.893 -30415.252 286.54655 127.92132 1.0188573 0.5425 -0.459823 0.2299115 + 920000 -5496.6202 1245.2081 -6741.8283 1351.0512 21874.145 -30404.465 298.60007 2.9909425 1.0206197 0.54 -0.457704 0.228852 + 925000 -5491.3049 1264.9518 -6756.2567 1431.8079 21770.193 -30410.054 303.3346 495.87301 1.0083522 0.5375 -0.455585 0.2277925 + 930000 -5487.3571 1267.2843 -6754.6414 1386.5736 21833.656 -30414.507 303.89394 15.771272 1.0000236 0.535 -0.453466 0.226733 + 935000 -5476.9897 1259.4651 -6736.4548 1407.6301 21830.961 -30406.59 302.0189 581.34887 1.0155958 0.5325 -0.451347 0.2256735 + 940000 -5488.9916 1314.4567 -6803.4483 1466.6629 21737.432 -30413.446 315.20584 1238.1624 1.0288595 0.53 -0.449228 0.224614 + 945000 -5550.7311 1300.1216 -6850.8527 1412.3482 21723.824 -30411.146 311.76831 -169.42496 1.0064279 0.5275 -0.447109 0.2235545 + 950000 -5606.1286 1246.8667 -6852.9952 1472.7784 21676.262 -30413.203 298.9978 518.15276 1.0015579 0.525 -0.44499 0.222495 + 955000 -5539.4856 1253.2903 -6792.7759 1415.4535 21747.222 -30412.732 300.53818 480.02479 1.0216323 0.5225 -0.442871 0.2214355 + 960000 -5535.7958 1215.1899 -6750.9857 1431.2781 21814.097 -30411.881 291.40173 608.69976 1.0136976 0.52 -0.440752 0.220376 + 965000 -5576.559 1234.6144 -6811.1734 1514.023 21649.351 -30410.737 296.05972 1520.794 1.0106841 0.5175 -0.438633 0.2193165 + 970000 -5519.6002 1277.0163 -6796.6165 1466.0566 21699.821 -30415.026 306.22766 510.68622 0.98687386 0.515 -0.436514 0.218257 + 975000 -5591.0137 1254.588 -6845.6017 1429.5069 21702.359 -30411.235 300.84939 297.03602 1.0251394 0.5125 -0.434395 0.2171975 + 980000 -5540.9566 1234.8073 -6775.7639 1338.2556 21868.37 -30412.541 296.10597 -289.71499 1.0212154 0.51 -0.432276 0.216138 + 985000 -5511.5459 1300.1097 -6811.6556 1334.8282 21875.173 -30411.512 311.76544 -693.16807 1.0141634 0.5075 -0.430157 0.2150785 + 990000 -5516.8247 1251.5481 -6768.3728 1358.6891 21823.881 -30410.037 300.1204 -279.3824 1.005663 0.505 -0.428038 0.214019 + 995000 -5524.3561 1215.9313 -6740.2874 1390.687 21855.683 -30411.04 291.57953 -53.642919 0.99690457 0.5025 -0.425919 0.2129595 + 1000000 -5562.5466 1221.827 -6784.3736 1297.5519 21915.287 -30414.226 292.99331 -874.65244 1.0214982 0.5 -0.4238 0.2119 + 1005000 -5542.8861 1229.0938 -6771.9799 1429.8443 21760.776 -30409.275 294.73589 294.86058 0.99993056 0.4975 -0.421681 0.2108405 + 1010000 -5448.4956 1256.3749 -6704.8706 1306.8444 21971.623 -30407.793 301.27788 -942.92568 0.99248512 0.495 -0.419562 0.209781 + 1015000 -5485.7411 1220.3873 -6706.1284 1245.6819 22024.308 -30407.597 292.64806 -1773.327 0.98578512 0.4925 -0.417443 0.2087215 + 1020000 -5502.2773 1265.1614 -6767.4388 1300.0129 21841.931 -30407.973 303.38487 -1114.324 1.0096025 0.49 -0.415324 0.207662 + 1025000 -5494.1313 1283.1074 -6777.2387 1385.6888 21791.255 -30409.205 307.6883 338.12878 1.0286322 0.4875 -0.413205 0.2066025 + 1030000 -5489.9259 1292.1724 -6782.0983 1417.8757 21798.83 -30411.578 309.86209 146.08806 0.99796155 0.485 -0.411086 0.205543 + 1035000 -5580.7036 1227.9308 -6808.6343 1399.7311 21795.838 -30405.508 294.45698 245.3411 1.0203353 0.4825 -0.408967 0.2044835 + 1040000 -5614.6078 1226.5654 -6841.1731 1447.8292 21673.75 -30407.74 294.12956 291.24488 1.012026 0.48 -0.406848 0.203424 + 1045000 -5535.8226 1284.8577 -6820.6803 1375.0415 21807.843 -30408.339 308.10803 -154.07664 1.0167214 0.4775 -0.404729 0.2023645 + 1050000 -5534.4123 1250.095 -6784.5074 1287.9566 21899.002 -30411.016 299.77196 -1161.4357 1.0099009 0.475 -0.40261 0.201305 + 1055000 -5509.4752 1264.9106 -6774.3858 1424.5808 21771.718 -30409.977 303.32473 730.35249 1.0166966 0.4725 -0.400491 0.2002455 + 1060000 -5551.4539 1255.686 -6807.1399 1431.3525 21716.649 -30408.994 301.11268 339.03445 1.0030856 0.47 -0.398372 0.199186 + 1065000 -5539.4142 1262.7344 -6802.1485 1334.5366 21827.192 -30412.447 302.80287 -814.37495 1.0065153 0.4675 -0.396253 0.1981265 + 1070000 -5556.1691 1278.0638 -6834.2329 1448.2492 21710.563 -30409.035 306.47886 526.92483 1.0118442 0.465 -0.394134 0.197067 + 1075000 -5553.9187 1230.9623 -6784.881 1372.5373 21816.292 -30409.602 295.18396 -636.049 0.99842907 0.4625 -0.392015 0.1960075 + 1080000 -5486.3143 1233.146 -6719.4602 1265.7838 21983.124 -30408.372 295.70759 -1226.6108 1.0051532 0.46 -0.389896 0.194948 + 1085000 -5593.4276 1252.6224 -6846.0499 1398.5687 21750.307 -30408.85 300.37801 -199.06834 1.0113585 0.4575 -0.387777 0.1938885 + 1090000 -5615.0746 1189.5983 -6804.6728 1411.201 21758.699 -30408.722 285.26488 205.20475 1.0115124 0.455 -0.385658 0.192829 + 1095000 -5491.0496 1265.9512 -6757.0008 1285.0166 21903.564 -30410.304 303.57426 -1204.071 1.0039435 0.4525 -0.383539 0.1917695 + 1100000 -5602.5736 1259.8652 -6862.4388 1429.2182 21709.793 -30410.235 302.11484 -5.292079 1.0081307 0.45 -0.38142 0.19071 + 1105000 -5491.1776 1274.3708 -6765.5484 1363.4219 21817.395 -30405.818 305.59328 -273.46222 1.0048241 0.4475 -0.379301 0.1896505 + 1110000 -5591.6046 1226.4913 -6818.096 1386.3645 21774.994 -30407.268 294.11181 -54.656076 1.0128633 0.445 -0.377182 0.188591 + 1115000 -5471.7003 1250.9094 -6722.6097 1461.8829 21768.591 -30406.09 299.96726 1171.0124 1.0122551 0.4425 -0.375063 0.1875315 + 1120000 -5629.5757 1215.4906 -6845.0663 1433.0141 21685.611 -30403.695 291.47385 159.7385 1.011959 0.44 -0.372944 0.186472 + 1125000 -5609.7131 1243.3529 -6853.066 1394.1435 21715.512 -30408.244 298.15521 -613.37653 1.001762 0.4375 -0.370825 0.1854125 + 1130000 -5517.8437 1236.2289 -6754.0726 1381.5497 21865.453 -30407.635 296.44686 -50.670512 0.99784522 0.435 -0.368706 0.184353 + 1135000 -5484.0424 1262.4577 -6746.5001 1373.1642 21882.225 -30407.476 302.73652 -109.81081 0.99319158 0.4325 -0.366587 0.1832935 + 1140000 -5464.3225 1242.5082 -6706.8308 1353.1364 21902.474 -30406.855 297.95266 -193.64239 0.99369216 0.43 -0.364468 0.182234 + 1145000 -5616.5098 1231.4613 -6847.9711 1442.3498 21665.897 -30406.708 295.3036 197.4384 1.0013434 0.4275 -0.362349 0.1811745 + 1150000 -5570.9461 1220.6192 -6791.5654 1362.4483 21843.16 -30406.108 292.70369 -472.38468 0.99919513 0.425 -0.36023 0.180115 + 1155000 -5581.5228 1250.4929 -6832.0157 1399.2703 21713.872 -30407.442 299.86736 68.67313 1.0186094 0.4225 -0.358111 0.1790555 + 1160000 -5442.4593 1284.4383 -6726.8977 1424.4524 21823.753 -30403.289 308.00746 659.43865 1.0016333 0.42 -0.355992 0.177996 + 1165000 -5488.402 1266.3593 -6754.7613 1394.1319 21804.35 -30407.391 303.67212 327.86135 1.0142865 0.4175 -0.353873 0.1769365 + 1170000 -5476.149 1306.9735 -6783.1225 1429.0063 21755.183 -30406.784 313.41139 152.9988 0.9921559 0.415 -0.351754 0.175877 + 1175000 -5552.7195 1245.1137 -6797.8332 1460.5394 21718.862 -30405.892 298.57744 929.85903 1.0138017 0.4125 -0.349635 0.1748175 + 1180000 -5424.9372 1280.7552 -6705.6924 1363.0602 21952.781 -30406.655 307.12424 -15.436219 0.99469946 0.41 -0.347516 0.173758 + 1185000 -5547.6406 1244.8045 -6792.4451 1449.3378 21752.476 -30407.929 298.50331 1010.2202 1.029804 0.4075 -0.345397 0.1726985 + 1190000 -5518.33 1248.4316 -6766.7617 1416.6506 21831.584 -30406.854 299.37308 867.46971 1.0239472 0.405 -0.343278 0.171639 + 1195000 -5532.9651 1256.1747 -6789.1397 1330.4657 21843.722 -30406.423 301.22986 -733.82991 1.0016488 0.4025 -0.341159 0.1705795 + 1200000 -5553.066 1253.4742 -6806.5402 1351.6299 21838.577 -30408.246 300.58228 -305.68337 1.0122479 0.4 -0.33904 0.16952 + 1205000 -5519.1215 1249.3055 -6768.427 1350.1732 21804.158 -30403.344 299.58262 -543.0903 1.0018512 0.3975 -0.336921 0.1684605 + 1210000 -5527.9464 1276.42 -6804.3664 1482.4983 21659.348 -30403.541 306.08468 1352.4972 1.0313989 0.395 -0.334802 0.167401 + 1215000 -5528.3907 1207.7953 -6736.186 1320.6852 21903.038 -30405.73 289.62852 -718.49775 1.0053276 0.3925 -0.332683 0.1663415 + 1220000 -5530.8707 1284.7098 -6815.5805 1462.3884 21708.002 -30402.904 308.07255 591.73345 0.99594569 0.39 -0.330564 0.165282 + 1225000 -5510.4733 1242.8785 -6753.3518 1390.7837 21808.754 -30406.464 298.04145 414.48752 1.0266558 0.3875 -0.328445 0.1642225 + 1230000 -5511.1086 1256.014 -6767.1226 1411.3996 21786.166 -30400.32 301.19132 344.60627 1.0144412 0.385 -0.326326 0.163163 + 1235000 -5507.557 1263.7979 -6771.3549 1357.0612 21836.66 -30406.305 303.0579 -421.57464 0.99679054 0.3825 -0.324207 0.1621035 + 1240000 -5521.86 1251.2777 -6773.1376 1403.9886 21790.309 -30403.676 300.05556 223.64336 1.0138134 0.38 -0.322088 0.161044 + 1245000 -5495.1421 1282.2985 -6777.4406 1362.4685 21809.744 -30405.553 307.49434 -477.26223 1.0074571 0.3775 -0.319969 0.1599845 + 1250000 -5480.1139 1278.931 -6759.0449 1392.3278 21789.973 -30403.202 306.6868 -70.223368 0.99977242 0.375 -0.31785 0.158925 + 1255000 -5553.184 1252.6275 -6805.8115 1449.6591 21661.26 -30405.845 300.37925 667.59038 1.0204683 0.3725 -0.315731 0.1578655 + 1260000 -5500.3621 1303.3621 -6803.7242 1399.3677 21781.51 -30403.908 312.54537 -21.919882 1.0040001 0.37 -0.313612 0.156806 + 1265000 -5599.0593 1216.8118 -6815.8711 1448.5308 21734.171 -30405.807 291.79067 680.36892 1.0183911 0.3675 -0.311493 0.1557465 + 1270000 -5499.7199 1247.7042 -6747.4241 1385.0266 21829.215 -30405.427 299.19864 84.592133 0.99816992 0.365 -0.309374 0.154687 + 1275000 -5511.3148 1301.3431 -6812.658 1422.1524 21739.965 -30404.128 312.06122 680.64066 1.0347666 0.3625 -0.307255 0.1536275 + 1280000 -5548.0186 1270.302 -6818.3206 1334.2111 21757.058 -30406.305 304.61757 -967.15786 1.0109717 0.36 -0.305136 0.152568 + 1285000 -5555.0413 1280.8151 -6835.8564 1427.9067 21720.39 -30405.954 307.13862 368.48785 1.0080506 0.3575 -0.303017 0.1515085 + 1290000 -5496.7229 1283.2563 -6779.9793 1378.4038 21781.744 -30404.002 307.72402 8.3452567 1.0137024 0.355 -0.300898 0.150449 + 1295000 -5580.7272 1229.8436 -6810.5707 1366.8265 21783.805 -30404.506 294.91567 -460.30554 1.0085502 0.3525 -0.298779 0.1493895 + 1300000 -5538.7578 1235.394 -6774.1518 1436.4021 21779.128 -30402.492 296.24666 453.61372 0.99617343 0.35 -0.29666 0.14833 + 1305000 -5544.2 1218.136 -6762.336 1357.1673 21850.132 -30403.082 292.1082 -352.96744 1.0108396 0.3475 -0.294541 0.1472705 + 1310000 -5584.6337 1229.473 -6814.1067 1411.4248 21762.836 -30403.104 294.82682 394.62761 1.0211949 0.345 -0.292422 0.146211 + 1315000 -5436.0536 1293.1695 -6729.2231 1355.9564 21913.068 -30402.017 310.10119 -128.48391 1.0085461 0.3425 -0.290303 0.1451515 + 1320000 -5543.0105 1272.0501 -6815.0606 1405.9462 21736.124 -30402.088 305.03677 72.234346 1.0091715 0.34 -0.288184 0.144092 + 1325000 -5548.6163 1239.4869 -6788.1033 1407.6008 21777.171 -30402.102 297.22815 533.16549 1.0233863 0.3375 -0.286065 0.1430325 + 1330000 -5540.8843 1226.3995 -6767.2837 1501.7755 21677.206 -30403.423 294.08978 1240.633 1.0060816 0.335 -0.283946 0.141973 + 1335000 -5586.7627 1257.0633 -6843.826 1395.9593 21687.752 -30403.613 301.44296 -485.85005 1.0034879 0.3325 -0.281827 0.1409135 + 1340000 -5528.6391 1260.2811 -6788.9202 1285.0887 21886.122 -30404.215 302.21458 -1345.2852 1.0004527 0.33 -0.279708 0.139854 + 1345000 -5513.3113 1236.009 -6749.3203 1349.1797 21868.635 -30400.498 296.39414 -474.80145 1.0002406 0.3275 -0.277589 0.1387945 + 1350000 -5522.3768 1267.4323 -6789.8091 1507.5674 21607.325 -30402.928 303.92942 1773.9579 1.0298502 0.325 -0.27547 0.137735 + 1355000 -5551.6776 1188.9567 -6740.6343 1332.4533 21893.924 -30401.702 285.11104 -674.97023 1.0053334 0.3225 -0.273351 0.1366755 + 1360000 -5475.681 1262.222 -6737.903 1329.4781 21926.38 -30406.129 302.68 -200.38302 1.0156755 0.32 -0.271232 0.135616 + 1365000 -5509.3918 1284.2745 -6793.6663 1385.7835 21764.181 -30402.189 307.96817 -260.62121 0.99970234 0.3175 -0.269113 0.1345565 + 1370000 -5510.4413 1244.2221 -6754.6635 1394.1078 21834.473 -30402.98 298.36364 171.69348 1.0078346 0.315 -0.266994 0.133497 + 1375000 -5637.3565 1194.2641 -6831.6206 1352.6619 21790.919 -30403.683 286.38374 -926.31336 1.0014052 0.3125 -0.264875 0.1324375 + 1380000 -5535.2371 1268.7083 -6803.9454 1411.2035 21761.999 -30402.306 304.23541 1.7494611 1.0007021 0.31 -0.262756 0.131378 + 1385000 -5590.6929 1237.1763 -6827.8693 1425.1411 21700.436 -30401.792 296.67407 267.70563 1.0140025 0.3075 -0.260637 0.1303185 + 1390000 -5484.4968 1255.3342 -6739.831 1363.3349 21849.487 -30403.403 301.02831 -334.81743 0.9988136 0.305 -0.258518 0.129259 + 1395000 -5580.766 1216.9164 -6797.6824 1332.1573 21830.007 -30405.348 291.81574 -1230.1209 0.99078414 0.3025 -0.256399 0.1281995 + 1400000 -5542.6463 1270.5354 -6813.1816 1427.1867 21714.231 -30404.136 304.67354 455.15208 1.0157715 0.3 -0.25428 0.12714 + 1405000 -5466.7582 1275.6022 -6742.3604 1355.5736 21897.295 -30400.283 305.88856 -66.657731 1.0151471 0.2975 -0.252161 0.1260805 + 1410000 -5564.8474 1224.3922 -6789.2397 1330.6453 21814.374 -30400.427 293.60845 -774.92937 1.0136303 0.295 -0.250042 0.125021 + 1415000 -5430.2211 1308.0051 -6738.2263 1314.9611 21946.942 -30400.606 313.65877 -717.19161 1.0001463 0.2925 -0.247923 0.1239615 + 1420000 -5598.4838 1257.5011 -6855.9849 1415.0883 21711.443 -30404.958 301.54793 377.08012 1.0352276 0.29 -0.245804 0.122902 + 1425000 -5541.8937 1257.9576 -6799.8513 1400.0802 21773.418 -30403.035 301.6574 281.98161 1.0172007 0.2875 -0.243685 0.1218425 + 1430000 -5556.4346 1254.0053 -6810.4399 1407.8386 21766.868 -30402.715 300.70965 154.64262 1.0114215 0.285 -0.241566 0.120783 + 1435000 -5469.2552 1246.825 -6716.0802 1352.0012 21905.117 -30401.05 298.9878 -178.38426 1.0112743 0.2825 -0.239447 0.1197235 + 1440000 -5458.421 1254.9924 -6713.4134 1378.9303 21832.431 -30400.283 300.94636 -28.519956 0.99961051 0.28 -0.237328 0.118664 + 1445000 -5516.4714 1239.9243 -6756.3957 1405.0322 21790.978 -30400.325 297.33304 429.22692 1.0197884 0.2775 -0.235209 0.1176045 + 1450000 -5552.4255 1249.1142 -6801.5397 1361.7819 21785.875 -30399.912 299.53676 -769.48208 0.99105462 0.275 -0.23309 0.116545 + 1455000 -5517.8609 1220.2712 -6738.1321 1363.8136 21853.35 -30402.958 292.62024 -230.03249 1.0050729 0.2725 -0.230971 0.1154855 + 1460000 -5529.0421 1199.5637 -6728.6058 1281.1525 21947.817 -30402.254 287.65458 -1101.4619 1.0011538 0.27 -0.228852 0.114426 + 1465000 -5504.8124 1269.3051 -6774.1175 1397.0924 21778.739 -30400.882 304.37853 276.58705 1.0179163 0.2675 -0.226733 0.1133665 + 1470000 -5598.0732 1218.3941 -6816.4674 1418.8017 21718.631 -30401.044 292.17011 46.361297 1.0063797 0.265 -0.224614 0.112307 + 1475000 -5548.615 1254.4586 -6803.0737 1382.5152 21759.225 -30400 300.81835 -127.39812 1.0138223 0.2625 -0.222495 0.1112475 + 1480000 -5533.8343 1238.3003 -6772.1346 1436.9725 21759.67 -30400.105 296.94359 764.27767 1.0125907 0.26 -0.220376 0.110188 + 1485000 -5511.3105 1267.9695 -6779.28 1392.4351 21768.579 -30400.786 304.05824 -33.083281 1.008625 0.2575 -0.218257 0.1091285 + 1490000 -5492.7081 1249.7278 -6742.4359 1386.2265 21831.194 -30404.729 299.68391 167.62116 1.0065458 0.255 -0.216138 0.108069 + 1495000 -5565.5529 1257.6075 -6823.1605 1407.2006 21760.612 -30400.372 301.57346 -193.96975 0.99445457 0.2525 -0.214019 0.1070095 + 1500000 -5553.7271 1254.476 -6808.203 1411.4789 21739.068 -30400.776 300.82251 284.45877 1.0111814 0.25 -0.2119 0.10595 + 1505000 -5528.2919 1246.7404 -6775.0322 1494.6724 21668.724 -30400.534 298.96752 1503.5259 1.0199262 0.2475 -0.209781 0.1048905 + 1510000 -5529.2222 1256.6597 -6785.8818 1372.3032 21783.884 -30400.704 301.34616 -356.21245 1.0030809 0.245 -0.207662 0.103831 + 1515000 -5474.306 1292.5933 -6766.8993 1423.7446 21792.826 -30400.201 309.96302 458.75001 0.99603453 0.2425 -0.205543 0.1027715 + 1520000 -5533.15 1215.0608 -6748.2108 1345.4887 21859.918 -30402.082 291.37078 -574.91731 1.0075838 0.24 -0.203424 0.101712 + 1525000 -5534.3424 1275.3714 -6809.7138 1424.5986 21730.717 -30399.28 305.83323 403.09345 1.0170271 0.2375 -0.201305 0.1006525 + 1530000 -5594.0315 1228.3372 -6822.3687 1400.2671 21729.871 -30399.71 294.55445 -117.3201 1.0085693 0.235 -0.199186 0.099593 + 1535000 -5478.4978 1224.412 -6702.9097 1367.3472 21857.313 -30397.796 293.61318 -207.09591 1.0035875 0.2325 -0.197067 0.0985335 + 1540000 -5412.0571 1263.2997 -6675.3568 1365.2658 21913.322 -30400.612 302.93843 217.05159 1.0080531 0.23 -0.194948 0.097474 + 1545000 -5467.8087 1273.7408 -6741.5495 1392.9907 21826.459 -30393.776 305.44219 216.50192 1.0091255 0.2275 -0.192829 0.0964145 + 1550000 -5566.797 1224.1437 -6790.9407 1482.8048 21668.571 -30397.373 293.54885 729.69096 1.0040464 0.225 -0.19071 0.095355 + 1555000 -5497.5888 1259.6664 -6757.2552 1337.6561 21869.942 -30398.222 302.06718 -474.89321 1.0102649 0.2225 -0.188591 0.0942955 + 1560000 -5571.1541 1227.5401 -6798.6942 1443.2923 21702.982 -30401.053 294.36331 600.44478 1.0119193 0.22 -0.186472 0.093236 + 1565000 -5532.4484 1257.767 -6790.2154 1497.098 21657.763 -30398.914 301.61169 1582.7596 1.0279581 0.2175 -0.184353 0.0921765 + 1570000 -5491.3602 1250.8628 -6742.2231 1381.5334 21840.747 -30399 299.95608 319.87288 1.0172885 0.215 -0.182234 0.091117 + 1575000 -5448.4462 1268.2421 -6716.6883 1377.0235 21863.493 -30397.202 304.12362 -262.01917 0.98610142 0.2125 -0.180115 0.0900575 + 1580000 -5580.594 1226.2656 -6806.8595 1422.4858 21713.685 -30396.22 294.05768 357.25756 1.0113499 0.21 -0.177996 0.088998 + 1585000 -5541.0825 1278.2507 -6819.3331 1366.9139 21790.142 -30396.888 306.52367 -743.11524 0.98669546 0.2075 -0.175877 0.0879385 + 1590000 -5531.6035 1232.4292 -6764.0326 1395.465 21795.559 -30398.665 295.5357 42.444177 1.0126547 0.205 -0.173758 0.086879 + 1595000 -5461.4159 1287.0769 -6748.4928 1385.5573 21847.874 -30400.803 308.64018 618.18057 1.023846 0.2025 -0.171639 0.0858195 + 1600000 -5579.7572 1252.3883 -6832.1456 1403.3853 21764.717 -30403.163 300.3219 2.4209385 1.0090886 0.2 -0.16952 0.08476 + 1605000 -5491.6523 1248.6296 -6740.282 1420.4767 21788.29 -30399.543 299.42056 239.38793 0.99225234 0.1975 -0.167401 0.0837005 + 1610000 -5568.2821 1246.7876 -6815.0697 1370.1076 21752.385 -30399.233 298.97885 -468.73385 1.0081855 0.195 -0.165282 0.082641 + 1615000 -5530.1214 1224.1728 -6754.2942 1323.3884 21897.077 -30396.775 293.55582 -898.2112 0.99067847 0.1925 -0.163163 0.0815815 + 1620000 -5462.953 1253.936 -6716.889 1363.9087 21844.806 -30397.011 300.69303 49.460617 1.0189897 0.19 -0.161044 0.080522 + 1625000 -5568.5656 1231.6103 -6800.1759 1439.4406 21713.002 -30399.751 295.33933 590.45469 1.0150474 0.1875 -0.158925 0.0794625 + 1630000 -5513.0103 1230.3044 -6743.3148 1335.981 21895.338 -30397.086 295.02619 -710.37919 0.99994929 0.185 -0.156806 0.078403 + 1635000 -5580.5477 1231.076 -6811.6238 1376.4886 21798.044 -30400.814 295.21122 -206.8981 1.0081086 0.1825 -0.154687 0.0773435 + 1640000 -5540.3331 1256.5851 -6796.9181 1426.8142 21744.777 -30399.595 301.32827 745.57089 1.025877 0.18 -0.152568 0.076284 + 1645000 -5501.1298 1220.0238 -6721.1536 1389.073 21803.781 -30396.275 292.56091 131.20821 1.0089626 0.1775 -0.150449 0.0752245 + 1650000 -5628.1664 1220.696 -6848.8624 1362.9547 21731.445 -30400.636 292.7221 -616.61903 1.0201592 0.175 -0.14833 0.074165 + 1655000 -5592.5867 1211.2372 -6803.8239 1395.9179 21759.947 -30397.15 290.45388 18.913469 1.0103871 0.1725 -0.146211 0.0731055 + 1660000 -5428.2327 1278.6419 -6706.8747 1330.8879 21912.263 -30395.724 306.61749 -481.32774 0.99495838 0.17 -0.144092 0.072046 + 1665000 -5594.5998 1205.962 -6800.5618 1375.2659 21806.513 -30400.577 289.18889 -235.35107 1.0075357 0.1675 -0.141973 0.0709865 + 1670000 -5524.7971 1260.2713 -6785.0684 1344.6328 21851.941 -30396.671 302.21221 -544.14669 1.0114915 0.165 -0.139854 0.069927 + 1675000 -5468.1251 1274.7582 -6742.8834 1380.0088 21825.405 -30396.487 305.68618 38.686488 1.0120959 0.1625 -0.137735 0.0688675 + 1680000 -5473.7314 1242.9607 -6716.6921 1415.1549 21844.285 -30395.776 298.06116 641.25473 1.0114522 0.16 -0.135616 0.067808 + 1685000 -5636.5209 1211.507 -6848.0278 1459.7789 21659.328 -30400.565 290.51857 617.46049 1.0173888 0.1575 -0.133497 0.0667485 + 1690000 -5519.679 1240.1554 -6759.8344 1372.6554 21847.523 -30401.094 297.38845 -401.52343 0.99153655 0.155 -0.131378 0.065689 + 1695000 -5560.9528 1229.8902 -6790.843 1408.2004 21760.223 -30400.762 294.92687 100.67238 1.0033753 0.1525 -0.129259 0.0646295 + 1700000 -5554.1929 1255.6687 -6809.8616 1428.6747 21710.122 -30400.905 301.10854 159.06223 0.99158358 0.15 -0.12714 0.06357 + 1705000 -5542.8539 1230.6745 -6773.5285 1366.5362 21810.674 -30399.629 295.11494 -316.17067 0.99672752 0.1475 -0.125021 0.0625105 + 1710000 -5592.0441 1235.1898 -6827.2339 1407.2236 21724.16 -30397.816 296.19769 -171.98585 1.0010712 0.145 -0.122902 0.061451 + 1715000 -5456.289 1285.0566 -6741.3456 1366.6379 21844.445 -30394.859 308.15573 -103.28366 1.0059297 0.1425 -0.120783 0.0603915 + 1720000 -5492.3095 1254.7872 -6747.0967 1374.291 21873.54 -30397.737 300.89714 -10.335506 1.0122212 0.14 -0.118664 0.059332 + 1725000 -5518.9901 1240.2306 -6759.2207 1293.1765 21919.538 -30398.262 297.40649 -1112.3904 1.0060258 0.1375 -0.116545 0.0582725 + 1730000 -5461.6627 1250.9471 -6712.6098 1312.9461 21924.032 -30396.911 299.97629 -905.20686 0.99780548 0.135 -0.114426 0.057213 + 1735000 -5520.9229 1260.6697 -6781.5926 1351.3162 21851.369 -30398.186 302.30776 -380.34032 1.00967 0.1325 -0.112307 0.0561535 + 1740000 -5587.9319 1198.4018 -6786.3336 1377.0754 21811.513 -30398.588 287.37595 21.848644 1.019459 0.13 -0.110188 0.055094 + 1745000 -5548.2449 1238.1127 -6786.3576 1403.8402 21747.153 -30395.629 296.8986 135.03046 1.01201 0.1275 -0.108069 0.0540345 + 1750000 -5526.8784 1242.7978 -6769.6761 1309.8228 21913.235 -30398.337 298.02209 -850.35833 1.0059241 0.125 -0.10595 0.052975 + 1755000 -5508.0743 1308.7599 -6816.8341 1353.359 21760.125 -30400.191 313.83975 -749.9998 0.99685375 0.1225 -0.103831 0.0519155 + 1760000 -5542.8446 1265.3408 -6808.1854 1391.2186 21776.776 -30396.482 303.42789 117.90427 1.0236881 0.12 -0.101712 0.050856 + 1765000 -5526.6876 1268.5243 -6795.2119 1302.7664 21799.054 -30396.406 304.1913 -1161.5113 1.0216099 0.1175 -0.099593 0.0497965 + 1770000 -5579.5803 1246.8977 -6826.478 1486.5854 21651.454 -30399.954 299.00526 880.22447 1.0109541 0.115 -0.097474 0.048737 + 1775000 -5551.5053 1292.1271 -6843.6324 1405.0247 21688.07 -30398.863 309.85123 -251.03455 0.99873347 0.1125 -0.095355 0.0476775 + 1780000 -5515.8126 1282.9801 -6798.7927 1395.0164 21747.704 -30395.937 307.65779 333.80114 1.0239628 0.11 -0.093236 0.046618 + 1785000 -5510.7284 1208.8107 -6719.5391 1346.5399 21876.38 -30394.751 289.87201 -249.43776 1.0110945 0.1075 -0.091117 0.0455585 + 1790000 -5518.3081 1260.6355 -6778.9436 1399.7684 21796.94 -30397.3 302.29957 82.30008 1.0094344 0.105 -0.088998 0.044499 + 1795000 -5513.5389 1303.7533 -6817.2921 1421.97 21751.65 -30398.865 312.63917 500.03335 1.0096349 0.1025 -0.086879 0.0434395 + 1800000 -5572.7653 1214.8677 -6787.6331 1383.7533 21813.337 -30398.789 291.32448 -172.24736 1.0106323 0.1 -0.08476 0.04238 + 1805000 -5533.6069 1246.7853 -6780.3922 1412.9435 21800.334 -30394.707 298.97828 594.59696 1.0209456 0.0975 -0.082641 0.0413205 + 1810000 -5567.1324 1275.7954 -6842.9277 1442.9318 21676.766 -30398.215 305.93489 453.89649 1.0132054 0.095 -0.080522 0.040261 + 1815000 -5465.3294 1255.0662 -6720.3956 1341.0775 21912.58 -30394.54 300.96405 -302.59143 1.0016089 0.0925 -0.078403 0.0392015 + 1820000 -5588.4657 1233.5824 -6822.0481 1393.0967 21740.859 -30396.671 295.81224 -147.72631 1.0070758 0.09 -0.076284 0.038142 + 1825000 -5599.7235 1244.5645 -6844.288 1527.9294 21571.627 -30396.257 298.44576 1698.1117 1.0275341 0.0875 -0.074165 0.0370825 + 1830000 -5472.5833 1264.0019 -6736.5852 1327.0089 21908.977 -30394.568 303.10682 -394.05428 1.0135733 0.085 -0.072046 0.036023 + 1835000 -5559.5998 1243.4443 -6803.0442 1292.0778 21846.42 -30398.288 298.17713 -1254.4294 1.0141937 0.0825 -0.069927 0.0349635 + 1840000 -5498.5276 1283.2205 -6781.7481 1416.3308 21752.285 -30399.697 307.71542 317.53074 1.003693 0.08 -0.067808 0.033904 + 1845000 -5551.7395 1252.4882 -6804.2277 1374.7399 21772.215 -30396.489 300.34585 -263.50361 1.0114613 0.0775 -0.065689 0.0328445 + 1850000 -5525.5278 1240.7565 -6766.2843 1361.6208 21839.689 -30397.722 297.53259 -186.31575 1.0187838 0.075 -0.06357 0.031785 + 1855000 -5521.2867 1243.7856 -6765.0724 1347.4178 21874.625 -30396.108 298.25898 -284.75269 1.0228705 0.0725 -0.061451 0.0307255 + 1860000 -5640.4121 1146.9485 -6787.3606 1396.2408 21749.618 -30394.203 275.03749 -187.09544 1.006743 0.07 -0.059332 0.029666 + 1865000 -5525.2602 1260.9215 -6786.1817 1402.4348 21758.857 -30397.319 302.36813 -161.29785 0.99503244 0.0675 -0.057213 0.0286065 + 1870000 -5623.139 1216.967 -6840.1059 1413.5807 21703.495 -30397.576 291.82788 76.112007 1.0246491 0.065 -0.055094 0.027547 + 1875000 -5450.2615 1268.385 -6718.6465 1405.9759 21866.321 -30398.11 304.15789 307.93878 0.99773745 0.0625 -0.052975 0.0264875 + 1880000 -5539.8922 1245.1416 -6785.0337 1409.1823 21774.294 -30395.574 298.58413 82.127006 1.0058947 0.06 -0.050856 0.025428 + 1885000 -5514.3045 1240.5608 -6754.8653 1443.7995 21752.107 -30397.218 297.48566 611.17045 1.0085937 0.0575 -0.048737 0.0243685 + 1890000 -5438.3073 1258.3645 -6696.6718 1361.8049 21892.331 -30397.348 301.75497 -267.35927 0.9953092 0.055 -0.046618 0.023309 + 1895000 -5596.2731 1226.9718 -6823.2449 1402.9241 21732.185 -30395.165 294.22702 44.339776 1.0153331 0.0525 -0.044499 0.0222495 + 1900000 -5497.1413 1266.3676 -6763.5089 1373.9826 21832.991 -30399.356 303.67411 -27.290874 1.0132323 0.05 -0.04238 0.02119 + 1905000 -5517.4875 1236.6892 -6754.1767 1367.726 21857.698 -30393.874 296.55726 -499.76394 0.99284077 0.0475 -0.040261 0.0201305 + 1910000 -5552.0873 1269.7208 -6821.8081 1378.8021 21718.781 -30396.478 304.4782 -369.12045 1.0171861 0.045 -0.038142 0.019071 + 1915000 -5499.6451 1278.5051 -6778.1502 1430.6032 21725.761 -30396.795 306.58468 577.53122 1.01326 0.0425 -0.036023 0.0180115 + 1920000 -5487.2658 1251.9078 -6739.1736 1381.7635 21779.483 -30396.642 300.20666 -47.157489 1.0090288 0.04 -0.033904 0.016952 + 1925000 -5538.2174 1250.4348 -6788.6522 1378.1601 21776.002 -30397.01 299.85343 -635.20274 0.98963246 0.0375 -0.031785 0.0158925 + 1930000 -5539.4427 1260.8629 -6800.3057 1358.8021 21770.968 -30400.271 302.3541 -702.50699 0.99578271 0.035 -0.029666 0.014833 + 1935000 -5559.5408 1246.2889 -6805.8297 1426.6663 21737.226 -30396.429 298.85926 214.01347 1.0055051 0.0325 -0.027547 0.0137735 + 1940000 -5527.5821 1225.3364 -6752.9184 1378.8724 21850.255 -30395.169 293.83485 14.506752 1.0028753 0.03 -0.025428 0.012714 + 1945000 -5473.5551 1280.9318 -6754.4869 1425.106 21803.831 -30396.584 307.16659 506.19708 1.0032233 0.0275 -0.023309 0.0116545 + 1950000 -5567.2517 1222.2431 -6789.4948 1305.8232 21889.919 -30396.867 293.09308 -1294.1142 0.99788741 0.025 -0.02119 0.010595 + 1955000 -5484.5853 1260.6694 -6745.2547 1384.597 21831.404 -30392.929 302.30769 156.43697 1.0117059 0.0225 -0.019071 0.0095355 + 1960000 -5620.4544 1193.7438 -6814.1983 1383.8209 21783.257 -30401.598 286.25899 -66.845911 1.0220849 0.02 -0.016952 0.008476 + 1965000 -5545.5269 1233.4885 -6779.0154 1344.2005 21855.912 -30398.255 295.78973 -628.47314 1.0059777 0.0175 -0.014833 0.0074165 + 1970000 -5513.9042 1266.1527 -6780.057 1392.318 21762.753 -30395.542 303.62259 75.831811 1.0061881 0.015 -0.012714 0.006357 + 1975000 -5544.7648 1274.4083 -6819.1731 1391.4464 21746.624 -30396.103 305.60227 -75.461691 1.0034389 0.0125 -0.010595 0.0052975 + 1980000 -5538.5817 1248.0952 -6786.6769 1364.256 21830.009 -30395.903 299.2924 -83.978588 1.0205031 0.01 -0.008476 0.004238 + 1985000 -5595.8323 1230.885 -6826.7174 1357.6211 21780.506 -30393.427 295.16542 -709.11924 1.0035546 0.0075 -0.006357 0.0031785 + 1990000 -5482.4794 1286.6658 -6769.1452 1336.3899 21858.921 -30393.729 308.54161 -827.89365 1.0005728 0.005 -0.004238 0.002119 + 1995000 -5501.4886 1239.738 -6741.2266 1409.7478 21799.031 -30400.217 297.28836 653.89683 1.0202266 0.0025 -0.002119 0.0010595 + 2000000 -5611.4713 1229.0661 -6840.5373 1478.3644 21615.338 -30394.928 294.72923 480.97836 1.00402 0 -0 0 +Loop time of 13776.2 on 12 procs for 2000000 steps with 1800 atoms + +Performance: 12.543 ns/day, 1.913 hours/ns, 145.178 timesteps/s +95.3% CPU use with 12 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7579.8 | 8070.7 | 8564.2 | 287.6 | 58.58 +Bond | 24.942 | 25.514 | 26.056 | 6.9 | 0.19 +Kspace | 2484.3 | 2979.3 | 3459.7 | 467.2 | 21.63 +Neigh | 523.25 | 524.15 | 525.06 | 2.5 | 3.80 +Comm | 806.39 | 872.63 | 948.24 | 194.3 | 6.33 +Output | 0.033634 | 0.034536 | 0.042227 | 1.2 | 0.00 +Modify | 864.36 | 1044.2 | 1191.5 | 438.5 | 7.58 +Other | | 259.6 | | | 1.88 + +Nlocal: 150.000 ave 158 max 141 min +Histogram: 1 0 0 2 2 3 2 1 0 1 +Nghost: 6106.00 ave 6170 max 6046 min +Histogram: 2 1 1 1 0 1 2 2 1 1 +Neighs: 86710.6 ave 92374 max 78975 min +Histogram: 1 0 0 3 0 3 1 0 2 2 + +Total # of neighbors = 1040527 +Ave neighs/atom = 578.07056 +Ave special neighs/atom = 2.0000000 +Neighbor list builds = 89189 +Dangerous builds = 0 +Total wall time: 4:00:09 diff --git a/examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp b/examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp new file mode 100644 index 0000000000..56d2994ec2 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/in-fep10-lj.lmp @@ -0,0 +1,72 @@ +# created by fftool + +units real +boundary p p p + +atom_style full +bond_style harmonic +angle_style harmonic + +special_bonds lj/coul 0.0 0.0 0.5 + +# remove hybrid if not necessary +pair_style hybrid lj/cut/coul/long 12.0 12.0 lj/cut/soft 2 0.5 12.0 +pair_modify tail no +kspace_style pppm 1.0e-5 + +read_data data.lmp + +pair_coeff 1 1 lj/cut/soft 0.000000 1.000000 1.0 # Hwh Hwh +pair_coeff 1 2 lj/cut/soft 0.000000 1.000000 1.0 # Hwh Owh +pair_coeff 1 3 lj/cut/soft 0.000000 1.000000 1.0 # Hwh Hw +pair_coeff 1 4 lj/cut/soft 0.000000 1.000000 1.0 # Hwh Ow +pair_coeff 2 2 lj/cut/soft 0.155425 3.165500 1.0 # Owh Owh +pair_coeff 2 3 lj/cut/soft 0.000000 1.000000 1.0 # Owh Hw +pair_coeff 2 4 lj/cut/soft 0.155425 3.165500 1.0 # Owh Ow +pair_coeff 3 3 lj/cut/coul/long 0.000000 0.000000 # Hw Hw +pair_coeff 3 4 lj/cut/coul/long 0.000000 0.000000 # Hw Ow +pair_coeff 4 4 lj/cut/coul/long 0.155425 3.165500 # Ow Ow + +# minimize 1.0e-4 1.0e-6 100 1000 +# reset_timestep 0 + +fix SHAKE all shake 0.0001 20 0 b 1 + +neighbor 2.0 bin +# neigh_modify delay 0 every 1 check yes + +timestep 1.0 + +variable TK equal 300.0 +variable PBAR equal 1.0 + +velocity all create ${TK} 12345 + +fix TPSTAT all npt temp ${TK} ${TK} 100 iso ${PBAR} ${PBAR} 1000 + +thermo_style custom step cpu etotal ke pe evdwl ecoul elong temp press vol density +thermo 5000 + +set type 1*2 charge 0.0 + +run 100000 + +reset_timestep 0 + +variable lambda equal ramp(1.0,0.0) + +fix ADAPT all adapt/fep 100000 & + pair lj/cut/soft lambda 1*2 3*4 v_lambda & + after yes + +thermo_style custom step etotal ke pe evdwl ecoul elong temp press density v_lambda + +variable dlambda equal -0.05 + +compute FEP all fep ${TK} & + pair lj/cut/soft lambda 1*2 3*4 v_dlambda & + volume yes + +fix FEP all ave/time 20 4000 100000 c_FEP[*] file fep10-lj.fep + +run 2000000 diff --git a/examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp b/examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp new file mode 100644 index 0000000000..d9183f7f15 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/fep10/in-fep10-q.lmp @@ -0,0 +1,76 @@ +# created by fftool + +units real +boundary p p p + +atom_style full +bond_style harmonic +angle_style harmonic + +special_bonds lj/coul 0.0 0.0 0.5 + +# remove hybrid if not necessary +pair_style lj/cut/coul/long 12.0 12.0 +pair_modify tail no +kspace_style pppm 1.0e-5 + +read_data data.lmp + +pair_coeff 1 1 0.000000 1.000000 # Hwh Hwh +pair_coeff 1 2 0.000000 1.000000 # Hwh Owh +pair_coeff 1 3 0.000000 1.000000 # Hwh Hw +pair_coeff 1 4 0.000000 1.000000 # Hwh Ow +pair_coeff 2 2 0.155425 3.165500 # Owh Owh +pair_coeff 2 3 0.000000 1.000000 # Owh Hw +pair_coeff 2 4 0.155425 3.165500 # Owh Ow +pair_coeff 3 3 0.000000 1.000000 # Hw Hw +pair_coeff 3 4 0.000000 1.000000 # Hw Ow +pair_coeff 4 4 0.155425 3.165500 # Ow Ow + +# minimize 1.0e-4 1.0e-6 100 1000 +# reset_timestep 0 + +fix SHAKE all shake 0.0001 20 0 b 1 + +neighbor 2.0 bin +# neigh_modify delay 0 every 1 check yes + +timestep 1.0 + +variable TK equal 300.0 +variable PBAR equal 1.0 + +velocity all create ${TK} 12345 + +fix TPSTAT all npt temp ${TK} ${TK} 100 iso ${PBAR} ${PBAR} 1000 + +thermo_style custom step cpu etotal ke pe evdwl ecoul elong temp press vol density +thermo 5000 + +run 100000 + +reset_timestep 0 + +variable lambda equal ramp(1.0,0.0) +variable qH equal 0.4238*v_lambda +variable qO equal -0.8476*v_lambda + +fix ADAPT all adapt/fep 100000 & + atom charge 1 v_qH & + atom charge 2 v_qO & + after yes + +thermo_style custom step etotal ke pe evdwl ecoul elong temp press density v_lambda v_qO v_qH + +variable dlambda equal -0.05 +variable dqH equal 0.4238*v_dlambda +variable dqO equal -0.8476*v_dlambda + +compute FEP all fep ${TK} & + atom charge 1 v_dqH & + atom charge 2 v_dqO & + volume yes + +fix FEP all ave/time 20 4000 100000 c_FEP[*] file fep10-q.fep + +run 2000000 diff --git a/examples/USER/fep/SPCEhyd/mols/data.lmp b/examples/USER/fep/SPCEhyd/mols/data.lmp new file mode 100644 index 0000000000..b6ead1d442 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/mols/data.lmp @@ -0,0 +1,3635 @@ +created by fftool + +1800 atoms +1200 bonds +600 angles +4 atom types +1 bond types +1 angle types +0.000000 29.204526 xlo xhi +0.000000 29.204526 ylo yhi +0.000000 29.204526 zlo zhi + +Masses + + 1 1.008 # Hwh + 2 15.999 # Owh + 3 1.008 # Hw + 4 15.999 # Ow + +Bond Coeffs + + 1 517.630258 1.000000 # Ow-Hw + +Angle Coeffs + + 1 37.950526 109.470000 # Hw-Ow-Hw + +Atoms + + 1 1 1 0.423800 1.469233e+00 2.148142e+00 1.702038e+00 # Hwh SPCE + 2 1 2 -0.847600 1.979799e+00 1.409877e+00 2.142818e+00 # Owh SPCE + 3 1 1 0.423800 2.730865e+00 1.797090e+00 2.677576e+00 # Hwh SPCE + 4 2 3 0.423800 1.499900e+00 3.238303e+00 2.442531e+01 # Hw SPCE + 5 2 4 -0.847600 2.395752e+00 3.669948e+00 2.431980e+01 # Ow SPCE + 6 2 3 0.423800 2.296129e+00 4.663242e+00 2.437847e+01 # Hw SPCE + 7 3 3 0.423800 1.403661e+01 4.588770e+00 2.450878e+01 # Hw SPCE + 8 3 4 -0.847600 1.379951e+01 5.545591e+00 2.467695e+01 # Ow SPCE + 9 3 3 0.423800 1.402354e+01 6.091366e+00 2.386952e+01 # Hw SPCE + 10 4 3 0.423800 2.336049e+01 1.499786e+00 3.153124e+00 # Hw SPCE + 11 4 4 -0.847600 2.409385e+01 2.065977e+00 3.529439e+00 # Ow SPCE + 12 4 3 0.423800 2.490226e+01 1.500034e+00 3.691241e+00 # Hw SPCE + 13 5 3 0.423800 1.644196e+01 1.748367e+00 2.705436e+01 # Hw SPCE + 14 5 4 -0.847600 1.736546e+01 1.496062e+00 2.734329e+01 # Ow SPCE + 15 5 3 0.423800 1.783282e+01 2.301936e+00 2.770680e+01 # Hw SPCE + 16 6 3 0.423800 2.088933e+01 1.895579e+01 2.275309e+01 # Hw SPCE + 17 6 4 -0.847600 2.057929e+01 1.824793e+01 2.211841e+01 # Ow SPCE + 18 6 3 0.423800 1.984085e+01 1.772204e+01 2.254049e+01 # Hw SPCE + 19 7 3 0.423800 1.766189e+01 8.017800e+00 2.498964e+01 # Hw SPCE + 20 7 4 -0.847600 1.725196e+01 8.916174e+00 2.483189e+01 # Ow SPCE + 21 7 3 0.423800 1.625542e+01 8.836819e+00 2.485666e+01 # Hw SPCE + 22 8 3 0.423800 2.770687e+01 2.171554e+01 1.528009e+01 # Hw SPCE + 23 8 4 -0.847600 2.716811e+01 2.251048e+01 1.555905e+01 # Ow SPCE + 24 8 3 0.423800 2.770528e+01 2.307342e+01 1.618718e+01 # Hw SPCE + 25 9 3 0.423800 1.495385e+00 2.572800e+01 2.467279e+01 # Hw SPCE + 26 9 4 -0.847600 1.580382e+00 2.672428e+01 2.468743e+01 # Ow SPCE + 27 9 3 0.423800 1.767742e+00 2.702913e+01 2.562122e+01 # Hw SPCE + 28 10 3 0.423800 8.923646e+00 2.303176e+01 7.542360e+00 # Hw SPCE + 29 10 4 -0.847600 8.109007e+00 2.312152e+01 6.969379e+00 # Ow SPCE + 30 10 3 0.423800 7.298201e+00 2.288018e+01 7.502626e+00 # Hw SPCE + 31 11 3 0.423800 1.123659e+01 2.107791e+01 4.662100e+00 # Hw SPCE + 32 11 4 -0.847600 1.223538e+01 2.105512e+01 4.618509e+00 # Ow SPCE + 33 11 3 0.423800 1.259832e+01 2.069338e+01 5.477241e+00 # Hw SPCE + 34 12 3 0.423800 1.225298e+01 2.161218e+01 1.146502e+01 # Hw SPCE + 35 12 4 -0.847600 1.278626e+01 2.077538e+01 1.134100e+01 # Ow SPCE + 36 12 3 0.423800 1.216660e+01 1.999649e+01 1.124435e+01 # Hw SPCE + 37 13 3 0.423800 2.178085e+01 2.141393e+01 1.947311e+01 # Hw SPCE + 38 13 4 -0.847600 2.200950e+01 2.051108e+01 1.910897e+01 # Ow SPCE + 39 13 3 0.423800 2.190716e+01 1.982534e+01 1.982958e+01 # Hw SPCE + 40 14 3 0.423800 2.603847e+01 7.816317e+00 1.661274e+01 # Hw SPCE + 41 14 4 -0.847600 2.671903e+01 7.539282e+00 1.729103e+01 # Ow SPCE + 42 14 3 0.423800 2.712614e+01 6.667675e+00 1.701797e+01 # Hw SPCE + 43 15 3 0.423800 2.662104e+01 1.315276e+01 2.415551e+01 # Hw SPCE + 44 15 4 -0.847600 2.749092e+01 1.325361e+01 2.463837e+01 # Ow SPCE + 45 15 3 0.423800 2.770488e+01 1.422511e+01 2.474029e+01 # Hw SPCE + 46 16 3 0.423800 2.343696e+01 2.012869e+01 2.434140e+01 # Hw SPCE + 47 16 4 -0.847600 2.284311e+01 1.938463e+01 2.464753e+01 # Ow SPCE + 48 16 3 0.423800 2.328036e+01 1.889915e+01 2.540458e+01 # Hw SPCE + 49 17 3 0.423800 7.794521e+00 2.000989e+01 2.199182e+01 # Hw SPCE + 50 17 4 -0.847600 7.929378e+00 2.033080e+01 2.292928e+01 # Ow SPCE + 51 17 3 0.423800 8.857758e+00 2.010876e+01 2.322729e+01 # Hw SPCE + 52 18 3 0.423800 6.830410e+00 2.518010e+01 2.209866e+01 # Hw SPCE + 53 18 4 -0.847600 6.177519e+00 2.451264e+01 2.174056e+01 # Ow SPCE + 54 18 3 0.423800 6.309669e+00 2.363590e+01 2.220301e+01 # Hw SPCE + 55 19 3 0.423800 1.596377e+01 2.092461e+01 2.446023e+01 # Hw SPCE + 56 19 4 -0.847600 1.590738e+01 1.999342e+01 2.482037e+01 # Ow SPCE + 57 19 3 0.423800 1.681118e+01 1.956697e+01 2.478476e+01 # Hw SPCE + 58 20 3 0.423800 1.911326e+01 2.770546e+01 4.844631e+00 # Hw SPCE + 59 20 4 -0.847600 1.985915e+01 2.703939e+01 4.843586e+00 # Ow SPCE + 60 20 3 0.423800 2.073574e+01 2.752062e+01 4.840568e+00 # Hw SPCE + 61 21 3 0.423800 7.957677e+00 2.769262e+01 2.125162e+01 # Hw SPCE + 62 21 4 -0.847600 7.905132e+00 2.770650e+01 2.225015e+01 # Ow SPCE + 63 21 3 0.423800 8.829127e+00 2.770890e+01 2.263254e+01 # Hw SPCE + 64 22 3 0.423800 2.070265e+01 9.528473e+00 1.663276e+01 # Hw SPCE + 65 22 4 -0.847600 1.973165e+01 9.696078e+00 1.680328e+01 # Ow SPCE + 66 22 3 0.423800 1.934110e+01 8.919385e+00 1.729746e+01 # Hw SPCE + 67 23 3 0.423800 7.809959e+00 8.565464e+00 2.274346e+01 # Hw SPCE + 68 23 4 -0.847600 8.612896e+00 9.122442e+00 2.295575e+01 # Ow SPCE + 69 23 3 0.423800 9.372009e+00 8.852272e+00 2.236351e+01 # Hw SPCE + 70 24 3 0.423800 2.498899e+01 2.308095e+01 1.903531e+01 # Hw SPCE + 71 24 4 -0.847600 2.436019e+01 2.235497e+01 1.931382e+01 # Ow SPCE + 72 24 3 0.423800 2.484014e+01 2.170706e+01 1.990531e+01 # Hw SPCE + 73 25 3 0.423800 1.506895e+00 5.662694e+00 6.920599e+00 # Hw SPCE + 74 25 4 -0.847600 1.784503e+00 6.309796e+00 7.630665e+00 # Ow SPCE + 75 25 3 0.423800 2.707518e+00 6.641971e+00 7.436495e+00 # Hw SPCE + 76 26 3 0.423800 2.153403e+01 1.348159e+01 2.085837e+01 # Hw SPCE + 77 26 4 -0.847600 2.086248e+01 1.274077e+01 2.087218e+01 # Ow SPCE + 78 26 3 0.423800 2.067461e+01 1.247880e+01 2.181880e+01 # Hw SPCE + 79 27 3 0.423800 6.800685e+00 2.203104e+01 2.620499e+01 # Hw SPCE + 80 27 4 -0.847600 6.856841e+00 2.274258e+01 2.550459e+01 # Ow SPCE + 81 27 3 0.423800 6.369339e+00 2.244243e+01 2.468469e+01 # Hw SPCE + 82 28 3 0.423800 2.330650e+01 7.514481e+00 5.018724e+00 # Hw SPCE + 83 28 4 -0.847600 2.253073e+01 6.885276e+00 4.970822e+00 # Ow SPCE + 84 28 3 0.423800 2.286694e+01 5.944773e+00 4.921621e+00 # Hw SPCE + 85 29 3 0.423800 1.465322e+01 1.590735e+01 2.422856e+01 # Hw SPCE + 86 29 4 -0.847600 1.477140e+01 1.663018e+01 2.354771e+01 # Ow SPCE + 87 29 3 0.423800 1.453616e+01 1.751291e+01 2.395449e+01 # Hw SPCE + 88 30 3 0.423800 1.040291e+01 5.254847e+00 1.370622e+01 # Hw SPCE + 89 30 4 -0.847600 1.105724e+01 4.607844e+00 1.409768e+01 # Ow SPCE + 90 30 3 0.423800 1.077812e+01 3.674305e+00 1.387274e+01 # Hw SPCE + 91 31 3 0.423800 2.276938e+01 1.512055e+01 9.190561e+00 # Hw SPCE + 92 31 4 -0.847600 2.301556e+01 1.453653e+01 9.964062e+00 # Ow SPCE + 93 31 3 0.423800 2.340966e+01 1.368242e+01 9.624659e+00 # Hw SPCE + 94 32 3 0.423800 5.188719e+00 2.026958e+01 2.114125e+01 # Hw SPCE + 95 32 4 -0.847600 5.223057e+00 2.126505e+01 2.105256e+01 # Ow SPCE + 96 32 3 0.423800 4.292242e+00 2.162905e+01 2.101958e+01 # Hw SPCE + 97 33 3 0.423800 1.776246e+01 1.332125e+01 2.630655e+01 # Hw SPCE + 98 33 4 -0.847600 1.826497e+01 1.415453e+01 2.653702e+01 # Ow SPCE + 99 33 3 0.423800 1.924234e+01 1.400708e+01 2.638536e+01 # Hw SPCE + 100 34 3 0.423800 2.606566e+00 1.054762e+01 6.428992e+00 # Hw SPCE + 101 34 4 -0.847600 1.625220e+00 1.071787e+01 6.339693e+00 # Ow SPCE + 102 34 3 0.423800 1.425906e+00 1.104165e+01 5.414793e+00 # Hw SPCE + 103 35 3 0.423800 2.588493e+01 4.071742e+00 4.105367e+00 # Hw SPCE + 104 35 4 -0.847600 2.671121e+01 4.617835e+00 4.243387e+00 # Ow SPCE + 105 35 3 0.423800 2.741817e+01 4.051459e+00 4.666975e+00 # Hw SPCE + 106 36 3 0.423800 7.373843e+00 6.669901e+00 1.394201e+01 # Hw SPCE + 107 36 4 -0.847600 7.563042e+00 6.090000e+00 1.473442e+01 # Ow SPCE + 108 36 3 0.423800 7.053521e+00 6.429426e+00 1.552510e+01 # Hw SPCE + 109 37 3 0.423800 4.172482e+00 1.303888e+01 1.710824e+01 # Hw SPCE + 110 37 4 -0.847600 4.702018e+00 1.220690e+01 1.727375e+01 # Ow SPCE + 111 37 3 0.423800 4.203212e+00 1.141758e+01 1.691575e+01 # Hw SPCE + 112 38 3 0.423800 1.949787e+01 5.529973e+00 1.254239e+01 # Hw SPCE + 113 38 4 -0.847600 2.035077e+01 5.090120e+00 1.282362e+01 # Ow SPCE + 114 38 3 0.423800 2.089205e+01 4.864082e+00 1.201373e+01 # Hw SPCE + 115 39 3 0.423800 2.451616e+01 8.924670e+00 1.865568e+01 # Hw SPCE + 116 39 4 -0.847600 2.381451e+01 8.652982e+00 1.799699e+01 # Ow SPCE + 117 39 3 0.423800 2.311781e+01 9.367935e+00 1.793821e+01 # Hw SPCE + 118 40 3 0.423800 1.500065e+00 2.219167e+01 2.760505e+00 # Hw SPCE + 119 40 4 -0.847600 2.224501e+00 2.150236e+01 2.767217e+00 # Ow SPCE + 120 40 3 0.423800 1.817068e+00 2.059122e+01 2.829029e+00 # Hw SPCE + 121 41 3 0.423800 2.640554e+01 1.928714e+01 4.290644e+00 # Hw SPCE + 122 41 4 -0.847600 2.740415e+01 1.931798e+01 4.247967e+00 # Ow SPCE + 123 41 3 0.423800 2.770519e+01 2.026827e+01 4.168519e+00 # Hw SPCE + 124 42 3 0.423800 1.388747e+01 7.977813e+00 2.595555e+01 # Hw SPCE + 125 42 4 -0.847600 1.290644e+01 7.828209e+00 2.607882e+01 # Ow SPCE + 126 42 3 0.423800 1.244102e+01 8.710473e+00 2.614947e+01 # Hw SPCE + 127 43 3 0.423800 2.444541e+01 1.183745e+01 2.520365e+01 # Hw SPCE + 128 43 4 -0.847600 2.466934e+01 1.086365e+01 2.516413e+01 # Ow SPCE + 129 43 3 0.423800 2.566048e+01 1.075222e+01 2.509189e+01 # Hw SPCE + 130 44 3 0.423800 2.483417e+01 1.651695e+01 2.163120e+01 # Hw SPCE + 131 44 4 -0.847600 2.410271e+01 1.585943e+01 2.145058e+01 # Ow SPCE + 132 44 3 0.423800 2.445847e+01 1.492995e+01 2.154809e+01 # Hw SPCE + 133 45 3 0.423800 1.730263e+01 2.595540e+01 3.740298e+00 # Hw SPCE + 134 45 4 -0.847600 1.773679e+01 2.510003e+01 4.022883e+00 # Ow SPCE + 135 45 3 0.423800 1.770998e+01 2.444677e+01 3.266223e+00 # Hw SPCE + 136 46 3 0.423800 1.064666e+01 1.544703e+00 2.342635e+01 # Hw SPCE + 137 46 4 -0.847600 9.658303e+00 1.485990e+00 2.356670e+01 # Ow SPCE + 138 46 3 0.423800 9.290506e+00 2.400694e+00 2.373415e+01 # Hw SPCE + 139 47 3 0.423800 6.958351e+00 1.058272e+01 2.770522e+01 # Hw SPCE + 140 47 4 -0.847600 7.092574e+00 1.157367e+01 2.770263e+01 # Ow SPCE + 141 47 3 0.423800 6.203030e+00 1.203050e+01 2.769941e+01 # Hw SPCE + 142 48 3 0.423800 3.958262e+00 4.358392e+00 8.337038e+00 # Hw SPCE + 143 48 4 -0.847600 3.059091e+00 3.923448e+00 8.385147e+00 # Ow SPCE + 144 48 3 0.423800 3.110013e+00 3.117001e+00 8.974257e+00 # Hw SPCE + 145 49 3 0.423800 2.527221e+01 1.981465e+01 9.871580e+00 # Hw SPCE + 146 49 4 -0.847600 2.589272e+01 1.903608e+01 9.965427e+00 # Ow SPCE + 147 49 3 0.423800 2.675477e+01 1.934357e+01 1.036832e+01 # Hw SPCE + 148 50 3 0.423800 2.513678e+01 1.655111e+01 8.455263e+00 # Hw SPCE + 149 50 4 -0.847600 2.439311e+01 1.719386e+01 8.271354e+00 # Ow SPCE + 150 50 3 0.423800 2.390732e+01 1.691348e+01 7.443466e+00 # Hw SPCE + 151 51 3 0.423800 9.547080e+00 5.818685e+00 7.837619e+00 # Hw SPCE + 152 51 4 -0.847600 9.188230e+00 4.885428e+00 7.821533e+00 # Ow SPCE + 153 51 3 0.423800 9.947239e+00 4.237539e+00 7.757147e+00 # Hw SPCE + 154 52 3 0.423800 1.913212e+01 1.999545e+01 1.375657e+01 # Hw SPCE + 155 52 4 -0.847600 1.977845e+01 1.954444e+01 1.437208e+01 # Ow SPCE + 156 52 3 0.423800 2.009170e+01 1.868964e+01 1.395831e+01 # Hw SPCE + 157 53 3 0.423800 2.488521e+00 4.298268e+00 1.662022e+01 # Hw SPCE + 158 53 4 -0.847600 3.439105e+00 4.019650e+00 1.675720e+01 # Ow SPCE + 159 53 3 0.423800 3.840963e+00 4.558416e+00 1.749763e+01 # Hw SPCE + 160 54 3 0.423800 8.720856e+00 1.200478e+01 2.905857e+00 # Hw SPCE + 161 54 4 -0.847600 8.109727e+00 1.255626e+01 2.338060e+00 # Ow SPCE + 162 54 3 0.423800 7.159796e+00 1.233215e+01 2.555793e+00 # Hw SPCE + 163 55 3 0.423800 1.270857e+01 1.035303e+01 5.382569e+00 # Hw SPCE + 164 55 4 -0.847600 1.322488e+01 9.496640e+00 5.388255e+00 # Ow SPCE + 165 55 3 0.423800 1.305339e+01 9.009733e+00 6.244710e+00 # Hw SPCE + 166 56 3 0.423800 1.684898e+01 2.523462e+01 1.822162e+01 # Hw SPCE + 167 56 4 -0.847600 1.664347e+01 2.603725e+01 1.878158e+01 # Ow SPCE + 168 56 3 0.423800 1.648466e+01 2.575236e+01 1.972689e+01 # Hw SPCE + 169 57 3 0.423800 1.020796e+01 2.594114e+01 7.868994e+00 # Hw SPCE + 170 57 4 -0.847600 1.048594e+01 2.681088e+01 8.276773e+00 # Ow SPCE + 171 57 3 0.423800 1.003609e+01 2.692243e+01 9.162888e+00 # Hw SPCE + 172 58 3 0.423800 2.300209e+01 1.144525e+01 1.973611e+01 # Hw SPCE + 173 58 4 -0.847600 2.326720e+01 1.069841e+01 2.034599e+01 # Ow SPCE + 174 58 3 0.423800 2.274079e+01 1.075787e+01 2.119414e+01 # Hw SPCE + 175 59 3 0.423800 1.609161e+01 1.214359e+01 1.492237e+00 # Hw SPCE + 176 59 4 -0.847600 1.690824e+01 1.157531e+01 1.593113e+00 # Ow SPCE + 177 59 3 0.423800 1.664177e+01 1.065885e+01 1.891605e+00 # Hw SPCE + 178 60 3 0.423800 2.419902e+01 2.411706e+01 6.611761e+00 # Hw SPCE + 179 60 4 -0.847600 2.467864e+01 2.498895e+01 6.710596e+00 # Ow SPCE + 180 60 3 0.423800 2.544873e+01 2.487644e+01 7.338537e+00 # Hw SPCE + 181 61 3 0.423800 1.196568e+01 5.594696e+00 6.473038e+00 # Hw SPCE + 182 61 4 -0.847600 1.199305e+01 6.536579e+00 6.807864e+00 # Ow SPCE + 183 61 3 0.423800 1.267510e+01 6.612062e+00 7.535263e+00 # Hw SPCE + 184 62 3 0.423800 1.669021e+01 8.472310e+00 7.036663e+00 # Hw SPCE + 185 62 4 -0.847600 1.572284e+01 8.690729e+00 6.908251e+00 # Ow SPCE + 186 62 3 0.423800 1.554585e+01 9.621300e+00 7.228737e+00 # Hw SPCE + 187 63 3 0.423800 1.821528e+01 1.487703e+01 1.756524e+01 # Hw SPCE + 188 63 4 -0.847600 1.872911e+01 1.551055e+01 1.814370e+01 # Ow SPCE + 189 63 3 0.423800 1.854708e+01 1.644985e+01 1.785290e+01 # Hw SPCE + 190 64 3 0.423800 7.984302e+00 1.799893e+01 1.529353e+00 # Hw SPCE + 191 64 4 -0.847600 8.826448e+00 1.746123e+01 1.488465e+00 # Ow SPCE + 192 64 3 0.423800 9.462122e+00 1.778360e+01 2.189889e+00 # Hw SPCE + 193 65 3 0.423800 2.562243e+01 6.741416e+00 1.403530e+01 # Hw SPCE + 194 65 4 -0.847600 2.622983e+01 6.086036e+00 1.448423e+01 # Ow SPCE + 195 65 3 0.423800 2.717413e+01 6.262256e+00 1.420632e+01 # Hw SPCE + 196 66 3 0.423800 2.512713e+01 2.094793e+00 1.358574e+01 # Hw SPCE + 197 66 4 -0.847600 2.434949e+01 1.495442e+00 1.339585e+01 # Ow SPCE + 198 66 3 0.423800 2.355565e+01 1.803117e+00 1.392040e+01 # Hw SPCE + 199 67 3 0.423800 9.301908e+00 1.331503e+01 2.358584e+01 # Hw SPCE + 200 67 4 -0.847600 8.584183e+00 1.395669e+01 2.331540e+01 # Ow SPCE + 201 67 3 0.423800 8.271122e+00 1.373659e+01 2.239153e+01 # Hw SPCE + 202 68 3 0.423800 9.955846e+00 1.273829e+01 6.296276e+00 # Hw SPCE + 203 68 4 -0.847600 1.056341e+01 1.199023e+01 6.029323e+00 # Ow SPCE + 204 68 3 0.423800 1.029850e+01 1.165171e+01 5.126425e+00 # Hw SPCE + 205 69 3 0.423800 1.595831e+01 4.015404e+00 2.177868e+01 # Hw SPCE + 206 69 4 -0.847600 1.665439e+01 3.881186e+00 2.248398e+01 # Ow SPCE + 207 69 3 0.423800 1.647833e+01 4.501446e+00 2.324836e+01 # Hw SPCE + 208 70 3 0.423800 1.191249e+01 1.053961e+01 1.614692e+01 # Hw SPCE + 209 70 4 -0.847600 1.285965e+01 1.031522e+01 1.591770e+01 # Ow SPCE + 210 70 3 0.423800 1.326240e+01 1.106545e+01 1.539335e+01 # Hw SPCE + 211 71 3 0.423800 2.756106e+01 7.219592e+00 3.733621e+00 # Hw SPCE + 212 71 4 -0.847600 2.673030e+01 7.191784e+00 3.177694e+00 # Ow SPCE + 213 71 3 0.423800 2.592863e+01 7.212180e+00 3.775112e+00 # Hw SPCE + 214 72 3 0.423800 1.619051e+01 4.555961e+00 1.375257e+01 # Hw SPCE + 215 72 4 -0.847600 1.693660e+01 4.702954e+00 1.310315e+01 # Ow SPCE + 216 72 3 0.423800 1.692272e+01 3.981627e+00 1.241069e+01 # Hw SPCE + 217 73 3 0.423800 2.233085e+01 2.254376e+01 2.509491e+01 # Hw SPCE + 218 73 4 -0.847600 2.137546e+01 2.283349e+01 2.503760e+01 # Ow SPCE + 219 73 3 0.423800 2.132827e+01 2.383218e+01 2.505737e+01 # Hw SPCE + 220 74 3 0.423800 4.614385e+00 2.266996e+01 1.754496e+01 # Hw SPCE + 221 74 4 -0.847600 5.529231e+00 2.271822e+01 1.794587e+01 # Ow SPCE + 222 74 3 0.423800 6.044304e+00 2.345795e+01 1.751287e+01 # Hw SPCE + 223 75 3 0.423800 2.221903e+01 7.556525e+00 1.516871e+01 # Hw SPCE + 224 75 4 -0.847600 2.250349e+01 7.635346e+00 1.421326e+01 # Ow SPCE + 225 75 3 0.423800 2.176672e+01 7.313720e+00 1.361852e+01 # Hw SPCE + 226 76 3 0.423800 2.629759e+01 1.920638e+01 2.353714e+01 # Hw SPCE + 227 76 4 -0.847600 2.715395e+01 1.902228e+01 2.401958e+01 # Ow SPCE + 228 76 3 0.423800 2.770506e+01 1.837985e+01 2.348707e+01 # Hw SPCE + 229 77 3 0.423800 4.143809e+00 1.561555e+01 8.018737e+00 # Hw SPCE + 230 77 4 -0.847600 4.614959e+00 1.553180e+01 8.896805e+00 # Ow SPCE + 231 77 3 0.423800 4.199222e+00 1.615528e+01 9.558946e+00 # Hw SPCE + 232 78 3 0.423800 9.954198e+00 1.261788e+01 1.237010e+01 # Hw SPCE + 233 78 4 -0.847600 9.562880e+00 1.353598e+01 1.243307e+01 # Ow SPCE + 234 78 3 0.423800 8.569485e+00 1.346921e+01 1.252638e+01 # Hw SPCE + 235 79 3 0.423800 2.332846e+01 2.323923e+01 3.781581e+00 # Hw SPCE + 236 79 4 -0.847600 2.276687e+01 2.256928e+01 3.296002e+00 # Ow SPCE + 237 79 3 0.423800 2.333089e+01 2.178393e+01 3.040806e+00 # Hw SPCE + 238 80 3 0.423800 1.563376e+01 9.681389e+00 1.524542e+01 # Hw SPCE + 239 80 4 -0.847600 1.641808e+01 9.172361e+00 1.559999e+01 # Ow SPCE + 240 80 3 0.423800 1.655877e+01 9.404722e+00 1.656239e+01 # Hw SPCE + 241 81 3 0.423800 3.016047e+00 1.608090e+01 2.770691e+01 # Hw SPCE + 242 81 4 -0.847600 3.873141e+00 1.658768e+01 2.761432e+01 # Ow SPCE + 243 81 3 0.423800 4.041570e+00 1.678405e+01 2.664837e+01 # Hw SPCE + 244 82 3 0.423800 2.553862e+01 1.927894e+01 1.283389e+01 # Hw SPCE + 245 82 4 -0.847600 2.595825e+01 2.010455e+01 1.321108e+01 # Ow SPCE + 246 82 3 0.423800 2.694466e+01 1.996635e+01 1.329986e+01 # Hw SPCE + 247 83 3 0.423800 1.446078e+01 5.122478e+00 1.975466e+01 # Hw SPCE + 248 83 4 -0.847600 1.399157e+01 5.719286e+00 1.910377e+01 # Ow SPCE + 249 83 3 0.423800 1.387428e+01 6.626403e+00 1.950797e+01 # Hw SPCE + 250 84 3 0.423800 4.975267e+00 1.195188e+01 1.361200e+01 # Hw SPCE + 251 84 4 -0.847600 5.863360e+00 1.223599e+01 1.397335e+01 # Ow SPCE + 252 84 3 0.423800 6.001585e+00 1.182880e+01 1.487617e+01 # Hw SPCE + 253 85 3 0.423800 1.729394e+01 2.690297e+01 2.489413e+01 # Hw SPCE + 254 85 4 -0.847600 1.798622e+01 2.618717e+01 2.498570e+01 # Ow SPCE + 255 85 3 0.423800 1.753851e+01 2.531197e+01 2.516899e+01 # Hw SPCE + 256 86 3 0.423800 1.443295e+01 1.369845e+01 9.542794e+00 # Hw SPCE + 257 86 4 -0.847600 1.453225e+01 1.337010e+01 1.048212e+01 # Ow SPCE + 258 86 3 0.423800 1.407152e+01 1.248767e+01 1.057721e+01 # Hw SPCE + 259 87 3 0.423800 1.481041e+01 9.892914e+00 2.769929e+01 # Hw SPCE + 260 87 4 -0.847600 1.474545e+01 1.089078e+01 2.770556e+01 # Ow SPCE + 261 87 3 0.423800 1.566461e+01 1.128460e+01 2.771213e+01 # Hw SPCE + 262 88 3 0.423800 2.711944e+01 2.239741e+00 7.551846e+00 # Hw SPCE + 263 88 4 -0.847600 2.613715e+01 2.417616e+00 7.610794e+00 # Ow SPCE + 264 88 3 0.423800 2.588056e+01 2.557524e+00 8.567132e+00 # Hw SPCE + 265 89 3 0.423800 1.579109e+01 5.900382e+00 6.668995e+00 # Hw SPCE + 266 89 4 -0.847600 1.499190e+01 6.158630e+00 6.126217e+00 # Ow SPCE + 267 89 3 0.423800 1.487648e+01 5.510338e+00 5.373624e+00 # Hw SPCE + 268 90 3 0.423800 2.133610e+01 1.746297e+01 9.335501e+00 # Hw SPCE + 269 90 4 -0.847600 2.057506e+01 1.754198e+01 8.691632e+00 # Ow SPCE + 270 90 3 0.423800 2.092169e+01 1.747499e+01 7.756026e+00 # Hw SPCE + 271 91 3 0.423800 5.764508e+00 6.459756e+00 1.799860e+01 # Hw SPCE + 272 91 4 -0.847600 6.332363e+00 5.967190e+00 1.865808e+01 # Ow SPCE + 273 91 3 0.423800 6.766765e+00 6.620913e+00 1.927772e+01 # Hw SPCE + 274 92 3 0.423800 1.519730e+01 1.983322e+01 1.921450e+01 # Hw SPCE + 275 92 4 -0.847600 1.593017e+01 1.916543e+01 1.908429e+01 # Ow SPCE + 276 92 3 0.423800 1.663520e+01 1.955553e+01 1.849204e+01 # Hw SPCE + 277 93 3 0.423800 2.313253e+00 7.250692e+00 1.329362e+01 # Hw SPCE + 278 93 4 -0.847600 1.488319e+00 7.811762e+00 1.322518e+01 # Ow SPCE + 279 93 3 0.423800 1.540991e+00 8.563456e+00 1.388259e+01 # Hw SPCE + 280 94 3 0.423800 2.611731e+01 1.202552e+01 1.053768e+01 # Hw SPCE + 281 94 4 -0.847600 2.710862e+01 1.215596e+01 1.052099e+01 # Ow SPCE + 282 94 3 0.423800 2.756049e+01 1.126726e+01 1.044331e+01 # Hw SPCE + 283 95 3 0.423800 6.603696e+00 2.054040e+01 1.298798e+01 # Hw SPCE + 284 95 4 -0.847600 5.882293e+00 2.028304e+01 1.234506e+01 # Ow SPCE + 285 95 3 0.423800 6.172577e+00 2.050160e+01 1.141341e+01 # Hw SPCE + 286 96 3 0.423800 2.098737e+01 6.874062e+00 1.013861e+01 # Hw SPCE + 287 96 4 -0.847600 2.156028e+01 7.451122e+00 1.072066e+01 # Ow SPCE + 288 96 3 0.423800 2.195352e+01 8.190100e+00 1.017360e+01 # Hw SPCE + 289 97 3 0.423800 5.786826e+00 1.087307e+01 1.086502e+01 # Hw SPCE + 290 97 4 -0.847600 6.324427e+00 1.163284e+01 1.123071e+01 # Ow SPCE + 291 97 3 0.423800 7.142246e+00 1.127568e+01 1.168194e+01 # Hw SPCE + 292 98 3 0.423800 1.143842e+01 2.119323e+01 8.871945e+00 # Hw SPCE + 293 98 4 -0.847600 1.139221e+01 2.127877e+01 7.876682e+00 # Ow SPCE + 294 98 3 0.423800 1.071119e+01 2.064007e+01 7.518516e+00 # Hw SPCE + 295 99 3 0.423800 5.459585e+00 2.383383e+01 5.598160e+00 # Hw SPCE + 296 99 4 -0.847600 5.520099e+00 2.482379e+01 5.470403e+00 # Ow SPCE + 297 99 3 0.423800 5.586370e+00 2.503046e+01 4.494238e+00 # Hw SPCE + 298 100 3 0.423800 2.264458e+00 7.960990e+00 2.770952e+01 # Hw SPCE + 299 100 4 -0.847600 2.090525e+00 8.160734e+00 2.674523e+01 # Ow SPCE + 300 100 3 0.423800 1.495909e+00 7.454707e+00 2.636058e+01 # Hw SPCE + 301 101 3 0.423800 7.095393e+00 1.940453e+01 2.544132e+01 # Hw SPCE + 302 101 4 -0.847600 6.237306e+00 1.963392e+01 2.498190e+01 # Ow SPCE + 303 101 3 0.423800 5.644089e+00 1.882911e+01 2.496253e+01 # Hw SPCE + 304 102 3 0.423800 1.499078e+00 3.404424e+00 2.770580e+01 # Hw SPCE + 305 102 4 -0.847600 2.042815e+00 3.910224e+00 2.703609e+01 # Ow SPCE + 306 102 3 0.423800 1.977853e+00 4.889953e+00 2.722559e+01 # Hw SPCE + 307 103 3 0.423800 5.115452e+00 2.292057e+01 1.247440e+01 # Hw SPCE + 308 103 4 -0.847600 5.773141e+00 2.354653e+01 1.205533e+01 # Ow SPCE + 309 103 3 0.423800 6.680714e+00 2.312664e+01 1.205713e+01 # Hw SPCE + 310 104 3 0.423800 1.944181e+01 2.324594e+01 1.499570e+00 # Hw SPCE + 311 104 4 -0.847600 2.043993e+01 2.318469e+01 1.499022e+00 # Ow SPCE + 312 104 3 0.423800 2.071487e+01 2.222323e+01 1.498289e+00 # Hw SPCE + 313 105 3 0.423800 1.030626e+01 8.957281e+00 6.373247e+00 # Hw SPCE + 314 105 4 -0.847600 9.786014e+00 8.104555e+00 6.326252e+00 # Ow SPCE + 315 105 3 0.423800 8.880748e+00 8.243851e+00 6.727613e+00 # Hw SPCE + 316 106 3 0.423800 1.864859e+01 1.763094e+00 1.290621e+01 # Hw SPCE + 317 106 4 -0.847600 1.923656e+01 2.571543e+00 1.287976e+01 # Ow SPCE + 318 106 3 0.423800 2.017824e+01 2.292795e+00 1.269123e+01 # Hw SPCE + 319 107 3 0.423800 2.129031e+00 5.623946e+00 1.104896e+01 # Hw SPCE + 320 107 4 -0.847600 1.506474e+00 5.035776e+00 1.053275e+01 # Ow SPCE + 321 107 3 0.423800 1.486177e+00 4.126233e+00 1.094786e+01 # Hw SPCE + 322 108 3 0.423800 2.212734e+01 1.355457e+01 3.475366e+00 # Hw SPCE + 323 108 4 -0.847600 2.189942e+01 1.348653e+01 4.446665e+00 # Ow SPCE + 324 108 3 0.423800 2.141982e+01 1.431518e+01 4.735327e+00 # Hw SPCE + 325 109 3 0.423800 2.714041e+01 9.226233e+00 1.942138e+01 # Hw SPCE + 326 109 4 -0.847600 2.695029e+01 1.019981e+01 1.954785e+01 # Ow SPCE + 327 109 3 0.423800 2.770446e+01 1.073827e+01 1.917198e+01 # Hw SPCE + 328 110 3 0.423800 1.145913e+01 1.921390e+01 1.496917e+01 # Hw SPCE + 329 110 4 -0.847600 1.131470e+01 2.018773e+01 1.479367e+01 # Ow SPCE + 330 110 3 0.423800 1.033642e+01 2.036578e+01 1.468754e+01 # Hw SPCE + 331 111 3 0.423800 4.274133e+00 2.306189e+00 2.713568e+01 # Hw SPCE + 332 111 4 -0.847600 4.237246e+00 1.500039e+00 2.654512e+01 # Ow SPCE + 333 111 3 0.423800 3.652688e+00 1.690998e+00 2.575656e+01 # Hw SPCE + 334 112 3 0.423800 2.374365e+01 4.285483e+00 2.548838e+01 # Hw SPCE + 335 112 4 -0.847600 2.363447e+01 3.410101e+00 2.501744e+01 # Ow SPCE + 336 112 3 0.423800 2.453520e+01 3.022399e+00 2.482154e+01 # Hw SPCE + 337 113 3 0.423800 2.147633e+01 2.400029e+01 6.981339e+00 # Hw SPCE + 338 113 4 -0.847600 2.070482e+01 2.460854e+01 6.794782e+00 # Ow SPCE + 339 113 3 0.423800 2.100757e+01 2.555958e+01 6.856910e+00 # Hw SPCE + 340 114 3 0.423800 2.475952e+01 2.542350e+01 2.655084e+01 # Hw SPCE + 341 114 4 -0.847600 2.490466e+01 2.505812e+01 2.563137e+01 # Ow SPCE + 342 114 3 0.423800 2.404295e+01 2.469469e+01 2.527727e+01 # Hw SPCE + 343 115 3 0.423800 2.160335e+01 2.393199e+01 1.009846e+01 # Hw SPCE + 344 115 4 -0.847600 2.078275e+01 2.449002e+01 1.022179e+01 # Ow SPCE + 345 115 3 0.423800 2.003750e+01 2.411294e+01 9.671860e+00 # Hw SPCE + 346 116 3 0.423800 1.865506e+01 2.117845e+01 1.756982e+01 # Hw SPCE + 347 116 4 -0.847600 1.807847e+01 2.183151e+01 1.707884e+01 # Ow SPCE + 348 116 3 0.423800 1.837699e+01 2.276271e+01 1.728801e+01 # Hw SPCE + 349 117 3 0.423800 2.061645e+00 6.549304e+00 1.814025e+01 # Hw SPCE + 350 117 4 -0.847600 1.475173e+00 6.253958e+00 1.889446e+01 # Ow SPCE + 351 117 3 0.423800 1.571483e+00 5.267187e+00 1.902487e+01 # Hw SPCE + 352 118 3 0.423800 1.643494e+01 1.386321e+01 1.572937e+01 # Hw SPCE + 353 118 4 -0.847600 1.600041e+01 1.308756e+01 1.527161e+01 # Ow SPCE + 354 118 3 0.423800 1.500654e+01 1.318983e+01 1.531362e+01 # Hw SPCE + 355 119 3 0.423800 1.886154e+01 1.359977e+01 1.388201e+01 # Hw SPCE + 356 119 4 -0.847600 1.985547e+01 1.361236e+01 1.399129e+01 # Ow SPCE + 357 119 3 0.423800 2.020182e+01 1.267429e+01 1.399938e+01 # Hw SPCE + 358 120 3 0.423800 2.640146e+01 4.249195e+00 1.244508e+01 # Hw SPCE + 359 120 4 -0.847600 2.716791e+01 3.811578e+00 1.291523e+01 # Ow SPCE + 360 120 3 0.423800 2.770629e+01 3.285544e+00 1.225687e+01 # Hw SPCE + 361 121 3 0.423800 1.496812e+00 1.814687e+00 1.782668e+01 # Hw SPCE + 362 121 4 -0.847600 1.815569e+00 1.693357e+00 1.876672e+01 # Ow SPCE + 363 121 3 0.423800 1.625725e+00 2.522412e+00 1.929267e+01 # Hw SPCE + 364 122 3 0.423800 2.680988e+01 1.869516e+01 7.392907e+00 # Hw SPCE + 365 122 4 -0.847600 2.739577e+01 1.944655e+01 7.696489e+00 # Ow SPCE + 366 122 3 0.423800 2.770460e+01 1.997015e+01 6.902469e+00 # Hw SPCE + 367 123 3 0.423800 6.657051e+00 1.748551e+01 3.900748e+00 # Hw SPCE + 368 123 4 -0.847600 7.611764e+00 1.740782e+01 4.187954e+00 # Ow SPCE + 369 123 3 0.423800 7.719232e+00 1.780597e+01 5.098957e+00 # Hw SPCE + 370 124 3 0.423800 1.712795e+01 2.364901e+01 2.137752e+01 # Hw SPCE + 371 124 4 -0.847600 1.651270e+01 2.309626e+01 2.193960e+01 # Ow SPCE + 372 124 3 0.423800 1.702767e+01 2.235135e+01 2.236376e+01 # Hw SPCE + 373 125 3 0.423800 2.465960e+01 9.111990e+00 1.552092e+00 # Hw SPCE + 374 125 4 -0.847600 2.368347e+01 9.328956e+00 1.542385e+00 # Ow SPCE + 375 125 3 0.423800 2.356287e+01 1.032079e+01 1.500818e+00 # Hw SPCE + 376 126 3 0.423800 1.541633e+01 2.513037e+01 2.342964e+01 # Hw SPCE + 377 126 4 -0.847600 1.496712e+01 2.563480e+01 2.416705e+01 # Ow SPCE + 378 126 3 0.423800 1.407826e+01 2.521990e+01 2.436140e+01 # Hw SPCE + 379 127 3 0.423800 2.198927e+01 2.296037e+01 1.264179e+01 # Hw SPCE + 380 127 4 -0.847600 2.135361e+01 2.220618e+01 1.280650e+01 # Ow SPCE + 381 127 3 0.423800 2.142262e+01 2.154325e+01 1.206101e+01 # Hw SPCE + 382 128 3 0.423800 5.808379e+00 1.479597e+00 1.729754e+01 # Hw SPCE + 383 128 4 -0.847600 5.311955e+00 2.244876e+00 1.770731e+01 # Ow SPCE + 384 128 3 0.423800 4.490271e+00 1.903163e+00 1.816345e+01 # Hw SPCE + 385 129 3 0.423800 4.410407e+00 9.586919e+00 1.489573e+01 # Hw SPCE + 386 129 4 -0.847600 4.330005e+00 8.939478e+00 1.413786e+01 # Ow SPCE + 387 129 3 0.423800 5.226071e+00 8.810656e+00 1.371305e+01 # Hw SPCE + 388 130 3 0.423800 8.119198e+00 3.621439e+00 1.317752e+01 # Hw SPCE + 389 130 4 -0.847600 8.167483e+00 2.832111e+00 1.256545e+01 # Ow SPCE + 390 130 3 0.423800 7.317941e+00 2.308454e+00 1.262918e+01 # Hw SPCE + 391 131 3 0.423800 1.605369e+01 6.725170e+00 2.132125e+01 # Hw SPCE + 392 131 4 -0.847600 1.601692e+01 7.081523e+00 2.225488e+01 # Ow SPCE + 393 131 3 0.423800 1.677297e+01 7.720235e+00 2.239787e+01 # Hw SPCE + 394 132 3 0.423800 2.587812e+01 2.770384e+01 6.790070e+00 # Hw SPCE + 395 132 4 -0.847600 2.495789e+01 2.770683e+01 6.398688e+00 # Ow SPCE + 396 132 3 0.423800 2.428216e+01 2.770348e+01 7.135826e+00 # Hw SPCE + 397 133 3 0.423800 3.242275e+00 2.430164e+01 3.033818e+00 # Hw SPCE + 398 133 4 -0.847600 3.385077e+00 2.527679e+01 2.864385e+00 # Ow SPCE + 399 133 3 0.423800 4.115488e+00 2.539474e+01 2.191640e+00 # Hw SPCE + 400 134 3 0.423800 1.391872e+01 1.853150e+01 1.389147e+01 # Hw SPCE + 401 134 4 -0.847600 1.350915e+01 1.835748e+01 1.299594e+01 # Ow SPCE + 402 134 3 0.423800 1.277157e+01 1.768895e+01 1.309098e+01 # Hw SPCE + 403 135 3 0.423800 1.883256e+00 1.950562e+01 6.097187e+00 # Hw SPCE + 404 135 4 -0.847600 2.108048e+00 1.853214e+01 6.139671e+00 # Ow SPCE + 405 135 3 0.423800 1.664096e+00 1.805416e+01 5.381755e+00 # Hw SPCE + 406 136 3 0.423800 1.772073e+01 1.904358e+01 6.835467e+00 # Hw SPCE + 407 136 4 -0.847600 1.848360e+01 1.839868e+01 6.881595e+00 # Ow SPCE + 408 136 3 0.423800 1.815821e+01 1.748070e+01 6.654789e+00 # Hw SPCE + 409 137 3 0.423800 1.668142e+01 1.746799e+01 2.770692e+01 # Hw SPCE + 410 137 4 -0.847600 1.690378e+01 1.739205e+01 2.673492e+01 # Ow SPCE + 411 137 3 0.423800 1.607886e+01 1.715496e+01 2.622181e+01 # Hw SPCE + 412 138 3 0.423800 6.510214e+00 5.350768e+00 8.615350e+00 # Hw SPCE + 413 138 4 -0.847600 6.301757e+00 6.322395e+00 8.727089e+00 # Ow SPCE + 414 138 3 0.423800 7.064288e+00 6.868862e+00 8.380795e+00 # Hw SPCE + 415 139 3 0.423800 1.123604e+01 1.437475e+01 2.577805e+01 # Hw SPCE + 416 139 4 -0.847600 1.147623e+01 1.512029e+01 2.639973e+01 # Ow SPCE + 417 139 3 0.423800 1.064787e+01 1.561484e+01 2.666285e+01 # Hw SPCE + 418 140 3 0.423800 1.018251e+01 2.301900e+01 2.071248e+01 # Hw SPCE + 419 140 4 -0.847600 1.073103e+01 2.232837e+01 2.118382e+01 # Ow SPCE + 420 140 3 0.423800 1.020516e+01 2.148141e+01 2.126196e+01 # Hw SPCE + 421 141 3 0.423800 5.434060e+00 2.503928e+00 1.462372e+01 # Hw SPCE + 422 141 4 -0.847600 6.195222e+00 3.000981e+00 1.504034e+01 # Ow SPCE + 423 141 3 0.423800 5.916457e+00 3.943344e+00 1.522539e+01 # Hw SPCE + 424 142 3 0.423800 2.396703e+01 1.692595e+01 1.892427e+01 # Hw SPCE + 425 142 4 -0.847600 2.487591e+01 1.651107e+01 1.888188e+01 # Ow SPCE + 426 142 3 0.423800 2.528573e+01 1.669671e+01 1.798880e+01 # Hw SPCE + 427 143 3 0.423800 1.739023e+01 2.770535e+01 2.756282e+01 # Hw SPCE + 428 143 4 -0.847600 1.824208e+01 2.718404e+01 2.761360e+01 # Ow SPCE + 429 143 3 0.423800 1.803237e+01 2.621369e+01 2.773377e+01 # Hw SPCE + 430 144 3 0.423800 1.002054e+01 2.068443e+00 2.080057e+01 # Hw SPCE + 431 144 4 -0.847600 1.037196e+01 1.499358e+00 2.005717e+01 # Ow SPCE + 432 144 3 0.423800 1.137167e+01 1.499631e+00 2.008118e+01 # Hw SPCE + 433 145 3 0.423800 5.474756e+00 6.597903e+00 2.212606e+01 # Hw SPCE + 434 145 4 -0.847600 6.060290e+00 6.454103e+00 2.292385e+01 # Ow SPCE + 435 145 3 0.423800 5.607820e+00 5.830491e+00 2.356133e+01 # Hw SPCE + 436 146 3 0.423800 9.616079e+00 2.770577e+01 1.272301e+01 # Hw SPCE + 437 146 4 -0.847600 1.005389e+01 2.758118e+01 1.183261e+01 # Ow SPCE + 438 146 3 0.423800 1.104172e+01 2.770510e+01 1.192665e+01 # Hw SPCE + 439 147 3 0.423800 7.556371e+00 8.751423e+00 1.067315e+01 # Hw SPCE + 440 147 4 -0.847600 6.677067e+00 8.276682e+00 1.071118e+01 # Ow SPCE + 441 147 3 0.423800 6.692592e+00 7.605177e+00 1.145202e+01 # Hw SPCE + 442 148 3 0.423800 1.048902e+01 9.944021e+00 1.499856e+00 # Hw SPCE + 443 148 4 -0.847600 1.107788e+01 9.135791e+00 1.497048e+00 # Ow SPCE + 444 148 3 0.423800 1.051214e+01 8.311210e+00 1.495741e+00 # Hw SPCE + 445 149 3 0.423800 2.225224e+01 1.699334e+01 1.388572e+01 # Hw SPCE + 446 149 4 -0.847600 2.247601e+01 1.610910e+01 1.347578e+01 # Ow SPCE + 447 149 3 0.423800 2.332230e+01 1.619040e+01 1.294930e+01 # Hw SPCE + 448 150 3 0.423800 1.629210e+01 2.770573e+01 8.693261e+00 # Hw SPCE + 449 150 4 -0.847600 1.560110e+01 2.709673e+01 8.303856e+00 # Ow SPCE + 450 150 3 0.423800 1.580582e+01 2.615242e+01 8.561464e+00 # Hw SPCE + 451 151 3 0.423800 2.423080e+01 1.358698e+01 1.852585e+01 # Hw SPCE + 452 151 4 -0.847600 2.350560e+01 1.411138e+01 1.897204e+01 # Ow SPCE + 453 151 3 0.423800 2.267128e+01 1.406026e+01 1.842312e+01 # Hw SPCE + 454 152 3 0.423800 2.207406e+01 4.433705e+00 2.065867e+01 # Hw SPCE + 455 152 4 -0.847600 2.276959e+01 3.724600e+00 2.054287e+01 # Ow SPCE + 456 152 3 0.423800 2.359197e+01 4.126886e+00 2.014056e+01 # Hw SPCE + 457 153 3 0.423800 2.395702e+01 6.074153e+00 1.705293e+01 # Hw SPCE + 458 153 4 -0.847600 2.358426e+01 5.192507e+00 1.734233e+01 # Ow SPCE + 459 153 3 0.423800 2.433467e+01 4.558278e+00 1.752846e+01 # Hw SPCE + 460 154 3 0.423800 1.155557e+01 2.807646e+00 1.636444e+01 # Hw SPCE + 461 154 4 -0.847600 1.146110e+01 1.812305e+00 1.638374e+01 # Ow SPCE + 462 154 3 0.423800 1.138045e+01 1.503463e+00 1.733143e+01 # Hw SPCE + 463 155 3 0.423800 4.135912e+00 2.531900e+01 1.818837e+01 # Hw SPCE + 464 155 4 -0.847600 3.741676e+00 2.521934e+01 1.910196e+01 # Ow SPCE + 465 155 3 0.423800 4.213837e+00 2.448559e+01 1.959050e+01 # Hw SPCE + 466 156 3 0.423800 1.499258e+00 1.198985e+01 2.578979e+01 # Hw SPCE + 467 156 4 -0.847600 2.062832e+00 1.128002e+01 2.536727e+01 # Ow SPCE + 468 156 3 0.423800 1.537875e+00 1.043123e+01 2.530414e+01 # Hw SPCE + 469 157 3 0.423800 6.788951e+00 2.673524e+01 2.771333e+01 # Hw SPCE + 470 157 4 -0.847600 6.736475e+00 2.763375e+01 2.727752e+01 # Ow SPCE + 471 157 3 0.423800 5.853127e+00 2.773069e+01 2.681893e+01 # Hw SPCE + 472 158 3 0.423800 4.823100e+00 1.350860e+01 6.387855e+00 # Hw SPCE + 473 158 4 -0.847600 4.369663e+00 1.263897e+01 6.583146e+00 # Ow SPCE + 474 158 3 0.423800 4.571234e+00 1.236153e+01 7.522508e+00 # Hw SPCE + 475 159 3 0.423800 2.652742e+01 8.643512e+00 1.208390e+01 # Hw SPCE + 476 159 4 -0.847600 2.750728e+01 8.461636e+00 1.216639e+01 # Ow SPCE + 477 159 3 0.423800 2.770441e+01 7.539751e+00 1.183282e+01 # Hw SPCE + 478 160 3 0.423800 1.562548e+01 7.342341e+00 1.368183e+01 # Hw SPCE + 479 160 4 -0.847600 1.644892e+01 7.724632e+00 1.326255e+01 # Ow SPCE + 480 160 3 0.423800 1.657765e+01 7.324209e+00 1.235531e+01 # Hw SPCE + 481 161 3 0.423800 1.832876e+01 3.664241e+00 1.523424e+01 # Hw SPCE + 482 161 4 -0.847600 1.757342e+01 3.228540e+00 1.572376e+01 # Ow SPCE + 483 161 3 0.423800 1.723220e+01 2.455027e+00 1.518968e+01 # Hw SPCE + 484 162 3 0.423800 1.163979e+01 2.726442e+01 5.638394e+00 # Hw SPCE + 485 162 4 -0.847600 1.203117e+01 2.637033e+01 5.856191e+00 # Ow SPCE + 486 162 3 0.423800 1.265936e+01 2.646077e+01 6.628973e+00 # Hw SPCE + 487 163 3 0.423800 3.712836e+00 1.795600e+01 2.104265e+01 # Hw SPCE + 488 163 4 -0.847600 3.729339e+00 1.776723e+01 2.202453e+01 # Ow SPCE + 489 163 3 0.423800 2.793088e+00 1.774262e+01 2.237500e+01 # Hw SPCE + 490 164 3 0.423800 1.215495e+01 1.501989e+00 9.660698e+00 # Hw SPCE + 491 164 4 -0.847600 1.306022e+01 1.479590e+00 9.236442e+00 # Ow SPCE + 492 164 3 0.423800 1.376231e+01 1.546750e+00 9.945354e+00 # Hw SPCE + 493 165 3 0.423800 1.382068e+01 2.627313e+01 1.928618e+01 # Hw SPCE + 494 165 4 -0.847600 1.369118e+01 2.724037e+01 1.950452e+01 # Ow SPCE + 495 165 3 0.423800 1.457266e+01 2.771119e+01 1.946813e+01 # Hw SPCE + 496 166 3 0.423800 1.936570e+01 1.864386e+01 2.521456e+01 # Hw SPCE + 497 166 4 -0.847600 2.026756e+01 1.895792e+01 2.551126e+01 # Ow SPCE + 498 166 3 0.423800 2.023242e+01 1.993867e+01 2.570334e+01 # Hw SPCE + 499 167 3 0.423800 1.169885e+01 2.172581e+00 2.751632e+01 # Hw SPCE + 500 167 4 -0.847600 1.090011e+01 1.573456e+00 2.746098e+01 # Ow SPCE + 501 167 3 0.423800 1.061137e+01 1.490153e+00 2.650720e+01 # Hw SPCE + 502 168 3 0.423800 1.911213e+01 2.158443e+01 1.022983e+01 # Hw SPCE + 503 168 4 -0.847600 1.926141e+01 2.060202e+01 1.011766e+01 # Ow SPCE + 504 168 3 0.423800 1.928483e+01 2.016370e+01 1.101617e+01 # Hw SPCE + 505 169 3 0.423800 1.629210e+00 1.550801e+01 1.095958e+01 # Hw SPCE + 506 169 4 -0.847600 1.493041e+00 1.635194e+01 1.147846e+01 # Ow SPCE + 507 169 3 0.423800 2.168035e+00 1.703190e+01 1.119204e+01 # Hw SPCE + 508 170 3 0.423800 1.102279e+01 4.173853e+00 1.869068e+01 # Hw SPCE + 509 170 4 -0.847600 1.109242e+01 4.502781e+00 1.963246e+01 # Ow SPCE + 510 170 3 0.423800 1.122948e+01 5.493340e+00 1.963029e+01 # Hw SPCE + 511 171 3 0.423800 8.600246e+00 2.481675e+01 1.935975e+01 # Hw SPCE + 512 171 4 -0.847600 8.003650e+00 2.561907e+01 1.934092e+01 # Ow SPCE + 513 171 3 0.423800 7.051209e+00 2.532446e+01 1.926308e+01 # Hw SPCE + 514 172 3 0.423800 7.877713e+00 1.822785e+01 1.950056e+01 # Hw SPCE + 515 172 4 -0.847600 6.923133e+00 1.800620e+01 1.930144e+01 # Ow SPCE + 516 172 3 0.423800 6.847202e+00 1.767403e+01 1.836128e+01 # Hw SPCE + 517 173 3 0.423800 2.715931e+01 1.264839e+01 1.341405e+01 # Hw SPCE + 518 173 4 -0.847600 2.734880e+01 1.167554e+01 1.328112e+01 # Ow SPCE + 519 173 3 0.423800 2.648989e+01 1.118630e+01 1.312977e+01 # Hw SPCE + 520 174 3 0.423800 1.482572e+01 8.447714e+00 1.055548e+01 # Hw SPCE + 521 174 4 -0.847600 1.531227e+01 7.960482e+00 9.830314e+00 # Ow SPCE + 522 174 3 0.423800 1.465158e+01 7.577469e+00 9.184724e+00 # Hw SPCE + 523 175 3 0.423800 6.350160e+00 1.781671e+00 2.021119e+01 # Hw SPCE + 524 175 4 -0.847600 5.554766e+00 1.449580e+00 2.071820e+01 # Ow SPCE + 525 175 3 0.423800 4.990992e+00 2.226040e+00 2.099974e+01 # Hw SPCE + 526 176 3 0.423800 2.360588e+01 2.124534e+01 1.405838e+01 # Hw SPCE + 527 176 4 -0.847600 2.343533e+01 2.028764e+01 1.429017e+01 # Ow SPCE + 528 176 3 0.423800 2.247062e+01 2.007410e+01 1.413605e+01 # Hw SPCE + 529 177 3 0.423800 2.476177e+01 9.495265e+00 2.278084e+01 # Hw SPCE + 530 177 4 -0.847600 2.490594e+01 9.103976e+00 2.187194e+01 # Ow SPCE + 531 177 3 0.423800 2.584301e+01 8.762128e+00 2.180102e+01 # Hw SPCE + 532 178 3 0.423800 2.124801e+01 1.026202e+01 1.226324e+01 # Hw SPCE + 533 178 4 -0.847600 2.175978e+01 1.061858e+01 1.304488e+01 # Ow SPCE + 534 178 3 0.423800 2.143033e+01 1.018622e+01 1.388424e+01 # Hw SPCE + 535 179 3 0.423800 2.770461e+01 2.265303e+01 1.897481e+01 # Hw SPCE + 536 179 4 -0.847600 2.771622e+01 2.165817e+01 1.887413e+01 # Ow SPCE + 537 179 3 0.423800 2.699937e+01 2.137944e+01 1.823504e+01 # Hw SPCE + 538 180 3 0.423800 1.752412e+00 1.211560e+01 2.448378e+00 # Hw SPCE + 539 180 4 -0.847600 2.192876e+00 1.124630e+01 2.672646e+00 # Ow SPCE + 540 180 3 0.423800 1.502189e+00 1.052455e+01 2.717762e+00 # Hw SPCE + 541 181 3 0.423800 2.066796e+01 9.492666e+00 1.990433e+01 # Hw SPCE + 542 181 4 -0.847600 1.987345e+01 1.007578e+01 1.973481e+01 # Ow SPCE + 543 181 3 0.423800 1.945518e+01 1.033091e+01 2.060657e+01 # Hw SPCE + 544 182 3 0.423800 7.526139e+00 1.353553e+01 1.705107e+01 # Hw SPCE + 545 182 4 -0.847600 7.411920e+00 1.404119e+01 1.619593e+01 # Ow SPCE + 546 182 3 0.423800 7.814322e+00 1.495172e+01 1.629081e+01 # Hw SPCE + 547 183 3 0.423800 5.320834e+00 2.489018e+01 2.627333e+01 # Hw SPCE + 548 183 4 -0.847600 4.512268e+00 2.533586e+01 2.665751e+01 # Ow SPCE + 549 183 3 0.423800 3.697906e+00 2.503309e+01 2.616239e+01 # Hw SPCE + 550 184 3 0.423800 2.555518e+01 2.496555e+01 1.499745e+00 # Hw SPCE + 551 184 4 -0.847600 2.580931e+01 2.400607e+01 1.621410e+00 # Ow SPCE + 552 184 3 0.423800 2.498688e+01 2.343773e+01 1.596790e+00 # Hw SPCE + 553 185 3 0.423800 4.020936e+00 8.516876e+00 4.121746e+00 # Hw SPCE + 554 185 4 -0.847600 3.704058e+00 9.464727e+00 4.155894e+00 # Ow SPCE + 555 185 3 0.423800 4.491592e+00 1.008053e+01 4.131828e+00 # Hw SPCE + 556 186 3 0.423800 1.411577e+01 1.487915e+00 1.833251e+01 # Hw SPCE + 557 186 4 -0.847600 1.431943e+01 2.462252e+00 1.842837e+01 # Ow SPCE + 558 186 3 0.423800 1.347701e+01 2.990756e+00 1.832346e+01 # Hw SPCE + 559 187 3 0.423800 3.071401e+00 9.241825e+00 1.816214e+01 # Hw SPCE + 560 187 4 -0.847600 3.300129e+00 8.845865e+00 1.727282e+01 # Ow SPCE + 561 187 3 0.423800 2.487941e+00 8.845219e+00 1.668942e+01 # Hw SPCE + 562 188 3 0.423800 1.493937e+00 2.324979e+01 2.604098e+01 # Hw SPCE + 563 188 4 -0.847600 1.544148e+00 2.354108e+01 2.699630e+01 # Ow SPCE + 564 188 3 0.423800 1.493692e+00 2.273962e+01 2.759223e+01 # Hw SPCE + 565 189 3 0.423800 2.402950e+01 7.504644e+00 1.192867e+01 # Hw SPCE + 566 189 4 -0.847600 2.413727e+01 6.710938e+00 1.132999e+01 # Ow SPCE + 567 189 3 0.423800 2.508872e+01 6.403895e+00 1.135159e+01 # Hw SPCE + 568 190 3 0.423800 8.545646e+00 3.156383e+00 9.861230e+00 # Hw SPCE + 569 190 4 -0.847600 9.351073e+00 2.611171e+00 1.009367e+01 # Ow SPCE + 570 190 3 0.423800 1.011166e+01 3.219788e+00 1.031971e+01 # Hw SPCE + 571 191 3 0.423800 1.499645e+00 2.645193e+01 1.809386e+01 # Hw SPCE + 572 191 4 -0.847600 1.941124e+00 2.732475e+01 1.788582e+01 # Ow SPCE + 573 191 3 0.423800 2.336801e+00 2.770568e+01 1.872148e+01 # Hw SPCE + 574 192 3 0.423800 1.070874e+01 1.082303e+01 1.860632e+01 # Hw SPCE + 575 192 4 -0.847600 1.140325e+01 1.152845e+01 1.874785e+01 # Ow SPCE + 576 192 3 0.423800 1.230497e+01 1.110065e+01 1.881024e+01 # Hw SPCE + 577 193 3 0.423800 1.341290e+01 1.795517e+01 2.013626e+01 # Hw SPCE + 578 193 4 -0.847600 1.307952e+01 1.701238e+01 2.013931e+01 # Ow SPCE + 579 193 3 0.423800 1.309126e+01 1.665771e+01 2.107422e+01 # Hw SPCE + 580 194 3 0.423800 4.807785e+00 9.950438e+00 2.034530e+01 # Hw SPCE + 581 194 4 -0.847600 5.368387e+00 9.471078e+00 2.102053e+01 # Ow SPCE + 582 194 3 0.423800 6.091190e+00 8.962304e+00 2.055288e+01 # Hw SPCE + 583 195 3 0.423800 4.581666e+00 2.365989e+01 9.523923e+00 # Hw SPCE + 584 195 4 -0.847600 4.035775e+00 2.430184e+01 1.006236e+01 # Ow SPCE + 585 195 3 0.423800 3.083838e+00 2.426678e+01 9.758078e+00 # Hw SPCE + 586 196 3 0.423800 1.996454e+01 2.420988e+01 1.557209e+01 # Hw SPCE + 587 196 4 -0.847600 2.025724e+01 2.408856e+01 1.462361e+01 # Ow SPCE + 588 196 3 0.423800 2.091875e+01 2.479965e+01 1.438538e+01 # Hw SPCE + 589 197 3 0.423800 3.003372e+00 1.643713e+01 1.704879e+01 # Hw SPCE + 590 197 4 -0.847600 2.577322e+00 1.558424e+01 1.735056e+01 # Ow SPCE + 591 197 3 0.423800 1.583596e+00 1.569510e+01 1.736541e+01 # Hw SPCE + 592 198 3 0.423800 8.582183e+00 2.224273e+01 1.027837e+01 # Hw SPCE + 593 198 4 -0.847600 8.111157e+00 2.153125e+01 9.756897e+00 # Ow SPCE + 594 198 3 0.423800 8.773035e+00 2.084403e+01 9.457494e+00 # Hw SPCE + 595 199 3 0.423800 9.338267e+00 1.004752e+01 1.312920e+01 # Hw SPCE + 596 199 4 -0.847600 8.797900e+00 9.207329e+00 1.308363e+01 # Ow SPCE + 597 199 3 0.423800 7.916778e+00 9.352906e+00 1.353355e+01 # Hw SPCE + 598 200 3 0.423800 2.194779e+01 1.497417e+00 2.193037e+01 # Hw SPCE + 599 200 4 -0.847600 2.223387e+01 1.544058e+00 2.288744e+01 # Ow SPCE + 600 200 3 0.423800 2.323149e+01 1.499141e+00 2.293970e+01 # Hw SPCE + 601 201 3 0.423800 6.357928e+00 6.228009e+00 5.806627e+00 # Hw SPCE + 602 201 4 -0.847600 6.047437e+00 7.177648e+00 5.848827e+00 # Ow SPCE + 603 201 3 0.423800 6.617086e+00 7.741462e+00 5.250820e+00 # Hw SPCE + 604 202 3 0.423800 1.593029e+01 1.490608e+01 1.881990e+00 # Hw SPCE + 605 202 4 -0.847600 1.499401e+01 1.512044e+01 1.603720e+00 # Ow SPCE + 606 202 3 0.423800 1.441686e+01 1.431299e+01 1.725826e+00 # Hw SPCE + 607 203 3 0.423800 2.152874e+01 7.128493e+00 1.779600e+01 # Hw SPCE + 608 203 4 -0.847600 2.073272e+01 6.564299e+00 1.757685e+01 # Ow SPCE + 609 203 3 0.423800 2.013013e+01 6.514325e+00 1.837333e+01 # Hw SPCE + 610 204 3 0.423800 1.867722e+01 1.499875e+00 1.016897e+01 # Hw SPCE + 611 204 4 -0.847600 1.948249e+01 2.057017e+00 9.966143e+00 # Ow SPCE + 612 204 3 0.423800 2.030669e+01 1.498892e+00 1.006198e+01 # Hw SPCE + 613 205 3 0.423800 2.316922e+01 1.367353e+01 6.885430e+00 # Hw SPCE + 614 205 4 -0.847600 2.260716e+01 1.285895e+01 7.028829e+00 # Ow SPCE + 615 205 3 0.423800 2.319607e+01 1.205233e+01 7.079429e+00 # Hw SPCE + 616 206 3 0.423800 1.724802e+01 2.452784e+01 1.522277e+01 # Hw SPCE + 617 206 4 -0.847600 1.695269e+01 2.377047e+01 1.464039e+01 # Ow SPCE + 618 206 3 0.423800 1.764677e+01 2.305066e+01 1.465218e+01 # Hw SPCE + 619 207 3 0.423800 2.411268e+01 4.355955e+00 1.477705e+01 # Hw SPCE + 620 207 4 -0.847600 2.346927e+01 5.080864e+00 1.453102e+01 # Ow SPCE + 621 207 3 0.423800 2.313742e+01 4.930075e+00 1.359982e+01 # Hw SPCE + 622 208 3 0.423800 4.859519e+00 1.208976e+01 2.528815e+01 # Hw SPCE + 623 208 4 -0.847600 4.768744e+00 1.304357e+01 2.557451e+01 # Ow SPCE + 624 208 3 0.423800 3.968809e+00 1.313902e+01 2.616696e+01 # Hw SPCE + 625 209 3 0.423800 1.172825e+01 2.418010e+01 2.667409e+01 # Hw SPCE + 626 209 4 -0.847600 1.132283e+01 2.504940e+01 2.639133e+01 # Ow SPCE + 627 209 3 0.423800 1.154586e+01 2.522495e+01 2.543246e+01 # Hw SPCE + 628 210 3 0.423800 1.341122e+01 2.770513e+01 2.770549e+01 # Hw SPCE + 629 210 4 -0.847600 1.245960e+01 2.739875e+01 2.768238e+01 # Ow SPCE + 630 210 3 0.423800 1.204322e+01 2.766958e+01 2.681446e+01 # Hw SPCE + 631 211 3 0.423800 1.145241e+01 8.302455e+00 1.779676e+01 # Hw SPCE + 632 211 4 -0.847600 1.125478e+01 7.343016e+00 1.759571e+01 # Ow SPCE + 633 211 3 0.423800 1.210977e+01 6.857989e+00 1.741202e+01 # Hw SPCE + 634 212 3 0.423800 1.287925e+01 1.297774e+01 2.765935e+01 # Hw SPCE + 635 212 4 -0.847600 1.230585e+01 1.215930e+01 2.769630e+01 # Ow SPCE + 636 212 3 0.423800 1.134277e+01 1.242772e+01 2.771694e+01 # Hw SPCE + 637 213 3 0.423800 1.353894e+01 1.030050e+01 8.981176e+00 # Hw SPCE + 638 213 4 -0.847600 1.336051e+01 1.105021e+01 8.343917e+00 # Ow SPCE + 639 213 3 0.423800 1.239877e+01 1.103348e+01 8.070479e+00 # Hw SPCE + 640 214 3 0.423800 1.379608e+01 1.561648e+01 4.066143e+00 # Hw SPCE + 641 214 4 -0.847600 1.425485e+01 1.494262e+01 4.645317e+00 # Ow SPCE + 642 214 3 0.423800 1.500310e+01 1.538348e+01 5.141055e+00 # Hw SPCE + 643 215 3 0.423800 1.743267e+01 1.012996e+01 9.164174e+00 # Hw SPCE + 644 215 4 -0.847600 1.689952e+01 1.019764e+01 1.000748e+01 # Ow SPCE + 645 215 3 0.423800 1.610254e+01 1.078129e+01 9.852029e+00 # Hw SPCE + 646 216 3 0.423800 2.449752e+01 2.458848e+01 1.376845e+01 # Hw SPCE + 647 216 4 -0.847600 2.528553e+01 2.495639e+01 1.426210e+01 # Ow SPCE + 648 216 3 0.423800 2.534289e+01 2.452894e+01 1.516431e+01 # Hw SPCE + 649 217 3 0.423800 1.840558e+01 3.099439e+00 2.461987e+01 # Hw SPCE + 650 217 4 -0.847600 1.888190e+01 2.411523e+00 2.516749e+01 # Ow SPCE + 651 217 3 0.423800 1.859125e+01 1.498335e+00 2.488182e+01 # Hw SPCE + 652 218 3 0.423800 2.313333e+01 2.163166e+01 2.205864e+01 # Hw SPCE + 653 218 4 -0.847600 2.219594e+01 2.130927e+01 2.219041e+01 # Ow SPCE + 654 218 3 0.423800 2.158294e+01 2.209428e+01 2.227978e+01 # Hw SPCE + 655 219 3 0.423800 1.229832e+01 6.995752e+00 1.467363e+01 # Hw SPCE + 656 219 4 -0.847600 1.306529e+01 6.454869e+00 1.432837e+01 # Ow SPCE + 657 219 3 0.423800 1.350970e+01 5.982810e+00 1.508972e+01 # Hw SPCE + 658 220 3 0.423800 1.406803e+01 2.706445e+00 1.555541e+00 # Hw SPCE + 659 220 4 -0.847600 1.438807e+01 3.652120e+00 1.498299e+00 # Ow SPCE + 660 220 3 0.423800 1.360529e+01 4.272470e+00 1.547574e+00 # Hw SPCE + 661 221 3 0.423800 1.346094e+01 1.584618e+01 1.101422e+01 # Hw SPCE + 662 221 4 -0.847600 1.417123e+01 1.647755e+01 1.070299e+01 # Ow SPCE + 663 221 3 0.423800 1.506879e+01 1.605138e+01 1.081592e+01 # Hw SPCE + 664 222 3 0.423800 6.578749e+00 2.770463e+01 1.007095e+01 # Hw SPCE + 665 222 4 -0.847600 5.578913e+00 2.770497e+01 1.008903e+01 # Ow SPCE + 666 222 3 0.423800 5.245578e+00 2.676237e+01 1.010848e+01 # Hw SPCE + 667 223 3 0.423800 2.346524e+01 1.409205e+01 2.397168e+01 # Hw SPCE + 668 223 4 -0.847600 2.273539e+01 1.354071e+01 2.356753e+01 # Ow SPCE + 669 223 3 0.423800 2.313609e+01 1.282550e+01 2.299489e+01 # Hw SPCE + 670 224 3 0.423800 9.455855e+00 2.740531e+01 2.770496e+01 # Hw SPCE + 671 224 4 -0.847600 9.370999e+00 2.698567e+01 2.680125e+01 # Ow SPCE + 672 224 3 0.423800 9.379656e+00 2.769893e+01 2.610040e+01 # Hw SPCE + 673 225 3 0.423800 1.739219e+01 2.174463e+01 3.666550e+00 # Hw SPCE + 674 225 4 -0.847600 1.786402e+01 2.143690e+01 2.840303e+00 # Ow SPCE + 675 225 3 0.423800 1.877157e+01 2.109408e+01 3.082833e+00 # Hw SPCE + 676 226 3 0.423800 2.616571e+01 6.000875e+00 7.270531e+00 # Hw SPCE + 677 226 4 -0.847600 2.581662e+01 5.090419e+00 7.048703e+00 # Ow SPCE + 678 226 3 0.423800 2.500801e+01 5.176179e+00 6.466644e+00 # Hw SPCE + 679 227 3 0.423800 2.463564e+01 9.703885e+00 1.039308e+01 # Hw SPCE + 680 227 4 -0.847600 2.383949e+01 1.018568e+01 1.002699e+01 # Ow SPCE + 681 227 3 0.423800 2.359408e+01 1.093724e+01 1.063930e+01 # Hw SPCE + 682 228 3 0.423800 2.177044e+01 1.687390e+01 2.431866e+01 # Hw SPCE + 683 228 4 -0.847600 2.133664e+01 1.645723e+01 2.511753e+01 # Ow SPCE + 684 228 3 0.423800 2.195993e+01 1.578987e+01 2.552514e+01 # Hw SPCE + 685 229 3 0.423800 7.726348e+00 3.560323e+00 2.179374e+01 # Hw SPCE + 686 229 4 -0.847600 6.861868e+00 4.061639e+00 2.183058e+01 # Ow SPCE + 687 229 3 0.423800 6.645800e+00 4.420653e+00 2.092261e+01 # Hw SPCE + 688 230 3 0.423800 1.884037e+01 1.499599e+00 6.252581e+00 # Hw SPCE + 689 230 4 -0.847600 1.965401e+01 2.001138e+00 6.546590e+00 # Ow SPCE + 690 230 3 0.423800 2.008019e+01 1.523837e+00 7.315065e+00 # Hw SPCE + 691 231 3 0.423800 6.715548e+00 3.056808e+00 2.444232e+01 # Hw SPCE + 692 231 4 -0.847600 6.554914e+00 2.209760e+00 2.393566e+01 # Ow SPCE + 693 231 3 0.423800 6.112326e+00 1.542117e+00 2.453429e+01 # Hw SPCE + 694 232 3 0.423800 1.335233e+01 8.701900e+00 2.332491e+01 # Hw SPCE + 695 232 4 -0.847600 1.284324e+01 9.531573e+00 2.355397e+01 # Ow SPCE + 696 232 3 0.423800 1.192981e+01 9.484446e+00 2.314971e+01 # Hw SPCE + 697 233 3 0.423800 1.642811e+01 5.397368e+00 2.093058e+00 # Hw SPCE + 698 233 4 -0.847600 1.732324e+01 5.692575e+00 1.759011e+00 # Ow SPCE + 699 233 3 0.423800 1.732664e+01 6.686459e+00 1.648636e+00 # Hw SPCE + 700 234 3 0.423800 8.746384e+00 1.194555e+01 1.502826e+01 # Hw SPCE + 701 234 4 -0.847600 8.569902e+00 1.110875e+01 1.554655e+01 # Ow SPCE + 702 234 3 0.423800 9.214489e+00 1.104644e+01 1.630854e+01 # Hw SPCE + 703 235 3 0.423800 2.671040e+01 2.277390e+01 2.443136e+01 # Hw SPCE + 704 235 4 -0.847600 2.634248e+01 2.188483e+01 2.415900e+01 # Ow SPCE + 705 235 3 0.423800 2.540832e+01 2.199999e+01 2.382124e+01 # Hw SPCE + 706 236 3 0.423800 4.314700e+00 6.656624e+00 1.567087e+01 # Hw SPCE + 707 236 4 -0.847600 4.101082e+00 5.989344e+00 1.495735e+01 # Ow SPCE + 708 236 3 0.423800 4.681834e+00 6.155976e+00 1.416051e+01 # Hw SPCE + 709 237 3 0.423800 2.585970e+01 5.937546e+00 1.935423e+01 # Hw SPCE + 710 237 4 -0.847600 2.680819e+01 5.995046e+00 1.966578e+01 # Ow SPCE + 711 237 3 0.423800 2.685723e+01 6.574317e+00 2.047944e+01 # Hw SPCE + 712 238 3 0.423800 2.668626e+01 2.541072e+01 4.880638e+00 # Hw SPCE + 713 238 4 -0.847600 2.764667e+01 2.568864e+01 4.899778e+00 # Ow SPCE + 714 238 3 0.423800 2.770442e+01 2.668068e+01 5.011688e+00 # Hw SPCE + 715 239 3 0.423800 3.799348e+00 1.733873e+01 1.665944e+00 # Hw SPCE + 716 239 4 -0.847600 3.166531e+00 1.811195e+01 1.625052e+00 # Ow SPCE + 717 239 3 0.423800 2.227096e+00 1.777190e+01 1.582255e+00 # Hw SPCE + 718 240 3 0.423800 6.922100e+00 1.626292e+01 2.727964e+01 # Hw SPCE + 719 240 4 -0.847600 6.522882e+00 1.559908e+01 2.664724e+01 # Ow SPCE + 720 240 3 0.423800 6.008322e+00 1.491453e+01 2.716360e+01 # Hw SPCE + 721 241 3 0.423800 3.812524e+00 1.917142e+01 4.078941e+00 # Hw SPCE + 722 241 4 -0.847600 4.650408e+00 1.921783e+01 4.622812e+00 # Ow SPCE + 723 241 3 0.423800 5.291688e+00 1.985376e+01 4.193446e+00 # Hw SPCE + 724 242 3 0.423800 2.392996e+01 9.703159e+00 1.533263e+01 # Hw SPCE + 725 242 4 -0.847600 2.418034e+01 1.027088e+01 1.454841e+01 # Ow SPCE + 726 242 3 0.423800 2.425829e+01 9.697253e+00 1.373301e+01 # Hw SPCE + 727 243 3 0.423800 1.160740e+01 4.289690e+00 2.576183e+01 # Hw SPCE + 728 243 4 -0.847600 1.136615e+01 3.672164e+00 2.501319e+01 # Ow SPCE + 729 243 3 0.423800 1.134214e+01 4.183341e+00 2.415404e+01 # Hw SPCE + 730 244 3 0.423800 3.062271e+00 1.498880e+00 1.558829e+01 # Hw SPCE + 731 244 4 -0.847600 2.459085e+00 1.579929e+00 1.479482e+01 # Ow SPCE + 732 244 3 0.423800 1.507109e+00 1.499362e+00 1.509020e+01 # Hw SPCE + 733 245 3 0.423800 9.267839e+00 2.530564e+01 2.389467e+01 # Hw SPCE + 734 245 4 -0.847600 8.983831e+00 2.446671e+01 2.435894e+01 # Ow SPCE + 735 245 3 0.423800 8.616254e+00 2.382260e+01 2.368811e+01 # Hw SPCE + 736 246 3 0.423800 2.233187e+01 2.661754e+01 9.034738e+00 # Hw SPCE + 737 246 4 -0.847600 2.297202e+01 2.590388e+01 8.750298e+00 # Ow SPCE + 738 246 3 0.423800 2.361025e+01 2.571216e+01 9.495883e+00 # Hw SPCE + 739 247 3 0.423800 6.152311e+00 1.591896e+01 1.583244e+00 # Hw SPCE + 740 247 4 -0.847600 6.458131e+00 1.516173e+01 2.160380e+00 # Ow SPCE + 741 247 3 0.423800 7.447061e+00 1.522371e+01 2.295199e+00 # Hw SPCE + 742 248 3 0.423800 6.249483e+00 8.441998e+00 2.500313e+01 # Hw SPCE + 743 248 4 -0.847600 6.658605e+00 7.854146e+00 2.570102e+01 # Ow SPCE + 744 248 3 0.423800 7.286041e+00 7.207979e+00 2.526652e+01 # Hw SPCE + 745 249 3 0.423800 1.155584e+01 7.485508e+00 4.265325e+00 # Hw SPCE + 746 249 4 -0.847600 1.222371e+01 7.709122e+00 3.555440e+00 # Ow SPCE + 747 249 3 0.423800 1.307003e+01 7.203441e+00 3.722858e+00 # Hw SPCE + 748 250 3 0.423800 6.411808e+00 2.543586e+01 7.998512e+00 # Hw SPCE + 749 250 4 -0.847600 7.212358e+00 2.569130e+01 7.456414e+00 # Ow SPCE + 750 250 3 0.423800 7.538848e+00 2.659058e+01 7.747451e+00 # Hw SPCE + 751 251 3 0.423800 2.686488e+01 1.595570e+01 1.586290e+01 # Hw SPCE + 752 251 4 -0.847600 2.770669e+01 1.542553e+01 1.576147e+01 # Ow SPCE + 753 251 3 0.423800 2.766723e+01 1.489635e+01 1.491388e+01 # Hw SPCE + 754 252 3 0.423800 4.730891e+00 1.312809e+01 1.497769e+00 # Hw SPCE + 755 252 4 -0.847600 4.158177e+00 1.342867e+01 2.260428e+00 # Ow SPCE + 756 252 3 0.423800 3.624401e+00 1.422713e+01 1.981941e+00 # Hw SPCE + 757 253 3 0.423800 2.195203e+01 2.665489e+01 1.887230e+01 # Hw SPCE + 758 253 4 -0.847600 2.258974e+01 2.742501e+01 1.888802e+01 # Ow SPCE + 759 253 3 0.423800 2.352836e+01 2.708031e+01 1.890123e+01 # Hw SPCE + 760 254 3 0.423800 1.253712e+01 3.129762e+00 1.183063e+01 # Hw SPCE + 761 254 4 -0.847600 1.292118e+01 3.990106e+00 1.216575e+01 # Ow SPCE + 762 254 3 0.423800 1.383968e+01 3.827163e+00 1.252605e+01 # Hw SPCE + 763 255 3 0.423800 3.863000e+00 2.523218e+01 2.336537e+01 # Hw SPCE + 764 255 4 -0.847600 3.779878e+00 2.428180e+01 2.306556e+01 # Ow SPCE + 765 255 3 0.423800 4.073781e+00 2.367294e+01 2.380238e+01 # Hw SPCE + 766 256 3 0.423800 1.033123e+01 2.732718e+01 1.991221e+01 # Hw SPCE + 767 256 4 -0.847600 1.083128e+01 2.694936e+01 2.069145e+01 # Ow SPCE + 768 256 3 0.423800 1.037561e+01 2.611750e+01 2.100827e+01 # Hw SPCE + 769 257 3 0.423800 6.606032e+00 3.553686e+00 6.537013e+00 # Hw SPCE + 770 257 4 -0.847600 7.445947e+00 3.035012e+00 6.696762e+00 # Ow SPCE + 771 257 3 0.423800 7.233172e+00 2.208190e+00 7.217426e+00 # Hw SPCE + 772 258 3 0.423800 1.306905e+01 1.800714e+01 6.041763e+00 # Hw SPCE + 773 258 4 -0.847600 1.404572e+01 1.784783e+01 5.897769e+00 # Ow SPCE + 774 258 3 0.423800 1.446986e+01 1.867958e+01 5.539574e+00 # Hw SPCE + 775 259 3 0.423800 6.591547e+00 2.039778e+01 6.554188e+00 # Hw SPCE + 776 259 4 -0.847600 6.892178e+00 1.965746e+01 7.155484e+00 # Ow SPCE + 777 259 3 0.423800 7.891350e+00 1.961712e+01 7.160583e+00 # Hw SPCE + 778 260 3 0.423800 2.102357e+01 1.285810e+01 1.138197e+01 # Hw SPCE + 779 260 4 -0.847600 2.063601e+01 1.330654e+01 1.057655e+01 # Ow SPCE + 780 260 3 0.423800 2.040906e+01 1.425453e+01 1.079974e+01 # Hw SPCE + 781 261 3 0.423800 1.668139e+01 1.365676e+01 7.959222e+00 # Hw SPCE + 782 261 4 -0.847600 1.609109e+01 1.302602e+01 7.455519e+00 # Ow SPCE + 783 261 3 0.423800 1.657944e+01 1.216812e+01 7.295759e+00 # Hw SPCE + 784 262 3 0.423800 1.564369e+01 1.907066e+01 2.197727e+01 # Hw SPCE + 785 262 4 -0.847600 1.642857e+01 1.968608e+01 2.204959e+01 # Ow SPCE + 786 262 3 0.423800 1.726974e+01 1.914825e+01 2.210604e+01 # Hw SPCE + 787 263 3 0.423800 7.519411e+00 1.610097e+01 2.120584e+01 # Hw SPCE + 788 263 4 -0.847600 6.640364e+00 1.562428e+01 2.121221e+01 # Ow SPCE + 789 263 3 0.423800 5.897912e+00 1.629395e+01 2.119468e+01 # Hw SPCE + 790 264 3 0.423800 8.688944e+00 1.522738e+01 1.887923e+01 # Hw SPCE + 791 264 4 -0.847600 9.135790e+00 1.601512e+01 1.845520e+01 # Ow SPCE + 792 264 3 0.423800 1.009324e+01 1.579478e+01 1.826879e+01 # Hw SPCE + 793 265 3 0.423800 2.187599e+01 2.614658e+01 2.179133e+01 # Hw SPCE + 794 265 4 -0.847600 2.260916e+01 2.678722e+01 2.156320e+01 # Ow SPCE + 795 265 3 0.423800 2.235434e+01 2.770623e+01 2.186401e+01 # Hw SPCE + 796 266 3 0.423800 8.584848e+00 1.412426e+01 2.770388e+01 # Hw SPCE + 797 266 4 -0.847600 8.917922e+00 1.350413e+01 2.699360e+01 # Ow SPCE + 798 266 3 0.423800 8.385750e+00 1.363828e+01 2.615766e+01 # Hw SPCE + 799 267 3 0.423800 1.498403e+00 1.136667e+01 1.740482e+01 # Hw SPCE + 800 267 4 -0.847600 1.496704e+00 1.228079e+01 1.699937e+01 # Ow SPCE + 801 267 3 0.423800 1.493879e+00 1.296773e+01 1.772607e+01 # Hw SPCE + 802 268 3 0.423800 2.051142e+01 1.532290e+00 2.720074e+01 # Hw SPCE + 803 268 4 -0.847600 2.144152e+01 1.677620e+00 2.686340e+01 # Ow SPCE + 804 268 3 0.423800 2.143787e+01 1.673320e+00 2.586342e+01 # Hw SPCE + 805 269 3 0.423800 1.074975e+01 1.582297e+01 1.147179e+01 # Hw SPCE + 806 269 4 -0.847600 9.843024e+00 1.620321e+01 1.128940e+01 # Ow SPCE + 807 269 3 0.423800 9.486971e+00 1.582159e+01 1.043641e+01 # Hw SPCE + 808 270 3 0.423800 2.158512e+01 4.175374e+00 2.335242e+01 # Hw SPCE + 809 270 4 -0.847600 2.102097e+01 3.724302e+00 2.404399e+01 # Ow SPCE + 810 270 3 0.423800 2.100196e+01 4.281705e+00 2.487402e+01 # Hw SPCE + 811 271 3 0.423800 1.499420e+00 2.109325e+01 1.083546e+01 # Hw SPCE + 812 271 4 -0.847600 2.014482e+00 2.180659e+01 1.036021e+01 # Ow SPCE + 813 271 3 0.423800 2.990936e+00 2.159428e+01 1.039845e+01 # Hw SPCE + 814 272 3 0.423800 1.593017e+00 7.902730e+00 5.258905e+00 # Hw SPCE + 815 272 4 -0.847600 1.689156e+00 7.147133e+00 4.610962e+00 # Ow SPCE + 816 272 3 0.423800 1.505645e+00 7.476802e+00 3.684873e+00 # Hw SPCE + 817 273 3 0.423800 2.022395e+01 1.561529e+01 1.583840e+01 # Hw SPCE + 818 273 4 -0.847600 1.973203e+01 1.634844e+01 1.536883e+01 # Ow SPCE + 819 273 3 0.423800 1.880786e+01 1.603928e+01 1.514447e+01 # Hw SPCE + 820 274 3 0.423800 1.785576e+00 2.595467e+01 1.540470e+01 # Hw SPCE + 821 274 4 -0.847600 1.929174e+00 2.595737e+01 1.441507e+01 # Ow SPCE + 822 274 3 0.423800 1.499516e+00 2.676845e+01 1.401813e+01 # Hw SPCE + 823 275 3 0.423800 2.471608e+00 1.511177e+01 1.372759e+01 # Hw SPCE + 824 275 4 -0.847600 2.173815e+00 1.544011e+01 1.462398e+01 # Ow SPCE + 825 275 3 0.423800 1.499970e+00 1.616932e+01 1.450486e+01 # Hw SPCE + 826 276 3 0.423800 2.490164e+00 2.322823e+01 1.586321e+01 # Hw SPCE + 827 276 4 -0.847600 2.972830e+00 2.348324e+01 1.502535e+01 # Ow SPCE + 828 276 3 0.423800 3.763314e+00 2.405078e+01 1.525565e+01 # Hw SPCE + 829 277 3 0.423800 1.257057e+01 3.159471e+00 2.191679e+01 # Hw SPCE + 830 277 4 -0.847600 1.321241e+01 3.925963e+00 2.189377e+01 # Ow SPCE + 831 277 3 0.423800 1.270362e+01 4.785319e+00 2.184237e+01 # Hw SPCE + 832 278 3 0.423800 1.172696e+01 1.108398e+01 1.089481e+01 # Hw SPCE + 833 278 4 -0.847600 1.108144e+01 1.033095e+01 1.102229e+01 # Ow SPCE + 834 278 3 0.423800 1.021737e+01 1.055252e+01 1.057030e+01 # Hw SPCE + 835 279 3 0.423800 3.357999e+00 1.799692e+01 1.347523e+01 # Hw SPCE + 836 279 4 -0.847600 4.070804e+00 1.735174e+01 1.375027e+01 # Ow SPCE + 837 279 3 0.423800 4.175658e+00 1.737479e+01 1.474449e+01 # Hw SPCE + 838 280 3 0.423800 2.630102e+01 1.903409e+01 1.695517e+01 # Hw SPCE + 839 280 4 -0.847600 2.716892e+01 1.924741e+01 1.650657e+01 # Ow SPCE + 840 280 3 0.423800 2.727889e+01 1.866650e+01 1.570007e+01 # Hw SPCE + 841 281 3 0.423800 2.251004e+01 6.535603e+00 2.441833e+01 # Hw SPCE + 842 281 4 -0.847600 2.185183e+01 7.272694e+00 2.426517e+01 # Ow SPCE + 843 281 3 0.423800 2.104279e+01 7.120398e+00 2.483285e+01 # Hw SPCE + 844 282 3 0.423800 1.499087e+00 1.589499e+01 2.542090e+01 # Hw SPCE + 845 282 4 -0.847600 1.815620e+00 1.616034e+01 2.451019e+01 # Ow SPCE + 846 282 3 0.423800 2.765466e+00 1.587157e+01 2.439019e+01 # Hw SPCE + 847 283 3 0.423800 7.740973e+00 9.861514e+00 1.493066e+00 # Hw SPCE + 848 283 4 -0.847600 6.754170e+00 9.775212e+00 1.630077e+00 # Ow SPCE + 849 283 3 0.423800 6.577520e+00 9.309741e+00 2.497332e+00 # Hw SPCE + 850 284 3 0.423800 1.061617e+01 1.285220e+01 9.107683e+00 # Hw SPCE + 851 284 4 -0.847600 1.078537e+01 1.346180e+01 9.882119e+00 # Ow SPCE + 852 284 3 0.423800 1.170080e+01 1.385624e+01 9.802028e+00 # Hw SPCE + 853 285 3 0.423800 1.252982e+01 2.440492e+01 2.107781e+01 # Hw SPCE + 854 285 4 -0.847600 1.328350e+01 2.483431e+01 2.157539e+01 # Ow SPCE + 855 285 3 0.423800 1.301279e+01 2.575321e+01 2.186234e+01 # Hw SPCE + 856 286 3 0.423800 1.711392e+01 3.831843e+00 7.910876e+00 # Hw SPCE + 857 286 4 -0.847600 1.745648e+01 2.924441e+00 8.154342e+00 # Ow SPCE + 858 286 3 0.423800 1.668530e+01 2.317735e+00 8.347214e+00 # Hw SPCE + 859 287 3 0.423800 1.418372e+01 2.506933e+01 2.753477e+01 # Hw SPCE + 860 287 4 -0.847600 1.506448e+01 2.551120e+01 2.770510e+01 # Ow SPCE + 861 287 3 0.423800 1.537636e+01 2.596552e+01 2.687064e+01 # Hw SPCE + 862 288 3 0.423800 1.415443e+01 8.808654e+00 1.783263e+01 # Hw SPCE + 863 288 4 -0.847600 1.474094e+01 9.071980e+00 1.859858e+01 # Ow SPCE + 864 288 3 0.423800 1.484475e+01 1.006648e+01 1.861235e+01 # Hw SPCE + 865 289 3 0.423800 4.677556e+00 9.152557e+00 2.714451e+01 # Hw SPCE + 866 289 4 -0.847600 4.161429e+00 9.973113e+00 2.689895e+01 # Ow SPCE + 867 289 3 0.423800 3.680550e+00 1.031808e+01 2.770502e+01 # Hw SPCE + 868 290 3 0.423800 1.681375e+01 5.844343e+00 1.610055e+01 # Hw SPCE + 869 290 4 -0.847600 1.659584e+01 6.638638e+00 1.666766e+01 # Ow SPCE + 870 290 3 0.423800 1.560520e+01 6.774046e+00 1.668509e+01 # Hw SPCE + 871 291 3 0.423800 2.156748e+01 3.556166e+00 8.743084e+00 # Hw SPCE + 872 291 4 -0.847600 2.099885e+01 4.371413e+00 8.633380e+00 # Ow SPCE + 873 291 3 0.423800 2.011280e+01 4.110671e+00 8.250059e+00 # Hw SPCE + 874 292 3 0.423800 2.407964e+00 3.416603e+00 4.875553e+00 # Hw SPCE + 875 292 4 -0.847600 2.941172e+00 4.243659e+00 5.053503e+00 # Ow SPCE + 876 292 3 0.423800 3.734200e+00 4.013998e+00 5.617739e+00 # Hw SPCE + 877 293 3 0.423800 5.101947e+00 1.984796e+01 1.813229e+01 # Hw SPCE + 878 293 4 -0.847600 4.344155e+00 1.945528e+01 1.865340e+01 # Ow SPCE + 879 293 3 0.423800 4.223615e+00 1.849669e+01 1.839539e+01 # Hw SPCE + 880 294 3 0.423800 2.200936e+01 1.060534e+01 3.752114e+00 # Hw SPCE + 881 294 4 -0.847600 2.189049e+01 9.647989e+00 4.015453e+00 # Ow SPCE + 882 294 3 0.423800 2.092346e+01 9.401882e+00 3.949942e+00 # Hw SPCE + 883 295 3 0.423800 1.906823e+01 2.481498e+01 1.981312e+01 # Hw SPCE + 884 295 4 -0.847600 2.004704e+01 2.462769e+01 1.973036e+01 # Ow SPCE + 885 295 3 0.423800 2.020559e+01 2.364324e+01 1.980589e+01 # Hw SPCE + 886 296 3 0.423800 8.611320e+00 2.469462e+01 1.622672e+01 # Hw SPCE + 887 296 4 -0.847600 9.439002e+00 2.491431e+01 1.674313e+01 # Ow SPCE + 888 296 3 0.423800 9.564199e+00 2.590618e+01 1.676596e+01 # Hw SPCE + 889 297 3 0.423800 1.450721e+01 2.761357e+00 1.498414e+01 # Hw SPCE + 890 297 4 -0.847600 1.415911e+01 3.378652e+00 1.568967e+01 # Ow SPCE + 891 297 3 0.423800 1.492505e+01 3.846449e+00 1.613071e+01 # Hw SPCE + 892 298 3 0.423800 1.868170e+01 1.216338e+01 2.369258e+01 # Hw SPCE + 893 298 4 -0.847600 1.793724e+01 1.165537e+01 2.412583e+01 # Ow SPCE + 894 298 3 0.423800 1.733910e+01 1.127446e+01 2.342075e+01 # Hw SPCE + 895 299 3 0.423800 1.579916e+01 1.257851e+01 4.190722e+00 # Hw SPCE + 896 299 4 -0.847600 1.647864e+01 1.330728e+01 4.105902e+00 # Ow SPCE + 897 299 3 0.423800 1.738136e+01 1.290518e+01 3.952950e+00 # Hw SPCE + 898 300 3 0.423800 8.783834e+00 4.391999e+00 2.574931e+01 # Hw SPCE + 899 300 4 -0.847600 8.834362e+00 3.580977e+00 2.633214e+01 # Ow SPCE + 900 300 3 0.423800 9.303500e+00 3.811808e+00 2.718456e+01 # Hw SPCE + 901 301 3 0.423800 6.011865e+00 9.555313e+00 7.226940e+00 # Hw SPCE + 902 301 4 -0.847600 5.112292e+00 9.315952e+00 7.592283e+00 # Ow SPCE + 903 301 3 0.423800 5.076259e+00 9.543963e+00 8.565274e+00 # Hw SPCE + 904 302 3 0.423800 2.627737e+01 1.835769e+01 1.705721e+00 # Hw SPCE + 905 302 4 -0.847600 2.714217e+01 1.785579e+01 1.720783e+00 # Ow SPCE + 906 302 3 0.423800 2.696433e+01 1.689110e+01 1.915100e+00 # Hw SPCE + 907 303 3 0.423800 3.574592e+00 1.061416e+01 2.280540e+01 # Hw SPCE + 908 303 4 -0.847600 3.055829e+00 9.761396e+00 2.274473e+01 # Ow SPCE + 909 303 3 0.423800 2.083376e+00 9.969569e+00 2.263986e+01 # Hw SPCE + 910 304 3 0.423800 6.296561e+00 4.609936e+00 3.590033e+00 # Hw SPCE + 911 304 4 -0.847600 5.307980e+00 4.579235e+00 3.442501e+00 # Ow SPCE + 912 304 3 0.423800 4.921826e+00 5.491212e+00 3.581000e+00 # Hw SPCE + 913 305 3 0.423800 2.206674e+01 2.595682e+01 2.671382e+01 # Hw SPCE + 914 305 4 -0.847600 2.135678e+01 2.658763e+01 2.702694e+01 # Ow SPCE + 915 305 3 0.423800 2.078094e+01 2.613123e+01 2.770524e+01 # Hw SPCE + 916 306 3 0.423800 1.817609e+01 2.098444e+01 2.027086e+01 # Hw SPCE + 917 306 4 -0.847600 1.916371e+01 2.114133e+01 2.027198e+01 # Ow SPCE + 918 306 3 0.423800 1.957493e+01 2.067163e+01 2.105318e+01 # Hw SPCE + 919 307 3 0.423800 1.508206e+01 2.274541e+01 1.655332e+01 # Hw SPCE + 920 307 4 -0.847600 1.463912e+01 2.352206e+01 1.610542e+01 # Ow SPCE + 921 307 3 0.423800 1.476799e+01 2.434437e+01 1.665968e+01 # Hw SPCE + 922 308 3 0.423800 1.860141e+01 7.614679e+00 1.499272e+01 # Hw SPCE + 923 308 4 -0.847600 1.949309e+01 7.194380e+00 1.516084e+01 # Ow SPCE + 924 308 3 0.423800 1.938985e+01 6.200796e+00 1.520703e+01 # Hw SPCE + 925 309 3 0.423800 2.555072e+01 1.158947e+01 2.770860e+01 # Hw SPCE + 926 309 4 -0.847600 2.643932e+01 1.113079e+01 2.770565e+01 # Ow SPCE + 927 309 3 0.423800 2.716796e+01 1.181567e+01 2.770996e+01 # Hw SPCE + 928 310 3 0.423800 1.722971e+01 1.047192e+01 5.228288e+00 # Hw SPCE + 929 310 4 -0.847600 1.777259e+01 9.727661e+00 4.839246e+00 # Ow SPCE + 930 310 3 0.423800 1.859163e+01 9.586550e+00 5.395364e+00 # Hw SPCE + 931 311 3 0.423800 2.587903e+01 2.770480e+01 1.071070e+01 # Hw SPCE + 932 311 4 -0.847600 2.587408e+01 2.767484e+01 9.711163e+00 # Ow SPCE + 933 311 3 0.423800 2.681437e+01 2.762443e+01 9.374545e+00 # Hw SPCE + 934 312 3 0.423800 2.683452e+01 2.499904e+00 1.613606e+01 # Hw SPCE + 935 312 4 -0.847600 2.653269e+01 3.436233e+00 1.631547e+01 # Ow SPCE + 936 312 3 0.423800 2.724944e+01 3.928654e+00 1.680922e+01 # Hw SPCE + 937 313 3 0.423800 1.949268e+01 1.128367e+01 2.484942e+00 # Hw SPCE + 938 313 4 -0.847600 2.013505e+01 1.203650e+01 2.341412e+00 # Ow SPCE + 939 313 3 0.423800 1.964783e+01 1.290736e+01 2.406347e+00 # Hw SPCE + 940 314 3 0.423800 7.709374e+00 2.414404e+01 2.771162e+01 # Hw SPCE + 941 314 4 -0.847600 8.447079e+00 2.438436e+01 2.708072e+01 # Ow SPCE + 942 314 3 0.423800 9.057350e+00 2.360032e+01 2.696734e+01 # Hw SPCE + 943 315 3 0.423800 2.770494e+01 2.154717e+00 2.400702e+01 # Hw SPCE + 944 315 4 -0.847600 2.722867e+01 2.468793e+00 2.482831e+01 # Ow SPCE + 945 315 3 0.423800 2.767391e+01 2.087109e+00 2.563830e+01 # Hw SPCE + 946 316 3 0.423800 2.312652e+01 2.631054e+01 1.499737e+00 # Hw SPCE + 947 316 4 -0.847600 2.283269e+01 2.535561e+01 1.541925e+00 # Ow SPCE + 948 316 3 0.423800 2.209421e+01 2.526330e+01 2.209853e+00 # Hw SPCE + 949 317 3 0.423800 3.512223e+00 1.506331e+01 2.059379e+01 # Hw SPCE + 950 317 4 -0.847600 2.579657e+00 1.521266e+01 2.026513e+01 # Ow SPCE + 951 317 3 0.423800 1.995243e+00 1.548068e+01 2.103105e+01 # Hw SPCE + 952 318 3 0.423800 2.429693e+01 7.441439e+00 8.683691e+00 # Hw SPCE + 953 318 4 -0.847600 2.381138e+01 6.574628e+00 8.570202e+00 # Ow SPCE + 954 318 3 0.423800 2.314115e+01 6.662026e+00 7.833213e+00 # Hw SPCE + 955 319 3 0.423800 7.522703e+00 2.737277e+01 3.043788e+00 # Hw SPCE + 956 319 4 -0.847600 8.363778e+00 2.691935e+01 3.338753e+00 # Ow SPCE + 957 319 3 0.423800 9.106122e+00 2.758810e+01 3.380004e+00 # Hw SPCE + 958 320 3 0.423800 1.882098e+01 5.571858e+00 2.228557e+01 # Hw SPCE + 959 320 4 -0.847600 1.938648e+01 5.803385e+00 2.307715e+01 # Ow SPCE + 960 320 3 0.423800 1.882965e+01 5.766062e+00 2.390694e+01 # Hw SPCE + 961 321 3 0.423800 2.349594e+01 1.890656e+01 2.187820e+01 # Hw SPCE + 962 321 4 -0.847600 2.438719e+01 1.922899e+01 2.155931e+01 # Ow SPCE + 963 321 3 0.423800 2.446815e+01 1.906638e+01 2.057594e+01 # Hw SPCE + 964 322 3 0.423800 9.536260e+00 5.620589e+00 4.385983e+00 # Hw SPCE + 965 322 4 -0.847600 9.017970e+00 4.765629e+00 4.365479e+00 # Ow SPCE + 966 322 3 0.423800 9.365801e+00 4.147994e+00 5.070843e+00 # Hw SPCE + 967 323 3 0.423800 6.563604e+00 1.144852e+01 5.310816e+00 # Hw SPCE + 968 323 4 -0.847600 7.395750e+00 1.159137e+01 5.846659e+00 # Ow SPCE + 969 323 3 0.423800 7.176574e+00 1.211622e+01 6.669152e+00 # Hw SPCE + 970 324 3 0.423800 1.966990e+01 1.748868e+01 1.152281e+01 # Hw SPCE + 971 324 4 -0.847600 2.032778e+01 1.685289e+01 1.192649e+01 # Ow SPCE + 972 324 3 0.423800 1.986999e+01 1.629389e+01 1.261783e+01 # Hw SPCE + 973 325 3 0.423800 1.747869e+01 1.936643e+01 1.586861e+01 # Hw SPCE + 974 325 4 -0.847600 1.772310e+01 1.843509e+01 1.613854e+01 # Ow SPCE + 975 325 3 0.423800 1.692776e+01 1.783807e+01 1.603358e+01 # Hw SPCE + 976 326 3 0.423800 7.512513e+00 6.837798e+00 1.561602e+00 # Hw SPCE + 977 326 4 -0.847600 7.975365e+00 5.953103e+00 1.506077e+00 # Ow SPCE + 978 326 3 0.423800 8.941306e+00 6.067128e+00 1.738364e+00 # Hw SPCE + 979 327 3 0.423800 1.576153e+01 1.524842e+00 5.104682e+00 # Hw SPCE + 980 327 4 -0.847600 1.648750e+01 2.206265e+00 5.011799e+00 # Ow SPCE + 981 327 3 0.423800 1.619187e+01 3.066886e+00 5.426446e+00 # Hw SPCE + 982 328 3 0.423800 1.041282e+01 1.861899e+01 5.679153e+00 # Hw SPCE + 983 328 4 -0.847600 1.039014e+01 1.838326e+01 4.707600e+00 # Ow SPCE + 984 328 3 0.423800 1.080342e+01 1.748259e+01 4.573414e+00 # Hw SPCE + 985 329 3 0.423800 1.662912e+01 1.960472e+01 1.057467e+01 # Hw SPCE + 986 329 4 -0.847600 1.568158e+01 1.987224e+01 1.074964e+01 # Ow SPCE + 987 329 3 0.423800 1.512288e+01 1.905336e+01 1.088108e+01 # Hw SPCE + 988 330 3 0.423800 2.562112e+01 2.330374e+00 2.186263e+01 # Hw SPCE + 989 330 4 -0.847600 2.639694e+01 2.945170e+00 2.172070e+01 # Ow SPCE + 990 330 3 0.423800 2.613489e+01 3.671241e+00 2.108498e+01 # Hw SPCE + 991 331 3 0.423800 2.448963e+01 1.656753e+01 2.459110e+01 # Hw SPCE + 992 331 4 -0.847600 2.532168e+01 1.702758e+01 2.490103e+01 # Ow SPCE + 993 331 3 0.423800 2.611790e+01 1.646961e+01 2.466717e+01 # Hw SPCE + 994 332 3 0.423800 6.417758e+00 2.435520e+01 1.460340e+01 # Hw SPCE + 995 332 4 -0.847600 6.300358e+00 2.524145e+01 1.415532e+01 # Ow SPCE + 996 332 3 0.423800 7.192182e+00 2.558969e+01 1.386657e+01 # Hw SPCE + 997 333 3 0.423800 2.759772e+01 1.733045e+00 3.198930e+00 # Hw SPCE + 998 333 4 -0.847600 2.733255e+01 1.589050e+00 2.245541e+00 # Ow SPCE + 999 333 3 0.423800 2.681386e+01 2.379914e+00 1.920750e+00 # Hw SPCE + 1000 334 3 0.423800 2.588019e+01 1.500059e+00 1.857574e+01 # Hw SPCE + 1001 334 4 -0.847600 2.521085e+01 2.077152e+00 1.904366e+01 # Ow SPCE + 1002 334 3 0.423800 2.452203e+01 1.500061e+00 1.948240e+01 # Hw SPCE + 1003 335 3 0.423800 2.129430e+01 2.706783e+01 2.431980e+01 # Hw SPCE + 1004 335 4 -0.847600 2.048933e+01 2.761599e+01 2.454682e+01 # Ow SPCE + 1005 335 3 0.423800 1.990824e+01 2.770571e+01 2.373794e+01 # Hw SPCE + 1006 336 3 0.423800 7.846173e+00 1.094805e+01 9.044554e+00 # Hw SPCE + 1007 336 4 -0.847600 8.350386e+00 1.031715e+01 8.454855e+00 # Ow SPCE + 1008 336 3 0.423800 9.135128e+00 1.079028e+01 8.054438e+00 # Hw SPCE + 1009 337 3 0.423800 1.813806e+01 1.135820e+01 1.530019e+01 # Hw SPCE + 1010 337 4 -0.847600 1.803468e+01 1.102175e+01 1.436418e+01 # Ow SPCE + 1011 337 3 0.423800 1.870041e+01 1.029479e+01 1.419585e+01 # Hw SPCE + 1012 338 3 0.423800 1.930193e+01 1.912951e+00 3.422805e+00 # Hw SPCE + 1013 338 4 -0.847600 2.017995e+01 1.724286e+00 3.862672e+00 # Ow SPCE + 1014 338 3 0.423800 2.082751e+01 2.453171e+00 3.640448e+00 # Hw SPCE + 1015 339 3 0.423800 4.001940e+00 8.178245e+00 1.133370e+01 # Hw SPCE + 1016 339 4 -0.847600 3.264545e+00 8.098159e+00 1.066300e+01 # Ow SPCE + 1017 339 3 0.423800 3.600575e+00 7.615500e+00 9.854222e+00 # Hw SPCE + 1018 340 3 0.423800 1.659027e+01 2.182766e+01 6.306849e+00 # Hw SPCE + 1019 340 4 -0.847600 1.573368e+01 2.131770e+01 6.228114e+00 # Ow SPCE + 1020 340 3 0.423800 1.525717e+01 2.159339e+01 5.393290e+00 # Hw SPCE + 1021 341 3 0.423800 1.307614e+01 1.247914e+01 2.352415e+01 # Hw SPCE + 1022 341 4 -0.847600 1.282345e+01 1.342121e+01 2.374472e+01 # Ow SPCE + 1023 341 3 0.423800 1.200319e+01 1.367502e+01 2.323212e+01 # Hw SPCE + 1024 342 3 0.423800 1.497260e+00 1.394711e+01 5.663732e+00 # Hw SPCE + 1025 342 4 -0.847600 1.700412e+00 1.368341e+01 4.720762e+00 # Ow SPCE + 1026 342 3 0.423800 2.683724e+00 1.376262e+01 4.556984e+00 # Hw SPCE + 1027 343 3 0.423800 1.331392e+01 4.053633e+00 8.310192e+00 # Hw SPCE + 1028 343 4 -0.847600 1.396490e+01 4.044457e+00 7.551157e+00 # Ow SPCE + 1029 343 3 0.423800 1.422587e+01 3.100890e+00 7.347255e+00 # Hw SPCE + 1030 344 3 0.423800 1.981757e+01 1.143084e+01 8.740400e+00 # Hw SPCE + 1031 344 4 -0.847600 2.013820e+01 1.062139e+01 9.232317e+00 # Ow SPCE + 1032 344 3 0.423800 2.106600e+01 1.078181e+01 9.569139e+00 # Hw SPCE + 1033 345 3 0.423800 1.322045e+01 1.551728e+01 1.471662e+01 # Hw SPCE + 1034 345 4 -0.847600 1.356744e+01 1.622003e+01 1.533770e+01 # Ow SPCE + 1035 345 3 0.423800 1.280432e+01 1.676712e+01 1.568170e+01 # Hw SPCE + 1036 346 3 0.423800 2.397971e+01 1.596693e+01 4.479312e+00 # Hw SPCE + 1037 346 4 -0.847600 2.394370e+01 1.692386e+01 4.191220e+00 # Ow SPCE + 1038 346 3 0.423800 2.474897e+01 1.713577e+01 3.637489e+00 # Hw SPCE + 1039 347 3 0.423800 2.621039e+01 2.495880e+01 9.979554e+00 # Hw SPCE + 1040 347 4 -0.847600 2.717528e+01 2.491488e+01 9.720619e+00 # Ow SPCE + 1041 347 3 0.423800 2.770734e+01 2.453968e+01 1.047966e+01 # Hw SPCE + 1042 348 3 0.423800 1.496218e+01 1.063514e+01 2.219722e+01 # Hw SPCE + 1043 348 4 -0.847600 1.527717e+01 9.890283e+00 2.160902e+01 # Ow SPCE + 1044 348 3 0.423800 1.616433e+01 1.012956e+01 2.121444e+01 # Hw SPCE + 1045 349 3 0.423800 5.054437e+00 2.163300e+01 1.503551e+01 # Hw SPCE + 1046 349 4 -0.847600 4.322602e+00 2.106058e+01 1.466572e+01 # Ow SPCE + 1047 349 3 0.423800 4.564201e+00 2.009674e+01 1.477821e+01 # Hw SPCE + 1048 350 3 0.423800 1.707807e+01 2.164478e+01 1.236295e+01 # Hw SPCE + 1049 350 4 -0.847600 1.667106e+01 2.225955e+01 1.168739e+01 # Ow SPCE + 1050 350 3 0.423800 1.611709e+01 2.294854e+01 1.215474e+01 # Hw SPCE + 1051 351 3 0.423800 6.976035e+00 1.779520e+01 1.276337e+01 # Hw SPCE + 1052 351 4 -0.847600 6.523152e+00 1.699626e+01 1.236766e+01 # Ow SPCE + 1053 351 3 0.423800 7.208840e+00 1.630862e+01 1.212892e+01 # Hw SPCE + 1054 352 3 0.423800 2.164730e+01 2.694246e+01 1.255154e+01 # Hw SPCE + 1055 352 4 -0.847600 2.229751e+01 2.618901e+01 1.245390e+01 # Ow SPCE + 1056 352 3 0.423800 2.315706e+01 2.653692e+01 1.207954e+01 # Hw SPCE + 1057 353 3 0.423800 6.833277e+00 2.770802e+01 1.645841e+01 # Hw SPCE + 1058 353 4 -0.847600 7.004922e+00 2.688481e+01 1.699957e+01 # Ow SPCE + 1059 353 3 0.423800 6.350781e+00 2.617384e+01 1.674145e+01 # Hw SPCE + 1060 354 3 0.423800 1.839299e+01 2.770356e+01 2.009264e+01 # Hw SPCE + 1061 354 4 -0.847600 1.905118e+01 2.770991e+01 2.084546e+01 # Ow SPCE + 1062 354 3 0.423800 1.998036e+01 2.770478e+01 2.047586e+01 # Hw SPCE + 1063 355 3 0.423800 2.064587e+01 1.196502e+01 2.770409e+01 # Hw SPCE + 1064 355 4 -0.847600 2.115792e+01 1.209057e+01 2.685436e+01 # Ow SPCE + 1065 355 3 0.423800 2.178395e+01 1.286403e+01 2.695363e+01 # Hw SPCE + 1066 356 3 0.423800 2.679484e+01 2.239034e+01 1.193203e+01 # Hw SPCE + 1067 356 4 -0.847600 2.667630e+01 2.273676e+01 1.286259e+01 # Ow SPCE + 1068 356 3 0.423800 2.726684e+01 2.353199e+01 1.299996e+01 # Hw SPCE + 1069 357 3 0.423800 2.770507e+01 1.752615e+01 1.228536e+01 # Hw SPCE + 1070 357 4 -0.847600 2.749083e+01 1.721084e+01 1.320985e+01 # Ow SPCE + 1071 357 3 0.423800 2.659323e+01 1.677004e+01 1.321203e+01 # Hw SPCE + 1072 358 3 0.423800 7.054104e+00 1.410756e+01 4.776771e+00 # Hw SPCE + 1073 358 4 -0.847600 8.051952e+00 1.404602e+01 4.799402e+00 # Ow SPCE + 1074 358 3 0.423800 8.434858e+00 1.493321e+01 5.056846e+00 # Hw SPCE + 1075 359 3 0.423800 7.117855e+00 1.158648e+01 2.086169e+01 # Hw SPCE + 1076 359 4 -0.847600 7.039453e+00 1.242040e+01 2.031541e+01 # Ow SPCE + 1077 359 3 0.423800 7.832717e+00 1.249916e+01 1.971165e+01 # Hw SPCE + 1078 360 3 0.423800 2.261313e+01 1.962782e+01 4.727741e+00 # Hw SPCE + 1079 360 4 -0.847600 2.305377e+01 1.917276e+01 5.501535e+00 # Ow SPCE + 1080 360 3 0.423800 2.246091e+01 1.923188e+01 6.304662e+00 # Hw SPCE + 1081 361 3 0.423800 2.644084e+00 2.634256e+01 1.150517e+01 # Hw SPCE + 1082 361 4 -0.847600 2.636942e+00 2.733967e+01 1.158078e+01 # Ow SPCE + 1083 361 3 0.423800 1.836409e+00 2.770428e+01 1.110516e+01 # Hw SPCE + 1084 362 3 0.423800 8.040783e+00 1.358334e+01 9.796191e+00 # Hw SPCE + 1085 362 4 -0.847600 7.086989e+00 1.388373e+01 9.802364e+00 # Ow SPCE + 1086 362 3 0.423800 6.576055e+00 1.338543e+01 9.101906e+00 # Hw SPCE + 1087 363 3 0.423800 2.619651e+00 1.319647e+01 2.242900e+01 # Hw SPCE + 1088 363 4 -0.847600 1.972508e+00 1.282938e+01 2.309717e+01 # Ow SPCE + 1089 363 3 0.423800 1.494472e+00 1.358356e+01 2.354737e+01 # Hw SPCE + 1090 364 3 0.423800 4.287560e+00 6.326031e+00 2.681750e+01 # Hw SPCE + 1091 364 4 -0.847600 4.221751e+00 5.858179e+00 2.593615e+01 # Ow SPCE + 1092 364 3 0.423800 4.606223e+00 4.938624e+00 2.601739e+01 # Hw SPCE + 1093 365 3 0.423800 2.134184e+01 1.704290e+01 5.072956e+00 # Hw SPCE + 1094 365 4 -0.847600 2.040579e+01 1.710436e+01 4.726504e+00 # Ow SPCE + 1095 365 3 0.423800 2.037017e+01 1.673983e+01 3.795993e+00 # Hw SPCE + 1096 366 3 0.423800 1.898318e+01 2.671834e+01 1.475007e+01 # Hw SPCE + 1097 366 4 -0.847600 1.928304e+01 2.767034e+01 1.481164e+01 # Ow SPCE + 1098 366 3 0.423800 2.028241e+01 2.770555e+01 1.481376e+01 # Hw SPCE + 1099 367 3 0.423800 2.348205e+01 1.705352e+01 2.743345e+01 # Hw SPCE + 1100 367 4 -0.847600 2.446126e+01 1.722463e+01 2.754240e+01 # Ow SPCE + 1101 367 3 0.423800 2.461312e+01 1.819940e+01 2.770595e+01 # Hw SPCE + 1102 368 3 0.423800 2.430373e+01 1.513396e+01 1.529098e+01 # Hw SPCE + 1103 368 4 -0.847600 2.387002e+01 1.513478e+01 1.619203e+01 # Ow SPCE + 1104 368 3 0.423800 2.295803e+01 1.553908e+01 1.612260e+01 # Hw SPCE + 1105 369 3 0.423800 1.140164e+01 2.512691e+01 1.865711e+01 # Hw SPCE + 1106 369 4 -0.847600 1.159315e+01 2.415737e+01 1.850437e+01 # Ow SPCE + 1107 369 3 0.423800 1.256364e+01 2.403832e+01 1.829465e+01 # Hw SPCE + 1108 370 3 0.423800 1.903749e+01 1.236107e+01 6.079139e+00 # Hw SPCE + 1109 370 4 -0.847600 2.003143e+01 1.240506e+01 6.179850e+00 # Ow SPCE + 1110 370 3 0.423800 2.044270e+01 1.158083e+01 5.790615e+00 # Hw SPCE + 1111 371 3 0.423800 1.282548e+01 1.241244e+01 1.303471e+01 # Hw SPCE + 1112 371 4 -0.847600 1.310760e+01 1.337123e+01 1.300088e+01 # Ow SPCE + 1113 371 3 0.423800 1.235662e+01 1.392727e+01 1.264472e+01 # Hw SPCE + 1114 372 3 0.423800 1.455246e+01 1.713196e+01 1.777281e+01 # Hw SPCE + 1115 372 4 -0.847600 1.483389e+01 1.618051e+01 1.789743e+01 # Ow SPCE + 1116 372 3 0.423800 1.582185e+01 1.614204e+01 1.804727e+01 # Hw SPCE + 1117 373 3 0.423800 2.660254e+01 1.154715e+01 7.873309e+00 # Hw SPCE + 1118 373 4 -0.847600 2.566434e+01 1.120992e+01 7.951077e+00 # Ow SPCE + 1119 373 3 0.423800 2.566312e+01 1.021159e+01 7.893201e+00 # Hw SPCE + 1120 374 3 0.423800 8.706708e+00 9.237566e+00 1.972409e+01 # Hw SPCE + 1121 374 4 -0.847600 8.843305e+00 8.419627e+00 1.916524e+01 # Ow SPCE + 1122 374 3 0.423800 9.468501e+00 7.795949e+00 1.963445e+01 # Hw SPCE + 1123 375 3 0.423800 1.904385e+01 2.517573e+01 1.240879e+01 # Hw SPCE + 1124 375 4 -0.847600 1.846922e+01 2.435960e+01 1.234762e+01 # Ow SPCE + 1125 375 3 0.423800 1.904403e+01 2.355925e+01 1.217725e+01 # Hw SPCE + 1126 376 3 0.423800 1.112677e+01 1.997104e+01 2.147548e+00 # Hw SPCE + 1127 376 4 -0.847600 1.122781e+01 2.093546e+01 1.903215e+00 # Ow SPCE + 1128 376 3 0.423800 1.219941e+01 2.116740e+01 1.856343e+00 # Hw SPCE + 1129 377 3 0.423800 2.578920e+01 1.183896e+01 1.708350e+01 # Hw SPCE + 1130 377 4 -0.847600 2.566789e+01 1.208960e+01 1.612305e+01 # Ow SPCE + 1131 377 3 0.423800 2.594628e+01 1.304067e+01 1.598904e+01 # Hw SPCE + 1132 378 3 0.423800 1.394495e+01 2.009220e+01 8.623841e+00 # Hw SPCE + 1133 378 4 -0.847600 1.430818e+01 1.923404e+01 8.261025e+00 # Ow SPCE + 1134 378 3 0.423800 1.528668e+01 1.933569e+01 8.081558e+00 # Hw SPCE + 1135 379 3 0.423800 5.844676e+00 2.770452e+01 2.407135e+01 # Hw SPCE + 1136 379 4 -0.847600 6.002067e+00 2.672754e+01 2.421532e+01 # Ow SPCE + 1137 379 3 0.423800 6.928604e+00 2.658707e+01 2.456432e+01 # Hw SPCE + 1138 380 3 0.423800 1.960711e+01 1.884907e+01 1.867877e+01 # Hw SPCE + 1139 380 4 -0.847600 1.959153e+01 1.836640e+01 1.955444e+01 # Ow SPCE + 1140 380 3 0.423800 1.864928e+01 1.830285e+01 1.988328e+01 # Hw SPCE + 1141 381 3 0.423800 1.937001e+01 2.231144e+01 7.504950e+00 # Hw SPCE + 1142 381 4 -0.847600 1.903775e+01 2.136844e+01 7.486339e+00 # Ow SPCE + 1143 381 3 0.423800 1.981507e+01 2.074229e+01 7.425510e+00 # Hw SPCE + 1144 382 3 0.423800 1.186903e+01 7.804165e+00 2.097534e+01 # Hw SPCE + 1145 382 4 -0.847600 1.191707e+01 8.691479e+00 2.051668e+01 # Ow SPCE + 1146 382 3 0.423800 1.284539e+01 9.055616e+00 2.059166e+01 # Hw SPCE + 1147 383 3 0.423800 1.254816e+01 1.752163e+01 2.720322e+01 # Hw SPCE + 1148 383 4 -0.847600 1.171866e+01 1.807176e+01 2.729959e+01 # Ow SPCE + 1149 383 3 0.423800 1.195006e+01 1.895518e+01 2.770705e+01 # Hw SPCE + 1150 384 3 0.423800 2.457569e+01 2.221691e+01 1.644026e+01 # Hw SPCE + 1151 384 4 -0.847600 2.471053e+01 2.126493e+01 1.671514e+01 # Ow SPCE + 1152 384 3 0.423800 2.384588e+01 2.088835e+01 1.704767e+01 # Hw SPCE + 1153 385 3 0.423800 1.283404e+01 2.766561e+01 2.418101e+01 # Hw SPCE + 1154 385 4 -0.847600 1.206202e+01 2.770764e+01 2.354681e+01 # Ow SPCE + 1155 385 3 0.423800 1.120852e+01 2.757858e+01 2.405168e+01 # Hw SPCE + 1156 386 3 0.423800 1.749501e+01 9.243189e+00 2.770432e+01 # Hw SPCE + 1157 386 4 -0.847600 1.707406e+01 8.336104e+00 2.770498e+01 # Ow SPCE + 1158 386 3 0.423800 1.778896e+01 7.636892e+00 2.770954e+01 # Hw SPCE + 1159 387 3 0.423800 3.764698e+00 4.444911e+00 2.206397e+01 # Hw SPCE + 1160 387 4 -0.847600 3.228879e+00 4.580528e+00 2.123060e+01 # Ow SPCE + 1161 387 3 0.423800 3.845459e+00 4.663162e+00 2.044766e+01 # Hw SPCE + 1162 388 3 0.423800 1.825404e+01 5.005912e+00 1.014694e+01 # Hw SPCE + 1163 388 4 -0.847600 1.843498e+01 5.919465e+00 9.782683e+00 # Ow SPCE + 1164 388 3 0.423800 1.764323e+01 6.507321e+00 9.948697e+00 # Hw SPCE + 1165 389 3 0.423800 1.376578e+01 2.484946e+01 1.386117e+01 # Hw SPCE + 1166 389 4 -0.847600 1.385130e+01 2.411884e+01 1.318378e+01 # Ow SPCE + 1167 389 3 0.423800 1.295121e+01 2.391359e+01 1.279947e+01 # Hw SPCE + 1168 390 3 0.423800 6.083757e+00 4.915302e+00 1.185692e+01 # Hw SPCE + 1169 390 4 -0.847600 5.091254e+00 4.926633e+00 1.173522e+01 # Ow SPCE + 1170 390 3 0.423800 4.865042e+00 5.402990e+00 1.088557e+01 # Hw SPCE + 1171 391 3 0.423800 1.088455e+01 2.264855e+01 1.611957e+01 # Hw SPCE + 1172 391 4 -0.847600 1.184680e+01 2.283963e+01 1.592573e+01 # Ow SPCE + 1173 391 3 0.423800 1.194451e+01 2.378898e+01 1.562707e+01 # Hw SPCE + 1174 392 3 0.423800 2.206544e+01 9.962865e+00 2.373843e+01 # Hw SPCE + 1175 392 4 -0.847600 2.203099e+01 1.070683e+01 2.440575e+01 # Ow SPCE + 1176 392 3 0.423800 2.122829e+01 1.127638e+01 2.422883e+01 # Hw SPCE + 1177 393 3 0.423800 2.149681e+00 4.701448e+00 2.459932e+00 # Hw SPCE + 1178 393 4 -0.847600 2.971895e+00 4.426184e+00 1.961740e+00 # Ow SPCE + 1179 393 3 0.423800 3.296291e+00 5.191193e+00 1.405388e+00 # Hw SPCE + 1180 394 3 0.423800 2.234775e+01 2.162751e+01 2.770458e+01 # Hw SPCE + 1181 394 4 -0.847600 2.136405e+01 2.144770e+01 2.770458e+01 # Ow SPCE + 1182 394 3 0.423800 2.086664e+01 2.231522e+01 2.770463e+01 # Hw SPCE + 1183 395 3 0.423800 1.025105e+01 1.356885e+01 1.665922e+01 # Hw SPCE + 1184 395 4 -0.847600 1.035969e+01 1.403984e+01 1.578379e+01 # Ow SPCE + 1185 395 3 0.423800 1.099242e+01 1.352554e+01 1.520487e+01 # Hw SPCE + 1186 396 3 0.423800 1.072202e+01 2.377633e+01 9.484681e+00 # Hw SPCE + 1187 396 4 -0.847600 1.155152e+01 2.385537e+01 1.003758e+01 # Ow SPCE + 1188 396 3 0.423800 1.158705e+01 2.476225e+01 1.045747e+01 # Hw SPCE + 1189 397 3 0.423800 2.341205e+01 1.813661e+01 1.100851e+01 # Hw SPCE + 1190 397 4 -0.847600 2.312469e+01 1.893695e+01 1.153470e+01 # Ow SPCE + 1191 397 3 0.423800 2.213380e+01 1.891079e+01 1.166681e+01 # Hw SPCE + 1192 398 3 0.423800 1.500790e+01 2.394339e+01 3.351174e+00 # Hw SPCE + 1193 398 4 -0.847600 1.452101e+01 2.480831e+01 3.229359e+00 # Ow SPCE + 1194 398 3 0.423800 1.385157e+01 2.492026e+01 3.963743e+00 # Hw SPCE + 1195 399 3 0.423800 1.479502e+01 1.286237e+01 2.563621e+01 # Hw SPCE + 1196 399 4 -0.847600 1.547417e+01 1.230040e+01 2.516403e+01 # Ow SPCE + 1197 399 3 0.423800 1.510530e+01 1.138206e+01 2.502053e+01 # Hw SPCE + 1198 400 3 0.423800 8.068136e+00 1.885540e+01 1.505299e+01 # Hw SPCE + 1199 400 4 -0.847600 7.813925e+00 1.834922e+01 1.587711e+01 # Ow SPCE + 1200 400 3 0.423800 8.632664e+00 1.794760e+01 1.628743e+01 # Hw SPCE + 1201 401 3 0.423800 4.063418e+00 2.228502e+01 2.617453e+01 # Hw SPCE + 1202 401 4 -0.847600 4.103168e+00 2.200493e+01 2.713369e+01 # Ow SPCE + 1203 401 3 0.423800 4.240658e+00 2.281008e+01 2.771061e+01 # Hw SPCE + 1204 402 3 0.423800 1.495103e+00 1.280834e+01 9.475737e+00 # Hw SPCE + 1205 402 4 -0.847600 1.505699e+00 1.300445e+01 8.495213e+00 # Ow SPCE + 1206 402 3 0.423800 2.251321e+00 1.363848e+01 8.290148e+00 # Hw SPCE + 1207 403 3 0.423800 2.465760e+01 6.451081e+00 2.270306e+01 # Hw SPCE + 1208 403 4 -0.847600 2.409442e+01 5.715878e+00 2.232582e+01 # Ow SPCE + 1209 403 3 0.423800 2.432171e+01 4.854913e+00 2.278088e+01 # Hw SPCE + 1210 404 3 0.423800 1.999267e+01 7.260978e+00 2.497131e+00 # Hw SPCE + 1211 404 4 -0.847600 2.085928e+01 6.772162e+00 2.396875e+00 # Ow SPCE + 1212 404 3 0.423800 2.067784e+01 5.804151e+00 2.223575e+00 # Hw SPCE + 1213 405 3 0.423800 9.804016e+00 1.166498e+01 2.144260e+01 # Hw SPCE + 1214 405 4 -0.847600 1.060905e+01 1.108039e+01 2.134174e+01 # Ow SPCE + 1215 405 3 0.423800 1.143569e+01 1.162260e+01 2.149231e+01 # Hw SPCE + 1216 406 3 0.423800 3.092468e+00 1.075047e+01 1.184205e+01 # Hw SPCE + 1217 406 4 -0.847600 2.172613e+00 1.036170e+01 1.189426e+01 # Ow SPCE + 1218 406 3 0.423800 1.497139e+00 1.108044e+01 1.172948e+01 # Hw SPCE + 1219 407 3 0.423800 8.342000e+00 1.946949e+00 1.825736e+01 # Hw SPCE + 1220 407 4 -0.847600 7.967584e+00 2.874061e+00 1.827399e+01 # Ow SPCE + 1221 407 3 0.423800 8.362019e+00 3.379098e+00 1.904168e+01 # Hw SPCE + 1222 408 3 0.423800 1.182612e+01 2.367595e+01 5.346337e+00 # Hw SPCE + 1223 408 4 -0.847600 1.218656e+01 2.331296e+01 6.205591e+00 # Ow SPCE + 1224 408 3 0.423800 1.183999e+01 2.385789e+01 6.969091e+00 # Hw SPCE + 1225 409 3 0.423800 2.018572e+01 8.334075e+00 2.235069e+01 # Hw SPCE + 1226 409 4 -0.847600 1.935425e+01 8.544535e+00 2.286486e+01 # Ow SPCE + 1227 409 3 0.423800 1.940926e+01 9.477685e+00 2.322011e+01 # Hw SPCE + 1228 410 3 0.423800 1.150389e+01 1.904731e+01 2.337866e+01 # Hw SPCE + 1229 410 4 -0.847600 1.246144e+01 1.912402e+01 2.310078e+01 # Ow SPCE + 1230 410 3 0.423800 1.251260e+01 1.953763e+01 2.219177e+01 # Hw SPCE + 1231 411 3 0.423800 1.847815e+01 4.974998e+00 2.770084e+01 # Hw SPCE + 1232 411 4 -0.847600 1.940796e+01 5.342993e+00 2.770581e+01 # Ow SPCE + 1233 411 3 0.423800 2.006473e+01 4.589757e+00 2.767000e+01 # Hw SPCE + 1234 412 3 0.423800 1.580751e+01 1.573107e+01 1.381081e+01 # Hw SPCE + 1235 412 4 -0.847600 1.558902e+01 1.492275e+01 1.326411e+01 # Ow SPCE + 1236 412 3 0.423800 1.643597e+01 1.449518e+01 1.294811e+01 # Hw SPCE + 1237 413 3 0.423800 2.552671e+01 2.186200e+01 4.694186e+00 # Hw SPCE + 1238 413 4 -0.847600 2.590407e+01 2.278594e+01 4.631422e+00 # Ow SPCE + 1239 413 3 0.423800 2.664316e+01 2.279908e+01 3.957950e+00 # Hw SPCE + 1240 414 3 0.423800 1.035260e+01 1.601592e+01 2.375608e+01 # Hw SPCE + 1241 414 4 -0.847600 1.119407e+01 1.631619e+01 2.330691e+01 # Ow SPCE + 1242 414 3 0.423800 1.194221e+01 1.632219e+01 2.397043e+01 # Hw SPCE + 1243 415 3 0.423800 1.366476e+01 2.199974e+01 2.177637e+01 # Hw SPCE + 1244 415 4 -0.847600 1.412014e+01 2.188301e+01 2.265898e+01 # Ow SPCE + 1245 415 3 0.423800 1.408048e+01 2.274131e+01 2.317060e+01 # Hw SPCE + 1246 416 3 0.423800 2.364272e+01 2.771622e+01 1.585868e+01 # Hw SPCE + 1247 416 4 -0.847600 2.381273e+01 2.673639e+01 1.575366e+01 # Ow SPCE + 1248 416 3 0.423800 2.301817e+01 2.630404e+01 1.532735e+01 # Hw SPCE + 1249 417 3 0.423800 9.899911e+00 1.878785e+01 1.222479e+01 # Hw SPCE + 1250 417 4 -0.847600 9.152062e+00 1.943110e+01 1.238898e+01 # Ow SPCE + 1251 417 3 0.423800 9.422298e+00 2.034259e+01 1.207890e+01 # Hw SPCE + 1252 418 3 0.423800 1.878242e+01 4.765640e+00 5.930390e+00 # Hw SPCE + 1253 418 4 -0.847600 1.891751e+01 4.352003e+00 5.030026e+00 # Ow SPCE + 1254 418 3 0.423800 1.970449e+01 4.776921e+00 4.582694e+00 # Hw SPCE + 1255 419 3 0.423800 2.569329e+00 2.015592e+01 1.667337e+01 # Hw SPCE + 1256 419 4 -0.847600 1.639651e+00 1.989432e+01 1.641401e+01 # Ow SPCE + 1257 419 3 0.423800 1.669728e+00 1.906197e+01 1.586059e+01 # Hw SPCE + 1258 420 3 0.423800 1.419487e+01 1.526132e+01 2.687487e+01 # Hw SPCE + 1259 420 4 -0.847600 1.473359e+01 1.511839e+01 2.770514e+01 # Ow SPCE + 1260 420 3 0.423800 1.562750e+01 1.474196e+01 2.746177e+01 # Hw SPCE + 1261 421 3 0.423800 1.225934e+01 4.584227e+00 3.933375e+00 # Hw SPCE + 1262 421 4 -0.847600 1.246279e+01 3.746427e+00 4.440028e+00 # Ow SPCE + 1263 421 3 0.423800 1.333976e+01 3.376246e+00 4.133605e+00 # Hw SPCE + 1264 422 3 0.423800 1.620747e+01 1.499403e+00 1.137835e+01 # Hw SPCE + 1265 422 4 -0.847600 1.549499e+01 1.586802e+00 1.207458e+01 # Ow SPCE + 1266 422 3 0.423800 1.590320e+01 1.493891e+00 1.298273e+01 # Hw SPCE + 1267 423 3 0.423800 9.040061e+00 1.791814e+01 2.669513e+01 # Hw SPCE + 1268 423 4 -0.847600 9.361578e+00 1.786689e+01 2.574961e+01 # Ow SPCE + 1269 423 3 0.423800 9.763981e+00 1.874370e+01 2.548640e+01 # Hw SPCE + 1270 424 3 0.423800 4.419758e+00 1.589273e+01 4.038818e+00 # Hw SPCE + 1271 424 4 -0.847600 3.943488e+00 1.618125e+01 4.869433e+00 # Ow SPCE + 1272 424 3 0.423800 4.594864e+00 1.661046e+01 5.495121e+00 # Hw SPCE + 1273 425 3 0.423800 1.842571e+01 1.489983e+00 1.787524e+01 # Hw SPCE + 1274 425 4 -0.847600 1.758392e+01 1.950976e+00 1.815609e+01 # Ow SPCE + 1275 425 3 0.423800 1.679908e+01 1.499453e+00 1.773164e+01 # Hw SPCE + 1276 426 3 0.423800 9.617069e+00 1.503555e+01 7.768316e+00 # Hw SPCE + 1277 426 4 -0.847600 9.908997e+00 1.580937e+01 7.206183e+00 # Ow SPCE + 1278 426 3 0.423800 1.087713e+01 1.599609e+01 7.373049e+00 # Hw SPCE + 1279 427 3 0.423800 1.761915e+01 1.824001e+01 1.495841e+00 # Hw SPCE + 1280 427 4 -0.847600 1.707860e+01 1.740503e+01 1.598843e+00 # Ow SPCE + 1281 427 3 0.423800 1.610784e+01 1.764023e+01 1.646897e+00 # Hw SPCE + 1282 428 3 0.423800 2.926508e+00 1.529462e+00 2.267458e+01 # Hw SPCE + 1283 428 4 -0.847600 2.327395e+00 2.065396e+00 2.207974e+01 # Ow SPCE + 1284 428 3 0.423800 1.514758e+00 1.528181e+00 2.185386e+01 # Hw SPCE + 1285 429 3 0.423800 1.553029e+01 1.331892e+01 2.261128e+01 # Hw SPCE + 1286 429 4 -0.847600 1.550843e+01 1.423794e+01 2.221768e+01 # Ow SPCE + 1287 429 3 0.423800 1.458388e+01 1.444035e+01 2.189481e+01 # Hw SPCE + 1288 430 3 0.423800 4.535770e+00 7.778783e+00 1.481895e+00 # Hw SPCE + 1289 430 4 -0.847600 3.543503e+00 7.902817e+00 1.486495e+00 # Ow SPCE + 1290 430 3 0.423800 3.329718e+00 8.879692e+00 1.489737e+00 # Hw SPCE + 1291 431 3 0.423800 2.525719e+01 1.568518e+01 1.106507e+01 # Hw SPCE + 1292 431 4 -0.847600 2.557432e+01 1.474391e+01 1.094918e+01 # Ow SPCE + 1293 431 3 0.423800 2.628269e+01 1.454508e+01 1.162645e+01 # Hw SPCE + 1294 432 3 0.423800 1.664803e+01 1.910926e+01 3.917316e+00 # Hw SPCE + 1295 432 4 -0.847600 1.723132e+01 1.835477e+01 4.218178e+00 # Ow SPCE + 1296 432 3 0.423800 1.819067e+01 1.863032e+01 4.157108e+00 # Hw SPCE + 1297 433 3 0.423800 1.358310e+01 2.662050e+01 1.011150e+01 # Hw SPCE + 1298 433 4 -0.847600 1.300630e+01 2.743245e+01 1.002187e+01 # Ow SPCE + 1299 433 3 0.423800 1.296445e+01 2.770719e+01 9.061266e+00 # Hw SPCE + 1300 434 3 0.423800 1.435488e+01 2.080827e+01 2.772371e+01 # Hw SPCE + 1301 434 4 -0.847600 1.506496e+01 2.013414e+01 2.752040e+01 # Ow SPCE + 1302 434 3 0.423800 1.464175e+01 1.930210e+01 2.716177e+01 # Hw SPCE + 1303 435 3 0.423800 2.167525e+01 2.207461e+01 1.584656e+01 # Hw SPCE + 1304 435 4 -0.847600 2.087644e+01 2.148761e+01 1.597828e+01 # Ow SPCE + 1305 435 3 0.423800 2.114010e+01 2.067901e+01 1.650425e+01 # Hw SPCE + 1306 436 3 0.423800 1.336152e+01 8.766368e+00 1.286048e+01 # Hw SPCE + 1307 436 4 -0.847600 1.290502e+01 9.628651e+00 1.307975e+01 # Ow SPCE + 1308 436 3 0.423800 1.199822e+01 9.439351e+00 1.345642e+01 # Hw SPCE + 1309 437 3 0.423800 2.687223e+01 1.379076e+01 4.532287e+00 # Hw SPCE + 1310 437 4 -0.847600 2.610111e+01 1.321002e+01 4.793266e+00 # Ow SPCE + 1311 437 3 0.423800 2.541665e+01 1.376000e+01 5.271855e+00 # Hw SPCE + 1312 438 3 0.423800 2.387246e+01 1.507034e+00 1.669725e+01 # Hw SPCE + 1313 438 4 -0.847600 2.319211e+01 2.086236e+00 1.714629e+01 # Ow SPCE + 1314 438 3 0.423800 2.251393e+01 1.510750e+00 1.760333e+01 # Hw SPCE + 1315 439 3 0.423800 2.653441e+01 1.338040e+01 1.698890e+00 # Hw SPCE + 1316 439 4 -0.847600 2.568911e+01 1.287185e+01 1.862766e+00 # Ow SPCE + 1317 439 3 0.423800 2.578217e+01 1.194475e+01 1.499689e+00 # Hw SPCE + 1318 440 3 0.423800 1.654650e+01 7.351076e+00 4.198674e+00 # Hw SPCE + 1319 440 4 -0.847600 1.720204e+01 6.630419e+00 4.424346e+00 # Ow SPCE + 1320 440 3 0.423800 1.811991e+01 7.022369e+00 4.486733e+00 # Hw SPCE + 1321 441 3 0.423800 1.561748e+01 2.344616e+01 2.579500e+01 # Hw SPCE + 1322 441 4 -0.847600 1.584177e+01 2.276826e+01 2.649512e+01 # Ow SPCE + 1323 441 3 0.423800 1.643484e+01 2.318456e+01 2.718429e+01 # Hw SPCE + 1324 442 3 0.423800 6.712087e+00 1.647363e+01 2.402889e+01 # Hw SPCE + 1325 442 4 -0.847600 7.684457e+00 1.666294e+01 2.389230e+01 # Ow SPCE + 1326 442 3 0.423800 7.794810e+00 1.757954e+01 2.350803e+01 # Hw SPCE + 1327 443 3 0.423800 5.195124e+00 1.484833e+01 1.345621e+01 # Hw SPCE + 1328 443 4 -0.847600 5.562996e+00 1.495140e+01 1.438035e+01 # Ow SPCE + 1329 443 3 0.423800 4.853276e+00 1.472796e+01 1.504847e+01 # Hw SPCE + 1330 444 3 0.423800 8.810832e+00 8.170650e+00 3.650788e+00 # Hw SPCE + 1331 444 4 -0.847600 9.231504e+00 9.063820e+00 3.809800e+00 # Ow SPCE + 1332 444 3 0.423800 8.600516e+00 9.642123e+00 4.326925e+00 # Hw SPCE + 1333 445 3 0.423800 1.481433e+01 2.127865e+01 2.698847e+00 # Hw SPCE + 1334 445 4 -0.847600 1.527661e+01 2.130491e+01 1.812501e+00 # Ow SPCE + 1335 445 3 0.423800 1.564077e+01 2.039825e+01 1.599517e+00 # Hw SPCE + 1336 446 3 0.423800 2.770585e+01 9.745885e+00 6.112819e+00 # Hw SPCE + 1337 446 4 -0.847600 2.769138e+01 8.749499e+00 6.196517e+00 # Ow SPCE + 1338 446 3 0.423800 2.675145e+01 8.420868e+00 6.104123e+00 # Hw SPCE + 1339 447 3 0.423800 1.995729e+01 2.430246e+01 2.248412e+01 # Hw SPCE + 1340 447 4 -0.847600 1.958412e+01 2.507755e+01 2.299401e+01 # Ow SPCE + 1341 447 3 0.423800 1.884602e+01 2.549888e+01 2.246704e+01 # Hw SPCE + 1342 448 3 0.423800 1.497281e+00 1.817499e+01 1.855576e+01 # Hw SPCE + 1343 448 4 -0.847600 1.565131e+00 1.860877e+01 1.945422e+01 # Ow SPCE + 1344 448 3 0.423800 1.511007e+00 1.960184e+01 1.934984e+01 # Hw SPCE + 1345 449 3 0.423800 1.522308e+01 5.358237e+00 1.071042e+01 # Hw SPCE + 1346 449 4 -0.847600 1.552152e+01 4.758830e+00 9.967693e+00 # Ow SPCE + 1347 449 3 0.423800 1.530075e+01 3.810494e+00 1.019556e+01 # Hw SPCE + 1348 450 3 0.423800 2.551853e+01 2.712094e+01 2.391955e+01 # Hw SPCE + 1349 450 4 -0.847600 2.545744e+01 2.641384e+01 2.321508e+01 # Ow SPCE + 1350 450 3 0.423800 2.636236e+01 2.625938e+01 2.281851e+01 # Hw SPCE + 1351 451 3 0.423800 2.385946e+01 4.277050e+00 1.008061e+01 # Hw SPCE + 1352 451 4 -0.847600 2.334099e+01 3.853916e+00 1.082367e+01 # Ow SPCE + 1353 451 3 0.423800 2.397243e+01 3.414585e+00 1.146264e+01 # Hw SPCE + 1354 452 3 0.423800 1.024842e+01 2.543775e+01 1.414465e+01 # Hw SPCE + 1355 452 4 -0.847600 1.115630e+01 2.571591e+01 1.383099e+01 # Ow SPCE + 1356 452 3 0.423800 1.146598e+01 2.650375e+01 1.436336e+01 # Hw SPCE + 1357 453 3 0.423800 1.117636e+01 1.477962e+01 4.921439e+00 # Hw SPCE + 1358 453 4 -0.847600 1.106953e+01 1.411588e+01 4.181144e+00 # Ow SPCE + 1359 453 3 0.423800 1.192150e+01 1.360514e+01 4.065876e+00 # Hw SPCE + 1360 454 3 0.423800 1.155263e+01 2.419941e+01 2.638042e+00 # Hw SPCE + 1361 454 4 -0.847600 1.124181e+01 2.513186e+01 2.453834e+00 # Ow SPCE + 1362 454 3 0.423800 1.199737e+01 2.566636e+01 2.075120e+00 # Hw SPCE + 1363 455 3 0.423800 1.904382e+01 8.719465e+00 1.089114e+01 # Hw SPCE + 1364 455 4 -0.847600 1.879769e+01 8.867065e+00 1.184908e+01 # Ow SPCE + 1365 455 3 0.423800 1.935399e+01 8.274179e+00 1.243132e+01 # Hw SPCE + 1366 456 3 0.423800 2.055866e+01 2.186209e+01 5.026626e+00 # Hw SPCE + 1367 456 4 -0.847600 2.043424e+01 2.280967e+01 4.732347e+00 # Ow SPCE + 1368 456 3 0.423800 1.947974e+01 2.307708e+01 4.864316e+00 # Hw SPCE + 1369 457 3 0.423800 9.488490e+00 2.282360e+01 1.375688e+01 # Hw SPCE + 1370 457 4 -0.847600 1.031447e+01 2.268450e+01 1.321061e+01 # Ow SPCE + 1371 457 3 0.423800 1.029828e+01 2.329670e+01 1.242008e+01 # Hw SPCE + 1372 458 3 0.423800 2.759400e+01 1.561429e+01 1.901357e+01 # Hw SPCE + 1373 458 4 -0.847600 2.771901e+01 1.477632e+01 1.848237e+01 # Ow SPCE + 1374 458 3 0.423800 2.682701e+01 1.442853e+01 1.819361e+01 # Hw SPCE + 1375 459 3 0.423800 9.097112e+00 5.763777e+00 1.055170e+01 # Hw SPCE + 1376 459 4 -0.847600 8.930312e+00 6.009500e+00 1.150658e+01 # Ow SPCE + 1377 459 3 0.423800 9.350086e+00 6.896101e+00 1.170082e+01 # Hw SPCE + 1378 460 3 0.423800 5.431310e+00 2.264163e+01 3.120189e+00 # Hw SPCE + 1379 460 4 -0.847600 5.550080e+00 2.304881e+01 2.214596e+00 # Ow SPCE + 1380 460 3 0.423800 6.336473e+00 2.366641e+01 2.227360e+00 # Hw SPCE + 1381 461 3 0.423800 1.793842e+01 1.486923e+01 5.835118e+00 # Hw SPCE + 1382 461 4 -0.847600 1.846091e+01 1.518650e+01 5.043692e+00 # Ow SPCE + 1383 461 3 0.423800 1.785140e+01 1.566604e+01 4.412394e+00 # Hw SPCE + 1384 462 3 0.423800 2.184585e+00 1.115490e+01 1.453262e+01 # Hw SPCE + 1385 462 4 -0.847600 2.343389e+00 1.213111e+01 1.438500e+01 # Ow SPCE + 1386 462 3 0.423800 1.503737e+00 1.255845e+01 1.404979e+01 # Hw SPCE + 1387 463 3 0.423800 1.441481e+01 3.522791e+00 2.760204e+01 # Hw SPCE + 1388 463 4 -0.847600 1.362346e+01 4.133742e+00 2.762456e+01 # Ow SPCE + 1389 463 3 0.423800 1.393539e+01 5.080332e+00 2.770621e+01 # Hw SPCE + 1390 464 3 0.423800 1.499700e+00 2.188838e+01 2.362087e+01 # Hw SPCE + 1391 464 4 -0.847600 1.945099e+00 2.224829e+01 2.280106e+01 # Ow SPCE + 1392 464 3 0.423800 1.720463e+00 2.166848e+01 2.201789e+01 # Hw SPCE + 1393 465 3 0.423800 2.708400e+01 2.218371e+01 9.205305e+00 # Hw SPCE + 1394 465 4 -0.847600 2.770480e+01 2.226015e+01 8.425070e+00 # Ow SPCE + 1395 465 3 0.423800 2.735466e+01 2.294536e+01 7.786410e+00 # Hw SPCE + 1396 466 3 0.423800 1.333326e+01 1.012770e+01 2.714313e+00 # Hw SPCE + 1397 466 4 -0.847600 1.396010e+01 1.090684e+01 2.710577e+00 # Ow SPCE + 1398 466 3 0.423800 1.343444e+01 1.175750e+01 2.703131e+00 # Hw SPCE + 1399 467 3 0.423800 1.830816e+01 1.219159e+01 1.158591e+01 # Hw SPCE + 1400 467 4 -0.847600 1.755544e+01 1.270612e+01 1.117519e+01 # Ow SPCE + 1401 467 3 0.423800 1.789433e+01 1.322125e+01 1.038792e+01 # Hw SPCE + 1402 468 3 0.423800 2.172042e+01 6.831038e+00 2.770644e+01 # Hw SPCE + 1403 468 4 -0.847600 2.223302e+01 6.193086e+00 2.713176e+01 # Ow SPCE + 1404 468 3 0.423800 2.267323e+01 5.504849e+00 2.770842e+01 # Hw SPCE + 1405 469 3 0.423800 6.268257e+00 1.075389e+01 2.334065e+01 # Hw SPCE + 1406 469 4 -0.847600 7.056234e+00 1.126624e+01 2.368211e+01 # Ow SPCE + 1407 469 3 0.423800 7.274106e+00 1.096339e+01 2.460991e+01 # Hw SPCE + 1408 470 3 0.423800 3.714354e+00 2.000821e+00 1.146332e+01 # Hw SPCE + 1409 470 4 -0.847600 2.897249e+00 1.502381e+00 1.175297e+01 # Ow SPCE + 1410 470 3 0.423800 2.235593e+00 1.482765e+00 1.100342e+01 # Hw SPCE + 1411 471 3 0.423800 2.322907e+01 2.917361e+00 5.997148e+00 # Hw SPCE + 1412 471 4 -0.847600 2.223897e+01 2.777046e+00 5.995080e+00 # Ow SPCE + 1413 471 3 0.423800 2.177665e+01 3.663721e+00 6.003295e+00 # Hw SPCE + 1414 472 3 0.423800 1.763400e+01 1.243773e+01 2.094696e+01 # Hw SPCE + 1415 472 4 -0.847600 1.752266e+01 1.335506e+01 2.056472e+01 # Ow SPCE + 1416 472 3 0.423800 1.837391e+01 1.363744e+01 2.012242e+01 # Hw SPCE + 1417 473 3 0.423800 2.155614e+01 1.654986e+01 2.018860e+01 # Hw SPCE + 1418 473 4 -0.847600 2.107547e+01 1.603549e+01 1.947841e+01 # Ow SPCE + 1419 473 3 0.423800 2.128393e+01 1.642895e+01 1.858301e+01 # Hw SPCE + 1420 474 3 0.423800 1.728050e+01 2.423683e+01 9.871601e+00 # Hw SPCE + 1421 474 4 -0.847600 1.738375e+01 2.347556e+01 9.231428e+00 # Ow SPCE + 1422 474 3 0.423800 1.719527e+01 2.379354e+01 8.302252e+00 # Hw SPCE + 1423 475 3 0.423800 1.650810e+00 6.990915e+00 2.295043e+01 # Hw SPCE + 1424 475 4 -0.847600 2.208121e+00 7.329955e+00 2.370836e+01 # Ow SPCE + 1425 475 3 0.423800 3.171215e+00 7.128177e+00 2.353022e+01 # Hw SPCE + 1426 476 3 0.423800 1.499730e+00 8.992460e+00 8.752017e+00 # Hw SPCE + 1427 476 4 -0.847600 1.510449e+00 9.936633e+00 9.081292e+00 # Ow SPCE + 1428 476 3 0.423800 2.456253e+00 1.025222e+01 9.157852e+00 # Hw SPCE + 1429 477 3 0.423800 1.524357e+00 1.612612e+01 7.337394e+00 # Hw SPCE + 1430 477 4 -0.847600 1.499367e+00 1.628416e+01 8.324511e+00 # Ow SPCE + 1431 477 3 0.423800 1.500368e+00 1.726779e+01 8.504717e+00 # Hw SPCE + 1432 478 3 0.423800 4.508742e+00 2.060049e+01 1.519230e+00 # Hw SPCE + 1433 478 4 -0.847600 5.486779e+00 2.039253e+01 1.505170e+00 # Ow SPCE + 1434 478 3 0.423800 5.616682e+00 1.940102e+01 1.500039e+00 # Hw SPCE + 1435 479 3 0.423800 1.922274e+01 8.093379e+00 8.219502e+00 # Hw SPCE + 1436 479 4 -0.847600 1.916411e+01 7.383197e+00 7.517929e+00 # Ow SPCE + 1437 479 3 0.423800 1.995519e+01 6.775915e+00 7.591466e+00 # Hw SPCE + 1438 480 3 0.423800 1.943784e+01 1.013386e+01 2.597417e+01 # Hw SPCE + 1439 480 4 -0.847600 2.017081e+01 9.453976e+00 2.599674e+01 # Ow SPCE + 1440 480 3 0.423800 2.007103e+01 8.883198e+00 2.681176e+01 # Hw SPCE + 1441 481 3 0.423800 4.192983e+00 2.092863e+01 2.367681e+01 # Hw SPCE + 1442 481 4 -0.847600 3.622627e+00 2.015436e+01 2.340257e+01 # Ow SPCE + 1443 481 3 0.423800 3.162762e+00 1.977780e+01 2.420677e+01 # Hw SPCE + 1444 482 3 0.423800 2.075118e+01 1.717508e+01 2.770677e+01 # Hw SPCE + 1445 482 4 -0.847600 1.976142e+01 1.731709e+01 2.769234e+01 # Ow SPCE + 1446 482 3 0.423800 1.929769e+01 1.643117e+01 2.768228e+01 # Hw SPCE + 1447 483 3 0.423800 6.778056e+00 1.536002e+01 7.209241e+00 # Hw SPCE + 1448 483 4 -0.847600 7.198296e+00 1.626143e+01 7.313492e+00 # Ow SPCE + 1449 483 3 0.423800 6.485256e+00 1.694623e+01 7.463902e+00 # Hw SPCE + 1450 484 3 0.423800 2.425409e+01 5.401110e+00 1.659432e+00 # Hw SPCE + 1451 484 4 -0.847600 2.351087e+01 5.727686e+00 2.243365e+00 # Ow SPCE + 1452 484 3 0.423800 2.360826e+01 6.712456e+00 2.387383e+00 # Hw SPCE + 1453 485 3 0.423800 1.686252e+01 4.577775e+00 1.853409e+01 # Hw SPCE + 1454 485 4 -0.847600 1.717109e+01 5.331094e+00 1.911486e+01 # Ow SPCE + 1455 485 3 0.423800 1.782031e+01 4.985329e+00 1.979233e+01 # Hw SPCE + 1456 486 3 0.423800 2.559447e+01 6.830529e+00 2.554992e+01 # Hw SPCE + 1457 486 4 -0.847600 2.476010e+01 7.328675e+00 2.578589e+01 # Ow SPCE + 1458 486 3 0.423800 2.465753e+01 8.114730e+00 2.517630e+01 # Hw SPCE + 1459 487 3 0.423800 2.618329e+01 1.274776e+01 2.027220e+01 # Hw SPCE + 1460 487 4 -0.847600 2.536296e+01 1.243771e+01 2.075274e+01 # Ow SPCE + 1461 487 3 0.423800 2.554309e+01 1.241004e+01 2.173600e+01 # Hw SPCE + 1462 488 3 0.423800 1.919981e+01 2.661638e+00 2.030213e+01 # Hw SPCE + 1463 488 4 -0.847600 1.973061e+01 2.904574e+00 2.111406e+01 # Ow SPCE + 1464 488 3 0.423800 1.914388e+01 2.856844e+00 2.192244e+01 # Hw SPCE + 1465 489 3 0.423800 2.266744e+01 1.984307e+01 8.978618e+00 # Hw SPCE + 1466 489 4 -0.847600 2.185883e+01 2.037567e+01 9.228600e+00 # Ow SPCE + 1467 489 3 0.423800 2.212644e+01 2.132149e+01 9.412457e+00 # Hw SPCE + 1468 490 3 0.423800 4.817158e+00 1.523570e+00 6.050418e+00 # Hw SPCE + 1469 490 4 -0.847600 4.254228e+00 1.621274e+00 6.871127e+00 # Ow SPCE + 1470 490 3 0.423800 3.291277e+00 1.497598e+00 6.631484e+00 # Hw SPCE + 1471 491 3 0.423800 1.079473e+01 2.139909e+01 1.857674e+01 # Hw SPCE + 1472 491 4 -0.847600 1.177944e+01 2.140440e+01 1.840264e+01 # Ow SPCE + 1473 491 3 0.423800 1.226661e+01 2.114195e+01 1.923559e+01 # Hw SPCE + 1474 492 3 0.423800 2.471848e+01 2.047547e+01 7.260132e+00 # Hw SPCE + 1475 492 4 -0.847600 2.453164e+01 2.145726e+01 7.225866e+00 # Ow SPCE + 1476 492 3 0.423800 2.451936e+01 2.182685e+01 8.154981e+00 # Hw SPCE + 1477 493 3 0.423800 1.868210e+01 2.290815e+01 2.448807e+01 # Hw SPCE + 1478 493 4 -0.847600 1.872346e+01 2.190901e+01 2.448402e+01 # Ow SPCE + 1479 493 3 0.423800 1.929678e+01 2.160222e+01 2.372430e+01 # Hw SPCE + 1480 494 3 0.423800 9.843500e+00 1.140046e+01 2.548708e+01 # Hw SPCE + 1481 494 4 -0.847600 1.054880e+01 1.070283e+01 2.536110e+01 # Ow SPCE + 1482 494 3 0.423800 1.144375e+01 1.114300e+01 2.528825e+01 # Hw SPCE + 1483 495 3 0.423800 6.422993e+00 1.821276e+01 9.903863e+00 # Hw SPCE + 1484 495 4 -0.847600 7.333960e+00 1.850491e+01 9.612681e+00 # Ow SPCE + 1485 495 3 0.423800 8.018713e+00 1.813856e+01 1.024268e+01 # Hw SPCE + 1486 496 3 0.423800 2.471333e+01 2.384780e+01 2.166757e+01 # Hw SPCE + 1487 496 4 -0.847600 2.416185e+01 2.454566e+01 2.121055e+01 # Ow SPCE + 1488 496 3 0.423800 2.476291e+01 2.524546e+01 2.082453e+01 # Hw SPCE + 1489 497 3 0.423800 2.590620e+00 8.091003e+00 2.061080e+01 # Hw SPCE + 1490 497 4 -0.847600 3.231566e+00 7.330610e+00 2.071564e+01 # Ow SPCE + 1491 497 3 0.423800 3.920110e+00 7.372830e+00 1.999168e+01 # Hw SPCE + 1492 498 3 0.423800 8.949464e+00 2.425655e+01 3.695045e+00 # Hw SPCE + 1493 498 4 -0.847600 9.202844e+00 2.412128e+01 4.652907e+00 # Ow SPCE + 1494 498 3 0.423800 9.142579e+00 2.499262e+01 5.139877e+00 # Hw SPCE + 1495 499 3 0.423800 1.764683e+01 2.974023e+00 1.499949e+00 # Hw SPCE + 1496 499 4 -0.847600 1.685020e+01 2.477365e+00 1.844498e+00 # Ow SPCE + 1497 499 3 0.423800 1.705690e+01 1.499622e+00 1.880419e+00 # Hw SPCE + 1498 500 3 0.423800 2.126518e+01 3.913868e+00 1.808240e+01 # Hw SPCE + 1499 500 4 -0.847600 2.045368e+01 3.344904e+00 1.794915e+01 # Ow SPCE + 1500 500 3 0.423800 1.970398e+01 3.909289e+00 1.760359e+01 # Hw SPCE + 1501 501 3 0.423800 1.495876e+00 2.614890e+01 2.082634e+01 # Hw SPCE + 1502 501 4 -0.847600 2.060720e+00 2.545025e+01 2.126548e+01 # Ow SPCE + 1503 501 3 0.423800 1.496549e+00 2.465376e+01 2.148298e+01 # Hw SPCE + 1504 502 3 0.423800 2.279048e+01 9.290222e+00 2.681803e+01 # Hw SPCE + 1505 502 4 -0.847600 2.327017e+01 9.655579e+00 2.761579e+01 # Ow SPCE + 1506 502 3 0.423800 2.416046e+01 9.208611e+00 2.770297e+01 # Hw SPCE + 1507 503 3 0.423800 1.498663e+00 4.051791e+00 1.406843e+01 # Hw SPCE + 1508 503 4 -0.847600 2.227842e+00 4.516378e+00 1.356598e+01 # Ow SPCE + 1509 503 3 0.423800 2.947213e+00 3.859735e+00 1.333943e+01 # Hw SPCE + 1510 504 3 0.423800 4.121509e+00 1.297824e+01 1.026964e+01 # Hw SPCE + 1511 504 4 -0.847600 3.726321e+00 1.373934e+01 1.078398e+01 # Ow SPCE + 1512 504 3 0.423800 3.570218e+00 1.345664e+01 1.173040e+01 # Hw SPCE + 1513 505 3 0.423800 1.938062e+01 1.410367e+01 8.241157e+00 # Hw SPCE + 1514 505 4 -0.847600 1.995758e+01 1.491592e+01 8.155362e+00 # Ow SPCE + 1515 505 3 0.423800 2.066193e+01 1.475299e+01 7.464465e+00 # Hw SPCE + 1516 506 3 0.423800 1.635093e+01 4.629187e+00 2.599280e+01 # Hw SPCE + 1517 506 4 -0.847600 1.660343e+01 5.572751e+00 2.577847e+01 # Ow SPCE + 1518 506 3 0.423800 1.597027e+01 6.198813e+00 2.623361e+01 # Hw SPCE + 1519 507 3 0.423800 2.572095e+01 1.411800e+01 2.664163e+01 # Hw SPCE + 1520 507 4 -0.847600 2.489025e+01 1.466440e+01 2.653495e+01 # Ow SPCE + 1521 507 3 0.423800 2.417927e+01 1.431235e+01 2.714369e+01 # Hw SPCE + 1522 508 3 0.423800 2.106512e+01 3.934685e+00 1.521472e+01 # Hw SPCE + 1523 508 4 -0.847600 2.145982e+01 3.015920e+00 1.522367e+01 # Ow SPCE + 1524 508 3 0.423800 2.073659e+01 2.343985e+00 1.538314e+01 # Hw SPCE + 1525 509 3 0.423800 1.747101e+01 1.089516e+01 1.867742e+01 # Hw SPCE + 1526 509 4 -0.847600 1.750084e+01 1.180616e+01 1.826610e+01 # Ow SPCE + 1527 509 3 0.423800 1.671577e+01 1.192311e+01 1.765784e+01 # Hw SPCE + 1528 510 3 0.423800 2.149389e+01 8.833650e+00 6.611416e+00 # Hw SPCE + 1529 510 4 -0.847600 2.177394e+01 9.611791e+00 7.173615e+00 # Ow SPCE + 1530 510 3 0.423800 2.254669e+01 9.345700e+00 7.749852e+00 # Hw SPCE + 1531 511 3 0.423800 3.791408e+00 1.897825e+01 1.012530e+01 # Hw SPCE + 1532 511 4 -0.847600 3.851687e+00 1.885137e+01 9.135211e+00 # Ow SPCE + 1533 511 3 0.423800 3.179880e+00 1.943767e+01 8.682525e+00 # Hw SPCE + 1534 512 3 0.423800 1.252372e+01 2.047991e+01 2.549174e+01 # Hw SPCE + 1535 512 4 -0.847600 1.324747e+01 2.111712e+01 2.522688e+01 # Ow SPCE + 1536 512 3 0.423800 1.305955e+01 2.201712e+01 2.562020e+01 # Hw SPCE + 1537 513 3 0.423800 9.857980e+00 8.140566e+00 9.299584e+00 # Hw SPCE + 1538 513 4 -0.847600 1.080806e+01 7.847241e+00 9.193255e+00 # Ow SPCE + 1539 513 3 0.423800 1.136372e+01 8.620982e+00 8.889004e+00 # Hw SPCE + 1540 514 3 0.423800 2.468682e+01 1.540730e+01 1.499507e+00 # Hw SPCE + 1541 514 4 -0.847600 2.388089e+01 1.498355e+01 1.912937e+00 # Ow SPCE + 1542 514 3 0.423800 2.305466e+01 1.541498e+01 1.550717e+00 # Hw SPCE + 1543 515 3 0.423800 1.464646e+01 2.252692e+01 1.926250e+01 # Hw SPCE + 1544 515 4 -0.847600 1.547386e+01 2.308846e+01 1.925340e+01 # Ow SPCE + 1545 515 3 0.423800 1.626223e+01 2.251673e+01 1.902626e+01 # Hw SPCE + 1546 516 3 0.423800 2.767962e+01 2.118986e+01 2.645961e+01 # Hw SPCE + 1547 516 4 -0.847600 2.770572e+01 2.108694e+01 2.745396e+01 # Ow SPCE + 1548 516 3 0.423800 2.734198e+01 2.019016e+01 2.770589e+01 # Hw SPCE + 1549 517 3 0.423800 5.473025e+00 1.539565e+01 1.766372e+01 # Hw SPCE + 1550 517 4 -0.847600 5.457163e+00 1.532146e+01 1.866084e+01 # Ow SPCE + 1551 517 3 0.423800 5.719911e+00 1.439500e+01 1.893036e+01 # Hw SPCE + 1552 518 3 0.423800 1.355721e+01 1.609064e+01 7.981517e+00 # Hw SPCE + 1553 518 4 -0.847600 1.451195e+01 1.585086e+01 7.805517e+00 # Ow SPCE + 1554 518 3 0.423800 1.510515e+01 1.659197e+01 8.119965e+00 # Hw SPCE + 1555 519 3 0.423800 1.185686e+01 2.756045e+01 1.746044e+01 # Hw SPCE + 1556 519 4 -0.847600 1.271387e+01 2.750488e+01 1.694815e+01 # Ow SPCE + 1557 519 3 0.423800 1.289860e+01 2.655139e+01 1.670998e+01 # Hw SPCE + 1558 520 3 0.423800 2.770610e+01 1.433506e+01 2.192258e+01 # Hw SPCE + 1559 520 4 -0.847600 2.713948e+01 1.511976e+01 2.217392e+01 # Ow SPCE + 1560 520 3 0.423800 2.770524e+01 1.594383e+01 2.220271e+01 # Hw SPCE + 1561 521 3 0.423800 1.499493e+01 1.238797e+01 2.007948e+01 # Hw SPCE + 1562 521 4 -0.847600 1.464506e+01 1.280227e+01 1.923927e+01 # Ow SPCE + 1563 521 3 0.423800 1.485236e+01 1.378055e+01 1.923864e+01 # Hw SPCE + 1564 522 3 0.423800 1.136191e+01 6.926399e+00 2.399031e+01 # Hw SPCE + 1565 522 4 -0.847600 1.054592e+01 7.370139e+00 2.436079e+01 # Ow SPCE + 1566 522 3 0.423800 9.932311e+00 6.677061e+00 2.473911e+01 # Hw SPCE + 1567 523 3 0.423800 7.548290e+00 2.174968e+00 3.349358e+00 # Hw SPCE + 1568 523 4 -0.847600 6.864919e+00 1.475454e+00 3.558363e+00 # Ow SPCE + 1569 523 3 0.423800 5.952602e+00 1.884488e+00 3.539162e+00 # Hw SPCE + 1570 524 3 0.423800 2.257539e+01 7.886933e+00 2.106609e+01 # Hw SPCE + 1571 524 4 -0.847600 2.236455e+01 7.157236e+00 2.041564e+01 # Ow SPCE + 1572 524 3 0.423800 2.320865e+01 6.845285e+00 1.997954e+01 # Hw SPCE + 1573 525 3 0.423800 1.931716e+01 2.614213e+01 1.741829e+01 # Hw SPCE + 1574 525 4 -0.847600 1.896046e+01 2.707452e+01 1.747657e+01 # Ow SPCE + 1575 525 3 0.423800 1.970938e+01 2.770594e+01 1.767766e+01 # Hw SPCE + 1576 526 3 0.423800 1.293280e+01 1.317757e+01 1.712150e+01 # Hw SPCE + 1577 526 4 -0.847600 1.315759e+01 1.415177e+01 1.710169e+01 # Ow SPCE + 1578 526 3 0.423800 1.254740e+01 1.464728e+01 1.771987e+01 # Hw SPCE + 1579 527 3 0.423800 7.790007e+00 6.046852e+00 2.770758e+01 # Hw SPCE + 1580 527 4 -0.847600 6.829260e+00 5.769427e+00 2.770728e+01 # Ow SPCE + 1581 527 3 0.423800 6.770591e+00 4.771151e+00 2.770535e+01 # Hw SPCE + 1582 528 3 0.423800 1.123375e+01 2.298556e+01 2.380651e+01 # Hw SPCE + 1583 528 4 -0.847600 1.075845e+01 2.212317e+01 2.398080e+01 # Ow SPCE + 1584 528 3 0.423800 1.039779e+01 2.212396e+01 2.491350e+01 # Hw SPCE + 1585 529 3 0.423800 4.200882e+00 1.931622e+01 2.770757e+01 # Hw SPCE + 1586 529 4 -0.847600 5.175713e+00 1.953916e+01 2.770789e+01 # Ow SPCE + 1587 529 3 0.423800 5.710832e+00 1.869439e+01 2.770832e+01 # Hw SPCE + 1588 530 3 0.423800 2.770456e+01 1.697514e+01 9.342626e+00 # Hw SPCE + 1589 530 4 -0.847600 2.770706e+01 1.614854e+01 9.905419e+00 # Ow SPCE + 1590 530 3 0.423800 2.770253e+01 1.534242e+01 9.313697e+00 # Hw SPCE + 1591 531 3 0.423800 1.832884e+01 7.670320e+00 2.009972e+01 # Hw SPCE + 1592 531 4 -0.847600 1.770977e+01 8.379274e+00 1.976188e+01 # Ow SPCE + 1593 531 3 0.423800 1.728273e+01 8.071375e+00 1.891168e+01 # Hw SPCE + 1594 532 3 0.423800 1.164885e+01 2.369859e+00 6.675939e+00 # Hw SPCE + 1595 532 4 -0.847600 1.119973e+01 1.488536e+00 6.822766e+00 # Ow SPCE + 1596 532 3 0.423800 1.021557e+01 1.629733e+00 6.930003e+00 # Hw SPCE + 1597 533 3 0.423800 1.736192e+01 1.608261e+01 2.086977e+01 # Hw SPCE + 1598 533 4 -0.847600 1.663485e+01 1.658639e+01 2.133622e+01 # Ow SPCE + 1599 533 3 0.423800 1.582226e+01 1.661428e+01 2.075406e+01 # Hw SPCE + 1600 534 3 0.423800 2.770538e+01 1.618975e+01 6.697811e+00 # Hw SPCE + 1601 534 4 -0.847600 2.683077e+01 1.586285e+01 6.339763e+00 # Ow SPCE + 1602 534 3 0.423800 2.644970e+01 1.654559e+01 5.716346e+00 # Hw SPCE + 1603 535 3 0.423800 1.073071e+01 3.382764e+00 1.994761e+00 # Hw SPCE + 1604 535 4 -0.847600 1.068786e+01 2.506336e+00 2.474384e+00 # Ow SPCE + 1605 535 3 0.423800 1.061173e+01 1.764903e+00 1.807690e+00 # Hw SPCE + 1606 536 3 0.423800 5.975184e+00 9.418923e+00 1.756302e+01 # Hw SPCE + 1607 536 4 -0.847600 6.920951e+00 9.718084e+00 1.768962e+01 # Ow SPCE + 1608 536 3 0.423800 6.942337e+00 1.070925e+01 1.782049e+01 # Hw SPCE + 1609 537 3 0.423800 1.360924e+01 2.146817e+01 1.387145e+01 # Hw SPCE + 1610 537 4 -0.847600 1.450822e+01 2.119277e+01 1.353090e+01 # Ow SPCE + 1611 537 3 0.423800 1.516476e+01 2.119288e+01 1.428519e+01 # Hw SPCE + 1612 538 3 0.423800 8.874645e+00 2.735638e+00 1.567786e+01 # Hw SPCE + 1613 538 4 -0.847600 8.841213e+00 1.743745e+00 1.555526e+01 # Ow SPCE + 1614 538 3 0.423800 9.281324e+00 1.499682e+00 1.469112e+01 # Hw SPCE + 1615 539 3 0.423800 2.677837e+01 2.727822e+01 1.521683e+01 # Hw SPCE + 1616 539 4 -0.847600 2.716773e+01 2.651889e+01 1.573819e+01 # Ow SPCE + 1617 539 3 0.423800 2.770480e+01 2.593640e+01 1.512805e+01 # Hw SPCE + 1618 540 3 0.423800 1.348931e+01 2.050695e+01 1.644491e+01 # Hw SPCE + 1619 540 4 -0.847600 1.379303e+01 1.955419e+01 1.644174e+01 # Ow SPCE + 1620 540 3 0.423800 1.479253e+01 1.952299e+01 1.643578e+01 # Hw SPCE + 1621 541 3 0.423800 2.712765e+01 2.770458e+01 1.499784e+00 # Hw SPCE + 1622 541 4 -0.847600 2.710752e+01 2.724363e+01 2.386980e+00 # Ow SPCE + 1623 541 3 0.423800 2.619044e+01 2.731545e+01 2.779174e+00 # Hw SPCE + 1624 542 3 0.423800 9.946949e+00 2.110450e+01 2.770454e+01 # Hw SPCE + 1625 542 4 -0.847600 9.160696e+00 2.085784e+01 2.713800e+01 # Ow SPCE + 1626 542 3 0.423800 8.468408e+00 2.041129e+01 2.770486e+01 # Hw SPCE + 1627 543 3 0.423800 1.504399e+00 1.083302e+01 2.009960e+01 # Hw SPCE + 1628 543 4 -0.847600 1.816408e+00 1.177936e+01 2.018384e+01 # Ow SPCE + 1629 543 3 0.423800 2.807855e+00 1.181584e+01 2.005853e+01 # Hw SPCE + 1630 544 3 0.423800 2.543910e+01 2.947611e+00 2.768656e+01 # Hw SPCE + 1631 544 4 -0.847600 2.451490e+01 2.595735e+00 2.753807e+01 # Ow SPCE + 1632 544 3 0.423800 2.455905e+01 1.616936e+00 2.733806e+01 # Hw SPCE + 1633 545 3 0.423800 2.361457e+01 1.312219e+01 1.230861e+01 # Hw SPCE + 1634 545 4 -0.847600 2.413492e+01 1.356531e+01 1.303860e+01 # Ow SPCE + 1635 545 3 0.423800 2.440618e+01 1.288209e+01 1.371657e+01 # Hw SPCE + 1636 546 3 0.423800 1.870442e+01 2.642254e+01 9.001379e+00 # Hw SPCE + 1637 546 4 -0.847600 1.888946e+01 2.680197e+01 8.094851e+00 # Ow SPCE + 1638 546 3 0.423800 1.831281e+01 2.634447e+01 7.417974e+00 # Hw SPCE + 1639 547 3 0.423800 1.955187e+01 2.669861e+01 1.982066e+00 # Hw SPCE + 1640 547 4 -0.847600 1.983701e+01 2.765621e+01 2.023180e+00 # Ow SPCE + 1641 547 3 0.423800 2.083300e+01 2.770447e+01 2.098561e+00 # Hw SPCE + 1642 548 3 0.423800 5.421499e+00 2.757790e+01 1.294457e+01 # Hw SPCE + 1643 548 4 -0.847600 5.110506e+00 2.770464e+01 1.388649e+01 # Ow SPCE + 1644 548 3 0.423800 4.115657e+00 2.761068e+01 1.392453e+01 # Hw SPCE + 1645 549 3 0.423800 1.667681e+01 2.723516e+01 2.218951e+01 # Hw SPCE + 1646 549 4 -0.847600 1.593196e+01 2.771570e+01 2.265241e+01 # Ow SPCE + 1647 549 3 0.423800 1.507418e+01 2.754768e+01 2.216664e+01 # Hw SPCE + 1648 550 3 0.423800 2.433245e+01 2.342839e+01 1.128065e+01 # Hw SPCE + 1649 550 4 -0.847600 2.415467e+01 2.258524e+01 1.077321e+01 # Ow SPCE + 1650 550 3 0.423800 2.415864e+01 2.180938e+01 1.140410e+01 # Hw SPCE + 1651 551 3 0.423800 1.837587e+01 2.123822e+01 2.725995e+01 # Hw SPCE + 1652 551 4 -0.847600 1.779349e+01 2.043021e+01 2.734918e+01 # Ow SPCE + 1653 551 3 0.423800 1.833384e+01 1.966748e+01 2.770453e+01 # Hw SPCE + 1654 552 3 0.423800 1.592706e+01 1.936515e+00 2.435957e+01 # Hw SPCE + 1655 552 4 -0.847600 1.505896e+01 1.499035e+00 2.412505e+01 # Ow SPCE + 1656 552 3 0.423800 1.454993e+01 2.085140e+00 2.349467e+01 # Hw SPCE + 1657 553 3 0.423800 1.747565e+01 1.731294e+01 9.312832e+00 # Hw SPCE + 1658 553 4 -0.847600 1.766196e+01 1.635124e+01 9.111737e+00 # Ow SPCE + 1659 553 3 0.423800 1.809084e+01 1.592158e+01 9.906376e+00 # Hw SPCE + 1660 554 3 0.423800 8.312156e+00 2.203891e+01 1.687596e+01 # Hw SPCE + 1661 554 4 -0.847600 8.145446e+00 2.107334e+01 1.667629e+01 # Ow SPCE + 1662 554 3 0.423800 7.160271e+00 2.090436e+01 1.664666e+01 # Hw SPCE + 1663 555 3 0.423800 1.452310e+01 2.241336e+01 9.977204e+00 # Hw SPCE + 1664 555 4 -0.847600 1.467835e+01 2.336383e+01 9.707951e+00 # Ow SPCE + 1665 555 3 0.423800 1.427486e+01 2.397365e+01 1.039009e+01 # Hw SPCE + 1666 556 3 0.423800 2.770573e+01 9.991646e+00 1.639356e+01 # Hw SPCE + 1667 556 4 -0.847600 2.733485e+01 1.000499e+01 1.546498e+01 # Ow SPCE + 1668 556 3 0.423800 2.770500e+01 9.233753e+00 1.494711e+01 # Hw SPCE + 1669 557 3 0.423800 2.255789e+01 1.833507e+01 1.626641e+01 # Hw SPCE + 1670 557 4 -0.847600 2.351546e+01 1.820880e+01 1.652545e+01 # Ow SPCE + 1671 557 3 0.423800 2.406042e+01 1.802400e+01 1.570760e+01 # Hw SPCE + 1672 558 3 0.423800 1.525572e+01 2.770743e+01 1.200379e+01 # Hw SPCE + 1673 558 4 -0.847600 1.484040e+01 2.707735e+01 1.265992e+01 # Ow SPCE + 1674 558 3 0.423800 1.406834e+01 2.752601e+01 1.311006e+01 # Hw SPCE + 1675 559 3 0.423800 1.658932e+01 1.906188e+01 1.328318e+01 # Hw SPCE + 1676 559 4 -0.847600 1.675201e+01 1.815055e+01 1.290501e+01 # Ow SPCE + 1677 559 3 0.423800 1.758478e+01 1.776758e+01 1.330480e+01 # Hw SPCE + 1678 560 3 0.423800 1.004229e+01 1.712720e+01 2.079854e+01 # Hw SPCE + 1679 560 4 -0.847600 1.063564e+01 1.789587e+01 2.103746e+01 # Ow SPCE + 1680 560 3 0.423800 1.010311e+01 1.874227e+01 2.103197e+01 # Hw SPCE + 1681 561 3 0.423800 2.500505e+01 1.070351e+01 4.512067e+00 # Hw SPCE + 1682 561 4 -0.847600 2.573603e+01 1.010670e+01 4.181178e+00 # Ow SPCE + 1683 561 3 0.423800 2.648741e+01 1.066421e+01 3.828189e+00 # Hw SPCE + 1684 562 3 0.423800 1.210303e+01 1.800383e+01 9.349879e+00 # Hw SPCE + 1685 562 4 -0.847600 1.113080e+01 1.778888e+01 9.442458e+00 # Ow SPCE + 1686 562 3 0.423800 1.060025e+01 1.863653e+01 9.439283e+00 # Hw SPCE + 1687 563 3 0.423800 1.030762e+01 7.414060e+00 2.769564e+01 # Hw SPCE + 1688 563 4 -0.847600 1.049207e+01 6.470196e+00 2.742160e+01 # Ow SPCE + 1689 563 3 0.423800 1.141031e+01 6.209855e+00 2.772004e+01 # Hw SPCE + 1690 564 3 0.423800 4.398211e+00 2.689864e+01 2.124419e+01 # Hw SPCE + 1691 564 4 -0.847600 4.266022e+00 2.770576e+01 2.181959e+01 # Ow SPCE + 1692 564 3 0.423800 3.351717e+00 2.768078e+01 2.222384e+01 # Hw SPCE + 1693 565 3 0.423800 8.283521e+00 2.495708e+01 9.955134e+00 # Hw SPCE + 1694 565 4 -0.847600 7.965370e+00 2.543617e+01 1.077322e+01 # Ow SPCE + 1695 565 3 0.423800 8.600427e+00 2.526670e+01 1.152686e+01 # Hw SPCE + 1696 566 3 0.423800 2.718771e+01 5.401651e+00 2.294482e+01 # Hw SPCE + 1697 566 4 -0.847600 2.770619e+01 6.078594e+00 2.346725e+01 # Ow SPCE + 1698 566 3 0.423800 2.727173e+01 6.974594e+00 2.337542e+01 # Hw SPCE + 1699 567 3 0.423800 1.344671e+01 1.859690e+01 1.608430e+00 # Hw SPCE + 1700 567 4 -0.847600 1.362491e+01 1.880297e+01 2.570605e+00 # Ow SPCE + 1701 567 3 0.423800 1.316244e+01 1.812923e+01 3.146969e+00 # Hw SPCE + 1702 568 3 0.423800 1.583162e+01 2.444348e+01 5.926474e+00 # Hw SPCE + 1703 568 4 -0.847600 1.499075e+01 2.459672e+01 6.445563e+00 # Ow SPCE + 1704 568 3 0.423800 1.478045e+01 2.378288e+01 6.987262e+00 # Hw SPCE + 1705 569 3 0.423800 9.922789e+00 5.193782e+00 2.202243e+01 # Hw SPCE + 1706 569 4 -0.847600 9.563582e+00 6.125784e+00 2.207083e+01 # Ow SPCE + 1707 569 3 0.423800 8.644820e+00 6.149777e+00 2.167675e+01 # Hw SPCE + 1708 570 3 0.423800 8.914720e+00 8.315418e+00 1.641874e+01 # Hw SPCE + 1709 570 4 -0.847600 9.302874e+00 8.063947e+00 1.553212e+01 # Ow SPCE + 1710 570 3 0.423800 1.015658e+01 8.564357e+00 1.538800e+01 # Hw SPCE + 1711 571 3 0.423800 1.175235e+01 1.796050e+01 1.792472e+01 # Hw SPCE + 1712 571 4 -0.847600 1.132726e+01 1.866461e+01 1.849353e+01 # Ow SPCE + 1713 571 3 0.423800 1.034732e+01 1.870417e+01 1.829820e+01 # Hw SPCE + 1714 572 3 0.423800 2.334407e+01 2.469584e+01 1.753610e+01 # Hw SPCE + 1715 572 4 -0.847600 2.274051e+01 2.390140e+01 1.760386e+01 # Ow SPCE + 1716 572 3 0.423800 2.178874e+01 2.420714e+01 1.762968e+01 # Hw SPCE + 1717 573 3 0.423800 1.560477e+01 2.702754e+01 1.716266e+00 # Hw SPCE + 1718 573 4 -0.847600 1.525408e+01 2.737955e+01 2.584082e+00 # Ow SPCE + 1719 573 3 0.423800 1.428469e+01 2.760432e+01 2.485249e+00 # Hw SPCE + 1720 574 3 0.423800 7.381621e+00 2.092978e+01 1.938298e+01 # Hw SPCE + 1721 574 4 -0.847600 8.033211e+00 2.166093e+01 1.958511e+01 # Ow SPCE + 1722 574 3 0.423800 7.576710e+00 2.237804e+01 2.011176e+01 # Hw SPCE + 1723 575 3 0.423800 1.345344e+01 1.285413e+01 6.248165e+00 # Hw SPCE + 1724 575 4 -0.847600 1.335825e+01 1.348350e+01 7.019426e+00 # Ow SPCE + 1725 575 3 0.423800 1.239316e+01 1.371343e+01 7.144852e+00 # Hw SPCE + 1726 576 3 0.423800 1.684996e+01 1.496546e+00 2.112863e+01 # Hw SPCE + 1727 576 4 -0.847600 1.612315e+01 1.500121e+00 2.044180e+01 # Ow SPCE + 1728 576 3 0.423800 1.523334e+01 1.502605e+00 2.089813e+01 # Hw SPCE + 1729 577 3 0.423800 1.259795e+01 6.059961e+00 1.028903e+01 # Hw SPCE + 1730 577 4 -0.847600 1.265203e+01 6.809136e+00 1.094919e+01 # Ow SPCE + 1731 577 3 0.423800 1.210535e+01 6.583051e+00 1.175544e+01 # Hw SPCE + 1732 578 3 0.423800 1.175266e+01 1.642499e+01 1.504706e+00 # Hw SPCE + 1733 578 4 -0.847600 1.124046e+01 1.563939e+01 1.851816e+00 # Ow SPCE + 1734 578 3 0.423800 1.171187e+01 1.479512e+01 1.596895e+00 # Hw SPCE + 1735 579 3 0.423800 1.964008e+01 1.500636e+01 2.214316e+01 # Hw SPCE + 1736 579 4 -0.847600 2.038415e+01 1.503982e+01 2.281043e+01 # Ow SPCE + 1737 579 3 0.423800 2.013831e+01 1.449401e+01 2.361146e+01 # Hw SPCE + 1738 580 3 0.423800 6.359780e+00 1.494462e+00 9.725939e+00 # Hw SPCE + 1739 580 4 -0.847600 5.623160e+00 2.122431e+00 9.474851e+00 # Ow SPCE + 1740 580 3 0.423800 5.796855e+00 3.019459e+00 9.881263e+00 # Hw SPCE + 1741 581 3 0.423800 2.339449e+01 2.716322e+01 4.184562e+00 # Hw SPCE + 1742 581 4 -0.847600 2.365407e+01 2.624102e+01 4.471228e+00 # Ow SPCE + 1743 581 3 0.423800 2.284652e+01 2.575711e+01 4.808419e+00 # Hw SPCE + 1744 582 3 0.423800 2.817273e+00 2.461806e+01 5.932450e+00 # Hw SPCE + 1745 582 4 -0.847600 2.010189e+00 2.426140e+01 6.402994e+00 # Ow SPCE + 1746 582 3 0.423800 1.499435e+00 2.366530e+01 5.783477e+00 # Hw SPCE + 1747 583 3 0.423800 1.234255e+01 1.396176e+01 2.037507e+01 # Hw SPCE + 1748 583 4 -0.847600 1.153188e+01 1.453863e+01 2.027487e+01 # Ow SPCE + 1749 583 3 0.423800 1.071536e+01 1.396252e+01 2.023761e+01 # Hw SPCE + 1750 584 3 0.423800 2.810909e+00 2.179238e+01 7.310922e+00 # Hw SPCE + 1751 584 4 -0.847600 3.683406e+00 2.228090e+01 7.320812e+00 # Ow SPCE + 1752 584 3 0.423800 4.405822e+00 2.166653e+01 7.638090e+00 # Hw SPCE + 1753 585 3 0.423800 8.448996e+00 2.068506e+01 1.886024e+00 # Hw SPCE + 1754 585 4 -0.847600 8.120115e+00 2.158805e+01 1.609529e+00 # Ow SPCE + 1755 585 3 0.423800 8.825993e+00 2.227138e+01 1.796065e+00 # Hw SPCE + 1756 586 3 0.423800 1.552035e+01 1.189869e+01 1.283899e+01 # Hw SPCE + 1757 586 4 -0.847600 1.524184e+01 1.098045e+01 1.255745e+01 # Ow SPCE + 1758 586 3 0.423800 1.602690e+01 1.036326e+01 1.260993e+01 # Hw SPCE + 1759 587 3 0.423800 1.037404e+01 1.680250e+01 1.410571e+01 # Hw SPCE + 1760 587 4 -0.847600 9.390321e+00 1.671053e+01 1.395132e+01 # Ow SPCE + 1761 587 3 0.423800 9.132024e+00 1.574640e+01 1.401253e+01 # Hw SPCE + 1762 588 3 0.423800 1.925143e+01 2.771036e+01 1.136823e+01 # Hw SPCE + 1763 588 4 -0.847600 1.825753e+01 2.762221e+01 1.143454e+01 # Ow SPCE + 1764 588 3 0.423800 1.797827e+01 2.770904e+01 1.239082e+01 # Hw SPCE + 1765 589 3 0.423800 5.368954e+00 1.319885e+01 2.246010e+01 # Hw SPCE + 1766 589 4 -0.847600 5.623630e+00 1.391457e+01 2.311039e+01 # Ow SPCE + 1767 589 3 0.423800 4.872485e+00 1.456903e+01 2.319682e+01 # Hw SPCE + 1768 590 3 0.423800 2.502067e+01 2.248026e+01 2.658176e+01 # Hw SPCE + 1769 590 4 -0.847600 2.503552e+01 2.164180e+01 2.712652e+01 # Ow SPCE + 1770 590 3 0.423800 2.494862e+01 2.084997e+01 2.652199e+01 # Hw SPCE + 1771 591 3 0.423800 2.771210e+01 9.857496e+00 2.349471e+01 # Hw SPCE + 1772 591 4 -0.847600 2.758172e+01 1.077731e+01 2.312465e+01 # Ow SPCE + 1773 591 3 0.423800 2.770545e+01 1.075806e+01 2.213252e+01 # Hw SPCE + 1774 592 3 0.423800 2.236208e+01 1.289022e+01 1.568659e+01 # Hw SPCE + 1775 592 4 -0.847600 2.242230e+01 1.193201e+01 1.596625e+01 # Ow SPCE + 1776 592 3 0.423800 2.300802e+01 1.185651e+01 1.677324e+01 # Hw SPCE + 1777 593 3 0.423800 1.988201e+01 1.279194e+01 1.687017e+01 # Hw SPCE + 1778 593 4 -0.847600 2.021378e+01 1.300179e+01 1.778990e+01 # Ow SPCE + 1779 593 3 0.423800 2.066551e+01 1.219616e+01 1.817317e+01 # Hw SPCE + 1780 594 3 0.423800 1.468952e+01 2.770673e+01 5.255360e+00 # Hw SPCE + 1781 594 4 -0.847600 1.548366e+01 2.712680e+01 5.437112e+00 # Ow SPCE + 1782 594 3 0.423800 1.628119e+01 2.770158e+01 5.620343e+00 # Hw SPCE + 1783 595 3 0.423800 8.562539e+00 2.043599e+01 4.622579e+00 # Hw SPCE + 1784 595 4 -0.847600 8.510816e+00 2.140691e+01 4.856324e+00 # Ow SPCE + 1785 595 3 0.423800 7.721353e+00 2.181791e+01 4.400437e+00 # Hw SPCE + 1786 596 3 0.423800 2.770600e+01 1.600690e+01 2.686389e+01 # Hw SPCE + 1787 596 4 -0.847600 2.714850e+01 1.666860e+01 2.736525e+01 # Ow SPCE + 1788 596 3 0.423800 2.770517e+01 1.746675e+01 2.759565e+01 # Hw SPCE + 1789 597 3 0.423800 1.659849e+01 2.708928e+01 1.606821e+01 # Hw SPCE + 1790 597 4 -0.847600 1.561098e+01 2.693173e+01 1.606789e+01 # Ow SPCE + 1791 597 3 0.423800 1.515025e+01 2.770484e+01 1.563196e+01 # Hw SPCE + 1792 598 3 0.423800 2.769724e+01 2.030543e+01 2.142814e+01 # Hw SPCE + 1793 598 4 -0.847600 2.694008e+01 2.095316e+01 2.151277e+01 # Ow SPCE + 1794 598 3 0.423800 2.730269e+01 2.188246e+01 2.158290e+01 # Hw SPCE + 1795 599 3 0.423800 8.916687e+00 5.895426e+00 1.772221e+01 # Hw SPCE + 1796 599 4 -0.847600 9.042735e+00 5.158155e+00 1.705847e+01 # Ow SPCE + 1797 599 3 0.423800 9.690399e+00 5.450297e+00 1.635478e+01 # Hw SPCE + 1798 600 3 0.423800 1.753578e+01 1.707234e+01 2.389138e+01 # Hw SPCE + 1799 600 4 -0.847600 1.803190e+01 1.621348e+01 2.401877e+01 # Ow SPCE + 1800 600 3 0.423800 1.745017e+01 1.544840e+01 2.374267e+01 # Hw SPCE + +Bonds + + 1 1 2 1 # Ow-Hw + 2 1 3 2 # Ow-Hw + 3 1 5 4 # Ow-Hw + 4 1 6 5 # Ow-Hw + 5 1 8 7 # Ow-Hw + 6 1 9 8 # Ow-Hw + 7 1 11 10 # Ow-Hw + 8 1 12 11 # Ow-Hw + 9 1 14 13 # Ow-Hw + 10 1 15 14 # Ow-Hw + 11 1 17 16 # Ow-Hw + 12 1 18 17 # Ow-Hw + 13 1 20 19 # Ow-Hw + 14 1 21 20 # Ow-Hw + 15 1 23 22 # Ow-Hw + 16 1 24 23 # Ow-Hw + 17 1 26 25 # Ow-Hw + 18 1 27 26 # Ow-Hw + 19 1 29 28 # Ow-Hw + 20 1 30 29 # Ow-Hw + 21 1 32 31 # Ow-Hw + 22 1 33 32 # Ow-Hw + 23 1 35 34 # Ow-Hw + 24 1 36 35 # Ow-Hw + 25 1 38 37 # Ow-Hw + 26 1 39 38 # Ow-Hw + 27 1 41 40 # Ow-Hw + 28 1 42 41 # Ow-Hw + 29 1 44 43 # Ow-Hw + 30 1 45 44 # Ow-Hw + 31 1 47 46 # Ow-Hw + 32 1 48 47 # Ow-Hw + 33 1 50 49 # Ow-Hw + 34 1 51 50 # Ow-Hw + 35 1 53 52 # Ow-Hw + 36 1 54 53 # Ow-Hw + 37 1 56 55 # Ow-Hw + 38 1 57 56 # Ow-Hw + 39 1 59 58 # Ow-Hw + 40 1 60 59 # Ow-Hw + 41 1 62 61 # Ow-Hw + 42 1 63 62 # Ow-Hw + 43 1 65 64 # Ow-Hw + 44 1 66 65 # Ow-Hw + 45 1 68 67 # Ow-Hw + 46 1 69 68 # Ow-Hw + 47 1 71 70 # Ow-Hw + 48 1 72 71 # Ow-Hw + 49 1 74 73 # Ow-Hw + 50 1 75 74 # Ow-Hw + 51 1 77 76 # Ow-Hw + 52 1 78 77 # Ow-Hw + 53 1 80 79 # Ow-Hw + 54 1 81 80 # Ow-Hw + 55 1 83 82 # Ow-Hw + 56 1 84 83 # Ow-Hw + 57 1 86 85 # Ow-Hw + 58 1 87 86 # Ow-Hw + 59 1 89 88 # Ow-Hw + 60 1 90 89 # Ow-Hw + 61 1 92 91 # Ow-Hw + 62 1 93 92 # Ow-Hw + 63 1 95 94 # Ow-Hw + 64 1 96 95 # Ow-Hw + 65 1 98 97 # Ow-Hw + 66 1 99 98 # Ow-Hw + 67 1 101 100 # Ow-Hw + 68 1 102 101 # Ow-Hw + 69 1 104 103 # Ow-Hw + 70 1 105 104 # Ow-Hw + 71 1 107 106 # Ow-Hw + 72 1 108 107 # Ow-Hw + 73 1 110 109 # Ow-Hw + 74 1 111 110 # Ow-Hw + 75 1 113 112 # Ow-Hw + 76 1 114 113 # Ow-Hw + 77 1 116 115 # Ow-Hw + 78 1 117 116 # Ow-Hw + 79 1 119 118 # Ow-Hw + 80 1 120 119 # Ow-Hw + 81 1 122 121 # Ow-Hw + 82 1 123 122 # Ow-Hw + 83 1 125 124 # Ow-Hw + 84 1 126 125 # Ow-Hw + 85 1 128 127 # Ow-Hw + 86 1 129 128 # Ow-Hw + 87 1 131 130 # Ow-Hw + 88 1 132 131 # Ow-Hw + 89 1 134 133 # Ow-Hw + 90 1 135 134 # Ow-Hw + 91 1 137 136 # Ow-Hw + 92 1 138 137 # Ow-Hw + 93 1 140 139 # Ow-Hw + 94 1 141 140 # Ow-Hw + 95 1 143 142 # Ow-Hw + 96 1 144 143 # Ow-Hw + 97 1 146 145 # Ow-Hw + 98 1 147 146 # Ow-Hw + 99 1 149 148 # Ow-Hw + 100 1 150 149 # Ow-Hw + 101 1 152 151 # Ow-Hw + 102 1 153 152 # Ow-Hw + 103 1 155 154 # Ow-Hw + 104 1 156 155 # Ow-Hw + 105 1 158 157 # Ow-Hw + 106 1 159 158 # Ow-Hw + 107 1 161 160 # Ow-Hw + 108 1 162 161 # Ow-Hw + 109 1 164 163 # Ow-Hw + 110 1 165 164 # Ow-Hw + 111 1 167 166 # Ow-Hw + 112 1 168 167 # Ow-Hw + 113 1 170 169 # Ow-Hw + 114 1 171 170 # Ow-Hw + 115 1 173 172 # Ow-Hw + 116 1 174 173 # Ow-Hw + 117 1 176 175 # Ow-Hw + 118 1 177 176 # Ow-Hw + 119 1 179 178 # Ow-Hw + 120 1 180 179 # Ow-Hw + 121 1 182 181 # Ow-Hw + 122 1 183 182 # Ow-Hw + 123 1 185 184 # Ow-Hw + 124 1 186 185 # Ow-Hw + 125 1 188 187 # Ow-Hw + 126 1 189 188 # Ow-Hw + 127 1 191 190 # Ow-Hw + 128 1 192 191 # Ow-Hw + 129 1 194 193 # Ow-Hw + 130 1 195 194 # Ow-Hw + 131 1 197 196 # Ow-Hw + 132 1 198 197 # Ow-Hw + 133 1 200 199 # Ow-Hw + 134 1 201 200 # Ow-Hw + 135 1 203 202 # Ow-Hw + 136 1 204 203 # Ow-Hw + 137 1 206 205 # Ow-Hw + 138 1 207 206 # Ow-Hw + 139 1 209 208 # Ow-Hw + 140 1 210 209 # Ow-Hw + 141 1 212 211 # Ow-Hw + 142 1 213 212 # Ow-Hw + 143 1 215 214 # Ow-Hw + 144 1 216 215 # Ow-Hw + 145 1 218 217 # Ow-Hw + 146 1 219 218 # Ow-Hw + 147 1 221 220 # Ow-Hw + 148 1 222 221 # Ow-Hw + 149 1 224 223 # Ow-Hw + 150 1 225 224 # Ow-Hw + 151 1 227 226 # Ow-Hw + 152 1 228 227 # Ow-Hw + 153 1 230 229 # Ow-Hw + 154 1 231 230 # Ow-Hw + 155 1 233 232 # Ow-Hw + 156 1 234 233 # Ow-Hw + 157 1 236 235 # Ow-Hw + 158 1 237 236 # Ow-Hw + 159 1 239 238 # Ow-Hw + 160 1 240 239 # Ow-Hw + 161 1 242 241 # Ow-Hw + 162 1 243 242 # Ow-Hw + 163 1 245 244 # Ow-Hw + 164 1 246 245 # Ow-Hw + 165 1 248 247 # Ow-Hw + 166 1 249 248 # Ow-Hw + 167 1 251 250 # Ow-Hw + 168 1 252 251 # Ow-Hw + 169 1 254 253 # Ow-Hw + 170 1 255 254 # Ow-Hw + 171 1 257 256 # Ow-Hw + 172 1 258 257 # Ow-Hw + 173 1 260 259 # Ow-Hw + 174 1 261 260 # Ow-Hw + 175 1 263 262 # Ow-Hw + 176 1 264 263 # Ow-Hw + 177 1 266 265 # Ow-Hw + 178 1 267 266 # Ow-Hw + 179 1 269 268 # Ow-Hw + 180 1 270 269 # Ow-Hw + 181 1 272 271 # Ow-Hw + 182 1 273 272 # Ow-Hw + 183 1 275 274 # Ow-Hw + 184 1 276 275 # Ow-Hw + 185 1 278 277 # Ow-Hw + 186 1 279 278 # Ow-Hw + 187 1 281 280 # Ow-Hw + 188 1 282 281 # Ow-Hw + 189 1 284 283 # Ow-Hw + 190 1 285 284 # Ow-Hw + 191 1 287 286 # Ow-Hw + 192 1 288 287 # Ow-Hw + 193 1 290 289 # Ow-Hw + 194 1 291 290 # Ow-Hw + 195 1 293 292 # Ow-Hw + 196 1 294 293 # Ow-Hw + 197 1 296 295 # Ow-Hw + 198 1 297 296 # Ow-Hw + 199 1 299 298 # Ow-Hw + 200 1 300 299 # Ow-Hw + 201 1 302 301 # Ow-Hw + 202 1 303 302 # Ow-Hw + 203 1 305 304 # Ow-Hw + 204 1 306 305 # Ow-Hw + 205 1 308 307 # Ow-Hw + 206 1 309 308 # Ow-Hw + 207 1 311 310 # Ow-Hw + 208 1 312 311 # Ow-Hw + 209 1 314 313 # Ow-Hw + 210 1 315 314 # Ow-Hw + 211 1 317 316 # Ow-Hw + 212 1 318 317 # Ow-Hw + 213 1 320 319 # Ow-Hw + 214 1 321 320 # Ow-Hw + 215 1 323 322 # Ow-Hw + 216 1 324 323 # Ow-Hw + 217 1 326 325 # Ow-Hw + 218 1 327 326 # Ow-Hw + 219 1 329 328 # Ow-Hw + 220 1 330 329 # Ow-Hw + 221 1 332 331 # Ow-Hw + 222 1 333 332 # Ow-Hw + 223 1 335 334 # Ow-Hw + 224 1 336 335 # Ow-Hw + 225 1 338 337 # Ow-Hw + 226 1 339 338 # Ow-Hw + 227 1 341 340 # Ow-Hw + 228 1 342 341 # Ow-Hw + 229 1 344 343 # Ow-Hw + 230 1 345 344 # Ow-Hw + 231 1 347 346 # Ow-Hw + 232 1 348 347 # Ow-Hw + 233 1 350 349 # Ow-Hw + 234 1 351 350 # Ow-Hw + 235 1 353 352 # Ow-Hw + 236 1 354 353 # Ow-Hw + 237 1 356 355 # Ow-Hw + 238 1 357 356 # Ow-Hw + 239 1 359 358 # Ow-Hw + 240 1 360 359 # Ow-Hw + 241 1 362 361 # Ow-Hw + 242 1 363 362 # Ow-Hw + 243 1 365 364 # Ow-Hw + 244 1 366 365 # Ow-Hw + 245 1 368 367 # Ow-Hw + 246 1 369 368 # Ow-Hw + 247 1 371 370 # Ow-Hw + 248 1 372 371 # Ow-Hw + 249 1 374 373 # Ow-Hw + 250 1 375 374 # Ow-Hw + 251 1 377 376 # Ow-Hw + 252 1 378 377 # Ow-Hw + 253 1 380 379 # Ow-Hw + 254 1 381 380 # Ow-Hw + 255 1 383 382 # Ow-Hw + 256 1 384 383 # Ow-Hw + 257 1 386 385 # Ow-Hw + 258 1 387 386 # Ow-Hw + 259 1 389 388 # Ow-Hw + 260 1 390 389 # Ow-Hw + 261 1 392 391 # Ow-Hw + 262 1 393 392 # Ow-Hw + 263 1 395 394 # Ow-Hw + 264 1 396 395 # Ow-Hw + 265 1 398 397 # Ow-Hw + 266 1 399 398 # Ow-Hw + 267 1 401 400 # Ow-Hw + 268 1 402 401 # Ow-Hw + 269 1 404 403 # Ow-Hw + 270 1 405 404 # Ow-Hw + 271 1 407 406 # Ow-Hw + 272 1 408 407 # Ow-Hw + 273 1 410 409 # Ow-Hw + 274 1 411 410 # Ow-Hw + 275 1 413 412 # Ow-Hw + 276 1 414 413 # Ow-Hw + 277 1 416 415 # Ow-Hw + 278 1 417 416 # Ow-Hw + 279 1 419 418 # Ow-Hw + 280 1 420 419 # Ow-Hw + 281 1 422 421 # Ow-Hw + 282 1 423 422 # Ow-Hw + 283 1 425 424 # Ow-Hw + 284 1 426 425 # Ow-Hw + 285 1 428 427 # Ow-Hw + 286 1 429 428 # Ow-Hw + 287 1 431 430 # Ow-Hw + 288 1 432 431 # Ow-Hw + 289 1 434 433 # Ow-Hw + 290 1 435 434 # Ow-Hw + 291 1 437 436 # Ow-Hw + 292 1 438 437 # Ow-Hw + 293 1 440 439 # Ow-Hw + 294 1 441 440 # Ow-Hw + 295 1 443 442 # Ow-Hw + 296 1 444 443 # Ow-Hw + 297 1 446 445 # Ow-Hw + 298 1 447 446 # Ow-Hw + 299 1 449 448 # Ow-Hw + 300 1 450 449 # Ow-Hw + 301 1 452 451 # Ow-Hw + 302 1 453 452 # Ow-Hw + 303 1 455 454 # Ow-Hw + 304 1 456 455 # Ow-Hw + 305 1 458 457 # Ow-Hw + 306 1 459 458 # Ow-Hw + 307 1 461 460 # Ow-Hw + 308 1 462 461 # Ow-Hw + 309 1 464 463 # Ow-Hw + 310 1 465 464 # Ow-Hw + 311 1 467 466 # Ow-Hw + 312 1 468 467 # Ow-Hw + 313 1 470 469 # Ow-Hw + 314 1 471 470 # Ow-Hw + 315 1 473 472 # Ow-Hw + 316 1 474 473 # Ow-Hw + 317 1 476 475 # Ow-Hw + 318 1 477 476 # Ow-Hw + 319 1 479 478 # Ow-Hw + 320 1 480 479 # Ow-Hw + 321 1 482 481 # Ow-Hw + 322 1 483 482 # Ow-Hw + 323 1 485 484 # Ow-Hw + 324 1 486 485 # Ow-Hw + 325 1 488 487 # Ow-Hw + 326 1 489 488 # Ow-Hw + 327 1 491 490 # Ow-Hw + 328 1 492 491 # Ow-Hw + 329 1 494 493 # Ow-Hw + 330 1 495 494 # Ow-Hw + 331 1 497 496 # Ow-Hw + 332 1 498 497 # Ow-Hw + 333 1 500 499 # Ow-Hw + 334 1 501 500 # Ow-Hw + 335 1 503 502 # Ow-Hw + 336 1 504 503 # Ow-Hw + 337 1 506 505 # Ow-Hw + 338 1 507 506 # Ow-Hw + 339 1 509 508 # Ow-Hw + 340 1 510 509 # Ow-Hw + 341 1 512 511 # Ow-Hw + 342 1 513 512 # Ow-Hw + 343 1 515 514 # Ow-Hw + 344 1 516 515 # Ow-Hw + 345 1 518 517 # Ow-Hw + 346 1 519 518 # Ow-Hw + 347 1 521 520 # Ow-Hw + 348 1 522 521 # Ow-Hw + 349 1 524 523 # Ow-Hw + 350 1 525 524 # Ow-Hw + 351 1 527 526 # Ow-Hw + 352 1 528 527 # Ow-Hw + 353 1 530 529 # Ow-Hw + 354 1 531 530 # Ow-Hw + 355 1 533 532 # Ow-Hw + 356 1 534 533 # Ow-Hw + 357 1 536 535 # Ow-Hw + 358 1 537 536 # Ow-Hw + 359 1 539 538 # Ow-Hw + 360 1 540 539 # Ow-Hw + 361 1 542 541 # Ow-Hw + 362 1 543 542 # Ow-Hw + 363 1 545 544 # Ow-Hw + 364 1 546 545 # Ow-Hw + 365 1 548 547 # Ow-Hw + 366 1 549 548 # Ow-Hw + 367 1 551 550 # Ow-Hw + 368 1 552 551 # Ow-Hw + 369 1 554 553 # Ow-Hw + 370 1 555 554 # Ow-Hw + 371 1 557 556 # Ow-Hw + 372 1 558 557 # Ow-Hw + 373 1 560 559 # Ow-Hw + 374 1 561 560 # Ow-Hw + 375 1 563 562 # Ow-Hw + 376 1 564 563 # Ow-Hw + 377 1 566 565 # Ow-Hw + 378 1 567 566 # Ow-Hw + 379 1 569 568 # Ow-Hw + 380 1 570 569 # Ow-Hw + 381 1 572 571 # Ow-Hw + 382 1 573 572 # Ow-Hw + 383 1 575 574 # Ow-Hw + 384 1 576 575 # Ow-Hw + 385 1 578 577 # Ow-Hw + 386 1 579 578 # Ow-Hw + 387 1 581 580 # Ow-Hw + 388 1 582 581 # Ow-Hw + 389 1 584 583 # Ow-Hw + 390 1 585 584 # Ow-Hw + 391 1 587 586 # Ow-Hw + 392 1 588 587 # Ow-Hw + 393 1 590 589 # Ow-Hw + 394 1 591 590 # Ow-Hw + 395 1 593 592 # Ow-Hw + 396 1 594 593 # Ow-Hw + 397 1 596 595 # Ow-Hw + 398 1 597 596 # Ow-Hw + 399 1 599 598 # Ow-Hw + 400 1 600 599 # Ow-Hw + 401 1 602 601 # Ow-Hw + 402 1 603 602 # Ow-Hw + 403 1 605 604 # Ow-Hw + 404 1 606 605 # Ow-Hw + 405 1 608 607 # Ow-Hw + 406 1 609 608 # Ow-Hw + 407 1 611 610 # Ow-Hw + 408 1 612 611 # Ow-Hw + 409 1 614 613 # Ow-Hw + 410 1 615 614 # Ow-Hw + 411 1 617 616 # Ow-Hw + 412 1 618 617 # Ow-Hw + 413 1 620 619 # Ow-Hw + 414 1 621 620 # Ow-Hw + 415 1 623 622 # Ow-Hw + 416 1 624 623 # Ow-Hw + 417 1 626 625 # Ow-Hw + 418 1 627 626 # Ow-Hw + 419 1 629 628 # Ow-Hw + 420 1 630 629 # Ow-Hw + 421 1 632 631 # Ow-Hw + 422 1 633 632 # Ow-Hw + 423 1 635 634 # Ow-Hw + 424 1 636 635 # Ow-Hw + 425 1 638 637 # Ow-Hw + 426 1 639 638 # Ow-Hw + 427 1 641 640 # Ow-Hw + 428 1 642 641 # Ow-Hw + 429 1 644 643 # Ow-Hw + 430 1 645 644 # Ow-Hw + 431 1 647 646 # Ow-Hw + 432 1 648 647 # Ow-Hw + 433 1 650 649 # Ow-Hw + 434 1 651 650 # Ow-Hw + 435 1 653 652 # Ow-Hw + 436 1 654 653 # Ow-Hw + 437 1 656 655 # Ow-Hw + 438 1 657 656 # Ow-Hw + 439 1 659 658 # Ow-Hw + 440 1 660 659 # Ow-Hw + 441 1 662 661 # Ow-Hw + 442 1 663 662 # Ow-Hw + 443 1 665 664 # Ow-Hw + 444 1 666 665 # Ow-Hw + 445 1 668 667 # Ow-Hw + 446 1 669 668 # Ow-Hw + 447 1 671 670 # Ow-Hw + 448 1 672 671 # Ow-Hw + 449 1 674 673 # Ow-Hw + 450 1 675 674 # Ow-Hw + 451 1 677 676 # Ow-Hw + 452 1 678 677 # Ow-Hw + 453 1 680 679 # Ow-Hw + 454 1 681 680 # Ow-Hw + 455 1 683 682 # Ow-Hw + 456 1 684 683 # Ow-Hw + 457 1 686 685 # Ow-Hw + 458 1 687 686 # Ow-Hw + 459 1 689 688 # Ow-Hw + 460 1 690 689 # Ow-Hw + 461 1 692 691 # Ow-Hw + 462 1 693 692 # Ow-Hw + 463 1 695 694 # Ow-Hw + 464 1 696 695 # Ow-Hw + 465 1 698 697 # Ow-Hw + 466 1 699 698 # Ow-Hw + 467 1 701 700 # Ow-Hw + 468 1 702 701 # Ow-Hw + 469 1 704 703 # Ow-Hw + 470 1 705 704 # Ow-Hw + 471 1 707 706 # Ow-Hw + 472 1 708 707 # Ow-Hw + 473 1 710 709 # Ow-Hw + 474 1 711 710 # Ow-Hw + 475 1 713 712 # Ow-Hw + 476 1 714 713 # Ow-Hw + 477 1 716 715 # Ow-Hw + 478 1 717 716 # Ow-Hw + 479 1 719 718 # Ow-Hw + 480 1 720 719 # Ow-Hw + 481 1 722 721 # Ow-Hw + 482 1 723 722 # Ow-Hw + 483 1 725 724 # Ow-Hw + 484 1 726 725 # Ow-Hw + 485 1 728 727 # Ow-Hw + 486 1 729 728 # Ow-Hw + 487 1 731 730 # Ow-Hw + 488 1 732 731 # Ow-Hw + 489 1 734 733 # Ow-Hw + 490 1 735 734 # Ow-Hw + 491 1 737 736 # Ow-Hw + 492 1 738 737 # Ow-Hw + 493 1 740 739 # Ow-Hw + 494 1 741 740 # Ow-Hw + 495 1 743 742 # Ow-Hw + 496 1 744 743 # Ow-Hw + 497 1 746 745 # Ow-Hw + 498 1 747 746 # Ow-Hw + 499 1 749 748 # Ow-Hw + 500 1 750 749 # Ow-Hw + 501 1 752 751 # Ow-Hw + 502 1 753 752 # Ow-Hw + 503 1 755 754 # Ow-Hw + 504 1 756 755 # Ow-Hw + 505 1 758 757 # Ow-Hw + 506 1 759 758 # Ow-Hw + 507 1 761 760 # Ow-Hw + 508 1 762 761 # Ow-Hw + 509 1 764 763 # Ow-Hw + 510 1 765 764 # Ow-Hw + 511 1 767 766 # Ow-Hw + 512 1 768 767 # Ow-Hw + 513 1 770 769 # Ow-Hw + 514 1 771 770 # Ow-Hw + 515 1 773 772 # Ow-Hw + 516 1 774 773 # Ow-Hw + 517 1 776 775 # Ow-Hw + 518 1 777 776 # Ow-Hw + 519 1 779 778 # Ow-Hw + 520 1 780 779 # Ow-Hw + 521 1 782 781 # Ow-Hw + 522 1 783 782 # Ow-Hw + 523 1 785 784 # Ow-Hw + 524 1 786 785 # Ow-Hw + 525 1 788 787 # Ow-Hw + 526 1 789 788 # Ow-Hw + 527 1 791 790 # Ow-Hw + 528 1 792 791 # Ow-Hw + 529 1 794 793 # Ow-Hw + 530 1 795 794 # Ow-Hw + 531 1 797 796 # Ow-Hw + 532 1 798 797 # Ow-Hw + 533 1 800 799 # Ow-Hw + 534 1 801 800 # Ow-Hw + 535 1 803 802 # Ow-Hw + 536 1 804 803 # Ow-Hw + 537 1 806 805 # Ow-Hw + 538 1 807 806 # Ow-Hw + 539 1 809 808 # Ow-Hw + 540 1 810 809 # Ow-Hw + 541 1 812 811 # Ow-Hw + 542 1 813 812 # Ow-Hw + 543 1 815 814 # Ow-Hw + 544 1 816 815 # Ow-Hw + 545 1 818 817 # Ow-Hw + 546 1 819 818 # Ow-Hw + 547 1 821 820 # Ow-Hw + 548 1 822 821 # Ow-Hw + 549 1 824 823 # Ow-Hw + 550 1 825 824 # Ow-Hw + 551 1 827 826 # Ow-Hw + 552 1 828 827 # Ow-Hw + 553 1 830 829 # Ow-Hw + 554 1 831 830 # Ow-Hw + 555 1 833 832 # Ow-Hw + 556 1 834 833 # Ow-Hw + 557 1 836 835 # Ow-Hw + 558 1 837 836 # Ow-Hw + 559 1 839 838 # Ow-Hw + 560 1 840 839 # Ow-Hw + 561 1 842 841 # Ow-Hw + 562 1 843 842 # Ow-Hw + 563 1 845 844 # Ow-Hw + 564 1 846 845 # Ow-Hw + 565 1 848 847 # Ow-Hw + 566 1 849 848 # Ow-Hw + 567 1 851 850 # Ow-Hw + 568 1 852 851 # Ow-Hw + 569 1 854 853 # Ow-Hw + 570 1 855 854 # Ow-Hw + 571 1 857 856 # Ow-Hw + 572 1 858 857 # Ow-Hw + 573 1 860 859 # Ow-Hw + 574 1 861 860 # Ow-Hw + 575 1 863 862 # Ow-Hw + 576 1 864 863 # Ow-Hw + 577 1 866 865 # Ow-Hw + 578 1 867 866 # Ow-Hw + 579 1 869 868 # Ow-Hw + 580 1 870 869 # Ow-Hw + 581 1 872 871 # Ow-Hw + 582 1 873 872 # Ow-Hw + 583 1 875 874 # Ow-Hw + 584 1 876 875 # Ow-Hw + 585 1 878 877 # Ow-Hw + 586 1 879 878 # Ow-Hw + 587 1 881 880 # Ow-Hw + 588 1 882 881 # Ow-Hw + 589 1 884 883 # Ow-Hw + 590 1 885 884 # Ow-Hw + 591 1 887 886 # Ow-Hw + 592 1 888 887 # Ow-Hw + 593 1 890 889 # Ow-Hw + 594 1 891 890 # Ow-Hw + 595 1 893 892 # Ow-Hw + 596 1 894 893 # Ow-Hw + 597 1 896 895 # Ow-Hw + 598 1 897 896 # Ow-Hw + 599 1 899 898 # Ow-Hw + 600 1 900 899 # Ow-Hw + 601 1 902 901 # Ow-Hw + 602 1 903 902 # Ow-Hw + 603 1 905 904 # Ow-Hw + 604 1 906 905 # Ow-Hw + 605 1 908 907 # Ow-Hw + 606 1 909 908 # Ow-Hw + 607 1 911 910 # Ow-Hw + 608 1 912 911 # Ow-Hw + 609 1 914 913 # Ow-Hw + 610 1 915 914 # Ow-Hw + 611 1 917 916 # Ow-Hw + 612 1 918 917 # Ow-Hw + 613 1 920 919 # Ow-Hw + 614 1 921 920 # Ow-Hw + 615 1 923 922 # Ow-Hw + 616 1 924 923 # Ow-Hw + 617 1 926 925 # Ow-Hw + 618 1 927 926 # Ow-Hw + 619 1 929 928 # Ow-Hw + 620 1 930 929 # Ow-Hw + 621 1 932 931 # Ow-Hw + 622 1 933 932 # Ow-Hw + 623 1 935 934 # Ow-Hw + 624 1 936 935 # Ow-Hw + 625 1 938 937 # Ow-Hw + 626 1 939 938 # Ow-Hw + 627 1 941 940 # Ow-Hw + 628 1 942 941 # Ow-Hw + 629 1 944 943 # Ow-Hw + 630 1 945 944 # Ow-Hw + 631 1 947 946 # Ow-Hw + 632 1 948 947 # Ow-Hw + 633 1 950 949 # Ow-Hw + 634 1 951 950 # Ow-Hw + 635 1 953 952 # Ow-Hw + 636 1 954 953 # Ow-Hw + 637 1 956 955 # Ow-Hw + 638 1 957 956 # Ow-Hw + 639 1 959 958 # Ow-Hw + 640 1 960 959 # Ow-Hw + 641 1 962 961 # Ow-Hw + 642 1 963 962 # Ow-Hw + 643 1 965 964 # Ow-Hw + 644 1 966 965 # Ow-Hw + 645 1 968 967 # Ow-Hw + 646 1 969 968 # Ow-Hw + 647 1 971 970 # Ow-Hw + 648 1 972 971 # Ow-Hw + 649 1 974 973 # Ow-Hw + 650 1 975 974 # Ow-Hw + 651 1 977 976 # Ow-Hw + 652 1 978 977 # Ow-Hw + 653 1 980 979 # Ow-Hw + 654 1 981 980 # Ow-Hw + 655 1 983 982 # Ow-Hw + 656 1 984 983 # Ow-Hw + 657 1 986 985 # Ow-Hw + 658 1 987 986 # Ow-Hw + 659 1 989 988 # Ow-Hw + 660 1 990 989 # Ow-Hw + 661 1 992 991 # Ow-Hw + 662 1 993 992 # Ow-Hw + 663 1 995 994 # Ow-Hw + 664 1 996 995 # Ow-Hw + 665 1 998 997 # Ow-Hw + 666 1 999 998 # Ow-Hw + 667 1 1001 1000 # Ow-Hw + 668 1 1002 1001 # Ow-Hw + 669 1 1004 1003 # Ow-Hw + 670 1 1005 1004 # Ow-Hw + 671 1 1007 1006 # Ow-Hw + 672 1 1008 1007 # Ow-Hw + 673 1 1010 1009 # Ow-Hw + 674 1 1011 1010 # Ow-Hw + 675 1 1013 1012 # Ow-Hw + 676 1 1014 1013 # Ow-Hw + 677 1 1016 1015 # Ow-Hw + 678 1 1017 1016 # Ow-Hw + 679 1 1019 1018 # Ow-Hw + 680 1 1020 1019 # Ow-Hw + 681 1 1022 1021 # Ow-Hw + 682 1 1023 1022 # Ow-Hw + 683 1 1025 1024 # Ow-Hw + 684 1 1026 1025 # Ow-Hw + 685 1 1028 1027 # Ow-Hw + 686 1 1029 1028 # Ow-Hw + 687 1 1031 1030 # Ow-Hw + 688 1 1032 1031 # Ow-Hw + 689 1 1034 1033 # Ow-Hw + 690 1 1035 1034 # Ow-Hw + 691 1 1037 1036 # Ow-Hw + 692 1 1038 1037 # Ow-Hw + 693 1 1040 1039 # Ow-Hw + 694 1 1041 1040 # Ow-Hw + 695 1 1043 1042 # Ow-Hw + 696 1 1044 1043 # Ow-Hw + 697 1 1046 1045 # Ow-Hw + 698 1 1047 1046 # Ow-Hw + 699 1 1049 1048 # Ow-Hw + 700 1 1050 1049 # Ow-Hw + 701 1 1052 1051 # Ow-Hw + 702 1 1053 1052 # Ow-Hw + 703 1 1055 1054 # Ow-Hw + 704 1 1056 1055 # Ow-Hw + 705 1 1058 1057 # Ow-Hw + 706 1 1059 1058 # Ow-Hw + 707 1 1061 1060 # Ow-Hw + 708 1 1062 1061 # Ow-Hw + 709 1 1064 1063 # Ow-Hw + 710 1 1065 1064 # Ow-Hw + 711 1 1067 1066 # Ow-Hw + 712 1 1068 1067 # Ow-Hw + 713 1 1070 1069 # Ow-Hw + 714 1 1071 1070 # Ow-Hw + 715 1 1073 1072 # Ow-Hw + 716 1 1074 1073 # Ow-Hw + 717 1 1076 1075 # Ow-Hw + 718 1 1077 1076 # Ow-Hw + 719 1 1079 1078 # Ow-Hw + 720 1 1080 1079 # Ow-Hw + 721 1 1082 1081 # Ow-Hw + 722 1 1083 1082 # Ow-Hw + 723 1 1085 1084 # Ow-Hw + 724 1 1086 1085 # Ow-Hw + 725 1 1088 1087 # Ow-Hw + 726 1 1089 1088 # Ow-Hw + 727 1 1091 1090 # Ow-Hw + 728 1 1092 1091 # Ow-Hw + 729 1 1094 1093 # Ow-Hw + 730 1 1095 1094 # Ow-Hw + 731 1 1097 1096 # Ow-Hw + 732 1 1098 1097 # Ow-Hw + 733 1 1100 1099 # Ow-Hw + 734 1 1101 1100 # Ow-Hw + 735 1 1103 1102 # Ow-Hw + 736 1 1104 1103 # Ow-Hw + 737 1 1106 1105 # Ow-Hw + 738 1 1107 1106 # Ow-Hw + 739 1 1109 1108 # Ow-Hw + 740 1 1110 1109 # Ow-Hw + 741 1 1112 1111 # Ow-Hw + 742 1 1113 1112 # Ow-Hw + 743 1 1115 1114 # Ow-Hw + 744 1 1116 1115 # Ow-Hw + 745 1 1118 1117 # Ow-Hw + 746 1 1119 1118 # Ow-Hw + 747 1 1121 1120 # Ow-Hw + 748 1 1122 1121 # Ow-Hw + 749 1 1124 1123 # Ow-Hw + 750 1 1125 1124 # Ow-Hw + 751 1 1127 1126 # Ow-Hw + 752 1 1128 1127 # Ow-Hw + 753 1 1130 1129 # Ow-Hw + 754 1 1131 1130 # Ow-Hw + 755 1 1133 1132 # Ow-Hw + 756 1 1134 1133 # Ow-Hw + 757 1 1136 1135 # Ow-Hw + 758 1 1137 1136 # Ow-Hw + 759 1 1139 1138 # Ow-Hw + 760 1 1140 1139 # Ow-Hw + 761 1 1142 1141 # Ow-Hw + 762 1 1143 1142 # Ow-Hw + 763 1 1145 1144 # Ow-Hw + 764 1 1146 1145 # Ow-Hw + 765 1 1148 1147 # Ow-Hw + 766 1 1149 1148 # Ow-Hw + 767 1 1151 1150 # Ow-Hw + 768 1 1152 1151 # Ow-Hw + 769 1 1154 1153 # Ow-Hw + 770 1 1155 1154 # Ow-Hw + 771 1 1157 1156 # Ow-Hw + 772 1 1158 1157 # Ow-Hw + 773 1 1160 1159 # Ow-Hw + 774 1 1161 1160 # Ow-Hw + 775 1 1163 1162 # Ow-Hw + 776 1 1164 1163 # Ow-Hw + 777 1 1166 1165 # Ow-Hw + 778 1 1167 1166 # Ow-Hw + 779 1 1169 1168 # Ow-Hw + 780 1 1170 1169 # Ow-Hw + 781 1 1172 1171 # Ow-Hw + 782 1 1173 1172 # Ow-Hw + 783 1 1175 1174 # Ow-Hw + 784 1 1176 1175 # Ow-Hw + 785 1 1178 1177 # Ow-Hw + 786 1 1179 1178 # Ow-Hw + 787 1 1181 1180 # Ow-Hw + 788 1 1182 1181 # Ow-Hw + 789 1 1184 1183 # Ow-Hw + 790 1 1185 1184 # Ow-Hw + 791 1 1187 1186 # Ow-Hw + 792 1 1188 1187 # Ow-Hw + 793 1 1190 1189 # Ow-Hw + 794 1 1191 1190 # Ow-Hw + 795 1 1193 1192 # Ow-Hw + 796 1 1194 1193 # Ow-Hw + 797 1 1196 1195 # Ow-Hw + 798 1 1197 1196 # Ow-Hw + 799 1 1199 1198 # Ow-Hw + 800 1 1200 1199 # Ow-Hw + 801 1 1202 1201 # Ow-Hw + 802 1 1203 1202 # Ow-Hw + 803 1 1205 1204 # Ow-Hw + 804 1 1206 1205 # Ow-Hw + 805 1 1208 1207 # Ow-Hw + 806 1 1209 1208 # Ow-Hw + 807 1 1211 1210 # Ow-Hw + 808 1 1212 1211 # Ow-Hw + 809 1 1214 1213 # Ow-Hw + 810 1 1215 1214 # Ow-Hw + 811 1 1217 1216 # Ow-Hw + 812 1 1218 1217 # Ow-Hw + 813 1 1220 1219 # Ow-Hw + 814 1 1221 1220 # Ow-Hw + 815 1 1223 1222 # Ow-Hw + 816 1 1224 1223 # Ow-Hw + 817 1 1226 1225 # Ow-Hw + 818 1 1227 1226 # Ow-Hw + 819 1 1229 1228 # Ow-Hw + 820 1 1230 1229 # Ow-Hw + 821 1 1232 1231 # Ow-Hw + 822 1 1233 1232 # Ow-Hw + 823 1 1235 1234 # Ow-Hw + 824 1 1236 1235 # Ow-Hw + 825 1 1238 1237 # Ow-Hw + 826 1 1239 1238 # Ow-Hw + 827 1 1241 1240 # Ow-Hw + 828 1 1242 1241 # Ow-Hw + 829 1 1244 1243 # Ow-Hw + 830 1 1245 1244 # Ow-Hw + 831 1 1247 1246 # Ow-Hw + 832 1 1248 1247 # Ow-Hw + 833 1 1250 1249 # Ow-Hw + 834 1 1251 1250 # Ow-Hw + 835 1 1253 1252 # Ow-Hw + 836 1 1254 1253 # Ow-Hw + 837 1 1256 1255 # Ow-Hw + 838 1 1257 1256 # Ow-Hw + 839 1 1259 1258 # Ow-Hw + 840 1 1260 1259 # Ow-Hw + 841 1 1262 1261 # Ow-Hw + 842 1 1263 1262 # Ow-Hw + 843 1 1265 1264 # Ow-Hw + 844 1 1266 1265 # Ow-Hw + 845 1 1268 1267 # Ow-Hw + 846 1 1269 1268 # Ow-Hw + 847 1 1271 1270 # Ow-Hw + 848 1 1272 1271 # Ow-Hw + 849 1 1274 1273 # Ow-Hw + 850 1 1275 1274 # Ow-Hw + 851 1 1277 1276 # Ow-Hw + 852 1 1278 1277 # Ow-Hw + 853 1 1280 1279 # Ow-Hw + 854 1 1281 1280 # Ow-Hw + 855 1 1283 1282 # Ow-Hw + 856 1 1284 1283 # Ow-Hw + 857 1 1286 1285 # Ow-Hw + 858 1 1287 1286 # Ow-Hw + 859 1 1289 1288 # Ow-Hw + 860 1 1290 1289 # Ow-Hw + 861 1 1292 1291 # Ow-Hw + 862 1 1293 1292 # Ow-Hw + 863 1 1295 1294 # Ow-Hw + 864 1 1296 1295 # Ow-Hw + 865 1 1298 1297 # Ow-Hw + 866 1 1299 1298 # Ow-Hw + 867 1 1301 1300 # Ow-Hw + 868 1 1302 1301 # Ow-Hw + 869 1 1304 1303 # Ow-Hw + 870 1 1305 1304 # Ow-Hw + 871 1 1307 1306 # Ow-Hw + 872 1 1308 1307 # Ow-Hw + 873 1 1310 1309 # Ow-Hw + 874 1 1311 1310 # Ow-Hw + 875 1 1313 1312 # Ow-Hw + 876 1 1314 1313 # Ow-Hw + 877 1 1316 1315 # Ow-Hw + 878 1 1317 1316 # Ow-Hw + 879 1 1319 1318 # Ow-Hw + 880 1 1320 1319 # Ow-Hw + 881 1 1322 1321 # Ow-Hw + 882 1 1323 1322 # Ow-Hw + 883 1 1325 1324 # Ow-Hw + 884 1 1326 1325 # Ow-Hw + 885 1 1328 1327 # Ow-Hw + 886 1 1329 1328 # Ow-Hw + 887 1 1331 1330 # Ow-Hw + 888 1 1332 1331 # Ow-Hw + 889 1 1334 1333 # Ow-Hw + 890 1 1335 1334 # Ow-Hw + 891 1 1337 1336 # Ow-Hw + 892 1 1338 1337 # Ow-Hw + 893 1 1340 1339 # Ow-Hw + 894 1 1341 1340 # Ow-Hw + 895 1 1343 1342 # Ow-Hw + 896 1 1344 1343 # Ow-Hw + 897 1 1346 1345 # Ow-Hw + 898 1 1347 1346 # Ow-Hw + 899 1 1349 1348 # Ow-Hw + 900 1 1350 1349 # Ow-Hw + 901 1 1352 1351 # Ow-Hw + 902 1 1353 1352 # Ow-Hw + 903 1 1355 1354 # Ow-Hw + 904 1 1356 1355 # Ow-Hw + 905 1 1358 1357 # Ow-Hw + 906 1 1359 1358 # Ow-Hw + 907 1 1361 1360 # Ow-Hw + 908 1 1362 1361 # Ow-Hw + 909 1 1364 1363 # Ow-Hw + 910 1 1365 1364 # Ow-Hw + 911 1 1367 1366 # Ow-Hw + 912 1 1368 1367 # Ow-Hw + 913 1 1370 1369 # Ow-Hw + 914 1 1371 1370 # Ow-Hw + 915 1 1373 1372 # Ow-Hw + 916 1 1374 1373 # Ow-Hw + 917 1 1376 1375 # Ow-Hw + 918 1 1377 1376 # Ow-Hw + 919 1 1379 1378 # Ow-Hw + 920 1 1380 1379 # Ow-Hw + 921 1 1382 1381 # Ow-Hw + 922 1 1383 1382 # Ow-Hw + 923 1 1385 1384 # Ow-Hw + 924 1 1386 1385 # Ow-Hw + 925 1 1388 1387 # Ow-Hw + 926 1 1389 1388 # Ow-Hw + 927 1 1391 1390 # Ow-Hw + 928 1 1392 1391 # Ow-Hw + 929 1 1394 1393 # Ow-Hw + 930 1 1395 1394 # Ow-Hw + 931 1 1397 1396 # Ow-Hw + 932 1 1398 1397 # Ow-Hw + 933 1 1400 1399 # Ow-Hw + 934 1 1401 1400 # Ow-Hw + 935 1 1403 1402 # Ow-Hw + 936 1 1404 1403 # Ow-Hw + 937 1 1406 1405 # Ow-Hw + 938 1 1407 1406 # Ow-Hw + 939 1 1409 1408 # Ow-Hw + 940 1 1410 1409 # Ow-Hw + 941 1 1412 1411 # Ow-Hw + 942 1 1413 1412 # Ow-Hw + 943 1 1415 1414 # Ow-Hw + 944 1 1416 1415 # Ow-Hw + 945 1 1418 1417 # Ow-Hw + 946 1 1419 1418 # Ow-Hw + 947 1 1421 1420 # Ow-Hw + 948 1 1422 1421 # Ow-Hw + 949 1 1424 1423 # Ow-Hw + 950 1 1425 1424 # Ow-Hw + 951 1 1427 1426 # Ow-Hw + 952 1 1428 1427 # Ow-Hw + 953 1 1430 1429 # Ow-Hw + 954 1 1431 1430 # Ow-Hw + 955 1 1433 1432 # Ow-Hw + 956 1 1434 1433 # Ow-Hw + 957 1 1436 1435 # Ow-Hw + 958 1 1437 1436 # Ow-Hw + 959 1 1439 1438 # Ow-Hw + 960 1 1440 1439 # Ow-Hw + 961 1 1442 1441 # Ow-Hw + 962 1 1443 1442 # Ow-Hw + 963 1 1445 1444 # Ow-Hw + 964 1 1446 1445 # Ow-Hw + 965 1 1448 1447 # Ow-Hw + 966 1 1449 1448 # Ow-Hw + 967 1 1451 1450 # Ow-Hw + 968 1 1452 1451 # Ow-Hw + 969 1 1454 1453 # Ow-Hw + 970 1 1455 1454 # Ow-Hw + 971 1 1457 1456 # Ow-Hw + 972 1 1458 1457 # Ow-Hw + 973 1 1460 1459 # Ow-Hw + 974 1 1461 1460 # Ow-Hw + 975 1 1463 1462 # Ow-Hw + 976 1 1464 1463 # Ow-Hw + 977 1 1466 1465 # Ow-Hw + 978 1 1467 1466 # Ow-Hw + 979 1 1469 1468 # Ow-Hw + 980 1 1470 1469 # Ow-Hw + 981 1 1472 1471 # Ow-Hw + 982 1 1473 1472 # Ow-Hw + 983 1 1475 1474 # Ow-Hw + 984 1 1476 1475 # Ow-Hw + 985 1 1478 1477 # Ow-Hw + 986 1 1479 1478 # Ow-Hw + 987 1 1481 1480 # Ow-Hw + 988 1 1482 1481 # Ow-Hw + 989 1 1484 1483 # Ow-Hw + 990 1 1485 1484 # Ow-Hw + 991 1 1487 1486 # Ow-Hw + 992 1 1488 1487 # Ow-Hw + 993 1 1490 1489 # Ow-Hw + 994 1 1491 1490 # Ow-Hw + 995 1 1493 1492 # Ow-Hw + 996 1 1494 1493 # Ow-Hw + 997 1 1496 1495 # Ow-Hw + 998 1 1497 1496 # Ow-Hw + 999 1 1499 1498 # Ow-Hw + 1000 1 1500 1499 # Ow-Hw + 1001 1 1502 1501 # Ow-Hw + 1002 1 1503 1502 # Ow-Hw + 1003 1 1505 1504 # Ow-Hw + 1004 1 1506 1505 # Ow-Hw + 1005 1 1508 1507 # Ow-Hw + 1006 1 1509 1508 # Ow-Hw + 1007 1 1511 1510 # Ow-Hw + 1008 1 1512 1511 # Ow-Hw + 1009 1 1514 1513 # Ow-Hw + 1010 1 1515 1514 # Ow-Hw + 1011 1 1517 1516 # Ow-Hw + 1012 1 1518 1517 # Ow-Hw + 1013 1 1520 1519 # Ow-Hw + 1014 1 1521 1520 # Ow-Hw + 1015 1 1523 1522 # Ow-Hw + 1016 1 1524 1523 # Ow-Hw + 1017 1 1526 1525 # Ow-Hw + 1018 1 1527 1526 # Ow-Hw + 1019 1 1529 1528 # Ow-Hw + 1020 1 1530 1529 # Ow-Hw + 1021 1 1532 1531 # Ow-Hw + 1022 1 1533 1532 # Ow-Hw + 1023 1 1535 1534 # Ow-Hw + 1024 1 1536 1535 # Ow-Hw + 1025 1 1538 1537 # Ow-Hw + 1026 1 1539 1538 # Ow-Hw + 1027 1 1541 1540 # Ow-Hw + 1028 1 1542 1541 # Ow-Hw + 1029 1 1544 1543 # Ow-Hw + 1030 1 1545 1544 # Ow-Hw + 1031 1 1547 1546 # Ow-Hw + 1032 1 1548 1547 # Ow-Hw + 1033 1 1550 1549 # Ow-Hw + 1034 1 1551 1550 # Ow-Hw + 1035 1 1553 1552 # Ow-Hw + 1036 1 1554 1553 # Ow-Hw + 1037 1 1556 1555 # Ow-Hw + 1038 1 1557 1556 # Ow-Hw + 1039 1 1559 1558 # Ow-Hw + 1040 1 1560 1559 # Ow-Hw + 1041 1 1562 1561 # Ow-Hw + 1042 1 1563 1562 # Ow-Hw + 1043 1 1565 1564 # Ow-Hw + 1044 1 1566 1565 # Ow-Hw + 1045 1 1568 1567 # Ow-Hw + 1046 1 1569 1568 # Ow-Hw + 1047 1 1571 1570 # Ow-Hw + 1048 1 1572 1571 # Ow-Hw + 1049 1 1574 1573 # Ow-Hw + 1050 1 1575 1574 # Ow-Hw + 1051 1 1577 1576 # Ow-Hw + 1052 1 1578 1577 # Ow-Hw + 1053 1 1580 1579 # Ow-Hw + 1054 1 1581 1580 # Ow-Hw + 1055 1 1583 1582 # Ow-Hw + 1056 1 1584 1583 # Ow-Hw + 1057 1 1586 1585 # Ow-Hw + 1058 1 1587 1586 # Ow-Hw + 1059 1 1589 1588 # Ow-Hw + 1060 1 1590 1589 # Ow-Hw + 1061 1 1592 1591 # Ow-Hw + 1062 1 1593 1592 # Ow-Hw + 1063 1 1595 1594 # Ow-Hw + 1064 1 1596 1595 # Ow-Hw + 1065 1 1598 1597 # Ow-Hw + 1066 1 1599 1598 # Ow-Hw + 1067 1 1601 1600 # Ow-Hw + 1068 1 1602 1601 # Ow-Hw + 1069 1 1604 1603 # Ow-Hw + 1070 1 1605 1604 # Ow-Hw + 1071 1 1607 1606 # Ow-Hw + 1072 1 1608 1607 # Ow-Hw + 1073 1 1610 1609 # Ow-Hw + 1074 1 1611 1610 # Ow-Hw + 1075 1 1613 1612 # Ow-Hw + 1076 1 1614 1613 # Ow-Hw + 1077 1 1616 1615 # Ow-Hw + 1078 1 1617 1616 # Ow-Hw + 1079 1 1619 1618 # Ow-Hw + 1080 1 1620 1619 # Ow-Hw + 1081 1 1622 1621 # Ow-Hw + 1082 1 1623 1622 # Ow-Hw + 1083 1 1625 1624 # Ow-Hw + 1084 1 1626 1625 # Ow-Hw + 1085 1 1628 1627 # Ow-Hw + 1086 1 1629 1628 # Ow-Hw + 1087 1 1631 1630 # Ow-Hw + 1088 1 1632 1631 # Ow-Hw + 1089 1 1634 1633 # Ow-Hw + 1090 1 1635 1634 # Ow-Hw + 1091 1 1637 1636 # Ow-Hw + 1092 1 1638 1637 # Ow-Hw + 1093 1 1640 1639 # Ow-Hw + 1094 1 1641 1640 # Ow-Hw + 1095 1 1643 1642 # Ow-Hw + 1096 1 1644 1643 # Ow-Hw + 1097 1 1646 1645 # Ow-Hw + 1098 1 1647 1646 # Ow-Hw + 1099 1 1649 1648 # Ow-Hw + 1100 1 1650 1649 # Ow-Hw + 1101 1 1652 1651 # Ow-Hw + 1102 1 1653 1652 # Ow-Hw + 1103 1 1655 1654 # Ow-Hw + 1104 1 1656 1655 # Ow-Hw + 1105 1 1658 1657 # Ow-Hw + 1106 1 1659 1658 # Ow-Hw + 1107 1 1661 1660 # Ow-Hw + 1108 1 1662 1661 # Ow-Hw + 1109 1 1664 1663 # Ow-Hw + 1110 1 1665 1664 # Ow-Hw + 1111 1 1667 1666 # Ow-Hw + 1112 1 1668 1667 # Ow-Hw + 1113 1 1670 1669 # Ow-Hw + 1114 1 1671 1670 # Ow-Hw + 1115 1 1673 1672 # Ow-Hw + 1116 1 1674 1673 # Ow-Hw + 1117 1 1676 1675 # Ow-Hw + 1118 1 1677 1676 # Ow-Hw + 1119 1 1679 1678 # Ow-Hw + 1120 1 1680 1679 # Ow-Hw + 1121 1 1682 1681 # Ow-Hw + 1122 1 1683 1682 # Ow-Hw + 1123 1 1685 1684 # Ow-Hw + 1124 1 1686 1685 # Ow-Hw + 1125 1 1688 1687 # Ow-Hw + 1126 1 1689 1688 # Ow-Hw + 1127 1 1691 1690 # Ow-Hw + 1128 1 1692 1691 # Ow-Hw + 1129 1 1694 1693 # Ow-Hw + 1130 1 1695 1694 # Ow-Hw + 1131 1 1697 1696 # Ow-Hw + 1132 1 1698 1697 # Ow-Hw + 1133 1 1700 1699 # Ow-Hw + 1134 1 1701 1700 # Ow-Hw + 1135 1 1703 1702 # Ow-Hw + 1136 1 1704 1703 # Ow-Hw + 1137 1 1706 1705 # Ow-Hw + 1138 1 1707 1706 # Ow-Hw + 1139 1 1709 1708 # Ow-Hw + 1140 1 1710 1709 # Ow-Hw + 1141 1 1712 1711 # Ow-Hw + 1142 1 1713 1712 # Ow-Hw + 1143 1 1715 1714 # Ow-Hw + 1144 1 1716 1715 # Ow-Hw + 1145 1 1718 1717 # Ow-Hw + 1146 1 1719 1718 # Ow-Hw + 1147 1 1721 1720 # Ow-Hw + 1148 1 1722 1721 # Ow-Hw + 1149 1 1724 1723 # Ow-Hw + 1150 1 1725 1724 # Ow-Hw + 1151 1 1727 1726 # Ow-Hw + 1152 1 1728 1727 # Ow-Hw + 1153 1 1730 1729 # Ow-Hw + 1154 1 1731 1730 # Ow-Hw + 1155 1 1733 1732 # Ow-Hw + 1156 1 1734 1733 # Ow-Hw + 1157 1 1736 1735 # Ow-Hw + 1158 1 1737 1736 # Ow-Hw + 1159 1 1739 1738 # Ow-Hw + 1160 1 1740 1739 # Ow-Hw + 1161 1 1742 1741 # Ow-Hw + 1162 1 1743 1742 # Ow-Hw + 1163 1 1745 1744 # Ow-Hw + 1164 1 1746 1745 # Ow-Hw + 1165 1 1748 1747 # Ow-Hw + 1166 1 1749 1748 # Ow-Hw + 1167 1 1751 1750 # Ow-Hw + 1168 1 1752 1751 # Ow-Hw + 1169 1 1754 1753 # Ow-Hw + 1170 1 1755 1754 # Ow-Hw + 1171 1 1757 1756 # Ow-Hw + 1172 1 1758 1757 # Ow-Hw + 1173 1 1760 1759 # Ow-Hw + 1174 1 1761 1760 # Ow-Hw + 1175 1 1763 1762 # Ow-Hw + 1176 1 1764 1763 # Ow-Hw + 1177 1 1766 1765 # Ow-Hw + 1178 1 1767 1766 # Ow-Hw + 1179 1 1769 1768 # Ow-Hw + 1180 1 1770 1769 # Ow-Hw + 1181 1 1772 1771 # Ow-Hw + 1182 1 1773 1772 # Ow-Hw + 1183 1 1775 1774 # Ow-Hw + 1184 1 1776 1775 # Ow-Hw + 1185 1 1778 1777 # Ow-Hw + 1186 1 1779 1778 # Ow-Hw + 1187 1 1781 1780 # Ow-Hw + 1188 1 1782 1781 # Ow-Hw + 1189 1 1784 1783 # Ow-Hw + 1190 1 1785 1784 # Ow-Hw + 1191 1 1787 1786 # Ow-Hw + 1192 1 1788 1787 # Ow-Hw + 1193 1 1790 1789 # Ow-Hw + 1194 1 1791 1790 # Ow-Hw + 1195 1 1793 1792 # Ow-Hw + 1196 1 1794 1793 # Ow-Hw + 1197 1 1796 1795 # Ow-Hw + 1198 1 1797 1796 # Ow-Hw + 1199 1 1799 1798 # Ow-Hw + 1200 1 1800 1799 # Ow-Hw + +Angles + + 1 1 1 2 3 # Hw-Ow-Hw + 2 1 4 5 6 # Hw-Ow-Hw + 3 1 7 8 9 # Hw-Ow-Hw + 4 1 10 11 12 # Hw-Ow-Hw + 5 1 13 14 15 # Hw-Ow-Hw + 6 1 16 17 18 # Hw-Ow-Hw + 7 1 19 20 21 # Hw-Ow-Hw + 8 1 22 23 24 # Hw-Ow-Hw + 9 1 25 26 27 # Hw-Ow-Hw + 10 1 28 29 30 # Hw-Ow-Hw + 11 1 31 32 33 # Hw-Ow-Hw + 12 1 34 35 36 # Hw-Ow-Hw + 13 1 37 38 39 # Hw-Ow-Hw + 14 1 40 41 42 # Hw-Ow-Hw + 15 1 43 44 45 # Hw-Ow-Hw + 16 1 46 47 48 # Hw-Ow-Hw + 17 1 49 50 51 # Hw-Ow-Hw + 18 1 52 53 54 # Hw-Ow-Hw + 19 1 55 56 57 # Hw-Ow-Hw + 20 1 58 59 60 # Hw-Ow-Hw + 21 1 61 62 63 # Hw-Ow-Hw + 22 1 64 65 66 # Hw-Ow-Hw + 23 1 67 68 69 # Hw-Ow-Hw + 24 1 70 71 72 # Hw-Ow-Hw + 25 1 73 74 75 # Hw-Ow-Hw + 26 1 76 77 78 # Hw-Ow-Hw + 27 1 79 80 81 # Hw-Ow-Hw + 28 1 82 83 84 # Hw-Ow-Hw + 29 1 85 86 87 # Hw-Ow-Hw + 30 1 88 89 90 # Hw-Ow-Hw + 31 1 91 92 93 # Hw-Ow-Hw + 32 1 94 95 96 # Hw-Ow-Hw + 33 1 97 98 99 # Hw-Ow-Hw + 34 1 100 101 102 # Hw-Ow-Hw + 35 1 103 104 105 # Hw-Ow-Hw + 36 1 106 107 108 # Hw-Ow-Hw + 37 1 109 110 111 # Hw-Ow-Hw + 38 1 112 113 114 # Hw-Ow-Hw + 39 1 115 116 117 # Hw-Ow-Hw + 40 1 118 119 120 # Hw-Ow-Hw + 41 1 121 122 123 # Hw-Ow-Hw + 42 1 124 125 126 # Hw-Ow-Hw + 43 1 127 128 129 # Hw-Ow-Hw + 44 1 130 131 132 # Hw-Ow-Hw + 45 1 133 134 135 # Hw-Ow-Hw + 46 1 136 137 138 # Hw-Ow-Hw + 47 1 139 140 141 # Hw-Ow-Hw + 48 1 142 143 144 # Hw-Ow-Hw + 49 1 145 146 147 # Hw-Ow-Hw + 50 1 148 149 150 # Hw-Ow-Hw + 51 1 151 152 153 # Hw-Ow-Hw + 52 1 154 155 156 # Hw-Ow-Hw + 53 1 157 158 159 # Hw-Ow-Hw + 54 1 160 161 162 # Hw-Ow-Hw + 55 1 163 164 165 # Hw-Ow-Hw + 56 1 166 167 168 # Hw-Ow-Hw + 57 1 169 170 171 # Hw-Ow-Hw + 58 1 172 173 174 # Hw-Ow-Hw + 59 1 175 176 177 # Hw-Ow-Hw + 60 1 178 179 180 # Hw-Ow-Hw + 61 1 181 182 183 # Hw-Ow-Hw + 62 1 184 185 186 # Hw-Ow-Hw + 63 1 187 188 189 # Hw-Ow-Hw + 64 1 190 191 192 # Hw-Ow-Hw + 65 1 193 194 195 # Hw-Ow-Hw + 66 1 196 197 198 # Hw-Ow-Hw + 67 1 199 200 201 # Hw-Ow-Hw + 68 1 202 203 204 # Hw-Ow-Hw + 69 1 205 206 207 # Hw-Ow-Hw + 70 1 208 209 210 # Hw-Ow-Hw + 71 1 211 212 213 # Hw-Ow-Hw + 72 1 214 215 216 # Hw-Ow-Hw + 73 1 217 218 219 # Hw-Ow-Hw + 74 1 220 221 222 # Hw-Ow-Hw + 75 1 223 224 225 # Hw-Ow-Hw + 76 1 226 227 228 # Hw-Ow-Hw + 77 1 229 230 231 # Hw-Ow-Hw + 78 1 232 233 234 # Hw-Ow-Hw + 79 1 235 236 237 # Hw-Ow-Hw + 80 1 238 239 240 # Hw-Ow-Hw + 81 1 241 242 243 # Hw-Ow-Hw + 82 1 244 245 246 # Hw-Ow-Hw + 83 1 247 248 249 # Hw-Ow-Hw + 84 1 250 251 252 # Hw-Ow-Hw + 85 1 253 254 255 # Hw-Ow-Hw + 86 1 256 257 258 # Hw-Ow-Hw + 87 1 259 260 261 # Hw-Ow-Hw + 88 1 262 263 264 # Hw-Ow-Hw + 89 1 265 266 267 # Hw-Ow-Hw + 90 1 268 269 270 # Hw-Ow-Hw + 91 1 271 272 273 # Hw-Ow-Hw + 92 1 274 275 276 # Hw-Ow-Hw + 93 1 277 278 279 # Hw-Ow-Hw + 94 1 280 281 282 # Hw-Ow-Hw + 95 1 283 284 285 # Hw-Ow-Hw + 96 1 286 287 288 # Hw-Ow-Hw + 97 1 289 290 291 # Hw-Ow-Hw + 98 1 292 293 294 # Hw-Ow-Hw + 99 1 295 296 297 # Hw-Ow-Hw + 100 1 298 299 300 # Hw-Ow-Hw + 101 1 301 302 303 # Hw-Ow-Hw + 102 1 304 305 306 # Hw-Ow-Hw + 103 1 307 308 309 # Hw-Ow-Hw + 104 1 310 311 312 # Hw-Ow-Hw + 105 1 313 314 315 # Hw-Ow-Hw + 106 1 316 317 318 # Hw-Ow-Hw + 107 1 319 320 321 # Hw-Ow-Hw + 108 1 322 323 324 # Hw-Ow-Hw + 109 1 325 326 327 # Hw-Ow-Hw + 110 1 328 329 330 # Hw-Ow-Hw + 111 1 331 332 333 # Hw-Ow-Hw + 112 1 334 335 336 # Hw-Ow-Hw + 113 1 337 338 339 # Hw-Ow-Hw + 114 1 340 341 342 # Hw-Ow-Hw + 115 1 343 344 345 # Hw-Ow-Hw + 116 1 346 347 348 # Hw-Ow-Hw + 117 1 349 350 351 # Hw-Ow-Hw + 118 1 352 353 354 # Hw-Ow-Hw + 119 1 355 356 357 # Hw-Ow-Hw + 120 1 358 359 360 # Hw-Ow-Hw + 121 1 361 362 363 # Hw-Ow-Hw + 122 1 364 365 366 # Hw-Ow-Hw + 123 1 367 368 369 # Hw-Ow-Hw + 124 1 370 371 372 # Hw-Ow-Hw + 125 1 373 374 375 # Hw-Ow-Hw + 126 1 376 377 378 # Hw-Ow-Hw + 127 1 379 380 381 # Hw-Ow-Hw + 128 1 382 383 384 # Hw-Ow-Hw + 129 1 385 386 387 # Hw-Ow-Hw + 130 1 388 389 390 # Hw-Ow-Hw + 131 1 391 392 393 # Hw-Ow-Hw + 132 1 394 395 396 # Hw-Ow-Hw + 133 1 397 398 399 # Hw-Ow-Hw + 134 1 400 401 402 # Hw-Ow-Hw + 135 1 403 404 405 # Hw-Ow-Hw + 136 1 406 407 408 # Hw-Ow-Hw + 137 1 409 410 411 # Hw-Ow-Hw + 138 1 412 413 414 # Hw-Ow-Hw + 139 1 415 416 417 # Hw-Ow-Hw + 140 1 418 419 420 # Hw-Ow-Hw + 141 1 421 422 423 # Hw-Ow-Hw + 142 1 424 425 426 # Hw-Ow-Hw + 143 1 427 428 429 # Hw-Ow-Hw + 144 1 430 431 432 # Hw-Ow-Hw + 145 1 433 434 435 # Hw-Ow-Hw + 146 1 436 437 438 # Hw-Ow-Hw + 147 1 439 440 441 # Hw-Ow-Hw + 148 1 442 443 444 # Hw-Ow-Hw + 149 1 445 446 447 # Hw-Ow-Hw + 150 1 448 449 450 # Hw-Ow-Hw + 151 1 451 452 453 # Hw-Ow-Hw + 152 1 454 455 456 # Hw-Ow-Hw + 153 1 457 458 459 # Hw-Ow-Hw + 154 1 460 461 462 # Hw-Ow-Hw + 155 1 463 464 465 # Hw-Ow-Hw + 156 1 466 467 468 # Hw-Ow-Hw + 157 1 469 470 471 # Hw-Ow-Hw + 158 1 472 473 474 # Hw-Ow-Hw + 159 1 475 476 477 # Hw-Ow-Hw + 160 1 478 479 480 # Hw-Ow-Hw + 161 1 481 482 483 # Hw-Ow-Hw + 162 1 484 485 486 # Hw-Ow-Hw + 163 1 487 488 489 # Hw-Ow-Hw + 164 1 490 491 492 # Hw-Ow-Hw + 165 1 493 494 495 # Hw-Ow-Hw + 166 1 496 497 498 # Hw-Ow-Hw + 167 1 499 500 501 # Hw-Ow-Hw + 168 1 502 503 504 # Hw-Ow-Hw + 169 1 505 506 507 # Hw-Ow-Hw + 170 1 508 509 510 # Hw-Ow-Hw + 171 1 511 512 513 # Hw-Ow-Hw + 172 1 514 515 516 # Hw-Ow-Hw + 173 1 517 518 519 # Hw-Ow-Hw + 174 1 520 521 522 # Hw-Ow-Hw + 175 1 523 524 525 # Hw-Ow-Hw + 176 1 526 527 528 # Hw-Ow-Hw + 177 1 529 530 531 # Hw-Ow-Hw + 178 1 532 533 534 # Hw-Ow-Hw + 179 1 535 536 537 # Hw-Ow-Hw + 180 1 538 539 540 # Hw-Ow-Hw + 181 1 541 542 543 # Hw-Ow-Hw + 182 1 544 545 546 # Hw-Ow-Hw + 183 1 547 548 549 # Hw-Ow-Hw + 184 1 550 551 552 # Hw-Ow-Hw + 185 1 553 554 555 # Hw-Ow-Hw + 186 1 556 557 558 # Hw-Ow-Hw + 187 1 559 560 561 # Hw-Ow-Hw + 188 1 562 563 564 # Hw-Ow-Hw + 189 1 565 566 567 # Hw-Ow-Hw + 190 1 568 569 570 # Hw-Ow-Hw + 191 1 571 572 573 # Hw-Ow-Hw + 192 1 574 575 576 # Hw-Ow-Hw + 193 1 577 578 579 # Hw-Ow-Hw + 194 1 580 581 582 # Hw-Ow-Hw + 195 1 583 584 585 # Hw-Ow-Hw + 196 1 586 587 588 # Hw-Ow-Hw + 197 1 589 590 591 # Hw-Ow-Hw + 198 1 592 593 594 # Hw-Ow-Hw + 199 1 595 596 597 # Hw-Ow-Hw + 200 1 598 599 600 # Hw-Ow-Hw + 201 1 601 602 603 # Hw-Ow-Hw + 202 1 604 605 606 # Hw-Ow-Hw + 203 1 607 608 609 # Hw-Ow-Hw + 204 1 610 611 612 # Hw-Ow-Hw + 205 1 613 614 615 # Hw-Ow-Hw + 206 1 616 617 618 # Hw-Ow-Hw + 207 1 619 620 621 # Hw-Ow-Hw + 208 1 622 623 624 # Hw-Ow-Hw + 209 1 625 626 627 # Hw-Ow-Hw + 210 1 628 629 630 # Hw-Ow-Hw + 211 1 631 632 633 # Hw-Ow-Hw + 212 1 634 635 636 # Hw-Ow-Hw + 213 1 637 638 639 # Hw-Ow-Hw + 214 1 640 641 642 # Hw-Ow-Hw + 215 1 643 644 645 # Hw-Ow-Hw + 216 1 646 647 648 # Hw-Ow-Hw + 217 1 649 650 651 # Hw-Ow-Hw + 218 1 652 653 654 # Hw-Ow-Hw + 219 1 655 656 657 # Hw-Ow-Hw + 220 1 658 659 660 # Hw-Ow-Hw + 221 1 661 662 663 # Hw-Ow-Hw + 222 1 664 665 666 # Hw-Ow-Hw + 223 1 667 668 669 # Hw-Ow-Hw + 224 1 670 671 672 # Hw-Ow-Hw + 225 1 673 674 675 # Hw-Ow-Hw + 226 1 676 677 678 # Hw-Ow-Hw + 227 1 679 680 681 # Hw-Ow-Hw + 228 1 682 683 684 # Hw-Ow-Hw + 229 1 685 686 687 # Hw-Ow-Hw + 230 1 688 689 690 # Hw-Ow-Hw + 231 1 691 692 693 # Hw-Ow-Hw + 232 1 694 695 696 # Hw-Ow-Hw + 233 1 697 698 699 # Hw-Ow-Hw + 234 1 700 701 702 # Hw-Ow-Hw + 235 1 703 704 705 # Hw-Ow-Hw + 236 1 706 707 708 # Hw-Ow-Hw + 237 1 709 710 711 # Hw-Ow-Hw + 238 1 712 713 714 # Hw-Ow-Hw + 239 1 715 716 717 # Hw-Ow-Hw + 240 1 718 719 720 # Hw-Ow-Hw + 241 1 721 722 723 # Hw-Ow-Hw + 242 1 724 725 726 # Hw-Ow-Hw + 243 1 727 728 729 # Hw-Ow-Hw + 244 1 730 731 732 # Hw-Ow-Hw + 245 1 733 734 735 # Hw-Ow-Hw + 246 1 736 737 738 # Hw-Ow-Hw + 247 1 739 740 741 # Hw-Ow-Hw + 248 1 742 743 744 # Hw-Ow-Hw + 249 1 745 746 747 # Hw-Ow-Hw + 250 1 748 749 750 # Hw-Ow-Hw + 251 1 751 752 753 # Hw-Ow-Hw + 252 1 754 755 756 # Hw-Ow-Hw + 253 1 757 758 759 # Hw-Ow-Hw + 254 1 760 761 762 # Hw-Ow-Hw + 255 1 763 764 765 # Hw-Ow-Hw + 256 1 766 767 768 # Hw-Ow-Hw + 257 1 769 770 771 # Hw-Ow-Hw + 258 1 772 773 774 # Hw-Ow-Hw + 259 1 775 776 777 # Hw-Ow-Hw + 260 1 778 779 780 # Hw-Ow-Hw + 261 1 781 782 783 # Hw-Ow-Hw + 262 1 784 785 786 # Hw-Ow-Hw + 263 1 787 788 789 # Hw-Ow-Hw + 264 1 790 791 792 # Hw-Ow-Hw + 265 1 793 794 795 # Hw-Ow-Hw + 266 1 796 797 798 # Hw-Ow-Hw + 267 1 799 800 801 # Hw-Ow-Hw + 268 1 802 803 804 # Hw-Ow-Hw + 269 1 805 806 807 # Hw-Ow-Hw + 270 1 808 809 810 # Hw-Ow-Hw + 271 1 811 812 813 # Hw-Ow-Hw + 272 1 814 815 816 # Hw-Ow-Hw + 273 1 817 818 819 # Hw-Ow-Hw + 274 1 820 821 822 # Hw-Ow-Hw + 275 1 823 824 825 # Hw-Ow-Hw + 276 1 826 827 828 # Hw-Ow-Hw + 277 1 829 830 831 # Hw-Ow-Hw + 278 1 832 833 834 # Hw-Ow-Hw + 279 1 835 836 837 # Hw-Ow-Hw + 280 1 838 839 840 # Hw-Ow-Hw + 281 1 841 842 843 # Hw-Ow-Hw + 282 1 844 845 846 # Hw-Ow-Hw + 283 1 847 848 849 # Hw-Ow-Hw + 284 1 850 851 852 # Hw-Ow-Hw + 285 1 853 854 855 # Hw-Ow-Hw + 286 1 856 857 858 # Hw-Ow-Hw + 287 1 859 860 861 # Hw-Ow-Hw + 288 1 862 863 864 # Hw-Ow-Hw + 289 1 865 866 867 # Hw-Ow-Hw + 290 1 868 869 870 # Hw-Ow-Hw + 291 1 871 872 873 # Hw-Ow-Hw + 292 1 874 875 876 # Hw-Ow-Hw + 293 1 877 878 879 # Hw-Ow-Hw + 294 1 880 881 882 # Hw-Ow-Hw + 295 1 883 884 885 # Hw-Ow-Hw + 296 1 886 887 888 # Hw-Ow-Hw + 297 1 889 890 891 # Hw-Ow-Hw + 298 1 892 893 894 # Hw-Ow-Hw + 299 1 895 896 897 # Hw-Ow-Hw + 300 1 898 899 900 # Hw-Ow-Hw + 301 1 901 902 903 # Hw-Ow-Hw + 302 1 904 905 906 # Hw-Ow-Hw + 303 1 907 908 909 # Hw-Ow-Hw + 304 1 910 911 912 # Hw-Ow-Hw + 305 1 913 914 915 # Hw-Ow-Hw + 306 1 916 917 918 # Hw-Ow-Hw + 307 1 919 920 921 # Hw-Ow-Hw + 308 1 922 923 924 # Hw-Ow-Hw + 309 1 925 926 927 # Hw-Ow-Hw + 310 1 928 929 930 # Hw-Ow-Hw + 311 1 931 932 933 # Hw-Ow-Hw + 312 1 934 935 936 # Hw-Ow-Hw + 313 1 937 938 939 # Hw-Ow-Hw + 314 1 940 941 942 # Hw-Ow-Hw + 315 1 943 944 945 # Hw-Ow-Hw + 316 1 946 947 948 # Hw-Ow-Hw + 317 1 949 950 951 # Hw-Ow-Hw + 318 1 952 953 954 # Hw-Ow-Hw + 319 1 955 956 957 # Hw-Ow-Hw + 320 1 958 959 960 # Hw-Ow-Hw + 321 1 961 962 963 # Hw-Ow-Hw + 322 1 964 965 966 # Hw-Ow-Hw + 323 1 967 968 969 # Hw-Ow-Hw + 324 1 970 971 972 # Hw-Ow-Hw + 325 1 973 974 975 # Hw-Ow-Hw + 326 1 976 977 978 # Hw-Ow-Hw + 327 1 979 980 981 # Hw-Ow-Hw + 328 1 982 983 984 # Hw-Ow-Hw + 329 1 985 986 987 # Hw-Ow-Hw + 330 1 988 989 990 # Hw-Ow-Hw + 331 1 991 992 993 # Hw-Ow-Hw + 332 1 994 995 996 # Hw-Ow-Hw + 333 1 997 998 999 # Hw-Ow-Hw + 334 1 1000 1001 1002 # Hw-Ow-Hw + 335 1 1003 1004 1005 # Hw-Ow-Hw + 336 1 1006 1007 1008 # Hw-Ow-Hw + 337 1 1009 1010 1011 # Hw-Ow-Hw + 338 1 1012 1013 1014 # Hw-Ow-Hw + 339 1 1015 1016 1017 # Hw-Ow-Hw + 340 1 1018 1019 1020 # Hw-Ow-Hw + 341 1 1021 1022 1023 # Hw-Ow-Hw + 342 1 1024 1025 1026 # Hw-Ow-Hw + 343 1 1027 1028 1029 # Hw-Ow-Hw + 344 1 1030 1031 1032 # Hw-Ow-Hw + 345 1 1033 1034 1035 # Hw-Ow-Hw + 346 1 1036 1037 1038 # Hw-Ow-Hw + 347 1 1039 1040 1041 # Hw-Ow-Hw + 348 1 1042 1043 1044 # Hw-Ow-Hw + 349 1 1045 1046 1047 # Hw-Ow-Hw + 350 1 1048 1049 1050 # Hw-Ow-Hw + 351 1 1051 1052 1053 # Hw-Ow-Hw + 352 1 1054 1055 1056 # Hw-Ow-Hw + 353 1 1057 1058 1059 # Hw-Ow-Hw + 354 1 1060 1061 1062 # Hw-Ow-Hw + 355 1 1063 1064 1065 # Hw-Ow-Hw + 356 1 1066 1067 1068 # Hw-Ow-Hw + 357 1 1069 1070 1071 # Hw-Ow-Hw + 358 1 1072 1073 1074 # Hw-Ow-Hw + 359 1 1075 1076 1077 # Hw-Ow-Hw + 360 1 1078 1079 1080 # Hw-Ow-Hw + 361 1 1081 1082 1083 # Hw-Ow-Hw + 362 1 1084 1085 1086 # Hw-Ow-Hw + 363 1 1087 1088 1089 # Hw-Ow-Hw + 364 1 1090 1091 1092 # Hw-Ow-Hw + 365 1 1093 1094 1095 # Hw-Ow-Hw + 366 1 1096 1097 1098 # Hw-Ow-Hw + 367 1 1099 1100 1101 # Hw-Ow-Hw + 368 1 1102 1103 1104 # Hw-Ow-Hw + 369 1 1105 1106 1107 # Hw-Ow-Hw + 370 1 1108 1109 1110 # Hw-Ow-Hw + 371 1 1111 1112 1113 # Hw-Ow-Hw + 372 1 1114 1115 1116 # Hw-Ow-Hw + 373 1 1117 1118 1119 # Hw-Ow-Hw + 374 1 1120 1121 1122 # Hw-Ow-Hw + 375 1 1123 1124 1125 # Hw-Ow-Hw + 376 1 1126 1127 1128 # Hw-Ow-Hw + 377 1 1129 1130 1131 # Hw-Ow-Hw + 378 1 1132 1133 1134 # Hw-Ow-Hw + 379 1 1135 1136 1137 # Hw-Ow-Hw + 380 1 1138 1139 1140 # Hw-Ow-Hw + 381 1 1141 1142 1143 # Hw-Ow-Hw + 382 1 1144 1145 1146 # Hw-Ow-Hw + 383 1 1147 1148 1149 # Hw-Ow-Hw + 384 1 1150 1151 1152 # Hw-Ow-Hw + 385 1 1153 1154 1155 # Hw-Ow-Hw + 386 1 1156 1157 1158 # Hw-Ow-Hw + 387 1 1159 1160 1161 # Hw-Ow-Hw + 388 1 1162 1163 1164 # Hw-Ow-Hw + 389 1 1165 1166 1167 # Hw-Ow-Hw + 390 1 1168 1169 1170 # Hw-Ow-Hw + 391 1 1171 1172 1173 # Hw-Ow-Hw + 392 1 1174 1175 1176 # Hw-Ow-Hw + 393 1 1177 1178 1179 # Hw-Ow-Hw + 394 1 1180 1181 1182 # Hw-Ow-Hw + 395 1 1183 1184 1185 # Hw-Ow-Hw + 396 1 1186 1187 1188 # Hw-Ow-Hw + 397 1 1189 1190 1191 # Hw-Ow-Hw + 398 1 1192 1193 1194 # Hw-Ow-Hw + 399 1 1195 1196 1197 # Hw-Ow-Hw + 400 1 1198 1199 1200 # Hw-Ow-Hw + 401 1 1201 1202 1203 # Hw-Ow-Hw + 402 1 1204 1205 1206 # Hw-Ow-Hw + 403 1 1207 1208 1209 # Hw-Ow-Hw + 404 1 1210 1211 1212 # Hw-Ow-Hw + 405 1 1213 1214 1215 # Hw-Ow-Hw + 406 1 1216 1217 1218 # Hw-Ow-Hw + 407 1 1219 1220 1221 # Hw-Ow-Hw + 408 1 1222 1223 1224 # Hw-Ow-Hw + 409 1 1225 1226 1227 # Hw-Ow-Hw + 410 1 1228 1229 1230 # Hw-Ow-Hw + 411 1 1231 1232 1233 # Hw-Ow-Hw + 412 1 1234 1235 1236 # Hw-Ow-Hw + 413 1 1237 1238 1239 # Hw-Ow-Hw + 414 1 1240 1241 1242 # Hw-Ow-Hw + 415 1 1243 1244 1245 # Hw-Ow-Hw + 416 1 1246 1247 1248 # Hw-Ow-Hw + 417 1 1249 1250 1251 # Hw-Ow-Hw + 418 1 1252 1253 1254 # Hw-Ow-Hw + 419 1 1255 1256 1257 # Hw-Ow-Hw + 420 1 1258 1259 1260 # Hw-Ow-Hw + 421 1 1261 1262 1263 # Hw-Ow-Hw + 422 1 1264 1265 1266 # Hw-Ow-Hw + 423 1 1267 1268 1269 # Hw-Ow-Hw + 424 1 1270 1271 1272 # Hw-Ow-Hw + 425 1 1273 1274 1275 # Hw-Ow-Hw + 426 1 1276 1277 1278 # Hw-Ow-Hw + 427 1 1279 1280 1281 # Hw-Ow-Hw + 428 1 1282 1283 1284 # Hw-Ow-Hw + 429 1 1285 1286 1287 # Hw-Ow-Hw + 430 1 1288 1289 1290 # Hw-Ow-Hw + 431 1 1291 1292 1293 # Hw-Ow-Hw + 432 1 1294 1295 1296 # Hw-Ow-Hw + 433 1 1297 1298 1299 # Hw-Ow-Hw + 434 1 1300 1301 1302 # Hw-Ow-Hw + 435 1 1303 1304 1305 # Hw-Ow-Hw + 436 1 1306 1307 1308 # Hw-Ow-Hw + 437 1 1309 1310 1311 # Hw-Ow-Hw + 438 1 1312 1313 1314 # Hw-Ow-Hw + 439 1 1315 1316 1317 # Hw-Ow-Hw + 440 1 1318 1319 1320 # Hw-Ow-Hw + 441 1 1321 1322 1323 # Hw-Ow-Hw + 442 1 1324 1325 1326 # Hw-Ow-Hw + 443 1 1327 1328 1329 # Hw-Ow-Hw + 444 1 1330 1331 1332 # Hw-Ow-Hw + 445 1 1333 1334 1335 # Hw-Ow-Hw + 446 1 1336 1337 1338 # Hw-Ow-Hw + 447 1 1339 1340 1341 # Hw-Ow-Hw + 448 1 1342 1343 1344 # Hw-Ow-Hw + 449 1 1345 1346 1347 # Hw-Ow-Hw + 450 1 1348 1349 1350 # Hw-Ow-Hw + 451 1 1351 1352 1353 # Hw-Ow-Hw + 452 1 1354 1355 1356 # Hw-Ow-Hw + 453 1 1357 1358 1359 # Hw-Ow-Hw + 454 1 1360 1361 1362 # Hw-Ow-Hw + 455 1 1363 1364 1365 # Hw-Ow-Hw + 456 1 1366 1367 1368 # Hw-Ow-Hw + 457 1 1369 1370 1371 # Hw-Ow-Hw + 458 1 1372 1373 1374 # Hw-Ow-Hw + 459 1 1375 1376 1377 # Hw-Ow-Hw + 460 1 1378 1379 1380 # Hw-Ow-Hw + 461 1 1381 1382 1383 # Hw-Ow-Hw + 462 1 1384 1385 1386 # Hw-Ow-Hw + 463 1 1387 1388 1389 # Hw-Ow-Hw + 464 1 1390 1391 1392 # Hw-Ow-Hw + 465 1 1393 1394 1395 # Hw-Ow-Hw + 466 1 1396 1397 1398 # Hw-Ow-Hw + 467 1 1399 1400 1401 # Hw-Ow-Hw + 468 1 1402 1403 1404 # Hw-Ow-Hw + 469 1 1405 1406 1407 # Hw-Ow-Hw + 470 1 1408 1409 1410 # Hw-Ow-Hw + 471 1 1411 1412 1413 # Hw-Ow-Hw + 472 1 1414 1415 1416 # Hw-Ow-Hw + 473 1 1417 1418 1419 # Hw-Ow-Hw + 474 1 1420 1421 1422 # Hw-Ow-Hw + 475 1 1423 1424 1425 # Hw-Ow-Hw + 476 1 1426 1427 1428 # Hw-Ow-Hw + 477 1 1429 1430 1431 # Hw-Ow-Hw + 478 1 1432 1433 1434 # Hw-Ow-Hw + 479 1 1435 1436 1437 # Hw-Ow-Hw + 480 1 1438 1439 1440 # Hw-Ow-Hw + 481 1 1441 1442 1443 # Hw-Ow-Hw + 482 1 1444 1445 1446 # Hw-Ow-Hw + 483 1 1447 1448 1449 # Hw-Ow-Hw + 484 1 1450 1451 1452 # Hw-Ow-Hw + 485 1 1453 1454 1455 # Hw-Ow-Hw + 486 1 1456 1457 1458 # Hw-Ow-Hw + 487 1 1459 1460 1461 # Hw-Ow-Hw + 488 1 1462 1463 1464 # Hw-Ow-Hw + 489 1 1465 1466 1467 # Hw-Ow-Hw + 490 1 1468 1469 1470 # Hw-Ow-Hw + 491 1 1471 1472 1473 # Hw-Ow-Hw + 492 1 1474 1475 1476 # Hw-Ow-Hw + 493 1 1477 1478 1479 # Hw-Ow-Hw + 494 1 1480 1481 1482 # Hw-Ow-Hw + 495 1 1483 1484 1485 # Hw-Ow-Hw + 496 1 1486 1487 1488 # Hw-Ow-Hw + 497 1 1489 1490 1491 # Hw-Ow-Hw + 498 1 1492 1493 1494 # Hw-Ow-Hw + 499 1 1495 1496 1497 # Hw-Ow-Hw + 500 1 1498 1499 1500 # Hw-Ow-Hw + 501 1 1501 1502 1503 # Hw-Ow-Hw + 502 1 1504 1505 1506 # Hw-Ow-Hw + 503 1 1507 1508 1509 # Hw-Ow-Hw + 504 1 1510 1511 1512 # Hw-Ow-Hw + 505 1 1513 1514 1515 # Hw-Ow-Hw + 506 1 1516 1517 1518 # Hw-Ow-Hw + 507 1 1519 1520 1521 # Hw-Ow-Hw + 508 1 1522 1523 1524 # Hw-Ow-Hw + 509 1 1525 1526 1527 # Hw-Ow-Hw + 510 1 1528 1529 1530 # Hw-Ow-Hw + 511 1 1531 1532 1533 # Hw-Ow-Hw + 512 1 1534 1535 1536 # Hw-Ow-Hw + 513 1 1537 1538 1539 # Hw-Ow-Hw + 514 1 1540 1541 1542 # Hw-Ow-Hw + 515 1 1543 1544 1545 # Hw-Ow-Hw + 516 1 1546 1547 1548 # Hw-Ow-Hw + 517 1 1549 1550 1551 # Hw-Ow-Hw + 518 1 1552 1553 1554 # Hw-Ow-Hw + 519 1 1555 1556 1557 # Hw-Ow-Hw + 520 1 1558 1559 1560 # Hw-Ow-Hw + 521 1 1561 1562 1563 # Hw-Ow-Hw + 522 1 1564 1565 1566 # Hw-Ow-Hw + 523 1 1567 1568 1569 # Hw-Ow-Hw + 524 1 1570 1571 1572 # Hw-Ow-Hw + 525 1 1573 1574 1575 # Hw-Ow-Hw + 526 1 1576 1577 1578 # Hw-Ow-Hw + 527 1 1579 1580 1581 # Hw-Ow-Hw + 528 1 1582 1583 1584 # Hw-Ow-Hw + 529 1 1585 1586 1587 # Hw-Ow-Hw + 530 1 1588 1589 1590 # Hw-Ow-Hw + 531 1 1591 1592 1593 # Hw-Ow-Hw + 532 1 1594 1595 1596 # Hw-Ow-Hw + 533 1 1597 1598 1599 # Hw-Ow-Hw + 534 1 1600 1601 1602 # Hw-Ow-Hw + 535 1 1603 1604 1605 # Hw-Ow-Hw + 536 1 1606 1607 1608 # Hw-Ow-Hw + 537 1 1609 1610 1611 # Hw-Ow-Hw + 538 1 1612 1613 1614 # Hw-Ow-Hw + 539 1 1615 1616 1617 # Hw-Ow-Hw + 540 1 1618 1619 1620 # Hw-Ow-Hw + 541 1 1621 1622 1623 # Hw-Ow-Hw + 542 1 1624 1625 1626 # Hw-Ow-Hw + 543 1 1627 1628 1629 # Hw-Ow-Hw + 544 1 1630 1631 1632 # Hw-Ow-Hw + 545 1 1633 1634 1635 # Hw-Ow-Hw + 546 1 1636 1637 1638 # Hw-Ow-Hw + 547 1 1639 1640 1641 # Hw-Ow-Hw + 548 1 1642 1643 1644 # Hw-Ow-Hw + 549 1 1645 1646 1647 # Hw-Ow-Hw + 550 1 1648 1649 1650 # Hw-Ow-Hw + 551 1 1651 1652 1653 # Hw-Ow-Hw + 552 1 1654 1655 1656 # Hw-Ow-Hw + 553 1 1657 1658 1659 # Hw-Ow-Hw + 554 1 1660 1661 1662 # Hw-Ow-Hw + 555 1 1663 1664 1665 # Hw-Ow-Hw + 556 1 1666 1667 1668 # Hw-Ow-Hw + 557 1 1669 1670 1671 # Hw-Ow-Hw + 558 1 1672 1673 1674 # Hw-Ow-Hw + 559 1 1675 1676 1677 # Hw-Ow-Hw + 560 1 1678 1679 1680 # Hw-Ow-Hw + 561 1 1681 1682 1683 # Hw-Ow-Hw + 562 1 1684 1685 1686 # Hw-Ow-Hw + 563 1 1687 1688 1689 # Hw-Ow-Hw + 564 1 1690 1691 1692 # Hw-Ow-Hw + 565 1 1693 1694 1695 # Hw-Ow-Hw + 566 1 1696 1697 1698 # Hw-Ow-Hw + 567 1 1699 1700 1701 # Hw-Ow-Hw + 568 1 1702 1703 1704 # Hw-Ow-Hw + 569 1 1705 1706 1707 # Hw-Ow-Hw + 570 1 1708 1709 1710 # Hw-Ow-Hw + 571 1 1711 1712 1713 # Hw-Ow-Hw + 572 1 1714 1715 1716 # Hw-Ow-Hw + 573 1 1717 1718 1719 # Hw-Ow-Hw + 574 1 1720 1721 1722 # Hw-Ow-Hw + 575 1 1723 1724 1725 # Hw-Ow-Hw + 576 1 1726 1727 1728 # Hw-Ow-Hw + 577 1 1729 1730 1731 # Hw-Ow-Hw + 578 1 1732 1733 1734 # Hw-Ow-Hw + 579 1 1735 1736 1737 # Hw-Ow-Hw + 580 1 1738 1739 1740 # Hw-Ow-Hw + 581 1 1741 1742 1743 # Hw-Ow-Hw + 582 1 1744 1745 1746 # Hw-Ow-Hw + 583 1 1747 1748 1749 # Hw-Ow-Hw + 584 1 1750 1751 1752 # Hw-Ow-Hw + 585 1 1753 1754 1755 # Hw-Ow-Hw + 586 1 1756 1757 1758 # Hw-Ow-Hw + 587 1 1759 1760 1761 # Hw-Ow-Hw + 588 1 1762 1763 1764 # Hw-Ow-Hw + 589 1 1765 1766 1767 # Hw-Ow-Hw + 590 1 1768 1769 1770 # Hw-Ow-Hw + 591 1 1771 1772 1773 # Hw-Ow-Hw + 592 1 1774 1775 1776 # Hw-Ow-Hw + 593 1 1777 1778 1779 # Hw-Ow-Hw + 594 1 1780 1781 1782 # Hw-Ow-Hw + 595 1 1783 1784 1785 # Hw-Ow-Hw + 596 1 1786 1787 1788 # Hw-Ow-Hw + 597 1 1789 1790 1791 # Hw-Ow-Hw + 598 1 1792 1793 1794 # Hw-Ow-Hw + 599 1 1795 1796 1797 # Hw-Ow-Hw + 600 1 1798 1799 1800 # Hw-Ow-Hw diff --git a/examples/USER/fep/SPCEhyd/mols/spce.ff b/examples/USER/fep/SPCEhyd/mols/spce.ff new file mode 100644 index 0000000000..b9fd69f4fd --- /dev/null +++ b/examples/USER/fep/SPCEhyd/mols/spce.ff @@ -0,0 +1,14 @@ +# SPC/E water (kJ/mol, A, deg) + +ATOMS +# type m/uma q/e pot pars +Ow Ow 15.999 -0.8476 lj 3.1655 0.6503 +Hw Hw 1.008 0.4238 lj 0.0000 0.0000 + +BONDS +# i j pot re/A ka/kJmol-1 +Ow Hw cons 1.000 4331.53 + +ANGLES +# i j k pot th/deg ka/kjmol-1 +Hw Ow Hw harm 109.47 317.57 diff --git a/examples/USER/fep/SPCEhyd/mols/spce.zmat b/examples/USER/fep/SPCEhyd/mols/spce.zmat new file mode 100644 index 0000000000..e5e60c4f1b --- /dev/null +++ b/examples/USER/fep/SPCEhyd/mols/spce.zmat @@ -0,0 +1,7 @@ +SPCE + +Hw +Ow 1 1.000 +Hw 2 1.000 1 109.47 + +spce.ff diff --git a/examples/USER/fep/SPCEhyd/mols/spce_h.ff b/examples/USER/fep/SPCEhyd/mols/spce_h.ff new file mode 100644 index 0000000000..a1c6933404 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/mols/spce_h.ff @@ -0,0 +1,14 @@ +# SPC/E water (kJ/mol, A, deg) + +ATOMS +# type m/uma q/e pot pars +Owh Ow 15.999 -0.8476 lj 3.1655 0.6503 +Hwh Hw 1.008 0.4238 lj 0.0000 0.0000 + +BONDS +# i j pot re/A ka/kJmol-1 +Ow Hw cons 1.000 4331.53 + +ANGLES +# i j k pot th/deg ka/kjmol-1 +Hw Ow Hw harm 109.47 317.57 diff --git a/examples/USER/fep/SPCEhyd/mols/spce_h.zmat b/examples/USER/fep/SPCEhyd/mols/spce_h.zmat new file mode 100644 index 0000000000..54c4cf9107 --- /dev/null +++ b/examples/USER/fep/SPCEhyd/mols/spce_h.zmat @@ -0,0 +1,7 @@ +SPCE + +Hwh +Owh 1 1.000 +Hwh 2 1.000 1 109.47 + +spce_h.ff From 2695495552959ce5df5099541f94710be04d4e23 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 22 Apr 2021 17:50:06 -0400 Subject: [PATCH 127/542] Avoid double free in Kokkos pair styles --- src/KOKKOS/pair_coul_cut_kokkos.cpp | 4 +++- src/KOKKOS/pair_coul_debye_kokkos.cpp | 4 +++- src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp | 1 + src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp | 3 +++ src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp | 3 +++ src/KOKKOS/pair_lj_expand_kokkos.cpp | 3 +++ 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/pair_coul_cut_kokkos.cpp b/src/KOKKOS/pair_coul_cut_kokkos.cpp index ff4028a792..2dcd8a5532 100644 --- a/src/KOKKOS/pair_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_coul_cut_kokkos.cpp @@ -46,8 +46,10 @@ PairCoulCutKokkos::PairCoulCutKokkos(LAMMPS *lmp) : PairCoulCut(lmp) template PairCoulCutKokkos::~PairCoulCutKokkos() { - if (allocated) + if (allocated) { memoryKK->destroy_kokkos(k_cutsq, cutsq); + cleanup_copy(); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_coul_debye_kokkos.cpp b/src/KOKKOS/pair_coul_debye_kokkos.cpp index e380a874ff..280c447210 100644 --- a/src/KOKKOS/pair_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_coul_debye_kokkos.cpp @@ -56,8 +56,10 @@ PairCoulDebyeKokkos::PairCoulDebyeKokkos(LAMMPS *lmp):PairCoulDebye( template PairCoulDebyeKokkos::~PairCoulDebyeKokkos() { - if (allocated) + if (allocated) { memoryKK->destroy_kokkos(k_cutsq, cutsq); + cleanup_copy(); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp index 636a72b5e1..9ffd42c1f3 100644 --- a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp @@ -58,6 +58,7 @@ PairLJCutCoulCutKokkos::~PairLJCutCoulCutKokkos() memoryKK->destroy_kokkos(k_cutsq, cutsq); memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq); memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq); + cleanup_copy(); } } diff --git a/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp index 8b4e189442..5c808e3eb9 100644 --- a/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp @@ -63,6 +63,9 @@ PairLJCutCoulDebyeKokkos::~PairLJCutCoulDebyeKokkos() memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq); memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq); } + if (allocated) { + cleanup_copy(); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp index cbeb0ab70a..22412392e7 100644 --- a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp @@ -73,6 +73,9 @@ PairLJCutCoulDSFKokkos::~PairLJCutCoulDSFKokkos() memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq); //memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq); } + if (allocated) { + cleanup_copy(); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_lj_expand_kokkos.cpp b/src/KOKKOS/pair_lj_expand_kokkos.cpp index d351f2d5fc..5906096aa1 100644 --- a/src/KOKKOS/pair_lj_expand_kokkos.cpp +++ b/src/KOKKOS/pair_lj_expand_kokkos.cpp @@ -60,6 +60,9 @@ PairLJExpandKokkos::~PairLJExpandKokkos() memory->sfree(cutsq); cutsq = nullptr; } + if (allocated) { + cleanup_copy(); + } } /* ---------------------------------------------------------------------- */ From 62f7e9731690fcd7c0b5bf2b5d715a19cde917be Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 14:39:55 +0200 Subject: [PATCH 128/542] rename pair_styles --- src/USER-DPDEXT/pair_dpd_ext.h | 2 +- ...d_tstat_ext.cpp => pair_dpd_ext_tstat.cpp} | 22 +++++++++---------- ...r_dpd_tstat_ext.h => pair_dpd_ext_tstat.h} | 12 +++++----- 3 files changed, 18 insertions(+), 18 deletions(-) rename src/USER-DPDEXT/{pair_dpd_tstat_ext.cpp => pair_dpd_ext_tstat.cpp} (95%) rename src/USER-DPDEXT/{pair_dpd_tstat_ext.h => pair_dpd_ext_tstat.h} (86%) diff --git a/src/USER-DPDEXT/pair_dpd_ext.h b/src/USER-DPDEXT/pair_dpd_ext.h index e85c3451c5..fabb95b773 100644 --- a/src/USER-DPDEXT/pair_dpd_ext.h +++ b/src/USER-DPDEXT/pair_dpd_ext.h @@ -13,7 +13,7 @@ #ifdef PAIR_CLASS -PairStyle(dpdext,PairDPDExt) +PairStyle(dpd/ext,PairDPDExt) #else diff --git a/src/USER-DPDEXT/pair_dpd_tstat_ext.cpp b/src/USER-DPDEXT/pair_dpd_ext_tstat.cpp similarity index 95% rename from src/USER-DPDEXT/pair_dpd_tstat_ext.cpp rename to src/USER-DPDEXT/pair_dpd_ext_tstat.cpp index bfd10c1374..5449ca7358 100644 --- a/src/USER-DPDEXT/pair_dpd_tstat_ext.cpp +++ b/src/USER-DPDEXT/pair_dpd_ext_tstat.cpp @@ -15,7 +15,7 @@ Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lísal (ICPF, UJEP) ------------------------------------------------------------------------- */ -#include "pair_dpd_tstat_ext.h" +#include "pair_dpd_ext_tstat.h" #include #include "atom.h" @@ -33,7 +33,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairDPDTstatExt::PairDPDTstatExt(LAMMPS *lmp) : PairDPDExt(lmp) +PairDPDExtTstat::PairDPDExtTstat(LAMMPS *lmp) : PairDPDExt(lmp) { single_enable = 0; writedata = 1; @@ -41,7 +41,7 @@ PairDPDTstatExt::PairDPDTstatExt(LAMMPS *lmp) : PairDPDExt(lmp) /* ---------------------------------------------------------------------- */ -void PairDPDTstatExt::compute(int eflag, int vflag) +void PairDPDExtTstat::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,fpairx,fpairy,fpairz,fpair; @@ -190,7 +190,7 @@ void PairDPDTstatExt::compute(int eflag, int vflag) global settings ------------------------------------------------------------------------- */ -void PairDPDTstatExt::settings(int narg, char **arg) +void PairDPDExtTstat::settings(int narg, char **arg) { if (narg != 4) error->all(FLERR,"Illegal pair_style command"); @@ -221,7 +221,7 @@ void PairDPDTstatExt::settings(int narg, char **arg) set coeffs for one or more type pairs ------------------------------------------------------------------------- */ -void PairDPDTstatExt::coeff(int narg, char **arg) +void PairDPDExtTstat::coeff(int narg, char **arg) { if (narg < 6 || narg > 7) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -261,7 +261,7 @@ void PairDPDTstatExt::coeff(int narg, char **arg) proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairDPDTstatExt::write_restart(FILE *fp) +void PairDPDExtTstat::write_restart(FILE *fp) { write_restart_settings(fp); @@ -283,7 +283,7 @@ void PairDPDTstatExt::write_restart(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairDPDTstatExt::read_restart(FILE *fp) +void PairDPDExtTstat::read_restart(FILE *fp) { read_restart_settings(fp); @@ -316,7 +316,7 @@ void PairDPDTstatExt::read_restart(FILE *fp) proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairDPDTstatExt::write_restart_settings(FILE *fp) +void PairDPDExtTstat::write_restart_settings(FILE *fp) { fwrite(&t_start,sizeof(double),1,fp); fwrite(&t_stop,sizeof(double),1,fp); @@ -329,7 +329,7 @@ void PairDPDTstatExt::write_restart_settings(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairDPDTstatExt::read_restart_settings(FILE *fp) +void PairDPDExtTstat::read_restart_settings(FILE *fp) { if (comm->me == 0) { utils::sfread(FLERR,&t_start,sizeof(double),1,fp,nullptr,error); @@ -357,7 +357,7 @@ void PairDPDTstatExt::read_restart_settings(FILE *fp) proc 0 writes to data file ------------------------------------------------------------------------- */ -void PairDPDTstatExt::write_data(FILE *fp) +void PairDPDExtTstat::write_data(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) fprintf(fp,"%d %g %g %g %g\n",i,gamma[i][i],gammaT[i][i],ws[i][i],wsT[i][i]); @@ -367,7 +367,7 @@ void PairDPDTstatExt::write_data(FILE *fp) proc 0 writes all pairs to data file ------------------------------------------------------------------------- */ -void PairDPDTstatExt::write_data_all(FILE *fp) +void PairDPDExtTstat::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) diff --git a/src/USER-DPDEXT/pair_dpd_tstat_ext.h b/src/USER-DPDEXT/pair_dpd_ext_tstat.h similarity index 86% rename from src/USER-DPDEXT/pair_dpd_tstat_ext.h rename to src/USER-DPDEXT/pair_dpd_ext_tstat.h index c8441f90bd..23cdd1d3c7 100644 --- a/src/USER-DPDEXT/pair_dpd_tstat_ext.h +++ b/src/USER-DPDEXT/pair_dpd_ext_tstat.h @@ -13,21 +13,21 @@ #ifdef PAIR_CLASS -PairStyle(dpdext/tstat,PairDPDTstatExt) +PairStyle(dpd/ext/tstat,PairDPDExtTstat) #else -#ifndef LMP_PAIR_DPD_TSTAT_EXT_H -#define LMP_PAIR_DPD_TSTAT_EXT_H +#ifndef LMP_PAIR_DPD_EXT_TSTAT_H +#define LMP_PAIR_DPD_EXT_TSTAT_H #include "pair_dpd_ext.h" namespace LAMMPS_NS { -class PairDPDTstatExt : public PairDPDExt { +class PairDPDExtTstat : public PairDPDExt { public: - PairDPDTstatExt(class LAMMPS *); - ~PairDPDTstatExt() {} + PairDPDExtTstat(class LAMMPS *); + ~PairDPDExtTstat() {} void compute(int, int); void settings(int, char **); void coeff(int, char **); From 2e63d126e3a2b2c5f966bd0abd46a72fe99c3831 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 15:49:11 +0200 Subject: [PATCH 129/542] change dir to MISC --- examples/USER/{dpdext => misc/dpd_ext}/README | 0 .../dpd_ext}/dpdext/dpdext.data | 0 .../{dpdext => misc/dpd_ext}/dpdext/in.dpdext | 2 +- .../dpd_ext}/dpdext/log.10Mar21.dpdext.g++.1 | 28 +++++++------- .../dpd_ext}/dpdext/log.10Mar21.dpdext.g++.4 | 30 +++++++-------- .../dpd_ext}/dpdext_tstat/cg_spce.data | 0 .../dpd_ext}/dpdext_tstat/cg_spce_table.pot | 0 .../dpd_ext}/dpdext_tstat/in.cg_spce | 4 +- .../dpdext_tstat/log.10Mar21.dpdext.g++.1 | 38 +++++++++---------- .../dpdext_tstat/log.10Mar21.dpdext.g++.4 | 38 +++++++++---------- src/USER-DPDEXT/README | 10 ----- src/USER-MISC/README | 2 + .../pair_dpd_ext.cpp | 0 src/{USER-DPDEXT => USER-MISC}/pair_dpd_ext.h | 0 .../pair_dpd_ext_tstat.cpp | 0 .../pair_dpd_ext_tstat.h | 0 16 files changed, 72 insertions(+), 80 deletions(-) rename examples/USER/{dpdext => misc/dpd_ext}/README (100%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext/dpdext.data (100%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext/in.dpdext (95%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext/log.10Mar21.dpdext.g++.1 (91%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext/log.10Mar21.dpdext.g++.4 (90%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext_tstat/cg_spce.data (100%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext_tstat/cg_spce_table.pot (100%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext_tstat/in.cg_spce (76%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext_tstat/log.10Mar21.dpdext.g++.1 (91%) rename examples/USER/{dpdext => misc/dpd_ext}/dpdext_tstat/log.10Mar21.dpdext.g++.4 (91%) delete mode 100644 src/USER-DPDEXT/README rename src/{USER-DPDEXT => USER-MISC}/pair_dpd_ext.cpp (100%) rename src/{USER-DPDEXT => USER-MISC}/pair_dpd_ext.h (100%) rename src/{USER-DPDEXT => USER-MISC}/pair_dpd_ext_tstat.cpp (100%) rename src/{USER-DPDEXT => USER-MISC}/pair_dpd_ext_tstat.h (100%) diff --git a/examples/USER/dpdext/README b/examples/USER/misc/dpd_ext/README similarity index 100% rename from examples/USER/dpdext/README rename to examples/USER/misc/dpd_ext/README diff --git a/examples/USER/dpdext/dpdext/dpdext.data b/examples/USER/misc/dpd_ext/dpdext/dpdext.data similarity index 100% rename from examples/USER/dpdext/dpdext/dpdext.data rename to examples/USER/misc/dpd_ext/dpdext/dpdext.data diff --git a/examples/USER/dpdext/dpdext/in.dpdext b/examples/USER/misc/dpd_ext/dpdext/in.dpdext similarity index 95% rename from examples/USER/dpdext/dpdext/in.dpdext rename to examples/USER/misc/dpd_ext/dpdext/in.dpdext index 3101be9a1c..726f3a7b39 100755 --- a/examples/USER/dpdext/dpdext/in.dpdext +++ b/examples/USER/misc/dpd_ext/dpdext/in.dpdext @@ -23,7 +23,7 @@ mass 1 1.0 mass 2 2.0 ### -pair_style dpdext ${T} ${rc} 3854262 +pair_style dpd/ext ${T} ${rc} 3854262 pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} diff --git a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 b/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 similarity index 91% rename from examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 rename to examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 index ef61ed11b8..862aea77af 100644 --- a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.1 +++ b/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (10 Mar 2021) +LAMMPS (8 Apr 2021) # DPD Fluid variable T equal 1.0 @@ -34,9 +34,9 @@ mass 1 1.0 mass 2 2.0 ### -pair_style dpdext ${T} ${rc} 3854262 -pair_style dpdext 1 ${rc} 3854262 -pair_style dpdext 1 1 3854262 +pair_style dpd/ext ${T} ${rc} 3854262 +pair_style dpd/ext 1 ${rc} 3854262 +pair_style dpd/ext 1 1 3854262 pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} @@ -61,7 +61,7 @@ Neighbor list info ... ghost atom cutoff = 1.52 binsize = 0.76, bins = 8 8 8 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair dpdext, perpetual + (1) pair dpd/ext, perpetual attributes: half, newton on pair build: half/bin/atomonly/newton stencil: half/bin/3d/newton @@ -169,20 +169,20 @@ Step Time Temp Press 49000 490 1.0337198 7.5777833 49500 495 0.94052507 7.3661443 50000 500 0.98527818 7.1746325 -Loop time of 10.2559 on 1 procs for 50000 steps with 200 atoms +Loop time of 9.88248 on 1 procs for 50000 steps with 200 atoms -Performance: 4212216.548 tau/day, 4875.251 timesteps/s -99.5% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 4371371.882 tau/day, 5059.458 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 8.9888 | 8.9888 | 8.9888 | 0.0 | 87.65 -Neigh | 0.832 | 0.832 | 0.832 | 0.0 | 8.11 -Comm | 0.30913 | 0.30913 | 0.30913 | 0.0 | 3.01 -Output | 0.0021966 | 0.0021966 | 0.0021966 | 0.0 | 0.02 -Modify | 0.084161 | 0.084161 | 0.084161 | 0.0 | 0.82 -Other | | 0.03957 | | | 0.39 +Pair | 8.7028 | 8.7028 | 8.7028 | 0.0 | 88.06 +Neigh | 0.73687 | 0.73687 | 0.73687 | 0.0 | 7.46 +Comm | 0.31881 | 0.31881 | 0.31881 | 0.0 | 3.23 +Output | 0.0013947 | 0.0013947 | 0.0013947 | 0.0 | 0.01 +Modify | 0.081394 | 0.081394 | 0.081394 | 0.0 | 0.82 +Other | | 0.04118 | | | 0.42 Nlocal: 200.000 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 b/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 similarity index 90% rename from examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 rename to examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 index bbbf47a46c..12b35ecf53 100644 --- a/examples/USER/dpdext/dpdext/log.10Mar21.dpdext.g++.4 +++ b/examples/USER/misc/dpd_ext/dpdext/log.10Mar21.dpdext.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (10 Mar 2021) +LAMMPS (8 Apr 2021) # DPD Fluid variable T equal 1.0 @@ -34,9 +34,9 @@ mass 1 1.0 mass 2 2.0 ### -pair_style dpdext ${T} ${rc} 3854262 -pair_style dpdext 1 ${rc} 3854262 -pair_style dpdext 1 1 3854262 +pair_style dpd/ext ${T} ${rc} 3854262 +pair_style dpd/ext 1 ${rc} 3854262 +pair_style dpd/ext 1 1 3854262 pair_coeff 1 1 25.0 4.5 4.53 0.5 0.53 1.2 #${rcD} pair_coeff 1 2 25.1 4.51 4.54 0.51 0.54 1.21 #${rcD} @@ -61,7 +61,7 @@ Neighbor list info ... ghost atom cutoff = 1.52 binsize = 0.76, bins = 8 8 8 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair dpdext, perpetual + (1) pair dpd/ext, perpetual attributes: half, newton on pair build: half/bin/atomonly/newton stencil: half/bin/3d/newton @@ -169,20 +169,20 @@ Step Time Temp Press 49000 490 0.9759139 7.4839858 49500 495 0.91538068 7.1780491 50000 500 1.0310634 7.1522794 -Loop time of 9.14414 on 4 procs for 50000 steps with 200 atoms +Loop time of 8.5908 on 4 procs for 50000 steps with 200 atoms -Performance: 4724338.550 tau/day, 5467.984 timesteps/s -96.6% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 5028633.375 tau/day, 5820.178 timesteps/s +95.7% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 5.0824 | 5.212 | 5.3376 | 5.1 | 57.00 -Neigh | 0.49498 | 0.50029 | 0.505 | 0.6 | 5.47 -Comm | 3.1637 | 3.2822 | 3.4143 | 6.3 | 35.89 -Output | 0.0025831 | 0.003088 | 0.004569 | 1.5 | 0.03 -Modify | 0.067261 | 0.068927 | 0.070535 | 0.5 | 0.75 -Other | | 0.07762 | | | 0.85 +Pair | 4.9505 | 5.054 | 5.1885 | 4.1 | 58.83 +Neigh | 0.47025 | 0.47603 | 0.47954 | 0.5 | 5.54 +Comm | 2.7876 | 2.9237 | 3.0336 | 5.5 | 34.03 +Output | 0.0024114 | 0.0029766 | 0.0046443 | 1.8 | 0.03 +Modify | 0.062911 | 0.064188 | 0.065603 | 0.4 | 0.75 +Other | | 0.06992 | | | 0.81 Nlocal: 50.0000 ave 53 max 46 min Histogram: 1 0 0 0 1 0 0 0 1 1 @@ -198,4 +198,4 @@ Dangerous builds = 5000 write_data final.data pair ij System init for write_data ... -Total wall time: 0:00:09 +Total wall time: 0:00:08 diff --git a/examples/USER/dpdext/dpdext_tstat/cg_spce.data b/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data similarity index 100% rename from examples/USER/dpdext/dpdext_tstat/cg_spce.data rename to examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data diff --git a/examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot b/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot similarity index 100% rename from examples/USER/dpdext/dpdext_tstat/cg_spce_table.pot rename to examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot diff --git a/examples/USER/dpdext/dpdext_tstat/in.cg_spce b/examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce similarity index 76% rename from examples/USER/dpdext/dpdext_tstat/in.cg_spce rename to examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce index ea1a3dfcba..b93dc3eec5 100755 --- a/examples/USER/dpdext/dpdext_tstat/in.cg_spce +++ b/examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce @@ -13,10 +13,10 @@ comm_modify vel yes read_data cg_spce.data -pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat ${T} ${T} ${rc} 385262 pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} -pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} +pair_coeff 1 1 dpd/ext/tstat 20.0 10.0 0.5 0.5 ${rcD} timestep 1.0 run_style verlet diff --git a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 b/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 similarity index 91% rename from examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 rename to examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 index 6916a5dd6e..8f75dfa917 100644 --- a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.1 +++ b/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (10 Mar 2021) +LAMMPS (8 Apr 2021) # Coarse-Grained SPC/E Water variable T equal 300.0 @@ -18,19 +18,19 @@ Reading data file ... 1 by 1 by 1 MPI processor grid reading atoms ... 2180 atoms - read_data CPU = 0.037 seconds + read_data CPU = 0.020 seconds -pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 ${T} ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 9 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat ${T} ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 300 ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 300 9 385262 pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} pair_coeff 1 1 table cg_spce_table.pot VOTCA 9 WARNING: 16 of 351 force values in table VOTCA are inconsistent with -dE/dr. Should only be flagged at inflection points (../pair_table.cpp:461) -pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} -pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 10 +pair_coeff 1 1 dpd/ext/tstat 20.0 10.0 0.5 0.5 ${rcD} +pair_coeff 1 1 dpd/ext/tstat 20.0 10.0 0.5 0.5 10 timestep 1.0 run_style verlet @@ -56,7 +56,7 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d/newton bin: standard - (2) pair dpdext/tstat, perpetual, copy from (1) + (2) pair dpd/ext/tstat, perpetual, copy from (1) attributes: half, newton on pair build: copy stencil: none @@ -264,20 +264,20 @@ Step Time Temp Press 1980 1980 299.14574 5166.3501 1990 1990 300.07254 10019.769 2000 2000 301.78176 8789.7968 -Loop time of 79.8698 on 1 procs for 2000 steps with 2180 atoms +Loop time of 91.2059 on 1 procs for 2000 steps with 2180 atoms -Performance: 2.164 ns/day, 11.093 hours/ns, 25.041 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.895 ns/day, 12.667 hours/ns, 21.928 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 79.378 | 79.378 | 79.378 | 0.0 | 99.38 -Neigh | 0.22454 | 0.22454 | 0.22454 | 0.0 | 0.28 -Comm | 0.17969 | 0.17969 | 0.17969 | 0.0 | 0.22 -Output | 0.0063846 | 0.0063846 | 0.0063846 | 0.0 | 0.01 -Modify | 0.044496 | 0.044496 | 0.044496 | 0.0 | 0.06 -Other | | 0.03671 | | | 0.05 +Pair | 90.668 | 90.668 | 90.668 | 0.0 | 99.41 +Neigh | 0.23231 | 0.23231 | 0.23231 | 0.0 | 0.25 +Comm | 0.20819 | 0.20819 | 0.20819 | 0.0 | 0.23 +Output | 0.0049558 | 0.0049558 | 0.0049558 | 0.0 | 0.01 +Modify | 0.052906 | 0.052906 | 0.052906 | 0.0 | 0.06 +Other | | 0.03904 | | | 0.04 Nlocal: 2180.00 ave 2180 max 2180 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -290,4 +290,4 @@ Total # of neighbors = 261496 Ave neighs/atom = 119.95229 Neighbor list builds = 25 Dangerous builds = 0 -Total wall time: 0:01:20 +Total wall time: 0:01:31 diff --git a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 b/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 similarity index 91% rename from examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 rename to examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 index 890414d580..278aba0687 100644 --- a/examples/USER/dpdext/dpdext_tstat/log.10Mar21.dpdext.g++.4 +++ b/examples/USER/misc/dpd_ext/dpdext_tstat/log.10Mar21.dpdext.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (10 Mar 2021) +LAMMPS (8 Apr 2021) # Coarse-Grained SPC/E Water variable T equal 300.0 @@ -18,19 +18,19 @@ Reading data file ... 1 by 2 by 2 MPI processor grid reading atoms ... 2180 atoms - read_data CPU = 0.012 seconds + read_data CPU = 0.005 seconds -pair_style hybrid/overlay table linear 1000 dpdext/tstat ${T} ${T} ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 ${T} ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 ${rc} 385262 -pair_style hybrid/overlay table linear 1000 dpdext/tstat 300 300 9 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat ${T} ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 ${T} ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 300 ${rc} 385262 +pair_style hybrid/overlay table linear 1000 dpd/ext/tstat 300 300 9 385262 pair_coeff 1 1 table cg_spce_table.pot VOTCA ${rc} pair_coeff 1 1 table cg_spce_table.pot VOTCA 9 WARNING: 16 of 351 force values in table VOTCA are inconsistent with -dE/dr. Should only be flagged at inflection points (../pair_table.cpp:461) -pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 ${rcD} -pair_coeff 1 1 dpdext/tstat 20.0 10.0 0.5 0.5 10 +pair_coeff 1 1 dpd/ext/tstat 20.0 10.0 0.5 0.5 ${rcD} +pair_coeff 1 1 dpd/ext/tstat 20.0 10.0 0.5 0.5 10 timestep 1.0 run_style verlet @@ -56,7 +56,7 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d/newton bin: standard - (2) pair dpdext/tstat, perpetual, copy from (1) + (2) pair dpd/ext/tstat, perpetual, copy from (1) attributes: half, newton on pair build: copy stencil: none @@ -264,20 +264,20 @@ Step Time Temp Press 1980 1980 297.94119 5615.6403 1990 1990 298.37687 9727.308 2000 2000 296.08394 6400.2746 -Loop time of 40.5503 on 4 procs for 2000 steps with 2180 atoms +Loop time of 41.5171 on 4 procs for 2000 steps with 2180 atoms -Performance: 4.261 ns/day, 5.632 hours/ns, 49.321 timesteps/s -99.4% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 4.162 ns/day, 5.766 hours/ns, 48.173 timesteps/s +99.5% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 37.953 | 38.022 | 38.132 | 1.1 | 93.77 -Neigh | 0.10585 | 0.10835 | 0.10994 | 0.5 | 0.27 -Comm | 2.2287 | 2.3368 | 2.405 | 4.6 | 5.76 -Output | 0.0072037 | 0.0081832 | 0.011022 | 1.8 | 0.02 -Modify | 0.023132 | 0.024188 | 0.025948 | 0.7 | 0.06 -Other | | 0.05032 | | | 0.12 +Pair | 38.667 | 38.954 | 39.453 | 4.8 | 93.83 +Neigh | 0.10947 | 0.11039 | 0.11153 | 0.3 | 0.27 +Comm | 1.8661 | 2.3644 | 2.652 | 19.6 | 5.70 +Output | 0.0082644 | 0.0094232 | 0.01281 | 2.0 | 0.02 +Modify | 0.024678 | 0.025206 | 0.025888 | 0.3 | 0.06 +Other | | 0.05335 | | | 0.13 Nlocal: 545.000 ave 559 max 531 min Histogram: 1 0 0 0 1 1 0 0 0 1 @@ -290,4 +290,4 @@ Total # of neighbors = 261662 Ave neighs/atom = 120.02844 Neighbor list builds = 26 Dangerous builds = 0 -Total wall time: 0:00:40 +Total wall time: 0:00:41 diff --git a/src/USER-DPDEXT/README b/src/USER-DPDEXT/README deleted file mode 100644 index 73f8d047f8..0000000000 --- a/src/USER-DPDEXT/README +++ /dev/null @@ -1,10 +0,0 @@ -Martin Svoboda (ICPF, UJEP) - svobod.martin@gmail.com -Karel Sindelka (ICPF) - sindelka@icpf.cas.cz -Martin Lisal (ICPF, UJEP) - lisal@icpf.cas.cz - -This package implements a generalised force field for dissipative -particle dynamics (DPD). The extension divides contributions -of dissipative and random forces to parrallel and perpendicular parts. -See the doc pages for "pair_style dpdext" and "pair_style dpdext/tstat". - -There are example scripts for using this package in examples/USER/dpdext. diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 314fe6146e..3e2c8ed000 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -90,6 +90,8 @@ pair_style coul/slater/long, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 Fe pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19 +pair_style dpd/ext, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP, svobod.martin at gmail dot com, 23 Apr 21 +pair_style dpd/ext/tstat, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP , svobod.martin at gmail dot com, 23 Apr 21 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 diff --git a/src/USER-DPDEXT/pair_dpd_ext.cpp b/src/USER-MISC/pair_dpd_ext.cpp similarity index 100% rename from src/USER-DPDEXT/pair_dpd_ext.cpp rename to src/USER-MISC/pair_dpd_ext.cpp diff --git a/src/USER-DPDEXT/pair_dpd_ext.h b/src/USER-MISC/pair_dpd_ext.h similarity index 100% rename from src/USER-DPDEXT/pair_dpd_ext.h rename to src/USER-MISC/pair_dpd_ext.h diff --git a/src/USER-DPDEXT/pair_dpd_ext_tstat.cpp b/src/USER-MISC/pair_dpd_ext_tstat.cpp similarity index 100% rename from src/USER-DPDEXT/pair_dpd_ext_tstat.cpp rename to src/USER-MISC/pair_dpd_ext_tstat.cpp diff --git a/src/USER-DPDEXT/pair_dpd_ext_tstat.h b/src/USER-MISC/pair_dpd_ext_tstat.h similarity index 100% rename from src/USER-DPDEXT/pair_dpd_ext_tstat.h rename to src/USER-MISC/pair_dpd_ext_tstat.h From 3ac2b369938e24c5dfc081a15bf374235db21d68 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 16:10:00 +0200 Subject: [PATCH 130/542] add link to Commands_pair.rst --- doc/src/Commands_pair.rst | 2 ++ examples/USER/misc/dpd_ext/dpdext/dpdext.data | 0 examples/USER/misc/dpd_ext/dpdext/in.dpdext | 0 examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data | 0 examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot | 0 examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce | 0 6 files changed, 2 insertions(+) mode change 100755 => 100644 examples/USER/misc/dpd_ext/dpdext/dpdext.data mode change 100755 => 100644 examples/USER/misc/dpd_ext/dpdext/in.dpdext mode change 100755 => 100644 examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data mode change 100755 => 100644 examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot mode change 100755 => 100644 examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index b91a749364..15126d6d34 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -87,6 +87,8 @@ OPT. * :doc:`coul/wolf/cs ` * :doc:`dpd (gio) ` * :doc:`dpd/fdt ` + * :doc:`dpd/ext ` + * :doc:`dpd/ext/tstat ` * :doc:`dpd/fdt/energy (k) ` * :doc:`dpd/tstat (go) ` * :doc:`dsmc ` diff --git a/examples/USER/misc/dpd_ext/dpdext/dpdext.data b/examples/USER/misc/dpd_ext/dpdext/dpdext.data old mode 100755 new mode 100644 diff --git a/examples/USER/misc/dpd_ext/dpdext/in.dpdext b/examples/USER/misc/dpd_ext/dpdext/in.dpdext old mode 100755 new mode 100644 diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data b/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce.data old mode 100755 new mode 100644 diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot b/examples/USER/misc/dpd_ext/dpdext_tstat/cg_spce_table.pot old mode 100755 new mode 100644 diff --git a/examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce b/examples/USER/misc/dpd_ext/dpdext_tstat/in.cg_spce old mode 100755 new mode 100644 From 9c21c8e3efc36466d096669056d445ad57659b41 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 23 Apr 2021 10:42:26 -0500 Subject: [PATCH 131/542] added upstream changes --- cmake/CMakeLists.txt | 862 +++++++++++++++++++++++++++++++++++++++++++ src/Makefile.txt | 443 ++++++++++++++++++++++ 2 files changed, 1305 insertions(+) create mode 100644 cmake/CMakeLists.txt create mode 100644 src/Makefile.txt diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt new file mode 100644 index 0000000000..426d2f76e0 --- /dev/null +++ b/cmake/CMakeLists.txt @@ -0,0 +1,862 @@ +######################################## +# CMake build system +# This file is part of LAMMPS +# Created by Christoph Junghans and Richard Berger +cmake_minimum_required(VERSION 3.10) +# set policy to silence warnings about ignoring _ROOT but use it +if(POLICY CMP0074) + cmake_policy(SET CMP0074 NEW) +endif() +######################################## + +project(lammps CXX) +set(SOVERSION 0) + +get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE) +get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE) + +set(LAMMPS_SOURCE_DIR ${LAMMPS_DIR}/src) +set(LAMMPS_LIB_SOURCE_DIR ${LAMMPS_DIR}/lib) +set(LAMMPS_DOC_DIR ${LAMMPS_DIR}/doc) +set(LAMMPS_TOOLS_DIR ${LAMMPS_DIR}/tools) +set(LAMMPS_PYTHON_DIR ${LAMMPS_DIR}/python) +set(LAMMPS_POTENTIALS_DIR ${LAMMPS_DIR}/potentials) + +set(LAMMPS_DOWNLOADS_URL "https://download.lammps.org" CACHE STRING "Base URL for LAMMPS downloads") +set(LAMMPS_POTENTIALS_URL "${LAMMPS_DOWNLOADS_URL}/potentials") +set(LAMMPS_THIRDPARTY_URL "${LAMMPS_DOWNLOADS_URL}/thirdparty") +mark_as_advanced(LAMMPS_DOWNLOADS_URL) + +find_package(Git) + +# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE) +endif() + +# If enabled, no need to use LD_LIBRARY_PATH / DYLD_LIBRARY_PATH when installed +option(LAMMPS_INSTALL_RPATH "Set runtime path for shared libraries linked to LAMMPS binaries" OFF) +if(LAMMPS_INSTALL_RPATH) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON) +endif() + +# Cmake modules/macros are in a subdirectory to keep this file cleaner +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules) + +# make sure LIBRARY_PATH is set if environment variable is set +if(DEFINED ENV{LIBRARY_PATH}) + list(APPEND CMAKE_LIBRARY_PATH "$ENV{LIBRARY_PATH}") + message(STATUS "Appending $ENV{LIBRARY_PATH} to CMAKE_LIBRARY_PATH: ${CMAKE_LIBRARY_PATH}") +endif() + +include(LAMMPSUtils) + +get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h PROJECT_VERSION) + +include(PreventInSourceBuilds) + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) +endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) +string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE) + +# check for files auto-generated by make-based buildsystem +# this is fast, so check for it all the time +check_for_autogen_files(${LAMMPS_SOURCE_DIR}) + +###################################################################### +# compiler tests +# these need ot be done early (before further tests). +##################################################################### +include(CheckIncludeFileCXX) + +# set required compiler flags and compiler/CPU arch specific optimizations +if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") + if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) + set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512") + else() + set(CMAKE_TUNE_DEFAULT "-xHost") + endif() +endif() + +# we require C++11 without extensions +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions") + +######################################################################## +# User input options # +######################################################################## +set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") +mark_as_advanced(LAMMPS_MACHINE) +if(LAMMPS_MACHINE) + set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") +endif() +set(LAMMPS_BINARY lmp${LAMMPS_MACHINE}) + +option(BUILD_SHARED_LIBS "Build shared library" OFF) +if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +endif() + +option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF) +option(BUILD_LAMMPS_SHELL "Build and install the LAMMPS shell" OFF) + +include(GNUInstallDirs) +file(GLOB ALL_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp) +file(GLOB MAIN_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) +list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES}) +add_library(lammps ${ALL_SOURCES}) +add_executable(lmp ${MAIN_SOURCES}) +target_link_libraries(lmp PRIVATE lammps) +set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) +install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) + +option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) + +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE + GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS + PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI + USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK + USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF + USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH + USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE) + +set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP) + +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) + option(PKG_${PKG} "Build ${PKG} Package" OFF) +endforeach() + +###################################################### +# packages with special compiler needs or external libs +###################################################### +target_include_directories(lammps PUBLIC $) + +if(PKG_USER-ADIOS) + # The search for ADIOS2 must come before MPI because + # it includes its own MPI search with the latest FindMPI.cmake + # script that defines the MPI::MPI_C target + enable_language(C) + find_package(ADIOS2 REQUIRED) + target_link_libraries(lammps PRIVATE adios2::adios2) +endif() + +if(NOT CMAKE_CROSSCOMPILING) + set(MPI_CXX_SKIP_MPICXX TRUE) + find_package(MPI QUIET) + option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) +else() + option(BUILD_MPI "Build MPI version" OFF) +endif() + +if(BUILD_MPI) + # We use a non-standard procedure to cross-compile with MPI on Windows + if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING) + include(MPI4WIN) + target_link_libraries(lammps PUBLIC MPI::MPI_CXX) + else() + find_package(MPI REQUIRED) + target_link_libraries(lammps PUBLIC MPI::MPI_CXX) + option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) + if(LAMMPS_LONGLONG_TO_LONG) + target_compile_definitions(lammps PRIVATE -DLAMMPS_LONGLONG_TO_LONG) + endif() + endif() +else() + file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.cpp) + add_library(mpi_stubs STATIC ${MPI_SOURCES}) + set_target_properties(mpi_stubs PROPERTIES OUTPUT_NAME lammps_mpi_stubs${LAMMPS_MACHINE}) + target_include_directories(mpi_stubs PUBLIC $) + if(BUILD_SHARED_LIBS) + target_link_libraries(lammps PRIVATE mpi_stubs) + target_include_directories(lammps INTERFACE $) + target_compile_definitions(lammps INTERFACE $) + else() + target_link_libraries(lammps PUBLIC mpi_stubs) + endif() + add_library(MPI::MPI_CXX ALIAS mpi_stubs) +endif() + +set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)") +set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall) +set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES}) +validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES) +string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES) +target_compile_definitions(lammps PUBLIC -DLAMMPS_${LAMMPS_SIZES}) + +# posix_memalign is not available on Windows +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set(LAMMPS_MEMALIGN "0" CACHE STRING "posix_memalign() is not available on Windows" FORCE) +else() + set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. Set to 0 to disable") +endif() +if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0") + target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) +endif() + +option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" ${ENABLE_TESTING}) +if(LAMMPS_EXCEPTIONS) + target_compile_definitions(lammps PUBLIC -DLAMMPS_EXCEPTIONS) +endif() + +# "hard" dependencies between packages resulting +# in an error instead of skipping over files +pkg_depends(MLIAP SNAP) +pkg_depends(MPIIO MPI) +pkg_depends(USER-ATC MANYBODY) +pkg_depends(USER-LB MPI) +pkg_depends(USER-PHONON KSPACE) +pkg_depends(USER-SCAFACOS MPI) + +# detect if we may enable OpenMP support by default +set(BUILD_OMP_DEFAULT OFF) +find_package(OpenMP QUIET) +if(OpenMP_FOUND) + check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE) + if(HAVE_OMP_H_INCLUDE) + set(BUILD_OMP_DEFAULT ON) + endif() +endif() + +option(BUILD_OMP "Build with OpenMP support" ${BUILD_OMP_DEFAULT}) + +if(BUILD_OMP) + find_package(OpenMP REQUIRED) + check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE) + if(NOT HAVE_OMP_H_INCLUDE) + message(FATAL_ERROR "Cannot find the 'omp.h' header file required for full OpenMP support") + endif() + + if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR + (CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0))) + # GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts. + # Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe. + target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=4) + else() + target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=3) + endif() + target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) +endif() + +# Compiler specific features for testing +if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + option(ENABLE_COVERAGE "Enable collecting code coverage data" OFF) + mark_as_advanced(ENABLE_COVERAGE) + if(ENABLE_COVERAGE) + if(CMAKE_VERSION VERSION_LESS 3.13) + if(CMAKE_CXX_FLAGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") + else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_${CMAKE_BUILD_TYPE}_FLAGS} --coverage") + endif() + else() + target_compile_options(lammps PUBLIC --coverage) + target_link_options(lammps PUBLIC --coverage) + endif() + endif() +endif() + +####################################### +# add custom target for IWYU analysis +####################################### +set(ENABLE_IWYU OFF CACHE BOOL "Add 'iwyu' build target to call the include-what-you-use tool") +mark_as_advanced(ENABLE_IWYU) +if(ENABLE_IWYU) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + find_program(IWYU_EXE NAMES include-what-you-use iwyu) + find_program(IWYU_TOOL NAMES iwyu_tool iwyu-tool iwyu_tool.py) + if (IWYU_EXE AND IWYU_TOOL) + add_custom_target( + iwyu + ${IWYU_TOOL} -o clang -p ${CMAKE_CURRENT_BINARY_DIR} -- -Xiwyu --mapping_file=${CMAKE_CURRENT_SOURCE_DIR}/iwyu/iwyu-extra-map.imp + COMMENT "Running IWYU") + add_dependencies(iwyu lammps) + else() + message(FATAL_ERROR "To use IWYU you need the include-what-you-use/iwyu executable" + "and the iwyu-tool/iwyu_tool script installed in your PATH") + endif() +endif() + +set(ENABLE_SANITIZER "none" CACHE STRING "Select a code sanitizer option (none (default), address, leak, thread, undefined)") +mark_as_advanced(ENABLE_SANITIZER) +set(ENABLE_SANITIZER_VALUES none address leak thread undefined) +set_property(CACHE ENABLE_SANITIZER PROPERTY STRINGS ${ENABLE_SANITIZER_VALUES}) +validate_option(ENABLE_SANITIZER ENABLE_SANITIZER_VALUES) +string(TOLOWER ${ENABLE_SANITIZER} ENABLE_SANITIZER) +if(NOT ENABLE_SANITIZER STREQUAL "none") + if((${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")) + if(CMAKE_VERSION VERSION_LESS 3.13) + if(CMAKE_CXX_FLAGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=${ENABLE_SANITIZER}") + else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_${CMAKE_BUILD_TYPE}_FLAGS} -fsanitize=${ENABLE_SANITIZER}") + endif() + else() + target_compile_options(lammps PUBLIC -fsanitize=${ENABLE_SANITIZER}) + target_link_options(lammps PUBLIC -fsanitize=${ENABLE_SANITIZER}) + endif() + else() + message(WARNING "ENABLE_SANITIZER option not supported by ${CMAKE_CXX_COMPILER_ID} compilers. Ignoring.") + set(ENABLE_SANITIZER "none") + endif() +endif() + +if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) + enable_language(C) + find_package(LAPACK) + find_package(BLAS) + if(NOT LAPACK_FOUND OR NOT BLAS_FOUND) + include(CheckGeneratorSupport) + if(NOT CMAKE_GENERATOR_SUPPORT_FORTRAN) + status(FATAL_ERROR "Cannot build internal linear algebra library as CMake build tool lacks Fortran support") + endif() + enable_language(Fortran) + file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF]) + add_library(linalg STATIC ${LAPACK_SOURCES}) + set_target_properties(linalg PROPERTIES OUTPUT_NAME lammps_linalg${LAMMPS_MACHINE}) + set(BLAS_LIBRARIES "$") + set(LAPACK_LIBRARIES "$") + else() + list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif() +endif() + +find_package(JPEG QUIET) +option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND}) +if(WITH_JPEG) + find_package(JPEG REQUIRED) + target_compile_definitions(lammps PRIVATE -DLAMMPS_JPEG) + if(CMAKE_VERSION VERSION_LESS 3.12) + target_include_directories(lammps PRIVATE ${JPEG_INCLUDE_DIRS}) + target_link_libraries(lammps PRIVATE ${JPEG_LIBRARIES}) + else() + target_link_libraries(lammps PRIVATE JPEG::JPEG) + endif() +endif() + +find_package(PNG QUIET) +find_package(ZLIB QUIET) +if(PNG_FOUND AND ZLIB_FOUND) + option(WITH_PNG "Enable PNG support" ON) +else() + option(WITH_PNG "Enable PNG support" OFF) +endif() +if(WITH_PNG) + find_package(PNG REQUIRED) + find_package(ZLIB REQUIRED) + target_link_libraries(lammps PRIVATE PNG::PNG ZLIB::ZLIB) + target_compile_definitions(lammps PRIVATE -DLAMMPS_PNG) +endif() + +find_program(GZIP_EXECUTABLE gzip) +find_package_handle_standard_args(GZIP REQUIRED_VARS GZIP_EXECUTABLE) +option(WITH_GZIP "Enable GZIP support" ${GZIP_FOUND}) +if(WITH_GZIP) + if(GZIP_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)) + target_compile_definitions(lammps PRIVATE -DLAMMPS_GZIP) + else() + message(FATAL_ERROR "gzip executable not found") + endif() +endif() + +find_program(FFMPEG_EXECUTABLE ffmpeg) +find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_EXECUTABLE) +option(WITH_FFMPEG "Enable FFMPEG support" ${FFMPEG_FOUND}) +if(WITH_FFMPEG) + if(FFMPEG_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)) + target_compile_definitions(lammps PRIVATE -DLAMMPS_FFMPEG) + else() + message(FATAL_ERROR "ffmpeg executable not found") + endif() +endif() + +if(BUILD_SHARED_LIBS) + set(CONFIGURE_REQUEST_PIC "--with-pic") + set(CMAKE_REQUEST_PIC "-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}") + set(CUDA_REQUEST_PIC "-Xcompiler ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") +else() + set(CONFIGURE_REQUEST_PIC) + set(CMAKE_REQUEST_PIC) + set(CUDA_REQUEST_PIC) +endif() + +foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM + USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE) + if(PKG_${PKG_WITH_INCL}) + include(Packages/${PKG_WITH_INCL}) + endif() +endforeach() + +# optionally enable building script wrappers using swig +option(WITH_SWIG "Build scripting language wrappers with SWIG" OFF) +if(WITH_SWIG) + get_filename_component(LAMMPS_SWIG_DIR ${LAMMPS_SOURCE_DIR}/../tools/swig ABSOLUTE) + add_subdirectory(${LAMMPS_SWIG_DIR} swig) +endif() + +set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine specific optimization flags (compilation only)") +separate_arguments(CMAKE_TUNE_FLAGS) +foreach(_FLAG ${CMAKE_TUNE_FLAGS}) + target_compile_options(lammps PRIVATE ${_FLAG}) +endforeach() +######################################################################## +# Basic system tests (standard libraries, headers, functions, types) # +######################################################################## +foreach(HEADER cmath) + check_include_file_cxx(${HEADER} FOUND_${HEADER}) + if(NOT FOUND_${HEADER}) + message(FATAL_ERROR "Could not find needed header - ${HEADER}") + endif(NOT FOUND_${HEADER}) +endforeach(HEADER) + +set(MATH_LIBRARIES "m" CACHE STRING "math library") +mark_as_advanced( MATH_LIBRARIES ) +target_link_libraries(lammps PRIVATE ${MATH_LIBRARIES}) + +###################################### +# Generate Basic Style files +###################################### +include(StyleHeaderUtils) +RegisterStyles(${LAMMPS_SOURCE_DIR}) + +######################################################## +# Fetch missing external files and archives for packages +######################################################## +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) + if(PKG_${PKG}) + FetchPotentials(${LAMMPS_SOURCE_DIR}/${PKG} ${LAMMPS_POTENTIALS_DIR}) + endif() +endforeach() + +############################################## +# add sources of enabled packages +############################################ +foreach(PKG ${STANDARD_PACKAGES}) + set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) + + file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) + file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h) + + # check for package files in src directory due to old make system + DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) + + if(PKG_${PKG}) + # detects styles in package and adds them to global list + RegisterStyles(${${PKG}_SOURCES_DIR}) + + target_sources(lammps PRIVATE ${${PKG}_SOURCES}) + target_include_directories(lammps PRIVATE ${${PKG}_SOURCES_DIR}) + endif() + + RegisterPackages(${${PKG}_SOURCES_DIR}) +endforeach() + +# packages that need defines set +foreach(PKG MPIIO) + if(PKG_${PKG}) + target_compile_definitions(lammps PRIVATE -DLMP_${PKG}) + endif() +endforeach() + +# dedicated check for entire contents of accelerator packages +foreach(PKG ${SUFFIX_PACKAGES}) + set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) + + file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) + file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h) + + # check for package files in src directory due to old make system + DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) + + RegisterPackages(${${PKG}_SOURCES_DIR}) +endforeach() + +############################################## +# add lib sources of (simple) enabled packages +############################################ +foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT) + if(PKG_${SIMPLE_LIB}) + string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}") + string(TOLOWER "${PKG_LIB}" PKG_LIB) + if(PKG_LIB STREQUAL mesont) + enable_language(Fortran) + file(GLOB_RECURSE ${PKG_LIB}_SOURCES + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.f90) + else() + file(GLOB_RECURSE ${PKG_LIB}_SOURCES + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp) + endif() + add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES}) + set_target_properties(${PKG_LIB} PROPERTIES OUTPUT_NAME lammps_${PKG_LIB}${LAMMPS_MACHINE}) + target_link_libraries(lammps PRIVATE ${PKG_LIB}) + if(PKG_LIB STREQUAL awpmd) + target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include) + elseif(PKG_LIB STREQUAL h5md) + target_include_directories(h5md PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/h5md/include ${HDF5_INCLUDE_DIRS}) + else() + target_include_directories(${PKG_LIB} PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}) + endif() + endif() +endforeach() + +if(PKG_USER-AWPMD) + target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES}) +endif() + +if(PKG_USER-ATC) + if(LAMMPS_SIZES STREQUAL BIGBIG) + message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG") + endif() + target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES}) + if(BUILD_MPI) + target_link_libraries(atc PRIVATE MPI::MPI_CXX) + else() + target_link_libraries(atc PRIVATE mpi_stubs) + endif() + target_include_directories(atc PRIVATE ${LAMMPS_SOURCE_DIR}) + target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES}) +endif() + +if(PKG_USER-H5MD) + include(Packages/USER-H5MD) +endif() + +###################################################################### +# packages which selectively include variants based on enabled styles +# e.g. accelerator packages +###################################################################### +foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) + if(PKG_${PKG_WITH_INCL}) + include(Packages/${PKG_WITH_INCL}) + endif() +endforeach() + +if(PKG_PLUGIN) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN) + else() + message(WARNING "Plugin loading will not work unless BUILD_SHARED_LIBS is enabled") + endif() + # link with -ldl or equivalent for plugin loading; except on Windows + if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + target_link_libraries(lammps PRIVATE ${CMAKE_DL_LIBS}) + endif() +endif() + +###################################################################### +# the windows version of LAMMPS requires a couple extra libraries +# and the MPI library - if use - has to be linked right before those +# and after everything else that is compiled locally +###################################################################### +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi) +endif() + +###################################################### +# Generate style headers based on global list of +# styles registered during package selection +# Generate packages headers from all packages +###################################################### +set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles) + +GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR}) +GeneratePackagesHeaders(${LAMMPS_STYLE_HEADERS_DIR}) + +target_include_directories(lammps PRIVATE ${LAMMPS_STYLE_HEADERS_DIR}) + +###################################### +# Generate lmpinstalledpkgs.h +###################################### +set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") +set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") +set(temp_PKG_LIST ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) +list(SORT temp_PKG_LIST) +foreach(PKG ${temp_PKG_LIST}) + if(PKG_${PKG}) + set(temp "${temp} \"${PKG}\",\n") + endif() +endforeach() +set(temp "${temp} NULL\n};\n#endif\n\n") +message(STATUS "Generating lmpinstalledpkgs.h...") +file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" ) +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h") + +###################################### +# Generate lmpgitversion.h +###################################### +add_custom_target(gitversion COMMAND ${CMAKE_COMMAND} + -DLAMMPS_DIR="${LAMMPS_DIR}" + -DGIT_EXECUTABLE="${GIT_EXECUTABLE}" + -DGIT_FOUND="${GIT_FOUND}" + -DLAMMPS_STYLE_HEADERS_DIR="${LAMMPS_STYLE_HEADERS_DIR}" + -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/generate_lmpgitversion.cmake) +set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${LAMMPS_STYLE_HEADERS_DIR}/gitversion.h) +add_dependencies(lammps gitversion) + +########################################### +# Actually add executable and lib to build +############################################ +get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) +list (FIND LANGUAGES "Fortran" _index) +if(${_index} GREATER -1) + target_link_libraries(lammps PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) +endif() +set(LAMMPS_CXX_HEADERS angle.h atom.h bond.h citeme.h comm.h compute.h dihedral.h domain.h error.h fix.h force.h group.h improper.h + input.h info.h kspace.h lammps.h lattice.h library.h lmppython.h lmptype.h memory.h modify.h neighbor.h neigh_list.h output.h + pair.h pointers.h region.h timer.h universe.h update.h utils.h variable.h) +if(LAMMPS_EXCEPTIONS) + list(APPEND LAMMPS_CXX_HEADERS exceptions.h) +endif() + +set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE}) +set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) +target_include_directories(lammps PUBLIC $) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps) +foreach(_HEADER ${LAMMPS_CXX_HEADERS}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LAMMPS_SOURCE_DIR}/${_HEADER} ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} DEPENDS ${LAMMPS_SOURCE_DIR}/${_HEADER}) + add_custom_target(${_HEADER} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER}) + add_dependencies(lammps ${_HEADER}) + if(BUILD_SHARED_LIBS) + install(FILES ${LAMMPS_SOURCE_DIR}/${_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) + endif() +endforeach() +target_include_directories(lammps INTERFACE $) +add_library(LAMMPS::lammps ALIAS lammps) +get_target_property(LAMMPS_DEFINES lammps INTERFACE_COMPILE_DEFINITIONS) +set(LAMMPS_API_DEFINES) +foreach(_DEF ${LAMMPS_DEFINES}) + set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${_DEF}") +endforeach() +if(BUILD_SHARED_LIBS) + install(TARGETS lammps EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS) + include(CMakePackageConfigHelpers) + configure_file(LAMMPSConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake @ONLY) + write_basic_package_version_file("LAMMPSConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS) +endif() +install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1) + +include(Tools) +include(Documentation) + +############################################################################### +# Install potential and force field files in data directory +############################################################################### +set(LAMMPS_INSTALL_DATADIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps) +install(DIRECTORY ${LAMMPS_POTENTIALS_DIR} DESTINATION ${LAMMPS_INSTALL_DATADIR}) +if(BUILD_TOOLS) + install(DIRECTORY ${LAMMPS_TOOLS_DIR}/msi2lmp/frc_files DESTINATION ${LAMMPS_INSTALL_DATADIR}) +endif() + +configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY) +configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY) +install( + FILES ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh + ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d +) + +############################################################################### +# Install LAMMPS lib and python module into site-packages folder with +# "install-python" target. Behaves exactly like "make install-python" for +# conventional build. Only available, if a shared library is built. +# This is primarily for people that only want to use the Python wrapper. +############################################################################### +if(BUILD_SHARED_LIBS) + if(CMAKE_VERSION VERSION_LESS 3.12) + # adjust so we find Python 3 versions before Python 2 on old systems with old CMake + set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6 3.5) + find_package(PythonInterp) # Deprecated since version 3.12 + if(PYTHONINTERP_FOUND) + set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) + endif() + else() + find_package(Python COMPONENTS Interpreter) + endif() + if (Python_EXECUTABLE) + add_custom_target( + install-python ${CMAKE_COMMAND} -E remove_directory build + COMMAND ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h + -p ${LAMMPS_PYTHON_DIR}/lammps + -l ${CMAKE_BINARY_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX} + WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR} + COMMENT "Installing LAMMPS Python module") + else() + add_custom_target( + install-python + ${CMAKE_COMMAND} -E echo "Must have Python installed to install the LAMMPS Python module") + endif() +else() + add_custom_target( + install-python + ${CMAKE_COMMAND} -E echo "Must build LAMMPS as a shared library to use the Python module") +endif() + +############################################################################### +# Add LAMMPS python module to "install" target. This is taylored for building +# LAMMPS for package managers and with different prefix settings. +# This requires either a shared library or that the PYTHON package is included. +############################################################################### +if(BUILD_SHARED_LIBS OR PKG_PYTHON) + if(CMAKE_VERSION VERSION_LESS 3.12) + find_package(PythonInterp) # Deprecated since version 3.12 + if(PYTHONINTERP_FOUND) + set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) + endif() + else() + find_package(Python COMPONENTS Interpreter) + endif() + if (Python_EXECUTABLE) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/python) + install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} setup.py build -b ${CMAKE_BINARY_DIR}/python install --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR})") + endif() +endif() + +include(Testing) +include(CodeCoverage) +include(CodingStandard) + +get_target_property(DEFINES lammps COMPILE_DEFINITIONS) +include(FeatureSummary) +feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND) +message(STATUS "<<< Build configuration >>> + Operating System: ${CMAKE_SYSTEM_NAME} ${CMAKE_LINUX_DISTRO} ${CMAKE_DISTRO_VERSION} + Build type: ${CMAKE_BUILD_TYPE} + Install path: ${CMAKE_INSTALL_PREFIX} + Generator: ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM}") +############################################################################### +# Print package summary +############################################################################### +set(ENABLED_PACKAGES) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) + if(PKG_${PKG}) + list(APPEND ENABLED_PACKAGES ${PKG}) + endif() +endforeach() +if(ENABLED_PACKAGES) + list(SORT ENABLED_PACKAGES) +else() + set(ENABLED_PACKAGES "") +endif() +message(STATUS "Enabled packages: ${ENABLED_PACKAGES}") + +message(STATUS "<<< Compilers and Flags: >>> +-- C++ Compiler: ${CMAKE_CXX_COMPILER} + Type: ${CMAKE_CXX_COMPILER_ID} + Version: ${CMAKE_CXX_COMPILER_VERSION} + C++ Flags: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} + Defines: ${DEFINES}") +get_target_property(OPTIONS lammps COMPILE_OPTIONS) +if(OPTIONS) + message(" Options: ${OPTIONS}") +endif() +get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) +list (FIND LANGUAGES "Fortran" _index) +if(${_index} GREATER -1) + message(STATUS "Fortran Compiler: ${CMAKE_Fortran_COMPILER} + Type: ${CMAKE_Fortran_COMPILER_ID} + Version: ${CMAKE_Fortran_COMPILER_VERSION} + Fortran Flags:${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}") +endif() +list (FIND LANGUAGES "C" _index) +if(${_index} GREATER -1) + message(STATUS "C compiler: ${CMAKE_C_COMPILER} + Type: ${CMAKE_C_COMPILER_ID} + Version: ${CMAKE_C_COMPILER_VERSION} + C Flags: ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}") +endif() +message(STATUS "<<< Linker flags: >>>") +message(STATUS "Executable name: ${LAMMPS_BINARY}") +if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13) + get_target_property(OPTIONS lammps LINK_OPTIONS) + if(OPTIONS) + message(STATUS "Linker options: ${OPTIONS}") + endif() +endif() +if(CMAKE_EXE_LINKER_FLAGS) + message(STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}") +endif() +if(BUILD_SHARED_LIBS) + message(STATUS "Shared library flags: ${CMAKE_SHARED_LINKER_FLAGS}") +else() + message(STATUS "Static library flags: ${CMAKE_STATIC_LINKER_FLAGS}") +endif() +if(BUILD_MPI) + message(STATUS "<<< MPI flags >>> +-- MPI_defines: ${MPI_CXX_COMPILE_DEFINITIONS} +-- MPI includes: ${MPI_CXX_INCLUDE_PATH} +-- MPI libraries: ${MPI_CXX_LIBRARIES};${MPI_Fortran_LIBRARIES}") +endif() +if(PKG_GPU) + message(STATUS "<<< GPU package settings >>> +-- GPU API: ${GPU_API}") + if(GPU_API STREQUAL "CUDA") + message(STATUS "CUDA Compiler: ${CUDA_NVCC_EXECUTABLE}") + message(STATUS "GPU default architecture: ${GPU_ARCH}") + message(STATUS "GPU binning with CUDPP: ${CUDPP_OPT}") + message(STATUS "CUDA MPS support: ${CUDA_MPS_SUPPORT}") + elseif(GPU_API STREQUAL "HIP") + message(STATUS "HIP platform: ${HIP_PLATFORM}") + message(STATUS "HIP architecture: ${HIP_ARCH}") + if(HIP_USE_DEVICE_SORT) + message(STATUS "HIP GPU sorting: on") + else() + message(STATUS "HIP GPU sorting: off") + endif() + endif() + message(STATUS "GPU precision: ${GPU_PREC}") +endif() +if(PKG_KOKKOS) + message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}") +endif() +if(PKG_KSPACE) + message(STATUS "<<< FFT settings >>> +-- Primary FFT lib: ${FFT}") + if(FFT_SINGLE) + message(STATUS "Using single precision FFTs") + else() + message(STATUS "Using double precision FFTs") + endif() + if(FFT_FFTW_THREADS OR FFT_MKL_THREADS) + message(STATUS "Using threaded FFTs") + else() + message(STATUS "Using non-threaded FFTs") + endif() + if(PKG_KOKKOS) + if(Kokkos_ENABLE_CUDA) + if (${FFT} STREQUAL "KISS") + message(STATUS "Kokkos FFT: KISS") + else() + message(STATUS "Kokkos FFT: cuFFT") + endif() + else() + message(STATUS "Kokkos FFT: ${FFT}") + endif() + endif() +endif() +if(BUILD_DOC) + message(STATUS "<<< Building HTML Manual >>>") +endif() +if(BUILD_TOOLS) + message(STATUS "<<< Building Tools >>>") +endif() +if(BUILD_LAMMPS_SHELL) + message(STATUS "<<< Building LAMMPS Shell >>>") +endif() +if(ENABLE_TESTING) + message(STATUS "<<< Building Unit Tests >>>") + if(ENABLE_COVERAGE) + message(STATUS "Collecting code coverage data") + endif() +endif() diff --git a/src/Makefile.txt b/src/Makefile.txt new file mode 100644 index 0000000000..5542ed0cc5 --- /dev/null +++ b/src/Makefile.txt @@ -0,0 +1,443 @@ +# LAMMPS multiple-machine -*- Makefile -*- + +SHELL = /bin/bash +PYTHON = python + +#.IGNORE: + +# Definitions + +ROOT = lmp +EXE = lmp_$@ +ARLIB = liblammps_$@.a +SHLIB = liblammps_$@.so +ARLINK = liblammps.a +SHLINK = liblammps.so +TMPNAME= tmp_$@_name +LMPLINK= -L. -llammps_$@ + +OBJDIR = Obj_$@ +OBJSHDIR = Obj_shared_$@ + +SRC = $(wildcard *.cpp) +INC = $(filter-out lmpinstalledpkgs.h lmpgitversion.h,$(wildcard *.h)) +OBJ = $(SRC:.cpp=.o) + +SRCLIB = $(filter-out main.cpp,$(SRC)) +OBJLIB = $(filter-out main.o,$(OBJ)) + +# Command-line options for mode: static (default), shared, or print + +mode = static +objdir = $(OBJDIR) + +ifeq ($(mode),shared) +objdir = $(OBJSHDIR) +endif + +# Package variables + +# PACKAGE = standard packages +# PACKUSER = user packagse +# PACKLIB = all packages that require an additional lib +# should be PACKSYS + PACKINT + PACKEXT +# PACKSYS = subset that reqiure a common system library +# include MPIIO and LB b/c require full MPI, not just STUBS +# PACKINT = subset that require an internal (provided) library +# PACKEXT = subset that require an external (downloaded) library + +PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ + granular kim kokkos kspace latte manybody mc message misc \ + mliap molecule mpiio mscg opt peri plugin poems \ + python qeq replica rigid shock snap spin srd voronoi + +PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ + user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ + user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ + user-mgpt user-misc user-mofff user-molfile \ + user-netcdf user-omp user-phonon user-pace user-plumed user-ptm user-qmmm \ + user-qtb user-quip user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ + user-sdpd user-sph user-tally user-uef user-vtk user-yaff + +PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ + python voronoi \ + user-adios user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ + user-netcdf user-plumed user-qmmm user-quip user-scafacos \ + user-smd user-vtk user-mesont user-pace + +PACKSYS = compress mpiio python user-lb + +PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont + +PACKEXT = kim latte mscg voronoi \ + user-adios user-h5md user-molfile user-netcdf user-pace user-plumed \ + user-qmmm user-quip user-smd user-vtk + +PACKALL = $(PACKAGE) $(PACKUSER) + +# Helper GNU make function for conversion to upper case without using shell commands +uppercase_TABLE:=a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z +uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$(wordlist 2,$(words $1),$1),$2)),$2) +uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) + +PACKAGEUC = $(call uppercase,$(PACKAGE)) +PACKUSERUC = $(call uppercase,$(PACKUSER)) + +YESDIR = $(call uppercase,$(@:yes-%=%)) +NODIR = $(call uppercase,$(@:no-%=%)) +LIBDIR = $(@:lib-%=%) +LIBUSERDIR = $(@:lib-user-%=%) + +# List of all targets + +help: + @echo '' + @echo 'make clean-all delete all object files' + @echo 'make clean-machine delete object files for one machine' + @echo 'make mpi-stubs build dummy MPI library in STUBS' + @echo 'make install-python install LAMMPS wrapper in Python' + @echo 'make tar create lmp_src.tar.gz for src dir and packages' + @echo '' + @echo 'make package list available packages and their dependencies' + @echo 'make package-status (ps) status of all packages' + @echo 'make package-installed (pi) list of installed packages' + @echo 'make yes-package install a single pgk in src dir' + @echo 'make no-package remove a single pkg from src dir' + @echo 'make yes-all install all pgks in src dir' + @echo 'make no-all remove all pkgs from src dir' + @echo 'make yes-standard (yes-std) install all standard pkgs' + @echo 'make no-standard (no-std) remove all standard pkgs' + @echo 'make yes-user install all user pkgs' + @echo 'make no-user remove all user pkgs' + @echo 'make yes-lib install all pkgs with libs (included or ext)' + @echo 'make no-lib remove all pkgs with libs (included or ext)' + @echo 'make yes-ext install all pkgs with external libs' + @echo 'make no-ext remove all pkgs with external libs' + @echo '' + @echo 'make package-update (pu) replace src files with updated package files' + @echo 'make package-overwrite replace package files with src files' + @echo 'make package-diff (pd) diff src files against package files' + @echo '' + @echo 'make lib-package help for download/build/install a package library' + @echo 'make lib-package args="..." download/build/install a package library' + @echo 'make purge purge obsolete copies of source files' + @echo '' + @echo 'make machine build LAMMPS for machine with static library' + @echo 'make mode=static machine same as above' + @echo 'make mode=shared machine build LAMMPS for machine with shared library' + @echo 'make mode=print machine print compiler/linker flags' + @echo '' + @echo 'machine is one of these from src/MAKE:' + @echo '' + @files="`ls MAKE/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/OPTIONS:' + @echo '' + @files="`ls MAKE/OPTIONS/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/MACHINES:' + @echo '' + @files="`ls MAKE/MACHINES/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/MINE:' + @echo '' + @files="`ls MAKE/MINE/Makefile.* 2>/dev/null`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + + +lmpinstalledpkgs.h: $(SRC) $(INC) + @echo '#ifndef LMP_INSTALLED_PKGS_H' > ${TMPNAME}.lmpinstalled + @echo '#define LMP_INSTALLED_PKGS_H' >> ${TMPNAME}.lmpinstalled + @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> ${TMPNAME}.lmpinstalled + @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ + [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> ${TMPNAME}.lmpinstalled || :; done + @echo ' NULL };' >> ${TMPNAME}.lmpinstalled + @echo '#endif' >> ${TMPNAME}.lmpinstalled + @if [ -f lmpinstalledpkgs.h ]; \ + then test "`diff --brief ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h`" != "" && \ + mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h || rm ${TMPNAME}.lmpinstalled ; \ + else mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h ; fi + +gitversion: + @echo 'Gathering git version information' + @echo '#ifndef LMP_GIT_VERSION_H' > ${TMPNAME}.lmpgitversion + @echo '#define LMP_GIT_VERSION_H' >> ${TMPNAME}.lmpgitversion + @if (type git && test -e ../.git ) >> /dev/null 2>> /dev/null ; then \ + git='true'; \ + commit=$$(git rev-parse HEAD); \ + branch=$$(git rev-parse --abbrev-ref HEAD); \ + describe=$$(git describe --dirty=-modified); \ + else \ + git='false' ; \ + commit='(unknown)' ; \ + branch='(unknown)' ; \ + describe='(unknown)' ; \ + fi ; \ + echo "const bool LAMMPS_NS::LAMMPS::has_git_info = $${git};" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_commit[] = \"$${commit}\";" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_branch[] = \"$${branch}\";" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"$${describe}\";" >> ${TMPNAME}.lmpgitversion + @echo '#endif' >> ${TMPNAME}.lmpgitversion + @if [ -f lmpgitversion.h ]; \ + then test "`diff --brief ${TMPNAME}.lmpgitversion lmpgitversion.h`" != "" && \ + mv ${TMPNAME}.lmpgitversion lmpgitversion.h || rm ${TMPNAME}.lmpgitversion ; \ + else mv ${TMPNAME}.lmpgitversion lmpgitversion.h ; fi + +# Build LAMMPS in one of 2 modes +# static = static compile in Obj_machine (default) +# shared = shared compile in Obj_shared_machine + +.DEFAULT: + @if [ $@ = "serial" ]; \ + then cd STUBS; $(MAKE); cd ..; fi + @test -f MAKE/Makefile.$@ -o -f MAKE/OPTIONS/Makefile.$@ -o \ + -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@ + @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi + @echo 'Gathering installed package information (may take a little while)' + @$(SHELL) Make.sh style + @$(SHELL) Make.sh packages + @$(MAKE) $(MFLAGS) lmpinstalledpkgs.h gitversion + @echo 'Compiling LAMMPS for machine $@' + @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ + then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ + then cp MAKE/OPTIONS/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/Makefile.$@ ]; \ + then cp MAKE/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/MINE/Makefile.$@ ]; \ + then cp MAKE/MINE/Makefile.$@ $(objdir)/Makefile; fi + @if [ ! -e Makefile.package ]; \ + then cp Makefile.package.empty Makefile.package; fi + @if [ ! -e Makefile.package.settings ]; \ + then cp Makefile.package.settings.empty Makefile.package.settings; fi + @cp Makefile.package Makefile.package.settings $(objdir) + @cd $(objdir); rm -f .depend; \ + $(MAKE) $(MFLAGS) "SRC = $(SRC)" "INC = $(INC)" depend || : + @rm -f $(ARLINK) $(SHLINK) $(EXE) +ifeq ($(mode),static) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" "SHFLAGS =" \ + "LMPLIB = $(ARLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ + "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) + @ln -s $(ARLIB) $(ARLINK) +endif +ifeq ($(mode),shared) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ + "LMPLIB = $(SHLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ + "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) + @ln -s $(SHLIB) $(SHLINK) +endif +# backward compatibility +ifeq ($(mode),exe) + $(MAKE) $(MFLAGS) mode=static $@ +endif +ifeq ($(mode),lib) + $(MAKE) $(MFLAGS) mode=static $@ +endif +ifeq ($(mode),shexe) + $(MAKE) $(MFLAGS) mode=shared $@ +endif +ifeq ($(mode),shlib) + $(MAKE) $(MFLAGS) mode=shared $@ +endif + +ifeq ($(mode),print) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ + "EXE = ../$(ARLIB)" -f ../Makefile.print +endif + +# Remove machine-specific object files + +clean: + @echo 'make clean-all delete all object files' + @echo 'make clean-machine delete object files for one machine' + +clean-all: + rm -rf Obj_* + +clean-%: + @if [ $@ = "clean-serial" ]; \ + then cd STUBS; $(MAKE) clean; cd ..; fi + rm -rf Obj_$(@:clean-%=%) Obj_shared_$(@:clean-%=%) + +# Make MPI STUBS library + +mpi-stubs: + @cd STUBS; $(MAKE) clean; $(MAKE) + +# install LAMMPS shared lib and Python wrapper for Python usage +# include python package settings to automatically adapt name of +# the python interpreter. must purge build folder to not install +# unwanted outdated files. + +sinclude ../lib/python/Makefile.lammps +install-python: + @rm -rf ../python/build + @$(PYTHON) ../python/install.py -v ../src/version.h \ + -p ../python/lammps -l ../src/liblammps.so + +# Create a tarball of src dir and packages + +tar: + @cd STUBS; $(MAKE) clean + @cd ..; tar cvzf src/$(ROOT)_src.tar.gz \ + src/Make* src/Package.sh src/Depend.sh src/Install.sh src/Fetch.sh \ + src/MAKE src/DEPEND src/*.cpp src/*.h src/STUBS \ + $(patsubst %,src/%,$(PACKAGEUC)) $(patsubst %,src/%,$(PACKUSERUC)) \ + --exclude=*/.svn + @cd STUBS; $(MAKE) + @echo "Created $(ROOT)_src.tar.gz" + +# Package management + +package: + @echo 'Standard packages:' $(PACKAGE) + @echo '' + @echo 'User-contributed packages:' $(PACKUSER) + @echo '' + @echo 'Packages that need system libraries:' $(PACKSYS) + @echo '' + @echo 'Packages that need provided libraries:' $(PACKINT) + @echo '' + @echo 'Packages that need external libraries:' $(PACKEXT) + @echo '' + @echo 'make package list available packages' + @echo 'make package list available packages' + @echo 'make package-status (ps) status of all packages' + @echo 'make package-installed (pi) list of installed packages' + @echo 'make yes-package install a single pgk in src dir' + @echo 'make no-package remove a single pkg from src dir' + @echo 'make yes-all install all pgks in src dir' + @echo 'make no-all remove all pkgs from src dir' + @echo 'make yes-standard (yes-std) install all standard pkgs' + @echo 'make no-standard (no-std) remove all standard pkgs' + @echo 'make yes-user install all user pkgs' + @echo 'make no-user remove all user pkgs' + @echo 'make yes-lib install all pkgs with libs (included or ext)' + @echo 'make no-lib remove all pkgs with libs (included or ext)' + @echo 'make yes-ext install all pkgs with external libs' + @echo 'make no-ext remove all pkgs with external libs' + @echo '' + @echo 'make package-update (pu) replace src files with package files' + @echo 'make package-overwrite replace package files with src files' + @echo 'make package-diff (pd) diff src files against package file' + @echo '' + @echo 'make lib-package build and/or download a package library' + +yes-all: + @for p in $(PACKALL); do $(MAKE) yes-$$p; done + +no-all: + @for p in $(PACKALL); do $(MAKE) no-$$p; done + +yes-standard yes-std: + @for p in $(PACKAGE); do $(MAKE) yes-$$p; done + +no-standard no-std: + @for p in $(PACKAGE); do $(MAKE) no-$$p; done + +yes-user: + @for p in $(PACKUSER); do $(MAKE) yes-$$p; done + +no-user: + @for p in $(PACKUSER); do $(MAKE) no-$$p; done + +yes-lib: + @for p in $(PACKLIB); do $(MAKE) yes-$$p; done + +no-lib: + @for p in $(PACKLIB); do $(MAKE) no-$$p; done + +yes-ext: + @for p in $(PACKEXT); do $(MAKE) yes-$$p; done + +no-ext: + @for p in $(PACKEXT); do $(MAKE) no-$$p; done + +yes-%: + @if [ ! -e Makefile.package ]; \ + then cp Makefile.package.empty Makefile.package; fi + @if [ ! -e Makefile.package.settings ]; \ + then cp Makefile.package.settings.empty Makefile.package.settings; fi + @if [ ! -e $(YESDIR) ]; then \ + echo "Package $(YESDIR) does not exist"; exit 1; \ + elif [ -e $(YESDIR)/Install.sh ]; then \ + echo "Installing package $(@:yes-%=%)"; \ + cd $(YESDIR); $(SHELL) Install.sh 1; cd ..; \ + $(SHELL) Depend.sh $(YESDIR) 1; \ + else \ + echo "Installing package $(@:yes-%=%)"; \ + cd $(YESDIR); $(SHELL) ../Install.sh 1; cd ..; \ + $(SHELL) Depend.sh $(YESDIR) 1; \ + fi; + @$(SHELL) Fetch.sh $(YESDIR) + +no-%: + @if [ ! -e $(NODIR) ]; then \ + echo "Package $(NODIR) does not exist"; exit 1; \ + elif [ -e $(NODIR)/Install.sh ]; then \ + echo "Uninstalling package $(@:no-%=%)"; \ + cd $(NODIR); $(SHELL) Install.sh 0; cd ..; \ + $(SHELL) Depend.sh $(NODIR) 0; \ + else \ + echo "Uninstalling package $(@:no-%=%)"; \ + cd $(NODIR); $(SHELL) ../Install.sh 0; cd ..; \ + $(SHELL) Depend.sh $(NODIR) 0; \ + fi; + +# download/build/install a package library +# update the timestamp on main.cpp to trigger a relink with "make machine" + +lib-%: + @if [ -e ../lib/$(LIBDIR)/Install.py ]; then \ + echo "Installing lib $(@:lib-%=%)"; \ + ( cd ../lib/$(LIBDIR); $(PYTHON) Install.py $(args) ); \ + elif [ -e ../lib/$(LIBUSERDIR)/Install.py ]; then \ + echo "Installing lib $(@:lib-user-%=%)"; \ + ( cd ../lib/$(LIBUSERDIR); $(PYTHON) Install.py $(args) ); \ + else \ + echo "Install script for lib $(@:lib-%=%) does not exist"; \ + fi; touch main.cpp + +# status = list src files that differ from package files +# installed = list of installed packages +# update = replace src files with newer package files +# overwrite = overwrite package files with newer src files +# diff = show differences between src and package files +# purge = delete obsolete and auto-generated package files + +package-status ps: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p status; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p status; done + +package-installed pi: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p installed; done + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p installed; done + +package-update pu: purge + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p update; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p update; done + +package-overwrite: purge + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p overwrite; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p overwrite; done + +package-diff pd: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p diff; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p diff; done + +purge: Purge.list + @echo 'Purging obsolete and auto-generated source files' + @for f in `grep -v '#' Purge.list` ; \ + do test -f $$f && rm $$f && echo $$f || : ; \ + done From 6a1a58d7271aacd2013533733ed17816eee430e7 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Fri, 23 Apr 2021 17:56:35 +0200 Subject: [PATCH 132/542] Added CMake imported target N2P2::N2P2 --- cmake/Modules/FindN2P2.cmake | 15 +++++++-- cmake/Modules/Packages/USER-HDNNP.cmake | 42 +++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index 95413edfb1..6bf4da5a79 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -33,8 +33,19 @@ find_package_handle_standard_args(N2P2 DEFAULT_MSG N2P2_CMAKE_EXTRA) if(N2P2_FOUND) - set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) - set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) + add_library(N2P2::LIBNNP UNKNOWN IMPORTED) + set_target_properties(N2P2::LIBNNP PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} + IMPORTED_LOCATION ${N2P2_LIBNNP}) + add_library(N2P2::LIBNNPIF UNKNOWN IMPORTED) + set_target_properties(N2P2::LIBNNPIF PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} + IMPORTED_LOCATION ${N2P2_LIBNNPIF}) + add_library(N2P2::N2P2 INTERFACE IMPORTED) + set_property(TARGET N2P2::N2P2 PROPERTY + INTERFACE_LINK_LIBRARIES N2P2::LIBNNPIF N2P2::LIBNNP) + #set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) + #set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA}) mark_as_advanced( diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake index 2ebc1f6e36..2d5fb406be 100644 --- a/cmake/Modules/Packages/USER-HDNNP.cmake +++ b/cmake/Modules/Packages/USER-HDNNP.cmake @@ -1,4 +1,42 @@ find_package(N2P2 REQUIRED) -target_include_directories(lammps PRIVATE ${N2P2_INCLUDE_DIRS}) -target_link_libraries(lammps PRIVATE ${N2P2_LIBRARIES}) +#target_include_directories(lammps PRIVATE ${N2P2_INCLUDE_DIRS}) +#target_link_libraries(lammps PRIVATE ${N2P2_LIBRARIES}) +target_link_libraries(lammps PRIVATE N2P2::N2P2) include(${N2P2_CMAKE_EXTRAS}) + +#find_package(N2P2 QUIET) +#if(N2P2_FOUND) +# set(DOWNLOAD_N2P2_DEFAULT OFF) +#else() +# set(DOWNLOAD_N2P2_DEFAULT ON) +#endif() +#option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT}) +#if(DOWNLOAD_N2P2) +# set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.2.tar.gz" CACHE STRING "URL for n2p2 tarball") +# set(N2P2_MD5 "20cf194d14b1f1c72f38879bafda67e2" CACHE STRING "MD5 checksum of N2P2 tarball") +# mark_as_advanced(N2P2_URL) +# mark_as_advanced(N2P2_MD5) +# +# include(ExternalProject) +# ExternalProject_Add(n2p2_build +# URL ${N2P2_URL} +# URL_MD5 ${N2P2_MD5} +# SOURCE_SUBDIR src/ +# BUILD_COMMAND make libnnpif +# INSTALL_COMMAND "" +# BUILD_BYPRODUCTS /lib/libnnp.a /lib/libnnpif.a +# ) +# ExternalProject_get_property(n2p2_build INSTALL_DIR) +# add_library(LAMMPS::N2P2 UNKNOWN IMPORTED) +# set_target_properties(LAMMPS::N2P2 PROPERTIES +# IMPORTED_LOCATION "${INSTALL_DIR}/lib/libnnp.a" +# INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include") +# target_link_libraries(lammps PRIVATE LAMMPS::N2P2) +# add_dependencies(LAMMPS::N2P2 n2p2_build) +#else() +# find_package(N2P2) +# if(NOT N2P2_FOUND) +# message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it") +# endif() +# target_link_libraries(lammps PRIVATE N2P2::N2P2) +#endif() From 792b411e46e03a6bf665ebd56dc02de16e0e90f6 Mon Sep 17 00:00:00 2001 From: kipbarrett Date: Fri, 23 Apr 2021 11:18:46 -0500 Subject: [PATCH 133/542] fix messed up merge --- src/Makefile | 443 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 443 insertions(+) create mode 100644 src/Makefile diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000000..5542ed0cc5 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,443 @@ +# LAMMPS multiple-machine -*- Makefile -*- + +SHELL = /bin/bash +PYTHON = python + +#.IGNORE: + +# Definitions + +ROOT = lmp +EXE = lmp_$@ +ARLIB = liblammps_$@.a +SHLIB = liblammps_$@.so +ARLINK = liblammps.a +SHLINK = liblammps.so +TMPNAME= tmp_$@_name +LMPLINK= -L. -llammps_$@ + +OBJDIR = Obj_$@ +OBJSHDIR = Obj_shared_$@ + +SRC = $(wildcard *.cpp) +INC = $(filter-out lmpinstalledpkgs.h lmpgitversion.h,$(wildcard *.h)) +OBJ = $(SRC:.cpp=.o) + +SRCLIB = $(filter-out main.cpp,$(SRC)) +OBJLIB = $(filter-out main.o,$(OBJ)) + +# Command-line options for mode: static (default), shared, or print + +mode = static +objdir = $(OBJDIR) + +ifeq ($(mode),shared) +objdir = $(OBJSHDIR) +endif + +# Package variables + +# PACKAGE = standard packages +# PACKUSER = user packagse +# PACKLIB = all packages that require an additional lib +# should be PACKSYS + PACKINT + PACKEXT +# PACKSYS = subset that reqiure a common system library +# include MPIIO and LB b/c require full MPI, not just STUBS +# PACKINT = subset that require an internal (provided) library +# PACKEXT = subset that require an external (downloaded) library + +PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ + granular kim kokkos kspace latte manybody mc message misc \ + mliap molecule mpiio mscg opt peri plugin poems \ + python qeq replica rigid shock snap spin srd voronoi + +PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ + user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ + user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ + user-mgpt user-misc user-mofff user-molfile \ + user-netcdf user-omp user-phonon user-pace user-plumed user-ptm user-qmmm \ + user-qtb user-quip user-rann user-reaction user-reaxc user-scafacos user-smd user-smtbq \ + user-sdpd user-sph user-tally user-uef user-vtk user-yaff + +PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \ + python voronoi \ + user-adios user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ + user-netcdf user-plumed user-qmmm user-quip user-scafacos \ + user-smd user-vtk user-mesont user-pace + +PACKSYS = compress mpiio python user-lb + +PACKINT = gpu kokkos message poems user-atc user-awpmd user-colvars user-mesont + +PACKEXT = kim latte mscg voronoi \ + user-adios user-h5md user-molfile user-netcdf user-pace user-plumed \ + user-qmmm user-quip user-smd user-vtk + +PACKALL = $(PACKAGE) $(PACKUSER) + +# Helper GNU make function for conversion to upper case without using shell commands +uppercase_TABLE:=a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z +uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$(wordlist 2,$(words $1),$1),$2)),$2) +uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) + +PACKAGEUC = $(call uppercase,$(PACKAGE)) +PACKUSERUC = $(call uppercase,$(PACKUSER)) + +YESDIR = $(call uppercase,$(@:yes-%=%)) +NODIR = $(call uppercase,$(@:no-%=%)) +LIBDIR = $(@:lib-%=%) +LIBUSERDIR = $(@:lib-user-%=%) + +# List of all targets + +help: + @echo '' + @echo 'make clean-all delete all object files' + @echo 'make clean-machine delete object files for one machine' + @echo 'make mpi-stubs build dummy MPI library in STUBS' + @echo 'make install-python install LAMMPS wrapper in Python' + @echo 'make tar create lmp_src.tar.gz for src dir and packages' + @echo '' + @echo 'make package list available packages and their dependencies' + @echo 'make package-status (ps) status of all packages' + @echo 'make package-installed (pi) list of installed packages' + @echo 'make yes-package install a single pgk in src dir' + @echo 'make no-package remove a single pkg from src dir' + @echo 'make yes-all install all pgks in src dir' + @echo 'make no-all remove all pkgs from src dir' + @echo 'make yes-standard (yes-std) install all standard pkgs' + @echo 'make no-standard (no-std) remove all standard pkgs' + @echo 'make yes-user install all user pkgs' + @echo 'make no-user remove all user pkgs' + @echo 'make yes-lib install all pkgs with libs (included or ext)' + @echo 'make no-lib remove all pkgs with libs (included or ext)' + @echo 'make yes-ext install all pkgs with external libs' + @echo 'make no-ext remove all pkgs with external libs' + @echo '' + @echo 'make package-update (pu) replace src files with updated package files' + @echo 'make package-overwrite replace package files with src files' + @echo 'make package-diff (pd) diff src files against package files' + @echo '' + @echo 'make lib-package help for download/build/install a package library' + @echo 'make lib-package args="..." download/build/install a package library' + @echo 'make purge purge obsolete copies of source files' + @echo '' + @echo 'make machine build LAMMPS for machine with static library' + @echo 'make mode=static machine same as above' + @echo 'make mode=shared machine build LAMMPS for machine with shared library' + @echo 'make mode=print machine print compiler/linker flags' + @echo '' + @echo 'machine is one of these from src/MAKE:' + @echo '' + @files="`ls MAKE/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/OPTIONS:' + @echo '' + @files="`ls MAKE/OPTIONS/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/MACHINES:' + @echo '' + @files="`ls MAKE/MACHINES/Makefile.*`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + @echo '... or one of these from src/MAKE/MINE:' + @echo '' + @files="`ls MAKE/MINE/Makefile.* 2>/dev/null`"; \ + for file in $$files; do head -1 $$file; done + @echo '' + + +lmpinstalledpkgs.h: $(SRC) $(INC) + @echo '#ifndef LMP_INSTALLED_PKGS_H' > ${TMPNAME}.lmpinstalled + @echo '#define LMP_INSTALLED_PKGS_H' >> ${TMPNAME}.lmpinstalled + @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> ${TMPNAME}.lmpinstalled + @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ + [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> ${TMPNAME}.lmpinstalled || :; done + @echo ' NULL };' >> ${TMPNAME}.lmpinstalled + @echo '#endif' >> ${TMPNAME}.lmpinstalled + @if [ -f lmpinstalledpkgs.h ]; \ + then test "`diff --brief ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h`" != "" && \ + mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h || rm ${TMPNAME}.lmpinstalled ; \ + else mv ${TMPNAME}.lmpinstalled lmpinstalledpkgs.h ; fi + +gitversion: + @echo 'Gathering git version information' + @echo '#ifndef LMP_GIT_VERSION_H' > ${TMPNAME}.lmpgitversion + @echo '#define LMP_GIT_VERSION_H' >> ${TMPNAME}.lmpgitversion + @if (type git && test -e ../.git ) >> /dev/null 2>> /dev/null ; then \ + git='true'; \ + commit=$$(git rev-parse HEAD); \ + branch=$$(git rev-parse --abbrev-ref HEAD); \ + describe=$$(git describe --dirty=-modified); \ + else \ + git='false' ; \ + commit='(unknown)' ; \ + branch='(unknown)' ; \ + describe='(unknown)' ; \ + fi ; \ + echo "const bool LAMMPS_NS::LAMMPS::has_git_info = $${git};" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_commit[] = \"$${commit}\";" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_branch[] = \"$${branch}\";" >> ${TMPNAME}.lmpgitversion ; \ + echo "const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"$${describe}\";" >> ${TMPNAME}.lmpgitversion + @echo '#endif' >> ${TMPNAME}.lmpgitversion + @if [ -f lmpgitversion.h ]; \ + then test "`diff --brief ${TMPNAME}.lmpgitversion lmpgitversion.h`" != "" && \ + mv ${TMPNAME}.lmpgitversion lmpgitversion.h || rm ${TMPNAME}.lmpgitversion ; \ + else mv ${TMPNAME}.lmpgitversion lmpgitversion.h ; fi + +# Build LAMMPS in one of 2 modes +# static = static compile in Obj_machine (default) +# shared = shared compile in Obj_shared_machine + +.DEFAULT: + @if [ $@ = "serial" ]; \ + then cd STUBS; $(MAKE); cd ..; fi + @test -f MAKE/Makefile.$@ -o -f MAKE/OPTIONS/Makefile.$@ -o \ + -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@ + @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi + @echo 'Gathering installed package information (may take a little while)' + @$(SHELL) Make.sh style + @$(SHELL) Make.sh packages + @$(MAKE) $(MFLAGS) lmpinstalledpkgs.h gitversion + @echo 'Compiling LAMMPS for machine $@' + @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ + then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ + then cp MAKE/OPTIONS/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/Makefile.$@ ]; \ + then cp MAKE/Makefile.$@ $(objdir)/Makefile; fi + @if [ -f MAKE/MINE/Makefile.$@ ]; \ + then cp MAKE/MINE/Makefile.$@ $(objdir)/Makefile; fi + @if [ ! -e Makefile.package ]; \ + then cp Makefile.package.empty Makefile.package; fi + @if [ ! -e Makefile.package.settings ]; \ + then cp Makefile.package.settings.empty Makefile.package.settings; fi + @cp Makefile.package Makefile.package.settings $(objdir) + @cd $(objdir); rm -f .depend; \ + $(MAKE) $(MFLAGS) "SRC = $(SRC)" "INC = $(INC)" depend || : + @rm -f $(ARLINK) $(SHLINK) $(EXE) +ifeq ($(mode),static) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" "SHFLAGS =" \ + "LMPLIB = $(ARLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ + "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) + @ln -s $(ARLIB) $(ARLINK) +endif +ifeq ($(mode),shared) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ + "LMPLIB = $(SHLIB)" "ARLIB = $(ARLIB)" "SHLIB = $(SHLIB)" \ + "LMPLINK = $(LMPLINK)" "EXE = ../$(EXE)" ../$(EXE) + @ln -s $(SHLIB) $(SHLINK) +endif +# backward compatibility +ifeq ($(mode),exe) + $(MAKE) $(MFLAGS) mode=static $@ +endif +ifeq ($(mode),lib) + $(MAKE) $(MFLAGS) mode=static $@ +endif +ifeq ($(mode),shexe) + $(MAKE) $(MFLAGS) mode=shared $@ +endif +ifeq ($(mode),shlib) + $(MAKE) $(MFLAGS) mode=shared $@ +endif + +ifeq ($(mode),print) + @cd $(objdir); \ + $(MAKE) $(MFLAGS) "OBJ = $(OBJLIB)" "INC = $(INC)" \ + "EXE = ../$(ARLIB)" -f ../Makefile.print +endif + +# Remove machine-specific object files + +clean: + @echo 'make clean-all delete all object files' + @echo 'make clean-machine delete object files for one machine' + +clean-all: + rm -rf Obj_* + +clean-%: + @if [ $@ = "clean-serial" ]; \ + then cd STUBS; $(MAKE) clean; cd ..; fi + rm -rf Obj_$(@:clean-%=%) Obj_shared_$(@:clean-%=%) + +# Make MPI STUBS library + +mpi-stubs: + @cd STUBS; $(MAKE) clean; $(MAKE) + +# install LAMMPS shared lib and Python wrapper for Python usage +# include python package settings to automatically adapt name of +# the python interpreter. must purge build folder to not install +# unwanted outdated files. + +sinclude ../lib/python/Makefile.lammps +install-python: + @rm -rf ../python/build + @$(PYTHON) ../python/install.py -v ../src/version.h \ + -p ../python/lammps -l ../src/liblammps.so + +# Create a tarball of src dir and packages + +tar: + @cd STUBS; $(MAKE) clean + @cd ..; tar cvzf src/$(ROOT)_src.tar.gz \ + src/Make* src/Package.sh src/Depend.sh src/Install.sh src/Fetch.sh \ + src/MAKE src/DEPEND src/*.cpp src/*.h src/STUBS \ + $(patsubst %,src/%,$(PACKAGEUC)) $(patsubst %,src/%,$(PACKUSERUC)) \ + --exclude=*/.svn + @cd STUBS; $(MAKE) + @echo "Created $(ROOT)_src.tar.gz" + +# Package management + +package: + @echo 'Standard packages:' $(PACKAGE) + @echo '' + @echo 'User-contributed packages:' $(PACKUSER) + @echo '' + @echo 'Packages that need system libraries:' $(PACKSYS) + @echo '' + @echo 'Packages that need provided libraries:' $(PACKINT) + @echo '' + @echo 'Packages that need external libraries:' $(PACKEXT) + @echo '' + @echo 'make package list available packages' + @echo 'make package list available packages' + @echo 'make package-status (ps) status of all packages' + @echo 'make package-installed (pi) list of installed packages' + @echo 'make yes-package install a single pgk in src dir' + @echo 'make no-package remove a single pkg from src dir' + @echo 'make yes-all install all pgks in src dir' + @echo 'make no-all remove all pkgs from src dir' + @echo 'make yes-standard (yes-std) install all standard pkgs' + @echo 'make no-standard (no-std) remove all standard pkgs' + @echo 'make yes-user install all user pkgs' + @echo 'make no-user remove all user pkgs' + @echo 'make yes-lib install all pkgs with libs (included or ext)' + @echo 'make no-lib remove all pkgs with libs (included or ext)' + @echo 'make yes-ext install all pkgs with external libs' + @echo 'make no-ext remove all pkgs with external libs' + @echo '' + @echo 'make package-update (pu) replace src files with package files' + @echo 'make package-overwrite replace package files with src files' + @echo 'make package-diff (pd) diff src files against package file' + @echo '' + @echo 'make lib-package build and/or download a package library' + +yes-all: + @for p in $(PACKALL); do $(MAKE) yes-$$p; done + +no-all: + @for p in $(PACKALL); do $(MAKE) no-$$p; done + +yes-standard yes-std: + @for p in $(PACKAGE); do $(MAKE) yes-$$p; done + +no-standard no-std: + @for p in $(PACKAGE); do $(MAKE) no-$$p; done + +yes-user: + @for p in $(PACKUSER); do $(MAKE) yes-$$p; done + +no-user: + @for p in $(PACKUSER); do $(MAKE) no-$$p; done + +yes-lib: + @for p in $(PACKLIB); do $(MAKE) yes-$$p; done + +no-lib: + @for p in $(PACKLIB); do $(MAKE) no-$$p; done + +yes-ext: + @for p in $(PACKEXT); do $(MAKE) yes-$$p; done + +no-ext: + @for p in $(PACKEXT); do $(MAKE) no-$$p; done + +yes-%: + @if [ ! -e Makefile.package ]; \ + then cp Makefile.package.empty Makefile.package; fi + @if [ ! -e Makefile.package.settings ]; \ + then cp Makefile.package.settings.empty Makefile.package.settings; fi + @if [ ! -e $(YESDIR) ]; then \ + echo "Package $(YESDIR) does not exist"; exit 1; \ + elif [ -e $(YESDIR)/Install.sh ]; then \ + echo "Installing package $(@:yes-%=%)"; \ + cd $(YESDIR); $(SHELL) Install.sh 1; cd ..; \ + $(SHELL) Depend.sh $(YESDIR) 1; \ + else \ + echo "Installing package $(@:yes-%=%)"; \ + cd $(YESDIR); $(SHELL) ../Install.sh 1; cd ..; \ + $(SHELL) Depend.sh $(YESDIR) 1; \ + fi; + @$(SHELL) Fetch.sh $(YESDIR) + +no-%: + @if [ ! -e $(NODIR) ]; then \ + echo "Package $(NODIR) does not exist"; exit 1; \ + elif [ -e $(NODIR)/Install.sh ]; then \ + echo "Uninstalling package $(@:no-%=%)"; \ + cd $(NODIR); $(SHELL) Install.sh 0; cd ..; \ + $(SHELL) Depend.sh $(NODIR) 0; \ + else \ + echo "Uninstalling package $(@:no-%=%)"; \ + cd $(NODIR); $(SHELL) ../Install.sh 0; cd ..; \ + $(SHELL) Depend.sh $(NODIR) 0; \ + fi; + +# download/build/install a package library +# update the timestamp on main.cpp to trigger a relink with "make machine" + +lib-%: + @if [ -e ../lib/$(LIBDIR)/Install.py ]; then \ + echo "Installing lib $(@:lib-%=%)"; \ + ( cd ../lib/$(LIBDIR); $(PYTHON) Install.py $(args) ); \ + elif [ -e ../lib/$(LIBUSERDIR)/Install.py ]; then \ + echo "Installing lib $(@:lib-user-%=%)"; \ + ( cd ../lib/$(LIBUSERDIR); $(PYTHON) Install.py $(args) ); \ + else \ + echo "Install script for lib $(@:lib-%=%) does not exist"; \ + fi; touch main.cpp + +# status = list src files that differ from package files +# installed = list of installed packages +# update = replace src files with newer package files +# overwrite = overwrite package files with newer src files +# diff = show differences between src and package files +# purge = delete obsolete and auto-generated package files + +package-status ps: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p status; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p status; done + +package-installed pi: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p installed; done + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p installed; done + +package-update pu: purge + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p update; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p update; done + +package-overwrite: purge + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p overwrite; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p overwrite; done + +package-diff pd: + @for p in $(PACKAGEUC); do $(SHELL) Package.sh $$p diff; done + @echo '' + @for p in $(PACKUSERUC); do $(SHELL) Package.sh $$p diff; done + +purge: Purge.list + @echo 'Purging obsolete and auto-generated source files' + @for f in `grep -v '#' Purge.list` ; \ + do test -f $$f && rm $$f && echo $$f || : ; \ + done From e28867eed0e440ac0e56f06fbd6948c2d74a23a2 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 20:08:56 +0200 Subject: [PATCH 134/542] change doc --- doc/src/Commands_pair.rst | 4 ++-- doc/src/{pair_dpdext.rst => pair_dpd_ext.rst} | 0 doc/src/pair_style.rst | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) rename doc/src/{pair_dpdext.rst => pair_dpd_ext.rst} (100%) diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 15126d6d34..40b81a2fd1 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -87,8 +87,8 @@ OPT. * :doc:`coul/wolf/cs ` * :doc:`dpd (gio) ` * :doc:`dpd/fdt ` - * :doc:`dpd/ext ` - * :doc:`dpd/ext/tstat ` + * :doc:`dpd/ext ` + * :doc:`dpd/ext/tstat ` * :doc:`dpd/fdt/energy (k) ` * :doc:`dpd/tstat (go) ` * :doc:`dsmc ` diff --git a/doc/src/pair_dpdext.rst b/doc/src/pair_dpd_ext.rst similarity index 100% rename from doc/src/pair_dpdext.rst rename to doc/src/pair_dpd_ext.rst diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 4990674973..94d4e07486 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -150,6 +150,8 @@ accelerated styles exist. * :doc:`coul/wolf ` - Coulomb via Wolf potential * :doc:`coul/wolf/cs ` - Coulomb via Wolf potential with core/shell adjustments * :doc:`dpd ` - dissipative particle dynamics (DPD) +* :doc:`dpd/ext ` - generalised force field for DPD +* :doc:`dpd/ext/tstat ` - pair-wise DPD thermostatting with generalised force field * :doc:`dpd/fdt ` - DPD for constant temperature and pressure * :doc:`dpd/fdt/energy ` - DPD for constant energy and enthalpy * :doc:`dpd/tstat ` - pair-wise DPD thermostatting From a9abcadc018ebbc49eb6c75f06d22133a7224bd6 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 20:09:41 +0200 Subject: [PATCH 135/542] one more doc fix --- doc/src/pair_dpd_ext.rst | 43 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/doc/src/pair_dpd_ext.rst b/doc/src/pair_dpd_ext.rst index 4b6855774d..cfc72fe84c 100644 --- a/doc/src/pair_dpd_ext.rst +++ b/doc/src/pair_dpd_ext.rst @@ -1,9 +1,10 @@ -.. index:: pair_style dpdext +.. index:: pair_style dpd/ext +.. index:: pair_style dpd/ext/tstat -pair_style dpdext command +pair_style dpd/ext command ========================== -pair_style dpdext/tstat command +pair_style dpd/ext/tstat command ================================ Syntax @@ -12,8 +13,8 @@ Syntax .. code-block:: LAMMPS - pair_style dpdext T cutoff seed - pair_style dpdext/tstat Tstart Tstop cutoff seed + pair_style dpd/ext T cutoff seed + pair_style dpd/ext/tstat Tstart Tstop cutoff seed * T = temperature (temperature units) * Tstart,Tstop = desired temperature at start/end of run (temperature units) @@ -26,22 +27,22 @@ Examples .. code-block:: LAMMPS - pair_style dpdext 1.0 2.5 34387 + pair_style dpd/ext 1.0 2.5 34387 pair_coeff 1 1 25.0 4.5 4.5 0.5 0.5 1.2 pair_coeff 1 2 40.0 4.5 4.5 0.5 0.5 1.2 - pair_style dpdext/tstat 1.0 1.0 2.5 34387 + pair_style dpd/ext/tstat 1.0 1.0 2.5 34387 pair_coeff 1 1 4.5 4.5 0.5 0.5 1.2 pair_coeff 1 2 4.5 4.5 0.5 0.5 1.2 Description """"""""""" -The style *dpdext* computes an extended force field for dissipative particle dynamics (DPD) following the exposition in :ref:`(Groot) `, :ref:`(Junghans) `. +The style *dpd/ext* computes an extended force field for dissipative particle dynamics (DPD) following the exposition in :ref:`(Groot) `, :ref:`(Junghans) `. -Style *dpdext/tstat* invokes an extended DPD thermostat on pairwise interactions, which is equivalent to the non-conservative portion of the extended DPD force field. To use *dpdext/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. +Style *dpd/ext/tstat* invokes an extended DPD thermostat on pairwise interactions, equivalent to the non-conservative portion of the extended DPD force field. To use *dpd/ext/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. -For the style *dpdext*\ , the force on atom I due to atom J is given as a sum +For the style *dpd/ext*\ , the force on atom I due to atom J is given as a sum of 3 terms .. math:: @@ -54,15 +55,15 @@ of 3 terms where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command. -For the style *dpdext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. +For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. -For the style *dpdext*\ , the pairwise energy associated with style *dpdext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. For style *dpdext/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. +For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial. -For the style *dpdext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. +For the style *dpd/ext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop. -For the style *dpdext*\ , the pairwise energy associated with style *dpdext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. For style *dpdext/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. +For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial. -For the style *dpdext*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above: +For the style *dpd/ext*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above: * A (force units) * :math:`\gamma_{\perp}` (force/velocity units) @@ -74,7 +75,7 @@ For the style *dpdext*, the following coefficients must be defined for each pair The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that :math:`\sigma`'s are set equal to :math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by the :doc:`pair_style ` command so it does not need to be specified. -For the style *dpdext/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. +For the style *dpd/ext/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. .. note:: @@ -89,17 +90,17 @@ For the style *dpdext/tstat*, the coefficients defined for each pair of atoms ty **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -The style *dpdext* does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. +The style *dpd/ext* does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. The pair styles do not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative :math:`\mathbf{f}^C` term is already shifted to be zero at the cutoff distance :math:`r_c`. -The :doc:`pair_modify ` table option is not relevant for the style *dpdext*. +The :doc:`pair_modify ` table option is not relevant for the style *dpd/ext*. -The style *dpdext* does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. +The style *dpd/ext* does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. The pair styles can only be used via the pair keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , and *outer*\ keywords. -The style *dpdext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. +The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. ---------- @@ -107,7 +108,7 @@ The style *dpdext/tstat* can ramp its target temperature over multiple runs, usi Restrictions """""""""""" -The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too infrequent for style *dpdext* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of \say{dangerous} reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. +The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify ` command). This may be too infrequent for style *dpd/ext* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of \say{dangerous} reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. The pair styles require to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. From 1f24a45ef7a32a7c62f28dd5a4043d9dddbe1d47 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 20:09:51 +0200 Subject: [PATCH 136/542] fix Makefile --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 4fcc7402c9..d5f0e600d6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,7 +52,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ python qeq replica rigid shock snap spin srd voronoi PACKUSER = user-adios user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ - user-diffraction user-dpd user-dpdext user-drude user-eff user-fep user-h5md \ + user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ user-intel user-lb user-manifold user-meamc user-mesodpd user-mesont \ user-mgpt user-misc user-mofff user-molfile \ user-netcdf user-omp user-phonon user-pace user-plumed user-ptm user-qmmm \ From 628b06b7deb9b0b4824c397a00170b37e8ea2834 Mon Sep 17 00:00:00 2001 From: msvbd Date: Fri, 23 Apr 2021 20:15:11 +0200 Subject: [PATCH 137/542] fix CMakeLists.txt --- cmake/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d840dedf6c..f567a15d25 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -120,9 +120,9 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK - USER-COLVARS USER-DIFFRACTION USER-DPD USER-DPDEXT USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC - USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB + USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF + USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE) From d60c630e56ef458929c5800020f2856fc078684d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Apr 2021 15:05:06 -0400 Subject: [PATCH 138/542] cosmetic changes: whitespace and include file order --- src/USER-MISC/pair_dpd_ext.cpp | 30 ++++++++++++++-------------- src/USER-MISC/pair_dpd_ext_tstat.cpp | 22 ++++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/USER-MISC/pair_dpd_ext.cpp b/src/USER-MISC/pair_dpd_ext.cpp index e5405cf071..ee03a6d1b9 100644 --- a/src/USER-MISC/pair_dpd_ext.cpp +++ b/src/USER-MISC/pair_dpd_ext.cpp @@ -20,17 +20,17 @@ ------------------------------------------------------------------------- */ #include "pair_dpd_ext.h" -#include #include "atom.h" #include "comm.h" -#include "update.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "random_mars.h" -#include "memory.h" #include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include "neighbor.h" +#include "random_mars.h" +#include "update.h" +#include using namespace LAMMPS_NS; @@ -126,23 +126,23 @@ void PairDPDExt::compute(int eflag, int vflag) delvy = vytmp - v[j][1]; delvz = vztmp - v[j][2]; dot = delx*delvx + dely*delvy + delz*delvz; - + P[0][0] = 1.0 - delx*delx*rinv*rinv; P[0][1] = - delx*dely*rinv*rinv; P[0][2] = - delx*delz*rinv*rinv; - + P[1][0] = P[0][1]; P[1][1] = 1.0 - dely*dely*rinv*rinv; P[1][2] = - dely*delz*rinv*rinv; - + P[2][0] = P[0][2]; P[2][1] = P[1][2]; P[2][2] = 1.0 - delz*delz*rinv*rinv; - + wd = 1.0 - r/cut[itype][jtype]; wdPar = pow(wd,ws[itype][jtype]); wdPerp = pow(wd,wsT[itype][jtype]); - + randnum = random->gaussian(); randnumx = random->gaussian(); randnumy = random->gaussian(); @@ -156,7 +156,7 @@ void PairDPDExt::compute(int eflag, int vflag) // random force - parallel fpair += sigma[itype][jtype]*wdPar*randnum*dtinvsqrt; - + fpairx = fpair*rinv*delx; fpairy = fpair*rinv*dely; fpairz = fpair*rinv*delz; @@ -176,7 +176,7 @@ void PairDPDExt::compute(int eflag, int vflag) (P[1][0]*randnumx + P[1][1]*randnumy + P[1][2]*randnumz)*dtinvsqrt; fpairz += sigmaT[itype][jtype]*wdPerp* (P[2][0]*randnumx + P[2][1]*randnumy + P[2][2]*randnumz)*dtinvsqrt; - + fpairx *= factor_dpd; fpairy *= factor_dpd; fpairz *= factor_dpd; @@ -190,7 +190,7 @@ void PairDPDExt::compute(int eflag, int vflag) f[j][2] -= fpairz; } - if (eflag) { + if (eflag) { // unshifted eng of conservative term: // evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]); // eng shifted to 0.0 at cutoff diff --git a/src/USER-MISC/pair_dpd_ext_tstat.cpp b/src/USER-MISC/pair_dpd_ext_tstat.cpp index 5449ca7358..a9f66fb38c 100644 --- a/src/USER-MISC/pair_dpd_ext_tstat.cpp +++ b/src/USER-MISC/pair_dpd_ext_tstat.cpp @@ -17,15 +17,15 @@ #include "pair_dpd_ext_tstat.h" -#include #include "atom.h" -#include "update.h" +#include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" -#include "comm.h" #include "random_mars.h" -#include "error.h" +#include "update.h" +#include using namespace LAMMPS_NS; @@ -114,23 +114,23 @@ void PairDPDExtTstat::compute(int eflag, int vflag) delvy = vytmp - v[j][1]; delvz = vztmp - v[j][2]; dot = delx*delvx + dely*delvy + delz*delvz; - + P[0][0] = 1.0 - delx*delx*rinv*rinv; P[0][1] = - delx*dely*rinv*rinv; P[0][2] = - delx*delz*rinv*rinv; - + P[1][0] = P[0][1]; P[1][1] = 1.0 - dely*dely*rinv*rinv; P[1][2] = - dely*delz*rinv*rinv; - + P[2][0] = P[0][2]; P[2][1] = P[1][2]; P[2][2] = 1.0 - delz*delz*rinv*rinv; - + wd = 1.0 - r/cut[itype][jtype]; wdPar = pow(wd,ws[itype][jtype]); wdPerp = pow(wd,wsT[itype][jtype]); - + randnum = random->gaussian(); randnumx = random->gaussian(); randnumy = random->gaussian(); @@ -141,7 +141,7 @@ void PairDPDExtTstat::compute(int eflag, int vflag) // random force - parallel fpair += sigma[itype][jtype]*wdPar*randnum*dtinvsqrt; - + fpairx = fpair*rinv*delx; fpairy = fpair*rinv*dely; fpairz = fpair*rinv*delz; @@ -161,7 +161,7 @@ void PairDPDExtTstat::compute(int eflag, int vflag) (P[1][0]*randnumx + P[1][1]*randnumy + P[1][2]*randnumz)*dtinvsqrt; fpairz += sigmaT[itype][jtype]*wdPerp* (P[2][0]*randnumx + P[2][1]*randnumy + P[2][2]*randnumz)*dtinvsqrt; - + fpairx *= factor_dpd; fpairy *= factor_dpd; fpairz *= factor_dpd; From 8fc9eb26bc6025b0849c4c64eef459d835feff58 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Apr 2021 15:08:20 -0400 Subject: [PATCH 139/542] address spell checker warnings --- doc/src/pair_style.rst | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 94d4e07486..ce74b0d873 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -150,8 +150,8 @@ accelerated styles exist. * :doc:`coul/wolf ` - Coulomb via Wolf potential * :doc:`coul/wolf/cs ` - Coulomb via Wolf potential with core/shell adjustments * :doc:`dpd ` - dissipative particle dynamics (DPD) -* :doc:`dpd/ext ` - generalised force field for DPD -* :doc:`dpd/ext/tstat ` - pair-wise DPD thermostatting with generalised force field +* :doc:`dpd/ext ` - generalized force field for DPD +* :doc:`dpd/ext/tstat ` - pair-wise DPD thermostatting with generalized force field * :doc:`dpd/fdt ` - DPD for constant temperature and pressure * :doc:`dpd/fdt/energy ` - DPD for constant energy and enthalpy * :doc:`dpd/tstat ` - pair-wise DPD thermostatting diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index da0617ce91..c29ff2b1d1 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2538,6 +2538,7 @@ ppn pppm prd Prakash +Praprotnik pre Pre prec From a0b0681cc8d2c9c831fe8504ed2febdc0107ae8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 17:20:36 -0400 Subject: [PATCH 140/542] rename _internal_logmesg() to fmtargs_logmesg() vlogmesg() can be too easily confused with logmesg() --- src/utils.cpp | 4 ++-- src/utils.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index fedf86149e..809e625a29 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -131,8 +131,8 @@ void utils::logmesg(LAMMPS *lmp, const std::string &mesg) if (lmp->logfile) fputs(mesg.c_str(), lmp->logfile); } -void utils::_internal_logmesg(LAMMPS *lmp, fmt::string_view format, - fmt::format_args args) +void utils::fmtargs_logmesg(LAMMPS *lmp, fmt::string_view format, + fmt::format_args args) { if (lmp->screen) fmt::vprint(lmp->screen, format, args); if (lmp->logfile) fmt::vprint(lmp->logfile, format, args); diff --git a/src/utils.h b/src/utils.h index e0ab413e59..5f3644b558 100644 --- a/src/utils.h +++ b/src/utils.h @@ -49,8 +49,8 @@ namespace LAMMPS_NS { /* Internal function handling the argument list for logmesg(). */ - void _internal_logmesg(LAMMPS *lmp, fmt::string_view format, - fmt::format_args args); + void fmtargs_logmesg(LAMMPS *lmp, fmt::string_view format, + fmt::format_args args); /** Send formatted message to screen and logfile, if available * @@ -65,8 +65,8 @@ namespace LAMMPS_NS { template void logmesg(LAMMPS *lmp, const S &format, Args&&... args) { - _internal_logmesg(lmp, format, - fmt::make_args_checked(format, args...)); + fmtargs_logmesg(lmp, format, + fmt::make_args_checked(format, args...)); } /** \overload From 07d4b09eb6661e2326b8a4cf949a2d20f8766c41 Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Mon, 26 Apr 2021 00:03:07 +0200 Subject: [PATCH 141/542] Updated CMake files, auto-download not yet working --- cmake/Modules/FindN2P2.cmake | 46 +++++++------- cmake/Modules/Packages/USER-HDNNP.cmake | 81 ++++++++++++------------- 2 files changed, 64 insertions(+), 63 deletions(-) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index 6bf4da5a79..975f424a39 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -33,26 +33,28 @@ find_package_handle_standard_args(N2P2 DEFAULT_MSG N2P2_CMAKE_EXTRA) if(N2P2_FOUND) - add_library(N2P2::LIBNNP UNKNOWN IMPORTED) - set_target_properties(N2P2::LIBNNP PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} - IMPORTED_LOCATION ${N2P2_LIBNNP}) - add_library(N2P2::LIBNNPIF UNKNOWN IMPORTED) - set_target_properties(N2P2::LIBNNPIF PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} - IMPORTED_LOCATION ${N2P2_LIBNNPIF}) - add_library(N2P2::N2P2 INTERFACE IMPORTED) - set_property(TARGET N2P2::N2P2 PROPERTY - INTERFACE_LINK_LIBRARIES N2P2::LIBNNPIF N2P2::LIBNNP) - #set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) - #set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) - set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA}) - - mark_as_advanced( - N2P2_DIR - N2P2_INCLUDE_DIR - N2P2_LIBNNP - N2P2_LIBNNPIF - N2P2_CMAKE_EXTRA - ) + if (NOT TARGET N2P2::N2P2) + add_library(N2P2::LIBNNP UNKNOWN IMPORTED) + set_target_properties(N2P2::LIBNNP PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} + IMPORTED_LOCATION ${N2P2_LIBNNP}) + add_library(N2P2::LIBNNPIF UNKNOWN IMPORTED) + set_target_properties(N2P2::LIBNNPIF PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} + IMPORTED_LOCATION ${N2P2_LIBNNPIF}) + add_library(N2P2::N2P2 INTERFACE IMPORTED) + set_property(TARGET N2P2::N2P2 PROPERTY + INTERFACE_LINK_LIBRARIES N2P2::LIBNNPIF N2P2::LIBNNP) + #set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) + #set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) + set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA}) + endif() endif() + +mark_as_advanced( + N2P2_DIR + N2P2_INCLUDE_DIR + N2P2_LIBNNP + N2P2_LIBNNPIF + N2P2_CMAKE_EXTRA +) diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake index 2d5fb406be..2517e3304d 100644 --- a/cmake/Modules/Packages/USER-HDNNP.cmake +++ b/cmake/Modules/Packages/USER-HDNNP.cmake @@ -1,42 +1,41 @@ -find_package(N2P2 REQUIRED) -#target_include_directories(lammps PRIVATE ${N2P2_INCLUDE_DIRS}) -#target_link_libraries(lammps PRIVATE ${N2P2_LIBRARIES}) -target_link_libraries(lammps PRIVATE N2P2::N2P2) -include(${N2P2_CMAKE_EXTRAS}) +find_package(N2P2 QUIET) +if(N2P2_FOUND) + set(DOWNLOAD_N2P2_DEFAULT OFF) +else() + set(DOWNLOAD_N2P2_DEFAULT ON) +endif() +option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT}) +if(DOWNLOAD_N2P2) + set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.2.tar.gz" CACHE STRING "URL for n2p2 tarball") + set(N2P2_MD5 "20cf194d14b1f1c72f38879bafda67e2" CACHE STRING "MD5 checksum of N2P2 tarball") + mark_as_advanced(N2P2_URL) + mark_as_advanced(N2P2_MD5) -#find_package(N2P2 QUIET) -#if(N2P2_FOUND) -# set(DOWNLOAD_N2P2_DEFAULT OFF) -#else() -# set(DOWNLOAD_N2P2_DEFAULT ON) -#endif() -#option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT}) -#if(DOWNLOAD_N2P2) -# set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.2.tar.gz" CACHE STRING "URL for n2p2 tarball") -# set(N2P2_MD5 "20cf194d14b1f1c72f38879bafda67e2" CACHE STRING "MD5 checksum of N2P2 tarball") -# mark_as_advanced(N2P2_URL) -# mark_as_advanced(N2P2_MD5) -# -# include(ExternalProject) -# ExternalProject_Add(n2p2_build -# URL ${N2P2_URL} -# URL_MD5 ${N2P2_MD5} -# SOURCE_SUBDIR src/ -# BUILD_COMMAND make libnnpif -# INSTALL_COMMAND "" -# BUILD_BYPRODUCTS /lib/libnnp.a /lib/libnnpif.a -# ) -# ExternalProject_get_property(n2p2_build INSTALL_DIR) -# add_library(LAMMPS::N2P2 UNKNOWN IMPORTED) -# set_target_properties(LAMMPS::N2P2 PROPERTIES -# IMPORTED_LOCATION "${INSTALL_DIR}/lib/libnnp.a" -# INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include") -# target_link_libraries(lammps PRIVATE LAMMPS::N2P2) -# add_dependencies(LAMMPS::N2P2 n2p2_build) -#else() -# find_package(N2P2) -# if(NOT N2P2_FOUND) -# message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it") -# endif() -# target_link_libraries(lammps PRIVATE N2P2::N2P2) -#endif() + include(ExternalProject) + ExternalProject_Add(n2p2_build + DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} + URL ${N2P2_URL} + URL_MD5 ${N2P2_MD5} + UPDATE_COMMAND "" + SOURCE_SUBDIR src/ + BUILD_IN_SOURCE 1 + CONFIGURE_COMMAND "" + BUILD_COMMAND "make libnnpif" + INSTALL_COMMAND "" + #BUILD_BYPRODUCTS /lib/libnnp.a /lib/libnnpif.a + ) + ExternalProject_get_property(n2p2_build INSTALL_DIR) + add_library(LAMMPS::N2P2 STATIC IMPORTED GLOBAL) + set_target_properties(LAMMPS::N2P2 PROPERTIES + IMPORTED_LOCATION "${INSTALL_DIR}/lib/libnnp.a" + INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include") + target_link_libraries(lammps PRIVATE LAMMPS::N2P2) + add_dependencies(LAMMPS::N2P2 n2p2_build) +else() + find_package(N2P2) + if(NOT N2P2_FOUND) + message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it") + endif() + target_link_libraries(lammps PRIVATE N2P2::N2P2) + include(${N2P2_CMAKE_EXTRAS}) +endif() From 60c2d8ea5bdf8d68aab9d1e8749e6ab28367f011 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 18:33:37 -0400 Subject: [PATCH 142/542] rather than replicate code, expand format to string and call original function --- src/utils.cpp | 7 +++++-- unittest/formats/test_file_operations.cpp | 12 +++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 809e625a29..2dcf77eacd 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -134,8 +134,11 @@ void utils::logmesg(LAMMPS *lmp, const std::string &mesg) void utils::fmtargs_logmesg(LAMMPS *lmp, fmt::string_view format, fmt::format_args args) { - if (lmp->screen) fmt::vprint(lmp->screen, format, args); - if (lmp->logfile) fmt::vprint(lmp->logfile, format, args); + try { + logmesg(lmp, fmt::vformat(format, args)); + } catch (fmt::format_error &e) { + logmesg(lmp, std::string(e.what())+"\n"); + } } /* define this here, so we won't have to include the headers diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index fe2bf2d2f6..392ca04656 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -126,7 +126,7 @@ TEST_F(FileOperationsTest, safe_fread) TEST_F(FileOperationsTest, logmesg) { - char buf[16]; + char buf[64]; BEGIN_HIDE_OUTPUT(); command("echo none"); END_HIDE_OUTPUT(); @@ -135,14 +135,16 @@ TEST_F(FileOperationsTest, logmesg) command("log test_logmesg.log"); utils::logmesg(lmp, "two\n"); utils::logmesg(lmp, "three={}\n",3); + utils::logmesg(lmp, "four {}\n"); + utils::logmesg(lmp, "five\n",5); command("log none"); std::string out = END_CAPTURE_OUTPUT(); - memset(buf, 0, 16); + memset(buf, 0, 64); FILE *fp = fopen("test_logmesg.log", "r"); - fread(buf, 1, 16, fp); + fread(buf, 1, 64, fp); fclose(fp); - ASSERT_THAT(out, StrEq("one\ntwo\nthree=3\n")); - ASSERT_THAT(buf, StrEq("two\nthree=3\n")); + ASSERT_THAT(out, StrEq("one\ntwo\nthree=3\nargument not found\nfive\n")); + ASSERT_THAT(buf, StrEq("two\nthree=3\nargument not found\nfive\n")); remove("test_logmesg.log"); } From 4e25204296ef4dbdd9c908965a544adc1e97167a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 19:04:49 -0400 Subject: [PATCH 143/542] add vararg versions of Error::all() and Error::one() plus unit tests --- src/error.cpp | 24 +++++++++++ src/error.h | 17 ++++++++ unittest/formats/test_file_operations.cpp | 51 +++++++++++++++++++++-- 3 files changed, 89 insertions(+), 3 deletions(-) diff --git a/src/error.cpp b/src/error.cpp index 0cbfa4c4a1..a67a9e5865 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -213,6 +213,30 @@ void Error::one(const std::string &file, int line, const std::string &str) #endif } +/* ---------------------------------------------------------------------- + forward vararg version to single string version +------------------------------------------------------------------------- */ + +void Error::_all(const std::string &file, int line, fmt::string_view format, + fmt::format_args args) +{ + try { + all(file,line,fmt::vformat(format, args)); + } catch (fmt::format_error &e) { + all(file,line,e.what()); + } +} + +void Error::_one(const std::string &file, int line, fmt::string_view format, + fmt::format_args args) +{ + try { + one(file,line,fmt::vformat(format, args)); + } catch (fmt::format_error &e) { + one(file,line,e.what()); + } +} + /* ---------------------------------------------------------------------- called by one proc in world only write to screen if non-nullptr on this proc since could be file diff --git a/src/error.h b/src/error.h index dedebc4148..8b71974df5 100644 --- a/src/error.h +++ b/src/error.h @@ -32,6 +32,17 @@ class Error : protected Pointers { [[ noreturn ]] void all(const std::string &, int, const std::string &); [[ noreturn ]] void one(const std::string &, int, const std::string &); + template + [[ noreturn ]] void all(const std::string &file, int line, const S &format, + Args&&... args) { + _all(file, line, format, fmt::make_args_checked(format, args...)); + } + template + [[ noreturn ]] void one(const std::string &file, int line, const S &format, + Args&&... args) { + _one(file, line, format, fmt::make_args_checked(format, args...)); + } + void warning(const std::string &, int, const std::string &, int = 1); void message(const std::string &, int, const std::string &, int = 1); [[ noreturn ]] void done(int = 0); // 1 would be fully backwards compatible @@ -44,6 +55,12 @@ class Error : protected Pointers { private: std::string last_error_message; ErrorType last_error_type; + + // internal versions that accept explicit fmtlib arguments + [[ noreturn ]] void _all(const std::string &, int, fmt::string_view, + fmt::format_args args); + [[ noreturn ]] void _one(const std::string &, int, fmt::string_view, + fmt::format_args args); #endif }; diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 392ca04656..414c2dba21 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -11,13 +11,14 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include "../testing/core.h" +#include "error.h" #include "info.h" #include "input.h" #include "lammps.h" #include "utils.h" #include "gmock/gmock.h" #include "gtest/gtest.h" -#include "../testing/core.h" #include #include @@ -134,9 +135,9 @@ TEST_F(FileOperationsTest, logmesg) utils::logmesg(lmp, "one\n"); command("log test_logmesg.log"); utils::logmesg(lmp, "two\n"); - utils::logmesg(lmp, "three={}\n",3); + utils::logmesg(lmp, "three={}\n", 3); utils::logmesg(lmp, "four {}\n"); - utils::logmesg(lmp, "five\n",5); + utils::logmesg(lmp, "five\n", 5); command("log none"); std::string out = END_CAPTURE_OUTPUT(); memset(buf, 0, 64); @@ -148,6 +149,50 @@ TEST_F(FileOperationsTest, logmesg) remove("test_logmesg.log"); } +TEST_F(FileOperationsTest, error_message_warn) +{ + char buf[64]; + BEGIN_HIDE_OUTPUT(); + command("echo none"); + command("log test_error_warn.log"); + END_HIDE_OUTPUT(); + BEGIN_CAPTURE_OUTPUT(); + lmp->error->message("testme.cpp", 10, "message me"); + lmp->error->warning("testme.cpp", 100, "warn me"); + command("log none"); + std::string out = END_CAPTURE_OUTPUT(); + memset(buf, 0, 64); + FILE *fp = fopen("test_error_warn.log", "r"); + fread(buf, 1, 64, fp); + fclose(fp); + auto msg = StrEq("message me (testme.cpp:10)\n" + "WARNING: warn me (testme.cpp:100)\n"); + ASSERT_THAT(out, msg); + ASSERT_THAT(buf, msg); + remove("test_error_warn.log"); +} + +TEST_F(FileOperationsTest, error_all_one) +{ + char buf[64]; + BEGIN_HIDE_OUTPUT(); + command("echo none"); + command("log none"); + END_HIDE_OUTPUT(); + TEST_FAILURE(".*ERROR: exit \\(testme.cpp:10\\).*", + lmp->error->all("testme.cpp", 10, "exit");); + TEST_FAILURE(".*ERROR: exit too \\(testme.cpp:10\\).*", + lmp->error->all("testme.cpp", 10, "exit {}", "too");); + TEST_FAILURE(".*ERROR: argument not found \\(testme.cpp:10\\).*", + lmp->error->all("testme.cpp", 10, "exit {} {}", "too");); + TEST_FAILURE(".*ERROR on proc 0: exit \\(testme.cpp:10\\).*", + lmp->error->one("testme.cpp", 10, "exit");); + TEST_FAILURE(".*ERROR on proc 0: exit too \\(testme.cpp:10\\).*", + lmp->error->one("testme.cpp", 10, "exit {}", "too");); + TEST_FAILURE(".*ERROR on proc 0: argument not found \\(testme.cpp:10\\).*", + lmp->error->one("testme.cpp", 10, "exit {} {}", "too");); +} + int main(int argc, char **argv) { MPI_Init(&argc, &argv); From 831b0fb70fe56919d56de5d28c5813e11db8540d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 19:26:38 -0400 Subject: [PATCH 144/542] correct misplaced [[noreturn]] --- src/error.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/error.h b/src/error.h index 8b71974df5..cd42426501 100644 --- a/src/error.h +++ b/src/error.h @@ -33,12 +33,12 @@ class Error : protected Pointers { [[ noreturn ]] void all(const std::string &, int, const std::string &); [[ noreturn ]] void one(const std::string &, int, const std::string &); template - [[ noreturn ]] void all(const std::string &file, int line, const S &format, + void all(const std::string &file, int line, const S &format, Args&&... args) { _all(file, line, format, fmt::make_args_checked(format, args...)); } template - [[ noreturn ]] void one(const std::string &file, int line, const S &format, + void one(const std::string &file, int line, const S &format, Args&&... args) { _one(file, line, format, fmt::make_args_checked(format, args...)); } From 4cbe6200d61ec035b5be3baa1100111b050f86ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 21:02:01 -0400 Subject: [PATCH 145/542] correct declaration --- src/error.cpp | 2 ++ src/error.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/error.cpp b/src/error.cpp index a67a9e5865..a6aaf5a360 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -225,6 +225,7 @@ void Error::_all(const std::string &file, int line, fmt::string_view format, } catch (fmt::format_error &e) { all(file,line,e.what()); } + exit(1); // to trick "smart" compilers into believing this does not return } void Error::_one(const std::string &file, int line, fmt::string_view format, @@ -235,6 +236,7 @@ void Error::_one(const std::string &file, int line, fmt::string_view format, } catch (fmt::format_error &e) { one(file,line,e.what()); } + exit(1); // to trick "smart" compilers into believing this does not return } /* ---------------------------------------------------------------------- diff --git a/src/error.h b/src/error.h index cd42426501..36b36669a4 100644 --- a/src/error.h +++ b/src/error.h @@ -56,12 +56,13 @@ class Error : protected Pointers { std::string last_error_message; ErrorType last_error_type; +#endif + private: // internal versions that accept explicit fmtlib arguments [[ noreturn ]] void _all(const std::string &, int, fmt::string_view, fmt::format_args args); [[ noreturn ]] void _one(const std::string &, int, fmt::string_view, fmt::format_args args); -#endif }; } From e9e0bb71b6aec7979af452ae8c5ceb755c9f1b11 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Apr 2021 21:30:51 -0400 Subject: [PATCH 146/542] Use varargs version of Error:all() and Error::one() where applicable --- src/BODY/fix_wall_body_polygon.cpp | 2 +- src/BODY/fix_wall_body_polyhedron.cpp | 2 +- src/BODY/pair_body_rounded_polygon.cpp | 4 +- src/BODY/pair_body_rounded_polyhedron.cpp | 8 +- src/COMPRESS/dump_atom_gz.cpp | 2 +- src/COMPRESS/dump_atom_zstd.cpp | 2 +- src/COMPRESS/dump_cfg_gz.cpp | 2 +- src/COMPRESS/dump_custom_gz.cpp | 2 +- src/COMPRESS/dump_custom_zstd.cpp | 2 +- src/COMPRESS/dump_local_gz.cpp | 2 +- src/COMPRESS/dump_local_zstd.cpp | 2 +- src/COMPRESS/dump_xyz_gz.cpp | 2 +- src/COMPRESS/dump_xyz_zstd.cpp | 2 +- src/KIM/kim_command.cpp | 2 +- src/KIM/kim_init.cpp | 16 +- src/KIM/kim_interactions.cpp | 12 +- src/KIM/kim_param.cpp | 4 +- src/KIM/kim_query.cpp | 8 +- src/KIM/pair_kim.cpp | 28 +-- src/KOKKOS/fix_shake_kokkos.cpp | 4 +- src/KOKKOS/pppm_kokkos.cpp | 2 +- src/KSPACE/pppm.cpp | 2 +- src/KSPACE/pppm_dipole.cpp | 4 +- src/KSPACE/pppm_dipole_spin.cpp | 4 +- src/KSPACE/pppm_disp.cpp | 4 +- src/MANYBODY/pair_airebo.cpp | 4 +- src/MANYBODY/pair_bop.cpp | 4 +- src/MANYBODY/pair_eam_cd.cpp | 4 +- src/MANYBODY/pair_eim.cpp | 2 +- src/MISC/fix_ttm.cpp | 8 +- src/MLIAP/mliap_descriptor_snap.cpp | 4 +- src/MLIAP/mliap_model.cpp | 12 +- src/MLIAP/mliap_model_nn.cpp | 8 +- src/MOLECULE/fix_cmap.cpp | 10 +- src/PYTHON/pair_python.cpp | 4 +- src/PYTHON/python_impl.cpp | 8 +- src/QEQ/fix_qeq.cpp | 4 +- src/QEQ/fix_qeq_point.cpp | 4 +- src/QEQ/fix_qeq_shielded.cpp | 4 +- src/QEQ/fix_qeq_slater.cpp | 4 +- src/RIGID/fix_rigid.cpp | 8 +- src/RIGID/fix_rigid_small.cpp | 12 +- src/RIGID/fix_shake.cpp | 12 +- src/SNAP/pair_snap.cpp | 24 +-- src/USER-BOCS/compute_pressure_bocs.cpp | 2 +- src/USER-BOCS/fix_bocs.cpp | 4 +- src/USER-COLVARS/group_ndx.cpp | 4 +- src/USER-COLVARS/ndx_group.cpp | 4 +- src/USER-DIFFRACTION/fix_saed_vtk.cpp | 8 +- src/USER-DPD/pair_exp6_rx.cpp | 4 +- src/USER-MANIFOLD/fix_manifoldforce.cpp | 8 +- src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp | 6 +- src/USER-MEAMC/pair_meamc.cpp | 22 +-- src/USER-MESONT/pair_mesocnt.cpp | 14 +- src/USER-MISC/dihedral_table.cpp | 18 +- src/USER-MISC/dihedral_table_cut.cpp | 14 +- src/USER-MISC/fix_orient_eco.cpp | 4 +- src/USER-MISC/fix_ttm_mod.cpp | 8 +- src/USER-NETCDF/dump_netcdf.cpp | 4 +- src/USER-NETCDF/dump_netcdf_mpiio.cpp | 4 +- src/USER-OMP/reaxc_init_md_omp.cpp | 20 +- src/USER-PACE/pair_pace.cpp | 6 +- src/USER-PHONON/fix_phonon.cpp | 8 +- src/USER-QUIP/pair_quip.cpp | 4 +- src/USER-REAXC/reaxc_init_md.cpp | 20 +- src/atom_vec.cpp | 6 +- src/balance.cpp | 9 +- src/bond.cpp | 8 +- src/create_bonds.cpp | 4 +- src/dump_movie.cpp | 4 +- src/fix.cpp | 3 +- src/fix_ave_chunk.cpp | 4 +- src/fix_ave_correlate.cpp | 4 +- src/fix_ave_histo.cpp | 4 +- src/fix_ave_time.cpp | 4 +- src/fix_enforce2d.cpp | 4 +- src/fix_print.cpp | 4 +- src/fix_property_atom.cpp | 12 +- src/fix_restrain.cpp | 32 +-- src/fix_tmd.cpp | 8 +- src/force.cpp | 4 +- src/group.cpp | 4 +- src/input.cpp | 28 +-- src/lammps.cpp | 32 +-- src/library.cpp | 14 +- src/memory.cpp | 12 +- src/modify.cpp | 10 +- src/molecule.cpp | 182 +++++++++--------- src/ntopo_angle_all.cpp | 4 +- src/ntopo_angle_partial.cpp | 4 +- src/ntopo_angle_template.cpp | 4 +- src/ntopo_bond_all.cpp | 4 +- src/ntopo_bond_partial.cpp | 4 +- src/ntopo_bond_template.cpp | 4 +- src/ntopo_dihedral_all.cpp | 4 +- src/ntopo_dihedral_partial.cpp | 4 +- src/ntopo_dihedral_template.cpp | 4 +- src/ntopo_improper_all.cpp | 4 +- src/ntopo_improper_partial.cpp | 4 +- src/ntopo_improper_template.cpp | 4 +- src/pair.cpp | 8 +- src/pair_hybrid.cpp | 4 +- src/pair_hybrid_scaled.cpp | 12 +- src/pair_table.cpp | 18 +- src/potential_file_reader.cpp | 8 +- src/procmap.cpp | 8 +- src/read_data.cpp | 10 +- src/read_restart.cpp | 12 +- src/reader.cpp | 4 +- src/reset_atom_ids.cpp | 4 +- src/thermo.cpp | 4 +- src/universe.cpp | 8 +- src/utils.cpp | 8 +- src/variable.cpp | 24 +-- src/write_coeff.cpp | 8 +- src/write_data.cpp | 4 +- src/write_restart.cpp | 8 +- 117 files changed, 522 insertions(+), 524 deletions(-) diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 027c0dbd5a..574138fc67 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -97,7 +97,7 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : lo = hi = 0.0; cylradius = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; - } else error->all(FLERR,fmt::format("Unknown wall style {}",arg[iarg])); + } else error->all(FLERR,"Unknown wall style {}",arg[iarg]); // check for trailing keyword/values diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index acfafaefbe..2958a715ac 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -99,7 +99,7 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; - } else error->all(FLERR,fmt::format("Unknown wall style {}",arg[iarg])); + } else error->all(FLERR,"Unknown wall style {}",arg[iarg]); // check for trailing keyword/values diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index fa8f7fed3e..7185dc2b54 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -570,8 +570,8 @@ void PairBodyRoundedPolygon::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,fmt::format("Inconsistent edge data for body of atom {}", - atom->tag[i])); + error->one(FLERR,"Inconsistent edge data for body of atom {}", + atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 3dbca5be7a..d9d1350329 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -557,8 +557,8 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,fmt::format("Inconsistent edge data for body of atom {}", - atom->tag[i])); + error->one(FLERR,"Inconsistent edge data for body of atom {}", + atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); @@ -584,8 +584,8 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_faces > 0) && (face_pts == nullptr)) - error->one(FLERR,fmt::format("Inconsistent face data for body of atom {}", - atom->tag[i])); + error->one(FLERR,"Inconsistent face data for body of atom {}", + atom->tag[i]); for (int m = 0; m < body_num_faces; m++) { for (int k = 0; k < MAX_FACE_SIZE; k++) diff --git a/src/COMPRESS/dump_atom_gz.cpp b/src/COMPRESS/dump_atom_gz.cpp index 7b54fd8e62..73f1ddf5a2 100644 --- a/src/COMPRESS/dump_atom_gz.cpp +++ b/src/COMPRESS/dump_atom_gz.cpp @@ -194,7 +194,7 @@ int DumpAtomGZ::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_atom_zstd.cpp b/src/COMPRESS/dump_atom_zstd.cpp index b53ebb2269..430deda177 100644 --- a/src/COMPRESS/dump_atom_zstd.cpp +++ b/src/COMPRESS/dump_atom_zstd.cpp @@ -208,7 +208,7 @@ int DumpAtomZstd::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_cfg_gz.cpp b/src/COMPRESS/dump_cfg_gz.cpp index c5942c1fc5..25328797dd 100644 --- a/src/COMPRESS/dump_cfg_gz.cpp +++ b/src/COMPRESS/dump_cfg_gz.cpp @@ -234,7 +234,7 @@ int DumpCFGGZ::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_custom_gz.cpp b/src/COMPRESS/dump_custom_gz.cpp index 9a3fc39d0a..9ed5a10b02 100644 --- a/src/COMPRESS/dump_custom_gz.cpp +++ b/src/COMPRESS/dump_custom_gz.cpp @@ -194,7 +194,7 @@ int DumpCustomGZ::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_custom_zstd.cpp b/src/COMPRESS/dump_custom_zstd.cpp index b3f0971bf5..073e39a87e 100644 --- a/src/COMPRESS/dump_custom_zstd.cpp +++ b/src/COMPRESS/dump_custom_zstd.cpp @@ -213,7 +213,7 @@ int DumpCustomZstd::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_local_gz.cpp b/src/COMPRESS/dump_local_gz.cpp index 7ffb8d80ff..9c6c06e65a 100644 --- a/src/COMPRESS/dump_local_gz.cpp +++ b/src/COMPRESS/dump_local_gz.cpp @@ -194,7 +194,7 @@ int DumpLocalGZ::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_local_zstd.cpp b/src/COMPRESS/dump_local_zstd.cpp index 4d7fe9361b..f20dc5016c 100644 --- a/src/COMPRESS/dump_local_zstd.cpp +++ b/src/COMPRESS/dump_local_zstd.cpp @@ -211,7 +211,7 @@ int DumpLocalZstd::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_xyz_gz.cpp b/src/COMPRESS/dump_xyz_gz.cpp index abd6e7fa78..1a51432d83 100644 --- a/src/COMPRESS/dump_xyz_gz.cpp +++ b/src/COMPRESS/dump_xyz_gz.cpp @@ -159,7 +159,7 @@ int DumpXYZGZ::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/COMPRESS/dump_xyz_zstd.cpp b/src/COMPRESS/dump_xyz_zstd.cpp index 74e482717b..8866dcfffb 100644 --- a/src/COMPRESS/dump_xyz_zstd.cpp +++ b/src/COMPRESS/dump_xyz_zstd.cpp @@ -176,7 +176,7 @@ int DumpXYZZstd::modify_param(int narg, char **arg) return 2; } } catch (FileWriterException &e) { - error->one(FLERR, fmt::format("Illegal dump_modify command: {}", e.what())); + error->one(FLERR,"Illegal dump_modify command: {}", e.what()); } } return consumed; diff --git a/src/KIM/kim_command.cpp b/src/KIM/kim_command.cpp index 88072d1fda..2de86556b3 100644 --- a/src/KIM/kim_command.cpp +++ b/src/KIM/kim_command.cpp @@ -131,5 +131,5 @@ void KimCommand::command(int narg, char **arg) KimQuery *cmd = new KimQuery(lmp); cmd->command(narg, arg); delete cmd; - } else error->all(FLERR, fmt::format("Unknown kim subcommand {}", subcmd)); + } else error->all(FLERR,"Unknown kim subcommand {}", subcmd); } diff --git a/src/KIM/kim_init.cpp b/src/KIM/kim_init.cpp index 2703ce24e0..f22335b411 100644 --- a/src/KIM/kim_init.cpp +++ b/src/KIM/kim_init.cpp @@ -93,10 +93,10 @@ void KimInit::command(int narg, char **arg) auto arg_str = std::string(arg[2]); if (arg_str == "unit_conversion_mode") unit_conversion_mode = true; else { - error->all(FLERR, fmt::format("Illegal 'kim init' command.\nThe argument " + error->all(FLERR, "Illegal 'kim init' command.\nThe argument " "followed by unit_style {} is an optional " "argument and when is used must " - "be unit_conversion_mode", user_units)); + "be unit_conversion_mode", user_units); } } else unit_conversion_mode = false; @@ -159,8 +159,8 @@ void get_kim_unit_names( } else if ((system_str == "lj") || (system_str == "micro") || (system_str == "nano")) { - error->all(FLERR, fmt::format("LAMMPS unit_style {} not supported " - "by KIM models", system_str)); + error->all(FLERR, "LAMMPS unit_style {} not supported " + "by KIM models", system_str); } else { error->all(FLERR, "Unknown unit_style"); } @@ -279,8 +279,8 @@ void KimInit::determine_model_type_and_units(char * model_name, const std::string model_units_str(*model_units); const std::string user_units_str(user_units); if ((!unit_conversion_mode) && (model_units_str != user_units_str)) { - error->all(FLERR, fmt::format("Incompatible units for KIM Simulator Model" - ", required units = {}", model_units_str)); + error->all(FLERR, "Incompatible units for KIM Simulator Model" + ", required units = {}", model_units_str); } } } @@ -475,9 +475,9 @@ void KimInit::do_variables(const std::string &from, const std::string &to) ier = lammps_unit_conversion(units[i], from, to, conversion_factor); if (ier != 0) - error->all(FLERR, fmt::format("Unable to obtain conversion factor: " + error->all(FLERR, "Unable to obtain conversion factor: " "unit = {}; from = {}; to = {}", - units[i], from, to)); + units[i], from, to); variable->internal_set(v_unit, conversion_factor); input->write_echo(fmt::format("variable {:<15s} internal {:<15.12e}\n", diff --git a/src/KIM/kim_interactions.cpp b/src/KIM/kim_interactions.cpp index f12c1774d2..d1afd92a1f 100644 --- a/src/KIM/kim_interactions.cpp +++ b/src/KIM/kim_interactions.cpp @@ -102,11 +102,11 @@ void KimInteractions::do_setup(int narg, char **arg) if ((narg == 1) && (arg_str == "fixed_types")) { fixed_types = true; } else if (narg != atom->ntypes) { - error->all(FLERR, fmt::format("Illegal 'kim interactions' command.\nThe " + error->all(FLERR, "Illegal 'kim interactions' command.\nThe " "LAMMPS simulation has {} atom type(s), but " "{} chemical species passed to the " "'kim interactions' command", - atom->ntypes, narg)); + atom->ntypes, narg); } else { fixed_types = false; } @@ -164,8 +164,8 @@ void KimInteractions::do_setup(int narg, char **arg) if (atom_type_sym == sim_species) species_is_supported = true; } if (!species_is_supported) { - error->all(FLERR, fmt::format("Species '{}' is not supported by this " - "KIM Simulator Model", atom_type_sym)); + error->all(FLERR, "Species '{}' is not supported by this " + "KIM Simulator Model", atom_type_sym); } } } else { @@ -275,8 +275,8 @@ void KimInteractions::KIM_SET_TYPE_PARAMETERS(const std::string &input_line) con const std::string key = words[1]; if (key != "pair" && key != "charge") - error->one(FLERR, fmt::format("Unrecognized KEY {} for " - "KIM_SET_TYPE_PARAMETERS command", key)); + error->one(FLERR, "Unrecognized KEY {} for " + "KIM_SET_TYPE_PARAMETERS command", key); std::string filename = words[2]; std::vector species(words.begin() + 3, words.end()); diff --git a/src/KIM/kim_param.cpp b/src/KIM/kim_param.cpp index b7e3f4148e..8d3921f30c 100644 --- a/src/KIM/kim_param.cpp +++ b/src/KIM/kim_param.cpp @@ -124,8 +124,8 @@ void get_kim_unit_names( } else if ((system_str == "lj") || (system_str == "micro") || (system_str == "nano")) { - error->all(FLERR, fmt::format("LAMMPS unit_style {} not supported " - "by KIM models", system_str)); + error->all(FLERR, "LAMMPS unit_style {} not supported " + "by KIM models", system_str); } else { error->all(FLERR, "Unknown unit_style"); } diff --git a/src/KIM/kim_query.cpp b/src/KIM/kim_query.cpp index 74b0179302..05381b8fab 100644 --- a/src/KIM/kim_query.cpp +++ b/src/KIM/kim_query.cpp @@ -126,20 +126,20 @@ void KimQuery::command(int narg, char **arg) std::string query_function(arg[1]); if (query_function == "split" || query_function == "list" || query_function == "index") - error->all(FLERR, fmt::format("Illegal 'kim query' command.\nThe '{}' " + error->all(FLERR, "Illegal 'kim query' command.\nThe '{}' " "keyword can not be used after '{}'", - query_function, format_arg)); + query_function, format_arg); std::string model_name; // check the query_args format (a series of keyword=value pairs) for (int i = 2; i < narg; ++i) { if (!utils::strmatch(arg[i], "[=][\\[].*[\\]]")) - error->all(FLERR, fmt::format("Illegal query format.\nInput argument " + error->all(FLERR, "Illegal query format.\nInput argument " "of `{}` to 'kim query' is wrong. The " "query format is the keyword=[value], " "where value is always an array of one or " - "more comma-separated items", arg[i])); + "more comma-separated items", arg[i]); } if (query_function != "get_available_models") { diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp index cf6374ab2d..aafc83aeaf 100644 --- a/src/KIM/pair_kim.cpp +++ b/src/KIM/pair_kim.cpp @@ -434,8 +434,8 @@ void PairKIM::coeff(int narg, char **arg) if (supported) { kim_particle_codes[i] = code; } else { - error->all(FLERR,fmt::format("GetSpeciesSupportAndCode: symbol not " - "found: {}",lmps_unique_elements[i])); + error->all(FLERR,"GetSpeciesSupportAndCode: symbol not " + "found: {}",lmps_unique_elements[i]); } } // Set the new values for PM parameters @@ -478,9 +478,9 @@ void PairKIM::coeff(int narg, char **arg) } if (param_index >= numberOfParameters) - error->all(FLERR,fmt::format("Wrong argument for pair coefficients.\n" + error->all(FLERR,"Wrong argument for pair coefficients.\n" "This Model does not have the requested " - "'{}' parameter", paramname)); + "'{}' parameter", paramname); // Get the index_range for the requested parameter int nlbound(0); @@ -491,9 +491,9 @@ void PairKIM::coeff(int narg, char **arg) // Check to see if the indices range contains only integer numbers & : if (argtostr.find_first_not_of("0123456789:") != std::string::npos) - error->all(FLERR,fmt::format("Illegal index_range.\nExpected integer" + error->all(FLERR,"Illegal index_range.\nExpected integer" " parameter(s) instead of '{}' in " - "index_range", argtostr)); + "index_range", argtostr); std::string::size_type npos = argtostr.find(':'); if (npos != std::string::npos) { @@ -504,16 +504,16 @@ void PairKIM::coeff(int narg, char **arg) if (nubound < 1 || nubound > extent || nlbound < 1 || nlbound > nubound) - error->all(FLERR,fmt::format("Illegal index_range '{}-{}' for '{}' " + error->all(FLERR,"Illegal index_range '{}-{}' for '{}' " "parameter with the extent of '{}'", - nlbound, nubound, paramname, extent)); + nlbound, nubound, paramname, extent); } else { nlbound = atoi(argtostr.c_str()); if (nlbound < 1 || nlbound > extent) - error->all(FLERR,fmt::format("Illegal index '{}' for '{}' parameter " + error->all(FLERR,"Illegal index '{}' for '{}' parameter " "with the extent of '{}'", nlbound, - paramname, extent)); + paramname, extent); nubound = nlbound; } @@ -543,10 +543,10 @@ void PairKIM::coeff(int narg, char **arg) } else error->all(FLERR,"Wrong parameter type to update"); } else { - error->all(FLERR,fmt::format("Wrong number of variable values for pair " + error->all(FLERR,"Wrong number of variable values for pair " "coefficients.\n'{}' values are requested " "for '{}' parameter", nubound - nlbound + 1, - paramname)); + paramname); } } @@ -1052,8 +1052,8 @@ void PairKIM::set_lmps_flags() } else if ((unit_style_str == "lj") || (unit_style_str == "micro") || (unit_style_str == "nano")) { - error->all(FLERR,fmt::format("LAMMPS unit_style {} not supported " - "by KIM models", unit_style_str)); + error->all(FLERR,"LAMMPS unit_style {} not supported " + "by KIM models", unit_style_str); } else { error->all(FLERR,"Unknown unit_style"); } diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 253c7ee7e0..fced6297f6 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -285,8 +285,8 @@ void FixShakeKokkos::pre_neighbor() nlist = h_nlist(); if (h_error_flag() == 1) { - error->one(FLERR,fmt::format("Shake atoms missing on proc " - "{} at step {}",me,update->ntimestep)); + error->one(FLERR,"Shake atoms missing on proc " + "{} at step {}",me,update->ntimestep); } } diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 9dc2416dcc..e5bc3fa74b 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -199,7 +199,7 @@ void PPPMKokkos::init() } if (order < 2 || order > MAXORDER) - error->all(FLERR,fmt::format("PPPM order cannot be < 2 or > {}",MAXORDER)); + error->all(FLERR,"PPPM order cannot be < 2 or > {}",MAXORDER); // compute two charge force diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 2419627642..3a96731be4 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -216,7 +216,7 @@ void PPPM::init() } if (order < 2 || order > MAXORDER) - error->all(FLERR,fmt::format("PPPM order cannot be < 2 or > {}",MAXORDER)); + error->all(FLERR,"PPPM order cannot be < 2 or > {}",MAXORDER); // compute two charge force diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 44c3862b2f..8078c24f90 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -136,8 +136,8 @@ void PPPMDipole::init() } if (order < 2 || order > MAXORDER) - error->all(FLERR,fmt::format("PPPMDipole order cannot be < 2 or > {}", - MAXORDER)); + error->all(FLERR,"PPPMDipole order cannot be < 2 or > {}", + MAXORDER); // compute two charge force diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index 9b3d15fc76..daaacc6bd4 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -121,8 +121,8 @@ void PPPMDipoleSpin::init() } if (order < 2 || order > MAXORDER) - error->all(FLERR,fmt::format("PPPMDipoleSpin order cannot be < 2 or > {}", - MAXORDER)); + error->all(FLERR,"PPPMDipoleSpin order cannot be < 2 or > {}", + MAXORDER); // compute two charge force diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 1844301ac5..eba653e7d7 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -278,8 +278,8 @@ void PPPMDisp::init() } if (order > MAXORDER || order_6 > MAXORDER) - error->all(FLERR,fmt::format("PPPMDisp coulomb or dispersion order cannot" - " be greater than {}",MAXORDER)); + error->all(FLERR,"PPPMDisp coulomb or dispersion order cannot" + " be greater than {}",MAXORDER); // compute two charge force diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 7d94ef7cec..058a769b14 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -3379,7 +3379,7 @@ void PairAIREBO::read_file(char *filename) break; default: - error->one(FLERR, fmt::format("Unknown REBO style variant {}",variant)); + error->one(FLERR,"Unknown REBO style variant {}",variant); } PotentialFileReader reader(lmp, filename, potential_name); @@ -3391,7 +3391,7 @@ void PairAIREBO::read_file(char *filename) char * line = reader.next_line(); if (std::string(line).find(header) == std::string::npos) { - error->one(FLERR, fmt::format("Potential file does not match AIREBO/REBO style variant: {}: {}", header, line)); + error->one(FLERR,"Potential file does not match AIREBO/REBO style variant: {}: {}", header, line); } // skip remaining comments diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp index a8f64853bc..0802191c9f 100644 --- a/src/MANYBODY/pair_bop.cpp +++ b/src/MANYBODY/pair_bop.cpp @@ -685,8 +685,8 @@ void PairBOP::init_style() // check that user sets comm->cutghostuser to 3x the max BOP cutoff if (comm->cutghostuser < 3.0*cutmax - EPSILON) - error->all(FLERR,fmt::format("Pair style bop requires comm ghost cutoff " - "at least 3x larger than {}",cutmax)); + error->all(FLERR,"Pair style bop requires comm ghost cutoff " + "at least 3x larger than {}",cutmax); // need a full neighbor list and neighbors of ghosts diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index b56166424c..da4d2b2c65 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -506,8 +506,8 @@ void PairEAMCD::read_h_coeff(char *filename) int convert_flag = unit_convert_flag; fptr = utils::open_potential(filename, lmp, &convert_flag); if (fptr == nullptr) - error->one(FLERR,fmt::format("Cannot open EAMCD potential file {}", - filename)); + error->one(FLERR,"Cannot open EAMCD potential file {}", + filename); // h coefficients are stored at the end of the file. // Skip to last line of file. diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp index eda1838a5a..a868ac2fc0 100644 --- a/src/MANYBODY/pair_eim.cpp +++ b/src/MANYBODY/pair_eim.cpp @@ -1013,7 +1013,7 @@ EIMPotentialFileReader::EIMPotentialFileReader(LAMMPS *lmp, conversion_factor = utils::get_conversion_factor(utils::ENERGY,unit_convert); if (fp == nullptr) { - error->one(FLERR, fmt::format("cannot open eim potential file {}", filename)); + error->one(FLERR,"cannot open eim potential file {}", filename); } parse(fp); diff --git a/src/MISC/fix_ttm.cpp b/src/MISC/fix_ttm.cpp index da71d736c2..87832bd0f9 100644 --- a/src/MISC/fix_ttm.cpp +++ b/src/MISC/fix_ttm.cpp @@ -75,8 +75,8 @@ FixTTM::FixTTM(LAMMPS *lmp, int narg, char **arg) : if (comm->me == 0) { fp = fopen(arg[15],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open output file {}: {}", - arg[15], utils::getsyserror())); + error->one(FLERR,"Cannot open output file {}: {}", + arg[15], utils::getsyserror()); } } @@ -331,8 +331,8 @@ void FixTTM::read_initial_electron_temperatures(const char *filename) std::string name = utils::get_potential_file_path(filename); if (name.empty()) - error->one(FLERR,fmt::format("Cannot open input file: {}", - filename)); + error->one(FLERR,"Cannot open input file: {}", + filename); FILE *fpr = fopen(name.c_str(),"r"); // read initial electron temperature values from file diff --git a/src/MLIAP/mliap_descriptor_snap.cpp b/src/MLIAP/mliap_descriptor_snap.cpp index 5c73cb64df..098d9ccbba 100644 --- a/src/MLIAP/mliap_descriptor_snap.cpp +++ b/src/MLIAP/mliap_descriptor_snap.cpp @@ -379,8 +379,8 @@ void MLIAPDescriptorSNAP::read_paramfile(char *paramfilename) if (comm->me == 0) { fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == nullptr) - error->one(FLERR,fmt::format("Cannot open SNAP parameter file {}: {}", - paramfilename, utils::getsyserror())); + error->one(FLERR,"Cannot open SNAP parameter file {}: {}", + paramfilename, utils::getsyserror()); } char line[MAXLINE],*ptr; diff --git a/src/MLIAP/mliap_model.cpp b/src/MLIAP/mliap_model.cpp index f993aeb725..214ac3358c 100644 --- a/src/MLIAP/mliap_model.cpp +++ b/src/MLIAP/mliap_model.cpp @@ -98,8 +98,8 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) if (comm->me == 0) { fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); if (fpcoeff == nullptr) - error->one(FLERR,fmt::format("Cannot open MLIAPModel coeff file {}: {}", - coefffilename,utils::getsyserror())); + error->one(FLERR,"Cannot open MLIAPModel coeff file {}: {}", + coefffilename,utils::getsyserror()); } char line[MAXLINE],*ptr; @@ -136,8 +136,8 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) nelements = coeffs.next_int(); nparams = coeffs.next_int(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect format in MLIAPModel coefficient " - "file: {}",e.what())); + error->all(FLERR,"Incorrect format in MLIAPModel coefficient " + "file: {}",e.what()); } // set up coeff lists @@ -168,8 +168,8 @@ void MLIAPModelSimple::read_coeffs(char *coefffilename) throw TokenizerException("Wrong number of items",""); coeffelem[ielem][icoeff] = coeffs.next_double(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect format in MLIAPModel " - "coefficient file: {}",e.what())); + error->all(FLERR,"Incorrect format in MLIAPModel " + "coefficient file: {}",e.what()); } } } diff --git a/src/MLIAP/mliap_model_nn.cpp b/src/MLIAP/mliap_model_nn.cpp index 3805a5761b..fcc62c3059 100644 --- a/src/MLIAP/mliap_model_nn.cpp +++ b/src/MLIAP/mliap_model_nn.cpp @@ -73,8 +73,8 @@ void MLIAPModelNN::read_coeffs(char *coefffilename) if (comm->me == 0) { fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); if (fpcoeff == nullptr) - error->one(FLERR,fmt::format("Cannot open MLIAPModel coeff file {}: {}", - coefffilename,utils::getsyserror())); + error->one(FLERR,"Cannot open MLIAPModel coeff file {}: {}", + coefffilename,utils::getsyserror()); } char line[MAXLINE], *ptr, *tstr; @@ -111,8 +111,8 @@ void MLIAPModelNN::read_coeffs(char *coefffilename) nelements = coeffs.next_int(); nparams = coeffs.next_int(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect format in MLIAPModel coefficient " - "file: {}",e.what())); + error->all(FLERR,"Incorrect format in MLIAPModel coefficient " + "file: {}",e.what()); } // set up coeff lists diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index 1b58037eb7..9400da3389 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -260,11 +260,11 @@ void FixCMAP::pre_neighbor() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1 || atom5 == -1) - error->one(FLERR,fmt::format("CMAP atoms {} {} {} {} {} missing on " + error->one(FLERR,"CMAP atoms {} {} {} {} {} missing on " "proc {} at step {}", crossterm_atom1[i][m],crossterm_atom2[i][m], crossterm_atom3[i][m],crossterm_atom4[i][m], - crossterm_atom5[i][m],me,update->ntimestep)); + crossterm_atom5[i][m],me,update->ntimestep); atom1 = domain->closest_image(i,atom1); atom2 = domain->closest_image(i,atom2); atom3 = domain->closest_image(i,atom3); @@ -640,8 +640,8 @@ void FixCMAP::read_grid_map(char *cmapfile) if (comm->me == 0) { fp = utils::open_potential(cmapfile,lmp,nullptr); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix cmap file {}: {}", - cmapfile, utils::getsyserror())); + error->one(FLERR,"Cannot open fix cmap file {}: {}", + cmapfile, utils::getsyserror()); } @@ -1071,7 +1071,7 @@ void FixCMAP::read_data_section(char *keyword, int n, char *buf, *next = '\n'; if (nwords != 7) - error->all(FLERR,fmt::format("Incorrect {} format in data file",keyword)); + error->all(FLERR,"Incorrect {} format in data file",keyword); // loop over lines of CMAP crossterms // tokenize the line into values diff --git a/src/PYTHON/pair_python.cpp b/src/PYTHON/pair_python.cpp index 5020119e0d..adf7e2bb49 100644 --- a/src/PYTHON/pair_python.cpp +++ b/src/PYTHON/pair_python.cpp @@ -382,11 +382,11 @@ void * PairPython::get_member_function(const char * name) PyObject * py_mfunc = PyObject_GetAttrString(py_pair_instance, name); if (!py_mfunc) { PyUtils::Print_Errors(); - error->all(FLERR, fmt::format("Could not find '{}' method'", name)); + error->all(FLERR,"Could not find '{}' method'", name); } if (!PyCallable_Check(py_mfunc)) { PyUtils::Print_Errors(); - error->all(FLERR, fmt::format("Python '{}' is not callable", name)); + error->all(FLERR,"Python '{}' is not callable", name); } return py_mfunc; } diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index c84d04b4b7..e2484f62f7 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -263,14 +263,14 @@ void PythonImpl::command(int narg, char **arg) if (!pFunc) { PyUtils::Print_Errors(); - error->all(FLERR,fmt::format("Could not find Python function {}", - pfuncs[ifunc].name)); + error->all(FLERR,"Could not find Python function {}", + pfuncs[ifunc].name); } if (!PyCallable_Check(pFunc)) { PyUtils::Print_Errors(); - error->all(FLERR,fmt::format("Python function {} is not callable", - pfuncs[ifunc].name)); + error->all(FLERR,"Python function {} is not callable", + pfuncs[ifunc].name); } pfuncs[ifunc].pFunc = (void *) pFunc; diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index e592ed2af4..fe6948c6a0 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -707,8 +707,8 @@ void FixQEq::read_file(char *file) if (comm->me == 0) { fp = utils::open_potential(file,lmp,nullptr); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix qeq parameter file {}: {}", - file,utils::getsyserror())); + error->one(FLERR,"Cannot open fix qeq parameter file {}: {}", + file,utils::getsyserror()); } // read each line out of file, skipping blank lines or leading '#' diff --git a/src/QEQ/fix_qeq_point.cpp b/src/QEQ/fix_qeq_point.cpp index ac31f906e0..9cea930de9 100644 --- a/src/QEQ/fix_qeq_point.cpp +++ b/src/QEQ/fix_qeq_point.cpp @@ -161,8 +161,8 @@ void FixQEqPoint::compute_H() } if (m_fill >= H.m) - error->all(FLERR,fmt::format("Fix qeq/point has insufficient H matrix " - "size: m_fill={} H.m={}\n",m_fill, H.m)); + error->all(FLERR,"Fix qeq/point has insufficient H matrix " + "size: m_fill={} H.m={}\n",m_fill, H.m); } /* ---------------------------------------------------------------------- */ diff --git a/src/QEQ/fix_qeq_shielded.cpp b/src/QEQ/fix_qeq_shielded.cpp index ad6202abd8..3c1cfb2919 100644 --- a/src/QEQ/fix_qeq_shielded.cpp +++ b/src/QEQ/fix_qeq_shielded.cpp @@ -226,8 +226,8 @@ void FixQEqShielded::compute_H() } if (m_fill >= H.m) - error->all(FLERR,fmt::format("Fix qeq/shielded has insufficient H matrix " - "size: m_fill={} H.m={}\n",m_fill,H.m)); + error->all(FLERR,"Fix qeq/shielded has insufficient H matrix " + "size: m_fill={} H.m={}\n",m_fill,H.m); } /* ---------------------------------------------------------------------- */ diff --git a/src/QEQ/fix_qeq_slater.cpp b/src/QEQ/fix_qeq_slater.cpp index 326d71c93b..73f7cdf879 100644 --- a/src/QEQ/fix_qeq_slater.cpp +++ b/src/QEQ/fix_qeq_slater.cpp @@ -209,8 +209,8 @@ void FixQEqSlater::compute_H() } if (m_fill >= H.m) - error->all(FLERR,fmt::format(FLERR,"Fix qeq/slater has insufficient H " - "matrix size:m_fill={} H.m={}\n",m_fill,H.m)); + error->all(FLERR,FLERR,"Fix qeq/slater has insufficient H " + "matrix size:m_fill={} H.m={}\n",m_fill,H.m); } /* ---------------------------------------------------------------------- */ diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 91cb0ce82c..582d4ed3f5 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -2280,8 +2280,8 @@ void FixRigid::readfile(int which, double *vec, if (me == 0) { fp = fopen(inpfile,"r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix rigid file {}: {}", - inpfile,utils::getsyserror())); + error->one(FLERR,"Cannot open fix rigid file {}: {}", + inpfile,utils::getsyserror()); while (1) { eof = fgets(line,MAXLINE,fp); if (eof == nullptr) error->one(FLERR,"Unexpected end of fix rigid file"); @@ -2389,8 +2389,8 @@ void FixRigid::write_restart_file(const char *file) auto outfile = std::string(file) + ".rigid"; FILE *fp = fopen(outfile.c_str(),"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix rigid restart file {}: {}", - outfile,utils::getsyserror())); + error->one(FLERR,"Cannot open fix rigid restart file {}: {}", + outfile,utils::getsyserror()); fmt::print(fp,"# fix rigid mass, COM, inertia tensor info for " "{} bodies on timestep {}\n\n",nbody,update->ntimestep); diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index c1c956f08e..8f2e855cea 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2453,8 +2453,8 @@ void FixRigidSmall::readfile(int which, double **array, int *inbody) if (me == 0) { fp = fopen(inpfile,"r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix rigid/small file {}: {}", - inpfile,utils::getsyserror())); + error->one(FLERR,"Cannot open fix rigid/small file {}: {}", + inpfile,utils::getsyserror()); while (1) { eof = fgets(line,MAXLINE,fp); if (eof == nullptr) @@ -2567,8 +2567,8 @@ void FixRigidSmall::write_restart_file(const char *file) auto outfile = std::string(file) + ".rigid"; fp = fopen(outfile.c_str(),"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix rigid restart file {}: {}", - outfile,utils::getsyserror())); + error->one(FLERR,"Cannot open fix rigid restart file {}: {}", + outfile,utils::getsyserror()); fmt::print(fp,"# fix rigid mass, COM, inertia tensor info for " "{} bodies on timestep {}\n\n",nbody,update->ntimestep); @@ -3311,9 +3311,9 @@ void FixRigidSmall::reset_atom2body() if (bodytag[i]) { iowner = atom->map(bodytag[i]); if (iowner == -1) - error->one(FLERR,fmt::format("Rigid body atoms {} {} missing on " + error->one(FLERR,"Rigid body atoms {} {} missing on " "proc {} at step {}",atom->tag[i], - bodytag[i],comm->me,update->ntimestep)); + bodytag[i],comm->me,update->ntimestep); atom2body[i] = bodyown[iowner]; } diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 957898d361..f8c6b661b4 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -524,19 +524,19 @@ void FixShake::pre_neighbor() atom1 = atom->map(shake_atom[i][0]); atom2 = atom->map(shake_atom[i][1]); if (atom1 == -1 || atom2 == -1) - error->one(FLERR,fmt::format("Shake atoms {} {} missing on proc " + error->one(FLERR,"Shake atoms {} {} missing on proc " "{} at step {}",shake_atom[i][0], - shake_atom[i][1],me,update->ntimestep)); + shake_atom[i][1],me,update->ntimestep); if (i <= atom1 && i <= atom2) list[nlist++] = i; } else if (shake_flag[i] % 2 == 1) { atom1 = atom->map(shake_atom[i][0]); atom2 = atom->map(shake_atom[i][1]); atom3 = atom->map(shake_atom[i][2]); if (atom1 == -1 || atom2 == -1 || atom3 == -1) - error->one(FLERR,fmt::format("Shake atoms {} {} {} missing on proc " + error->one(FLERR,"Shake atoms {} {} {} missing on proc " "{} at step {}",shake_atom[i][0], shake_atom[i][1],shake_atom[i][2], - me,update->ntimestep)); + me,update->ntimestep); if (i <= atom1 && i <= atom2 && i <= atom3) list[nlist++] = i; } else { atom1 = atom->map(shake_atom[i][0]); @@ -544,10 +544,10 @@ void FixShake::pre_neighbor() atom3 = atom->map(shake_atom[i][2]); atom4 = atom->map(shake_atom[i][3]); if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) - error->one(FLERR,fmt::format("Shake atoms {} {} {} {} missing on " + error->one(FLERR,"Shake atoms {} {} {} {} missing on " "proc {} at step {}",shake_atom[i][0], shake_atom[i][1],shake_atom[i][2], - shake_atom[i][3],me,update->ntimestep)); + shake_atom[i][3],me,update->ntimestep); if (i <= atom1 && i <= atom2 && i <= atom3 && i <= atom4) list[nlist++] = i; } diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index b4ee3c870a..b307da4947 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -456,8 +456,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) if (comm->me == 0) { fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); if (fpcoeff == nullptr) - error->one(FLERR,fmt::format("Cannot open SNAP coefficient file {}: ", - coefffilename, utils::getsyserror())); + error->one(FLERR,"Cannot open SNAP coefficient file {}: ", + coefffilename, utils::getsyserror()); } char line[MAXLINE],*ptr; @@ -490,8 +490,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) nelemtmp = words.next_int(); ncoeffall = words.next_int(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect format in SNAP coefficient " - "file: {}", e.what())); + error->all(FLERR,"Incorrect format in SNAP coefficient " + "file: {}", e.what()); } // clean out old arrays and set up element lists @@ -589,8 +589,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) coeffelem[jelem][icoeff] = coeff.next_double(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect format in SNAP coefficient " - "file: {}", e.what())); + error->all(FLERR,"Incorrect format in SNAP coefficient " + "file: {}", e.what()); } } } @@ -599,8 +599,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) for (int jelem = 0; jelem < nelements; jelem++) { if (elementflags[jelem] == 0) - error->all(FLERR,fmt::format("Element {} not found in SNAP coefficient " - "file", elements[jelem])); + error->all(FLERR,"Element {} not found in SNAP coefficient " + "file", elements[jelem]); } // set flags for required keywords @@ -626,8 +626,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) if (comm->me == 0) { fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == nullptr) - error->one(FLERR,fmt::format("Cannot open SNAP parameter file {}: {}", - paramfilename, utils::getsyserror())); + error->one(FLERR,"Cannot open SNAP parameter file {}: {}", + paramfilename, utils::getsyserror()); } eof = 0; @@ -687,8 +687,8 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) else if (keywd == "chunksize") chunksize = utils::inumeric(FLERR,keyval.c_str(),false,lmp); else - error->all(FLERR,fmt::format("Unknown parameter '{}' in SNAP " - "parameter file", keywd)); + error->all(FLERR,"Unknown parameter '{}' in SNAP " + "parameter file", keywd); } if (rcutfacflag == 0 || twojmaxflag == 0) diff --git a/src/USER-BOCS/compute_pressure_bocs.cpp b/src/USER-BOCS/compute_pressure_bocs.cpp index 43cf7efb8f..49c644be71 100644 --- a/src/USER-BOCS/compute_pressure_bocs.cpp +++ b/src/USER-BOCS/compute_pressure_bocs.cpp @@ -215,7 +215,7 @@ double ComputePressureBocs::find_index(double * grid, double value) if (value >= grid[i] && value <= (grid[i] + spacing)) { return i; } - error->all(FLERR, fmt::format("find_index could not find value in grid for value: {}", value)); + error->all(FLERR,"find_index could not find value in grid for value: {}", value); for (int i = 0; i < gridsize; ++i) { fprintf(stderr, "grid %d: %f\n",i,grid[i]); diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index bd217e60a8..20c2a9dfe8 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -725,7 +725,7 @@ int FixBocs::read_F_table( char *filename, int p_basis_type ) } } else { - error->all(FLERR,fmt::format("ERROR: Unable to open file: {}", filename)); + error->all(FLERR,"ERROR: Unable to open file: {}", filename); } if (badInput && comm->me == 0) { @@ -744,7 +744,7 @@ int FixBocs::read_F_table( char *filename, int p_basis_type ) } else { - error->all(FLERR,fmt::format("ERROR: invalid p_basis_type value of {} in read_F_table", p_basis_type)); + error->all(FLERR,"ERROR: invalid p_basis_type value of {} in read_F_table", p_basis_type); } memory->destroy(data); diff --git a/src/USER-COLVARS/group_ndx.cpp b/src/USER-COLVARS/group_ndx.cpp index 26711026e8..48d4157fc9 100644 --- a/src/USER-COLVARS/group_ndx.cpp +++ b/src/USER-COLVARS/group_ndx.cpp @@ -56,8 +56,8 @@ void Group2Ndx::command(int narg, char **arg) if (comm->me == 0) { fp = fopen(arg[0], "w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open index file for writing: {}", - utils::getsyserror())); + error->one(FLERR,"Cannot open index file for writing: {}", + utils::getsyserror()); utils::logmesg(lmp,"Writing groups to index file {}:\n",arg[0]); } diff --git a/src/USER-COLVARS/ndx_group.cpp b/src/USER-COLVARS/ndx_group.cpp index 6b9a69ccd3..452bd681b1 100644 --- a/src/USER-COLVARS/ndx_group.cpp +++ b/src/USER-COLVARS/ndx_group.cpp @@ -86,8 +86,8 @@ void Ndx2Group::command(int narg, char **arg) if (comm->me == 0) { fp = fopen(arg[0], "r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open index file for reading: {}", - utils::getsyserror())); + error->one(FLERR,"Cannot open index file for reading: {}", + utils::getsyserror()); utils::logmesg(lmp,"Reading groups from index file {}:\n",arg[0]); } diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp index 90eedb1127..39c0ddc9d1 100644 --- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp +++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp @@ -390,8 +390,8 @@ void FixSAEDVTK::invoke_vector(bigint ntimestep) fp = fopen(nName.c_str(),"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix saed/vtk file {}: {}", - nName,utils::getsyserror())); + error->one(FLERR,"Cannot open fix saed/vtk file {}: {}", + nName,utils::getsyserror()); } fprintf(fp,"# vtk DataFile Version 3.0 c_%s\n",ids); @@ -512,8 +512,8 @@ void FixSAEDVTK::options(int narg, char **arg) fp = fopen(nName.c_str(),"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix saed/vtk file {}: {}", - nName,utils::getsyserror())); + error->one(FLERR,"Cannot open fix saed/vtk file {}: {}", + nName,utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { diff --git a/src/USER-DPD/pair_exp6_rx.cpp b/src/USER-DPD/pair_exp6_rx.cpp index 396047fca9..37013bcf48 100644 --- a/src/USER-DPD/pair_exp6_rx.cpp +++ b/src/USER-DPD/pair_exp6_rx.cpp @@ -832,8 +832,8 @@ void PairExp6rx::read_file2(char *file) if (comm->me == 0) { fp = fopen(file,"r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open polynomial file {}: {}", - file,utils::getsyserror())); + error->one(FLERR,"Cannot open polynomial file {}: {}", + file,utils::getsyserror()); } // one set of params can span multiple lines diff --git a/src/USER-MANIFOLD/fix_manifoldforce.cpp b/src/USER-MANIFOLD/fix_manifoldforce.cpp index b48decddba..a5cc75f567 100644 --- a/src/USER-MANIFOLD/fix_manifoldforce.cpp +++ b/src/USER-MANIFOLD/fix_manifoldforce.cpp @@ -59,15 +59,15 @@ FixManifoldForce::FixManifoldForce(LAMMPS *lmp, int narg, char **arg) : // Construct manifold from factory: if (!ptr_m) - error->all(FLERR,fmt::format("Manifold pointer for manifold '{}' " - "was NULL for some reason", arg[3])); + error->all(FLERR,"Manifold pointer for manifold '{}' " + "was NULL for some reason", arg[3]); // After constructing the manifold, you can safely make // room for the parameters nvars = ptr_m->nparams(); if (narg < nvars+4) - error->all(FLERR,fmt::format("Manifold {} needs at least {} " - "argument(s)!", m_name, nvars)); + error->all(FLERR,"Manifold {} needs at least {} " + "argument(s)!", m_name, nvars); ptr_m->params = new double[nvars]; if (ptr_m->params == nullptr) { diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp index 4b141a3bd1..1e86fff77d 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp @@ -105,8 +105,8 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, // Check if you have enough args: if (6 + nvars > narg) - error->all(FLERR,fmt::format("Not enough args for manifold {}, {} expected " - "but got {}\n",ptr_m->id(),nvars, narg - 6)); + error->all(FLERR,"Not enough args for manifold {}, {} expected " + "but got {}\n",ptr_m->id(),nvars, narg - 6); // Loop over manifold args: for (int i = 0; i < nvars; ++i) { int len = 0, offset = 0; @@ -145,7 +145,7 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, } argi += 2; } else if (error_on_unknown_keyword) { - error->all(FLERR,fmt::format("Error parsing arg \"{}\".\n",arg[argi])); + error->all(FLERR,"Error parsing arg \"{}\".\n",arg[argi]); } else { argi += 1; } diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/USER-MEAMC/pair_meamc.cpp index 67ab3522ad..f8a7713d77 100644 --- a/src/USER-MEAMC/pair_meamc.cpp +++ b/src/USER-MEAMC/pair_meamc.cpp @@ -143,7 +143,7 @@ void PairMEAMC::compute(int eflag, int vflag) meam_inst->meam_dens_final(nlocal,eflag_either,eflag_global,eflag_atom, &eng_vdwl,eatom,ntype,type,map,scale,errorflag); if (errorflag) - error->one(FLERR,fmt::format("MEAM library error {}",errorflag)); + error->one(FLERR,"MEAM library error {}",errorflag); comm->forward_comm_pair(this); @@ -213,7 +213,7 @@ void PairMEAMC::coeff(int narg, char **arg) std::string lib_file = utils::get_potential_file_path(arg[2]); if (lib_file.empty()) - error->all(FLERR,fmt::format("Cannot open MEAM library file {}",lib_file)); + error->all(FLERR,"Cannot open MEAM library file {}",lib_file); // find meam parameter file in arguments: // first word that is a file or "NULL" after the MEAM library file @@ -249,9 +249,9 @@ void PairMEAMC::coeff(int narg, char **arg) nlibelements = paridx - 3; if (nlibelements < 1) error->all(FLERR,"Incorrect args for pair coefficients"); if (nlibelements > maxelt) - error->all(FLERR,fmt::format("Too many elements extracted from MEAM " + error->all(FLERR,"Too many elements extracted from MEAM " "library (current limit: {}). Increase " - "'maxelt' in meam.h and recompile.", maxelt)); + "'maxelt' in meam.h and recompile.", maxelt); for (int i = 0; i < nlibelements; i++) { libelements.push_back(arg[i+3]); @@ -413,8 +413,8 @@ void PairMEAMC::read_global_meamc_file(const std::string &globalfile) std::string lattice_type = values.next_string(); if (!MEAM::str_to_lat(lattice_type.c_str(), true, lat[index])) - error->one(FLERR,fmt::format("Unrecognized lattice type in MEAM " - "library file: {}", lattice_type)); + error->one(FLERR,"Unrecognized lattice type in MEAM " + "library file: {}", lattice_type); // store parameters @@ -541,8 +541,8 @@ void PairMEAMC::read_user_meamc_file(const std::string &userfile) for (which = 0; which < nkeywords; which++) if (keyword == keywords[which]) break; if (which == nkeywords) - error->all(FLERR,fmt::format("Keyword {} in MEAM parameter file not " - "recognized", keyword)); + error->all(FLERR,"Keyword {} in MEAM parameter file not " + "recognized", keyword); nindex = nparams - 2; for (int i = 0; i < nindex; i++) index[i] = values.next_int() - 1; @@ -552,8 +552,8 @@ void PairMEAMC::read_user_meamc_file(const std::string &userfile) std::string lattice_type = values.next_string(); lattice_t latt; if (!MEAM::str_to_lat(lattice_type, false, latt)) - error->all(FLERR, fmt::format("Unrecognized lattice type in MEAM " - "parameter file: {}", lattice_type)); + error->all(FLERR, "Unrecognized lattice type in MEAM " + "parameter file: {}", lattice_type); value = latt; } else value = values.next_double(); @@ -568,7 +568,7 @@ void PairMEAMC::read_user_meamc_file(const std::string &userfile) "expected more indices", "has out of range element index"}; if ((errorflag < 0) || (errorflag > 3)) errorflag = 0; - error->all(FLERR, fmt::format("Error in MEAM parameter file: keyword {} {}", keyword, descr[errorflag])); + error->all(FLERR,"Error in MEAM parameter file: keyword {} {}", keyword, descr[errorflag]); } } } diff --git a/src/USER-MESONT/pair_mesocnt.cpp b/src/USER-MESONT/pair_mesocnt.cpp index f460e3aebb..3a56c69d2d 100644 --- a/src/USER-MESONT/pair_mesocnt.cpp +++ b/src/USER-MESONT/pair_mesocnt.cpp @@ -758,7 +758,7 @@ void PairMesoCNT::read_file() fp = utils::open_potential(file,lmp,nullptr); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open mesocnt file: {}",file)); + error->one(FLERR,"Cannot open mesocnt file: {}",file); utils::sfgets(FLERR,line,MAXLINE,fp,file,error); @@ -768,14 +768,14 @@ void PairMesoCNT::read_file() num = sscanf(line,"%d %d %d %d", &uinf_points,&gamma_points,&phi_points,&usemi_points); if (num != 4) - error->one(FLERR,fmt::format("Could not correctly parse line 2 in " - "mesocnt file: {}",file)); + error->one(FLERR,"Could not correctly parse line 2 in " + "mesocnt file: {}",file); utils::sfgets(FLERR,line,MAXLINE,fp,file,error); num = sscanf(line,"%lg %lg %lg %lg",&r_ang,&sig_ang,&delta1,&delta2); if (num != 4) - error->one(FLERR,fmt::format("Could not correctly parse line 3 in " - "mesocnt file: {}",file)); + error->one(FLERR,"Could not correctly parse line 3 in " + "mesocnt file: {}",file); } MPI_Bcast(&uinf_points,1,MPI_INT,0,world); @@ -844,7 +844,7 @@ void PairMesoCNT::read_data(FILE *fp, double *data, for (int i = 0; i < ninput; i++) { if (nullptr == fgets(line,MAXLINE,fp)) - error->one(FLERR,fmt::format("Premature end of file in pair table: {}",file)); + error->one(FLERR,"Premature end of file in pair table: {}",file); if (i > 0) xtemp = x; if (2 != sscanf(line,"%lg %lg",&x,&data[i])) cerror++; @@ -897,7 +897,7 @@ void PairMesoCNT::read_data(FILE *fp, double **data, if (i > 0) xtemp = x; for (int j = 0; j < ninput; j++) { if (nullptr == fgets(line,MAXLINE,fp)) - error->one(FLERR,fmt::format("Premature end of file in pair table: {}",file)); + error->one(FLERR,"Premature end of file in pair table: {}",file); if (j > 0) ytemp = y; if (3 != sscanf(line,"%lg %lg %lg",&x,&y,&data[i][j])) cerror++; diff --git a/src/USER-MISC/dihedral_table.cpp b/src/USER-MISC/dihedral_table.cpp index ffbc9aad31..8ea5c7e21e 100644 --- a/src/USER-MISC/dihedral_table.cpp +++ b/src/USER-MISC/dihedral_table.cpp @@ -784,10 +784,10 @@ void DihedralTable::coeff(int narg, char **arg) // --- and resolve issues with periodicity --- if (tb->ninput < 2) - error->all(FLERR,fmt::format("Invalid dihedral table length: {}",arg[2])); + error->all(FLERR,"Invalid dihedral table length: {}",arg[2]); else if ((tb->ninput == 2) && (tabstyle == SPLINE)) - error->all(FLERR,fmt::format("Invalid dihedral spline table length: {} " - "(Try linear)",arg[2])); + error->all(FLERR,"Invalid dihedral spline table length: {} " + "(Try linear)",arg[2]); // check for monotonicity for (int i=0; i < tb->ninput-1; i++) { @@ -805,12 +805,12 @@ void DihedralTable::coeff(int narg, char **arg) double phihi = tb->phifile[tb->ninput-1]; if (tb->use_degrees) { if ((phihi - philo) >= 360) - error->all(FLERR,fmt::format("Dihedral table angle range must be < 360 " - "degrees ({}).",arg[2])); + error->all(FLERR,"Dihedral table angle range must be < 360 " + "degrees ({}).",arg[2]); } else { if ((phihi - philo) >= MY_2PI) - error->all(FLERR,fmt::format("Dihedral table angle range must be < 2*PI " - "radians ({}).",arg[2])); + error->all(FLERR,"Dihedral table angle range must be < 2*PI " + "radians ({}).",arg[2]); } // convert phi from degrees to radians @@ -1268,8 +1268,8 @@ void DihedralTable::param_extract(Table *tb, char *line) //else if (word == "EQ") { // tb->theta0 = values.next_double(); //} - else error->one(FLERR,fmt::format("Invalid keyword in dihedral angle " - "table parameters ({})", word)); + else error->one(FLERR,"Invalid keyword in dihedral angle " + "table parameters ({})", word); } } catch (TokenizerException &e) { error->one(FLERR, e.what()); diff --git a/src/USER-MISC/dihedral_table_cut.cpp b/src/USER-MISC/dihedral_table_cut.cpp index 02e6d3e5da..bae402145d 100644 --- a/src/USER-MISC/dihedral_table_cut.cpp +++ b/src/USER-MISC/dihedral_table_cut.cpp @@ -508,10 +508,10 @@ void DihedralTableCut::coeff(int narg, char **arg) // --- and resolve issues with periodicity --- if (tb->ninput < 2) - error->all(FLERR,fmt::format("Invalid dihedral table length: {}",arg[5])); + error->all(FLERR,"Invalid dihedral table length: {}",arg[5]); else if ((tb->ninput == 2) && (tabstyle == SPLINE)) - error->all(FLERR,fmt::format("Invalid dihedral spline table length: {} " - "(Try linear)",arg[5])); + error->all(FLERR,"Invalid dihedral spline table length: {} " + "(Try linear)",arg[5]); // check for monotonicity for (int i=0; i < tb->ninput-1; i++) { @@ -529,12 +529,12 @@ void DihedralTableCut::coeff(int narg, char **arg) double phihi = tb->phifile[tb->ninput-1]; if (tb->use_degrees) { if ((phihi - philo) >= 360) - error->all(FLERR,fmt::format("Dihedral table angle range must be < 360 " - "degrees ({})",arg[5])); + error->all(FLERR,"Dihedral table angle range must be < 360 " + "degrees ({})",arg[5]); } else { if ((phihi - philo) >= MY_2PI) - error->all(FLERR,fmt::format("Dihedral table angle range must be < 2*PI " - "radians ({})",arg[5])); + error->all(FLERR,"Dihedral table angle range must be < 2*PI " + "radians ({})",arg[5]); } // convert phi from degrees to radians diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/USER-MISC/fix_orient_eco.cpp index b8b3a00354..e247d8601e 100644 --- a/src/USER-MISC/fix_orient_eco.cpp +++ b/src/USER-MISC/fix_orient_eco.cpp @@ -95,8 +95,8 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : FILE *infile = utils::open_potential(dir_filename,lmp,nullptr); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open fix orient/eco file {}: {}", - dir_filename, utils::getsyserror())); + error->one(FLERR,"Cannot open fix orient/eco file {}: {}", + dir_filename, utils::getsyserror()); for (int i = 0; i < 6; ++i) { result = fgets(line, IMGMAX, infile); if (!result) error->one(FLERR, "Fix orient/eco file read failed"); diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/USER-MISC/fix_ttm_mod.cpp index d4023b6011..20f6853bf6 100644 --- a/src/USER-MISC/fix_ttm_mod.cpp +++ b/src/USER-MISC/fix_ttm_mod.cpp @@ -399,8 +399,8 @@ void FixTTMMod::read_parameters(const char *filename) char line[MAXLINE]; std::string name = utils::get_potential_file_path(filename); if (name.empty()) - error->one(FLERR,fmt::format("Cannot open input file: {}", - filename)); + error->one(FLERR,"Cannot open input file: {}", + filename); FILE *fpr = fopen(name.c_str(),"r"); // C0 (metal) @@ -550,8 +550,8 @@ void FixTTMMod::read_initial_electron_temperatures(const char *filename) std::string name = utils::get_potential_file_path(filename); if (name.empty()) - error->one(FLERR,fmt::format("Cannot open input file: {}", - filename)); + error->one(FLERR,"Cannot open input file: {}", + filename); FILE *fpr = fopen(name.c_str(),"r"); // read initial electron temperature values from file diff --git a/src/USER-NETCDF/dump_netcdf.cpp b/src/USER-NETCDF/dump_netcdf.cpp index 025fec3933..bdd79d0d05 100644 --- a/src/USER-NETCDF/dump_netcdf.cpp +++ b/src/USER-NETCDF/dump_netcdf.cpp @@ -288,8 +288,8 @@ void DumpNetCDF::openfile() // Fixme! Perform checks if dimensions and variables conform with // data structure standard. if (not utils::file_is_readable(filecurrent)) - error->all(FLERR, fmt::format("cannot append to non-existent file {}", - filecurrent)); + error->all(FLERR, "cannot append to non-existent file {}", + filecurrent); if (singlefile_opened) return; singlefile_opened = 1; diff --git a/src/USER-NETCDF/dump_netcdf_mpiio.cpp b/src/USER-NETCDF/dump_netcdf_mpiio.cpp index 726b51ba3f..cd83d1cbff 100644 --- a/src/USER-NETCDF/dump_netcdf_mpiio.cpp +++ b/src/USER-NETCDF/dump_netcdf_mpiio.cpp @@ -284,8 +284,8 @@ void DumpNetCDFMPIIO::openfile() // Fixme! Perform checks if dimensions and variables conform with // data structure standard. if (not utils::file_is_readable(filecurrent)) - error->all(FLERR, fmt::format("cannot append to non-existent file {}", - filecurrent)); + error->all(FLERR, "cannot append to non-existent file {}", + filecurrent); MPI_Offset index[NC_MAX_VAR_DIMS], count[NC_MAX_VAR_DIMS]; double d[1]; diff --git a/src/USER-OMP/reaxc_init_md_omp.cpp b/src/USER-OMP/reaxc_init_md_omp.cpp index 1312953180..7450470095 100644 --- a/src/USER-OMP/reaxc_init_md_omp.cpp +++ b/src/USER-OMP/reaxc_init_md_omp.cpp @@ -129,29 +129,29 @@ void InitializeOMP(reax_system *system, control_params *control, "Mpi_data could not be initialized! Terminating."); if (Init_System(system,control,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized! Terminating.",msg)); + error->one(FLERR,"Error on: {}. System could not be " + "initialized! Terminating.",msg); if (Init_Simulation_Data(system,control,data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " - "initialized! Terminating.",msg)); + error->one(FLERR,"Error on: {}. Sim_data could not be " + "initialized! Terminating.",msg); if (Init_Workspace(system,control,workspace,msg) == FAILURE) error->one(FLERR,"init_workspace: not enough memory. " "Workspace could not be initialized. Terminating."); if (Init_ListsOMP(system,control,data,workspace,lists,mpi_data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized. Terminating.",msg)); + error->one(FLERR,"Error on: {}. System could not be " + "initialized. Terminating.",msg); if (Init_Output_Files(system,control,out_control,mpi_data,msg)== FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " - "Terminating.",msg)); + error->one(FLERR,"Error on: {}. Could not open output files! " + "Terminating.",msg); if (control->tabulate) if (Init_Lookup_Tables(system,control,workspace,mpi_data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " - "table. Terminating.",msg)); + error->one(FLERR,"Error on: {}. Could not create lookup " + "table. Terminating.",msg); Init_Force_FunctionsOMP(control); } diff --git a/src/USER-PACE/pair_pace.cpp b/src/USER-PACE/pair_pace.cpp index ae13859968..d146cb91bd 100644 --- a/src/USER-PACE/pair_pace.cpp +++ b/src/USER-PACE/pair_pace.cpp @@ -156,7 +156,7 @@ void PairPACE::compute(int eflag, int vflag) { firstneigh = list->firstneigh; if (inum != nlocal) - error->all(FLERR,fmt::format("inum: {} nlocal: {} are different",inum, nlocal)); + error->all(FLERR,"inum: {} nlocal: {} are different",inum, nlocal); // Aidan Thompson told RD (26 July 2019) that practically always holds: // inum = nlocal @@ -329,7 +329,7 @@ void PairPACE::coeff(int narg, char **arg) { char *elemname = elemtypes[i - 1]; int atomic_number = AtomicNumberByName_pace(elemname); if (atomic_number == -1) - error->all(FLERR,fmt::format("'{}' is not a valid element\n", elemname)); + error->all(FLERR,"'{}' is not a valid element\n", elemname); SPECIES_TYPE mu = aceimpl->basis_set->get_species_index_by_name(elemname); if (mu != -1) { @@ -339,7 +339,7 @@ void PairPACE::coeff(int narg, char **arg) { map[i] = mu; aceimpl->ace->element_type_mapping(i) = mu; // set up LAMMPS atom type to ACE species mapping for ace evaluator } else { - error->all(FLERR, fmt::format("Element {} is not supported by ACE-potential from file {}", elemname,potential_file_name)); + error->all(FLERR,"Element {} is not supported by ACE-potential from file {}", elemname,potential_file_name); } } diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/USER-PHONON/fix_phonon.cpp index 222f3fa1d2..1f8fe1c9cb 100644 --- a/src/USER-PHONON/fix_phonon.cpp +++ b/src/USER-PHONON/fix_phonon.cpp @@ -180,8 +180,8 @@ FixPhonon::FixPhonon(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (me == 0) { flog = fopen(logfile, "w"); if (flog == nullptr) - error->one(FLERR,fmt::format("Can not open output file {}: {}", - logfile,utils::getsyserror())); + error->one(FLERR,"Can not open output file {}: {}", + logfile,utils::getsyserror()); fprintf(flog,"############################################################\n"); fprintf(flog,"# group name of the atoms under study : %s\n", group->names[igroup]); fprintf(flog,"# total number of atoms in the group : %d\n", ngroup); @@ -555,8 +555,8 @@ void FixPhonon::readmap() char line[MAXLINE]; FILE *fp = fopen(mapfile, "r"); if (fp == nullptr) - error->all(FLERR,fmt::format("Cannot open input map file {}: {}", - mapfile, utils::getsyserror())); + error->all(FLERR,"Cannot open input map file {}: {}", + mapfile, utils::getsyserror()); if (fgets(line,MAXLINE,fp) == nullptr) error->all(FLERR,"Error while reading header of mapping file!"); diff --git a/src/USER-QUIP/pair_quip.cpp b/src/USER-QUIP/pair_quip.cpp index 20a6c98cb8..365ab3b414 100644 --- a/src/USER-QUIP/pair_quip.cpp +++ b/src/USER-QUIP/pair_quip.cpp @@ -253,8 +253,8 @@ void PairQUIP::coeff(int narg, char **arg) int n = atom->ntypes; if (narg != (4+n)) - error->all(FLERR,fmt::format("Number of arguments {} is not correct, " - "it should be {}", narg, 4+n)); + error->all(FLERR,"Number of arguments {} is not correct, " + "it should be {}", narg, 4+n); // ensure I,J args are * * diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 9d10966d3b..7794a16ecd 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -231,29 +231,29 @@ void Initialize(reax_system *system, control_params *control, "Mpi_data could not be initialized! Terminating."); if (Init_System(system,control,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized! Terminating.",msg)); + error->one(FLERR,"Error on: {}. System could not be " + "initialized! Terminating.",msg); if (Init_Simulation_Data( system,control,data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Sim_data could not be " - "initialized! Terminating.",msg)); + error->one(FLERR,"Error on: {}. Sim_data could not be " + "initialized! Terminating.",msg); if (Init_Workspace( system,control,workspace,msg) == FAILURE) error->one(FLERR,"init_workspace: not enough memory. " "Workspace could not be initialized. Terminating."); if (Init_Lists(system, control, data, workspace, lists, mpi_data, msg) ==FAILURE) - error->one(FLERR,fmt::format("Error on: {}. System could not be " - "initialized. Terminating.",msg)); + error->one(FLERR,"Error on: {}. System could not be " + "initialized. Terminating.",msg); if (Init_Output_Files(system,control,out_control,mpi_data,msg)== FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not open output files! " - "Terminating.",msg)); + error->one(FLERR,"Error on: {}. Could not open output files! " + "Terminating.",msg); if (control->tabulate) if (Init_Lookup_Tables(system,control,workspace,mpi_data,msg) == FAILURE) - error->one(FLERR,fmt::format("Error on: {}. Could not create lookup " - "table. Terminating.",msg)); + error->one(FLERR,"Error on: {}. Could not create lookup " + "table. Terminating.",msg); Init_Force_Functions(control); diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index eec09cf58a..9ae5a86039 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -2481,20 +2481,20 @@ int AtomVec::process_fields(char *str, const char *default_str, Method *method) for (match = 0; match < nperatom; match++) if (field == peratom[match].name) break; if (match == nperatom) - error->all(FLERR,fmt::format("Peratom field {} not recognized", field)); + error->all(FLERR,"Peratom field {} not recognized", field); index[i] = match; // error if field appears multiple times for (match = 0; match < i; match++) if (index[i] == index[match]) - error->all(FLERR,fmt::format("Peratom field {} is repeated", field)); + error->all(FLERR,"Peratom field {} is repeated", field); // error if field is in default str for (match = 0; match < ndef; match++) if (field == def_words[match]) - error->all(FLERR,fmt::format("Peratom field {} is a default", field)); + error->all(FLERR,"Peratom field {} is a default", field); } return nfield; diff --git a/src/balance.cpp b/src/balance.cpp index bf037e8f8f..8be98d4d19 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -371,9 +371,8 @@ void Balance::command(int narg, char **arg) bigint nblocal = atom->nlocal; MPI_Allreduce(&nblocal,&natoms,1,MPI_LMP_BIGINT,MPI_SUM,world); if (natoms != atom->natoms) - error->all(FLERR,fmt::format("Lost atoms via balance: " - "original {} current {}", - atom->natoms,natoms).c_str()); + error->all(FLERR,"Lost atoms via balance: original {} current {}", + atom->natoms,natoms); // imbfinal = final imbalance // set disable = 1, so weights no longer migrate with atoms @@ -478,8 +477,8 @@ void Balance::options(int iarg, int narg, char **arg) if (outflag && comm->me == 0) { fp = fopen(arg[outarg],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open (fix) balance output file {}: {}", - arg[outarg], utils::getsyserror())); + error->one(FLERR,"Cannot open (fix) balance output file {}: {}", + arg[outarg], utils::getsyserror()); } } diff --git a/src/bond.cpp b/src/bond.cpp index 570d921abb..049d5da823 100644 --- a/src/bond.cpp +++ b/src/bond.cpp @@ -274,9 +274,9 @@ void Bond::write_file(int narg, char **arg) if (utils::file_is_readable(table_file)) { std::string units = utils::get_potential_units(table_file,"table"); if (!units.empty() && (units != update->unit_style)) { - error->one(FLERR,fmt::format("Trying to append to a table file " + error->one(FLERR,"Trying to append to a table file " "with UNITS: {} while units are {}", - units, update->unit_style)); + units, update->unit_style); } std::string date = utils::get_potential_date(table_file,"table"); utils::logmesg(lmp,"Appending to table file {} with " @@ -293,8 +293,8 @@ void Bond::write_file(int narg, char **arg) datebuf, update->unit_style); } if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open bond_write file {}: {}", - arg[4], utils::getsyserror())); + error->one(FLERR,"Cannot open bond_write file {}: {}", + arg[4], utils::getsyserror()); } // initialize potentials before evaluating bond potential diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index aba0178368..8598c1ca6e 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -298,8 +298,8 @@ void CreateBonds::many() if (!newton_bond || tag[i] < tag[j]) { if (num_bond[i] == atom->bond_per_atom) - error->one(FLERR,fmt::format("New bond exceeded bonds per atom limit " - " of {} in create_bonds",atom->bond_per_atom)); + error->one(FLERR,"New bond exceeded bonds per atom limit " + " of {} in create_bonds",atom->bond_per_atom); bond_type[i][num_bond[i]] = btype; bond_atom[i][num_bond[i]] = tag[j]; num_bond[i]++; diff --git a/src/dump_movie.cpp b/src/dump_movie.cpp index 828c20af30..c224b9d292 100644 --- a/src/dump_movie.cpp +++ b/src/dump_movie.cpp @@ -60,8 +60,8 @@ void DumpMovie::openfile() #endif if (fp == nullptr) - error->one(FLERR,fmt::format("Failed to open FFmpeg pipeline to " - "file {}",filename)); + error->one(FLERR,"Failed to open FFmpeg pipeline to " + "file {}",filename); } } /* ---------------------------------------------------------------------- */ diff --git a/src/fix.cpp b/src/fix.cpp index 14c04bf4b5..e3e2b12ed2 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -175,8 +175,7 @@ void Fix::modify_params(int narg, char **arg) void::Fix::set_molecule(int, tagint, int, double *, double *, double *) { - error->all(FLERR,fmt::format("Molecule update not implemented for " - "fix {}", style)); + error->all(FLERR,"Molecule update not implemented for fix {}", style); } /* ---------------------------------------------------------------------- diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index b0a99d332a..87f1bf8b4c 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -206,8 +206,8 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix ave/chunk file {}: {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open fix ave/chunk file {}: {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"overwrite") == 0) { diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 81ca94cdc8..8793793682 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -129,8 +129,8 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): if (me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix ave/correlate file {}:"" {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open fix ave/correlate file {}:"" {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"overwrite") == 0) { diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 0f6943ac31..7cacbda407 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -946,8 +946,8 @@ void FixAveHisto::options(int iarg, int narg, char **arg) if (me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix ave/histo file {}: {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open fix ave/histo file {}: {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"kind") == 0) { diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 7ecb88ddab..2a6e769799 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -1029,8 +1029,8 @@ void FixAveTime::options(int iarg, int narg, char **arg) if (me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix ave/time file {}: {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open fix ave/time file {}: {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp index 11e041fcf4..c27e523efe 100644 --- a/src/fix_enforce2d.cpp +++ b/src/fix_enforce2d.cpp @@ -77,8 +77,8 @@ void FixEnforce2D::init() if (myindex < 0) flist[nfixlist++] = modify->fix[i]; else - error->all(FLERR,fmt::format("Fix enforce2d must be defined after fix {}", - modify->fix[i]->style)); + error->all(FLERR,"Fix enforce2d must be defined after fix {}", + modify->fix[i]->style); } if (modify->fix[i] == this) myindex = i; } diff --git a/src/fix_print.cpp b/src/fix_print.cpp index c6747ee1ee..43bab3f848 100644 --- a/src/fix_print.cpp +++ b/src/fix_print.cpp @@ -62,8 +62,8 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix print file {}: {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open fix print file {}: {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"screen") == 0) { diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 6ce5b6360b..82c15eea1b 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -228,13 +228,13 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, try { ValueTokenizer values(buf); if ((int)values.count() != nvalue+1) - error->all(FLERR,fmt::format("Incorrect format in {} section " - "of data file: {}",keyword,buf)); + error->all(FLERR,"Incorrect format in {} section " + "of data file: {}",keyword,buf); itag = values.next_tagint() + id_offset; if (itag <= 0 || itag > map_tag_max) - error->all(FLERR,fmt::format("Invalid atom ID {} in {} section of " - "data file",itag, keyword)); + error->all(FLERR,"Invalid atom ID {} in {} section of " + "data file",itag, keyword); // assign words in line to per-atom vectors @@ -254,8 +254,8 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, } } } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Invalid format in {} section of data " - "file '{}': {}",keyword, buf,e.what())); + error->all(FLERR,"Invalid format in {} section of data " + "file '{}': {}",keyword, buf,e.what()); } buf = next + 1; } diff --git a/src/fix_restrain.cpp b/src/fix_restrain.cpp index ff61703c1a..b7321dd530 100644 --- a/src/fix_restrain.cpp +++ b/src/fix_restrain.cpp @@ -272,15 +272,15 @@ void FixRestrain::restrain_bond(int m) if (newton_bond) { if (i2 == -1 || i2 >= nlocal) return; if (i1 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} missing on " "proc {} at step {}", ids[m][0],ids[m][1], - comm->me,update->ntimestep)); + comm->me,update->ntimestep); } else { if ((i1 == -1 || i1 >= nlocal) && (i2 == -1 || i2 >= nlocal)) return; if (i1 == -1 || i2 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} missing on " "proc {} at step {}", ids[m][0],ids[m][1], - comm->me,update->ntimestep)); + comm->me,update->ntimestep); } delx = x[i1][0] - x[i2][0]; @@ -345,15 +345,15 @@ void FixRestrain::restrain_lbound(int m) if (newton_bond) { if (i2 == -1 || i2 >= nlocal) return; if (i1 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], - comm->me,update->ntimestep)); + comm->me,update->ntimestep); } else { if ((i1 == -1 || i1 >= nlocal) && (i2 == -1 || i2 >= nlocal)) return; if (i1 == -1 || i2 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], - comm->me,update->ntimestep)); + comm->me,update->ntimestep); } delx = x[i1][0] - x[i2][0]; @@ -427,16 +427,16 @@ void FixRestrain::restrain_angle(int m) if (newton_bond) { if (i2 == -1 || i2 >= nlocal) return; if (i1 == -1 || i3 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], - ids[m][2],comm->me,update->ntimestep)); + ids[m][2],comm->me,update->ntimestep); } else { if ((i1 == -1 || i1 >= nlocal) && (i2 == -1 || i2 >= nlocal) && (i3 == -1 || i3 >= nlocal)) return; if (i1 == -1 || i2 == -1 || i3 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], - ids[m][2],comm->me,update->ntimestep)); + ids[m][2],comm->me,update->ntimestep); } // 1st bond @@ -547,18 +547,18 @@ void FixRestrain::restrain_dihedral(int m) if (newton_bond) { if (i2 == -1 || i2 >= nlocal) return; if (i1 == -1 || i3 == -1 || i4 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], ids[m][2],ids[m][3],comm->me, - update->ntimestep)); + update->ntimestep); } else { if ((i1 == -1 || i1 >= nlocal) && (i2 == -1 || i2 >= nlocal) && (i3 == -1 || i3 >= nlocal) && (i4 == -1 || i3 >= nlocal)) return; if (i1 == -1 || i2 == -1 || i3 == -1 || i4 == -1) - error->one(FLERR,fmt::format("Restrain atoms {} {} {} {} missing on " + error->one(FLERR,"Restrain atoms {} {} {} {} missing on " "proc {} at step {}",ids[m][0],ids[m][1], ids[m][2],ids[m][3],comm->me, - update->ntimestep)); + update->ntimestep); } // 1st bond diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index f462b0633b..ea76ca137b 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -74,8 +74,8 @@ nfileevery(0), fp(nullptr), xf(nullptr), xold(nullptr) if (me == 0) { fp = fopen(arg[6],"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open fix tmd file {}: {}", - arg[6], utils::getsyserror())); + error->one(FLERR,"Cannot open fix tmd file {}: {}", + arg[6], utils::getsyserror()); fprintf(fp,"%s %s\n","# Step rho_target rho_old gamma_back", "gamma_forward lambda work_lambda work_analytical"); } @@ -540,8 +540,8 @@ void FixTMD::open(char *file) } if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open file {}: {}", + file, utils::getsyserror()); } /* ---------------------------------------------------------------------- */ diff --git a/src/force.cpp b/src/force.cpp index 80f5ef22a7..aa93b0af7d 100644 --- a/src/force.cpp +++ b/src/force.cpp @@ -173,8 +173,8 @@ void Force::init() // check if pair style must be specified after restart if (pair_restart) { if (!pair) - error->all(FLERR,fmt::format("Must re-specify non-restarted pair style " - "({}) after read_restart", pair_restart)); + error->all(FLERR,"Must re-specify non-restarted pair style " + "({}) after read_restart", pair_restart); } if (kspace) kspace->init(); // kspace must come before pair diff --git a/src/group.cpp b/src/group.cpp index 997214cbc7..4a898106e5 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -321,8 +321,8 @@ void Group::assign(int narg, char **arg) delta = values.next_tagint(); } else throw TokenizerException("Syntax error",""); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Incorrect range string " - "'{}': {}",arg[iarg],e.what())); + error->all(FLERR,"Incorrect range string " + "'{}': {}",arg[iarg],e.what()); } if (delta < 1) error->all(FLERR,"Illegal range increment value"); diff --git a/src/input.cpp b/src/input.cpp index d3352b380a..04ff4c70da 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -270,7 +270,7 @@ void Input::file() // execute the command if (execute_command() && line) - error->all(FLERR,fmt::format("Unknown command: {}",line)); + error->all(FLERR,"Unknown command: {}",line); } } @@ -302,8 +302,8 @@ void Input::file(const char *filename) infile = fopen(filename,"r"); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open input script {}: {}", - filename, utils::getsyserror())); + error->one(FLERR,"Cannot open input script {}: {}", + filename, utils::getsyserror()); infiles[nfile++] = infile; } @@ -359,7 +359,7 @@ char *Input::one(const std::string &single) // execute the command and return its name if (execute_command()) - error->all(FLERR,fmt::format("Unknown command: {}",line)); + error->all(FLERR,"Unknown command: {}",line); return command; } @@ -613,8 +613,8 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag) } if (value == nullptr) - error->one(FLERR,fmt::format("Substitution for illegal " - "variable {}",var)); + error->one(FLERR,"Substitution for illegal " + "variable {}",var); // check if storage in str2 needs to be expanded // re-initialize ptr and ptr2 to the point beyond the variable. @@ -971,8 +971,8 @@ void Input::include() infile = fopen(arg[0],"r"); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open input script {}: {}", - arg[0], utils::getsyserror())); + error->one(FLERR,"Cannot open input script {}: {}", + arg[0], utils::getsyserror()); infiles[nfile++] = infile; } @@ -1005,8 +1005,8 @@ void Input::jump() if (infile && infile != stdin) fclose(infile); infile = fopen(arg[0],"r"); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open input script {}: {}", - arg[0], utils::getsyserror())); + error->one(FLERR,"Cannot open input script {}: {}", + arg[0], utils::getsyserror()); infiles[nfile-1] = infile; } @@ -1047,8 +1047,8 @@ void Input::log() else logfile = fopen(arg[0],"w"); if (logfile == nullptr) - error->one(FLERR,fmt::format("Cannot open logfile {}: {}", - arg[0], utils::getsyserror())); + error->one(FLERR,"Cannot open logfile {}: {}", + arg[0], utils::getsyserror()); } if (universe->nworlds == 1) universe->ulogfile = logfile; @@ -1123,8 +1123,8 @@ void Input::print() if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open print file {}: {}", - arg[iarg+1], utils::getsyserror())); + error->one(FLERR,"Cannot open print file {}: {}", + arg[iarg+1], utils::getsyserror()); } iarg += 2; } else if (strcmp(arg[iarg],"screen") == 0) { diff --git a/src/lammps.cpp b/src/lammps.cpp index 277ec4414f..cb7aaf9182 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -490,8 +490,8 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : else if (strcmp(arg[inflag], "none") == 0) infile = stdin; else infile = fopen(arg[inflag],"r"); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open input script {}: {}", - arg[inflag], utils::getsyserror())); + error->one(FLERR,"Cannot open input script {}: {}", + arg[inflag], utils::getsyserror()); } if ((universe->me == 0) && !helpflag) @@ -515,16 +515,16 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : str = fmt::format("screen.{}",universe->iworld); screen = fopen(str.c_str(),"w"); if (screen == nullptr) - error->one(FLERR,fmt::format("Cannot open screen file {}: {}", - str,utils::getsyserror())); + error->one(FLERR,"Cannot open screen file {}: {}", + str,utils::getsyserror()); } else if (strcmp(arg[screenflag],"none") == 0) { screen = nullptr; } else { str = fmt::format("{}.{}",arg[screenflag],universe->iworld); screen = fopen(str.c_str(),"w"); if (screen == nullptr) - error->one(FLERR,fmt::format("Cannot open screen file {}: {}", - arg[screenflag],utils::getsyserror())); + error->one(FLERR,"Cannot open screen file {}: {}", + arg[screenflag],utils::getsyserror()); } } else if (strcmp(arg[partscreenflag],"none") == 0) { screen = nullptr; @@ -532,8 +532,8 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : str = fmt::format("{}.{}",arg[partscreenflag],universe->iworld); screen = fopen(str.c_str(),"w"); if (screen == nullptr) - error->one(FLERR,fmt::format("Cannot open screen file {}: {}", - str,utils::getsyserror())); + error->one(FLERR,"Cannot open screen file {}: {}", + str,utils::getsyserror()); } if (partlogflag == 0) { @@ -541,16 +541,16 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : str = fmt::format("log.lammps.{}",universe->iworld); logfile = fopen(str.c_str(),"w"); if (logfile == nullptr) - error->one(FLERR,fmt::format("Cannot open logfile {}: {}", - str, utils::getsyserror())); + error->one(FLERR,"Cannot open logfile {}: {}", + str, utils::getsyserror()); } else if (strcmp(arg[logflag],"none") == 0) { logfile = nullptr; } else { str = fmt::format("{}.{}",arg[logflag],universe->iworld); logfile = fopen(str.c_str(),"w"); if (logfile == nullptr) - error->one(FLERR,fmt::format("Cannot open logfile {}: {}", - str, utils::getsyserror())); + error->one(FLERR,"Cannot open logfile {}: {}", + str, utils::getsyserror()); } } else if (strcmp(arg[partlogflag],"none") == 0) { logfile = nullptr; @@ -558,15 +558,15 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) : str = fmt::format("{}.{}",arg[partlogflag],universe->iworld); logfile = fopen(str.c_str(),"w"); if (logfile == nullptr) - error->one(FLERR,fmt::format("Cannot open logfile {}: {}", - str, utils::getsyserror())); + error->one(FLERR,"Cannot open logfile {}: {}", + str, utils::getsyserror()); } if (strcmp(arg[inflag], "none") != 0) { infile = fopen(arg[inflag],"r"); if (infile == nullptr) - error->one(FLERR,fmt::format("Cannot open input script {}: {}", - arg[inflag], utils::getsyserror())); + error->one(FLERR,"Cannot open input script {}: {}", + arg[inflag], utils::getsyserror()); } } diff --git a/src/library.cpp b/src/library.cpp index c51006f8d8..6565aa6630 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -4734,13 +4734,13 @@ void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr c { int ifix = lmp->modify->find_fix(id); if (ifix < 0) - lmp->error->all(FLERR,fmt::format("Cannot find fix with ID '{}'!", id)); + lmp->error->all(FLERR,"Cannot find fix with ID '{}'!", id); Fix *fix = lmp->modify->fix[ifix]; if (strcmp("external",fix->style) != 0) - lmp->error->all(FLERR,fmt::format("Fix '{}' is not of style " - "external!", id)); + lmp->error->all(FLERR,"Fix '{}' is not of style " + "external!", id); FixExternal * fext = (FixExternal*) fix; fext->set_callback(callback, caller); @@ -4758,12 +4758,12 @@ void lammps_fix_external_set_energy_global(void *handle, char *id, { int ifix = lmp->modify->find_fix(id); if (ifix < 0) - lmp->error->all(FLERR,fmt::format("Can not find fix with ID '{}'!", id)); + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); Fix *fix = lmp->modify->fix[ifix]; if (strcmp("external",fix->style) != 0) - lmp->error->all(FLERR,fmt::format("Fix '{}' is not of style external!", id)); + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); FixExternal * fext = (FixExternal*) fix; fext->set_energy_global(energy); @@ -4781,12 +4781,12 @@ void lammps_fix_external_set_virial_global(void *handle, char *id, { int ifix = lmp->modify->find_fix(id); if (ifix < 0) - lmp->error->all(FLERR,fmt::format("Can not find fix with ID '{}'!", id)); + lmp->error->all(FLERR,"Can not find fix with ID '{}'!", id); Fix *fix = lmp->modify->fix[ifix]; if (strcmp("external",fix->style) != 0) - lmp->error->all(FLERR,fmt::format("Fix '{}' is not of style external!", id)); + lmp->error->all(FLERR,"Fix '{}' is not of style external!", id); FixExternal * fext = (FixExternal*) fix; fext->set_virial_global(virial); diff --git a/src/memory.cpp b/src/memory.cpp index ef2d9c57a4..174932e35e 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -61,8 +61,8 @@ void *Memory::smalloc(bigint nbytes, const char *name) void *ptr = malloc(nbytes); #endif if (ptr == nullptr) - error->one(FLERR,fmt::format("Failed to allocate {} bytes for array {}", - nbytes,name)); + error->one(FLERR,"Failed to allocate {} bytes for array {}", + nbytes,name); return ptr; } @@ -100,8 +100,8 @@ void *Memory::srealloc(void *ptr, bigint nbytes, const char *name) ptr = realloc(ptr,nbytes); #endif if (ptr == nullptr) - error->one(FLERR,fmt::format("Failed to reallocate {} bytes for array {}", - nbytes,name)); + error->one(FLERR,"Failed to reallocate {} bytes for array {}", + nbytes,name); return ptr; } @@ -125,6 +125,6 @@ void Memory::sfree(void *ptr) void Memory::fail(const char *name) { - error->one(FLERR,fmt::format("Cannot create/grow a vector/array of " - "pointers for {}",name)); + error->one(FLERR,"Cannot create/grow a vector/array of " + "pointers for {}",name); } diff --git a/src/modify.cpp b/src/modify.cpp index f8a75ca908..1d6a3d7178 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -250,14 +250,14 @@ void Modify::init() for (i = 0; i < nfix; i++) if (!fix[i]->dynamic_group_allow && group->dynamic[fix[i]->igroup]) - error->all(FLERR,fmt::format("Fix {} does not allow use with a " - "dynamic group",fix[i]->id)); + error->all(FLERR,"Fix {} does not allow use with a " + "dynamic group",fix[i]->id); for (i = 0; i < ncompute; i++) if (!compute[i]->dynamic_group_allow && group->dynamic[compute[i]->igroup]) - error->all(FLERR,fmt::format("Compute {} does not allow use with a " - "dynamic group",compute[i]->id)); + error->all(FLERR,"Compute {} does not allow use with a " + "dynamic group",compute[i]->id); // warn if any particle is time integrated more than once @@ -1221,7 +1221,7 @@ void Modify::add_compute(int narg, char **arg, int trysuffix) for (int icompute = 0; icompute < ncompute; icompute++) if (strcmp(arg[0],compute[icompute]->id) == 0) - error->all(FLERR,fmt::format("Reuse of compute ID '{}'",arg[0])); + error->all(FLERR,"Reuse of compute ID '{}'",arg[0]); // extend Compute list if necessary diff --git a/src/molecule.cpp b/src/molecule.cpp index 9aca15820d..9961014a10 100644 --- a/src/molecule.cpp +++ b/src/molecule.cpp @@ -130,8 +130,8 @@ Molecule::Molecule(LAMMPS *lmp, int narg, char **arg, int &index) : if (me == 0) { fp = fopen(arg[ifile],"r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open molecule file {}: {}", - arg[ifile], utils::getsyserror())); + error->one(FLERR,"Cannot open molecule file {}: {}", + arg[ifile], utils::getsyserror()); } read(0); if (me == 0) fclose(fp); @@ -488,14 +488,14 @@ void Molecule::read(int flag) if (utils::strmatch(text,"^\\d+\\s+\\S+")) { values.next_int(); auto keyword = values.next_string(); - error->one(FLERR,fmt::format("Invalid header keyword: {}",keyword)); + error->one(FLERR,"Invalid header keyword: {}",keyword); } else break; } if (nmatch != nwant) error->one(FLERR,"Invalid header line format in molecule file"); } catch (TokenizerException &e) { - error->one(FLERR, fmt::format("Invalid header in molecule file\n" - "{}", e.what())); + error->one(FLERR, "Invalid header in molecule file\n" + "{}", e.what()); } } @@ -616,11 +616,11 @@ void Molecule::read(int flag) // Error: Either a too long/short section or a typo in the keyword if (utils::strmatch(keyword,"^[A-Za-z ]+$")) - error->one(FLERR,fmt::format("Unknown section '{}' in molecule " - "file\n",keyword)); - else error->one(FLERR,fmt::format("Unexpected line in molecule file " + error->one(FLERR,"Unknown section '{}' in molecule " + "file\n",keyword); + else error->one(FLERR,"Unexpected line in molecule file " "while looking for the next " - "section:\n{}",line)); + "section:\n{}",line); } keyword = parse_keyword(1,line); } @@ -689,8 +689,8 @@ void Molecule::coords(char *line) ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 4) - error->all(FLERR,fmt::format("Invalid line in Coords section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Coords section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) @@ -705,19 +705,19 @@ void Molecule::coords(char *line) x[iatom][2] *= sizescale; } } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Invalid line in Coords section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR,"Invalid line in Coords section of " + "molecule file: {}\n{}",e.what(),line); } for (int i = 0; i < natoms; i++) - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Coords " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Coords " + "section of molecule file",i+1); if (domain->dimension == 2) { for (int i = 0; i < natoms; i++) if (x[i][2] != 0.0) - error->all(FLERR,fmt::format("Z coord in molecule file for atom {} " - "must be 0.0 for 2d-simulation.",i+1)); + error->all(FLERR,"Z coord in molecule file for atom {} " + "must be 0.0 for 2d-simulation.",i+1); } } @@ -735,8 +735,8 @@ void Molecule::types(char *line) ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 2) - error->all(FLERR,fmt::format("Invalid line in Types section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Types section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) @@ -746,17 +746,17 @@ void Molecule::types(char *line) type[iatom] += toffset; } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Types section of " - "molecule file: {}\n{}", e.what(),line)); + error->all(FLERR, "Invalid line in Types section of " + "molecule file: {}\n{}", e.what(),line); } for (int i = 0; i < natoms; i++) { - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Types " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Types " + "section of molecule file",i+1); if ((type[i] <= 0) || (domain->box_exist && (type[i] > atom->ntypes))) - error->all(FLERR,fmt::format("Invalid atom type {} for atom {} " - "in molecule file",type[i],i+1)); + error->all(FLERR,"Invalid atom type {} for atom {} " + "in molecule file",type[i],i+1); ntypes = MAX(ntypes,type[i]); } @@ -775,8 +775,8 @@ void Molecule::molecules(char *line) readline(line); ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 2) - error->all(FLERR,fmt::format("Invalid line in Molecules section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Molecules section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) @@ -786,18 +786,18 @@ void Molecule::molecules(char *line) // molecule[iatom] += moffset; // placeholder for possible molecule offset } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Molecules section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Molecules section of " + "molecule file: {}\n{}",e.what(),line); } for (int i = 0; i < natoms; i++) - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Molecules " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Molecules " + "section of molecule file",i+1); for (int i = 0; i < natoms; i++) if (molecule[i] < 0) - error->all(FLERR,fmt::format("Invalid molecule ID {} for atom {} " - "in molecule file",molecule[i],i+1)); + error->all(FLERR,"Invalid molecule ID {} for atom {} " + "in molecule file",molecule[i],i+1); for (int i = 0; i < natoms; i++) nmolecules = MAX(nmolecules,molecule[i]); @@ -824,15 +824,15 @@ void Molecule::fragments(char *line) while (values.has_next()) { int iatom = values.next_int()-1; if (iatom < 0 || iatom >= natoms) - error->all(FLERR,fmt::format("Invalid atom ID {} for fragment {} in " + error->all(FLERR,"Invalid atom ID {} for fragment {} in " "Fragments section of molecule file", - iatom+1, fragmentnames[i])); + iatom+1, fragmentnames[i]); fragmentmask[i][iatom] = 1; } } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid atom ID in Fragments section of " - "molecule file: {}\n{}", e.what(),line)); + error->all(FLERR, "Invalid atom ID in Fragments section of " + "molecule file: {}\n{}", e.what(),line); } } @@ -849,8 +849,8 @@ void Molecule::charges(char *line) ValueTokenizer values(utils::trim_comment(line)); if ((int)values.count() != 2) - error->all(FLERR,fmt::format("Invalid line in Charges section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Charges section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) @@ -860,13 +860,13 @@ void Molecule::charges(char *line) q[iatom] = values.next_double(); } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Charges section of " - "molecule file: {}.\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Charges section of " + "molecule file: {}.\n{}",e.what(),line); } for (int i = 0; i < natoms; i++) - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Charges " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Charges " + "section of molecule file",i+1); } /* ---------------------------------------------------------------------- @@ -883,8 +883,8 @@ void Molecule::diameters(char *line) ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 2) - error->all(FLERR,fmt::format("Invalid line in Diameters section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Diameters section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) error->all(FLERR,"Invalid atom index in Diameters section of molecule file"); @@ -895,16 +895,16 @@ void Molecule::diameters(char *line) maxradius = MAX(maxradius,radius[iatom]); } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Diameters section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Diameters section of " + "molecule file: {}\n{}",e.what(),line); } for (int i = 0; i < natoms; i++) { - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Diameters " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Diameters " + "section of molecule file",i+1); if (radius[i] < 0.0) - error->all(FLERR,fmt::format("Invalid atom diameter {} for atom {} " - "in molecule file", radius[i], i+1)); + error->all(FLERR,"Invalid atom diameter {} for atom {} " + "in molecule file", radius[i], i+1); } } @@ -921,8 +921,8 @@ void Molecule::masses(char *line) ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 2) - error->all(FLERR,fmt::format("Invalid line in Masses section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Masses section of " + "molecule file: {}",line); int iatom = values.next_int() - 1; if (iatom < 0 || iatom >= natoms) @@ -932,16 +932,16 @@ void Molecule::masses(char *line) rmass[iatom] *= sizescale*sizescale*sizescale; } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Masses section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Masses section of " + "molecule file: {}\n{}",e.what(),line); } for (int i = 0; i < natoms; i++) { - if (count[i] == 0) error->all(FLERR,fmt::format("Atom {} missing in Masses " - "section of molecule file",i+1)); + if (count[i] == 0) error->all(FLERR,"Atom {} missing in Masses " + "section of molecule file",i+1); if (rmass[i] <= 0.0) - error->all(FLERR,fmt::format("Invalid atom mass {} for atom {} " - "in molecule file", radius[i], i+1)); + error->all(FLERR,"Invalid atom mass {} for atom {} " + "in molecule file", radius[i], i+1); } } @@ -970,15 +970,15 @@ void Molecule::bonds(int flag, char *line) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 4) - error->all(FLERR,fmt::format("Invalid line in Bonds section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Bonds section of " + "molecule file: {}",line); values.next_int(); itype = values.next_int(); atom1 = values.next_tagint(); atom2 = values.next_tagint(); } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Bonds section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Bonds section of " + "molecule file: {}\n{}",e.what(),line); } itype += boffset; @@ -1040,16 +1040,16 @@ void Molecule::angles(int flag, char *line) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 5) - error->all(FLERR,fmt::format("Invalid line in Angles section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Angles section of " + "molecule file: {}",line); values.next_int(); itype = values.next_int(); atom1 = values.next_tagint(); atom2 = values.next_tagint(); atom3 = values.next_tagint(); } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Angles section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Angles section of " + "molecule file: {}\n{}",e.what(),line); } itype += aoffset; @@ -1126,8 +1126,8 @@ void Molecule::dihedrals(int flag, char *line) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 6) - error->all(FLERR,fmt::format("Invalid line in Dihedrals section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Dihedrals section of " + "molecule file: {}",line); values.next_int(); itype = values.next_int(); @@ -1136,8 +1136,8 @@ void Molecule::dihedrals(int flag, char *line) atom3 = values.next_tagint(); atom4 = values.next_tagint(); } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Dihedrals section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Dihedrals section of " + "molecule file: {}\n{}",e.what(),line); } itype += doffset; @@ -1228,8 +1228,8 @@ void Molecule::impropers(int flag, char *line) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 6) - error->all(FLERR,fmt::format("Invalid line in Impropers section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Impropers section of " + "molecule file: {}",line); values.next_int(); itype = values.next_int(); atom1 = values.next_tagint(); @@ -1237,8 +1237,8 @@ void Molecule::impropers(int flag, char *line) atom3 = values.next_tagint(); atom4 = values.next_tagint(); } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Impropers section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Impropers section of " + "molecule file: {}\n{}",e.what(),line); } itype += ioffset; @@ -1323,15 +1323,15 @@ void Molecule::nspecial_read(int flag, char *line) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() != 4) - error->all(FLERR,fmt::format("Invalid line in Special Bond Counts section of " - "molecule file: {}",line)); + error->all(FLERR,"Invalid line in Special Bond Counts section of " + "molecule file: {}",line); values.next_int(); c1 = values.next_tagint(); c2 = values.next_tagint(); c3 = values.next_tagint(); } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Special Bond Counts section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Special Bond Counts section of " + "molecule file: {}\n{}",e.what(),line); } if (flag) { @@ -1370,8 +1370,8 @@ void Molecule::special_read(char *line) } } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid line in Special Bonds section of " - "molecule file: {}\n{}",e.what(),line)); + error->all(FLERR, "Invalid line in Special Bonds section of " + "molecule file: {}\n{}",e.what(),line); } } @@ -1500,8 +1500,8 @@ void Molecule::shakeflag_read(char *line) shake_flag[i] = values.next_int(); } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid Shake Flags section in molecule file\n" - "{}", e.what())); + error->all(FLERR, "Invalid Shake Flags section in molecule file\n" + "{}", e.what()); } for (int i = 0; i < natoms; i++) @@ -1570,8 +1570,8 @@ void Molecule::shakeatom_read(char *line) } } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Invalid shake atom in molecule file\n" - "{}", e.what())); + error->all(FLERR,"Invalid shake atom in molecule file\n" + "{}", e.what()); } for (int i = 0; i < natoms; i++) { @@ -1640,8 +1640,8 @@ void Molecule::shaketype_read(char *line) error->all(FLERR,"Invalid shake type data in molecule file"); } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid shake type data in molecule file\n", - "{}", e.what())); + error->all(FLERR, "Invalid shake type data in molecule file\n", + "{}", e.what()); } for (int i = 0; i < natoms; i++) { @@ -1693,8 +1693,8 @@ void Molecule::body(int flag, int pflag, char *line) } else nword += ncount; } } catch (TokenizerException &e) { - error->all(FLERR, fmt::format("Invalid body params in molecule file\n", - "{}", e.what())); + error->all(FLERR, "Invalid body params in molecule file\n", + "{}", e.what()); } } @@ -2055,8 +2055,8 @@ void Molecule::skip_lines(int n, char *line, const std::string §ion) for (int i = 0; i < n; i++) { readline(line); if (utils::strmatch(utils::trim(utils::trim_comment(line)),"^[A-Za-z ]+$")) - error->one(FLERR,fmt::format("Unexpected line in molecule file while " - "skipping {} section:\n{}",section,line)); + error->one(FLERR,"Unexpected line in molecule file while " + "skipping {} section:\n{}",section,line); } } diff --git a/src/ntopo_angle_all.cpp b/src/ntopo_angle_all.cpp index b32d530a4c..b7811052df 100644 --- a/src/ntopo_angle_all.cpp +++ b/src/ntopo_angle_all.cpp @@ -60,10 +60,10 @@ void NTopoAngleAll::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Angle atoms {} {} {} missing on " + error->one(FLERR,"Angle atoms {} {} {} missing on " "proc {} at step {}",angle_atom1[i][m], angle_atom2[i][m],angle_atom3[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_angle_partial.cpp b/src/ntopo_angle_partial.cpp index e793e0ee1d..543658f19f 100644 --- a/src/ntopo_angle_partial.cpp +++ b/src/ntopo_angle_partial.cpp @@ -61,10 +61,10 @@ void NTopoAnglePartial::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Angle atoms {} {} {} missing on " + error->one(FLERR,"Angle atoms {} {} {} missing on " "proc {} at step {}",angle_atom1[i][m], angle_atom2[i][m],angle_atom3[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_angle_template.cpp b/src/ntopo_angle_template.cpp index d958f575b6..ad09979a7a 100644 --- a/src/ntopo_angle_template.cpp +++ b/src/ntopo_angle_template.cpp @@ -78,12 +78,12 @@ void NTopoAngleTemplate::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Angle atoms {} {} {} missing on " + error->one(FLERR,"Angle atoms {} {} {} missing on " "proc {} at step {}", angle_atom1[iatom][m]+tagprev, angle_atom2[iatom][m]+tagprev, angle_atom3[iatom][m]+tagprev, - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_bond_all.cpp b/src/ntopo_bond_all.cpp index 2ae9d35e59..578f98ec81 100644 --- a/src/ntopo_bond_all.cpp +++ b/src/ntopo_bond_all.cpp @@ -57,9 +57,9 @@ void NTopoBondAll::build() if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Bond atoms {} {} missing on " + error->one(FLERR,"Bond atoms {} {} missing on " "proc {} at step {}",tag[i], - bond_atom[i][m],me,update->ntimestep)); + bond_atom[i][m],me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_bond_partial.cpp b/src/ntopo_bond_partial.cpp index 2339db3afd..8d077106db 100644 --- a/src/ntopo_bond_partial.cpp +++ b/src/ntopo_bond_partial.cpp @@ -58,9 +58,9 @@ void NTopoBondPartial::build() if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Bond atoms {} {} missing on " + error->one(FLERR,"Bond atoms {} {} missing on " "proc {} at step {}",tag[i], - bond_atom[i][m],me,update->ntimestep)); + bond_atom[i][m],me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_bond_template.cpp b/src/ntopo_bond_template.cpp index 4a8ed6e069..887ac3aa81 100644 --- a/src/ntopo_bond_template.cpp +++ b/src/ntopo_bond_template.cpp @@ -74,10 +74,10 @@ void NTopoBondTemplate::build() if (atom1 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Bond atoms {} {} missing on " + error->one(FLERR,"Bond atoms {} {} missing on " "proc {} at step {}",tag[i], bond_atom[iatom][m]+tagprev, - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_dihedral_all.cpp b/src/ntopo_dihedral_all.cpp index 5cecad4f78..b77e0cc33f 100644 --- a/src/ntopo_dihedral_all.cpp +++ b/src/ntopo_dihedral_all.cpp @@ -62,11 +62,11 @@ void NTopoDihedralAll::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Dihedral atoms {} {} {} {} missing on " + error->one(FLERR,"Dihedral atoms {} {} {} {} missing on " "proc {} at step {}", dihedral_atom1[i][m],dihedral_atom2[i][m], dihedral_atom3[i][m],dihedral_atom4[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_dihedral_partial.cpp b/src/ntopo_dihedral_partial.cpp index 9c7e1e0205..980f073b67 100644 --- a/src/ntopo_dihedral_partial.cpp +++ b/src/ntopo_dihedral_partial.cpp @@ -64,11 +64,11 @@ void NTopoDihedralPartial::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Dihedral atoms {} {} {} {} missing on " + error->one(FLERR,"Dihedral atoms {} {} {} {} missing on " "proc {} at step {}", dihedral_atom1[i][m],dihedral_atom2[i][m], dihedral_atom3[i][m],dihedral_atom4[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_dihedral_template.cpp b/src/ntopo_dihedral_template.cpp index c30a3183b5..5c6f3d333f 100644 --- a/src/ntopo_dihedral_template.cpp +++ b/src/ntopo_dihedral_template.cpp @@ -80,13 +80,13 @@ void NTopoDihedralTemplate::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Dihedral atoms {} {} {} {} missing on " + error->one(FLERR,"Dihedral atoms {} {} {} {} missing on " "proc {} at step {}", dihedral_atom1[iatom][m]+tagprev, dihedral_atom2[iatom][m]+tagprev, dihedral_atom3[iatom][m]+tagprev, dihedral_atom4[iatom][m]+tagprev, - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_improper_all.cpp b/src/ntopo_improper_all.cpp index c36b02a300..936ed279d7 100644 --- a/src/ntopo_improper_all.cpp +++ b/src/ntopo_improper_all.cpp @@ -62,11 +62,11 @@ void NTopoImproperAll::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Improper atoms {} {} {} {} missing on " + error->one(FLERR,"Improper atoms {} {} {} {} missing on " "proc {} at step {}", improper_atom1[i][m],improper_atom2[i][m], improper_atom3[i][m],improper_atom4[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_improper_partial.cpp b/src/ntopo_improper_partial.cpp index 7ff6cc864f..911e968326 100644 --- a/src/ntopo_improper_partial.cpp +++ b/src/ntopo_improper_partial.cpp @@ -64,13 +64,13 @@ void NTopoImproperPartial::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Improper atoms {} {} {} {}" + error->one(FLERR,"Improper atoms {} {} {} {}" " missing on proc {} at step {}", improper_atom1[i][m], improper_atom2[i][m], improper_atom3[i][m], improper_atom4[i][m], - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/ntopo_improper_template.cpp b/src/ntopo_improper_template.cpp index 43d8d2be38..d8294a7f23 100644 --- a/src/ntopo_improper_template.cpp +++ b/src/ntopo_improper_template.cpp @@ -80,13 +80,13 @@ void NTopoImproperTemplate::build() if (atom1 == -1 || atom2 == -1 || atom3 == -1 || atom4 == -1) { nmissing++; if (lostbond == Thermo::ERROR) - error->one(FLERR,fmt::format("Improper atoms {} {} {} {}" + error->one(FLERR,"Improper atoms {} {} {} {}" " missing on proc {} at step {}", improper_atom1[iatom][m]+tagprev, improper_atom2[iatom][m]+tagprev, improper_atom3[iatom][m]+tagprev, improper_atom4[iatom][m]+tagprev, - me,update->ntimestep)); + me,update->ntimestep); continue; } atom1 = domain->closest_image(i,atom1); diff --git a/src/pair.cpp b/src/pair.cpp index 015129dc5d..42ec13374b 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1729,9 +1729,9 @@ void Pair::write_file(int narg, char **arg) if (utils::file_is_readable(table_file)) { std::string units = utils::get_potential_units(table_file,"table"); if (!units.empty() && (units != update->unit_style)) { - error->one(FLERR,fmt::format("Trying to append to a table file " + error->one(FLERR,"Trying to append to a table file " "with UNITS: {} while units are {}", - units, update->unit_style)); + units, update->unit_style); } std::string date = utils::get_potential_date(table_file,"table"); utils::logmesg(lmp,"Appending to table file {} with DATE: {}\n", @@ -1748,8 +1748,8 @@ void Pair::write_file(int narg, char **arg) datebuf, update->unit_style); } if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open pair_write file {}: {}", - table_file, utils::getsyserror())); + error->one(FLERR,"Cannot open pair_write file {}: {}", + table_file, utils::getsyserror()); fprintf(fp,"# Pair potential %s for atom types %d %d: i,r,energy,force\n", force->pair_style,itype,jtype); if (style == RLINEAR) diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 002429e7b3..c96859a6a5 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -265,8 +265,8 @@ void PairHybrid::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal pair_style command"); if (lmp->kokkos && !utils::strmatch(force->pair_style,"^hybrid.*/kk$")) - error->all(FLERR,fmt::format("Must use pair_style {}/kk with Kokkos", - force->pair_style)); + error->all(FLERR,"Must use pair_style {}/kk with Kokkos", + force->pair_style); // delete old lists, since cannot just change settings diff --git a/src/pair_hybrid_scaled.cpp b/src/pair_hybrid_scaled.cpp index de8801fe24..b74515b083 100644 --- a/src/pair_hybrid_scaled.cpp +++ b/src/pair_hybrid_scaled.cpp @@ -72,8 +72,8 @@ void PairHybridScaled::compute(int eflag, int vflag) for (i = 0; i < nvars; ++i) { j = input->variable->find(scalevars[i].c_str()); if (j < 0) - error->all(FLERR,fmt::format("Variable '{}' not found when updating " - "scale factors",scalevars[i])); + error->all(FLERR,"Variable '{}' not found when updating " + "scale factors",scalevars[i]); vals[i] = input->variable->compute_equal(j); } for (i = 0; i < nstyles; ++i) { @@ -245,8 +245,8 @@ void PairHybridScaled::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal pair_style command"); if (lmp->kokkos && !utils::strmatch(force->pair_style,"^hybrid.*/kk$")) - error->all(FLERR,fmt::format("Must use pair_style {}/kk with Kokkos", - force->pair_style)); + error->all(FLERR,"Must use pair_style {}/kk with Kokkos", + force->pair_style); if (atom->avec->forceclearflag) error->all(FLERR,"Atom style is not compatible with pair_style hybrid/scaled"); @@ -397,8 +397,8 @@ double PairHybridScaled::single(int i, int j, int itype, int jtype, double rsq, for (i = 0; i < nvars; ++i) { j = input->variable->find(scalevars[i].c_str()); if (j < 0) - error->all(FLERR,fmt::format("Variable '{}' not found when updating " - "scale factors",scalevars[i])); + error->all(FLERR,"Variable '{}' not found when updating " + "scale factors",scalevars[i]); vals[i] = input->variable->compute_equal(j); } for (i = 0; i < nstyles; ++i) { diff --git a/src/pair_table.cpp b/src/pair_table.cpp index 7e331a16a4..3c9b51e3f2 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -116,27 +116,27 @@ void PairTable::compute(int eflag, int vflag) if (rsq < cutsq[itype][jtype]) { tb = &tables[tabindex[itype][jtype]]; if (rsq < tb->innersq) - error->one(FLERR,fmt::format("Pair distance < table inner cutoff: " - "ijtype {} {} dist {}",itype,jtype,sqrt(rsq))); + error->one(FLERR,"Pair distance < table inner cutoff: " + "ijtype {} {} dist {}",itype,jtype,sqrt(rsq)); if (tabstyle == LOOKUP) { itable = static_cast ((rsq - tb->innersq) * tb->invdelta); if (itable >= tlm1) - error->one(FLERR,fmt::format("Pair distance > table outer cutoff: " - "ijtype {} {} dist {}",itype,jtype,sqrt(rsq))); + error->one(FLERR,"Pair distance > table outer cutoff: " + "ijtype {} {} dist {}",itype,jtype,sqrt(rsq)); fpair = factor_lj * tb->f[itable]; } else if (tabstyle == LINEAR) { itable = static_cast ((rsq - tb->innersq) * tb->invdelta); if (itable >= tlm1) - error->one(FLERR,fmt::format("Pair distance > table outer cutoff: " - "ijtype {} {} dist {}",itype,jtype,sqrt(rsq))); + error->one(FLERR,"Pair distance > table outer cutoff: " + "ijtype {} {} dist {}",itype,jtype,sqrt(rsq)); fraction = (rsq - tb->rsq[itable]) * tb->invdelta; value = tb->f[itable] + fraction*tb->df[itable]; fpair = factor_lj * value; } else if (tabstyle == SPLINE) { itable = static_cast ((rsq - tb->innersq) * tb->invdelta); if (itable >= tlm1) - error->one(FLERR,fmt::format("Pair distance > table outer cutoff: " - "ijtype {} {} dist {}",itype,jtype,sqrt(rsq))); + error->one(FLERR,"Pair distance > table outer cutoff: " + "ijtype {} {} dist {}",itype,jtype,sqrt(rsq)); b = (rsq - tb->rsq[itable]) * tb->invdelta; a = 1.0 - b; value = a * tb->f[itable] + b * tb->f[itable+1] + @@ -568,7 +568,7 @@ void PairTable::param_extract(Table *tb, char *line) tb->fplo = values.next_double(); tb->fphi = values.next_double(); } else { - error->one(FLERR,fmt::format("Invalid keyword {} in pair table parameters", word).c_str()); + error->one(FLERR,"Invalid keyword {} in pair table parameters", word); } } } catch (TokenizerException &e) { diff --git a/src/potential_file_reader.cpp b/src/potential_file_reader.cpp index ce369253cf..3d357771c7 100644 --- a/src/potential_file_reader.cpp +++ b/src/potential_file_reader.cpp @@ -62,8 +62,8 @@ PotentialFileReader::PotentialFileReader(LAMMPS *lmp, try { reader = open_potential(filename); if (!reader) { - error->one(FLERR, fmt::format("cannot open {} potential file {}: {}", - potential_name, filename, utils::getsyserror())); + error->one(FLERR, "cannot open {} potential file {}: {}", + potential_name, filename, utils::getsyserror()); } } catch (FileReaderException &e) { error->one(FLERR, e.what()); @@ -268,9 +268,9 @@ TextFileReader *PotentialFileReader::open_potential(const std::string &path) { } else if ((units == "real") && (unit_style == "metal") && (unit_convert & utils::REAL2METAL)) { unit_convert = utils::REAL2METAL; } else { - lmp->error->one(FLERR, fmt::format("{} file {} requires {} units " + lmp->error->one(FLERR, "{} file {} requires {} units " "but {} units are in use", filetype, - filename, units, unit_style)); + filename, units, unit_style); } } } diff --git a/src/procmap.cpp b/src/procmap.cpp index 87ab415e5e..03a605c0d9 100644 --- a/src/procmap.cpp +++ b/src/procmap.cpp @@ -308,8 +308,8 @@ void ProcMap::custom_grid(char *cfile, int nprocs, procgrid[1] = procs.next_int(); procgrid[2] = procs.next_int(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Processors custom grid file " - "is inconsistent: {}", e.what())); + error->all(FLERR,"Processors custom grid file " + "is inconsistent: {}", e.what()); } int flag = 0; @@ -337,8 +337,8 @@ void ProcMap::custom_grid(char *cfile, int nprocs, cmap[i][2] = pmap.next_int(); cmap[i][3] = pmap.next_int(); } catch (TokenizerException &e) { - error->one(FLERR,fmt::format("Processors custom grid file is " - "inconsistent: {}", e.what())); + error->one(FLERR,"Processors custom grid file is " + "inconsistent: {}", e.what()); } } fclose(fp); diff --git a/src/read_data.cpp b/src/read_data.cpp index 57d5d898a9..01de7ab3a9 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -720,8 +720,8 @@ void ReadData::command(int narg, char **arg) if (firstpass) impropercoeffs(1); else skip_lines(nimpropertypes); - } else error->all(FLERR,fmt::format("Unknown identifier in data file: {}", - keyword)); + } else error->all(FLERR,"Unknown identifier in data file: {}", + keyword); parse_keyword(0); } @@ -1178,7 +1178,7 @@ void ReadData::header(int firstpass) for (n = 0; n < NSECTIONS; n++) if (strcmp(keyword,section_keywords[n]) == 0) break; if (n == NSECTIONS) - error->all(FLERR,fmt::format("Unknown identifier in data file: {}",keyword)); + error->all(FLERR,"Unknown identifier in data file: {}",keyword); // error checks on header values // must be consistent with atom style and other header values @@ -1970,8 +1970,8 @@ void ReadData::open(char *file) } if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open file {}: {}", + file, utils::getsyserror()); } /* ---------------------------------------------------------------------- diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 40e4414543..456839dc61 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -109,8 +109,8 @@ void ReadRestart::command(int narg, char **arg) } fp = fopen(hfile.c_str(),"rb"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open restart file {}: {}", - hfile, utils::getsyserror())); + error->one(FLERR,"Cannot open restart file {}: {}", + hfile, utils::getsyserror()); } // read magic string, endian flag, format revision @@ -271,8 +271,8 @@ void ReadRestart::command(int narg, char **arg) procfile.replace(procfile.find("%"),1,fmt::format("{}",iproc)); fp = fopen(procfile.c_str(),"rb"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open restart file {}: {}", - procfile, utils::getsyserror())); + error->one(FLERR,"Cannot open restart file {}: {}", + procfile, utils::getsyserror()); utils::sfread(FLERR,&flag,sizeof(int),1,fp,nullptr,error); if (flag != PROCSPERFILE) error->one(FLERR,"Invalid flag in peratom section of restart file"); @@ -335,8 +335,8 @@ void ReadRestart::command(int narg, char **arg) procfile.replace(procfile.find("%"),1,fmt::format("{}",icluster)); fp = fopen(procfile.c_str(),"rb"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open restart file {}: {}", - procfile, utils::getsyserror())); + error->one(FLERR,"Cannot open restart file {}: {}", + procfile, utils::getsyserror()); } int flag,procsperfile; diff --git a/src/reader.cpp b/src/reader.cpp index ba172f58ee..ae6f7f5329 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -56,8 +56,8 @@ void Reader::open_file(const char *file) } if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open file {}: {}", + file, utils::getsyserror()); } /* ---------------------------------------------------------------------- diff --git a/src/reset_atom_ids.cpp b/src/reset_atom_ids.cpp index 47dae3cb56..cc9a05d11e 100644 --- a/src/reset_atom_ids.cpp +++ b/src/reset_atom_ids.cpp @@ -253,8 +253,8 @@ void ResetIDs::command(int narg, char **arg) int all; MPI_Allreduce(&badcount,&all,1,MPI_INT,MPI_SUM,world); if (all) - error->all(FLERR,fmt::format("Reset_ids missing {} bond topology atom IDs - " - "use comm_modify cutoff",all)); + error->all(FLERR,"Reset_ids missing {} bond topology atom IDs - " + "use comm_modify cutoff",all); // reset IDs and atom map for owned atoms diff --git a/src/thermo.cpp b/src/thermo.cpp index 6cd5abd9de..2229b2efbd 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -422,8 +422,8 @@ bigint Thermo::lost_check() // error message if (lostflag == Thermo::ERROR) - error->all(FLERR,fmt::format("Lost atoms: original {} current {}", - atom->natoms,ntotal)); + error->all(FLERR,"Lost atoms: original {} current {}", + atom->natoms,ntotal); // warning message diff --git a/src/universe.cpp b/src/universe.cpp index 79de6948df..6dac83745c 100644 --- a/src/universe.cpp +++ b/src/universe.cpp @@ -111,8 +111,8 @@ void Universe::reorder(char *style, char *arg) rv = sscanf(line,"%d %d",&me_orig,&me_new); if (me_orig < 0 || me_orig >= nprocs || me_new < 0 || me_new >= nprocs || rv != 2) - error->one(FLERR,fmt::format("Invalid entry '{} {}' in -reorder " - "file", me_orig, me_new)); + error->one(FLERR,"Invalid entry '{} {}' in -reorder " + "file", me_orig, me_new); uni2orig[me_new] = me_orig; for (int i = 1; i < nprocs; i++) { @@ -121,8 +121,8 @@ void Universe::reorder(char *style, char *arg) rv = sscanf(line,"%d %d",&me_orig,&me_new); if (me_orig < 0 || me_orig >= nprocs || me_new < 0 || me_new >= nprocs || rv != 2) - error->one(FLERR,fmt::format("Invalid entry '{} {}' in -reorder " - "file", me_orig, me_new)); + error->one(FLERR,"Invalid entry '{} {}' in -reorder " + "file", me_orig, me_new); uni2orig[me_new] = me_orig; } fclose(fp); diff --git a/src/utils.cpp b/src/utils.cpp index 2dcf77eacd..aa13950620 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -1107,9 +1107,9 @@ FILE *utils::open_potential(const std::string &name, LAMMPS *lmp, if (auto_convert == nullptr) { if (!units.empty() && (units != unit_style) && (me == 0)) { - error->one(FLERR, fmt::format("Potential file {} requires {} units " + error->one(FLERR, "Potential file {} requires {} units " "but {} units are in use", name, units, - unit_style)); + unit_style); return nullptr; } } else { @@ -1123,9 +1123,9 @@ FILE *utils::open_potential(const std::string &name, LAMMPS *lmp, && (*auto_convert & REAL2METAL)) { *auto_convert = REAL2METAL; } else { - error->one(FLERR, fmt::format("Potential file {} requires {} units " + error->one(FLERR, "Potential file {} requires {} units " "but {} units are in use", name, - units, unit_style)); + units, unit_style); return nullptr; } } diff --git a/src/variable.cpp b/src/variable.cpp index 3e93a33797..dfe5494c3f 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -534,8 +534,8 @@ void Variable::set(int narg, char **arg) if (replaceflag) return; if (!utils::is_id(arg[0])) - error->all(FLERR,fmt::format("Variable name '{}' must have only alphanu" - "meric characters or underscores",arg[0])); + error->all(FLERR,"Variable name '{}' must have only alphanu" + "meric characters or underscores",arg[0]); names[nvar] = utils::strdup(arg[0]); nvar++; } @@ -606,8 +606,8 @@ int Variable::next(int narg, char **arg) for (int iarg = 0; iarg < narg; iarg++) { ivar = find(arg[iarg]); if (ivar < 0) - error->all(FLERR,fmt::format("Invalid variable '{}' in next command", - arg[iarg])); + error->all(FLERR,"Invalid variable '{}' in next command", + arg[iarg]); if (style[ivar] == ULOOP && style[find(arg[0])] == UNIVERSE) continue; else if (style[ivar] == UNIVERSE && style[find(arg[0])] == ULOOP) continue; else if (style[ivar] != style[find(arg[0])]) @@ -925,8 +925,8 @@ char *Variable::retrieve(const char *name) } else if (style[ivar] == PYTHON) { int ifunc = python->variable_match(data[ivar][0],name,0); if (ifunc < 0) - error->all(FLERR,fmt::format("Python variable {} does not match " - "Python function {}", name, data[ivar][0])); + error->all(FLERR,"Python variable {} does not match " + "Python function {}", name, data[ivar][0]); python->invoke_function(ifunc,data[ivar][1]); str = data[ivar][1]; // if Python func returns a string longer than VALUELENGTH @@ -5050,8 +5050,8 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : if (me == 0) { fp = fopen(file,"r"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open file variable file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open file variable file {}: {}", + file, utils::getsyserror()); } // if atomfile-style variable, must store per-atom values read from file @@ -5188,12 +5188,12 @@ int VarReader::read_peratom() tag = words.next_bigint(); value = words.next_double(); } catch (TokenizerException &e) { - error->all(FLERR,fmt::format("Invalid atomfile line '{}': {}", - buf,e.what())); + error->all(FLERR,"Invalid atomfile line '{}': {}", + buf,e.what()); } if ((tag <= 0) || (tag > map_tag_max)) - error->all(FLERR,fmt::format("Invalid atom ID {} in variable " - "file", tag)); + error->all(FLERR,"Invalid atom ID {} in variable " + "file", tag); if ((m = atom->map(tag)) >= 0) vstore[m] = value; buf = next + 1; } diff --git a/src/write_coeff.cpp b/src/write_coeff.cpp index 79a99502a6..b0c547a7d6 100644 --- a/src/write_coeff.cpp +++ b/src/write_coeff.cpp @@ -52,8 +52,8 @@ void WriteCoeff::command(int narg, char **arg) FILE *one = fopen(file,"wb+"); if (one == nullptr) - error->one(FLERR,fmt::format("Cannot open coeff file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open coeff file {}: {}", + file, utils::getsyserror()); if (force->pair && force->pair->writedata) { fprintf(one,"# pair_style %s\npair_coeff\n",force->pair_style); @@ -86,8 +86,8 @@ void WriteCoeff::command(int narg, char **arg) FILE *two = fopen(file+4,"w"); if (two == nullptr) - error->one(FLERR,fmt::format("Cannot open coeff file {}: {}", - file+4, utils::getsyserror())); + error->one(FLERR,"Cannot open coeff file {}: {}", + file+4, utils::getsyserror()); fprintf(two,"# LAMMPS coeff file via write_coeff, version %s\n", lmp->version); diff --git a/src/write_data.cpp b/src/write_data.cpp index 388fab1183..3db35190b5 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -175,8 +175,8 @@ void WriteData::write(const std::string &file) if (me == 0) { fp = fopen(file.c_str(),"w"); if (fp == nullptr) - error->one(FLERR,fmt::format("Cannot open data file {}: {}", - file, utils::getsyserror())); + error->one(FLERR,"Cannot open data file {}: {}", + file, utils::getsyserror()); } // proc 0 writes header, ntype-length arrays, force fields diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 350f083be2..45a0267d19 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -231,8 +231,8 @@ void WriteRestart::write(std::string file) fp = fopen(base.c_str(),"wb"); if (fp == nullptr) - error->one(FLERR, fmt::format("Cannot open restart file {}: {}", - base, utils::getsyserror())); + error->one(FLERR, "Cannot open restart file {}: {}", + base, utils::getsyserror()); } // proc 0 writes magic string, endian flag, numeric version @@ -294,8 +294,8 @@ void WriteRestart::write(std::string file) if (filewriter) { fp = fopen(multiname.c_str(),"wb"); if (fp == nullptr) - error->one(FLERR, fmt::format("Cannot open restart file {}: {}", - multiname, utils::getsyserror())); + error->one(FLERR, "Cannot open restart file {}: {}", + multiname, utils::getsyserror()); write_int(PROCSPERFILE,nclusterprocs); } } From ad843f977f3a80a8901f1466d37b226608d8f6ac Mon Sep 17 00:00:00 2001 From: Andreas Singraber Date: Mon, 26 Apr 2021 23:46:27 +0200 Subject: [PATCH 147/542] Auto-download works now for CMake build. --- cmake/Modules/FindN2P2.cmake | 5 ++-- cmake/Modules/Packages/USER-HDNNP.cmake | 32 ++++++++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/cmake/Modules/FindN2P2.cmake b/cmake/Modules/FindN2P2.cmake index 975f424a39..8a97b7dd81 100644 --- a/cmake/Modules/FindN2P2.cmake +++ b/cmake/Modules/FindN2P2.cmake @@ -34,19 +34,20 @@ find_package_handle_standard_args(N2P2 DEFAULT_MSG if(N2P2_FOUND) if (NOT TARGET N2P2::N2P2) + # n2p2 core library "libnnp" add_library(N2P2::LIBNNP UNKNOWN IMPORTED) set_target_properties(N2P2::LIBNNP PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} IMPORTED_LOCATION ${N2P2_LIBNNP}) + # n2p2 interface library "libnnpif" add_library(N2P2::LIBNNPIF UNKNOWN IMPORTED) set_target_properties(N2P2::LIBNNPIF PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR} IMPORTED_LOCATION ${N2P2_LIBNNPIF}) + # Put libnnp, libnnpif and include directory together. add_library(N2P2::N2P2 INTERFACE IMPORTED) set_property(TARGET N2P2::N2P2 PROPERTY INTERFACE_LINK_LIBRARIES N2P2::LIBNNPIF N2P2::LIBNNP) - #set(N2P2_INCLUDE_DIRS ${N2P2_INCLUDE_DIR}) - #set(N2P2_LIBRARIES ${N2P2_LIBNNPIF} ${N2P2_LIBNNP}) set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA}) endif() endif() diff --git a/cmake/Modules/Packages/USER-HDNNP.cmake b/cmake/Modules/Packages/USER-HDNNP.cmake index 2517e3304d..1829585ea4 100644 --- a/cmake/Modules/Packages/USER-HDNNP.cmake +++ b/cmake/Modules/Packages/USER-HDNNP.cmake @@ -6,31 +6,45 @@ else() endif() option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT}) if(DOWNLOAD_N2P2) - set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.2.tar.gz" CACHE STRING "URL for n2p2 tarball") - set(N2P2_MD5 "20cf194d14b1f1c72f38879bafda67e2" CACHE STRING "MD5 checksum of N2P2 tarball") + set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.3.tar.gz" CACHE STRING "URL for n2p2 tarball") + set(N2P2_MD5 "5cd30194701db198e4a72ee94fa6e0db" CACHE STRING "MD5 checksum of N2P2 tarball") mark_as_advanced(N2P2_URL) mark_as_advanced(N2P2_MD5) include(ExternalProject) ExternalProject_Add(n2p2_build - DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} URL ${N2P2_URL} URL_MD5 ${N2P2_MD5} UPDATE_COMMAND "" SOURCE_SUBDIR src/ BUILD_IN_SOURCE 1 CONFIGURE_COMMAND "" - BUILD_COMMAND "make libnnpif" + BUILD_COMMAND make libnnpif INSTALL_COMMAND "" #BUILD_BYPRODUCTS /lib/libnnp.a /lib/libnnpif.a ) - ExternalProject_get_property(n2p2_build INSTALL_DIR) - add_library(LAMMPS::N2P2 STATIC IMPORTED GLOBAL) - set_target_properties(LAMMPS::N2P2 PROPERTIES - IMPORTED_LOCATION "${INSTALL_DIR}/lib/libnnp.a" - INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include") + ExternalProject_get_property(n2p2_build SOURCE_DIR) + # n2p2 core library "libnnp" + add_library(LAMMPS::N2P2::LIBNNP UNKNOWN IMPORTED) + set_target_properties(LAMMPS::N2P2::LIBNNP PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnp.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include") + # n2p2 interface library "libnnpif" + add_library(LAMMPS::N2P2::LIBNNPIF UNKNOWN IMPORTED) + set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnpif.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include") + # Put libnnp, libnnpif and include directory together. + add_library(LAMMPS::N2P2 INTERFACE IMPORTED) + set_property(TARGET LAMMPS::N2P2 PROPERTY + INTERFACE_LINK_LIBRARIES LAMMPS::N2P2::LIBNNPIF LAMMPS::N2P2::LIBNNP) target_link_libraries(lammps PRIVATE LAMMPS::N2P2) + add_dependencies(LAMMPS::N2P2 n2p2_build) + file(MAKE_DIRECTORY "${SOURCE_DIR}/include") + file(MAKE_DIRECTORY "${SOURCE_DIR}/lib") + file(TOUCH "${SOURCE_DIR}/lib/lammps-extra.cmake") + include("${SOURCE_DIR}/lib/lammps-extra.cmake") else() find_package(N2P2) if(NOT N2P2_FOUND) From 692da3bf88823da6e8cda09bc31d510577f298b3 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Apr 2021 16:28:19 -0600 Subject: [PATCH 148/542] Update Kokkos library in LAMMPS to v3.4.0 --- lib/kokkos/CHANGELOG.md | 163 ++ lib/kokkos/CMakeLists.txt | 34 +- lib/kokkos/Makefile.kokkos | 87 +- lib/kokkos/Makefile.targets | 2 + lib/kokkos/algorithms/src/Kokkos_Random.hpp | 21 +- .../algorithms/unit_tests/CMakeLists.txt | 64 +- lib/kokkos/algorithms/unit_tests/Makefile | 12 +- .../unit_tests/TestOpenMP_Sort1D.cpp | 2 + .../algorithms/unit_tests/TestRandom.hpp | 28 + .../unit_tests/TestRandomCommon.hpp | 60 + .../unit_tests/TestSortCommon.hpp} | 12 +- lib/kokkos/appveyor.yml | 6 +- lib/kokkos/bin/kokkos_launch_compiler | 88 +- lib/kokkos/bin/nvcc_wrapper | 4 +- lib/kokkos/cmake/CTestConfig.cmake.in | 91 + lib/kokkos/cmake/KokkosCI.cmake | 350 +++ lib/kokkos/cmake/KokkosCTest.cmake.in | 261 ++ lib/kokkos/cmake/KokkosConfig.cmake.in | 45 +- lib/kokkos/cmake/KokkosConfigCommon.cmake.in | 219 +- lib/kokkos/cmake/KokkosCore_config.h.in | 4 + lib/kokkos/cmake/Modules/CudaToolkit.cmake | 86 +- lib/kokkos/cmake/Modules/FindTPLCUDA.cmake | 2 +- lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake | 2 +- lib/kokkos/cmake/Modules/FindTPLROCM.cmake | 11 + .../cmake/compile_tests/cplusplus14.cpp | 8 + .../compile_tests/cuda_compute_capability.cc | 1 + lib/kokkos/cmake/compile_tests/pthread.cpp | 2 +- lib/kokkos/cmake/fake_tribits.cmake | 81 +- lib/kokkos/cmake/kokkos_arch.cmake | 92 +- lib/kokkos/cmake/kokkos_compiler_id.cmake | 49 +- lib/kokkos/cmake/kokkos_corner_cases.cmake | 7 +- lib/kokkos/cmake/kokkos_enable_devices.cmake | 13 +- lib/kokkos/cmake/kokkos_enable_options.cmake | 18 +- lib/kokkos/cmake/kokkos_functions.cmake | 41 +- lib/kokkos/cmake/kokkos_test_cxx_std.cmake | 13 + lib/kokkos/cmake/kokkos_tpls.cmake | 8 + lib/kokkos/cmake/kokkos_tribits.cmake | 119 +- lib/kokkos/containers/src/CMakeLists.txt | 3 - lib/kokkos/containers/src/Kokkos_DualView.hpp | 170 +- .../containers/src/Kokkos_DynRankView.hpp | 36 +- .../containers/src/Kokkos_DynamicView.hpp | 6 + .../containers/src/Kokkos_OffsetView.hpp | 30 +- .../containers/src/Kokkos_ScatterView.hpp | 234 +- .../containers/src/Kokkos_UnorderedMap.hpp | 33 +- .../src/impl/Kokkos_Bitset_impl.hpp | 14 +- .../src/impl/Kokkos_UnorderedMap_impl.hpp | 4 +- .../containers/unit_tests/CMakeLists.txt | 6 +- lib/kokkos/containers/unit_tests/Makefile | 2 +- .../containers/unit_tests/TestDualView.hpp | 139 +- .../containers/unit_tests/TestDynamicView.hpp | 3 - .../unit_tests/TestHIP_Category.hpp | 51 - .../unit_tests/TestHPX_Category.hpp | 51 - .../containers/unit_tests/TestOffsetView.hpp | 18 - .../unit_tests/TestOpenMP_Category.hpp | 51 - .../unit_tests/TestSYCL_Category.hpp | 51 - .../containers/unit_tests/TestScatterView.hpp | 4 + .../unit_tests/TestSerial_Category.hpp | 51 - .../unit_tests/TestStaticCrsGraph.hpp | 3 - .../unit_tests/TestThreads_Category.hpp | 51 - .../unit_tests/TestUnorderedMap.hpp | 11 +- lib/kokkos/core/perf_test/CMakeLists.txt | 24 +- .../core/perf_test/PerfTestGramSchmidt.cpp | 6 +- lib/kokkos/core/src/CMakeLists.txt | 3 +- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp | 469 +-- .../Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp | 5 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Half.hpp | 281 +- .../core/src/Cuda/Kokkos_Cuda_Instance.cpp | 156 +- .../core/src/Cuda/Kokkos_Cuda_Instance.hpp | 34 +- .../src/Cuda/Kokkos_Cuda_KernelLaunch.hpp | 14 +- .../src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp | 37 + .../core/src/Cuda/Kokkos_Cuda_Parallel.hpp | 53 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp | 97 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp | 2 +- .../src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp | 1 + .../HIP/Kokkos_HIP_BlockSize_Deduction.hpp | 226 -- .../core/src/HIP/Kokkos_HIP_Instance.cpp | 50 +- .../core/src/HIP/Kokkos_HIP_Instance.hpp | 74 +- .../core/src/HIP/Kokkos_HIP_KernelLaunch.hpp | 133 +- .../core/src/HIP/Kokkos_HIP_MDRangePolicy.hpp | 37 + .../src/HIP/Kokkos_HIP_Parallel_MDRange.hpp | 53 +- .../src/HIP/Kokkos_HIP_Parallel_Range.hpp | 27 +- .../core/src/HIP/Kokkos_HIP_Parallel_Team.hpp | 23 +- lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp | 363 +-- lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp | 97 +- .../core/src/KokkosExp_MDRangePolicy.hpp | 193 +- lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp | 14 - lib/kokkos/core/src/Kokkos_Complex.hpp | 250 +- lib/kokkos/core/src/Kokkos_Core.hpp | 9 + lib/kokkos/core/src/Kokkos_Core_fwd.hpp | 39 +- lib/kokkos/core/src/Kokkos_Crs.hpp | 2 +- lib/kokkos/core/src/Kokkos_Cuda.hpp | 46 +- lib/kokkos/core/src/Kokkos_CudaSpace.hpp | 237 +- lib/kokkos/core/src/Kokkos_ExecPolicy.hpp | 90 +- lib/kokkos/core/src/Kokkos_HBWSpace.hpp | 24 - lib/kokkos/core/src/Kokkos_HIP.hpp | 1 + lib/kokkos/core/src/Kokkos_HIP_Space.hpp | 220 +- lib/kokkos/core/src/Kokkos_HPX.hpp | 60 +- lib/kokkos/core/src/Kokkos_HostSpace.hpp | 27 +- lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp | 4 +- lib/kokkos/core/src/Kokkos_Macros.hpp | 6 + .../core/src/Kokkos_MathematicalFunctions.hpp | 233 ++ lib/kokkos/core/src/Kokkos_MemoryPool.hpp | 7 +- lib/kokkos/core/src/Kokkos_NumericTraits.hpp | 191 +- lib/kokkos/core/src/Kokkos_OpenMP.hpp | 8 - lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp | 18 - .../core/src/Kokkos_OpenMPTargetSpace.hpp | 74 +- lib/kokkos/core/src/Kokkos_Parallel.hpp | 83 +- .../core/src/Kokkos_Parallel_Reduce.hpp | 32 +- lib/kokkos/core/src/Kokkos_SYCL.hpp | 32 +- lib/kokkos/core/src/Kokkos_SYCL_Space.hpp | 167 +- lib/kokkos/core/src/Kokkos_ScratchSpace.hpp | 121 +- lib/kokkos/core/src/Kokkos_Serial.hpp | 39 +- lib/kokkos/core/src/Kokkos_TaskScheduler.hpp | 4 +- lib/kokkos/core/src/Kokkos_Threads.hpp | 8 - lib/kokkos/core/src/Kokkos_Tuners.hpp | 96 +- lib/kokkos/core/src/Kokkos_View.hpp | 86 +- .../core/src/OpenMP/Kokkos_OpenMP_Exec.hpp | 2 +- .../src/OpenMP/Kokkos_OpenMP_Parallel.hpp | 30 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp | 106 +- .../Kokkos_OpenMPTarget_Error.hpp} | 36 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp | 62 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp | 489 +++- .../Kokkos_OpenMPTarget_Instance.cpp | 59 +- .../Kokkos_OpenMPTarget_Parallel.hpp | 733 +++-- .../Kokkos_OpenMPTarget_Parallel_MDRange.hpp | 118 +- .../Kokkos_OpenMPTarget_UniqueToken.hpp | 135 + lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp | 69 +- .../SYCL/Kokkos_SYCL_Abort.hpp} | 20 +- .../core/src/SYCL/Kokkos_SYCL_DeepCopy.hpp | 94 + .../core/src/SYCL/Kokkos_SYCL_Instance.cpp | 194 +- .../core/src/SYCL/Kokkos_SYCL_Instance.hpp | 273 +- .../src/SYCL/Kokkos_SYCL_MDRangePolicy.hpp | 37 + .../src/SYCL/Kokkos_SYCL_Parallel_Range.hpp | 224 +- .../src/SYCL/Kokkos_SYCL_Parallel_Reduce.hpp | 641 ++-- .../src/SYCL/Kokkos_SYCL_Parallel_Scan.hpp | 62 +- .../src/SYCL/Kokkos_SYCL_Parallel_Team.hpp | 835 ++++++ .../core/src/SYCL/Kokkos_SYCL_Space.cpp | 373 +-- lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp | 816 ++++++ .../core/src/SYCL/Kokkos_SYCL_UniqueToken.hpp | 134 + .../core/src/Threads/Kokkos_ThreadsExec.cpp | 4 +- .../core/src/Threads/Kokkos_ThreadsTeam.hpp | 35 +- .../core/src/decl/Kokkos_Declare_CUDA.hpp | 9 + .../src/decl/Kokkos_Declare_OPENMPTARGET.hpp | 1 + .../core/src/decl/Kokkos_Declare_SYCL.hpp | 3 + lib/kokkos/core/src/fwd/Kokkos_Fwd_HIP.hpp | 5 +- lib/kokkos/core/src/fwd/Kokkos_Fwd_SYCL.hpp | 5 +- .../src/impl/KokkosExp_Host_IterateTile.hpp | 180 +- .../src/impl/KokkosExp_IterateTileGPU.hpp | 2580 ++--------------- .../core/src/impl/Kokkos_AnalyzePolicy.hpp | 396 +-- .../core/src/impl/Kokkos_Atomic_Exchange.hpp | 6 +- .../core/src/impl/Kokkos_Atomic_Generic.hpp | 2 +- .../core/src/impl/Kokkos_Atomic_MinMax.hpp | 96 + .../core/src/impl/Kokkos_Atomic_View.hpp | 12 +- lib/kokkos/core/src/impl/Kokkos_ClockTic.hpp | 14 +- .../core/src/impl/Kokkos_Combined_Reducer.hpp | 51 +- lib/kokkos/core/src/impl/Kokkos_Core.cpp | 505 ++-- lib/kokkos/core/src/impl/Kokkos_Error.cpp | 7 +- lib/kokkos/core/src/impl/Kokkos_Error.hpp | 17 +- .../src/impl/Kokkos_FixedBufferMemoryPool.hpp | 2 +- .../core/src/impl/Kokkos_FunctorAdapter.hpp | 141 +- lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp | 4 +- .../core/src/impl/Kokkos_HostBarrier.cpp | 27 +- .../core/src/impl/Kokkos_HostSharedPtr.hpp | 178 ++ lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp | 115 +- .../core/src/impl/Kokkos_HostThreadTeam.hpp | 29 +- .../core/src/impl/Kokkos_Memory_Fence.hpp | 3 + .../core/src/impl/Kokkos_NumericTraits.cpp | 73 + lib/kokkos/core/src/impl/Kokkos_Profiling.cpp | 582 ++-- lib/kokkos/core/src/impl/Kokkos_Profiling.hpp | 230 +- .../src/impl/Kokkos_Profiling_C_Interface.h | 53 +- .../src/impl/Kokkos_Profiling_Interface.hpp | 36 +- .../core/src/impl/Kokkos_SharedAlloc.hpp | 81 +- .../src/impl/Kokkos_SharedAlloc_timpl.hpp | 287 ++ .../src/impl/Kokkos_SimpleTaskScheduler.hpp | 6 +- lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp | 24 +- lib/kokkos/core/src/impl/Kokkos_Traits.hpp | 7 - lib/kokkos/core/src/impl/Kokkos_Utilities.hpp | 358 +-- .../core/src/impl/Kokkos_ViewLayoutTiled.hpp | 185 +- .../core/src/impl/Kokkos_ViewMapping.hpp | 6 +- .../core/src/setup/Kokkos_Setup_SYCL.hpp | 73 + .../src/traits/Kokkos_ExecutionSpaceTrait.hpp | 95 + .../src/traits/Kokkos_GraphKernelTrait.hpp} | 73 +- .../core/src/traits/Kokkos_IndexTypeTrait.hpp | 107 + .../traits/Kokkos_IterationPatternTrait.hpp} | 68 +- .../src/traits/Kokkos_LaunchBoundsTrait.hpp} | 72 +- .../traits/Kokkos_OccupancyControlTrait.hpp | 208 ++ .../src/traits/Kokkos_PolicyTraitAdaptor.hpp | 156 + .../core/src/traits/Kokkos_ScheduleTrait.hpp | 112 + .../core/src/traits/Kokkos_Traits_fwd.hpp | 73 + .../traits/Kokkos_WorkItemPropertyTrait.hpp | 114 + .../core/src/traits/Kokkos_WorkTagTrait.hpp | 124 + lib/kokkos/core/unit_test/CMakeLists.txt | 382 ++- lib/kokkos/core/unit_test/Makefile | 12 +- lib/kokkos/core/unit_test/TestAtomics.hpp | 7 +- lib/kokkos/core/unit_test/TestComplex.hpp | 91 +- .../core/unit_test/TestDeepCopyAlignment.hpp | 46 +- .../core/unit_test/TestHalfOperators.hpp | 630 +++- lib/kokkos/core/unit_test/TestHostBarrier.cpp | 7 - .../core/unit_test/TestHostSharedPtr.hpp | 155 + .../TestHostSharedPtrAccessOnDevice.hpp | 156 + lib/kokkos/core/unit_test/TestMDRange.hpp | 101 +- lib/kokkos/core/unit_test/TestMDRange_a.hpp | 3 + lib/kokkos/core/unit_test/TestMDRange_b.hpp | 3 + lib/kokkos/core/unit_test/TestMDRange_c.hpp | 5 + lib/kokkos/core/unit_test/TestMDRange_d.hpp | 5 + lib/kokkos/core/unit_test/TestMDRange_e.hpp | 3 + lib/kokkos/core/unit_test/TestMDRange_f.hpp | 3 + .../unit_test/TestMathematicalFunctions.hpp | 871 ++++++ .../unit_test/TestNonTrivialScalarTypes.hpp | 6 +- .../core/unit_test/TestNumericTraits.hpp | 336 +++ .../core/unit_test/TestPolicyConstruction.hpp | 69 +- lib/kokkos/core/unit_test/TestRange.hpp | 22 +- .../core/unit_test/TestRangePolicyRequire.hpp | 24 +- lib/kokkos/core/unit_test/TestReduce.hpp | 79 +- .../unit_test/TestReduceCombinatorical.hpp | 21 - lib/kokkos/core/unit_test/TestReducers.hpp | 10 + lib/kokkos/core/unit_test/TestReducers_d.hpp | 8 +- .../unit_test/TestReductions_DeviceView.hpp | 14 + lib/kokkos/core/unit_test/TestResize.hpp | 6 - lib/kokkos/core/unit_test/TestScan.hpp | 10 +- lib/kokkos/core/unit_test/TestSharedAlloc.hpp | 3 + ...tCuda_Category.hpp => TestSubView_c14.hpp} | 15 +- lib/kokkos/core/unit_test/TestTeam.hpp | 206 +- lib/kokkos/core/unit_test/TestTeamBasic.hpp | 61 +- lib/kokkos/core/unit_test/TestTeamScratch.hpp | 5 + .../core/unit_test/TestTeamTeamSize.hpp | 12 +- lib/kokkos/core/unit_test/TestTeamVector.hpp | 243 +- .../core/unit_test/TestTeamVectorRange.hpp | 74 +- lib/kokkos/core/unit_test/TestUniqueToken.hpp | 14 +- lib/kokkos/core/unit_test/TestUtilities.hpp | 301 -- lib/kokkos/core/unit_test/TestViewAPI.hpp | 24 +- lib/kokkos/core/unit_test/TestViewAPI_c.hpp | 3 - lib/kokkos/core/unit_test/TestViewAPI_e.hpp | 3 - lib/kokkos/core/unit_test/TestViewCopy_a.hpp | 11 - .../TestViewLayoutStrideAssignment.hpp | 12 +- .../core/unit_test/TestViewMapping_a.hpp | 3 - lib/kokkos/core/unit_test/TestViewSubview.hpp | 51 +- lib/kokkos/core/unit_test/TestView_64bit.hpp | 7 +- .../core/unit_test/Test_InterOp_Streams.hpp | 2 + .../TestCudaHostPinned_Category.hpp | 0 .../TestCudaUVM_Category.hpp | 0 .../TestCuda_Category.hpp | 1 + .../TestDefaultDeviceType_Category.hpp | 0 .../TestHIPHostPinned_Category.hpp | 0 .../{ => category_files}/TestHIP_Category.hpp | 0 .../{ => category_files}/TestHPX_Category.hpp | 0 .../TestOpenMPTarget_Category.hpp | 0 .../TestOpenMP_Category.hpp | 0 .../TestSYCLSharedUSMSpace_Category.hpp} | 8 +- .../TestSYCL_Category.hpp | 1 + .../TestSerial_Category.hpp | 0 .../TestThreads_Category.hpp | 0 .../cuda/TestCudaHostPinned_SharedAlloc.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_a.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_b.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_c.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_d.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_e.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewCopy_a.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewCopy_b.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewMapping_a.cpp | 2 +- .../cuda/TestCudaHostPinned_ViewMapping_b.cpp | 2 +- ...TestCudaHostPinned_ViewMapping_subview.cpp | 2 +- .../cuda/TestCudaUVM_SharedAlloc.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_a.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_b.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_c.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_d.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_e.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewCopy_a.cpp | 2 +- .../unit_test/cuda/TestCudaUVM_ViewCopy_b.cpp | 2 +- .../cuda/TestCudaUVM_ViewMapping_a.cpp | 2 +- .../cuda/TestCudaUVM_ViewMapping_b.cpp | 2 +- .../cuda/TestCudaUVM_ViewMapping_subview.cpp | 2 +- .../cuda/TestCuda_DebugPinUVMSpace.cpp | 2 +- .../cuda/TestCuda_DebugSerialExecution.cpp | 2 +- .../core/unit_test/cuda/TestCuda_Graph.cpp | 2 +- .../unit_test/cuda/TestCuda_InterOp_Init.cpp | 11 +- .../cuda/TestCuda_InterOp_Streams.cpp | 2 +- .../core/unit_test/cuda/TestCuda_Spaces.cpp | 2 +- .../core/unit_test/cuda/TestCuda_Task.cpp | 2 +- .../cuda/TestCuda_TeamScratchStreams.cpp | 2 +- .../default/TestDefaultDeviceDevelop.cpp | 2 +- .../default/TestDefaultDeviceType.cpp | 2 +- .../default/TestDefaultDeviceTypeResize.cpp | 3 - .../default/TestDefaultDeviceType_a1.cpp | 10 +- .../default/TestDefaultDeviceType_a2.cpp | 10 +- .../default/TestDefaultDeviceType_a3.cpp | 5 +- .../default/TestDefaultDeviceType_b1.cpp | 10 +- .../default/TestDefaultDeviceType_b2.cpp | 10 +- .../default/TestDefaultDeviceType_b3.cpp | 5 +- .../default/TestDefaultDeviceType_c1.cpp | 10 +- .../default/TestDefaultDeviceType_c2.cpp | 10 +- .../default/TestDefaultDeviceType_c3.cpp | 5 +- .../default/TestDefaultDeviceType_d.cpp | 4 +- .../headers_self_contained/CMakeLists.txt | 38 +- .../hip/TestHIPHostPinned_Category.hpp | 53 - .../hip/TestHIPHostPinned_ViewAPI_a.cpp | 2 +- .../hip/TestHIPHostPinned_ViewAPI_b.cpp | 2 +- .../hip/TestHIPHostPinned_ViewAPI_c.cpp | 2 +- .../hip/TestHIPHostPinned_ViewAPI_d.cpp | 2 +- .../hip/TestHIPHostPinned_ViewAPI_e.cpp | 2 +- .../hip/TestHIPHostPinned_ViewCopy_a.cpp | 2 +- .../hip/TestHIPHostPinned_ViewCopy_b.cpp | 2 +- .../hip/TestHIPHostPinned_ViewMapping_a.cpp | 2 +- .../hip/TestHIPHostPinned_ViewMapping_b.cpp | 2 +- .../TestHIPHostPinned_ViewMapping_subview.cpp | 2 +- .../unit_test/hip/TestHIP_AsyncLauncher.cpp} | 67 +- .../unit_test/hip/TestHIP_InterOp_Init.cpp | 9 +- .../unit_test/hip/TestHIP_InterOp_Streams.cpp | 2 +- .../core/unit_test/hip/TestHIP_ScanUnit.cpp | 2 +- .../core/unit_test/hip/TestHIP_Spaces.cpp | 2 +- .../hip/TestHIP_TeamScratchStreams.cpp | 2 +- .../core/unit_test/hpx/TestHPX_Category.hpp | 54 - .../hpx/TestHPX_IndependentInstances.cpp | 2 +- ...X_IndependentInstancesDelayedExecution.cpp | 2 +- ...estHPX_IndependentInstancesInstanceIds.cpp | 2 +- ...estHPX_IndependentInstancesRefCounting.cpp | 2 +- .../core/unit_test/hpx/TestHPX_InterOp.cpp | 2 +- .../core/unit_test/hpx/TestHPX_Task.cpp | 2 +- .../incremental/Test12a_ThreadScratch.hpp | 22 +- .../incremental/Test12b_TeamScratch.hpp | 17 +- .../Test13a_ParallelRed_TeamThreadRange.hpp | 2 +- .../Test13b_ParallelRed_TeamVectorRange.hpp | 2 +- .../Test13c_ParallelRed_ThreadVectorRange.hpp | 2 +- .../unit_test/openmp/TestOpenMP_Category.hpp | 55 - .../unit_test/openmp/TestOpenMP_Graph.cpp | 2 +- .../unit_test/openmp/TestOpenMP_InterOp.cpp | 2 +- .../openmp/TestOpenMP_PartitionMaster.cpp | 2 +- .../core/unit_test/openmp/TestOpenMP_Task.cpp | 2 +- .../TestOpenMPTarget_Category.hpp | 54 - .../unit_test/serial/TestSerial_Category.hpp | 55 - .../unit_test/serial/TestSerial_Graph.cpp | 2 +- .../core/unit_test/serial/TestSerial_Task.cpp | 2 +- .../unit_test/standalone/UnitTestMainInit.cpp | 18 +- .../unit_test/sycl/TestSYCL_InterOp_Init.cpp} | 61 +- .../sycl/TestSYCL_InterOp_Init_Context.cpp | 120 + .../sycl/TestSYCL_InterOp_Streams.cpp | 118 + .../threads/TestThreads_Category.hpp | 54 - .../core/unit_test/tools/TestAllCalls.cpp | 8 +- .../core/unit_test/tools/printing-tool.cpp | 22 + .../CMakeLists.txt | 29 + .../bar.cpp | 7 + .../foo.cpp} | 78 +- .../tutorial/01_hello_world/hello_world.cpp | 9 +- .../hello_world_lambda.cpp | 5 + .../05_simple_atomics/simple_atomics.cpp | 2 +- .../06_simple_mdrangepolicy/CMakeLists.txt | 1 - .../01_data_layouts/data_layouts.cpp | 8 +- .../02_memory_traits/memory_traits.cpp | 3 +- .../Advanced_Views/03_subviews/subviews.cpp | 24 +- .../Advanced_Views/04_dualviews/dual_view.cpp | 3 +- .../01_thread_teams/thread_teams.cpp | 5 + .../thread_teams_lambda.cpp | 11 +- .../nested_parallel_for.cpp | 5 + lib/kokkos/generate_makefile.bash | 12 +- lib/kokkos/gnu_generate_makefile.bash | 6 +- lib/kokkos/master_history.txt | 1 + 358 files changed, 16375 insertions(+), 10003 deletions(-) create mode 100644 lib/kokkos/algorithms/unit_tests/TestRandomCommon.hpp rename lib/kokkos/{containers/unit_tests/TestCuda_Category.hpp => algorithms/unit_tests/TestSortCommon.hpp} (88%) create mode 100644 lib/kokkos/cmake/CTestConfig.cmake.in create mode 100644 lib/kokkos/cmake/KokkosCI.cmake create mode 100644 lib/kokkos/cmake/KokkosCTest.cmake.in create mode 100644 lib/kokkos/cmake/Modules/FindTPLROCM.cmake create mode 100644 lib/kokkos/cmake/compile_tests/cplusplus14.cpp delete mode 100644 lib/kokkos/containers/unit_tests/TestHIP_Category.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestHPX_Category.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestOpenMP_Category.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestSYCL_Category.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestSerial_Category.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestThreads_Category.hpp create mode 100644 lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_MDRangePolicy.hpp create mode 100644 lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp rename lib/kokkos/{algorithms/unit_tests/TestOpenMP.cpp => core/src/OpenMPTarget/Kokkos_OpenMPTarget_Error.hpp} (73%) create mode 100644 lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_UniqueToken.hpp rename lib/kokkos/core/{unit_test/cuda/TestCudaUVM_Category.hpp => src/SYCL/Kokkos_SYCL_Abort.hpp} (86%) create mode 100644 lib/kokkos/core/src/SYCL/Kokkos_SYCL_MDRangePolicy.hpp create mode 100644 lib/kokkos/core/src/SYCL/Kokkos_SYCL_Parallel_Team.hpp create mode 100644 lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp create mode 100644 lib/kokkos/core/src/SYCL/Kokkos_SYCL_UniqueToken.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_HostSharedPtr.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_NumericTraits.cpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp create mode 100644 lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_ExecutionSpaceTrait.hpp rename lib/kokkos/{algorithms/unit_tests/TestCuda.cpp => core/src/traits/Kokkos_GraphKernelTrait.hpp} (58%) create mode 100644 lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp rename lib/kokkos/{algorithms/unit_tests/TestSerial.cpp => core/src/traits/Kokkos_IterationPatternTrait.hpp} (54%) rename lib/kokkos/{algorithms/unit_tests/TestHPX.cpp => core/src/traits/Kokkos_LaunchBoundsTrait.hpp} (54%) create mode 100644 lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_Traits_fwd.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp create mode 100644 lib/kokkos/core/src/traits/Kokkos_WorkTagTrait.hpp delete mode 100644 lib/kokkos/core/unit_test/TestHostBarrier.cpp create mode 100644 lib/kokkos/core/unit_test/TestHostSharedPtr.hpp create mode 100644 lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp create mode 100644 lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp create mode 100644 lib/kokkos/core/unit_test/TestNumericTraits.hpp rename lib/kokkos/core/unit_test/{TestCuda_Category.hpp => TestSubView_c14.hpp} (88%) rename lib/kokkos/core/unit_test/{cuda => category_files}/TestCudaHostPinned_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestCudaUVM_Category.hpp (100%) rename lib/kokkos/core/unit_test/{cuda => category_files}/TestCuda_Category.hpp (98%) rename lib/kokkos/core/unit_test/{default => category_files}/TestDefaultDeviceType_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestHIPHostPinned_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestHIP_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestHPX_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestOpenMPTarget_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestOpenMP_Category.hpp (100%) rename lib/kokkos/core/unit_test/{hip/TestHIP_Category.hpp => category_files/TestSYCLSharedUSMSpace_Category.hpp} (91%) rename lib/kokkos/core/unit_test/{ => category_files}/TestSYCL_Category.hpp (98%) rename lib/kokkos/core/unit_test/{ => category_files}/TestSerial_Category.hpp (100%) rename lib/kokkos/core/unit_test/{ => category_files}/TestThreads_Category.hpp (100%) delete mode 100644 lib/kokkos/core/unit_test/hip/TestHIPHostPinned_Category.hpp rename lib/kokkos/{algorithms/unit_tests/TestThreads.cpp => core/unit_test/hip/TestHIP_AsyncLauncher.cpp} (61%) delete mode 100644 lib/kokkos/core/unit_test/hpx/TestHPX_Category.hpp delete mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_Category.hpp delete mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Category.hpp delete mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_Category.hpp rename lib/kokkos/{algorithms/unit_tests/TestOpenMP_Random.cpp => core/unit_test/sycl/TestSYCL_InterOp_Init.cpp} (66%) create mode 100644 lib/kokkos/core/unit_test/sycl/TestSYCL_InterOp_Init_Context.cpp create mode 100644 lib/kokkos/core/unit_test/sycl/TestSYCL_InterOp_Streams.cpp delete mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_Category.hpp create mode 100644 lib/kokkos/example/build_cmake_installed_different_compiler/CMakeLists.txt create mode 100644 lib/kokkos/example/build_cmake_installed_different_compiler/bar.cpp rename lib/kokkos/{algorithms/unit_tests/TestHIP.cpp => example/build_cmake_installed_different_compiler/foo.cpp} (63%) diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index c759181aa2..3ce38c37d8 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,168 @@ # Change Log +## [3.4.00](https://github.com/kokkos/kokkos/tree/3.4.00) (2021-04-25) +[Full Changelog](https://github.com/kokkos/kokkos/compare/3.3.01...3.4.00) + +**Highlights:** +- SYCL Backend Almost Feature Complete +- OpenMPTarget Backend Almost Feature Complete +- Performance Improvements for HIP backend +- Require CMake 3.16 or newer +- Tool Callback Interface Enhancements +- cmath wrapper functions available now in Kokkos::Experimental + +**Features:** +- Implement parallel_scan with ThreadVectorRange and Reducer [\#3861](https://github.com/kokkos/kokkos/pull/3861) +- Implement SYCL Random [\#3849](https://github.com/kokkos/kokkos/pull/3849) +- OpenMPTarget: Adding Implementation for nested reducers [\#3845](https://github.com/kokkos/kokkos/pull/3845) +- Implement UniqueToken for SYCL [\#3833](https://github.com/kokkos/kokkos/pull/3833) +- OpenMPTarget: UniqueToken::Global implementation [\#3823](https://github.com/kokkos/kokkos/pull/3823) +- DualView sync's on ExecutionSpaces [\#3822](https://github.com/kokkos/kokkos/pull/3822) +- SYCL outer TeamPolicy parallel_reduce [\#3818](https://github.com/kokkos/kokkos/pull/3818) +- SYCL TeamPolicy::team_scan [\#3815](https://github.com/kokkos/kokkos/pull/3815) +- SYCL MDRangePolicy parallel_reduce [\#3801](https://github.com/kokkos/kokkos/pull/3801) +- Enable use of execution space instances in ScatterView [\#3786](https://github.com/kokkos/kokkos/pull/3786) +- SYCL TeamPolicy nested parallel_reduce [\#3783](https://github.com/kokkos/kokkos/pull/3783) +- OpenMPTarget: MDRange with TagType for parallel_for [\#3781](https://github.com/kokkos/kokkos/pull/3781) +- Adding OpenMPTarget parallel_scan [\#3655](https://github.com/kokkos/kokkos/pull/3655) +- SYCL basic TeamPolicy [\#3654](https://github.com/kokkos/kokkos/pull/3654) +- OpenMPTarget: scratch memory implementation [\#3611](https://github.com/kokkos/kokkos/pull/3611) + +**Implemented enhancements Backends and Archs:** +- SYCL choose a specific GPU [\#3918](https://github.com/kokkos/kokkos/pull/3918) +- [HIP] Lock access to scratch memory when using Teams [\#3916](https://github.com/kokkos/kokkos/pull/3916) +- [HIP] fix multithreaded access to get_next_driver [\#3908](https://github.com/kokkos/kokkos/pull/3908) +- Forward declare HIPHostPinnedSpace and SYCLSharedUSMSpace [\#3902](https://github.com/kokkos/kokkos/pull/3902) +- Let SYCL USMObjectMem use SharedAllocationRecord [\#3898](https://github.com/kokkos/kokkos/pull/3898) +- Implement clock_tic for SYCL [\#3893](https://github.com/kokkos/kokkos/pull/3893) +- Don't use a static variable in HIPInternal::scratch_space [\#3866](https://github.com/kokkos/kokkos/pull/3866)(https://github.com/kokkos/kokkos/pull/3866) +- Reuse memory for SYCL parallel_reduce [\#3873](https://github.com/kokkos/kokkos/pull/3873) +- Update SYCL compiler in CI [\#3826](https://github.com/kokkos/kokkos/pull/3826) +- Introduce HostSharedPtr to manage m_space_instance for Cuda/HIP/SYCL [\#3824](https://github.com/kokkos/kokkos/pull/3824) +- [HIP] Use shuffle for range reduction [\#3811](https://github.com/kokkos/kokkos/pull/3811) +- OpenMPTarget: Changes to the hierarchical parallelism [\#3808](https://github.com/kokkos/kokkos/pull/3808) +- Remove ExtendedReferenceWrapper for SYCL parallel_reduce [\#3802](https://github.com/kokkos/kokkos/pull/3802) +- Eliminate sycl_indirect_launch [\#3777](https://github.com/kokkos/kokkos/pull/3777) +- OpenMPTarget: scratch implementation for parallel_reduce [\#3776](https://github.com/kokkos/kokkos/pull/3776) +- Allow initializing SYCL execution space from sycl::queue and SYCL::impl_static_fence [\#3767](https://github.com/kokkos/kokkos/pull/3767) +- SYCL TeamPolicy scratch memory alternative [\#3763](https://github.com/kokkos/kokkos/pull/3763) +- Alternative implementation for SYCL TeamPolicy [\#3759](https://github.com/kokkos/kokkos/pull/3759) +- Unify handling of synchronous errors in SYCL [\#3754](https://github.com/kokkos/kokkos/pull/3754) +- core/Cuda: Half_t updates for cgsolve [\#3746](https://github.com/kokkos/kokkos/pull/3746) +- Unify HIPParallelLaunch structures [\#3733](https://github.com/kokkos/kokkos/pull/3733) +- Improve performance for SYCL parallel_reduce [\#3732](https://github.com/kokkos/kokkos/pull/3732) +- Use consistent types in Kokkos_OpenMPTarget_Parallel.hpp [\#3703](https://github.com/kokkos/kokkos/pull/3703) +- Implement non-blocking kernel launches for HIP backend [\#3697](https://github.com/kokkos/kokkos/pull/3697) +- Change SYCLInternal::m_queue std::unique_ptr -> std::optional [\#3677](https://github.com/kokkos/kokkos/pull/3677) +- Use alternative SYCL parallel_reduce implementation [\#3671](https://github.com/kokkos/kokkos/pull/3671) +- Use runtime values in KokkosExp_MDRangePolicy.hpp [\#3626](https://github.com/kokkos/kokkos/pull/3626) +- Clean up AnalyzePolicy [\#3564](https://github.com/kokkos/kokkos/pull/3564) +- Changes for indirect launch of SYCL parallel reduce [\#3511](https://github.com/kokkos/kokkos/pull/3511) + +**Implemented enhancements BuildSystem:** +- Also require C++14 when building gtest [\#3912](https://github.com/kokkos/kokkos/pull/3912) +- Fix compiling SYCL with OpenMP [\#3874](https://github.com/kokkos/kokkos/pull/3874) +- Require C++17 for SYCL (at configuration time) [\#3869](https://github.com/kokkos/kokkos/pull/3869) +- Add COMPILE_DEFINITIONS argument to kokkos_create_imported_tpl [\#3862](https://github.com/kokkos/kokkos/pull/3862) +- Do not pass arch flags to the linker with no rdc [\#3846](https://github.com/kokkos/kokkos/pull/3846) +- Try compiling C++14 check with C++14 support and print error message [\#3843](https://github.com/kokkos/kokkos/pull/3843) +- Enable HIP with Cray Clang [\#3842](https://github.com/kokkos/kokkos/pull/3842) +- Add an option to disable header self containment tests [\#3834](https://github.com/kokkos/kokkos/pull/3834) +- CMake check for C++14 [\#3809](https://github.com/kokkos/kokkos/pull/3809) +- Prefer -std=* over --std=* [\#3779](https://github.com/kokkos/kokkos/pull/3779) +- Kokkos launch compiler updates [\#3778](https://github.com/kokkos/kokkos/pull/3778) +- Updated comments and enabled no-op for kokkos_launch_compiler [\#3774](https://github.com/kokkos/kokkos/pull/3774) +- Apple's Clang not correctly recognised [\#3772](https://github.com/kokkos/kokkos/pull/3772) +- kokkos_launch_compiler + CUDA auto-detect arch [\#3770](https://github.com/kokkos/kokkos/pull/3770) +- Add Spack test support for Kokkos [\#3753](https://github.com/kokkos/kokkos/pull/3753) +- Split SYCL tests for aot compilation [\#3741](https://github.com/kokkos/kokkos/pull/3741) +- Use consistent OpenMP flag for IntelClang [\#3735](https://github.com/kokkos/kokkos/pull/3735) +- Add support for -Wno-deprecated-gpu-targets [\#3722](https://github.com/kokkos/kokkos/pull/3722) +- Add configuration to target CUDA compute capability 8.6 [\#3713](https://github.com/kokkos/kokkos/pull/3713) +- Added VERSION and SOVERSION to KOKKOS_INTERNAL_ADD_LIBRARY [\#3706](https://github.com/kokkos/kokkos/pull/3706) +- Add fast-math to known NVCC flags [\#3699](https://github.com/kokkos/kokkos/pull/3699) +- Add MI-100 arch string [\#3698](https://github.com/kokkos/kokkos/pull/3698) +- Require CMake >=3.16 [\#3679](https://github.com/kokkos/kokkos/pull/3679) +- KokkosCI.cmake, KokkosCTest.cmake.in, CTestConfig.cmake.in + CI updates [\#2844](https://github.com/kokkos/kokkos/pull/2844) + +**Implemented enhancements Tools:** +- Improve readability of the callback invocation in profiling [\#3860](https://github.com/kokkos/kokkos/pull/3860) +- V1.1 Tools Interface: incremental, action-based [\#3812](https://github.com/kokkos/kokkos/pull/3812) +- Enable launch latency simulations [\#3721](https://github.com/kokkos/kokkos/pull/3721) +- Added metadata callback to tools interface [\#3711](https://github.com/kokkos/kokkos/pull/3711) +- MDRange Tile Size Tuning [\#3688](https://github.com/kokkos/kokkos/pull/3688) +- Added support for command-line args for kokkos-tools [\#3627](https://github.com/kokkos/kokkos/pull/3627) +- Query max tile sizes for an MDRangePolicy, and set tile sizes on an existing policy [\#3481](https://github.com/kokkos/kokkos/pull/3481) + +**Implemented enhancements Other:** +- Try detecting ndevices in get_gpu [\#3921](https://github.com/kokkos/kokkos/pull/3921) +- Use strcmp to compare names() [\#3909](https://github.com/kokkos/kokkos/pull/3909) +- Add execution space arguments for constructor overloads that might allocate a new underlying View [\#3904](https://github.com/kokkos/kokkos/pull/3904) +- Prefix labels in internal use of kokkos_malloc [\#3891](https://github.com/kokkos/kokkos/pull/3891) +- Prefix labels for internal uses of SharedAllocationRecord [\#3890](https://github.com/kokkos/kokkos/pull/3890) +- Add missing hypot math function [\#3880](https://github.com/kokkos/kokkos/pull/3880) +- Unify algorithm unit tests to avoid code duplication [\#3851](https://github.com/kokkos/kokkos/pull/3851) +- DualView.template view() better matches for Devices in UVMSpace cases [\#3857](https://github.com/kokkos/kokkos/pull/3857) +- More extensive disentangling of Policy Traits [\#3829](https://github.com/kokkos/kokkos/pull/3829) +- Replaced nanosleep and sched_yield with STL routines [\#3825](https://github.com/kokkos/kokkos/pull/3825) +- Constructing Atomic Subviews [\#3810](https://github.com/kokkos/kokkos/pull/3810) +- Metadata Declaration in Core [\#3729](https://github.com/kokkos/kokkos/pull/3729) +- Allow using tagged final functor in parallel_reduce [\#3714](https://github.com/kokkos/kokkos/pull/3714) +- Major duplicate code removal in SharedAllocationRecord specializations [\#3658](https://github.com/kokkos/kokkos/pull/3658) + +**Fixed bugs:** +- Provide forward declarations in Kokkos_ViewLayoutTiled.hpp for XL [\#3911](https://github.com/kokkos/kokkos/pull/3911) +- Fixup absolute value of floating points in Kokkos complex [\#3882](https://github.com/kokkos/kokkos/pull/3882) +- Address intel 17 ICE [\#3881](https://github.com/kokkos/kokkos/pull/3881) +- Add missing pow(Kokkos::complex) overloads [\#3868](https://github.com/kokkos/kokkos/pull/3868) +- Fix bug {pow, log}(Kokkos::complex) [\#3866](https://github.com/kokkos/kokkos/pull/3866)(https://github.com/kokkos/kokkos/pull/3866) +- Cleanup writing to output streams in Cuda [\#3859](https://github.com/kokkos/kokkos/pull/3859) +- Fixup cache CUDA fallback execution space instance used by DualView::sync [\#3856](https://github.com/kokkos/kokkos/pull/3856) +- Fix cmake warning with pthread [\#3854](https://github.com/kokkos/kokkos/pull/3854) +- Fix typo FOUND_CUDA_{DRIVVER -> DRIVER} [\#3852](https://github.com/kokkos/kokkos/pull/3852) +- Fix bug in SYCL team_reduce [\#3848](https://github.com/kokkos/kokkos/pull/3848) +- Atrocious bug in MDRange tuning [\#3803](https://github.com/kokkos/kokkos/pull/3803) +- Fix compiling SYCL with Kokkos_ENABLE_TUNING=ON [\#3800](https://github.com/kokkos/kokkos/pull/3800) +- Fixed command line parsing bug [\#3797](https://github.com/kokkos/kokkos/pull/3797) +- Workaround race condition in SYCL parallel_reduce [\#3782](https://github.com/kokkos/kokkos/pull/3782) +- Fix Atomic{Min,Max} for Kepler30 [\#3780](https://github.com/kokkos/kokkos/pull/3780) +- Fix SYCL typo [\#3755](https://github.com/kokkos/kokkos/pull/3755) +- Fixed Kokkos_install_additional_files macro [\#3752](https://github.com/kokkos/kokkos/pull/3752) +- Fix a typo for Kokkos_ARCH_A64FX [\#3751](https://github.com/kokkos/kokkos/pull/3751) +- OpenMPTarget: fixes and workarounds to work with "Release" build type [\#3748](https://github.com/kokkos/kokkos/pull/3748) +- Fix parsing bug for number of devices command line argument [\#3724](https://github.com/kokkos/kokkos/pull/3724) +- Avoid more warnings with clang and C++20 [\#3719](https://github.com/kokkos/kokkos/pull/3719) +- Fix gcc-10.1 C++20 warnings [\#3718](https://github.com/kokkos/kokkos/pull/3718) +- Fix cuda cache config not being set correct [\#3712](https://github.com/kokkos/kokkos/pull/3712) +- Fix dualview deepcopy perftools [\#3701](https://github.com/kokkos/kokkos/pull/3701) +- use drand instead of frand in drand [\#3696](https://github.com/kokkos/kokkos/pull/3696) + +**Incompatibilities:** +- Remove unimplemented member functions of SYCLDevice [\#3919](https://github.com/kokkos/kokkos/pull/3919) +- Replace cl::sycl [\#3896](https://github.com/kokkos/kokkos/pull/3896) +- Get rid of SYCL workaround in Kokkos_Complex.hpp [\#3884](https://github.com/kokkos/kokkos/pull/3884) +- Replace most uses of if_c [\#3883](https://github.com/kokkos/kokkos/pull/3883) +- Remove Impl::enable_if_type [\#3863](https://github.com/kokkos/kokkos/pull/3863) +- Remove HostBarrier test [\#3847](https://github.com/kokkos/kokkos/pull/3847) +- Avoid (void) interface [\#3836](https://github.com/kokkos/kokkos/pull/3836) +- Remove VerifyExecutionCanAccessMemorySpace [\#3813](https://github.com/kokkos/kokkos/pull/3813) +- Avoid duplicated code in ScratchMemorySpace [\#3793](https://github.com/kokkos/kokkos/pull/3793) +- Remove superfluous FunctorFinal specialization [\#3788](https://github.com/kokkos/kokkos/pull/3788) +- Rename cl::sycl -> sycl in Kokkos_MathematicalFunctions.hpp [\#3678](https://github.com/kokkos/kokkos/pull/3678) +- Remove integer_sequence backward compatibility implementation [\#3533](https://github.com/kokkos/kokkos/pull/3533) + +**Enabled tests:** +- Fixup re-enable core performance tests [\#3903](https://github.com/kokkos/kokkos/pull/3903) +- Enable more SYCL tests [\#3900](https://github.com/kokkos/kokkos/pull/3900) +- Restrict MDRange Policy tests for Intel GPUs [\#3853](https://github.com/kokkos/kokkos/pull/3853) +- Disable death tests for rawhide [\#3844](https://github.com/kokkos/kokkos/pull/3844) +- OpenMPTarget: Block unit tests that do not pass with the nvidia compiler [\#3839](https://github.com/kokkos/kokkos/pull/3839) +- Enable Bitset container test for SYCL [\#3830](https://github.com/kokkos/kokkos/pull/3830) +- Enable some more SYCL tests [\#3744](https://github.com/kokkos/kokkos/pull/3744) +- Enable SYCL atomic tests [\#3742](https://github.com/kokkos/kokkos/pull/3742) +- Enable more SYCL perf_tests [\#3692](https://github.com/kokkos/kokkos/pull/3692) +- Enable examples for SYCL [\#3691](https://github.com/kokkos/kokkos/pull/3691) + ## [3.3.01](https://github.com/kokkos/kokkos/tree/3.3.01) (2021-01-06) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.3.00...3.3.01) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 7bc3c77256..6fc1bf7d2f 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -72,7 +72,7 @@ ENDFUNCTION() LIST(APPEND CMAKE_MODULE_PATH cmake/Modules) IF(NOT KOKKOS_HAS_TRILINOS) - cmake_minimum_required(VERSION 3.10 FATAL_ERROR) + cmake_minimum_required(VERSION 3.16 FATAL_ERROR) set(CMAKE_DISABLE_SOURCE_CHANGES ON) set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) IF (Spack_WORKAROUND) @@ -111,27 +111,25 @@ ENDIF() set(Kokkos_VERSION_MAJOR 3) -set(Kokkos_VERSION_MINOR 3) -set(Kokkos_VERSION_PATCH 1) +set(Kokkos_VERSION_MINOR 4) +set(Kokkos_VERSION_PATCH 00) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") -IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.12.0") - MESSAGE(STATUS "Setting policy CMP0074 to use _ROOT variables") - CMAKE_POLICY(SET CMP0074 NEW) -ENDIF() +MESSAGE(STATUS "Setting policy CMP0074 to use _ROOT variables") +CMAKE_POLICY(SET CMP0074 NEW) # Load either the real TriBITS or a TriBITS wrapper # for certain utility functions that are universal (like GLOBAL_SET) INCLUDE(${KOKKOS_SRC_PATH}/cmake/fake_tribits.cmake) -IF (Kokkos_ENABLE_CUDA AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0") - #If we are building CUDA, we have tricked CMake because we declare a CXX project - #If the default C++ standard for a given compiler matches the requested - #standard, then CMake just omits the -std flag in later versions of CMake - #This breaks CUDA compilation (CUDA compiler can have a different default - #-std then the underlying host compiler by itself). Setting this variable - #forces CMake to always add the -std flag even if it thinks it doesn't need it +IF (Kokkos_ENABLE_CUDA) + # If we are building CUDA, we have tricked CMake because we declare a CXX project + # If the default C++ standard for a given compiler matches the requested + # standard, then CMake just omits the -std flag in later versions of CMake + # This breaks CUDA compilation (CUDA compiler can have a different default + # -std then the underlying host compiler by itself). Setting this variable + # forces CMake to always add the -std flag even if it thinks it doesn't need it GLOBAL_SET(CMAKE_CXX_STANDARD_DEFAULT 98) ENDIF() @@ -139,15 +137,19 @@ ENDIF() # I really wish these were regular variables # but scoping issues can make it difficult GLOBAL_SET(KOKKOS_COMPILE_OPTIONS) -GLOBAL_SET(KOKKOS_LINK_OPTIONS -DKOKKOS_DEPENDENCE) +GLOBAL_SET(KOKKOS_LINK_OPTIONS) GLOBAL_SET(KOKKOS_CUDA_OPTIONS) GLOBAL_SET(KOKKOS_CUDAFE_OPTIONS) GLOBAL_SET(KOKKOS_XCOMPILER_OPTIONS) # We need to append text here for making sure TPLs # we import are available for an installed Kokkos GLOBAL_SET(KOKKOS_TPL_EXPORTS) -# this could probably be scoped to project +# KOKKOS_DEPENDENCE is used by kokkos_launch_compiler GLOBAL_SET(KOKKOS_COMPILE_DEFINITIONS KOKKOS_DEPENDENCE) +# MSVC never goes through kokkos_launch_compiler +IF(NOT MSVC) + GLOBAL_APPEND(KOKKOS_LINK_OPTIONS -DKOKKOS_DEPENDENCE) +ENDIF() # Include a set of Kokkos-specific wrapper functions that # will either call raw CMake or TriBITS diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index 061b7a46ee..aa97f99b75 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,8 +11,8 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 3 -KOKKOS_VERSION_MINOR = 3 -KOKKOS_VERSION_PATCH = 1 +KOKKOS_VERSION_MINOR = 4 +KOKKOS_VERSION_PATCH = 00 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,OpenMP,Pthread,Serial @@ -20,7 +20,7 @@ KOKKOS_DEVICES ?= "OpenMP" #KOKKOS_DEVICES ?= "Pthread" # Options: # Intel: KNC,KNL,SNB,HSW,BDW,SKX -# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80 +# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX # IBM: BGQ,Power7,Power8,Power9 # AMD-GPUS: Vega900,Vega906,Vega908 @@ -164,17 +164,17 @@ KOKKOS_INTERNAL_OS_DARWIN := $(call kokkos_has_string,$(KOKKOS_OS),Darwin) KOKKOS_CXX_VERSION := $(strip $(shell $(CXX) --version 2>&1)) KOKKOS_INTERNAL_COMPILER_INTEL := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),Intel Corporation) KOKKOS_INTERNAL_COMPILER_PGI := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),PGI) -KOKKOS_INTERNAL_COMPILER_XL := $(strip $(shell $(CXX) -qversion 2>&1 | grep XL | wc -l)) -KOKKOS_INTERNAL_COMPILER_CRAY := $(strip $(shell $(CXX) -craype-verbose 2>&1 | grep "CC-" | wc -l)) -KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell echo "$(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l)>0" | bc)) +KOKKOS_INTERNAL_COMPILER_XL := $(strip $(shell $(CXX) -qversion 2>&1 | grep -c XL)) +KOKKOS_INTERNAL_COMPILER_CRAY := $(strip $(shell $(CXX) -craype-verbose 2>&1 | grep -c "CC-")) +KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell echo "$(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep -c nvcc)>0" | bc)) KOKKOS_INTERNAL_COMPILER_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),clang) -KOKKOS_INTERNAL_COMPILER_APPLE_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),Apple LLVM) +KOKKOS_INTERNAL_COMPILER_APPLE_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),Apple clang) KOKKOS_INTERNAL_COMPILER_HCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),HCC) KOKKOS_INTERNAL_COMPILER_GCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),GCC) # Check Host Compiler if using NVCC through nvcc_wrapper ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) - KOKKOS_INTERNAL_COMPILER_NVCC_WRAPPER := $(strip $(shell echo $(CXX) | grep nvcc_wrapper | wc -l)) + KOKKOS_INTERNAL_COMPILER_NVCC_WRAPPER := $(strip $(shell echo $(CXX) | grep -c nvcc_wrapper)) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC_WRAPPER), 1) KOKKOS_CXX_HOST_VERSION := $(strip $(shell $(CXX) $(CXXFLAGS) --host-version 2>&1)) @@ -297,11 +297,11 @@ else #KOKKOS_INTERNAL_CXX1Z_FLAG := -hstd=c++1z #KOKKOS_INTERNAL_CXX2A_FLAG := -hstd=c++2a else - KOKKOS_INTERNAL_CXX14_FLAG := --std=c++14 - KOKKOS_INTERNAL_CXX1Y_FLAG := --std=c++1y - KOKKOS_INTERNAL_CXX17_FLAG := --std=c++17 - KOKKOS_INTERNAL_CXX1Z_FLAG := --std=c++1z - KOKKOS_INTERNAL_CXX2A_FLAG := --std=c++2a + KOKKOS_INTERNAL_CXX14_FLAG := -std=c++14 + KOKKOS_INTERNAL_CXX1Y_FLAG := -std=c++1y + KOKKOS_INTERNAL_CXX17_FLAG := -std=c++17 + KOKKOS_INTERNAL_CXX1Z_FLAG := -std=c++1z + KOKKOS_INTERNAL_CXX2A_FLAG := -std=c++2a endif endif endif @@ -332,6 +332,7 @@ KOKKOS_INTERNAL_USE_ARCH_VOLTA70 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volt KOKKOS_INTERNAL_USE_ARCH_VOLTA72 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volta72) KOKKOS_INTERNAL_USE_ARCH_TURING75 := $(call kokkos_has_string,$(KOKKOS_ARCH),Turing75) KOKKOS_INTERNAL_USE_ARCH_AMPERE80 := $(call kokkos_has_string,$(KOKKOS_ARCH),Ampere80) +KOKKOS_INTERNAL_USE_ARCH_AMPERE86 := $(call kokkos_has_string,$(KOKKOS_ARCH),Ampere86) KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \ @@ -344,7 +345,8 @@ KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLE + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA70) \ + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA72) \ + $(KOKKOS_INTERNAL_USE_ARCH_TURING75) \ - + $(KOKKOS_INTERNAL_USE_ARCH_AMPERE80)) + + $(KOKKOS_INTERNAL_USE_ARCH_AMPERE80) \ + + $(KOKKOS_INTERNAL_USE_ARCH_AMPERE86)) #SEK: This seems like a bug to me ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) @@ -585,10 +587,10 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1) endif ifeq ($(KOKKOS_INTERNAL_ENABLE_TUNING), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_TUNING") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_TUNING") endif -tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LIBDL") +tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_LIBDL") ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) ifneq ($(KOKKOS_CMAKE), yes) @@ -752,6 +754,14 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_A64FX), 1) KOKKOS_CXXFLAGS += -march=armv8.2-a+sve KOKKOS_LDFLAGS += -march=armv8.2-a+sve + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + KOKKOS_CXXFLAGS += -msve-vector-bits=512 + KOKKOS_LDFLAGS += -msve-vector-bits=512 + endif + ifeq ($(KOKKOS_INTERNAL_COMPILER_GCC), 1) + KOKKOS_CXXFLAGS += -msve-vector-bits=512 + KOKKOS_LDFLAGS += -msve-vector-bits=512 + endif endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN), 1) @@ -1100,6 +1110,11 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA_ARCH), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMPERE80") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_80 endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMPERE86), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMPERE") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMPERE86") + KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_86 + endif ifneq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG) @@ -1159,7 +1174,7 @@ endif KOKKOS_INTERNAL_LS_CONFIG := $(shell ls KokkosCore_config.h 2>&1) ifeq ($(KOKKOS_INTERNAL_LS_CONFIG), KokkosCore_config.h) - KOKKOS_INTERNAL_NEW_CONFIG := $(strip $(shell diff KokkosCore_config.h KokkosCore_config.tmp | grep define | wc -l)) + KOKKOS_INTERNAL_NEW_CONFIG := $(strip $(shell diff KokkosCore_config.h KokkosCore_config.tmp | grep -c define)) else KOKKOS_INTERNAL_NEW_CONFIG := 1 endif @@ -1181,41 +1196,41 @@ tmp := $(call kokkos_update_config_header, KOKKOS_SETUP_HPP_, "KokkosCore_Config tmp := $(call kokkos_update_config_header, KOKKOS_DECLARE_HPP_, "KokkosCore_Config_DeclareBackend.tmp", "KokkosCore_Config_DeclareBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_POST_INCLUDE_HPP_, "KokkosCore_Config_PostInclude.tmp", "KokkosCore_Config_PostInclude.hpp") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_SetupBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_SetupBackend.hpp") ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1) else endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_SetupBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_SetupBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"\#include ","KokkosCore_Config_DeclareBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") + tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/*.hpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/impl/*.hpp) @@ -1334,7 +1349,7 @@ ifneq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) endif # With Cygwin functions such as fdopen and fileno are not defined -# when strict ansi is enabled. strict ansi gets enabled with --std=c++14 +# when strict ansi is enabled. strict ansi gets enabled with -std=c++14 # though. So we hard undefine it here. Not sure if that has any bad side effects # This is needed for gtest actually, not for Kokkos itself! ifeq ($(KOKKOS_INTERNAL_OS_CYGWIN), 1) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index 5a03f7d17e..cf9fc24242 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -36,6 +36,8 @@ Kokkos_MemorySpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp +Kokkos_NumericTraits.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) Kokkos_Cuda_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Instance.cpp diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 69d6cf8f35..904cf5ccb9 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -668,6 +668,25 @@ struct Random_UniqueIndex { }; #endif +#ifdef KOKKOS_ENABLE_SYCL +template <> +struct Random_UniqueIndex { + using locks_view_type = View; + KOKKOS_FUNCTION + static int get_state_idx(const locks_view_type& locks_) { +#ifdef KOKKOS_ARCH_INTEL_GEN + int i = Kokkos::Impl::clock_tic() % locks_.extent(0); +#else + int i = 0; +#endif + while (Kokkos::atomic_compare_exchange(&locks_(i), 0, 1)) { + i = (i + 1) % static_cast(locks_.extent(0)); + } + return i; + } +}; +#endif + } // namespace Impl template @@ -1028,7 +1047,7 @@ class Random_XorShift1024 { KOKKOS_INLINE_FUNCTION double drand(const double& start, const double& end) { - return frand(end - start) + start; + return drand(end - start) + start; } // Marsaglia polar method for drawing a standard normal distributed random diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index 819c9e54ba..9109837985 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -3,6 +3,7 @@ KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) KOKKOS_INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src ) +KOKKOS_INCLUDE_DIRECTORIES(${KOKKOS_SOURCE_DIR}/core/unit_test/category_files) SET(GTEST_SOURCE_DIR ${${PARENT_PACKAGE_NAME}_SOURCE_DIR}/tpls/gtest) @@ -25,7 +26,7 @@ KOKKOS_ADD_TEST_LIBRARY( TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC GTEST_HAS_TR1_TUPLE=0 GTEST_HAS_PTHREAD=0) IF((NOT (Kokkos_ENABLE_CUDA AND WIN32)) AND (NOT ("${KOKKOS_CXX_COMPILER_ID}" STREQUAL "Fujitsu"))) -TARGET_COMPILE_FEATURES(kokkosalgorithms_gtest PUBLIC cxx_std_11) + TARGET_COMPILE_FEATURES(kokkosalgorithms_gtest PUBLIC cxx_std_14) ENDIF() # Suppress clang-tidy diagnostics on code that we do not have control over @@ -33,51 +34,42 @@ IF(CMAKE_CXX_CLANG_TIDY) SET_TARGET_PROPERTIES(kokkosalgorithms_gtest PROPERTIES CXX_CLANG_TIDY "") ENDIF() -SET(SOURCES - UnitTestMain.cpp -) +SET(ALGORITHM UnitTestMain.cpp) IF(Kokkos_ENABLE_OPENMP) - LIST( APPEND SOURCES - TestOpenMP.cpp + LIST(APPEND ALGORITHM_SOURCES TestOpenMP_Sort1D.cpp TestOpenMP_Sort3D.cpp TestOpenMP_SortDynamicView.cpp - TestOpenMP_Random.cpp ) ENDIF() -IF(Kokkos_ENABLE_HIP) - LIST( APPEND SOURCES - TestHIP.cpp - ) -ENDIF() +foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL) + # Because there is always an exception to the rule + if(Tag STREQUAL "Threads") + set(DEVICE "PTHREAD") + else() + string(TOUPPER ${Tag} DEVICE) + endif() -IF(Kokkos_ENABLE_CUDA) - LIST( APPEND SOURCES - TestCuda.cpp - ) -ENDIF() - -IF(Kokkos_ENABLE_HPX) - LIST( APPEND SOURCES - TestHPX.cpp - ) -ENDIF() - -IF(Kokkos_ENABLE_SERIAL) - LIST( APPEND SOURCES - TestSerial.cpp - ) -ENDIF() - -IF(Kokkos_ENABLE_PTHREAD) - LIST( APPEND SOURCES - TestThreads.cpp - ) -ENDIF() + if(Kokkos_ENABLE_${DEVICE}) + set(dir ${CMAKE_CURRENT_BINARY_DIR}) + set(file ${dir}/Test${Tag}.cpp) + # Write to a temporary intermediate file and call configure_file to avoid + # updating timestamps triggering unnecessary rebuilds on subsequent cmake runs. + file(WRITE ${dir}/dummy.cpp + "#include \n" + "#include \n" + "#include \n" + ) + configure_file(${dir}/dummy.cpp ${file}) + list(APPEND ALGORITHM_SOURCES ${file}) + endif() +endforeach() KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest - SOURCES ${SOURCES} + SOURCES + UnitTestMain.cpp + ${ALGORITHM_SOURCES} ) diff --git a/lib/kokkos/algorithms/unit_tests/Makefile b/lib/kokkos/algorithms/unit_tests/Makefile index c112d7c6fc..dd0aa87de0 100644 --- a/lib/kokkos/algorithms/unit_tests/Makefile +++ b/lib/kokkos/algorithms/unit_tests/Makefile @@ -20,11 +20,19 @@ override LDFLAGS += -lpthread include $(KOKKOS_PATH)/Makefile.kokkos -KOKKOS_CXXFLAGS += -I$(GTEST_PATH) -I${KOKKOS_PATH}/algorithms/unit_tests +KOKKOS_CXXFLAGS += -I$(GTEST_PATH) -I${KOKKOS_PATH}/algorithms/unit_tests -I${KOKKOS_PATH}/core/unit_test/category_files TEST_TARGETS = TARGETS = +tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ + $(if $(filter Test$(device).cpp, $(shell ls Test$(device).cpp 2>/dev/null)),,\ + $(shell echo "\#include " > Test$(device).cpp); \ + $(shell echo "\#include " >> Test$(device).cpp); \ + $(shell echo "\#include " >> Test$(device).cpp); \ + ) \ +) + ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) OBJ_CUDA = TestCuda.o UnitTestMain.o gtest-all.o TARGETS += KokkosAlgorithms_UnitTest_Cuda @@ -44,7 +52,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) - OBJ_OPENMP = TestOpenMP.o TestOpenMP_Random.o TestOpenMP_Sort1D.o TestOpenMP_Sort3D.o TestOpenMP_SortDynamicView.o UnitTestMain.o gtest-all.o + OBJ_OPENMP = TestOpenMP.o TestOpenMP_Sort1D.o TestOpenMP_Sort3D.o TestOpenMP_SortDynamicView.o UnitTestMain.o gtest-all.o TARGETS += KokkosAlgorithms_UnitTest_OpenMP TEST_TARGETS += test-openmp endif diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp index a9b2010ad0..4a5839f0c8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp @@ -59,6 +59,8 @@ TEST(openmp, SortUnsigned1D) { Impl::test_1D_sort(171); } +TEST(openmp, SortIssue1160) { Impl::test_issue_1160_sort(); } + } // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} diff --git a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp index caba92c152..1f14875096 100644 --- a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp @@ -491,6 +491,34 @@ void test_random(unsigned int num_draws) { } } // namespace Impl +template +void test_random_xorshift64() { +#if defined(KOKKOS_ENABLE_SYCL) || defined(KOKKOS_ENABLE_CUDA) || \ + defined(KOKKOS_ENABLE_HIP) + const int num_draws = 132141141; +#else // SERIAL, HPX, OPENMP + const int num_draws = 10240000; +#endif + Impl::test_random>(num_draws); + Impl::test_random>>( + num_draws); +} + +template +void test_random_xorshift1024() { +#if defined(KOKKOS_ENABLE_SYCL) || defined(KOKKOS_ENABLE_CUDA) || \ + defined(KOKKOS_ENABLE_HIP) + const int num_draws = 52428813; +#else // SERIAL, HPX, OPENMP + const int num_draws = 10130144; +#endif + Impl::test_random>( + num_draws); + Impl::test_random>>( + num_draws); +} } // namespace Test #endif // KOKKOS_TEST_UNORDERED_MAP_HPP diff --git a/lib/kokkos/algorithms/unit_tests/TestRandomCommon.hpp b/lib/kokkos/algorithms/unit_tests/TestRandomCommon.hpp new file mode 100644 index 0000000000..c6d3b59ae1 --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestRandomCommon.hpp @@ -0,0 +1,60 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. 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. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE +// 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. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_ALGORITHMS_UNITTESTS_TESTRANDOM_COMMON_HPP +#define KOKKOS_ALGORITHMS_UNITTESTS_TESTRANDOM_COMMON_HPP + +#include + +namespace Test { + +TEST(TEST_CATEGORY, Random_XorShift64) { + test_random_xorshift64(); +} +TEST(TEST_CATEGORY, Random_XorShift1024_0) { + test_random_xorshift1024(); +} +} // namespace Test + +#endif diff --git a/lib/kokkos/containers/unit_tests/TestCuda_Category.hpp b/lib/kokkos/algorithms/unit_tests/TestSortCommon.hpp similarity index 88% rename from lib/kokkos/containers/unit_tests/TestCuda_Category.hpp rename to lib/kokkos/algorithms/unit_tests/TestSortCommon.hpp index 50935d7a34..56657b6574 100644 --- a/lib/kokkos/containers/unit_tests/TestCuda_Category.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestSortCommon.hpp @@ -42,10 +42,14 @@ //@HEADER */ -#ifndef KOKKOS_TEST_CUDA_HPP -#define KOKKOS_TEST_CUDA_HPP +#ifndef KOKKOS_ALGORITHMS_UNITTESTS_TESTSORT_COMMON_HPP +#define KOKKOS_ALGORITHMS_UNITTESTS_TESTSORT_COMMON_HPP -#define TEST_CATEGORY cuda -#define TEST_EXECSPACE Kokkos::Cuda +#include +namespace Test { +TEST(TEST_CATEGORY, SortUnsigned) { + Impl::test_sort(171); +} +} // namespace Test #endif diff --git a/lib/kokkos/appveyor.yml b/lib/kokkos/appveyor.yml index c40bf066b7..e8763c0b66 100644 --- a/lib/kokkos/appveyor.yml +++ b/lib/kokkos/appveyor.yml @@ -3,8 +3,4 @@ image: clone_folder: c:\projects\source build_script: - cmd: >- - mkdir build && - cd build && - cmake c:\projects\source -DKokkos_ENABLE_TESTS=ON && - cmake --build . --target install && - ctest -C Debug -V + cmake c:\projects\source -DKokkos_ENABLE_TESTS=ON -DCMAKE_CXX_FLAGS="/W0 /EHsc /d1reportClassLayoutChanges" -DCTEST_ARGS="-C Debug -V --output-on-failure" -DBUILD_NAME=MSVC-2019 -DBUILD_TYPE=Debug -DSITE=AppVeyor -DTARGET=install -P cmake/KokkosCI.cmake diff --git a/lib/kokkos/bin/kokkos_launch_compiler b/lib/kokkos/bin/kokkos_launch_compiler index 1fbebf648f..d929d24f1d 100755 --- a/lib/kokkos/bin/kokkos_launch_compiler +++ b/lib/kokkos/bin/kokkos_launch_compiler @@ -13,6 +13,17 @@ # $1 are 'ar', 'cmake', etc. during the linking phase # +# emit a message about the underlying command executed +: ${DEBUG:=0} +: ${KOKKOS_DEBUG_LAUNCH_COMPILER:=${DEBUG}} + +debug-message() +{ + if [ "${KOKKOS_DEBUG_LAUNCH_COMPILER}" -ne 0 ]; then + echo -e "##### $(basename ${BASH_SOURCE[0]}) executing: \"$@\"... #####" + fi +} + # check the arguments for the KOKKOS_DEPENDENCE compiler definition KOKKOS_DEPENDENCE=0 for i in ${@} @@ -23,16 +34,30 @@ do fi done -# if C++ is not passed, someone is probably trying to invoke it directly +# if Kokkos compiler is not passed, someone is probably trying to invoke it directly if [ -z "${1}" ]; then - echo -e "\n${BASH_SOURCE[0]} was invoked without the C++ compiler as the first argument." + echo -e "\n${BASH_SOURCE[0]} was invoked without the Kokkos compiler as the first argument." echo "This script is not indended to be directly invoked by any mechanism other" - echo -e "than through a RULE_LAUNCH_COMPILE or RULE_LAUNCH_LINK property set in CMake\n" + echo -e "than through a RULE_LAUNCH_COMPILE or RULE_LAUNCH_LINK property set in CMake.\n" + exit 1 +fi + +# if Kokkos compiler is not passed, someone is probably trying to invoke it directly +if [ -z "${2}" ]; then + echo -e "\n${BASH_SOURCE[0]} was invoked without the C++ compiler as the second argument." + echo "This script is not indended to be directly invoked by any mechanism other" + echo -e "than through a RULE_LAUNCH_COMPILE or RULE_LAUNCH_LINK property set in CMake.\n" exit 1 fi # if there aren't two args, this isn't necessarily invalid, just a bit strange -if [ -z "${2}" ]; then exit 0; fi +if [ -z "${3}" ]; then exit 0; fi + +# store the Kokkos compiler +KOKKOS_COMPILER=${1} + +# remove the Kokkos compiler from the arguments +shift # store the expected C++ compiler CXX_COMPILER=${1} @@ -40,48 +65,57 @@ CXX_COMPILER=${1} # remove the expected C++ compiler from the arguments shift -# after the above shift, $1 is now the exe for the compile or link command, e.g. -# kokkos_launch_compiler g++ gcc -c file.c -o file.o +# NOTE: in below, ${KOKKOS_COMPILER} is usually nvcc_wrapper +# +# after the above shifts, $1 is now the exe for the compile or link command, e.g. +# kokkos_launch_compiler ${KOKKOS_COMPILER} g++ gcc -c file.c -o file.o # becomes: # kokkos_launch_compiler gcc -c file.c -o file.o -# Check to see if the executable is the C++ compiler and if it is not, then +# We check to see if the executable is the C++ compiler and if it is not, then # just execute the command. # # Summary: -# kokkos_launch_compiler g++ gcc -c file.c -o file.o +# kokkos_launch_compiler ${KOKKOS_COMPILER} g++ gcc -c file.c -o file.o # results in this command being executed: # gcc -c file.c -o file.o # and -# kokkos_launch_compiler g++ g++ -c file.cpp -o file.o +# kokkos_launch_compiler ${KOKKOS_COMPILER} g++ g++ -c file.cpp -o file.o # results in this command being executed: -# nvcc_wrapper -c file.cpp -o file.o +# ${KOKKOS_COMPILER} -c file.cpp -o file.o if [[ "${KOKKOS_DEPENDENCE}" -eq "0" || "${CXX_COMPILER}" != "${1}" ]]; then - # the command does not depend on Kokkos so just execute the command w/o re-directing to nvcc_wrapper + debug-message $@ + # the command does not depend on Kokkos so just execute the command w/o re-directing to ${KOKKOS_COMPILER} eval $@ else - # the executable is the C++ compiler, so we need to re-direct to nvcc_wrapper - - # find the nvcc_wrapper from the same build/install - NVCC_WRAPPER="$(dirname ${BASH_SOURCE[0]})/nvcc_wrapper" - - if [ -z "${NVCC_WRAPPER}" ]; then - echo -e "\nError: nvcc_wrapper not found in $(dirname ${BASH_SOURCE[0]}).\n" + # the executable is the C++ compiler, so we need to re-direct to ${KOKKOS_COMPILER} + if [ ! -f "${KOKKOS_COMPILER}" ]; then + echo -e "\nError: the compiler redirect for Kokkos was not found at ${KOKKOS_COMPILER}\n" exit 1 fi - # set default nvcc wrapper compiler if not specified - : ${NVCC_WRAPPER_DEFAULT_COMPILER:=${CXX_COMPILER}} - export NVCC_WRAPPER_DEFAULT_COMPILER + # find the nvcc_wrapper from the same build/install + NVCC_WRAPPER="$(dirname ${BASH_SOURCE[0]})/nvcc_wrapper" + if [ "${KOKKOS_COMPILER}" = "${NVCC_WRAPPER}" ]; then + # this should only be valid in the install tree -- it will be set to CMAKE_CXX_COMPILER used using Kokkos installation + if [ -z $(echo "@NVCC_WRAPPER_DEFAULT_COMPILER@" | grep 'NVCC_WRAPPER_DEFAULT_COMPILER') ]; then + : ${NVCC_WRAPPER_DEFAULT_COMPILER:="@NVCC_WRAPPER_DEFAULT_COMPILER@"} + fi - # calling itself will cause an infinitely long build - if [ "${NVCC_WRAPPER}" = "${NVCC_WRAPPER_DEFAULT_COMPILER}" ]; then - echo -e "\nError: NVCC_WRAPPER == NVCC_WRAPPER_DEFAULT_COMPILER. Terminating to avoid infinite loop!\n" - exit 1 + # set default nvcc wrapper compiler if not specified + : ${NVCC_WRAPPER_DEFAULT_COMPILER:=${CXX_COMPILER}} + export NVCC_WRAPPER_DEFAULT_COMPILER + + # nvcc_wrapper calling itself will cause an infinitely long build + if [ "${NVCC_WRAPPER}" = "${NVCC_WRAPPER_DEFAULT_COMPILER}" ]; then + echo -e "\nError: NVCC_WRAPPER == NVCC_WRAPPER_DEFAULT_COMPILER. Terminating to avoid infinite loop!\n" + exit 1 + fi fi # discard the compiler from the command shift - # execute nvcc_wrapper - ${NVCC_WRAPPER} $@ + debug-message ${KOKKOS_COMPILER} $@ + # execute ${KOKKOS_COMPILER} (again, usually nvcc_wrapper) + ${KOKKOS_COMPILER} $@ fi diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index 4ecf4c66d5..5556e888e3 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -191,11 +191,11 @@ do shift ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-Xptxas*|--fmad*|--Wext-lambda-captures-this|-Wext-lambda-captures-this) + --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-Xptxas*|--fmad*|--use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args - --expt-extended-lambda|--expt-relaxed-constexpr) + --expt-extended-lambda|--expt-relaxed-constexpr|--Wno-deprecated-gpu-targets|-Wno-deprecated-gpu-targets) cuda_args="$cuda_args $1" ;; #Handle known nvcc args that have an argument diff --git a/lib/kokkos/cmake/CTestConfig.cmake.in b/lib/kokkos/cmake/CTestConfig.cmake.in new file mode 100644 index 0000000000..1f82c0d64d --- /dev/null +++ b/lib/kokkos/cmake/CTestConfig.cmake.in @@ -0,0 +1,91 @@ +#----------------------------------------------------------------------------------------# +# +# CTestConfig.cmake template for Kokkos +# +#----------------------------------------------------------------------------------------# + +# +# dash-board related +# +set(CTEST_PROJECT_NAME "Kokkos") +set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC") +set(CTEST_DROP_METHOD "https") +set(CTEST_DROP_SITE "cdash.nersc.gov") +set(CTEST_DROP_LOCATION "/submit.php?project=${CTEST_PROJECT_NAME}") +set(CTEST_CDASH_VERSION "1.6") +set(CTEST_CDASH_QUERY_VERSION TRUE) +set(CTEST_SUBMIT_RETRY_COUNT "1") +set(CTEST_SUBMIT_RETRY_DELAY "30") + +# +# configure/build related +# +set(CTEST_BUILD_NAME "@BUILD_NAME@") +set(CTEST_MODEL "@MODEL@") +set(CTEST_SITE "@SITE@") +set(CTEST_CONFIGURATION_TYPE "@BUILD_TYPE@") +set(CTEST_SOURCE_DIRECTORY "@SOURCE_REALDIR@") +set(CTEST_BINARY_DIRECTORY "@BINARY_REALDIR@") + +# +# configure/build related +# +set(CTEST_UPDATE_TYPE "git") +set(CTEST_UPDATE_VERSION_ONLY ON) +# set(CTEST_GENERATOR "") +# set(CTEST_GENERATOR_PLATFORM "") + +# +# testing related +# +set(CTEST_TIMEOUT "7200") +set(CTEST_TEST_TIMEOUT "7200") +set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS "100") +set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "100") +set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE "1048576") + +# +# coverage related +# +set(CTEST_CUSTOM_COVERAGE_EXCLUDE ".*tpls/.*;/usr/.*;.*unit_test/.*;.*unit_tests/.*;.*perf_test/.*") + +# +# commands +# +if(NOT "@CHECKOUT_COMMAND@" STREQUAL "") + set(CTEST_CHECKOUT_COMMAND "@CHECKOUT_COMMAND@") +endif() +set(CTEST_UPDATE_COMMAND "@GIT_EXECUTABLE@") +set(CTEST_CONFIGURE_COMMAND "@CMAKE_COMMAND@ -DCMAKE_BUILD_TYPE=@BUILD_TYPE@ -DKokkos_ENABLE_TESTS=ON @CONFIG_ARGS@ @SOURCE_REALDIR@") +set(CTEST_BUILD_COMMAND "@CMAKE_COMMAND@ --build @BINARY_REALDIR@ --target @TARGET@") +if(NOT WIN32) + set(CTEST_BUILD_COMMAND "${CTEST_BUILD_COMMAND} -- -j@BUILD_JOBS@") +endif() +set(CTEST_COVERAGE_COMMAND "gcov") +set(CTEST_MEMORYCHECK_COMMAND "valgrind") +set(CTEST_GIT_COMMAND "@GIT_EXECUTABLE@") + +# +# various configs +# +set(APPEND_VALUE @APPEND@) +if(APPEND_VALUE) + set(APPEND_CTEST APPEND) +endif() + +macro(SET_TEST_PROP VAR) + if(NOT "${ARGS}" STREQUAL "") + set(${VAR}_CTEST ${VAR} ${ARGN}) + endif() +endmacro() + +set_test_prop(START @START@) +set_test_prop(END @END@) +set_test_prop(STRIDE @STRIDE@) +set_test_prop(INCLUDE @INCLUDE@) +set_test_prop(EXCLUDE @EXCLUDE@) +set_test_prop(INCLUDE_LABEL @INCLUDE_LABEL@) +set_test_prop(EXCLUDE_LABEL @EXCLUDE_LABEL@) +set_test_prop(PARALLEL_LEVEL @PARALLEL_LEVEL@) +set_test_prop(STOP_TIME @STOP_TIME@) +set_test_prop(COVERAGE_LABELS @LABELS@) diff --git a/lib/kokkos/cmake/KokkosCI.cmake b/lib/kokkos/cmake/KokkosCI.cmake new file mode 100644 index 0000000000..e8c9af37ad --- /dev/null +++ b/lib/kokkos/cmake/KokkosCI.cmake @@ -0,0 +1,350 @@ +cmake_minimum_required(VERSION 3.16 FATAL_ERROR) + +message(STATUS "") + +get_cmake_property(_cached_vars CACHE_VARIABLES) +set(KOKKOS_CMAKE_ARGS) +set(EXCLUDED_VARIABLES "CMAKE_COMMAND" "CMAKE_CPACK_COMMAND" "CMAKE_CTEST_COMMAND" "CMAKE_ROOT" + "CTEST_ARGS" "BUILD_NAME" "CMAKE_CXX_FLAGS" "CMAKE_BUILD_TYPE") +list(SORT _cached_vars) +foreach(_var ${_cached_vars}) + if(NOT "${_var}" IN_LIST EXCLUDED_VARIABLES) + list(APPEND KOKKOS_CMAKE_ARGS ${_var}) + if("${_var}" STREQUAL "CMAKE_BUILD_TYPE") + set(BUILD_TYPE "${CMAKE_BUILD_TYPE}") + endif() + endif() +endforeach() + + +#----------------------------------------------------------------------------------------# +# +# Macros and variables +# +#----------------------------------------------------------------------------------------# + +macro(CHECK_REQUIRED VAR) + if(NOT DEFINED ${VAR}) + message(FATAL_ERROR "Error! Variable '${VAR}' must be defined") + endif() +endmacro() + +# require the build name variable +CHECK_REQUIRED(BUILD_NAME) + +# uses all args +macro(SET_DEFAULT VAR) + if(NOT DEFINED ${VAR}) + set(${VAR} ${ARGN}) + endif() + # remove these ctest configuration variables from the defines + # passed to the Kokkos configuration + if("${VAR}" IN_LIST KOKKOS_CMAKE_ARGS) + list(REMOVE_ITEM KOKKOS_CMAKE_ARGS "${VAR}") + endif() +endmacro() + +# uses first arg -- useful for selecting via priority from multiple +# potentially defined variables, e.g.: +# +# set_default_arg1(BUILD_NAME ${TRAVIS_BUILD_NAME} ${BUILD_NAME}) +# +macro(SET_DEFAULT_ARG1 VAR) + if(NOT DEFINED ${VAR}) + foreach(_ARG ${ARGN}) + if(NOT "${_ARG}" STREQUAL "") + set(${VAR} ${_ARG}) + break() + endif() + endforeach() + endif() + # remove these ctest configuration variables from the defines + # passed to the Kokkos configuration + if("${VAR}" IN_LIST KOKKOS_CMAKE_ARGS) + list(REMOVE_ITEM KOKKOS_CMAKE_ARGS "${VAR}") + endif() +endmacro() + +# determine the default working directory +if(NOT "$ENV{WORKSPACE}" STREQUAL "") + set(WORKING_DIR "$ENV{WORKSPACE}") +else() + get_filename_component(WORKING_DIR ${CMAKE_CURRENT_LIST_DIR} DIRECTORY) +endif() + +# determine the hostname +execute_process(COMMAND hostname + OUTPUT_VARIABLE HOSTNAME + OUTPUT_STRIP_TRAILING_WHITESPACE) + +SET_DEFAULT(HOSTNAME "$ENV{HOSTNAME}") + +# get the number of processors +include(ProcessorCount) +ProcessorCount(NUM_PROCESSORS) + +# find git +find_package(Git QUIET) +if(NOT GIT_EXECUTABLE) + unset(GIT_EXECUTABLE CACHE) + unset(GIT_EXECUTABLE) +endif() + +function(EXECUTE_GIT_COMMAND VAR) + set(${VAR} "" PARENT_SCOPE) + execute_process(COMMAND ${GIT_EXECUTABLE} ${ARGN} + OUTPUT_VARIABLE VAL + RESULT_VARIABLE RET + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + ERROR_QUIET) + string(REPLACE ";" " " _CMD "${GIT_EXECUTABLE} ${ARGN}") + set(LAST_GIT_COMMAND "${_CMD}" PARENT_SCOPE) + if(RET EQUAL 0) + set(${VAR} "${VAL}" PARENT_SCOPE) + endif() +endfunction() + +# just gets the git branch name if available +function(GET_GIT_BRANCH_NAME VAR) + execute_git_command(GIT_BRANCH branch --show-current) + set(_INVALID "%D" "HEAD") + if(NOT GIT_BRANCH OR "${GIT_BRANCH}" IN_LIST _INVALID) + execute_git_command(GIT_BRANCH show -s --format=%D) + if(NOT GIT_BRANCH OR "${GIT_BRANCH}" IN_LIST _INVALID) + execute_git_command(GIT_BRANCH --describe all) + endif() + endif() + # + if(GIT_BRANCH) + string(REPLACE " " ";" _DESC "${GIT_BRANCH}") + # just set it to last one via loop instead of wonky cmake index manip + foreach(_ITR ${_DESC}) + set(GIT_BRANCH "${_ITR}") + endforeach() + set(${VAR} "${GIT_BRANCH}" PARENT_SCOPE) + message(STATUS "GIT BRANCH via '${LAST_GIT_COMMAND}': ${GIT_BRANCH}") + endif() +endfunction() + +# just gets the git branch name if available +function(GET_GIT_AUTHOR_NAME VAR) + execute_git_command(GIT_AUTHOR show -s --format=%an) + if(GIT_AUTHOR) + string(LENGTH "${GIT_AUTHOR}" STRLEN) + # if the build name gets too long, this can cause submission errors + if(STRLEN GREATER 24) + # remove middle initial + string(REGEX REPLACE " [A-Z]\. " " " GIT_AUTHOR "${GIT_AUTHOR}") + # get first and sur name + string(REGEX REPLACE "([A-Za-z]+) ([A-Za-z]+)" "\\1" F_NAME "${GIT_AUTHOR}") + string(REGEX REPLACE "([A-Za-z]+) ([A-Za-z]+)" "\\2" S_NAME "${GIT_AUTHOR}") + if(S_NAME) + set(GIT_AUTHOR "${S_NAME}") + elseif(F_NAME) + set(GIT_AUTHOR "${F_NAME}") + endif() + endif() + # remove any spaces, quotes, periods, etc. + string(REGEX REPLACE "[ ',;_\.\"]+" "" GIT_AUTHOR "${GIT_AUTHOR}") + set(${VAR} "${GIT_AUTHOR}" PARENT_SCOPE) + message(STATUS "GIT AUTHOR via '${LAST_GIT_COMMAND}': ${GIT_AUTHOR}") + endif() +endfunction() + +# get the name of the branch +GET_GIT_BRANCH_NAME(GIT_BRANCH) +# get the name of the author +GET_GIT_AUTHOR_NAME(GIT_AUTHOR) +# author, prefer git method for consistency +SET_DEFAULT_ARG1(AUTHOR ${GIT_AUTHOR} $ENV{GIT_AUTHOR} $ENV{AUTHOR}) +# SLUG == owner_name/repo_name +SET_DEFAULT_ARG1(SLUG $ENV{TRAVIS_PULL_REQUEST_SLUG} $ENV{TRAVIS_REPO_SLUG} $ENV{APPVEYOR_REPO_NAME} $ENV{PULL_REQUEST_SLUG} $ENV{REPO_SLUG}) +# branch name +SET_DEFAULT_ARG1(BRANCH $ENV{TRAVIS_PULL_REQUEST_BRANCH} $ENV{TRAVIS_BRANCH} $ENV{APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH} $ENV{APPVEYOR_REPO_BRANCH} $ENV{GIT_BRANCH} $ENV{BRANCH_NAME} $ENV{BRANCH} ${GIT_BRANCH}) +# pull request number +SET_DEFAULT_ARG1(PULL_REQUEST_NUM $ENV{TRAVIS_PULL_REQUEST} $ENV{CHANGE_ID} $ENV{APPVEYOR_PULL_REQUEST_NUMBER} $ENV{PULL_REQUEST_NUM}) +# get the event type, e.g. push, pull_request, api, cron, etc. +SET_DEFAULT_ARG1(EVENT_TYPE $ENV{TRAVIS_EVENT_TYPE} ${EVENT_TYPE}) + +if("${BRANCH}" STREQUAL "") + message(STATUS "Checked: environment variables for Travis, Appveyor, Jenkins (git plugin), BRANCH_NAME, BRANCH and 'git branch --show-current'") + message(FATAL_ERROR "Error! Git branch could not be determined. Please provide -DBRANCH=") +endif() + +#----------------------------------------------------------------------------------------# +# +# Set default values if not provided on command-line +# +#----------------------------------------------------------------------------------------# + +SET_DEFAULT(SOURCE_DIR "${WORKING_DIR}") # source directory +SET_DEFAULT(BINARY_DIR "${WORKING_DIR}/build") # build directory +SET_DEFAULT(BUILD_TYPE "${CMAKE_BUILD_TYPE}") # Release, Debug, etc. +SET_DEFAULT(MODEL "Continuous") # Continuous, Nightly, or Experimental +SET_DEFAULT(JOBS 1) # number of parallel ctests +SET_DEFAULT(CTEST_COMMAND "${CMAKE_CTEST_COMMAND}") # just in case +SET_DEFAULT(CTEST_ARGS "-V --output-on-failure") # extra arguments when ctest is called +SET_DEFAULT(GIT_EXECUTABLE "git") # ctest_update +SET_DEFAULT(TARGET "all") # build target +SET_DEFAULT_ARG1(SITE "$ENV{SITE}" + "${HOSTNAME}") # update site +SET_DEFAULT_ARG1(BUILD_JOBS "$ENV{BUILD_JOBS}" + "${NUM_PROCESSORS}") # number of parallel compile jobs +# +# The variable below correspond to ctest arguments, i.e. START,END,STRIDE are +# '-I START,END,STRIDE' +# +SET_DEFAULT(START "") +SET_DEFAULT(END "") +SET_DEFAULT(STRIDE "") +SET_DEFAULT(INCLUDE "") +SET_DEFAULT(EXCLUDE "") +SET_DEFAULT(INCLUDE_LABEL "") +SET_DEFAULT(EXCLUDE_LABEL "") +SET_DEFAULT(PARALLEL_LEVEL "") +SET_DEFAULT(STOP_TIME "") +SET_DEFAULT(LABELS "") +SET_DEFAULT(NOTES "") + +# default static build tag for Nightly +set(BUILD_TAG "${BRANCH}") + +if(NOT BUILD_TYPE) + # default for kokkos if not specified + set(BUILD_TYPE "RelWithDebInfo") +endif() + +# generate dynamic name if continuous or experimental model +if(NOT "${MODEL}" STREQUAL "Nightly") + if(EVENT_TYPE AND PULL_REQUEST_NUM) + # e.g. pull_request/123 + if(AUTHOR) + set(BUILD_TAG "${AUTHOR}/${EVENT_TYPE}/${PULL_REQUEST_NUM}") + else() + set(BUILD_TAG "${EVENT_TYPE}/${PULL_REQUEST_NUM}") + endif() + elseif(SLUG) + # e.g. owner_name/repo_name + set(BUILD_TAG "${SLUG}") + elseif(AUTHOR) + set(BUILD_TAG "${AUTHOR}/${BRANCH}") + endif() + if(EVENT_TYPE AND NOT PULL_REQUEST_NUM) + set(BUILD_TAG "${BUILD_TAG}-${EVENT_TYPE}") + endif() +endif() + +# unnecessary +string(REPLACE "/remotes/" "/" BUILD_TAG "${BUILD_TAG}") +string(REPLACE "/origin/" "/" BUILD_TAG "${BUILD_TAG}") + +message(STATUS "BUILD_TAG: ${BUILD_TAG}") + +set(BUILD_NAME "[${BUILD_TAG}] [${BUILD_NAME}-${BUILD_TYPE}]") + +# colons in build name create extra (empty) entries in CDash +string(REPLACE ":" "-" BUILD_NAME "${BUILD_NAME}") +# unnecessary info +string(REPLACE "/merge]" "]" BUILD_NAME "${BUILD_NAME}") +# consistency +string(REPLACE "/pr/" "/pull/" BUILD_NAME "${BUILD_NAME}") +string(REPLACE "pull_request/" "pull/" BUILD_NAME "${BUILD_NAME}") +# miscellaneous from missing fields +string(REPLACE "--" "-" BUILD_NAME "${BUILD_NAME}") +string(REPLACE "-]" "]" BUILD_NAME "${BUILD_NAME}") + +# check binary directory +if(EXISTS ${BINARY_DIR}) + if(NOT IS_DIRECTORY "${BINARY_DIR}") + message(FATAL_ERROR "Error! '${BINARY_DIR}' already exists and is not a directory!") + endif() + file(GLOB BINARY_DIR_FILES "${BINARY_DIR}/*") + if(NOT "${BINARY_DIR_FILES}" STREQUAL "") + message(FATAL_ERROR "Error! '${BINARY_DIR}' already exists and is not empty!") + endif() +endif() + +get_filename_component(SOURCE_REALDIR ${SOURCE_DIR} REALPATH) +get_filename_component(BINARY_REALDIR ${BINARY_DIR} REALPATH) + +#----------------------------------------------------------------------------------------# +# +# Generate the CTestConfig.cmake +# +#----------------------------------------------------------------------------------------# + +set(CONFIG_ARGS) +foreach(_ARG ${KOKKOS_CMAKE_ARGS}) + if(NOT "${${_ARG}}" STREQUAL "") + get_property(_ARG_TYPE CACHE ${_ARG} PROPERTY TYPE) + if("${_ARG_TYPE}" STREQUAL "UNINITIALIZED") + if("${${_ARG}}" STREQUAL "ON" OR "${${_ARG}}" STREQUAL "OFF") + set(_ARG_TYPE "BOOL") + elseif(EXISTS "${${_ARG}}" AND NOT IS_DIRECTORY "${${_ARG}}") + set(_ARG_TYPE "FILEPATH") + elseif(EXISTS "${${_ARG}}" AND IS_DIRECTORY "${${_ARG}}") + set(_ARG_TYPE "PATH") + elseif(NOT "${${_ARG}}" STREQUAL "") + set(_ARG_TYPE "STRING") + endif() + endif() + set(CONFIG_ARGS "${CONFIG_ARGS}set(${_ARG} \"${${_ARG}}\" CACHE ${_ARG_TYPE} \"\")\n") + endif() +endforeach() + +file(WRITE ${BINARY_REALDIR}/initial-cache.cmake +" +set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS}\" CACHE STRING \"\") +${CONFIG_ARGS} +") + +file(READ ${BINARY_REALDIR}/initial-cache.cmake _CACHE_INFO) +message(STATUS "Initial cache:\n${_CACHE_INFO}") + +# initialize the cache +set(CONFIG_ARGS "-C ${BINARY_REALDIR}/initial-cache.cmake") + + +# generate the CTestConfig.cmake +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/CTestConfig.cmake.in + ${BINARY_REALDIR}/CTestConfig.cmake + @ONLY) + +# copy/generate the dashboard script +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/KokkosCTest.cmake.in + ${BINARY_REALDIR}/KokkosCTest.cmake + @ONLY) + +# custom CTest settings go in ${BINARY_DIR}/CTestCustom.cmake +execute_process( + COMMAND ${CMAKE_COMMAND} -E touch CTestCustom.cmake + WORKING_DIRECTORY ${BINARY_REALDIR} + ) + +#----------------------------------------------------------------------------------------# +# +# Execute CTest +# +#----------------------------------------------------------------------------------------# + +message(STATUS "") +message(STATUS "BUILD_NAME: ${BUILD_NAME}") +message(STATUS "Executing '${CTEST_COMMAND} -S KokkosCTest.cmake ${CTEST_ARGS}'...") +message(STATUS "") + +# e.g. -DCTEST_ARGS="--output-on-failure -VV" should really be -DCTEST_ARGS="--output-on-failure;-VV" +string(REPLACE " " ";" CTEST_ARGS "${CTEST_ARGS}") + +execute_process( + COMMAND ${CTEST_COMMAND} -S KokkosCTest.cmake ${CTEST_ARGS} + RESULT_VARIABLE RET + WORKING_DIRECTORY ${BINARY_REALDIR} + ) + +# ensure that any non-zero result variable gets propagated +if(NOT RET EQUAL 0) + message(FATAL_ERROR "CTest return non-zero exit code: ${RET}") +endif() diff --git a/lib/kokkos/cmake/KokkosCTest.cmake.in b/lib/kokkos/cmake/KokkosCTest.cmake.in new file mode 100644 index 0000000000..b6917f3cc1 --- /dev/null +++ b/lib/kokkos/cmake/KokkosCTest.cmake.in @@ -0,0 +1,261 @@ +cmake_minimum_required(VERSION 3.16 FATAL_ERROR) + +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/CTestConfig.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/CTestConfig.cmake") +endif() + +include(ProcessorCount) +ProcessorCount(CTEST_PROCESSOR_COUNT) + +cmake_policy(SET CMP0009 NEW) +cmake_policy(SET CMP0011 NEW) + +# ---------------------------------------------------------------------------- # +# -- Commands +# ---------------------------------------------------------------------------- # +find_program(CTEST_CMAKE_COMMAND NAMES cmake) +find_program(CTEST_UNAME_COMMAND NAMES uname) + +find_program(CTEST_BZR_COMMAND NAMES bzr) +find_program(CTEST_CVS_COMMAND NAMES cvs) +find_program(CTEST_GIT_COMMAND NAMES git) +find_program(CTEST_HG_COMMAND NAMES hg) +find_program(CTEST_P4_COMMAND NAMES p4) +find_program(CTEST_SVN_COMMAND NAMES svn) + +find_program(VALGRIND_COMMAND NAMES valgrind) +find_program(GCOV_COMMAND NAMES gcov) +find_program(LCOV_COMMAND NAMES llvm-cov) +find_program(MEMORYCHECK_COMMAND NAMES valgrind ) + +set(MEMORYCHECK_TYPE Valgrind) +# set(MEMORYCHECK_TYPE Purify) +# set(MEMORYCHECK_TYPE BoundsChecker) +# set(MEMORYCHECK_TYPE ThreadSanitizer) +# set(MEMORYCHECK_TYPE AddressSanitizer) +# set(MEMORYCHECK_TYPE LeakSanitizer) +# set(MEMORYCHECK_TYPE MemorySanitizer) +# set(MEMORYCHECK_TYPE UndefinedBehaviorSanitizer) +set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full") + +# ---------------------------------------------------------------------------- # +# -- Settings +# ---------------------------------------------------------------------------- # +## -- Process timeout in seconds +set(CTEST_TIMEOUT "7200") +## -- Set output to English +set(ENV{LC_MESSAGES} "en_EN" ) + + +# ---------------------------------------------------------------------------- # +# -- Copy ctest configuration file +# ---------------------------------------------------------------------------- # +macro(COPY_CTEST_CONFIG_FILES) + + foreach(_FILE CTestConfig.cmake CTestCustom.cmake) + + # if current directory is not binary or source directory + if(NOT "${CMAKE_CURRENT_LIST_DIR}" STREQUAL "${CTEST_BINARY_DIRECTORY}" AND + NOT "${CTEST_SOURCE_DIRECTORY}" STREQUAL "${CTEST_BINARY_DIRECTORY}") + + # if file exists in current directory + if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/${_FILE}) + configure_file(${CMAKE_CURRENT_LIST_DIR}/${_FILE} + ${CTEST_BINARY_DIRECTORY}/${_FILE} COPYONLY) + endif() + + # if source and binary differ + elseif(NOT "${CTEST_SOURCE_DIRECTORY}" STREQUAL "${CTEST_BINARY_DIRECTORY}") + + # if file exists in source directory but not in binary directory + if(EXISTS ${CTEST_SOURCE_DIRECTORY}/${_FILE} AND + NOT EXISTS ${CTEST_BINARY_DIRECTORY}/${_FILE}) + configure_file(${CTEST_SOURCE_DIRECTORY}/${_FILE} + ${CTEST_BINARY_DIRECTORY}/${_FILE} COPYONLY) + endif() + + endif() + endforeach() + +endmacro() + +ctest_read_custom_files("${CMAKE_CURRENT_LIST_DIR}") + +message(STATUS "CTEST_MODEL: ${CTEST_MODEL}") + +#-------------------------------------------------------------------------# +# Start +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running START_CTEST stage...") +message(STATUS "") + +ctest_start(${CTEST_MODEL} TRACK ${CTEST_MODEL} ${APPEND_CTEST} + ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY}) + + +#-------------------------------------------------------------------------# +# Config +# +copy_ctest_config_files() +ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}") + + +#-------------------------------------------------------------------------# +# Update +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_UPDATE stage...") +message(STATUS "") + +ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" + RETURN_VALUE up_ret) + + +#-------------------------------------------------------------------------# +# Configure +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_CONFIGURE stage...") +message(STATUS "") + +ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" + SOURCE ${CTEST_SOURCE_DIRECTORY} + ${APPEND_CTEST} + OPTIONS "${CTEST_CONFIGURE_OPTIONS}" + RETURN_VALUE config_ret) + + +#-------------------------------------------------------------------------# +# Echo configure log bc Damien wants to delay merging this PR for eternity +# +file(GLOB _configure_log "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastConfigure*.log") +# should only have one but loop just for safety +foreach(_LOG ${_configure_log}) + file(READ ${_LOG} _LOG_MESSAGE) + message(STATUS "Configure Log: ${_LOG}") + message(STATUS "\n${_LOG_MESSAGE}\n") +endforeach() + + +#-------------------------------------------------------------------------# +# Build +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_BUILD stage...") +message(STATUS "") + +ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" + ${APPEND_CTEST} + RETURN_VALUE build_ret) + + +#-------------------------------------------------------------------------# +# Echo build log bc Damien wants to delay merging this PR for eternity +# +file(GLOB _build_log "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastBuild*.log") +# should only have one but loop just for safety +foreach(_LOG ${_build_log}) + file(READ ${_LOG} _LOG_MESSAGE) + message(STATUS "Build Log: ${_LOG}") + message(STATUS "\n${_LOG_MESSAGE}\n") +endforeach() + + +#-------------------------------------------------------------------------# +# Test +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_TEST stage...") +message(STATUS "") + +ctest_test(RETURN_VALUE test_ret + ${APPEND_CTEST} + ${START_CTEST} + ${END_CTEST} + ${STRIDE_CTEST} + ${INCLUDE_CTEST} + ${EXCLUDE_CTEST} + ${INCLUDE_LABEL_CTEST} + ${EXCLUDE_LABEL_CTEST} + ${PARALLEL_LEVEL_CTEST} + ${STOP_TIME_CTEST} + SCHEDULE_RANDOM OFF) + + +#-------------------------------------------------------------------------# +# Coverage +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_COVERAGE stage...") +message(STATUS "") + +execute_process(COMMAND ${CTEST_COVERAGE_COMMAND} ${CTEST_COVERAGE_EXTRA_FLAGS} + WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} + ERROR_QUIET) + +ctest_coverage(${APPEND_CTEST} + ${CTEST_COVERAGE_LABELS} + RETURN_VALUE cov_ret) + + +#-------------------------------------------------------------------------# +# MemCheck +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_MEMCHECK stage...") +message(STATUS "") + +ctest_memcheck(RETURN_VALUE mem_ret + ${APPEND_CTEST} + ${START_CTEST} + ${END_CTEST} + ${STRIDE_CTEST} + ${INCLUDE_CTEST} + ${EXCLUDE_CTEST} + ${INCLUDE_LABEL_CTEST} + ${EXCLUDE_LABEL_CTEST} + ${PARALLEL_LEVEL_CTEST}) + + +#-------------------------------------------------------------------------# +# Submit +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Running CTEST_SUBMIT stage...") +message(STATUS "") + +file(GLOB_RECURSE NOTE_FILES "${CTEST_BINARY_DIRECTORY}/*CTestNotes.cmake") +foreach(_FILE ${NOTE_FILES}) + message(STATUS "Including CTest notes files: \"${_FILE}\"...") + include("${_FILE}") +endforeach() + +# capture submit error so it doesn't fail because of a submission error +ctest_submit(RETURN_VALUE submit_ret + RETRY_COUNT 2 + RETRY_DELAY 10 + CAPTURE_CMAKE_ERROR submit_err) + +#-------------------------------------------------------------------------# +# Submit +# +message(STATUS "") +message(STATUS "[${CTEST_BUILD_NAME}] Finished ${CTEST_MODEL} Stages (${STAGES})") +message(STATUS "") + + +#-------------------------------------------------------------------------# +# Non-zero exit codes for important errors +# +if(NOT config_ret EQUAL 0) + message(FATAL_ERROR "Error during configuration! Exit code: ${config_ret}") +endif() + +if(NOT build_ret EQUAL 0) + message(FATAL_ERROR "Error during build! Exit code: ${build_ret}") +endif() + +if(NOT test_ret EQUAL 0) + message(FATAL_ERROR "Error during testing! Exit code: ${test_ret}") +endif() diff --git a/lib/kokkos/cmake/KokkosConfig.cmake.in b/lib/kokkos/cmake/KokkosConfig.cmake.in index 9fbd22ee5c..44a8fcd9c3 100644 --- a/lib/kokkos/cmake/KokkosConfig.cmake.in +++ b/lib/kokkos/cmake/KokkosConfig.cmake.in @@ -19,17 +19,44 @@ INCLUDE("${Kokkos_CMAKE_DIR}/KokkosTargets.cmake") INCLUDE("${Kokkos_CMAKE_DIR}/KokkosConfigCommon.cmake") UNSET(Kokkos_CMAKE_DIR) -# if CUDA was enabled and separable compilation was specified, e.g. -# find_package(Kokkos COMPONENTS separable_compilation) -# then we set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK -IF(@Kokkos_ENABLE_CUDA@ AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) +# check for conflicts +IF("launch_compiler" IN_LIST Kokkos_FIND_COMPONENTS AND + "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) + MESSAGE(STATUS "'launch_compiler' implies global redirection of targets depending on Kokkos to appropriate compiler.") + MESSAGE(STATUS "'separable_compilation' implies explicitly defining where redirection occurs via 'kokkos_compilation(PROJECT|TARGET|SOURCE|DIRECTORY ...)'") + MESSAGE(FATAL_ERROR "Conflicting COMPONENTS: 'launch_compiler' and 'separable_compilation'") +ENDIF() + +IF("launch_compiler" IN_LIST Kokkos_FIND_COMPONENTS) + # + # if find_package(Kokkos COMPONENTS launch_compiler) then rely on the + # RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK to always redirect to the + # appropriate compiler for Kokkos + # + + MESSAGE(STATUS "kokkos_launch_compiler is enabled globally. C++ compiler commands with -DKOKKOS_DEPENDENCE will be redirected to the appropriate compiler for Kokkos") + kokkos_compilation( + GLOBAL + CHECK_CUDA_COMPILES) + +ELSEIF(@Kokkos_ENABLE_CUDA@ AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) + # + # if CUDA was enabled, separable compilation was not specified, and current compiler + # cannot compile CUDA, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and + # kokkos_launch_compiler will re-direct to the compiler used to compile CUDA code during installation. + # kokkos_launch_compiler will re-direct if ${CMAKE_CXX_COMPILER} and -DKOKKOS_DEPENDENCE is present, + # otherwise, the original command will be executed + # + # run test to see if CMAKE_CXX_COMPILER=nvcc_wrapper kokkos_compiler_is_nvcc(IS_NVCC ${CMAKE_CXX_COMPILER}) - # if not nvcc_wrapper, use RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK - IF(NOT IS_NVCC AND NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang AND - (NOT DEFINED Kokkos_LAUNCH_COMPILER OR Kokkos_LAUNCH_COMPILER)) - MESSAGE(STATUS "kokkos_launch_compiler is enabled globally. C++ compiler commands with -DKOKKOS_DEPENDENCE will be redirected to nvcc_wrapper") + + # if not nvcc_wrapper and Kokkos_LAUNCH_COMPILER was not set to OFF + IF(NOT IS_NVCC AND (NOT DEFINED Kokkos_LAUNCH_COMPILER OR Kokkos_LAUNCH_COMPILER)) + MESSAGE(STATUS "kokkos_launch_compiler is enabled globally. C++ compiler commands with -DKOKKOS_DEPENDENCE will be redirected to the appropriate compiler for Kokkos") kokkos_compilation(GLOBAL) ENDIF() - UNSET(IS_NVCC) # be mindful of the environment, pollution is bad + + # be mindful of the environment, pollution is bad + UNSET(IS_NVCC) ENDIF() diff --git a/lib/kokkos/cmake/KokkosConfigCommon.cmake.in b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in index 42c755c215..ab93e65afe 100644 --- a/lib/kokkos/cmake/KokkosConfigCommon.cmake.in +++ b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in @@ -3,6 +3,7 @@ SET(Kokkos_OPTIONS @KOKKOS_ENABLED_OPTIONS@) SET(Kokkos_TPLS @KOKKOS_ENABLED_TPLS@) SET(Kokkos_ARCH @KOKKOS_ENABLED_ARCH_LIST@) SET(Kokkos_CXX_COMPILER "@CMAKE_CXX_COMPILER@") +SET(Kokkos_CXX_COMPILER_ID "@KOKKOS_CXX_COMPILER_ID@") # These are needed by KokkosKernels FOREACH(DEV ${Kokkos_DEVICES}) @@ -13,13 +14,13 @@ IF(NOT Kokkos_FIND_QUIETLY) MESSAGE(STATUS "Enabled Kokkos devices: ${Kokkos_DEVICES}") ENDIF() -IF (Kokkos_ENABLE_CUDA AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0") - #If we are building CUDA, we have tricked CMake because we declare a CXX project - #If the default C++ standard for a given compiler matches the requested - #standard, then CMake just omits the -std flag in later versions of CMake - #This breaks CUDA compilation (CUDA compiler can have a different default - #-std then the underlying host compiler by itself). Setting this variable - #forces CMake to always add the -std flag even if it thinks it doesn't need it +IF (Kokkos_ENABLE_CUDA) + # If we are building CUDA, we have tricked CMake because we declare a CXX project + # If the default C++ standard for a given compiler matches the requested + # standard, then CMake just omits the -std flag in later versions of CMake + # This breaks CUDA compilation (CUDA compiler can have a different default + # -std then the underlying host compiler by itself). Setting this variable + # forces CMake to always add the -std flag even if it thinks it doesn't need it SET(CMAKE_CXX_STANDARD_DEFAULT 98 CACHE INTERNAL "" FORCE) ENDIF() @@ -90,52 +91,6 @@ function(kokkos_check) endif() endfunction() -# this function is provided to easily select which files use nvcc_wrapper: -# -# GLOBAL --> all files -# TARGET --> all files in a target -# SOURCE --> specific source files -# DIRECTORY --> all files in directory -# PROJECT --> all files/targets in a project/subproject -# -FUNCTION(kokkos_compilation) - CMAKE_PARSE_ARGUMENTS(COMP "GLOBAL;PROJECT" "" "DIRECTORY;TARGET;SOURCE" ${ARGN}) - - # search relative first and then absolute - SET(_HINTS "${CMAKE_CURRENT_LIST_DIR}/../.." "@CMAKE_INSTALL_PREFIX@") - - # find kokkos_launch_compiler - FIND_PROGRAM(Kokkos_COMPILE_LAUNCHER - NAMES kokkos_launch_compiler - HINTS ${_HINTS} - PATHS ${_HINTS} - PATH_SUFFIXES bin) - - IF(NOT Kokkos_COMPILE_LAUNCHER) - MESSAGE(FATAL_ERROR "Kokkos could not find 'kokkos_launch_compiler'. Please set '-DKokkos_COMPILE_LAUNCHER=/path/to/launcher'") - ENDIF() - - IF(COMP_GLOBAL) - # if global, don't bother setting others - SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - ELSE() - FOREACH(_TYPE PROJECT DIRECTORY TARGET SOURCE) - # make project/subproject scoping easy, e.g. KokkosCompilation(PROJECT) after project(...) - IF("${_TYPE}" STREQUAL "PROJECT" AND COMP_${_TYPE}) - LIST(APPEND COMP_DIRECTORY ${PROJECT_SOURCE_DIR}) - UNSET(COMP_${_TYPE}) - ENDIF() - # set the properties if defined - IF(COMP_${_TYPE}) - # MESSAGE(STATUS "Using nvcc_wrapper :: ${_TYPE} :: ${COMP_${_TYPE}}") - SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - ENDIF() - ENDFOREACH() - ENDIF() -ENDFUNCTION() - # A test to check whether a downstream project set the C++ compiler to NVCC or not # this is called only when Kokkos was installed with Kokkos_ENABLE_CUDA=ON FUNCTION(kokkos_compiler_is_nvcc VAR COMPILER) @@ -159,3 +114,161 @@ FUNCTION(kokkos_compiler_is_nvcc VAR COMPILER) ENDIF() ENDFUNCTION() +# this function checks whether the current CXX compiler supports building CUDA +FUNCTION(kokkos_cxx_compiler_cuda_test _VAR _COMPILER) + + FILE(WRITE ${PROJECT_BINARY_DIR}/compile_tests/compiles_cuda.cu +" +#include +#include + +__global__ +void kernel(int sz, double* data) +{ + int _beg = blockIdx.x * blockDim.x + threadIdx.x; + for(int i = _beg; i < sz; ++i) + data[i] += static_cast(i); +} + +int main() +{ + double* data = NULL; + int blocks = 64; + int grids = 64; + int ret = cudaMalloc(&data, blocks * grids * sizeof(double)); + if(ret != cudaSuccess) + return EXIT_FAILURE; + kernel<<>>(blocks * grids, data); + cudaDeviceSynchronize(); + return EXIT_SUCCESS; +} +") + + # save the command for debugging + SET(_COMMANDS "${_COMPILER} ${ARGN} -c ${PROJECT_BINARY_DIR}/compile_tests/compiles_cuda.cu") + + # use execute_process instead of try compile because we want to set custom compiler + EXECUTE_PROCESS(COMMAND ${_COMPILER} ${ARGN} -c ${PROJECT_BINARY_DIR}/compile_tests/compiles_cuda.cu + RESULT_VARIABLE _RET + WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/compile_tests + TIMEOUT 15 + OUTPUT_QUIET + ERROR_QUIET) + + IF(NOT _RET EQUAL 0) + # save the command for debugging + SET(_COMMANDS "${_COMMAND}\n${_COMPILER} --cuda-gpu-arch=sm_35 ${ARGN} -c ${PROJECT_BINARY_DIR}/compile_tests/compiles_cuda.cu") + # try the compile test again with clang arguments + EXECUTE_PROCESS(COMMAND ${_COMPILER} --cuda-gpu-arch=sm_35 -c ${PROJECT_BINARY_DIR}/compile_tests/compiles_cuda.cu + RESULT_VARIABLE _RET + WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/compile_tests + TIMEOUT 15 + OUTPUT_QUIET + ERROR_QUIET) + ENDIF() + + SET(${_VAR}_COMMANDS "${_COMMANDS}" PARENT_SCOPE) + SET(${_VAR} ${_RET} PARENT_SCOPE) +ENDFUNCTION() + +# this function is provided to easily select which files use the same compiler as Kokkos +# when it was installed (or nvcc_wrapper): +# +# GLOBAL --> all files +# TARGET --> all files in a target +# SOURCE --> specific source files +# DIRECTORY --> all files in directory +# PROJECT --> all files/targets in a project/subproject +# +# Use the COMPILER argument to specify a compiler, if needed. By default, it will +# set the values to ${Kokkos_CXX_COMPILER} unless Kokkos_ENABLE_CUDA=ON and +# Kokkos_CXX_COMPILER_ID is NVIDIA, then it will set it to nvcc_wrapper +# +# Use CHECK_CUDA_COMPILES to run a check when CUDA is enabled +# +FUNCTION(kokkos_compilation) + CMAKE_PARSE_ARGUMENTS(COMP + "GLOBAL;PROJECT;CHECK_CUDA_COMPILES" + "COMPILER" + "DIRECTORY;TARGET;SOURCE;COMMAND_PREFIX" + ${ARGN}) + + # if built w/o CUDA support, we want to basically make this a no-op + SET(_Kokkos_ENABLE_CUDA @Kokkos_ENABLE_CUDA@) + + # search relative first and then absolute + SET(_HINTS "${CMAKE_CURRENT_LIST_DIR}/../.." "@CMAKE_INSTALL_PREFIX@") + + # find kokkos_launch_compiler + FIND_PROGRAM(Kokkos_COMPILE_LAUNCHER + NAMES kokkos_launch_compiler + HINTS ${_HINTS} + PATHS ${_HINTS} + PATH_SUFFIXES bin) + + IF(NOT Kokkos_COMPILE_LAUNCHER) + MESSAGE(FATAL_ERROR "Kokkos could not find 'kokkos_launch_compiler'. Please set '-DKokkos_COMPILE_LAUNCHER=/path/to/launcher'") + ENDIF() + + # if COMPILER was not specified, assume Kokkos_CXX_COMPILER + IF(NOT COMP_COMPILER) + SET(COMP_COMPILER ${Kokkos_CXX_COMPILER}) + IF(_Kokkos_ENABLE_CUDA AND Kokkos_CXX_COMPILER_ID STREQUAL NVIDIA) + # find nvcc_wrapper + FIND_PROGRAM(Kokkos_NVCC_WRAPPER + NAMES nvcc_wrapper + HINTS ${_HINTS} + PATHS ${_HINTS} + PATH_SUFFIXES bin) + # fatal if we can't nvcc_wrapper + IF(NOT Kokkos_NVCC_WRAPPER) + MESSAGE(FATAL_ERROR "Kokkos could not find nvcc_wrapper. Please set '-DKokkos_NVCC_WRAPPER=/path/to/nvcc_wrapper'") + ENDIF() + SET(COMP_COMPILER ${Kokkos_NVCC_WRAPPER}) + ENDIF() + ENDIF() + + # check that the original compiler still exists! + IF(NOT EXISTS ${COMP_COMPILER}) + MESSAGE(FATAL_ERROR "Kokkos could not find original compiler: '${COMP_COMPILER}'") + ENDIF() + + # try to ensure that compiling cuda code works! + IF(_Kokkos_ENABLE_CUDA AND COMP_CHECK_CUDA_COMPILES) + + # this may fail if kokkos_compiler launcher was used during install + kokkos_cxx_compiler_cuda_test(_COMPILES_CUDA + ${Kokkos_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}) + + # if above failed, throw an error + IF(NOT _COMPILES_CUDA) + MESSAGE(FATAL_ERROR "kokkos_cxx_compiler_cuda_test failed! Test commands:\n${_COMPILES_CUDA_COMMANDS}") + ENDIF() + ENDIF() + + IF(COMP_COMMAND_PREFIX) + SET(_PREFIX "${COMP_COMMAND_PREFIX}") + STRING(REPLACE ";" " " _PREFIX "${COMP_COMMAND_PREFIX}") + SET(Kokkos_COMPILER_LAUNCHER "${_PREFIX} ${Kokkos_COMPILE_LAUNCHER}") + ENDIF() + + IF(COMP_GLOBAL) + # if global, don't bother setting others + SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}") + ELSE() + FOREACH(_TYPE PROJECT DIRECTORY TARGET SOURCE) + # make project/subproject scoping easy, e.g. KokkosCompilation(PROJECT) after project(...) + IF("${_TYPE}" STREQUAL "PROJECT" AND COMP_${_TYPE}) + LIST(APPEND COMP_DIRECTORY ${PROJECT_SOURCE_DIR}) + UNSET(COMP_${_TYPE}) + ENDIF() + # set the properties if defined + IF(COMP_${_TYPE}) + # MESSAGE(STATUS "Using ${COMP_COMPILER} :: ${_TYPE} :: ${COMP_${_TYPE}}") + SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${COMP_COMPILER} ${CMAKE_CXX_COMPILER}") + ENDIF() + ENDFOREACH() + ENDIF() +ENDFUNCTION() diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index 0259fe69d5..fbfae3711e 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -78,6 +78,7 @@ #cmakedefine KOKKOS_ARCH_POWER7 #cmakedefine KOKKOS_ARCH_POWER8 #cmakedefine KOKKOS_ARCH_POWER9 +#cmakedefine KOKKOS_ARCH_INTEL_GEN #cmakedefine KOKKOS_ARCH_KEPLER #cmakedefine KOKKOS_ARCH_KEPLER30 #cmakedefine KOKKOS_ARCH_KEPLER32 @@ -95,5 +96,8 @@ #cmakedefine KOKKOS_ARCH_VOLTA72 #cmakedefine KOKKOS_ARCH_TURING75 #cmakedefine KOKKOS_ARCH_AMPERE80 +#cmakedefine KOKKOS_ARCH_AMPERE86 #cmakedefine KOKKOS_ARCH_AMD_ZEN #cmakedefine KOKKOS_ARCH_AMD_ZEN2 + +#cmakedefine KOKKOS_IMPL_DISABLE_SYCL_DEVICE_PRINTF diff --git a/lib/kokkos/cmake/Modules/CudaToolkit.cmake b/lib/kokkos/cmake/Modules/CudaToolkit.cmake index d620a71d36..eda5541f7c 100644 --- a/lib/kokkos/cmake/Modules/CudaToolkit.cmake +++ b/lib/kokkos/cmake/Modules/CudaToolkit.cmake @@ -481,76 +481,6 @@ if(CMAKE_CUDA_COMPILER_LOADED AND NOT CUDAToolkit_BIN_DIR AND CMAKE_CUDA_COMPILE unset(cuda_dir) endif() -IF(CMAKE_VERSION VERSION_LESS "3.12.0") - function(import_target_link_libraries target) - cmake_parse_arguments(HACK - "SYSTEM;INTERFACE;PUBLIC" - "" - "" - ${ARGN} - ) - get_target_property(LIBS ${target} INTERFACE_LINK_LIBRARIES) - if (LIBS) - list(APPEND LIBS ${HACK_UNPARSED_ARGUMENTS}) - else() - set(LIBS ${HACK_UNPARSED_ARGUMENTS}) - endif() - set_target_properties(${target} PROPERTIES - INTERFACE_LINK_LIBRARIES "${LIBS}") - endfunction() -ELSE() - function(import_target_link_libraries) - target_link_libraries(${ARGN}) - endfunction() -ENDIF() - -IF(CMAKE_VERSION VERSION_LESS "3.13.0") - function(import_target_link_directories target) - cmake_parse_arguments(HACK - "SYSTEM;INTERFACE;PUBLIC" - "" - "" - ${ARGN} - ) - get_target_property(LINK_LIBS ${target} INTERFACE_LINK_LIBRARIES) - if (LINK_LIBS) #could be not-found - set(LINK_LIBS_LIST ${LINK_LIBS}) - endif() - foreach(LIB ${HACK_UNPARSED_ARGUMENTS}) - list(APPEND LINK_LIBS_LIST -L${LIB}) - endforeach() - set_target_properties(${target} PROPERTIES - INTERFACE_LINK_LIBRARIES "${LINK_LIBS_LIST}") - endfunction() -ELSE() - function(import_target_link_directories) - target_link_directories(${ARGN}) - endfunction() -ENDIF() - -IF(CMAKE_VERSION VERSION_LESS "3.12.0") - function(import_target_include_directories target) - cmake_parse_arguments(HACK - "SYSTEM;INTERFACE;PUBLIC" - "" - "" - ${ARGN} - ) - get_target_property(INLUDE_DIRS ${target} INTERFACE_INCLUDE_DIRECTORIES) - if (INCLUDE_DIRS) - list(APPEND INCLUDE_DIRS ${HACK_UNPARSED_ARGUMENTS}) - else() - set(INCLUDE_DIRS ${HACK_UNPARSED_ARGUMENTS}) - endif() - set_target_properties(${target} PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIRS}") - endfunction() -ELSE() - function(import_target_include_directories) - target_include_directories(${ARGN}) - endfunction() -ENDIF() - # Try language- or user-provided path first. if(CUDAToolkit_BIN_DIR) find_program(CUDAToolkit_NVCC_EXECUTABLE @@ -854,11 +784,11 @@ if(CUDAToolkit_FOUND) if (NOT TARGET CUDA::${lib_name} AND CUDA_${lib_name}_LIBRARY) add_library(CUDA::${lib_name} IMPORTED INTERFACE) - import_target_include_directories(CUDA::${lib_name} SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") - import_target_link_libraries(CUDA::${lib_name} INTERFACE "${CUDA_${lib_name}_LIBRARY}") + target_include_directories(CUDA::${lib_name} SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") + target_link_libraries(CUDA::${lib_name} INTERFACE "${CUDA_${lib_name}_LIBRARY}") foreach(dep ${arg_DEPS}) if(TARGET CUDA::${dep}) - import_target_link_libraries(CUDA::${lib_name} INTERFACE CUDA::${dep}) + target_link_libraries(CUDA::${lib_name} INTERFACE CUDA::${dep}) endif() endforeach() endif() @@ -866,8 +796,8 @@ if(CUDAToolkit_FOUND) if(NOT TARGET CUDA::toolkit) add_library(CUDA::toolkit IMPORTED INTERFACE) - import_target_include_directories(CUDA::toolkit SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") - import_target_link_directories(CUDA::toolkit INTERFACE "${CUDAToolkit_LIBRARY_DIR}") + target_include_directories(CUDA::toolkit SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") + target_link_directories(CUDA::toolkit INTERFACE "${CUDAToolkit_LIBRARY_DIR}") endif() _CUDAToolkit_find_and_add_import_lib(cuda_driver ALT cuda) @@ -882,11 +812,11 @@ if(CUDAToolkit_FOUND) AND TARGET CUDA::cudart_static) add_library(CUDA::cudart_static_deps IMPORTED INTERFACE) - import_target_link_libraries(CUDA::cudart_static INTERFACE CUDA::cudart_static_deps) + target_link_libraries(CUDA::cudart_static INTERFACE CUDA::cudart_static_deps) if(UNIX AND (CMAKE_C_COMPILER OR CMAKE_CXX_COMPILER)) find_package(Threads REQUIRED) - import_target_link_libraries(CUDA::cudart_static_deps INTERFACE Threads::Threads ${CMAKE_DL_LIBS}) + target_link_libraries(CUDA::cudart_static_deps INTERFACE Threads::Threads ${CMAKE_DL_LIBS}) endif() if(UNIX AND NOT APPLE) @@ -896,7 +826,7 @@ if(CUDAToolkit_FOUND) if(NOT CUDAToolkit_rt_LIBRARY) message(WARNING "Could not find librt library, needed by CUDA::cudart_static") else() - import_target_link_libraries(CUDA::cudart_static_deps INTERFACE ${CUDAToolkit_rt_LIBRARY}) + target_link_libraries(CUDA::cudart_static_deps INTERFACE ${CUDAToolkit_rt_LIBRARY}) endif() endif() endif() diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake index a1072a60c6..8d58d96415 100644 --- a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -25,7 +25,7 @@ IF (TARGET CUDA::cuda_driver) SET(FOUND_CUDA_DRIVER TRUE) KOKKOS_EXPORT_IMPORTED_TPL(CUDA::cuda_driver) ELSE() - SET(FOUND_CUDA_DRIVVER FALSE) + SET(FOUND_CUDA_DRIVER FALSE) ENDIF() include(FindPackageHandleStandardArgs) diff --git a/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake b/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake index 1d154e29af..a743fca0e4 100644 --- a/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake @@ -10,7 +10,7 @@ TRY_COMPILE(KOKKOS_HAS_PTHREAD_ARG # ${CMAKE_CXX${KOKKOS_CXX_STANDARD}_STANDARD_COMPILE_OPTION} INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PTHREAD DEFAULT_MSG KOKKOS_HAS_PTHREAD_ARG) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(TPLPTHREAD DEFAULT_MSG KOKKOS_HAS_PTHREAD_ARG) #Only create the TPL if we succeed IF (KOKKOS_HAS_PTHREAD_ARG) KOKKOS_CREATE_IMPORTED_TPL(PTHREAD diff --git a/lib/kokkos/cmake/Modules/FindTPLROCM.cmake b/lib/kokkos/cmake/Modules/FindTPLROCM.cmake new file mode 100644 index 0000000000..512ad6ceb2 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLROCM.cmake @@ -0,0 +1,11 @@ +include(FindPackageHandleStandardArgs) + +FIND_LIBRARY(AMD_HIP_LIBRARY amdhip64 PATHS ENV ROCM_PATH PATH_SUFFIXES lib) +FIND_LIBRARY(HSA_RUNTIME_LIBRARY hsa-runtime64 PATHS ENV ROCM_PATH PATH_SUFFIXES lib) + +find_package_handle_standard_args(TPLROCM DEFAULT_MSG AMD_HIP_LIBRARY HSA_RUNTIME_LIBRARY) + +kokkos_create_imported_tpl(ROCM INTERFACE + LINK_LIBRARIES ${HSA_RUNTIME_LIBRARY} ${AMD_HIP_LIBRARY} + COMPILE_DEFINITIONS __HIP_ROCclr__ +) diff --git a/lib/kokkos/cmake/compile_tests/cplusplus14.cpp b/lib/kokkos/cmake/compile_tests/cplusplus14.cpp new file mode 100644 index 0000000000..52ec9885ec --- /dev/null +++ b/lib/kokkos/cmake/compile_tests/cplusplus14.cpp @@ -0,0 +1,8 @@ +#include + +int main() { + // _t versions of type traits were added in C++14 + std::remove_cv_t i = 0; + + return i; +} diff --git a/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc b/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc index 48c01c070c..a26ac5af4b 100644 --- a/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc +++ b/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc @@ -72,6 +72,7 @@ int main() { case 72: std::cout << "Set -DKokkos_ARCH_VOLTA72=ON ." << std::endl; break; case 75: std::cout << "Set -DKokkos_ARCH_TURING75=ON ." << std::endl; break; case 80: std::cout << "Set -DKokkos_ARCH_AMPERE80=ON ." << std::endl; break; + case 86: std::cout << "Set -DKokkos_ARCH_AMPERE86=ON ." << std::endl; break; default: std::cout << "Compute capability " << compute_capability << " is not supported" << std::endl; diff --git a/lib/kokkos/cmake/compile_tests/pthread.cpp b/lib/kokkos/cmake/compile_tests/pthread.cpp index 92310da029..3f83bf6a5f 100644 --- a/lib/kokkos/cmake/compile_tests/pthread.cpp +++ b/lib/kokkos/cmake/compile_tests/pthread.cpp @@ -2,7 +2,7 @@ void* kokkos_test(void* args) { return args; } -int main(void) { +int main() { pthread_t thread; /* Use NULL to avoid C++11. Some compilers do not have C++11 by default. Forcing C++11 diff --git a/lib/kokkos/cmake/fake_tribits.cmake b/lib/kokkos/cmake/fake_tribits.cmake index 2e82a46235..fbd6745a60 100644 --- a/lib/kokkos/cmake/fake_tribits.cmake +++ b/lib/kokkos/cmake/fake_tribits.cmake @@ -81,10 +81,16 @@ ENDMACRO() FUNCTION(KOKKOS_ADD_TEST) if (KOKKOS_HAS_TRILINOS) CMAKE_PARSE_ARGUMENTS(TEST - "" + "SKIP_TRIBITS" "EXE;NAME;TOOL" "ARGS" ${ARGN}) + + IF(TEST_SKIP_TRIBITS) + MESSAGE(STATUS "Skipping test ${TEST_NAME} in TriBits") + RETURN() + ENDIF() + IF(TEST_EXE) SET(EXE_ROOT ${TEST_EXE}) ELSE() @@ -119,11 +125,10 @@ FUNCTION(KOKKOS_ADD_TEST) endif() else() CMAKE_PARSE_ARGUMENTS(TEST - "WILL_FAIL" + "WILL_FAIL;SKIP_TRIBITS" "FAIL_REGULAR_EXPRESSION;PASS_REGULAR_EXPRESSION;EXE;NAME;TOOL" "CATEGORIES;ARGS" ${ARGN}) - SET(TESTS_ADDED) # To match Tribits, we should always be receiving # the root names of exes/libs IF(TEST_EXE) @@ -135,48 +140,27 @@ FUNCTION(KOKKOS_ADD_TEST) # These should be the full target name SET(TEST_NAME ${PACKAGE_NAME}_${TEST_NAME}) SET(EXE ${PACKAGE_NAME}_${EXE_ROOT}) - IF (TEST_ARGS) - SET(TEST_NUMBER 0) - FOREACH (ARG_STR ${TEST_ARGS}) - # This is passed as a single string blob to match TriBITS behavior - # We need this to be turned into a list - STRING(REPLACE " " ";" ARG_STR_LIST ${ARG_STR}) - IF(WIN32) - ADD_TEST(NAME ${TEST_NAME}${TEST_NUMBER} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} - COMMAND ${EXE}${CMAKE_EXECUTABLE_SUFFIX} ${ARG_STR_LIST}) - ELSE() - ADD_TEST(NAME ${TEST_NAME}${TEST_NUMBER} COMMAND ${EXE} ${ARG_STR_LIST}) - ENDIF() - LIST(APPEND TESTS_ADDED "${TEST_NAME}${TEST_NUMBER}") - MATH(EXPR TEST_NUMBER "${TEST_NUMBER} + 1") - ENDFOREACH() + IF(WIN32) + ADD_TEST(NAME ${TEST_NAME} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} + COMMAND ${EXE}${CMAKE_EXECUTABLE_SUFFIX} ${TEST_ARGS}) ELSE() - IF(WIN32) - ADD_TEST(NAME ${TEST_NAME} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} - COMMAND ${EXE}${CMAKE_EXECUTABLE_SUFFIX}) - ELSE() - ADD_TEST(NAME ${TEST_NAME} COMMAND ${EXE}) - ENDIF() - LIST(APPEND TESTS_ADDED "${TEST_NAME}") + ADD_TEST(NAME ${TEST_NAME} COMMAND ${EXE} ${TEST_ARGS}) + ENDIF() + IF(TEST_WILL_FAIL) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES WILL_FAIL ${TEST_WILL_FAIL}) + ENDIF() + IF(TEST_FAIL_REGULAR_EXPRESSION) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES FAIL_REGULAR_EXPRESSION ${TEST_FAIL_REGULAR_EXPRESSION}) + ENDIF() + IF(TEST_PASS_REGULAR_EXPRESSION) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${TEST_PASS_REGULAR_EXPRESSION}) + ENDIF() + IF(TEST_TOOL) + ADD_DEPENDENCIES(${EXE} ${TEST_TOOL}) #make sure the exe has to build the tool + SET_PROPERTY(TEST ${TEST_NAME} APPEND_STRING PROPERTY ENVIRONMENT "KOKKOS_PROFILE_LIBRARY=$") ENDIF() - - FOREACH(TEST_NAME ${TESTS_ADDED}) - IF(TEST_WILL_FAIL) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES WILL_FAIL ${TEST_WILL_FAIL}) - ENDIF() - IF(TEST_FAIL_REGULAR_EXPRESSION) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES FAIL_REGULAR_EXPRESSION ${TEST_FAIL_REGULAR_EXPRESSION}) - ENDIF() - IF(TEST_PASS_REGULAR_EXPRESSION) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${TEST_PASS_REGULAR_EXPRESSION}) - ENDIF() - if(TEST_TOOL) - add_dependencies(${EXE} ${TEST_TOOL}) #make sure the exe has to build the tool - set_property(TEST ${TEST_NAME} APPEND_STRING PROPERTY ENVIRONMENT "KOKKOS_PROFILE_LIBRARY=$") - endif() - ENDFOREACH() VERIFY_EMPTY(KOKKOS_ADD_TEST ${TEST_UNPARSED_ARGUMENTS}) - endif() + ENDIF() ENDFUNCTION() FUNCTION(KOKKOS_ADD_ADVANCED_TEST) @@ -326,14 +310,6 @@ ENDIF() ENDFUNCTION() -FUNCTION(KOKKOS_TARGET_COMPILE_DEFINITIONS) - IF (KOKKOS_HAS_TRILINOS) - TARGET_COMPILE_DEFINITIONS(${TARGET} ${ARGN}) - ELSE() - TARGET_COMPILE_DEFINITIONS(${TARGET} ${ARGN}) - ENDIF() -ENDFUNCTION() - FUNCTION(KOKKOS_INCLUDE_DIRECTORIES) IF(KOKKOS_HAS_TRILINOS) TRIBITS_INCLUDE_DIRECTORIES(${ARGN}) @@ -350,10 +326,6 @@ ENDIF() ENDFUNCTION() -MACRO(KOKKOS_ADD_COMPILE_OPTIONS) -ADD_COMPILE_OPTIONS(${ARGN}) -ENDMACRO() - MACRO(PRINTALL match) get_cmake_property(_variableNames VARIABLES) list (SORT _variableNames) @@ -376,4 +348,3 @@ FUNCTION(GLOBAL_APPEND VARNAME) LIST(APPEND TEMP ${ARGN}) GLOBAL_SET(${VARNAME} ${TEMP}) ENDFUNCTION() - diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index 53aaf7dccf..ec18e70a36 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -35,7 +35,7 @@ KOKKOS_ARCH_OPTION(ARMV80 HOST "ARMv8.0 Compatible CPU") KOKKOS_ARCH_OPTION(ARMV81 HOST "ARMv8.1 Compatible CPU") KOKKOS_ARCH_OPTION(ARMV8_THUNDERX HOST "ARMv8 Cavium ThunderX CPU") KOKKOS_ARCH_OPTION(ARMV8_THUNDERX2 HOST "ARMv8 Cavium ThunderX2 CPU") -KOKKOS_ARCH_OPTION(A64FX HOST "ARMv8.2 with SVE Suport") +KOKKOS_ARCH_OPTION(A64FX HOST "ARMv8.2 with SVE Support") KOKKOS_ARCH_OPTION(WSM HOST "Intel Westmere CPU") KOKKOS_ARCH_OPTION(SNB HOST "Intel Sandy/Ivy Bridge CPUs") KOKKOS_ARCH_OPTION(HSW HOST "Intel Haswell CPUs") @@ -60,11 +60,12 @@ KOKKOS_ARCH_OPTION(VOLTA70 GPU "NVIDIA Volta generation CC 7.0") KOKKOS_ARCH_OPTION(VOLTA72 GPU "NVIDIA Volta generation CC 7.2") KOKKOS_ARCH_OPTION(TURING75 GPU "NVIDIA Turing generation CC 7.5") KOKKOS_ARCH_OPTION(AMPERE80 GPU "NVIDIA Ampere generation CC 8.0") +KOKKOS_ARCH_OPTION(AMPERE86 GPU "NVIDIA Ampere generation CC 8.6") KOKKOS_ARCH_OPTION(ZEN HOST "AMD Zen architecture") KOKKOS_ARCH_OPTION(ZEN2 HOST "AMD Zen2 architecture") KOKKOS_ARCH_OPTION(VEGA900 GPU "AMD GPU MI25 GFX900") KOKKOS_ARCH_OPTION(VEGA906 GPU "AMD GPU MI50/MI60 GFX906") -KOKKOS_ARCH_OPTION(VEGA908 GPU "AMD GPU") +KOKKOS_ARCH_OPTION(VEGA908 GPU "AMD GPU MI100 GFX908") KOKKOS_ARCH_OPTION(INTEL_GEN GPU "Intel GPUs Gen9+") @@ -141,8 +142,16 @@ ENDIF() #------------------------------- KOKKOS_HIP_OPTIONS --------------------------- #clear anything that might be in the cache GLOBAL_SET(KOKKOS_AMDGPU_OPTIONS) -IF(KOKKOS_CXX_COMPILER_ID STREQUAL HIP) - SET(AMDGPU_ARCH_FLAG "--amdgpu-target") +IF(KOKKOS_ENABLE_HIP) + IF(KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) + SET(AMDGPU_ARCH_FLAG "--amdgpu-target") + ELSE() + SET(AMDGPU_ARCH_FLAG "--offload-arch") + GLOBAL_APPEND(KOKKOS_AMDGPU_OPTIONS -x hip) + IF(DEFINED ENV{ROCM_PATH}) + GLOBAL_APPEND(KOKKOS_AMDGPU_OPTIONS --rocm-path=$ENV{ROCM_PATH}) + ENDIF() + ENDIF() ENDIF() @@ -183,6 +192,8 @@ ENDIF() IF (KOKKOS_ARCH_A64FX) COMPILER_SPECIFIC_FLAGS( DEFAULT -march=armv8.2-a+sve + Clang -march=armv8.2-a+sve -msve-vector-bits=512 + GCC -march=armv8.2-a+sve -msve-vector-bits=512 ) ENDIF() @@ -309,7 +320,7 @@ IF (KOKKOS_ARCH_POWER8 OR KOKKOS_ARCH_POWER9) SET(KOKKOS_USE_ISA_POWERPCLE ON) ENDIF() -IF (Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) +IF (KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) COMPILER_SPECIFIC_FLAGS( Clang -fcuda-rdc NVIDIA --relocatable-device-code=true @@ -333,8 +344,8 @@ ENDIF() #Right now we cannot get the compiler ID when cross-compiling, so just check #that HIP is enabled -IF (Kokkos_ENABLE_HIP) - IF (Kokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE) +IF (KOKKOS_ENABLE_HIP) + IF (KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE) COMPILER_SPECIFIC_FLAGS( DEFAULT -fgpu-rdc ) @@ -345,8 +356,7 @@ IF (Kokkos_ENABLE_HIP) ENDIF() ENDIF() - -IF (Kokkos_ENABLE_SYCL) +IF (KOKKOS_ENABLE_SYCL) COMPILER_SPECIFIC_FLAGS( DEFAULT -fsycl ) @@ -363,7 +373,7 @@ FUNCTION(CHECK_CUDA_ARCH ARCH FLAG) MESSAGE(FATAL_ERROR "Multiple GPU architectures given! Already have ${CUDA_ARCH_ALREADY_SPECIFIED}, but trying to add ${ARCH}. If you are re-running CMake, try clearing the cache and running again.") ENDIF() SET(CUDA_ARCH_ALREADY_SPECIFIED ${ARCH} PARENT_SCOPE) - IF (NOT KOKKOS_ENABLE_CUDA AND NOT KOKKOS_ENABLE_OPENMPTARGET) + IF (NOT KOKKOS_ENABLE_CUDA AND NOT KOKKOS_ENABLE_OPENMPTARGET AND NOT KOKKOS_ENABLE_SYCL) MESSAGE(WARNING "Given CUDA arch ${ARCH}, but Kokkos_ENABLE_CUDA and Kokkos_ENABLE_OPENMPTARGET are OFF. Option will be ignored.") UNSET(KOKKOS_ARCH_${ARCH} PARENT_SCOPE) ELSE() @@ -396,6 +406,7 @@ CHECK_CUDA_ARCH(VOLTA70 sm_70) CHECK_CUDA_ARCH(VOLTA72 sm_72) CHECK_CUDA_ARCH(TURING75 sm_75) CHECK_CUDA_ARCH(AMPERE80 sm_80) +CHECK_CUDA_ARCH(AMPERE86 sm_86) SET(AMDGPU_ARCH_ALREADY_SPECIFIED "") FUNCTION(CHECK_AMDGPU_ARCH ARCH FLAG) @@ -405,12 +416,12 @@ FUNCTION(CHECK_AMDGPU_ARCH ARCH FLAG) ENDIF() SET(AMDGPU_ARCH_ALREADY_SPECIFIED ${ARCH} PARENT_SCOPE) IF (NOT KOKKOS_ENABLE_HIP AND NOT KOKKOS_ENABLE_OPENMPTARGET) - MESSAGE(WARNING "Given HIP arch ${ARCH}, but Kokkos_ENABLE_AMDGPU and Kokkos_ENABLE_OPENMPTARGET are OFF. Option will be ignored.") + MESSAGE(WARNING "Given AMD GPU architecture ${ARCH}, but Kokkos_ENABLE_HIP and Kokkos_ENABLE_OPENMPTARGET are OFF. Option will be ignored.") UNSET(KOKKOS_ARCH_${ARCH} PARENT_SCOPE) ELSE() SET(KOKKOS_AMDGPU_ARCH_FLAG ${FLAG} PARENT_SCOPE) GLOBAL_APPEND(KOKKOS_AMDGPU_OPTIONS "${AMDGPU_ARCH_FLAG}=${FLAG}") - IF(KOKKOS_ENABLE_HIP) + IF(KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE) GLOBAL_APPEND(KOKKOS_LINK_OPTIONS "${AMDGPU_ARCH_FLAG}=${FLAG}") ENDIF() ENDIF() @@ -451,6 +462,24 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) ENDIF() ENDIF() +IF (KOKKOS_ENABLE_SYCL) + IF(CUDA_ARCH_ALREADY_SPECIFIED) + IF(KOKKOS_ENABLE_UNSUPPORTED_ARCHS) + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fsycl-targets=nvptx64-nvidia-cuda-sycldevice + ) + # FIXME_SYCL The CUDA backend doesn't support printf yet. + GLOBAL_SET(KOKKOS_IMPL_DISABLE_SYCL_DEVICE_PRINTF ON) + ELSE() + MESSAGE(SEND_ERROR "Setting a CUDA architecture for SYCL is only allowed with Kokkos_ENABLE_UNSUPPORTED_ARCHS=ON!") + ENDIF() + ELSEIF(KOKKOS_ARCH_INTEL_GEN) + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fsycl-targets=spir64_gen-unknown-unknown-sycldevice -Xsycl-target-backend "-device skl" + ) + ENDIF() +ENDIF() + IF(KOKKOS_ENABLE_CUDA AND NOT CUDA_ARCH_ALREADY_SPECIFIED) # Try to autodetect the CUDA Compute Capability by asking the device SET(_BINARY_TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}/cmake/compile_tests/CUDAComputeCapabilityWorkdir) @@ -464,6 +493,43 @@ IF(KOKKOS_ENABLE_CUDA AND NOT CUDA_ARCH_ALREADY_SPECIFIED) ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_tests/cuda_compute_capability.cc COMPILE_DEFINITIONS -DSM_ONLY RUN_OUTPUT_VARIABLE _CUDA_COMPUTE_CAPABILITY) + + # if user is using kokkos_compiler_launcher, above will fail. + IF(NOT _COMPILE_RESULT OR NOT _RESULT EQUAL 0) + # check to see if CUDA is not already enabled (may happen when Kokkos is subproject) + GET_PROPERTY(_ENABLED_LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) + # language has to be fully enabled, just checking for CMAKE_CUDA_COMPILER isn't enough + IF(NOT "CUDA" IN_LIST _ENABLED_LANGUAGES) + # make sure the user knows that we aren't using CUDA compiler for anything else + MESSAGE(STATUS "CUDA auto-detection of architecture failed with ${CMAKE_CXX_COMPILER}. Enabling CUDA language ONLY to auto-detect architecture...") + INCLUDE(CheckLanguage) + CHECK_LANGUAGE(CUDA) + IF(CMAKE_CUDA_COMPILER) + ENABLE_LANGUAGE(CUDA) + ELSE() + MESSAGE(STATUS "CUDA language could not be enabled") + ENDIF() + ENDIF() + + # if CUDA was enabled, this will be defined + IF(CMAKE_CUDA_COMPILER) + # copy our test to .cu so cmake compiles as CUDA + CONFIGURE_FILE( + ${PROJECT_SOURCE_DIR}/cmake/compile_tests/cuda_compute_capability.cc + ${PROJECT_BINARY_DIR}/compile_tests/cuda_compute_capability.cu + COPYONLY + ) + # run test again + TRY_RUN( + _RESULT + _COMPILE_RESULT + ${_BINARY_TEST_DIR} + ${PROJECT_BINARY_DIR}/compile_tests/cuda_compute_capability.cu + COMPILE_DEFINITIONS -DSM_ONLY + RUN_OUTPUT_VARIABLE _CUDA_COMPUTE_CAPABILITY) + ENDIF() + ENDIF() + LIST(FIND KOKKOS_CUDA_ARCH_FLAGS sm_${_CUDA_COMPUTE_CAPABILITY} FLAG_INDEX) IF(_COMPILE_RESULT AND _RESULT EQUAL 0 AND NOT FLAG_INDEX EQUAL -1) MESSAGE(STATUS "Detected CUDA Compute Capability ${_CUDA_COMPUTE_CAPABILITY}") @@ -500,7 +566,7 @@ IF (KOKKOS_ENABLE_CUDA) SET(KOKKOS_ARCH_VOLTA ON) ENDIF() - IF (KOKKOS_ARCH_AMPERE80) + IF (KOKKOS_ARCH_AMPERE80 OR KOKKOS_ARCH_AMPERE86) SET(KOKKOS_ARCH_AMPERE ON) ENDIF() ENDIF() diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake index e6600161f9..4434d6928f 100644 --- a/lib/kokkos/cmake/kokkos_compiler_id.cmake +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -27,6 +27,12 @@ IF(Kokkos_ENABLE_CUDA) PATHS ${PROJECT_SOURCE_DIR} PATH_SUFFIXES bin) + FIND_PROGRAM(Kokkos_NVCC_WRAPPER + NAMES nvcc_wrapper + HINTS ${PROJECT_SOURCE_DIR} + PATHS ${PROJECT_SOURCE_DIR} + PATH_SUFFIXES bin) + # check if compiler was set to nvcc_wrapper kokkos_internal_have_compiler_nvcc(${CMAKE_CXX_COMPILER}) # if launcher was found and nvcc_wrapper was not specified as @@ -37,7 +43,7 @@ IF(Kokkos_ENABLE_CUDA) # if the second argument matches the C++ compiler, it forwards the rest of the # args to nvcc_wrapper kokkos_internal_have_compiler_nvcc( - ${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER} -DKOKKOS_DEPENDENCE) + ${Kokkos_COMPILE_LAUNCHER} ${Kokkos_NVCC_WRAPPER} ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER} -DKOKKOS_DEPENDENCE) SET(INTERNAL_USE_COMPILER_LAUNCHER true) ENDIF() ENDIF() @@ -55,32 +61,7 @@ IF(INTERNAL_HAVE_COMPILER_NVCC) SET(KOKKOS_CXX_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION} CACHE STRING INTERNAL FORCE) MESSAGE(STATUS "Compiler Version: ${KOKKOS_CXX_COMPILER_VERSION}") IF(INTERNAL_USE_COMPILER_LAUNCHER) - IF(Kokkos_LAUNCH_COMPILER_INFO) - GET_FILENAME_COMPONENT(BASE_COMPILER_NAME ${CMAKE_CXX_COMPILER} NAME) - # does not have STATUS intentionally - MESSAGE("") - MESSAGE("Kokkos_LAUNCH_COMPILER_INFO (${Kokkos_COMPILE_LAUNCHER}):") - MESSAGE(" - Kokkos + CUDA backend requires the C++ files to be compiled as CUDA code.") - MESSAGE(" - kokkos_launch_compiler permits CMAKE_CXX_COMPILER to be set to a traditional C++ compiler when Kokkos_ENABLE_CUDA=ON") - MESSAGE(" by prefixing all the compile and link commands with the path to the script + CMAKE_CXX_COMPILER (${CMAKE_CXX_COMPILER}).") - MESSAGE(" - If any of the compile or link commands have CMAKE_CXX_COMPILER as the first argument, it replaces CMAKE_CXX_COMPILER with nvcc_wrapper.") - MESSAGE(" - If the compile or link command is not CMAKE_CXX_COMPILER, it just executes the command.") - MESSAGE(" - If using ccache, set CMAKE_CXX_COMPILER to nvcc_wrapper explicitly.") - MESSAGE(" - kokkos_compiler_launcher is available to downstream projects as well.") - MESSAGE(" - If CMAKE_CXX_COMPILER=nvcc_wrapper, all legacy behavior will be preserved during 'find_package(Kokkos)'") - MESSAGE(" - If CMAKE_CXX_COMPILER is not nvcc_wrapper, 'find_package(Kokkos)' will apply 'kokkos_compilation(GLOBAL)' unless separable compilation is enabled") - MESSAGE(" - This can be disabled via '-DKokkos_LAUNCH_COMPILER=OFF'") - MESSAGE(" - Use 'find_package(Kokkos COMPONENTS separable_compilation)' to enable separable compilation") - MESSAGE(" - Separable compilation allows you to control the scope of where the compiler transformation behavior (${BASE_COMPILER_NAME} -> nvcc_wrapper) is applied") - MESSAGE(" - The compiler transformation can be applied on a per-project, per-directory, per-target, and/or per-source-file basis") - MESSAGE(" - 'kokkos_compilation(PROJECT)' will apply the compiler transformation to all targets in a project/subproject") - MESSAGE(" - 'kokkos_compilation(TARGET [...])' will apply the compiler transformation to the specified target(s)") - MESSAGE(" - 'kokkos_compilation(SOURCE [...])' will apply the compiler transformation to the specified source file(s)") - MESSAGE(" - 'kokkos_compilation(DIRECTORY [...])' will apply the compiler transformation to the specified directories") - MESSAGE("") - ELSE() - MESSAGE(STATUS "kokkos_launch_compiler (${Kokkos_COMPILE_LAUNCHER}) is enabled... Set Kokkos_LAUNCH_COMPILER_INFO=ON for more info.") - ENDIF() + MESSAGE(STATUS "kokkos_launch_compiler (${Kokkos_COMPILE_LAUNCHER}) is enabled...") kokkos_compilation(GLOBAL) ENDIF() ENDIF() @@ -92,7 +73,11 @@ IF(Kokkos_ENABLE_HIP) OUTPUT_STRIP_TRAILING_WHITESPACE) STRING(REPLACE "\n" " - " INTERNAL_COMPILER_VERSION_ONE_LINE ${INTERNAL_COMPILER_VERSION} ) - SET(KOKKOS_CXX_COMPILER_ID HIP CACHE STRING INTERNAL FORCE) + + STRING(FIND ${INTERNAL_COMPILER_VERSION_ONE_LINE} "HIP version" INTERNAL_COMPILER_VERSION_CONTAINS_HIP) + IF(INTERNAL_COMPILER_VERSION_CONTAINS_HIP GREATER -1) + SET(KOKKOS_CXX_COMPILER_ID HIPCC CACHE STRING INTERNAL FORCE) + ENDIF() STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" TEMP_CXX_COMPILER_VERSION ${INTERNAL_COMPILER_VERSION_ONE_LINE}) @@ -103,8 +88,7 @@ ENDIF() IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) # The Cray compiler reports as Clang to most versions of CMake EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version - COMMAND grep Cray - COMMAND wc -l + COMMAND grep -c Cray OUTPUT_VARIABLE INTERNAL_HAVE_CRAY_COMPILER OUTPUT_STRIP_TRAILING_WHITESPACE) IF (INTERNAL_HAVE_CRAY_COMPILER) #not actually Clang @@ -112,8 +96,7 @@ IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) ENDIF() # The clang based Intel compiler reports as Clang to most versions of CMake EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version - COMMAND grep icpx - COMMAND wc -l + COMMAND grep -c "DPC++\\|icpx" OUTPUT_VARIABLE INTERNAL_HAVE_INTEL_COMPILER OUTPUT_STRIP_TRAILING_WHITESPACE) IF (INTERNAL_HAVE_INTEL_COMPILER) #not actually Clang @@ -174,7 +157,7 @@ ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") ENDIF() SET(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Kokkos turns off CXX extensions" FORCE) -ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL HIP) +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 3.8.0) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_corner_cases.cmake b/lib/kokkos/cmake/kokkos_corner_cases.cmake index 3962c4b16e..a84ac2b630 100644 --- a/lib/kokkos/cmake/kokkos_corner_cases.cmake +++ b/lib/kokkos/cmake/kokkos_corner_cases.cmake @@ -49,11 +49,14 @@ ENDIF() IF (KOKKOS_CXX_STANDARD STREQUAL 17) IF (KOKKOS_CXX_COMPILER_ID STREQUAL GNU AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 7) - MESSAGE(FATAL_ERROR "You have requested c++17 support for GCC ${KOKKOS_CXX_COMPILER_VERSION}. Although CMake has allowed this and GCC accepts -std=c++1z/c++17, GCC <= 6 does not properly support *this capture. Please reduce the C++ standard to 14 or upgrade the compiler if you do need C++17 support.") + MESSAGE(FATAL_ERROR "You have requested C++17 support for GCC ${KOKKOS_CXX_COMPILER_VERSION}. Although CMake has allowed this and GCC accepts -std=c++1z/c++17, GCC < 7 does not properly support *this capture. Please reduce the C++ standard to 14 or upgrade the compiler if you do need C++17 support.") ENDIF() IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 11) - MESSAGE(FATAL_ERROR "You have requested c++17 support for NVCC ${KOKKOS_CXX_COMPILER_VERSION}. NVCC only supports C++17 from version 11 on. Please reduce the C++ standard to 14 or upgrade the compiler if you need C++17 support.") + MESSAGE(FATAL_ERROR "You have requested C++17 support for NVCC ${KOKKOS_CXX_COMPILER_VERSION}. NVCC only supports C++17 from version 11 on. Please reduce the C++ standard to 14 or upgrade the compiler if you need C++17 support.") + ENDIF() + IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA AND KOKKOS_ENABLE_CUDA_CONSTEXPR) + MESSAGE(WARNING "You have requested -DKokkos_ENABLE_CUDA_CONSTEXPR=ON with C++17 support for NVCC ${KOKKOS_CXX_COMPILER_VERSION} which is known to trigger compiler bugs. See https://github.com/kokkos/kokkos/issues/3496") ENDIF() ENDIF() diff --git a/lib/kokkos/cmake/kokkos_enable_devices.cmake b/lib/kokkos/cmake/kokkos_enable_devices.cmake index 41ee10a8a0..445dad47ce 100644 --- a/lib/kokkos/cmake/kokkos_enable_devices.cmake +++ b/lib/kokkos/cmake/kokkos_enable_devices.cmake @@ -48,9 +48,6 @@ IF(KOKKOS_ENABLE_OPENMP) IF(KOKKOS_CLANG_IS_CRAY) SET(ClangOpenMPFlag -fopenmp) ENDIF() - IF(KOKKOS_CLANG_IS_INTEL) - SET(ClangOpenMPFlag -fiopenmp) - ENDIF() IF(KOKKOS_COMPILER_CLANG_MSVC) #for clang-cl expression /openmp yields an error, so directly add the specific Clang flag SET(ClangOpenMPFlag /clang:-fopenmp=libomp) @@ -64,6 +61,7 @@ IF(KOKKOS_ENABLE_OPENMP) COMPILER_SPECIFIC_FLAGS( COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID Clang -Xcompiler ${ClangOpenMPFlag} + IntelClang -Xcompiler -fiopenmp PGI -Xcompiler -mp Cray NO-VALUE-SPECIFIED XL -Xcompiler -qsmp=omp @@ -72,6 +70,7 @@ IF(KOKKOS_ENABLE_OPENMP) ELSE() COMPILER_SPECIFIC_FLAGS( Clang ${ClangOpenMPFlag} + IntelClang -fiopenmp AppleClang -Xpreprocessor -fopenmp PGI -mp Cray NO-VALUE-SPECIFIED @@ -152,3 +151,11 @@ IF (KOKKOS_ENABLE_HIP) ENDIF() KOKKOS_DEVICE_OPTION(SYCL OFF DEVICE "Whether to build SYCL backend") + +## SYCL has extra setup requirements, turn on Kokkos_Setup_SYCL.hpp in macros +IF (KOKKOS_ENABLE_SYCL) + IF(KOKKOS_CXX_STANDARD LESS 17) + MESSAGE(FATAL_ERROR "SYCL backend requires C++17 or newer!") + ENDIF() + LIST(APPEND DEVICE_SETUP_LIST SYCL) +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake index 5df498f373..95bce66c7b 100644 --- a/lib/kokkos/cmake/kokkos_enable_options.cmake +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -48,6 +48,7 @@ KOKKOS_ENABLE_OPTION(COMPILER_WARNINGS OFF "Whether to print all compiler war KOKKOS_ENABLE_OPTION(PROFILING_LOAD_PRINT OFF "Whether to print information about which profiling tools got loaded") KOKKOS_ENABLE_OPTION(TUNING OFF "Whether to create bindings for tuning tools") KOKKOS_ENABLE_OPTION(AGGRESSIVE_VECTORIZATION OFF "Whether to aggressively vectorize loops") +KOKKOS_ENABLE_OPTION(LAUNCH_COMPILER ON "Whether to potentially use the launch compiler") IF (KOKKOS_ENABLE_CUDA) SET(KOKKOS_COMPILER_CUDA_VERSION "${KOKKOS_COMPILER_VERSION_MAJOR}${KOKKOS_COMPILER_VERSION_MINOR}") @@ -68,6 +69,15 @@ ELSE() ENDIF() KOKKOS_ENABLE_OPTION(COMPLEX_ALIGN ${COMPLEX_ALIGN_DEFAULT} "Whether to align Kokkos::complex to 2*alignof(RealType)") +IF (KOKKOS_ENABLE_TESTS) + SET(HEADER_SELF_CONTAINMENT_TESTS_DEFAULT ON) +ELSE() + SET(HEADER_SELF_CONTAINMENT_TESTS_DEFAULT OFF) +ENDIF() +KOKKOS_ENABLE_OPTION(HEADER_SELF_CONTAINMENT_TESTS ${HEADER_SELF_CONTAINMENT_TESTS_DEFAULT} "Enable header self-containment unit tests") +IF (NOT KOKKOS_ENABLE_TESTS AND KOKKOS_ENABLE_HEADER_SELF_CONTAINMENT_TESTS) + MESSAGE(WARNING "Kokkos_ENABLE_HEADER_SELF_CONTAINMENT_TESTS is ON but Kokkos_ENABLE_TESTS is OFF. Option will be ignored.") +ENDIF() IF (KOKKOS_ENABLE_CUDA AND (KOKKOS_CXX_COMPILER_ID STREQUAL Clang)) SET(CUDA_CONSTEXPR_DEFAULT ON) @@ -76,14 +86,14 @@ ELSE() ENDIF() KOKKOS_ENABLE_OPTION(CUDA_CONSTEXPR ${CUDA_CONSTEXPR_DEFAULT} "Whether to activate experimental relaxed constexpr functions") +Kokkos_ENABLE_OPTION(UNSUPPORTED_ARCHS OFF "Whether to allow architectures in backends Kokkos doesn't optimize for") + FUNCTION(check_device_specific_options) CMAKE_PARSE_ARGUMENTS(SOME "" "DEVICE" "OPTIONS" ${ARGN}) IF(NOT KOKKOS_ENABLE_${SOME_DEVICE}) FOREACH(OPTION ${SOME_OPTIONS}) - IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.14) - IF(NOT DEFINED CACHE{Kokkos_ENABLE_${OPTION}} OR NOT DEFINED CACHE{Kokkos_ENABLE_${SOME_DEVICE}}) - MESSAGE(FATAL_ERROR "Internal logic error: option '${OPTION}' or device '${SOME_DEVICE}' not recognized.") - ENDIF() + IF(NOT DEFINED CACHE{Kokkos_ENABLE_${OPTION}} OR NOT DEFINED CACHE{Kokkos_ENABLE_${SOME_DEVICE}}) + MESSAGE(FATAL_ERROR "Internal logic error: option '${OPTION}' or device '${SOME_DEVICE}' not recognized.") ENDIF() IF(KOKKOS_ENABLE_${OPTION}) MESSAGE(WARNING "Kokkos_ENABLE_${OPTION} is ON but ${SOME_DEVICE} backend is not enabled. Option will be ignored.") diff --git a/lib/kokkos/cmake/kokkos_functions.cmake b/lib/kokkos/cmake/kokkos_functions.cmake index 2b17d648b4..858322394d 100644 --- a/lib/kokkos/cmake/kokkos_functions.cmake +++ b/lib/kokkos/cmake/kokkos_functions.cmake @@ -169,9 +169,7 @@ MACRO(kokkos_export_imported_tpl NAME) ENDIF() SET(TPL_LINK_OPTIONS) - IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0") - GET_TARGET_PROPERTY(TPL_LINK_OPTIONS ${NAME} INTERFACE_LINK_OPTIONS) - ENDIF() + GET_TARGET_PROPERTY(TPL_LINK_OPTIONS ${NAME} INTERFACE_LINK_OPTIONS) IF(TPL_LINK_OPTIONS) KOKKOS_APPEND_CONFIG_LINE("INTERFACE_LINK_OPTIONS ${TPL_LINK_OPTIONS}") ENDIF() @@ -230,9 +228,7 @@ MACRO(kokkos_import_tpl NAME) # I have still been getting errors about ROOT variables being ignored # I'm not sure if this is a scope issue - but make sure # the policy is set before we do any find_package calls - IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.12.0") - CMAKE_POLICY(SET CMP0074 NEW) - ENDIF() + CMAKE_POLICY(SET CMP0074 NEW) IF (KOKKOS_ENABLE_${NAME}) #Tack on a TPL here to make sure we avoid using anyone else's find @@ -314,7 +310,7 @@ MACRO(kokkos_create_imported_tpl NAME) CMAKE_PARSE_ARGUMENTS(TPL "INTERFACE" "LIBRARY" - "LINK_LIBRARIES;INCLUDES;COMPILE_OPTIONS;LINK_OPTIONS" + "LINK_LIBRARIES;INCLUDES;COMPILE_DEFINITIONS;COMPILE_OPTIONS;LINK_OPTIONS" ${ARGN}) @@ -334,6 +330,9 @@ MACRO(kokkos_create_imported_tpl NAME) IF(TPL_INCLUDES) TARGET_INCLUDE_DIRECTORIES(${NAME} INTERFACE ${TPL_INCLUDES}) ENDIF() + IF(TPL_COMPILE_DEFINITIONS) + TARGET_COMPILE_DEFINITIONS(${NAME} INTERFACE ${TPL_COMPILE_DEFINITIONS}) + ENDIF() IF(TPL_COMPILE_OPTIONS) TARGET_COMPILE_OPTIONS(${NAME} INTERFACE ${TPL_COMPILE_OPTIONS}) ENDIF() @@ -355,6 +354,10 @@ MACRO(kokkos_create_imported_tpl NAME) SET_TARGET_PROPERTIES(${NAME} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${TPL_INCLUDES}") ENDIF() + IF(TPL_COMPILE_DEFINITIONS) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "${TPL_COMPILE_DEFINITIONS}") + ENDIF() IF(TPL_COMPILE_OPTIONS) SET_TARGET_PROPERTIES(${NAME} PROPERTIES INTERFACE_COMPILE_OPTIONS "${TPL_COMPILE_OPTIONS}") @@ -770,7 +773,7 @@ FUNCTION(kokkos_link_tpl TARGET) ENDFUNCTION() FUNCTION(COMPILER_SPECIFIC_OPTIONS_HELPER) - SET(COMPILERS NVIDIA PGI XL DEFAULT Cray Intel Clang AppleClang IntelClang GNU HIP Fujitsu) + SET(COMPILERS NVIDIA PGI XL DEFAULT Cray Intel Clang AppleClang IntelClang GNU HIPCC Fujitsu) CMAKE_PARSE_ARGUMENTS( PARSE "LINK_OPTIONS;COMPILE_OPTIONS;COMPILE_DEFINITIONS;LINK_LIBRARIES" @@ -926,6 +929,9 @@ ENDFUNCTION() # DIRECTORY --> all files in directory # PROJECT --> all files/targets in a project/subproject # +# NOTE: this is VERY DIFFERENT than the version in KokkosConfigCommon.cmake.in. +# This version explicitly uses nvcc_wrapper. +# FUNCTION(kokkos_compilation) # check whether the compiler already supports building CUDA KOKKOS_CXX_COMPILER_CUDA_TEST(Kokkos_CXX_COMPILER_COMPILES_CUDA) @@ -947,10 +953,21 @@ FUNCTION(kokkos_compilation) MESSAGE(FATAL_ERROR "Kokkos could not find 'kokkos_launch_compiler'. Please set '-DKokkos_COMPILE_LAUNCHER=/path/to/launcher'") ENDIF() + # find nvcc_wrapper + FIND_PROGRAM(Kokkos_NVCC_WRAPPER + NAMES nvcc_wrapper + HINTS ${PROJECT_SOURCE_DIR} + PATHS ${PROJECT_SOURCE_DIR} + PATH_SUFFIXES bin) + + IF(NOT Kokkos_COMPILE_LAUNCHER) + MESSAGE(FATAL_ERROR "Kokkos could not find 'nvcc_wrapper'. Please set '-DKokkos_COMPILE_LAUNCHER=/path/to/nvcc_wrapper'") + ENDIF() + IF(COMP_GLOBAL) # if global, don't bother setting others - SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${Kokkos_NVCC_WRAPPER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${Kokkos_NVCC_WRAPPER} ${CMAKE_CXX_COMPILER}") ELSE() FOREACH(_TYPE PROJECT DIRECTORY TARGET SOURCE) # make project/subproject scoping easy, e.g. KokkosCompilation(PROJECT) after project(...) @@ -961,8 +978,8 @@ FUNCTION(kokkos_compilation) # set the properties if defined IF(COMP_${_TYPE}) # MESSAGE(STATUS "Using nvcc_wrapper :: ${_TYPE} :: ${COMP_${_TYPE}}") - SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") - SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_COMPILE "${Kokkos_COMPILE_LAUNCHER} ${Kokkos_NVCC_WRAPPER} ${CMAKE_CXX_COMPILER}") + SET_PROPERTY(${_TYPE} ${COMP_${_TYPE}} PROPERTY RULE_LAUNCH_LINK "${Kokkos_COMPILE_LAUNCHER} ${Kokkos_NVCC_WRAPPER} ${CMAKE_CXX_COMPILER}") ENDIF() ENDFOREACH() ENDIF() diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake index 1d7da922eb..707fb000af 100644 --- a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -86,6 +86,19 @@ ELSE() MESSAGE(FATAL_ERROR "Unknown C++ standard ${KOKKOS_CXX_STANDARD} - must be 14, 17, or 20") ENDIF() +# Enforce that we can compile a simple C++14 program + +TRY_COMPILE(CAN_COMPILE_CPP14 + ${KOKKOS_TOP_BUILD_DIR}/corner_cases + ${KOKKOS_SOURCE_DIR}/cmake/compile_tests/cplusplus14.cpp + OUTPUT_VARIABLE ERROR_MESSAGE + CXX_STANDARD 14 +) +if (NOT CAN_COMPILE_CPP14) + UNSET(CAN_COMPILE_CPP14 CACHE) #make sure CMake always re-runs this + MESSAGE(FATAL_ERROR "C++${KOKKOS_CXX_STANDARD}-compliant compiler detected, but unable to compile C++14 or later program. Verify that ${CMAKE_CXX_COMPILER_ID}:${CMAKE_CXX_COMPILER_VERSION} is set up correctly (e.g., check that correct library headers are being used).\nFailing output:\n ${ERROR_MESSAGE}") +ENDIF() +UNSET(CAN_COMPILE_CPP14 CACHE) #make sure CMake always re-runs this # Enforce that extensions are turned off for nvcc_wrapper. diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake index b58d3696ea..d8d044c9d7 100644 --- a/lib/kokkos/cmake/kokkos_tpls.cmake +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -1,5 +1,6 @@ KOKKOS_CFG_DEPENDS(TPLS OPTIONS) KOKKOS_CFG_DEPENDS(TPLS DEVICES) +KOKKOS_CFG_DEPENDS(TPLS COMPILER_ID) FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT) CMAKE_PARSE_ARGUMENTS(PARSED @@ -38,6 +39,12 @@ IF(KOKKOS_ENABLE_MEMKIND) ENDIF() KOKKOS_TPL_OPTION(CUDA ${Kokkos_ENABLE_CUDA} TRIBITS CUDA) KOKKOS_TPL_OPTION(LIBRT Off) +IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) + SET(ROCM_DEFAULT ON) +ELSE() + SET(ROCM_DEFAULT OFF) +ENDIF() +KOKKOS_TPL_OPTION(ROCM ${ROCM_DEFAULT}) IF (WIN32) SET(LIBDL_DEFAULT Off) @@ -70,6 +77,7 @@ KOKKOS_IMPORT_TPL(LIBRT) KOKKOS_IMPORT_TPL(LIBDL) KOKKOS_IMPORT_TPL(MEMKIND) KOKKOS_IMPORT_TPL(PTHREAD INTERFACE) +KOKKOS_IMPORT_TPL(ROCM INTERFACE) #Convert list to newlines (which CMake doesn't always like in cache variables) STRING(REPLACE ";" "\n" KOKKOS_TPL_EXPORT_TEMP "${KOKKOS_TPL_EXPORTS}") diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake index 059fb192f0..afa036066a 100644 --- a/lib/kokkos/cmake/kokkos_tribits.cmake +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -141,39 +141,54 @@ FUNCTION(KOKKOS_ADD_EXECUTABLE ROOT_NAME) ENDFUNCTION() FUNCTION(KOKKOS_ADD_EXECUTABLE_AND_TEST ROOT_NAME) -CMAKE_PARSE_ARGUMENTS(PARSE - "" - "" - "SOURCES;CATEGORIES;ARGS" - ${ARGN}) -VERIFY_EMPTY(KOKKOS_ADD_EXECUTABLE_AND_TEST ${PARSE_UNPARSED_ARGUMENTS}) + CMAKE_PARSE_ARGUMENTS(PARSE + "" + "" + "SOURCES;CATEGORIES;ARGS" + ${ARGN}) + VERIFY_EMPTY(KOKKOS_ADD_EXECUTABLE_AND_TEST ${PARSE_UNPARSED_ARGUMENTS}) -IF (KOKKOS_HAS_TRILINOS) - IF(DEFINED PARSE_ARGS) - STRING(REPLACE ";" " " PARSE_ARGS "${PARSE_ARGS}") - ENDIF() - TRIBITS_ADD_EXECUTABLE_AND_TEST( - ${ROOT_NAME} - SOURCES ${PARSE_SOURCES} - TESTONLYLIBS kokkos_gtest - NUM_MPI_PROCS 1 - COMM serial mpi - ARGS ${PARSE_ARGS} - CATEGORIES ${PARSE_CATEGORIES} - SOURCES ${PARSE_SOURCES} - FAIL_REGULAR_EXPRESSION " FAILED " - ARGS ${PARSE_ARGS} - ) -ELSE() - KOKKOS_ADD_TEST_EXECUTABLE(${ROOT_NAME} - SOURCES ${PARSE_SOURCES} - ) - KOKKOS_ADD_TEST(NAME ${ROOT_NAME} - EXE ${ROOT_NAME} - FAIL_REGULAR_EXPRESSION " FAILED " - ARGS ${PARSE_ARGS} - ) -ENDIF() + IF (KOKKOS_HAS_TRILINOS) + IF(DEFINED PARSE_ARGS) + STRING(REPLACE ";" " " PARSE_ARGS "${PARSE_ARGS}") + ENDIF() + TRIBITS_ADD_EXECUTABLE_AND_TEST( + ${ROOT_NAME} + SOURCES ${PARSE_SOURCES} + TESTONLYLIBS kokkos_gtest + NUM_MPI_PROCS 1 + COMM serial mpi + ARGS ${PARSE_ARGS} + CATEGORIES ${PARSE_CATEGORIES} + SOURCES ${PARSE_SOURCES} + FAIL_REGULAR_EXPRESSION " FAILED " + ARGS ${PARSE_ARGS} + ) + ELSE() + KOKKOS_ADD_TEST_EXECUTABLE(${ROOT_NAME} + SOURCES ${PARSE_SOURCES} + ) + IF (PARSE_ARGS) + SET(TEST_NUMBER 0) + FOREACH (ARG_STR ${PARSE_ARGS}) + # This is passed as a single string blob to match TriBITS behavior + # We need this to be turned into a list + STRING(REPLACE " " ";" ARG_STR_LIST ${ARG_STR}) + LIST(APPEND TEST_NAME "${ROOT_NAME}${TEST_NUMBER}") + MATH(EXPR TEST_NUMBER "${TEST_NUMBER} + 1") + KOKKOS_ADD_TEST(NAME ${TEST_NAME} + EXE ${ROOT_NAME} + FAIL_REGULAR_EXPRESSION " FAILED " + ARGS ${ARG_STR_LIST} + ) + ENDFOREACH() + ELSE() + KOKKOS_ADD_TEST(NAME ${ROOT_NAME} + EXE ${ROOT_NAME} + FAIL_REGULAR_EXPRESSION " FAILED " + ) + ENDIF() + ENDIF() ENDFUNCTION() FUNCTION(KOKKOS_SET_EXE_PROPERTY ROOT_NAME) @@ -301,11 +316,26 @@ ENDMACRO() ## Includes generated header files, scripts such as nvcc_wrapper and hpcbind, ## as well as other files provided through plugins. MACRO(KOKKOS_INSTALL_ADDITIONAL_FILES) - # kokkos_launch_compiler is used by Kokkos to prefix compiler commands so that they forward to nvcc_wrapper + + # kokkos_launch_compiler is used by Kokkos to prefix compiler commands so that they forward to original kokkos compiler + # if nvcc_wrapper was not used as CMAKE_CXX_COMPILER, configure the original compiler into kokkos_launch_compiler + IF(NOT "${CMAKE_CXX_COMPILER}" MATCHES "nvcc_wrapper") + SET(NVCC_WRAPPER_DEFAULT_COMPILER "${CMAKE_CXX_COMPILER}") + ELSE() + IF(NOT "$ENV{NVCC_WRAPPER_DEFAULT_COMPILER}" STREQUAL "") + SET(NVCC_WRAPPER_DEFAULT_COMPILER "$ENV{NVCC_WRAPPER_DEFAULT_COMPILER}") + ENDIF() + ENDIF() + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bin/kokkos_launch_compiler + ${PROJECT_BINARY_DIR}/temp/kokkos_launch_compiler + @ONLY) + INSTALL(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/bin/nvcc_wrapper" "${CMAKE_CURRENT_SOURCE_DIR}/bin/hpcbind" "${CMAKE_CURRENT_SOURCE_DIR}/bin/kokkos_launch_compiler" + "${PROJECT_BINARY_DIR}/temp/kokkos_launch_compiler" DESTINATION ${CMAKE_INSTALL_BINDIR}) INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_config.h" @@ -313,7 +343,7 @@ MACRO(KOKKOS_INSTALL_ADDITIONAL_FILES) "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_SetupBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_DeclareBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_PostInclude.hpp" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + DESTINATION ${KOKKOS_HEADER_DIR}) ENDMACRO() FUNCTION(KOKKOS_SET_LIBRARY_PROPERTIES LIBRARY_NAME) @@ -330,24 +360,12 @@ FUNCTION(KOKKOS_SET_LIBRARY_PROPERTIES LIBRARY_NAME) ${LIBRARY_NAME} PUBLIC $<$:${KOKKOS_LINK_OPTIONS}> ) - ELSEIF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13") + ELSE() #I can use link options #just assume CXX linkage TARGET_LINK_OPTIONS( ${LIBRARY_NAME} PUBLIC ${KOKKOS_LINK_OPTIONS} ) - ELSE() - #assume CXX linkage, we have no good way to check otherwise - IF (PARSE_PLAIN_STYLE) - TARGET_LINK_LIBRARIES( - ${LIBRARY_NAME} ${KOKKOS_LINK_OPTIONS} - ) - ELSE() - #well, have to do it the wrong way for now - TARGET_LINK_LIBRARIES( - ${LIBRARY_NAME} PUBLIC ${KOKKOS_LINK_OPTIONS} - ) - ENDIF() ENDIF() TARGET_COMPILE_OPTIONS( @@ -448,6 +466,13 @@ FUNCTION(KOKKOS_INTERNAL_ADD_LIBRARY LIBRARY_NAME) ${PARSE_SOURCES} ) + IF(PARSE_SHARED OR BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES + VERSION ${Kokkos_VERSION} + SOVERSION ${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR} + ) + ENDIF() + KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(${LIBRARY_NAME}) #In case we are building in-tree, add an alias name diff --git a/lib/kokkos/containers/src/CMakeLists.txt b/lib/kokkos/containers/src/CMakeLists.txt index 7000624b6b..98655896d4 100644 --- a/lib/kokkos/containers/src/CMakeLists.txt +++ b/lib/kokkos/containers/src/CMakeLists.txt @@ -26,8 +26,6 @@ KOKKOS_ADD_LIBRARY( HEADERS ${KOKKOS_CONTAINER_HEADERS} ) -SET_TARGET_PROPERTIES(kokkoscontainers PROPERTIES VERSION ${Kokkos_VERSION}) - KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkoscontainers ${KOKKOS_TOP_BUILD_DIR} ${CMAKE_CURRENT_BINARY_DIR} @@ -36,4 +34,3 @@ KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkoscontainers KOKKOS_LINK_INTERNAL_LIBRARY(kokkoscontainers kokkoscore) #----------------------------------------------------------------------------- - diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 689f0eb2ed..45710d1f73 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -91,6 +91,25 @@ namespace Kokkos { * behavior. Please see the documentation of Kokkos::View for * examples. The default suffices for most users. */ + +namespace Impl { + +#ifdef KOKKOS_ENABLE_CUDA + +inline const Kokkos::Cuda& get_cuda_space(const Kokkos::Cuda& in) { return in; } + +inline const Kokkos::Cuda& get_cuda_space() { + return *Kokkos::Impl::cuda_get_deep_copy_space(); +} + +template +inline const Kokkos::Cuda& get_cuda_space(const NonCudaExecSpace&) { + return get_cuda_space(); +} + +#endif // KOKKOS_ENABLE_CUDA + +} // namespace Impl template class DualView : public ViewTraits { @@ -295,6 +314,53 @@ class DualView : public ViewTraits { "DualView constructed with incompatible views"); } } + // does the DualView have only one device + struct impl_dualview_is_single_device { + enum : bool { + value = std::is_same::value + }; + }; + + // does the given device match the device of t_dev? + template + struct impl_device_matches_tdev_device { + enum : bool { + value = std::is_same::value + }; + }; + // does the given device match the device of t_host? + template + struct impl_device_matches_thost_device { + enum : bool { + value = std::is_same::value + }; + }; + + // does the given device match the execution space of t_host? + template + struct impl_device_matches_thost_exec { + enum : bool { + value = std::is_same::value + }; + }; + + // does the given device match the execution space of t_dev? + template + struct impl_device_matches_tdev_exec { + enum : bool { + value = std::is_same::value + }; + }; + + // does the given device's memory space match the memory space of t_dev? + template + struct impl_device_matches_tdev_memory_space { + enum : bool { + value = std::is_same::value + }; + }; //@} //! \name Methods for synchronizing, marking as modified, and getting Views. @@ -302,7 +368,7 @@ class DualView : public ViewTraits { /// \brief Return a View on a specific device \c Device. /// - /// Please don't be afraid of the if_c expression in the return + /// Please don't be afraid of the nested if_c expressions in the return /// value's type. That just tells the method what the return type /// should be: t_dev if the \c Device template parameter matches /// this DualView's device type, else t_host. @@ -323,10 +389,17 @@ class DualView : public ViewTraits { /// typename dual_view_type::t_host hostView = DV.view (); /// \endcode template - KOKKOS_INLINE_FUNCTION const typename Impl::if_c< - std::is_same::value, - t_dev, t_host>::type& + KOKKOS_INLINE_FUNCTION const typename std::conditional_t< + impl_device_matches_tdev_device::value, t_dev, + typename std::conditional_t< + impl_device_matches_thost_device::value, t_host, + typename std::conditional_t< + impl_device_matches_thost_exec::value, t_host, + typename std::conditional_t< + impl_device_matches_tdev_exec::value, t_dev, + typename std::conditional_t< + impl_device_matches_tdev_memory_space::value, + t_dev, t_host> > > > > view() const { constexpr bool device_is_memspace = std::is_same::value; @@ -463,6 +536,7 @@ class DualView : public ViewTraits { true); } } + /// \brief Update data on device or host only if data in the other /// space has been marked as modified. /// @@ -480,12 +554,9 @@ class DualView : public ViewTraits { /// the data in either View. You must manually mark modified data /// as modified, by calling the modify() method with the /// appropriate template parameter. - template - void sync(const typename std::enable_if< - (std::is_same::value) || - (std::is_same::value), - int>::type& = 0) { + // deliberately passing args by cref as they're used multiple times + template + void sync_impl(std::true_type, Args const&... args) { if (modified_flags.data() == nullptr) return; int dev = get_device_side(); @@ -497,12 +568,12 @@ class DualView : public ViewTraits { Kokkos::CudaUVMSpace>::value) { if (d_view.data() == h_view.data()) Kokkos::Impl::cuda_prefetch_pointer( - Kokkos::Cuda(), d_view.data(), + Impl::get_cuda_space(args...), d_view.data(), sizeof(typename t_dev::value_type) * d_view.span(), true); } #endif - deep_copy(d_view, h_view); + deep_copy(args..., d_view, h_view); modified_flags(0) = modified_flags(1) = 0; impl_report_device_sync(); } @@ -514,12 +585,12 @@ class DualView : public ViewTraits { Kokkos::CudaUVMSpace>::value) { if (d_view.data() == h_view.data()) Kokkos::Impl::cuda_prefetch_pointer( - Kokkos::Cuda(), d_view.data(), + Impl::get_cuda_space(args...), d_view.data(), sizeof(typename t_dev::value_type) * d_view.span(), false); } #endif - deep_copy(h_view, d_view); + deep_copy(args..., h_view, d_view); modified_flags(0) = modified_flags(1) = 0; impl_report_host_sync(); } @@ -533,10 +604,26 @@ class DualView : public ViewTraits { template void sync(const typename std::enable_if< - (!std::is_same::value) || + (std::is_same::value) || (std::is_same::value), int>::type& = 0) { + sync_impl(std::true_type{}); + } + + template + void sync(const ExecutionSpace& exec, + const typename std::enable_if< + (std::is_same::value) || + (std::is_same::value), + int>::type& = 0) { + sync_impl(std::true_type{}, exec); + } + + // deliberately passing args by cref as they're used multiple times + template + void sync_impl(std::false_type, Args const&...) { if (modified_flags.data() == nullptr) return; int dev = get_device_side(); @@ -557,7 +644,27 @@ class DualView : public ViewTraits { } } - void sync_host() { + template + void sync(const typename std::enable_if< + (!std::is_same::value) || + (std::is_same::value), + int>::type& = 0) { + sync_impl(std::false_type{}); + } + template + void sync(const ExecutionSpace& exec, + const typename std::enable_if< + (!std::is_same::value) || + (std::is_same::value), + int>::type& = 0) { + sync_impl(std::false_type{}, exec); + } + + // deliberately passing args by cref as they're used multiple times + template + void sync_host_impl(Args const&... args) { if (!std::is_same::value) Impl::throw_runtime_exception( @@ -569,18 +676,26 @@ class DualView : public ViewTraits { Kokkos::CudaUVMSpace>::value) { if (d_view.data() == h_view.data()) Kokkos::Impl::cuda_prefetch_pointer( - Kokkos::Cuda(), d_view.data(), + Impl::get_cuda_space(args...), d_view.data(), sizeof(typename t_dev::value_type) * d_view.span(), false); } #endif - deep_copy(h_view, d_view); + deep_copy(args..., h_view, d_view); modified_flags(1) = modified_flags(0) = 0; impl_report_host_sync(); } } - void sync_device() { + template + void sync_host(const ExecSpace& exec) { + sync_host_impl(exec); + } + void sync_host() { sync_host_impl(); } + + // deliberately passing args by cref as they're used multiple times + template + void sync_device_impl(Args const&... args) { if (!std::is_same::value) Impl::throw_runtime_exception( @@ -592,17 +707,23 @@ class DualView : public ViewTraits { Kokkos::CudaUVMSpace>::value) { if (d_view.data() == h_view.data()) Kokkos::Impl::cuda_prefetch_pointer( - Kokkos::Cuda(), d_view.data(), + Impl::get_cuda_space(args...), d_view.data(), sizeof(typename t_dev::value_type) * d_view.span(), true); } #endif - deep_copy(d_view, h_view); + deep_copy(args..., d_view, h_view); modified_flags(1) = modified_flags(0) = 0; impl_report_device_sync(); } } + template + void sync_device(const ExecSpace& exec) { + sync_device_impl(exec); + } + void sync_device() { sync_device_impl(); } + template bool need_sync() const { if (modified_flags.data() == nullptr) return false; @@ -658,6 +779,7 @@ class DualView : public ViewTraits { template void modify() { if (modified_flags.data() == nullptr) return; + if (impl_dualview_is_single_device::value) return; int dev = get_device_side(); if (dev == 1) { // if Device is the same as DualView's device type @@ -690,6 +812,7 @@ class DualView : public ViewTraits { } inline void modify_host() { + if (impl_dualview_is_single_device::value) return; if (modified_flags.data() != nullptr) { modified_flags(0) = (modified_flags(1) > modified_flags(0) ? modified_flags(1) @@ -710,6 +833,7 @@ class DualView : public ViewTraits { } inline void modify_device() { + if (impl_dualview_is_single_device::value) return; if (modified_flags.data() != nullptr) { modified_flags(1) = (modified_flags(1) > modified_flags(0) ? modified_flags(1) diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index c66d7a5f36..c6323fef93 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -245,13 +245,10 @@ KOKKOS_INLINE_FUNCTION bool dyn_rank_view_verify_operator_bounds( return (size_t(i) < map.extent(R)) && dyn_rank_view_verify_operator_bounds(rank, map, args...); } else if (i != 0) { - // FIXME_SYCL SYCL doesn't allow printf in kernels -#ifndef KOKKOS_ENABLE_SYCL - printf( + KOKKOS_IMPL_DO_NOT_USE_PRINTF( "DynRankView Debug Bounds Checking Error: at rank %u\n Extra " "arguments beyond the rank must be zero \n", R); -#endif return (false) && dyn_rank_view_verify_operator_bounds(rank, map, args...); } else { @@ -575,37 +572,22 @@ class DynRankView : public ViewTraits { (is_layout_left || is_layout_right || is_layout_stride) }; - template ::accessible> - struct verify_space { - KOKKOS_FORCEINLINE_FUNCTION static void check() {} - }; - - template - struct verify_space { - KOKKOS_FORCEINLINE_FUNCTION static void check() { - Kokkos::abort( - "Kokkos::DynRankView ERROR: attempt to access inaccessible memory " - "space"); - }; - }; - // Bounds checking macros #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) // rank of the calling operator - included as first argument in ARG -#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ - DynRankView::template verify_space< \ - Kokkos::Impl::ActiveExecutionMemorySpace>::check(); \ - Kokkos::Impl::dyn_rank_view_verify_operator_bounds< \ - typename traits::memory_space> \ +#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ + Kokkos::Impl::verify_space::check(); \ + Kokkos::Impl::dyn_rank_view_verify_operator_bounds< \ + typename traits::memory_space> \ ARG; #else -#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ - DynRankView::template verify_space< \ - Kokkos::Impl::ActiveExecutionMemorySpace>::check(); +#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ + Kokkos::Impl::verify_space::check(); #endif diff --git a/lib/kokkos/containers/src/Kokkos_DynamicView.hpp b/lib/kokkos/containers/src/Kokkos_DynamicView.hpp index 06bd556661..cc949d4c55 100644 --- a/lib/kokkos/containers/src/Kokkos_DynamicView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynamicView.hpp @@ -76,6 +76,12 @@ struct ChunkArraySpace { using memory_space = typename Kokkos::Experimental::HIPHostPinnedSpace; }; #endif +#ifdef KOKKOS_ENABLE_SYCL +template <> +struct ChunkArraySpace { + using memory_space = typename Kokkos::Experimental::SYCLSharedUSMSpace; +}; +#endif } // end namespace Impl /** \brief Dynamic views are restricted to rank-one and no layout. diff --git a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp index 4fd084338e..0f21a08ba3 100644 --- a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp +++ b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp @@ -377,34 +377,20 @@ class OffsetView : public ViewTraits { std::is_same::value && (is_layout_left || is_layout_right || is_layout_stride); - template ::accessible> - struct verify_space { - KOKKOS_FORCEINLINE_FUNCTION static void check() {} - }; - - template - struct verify_space { - KOKKOS_FORCEINLINE_FUNCTION static void check() { - Kokkos::abort( - "Kokkos::View ERROR: attempt to access inaccessible memory space"); - }; - }; - #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) -#define KOKKOS_IMPL_OFFSETVIEW_OPERATOR_VERIFY(ARG) \ - OffsetView::template verify_space< \ - Kokkos::Impl::ActiveExecutionMemorySpace>::check(); \ - Kokkos::Experimental::Impl::offsetview_verify_operator_bounds< \ - typename traits::memory_space> \ +#define KOKKOS_IMPL_OFFSETVIEW_OPERATOR_VERIFY(ARG) \ + Kokkos::Impl::verify_space::check(); \ + Kokkos::Experimental::Impl::offsetview_verify_operator_bounds< \ + typename traits::memory_space> \ ARG; #else -#define KOKKOS_IMPL_OFFSETVIEW_OPERATOR_VERIFY(ARG) \ - OffsetView::template verify_space< \ - Kokkos::Impl::ActiveExecutionMemorySpace>::check(); +#define KOKKOS_IMPL_OFFSETVIEW_OPERATOR_VERIFY(ARG) \ + Kokkos::Impl::verify_space::check(); #endif public: diff --git a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp index 5e18f5a80e..dcd4cf73e5 100644 --- a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp +++ b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp @@ -649,13 +649,13 @@ struct ReduceDuplicatesBase { size_t stride; size_t start; size_t n; - ReduceDuplicatesBase(ValueType const* src_in, ValueType* dest_in, - size_t stride_in, size_t start_in, size_t n_in, - std::string const& name) + ReduceDuplicatesBase(ExecSpace const& exec_space, ValueType const* src_in, + ValueType* dest_in, size_t stride_in, size_t start_in, + size_t n_in, std::string const& name) : src(src_in), dst(dest_in), stride(stride_in), start(start_in), n(n_in) { parallel_for( std::string("Kokkos::ScatterView::ReduceDuplicates [") + name + "]", - RangePolicy(0, stride), + RangePolicy(exec_space, 0, stride), static_cast(*this)); } }; @@ -667,9 +667,10 @@ template struct ReduceDuplicates : public ReduceDuplicatesBase { using Base = ReduceDuplicatesBase; - ReduceDuplicates(ValueType const* src_in, ValueType* dst_in, size_t stride_in, - size_t start_in, size_t n_in, std::string const& name) - : Base(src_in, dst_in, stride_in, start_in, n_in, name) {} + ReduceDuplicates(ExecSpace const& exec_space, ValueType const* src_in, + ValueType* dst_in, size_t stride_in, size_t start_in, + size_t n_in, std::string const& name) + : Base(exec_space, src_in, dst_in, stride_in, start_in, n_in, name) {} KOKKOS_FORCEINLINE_FUNCTION void operator()(size_t i) const { for (size_t j = Base::start; j < Base::n; ++j) { ScatterValue struct ResetDuplicatesBase { using Derived = ResetDuplicates; ValueType* data; - ResetDuplicatesBase(ValueType* data_in, size_t size_in, - std::string const& name) + ResetDuplicatesBase(ExecSpace const& exec_space, ValueType* data_in, + size_t size_in, std::string const& name) : data(data_in) { parallel_for( std::string("Kokkos::ScatterView::ResetDuplicates [") + name + "]", - RangePolicy(0, size_in), + RangePolicy(exec_space, 0, size_in), static_cast(*this)); } }; @@ -703,8 +704,9 @@ struct ResetDuplicatesBase { template struct ResetDuplicates : public ResetDuplicatesBase { using Base = ResetDuplicatesBase; - ResetDuplicates(ValueType* data_in, size_t size_in, std::string const& name) - : Base(data_in, size_in, name) {} + ResetDuplicates(ExecSpace const& exec_space, ValueType* data_in, + size_t size_in, std::string const& name) + : Base(exec_space, data_in, size_in, name) {} KOKKOS_FORCEINLINE_FUNCTION void operator()(size_t i) const { ScatterValue @@ -713,6 +715,16 @@ struct ResetDuplicates : public ResetDuplicatesBase { } }; +template +void check_scatter_view_allocation_properties_argument( + ViewCtorProp const&) { + static_assert(ViewCtorProp::has_execution_space && + ViewCtorProp::has_label && + ViewCtorProp::initialize, + "Allocation property must have an execution name as well as a " + "label, and must perform the view initialization"); +} + } // namespace Experimental } // namespace Impl } // namespace Kokkos @@ -762,10 +774,26 @@ class ScatterView const& original_view) : internal_view(original_view) {} + template + ScatterView(execution_space const& /* exec_space */, + View const& original_view) + : internal_view(original_view) {} + template ScatterView(std::string const& name, Dims... dims) : internal_view(name, dims...) {} + // This overload allows specifying an execution space instance to be + // used by passing, e.g., Kokkos::view_alloc(exec_space, "label") as + // first argument. + template + ScatterView(::Kokkos::Impl::ViewCtorProp const& arg_prop, Dims... dims) + : internal_view(arg_prop, dims...) { + using ::Kokkos::Impl::Experimental:: + check_scatter_view_allocation_properties_argument; + check_scatter_view_allocation_properties_argument(arg_prop); + } + template KOKKOS_FUNCTION ScatterView( const ScatterView void contribute_into(View const& dest) const { + contribute_into(execution_space(), dest); + } + + template + void contribute_into(execution_space const& exec_space, + View const& dest) const { using dest_type = View; static_assert(std::is_same::value, "ScatterView contribute destination has different layout"); static_assert( - Kokkos::Impl::VerifyExecutionCanAccessMemorySpace< - memory_space, typename dest_type::memory_space>::value, + Kokkos::Impl::SpaceAccessibility< + execution_space, typename dest_type::memory_space>::accessible, "ScatterView contribute destination memory space not accessible"); if (dest.data() == internal_view.data()) return; Kokkos::Impl::Experimental::ReduceDuplicates( - internal_view.data(), dest.data(), 0, 0, 1, internal_view.label()); + exec_space, internal_view.data(), dest.data(), 0, 0, 1, + internal_view.label()); } - void reset() { + void reset(execution_space const& exec_space = execution_space()) { Kokkos::Impl::Experimental::ResetDuplicates( - internal_view.data(), internal_view.size(), internal_view.label()); + exec_space, internal_view.data(), internal_view.size(), + internal_view.label()); } template void reset_except(View const& view) { - if (view.data() != internal_view.data()) reset(); + reset_except(execution_space(), view); + } + + template + void reset_except(const execution_space& exec_space, + View const& view) { + if (view.data() != internal_view.data()) reset(exec_space); } void resize(const size_t n0 = 0, const size_t n1 = 0, const size_t n2 = 0, @@ -928,10 +970,16 @@ class ScatterView ScatterView(View const& original_view) + : ScatterView(execution_space(), original_view) {} + + template + ScatterView(execution_space const& exec_space, + View const& original_view) : unique_token(), internal_view( view_alloc(WithoutInitializing, - std::string("duplicated_") + original_view.label()), + std::string("duplicated_") + original_view.label(), + exec_space), unique_token.size(), original_view.rank_dynamic > 0 ? original_view.extent(0) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, @@ -949,14 +997,32 @@ class ScatterView ScatterView(std::string const& name, Dims... dims) - : internal_view(view_alloc(WithoutInitializing, name), + : ScatterView(view_alloc(execution_space(), name), dims...) {} + + // This overload allows specifying an execution space instance to be + // used by passing, e.g., Kokkos::view_alloc(exec_space, "label") as + // first argument. + template + ScatterView(::Kokkos::Impl::ViewCtorProp const& arg_prop, Dims... dims) + : internal_view(view_alloc(WithoutInitializing, + static_cast<::Kokkos::Impl::ViewCtorProp< + void, std::string> const&>(arg_prop) + .value), unique_token.size(), dims...) { - reset(); + using ::Kokkos::Impl::Experimental:: + check_scatter_view_allocation_properties_argument; + check_scatter_view_allocation_properties_argument(arg_prop); + + auto const exec_space = + static_cast<::Kokkos::Impl::ViewCtorProp const&>( + arg_prop) + .value; + reset(exec_space); } template @@ -984,37 +1050,51 @@ class ScatterView void contribute_into(View const& dest) const { + contribute_into(execution_space(), dest); + } + + template + void contribute_into(execution_space const& exec_space, + View const& dest) const { using dest_type = View; static_assert(std::is_same::value, "ScatterView deep_copy destination has different layout"); static_assert( - Kokkos::Impl::VerifyExecutionCanAccessMemorySpace< - memory_space, typename dest_type::memory_space>::value, + Kokkos::Impl::SpaceAccessibility< + execution_space, typename dest_type::memory_space>::accessible, "ScatterView deep_copy destination memory space not accessible"); bool is_equal = (dest.data() == internal_view.data()); size_t start = is_equal ? 1 : 0; Kokkos::Impl::Experimental::ReduceDuplicates( - internal_view.data(), dest.data(), internal_view.stride(0), start, - internal_view.extent(0), internal_view.label()); + exec_space, internal_view.data(), dest.data(), internal_view.stride(0), + start, internal_view.extent(0), internal_view.label()); } - void reset() { + void reset(execution_space const& exec_space = execution_space()) { Kokkos::Impl::Experimental::ResetDuplicates( - internal_view.data(), internal_view.size(), internal_view.label()); + exec_space, internal_view.data(), internal_view.size(), + internal_view.label()); } + template void reset_except(View const& view) { + reset_except(execution_space(), view); + } + + template + void reset_except(execution_space const& exec_space, + View const& view) { if (view.data() != internal_view.data()) { - reset(); + reset(exec_space); return; } Kokkos::Impl::Experimental::ResetDuplicates( - internal_view.data() + view.size(), internal_view.size() - view.size(), - internal_view.label()); + exec_space, internal_view.data() + view.size(), + internal_view.size() - view.size(), internal_view.label()); } void resize(const size_t n0 = 0, const size_t n1 = 0, const size_t n2 = 0, @@ -1075,7 +1155,13 @@ class ScatterView - ScatterView(View const& original_view) : unique_token() { + ScatterView(View const& original_view) + : ScatterView(execution_space(), original_view) {} + + template + ScatterView(execution_space const& exec_space, + View const& original_view) + : unique_token() { size_t arg_N[8] = {original_view.rank > 0 ? original_view.extent(0) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, original_view.rank > 1 ? original_view.extent(1) @@ -1094,14 +1180,27 @@ class ScatterView - ScatterView(std::string const& name, Dims... dims) { + ScatterView(std::string const& name, Dims... dims) + : ScatterView(view_alloc(execution_space(), name), dims...) {} + + // This overload allows specifying an execution space instance to be + // used by passing, e.g., Kokkos::view_alloc(exec_space, "label") as + // first argument. + template + ScatterView(::Kokkos::Impl::ViewCtorProp const& arg_prop, + Dims... dims) { + using ::Kokkos::Impl::Experimental:: + check_scatter_view_allocation_properties_argument; + check_scatter_view_allocation_properties_argument(arg_prop); + original_view_type original_view; size_t arg_N[8] = {original_view.rank > 0 ? original_view.static_extent(0) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, @@ -1120,10 +1219,20 @@ class ScatterView const&>( + arg_prop) + .value; internal_view = internal_view_type(view_alloc(WithoutInitializing, name), arg_N[0], arg_N[1], arg_N[2], arg_N[3], arg_N[4], arg_N[5], arg_N[6], arg_N[7]); - reset(); + + auto const exec_space = + static_cast<::Kokkos::Impl::ViewCtorProp const&>( + arg_prop) + .value; + reset(exec_space); } template @@ -1166,6 +1275,12 @@ class ScatterView void contribute_into(View const& dest) const { + contribute_into(execution_space(), dest); + } + + template + void contribute_into(execution_space const& exec_space, + View const& dest) const { using dest_type = View; static_assert( std::is_same::value, "ScatterView deep_copy destination has different layout"); static_assert( - Kokkos::Impl::VerifyExecutionCanAccessMemorySpace< - memory_space, typename dest_type::memory_space>::value, + Kokkos::Impl::SpaceAccessibility< + execution_space, typename dest_type::memory_space>::accessible, "ScatterView deep_copy destination memory space not accessible"); auto extent = internal_view.extent(internal_view_type::rank - 1); bool is_equal = (dest.data() == internal_view.data()); size_t start = is_equal ? 1 : 0; Kokkos::Impl::Experimental::ReduceDuplicates( - internal_view.data(), dest.data(), + exec_space, internal_view.data(), dest.data(), internal_view.stride(internal_view_type::rank - 1), start, extent, internal_view.label()); } - void reset() { + void reset(execution_space const& exec_space = execution_space()) { Kokkos::Impl::Experimental::ResetDuplicates( - internal_view.data(), internal_view.size(), internal_view.label()); + exec_space, internal_view.data(), internal_view.size(), + internal_view.label()); } + template void reset_except(View const& view) { + reset_except(execution_space(), view); + } + + template + void reset_except(execution_space const& exec_space, + View const& view) { if (view.data() != internal_view.data()) { - reset(); + reset(exec_space); return; } Kokkos::Impl::Experimental::ResetDuplicates( - internal_view.data() + view.size(), internal_view.size() - view.size(), - internal_view.label()); + exec_space, internal_view.data() + view.size(), + internal_view.size() - view.size(), internal_view.label()); } void resize(const size_t n0 = 0, const size_t n1 = 0, const size_t n2 = 0, @@ -1316,21 +1439,21 @@ template ::array_layout, typename ViewTraits::device_type, Op, - typename Kokkos::Impl::if_c< + std::conditional_t< std::is_same::value, typename Kokkos::Impl::Experimental::DefaultDuplication< typename ViewTraits::execution_space>::type, - Duplication>::type, - typename Kokkos::Impl::if_c< + Duplication>, + std::conditional_t< std::is_same::value, typename Kokkos::Impl::Experimental::DefaultContribution< typename ViewTraits::execution_space, - typename Kokkos::Impl::if_c< + typename std::conditional_t< std::is_same::value, typename Kokkos::Impl::Experimental::DefaultDuplication< typename ViewTraits::execution_space>::type, - Duplication>::type>::type, - Contribution>::type> + Duplication>>::type, + Contribution>> create_scatter_view(View const& original_view) { return original_view; // implicit ScatterView constructor call } @@ -1365,12 +1488,21 @@ create_scatter_view(Op, Duplication, Contribution, namespace Kokkos { namespace Experimental { +template +void contribute( + typename ES::execution_space const& exec_space, View& dest, + Kokkos::Experimental::ScatterView const& src) { + src.contribute_into(exec_space, dest); +} + template void contribute( View& dest, Kokkos::Experimental::ScatterView const& src) { - src.contribute_into(dest); + using execution_space = typename ES::execution_space; + contribute(execution_space{}, dest, src); } } // namespace Experimental diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index d2affda93a..edb0e7261d 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -264,26 +264,24 @@ class UnorderedMap { private: enum : size_type { invalid_index = ~static_cast(0) }; - using impl_value_type = - typename Impl::if_c::type; + using impl_value_type = std::conditional_t; - using key_type_view = typename Impl::if_c< + using key_type_view = std::conditional_t< is_insertable_map, View, - View > >::type; + View > >; - using value_type_view = - typename Impl::if_c, - View > >::type; + using value_type_view = std::conditional_t< + is_insertable_map || is_modifiable_map, + View, + View > >; - using size_type_view = typename Impl::if_c< + using size_type_view = std::conditional_t< is_insertable_map, View, - View > >::type; + View > >; using bitset_type = - typename Impl::if_c, - ConstBitset >::type; + std::conditional_t, + ConstBitset >; enum { modified_idx = 0, erasable_idx = 1, failed_insert_idx = 2 }; enum { num_scalars = 3 }; @@ -540,10 +538,7 @@ class UnorderedMap { // Previously claimed an unused entry that was not inserted. // Release this unused entry immediately. if (!m_available_indexes.reset(new_index)) { - // FIXME_SYCL SYCL doesn't allow printf in kernels -#ifndef KOKKOS_ENABLE_SYCL - printf("Unable to free existing\n"); -#endif + KOKKOS_IMPL_DO_NOT_USE_PRINTF("Unable to free existing\n"); } } @@ -659,8 +654,8 @@ class UnorderedMap { /// /// 'const value_type' via Cuda texture fetch must return by value. KOKKOS_FORCEINLINE_FUNCTION - typename Impl::if_c<(is_set || has_const_value), impl_value_type, - impl_value_type &>::type + std::conditional_t<(is_set || has_const_value), impl_value_type, + impl_value_type &> value_at(size_type i) const { return m_values[is_set ? 0 : (i < capacity() ? i : capacity())]; } diff --git a/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp index 6e450598d1..6047e60f3d 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp @@ -57,10 +57,22 @@ namespace Kokkos { namespace Impl { +KOKKOS_FORCEINLINE_FUNCTION +unsigned rotate_left(unsigned i, int r) { + constexpr int size = static_cast(sizeof(unsigned) * CHAR_BIT); + return r ? ((i << r) | (i >> (size - r))) : i; +} + KOKKOS_FORCEINLINE_FUNCTION unsigned rotate_right(unsigned i, int r) { - enum { size = static_cast(sizeof(unsigned) * CHAR_BIT) }; + constexpr int size = static_cast(sizeof(unsigned) * CHAR_BIT); + // FIXME_SYCL llvm.fshr.i32 missing + // (https://github.com/intel/llvm/issues/3308) +#ifdef __SYCL_DEVICE_ONLY__ + return rotate_left(i, size - r); +#else return r ? ((i >> r) | (i << (size - r))) : i; +#endif } template diff --git a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp index b06ab0846c..d7c4a5d1ff 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp @@ -250,8 +250,8 @@ struct UnorderedMapPrint { uint32_t list = m_map.m_hash_lists(i); for (size_type curr = list, ii = 0; curr != invalid_index; curr = m_map.m_next_index[curr], ++ii) { - printf("%d[%d]: %d->%d\n", list, ii, m_map.key_at(curr), - m_map.value_at(curr)); + KOKKOS_IMPL_DO_NOT_USE_PRINTF("%d[%d]: %d->%d\n", list, ii, + m_map.key_at(curr), m_map.value_at(curr)); } } }; diff --git a/lib/kokkos/containers/unit_tests/CMakeLists.txt b/lib/kokkos/containers/unit_tests/CMakeLists.txt index c84c5f6d5e..947d222c27 100644 --- a/lib/kokkos/containers/unit_tests/CMakeLists.txt +++ b/lib/kokkos/containers/unit_tests/CMakeLists.txt @@ -2,6 +2,7 @@ KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) KOKKOS_INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src ) +KOKKOS_INCLUDE_DIRECTORIES(${KOKKOS_SOURCE_DIR}/core/unit_test/category_files) foreach(Tag Threads;Serial;OpenMP;HPX;Cuda;HIP;SYCL) # Because there is always an exception to the rule @@ -41,11 +42,6 @@ foreach(Tag Threads;Serial;OpenMP;HPX;Cuda;HIP;SYCL) configure_file(${dir}/dummy.cpp ${file}) list(APPEND UnitTestSources ${file}) endforeach() - list(REMOVE_ITEM UnitTestSources - ${CMAKE_CURRENT_BINARY_DIR}/sycl/TestSYCL_Bitset.cpp - ${CMAKE_CURRENT_BINARY_DIR}/sycl/TestSYCL_ScatterView.cpp - ${CMAKE_CURRENT_BINARY_DIR}/sycl/TestSYCL_UnorderedMap.cpp - ) KOKKOS_ADD_EXECUTABLE_AND_TEST(UnitTest_${Tag} SOURCES ${UnitTestSources}) endif() endforeach() diff --git a/lib/kokkos/containers/unit_tests/Makefile b/lib/kokkos/containers/unit_tests/Makefile index f42b9b7519..82669fe1ab 100644 --- a/lib/kokkos/containers/unit_tests/Makefile +++ b/lib/kokkos/containers/unit_tests/Makefile @@ -26,7 +26,7 @@ override LDFLAGS += -lpthread include $(KOKKOS_PATH)/Makefile.kokkos -KOKKOS_CXXFLAGS += -I$(GTEST_PATH) -I${KOKKOS_PATH}/containers/unit_tests +KOKKOS_CXXFLAGS += -I$(GTEST_PATH) -I${KOKKOS_PATH}/containers/unit_tests -I${KOKKOS_PATH}/core/unit_test/category_files TEST_TARGETS = TARGETS = diff --git a/lib/kokkos/containers/unit_tests/TestDualView.hpp b/lib/kokkos/containers/unit_tests/TestDualView.hpp index 531caf0f85..3eee85ed10 100644 --- a/lib/kokkos/containers/unit_tests/TestDualView.hpp +++ b/lib/kokkos/containers/unit_tests/TestDualView.hpp @@ -114,6 +114,8 @@ struct test_dualview_combinations { a.template modify(); a.template sync(); + a.template sync( + Kokkos::DefaultExecutionSpace{}); a.h_view(5, 1) = 3; a.h_view(6, 1) = 4; @@ -122,11 +124,15 @@ struct test_dualview_combinations { ViewType b = Kokkos::subview(a, std::pair(6, 9), std::pair(0, 1)); a.template sync(); + a.template sync( + Kokkos::DefaultExecutionSpace{}); b.template modify(); Kokkos::deep_copy(b.d_view, 2); a.template sync(); + a.template sync( + Kokkos::DefaultExecutionSpace{}); Scalar count = 0; for (unsigned int i = 0; i < a.d_view.extent(0); i++) for (unsigned int j = 0; j < a.d_view.extent(1); j++) @@ -180,6 +186,7 @@ struct test_dual_view_deep_copy { } else { a.modify_device(); a.sync_host(); + a.sync_host(Kokkos::DefaultExecutionSpace{}); } // Check device view is initialized as expected @@ -208,6 +215,7 @@ struct test_dual_view_deep_copy { b.template sync(); } else { b.sync_host(); + b.sync_host(Kokkos::DefaultExecutionSpace{}); } // Perform same checks on b as done on a @@ -302,6 +310,7 @@ struct test_dualview_resize { ASSERT_EQ(a.extent(1), m / factor); a.sync_device(); + a.sync_device(Kokkos::DefaultExecutionSpace{}); // Check device view is initialized as expected a_d_sum = 0; @@ -404,19 +413,14 @@ void test_dualview_resize() { Impl::test_dualview_resize(); } -// FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL TEST(TEST_CATEGORY, dualview_combination) { test_dualview_combinations(10, true); } -#endif TEST(TEST_CATEGORY, dualview_alloc) { test_dualview_alloc(10); } -// FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL TEST(TEST_CATEGORY, dualview_combinations_without_init) { test_dualview_combinations(10, false); } @@ -433,8 +437,133 @@ TEST(TEST_CATEGORY, dualview_realloc) { TEST(TEST_CATEGORY, dualview_resize) { test_dualview_resize(); } + +namespace { +/** + * + * The following tests are a response to + * https://github.com/kokkos/kokkos/issues/3850 + * and + * https://github.com/kokkos/kokkos/pull/3857 + * + * DualViews were returning incorrect view types and taking + * inappropriate actions based on the templated view methods. + * + * Specifically, template view methods were always returning + * a device view if the memory space was UVM and a Kokkos::Device was passed. + * Sync/modify methods completely broke down So these tests exist to make sure + * that we keep the semantics of UVM DualViews intact. + */ +// modify if we have other UVM enabled backends +#ifdef KOKKOS_ENABLE_CUDA // OR other UVM builds +#define UVM_ENABLED_BUILD #endif +#ifdef UVM_ENABLED_BUILD +template +struct UVMSpaceFor; +#endif + +#ifdef KOKKOS_ENABLE_CUDA // specific to CUDA +template <> +struct UVMSpaceFor { + using type = Kokkos::CudaUVMSpace; +}; +#endif + +#ifdef UVM_ENABLED_BUILD +template <> +struct UVMSpaceFor { + using type = typename UVMSpaceFor::type; +}; +#else +template +struct UVMSpaceFor { + using type = typename ExecSpace::memory_space; +}; +#endif + +using ExecSpace = Kokkos::DefaultExecutionSpace; +using MemSpace = typename UVMSpaceFor::type; +using DeviceType = Kokkos::Device; + +using DualViewType = Kokkos::DualView; +using d_device = DeviceType; +using h_device = Kokkos::Device< + Kokkos::DefaultHostExecutionSpace, + typename UVMSpaceFor::type>; + +TEST(TEST_CATEGORY, dualview_device_correct_kokkos_device) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + auto v_d = dv.template view(); + using vdt = decltype(v_d); + using vdt_d = vdt::device_type; + using vdt_d_e = vdt_d::execution_space; + ASSERT_STREQ(vdt_d_e::name(), Kokkos::DefaultExecutionSpace::name()); +} +TEST(TEST_CATEGORY, dualview_host_correct_kokkos_device) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + auto v_h = dv.template view(); + using vht = decltype(v_h); + using vht_d = vht::device_type; + using vht_d_e = vht_d::execution_space; + ASSERT_STREQ(vht_d_e::name(), Kokkos::DefaultHostExecutionSpace::name()); +} + +TEST(TEST_CATEGORY, dualview_host_modify_template_device_sync) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + dv.modify_host(); + dv.template sync(); + EXPECT_TRUE(!dv.need_sync_device()); + EXPECT_TRUE(!dv.need_sync_host()); + dv.clear_sync_state(); +} + +TEST(TEST_CATEGORY, dualview_host_modify_template_device_execspace_sync) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + dv.modify_host(); + dv.template sync(); + EXPECT_TRUE(!dv.need_sync_device()); + EXPECT_TRUE(!dv.need_sync_host()); + dv.clear_sync_state(); +} + +TEST(TEST_CATEGORY, dualview_device_modify_template_host_sync) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + dv.modify_device(); + dv.template sync(); + EXPECT_TRUE(!dv.need_sync_device()); + EXPECT_TRUE(!dv.need_sync_host()); + dv.clear_sync_state(); +} +TEST(TEST_CATEGORY, dualview_device_modify_template_host_execspace_sync) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + dv.modify_device(); + dv.template sync(); + EXPECT_TRUE(!dv.need_sync_device()); + EXPECT_TRUE(!dv.need_sync_host()); + dv.clear_sync_state(); +} + +TEST(TEST_CATEGORY, + dualview_template_views_return_correct_executionspace_views) { + DualViewType dv("myView", 100); + dv.clear_sync_state(); + using hvt = decltype(dv.view()); + using dvt = decltype(dv.view()); + ASSERT_STREQ(Kokkos::DefaultExecutionSpace::name(), + dvt::device_type::execution_space::name()); + ASSERT_STREQ(Kokkos::DefaultHostExecutionSpace::name(), + hvt::device_type::execution_space::name()); +} + +} // anonymous namespace } // namespace Test #endif // KOKKOS_TEST_DUALVIEW_HPP diff --git a/lib/kokkos/containers/unit_tests/TestDynamicView.hpp b/lib/kokkos/containers/unit_tests/TestDynamicView.hpp index 4b9f994417..f018793dd6 100644 --- a/lib/kokkos/containers/unit_tests/TestDynamicView.hpp +++ b/lib/kokkos/containers/unit_tests/TestDynamicView.hpp @@ -243,8 +243,6 @@ struct TestDynamicView { } }; -// FIXME_SYCL needs resize_serial -#ifndef KOKKOS_ENABLE_SYCL TEST(TEST_CATEGORY, dynamic_view) { using TestDynView = TestDynamicView; @@ -252,7 +250,6 @@ TEST(TEST_CATEGORY, dynamic_view) { TestDynView::run(100000 + 100 * i); } } -#endif } // namespace Test diff --git a/lib/kokkos/containers/unit_tests/TestHIP_Category.hpp b/lib/kokkos/containers/unit_tests/TestHIP_Category.hpp deleted file mode 100644 index c2d60d1814..0000000000 --- a/lib/kokkos/containers/unit_tests/TestHIP_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_HIP_HPP -#define KOKKOS_TEST_HIP_HPP - -#define TEST_CATEGORY hip -#define TEST_EXECSPACE Kokkos::Experimental::HIP - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestHPX_Category.hpp b/lib/kokkos/containers/unit_tests/TestHPX_Category.hpp deleted file mode 100644 index 64fc7c0757..0000000000 --- a/lib/kokkos/containers/unit_tests/TestHPX_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_HPX_HPP -#define KOKKOS_TEST_HPX_HPP - -#define TEST_CATEGORY hpx -#define TEST_EXECSPACE Kokkos::Experimental::HPX - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestOffsetView.hpp b/lib/kokkos/containers/unit_tests/TestOffsetView.hpp index 802813b13b..9ddc226e29 100644 --- a/lib/kokkos/containers/unit_tests/TestOffsetView.hpp +++ b/lib/kokkos/containers/unit_tests/TestOffsetView.hpp @@ -130,8 +130,6 @@ void test_offsetview_construction() { } } - // FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL const int ovmin0 = ov.begin(0); const int ovend0 = ov.end(0); const int ovmin1 = ov.begin(1); @@ -178,7 +176,6 @@ void test_offsetview_construction() { } ASSERT_EQ(OVResult, answer) << "Bad data found in OffsetView"; -#endif #endif { @@ -215,8 +212,6 @@ void test_offsetview_construction() { point3_type{{extent0, extent1, extent2}}); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) - // FIXME_SYCL requires MDRange policy -#ifdef KOKKOS_ENABLE_SYCL int view3DSum = 0; Kokkos::parallel_reduce( rangePolicy3DZero, @@ -239,7 +234,6 @@ void test_offsetview_construction() { ASSERT_EQ(view3DSum, offsetView3DSum) << "construction of OffsetView from View and begins array broken."; -#endif #endif } view_type viewFromOV = ov.view(); @@ -266,8 +260,6 @@ void test_offsetview_construction() { Kokkos::deep_copy(aView, ov); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) - // FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL int sum = 0; Kokkos::parallel_reduce( rangePolicy2D, @@ -277,7 +269,6 @@ void test_offsetview_construction() { sum); ASSERT_EQ(sum, 0) << "deep_copy(view, offsetView) broken."; -#endif #endif } @@ -288,8 +279,6 @@ void test_offsetview_construction() { Kokkos::deep_copy(ov, aView); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) - // FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL int sum = 0; Kokkos::parallel_reduce( rangePolicy2D, @@ -299,7 +288,6 @@ void test_offsetview_construction() { sum); ASSERT_EQ(sum, 0) << "deep_copy(offsetView, view) broken."; -#endif #endif } } @@ -471,8 +459,6 @@ void test_offsetview_subview() { ASSERT_EQ(offsetSubview.end(1), 9); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) - // FIXME_SYCL requires MDRange policy -#ifndef KOKKOS_ENABLE_SYCL using range_type = Kokkos::MDRangePolicy, Kokkos::IndexType >; using point_type = typename range_type::point_type; @@ -498,7 +484,6 @@ void test_offsetview_subview() { sum); ASSERT_EQ(sum, 6 * (e0 - b0) * (e1 - b1)); -#endif #endif } @@ -701,12 +686,9 @@ void test_offsetview_offsets_rank3() { } #endif -// FIXME_SYCL needs MDRangePolicy -#ifndef KOKKOS_ENABLE_SYCL TEST(TEST_CATEGORY, offsetview_construction) { test_offsetview_construction(); } -#endif TEST(TEST_CATEGORY, offsetview_unmanaged_construction) { test_offsetview_unmanaged_construction(); diff --git a/lib/kokkos/containers/unit_tests/TestOpenMP_Category.hpp b/lib/kokkos/containers/unit_tests/TestOpenMP_Category.hpp deleted file mode 100644 index a0169d1702..0000000000 --- a/lib/kokkos/containers/unit_tests/TestOpenMP_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_OPENMP_HPP -#define KOKKOS_TEST_OPENMP_HPP - -#define TEST_CATEGORY openmp -#define TEST_EXECSPACE Kokkos::OpenMP - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestSYCL_Category.hpp b/lib/kokkos/containers/unit_tests/TestSYCL_Category.hpp deleted file mode 100644 index 51fd3fc911..0000000000 --- a/lib/kokkos/containers/unit_tests/TestSYCL_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_SYCL_HPP -#define KOKKOS_TEST_SYCL_HPP - -#define TEST_CATEGORY sycl -#define TEST_EXECSPACE Kokkos::Experimental::SYCL - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestScatterView.hpp b/lib/kokkos/containers/unit_tests/TestScatterView.hpp index 3a3cb607a6..fdbce2d492 100644 --- a/lib/kokkos/containers/unit_tests/TestScatterView.hpp +++ b/lib/kokkos/containers/unit_tests/TestScatterView.hpp @@ -437,6 +437,10 @@ struct test_scatter_view_config { Contribution, Op, NumberType>::orig_view_type; + void compile_constructor() { + auto sv = scatter_view_def(Kokkos::view_alloc(DeviceType{}, "label"), 10); + } + void run_test(int n) { // test allocation { diff --git a/lib/kokkos/containers/unit_tests/TestSerial_Category.hpp b/lib/kokkos/containers/unit_tests/TestSerial_Category.hpp deleted file mode 100644 index 2aa09a315a..0000000000 --- a/lib/kokkos/containers/unit_tests/TestSerial_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_SERIAL_HPP -#define KOKKOS_TEST_SERIAL_HPP - -#define TEST_CATEGORY serial -#define TEST_EXECSPACE Kokkos::Serial - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp b/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp index 8bb267ce5d..a9a178f95e 100644 --- a/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp +++ b/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp @@ -285,10 +285,7 @@ void run_test_graph4() { TEST(TEST_CATEGORY, staticcrsgraph) { TestStaticCrsGraph::run_test_graph(); - // FIXME_SYCL requires MDRangePolicy -#ifndef KOKKOS_ENABLE_SYCL TestStaticCrsGraph::run_test_graph2(); -#endif TestStaticCrsGraph::run_test_graph3(1, 0); TestStaticCrsGraph::run_test_graph3(1, 1000); TestStaticCrsGraph::run_test_graph3(1, 10000); diff --git a/lib/kokkos/containers/unit_tests/TestThreads_Category.hpp b/lib/kokkos/containers/unit_tests/TestThreads_Category.hpp deleted file mode 100644 index 74a2b0da36..0000000000 --- a/lib/kokkos/containers/unit_tests/TestThreads_Category.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. 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. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "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 NTESS OR THE -// 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. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_TEST_THREADS_HPP -#define KOKKOS_TEST_THREADS_HPP - -#define TEST_CATEGORY threads -#define TEST_EXECSPACE Kokkos::Threads - -#endif diff --git a/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp b/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp index d39e0061c7..4413cfbc80 100644 --- a/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp +++ b/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp @@ -163,7 +163,8 @@ struct TestFind { KOKKOS_INLINE_FUNCTION void operator()(typename execution_space::size_type i, value_type &errors) const { - const bool expect_to_find_i = (i < m_max_key); + const bool expect_to_find_i = + (i < typename execution_space::size_type(m_max_key)); const bool exists = m_map.exists(i); @@ -293,10 +294,11 @@ void test_deep_copy(uint32_t num_nodes) { } } -// FIXME_HIP wrong result in CI but works locally -#ifndef KOKKOS_ENABLE_HIP +// FIXME_SYCL wrong results on Nvidia GPUs but correct on Host and Intel GPUs +// FIXME_HIP // WORKAROUND MSVC -#ifndef _WIN32 +#if !(defined(KOKKOS_ENABLE_HIP) && (HIP_VERSION < 401)) && \ + !defined(_WIN32) && !defined(KOKKOS_ENABLE_SYCL) TEST(TEST_CATEGORY, UnorderedMap_insert) { for (int i = 0; i < 500; ++i) { test_insert(100000, 90000, 100, true); @@ -304,7 +306,6 @@ TEST(TEST_CATEGORY, UnorderedMap_insert) { } } #endif -#endif TEST(TEST_CATEGORY, UnorderedMap_failed_insert) { for (int i = 0; i < 1000; ++i) test_failed_insert(10000); diff --git a/lib/kokkos/core/perf_test/CMakeLists.txt b/lib/kokkos/core/perf_test/CMakeLists.txt index b7b817c910..9ff4b6006d 100644 --- a/lib/kokkos/core/perf_test/CMakeLists.txt +++ b/lib/kokkos/core/perf_test/CMakeLists.txt @@ -9,6 +9,14 @@ # that in TriBITS KokkosAlgorithms can be disabled... #INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../../algorithms/src") +# FIXME_OPENMPTARGET - the NVIDIA HPC compiler nvc++ in the OpenMPTarget backend does not pass the perf_tests. +IF (KOKKOS_ENABLE_OPENMPTARGET + AND (KOKKOS_CXX_COMPILER_ID STREQUAL PGI + OR KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC)) + RETURN() +ENDIF() + + SET(SOURCES PerfTestMain.cpp PerfTestGramSchmidt.cpp @@ -68,8 +76,7 @@ KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) KOKKOS_INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) # This test currently times out for MSVC -# FIXME_SYCL these tests don't compile yet (require parallel_for). -IF(NOT KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC" AND NOT Kokkos_ENABLE_SYCL) +IF(NOT KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") KOKKOS_ADD_EXECUTABLE_AND_TEST( PerfTestExec SOURCES ${SOURCES} @@ -77,13 +84,11 @@ IF(NOT KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC" AND NOT Kokkos_ENABLE_SYCL) ) ENDIF() -# FIXME_SYCL -IF(NOT Kokkos_ENABLE_SYCL) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - PerformanceTest_Atomic - SOURCES test_atomic.cpp - CATEGORIES PERFORMANCE - ) +KOKKOS_ADD_EXECUTABLE_AND_TEST( + PerformanceTest_Atomic + SOURCES test_atomic.cpp + CATEGORIES PERFORMANCE +) IF(NOT KOKKOS_ENABLE_CUDA OR KOKKOS_ENABLE_CUDA_LAMBDA) KOKKOS_ADD_EXECUTABLE_AND_TEST( @@ -98,7 +103,6 @@ KOKKOS_ADD_EXECUTABLE_AND_TEST( SOURCES test_mempool.cpp CATEGORIES PERFORMANCE ) -ENDIF() IF(NOT Kokkos_ENABLE_OPENMPTARGET) # FIXME OPENMPTARGET needs tasking diff --git a/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp b/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp index 70186283c1..dee21fd7a5 100644 --- a/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp +++ b/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp @@ -69,7 +69,7 @@ struct InvNorm2 : public Kokkos::DotSingle { KOKKOS_INLINE_FUNCTION void final(value_type& result) const { - result = std::sqrt(result); + result = Kokkos::Experimental::sqrt(result); Rjj() = result; inv() = (0 < result) ? 1.0 / result : 0; } @@ -145,7 +145,7 @@ struct ModifiedGramSchmidt { // Q(:,j) *= ( 1 / R(j,j) ); => Q(:,j) *= tmp ; Kokkos::scale(tmp, Qj); - for (size_t k = j + 1; k < count; ++k) { + for (size_type k = j + 1; k < count; ++k) { const vector_type Qk = Kokkos::subview(Q_, Kokkos::ALL(), k); const value_view Rjk = Kokkos::subview(R_, j, k); @@ -165,7 +165,7 @@ struct ModifiedGramSchmidt { //-------------------------------------------------------------------------- - static double test(const size_t length, const size_t count, + static double test(const size_type length, const size_type count, const size_t iter = 1) { multivector_type Q_("Q", length, count); multivector_type R_("R", count, count); diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index e0590a78a4..2ab0989805 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -72,8 +72,6 @@ KOKKOS_ADD_LIBRARY( ADD_BUILD_OPTIONS # core should be given all the necessary compiler/linker flags ) -SET_TARGET_PROPERTIES(kokkoscore PROPERTIES VERSION ${Kokkos_VERSION}) - KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkoscore ${KOKKOS_TOP_BUILD_DIR} ${CMAKE_CURRENT_BINARY_DIR} @@ -87,3 +85,4 @@ KOKKOS_LINK_TPL(kokkoscore PUBLIC HPX) KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBDL) KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBRT) KOKKOS_LINK_TPL(kokkoscore PUBLIC PTHREAD) +KOKKOS_LINK_TPL(kokkoscore PUBLIC ROCM) diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp index 4a30c914f0..916f109758 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp @@ -45,6 +45,10 @@ #include #ifdef KOKKOS_ENABLE_CUDA +#include +#include +#include + #include #include #include @@ -52,10 +56,6 @@ #include #include -#include -#include -#include - //#include #include #include @@ -65,6 +65,22 @@ /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ +cudaStream_t Kokkos::Impl::cuda_get_deep_copy_stream() { + static cudaStream_t s = nullptr; + if (s == nullptr) { + cudaStreamCreate(&s); + } + return s; +} + +const std::unique_ptr &Kokkos::Impl::cuda_get_deep_copy_space( + bool initialize) { + static std::unique_ptr space = nullptr; + if (!space && initialize) + space = std::make_unique(Kokkos::Impl::cuda_get_deep_copy_stream()); + return space; +} + namespace Kokkos { namespace Impl { @@ -72,13 +88,6 @@ namespace { static std::atomic num_uvm_allocations(0); -cudaStream_t get_deep_copy_stream() { - static cudaStream_t s = nullptr; - if (s == nullptr) { - cudaStreamCreate(&s); - } - return s; -} } // namespace DeepCopy::DeepCopy(void *dst, const void *src, @@ -115,7 +124,7 @@ DeepCopy::DeepCopy(const Cuda &instance, void *dst, } void DeepCopyAsyncCuda(void *dst, const void *src, size_t n) { - cudaStream_t s = get_deep_copy_stream(); + cudaStream_t s = cuda_get_deep_copy_stream(); CUDA_SAFE_CALL(cudaMemcpyAsync(dst, src, n, cudaMemcpyDefault, s)); cudaStreamSynchronize(s); } @@ -128,14 +137,14 @@ void DeepCopyAsyncCuda(void *dst, const void *src, size_t n) { namespace Kokkos { -void CudaSpace::access_error() { +KOKKOS_DEPRECATED void CudaSpace::access_error() { const std::string msg( "Kokkos::CudaSpace::access_error attempt to execute Cuda function from " "non-Cuda space"); Kokkos::Impl::throw_runtime_exception(msg); } -void CudaSpace::access_error(const void *const) { +KOKKOS_DEPRECATED void CudaSpace::access_error(const void *const) { const std::string msg( "Kokkos::CudaSpace::access_error attempt to execute Cuda function from " "non-Cuda space"); @@ -459,79 +468,6 @@ SharedAllocationRecord::attach_texture_object( return tex_obj; } -//============================================================================== -// {{{1 - -std::string SharedAllocationRecord::get_label() const { - SharedAllocationHeader header; - - Kokkos::Impl::DeepCopy( - &header, RecordBase::head(), sizeof(SharedAllocationHeader)); - - return std::string(header.m_label); -} - -std::string SharedAllocationRecord::get_label() - const { - return std::string(RecordBase::head()->m_label); -} - -std::string -SharedAllocationRecord::get_label() const { - return std::string(RecordBase::head()->m_label); -} - -// end SharedAllocationRecord::get_label() }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -SharedAllocationRecord - *SharedAllocationRecord::allocate( - const Kokkos::CudaSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size) { - return new SharedAllocationRecord(arg_space, arg_label, arg_alloc_size); -} - -SharedAllocationRecord - *SharedAllocationRecord::allocate( - const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size) { - return new SharedAllocationRecord(arg_space, arg_label, arg_alloc_size); -} - -SharedAllocationRecord - *SharedAllocationRecord::allocate( - const Kokkos::CudaHostPinnedSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size) { - return new SharedAllocationRecord(arg_space, arg_label, arg_alloc_size); -} - -// end SharedAllocationRecord allocate() }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -// end SharedAllocationRecord deallocate }}}1 -//============================================================================== - //============================================================================== // {{{1 @@ -580,7 +516,7 @@ SharedAllocationRecord::SharedAllocationRecord( const SharedAllocationRecord::function_type arg_dealloc) // Pass through allocated [ SharedAllocationHeader , user_memory ] // Pass through deallocation function - : SharedAllocationRecord( + : base_t( #ifdef KOKKOS_ENABLE_DEBUG &SharedAllocationRecord::s_root_record, #endif @@ -592,13 +528,7 @@ SharedAllocationRecord::SharedAllocationRecord( SharedAllocationHeader header; - // Fill in the Header information - header.m_record = static_cast *>(this); - - strncpy(header.m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - header.m_label[SharedAllocationHeader::maximum_label_length - 1] = (char)0; + this->base_t::_fill_host_accessible_header_info(header, arg_label); // Copy to device memory Kokkos::Impl::DeepCopy(RecordBase::m_alloc_ptr, &header, @@ -611,7 +541,7 @@ SharedAllocationRecord::SharedAllocationRecord( const SharedAllocationRecord::function_type arg_dealloc) // Pass through allocated [ SharedAllocationHeader , user_memory ] // Pass through deallocation function - : SharedAllocationRecord( + : base_t( #ifdef KOKKOS_ENABLE_DEBUG &SharedAllocationRecord::s_root_record, #endif @@ -620,16 +550,8 @@ SharedAllocationRecord::SharedAllocationRecord( sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_tex_obj(0), m_space(arg_space) { - // Fill in the Header information, directly accessible via UVM - - RecordBase::m_alloc_ptr->m_record = this; - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = (char)0; + this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, + arg_label); } SharedAllocationRecord:: @@ -639,7 +561,7 @@ SharedAllocationRecord:: const SharedAllocationRecord::function_type arg_dealloc) // Pass through allocated [ SharedAllocationHeader , user_memory ] // Pass through deallocation function - : SharedAllocationRecord( + : base_t( #ifdef KOKKOS_ENABLE_DEBUG &SharedAllocationRecord::s_root_record, @@ -648,319 +570,13 @@ SharedAllocationRecord:: arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { - // Fill in the Header information, directly accessible on the host - - RecordBase::m_alloc_ptr->m_record = this; - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = (char)0; + this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, + arg_label); } // end SharedAllocationRecord constructors }}}1 //============================================================================== -//============================================================================== -// {{{1 - -void *SharedAllocationRecord::allocate_tracked( - const Kokkos::CudaSpace &arg_space, const std::string &arg_alloc_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked( - void *const arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void *SharedAllocationRecord::reallocate_tracked( - void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -void *SharedAllocationRecord::allocate_tracked( - const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_alloc_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked( - void *const arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void *SharedAllocationRecord::reallocate_tracked( - void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -void * -SharedAllocationRecord::allocate_tracked( - const Kokkos::CudaHostPinnedSpace &arg_space, - const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void *const - arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void * -SharedAllocationRecord::reallocate_tracked( - void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -// end SharedAllocationRecored::(re|de|)allocate_tracked }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -SharedAllocationRecord * -SharedAllocationRecord::get_record(void *alloc_ptr) { - using RecordCuda = SharedAllocationRecord; - - using Header = SharedAllocationHeader; - - // Copy the header from the allocation - Header head; - - Header const *const head_cuda = - alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; - - if (alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, head_cuda, sizeof(SharedAllocationHeader)); - } - - RecordCuda *const record = - alloc_ptr ? static_cast(head.m_record) : nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head_cuda) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::SharedAllocationRecord< Kokkos::CudaSpace , " - "void >::get_record ERROR")); - } - - return record; -} - -SharedAllocationRecord *SharedAllocationRecord< - Kokkos::CudaUVMSpace, void>::get_record(void *alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordCuda = SharedAllocationRecord; - - Header *const h = - alloc_ptr ? reinterpret_cast
(alloc_ptr) - 1 : nullptr; - - if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::SharedAllocationRecord< " - "Kokkos::CudaUVMSpace , void >::get_record ERROR")); - } - - return static_cast(h->m_record); -} - -SharedAllocationRecord - *SharedAllocationRecord::get_record( - void *alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordCuda = SharedAllocationRecord; - - Header *const h = - alloc_ptr ? reinterpret_cast
(alloc_ptr) - 1 : nullptr; - - if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::SharedAllocationRecord< " - "Kokkos::CudaHostPinnedSpace , void >::get_record ERROR")); - } - - return static_cast(h->m_record); -} - -// end SharedAllocationRecord::get_record() }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -// Iterate records to print orphaned memory ... -void SharedAllocationRecord::print_records( - std::ostream &s, const Kokkos::CudaSpace &, bool detail) { - (void)s; - (void)detail; -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord *r = &s_root_record; - - char buffer[256]; - - SharedAllocationHeader head; - - if (detail) { - do { - if (r->m_alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, r->m_alloc_ptr, sizeof(SharedAllocationHeader)); - } else { - head.m_label[0] = 0; - } - - // Formatting dependent on sizeof(uintptr_t) - const char *format_string; - - if (sizeof(uintptr_t) == sizeof(unsigned long)) { - format_string = - "Cuda addr( 0x%.12lx ) list( 0x%.12lx 0x%.12lx ) extent[ 0x%.12lx " - "+ %.8ld ] count(%d) dealloc(0x%.12lx) %s\n"; - } else if (sizeof(uintptr_t) == sizeof(unsigned long long)) { - format_string = - "Cuda addr( 0x%.12llx ) list( 0x%.12llx 0x%.12llx ) extent[ " - "0x%.12llx + %.8ld ] count(%d) dealloc(0x%.12llx) %s\n"; - } - - snprintf(buffer, 256, format_string, reinterpret_cast(r), - reinterpret_cast(r->m_prev), - reinterpret_cast(r->m_next), - reinterpret_cast(r->m_alloc_ptr), r->m_alloc_size, - r->m_count, reinterpret_cast(r->m_dealloc), - head.m_label); - s << buffer; - r = r->m_next; - } while (r != &s_root_record); - } else { - do { - if (r->m_alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, r->m_alloc_ptr, sizeof(SharedAllocationHeader)); - - // Formatting dependent on sizeof(uintptr_t) - const char *format_string; - - if (sizeof(uintptr_t) == sizeof(unsigned long)) { - format_string = "Cuda [ 0x%.12lx + %ld ] %s\n"; - } else if (sizeof(uintptr_t) == sizeof(unsigned long long)) { - format_string = "Cuda [ 0x%.12llx + %ld ] %s\n"; - } - - snprintf(buffer, 256, format_string, - reinterpret_cast(r->data()), r->size(), - head.m_label); - } else { - snprintf(buffer, 256, "Cuda [ 0 + 0 ]\n"); - } - s << buffer; - r = r->m_next; - } while (r != &s_root_record); - } -#else - Kokkos::Impl::throw_runtime_exception( - "SharedAllocationHeader::print_records only works with " - "KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -void SharedAllocationRecord::print_records( - std::ostream &s, const Kokkos::CudaUVMSpace &, bool detail) { - (void)s; - (void)detail; -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord::print_host_accessible_records( - s, "CudaUVM", &s_root_record, detail); -#else - Kokkos::Impl::throw_runtime_exception( - "SharedAllocationHeader::print_records only works with " - "KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -void SharedAllocationRecord::print_records( - std::ostream &s, const Kokkos::CudaHostPinnedSpace &, bool detail) { - (void)s; - (void)detail; -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord::print_host_accessible_records( - s, "CudaHostPinned", &s_root_record, detail); -#else - Kokkos::Impl::throw_runtime_exception( - "SharedAllocationHeader::print_records only works with " - "KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -// end SharedAllocationRecord::print_records() }}}1 -//============================================================================== - void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, bool to_device) { if ((ptr == nullptr) || (bytes == 0)) return; @@ -984,6 +600,29 @@ void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, } // namespace Impl } // namespace Kokkos + +//============================================================================== +// {{{1 + +#include + +namespace Kokkos { +namespace Impl { + +// To avoid additional compilation cost for something that's (mostly?) not +// performance sensitive, we explicity instantiate these CRTP base classes here, +// where we have access to the associated *_timpl.hpp header files. +template class SharedAllocationRecordCommon; +template class HostInaccessibleSharedAllocationRecordCommon; +template class SharedAllocationRecordCommon; +template class SharedAllocationRecordCommon; + +} // end namespace Impl +} // end namespace Kokkos + +// end Explicit instantiations of CRTP Base classes }}}1 +//============================================================================== + #else void KOKKOS_CORE_SRC_CUDA_CUDASPACE_PREVENT_LINK_ERROR() {} #endif // KOKKOS_ENABLE_CUDA diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp index 0d6d3bdb3a..0f4259072d 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp @@ -140,7 +140,7 @@ inline int cuda_deduce_block_size(bool early_termination, } } - if (early_termination && blocks_per_sm != 0) break; + if (early_termination && opt_block_size != 0) break; } return opt_block_size; @@ -222,7 +222,8 @@ inline size_t get_shmem_per_sm_prefer_l1(cudaDeviceProp const& properties) { case 52: case 61: return 96; case 70: - case 80: return 8; + case 80: + case 86: return 8; case 75: return 32; default: Kokkos::Impl::throw_runtime_exception( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Half.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Half.hpp index a9a62380e5..ec9c434fe6 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Half.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Half.hpp @@ -175,30 +175,42 @@ class half_t { return cast_from_half(*this); } + /** + * Conversion constructors. + * + * Support implicit conversions from impl_type, float, double -> half_t + * Mixed precision expressions require upcasting which is done in the + * "// Binary Arithmetic" operator overloads below. + * + * Support implicit conversions from integral types -> half_t. + * Expressions involving half_t with integral types require downcasting + * the integral types to half_t. Existing operator overloads can handle this + * with the addition of the below implicit conversion constructors. + */ KOKKOS_FUNCTION half_t(impl_type rhs) : val(rhs) {} KOKKOS_FUNCTION - explicit half_t(float rhs) : val(cast_to_half(rhs).val) {} + half_t(float rhs) : val(cast_to_half(rhs).val) {} + KOKKOS_FUNCTION + half_t(double rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION explicit half_t(bool rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(double rhs) : val(cast_to_half(rhs).val) {} + half_t(short rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(short rhs) : val(cast_to_half(rhs).val) {} + half_t(int rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(int rhs) : val(cast_to_half(rhs).val) {} + half_t(long rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(long rhs) : val(cast_to_half(rhs).val) {} + half_t(long long rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(long long rhs) : val(cast_to_half(rhs).val) {} + half_t(unsigned short rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(unsigned short rhs) : val(cast_to_half(rhs).val) {} + half_t(unsigned int rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(unsigned int rhs) : val(cast_to_half(rhs).val) {} + half_t(unsigned long rhs) : val(cast_to_half(rhs).val) {} KOKKOS_FUNCTION - explicit half_t(unsigned long rhs) : val(cast_to_half(rhs).val) {} - KOKKOS_FUNCTION - explicit half_t(unsigned long long rhs) : val(cast_to_half(rhs).val) {} + half_t(unsigned long long rhs) : val(cast_to_half(rhs).val) {} // Unary operators KOKKOS_FUNCTION @@ -243,7 +255,7 @@ class half_t { #else float tmp = __half2float(val); --tmp; - val = __float2half(tmp); + val = __float2half(tmp); #endif return *this; } @@ -276,88 +288,317 @@ class half_t { return *this; } + template + KOKKOS_FUNCTION void operator=(T rhs) volatile { + val = cast_to_half(rhs).val; + } + // Compound operators KOKKOS_FUNCTION half_t& operator+=(half_t rhs) { #ifdef __CUDA_ARCH__ val += rhs.val; #else - val = __float2half(__half2float(val) + __half2float(rhs.val)); + val = __float2half(__half2float(val) + __half2float(rhs.val)); #endif return *this; } + KOKKOS_FUNCTION + volatile half_t& operator+=(half_t rhs) volatile { +#ifdef __CUDA_ARCH__ + // Cuda 10 supports __half volatile stores but not volatile arithmetic + // operands. Cast away volatile-ness of val for arithmetic but not for store + // location. + val = const_cast(val) + rhs.val; +#else + // Use non-volatile val_ref to suppress: + // "warning: implicit dereference will not access object of type ‘volatile + // __half’ in statement" + auto val_ref = const_cast(val); + val_ref = __float2half(__half2float(const_cast(val)) + + __half2float(rhs.val)); +#endif + return *this; + } + + // Compund operators: upcast overloads for += + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator+=(T& lhs, half_t rhs) { + lhs += static_cast(rhs); + return lhs; + } + + KOKKOS_FUNCTION + half_t& operator+=(float rhs) { + float result = static_cast(val) + rhs; + val = static_cast(result); + return *this; + } + + KOKKOS_FUNCTION + half_t& operator+=(double rhs) { + double result = static_cast(val) + rhs; + val = static_cast(result); + return *this; + } + KOKKOS_FUNCTION half_t& operator-=(half_t rhs) { #ifdef __CUDA_ARCH__ val -= rhs.val; #else - val = __float2half(__half2float(val) - __half2float(rhs.val)); + val = __float2half(__half2float(val) - __half2float(rhs.val)); #endif return *this; } + KOKKOS_FUNCTION + volatile half_t& operator-=(half_t rhs) volatile { +#ifdef __CUDA_ARCH__ + // Cuda 10 supports __half volatile stores but not volatile arithmetic + // operands. Cast away volatile-ness of val for arithmetic but not for store + // location. + val = const_cast(val) - rhs.val; +#else + // Use non-volatile val_ref to suppress: + // "warning: implicit dereference will not access object of type ‘volatile + // __half’ in statement" + auto val_ref = const_cast(val); + val_ref = __float2half(__half2float(const_cast(val)) - + __half2float(rhs.val)); +#endif + return *this; + } + + // Compund operators: upcast overloads for -= + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator-=(T& lhs, half_t rhs) { + lhs -= static_cast(rhs); + return lhs; + } + + KOKKOS_FUNCTION + half_t& operator-=(float rhs) { + float result = static_cast(val) - rhs; + val = static_cast(result); + return *this; + } + + KOKKOS_FUNCTION + half_t& operator-=(double rhs) { + double result = static_cast(val) - rhs; + val = static_cast(result); + return *this; + } + KOKKOS_FUNCTION half_t& operator*=(half_t rhs) { #ifdef __CUDA_ARCH__ val *= rhs.val; #else - val = __float2half(__half2float(val) * __half2float(rhs.val)); + val = __float2half(__half2float(val) * __half2float(rhs.val)); #endif return *this; } + KOKKOS_FUNCTION + volatile half_t& operator*=(half_t rhs) volatile { +#ifdef __CUDA_ARCH__ + // Cuda 10 supports __half volatile stores but not volatile arithmetic + // operands. Cast away volatile-ness of val for arithmetic but not for store + // location. + val = const_cast(val) * rhs.val; +#else + // Use non-volatile val_ref to suppress: + // "warning: implicit dereference will not access object of type ‘volatile + // __half’ in statement" + auto val_ref = const_cast(val); + val_ref = __float2half(__half2float(const_cast(val)) * + __half2float(rhs.val)); +#endif + return *this; + } + + // Compund operators: upcast overloads for *= + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator*=(T& lhs, half_t rhs) { + lhs *= static_cast(rhs); + return lhs; + } + + KOKKOS_FUNCTION + half_t& operator*=(float rhs) { + float result = static_cast(val) * rhs; + val = static_cast(result); + return *this; + } + + KOKKOS_FUNCTION + half_t& operator*=(double rhs) { + double result = static_cast(val) * rhs; + val = static_cast(result); + return *this; + } + KOKKOS_FUNCTION half_t& operator/=(half_t rhs) { #ifdef __CUDA_ARCH__ val /= rhs.val; #else - val = __float2half(__half2float(val) / __half2float(rhs.val)); + val = __float2half(__half2float(val) / __half2float(rhs.val)); #endif return *this; } + KOKKOS_FUNCTION + volatile half_t& operator/=(half_t rhs) volatile { +#ifdef __CUDA_ARCH__ + // Cuda 10 supports __half volatile stores but not volatile arithmetic + // operands. Cast away volatile-ness of val for arithmetic but not for store + // location. + val = const_cast(val) / rhs.val; +#else + // Use non-volatile val_ref to suppress: + // "warning: implicit dereference will not access object of type ‘volatile + // __half’ in statement" + auto val_ref = const_cast(val); + val_ref = __float2half(__half2float(const_cast(val)) / + __half2float(rhs.val)); +#endif + return *this; + } + + // Compund operators: upcast overloads for /= + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator/=(T& lhs, half_t rhs) { + lhs /= static_cast(rhs); + return lhs; + } + + KOKKOS_FUNCTION + half_t& operator/=(float rhs) { + float result = static_cast(val) / rhs; + val = static_cast(result); + return *this; + } + + KOKKOS_FUNCTION + half_t& operator/=(double rhs) { + double result = static_cast(val) / rhs; + val = static_cast(result); + return *this; + } + // Binary Arithmetic KOKKOS_FUNCTION half_t friend operator+(half_t lhs, half_t rhs) { #ifdef __CUDA_ARCH__ lhs.val += rhs.val; #else - lhs.val = __float2half(__half2float(lhs.val) + __half2float(rhs.val)); + lhs.val = __float2half(__half2float(lhs.val) + __half2float(rhs.val)); #endif return lhs; } + // Binary Arithmetic upcast operators for + + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator+(half_t lhs, T rhs) { + return T(lhs) + rhs; + } + + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator+(T lhs, half_t rhs) { + return lhs + T(rhs); + } + KOKKOS_FUNCTION half_t friend operator-(half_t lhs, half_t rhs) { #ifdef __CUDA_ARCH__ lhs.val -= rhs.val; #else - lhs.val = __float2half(__half2float(lhs.val) - __half2float(rhs.val)); + lhs.val = __float2half(__half2float(lhs.val) - __half2float(rhs.val)); #endif return lhs; } + // Binary Arithmetic upcast operators for - + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator-(half_t lhs, T rhs) { + return T(lhs) - rhs; + } + + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator-(T lhs, half_t rhs) { + return lhs - T(rhs); + } + KOKKOS_FUNCTION half_t friend operator*(half_t lhs, half_t rhs) { #ifdef __CUDA_ARCH__ lhs.val *= rhs.val; #else - lhs.val = __float2half(__half2float(lhs.val) * __half2float(rhs.val)); + lhs.val = __float2half(__half2float(lhs.val) * __half2float(rhs.val)); #endif return lhs; } + // Binary Arithmetic upcast operators for * + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator*(half_t lhs, T rhs) { + return T(lhs) * rhs; + } + + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator*(T lhs, half_t rhs) { + return lhs * T(rhs); + } + KOKKOS_FUNCTION half_t friend operator/(half_t lhs, half_t rhs) { #ifdef __CUDA_ARCH__ lhs.val /= rhs.val; #else - lhs.val = __float2half(__half2float(lhs.val) / __half2float(rhs.val)); + lhs.val = __float2half(__half2float(lhs.val) / __half2float(rhs.val)); #endif return lhs; } + // Binary Arithmetic upcast operators for / + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator/(half_t lhs, T rhs) { + return T(lhs) / rhs; + } + + template + KOKKOS_FUNCTION std::enable_if_t< + std::is_same::value || std::is_same::value, T> friend + operator/(T lhs, half_t rhs) { + return lhs / T(rhs); + } + // Logical operators KOKKOS_FUNCTION bool operator!() const { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index b8e8163458..016cb6cdcb 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -248,11 +249,11 @@ void CudaInternal::print_configuration(std::ostream &s) const { const CudaInternalDevices &dev_info = CudaInternalDevices::singleton(); #if defined(KOKKOS_ENABLE_CUDA) - s << "macro KOKKOS_ENABLE_CUDA : defined" << std::endl; + s << "macro KOKKOS_ENABLE_CUDA : defined\n"; #endif #if defined(CUDA_VERSION) s << "macro CUDA_VERSION = " << CUDA_VERSION << " = version " - << CUDA_VERSION / 1000 << "." << (CUDA_VERSION % 1000) / 10 << std::endl; + << CUDA_VERSION / 1000 << "." << (CUDA_VERSION % 1000) / 10 << '\n'; #endif for (int i = 0; i < dev_info.m_cudaDevCount; ++i) { @@ -274,7 +275,6 @@ CudaInternal::~CudaInternal() { m_scratchConcurrentBitset) { std::cerr << "Kokkos::Cuda ERROR: Failed to call Kokkos::Cuda::finalize()" << std::endl; - std::cerr.flush(); } m_cudaDev = -1; @@ -358,8 +358,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { if (m_cudaArch == 0) { std::stringstream ss; - ss << "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture" - << std::endl; + ss << "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"; std::string msg = ss.str(); Kokkos::abort(msg.c_str()); } @@ -373,7 +372,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { "compute capability " << compiled_major << "." << compiled_minor << " on device with compute capability " << cudaProp.major << "." - << cudaProp.minor << " is not supported by CUDA!" << std::endl; + << cudaProp.minor << " is not supported by CUDA!\n"; std::string msg = ss.str(); Kokkos::abort(msg.c_str()); } @@ -458,7 +457,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { Kokkos::Impl::SharedAllocationRecord; Record *const r = - Record::allocate(Kokkos::CudaSpace(), "InternalScratchBitset", + Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchBitset", sizeof(uint32_t) * buffer_bound); Record::increment(r); @@ -492,17 +491,11 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { #ifdef KOKKOS_ENABLE_CUDA_UVM if (Kokkos::show_warnings() && !cuda_launch_blocking()) { - std::cerr << "Kokkos::Cuda::initialize WARNING: Cuda is allocating into " - "UVMSpace by default" - << std::endl; - std::cerr << " without setting " - "CUDA_LAUNCH_BLOCKING=1." - << std::endl; - std::cerr << " The code must call " - "Cuda().fence() after each kernel" - << std::endl; - std::cerr << " or will likely crash when " - "accessing data on the host." + std::cerr << R"warning( +Kokkos::Cuda::initialize WARNING: Cuda is allocating into UVMSpace by default + without setting CUDA_LAUNCH_BLOCKING=1. + The code must call Cuda().fence() after each kernel + or will likely crash when accessing data on the host.)warning" << std::endl; } @@ -520,19 +513,13 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { if (Kokkos::show_warnings() && (!visible_devices_one && !force_device_alloc)) { - std::cerr << "Kokkos::Cuda::initialize WARNING: Cuda is allocating into " - "UVMSpace by default" + std::cerr << R"warning( +Kokkos::Cuda::initialize WARNING: Cuda is allocating into UVMSpace by default + without setting CUDA_MANAGED_FORCE_DEVICE_ALLOC=1 or + setting CUDA_VISIBLE_DEVICES. + This could on multi GPU systems lead to severe performance" + penalties.)warning" << std::endl; - std::cerr << " without setting " - "CUDA_MANAGED_FORCE_DEVICE_ALLOC=1 or " - << std::endl; - std::cerr - << " setting CUDA_VISIBLE_DEVICES." - << std::endl; - std::cerr << " This could on multi GPU " - "systems lead to severe performance" - << std::endl; - std::cerr << " penalties." << std::endl; } #endif @@ -575,7 +562,7 @@ Cuda::size_type *CudaInternal::scratch_flags(const Cuda::size_type size) const { if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); Record *const r = - Record::allocate(Kokkos::CudaSpace(), "InternalScratchFlags", + Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchFlags", (sizeof(ScratchGrain) * m_scratchFlagsCount)); Record::increment(r); @@ -600,7 +587,7 @@ Cuda::size_type *CudaInternal::scratch_space(const Cuda::size_type size) const { if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); Record *const r = - Record::allocate(Kokkos::CudaSpace(), "InternalScratchSpace", + Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchSpace", (sizeof(ScratchGrain) * m_scratchSpaceCount)); Record::increment(r); @@ -624,7 +611,7 @@ Cuda::size_type *CudaInternal::scratch_unified( Record::decrement(Record::get_record(m_scratchUnified)); Record *const r = Record::allocate( - Kokkos::CudaHostPinnedSpace(), "InternalScratchUnified", + Kokkos::CudaHostPinnedSpace(), "Kokkos::InternalScratchUnified", (sizeof(ScratchGrain) * m_scratchUnifiedCount)); Record::increment(r); @@ -646,8 +633,9 @@ Cuda::size_type *CudaInternal::scratch_functor( if (m_scratchFunctor) Record::decrement(Record::get_record(m_scratchFunctor)); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "InternalScratchFunctor", m_scratchFunctorSize); + Record *const r = + Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchFunctor", + m_scratchFunctorSize); Record::increment(r); @@ -662,7 +650,7 @@ void *CudaInternal::resize_team_scratch_space(std::int64_t bytes, if (m_team_scratch_current_size == 0) { m_team_scratch_current_size = bytes; m_team_scratch_ptr = Kokkos::kokkos_malloc( - "CudaSpace::ScratchMemory", m_team_scratch_current_size); + "Kokkos::CudaSpace::TeamScratchMemory", m_team_scratch_current_size); } if ((bytes > m_team_scratch_current_size) || ((bytes < m_team_scratch_current_size) && (force_shrink))) { @@ -676,6 +664,9 @@ void *CudaInternal::resize_team_scratch_space(std::int64_t bytes, //---------------------------------------------------------------------------- void CudaInternal::finalize() { + // skip if finalize() has already been called + if (was_finalized) return; + was_finalized = true; if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { // Only finalize this if we're the singleton @@ -719,6 +710,11 @@ void CudaInternal::finalize() { if (this == &singleton()) { cudaFreeHost(constantMemHostStaging); cudaEventDestroy(constantMemReusable); + auto &deep_copy_space = + Kokkos::Impl::cuda_get_deep_copy_space(/*initialize*/ false); + if (deep_copy_space) + deep_copy_space->impl_internal_space_instance()->finalize(); + cudaStreamDestroy(cuda_get_deep_copy_stream()); } } @@ -821,62 +817,23 @@ Cuda::size_type Cuda::device_arch() { void Cuda::impl_finalize() { Impl::CudaInternal::singleton().finalize(); } Cuda::Cuda() - : m_space_instance(&Impl::CudaInternal::singleton()), m_counter(nullptr) { + : m_space_instance(&Impl::CudaInternal::singleton(), + [](Impl::CudaInternal *) {}) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); } Cuda::Cuda(cudaStream_t stream) - : m_space_instance(new Impl::CudaInternal), m_counter(new int(1)) { + : m_space_instance(new Impl::CudaInternal, [](Impl::CudaInternal *ptr) { + ptr->finalize(); + delete ptr; + }) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); m_space_instance->initialize(Impl::CudaInternal::singleton().m_cudaDev, stream); } -KOKKOS_FUNCTION Cuda::Cuda(Cuda &&other) noexcept { - m_space_instance = other.m_space_instance; - other.m_space_instance = nullptr; - m_counter = other.m_counter; - other.m_counter = nullptr; -} - -KOKKOS_FUNCTION Cuda::Cuda(const Cuda &other) - : m_space_instance(other.m_space_instance), m_counter(other.m_counter) { -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA - if (m_counter) Kokkos::atomic_add(m_counter, 1); -#endif -} - -KOKKOS_FUNCTION Cuda &Cuda::operator=(Cuda &&other) noexcept { - m_space_instance = other.m_space_instance; - other.m_space_instance = nullptr; - m_counter = other.m_counter; - other.m_counter = nullptr; - return *this; -} - -KOKKOS_FUNCTION Cuda &Cuda::operator=(const Cuda &other) { - m_space_instance = other.m_space_instance; - m_counter = other.m_counter; -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA - if (m_counter) Kokkos::atomic_add(m_counter, 1); -#endif - return *this; -} - -KOKKOS_FUNCTION Cuda::~Cuda() noexcept { -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA - if (m_counter == nullptr) return; - int const count = Kokkos::atomic_fetch_sub(m_counter, 1); - if (count == 1) { - delete m_counter; - m_space_instance->finalize(); - delete m_space_instance; - } -#endif -} - void Cuda::print_configuration(std::ostream &s, const bool) { Impl::CudaInternal::singleton().print_configuration(s); } @@ -924,54 +881,53 @@ void CudaSpaceInitializer::fence() { Kokkos::Cuda::impl_static_fence(); } void CudaSpaceInitializer::print_configuration(std::ostream &msg, const bool detail) { - msg << "Device Execution Space:" << std::endl; - msg << " KOKKOS_ENABLE_CUDA: "; - msg << "yes" << std::endl; + msg << "Device Execution Space:\n"; + msg << " KOKKOS_ENABLE_CUDA: yes\n"; - msg << "Cuda Atomics:" << std::endl; + msg << "Cuda Atomics:\n"; msg << " KOKKOS_ENABLE_CUDA_ATOMICS: "; #ifdef KOKKOS_ENABLE_CUDA_ATOMICS - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif - msg << "Cuda Options:" << std::endl; + msg << "Cuda Options:\n"; msg << " KOKKOS_ENABLE_CUDA_LAMBDA: "; #ifdef KOKKOS_ENABLE_CUDA_LAMBDA - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << " KOKKOS_ENABLE_CUDA_LDG_INTRINSIC: "; #ifdef KOKKOS_ENABLE_CUDA_LDG_INTRINSIC - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << " KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE: "; #ifdef KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << " KOKKOS_ENABLE_CUDA_UVM: "; #ifdef KOKKOS_ENABLE_CUDA_UVM - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << " KOKKOS_ENABLE_CUSPARSE: "; #ifdef KOKKOS_ENABLE_CUSPARSE - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << " KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA: "; #ifdef KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA - msg << "yes" << std::endl; + msg << "yes\n"; #else - msg << "no" << std::endl; + msg << "no\n"; #endif msg << "\nCuda Runtime Configuration:" << std::endl; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp index 13773d70c5..aaec2c2926 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp @@ -17,30 +17,24 @@ namespace Kokkos { namespace Impl { struct CudaTraits { - enum : CudaSpace::size_type { WarpSize = 32 /* 0x0020 */ }; - enum : CudaSpace::size_type { - WarpIndexMask = 0x001f /* Mask for warpindex */ - }; - enum : CudaSpace::size_type { - WarpIndexShift = 5 /* WarpSize == 1 << WarpShift */ - }; + static constexpr CudaSpace::size_type WarpSize = 32 /* 0x0020 */; + static constexpr CudaSpace::size_type WarpIndexMask = + 0x001f; /* Mask for warpindex */ + static constexpr CudaSpace::size_type WarpIndexShift = + 5; /* WarpSize == 1 << WarpShift */ - enum : CudaSpace::size_type { - ConstantMemoryUsage = 0x008000 /* 32k bytes */ - }; - enum : CudaSpace::size_type { - ConstantMemoryCache = 0x002000 /* 8k bytes */ - }; - enum : CudaSpace::size_type { - KernelArgumentLimit = 0x001000 /* 4k bytes */ - }; - enum : CudaSpace::size_type { - MaxHierarchicalParallelism = 1024 /* team_size * vector_length */ - }; + static constexpr CudaSpace::size_type ConstantMemoryUsage = + 0x008000; /* 32k bytes */ + static constexpr CudaSpace::size_type ConstantMemoryCache = + 0x002000; /* 8k bytes */ + static constexpr CudaSpace::size_type KernelArgumentLimit = + 0x001000; /* 4k bytes */ + static constexpr CudaSpace::size_type MaxHierarchicalParallelism = + 1024; /* team_size * vector_length */ using ConstantGlobalBufferType = unsigned long[ConstantMemoryUsage / sizeof(unsigned long)]; - enum { ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */ }; + static constexpr int ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */; KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_count( CudaSpace::size_type i) { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp index 39404e0bf3..d892a893b3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp @@ -158,6 +158,9 @@ inline void check_shmem_request(CudaInternal const* cuda_instance, int shmem) { } } +// This function needs to be template on DriverType and LaunchBounds +// so that the static bool is unique for each type combo +// KernelFuncPtr does not necessarily contain that type information. template inline void configure_shmem_preference(KernelFuncPtr const& func, bool prefer_shmem) { @@ -355,8 +358,7 @@ struct CudaParallelLaunchKernelInvoker< if (!Impl::is_empty_launch(grid, block)) { Impl::check_shmem_request(cuda_instance, shmem); - Impl::configure_shmem_preference( + Impl::configure_shmem_preference( base_t::get_kernel_func(), prefer_shmem); void const* args[] = {&driver}; @@ -449,8 +451,7 @@ struct CudaParallelLaunchKernelInvoker< if (!Impl::is_empty_launch(grid, block)) { Impl::check_shmem_request(cuda_instance, shmem); - Impl::configure_shmem_preference( + Impl::configure_shmem_preference( base_t::get_kernel_func(), prefer_shmem); auto* driver_ptr = Impl::allocate_driver_storage_for_kernel(driver); @@ -627,9 +628,8 @@ struct CudaParallelLaunchImpl< get_cuda_func_attributes(), block, shmem, prefer_shmem); Impl::configure_shmem_preference< - DriverType, Kokkos::LaunchBounds, - decltype(base_t::get_kernel_func())>(base_t::get_kernel_func(), - prefer_shmem); + DriverType, Kokkos::LaunchBounds>( + base_t::get_kernel_func(), prefer_shmem); KOKKOS_ENSURE_CUDA_LOCK_ARRAYS_ON_DEVICE(); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp new file mode 100644 index 0000000000..12b7f70a97 --- /dev/null +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp @@ -0,0 +1,37 @@ +#ifndef KOKKOS_CUDA_MDRANGEPOLICY_HPP_ +#define KOKKOS_CUDA_MDRANGEPOLICY_HPP_ + +#include + +namespace Kokkos { + +template <> +struct default_outer_direction { + using type = Iterate; + static constexpr Iterate value = Iterate::Left; +}; + +template <> +struct default_inner_direction { + using type = Iterate; + static constexpr Iterate value = Iterate::Left; +}; + +namespace Impl { + +// Settings for MDRangePolicy +template <> +inline TileSizeProperties get_tile_size_properties( + const Kokkos::Cuda& space) { + TileSizeProperties properties; + properties.max_threads = + space.impl_internal_space_instance()->m_maxThreadsPerSM; + properties.default_largest_tile_size = 16; + properties.default_tile_size = 2; + properties.max_total_tile_size = 512; + return properties; +} + +} // Namespace Impl +} // Namespace Kokkos +#endif diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp index 131d180980..2834e6f3de 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -67,6 +68,7 @@ #include #include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -474,7 +476,7 @@ class ParallelFor, Kokkos::Cuda> { Policy const& get_policy() const { return m_policy; } - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { const Member work_stride = blockDim.y * gridDim.x; const Member work_end = m_policy.end(); @@ -537,9 +539,23 @@ class ParallelFor, Kokkos::Cuda> { const Policy m_rp; public: + template + static int max_tile_size_product(const Policy& pol, const Functor&) { + cudaFuncAttributes attr = + CudaParallelLaunch::get_cuda_func_attributes(); + auto const& prop = pol.space().cuda_device_prop(); + // Limits due to registers/SM, MDRange doesn't have + // shared memory constraints + int const regs_per_sm = prop.regsPerMultiprocessor; + int const regs_per_thread = attr.numRegs; + int const max_threads_per_sm = regs_per_sm / regs_per_thread; + return std::min( + max_threads_per_sm, + static_cast(Kokkos::Impl::CudaTraits::MaxHierarchicalParallelism)); + } Policy const& get_policy() const { return m_rp; } - - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { Kokkos::Impl::DeviceIterateTile(m_rp, m_functor) .exec_range(); @@ -689,7 +705,7 @@ class ParallelFor, public: Policy const& get_policy() const { return m_policy; } - __device__ inline void operator()(void) const { + __device__ inline void operator()() const { // Iterate this block through the league int64_t threadid = 0; if (m_scratch_size[1] > 0) { @@ -1248,8 +1264,21 @@ class ParallelReduce, ReducerType, using DummySHMEMReductionType = int; public: + template + static int max_tile_size_product(const Policy& pol, const Functor&) { + cudaFuncAttributes attr = + CudaParallelLaunch::get_cuda_func_attributes(); + auto const& prop = pol.space().cuda_device_prop(); + // Limits due do registers/SM + int const regs_per_sm = prop.regsPerMultiprocessor; + int const regs_per_thread = attr.numRegs; + int const max_threads_per_sm = regs_per_sm / regs_per_thread; + return std::min( + max_threads_per_sm, + static_cast(Kokkos::Impl::CudaTraits::MaxHierarchicalParallelism)); + } Policy const& get_policy() const { return m_policy; } - inline __device__ void exec_range(reference_type update) const { Kokkos::Impl::Reduce::DeviceIterateTile, ReducerType, .exec_range(); } - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { /* run(Kokkos::Impl::if_c::select(1,1.0) ); } @@ -2074,7 +2103,7 @@ class ParallelScan, Kokkos::Cuda> { //---------------------------------------- - __device__ inline void initial(void) const { + __device__ inline void initial() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -2110,7 +2139,7 @@ class ParallelScan, Kokkos::Cuda> { //---------------------------------------- - __device__ inline void final(void) const { + __device__ inline void final() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -2195,7 +2224,7 @@ class ParallelScan, Kokkos::Cuda> { //---------------------------------------- - __device__ inline void operator()(void) const { + __device__ inline void operator()() const { #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION if (m_run_serial) { typename ValueTraits::value_type value; @@ -2364,7 +2393,7 @@ class ParallelScanWithTotal, //---------------------------------------- - __device__ inline void initial(void) const { + __device__ inline void initial() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -2400,7 +2429,7 @@ class ParallelScanWithTotal, //---------------------------------------- - __device__ inline void final(void) const { + __device__ inline void final() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -2487,7 +2516,7 @@ class ParallelScanWithTotal, //---------------------------------------- - __device__ inline void operator()(void) const { + __device__ inline void operator()() const { #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION if (m_run_serial) { typename ValueTraits::value_type value; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp index 4b472f5d4f..e780639015 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp @@ -661,13 +661,14 @@ KOKKOS_INLINE_FUNCTION thread, count); } -template -KOKKOS_INLINE_FUNCTION - Impl::ThreadVectorRangeBoundariesStruct - ThreadVectorRange(const Impl::CudaTeamMember& thread, iType arg_begin, - iType arg_end) { +template +KOKKOS_INLINE_FUNCTION Impl::ThreadVectorRangeBoundariesStruct< + typename std::common_type::type, Impl::CudaTeamMember> +ThreadVectorRange(const Impl::CudaTeamMember& thread, iType1 arg_begin, + iType2 arg_end) { + using iType = typename std::common_type::type; return Impl::ThreadVectorRangeBoundariesStruct( - thread, arg_begin, arg_end); + thread, iType(arg_begin), iType(arg_end)); } KOKKOS_INLINE_FUNCTION @@ -983,7 +984,7 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( //---------------------------------------------------------------------------- -/** \brief Intra-thread vector parallel exclusive prefix sum. +/** \brief Intra-thread vector parallel scan with reducer. * * Executes closure(iType i, ValueType & val, bool final) for each i=[0..N) * @@ -991,25 +992,25 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( * thread and a scan operation is performed. * The last call to closure has final == true. */ -template -KOKKOS_INLINE_FUNCTION void parallel_scan( - const Impl::ThreadVectorRangeBoundariesStruct& - loop_boundaries, - const Closure& closure) { +template +KOKKOS_INLINE_FUNCTION + typename std::enable_if::value>::type + parallel_scan(const Impl::ThreadVectorRangeBoundariesStruct< + iType, Impl::CudaTeamMember>& loop_boundaries, + const Closure& closure, const ReducerType& reducer) { (void)loop_boundaries; (void)closure; + (void)reducer; #ifdef __CUDA_ARCH__ - // Extract value_type from closure - - using value_type = typename Kokkos::Impl::FunctorAnalysis< - Kokkos::Impl::FunctorPatternInterface::SCAN, void, Closure>::value_type; + using value_type = typename ReducerType::value_type; + value_type accum; + reducer.init(accum); + const value_type identity = accum; // Loop through boundaries by vector-length chunks // must scan at each iteration - value_type accum = 0; - // All thread "lanes" must loop the same number of times. // Determine an loop end for all thread "lanes." // Requires: @@ -1026,44 +1027,68 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( const int end = loop_boundaries.end + (rem ? blockDim.x - rem : 0); for (int i = threadIdx.x; i < end; i += blockDim.x) { - value_type val = 0; + value_type val = identity; - // First acquire per-lane contributions: - if (i < loop_boundaries.end) closure(i, val, false); + // First acquire per-lane contributions. + // This sets i's val to i-1's contribution + // to make the latter in_place_shfl_up an + // exclusive scan -- the final accumulation + // of i's val will be included in the second + // closure call later. + if (i < loop_boundaries.end && threadIdx.x > 0) closure(i - 1, val, false); - value_type sval = val; - - // Bottom up inclusive scan in triangular pattern + // Bottom up exclusive scan in triangular pattern // where each CUDA thread is the root of a reduction tree // from the zeroth "lane" to itself. // [t] += [t-1] if t >= 1 // [t] += [t-2] if t >= 2 // [t] += [t-4] if t >= 4 // ... - + // This differs from the non-reducer overload, where an inclusive scan was + // implemented, because in general the binary operator cannot be inverted + // and we would not be able to remove the inclusive contribution by + // inversion. for (int j = 1; j < (int)blockDim.x; j <<= 1) { - value_type tmp = 0; - Impl::in_place_shfl_up(tmp, sval, j, blockDim.x, active_mask); + value_type tmp = identity; + Impl::in_place_shfl_up(tmp, val, j, blockDim.x, active_mask); if (j <= (int)threadIdx.x) { - sval += tmp; + reducer.join(val, tmp); } } - // Include accumulation and remove value for exclusive scan: - val = accum + sval - val; + // Include accumulation + reducer.join(val, accum); - // Provide exclusive scan value: + // Update i's contribution into the val + // and add it to accum for next round if (i < loop_boundaries.end) closure(i, val, true); - - // Accumulate the last value in the inclusive scan: - Impl::in_place_shfl(sval, sval, mask, blockDim.x, active_mask); - - accum += sval; + Impl::in_place_shfl(accum, val, mask, blockDim.x, active_mask); } #endif } +//---------------------------------------------------------------------------- + +/** \brief Intra-thread vector parallel exclusive prefix sum. + * + * Executes closure(iType i, ValueType & val, bool final) for each i=[0..N) + * + * The range [0..N) is mapped to all vector lanes in the + * thread and a scan operation is performed. + * The last call to closure has final == true. + */ +template +KOKKOS_INLINE_FUNCTION void parallel_scan( + const Impl::ThreadVectorRangeBoundariesStruct& + loop_boundaries, + const Closure& closure) { + using value_type = typename Kokkos::Impl::FunctorAnalysis< + Kokkos::Impl::FunctorPatternInterface::SCAN, void, Closure>::value_type; + value_type dummy; + parallel_scan(loop_boundaries, closure, Kokkos::Sum(dummy)); +} + } // namespace Kokkos namespace Kokkos { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp index f24abb377d..c55956ede9 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp @@ -139,7 +139,7 @@ struct CudaLDGFetch { template KOKKOS_INLINE_FUNCTION ValueType operator[](const iType& i) const { -#ifdef __CUDA_ARCH__ +#if defined(__CUDA_ARCH__) && (350 <= _CUDA_ARCH__) AliasType v = __ldg(reinterpret_cast(&m_ptr[i])); return *(reinterpret_cast(&v)); #else diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp index 05876a9f02..fc52e41514 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp @@ -46,6 +46,7 @@ #define KOKKOS_CUDA_WORKGRAPHPOLICY_HPP #include +#include namespace Kokkos { namespace Impl { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp index 89135b6c45..9278d1bdc9 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp @@ -75,17 +75,6 @@ void hipOccupancy(int *numBlocks, int blockSize, int sharedmem) { hipOccupancy( numBlocks, blockSize, sharedmem); } -template -struct HIPGetMaxBlockSize; - -template -int hip_get_max_block_size(typename DriverType::functor_type const &f, - size_t const vector_length, - size_t const shmem_extra_block, - size_t const shmem_extra_thread) { - return HIPGetMaxBlockSize::get_block_size( - f, vector_length, shmem_extra_block, shmem_extra_thread); -} template int hip_internal_get_block_size(const F &condition_check, @@ -131,10 +120,6 @@ int hip_internal_get_block_size(const F &condition_check, int opt_block_size = (blocks_per_sm >= min_blocks_per_sm) ? block_size : min_blocks_per_sm; int opt_threads_per_sm = threads_per_sm; - // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i - // Achieved: %i %i Opt: %i %i\n",block_size, - // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, - // regs_per_sm,regs_per_wavefront,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); block_size -= HIPTraits::WarpSize; while (condition_check(blocks_per_sm) && (block_size >= HIPTraits::WarpSize)) { @@ -160,10 +145,6 @@ int hip_internal_get_block_size(const F &condition_check, opt_threads_per_sm = threads_per_sm; } } - // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i - // Achieved: %i %i Opt: %i %i\n",block_size, - // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, - // regs_per_sm,regs_per_wavefront,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); block_size -= HIPTraits::WarpSize; } return opt_block_size; @@ -178,62 +159,6 @@ int hip_get_max_block_size(const HIPInternal *hip_instance, [](int x) { return x == 0; }, hip_instance, attr, f, vector_length, shmem_block, shmem_thread); } -template -struct HIPGetMaxBlockSize { - static int get_block_size(typename DriverType::functor_type const &f, - size_t const vector_length, - size_t const shmem_extra_block, - size_t const shmem_extra_thread) { - int numBlocks = 0; - int blockSize = LaunchBounds::maxTperB == 0 ? 1024 : LaunchBounds::maxTperB; - int sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - - hipOccupancy(&numBlocks, blockSize, sharedmem); - - if (numBlocks > 0) return blockSize; - while (blockSize > HIPTraits::WarpSize && numBlocks == 0) { - blockSize /= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - - hipOccupancy(&numBlocks, blockSize, sharedmem); - } - int blockSizeUpperBound = blockSize * 2; - while (blockSize < blockSizeUpperBound && numBlocks > 0) { - blockSize += HIPTraits::WarpSize; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - - hipOccupancy(&numBlocks, blockSize, sharedmem); - } - return blockSize - HIPTraits::WarpSize; - } -}; - -template -struct HIPGetOptBlockSize; - -template -int hip_get_opt_block_size(typename DriverType::functor_type const &f, - size_t const vector_length, - size_t const shmem_extra_block, - size_t const shmem_extra_thread) { - return HIPGetOptBlockSize< - DriverType, LaunchBounds, - (HIPTraits::ConstantMemoryUseThreshold < - sizeof(DriverType))>::get_block_size(f, vector_length, shmem_extra_block, - shmem_extra_thread); -} template int hip_get_opt_block_size(HIPInternal const *hip_instance, @@ -245,157 +170,6 @@ int hip_get_opt_block_size(HIPInternal const *hip_instance, shmem_block, shmem_thread); } -// FIXME_HIP the code is identical to the false struct except for -// hip_parallel_launch_constant_memory -template -struct HIPGetOptBlockSize, true> { - static int get_block_size(typename DriverType::functor_type const &f, - size_t const vector_length, - size_t const shmem_extra_block, - size_t const shmem_extra_thread) { - int blockSize = HIPTraits::WarpSize / 2; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - - while (blockSize < HIPTraits::MaxThreadsPerBlock) { - blockSize *= 2; - - // calculate the occupancy with that optBlockSize and check whether its - // larger than the largest one found so far - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - hipOccupancy(&numBlocks, blockSize, sharedmem); - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - return bestBlockSize; - } -}; - -template -struct HIPGetOptBlockSize, false> { - static int get_block_size(const typename DriverType::functor_type &f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = HIPTraits::WarpSize / 2; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - - while (blockSize < HIPTraits::MaxThreadsPerBlock) { - blockSize *= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - - hipOccupancy(&numBlocks, blockSize, sharedmem); - - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - return bestBlockSize; - } -}; - -// FIXME_HIP the code is identical to the false struct except for -// hip_parallel_launch_constant_memory -template -struct HIPGetOptBlockSize< - DriverType, Kokkos::LaunchBounds, - true> { - static int get_block_size(const typename DriverType::functor_type &f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = HIPTraits::WarpSize / 2; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - int max_threads_per_block = - std::min(MaxThreadsPerBlock, - hip_internal_maximum_warp_count() * HIPTraits::WarpSize); - - while (blockSize < max_threads_per_block) { - blockSize *= 2; - - // calculate the occupancy with that optBlockSize and check whether its - // larger than the largest one found so far - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - hipOccupancy( - &numBlocks, blockSize, sharedmem); - if (numBlocks >= static_cast(MinBlocksPerSM) && - blockSize <= static_cast(MaxThreadsPerBlock)) { - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - } - if (maxOccupancy > 0) return bestBlockSize; - return -1; - } -}; - -template -struct HIPGetOptBlockSize< - DriverType, Kokkos::LaunchBounds, - false> { - static int get_block_size(const typename DriverType::functor_type &f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = HIPTraits::WarpSize / 2; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - int max_threads_per_block = - std::min(MaxThreadsPerBlock, - hip_internal_maximum_warp_count() * HIPTraits::WarpSize); - - while (blockSize < max_threads_per_block) { - blockSize *= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - ::Kokkos::Impl::FunctorTeamShmemSize< - typename DriverType::functor_type>::value(f, blockSize / - vector_length); - - hipOccupancy( - &numBlocks, blockSize, sharedmem); - if (numBlocks >= int(MinBlocksPerSM) && - blockSize <= int(MaxThreadsPerBlock)) { - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - } - if (maxOccupancy > 0) return bestBlockSize; - return -1; - } -}; - } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 45512038ac..18ef10e22c 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -164,6 +164,8 @@ HIPInternal &HIPInternal::singleton() { void HIPInternal::fence() const { HIP_SAFE_CALL(hipStreamSynchronize(m_stream)); + // can reset our cycle id now as well + m_cycleId = 0; } void HIPInternal::initialize(int hip_device_id, hipStream_t stream) { @@ -256,7 +258,7 @@ void HIPInternal::initialize(int hip_device_id, hipStream_t stream) { void>; Record *const r = Record::allocate(Kokkos::Experimental::HIPSpace(), - "InternalScratchBitset", + "Kokkos::InternalScratchBitset", sizeof(uint32_t) * buffer_bound); Record::increment(r); @@ -303,8 +305,10 @@ Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_space( Kokkos::Impl::SharedAllocationRecord; - static Record *const r = Record::allocate( - Kokkos::Experimental::HIPSpace(), "InternalScratchSpace", + if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); + + Record *const r = Record::allocate( + Kokkos::Experimental::HIPSpace(), "Kokkos::InternalScratchSpace", (sizeScratchGrain * m_scratchSpaceCount)); Record::increment(r); @@ -325,8 +329,10 @@ Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_flags( Kokkos::Impl::SharedAllocationRecord; + if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); + Record *const r = Record::allocate( - Kokkos::Experimental::HIPSpace(), "InternalScratchFlags", + Kokkos::Experimental::HIPSpace(), "Kokkos::InternalScratchFlags", (sizeScratchGrain * m_scratchFlagsCount)); Record::increment(r); @@ -345,7 +351,7 @@ void *HIPInternal::resize_team_scratch_space(std::int64_t bytes, if (m_team_scratch_current_size == 0) { m_team_scratch_current_size = bytes; m_team_scratch_ptr = Kokkos::kokkos_malloc( - "HIPSpace::ScratchMemory", m_team_scratch_current_size); + "Kokkos::HIPSpace::TeamScratchMemory", m_team_scratch_current_size); } if ((bytes > m_team_scratch_current_size) || ((bytes < m_team_scratch_current_size) && (force_shrink))) { @@ -388,6 +394,40 @@ void HIPInternal::finalize() { m_team_scratch_current_size = 0; m_team_scratch_ptr = nullptr; } + if (nullptr != d_driverWorkArray) { + HIP_SAFE_CALL(hipHostFree(d_driverWorkArray)); + d_driverWorkArray = nullptr; + } +} + +char *HIPInternal::get_next_driver(size_t driverTypeSize) const { + std::lock_guard const lock(m_mutexWorkArray); + if (d_driverWorkArray == nullptr) { + HIP_SAFE_CALL( + hipHostMalloc(&d_driverWorkArray, + m_maxDriverCycles * m_maxDriverTypeSize * sizeof(char), + hipHostMallocNonCoherent)); + } + if (driverTypeSize > m_maxDriverTypeSize) { + // fence handles the cycle id reset for us + fence(); + HIP_SAFE_CALL(hipHostFree(d_driverWorkArray)); + m_maxDriverTypeSize = driverTypeSize; + if (m_maxDriverTypeSize % 128 != 0) + m_maxDriverTypeSize = + m_maxDriverTypeSize + 128 - m_maxDriverTypeSize % 128; + HIP_SAFE_CALL( + hipHostMalloc(&d_driverWorkArray, + m_maxDriverCycles * m_maxDriverTypeSize * sizeof(char), + hipHostMallocNonCoherent)); + } else { + m_cycleId = (m_cycleId + 1) % m_maxDriverCycles; + if (m_cycleId == 0) { + // ensure any outstanding kernels are completed before we wrap around + fence(); + } + } + return &d_driverWorkArray[m_maxDriverTypeSize * m_cycleId]; } //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index 07ec8625e6..f4f88628e3 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -49,6 +49,8 @@ #include +#include + namespace Kokkos { namespace Experimental { namespace Impl { @@ -83,33 +85,46 @@ class HIPInternal { public: using size_type = ::Kokkos::Experimental::HIP::size_type; - int m_hipDev; - int m_hipArch; - unsigned m_multiProcCount; - unsigned m_maxWarpCount; - unsigned m_maxBlock; - unsigned m_maxBlocksPerSM; - unsigned m_maxSharedWords; + int m_hipDev = -1; + int m_hipArch = -1; + unsigned m_multiProcCount = 0; + unsigned m_maxWarpCount = 0; + unsigned m_maxBlock = 0; + unsigned m_maxBlocksPerSM = 0; + unsigned m_maxSharedWords = 0; int m_regsPerSM; - int m_shmemPerSM; - int m_maxShmemPerBlock; - int m_maxThreadsPerSM; + int m_shmemPerSM = 0; + int m_maxShmemPerBlock = 0; + int m_maxThreadsPerSM = 0; + + // array of DriverTypes to be allocated in host-pinned memory for async + // kernel launches + mutable char *d_driverWorkArray = nullptr; + // number of kernel launches that can be in-flight w/o synchronization + const int m_maxDriverCycles = 100; + // max size of a DriverType [bytes] + mutable size_t m_maxDriverTypeSize = 1024 * 10; + // the current index in the driverWorkArray + mutable int m_cycleId = 0; + // mutex to access d_driverWorkArray + mutable std::mutex m_mutexWorkArray; // Scratch Spaces for Reductions - size_type m_scratchSpaceCount; - size_type m_scratchFlagsCount; + size_type m_scratchSpaceCount = 0; + size_type m_scratchFlagsCount = 0; - size_type *m_scratchSpace; - size_type *m_scratchFlags; + size_type *m_scratchSpace = nullptr; + size_type *m_scratchFlags = nullptr; uint32_t *m_scratchConcurrentBitset = nullptr; hipDeviceProp_t m_deviceProp; - hipStream_t m_stream; + hipStream_t m_stream = nullptr; // Team Scratch Level 1 Space - mutable int64_t m_team_scratch_current_size; - mutable void *m_team_scratch_ptr; + mutable int64_t m_team_scratch_current_size = 0; + mutable void *m_team_scratch_ptr = nullptr; + mutable std::mutex m_team_scratch_mutex; bool was_finalized = false; @@ -117,9 +132,7 @@ class HIPInternal { int verify_is_initialized(const char *const label) const; - int is_initialized() const { - return m_hipDev >= 0; - } // 0 != m_scratchSpace && 0 != m_scratchFlags ; } + int is_initialized() const { return m_hipDev >= 0; } void initialize(int hip_device_id, hipStream_t stream = nullptr); void finalize(); @@ -128,25 +141,12 @@ class HIPInternal { void fence() const; + // returns the next driver type pointer in our work array + char *get_next_driver(size_t driverTypeSize) const; + ~HIPInternal(); - HIPInternal() - : m_hipDev(-1), - m_hipArch(-1), - m_multiProcCount(0), - m_maxWarpCount(0), - m_maxBlock(0), - m_maxSharedWords(0), - m_shmemPerSM(0), - m_maxShmemPerBlock(0), - m_maxThreadsPerSM(0), - m_scratchSpaceCount(0), - m_scratchFlagsCount(0), - m_scratchSpace(nullptr), - m_scratchFlags(nullptr), - m_stream(nullptr), - m_team_scratch_current_size(0), - m_team_scratch_ptr(nullptr) {} + HIPInternal() = default; // Resizing of reduction related scratch spaces size_type *scratch_space(const size_type size); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp index 3e972c7346..f774423b37 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp @@ -49,9 +49,9 @@ #if defined(__HIPCC__) -#include #include #include +#include // Must use global variable on the device with HIP-Clang #ifdef __HIP__ @@ -127,19 +127,69 @@ struct HIPDispatchProperties { HIPLaunchMechanism launch_mechanism = l; }; -template , +template +struct HIPParallelLaunchKernelFunc; + +template +struct HIPParallelLaunchKernelFunc< + DriverType, Kokkos::LaunchBounds, + HIPLaunchMechanism::LocalMemory> { + static auto get_kernel_func() { + return hip_parallel_launch_local_memory; + } +}; + +template +struct HIPParallelLaunchKernelFunc, + HIPLaunchMechanism::LocalMemory> { + static auto get_kernel_func() { + return hip_parallel_launch_local_memory; + } +}; + +template +struct HIPParallelLaunchKernelInvoker; + +template +struct HIPParallelLaunchKernelInvoker + : HIPParallelLaunchKernelFunc { + using base_t = HIPParallelLaunchKernelFunc; + + static void invoke_kernel(DriverType const *driver, dim3 const &grid, + dim3 const &block, int shmem, + HIPInternal const *hip_instance) { + (base_t::get_kernel_func())<<m_stream>>>( + driver); + } +}; + +template , HIPLaunchMechanism LaunchMechanism = HIPLaunchMechanism::LocalMemory> struct HIPParallelLaunch; -template struct HIPParallelLaunch< DriverType, Kokkos::LaunchBounds, - HIPLaunchMechanism::LocalMemory> { - inline HIPParallelLaunch(const DriverType &driver, const dim3 &grid, - const dim3 &block, const int shmem, - const HIPInternal *hip_instance, - const bool /*prefer_shmem*/) { + HIPLaunchMechanism::LocalMemory> + : HIPParallelLaunchKernelInvoker< + DriverType, Kokkos::LaunchBounds, + HIPLaunchMechanism::LocalMemory> { + using base_t = HIPParallelLaunchKernelInvoker< + DriverType, Kokkos::LaunchBounds, + HIPLaunchMechanism::LocalMemory>; + + HIPParallelLaunch(const DriverType &driver, const dim3 &grid, + const dim3 &block, const int shmem, + const HIPInternal *hip_instance, + const bool /*prefer_shmem*/) { if ((grid.x != 0) && ((block.x * block.y * block.z) != 0)) { if (hip_instance->m_maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception( @@ -148,72 +198,16 @@ struct HIPParallelLaunch< KOKKOS_ENSURE_HIP_LOCK_ARRAYS_ON_DEVICE(); - // FIXME_HIP -- there is currently an error copying (some) structs - // by value to the device in HIP-Clang / VDI - // As a workaround, we can malloc the DriverType and explictly copy over. - // To remove once solved in HIP - DriverType *d_driver; - HIP_SAFE_CALL(hipMalloc(&d_driver, sizeof(DriverType))); - HIP_SAFE_CALL(hipMemcpyAsync(d_driver, &driver, sizeof(DriverType), - hipMemcpyHostToDevice, - hip_instance->m_stream)); - hip_parallel_launch_local_memory - <<m_stream>>>(d_driver); - -#if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) - HIP_SAFE_CALL(hipGetLastError()); - hip_instance->fence(); -#endif - HIP_SAFE_CALL(hipFree(d_driver)); - } - } - - static hipFuncAttributes get_hip_func_attributes() { - static hipFuncAttributes attr = []() { - hipFuncAttributes attr; - HIP_SAFE_CALL(hipFuncGetAttributes( - &attr, - reinterpret_cast( - hip_parallel_launch_local_memory))); - return attr; - }(); - return attr; - } -}; - -template -struct HIPParallelLaunch, - HIPLaunchMechanism::LocalMemory> { - inline HIPParallelLaunch(const DriverType &driver, const dim3 &grid, - const dim3 &block, const int shmem, - const HIPInternal *hip_instance, - const bool /*prefer_shmem*/) { - if ((grid.x != 0) && ((block.x * block.y * block.z) != 0)) { - if (hip_instance->m_maxShmemPerBlock < shmem) { - Kokkos::Impl::throw_runtime_exception(std::string( - "HIPParallelLaunch FAILED: shared memory request is too large")); - } - - KOKKOS_ENSURE_HIP_LOCK_ARRAYS_ON_DEVICE(); - // Invoke the driver function on the device - - // FIXME_HIP -- see note about struct copy by value above - DriverType *d_driver; - HIP_SAFE_CALL(hipMalloc(&d_driver, sizeof(DriverType))); - HIP_SAFE_CALL(hipMemcpyAsync(d_driver, &driver, sizeof(DriverType), - hipMemcpyHostToDevice, - hip_instance->m_stream)); - hip_parallel_launch_local_memory - <<m_stream>>>(d_driver); + DriverType *d_driver = reinterpret_cast( + hip_instance->get_next_driver(sizeof(DriverType))); + std::memcpy((void *)d_driver, (void *)&driver, sizeof(DriverType)); + base_t::invoke_kernel(d_driver, grid, block, shmem, hip_instance); #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) HIP_SAFE_CALL(hipGetLastError()); hip_instance->fence(); #endif - HIP_SAFE_CALL(hipFree(d_driver)); } } @@ -221,8 +215,7 @@ struct HIPParallelLaunch, static hipFuncAttributes attr = []() { hipFuncAttributes attr; HIP_SAFE_CALL(hipFuncGetAttributes( - &attr, reinterpret_cast( - hip_parallel_launch_local_memory))); + &attr, reinterpret_cast(base_t::get_kernel_func()))); return attr; }(); return attr; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_MDRangePolicy.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_MDRangePolicy.hpp new file mode 100644 index 0000000000..ce1aff9586 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_MDRangePolicy.hpp @@ -0,0 +1,37 @@ +#ifndef KOKKOS_HIP_MDRANGEPOLICY_HPP_ +#define KOKKOS_HIP_MDRANGEPOLICY_HPP_ + +#include + +namespace Kokkos { + +template <> +struct default_outer_direction { + using type = Iterate; + static constexpr Iterate value = Iterate::Left; +}; + +template <> +struct default_inner_direction { + using type = Iterate; + static constexpr Iterate value = Iterate::Left; +}; + +namespace Impl { + +// Settings for MDRangePolicy +template <> +inline TileSizeProperties get_tile_size_properties( + const Kokkos::Experimental::HIP& space) { + TileSizeProperties properties; + properties.max_threads = + space.impl_internal_space_instance()->m_maxThreadsPerSM; + properties.default_largest_tile_size = 16; + properties.default_tile_size = 4; + properties.max_total_tile_size = 1024; + return properties; +} + +} // Namespace Impl +} // Namespace Kokkos +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp index 6b831ff7a3..35e7d6fb85 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp @@ -49,6 +49,7 @@ #include #include #include +#include #include namespace Kokkos { @@ -72,7 +73,7 @@ class ParallelFor, ParallelFor& operator=(ParallelFor const&) = delete; public: - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { Kokkos::Impl::DeviceIterateTile(m_policy, m_functor) @@ -175,6 +176,25 @@ class ParallelFor, ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) : m_functor(arg_functor), m_policy(arg_policy) {} + + template + static int max_tile_size_product(const Policy& pol, const Functor&) { + using closure_type = + ParallelFor, + Kokkos::Experimental::HIP>; + hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< + closure_type, LaunchBounds>::get_hip_func_attributes(); + auto const& prop = pol.space().hip_device_prop(); + // Limits due to registers/SM, MDRange doesn't have + // shared memory constraints + int const regs_per_sm = prop.regsPerMultiprocessor; + int const regs_per_thread = attr.numRegs; + int const max_threads_per_sm = regs_per_sm / regs_per_thread; + return std::min( + max_threads_per_sm, + static_cast( + Kokkos::Experimental::Impl::HIPTraits::MaxThreadsPerBlock)); + } }; // ParallelReduce @@ -231,7 +251,7 @@ class ParallelReduce, ReducerType, DeviceIteratePattern(m_policy, m_functor, update).exec_range(); } - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { const integral_nonzero_constant word_count(ValueTraits::value_size( @@ -291,13 +311,19 @@ class ParallelReduce, ReducerType, ::Kokkos::Experimental::Impl::HIPTraits::MaxThreadsPerBlock; int shmem_size = ::Kokkos::Impl::hip_single_inter_block_reduce_scan_shmem< false, FunctorType, WorkTag>(f, n); + using closure_type = Impl::ParallelReduce; + hipFuncAttributes attr = ::Kokkos::Experimental::Impl::HIPParallelLaunch< + closure_type, LaunchBounds>::get_hip_func_attributes(); while ( (n && (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < shmem_size)) || - (n > static_cast( - ::Kokkos::Experimental::Impl::hip_get_max_block_size< - ParallelReduce, LaunchBounds>(f, 1, shmem_size, 0)))) { + (n > + static_cast( + ::Kokkos::Experimental::Impl::hip_get_max_block_size( + m_policy.space().impl_internal_space_instance(), attr, f, 1, + shmem_size, 0)))) { n >>= 1; shmem_size = ::Kokkos::Impl::hip_single_inter_block_reduce_scan_shmem< false, FunctorType, WorkTag>(f, n); @@ -391,6 +417,23 @@ class ParallelReduce, ReducerType, memory_space>::accessible), m_scratch_space(nullptr), m_scratch_flags(nullptr) {} + template + static int max_tile_size_product(const Policy& pol, const Functor&) { + using closure_type = + ParallelReduce, + ReducerType, Kokkos::Experimental::HIP>; + hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< + closure_type, LaunchBounds>::get_hip_func_attributes(); + auto const& prop = pol.space().hip_device_prop(); + // Limits due do registers/SM + int const regs_per_sm = prop.regsPerMultiprocessor; + int const regs_per_thread = attr.numRegs; + int const max_threads_per_sm = regs_per_sm / regs_per_thread; + return std::min( + max_threads_per_sm, + static_cast( + Kokkos::Experimental::Impl::HIPTraits::MaxThreadsPerBlock)); + } }; } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp index 5607f1c91a..7d2825eeb4 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp @@ -92,7 +92,7 @@ class ParallelFor, public: using functor_type = FunctorType; - inline __device__ void operator()(void) const { + inline __device__ void operator()() const { const Member work_stride = blockDim.y * gridDim.x; const Member work_end = m_policy.end(); @@ -174,11 +174,14 @@ class ParallelReduce, ReducerType, size_type* m_scratch_space = nullptr; size_type* m_scratch_flags = nullptr; - // FIXME_HIP_PERFORMANCE Need a rule to choose when to use shared memory and - // when to use shuffle +#if HIP_VERSION < 401 static bool constexpr UseShflReduction = ((sizeof(value_type) > 2 * sizeof(double)) && static_cast(ValueTraits::StaticValueSize)); +#else + static bool constexpr UseShflReduction = + static_cast(ValueTraits::StaticValueSize); +#endif private: struct ShflReductionTag {}; @@ -330,13 +333,19 @@ class ParallelReduce, ReducerType, int shmem_size = hip_single_inter_block_reduce_scan_shmem( f, n); + using closure_type = Impl::ParallelReduce; + hipFuncAttributes attr = ::Kokkos::Experimental::Impl::HIPParallelLaunch< + closure_type, LaunchBounds>::get_hip_func_attributes(); while ( (n && (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < shmem_size)) || - (n > static_cast( - Kokkos::Experimental::Impl::hip_get_max_block_size< - ParallelReduce, LaunchBounds>(f, 1, shmem_size, 0)))) { + (n > + static_cast( + ::Kokkos::Experimental::Impl::hip_get_max_block_size( + m_policy.space().impl_internal_space_instance(), attr, f, 1, + shmem_size, 0)))) { n >>= 1; shmem_size = hip_single_inter_block_reduce_scan_shmem( @@ -493,7 +502,7 @@ class ParallelScanHIPBase { //---------------------------------------- - __device__ inline void initial(void) const { + __device__ inline void initial() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -529,7 +538,7 @@ class ParallelScanHIPBase { //---------------------------------------- - __device__ inline void final(void) const { + __device__ inline void final() const { const integral_nonzero_constant word_count(ValueTraits::value_size(m_functor) / sizeof(size_type)); @@ -606,7 +615,7 @@ class ParallelScanHIPBase { public: //---------------------------------------- - __device__ inline void operator()(void) const { + __device__ inline void operator()() const { if (!m_final) { initial(); } else { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp index 5da83d289e..96c3ff2a75 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp @@ -433,6 +433,9 @@ class ParallelFor, int m_shmem_size; void* m_scratch_ptr[2]; int m_scratch_size[2]; + // Only let one ParallelFor/Reduce modify the team scratch memory. The + // constructor acquires the mutex which is released in the destructor. + std::unique_lock m_scratch_lock; template __device__ inline @@ -449,7 +452,7 @@ class ParallelFor, } public: - __device__ inline void operator()(void) const { + __device__ inline void operator()() const { // Iterate this block through the league int64_t threadid = 0; if (m_scratch_size[1] > 0) { @@ -513,7 +516,10 @@ class ParallelFor, m_policy(arg_policy), m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { + m_vector_size(arg_policy.impl_vector_length()), + m_scratch_lock(m_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { hipFuncAttributes attr = ::Kokkos::Experimental::Impl::HIPParallelLaunch< ParallelFor, launch_bounds>::get_hip_func_attributes(); m_team_size = @@ -640,6 +646,9 @@ class ParallelReduce, const size_type m_league_size; int m_team_size; const size_type m_vector_size; + // Only let one ParallelFor/Reduce modify the team scratch memory. The + // constructor acquires the mutex which is released in the destructor. + std::unique_lock m_scratch_lock; template __device__ inline @@ -877,7 +886,10 @@ class ParallelReduce, m_scratch_ptr{nullptr, nullptr}, m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { + m_vector_size(arg_policy.impl_vector_length()), + m_scratch_lock(m_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< ParallelReduce, launch_bounds>::get_hip_func_attributes(); m_team_size = @@ -976,7 +988,10 @@ class ParallelReduce, m_scratch_ptr{nullptr, nullptr}, m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { + m_vector_size(arg_policy.impl_vector_length()), + m_scratch_lock(m_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< ParallelReduce, launch_bounds>::get_hip_func_attributes(); m_team_size = diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 00cef28f82..15ca089d14 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -42,12 +42,6 @@ //@HEADER */ -#include -#include -#include -#include -#include -#include #include #include @@ -57,6 +51,13 @@ #include #include +#include +#include +#include +#include +#include +#include + /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ namespace Kokkos { @@ -172,14 +173,14 @@ void DeepCopyAsyncHIP(void* dst, void const* src, size_t n) { namespace Kokkos { -void Experimental::HIPSpace::access_error() { +KOKKOS_DEPRECATED void Experimental::HIPSpace::access_error() { const std::string msg( "Kokkos::Experimental::HIPSpace::access_error attempt to execute " "Experimental::HIP function from non-HIP space"); Kokkos::Impl::throw_runtime_exception(msg); } -void Experimental::HIPSpace::access_error(const void* const) { +KOKKOS_DEPRECATED void Experimental::HIPSpace::access_error(const void* const) { const std::string msg( "Kokkos::Experimental::HIPSpace::access_error attempt to execute " "Experimental::HIP function from non-HIP space"); @@ -326,45 +327,6 @@ SharedAllocationRecord SharedAllocationRecord< Kokkos::Experimental::HIPHostPinnedSpace, void>::s_root_record; #endif -std::string SharedAllocationRecord::get_label() const { - SharedAllocationHeader header; - - Kokkos::Impl::DeepCopy( - &header, RecordBase::head(), sizeof(SharedAllocationHeader)); - - return std::string(header.m_label); -} - -std::string SharedAllocationRecord::get_label() const { - return std::string(RecordBase::head()->m_label); -} - -SharedAllocationRecord* -SharedAllocationRecord::allocate( - const Kokkos::Experimental::HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size) { - return new SharedAllocationRecord(arg_space, arg_label, arg_alloc_size); -} - -SharedAllocationRecord* -SharedAllocationRecord:: - allocate(const Kokkos::Experimental::HIPHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size) { - return new SharedAllocationRecord(arg_space, arg_label, arg_alloc_size); -} - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord* arg_rec) { - delete static_cast(arg_rec); -} - -void SharedAllocationRecord:: - deallocate(SharedAllocationRecord* arg_rec) { - delete static_cast(arg_rec); -} - SharedAllocationRecord::~SharedAllocationRecord() { const char* label = nullptr; @@ -393,7 +355,7 @@ SharedAllocationRecord:: const SharedAllocationRecord::function_type arg_dealloc) // Pass through allocated [ SharedAllocationHeader , user_memory ] // Pass through deallocation function - : SharedAllocationRecord( + : base_t( #ifdef KOKKOS_ENABLE_DEBUG &SharedAllocationRecord::s_root_record, @@ -405,13 +367,7 @@ SharedAllocationRecord:: SharedAllocationHeader header; - // Fill in the Header information - header.m_record = static_cast*>(this); - - strncpy(header.m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - header.m_label[SharedAllocationHeader::maximum_label_length - 1] = (char)0; + this->base_t::_fill_host_accessible_header_info(header, arg_label); // Copy to device memory Kokkos::Impl::DeepCopy( @@ -425,7 +381,7 @@ SharedAllocationRecord:: const SharedAllocationRecord::function_type arg_dealloc) // Pass through allocated [ SharedAllocationHeader , user_memory ] // Pass through deallocation function - : SharedAllocationRecord( + : base_t( #ifdef KOKKOS_ENABLE_DEBUG &SharedAllocationRecord::s_root_record, @@ -435,223 +391,8 @@ SharedAllocationRecord:: sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { // Fill in the Header information, directly accessible via host pinned memory - - RecordBase::m_alloc_ptr->m_record = this; - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = (char)0; -} - -//---------------------------------------------------------------------------- - -void* SharedAllocationRecord:: - allocate_tracked(const Kokkos::Experimental::HIPSpace& arg_space, - const std::string& arg_alloc_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord* const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void* const - arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord* const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void* SharedAllocationRecord:: - reallocate_tracked(void* const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord* const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -void* SharedAllocationRecord:: - allocate_tracked(const Kokkos::Experimental::HIPHostPinnedSpace& arg_space, - const std::string& arg_alloc_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord* const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void* const - arg_alloc_ptr) { - if (arg_alloc_ptr) { - SharedAllocationRecord* const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void* SharedAllocationRecord:: - reallocate_tracked(void* const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord* const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - using HIPHostPinnedSpace = Kokkos::Experimental::HIPHostPinnedSpace; - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -//---------------------------------------------------------------------------- - -SharedAllocationRecord* -SharedAllocationRecord::get_record( - void* alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHIP = - SharedAllocationRecord; - - // Copy the header from the allocation - Header head; - - Header const* const head_hip = - alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; - - if (alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, head_hip, sizeof(SharedAllocationHeader)); - } - - RecordHIP* const record = - alloc_ptr ? static_cast(head.m_record) : nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head_hip) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< Kokkos::Experimental::HIPSpace " - ", void >::get_record ERROR")); - } - - return record; -} - -SharedAllocationRecord* -SharedAllocationRecord::get_record(void* alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHIP = - SharedAllocationRecord; - - Header* const h = - alloc_ptr ? reinterpret_cast(alloc_ptr) - 1 : nullptr; - - if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< " - "Kokkos::Experimental::HIPHostPinnedSpace , void >::get_record ERROR")); - } - - return static_cast(h->m_record); -} - -// Iterate records to print orphaned memory ... -void SharedAllocationRecord:: - print_records(std::ostream& s, const Kokkos::Experimental::HIPSpace&, - bool detail) { -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord* r = &s_root_record; - - char buffer[256]; - - SharedAllocationHeader head; - - if (detail) { - do { - if (r->m_alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, r->m_alloc_ptr, sizeof(SharedAllocationHeader)); - } else { - head.m_label[0] = 0; - } - - // Formatting dependent on sizeof(uintptr_t) - const char* format_string; - - if (sizeof(uintptr_t) == sizeof(unsigned long)) { - format_string = - "HIP addr( 0x%.12lx ) list( 0x%.12lx 0x%.12lx ) extent[ 0x%.12lx + " - "%.8ld ] count(%d) dealloc(0x%.12lx) %s\n"; - } else if (sizeof(uintptr_t) == sizeof(unsigned long long)) { - format_string = - "HIP addr( 0x%.12llx ) list( 0x%.12llx 0x%.12llx ) extent[ " - "0x%.12llx + %.8ld ] count(%d) dealloc(0x%.12llx) %s\n"; - } - - snprintf(buffer, 256, format_string, reinterpret_cast(r), - reinterpret_cast(r->m_prev), - reinterpret_cast(r->m_next), - reinterpret_cast(r->m_alloc_ptr), r->m_alloc_size, - r->m_count, reinterpret_cast(r->m_dealloc), - head.m_label); - s << buffer; - r = r->m_next; - } while (r != &s_root_record); - } else { - do { - if (r->m_alloc_ptr) { - Kokkos::Impl::DeepCopy( - &head, r->m_alloc_ptr, sizeof(SharedAllocationHeader)); - - // Formatting dependent on sizeof(uintptr_t) - const char* format_string; - - if (sizeof(uintptr_t) == sizeof(unsigned long)) { - format_string = "HIP [ 0x%.12lx + %ld ] %s\n"; - } else if (sizeof(uintptr_t) == sizeof(unsigned long long)) { - format_string = "HIP [ 0x%.12llx + %ld ] %s\n"; - } - - snprintf(buffer, 256, format_string, - reinterpret_cast(r->data()), r->size(), - head.m_label); - } else { - snprintf(buffer, 256, "HIP [ 0 + 0 ]\n"); - } - s << buffer; - r = r->m_next; - } while (r != &s_root_record); - } -#else - (void)s; - (void)detail; - throw_runtime_exception( - "Kokkos::Impl::SharedAllocationRecord::print_records" - " only works with KOKKOS_ENABLE_DEBUG enabled"); -#endif + this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, + arg_label); } } // namespace Impl @@ -680,63 +421,22 @@ void HIP::impl_initialize(const HIP::SelectDevice config) { void HIP::impl_finalize() { Impl::HIPInternal::singleton().finalize(); } HIP::HIP() - : m_space_instance(&Impl::HIPInternal::singleton()), m_counter(nullptr) { + : m_space_instance(&Impl::HIPInternal::singleton(), + [](Impl::HIPInternal*) {}) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); } HIP::HIP(hipStream_t const stream) - : m_space_instance(new Impl::HIPInternal), m_counter(new int(1)) { + : m_space_instance(new Impl::HIPInternal, [](Impl::HIPInternal* ptr) { + ptr->finalize(); + delete ptr; + }) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); m_space_instance->initialize(Impl::HIPInternal::singleton().m_hipDev, stream); } -KOKKOS_FUNCTION HIP::HIP(HIP&& other) noexcept { - m_space_instance = other.m_space_instance; - other.m_space_instance = nullptr; - m_counter = other.m_counter; - other.m_counter = nullptr; -} - -KOKKOS_FUNCTION HIP::HIP(HIP const& other) - : m_space_instance(other.m_space_instance), m_counter(other.m_counter) { -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU - if (m_counter) Kokkos::atomic_add(m_counter, 1); -#endif -} - -KOKKOS_FUNCTION HIP& HIP::operator=(HIP&& other) noexcept { - m_space_instance = other.m_space_instance; - other.m_space_instance = nullptr; - m_counter = other.m_counter; - other.m_counter = nullptr; - - return *this; -} - -KOKKOS_FUNCTION HIP& HIP::operator=(HIP const& other) { - m_space_instance = other.m_space_instance; - m_counter = other.m_counter; -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU - if (m_counter) Kokkos::atomic_add(m_counter, 1); -#endif - - return *this; -} - -KOKKOS_FUNCTION HIP::~HIP() noexcept { -#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU - if (m_counter == nullptr) return; - int const count = Kokkos::atomic_fetch_sub(m_counter, 1); - if (count == 1) { - delete m_counter; - m_space_instance->finalize(); - delete m_space_instance; - } -#endif -} - void HIP::print_configuration(std::ostream& s, const bool) { Impl::HIPInternal::singleton().print_configuration(s); } @@ -810,3 +510,26 @@ void HIPSpaceInitializer::print_configuration(std::ostream& msg, } // namespace Impl } // namespace Kokkos + +//============================================================================== +// {{{1 + +#include + +namespace Kokkos { +namespace Impl { + +// To avoid additional compilation cost for something that's (mostly?) not +// performance sensitive, we explicity instantiate these CRTP base classes here, +// where we have access to the associated *_timpl.hpp header files. +template class HostInaccessibleSharedAllocationRecordCommon< + Kokkos::Experimental::HIPSpace>; +template class SharedAllocationRecordCommon; +template class SharedAllocationRecordCommon< + Kokkos::Experimental::HIPHostPinnedSpace>; + +} // end namespace Impl +} // end namespace Kokkos + +// end Explicit instantiations of CRTP Base classes }}}1 +//============================================================================== diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp index 7571510c31..fe52886ced 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp @@ -644,13 +644,14 @@ KOKKOS_INLINE_FUNCTION thread, count); } -template -KOKKOS_INLINE_FUNCTION - Impl::ThreadVectorRangeBoundariesStruct - ThreadVectorRange(const Impl::HIPTeamMember& thread, iType arg_begin, - iType arg_end) { +template +KOKKOS_INLINE_FUNCTION Impl::ThreadVectorRangeBoundariesStruct< + typename std::common_type::type, Impl::HIPTeamMember> +ThreadVectorRange(const Impl::HIPTeamMember& thread, iType1 arg_begin, + iType2 arg_end) { + using iType = typename std::common_type::type; return Impl::ThreadVectorRangeBoundariesStruct( - thread, arg_begin, arg_end); + thread, iType(arg_begin), iType(arg_end)); } KOKKOS_INLINE_FUNCTION @@ -961,7 +962,7 @@ KOKKOS_INLINE_FUNCTION //---------------------------------------------------------------------------- -/** \brief Intra-thread vector parallel exclusive prefix sum. +/** \brief Intra-thread vector parallel scan with reducer. * * Executes closure(iType i, ValueType & val, bool final) for each i=[0..N) * @@ -969,22 +970,21 @@ KOKKOS_INLINE_FUNCTION * thread and a scan operation is performed. * The last call to closure has final == true. */ -template -KOKKOS_INLINE_FUNCTION void parallel_scan( - const Impl::ThreadVectorRangeBoundariesStruct& - loop_boundaries, - const Closure& closure) { +template +KOKKOS_INLINE_FUNCTION + typename std::enable_if::value>::type + parallel_scan(const Impl::ThreadVectorRangeBoundariesStruct< + iType, Impl::HIPTeamMember>& loop_boundaries, + const Closure& closure, const ReducerType& reducer) { #ifdef __HIP_DEVICE_COMPILE__ - // Extract value_type from closure - - using value_type = typename Kokkos::Impl::FunctorAnalysis< - Kokkos::Impl::FunctorPatternInterface::SCAN, void, Closure>::value_type; + using value_type = typename ReducerType::value_type; + value_type accum; + reducer.init(accum); + const value_type identity = accum; // Loop through boundaries by vector-length chunks // must scan at each iteration - value_type accum = 0; - // All thread "lanes" must loop the same number of times. // Determine an loop end for all thread "lanes." // Requires: @@ -997,47 +997,72 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( const int end = loop_boundaries.end + (rem ? blockDim.x - rem : 0); for (int i = threadIdx.x; i < end; i += blockDim.x) { - value_type val = 0; + value_type val = identity; - // First acquire per-lane contributions: - if (i < loop_boundaries.end) closure(i, val, false); + // First acquire per-lane contributions. + // This sets i's val to i-1's contribution + // to make the latter in_place_shfl_up an + // exclusive scan -- the final accumulation + // of i's val will be included in the second + // closure call later. + if (i < loop_boundaries.end && threadIdx.x > 0) closure(i - 1, val, false); - value_type sval = val; - - // Bottom up inclusive scan in triangular pattern + // Bottom up exclusive scan in triangular pattern // where each HIP thread is the root of a reduction tree // from the zeroth "lane" to itself. // [t] += [t-1] if t >= 1 // [t] += [t-2] if t >= 2 // [t] += [t-4] if t >= 4 // ... - + // This differs from the non-reducer overload, where an inclusive scan was + // implemented, because in general the binary operator cannot be inverted + // and we would not be able to remove the inclusive contribution by + // inversion. for (int j = 1; j < static_cast(blockDim.x); j <<= 1) { - value_type tmp = 0; - ::Kokkos::Experimental::Impl::in_place_shfl_up(tmp, sval, j, blockDim.x); + value_type tmp = identity; + ::Kokkos::Experimental::Impl::in_place_shfl_up(tmp, val, j, blockDim.x); if (j <= static_cast(threadIdx.x)) { - sval += tmp; + reducer.join(val, tmp); } } - // Include accumulation and remove value for exclusive scan: - val = accum + sval - val; + // Include accumulation + reducer.join(val, accum); - // Provide exclusive scan value: + // Update i's contribution into the val + // and add it to accum for next round if (i < loop_boundaries.end) closure(i, val, true); - - // Accumulate the last value in the inclusive scan: - ::Kokkos::Experimental::Impl::in_place_shfl(sval, sval, blockDim.x - 1, + ::Kokkos::Experimental::Impl::in_place_shfl(accum, val, blockDim.x - 1, blockDim.x); - - accum += sval; } #else (void)loop_boundaries; (void)closure; + (void)reducer; #endif } +//---------------------------------------------------------------------------- + +/** \brief Intra-thread vector parallel exclusive prefix sum. + * + * Executes closure(iType i, ValueType & val, bool final) for each i=[0..N) + * + * The range [0..N) is mapped to all vector lanes in the + * thread and a scan operation is performed. + * The last call to closure has final == true. + */ +template +KOKKOS_INLINE_FUNCTION void parallel_scan( + const Impl::ThreadVectorRangeBoundariesStruct& + loop_boundaries, + const Closure& closure) { + using value_type = typename Kokkos::Impl::FunctorAnalysis< + Kokkos::Impl::FunctorPatternInterface::SCAN, void, Closure>::value_type; + value_type dummy; + parallel_scan(loop_boundaries, closure, Kokkos::Sum(dummy)); +} + } // namespace Kokkos namespace Kokkos { diff --git a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp index 140376425c..b7d8e62f69 100644 --- a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp @@ -48,17 +48,11 @@ #include #include - +#include #include #include -#include #include -#if defined(KOKKOS_ENABLE_CUDA) || \ - (defined(__HIPCC__) && defined(KOKKOS_ENABLE_HIP)) -#include -#endif - namespace Kokkos { // ------------------------------------------------------------------ // @@ -74,22 +68,14 @@ enum class Iterate template struct default_outer_direction { - using type = Iterate; -#if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_HIP) - static constexpr Iterate value = Iterate::Left; -#else + using type = Iterate; static constexpr Iterate value = Iterate::Right; -#endif }; template struct default_inner_direction { - using type = Iterate; -#if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_HIP) - static constexpr Iterate value = Iterate::Left; -#else + using type = Iterate; static constexpr Iterate value = Iterate::Right; -#endif }; // Iteration Pattern @@ -179,6 +165,25 @@ constexpr NVCC_WONT_LET_ME_CALL_YOU_Array to_array_potentially_narrowing( } return a; } + +struct TileSizeProperties { + int max_threads; + int default_largest_tile_size; + int default_tile_size; + int max_total_tile_size; +}; + +template +TileSizeProperties get_tile_size_properties(const ExecutionSpace&) { + // Host settings + TileSizeProperties properties; + properties.max_threads = std::numeric_limits::max(); + properties.default_largest_tile_size = 0; + properties.default_tile_size = 2; + properties.max_total_tile_size = std::numeric_limits::max(); + return properties; +} + } // namespace Impl // multi-dimensional iteration pattern @@ -208,7 +213,7 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { using launch_bounds = typename traits::launch_bounds; using member_type = typename range_policy::member_type; - enum { rank = static_cast(iteration_pattern::rank) }; + static constexpr int rank = iteration_pattern::rank; using index_type = typename traits::index_type; using array_index_type = std::int64_t; @@ -231,37 +236,20 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { point_type m_tile_end = {}; index_type m_num_tiles = 1; index_type m_prod_tile_dims = 1; + bool m_tune_tile_size = false; - /* - // NDE enum impl definition alternative - replace static constexpr int ? - enum { outer_direction = static_cast ( - (iteration_pattern::outer_direction != Iterate::Default) - ? iteration_pattern::outer_direction - : default_outer_direction< typename traits::execution_space>::value ) }; - - enum { inner_direction = static_cast ( - iteration_pattern::inner_direction != Iterate::Default - ? iteration_pattern::inner_direction - : default_inner_direction< typename traits::execution_space>::value ) }; - - enum { Right = static_cast( Iterate::Right ) }; - enum { Left = static_cast( Iterate::Left ) }; - */ - // static constexpr int rank = iteration_pattern::rank; - - static constexpr int outer_direction = static_cast( + static constexpr auto outer_direction = (iteration_pattern::outer_direction != Iterate::Default) ? iteration_pattern::outer_direction - : default_outer_direction::value); + : default_outer_direction::value; - static constexpr int inner_direction = static_cast( + static constexpr auto inner_direction = iteration_pattern::inner_direction != Iterate::Default ? iteration_pattern::inner_direction - : default_inner_direction::value); + : default_inner_direction::value; - // Ugly ugly workaround intel 14 not handling scoped enum correctly - static constexpr int Right = static_cast(Iterate::Right); - static constexpr int Left = static_cast(Iterate::Left); + static constexpr auto Right = Iterate::Right; + static constexpr auto Left = Iterate::Left; KOKKOS_INLINE_FUNCTION const typename traits::execution_space& space() const { return m_space; @@ -320,7 +308,7 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { point_type const& lower, point_type const& upper, tile_type const& tile = tile_type{}) : m_space(work_space), m_lower(lower), m_upper(upper), m_tile(tile) { - init(); + init_helper(Impl::get_tile_size_properties(work_space)); } template { m_tile(p.m_tile), m_tile_end(p.m_tile_end), m_num_tiles(p.m_num_tiles), - m_prod_tile_dims(p.m_prod_tile_dims) {} + m_prod_tile_dims(p.m_prod_tile_dims), + m_tune_tile_size(p.m_tune_tile_size) {} + + void impl_change_tile_size(const point_type& tile) { + m_tile = tile; + init_helper(Impl::get_tile_size_properties(m_space)); + } + bool impl_tune_tile_size() const { return m_tune_tile_size; } private: - void init() { - // Host - if (true -#if defined(KOKKOS_ENABLE_CUDA) - && !std::is_same::value -#endif -#if defined(KOKKOS_ENABLE_HIP) - && !std::is_same::value -#endif - ) { - index_type span; - for (int i = 0; i < rank; ++i) { - span = m_upper[i] - m_lower[i]; - if (m_tile[i] <= 0) { - if (((int)inner_direction == (int)Right && (i < rank - 1)) || - ((int)inner_direction == (int)Left && (i > 0))) { - m_tile[i] = 2; - } else { - m_tile[i] = (span == 0 ? 1 : span); - } - } - m_tile_end[i] = - static_cast((span + m_tile[i] - 1) / m_tile[i]); - m_num_tiles *= m_tile_end[i]; - m_prod_tile_dims *= m_tile[i]; - } + void init_helper(Impl::TileSizeProperties properties) { + m_prod_tile_dims = 1; + int increment = 1; + int rank_start = 0; + int rank_end = rank; + if (inner_direction == Iterate::Right) { + increment = -1; + rank_start = rank - 1; + rank_end = -1; } -#if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_HIP) - else // Cuda or HIP - { - index_type span; - int increment = 1; - int rank_start = 0; - int rank_end = rank; - if ((int)inner_direction == (int)Right) { - increment = -1; - rank_start = rank - 1; - rank_end = -1; - } - bool is_cuda_exec_space = -#if defined(KOKKOS_ENABLE_CUDA) - std::is_same::value; -#else - false; -#endif - for (int i = rank_start; i != rank_end; i += increment) { - span = m_upper[i] - m_lower[i]; - if (m_tile[i] <= 0) { - // TODO: determine what is a good default tile size for Cuda and HIP - // may be rank dependent - if (((int)inner_direction == (int)Right && (i < rank - 1)) || - ((int)inner_direction == (int)Left && (i > 0))) { - if (m_prod_tile_dims < 256) { - m_tile[i] = (is_cuda_exec_space) ? 2 : 4; - } else { - m_tile[i] = 1; - } + for (int i = rank_start; i != rank_end; i += increment) { + const index_type length = m_upper[i] - m_lower[i]; + if (m_tile[i] <= 0) { + m_tune_tile_size = true; + if ((inner_direction == Iterate::Right && (i < rank - 1)) || + (inner_direction == Iterate::Left && (i > 0))) { + if (m_prod_tile_dims * properties.default_tile_size < + static_cast(properties.max_total_tile_size)) { + m_tile[i] = properties.default_tile_size; } else { - m_tile[i] = 16; + m_tile[i] = 1; } - } - m_tile_end[i] = - static_cast((span + m_tile[i] - 1) / m_tile[i]); - m_num_tiles *= m_tile_end[i]; - m_prod_tile_dims *= m_tile[i]; - } - if (m_prod_tile_dims > - 1024) { // Match Cuda restriction for ParallelReduce; 1024,1024,64 - // max per dim (Kepler), but product num_threads < 1024 - if (is_cuda_exec_space) { - printf(" Tile dimensions exceed Cuda limits\n"); - Kokkos::abort( - "Cuda ExecSpace Error: MDRange tile dims exceed maximum number " - "of threads per block - choose smaller tile dims"); } else { - printf(" Tile dimensions exceed HIP limits\n"); - Kokkos::abort( - "HIP ExecSpace Error: MDRange tile dims exceed maximum number of " - "threads per block - choose smaller tile dims"); + m_tile[i] = properties.default_largest_tile_size == 0 + ? std::max(length, 1) + : properties.default_largest_tile_size; } } + m_tile_end[i] = + static_cast((length + m_tile[i] - 1) / m_tile[i]); + m_num_tiles *= m_tile_end[i]; + m_prod_tile_dims *= m_tile[i]; + } + if (m_prod_tile_dims > static_cast(properties.max_threads)) { + printf(" Product of tile dimensions exceed maximum limit: %d\n", + static_cast(properties.max_threads)); + Kokkos::abort( + "ExecSpace Error: MDRange tile dims exceed maximum number " + "of threads per block - choose smaller tile dims"); } -#endif } }; diff --git a/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp b/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp index 8e226a078d..fb94049d7a 100644 --- a/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp @@ -104,20 +104,6 @@ struct MemorySpaceAccess { enum : bool { deepcopy = true }; }; -template -struct VerifyExecutionCanAccessMemorySpace { - enum { value = 1 }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void *) {} -}; - -template -struct VerifyExecutionCanAccessMemorySpace { - enum { value = 1 }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void *) {} -}; - } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_Complex.hpp b/lib/kokkos/core/src/Kokkos_Complex.hpp index fb2925a066..6578723fc8 100644 --- a/lib/kokkos/core/src/Kokkos_Complex.hpp +++ b/lib/kokkos/core/src/Kokkos_Complex.hpp @@ -45,14 +45,13 @@ #define KOKKOS_COMPLEX_HPP #include +#include #include +#include #include +#include #include -#ifdef KOKKOS_ENABLE_SYCL -#include -#endif - namespace Kokkos { /// \class complex @@ -220,10 +219,11 @@ class // Conditional noexcept, just in case RType throws on divide-by-zero KOKKOS_CONSTEXPR_14 KOKKOS_INLINE_FUNCTION complex& operator/=( const complex& y) noexcept(noexcept(RealType{} / RealType{})) { + using Kokkos::Experimental::fabs; // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. - const RealType s = std::fabs(y.real()) + std::fabs(y.imag()); + const RealType s = fabs(y.real()) + fabs(y.imag()); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -248,10 +248,11 @@ class KOKKOS_INLINE_FUNCTION complex& operator/=( const std::complex& y) noexcept(noexcept(RealType{} / RealType{})) { + using Kokkos::Experimental::fabs; // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. - const RealType s = std::fabs(y.real()) + std::fabs(y.imag()); + const RealType s = fabs(y.real()) + fabs(y.imag()); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -693,35 +694,96 @@ KOKKOS_INLINE_FUNCTION RealType real(const complex& x) noexcept { return x.real(); } +//! Constructs a complex number from magnitude and phase angle +template +KOKKOS_INLINE_FUNCTION complex polar(const T& r, const T& theta = T()) { + using Kokkos::Experimental::cos; + using Kokkos::Experimental::sin; + KOKKOS_EXPECTS(r >= 0); + return complex(r * cos(theta), r * sin(theta)); +} + //! Absolute value (magnitude) of a complex number. template KOKKOS_INLINE_FUNCTION RealType abs(const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::hypot; -#else - using std::hypot; -#endif + using Kokkos::Experimental::hypot; return hypot(x.real(), x.imag()); } //! Power of a complex number -template -KOKKOS_INLINE_FUNCTION Kokkos::complex pow(const complex& x, - const RealType& e) { - RealType r = abs(x); -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::atan; - using cl::sycl::cos; - using cl::sycl::pow; - using cl::sycl::sin; -#else - using std::atan; - using std::cos; - using std::pow; - using std::sin; -#endif - RealType phi = atan(x.imag() / x.real()); - return pow(r, e) * Kokkos::complex(cos(phi * e), sin(phi * e)); +template +KOKKOS_INLINE_FUNCTION complex pow(const complex& x, const T& y) { + using Kokkos::Experimental::atan2; + using Kokkos::Experimental::pow; + T r = abs(x); + T theta = atan2(x.imag(), x.real()); + return polar(pow(r, y), y * theta); +} + +template +KOKKOS_INLINE_FUNCTION complex pow(const T& x, const complex& y) { + return pow(complex(x), y); +} + +template +KOKKOS_INLINE_FUNCTION complex pow(const complex& x, + const complex& y) { + using Kokkos::Experimental::log; + + return x == T() ? T() : exp(y * log(x)); +} + +namespace Impl { +// NOTE promote would also be useful for math functions +template ::value> +struct promote { + using type = double; +}; +template +struct promote {}; +template <> +struct promote { + using type = long double; +}; +template <> +struct promote { + using type = double; +}; +template <> +struct promote { + using type = float; +}; +template +using promote_t = typename promote::type; +template +struct promote_2 { + using type = decltype(promote_t() + promote_t()); +}; +template +using promote_2_t = typename promote_2::type; +} // namespace Impl + +template ::value>> +KOKKOS_INLINE_FUNCTION complex> pow( + const T& x, const complex& y) { + using type = Impl::promote_2_t; + return pow(type(x), complex(y)); +} + +template ::value>> +KOKKOS_INLINE_FUNCTION complex> pow(const complex& x, + const U& y) { + using type = Impl::promote_2_t; + return pow(complex(x), type(y)); +} + +template +KOKKOS_INLINE_FUNCTION complex> pow( + const complex& x, const complex& y) { + using type = Impl::promote_2_t; + return pow(complex(x), complex(y)); } //! Square root of a complex number. This is intended to match the stdc++ @@ -729,26 +791,21 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex pow(const complex& x, template KOKKOS_INLINE_FUNCTION Kokkos::complex sqrt( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::abs; - using cl::sycl::sqrt; -#else - using std::abs; - using std::sqrt; -#endif + using Kokkos::Experimental::fabs; + using Kokkos::Experimental::sqrt; RealType r = x.real(); RealType i = x.imag(); if (r == RealType()) { - RealType t = sqrt(abs(i) / 2); + RealType t = sqrt(fabs(i) / 2); return Kokkos::complex(t, i < RealType() ? -t : t); } else { - RealType t = sqrt(2 * (abs(x) + abs(r))); + RealType t = sqrt(2 * (abs(x) + fabs(r))); RealType u = t / 2; - return r > RealType() - ? Kokkos::complex(u, i / t) - : Kokkos::complex(abs(i) / t, i < RealType() ? -u : u); + return r > RealType() ? Kokkos::complex(u, i / t) + : Kokkos::complex(fabs(i) / t, + i < RealType() ? -u : u); } } @@ -762,15 +819,9 @@ KOKKOS_INLINE_FUNCTION complex conj( //! Exponential of a complex number. template KOKKOS_INLINE_FUNCTION complex exp(const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::cos; - using cl::sycl::exp; - using cl::sycl::sin; -#else - using std::cos; - using std::exp; - using std::sin; -#endif + using Kokkos::Experimental::cos; + using Kokkos::Experimental::exp; + using Kokkos::Experimental::sin; return exp(x.real()) * complex(cos(x.imag()), sin(x.imag())); } @@ -778,14 +829,9 @@ KOKKOS_INLINE_FUNCTION complex exp(const complex& x) { template KOKKOS_INLINE_FUNCTION Kokkos::complex log( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::atan; - using cl::sycl::log; -#else - using std::atan; - using std::log; -#endif - RealType phi = atan(x.imag() / x.real()); + using Kokkos::Experimental::atan2; + using Kokkos::Experimental::log; + RealType phi = atan2(x.imag(), x.real()); return Kokkos::complex(log(abs(x)), phi); } @@ -793,17 +839,10 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex log( template KOKKOS_INLINE_FUNCTION Kokkos::complex sin( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::cos; - using cl::sycl::cosh; - using cl::sycl::sin; - using cl::sycl::sinh; -#else - using std::cos; - using std::cosh; - using std::sin; - using std::sinh; -#endif + using Kokkos::Experimental::cos; + using Kokkos::Experimental::cosh; + using Kokkos::Experimental::sin; + using Kokkos::Experimental::sinh; return Kokkos::complex(sin(x.real()) * cosh(x.imag()), cos(x.real()) * sinh(x.imag())); } @@ -812,17 +851,10 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex sin( template KOKKOS_INLINE_FUNCTION Kokkos::complex cos( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::cos; - using cl::sycl::cosh; - using cl::sycl::sin; - using cl::sycl::sinh; -#else - using std::cos; - using std::cosh; - using std::sin; - using std::sinh; -#endif + using Kokkos::Experimental::cos; + using Kokkos::Experimental::cosh; + using Kokkos::Experimental::sin; + using Kokkos::Experimental::sinh; return Kokkos::complex(cos(x.real()) * cosh(x.imag()), -sin(x.real()) * sinh(x.imag())); } @@ -838,17 +870,10 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex tan( template KOKKOS_INLINE_FUNCTION Kokkos::complex sinh( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::cos; - using cl::sycl::cosh; - using cl::sycl::sin; - using cl::sycl::sinh; -#else - using std::cos; - using std::cosh; - using std::sin; - using std::sinh; -#endif + using Kokkos::Experimental::cos; + using Kokkos::Experimental::cosh; + using Kokkos::Experimental::sin; + using Kokkos::Experimental::sinh; return Kokkos::complex(sinh(x.real()) * cos(x.imag()), cosh(x.real()) * sin(x.imag())); } @@ -857,17 +882,10 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex sinh( template KOKKOS_INLINE_FUNCTION Kokkos::complex cosh( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::cos; - using cl::sycl::cosh; - using cl::sycl::sin; - using cl::sycl::sinh; -#else - using std::cos; - using std::cosh; - using std::sin; - using std::sinh; -#endif + using Kokkos::Experimental::cos; + using Kokkos::Experimental::cosh; + using Kokkos::Experimental::sin; + using Kokkos::Experimental::sinh; return Kokkos::complex(cosh(x.real()) * cos(x.imag()), sinh(x.real()) * sin(x.imag())); } @@ -898,13 +916,8 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex acosh( template KOKKOS_INLINE_FUNCTION Kokkos::complex atanh( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::atan2; - using cl::sycl::log; -#else - using std::atan2; - using std::log; -#endif + using Kokkos::Experimental::atan2; + using Kokkos::Experimental::log; const RealType i2 = x.imag() * x.imag(); const RealType r = RealType(1.0) - i2 - x.real() * x.real(); @@ -933,12 +946,7 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex asin( template KOKKOS_INLINE_FUNCTION Kokkos::complex acos( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::acos; - -#else - using std::acos; -#endif + using Kokkos::Experimental::acos; Kokkos::complex t = asin(x); RealType pi_2 = acos(RealType(0.0)); return Kokkos::complex(pi_2 - t.real(), -t.imag()); @@ -948,13 +956,8 @@ KOKKOS_INLINE_FUNCTION Kokkos::complex acos( template KOKKOS_INLINE_FUNCTION Kokkos::complex atan( const complex& x) { -#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL - using cl::sycl::atan2; - using cl::sycl::log; -#else - using std::atan2; - using std::log; -#endif + using Kokkos::Experimental::atan2; + using Kokkos::Experimental::log; const RealType r2 = x.real() * x.real(); const RealType i = RealType(1.0) - r2 - x.imag() * x.imag(); @@ -996,12 +999,13 @@ KOKKOS_INLINE_FUNCTION operator/(const complex& x, const complex& y) noexcept(noexcept(RealType1{} / RealType2{})) { + using Kokkos::Experimental::fabs; // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. using common_real_type = typename std::common_type::type; - const common_real_type s = std::fabs(real(y)) + std::fabs(imag(y)); + const common_real_type s = fabs(real(y)) + fabs(imag(y)); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -1046,7 +1050,7 @@ std::istream& operator>>(std::istream& is, complex& x) { } template -struct reduction_identity > { +struct reduction_identity> { using t_red_ident = reduction_identity; KOKKOS_FORCEINLINE_FUNCTION constexpr static Kokkos::complex sum() noexcept { diff --git a/lib/kokkos/core/src/Kokkos_Core.hpp b/lib/kokkos/core/src/Kokkos_Core.hpp index 4dac463a66..c3771ab393 100644 --- a/lib/kokkos/core/src/Kokkos_Core.hpp +++ b/lib/kokkos/core/src/Kokkos_Core.hpp @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -86,6 +87,10 @@ struct InitArguments { int skip_device; bool disable_warnings; bool tune_internals; + bool tool_help = false; + std::string tool_lib = {}; + std::string tool_args = {}; + InitArguments(int nt = -1, int nn = -1, int dv = -1, bool dw = false, bool ti = false) : num_threads{nt}, @@ -139,6 +144,10 @@ void pre_initialize(const InitArguments& args); void post_initialize(const InitArguments& args); +void declare_configuration_metadata(const std::string& category, + const std::string& key, + const std::string& value); + } // namespace Impl bool is_initialized() noexcept; diff --git a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp index 7502719c73..fe7eba3f6e 100644 --- a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp @@ -50,6 +50,7 @@ // and compiler environment then sets a collection of #define macros. #include +#include #include #include @@ -180,7 +181,6 @@ using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = // a given memory space. namespace Kokkos { - namespace Impl { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA) && \ @@ -196,16 +196,22 @@ using ActiveExecutionMemorySpace = Kokkos::HostSpace; using ActiveExecutionMemorySpace = void; #endif -template -struct VerifyExecutionCanAccessMemorySpace { - enum { value = 0 }; +template +struct MemorySpaceAccess; + +template ::accessible> +struct verify_space { + KOKKOS_FUNCTION static void check() {} }; -template -struct VerifyExecutionCanAccessMemorySpace { - enum { value = 1 }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void *) {} +template +struct verify_space { + KOKKOS_FUNCTION static void check() { + Kokkos::abort( + "Kokkos::View ERROR: attempt to access inaccessible memory space"); + }; }; // Base class for exec space initializer factories @@ -220,13 +226,13 @@ class LogicalMemorySpace; } // namespace Kokkos -#define KOKKOS_RESTRICT_EXECUTION_TO_DATA(DATA_SPACE, DATA_PTR) \ - Kokkos::Impl::VerifyExecutionCanAccessMemorySpace< \ - Kokkos::Impl::ActiveExecutionMemorySpace, DATA_SPACE>::verify(DATA_PTR) +#define KOKKOS_RESTRICT_EXECUTION_TO_DATA(DATA_SPACE, DATA_PTR) \ + Kokkos::Impl::verify_space::check(); -#define KOKKOS_RESTRICT_EXECUTION_TO_(DATA_SPACE) \ - Kokkos::Impl::VerifyExecutionCanAccessMemorySpace< \ - Kokkos::Impl::ActiveExecutionMemorySpace, DATA_SPACE>::verify() +#define KOKKOS_RESTRICT_EXECUTION_TO_(DATA_SPACE) \ + Kokkos::Impl::verify_space::check(); //---------------------------------------------------------------------------- @@ -256,8 +262,7 @@ template struct ViewCopy; -template +template struct FunctorPolicyExecutionSpace; //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_Crs.hpp b/lib/kokkos/core/src/Kokkos_Crs.hpp index 4a573d82c0..1a10500b19 100644 --- a/lib/kokkos/core/src/Kokkos_Crs.hpp +++ b/lib/kokkos/core/src/Kokkos_Crs.hpp @@ -199,7 +199,7 @@ class CrsRowMapFromCounts { public: KOKKOS_INLINE_FUNCTION void operator()(index_type i, value_type& update, bool final_pass) const { - if (i < m_in.size()) { + if (i < static_cast(m_in.size())) { update += m_in(i); if (final_pass) m_out(i + 1) = update; } else if (final_pass) { diff --git a/lib/kokkos/core/src/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Kokkos_Cuda.hpp index 81e11f3f12..7a218120bb 100644 --- a/lib/kokkos/core/src/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Kokkos_Cuda.hpp @@ -63,6 +63,7 @@ #include #include #include +#include /*--------------------------------------------------------------------------*/ @@ -198,16 +199,6 @@ class Cuda { Cuda(); - KOKKOS_FUNCTION Cuda(Cuda&& other) noexcept; - - KOKKOS_FUNCTION Cuda(const Cuda& other); - - KOKKOS_FUNCTION Cuda& operator=(Cuda&& other) noexcept; - - KOKKOS_FUNCTION Cuda& operator=(const Cuda& other); - - KOKKOS_FUNCTION ~Cuda() noexcept; - Cuda(cudaStream_t stream); //-------------------------------------------------------------------------- @@ -253,13 +244,12 @@ class Cuda { static const char* name(); inline Impl::CudaInternal* impl_internal_space_instance() const { - return m_space_instance; + return m_space_instance.get(); } uint32_t impl_instance_id() const noexcept { return 0; } private: - Impl::CudaInternal* m_space_instance; - int* m_counter; + Kokkos::Impl::HostSharedPtr m_space_instance; }; namespace Tools { @@ -319,38 +309,8 @@ struct MemorySpaceAccess -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = true }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void*) {} -}; - -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = false }; - inline static void verify(void) { CudaSpace::access_error(); } - inline static void verify(const void* p) { CudaSpace::access_error(p); } -}; - } // namespace Impl } // namespace Kokkos -/*--------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include -#include - -#include -//---------------------------------------------------------------------------- - #endif /* #if defined( KOKKOS_ENABLE_CUDA ) */ #endif /* #ifndef KOKKOS_CUDA_HPP */ diff --git a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp index fc1c0e2f8a..e10fae93c7 100644 --- a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp @@ -53,8 +53,10 @@ #include #include #include +#include #include +#include #include @@ -119,8 +121,8 @@ class CudaSpace { /*--------------------------------*/ /** \brief Error reporting for HostSpace attempt to access CudaSpace */ - static void access_error(); - static void access_error(const void* const); + KOKKOS_DEPRECATED static void access_error(); + KOKKOS_DEPRECATED static void access_error(const void* const); private: int m_device; ///< Which Cuda device @@ -128,42 +130,6 @@ class CudaSpace { static constexpr const char* m_name = "Cuda"; friend class Kokkos::Impl::SharedAllocationRecord; }; - -namespace Impl { -/// \brief Initialize lock array for arbitrary size atomics. -/// -/// Arbitrary atomics are implemented using a hash table of locks -/// where the hash value is derived from the address of the -/// object for which an atomic operation is performed. -/// This function initializes the locks to zero (unset). -void init_lock_arrays_cuda_space(); - -/// \brief Retrieve the pointer to the lock array for arbitrary size atomics. -/// -/// Arbitrary atomics are implemented using a hash table of locks -/// where the hash value is derived from the address of the -/// object for which an atomic operation is performed. -/// This function retrieves the lock array pointer. -/// If the array is not yet allocated it will do so. -int* atomic_lock_array_cuda_space_ptr(bool deallocate = false); - -/// \brief Retrieve the pointer to the scratch array for team and thread private -/// global memory. -/// -/// Team and Thread private scratch allocations in -/// global memory are acquired via locks. -/// This function retrieves the lock array pointer. -/// If the array is not yet allocated it will do so. -int* scratch_lock_array_cuda_space_ptr(bool deallocate = false); - -/// \brief Retrieve the pointer to the scratch array for unique identifiers. -/// -/// Unique identifiers in the range 0-Cuda::concurrency -/// are provided via locks. -/// This function retrieves the lock array pointer. -/// If the array is not yet allocated it will do so. -int* threadid_lock_array_cuda_space_ptr(bool deallocate = false); -} // namespace Impl } // namespace Kokkos /*--------------------------------------------------------------------------*/ @@ -313,6 +279,11 @@ class CudaHostPinnedSpace { namespace Kokkos { namespace Impl { +cudaStream_t cuda_get_deep_copy_stream(); + +const std::unique_ptr& cuda_get_deep_copy_space( + bool initialize = true); + static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, ""); @@ -784,104 +755,21 @@ struct DeepCopy { namespace Kokkos { namespace Impl { -/** Running in CudaSpace attempting to access HostSpace: error */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = false }; - KOKKOS_INLINE_FUNCTION static void verify(void) { - Kokkos::abort("Cuda code attempted to access HostSpace memory"); - } - - KOKKOS_INLINE_FUNCTION static void verify(const void*) { - Kokkos::abort("Cuda code attempted to access HostSpace memory"); - } -}; - -/** Running in CudaSpace accessing CudaUVMSpace: ok */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = true }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void*) {} -}; - -/** Running in CudaSpace accessing CudaHostPinnedSpace: ok */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = true }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void*) {} -}; - -/** Running in CudaSpace attempting to access an unknown space: error */ -template -struct VerifyExecutionCanAccessMemorySpace< - typename std::enable_if::value, - Kokkos::CudaSpace>::type, - OtherSpace> { - enum : bool { value = false }; - KOKKOS_INLINE_FUNCTION static void verify(void) { - Kokkos::abort("Cuda code attempted to access unknown Space memory"); - } - - KOKKOS_INLINE_FUNCTION static void verify(const void*) { - Kokkos::abort("Cuda code attempted to access unknown Space memory"); - } -}; - -//---------------------------------------------------------------------------- -/** Running in HostSpace attempting to access CudaSpace */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = false }; - inline static void verify(void) { CudaSpace::access_error(); } - inline static void verify(const void* p) { CudaSpace::access_error(p); } -}; - -/** Running in HostSpace accessing CudaUVMSpace is OK */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = true }; - inline static void verify(void) {} - inline static void verify(const void*) {} -}; - -/** Running in HostSpace accessing CudaHostPinnedSpace is OK */ -template <> -struct VerifyExecutionCanAccessMemorySpace { - enum : bool { value = true }; - KOKKOS_INLINE_FUNCTION static void verify(void) {} - KOKKOS_INLINE_FUNCTION static void verify(const void*) {} -}; - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - template <> class SharedAllocationRecord - : public SharedAllocationRecord { + : public HostInaccessibleSharedAllocationRecordCommon { private: friend class SharedAllocationRecord; + friend class SharedAllocationRecordCommon; + friend class HostInaccessibleSharedAllocationRecordCommon; using RecordBase = SharedAllocationRecord; + using base_t = + HostInaccessibleSharedAllocationRecordCommon; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - static void deallocate(RecordBase*); - static ::cudaTextureObject_t attach_texture_object( const unsigned sizeof_alias, void* const alloc_ptr, const size_t alloc_size); @@ -890,39 +778,19 @@ class SharedAllocationRecord static RecordBase s_root_record; #endif - ::cudaTextureObject_t m_tex_obj; + ::cudaTextureObject_t m_tex_obj = 0; const Kokkos::CudaSpace m_space; protected: ~SharedAllocationRecord(); - SharedAllocationRecord() : RecordBase(), m_tex_obj(0), m_space() {} + SharedAllocationRecord() = default; SharedAllocationRecord( const Kokkos::CudaSpace& arg_space, const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); + const RecordBase::function_type arg_dealloc = &base_t::deallocate); public: - std::string get_label() const; - - static SharedAllocationRecord* allocate(const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - template inline ::cudaTextureObject_t attach_texture_object() { static_assert((std::is_same::value || @@ -945,57 +813,35 @@ class SharedAllocationRecord // Texture object is attached to the entire allocation range return ptr - reinterpret_cast(RecordBase::m_alloc_ptr); } - - static void print_records(std::ostream&, const Kokkos::CudaSpace&, - bool detail = false); }; template <> class SharedAllocationRecord - : public SharedAllocationRecord { + : public SharedAllocationRecordCommon { private: + friend class SharedAllocationRecordCommon; + + using base_t = SharedAllocationRecordCommon; using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - static void deallocate(RecordBase*); - static RecordBase s_root_record; - ::cudaTextureObject_t m_tex_obj; + ::cudaTextureObject_t m_tex_obj = 0; const Kokkos::CudaUVMSpace m_space; protected: ~SharedAllocationRecord(); - SharedAllocationRecord() : RecordBase(), m_tex_obj(0), m_space() {} + SharedAllocationRecord() = default; SharedAllocationRecord( const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); + const RecordBase::function_type arg_dealloc = &base_t::deallocate); public: - std::string get_label() const; - - static SharedAllocationRecord* allocate(const Kokkos::CudaUVMSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::CudaUVMSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - template inline ::cudaTextureObject_t attach_texture_object() { static_assert((std::is_same::value || @@ -1019,57 +865,32 @@ class SharedAllocationRecord // Texture object is attached to the entire allocation range return ptr - reinterpret_cast(RecordBase::m_alloc_ptr); } - - static void print_records(std::ostream&, const Kokkos::CudaUVMSpace&, - bool detail = false); }; template <> class SharedAllocationRecord - : public SharedAllocationRecord { + : public SharedAllocationRecordCommon { private: + friend class SharedAllocationRecordCommon; + using RecordBase = SharedAllocationRecord; + using base_t = SharedAllocationRecordCommon; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - static void deallocate(RecordBase*); - static RecordBase s_root_record; const Kokkos::CudaHostPinnedSpace m_space; protected: ~SharedAllocationRecord(); - SharedAllocationRecord() : RecordBase(), m_space() {} + SharedAllocationRecord() = default; SharedAllocationRecord( const Kokkos::CudaHostPinnedSpace& arg_space, const std::string& arg_label, const size_t arg_alloc_size, const RecordBase::function_type arg_dealloc = &deallocate); - - public: - std::string get_label() const; - - static SharedAllocationRecord* allocate( - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size); - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - - static void print_records(std::ostream&, const Kokkos::CudaHostPinnedSpace&, - bool detail = false); }; } // namespace Impl diff --git a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp index 3afe081701..55aed13670 100644 --- a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp @@ -856,11 +856,12 @@ KOKKOS_INLINE_FUNCTION_DELETED Impl::ThreadVectorRangeBoundariesStruct ThreadVectorRange(const TeamMemberType&, const iType& count) = delete; -template -KOKKOS_INLINE_FUNCTION_DELETED - Impl::ThreadVectorRangeBoundariesStruct - ThreadVectorRange(const TeamMemberType&, const iType& arg_begin, - const iType& arg_end) = delete; +template +KOKKOS_INLINE_FUNCTION_DELETED Impl::ThreadVectorRangeBoundariesStruct< + typename std::common_type::type, TeamMemberType> +ThreadVectorRange(const TeamMemberType&, const iType1& arg_begin, + const iType2& arg_end) = delete; namespace Impl { @@ -902,85 +903,6 @@ struct ParallelConstructName { } // namespace Kokkos namespace Kokkos { -namespace Experimental { - -namespace Impl { -template -struct PolicyPropertyAdaptor; - -template class Policy, - class... Properties> -struct PolicyPropertyAdaptor, - Policy> { - using policy_in_t = Policy; - static_assert(is_execution_policy::value, ""); - using policy_out_t = Policy, - typename policy_in_t::traits::occupancy_control>; -}; - -template